[{"Attribute":[{"category":"External analysis","disable_correlation":false,"first_seen":"2024-08-01T12:33:00.387000+00:00","to_ids":false,"type":"link","uuid":"1c818d90-7503-4a64-9f19-eb38b542cd1f","value":"https://lookyloo.circl.lu/tree/3e56cfd2-4a29-41b4-93ed-9f02731b4fdd"},{"category":"External analysis","comment":"Screenshot of the page at the end of the capture","data":"iVBORw0KGgoAAAANSUhEUgAABQAAAALQCAIAAABAH0oBAAAAAXNSR0IArs4c6QAAIABJREFUeJzs3XlcTOv/APBn9mnaRmJSVIgspRCppCKUpdzE5Sa+ZSvZr0tC3GvLTrQIZSmiuGQpS9a02ZOyZKm079tM0yz9/njud77zq5kxJXL1eb+8es08nfOczznPM0efeZ5zDmHBggUIgH+hRjFCoRD/PHnyZHvHBQAAAADwU5k9ezaRSCQQCPinSHvHBUBrENs7AAAAAAAAAAAA4HuABBgAAAAAAAAAQIcACTAAAAAAAAAAgA4BEmAAAAAAAAAAAB0CJMAAAAAAAAAAADoESIABAAAAAAAAAHQIkAADAAAAAAAAAOgQIAEGAAAAAAAAANAhQAIMAAAAAAAAAKBDILd3AAD8nP7888+CgoLg4OD2DqQ1IiMjQ0JCbt++3d6B/D9jzW/+Nqen20I98ULfNc8L8jhHws3aK6of81gBAAAAoKOpbxAWVPBLqvk1bEFNvbCWI2gQNLZ3UP9DJRGUFEjKCkRlBVIXFbKmGoVGIbRLJJAAA9ACkyZNMjU13bBhA36bk5MzatSonTt3Tp8+HZfExsYuWbLk+fPnc+bMaWhoaNdgfwjv3tTs35nx4E5xdVUDq5vC+ImaK9YM6KRGbav63RboNTQI26q2NuTj43P69Gn8WlVVddCgQbNmzRo/frzstTgczt9///3bb799lxgBAAAA8K/H5gozcutzSxsq6gTtHYssDYLG8lp+ee3/Sjork7t3pvTvTmfQvuusZJgCDUALWFtb379/X/T2wYMHDAYjISFBVJKQkDBs2DAlJSVdXd2+ffu2U5g/imePy+2tbpUU1QccM72eMNZ3q1HSgxLHsXc47DY7QffsraTfX6Wtamtb5ubmSUlJCQkJhw8f1tfXX7x4sZ+fn+xVnjx5IkqbAQAAAABkYHOFKW/ZUYmVadmcHzz7laishv/iEycqsTLlLZvN/X7jGZAAA9ACNjY27969Kyoqwm8fPHjg5OSUkJDQ2NgoKrG2tsZToD08PBBCN2/eHDVqVFBQkL6+/uvXr0VVVVdX9+nT5+HDh6ISJyenHTt2IIRyc3Pd3NyMjY0NDQ3XrFnD4XCa1BMfH6+rq1tZWYkQ4vP5AwYMEA1Kh4aG4uFoiZXU1tbq6urGxcU5OzuPGjVq4sSJb9++xSs+efLEzs6uX79+Li4upaWloqhaWo+4tSufmgzvHBljZWnTVb+/ykRHrfOx1tq6illvaxBC9RzB+lXPhvW/OkD7kvOEe8+fVOC1pJWL8PmNMxzuL5yd3NiIfNc8nz8r6Z+Df6d40ujbfbr9PaTvlWD/f+Lh8Rq9lz8d1Oty764Xxlveeni/pHmco0ePjoyMxK/fvHmjq6tbXV3dimPVBI1G69atW/fu3UeMGLF+/frg4ODg4OD09HSEkEAg2L59+4gRI/T19e3t7RMTE/G3J25ubq9everfv39WVhZuzdGjR+vr69va2j548ABXu2XLlt9//33Lli329vbDhw/HfUaGmJgYU1NT0VsPD48///wTIXTr1i1LS8vw8PCJEycaGxv7+fklJiZOnTrV1NTUw8ODx+PJrhYAAAAA7UWU+r7K5QiEP9A851YQCBtf5f6TBtfzvse+QAIMQAsYGxurqKjgQWChUJiUlPTbb78JhcLMzEycK+bk5OAEWIRCoVRUVOTk5Ny9e7d3796ichUVlZEjR16/fh2/LS4ufvr0qYODg1AodHNz09bWTkpKunfvXmFhIU5uxesZNWqUpqbm06dPEULp6emampqpqam4ntTUVAsLCxmV4MtWT506df/+fT09vT179iCEeDyeh4eHjY3NixcvVq1aFRERgWtraT3i8nLZL59Xeq3oRxQ7zaioUsLPjzQ0ZiKENq9Pe5RSdvGGzdM3kwYOYs6ZnlDPEcgoF/Fd/by+XnAgZDhB7MqRnE91bjMfui/Ue/15SmTMqGPB785FZCOEIo5/eJRceitp7Ou8X2bP7e3lnszny3Vubemx+qIxY8bo6+tfu3YNVxsdHX369Om0tDRHR0dPT8+GhoaRI0d6e3sPHDgwMzNTT08vJiYmICDA398/IyPD29t77ty52dnZCCEymXzt2jUzM7PY2NjTp08HBwfj7tdSZDK5qKiotrb26tWrgYGBwcHBkZGRZ8+evXnzZlJS0p07d1pRJwAAAAC+NaGw8flHzk+Q+orDafDT92zht98pSIABaAESiWRpaYnH4l6+fEkmk/v37z9ixAg8CzohIUFDQ0NfX7/JWjU1NUuXLu3WrRvOqUQmTZp08+ZN/DouLk5PT69///6PHz/+9OnT2rVrFRQU1NTUli9ffunSJXw5sXg9ZmZmjx8/RgilpKSMHz++vLy8uroaIfT48eORI0fKqAQhNHPmTAUFBYSQmZkZHml88uRJWVmZl5cXjUYbPHiwvb09XrKl9YjL/lSHENIfIHl+cmMjijz1ccWaAVo9GHQF0h/rBlZVNqQmlUorF60YGpz14G5RWKQFnf7/Tl/nz+YYDGI6/apNIhH69lP5z3y9s+EfEULVVTwKlaiiQqFQCC7/6fnkzSQyuQV3XJD/WMmjT58+ubm5CCFnZ+ebN2/26tWLRqNNnz69qqoqJyenycKRkZEzZ840MDAgkUi2trZmZmYXLlzAv9LV1R0zZgxCSE9Pr2vXrs0PvpwaGhpcXV0RQkOHDsUdkkwmq6io9O3b99OnT62rEwAAAADfTj1PeO1p9eu8+vYO5Jt4nVd/7Wl1Pe/bToeGm2AB0DLW1tbbt29vbGx88OCBhYUFgUCwsLC4cePGggULEhISrKysmq9CoVC6devWvHzcuHFr1659+fKloaFhXFycg4MDQig7O5vP5/fr1098STzpWrwec3Pzs2fPIoSSk5PnzJmTlZX1+PFjXV1dDodjZGT0999/S6yka9euCCENDQ1cQqPR6uvrEUKFhYWdOnVSUlLC5b169bp7966MYKTVIw4Pz0obbi0uqq+vF/bR/yc9VlIma2gq5OawpZXjt/fvFN2KKzh22qL5bbSyP9Y+Si7TUokWlWh2V0AIzZzd88rfuUP0r1iNZo2fqDXpl+4S45FG/mMlD4FAQKVS8TDy7t277927x+FwCAQCQojL5Tbdo+zsxMTEQ4cOiUo6d+7cJCppB19OSkpKioqKuBKEkLq6Oi6nUCjN4wEAAABA+xIK0a3nNcXV/PYO5BsqruLHv6i1H6JC/GYDtZAAA9Ay1tbWf/zxR0ZGRkJCwi+//IIQsrCw2LJlC5fLTUxM3L59e/NVyGTJHzRlZWVLS8vr16/36NEjJSVl69atCCE6na6iopKWltZk4ffv34vXY2Fh4ePjw+Vynz596u/v//bt29TU1JKSElNTUzKZLK0SnNUQCE2HQLlcrnihKKFqaT3idHspIYRepVVqaimIl/N4jRQpd71v4Eq+f4OoPDWpdKy95s7N6da2LCr1/50X6XSS3STNY6fNm6zbpSvtesLY1KTSW3EFWzakhR5+9/d1GxJJauSiy7kx+Y/VFwmFwvT0dHyFto+PT05OTnR0dLdu3aqrqwcNGtR8eTqdvnHjRjc3NznrbwXZLQgAAACAH0rSm7qfO/vFiqp4SW/qLPorfqP6YQo0AC3TpUuXgQMHPnz48NmzZyNHjsRjgJ06dTp79mx1dbWFhUWLaps0aVJ8fPzNmzf79+/fs2dPPLu1uro6Pz8fL8Bms8vKypqvqKGh0a1bt3PnzmlpaSkrKw8dOvTRo0f4AmD5KxFhsVgVFRV1dXX47YcPH/CLltYjrpumwtDhavt2ZPDE7mdQU80fM+JG3JX8riw6XYH0JrMKl9fW8AvzObq9lKSV47cr1gwIDDVtaBDs2vKqyeZ0eym9zqgSvS0p5tbXCxFCdbV8Dltgaq6+7i/DGw/HPn1Unple1WRdGo0mGvDMy8uTvV/SjtUXnT59Oi8vb9KkSXgetbOzMx7Pf/78ucTldXR0xO+alpeXJxS2ZkaQ+N4hhD5//tyKSgAAAADQvl5/rn+T/3POfG7uTX7968/famchAQagxaytrcPDw7t166alpYVLLCwswsLCTExMlJWVW1TV2LFjP3z4cO7cOTz/GSFkaGg4aNCgTZs2VVRUVFdXb9iwYfHixRLXNTc3DwsLGzZsGELIwMAADwLjnFz+SjATExMFBYWDBw/W1tYmJyeL5vS2tJ4mtu0ZkvW2xnHs7ds3Ct9kVl+9lDdl3G1VJsXaVoNAQDNn9/TfnVlYUM9hC7ZvetmFRbew6iqtHFdIIhHoCqQDh4cfCXgrfmEwQsh5pk5RYf3BPa/rOYLcbPYspweB+18jhFYtfrzC81FZKVcgaExJLCGTCd3+/4g0zvOTk5Px6O6ZM2dk75S0Y9Ucl8stKCgoKCh4+vTp1q1bfX19V61ahb/m6N69+9OnTwUCwatXr8LDw8lkcnFxMR71LSkpqaio4HK5rq6uFy9evHPnDp/PT01Ntbe3F93qTKK8vDwfH5+KiqY3ze7Zs2dlZSXOpe/fvy9/xg4AAACAHwSnQZjyjt3eUXxXKe++1bORIAEGoMWsra1zcnJwqolZWFh8/PhR4gXAsikpKVlZWT169AgPDGIBAQE8Hs/c3HzUqFEcDsff31/iuhYWFh8+fMAJMI1G69OnD4fDEd2CS85KRGGEhITcunVr6NChBw8eXLBggWiwsUX1NGFgxLx6Z4y2juKyhal2lre2bUwbN0HzbIwVvn/V2o0G/QeqTrC6ZdL/Sm5OXfRVazyrWVq5yGATNc9l+ksXpNbW/G8WkHoXWlikxZW/P/fvcWnKuNujRrOWruqPENqyezCfL7Qwju3b7e/9OzJDTpl3Vqc1iXPFihW4QWfOnImnKMt4CJCMY9VEYmKimZmZmZnZb7/99vTp08DAwEWLFuFf+fj4pKWlGRgY+Pr6rl271snJadGiRY8fP7a2tqZSqSNGjHjx4oWNjY23t/f69esHDhy4du3ajRs3jhgxQsbRLisrO336tGhoWqRv376LFi1ydXUdO3ZsfHy8g4MDn//zz54CAAAAfiZP3/9U93yWh0DY+DKb8y1qJixYsOBb1AvAt9YoRigU4p8nT55s77gAaDcLFy7cuXOnqqpqewcCAADgpzJ79mwikUggEPBPkfaOq6Oo4QiiEys7VvqLEEKIRCRMM2cyaG08ZAsjwAAA8DOoqampqKiA7BcAAAD4yTz7wOmA2S8eBH72oe0HgeEu0AAA8DNQVlY+d+5ce0cBAAAA/GyKiopev36NCKh/v/74SZDylLShkh/szs+mfRUVacTbL2ualFsNVOIJGhNfN70a62sUVkq9Kq3VYAQYAAAAAAAAACRLf5VeW1dXW1v3KuOfh1Ckpb/8YklbqawTVLElPyeyOQ0mxX1M51EDlNo2hnZUxRZU1sm7+3KCEWAAAAAAAACAXOrq6q5cuTJjxoyPHz9mZWWNGzeuRatXVFTExsYSiUSEEJFIVFZWNjIy0tTURAhdunTJ1NRUQ0ND9EJ8xefPn3O5XFNT07beoS8TXe3c+N+JyCQi8YslbSWnpEH+hftq0T4WN+h2pSa9IfAEP8m86ZySBqZi00d4fA1IgAEAAAAAAAByYTAYU6ZM+co7YE2bNo1EIgmFwqysrPv370+dOpVCoYwfP55KpbZdpG1m4ICBma9fE4nEfv991oY8JW2luEre+c9UMkG3K+1yaqUqQ7kXiyZ6aLDjcNX3hQ0sJlmVQSKTCKnv6j4VN1BIBFdrtbvptf2701UYxLIaQfLbuhF9FVUYpAae8PbL2tp6AUJIsxNlqB6DqUji8RvTc+rTc5pekdtPiz5IV4FKJrwv5CJEQOifrHtgD3q/7nRFOqmWI0h+W5dfzpMWyRf3q6wGRoABAAAAAAAA30tsbCyNRhs6dKi6ujqbzcYjwF9fLZFI7NWr1+PHj9lstqqq6vXr15sM/JaXlycnJ/P5fFVVVTqdjguFQuGLFy9yc3MbGxvV1NRMTU2pVGpSUhKNRisoKNDQ0Bg6dOjXxyaOxWKxWKyWlrQVToO8z8LtrUGrZgsq6gRZBVx9rf8lwMJGNKAH/dqT6tp6gb4m3byf0qficvxMJd2u1GtPqihkwnSLTmMMlWOfVtfzhHaDVQb2oKe8q1Oik2yNlB++rvtQyFVlkMYNVqlvEGYVckVb7KRIMu+nePNFTV4Zr7cGdYS+4vtCLkKoF4s2SFfhxvOa8hp+d3XqWCOVC8mVNRyBxEja8AjICa4BBgAAAAAAAEhlb2+vqan5+PHjtq1WIBC8e/eOyWSqqKhIXCAxMbFnz54ODg5Dhw7Nzc3FhRkZGSUlJfb29o6OjgoKCqmpqQghEon0+fNnGxubNs9+25386Z++Ji2rgIsQel/I7axM7qRIEv0qu6QBj+gWVPDoFIIC9Z8c8G0+txGhBn5jFVuQX86r5wnxmLMKg4gQ0tOgltUI3hdyGxGqZAsyP9f31aSLb1G3K7Wkmp9b2iBsbHxXwK3577XKfTVpb/O5ZTX8RoRySxsKKnh6GjTZkbTJEZATjAADAAAAAAAAZNHQ0Hjz5k1b1XbhwgWEEJ/Pp1KpI0aMkDihmsPhVFdX9+zZEyGkpKSErxNGCH348MHAwIBCoSCE+vXrd/nyZaFQiBDq0qULg8FoqwjFte9doNlcuS7lVVcmd1Iivy+swRljfjmvrxY95e0/N2Rm1/+TQ/KFjfj5uniuMpv7T7lA8L88UyBsJBEJCCFlBonFJLuP6SzaSm39/8tFGXRSLed/JZXsf16rMEiaahQj3f9duFv/38olRfIFHC4kwAAAAAAAAIDv5c6dOzjJbCtOTk4kEqmxsbGqqurBgwcNDQ040RXH5XIRQqKrgul0Oo/HQwg1NDQ8f/785cuXuJxMJtfX1yOEaDRaG0YoLv1Ven09FyH0KuMVTm7T0l82cBtkl7QVMhE1yHENrL4WjUBA08yZ+C2RSFBXIT96xxZ+xV25BILG7OKG+GaPOxIhEZB47WQiwlf08gWNyW/qMj7Xt3rT3xQkwAAAAAAAAACpbGxsKioq7t+/37bVEggEJpPZvXv33Nzc5gkwTn15PB7ObDkcDplMxnfhMjQ07NGjR/Pa2ja85jW3y12gFWjEhi89BolMJPRk0RJf/3OvKYQQkYAmDVPV6UL9WMyVva4M1Ryhptr/bkumQCU28BsFwv/tIZsr7KZGEb1VYZDYDUKEUA1HoKb8vzRTkUas+4pRXAVaG1+0C9cAAwAAAAAAAKTi8/nv378XCoUCQRvfj7empubz589MJrP5rxgMhpKS0ocPHxBC1dXVBQUFuFxbW/vt27c4kvz8/CdPnrRtSM0NHDBQUVFRWVnZYOBA+UvaijxXyfZkURsb0dt8bjVHgP9VsgUfi7j6Wl81Kp5VwGXQCIN0FEhEghKdNM5Y2VDn/10D/LmM10WFrKNOJRMJ/bXojP9mqpmf63tp0Lp3phAQYjEpv4xgajApUjbyZfIcgRaBEWAAAAAAAACAVImJicbGxlVVVTdu3LCysvr6CqOiovDIKo1G09XVNTAwkLiYmZlZSkrK69evmUymrq4uTnr79+/P4/GuXr2K50WbmJh8fTyyte9doOVJ//S16FmF3Caznd/kcx2GqSrRSdLX+4J6nvDWi5phfRiDezG4POH7Qu6Lj//vMUiFlbyUt+wR+opUMiGrkPuxiIvHyj+X8R6/qzPvp6RAJdZwBMlv6gorea0Oo80TYMKCBQvatkYAvo9GMUKhEP88efJke8cFAAAAAPBTmT17NpFIJBAI+KdIe8fVIaR94jx+z27vKNqTSW/GILH7aX09GAEGAAAAAAAAAMna9y7Q2l2oHTwB1u5ClWOpFoBrgAEAAAAAAABAsvRX6bV1dbW1da8yXuGStPSXXyxpK0xFkiqj9dOY/+1UGSSmYhvvPiTAAAAAAAAAACBZ+94FGiHUvXPr7yD1b9fmw7+QAAMAAAAAAACAVO17F2iE0IAedBKxI15xTSISDLXpcizYMnANMAAAAAAAAABI1r53gUYIKSuQBvSgv8zmyLHsT2VADzq9rW8BDSPAAAAAAAAAAPBDM9JVoJI61iAwhUQwatObP4tAAgxAW3r//kN7hwAAAAAAAH4qVDLBrJ9ie0fxXY3sr0Qlf5OcHxJgAFrj9p27lja2u/ftFy+8eSv+P/MW+AcEtl9cLVNbW2tnZ/fp06e2qjA4OHjz5s1tVdsPyNPTMyYmpq0W+6G4uLjcvXu3rWpLTEycNm1aW9UmexNt3o0BAACAH1BvDZqhzjcZEf0BGeoo9GS1/e2vMLgGGIAWu3P33qbNW2dMd75wMQYh9PvyZQQC4cat+M1bt5ubjTh/4aKykrLbHNev3Ep2dnZkZOTz589ramqYTKahoaGLi0v37t3baCdayd/f/9q1a/i1srJynz59Jk2aZG5ujkscHBx4PF4bbi41NVVTU7Pd97qlVqxYoaam1t5R/MtcvnzZzs6OQpH3RpcDBw7ctGnTNw4KAAAA+IGY9GaUVPELK9vyb60fUHc1iklvxrerH0aAAWixvfv97cePc//PHG3tHpdiruzYtef6zVubt27v1Inp/ceqwcZG4afPcDhfdaOCzMzMpUuXVlZWrl69OiAgYPny5XV1dcuWLcvLy2u7/WglY2Pj8PDwEydObNiwQVdXd9u2bceOHcO/0tTU1NHRacNtRUZG/gi73FJ9+/ZVV1dv7yj+TbhcbnBwMJ/Pl38VVVXVgd/gTpsAAADAD4tAQKMNlRRpP3MGp0gjWhsqE77l9c4wAgxAi1lZWd6+fdfebpyyktL8ue7Hwo5fjY2bMd35WtyNGbNm83i8XX7bFBS+ao6Kv7+/oaHh5s2b8aPndHR0hg4dGhoaWlFRoaWlhRAqLi4OCAjIyMigUCgGBgZeXl6qqqoyyjMyMnbv3l1aWmpsbGxqanr+/PnQ0FDxLXK53JCQkJSUlJqaGn19/ZUrV2poaEiMjUql4uyOxWINGjTIyMho48aNVlZWenp6wcHBJSUlGzZsQAg9e/bs+PHj2dnZDAZj6tSpU6dORQglJycHBQW5urrGxMSUlZXp6emtWbOGwWDw+fygoKCEhAQOh6OtrT1//nwjI6PVq1dnZGRs2bLF0tJy9erVhYWFgYGBmZmZAoHA0tJy0aJFNBpNPLD8/Hx3d3fxktmzZ//222/z5s1zdna2s7NDCH369MnDwyM6OlpJSanJfl28ePHKlSvFxcUsFsvT03PIkCEIocOHD9fW1tbW1mZmZkZGRiKEampq1q9fn5aW1rVrVw8PDxMTE4SQl5eXtbX1jRs3dHR01q9f7+npaW9v7+DgEBISUl1draKi8uzZs6qqKltbWxwhn88PDAyMj49XVlZ2d3ePjIycOXOmjY2NtDCk1dOkz3A4nDVr1uC306ZNW7Fihbm5uYwYgoKC7t+/T6FQZs2aRZD0X42Li0tZWZnorbGxsZ+f3927d48cORIREYELN2/e3KVLFw8PjybrEgiEmzdvHj9+vL6+fsSIEUuXLsXt1bxj8Hi8adOmCQSCGTNmLFy4sFOnTiEhIfb29uHh4QcOHOjZs6fEvpSYmLhv376oqCi8uaysLD8/v4KCgj59+qxatQr3Xol9hs1mOzk5bdiw4cKFC+Xl5QwGY/Xq1W37xQ0AAADwjdCpxGnmzOS37Nd59e0dS9vrq0kz11ckfuNnPv3M3x8A8I38vnyZmZmp9zrfhfPn6urqIIT+M9vVy9NjmMkQHo+302/r0CGDv6b+goKCjx8/Tps2TTwnIRAIc+fONTAwQAg1Njb6+vqqqKicOHEiMDCwvLx87969Msp5PN7GjRstLCzOnTtnb28fERFBJDb97B8+fDg7O/vAgQNRUVEDBgxYu3atUCiUJ1pTU1NdXd0HDx6IFxYWFm7atMnR0fHChQvbt2+/ePHizZs3EUJkMrm8vDwnJ8ff3z80NDQ3N/fGjRsIodjY2FevXgUFBV24cGHixIl+fn4CgWDnzp0MBmP9+vWrV68WCoW+vr4aGhrh4eFhYWFlZWWHDh1qEommpubV/9qyZQuDwRg1apScx/zu3btnzpzx9va+ePHi3LlzN27cmJ+fjwN+9OiRsbFxcHAwXvLKlStTpkyJjIy0srLavHlzTU0NXiw2NtbLy2vFihXi1ZJIpAcPHhgZGQUFBfn5+UVFRX38+BEhdOnSpaSkpAMHDgQGBt6/f7+kpAS3tbQwpNUjD2nrXr16NSkpae/evaGhoVlZWdXV1c3XPXXqFD6ep06dUlVVHTdunJwbRQhxOJwnT54EBgbu37//xYsXOGGW2DEoFMq+ffvwgP+ECRMoFEpVVVVBQUFoaGiPHj2k9aUmLl++7OPjc/LkSRqN5ufnhxCS1mfIZDLuctu2bQsLC9PW1j5x4oT8+wUAAAC0LyKRYN5P0Vxf8We6KzQBIYv+iiP7K33r7BcSYABag0Ag+HivGWxstGLV6g0b/3SZOWOu25yDAUHxt+9u2/ynyZAhX1l/YWEhQkhbW1vaAm/evMnOzp4/fz6DwWAymTNnzkxNTW1oaJBW/urVq7q6upkzZ9LpdDMzM2Nj4yYV8ni8mzdvuri4dO7cmUqlzp49u7y8PD09Xc6AtbW1ccwi8fHxvXv3Hj16NJFI1NHRmTx5Mk508bamT5+OEKLRaPr6+rm5uQihuro6MpmsqKhIJpNxik4ikcQrzMjIyMvLmzt3Lo1GU1VVnTVr1p07d5pfb0wikUgkUmVl5a5du5YsWSL/xcOxsbH29vZ6enpEInHEiBFGRkbx8fH4VwoKCo6OjkwmE781MTExMTFhMBjTp08XCoVpaWm43NDQ0NjYWFGx6R0aNTU1TU1N8VFSU1PLyclBCCUlJdna2urq6qqoqCxYsEA0YV5GGBLrkZPEdR8+fDhmzJgePXrQ6XQ3NzeJF28TiUQSiUQgEHbu3Glubj569Gj5N8rj8dzc3FRVVXt33F7BAAAgAElEQVT06DF+/PjU1FTZHUMcm812cXFRV1cnk8lyrjJp0iRtbW1VVdXp06e/fv26urpadp+ZMGECHpE2MjJq0cEEAAAAfgT9utOdzJh9NWnEbzpd+NsjElCfbjQnM6a+Jv37bBGmQAPQGiQicYrD5ISHiTN/nb5gnntAUHD0hb9pNFrMlavDhpmQmo2vtoJoAPbVq1d//PEHft2jR4/Dhw8XFBR06tRJRUVFVNjY2FhSUiKtvKysjMlkMhj/3E5AT0/v7du34tsqLy/n8Xhr164VLywsLGSxWG5ubvjtpk2bhg8fLi3UJvcuKigoyMjIwLOOsS5duuAXNBpNNP2YSqVyuVyE0Pjx4+/fv+/i4jJkyBAzM7PmI7f5+fkCgcDR0VG8sKysrPk8baFQuH37dgsLCzyjWE4FBQUvXrzAk5wxPHUcIdStWzfxJUVJNY1GYzKZJSUlEhcTEb8YWLS/paWlouU1NTVFTSMjDIn1yElaDKLjrKysLNpQcydOnKitrfX09JR/iwghCoXCYrHwaxaLVVpaKrtjiCOTyaKY5VxF1C54o2VlZdL6DL4/WefOnUVxNjQ0tGjXAAAAgB+BKoM0sr/S4J7CtGzO23yuQNjY3hG1DJlI0NeiG2jTFenfdVAWEmAAWiPl0aM1PuumO09d5LEgOORI1PkLfls3l5aV7dy9d8s2P991ayVeUSmnHj16IIQ+fvyI/0bX09MLDAxECKWkpEic/IlJu/0yj8drbGzE0z6x5vOfqVQqQigoKKhnz57i5fhSVfy6a9euEusXCoXv3r0bP368eCGNRjM3N/f19ZVjdxFCqFOnTgEBAa9evUpJSTl27FhMTMyePXvE48Rpc3R09BerCgsLY7PZzS9JxRobJf/fQKVSPTw8pkyZ0vxX4odOdKyav22ymIjEntCkRUTLyAjja3qUxHUbGhrEy6UlgY8ePbp8+fLBgweb7PgXNflOBK8uZ8cQH/+Xc5Um4VEoFGl9Bu/p1xxPAAAA4MehSCea6Sua6SsWV/E/FjWUVPMaeI1cfmMDv/GHSolJRAKVTKCSCTQKgaVK0WVRu6i0TyoKCTAALZby6NGatescHSYv8fIMORoaceYsiUSiUqmJScmGBgMfJiYFhxz1XDi/1fWrq6v379//zJkzQ4YMIRKJNBpNV1cXISQattXU1KyoqKiqqsKjdrm5uUQikcVicblcieWlpaUVFRVcLhfP+fzw4UOTLXbq1ElBQeHDhw+iBLioqIjFYpHJZLxpGWJjY0tKSqysrMQLNTU1nz17JnpbUVGhqKgoI4PicDgEAsHAwMDAwMDZ2XnGjBkfPnzQ09MTr7C2trakpASP/tXX13O53OaDlqmpqVevXj106JD4tsSH+IqLiyUGoKmpKX5VbXFxsbq6evNvChBCnz9/xi8aGhoqKytbd7dnJpMpmjReXFxcV1fX0jCao1KpVVVV+DWbzcYXJ8vQuXNnUQzl5eVsNrv5MiUlJTt37ly+fDm+9ZpoQ+LZclFRkcQhWTabXVFR0alTJ7wMPlAt7Rjyr5KXl9e7d2+8Lbx3HA5Hnj4DAAAA/By6qpK7qkJy92VwDTAALbZm7Tp7u/Erli45Gno8/PQZ33VrbceMXuOzfqrTlP17d1uYm8Vev/6Vm1iyZMnHjx9///33J0+e5OXlZWZmRkREhISEDB48GD9lR1dXNzQ0lMvllpWVhYeHjxw5UkFBQVq5gYEBkUiMjo7m8XiPHz8WTydEJk6cGBERkZuby+fzL1++vGjRIokZEU78SktLS0tLMzMzjxw5EhAQMGfOHPEECSE0ZsyYsrKyyMhILpdbVFS0fv160d16Jdq3b9+ePXuqqqqEQmF6ejqJRMJJC41Gy8vLY7PZffr06du3b2BgYHV1dV1d3aFDh7Zu3dqkkpKSEnzpL4vFEggEAoEATyPX0tLCV+o2NDTExsZKDGDSpEl37tx59OiRQCBIT0/39PSUdgl0cnLymzdveDxedHQ0lUo1MjKSsV/SmJiY3Lx5s6CgoK6u7ujRo6J7hssfRnOamprv3r2rr69HCEVFRX3xgbrDhg2Lj4//9OlTTU3N8ePHm9xSGyEkEAi2bdtmaWlpYWEh+C98PGtqanCi/uTJE9E3Ak1QKJSTJ09yudzCwsKbN29aWFjI6Bh4658/f8bxi5OzL+H7irPZ7PPnzw8dOlRBQUGePgMAAACAjga+JACgxQQCYdcuXQ4fORZxJnLjhnVjbKxtx4ymUMjrff+cNME+/vYd3/U+X7mJXr16HTx4MCIiAqeFSkpK+vr6f/zxB76VEYFAWLduXWBgoIuLC51ONzU1nTdvnoxyOp3u7e199OjR6Ojo4cOHOzs7X7lypckWXV1dORzOypUr+Xx+r169tm7dKrowtYnnz5/PmjULJy29e/det24dzm3EMZnMTZs2HT16NCIiQkVFZfTo0TNmzJCxv15eXgcOHHBzc+Pz+T169Fi/fj0eqZswYUJYWNizZ882b97s4+MTEBDg6upKpVKNjY29vb2bVJKUlFRTU7Njx44dO3bgEkNDw127drm6uu7cuXPOnDlqamrTp09PTk7GiZy44cOHu7u7Hzx4sKKiAj9/aNCgQc3jFAgEv/zyy4kTJ9LT01ks1oYNG5rnjfJwdnbOzc318vJiMpkLFizIzMzEw7xyhiHR2LFjnzx54u7u3qlTp8mTJ7NYLNmP1Z0+fXpxcfGqVauoVKqrq2tmZmaT+eG5ubmZmZmZmZnXrl0TFcbFxeno6Pz666/r1q1TVlY2MjKytrZuviE+n6+mpqavr+/u7l5fX29hYeHk5CSjY2hqag4ePHjFihWurq54IFfki30Jt6aDg4OPj09hYWHfvn1F18x/sc8AAAAAoKMhLFiwoL1jAKA1GsUIhUL88+TJk99h05Y2tjjb/NN3vY21lSieo2HH4+JurFi2ZKSF+XcIo0V4PB6+oy9CKCIiIj09ffv27e0dVIcmmpEuEAimTJni5+c3cODA9g4KAAAAkGD27NlEIpFAIOCfIu0dFwCtASPAALTYgzu3mhcSCIT57m7z3d3aI6IvEAgEc+bMsbW1dXFxKSgoiIuL++WXX9o7qA4tJiYmMjJy+/btLBYrMjJSSUlJ/IJnAAAAAADwjUACDMDPj0QirV+//vDhwxcvXlRRUbG2tp48eXJ7B9WhTZw4saCgYM2aNRwOp1evXhs3bmzdVGoAAAAAANAiMAUa/Fu14xRoAAAAAICOA6ZAg58J3AUaAAAAAAAAAECHAAkwAAAAAAAAAIAOARJgAAAAAAAAAAAdAiTAAAAAAAAAAAA6BEiAAQAAAAAAAAB0CJAAAwAAAAAAAADoECABBgAAAAAAAADQIUACDAAAAAAAAACgQ4AEGAAAAAAAAABAhwAJMAAAAAAAAACADgESYAAAAAAAAAAAHQIkwAAAAAAAAAAAOgRIgAEAAAAAAAAAdAiQAAMAAAAAAAAA6BAgAQYAAAAAAAAA0CFAAgwAAAAAAAAAoEOABBiAr5Wdk5Odk9PeUQAAAAAAAAC+ABJgAL7Wfv9D+/0PtXcUUkVFRTk5Oe3evVvaAomJidOmTUMI1dbW2tnZffr06fsG2GKNjY1btmxxcHC4ceNGO4axY8cOf3//tq0zPz9/w4YNU6dO/fXXX3ft2lVXV9e6eo4dO+br69u2sYGOKT8/387Orry8vBXrenp6xsTEtGiV73kWamhosLOze/v27XfY1jcifrh+kBMjAAD8+CABBuCrJCYnP37y9PGTp4nJyW1eeVpamp2d3a5du76mktOnT7u7uy9duhQh9ODBg8WLF+Pk7ezZs20X6bcSEBAQHByMEJo9e3Z6ejouzMrKSkhI8Pf3t7Gxae8AmyovL7ezs1u2bFmT8oMHD9rZ2T179kzGukKh8K+//lJRUTly5Mi+ffvy8vJOnDjxjeP9OcXFxS1ZssTJyWnixIkLFy68evXq948B9wRswoQJs2bNOnjwIIfDkb0Wl8u9du3adwrx69y9e9fOzu7YsWNNyhcsWGBnZycQCBBCK1asMDc3b6cAOwQFBYWdO3dqaGj84CdGAAD4oZDbOwAA/sX4fL7/ocARpsMbGxv9DwWaDh9OIrbll0pxcXGWlpYJCQleXl4MBqMVNQiFQg6H07t3byqVihDq37//vHnzEEJTpkxRVFRsw1C/ETs7OwKBgBBasmSJtrY2LqytraVQKLq6uu0dnVSFhYWfP3/u3r07fisQCBISEr7Ygvn5+Z8+fdq5c6eKigpCyMTE5N27d98l3p/KrVu3Dh8+vHz5cgMDAwKB8Pjx44MHD9Lp9DFjxnz/YP76669evXoJBIKcnJwDBw4QCAT8DZQ0GRkZ165dmzBhwneMsfVUVVVv377t5uZG/O957/379+JjxX379m2/6DoEEok0aNAg/PrHPzECAMAPAhJgAFov+sLFgoLC3Tu2I4RcZrtFn7/w6zTntqq8trYWf53/+fPnO3fuTJw4EZf7+/tzOJw1a9bgt9OmTcPDLMXFxf7+/hkZGQihAQMGLFu2TFlZ+ddff0UIrVmzZtSoUatWrXrx4kVkZGRRURGTyXRychJlaBJdvHjxypUrxcXFLBbL09NzyJAhTRZwcXEpKysTvTU2Nvbz87t79+6RI0ciIiJw4ebNm7t06eLh4SG+4oMHD44ePTp16tTY2NjS0lITE5OVK1dSKJSkpKSQkBB7e/vw8PADBw7cunUrPz9/48aNCKFhw4bNnj17zpw5qqqqf/75J4/Hc3R09PT0xMOqx48fz87OZjAYU6dOnTp1KkIoOTk5KCjI1dU1JiamrKxMT09vzZo1TVJQaaHKWPfKlStnz56tq6uzsbFpbGyUdugGDx58+/bt2bNn47dPnjzR0tIqKCgQLRAfHy/eEFOmTEEIFRcXU6lUnP3m5uZeunQJj9sjhEJCQqqrq1VUVJ49e1ZVVWVra+vu7o6/4AgLC7tz5051dbWWltbChQuNjY3xKiQSKSIi4uLFizweb/LkyXPnzkUILV682MrKKi0tLScnh0ajrV279tKlSxkZGfX19UuXLjUxMcGDkCEhISkpKTU1Nfr6+itXrsTjS4sXL7axsUlPT8/Ly6uvr58/f76lpWWTHS8vL/fz88vMzOzevfu8efPWrVsXERHRuXNnaXW2dHl5Ynj+/LmJiYmVlRV+O27cOGVlZSaTKaPjSWsR3BOmT58eGxtbVFRkZ2dnYmJy4sSJoqKifv36rV27lkz+wv+hTCZTXV0dIcRisUaOHPnhwwfRr5p/vp49e7ZhwwaBQODo6Hjw4MHY2Nja2tra2trMzMzIyMh58+Y5Ozvb2dkhhD59+uTh4REdHa2kpCTtGIqHIe2kIa1flZeX7969OyMjo2vXrvgcIhGLxaqtrU1LSxP1utu3bxsbGyckJOC3np6e9vb2Dg4Ozc9OXbp04fP5QUFBCQkJHA5HW1t7/vz5RkZGeMWsrCw/P7+CgoI+ffqsWrVKQ0ODzWY7OTmtXLny6NGjs2bNcnBwkNhkMs4/qampYWFheXl52traCxYsEOWNhYWFAQEB79+/19LS8vHx0dHREd/HuLi4/fv3i5fs3r3bwMBAWnM0OUQSz6KHDx8Wb1lpLejl5WVtbX3jxg0dHZ3169cXFhYGBgZmZmYKBAJLS8tFixbRaLTa2lpnZ+fg4ODS0tImJ0aJm5bW4gAA0KHAFGgAWqmyqir0+ImpTlP4PD6fx3f6xTHsxKmq6uq2qv/27dtaWlq6urq2trbXr1//4vJHjhxhMpmnT58ODw/v3LlzcHAwnU6/cOECnvC8atWq3NzcXbt2zZ079/z586tWrTpy5MibN2+k1Xb37t0zZ854e3tfvHhx7ty5GzduzM/Pb7LMqVOnrl69evXq1VOnTqmqqo4bN07OXSORSKWlpSUlJUFBQSdPnvzw4UNkZCRCiEKhVFVVFRQUhIaG9ujRQ+K6JiYmf/31F4VCuXTpkp2dXWFh4aZNmxwdHS9cuLB9+/aLFy/evHkTIUQmk8vLy3Nycvz9/UNDQ3Nzc+W/Lk7auh8/fjx06JCXl9fZs2f79u2bLH3Su6WlZXx8vOjt7du3R40aJUqYpTWEUCjEw934j+zJkyeLsjsSifTgwQMjI6OgoCA/P7+oqKiPHz8ihGJjY2/cuOHn5xcdHT169OitW7fyeDy8SkZGBpVKPXHihI+Pj2h5Eol0/fr133//PSwsjMlkrlq1auzYsSEhIXZ2dqGhoXjFw4cPZ2dnHzhwICoqasCAAWvXrhUKhXjdmJgYDw+PkJCQGTNm+Pv7N/8KAKcKERER3t7eYWFhCCG8R9LqbOny8sSgq6v7/PnztLQ0UYmZmVn//v1ldDxpLYJ7ApvNPnTo0Pr166OiomJjY3ft2hUSEpKWlvbo0SM5exQe3n/8+LFoPrDEz9fgwYPnzp3bu3fvS5cuaWtrk8nkR48eGRsb46sApJF2DOUhrV8FBAQIBILw8PBt27bJOPnw+Xxra2tRVxcKhffu3Rs1alTzJZufnXDvffXqVVBQ0IULFyZOnOjn54cnTiOELl++7OPjc/LkSRqN5ufnh9sCH7e9e/eOGzeuRWcznOVu2bJl2rRpZ86cGTdu3MaNG6uqqvCvYmJifv/999OnT6upqTW/6GD8+PFX/2vGjBk9e/bs06ePnIdX2lm0SctKa0EymRwbG+vl5bVixQqhUOjr66uhoREeHh4WFlZWVnbo0P+78USTE6O0TUtrcQAA6FAgAQaglY4cDSWTSPPc/hN6/EToiZPz3d2IBMKRY6FtVX9cXJytrS1CyMbGJisr64t/ptTW1iooKNDpdAaDsWzZsg0bNjRZQEtL6/Tp0yNGjKBQKIMGDerevXtWVpa02mJjY+3t7fX09IhE4ogRI4yMjMQzOoxIJJJIJAKBsHPnTnNz89GjR8u/dwKBAN95S0FBYfTo0UlJSbiczWa7uLioq6t/cWwNi4+P79279+jRo4lEoo6OzuTJk0WJLo/Hmz59OkKIRqPp6+vn5ubKH57EdR8+fKivr48P4Pjx4zU1NaWtPmjQIIFA8OrVK4RQfX19amqqtbW16LfyNAQepREv0dTUNDU1RQhpa2urqanl5OQghHD62r17dyqVOm7cuJqamsLCQry8srLytGnTGAzG8OHD1dTUsrOzcbmpqSmTySQSifr6+iwWa+DAgXhQLi8vD+/4zZs3XVxcOnfuTKVSZ8+eXV5eLrr62szMjMVi4dH+mpqaysrKJgft8ePH06ZNU1FR0dHRmTRpkqhcYp0tXV6eGBBCjo6ONjY2Pj4+rq6uO3fuvH79em1trei3EjuejBbh8Xg4MJxCW1lZkUgkRUVFHR0dfMRkW716tZOTk6Ojo7u7e79+/SZPnozL5fl84SAdHR3x8LVE0o6h/Jr3K4FAkJSU5OzsrKSkpK6u/ssvv0hbt7GxccyYMQ8fPuRyuQihly9fKisr9+zZs/mSEs9OdXV1ZDJZUVGRTCbb29tHRESQSCS8/KRJk7S1tVVVVadPn/769evq/36xOGbMmO7du9Pp9BadzXAuqqurO3r0aEVFRQcHh8WLF4uS7cmTJ2tra6uoqFhaWuY0u58/gUAgkUgkEunFixcxMTHr1q2j0WhyHlsZrSxqWdktaGhoaGxsrKiomJGRkZeXN3fuXBqNpqqqOmvWrDt37oi+7WrRpiWeSQAAoEOBKdAAtManT9kxV66uXL6UwWA0IkRobGQwGPPmuu07cND5l190dXXkqEOWN2/efPr0Cd/LRE1NbfDgwXFxcZ6enjJWcXFx2bx5c2pqKp7/KZrgJ0IkEuPj42/cuFFdXU0gEKqrqxsaGqTVVlBQgOdLi0pUVVUlLnnixIna2lrZsTXHYDBECV7nzp1FU6nJZDKeMiqngoKCjIwMPBER69KlC35Bo9FEMxKpVCr+G11OEtctLS3FqRcmYwI5gUAYM2ZMfHz8wIEDExMTDQwMxHMYeRpi5syZ+/fvr6qqmjNnDi4RPyyikPh8/okTJx4/fizaO1FV3bp1E98dUblociyVShVFRSaT8R/T5eXlPB5v7dq14sEUFhbi7iS+rvi2sMrKSqFQKNqunp4efiGtzm7durVoeXliwPMIFi1a9J///OfFixfp6elnz549fPiwr68vnqYrsePJaBEGg6GgoCDanPgRk/HxEfH29u7Zs2djY2NJScmZM2fWrl3r5+dHJBLl/HyJN6JE0o65/Jr3q4qKCqFQKOrqsi+U0NLS0tHRSUpKsra2vnPnDv7OrjmJZ6fx48ffv3/fxcVlyJAhZmZm4kPHoo3iMMrKyrS0tHDyhstbdDbDJwo8ix7DF4TjVUTl4h+TJkpLS3fs2LFkyRLZR6P5RqW1sqjJZLegqDw/Px/PjRf/bVlZWfNJ11/ctMQzCQAAdCiQAAPQGjv37uvVs6fD5EkIobn/+SdFcXSY/PelmL0H/P337fnK+uPi4oRCoZubG37L5/Pfvn07b948fL2iRAYGBidPnnz8+HFKSoqvr6/osk+Ra9eunTt37q+//sJjWYsWLZIRAJVK9fDwwJfVyfDo0aPLly8fPHgQpwfy4/P5otfiU39FQ0DNSbzmlkajmZubf59H/jQZb5H9B/fYsWNXrFjh6el5+/btJpPD5WmIcePGde7cefPmzSwWC6f3Eue1+vv7FxQU7N27V11dva6uDl//jEmbByte3nwZ3I5BQUESx/Fkz63FDSTqoqIbI0mrs7i4uEXLyxODCIPBMDMzMzMzmzdv3s6dOw8fPhwUFCSt47Xoo9EiampqOIXT0NDQ1dWdNm1aRkaGgYGBnJ8vafMgRJ8Facdcfs2PJ+7novIvJki2tra3b9+2sLB4+PDh4cOHJT67S+LZqVOnTgEBAa9evUpJSTl27FhMTMyePf+cOZucT0Q7KDo/tLTJCASCtIv2v9ijBALB9u3bR44cKe3uytJqltHKopaV3YKixfBXctHR0U3qEZ/dIOem5Z8hDwAAPyuYAg1Ai927/+Dly/TlSxc3uecziUhc6rXo2fMX9xMefk399fX19+7dW7x4cZAYgUCQmJiI/7IRpV5sNrumpga/rqiooFKpFhYWK1eu/OOPP5o/+iUjI2Pw4MH478Xa2lrZEzg1NTXFJ10XFxfjizDFlZSU7Ny5c/ny5XhwBhMPDyFUVFQksf6GhgbRqG9RUZHEUV8KhSKqisfjVVRUSIxT/JGhFRUV8ozLtShUETU1NfFlPn/+LGPh7t27a2pq3rt3782bNyNGjBD/lZwNMXTo0MmTJ6empsrYSkZGxrhx4/DRe/36tez45dGpUycFBQXxezV98bCI4CEm0b2+RJVIq7Oly8tDKBTu3btXNF8a/7mvr68vysokdrwWfTS+Eo5Ens9XE+IfB/zdgYxj2IS0k4ZEampqBAJBdMxl93M8LTwtLe3u3bt9+vRRU1OTuIzEsxOHw+FyuQYGBnPnzg0ICHj9+rUoflET4DCa3NNLRpNJ+1B369ZNfK7v+fPn5W/lsLCw+vr6Jnfyk9gcTcjTynK2oKamZm1tbUlJCX5bX18vuoa51ZsGAIAOCxJgAFqmgcfzDwgaaWE+2PifG5YeO34i9Pg/t04ZZjLU3GzEgYMB4gNNLXXv3j0SiYSvMsW0tbWtrKzi4uLwXzbv3r2rr69HCEVFReGhA6FQuHjx4ujoaC6Xy+VyMzMzxef7YSwW69OnT2w2u6yszN/fv0uXLuL3cG5i0qRJd+7cefTokUAgSE9P9/T0FE8q8KjItm3bLC0tLSwsBP+Fp0TW1NTgv72ePHki7a9nCoVy6tQpLpebn59/48YNiQ8L1dLSysrKYrPZCKELFy5IHBweM2ZMWVlZZGQkl8stKirCdyqS8zjLGarIsGHD3rx5k5iYyOFwLl++LP64F4lsbW1PnDhhYWHRZDjriw3x/PnzgoKC8vLyd+/eyZ4QzmKxMjIyhEJhVlbWlStXSCSSjDaV08SJEyMiInJzc/l8/uXLlxctWoSb4ItoNJqhoeH58+fZbHZeXp7482wl1tnS5eWJgUgkCgSCHTt23L9/v7CwsLi4OCEh4dy5c6IOJrHjteij0VxwcHBmZqbEX1VWVpaWlpaWlmZlZe3bt69z586GhoYyPl9UKrWioqK6urr55Z1aWlr4zl4NDQ2xsbFfPObiJJ40pMF1RkVFVVZWFhQUfPEpykpKSsOGDTt58qS0+c/Szk779u3bs2dPVVWVUChMT08nkUii6xfwDdjZbPb58+eHDh2KZ6GLk9Zk0j7UY8aMycvLu3TpUlVV1dWrV8PDw+V8DlxKSsq1a9e8vb1x1xIIBDiTlNgcTXzxLCp/C/bp06dv376BgYHV1dV1dXWHDh3aunWrjLDl2TQAAHRYMAUagJY5ey6quLjYfY7rs+cvcInTFEeEkOjtqJEWiUnJZ6POu8yU+vgQ2eLi4kaPHt3kj1Q7O7tly5YVFRWNHTv2yZMn7u7unTp1mjx5MovF4vP5RCLR19c3KCgoPDycRCL169fP29u7SbWOjo6vXr2aOXOmurr6woULy8vLg4KCmEymxJs5DR8+3N3d/eDBgxUVFfgpGk0uKs7Nzc3MzMzMzBT/iy0uLk5HR+fXX39dt26dsrKykZGRtbW1xO8CGAzGgAED5s6dW1VVZWlpie9L1ISVlVVKSsq8efOYTOb48eNFzwEWx2QyN23adPTo0YiICBUVldGjR8+YMUOOY4wQQnKGKjJo0KAFCxYEBgbW1dWNGTPGyspK9qCKtbX14cOHmz9+VlpDiB7g+erVq61btzY0NAwcOFD27sybN2/Pnj2//PJL7969f//9d2Vl5a1bt27btk3OIyCRq6srh8NZuXIln8/v1avX1q1b5X8G9bJly/bs2fPbb7/17NnTxcVl/fr1eEqntDpburw8VqxYcfbs2fDw8KKiIvj5VTQAACAASURBVKFQqKGh4eDgIOpgEjveF1tEttjY2N69e+PRyCZEk/OVlZUNDAy2b9+Od0Ta52vYsGFRUVGzZs1q3oj4nl5z5sxRU1ObPn16cnIy/spJ2jEUJ/GkIWOPVq1atXv37jlz5rBYLDc3t5cvX8p46Beu/9GjRxYWFhJ/K+3s5OXldeDAATc3Nz6f36NHj/Xr16uqquKBTQcHBx8fn8LCwr59+/7xxx/N65TWZM7OzhI/1Orq6lu2bDl06NDRo0e1tbU3bdrEZDLlmS1y48YNNps9f/58UYmLi4urq6u05hD3xbMoJk8LIoR8fHwCAgJcXV2pVKqxsXHzM3wrNg0AAB0TYcGCBe0dAwCt0ShGKBTinydPnvymG62srHSe4SLPXUNoNFp0ZISM27d2ZImJifv27ZN/qBb8WwiFQj6fj0e809PTvb29Y2JiZFyY2tLlv9I36ngXL17s0qWLtPTvW/vOxxC0OWhB8K8we/ZsIpFIIBDwT5H2jguA1oARYABagMlk3or7woRAADqsbdu21dXVeXt7C4XCM2fOmJiYyP47vqXL/5hSUlLWrFnTXlv/OY5hRwYtCAAA3xmcZAEAALSNRYsW0el0Nze3BQsW0On0pUuXtu3yP6bt27e341yPn+MYdmTQggAA8J3BFGjwb9UuU6ABAAAAADoamAINfiYwAgwAAAAAAAAAoEOABBgAAAAAAAAAQIcACTAAAAAAAAAAgA4BEmAAAAAAAAAAAB0CJMAAAAAAAAAAADoESIABAAAAAAAAAHQIkAADAAAAAAAAAOgQIAEGAAAAAAAAANAhQAIMAAAAAAAAAKBDgAQYAAAAAAAAAECHAAkwAAAAAAAAAIAOARJgAAAAAAAAAAAdAiTAAAAAAAAAAAA6BEiAAQAAAAAAAAB0CJAAAwAAAAAAAADoECABBgAAAAAAAADQIUACDAAAAAAAAACgQ4AEGADwPQQHB2/evFnGAomJidOmTfuOEbXS94yztrbWzs7u06dPMpbx9PSMiYn5PvG0lR07dvj7+7dtnfIcq9Yt3FZa1HNEn5d/y+dC3LJly6Kjo+VcuF3a4utjcHFxuXv37rcMCvzPixcvZs2aNWfOnO+83R+hcwIAvgVIgAH4Ec2bN8/Ozs7Ozm7ChAkuLi47dux4//79F9fKzs5+8uTJdwlQssTERLtmjhw5ghBycHCYPXt2O8bWVgYOHLhp0ybZy3zrhhCvf8WKFebm5t9uW99HbW3thAkTkpKSRCVxcXF2dnYFBQWiksDAwOXLl7fJ5hQUFHbu3KmhoYEQ4nK5165da109ly9f5vF4ci7zxZ4j3qw/zeflR+Dv729nZ/fo0SPxwvLy8gkTJqxcubIN+wNoBV9f3y9+HXb+/HlDQ8OgoKDvE5LoMyveMQAAPxNIgAH4Qc2cOTM8PPzo0aPLly/ncDhLly5NTk6WvcqdO3eePn36vQKUYMiQIaFiVq1aRSaTR40ahRDS1NTU0dFpx9jaiqqq6sCBA2Uv860bQrz+vn37qqurf7ttfR9KSkr9+/cXP2jPnj2j0+nPnj0TlTx9+nTYsGFtsjkSiTRo0CA6nY4QysjIaF3Cw+Vyg4OD+Xy+nMt8seeIN+tP83n5QaiqqsbHx4uX3Lt3j8Fg4Ndt0h/At1NXV6erqytqr29K/DMr3jEAAD8TcnsHAACQTFFRESc2mpqaw4YNO3LkyP79+0+ePEmlUisqKgICAtLS0ng83oABA5YuXcpisU6dOnXu3DkCgfDgwYOTJ08ihC5evHjlypXi4mIWi+Xp6TlkyBCE0OLFi21sbNLT0/Py8urr6+fPn29padlk0y4uLmVlZaK3xsbGfn5+d+/ePXLkSEREBC7cvHlzly5dPDw8xFek0+mampr4dU1NzfHjx+fNm6evr4+ndJaUlGzYsAHnNsePH8/OzmYwGFOnTp06dWqTADIyMnbv3l1aWmpsbGxqanr+/PnQ0FA2m+3k5LRy5cqjR4/OmjVr5MiRv/32W2hoKN5iTExMbGxsUFBQVVXVr7/++scff8TExJSUlHTp0sXHx4fFYkkrRwgVFhYGBgZmZmYKBAJLS8tFixbRaDS8uQ0bNly4cKG8vJzBYKxevVpHRycxMXHfvn1RUVHSDmaThuByuSEhISkpKTU1Nfr6+itXrsTjCV5eXtbW1jdu3NDR0Vm/fv2bN29CQkLev39Po9HMzMy8vLwoFIr4MSkrK1uyZMmMGTOqqqrE6/f09LS3t3dwcEAIpaWlHTt2LCcnp1OnThYWFm5ubkQiMTk5OSgoyNXVNSYmpqysTE9Pb82aNfhPSYkNIWN5EWmdQca6V65cOXv2bF1dnY2NTWNjY/MOP2zYsBs3buDXjY2Nz58/HzNmzNOnTydMmIAQKi0t/fz5s4mJibT2witmZWX5+fkVFBT06dNn1apV+FDHxMScP3++vLxcTU1t6tSpDg4OtbW1zs7OwcHBFRUVGzZsEAgEjo6OBw8e1NbWlvipKS4u9vf3z8jIQAgNGDBg2bJlTCZz2rRpAoFgxowZCxcunDBhQnx8fGRkZFFREZPJdHJymjJlCo/HE1+GyWSKes6LFy+OHDmSm5tLp9NHjhzp4eERGRkp3qzinxeRZ8+ebd68efv27fr6+i3qtOKVxMXF7d+/X7xk9+7dBgYG8+bNc3Z2trOzQwh9+vTJw8MjOjpaSUlJfEk5OzNCiMfjbdu2LSUlRUFBwcvLC59kpK0ureFavY/NGRsbJyUlsdlsUU++ffu2sbFxeXk5noAgrT+IauDz+UFBQffv36dQKLNmzSIQCKJfSewzISEh1dXVKioqz549q6qqsrW1dXd3bx7YlStXTp06xePx7O3t6+vrBQIBnubQ/LOZn5/v7u4eFRWlrKwsEAimTp1qa2u7ePFiHEBCQsLu3buLi4sDAgIyMjIoFIqBgYGXl5eqqqq0IybjSLb0yLf6TCJOWv2rVq3KyMh48+ZNbGzs8ePHZeyj6H8HW1tbJyenNWvWXL58OT8/X09Pz8PDIzg4OC8vT1FRccOGDfjM/8XP7KhRo3DH0NXV5XK5x44dS0xMrK+v79Wr19y5c/F/bdL+S5XW2+X5LxgA8K3BCDAA/w7Tp0+vrKx8+fIlTiZramqOHj0aHh5Op9MDAgIQQq6urqamplOmTMHZ7927d8+cOePt7X3x4sW5c+du3LgxPz8ff6UdExPj4eEREhIyY8YMf3//5tnIqVOnrl69evXq1VOnTqmqqo4bN66l0TY2Nu7atatPnz5Tpkxp8qvCwsJNmzY5OjpeuHBh+/btFy9evHnzpvgCPB5v48aNFhYW586ds7e3j4iIIBKJCCEymYz3a+/evTJCIpFI+K/bHTt2REREaGtr7969W0a5UCj09fXV0NAIDw8PCwsrKys7dOiQaHOxsbHbtm0LCwvT1tY+ceJE8201P5hNGuLw4cPZ2dkHDhyIiooaMGDA2rVrhUIhrj82NtbLy+v/2LvzeKjW+HHgZ2YwmuwSyZ6QLGMPhdIVKnVLRaKkRat0W4iotO+pUFxKttKGG1p1yxJarmwtbpEsZSv7YPj98Xy/53e+Y2Yapbr3+rz/8Jo5nvOcZz1znnmec8bb27uvr2/Xrl2ampqXLl06ceJEQUFBUlIS8UAMBmPHjh2TJ092cHBgiR9XX1/v5+c3bdq0S5cu+fv73759+9q1a+hAjY2N7969Cw4OjoyMrKysRONMThXBKTwvOO379u3bU6dOrVmz5uLFi2pqamzXMhgaGlZXV3/48AHDsDdv3vT29trb2xcUFKDievr0qaio6NixYznVF5KSkrJt27bo6Ggqlbp//360rjg8PHz79u1JSUm+vr7nzp17+/YtHl5PT8/Dw2PMmDFJSUkKCgqcek14eLiYmFhcXFxMTIykpGRYWBg/P/+xY8cwDEtISLC3t6+srDx06JCHh8eVK1c2bdoUHh7+8uVLljDEzO7du9fOzu7q1aunTp1CV/acqhX3/v37vXv3bt68WV1d/Vsa7bRp0278LycnJ2Vl5bFjx/JYv7w0ZhQyPT3dxsYmPj7e1tb25MmTKBin3dlW3LfksT9xcfGxY8dmZWXhhfnx40cdHR2WYCztgfivGzdu5OTkHD16NDIysqysrLm5GW3ncqZ9+PChrq5uaGjo/v37ExMTiQ0Pef369alTp9avXx8XF0elUh88eIDOdWz7pqysrJSUVGlpKfq+QEpKqqioCMVTWFiop6fX19cXEBAgIiJy/vz5kJCQxsbGo0ePcikxTtsHWvKDdSbhFP/hw4fHjRvn6up67tw57nnEPx3Q26ysrEOHDkVERJSUlAQFBW3atCkyMlJYWBidGAfaZ1E8R48ejY2NVVFRCQwMZDAYXD5SObV2Xj6CAQDfGwyAAfh3EBUVFRMTq62tRc+YCQwMFBERGT58uJWV1atXr/qHT0tLs7OzU1VVJZPJEyZM0NXVxVcAmpqaou+/6XR6S0vLp0+fWPYlk8kUCoVEIh08eNDMzGzKlCkDTe3ly5fLy8vR/XUs7t69O2bMmClTppDJZEVFxZkzZ7JcFRUXF7e1tTk7OwsKCpqamtLpdOJ/ra2t5eTkvrgmzc7OTlBQkEQi2dvbFxYWtra2ctpeUlJSVVXl4eFBpVJFRUUXLVqUkZGB39hpb2+PZhd1dXXfvXvX/0DcC7O7u/v27dsuLi6SkpICAgJubm6NjY34Zau2tjadTh8+fDiJRAoJCXFzcxMQEJCRkTE0NCTWKfo2QVpaetmyZVyyfO/ePTk5OXt7e35+fhUVlWnTpmVmZuLJmD9/PoZhVCpVXV29srKSe0WwDc8jtvtmZWWpq6tPmDCBn59/2rRp+DIBojFjxoiLi6ObYJ8+fUqn01VUVMhkcllZGZpiMjAwIJPJ3OtrxowZCgoKoqKi8+fPf/HiRXNzc1tbG4lEEhERIZPJGhoaly9fVlZW5pR4Tr2mtbV12LBhgoKCNBrNy8uLZWIWw7DRo0fHxcWhDOro6MjJyaFks8VkMjs6OoSFhSkUipSUVHBwMJrA56KlpSUgIGDRokWmpqZoicRXN1oSiUShUCgUSkFBQXJysp+fHz5/zh2PjRm9NTQ0NDQ0pNFoU6dObW5u/vTpE/fd+1fcN3bM/qZOnXrv3j30OiMjw8rKCn0pxqOsrCxra2t5eXlBQUF3d3c8JVzOtLKysiYmJhiGKSgoSEhI9E9nTk6Ourq6ubm5oKDgokWLhg0bhrZz6pu6urrFxcVorYe5ufnnz5/Rma24uFhPT+/ly5cVFRXLly+n0WhiYmLOzs55eXldXV3cS6z/9oGW/OCeSbjXLPc8snw62NjYUCgUISEheXl5PT09MTExEok0btw49A3FgPpsX1/fzZs3Fy5cOHLkSCqV6ubm1traiuqC7acA99b+xY9gAMD3BkugAfjX6O3tRVds9fX1kZGRr169YjKZPT09bL8/rqmpKSgoSEhIwLeIioqiF5KSkuiFgIAAhmH41QOL8+fPt7a2rlq1aqDpLCkpiYmJOXDggLCwMNuElZSUoJWWiJSUFDFAQ0ODmJgYvlJOVVWVOBpkO3bqD19aiTKLlr+y3V5dXY1WPLKkAYXHy4qfn59tQXEvzMbGxu7ubl9fX+LG2tpaNPU0atQofOOLFy8SEhKqq6tJJFJHRwdaRYlcuHAhLy8vLi6OuOqyv5qaGuJCUHl5eXxqnUql4mtZBQQE0MQFl4pgG55HbPetr69HF3yInJxc/x1JJJKBgQFa8/z06dNJkyaRSCRdXd2nT5+qqak9e/ZsxYoVGIZxqi90UDxmdLiGhgYNDQ1zc/OlS5dqa2ubmJhYW1uzbZZ4GbLtNS4uLkFBQXl5eYaGhpaWlv1nDslk8t27d2/dutXc3EwikZqbmzl1KzQFtHTp0kOHDl26dMnQ0PCXX34ZPXo0lyLt7e0NCgqi0Wh4rr+x0aIaOXDgwLp169jWBVu8N2ZiR0Ojke7ubk67q6iosK24b88jCwsLi9DQ0IaGBklJyYyMDF9fX7ZfHXJSX1+PHmeAYZiwsDB+OuVypiXenM+2H9XX1+PlRiaTUVFw6Zt0Oj09PR1N+To4OLx7966kpERWVpbBYKirqz948EBcXFxERATtIi8v39fXh2734FJi/bcPtOQH90zCvWZramq45JHl0wElGB1aTEwMvebj40PRDqjPNjU1dXV14YsCaDSapKQkWq7C9lOAe2fh8SMYAPD9wAAYgH+H2tra5uZmOTk5JpPp5+dnbGwcERFBo9FycnIOHTrUP7yAgICnp2f/FchopPHFw+Xn56ekpJw8eRJ9QvOuubl57969bm5uGhoabANQqVQzM7OAgABOMfT19aEFbAhaE4jjNGnD8i0Ak8lEL9CqMzzL/bejS7T+v9qCLkq+WFbcA6DSCw0NZTvriGezoqJi165dXl5e1tbWFAolLCwMv7TCMOzDhw+Kiornz59ft24d98Sw4P6A4i9WxCBiSQmnCz4jI6OTJ08yGIzi4uL169ejK/4///zTxMTk8+fPBgYG+CV1//pCU2EszZWfn59MJm/dutXZ2Tk3N/fOnTvx8fHBwcH4RCULTr1GS0srOjr68ePHubm5AQEBM2fO9PDwIAZITU29dOnSrl27xo0bh2HY6tWruRfI7NmzLS0tc3Nzc3JyVq5c6efnh6Z22WpraxMRESkrK/vzzz8tLS25FAKPjZbJZO7bt2/ixImTJ09mG4Dtd2o8Nmakfxo47c6p4r4xj/3RaLQJEyZkZGRoa2tTKJSxY8cOaADc1dVFPCjehr/xTEssNzw8p75Jp9ODg4O7urpKS0t9fHzKy8sLCwsbGxtRjtjGj3c9Tonpv32gJT+4Z5KvqFk8jyyFQIyqf7QD7bNcjst7a+cUHgDwg8ESaAD+HSIjI6WlpceNG1dfX19XVzd79mw0R/rixQu24WVlZYm3nH38+BG/3e6L6urqDh48uGHDBuLElICAAHHcQhyh4fr6+g4fPjxmzJj+z7UiJoz4s4rom3ViADExsaamJnyu4M2bN2zjYfnu/OPHj8T/okVuKJ0kEgn/xr3/dllZ2dbW1rq6OrS9s7Pz8+fPnBI/UOLi4sOGDSNmgW25vXz5UlhYGC3YQ2+J//3tt9+2bNly69Ytlt9xYcFSsJWVldxny79YEVzw0hiIJCQkiGHev3/PNpi+vn57e/vNmzfFxcXRzBidTi8tLX3y5ImamhqaWONeX1VVVcQkSUpK9vT0NDc3KygozJs3Lzg4WEJCAr8RtD9OvaapqUlAQMDc3Hzjxo2bN2++ceMGy44lJSV6enroSrq1tRVPBlt9fX1NTU3i4uK2trY7d+60t7e/efMml/BCQkJ+fn4rV648efIkejrdNzbaqKiozs5OlifYESfcWHoTwmNj5oT77v0r7nt0zKlTpz58+DAjI8Pa2nqg+0pKSqI7UNBkeHt7O3r9LWdaUVFRPM6+vj68P3LqmyNGjBgxYsStW7ekpKRoNJqmpmZxcXFRUZGenh7aq6mpCS+lyspKMplMXHnBo4GW/LecSb4ibYOSx4H2WXFxcSqVWlFRgd62t7c3NDRwOcF+Y2cBAHxvMAAG4B+qra2tvr7+w4cPz549CwgIyMnJ+e233ygUipiYGD8/f3FxcU9PT1ZWVmFhYWdnJ7oaExAQqK2tbW1t7evrmzFjRkZGRn5+PpPJLCoqWrVqFX4DEndMJnPv3r2TJk0yNzdn/i90x1RLSwu61Hvy5AnbMczly5dLS0tdXV0/ENTX1xPDWFtbNzQ0JCQkMBiMDx8++Pv7o+fi4rS0tMhk8uXLl7u7ux8/fkz8IRwiISEhERGR58+fo4vO7Oxs4n9v3LhRX1/f1tZ2+fJlXV1dfEF1/+1jx45VU1MLCQlB94ueOnVqz549vBQUF8SKmD59emxsbGVlZU9PT0pKyurVq/FLZ5yMjExLS0tFRUV7e3tMTAyDwUAPp0XQnXVLliw5duwYevQOMX482JQpU6qqqtLT05lM5uvXr9FTiLgk8osVwQUvjYHIyMjo5cuX2dnZHR0dKSkpxNwRCQsLq6urX7t2DV3Qo+tdMTGxtLQ09PxnDMO41xd63mx7e/uVK1cMDAyGDRt28+bNjRs3vn//vre3t7KysqmpiWWxLnqsenNzc3d3N9te09vbu3bt2suXLzMYDAaDUVpaitb3ojsV379/39nZKS0tXV5eji6Lg4ODpaSk0EiVGAY/YmVl5ZIlS54+fcpkMj99+lReXo4iZFutaL6IRCJNmzZt/Pjx6JE/39Joc3NzU1NTfXx8yGQy6t1owDZ69GjUm7q6utLS0tjuy0tj5oLL7v0r7ivymJSUxPJbRywMDAzq6+szMzO5DICJ7YG43cjI6O7du+Xl5ej59viN0199pkVxFhcXP336tLu7OyEhAS8NLn2TTqdfv35dS0sLNQM0CYz6i5qampKSUmRkJIPBaGhoiImJmThxIn5fMe8GWvLfciYZqMHKI1psz3ufRR0wPj6+oaGBwWBERUWJi4vr6upyif8bOwsA4LuCJdAA/EPFx8fHx8ejUYG2tvaJEyfQHWJUKnXdunVRUVFnz541MTEJDAzcunXrkiVLYmNjra2t9+/f7+7uHhcXZ2xsvHTp0pMnTzY1NaEf5+h/4yJblZWVpaWlpaWlxB/DTE9PV1RUXLBggZ+fn7CwsK6urpWVVf9fQL13715LSwv6ZQ7cqFGjoqKi8LdiYmI7duyIiIiIjY0VERGZMmWKk5MTMbygoKCPj09ERMTly5eNjY0dHR3/+OMPtkldt25dREREcnKyrKzsrFmziAm2sbHx8/Orrq5WUVFBv8vCZfu2bdtOnz7t6uoqICBAp9N9fHx4KSguiBXh6ura0dGxcePGnp4eFRWVPXv29P8hEB0dHVtbW29vb0FBQQcHh02bNvn4+AQGBm7evBkP8+uvv+bk5Jw8edLPz48YPx5AUlLS39//woULYWFhkpKSzs7OLE8xZfHFiuCCl8bAksEVK1aEhIS0tbVZW1tbWlpymiUzMjKKjo52d3fHt9Dp9Fu3buEDYE71hb6mcXBw2LZtW21trZqaGio9Ozu7mpqazZs3t7S0SEpK/vrrr6ampvhD0dARExMTFy1atHfvXk69JiAgIDQ0NCYmhkKhaGhooCPKysrq6el5e3u7urrOmjWruLjY2dl5xIgRK1eubGxsDA0NRb+tgoeRl5dHR1RQUFi7du3p06c/fvxIo9FMTEzc3NxYmg3bwvHy8vL09ExOTkbZ/LpGe+vWrfb29uXLl+NbXFxcXF1dXV1dDx48uHjxYgkJifnz5z969Ai/XwDHS2Pmgu3uaDavf8V9RcfMy8sbMWIEl8EtmUy2srJ6/fo1y3MHiIjtAY0zkfnz53/8+HHTpk0CAgKurq6lpaXoe4qvPtOifuHi4nL48GF0z62hoSFaHMulb9Lp9NTUVNRg+Pn5FRUVa2pqlJSU0CDNz88vJCTExcVFUFDQxMSE+2PzuBhQyX/LmWSgBjGPvPTZ6dOn4+Hd3d1DQkLWrVvX3d09bty4gwcPsvxSHYtv7CwAgO+KhB4rAsC/Th9Bb28v+svpF0S+q3UbNmIYdvL40R9/6P+q7u5u9CRqDMNiY2OLior27dvH4774T3qii8IvbgcAgJ+FwWDgk8lbt26l0+nOzs4/O1EAsOHm5kYmk0kkEvqL+9npAuBrwBJoAL7VXwXP/yp4/rNT8d/BZDIXL158/vx5BoNRXl6enp5uZGT0sxMFAACDrLy8fPbs2Tk5OV1dXY8ePSosLIRzHQAA/ACwBBoA8M9CoVD8/f3PnDlz/fp1ERERKyurmTNn/uxEAQDAIFNSUtqwYUN4ePjevXulpaW9vb1VVVV/dqIAAOC/D5ZAg3+rn7sEevuOXff/fLArcPtkK8tJk6diGPYw486POTQAAAAAwI8ES6DBfwksgQYAAAAAAAAAMCTAABiAr/E/33r+3+8+P3369OyvgvLyip+WLAAAAAAAAABnMAAG4Gv8zw91/t+f63z67K/13r9Fnjv/05IFAAAAAAAA4AwGwAAAAAAAAAAAhgQYAAMAAAAAAAAAGBJgAAzA11BRVqLr6oiLi2EYRtfVoevqYBgmLi5O19VRVlb62alj1dXVZWtr++rVq5+VgLCwsKCgoJ91dC6gZL6rVatWJScn/+xU/ONUV1fb2to2Njb+7IT8DxcXl/v37//sVPx/Bw4cCA4O5jFMdnb2vHnzflTS2MAb+ffoy+np6cuWLcMwrLW11dbWtry8fHDj/wo/vcC/xX/7fAsA4B38DjAAX8N9sZv7Yjf0+uTxo+iFHl0Xf/0DFBUV7du3LzY2Njw8vKura82aNV8RSV5enqysrJyc3HdI4P/n4ODQ3d39XQ/B1o/J3bf4WSUzWJYtW/b+/XsMw8hksri4uI6OjqOj45gxY9B/vb29JSQkBvFwKSkptra2/Pz8gxjnP1NFRUV9fb2BgcHPTsg/3fjx43fs2DGgXVpaWhISErKzs+vq6oYNG6apqenk5DRu3LhvTAmxLxMb6ufPnxcsWHDt2rU///zz4cOHe/bsQWEGdHYaNmzYwYMHZWRkvjGRvLh///7+/fvRa0FBQQUFBSsrKwcHBz4+vq8rcO6gqQMAfjwYAAPwb6WgoODl5YVh2NSpU3t7e78ukoSEhAULFnzvIaKsrOx3jZ+TH5O7b/GzSmYQOTs7T58+vaurq6qq6saNG+vXr9++ffuECRMwDFNTUxvEAzEYjLCwsKlTpw6FAXBGRkZ3dzeMCr5IVFRUVFSU9/AtLS1eXl59fX3u7u6KiootLS3Jycm//fabv7+/mZnZt6QE78ssDZVGo/n5+VGpVD09PeK5aEBnJwqFoqOj8y3JGxAqlfr7779jGNbQ0FBSUpKQkJCTk7N3715+fv6BFvgXQVMHAPx4MAAGRisP9QAAIABJREFU4B+nvb19zpw5W7duTUlJqa6uVlVV9fT0DAsLq6qqGj58+Pbt26WlpTEMKy8vj42N3bdvn7i4uLm5ubKyMplMRhMLUVFRVVVVCgoKK1aswC+bamtrT58+/ffff48ePXrbtm2KiopbtmwpKSnZvXv3pEmTtmzZUltbGxISUlpaymQyJ02atHr1aiqVihKzffv2q1evNjY20mi0LVu2KCoqEhN84MABUVFRT09PDMMuXrwYFRWVkJAgJibW19c3f/58f3//nJycurq67du35+TknD171s7OLiYm5sSJE8rKyiiG1tZWJyenoKAgPT09tMXb21tbW3vp0qVcUrVx48aIiIhFixbZ29uHhoZmZmZ2dHQoKCgsX75cV1eXl9xxKhm08etK4+tKBsOwZ8+enTt3rqKigkajzZ07d+7cuSyxNTY2Lly4MDIyEl1qJycnp6WlhYaGcklVcnLylStXGhsbJSQk5s6d6+DgwD1reJE6ODhwKTGi4cOHjxgxAg0AjIyMwsPDjx8/Hh0dLSAgsGrVKjs7O3RQtrk7e/Zsc3OziIjIs2fPPn/+PHXq1KVLl2IY9vHjx+Dg4JKSEgzDNDU1vby8xMTE5s2bx2QynZycVq5caW9v/8XkrV+/3sDAYPHixehtVFRUQUHB8ePHGQzG2bNnc3NzW1pa1NXVN27ciCbW1qxZY2VldevWLUVFxRcvXqxevRqNiPz8/Orq6s6ePYth2Js3b7y8vC5fvowS3z+StWvXTp48uaioqKqqqrOzc/ny5ZMmTUJ1d/jw4ZKSkpEjRy5YsABPJNvEXLhw4dKlSyQS6eHDh9HR0Xjg9PT0pKSk0NBQDMNKS0u9vb23bdtmYWGBYdjOnTtVVFRcXV3ZljNLv5OXlw8NDX3w4AE/P/+iRYtIhJ9zu379+h9//PHx40dpaelVq1bp6+tzqSZO7t+/Hx4eHhsbi94GBQVJSUl5eno+evQoNDTU1dU1OTm5oaFBVVV169atNBoNw7A//vjj4sWLbW1tkydP7vu/T9fHsQ2TnZ197NixxMRETg2bJZLo6OjOzs6IiAh0XAzDtLS0jh8/fvz4cQMDAyqVumzZMkdHR1tbW3SO9fT0vHz5spCQUFNT0+nTp58/f97d3a2pqbl+/Xp0HsaFhYXV1dX5+PiwNNQ3b95cv379yJEjVCrV1NRUXV2dn5+f5exEjKekpOTkyZPV1dWampr42bu1tdXR0TEsLExJSYlTNfXvNVJSUpwCnzlzprW1tbW1tbS0NCEhoX9po049YsQIdXX1SZMmrVy5MiUlZc6cOcQC59SVOPWC/qej/k2dbWpxeXl5QUFBiYmJgoKC6LNywYIFgYGBhoaGvLR8vKZu3bo1bNgwBwcHvDPyXqQ9PT39P254PK+OHDmSUxcAAPxIcA8wAP84aKVZVlbWoUOHIiIiSkpKgoKCNm3aFBkZKSwsfO3aNQzD6uvr/fz8pk2bdunSJX9//9u3b6PttbW1u3fvnjdvXnx8vI2NTWBg4OfPn1G0aKIjLi5OQkLi/PnzGIYdPHiQRqP5+/tv2bKlt7c3ICBARkYmJiYmKiqqoaHh1KlTeGLS0tL27t0bFRWloKCA9iWi0+nFxcXodWFhoby8PHpbUVHBYDA0NTXxkPz8/J8/f66pqYmMjJSXl8e3CwkJ6evr5+TkoLeNjY2lpaWTJ0/mnqr79+8fPXrUxsYmLS2tuLg4NDT06tWr06dP379/P5PJ5CV3nErmW0rj60qmtrZ2x44ds2bNunr16r59+65fv3779u0BNZj+qaqoqAgPD9++fXtSUpKvr++5c+fevn3LY5FyLzEu5s+f/+nTp8LCQuJGTrmjUCgPHz7U1dUNDQ3dv39/YmLi27dvMQwLDw8XExOLi4uLiYmRlJQMCwvj5+c/duwYmjezt7fnJXkWFhbZ2dn426ysLCsrK3TpX1FRceLEicTERE1NTV9fX7SAgo+PLy0tbc2aNd7e3rq6uqiment7//77bwaD0dzcjO47GDduHJVK5RQJhUJJTk729PQ8e/ask5NTcHAwGqqdPn2ayWTGxMTs3bv35s2beKrYxuPq6mpiYjJ79mzi6Bc1p/Ly8vb2dpQSeXn5oqIi9K/i4mI6nc6pnFn63Y0bN3Jyco4ePRoZGVlWVoayhmo/Pj7ex8fn+vXrHh4egYGB1dXVXKppoPj4+BobG9+9exccHBwZGVlZWXnr1i0Mw96+fXvq1Kk1a9ZcvHhRTU3t0aNH/ff9YhgeW+yDBw8cHBxYhhwLFy5sbm4uKCjgkviwsLCWlpaIiIiYmBhBQcHTp0+zDcbSUPv6+nbt2qWpqXnp0qUTJ04UFBQkJSWxnHuJu/f09AQFBRkZGSUmJi5evPjGjRv9D8Gpmvr3Gi6B+fj48vPz6XQ6CsbdiBEjrK2tHz58yLJ9QL2A7emIpalzSi1OX1+fSqU+fvwYvc3Ly6PRaHp6ejy2fPRNnKSkZExMjJeX1/nz51FUAypSth83PJ5XOXUBAMAPBgNgAP6hbGxsKBSKkJCQvLy8np6emJgYiUQaN24c+mC+d++enJycvb09Pz+/iorKtGnTMjMz0QetkpLSlClThg8f7uDgsHbtWiaTiSKcOXOmgoKCiIjIpEmT3r17x3K4kpKSqqoqDw8PKpUqKiq6aNEitDIN/dfe3h7Npejq6vbfl06n//33352dnb29vS9fvrS1tUXjn6KiovHjx7MsWG1vb3dxcRkxYgS6MsARhytZWVny8vLKysrcU2VtbS0nJycoKNjW1sbHxzd8+HA+Pj47O7vY2FgKhcJ77vqXzLeUxteVzN27d8eMGTNlyhQymayoqDhz5syBXhj1T1VbWxuJRBIRESGTyRoaGpcvX+a9SLkH40JUVFRMTKy2tpa4kUvuZGVlTUxM0JJ+CQkJlPLW1tZhw4YJCgrSaDQvLy80Q07ES/IsLCwqKipQf6moqKiqqrKwsOju7r59+7aLi4ukpKSAgICbm1tjYyM+jNTW1qbT6cOHD9fV1UXTPq9fvx41apS6ujoaDxcVFenr63OPxNTUFM0N0un0lpaWT58+MZnMnJwcR0dHISGhESNG/Prrrygk93j6k5GRGTlyZGlpKYZhz58/nz59Ogr87t07BoOhoaHBpZyJ/S4rK8va2lpeXl5QUNDd3R0vt7S0NDs7O1VVVTKZPGHCBF1d3bt373Kppq/Q3d09f/58tMhWXV29srIS9Xd1dfUJEybw8/NPmzaN7X0BXwzDS5Noa2v7/PkzmkQlGjlypJCQEMtYi4WXl1dgYKCIiMjw4cOtrKx4fHIeiUQKCQlxc3MTEBCQkZExNDTkvmNJScnnz5+dnJwEBAQ0NDQmTpzYPwynamLba7jU6bBhw2bNmiUmJsZLRhQVFVk69UB7AdvTEY9Zw/Hx8ZmZmRE/KSZOnEihUHhs+RiGCQsLOzo60mg0Y2NjTU3NvLy8gRYp248bHs+rnLoAAOAHgyXQAPxD4U8PEhAQwK9R+Pj4urq6MAyrqakhrryVl5dHX3jX1NQQH5RibW2NnnWMrp7RRiqVirYQVVdXM5nMWbNmETc2NDSgZEhKSqIt/Pz8/feVlpaWkpJ6+fLlsGHDZGVl9fX1jx49ikYL+JJmHB8fH1pcx8LMzOzEiROvX78eO3YsPlnHPVX4RfC0adMePHjg4uKir69vamqKFoXynrv+JfMtpfF1JVNTU1NSUoIWXiJo+SLv+qdKQ0PD3Nx86dKl2traJiYm1tbWwsLCPBYpp2C8PIant7eX5QsILrkjNgYBAQEGg4GeSxwUFJSXl2doaGhpadn/7kdekjdy5Eh1dfWcnJy5c+dmZWXp6OhISEh8+PChu7vb19eXuGNtbS06xKhRo9AWPT294ODgrq6uwsJCLS0tSUnJoqIiU1PToqKiOXPmNDY2cokErwgBAQHU+5qamnp7e/EVs/htn9zjYQuNzPX09F68eOHr6xsfH9/e3l5UVKStrc3Pz8+lnIn9rr6+Hu8jwsLC+C2dNTU1BQUFxAWx+L/YVtNXoFKpQkJCLPHU19cTlxOzvS32i2F4aRKcFlejkSr3lNfX10dGRr569YrJZPb09HCJisWLFy8SEhKqq6tJJFJHRwfLmt7+RxEWFsYnqOXl5fHZThynamLba7jUKd7aecFkMtEtNriB9gK2pyMes0ZkYWGBJl2ZTGZ+fv7u3bu5n2FYPnHk5OTwupaWlq6vrx9okbL9uOHxvMqpCwAAfjAYAAPwD0W8IPvixRn6XhmF5HRlxj0S9KmMbm4kQkOpLyYArfWlUqlaWlporqCjo6OoqKj/jawsQyMcjUbT19fPzs6WkZF5/vz5unXrvpgqPCpxcfHTp08XFxfn5ub+/vvvycnJR44cIV6uDTR331gaX1EyVCrVzMwsICCA95hZKrp/qshk8tatW52dnXNzc+/cuRMfHx8cHMxjkXIK9kW1tbXNzc0s4xMuuWNbmFpaWtHR0Y8fP87NzQ0ICJg5c6aHhwdLhLwkDy0rQAPgGTNm4JfjoaGh/Wef8PWK6OpZSkrq1atXhYWF9vb2qIFVV1d3dnaqqamh2wo4RdI/R3jfRG/xS17uiWFLV1f39u3bb968kZaWptFo6urqJSUl+PcpXMqZ2O+6urqIicS/xBEQEPD09Jw9ezYvmRpELPO0bL9U+mIYXpqEkJCQsLBweXk5ekgb7tOnTy0tLf0H1XgXYzKZfn5+xsbG6ObhnJycQ4cO8ZK1ioqKXbt2eXl5WVtbUyiUsLCwDx8+cAnf3d1NLGq2oyNO1cS213CpU5Y1ONy9fPmSeNPKF1svj6cjlvuouaQWp6enRyKRnj9/3tnZKSQkNH78eN5bPp5slrcDKlK2Hzc8nlcBAP8QsAQagH8lWVlZ4m9CVlZWou+YR40aRVydeOXKlaqqKh4jbG1traurQ287Ozvxm4d5QafTS0pKnj9/rqWlRSaTVVVV//zzTwaDgf8iDi8sLCwePXqUk5OjoqIyevRo3lPV0dHBYDC0tLQ8PDxOnz794sWLN2/efEvuvrE0iHgsGZYKbWpq6n+Jj8+loLcfP37kfuienp7m5mYFBYV58+YFBwdLSEhkZWXxmLWvLoHIyEhpaWmWH5XhJXdETU1NAgIC5ubmGzdu3Lx5c/87IXlMnqWlZWlp6atXryoqKtBqUnFx8WHDhhGbB6cBia6ublFRUUlJiaam5pgxY96/f//06VNdXV30g088RoJISEiQSCQ8DPrhqAElBofmfp89e6alpYUezFNUVFRUVESn03kvZ0lJSXw5a2NjI7qpGO1OvLn348ePX/d4eQEBAeJxv5gpNDOPv8XLZ0BheGwSEydOTE5O7ujoIG5MTEyUkZFBXyIQl3XgXay+vr6urm727NlobvbFixfcc4R7+fKlsLAwup8FveUeXlJSsrm5GU8e26LgVE1se82g1Onbt28zMjImT55M3DjQ1sv2dMRj1ogoFIqZmVlubm5WVpalpSUaafN+hiEW6YcPH/AH+PFepGw/bgbxIwMA8APAABiAf6UpU6ZUVVWlp6czmczXr1+np6fb2NigNc9VVVVJSUmfP3++ceNGTEzM8OHDucRDpVKrqqra29vHjh2rpqYWEhLS3Nzc1tZ26tQp/PcqeaGrq/v69evS0lL0YCdNTc2rV6/q6OiwrJrjztTU9P3797du3ULrnzEM4zFVx44dO3LkyOfPn3t7e4uKiigUClr/9tW5+4rSSElJYfvYKh5LxtrauqGhISEhgcFgfPjwwd/fHz1nlUhISEhEROT58+foEo34hCe2bt68uXHjxvfv3/f29lZWVjY1NY0aNYrHrPFeAm1tbfX19R8+fHj27FlAQEBOTs5vv/3GMuPBS+5wvb29a9euvXz5MoPBYDAYpaWlaBUrusP5/fv3nZ2dPCYPPcP27Nmz+vr6+HrL6dOnx8bGVlZW9vT0pKSkrF69Gh8BEtHp9Dt37khKSgoLC1MoFBUVleTkZHzhOo+RIFQqVVtbOzEx8dOnTzU1NcTxPKd4BAQEamtrW1tbWeb5JSQkRowYcfPmTW1tbdScsrOzOzs7VVRUeC9nIyOju3fvlpeXt7S0nDt3Dn9U8owZMzIyMvLz85lMZlFR0apVq7jckIw/Ixd/hhZu9OjRLS0taETx5MkTtqM4lvS8fPkyOzu7o6MjJSWlsbHxK8Lw2CRcXV3JZLKXl9eTJ08aGhrKy8tPnjyZkpKydu1a1GhHjx6NulhXV1daWhraS0xMjJ+fv7i4uKenJysrq7CwsLOzk1ONExuqjIxMS0tLRUVFe3t7TEwMg8HAU46fnYj7ampqCgoKxsXFtbe3P3/+PD8/v3/8bKuJU68ZaJ3i6uvr6+vr3759m5ycvGnTJgMDg19++YUlzIB6AdvTEUtT5zG1FhYWjx8/zs/Pt7S0RFt4P8PU1dWlp6f39PQ8e/aspKTE3Nx8oEXK9uPmGz9AMQwLCQn54vcjAIDBAkugAfhXkpSU9Pf3v3DhQlhYmKSkpLOzs729Pbri371796lTpyIiIhQUFHbs2CEmJsZlts3e3j4qKurZs2dBQUHbtm07ffq0q6urgIAAnU738fHhPT0SEhKioqJ9fX3o1qnx48fHxsai37/hHY1GMzQ0zMnJ2bp1K76Rl1StWbPmxIkT7u7uPT098vLy/v7+KBnfkruBhs/PzxcVFe1/jchjyYiJie3YsSMiIiI2NlZERGTKlClOTk79j7Ju3bqIiIjk5GRZWdlZs2alpqZySZKdnV1NTc3mzZtbWlokJSV//fVXU1NT3rPGY7D4+Pj4+Hh0N6m2tvaJEyfQYOwrcoeQyeSAgIDQ0NCYmBgKhaKhoYEOLSsrq6en5+3t7erqumDBAh6TZ2lpGRYWtnnzZnyLq6trR0fHxo0be3p6VFRU9uzZw/ZnSOh0+v79+6dPn47ejh8/PiEhAU208h4JbtOmTYcPH168eLG0tLS7u3thYSEa2XKKx9raev/+/e7u7nFxcSyPkaPT6X/88Qda+amurv7+/fuJEyeieTAey3n+/PkfP37ctGmTgICAq6traWkpSoyxsfHSpUtPnjzZ1NSEfgyG+2/Pfvr0KTU1dcGCBSIiIsTtioqKCxYs8PPzExYW1tXVtbKy6unp4RKPjo7OihUrQkJC2trarK2tLS0t+8/78RKGlyYhISFx4sSJqKiogwcPfv78mUqlmpiYHDp0SF1dHQVwdXU9ePDg4sWLJSQk5s+f/+jRIyaTKSQktG7duqioqLNnz5qYmAQGBm7dunXJkiX4Tz0RsTRUW1tbb29vQUFBBweHTZs2+fj4BAYG7ty5k3h2wvel0WgBAQEhISHXr1/X0tJydHRET40m4lRNbHvNQOsUYTAYixYtQtOto0ePdnJymjNnTv9vMwfUCzidjohNncfU0un05uZmISEh/JfGeWz5PT095ubmf//999mzZwUFBT08PNBalQEVKaePm2/5AEUP4lJXV8fbIQDguyKtWLHiZ6cBgK/RR9Db24v+svxqCAA/zNu3b9PT01etWvWzEwLAj7Nr1y5vb+/+TzP6V0BzbvjPwwIAuHBzcyOTySQSCf3F/ex0AfA1YAk0AAAMgszMTF1d3Z+dCgB+nPb29ubm5n/p6BfNSb5+/fr69evNzc3cb0oHAADwXwIDYAAAGASurq5mZmY/OxUA/Dg0Gu3w4cM/OxVfT1lZecOGDYmJiYsWLXr9+vXPTg4AAIAfBO4BBgAAAMBQZGNjgx4fCAAAYOiAGWAAAAAAAAAAAEMCDIABAAAAAAAAAAwJMAAGAAAAAAAAADAkwAAYAAAAAAAAAMCQAANgAAAAAAAAAABDAgyAAQAAAAAAAAAMCTAABgAAAAAAAAAwJMAAGAAAAAAAAADAkAADYAAAAAAAAAAAQwIMgAEAAAAAAAAADAkwAAYAAAAAAAAAMCTAABgAAAAAAAAAwJAAA2AAAAAAAAAAAEMCDIABAAAAAAAAAAwJMAAGAAAAAAAAADAkwAAYAAAAAAAAAMCQAANgAAAAAAAAAABDAgyAAQAAAAAAAAAMCTAABgAAAAAAAAAwJMAAGAAAAAAAAADAkAADYAAAAAAAAAAAQwIMgAEAAAAAAAAADAkwAAYAAAAAAAAAMCTAABgAAAAAAAAAwJAAA2AAAAAAAAAAAEMCDIABAAAAAAAAAAwJMAAGAAAAAAAAADAkwAAYAAAAAAAAAMCQAANgAAAAAAAAAABDAgyAAfgvuHnzJp1O/x4x79y509PTcxAPYWdnd/78+cFIGjffr0D+4WbPnn327Nn+239Msf8TJCQkTJky5Xsf5ceXZ3Nzs5KS0suXL7+48Qfz8vLatm3bT0zA98OpNwEAAPhXgwEwAAMwY8aMoKAg/O27d++UlJQuXbqEb0lLS1NVVW1tbf1OCUhISJg5c6aWlpaqquovv/wSExODthsZGUVERHxj5I8ePVJSUtq4ceNgpPQn6OjoiIuLQ68HpUC4OH/+/MWLF1+/fu3l5fX9jsLdL7/8cvfu3fLycjU1tZ+VhiHrwIED06ZN4yXk/fv3Fy5cqKWlpaGhMW3atIiIiN7e3sFKBo1Gi4+Pl5eXH6wIB0tdXZ3S/1JTU5syZcru3bvr6+u/uGNGRsabN29+SBoBAAAMUTAABmAArKysHjx4gL99+PAhjUbLzMzEt2RmZhoZGQkJCX2Po1+5ciUoKGjFihV3797NyclZsWJFUFDQtWvXMAyTkJAwNDT8xvgTEhLs7e1TU1NbWloGKck/1JMnT/AB8KAUCBfZ2dnm5uY5OTlmZmbf7yjcBQQE6OjojBw5Mjg4+GelYcjS0dGRkZH5YrDo6OglS5aoqKhcuHDhypUrLi4up0+f/u233wYrGXx8fKampjQabbAiHFxRUVE5OTkpKSleXl6ZmZl2dnaVlZXcdzl16tTbt29/VAIBAAAMRTAABmAAJk+e/Pr16w8fPqC3Dx8+nDNnTmZmZl9fH77FysoKzUb6+/tPmDBBQ0PD2dkZv+ybPn16eHj4ihUrpk6dam5unpqayn07UXZ2tqWl5cyZM6WlpaWkpObNm3fy5ElFRUWWFb+VlZXu7u50Ol1bW3vr1q0dHR28ZK25uTktLc3Ly0tZWTk5OZl7YE65I6qrq1u1apWent748ePd3Nz6h+np6XFxcVm9enVfX5+JiYkSwcKFC1GYyMjIKVOmqKurT5069eHDh2hjQECAl5eXr6+vtbW1np5eWFgY+urB3d29uLh43LhxZWVlXyyQlpYWJSWlxMREPT296OhoFMPs2bM1NTWNjY3Dw8PRvnfu3Jk0adKVK1ccHBxMTEw8PDzQ9H5ra2tISEhbW9vp06f75/3q1atTp05VV1c3NzePiopCG5OTk01MTPAwnp6eO3fuxDCsu7vbz8/PwMBAXV19+vTp2dnZGIZNmDDh5s2bKKSbm9vUqVPR65KSEjU1tc7Ozrq6uri4OBsbGyMjo7i4OGLxdnV1rV27VkNDw9DQkG1DYluqu3fv/u2333bv3m1nZ2dsbHzgwAEuDaC5uXns2LFZWVn4ljlz5qBd2Jb27du3LSwsQkND1dXV7969q6Sk9OnTJ9QGNDU1t2/fjids/vz5nCJpbW1VUlJKT093dHS0sLCYPn36q1ev0I5PnjyxtbXV0NBwcXEhTjMONB7cF8sfXwJNzNqLFy+IkTQ0NOzZs2fjxo27d+/GO8Lvv//e0tKCvmOqqqry8PCg0+nGxsZr1qxpaGhAO3Lajvvw4YOxsfH58+dZlkCzrdmqqqolS5Zoa2traWktXry4urqaJTZOLZNT48cw7MKFC2ZmZlpaWv7+/vjZrz9JSclRo0apq6vPmjUrJSVFTk4OxYxh2F9//eXo6Kipqamvr+/j48NgMDAMc3Z2fvLkyerVqzds2MDpPMNL9XE5/0yZMiUhIQG9fvnypZKSUnNzM4ZhbW1tW7du1dHR0dfX9/f3R+nhpTcRbdu2jbgkhE6no1a0e/fujRs3+vv7T5061cjIKDU1NSoqavr06UZGRqdOneIeJwAAgEEHA2AABoBOp4uIiKBJ4N7e3pycnIULF/b29paWlqKr7Xfv3qEBcFBQ0MuXL5OSkgoKCgwMDFxcXNC6R35+/vPnz2/fvv3OnTtr1qzZtm0bunzktJ1IXV09Ozv70aNH+BYbGxt9fX1imN7eXnd3dwUFhZycnD///LO2thYfXXB37do1FRUVdXX1OXPmXLx4kXtgTrkj2rVr1+fPn+/du5eTk0Oj0QICAlgC7Ny5s7Oz89ixYyQSKTs7u6ysrKysLDs7W0JCAo2CkpOTT58+HRwcXFJS4uPj4+HhUVFRgWEYhUJJS0tDC4ATExOPHTuWk5MzceJEHx+f8ePHl5aWqqqqfrFABAQE0CEuX77s6OhYWVm5fPnyJUuWFBYWxsbGRkVFXb58Gc2wffjwoaysLDk5+f79+2VlZYmJiRiGbdq0yc3Nzd7efv/+/Sz5Kisr27hxo4+PT2Fh4ZEjR/bs2VNQUMClMOPj4x8/fpyenl5UVLRo0SIvL6+enh5TU9PHjx9jGMZkMktKSjo7O5uamjAMy8/PNzAwEBQU5FK8CQkJ8+bNe/z48YIFC/z8/FiqhlOp8vHxpaammpqapqWlxcXFhYWFoVbNloiIyMSJE/Eh4sePH58+ferg4MCptPn5+Zuamt69e3f//n0LCwtZWdmnT59iGFZUVCQrK5uXl4fiycvLMzc35xIJyt2FCxcePHigqqp65MgR9A2Cp6fn5MmTCwoKNm3aFBsby73qOcVD9MXyx0MSszZmzBhiJPfv3+/t7V2+fDlxo76+fkREhLCwcF9f39KlS8XFxTMzM1NTUz9+/LhlyxYMwzhtx3V2di5btmzWrFmLFy/mpWb37NkjKSmZm5ubk5MjIyOza9cuLq2RiFPjf/HixfYJ70cIAAAgAElEQVTt23ft2vX06VNtbe07d+7wEhs/P//KlSvv37/f3t7e19e3cuVKQ0PDZ8+eJSUlZWdno28T4uPjhYWFQ0JCjh8/zuk8w0v18XL+YbFnz56ysrLU1NSkpKTHjx+fOHECbefem3gvybS0tNmzZ9+5c8fZ2XnLli0dHR03btwICQk5evQoaloAAAB+GBgAAzAAFApl0qRJaGqlsLCQj49v3LhxEyZMQKugMzMzZWRk1NXVu7q6rly54uXlJS0tTaVSvb296+rqcnNzUSS//PILumfPzMzs06dP+IQVp+24JUuWODg4uLq6mpmZbdiw4eLFi2jugujx48fl5eW+vr7Dhg2TkJDYsGFDUlJSV1fXF7N28eLFOXPmoOe+FBUVscxlEXHPHW7v3r1nzpwRFxcXERFxcHAoLCwk/vfcuXOZmZkRERFUKhUVLB8fH4lE8vb2njZt2uzZs9Glp7Ozs5aWFoVCmTp1qqmp6dWrV9HuSkpK6EFHqqqqJiYmt2/f5pRa7gUyZ86cMWPG0Gi0a9euaWpqzp49m0KhjB071tXVFV3ro/yuWrUKw7Bhw4bR6fSysjIMw/T09DQ0NBQVFfsvgVZWVs7Ly5s6daqAgMCECROUlZVZ8s6iubmZn59fWFiYn5/f2dn50aNHfHx8ZmZmT548QUNEBQUFXV3d/Px8fIjIvXgtLS0tLS2FhITmzp3b1NTEMn/IvVStra1RqY4cORLllJMZM2bgxZ6enq6qqjpu3Dgupd3S0rJ+/fpRo0bx8/Pjw8vc3Nxp06Y1Njailvz48eOJEydyrzJnZ+dhw4ahMSpK4ZMnTxoaGtasWUOlUvX09Ozs7Hip+v7xEH2x/ImIWSNuf/funby8PDpKf3/99derV6/8/PyEhIRGjBixbt26e/fuMRgMTtvRXn19fd7e3nJycv2fO8WpZpubm4cPH06j0YSFhffu3YtWTPCIbeNPT0/X1dVFLXzBggVKSko8xqaqqtrT01NTU0MikVJTU729valUqry8vJWV1fPnz/sfmst5hnv1ffH8w6K7u/v69etr166Vk5OTl5c/cuTIhAkT0L+49ybeqaqqopsy9PX1W1tbFy1ahF739vZ+cVk4AACAwcX3sxMAwL+MlZXVvn37+vr6Hj58aG5uTiKRzM3Nb926tWLFiszMTEtLS7RAkcFgoEscXGVlpampKYZh+K2DaOzX2dmJ3nLajhMQENi1a9fmzZtzcnLy8/NDQ0N379595swZ4hisoqKip6dHQ0ODuOOHDx+4PyanoKDgxYsXs2bNwjBMSkpq4sSJCQkJO3bsYBuYe+6Iwfbv319QUNDb29vd3U2c0H748OG9e/fOnj0rLi5O3OXIkSPNzc34cSsqKrKzs4lLBCUlJdELBQUFfKO0tDS+KL0/TgUycuRIDMPQAnIU7MmTJ8RLeVlZWfRCUFBQREQEf92/XlhQKJRr164lJiY2NjaSyeSmpiZ89MLWggULUlNTjY2NLSwsfvnll+nTp2MYZm5uvm3bNgaDkZuba2xsLC0tnZ+fb2Njk5+fv2zZMu7FixcOGiGwJJhLqRJvaqVSqdxzamNj4+vrW1hYqK2tnZ6e7uDgwKW00QTgqFGj0BYzMzO0yuDRo0eLFy8uKyt7/PixkpJSR0eHrq7utWvXuFQZsZugFNbW1oqLi+M33quoqNy/f/+LVd8/HqIvlj8RMWtEJBKpp6eHUwG+e/duxIgReBcYM2ZMX19fdXU1p+2omo4dO3bv3r28vDwSicQSIaea9fLyWrly5b1799ANFPjQjhdsG39NTY2cnBweRkVFhcfY0PQphUJB4//Tp0+Xl5eTyeTW1tZJkyaxBOZ0nkFrXrhXH/cO0l99fX17ezt+khw/fjz+L+69iXfS0tJ4gvn5+VGpUigUMpnM/fwAAABg0MEAGICBsbKy2rx5c0lJSWZm5q+//oqulXfv3s1gMLKzs/ft24euFNEToceNG9c/hv5Xrty3sxAWFraxsbGxsdm2bduGDRuCgoLS0tLw/6IL1v7TKdwlJCT09vai0TuaDykoKPD19UVDcRbcc4f09PS4ublNnjw5IyNDSEjo1q1bxAf/5OfnT5069fDhwxYWFmgpMnr664ULF5KTk/GDCgoKBgYGuru7s40ff81kMrkUHacCQRedfHx8eLBp06adOXOmfww81gsuLi4uJCQkKioKXanb29tzDy8lJXXjxo38/Py7d+/u27fv/PnziYmJsrKyo0aNev78eW5u7sKFC6WkpJKSkioqKjo6OnR0dLgXL/cEcynVAREWFp40adLNmzfl5eVzc3P37NnDpbT//vtvvKiJw8unT58GBwe/evUqLy+vrq7OxMSEj4+Pe5X1zx2DwSBuxIcoA42HiHv5swQmZo1IWVn5/fv3zc3N+BgS6e7uZpkrxnFarIFvf//+vZqa2uHDh1GBE3GqWSMjo6ysrD///PPevXtLly51dXX19fXlkncitqXU1dXFUuAsGeTkr7/+EhQUlJWVffXq1cqVK/fu3Ttnzhw+Pr5du3b1nwXldJ7hpfq4dxAcPipGsbEdJA+0+7ONnyWeb4kTAADAt4Ml0AAMjJSU1Pjx47Oysp49ezZx4kQ0ASIuLo4WJKPlkVJSUsOHDyeuIv72RW5MJnPLli1oHSZCIpHodDrLKmj0TBf8OTft7e1fXLPX3t6ekpKCBtJIeno6k8m8desW2/C85K6mpqa6utrd3R3Ny/3111/E/3p5eQUHB3d1dR09ehRtqa6u9vb23rdvn7KyMh5MUVGReJSqqir8Brzy8nJ8+/v379nOvw2oQJSUlIjHqqur++ppmSdPnkyaNAmNfpubm/HfdKFSqcQ4379/j160tbV1dHQYGxv7+vqmpqY+e/YMpcTMzCw3N/fx48eGhoaamppv3rx58ODBhAkTKBQK9+LljkupDtSMGTPu3r17+/btcePGoYrjsbRlZGRGjRp16dKl0aNHCwsLGxgY5Ofn46uLB9qGpaWlm5qa2tra0Fu8wL+iLxBxKX8eY7CysqJSqceOHSNuLC4unjBhQk1NjaKiYn19fWNjI9r+999/k8lkOTk5TtvR20OHDh0/fvzy5csZGRksh+NUs3V1dYKCgra2tgcPHjx69Ch+jzSOU8vkRFpamhiGx4c2d3R0nDx50s7OTkBAoKCgQExMbP78+ei7A7YN+FvOolw6CDGzVVVV6MXIkSMFBQXxpdQFBQVffA4CW8TIW1tbP3/+/BWRAAAA+N5gAAzAgFlZWcXExIwaNWr06NFoC3rYr6GhobCwMNri4uJy4sSJsrKy7u7u6Ojo6dOnf+NvC1EolO7ubi8vrxs3blRWVlZVVaWlpYWEhNjY2BCDaWtr6+jo7Nixo6mpqbm5efv27WvXrmWJqqGhAT0/9uLFi69evUpJSaFQKPPnz8cfwqyqqjpz5kwul4BfzJ2UlBSVSn38+HF3d3d6enpubm57ezsehkKhCAoKHj169Pfff8/Pz+/p6Vm7dq29vb2trW3P/8IwzNXV9fr16xkZGT09PXl5eXZ2dvjTkurr6+Pi4rq7u//8888nT56gQhAUFKyrq2NZcsxLgWAY9uuvv378+PH06dOdnZ2VlZVLliwZ0K2SRHJyci9evGhpafnw4YOvr6+srCxaA6ysrPzp0yd0Qf/gwQN8nLZ169ZNmzY1NDQwmcy8vDw+Pj60vNPMzOzq1asyMjKioqLobvPz58+j71y4Fy93XEqVraqqqm3btrF9Ts8vv/zy5s2bS5cuofXPvJc2yl1UVJSRkRGGYVpaWmgSGOWO90gQQ0PDYcOGnTx5srW19dGjR2j981fE0z+FnMqfR6KiogEBAVFRURs2bHjy5ElJSUl0dLSLi8usWbNGjRqlq6uroaFx4MCBjo6ODx8+HD9+3N7efvjw4Zy2ozjRPeqbNm3asmULS6WwrVkmkzljxowzZ850dHR0dHQ8ffqUePsAwqllcmJlZfXXX3/dvHmzra0tOjr648ePnEI2NDTU1NS8ffs2NTV15syZvb296NZlOTm5T58+vX79urW19fjx452dnXgkgoKCb9++RY35q8+iXDqIkpISeo4gg8GIj49H4clksqOjY3BwcFlZWUVFxbZt27iP6jMzMw8dOtR/O7rhv729HcOwsLAwtitoAAAA/HQwAAZgwKysrN69e0e8FDY3N3/79i2+hBjDsI0bN5qbmzs6OtLp9OTk5PPnz+Nj46928OBBJyenY8eO2djYTJ48+ciRI4sXL/bz82MJdvr06e7ubjMzMwsLi46Ojv4/EltVVRUYGNjU1LRv377Hjx9fvHjx119/ZblWW7BgQWZmJqcply/mTlBQMCgo6MiRI/r6+mlpaeHh4aqqqhYWFsQVnnQ6feXKlRs3biwsLHz69GlcXJwqAfrRKR8fH39///Hjx/v6+gYGBuK3L06cOPHly5cGBgbr1q3z8fFB4ygrKyv03CmWpy5/sUAwDBsxYkRERERqaqqOjo6jo+PEiRPXrFnDW7WwWrJkyciRI42NjZ2cnObOnbty5cro6OizZ8+qqamtXr3a1dUVPb/awcEBjfN37tzJZDKtrKw0NTVPnjwZGhqKbt00MzN78+YNyhoa5pWVlaE5Ul6KlxMupcpWQ0NDXFwcPr9KJCQkZGlpmZ+fP2PGDHwjL6WNugyeOyqVOnbs2I6ODnV19QFFgifj7Nmzd+7cMTAwOHny5IoVK/A57QHFw4JL+fPO2dk5KiqqpqbGzc1t7ty5Fy9e9PX1RU8kJpFIp06dqq6uNjExmTVrlqamJvodKU7biTw8PJSVlVn6PtuapVAoZ86cuXnzpp6enrGxcWlpaf9C4NQyOZkwYYK/v39gYKCxsfHr169nzJjBaRGBu7u7qanplClTdu3aZWZmlpSUJCUlhZ5c5eTkNGfOnMmTJ/Pz8x8+fPjdu3ceHh6oxA4dOrR+/fpvOYty6SDe3t7o7O3s7IyeNt/d3Y1h2Pbt23V0dGbNmjV79mw6ne7t7c0l/pKSkqSkpP7b586dq6GhYWVlNX36dDk5OTk5Oe4lCQAA4KcgrVix4menAYCv0UfQ29uL/qIfdAVftHLlyn379v3xxx+SkpLoqUv/Ijt37qypqfnqGVowUCtXrjx48KCoqOjPTggA/xROTk747wkDMBS4ubmRyWQSiYT+4n52ugD4GjADDMCQ09LS0tjYKCEhcffuXXyCCwC2WlpampqaYPQLAC4nJ4fLIwABAAD8w8FToAEYcoSFhdGP3J4/f/5npwX80wkLC1+6dOlnpwKAfxBTU1OWX30DAADwLwIDYADAv0xgYODPTgIAAAAAAPhXgiXQAAAAAAAAAACGBBgAAwAAAAAAAAAYEmAADAAAAAAAAABgSIABMAAAAAAAAACAIQEGwAAAAAAAAAAAhgQYAAMAAAAAAAAAGBJgAAwAAAAAAAAAYEiAATAAAAAAAAAAgCEBBsAAAAAAAAAAAIYEGAADAAAAAAAAABgSYAAMAAAAAAAAAGBIgAEwAAAAAAAAAIAhAQbAAAAAAAAAAACGBBgAAwAAAAAAAAAYEmAADAAAAAAAAABgSIABMAAAAAAAAACAIQEGwAAAAAAAAAAAhgQYAAMwOEpfvCx98fJnp2LwrVq1Kjk5+Wen4p8lOzt73rx5XAIMqNB+ZAkfOHAgODj4xxyLu9bWVltb2/Ly8p+dEAAAAAAMLXw/OwEA/Be8efv2THgEhmHr165WUVb+2ckZmGXLlr1//x7DMDKZLC4urqOj4+joOGbMGPRfb29vCQmJQTxcSkqKra0tPz//IMY5KCoqKurr6w0MDL4Ycvz48Tt27PghiQIAAAAAAIMJZoABGLDHT56ybOnr7WN58e/i7OwcExMTERGxYcOGjo6O9evXP3r0CP1LTU1txIgRg3UgBoMRFhbW09MzWBEOooyMjKdPWWuWLVFR0fHjx3//FAEAAAAAgEEGM8AADEBXd3dsXELKjRv+vj76enR8+5gxKiuWLaVQ+MaMUens7IyIPNfa1rbJ24uP72u6WHt7+5w5c7Zv33716tXGxkYajbZlyxZFRUUMw2pra0NCQkpLS5lM5qRJk1avXk2lUhsbGxcuXBgZGSkrK4thWHJyclpaWmhoKKfw/Y84fPhwNMqVlZU1MjIKDw8/fvx4dHS0gIDAqlWr7OzsHBwcMAx79uzZuXPnKioqaDTa3Llz586di2HYo0ePQkNDXV1dk5OTGxoaVFVVt27dSqPRenp6QkNDMzMzOzo6FBQUli9frqmpOW/ePCaT6eTktHLlSnt7+y8mLz09/fjx48Qthw8f1tLSWrZsmaOjo62tLYZh5eXlnp6ely9fFhISIoZkMBhnz57Nzc1taWlRV1ffuHGjjIwMhmFr166dPHlyUVFRVVVVZ2fn8uXLJ02adOHChUuXLpFIpIcPH44fP15UVNTT0xPDsIsXL0ZFRSUkJIiJifX19c2fP9/f37+tre3YsWOJiYkYhlVVVZ06daqkpERMTMzR0XHmzJnENDCZTH9/fyEhoW3btnV1dbFND45TSRLD3L9/Pzw8PDY2Fr0NCgqSkpLy9PTksu8ff/xx8eLFtra2yZMn9/Wx+YLmwIEDGRkZ+FsymZyamsqlUeHWr19vYGCwePFi9DYqKqqgoOD48eOcSn7NmjVWVla3bt1SVFTcsGEDhmFlZWX79++vqakZO3bspk2bUDBOrSI5OfnKlSuNjY0SEhJz585FbbKgoCA8PLyyslJQUHDixImenp5occH169f/+OOPjx8/SktLr1q1Sl9fH8OwM2fOtLa2tra2lpaWJiQksG0JnPslAAAAAP4LYAYYgAEQ4Od3X+y6xM0VjX4fZGbNnjv/xMnTGIZpjhunrjYWzQ9fTLx8IzXt6bO/vu4oaNiclpa2d+/eqKgoBQWF8+fPYxjW29sbEBAgIyMTExMTFRXV0NBw6tQpLvEMNDxu/vz5nz59KiwsJG6sra3dsWPHrFmzrl69um/fvuvXr9++fRultrGx8d27d8HBwZGRkZWVlbdu3ULpLy4uDg0NvXr16vTp0/fv308mk48dO4ZhWEJCgr29PS/JmzZt2o3/5eTkpKysPHbsWB6L8cyZMxUVFSdOnEhMTNTU1PT19e3t7cUwjEKhJCcne3p6nj171snJKTg4uK+vz9XV1cTEZPbs2dHR0XQ6vbi4GEVSWFgoLy+P3lZUVDAYDE1NTWIJ79ixQ0FBITo6evPmzb///vuTJ0+IaQgNDWUwGJs3byaRSJzSg+NUkrzgtO/bt29PnTq1Zs2aixcvqqmp4RP7RJs3b0YlnJKSoq2tbWNjw+NBLSwssrOz8bdZWVlWVlZcSp6Pjy8tLW3NmjXe3t5ol5SUlG3btkVHR1Op1P3793NptBUVFeHh4du3b09KSvL19T137tzbt28xDNu7d6+dnd3Vq1dPnTr18uXLtLQ09DVBfHy8j4/P9evXPTw8AgMDq6urUQLy8/PpdHpYWBinlsBj3gEAAADwLwUDYAAGbLqdLXpx+87dhsbG5D9uMJlMtKWruzvxylUMw8RERceqqn7LUezt7dHEl66u7rt37zAMKykpqaqq8vDwoFKpoqKiixYtysjI6O7u5hTDQMPjREVFxcTEamtriRvv3r07ZsyYKVOmkMlkRUXFmTNn4sOz7u7u+fPnYxhGpVLV1dUrKysxDGtra+Pj4xs+fDgfH5+dnV1sbCyFQhlo8kgkEoVCoVAoBQUFycnJfn5+bGew++vu7r59+7aLi4ukpKSAgICbm9v/Y+++w6K49v+Bz+7CLqxSBA2KCtiAIGVRioRgQw3YwCg2BBVjRUMwFgREY1csEWkiETWgXEWvYkGNXk1UEAsERBSTGBCp0qQvW/j9cb53fnsXdl0QQwzv15PHsMOZM5855wzPfvacma2oqMjKyiK/tbOz09HRoSiKx+PV1NRUVVVJ7svj8f7444/GxkaxWJyTk+Pk5EQ+C8jKyho6dKjk3cs5OTkFBQXz58/X0NAwNTUNDAyUvF/6woUL6enpmzdvZrPZ8uORDLtlSyqo1X3v3btnZGQ0YsQIZWXlL774gkznSmEymaSR4+LiamtrV6xYoeARR44cmZeXR3LLvLy8goKCkSNHyj9TMzMzHo/XrVs38nLy5Ml6enoaGhozZ858/vx5dXW1rFFRV1fHYDDU1dWZTKaxsXFCQsKAAQNEIlFDQ4OamhqLxerVq1dISAiZFk5KSnJ2dh48eDCTyRwxYoSFhcXNmzfJEVVVVV1cXDQ1NclL+SMBAAAA/nmwBBqgzUgidznp6s+/3HGZOjn1wcPvtu3YtDGAam7euOm7337/I/pwuJGh4XseRVtbm/ygrKzc1NREUVRhYaFIJHJxcZEsVl5ezmazW61BVnmplbetEovFUvlqUVFRdnY2WXVM9OrVi/zA4XDo5cdsNpvP55PJ219++cXd3X3YsGF2dnYjR45sd3hlZWW7d+9etWpVv3793hk5UVFRIRAINmzYILmxuLjY3Nxcsm1J05Hmpeno6PTq1SsnJ0dVVVVXV3fYsGH79+8nCbClpaXUKairq9OrlK2srOhfpaWlPXjwICgoSF1d/Z3x0FptSQW1um9ZWRlJ8Ag5Dfjo0aPExMSQkBBZw6mlTz75xMjIKCUlZfr06ffu3TM3N9fS0iopKZFzpn369JHcTsdDgiwvL5c1KoyNje3t7b28vMzMzGxtbR0dHUne6+XlFRwcfPr0aSsrq/Hjx/ft25eM1YyMjPj4eLoGDQ0N8oNUAPJHAgAAAPzzIAEGaI/ES5eD9x3wW7dmkrNTYVHR8pVfr/pmdbNY/Pp1QXjI9wYG+u9/CAaDIbWFZDgJCQlS2ysqKiRf0ss4ZZV/p+Li4urqaqlkicPhfPbZZ0FBQQpW0qNHj7CwsKdPn6ampv7www+JiYn79u1T5HSkiESinTt3fv7552PGjGm1QKvLVkk+ExERMaC1h3K3bFspZBU0h8MxNTXV19cvLi5uaGjIysoitz1L1iNr0ezTp09tbW2PHz8+fPhwZWVl+fF8OFIz6rISvLKysj179nz99deyMmRZp0lWQZMEePLkye9seam74qWSbWVlZTmjYv369XPmzElNTb1x48apU6dCQkJ0dHRcXV1HjRqVmpqakpKydOnSgIAAOzs7Npu9bNkyV1fXdwbwzpEAAAAA/zBYAg3QNi///DP25KngfQdWeS8na6F1+/T55utVT55kZT3NXr/22w7Jflulq6tbW1v75s0b8rKxsfHt27ctJ69KS0vll3+no0eP6ujofPrpp1JHl/zW1srKSvnTZQ0NDXw+39TUdNGiRWFhYc+fP3/58qUipyMlJiamsbGRPJKKRs+KS56vpB49eqiqqkoesaSk5F3n/f/xeLzs7OzMzExTU1Mmkzl48OCff/6Zz+fT3w5F9OnTp7q6mg77zp076enp5Gd3d3c/Pz+BQHDixIn3j4fGZrMlm/2dlZApWfol+b4rKSKRaMeOHQ4ODuQOXvpArQ4qKaNGjXr27NmLFy/y8vI+//zztp5pQUGBZBltbW1Zo0IoFFZXV+vp6bm5uYWEhGhpad27d6+5ubmysrJHjx5OTk7ffffdxIkTr127RoYWuUOYDl7qdmsAAADospAAA7TByz//nO+1+PCRH+bMmjlzxv+fDBxhY23yqbHV8GE21lZyK3gvQ4YMMTQ0DA8Pr66urqurCw0N3b59O0VR3bt3V1dXz8zMJO/16ecSySrfUl1dXVlZWUlJSXp6elBQUEpKyrfffiu1BNrR0bG8vDw+Pp7P55eUlAQGBpLHIMty4MCBffv2vX37ViwWZ2Vlkbs0yR28r1+/bmxsVCS81NTUK1eu+Pn5MZlMkUgkEolIJtO3b19yvk1NTeS5Ry1NmjQpLi4uPz9fKBRevHhxxYoV9fX1cgJms9nFxcW1tbXNzc0WFha//fbbs2fPyCOvTExMzp07Z25uzmT+z99MY2NjPT29qKio8vLyrKysAwcO0HeDM5lMDoezdu3af//73+QO2LbG06q+ffvW1NSQ7O7x48etJrSSrK2tc3JykpOTGxoaLl68KLVYgDh69GhDQ8PixYtF/9Xc3CxrUEnp2bOnkZFRVFTUsGHD1NTUyEbFz5Q8s7q+vv7s2bPDhw9XVVWVNSquXbu2evXq169fi8Xi/Pz8ysrKPn365OfnL1iwIC0tTSQSVVVV5ebmkvXzkydPvnXr1sOHD0UiUVZW1vLly1vebg0AAABdE5ZAA7SBUCgiyyYnOn0huV1VVfVwuEIPWH5P/v7+YWFhHh4ebDabx+P5+fmR7atWrYqOjk5MTNTV1XVxcbly5Yr88lJOnTp16tQpiqLU1NTMzMwOHjw4cOBAqTKampqbN2+Ojo6Oi4tTV1cfO3bs7Nmz5YTq7e198ODBhQsXCoXC/v37BwYGamhoqKmpWVpa+vr6enh4zJo1653hXb9+vb6+fvHixfQWd3d3Dw8PDw+PPXv2zJ8/X0tLa+bMmffv36czT5qHh0dDQ8Pq1auFQuHAgQO3b98u9ZVCUhwdHXft2rVw4cKTJ09qaWlpaGg0NzeTe0eHDh0aFxdHHrAkicFgbN26de/evQsWLNDS0lqwYIHkbcAURRkZGc2YMSM4OJh8R1Gb4mmVvr7+rFmzAgIC1NTULCwsRo8eLf9Llc3NzZcsWRIeHl5XV+fo6Dhq1KiWc6HXr1+vqamRXDC8Z88ec3NzWYNKyqhRoyIjI9euXUtvUeRMSX9NnTrV39+/uLjY0NCQrqHVUeHs7FxUVLR27dqamhptbe1p06bZ2dmRL7UKCwsrLS3lcrm2traenp4URdnY2Hh5eR06dKiyspJ8DZLUvdYAAADQZTGWLFnS2TEAtEezBLFYTP4ly00/qN9+/53JYA4aJJ0fAgAAAPwjeXp6MplMBoNB/qV1dspzR10AACAASURBVFwA7YEZYIC2ec8vNwIAAAAAgM6Ce4ABAAAAAACgS0ACDAAAAAAAAF0CEmAAAAAAAADoEpAAAwAAAAAAQJeABBgAAAAAAAC6BCTAAAAAAAAA0CUgAQYAAAAAAIAuAQkwAAAAAAAAdAlIgAEAAAAAAKBLQAIMAAAAAAAAXQISYAAAAAAAAOgSkAADAAAAAABAl4AEGAAAAAAAALoEJMAAAAAAAADQJSABBgAAAAAAgC4BCTAAAAAAAAB0CUiAAQAAAAAAoEtAAgwAAAAAAABdAhJgAAAAAAAA6BKQAAP8w9XW1jo5OeXm5nZ2IB9KZGTk1q1bKYpKTk52c3OTXzgjI2PevHnz58//q6J7t6tXr3711VdSGyV77YcffggKCvorQ5LVkv/4sQQAAAD/eEiAAd7Xqm9Wr/pmdQdWuHLlysOHD9Mvi4qKnJycrl+/Tm+5e/fupEmT6uvrO/Cg/wBDhw7dvHmz/DJnz541MzOLiIj4q4JqJ1VV1T179vTu3bsD6zxy5Ii3t7fklnnz5gUHB9Mv37596+Tk9OjRI0VaEgAAAOBjhAQY4H39mpH5a0ZmB1ZobW2dlpZGv0xLS1NRUZHckp6ePnToUC6X24EH/QfQ0NAYOnSo/DJ1dXUGBgZ//6ZjsVjm5uYqKiodWKeVldUff/zx9u1b8vL169e1tbXp6el0gV9//ZXNZpubmyvSkgAAAAAfIyTAAH871tbWeXl55eXl5GVaWpqjo2N6enpzczO9xdramqIoPp9/6NChefPmubi4rFu3rri4mBTw9vY+c+bM4sWLt23bRrb8/vvvy5Ytc3FxWbNmDSlWUVHh5ORUWFhICiQmJi5fvpyiqPr6eicnp3v37n377bcLFy709vbOy8sjZbKzs728vKZOnRoUFHT58mUvL6+Wwefk5Hz77beurq6zZs36/vvvBQKBnGORn+fPnz9lypT58+cnJiZSFFVYWOj0v06ePElRVEhIyO7du+kDubm5JScnSx5acuFucXFxUFCQm5vbl19+eeDAAT6fT1HUmjVrsrOzf/zxxwULFsgqQ07/+vXrM2fOTExMlNMatPa15PLly11cXDZs2FBZWdmyGaUWG7NYrLi4ODc3N1dX1x9++KHVXpY1GGimpqaSn6SkpaXZ2NgIBAI6qrS0NAsLCzabTbekVGtI1lZeXj537tzExMQPMZBkjYGvvvrq6tWrpExubq6Tk1Ntba3UvlFRUcHBwYcOHVqyZMncuXPv3Llz/vz5lStXzpkzJz4+npSR1VYZGRkrV650cXGZNWvWoUOHyOgtLS0NDAz88ssvv/zyy8DAwDdv3pDC6enpPj4+rq6uc+fOPXv2LNl4//79+fPn37hx4+uvv3Z3d9+0aRNWagAAAPytIAEGaI+Nm7c4jBl36/bPH6JyY2Pj7t27P378mKIosVicmZk5adIksVj8559/UhRVUlJSVFREEuDDhw/n5eUdPHjwzJkzJiYmGzZsEIvFFEUpKSklJSV5e3v7+vqSOi9evOjv73/ixAkOh7Nr1y45R1dSUqIoKikpaceOHTExMXp6esePH6coSiAQbNq0yd7e/vTp087OznFxcUym9B+Q5ubmLVu2mJiYnD59+uDBgxkZGRcuXJBzrLy8vCNHjmzcuPHChQsbNmw4duzYn3/+qaure/m/tm3bxuVyR44c2aYGFIvFQUFBvXv3jo2NjYmJKS8vDw0NpShq7969n376qYeHx7Fjx2SVIad/+/bt/fv3T5gwQVZrKELWvkKhcOvWrdbW1mfOnJk/f/7ly5ffWVV2djabzT5+/Li/v/+ZM2fISJDqZVmDgaasrMzj8ci4otcRmJqa0pPA6enpZFxJnQLdGvR2Pp+/efPmMWPGTJ06ta2nr8hAep8xwGKx7t69O3bs2KioKGdnZ/LRRmhoaEBAwIkTJ6qrq+W01Y4dO5ydnc+dOxcaGpqTk5OUlESWjmtqap48eTI2NlZbWzsyMpJ8erJ582YXF5dz587t3Lnz/PnzP/30EznrioqKV69ehYSEHD16ND8/X/LmBQAAAOh0SIAB/naYTOawYcPITN1vv/3GZDIHDBhgbm5OtqSlpfXs2dPAwEAgEPz000/u7u7a2tpsNtvT07OioiIrK4tUYmZmxuPxunXrRl5OnjxZT09PQ0Nj5syZz58/J2mAHBMnTuRwOBRFWVhYvHr1iqKop0+f1tXVzZkzR0VFxc7OjsfjtdyLwWCEh4d7enqy2ezevXtbWVm9ePFCzlHq6uoYDIa6ujqTyTQ2Nk5ISBgwYADJYVgsVlVVVXBw8KpVq/r169emBszOzi4oKFi0aBGHw9HQ0Jg3b96tW7fIbJ6CZRwdHfv160evQG7ZGopruW92dvbbt29nz57NZrONjY0///zzd1aipqbm5ubG5XJtbGy0tLToqVS6l+UPBpqVlRUZRSKRKCMjg8fjWVpaki0FBQWlpaVWVlYtjy7VGs3NzcHBwTo6Oi2f3aXI6SsykN5zDOjp6ZEl3J9++ml9ff3kyZMpijIxMRGLxcXFxbLaSiQSNTQ0qKmpsVisXr16hYSEkPS+trZWVVVVRUWFy+X6+Phs3LiRoqibN28OGjRo7NixTCZTX19/ypQpdKIrEAhmzpxJURSHwzEyMsrPz1c8cgAAAPjQlDo7AICPEoPBIP+T3FhVVfVnbl4PTU0DA/33rN/KyuqHH35obm5OT0+3tLRkMBiWlpbJyckzZsxIT08nWUpFRYVAINiwYYPkjsXFxebm5hRF9enTR3I7nT/o6OiQ9asaGhpyAtDW1iY/KCsrNzU1kV00NTXpu2cHDx7canL7/Pnz+Pj4wsJCBoPR0NAwbNgwOUcxNja2t7f38vIyMzOztbV1dHRUU1MjvxKLxTt37rS3tx8zZoxibfb/FRYWikQiFxcXyY3l5eWSz5SSVUZLS4vMQMpvDcW13LesrExNTY1uyf79+z969Eh+JZK9yeFw6Bjo7fIHA83a2jo0NDQvL6+urk5FRUVfX5/BYBw9elQoFKanp+vq6kqdOCG18ccff3zw4MHJkycZ/zv+FTx9BQfS+4wB+qBsNltJSYl8DMRkMplMZlNTk5y28vLyCg4OPn36tJWV1fjx4/v27UtRlLu7+9atWx88eGBlZTVq1CjSpEVFRdnZ2U5OTnQNvXr1Ij9wOJzu3bvTAZCl9QAAAPA3gQQYoD3+73bc/96US6Sl/7ppy7Yxo0Zu2fy+X1pjZWW1f//+ly9fkhuAKYri8XhRUVFNTU2//vqrj48PeW9NUVRERASZNZVCFqDSSGGasrJy62f0Xy1zm+bmZsk6Wy5bJUuat2zZ4uPj4+joyGKxIiMjS0pKWhajj8VkMtevXz9nzpzU1NQbN26cOnUqJCSEpOgxMTH19fXLli2T3UgykQwkISGhHWVIksZisSQ3KpLp0d7ZkgKBQHKjIgmSrADoHpE/GGg6Ojr9+vVLS0urq6uztLQkk6VcLvf58+dpaWmtTv+2bI2SkhJ9ff3jx4+vWrWqZeEOGUiE/DEgdSBZB20ZgJy2cnV1HTVqVGpqakpKytKlSwMCAuzs7ExNTU+cOPHo0aPU1NSgoKApU6aQhQOfffbZX/z1VAAAAPD+sAQa4O9IS0tr0KBB6enpz58/J4lKv3791NXVr127VltbS7b06NFDVVX15cuX9F6tZptEQUGBZBmy+JPO98iTfuSHpKmpWVlZSWdrksel5eTkqKmpTZgwgaRMOTk5ZLusYwmFwurqaj09PTc3t5CQEC0trXv37lEU9eDBg8uXLwcGBkrm7Ww2m66hvr6+pqZGVqi6urq1tbX0w4oaGxvpRx+3qYyC2tqS2tra1dXVDQ0N5OXr16/bd1xJig8Ga2vrzMzMrKwsMorIZyuZmZlPnjyRugFYlm+//XbdunXXr19/+PBhO05fkYEkawxIzsC/80CyyGqr5ubmysrKHj16ODk5fffddxMnTrx27RpFUZWVlWw2297efvXq1WvXriX3bOvq6kp+H3JlZWVblwYAAABAp0ACDPA3ZW1tffny5Z49e37yySdkC4/HO3/+vOQXIE2aNCkuLi4/P18oFF68eHHFihWyHjmbmJhYXl5eX19/9uzZ4cOHq6qqdu/eXV1dPTMzk+QSUk9UbsnU1JTJZCYkJAgEgkePHkl+fQ6td+/eNTU1eXl59fX1sbGxfD6/oqKCoihZx7p27drq1atfv34tFovz8/MrKyv79Onz5s0bctunjo6OSCQSiUTkAUW6urq//fZbY2MjRVFnzpxpOYlNGzJkiKGhYXh4eHV1dV1dXWho6Pbt29tRRkFtbUkTExMVFZWTJ0/W19dnZmaSNPL9KTgYrK2ts7Ozc3JyJBPgmzdvNjY2Sq2XloXc9bpgwYIDBw5UV1d/iIEkawz07duXHKipqYk8oap9Wm2r/Pz8BQsWpKWliUSiqqqq3Nzc3r17i8XilStXJiQk8Pl8Pp//7NkzspDe0dGxvLw8Pj6ez+eXlJQEBgaeOXOm3fEAAADAXwZLoAHaY+AAg6qqqh49NCmK4ln8X9rQo0cPnoX5gAEGHXIIKyur+Pj4SZMm0VssLS1v3Lgh+TBeDw+PhoaG1atXC4XCgQMHbt++veU33IpEIoqipk6d6u/vX1xcbGhouHbtWvKrVatWRUdHJyYm6urquri4XLlyRU48Kioqfn5+0dHRCQkJNjY2M2bMuHTpklQZc3NzJycnX19fFRWVqVOnrlmzxs/Pb9OmTd99912rx3J2di4qKlq7dm1NTY22tva0adPs7OwSExNramp2795Nf+mRmZlZcHDw+PHjHz9+7OXl1aNHjylTpujo6AiFQlnR+vv7h4WFeXh4sNlsHo/n5+fXvjIKalNLcrncoKCg8PDw8+fPm5qazpgxQ/6zshWkyGAgjdnY2PjJJ5/QN8paWlru379/+PDh5GlVCpo2bVpKSsqhQ4cCAgI6fCClpKS0OgY8PDz27Nkzf/58LS2tmTNn3r9/nwzvtmq1rfT09FauXBkWFlZaWsrlcm1tbT09PZlMZlBQUERERGxsLIvFMjY2JuNEU1Nz8+bN0dHRcXFx6urqY8eOnT17djsiAQAAgL8YY8mSJZ0dA0B7NEsQi8Xk3xMnTnR2XP9kAoGAyWSS5c1xcXFZWVk7d+7s7KDg44OBBADwcSEfCDIYDPIvrbPjAmgPLIEGAIWIRKL58+cfP36cz+fn5uZevXpVwVtGASRhIAEAAEAnwhJoAFAIi8UKDAw8fPjw+fPn1dXVR48ePWXKlM4OCj4+GEgAAADQiZAAA4CiTExMDh482NlRwEcPAwkAAAA6C5ZAAwAAAAAAQJeABBgAAAAAAAC6BCTAAAAAAAAA0CUgAQYAAAAAAIAuAQkwAAAAAAAAdAlIgAEAAAAAAKBLQAIMAAAAAAAAXQISYAAAAAAAAOgSkAADAAAAAABAl4AEGAAAAAAAALoEJMAAAAAAAADQJSABBgAAAAAAgC4BCTAAAAAAAAB0CUiAAQAAAAAAoEtAAgwAAAAAAABdAhJgAAAAAAAA6BKQAAMAAAAAAECXgAQY4L2c+tdpsVjcsXXW1tY6OTnl5uZ2bLXy/fDDD0FBQYqXf/TokYuLy4eM6B2WL1+emJj4IWpOTk52c3PrrI74SEVGRm7dulWy9WT5cB2nuLaOdvrsPmr/jLMAAAB4T0qdHQDAR6y+vj766LE+fXqPHjmyA6tVVVXds2dP7969O7DOjuLi4uLr6zt69Oi/4FgVFRVz585tuT0kJMTQ0NDX11dLS6sd1V68eNHJyUlZWbkjYgRpQ4cO3bx5s5wCbe24vLy8srKy4cOHK1j+xYsXX3/99cmTJ9s3PN7pwYMHurq6/fr1+xCVf1BTp04VCASdHQUAAEAnQwIM0H6Jly43NTWdPnO2YxNgFotlbm7egRV+1IKCggwMDCS39OrVi6IoQ0PDdtTG5/MjIyPHjRuHBPgD0dDQ0NDQkFOgrR1369YtgUCgeAL8ocXHx8+aNetjTIB1dXU7OwQAAIDOhwQYoJ3eVlfHn06gKOpJ1tNHj9Oshg/rqJpra2tnzJgRGRlpYGDA5/OjoqJSU1NramqMjIxWr17dcmY4KiqqurpaXV09PT397du348aN8/LyoiiqsrIyLCwsMzNTIBCYmJh8/fXXOjo6FEU1NDRERkbeu3ePxWJ9/vnny5YtI9kgi8WKi4s7f/68QCCYMmXKokWL5MfJYrFSUlIOHz5cVlY2bNgwPz8/LpebkpISFRXl7OwcGxt78ODBAQMGnD9//tKlS6WlpTo6OsuXLx82bJicmFvq2bNnq2/cly9f7uzsPHXqVFlVlZaWhoSEZGdnUxRlYmLi4+Ojqanp5uYmEolmz569dOnSiRMnpqenHzt2LC8vj8vlTp8+ffr06bJO9quvvpoxY4aTkxNFUbm5ucuWLUtISOjevfvKlSvHjBmTlZVVUFDQ2Ni4ePFiBwcHMn29a9euZ8+e9evX76uvvgoICIiLi9PW1pbVobLqkRQWFlZbW6uiovLkyZPq6mo3Nzey2FhWnd7e3qNHj75+/bq+vn5gYGBGRsaRI0fy8/NVVFQk+/3ixYsXLlwoKyvr06fPjBkzHB0d5XSQWCyOiYm5detWdXV13759ly5dyuPxJINMTk4+cODAmTNnKIpKTEw8e/ZsRUWFlpbW9OnTp06dKtlxFEW1OjYOHz5cW1tbW1v77NmzSZMmnT59msFg3Llz58SJE7J2kUXOMGt1tL/z7NatW5ednb1t2zYHB4d169YVFxeHh4c/e/ZMJBI5ODisWLGCw+FIxZCTkxMVFfXHH39wOBw7Oztvb29lZeX6+vovv/xy48aN586dq6io4HK569at09fXv3r16vfffy+5+969e01NTVsdftXV1VJXjaenJ1k00WorRUZGvnnzZuPGjRRFXbp06ccffxQIBM7Ozo2NjSKR6JtvvqEoqtUr4v79+xERER4eHomJieXl5YMHD16/fj2Xy5XT8gAAAH9buAcYoM2eZD3dumPntBmzysvLyRbfNeuWr/z62k83mjp6heHhw4fz8vIOHjx45swZExOTDRs2tLzlmMVi3blzx8LCIiIiYteuXWfOnPnzzz/J+92ampro6OjY2FgVFZWwsDBSnmRBYWFhBw8ezM7Ojo2NJduzs7PZbPbx48f9/f3pSuQQiUT37t07ePBgRETE77//fv36dYqilJWV3759W1RUdPTo0f79+9++ffvUqVN+fn7nz59ftGjRpk2bCgsL5cTcDrKqOnLkiKam5smTJ2NjY7W1tSMjI5WVlQ8cOEAm8SZOnFhcXLx582YXF5dz587t3Lnz/PnzP/30UzuOnpiYuGzZsqioqNmzZ4eEhDQ3N1MURdKYuLg4Pz+/mJgYiqIYDIacDpVVj9Sx7t69a2dnFx0dvXfv3h9//DEzM1NOnUpKSklJSd7e3r6+vhRF7dixw9nZ+dy5c6GhoTk5OUlJSRRF3blz59ixY76+vgkJCXPmzNm7d++LFy/ktGpSUtL169d37dqVkJAwduzY7du3y1pVm5eXd+TIkY0bN164cGHDhg3Hjh2T6mJZY0NJSenhw4c8Hi8yMtLDw8PW1tbV1ZVkv7J2aevYkDXa33l2e/bs4XK5gYGB69atE4vFQUFBvXv3jo2NjYmJKS8vDw0NlQqgubl5y5YtJiYmp0+fPnjwYEZGxoULF8g5ksPt2LEjJiZGT0/v+PHjFEV98cUXl/9r9uzZAwYMGDJkiKyz09XVpQtv27aNy+WOHDlSkVb67bffQkNDyUJxDofzyy+/MJlMiqJkXRFKSkoVFRWvXr0KCQk5evRofn4+udgBAAA+RkiAAdrmxW+/B+8/cP2nm1LvjLOeZh8MCU26eq0DjyUQCH766Sd3d3dtbW02m+3p6VlRUZGVldWypK6urq2tLUVRenp6Wlpar169oijKx8dn06ZN6urq3bp1Gz16NElshELhf/7zn9mzZ+vo6PTu3XvNmjX0cms1NTU3Nzcul2tjY6OlpZWXlyc/PD6f7+XlpaGh0b9/f3Nzc3JQcmu0u7t7z549SQLm7Ow8ePBgJpM5YsQICwuLmzdvyom5pTVr1rhIWLNmjYKnX1tbq6qqqqKiwuVyfXx8yMSXpJs3bw4aNGjs2LFMJlNfX3/KlCnte1tvZ2dHptZ5PF5NTU1VVZVAIHj06JGbm5u6urq+vv7kyZNJSfkd2rKeVs/UxsaGnKmZmVlycrL8Os3MzHg8Xrdu3UQiUUNDg5qaGovF6tWrV0hICJmDvXbt2vjx44cOHaqkpDRy5EhjY+Pk5GQ5rTp+/PioqKh+/fqx2ewJEybU1NQUFxe32ix1dXUMBkNdXZ3JZBobGyckJAwYMECygJyxoaqq6uLioqmpKVWnnF1kkTXMWh3tip8dSaELCgoWLVrE4XA0NDTmzZtHVmtLlmEwGOHh4Z6enmw2u3fv3lZWVuQyJCZOnEhmjC0sLEhgDAaDxWKxWKyMjIzExMSAgICWU8qSSOGqqqrg4OBVq1aRhdnvbKWUlBQjIyN7e3sVFZV58+apqqqS7XKuCIFAMHPmTIqiOByOkZFRfn6+/GYHAAD428ISaIC2MRwy+MTR6PupD46diH2anU02amtrz5s7e8qkiUrKyiKxmMXsmI+WKioqBALBhg0bJDcWFxe3vEO4Z8+e9M9sNpvP51MUVVZWdvTo0RcvXohEIqFQSGYUq6qqGhsb+/TpQwoPGjSI3pHeSN7mNjU1yQ+Pw+HQzxmSLK+kpETHU1RUlJGRER8fT+9F3yDaaswt+fn5Sd4DzGazW5ZptSp3d/etW7c+ePDAyspq1KhRLRutqKgoOzubLCslyN3FbaWtrS0ZW1NTU1VVlVgspttz8ODB5Af5HdqynpbHkuwjbW3tiooK+XXS5VkslpeXV3Bw8OnTp62srMaPH9+3b1/SCJ999hm9Y//+/UtKSsjPrbaqUCg8fvz4o0eP6P6SNU6MjY3t7e29vLzMzMxsbW0dHR3V1NQkC8gZG5KnqeAussgaZq2OdsXPjqKowsJCkUgk9Sz08vJyqZsUnj9/Hh8fX1hYyGAwGhoaJNds0z2urKwseaCysrLdu3fTCa18YrF4586d9vb2Y8aMIVve2UpkuTv5mclkDhw4kN5R1hXB4XC6d+9OfpZztQIAAPz9IQEGaI8RtjYjbG2Weq/Kzn7GYDCORIb16tmToqhrP91gMhjjxzl2yFFIIhQRESE1ddYSWV4rSSQSBQQE2NjYREdHk1tzg4OD6d+2+tVNLStpHxaLRf/MZrOXLVvm6ura7sPJugf4nVWZmpqeOHHi0aNHqampQUFBLe9q5nA4n332WZu+DoeQWpzc8uikAP2cLeZ/PxCR36GKNIhQKKR/FolE76yTLLUlXF1dR40alZqampKSsnTp0oCAADs7u5a70JlYq/GEhIQUFRXt37+/Z8+edXV1cu6aZjKZ69evnzNnTmpq6o0bN06dOhUSEkKmuAk5Y0MybElydpFFVqu+59nROWFCQoKcMnl5eVu2bPHx8XF0dGSxWJGRkfTnC7JiEIlEO3fu/Pzzz+mEVorU8IuJiamvr1+2bBm9RZFWkmxhOox2XxEAAAAfESyBBmi/WTOmUxQ1etRIkv0+ycqKOX4i5viPT7Kedkj9PXr0UFVVffnyJb1F8t2zfGVlZW/evHF1dSXPqnn+/DnZrqWlxeFw6BWMOTk5V69e7ZBoW6Wrqyt552dpaWmHf22yLJWVlWw2297efvXq1WvXrr18+XLL2CS/47eyslLOdJ/kHF1paan8Q5MJt6KiIvKS7sH36VBC8mbOkpKSXr16KVhnc3NzZWVljx49nJycvvvuu4kTJ167do1MhEo2Qn5+vvyPG7KzsydMmECmVelB1SqhUFhdXa2np+fm5hYSEqKlpXXv3j3JAu0YGx96OCl+diSY2traN2/ekJeNjY1v376VKpOTk6OmpjZhwgTyqVBOTs47Y4iJiWlsbJRMaOUMvwcPHly+fDkwMFByZcQ7W0lDQ4Ne2t3c3EwPgDZdEQAAAB8pJMAA7Tdq1MhevXq6z5lNUdSz5znfbdtRUFCY//r1th27ciTu9HsfkyZNiouLy8/PFwqFFy9eXLFiRX19vSI7ampqKisrP336VCgU3rt378mTJ42NjfX19Uwmc9y4caTOwsLCQ4cOFRQUdEiorZo8efKtW7cePnwoEomysrKWL1/e6j3MclRUVJT8r7q6unfuJRaLV65cmZCQwOfz+Xz+s2fPyMJUckfl69evGxsbHR0dy8vL4+Pj+Xx+SUlJYGAgeXZxq/r27UueONXU1EQeHyUHh8MxMzM7e/ZsfX19QUHBlStX6F+1u0OJqqqqK1euCIXCR48eZWdnkylcRerMz89fsGBBWlqaSCSqqqrKzc0lDeLs7Hzz5s2cnByhUHjr1q2cnBzyFGhZdHR0srOzxWLx77//funSJRaLRT8KTsq1a9dWr179+vVrsVicn59fWVkptbBZwbHBZrOLi4tra2ubm5vffzjJp8jZcTicgoKC+vr6IUOGGBoahoeHV1dX19XVhYaGbt++Xapw7969a2pq8vLy6uvrY2Nj+Xx+RUWFnABSU1OvXLni5+fHZDJFIpFIJCK5a6vD782bN+TWXx0dHcnC72wla2vrp0+fpqWlCQSC+Ph4erS06YoAAAD4SGEJNED7sZjMoIANRoZDKIr61NgoPvbEmvUbGAxG8K4dstZwtpWHh0dDQ8Pq1auFQuHAgQO3b9+u4LePcDicVatWxcTEREVF2drabtq0af369QsWLIiLi1u6dGlYWNjXX3+trKzs4ODg4eHRIaG2ysbGxsvL69ChQ5WVleQbWdr6FcebN2+W2kJ/14scTCYzKCgoIiIiNjaWxWIZGxv7+fmROS5LS0tfX18PD49ZVsQ1qgAAIABJREFUs2Zt3rw5Ojo6Li5OXV197Nixs2fPllWhh4fHnj175s+fr6WlNXPmzPv375MVyLL4+Pjs27dv7ty5AwYMcHd3DwwMJAuh292hhKWlZW5u7qxZsxgMxqJFi0xNTRWsU09Pb+XKlWFhYaWlpVwu19bW1tPTk6Ioe3v7169f7969u7Kysl+/ftu3b5f61mUpX3311b59+6ZNmzZo0KBvv/1WTU1t+/btO3bsaFnS2dm5qKho7dq1NTU12tra06ZNk1pxreDYcHR03LVr18KFC0+ePPn+w0k+Rc5u4sSJMTEx6enpW7du9ff3DwsL8/DwYLPZPB6PjDFJ5ubmTk5Ovr6+KioqU6dOXbNmjZ+f36ZNmwICAloN4Pr16/X19YsXL6a3uLu7e3h4tDr8UlJSampqdu/evXv3blLYzMwsODj4na1kbm7u7u6+d+9ecg+zlZUVWQWtqamp+BUBAADwkWIsWbKks2MAaI9mCWKxmPxLviulE/2akamsrDTUxOR9KiHfA3z48GF9ff2OCw3+UmKxWCgUkoWpWVlZfn5+iYmJzPd7Oprk97gCvA8+n08/X3r9+vU8Hm/OnDmdHRQA/H15enoymUwGg0H+pXV2XADtgSXQAB2JZ2H+ntmvWCwm93PSz1yFj9GOHTs2bdr09u3bysrKU6dOWVlZvWf2C9BRcnNzXV1dU1JSmpqa7t+//+TJE2tr684OCgAA4C+CJdAAfy93797dvXu3o6Mj/RUp8DFasWLFoUOHFi5cyGKxzM3Nvb29OzsigP9jYGDwzTffHDlyZMeOHTo6Or6+vvQ3dQEAAPzjYQk0fKz+nkugAQAAAP5hsAQa/kmwJA8AAAAAAAC6BCTAAAAAAAAA0CUgAQYAAAAAAIAuAQkwAAAAAAAAdAlIgAEAAAAAAKBLQAIMAAAAAAAAXQISYAAAAAAAAOgSkAADAAAAAABAl4AEGAAAAAAAALoEJMAAAAAAAADQJSABBgAAAAAAgC4BCTAAAAAAAAB0CUiAAQAAAAAAoEtAAgwAAAAAAABdAhJgAAAAAAAA6BKQAAMAAAAAAECXgAQYAAAAAAAAugQkwABtIxaLn2Znp/+a0fK/XzMymwSCzg7ww6qtrXVycsrNzaUoavny5YmJibJKJicnu7m5/bXRvRf5p/NPFRkZuXXr1k4MQHJESWpqanJycnrx4sVffNxO8ejRIxcXl846+gdtCvrvwN+qwQEAoCtT6uwAAD4mFZWVS5Z7q6upd+vGbflbkUiU9yr/0Pf7Bg4Y0BnR/dV8fX21tLRk/Xbo0KGbN29uU4UPHjzQ1dXt16+fIoWPHDny66+/hoWF0VvmzZtnYWGxdu1a8vLt27ezZs3atm2blZVVm8LoUqZOnSr42D61IT3773//++eff75z58727dvbUYmqquqePXt69+79AQJUyIsXL77++uuTJ0/KuYg60O3bt3ft2iW1kcPhXLhwod1Nwefzb968OXHixI4LEwAA4INDAgzQBhmZT5qbqaNHImUVWO8feOv2L10kATY0NJTzWw0NDQ0NjTZVGB8fP2vWLAUTYCsrq7Nnz759+5Yc5fXr17W1tenp6XSBX3/9lc1mm5ubtymGrkZXV7ezQ2gzLpcbEBDA4XAsLS0VHC0tsVisrjY2OBxORESE5BYGg/E+TZGdnX3lyhUkwAAA8HFBAgzQBs1iMVtZmaIoxy+cm5oE3/r6NDc37/8+hPz25I/HlJSUxGLRex6FTHCtXbs2MTHxzZs3vXr18vf319HRoSiquLg4PDz82bNnIpHIwcFhxYoVHA6nvr7+yy+/XL16dXR09Lx58yZOnBgREXH37t2GhgY9Pb3FixdbWFhQFFVaWhoWFpadna2srGxqaurt7a2hoUH23bhx47lz5yoqKrhc7rp16/T19SmKysnJiYqK+uOPPzgcjp2dnbe3t7KysmScy5cvd3Z2njp1amlpaUhISHZ2NkVRJiYmPj4+vXr1Sk5OPnDgwJkzZxQM++7du9nZ2du2bXNwcFi3bl2ru0ge3dTUVEVFJS0tbcyYMRRFpaWl2djYpKen5+XlkfjT0tIsLCzYbDafz4+KikpNTa2pqTEyMlq9ejWZ7PL29h49evT169f19fUDAwMpiqqpqQkMDMzMzPzkk0+WLVtGpo6/+uqrGTNmODk5URSVm5u7bNmyhIQEJpMpq92ys7P37t1bVlbG4/FsbW3Pnj179OhRqS6urKwMCwvLzMwUCAQmJiZff/016d+VK1eOGTMmKyuroKCgsbFx8eLFDg4OhYWFXl5ekrt7enrOnTu31cCqq6tbLUxR1Pnz5y9dulRaWqqjo7N8+fJhw4aRJdBv3rzZuHEjRVGXLl368ccfBQKBs7NzY2OjSCT65ptvKIpKT08/duxYXl4el8udPn369OnTKYq6f/9+RESEh4dHYmJieXn54MGD169fz+W2sjKCJmdE/f7777t27SoqKhoyZMiaNWvo2cji4uKwsLA//vijb9++/v7+pIVfvnx5/vz5ffv2kXqMjIyUlZXljORWe6S2tnbGjBmRkZEGBgYVFRW7du169uxZv379vvrqq4CAgLi4OG1tbTry6OjoZ8+e7du3j7x8/Pjx5s2b4+Pju3XrdvHixQsXLpSVlfXp02fGjBmOjo4URUVFRVVXV6urq6enp799+3bcuHFSndISi8VKSUk5fPhwWVnZsGHD/Pz8uFzu4cOHa2tra2trnz17Fh8fL6sTFT9cq593SDaFrKoyMjKOHDmSn5+voqLy+eefL1u2LCsra+PGjSKRyMXF5dChQ3p6eq2Ok1a1OnS7d+/e6vinKEpWB8m6tGXVAwAAgHuAAdqGwWCQORMG4/+uHQd7+5AD+8h/n/TqRX77nlgsFkVR//nPf3bv3h0XF6enp7d3715y+3FQUFDv3r1jY2NjYmLKy8tDQ0MpilJSUiJLHPfv3z9hwoSkpKSnT59GREScO3du0qRJu3btEolEzc3NQUFB6urqx48fDw8Pr6io2L9/P71vUlLSjh07YmJi9PT0jh8/TlFUc3Pzli1bTExMTp8+ffDgwYyMjAsXLsgK+MiRI5qamidPnoyNjdXW1o6M/J8ZcgXD3rNnD5fLDQwMXLdunaxdJCkrK/N4vMePH5OX6enpQ4cONTU1pSeB09PTra2tKYo6fPhwXl7ewYMHz5w5Y2JismHDBrFYTAJISkry9vb29fUlu1y6dMnV1TU+Pn7UqFFbt26tqamRdcqy2k0gEGzatMne3v706dPOzs5xcXFMZit/ZiMjI2tqaqKjo2NjY1VUVOiF3CwWKzExcdmyZVFRUbNnzw4JCWlubtbV1b38X9u2beNyuSNHjpQVmKzCt2/fPnXqlJ+f3/nz5xctWrRp06bCwkLJHX/77bfQ0FCyKJfD4fzyyy8k8uLi4s2bN7u4uJw7d27nzp3nz5//6aefSAtUVFS8evUqJCTk6NGj+fn5169flxXVO0fUxYsX/f39T5w4weFwJFfqJiYmfvvtt2SdsPyR+T498v3331MUFRcX5+fnFxMTQ0+N0kaOHJmdnV1VVUVe3rt3z9raulu3bnfu3Dl27Jivr29CQsKcOXP27t1LblpmsVh37tyxsLCIiIjYtWvXmTNn/vzzTzmNQ26guHfv3sGDByMiIn7//XfSmEpKSg8fPuTxeOSaktWJ7TicLLKq2rFjh7Oz87lz50JDQ3NycpKSkiwtLRctWjRo0KALFy7o6enJGidtPXrL8S+ng2Rd2rLqAQAAQAIM0DbNzc3kjRT9dqqsvCz911/Jf3w+vwOP5ezsrKKiwmAwJk6c+OTJk9ra2uzs7IKCgkWLFnE4HA0NjXnz5t26dYu+gdPR0bFfv34qKip1dXVKSkrdunVTUlIi7/hZLFZOTk5eXt7ixYu5XK6mpuacOXMePHjQ1NRE9p04cSKZX7WwsHj16hV5fxkeHu7p6clms3v37m1lZSXncUS1tbWqqqoqKipcLtfHx4dMJ9IUDFvxXWhWVlZpaWkkecjIyODxeJaWlmRLQUFBaWmplZWVQCD46aef3N3dtbW12Wy2p6dnRUVFVlYWqcHMzIzH43Xr1o2u0MrKisvlzpw5UywWZ2Zmyu+jlu329OnTurq6OXPmqKio2NnZ8Xi8Vnf08fHZtGmTurp6t27dRo8eLdm2dnZ2ZDaYx+PV1NSQpIvFYrFYrKqqquDg4FWrVslf99tq4aSkJGdn58GDBzOZzBEjRlhYWNy8eVNyr5SUFCMjI3t7exUVlXnz5qmqqpLtN2/eHDRo0NixY5lMpr6+/pQpU+hEVyAQzJw5k6ytNTIyys/PlxOV/BE1efJkPT09DQ2NmTNnPn/+vLq6mmyfMmWKnp6eurq6g4ODIiOzHT0iEAgePXrk5uamrq6ur68/efLklsEbGhrq6Ojcv3+ffKCTkpIyevRoiqKuXbs2fvz4oUOHKikpjRw50tjYODk5meyiq6tra2tLUZSenp6WlhYJRg4+n+/l5aWhodG/f39zc3O6vKqqqouLi6ampvxOVORwfD7f5X8dO3asZbGWVYlEooaGBjU1NRaL1atXr5CQkKlTp0rtJWectEnL8S+rg+Rf2q1eRwAAAFgCDdBO8z3chUKhsZH0TbDMjpgBJuhVoGQpZkVFRWFhIVlwKFmsvLycPESHXtz4xRdf/PLLL+7u7sOGDbOzsyMTgEVFRT169FBXVydl+vfv39zcTNZX04cg06p0Vvz8+fP4+PjCwkIGg9HQ0EAWW7bK3d1969atDx48sLKyGjVqlNT9hAqGrcguUs/psba2Dg0NzcvLq6urU1FR0dfXZzAYR48eFQqF6enpurq6urq6JSUlAoFgw4YNkjsWFxeTIPv06SO5nU4sORyOpqbmmzdvZJ0y0bLdysvLNTU16ZXAgwcPbvWDg7KysqNHj7548UIkEgmFQsnpKbpONptNHoZMXorF4p07d9rb25Ml3/K1LFxUVJSRkUGW0RJSd2iTRbzkZyaTOXDgQHrH7OxsslqVIGOGtFL37t3paN/5AZCcEUW3PElaysvL+/btK3kVcDgcRUZmO3qkqqpKLBbT5z548OBWg3dwcEhOTnZycsrOzm5oaCApYlFR0WeffUaX6d+/f0lJCfm5Z8+e9HZFGofD4dBPw5I8WckhKqcTFTlcy3uA6e6T1LIqFovl5eUVHBx8+vRpKyur8ePHk96RJGectEnL8S+rgyoqKuRc2rKuIwAAACTAAG1AL4G2MDcXi8UNDY0URVnyeBRF9enTW11dneq4BFgk+r97icmiPgaDQfKNhIQEqZLkvR1ZOE1RVI8ePcLCwp4+fZqamvrDDz8kJibS9y5KoedUW67czsvL27Jli4+Pj6OjI4vFioyMpN/Zt2RqanrixIlHjx6lpqYGBQVNmTJl0aJF9G8VDFuSrF2k6Ojo9OvXLy0tra6uztLSksxZcbnc58+fp6WlkTt4ydvfiIiIAa09mYysm6WRwrJeSs78Ey3brbm5WbLOVtc/i0SigIAAGxub6OhoLpebkpISHBwsp04iJiamvr5+2bJlrf5WKrCWhdls9rJly1xdXVvdnZCMnA6Dw+F89tlnQUFBcnZUhPwRJdXU9L3BbR2Z7egR0nT0EVvtMoqiRo0a5evr29jYeO/ePTs7O6k70ml0otUhd0NIdYqcTlTwcIo886zVqlxdXUeNGpWampqSkrJ06dKAgAA7OzvJAu0eJ4pcU612kPxLu6PaHwAA/nmQAAO0x7fr/KTmWEaPGsmgKEPDIVbDZc6UtklhYaGRkRFFUSUlJQwGQ1tbu7Gxsba2lp62bWxs5PP5LZ+03NDQwGAwTE1NTU1NZ8yYMXv27JcvX+rq6lZWVtLPTM7Pz2cymWS2rVU5OTlqamoTJkygX5JFmK2qrKzU1NS0t7e3t7e3tbXdt2+fZAKsq6urSNiSFN/F2to6MzOzoaFh3LhxZAuPx8vMzHzy5Mm6devIxwGqqqovX76k3yWXlJTIOvHXr1+TH8i8E5kKk5wVLy0tlRM2RVGampqVlZV8Pp8kSC9fvmxZpqys7M2bN66urmRa8vnz5/LrJF8Qdfny5dDQUMlEUVZgrRbW1dWVvC+0tLS0Z8+eksmehobGs2fPyM/Nzc25ubk9evQgO0o+W7uysrJbt24tPxp4J/kjqqCgYNCgQaR3JKfv2lpPS+/sETKuioqKyKhotcvIxGOvXr0eP36cnJy8YsUKsrFPnz6SX2ybn59vamqqQGO00zs78QNpbm6uqqrq0aOHk5OTk5NTeHj4tWvXpBLgNo2TNl1TsjqoTZc2AAAADfcAA7QFg8FvaqIo6sbVy3du3ZD8b+vmIN2+uoeP/LB6zfpz5y+Qadv3cfny5bKysrq6uoSEBAsLCy6XO2TIEENDw/Dw8Orq6rq6utDQ0Fa/AfXAgQP79u17+/atWCzOysoit+0ZGhoaGBgcPXqUz+eXl5fHxsZ+/vnn9H2eLfXu3bumpiYvL6++vj42NpbP51dUVLRaUiwWr1y5MiEhgc/n8/n8Z8+eSS1UVjBsMolUUFBQX1+v+C7W1tbZ2dk5OTlkBpgkwDdv3mxsbKRXYk+aNCkuLi4/P18oFF68eHHFihX19fWt1nb//v2cnByBQJCQkMBms8nTs/v27UtuBm5qakpKSpLVYoSpqSmTyUxISCA3LkqmBDRNTU1lZeWnT58KhcJ79+49efKksbFRVkgURb1584bczaujoyMSiUQiERldrQYmq/DkyZNv3br18OFDkUiUlZW1fPly+m5JuiWfPn2alpYmEAji4+PpeBwdHcvLy+Pj4/l8fklJSWBgIHmytxyRkZF0Lk2TP6LIo6Tr6+vPnj07fPjwDhmZxDt7hMPhmJmZnT17tr6+vqCg4MqVK7KqcnBw+Pe//11XV0cvunZ2dr5582ZOTo5QKLx161ZOTg55CvQH8s5OfKeSFhT5Fuj8/PwFCxakpaWJRKKqqqrc3FxyjbPZ7MrKyurqaoFA0KZx0qZrSk4HKX5pAwAA0DADDNAGgwcNLCsr81q8rFu3Vr7uZaSDg4qKSk1tLYNivP+0zIQJEwICAgoLCwcOHEi+pIeiKH9//7CwMA8PDzabzePx/Pz8Wu7o7e198ODBhQsXCoXC/v37BwYGkimUgICA8PBwd3d3FRUVW1vbr776Ss7Rzc3NnZycfH19VVRUpk6dumbNGj8/v02bNq1du1aqJJPJDAoKioiIiI2NZbFYxsbGLaNSJGzyBKOYmJj09PStW7cquIuZmVljY+Mnn3xCzxlaWlru379/+PDh9CJVDw+PhoaG1atXC4XCgQMHbt++vdVv6xGJRNOmTTt+/HhWVpaOjs7GjRtJDR4eHnv27Jk/f76WltbMmTPv379Pr05vSUVFxc/PLzo6OiEhwcbGZsaMGZcuXZIqw+FwVq1aFRMTExUVZWtru2nTpvXr1y9YsCAuLq7VOlNSUmpqanbv3r179276rIODg1sNTFZhGxsbLy+vQ4cOVVZWkm/QkbpV29zc3N3dfe/eveTuaysrK7KIVFNTc/PmzdHR0XFxcerq6mPHjp09e7as0yeSkpIGDRr06aefStXf6ohavXo1RVFTp0719/cvLi42NDRsOcYUqScgIKDdPeLj47Nv3765c+cOGDDA3d09MDCw1et31KhR//rXv7744gt6Oa69vf3r1693795dWVnZr1+/7du3GxgYyG+c9/HOTpSPz+fPnz9fauPevXvfGbOent7KlSvDwsJKS0u5XK6tra2npyf50OTMmTPz5s3bsWOHqamp4uOkTdeUnA5S8NIGAACQxFiyZElnxwDQHs0SxGIx+ffEiRMf+riFhUUlMtbs9fqk13/+c5vDYYeGRwYFbBg/rp1zQZJfy/l+wUInEAgETCaT3NscFxeXlZW1c+fOzg5KIfQ6YYqi1q9fz+Px5syZ0456zp8/36tXL3t7+44OsJ3e2SNisVgoFJL1ullZWX5+fomJiX/B0mJQEDoIoNN5enoymUwGg0H+pXV2XADtgRlggLbR1e2jq9tH1m/nzp6ppKTE4XAsLNowMwP/GCKRaP78+ePGjXN3dy8qKrp69eq0adM6OyiF5ObmLl++PCgoaPjw4WlpaU+ePFm8eHH7qkpNTV2/fn1HB9hOivTIjh076urq/Pz8xGLxqVOnrKyskFz9raCDAACgA2EGGD5WnTUD/BfADPBHLTs7+/Dhw3/++ae6uvro0aPnz59Pr5j9m7t27dq//vWvN2/e6OjozJo1a/z48Z0dUcd4Z49UVFQcOnQoIyODxWKZm5t7e3vT30gEfwfoIIBOhxlg+CdBAgwfq39wAgwAAADw94EEGP5JsIgIAAAAAAAAugQkwAAAAAAAANAlIAEGAAAAAACALgEJMAAAAAAAAHQJSIABAAAAAACgS0ACDAAAAAAAAF0CEmAAAAAAAADoEpAAAwAAAAAAQJeABBgAAAAAAAC6BCTAAAAAAAAA0CUgAQYAAAAAAIAuAQkwAAAAAAAAdAlIgAEAAAAAAKBLQAIMAAAAAAAAXQISYAAAAAAAAOgSkAADAAAAAABAl4AEGAAAAAAAALoEJMAA/wTXrl3j8Xgfoubvvvtu2bJlHXgIZ2fn48ePK76dtmvXroULF75/AB+X27dvf/rppy23f7ge/xvy8fHx9/f/oIeorq42MDDIycn5oEeRQl9ckj5oz8q/ymQNNjmSk5NHjBjx+eefv39s8fHxY8eO7ay++GvQ7d9q19P4fL6BgUFmZuZfG13HeOdfcgCATocEGKANJk+evHXrVvrlq1evDAwMTp8+TW9JSkoaPHhwbW3tBwogPj5+ypQppqamgwcPHj9+fGxsLNlubW0dHR39npXfv3/fwMBg9erVHRHpx8fb2/vly5c//vjjyZMnOyWAiooKAwODurq6+Ph4T0/PTomhy+JyuadOnerfv/87S759+3b79u0ODg5DhgyxtrZesWJFx6ZqHXIty7J79+4vvviiHTueOHGiqamp5fbo6GhbW9urV6/SA7i6uvrMmTNz585td5CK90VnkXWp3rp16+XLl4rUMH/+/L/4Ly35WEHK5MmT/8oYAAD+JpQ6OwCAj8no0aOvXbtGv7xz5w6Xy7179+7MmTPJlrt371pbW3fv3v1DHP3s2bNbt27dtWuXjY0Nk8m8fft2YGBgt27dpk2bpqWlpaWl9Z71x8fHT5w48cqVK999952amloHRf3RKC4u1tXVTUlJWb9+facE0L179/DwcBUVFXt7+0GDBnVKDF2WkpKSnZ3dO4tVV1e7uroKhcJ169YZGRm9efPmxIkT06ZNS0hIMDEx6ZBIOuRalsXc3LwdezU0NGzZsmX69OlsNlvqV9XV1VZWVuQvHhnAqqqqdnZ2+vr67Q5Swb7oRLIu1dDQ0BUrVgwcOPCdNRgYGHzgGKV179799u3b9MuqqipPT8/p06f/xWEAAPwdYAYYoA3GjBnz22+/lZSUkJd37tz58ssv796929zcTG8ZPXo0ecsYGBg4YsQIY2PjOXPm5OfnkwKTJk06cuTIkiVLxo0bZ29vf+XKFfnbJSUnJ48aNWrKlCk6Ojq9evVyc3M7dOgQeaMpuWwyPz9/4cKFPB7PzMxs/fr1DQ0NipxadXV1UlKSj4/PgAEDEhMT5ReWdXaS3rx5s3z5cktLy6FDh3p6ekqWqaqqWrBggZGRkaOj488//9xy36NHj44dO9bIyGjcuHF37tyhtyspKR08eJDH45mYmOzatYts3LZt27fffrtt2zZnZ2cbG5vdu3fLr0dW+V9//fX69et1dXXh4eFS8YhEop07d44YMcLIyMjZ2Tk5OZls9/f39/HxoYvxeDzy+UhycvKkSZOMjY2HDRsWGBjY1NQUHx/v7OxMiqWlpRkYGFy+fJm8XLJkyf79+ymKys7OPnr0qJmZmYuLy9mzZ/l8Pn3WP/30E5ly9PLyarm+oK2DrVU7duyYMWMG/fKXX34xNDSsrq6W1Yxbt25ds2bN4sWLraysfHx8vvvuO7I9PDzcwMCgrKyMoqjm5mYLCwvSXHfv3nV1dTUxMbGxsTly5AgpfOPGDQcHh7Nnz06dOtXW1nbRokX02f3444+fffaZqalpYGAgfX3JqkfOGCByc3MNDAyqqqooihIKhSYmJhs3bqQHycyZMyWX3U6aNCkyMnLcuHHLly+XqufQoUNVVVWXLl2aMmWKoaGhvb394cOHp0yZQk8CnzhxwtHR0cTExNnZ+dy5c/SOsrbTDhw4MGbMmKqqKkWu5RMnTjg4OBgaGjo4OLS63FRW10suT71165aTk5ORkdGkSZNSUlLIxpaDjc/n83g8oVBoZWUltTjCzc3t8ePHBw4ccHBwqKurMzQ01NfXV1ZW7tevX15e3siRIymKqqmpMTAwOHPmjKWl5YkTJ6TifPz4sZOTk7Gxsbu7OxkzUkugZY3tlpcY3Zut/umg2draSk6BkpnqxMREW1tbusyyZcvIeBYIBAEBAcOHDyetRF/4rV6qc+bMefz48YoVK7755pv4+HipudaHDx9KhiG5BLrVjiArjFxdXYcMGTJ+/PjffvtNzpCora01MDC4evXqjBkzRo4cOWnSpBcvXkidOJPJpIPR19c/ePDgiBEjFi5c+M5LQ04v1NXVrV+/3tzcnPQC/SeLEAqF7u7uK1asINfvO7sGAOAvgwQYoA14PJ66uvovv/xCUZRYLE5JSZk7d65YLH727Bl5a/Lq1SuSAG/dujUnJ+fChQsZGRnDhw93d3cXi8UURSkrKx8/fnzjxo03btzw9vb29/cnbw5kbZdkZGSUnJx8//59esuECROGDRsmWUYsFi9cuFBPTy8lJeXnn38uLi6m383I9+9//3vgwIFGRkZffvnlv/71L/mFZZ2dpC1btrx9+/Y///lPSkoKl8sNCgqifxVg+c3GAAAgAElEQVQbG7tw4cJHjx5NmjRp6dKl5L0XLTExMSwsLCQkJDs728/Pb9GiRXl5eeRXjx8/5nA4d+7cCQ0NjYyMJM2upKR05coVOzu7pKSkkydP0ttl1SOrPFnM6evru2DBAqlziY+PT0hIOHnyZGZmpouLy/Lly1tdDkpbtWrV3Llzs7KyLl26lJ6efurUKXt7++fPn9fU1FAU9eDBg8GDBz948IAUfvjwob29fXNz89KlS62srNLT0y9cuJCcnEwnKgKB4OrVq+fPn09KSnry5MmZM2cU7A5FBhVt8uTJjx8/ppOQq1evjhkzRl1dXVYzKisr3759297e/urV/8fencdTmf6P47+Pg8MpO5FslSlDQkMNUkpZSwphRCWtNIZppTBpTzX2JSVFFDWWVuVd76mILJGONJqSLJUlu+Ocw++P6/G5v+d3NoeUmbfX848euc91X/d1X9u5r3Nd933fNjIyKi4uRjuis0N/vnr1qq+v74cffqirq9u4ceO6deueP3+ekpKSmJiYkZGByuLDhw81NTXZ2dkPHjyoqalBZ/fy5cv9+/cfOHCgtLRUW1v73r17KHIe8XAsU5yampqiomJpaSmGYZWVlYqKinj+FxUVGRsbMwcWEhJKS0s7cOAA+0D69u3brq6uEhISzBuPHTu2cuVKDMNu3rwZGhp67Nix8vJyb2/vX3/9Fd3GyW07LicnJzk5OSkpSVJSEt/IrS2/evXq0KFD6BzDw8NDQ0NfvnzJks4hi76urm7Lli1btmx5+vSpk5OTp6dna2srx8pGIpHQiL24uJhlYXN6evqcOXN8fX15jGfQpHF2dnZGRgbzLyzoWFu2bFm0aFF5efmOHTtSUlLYd+dWt9mbGO+uA5efn19TU1NTU5Ofny8tLY0v3uEoNTW1uLj49u3blZWVa9as8fHxodPp3JpqamqqmJhYdHT077//7uTkVPN/vLy8NDQ0tLW1OR6CW0GgnzlCQ0OLioomTZoUGhrKo0oICQmhburixYt//vmnurr6yZMneZxXXFzcX3/9heLkp2lwK4VDhw7V1NTcvHkzKyuruLg4LCyM+Si//fZbX1/f6dOnCQQCP0UDAADfDAyAARgGIpFoYmKCrvaeP38uKCj4/fff//jjj48ePUJzUwoKCjNnzuzv77969aqPj4+8vDyJRPL19f306VNhYSGKZOnSpej2NiMjo8+fP+NDDm7bcevWrbO1tXVzczMyMvrll18uX76MJuiYFRcXv337du/evaKiotLS0r/88ktWVhbv0Rpy+fLlVatWYRhmZ2dXWVnJfkmN4312uMOHD8fFxUlJSYmLi9va2j5//hz/aOHChQsXLhQTE9u2bdvAwADzkB5dxrm4uMyaNYtIJC5ZssTQ0BCfMZOSktqyZYuYmNjixYvl5OTwWRE1NTUzMzMMw9TV1SdNmlRTU8M7Ho7hFy1aJC8vr6ury/4cIAcHh7t3706bNo1EIq1evbq9vf3du3fc8odOp3d1dUlKSgoKCioqKmZnZ69du1ZZWXnKlCllZWUYhhUWFrq6uqIZoZqamr6+Pj09PQKBcPPmTV9fXxKJpKysbGpqio+R+vr69uzZIyMjo66ubmhoiJ81P8UxZKXCzZ49W0lJKS8vD11n3717d/ny5byzkUwmr1u3TlZW1tjYmEKh9PT0MBiMZ8+eOTk5oWvooqIiAwMDEon0xx9/aGpq2tnZEYnE7777zs3NDR/G9/f3o4lWUVFRXV1dVBa3b9/W0dFZsmSJsLCwk5MTvl6URzwcy5SZoaEhGpYXFhZaWFi0trai5lNcXMz+DKd58+YZGRmJi4szbxwYGHj//v2MGTO45eHly5ft7e319fWFhIRsbGz09PTQigBu25Fnz57t27cvISFBRUWFOTZubRn9jCIpKUkkEvX09J49e6ahocGeGN5Fn52dPXPmTDs7O3FxcXd395CQEAaDMWRlG7FVq1ZNnz6dTCYzbywpKWlpafHy8iKRSHp6evgSCRy3us2xifGuqzgikSgoKEggEHx9fS0sLOzs7Hgku6OjQ0hISExMTEhIyMXF5cmTJ2hfbk0VRyAQBAUFBQUFCwoKLly4gNZLczwEt4LAMMzNzU1dXV1KSsrGxgYVBO/u3cXFRVRUFFV19vrPnO2///57ZGQkXr15Nw1upUCj0TIzM729vZWUlJSVlU+ePPnjjz/iRzl//vyjR48SEhJIJBKfRQMAAN8M3AMMwPCYmpoeOXJkcHDw4cOHxsbGBALB2Ng4Nzd306ZNjx49WrhwIYZhHz58oFKpa9asYd6xrq4O3dimoKCAtqArg76+PvQnt+04YWHhAwcO7Ny5s6Cg4OnTpzExMQcPHoyLizMyMsLD1NbW0ul0lgviDx8+8H6iTHl5+cuXL1esWIFhmJyc3Pz589PS0oKDgzkG5n12zMGOHj1aXl4+MDBAo9GYJ6Dwe+RERERkZWUbGxuZd6ytrc3Pz4+MjMS3yMjIoP8wjxBERUXxFXd41qHcQ1nHIx6O4Xmg0WihoaH//e9/e3t7CQQCekwrt8CCgoJ79uzx9fWNiYkxNTW1t7efOnUqfpU5f/780tLSiIiIiIiIzs7OoqKiuXPnolmyZ8+eRUVFvX37VkBAoKury8TEBM8lOTk59rPG83kElY0jGxubO3fuODk5lZSUdHd3o/Ekj2zE7/NUUlJSVFR89uzZxIkT1dTU5s+fv2vXLnxyG0VSUlLCfN+joqIifnb4hbiIiAhKYWNjo5KSEh4YrzA84hmyTI2MjNDShidPnqxdu7ampqa4uFhNTa23t1dHR6enp4c5MMtYFEFFj49P2L179475EVPTp09///49j+0Yhn38+HHjxo2Ojo56enossXFry7q6upaWlqampvPmzVu8eLG9vT3LjDRLhnAs+nfv3jGfI/rxa8jKNmIcbwluamqSkpLCn5gwbdo05ptUeddtjk2MR11lcfLkyY6ODm5dHM7JyenmzZtz585dsGDB0qVLbWxs0HZuTZX9BH18fA4ePMjjrmCOBYGyHd+OFwS3KjFp0iSWEufW0tva2ry9vXfs2MH8pHHeTaOxsZFjKaipqfX09ODfLFpaWvinDx8+/M9//hMfHy8lJYW28F80AADwDcAAGIDhMTU13blzJ4VCefToEVr3aGxsfPDgQSqVmp+ff+TIEXQRiZ4IzfGdIugymv/tLMTExMzNzc3Nzf39/X/55ZeQkJBbt27hn6LhxHDfn5GWljYwMIBG72i8V15evnfvXnTpzIL32SF0Ot3d3X3RokX379+fOHFibm7ur7/+in/KEi3LnyIiIkFBQV/+xqPRigfd6/vu3buMjIzJkyd3dHRwe5IQPshfv379smXL/vOf/+Tm5pqbm0dHRy9dutTIyCg9PZ1CoSgrK0+cOFFHR6ekpKSoqAhNP7569Wrz5s2HDx9etWqVoKDggQMH8BvteFeMkVU2jpYtW2Zvb9/T03P79u2lS5ei2SQe2Sgo+P++QYyMjEpKSkRERAwMDGbOnPnu3bvu7u6ioqKNGzeiSCwsLOLi4vhMYX9/P/P2vr4+NEjmEc+QjI2N/f39qVRqaWlpeHj4q1evioqKPn36NG/ePOYTQdCaUvakqqqqUigU1PBxNBqNY3geP5Tg28vKyuzt7S9duuTm5sYySuTRlsPCwrZv337v3r1r165FRUVlZmay/8I1ZNGz37Yw3ArDA8uKa/YcRpnAUsosAXjUbY5NjM8mf//+/YsXL2ZnZ3Ps35jJycnduHHj6dOneXl5R44cSUpKSk9Pf/36NbemyoxOp3t7e1tZWaEfFnngWBAcy4JblUDVaciyGxwc9PPz09LS8vT0ZN7Ou2lwK4Wmpib2gkaePn26ZMmS0NDQBQsWoF/3RrE3BgCALwdLoAEYHjk5OS0trcePH5eVlaGhy7Rp06SkpNCCZDTfJScnN2HCBOZVxByvkIaFwWDs2rWL+UkqBAJBV1eXZRU0eg1JQ0MD+rOnp6elpYV3zD09PTk5OWggjdy+fZvBYOTm5nIMz8/ZNTY2NjQ0rF+/Hk3vPHv2jPnTN2/eoP9QqdTm5ubJkyczf6qqqsoceX19PbcLRN5GKx60aNDBwQGlk/lcSCQSPpLp6upqb29HV4SfPn2Sk5NzcnI6e/bsTz/9hGZXjI2Nnz179vjx47lz52IY9sMPPxQXFz99+hRN4JeXl0tKSq5evRoNFVhyjIdRrGyzZs1SUFD4888/79y5Y2trizbymY3oNuAnT54YGBgICAhoa2vn5OT09vaieSE1NTXmSD59+sR7alFeXh6fI2WuMMONh5mCgsLkyZOvXLkyZcoUMTGxH3744enTp+w3APNmbW2dkpKCty9U3L6+vocOHUJ5xfxKpNevX6PJam7b0ULl0NBQCwsLX19flrllbm2ZRqO1tbWpq6tv2bIlOzt70qRJzAuq+aSqqsq8SvbMmTN4Jo8MGufgxVFfXz/kLvLy8m1tbd3d3ehP9hcIcavb3JoYP3W1oaHB19f3yJEjaNIYYW7IGIbhda+7u7u3t3fu3Ll79+69efNmWVnZy5cv+Wyqx48f7+3tZX72AUfDKogRdO/M4uLiqqur2W8P5t00uJXCpEmTRERE8MSXl5fjD4/w8fEJDw/v7+9Hj/cb3d4YAAC+HAyAARg2U1PT5OTkyZMnT5kyBW0xNjZOTEzU19fH3x7k6uoaFhZWU1NDo9EuXLhgY2OD7twbMSKRSKPRfHx8bty4UVdXV19ff+vWrejoaHNzc+Zg2tras2fPDg4Obmtr6+jo2L9/v7e3N0tULS0tSUlJHR0dly9ffvXqVU5ODpFIXL16Nf6MUHV19eXLl/N4FNaQZycnJ0cikYqLi9EzdQoLC3t6evAwd+/effbsWX9/f3x8vIiICMvaaTc3t8zMzPv379Pp9KKiIisrK/yhLMMyWvGgJb6lpaUMBuPFixfJycmCgoIfP37EMGzq1KnPnz9Hq2djY2PRhNLr16/RjeJ0Or25ufnVq1doKeOkSZMUFBQuX76MD4Bv377d09ODXp+jpKT0+fPnv/76q6ur6/fff+/r60OH4MdwK9ujR49OnDjB8SMbG5uzZ892dHTgqzr5zEYjI6Pnz5+Xlpbq6+ujs0tISDA0NBQQEMAwbOXKlR8/foyKiurr66urq1u3bl1sbCyPFJqamj579uzOnTvd3d0XLlzAs2K48bAnMjEx0cDAAI320UwX+w3APGzbtk1RUdHW1vbq1auvXr3Kz8/fvHlzQUGBi4sLhmHOzs5//PHHs2fPaDQaemIQmivmth09mxc9LqihoYHlXLi15cuXLzs4OLx+/XpgYKCmpubTp08cF2zztnLlyjdv3pw/f761tTUlJeX333/n8eYzNAf4999/sywUZ4Ye/ozu5//48SPvR44j+vr6oqKiERERXV1dT548YVn/jHCs29ya2JB1Fc3KWltbW1pa0v8PasifP39GI7Q///wTH4rv3r17x44dLS0tDAajqKhIUFBQQUGBR1MVERF58+ZNZ2dnXl7epUuXwsLCiEQiOgq38d6wCoKf7p2bkpKS0NDQPXv2dHR01DFBP7vwbhocS0FAQMDBwSE8PLympqa2ttbf3x8fuhOJRBERkVOnTp09exb9aMutaOrq6vz9/dkfZgEAAF8VDIABGDZTU9N3794xXzcbGxu/efMGX0KMYZifn5+xsbGDg4Ourm52dnZSUtKXv1n3+PHjzs7Op0+fNjc3X7Ro0cmTJ9euXRsQEMASLCoqikajGRkZLViwoLe3Nzw8nCVAfX19UFBQW1vbkSNHiouLL1++vHLlSpbVgE5OTo8ePeI2lzjk2YmIiISEhJw8eXLOnDm3bt06c+aMurr6ggUL+vv7aTTahg0bTp48qa2tnZWVFRsby/J4mEWLFu3Zs2ffvn1aWlp79+4NCgpifrYK/0YrHrQEuqKiYtasWYGBgXv37l21atW2bduKi4vt7e01NDRMTU1tbGyUlJSUlJTodLq6uvrBgwcDAwM1NTUtLCyUlZX9/PxQPMbGxn///TcaIurq6r5588bIyAgtXDQ0NHR2dl61atWiRYuEhIRCQ0PfvXu3YcMGfpI33MpGoVCysrI4frRs2bKnT59aWVnhb3zlMxvl5OSkpaVlZGTQO2z19fVramrwyVVZWdmEhISbN2/Onj3bwcFh/vz5Xl5ePFL4448/7tu3LygoaO7cuX/99deyZcvQ+GG48bBA+Y+u8kkk0nfffdfb2ztz5kz+Y5g4cSJ6adOpU6dsbGx8fX0nTpyYmZmJbvK0tLTcsmWLj4+Prq5uQkLChQsXUOTctuPExcVPnDgRFhb24sUL5u0c27KLi4uZmZmzs/PMmTM3bNjg4eHB8isYPyZPnpyUlHTx4kVDQ8NLly6dOXNGVlaWW+CpU6fOnz9/1apV58+f5xHngQMHUlNTFy1atGPHjnXr1vF45DgyceLE+Pj4e/fu/fDDDxEREZs2bWIfJXKs29ya2JB19fXr16WlpZcuXVJngmHYjBkztm3b5ubmtnTp0ry8PFtbWzQw/u233xgMhqmpqaamZkRERExMjIyMDI+m6uLicuLEiZ9//jk9Pb2rq2vJkiX4UViekDyyguCne+fm+vXrdDr9559/Nvn/Q6N33k2DWw+zf//+2bNnr1ixws7OTldX19fXl/mIurq6mzdv9vPz6+rq4lY0nz59unTpEr4KAAAAvg3Cpk2bxjoNAIzEIJOBgQH0L/t7JgFHmzdvPnLkyPXr12VkZPAnu4Dxw9nZOS0tbaxTAQAA4N/B3d1dQECAQCCgf3FjnS4ARgJmgAEYdzo7O1tbW6WlpfPy8tBP/mBcKSgo4PEAMwAAAACA/2HwFGgAxh0xMTH09tSkpKSxTgsYA4aGhiz3XQMAAAAAjBMwAwwAAAAAAAAAYFyAATAAAAAAAAAAgHEBBsAAAAAAAAAAAMYFGAADAAAAAAAAABgXYAAMAAAAAAAAAGBcgAEwAAAAAAAAAIBxAQbAAAAAAAAAAADGBRgAAwAAAAAAAAAYF2AADAAAAAAAAABgXIABMAAAAAAAAACAcQEGwAAAAAAAAAAAxgUYAAMAAAAAAAAAGBdgAAwAAAAAAAAAYFyAATAAAAAAAAAAgHEBBsAAAAAAAAAAAMYFGAADAAAAAAAAABgXYAAMAAAAAAAAAGBcgAEwAAAAAAAAAIBxAQbAAAAAAAAAAADGBRgAAwAAAAAAAAAYF2AADAAAAAAAAABgXIABMAAAAAAAAACAcQEGwAAAAAAAAAAAxgUYAAMAAAAAAAAAGBdgAAwAAAAAAAAAYFyAATAAAAAAAAAAgHEBBsAAAAAAAAAAAMYFGAADAAAAAAAAABgXYAAMAAAAAAAAAGBcgAEwAAAAAAAAAIBxAQbAAIymrVu3Zmdnc/u0uLh4xYoV3zZFX0tXV5elpeXbt2+HPOv8/HxHR8dvmzoOfHx8MjIy+A/P+6S+sWPHjoWHh491Kv6hzp49GxgYyH/42NjYkJCQr5mi/+f27duenp4s7eULjUpUvDOhv7/f0tLy1atXX3KIUYFn4D/BcPuQ0cJPif8zO+ERt7VvXwOHzKJRbMIAgDEHA2AAhsfT09PZ2bmrqwvf8urVq+XLl6P/+/r6GhkZjSDanJwcGo02esn8pniftZaWVnBw8LAiLCoqev/+Pf/hAwMDv974kEql3rx58ytFDnh79eqVpaVla2vrV4r/m7U7UVHR48ePKygo8L/L8+fP/f39V69ebW1t7erqGh8f39/fP7Ko2Nna2rq7u39JDOAr2bVrl6WlZWNj45Aha2trS0pK0P/574SZ98IwbPPmzYWFhQ0NDfi3GHuYERtuNVuxYsWDBw++/LijCO8iRqXdAQD+IWAADMCwMRiMpKQkjh/NmDFDVlZ2uBFSqdTY2Fg6nT4aqRsDvM9aQkJCS0trWBGmpaXV19ePRtJGAYVCgQHw/6Rv2e6IROLs2bNFRET4DP/+/fuAgABNTc3w8PDU1NSdO3fm5+dHRUWNICqOFBUVVVVVvyQG8DU0NDS8fPly7ty5d+7cGTLw/fv3S0tL0f/574SZ90ID4O+++05aWnrPnj0cY/4S//ZqxtxFjEq7AwD8QwiOdQIA+PdxdnY+f/68hYWFuro6y0dbt261srKytbXFMOzKlSs5OTmdnZ3a2trbt2+fNGkS+hItKCiIi4trbm6eM2fOnj17hISEHB0dGQyGs7Pz5s2bra2t8dja29udnJx27tyZnZ396dMnOTk5f39/eXl5DMOampqio6OrqqoYDIaJicm2bdtIJFJPT8+qVav8/PwSEhLWrFljbW0dExPz6NGj3t5eFRWVjRs36ujoYBj28ePHqKgoCoUiJCQ0a9YsLy8vCQkJtO/+/fuvXbvW2tpKJpN37dqFrl2qq6vj4+Nfv35NIpEMDQ29vLyEhIQ4nvXHjx/Dw8MpFAqGYZqamj4+PnJycvn5+adPn05PT+cz2Y8ePaJQKAcPHjQxMdm1axfHXXiUjre396JFiyorK+vr6/v6+jZu3GhiYoI+otFohw8fLiwsFBUV9fLyQtvb2tqioqIqKipoNJqmpubPP/+MchgpKyvbv38/g8FYsWJFRESEiopKZmbm9evXP378KC8vv3Xr1jlz5jAfvaGhwcPDIz09XUxMjMFg2NvbL1myxNvbG8OwzMzMR48ehYaG8pMJtra2169fv3z5cnd396JFiwYHB5mTdP78+draWjKZbG9vb29vj2HYkydPYmJi3NzcsrOzW1pa1NXVd+/eTSaTmdP24MGDM2fOpKSkoD9DQkLk5OS2bNnCIzOHLHpmCQkJVVVVJ0+eRH+WlJQEBwenpaVNmDAhJycnKyurubl58uTJDg4OZmZmvEuKo/j4+I6ODnFx8bKysvb29iVLlnh4eKCPiERiSkpKZmYmjUZbvnz5hg0bMAwbGBhITEy8f/9+R0fHlClTNm/erKuri8dGo9FY2h2PcuHYLrihUCgRERENDQ2ampqzZ89GG7u6uhwcHGJjY9XU1KhUanx8fGFhYWdn58yZM/38/NinlSgUiqio6Jo1a9Cfurq6/v7+Hz58GEFU5eXlZ86cqaurExERmT9//pYtW4SEhGJjYz99+rR//3604CIxMbG+vl5FRWXTpk14mpuamqKiol6/fj1lyhR/f3/2s25tbT169GhVVZWSkpKnp2dAQEBKSoqMjAyfNZxb7eKYgdx6D5YkcYyTRyFmZ2dfvXq1tbVVWlra3t4edd08cpVjH8It/HBrOFrybWBgYGZmFhUV5e7uLiDAOkvR0tKyfft2Z2fn9vb2K1euEAiEhw8fXrhwAXXCixcvdnZ2DgkJ0dPTQ+F9fX21tbU1NDRQJ3zx4kXmvdra2m7evIn3furq6vLy8ixhvuTs8GrGTwfFjr0GFhQUxMfHW1lZJScnh4WFTZ06lWN/yB6MOdq8vLy0tLQPHz5ISkquWrXKzs6O5bhlZWUhISEhISF79+7Fu4gFCxagdnfv3j1uHR3HbwceHRcAYKzADDAAw6aoqGhnZxcRETEwMMAtzIMHD65evRoQEHDx4kUxMbEjR46g7QwG4/Hjx2FhYTExMTU1Nbm5uUJCQqdPn0bTnsyjX3RZj2HYf/7zn2PHjqWkpKioqISGhqIr+8DAQAUFheTk5MTExJaWlsjISAzDBAUF0aFPnTplbm5+69atFy9exMTEXLt2zcbG5ujRowwGY3BwMDAwUFxcPCkpKTo6urW19dSpU/i+t27dOnz4cGJiooqKCprlHhwcPHDggKam5pUrV8LCwsrLy7Oysrid9ZkzZyQlJS9dupScnCwjIxMbG8v8KZ/JPn78OJlM3rdv365du7jtwgORSMzOzt6yZUt8fLyzs3N4eDg+erx9+7a5uXlqaqqlpSVefLGxsZ2dnQkJCcnJySIiImiSDaenp7dhw4bp06dnZWWpqKg8ePAgNTV1z549mZmZGzZsCAoKamhoYKkbcnJyVVVVGIbV1NTIyclVVlaij54/f66np8dnJrx58yYyMtLLy+vy5cszZsx48uQJiqSpqSk4OHjFihXXrl07cuRIZmbm3bt30e6tra3v3r0LDw8/d+5cXV1dbm4u74wa0rCKHsOwBQsWUCiUz58/oz8fP35sYGAwYcKEhw8fnj9/3tfXNyMjw8XFJTQ0FN3ax6OkOCISiQ8fPtTR0YmJiTl69Gh6evqbN2/QRxQKRVhYOCkpyd/fH99+69at3Nzco0ePZmRkLF68+NChQ8yrnVnaHe9yYW8X3NDp9JCQEAMDg/T09LVr1964cYM9TFxcXG1tbVhYWHp6uqam5t69e9l7ElVV1fb29hs3buAT1DNmzGAfYPAT1eHDh62srK5duxYZGVldXX3r1i3mT5uamg4ePOjo6Jiammpubh4UFNTe3o4+ys7O/vXXXy9duiQtLc3xrH///XcMw1JSUvbs2ZOYmIhhGIFA4LOGc6td3DKQn66AW5zcCrG2tvbMmTP79+/Pysrau3fv+fPnUc3hkasc+xBu4YdbwxkMxt27d83MzAwMDPr7+4uLi1kCUKnU4ODgRYsW2draurm5zZs3z87O7sKFC3iAiRMnzpkzp6CgAP3Z2tpaVVW1aNEiPADLXhx7P5Ywo3J2I+ug2GugkJBQe3t7Y2PjuXPnlJWVufWHLMGY46yrqztx4sSGDRuuXr26Y8eOM2fOVFdXMwd4//794cOHd+7cqaWlxfGrmVtHx+3bgUfHBQAYKzAABmDYBgcHXV1dW1pabt++zS1Mbm7u0qVLNTQ0xMTEPD09ly9fji4aqFSqh4eHhISEsrLy7Nmz3717N+ThrKysRERECASCtbX18+fPu7q6KBRKfX39hg0bSCSShITEmjVr7t+/j1/cm5mZKSkpiYiIdHd3CwoKTpgwQVBQ0MrKKiUlhUgkVldX15+StzgAACAASURBVNbWbty4kUwmS0pKuri4FBUVoXsLMQyztrZGkyo6OjoobQQCITo62t3dXVhYWEFBQV9fn8eDSbq6ukRFRUVERMhkso+PD5pfwvGZbP534cbQ0BDN4urq6nZ2duJXKvr6+vr6+mQyecmSJR0dHWi7j49PUFCQuLj4hAkTTE1NeT925datW1ZWVurq6gICAj/++KOOjk5eXh5LGB0dnRcvXmAYVlFRYWxs3N7eju4Yf/HihZ6eHp+Z8Pjx45kzZ/74449CQkIWFhaKioooQF5e3vTp0xcvXiwgIKCqqrp8+XL8OpJGo61evRrDMBKJNHPmzLq6Ot65NKRhFT0aocnLy6Ox+sDAQEFBgampKYZhd+7cWbp0qZaWlqCg4IIFCzQ0NPLz89Eu3EqKG0VFxXnz5mEYpqKiIi0tjTcfMTExR0dHMpk8d+5caWnp2tpaDMOWLl0aHx+vpKQkLCxsbm7e2dnZ1NTELWbe5cLeLnjE097e7uzsLCwsrKGhMX/+fJYANBrt7t27rq6uMjIywsLC7u7ura2t+K8kuJkzZ27fvj0pKcnJySkoKCgjI4M98fxExWAwent7xcTEiESinJxceHg4muTEPXjwQE1NbfHixRMmTLC1tfX29mYwGOij5cuXq6ioiIuLm5iYsJ81jUYrLi52dHQUFxdXVVVdtmwZPzmJ13ButYtbBvLTFfCuseyF2N3dTSAQxMXFBQQENDQ0MjIypk6dyjtX2fsQ3uGHVcMLCwvpdLqBgYGQkNDChQtZVkEPDg6eOHFCXl6e91PBFixYgLevx48fKysrs8x/Mhuy9xvFsxtBB8WxBvb09Li6usrKygoKCvLoD5mDMcc5ZcqUS5cuoa519uzZSkpKNTU1+KednZ2BgYFr1qwxNDTklipuHR2PbwduHRcAYKzAEmgARkJERGTz5s3h4eHGxsYcAzQ2NuIfSUtLL168GP2fRCJJS0vj/8dHnjzgq+9kZGTQj/oNDQ1oUS5zsJaWFhQzPliysLD4888/XV1d58yZY2houGDBApQwKSkpcXFxFEZZWXlwcBCtr8YPgX5Bx9P28uXLtLS0hoYGAoHQ29vLsuiXmaura0hISFFRkb6+/sKFC5mXL6Llwfwkm59deD+JBD8LYWFh9EBRlpxEw2x09dzc3Hzu3LlXr14xGAw6nc57iqaxsbG8vDwtLQ3fIiEhwRJGV1cX/TLy/PlzW1vbd+/eUSgURUVFKpU6c+bMvLw8fjKhubmZeSW2kpISngAKhWJpaYl/hAoOVaeJEyfiJ06lUnmcCJ/4L3rExMQkPz/f0tKSQqH09vaia77Gxkbmx/MoKyujpbw8Soob5rscmc9x8uTJ+Ha8WdHp9KSkpOLiYjwYj/h5V06O7YKj5uZmMTExfG2nsrIyyzxea2srjUbbu3cv88ampiaWxoJhmI2NjYWFRVVVVUVFRX5+/rlz59avX8/8oFp+oiISiR4eHidOnLhy5Yq+vv7SpUunTJnCHL6xsZG5NaHV6egc8e0ce6rPnz8PDAzgOY/fD8J/M+dYu7hlIJ9dAY8ay16IGhoaxsbGHh4e2tra8+bNMzMzExMT452r7H0I7/DDquG3bt1asGABWgduZma2Y8eOz58/S0pKok8vXrxYVFR06dIlAoHAIxIjI6OwsLC//vrru+++e/z4MRqbcTNk7zeKZzeCDopjDRQUFMT7AR79IXMwZgICAnl5ebm5uR0dHQQCoaOjA495YGAgJCSETCYP+bIGbh0dt28Hbh0XAGCswAAYgBEyMTG5devWuXPn8KkPZmgp4KgcCJ+QQRESCAR0JcH+Qg70RY4WTmMYJiUlFRUV9eLFi8LCwrNnz2ZnZ+O3LbHAJ1LYL61qa2sPHDjg4+NjZmZGJBJjY2Px0Qu7WbNmXbhwobi4uLCwMDAwEL8bE+Ez2cy47cIbtwtE9u0MBiMgIGDu3LkJCQlkMrmgoODEiRM8YhYWFt6yZQv7PWPMdHV1w8PD+/v7q6qq9uzZ8/bt2+fPn7e2tmpraxOJRD4zgWVqC79EI5FIRkZGw3rrz4gNq+iRhQsX+vr69vX1PX782NDQkNvd2vjp8L6UZ8d/yWIYFh4e3tjYeOrUKVlZ2e7ubnRzIDe8y4X/dNJoNObA7Fe6aKgQExPDY14OJygoqK2tra2t7erqevPmzcjISHNzc7yS8BmVnZ3dwoULCwsLCwoKNm/eHBAQwDy7RSAQuP3ow/us0V74PeH43ap81nButYtbBvLTFfCuseynIyAgsHv3bhcXl8LCwnv37qWmpoaHh/POVfZIhhuem+bm5pKSEiKReO/ePbSFwWDcu3fPwcEB/fnhwwdVVdWkpKTt27fziIdMJs+ZMyc/P19BQaGiooJHYH56v9E6u5HhGD/zNwWP/pDjFwqGYTdv3rxy5cqBAwe+//57DMO2bduGf9Td3S0uLl5TU/Pf//534cKFPBLGsaPj8e3wtTMKADBcsAQagJHz8vL6z3/+w3Fd6OTJk/ElXp8/f05NTR3x21bwu0w/fPhAIBBkZGQUFRW7uro+ffqEtvf19eG37THr7e2lUqmzZs3asGFDVFTUy5cv//77b0VFxba2Njx8XV2dgIAA82Qji+rqajExMfyym+V2KRZtbW3CwsLGxsZ+fn47d+5kuQGSz2R/4S7D0tzc/OnTJzs7OzTj9PLlyyHTw3z71sePH9l/5pCVlZWVlc3NzZWTkyOTyZqami9evKisrESPpeHzjKSlpZmv3fGXQikqKjK/iLKtrY2fRQSIsLAwc+AhR7PDKnpEXV1dTk6upKQkPz8fn3qaPHkyc5rr6uo4zvaPOgqFYm5ujuZe+CnZUalpMjIyHR0dvb296E/2t3lJSUmJior+/fff+BaOBZGRkXH9+nXmLd9///3AwEBfX9+wohocHGxra5OSkrK0tPztt9+sra1ZFtZOnjyZeUHm1atX+XwAO5rdwt/WgyeDz5zkVru4ZSA/0Q63xtLp9I6ODhUVFUdHx/DwcGlp6cePH/NZQLjhhufmzp07ioqKcXFxMf/H0dGR+S6bX3/9ddeuXbm5uU+fPuUd1YIFC548eVJQUDBt2jSWCX9m/PR+o3V2X8kI+kMKhaKnp4dGv11dXcy1feLEiQEBAZs3b46IiGhpaeERCceOjp9vBwDAPwQMgAEYuSlTptjb21+8eJH9IwsLi3v37qGnPp47d+7Jkyc8Hp+Lfj9+//4989Ut7saNG83Nzd3d3RkZGTo6OmQy+bvvvpsxY0Z0dHRHR0d3d3dkZOShQ4fYdzx9+vTJkyfb29sHBgYqKyvRTYAzZsxQU1M7d+4clUptaWlJTk6eP3++qKgot7QpKCh0dnbW1tb29PQkJydTqVRuL2UdGBjw9vbOyMigUqlUKrWqqopldSKfyUYZUl9f39PTw/8uIyMpKSkkJPTixQs6nf748ePnz5/39fX19PQwhxEWFm5ra+vo6KDRaMuWLbt///7Tp08ZDEZlZeXWrVvZ795Ek8CZmZmzZs1CZ40mgdEAmM8zMjAwqK6uzs/P7+3tzcnJwfPczMyspaUlLS2NSqV++PBh37596PHa/JgyZUpnZye6RCspKWEem0VHR7OPFngUfVZWFvvNz4iJickff/zR3d2Nrz61srLKy8urrq6m0+n379+vrq5G62y/Nnl5eQqFMjAwUFNTc/36dSKRyHJRy9zuRlDTYmNj0dPOmGlqaoqIiFy6dKmnp6eiooLjWMXGxiYlJaWuro5Op+fk5Gzbto2lyqG7muPi4q5du1ZXV9fS0lJRURERETFt2jSW36qGjKqurm7dunWlpaUMBuPz589v375laZVmZmb19fVZWVnomVvJyckTJkzgfeJ47mlra1+9erWnp6e+vh5/VRifOcmtdnHLQH6i5b+zQu7cuePn5/f+/fuBgYG6urq2tja0opufAmI23PDowcXMWwYHB3Nzcy0tLRWZrFixor6+Hj1UH81Xq6qqrlu37vTp0x0dHahrampq6urqYpnDNzQ0fP/+fW5uLsf1z/heEhIS3Ho/5piHe3bf0gj6Q3l5+bdv3/b09LS0tISHh8vJyeHdAoFAIBAIFhYWWlpa6NmQPL6a2Ts6Pr8dAAD/BDAABuCLuLi4cFznuWDBAjc3t+PHj69du7a1tdXf359HJIqKinp6er6+vhyfsmtubh4QEODs7NzR0fHrr7+ijf7+/nQ63c3Nbd26dVQqlfkVjjgvLy8Gg7F+/Xo7O7tLly7t27dPQkKCQCAEBAR8+vTJ1dXVx8dn2rRpvr6+PNI2e/ZsS0tLX19fT09PQUHBHTt2NDY2BgUFsYcUEBAIDAx8/Pjx6tWrXVxc/v77b/ZU8ZNs9LiaxMRE9OhsPncZGRKJhB41tHr16kePHgUFBamoqKxbt455uh49k2bNmjXV1dVz58718PCIiIiws7P7/ffft27dyn7rJhoAv3//Hg2AhYSEVFVVqVSqmpoa/5kwe/bsTZs2RUdH//TTT7W1tQsXLkSTCZKSksHBwQ8fPnRwcPDz85szZ46zszOfJ6uqqurk5ISmOAoLC01NTfEnDN+6dYt9rpJH0RcVFVVUVHA8ysKFCysrK42NjfFffIyNjVevXn3s2DFHR8dr164dOnQIz4qvytPT86+//lq5cmV0dLSnp6eZmdmhQ4fQ88kQlnY33JrGMdPIZHJgYGBhYaGTk1NqaqqDgwP7LJCbm5uenp6fn5+jo+ODBw8OHTrE/j4YCwsLPz+/hw8f+vr6op5EVVX18OHDw41KRUXF29s7KirKzs5u8+bNCgoK7u7uzAFkZWUPHjyYk5OzZs2amzdvBgcH4zedDsnHx6erq+unn34KDQ396aef8IXQfNZwjrWLRwYOGS3/nRViZWX1448/7ty509bWNjAwcOXKlWhxOD8FxGy44V+/fn3//n3mLaWlpc3NzUuWLGHeKCsr+8MPP7A8anHlypWKiooRERFo+FdWVrZ+/XqWd1mTyWR9ff3KykqO63jxvYhEIrfejznm4Z7dtzSC/nDFihXS0tIuLi67du1asmSJg4NDTk4Oy9J6Hx+fv/76Kzs7m8dXM3tHx+e3AwDgn4CwadOmsU4DACMxyGRgYAD9y/xCiP8BzC/8HOu0AAD+fzIzM+Xk5Lg9Bm88GBgYoNPp6DbRysrKPXv2ZGdns7+6FrDbtWvX8ePHxzoVAAwDejE1gUBA/+LGOl0AjAR8UQEAAADDVlhYqKWlNdapGEuHDx9G7w1ua2tLTU3V19eH0S8/Kioqpk2bNtapAACA8QueAg0AAAAMG1qiP55t27YtIiICLaadPXu2l5fXWKfo32H27NmwOBYAAMYQDIAB+OeaOHEiyw1gAADwDyEtLc3jDlsAAADgnwlWKwEAAAAAAAAAGBdgAAwAAAAAAAAAYFyAATAAAAAAAAAAgHEBBsAAAAAAAAAAAMYFGAADAAAAAAAAABgXYAAMwNgoLi5esWIFn4G7urosLS3fvn37lRP1tbi6uj548IBHgGHlxr/F7du3PT09vzye0Sp9fuJpaWnx9vZevnx5Q0NDbGxsSEjIFx50FOXn5zs6OvII4OPjk5GR8Q1T9BXhmT/kWW/dujU7O/sbJu2L/HMqFZ/NarRa8XAN2WeOlrNnzwYGBvIf/luWIJ75o/gNOCpR8c6E/v5+S0vLV69efckhAABfFQyAARie/v7+c+fOeXh4LF++fMWKFTt27CgvL//aBxUVFT1+/LiCggKGYbW1tSUlJV/7iN/Aq1evLC0tW1tbx+Toz58/9/f3X716tbW1taura3x8fH9/P/qoqKjo/fv3Y5Kqr3po5lrEzYMHD3p6elJSUngHGwF+6u2DBw8sLS3T0tKYNwYGBl6+fBnDMC0treDg4K906H+sIc/a19fXyMiI/wiHlRuFhYXW1tadnZ34luPHj7u5uTGH2bx587lz5/hPwD8EP83h3+5r97E5OTk0Gu0rRc5sBIXFrYcflXK3tbV1d3f/khgAAGMLBsAADE9kZGRhYeEvv/ySnJwcFxenoaGxb9++hoaGr3pQIpE4e/ZsERERDMPu379fWlr6VQ/3P+/9+/cBAQGamprh4eGpqak7d+7Mz8+PiopCn6alpdXX149Jwr7qoZlrETddXV2TJ08WFxcXEBjlbwc+662YmFhqauqHDx/YP5KQkNDS0vp6h/5nGvKsZ8yYISsry3+Ew8oNXV1dIpH47NkzfMuzZ886Ozvxn2laW1tra2sNDAz4T8A/BD/NAfBApVJjY2PpdPo3ONZwC4tHDz8q5a6oqKiqqvolMQAAxpbgWCcAgH+ZZ8+eOTo6zp49G12benp6KioqotFCeHh4b2/v7t27UUhHR0d8cubKlSs5OTmdnZ3a2trbt2+fNGkS+iYuKCiIi4trbm6eM2fOnj17yGQynU6PiYl59OhRb2+viorKxo0bdXR0urq6HBwcYmNjHz58eOXKFQKB8PDhw6NHj3p4eDCnzd3d/aeffuKWjPj4+I6ODnFx8bKysvb29iVLlqDd6XR6dHR0Xl6emJiYh4dHWlqai4vLokWLmGMeQZwxMTF//vmnkJDQmjVrCATCkBnLMTcKCgri4+OtrKySk5PDwsKmTp2amZl5/fr1jx8/ysvLb926dc6cORiGxcfHt7e3i4iIPH/+vKura+vWrS0tLffu3WtpaVmxYoWzszPLsSgUiqio6Jo1a9Cfurq6/v7+aNC1a9cuCoVy8OBBExOTXbt2VVdXx8fHv379mkQiGRoaenl5CQkJ9fT0rFq1av/+/deuXWttbSWTybt27ULXQxQKJSIioqGhQVNTE1US5OPHj1FRURQKRUhIaNasWV5eXhISEigePz+/hISENWvWPHr0iPnQLGmuqak5evRoY2Pjd999t2PHDjSD0dTUFB0dXVVVxWAwTExMtm3bRiKRuG3Ha5Gampq3t/eiRYsqKyvr6+v7+vo2btxoYmJy/vz59PT0wcHBFStW4D8HoInZM2fOpKSkoD9DQkLk5OS2bNnCsa5iGJadnX316tXW1lZpaWl7e3tbW9uLFy/i9fbChQs8qoGiouKUKVNiY2ODgoJYPsrPzz99+nR6ejqGYfX19ZGRkRQKRVJS0sHBYfny5SgMjUY7fPhwYWGhqKiol5eXiYkJj0NHRUV1dXWhatPR0eHo6IgvNuZYzby8vExNTXNzc1VVVfft21deXn7mzJm6ujoREZH58+dv2bJFSEgITYtlZWU1NzdPnjzZwcHBzMwMVVGOLWVgYCAxMfH+/fsdHR1TpkzZvHmzrq4ut7Nmz1i0BNrKygr9n2Oy4+Liurq6urq6qqqqbGxsWHKD4y44Eok0a9askpISExMTDMPevn3LYDB++OGH0tJSJSUlDMPKysrIZLKmpib6//nz52tra8lksr29vb29PYZhLE0YRRsbG5ubmysqKmpra+vk5DSyHoZ3r3X79u2srKyYmBgMw6qqqnx9ff39/RcsWIBh2G+//TZt2rSVK1fizYGlZLm1YlxCQkJVVdXJkyfRnyUlJcHBwWlpaYKCgmfPns3Pz+/r65s2bdqGDRtmzpyJYRjH5sYSJ48+k2MZ8RMnM245ifrelJSUzMxMGo22fPnyDRs2DFkzaTSao6Mjg8FwdnbevHmztbU1xz6HR1fJDcfMZ+67qFRqfHx8YWFhZ2fnzJkz/fz82KdzefTww42KYzOPjY399OnT/v370bKdxMTE+vp6FRWVTZs24WluamqKiop6/fr1lClT/P39YcAMwD8KzAADMDxqamp3795tbGzEt1hbWw+5rPTq1asBAQEXL14UExM7cuQI2s5gMB4/fhwWFhYTE1NTU5Obm4th2K1bt168eBETE3Pt2jUbG5ujR48yGAw8Kjc3t3nz5tnZ2V24cEFRUfHG/zl48CCZTEaXd9wQicSHDx/q6OjExMQcPXo0PT39zZs3GIZlZWUVFBSEhYVFR0f/+eefnz594me8yjvOGzduFBQUnDp16ty5czU1NR0dHUNGxTE3hISE2tvbGxsbz507p6ys/ODBg9TU1D179mRmZm7YsCEoKAjNvROJxEePHi1evBhdap8+fZpKpUZGRgYEBFy4cIH96Kqqqu3t7Tdu3MCnL2bMmIEuH48fP04mk/ft27dr167BwcEDBw5oampeuXIlLCysvLw8KysLwzBBQUFUUocPH05MTFRRUUlKSkKXsCEhIQYGBunp6WvXrr1x4waKfHBwMDAwUFxcPCkpKTo6urW19dSpU3g8Dx48OHXqlLm5OfOh2fMnJyfH39//woULJBLp6NGj6Ao1MDBQQUEhOTk5MTGxpaUlMjKSx3aWgsvOzt6yZUt8fLyzs3N4ePjg4OC6descHR319PSysrLQ8IY3jnW1trb2zJkz+/fvz8rK2rt37/nz59+8ecNcb3nHSaPRPD09y8vLi4qKuIUZGBgIDg5WUVG5cOHCzp07z549i6/pvX37trm5eWpqqqWlZURExMDAAI9Do2pjaGiYkJAQGhp68eLFiooKVCIcq5mgoOCtW7e8vLx8fX0xDDt8+LCVldW1a9ciIyOrq6tv3bqFYdjDhw/Pnz/v6+ubkZHh4uISGhqKbgXk1lJu3bqVm5t79OjRjIyMxYsXHzp0iNuaUo4ZyxyAR7KfPn2qq6sbGxvLkhvcdmFmYGBQVlaG/l9WVjZr1ixtbW3mLXp6ekQisampKTg4eMWKFdeuXTty5EhmZubdu3fZmzDaRUZGJjk52cfHJykpqbi4mEd9GHGvpaur+/bt256eHgzDKisrlZWVKysr0UcvXrxg+ZWBuWS5tWJmCxYsoFAonz9/Rn8+fvzYwMBgwoQJCQkJFArl1KlTKSkp06ZNCwoKolKp3JobS5zc+kwend6QcfKTk2i4KCwsnJSU5O/vz2fNFBISOn36NFq0Ym1tza3P4dZVcsNP5sfFxdXW1oaFhaWnp2tqau7du3dgYIAlDI8efrhRcWzmuKampoMHDzo6OqamppqbmwcFBbW3t6OPsrOzf/3110uXLklLS/M+awDAtwcDYACG5+eff0ZzDlu3bo2MjCwoKGAeoHKUm5u7dOlSDQ0NMTExT0/P5cuXo29ZKpXq4eEhISGhrKw8e/bsd+/eYRjW3d0tKCg4YcIEQUFBKyurlJQUIpHILWYikUgkEj9//nzixInt27cPOWhRVFScN28ehmEqKirS0tLoiAUFBUuWLFFTUxMXF9+0aVNvb++wMoRjnI8fPzYzM1NWVhYREVm/fj0/94lxzA0Mw3p6elxdXWVlZdFFqpWVlbq6uoCAwI8//qijo5OXl4eCqaiooJWi33//fU9Pz7JlyzAM09TUHBgYaGpqYjnWzJkzt2/fnpSU5OTkFBQUlJGRwR4GwzACgRAdHe3u7i4sLKygoKCvr8/8XBNra2s03aqjo4NSS6FQ2tvbnZ2dhYWFNTQ05s+fj0JWV1fX1tZu3LiRTCZLSkq6uLgUFRXhtxybmZkpKSkNuSRv2bJlKioqEhISq1evfvnyZUdHB4VCqa+v37BhA4lEkpCQWLNmzf3792k0GrftLBEaGhrKy8ujoUJnZyd+Nc8/jnW1u7ubQCCgRdQaGhoZGRlTp07lP87BwUFpaWl3d/fo6Gg8i1hUV1fX19evXbtWQkJi1qxZ+/btk5aWRh/p6+vr6+uTyeQlS5Z0dHQMeVKKiopz585F9UdbWzs/Px9dr3OrZtra2rq6uhMmTGAwGL29vWJiYkQiUU5OLjw8HM3B3rlzZ+nSpVpaWoKCggsWLNDQ0EBxcmspS5cujY+PV1JSEhYWNjc37+zs5FgVUW7zzlgeyRYVFV2xYoWkpCRLnDx2wenr63/48AGteS4tLdXV1dXV1S0vL0edWFlZGVr/nJeXN3369MWLFwsICKiqqi5fvhz9hsXShNEqdwcHBzKZPHfuXE1NTR6/dPDItyF7LQUFhUmTJlVVVWEYVlFRYWNjgwbA7969o1KpGhoaLOHxkuXWipnNmDFDXl7+yZMn6OeYgoICU1PTwcHBO3fu/PTTT5MmTSKRSO7u7l1dXS9evEC7DNncuPWZPMpouE2YY06iEnF0dEQlIi0tXVtbO6yaibo+Hn0Oe1fJIx7emU+j0e7evevq6iojIyMsLOzu7t7a2or/tIHjp4fnJypuzRz34MEDNTW1xYsXT5gwwdbW1tvbG78eWL58uYqKiri4uImJCe+zBgB8e7AEGoDhkZWVPXToUHNz87NnzyoqKk6dOiUpKXnkyBEet+E1NjYaGxuj/0tLSy9evBj9n0Qi4RfuJBIJXe5bWFj8+eefrq6uc+bMMTQ05D2piy6/jhw5YmxszLJomVvi8f8LCwuj2Qm0VhNtVFRUJJPJfGTD0HHiKRcTE5OQkBgyHo65geYQ8EM0NjaWl5czPyQJj1lGRgZPAxqVYRgmICAgICDAcRxlY2NjYWFRVVVVUVGRn59/7ty59evXsz9u9+XLl2lpaQ0NDQQCobe3l3mBKH5EISEhdIjm5mYxMTE8A5WVldHsVmNjo5SUlLi4OL59cHDw06dPcnJyKM+HzBwMw/BfN9Alb0tLS0NDA4PBYHl6No/tEydOZN7CnGPo6W78JIMZx7qqoaFhbGzs4eGhra09b948MzMzMTGx4cZsa2t7586dy5cvszxvCWloaBAXF8fzWV9fH/8IX4uBflAY8pcXvOajDEGPC+JRzfDwRCLRw8PjxIkTV65c0dfXX7p06ZQpU9C+zI+kUlZWxu9n5thS6HQ6mgVFf/IoiCEzlp9ks+CxC05FRUVeXr60tFRBQaGiomLz5s1oUFRdXT1hwoSWlhaU/42NjRQKxdLSEt8RVW+WJoxqMj5bKy8v39zczDFtuBH3Wjo6OhQKRU9P7+XLl3v37k1NTe3p6amsrNTW1hYSEsIznCWLuLViFiYmJvn5+ZaWlhQKpbe3zxsQfAAAIABJREFUd968eW1tbf39/SoqKigAmUyWkZHBS3/I5satz+Sz0+OnCXPMSZbqgfe9/NdM1CQ59jmoS2fvKrkZMvNbW1tpNNrevXuZNzY1NbGvVB+yh+cnKm7NHNfY2Mi8/gvd74DOEd/O/HUGAPiHgAEwACMhKyu7ZMmSJUuW9PT0/PzzzxkZGVu2bOEWmEAgsC+s4kZKSioqKurFixeFhYVnz57Nzs7G7zTjKDExsaenh8fRWVLCvnFwcBDNzPAIM9w4+/v7mbd/ydc/8wS4sLDwli1b7OzseCeDz1MQFBTU1tbW1tZ2dXW9efNmZGSkubk58wCgtrb2wIEDPj4+ZmZmRCIxNjaW+eFM7Eeh0WjMG1musNkDs58gD+gaFyckJEQikSZOnMj+4p/q6mqO27u6upj/HG5Bs+NYVwUEBHbv3u3i4lJYWHjv3r3U1NTw8HA0aOefgIDA9u3bd+/ejS4oWRAIBG6rPYd7UsyP8MGnbnhUM+aWYmdnt3DhwsLCwoKCgs2bNwcEBBgaGrLvgld+jmkLDw9vbGw8deqUrKxsd3c3um+WoyEzls9kM+OxCzN9ff2ysjI1NTUxMTH0Q4yurm5paemECRPU1NTQsIpEIhkZGXF8oQ5LDWepySx/shtxr6Wjo3P37t2///5bXl6eTCbPnDmTQqFUVlbq6emxB8Zj47MVL1y40NfXt6+v7/Hjx4aGhiQSqbu7mz0Y3syHrJnc+kw+Oz1+cAv/hTUTlT7HPgedBf/pHDLzUW2JiYnhZ10Jxx4er418RsW7mY9iXwQA+JZgCTQAw9DQ0HDo0CF0XxlCJpNVVFTQ0EJYWBi/aunp6cHfHTJ58uS6ujr0/8+fP6empvKYmOrt7aVSqbNmzdqwYUNUVNTLly///vtvboGLiopu3Lixb98+5otIbsngRlJSEl8e9vHjR46XccONU0ZGBo+ztbWVOce+hKKiIvN9jx8/fuT/lwVmGRkZ169fZ97y/fffDwwM9PX1MW+srq4WExPDr5mqq6t5RysjI9PR0YGvxsSflKuoqNjW1obfG1ZXVycgIDDcMSH+dGg0CJeRkVFUVOzq6vr06RPa3tfXhw7BbfuIMZc+ngBudZVOp3d0dKioqDg6OoaHh0tLSz9+/HgEB9XU1DQ1NY2OjmYfvE2ePLmjowM/qYcPH+K3pA4X8y2vHz58wOfkh6xmg4ODbW1tUlJSlpaWv/32m7W19Z07d1DamF8xWldXx3uGn0KhmJubozHky5cveYQcMmNH0Dr43EVfX7+ysvL58+f4CghdXd3KysqKigr8+c+KiorMJ46mQzkelPlFXx8+fEDn/jV6LTT3i+5bRjWqsrKysrKS5QZgFtxaMQt1dXU5ObmSkpL8/HxTU1P0exCJRELrh9FZtLS08Lm+g0efOVqd3nDxXzNHsc8ZMvOlpKRERUWZvxM5PjGenx6en6i4NXPc5MmTmZc3X716dazeIAAAGBYYAAMwDHJycq9fvw4ODi4vL29ubq6vr7969WphYSFa9KioqPjXX3+hr9j09HT0SFi0UvTevXvo2Zvnzp178uQJ/hG706dPnzx5sr29fWBgoLKyEt16xBxAWFi4qampq6vr48eP6NZfeXl5BoPBYDDQhRG3ZHCjr6+PHuvV3d2dkJAgKirKHma4cRoYGOTl5b19+7azs/P8+fPoBrAvt2zZsvv37z99+pTBYFRWVm7dupX97i9+iImJxcXFXbt2ra6urqWlpaKiIiIiYtq0aWhQSiKR6uvre3p6FBQUOjs7a2tre3p6kpOTqVQq7zdqampqioiIXLp0qaenp6Ki4unTp2j7jBkz1NTUzp07R6VSW1pakpOT58+fzzGf8UOzf5Sdnd3S0tLT03P16tUffvhBVFT0u+++mzFjRnR0dEdHR3d3d2Rk5KFDhzAM47Z9xKZMmdLZ2YmuwktKSvCrUo519c6dO35+fu/fvx8YGKirq2tra0MLLPF6Ozg4WFxcPOTTsDAM8/T0fPnyJYVCYdmuoaGhoqISHx/f0tJSWVl5+vRp3vfhMx+a5aPPnz/fvHmTTqcXFxdTKBQ0t8NPNaurq1u3bl1paSmDwfj8+fPbt2/RikcrK6u8vLzq6mo6nX7//v3q6mqOk9g4eXl5CoUyMDBQU1Nz/fp1IpHY0tLCMSS3jMXx2TqYc4PPXXR1dXt7e+/du4fPnerp6VVXV1dVVeEDYDMzs5aWlrS0NCqV+uHDh3379qEnV7P79OnT7du36XR6WVkZhUJBt4d8jV5LWlpaVlb2zp072traqHniz2fmETO3VszOxMTkjz/+6O7uRr8LEAgECwuL1NTUlpYWKpWamJgoJSWFnovOD2595mh1esM1ZM1EKXz//n1fX98I+pzY2Fh0hzYzfjLfxsYmJSWlrq6OTqfn5ORs27aNvcPk3cPzHxW3Zo4zMzOrr6/PyspCz9xKTk5Gd98AAP7hYAk0AMMgJCR04sSJ5OTkkydPtra2CgoKTp06dffu3WgAvHTp0pKSEg8PDykpqeXLl8vLy6MFlgsWLGhpaTl+/Hhvb++sWbP8/f15HMLLyyssLGz9+vV0Ol1ZWXnfvn0SEhLMi1fNzMyOHj26fv36n376qbOz89ixY8eOHUMfaWtrnzhxglsyuHFwcKirq/Py8pKUlNy0aVNVVRX7O2CHG+fq1as/fvy4Y8cOYWFhNze3qqoq3k8o5dPcuXM9PDwiIiLa2trQG0E4vqRkSBYWFsLCwtnZ2ehKS1pa2sDAYO3atehTa2vrxMTEsrKykJAQS0tLX19fERERW1vbHTt27NmzJygoKCAggGO0ZDI5MDAwOjo6MzNz1qxZDg4O6KnRBAIhICAgOjra1dVVRERk3rx5np6eHGNgPjS+EY3ubG1t/f39m5qaZsyYsXPnTvSRv79/VFSUm5ubsLCwrq7unj17eG8fGVVVVScnp4CAADExMR0dHVNTU1T6HOuqlZVVY2Pjzp07Ozs7ZWRkVq5ciUaVeL29dOnS69ev79+/7+7uzvu4EhIS69atY3+ENYFACAkJCQ0NXbdunbS09Lp165hvA2bHfGiWkZWent7bt2+dnJwIBMKGDRvQVCE/1UxFRcXb2zsqKurjx49kMnnevHnodIyNjd+/f3/s2LG2tjYlJaVDhw6pqanxSJunp+fJkydXrlw5ffr0X3/9VUxM7NChQ4cPH2YPyS1jcXy2Dubc4HMXUVHRWbNmPXv2DJ87lZeXFxcXb29vRy9AQlOywcHBCQkJKSkp4uLiixcvZn/9GJrHNjY2fv36dXx8vIiIyIYNG77//vsR9DD89Fpo6H79+nX0eLyZM2e+f/9+/vz5vNemcmvF7BYuXHj58mULCwu8Uq1fvz46Onr79u00Gu37778/fvz4kCN5HLc+c7Q6veEasmYqKirq6en5+vq6ubk5OTkNt8+5devW9OnTUenj+Ml8Nze33t5ePz8/Op0+bdq0Q4cOsd8BzruH5z8qbs0cJysre/DgwcjIyISEBBUVleDgYElJSbjjF4B/PsKmTZvGOg0AjMQgk4GBAfQvP9NKgB2VSkU/5zMYDDs7u6NHj6JLRgD+hzG/zBP860Cv9a+WmZkpJyeHPx4S/PO5u7sLCAgQCAT0L26s0wXASMASaADGu+zs7PXr19fW1vb19V28eHHixInq6upjnSgAAOAKeq1/u8LCQvjBAgAwVmAJNADjnY2NTWNj4+7du3t7e6dNmxYUFDRat+wCAMDXAL3Wv92RI0fGOgkAgPELlkCDfytYAg0AAAAA8A3AEmjwvwSWQAMAAAAAAAAAGBdgAAwAAAAAAAAAYFyAATAAAAAAAAAAgHEBBsAAAAAAAAAAAMYFGAADAAAAAAAAABgXYAAMwD/OsWPHwsPDxzoVGIZh/f39lpaWr169GuuEcNbQ0GBpadna2sojjI+PT0ZGxjdMFAddXV2WlpZv377FMCw2NjYkJOQbJ2BMDjrqXF1dHzx48OXxjFZu8BNPenr6qlWrQkND8/PzHR0dv/yg/0u2bt2anZ2NYdiQmYOHHENnz54NDAzkP/xYNbrbt297enp+1UMwd2hf27c81pgYbr0CAIwKGAADAP7XZGRkfO1LwH8XW1tbd3f3rxd/f3//uXPnPDw8li9fvmLFih07dpSXl6OPqFTqzZs3v96heaitrS0pKfl68fOTq5cuXfLw8Pj5559H99D85Gpra6slk9WrVwcGBtbV1Y1uSkaFlpZWcHAwjwC+vr5GRkb8Rzjcon/16tWQP6V9iZycHBqN9pUi54e3t3dcXBz+Z2Njo6WlZW5uLr7l0aNHNjY2PT09Y5TAkdizZ8/t27d7e3stLS3b29vHOjkAgH8TGAADAMD/OEVFRVVV1a8Xf2RkZGFh4S+//JKcnBwXF6ehobFv376GhgYMwygUylgNgO/fv19aWvr14h8yVwcGBnp7e6dPny4sLDy6h+Y/Vw8cOJCcnJycnIxmIwMCAqhU6ugm5stJSEhoaWnxCDBjxgxZWVn+I/zaRT8sVCo1NjaWTqePYRoMDAyYM6S0tFRERIR5S1lZmZaWFplMHqMEjsSaNWv09PRIJFJAQMC/K+UAgDEnONYJAOBfhkKhhIaGNjc36+rqzps37+rVq+fOncMwrKmpKTo6uqqqisFgmJiYbNu2jUQi9fT0rFq1ys/PLyEhYc2aNba2tnl5eWlpaR8+fJCUlFy1apWdnR2K9vr165cvX+7u7l60aNHg4CB+uLKysvPnz9fW1pLJZHt7e3t7e/YkVVdXx8fHv379mkQiGRoaenl5CQkJPXnyJCYmxs3NLTs7u6WlRV1dfffu3WQymU6nx8TEPHr0qLe3V0VFZePGjTo6OtzSj+JvamqKiop6/fr1lClT/P390UU/j/Pdv3//tWvXWltbyWTyrl27eA8SPD09HRwcLC0tMQx7+/btli1bMjIyJk6c6O3tvWjRosrKyvr6+r6+vo0bN5qYmKB5rdDQUAqFMmnSJCcnJ36KjEajHT58uLCwUFRU1MvLC8Xj5eVlamqam5urqqq6b98+KvX/Y+/Mw5o6uoB/EyAJO7IYRBZ3LAoECyIioqIIqICKIAVUwLfihkWpoKBQrZS6oLIIImWpIAhoBVFAS/VVAXdkC+IKsm9hX7Pw/THPd798Se4lQVrftvP7w4eMc2fOPefMzJ07Z+YOx8bGPnnypLe3V1tbe//+/aqqqmDlxNzcvKys7NOnT2Qy+dChQ1lZWXQ6fWhoyNvb29DQUBhbYAmWk5Nz+fJlJpNpbW09NDTEZrO/++47LKMDgzo6Oubm5ra0tFhZWRkaGiYlJbW0tMydO/fQoUPi4uIIgty4cSMnJ6e1tZVKpe7cuXPBggUgGrOtre3IkSNYXoFfqcD83Lx69WrTpk16enpgMrN9+3Y1NTUikVhSUnLkyBE2m21nZxcREaGurp6QkHDv3r2enp6pU6fu2LGDRqMhCBIbG9vT0yMnJ1dSUtLd3b1y5UoPDw8EQYCvPnjwQEJCwtXVlUAgoDXevHkzKyurvb19ypQpDg4OFhYWCIJcvHixr6+vr6+vqqpqzZo16enpBALh4cOHv/76K7/yY2Ji7ty5IykpaWtrizqSQO2NT6tEIhEU6+fnt3TpUu4FTCyfLy0tvXTpUl1dHYVCWbJkiZeXl4SEBH9iRUUFt1Y1NTVxnF9BQQFMHZWVlX19fR0dHaurq/X09LAcnqddCBQJS/9Yduzs7IyKiiorK2MymTo6Ot7e3lQqlVvIoqKis2fPZmRkIAiSnZ197do1BoOhqKi4ceNGW1tbEAJtbW0N/hZoC3zTY5lVIFh3gSCImJhYSkrKjRs3mEzmunXrPD09wWsOgV4NYDKZmzZtYrPZmzdv3rFjh42NDU5PC2AwGN988018fLyamhpQSG5ubnR0NE7vSqfTIyIiGhsbdXR0QDPkwcjIKDU1taOjQ0lJCUyALSwsHj16NDo6CprVy5cvbWxswHR9TMcA3dS7d+9CQ0Obmppmz57t6+urqqo6PskFjqcC6ejo2Lt37+bNm21tbYeHhx88eFBUVDQ0NDRjxozJkydra2uDHlvgwIGVjtPzC8zPDZZjYzXwwcHBmJiYwsJCMTEx7tYk0K8gEMifClwBhkBEgMlkBgUFmZqapqenW1tbp6SkEIlE8Ax09OhRVVXV5OTkhISEjo6OyMhIBEHAnOT+/fthYWGWlpZ1dXWnTp3y9PS8du2ar6/vpUuXqqurEQT5+PFjZGTk7t27r169OmfOnMePH4Pqmpubg4OD7ezsrl+//tNPP924cePu3bs8Io2Ojh47dkxHRyc9Pf38+fOlpaVZWVmgagaD8enTp/Dw8Pj4+Lq6OhDwlpubW1lZGR0dff369TVr1oSGhrLZbCz5AdnZ2QcOHLhy5YqiomJSUtKY95ubmxsSEpKQkKCpqQnyjwMxMbHs7GwvL6/Y2NjNmzeHh4eD9wJRUVFsNjs5OTkkJCQ/P1+YovLy8iwtLVNTU62srCIiIjgcDhA1Nzd39+7dPj4+4AG6trb2/PnzGRkZOjo6hw4dAtnExMTy8/MPHDiQkJCgoKDg6+u7atWq2NhYKysr/gc1LFsI5O3bt5GRkd7e3leuXCGTyQ8ePAC+hGV0YNCBgYHIyMjAwMCMjIzc3NxTp07FxsaWlZU9e/YMeFpqaqq/v/+NGzc8PT2DgoLAMiwKllfgV8qfn4dp06bdvXu3qakJTbGxsVFVVTUwMPD09Jw5c2ZWVpampmZubu6dO3dCQ0MzMzNXrFhx4sQJEBcqJib28OFDfX396Ojo0NDQjIyMjx8/Ighy69at4uLisLCw+Pj4d+/e9fT0gMIfPnyYmJjo4+OTmZnp7Ox8+vRpsE1dXFz82bNnNBotJibGzc3N2NjY3t5e4Oy3pKRESUkpOTl53759SUlJz58/x9He+LRKoVCuX78OtvT7+voK46ghISHW1tbXr1+PjIysrq7Ozc0VmMijVWFKBoCFaDabjePwPO1CoEhY+seyY0xMTG9vb1xcXHJyMoVCiYqKwpKwtrb20qVLR44cycrKOnToUGJiIigBBcsWOKYf03w8YN0FmK2RSKSkpKTDhw+j6VheDZCQkDh79iyCIGlpaTY2Nvg9LT5YvSuLxTp+/LiRkVFGRsbWrVtv3brFf+3cuXNlZGRAWDiHwykrK1uzZg2HwwG30NLS0tTUZGRkJLxjgJcghw8f/vXXX8lkcmho6DgkxxpPBTI8PBwcHLx8+XLwHiQuLo5Op4eFhaWkpMyYMSMoKAiENmANHFjpOD2/wPzcCO/YAPAuKSoq6vz583Q6PTk5GaQL9CsIBPKnAifAEIgIVFZW9vf3Ozs7UygUExMT9E0/nU5vaGjw9PQkk8ny8vKurq737t1DH4MsLCzU1dUpFMrUqVOvXLmyaNEiCQkJPT09dXX1d+/eIQhSWFiora0N0levXg1enyMIUlBQMHPmzBUrVhCJRC0trXXr1vFPPwgEwoULF7Zs2UIikVRVVQ0NDdEzq5hMpqOjI4IgZDJZW1sbbP/r7+8XFxeXlpYWFxcHzxxiYmL48q9bt05TU1NOTs7MzOzTp09j3q+NjQ1Y09DX1wf5x4eJiQl4oU6j0Xp7e7u6uthsdnFxsYODg4yMjLKy8vr164Upx9DQ0NDQUEpKauXKlT09PV1dXSBdV1eXRqNJS0szmcy7d++6uLgoKSmRSKQtW7YwGIyKigqQzdjYWEFBgUgkamtrU6lUEKupo6PT0NAgvC34KS4u1tbWNjU1pVAorq6ukpKSIB3H6Ewmc+3atQiCfPXVVwiCmJubi4mJSUtLa2lpAWFyc3Otra1nzZpFJBIXLVqkr69fUFDAU69Ar8CvlD8/D97e3rKysh4eHjt37oyMjCwuLgazLB7AuwN1dXUSiWRpadnb29vc3Az+S01NzdjYGEEQTU1NRUVF4DaFhYUWFhYaGhoUCsXd3R11sPz8/FWrVs2bN09cXHzp0qVz584tKioC/yUpKWlnZ6egoIDvErKysg4ODlJSUgsXLtTR0Xn69CmO9satVZFgs9mDg4OysrJiYmIqKirh4eG2trYCE0UtGTA4OBgfHy8vLz9nzhx8h0fbBVbtOPoXaMd9+/YFBQXJyclJS0svW7YMp1H09/cTCAQ5OTkikTh37tzMzMzp06dzZ8CxBZbphTEfDwLvArjNpk2bgNsoKirW1tbiezU/+D2nMPD3rnQ6vbu7e/PmzSQSae7cuUuWLOG/ikgkLliwAMQ8v337lkgkTp8+XU9PD6S8fPlSWVl52rRpQjoG+Ll27VpNTU15eXlHR8fXr1+j76eElxxrPOVndHT01KlTVCoVHO4wOjqan5//zTffTJ48mUwmb9mypa+vr7KyEmTmHziw0vHvF6scFOEdG7yn+OOPPzZv3kylUlVVVX19fdG1eoF+BYFA/lRgCDQEIgIdHR0KCgpoCOisWbPAmNfY2AgiEnkyKyoqgscpkEIkEgsKCu7cudPT00MgEHp6ekZGRhAEaW9v544JVFdXB380NTXR6XQQSQVQUVHhl+r169dpaWmNjY0EAmFwcBAN8COTyTIyMuBvEokEXpCvXr36wYMHLi4uCxYsMDExWbp06Zjyg5AwUCAQGD8/iLIDqx8g//hAywErVyMjI52dnRwOB9UVqih8UPkpFAqYq4CfU6ZMAX8wGAwmk3no0CHuq5qbm8EDCrcY6OO1uLi4wMdWLFvwA8JHwd9EInHGjBngbxyjS0lJgXkyUAi3MEDPTU1NpaWlaWlp6LXy8vI89Qr0CpxKBebnQVlZ+cSJE+3t7a9evSorKwsLC1NQUPjpp5949m2yWCyw3IoWgroHd060lvb2duCf4BkRvZempibuiGINDY2WlhbwN6pSfNTV1dGAaiqV2t7ejqO9cWtVJMTExDw8PE6dOpWenm5oaLhq1aqpU6cKTBSpWF9fX3Cnw8PD6urqR48elZaWbmlpwXF4VIdYtePoH8uO8fHxb968YbPZLBaLfyUNZe7cuaamph4eHrq6usbGxhYWFrKystwZcGyBZXphzMeDwLvgqQLtDHG8mh+snhPto8aEv3dtb2+XlZVFRyUNDQ0Q0cCDoaHhL7/8Mjo6WlJSYmBgQCAQDAwMioqKHBwcSkpKwG4O/J6QR8No9ws65I6ODnzF8kuONZ7yc/ny5adPn165cgU4c2dn58jICBr+ICUlpaSkhDoh/8CBlS58zy/QrMI7NoIgXV1dQ0NDqA5nzpyJ/pdAv4JAIH8qcAIMgYjA6OgoiOYCoPFa4PGX/3M7YCQTExMDP2/fvp2enn7s2DGwgrdr1y6QzjOVQsc/Mpm8ePFi/G8k1NbWHjt2bN++fRYWFmJiYjExMehzgEAmTZoUFRVVWVn55MmTX375JTs7+8yZM/jyc++9FOZ++fMLCc8DBH85QFFoupDTDCx5UFOC55vo6Gie5Sb+y/FvTVRbcPsSWrIwRseCRCJ5eXmhG8uF53MqRVFWVl65cuXKlSsHBga8vb0zMzO9vLy4M4SHhzc1NYWFhSkrK/f393NvaBeo2JGREe50nOdC9L+4VYoDz6lU4CeW9satVWHg9nl7e3tzc/MnT54UFxfv2LEjICDAxMREYKLw5fv7+0+bNg1BEDk5Oe4pOo7Dc+tQyNpR/fPbkc1mBwQELFy4MC4uTkpKqri4+NSpU1jSEolEPz8/Z2fnJ0+e/P7776mpqeHh4dwvB3FsgWX6cZgPq5kLTMfxan6wek4chOkVuROxekVDQ8OwsLAPHz6ADcBgYTM2NnZkZOTVq1f79u0TyTH4GxH/YQdjSo41nvLT0tKipaWVlJS0d+9erDzoMCq8+YTv+fkR0rF5lADiq0WqCAKB/BnAEGgIRAQUFBQ6OzvRJ4wPHz6AP9TU1Pr6+tra2sDPoaEhgV9loNPpBgYGYPbb19eHxtAqKipyz5Tq6+vRYrm/fwhee/OUWV1dLSsra2lpCabZYFMxDoODg8PDw/Pnz/f09IyKinr9+vWHDx+ElB9F1Pw4cK8St7a24mdWVFQkEAiorlBFfSaTJk2SlJRErQmet8ZRjki2kJeXR0MlR0dHUUMLY3Qs1NTUuPePtba2CnzeEnjhuCttbGw8ceIE9wdUpKSkNDU1+/r6eHLS6XRLS0uwvPb69esxS1ZSUkJVBPY/g7+nTJnCLW1dXR0aZCEk3J7T0tICRMLS3ri1ioVAnx8dHe3s7Jw0aZKVldUPP/xgY2OTn58vMFGkupSVldXU1NTU1NDZr/AOj1W7SPpvb29va2uzt7cHC334dmexWD09PZqamps2bQoPD1dUVCwsLOTOMA5bTLj5eBDJq4XpOXnWG8fsFZWUlHp6egYHB8FPrF5RUVFx5syZJSUlr1+/NjAwAEu4cnJy+fn5fX19IEWknhAdv0AeEEUskuRY4yk/Bw4cOHjw4J07d8BhB5MmTSKTyWio8MDAQEdHh6idwGf2/DiOLbCBKyoqkslkdHNEdXV1Xl6eqAJDIJCJAk6AIRARmD9/PpFIzMzMZDKZz58/LykpAemzZ8+eM2fOhQsXenp6+vv7IyMjT5w4wX85lUqtqakBo3V4eLiKikpHRwc4orO6urqoqGhwcPDmzZvo5ygtLCw6OjrS0tKGh4dbWlrA0Uc8Zaqqqvb29tbW1g4MDCQnJw8PD+N/zfLs2bNnzpzp7u7mcDgVFRVgd5+Q8qOImh+cmMJ/gheCIFOnTi0rKwOPTeCIHRzIZLKurm5GRkZXV1dTU5PA417Gx5o1a1JSUurq6lgs1s2bN3ft2jWOT2KKZAsjI6PKysqXL18ymcy0tDS0OmGMjsXatWvv3bv37NkzNptdUVGxc+dOdD8bPp9TqYqKyvv374ODg0tLS9vb2xsaGq5du/bkyRMQJUsikTo7O3t6ephMJpVKpdPpHA7n3bt3OTk5YmK1jKiEAAAgAElEQVRiwP+xMDIyKigoqKmp6e3tTUxMRA/Ltba2LigoqK6uZrFY9+7dq66uBitaPJBIpObm5r6+Pv7QxLa2try8PBaLVVJSQqfTTU1NcbQ3bq1iIdDn6+rqtm3b9vLlSzab3dXVVVNTo6qqKjCRR6sIgly4cGHMN188COPwWLULqX+AgoKChIREZWUli8UqLCwsLy8fGhrCalz5+fn79++vr6/ncDh1dXWdnZ08YbdC2oLb9BNuPh7G9Grgt/X19UNDQ8L0nDIyMnJycsBDWltb0f3VWOjo6FAolCtXrgwMDKDn4QnEyMjo1q1bysrKkydPBik0Gu3GjRvcH0ASvicEZ54PDAxcu3bt66+/lpSUFFVyrPGUH3A2wbZt286ePQs2EK1evRqcaz08PJyQkDBp0iTwOQNRGXfPj+PYAhs4kUhcuXIlqKuxsTEiIoL/FAkIBPKXAUOgIRARoFAo/v7+cXFxmZmZCxcudHBwyMnJAf91+PDhqKgoNzc3EolEo9H8/f35L7ezs6usrHR2dlZWVt6xYweDwYiOjlZQUHBwcPj2228vXLjQ399vYWFhbm4O1igUFBSCg4Pj4uJSUlLk5ORWrFixefNmnjL19PSsrKx8fHwoFIqtra2vr6+/v39QUNC6desE3sLu3bvPnz/v7u7OYrE0NDQCAwPBxi1h5OdG1PzPnj2Tl5dftWoVT7qbm9vJkye3bt2qqKjo6Oj4+PFjgecnofj6+p4+fXrr1q1UKtXd3b28vBx/55WQuLm5DQ4O7t+/n8VizZgx48SJE+P4sCSWLb7//nuBmV1cXE6fPg32BBoaGoJAOGGMjsXChQs9PDwiIiI6OzvBF18EfhOFn8+pVEJC4tSpU8nJyWfOnGEwGOLi4tOnT/fz8wMTYHA4raura0hIyPbt28+cObN+/fqZM2ceOHBAVlb2xIkTISEhWCU7Ojq2trb6+vqSSCQ3N7eqqipga1NT0/r6+p9//rmzs1NdXf3EiRMgypcHCwuL0NBQd3f3K1eucMdnslgsU1PT9+/fx8bGUigUT09PEJSBpb1xaxULgT6vqam5Z8+eqKio1tZWKSkpY2PjLVu2SElJ8SfyaHX+/Pm5ubna2trgMzDCyzCmwwsUSXj9A8hk8t69exMSEmJjY42NjYOCgvz8/LZt25aSksKf2drauqmp6fvvv+/t7VVSUlq/fj1PxLWQtuA2/YSbj4cxvVpNTc3AwMDHx8fNzc3JyUmYnnPv3r1xcXHZ2dlqamp2dnb433yWkpI6evTohQsXbty4MX/+fAcHB6zD5w0NDdPS0tasWYOmGBgY/P7775aWlmiKMI4BumhbW9vDhw83NzfPmTMH7eJEkhxnPBXI+vXri4uLIyIiAgIC3N3dL1y4sHfvXiaT+dVXX508eRLng3M4jLvnx3FsrEFtx44dUVFR3t7eEhISZmZmbm5u4xAYAoFMCIRvv/32S8sAgYyHUS44HA74V+AnTyYWJpNJJBJBjGtKSkpFRcVPP/30Z1f6D+Djx495eXk7d+780oL8DzE8PIyuavr5+dFoNGdn5y8tFAQCgfxFwPH0b8SWLVuIRCKBQAD/onxpuSCQ8QBDoCEQEWCz2Vu3bk1KShoeHq6pqcnLywPfToSMyaNHj8YXovZPpaamxt7evri4eGRk5PHjx+Xl5dCXIBDIvwc4nkIgkC8FXAGG/F35UivAdDr94sWLHz9+lJOTW7Zs2datW8cXeQWB5OfnX716ta2tjUqlOjk58ceHQyAQyD8YOJ7+jYArwJB/EnACDPm78qUmwBAIBAKBQCD/KuAEGPJPAoZAQyAQCAQCgUAgEAjkXwGcAEMgEAgEAoFAIBAI5F8BnABDIBAIBAKBQCAQCORfAZwAQyAQCAQCgUAgEAjkXwGcAEMgEAgEAoFAIBAI5F8BnABDIBNPUVHRpk2bvrQU/4uIqpm/uyZLS0tdXV23bt2KlWFkZMTKyurNmzc86X19fVZWVjU1NX++jH86jY2NVlZWDAaDJz0mJub48ePCl/Pzzz+Hh4cL4xU7d+7Mzs7mT3dxcbl//77wNfKL+mUdEuu+/tfYt29fZmam8Pn/yvsS3os+E6y239HRsWfPnnXr1jU2NgpZlKj6/AsQpoPCN+uXakqf42xoByJq3wWBQP7XEP/SAkAgkPFTW1vb3t7+9ddfT2yx4eHht2/f5klcuHDhsWPHJraiMZk3b15wcPCfXcv9+/dDQ0N5EslkclZW1meWfO3aNV1d3b17935mOf9IbG1tmUzmOC4c0yt8fHwUFRU/Q7SJ4dKlS69evYqKikJTXF1d9fX1v//+e/Czu7vbycnpxx9/NDQ0/HJiTgwT0hcNDw8XFBTY2NhMnFyY/Nl9C1bbv3///sDAQEpKioyMDP9VO3bs2Lp168yZM93d3fk74S/C0NCQs7OznJxcYmLimN+8efr0qZqamrq6+pjNkFv/3FeBRvHbb7/997//ffjw4YkTJ/jzfA4T0jmMu++CQCD/I8AJMATyN+bevXtMJnPCJ8AIgujp6X333XfcKRQKZcJrGRN5eXl5efm/oCIymRwdHc2dMiGfN+zv7583b56UlNTnF/XPQ01NbXwXjukVc+bMGa9QE4mhoeG1a9e6u7uBtPX19X19fSUlJWiGV69ekUgkPT29LyrmxDAhfRGdTr99+/ZfMwH+s/sWrLbf19c3ZcoUOTk5gVft2LFDS0tLRkYmICDgz5NNJO7fvz99+vTm5uZXr14ZGBjgZ05LS3NycgLTVPxmyK1/7qukpKQCAgLIZLKBgQH3dJc7z+cwIZ3DuPsuCATyPwKcAEMgIjAwMLBhw4b9+/fHxcW5urra2tqWlJQkJibW1tZKSUlt3Lhx48aNPJcMDw/HxsY+efKkt7dXW1t7//79qqqqcXFxVVVVZ86cAXlevHgRHByclpY2MjISFRVVVlbGZDJ1dHS8vb2pVCqCIHv27Fm+fHlFRUVDQ8PQ0NB//vMfMzOzy5cvp6enEwiEhw8f/vrrrwiC3LhxIycnp7W1lUql7ty5c8GCBQiCXLx4sa+vr6+vr6qqKi0tTaA8/HdKoVAEjvHFxcWxsbHW1tbJycnnz5+fPn16Tk7O5cuXmUymtbX10NAQm80GM2cszRAIhLt37yYmJg4NDS1atMjb25tMJj9+/Dg6OtrNzS07O7ujo2PWrFl+fn5SUlJFRUVnz57NyMhAECQ7O/vatWsMBkNRUXHjxo22trYgzvDSpUt1dXUUCmXJkiVeXl4SEhJYqsBH4P0Ci/v5+d28ebOxsXHWrFleXl4xMTENDQ3S0tJHjhyhUqlgyeL777/Pzs5ua2tTUVE5fPgwlUr19fWl0+nV1dW5ubmJiYnNzc0XLlyoqqpis9lmZma7du0ik8mglubm5qioqPfv30+dOvXw4cNaWlrcMmzfvt3BwcHKygpBkJqaGi8vr8zMTBkZGYFegSAIg8EIDQ2tqqpSV1ffvn17QEBASkqKkpISlumxyvlMGU6fPk2n0ydPnuzk5CRQ4TExMW1tbUeOHMGyPoIgOTk5V69e7e/vX758+ejoKLgQ9Qpvb++vv/4ajTJNSEgoLS09d+7czp07ra2tbW1tWSxWdHT0gwcPJCQkXF1d0Zca4eHhg4ODfn5+4OemTZt8fHwWL14skufgGBQwf/58CoXy8uXL5cuXIwjy8uXLhQsXlpSU1NbWAhO/fPlSX1+fRCJhmWb37t3Lli27c+eOlpZWYGAggiC9vb2BgYFlZWWTJ0/28vICS8cCrUMkEjds2HDkyJHr168zGAwpKamDBw+Ceul0+unTp9vb22k0mrGx8bVr1+Lj43nuTiRv4e+LmExmSEjIkydPJCUld+/eDbyis7NTYP8GKCkpOXLkCJvNtrOzi4iI0NTUFGiL2NjYnp4eOTm5kpKS7u7ulStXenh4YNkIgO9FwpgSS3gGg/HNN9/Ex8eD3iM7Ozs3Nzc6Opqn7aOFJCYmZmRkjI6O2tnZRUVF3bp1i7tz3rNnj4WFBbjNWbNmWVlZJScnKysrY+lTSLcReHegZxPoHjzk5eWtWLGisbExLy9P4AS4o6Nj7969mzdvfvToEZ1O//HHH83MzA4ePAiaoaqq6vHjxzMyMsAr1IGBAScnp6CgoJGREaD/gwcPcl/14cOHGzdunDlzhkwmm5iYaGtrS0hI8OT5nK4M7RyEcSSsDgTtu3CcR+CAhWML/FEG38MhEIiowD3AEIgIiIuLgzfiYWFhlpaWzc3NwcHBdnZ2169f/+mnn27cuHH37l2eSy5evFhbW3v+/PmMjAwdHZ1Dhw5xOJylS5fS6fSuri6Qp7Cw0MjISFpaOiYmpre3Ny4uLjk5mUKhoMGTYmJi2dnZXl5esbGxmzdvDg8PHx0ddXNzMzY2tre3B0+c9+/fT01N9ff3v3HjhqenZ1BQENhjJi4u/uzZMxqNFhMTgyWP8BqQkJDo7u5uamqKj4/X0NB4+/ZtZGSkt7f3lStXyGTygwcPiEQiGOaxNDM4OPjixYsLFy6cO3eutLQ0JSUFCMlgMD59+hQeHh4fH19XV3fnzh3uemtray9dunTkyJGsrKxDhw4lJiZ+/PgRQZCQkBBra+vr169HRkaCx00cVYzb4oWFhadOnYqLi6PT6cePH/f19Y2Pj5eVlf3tt9+AdRAE+eOPP37++eeUlBRNTc3Tp08jCHL69OmvvvrKzc0tMTGRw+EcPXpUVVU1OTk5ISGho6MjMjISrSU7O/vAgQNXrlxRVFRMSkoSUjaBXoEgyLlz5xAESUlJ8ff3T0hIQFezsUyPVc7nyBAVFcVms5OTk0NCQvLz88dUskDrf/z4MTIycvfu3VevXp0zZ87jx495Lly6dGlRURH6s7CwcNmyZdwZbt26VVxcHBYWFh8f/+7du56eHnxJhPccfIMCJCQkaDTaixcvwM+SkpJ58+bNnz8fXQQuKSkxMjLCMY24uHhubu7u3bt9fHzAJTk5Ofb29mlpaebm5sePH+/t7cXRKoIgubm5ISEhCQkJmpqawLWYTGZQUJCpqWl6erq1tXVKSgposzyI5C08fRGYNVlaWqamplpZWUVERIBrsfo3gIGBgaen58yZM7OysjQ1NbFsISYm9vDhQ319/ejo6NDQ0IyMDNAVYDGmFwljyjGF54G77XOnb9u2bdOmTQYGBllZWerq6jydMw4C9SmM22DdHZZ78FBbW/v27Vtzc3MLC4uioiJ+fxseHg4ODl6+fLmtre3JkyelpKQCAwMPHjyIZliwYAGZTH7+/Dn4+fTpUykpKe6JNPdVo6Ojx44d09HRSU9PP3/+fGlpKdiHwlPyhHRlwjjSmB0IlnoFDlj4tsAfZSAQyMQCJ8AQiMhYWFioq6tTKJSCgoKZM2euWLGCSCRqaWmtW7eOZ9rGZDLv3r3r4uKipKREIpG2bNnCYDAqKirmzJlDpVLBoxiHwykuLgYP7vv27QsKCpKTk5OWll62bBn32UgmJibgNTCNRuvt7UUnzyi5ubnW1tazZs0iEomLFi3S19cvKCgA/yUpKWlnZ6egoIAlD/89Pn/+3O7/B32CGRgYcHFxUVZWFhcXLy4u1tbWNjU1pVAorq6ukpKSIA+OZphMpru7u7y8vIaGxurVq58+fYqmOzo6gmhkbW3turo6bnn6+/sJBIKcnByRSJw7d25mZub06dPZbPbg4KCsrKyYmJiKikp4eDh4y46jCiyGh4d57pf7ydXS0lJMTExGRkZDQ8PAwEBBQYFAIHz11VfcsyNra2sKhUIgEGxsbMrLy/v6+rjLp9PpDQ0Nnp6eZDJZXl7e1dUVhIyC/123bp2mpqacnJyZmdmnT5/wReWG3yuYTObz5883bdokJyenpaW1du1aVL04ph/Tu0SSgc1mFxcXOzg4yMjIKCsrr1+/fsxCBFq/sLBQW1t70aJFEhISq1ev5l+iX7p0aW1tLbBCbW1tQ0PD0qVLuTMUFhZaWFhoaGhQKBR3d/cxt+0J7zn4BkUxNDR8+fIlgiBsNru0tJRGoxkYGICUhoaG1tZWQ0NDfNPo6urSaDRpaWm0QENDQykpKUdHRw6HU1ZWhn9HNjY2YD1KX18fuFZlZWV/f7+zszOFQjExMaHRaALN8Znegsq5cuXKnp4ekAenfxPJFmpqasbGxgiCaGpqKioq4jeZMb1ISFOKJLzwoJ0zfjZ+fQrpNvh3x+8ePOTm5n799dfy8vKzZ8+eMmXKH3/8wf2/o6Ojp06dolKp27dvx5JcXFx88eLF6IuqwsLCJUuWgJeG/BAIhAsXLmzZsoVEIqmqqhoaGvLreQK7sjEdacwOBEu9AgcsfFsIM8pAIJCJAoZAQyAigz5CNTU10el0EHkIUFFR4c7JYDCYTOahQ4e4E5ubm/X09MzMzIqKiqysrOh0+uDgIBiG29vb4+Pj37x5w2azWSwW99trJSUl8AeJRAKnB/NI1dTUVFpampaWhqagO6ymTJkypjw8pc2fP59nDzAqgLi4OIjKAwKjhROJxBkzZoypGQkJCTSgi0qltre3g7/JZDJ6KgwICuWufe7cuaamph4eHrq6usbGxhYWFmDe6+HhcerUqfT0dENDw1WrVk2dOhVfFVjw7wHmPqIGPTSFRCKhj6ri4uLcVkAjyYGiGAwGdwmNjY0gtpO7io6ODlAyei2ZTOa3LA78XtHV1cXhcFCjzJo1C/yBb/oxvUskGTo7OzkcDmplYbbtCbR+e3s7d+wffzmTJ0/W1tYuLi7euHFjYWGhnp4ez/E27e3t6JRYVlZ2TDcQ3nOwDMqzocDIyCgyMrK2tra/v59CoWhpaREIhPj4eBaLVVJSoqampqam1tLSgmMa1JQ8SiCTyQoKCm1tbfh3hFpHQkICmLWjo0NBQQHdmzpr1iz+OcbnewuqBxD4Cp7ycfo3fnBsgfY/AvsKHsb0IiFNKZLwwsNjXyz49YlvI7RY/J6H3z24YTKZBQUF6DleFhYWeXl53EVdvnz56dOnV65cwT8xYenSpaGhoWw2m81mP3v27Mcff8TJ/Pr167S0tMbGRgKBMDg4yL8HYQK7sjEdacwOBEu9AgcsfFsIM8pAIJCJAk6AIRCRQd9ek8nkxYsXHz16FCsnGIOjo6OnT5/O81/m5uY+Pj5DQ0OFhYUmJiZkMpnNZgcEBCxcuDAuLk5KSqq4uPjUqVNo/jHPZCKRSF5eXvb29vz/BSKs8OXhAWsPMPft8xTOLSSOZsAeXW6x8SUBEIlEPz8/Z2fnJ0+e/P7776mpqeHh4VQq1d7e3tzc/MmTJ8XFxTt27AgICDAxMcFRBQ4455pwKx/LEGw2G/wBgvF4soEJHv+3TMDDjfAHbvE8dvNfCDKgSkajW/FNL9KJX2PKAGY7aDr+/AQHnvUWgQ+CIAoaTIDR5W7uS7jFG/NRUnjPwTIoD1QqVV1d/eXLl/39/SDsU1NTU0pK6vXr1y9fvgQ7ePFNw92++NsLf/MRxkO4yxQY//z53sKfB79/EygDli1EctcxvUgYUwop/DhmxTz2xSqK/5aFdJvP6XkePXrU29t75swZcFwFh8NhMplv3rxBz5FqaWnR0tJKSkrCP+jewMCAQCCUlZUNDQ3JyMjMmzcPK2dtbe2xY8f27dtnYWEhJiYWExPT0tIi0o2L5BtjZh6zA8FxHv4BS3hbTMgRjBAIBAcYAg2BjB81NTXuDyF2dnbyDJCTJk2SlJT88OEDmoIO57NmzVJRUXnx4kVRURGIf25vb29ra7O3tweLM69fvxZVGO4tTK2trfybe3HkGR/y8vLNzc3g79HRUVQbOJoZGBjo7OxEa+d+B48Di8Xq6enR1NTctGlTeHi4oqJiYWHh6OhoZ2fnpEmTrKysfvjhBxsbG7DdVBhVTDhooFpLSwuBQEAXIgBqamp9fX3oet3Q0FB3d7eQJXMvzrS2tuJnBmsUTU1N4Cdq6880vUgyKCoqEggEtPz6+nrhK+Iph1tIgeWYm5tXVVW9efOmtrZ2yZIlPP+rpKSE+ieDwRgYGAB/k0gkbodEdzYK7znCG9TIyKisrKyiogLd90ij0crKysrLy8EGYJFMgyoBrPaD5iOSdRQUFDo7O9G3Etz1okx4RzGO/m2iWvGYXiSMKbGE51lmHFP5+HC75ZhFCWmjz+l58vLyVq5cGf1/uXjxop6eHveW/gMHDhw8ePDOnTvPnj3DKUdMTGzx4sVPnjwpLCw0NzfHmd1VV1fLysqCYGDwc9w3PiFgdSAoWOoVOGB9ji0gEMjEAifAEMj4sbCw6OjoAEcrt7S0BAYGgjNFuVmzZk1KSkpdXR2Lxbp58+auXbvQQdTMzOy3337r7+8HUV4KCgoSEhKVlZUsFquwsLC8vHxoaIh/xOWGRCI1Nzf39fWNjo6uXbv23r17z549Y7PZFRUVO3fuFLi5F0cebsAd8cCfzcjIqLKy8uXLl0wmMy0tDS0KRzMSEhK//vrr8PBwc3Pz3bt3TU1NhVF1fn7+/v376+vrORxOXV1dZ2fnlClT6urqtm3b9vLlSzab3dXVVVNTAwIFsVQBDqbGqoL/fkX60uOtW7fa29v7+/szMzP19fV5Pn8ye/bsOXPmXLhwoaenp7+/PzIyEv2+5ZhMnToVbPUcGRkBp3zhQCaTdXV1r127NjAw0NDQwP0pUSFNP1EyZGRkdHV1NTU13bp1S8haeDAyMqquri4qKhocHLx58yaDweDPo6ysrK2tHRsbu2DBAllZWf4SCgoKampqent7ExMT0aN91dTU3r59OzQ0hCBIRkYGumAuZCMSyaBGRkbgQGDuCXBBQcHQ0BC69UB40zx+/Li6uprJZGZmZpJIJH19fVGtM3/+fCKRmJmZCbaLc3+WiRtRvYW7LxKYQZj+jUQidXZ29vT0MJlM4W0BaG1tDQ8P5z+maEwvEsaUWMLLyMjIyckB5be2tnIfyTYOpk6dWl5eDhZahfkIsDA2GnfPA0LQbW1t1biwtra+d+8e+vYEHPGwbdu2s2fPAs2TyeSGhgZ+MZYuXfr8+fNnz56Zm5vz14Vepaqq2tvbW1tbOzAwkJycPDw8jNqLu+TP6cpEAqsDQcFSr8AB63NGAQgEMrHAEGgIZPwoKCgEBwfHxcWlpKTIycmtWLFi8+bNPHnc3NwGBwf379/PYrFmzJhx4sQJdGpkbm5+9erV1atXg+dvMpm8d+/ehISE2NhYY2PjoKAgPz+/bdu2gXOSBWJhYREaGuru7n7lypWFCxd6eHhERER0dnaCr4YI/L4ojjzclJaWol+XARCJRP5nMj09PRcXl9OnT4OtTYaGhuDtPpZmWCyWoqKitra2h4fH0NCQqanphg0bhFG1tbV1U1PT999/39vbq6SktH79ehMTE/Ddi6ioqNbWVikpKWNj4y1btiAIgqWK9+/f37t3b9u2bfzlDw8P89wvOMpV+I9GWlpaBgQENDY2zpgxA3yxhofDhw9HRUW5ubmRSCQajebv7y9kyW5ubidPnty6dauioqKjo+Pjx4/RcGuB7Nu378yZM99888306dNdXFwCAwNBmKuQpp8QGXx9fU+fPr1161Yqleru7l5eXj6O6FA9Pb1vv/32woUL/f39FhYW5ubmAtcAzc3NY2Jivv/+e/7/cnR0bG1t9fX1JZFIbm5uVVVVQIxVq1a9ePHCw8Nj0qRJ69ato1KpLBYLx3MEIqRBdXV1h4aGJk+ejAYFGBgYhIWFff311+jztJCmYbPZ69evT0pKqqiooFKpR44cASWIZB0KheLv7x8XF5eZmblw4UIHB4ecnBz+bKJ6C3dfJDCDMP2bkZFRRkaGq6trSEiISLZAEKSrq+v27dtOTk48n9gVxovGNCWO8Hv37o2Li8vOzlZTU7OzsxNm4oqFs7Pzzz//DOzo4uJy//59/FYjpI3G1/Pk5eVNnz6dpwNcsmTJhQsXHj58uGjRIjRx/fr1xcXFERERAQEBNjY2CQkJJSUlx48f576QRqP19PTIyMgI7FG5r7KysvLx8aFQKLa2tr6+vv7+/kFBQSDAB83zOV2ZSGB1INwIVC/WgDXuUQACgUwshG+//fZLywCBjIdRLjgcDvgX/QgH5C9jeHgYfY738/Oj0WjOzs5fWihMDh48ePLkyYkts6+vz8HBISYmZtq0aRNb8vjgcDgsFgsEZ1ZUVPj7+2dnZwvc6gn5d8JkMolEIogyTUlJqaio+Omnn760UBPAsWPHfHx8+AMBIBDI57NlyxYikUggEMC/KF9aLghkPMBHIggEMn5qamrs7e2Li4tHRkYeP36Mbmv836SsrAw9p/ofTEhISFBQUHd3d2dnZ2pqqqGhIZz9QlDYbPbWrVuTkpKGh4dramry8vL+l9us8AwMDPT09MDZLwQCgUDGBK4AQ/6uwBXg/xHy8/OvXr3a1tZGpVKdnJxWrVr1pSX6q/lfWwFmMBgRERGlpaViYmJ6enq7d+/m+TgQ5F8OnU6/ePHix48f5eTkli1btnXrVp6z2SEQCIQHuAIM+ScBJ8CQvytwAgyBQCAQCATyFwAnwJB/EjAuDgKBQCAQCAQCgUAg/wrgBBgCgUAgEAgEAoFAIP8K4AQYAoFAIBAIBAKBQCD/CuAEGAKBQCAQCAQCgUAg/wrgBBgCgUAgEAgEAoFAIP8K4AQYAoH8z7Fv377MzMzPL6ejo2PPnj3r1q1rbGycCLnGyc6dO7Ozs/+8/BNLUVHRpk2bxnftnyH5yMiIlZXVmzdvJrbYzycjI2PDhg2nT5/+66uOiYk5fvz4X1/v3wsXF5f79+//qVX09fVZWVnV1NT8qbXwIND6n9NsJ4TGxkYrKysGg/EFZZgQGhsbjxw5snHjRicnp1OnTvX3939OUf8MnUAg/zzEv7QAEMjfjO3bt9fX14O/5eXldXR0PD091dXVv7Rc46G2tra9vf3rr7+eqALLy3uiKiEAACAASURBVMtTU1PfvXvX19c3adIkc3Pzbdu2kUikiSpfVO7fvz8wMJCSkiIjI/OlZBgHPj4+WF/uffr06W+//fbmzRsmk6msrLx48eJvvvlGSkrqL5fxn0ZeXt6tW7caGhqGh4fV1dVtbW3XrFmDf8mVK1c8PT0tLS3/Khm/AE+fPlVTU/ub9m9/AZKSkidPnlRVVR0zZ29vb1paWmFhYXt7u6ys7Pz5811cXCbwy+Hz5s0LDg6eqNImkPDw8Nu3b4O/ZWVlZ8+evXbt2sWLF4954c2bN62srP7iL1RzOJxjx47NnDnz0qVLQ0NDJ0+eTEpK2rVr118pAwQC+QuAE2AIRGScnZ3XrFkzOjra3t6ekJBw7Nix2NjYLy3UeLh37x6TyZyoCXB9fX1AQICjo6O3t7ekpOTHjx/PnTvX39/v4+MzIeWPg76+vilTpsjJyX0pAcbHnDlzBKbfuHEjJiZm3bp1W7ZskZSUrKmpSUlJKSkpOXfu3F/8mPgP4/fff7948eJ33303f/58AoHw/PnziIgICoViYWGBdQmHwxkcHJw5c+YXfL/zF5CWlubk5AQnwFiIiYnp6emNma2vr++7775jsVgeHh7Tpk1jMBg3b9787rvvwsLCZsyYMSGSyMvLy8vLT0hREw6NRvP19WWz2S0tLY8fPw4JCVm/fr2npyfOJcPDwzExMStXrvyLe7bGxsaampqTJ0+CUcPQ0PDt27d/pQAQCOSvAU6AIRCRkZaWVlZWRhBERUXF3t7+xx9/5HA4RCLx4sWLfX19fX19VVVVaWlp4B12VlZWe3v7lClTHBwcLCws8vLysrKyoqOjEQSpqqry8fE5fPjw0qVLEQT54YcfZsyY4ezsHB0d/ejRo8HBQU1Nzf/85z/6+voIgjQ3N1+4cKGqqorNZpuZme3atYtMJg8MDGzYsGH//v1xcXGurq62trYCBR4eHo6NjX3y5Elvb6+2tvb+/ftVVVUvX76cnp5OIBAePnw4b948eXl5Ly8vBEGuXr2akJCQlpamoKAwOjrq6OgYGBioq6ubkJBw7969np6eqVOn7tixg0aj8dRCp9MlJSVdXV3BTxqNdvjw4ZaWFvBz+/btDg4OVlZWCILU1NR4eXllZmbKyMgMDg7GxMQUFhaKiYktWbLEy8sLPPEwmcyQkJAnT55ISkru3r3bzMwMQZDOzs6oqKiysjImk6mjo+Pt7U2lUhEE2bNnz/LlyysqKhoaGoaGhv7zn/+YmZklJiZmZGSMjo7a2dlFRUXdunWL2zpYRTEYjNDQ0KqqKnV19e3btwcEBKSkpCgpKQnUIVbV/Cbo7e0NDAwsKyubPHmyl5eXoaEhll1AILG1tTWPNRkMxi+//LJt27bNmzeDlGnTptFotJSUlK6uLhUVFQRBysrKfvnll0+fPk2aNMnU1NTd3Z1IJOKk5+TkXL58mclkWltbDw0Nsdns7777jrtSgV6H3zpEutPdu3cvW7bszp07Wlpau3bt+uabb+Lj49XU1BAEyc7Ozs3NBS0FSBIVFfX+/fupU6cePnxYS0sLv1EcOXLk+vXrDAZDSkrq4MGDID8Wr169MjQ0NDc3Bz8tLS1lZWUVFBTAT37tjYyMODk5IQji5+e3dOlSX1/fkpKSxMTE2tpaKSmpjRs3bty4EUGQ4uLi2NhYa2vr5OTk8+fP3717t6enR05OrqSkpLu7e+XKlR4eHjyS8Fwyffr0Gzdu5OTktLa2UqnUnTt3LliwgOcS/qr7+vo2b958/PhxAwMDkMfHx0dXV9fDw6O6ujo2Nvb9+/dkMtnExGT37t0SEhJYGjt48CCdTv/xxx/NzMwOHjwoUHVxcXFVVVVnzpwBP1+8eBEcHJyWliYtLS1Qcu5O0sDAAL/b0dfXF1hIbGysQE2yWKzo6OgHDx5ISEi4uroSCARUTpHKQWlsbPTw8MjIyJCVlWWz2Rs3bly5cuWePXtAgY8ePQoODnZwcIiJiZk2bRq3MwcGBnKXk5qa2tvb+8svv8jKyiIIoqWlZWBgcO7cuY8fP4IJMP9IAS7ESke5fPny/fv3z507V15efvbs2YyMDJxmm52dfe3aNQaDoaiouHHjRv7xAquXxurlGAzG6dOn6XT65MmTQYsQCIlEAiMmlUrV09PT19cPCgoyNzefNWsWgiAFBQVpaWktLS0KCgobNmywt7dnMpmbNm1is9mbN2/esWOHjY2NwPb1+PHj6OhoNze37Ozsjo6OWbNm+fn58YfD8JcPgoMuXbqUkpIC8hw/flxFRcXLy6u1tZVEIoHZb11dXVZWlre3N74X8Yz7WDrBGUHMzc3Lyso+ffpEJpMPHTqUlZVFp9OHhoa8vb1B/wmBQCYcuAcYAhk/fX199+7dMzY2BtMJcXHxZ8+e0Wi0mJgYBEEePnyYmJjo4+OTmZnp7Ox8+vTpN2/e0Gi0mpqagYEBBEEqKio0NDQqKipAaZWVlTQaLTc3t7KyMjo6+vr162vWrAkNDWWz2RwO5+jRo6qqqsnJyQkJCR0dHZGRkaBGMJaHhYXhhGJevHixtrb2/PnzGRkZOjo6hw4d4nA4bm5uxsbG9vb2v/76K41Gq6ysBJnLy8s1NDTAz9ra2uHhYR0dndzc3Dt37oSGhmZmZq5YseLEiRNMJpOnFi0tre7u7lu3brFYLJAyZ84cgbNBbi5dulRXVxcVFXX+/Hk6nZ6cnAzS8/LyLC0tU1NTraysIiIiOBwO2PzW29sbFxeXnJxMoVCioqJAZjExsezsbC8vr9jY2M2bN4eHh4+Ojm7btm3Tpk0GBgZZWVnq6uo81sEq6ty5cwiCpKSk+Pv7JyQkIAgCHqMF6hCrav7bzMnJsbe3T0tLMzc3P378eG9vL06ZAnn27BmCIOvXr+dOVFBQ2L17N5j9tre3BwQErF69Oj09PTAw8O7du7/99htO+tu3byMjI729va9cuUImkx88eADcGAXL6/AR6U7FxcVzc3N37949ZphAdnb2gQMHrly5oqiomJSUhCMeaBS5ubkhISEJCQmampogPw7Tpk179epVWVkZmmJiYvLVV19haY9CoVy/fh1BkJ9//tnX17e5uTk4ONjOzu769es//fTTjRs37t69iyCIhIREd3d3U1NTfHy8hoaGmJjYw4cP9fX1o6OjQ0NDMzIyPn78yCMJzyX3799PTU319/e/ceOGp6dnUFAQz252gVXLyMgsWLCguLgY5GEwGFVVVcuXLx8dHT127JiOjk56evr58+dLS0uzsrJwNHby5EkpKanAwECs2S+CIEuXLqXT6V1dXeBnYWGhkZGRtLQ0luTczXDMbgerECxN3rp1q7i4OCwsLD4+/t27dz09PaBwUctBUVNTU1FRqaqqQhDk3bt3KioqaHddXl6Ovl8A4Djzo0ePbGxswOwX5bvvvgMTWoEjBU46yn//+9+cnJwff/yRu2SsdlFbW3vp0qUjR45kZWUdOnQoMTGR3/2wwOrloqKi2Gx2cnJySEhIfn6+kKUZGxtPmzbt4cOHYJJ56tQpT0/Pa9eu+fr6Xrp0qbq6WkJC4uzZsyAAwcbGBqt9iYuLMxiMT58+hYeHx8fH19XV3blzh6cugeXjyMbhcND3JqdPn163bh06hAnj0jg6wRlB8vPzDxw4kJCQoKCg4Ovru2rVqtjYWCsrq/j4eCFVCoFARAVOgCEQkUlKStqwYcOGDRscHBxaWlrAggBAUlLSzs4OrB3l5+evWrVq3rx54uLiS5cunTt3blFRkaqq6uTJk8ETVVlZ2Zo1a8AT1adPn4aHh+fOndvf3y8uLi4tLS0uLm5tbZ2SkiImJkan0xsaGjw9Pclksry8vKurK4heBpVaWFioq6tTKBSB0jKZzLt377q4uCgpKZFIpC1btjAYDPQxDkCj0d6/fz80NMThcKqrq62srMrLy8EUfd68eRISEmBIVldXJ5FIlpaWvb29zc3NPBVpa2vv3bs3KSnJyckpKCgoMzOTPw8PLBbrjz/+2Lx5M5VKVVVV9fX1ReMJDQ0NDQ0NpaSkVq5c2dPTA56w9+3bFxQUJCcnJy0tvWzZMu7HQRMTE7CES6PRent70SdybritI7AoJpP5/PnzTZs2ycnJaWlprV27VhgdClM1ejuOjo4cDgesPI9pF26ampqoVCrOAuwff/yhrq5uY2MjISExY8aM1atXP3r0CCe9uLhYW1vb1NSUQqG4urpKSkryFIjvdViIeqe6uro0Gk1aWhq/2HXr1mlqasrJyZmZmX369GlM8WxsbICu9PX1QX4c7Ozsli9ffvjwYTc3t5MnT+bn5/f19eFrlZuCgoKZM2euWLGCSCRqaWmtW7cOfRAfGBhwcXFRVlYGk0w1NTVjY2MEQTQ1NRUVFQUKxn1Jbm6utbX1rFmziETiokWL9PX1CwoKhKl66dKlRUVFIE9hYaGGhsb06dMJBMKFCxe2bNlCIpFUVVUNDQ25W5BIGkOZM2cOlUp9/PgxmDwUFxcvW7YMTKexJEeb4ZjdDk4hAjVZWFhoYWGhoaFBoVDc3d1RZxC1HG709fXBtLysrMzU1LS7uxv4RmVlJc8EGMuZORxOa2srznZfgSMFTjqguro6MjLyhx9+mDJlCndpWO2iv7+fQCDIyckRicS5c+dmZmZOnz5dSCsL7OXYbHZxcbGDg4OMjIyysjLPuzl8NDU1wegwderUK1euLFq0SEJCQk9PT11d/d27dzyZcdoXk8l0dHREEIRMJmtra9fV1fFcK0z5WIDoAPSnMC6NpRP8PtDY2FhBQYFIJGpra1Op1Hnz5iEIoqOj09DQILxKIRCISMAQaAhEZDZu3GhtbQ2iPX///fe9e/dGREQoKSkhCML9LNLU1MR91IeGhgaIB9bX16fT6QYGBq9fvz506FBqaurAwEBFRYWurq6EhMTq1asfPHjg4uKyYMECExMTEB3d2NjIZrPt7Oy4xejo6ABHJYGQUSwYDAaTyTx06BB3YnNzM/fWNSqVqqKiUl1dLSkpqaamtmDBgrCwMPAkCh7yWCxWUlLS8+fPh4eHwSUjIyP8da1Zs2b16tVVVVVlZWVFRUXx8fHu7u44Z5N2dXUNDQ2hSps5cyb6X+i5MmBiD55l29vb4+Pj37x5w2azWSwW91or0D8It8MSj9s6Aovq6uricDhoNhChN6YOhaka3UVJJpMVFBTa2tqEsQs3BAKBe304LS3t119/BX/b2Njs2bOnqamJO9BXQ0MDrJNgpYO4SpBIJBL59yJieR3+kT+i3inP4zsWaKVkMhloGL9RoEaRkJAQaBFuJCQkdu3atW3bttLS0oqKiqtXr168ePHo0aM0Gg1Le9w0NTXR6XQQOAoAa/JgdQgEfwK4/yaRSGhr4ob7kqamptLSUrCfAsCzzxOr6sWLF58/f/7t27ezZ88uLCwEk1IEQV6/fp2WltbY2EggEAYHB7kDqkXSGDdmZmZFRUVWVlZ0On1wcBDMJ3EkRy0+ZreDU4hATba3t4MOE5y3hGYWtRxuaDRaXl4eWPK1tbX99OkTnU5XU1MbHh7W1tYeHBzkzizQmcGKIpvNxlIg1kiBlQ56pODg4FWrVs2dO5enNKx2MXfuXFNTUw8PD11dXWNjYwsLC54VaXz4e7nOzk4OhwNmxdwNXxg4HA7Y6kIkEgsKCu7cudPT00MgEHp6evh9D6d9kclk9IBDgeYTpnwsnJ2dz507193dvXXrViFdGksnwo8g6M4LcXHxMd82QiCQcQMnwBCIyMjIyIARjkqlzpo1q7S0NC8vz8XFBQ0mxAIMvfr6+nfv3v3w4QOVSpWSktLW1qbT6egz36RJk6KioiorK588efLLL79kZ2efOXMGDPP8XwYCBYqJieFUCp5XoqOj8d/3g3BEMpk8f/58LS2t5ubmwcHBiooKsNsqPDy8qakpLCxMWVm5v78fJApEXFxcV1dXV1fXxcXl9u3bkZGRlpaWPE/tPEHCAuN+uffvAdhsdkBAwMKFC+Pi4qSkpIqLi0+dOoWTX6Bs+EUBwdBjV9CQYHwdClM1z1FJJBJJSLugqKurt7S0DAwMgE1u1tbWixYtApsAsQKnsZ6f0HRud+W/Cyyvw0fUO8VqMjxOIrx4oFEIYxQepKSkTExMTExMtm/ffvLkyYsXL6I7kLnh1yqZTF68ePHRo0f5M/O0TWGk4r6ERCJ5eXmBXYsCwapaSkpqwYIFIOSkrKxs7969IAj22LFj+/bts7CwEBMTi4mJQSdU49MYwNzc3MfHZ2hoqLCw0MTEBCwj40jObXH8bgenEIHSjoyMcKejUx1Ry+GGRqOFh4ePjIxUVVX5+/vX1NSUl5czGAxdXV3+jlegMxMIhClTpnz48IFnBy+LxcJyfqxJGpr++vXrlStX3r59e+3atTwvQHGarZ+fn7Oz85MnT37//ffU1NTw8HB0qsbPmA0QNAQ0XeDbHIFwOJy3b9+uXr0aQZDbt2+np6cfO3YM7DgQeN4yTvsaE2HKx8LS0lJJSen48eNUKtXKykoYl8bSifAjyLibIQQCEQkYAg2BfC6jo6NgTy8PU6ZM4f4+ZF1dHXhSAWu/JSUl8+fPB5FOFRUVFRUV4FipwcHB4eHh+fPne3p6RkVFvX79+sOHD2pqan19fW1tbaCooaGh7u5uIcWbNGmSpKTkhw8f0BTup14UGo1Gp9PLysrmz59PJBJnzZr13//+d3h4GKzK0ul0S0tLsFry+vVrgRVlZmbm5ORwp3z11VccDmdoaIhnWam1tRX8oaioSCaT0bi16upqsNgikPb29ra2Nnt7ezADxBJDGLCKAhP1pqYm8BNVmpA6xAH9dNbIyEhXV5eysrKoZS5cuFBCQgJdf5CXl582bdq0adPQ0GU1NTWB/oaVLi8vj8aoj46O8n/LdHxeN+475Vk/R50Ei89pFNxwOJywsDDu4HMCgaCtrQ2+/4mlPR5JuPN0dnaKtIKKg5qaGvdGzdbWVp6XHThVL1269PHjx8XFxTNmzJg6dSpoX7KyspaWlmDmhr8ZUnhmzZqloqLy4sWLoqIidKl5TMkB+N2OkIWgKCkpoS7NYDDQblnUcrhRVlZWVla+c+eOioqKlJSUjo5OZWUl+r5SSMzMzG7duoX6KmhxJ0+evHTpEs5IgZWOIMiiRYsOHDhgamp66tQpfpcQ2C5YLFZPT4+mpuamTZvCw8MVFRULCwt55BTYS2OhqKhIIBDQtow2/DHJzc1ta2sDZ86BYCgwO+3r6xMY9Ps57QurfBKJxF0IVt/79ddfr1u37unTp0J6EZZOPn8EgUAgEwucAEMgItPf39/e3t7e3l5fX3/58uVPnz4tWbKEP5u1tXVBQUF1dTWLxbp37151dTVYAVBUVFRWVs7Pz9fV1QUT4KKioqGhIRCDevbs2TNnznR3d3M4nIqKCjExMRUVldmzZ8+ZM+fChQs9PT39/f2RkZEnTpzgr/HmzZv88ZkgMjklJaWuro7FYt28eXPXrl3g0ZBEIjU3N/f19Y2Ojurr6799+7aqqkpHRwdIdf36dT09PbAKSqVS6XQ6h8N59+5dTk6OmJhYR0cHTy2ysrIXL168fv16XV1dR0dHWVlZRETEjBkzwCLD1KlTwSFDIyMjubm54BIikbhy5UogW2NjY0REBM6uJwUFBQkJicrKShaLVVhYWF5ePjQ0JPDVw5hgFUUmk3V1da9duzYwMNDQ0IB+vhJHh0Ly+PHj6upqJpOZmZlJIpHAyd4ilSkrK7tr16709PSwsLCqqqr6+vqSkpLw8PD//ve/II5uxYoVDQ0NeXl5bDb77du34BQxnHQjI6PKysqXL18ymcy0tDT+qnG8DsvTPudOZWRk5OTkgJO0trZyb3cUiJCNgpusrCyePbTACdls9s8///zgwYPm5ubW1tZHjx6lp6eD6FMs7XFjYWHR0dGRlpY2PDzc0tISGBgIDuP9fNauXXvv3r1nz56x2eyKioqdO3fy7BLHqdrExKS+vv7OnTvopFRVVbW3t7e2tnZgYCA5OXl4eJjBYOALQCaTGxoagLFwjG5mZvbbb7/19/ejMdVjSg7A73aELATFyMiooKCgpqamt7c3MTER3TAvajk80Gi0GzdugPeVs2fPBovAIk2AnZycVFRU9u7d+/vvv9fW1r569erYsWOlpaVgKw3WSIGVjgan7Nq1q62tLT09nbsurHaRn5+/f//++vp6DodTV1fX2dnJH7AtsJfGAvSWGRkZXV1dTU1Nt27dwso5MjICRsyqqqpLly5FRUVt3boVvJShUqngVMiOjo7w8HAVFRUwsgDb1dfXDw0NfU77wip/6tSpvb29YEL74sUL/tn7q1evmpqaGAzG27dvwZtfYbwIRyefM4KAQ7CFzAyBQIQBhkBDICKTmpqampoKtqdOnz49ODgYvGDmwdTUtL6+/ueff+7s7FRXVz9x4gR6DgqNRsvJyQFnXWhra9fX1y9ZsgTEPu3evfv8+fPu7u4sFktDQyMwMBAsSx4+fDgqKsrNzY1EItFoNH9/f/4anz17Ji8vv2rVKp50Nze3wcHB/fv3s1isGTNmnDhxAqx8WlhYhIaGuru7g8N15eXlR0dHQXXz5s1LSUlBv5Oxffv2M2fOrF+/fubMmQcOHJCVlT1x4kRISAi4BcDq1atJJFJ2dvaVK1cGBgYUFRWNjIzA7ikgw8mTJ7du3aqoqOjo6Pj48WOwKW7Hjh1RUVHe3t4SEhJmZmZubm5YaieTyXv37k1ISIiNjTU2Ng4KCvLz89u2bRv6KQvhwSlq3759Z86c+eabb6ZPn+7i4hIYGAieNbF0KAxsNnv9+vVJSUkVFRVUKvXIkSPg8U7UMi0tLVVUVMBxxMPDwwoKCgYGBuHh4SCsTklJKTAw8PLlyzExMUpKSs7OzjY2Njjpenp6Li4up0+fBjsGDQ0N+aPvsLwOy9M+80737t0bFxeXnZ2tpqZmZ2fH/QJCIMI0Cm6ePn2qrKzM/y0ZHx+fq1evJicnt7S0cDgcVVVVW1tbsHcdS3vcKCgoBAcHx8XFpaSkyMnJrVixAv1U1WeycOFCDw+PiIiIzs5O8OUVni3iOFVLSUkZGhoWFxf7+fmBFD09PSsrKx8fHwqFYmtr6+vr6+/vHxQUFBAQgCWAjY1NQkJCSUnJ8ePHsYwOoqCvXr26evVqdPvAmJID8LsdIQtBcXR0bG1t9fX1JZFIbm5uVVVVII5X1HJ4oNFot2/f3rJlC1gj1dLSampqwjnUih8pKamwsLCUlJRff/2VwWDIy8vTaLTz58+Dne1YIwXOCAKQlpbev39/UFCQkZERd7rAdmFtbd3U1PT999/39vYqKSmtX7/exMSER06sXhoLX1/f06dPb926lUqluru7l5eXCzwD/9WrV+DzeGQyeebMmQEBAaampuC/7OzsKisrnZ2dlZWVd+zYwWAwoqOjwfeKDAwMfHx83NzcnJycxt2+sMp3cHBwcnIKCAiQlZXV19dftmwZ+vECQGVl5YkTJ0ZGRubNmweqE9KLsHTyOSPI+/fv7927t23bNiHzQyCQMSF8++23X1oGCGQ8jHLB4XDAv+ixQP9OPn78mJeXt3Pnzi8tyN8YDofDYrFAOG5FRYW/v392djbP94H+MQwPD6OrZH5+fjQazdnZWZgLoaf9C4FGh0C+FAcPHjx58uSXlWHLli1EIpFAIIB/Ub6sVBDI+PhnPtVBIP9OHj16BCJOIeMmJCQkKCiou7u7s7MzNTXV0NDwnzr7rampsbe3Ly4uHhkZefz4cXl5Oc86Eg7Q0/6FQKNDIF+EsrIy/lP6IRDI5wBXgCF/V+AKMOTPgMFgRERElJaWiomJ6enp7d69G3xW5x9Jfn7+1atX29raqFSqk5OTwOhWCAQCgUDgCjDknwTcAwyBQCD/D0VFxaCgoC8txV/E6tWrwcdIIBAIBAKBQP4l/DND+yAQCAQCgUAgEAgEAuHh/7B37/FQ5f8D+M/MMMMw7nYKDV22i3XtQyrpQrm1Yje6iTYqKq0PKYVoS1fVlnIJkaIsaktJqba+W9GVSCPbZZMYd7kNk5nx++P9+5zf/JiZhi6U1/OPHhznnPfrvM/rnOY1533OgQIYAAAAAAAAAMCQAAUwAAAAAAAAAIAhAQpgAAAAAAAAAABDAhTAAAAAAAAAAACGBCiAARik3r9/b2tr+88//0g4f1tbm62t7evXrz9zXEK4urrevHnzszYRGxu7ffv2z9rEVxFDv/U1nb4KeXl5Li4uAx0FAAAAAL4mUAADMDBCQ0MjIyM/08rLy8sfPXr0mVYuiXv37tnb27e2tuJT9u7d6+bmJjiPl5dXYmLiQET3CVy4cKGrq2ugo/g07t+///bt24GOoicOh3Pp0iXJ5x+cWwEAAACAwQYKYAC+QTdu3CgoKBjAAIyMjEgk0uPHj/Epjx8/bm1txUuUxsbG8vJyU1PTgYux/zgcTmxsLJfLHehAPo20tLTKysqBjqInJpPZpwJ4cG4FAAAAAAYbqYEOAICvSWNj45IlSxITEzU0NDAMy8rKysnJiYmJYbPZP//8c2Bg4IULF6qqqsaMGePt7R0bG1tZWSknJ7dlyxY6nS5qnWjZLVu2nD17trGxkUqlbty4UVtbG/21uro6Kirq5cuXmpqaQUFBaHpZWVlcXNzLly8pFMqUKVPWrl0rLS2Nr/DkyZPp6ekEAuHWrVsnTpzAMOzcuXMXL16sra2l0+mrV6+eOHFijxgiIyM7OjoCAwPRry4uLn5+flOnTo2Li2tpaVFQUCgsLGxubp49e7aHhweGYVwuNyYm5u+//5aWll66dCmBQOixQgqFoqen9+jRIwsLCwzDXr9+zePx/vOf/xQUFGhpaWEYVlhYSKVSdXV10c/Hjx8vLy+nUqnz58+fP38+hmH5+flxcXF2dnYpKSmHDh1Cq42Njc3NzZWVlZ03YhgyoAAAIABJREFUb97ChQv7F3l0dPT169dpNJqHh0daWtrixYtnzZolGDyfz09KSrpx40ZLS4umpqaXl5eRkRH+166uLhcXFx6Pt2jRIi8vL3t7++rq6ujo6NLSUh6PZ2FhsWbNGgqFgnarv79/QkLC0qVL7e3tY2Jibt++3dHRwWAwVq5caWhoiMq8ffv21dfXGxkZmZmZnTlzBl0Vl2Sd8+bNE9p16HJoUlJSZWUlg8FYtWqVgYGBqHTauHEjk8kMDw+3sLDYuHEjvplVVVWox3Du7u5LlixZsWKFs7Ozra0t2q3e3t6ZmZny8vKCc4rpZKGpWFtbGxkZyWQyMQzT1dX19fV9+/btli1beDyeo6Pj4cOHGQzG9evX09LSampqlJSUfv75ZycnJ8EWe2yFmN4TdaABAAAAYIiAK8AAfAJSUlIYht25cyciIiIhIYHJZG7fvj0gICAxMZFGo/35558fXDYnJ2fnzp1JSUkMBiM5ORn/a1ZW1vr160+dOqWiooKmd3d3b9u2TVdXNz09/dChQ0VFRefPnxdcoZubm5mZmZOTE6p+b968efr06U2bNp07d87T0zMsLKyqqkrC7SKRSLdu3TI0NIyJidm9e3dGRsa///6LYVh2dnZ+fv6BAwcSExNfvHjR0tLSe1lTU9PCwkL0c2FhoZ6enr6+vuAUY2NjEolUXV29detWR0fHs2fP7tq169y5c1evXsUwTFpaurm5mcViJSYmjhgxAi2iqqqakpLi6+ubnJz88OHDfkR+/vz5/Pz8Q4cORUdH//3333V1db2r95ycnNzc3N27d2dmZlpaWu7YsUNwtLO0tPTvv/+OLjna29vz+fzQ0NBhw4alpKQkJSU1NDQcOXIE3603b948cOCAtbV1Tk7O06dPY2Jizp49O3fu3N27d/N4vK6urrCwMHNz8/T0dDs7u9TUVCKRiCpwSdYpquuqq6vDw8NdXFxOnz5tbW0dFhbW3NwsKp327t1LpVJDQkIEq18MwzQ0NLL/Jzw8nEqlTp8+XcK0EdXJolIxPj5eSUnp1KlTKSkpqqqqsbGxxsbGnp6eo0ePPn/+PIPBqKioiIiI8PT0PHPmTEBAQHx8fFlZmWCLglshvvdEHWgAAAAAGCKgAAbgk7G2tiaRSPLy8iNGjDA2NlZSUiIQCBMmTJCk4LS3t6dQKBiGGRoavnnzBp/u4ODAYDAUFBQsLCzQdAKBEB0d7e7uTiaThw0bZmJiIv7JRjk5OXZ2dmPGjCESiZMnTzY0NLx+/brkG6WhoWFmZoZhGIPBUFFRQTHcuXPHyspqxIgRMjIyy5cvF3o3rImJSU1NDRrzXFBQYGRkZGRkVFRUxOfzUTWLxj9fv3599OjRlpaWRCJRW1vbwcEhNzcXrYHNZru6uqqpqaHShUajOTs7U6nUSZMm6erq3r9/vx+R5+fnz549W0dHR0FBYdWqVR0dHb0XnDNnTlxcnJaWFplMtra2bm1tra6uFtUKk8msrKz09PSkUCiKiopLly69ceMG3iFWVlZaWloyMjLt7e1SUlJycnJSUlKo1iWRSE+fPm1vb1+8eLGMjMyUKVPw68wSrlNU1928eVNHR8fS0lJOTm7evHk+Pj48Hg8t2zudxCCRSCQS6d27dxEREevWrUOX7iUhqpNFpWJbW5usrKyMjAyVSvX19d2yZUuPFWpqap46dWry5MnS0tIGBgZaWlovXrzo3x4RdaABAAAAYIiAIdAAfDIqKiroBzKZrKSkhH6WkpJ6//79B5dVVVVFP0hLSwvOP2zYMPQDhULBpz979iwtLa2qqopAIHR0dPQe0iyIxWIVFRWlpaXhUxQVFSXfKDU1NfxnMpnM4XAwDKuvr8evB9JoNKErZDAYdDq9oKBg2LBhxcXFXl5eqKQsKyuTk5NraGgwMTFB4TGZTDSkFlFXV0c/SElJCbaupaWFX62l0+n19fX9i3z48OFoooaGBpVK7b0gl8tFV5jRIugRyqJaqaqqQiN1BSc2NDSgZEBD5TEMs7Gx+fvvv11dXSdOnDhlyhTUew0NDUpKSngMY8aMQd9lSLhOUV3HYrHwtEEFM74JQtNJDD6fv2vXLnNz8x6jxMUT1cmiUtHV1XX79u337983MTGZMWMGPmAbRyQSr1+/npub29LSQiAQWlpa+r1HRB1oAAAAABgioAAGoP+6u7sFfxUcTNt7YK14oubvPb28vHzbtm2+vr5WVlYkEik2NrampkbMmslksre3d497Jj8ysPfv3wtOF1VImJiYFBYW6ujo0Gg0dP3QyMiooKBATk5OR0cHFagUCmXq1KmhoaG9FyeRSD02RMyvEkbe3d2NrieLmScyMpLFYh04cEBNTa29vR2/sVYoCoUiLy+fmZnZYzrqE3wTlJWVo6Kinj59eu/evWPHjmVlZe3fv79HMGj8s+TrFNV1BAKhR2aK314xkpKS2Gy2t7e30L+KakVUJ4tKRT09vRMnTjx8+PDevXuhoaEODg6enp6CM1y6dCk9PX3btm0TJkzAMGzNmjViYhbfe33tAQAAAAB8Y2AINAB9gIouvN6rra398jGUlZXRaDQ03Br9Kn5+DQ0NdPsrUltbiwYhCyKTyfhGsdlswdcXCaWqqoqPCm5sbGSz2UJnMzExKSkpefLkCX6N2sjIqKSkpLi4GH/+s4aGhuC7i5uamkSV04IvuampqUH1c18jV1JSwiOvra1tb2/vPQ+TybS2tkbrf/bsmfgVamhotLW11dXVoV87OzvxG24FdXR0cDgcPT09T0/PqKioZ8+evXr1SklJqampCb/O/OrVqz6tU1TXDR8+XHBw75kzZ/r3eOT79+9nZ2eHhIQIftcgeOFUVP6L6mRRqdjU1EQmk83Nzf39/Tds2JCdnd1jhUwm09jYGFW/bW1t4jdHwt4DAAAAwNAEBTAAfSAvL6+goFBcXIw+vufl5X35GIYNG9ba2lpeXs5ms1NSUjgcTmNjY495yGRydXV1W1tbd3f3jz/+eOPGjQcPHvB4vJKSktWrV5eUlPSYX0ND4/nz552dnRiGZWRkCD5TWihTU9Pr16+/fv26tbX1+PHj6KbK3oyMjDo6Oq5du2ZsbIymGBsbl5WVlZaW4gWwlZVVQ0NDWloah8OpqakJCQnJyMgQura6urrLly9zudzCwkImk2lubt6PyE1MTK5evcpisdrb2xMSEmRlZXvPQ6fTmUwmn89/8eLFxYsXSSRSQ0OD4Axoe9++fdvZ2fn999+PHTs2Ojq6paWlvb39yJEjO3bs6L3O33//ff/+/c3NzXw+v6SkhEQiqaur6+npEYnEzMzMrq6uhw8f4k8Ik3CdorrOysqqsrLy/Pnzzc3N2dnZKSkpcnJyYvqEQqFUVlb2+Bajrq4O3fpLp9N5PB6Px0PFqqamJsr/9+/f5+Tk9KmThaYin8/38fHJzMzkcDgcDqe0tBSN0yaTyU1NTS0tLV1dXXQ6/fXr12w2u6GhITIyUl1dvcceEdwKCXtP0Pnz5/t0YzwAAAAAvl5QAAPQN+vWrTtz5syKFSuOHDni6OiIP17oizEwMLC1tfXz81uxYoWUlFRAQACLxQoLCxOcx8rKqrCwcPny5Vwud9KkSR4eHocPH3Zycjp48ODq1at732M5Z86ckSNHenh4rF27lk6n0+l08S+5XbBggYmJSUBAgJeX14QJE7777juho2FlZWX19PRYLBb+eCc6na6goNDZ2YlegISuFm7duvXWrVvOzs7+/v4TJ05ctGhR71VxuVxzc/OXL18uWLAAPRAYXQ/sa+TOzs4TJkxYu3btunXrLC0t5eXl8YHHuBUrVjx//vynn36Kjo5esWKFlZXVjh07nj59is+goaFhbGzs5+eHnr8dFBTE5XLd3Nx++eUXDoezadOm3u2uXbuWx+MtX77cycnp1KlTISEhioqKMjIymzZt+uuvvxYsWHD16lVnZ2d8gK4k6xTVdWpqauHh4RcuXFi6dOmlS5e2bt2K35EulL29fVJS0q5duwQn5ufnt7a27tmzZ+7/oHdNubm5sVisZcuWBQYG2tjYYBjW+xAQ1clCU5FIJIaGht65c2fBggWLFy9+9eoV2lhTU1P0kq2ysjJHR0cVFZXFixdv3Lhx9uzZzs7OFy5c6DHIWXArJOk9Qffv30dVPQAAAAC+eYRVq1YNdAwA9Ee3AD6fj/5FL/4BQAwOh4Mu4fJ4PCcnp927d//www8DFUxXVxeRSESj2VNTU0tKSnoUol+pQdXJAAAAPpK7uzuRSCQQCOhf3EDHBUB/wBVgAMAQkpWVtXz58vLy8s7OzpMnT8rLy48ZM2agguHxeMuWLUtOTuZwOK9fv758+TI+MvyrNqg6GQAAAABAEDwFGgAwhMydO5fFYgUGBnZ0dIwaNSosLEzUDcxfAIlECgkJOXr06Llz5xQUFGbOnOng4DBQwXxCg6qTAQAAAAAEwRBo8LWCIdAAAAAAAF8ADIEG3xIYAg0AAAAAAAAAYEiAAhgAAAAAAAAAwJAABTAAAAAAAAAAgCEBCmAAAAAAAAAAAEMCFMAAAAAAAAAAAIYEKIABAAAAAAAAAAwJUAADAAAAAAAAABgSoAAGAAAAAAAAADAkQAEMAAAAAAAAAGBIgAIYAAAAAAAAAMCQAAUwAAAAAAAAAIAhAQpgAAAAAAAAAABDAhTAAAAAAAAAAACGBCiAAQAAAAAAAAAMCVAAAwAAAAAAAAAYEqAABgAAAAAAAAAwJEABDAAAAAAAAABgSIACGAAAAAAAAADAkAAFMAAAAAAAAACAIQEKYAC+qGPHjoWGhvaeHhsbu3379s/a9OrVq7Oysj5rE6Lk5eW5uLgMSNN9MoBd9A1oa2uztbV9/fq1qBlEJf/ggSeA+OPx/fv3tra2//zzz+eLpKioaOnSpcuWLft8TQj1wZ34zXv48KGjo+OXb/fTniQ/+B+NJM2x2ezDhw8vWbLkp59+CgwMLC8v7xHqB7NloDoTEQzvC/wPCwD4ikABDEAf+Pj4HD16FP+VxWLZ2trm5ubiU27fvj137lw2m41hWFRUVHx8PIZhrq6upaWlXybCmpqaiIgIV1dXe3t7Z2fnnTt31tTUoD/5+flNnTq1H+u8d++evb19a2srPmXv3r1ubm6C83h5eSUmJopaww8//LB161b08/3799++fduPMD6ovLx8z549ixYtmjt37tKlSw8ePFhXV/fBpQTj6XcX9dXOnTvfvn178eLFS5cufYHmvgxZWdm9e/cOGzZsoAPBbt265ePjg2HYnj17/vjjD3z6hQsXurq6JFnDvHnz3N3dP1N4oaGhkZGR4uc5c+aMvr5+TEzMZ4qhB7xnBs9OHGoET5KDpLljx449e/Zs9+7dx48f19TU3LVrV48ZPkm2NDY22v6Pg4PDihUr4uLi3r1798EFP/hfCSQzAEAUKIAB6ANTU9OCggL814KCAhkZGcEphYWFP/zwA5VKxTDM1tZ29uzZGIb5+vpqaWl9gfD4fP7mzZs7OzvDw8P/+OOPvXv3stnsoKAgPp+PYdjYsWPV1NT6sVojIyMSifT48WN8yuPHj1tbW/EPH42NjeXl5aampqLWoKio+MMPP6Cf09LSKisr+xGGeEwm89dff21ubg4MDIyOjv71119fvHjh4+NTVVUlfkHBePrdRX1VX1+vrq5eVFRkZGT0BZr7MkgkkoGBgYyMzEAHgk2YMGHFihUYhjk5OZmbm6OJHA4nNjaWy+VKsgYNDQ1tbe3PHKY47e3tOjo66EzyuQn2zODZiUON4ElykDSXl5e3ePFiBoOhqKg4c+ZM/LtU3CfMlm3btqWkpBw+fNjV1bWwsHDNmjXV1dXiF/ngfyWQzAAAUaQGOgAAviampqanT59uaGhQVVVFBbCVldXt27e7u7sJBAKaYm9vj2rRmzdv3rhxo6WlRVNT08vLCy91SCRSamrquXPnurq6HBwcPD09e7RSWFh4/Pjx8vJyKpU6f/78+fPnYxh29+7dmJgYNze3rKyshoaGMWPGBAYG9vh8XFdXV1VVFRYWhj6702i0gICAvLw8DocjKyu7evVqOzu7efPmYRh27ty5ixcv1tbW0un01atXT5w4UcxWUygUPT29R48eWVhYYBj2+vVrHo/3n//8p6CgABX2hYWFVCpVV1dXVPB5eXm///57RkbGxo0bmUxmeHi4hYXFxo0bq6uro6OjS0tLeTyehYXFmjVrKBQKm83++eef/f39ExISli5dOm/ePKGzCUbY3d198ODBiRMnhoaGoh2hra1tbGy8bt266Ojo8PDw5ubmhQsXbtiwISsrq66uTl1dPSgoiE6n94hHsIsuXLhw/vz5+vr64cOHOzs7W1lZYRgWFxfX0tKioKBQWFjY3Nw8e/ZsDw8PFIPQLhU1/7Nnz/Lz8zs6Ov744w8/Pz/BbeHz+UlJSb0zZ8WKFc7Ozra2tmgXeHt7Z2ZmysvLFxUVxcfHV1RUyMjITJs2zdvbW1paWtSuvHnzZnx8fGpqKvp1+/bt6urq3t7eKLsWLFiQk5NTU1Nja2trYmKSnJxcU1Mzfvz4zZs3S0n9//6z4HK5MTExt2/f7ujoYDAYK1euNDQ0bGtrc3Z2jo2N1dHR6ejoiI2NvXPnDolEEozqg8nv6ura0NCA/2pkZLR7925RYQsNA40fTktLq6mpUVJS+vnnn7W0tLq6ulxcXHg83qJFi7y8vIhE4sGDBwXb3bdvn56eHv5rbGxsXV3dli1b0IWmpKSkyspKBoOxatUqAwMDNE91dXVUVNTLly81NTWDgoLQQffBXBWEUn3Lli1nz55tbGykUqkbN27U1tYOCAhgMpllZWU5OTnHjx/ncDjHjh3Ly8vr7OwcNWqUp6fnuHHjMAxbu3btzJkzc3NztbW1/f39f/7558DAwAsXLlRVVY0ZM8bb2zs2NrayslJOTm7Lli10Oh3DsLKysri4uJcvX1IolClTpqxduxbDMMGemT59Or4TRbXr4+Mza9askpKSysrKzs7OlStXojMDh8OJi4u7d+9ea2vruHHj/P390cU3UfMLampqioqKKi4u7urq0tXV/fXXX1HAQpetqqrCjzvE3d19yZIlkZGRHR0dgYGBaKKLiwsa01FbWxsZGclkMjEM09XV9fX1VVdXF3WyQlman59/9OjR+vr6iRMnbtq0CZ1phc4v5pwgiviTpKiswDAsKyvrzJkzjY2NKioq8+fPR2eq/h1reHOikpbL5TY1NaGO6uzsTEhIQN/nChI85DEMS09Pv3DhQmtrq76+/rp167777jsxndmDkpKSmpqampqajo6OhYVFQEBAbGwsukYtNLwep+7eiS0tLd0jPETUSQN3+fJloScHUWdgHx+fGTNmFBcXv3nzhkKhbN68+fz580wms7Oz89dffzUxMRGfDACAAQFXgAHog/Hjx8vLyz969AgVKsXFxXPnzuXz+f/++y8afsxisdCF0JycnNzc3N27d2dmZlpaWu7YsQMfe8lkMslkcnJyclBQUEZGBloWV11dvXXrVkdHx7Nnz+7atevcuXNXr17FMExKSqqxsfHNmzeRkZGJiYkVFRWCQ68RFRUVGo129uzZtrY2NEVJScne3l5WVlZwtps3b54+fXrTpk3nzp3z9PQMCwv74GVSU1PTwsJC9HNhYaGenp6+vr7gFGNjYxKJJCp43N69e6lUakhIyMaNG/l8fmho6LBhw1JSUpKSkhoaGo4cOYK2FAV54MABa2trUbMJKi8vf/PmzYIFC1D1i0hLS7u4uBQUFLDZbBKJhGHYX3/9tWfPntTUVAaDsW/fvh7xCK7w1q1bx48f9/Pzy8zMXLx48b59+9ANnyQS6datW4aGhjExMbt378Z3n6guFTX/1q1b9fX13dzcnJycemyLmMwRaufOnXZ2dmfPnj1y5AgqmcTvSqFQdrHZ7CNHjoSEhGRkZOTk5ERERMTFxRUXFz948KB3kE+fPo2JiTl79uzcuXN3797N4/EEZ0A1eVRU1KFDh5hMZkpKCpouPvkxDDt58mR2dnZ2dvbJkycVFRWtra3FhC00jIqKioiICE9PzzNnzgQEBMTHx5eVlUlLS//+++/oqpG9vb2NjU32/yxatGjkyJHff/+90Caqq6vDw8NdXFxOnz5tbW0dFhbW3NyM/pSVlbV+/fpTp06pqKgkJyejc8IHc7VHt6Ot2LlzZ1JSEoPBQOvZt2/fhAkT3Nzcjh8/jmFYQkICk8k8cOBAamrqqFGjwsLCOBwOWjwnJ2ft2rV+fn5oVXfu3ImIiEDzb9++PSAgIDExkUaj/fnnn+h7om3btunq6qanpx86dKioqOj8+fM9ekYwPFHtkkikrKwsb2/vuLi4RYsWRUZGdnd3Yxh29OjR8vLyQ4cOZWRk6Orqbt68GY09ETW/oNjY2NbW1oSEhJSUFBkZmaioKDRd6LIaGhr47gsPD6dSqdOnTxfTz/Hx8UpKSqdOnUpJSVFVVY2NjRVzpsUwjMfj3blz59ChQzExMS9evEBnWlHzizrGRfngSVJUVpSXl8fHx2/ZsuX8+fObN28+fvw4aqjfxxoiKmnRvkNn1NTUVFlZWS8vLzHbdfPmzTNnzgQHB588eZJGo+HjpYV2pnhSUlIuLi4PHjzo7OwUFZ7gqVtoYota+QfPXZKfHBASiXTlypX169cnJSUpKSkFBATMmTMnLi7O1tZWzG1BAICBBQUwAH1AJBInTpyIxjw/f/6cSCSOHDnSwMAATSkoKEBfYGMYhv4L1NLSIpPJ1tbWra2t+IAuGo3m4uJCpVInTZqkoqKCP1kEuX79+ujRoy0tLYlEora2toODA/6Joaura8GCBeiS7Lhx4yoqKnqEJy0tHRYWxmQyFy1aFBAQcPz4caH3Hufk5NjZ2Y0ZM4ZIJE6ePNnQ0PD69eviN9zExKSmpgaNeS4oKDAyMjIyMioqKkIfkgoLC1HZLyb43phMZmVlpaenJ4VCUVRUXLp06Y0bN/Biz8rKSktLS0ZGRvxsCIvFwjBM8Gt+ZNSoUXw+Hx+5Z2dnJyMjQyAQ7O3tnzx5gn9N0NuVK1fmzJnzww8/SElJTZ8+ffz48Xl5eehPGhoaZmZmGIYxGAwVFZU3b96I71Kh80+aNElVVXXcuHEjR47s0bSYzOmNx+N1dHTQaDQSiaSurh4ZGYkuCvVDV1fXjz/+iMYPYxg2Y8YMEokkJyenra3de5xhe3u7lJSUnJyclJSUnZ1damoq+ooB4XK5f/3116JFi+h0+rBhwwICAvCrpuKTHx1iJBKJQCDs3bt36tSplpaWYmIWGoampuapU6cmT54sLS1tYGCgpaX14sWLHgsSCAQSiUQikYqKirKysoKDg0Vdp71586aOjo6lpaWcnNy8efN8fHzwj8sODg4MBkNBQcHCwgLtVklytTd7e3vUuqGhIVqPoO7u7itXrixZsuS7776jUCju7u5tbW1Pnz5Ff9XX1zcyMpKTk0O/Wltbk0gkeXn5ESNGGBsbKykpEQiECRMmoK9jCARCdHS0u7s7mUweNmyYiYmJmOd4iW93ypQp6AqtkZFRa2vru3fvurq6rl696urqqqqqSiaT3d3dGxsbS0pKRM3fozlfX9+wsDAFBQU5ObmZM2cKBiZ0WbT73r17FxERsW7dOvH3mLS1tcnKysrIyFCpVF9fX3RhX8zJisPheHh4KCoqjhgxwsDAAO0UMfMLPcZFkfAk2Tsr2tvbCQSCgoICkUgcP358ZmbmyJEjP+ZYQyRJ2paWFnl5ecFjvLfc3Nw5c+aMHz+eRqOtWLHCwcEB/e8gtDM/iMFg8Hi8+vp6ScLrU2KLP3f16eSAMzMzU1JSIhKJ48aNo9PpaGy5rq7u57jZBwDwScAQaAD6xsTE5NixY93d3eiyJ4FAMDY2zsvLc3Z2LiwsxMc7cbnc5OTkhw8fomsm6Mmx6Ifhw4fja6NQKPh0hMViMZlMNM4KQYPQ0Mzy8vLoZzKZjK9ZkJ6eXnx8/L///ltUVFRUVHTmzBkTE5MtW7YQif/ft10sFguNEcWnKCoqit9qBoNBp9MLCgqGDRtWXFzs5eWFKrSysjI5ObmGhga04WKC762qqorH4/V4RmhDQ4OKigr6TCl+tt6PNul9WakHfBE0gr2xsRHvzx5YLJbg07BGjBiBV9GCNwnje0FMlwqdXwwxmdMbiUTy8PCIiIhIT083MTGZM2eOpqam+PWLQqVS0UgBMpmMxg6g6VJSUr0DsLGx+fvvv11dXSdOnDhlypQe19/evXvX2dmJ5/no0aPxP4lPflxycnJbW9vq1avFxyw0DCKReP369dzc3JaWFgKB0NLSIqqV+vr6PXv2iC+fWCyWYKahkfBohfh0fEMkz1VBKBvRF1i9Q21qanr//j2DwUC/UqlUVVVVPBsF+xONAUE/kMlkoXvw2bNnaWlpVVVVBAKho6NDzL0P4tvFY0bZ8v79+8bGxq6urs2bNwuupLq6GtVjvefv0Vx9fX1iYuI///zD4/G4XK7gsSxqWT6fv2vXLnNz81mzZonuXQyNq9++ffv9+/dNTExmzJiBQhJ/psV7Et+5Yubv0zEu4Umyd1aMHz/e3Nzcw8NDX1/fzMzMysqKRqN9/LEm/jyMODo6btiwITQ0dPPmzaLuS2exWPj99ioqKvhXV0I784NQ8UwkEiU8piRPbPHnLpwkJwecYIoKHncSPnIPAPDlQQEMQN+YmJgcOHDg1atX6AZgdF0iLi7u/fv3jx8/9vX1RbNFRkayWKwDBw6oqam1t7fjd5fhg8pEoVAoU6dO/ci3xYwcOXLkyJFOTk7l5eWrV6++e/euYDlHJpO9vb17D74Vz8TEpLCwUEdHh0ajoc8ERkZGBQUFcnJyOjo66CNgn4JH9XxmZmaP6egTEv6tvKjZBKF4Xr16JXgbJ7pTi0QiDR8+HD3gB792JzgW/lG/AAAgAElEQVS6T0L45zahS4np0j61Ij5zcILlgZOT04wZM+7du5efn+/l5RUcHDxlypQ+tdgPysrKUVFRT58+vXfv3rFjx7Kysvbv399jHtTJPUjSGw8ePLhw4cLhw4dRwdPXMC5fvpyenr5t2zZ0KXvNmjVCl+XxeLt27Zo2bZr48olAIIj6YqX3tkiSq5Ks54PwD9Y97s0WXFXv1ZaXl2/bts3X19fKyopEIsXGxvZ+rJGE7fZeOdpZMTExvQc1fHAbeTxecHDwpEmTEhISqFRqfn5+RETEB5dNSkpis9ne3t4fDFtPT+/EiRMPHz68d+9eaGgouiG2r2daMfP3aQ9K2G7vdRKJxMDAwMWLF9+7d+/atWunT5+OjIxE58l+H2sfPA8jo0aNOnz4cFhY2OHDh/FbrHs3JzSM/ikrK6NQKOrq6pIcU31KbKEnDcEviCU5OfQ4J4g/7gAAgxAMgQagb1RUVEaPHl1YWPjs2TNjY2NUfSkoKFy5cqWtrQ1NQePKrK2tUVn47NkzydevoaEh+FpFdB1GwmXv378fHR0tOIXBYMjJyfUY66uhoSF4P1htba0kH1xMTExKSkqePHmCf7luZGRUUlJSXFyMP/+5T8FraGi0tbXhbyrq7OzE767s62wjRowYOXJkWlqa4OcSHo935syZyZMn408BxW91rqmpIRAI+Nf2vQ0fPlxwQyoqKvAr0qK2pR9dKpSozBG8PFhbW4t+6O7ubmpqUlZWtrW1/e233+zt7a9cuSJm5WQyWXCP9LX+wXV0dHA4HD09PU9Pz6ioqGfPnr169Qr/q4qKCoVCwYfol5WVXb58WcI119XV7d2797///a/gpWxRYQsNg8lkGhsbo+q3ra1N1CjEpKSkzs7OD5ZPw4cPFxy0eebMGTHDGiVM6T5RVlamUCj4+FU2m93Q0CA+G0UpKyuj0WhomDT69RO2q6ysLCsrK5gGkmdXfX19XV2dk5MTurooyQnz/v372dnZISEhgt+SCOYJm83G39zW1NREJpPNzc39/f03bNiQnZ3djzPtx5yZP8l6uFxuS0sLg8FwcXGJjIxUUVG5c+fOxxxreDwSnodXrVrV+3EAuOHDh+NhvHv37vTp0/2+/snhcFJTU6dNmyYtLS1JeH1KbPHnLkToyUHoGRgA8JWCAhiAPjM1Nc3OzlZTU0NPuUSl4Llz5/AXIGEYRqfTmUwmn89/8eLFxYsXSSSS4LNtxbCysmpoaEhLS+NwODU1NeiJRBIG9t13312+fDkyMvLFixeNjY2vXr06ePBgV1dXj/FgP/74440bNx48eMDj8UpKSlavXo3fqoe7f/9+QUHBv//+i9+fZmRk1NHRce3aNbzINzY2LisrKy0txQtgSYKnUCiVlZVsNvv7778fO3ZsdHR0S0tLe3v7kSNHduzY0XujJJzN19f3yZMnwcHBxcXFlZWVBQUFAQEBjY2Ngg9uyc7Orq+vb29vz8zMNDQ0RDsLj0dwbXZ2dtevXy8rK+NyuTdu3CgrK0NX+0WRpEslJCpzNDU1i4uL0ZUZ/ElXFRUVv/zyS0FBAY/He/fu3evXr9HIQPTY25aWlh4r19TUbG1tRbX6o0eP+v1C5t9//33//v3Nzc18Pr+kpATdgYz/lUgkzp49OzU1taKioqqq6vDhwxLeC8fj8Xbu3GlhYWFubs77HzFhCw2DTqe/fv0aFWyRkZHq6uqoA9GNfG/fvu3s7Lx3796lS5c2bdpEJBJRK6K+sLCysqqsrDx//nxzc3N2dnZKSgp+w21vEuZqnxAIBBsbG/TweQ6Hk5SUpKys3OO5tRIaNmxYa2treXk5m81OSUnhcDiNjY09euZj2p07dy7a6Vwu98KFC2vWrOlxWImipKQkLS399OlTLpd7586dJ0+edHZ2ilm2rq4O3fpLp9MFd5+Ghsbz58/RVmRkZKCHIfP5fB8fn8zMTA6Hw+FwSktL0THS1zNtX+cXdQz2+wx/5coVf3//t2/f8vn8ioqKpqam4cOH9/tYw30waV+9evXixYvW1tYnT56I+dLQxsbm2rVr6FHYiYmJd+/eFfM4+t7evXtXX19fWVmJXuLd3d2N3mQmJjz81C0qsYUSf+5C770XenIQegYGAHylYAg0AH1mYmKSlpY2d+5cfIqxsfG1a9cEn1i7YsWK/fv3//TTT6NHj16/fj2NRtuxY8fOnTs/uHIlJaWtW7cmJCSkpqYqKChYWlouWrRIwsB0dHQiIiJOnz4dEhLS0tIiJyenq6u7b9++Hu+2nTRpkoeHx+HDh5uamtA7e/DnpuAuXrwoLy8/fvz4tLQ0tF2ysrJ6enqPHz/G3+dEp9MVFBSam5vRC5AkDN7e3j4pKamwsHD79u1BQUFRUVFubm5kMtnIyGjTpk1Ct0uS2caPH3/o0KGUlJQdO3a0tbUpKyubmZmFhIQIfmKztrYODg6uqqoaNWpUSEhI73jwOc3Nzd++fbtnz56mpiYtLa0dO3b0fsJWX7tUQqIyx83Nbe/evcuWLVNRUVmwYMHdu3d5PB6DwfDx8YmKiqqtraVSqWZmZu7u7ujT5KVLlxYuXKigoCC4cm1t7YULFwYHB9NoNENDw5kzZ0r4Xtwe1q5de+jQoeXLl3O53BEjRoSEhCgqKgoONPDy8oqKivr111+lpaUtLCzc3NwkWW1FRUVpaWlpaemlS5fwiZcvXxYVttAwHB0dnz59unjxYjU1NS8vr8bGxpiYGPQ+JGNjYz8/Pzc3t3/++YfNZq9cuRJvxdXVVWiQampq4eHhR44cSUhIYDAYW7duVVJSEnPJTsKU7pPly5dHR0evW7euq6trwoQJe/fu7VNpgTMwMLC1tfXz85ORkZk3b15AQMCmTZvCwsLCwsLwnhE8rfW1XTc3t46ODn9/fy6XO2rUqB07dkj4HmMKhbJu3bqkpKS4uDgzM7OwsLDAwMBffvkFf/FVD/n5+a2trXv27NmzZw+aoq+vHxERMWfOnEePHnl4eCgrKzs4ONDpdC6XSyQSQ0NDY2JiUlJSSCTS+PHj0U7p65m2r/OLOgb7fYa3s7NjsVgbNmxobW1VVVX96aef0M0O/TvWBIlP2vr6+sjIyObmZi0tLfwen96mT5/e0NCwd+/ejo4OPT29oKCgPsWAxoSjgTlTpkxxdXXFb6YVFZ7gqVtoYm/YsKF3Q0JPGoIz5ObmCj05CD0D92kbAQCDB2HVqlUDHQMA/dEtgM/no39PnDgx0HF9I/79999Lly6tXbt2w4YNgvfjfaWEvhDy27Zt2zY/Pz8ajTbQgQAwRMExCL4l7u7uRCKRQCCgf3EDHRcA/QFDoAEAQty+fdvIyOjp06dDp2L8lrDZ7JaWFvjkDcBAgWMQAAAGLRgCDQAQAh9Hh15pCL4uVCp13759Ax0FAEMXHIMAADBoQQEMAPj2ycvL9/XhqAAAAAAA4NsDQ6ABAAAAAAAAAAwJUAADAAAAAAAAABgSoAAGAAAAAAAAADAkQAEMAAAAAAAAAGBIgAIYAAAAAAAAAMCQAAUwAF+BtrY2W1vb169ff6b1Hzt2LDQ09DOtfNB6//69ra3tP//88wXaWr16dVZW1udYc15enouLy+du5fPpa27HxsZu3779Mwc1YB4+fOjo6Ch+nr72WFVVla2tbWNj46cIUIiByro7d+6sX79ewpk/9yn0I/UpvC9/CHzJUyUAAHwBUAAD0AcbN27s/WrHBw8e2Nvbf77Plz2Ul5c/evTo49eTmZm5YsWKTxGROJGRkbb/4+LiEhQUlJeX98GlOBzOpUuXPnds/XD//v23b9/2Y0E/P7+pU6f2Y8ELFy50dXX1Y8HB5smTJ0FBQQsWLLC3t3d1dY2Li3v//j2GYbKysnv37h02bNhHrr+kpMTV1RXDsPj4+KioqE8U9WD0qXrsU8Fz+wsftkVFRYaGhhLO/GU67Zs5WgEA4NsGBTAAfWBnZ3fr1q2Ojg7BiVevXjUzM1NRUfkyMdy4caOgoODLtPVJGBkZpaSkJCcnb9myRUdHZ+fOnceOHRO/CJPJHJwFcFpaWmVlZT8WHDt2rJqaWl+X4nA4sbGxXC63Hy0OKm/fvg0ODtbV1Y2MjDx9+vSGDRvy8vJQmUoikQwMDGRkZD6yCQaD4evri2HY7NmzbW1tP1Hgg9Gn6rFPBc/tL3zY9qkA/gKd9s0crQAA8M2TGugAAPiaTJs2LTo6+u+//7axsUFTWltb8/Pzt2zZgmFYYWHh8ePHy8vLqVTq/Pnz58+fj2FYfn5+XFycnZ1dSkrKggUL7ty5ExMTg2FYaWmpn59fUFDQ9OnTMQz77bffRo0a5ebmVlZWFhcX9/LlSwqFMmXKlLVr10pLS+MBnDx5Mj09nUAg3Lp168SJExwOJy4u7t69e62trePGjfP390eXOHx8fGbNmlVSUlJZWdnZ2bly5UoLCwvxm0YikVJTU8+dO9fV1eXg4ODp6Ylh2NGjR9va2tra2kpLS9PS0kQ1t3bt2pkzZ+bm5mpra4eEhPRYM5lMRp+P6XS6gYGBoaFhWFjYjBkzxowZw+fzk5KSbty40dLSoqmp6eXlZWRkVFhYuGXLFh6P5+joePjwYQaDIbRj4+LiWlpaFBQUCgsLm5ubZ8+e7eHhgWFYbW1tZGQkk8nEMExXV9fX11ddXR1dvE1KSqqsrGQwGKtWrTIwMEDhVVdXR0VFvXz5UlNTMygoSFtbu7GxccmSJYmJiRoaGhiGZWVl5eTkxMTEbNy4kclkhoeHW1hYGBgYHDx4UHAz9+3bp6enJ6qLVq9ebWdnN2/ePMnDVlJScnFx4fF4ixYt8vLysre3F9oPQkVGRnZ0dAQGBqJfXVxc0GU6Ua1zudzo6Ojr16/TaDQPD4+0tLTFixfPmjULw7Bz585dvHixtraWTqevXr164sSJYjpfFCaTKSsru3TpUvSrkZFRUFBQTU0NGvzp7OwcGxuro6MjqjlRTp48efPmzYMHD9JotNevX6empu7atUtZWdnc3HzkyJFEIvHu3bsxMTFubm5ZWVkNDQ1jxowJDAykUqmipos6isXML+j69etpaWk1NTVKSko///yzk5MThmE3b96Mj49PTU1F82zfvl1dXd3b21tUTpJIpPz8/KNHj9bX10+cOHHTpk09GhLsMVH51tjYuG/fPiaT+d133y1cuBBfVpJD2MTEpB+5PWLEiB6HreAaLl68ePLkya6uLjs7u87OTh6P99///rdH7wntjdra2qioKCaTKS0traent3btWkVFRQzD3r17V1VVNWHChObm5oULF27YsCErK6uurk5dXT0oKIhOp7PZ7J9//tnf3z8hIWHp0qWWlpao065du1ZaWrp//37U6KNHj7Zu3ZqWliYrK9v7XITmSU9Pv3DhQmtrq76+/rp166hU6uLFi3/77Tc8OTdu3DhmzJiLFy8KHq2iIhc1HVdUVBQfH19RUSEjIzNt2jRvb2/B/wJwsbGxubm5srKy8+bNw3ex0MNH6Cmxr2kp9FT5kccLAAAMFLgCDEAfSEtLW1lZ5ebm4lNu3rypqKhoYmJSXV29detWR0fHs2fP7tq169y5c1evXkWLNDc3s1isxMTEmTNnvn79ms1moxGbI0aMKCkpQet5+vSpkZFRd3f3tm3bdHV109PTDx06VFRUdP78ecEA3NzczMzMnJycTpw4gQrU8vLyQ4cOZWRk6Orqbt68mc/no8/QWVlZ3t7ecXFxixYtioyM7O7uFr9pTCaTTCYnJycHBQVlZGT8+++/GIZJSUk9ePDAyMgoNjZWTHNSUlI5OTlr16718/P7YB+amZnp6OjcunULw7CcnJzc3Nzdu3dnZmZaWlru2LGjq6vL2NjY09Nz9OjR58+fZzAYojqWRCLdunXL0NAwJiZm9+7deMzx8fFKSkqnTp1KSUlRVVVFkVdXV4eHh7u4uJw+fdra2josLKy5uRnFk5WVtX79+lOnTqmoqCQnJ4uJfO/evVQqNSQkZOPGjTY2Ntn/s2jRopEjR37//fdiuggnedjS0tK///47uuxsb28vqh/6RFTr58+fz8/PP3ToEPp+p66ujkAgoPQ+ffr0pk2bzp075+npGRYWVlVVJWY9omhrazc3N2dnZ+PXx8aOHdv7SxlRzQn1f//3fxcvXgwPD6fRaPX19cHBwTY2Nunp6SEhIVevXv3zzz9RZjY2Nr558yYyMjIxMbGiogIdvKKmi+pkUfMLqqioiIiI8PT0PHPmTEBAQHx8fFlZmZg+EZWTPB7vzp07hw4diomJefHiRe+GBInKt6ioKB6Pl5KSsnPnzitXrnxwfsFDuH+53eOwFQzy+fPnR44c+fXXX0+dOkWhUP7++28isednD6G90d3dHRoaqqCgkJycHB0d3djYeODAATR/UVHR+PHjyWQyiUTCMOyvv/7as2dPamoqg8FAd6lISUmhjDpw4IC1tTXe0PTp05lM5rt379Cvd+7cMTU1lZOTE3ouQms4c+ZMcHDwyZMnaTTarl275OXlp0yZcv36dbSG5ubmkpKSOXPmCB6toiIXs0W4nTt32tnZnT179siRI2VlZTk5Ob33e2FhoaqqakpKiq+vb3Jy8sOHD8UcPkJPiX1NS6Gnyo85XgAAYABBAQxA39jZ2T19+hQfB3v16lUbGxsikXj9+vXRo0dbWloSiURtbW0HBwf8v3w2m+3q6qqmpqalpfXdd9+VlpZiGFZcXDx37lxUAL9584bD4YwfP55AIERHR7u7u5PJ5GHDhpmYmIh57khXV9fVq1ddXV1VVVXJZLK7u3tjYyNeUU+ZMoVOp6Orba2trfgHPlFoNJqLiwuVSp00aZKKikp5eTmaLisr6+joqKSkJL45fX19IyMjOTk5SfoQlbUYhs2ZMycuLk5LS4tMJltbW7e2tqLpgsR0rIaGhpmZGVqhiorKmzdv0PUxWVlZGRkZKpXq6+uLLs7fvHlTR0fH0tJSTk5u3rx5Pj4+PB4PrcTBwYHBYCgoKFhYWKA1SIJAIJBIJBKJVFRUlJWVFRwcTKFQxHcRTvKwJeyHPhHaen5+/uzZs3V0dBQUFFatWoUP8s/JybGzsxszZgyRSJw8ebKhoSH+uV/oekQZN27cunXrkpOTFy5cGBYWlpmZ2XtHi2+uh7KysiNHjvz222/Dhw9H9Y+Wlpa9vb20tPSoUaNsbGxu376N5uzq6lqwYAGGYRQKZdy4cRUVFWKmi+lkUevBaWpqnjp1avLkydLS0gYGBlpaWi9evBDTJ6JyksPheHh4KCoqjhgxwsDAQEzHiso3Ho+Xn5/v7OwsLy+vpqb2008/iZ8f/RU/hD8mt4XKz88fN26cubm5jIzM0qVLZWVlJeyNsrKy8vLylStXUqlUJSWlxYsX379/H9063mP8s52dnYyMDIFAsLe3f/LkSVtbG5puZWWlpaUlOPJ57NixdDr97t27GIbx+fz8/PyZM2eKORfl5ubOmTNn/PjxNBptxYoVDg4OfD5/9uzZd+7c4XA4aOu0tbVHjhwpuDmiIhezRQiPx+vo6KDRaCQSSV1dPTIyct68eb27i0ajOTs7o9O1rq7u/fv3xRw+Hzy3fHBHoD/1PlV+zPECAAADCIZAA9A32traEyZMuHr16i+//FJeXv78+fPg4GAMw1gsFpPJFLz5EI28RV+H4/d/GhoaMplMY2PjZ8+ebd68+fTp02w2u6SkRF9fH41ze/bsWVpaWlVVFYFA6OjoEDMEtLGxsaura/PmzYITq6ur0Yg1VVVVNIVMJqPHeIrfLlRIIBQKBZ8fny6+OcHFP4jP56ON5XK56PIF+igpNE4xHSt4Vy2ZTEYrcXV13b59+/37901MTGbMmIHCY7FYgs+/sbKywtvCpwtutYTq6+v37Nmzbt06LS2tD3YRTvKwJeyHPhHaen19Pb4HNTQ08MGKLBarqKgoLS0NXwQfril0PWLMnTvXxsamtLS0uLg4Ly8vMTFx+fLl+POrP9icoMbGxq1bt6KyBF8QDchERowYgV8ep1Ao8vLyveMUOl1MJ4taDw59C5abm9vS0kIgEFpaWsSnk9CcfPXqFYVCwR8oID4nReWbhoYGn89H339hGIaSs6+HcP9yWyjB7CISiaNGjZKwN4qKipSVlRUUFNDEESNGdHd319XVaWpqPn78WHC8Cb4sOu81NjaiKeguhh4sLCzy8vJsbW2ZTGZHRwf6HkfUuYjFYpmbm6MpKioqlpaWGIaZmJhQqdS8vLxZs2bdvn0bRdtjc4RGLmo6nuckEsnDwyMiIiI9Pd3ExGTOnDmampq9N0FLSwuN0UC3ltTX14s5fD54bvngjhB1qvyY4wUAAAYQFMAA9Jmdnd2JEyfc3d1zc3MnTpyIPmhSKJSpU6cKfZkQGqSHGBoaXr169dWrV3Q6nUqljhs3jslklpSUGBsboyc8b9u2zdfX18rKikQixcbGovskhUKVbUxMTI+LDwj+8UhCouZHIwk/2Bw+2wfx+fznz5+jm6gjIyNZLNaBAwfU1NTa29uF3tQqpmOFxqynp3fixImHDx/eu3cvNDQU3c9MIBBEDQL/YEeJWpDH4+3atWvatGnoXtkPdlE/whacQUw/9InQ1ru7uwX3ID4PmUz29vZG97JKsh7xpKSk9PX19fX1XV1dL126dOTIEWtra8GjQ0xzgp49ezZ79uxLly79+OOPQiscdAGqr+F9ZCdfunQpPT1927ZtEyZMwDBszZo14ucXk5MSEpVvLBZLcAfhtYfkh3C/c1sUodklSPLe6Orqqq+vr6+vx7/+QAGjH9CobLwJwezCzZgxw8/Pr7Oz886dO1OmTKFQKGLORQQCocddDKiMnzVr1o0bNyZNmlRUVCTJrR9icrLHdCcnpxkzZty7dy8/P9/Lyys4OHjKlCk9FkG7o8evog6fD55bBPXpVPmpTkoAAPCFwRBoAPpsxowZ6LLtzZs37ezs0EQNDQ3Btzg2NTUJvXSDrv0WFhbq6emhR5KUlJSUlJSgB66UlZXRaDS8KhB/D6GysrKsrOyrV6/wKWKq5Y/3qZrLycmpq6ubMWMGuvHY2toaXUt89uyZ0Pkl7FjBGchksrm5ub+//4YNG7Kzs9HVLcGhpGfOnBHzMOce18xra2uFzpaUlNTZ2YkeG4N8TBcJDVtQn/qBTCbjf2Wz2a2treJbV1JSwsck19bWtre3440K3txbW1vbuxiQRGZm5sWLFwWnTJgwgc/nd3Z2Ck6UsLnJkyevX7/e3Nw8IiICzdCjcyoqKkQVxuL1NdkEoZEdqPpta2vDE0xwXwimRJ9yUihR+aaiokIgEPCG8Bd3SZ6fnza3FRUV8ezq7u4W+rZbob2hoaHR1NSE34NaUVFBJBLpdHpRUdGECRMEHw2F3yteU1NDIBDw8S9CjRkzRl1d/dGjR3l5eWj8s5hz0fDhw/Hhu+/evTt9+jSqV62trQsLC69du/bDDz/0bk5U5KKm4wt2d3c3NTUpKyvb2tr+9ttv9vb2grdw4wRfxlZTU4PCFnX4CD23fJK0/JjjBQAABhAUwAD0GYVCmTVrVmJiIpfLnTx5MppoZWXV0NCAHpVcU1MTEhKSkZHRe1kVFRU1NbUrV67o6+ujAjgvL6+zsxMNCxw2bFhra2t5eTmbzU5JSeFwOL1fL0wmk6urq9va2rq7u+fOnZuamlpRUcHlci9cuLBmzRr0hK3PpH/NvX//Hl2xKS0tRe9oXbZsGRrXR6fTmUwmn89/8eLFxYsXSSRSQ0MD2sampqaWlpauri4JOxbh8/k+Pj6ZmZkcDofD4ZSWlqJhe1ZWVpWVlefPn0ePYkpJSRFzu7K8vLyCgkJxcTH6ECn44mIKhVJZWclms+/du3fp0qVNmzYRiUQej8fj8dBnzf51kaiw0bWpt2/fdnZ29qkfNDQ0nj9/jsrLjIwMoU+RFWRiYnL16lUWi9Xe3p6QkIDfpfnjjz/euHHjwYMHPB6vpKRk9erV4m/7rK6ujoyMxO/AxNFotKNHj549e7aioqKhoaG4uPjw4cOjRo0S/OgveXPoEUpr1qypq6tLT0/HMMzS0rKysvLy5cs8Hu/58+eXL18WfO6R5PrUyT3Q6XT0iLuGhobIyEh1dXWUzJqamq2tragyefToEV669CknRRGabxQKRV9fPyMj4927dywWS/DLFEnys9+5LXjYCk43NTV9+vRpQUFBV1dXWlqa4FLR0dHoaz6hvTF27FgdHZ3ExEQOh9PQ0JCSkjJt2jRZWdneL0DKzs6ur69vb2/PzMw0NDT84AOHLSws/vzzz/b2dvweE1HnIhsbm2vXrqGnnScmJt69excdTdra2tra2snJyWhQdI+jVVTkoqbjgVVUVPzyyy8FBQU8Hu/du3evX78W+u7iurq6y5cvc7ncwsJCJpOJBmkLPXxEnVs+SVr243jB9zgAAAwgGAINQH/Y2dn5+Pg4OzvjQ/uUlJS2bt2akJCQmpqqoKBgaWm5aNEiocsaGRldvHjxhx9+QA8Hevv27bRp09DoMgMDA1tbWz8/PxkZmXnz5gUEBGzatCksLGzDhg344lZWVrt3716+fPmpU6fc3Nw6Ojr8/f25XO6oUaN27NjxWV810b/mHj9+jN5/Q6FQRo8eHRwcjN9Tt2LFiv379//000+jR49ev349jUbbsWPHzp07TU1NMzIyli5dunPnTj09PQk7FpVGoaGhMTExKSkpJBJp/PjxmzZtQjeshoeHHzlyJCEhgcFgbN26VUlJSczFinXr1iUkJGRlZWloaDg6OuJvN7W3t09KSiosLCSTyWw2e+XKlfgirq6ubm5u/esiUWFraGgYGxv7+fm5ubktXLhQ8n6YM2fOo0ePPDw8lJWVHRwc6HS6+NeTOjs7V1RUrF27VklJadWqVaWlpajInDRpkoeHx+HDh5uamtCLVcTfQNjU1HTp0qUlS5bgt/8hNrTtjioAACAASURBVDY2ZDI5Kyvr1KlTbDZbRUXF1NR02bJlPRbvU3NycnL+/v5hYWGmpqajR48OCQk5efJkbGysqqrq4sWL7e3txcQpiuRHcW+Ojo5Pnz5dvHixmpqal5dXY2NjTEyMkpKSs7PzwoULg4ODaTSaoaHhzJkz0b4QmpN9DVhUvgUEBOzbt2/ZsmV0On358uVPnjxB41olyc/c3Nz+5XaPwxafbmBg4Orqum/fPvSSJBMTE3wwbU5Ozrhx48aNGyeqN4KDg6Ojo11dXWVkZMzMzFasWIHuDe7xBYe1tXVwcHBVVdWoUaN6v4mttxkzZvzxxx82Njb4d0OizkXTp09vaGjYu3dvR0eHnp5eUFAQvpI5c+YcO3Zs2rRp6NceR6vQyAkEgtDpOAaD4ePjExUVVVtbS6VSzczM3N3dewTP5XLNzc1fvnwZFxcnIyPj6emJxh2IOnyEnlu0tbUlT0tRp8p+HC/4Hv/gPgIAgM+HsGrVqoGOAYD+6BbA5/PRv+jlQACAvuJwOOgSFo/Hc3Jy2r17N/qOBgw26D3AR48eFXzu1yCHZxeGYYGBgUZGRosXL/4ka+7xHukvKS4urrW1df369V+4XQAGhLu7O5FIJBAI6F/cQMcFQH/AEGgAABjqsrKyli9fXl5e3tnZefLkSXl5+TFjxgx0UEAIPp+PbsTtcY19MHv9+rWTk1N+fv779+/v3r375MkTU1PTgQ7qo3C53AcPHuTk5Dg7Ow90LAAAAPoMhkADAMBQN3fuXBaLFRgY2NHRMWrUqLCwMPx6HRhUbt++vWfPHisrK/HPeRpUdHR0/vvf/8bHx+/cuZNOp/v5+X3tX6+sX7++rq5u3bp1X9FFeAAAADgYAg2+VjAEGgAAAADgC4Ah0OBbAkOgAQAAAAAAAAAMCVAAAwAAAAAAAAAYEqAABgAAAAAAAAAwJEABDAAAAAAAAABgSIACGAAAAAAAAADAkAAFMAAAAAAAAACAIQEKYAAAAAAAAAAAQwIUwAAAAAAAAAAAhgQogAEAAAAAAAAADAlQAAMAAAAAAAAAGBKgAAYAAAAAAAAAMCRAAQwAAAAAAAAAYEiAAhgAAAAAAAAAwJAABTAAAAAAAAAAgCEBCmAAAAAAAAAAAEMCFMAAAAAAAAAAAIYEKIABAAAAAAAAAAwJUAADAAAAAAAAABgSoAAGAAAAAAAAADAkQAEMAAAAAAAAAGBIgAIYAAAAAAAAAMCQAAUwAAAAAAAAAIAhAQpgAAAAAAAAAABDAhTAAAAAAAAAAACGBCiAAQAAAAAAAAAMCVAAAwAAAAAAAAAYEqAABgAAAAAAAAAwJEgNdAAAAPDlMCs6Lz1qvlHSVt/CbWrjNbbyOrv4Ax0UGIxkpIkqNJKyPEldQXqmntzc/yhOGCEzIJFA0oJPbvCkNwAAfHmEVatWDXQMAPRHtwA+n4/+PXHixEDHBQapuCv1By/Uval/P9CBgK+VtjrZ3/E7z9mqX6xFSFrwxXz59AZfF3d3dyKRSCAQ0L+4gY4LgP6AIdAAgG/czZLWif7P/JMqoZAAH6O87r1vwluTgGe3mG2fuy1IWvCFfcn0BgCAgQUFMADgW7YxuerH8Ff/VHEGOhDwjXj2lmO37eXmk1WfrwlIWjBQvkB6AwDAgIN7gAEA36ZmNs9l7795z9oHOhDwDTqcXfekvCPFT0dJjvQJVwtJCwaDz5TeAAAwSMAVYADAN6i5nWcR9BwKCfD53CxpmxH8vLmd96lWCEkLBo9Pnt4AADB4QAEMAPjWcHndP+1+9aoaRpCCz+tlNWf+nlf8T/FIZkhaMNh8wvQGAIBBBQpgAMC3ZmX0m/vP2QMdBRgS7v7DXhdf8fHrgaQFg9CnSm8AABhUoAAGAHxTcgpaMu68G+gowBCSfKPxWlHrx6wBkhYMWh+f3gAAMNhAAQwA+HZ0d2ObT1QOdBRgyAlK6f9TcyFpwSD3MekNAACDEBTAAIBvR8r/Nb6ohvemgi+NWdF5+lZT/5aFpAWD3MekNwAADEJQAAMAvh0xl+sHOgQwRMX2N/cgacHg1+/0BgCAQQgKYADAN6LmHbf4dcdAR/G5KFJJbWmGuiNkMAzL3zPOy0btY9b2o4liebxe7+l7lmmm+OmIWXDb4uGZG0d+TNPfqkcv2Q2tfX5nzBBJWsHs7TdRSfsJfZI4v0n9S28AABicoAAGAHwjzt//dh4jtHk+vS3NcOlMlYEOBPRBVt8z8FtK2kuho1tPG+p8Rx7oQPpsvCbF0oCGYVhbJ89u28vXtTAiXYh+pDcAAAxOUAADAL4Rj15+I1fSCATMbabq2bvvls2CAvhr8uhln99j9M0k7Ug62XSM3OXCFvevMGkXTFO2MqBhGMbjY7eYbWwOvPpWiH6kNwAADE5SAx0AAAB8GlUN38h1G0t9mgyZsOF45bMo3bEalH+qOKLmlCUTdrpp2k9UUJYnPXjBXhNbUV7XsxP+M5q6y03DQEe24z3/4oPm9UmV77ndGIZ1Y9iS6cpbFw2nUog5j1p+TajoeN8tuOAsPfnQRcMnaMm0dvAOX6yLzK5D07l8bNN8+mpbdYo0Ie5KfehpFoZht3eN/eN209TxcmOGU+QopKCUynP3mjEM01Yn71+uafq9nBSJcO7uu4Djbzved9tNVIj4RXNHZrW3jdpwZenH/3Z4HC5v6/zqq47Kxq6+LvLNJO0vlqpXClvSbjUd8NAMT6/md4ucU5KkXWyhvN6Jrq1OrmvmHs6u7X2b9Ew9+VPrRzqEv1xtp7ZomjI+ncfHFJcUicre/cs1FeVIbA7ffLy8qoLUwazagxdqg12GrXek87u7fzJTmhJYVpmoN2lDGbOiU2icNFkiK0nfK6Zix1KNnRnVcbn1Qhva6aahKi/V0MadpUdTUyCd+rsp7DTrE/f4F9eP9AYAgMEJrgADAL4R38zns+VWqhl572reca8VtYq/nrbbXVN3hMyMkH9GrCi590/7hZDRBELPeU6v17lb1q69smRm8PMZerTVtv/vzcPyMsTZhgpTA8sstzy3+EF+0/xhgktpq5PTNoyMvVyvsfyJQ/jL1XbqS6b/v2WG2Vhq5/tuvV+Zyw6V+zt+p8eQwTCsi9ftbasWeKLKNKAs4lzNoRUj0KXs/6e9+45v6rr7B37u1ZZlSZaQPPGeGNsYAwFDMGBWEzKaNP0FMglNR9KkGU3Hk7QZHeEpaaDNk5CmSUMmaRIKCWGVbZZZwQvbeGFjPCQP2ZK1pXt/f1xyo3hhjEG2/Hm/8lLkq3Pv/er4WJyvzrn3fP7ruPNGV+qjZzN/UR6hEa19KIorHB4iSo2U5j1bnfVERUqk9L6AmOzd3HHFLTAwGq2AJvfmaT45ZNp1xiwR0QuzggcpfNlGmxwheeuR6N991ByxsvTHbzT8+b6IqfEy3wJJ4ZL3fhH78OsNp2ttD79+QbWiWLWiWHNvyaFy6/v7OwZpvR6GfP8G9bZT5pynK5e8UP3sXWE3TlL86bPWHV+b39jRPumx8svGyX159MPZ6kW/r/7wYOeAJ/Kwt89UFZztmfXrc8v+WPvkrZf+TMa0YTRvAIDRCQkwAASIxvZAGEybECy4eZpyY0EnIeTjgs4VczWCAT6nRQLqnjzN6s9bW00ep5v946etoWrhnDRFr2K5vz73x89anW62oc21u8icHS/ntktF1PMbm9st3qpm5wcHOpdkK333uvvGkJJ6+78PmxiWVDY53/pv+33ztNxLnRbvuq1Gi53ZdcbcavKkRl3q2X91ynyhzUUIOVhm0QYL9CrhrJSgxHDJ7z5qtrvYDov3T5+3/nBOiEhAEUIkIurVL4yEELuLPVljTYkc8+nB8LLZwGi035uqEgmpXWfMbi+76ZjpgQXagUoOpdHWtDgTf3Z2x9dmt5c9XGGtbnbyjZYQEhIk+OxXcS9/3rrtlJlbRdnLEC9DfnNnaEiQ4JcbmgZvvTWtzl1nzISQc03OIxU9N09T9onx8nFuLDBVtzhtTmaQE9W1unZ+felErSZ3ALTwwPiyBgAAU6ABIHBQFEXIwDMvx4h75mlqW11F5+2EkG2nzK89TN2Uo9p6srtvyXCNSCqitj6X4LsxRi8+9J1xLDItKeiZ20Pjw8QsSxRSel9pD7fd6WYb2y/1aBvaXJFake9e8aGSWSlBPZ9k8Vv4wvXGb6dk21yMRHQpQW/uvJTLOdwsIUQqpuNCJSIB1f5Bpu+RIzQiQojNyXTbLt1U1uliZeJA+DbW7bni5hcYjXZlvmbTsS63l+WSw/++mKhTCtvMnr4lh9JoGZbcfWPIffO02mAByxKNQij9po0JaPLhU7E9DubNXd+ZFJ2fGfyTJbq8Z6ucbvYyrdfw7TcOLSZ3eMh3mv1l4zxRbSWE1Bku/QkMciL+z4H7i5CO/RY+jOYNADA6IQEGgAARqhaeN4z58bQH5mvjQyWG9zK4H2Vi+oH5mn4TYIeLIYTM/NW5sguOgY6WFiXd+HTsY/+8uLGg08uQ1fdHxOoll3Z3f6c76/zuBcB2F/Plie4Vr9b3PSY7UDe4z3aHizFZvRNXlfXanhQhCciudKj6iv9JDYBGGx4iWpil9HhZfpK8SECtmBvyt6/a+hYeSqNdma99+rbQO1fXnayxEUKOrk7mX1IHCTot3ux4+Z2z1JuOXbopcYRG9M5jMb94u7Gm5VJeOkjrFQm/nW8toKmBGvNAcUpEFDeH/7InGvDPZMwaRvMGABid8HEGAAFCrxrzuURualBCmGTB76pNPZdGz9KjZR8+GRsWIrQ7e3eojd0ei52ZHC3j++jROvGF795PaGqC3NTj/fBAJ/fjtER5u/nSuKtKTutVQmO3h7tmsqnzOzvWtTrnZ3x7JadeJey2eZ3uK+vU17Y6Q4IEkVpRU4ebECKX0HIx1R64q4mGDTCcOIgAaLT3z9fUtDjv+ksdv+XBBdr752v7TYCH0mhnJgftK7Fw2a9KLkgMl/Avmaze+9bV3zdPs+5HUUcqe1pNHgFN3vtFzObCrs+PfrtIzyCtNz7021WaonXige5sPJQ4R+rPZKwYRvMGABidxvycHAAATqh6zPfPVi7Q7i4yn6611Rlc3H9bT3bXtjrvzev/HlHv7Gn/zZ2hyRESoYA8vEh7dHVysOw7n+oX2lwhCkFqpEQhpX97Z6hcTId9M4zjcLPP/TBMJqZidOJ75mq+OPGdQeaNh0xhIcKnb9NLRVS0Trz5N/FP3qq/0rdTdN5+utb2yoORGoVAKaPXPhT13hOxV3qQMSTsyltgADTa++dr3t/fwbfYOoPrzV3tSRGSG5Ll/Za/bKNtaHOlR0uDZXRYiPDvD0dd7HCHay41WoYhhJAPDnQeq7S++dNoQshLyyMUUsGzHzYLaML9N3jr1atFK/O1QgHJzwyemRz01clubiA3Vi9WyQVXFOdI/ZmMFcNo3gAAoxNGgAEgQOQkyL880c9U4bFCKaNvn6l+6LWGXtvf39/50ELtP//b0XeXP37aqpAKdr+YJBZSpQ3221+us9i/s5jQofKeDfs69/4h2e5k1u9s+/H6C189l/jpM3EbD3UautynamzF69LkEnrrye7/2/ad8bo2s+f/rTn/p3si/ucHYR0Wz78Pm9ZsNgzjTd2/ruHVhyIrXp/kcLEHz1pW/r33uwskOQn9p3yD7zKmG+2CzOAIjejjApPvxuZO955iy4MLtL95v7nvLpdttG/ubJuVGlTzZnpzp/s37zeHqi2vPBjZ1u2pbf12APbnbzWeeCX1x4sn3DtPow0WGL+5ZIAQ8r2Xag+V9wzUeveVWCZNlNa/NZkl5PcfNx87ZyWEbCzofPfx2NK/p019smLwOLkp0LyR+jMZE4bRvAEARifqxz/+sb9jABgO1gfDMNzj+++/7++4wG8utLl7LWQCcD1Vvj4pSntlo2RotNfT/z4QGakR3bu2n0t24bKG0bwhkNx///00TVMUxT3y/B0XwHBgCjQABIhonWjSxDG/1giMURkxsmGkB2i0MCYMr3kDAIxOSIABIHA8+j2dv0OAcernNw2z7aHRwug37OYNADAKIQEGgMBx/3xNYph4CAUBRlJqpOSevJDh7YtGe938+r0mzH8ehqtp3gAAoxASYAAIHBRF/veBSH9HAePO2lVRw94XjRZGuatp3gAAoxASYAAIKEuylQ/M73/RIIBr4eFF2hsnKa7mCGi0MGpdffMGABhtkAADQKB57eGJMwdYgxRgZM1JC/rryhEYH0OjhVFopJo3AMCoggQYAAINTZPPfhUXFyrxdyAQ4BLDJZ/8Mo4eiX9I0WhhtBnB5g0AMKrggw0AAlCIQljwp8QbMKQG18yctKD9f0hUBwlG6oBotDB6jHjzBgAYPZAAA0BgClEI976U9OACrb8DgQC0aqF25/OJIQrhyB4WjRZGg2vUvAEARgkkwAAQyP7vx1Gf/youOULq70AgQCSGSzb/Jv5vP7qGF0ai0YK/XIfmDQDgd/h6DwAC3NKpyqVTlW/v7lj7pbGhzeXvcGCsitWLf/X90Puvy+2a0WjhOruezRsAwL+QAAPAuPCjRdofLdKWNth3nTHvL+tpN3tMPd7mTre/44JRSi6h1UGCEIVApxQtyFAsyVamR1/vIVk0WrhGRkPzBgDwFyTAADCOZMTIMmJkv7w91N+BAAwVGi0AAMAIwjXAAAAAAAAAMC4gAQYAAAAAAIBxAQkwAAAAAAAAjAtIgAEAAAAAAGBcQAIMAAAAAAAA4wISYAAAAAAAABgXkAADAAAAAADAuIAEGAAAAAAAAMYFJMAAAAAAAAAwLiABBgAAAAAAgHEBCTAAAAAAAACMC0iAAQAAAAAAYFxAAgwAAAAAAADjAhJgAAAAAAAAGBeQAAMAAAAAAMC4gAQYAAAAAAAAxgUkwAAAAAAAADAuIAEGAAAAAACAcQEJMAAAAAAAAIwLQrfb7e8YAIaD9cEwDPfo76AAAAAAAo3b7aZpmqIo7pHn77gABsSy7EAvYQQYAAAAAAAAxgUkwAAAAAAAADAuIAEGAAAAAACAcQEJMAAAQG+/eq/pnlfr/R3FgLqsXsXdxWcbHf4OBAAAYIxBAgwAAIGmy+pVrSjedsrMb3lvX6fi7uLzBhe/5el3m+Y/Vz3QEX6yRPfsXWGEEJuT+dfejhGP0MuQN3a0z/5tle7+ktAHSuc/V73xkOmye1VcdOwtsRBCFFLB9t8nxOrFIx4YAABAYEMCDAAAgUYdJJiRFMTlipz9ZZYgCb2/zGdLqWVxtnKgIySEiSdNlBJCCqts/9ozwgkwy5J719a/9O+Wu+eE7P9D8q4XEvOzgn/25oVfv9c8+I6fHunaW2whhAgFZO4kRZAE/4gDAABcGaG/AwAAABh5i6cEf3iwk5BILuE8UGpZPjdkX4nloXwtIaS5013V7Fw8JZgQ8vqO9rf/297Y7orRi9c8ELkgM5ibAt3U4V61aMKdq+s8DKt/oLTgz8mpkZJ+C+f+puquXPWHBzvToqQfPhm7r7TnpX+3VDQ6guX0Yzfrf7FM1yu2Tce6tp7sPvTn5Ox4GbdlSpwsOUL60GsNd81WT0uUP/Wvpm6bVy6hj1T0dFg8T9yif/JW/R8/a/3rFgNNk83Hu479b0rUqrLja1LSJ0rtLva5j5q/OtVtdTAZMbI/3hOekyC32JnwlaUfPxX72ra21i53sEzw9qPRXErfb3i//aC5w+LRBgv3l1nazZ4VczUvLQ/3x+8NAADg2sKXxwAAEIAWT1HWtroa2lyEkNIGO8OSh/K1B8t6GJYQQvaVWCYEC7Lj5Z8d7Xpls+Hdx2MM72X+YUXED/5yvs5nmvSCDMUf7gnPipUZ38tIjZQMVFgspDbs6/jryqjXfxJdb3Td/cr5ny6d0PxuxtZnE9bvaPvoYO+5zZsLu/Izg/nsl/PD2er4UPHmwi5ugHdzYdfNOcqvX03d9ULSnz5rLSjvee6usO/lKB9Zqqv4v0m+Oz77YXNhlXXPi0nV69MzY2R3/eW83cWKhBQh5N19HV/8T3zp39JSIyV/+LSVEDJQeEIBteV499x0ReH/pnz1XOLaL41lDbjAGAAAAhASYAAACECZsTK9SsjNgt5XasmbrMiIkQloUnTezm1ZmKWkKbJhb8eD+dopcTIBTW7KUc5NV2ws6BzomIMUnp2mmDdZoZLTnxwyZcbI7p4TIqBJWpT0x4snfHCg9wzqOoMrfaK07/HTo2V8+p0YLlk6VUkISY2UzE5TbDtp7lueG9x+f3/Hb+4InThBJBNTz/0wzNTjPVbZw736UL5WLqEJIXPTg881OQghg4QXHyb+3jdnDFOLKpuQAAMAQADCFGgAAAhAFEUWZgVzc573lVhun6mmKDI3PXhfiWVqvOxAWc+f74sghNQZnAfP9qzZbOB31KkG/JdxkMLxoRK+TGGVVXF3MV8mSivqeyhuILrfsDm+N7gK14haTO5+yxu6PA43mxp1KZ0OltERGlFDmys3jRBCIjSXTi0RUXYXM3h4ESHfxikVUw4XM1A9AAAAjF1IgAEAIDAtnqJ84p2LNidztNL6tx9NJITMy1BsOtq1NFvZZvYszFISQmRi+i8PRD7yvQlDOeAghUUCii9zy3TVxqdjBzlOcoSk7IK97/bKi47bblBxz93eb1NkL8PyifFQOD2X9qX67DZIeH0LAwAABB5MgQYAgMCUnxVstnk/ONAZqhbFhYoJIfMmBx+vsu4tsUyNl08IFhBC4sO+k4s2trsHGpsdYuH4MMlZnzLGbo/D3bvQnbPUB8p6jlfZfDd+eaK7usX5g1kh3I91rU7+pQtGV6Smn2FkQkioWigTU+XfLAhssTPNne6Eb4aj+30Llw0PAAAggCEBBgCAwBQSJJieJP+/7W3zMxTclvhQsU4lfHdfB3f/Z0LIw4u0nx42/bfI4vGSI5XWmb86d6TC6nsQmZg2dHk6LF6nm71sYULI8htDWrs8r2wx2l1sQ5vr9pfr1n5p7FXm1hmq229Q3fqn2vU72ysuOsouOP76hfHBvzc88/3QyTGXJjMbuz3/2tvh9rJ7ii2FVdZl01VcMPVtri6rl/0maaUo8sB87ZrNhhaT2+Zknt/YEqoW5k1WDFQnQwkPAAAggGEKNAAABKzFU5R/+LT1hbuD+S3zJgd/cKBz0ZRLKwAvyVa+tCLiF283Grs9MTrxmgcjb5wU1OsIa780pjxy9otnEy5bmBCiVwn//Uzcsx82//nzVm2w8P/NCXnm9tC+gW14PPaNnW3v7et47qNmAU1lxsj+8Uj0XblqvsCCjODyC47Yh89SFHlpRURuahCXvq78e0PG4xWnX03lS76wPPzpd5tu/J8qp4udkRy04/eJYiE10LjuEMMDAAAIVNTKlSv9HQPAcLA+GIbhHjdu3OjvuAAArha3CvFHTw12ITEAwHWzfPlymqYpiuIeef6OC2BALDvgBT6YAg0AAAAAAADjAhJgAAAAAAAAGBfGxTXAn3/++cyZM6OiovwdCAAAwOX95YFIf4cAAAAQmK7tCPC+fftOnDhxTU8BAAAAAAAAMBSYAg0AAAAAAADjgn+mQO/du3fChAlZWVncj/v27dNqtVlZWadOnTKZTPn5+TRNe73ePXv26PX67OxslmWrq6tra2vtdrtUKk1MTExOTiaElJeXGwyGiIiIxsZGq9UaFhY2adKkoqIim83GMExOTo5er+dO4XA4CgoK2tvbpVJpcnJyYmLiIGG0tbUdOHAgNzf39OnTSUlJaWlpTU1NRUVFTqdTq9UmJSUdOXJk2bJlMpnML7UHAAAAAAAAwzC6rgHOysravXt3VVVVampqZWUly7KZmZmEkLNnz164cCE3N1elUnV0dBw+fFgqlUZHRwsEgq6urokTJy5cuNBisezcubO7u3vu3LlSqbSoqKioqGjx4sXckauqqqZOnTpz5szGxsavv/5aqVTyuXFfNE0TQhoaGhYsWCCVSq1W67FjxzIyMhITEzs7O0+dOsWXAQAAAAAAgLFidGVxIpFoxowZFRUVLS0tVVVVM2bMEAgELMvW1tampqaq1WqKoiZMmBAbG1tXV8ftQlFUQkICISQ4OFgqlYaHh0ulUkLIhAkTLBYLf+TIyMiwsDCxWJyQkKBQKJqamgYJg1vWLC4uTqFQCIXCxsZGsVicnJwsEAh0Ot3EiROvfU0AAAAAAADACBtdI8Bc4hofH3/48OFJkyZpNBpCiMvlcrlcp0+fPn36NF9MLpdzTyQSCb8MN03TXPZLCBEIBAzD8OWVSiX/XKFQ2Gy2y0YSHBzMPbHb7UFBQfxZJkyYMBJvFAAAAAAAAK6rUZcAE0KsVqtQKDSbzdyPAoGAEJKbmxsZ2c+yEHxe2u+PA23njjk4fpIzy7K+u7MsO7T3AQAAAAAAAKOIf6ZA+w7PsixrtVr5l+rr6zs6OvLz841GY0NDAyFEKBRKpVKTycSXsdvtXq/3is7Y09Pj+5y7f9UgYfjiLgPm897Ozs4rOjUAAAAAAACMBtc8AfZ4PFYfdrudm5Dc1tbGJbE1NTUej4crbLPZioqKpk6dqlQqp0yZcubMGW6uclJSUm1trdFoZFm2q6tr//79VVVVQ4+BZdnGxkaTycSybENDQ09PD3cd70Bh9BIZGelwOGpra71eb3t7e2Nj4wjVDQAAAAAAAFw/13wKdFNTk+8dp4KDg5cuXZqamnrixInt27dLpdKoqKjQ0FCGYViWPXXqVGhoKDfVOSYm5sKFCydPnpw7d25KSorH4zl58qTD4ZDJZLGxsampqUMMgBvjTU1NLSkp6ezslEgkOTk53NXF/YbR9wgqlSonJ6eysrK0tFSn06WnpxcWFo5cDQEAAAAAAMD1QK1cudLfMYwBXq+XpmnuSuALFy6cOnXqjjvu8HdQ4x3rg/sChWGYjRs3+jsuAAAAgICyfPlyrifMPfL8HRfAKRnOHwAAHhZJREFUgAa5bdPoWgZpdLLb7Vu2bKmurvZ6vVartaqqqt/bcQEAAAAAAMBoNhrvAj3ayGSymTNnnj17tqysTCQShYWFZWZm+jsoAAAAAAAAuDJIgIckMjISo74AAAAAAABjGqZAAwAAAAAAwLiABBgAAAAAAADGBSTAAAAAAAAAMC4gAQYAAAAAAIBxAQkwAAAAAAAAjAtIgAEAAAAAAGBcQAIMAAAAAAAA4wISYAAAAAAAABgXkAADAAAAAADAuIAEGAAAAAAAAMYFJMAAAAAAAAAwLiABBgAAAAAAgHEBCTAAAAAAAACMC0iAAQAAAAAAYFwQ2uxOf8cAMBwsyxKWZVmWJSzDMNz//B0UAAAAQKBxOFwUTVMUoWmaIhRFcQ+Uv+MCGAQ70AtCuUxyfUMBGBmsD4ZhuEd/BwUAAAAQaKRSMU3TFEVxjzx/xwUwIJYdMAHGFGgAAAAAAAAYF5AAAwAAAAAAwLiABBgAAAAAAADGBSTAAAAAAAAAMC4gAQYAgOHzer0PPPDAqlWrVq1a9bOf/Wzt2rV1dXWDlD979mxnZ+fIxnDx4sUnnnhiKCWvxdl9cbXx4Ycf8ltOnz69bt06f8XD27Vr1zvvvHNFuzQ0NDzzzDOEkO3bt1/pvgAAAKMWEmAAALhaa9aseeedd1avXp2SkrJ69erq6uqBSu7evfv6pHz+OrtIJDpx4kRTU9MoiefqLVy4cMWKFf6OAgAAYGQI/R0AAAAECJVKddNNNzkcjk8//fTZZ5/t7u5+6623jEYjwzBLlixZvHjxtm3bSktLL168ePfdd6enp7///vu1tbVer/fWW2/Ny8sjhPz0pz+96667iouLjUbj7Nmzb7nlFo/H884771RXV7Msm5iYuGrVKrFYfPTo0U2bNnm93tTU1FWrVhFCBALBli1bDh06xLLsypUrMzIy1qxZc+ONN86cOZPLz2+88caOjg7+7KdOnaqqqiKEMAxjMplee+01pVI5UvXw/e9//+OPP+aGT3lfffVVe3v7gw8+yD/X6XSDxFNQUNCr/IMPPti3fggh27Zt27t3r0KhmD9//tatW1999dX29vZ//OMf3d3dDMPk5eVxxRwOxyuvvHLhwgW9Xv/II49oNJqWlpYNGzaYTCahUPijH/0oPj6eELJ161buaDNmzOAi37NnT0tLy6pVq4Z49r7vdOiRcwEcPnzY7XZPmTLl3nvvpWl63bp1sbGx58+f7+rq0mg0jz32GE3j63sAABgmJMAAADCS5s6d++WXX3o8ni+//FKr1T7zzDNGo/G3v/3t9OnTb7755iNHjjz00EOJiYkfffQRy7KrV6+22WzPP/98bGxsTEyMQCDo7u5+6qmnzGbzE088sXjx4pKSku7u7jVr1hBCPvnkk4aGhpCQkI8++uiFF17QarV/+9vfdu3aNWXKlK6urgkTJvz1r3/dv3//li1bMjIy+gbme/Zp06ZxGz/++GObzTaC2a/X6503b97evXvPnDmTnZ09SMlhxNO3ftrb27du3bp69eqgoKB169YJBAJu0vLkyZNvu+02u93+9ttv22w2QkhxcfHzzz8fGRn5z3/+c8uWLStXrnzjjTcWLFgwf/78urq6devWrV271mAwbN++/eWXX1apVG+++ebwzn41kZ8+ffrIkSPPP/+8VCp97bXX9uzZs3jxYoFAUFlZ+cwzz9A0/eyzz5aXl0+ePHlYvxwAAABMgQYAgBEll8tZlnU4HPfcc8/9999PCNHr9Vqttr293bfY8ePH8/PzaZpWKBTTp08/ffo0tz0nJ4cQolQqJRKJ2WxWqVTNzc3FxcUej2f58uVJSUllZWVJSUk6nY6m6UcffXTJkiWEEKFQOGfOHEJIQkLC0CcVFxUVlZaW3nfffZct6fV6TSbTUI7JsixFUffcc8/HH3/s8XiGGMnQ4+lVP5WVlWlpaWq1WiQSzZ8/nyujUqnOnj1bV1cnlUofe+wxuVxOCElOTo6MjCSE5Obm1tTUGAyGlpYWbuA9Pj4+JCSkqqqqsrIyJSVFrVZTFMXV5zDOfjWRnzhxYvbs2XK5nKbpvLy8U6dOcduzs7MFAgFFUaGhoaN/0jgAAIxmGAEGAICR1NbWJhQK5XL5xYsXN23a1NXVRdN0Z2cny7K+xWw22+uvv87NZfV4PPyEW6lUyj2haZphmOTk5BUrVmzfvn39+vXTp0+/7777rFZrUFAQV0YsFnNPZDIZv1evEw3EZDJt2LDh6aeflkgkly3MDWJv2LBhiJWQlpY2ceLEXbt2hYWFDXGXIcbTq35sNptCoeC2hISEcE+WLVsmEAjefvtti8WydOnSm2++mcs8uVflcrnVarXZbB6P55e//CW30el0WiwW37rln1zp2a8mcpvNtnPnzv3793OzwfmYffcd4u8XAACgX0iAAQBgJB05cmTSpEk0Tb/55ptLly6dO3cuIeTpp5/uVSwkJOTnP/95TEzMZQ84Y8aMGTNm9PT0vP7663v37g0ODjabzdxLVqvV6XT2u5dvpuRwOHq9yjDM+vXrb7vttokTJw7lTWk0mieffHIoJXnLly9/8cUX77zzTj4ehmG453a7/bLxDF6eJ5PJ+Fe7urq4JwKBYNmyZcuWLWtpaXn55ZfT0tK4uuJetVqtCoVCrVbLZDLuslve3r17ufnShBC+kgfR79mvJnK1Wn3rrbdyo/oAAADXAqZAAwDAyOjp6dm2bdvBgwd/8IMfEEK6u7ujo6MJIYWFhT09PVwWKhAIuBQrOzt7//79LMt6vd6PP/54oMWT/vvf/27evJll2aCgII1GQwjJyMiorq5uampiGObdd989evRovzuq1erW1lZu8LahoYHbyJ99y5YtSqXysrN2eRKJJCsr64pqQ6fT5eXlbd++vVc8bre7uLj4svH0W76v+Pj4iooKi8Xi8XgOHDjAbXzjjTdKSkoIIVqtVi6XUxRFCKmsrORmoR8/fjwlJUWj0eh0usLCQkKIxWJZv369w+FISkqqrKw0mUxer7egoOCy77Hfs19N5FOnTj169CjXVPbv3z+UGAAAAK4IRoABAOBqcXc8pmk6MTHx17/+NTeue8cdd6xbty44ODg3N3fhwoVvvfXWCy+8kJOT89prr91111133HHH+++/z+2YmZk50FDwrFmz/vnPfz711FM0TcfFxS1YsEAqlT700ENr1qxhGCY9PX3JkiUGg6HvjosXL16/fv25c+d0Oh1/Tyz+7Nu3b5dIJPzqwatWrer3vllX6ZZbbjl8+DB/6oKCgpdeekmpVGZkZHB57yDx9Fu+r/j4+Dlz5vzud7/TaDSzZ8/euXMnIWTp0qUbNmzYsGEDTdOzZ8+Oi4urqKjIycn54IMPmpqaNBrNo48+Sgh55JFH3n333U2bNtE0vXTpUqlUGh0dvWjRoueff14ul8+bN4//4mAg/Z79aiLPzs6+ePHi73//e5ZlQ0NDuVt8AwAAjCBq5cqV1/mULpdLKBRSFOVyuYZy5RVAv1gfDMNwjxs3bvR3XAAA1xV32y1CSEVFxSeffPLiiy+OlbP7N3IAGLrly5fTNE1RFPfI83dcAAMa5IYRfpgCvXfv3ra2NrPZzE8MAwAAgGGwWCw/+clPmpqaWJY9evRoYmLiWDm7fyMHAIBxSzD4KoXXgkaj4VZB0Ol0/d5kEuBKcd/xsCzLXXkIADBOSCQShULx3nvv7dy5UyaTrVix4npOrbqas/s3cgC4Ips2baL64++4AIbDD1Og++Vyub744ovFixerVCp/xzIkRUVFNpstNzfX34FclaamplOnTt12223+DmQ4MAUaAAAA4DoYfAr0VXbjv/rqq8zMzOjo6N27d8fFxWE+yCCuURXxGcGYy8gGMcgU6Ot6E6wvvvgiIyMjPj6e32IwGAoKCu64446RPZHT6aysrGxubrbZbCKRSK1WJycnD30xxtGspaXlyJEjt956K7/65fHjx9vb27llHjm7du2KiIi4Fjd0AQAAAAC4FnJycvhF3ceznTt3WiyWXhszMzNTUlKGV0Vms9lmswVGKjQiAvAu0E6nc9++fSzLZmRkqFQqt9vd2Nh4+PDhG264YYjrPY5mOp2Ooiij0RgVFcVtMRqNHo/HYrEEBwdzy12azeapU6f6O1IAAAAAgKHi1roDQkhqampsbKzvFu4ikeFV0YULF7xeLxJg3uhKgE0m0/Hjx3t6ekJCQmbMmMFdIWy1Ws+cOdPR0cGybFRU1JQpU4RCYXNzc3FxcVxcXHl5eX5+vu8wfUVFhdvtXrp0KT9GqtVqg4ODvV4v9yN/QJqmdTpddnY216QG2l5TU1NeXs4wTFxcnNfrZRhm2rRpvmFXV1fX1tbabLagoKApU6aEhoZeuyoSCoU6na61tZVLgLu7u7m1IgwGA5cAGwwGkUik1Wo9Hk9JSUlzc7PL5dJqtdOmTePqc/fu3RMnTmxoaFAqldwSnfX19WVlZV6vNzw8fOrUqUKhcKA3tWvXrujo6Pb2du57qZycHG677zFnzZrV1tZWUlJiNpulUmlkZGRGRgZFUQzDnDlzpqGhQSwWZ2RkVFZWpqWlRUdHFxUVud1ul8vV2dl5yy23dHR0lJSUdHV1CQSCiIiI7OxsgUDQ3NxcVFSUkpJSV1dns9ni4uLCwsLKysqsVqtGo5k+fTohpKyszOl0XruaBwAAABif2traCgsLly5dKpfLa2tra2pq7Ha7TCZLTk7mp+P22403GAxlZWVms1koFKakpCQnJxNCGIYpKipqbGykaTo9PZ0/Cz+/t7i42Ol0SiQSo9HocDhiY2O5iY0Oh6OwsLCjo4NbZe3QoUPLli2jKGrr1q1Lly7lesI1NTXnz59ftGgR13ucNGlSbW2t3W5Xq9U33HCDSCQaqEc6SM85JiaG6/16PJ6srCx+FOraEYvF3Nvp5bJVZDQai4uLLRaLUCiMiorKysqqrKysrKykKOrixYs333xzv4lV3xM5HI4rqtVBMqZ+cwq/1CpvdCXAtbW1M2fOlEgkJ06cKCwszM/PZ1n28OHDer1+5syZXq/3xIkTZ86cmT59OkVRTqfTarVySxf6HqSpqSkhIYHPfjkJCQncE5Zljxw5EhISctNNN3m93mPHjp08eXLOnDkDbTeZTGfOnMnNzQ0NDa2srKyvr+/167lw4UJFRcWNN96oVqtbWloOHz68ZMkShUJx7WopLCyspqaGe24wGCZMmKDT6YxGI/cBZDAY9Ho9TdNnzpwxm835+flisbiioqKgoGDp0qXcxRvnz5/PyclRq9VtbW1er9dgMCxatMjpdB46dKiioiIjI2OgN0XTdF1d3bx584KCgurr648ePbps2TKRSOR7TLvdXlBQkJ2dHRMTY7FYDh06JJVKk5OTa2pqmpub8/PzpVLpqVOn+JUhaZpubW1NTU3NyclhWfbYsWPR0dFz5851OBwFBQU1NTUpKSkURdntdrfbvWjRIqPRePDgQbvdnpeX53a7d+7caTAYQkNDaZpuaWm5dtUOAAAAMD5VVFQQQiiKMpvNpaWl8+fPV6vVJpPp0KFDOp2Om5TbtxtvtVqPHj06derU6Ohork8oFotjY2Nra2ubmprmz58vl8uLi4tdLlev01EU1dTUNHPmzKysLLPZvGvXrokTJ6rV6lOnThFCli1b5nA4Tp48yZUcKGau92ixWPLz8z0ez+7du+vr65OSkgbqkRYXFw/Uc66pqcnLywsKCqqrqzt9+nRkZKTfbwA2UBUVFhamp6fHxcU5HI4jR46cP38+PT29q6tLoVBkZWUNlFhd0Xn7rdWBMqZBcgo/1qoflkEaREJCAneD6JSUlM7OTqfT2d7e3tPTk5mZKRQKJRLJpEmTuEF8Qojb7U5LS5PL5TT97btgGMZms/X7lQmns7Ozu7s7MzNTJBJJpdK0tLSWlhav1zvQ9qamJo1GExkZKRQK09PT+35Hcv78+fj4+JCQEIqiIiIi9Hp9Q0PDtawkEhYWZrVauTFYo9Go1+v1er3RaOQu9TYajeHh4V6vt6GhYdKkSTKZTCAQpKenOxyOtrY27gg6nU6v13PfEXi93smTJ0skEqVSGRsby+WQg7ypiIgI7vswbvTYaDT2OiY3DhwfHy8QCNRqdWxs7MWLF7kvJmJiYlQqlUQiycrK8ng8/DsSCoVJSUlSqZSiqEWLFqWnpwsEgqCgoLCwMJPJxJVhGIb7FkOr1RJCoqKiaJoWi8VKpbKnp4crM8jvHQAAAACGh5+Oy/XfxGIxRVFarfa2227jp2H27cY3NDSoVKqYmBiKopRKZUJCQn19Pd8nVCqVQqFw8uTJ/CRNXwqFIjw8nBCiVCplMpnZbPZ6va2trSkpKRKJRKVS8YNbg2AYJiUlhetqajQarvPcb4908J4z3/vV6XQul+s6TDksKyvb/F2+PWdO3ypiGMbj8YjFYpqm5XL5woULe90ua5DEaugGqtV+M6ah5BTXrVZ5o2sEmE9guOqw2+1Wq5VhmP/85z++xRwOBzdyKJfLex2h7zcHmzZt4m8CtmzZMqvVKpVK+bUWuDPabLaBtjscDn44l6IotVrd6/g9PT1Go5H7YoxzrRdyUCqVQUFBBoMhKCiora0tKysrODhYIBB0dnaKRCK73R4WFuZwOLxeb0FBge+OVquVe+K7+hRN0/yPcrncbrcP/qb4wjRNSyQSrrzvdqvVqlQq+R2Dg4O5Dzu73c7XpEKh4CZL9I2ns7OzoqKip6eHoii3283PJxeJRNwuAoGAEMIP+9M0zf/dYgkNAAAAgBHHZ7khISGRkZG7du3S6XTh4eExMTH8pMu+3fienp6Ojo7PPvuMPw7Xdbfb7XwfXiKR9JrLyfG91ZNAIGAYxul0sizLdyb79sn7EggEfHgCgYDLIfvtkQ7ec+aD4XqhV5oxDkNycnKva4C5U/vqW0U0TWdkZJw4ceLcuXNhYWExMTG9BocGSayGrt9aHShjGiSnuP61yruuCTBN072+veByfT6H8R3L5aqDG+Xru06P2WzuVZhDUZRCoejq6uLGJwkhCxcu5H4rvdq0L4ZhBtrOsqxvUt03wRYIBFOmTElKShr4fY+8sLAwg8GgUqn4KwT0ej139a9KpZLJZFxTXrRoUb+fDr5V1+vPiXtpkDflW1e+ldPvr6PXLr5lfGuS397d3c1NlYmJiaFpuqioiP/oGQq/T0cBAAAACDx8F4uiqOnTp3MzJRsaGioqKvLz87kcsm83XigURkZG9l00lGEY3z7bEDMfbkCLP8tAvT7fxW8GKtO3R8r1hwfqOV9/A10DfFlJSUkTJ05saWlpamo6d+7crFmzIiIi+FcHSqy6uroGP+xla3WgjMkvidJlXdcp0Eqlsr293XeL0WhUq9V8HfFzWbm0RyqVBgcHu1wufna+x+O57Pj4xIkT6+rq+C8zVCqVSqXiv5MICgpyOBz8QSwWC0VRcrl8oO0SiYTPwViW7e7u7nU6hULhu9FqtQ6y6tRICQsLa29vb2tr0+v13Ba9Xs9t4e7wJpVKhUJhr8D6PZTb7ebrymazcV/IDfKm+N+R1+t1OBx9B+GDgoJ897VYLFzlSyQS399v3+s9uNsniMXiuLg47oOps7NzWNUDAAAAACPGbDZzTxiGcblcwcHBKSkp+fn5MpmsqamJe6lvN75Xf5IbZeVe4vulDofD7XYPJQZuoJjfkc/ZuE4jP9zCZw0D6bdHOvSe82jGsqzD4ZBKpXFxcXPmzImPjz9//rxvgaEnVsOo1X4zJr8kSpd1XRPgyZMnNzc3l5aWmkwmk8lUVlZWX1+flZXFF+DuKed2u6uqqsLCwkQiUUhIiEajKSoqcjqdLpfr66+/LiwsHPwsKSkpMplsz549DQ0NFovFZDLV1dUdOnQoJCREJBJpNBq1Wl1aWurxeOx2e3l5eVRU1CDbuVTTYDB4vd7Kysq+f6IJCQkXLlxoaWlhGKatrW3Pnj29kvxrQafTeTyehoYGfoawXq/v7Ozs6Ojgb3GekJBQXl7OXQ9QU1OzZ8+efj9fBALB2bNnPR6P1Wqtr6+PjIwc/E21trZ2dHR4vd5z585xt8vudcCYmJienp7z588zDGMymc6fP89N4QgLC2toaOjp6XG5XKWlpf3ecU4ul7tcLrPZ7Ha7z549y+XYI115AAAAAHAF+Os26+vrDx48aLFYWJY1m80Oh4O/kK1vNz46OtrhcFRUVHi9XqvVeujQoXPnzvF9wu7ubqfTOVCfsC+BQKDT6aqqqtxut8Viqaur47aLxWKxWMxdr2u1Wpubmwc/zkA90iH2nK8Pt9tt/a6hdIktFsv27dsNBgPDMNzCqNxvRyAQcKm+Wq0eYmI1jFrtN2PyS6J0Wdd1CrRWq83LyysvL+earEqlmjt3LjeGyX0ZkJiYWFBQYLPZQkJC+DuSzZw588yZM9u3b6dpWq/X33DDDYOfRSQSzZ8/v7Kysry83GazCQQCpVKZmJgYFxfHTW/gDrht2zZuoR3upuEURfW7Xa/XT5o06cSJEyzLJiYmhoWF9Rr3Dw8Pz8jI+Prrr51Op1wuz8rK6psTjjiRSDRhwgTuDljclqCgILFY7HQ6J0yYwG1JT0/3eDz79+9nGEatVs+ZM8f3slsOwzBSqVSj0ezcudPr9UZERHBTFAZ5U9zSU21tbRKJJDc3t+9nlkwmmzVrVllZWVFREXc7sfj4eO5iBovFsmfPHu6WAx0dHX1nUOj1+ri4uH379gkEgsTExOnTpx88ePDw4cNDuc8BAAAAAFwLSUlJx48f5/qBNputoKDA5XLJZLKkpKTIyEhuFLFvN14qlebm5paUlJSXl0skkujo6NTUVG6RW5vNduDAAW4ZpKHP+MvJyTl58uRXX32lUqnS0tIOHz7Mby8pKampqVEoFImJiXxu3K+BeqRD6TlfNxUVFb7XzXKd5Ly8vMH3UiqVU6dO/frrr202m0gkioiI4FaZiomJOX78+I4dO5YtWzb0xOqKanWgjMkvidJlUStXrvR3DKOdx+Ph07yDBw/q9fq0tDR/B+Uf/OJjw9udr0mGYTZv3pyXl8en68PA+uCu1mYYZuPGjcM+IAAAAAD0tWTJkmPHjt1yyy0CgYDycZ3D4Dp73IBWW1tbQUHBHXfcMYwwRrZHCpzRljENMtd6dC2DNAp1d3dv3ry5ubnZ6/U2NzfzF9nClaqpqdmxY4fZbPZ4POXl5WKxeARvM8B99uEmWAAAAAAjrrq6Wq/XD3LH0+ujsLDwyJEjTqfT4XBUVlb2nZg5FNe0Rzpuja2MaXQtgzQKqVSqadOmFRcXc3dsnzZtWkhIiL+DGpPi4+N7enoOHjzo8XhUKlW/06evntvt9uN8FQAAAIAA43Q6BQJBZmamvwMh2dnZp0+f3rFjB0VROp0uOzt7GAe5Pj3S8WZsZUyYAg1jFTf5mV+tinv8+9//jkksAAAAACOlvb398ccfpyiKpmnukZt2h5l3MJphCjQEPu5T+LLrmAEAAADA0HGdK6S7EDCQAENAqa+v93cIAAAAAIGjb+cKyTCMaUiAYQzj733FfxCXlJT4OygAAACAwHH69GnuCaY9Q2BAAgxjVd+PYIqizp496/F4/BQRAAAAQEDxeDxlZWX9drr8FBHA1UICDAGC+yC22+0HDhzwdywAAAAAgeDAgQNerxcZLwQSJMAw5vGfyNyTTZs2ud1ufwcFAAAAMLa53e7PP/+8b18LYExDAgxjW6/LgCmK6urq2rNnj7/jAgAAABjbduzY0d3d3bev5e+4AK4KEmAYw3p9BFPf+PzzzxsbG/0XFwAAAMDYVl1d/Z///IfvXPm+hBwYxjQkwBAIfD+dKYqy2+2rV6/u7Oz0d1wAAAAAY4/BYFizZo3L5fId/kXeC4EBCTCMeb4fx/ync2dn5+rVq+12u19DAwAAABhjLBbLyy+/bLFY+i59hDQYAgASYBjbfO/KwKNpmqKoxsbGxx9/vKqqyt8xAgAAAIwNpaWlTz31lMFg4DtUGP6FACPIzs72dwwAV4ufn8OyLPfIbXe5XAcOHGhvb09KSpJKpf4OEwAAAGCUMpvN77333gcffMDNfOYHFQgh3CPSYAgMSIBhzOt7T8Jen8719fV79uyhKCo2NlYoFPojRgAAAIBRymazbd++fe3atdXV1b2m1PW904q/gwW4WtTKlSv9HQPACGBZlhv45Z8wDMM/st/IycnJzc2NjIxUKpVardbfUQMAAABcby6Xy2KxWCyWixcvHj169PTp075Zbr+jvhj+hbGFnxDa1/8HAW6NeELZsf4AAAAASUVORK5CYII=","disable_correlation":true,"first_seen":"2024-08-01T12:33:00.387000+00:00","to_ids":false,"type":"attachment","uuid":"aaca6406-2594-4a5e-80e5-62a6cffa3131","value":"screenshot_landing_page.png"},{"category":"External analysis","comment":"HTTP Archive (HAR) of the whole capture","data":"eyJsb2ciOiB7InZlcnNpb24iOiAiMS4yIiwgImNyZWF0b3IiOiB7Im5hbWUiOiAiUGxheXdyaWdodCIsICJ2ZXJzaW9uIjogIjEuNDUuMyJ9LCAiYnJvd3NlciI6IHsibmFtZSI6ICJjaHJvbWl1bSIsICJ2ZXJzaW9uIjogIjEyNy4wLjY1MzMuMTcifSwgInBhZ2VzIjogW3sic3RhcnRlZERhdGVUaW1lIjogIjIwMjQtMDgtMDFUMTI6MzM6MDAuMzE1WiIsICJpZCI6ICJwYWdlQDJlN2FjZTk1NWE2NzczZWNmZDJlOThlZjJmZGNiNzA0IiwgInRpdGxlIjogIkdvb2dsZSIsICJwYWdlVGltaW5ncyI6IHsib25Db250ZW50TG9hZCI6IDExNTUxLCAib25Mb2FkIjogMTE5NTN9fV0sICJlbnRyaWVzIjogW3sic3RhcnRlZERhdGVUaW1lIjogIjIwMjQtMDgtMDFUMTI6MzM6MDAuMzg3WiIsICJ0aW1lIjogMTc3LjcwOSwgInJlcXVlc3QiOiB7Im1ldGhvZCI6ICJHRVQiLCAidXJsIjogImh0dHBzOi8vcHViLTJlYTdjNjM5YjRhMTRiOTJhNTBlMzQ4Zjk5YjMzMjkzLnIyLmRldi9VQy1hbnRpYjB0ei9jcDFkaC1zY2hhbnphcHEzemN0eWJ6dW1oN2dzM3VxdXR3eWlndWJtdHdqZW02eGc1czJjem55amF2ZnZ5NGFlNWEzbXE2czlvNDR2bXpzeGY1M2Njb3ZjYnl4Mmlvc3g1Mmk4dzZkY2RmLmh0bT9lZ25yZmJja2Rjam9jYWR3ZnN2aW95bXllcXFyd2Fqdml1cW5za3F3bWZzZXhydHh0biIsICJodHRwVmVyc2lvbiI6ICJIVFRQLzEuMSIsICJjb29raWVzIjogW10sICJoZWFkZXJzIjogW3sibmFtZSI6ICJBY2NlcHQiLCAidmFsdWUiOiAidGV4dC9odG1sLGFwcGxpY2F0aW9uL3hodG1sK3htbCxhcHBsaWNhdGlvbi94bWw7cT0wLjksaW1hZ2UvYXZpZixpbWFnZS93ZWJwLGltYWdlL2FwbmcsKi8qO3E9MC44LGFwcGxpY2F0aW9uL3NpZ25lZC1leGNoYW5nZTt2PWIzO3E9MC43In0sIHsibmFtZSI6ICJBY2NlcHQtRW5jb2RpbmciLCAidmFsdWUiOiAiZ3ppcCwgZGVmbGF0ZSwgYnIsIHpzdGQifSwgeyJuYW1lIjogIkFjY2VwdC1MYW5ndWFnZSIsICJ2YWx1ZSI6ICJlbi1VUyxlbjtxPTAuOSJ9LCB7Im5hbWUiOiAiQ29ubmVjdGlvbiIsICJ2YWx1ZSI6ICJrZWVwLWFsaXZlIn0sIHsibmFtZSI6ICJIb3N0IiwgInZhbHVlIjogInB1Yi0yZWE3YzYzOWI0YTE0YjkyYTUwZTM0OGY5OWIzMzI5My5yMi5kZXYifSwgeyJuYW1lIjogIlNlYy1GZXRjaC1EZXN0IiwgInZhbHVlIjogImRvY3VtZW50In0sIHsibmFtZSI6ICJTZWMtRmV0Y2gtTW9kZSIsICJ2YWx1ZSI6ICJuYXZpZ2F0ZSJ9LCB7Im5hbWUiOiAiU2VjLUZldGNoLVNpdGUiLCAidmFsdWUiOiAibm9uZSJ9LCB7Im5hbWUiOiAiU2VjLUZldGNoLVVzZXIiLCAidmFsdWUiOiAiPzEifSwgeyJuYW1lIjogIlVwZ3JhZGUtSW5zZWN1cmUtUmVxdWVzdHMiLCAidmFsdWUiOiAiMSJ9LCB7Im5hbWUiOiAiVXNlci1BZ2VudCIsICJ2YWx1ZSI6ICJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTI3LjAuNjUzMy4xNyBTYWZhcmkvNTM3LjM2In0sIHsibmFtZSI6ICJzZWMtY2gtdWEiLCAidmFsdWUiOiAiXCJDaHJvbWl1bVwiO3Y9XCIxMjdcIiwgXCJOb3QpQTtCcmFuZFwiO3Y9XCI5OVwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtbW9iaWxlIiwgInZhbHVlIjogIj8wIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtcGxhdGZvcm0iLCAidmFsdWUiOiAiXCJXaW5kb3dzXCIifV0sICJxdWVyeVN0cmluZyI6IFt7Im5hbWUiOiAiZWducmZiY2tkY2pvY2Fkd2ZzdmlveW15ZXFxcndhanZpdXFuc2txd21mc2V4cnR4dG4iLCAidmFsdWUiOiAiIn1dLCAiaGVhZGVyc1NpemUiOiA3OTIsICJib2R5U2l6ZSI6IDB9LCAicmVzcG9uc2UiOiB7InN0YXR1cyI6IDIwMCwgInN0YXR1c1RleHQiOiAiT0siLCAiaHR0cFZlcnNpb24iOiAiSFRUUC8xLjEiLCAiY29va2llcyI6IFtdLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiQWNjZXB0LVJhbmdlcyIsICJ2YWx1ZSI6ICJieXRlcyJ9LCB7Im5hbWUiOiAiQ0YtUkFZIiwgInZhbHVlIjogIjhhYzVkYWE5YWI2ZDliYWMtRlJBIn0sIHsibmFtZSI6ICJDb25uZWN0aW9uIiwgInZhbHVlIjogImtlZXAtYWxpdmUifSwgeyJuYW1lIjogIkNvbnRlbnQtTGVuZ3RoIiwgInZhbHVlIjogIjEwMzkzMiJ9LCB7Im5hbWUiOiAiQ29udGVudC1UeXBlIiwgInZhbHVlIjogInRleHQvaHRtbCJ9LCB7Im5hbWUiOiAiRGF0ZSIsICJ2YWx1ZSI6ICJUaHUsIDAxIEF1ZyAyMDI0IDEyOjMzOjAwIEdNVCJ9LCB7Im5hbWUiOiAiRVRhZyIsICJ2YWx1ZSI6ICJcIjRhZTI4ZTY0NGUyZDQ2NzZhMjBjMmFkY2ZmMWNjOWRlXCIifSwgeyJuYW1lIjogIkxhc3QtTW9kaWZpZWQiLCAidmFsdWUiOiAiV2VkLCAzMSBKdWwgMjAyNCAwNzozNTowMyBHTVQifSwgeyJuYW1lIjogIlNlcnZlciIsICJ2YWx1ZSI6ICJjbG91ZGZsYXJlIn0sIHsibmFtZSI6ICJWYXJ5IiwgInZhbHVlIjogIkFjY2VwdC1FbmNvZGluZyJ9XSwgImNvbnRlbnQiOiB7InNpemUiOiAxMDM5MzIsICJtaW1lVHlwZSI6ICJ0ZXh0L2h0bWwiLCAiY29tcHJlc3Npb24iOiAwLCAidGV4dCI6ICI8IURPQ1RZUEUgaHRtbD5cclxuPGh0bWwgbGFuZz1cImVuXCI+XHJcbjxoZWFkPlxyXG4gICAgPG1ldGEgY2hhcnNldD1cIlVURi04XCI+XHJcbiAgICA8bWV0YSBuYW1lPVwidmlld3BvcnRcIiBjb250ZW50PVwid2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMFwiPlxyXG4gICAgPHRpdGxlPkNoZWNraW5nIFlvdXIgQnJvd3NlcjwvdGl0bGU+XHJcbiAgICA8c2NyaXB0IHNyYz1cImFudGktYm90LmpzXCI+PC9zY3JpcHQ+XHJcbjwvaGVhZD5cclxuPGJvZHk+XHJcbjxzY3JpcHQgbGFuZ3VhZ2U9amF2YXNjcmlwdD5kb2N1bWVudC53cml0ZSh1bmVzY2FwZSgnJTNDJTY4JTc0JTZEJTZDJTIwJTY5JTY0JTNEJTIyJTY4JTc0JTZEJTZDJTIyJTIwJTY0JTYxJTc0JTYxJTJEJTcyJTY1JTY2JTNEJTIyJTYxJTZDJTcwJTY4JTYxJTczJTY4JTIyJTIwJTY0JTYxJTc0JTYxJTJEJTY5JTY2JTcyJTYxJTZEJTY1JTNEJTIyJTMwJTIyJTIwJTZDJTYxJTZFJTY3JTNEJTIyJTY1JTZFJTIyJTNFJTNDJTY4JTY1JTYxJTY0JTNFJTBBJTIwJTIwJTIwJTIwJTNDJTZEJTY1JTc0JTYxJTIwJTYzJTY4JTYxJTcyJTczJTY1JTc0JTNEJTIyJTU1JTU0JTQ2JTJEJTM4JTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDJTc0JTY5JTc0JTZDJTY1JTNFJTUwJTRGJTUyJTU0JTQxJTRDJTIwJTJEJTIwJTREJTYxJTY5JTZDJTIwJTQxJTc1JTc0JTY4JTY1JTZFJTc0JTY5JTYzJTYxJTc0JTY5JTZGJTZFJTNDJTJGJTc0JTY5JTc0JTZDJTY1JTNFJTBBJTIwJTIwJTIwJTIwJTNDJTZEJTY1JTc0JTYxJTIwJTZFJTYxJTZEJTY1JTNEJTIyJTc2JTY5JTY1JTc3JTcwJTZGJTcyJTc0JTIyJTIwJTYzJTZGJTZFJTc0JTY1JTZFJTc0JTNEJTIyJTc3JTY5JTY0JTc0JTY4JTNEJTY0JTY1JTc2JTY5JTYzJTY1JTJEJTc3JTY5JTY0JTc0JTY4JTJDJTY5JTZFJTY5JTc0JTY5JTYxJTZDJTJEJTczJTYzJTYxJTZDJTY1JTNEJTMxJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDJTZDJTY5JTZFJTZCJTIwJTY5JTY0JTNEJTIyJTY2JTYxJTc2JTY5JTYzJTZGJTZFJTc4JTIyJTIwJTcyJTY1JTZDJTNEJTIyJTY5JTYzJTZGJTZFJTIyJTIwJTc0JTc5JTcwJTY1JTNEJTIyJTY5JTZEJTYxJTY3JTY1JTJGJTc4JTJEJTY5JTYzJTZGJTZFJTIyJTIwJTY4JTcyJTY1JTY2JTNEJTIyJTY4JTc0JTc0JTcwJTczJTNBJTJGJTJGJTc3JTc3JTc3JTJFJTY3JTZGJTZGJTY3JTZDJTY1JTJFJTYzJTZGJTZEJTJGJTczJTMyJTJGJTY2JTYxJTc2JTY5JTYzJTZGJTZFJTczJTNGJTY0JTZGJTZEJTYxJTY5JTZFJTNEJTY0JTY1JTZDJTZDJTJFJTYzJTZGJTZEJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDJTZDJTY5JTZFJTZCJTIwJTcyJTY1JTZDJTNEJTIyJTczJTc0JTc5JTZDJTY1JTczJTY4JTY1JTY1JTc0JTIyJTIwJTY4JTcyJTY1JTY2JTNEJTIyJTY4JTc0JTc0JTcwJTczJTNBJTJGJTJGJTYzJTY0JTZFJTZBJTczJTJFJTYzJTZDJTZGJTc1JTY0JTY2JTZDJTYxJTcyJTY1JTJFJTYzJTZGJTZEJTJGJTYxJTZBJTYxJTc4JTJGJTZDJTY5JTYyJTczJTJGJTY2JTZGJTZFJTc0JTJEJTYxJTc3JTY1JTczJTZGJTZEJTY1JTJGJTM0JTJFJTM3JTJFJTMwJTJGJTYzJTczJTczJTJGJTY2JTZGJTZFJTc0JTJEJTYxJTc3JTY1JTczJTZGJTZEJTY1JTJFJTZEJTY5JTZFJTJFJTYzJTczJTczJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDJTZDJTY5JTZFJTZCJTIwJTcyJTY1JTZDJTNEJTIyJTczJTc0JTc5JTZDJTY1JTczJTY4JTY1JTY1JTc0JTIyJTIwJTY4JTcyJTY1JTY2JTNEJTIyJTY4JTc0JTc0JTcwJTczJTNBJTJGJTJGJTc3JTc3JTc3JTJFJTc3JTMzJTczJTYzJTY4JTZGJTZGJTZDJTczJTJFJTYzJTZGJTZEJTJGJTc3JTMzJTYzJTczJTczJTJGJTM0JTJGJTc3JTMzJTJFJTYzJTczJTczJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDJTczJTc0JTc5JTZDJTY1JTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTY0JTc5JTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZEJTYxJTY5JTZFJTVGJTYzJTZGJTZFJTc0JTYxJTY5JTZFJTY1JTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTYxJTYzJTZCJTY3JTcyJTZGJTc1JTZFJTY0JTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTIzJTY2JTY2JTY2JTNCJTBBJTA5JTA5JTA5JTZGJTc2JTY1JTcyJTY2JTZDJTZGJTc3JTJEJTc4JTNBJTY4JTY5JTY0JTY0JTY1JTZFJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZEJTYxJTY5JTZFJTVGJTYzJTZGJTZFJTc0JTYxJTY5JTZFJTY1JTcyJTVEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTY0JTc5JTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTYzJTZGJTZFJTc0JTYxJTY5JTZFJTY1JTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY0JTY5JTczJTcwJTZDJTYxJTc5JTNBJTIwJTY2JTZDJTY1JTc4JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZEJTYxJTY5JTZFJTVGJTYzJTZGJTZFJTc0JTYxJTY5JTZFJTY1JTcyJTVEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTY0JTc5JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZBJTc1JTczJTc0JTY5JTY2JTc5JTJEJTYzJTZGJTZFJTc0JTY1JTZFJTc0JTNBJTIwJTYzJTY1JTZFJTc0JTY1JTcyJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTYzJTZGJTZFJTc0JTYxJTY5JTZFJTY1JTcyJTVEJTIwJTY4JTMzJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTIzJTMwJTMwJTMwJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTYzJTZGJTZFJTc0JTYxJTY5JTZFJTY1JTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTMyJTM2JTJFJTMyJTM1JTcwJTYzJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTYxJTc1JTc0JTY4JTVGJTcyJTY1JTY3JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTcyJTY1JTY0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTYzJTZGJTZFJTc0JTYxJTY5JTZFJTY1JTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY4JTY1JTY5JTY3JTY4JTc0JTNBJTIwJTM1JTMwJTMwJTcwJTc4JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTYxJTc1JTc0JTY4JTVGJTcyJTY1JTY3JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTZDJTY1JTY2JTc0JTNBJTIwJTMzJTJFJTM3JTM1JTcwJTc0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTYxJTc1JTc0JTY4JTVGJTcyJTY1JTY3JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTYyJTZGJTc0JTc0JTZGJTZEJTNBJTIwJTMzJTJFJTM3JTM1JTcwJTc0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTYzJTZGJTZFJTc0JTYxJTY5JTZFJTY1JTcyJTVEJTIwJTY4JTMzJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTYzJTZGJTZFJTc0JTYxJTY5JTZFJTY1JTcyJTVEJTIwJTY4JTMzJTIwJTY5JTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTc0JTcyJTZGJTJEJTc0JTY1JTc4JTc0JTVEJTIwJTcwJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY2JTZGJTZFJTc0JTJEJTczJTY5JTdBJTY1JTNBJTIwJTMxJTcyJTY1JTZEJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJBJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTc4JTJEJTczJTY5JTdBJTY5JTZFJTY3JTNBJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTYyJTZGJTc4JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTc0JTcyJTZGJTJEJTc0JTY1JTc4JTc0JTVEJTIwJTcwJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTc0JTZGJTcwJTNBJTIwJTJFJTMzJTcyJTY1JTZEJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTY5JTZFJTcwJTc1JTc0JTIwJTY5JTZFJTcwJTc1JTc0JTNBJTY2JTZGJTYzJTc1JTczJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTZDJTY1JTY2JTc0JTJEJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTJFJTMwJTMyJTMwJTM4JTMzJTMzJTMzJTMzJTMzJTY5JTZFJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTYxJTc1JTc0JTY4JTVGJTcyJTY1JTY3JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTcyJTY5JTY3JTY4JTc0JTNBJTIwJTMzJTJFJTM3JTM1JTcwJTc0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTYzJTZGJTZFJTc0JTYxJTY5JTZFJTY1JTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTYxJTYzJTZCJTY3JTcyJTZGJTc1JTZFJTY0JTNBJTIwJTIzJTY2JTY2JTY2JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTYzJTZGJTZFJTc0JTYxJTY5JTZFJTY1JTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTc4JTJEJTczJTY4JTYxJTY0JTZGJTc3JTNBJTIwJTMwJTIwJTJFJTM2JTMyJTM1JTcwJTYzJTIwJTMxJTM1JTcwJTc4JTIwJTcyJTY3JTYyJTYxJTI4JTMxJTM3JTM5JTJDJTIwJTMxJTM3JTM5JTJDJTIwJTMxJTM3JTM5JTJDJTIwJTJFJTM3JTI5JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJBJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZEJTYxJTcyJTY3JTY5JTZFJTJEJTZDJTY1JTY2JTc0JTNBJTIwJTMwJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTYzJTZGJTZFJTc0JTYxJTY5JTZFJTY1JTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTZGJTczJTY5JTc0JTY5JTZGJTZFJTNBJTIwJTYxJTYyJTczJTZGJTZDJTc1JTc0JTY1JTIwJTIxJTY5JTZEJTcwJTZGJTcyJTc0JTYxJTZFJTc0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTc0JTcyJTZGJTJEJTc0JTY1JTc4JTc0JTVEJTIwJTcwJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY2JTZGJTZFJTc0JTJEJTY2JTYxJTZEJTY5JTZDJTc5JTNBJTIwJTQzJTYxJTZEJTYyJTcyJTY5JTYxJTJDJTIwJTQzJTZGJTYzJTY4JTY5JTZFJTJDJTIwJTQ3JTY1JTZGJTcyJTY3JTY5JTYxJTJDJTIwJTU0JTY5JTZEJTY1JTczJTJDJTIwJTIyJTU0JTY5JTZEJTY1JTczJTIwJTRFJTY1JTc3JTIwJTUyJTZGJTZEJTYxJTZFJTIyJTJDJTIwJTczJTY1JTcyJTY5JTY2JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTc0JTcyJTZGJTJEJTc0JTY1JTc4JTc0JTVEJTIwJTcwJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc0JTY1JTc4JTc0JTJEJTYxJTZDJTY5JTY3JTZFJTNBJTIwJTYzJTY1JTZFJTc0JTY1JTcyJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTc0JTcyJTZGJTJEJTc0JTY1JTc4JTc0JTVEJTIwJTY4JTMyJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTIzJTMwJTM2JTMyJTM3JTYxJTYyJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTc0JTcyJTZGJTJEJTc0JTY1JTc4JTc0JTVEJTIwJTY4JTMyJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY2JTZGJTZFJTc0JTJEJTczJTY5JTdBJTY1JTNBJTIwJTMxJTJFJTMyJTcyJTY1JTZEJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTY5JTZFJTcwJTc1JTc0JTNBJTc2JTYxJTZDJTY5JTY0JTdFJTZDJTYxJTYyJTY1JTZDJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTYzJTZGJTZFJTc0JTYxJTY5JTZFJTY1JTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc0JTZGJTcwJTNBJTIwJTMxJTMwJTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZBJTZGJTY5JTZFJTJEJTZDJTY5JTZFJTZCJTVEJTIwJTYxJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc0JTY1JTc4JTc0JTJEJTY0JTY1JTYzJTZGJTcyJTYxJTc0JTY5JTZGJTZFJTNBJTIwJTZFJTZGJTZFJTY1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZBJTZGJTY5JTZFJTJEJTZDJTY5JTZFJTZCJTVEJTIwJTYxJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY2JTZGJTZFJTc0JTJEJTc3JTY1JTY5JTY3JTY4JTc0JTNBJTIwJTZFJTZGJTcyJTZEJTYxJTZDJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTYxJTc1JTc0JTY4JTVGJTcyJTY1JTY3JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTc0JTZGJTcwJTNBJTIwJTMzJTJFJTM3JTM1JTcwJTc0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTYxJTc1JTc0JTY4JTVGJTcyJTY1JTY3JTMyJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTYxJTc1JTc0JTY4JTVGJTcyJTY1JTY3JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY2JTZGJTZFJTc0JTJEJTczJTY5JTdBJTY1JTNBJTIwJTczJTZEJTYxJTZDJTZDJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZBJTZGJTY5JTZFJTJEJTZDJTY5JTZFJTZCJTVEJTIwJTYxJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTcyJTY3JTYyJTYxJTI4JTMxJTMyJTM4JTJDJTIwJTMxJTMyJTM4JTJDJTIwJTMxJTMyJTM4JTJDJTIwJTJFJTM1JTM3JTM3JTI5JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY2JTZGJTcyJTY3JTZGJTc0JTJEJTcwJTYxJTczJTczJTJEJTZDJTY5JTZFJTZCJTVEJTNBJTY4JTZGJTc2JTY1JTcyJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTYxJTYzJTZCJTY3JTcyJTZGJTc1JTZFJTY0JTNBJTIwJTcyJTY3JTYyJTYxJTI4JTMxJTMwJTJDJTIwJTMxJTMwJTMyJTJDJTIwJTMxJTM5JTM1JTJDJTIwJTJFJTMzJTI5JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTYzJTZGJTZFJTc0JTYxJTY5JTZFJTY1JTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY0JTY5JTczJTcwJTZDJTYxJTc5JTNBJTIwJTZFJTZGJTZFJTY1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTc1JTc0JTc0JTZGJTZFJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY4JTY1JTY5JTY3JTY4JTc0JTNBJTIwJTM2JTMwJTcwJTc4JTIwJTIxJTY5JTZEJTcwJTZGJTcyJTc0JTYxJTZFJTc0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZDJTZGJTYxJTY0JTY1JTcyJTVEJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZDJTZGJTYxJTY0JTY1JTcyJTQyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTZGJTczJTY5JTc0JTY5JTZGJTZFJTNBJTIwJTYxJTYyJTczJTZGJTZDJTc1JTc0JTY1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZDJTZGJTYxJTY0JTY1JTcyJTVEJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZDJTZGJTYxJTY0JTY1JTcyJTQyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTcyJTYxJTY0JTY5JTc1JTczJTNBJTIwJTJFJTM2JTMyJTM1JTcwJTYzJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTc1JTc0JTc0JTZGJTZFJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTYxJTYzJTZCJTY3JTcyJTZGJTc1JTZFJTY0JTNBJTIwJTIzJTMwJTYxJTM2JTM2JTYzJTMzJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTYzJTZGJTZFJTc0JTYxJTY5JTZFJTY1JTcyJTVEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTc0JTcyJTZGJTJEJTc0JTY1JTc4JTc0JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY2JTZDJTY1JTc4JTJEJTY0JTY5JTcyJTY1JTYzJTc0JTY5JTZGJTZFJTNBJTIwJTYzJTZGJTZDJTc1JTZEJTZFJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTY5JTZFJTcwJTc1JTc0JTIwJTY5JTZFJTcwJTc1JTc0JTNBJTY2JTZGJTYzJTc1JTczJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTYyJTZGJTc0JTc0JTZGJTZEJTJEJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTJFJTMwJTMyJTMwJTM4JTMzJTMzJTMzJTMzJTMzJTY5JTZFJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTY5JTZFJTcwJTc1JTc0JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTMxJTMwJTMwJTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTY5JTZFJTcwJTc1JTc0JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY4JTY1JTY5JTY3JTY4JTc0JTNBJTIwJTJFJTM1JTMyJTMwJTM4JTMzJTMzJTMzJTMzJTMzJTY5JTZFJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTYzJTZGJTZFJTc0JTYxJTY5JTZFJTY1JTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZBJTc1JTczJTc0JTY5JTY2JTc5JTJEJTYzJTZGJTZFJTc0JTY1JTZFJTc0JTNBJTIwJTczJTcwJTYxJTYzJTY1JTJEJTY1JTc2JTY1JTZFJTZDJTc5JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTYzJTZGJTZFJTc0JTYxJTY5JTZFJTY1JTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTZDJTY1JTY2JTc0JTNBJTIwJTMyJTcyJTY1JTZEJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTYzJTZGJTZFJTc0JTYxJTY5JTZFJTY1JTcyJTVEJTIwJTY4JTMzJTIwJTY5JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTZDJTY1JTY2JTc0JTNBJTIwJTJFJTMxJTcyJTY1JTZEJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTYzJTZGJTZFJTc0JTYxJTY5JTZFJTY1JTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTYyJTZGJTc0JTc0JTZGJTZEJTNBJTIwJTMyJTcyJTY1JTZEJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTY5JTZFJTcwJTc1JTc0JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTc0JTZGJTcwJTNBJTIwJTMxJTJFJTMxJTcyJTY1JTZEJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTYzJTZGJTZFJTc0JTYxJTY5JTZFJTY1JTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTcyJTY5JTY3JTY4JTc0JTNBJTIwJTMyJTcyJTY1JTZEJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTY5JTZFJTcwJTc1JTc0JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTZDJTY1JTY2JTc0JTNBJTIwJTJFJTMwJTM5JTMzJTM3JTM1JTY5JTZFJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJBJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZEJTYxJTcyJTY3JTY5JTZFJTJEJTYyJTZGJTc0JTc0JTZGJTZEJTNBJTIwJTMwJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTc1JTc0JTc0JTZGJTZFJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTY5JTZFJTcwJTc1JTc0JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZGJTc1JTc0JTZDJTY5JTZFJTY1JTNBJTIwJTZFJTZGJTZFJTY1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTYxJTc1JTc0JTY4JTVGJTcyJTY1JTY3JTMyJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTYxJTc1JTc0JTY4JTVGJTcyJTY1JTY3JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY2JTZGJTZFJTc0JTJEJTY2JTYxJTZEJTY5JTZDJTc5JTNBJTIwJTczJTYxJTZFJTczJTJEJTczJTY1JTcyJTY5JTY2JTJDJTIwJTIyJTQ4JTY1JTZDJTc2JTY1JTc0JTY5JTYzJTYxJTIwJTRFJTY1JTc1JTY1JTIyJTJDJTIwJTIyJTRDJTc1JTYzJTY5JTY0JTYxJTIwJTQ3JTcyJTYxJTZFJTY0JTY1JTIyJTJDJTIwJTQxJTcyJTY5JTYxJTZDJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTYzJTZGJTZFJTc0JTYxJTY5JTZFJTY1JTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTc0JTZGJTcwJTNBJTIwJTMwJTcyJTY1JTZEJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTYzJTZGJTZFJTc0JTYxJTY5JTZFJTY1JTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdBJTJEJTY5JTZFJTY0JTY1JTc4JTNBJTIwJTM5JTM5JTM5JTM5JTM5JTM5JTM5JTM5JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZDJTZGJTYxJTY0JTY1JTcyJTVEJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZDJTZGJTYxJTY0JTY1JTcyJTQyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc0JTZGJTcwJTNBJTIwJTMwJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTc0JTcyJTZGJTJEJTc0JTY1JTc4JTc0JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY0JTY5JTczJTcwJTZDJTYxJTc5JTNBJTIwJTY2JTZDJTY1JTc4JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTc0JTcyJTZGJTJEJTc0JTY1JTc4JTc0JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZBJTc1JTczJTc0JTY5JTY2JTc5JTJEJTYzJTZGJTZFJTc0JTY1JTZFJTc0JTNBJTIwJTYzJTY1JTZFJTc0JTY1JTcyJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTY5JTZFJTcwJTc1JTc0JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTZDJTY1JTY2JTc0JTJEJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTJFJTMwJTM2JTMyJTM1JTcwJTYzJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTY5JTZFJTcwJTc1JTc0JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTYyJTZGJTc0JTc0JTZGJTZEJTJEJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTJFJTMwJTM2JTMyJTM1JTcwJTYzJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTc0JTcyJTZGJTJEJTc0JTY1JTc4JTc0JTVEJTNFJTJBJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZEJTYxJTcyJTY3JTY5JTZFJTJEJTZDJTY1JTY2JTc0JTNBJTIwJTYxJTc1JTc0JTZGJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTc1JTc0JTc0JTZGJTZFJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTZDJTY1JTY2JTc0JTJEJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTZEJTY1JTY0JTY5JTc1JTZEJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTYxJTc1JTc0JTY4JTVGJTcyJTY1JTY3JTMyJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTYxJTc1JTc0JTY4JTVGJTcyJTY1JTY3JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY2JTZGJTZFJTc0JTJEJTczJTc0JTcyJTY1JTc0JTYzJTY4JTNBJTIwJTY1JTc4JTcwJTYxJTZFJTY0JTY1JTY0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTc1JTc0JTc0JTZGJTZFJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTYyJTZGJTc0JTc0JTZGJTZEJTJEJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTZEJTY1JTY0JTY5JTc1JTZEJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTY5JTZFJTcwJTc1JTc0JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTcyJTY5JTY3JTY4JTc0JTJEJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTJFJTMwJTM2JTMyJTM1JTcwJTYzJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTY5JTZFJTcwJTc1JTc0JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTc0JTZGJTcwJTJEJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTJFJTMwJTM2JTMyJTM1JTcwJTYzJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTY5JTZFJTcwJTc1JTc0JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTZDJTY1JTY2JTc0JTJEJTczJTc0JTc5JTZDJTY1JTNBJTIwJTczJTZGJTZDJTY5JTY0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTc0JTcyJTZGJTJEJTc0JTY1JTc4JTc0JTVEJTNFJTJBJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZEJTYxJTcyJTY3JTY5JTZFJTJEJTYyJTZGJTc0JTc0JTZGJTZEJTNBJTIwJTJFJTM2JTMyJTM1JTcwJTYzJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTY5JTZFJTcwJTc1JTc0JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTYyJTZGJTc0JTc0JTZGJTZEJTJEJTczJTc0JTc5JTZDJTY1JTNBJTIwJTczJTZGJTZDJTY5JTY0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTc0JTcyJTZGJTJEJTc0JTY1JTc4JTc0JTVEJTNFJTJBJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZEJTYxJTcyJTY3JTY5JTZFJTJEJTcyJTY5JTY3JTY4JTc0JTNBJTIwJTYxJTc1JTc0JTZGJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTYxJTc1JTc0JTY4JTVGJTcyJTY1JTY3JTMyJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTcyJTY1JTY0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTY5JTZFJTcwJTc1JTc0JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTcyJTY5JTY3JTY4JTc0JTJEJTczJTc0JTc5JTZDJTY1JTNBJTIwJTczJTZGJTZDJTY5JTY0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTY5JTZFJTcwJTc1JTc0JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTc0JTZGJTcwJTJEJTczJTc0JTc5JTZDJTY1JTNBJTIwJTczJTZGJTZDJTY5JTY0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTY5JTZFJTcwJTc1JTc0JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTZDJTY1JTY2JTc0JTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTIzJTM4JTYzJTM4JTYzJTM4JTYzJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTY5JTZFJTcwJTc1JTc0JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTYyJTZGJTc0JTc0JTZGJTZEJTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTIzJTM4JTYzJTM4JTYzJTM4JTYzJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTc0JTcyJTZGJTJEJTc0JTY1JTc4JTc0JTVEJTNFJTJBJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZEJTYxJTcyJTY3JTY5JTZFJTJEJTc0JTZGJTcwJTNBJTIwJTYxJTc1JTc0JTZGJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTY5JTZFJTcwJTc1JTc0JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTcyJTY5JTY3JTY4JTc0JTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTIzJTM4JTYzJTM4JTYzJTM4JTYzJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTY5JTZFJTcwJTc1JTc0JTIwJTY5JTZFJTcwJTc1JTc0JTNBJTY2JTZGJTYzJTc1JTczJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTcyJTY5JTY3JTY4JTc0JTJEJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTJFJTMwJTMyJTMwJTM4JTMzJTMzJTMzJTMzJTMzJTY5JTZFJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTc1JTc0JTc0JTZGJTZFJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTcyJTY5JTY3JTY4JTc0JTJEJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTZEJTY1JTY0JTY5JTc1JTZEJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTc1JTc0JTc0JTZGJTZFJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTc0JTZGJTcwJTJEJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTZEJTY1JTY0JTY5JTc1JTZEJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTY5JTZFJTcwJTc1JTc0JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTc0JTZGJTcwJTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTIzJTM4JTYzJTM4JTYzJTM4JTYzJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTZGJTczJTY5JTc0JTY5JTZGJTZFJTNBJTIwJTcyJTY1JTZDJTYxJTc0JTY5JTc2JTY1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTY5JTZFJTcwJTc1JTc0JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTY5JTZEJTYxJTY3JTY1JTNBJTIwJTZFJTZGJTZFJTY1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZDJTZGJTYxJTY0JTY1JTcyJTVEJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZDJTZGJTYxJTY0JTY1JTcyJTQyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcyJTY5JTY3JTY4JTc0JTNBJTIwJTMxJTMwJTMwJTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTY5JTZFJTcwJTc1JTc0JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTcyJTYxJTY0JTY5JTc1JTczJTNBJTIwJTJFJTMxJTM4JTM3JTM1JTcwJTYzJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTY5JTZFJTcwJTc1JTc0JTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTZDJTYxJTYyJTY1JTZDJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc0JTcyJTYxJTZFJTczJTY5JTc0JTY5JTZGJTZFJTNBJTIwJTJFJTMyJTczJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZEJTYxJTcyJTY3JTY5JTZFJTJEJTYyJTZGJTc0JTc0JTZGJTZEJTNBJTIwJTJFJTM3JTcyJTY1JTZEJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY2JTZGJTcyJTY3JTZGJTc0JTJEJTcwJTYxJTczJTczJTJEJTZDJTY5JTZFJTZCJTVEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZBJTZGJTY5JTZFJTJEJTZDJTY5JTZFJTZCJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc0JTY1JTc4JTc0JTJEJTYxJTZDJTY5JTY3JTZFJTNBJTIwJTYzJTY1JTZFJTc0JTY1JTcyJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJBJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZEJTYxJTcyJTY3JTY5JTZFJTJEJTcyJTY5JTY3JTY4JTc0JTNBJTIwJTMwJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTY5JTZFJTcwJTc1JTc0JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZDJTY1JTc0JTc0JTY1JTcyJTJEJTczJTcwJTYxJTYzJTY5JTZFJTY3JTNBJTIwJTJFJTMzJTcyJTY1JTZEJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTY5JTZFJTcwJTc1JTc0JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY2JTZGJTZFJTc0JTJEJTczJTY5JTdBJTY1JTNBJTIwJTMxJTcyJTY1JTZEJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTYxJTc1JTc0JTY4JTVGJTcyJTY1JTY3JTMyJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTc0JTZGJTcwJTVGJTZDJTY1JTc2JTY1JTZDJTIwJTY4JTMzJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY0JTY5JTczJTcwJTZDJTYxJTc5JTNBJTIwJTZFJTZGJTZFJTY1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZBJTZGJTY5JTZFJTJEJTZDJTY5JTZFJTZCJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTcyJTY3JTYyJTYxJTI4JTMwJTJDJTIwJTMwJTJDJTIwJTMwJTJDJTIwJTJFJTM1JTI5JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTczJTY4JTZGJTc3JTVGJTcwJTYxJTczJTczJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTZDJTY1JTY2JTc0JTNBJTIwJTM2JTcwJTc0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZBJTZGJTY5JTZFJTJEJTZDJTY5JTZFJTZCJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY2JTZGJTZFJTc0JTJEJTczJTY5JTdBJTY1JTNBJTIwJTczJTZEJTYxJTZDJTZDJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY2JTZGJTcyJTY3JTZGJTc0JTJEJTcwJTYxJTczJTczJTJEJTZDJTY5JTZFJTZCJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTM4JTJFJTM3JTM1JTcwJTYzJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTZDJTYxJTYyJTY1JTZDJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTZGJTczJTY5JTc0JTY5JTZGJTZFJTNBJTIwJTYxJTYyJTczJTZGJTZDJTc1JTc0JTY1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY2JTZGJTcyJTY3JTZGJTc0JTJEJTcwJTYxJTczJTczJTJEJTZDJTY5JTZFJTZCJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTZDJTY1JTY2JTc0JTNBJTIwJTJFJTMyJTcyJTY1JTZEJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY2JTZGJTcyJTY3JTZGJTc0JTJEJTcwJTYxJTczJTczJTJEJTZDJTY5JTZFJTZCJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTYyJTZGJTc0JTc0JTZGJTZEJTNBJTIwJTJFJTMyJTcyJTY1JTZEJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTZDJTYxJTYyJTY1JTZDJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc0JTZGJTcwJTNBJTIwJTMzJTMwJTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTYxJTc1JTc0JTY4JTVGJTcyJTY1JTY3JTIwJTdCJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY2JTZGJTcyJTY3JTZGJTc0JTJEJTcwJTYxJTczJTczJTJEJTZDJTY5JTZFJTZCJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTcyJTY5JTY3JTY4JTc0JTNBJTIwJTJFJTMyJTcyJTY1JTZEJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTZDJTYxJTYyJTY1JTZDJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZDJTY1JTY2JTc0JTNBJTIwJTM3JTJFJTM1JTcwJTc0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTY5JTZFJTcwJTc1JTc0JTIwJTY5JTZFJTcwJTc1JTc0JTNBJTY2JTZGJTYzJTc1JTczJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTc0JTZGJTcwJTJEJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTJFJTMwJTMyJTMwJTM4JTMzJTMzJTMzJTMzJTMzJTY5JTZFJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTc0JTZGJTcwJTVGJTZDJTYxJTYyJTY1JTZDJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTZDJTYxJTYyJTY1JTZDJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY2JTZGJTZFJTc0JTJEJTczJTY5JTdBJTY1JTNBJTIwJTMxJTJFJTMxJTcyJTY1JTZEJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY2JTZGJTcyJTY3JTZGJTc0JTJEJTcwJTYxJTczJTczJTJEJTZDJTY5JTZFJTZCJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTc0JTZGJTcwJTNBJTIwJTJFJTMyJTcyJTY1JTZEJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTZDJTYxJTYyJTY1JTZDJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTIzJTM4JTYzJTM4JTYzJTM4JTYzJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTc0JTZGJTcwJTVGJTZDJTYxJTYyJTY1JTZDJTVGJTZDJTZGJTY3JTZGJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZEJTYxJTc4JTJEJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTMxJTM2JTMwJTcwJTc4JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZDJTZGJTYxJTY0JTY1JTcyJTVEJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZDJTZGJTYxJTY0JTY1JTcyJTQyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTc0JTc0JTZGJTZEJTNBJTIwJTMwJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTc1JTc0JTc0JTZGJTZFJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTZDJTY1JTY2JTc0JTJEJTczJTc0JTc5JTZDJTY1JTNBJTIwJTZFJTZGJTZFJTY1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY2JTZGJTcyJTY3JTZGJTc0JTJEJTcwJTYxJTczJTczJTJEJTZDJTY5JTZFJTZCJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc0JTY1JTc4JTc0JTJEJTY0JTY1JTYzJTZGJTcyJTYxJTc0JTY5JTZGJTZFJTNBJTIwJTZFJTZGJTZFJTY1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY2JTZGJTcyJTY3JTZGJTc0JTJEJTcwJTYxJTczJTczJTJEJTZDJTY5JTZFJTZCJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY2JTZGJTZFJTc0JTJEJTc3JTY1JTY5JTY3JTY4JTc0JTNBJTIwJTYyJTZGJTZDJTY0JTY1JTcyJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY2JTZGJTcyJTY3JTZGJTc0JTJEJTcwJTYxJTczJTczJTJEJTZDJTY5JTZFJTZCJTVEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTc0JTZGJTcwJTVGJTZDJTYxJTYyJTY1JTZDJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTIzJTMwJTYxJTM2JTM2JTYzJTMzJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTc0JTZGJTcwJTVGJTZDJTYxJTYyJTY1JTZDJTVGJTZDJTZGJTY3JTZGJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZEJTYxJTc4JTJEJTY4JTY1JTY5JTY3JTY4JTc0JTNBJTIwJTJFJTM4JTMzJTMzJTMzJTMzJTMzJTMzJTMzJTMzJTY5JTZFJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY2JTZGJTcyJTY3JTZGJTc0JTJEJTcwJTYxJTczJTczJTJEJTZDJTY5JTZFJTZCJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc0JTcyJTYxJTZFJTczJTY5JTc0JTY5JTZGJTZFJTNBJTIwJTJFJTMzJTczJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY2JTZGJTcyJTY3JTZGJTc0JTJEJTcwJTYxJTczJTczJTJEJTZDJTY5JTZFJTZCJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTcyJTYxJTY0JTY5JTc1JTczJTNBJTIwJTJFJTM3JTM1JTcwJTYzJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTNBJTYyJTY1JTY2JTZGJTcyJTY1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYzJTZGJTZFJTc0JTY1JTZFJTc0JTNBJTIwJTIyJTIyJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTc0JTZGJTcwJTVGJTZDJTYxJTYyJTY1JTZDJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTc0JTZGJTcwJTVGJTZDJTY1JTc2JTY1JTZDJTVEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcyJTY1JTZEJTVGJTZEJTY1JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY0JTY5JTczJTcwJTZDJTYxJTc5JTNBJTIwJTY2JTZDJTY1JTc4JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTY5JTZFJTcwJTc1JTc0JTNBJTc2JTYxJTZDJTY5JTY0JTdFJTZDJTYxJTYyJTY1JTZDJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY2JTZGJTZFJTc0JTJEJTczJTY5JTdBJTY1JTNBJTIwJTJFJTM4JTcyJTY1JTZEJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTNBJTYyJTY1JTY2JTZGJTcyJTY1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTZDJTY1JTY2JTc0JTJEJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTJFJTM3JTM1JTcwJTc0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTc0JTZGJTcwJTVGJTZDJTY1JTc2JTY1JTZDJTVEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZDJTZGJTYxJTY0JTY5JTZFJTY3JTVGJTc0JTY1JTc4JTc0JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZBJTc1JTczJTc0JTY5JTY2JTc5JTJEJTYzJTZGJTZFJTc0JTY1JTZFJTc0JTNBJTIwJTYzJTY1JTZFJTc0JTY1JTcyJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTZEJTYxJTY5JTZFJTVGJTZDJTZGJTY3JTZGJTVGJTY5JTY0JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZEJTYxJTc4JTJEJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTM3JTM1JTcwJTc0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTNBJTYyJTY1JTY2JTZGJTcyJTY1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTYyJTZGJTc0JTc0JTZGJTZEJTJEJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTJFJTM3JTM1JTcwJTc0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTNBJTYyJTY1JTY2JTZGJTcyJTY1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTcyJTY5JTY3JTY4JTc0JTJEJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTJFJTM3JTM1JTcwJTc0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcyJTY1JTZEJTVGJTZEJTY1JTVEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTc0JTZGJTcwJTVGJTZDJTY1JTc2JTY1JTZDJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYxJTZDJTY5JTY3JTZFJTJEJTY5JTc0JTY1JTZEJTczJTNBJTIwJTYzJTY1JTZFJTc0JTY1JTcyJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTc1JTc0JTc0JTZGJTZFJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTYyJTZGJTc0JTc0JTZGJTZEJTJEJTczJTc0JTc5JTZDJTY1JTNBJTIwJTZFJTZGJTZFJTY1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTc0JTZGJTcwJTVGJTZDJTY1JTc2JTY1JTZDJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTYxJTYzJTZCJTY3JTcyJTZGJTc1JTZFJTY0JTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTIzJTY0JTY1JTY0JTY1JTY0JTY1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTc0JTZGJTcwJTVGJTZDJTY1JTc2JTY1JTZDJTVEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcyJTY1JTZEJTVGJTZEJTY1JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTZDJTY1JTY2JTc0JTNBJTIwJTJFJTMzJTMxJTMyJTM1JTcwJTYzJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTZEJTYxJTY5JTZFJTVGJTZDJTZGJTY3JTZGJTVGJTY5JTY0JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZEJTY5JTZFJTJEJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTYxJTc1JTc0JTZGJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTc0JTZGJTcwJTVGJTZDJTY1JTc2JTY1JTZDJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTYyJTZGJTc0JTc0JTZGJTZEJTNBJTIwJTMxJTMxJTJFJTMyJTM1JTcwJTc0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTc0JTZGJTcwJTVGJTZDJTY1JTc2JTY1JTZDJTVEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcyJTY1JTZEJTVGJTZEJTY1JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTcyJTY5JTY3JTY4JTc0JTNBJTIwJTJFJTMzJTMxJTMyJTM1JTcwJTYzJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTc0JTZGJTcwJTVGJTZDJTY1JTc2JTY1JTZDJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTc0JTZGJTcwJTNBJTIwJTMxJTM1JTcwJTc4JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZDJTZGJTYxJTY0JTY1JTcyJTVEJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZDJTZGJTYxJTY0JTY1JTcyJTQyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZDJTY1JTY2JTc0JTNBJTIwJTMwJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTNBJTYyJTY1JTY2JTZGJTcyJTY1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTc0JTZGJTcwJTJEJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTJFJTM3JTM1JTcwJTc0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTc1JTc0JTc0JTZGJTZFJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTcyJTY5JTY3JTY4JTc0JTJEJTczJTc0JTc5JTZDJTY1JTNBJTIwJTZFJTZGJTZFJTY1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTc0JTZGJTcwJTVGJTZDJTYxJTYyJTY1JTZDJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc0JTY1JTc4JTc0JTJEJTYxJTZDJTY5JTY3JTZFJTNBJTIwJTYzJTY1JTZFJTc0JTY1JTcyJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcyJTY1JTZEJTVGJTZEJTY1JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTYyJTZGJTc0JTc0JTZGJTZEJTNBJTIwJTMzJTJFJTM3JTM1JTcwJTc0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTc1JTc0JTc0JTZGJTZFJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTc0JTZGJTcwJTJEJTczJTc0JTc5JTZDJTY1JTNBJTIwJTZFJTZGJTZFJTY1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZDJTZGJTYxJTY0JTY1JTcyJTVEJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZDJTZGJTYxJTY0JTY1JTcyJTQyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTYxJTYzJTZCJTY3JTcyJTZGJTc1JTZFJTY0JTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTIzJTM2JTMyJTM2JTMyJTM2JTMyJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTNBJTYyJTY1JTY2JTZGJTcyJTY1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTZDJTY1JTY2JTc0JTJEJTczJTc0JTc5JTZDJTY1JTNBJTIwJTczJTZGJTZDJTY5JTY0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTNBJTYyJTY1JTY2JTZGJTcyJTY1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTYyJTZGJTc0JTc0JTZGJTZEJTJEJTczJTc0JTc5JTZDJTY1JTNBJTIwJTczJTZGJTZDJTY5JTY0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTY5JTZFJTcwJTc1JTc0JTNBJTc2JTYxJTZDJTY5JTY0JTdFJTZDJTYxJTYyJTY1JTZDJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTc0JTZGJTcwJTVGJTZDJTY1JTc2JTY1JTZDJTVEJTIwJTY4JTMzJTIwJTczJTcwJTYxJTZFJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTIzJTMwJTMwJTMwJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTc1JTc0JTc0JTZGJTZFJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTZDJTY1JTY2JTc0JTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTYzJTc1JTcyJTcyJTY1JTZFJTc0JTQzJTZGJTZDJTZGJTcyJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcyJTY1JTZEJTVGJTZEJTY1JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTc0JTZGJTcwJTNBJTIwJTMzJTJFJTM3JTM1JTcwJTc0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTNBJTYyJTY1JTY2JTZGJTcyJTY1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTcyJTY5JTY3JTY4JTc0JTJEJTczJTc0JTc5JTZDJTY1JTNBJTIwJTczJTZGJTZDJTY5JTY0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTNBJTYyJTY1JTY2JTZGJTcyJTY1JTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTc0JTZGJTcwJTJEJTczJTc0JTc5JTZDJTY1JTNBJTIwJTczJTZGJTZDJTY5JTY0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTc1JTc0JTc0JTZGJTZFJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTYyJTZGJTc0JTc0JTZGJTZEJTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTYzJTc1JTcyJTcyJTY1JTZFJTc0JTQzJTZGJTZDJTZGJTcyJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTc0JTZGJTcwJTVGJTZDJTYxJTYyJTY1JTZDJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY2JTZGJTZFJTc0JTJEJTc3JTY1JTY5JTY3JTY4JTc0JTNBJTIwJTYyJTZGJTZDJTY0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTM1JTJFJTMyJTMwJTM4JTMzJTMzJTMzJTMzJTMzJTMzJTY5JTZFJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTNBJTYyJTY1JTY2JTZGJTcyJTY1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTZDJTY1JTY2JTc0JTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTIzJTM3JTM0JTM3JTM0JTM3JTM0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTc1JTc0JTc0JTZGJTZFJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTcyJTY5JTY3JTY4JTc0JTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTYzJTc1JTcyJTcyJTY1JTZFJTc0JTQzJTZGJTZDJTZGJTcyJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZEJTYxJTcyJTY3JTY5JTZFJTJEJTZDJTY1JTY2JTc0JTNBJTIwJTYxJTc1JTc0JTZGJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZEJTYxJTcyJTY3JTY5JTZFJTJEJTYyJTZGJTc0JTc0JTZGJTZEJTNBJTIwJTMwJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZEJTYxJTcyJTY3JTY5JTZFJTJEJTcyJTY5JTY3JTY4JTc0JTNBJTIwJTYxJTc1JTc0JTZGJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJBJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZEJTYxJTcyJTY3JTY5JTZFJTJEJTc0JTZGJTcwJTNBJTIwJTMwJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTY5JTZFJTcwJTc1JTc0JTIwJTY5JTZFJTcwJTc1JTc0JTNBJTY2JTZGJTYzJTc1JTczJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTZDJTY1JTY2JTc0JTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTIzJTMwJTYxJTM2JTM2JTYzJTMzJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTc1JTc0JTc0JTZGJTZFJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTc0JTZGJTcwJTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTYzJTc1JTcyJTcyJTY1JTZFJTc0JTQzJTZGJTZDJTZGJTcyJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTNBJTYyJTY1JTY2JTZGJTcyJTY1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTYyJTZGJTc0JTc0JTZGJTZEJTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTIzJTM3JTM0JTM3JTM0JTM3JTM0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTc1JTc0JTc0JTZGJTZFJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTY5JTZEJTYxJTY3JTY1JTNBJTIwJTZFJTZGJTZFJTY1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTNBJTYyJTY1JTY2JTZGJTcyJTY1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTcyJTY5JTY3JTY4JTc0JTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTIzJTM3JTM0JTM3JTM0JTM3JTM0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTNBJTYyJTY1JTY2JTZGJTcyJTY1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTc0JTZGJTcwJTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTIzJTM3JTM0JTM3JTM0JTM3JTM0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTcyJTYxJTY0JTY5JTc1JTczJTNBJTIwJTM3JTJFJTM1JTcwJTc0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTZDJTY1JTY2JTc0JTJEJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTJFJTMwJTM0JTMxJTM2JTM2JTM2JTM2JTM2JTM3JTY5JTZFJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTNBJTYyJTY1JTY2JTZGJTcyJTY1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTY5JTZEJTYxJTY3JTY1JTNBJTIwJTZFJTZGJTZFJTY1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTNBJTYyJTY1JTY2JTZGJTcyJTY1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTcyJTYxJTY0JTY5JTc1JTczJTNBJTIwJTM1JTcwJTc4JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTYyJTZGJTc0JTc0JTZGJTZEJTJEJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTJFJTMwJTM0JTMxJTM2JTM2JTM2JTM2JTM2JTM3JTY5JTZFJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTNBJTYyJTY1JTY2JTZGJTcyJTY1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTZGJTczJTY5JTc0JTY5JTZGJTZFJTNBJTIwJTYxJTYyJTczJTZGJTZDJTc1JTc0JTY1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTNBJTYyJTY1JTY2JTZGJTcyJTY1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc0JTZGJTcwJTNBJTIwJTJEJTJFJTMyJTM1JTcwJTYzJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTY5JTZFJTcwJTc1JTc0JTIwJTY5JTZFJTcwJTc1JTc0JTNBJTY2JTZGJTYzJTc1JTczJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTYyJTZGJTc0JTc0JTZGJTZEJTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTIzJTMwJTYxJTM2JTM2JTYzJTMzJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZDJTZGJTYxJTY0JTY1JTcyJTVEJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZDJTZGJTYxJTY0JTY1JTcyJTQyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTMwJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTcyJTY5JTY3JTY4JTc0JTJEJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTJFJTMwJTM0JTMxJTM2JTM2JTM2JTM2JTM2JTM3JTY5JTZFJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTc0JTZGJTcwJTJEJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTJFJTMwJTM0JTMxJTM2JTM2JTM2JTM2JTM2JTM3JTY5JTZFJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTNBJTYyJTY1JTY2JTZGJTcyJTY1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcyJTY5JTY3JTY4JTc0JTNBJTIwJTJEJTMzJTcwJTc0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTc1JTc0JTc0JTZGJTZFJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTcyJTYxJTY0JTY5JTc1JTczJTNBJTIwJTMwJTcwJTc4JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTc1JTc0JTc0JTZGJTZFJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTIzJTY2JTY2JTY2JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTY5JTZFJTcwJTc1JTc0JTIwJTY5JTZFJTcwJTc1JTc0JTNBJTY2JTZGJTYzJTc1JTczJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTcyJTY5JTY3JTY4JTc0JTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTIzJTMwJTYxJTM2JTM2JTYzJTMzJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTNBJTYyJTY1JTY2JTZGJTcyJTY1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTc0JTc0JTZGJTZEJTNBJTIwJTJEJTMzJTcwJTc0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTc1JTc0JTc0JTZGJTZFJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY2JTZGJTZFJTc0JTJEJTczJTY5JTdBJTY1JTNBJTIwJTMxJTcyJTY1JTZEJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTc1JTc0JTc0JTZGJTZFJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY2JTZGJTZFJTc0JTJEJTc3JTY1JTY5JTY3JTY4JTc0JTNBJTIwJTYyJTZGJTZDJTY0JTY1JTcyJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTc1JTc0JTc0JTZGJTZFJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYzJTc1JTcyJTczJTZGJTcyJTNBJTIwJTcwJTZGJTY5JTZFJTc0JTY1JTcyJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTY5JTZFJTcwJTc1JTc0JTIwJTY5JTZFJTcwJTc1JTc0JTNBJTY2JTZGJTYzJTc1JTczJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTc0JTZGJTcwJTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTIzJTMwJTYxJTM2JTM2JTYzJTMzJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZDJTZGJTYxJTY0JTY1JTcyJTVEJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZDJTZGJTYxJTY0JTY1JTcyJTQyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYxJTZFJTY5JTZEJTYxJTc0JTY5JTZGJTZFJTNBJTIwJTYyJTZGJTcyJTY1JTYxJTZDJTY5JTczJTQyJTYxJTcyJTIwJTMxJTJFJTMzJTczJTIwJTZDJTY5JTZFJTY1JTYxJTcyJTIwJTY5JTZFJTY2JTY5JTZFJTY5JTc0JTY1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTZDJTY1JTY2JTc0JTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTc0JTcyJTYxJTZFJTczJTcwJTYxJTcyJTY1JTZFJTc0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTNBJTYyJTY1JTY2JTZGJTcyJTY1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZDJTY1JTY2JTc0JTNBJTIwJTJEJTMzJTcwJTc0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTY5JTZFJTcwJTc1JTc0JTNBJTY2JTZGJTYzJTc1JTczJTdFJTZDJTYxJTYyJTY1JTZDJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc0JTZGJTcwJTNBJTIwJTMxJTMwJTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTYyJTZGJTc0JTc0JTZGJTZEJTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTc0JTcyJTYxJTZFJTczJTcwJTYxJTcyJTY1JTZFJTc0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTcyJTY5JTY3JTY4JTc0JTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTc0JTcyJTYxJTZFJTczJTcwJTYxJTcyJTY1JTZFJTc0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTc0JTZGJTcwJTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTc0JTcyJTYxJTZFJTczJTcwJTYxJTcyJTY1JTZFJTc0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTY5JTZEJTYxJTY3JTY1JTNBJTIwJTZFJTZGJTZFJTY1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTZGJTczJTY5JTc0JTY5JTZGJTZFJTNBJTIwJTcyJTY1JTZDJTYxJTc0JTY5JTc2JTY1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTZDJTY1JTY2JTc0JTNBJTIwJTJFJTMwJTM2JTMyJTM1JTcwJTYzJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTY5JTZFJTcwJTc1JTc0JTNBJTY2JTZGJTYzJTc1JTczJTdFJTZDJTYxJTYyJTY1JTZDJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY2JTZGJTZFJTc0JTJEJTczJTY5JTdBJTY1JTNBJTIwJTJFJTM4JTcyJTY1JTZEJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJBJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTZDJTY1JTY2JTc0JTNBJTIwJTMwJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTYyJTZGJTc0JTc0JTZGJTZEJTNBJTIwJTJFJTMwJTM2JTMyJTM1JTcwJTYzJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTcyJTY5JTY3JTY4JTc0JTNBJTIwJTJFJTMwJTM2JTMyJTM1JTcwJTYzJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZDJTZGJTYxJTY0JTY1JTcyJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTc0JTZGJTcwJTNBJTIwJTJFJTMwJTM2JTMyJTM1JTcwJTYzJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJBJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTYyJTZGJTc0JTc0JTZGJTZEJTNBJTIwJTMwJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTY5JTZFJTcwJTc1JTc0JTVEJTIwJTY5JTZFJTcwJTc1JTc0JTNBJTY2JTZGJTYzJTc1JTczJTdFJTZDJTYxJTYyJTY1JTZDJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTIzJTMwJTMwJTMwJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJBJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTcyJTY5JTY3JTY4JTc0JTNBJTIwJTMwJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJBJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTc0JTZGJTcwJTNBJTIwJTMwJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTQwJTZCJTY1JTc5JTY2JTcyJTYxJTZEJTY1JTczJTIwJTYyJTZGJTcyJTY1JTYxJTZDJTY5JTczJTQyJTYxJTcyJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTMwJTI1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZDJTY1JTY2JTc0JTNBJTIwJTMwJTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcyJTY5JTY3JTY4JTc0JTNBJTIwJTMxJTMwJTMwJTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTMwJTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTMxJTMwJTI1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZDJTY1JTY2JTc0JTNBJTIwJTMwJTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcyJTY5JTY3JTY4JTc0JTNBJTIwJTM3JTM1JTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTMyJTM1JTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTM5JTMwJTI1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcyJTY5JTY3JTY4JTc0JTNBJTIwJTMwJTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZDJTY1JTY2JTc0JTNBJTIwJTM3JTM1JTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTMyJTM1JTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTMxJTMwJTMwJTI1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZDJTY1JTY2JTc0JTNBJTIwJTMxJTMwJTMwJTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcyJTY5JTY3JTY4JTc0JTNBJTIwJTMwJTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTMwJTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZEJTYxJTY5JTZDJTJEJTZDJTZGJTYxJTY0JTY1JTcyJTVGJTYyJTZDJTZGJTYzJTZCJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTZGJTczJTY5JTc0JTY5JTZGJTZFJTNBJTIwJTcyJTY1JTZDJTYxJTc0JTY5JTc2JTY1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZEJTYxJTY5JTZDJTJEJTZDJTZGJTYxJTY0JTY1JTcyJTVGJTYyJTZDJTZGJTYzJTZCJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZEJTYxJTcyJTY3JTY5JTZFJTJEJTc0JTZGJTcwJTNBJTIwJTMxJTMyJTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZEJTYxJTY5JTZDJTJEJTZDJTZGJTYxJTY0JTY1JTcyJTVGJTYyJTZDJTZGJTYzJTZCJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY0JTY5JTczJTcwJTZDJTYxJTc5JTNBJTIwJTY2JTZDJTY1JTc4JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZEJTYxJTY5JTZDJTJEJTZDJTZGJTYxJTY0JTY1JTcyJTVGJTYyJTZDJTZGJTYzJTZCJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZBJTc1JTczJTc0JTY5JTY2JTc5JTJEJTYzJTZGJTZFJTc0JTY1JTZFJTc0JTNBJTIwJTYzJTY1JTZFJTc0JTY1JTcyJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZEJTYxJTY5JTZDJTJEJTZDJTZGJTYxJTY0JTY1JTcyJTVGJTYyJTZDJTZGJTYzJTZCJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYxJTZDJTY5JTY3JTZFJTJEJTY5JTc0JTY1JTZEJTczJTNBJTIwJTYzJTY1JTZFJTc0JTY1JTcyJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZEJTYxJTY5JTZDJTJEJTZDJTZGJTYxJTY0JTY1JTcyJTVGJTYyJTZDJTZGJTYzJTZCJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY2JTZDJTY1JTc4JTJEJTY0JTY5JTcyJTY1JTYzJTc0JTY5JTZGJTZFJTNBJTIwJTYzJTZGJTZDJTc1JTZEJTZFJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTJEJTYyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTcyJTYxJTY0JTY5JTc1JTczJTNBJTIwJTM3JTJFJTM1JTcwJTc0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTJEJTYyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZGJTc2JTY1JTcyJTY2JTZDJTZGJTc3JTNBJTIwJTY4JTY5JTY0JTY0JTY1JTZFJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTJEJTYyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTMxJTMwJTMwJTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTJEJTYyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTZDJTY1JTY2JTc0JTJEJTczJTc0JTc5JTZDJTY1JTNBJTIwJTczJTZGJTZDJTY5JTY0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTJEJTYyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTYyJTZGJTc0JTc0JTZGJTZEJTJEJTczJTc0JTc5JTZDJTY1JTNBJTIwJTczJTZGJTZDJTY5JTY0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTJEJTYyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTcyJTY5JTY3JTY4JTc0JTJEJTczJTc0JTc5JTZDJTY1JTNBJTIwJTczJTZGJTZDJTY5JTY0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTJEJTYyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTc0JTZGJTcwJTJEJTczJTc0JTc5JTZDJTY1JTNBJTIwJTczJTZGJTZDJTY5JTY0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZEJTYxJTY5JTZDJTJEJTZDJTZGJTYxJTY0JTY1JTcyJTVGJTYyJTZDJTZGJTYzJTZCJTVEJTIwJTY5JTZEJTY3JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZEJTYxJTcyJTY3JTY5JTZFJTJEJTZDJTY1JTY2JTc0JTNBJTIwJTYxJTc1JTc0JTZGJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTJEJTYyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTZDJTY1JTY2JTc0JTJEJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTJFJTMwJTMwJTM1JTMyJTMwJTM4JTMzJTMzJTMzJTY5JTZFJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTJEJTYyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTYyJTZGJTc0JTc0JTZGJTZEJTJEJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTJFJTMwJTMwJTM1JTMyJTMwJTM4JTMzJTMzJTMzJTY5JTZFJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTJEJTYyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTcyJTY5JTY3JTY4JTc0JTJEJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTJFJTMwJTMwJTM1JTMyJTMwJTM4JTMzJTMzJTMzJTY5JTZFJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTJEJTYyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTc0JTZGJTcwJTJEJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTJFJTMwJTMwJTM1JTMyJTMwJTM4JTMzJTMzJTMzJTY5JTZFJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTJEJTYyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTZDJTY1JTY2JTc0JTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTIzJTMwJTMwJTMwJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTJEJTYyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTYyJTZGJTc0JTc0JTZGJTZEJTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTIzJTMwJTMwJTMwJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTJEJTYyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTcyJTY5JTY3JTY4JTc0JTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTIzJTMwJTMwJTMwJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTJEJTYyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTc0JTZGJTcwJTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTIzJTMwJTMwJTMwJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTYyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTYxJTYzJTZCJTY3JTcyJTZGJTc1JTZFJTY0JTNBJTIwJTc0JTcyJTYxJTZFJTczJTcwJTYxJTcyJTY1JTZFJTc0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTYyJTYxJTcyJTVEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTZDJTY1JTY2JTc0JTNBJTIwJTJFJTMwJTMyJTMwJTM4JTMzJTMzJTMzJTMzJTMzJTY5JTZFJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTVEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTYyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTYyJTZGJTc0JTc0JTZGJTZEJTNBJTIwJTJFJTMwJTMyJTMwJTM4JTMzJTMzJTMzJTMzJTMzJTY5JTZFJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTVEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTYyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTcyJTY5JTY3JTY4JTc0JTNBJTIwJTJFJTMwJTMyJTMwJTM4JTMzJTMzJTMzJTMzJTMzJTY5JTZFJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTVEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTYyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTc0JTZGJTcwJTNBJTIwJTJFJTMwJTMyJTMwJTM4JTMzJTMzJTMzJTMzJTMzJTY5JTZFJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYxJTZFJTY5JTZEJTYxJTc0JTY5JTZGJTZFJTNBJTIwJTZDJTZGJTYxJTY0JTY1JTcyJTIwJTM4JTczJTIwJTY1JTYxJTczJTY1JTIwJTY5JTZFJTY2JTY5JTZFJTY5JTc0JTY1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTYxJTYzJTZCJTY3JTcyJTZGJTc1JTZFJTY0JTNBJTIwJTIzJTY2JTY1JTMwJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTIzJTY2JTY2JTY2JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTMwJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTJEJTYyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZDJTY1JTY2JTc0JTNBJTIwJTM1JTMwJTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTJEJTYyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTM1JTJFJTMyJTMwJTM4JTMzJTMzJTMzJTMzJTMzJTMzJTY5JTZFJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTJEJTYyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTZGJTczJTY5JTc0JTY5JTZGJTZFJTNBJTIwJTYxJTYyJTczJTZGJTZDJTc1JTc0JTY1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZEJTYxJTY5JTZDJTJEJTZDJTZGJTYxJTY0JTY1JTcyJTVGJTYyJTZDJTZGJTYzJTZCJTVEJTIwJTY5JTZEJTY3JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZEJTYxJTcyJTY3JTY5JTZFJTJEJTYyJTZGJTc0JTc0JTZGJTZEJTNBJTIwJTMxJTM1JTcwJTc0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTJEJTYyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc0JTZGJTcwJTNBJTIwJTM1JTMwJTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTJEJTYyJTYxJTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc0JTcyJTYxJTZFJTczJTY2JTZGJTcyJTZEJTNBJTIwJTc0JTcyJTYxJTZFJTczJTZDJTYxJTc0JTY1JTMzJTY0JTI4JTJEJTM1JTMwJTI1JTJDJTIwJTJEJTM1JTMwJTI1JTJDJTIwJTMwJTI5JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZEJTYxJTY5JTZDJTJEJTZDJTZGJTYxJTY0JTY1JTcyJTVGJTYyJTZDJTZGJTYzJTZCJTVEJTIwJTY5JTZEJTY3JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZEJTYxJTcyJTY3JTY5JTZFJTJEJTcyJTY5JTY3JTY4JTc0JTNBJTIwJTYxJTc1JTc0JTZGJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZEJTYxJTY5JTZDJTJEJTZDJTZGJTYxJTY0JTY1JTcyJTVGJTYyJTZDJTZGJTYzJTZCJTVEJTIwJTY5JTZEJTY3JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZEJTYxJTcyJTY3JTY5JTZFJTJEJTc0JTZGJTcwJTNBJTIwJTYxJTc1JTc0JTZGJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZEJTYxJTY5JTZDJTJEJTZDJTZGJTYxJTY0JTY1JTcyJTVGJTYyJTZDJTZGJTYzJTZCJTVEJTIwJTY5JTZEJTY3JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTcyJTYxJTY0JTY5JTc1JTczJTNBJTIwJTMwJTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTJEJTYyJTYxJTcyJTIwJTczJTcwJTYxJTZFJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY0JTY5JTczJTcwJTZDJTYxJTc5JTNBJTIwJTYyJTZDJTZGJTYzJTZCJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTQwJTZCJTY1JTc5JTY2JTcyJTYxJTZEJTY1JTczJTIwJTZDJTZGJTYxJTY0JTY1JTcyJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTMwJTI1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTMwJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTMyJTMwJTI1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTMxJTMwJTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTMyJTM1JTI1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTMyJTM0JTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTM0JTMzJTI1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTM0JTMxJTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTM1JTM2JTI1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTM1JTMwJTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTM2JTM2JTI1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTM1JTMyJTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTM3JTMxJTI1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTM2JTMwJTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTM3JTM1JTI1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTM3JTM2JTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTM5JTM0JTI1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTM4JTM2JTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTMxJTMwJTMwJTI1JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTMxJTMwJTMwJTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTVGJTZDJTZGJTYxJTY0JTY1JTcyJTc4JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTZGJTczJTY5JTc0JTY5JTZGJTZFJTNBJTIwJTcyJTY1JTZDJTYxJTc0JTY5JTc2JTY1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTVGJTZDJTZGJTYxJTY0JTY1JTcyJTc4JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZEJTYxJTcyJTY3JTY5JTZFJTJEJTc0JTZGJTcwJTNBJTIwJTMxJTM1JTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTVGJTZDJTZGJTYxJTY0JTY1JTcyJTc4JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY0JTY5JTczJTcwJTZDJTYxJTc5JTNBJTIwJTY2JTZDJTY1JTc4JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTVGJTZDJTZGJTYxJTY0JTY1JTcyJTc4JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZBJTc1JTczJTc0JTY5JTY2JTc5JTJEJTYzJTZGJTZFJTc0JTY1JTZFJTc0JTNBJTIwJTYzJTY1JTZFJTc0JTY1JTcyJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTVGJTZDJTZGJTYxJTY0JTY1JTcyJTc4JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYxJTZDJTY5JTY3JTZFJTJEJTY5JTc0JTY1JTZEJTczJTNBJTIwJTYzJTY1JTZFJTc0JTY1JTcyJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZGJTc2JTY1JTcyJTZDJTYxJTc5JTVGJTY0JTY5JTc2JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTZGJTczJTY5JTc0JTY5JTZGJTZFJTNBJTIwJTY2JTY5JTc4JTY1JTY0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZGJTc2JTY1JTcyJTZDJTYxJTc5JTVGJTY0JTY5JTc2JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTYxJTYzJTZCJTY3JTcyJTZGJTc1JTZFJTY0JTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTcyJTY3JTYyJTYxJTI4JTMwJTJDJTIwJTMwJTJDJTIwJTMwJTJDJTIwJTJFJTMxJTM5JTM2JTI5JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZFJTY1JTc3JTVGJTY2JTY1JTYxJTc0JTc1JTcyJTY1JTVEJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZDJTY1JTY2JTc0JTVGJTYyJTZGJTc4JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY0JTY5JTczJTcwJTZDJTYxJTc5JTNBJTIwJTYyJTZDJTZGJTYzJTZCJTIwJTIxJTY5JTZEJTcwJTZGJTcyJTc0JTYxJTZFJTc0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTVGJTZDJTZGJTYxJTY0JTY1JTcyJTc4JTIwJTY5JTZEJTY3JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZEJTYxJTcyJTY3JTY5JTZFJTJEJTZDJTY1JTY2JTc0JTNBJTIwJTYxJTc1JTc0JTZGJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZGJTc2JTY1JTcyJTZDJTYxJTc5JTVGJTY0JTY5JTc2JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTMxJTMwJTMwJTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZGJTc2JTY1JTcyJTZDJTYxJTc5JTVGJTY0JTY5JTc2JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY4JTY1JTY5JTY3JTY4JTc0JTNBJTIwJTMxJTMwJTMwJTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZGJTc2JTY1JTcyJTZDJTYxJTc5JTVGJTY0JTY5JTc2JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdBJTJEJTY5JTZFJTY0JTY1JTc4JTNBJTIwJTM5JTM5JTM5JTM5JTM5JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTZGJTc2JTY1JTcyJTZDJTYxJTc5JTVGJTY0JTY5JTc2JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY0JTY5JTczJTcwJTZDJTYxJTc5JTNBJTIwJTZFJTZGJTZFJTY1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZFJTY1JTc3JTVGJTY2JTY1JTYxJTc0JTc1JTcyJTY1JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTZDJTY1JTY2JTc0JTJEJTczJTc0JTc5JTZDJTY1JTNBJTIwJTczJTZGJTZDJTY5JTY0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZFJTY1JTc3JTVGJTY2JTY1JTYxJTc0JTc1JTcyJTY1JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTYyJTZGJTc0JTc0JTZGJTZEJTJEJTczJTc0JTc5JTZDJTY1JTNBJTIwJTczJTZGJTZDJTY5JTY0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZFJTY1JTc3JTVGJTY2JTY1JTYxJTc0JTc1JTcyJTY1JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTcyJTY5JTY3JTY4JTc0JTJEJTczJTc0JTc5JTZDJTY1JTNBJTIwJTczJTZGJTZDJTY5JTY0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZFJTY1JTc3JTVGJTY2JTY1JTYxJTc0JTc1JTcyJTY1JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTc0JTZGJTcwJTJEJTczJTc0JTc5JTZDJTY1JTNBJTIwJTczJTZGJTZDJTY5JTY0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZFJTY1JTc3JTVGJTY2JTY1JTYxJTc0JTc1JTcyJTY1JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTZDJTY1JTY2JTc0JTJEJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTJFJTM3JTM1JTcwJTc0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZFJTY1JTc3JTVGJTY2JTY1JTYxJTc0JTc1JTcyJTY1JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTYyJTZGJTc0JTc0JTZGJTZEJTJEJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTMwJTcwJTc0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZFJTY1JTc3JTVGJTY2JTY1JTYxJTc0JTc1JTcyJTY1JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTcyJTY5JTY3JTY4JTc0JTJEJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTMwJTY5JTZFJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZFJTY1JTc3JTVGJTY2JTY1JTYxJTc0JTc1JTcyJTY1JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTc0JTZGJTcwJTJEJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTMwJTcwJTc0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZFJTY1JTc3JTVGJTY2JTY1JTYxJTc0JTc1JTcyJTY1JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTZDJTY1JTY2JTc0JTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTcyJTY3JTYyJTYxJTI4JTMxJTMzJTM4JTJDJTIwJTMxJTMzJTM4JTJDJTIwJTMxJTMzJTM4JTJDJTIwJTJFJTM1JTM4JTMyJTI5JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZFJTY1JTc3JTVGJTY2JTY1JTYxJTc0JTc1JTcyJTY1JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTYyJTZGJTc0JTc0JTZGJTZEJTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTcyJTY3JTYyJTYxJTI4JTMxJTMzJTM4JTJDJTIwJTMxJTMzJTM4JTJDJTIwJTMxJTMzJTM4JTJDJTIwJTJFJTM1JTM4JTMyJTI5JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZFJTY1JTc3JTVGJTY2JTY1JTYxJTc0JTc1JTcyJTY1JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTcyJTY5JTY3JTY4JTc0JTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTcyJTY3JTYyJTYxJTI4JTMxJTMzJTM4JTJDJTIwJTMxJTMzJTM4JTJDJTIwJTMxJTMzJTM4JTJDJTIwJTJFJTM1JTM4JTMyJTI5JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZFJTY1JTc3JTVGJTY2JTY1JTYxJTc0JTc1JTcyJTY1JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTc0JTZGJTcwJTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTcyJTY3JTYyJTYxJTI4JTMxJTMzJTM4JTJDJTIwJTMxJTMzJTM4JTJDJTIwJTMxJTMzJTM4JTJDJTIwJTJFJTM1JTM4JTMyJTI5JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTVGJTZDJTZGJTYxJTY0JTY1JTcyJTc4JTIwJTY5JTZEJTY3JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZEJTYxJTcyJTY3JTY5JTZFJTJEJTYyJTZGJTc0JTc0JTZGJTZEJTNBJTIwJTM2JTJFJTMyJTM1JTcwJTYzJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZFJTY1JTc3JTVGJTY2JTY1JTYxJTc0JTc1JTcyJTY1JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZEJTYxJTcyJTY3JTY5JTZFJTJEJTZDJTY1JTY2JTc0JTNBJTIwJTMyJTMwJTMwJTcwJTc4JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZDJTY1JTY2JTc0JTVGJTYyJTZGJTc4JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTZGJTczJTY5JTc0JTY5JTZGJTZFJTNBJTIwJTYxJTYyJTczJTZGJTZDJTc1JTc0JTY1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZDJTY1JTY2JTc0JTVGJTYyJTZGJTc4JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTYxJTYzJTZCJTY3JTcyJTZGJTc1JTZFJTY0JTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTcyJTY3JTYyJTYxJTI4JTMxJTMwJTM2JTJDJTIwJTMxJTMwJTM2JTJDJTIwJTMxJTMwJTM2JTJDJTIwJTJFJTMzJTM5JTMyJTI5JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZDJTY1JTY2JTc0JTVGJTYyJTZGJTc4JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTMzJTJFJTMxJTMyJTM1JTY5JTZFJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZDJTY1JTY2JTc0JTVGJTYyJTZGJTc4JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY4JTY1JTY5JTY3JTY4JTc0JTNBJTIwJTMyJTM2JTJFJTM4JTM3JTM1JTcwJTYzJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZDJTY1JTY2JTc0JTVGJTYyJTZGJTc4JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdBJTJEJTY5JTZFJTY0JTY1JTc4JTNBJTIwJTM5JTM5JTM5JTM5JTM5JTM5JTM5JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZDJTY1JTY2JTc0JTVGJTYyJTZGJTc4JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcyJTY5JTY3JTY4JTc0JTNBJTIwJTM0JTMzJTMwJTcwJTc4JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZDJTY1JTY2JTc0JTVGJTYyJTZGJTc4JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTZDJTY1JTY2JTc0JTNBJTIwJTJFJTMwJTM1JTMyJTMwJTM4JTMzJTMzJTMzJTMzJTY5JTZFJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZDJTY1JTY2JTc0JTVGJTYyJTZGJTc4JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTYyJTZGJTc0JTc0JTZGJTZEJTNBJTIwJTJFJTMwJTM1JTMyJTMwJTM4JTMzJTMzJTMzJTMzJTY5JTZFJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZDJTY1JTY2JTc0JTVGJTYyJTZGJTc4JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTcyJTY5JTY3JTY4JTc0JTNBJTIwJTJFJTMwJTM1JTMyJTMwJTM4JTMzJTMzJTMzJTMzJTY5JTZFJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZDJTY1JTY2JTc0JTVGJTYyJTZGJTc4JTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTc0JTZGJTcwJTNBJTIwJTJFJTMwJTM1JTMyJTMwJTM4JTMzJTMzJTMzJTMzJTY5JTZFJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZDJTY1JTY2JTc0JTVGJTYyJTZGJTc4JTVEJTNFJTJBJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTcyJTY1JTY0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTVGJTZDJTZGJTYxJTY0JTY1JTcyJTc4JTIwJTY5JTZEJTY3JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZEJTYxJTcyJTY3JTY5JTZFJTJEJTcyJTY5JTY3JTY4JTc0JTNBJTIwJTYxJTc1JTc0JTZGJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTVGJTZDJTZGJTYxJTY0JTY1JTcyJTc4JTIwJTY5JTZEJTY3JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZEJTYxJTcyJTY3JTY5JTZFJTJEJTc0JTZGJTcwJTNBJTIwJTYxJTc1JTc0JTZGJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTVGJTZDJTZGJTYxJTY0JTY1JTcyJTc4JTIwJTY5JTZEJTY3JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTcyJTYxJTY0JTY5JTc1JTczJTNBJTIwJTM1JTMwJTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTQwJTZEJTY1JTY0JTY5JTYxJTIwJTZGJTZFJTZDJTc5JTIwJTczJTYzJTcyJTY1JTY1JTZFJTIwJTYxJTZFJTY0JTIwJTI4JTZEJTYxJTc4JTJEJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTM2JTMwJTMwJTcwJTc4JTI5JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZEJTYxJTY5JTZDJTJEJTZDJTZGJTYxJTY0JTY1JTcyJTVGJTYyJTZDJTZGJTYzJTZCJTVEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTJFJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTVGJTZDJTZGJTYxJTY0JTY1JTcyJTc4JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTZEJTYxJTcyJTY3JTY5JTZFJTJEJTc0JTZGJTcwJTNBJTIwJTM1JTMwJTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTcwJTcyJTZGJTY3JTcyJTY1JTczJTczJTJEJTYyJTYxJTcyJTVEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTZDJTZGJTYxJTY0JTY1JTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTM4JTM1JTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTYzJTZGJTZFJTc0JTYxJTY5JTZFJTY1JTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTZGJTc4JTJEJTczJTY4JTYxJTY0JTZGJTc3JTNBJTIwJTMwJTIwJTM3JTJFJTM1JTcwJTc0JTIwJTMxJTMxJTJFJTMyJTM1JTcwJTc0JTIwJTcyJTY3JTYyJTYxJTI4JTMxJTM3JTM5JTJDJTIwJTMxJTM3JTM5JTJDJTIwJTMxJTM3JTM5JTJDJTIwJTMwJTI5JTIwJTIxJTY5JTZEJTcwJTZGJTcyJTc0JTYxJTZFJTc0JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTYzJTZGJTZFJTc0JTYxJTY5JTZFJTY1JTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTYxJTc1JTc0JTZGJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTYzJTZGJTZFJTc0JTYxJTY5JTZFJTY1JTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY4JTY1JTY5JTY3JTY4JTc0JTNBJTIwJTYxJTc1JTc0JTZGJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTYzJTZDJTYxJTczJTczJTdFJTNEJTYzJTZGJTZFJTc0JTYxJTY5JTZFJTY1JTcyJTVEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc0JTZGJTcwJTNBJTIwJTM4JTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTNDJTJGJTczJTc0JTc5JTZDJTY1JTNFJTBBJTNDJTJGJTY4JTY1JTYxJTY0JTNFJTBBJTBBJTNDJTYyJTZGJTY0JTc5JTIwJTIwJTczJTc0JTc5JTZDJTY1JTNEJTIyJTYyJTYxJTYzJTZCJTY3JTcyJTZGJTc1JTZFJTY0JTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTc0JTcyJTYxJTZFJTczJTcwJTYxJTcyJTY1JTZFJTc0JTNCJTIyJTNFJTBBJTBBJTIwJTIwJTIwJTIwJTNDJTIxJTJEJTJEJTIwJTZDJTZGJTYxJTY0JTY1JTcyJTIwJTJEJTJEJTNFJTBBJTIwJTIwJTIwJTIwJTNDJTY0JTY5JTc2JTIwJTYzJTZDJTYxJTczJTczJTNEJTIyJTZEJTYxJTY5JTZDJTJEJTZDJTZGJTYxJTY0JTY1JTcyJTVGJTYyJTZDJTZGJTYzJTZCJTIyJTIwJTY5JTY0JTNEJTIyJTY2JTY5JTcyJTczJTc0JTIyJTIwJTczJTc0JTc5JTZDJTY1JTNEJTIyJTZEJTYxJTcyJTY3JTY5JTZFJTJEJTc0JTZGJTcwJTNBJTJEJTMyJTMwJTMwJTcwJTc4JTNCJTIyJTIwJTNFJTBBJTA5JTA5JTNDJTYzJTY1JTZFJTc0JTY1JTcyJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTY5JTZEJTY3JTIwJTY5JTY0JTNEJTIyJTZEJTYxJTY5JTZFJTVGJTZDJTZGJTY3JTZGJTVGJTY5JTY0JTIyJTIwJTczJTcyJTYzJTNEJTIyJTIyJTIwJTczJTc0JTc5JTZDJTY1JTNEJTIyJTc3JTY5JTY0JTc0JTY4JTNBJTM3JTMwJTcwJTc4JTNCJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTY0JTY5JTc2JTIwJTYzJTZDJTYxJTczJTczJTNEJTIyJTZDJTZGJTYxJTY0JTY1JTcyJTIyJTIwJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTY0JTY5JTc2JTIwJTYzJTZDJTYxJTczJTczJTNEJTIyJTZDJTZGJTYxJTY0JTY1JTcyJTQyJTYxJTcyJTIyJTIwJTczJTc0JTc5JTZDJTY1JTNEJTIyJTYyJTYxJTYzJTZCJTY3JTcyJTZGJTc1JTZFJTY0JTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTY3JTcyJTY1JTY1JTZFJTNCJTIyJTNFJTNDJTJGJTY0JTY5JTc2JTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTJGJTY0JTY5JTc2JTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTIxJTJEJTJEJTIwJTNDJTYyJTcyJTNFJTIwJTJEJTJEJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTY4JTcyJTIwJTczJTc0JTc5JTZDJTY1JTNEJTIyJTc3JTY5JTY0JTc0JTY4JTNBJTM1JTMwJTI1JTNCJTc0JTY1JTc4JTc0JTJEJTYxJTZDJTY5JTY3JTZFJTNBJTZDJTY1JTY2JTc0JTNCJTZEJTYxJTcyJTY3JTY5JTZFJTJEJTZDJTY1JTY2JTc0JTNBJTMwJTNCJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTY0JTY5JTc2JTIwJTYzJTZDJTYxJTczJTczJTNEJTIyJTZDJTZGJTYxJTY0JTY5JTZFJTY3JTVGJTc0JTY1JTc4JTc0JTIyJTNFJTZDJTZGJTYxJTY0JTY5JTZFJTY3JTIwJTNDJTczJTcwJTYxJTZFJTIwJTY5JTY0JTNEJTIyJTZDJTZGJTYxJTY0JTY1JTcyJTVGJTY1JTZEJTYxJTY5JTZDJTIyJTNFJTNDJTJGJTczJTcwJTYxJTZFJTNFJTIwJTZEJTYxJTY5JTZDJTIwJTczJTY1JTc0JTc0JTY5JTZFJTY3JTczJTIwJTJFJTJFJTJFJTNDJTJGJTY0JTY5JTc2JTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTY4JTcyJTIwJTczJTc0JTc5JTZDJTY1JTNEJTIyJTc3JTY5JTY0JTc0JTY4JTNBJTM1JTMwJTI1JTNCJTc0JTY1JTc4JTc0JTJEJTYxJTZDJTY5JTY3JTZFJTNBJTZDJTY1JTY2JTc0JTNCJTZEJTYxJTcyJTY3JTY5JTZFJTJEJTZDJTY1JTY2JTc0JTNBJTMwJTIyJTNFJTBBJTA5JTA5JTNDJTJGJTYzJTY1JTZFJTc0JTY1JTcyJTNFJTBBJTIwJTIwJTIwJTIwJTNDJTJGJTY0JTY5JTc2JTNFJTBBJTIwJTIwJTIwJTIwJTNDJTIxJTJEJTJEJTIwJTZDJTZGJTYxJTY0JTY1JTcyJTIwJTY1JTZFJTY0JTIwJTJEJTJEJTNFJTBBJTIwJTIwJTIwJTIwJTNDJTIxJTJEJTJEJTIwJTcwJTYxJTcyJTc0JTY5JTYxJTZDJTNBJTY5JTZFJTY0JTY1JTc4JTJFJTcwJTYxJTcyJTc0JTY5JTYxJTZDJTJFJTY4JTc0JTZEJTZDJTIwJTJEJTJEJTNFJTBBJTIwJTIwJTIwJTIwJTNDJTY0JTY5JTc2JTIwJTYzJTZDJTYxJTczJTczJTNEJTIyJTYzJTZGJTZFJTc0JTYxJTY5JTZFJTY1JTcyJTIwJTc3JTMzJTJEJTYxJTZFJTY5JTZEJTYxJTc0JTY1JTJEJTdBJTZGJTZGJTZEJTIyJTIwJTY5JTY0JTNEJTIyJTczJTY1JTYzJTZGJTZFJTY0JTIyJTIwJTczJTc0JTc5JTZDJTY1JTNEJTIyJTIwJTYyJTYxJTYzJTZCJTY3JTcyJTZGJTc1JTZFJTY0JTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTcyJTY3JTYyJTI4JTMyJTM1JTM1JTJDJTIwJTMyJTM1JTM1JTJDJTIwJTMyJTM1JTM1JTI5JTNCJTIwJTYyJTZGJTc4JTJEJTczJTY4JTYxJTY0JTZGJTc3JTNBJTIwJTcyJTY3JTYyJTYxJTI4JTMxJTM3JTM5JTJDJTIwJTMxJTM3JTM5JTJDJTIwJTMxJTM3JTM5JTJDJTIwJTMwJTJFJTM3JTI5JTIwJTMwJTcwJTc4JTIwJTMxJTMwJTcwJTc4JTIwJTMxJTM1JTcwJTc4JTNCJTY4JTY1JTY5JTY3JTY4JTc0JTNBJTM1JTM2JTMwJTcwJTc4JTNCJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTY0JTY5JTc2JTIwJTYzJTZDJTYxJTczJTczJTNEJTIyJTZDJTY1JTY2JTc0JTVGJTYyJTZGJTc4JTIyJTIwJTczJTc0JTc5JTZDJTY1JTNEJTIyJTY0JTY5JTczJTcwJTZDJTYxJTc5JTNBJTIwJTZFJTZGJTZFJTY1JTNCJTYzJTZGJTZDJTZGJTcyJTNBJTYyJTZDJTYxJTYzJTZCJTNCJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTczJTcwJTYxJTZFJTNFJTQ1JTREJTQxJTQ5JTRDJTIwJTUzJTQ1JTU0JTU0JTQ5JTRFJTQ3JTUzJTIwJTUwJTRGJTUyJTU0JTQxJTRDJTNDJTJGJTczJTcwJTYxJTZFJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTJGJTY0JTY5JTc2JTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTY0JTY5JTc2JTIwJTYzJTZDJTYxJTczJTczJTNEJTIyJTc0JTZGJTcwJTVGJTZDJTY1JTc2JTY1JTZDJTIyJTIwJTczJTc0JTc5JTZDJTY1JTNEJTIyJTYyJTYxJTYzJTZCJTY3JTcyJTZGJTc1JTZFJTY0JTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTc0JTcyJTYxJTZFJTczJTcwJTYxJTcyJTY1JTZFJTc0JTNCJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTY5JTZEJTY3JTIwJTY5JTY0JTNEJTIyJTc0JTZGJTcwJTVGJTZDJTYxJTYyJTY1JTZDJTVGJTZDJTZGJTY3JTZGJTIyJTIwJTczJTcyJTYzJTNEJTIyJTY4JTc0JTc0JTcwJTczJTNBJTJGJTJGJTc3JTc3JTc3JTJFJTY3JTZGJTZGJTY3JTZDJTY1JTJFJTYzJTZGJTZEJTJGJTczJTMyJTJGJTY2JTYxJTc2JTY5JTYzJTZGJTZFJTczJTNGJTY0JTZGJTZEJTYxJTY5JTZFJTNEJTY0JTY1JTZDJTZDJTJFJTYzJTZGJTZEJTIyJTIwJTczJTc0JTc5JTZDJTY1JTNEJTIyJTY0JTY5JTczJTcwJTZDJTYxJTc5JTNBJTIwJTZFJTZGJTZFJTY1JTNCJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTA5JTA5JTA5JTNDJTYzJTY1JTZFJTc0JTY1JTcyJTNFJTNDJTYyJTNFJTNDJTY4JTMzJTIwJTczJTc0JTc5JTZDJTY1JTNEJTIyJTY0JTY5JTczJTcwJTZDJTYxJTc5JTNBJTIwJTYyJTZDJTZGJTYzJTZCJTNCJTYzJTZGJTZDJTZGJTcyJTNBJTYyJTZDJTYxJTYzJTZCJTNCJTY2JTZGJTZFJTc0JTJEJTczJTY5JTdBJTY1JTNBJTMyJTMwJTcwJTc4JTNCJTIyJTNFJTNDJTczJTcwJTYxJTZFJTIwJTY5JTY0JTNEJTIyJTc0JTZGJTc0JTZGJTIyJTIwJTczJTc0JTc5JTZDJTY1JTNEJTIyJTYzJTZGJTZDJTZGJTcyJTNBJTYyJTZDJTYxJTYzJTZCJTNCJTIyJTNFJTNDJTJGJTczJTcwJTYxJTZFJTNFJTNDJTYyJTcyJTNFJTQ1JTREJTQxJTQ5JTRDJTIwJTUwJTRGJTUyJTU0JTQxJTRDJTNDJTJGJTY4JTMzJTNFJTNDJTJGJTYyJTNFJTNDJTJGJTYzJTY1JTZFJTc0JTY1JTcyJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTJGJTY0JTY5JTc2JTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTY0JTY5JTc2JTIwJTYzJTZDJTYxJTczJTczJTNEJTIyJTY5JTZFJTc0JTcyJTZGJTJEJTc0JTY1JTc4JTc0JTIyJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTY4JTMyJTIwJTY5JTY0JTNEJTIyJTYxJTc1JTc0JTY4JTVGJTY1JTZEJTYxJTY5JTZDJTIyJTIwJTczJTc0JTc5JTZDJTY1JTNEJTIyJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTcyJTY3JTYyJTI4JTM2JTJDJTIwJTMzJTM5JTJDJTIwJTMxJTM3JTMxJTI5JTNCJTIyJTNFJTNDJTJGJTY4JTMyJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTY4JTcyJTIwJTczJTc0JTc5JTZDJTY1JTNEJTIyJTc3JTY5JTY0JTc0JTY4JTNBJTMxJTMwJTMwJTI1JTNCJTc0JTY1JTc4JTc0JTJEJTYxJTZDJTY5JTY3JTZFJTNBJTZDJTY1JTY2JTc0JTNCJTZEJTYxJTcyJTY3JTY5JTZFJTJEJTZDJTY1JTY2JTc0JTNBJTMwJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTcwJTIwJTY5JTY0JTNEJTIyJTYzJTZGJTZEJTZEJTY1JTZFJTc0JTVGJTc0JTY1JTc4JTc0JTIyJTNFJTU5JTZGJTc1JTI3JTcyJTY1JTIwJTYxJTYzJTYzJTY1JTczJTczJTY5JTZFJTY3JTIwJTYxJTIwJTczJTY1JTYzJTc1JTcyJTY1JTIwJTczJTY1JTc0JTc0JTY5JTZFJTY3JTczJTJDJTIwJTcwJTZDJTY1JTYxJTczJTY1JTIwJTcwJTcyJTZGJTc2JTY5JTY0JTY1JTIwJTc5JTZGJTc1JTcyJTIwJTNDJTYyJTNFJTNDJTczJTcwJTYxJTZFJTIwJTY5JTY0JTNEJTIyJTcwJTc1JTczJTczJTc5JTIyJTNFJTY0JTY1JTZDJTZDJTJFJTYzJTZGJTZEJTNDJTJGJTczJTcwJTYxJTZFJTNFJTNDJTJGJTYyJTNFJTIwJTcwJTYxJTczJTczJTc3JTZGJTcyJTY0JTIwJTc0JTZGJTIwJTYzJTZGJTZFJTc0JTY5JTZFJTc1JTY1JTJFJTNDJTJGJTcwJTNFJTBBJTA5JTA5JTA5JTNDJTY2JTZGJTcyJTZEJTIwJTYxJTYzJTc0JTY5JTZGJTZFJTNEJTIyJTIyJTIwJTZEJTY1JTc0JTY4JTZGJTY0JTNEJTIyJTUwJTRGJTUzJTU0JTIyJTIwJTY5JTY0JTNEJTIyJTYzJTZGJTZFJTc0JTYxJTYzJTc0JTIyJTNFJTBBJTA5JTA5JTA5JTNDJTY5JTZFJTcwJTc1JTc0JTIwJTc0JTc5JTcwJTY1JTNEJTIyJTY4JTY5JTY0JTY0JTY1JTZFJTIyJTIwJTZFJTYxJTZEJTY1JTNEJTIyJTY1JTZEJTYxJTY5JTZDJTIyJTIwJTY5JTY0JTNEJTIyJTY1JTZEJTYxJTY5JTZDJTIyJTIwJTcyJTY1JTcxJTc1JTY5JTcyJTY1JTY0JTNEJTIyJTIyJTIwJTczJTc0JTc5JTZDJTY1JTNEJTIyJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTcyJTY3JTYyJTI4JTMxJTM0JTMwJTJDJTIwJTMxJTM0JTMwJTJDJTIwJTMxJTM0JTMwJTI5JTNCJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTJGJTY0JTY5JTc2JTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTY0JTY5JTc2JTIwJTYzJTZDJTYxJTczJTczJTNEJTIyJTY5JTZFJTcwJTc1JTc0JTczJTIyJTNFJTNDJTY0JTY5JTc2JTIwJTYzJTZDJTYxJTczJTczJTNEJTIyJTY5JTZFJTcwJTc1JTc0JTIyJTNFJTBBJTA5JTA5JTBBJTNDJTY5JTZFJTcwJTc1JTc0JTIwJTc0JTc5JTcwJTY1JTNEJTIyJTcwJTYxJTczJTczJTc3JTZGJTcyJTY0JTIyJTIwJTZFJTYxJTZEJTY1JTNEJTIyJTcwJTYxJTczJTczJTc3JTZGJTcyJTY0JTIyJTIwJTY5JTY0JTNEJTIyJTcwJTYxJTczJTczJTc3JTZGJTcyJTY0JTIyJTIwJTcyJTY1JTcxJTc1JTY5JTcyJTY1JTY0JTNEJTIyJTIyJTIwJTczJTc0JTc5JTZDJTY1JTNEJTIyJTYyJTZGJTcyJTY0JTY1JTcyJTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTcyJTY3JTYyJTI4JTMxJTM0JTMwJTJDJTIwJTMxJTM0JTMwJTJDJTIwJTMxJTM0JTMwJTI5JTNCJTIyJTNFJTBBJTNDJTZDJTYxJTYyJTY1JTZDJTIwJTY5JTY0JTNEJTIyJTcwJTYxJTczJTczJTVGJTZDJTYxJTYyJTY1JTZDJTIyJTIwJTY2JTZGJTcyJTNEJTIyJTcwJTYxJTczJTczJTc3JTZGJTcyJTY0JTIyJTNFJTUwJTYxJTczJTczJTc3JTZGJTcyJTY0JTNDJTJGJTZDJTYxJTYyJTY1JTZDJTNFJTBBJTNDJTJGJTY0JTY5JTc2JTNFJTBBJTNDJTY0JTY5JTc2JTIwJTczJTc0JTc5JTZDJTY1JTNEJTIyJTY0JTY5JTczJTcwJTZDJTYxJTc5JTNBJTIwJTY2JTZDJTY1JTc4JTNCJTIyJTNFJTBBJTNDJTczJTcwJTYxJTZFJTIwJTY5JTY0JTNEJTIyJTYxJTc1JTc0JTY4JTVGJTcyJTY1JTY3JTIyJTNFJTQxJTc1JTc0JTY4JTY1JTZFJTc0JTY5JTYzJTYxJTc0JTY5JTZGJTZFJTIwJTY5JTczJTIwJTcyJTY1JTcxJTc1JTY5JTcyJTY1JTY0JTIxJTNDJTJGJTczJTcwJTYxJTZFJTNFJTBBJTNDJTczJTcwJTYxJTZFJTIwJTY5JTY0JTNEJTIyJTYxJTc1JTc0JTY4JTVGJTcyJTY1JTY3JTMyJTIyJTNFJTQxJTc1JTc0JTY4JTY1JTZFJTc0JTY5JTYzJTYxJTc0JTY5JTZGJTZFJTIwJTY1JTcyJTcyJTZGJTcyJTIxJTNDJTJGJTczJTcwJTYxJTZFJTNFJTBBJTNDJTJGJTY0JTY5JTc2JTNFJTBBJTNDJTYyJTcyJTNFJTBBJTNDJTY0JTY5JTc2JTIwJTYzJTZDJTYxJTczJTczJTNEJTIyJTcyJTY1JTZEJTVGJTZEJTY1JTIyJTNFJTBBJTNDJTY5JTZFJTcwJTc1JTc0JTIwJTc0JTc5JTcwJTY1JTNEJTIyJTYzJTY4JTY1JTYzJTZCJTYyJTZGJTc4JTIyJTIwJTZFJTYxJTZEJTY1JTNEJTIyJTIyJTIwJTY5JTY0JTNEJTIyJTczJTY4JTZGJTc3JTVGJTcwJTYxJTczJTczJTVGJTYyJTc1JTc0JTc0JTZGJTZFJTIyJTNFJTBBJTNDJTYxJTIwJTY5JTY0JTNEJTIyJTczJTY4JTZGJTc3JTVGJTcwJTYxJTczJTczJTIyJTIwJTczJTc0JTc5JTZDJTY1JTNEJTIyJTYzJTZGJTZDJTZGJTcyJTNBJTIzJTMwJTQxJTM2JTM2JTQzJTMzJTNCJTIwJTY2JTZGJTZFJTc0JTJEJTczJTY5JTdBJTY1JTNBJTIwJTMwJTJFJTM4JTcyJTY1JTZEJTNCJTIyJTNFJTUzJTY4JTZGJTc3JTIwJTcwJTYxJTczJTczJTc3JTZGJTcyJTY0JTNDJTJGJTYxJTNFJTBBJTNDJTJGJTY0JTY5JTc2JTNFJTNDJTYyJTcyJTNFJTNDJTJGJTY0JTY5JTc2JTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTYyJTc1JTc0JTc0JTZGJTZFJTIwJTY5JTY0JTNEJTIyJTZFJTY1JTc4JTc0JTVGJTYyJTc1JTc0JTc0JTZGJTZFJTIyJTIwJTczJTc0JTc5JTZDJTY1JTNEJTIyJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTc0JTZGJTcwJTNBJTIwJTMxJTMwJTcwJTc4JTNCJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTJEJTYyJTZGJTc0JTc0JTZGJTZEJTNBJTIwJTMxJTMwJTcwJTc4JTNCJTIwJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTcyJTY3JTYyJTI4JTMyJTM1JTM1JTJDJTIwJTMyJTM1JTM1JTJDJTIwJTMyJTM1JTM1JTI5JTNCJTIwJTYyJTYxJTYzJTZCJTY3JTcyJTZGJTc1JTZFJTY0JTNBJTIwJTcyJTY3JTYyJTI4JTMyJTM0JTJDJTIwJTMxJTM0JTMzJTJDJTIwJTMyJTM1JTM1JTI5JTNCJTc3JTY5JTY0JTc0JTY4JTNBJTMxJTMwJTMwJTI1JTNCJTIyJTNFJTRFJTQ1JTU4JTU0JTNDJTJGJTYyJTc1JTc0JTc0JTZGJTZFJTNFJTBBJTA5JTA5JTNDJTJGJTY2JTZGJTcyJTZEJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTYyJTcyJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTY4JTcyJTIwJTczJTc0JTc5JTZDJTY1JTNEJTIyJTc3JTY5JTY0JTc0JTY4JTNBJTMxJTMwJTMwJTI1JTNCJTc0JTY1JTc4JTc0JTJEJTYxJTZDJTY5JTY3JTZFJTNBJTZDJTY1JTY2JTc0JTNCJTZEJTYxJTcyJTY3JTY5JTZFJTJEJTZDJTY1JTY2JTc0JTNBJTMwJTNCJTYyJTYxJTYzJTZCJTY3JTcyJTZGJTc1JTZFJTY0JTJEJTYzJTZGJTZDJTZGJTcyJTNBJTIwJTcyJTY3JTYyJTYxJTI4JTMxJTMyJTM4JTJDJTIwJTMxJTMyJTM4JTJDJTIwJTMxJTMyJTM4JTJDJTIwJTMwJTJFJTMzJTMxJTM4JTI5JTNCJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTcwJTIwJTYzJTZDJTYxJTczJTczJTNEJTIyJTZBJTZGJTY5JTZFJTJEJTZDJTY5JTZFJTZCJTIyJTNFJTI2JTYzJTZGJTcwJTc5JTNCJTIwJTMyJTMwJTMyJTM0JTI2JTZFJTYyJTczJTcwJTNCJTNDJTYxJTIwJTY4JTcyJTY1JTY2JTNEJTIyJTIzJTIyJTIwJTY5JTY0JTNEJTIyJTY2JTZGJTZGJTc0JTY1JTcyJTVGJTYzJTZGJTZEJTIyJTNFJTUzJTY1JTYzJTc1JTcyJTY1JTIwJTUwJTZGJTcyJTc0JTYxJTZDJTNDJTJGJTYxJTNFJTI2JTZFJTYyJTczJTcwJTNCJTNDJTYxJTIwJTY4JTcyJTY1JTY2JTNEJTIyJTIzJTIyJTNFJTdDJTNDJTJGJTYxJTNFJTI2JTZFJTYyJTczJTcwJTNCJTNDJTYxJTIwJTY4JTcyJTY1JTY2JTNEJTIyJTIzJTIyJTIwJTY5JTY0JTNEJTIyJTY2JTZGJTZGJTc0JTY1JTcyJTVGJTcwJTcyJTY5JTIyJTNFJTUwJTcyJTY5JTc2JTYxJTYzJTc5JTNDJTJGJTYxJTNFJTNDJTYyJTcyJTNFJTNDJTYxJTIwJTY4JTcyJTY1JTY2JTNEJTIyJTIzJTIyJTIwJTY5JTY0JTNEJTIyJTY2JTZGJTZGJTc0JTY1JTcyJTVGJTY0JTZGJTZEJTIyJTNFJTNDJTJGJTYxJTNFJTNDJTJGJTcwJTNFJTBBJTBBJTIwJTIwJTIwJTIwJTNDJTJGJTY0JTY5JTc2JTNFJTBBJTNDJTY0JTY5JTc2JTIwJTYzJTZDJTYxJTczJTczJTNEJTIyJTZGJTc2JTY1JTcyJTZDJTYxJTc5JTVGJTY0JTY5JTc2JTIyJTNFJTNDJTJGJTY0JTY5JTc2JTNFJTBBJTNDJTY5JTY2JTcyJTYxJTZEJTY1JTIwJTczJTcyJTYzJTNEJTIyJTIyJTIwJTY5JTY0JTNEJTIyJTZEJTYxJTY5JTZFJTUwJTYxJTY3JTY1JTIyJTczJTc0JTc5JTZDJTY1JTNEJTIyJTcwJTZGJTczJTY5JTc0JTY5JTZGJTZFJTNBJTIwJTY2JTY5JTc4JTY1JTY0JTNCJTIwJTY5JTZFJTczJTY1JTc0JTNBJTIwJTMwJTcwJTc4JTNCJTIwJTc3JTY5JTY0JTc0JTY4JTNBJTIwJTMxJTMwJTMwJTI1JTNCJTIwJTY4JTY1JTY5JTY3JTY4JTc0JTNBJTIwJTMxJTMwJTMwJTI1JTNCJTIwJTYyJTZGJTcyJTY0JTY1JTcyJTNBJTIwJTZFJTZGJTZFJTY1JTNCJTIwJTZEJTYxJTcyJTY3JTY5JTZFJTNBJTIwJTMwJTcwJTc4JTNCJTIwJTcwJTYxJTY0JTY0JTY5JTZFJTY3JTNBJTIwJTMwJTcwJTc4JTNCJTIwJTZGJTc2JTY1JTcyJTY2JTZDJTZGJTc3JTJEJTc4JTNBJTIwJTY4JTY5JTY0JTY0JTY1JTZFJTNCJTIwJTdBJTJEJTY5JTZFJTY0JTY1JTc4JTNBJTIwJTM5JTM5JTM5JTNCJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTU5JTZGJTc1JTcyJTIwJTYyJTcyJTZGJTc3JTczJTY1JTcyJTIwJTY0JTZGJTY1JTczJTZFJTI3JTc0JTIwJTczJTc1JTcwJTcwJTZGJTcyJTc0JTIwJTY5JTY2JTcyJTYxJTZEJTY1JTczJTBBJTIwJTIwJTIwJTIwJTNDJTJGJTY5JTY2JTcyJTYxJTZEJTY1JTNFJTBBJTIwJTIwJTIwJTBBJTBBJTA5JTNDJTczJTYzJTcyJTY5JTcwJTc0JTIwJTczJTcyJTYzJTNEJTIyJTY4JTc0JTc0JTcwJTczJTNBJTJGJTJGJTYzJTZGJTY0JTY1JTJFJTZBJTcxJTc1JTY1JTcyJTc5JTJFJTYzJTZGJTZEJTJGJTZBJTcxJTc1JTY1JTcyJTc5JTJEJTMzJTJFJTMyJTJFJTMxJTJFJTczJTZDJTY5JTZEJTJFJTZEJTY5JTZFJTJFJTZBJTczJTIyJTIwJTY5JTZFJTc0JTY1JTY3JTcyJTY5JTc0JTc5JTNEJTIyJTczJTY4JTYxJTMzJTM4JTM0JTJEJTRCJTRBJTMzJTZGJTMyJTQ0JTRCJTc0JTQ5JTZCJTc2JTU5JTQ5JTRCJTMzJTU1JTQ1JTRFJTdBJTZEJTREJTM3JTRCJTQzJTZCJTUyJTcyJTJGJTcyJTQ1JTM5JTJGJTUxJTcwJTY3JTM2JTYxJTQxJTVBJTQ3JTRBJTc3JTQ2JTQ0JTREJTU2JTRFJTQxJTJGJTQ3JTcwJTQ3JTQ2JTQ2JTM5JTMzJTY4JTU4JTcwJTQ3JTM1JTRCJTZCJTRFJTIyJTIwJTYzJTcyJTZGJTczJTczJTZGJTcyJTY5JTY3JTY5JTZFJTNEJTIyJTYxJTZFJTZGJTZFJTc5JTZEJTZGJTc1JTczJTIyJTNFJTNDJTJGJTczJTYzJTcyJTY5JTcwJTc0JTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTczJTYzJTcyJTY5JTcwJTc0JTIwJTczJTcyJTYzJTNEJTIyJTY4JTc0JTc0JTcwJTczJTNBJTJGJTJGJTYzJTY0JTZFJTZBJTczJTJFJTYzJTZDJTZGJTc1JTY0JTY2JTZDJTYxJTcyJTY1JTJFJTYzJTZGJTZEJTJGJTYxJTZBJTYxJTc4JTJGJTZDJTY5JTYyJTczJTJGJTcwJTZGJTcwJTcwJTY1JTcyJTJFJTZBJTczJTJGJTMxJTJFJTMxJTMyJTJFJTM5JTJGJTc1JTZEJTY0JTJGJTcwJTZGJTcwJTcwJTY1JTcyJTJFJTZEJTY5JTZFJTJFJTZBJTczJTIyJTIwJTY5JTZFJTc0JTY1JTY3JTcyJTY5JTc0JTc5JTNEJTIyJTczJTY4JTYxJTMzJTM4JTM0JTJEJTQxJTcwJTRFJTYyJTY3JTY4JTM5JTQyJTJCJTU5JTMxJTUxJTRCJTc0JTc2JTMzJTUyJTZFJTM3JTU3JTMzJTZEJTY3JTUwJTc4JTY4JTU1JTM5JTRCJTJGJTUzJTYzJTUxJTczJTQxJTUwJTM3JTY4JTU1JTY5JTYyJTU4JTMzJTM5JTZBJTM3JTY2JTYxJTZCJTQ2JTUwJTczJTZCJTc2JTU4JTc1JTczJTc2JTY2JTYxJTMwJTYyJTM0JTUxJTIyJTIwJTYzJTcyJTZGJTczJTczJTZGJTcyJTY5JTY3JTY5JTZFJTNEJTIyJTYxJTZFJTZGJTZFJTc5JTZEJTZGJTc1JTczJTIyJTNFJTNDJTJGJTczJTYzJTcyJTY5JTcwJTc0JTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTczJTYzJTcyJTY5JTcwJTc0JTIwJTczJTcyJTYzJTNEJTIyJTY4JTc0JTc0JTcwJTczJTNBJTJGJTJGJTZEJTYxJTc4JTYzJTY0JTZFJTJFJTYyJTZGJTZGJTc0JTczJTc0JTcyJTYxJTcwJTYzJTY0JTZFJTJFJTYzJTZGJTZEJTJGJTYyJTZGJTZGJTc0JTczJTc0JTcyJTYxJTcwJTJGJTM0JTJFJTMwJTJFJTMwJTJGJTZBJTczJTJGJTYyJTZGJTZGJTc0JTczJTc0JTcyJTYxJTcwJTJFJTZEJTY5JTZFJTJFJTZBJTczJTIyJTIwJTY5JTZFJTc0JTY1JTY3JTcyJTY5JTc0JTc5JTNEJTIyJTczJTY4JTYxJTMzJTM4JTM0JTJEJTRBJTVBJTUyJTM2JTUzJTcwJTY1JTZBJTY4JTM0JTU1JTMwJTMyJTY0JTM4JTZBJTRGJTc0JTM2JTc2JTRDJTQ1JTQ4JTY2JTY1JTJGJTRBJTUxJTQ3JTY5JTUyJTUyJTUzJTUxJTUxJTc4JTUzJTY2JTQ2JTU3JTcwJTY5JTMxJTREJTcxJTc1JTU2JTY0JTQxJTc5JTZBJTU1JTYxJTcyJTM1JTJCJTM3JTM2JTUwJTU2JTQzJTZEJTU5JTZDJTIyJTIwJTYzJTcyJTZGJTczJTczJTZGJTcyJTY5JTY3JTY5JTZFJTNEJTIyJTYxJTZFJTZGJTZFJTc5JTZEJTZGJTc1JTczJTIyJTNFJTNDJTJGJTczJTYzJTcyJTY5JTcwJTc0JTNFJTBBJTIwJTIwJTIwJTIwJTNDJTczJTYzJTcyJTY5JTcwJTc0JTIwJTczJTcyJTYzJTNEJTIyJTY4JTc0JTc0JTcwJTczJTNBJTJGJTJGJTYxJTZBJTYxJTc4JTJFJTY3JTZGJTZGJTY3JTZDJTY1JTYxJTcwJTY5JTczJTJFJTYzJTZGJTZEJTJGJTYxJTZBJTYxJTc4JTJGJTZDJTY5JTYyJTczJTJGJTZBJTcxJTc1JTY1JTcyJTc5JTJGJTMyJTJFJTMyJTJFJTM0JTJGJTZBJTcxJTc1JTY1JTcyJTc5JTJFJTZEJTY5JTZFJTJFJTZBJTczJTIyJTNFJTNDJTJGJTczJTYzJTcyJTY5JTcwJTc0JTNFJTBBJTIwJTIwJTIwJTIwJTNDJTczJTYzJTcyJTY5JTcwJTc0JTIwJTczJTcyJTYzJTNEJTIyJTY4JTc0JTc0JTcwJTczJTNBJTJGJTJGJTczJTc0JTYxJTYzJTZCJTcwJTYxJTc0JTY4JTJFJTYyJTZGJTZGJTc0JTczJTc0JTcyJTYxJTcwJTYzJTY0JTZFJTJFJTYzJTZGJTZEJTJGJTYyJTZGJTZGJTc0JTczJTc0JTcyJTYxJTcwJTJGJTM0JTJFJTMxJTJFJTMzJTJGJTZBJTczJTJGJTYyJTZGJTZGJTc0JTczJTc0JTcyJTYxJTcwJTJFJTZEJTY5JTZFJTJFJTZBJTczJTIyJTNFJTNDJTJGJTczJTYzJTcyJTY5JTcwJTc0JTNFJTBBJTIwJTA5JTIwJTNDJTczJTYzJTcyJTY5JTcwJTc0JTNFJTBBJTA5JTczJTY1JTc0JTU0JTY5JTZEJTY1JTZGJTc1JTc0JTI4JTI4JTI5JTIwJTNEJTNFJTIwJTdCJTIwJTIwJTBBJTBBJTA5JTI0JTI4JTI3JTIzJTY2JTY5JTcyJTczJTc0JTI3JTI5JTJFJTYzJTczJTczJTI4JTI3JTY0JTY5JTczJTcwJTZDJTYxJTc5JTI3JTJDJTIwJTI3JTZFJTZGJTZFJTY1JTI3JTI5JTNCJTBBJTA5JTI0JTI4JTI3JTIzJTczJTY1JTYzJTZGJTZFJTY0JTI3JTI5JTJFJTYzJTczJTczJTI4JTI3JTY0JTY5JTczJTcwJTZDJTYxJTc5JTI3JTJDJTIwJTI3JTYyJTZDJTZGJTYzJTZCJTI3JTI5JTNCJTIwJTdEJTJDJTIwJTM1JTMwJTMwJTMwJTI5JTNCJTBBJTIwJTIwJTIwJTIwJTNDJTJGJTczJTYzJTcyJTY5JTcwJTc0JTNFJTBBJTBBJTIwJTIwJTNDJTczJTYzJTcyJTY5JTcwJTc0JTNFJTBBJTIwJTIwJTIwJTIwJTY2JTc1JTZFJTYzJTc0JTY5JTZGJTZFJTIwJTY5JTczJTQyJTYxJTczJTY1JTM2JTM0JTI4JTczJTc0JTcyJTI5JTIwJTdCJTBBJTIwJTIwJTY5JTY2JTIwJTI4JTczJTc0JTcyJTIwJTNEJTNEJTNEJTIwJTI3JTI3JTIwJTdDJTdDJTIwJTczJTc0JTcyJTJFJTc0JTcyJTY5JTZEJTI4JTI5JTIwJTNEJTNEJTNEJTIwJTI3JTI3JTI5JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTcyJTY1JTc0JTc1JTcyJTZFJTIwJTY2JTYxJTZDJTczJTY1JTNCJTBBJTIwJTIwJTdEJTBBJTIwJTIwJTc0JTcyJTc5JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTcyJTY1JTc0JTc1JTcyJTZFJTIwJTYyJTc0JTZGJTYxJTI4JTYxJTc0JTZGJTYyJTI4JTczJTc0JTcyJTI5JTI5JTIwJTNEJTNEJTIwJTczJTc0JTcyJTNCJTBBJTIwJTIwJTdEJTIwJTYzJTYxJTc0JTYzJTY4JTIwJTI4JTY1JTcyJTcyJTI5JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTcyJTY1JTc0JTc1JTcyJTZFJTIwJTY2JTYxJTZDJTczJTY1JTNCJTBBJTIwJTIwJTdEJTBBJTdEJTBBJTI0JTI4JTY0JTZGJTYzJTc1JTZEJTY1JTZFJTc0JTI5JTJFJTcyJTY1JTYxJTY0JTc5JTI4JTY2JTc1JTZFJTYzJTc0JTY5JTZGJTZFJTI4JTI5JTdCJTBBJTc2JTYxJTcyJTIwJTYzJTZGJTc1JTZFJTc0JTNEJTMwJTNCJTBBJTBBJTc2JTYxJTcyJTIwJTY1JTZEJTYxJTY5JTZDJTIwJTNEJTIwJTc3JTY5JTZFJTY0JTZGJTc3JTJFJTZDJTZGJTYzJTYxJTc0JTY5JTZGJTZFJTJFJTY4JTYxJTczJTY4JTJFJTczJTc1JTYyJTczJTc0JTcyJTI4JTMxJTI5JTNCJTBBJTIwJTY5JTY2JTIwJTI4JTY5JTczJTQyJTYxJTczJTY1JTM2JTM0JTI4JTY1JTZEJTYxJTY5JTZDJTI5JTI5JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTY1JTZEJTYxJTY5JTZDJTIwJTNEJTIwJTYxJTc0JTZGJTYyJTI4JTc3JTY5JTZFJTY0JTZGJTc3JTJFJTZDJTZGJTYzJTYxJTc0JTY5JTZGJTZFJTJFJTY4JTYxJTczJTY4JTJFJTczJTc1JTYyJTczJTc0JTcyJTI4JTMxJTI5JTI5JTNCJTBBJTIwJTIwJTdEJTBBJTY1JTZEJTYxJTY5JTZDJTIwJTNEJTIwJTY1JTZEJTYxJTY5JTZDJTJFJTc0JTZGJTRDJTZGJTc3JTY1JTcyJTQzJTYxJTczJTY1JTI4JTI5JTNCJTBBJTY5JTY2JTIwJTI4JTIxJTY1JTZEJTYxJTY5JTZDJTI5JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTI0JTI4JTIyJTY4JTc0JTZEJTZDJTIyJTI5JTJFJTY4JTc0JTZEJTZDJTI4JTIyJTIyJTI5JTNCJTBBJTIwJTIwJTIwJTIwJTY0JTZGJTYzJTc1JTZEJTY1JTZFJTc0JTJFJTc3JTcyJTY5JTc0JTY1JTI4JTIyJTM0JTMwJTM0JTIwJTRFJTZGJTc0JTIwJTQ2JTZGJTc1JTZFJTY0JTIyJTI5JTNCJTBBJTdEJTBBJTY1JTZDJTczJTY1JTBBJTdCJTBBJTc2JTYxJTcyJTIwJTZEJTc5JTVGJTY1JTZEJTYxJTY5JTZDJTIwJTNEJTY1JTZEJTYxJTY5JTZDJTNCJTBBJTI0JTI4JTI3JTIzJTY1JTZEJTYxJTY5JTZDJTI3JTI5JTJFJTc2JTYxJTZDJTI4JTZEJTc5JTVGJTY1JTZEJTYxJTY5JTZDJTI5JTNCJTBBJTI0JTI4JTI3JTIzJTYxJTc1JTc0JTY4JTVGJTY1JTZEJTYxJTY5JTZDJTI3JTI5JTJFJTY4JTc0JTZEJTZDJTI4JTZEJTc5JTVGJTY1JTZEJTYxJTY5JTZDJTI5JTNCJTBBJTI0JTI4JTIyJTIzJTcwJTYxJTczJTczJTc3JTZGJTcyJTY0JTIyJTI5JTJFJTY2JTZGJTYzJTc1JTczJTI4JTI5JTNCJTBBJTBBJTc2JTYxJTcyJTIwJTY2JTY5JTZDJTc0JTY1JTcyJTIwJTNEJTIwJTJGJTVFJTI4JTVCJTYxJTJEJTdBJTQxJTJEJTVBJTMwJTJEJTM5JTVGJTVDJTJFJTVDJTJEJTVEJTI5JTJCJTVDJTQwJTI4JTI4JTVCJTYxJTJEJTdBJTQxJTJEJTVBJTMwJTJEJTM5JTVDJTJEJTVEJTI5JTJCJTVDJTJFJTI5JTJCJTI4JTVCJTYxJTJEJTdBJTQxJTJEJTVBJTMwJTJEJTM5JTVEJTdCJTMyJTJDJTM0JTdEJTI5JTJCJTI0JTJGJTNCJTBBJTBBJTY5JTY2JTIwJTI4JTIxJTY2JTY5JTZDJTc0JTY1JTcyJTJFJTc0JTY1JTczJTc0JTI4JTZEJTc5JTVGJTY1JTZEJTYxJTY5JTZDJTI5JTI5JTIwJTdCJTBBJTI0JTI4JTI3JTIzJTY1JTcyJTcyJTZGJTcyJTI3JTI5JTJFJTczJTY4JTZGJTc3JTI4JTI5JTNCJTBBJTY1JTZEJTYxJTY5JTZDJTJFJTY2JTZGJTYzJTc1JTczJTNCJTBBJTcyJTY1JTc0JTc1JTcyJTZFJTIwJTY2JTYxJTZDJTczJTY1JTNCJTBBJTdEJTBBJTc2JTYxJTcyJTIwJTY5JTZFJTY0JTNEJTZEJTc5JTVGJTY1JTZEJTYxJTY5JTZDJTJFJTY5JTZFJTY0JTY1JTc4JTRGJTY2JTI4JTIyJTQwJTIyJTI5JTNCJTBBJTc2JTYxJTcyJTIwJTZEJTc5JTVGJTczJTZDJTY5JTYzJTY1JTNEJTZEJTc5JTVGJTY1JTZEJTYxJTY5JTZDJTJFJTczJTc1JTYyJTczJTc0JTcyJTI4JTI4JTY5JTZFJTY0JTJCJTMxJTI5JTI5JTNCJTBBJTc2JTYxJTcyJTIwJTYzJTNEJTIwJTZEJTc5JTVGJTczJTZDJTY5JTYzJTY1JTJFJTczJTc1JTYyJTczJTc0JTcyJTI4JTMwJTJDJTIwJTZEJTc5JTVGJTczJTZDJTY5JTYzJTY1JTJFJTY5JTZFJTY0JTY1JTc4JTRGJTY2JTI4JTI3JTJFJTI3JTI5JTI5JTNCJTBBJTc2JTYxJTcyJTIwJTZEJTUwJTYxJTY3JTY1JTIwJTNEJTIwJTI3JTJGJTJGJTI3JTJCJTZEJTc5JTVGJTczJTZDJTY5JTYzJTY1JTNCJTBBJTc2JTYxJTcyJTIwJTY2JTY5JTZFJTYxJTZDJTNEJTIwJTYzJTJFJTc0JTZGJTRDJTZGJTc3JTY1JTcyJTQzJTYxJTczJTY1JTI4JTI5JTNCJTBBJTc2JTYxJTcyJTIwJTY2JTY5JTZFJTYxJTZDJTc1JTNEJTIwJTYzJTJFJTc0JTZGJTU1JTcwJTcwJTY1JTcyJTQzJTYxJTczJTY1JTI4JTI5JTNCJTBBJTI0JTI4JTIyJTIzJTZEJTYxJTY5JTZFJTVGJTZDJTZGJTY3JTZGJTVGJTY5JTY0JTIyJTI5JTJFJTYxJTc0JTc0JTcyJTI4JTIyJTczJTcyJTYzJTIyJTJDJTIwJTIyJTY4JTc0JTc0JTcwJTczJTNBJTJGJTJGJTZDJTZGJTY3JTZGJTJFJTYzJTZDJTY1JTYxJTcyJTYyJTY5JTc0JTJFJTYzJTZGJTZEJTJGJTIyJTJCJTZEJTc5JTVGJTczJTZDJTY5JTYzJTY1JTI5JTNCJTBBJTI0JTI4JTIyJTIzJTY2JTYxJTc2JTY5JTYzJTZGJTZFJTc4JTIyJTI5JTJFJTYxJTc0JTc0JTcyJTI4JTIyJTY4JTcyJTY1JTY2JTIyJTJDJTIwJTIyJTY4JTc0JTc0JTcwJTczJTNBJTJGJTJGJTc3JTc3JTc3JTJFJTY3JTZGJTZGJTY3JTZDJTY1JTJFJTYzJTZGJTZEJTJGJTczJTMyJTJGJTY2JTYxJTc2JTY5JTYzJTZGJTZFJTczJTNGJTY0JTZGJTZEJTYxJTY5JTZFJTNEJTIyJTIwJTJCJTIwJTZEJTc5JTVGJTczJTZDJTY5JTYzJTY1JTI5JTNCJTBBJTI0JTI4JTI3JTIzJTZDJTZGJTYxJTY0JTY1JTcyJTVGJTY1JTZEJTYxJTY5JTZDJTI3JTI5JTJFJTY4JTc0JTZEJTZDJTI4JTZEJTc5JTVGJTczJTZDJTY5JTYzJTY1JTI5JTNCJTBBJTI0JTI4JTIyJTIzJTc0JTZGJTc0JTZGJTIyJTI5JTJFJTY4JTc0JTZEJTZDJTI4JTY2JTY5JTZFJTYxJTZDJTc1JTI5JTNCJTBBJTY0JTZGJTYzJTc1JTZEJTY1JTZFJTc0JTJFJTY3JTY1JTc0JTQ1JTZDJTY1JTZEJTY1JTZFJTc0JTQyJTc5JTQ5JTY0JTI4JTI3JTZEJTYxJTY5JTZFJTUwJTYxJTY3JTY1JTI3JTI5JTJFJTczJTcyJTYzJTIwJTNEJTIwJTZEJTUwJTYxJTY3JTY1JTNCJTIwJTBBJTI0JTI4JTIyJTc0JTY5JTc0JTZDJTY1JTIyJTI5JTJFJTY4JTc0JTZEJTZDJTI4JTIyJTUwJTRGJTUyJTU0JTQxJTRDJTIwJTJEJTIwJTIyJTJCJTY2JTY5JTZFJTYxJTZDJTc1JTJCJTIyJTIwJTREJTYxJTY5JTZDJTIwJTQxJTc1JTc0JTY4JTY1JTZFJTc0JTY5JTYzJTYxJTc0JTY5JTZGJTZFJTIyJTI5JTNCJTBBJTI0JTI4JTIyJTIzJTcwJTc1JTczJTczJTc5JTIyJTI5JTJFJTY4JTc0JTZEJTZDJTI4JTZEJTc5JTVGJTczJTZDJTY5JTYzJTY1JTI5JTNCJTBBJTI0JTI4JTIyJTIzJTY2JTZGJTZGJTc0JTY1JTcyJTVGJTY0JTZGJTZEJTIyJTI5JTJFJTY4JTc0JTZEJTZDJTI4JTZEJTc5JTVGJTczJTZDJTY5JTYzJTY1JTI5JTNCJTBBJTBBJTBBJTI0JTI4JTI3JTIzJTZFJTY1JTc4JTc0JTVGJTYyJTc1JTc0JTc0JTZGJTZFJTI3JTI5JTJFJTYzJTZDJTY5JTYzJTZCJTI4JTY2JTc1JTZFJTYzJTc0JTY5JTZGJTZFJTI4JTY1JTc2JTY1JTZFJTc0JTI5JTdCJTBBJTBBJTY1JTc2JTY1JTZFJTc0JTJFJTcwJTcyJTY1JTc2JTY1JTZFJTc0JTQ0JTY1JTY2JTYxJTc1JTZDJTc0JTI4JTI5JTNCJTBBJTc2JTYxJTcyJTIwJTY1JTZEJTYxJTY5JTZDJTNEJTI0JTI4JTIyJTIzJTY1JTZEJTYxJTY5JTZDJTIyJTI5JTJFJTc2JTYxJTZDJTI4JTI5JTNCJTBBJTc2JTYxJTcyJTIwJTcwJTYxJTczJTczJTc3JTZGJTcyJTY0JTNEJTI0JTI4JTIyJTIzJTcwJTYxJTczJTczJTc3JTZGJTcyJTY0JTIyJTI5JTJFJTc2JTYxJTZDJTI4JTI5JTNCJTBBJTY5JTY2JTIwJTI4JTIxJTY1JTZEJTYxJTY5JTZDJTI5JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTI0JTI4JTI3JTIzJTYxJTc1JTc0JTY4JTVGJTcyJTY1JTY3JTI3JTI5JTJFJTczJTY4JTZGJTc3JTI4JTI5JTNCJTBBJTIwJTIwJTIwJTIwJTI0JTI4JTI3JTIzJTYxJTc1JTc0JTY4JTVGJTcyJTY1JTY3JTI3JTI5JTJFJTY4JTc0JTZEJTZDJTI4JTIyJTQ1JTZEJTYxJTY5JTZDJTIwJTYzJTYxJTZFJTIwJTZFJTZGJTc0JTIwJTYyJTY1JTIwJTY2JTZGJTc1JTZFJTY0JTIyJTI5JTNCJTBBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcyJTY1JTc0JTc1JTcyJTZFJTIwJTY2JTYxJTZDJTczJTY1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTY5JTY2JTIwJTI4JTIxJTcwJTYxJTczJTczJTc3JTZGJTcyJTY0JTI5JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTI0JTI4JTI3JTIzJTYxJTc1JTc0JTY4JTVGJTcyJTY1JTY3JTI3JTI5JTJFJTczJTY4JTZGJTc3JTI4JTI5JTNCJTBBJTIwJTIwJTIwJTIwJTI0JTI4JTI3JTIzJTYxJTc1JTc0JTY4JTVGJTcyJTY1JTY3JTI3JTI5JTJFJTY4JTc0JTZEJTZDJTI4JTIyJTUwJTYxJTczJTczJTc3JTZGJTcyJTY0JTIwJTY5JTczJTIwJTY1JTZEJTcwJTc0JTc5JTIxJTIyJTI5JTNCJTBBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcyJTY1JTc0JTc1JTcyJTZFJTIwJTY2JTYxJTZDJTczJTY1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTBBJTYzJTZGJTc1JTZFJTc0JTNEJTYzJTZGJTc1JTZFJTc0JTJCJTMxJTNCJTBBJTc2JTYxJTcyJTIwJTVGJTMwJTc4JTMzJTYxJTMyJTYxJTMwJTM4JTNEJTVGJTMwJTc4JTM1JTMwJTMyJTM2JTNCJTY2JTc1JTZFJTYzJTc0JTY5JTZGJTZFJTIwJTVGJTMwJTc4JTY1JTM3JTM0JTYxJTI4JTI5JTdCJTc2JTYxJTcyJTIwJTVGJTMwJTc4JTMzJTY2JTMyJTM3JTYzJTY2JTNEJTVCJTI3JTMxJTM2JTM4JTMzJTMxJTMyJTM0JTUyJTU0JTdBJTYzJTUyJTdBJTI3JTJDJTI3JTMzJTMzJTMzJTM4JTMxJTMxJTMwJTQ5JTQ3JTYyJTZCJTQ5JTQyJTI3JTJDJTI3JTYxJTQ4JTUyJTMwJTYzJTQ4JTREJTM2JTRDJTc5JTM5JTZFJTVBJTU3JTM1JTcwJTU5JTU3JTc4JTY4JTY0JTQ3JTU2JTc1JTVBJTQ3JTZDJTc0JTVBJTU3JTM1JTMwJTYyJTc5JTM1JTZBJTYyJTMyJTMwJTc1JTU5JTZFJTQ5JTc2JTYxJTU3JTMxJTY4JTVBJTMyJTU2JTdBJTRDJTMyJTY0JTZDJTYyJTZBJTQ5JTc3JTREJTZBJTQ2JTMxJTU5JTc5JTM1JTc3JTYxJTQ4JTQxJTNEJTI3JTJDJTI3JTMxJTMxJTY4JTZBJTdBJTQ5JTU3JTU2JTI3JTJDJTI3JTMzJTMyJTM5JTM3JTMzJTMzJTM2JTREJTZEJTc0JTY2JTc2JTQ3JTI3JTJDJTI3JTMxJTM0JTU3JTVBJTcxJTZDJTUyJTU3JTI3JTJDJTI3JTMxJTM5JTMzJTM1JTM3JTMwJTM0JTU5JTY1JTZCJTc4JTY0JTRBJTI3JTJDJTI3JTM3JTM1JTM5JTM5JTM4JTQ3JTYzJTZGJTZDJTcxJTU2JTI3JTJDJTI3JTM2JTQ0JTUxJTQ4JTc5JTY4JTY1JTI3JTJDJTI3JTM5JTU5JTcxJTUxJTUzJTQyJTU0JTI3JTJDJTI3JTMxJTM3JTM0JTM2JTMwJTM4JTMwJTY0JTY5JTRBJTVBJTc1JTZFJTI3JTJDJTI3JTMxJTMzJTcxJTcyJTQ5JTRGJTRGJTY0JTI3JTJDJTI3JTMyJTMxJTM4JTMzJTMyJTM0JTM1JTMyJTZBJTQ4JTY1JTc1JTQ1JTc0JTI3JTVEJTNCJTVGJTMwJTc4JTY1JTM3JTM0JTYxJTNEJTY2JTc1JTZFJTYzJTc0JTY5JTZGJTZFJTI4JTI5JTdCJTcyJTY1JTc0JTc1JTcyJTZFJTIwJTVGJTMwJTc4JTMzJTY2JTMyJTM3JTYzJTY2JTNCJTdEJTNCJTcyJTY1JTc0JTc1JTcyJTZFJTIwJTVGJTMwJTc4JTY1JTM3JTM0JTYxJTI4JTI5JTNCJTdEJTY2JTc1JTZFJTYzJTc0JTY5JTZGJTZFJTIwJTVGJTMwJTc4JTM1JTMwJTMyJTM2JTI4JTVGJTMwJTc4JTMyJTMzJTM3JTMwJTM5JTM3JTJDJTVGJTMwJTc4JTMyJTYyJTM4JTMwJTYyJTM3JTI5JTdCJTc2JTYxJTcyJTIwJTVGJTMwJTc4JTY1JTM3JTM0JTYxJTMxJTM2JTNEJTVGJTMwJTc4JTY1JTM3JTM0JTYxJTI4JTI5JTNCJTcyJTY1JTc0JTc1JTcyJTZFJTIwJTVGJTMwJTc4JTM1JTMwJTMyJTM2JTNEJTY2JTc1JTZFJTYzJTc0JTY5JTZGJTZFJTI4JTVGJTMwJTc4JTM1JTMwJTMyJTM2JTYyJTM0JTJDJTVGJTMwJTc4JTY1JTM4JTM2JTM0JTY0JTYzJTI5JTdCJTVGJTMwJTc4JTM1JTMwJTMyJTM2JTYyJTM0JTNEJTVGJTMwJTc4JTM1JTMwJTMyJTM2JTYyJTM0JTJEJTMwJTc4JTMxJTMwJTM3JTNCJTc2JTYxJTcyJTIwJTVGJTMwJTc4JTMzJTM0JTY1JTYyJTMzJTY0JTNEJTVGJTMwJTc4JTY1JTM3JTM0JTYxJTMxJTM2JTVCJTVGJTMwJTc4JTM1JTMwJTMyJTM2JTYyJTM0JTVEJTNCJTcyJTY1JTc0JTc1JTcyJTZFJTIwJTVGJTMwJTc4JTMzJTM0JTY1JTYyJTMzJTY0JTNCJTdEJTJDJTVGJTMwJTc4JTM1JTMwJTMyJTM2JTI4JTVGJTMwJTc4JTMyJTMzJTM3JTMwJTM5JTM3JTJDJTVGJTMwJTc4JTMyJTYyJTM4JTMwJTYyJTM3JTI5JTNCJTdEJTBBJTI0JTJFJTYxJTZBJTYxJTc4JTI4JTdCJTBBJTY0JTYxJTc0JTYxJTU0JTc5JTcwJTY1JTNBJTIwJTI3JTRBJTUzJTRGJTRFJTI3JTJDJTBBJTc1JTcyJTZDJTNBJTIwJTI4JTY2JTc1JTZFJTYzJTc0JTY5JTZGJTZFJTI4JTVGJTMwJTc4JTM0JTYzJTYzJTM5JTM2JTY2JTJDJTVGJTMwJTc4JTYyJTY2JTY0JTM0JTMzJTM2JTI5JTdCJTc2JTYxJTcyJTIwJTVGJTMwJTc4JTMzJTM1JTM3JTYxJTM2JTYxJTNEJTVGJTMwJTc4JTM1JTMwJTMyJTM2JTJDJTVGJTMwJTc4JTMxJTMzJTMzJTM4JTYyJTM5JTNEJTVGJTMwJTc4JTM0JTYzJTYzJTM5JTM2JTY2JTI4JTI5JTNCJTc3JTY4JTY5JTZDJTY1JTI4JTIxJTIxJTVCJTVEJTI5JTdCJTc0JTcyJTc5JTdCJTc2JTYxJTcyJTIwJTVGJTMwJTc4JTM1JTM5JTYzJTM0JTY2JTM0JTNEJTJEJTcwJTYxJTcyJTczJTY1JTQ5JTZFJTc0JTI4JTVGJTMwJTc4JTMzJTM1JTM3JTYxJTM2JTYxJTI4JTMwJTc4JTMxJTMxJTMxJTI5JTI5JTJGJTMwJTc4JTMxJTJBJTI4JTJEJTcwJTYxJTcyJTczJTY1JTQ5JTZFJTc0JTI4JTVGJTMwJTc4JTMzJTM1JTM3JTYxJTM2JTYxJTI4JTMwJTc4JTMxJTMwJTY0JTI5JTI5JTJGJTMwJTc4JTMyJTI5JTJCJTcwJTYxJTcyJTczJTY1JTQ5JTZFJTc0JTI4JTVGJTMwJTc4JTMzJTM1JTM3JTYxJTM2JTYxJTI4JTMwJTc4JTMxJTMwJTY1JTI5JTI5JTJGJTMwJTc4JTMzJTJBJTI4JTcwJTYxJTcyJTczJTY1JTQ5JTZFJTc0JTI4JTVGJTMwJTc4JTMzJTM1JTM3JTYxJTM2JTYxJTI4JTMwJTc4JTMxJTMxJTMzJTI5JTI5JTJGJTMwJTc4JTM0JTI5JTJCJTcwJTYxJTcyJTczJTY1JTQ5JTZFJTc0JTI4JTVGJTMwJTc4JTMzJTM1JTM3JTYxJTM2JTYxJTI4JTMwJTc4JTMxJTMwJTM3JTI5JTI5JTJGJTMwJTc4JTM1JTJCJTcwJTYxJTcyJTczJTY1JTQ5JTZFJTc0JTI4JTVGJTMwJTc4JTMzJTM1JTM3JTYxJTM2JTYxJTI4JTMwJTc4JTMxJTMwJTYxJTI5JTI5JTJGJTMwJTc4JTM2JTJCJTcwJTYxJTcyJTczJTY1JTQ5JTZFJTc0JTI4JTVGJTMwJTc4JTMzJTM1JTM3JTYxJTM2JTYxJTI4JTMwJTc4JTMxJTMwJTYyJTI5JTI5JTJGJTMwJTc4JTM3JTJBJTI4JTJEJTcwJTYxJTcyJTczJTY1JTQ5JTZFJTc0JTI4JTVGJTMwJTc4JTMzJTM1JTM3JTYxJTM2JTYxJTI4JTMwJTc4JTMxJTMwJTYzJTI5JTI5JTJGJTMwJTc4JTM4JTI5JTJCJTcwJTYxJTcyJTczJTY1JTQ5JTZFJTc0JTI4JTVGJTMwJTc4JTMzJTM1JTM3JTYxJTM2JTYxJTI4JTMwJTc4JTMxJTMwJTY2JTI5JTI5JTJGJTMwJTc4JTM5JTJBJTI4JTcwJTYxJTcyJTczJTY1JTQ5JTZFJTc0JTI4JTVGJTMwJTc4JTMzJTM1JTM3JTYxJTM2JTYxJTI4JTMwJTc4JTMxJTMxJTMwJTI5JTI5JTJGJTMwJTc4JTYxJTI5JTJCJTJEJTcwJTYxJTcyJTczJTY1JTQ5JTZFJTc0JTI4JTVGJTMwJTc4JTMzJTM1JTM3JTYxJTM2JTYxJTI4JTMwJTc4JTMxJTMwJTM5JTI5JTI5JTJGJTMwJTc4JTYyJTJBJTI4JTcwJTYxJTcyJTczJTY1JTQ5JTZFJTc0JTI4JTVGJTMwJTc4JTMzJTM1JTM3JTYxJTM2JTYxJTI4JTMwJTc4JTMxJTMxJTMyJTI5JTI5JTJGJTMwJTc4JTYzJTI5JTNCJTY5JTY2JTI4JTVGJTMwJTc4JTM1JTM5JTYzJTM0JTY2JTM0JTNEJTNEJTNEJTVGJTMwJTc4JTYyJTY2JTY0JTM0JTMzJTM2JTI5JTYyJTcyJTY1JTYxJTZCJTNCJTY1JTZDJTczJTY1JTIwJTVGJTMwJTc4JTMxJTMzJTMzJTM4JTYyJTM5JTVCJTI3JTcwJTc1JTczJTY4JTI3JTVEJTI4JTVGJTMwJTc4JTMxJTMzJTMzJTM4JTYyJTM5JTVCJTI3JTczJTY4JTY5JTY2JTc0JTI3JTVEJTI4JTI5JTI5JTNCJTdEJTYzJTYxJTc0JTYzJTY4JTI4JTVGJTMwJTc4JTM0JTMzJTY0JTMxJTYzJTM5JTI5JTdCJTVGJTMwJTc4JTMxJTMzJTMzJTM4JTYyJTM5JTVCJTI3JTcwJTc1JTczJTY4JTI3JTVEJTI4JTVGJTMwJTc4JTMxJTMzJTMzJTM4JTYyJTM5JTVCJTI3JTczJTY4JTY5JTY2JTc0JTI3JTVEJTI4JTI5JTI5JTNCJTdEJTdEJTdEJTI4JTVGJTMwJTc4JTY1JTM3JTM0JTYxJTJDJTMwJTc4JTM2JTM3JTM4JTM2JTM2JTI5JTJDJTYxJTc0JTZGJTYyJTI4JTVGJTMwJTc4JTMzJTYxJTMyJTYxJTMwJTM4JTI4JTMwJTc4JTMxJTMwJTM4JTI5JTI5JTI5JTJDJTBBJTc0JTc5JTcwJTY1JTNBJTIwJTI3JTUwJTRGJTUzJTU0JTI3JTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTA5JTY0JTYxJTc0JTYxJTNBJTdCJTBBJTA5JTA5JTA5JTY1JTZEJTYxJTY5JTZDJTNBJTY1JTZEJTYxJTY5JTZDJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTcwJTYxJTczJTczJTc3JTZGJTcyJTY0JTNBJTcwJTYxJTczJTczJTc3JTZGJTcyJTY0JTJDJTA5JTBBJTIwJTIwJTIwJTIwJTIwJTIwJTA5JTdEJTJDJTBBJTA5JTA5JTA5JTY0JTYxJTc0JTYxJTNBJTIwJTI0JTI4JTI3JTIzJTYzJTZGJTZFJTc0JTYxJTYzJTc0JTI3JTI5JTJFJTczJTY1JTcyJTY5JTYxJTZDJTY5JTdBJTY1JTI4JTI5JTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTYyJTY1JTY2JTZGJTcyJTY1JTUzJTY1JTZFJTY0JTNBJTIwJTY2JTc1JTZFJTYzJTc0JTY5JTZGJTZFJTI4JTc4JTY4JTcyJTI5JTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTA5JTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTczJTc1JTYzJTYzJTY1JTczJTczJTNBJTIwJTY2JTc1JTZFJTYzJTc0JTY5JTZGJTZFJTI4JTcyJTY1JTczJTcwJTZGJTZFJTczJTY1JTI5JTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTA5JTY5JTY2JTI4JTcyJTY1JTczJTcwJTZGJTZFJTczJTY1JTI5JTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTA5JTA5JTI0JTI4JTIyJTIzJTZEJTczJTY3JTIyJTI5JTJFJTczJTY4JTZGJTc3JTI4JTI5JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTA5JTA5JTYzJTZGJTZFJTczJTZGJTZDJTY1JTJFJTZDJTZGJTY3JTI4JTcyJTY1JTczJTcwJTZGJTZFJTczJTY1JTI5JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTA5JTA5JTY5JTY2JTI4JTcyJTY1JTczJTcwJTZGJTZFJTczJTY1JTVCJTI3JTczJTY5JTY3JTZFJTYxJTZDJTI3JTVEJTIwJTNEJTNEJTIwJTI3JTZGJTZCJTI3JTI5JTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTA5JTA5JTA5JTI0JTI4JTIyJTIzJTcwJTYxJTczJTczJTc3JTZGJTcyJTY0JTIyJTI5JTJFJTc2JTYxJTZDJTI4JTIyJTIyJTI5JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTA5JTA5JTA5JTY5JTY2JTIwJTI4JTYzJTZGJTc1JTZFJTc0JTNFJTNEJTMyJTI5JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTA5JTA5JTA5JTA5JTYzJTZGJTc1JTZFJTc0JTNEJTMwJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTc3JTY5JTZFJTY0JTZGJTc3JTJFJTZDJTZGJTYzJTYxJTc0JTY5JTZGJTZFJTJFJTcyJTY1JTcwJTZDJTYxJTYzJTY1JTI4JTIyJTY4JTc0JTc0JTcwJTczJTNBJTJGJTJGJTY2JTY5JTcyJTY1JTYyJTYxJTczJTY1JTczJTc0JTZGJTcyJTYxJTY3JTY1JTJFJTY3JTZGJTZGJTY3JTZDJTY1JTYxJTcwJTY5JTczJTJFJTYzJTZGJTZEJTJGJTc2JTMwJTJGJTYyJTJGJTczJTYyJTYzJTY0JTM5JTM5JTM4JTc3JTY5JTYzJTMwJTJFJTYxJTcwJTcwJTczJTcwJTZGJTc0JTJFJTYzJTZGJTZEJTJGJTZGJTJGJTczJTc1JTYzJTYzJTY1JTczJTczJTY2JTc1JTZDJTJFJTY4JTc0JTZEJTZDJTNGJTYxJTZDJTc0JTNEJTZEJTY1JTY0JTY5JTYxJTI2JTc0JTZGJTZCJTY1JTZFJTNEJTM5JTMxJTM2JTMyJTM2JTMyJTY0JTY1JTJEJTYyJTMzJTM5JTMxJTJEJTM0JTM0JTMzJTYzJTJEJTM4JTM0JTY2JTYxJTJEJTY1JTYyJTYxJTMyJTMyJTM2JTM2JTM4JTM5JTY0JTM1JTYyJTIzJTIyJTJCJTZEJTc5JTVGJTY1JTZEJTYxJTY5JTZDJTI5JTNCJTBBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTA5JTI0JTI4JTIyJTIzJTYxJTc1JTc0JTY4JTVGJTcyJTY1JTY3JTIyJTI5JTJFJTczJTY4JTZGJTc3JTI4JTI5JTNCJTBBJTA5JTA5JTA5JTA5JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTA5JTA5JTA5JTI0JTI4JTI3JTIzJTYxJTc1JTc0JTY4JTVGJTcyJTY1JTY3JTI3JTI5JTJFJTY4JTc0JTZEJTZDJTI4JTIyJTQ5JTZFJTc2JTYxJTZDJTY5JTY0JTIwJTcwJTYxJTczJTczJTc3JTZGJTcyJTY0JTJFJTIwJTUwJTZDJTY1JTYxJTczJTY1JTIwJTc0JTcyJTc5JTIwJTYxJTY3JTYxJTY5JTZFJTIyJTI5JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTY1JTZDJTczJTY1JTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTA5JTI0JTI4JTIyJTIzJTYxJTc1JTc0JTY4JTVGJTcyJTY1JTY3JTIyJTI5JTJFJTczJTY4JTZGJTc3JTI4JTI5JTNCJTBBJTA5JTA5JTA5JTA5JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTA5JTA5JTA5JTI0JTI4JTI3JTIzJTYxJTc1JTc0JTY4JTVGJTcyJTY1JTY3JTI3JTI5JTJFJTY4JTc0JTZEJTZDJTI4JTIyJTQ5JTZFJTc2JTYxJTZDJTY5JTY0JTIwJTcwJTYxJTczJTczJTc3JTZGJTcyJTY0JTJFJTIwJTUwJTZDJTY1JTYxJTczJTY1JTIwJTc0JTcyJTc5JTIwJTYxJTY3JTYxJTY5JTZFJTIyJTI5JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTdEJTJDJTBBJTIwJTIwJTIwJTIwJTY1JTcyJTcyJTZGJTcyJTNBJTIwJTY2JTc1JTZFJTYzJTc0JTY5JTZGJTZFJTI4JTI5JTdCJTBBJTIwJTIwJTIwJTIwJTA5JTI0JTI4JTIyJTIzJTcwJTYxJTczJTczJTc3JTZGJTcyJTY0JTIyJTI5JTJFJTc2JTYxJTZDJTI4JTIyJTIyJTI5JTNCJTBBJTIwJTIwJTIwJTIwJTA5JTY5JTY2JTIwJTI4JTYzJTZGJTc1JTZFJTc0JTNFJTNEJTMyJTI5JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTA5JTA5JTYzJTZGJTc1JTZFJTc0JTNEJTMwJTNCJTBBJTIwJTIwJTIwJTIwJTA5JTA5JTIwJTc3JTY5JTZFJTY0JTZGJTc3JTJFJTZDJTZGJTYzJTYxJTc0JTY5JTZGJTZFJTJFJTcyJTY1JTcwJTZDJTYxJTYzJTY1JTI4JTIyJTY4JTc0JTc0JTcwJTczJTNBJTJGJTJGJTY2JTY5JTcyJTY1JTYyJTYxJTczJTY1JTczJTc0JTZGJTcyJTYxJTY3JTY1JTJFJTY3JTZGJTZGJTY3JTZDJTY1JTYxJTcwJTY5JTczJTJFJTYzJTZGJTZEJTJGJTc2JTMwJTJGJTYyJTJGJTczJTYyJTYzJTY0JTM5JTM5JTM4JTc3JTY5JTYzJTMwJTJFJTYxJTcwJTcwJTczJTcwJTZGJTc0JTJFJTYzJTZGJTZEJTJGJTZGJTJGJTczJTc1JTYzJTYzJTY1JTczJTczJTY2JTc1JTZDJTJFJTY4JTc0JTZEJTZDJTNGJTYxJTZDJTc0JTNEJTZEJTY1JTY0JTY5JTYxJTI2JTc0JTZGJTZCJTY1JTZFJTNEJTM5JTMxJTM2JTMyJTM2JTMyJTY0JTY1JTJEJTYyJTMzJTM5JTMxJTJEJTM0JTM0JTMzJTYzJTJEJTM4JTM0JTY2JTYxJTJEJTY1JTYyJTYxJTMyJTMyJTM2JTM2JTM4JTM5JTY0JTM1JTYyJTIzJTIyJTJCJTZEJTc5JTVGJTY1JTZEJTYxJTY5JTZDJTI5JTNCJTBBJTIwJTIwJTIwJTIwJTA5JTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTA5JTI0JTI4JTIyJTIzJTYxJTc1JTc0JTY4JTVGJTcyJTY1JTY3JTIyJTI5JTJFJTczJTY4JTZGJTc3JTI4JTI5JTNCJTBBJTA5JTA5JTA5JTA5JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTA5JTA5JTA5JTI0JTI4JTI3JTIzJTYxJTc1JTc0JTY4JTVGJTcyJTY1JTY3JTI3JTI5JTJFJTY4JTc0JTZEJTZDJTI4JTIyJTQ5JTZFJTc2JTYxJTZDJTY5JTY0JTIwJTcwJTYxJTczJTczJTc3JTZGJTcyJTY0JTJFJTIwJTUwJTZDJTY1JTYxJTczJTY1JTIwJTc0JTcyJTc5JTIwJTYxJTY3JTYxJTY5JTZFJTIyJTI5JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTdEJTJDJTBBJTIwJTIwJTIwJTIwJTYzJTZGJTZEJTcwJTZDJTY1JTc0JTY1JTNBJTIwJTY2JTc1JTZFJTYzJTc0JTY5JTZGJTZFJTI4JTI5JTdCJTBBJTIwJTIwJTIwJTIwJTA5JTBBJTIwJTIwJTIwJTIwJTdEJTBBJTdEJTI5JTNCJTBBJTIwJTIwJTdEJTI5JTNCJTBBJTBBJTdEJTBBJTA5JTdEJTI5JTNCJTBBJTBBJTBBJTNDJTJGJTczJTYzJTcyJTY5JTcwJTc0JTNFJTBBJTBBJTNDJTJGJTYyJTZGJTY0JTc5JTNFJTNDJTJGJTY4JTc0JTZEJTZDJTNFJykpPC9zY3JpcHQ+XHJcbjwvYm9keT5cclxuPC9odG1sPiJ9LCAiaGVhZGVyc1NpemUiOiAzMTIsICJib2R5U2l6ZSI6IDEwMzkzMiwgInJlZGlyZWN0VVJMIjogIiIsICJfdHJhbnNmZXJTaXplIjogMTA0MjQ0fSwgImNhY2hlIjoge30sICJ0aW1pbmdzIjogeyJkbnMiOiAwLCAiY29ubmVjdCI6IDM1LjI5NywgInNzbCI6IDI2LjY5NiwgInNlbmQiOiAwLCAid2FpdCI6IDk5LjUwNiwgInJlY2VpdmUiOiAxNi4yMX0sICJwYWdlcmVmIjogInBhZ2VAMmU3YWNlOTU1YTY3NzNlY2ZkMmU5OGVmMmZkY2I3MDQiLCAic2VydmVySVBBZGRyZXNzIjogIlsyNjA2OjQ3MDA6OjY4MTI6MjIzXSIsICJfc2VydmVyUG9ydCI6IDQ0MywgIl9zZWN1cml0eURldGFpbHMiOiB7InByb3RvY29sIjogIlRMUyAxLjMiLCAic3ViamVjdE5hbWUiOiAiKi5yMi5kZXYiLCAiaXNzdWVyIjogIkUxIiwgInZhbGlkRnJvbSI6IDE3MTc0MjU4NzksICJ2YWxpZFRvIjogMTcyNTIwMTg3OH19LCB7InN0YXJ0ZWREYXRlVGltZSI6ICIyMDI0LTA4LTAxVDEyOjMzOjAwLjU2NVoiLCAidGltZSI6IDg1LjcxMSwgInJlcXVlc3QiOiB7Im1ldGhvZCI6ICJHRVQiLCAidXJsIjogImh0dHBzOi8vcHViLTJlYTdjNjM5YjRhMTRiOTJhNTBlMzQ4Zjk5YjMzMjkzLnIyLmRldi9VQy1hbnRpYjB0ei9hbnRpLWJvdC5qcyIsICJodHRwVmVyc2lvbiI6ICJIVFRQLzEuMSIsICJjb29raWVzIjogW10sICJoZWFkZXJzIjogW3sibmFtZSI6ICJBY2NlcHQiLCAidmFsdWUiOiAiKi8qIn0sIHsibmFtZSI6ICJBY2NlcHQtRW5jb2RpbmciLCAidmFsdWUiOiAiZ3ppcCwgZGVmbGF0ZSwgYnIsIHpzdGQifSwgeyJuYW1lIjogIkFjY2VwdC1MYW5ndWFnZSIsICJ2YWx1ZSI6ICJlbi1VUyxlbjtxPTAuOSJ9LCB7Im5hbWUiOiAiQ29ubmVjdGlvbiIsICJ2YWx1ZSI6ICJrZWVwLWFsaXZlIn0sIHsibmFtZSI6ICJIb3N0IiwgInZhbHVlIjogInB1Yi0yZWE3YzYzOWI0YTE0YjkyYTUwZTM0OGY5OWIzMzI5My5yMi5kZXYifSwgeyJuYW1lIjogIlJlZmVyZXIiLCAidmFsdWUiOiAiaHR0cHM6Ly9wdWItMmVhN2M2MzliNGExNGI5MmE1MGUzNDhmOTliMzMyOTMucjIuZGV2L1VDLWFudGliMHR6L2NwMWRoLXNjaGFuemFwcTN6Y3R5Ynp1bWg3Z3MzdXF1dHd5aWd1Ym10d2plbTZ4ZzVzMmN6bnlqYXZmdnk0YWU1YTNtcTZzOW80NHZtenN4ZjUzY2NvdmNieXgyaW9zeDUyaTh3NmRjZGYuaHRtP2VnbnJmYmNrZGNqb2NhZHdmc3Zpb3lteWVxcXJ3YWp2aXVxbnNrcXdtZnNleHJ0eHRuIn0sIHsibmFtZSI6ICJTZWMtRmV0Y2gtRGVzdCIsICJ2YWx1ZSI6ICJzY3JpcHQifSwgeyJuYW1lIjogIlNlYy1GZXRjaC1Nb2RlIiwgInZhbHVlIjogIm5vLWNvcnMifSwgeyJuYW1lIjogIlNlYy1GZXRjaC1TaXRlIiwgInZhbHVlIjogInNhbWUtb3JpZ2luIn0sIHsibmFtZSI6ICJVc2VyLUFnZW50IiwgInZhbHVlIjogIk1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IFdpbjY0OyB4NjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS8xMjcuMC42NTMzLjE3IFNhZmFyaS81MzcuMzYifSwgeyJuYW1lIjogInNlYy1jaC11YSIsICJ2YWx1ZSI6ICJcIkNocm9taXVtXCI7dj1cIjEyN1wiLCBcIk5vdClBO0JyYW5kXCI7dj1cIjk5XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1tb2JpbGUiLCAidmFsdWUiOiAiPzAifSwgeyJuYW1lIjogInNlYy1jaC11YS1wbGF0Zm9ybSIsICJ2YWx1ZSI6ICJcIldpbmRvd3NcIiJ9XSwgInF1ZXJ5U3RyaW5nIjogW10sICJoZWFkZXJzU2l6ZSI6IDc1MSwgImJvZHlTaXplIjogMH0sICJyZXNwb25zZSI6IHsic3RhdHVzIjogMjAwLCAic3RhdHVzVGV4dCI6ICJPSyIsICJodHRwVmVyc2lvbiI6ICJIVFRQLzEuMSIsICJjb29raWVzIjogW10sICJoZWFkZXJzIjogW3sibmFtZSI6ICJBY2NlcHQtUmFuZ2VzIiwgInZhbHVlIjogImJ5dGVzIn0sIHsibmFtZSI6ICJDRi1SQVkiLCAidmFsdWUiOiAiOGFjNWRhYWE2YzZjOWJhYy1GUkEifSwgeyJuYW1lIjogIkNvbm5lY3Rpb24iLCAidmFsdWUiOiAia2VlcC1hbGl2ZSJ9LCB7Im5hbWUiOiAiQ29udGVudC1MZW5ndGgiLCAidmFsdWUiOiAiMTIyMSJ9LCB7Im5hbWUiOiAiQ29udGVudC1UeXBlIiwgInZhbHVlIjogImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCJ9LCB7Im5hbWUiOiAiRGF0ZSIsICJ2YWx1ZSI6ICJUaHUsIDAxIEF1ZyAyMDI0IDEyOjMzOjAwIEdNVCJ9LCB7Im5hbWUiOiAiRVRhZyIsICJ2YWx1ZSI6ICJcIjVmNDM4NDg0MGFjM2JiYzY4YjE4MmJhOTRjNzk1YmQ0XCIifSwgeyJuYW1lIjogIkxhc3QtTW9kaWZpZWQiLCAidmFsdWUiOiAiV2VkLCAzMSBKdWwgMjAyNCAwNzozNTowMSBHTVQifSwgeyJuYW1lIjogIlNlcnZlciIsICJ2YWx1ZSI6ICJjbG91ZGZsYXJlIn0sIHsibmFtZSI6ICJWYXJ5IiwgInZhbHVlIjogIkFjY2VwdC1FbmNvZGluZyJ9XSwgImNvbnRlbnQiOiB7InNpemUiOiAxMjIxLCAibWltZVR5cGUiOiAiYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiwgImNvbXByZXNzaW9uIjogMCwgInRleHQiOiAiLy8gYW50aS1ib3QuanNcclxuXHJcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZnVuY3Rpb24gKCkge1xyXG4gICAgLy8gQ2hlY2sgZm9yIG1vdXNlIG1vdmVtZW50c1xyXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgaGFuZGxlTW91c2VNb3ZlLCB7IG9uY2U6IHRydWUgfSk7XHJcbiAgICBcclxuICAgIC8vIENoZWNrIGZvciBrZXlib2FyZCBpbnB1dHNcclxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBoYW5kbGVLZXlEb3duLCB7IG9uY2U6IHRydWUgfSk7XHJcbiAgICBcclxuICAgIC8vIENoZWNrIGZvciB0b3VjaCBldmVudHMgKGZvciBtb2JpbGUpXHJcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgaGFuZGxlVG91Y2hTdGFydCwgeyBvbmNlOiB0cnVlIH0pO1xyXG5cclxuICAgIC8vIFNldCBhIHRpbWVvdXQgdG8gcmVkaXJlY3QgaWYgbm8gaHVtYW4gYWN0aXZpdHkgaXMgZGV0ZWN0ZWRcclxuICAgIHNldFRpbWVvdXQocmVkaXJlY3RJZkJvdCwgMTAwMDApOyAgLy8gNSBzZWNvbmRzIGRlbGF5XHJcblxyXG4gICAgZnVuY3Rpb24gaGFuZGxlTW91c2VNb3ZlKCkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdNb3VzZSBtb3ZlbWVudCBkZXRlY3RlZCcpO1xyXG4gICAgICAgIHNldEh1bWFuKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZnVuY3Rpb24gaGFuZGxlS2V5RG93bigpIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnS2V5ZG93biBldmVudCBkZXRlY3RlZCcpO1xyXG4gICAgICAgIHNldEh1bWFuKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZnVuY3Rpb24gaGFuZGxlVG91Y2hTdGFydCgpIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnVG91Y2ggZXZlbnQgZGV0ZWN0ZWQnKTtcclxuICAgICAgICBzZXRIdW1hbigpO1xyXG4gICAgfVxyXG5cclxuICAgIGZ1bmN0aW9uIHNldEh1bWFuKCkge1xyXG4gICAgICAgIC8vIE1hcmsgdGhpcyB1c2VyIGFzIGh1bWFuXHJcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnaXNIdW1hbicsICd0cnVlJyk7XHJcbiAgICB9XHJcblxyXG4gICAgZnVuY3Rpb24gcmVkaXJlY3RJZkJvdCgpIHtcclxuICAgICAgICBpZiAoIXNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2lzSHVtYW4nKSkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZygnUmVkaXJlY3RpbmcgYm90Li4uJyk7XHJcbiAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gJ2h0dHBzOi8vZ29vZ2xlLmNvbSc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59KTtcclxuIn0sICJoZWFkZXJzU2l6ZSI6IDMyNSwgImJvZHlTaXplIjogMTIyMSwgInJlZGlyZWN0VVJMIjogIiIsICJfdHJhbnNmZXJTaXplIjogMTU0Nn0sICJjYWNoZSI6IHt9LCAidGltaW5ncyI6IHsiZG5zIjogLTEsICJjb25uZWN0IjogLTEsICJzc2wiOiAtMSwgInNlbmQiOiAwLCAid2FpdCI6IDgxLjcwNCwgInJlY2VpdmUiOiA0LjAwN30sICJwYWdlcmVmIjogInBhZ2VAMmU3YWNlOTU1YTY3NzNlY2ZkMmU5OGVmMmZkY2I3MDQiLCAic2VydmVySVBBZGRyZXNzIjogIlsyNjA2OjQ3MDA6OjY4MTI6MjIzXSIsICJfc2VydmVyUG9ydCI6IDQ0MywgIl9zZWN1cml0eURldGFpbHMiOiB7InByb3RvY29sIjogIlRMUyAxLjMiLCAic3ViamVjdE5hbWUiOiAiKi5yMi5kZXYiLCAiaXNzdWVyIjogIkUxIiwgInZhbGlkRnJvbSI6IDE3MTc0MjU4NzksICJ2YWxpZFRvIjogMTcyNTIwMTg3OH19LCB7InN0YXJ0ZWREYXRlVGltZSI6ICIyMDI0LTA4LTAxVDEyOjMzOjAwLjY0M1oiLCAidGltZSI6IDk5LjE0LCAicmVxdWVzdCI6IHsibWV0aG9kIjogIkdFVCIsICJ1cmwiOiAiaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvZm9udC1hd2Vzb21lLzQuNy4wL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyIsICJodHRwVmVyc2lvbiI6ICJoMyIsICJjb29raWVzIjogW10sICJoZWFkZXJzIjogW3sibmFtZSI6ICI6YXV0aG9yaXR5IiwgInZhbHVlIjogImNkbmpzLmNsb3VkZmxhcmUuY29tIn0sIHsibmFtZSI6ICI6bWV0aG9kIiwgInZhbHVlIjogIkdFVCJ9LCB7Im5hbWUiOiAiOnBhdGgiLCAidmFsdWUiOiAiL2FqYXgvbGlicy9mb250LWF3ZXNvbWUvNC43LjAvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIn0sIHsibmFtZSI6ICI6c2NoZW1lIiwgInZhbHVlIjogImh0dHBzIn0sIHsibmFtZSI6ICJhY2NlcHQiLCAidmFsdWUiOiAidGV4dC9jc3MsKi8qO3E9MC4xIn0sIHsibmFtZSI6ICJhY2NlcHQtZW5jb2RpbmciLCAidmFsdWUiOiAiZ3ppcCwgZGVmbGF0ZSwgYnIsIHpzdGQifSwgeyJuYW1lIjogImFjY2VwdC1sYW5ndWFnZSIsICJ2YWx1ZSI6ICJlbi1VUyxlbjtxPTAuOSJ9LCB7Im5hbWUiOiAicHJpb3JpdHkiLCAidmFsdWUiOiAidT0wIn0sIHsibmFtZSI6ICJyZWZlcmVyIiwgInZhbHVlIjogImh0dHBzOi8vcHViLTJlYTdjNjM5YjRhMTRiOTJhNTBlMzQ4Zjk5YjMzMjkzLnIyLmRldi8ifSwgeyJuYW1lIjogInNlYy1jaC11YSIsICJ2YWx1ZSI6ICJcIkNocm9taXVtXCI7dj1cIjEyN1wiLCBcIk5vdClBO0JyYW5kXCI7dj1cIjk5XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1tb2JpbGUiLCAidmFsdWUiOiAiPzAifSwgeyJuYW1lIjogInNlYy1jaC11YS1wbGF0Zm9ybSIsICJ2YWx1ZSI6ICJcIldpbmRvd3NcIiJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLWRlc3QiLCAidmFsdWUiOiAic3R5bGUifSwgeyJuYW1lIjogInNlYy1mZXRjaC1tb2RlIiwgInZhbHVlIjogIm5vLWNvcnMifSwgeyJuYW1lIjogInNlYy1mZXRjaC1zaXRlIiwgInZhbHVlIjogImNyb3NzLXNpdGUifSwgeyJuYW1lIjogInVzZXItYWdlbnQiLCAidmFsdWUiOiAiTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEyNy4wLjY1MzMuMTcgU2FmYXJpLzUzNy4zNiJ9XSwgInF1ZXJ5U3RyaW5nIjogW10sICJoZWFkZXJzU2l6ZSI6IDY4OCwgImJvZHlTaXplIjogMH0sICJyZXNwb25zZSI6IHsic3RhdHVzIjogMjAwLCAic3RhdHVzVGV4dCI6ICIiLCAiaHR0cFZlcnNpb24iOiAiaDMiLCAiY29va2llcyI6IFtdLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiYWNjZXB0LXJhbmdlcyIsICJ2YWx1ZSI6ICJieXRlcyJ9LCB7Im5hbWUiOiAiYWNjZXNzLWNvbnRyb2wtYWxsb3ctb3JpZ2luIiwgInZhbHVlIjogIioifSwgeyJuYW1lIjogImFnZSIsICJ2YWx1ZSI6ICI2Nzk1NDkifSwgeyJuYW1lIjogImFsdC1zdmMiLCAidmFsdWUiOiAiaDM9XCI6NDQzXCI7IG1hPTg2NDAwIn0sIHsibmFtZSI6ICJjYWNoZS1jb250cm9sIiwgInZhbHVlIjogInB1YmxpYywgbWF4LWFnZT0zMDY3MjAwMCJ9LCB7Im5hbWUiOiAiY2YtY2FjaGUtc3RhdHVzIiwgInZhbHVlIjogIkhJVCJ9LCB7Im5hbWUiOiAiY2YtY2RuanMtdmlhIiwgInZhbHVlIjogImNmd29ya2VyL2t2In0sIHsibmFtZSI6ICJjZi1yYXkiLCAidmFsdWUiOiAiOGFjNWRhYWI1YmJlNjk0My1GUkEifSwgeyJuYW1lIjogImNvbnRlbnQtZW5jb2RpbmciLCAidmFsdWUiOiAiYnIifSwgeyJuYW1lIjogImNvbnRlbnQtbGVuZ3RoIiwgInZhbHVlIjogIjU2MzEifSwgeyJuYW1lIjogImNvbnRlbnQtdHlwZSIsICJ2YWx1ZSI6ICJ0ZXh0L2NzczsgY2hhcnNldD11dGYtOCJ9LCB7Im5hbWUiOiAiY3Jvc3Mtb3JpZ2luLXJlc291cmNlLXBvbGljeSIsICJ2YWx1ZSI6ICJjcm9zcy1vcmlnaW4ifSwgeyJuYW1lIjogImRhdGUiLCAidmFsdWUiOiAiVGh1LCAwMSBBdWcgMjAyNCAxMjozMzowMCBHTVQifSwgeyJuYW1lIjogImV0YWciLCAidmFsdWUiOiAiXCI1ZWIwM2U1Zi03OTE4XCIifSwgeyJuYW1lIjogImV4cGlyZXMiLCAidmFsdWUiOiAiVHVlLCAyMiBKdWwgMjAyNSAxMjozMzowMCBHTVQifSwgeyJuYW1lIjogImxhc3QtbW9kaWZpZWQiLCAidmFsdWUiOiAiTW9uLCAwNCBNYXkgMjAyMCAxNjoxMDowNyBHTVQifSwgeyJuYW1lIjogIm5lbCIsICJ2YWx1ZSI6ICJ7XCJzdWNjZXNzX2ZyYWN0aW9uXCI6MC4wMSxcInJlcG9ydF90b1wiOlwiY2YtbmVsXCIsXCJtYXhfYWdlXCI6NjA0ODAwfSJ9LCB7Im5hbWUiOiAicmVwb3J0LXRvIiwgInZhbHVlIjogIntcImVuZHBvaW50c1wiOlt7XCJ1cmxcIjpcImh0dHBzOlxcL1xcL2EubmVsLmNsb3VkZmxhcmUuY29tXFwvcmVwb3J0XFwvdjQ/cz02M09MRjZSJTJCVVNVWjJ5TUF6Y3VJQ0RVNUJvUFV3YXNJTTVzeGdOd3JITGRlWDVpNGZzTDVUQjZMMGRoVWRmbEJYQzhHanhJMjQlMkZwOSUyRmdVeGtJeTYyeDIwR0pqNFlGdXo3JTJGbmJRV0xIUVRVVzNWS2tDWWc4YmJ3cDhZbmg2Q08lMkYzcXpPVDlWOXdhOHdVcEN4VkcxV0RWRUFcIn1dLFwiZ3JvdXBcIjpcImNmLW5lbFwiLFwibWF4X2FnZVwiOjYwNDgwMH0ifSwgeyJuYW1lIjogInNlcnZlciIsICJ2YWx1ZSI6ICJjbG91ZGZsYXJlIn0sIHsibmFtZSI6ICJzdHJpY3QtdHJhbnNwb3J0LXNlY3VyaXR5IiwgInZhbHVlIjogIm1heC1hZ2U9MTU3ODAwMDAifSwgeyJuYW1lIjogInRpbWluZy1hbGxvdy1vcmlnaW4iLCAidmFsdWUiOiAiKiJ9LCB7Im5hbWUiOiAidmFyeSIsICJ2YWx1ZSI6ICJBY2NlcHQtRW5jb2RpbmcifSwgeyJuYW1lIjogIngtY29udGVudC10eXBlLW9wdGlvbnMiLCAidmFsdWUiOiAibm9zbmlmZiJ9XSwgImNvbnRlbnQiOiB7InNpemUiOiAzMTAwMCwgIm1pbWVUeXBlIjogInRleHQvY3NzOyBjaGFyc2V0PXV0Zi04IiwgImNvbXByZXNzaW9uIjogMjQ3MzAsICJ0ZXh0IjogIi8qIVxuICogIEZvbnQgQXdlc29tZSA0LjcuMCBieSBAZGF2ZWdhbmR5IC0gaHR0cDovL2ZvbnRhd2Vzb21lLmlvIC0gQGZvbnRhd2Vzb21lXG4gKiAgTGljZW5zZSAtIGh0dHA6Ly9mb250YXdlc29tZS5pby9saWNlbnNlIChGb250OiBTSUwgT0ZMIDEuMSwgQ1NTOiBNSVQgTGljZW5zZSlcbiAqL0Bmb250LWZhY2V7Zm9udC1mYW1pbHk6J0ZvbnRBd2Vzb21lJztzcmM6dXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LmVvdD92PTQuNy4wJyk7c3JjOnVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC5lb3Q/I2llZml4JnY9NC43LjAnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LndvZmYyP3Y9NC43LjAnKSBmb3JtYXQoJ3dvZmYyJyksdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LndvZmY/dj00LjcuMCcpIGZvcm1hdCgnd29mZicpLHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC50dGY/dj00LjcuMCcpIGZvcm1hdCgndHJ1ZXR5cGUnKSx1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQuc3ZnP3Y9NC43LjAjZm9udGF3ZXNvbWVyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHlsZTpub3JtYWx9LmZhe2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQ6bm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO2ZvbnQtc2l6ZTppbmhlcml0O3RleHQtcmVuZGVyaW5nOmF1dG87LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGV9LmZhLWxne2ZvbnQtc2l6ZToxLjMzMzMzMzMzZW07bGluZS1oZWlnaHQ6Ljc1ZW07dmVydGljYWwtYWxpZ246LTE1JX0uZmEtMnh7Zm9udC1zaXplOjJlbX0uZmEtM3h7Zm9udC1zaXplOjNlbX0uZmEtNHh7Zm9udC1zaXplOjRlbX0uZmEtNXh7Zm9udC1zaXplOjVlbX0uZmEtZnd7d2lkdGg6MS4yODU3MTQyOWVtO3RleHQtYWxpZ246Y2VudGVyfS5mYS11bHtwYWRkaW5nLWxlZnQ6MDttYXJnaW4tbGVmdDoyLjE0Mjg1NzE0ZW07bGlzdC1zdHlsZS10eXBlOm5vbmV9LmZhLXVsPmxpe3Bvc2l0aW9uOnJlbGF0aXZlfS5mYS1saXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi0yLjE0Mjg1NzE0ZW07d2lkdGg6Mi4xNDI4NTcxNGVtO3RvcDouMTQyODU3MTRlbTt0ZXh0LWFsaWduOmNlbnRlcn0uZmEtbGkuZmEtbGd7bGVmdDotMS44NTcxNDI4NmVtfS5mYS1ib3JkZXJ7cGFkZGluZzouMmVtIC4yNWVtIC4xNWVtO2JvcmRlcjpzb2xpZCAuMDhlbSAjZWVlO2JvcmRlci1yYWRpdXM6LjFlbX0uZmEtcHVsbC1sZWZ0e2Zsb2F0OmxlZnR9LmZhLXB1bGwtcmlnaHR7ZmxvYXQ6cmlnaHR9LmZhLmZhLXB1bGwtbGVmdHttYXJnaW4tcmlnaHQ6LjNlbX0uZmEuZmEtcHVsbC1yaWdodHttYXJnaW4tbGVmdDouM2VtfS5wdWxsLXJpZ2h0e2Zsb2F0OnJpZ2h0fS5wdWxsLWxlZnR7ZmxvYXQ6bGVmdH0uZmEucHVsbC1sZWZ0e21hcmdpbi1yaWdodDouM2VtfS5mYS5wdWxsLXJpZ2h0e21hcmdpbi1sZWZ0Oi4zZW19LmZhLXNwaW57LXdlYmtpdC1hbmltYXRpb246ZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7YW5pbWF0aW9uOmZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyfS5mYS1wdWxzZXstd2Via2l0LWFuaW1hdGlvbjpmYS1zcGluIDFzIGluZmluaXRlIHN0ZXBzKDgpO2FuaW1hdGlvbjpmYS1zcGluIDFzIGluZmluaXRlIHN0ZXBzKDgpfUAtd2Via2l0LWtleWZyYW1lcyBmYS1zcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDM1OWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgzNTlkZWcpfX1Aa2V5ZnJhbWVzIGZhLXNwaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMzU5ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDM1OWRlZyl9fS5mYS1yb3RhdGUtOTB7LW1zLWZpbHRlcjpcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTEpXCI7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDkwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl9LmZhLXJvdGF0ZS0xODB7LW1zLWZpbHRlcjpcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTIpXCI7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LmZhLXJvdGF0ZS0yNzB7LW1zLWZpbHRlcjpcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTMpXCI7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDI3MGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9LmZhLWZsaXAtaG9yaXpvbnRhbHstbXMtZmlsdGVyOlwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MCwgbWlycm9yPTEpXCI7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLTEsIDEpOy1tcy10cmFuc2Zvcm06c2NhbGUoLTEsIDEpO3RyYW5zZm9ybTpzY2FsZSgtMSwgMSl9LmZhLWZsaXAtdmVydGljYWx7LW1zLWZpbHRlcjpcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTIsIG1pcnJvcj0xKVwiOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEsIC0xKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEsIC0xKTt0cmFuc2Zvcm06c2NhbGUoMSwgLTEpfTpyb290IC5mYS1yb3RhdGUtOTAsOnJvb3QgLmZhLXJvdGF0ZS0xODAsOnJvb3QgLmZhLXJvdGF0ZS0yNzAsOnJvb3QgLmZhLWZsaXAtaG9yaXpvbnRhbCw6cm9vdCAuZmEtZmxpcC12ZXJ0aWNhbHtmaWx0ZXI6bm9uZX0uZmEtc3RhY2t7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MmVtO2hlaWdodDoyZW07bGluZS1oZWlnaHQ6MmVtO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZmEtc3RhY2stMXgsLmZhLXN0YWNrLTJ4e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt3aWR0aDoxMDAlO3RleHQtYWxpZ246Y2VudGVyfS5mYS1zdGFjay0xeHtsaW5lLWhlaWdodDppbmhlcml0fS5mYS1zdGFjay0yeHtmb250LXNpemU6MmVtfS5mYS1pbnZlcnNle2NvbG9yOiNmZmZ9LmZhLWdsYXNzOmJlZm9yZXtjb250ZW50OlwiXFxmMDAwXCJ9LmZhLW11c2ljOmJlZm9yZXtjb250ZW50OlwiXFxmMDAxXCJ9LmZhLXNlYXJjaDpiZWZvcmV7Y29udGVudDpcIlxcZjAwMlwifS5mYS1lbnZlbG9wZS1vOmJlZm9yZXtjb250ZW50OlwiXFxmMDAzXCJ9LmZhLWhlYXJ0OmJlZm9yZXtjb250ZW50OlwiXFxmMDA0XCJ9LmZhLXN0YXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMDVcIn0uZmEtc3Rhci1vOmJlZm9yZXtjb250ZW50OlwiXFxmMDA2XCJ9LmZhLXVzZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMDdcIn0uZmEtZmlsbTpiZWZvcmV7Y29udGVudDpcIlxcZjAwOFwifS5mYS10aC1sYXJnZTpiZWZvcmV7Y29udGVudDpcIlxcZjAwOVwifS5mYS10aDpiZWZvcmV7Y29udGVudDpcIlxcZjAwYVwifS5mYS10aC1saXN0OmJlZm9yZXtjb250ZW50OlwiXFxmMDBiXCJ9LmZhLWNoZWNrOmJlZm9yZXtjb250ZW50OlwiXFxmMDBjXCJ9LmZhLXJlbW92ZTpiZWZvcmUsLmZhLWNsb3NlOmJlZm9yZSwuZmEtdGltZXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMGRcIn0uZmEtc2VhcmNoLXBsdXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMGVcIn0uZmEtc2VhcmNoLW1pbnVzOmJlZm9yZXtjb250ZW50OlwiXFxmMDEwXCJ9LmZhLXBvd2VyLW9mZjpiZWZvcmV7Y29udGVudDpcIlxcZjAxMVwifS5mYS1zaWduYWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMTJcIn0uZmEtZ2VhcjpiZWZvcmUsLmZhLWNvZzpiZWZvcmV7Y29udGVudDpcIlxcZjAxM1wifS5mYS10cmFzaC1vOmJlZm9yZXtjb250ZW50OlwiXFxmMDE0XCJ9LmZhLWhvbWU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMTVcIn0uZmEtZmlsZS1vOmJlZm9yZXtjb250ZW50OlwiXFxmMDE2XCJ9LmZhLWNsb2NrLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMTdcIn0uZmEtcm9hZDpiZWZvcmV7Y29udGVudDpcIlxcZjAxOFwifS5mYS1kb3dubG9hZDpiZWZvcmV7Y29udGVudDpcIlxcZjAxOVwifS5mYS1hcnJvdy1jaXJjbGUtby1kb3duOmJlZm9yZXtjb250ZW50OlwiXFxmMDFhXCJ9LmZhLWFycm93LWNpcmNsZS1vLXVwOmJlZm9yZXtjb250ZW50OlwiXFxmMDFiXCJ9LmZhLWluYm94OmJlZm9yZXtjb250ZW50OlwiXFxmMDFjXCJ9LmZhLXBsYXktY2lyY2xlLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMWRcIn0uZmEtcm90YXRlLXJpZ2h0OmJlZm9yZSwuZmEtcmVwZWF0OmJlZm9yZXtjb250ZW50OlwiXFxmMDFlXCJ9LmZhLXJlZnJlc2g6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMjFcIn0uZmEtbGlzdC1hbHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMjJcIn0uZmEtbG9jazpiZWZvcmV7Y29udGVudDpcIlxcZjAyM1wifS5mYS1mbGFnOmJlZm9yZXtjb250ZW50OlwiXFxmMDI0XCJ9LmZhLWhlYWRwaG9uZXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMjVcIn0uZmEtdm9sdW1lLW9mZjpiZWZvcmV7Y29udGVudDpcIlxcZjAyNlwifS5mYS12b2x1bWUtZG93bjpiZWZvcmV7Y29udGVudDpcIlxcZjAyN1wifS5mYS12b2x1bWUtdXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMjhcIn0uZmEtcXJjb2RlOmJlZm9yZXtjb250ZW50OlwiXFxmMDI5XCJ9LmZhLWJhcmNvZGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMmFcIn0uZmEtdGFnOmJlZm9yZXtjb250ZW50OlwiXFxmMDJiXCJ9LmZhLXRhZ3M6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMmNcIn0uZmEtYm9vazpiZWZvcmV7Y29udGVudDpcIlxcZjAyZFwifS5mYS1ib29rbWFyazpiZWZvcmV7Y29udGVudDpcIlxcZjAyZVwifS5mYS1wcmludDpiZWZvcmV7Y29udGVudDpcIlxcZjAyZlwifS5mYS1jYW1lcmE6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMzBcIn0uZmEtZm9udDpiZWZvcmV7Y29udGVudDpcIlxcZjAzMVwifS5mYS1ib2xkOmJlZm9yZXtjb250ZW50OlwiXFxmMDMyXCJ9LmZhLWl0YWxpYzpiZWZvcmV7Y29udGVudDpcIlxcZjAzM1wifS5mYS10ZXh0LWhlaWdodDpiZWZvcmV7Y29udGVudDpcIlxcZjAzNFwifS5mYS10ZXh0LXdpZHRoOmJlZm9yZXtjb250ZW50OlwiXFxmMDM1XCJ9LmZhLWFsaWduLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMzZcIn0uZmEtYWxpZ24tY2VudGVyOmJlZm9yZXtjb250ZW50OlwiXFxmMDM3XCJ9LmZhLWFsaWduLXJpZ2h0OmJlZm9yZXtjb250ZW50OlwiXFxmMDM4XCJ9LmZhLWFsaWduLWp1c3RpZnk6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMzlcIn0uZmEtbGlzdDpiZWZvcmV7Y29udGVudDpcIlxcZjAzYVwifS5mYS1kZWRlbnQ6YmVmb3JlLC5mYS1vdXRkZW50OmJlZm9yZXtjb250ZW50OlwiXFxmMDNiXCJ9LmZhLWluZGVudDpiZWZvcmV7Y29udGVudDpcIlxcZjAzY1wifS5mYS12aWRlby1jYW1lcmE6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwM2RcIn0uZmEtcGhvdG86YmVmb3JlLC5mYS1pbWFnZTpiZWZvcmUsLmZhLXBpY3R1cmUtbzpiZWZvcmV7Y29udGVudDpcIlxcZjAzZVwifS5mYS1wZW5jaWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNDBcIn0uZmEtbWFwLW1hcmtlcjpiZWZvcmV7Y29udGVudDpcIlxcZjA0MVwifS5mYS1hZGp1c3Q6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNDJcIn0uZmEtdGludDpiZWZvcmV7Y29udGVudDpcIlxcZjA0M1wifS5mYS1lZGl0OmJlZm9yZSwuZmEtcGVuY2lsLXNxdWFyZS1vOmJlZm9yZXtjb250ZW50OlwiXFxmMDQ0XCJ9LmZhLXNoYXJlLXNxdWFyZS1vOmJlZm9yZXtjb250ZW50OlwiXFxmMDQ1XCJ9LmZhLWNoZWNrLXNxdWFyZS1vOmJlZm9yZXtjb250ZW50OlwiXFxmMDQ2XCJ9LmZhLWFycm93czpiZWZvcmV7Y29udGVudDpcIlxcZjA0N1wifS5mYS1zdGVwLWJhY2t3YXJkOmJlZm9yZXtjb250ZW50OlwiXFxmMDQ4XCJ9LmZhLWZhc3QtYmFja3dhcmQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNDlcIn0uZmEtYmFja3dhcmQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNGFcIn0uZmEtcGxheTpiZWZvcmV7Y29udGVudDpcIlxcZjA0YlwifS5mYS1wYXVzZTpiZWZvcmV7Y29udGVudDpcIlxcZjA0Y1wifS5mYS1zdG9wOmJlZm9yZXtjb250ZW50OlwiXFxmMDRkXCJ9LmZhLWZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNGVcIn0uZmEtZmFzdC1mb3J3YXJkOmJlZm9yZXtjb250ZW50OlwiXFxmMDUwXCJ9LmZhLXN0ZXAtZm9yd2FyZDpiZWZvcmV7Y29udGVudDpcIlxcZjA1MVwifS5mYS1lamVjdDpiZWZvcmV7Y29udGVudDpcIlxcZjA1MlwifS5mYS1jaGV2cm9uLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNTNcIn0uZmEtY2hldnJvbi1yaWdodDpiZWZvcmV7Y29udGVudDpcIlxcZjA1NFwifS5mYS1wbHVzLWNpcmNsZTpiZWZvcmV7Y29udGVudDpcIlxcZjA1NVwifS5mYS1taW51cy1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNTZcIn0uZmEtdGltZXMtY2lyY2xlOmJlZm9yZXtjb250ZW50OlwiXFxmMDU3XCJ9LmZhLWNoZWNrLWNpcmNsZTpiZWZvcmV7Y29udGVudDpcIlxcZjA1OFwifS5mYS1xdWVzdGlvbi1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNTlcIn0uZmEtaW5mby1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNWFcIn0uZmEtY3Jvc3NoYWlyczpiZWZvcmV7Y29udGVudDpcIlxcZjA1YlwifS5mYS10aW1lcy1jaXJjbGUtbzpiZWZvcmV7Y29udGVudDpcIlxcZjA1Y1wifS5mYS1jaGVjay1jaXJjbGUtbzpiZWZvcmV7Y29udGVudDpcIlxcZjA1ZFwifS5mYS1iYW46YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNWVcIn0uZmEtYXJyb3ctbGVmdDpiZWZvcmV7Y29udGVudDpcIlxcZjA2MFwifS5mYS1hcnJvdy1yaWdodDpiZWZvcmV7Y29udGVudDpcIlxcZjA2MVwifS5mYS1hcnJvdy11cDpiZWZvcmV7Y29udGVudDpcIlxcZjA2MlwifS5mYS1hcnJvdy1kb3duOmJlZm9yZXtjb250ZW50OlwiXFxmMDYzXCJ9LmZhLW1haWwtZm9yd2FyZDpiZWZvcmUsLmZhLXNoYXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMDY0XCJ9LmZhLWV4cGFuZDpiZWZvcmV7Y29udGVudDpcIlxcZjA2NVwifS5mYS1jb21wcmVzczpiZWZvcmV7Y29udGVudDpcIlxcZjA2NlwifS5mYS1wbHVzOmJlZm9yZXtjb250ZW50OlwiXFxmMDY3XCJ9LmZhLW1pbnVzOmJlZm9yZXtjb250ZW50OlwiXFxmMDY4XCJ9LmZhLWFzdGVyaXNrOmJlZm9yZXtjb250ZW50OlwiXFxmMDY5XCJ9LmZhLWV4Y2xhbWF0aW9uLWNpcmNsZTpiZWZvcmV7Y29udGVudDpcIlxcZjA2YVwifS5mYS1naWZ0OmJlZm9yZXtjb250ZW50OlwiXFxmMDZiXCJ9LmZhLWxlYWY6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNmNcIn0uZmEtZmlyZTpiZWZvcmV7Y29udGVudDpcIlxcZjA2ZFwifS5mYS1leWU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNmVcIn0uZmEtZXllLXNsYXNoOmJlZm9yZXtjb250ZW50OlwiXFxmMDcwXCJ9LmZhLXdhcm5pbmc6YmVmb3JlLC5mYS1leGNsYW1hdGlvbi10cmlhbmdsZTpiZWZvcmV7Y29udGVudDpcIlxcZjA3MVwifS5mYS1wbGFuZTpiZWZvcmV7Y29udGVudDpcIlxcZjA3MlwifS5mYS1jYWxlbmRhcjpiZWZvcmV7Y29udGVudDpcIlxcZjA3M1wifS5mYS1yYW5kb206YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNzRcIn0uZmEtY29tbWVudDpiZWZvcmV7Y29udGVudDpcIlxcZjA3NVwifS5mYS1tYWduZXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNzZcIn0uZmEtY2hldnJvbi11cDpiZWZvcmV7Y29udGVudDpcIlxcZjA3N1wifS5mYS1jaGV2cm9uLWRvd246YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNzhcIn0uZmEtcmV0d2VldDpiZWZvcmV7Y29udGVudDpcIlxcZjA3OVwifS5mYS1zaG9wcGluZy1jYXJ0OmJlZm9yZXtjb250ZW50OlwiXFxmMDdhXCJ9LmZhLWZvbGRlcjpiZWZvcmV7Y29udGVudDpcIlxcZjA3YlwifS5mYS1mb2xkZXItb3BlbjpiZWZvcmV7Y29udGVudDpcIlxcZjA3Y1wifS5mYS1hcnJvd3MtdjpiZWZvcmV7Y29udGVudDpcIlxcZjA3ZFwifS5mYS1hcnJvd3MtaDpiZWZvcmV7Y29udGVudDpcIlxcZjA3ZVwifS5mYS1iYXItY2hhcnQtbzpiZWZvcmUsLmZhLWJhci1jaGFydDpiZWZvcmV7Y29udGVudDpcIlxcZjA4MFwifS5mYS10d2l0dGVyLXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZjA4MVwifS5mYS1mYWNlYm9vay1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwODJcIn0uZmEtY2FtZXJhLXJldHJvOmJlZm9yZXtjb250ZW50OlwiXFxmMDgzXCJ9LmZhLWtleTpiZWZvcmV7Y29udGVudDpcIlxcZjA4NFwifS5mYS1nZWFyczpiZWZvcmUsLmZhLWNvZ3M6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwODVcIn0uZmEtY29tbWVudHM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwODZcIn0uZmEtdGh1bWJzLW8tdXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwODdcIn0uZmEtdGh1bWJzLW8tZG93bjpiZWZvcmV7Y29udGVudDpcIlxcZjA4OFwifS5mYS1zdGFyLWhhbGY6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwODlcIn0uZmEtaGVhcnQtbzpiZWZvcmV7Y29udGVudDpcIlxcZjA4YVwifS5mYS1zaWduLW91dDpiZWZvcmV7Y29udGVudDpcIlxcZjA4YlwifS5mYS1saW5rZWRpbi1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwOGNcIn0uZmEtdGh1bWItdGFjazpiZWZvcmV7Y29udGVudDpcIlxcZjA4ZFwifS5mYS1leHRlcm5hbC1saW5rOmJlZm9yZXtjb250ZW50OlwiXFxmMDhlXCJ9LmZhLXNpZ24taW46YmVmb3Jle2NvbnRlbnQ6XCJcXGYwOTBcIn0uZmEtdHJvcGh5OmJlZm9yZXtjb250ZW50OlwiXFxmMDkxXCJ9LmZhLWdpdGh1Yi1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwOTJcIn0uZmEtdXBsb2FkOmJlZm9yZXtjb250ZW50OlwiXFxmMDkzXCJ9LmZhLWxlbW9uLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYwOTRcIn0uZmEtcGhvbmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwOTVcIn0uZmEtc3F1YXJlLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYwOTZcIn0uZmEtYm9va21hcmstbzpiZWZvcmV7Y29udGVudDpcIlxcZjA5N1wifS5mYS1waG9uZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwOThcIn0uZmEtdHdpdHRlcjpiZWZvcmV7Y29udGVudDpcIlxcZjA5OVwifS5mYS1mYWNlYm9vay1mOmJlZm9yZSwuZmEtZmFjZWJvb2s6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwOWFcIn0uZmEtZ2l0aHViOmJlZm9yZXtjb250ZW50OlwiXFxmMDliXCJ9LmZhLXVubG9jazpiZWZvcmV7Y29udGVudDpcIlxcZjA5Y1wifS5mYS1jcmVkaXQtY2FyZDpiZWZvcmV7Y29udGVudDpcIlxcZjA5ZFwifS5mYS1mZWVkOmJlZm9yZSwuZmEtcnNzOmJlZm9yZXtjb250ZW50OlwiXFxmMDllXCJ9LmZhLWhkZC1vOmJlZm9yZXtjb250ZW50OlwiXFxmMGEwXCJ9LmZhLWJ1bGxob3JuOmJlZm9yZXtjb250ZW50OlwiXFxmMGExXCJ9LmZhLWJlbGw6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZjNcIn0uZmEtY2VydGlmaWNhdGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwYTNcIn0uZmEtaGFuZC1vLXJpZ2h0OmJlZm9yZXtjb250ZW50OlwiXFxmMGE0XCJ9LmZhLWhhbmQtby1sZWZ0OmJlZm9yZXtjb250ZW50OlwiXFxmMGE1XCJ9LmZhLWhhbmQtby11cDpiZWZvcmV7Y29udGVudDpcIlxcZjBhNlwifS5mYS1oYW5kLW8tZG93bjpiZWZvcmV7Y29udGVudDpcIlxcZjBhN1wifS5mYS1hcnJvdy1jaXJjbGUtbGVmdDpiZWZvcmV7Y29udGVudDpcIlxcZjBhOFwifS5mYS1hcnJvdy1jaXJjbGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwYTlcIn0uZmEtYXJyb3ctY2lyY2xlLXVwOmJlZm9yZXtjb250ZW50OlwiXFxmMGFhXCJ9LmZhLWFycm93LWNpcmNsZS1kb3duOmJlZm9yZXtjb250ZW50OlwiXFxmMGFiXCJ9LmZhLWdsb2JlOmJlZm9yZXtjb250ZW50OlwiXFxmMGFjXCJ9LmZhLXdyZW5jaDpiZWZvcmV7Y29udGVudDpcIlxcZjBhZFwifS5mYS10YXNrczpiZWZvcmV7Y29udGVudDpcIlxcZjBhZVwifS5mYS1maWx0ZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwYjBcIn0uZmEtYnJpZWZjYXNlOmJlZm9yZXtjb250ZW50OlwiXFxmMGIxXCJ9LmZhLWFycm93cy1hbHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwYjJcIn0uZmEtZ3JvdXA6YmVmb3JlLC5mYS11c2VyczpiZWZvcmV7Y29udGVudDpcIlxcZjBjMFwifS5mYS1jaGFpbjpiZWZvcmUsLmZhLWxpbms6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwYzFcIn0uZmEtY2xvdWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwYzJcIn0uZmEtZmxhc2s6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwYzNcIn0uZmEtY3V0OmJlZm9yZSwuZmEtc2Npc3NvcnM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwYzRcIn0uZmEtY29weTpiZWZvcmUsLmZhLWZpbGVzLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYwYzVcIn0uZmEtcGFwZXJjbGlwOmJlZm9yZXtjb250ZW50OlwiXFxmMGM2XCJ9LmZhLXNhdmU6YmVmb3JlLC5mYS1mbG9wcHktbzpiZWZvcmV7Y29udGVudDpcIlxcZjBjN1wifS5mYS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwYzhcIn0uZmEtbmF2aWNvbjpiZWZvcmUsLmZhLXJlb3JkZXI6YmVmb3JlLC5mYS1iYXJzOmJlZm9yZXtjb250ZW50OlwiXFxmMGM5XCJ9LmZhLWxpc3QtdWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwY2FcIn0uZmEtbGlzdC1vbDpiZWZvcmV7Y29udGVudDpcIlxcZjBjYlwifS5mYS1zdHJpa2V0aHJvdWdoOmJlZm9yZXtjb250ZW50OlwiXFxmMGNjXCJ9LmZhLXVuZGVybGluZTpiZWZvcmV7Y29udGVudDpcIlxcZjBjZFwifS5mYS10YWJsZTpiZWZvcmV7Y29udGVudDpcIlxcZjBjZVwifS5mYS1tYWdpYzpiZWZvcmV7Y29udGVudDpcIlxcZjBkMFwifS5mYS10cnVjazpiZWZvcmV7Y29udGVudDpcIlxcZjBkMVwifS5mYS1waW50ZXJlc3Q6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZDJcIn0uZmEtcGludGVyZXN0LXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZjBkM1wifS5mYS1nb29nbGUtcGx1cy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZDRcIn0uZmEtZ29vZ2xlLXBsdXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZDVcIn0uZmEtbW9uZXk6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZDZcIn0uZmEtY2FyZXQtZG93bjpiZWZvcmV7Y29udGVudDpcIlxcZjBkN1wifS5mYS1jYXJldC11cDpiZWZvcmV7Y29udGVudDpcIlxcZjBkOFwifS5mYS1jYXJldC1sZWZ0OmJlZm9yZXtjb250ZW50OlwiXFxmMGQ5XCJ9LmZhLWNhcmV0LXJpZ2h0OmJlZm9yZXtjb250ZW50OlwiXFxmMGRhXCJ9LmZhLWNvbHVtbnM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZGJcIn0uZmEtdW5zb3J0ZWQ6YmVmb3JlLC5mYS1zb3J0OmJlZm9yZXtjb250ZW50OlwiXFxmMGRjXCJ9LmZhLXNvcnQtZG93bjpiZWZvcmUsLmZhLXNvcnQtZGVzYzpiZWZvcmV7Y29udGVudDpcIlxcZjBkZFwifS5mYS1zb3J0LXVwOmJlZm9yZSwuZmEtc29ydC1hc2M6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZGVcIn0uZmEtZW52ZWxvcGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZTBcIn0uZmEtbGlua2VkaW46YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZTFcIn0uZmEtcm90YXRlLWxlZnQ6YmVmb3JlLC5mYS11bmRvOmJlZm9yZXtjb250ZW50OlwiXFxmMGUyXCJ9LmZhLWxlZ2FsOmJlZm9yZSwuZmEtZ2F2ZWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZTNcIn0uZmEtZGFzaGJvYXJkOmJlZm9yZSwuZmEtdGFjaG9tZXRlcjpiZWZvcmV7Y29udGVudDpcIlxcZjBlNFwifS5mYS1jb21tZW50LW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZTVcIn0uZmEtY29tbWVudHMtbzpiZWZvcmV7Y29udGVudDpcIlxcZjBlNlwifS5mYS1mbGFzaDpiZWZvcmUsLmZhLWJvbHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZTdcIn0uZmEtc2l0ZW1hcDpiZWZvcmV7Y29udGVudDpcIlxcZjBlOFwifS5mYS11bWJyZWxsYTpiZWZvcmV7Y29udGVudDpcIlxcZjBlOVwifS5mYS1wYXN0ZTpiZWZvcmUsLmZhLWNsaXBib2FyZDpiZWZvcmV7Y29udGVudDpcIlxcZjBlYVwifS5mYS1saWdodGJ1bGItbzpiZWZvcmV7Y29udGVudDpcIlxcZjBlYlwifS5mYS1leGNoYW5nZTpiZWZvcmV7Y29udGVudDpcIlxcZjBlY1wifS5mYS1jbG91ZC1kb3dubG9hZDpiZWZvcmV7Y29udGVudDpcIlxcZjBlZFwifS5mYS1jbG91ZC11cGxvYWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZWVcIn0uZmEtdXNlci1tZDpiZWZvcmV7Y29udGVudDpcIlxcZjBmMFwifS5mYS1zdGV0aG9zY29wZTpiZWZvcmV7Y29udGVudDpcIlxcZjBmMVwifS5mYS1zdWl0Y2FzZTpiZWZvcmV7Y29udGVudDpcIlxcZjBmMlwifS5mYS1iZWxsLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYwYTJcIn0uZmEtY29mZmVlOmJlZm9yZXtjb250ZW50OlwiXFxmMGY0XCJ9LmZhLWN1dGxlcnk6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZjVcIn0uZmEtZmlsZS10ZXh0LW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZjZcIn0uZmEtYnVpbGRpbmctbzpiZWZvcmV7Y29udGVudDpcIlxcZjBmN1wifS5mYS1ob3NwaXRhbC1vOmJlZm9yZXtjb250ZW50OlwiXFxmMGY4XCJ9LmZhLWFtYnVsYW5jZTpiZWZvcmV7Y29udGVudDpcIlxcZjBmOVwifS5mYS1tZWRraXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZmFcIn0uZmEtZmlnaHRlci1qZXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZmJcIn0uZmEtYmVlcjpiZWZvcmV7Y29udGVudDpcIlxcZjBmY1wifS5mYS1oLXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZjBmZFwifS5mYS1wbHVzLXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZjBmZVwifS5mYS1hbmdsZS1kb3VibGUtbGVmdDpiZWZvcmV7Y29udGVudDpcIlxcZjEwMFwifS5mYS1hbmdsZS1kb3VibGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMDFcIn0uZmEtYW5nbGUtZG91YmxlLXVwOmJlZm9yZXtjb250ZW50OlwiXFxmMTAyXCJ9LmZhLWFuZ2xlLWRvdWJsZS1kb3duOmJlZm9yZXtjb250ZW50OlwiXFxmMTAzXCJ9LmZhLWFuZ2xlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMDRcIn0uZmEtYW5nbGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMDVcIn0uZmEtYW5nbGUtdXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMDZcIn0uZmEtYW5nbGUtZG93bjpiZWZvcmV7Y29udGVudDpcIlxcZjEwN1wifS5mYS1kZXNrdG9wOmJlZm9yZXtjb250ZW50OlwiXFxmMTA4XCJ9LmZhLWxhcHRvcDpiZWZvcmV7Y29udGVudDpcIlxcZjEwOVwifS5mYS10YWJsZXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMGFcIn0uZmEtbW9iaWxlLXBob25lOmJlZm9yZSwuZmEtbW9iaWxlOmJlZm9yZXtjb250ZW50OlwiXFxmMTBiXCJ9LmZhLWNpcmNsZS1vOmJlZm9yZXtjb250ZW50OlwiXFxmMTBjXCJ9LmZhLXF1b3RlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMGRcIn0uZmEtcXVvdGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMGVcIn0uZmEtc3Bpbm5lcjpiZWZvcmV7Y29udGVudDpcIlxcZjExMFwifS5mYS1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMTFcIn0uZmEtbWFpbC1yZXBseTpiZWZvcmUsLmZhLXJlcGx5OmJlZm9yZXtjb250ZW50OlwiXFxmMTEyXCJ9LmZhLWdpdGh1Yi1hbHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMTNcIn0uZmEtZm9sZGVyLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMTRcIn0uZmEtZm9sZGVyLW9wZW4tbzpiZWZvcmV7Y29udGVudDpcIlxcZjExNVwifS5mYS1zbWlsZS1vOmJlZm9yZXtjb250ZW50OlwiXFxmMTE4XCJ9LmZhLWZyb3duLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMTlcIn0uZmEtbWVoLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMWFcIn0uZmEtZ2FtZXBhZDpiZWZvcmV7Y29udGVudDpcIlxcZjExYlwifS5mYS1rZXlib2FyZC1vOmJlZm9yZXtjb250ZW50OlwiXFxmMTFjXCJ9LmZhLWZsYWctbzpiZWZvcmV7Y29udGVudDpcIlxcZjExZFwifS5mYS1mbGFnLWNoZWNrZXJlZDpiZWZvcmV7Y29udGVudDpcIlxcZjExZVwifS5mYS10ZXJtaW5hbDpiZWZvcmV7Y29udGVudDpcIlxcZjEyMFwifS5mYS1jb2RlOmJlZm9yZXtjb250ZW50OlwiXFxmMTIxXCJ9LmZhLW1haWwtcmVwbHktYWxsOmJlZm9yZSwuZmEtcmVwbHktYWxsOmJlZm9yZXtjb250ZW50OlwiXFxmMTIyXCJ9LmZhLXN0YXItaGFsZi1lbXB0eTpiZWZvcmUsLmZhLXN0YXItaGFsZi1mdWxsOmJlZm9yZSwuZmEtc3Rhci1oYWxmLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMjNcIn0uZmEtbG9jYXRpb24tYXJyb3c6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMjRcIn0uZmEtY3JvcDpiZWZvcmV7Y29udGVudDpcIlxcZjEyNVwifS5mYS1jb2RlLWZvcms6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMjZcIn0uZmEtdW5saW5rOmJlZm9yZSwuZmEtY2hhaW4tYnJva2VuOmJlZm9yZXtjb250ZW50OlwiXFxmMTI3XCJ9LmZhLXF1ZXN0aW9uOmJlZm9yZXtjb250ZW50OlwiXFxmMTI4XCJ9LmZhLWluZm86YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMjlcIn0uZmEtZXhjbGFtYXRpb246YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMmFcIn0uZmEtc3VwZXJzY3JpcHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMmJcIn0uZmEtc3Vic2NyaXB0OmJlZm9yZXtjb250ZW50OlwiXFxmMTJjXCJ9LmZhLWVyYXNlcjpiZWZvcmV7Y29udGVudDpcIlxcZjEyZFwifS5mYS1wdXp6bGUtcGllY2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMmVcIn0uZmEtbWljcm9waG9uZTpiZWZvcmV7Y29udGVudDpcIlxcZjEzMFwifS5mYS1taWNyb3Bob25lLXNsYXNoOmJlZm9yZXtjb250ZW50OlwiXFxmMTMxXCJ9LmZhLXNoaWVsZDpiZWZvcmV7Y29udGVudDpcIlxcZjEzMlwifS5mYS1jYWxlbmRhci1vOmJlZm9yZXtjb250ZW50OlwiXFxmMTMzXCJ9LmZhLWZpcmUtZXh0aW5ndWlzaGVyOmJlZm9yZXtjb250ZW50OlwiXFxmMTM0XCJ9LmZhLXJvY2tldDpiZWZvcmV7Y29udGVudDpcIlxcZjEzNVwifS5mYS1tYXhjZG46YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMzZcIn0uZmEtY2hldnJvbi1jaXJjbGUtbGVmdDpiZWZvcmV7Y29udGVudDpcIlxcZjEzN1wifS5mYS1jaGV2cm9uLWNpcmNsZS1yaWdodDpiZWZvcmV7Y29udGVudDpcIlxcZjEzOFwifS5mYS1jaGV2cm9uLWNpcmNsZS11cDpiZWZvcmV7Y29udGVudDpcIlxcZjEzOVwifS5mYS1jaGV2cm9uLWNpcmNsZS1kb3duOmJlZm9yZXtjb250ZW50OlwiXFxmMTNhXCJ9LmZhLWh0bWw1OmJlZm9yZXtjb250ZW50OlwiXFxmMTNiXCJ9LmZhLWNzczM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxM2NcIn0uZmEtYW5jaG9yOmJlZm9yZXtjb250ZW50OlwiXFxmMTNkXCJ9LmZhLXVubG9jay1hbHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxM2VcIn0uZmEtYnVsbHNleWU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNDBcIn0uZmEtZWxsaXBzaXMtaDpiZWZvcmV7Y29udGVudDpcIlxcZjE0MVwifS5mYS1lbGxpcHNpcy12OmJlZm9yZXtjb250ZW50OlwiXFxmMTQyXCJ9LmZhLXJzcy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNDNcIn0uZmEtcGxheS1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNDRcIn0uZmEtdGlja2V0OmJlZm9yZXtjb250ZW50OlwiXFxmMTQ1XCJ9LmZhLW1pbnVzLXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZjE0NlwifS5mYS1taW51cy1zcXVhcmUtbzpiZWZvcmV7Y29udGVudDpcIlxcZjE0N1wifS5mYS1sZXZlbC11cDpiZWZvcmV7Y29udGVudDpcIlxcZjE0OFwifS5mYS1sZXZlbC1kb3duOmJlZm9yZXtjb250ZW50OlwiXFxmMTQ5XCJ9LmZhLWNoZWNrLXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZjE0YVwifS5mYS1wZW5jaWwtc3F1YXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMTRiXCJ9LmZhLWV4dGVybmFsLWxpbmstc3F1YXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMTRjXCJ9LmZhLXNoYXJlLXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZjE0ZFwifS5mYS1jb21wYXNzOmJlZm9yZXtjb250ZW50OlwiXFxmMTRlXCJ9LmZhLXRvZ2dsZS1kb3duOmJlZm9yZSwuZmEtY2FyZXQtc3F1YXJlLW8tZG93bjpiZWZvcmV7Y29udGVudDpcIlxcZjE1MFwifS5mYS10b2dnbGUtdXA6YmVmb3JlLC5mYS1jYXJldC1zcXVhcmUtby11cDpiZWZvcmV7Y29udGVudDpcIlxcZjE1MVwifS5mYS10b2dnbGUtcmlnaHQ6YmVmb3JlLC5mYS1jYXJldC1zcXVhcmUtby1yaWdodDpiZWZvcmV7Y29udGVudDpcIlxcZjE1MlwifS5mYS1ldXJvOmJlZm9yZSwuZmEtZXVyOmJlZm9yZXtjb250ZW50OlwiXFxmMTUzXCJ9LmZhLWdicDpiZWZvcmV7Y29udGVudDpcIlxcZjE1NFwifS5mYS1kb2xsYXI6YmVmb3JlLC5mYS11c2Q6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNTVcIn0uZmEtcnVwZWU6YmVmb3JlLC5mYS1pbnI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNTZcIn0uZmEtY255OmJlZm9yZSwuZmEtcm1iOmJlZm9yZSwuZmEteWVuOmJlZm9yZSwuZmEtanB5OmJlZm9yZXtjb250ZW50OlwiXFxmMTU3XCJ9LmZhLXJ1YmxlOmJlZm9yZSwuZmEtcm91YmxlOmJlZm9yZSwuZmEtcnViOmJlZm9yZXtjb250ZW50OlwiXFxmMTU4XCJ9LmZhLXdvbjpiZWZvcmUsLmZhLWtydzpiZWZvcmV7Y29udGVudDpcIlxcZjE1OVwifS5mYS1iaXRjb2luOmJlZm9yZSwuZmEtYnRjOmJlZm9yZXtjb250ZW50OlwiXFxmMTVhXCJ9LmZhLWZpbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNWJcIn0uZmEtZmlsZS10ZXh0OmJlZm9yZXtjb250ZW50OlwiXFxmMTVjXCJ9LmZhLXNvcnQtYWxwaGEtYXNjOmJlZm9yZXtjb250ZW50OlwiXFxmMTVkXCJ9LmZhLXNvcnQtYWxwaGEtZGVzYzpiZWZvcmV7Y29udGVudDpcIlxcZjE1ZVwifS5mYS1zb3J0LWFtb3VudC1hc2M6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNjBcIn0uZmEtc29ydC1hbW91bnQtZGVzYzpiZWZvcmV7Y29udGVudDpcIlxcZjE2MVwifS5mYS1zb3J0LW51bWVyaWMtYXNjOmJlZm9yZXtjb250ZW50OlwiXFxmMTYyXCJ9LmZhLXNvcnQtbnVtZXJpYy1kZXNjOmJlZm9yZXtjb250ZW50OlwiXFxmMTYzXCJ9LmZhLXRodW1icy11cDpiZWZvcmV7Y29udGVudDpcIlxcZjE2NFwifS5mYS10aHVtYnMtZG93bjpiZWZvcmV7Y29udGVudDpcIlxcZjE2NVwifS5mYS15b3V0dWJlLXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZjE2NlwifS5mYS15b3V0dWJlOmJlZm9yZXtjb250ZW50OlwiXFxmMTY3XCJ9LmZhLXhpbmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNjhcIn0uZmEteGluZy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNjlcIn0uZmEteW91dHViZS1wbGF5OmJlZm9yZXtjb250ZW50OlwiXFxmMTZhXCJ9LmZhLWRyb3Bib3g6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNmJcIn0uZmEtc3RhY2stb3ZlcmZsb3c6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNmNcIn0uZmEtaW5zdGFncmFtOmJlZm9yZXtjb250ZW50OlwiXFxmMTZkXCJ9LmZhLWZsaWNrcjpiZWZvcmV7Y29udGVudDpcIlxcZjE2ZVwifS5mYS1hZG46YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNzBcIn0uZmEtYml0YnVja2V0OmJlZm9yZXtjb250ZW50OlwiXFxmMTcxXCJ9LmZhLWJpdGJ1Y2tldC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNzJcIn0uZmEtdHVtYmxyOmJlZm9yZXtjb250ZW50OlwiXFxmMTczXCJ9LmZhLXR1bWJsci1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNzRcIn0uZmEtbG9uZy1hcnJvdy1kb3duOmJlZm9yZXtjb250ZW50OlwiXFxmMTc1XCJ9LmZhLWxvbmctYXJyb3ctdXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNzZcIn0uZmEtbG9uZy1hcnJvdy1sZWZ0OmJlZm9yZXtjb250ZW50OlwiXFxmMTc3XCJ9LmZhLWxvbmctYXJyb3ctcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNzhcIn0uZmEtYXBwbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNzlcIn0uZmEtd2luZG93czpiZWZvcmV7Y29udGVudDpcIlxcZjE3YVwifS5mYS1hbmRyb2lkOmJlZm9yZXtjb250ZW50OlwiXFxmMTdiXCJ9LmZhLWxpbnV4OmJlZm9yZXtjb250ZW50OlwiXFxmMTdjXCJ9LmZhLWRyaWJiYmxlOmJlZm9yZXtjb250ZW50OlwiXFxmMTdkXCJ9LmZhLXNreXBlOmJlZm9yZXtjb250ZW50OlwiXFxmMTdlXCJ9LmZhLWZvdXJzcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxODBcIn0uZmEtdHJlbGxvOmJlZm9yZXtjb250ZW50OlwiXFxmMTgxXCJ9LmZhLWZlbWFsZTpiZWZvcmV7Y29udGVudDpcIlxcZjE4MlwifS5mYS1tYWxlOmJlZm9yZXtjb250ZW50OlwiXFxmMTgzXCJ9LmZhLWdpdHRpcDpiZWZvcmUsLmZhLWdyYXRpcGF5OmJlZm9yZXtjb250ZW50OlwiXFxmMTg0XCJ9LmZhLXN1bi1vOmJlZm9yZXtjb250ZW50OlwiXFxmMTg1XCJ9LmZhLW1vb24tbzpiZWZvcmV7Y29udGVudDpcIlxcZjE4NlwifS5mYS1hcmNoaXZlOmJlZm9yZXtjb250ZW50OlwiXFxmMTg3XCJ9LmZhLWJ1ZzpiZWZvcmV7Y29udGVudDpcIlxcZjE4OFwifS5mYS12azpiZWZvcmV7Y29udGVudDpcIlxcZjE4OVwifS5mYS13ZWlibzpiZWZvcmV7Y29udGVudDpcIlxcZjE4YVwifS5mYS1yZW5yZW46YmVmb3Jle2NvbnRlbnQ6XCJcXGYxOGJcIn0uZmEtcGFnZWxpbmVzOmJlZm9yZXtjb250ZW50OlwiXFxmMThjXCJ9LmZhLXN0YWNrLWV4Y2hhbmdlOmJlZm9yZXtjb250ZW50OlwiXFxmMThkXCJ9LmZhLWFycm93LWNpcmNsZS1vLXJpZ2h0OmJlZm9yZXtjb250ZW50OlwiXFxmMThlXCJ9LmZhLWFycm93LWNpcmNsZS1vLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxOTBcIn0uZmEtdG9nZ2xlLWxlZnQ6YmVmb3JlLC5mYS1jYXJldC1zcXVhcmUtby1sZWZ0OmJlZm9yZXtjb250ZW50OlwiXFxmMTkxXCJ9LmZhLWRvdC1jaXJjbGUtbzpiZWZvcmV7Y29udGVudDpcIlxcZjE5MlwifS5mYS13aGVlbGNoYWlyOmJlZm9yZXtjb250ZW50OlwiXFxmMTkzXCJ9LmZhLXZpbWVvLXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZjE5NFwifS5mYS10dXJraXNoLWxpcmE6YmVmb3JlLC5mYS10cnk6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxOTVcIn0uZmEtcGx1cy1zcXVhcmUtbzpiZWZvcmV7Y29udGVudDpcIlxcZjE5NlwifS5mYS1zcGFjZS1zaHV0dGxlOmJlZm9yZXtjb250ZW50OlwiXFxmMTk3XCJ9LmZhLXNsYWNrOmJlZm9yZXtjb250ZW50OlwiXFxmMTk4XCJ9LmZhLWVudmVsb3BlLXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZjE5OVwifS5mYS13b3JkcHJlc3M6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxOWFcIn0uZmEtb3BlbmlkOmJlZm9yZXtjb250ZW50OlwiXFxmMTliXCJ9LmZhLWluc3RpdHV0aW9uOmJlZm9yZSwuZmEtYmFuazpiZWZvcmUsLmZhLXVuaXZlcnNpdHk6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxOWNcIn0uZmEtbW9ydGFyLWJvYXJkOmJlZm9yZSwuZmEtZ3JhZHVhdGlvbi1jYXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxOWRcIn0uZmEteWFob286YmVmb3Jle2NvbnRlbnQ6XCJcXGYxOWVcIn0uZmEtZ29vZ2xlOmJlZm9yZXtjb250ZW50OlwiXFxmMWEwXCJ9LmZhLXJlZGRpdDpiZWZvcmV7Y29udGVudDpcIlxcZjFhMVwifS5mYS1yZWRkaXQtc3F1YXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMWEyXCJ9LmZhLXN0dW1ibGV1cG9uLWNpcmNsZTpiZWZvcmV7Y29udGVudDpcIlxcZjFhM1wifS5mYS1zdHVtYmxldXBvbjpiZWZvcmV7Y29udGVudDpcIlxcZjFhNFwifS5mYS1kZWxpY2lvdXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYTVcIn0uZmEtZGlnZzpiZWZvcmV7Y29udGVudDpcIlxcZjFhNlwifS5mYS1waWVkLXBpcGVyLXBwOmJlZm9yZXtjb250ZW50OlwiXFxmMWE3XCJ9LmZhLXBpZWQtcGlwZXItYWx0OmJlZm9yZXtjb250ZW50OlwiXFxmMWE4XCJ9LmZhLWRydXBhbDpiZWZvcmV7Y29udGVudDpcIlxcZjFhOVwifS5mYS1qb29tbGE6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYWFcIn0uZmEtbGFuZ3VhZ2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYWJcIn0uZmEtZmF4OmJlZm9yZXtjb250ZW50OlwiXFxmMWFjXCJ9LmZhLWJ1aWxkaW5nOmJlZm9yZXtjb250ZW50OlwiXFxmMWFkXCJ9LmZhLWNoaWxkOmJlZm9yZXtjb250ZW50OlwiXFxmMWFlXCJ9LmZhLXBhdzpiZWZvcmV7Y29udGVudDpcIlxcZjFiMFwifS5mYS1zcG9vbjpiZWZvcmV7Y29udGVudDpcIlxcZjFiMVwifS5mYS1jdWJlOmJlZm9yZXtjb250ZW50OlwiXFxmMWIyXCJ9LmZhLWN1YmVzOmJlZm9yZXtjb250ZW50OlwiXFxmMWIzXCJ9LmZhLWJlaGFuY2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYjRcIn0uZmEtYmVoYW5jZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYjVcIn0uZmEtc3RlYW06YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYjZcIn0uZmEtc3RlYW0tc3F1YXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMWI3XCJ9LmZhLXJlY3ljbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYjhcIn0uZmEtYXV0b21vYmlsZTpiZWZvcmUsLmZhLWNhcjpiZWZvcmV7Y29udGVudDpcIlxcZjFiOVwifS5mYS1jYWI6YmVmb3JlLC5mYS10YXhpOmJlZm9yZXtjb250ZW50OlwiXFxmMWJhXCJ9LmZhLXRyZWU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYmJcIn0uZmEtc3BvdGlmeTpiZWZvcmV7Y29udGVudDpcIlxcZjFiY1wifS5mYS1kZXZpYW50YXJ0OmJlZm9yZXtjb250ZW50OlwiXFxmMWJkXCJ9LmZhLXNvdW5kY2xvdWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYmVcIn0uZmEtZGF0YWJhc2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYzBcIn0uZmEtZmlsZS1wZGYtbzpiZWZvcmV7Y29udGVudDpcIlxcZjFjMVwifS5mYS1maWxlLXdvcmQtbzpiZWZvcmV7Y29udGVudDpcIlxcZjFjMlwifS5mYS1maWxlLWV4Y2VsLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYzNcIn0uZmEtZmlsZS1wb3dlcnBvaW50LW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYzRcIn0uZmEtZmlsZS1waG90by1vOmJlZm9yZSwuZmEtZmlsZS1waWN0dXJlLW86YmVmb3JlLC5mYS1maWxlLWltYWdlLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYzVcIn0uZmEtZmlsZS16aXAtbzpiZWZvcmUsLmZhLWZpbGUtYXJjaGl2ZS1vOmJlZm9yZXtjb250ZW50OlwiXFxmMWM2XCJ9LmZhLWZpbGUtc291bmQtbzpiZWZvcmUsLmZhLWZpbGUtYXVkaW8tbzpiZWZvcmV7Y29udGVudDpcIlxcZjFjN1wifS5mYS1maWxlLW1vdmllLW86YmVmb3JlLC5mYS1maWxlLXZpZGVvLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYzhcIn0uZmEtZmlsZS1jb2RlLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYzlcIn0uZmEtdmluZTpiZWZvcmV7Y29udGVudDpcIlxcZjFjYVwifS5mYS1jb2RlcGVuOmJlZm9yZXtjb250ZW50OlwiXFxmMWNiXCJ9LmZhLWpzZmlkZGxlOmJlZm9yZXtjb250ZW50OlwiXFxmMWNjXCJ9LmZhLWxpZmUtYm91eTpiZWZvcmUsLmZhLWxpZmUtYnVveTpiZWZvcmUsLmZhLWxpZmUtc2F2ZXI6YmVmb3JlLC5mYS1zdXBwb3J0OmJlZm9yZSwuZmEtbGlmZS1yaW5nOmJlZm9yZXtjb250ZW50OlwiXFxmMWNkXCJ9LmZhLWNpcmNsZS1vLW5vdGNoOmJlZm9yZXtjb250ZW50OlwiXFxmMWNlXCJ9LmZhLXJhOmJlZm9yZSwuZmEtcmVzaXN0YW5jZTpiZWZvcmUsLmZhLXJlYmVsOmJlZm9yZXtjb250ZW50OlwiXFxmMWQwXCJ9LmZhLWdlOmJlZm9yZSwuZmEtZW1waXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMWQxXCJ9LmZhLWdpdC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZDJcIn0uZmEtZ2l0OmJlZm9yZXtjb250ZW50OlwiXFxmMWQzXCJ9LmZhLXktY29tYmluYXRvci1zcXVhcmU6YmVmb3JlLC5mYS15Yy1zcXVhcmU6YmVmb3JlLC5mYS1oYWNrZXItbmV3czpiZWZvcmV7Y29udGVudDpcIlxcZjFkNFwifS5mYS10ZW5jZW50LXdlaWJvOmJlZm9yZXtjb250ZW50OlwiXFxmMWQ1XCJ9LmZhLXFxOmJlZm9yZXtjb250ZW50OlwiXFxmMWQ2XCJ9LmZhLXdlY2hhdDpiZWZvcmUsLmZhLXdlaXhpbjpiZWZvcmV7Y29udGVudDpcIlxcZjFkN1wifS5mYS1zZW5kOmJlZm9yZSwuZmEtcGFwZXItcGxhbmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZDhcIn0uZmEtc2VuZC1vOmJlZm9yZSwuZmEtcGFwZXItcGxhbmUtbzpiZWZvcmV7Y29udGVudDpcIlxcZjFkOVwifS5mYS1oaXN0b3J5OmJlZm9yZXtjb250ZW50OlwiXFxmMWRhXCJ9LmZhLWNpcmNsZS10aGluOmJlZm9yZXtjb250ZW50OlwiXFxmMWRiXCJ9LmZhLWhlYWRlcjpiZWZvcmV7Y29udGVudDpcIlxcZjFkY1wifS5mYS1wYXJhZ3JhcGg6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZGRcIn0uZmEtc2xpZGVyczpiZWZvcmV7Y29udGVudDpcIlxcZjFkZVwifS5mYS1zaGFyZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZTBcIn0uZmEtc2hhcmUtYWx0LXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZjFlMVwifS5mYS1ib21iOmJlZm9yZXtjb250ZW50OlwiXFxmMWUyXCJ9LmZhLXNvY2Nlci1iYWxsLW86YmVmb3JlLC5mYS1mdXRib2wtbzpiZWZvcmV7Y29udGVudDpcIlxcZjFlM1wifS5mYS10dHk6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZTRcIn0uZmEtYmlub2N1bGFyczpiZWZvcmV7Y29udGVudDpcIlxcZjFlNVwifS5mYS1wbHVnOmJlZm9yZXtjb250ZW50OlwiXFxmMWU2XCJ9LmZhLXNsaWRlc2hhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZTdcIn0uZmEtdHdpdGNoOmJlZm9yZXtjb250ZW50OlwiXFxmMWU4XCJ9LmZhLXllbHA6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZTlcIn0uZmEtbmV3c3BhcGVyLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZWFcIn0uZmEtd2lmaTpiZWZvcmV7Y29udGVudDpcIlxcZjFlYlwifS5mYS1jYWxjdWxhdG9yOmJlZm9yZXtjb250ZW50OlwiXFxmMWVjXCJ9LmZhLXBheXBhbDpiZWZvcmV7Y29udGVudDpcIlxcZjFlZFwifS5mYS1nb29nbGUtd2FsbGV0OmJlZm9yZXtjb250ZW50OlwiXFxmMWVlXCJ9LmZhLWNjLXZpc2E6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZjBcIn0uZmEtY2MtbWFzdGVyY2FyZDpiZWZvcmV7Y29udGVudDpcIlxcZjFmMVwifS5mYS1jYy1kaXNjb3ZlcjpiZWZvcmV7Y29udGVudDpcIlxcZjFmMlwifS5mYS1jYy1hbWV4OmJlZm9yZXtjb250ZW50OlwiXFxmMWYzXCJ9LmZhLWNjLXBheXBhbDpiZWZvcmV7Y29udGVudDpcIlxcZjFmNFwifS5mYS1jYy1zdHJpcGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZjVcIn0uZmEtYmVsbC1zbGFzaDpiZWZvcmV7Y29udGVudDpcIlxcZjFmNlwifS5mYS1iZWxsLXNsYXNoLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZjdcIn0uZmEtdHJhc2g6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZjhcIn0uZmEtY29weXJpZ2h0OmJlZm9yZXtjb250ZW50OlwiXFxmMWY5XCJ9LmZhLWF0OmJlZm9yZXtjb250ZW50OlwiXFxmMWZhXCJ9LmZhLWV5ZWRyb3BwZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZmJcIn0uZmEtcGFpbnQtYnJ1c2g6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZmNcIn0uZmEtYmlydGhkYXktY2FrZTpiZWZvcmV7Y29udGVudDpcIlxcZjFmZFwifS5mYS1hcmVhLWNoYXJ0OmJlZm9yZXtjb250ZW50OlwiXFxmMWZlXCJ9LmZhLXBpZS1jaGFydDpiZWZvcmV7Y29udGVudDpcIlxcZjIwMFwifS5mYS1saW5lLWNoYXJ0OmJlZm9yZXtjb250ZW50OlwiXFxmMjAxXCJ9LmZhLWxhc3RmbTpiZWZvcmV7Y29udGVudDpcIlxcZjIwMlwifS5mYS1sYXN0Zm0tc3F1YXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMjAzXCJ9LmZhLXRvZ2dsZS1vZmY6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyMDRcIn0uZmEtdG9nZ2xlLW9uOmJlZm9yZXtjb250ZW50OlwiXFxmMjA1XCJ9LmZhLWJpY3ljbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyMDZcIn0uZmEtYnVzOmJlZm9yZXtjb250ZW50OlwiXFxmMjA3XCJ9LmZhLWlveGhvc3Q6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyMDhcIn0uZmEtYW5nZWxsaXN0OmJlZm9yZXtjb250ZW50OlwiXFxmMjA5XCJ9LmZhLWNjOmJlZm9yZXtjb250ZW50OlwiXFxmMjBhXCJ9LmZhLXNoZWtlbDpiZWZvcmUsLmZhLXNoZXFlbDpiZWZvcmUsLmZhLWlsczpiZWZvcmV7Y29udGVudDpcIlxcZjIwYlwifS5mYS1tZWFucGF0aDpiZWZvcmV7Y29udGVudDpcIlxcZjIwY1wifS5mYS1idXlzZWxsYWRzOmJlZm9yZXtjb250ZW50OlwiXFxmMjBkXCJ9LmZhLWNvbm5lY3RkZXZlbG9wOmJlZm9yZXtjb250ZW50OlwiXFxmMjBlXCJ9LmZhLWRhc2hjdWJlOmJlZm9yZXtjb250ZW50OlwiXFxmMjEwXCJ9LmZhLWZvcnVtYmVlOmJlZm9yZXtjb250ZW50OlwiXFxmMjExXCJ9LmZhLWxlYW5wdWI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyMTJcIn0uZmEtc2VsbHN5OmJlZm9yZXtjb250ZW50OlwiXFxmMjEzXCJ9LmZhLXNoaXJ0c2luYnVsazpiZWZvcmV7Y29udGVudDpcIlxcZjIxNFwifS5mYS1zaW1wbHlidWlsdDpiZWZvcmV7Y29udGVudDpcIlxcZjIxNVwifS5mYS1za3lhdGxhczpiZWZvcmV7Y29udGVudDpcIlxcZjIxNlwifS5mYS1jYXJ0LXBsdXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyMTdcIn0uZmEtY2FydC1hcnJvdy1kb3duOmJlZm9yZXtjb250ZW50OlwiXFxmMjE4XCJ9LmZhLWRpYW1vbmQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyMTlcIn0uZmEtc2hpcDpiZWZvcmV7Y29udGVudDpcIlxcZjIxYVwifS5mYS11c2VyLXNlY3JldDpiZWZvcmV7Y29udGVudDpcIlxcZjIxYlwifS5mYS1tb3RvcmN5Y2xlOmJlZm9yZXtjb250ZW50OlwiXFxmMjFjXCJ9LmZhLXN0cmVldC12aWV3OmJlZm9yZXtjb250ZW50OlwiXFxmMjFkXCJ9LmZhLWhlYXJ0YmVhdDpiZWZvcmV7Y29udGVudDpcIlxcZjIxZVwifS5mYS12ZW51czpiZWZvcmV7Y29udGVudDpcIlxcZjIyMVwifS5mYS1tYXJzOmJlZm9yZXtjb250ZW50OlwiXFxmMjIyXCJ9LmZhLW1lcmN1cnk6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyMjNcIn0uZmEtaW50ZXJzZXg6YmVmb3JlLC5mYS10cmFuc2dlbmRlcjpiZWZvcmV7Y29udGVudDpcIlxcZjIyNFwifS5mYS10cmFuc2dlbmRlci1hbHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyMjVcIn0uZmEtdmVudXMtZG91YmxlOmJlZm9yZXtjb250ZW50OlwiXFxmMjI2XCJ9LmZhLW1hcnMtZG91YmxlOmJlZm9yZXtjb250ZW50OlwiXFxmMjI3XCJ9LmZhLXZlbnVzLW1hcnM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyMjhcIn0uZmEtbWFycy1zdHJva2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyMjlcIn0uZmEtbWFycy1zdHJva2UtdjpiZWZvcmV7Y29udGVudDpcIlxcZjIyYVwifS5mYS1tYXJzLXN0cm9rZS1oOmJlZm9yZXtjb250ZW50OlwiXFxmMjJiXCJ9LmZhLW5ldXRlcjpiZWZvcmV7Y29udGVudDpcIlxcZjIyY1wifS5mYS1nZW5kZXJsZXNzOmJlZm9yZXtjb250ZW50OlwiXFxmMjJkXCJ9LmZhLWZhY2Vib29rLW9mZmljaWFsOmJlZm9yZXtjb250ZW50OlwiXFxmMjMwXCJ9LmZhLXBpbnRlcmVzdC1wOmJlZm9yZXtjb250ZW50OlwiXFxmMjMxXCJ9LmZhLXdoYXRzYXBwOmJlZm9yZXtjb250ZW50OlwiXFxmMjMyXCJ9LmZhLXNlcnZlcjpiZWZvcmV7Y29udGVudDpcIlxcZjIzM1wifS5mYS11c2VyLXBsdXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyMzRcIn0uZmEtdXNlci10aW1lczpiZWZvcmV7Y29udGVudDpcIlxcZjIzNVwifS5mYS1ob3RlbDpiZWZvcmUsLmZhLWJlZDpiZWZvcmV7Y29udGVudDpcIlxcZjIzNlwifS5mYS12aWFjb2luOmJlZm9yZXtjb250ZW50OlwiXFxmMjM3XCJ9LmZhLXRyYWluOmJlZm9yZXtjb250ZW50OlwiXFxmMjM4XCJ9LmZhLXN1YndheTpiZWZvcmV7Y29udGVudDpcIlxcZjIzOVwifS5mYS1tZWRpdW06YmVmb3Jle2NvbnRlbnQ6XCJcXGYyM2FcIn0uZmEteWM6YmVmb3JlLC5mYS15LWNvbWJpbmF0b3I6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyM2JcIn0uZmEtb3B0aW4tbW9uc3RlcjpiZWZvcmV7Y29udGVudDpcIlxcZjIzY1wifS5mYS1vcGVuY2FydDpiZWZvcmV7Y29udGVudDpcIlxcZjIzZFwifS5mYS1leHBlZGl0ZWRzc2w6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyM2VcIn0uZmEtYmF0dGVyeS00OmJlZm9yZSwuZmEtYmF0dGVyeTpiZWZvcmUsLmZhLWJhdHRlcnktZnVsbDpiZWZvcmV7Y29udGVudDpcIlxcZjI0MFwifS5mYS1iYXR0ZXJ5LTM6YmVmb3JlLC5mYS1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzOmJlZm9yZXtjb250ZW50OlwiXFxmMjQxXCJ9LmZhLWJhdHRlcnktMjpiZWZvcmUsLmZhLWJhdHRlcnktaGFsZjpiZWZvcmV7Y29udGVudDpcIlxcZjI0MlwifS5mYS1iYXR0ZXJ5LTE6YmVmb3JlLC5mYS1iYXR0ZXJ5LXF1YXJ0ZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyNDNcIn0uZmEtYmF0dGVyeS0wOmJlZm9yZSwuZmEtYmF0dGVyeS1lbXB0eTpiZWZvcmV7Y29udGVudDpcIlxcZjI0NFwifS5mYS1tb3VzZS1wb2ludGVyOmJlZm9yZXtjb250ZW50OlwiXFxmMjQ1XCJ9LmZhLWktY3Vyc29yOmJlZm9yZXtjb250ZW50OlwiXFxmMjQ2XCJ9LmZhLW9iamVjdC1ncm91cDpiZWZvcmV7Y29udGVudDpcIlxcZjI0N1wifS5mYS1vYmplY3QtdW5ncm91cDpiZWZvcmV7Y29udGVudDpcIlxcZjI0OFwifS5mYS1zdGlja3ktbm90ZTpiZWZvcmV7Y29udGVudDpcIlxcZjI0OVwifS5mYS1zdGlja3ktbm90ZS1vOmJlZm9yZXtjb250ZW50OlwiXFxmMjRhXCJ9LmZhLWNjLWpjYjpiZWZvcmV7Y29udGVudDpcIlxcZjI0YlwifS5mYS1jYy1kaW5lcnMtY2x1YjpiZWZvcmV7Y29udGVudDpcIlxcZjI0Y1wifS5mYS1jbG9uZTpiZWZvcmV7Y29udGVudDpcIlxcZjI0ZFwifS5mYS1iYWxhbmNlLXNjYWxlOmJlZm9yZXtjb250ZW50OlwiXFxmMjRlXCJ9LmZhLWhvdXJnbGFzcy1vOmJlZm9yZXtjb250ZW50OlwiXFxmMjUwXCJ9LmZhLWhvdXJnbGFzcy0xOmJlZm9yZSwuZmEtaG91cmdsYXNzLXN0YXJ0OmJlZm9yZXtjb250ZW50OlwiXFxmMjUxXCJ9LmZhLWhvdXJnbGFzcy0yOmJlZm9yZSwuZmEtaG91cmdsYXNzLWhhbGY6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyNTJcIn0uZmEtaG91cmdsYXNzLTM6YmVmb3JlLC5mYS1ob3VyZ2xhc3MtZW5kOmJlZm9yZXtjb250ZW50OlwiXFxmMjUzXCJ9LmZhLWhvdXJnbGFzczpiZWZvcmV7Y29udGVudDpcIlxcZjI1NFwifS5mYS1oYW5kLWdyYWItbzpiZWZvcmUsLmZhLWhhbmQtcm9jay1vOmJlZm9yZXtjb250ZW50OlwiXFxmMjU1XCJ9LmZhLWhhbmQtc3RvcC1vOmJlZm9yZSwuZmEtaGFuZC1wYXBlci1vOmJlZm9yZXtjb250ZW50OlwiXFxmMjU2XCJ9LmZhLWhhbmQtc2Npc3NvcnMtbzpiZWZvcmV7Y29udGVudDpcIlxcZjI1N1wifS5mYS1oYW5kLWxpemFyZC1vOmJlZm9yZXtjb250ZW50OlwiXFxmMjU4XCJ9LmZhLWhhbmQtc3BvY2stbzpiZWZvcmV7Y29udGVudDpcIlxcZjI1OVwifS5mYS1oYW5kLXBvaW50ZXItbzpiZWZvcmV7Y29udGVudDpcIlxcZjI1YVwifS5mYS1oYW5kLXBlYWNlLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYyNWJcIn0uZmEtdHJhZGVtYXJrOmJlZm9yZXtjb250ZW50OlwiXFxmMjVjXCJ9LmZhLXJlZ2lzdGVyZWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyNWRcIn0uZmEtY3JlYXRpdmUtY29tbW9uczpiZWZvcmV7Y29udGVudDpcIlxcZjI1ZVwifS5mYS1nZzpiZWZvcmV7Y29udGVudDpcIlxcZjI2MFwifS5mYS1nZy1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyNjFcIn0uZmEtdHJpcGFkdmlzb3I6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyNjJcIn0uZmEtb2Rub2tsYXNzbmlraTpiZWZvcmV7Y29udGVudDpcIlxcZjI2M1wifS5mYS1vZG5va2xhc3NuaWtpLXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZjI2NFwifS5mYS1nZXQtcG9ja2V0OmJlZm9yZXtjb250ZW50OlwiXFxmMjY1XCJ9LmZhLXdpa2lwZWRpYS13OmJlZm9yZXtjb250ZW50OlwiXFxmMjY2XCJ9LmZhLXNhZmFyaTpiZWZvcmV7Y29udGVudDpcIlxcZjI2N1wifS5mYS1jaHJvbWU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyNjhcIn0uZmEtZmlyZWZveDpiZWZvcmV7Y29udGVudDpcIlxcZjI2OVwifS5mYS1vcGVyYTpiZWZvcmV7Y29udGVudDpcIlxcZjI2YVwifS5mYS1pbnRlcm5ldC1leHBsb3JlcjpiZWZvcmV7Y29udGVudDpcIlxcZjI2YlwifS5mYS10djpiZWZvcmUsLmZhLXRlbGV2aXNpb246YmVmb3Jle2NvbnRlbnQ6XCJcXGYyNmNcIn0uZmEtY29udGFvOmJlZm9yZXtjb250ZW50OlwiXFxmMjZkXCJ9LmZhLTUwMHB4OmJlZm9yZXtjb250ZW50OlwiXFxmMjZlXCJ9LmZhLWFtYXpvbjpiZWZvcmV7Y29udGVudDpcIlxcZjI3MFwifS5mYS1jYWxlbmRhci1wbHVzLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYyNzFcIn0uZmEtY2FsZW5kYXItbWludXMtbzpiZWZvcmV7Y29udGVudDpcIlxcZjI3MlwifS5mYS1jYWxlbmRhci10aW1lcy1vOmJlZm9yZXtjb250ZW50OlwiXFxmMjczXCJ9LmZhLWNhbGVuZGFyLWNoZWNrLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYyNzRcIn0uZmEtaW5kdXN0cnk6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyNzVcIn0uZmEtbWFwLXBpbjpiZWZvcmV7Y29udGVudDpcIlxcZjI3NlwifS5mYS1tYXAtc2lnbnM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyNzdcIn0uZmEtbWFwLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYyNzhcIn0uZmEtbWFwOmJlZm9yZXtjb250ZW50OlwiXFxmMjc5XCJ9LmZhLWNvbW1lbnRpbmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyN2FcIn0uZmEtY29tbWVudGluZy1vOmJlZm9yZXtjb250ZW50OlwiXFxmMjdiXCJ9LmZhLWhvdXp6OmJlZm9yZXtjb250ZW50OlwiXFxmMjdjXCJ9LmZhLXZpbWVvOmJlZm9yZXtjb250ZW50OlwiXFxmMjdkXCJ9LmZhLWJsYWNrLXRpZTpiZWZvcmV7Y29udGVudDpcIlxcZjI3ZVwifS5mYS1mb250aWNvbnM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyODBcIn0uZmEtcmVkZGl0LWFsaWVuOmJlZm9yZXtjb250ZW50OlwiXFxmMjgxXCJ9LmZhLWVkZ2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyODJcIn0uZmEtY3JlZGl0LWNhcmQtYWx0OmJlZm9yZXtjb250ZW50OlwiXFxmMjgzXCJ9LmZhLWNvZGllcGllOmJlZm9yZXtjb250ZW50OlwiXFxmMjg0XCJ9LmZhLW1vZHg6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyODVcIn0uZmEtZm9ydC1hd2Vzb21lOmJlZm9yZXtjb250ZW50OlwiXFxmMjg2XCJ9LmZhLXVzYjpiZWZvcmV7Y29udGVudDpcIlxcZjI4N1wifS5mYS1wcm9kdWN0LWh1bnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyODhcIn0uZmEtbWl4Y2xvdWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyODlcIn0uZmEtc2NyaWJkOmJlZm9yZXtjb250ZW50OlwiXFxmMjhhXCJ9LmZhLXBhdXNlLWNpcmNsZTpiZWZvcmV7Y29udGVudDpcIlxcZjI4YlwifS5mYS1wYXVzZS1jaXJjbGUtbzpiZWZvcmV7Y29udGVudDpcIlxcZjI4Y1wifS5mYS1zdG9wLWNpcmNsZTpiZWZvcmV7Y29udGVudDpcIlxcZjI4ZFwifS5mYS1zdG9wLWNpcmNsZS1vOmJlZm9yZXtjb250ZW50OlwiXFxmMjhlXCJ9LmZhLXNob3BwaW5nLWJhZzpiZWZvcmV7Y29udGVudDpcIlxcZjI5MFwifS5mYS1zaG9wcGluZy1iYXNrZXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyOTFcIn0uZmEtaGFzaHRhZzpiZWZvcmV7Y29udGVudDpcIlxcZjI5MlwifS5mYS1ibHVldG9vdGg6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyOTNcIn0uZmEtYmx1ZXRvb3RoLWI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyOTRcIn0uZmEtcGVyY2VudDpiZWZvcmV7Y29udGVudDpcIlxcZjI5NVwifS5mYS1naXRsYWI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyOTZcIn0uZmEtd3BiZWdpbm5lcjpiZWZvcmV7Y29udGVudDpcIlxcZjI5N1wifS5mYS13cGZvcm1zOmJlZm9yZXtjb250ZW50OlwiXFxmMjk4XCJ9LmZhLWVudmlyYTpiZWZvcmV7Y29udGVudDpcIlxcZjI5OVwifS5mYS11bml2ZXJzYWwtYWNjZXNzOmJlZm9yZXtjb250ZW50OlwiXFxmMjlhXCJ9LmZhLXdoZWVsY2hhaXItYWx0OmJlZm9yZXtjb250ZW50OlwiXFxmMjliXCJ9LmZhLXF1ZXN0aW9uLWNpcmNsZS1vOmJlZm9yZXtjb250ZW50OlwiXFxmMjljXCJ9LmZhLWJsaW5kOmJlZm9yZXtjb250ZW50OlwiXFxmMjlkXCJ9LmZhLWF1ZGlvLWRlc2NyaXB0aW9uOmJlZm9yZXtjb250ZW50OlwiXFxmMjllXCJ9LmZhLXZvbHVtZS1jb250cm9sLXBob25lOmJlZm9yZXtjb250ZW50OlwiXFxmMmEwXCJ9LmZhLWJyYWlsbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyYTFcIn0uZmEtYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zOmJlZm9yZXtjb250ZW50OlwiXFxmMmEyXCJ9LmZhLWFzbC1pbnRlcnByZXRpbmc6YmVmb3JlLC5mYS1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzpiZWZvcmV7Y29udGVudDpcIlxcZjJhM1wifS5mYS1kZWFmbmVzczpiZWZvcmUsLmZhLWhhcmQtb2YtaGVhcmluZzpiZWZvcmUsLmZhLWRlYWY6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyYTRcIn0uZmEtZ2xpZGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyYTVcIn0uZmEtZ2xpZGUtZzpiZWZvcmV7Y29udGVudDpcIlxcZjJhNlwifS5mYS1zaWduaW5nOmJlZm9yZSwuZmEtc2lnbi1sYW5ndWFnZTpiZWZvcmV7Y29udGVudDpcIlxcZjJhN1wifS5mYS1sb3ctdmlzaW9uOmJlZm9yZXtjb250ZW50OlwiXFxmMmE4XCJ9LmZhLXZpYWRlbzpiZWZvcmV7Y29udGVudDpcIlxcZjJhOVwifS5mYS12aWFkZW8tc3F1YXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMmFhXCJ9LmZhLXNuYXBjaGF0OmJlZm9yZXtjb250ZW50OlwiXFxmMmFiXCJ9LmZhLXNuYXBjaGF0LWdob3N0OmJlZm9yZXtjb250ZW50OlwiXFxmMmFjXCJ9LmZhLXNuYXBjaGF0LXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZjJhZFwifS5mYS1waWVkLXBpcGVyOmJlZm9yZXtjb250ZW50OlwiXFxmMmFlXCJ9LmZhLWZpcnN0LW9yZGVyOmJlZm9yZXtjb250ZW50OlwiXFxmMmIwXCJ9LmZhLXlvYXN0OmJlZm9yZXtjb250ZW50OlwiXFxmMmIxXCJ9LmZhLXRoZW1laXNsZTpiZWZvcmV7Y29udGVudDpcIlxcZjJiMlwifS5mYS1nb29nbGUtcGx1cy1jaXJjbGU6YmVmb3JlLC5mYS1nb29nbGUtcGx1cy1vZmZpY2lhbDpiZWZvcmV7Y29udGVudDpcIlxcZjJiM1wifS5mYS1mYTpiZWZvcmUsLmZhLWZvbnQtYXdlc29tZTpiZWZvcmV7Y29udGVudDpcIlxcZjJiNFwifS5mYS1oYW5kc2hha2UtbzpiZWZvcmV7Y29udGVudDpcIlxcZjJiNVwifS5mYS1lbnZlbG9wZS1vcGVuOmJlZm9yZXtjb250ZW50OlwiXFxmMmI2XCJ9LmZhLWVudmVsb3BlLW9wZW4tbzpiZWZvcmV7Y29udGVudDpcIlxcZjJiN1wifS5mYS1saW5vZGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyYjhcIn0uZmEtYWRkcmVzcy1ib29rOmJlZm9yZXtjb250ZW50OlwiXFxmMmI5XCJ9LmZhLWFkZHJlc3MtYm9vay1vOmJlZm9yZXtjb250ZW50OlwiXFxmMmJhXCJ9LmZhLXZjYXJkOmJlZm9yZSwuZmEtYWRkcmVzcy1jYXJkOmJlZm9yZXtjb250ZW50OlwiXFxmMmJiXCJ9LmZhLXZjYXJkLW86YmVmb3JlLC5mYS1hZGRyZXNzLWNhcmQtbzpiZWZvcmV7Y29udGVudDpcIlxcZjJiY1wifS5mYS11c2VyLWNpcmNsZTpiZWZvcmV7Y29udGVudDpcIlxcZjJiZFwifS5mYS11c2VyLWNpcmNsZS1vOmJlZm9yZXtjb250ZW50OlwiXFxmMmJlXCJ9LmZhLXVzZXItbzpiZWZvcmV7Y29udGVudDpcIlxcZjJjMFwifS5mYS1pZC1iYWRnZTpiZWZvcmV7Y29udGVudDpcIlxcZjJjMVwifS5mYS1kcml2ZXJzLWxpY2Vuc2U6YmVmb3JlLC5mYS1pZC1jYXJkOmJlZm9yZXtjb250ZW50OlwiXFxmMmMyXCJ9LmZhLWRyaXZlcnMtbGljZW5zZS1vOmJlZm9yZSwuZmEtaWQtY2FyZC1vOmJlZm9yZXtjb250ZW50OlwiXFxmMmMzXCJ9LmZhLXF1b3JhOmJlZm9yZXtjb250ZW50OlwiXFxmMmM0XCJ9LmZhLWZyZWUtY29kZS1jYW1wOmJlZm9yZXtjb250ZW50OlwiXFxmMmM1XCJ9LmZhLXRlbGVncmFtOmJlZm9yZXtjb250ZW50OlwiXFxmMmM2XCJ9LmZhLXRoZXJtb21ldGVyLTQ6YmVmb3JlLC5mYS10aGVybW9tZXRlcjpiZWZvcmUsLmZhLXRoZXJtb21ldGVyLWZ1bGw6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyYzdcIn0uZmEtdGhlcm1vbWV0ZXItMzpiZWZvcmUsLmZhLXRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzOmJlZm9yZXtjb250ZW50OlwiXFxmMmM4XCJ9LmZhLXRoZXJtb21ldGVyLTI6YmVmb3JlLC5mYS10aGVybW9tZXRlci1oYWxmOmJlZm9yZXtjb250ZW50OlwiXFxmMmM5XCJ9LmZhLXRoZXJtb21ldGVyLTE6YmVmb3JlLC5mYS10aGVybW9tZXRlci1xdWFydGVyOmJlZm9yZXtjb250ZW50OlwiXFxmMmNhXCJ9LmZhLXRoZXJtb21ldGVyLTA6YmVmb3JlLC5mYS10aGVybW9tZXRlci1lbXB0eTpiZWZvcmV7Y29udGVudDpcIlxcZjJjYlwifS5mYS1zaG93ZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyY2NcIn0uZmEtYmF0aHR1YjpiZWZvcmUsLmZhLXMxNTpiZWZvcmUsLmZhLWJhdGg6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyY2RcIn0uZmEtcG9kY2FzdDpiZWZvcmV7Y29udGVudDpcIlxcZjJjZVwifS5mYS13aW5kb3ctbWF4aW1pemU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyZDBcIn0uZmEtd2luZG93LW1pbmltaXplOmJlZm9yZXtjb250ZW50OlwiXFxmMmQxXCJ9LmZhLXdpbmRvdy1yZXN0b3JlOmJlZm9yZXtjb250ZW50OlwiXFxmMmQyXCJ9LmZhLXRpbWVzLXJlY3RhbmdsZTpiZWZvcmUsLmZhLXdpbmRvdy1jbG9zZTpiZWZvcmV7Y29udGVudDpcIlxcZjJkM1wifS5mYS10aW1lcy1yZWN0YW5nbGUtbzpiZWZvcmUsLmZhLXdpbmRvdy1jbG9zZS1vOmJlZm9yZXtjb250ZW50OlwiXFxmMmQ0XCJ9LmZhLWJhbmRjYW1wOmJlZm9yZXtjb250ZW50OlwiXFxmMmQ1XCJ9LmZhLWdyYXY6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyZDZcIn0uZmEtZXRzeTpiZWZvcmV7Y29udGVudDpcIlxcZjJkN1wifS5mYS1pbWRiOmJlZm9yZXtjb250ZW50OlwiXFxmMmQ4XCJ9LmZhLXJhdmVscnk6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyZDlcIn0uZmEtZWVyY2FzdDpiZWZvcmV7Y29udGVudDpcIlxcZjJkYVwifS5mYS1taWNyb2NoaXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyZGJcIn0uZmEtc25vd2ZsYWtlLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYyZGNcIn0uZmEtc3VwZXJwb3dlcnM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyZGRcIn0uZmEtd3BleHBsb3JlcjpiZWZvcmV7Y29udGVudDpcIlxcZjJkZVwifS5mYS1tZWV0dXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyZTBcIn0uc3Itb25seXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7aGVpZ2h0OjFweDtwYWRkaW5nOjA7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO2NsaXA6cmVjdCgwLCAwLCAwLCAwKTtib3JkZXI6MH0uc3Itb25seS1mb2N1c2FibGU6YWN0aXZlLC5zci1vbmx5LWZvY3VzYWJsZTpmb2N1c3twb3NpdGlvbjpzdGF0aWM7d2lkdGg6YXV0bztoZWlnaHQ6YXV0bzttYXJnaW46MDtvdmVyZmxvdzp2aXNpYmxlO2NsaXA6YXV0b31cbiJ9LCAiaGVhZGVyc1NpemUiOiAwLCAiYm9keVNpemUiOiA2MjcwLCAicmVkaXJlY3RVUkwiOiAiIiwgIl90cmFuc2ZlclNpemUiOiA2MjcwfSwgImNhY2hlIjoge30sICJ0aW1pbmdzIjogeyJkbnMiOiAyOS41NTIsICJjb25uZWN0IjogMTguMDU3LCAic3NsIjogMTguMDU3LCAic2VuZCI6IDAsICJ3YWl0IjogMjYuOTI1LCAicmVjZWl2ZSI6IDYuNTQ5fSwgInBhZ2VyZWYiOiAicGFnZUAyZTdhY2U5NTVhNjc3M2VjZmQyZTk4ZWYyZmRjYjcwNCIsICJzZXJ2ZXJJUEFkZHJlc3MiOiAiWzI2MDY6NDcwMDo6NjgxMToxODBlXSIsICJfc2VydmVyUG9ydCI6IDQ0MywgIl9zZWN1cml0eURldGFpbHMiOiB7InByb3RvY29sIjogIlFVSUMiLCAic3ViamVjdE5hbWUiOiAiY2RuanMuY2xvdWRmbGFyZS5jb20iLCAiaXNzdWVyIjogIldFMSIsICJ2YWxpZEZyb20iOiAxNzIyMzk5MzcwLCAidmFsaWRUbyI6IDE3MzAxNzUzNjl9fSwgeyJzdGFydGVkRGF0ZVRpbWUiOiAiMjAyNC0wOC0wMVQxMjozMzowMC42NDNaIiwgInRpbWUiOiA1NS45NDQsICJyZXF1ZXN0IjogeyJtZXRob2QiOiAiR0VUIiwgInVybCI6ICJodHRwczovL3d3dy53M3NjaG9vbHMuY29tL3czY3NzLzQvdzMuY3NzIiwgImh0dHBWZXJzaW9uIjogIkhUVFAvMi4wIiwgImNvb2tpZXMiOiBbXSwgImhlYWRlcnMiOiBbeyJuYW1lIjogIjphdXRob3JpdHkiLCAidmFsdWUiOiAid3d3Lnczc2Nob29scy5jb20ifSwgeyJuYW1lIjogIjptZXRob2QiLCAidmFsdWUiOiAiR0VUIn0sIHsibmFtZSI6ICI6cGF0aCIsICJ2YWx1ZSI6ICIvdzNjc3MvNC93My5jc3MifSwgeyJuYW1lIjogIjpzY2hlbWUiLCAidmFsdWUiOiAiaHR0cHMifSwgeyJuYW1lIjogImFjY2VwdCIsICJ2YWx1ZSI6ICJ0ZXh0L2NzcywqLyo7cT0wLjEifSwgeyJuYW1lIjogImFjY2VwdC1lbmNvZGluZyIsICJ2YWx1ZSI6ICJnemlwLCBkZWZsYXRlLCBiciwgenN0ZCJ9LCB7Im5hbWUiOiAiYWNjZXB0LWxhbmd1YWdlIiwgInZhbHVlIjogImVuLVVTLGVuO3E9MC45In0sIHsibmFtZSI6ICJwcmlvcml0eSIsICJ2YWx1ZSI6ICJ1PTAifSwgeyJuYW1lIjogInJlZmVyZXIiLCAidmFsdWUiOiAiaHR0cHM6Ly9wdWItMmVhN2M2MzliNGExNGI5MmE1MGUzNDhmOTliMzMyOTMucjIuZGV2LyJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhIiwgInZhbHVlIjogIlwiQ2hyb21pdW1cIjt2PVwiMTI3XCIsIFwiTm90KUE7QnJhbmRcIjt2PVwiOTlcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLW1vYmlsZSIsICJ2YWx1ZSI6ICI/MCJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXBsYXRmb3JtIiwgInZhbHVlIjogIlwiV2luZG93c1wiIn0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtZGVzdCIsICJ2YWx1ZSI6ICJzdHlsZSJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLW1vZGUiLCAidmFsdWUiOiAibm8tY29ycyJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLXNpdGUiLCAidmFsdWUiOiAiY3Jvc3Mtc2l0ZSJ9LCB7Im5hbWUiOiAidXNlci1hZ2VudCIsICJ2YWx1ZSI6ICJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTI3LjAuNjUzMy4xNyBTYWZhcmkvNTM3LjM2In1dLCAicXVlcnlTdHJpbmciOiBbXSwgImhlYWRlcnNTaXplIjogNjA3LCAiYm9keVNpemUiOiAwfSwgInJlc3BvbnNlIjogeyJzdGF0dXMiOiAyMDAsICJzdGF0dXNUZXh0IjogIiIsICJodHRwVmVyc2lvbiI6ICJIVFRQLzIuMCIsICJjb29raWVzIjogW10sICJoZWFkZXJzIjogW3sibmFtZSI6ICJhY2NlcHQtcmFuZ2VzIiwgInZhbHVlIjogImJ5dGVzIn0sIHsibmFtZSI6ICJhZ2UiLCAidmFsdWUiOiAiMjMzNTQ4NSJ9LCB7Im5hbWUiOiAiY2FjaGUtY29udHJvbCIsICJ2YWx1ZSI6ICJwdWJsaWMsbWF4LWFnZT0zMTUzNjAwMCxwdWJsaWMifSwgeyJuYW1lIjogImNvbnRlbnQtZW5jb2RpbmciLCAidmFsdWUiOiAiZ3ppcCJ9LCB7Im5hbWUiOiAiY29udGVudC1sZW5ndGgiLCAidmFsdWUiOiAiNTI1MCJ9LCB7Im5hbWUiOiAiY29udGVudC1zZWN1cml0eS1wb2xpY3kiLCAidmFsdWUiOiAiZnJhbWUtYW5jZXN0b3JzICdzZWxmJyBodHRwczovL215Y291cnNlcy53M3NjaG9vbHMuY29tIGh0dHBzOi8vcGF0aGZpbmRlci53M3NjaG9vbHMuY29tOyJ9LCB7Im5hbWUiOiAiY29udGVudC10eXBlIiwgInZhbHVlIjogInRleHQvY3NzIn0sIHsibmFtZSI6ICJkYXRlIiwgInZhbHVlIjogIlRodSwgMDEgQXVnIDIwMjQgMTI6MzM6MDAgR01UIn0sIHsibmFtZSI6ICJldGFnIiwgInZhbHVlIjogIlwiMGEyZWIxY2MzY2VkYTE6MFwiIn0sIHsibmFtZSI6ICJsYXN0LW1vZGlmaWVkIiwgInZhbHVlIjogIkZyaSwgMDUgSnVsIDIwMjQgMTA6MDc6MTYgR01UIn0sIHsibmFtZSI6ICJzZXJ2ZXIiLCAidmFsdWUiOiAiRUNTIChmcmIvNjc5NikifSwgeyJuYW1lIjogInZhcnkiLCAidmFsdWUiOiAiQWNjZXB0LUVuY29kaW5nIn0sIHsibmFtZSI6ICJ4LWNhY2hlIiwgInZhbHVlIjogIkhJVCJ9LCB7Im5hbWUiOiAieC1jb250ZW50LXNlY3VyaXR5LXBvbGljeSIsICJ2YWx1ZSI6ICJmcmFtZS1hbmNlc3RvcnMgJ3NlbGYnIGh0dHBzOi8vbXljb3Vyc2VzLnczc2Nob29scy5jb20gaHR0cHM6Ly9wYXRoZmluZGVyLnczc2Nob29scy5jb207In0sIHsibmFtZSI6ICJ4LXBvd2VyZWQtYnkiLCAidmFsdWUiOiAiQVNQLk5FVCJ9XSwgImNvbnRlbnQiOiB7InNpemUiOiAyMzQyNCwgIm1pbWVUeXBlIjogInRleHQvY3NzIiwgImNvbXByZXNzaW9uIjogMTc4MDUsICJ0ZXh0IjogIi8qIFczLkNTUyA0LjE1IERlY2VtYmVyIDIwMjAgYnkgSmFuIEVnaWwgYW5kIEJvcmdlIFJlZnNuZXMgKi9cbmh0bWx7Ym94LXNpemluZzpib3JkZXItYm94fSosKjpiZWZvcmUsKjphZnRlcntib3gtc2l6aW5nOmluaGVyaXR9XG4vKiBFeHRyYWN0IGZyb20gbm9ybWFsaXplLmNzcyBieSBOaWNvbGFzIEdhbGxhZ2hlciBhbmQgSm9uYXRoYW4gTmVhbCBnaXQuaW8vbm9ybWFsaXplICovXG5odG1sey1tcy10ZXh0LXNpemUtYWRqdXN0OjEwMCU7LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OjEwMCV9Ym9keXttYXJnaW46MH1cbmFydGljbGUsYXNpZGUsZGV0YWlscyxmaWdjYXB0aW9uLGZpZ3VyZSxmb290ZXIsaGVhZGVyLG1haW4sbWVudSxuYXYsc2VjdGlvbntkaXNwbGF5OmJsb2NrfXN1bW1hcnl7ZGlzcGxheTpsaXN0LWl0ZW19XG5hdWRpbyxjYW52YXMscHJvZ3Jlc3MsdmlkZW97ZGlzcGxheTppbmxpbmUtYmxvY2t9cHJvZ3Jlc3N7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9XG5hdWRpbzpub3QoW2NvbnRyb2xzXSl7ZGlzcGxheTpub25lO2hlaWdodDowfVtoaWRkZW5dLHRlbXBsYXRle2Rpc3BsYXk6bm9uZX1cbmF7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH1hOmFjdGl2ZSxhOmhvdmVye291dGxpbmUtd2lkdGg6MH1cbmFiYnJbdGl0bGVde2JvcmRlci1ib3R0b206bm9uZTt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkfVxuYixzdHJvbmd7Zm9udC13ZWlnaHQ6Ym9sZGVyfWRmbntmb250LXN0eWxlOml0YWxpY31tYXJre2JhY2tncm91bmQ6I2ZmMDtjb2xvcjojMDAwfVxuc21hbGx7Zm9udC1zaXplOjgwJX1zdWIsc3Vwe2ZvbnQtc2l6ZTo3NSU7bGluZS1oZWlnaHQ6MDtwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX1cbnN1Yntib3R0b206LTAuMjVlbX1zdXB7dG9wOi0wLjVlbX1maWd1cmV7bWFyZ2luOjFlbSA0MHB4fWltZ3tib3JkZXItc3R5bGU6bm9uZX1cbmNvZGUsa2JkLHByZSxzYW1we2ZvbnQtZmFtaWx5Om1vbm9zcGFjZSxtb25vc3BhY2U7Zm9udC1zaXplOjFlbX1ocntib3gtc2l6aW5nOmNvbnRlbnQtYm94O2hlaWdodDowO292ZXJmbG93OnZpc2libGV9XG5idXR0b24saW5wdXQsc2VsZWN0LHRleHRhcmVhLG9wdGdyb3Vwe2ZvbnQ6aW5oZXJpdDttYXJnaW46MH1vcHRncm91cHtmb250LXdlaWdodDpib2xkfVxuYnV0dG9uLGlucHV0e292ZXJmbG93OnZpc2libGV9YnV0dG9uLHNlbGVjdHt0ZXh0LXRyYW5zZm9ybTpub25lfVxuYnV0dG9uLFt0eXBlPWJ1dHRvbl0sW3R5cGU9cmVzZXRdLFt0eXBlPXN1Ym1pdF17LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbn1cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixbdHlwZT1idXR0b25dOjotbW96LWZvY3VzLWlubmVyLFt0eXBlPXJlc2V0XTo6LW1vei1mb2N1cy1pbm5lcixbdHlwZT1zdWJtaXRdOjotbW96LWZvY3VzLWlubmVye2JvcmRlci1zdHlsZTpub25lO3BhZGRpbmc6MH1cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxbdHlwZT1idXR0b25dOi1tb3otZm9jdXNyaW5nLFt0eXBlPXJlc2V0XTotbW96LWZvY3VzcmluZyxbdHlwZT1zdWJtaXRdOi1tb3otZm9jdXNyaW5ne291dGxpbmU6MXB4IGRvdHRlZCBCdXR0b25UZXh0fVxuZmllbGRzZXR7Ym9yZGVyOjFweCBzb2xpZCAjYzBjMGMwO21hcmdpbjowIDJweDtwYWRkaW5nOi4zNWVtIC42MjVlbSAuNzVlbX1cbmxlZ2VuZHtjb2xvcjppbmhlcml0O2Rpc3BsYXk6dGFibGU7bWF4LXdpZHRoOjEwMCU7cGFkZGluZzowO3doaXRlLXNwYWNlOm5vcm1hbH10ZXh0YXJlYXtvdmVyZmxvdzphdXRvfVxuW3R5cGU9Y2hlY2tib3hdLFt0eXBlPXJhZGlvXXtwYWRkaW5nOjB9XG5bdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99XG5bdHlwZT1zZWFyY2hdey13ZWJraXQtYXBwZWFyYW5jZTp0ZXh0ZmllbGQ7b3V0bGluZS1vZmZzZXQ6LTJweH1cblt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9XG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b247Zm9udDppbmhlcml0fVxuLyogRW5kIGV4dHJhY3QgKi9cbmh0bWwsYm9keXtmb250LWZhbWlseTpWZXJkYW5hLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7bGluZS1oZWlnaHQ6MS41fWh0bWx7b3ZlcmZsb3cteDpoaWRkZW59XG5oMXtmb250LXNpemU6MzZweH1oMntmb250LXNpemU6MzBweH1oM3tmb250LXNpemU6MjRweH1oNHtmb250LXNpemU6MjBweH1oNXtmb250LXNpemU6MThweH1oNntmb250LXNpemU6MTZweH1cbi53My1zZXJpZntmb250LWZhbWlseTpzZXJpZn0udzMtc2Fucy1zZXJpZntmb250LWZhbWlseTpzYW5zLXNlcmlmfS53My1jdXJzaXZle2ZvbnQtZmFtaWx5OmN1cnNpdmV9LnczLW1vbm9zcGFjZXtmb250LWZhbWlseTptb25vc3BhY2V9XG5oMSxoMixoMyxoNCxoNSxoNntmb250LWZhbWlseTpcIlNlZ29lIFVJXCIsQXJpYWwsc2Fucy1zZXJpZjtmb250LXdlaWdodDo0MDA7bWFyZ2luOjEwcHggMH0udzMtd2lkZXtsZXR0ZXItc3BhY2luZzo0cHh9XG5ocntib3JkZXI6MDtib3JkZXItdG9wOjFweCBzb2xpZCAjZWVlO21hcmdpbjoyMHB4IDB9XG4udzMtaW1hZ2V7bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OmF1dG99aW1ne3ZlcnRpY2FsLWFsaWduOm1pZGRsZX1he2NvbG9yOmluaGVyaXR9XG4udzMtdGFibGUsLnczLXRhYmxlLWFsbHtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7Ym9yZGVyLXNwYWNpbmc6MDt3aWR0aDoxMDAlO2Rpc3BsYXk6dGFibGV9LnczLXRhYmxlLWFsbHtib3JkZXI6MXB4IHNvbGlkICNjY2N9XG4udzMtYm9yZGVyZWQgdHIsLnczLXRhYmxlLWFsbCB0cntib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZGRkfS53My1zdHJpcGVkIHRib2R5IHRyOm50aC1jaGlsZChldmVuKXtiYWNrZ3JvdW5kLWNvbG9yOiNmMWYxZjF9XG4udzMtdGFibGUtYWxsIHRyOm50aC1jaGlsZChvZGQpe2JhY2tncm91bmQtY29sb3I6I2ZmZn0udzMtdGFibGUtYWxsIHRyOm50aC1jaGlsZChldmVuKXtiYWNrZ3JvdW5kLWNvbG9yOiNmMWYxZjF9XG4udzMtaG92ZXJhYmxlIHRib2R5IHRyOmhvdmVyLC53My11bC53My1ob3ZlcmFibGUgbGk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojY2NjfS53My1jZW50ZXJlZCB0ciB0aCwudzMtY2VudGVyZWQgdHIgdGR7dGV4dC1hbGlnbjpjZW50ZXJ9XG4udzMtdGFibGUgdGQsLnczLXRhYmxlIHRoLC53My10YWJsZS1hbGwgdGQsLnczLXRhYmxlLWFsbCB0aHtwYWRkaW5nOjhweCA4cHg7ZGlzcGxheTp0YWJsZS1jZWxsO3RleHQtYWxpZ246bGVmdDt2ZXJ0aWNhbC1hbGlnbjp0b3B9XG4udzMtdGFibGUgdGg6Zmlyc3QtY2hpbGQsLnczLXRhYmxlIHRkOmZpcnN0LWNoaWxkLC53My10YWJsZS1hbGwgdGg6Zmlyc3QtY2hpbGQsLnczLXRhYmxlLWFsbCB0ZDpmaXJzdC1jaGlsZHtwYWRkaW5nLWxlZnQ6MTZweH1cbi53My1idG4sLnczLWJ1dHRvbntib3JkZXI6bm9uZTtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nOjhweCAxNnB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtvdmVyZmxvdzpoaWRkZW47dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y29sb3I6aW5oZXJpdDtiYWNrZ3JvdW5kLWNvbG9yOmluaGVyaXQ7dGV4dC1hbGlnbjpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwfVxuLnczLWJ0bjpob3Zlcntib3gtc2hhZG93OjAgOHB4IDE2cHggMCByZ2JhKDAsMCwwLDAuMiksMCA2cHggMjBweCAwIHJnYmEoMCwwLDAsMC4xOSl9XG4udzMtYnRuLC53My1idXR0b257LXdlYmtpdC10b3VjaC1jYWxsb3V0Om5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1raHRtbC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfSAgIFxuLnczLWRpc2FibGVkLC53My1idG46ZGlzYWJsZWQsLnczLWJ1dHRvbjpkaXNhYmxlZHtjdXJzb3I6bm90LWFsbG93ZWQ7b3BhY2l0eTowLjN9LnczLWRpc2FibGVkICosOmRpc2FibGVkICp7cG9pbnRlci1ldmVudHM6bm9uZX1cbi53My1idG4udzMtZGlzYWJsZWQ6aG92ZXIsLnczLWJ0bjpkaXNhYmxlZDpob3Zlcntib3gtc2hhZG93Om5vbmV9XG4udzMtYmFkZ2UsLnczLXRhZ3tiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7Y29sb3I6I2ZmZjtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLWxlZnQ6OHB4O3BhZGRpbmctcmlnaHQ6OHB4O3RleHQtYWxpZ246Y2VudGVyfS53My1iYWRnZXtib3JkZXItcmFkaXVzOjUwJX1cbi53My11bHtsaXN0LXN0eWxlLXR5cGU6bm9uZTtwYWRkaW5nOjA7bWFyZ2luOjB9LnczLXVsIGxpe3BhZGRpbmc6OHB4IDE2cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZH0udzMtdWwgbGk6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tOm5vbmV9XG4udzMtdG9vbHRpcCwudzMtZGlzcGxheS1jb250YWluZXJ7cG9zaXRpb246cmVsYXRpdmV9LnczLXRvb2x0aXAgLnczLXRleHR7ZGlzcGxheTpub25lfS53My10b29sdGlwOmhvdmVyIC53My10ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrfVxuLnczLXJpcHBsZTphY3RpdmV7b3BhY2l0eTowLjV9LnczLXJpcHBsZXt0cmFuc2l0aW9uOm9wYWNpdHkgMHN9XG4udzMtaW5wdXR7cGFkZGluZzo4cHg7ZGlzcGxheTpibG9jaztib3JkZXI6bm9uZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjY2NjO3dpZHRoOjEwMCV9XG4udzMtc2VsZWN0e3BhZGRpbmc6OXB4IDA7d2lkdGg6MTAwJTtib3JkZXI6bm9uZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjY2NjfVxuLnczLWRyb3Bkb3duLWNsaWNrLC53My1kcm9wZG93bi1ob3Zlcntwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1ibG9jaztjdXJzb3I6cG9pbnRlcn1cbi53My1kcm9wZG93bi1ob3Zlcjpob3ZlciAudzMtZHJvcGRvd24tY29udGVudHtkaXNwbGF5OmJsb2NrfVxuLnczLWRyb3Bkb3duLWhvdmVyOmZpcnN0LWNoaWxkLC53My1kcm9wZG93bi1jbGljazpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNjY2M7Y29sb3I6IzAwMH1cbi53My1kcm9wZG93bi1ob3Zlcjpob3ZlciA+IC53My1idXR0b246Zmlyc3QtY2hpbGQsLnczLWRyb3Bkb3duLWNsaWNrOmhvdmVyID4gLnczLWJ1dHRvbjpmaXJzdC1jaGlsZHtiYWNrZ3JvdW5kLWNvbG9yOiNjY2M7Y29sb3I6IzAwMH1cbi53My1kcm9wZG93bi1jb250ZW50e2N1cnNvcjphdXRvO2NvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjojZmZmO2Rpc3BsYXk6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTttaW4td2lkdGg6MTYwcHg7bWFyZ2luOjA7cGFkZGluZzowO3otaW5kZXg6MX1cbi53My1jaGVjaywudzMtcmFkaW97d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6NnB4fVxuLnczLXNpZGViYXJ7aGVpZ2h0OjEwMCU7d2lkdGg6MjAwcHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO3Bvc2l0aW9uOmZpeGVkIWltcG9ydGFudDt6LWluZGV4OjE7b3ZlcmZsb3c6YXV0b31cbi53My1iYXItYmxvY2sgLnczLWRyb3Bkb3duLWhvdmVyLC53My1iYXItYmxvY2sgLnczLWRyb3Bkb3duLWNsaWNre3dpZHRoOjEwMCV9XG4udzMtYmFyLWJsb2NrIC53My1kcm9wZG93bi1ob3ZlciAudzMtZHJvcGRvd24tY29udGVudCwudzMtYmFyLWJsb2NrIC53My1kcm9wZG93bi1jbGljayAudzMtZHJvcGRvd24tY29udGVudHttaW4td2lkdGg6MTAwJX1cbi53My1iYXItYmxvY2sgLnczLWRyb3Bkb3duLWhvdmVyIC53My1idXR0b24sLnczLWJhci1ibG9jayAudzMtZHJvcGRvd24tY2xpY2sgLnczLWJ1dHRvbnt3aWR0aDoxMDAlO3RleHQtYWxpZ246bGVmdDtwYWRkaW5nOjhweCAxNnB4fVxuLnczLW1haW4sI21haW57dHJhbnNpdGlvbjptYXJnaW4tbGVmdCAuNHN9XG4udzMtbW9kYWx7ei1pbmRleDozO2Rpc3BsYXk6bm9uZTtwYWRkaW5nLXRvcDoxMDBweDtwb3NpdGlvbjpmaXhlZDtsZWZ0OjA7dG9wOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvdmVyZmxvdzphdXRvO2JhY2tncm91bmQtY29sb3I6cmdiKDAsMCwwKTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC40KX1cbi53My1tb2RhbC1jb250ZW50e21hcmdpbjphdXRvO2JhY2tncm91bmQtY29sb3I6I2ZmZjtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nOjA7b3V0bGluZTowO3dpZHRoOjYwMHB4fVxuLnczLWJhcnt3aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbn0udzMtY2VudGVyIC53My1iYXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6YXV0b31cbi53My1iYXIgLnczLWJhci1pdGVte3BhZGRpbmc6OHB4IDE2cHg7ZmxvYXQ6bGVmdDt3aWR0aDphdXRvO2JvcmRlcjpub25lO2Rpc3BsYXk6YmxvY2s7b3V0bGluZTowfVxuLnczLWJhciAudzMtZHJvcGRvd24taG92ZXIsLnczLWJhciAudzMtZHJvcGRvd24tY2xpY2t7cG9zaXRpb246c3RhdGljO2Zsb2F0OmxlZnR9XG4udzMtYmFyIC53My1idXR0b257d2hpdGUtc3BhY2U6bm9ybWFsfVxuLnczLWJhci1ibG9jayAudzMtYmFyLWl0ZW17d2lkdGg6MTAwJTtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6OHB4IDE2cHg7dGV4dC1hbGlnbjpsZWZ0O2JvcmRlcjpub25lO3doaXRlLXNwYWNlOm5vcm1hbDtmbG9hdDpub25lO291dGxpbmU6MH1cbi53My1iYXItYmxvY2sudzMtY2VudGVyIC53My1iYXItaXRlbXt0ZXh0LWFsaWduOmNlbnRlcn0udzMtYmxvY2t7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlfVxuLnczLXJlc3BvbnNpdmV7ZGlzcGxheTpibG9jaztvdmVyZmxvdy14OmF1dG99XG4udzMtY29udGFpbmVyOmFmdGVyLC53My1jb250YWluZXI6YmVmb3JlLC53My1wYW5lbDphZnRlciwudzMtcGFuZWw6YmVmb3JlLC53My1yb3c6YWZ0ZXIsLnczLXJvdzpiZWZvcmUsLnczLXJvdy1wYWRkaW5nOmFmdGVyLC53My1yb3ctcGFkZGluZzpiZWZvcmUsXG4udzMtY2VsbC1yb3c6YmVmb3JlLC53My1jZWxsLXJvdzphZnRlciwudzMtY2xlYXI6YWZ0ZXIsLnczLWNsZWFyOmJlZm9yZSwudzMtYmFyOmJlZm9yZSwudzMtYmFyOmFmdGVye2NvbnRlbnQ6XCJcIjtkaXNwbGF5OnRhYmxlO2NsZWFyOmJvdGh9XG4udzMtY29sLC53My1oYWxmLC53My10aGlyZCwudzMtdHdvdGhpcmQsLnczLXRocmVlcXVhcnRlciwudzMtcXVhcnRlcntmbG9hdDpsZWZ0O3dpZHRoOjEwMCV9XG4udzMtY29sLnMxe3dpZHRoOjguMzMzMzMlfS53My1jb2wuczJ7d2lkdGg6MTYuNjY2NjYlfS53My1jb2wuczN7d2lkdGg6MjQuOTk5OTklfS53My1jb2wuczR7d2lkdGg6MzMuMzMzMzMlfVxuLnczLWNvbC5zNXt3aWR0aDo0MS42NjY2NiV9LnczLWNvbC5zNnt3aWR0aDo0OS45OTk5OSV9LnczLWNvbC5zN3t3aWR0aDo1OC4zMzMzMyV9LnczLWNvbC5zOHt3aWR0aDo2Ni42NjY2NiV9XG4udzMtY29sLnM5e3dpZHRoOjc0Ljk5OTk5JX0udzMtY29sLnMxMHt3aWR0aDo4My4zMzMzMyV9LnczLWNvbC5zMTF7d2lkdGg6OTEuNjY2NjYlfS53My1jb2wuczEye3dpZHRoOjk5Ljk5OTk5JX1cbkBtZWRpYSAobWluLXdpZHRoOjYwMXB4KXsudzMtY29sLm0xe3dpZHRoOjguMzMzMzMlfS53My1jb2wubTJ7d2lkdGg6MTYuNjY2NjYlfS53My1jb2wubTMsLnczLXF1YXJ0ZXJ7d2lkdGg6MjQuOTk5OTklfS53My1jb2wubTQsLnczLXRoaXJke3dpZHRoOjMzLjMzMzMzJX1cbi53My1jb2wubTV7d2lkdGg6NDEuNjY2NjYlfS53My1jb2wubTYsLnczLWhhbGZ7d2lkdGg6NDkuOTk5OTklfS53My1jb2wubTd7d2lkdGg6NTguMzMzMzMlfS53My1jb2wubTgsLnczLXR3b3RoaXJke3dpZHRoOjY2LjY2NjY2JX1cbi53My1jb2wubTksLnczLXRocmVlcXVhcnRlcnt3aWR0aDo3NC45OTk5OSV9LnczLWNvbC5tMTB7d2lkdGg6ODMuMzMzMzMlfS53My1jb2wubTExe3dpZHRoOjkxLjY2NjY2JX0udzMtY29sLm0xMnt3aWR0aDo5OS45OTk5OSV9fVxuQG1lZGlhIChtaW4td2lkdGg6OTkzcHgpey53My1jb2wubDF7d2lkdGg6OC4zMzMzMyV9LnczLWNvbC5sMnt3aWR0aDoxNi42NjY2NiV9LnczLWNvbC5sM3t3aWR0aDoyNC45OTk5OSV9LnczLWNvbC5sNHt3aWR0aDozMy4zMzMzMyV9XG4udzMtY29sLmw1e3dpZHRoOjQxLjY2NjY2JX0udzMtY29sLmw2e3dpZHRoOjQ5Ljk5OTk5JX0udzMtY29sLmw3e3dpZHRoOjU4LjMzMzMzJX0udzMtY29sLmw4e3dpZHRoOjY2LjY2NjY2JX1cbi53My1jb2wubDl7d2lkdGg6NzQuOTk5OTklfS53My1jb2wubDEwe3dpZHRoOjgzLjMzMzMzJX0udzMtY29sLmwxMXt3aWR0aDo5MS42NjY2NiV9LnczLWNvbC5sMTJ7d2lkdGg6OTkuOTk5OTklfX1cbi53My1yZXN0e292ZXJmbG93OmhpZGRlbn0udzMtc3RyZXRjaHttYXJnaW4tbGVmdDotMTZweDttYXJnaW4tcmlnaHQ6LTE2cHh9XG4udzMtY29udGVudCwudzMtYXV0b3ttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvfS53My1jb250ZW50e21heC13aWR0aDo5ODBweH0udzMtYXV0b3ttYXgtd2lkdGg6MTE0MHB4fVxuLnczLWNlbGwtcm93e2Rpc3BsYXk6dGFibGU7d2lkdGg6MTAwJX0udzMtY2VsbHtkaXNwbGF5OnRhYmxlLWNlbGx9XG4udzMtY2VsbC10b3B7dmVydGljYWwtYWxpZ246dG9wfS53My1jZWxsLW1pZGRsZXt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnczLWNlbGwtYm90dG9te3ZlcnRpY2FsLWFsaWduOmJvdHRvbX1cbi53My1oaWRle2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LnczLXNob3ctYmxvY2ssLnczLXNob3d7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9LnczLXNob3ctaW5saW5lLWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudH1cbkBtZWRpYSAobWF4LXdpZHRoOjEyMDVweCl7LnczLWF1dG97bWF4LXdpZHRoOjk1JX19XG5AbWVkaWEgKG1heC13aWR0aDo2MDBweCl7LnczLW1vZGFsLWNvbnRlbnR7bWFyZ2luOjAgMTBweDt3aWR0aDphdXRvIWltcG9ydGFudH0udzMtbW9kYWx7cGFkZGluZy10b3A6MzBweH1cbi53My1kcm9wZG93bi1ob3Zlci53My1tb2JpbGUgLnczLWRyb3Bkb3duLWNvbnRlbnQsLnczLWRyb3Bkb3duLWNsaWNrLnczLW1vYmlsZSAudzMtZHJvcGRvd24tY29udGVudHtwb3NpdGlvbjpyZWxhdGl2ZX1cdFxuLnczLWhpZGUtc21hbGx7ZGlzcGxheTpub25lIWltcG9ydGFudH0udzMtbW9iaWxle2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJSFpbXBvcnRhbnR9LnczLWJhci1pdGVtLnczLW1vYmlsZSwudzMtZHJvcGRvd24taG92ZXIudzMtbW9iaWxlLC53My1kcm9wZG93bi1jbGljay53My1tb2JpbGV7dGV4dC1hbGlnbjpjZW50ZXJ9XG4udzMtZHJvcGRvd24taG92ZXIudzMtbW9iaWxlLC53My1kcm9wZG93bi1ob3Zlci53My1tb2JpbGUgLnczLWJ0biwudzMtZHJvcGRvd24taG92ZXIudzMtbW9iaWxlIC53My1idXR0b24sLnczLWRyb3Bkb3duLWNsaWNrLnczLW1vYmlsZSwudzMtZHJvcGRvd24tY2xpY2sudzMtbW9iaWxlIC53My1idG4sLnczLWRyb3Bkb3duLWNsaWNrLnczLW1vYmlsZSAudzMtYnV0dG9ue3dpZHRoOjEwMCV9fVxuQG1lZGlhIChtYXgtd2lkdGg6NzY4cHgpey53My1tb2RhbC1jb250ZW50e3dpZHRoOjUwMHB4fS53My1tb2RhbHtwYWRkaW5nLXRvcDo1MHB4fX1cbkBtZWRpYSAobWluLXdpZHRoOjk5M3B4KXsudzMtbW9kYWwtY29udGVudHt3aWR0aDo5MDBweH0udzMtaGlkZS1sYXJnZXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS53My1zaWRlYmFyLnczLWNvbGxhcHNle2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fX1cbkBtZWRpYSAobWF4LXdpZHRoOjk5MnB4KSBhbmQgKG1pbi13aWR0aDo2MDFweCl7LnczLWhpZGUtbWVkaXVte2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9fVxuQG1lZGlhIChtYXgtd2lkdGg6OTkycHgpey53My1zaWRlYmFyLnczLWNvbGxhcHNle2Rpc3BsYXk6bm9uZX0udzMtbWFpbnttYXJnaW4tbGVmdDowIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6MCFpbXBvcnRhbnR9LnczLWF1dG97bWF4LXdpZHRoOjEwMCV9fVxuLnczLXRvcCwudzMtYm90dG9te3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7ei1pbmRleDoxfS53My10b3B7dG9wOjB9LnczLWJvdHRvbXtib3R0b206MH1cbi53My1vdmVybGF5e3Bvc2l0aW9uOmZpeGVkO2Rpc3BsYXk6bm9uZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjUpO3otaW5kZXg6Mn1cbi53My1kaXNwbGF5LXRvcGxlZnR7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowfS53My1kaXNwbGF5LXRvcHJpZ2h0e3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjB9XG4udzMtZGlzcGxheS1ib3R0b21sZWZ0e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtib3R0b206MH0udzMtZGlzcGxheS1ib3R0b21yaWdodHtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO2JvdHRvbTowfVxuLnczLWRpc3BsYXktbWlkZGxle3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSl9XG4udzMtZGlzcGxheS1sZWZ0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDowJTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAlLC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKC0wJSwtNTAlKX1cbi53My1kaXNwbGF5LXJpZ2h0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7cmlnaHQ6MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwJSwtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwJSwtNTAlKX1cbi53My1kaXNwbGF5LXRvcG1pZGRsZXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTt0b3A6MDt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsMCUpfVxuLnczLWRpc3BsYXktYm90dG9tbWlkZGxle3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO2JvdHRvbTowO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwwJSl9XG4udzMtZGlzcGxheS1jb250YWluZXI6aG92ZXIgLnczLWRpc3BsYXktaG92ZXJ7ZGlzcGxheTpibG9ja30udzMtZGlzcGxheS1jb250YWluZXI6aG92ZXIgc3Bhbi53My1kaXNwbGF5LWhvdmVye2Rpc3BsYXk6aW5saW5lLWJsb2NrfS53My1kaXNwbGF5LWhvdmVye2Rpc3BsYXk6bm9uZX1cbi53My1kaXNwbGF5LXBvc2l0aW9ue3Bvc2l0aW9uOmFic29sdXRlfVxuLnczLWNpcmNsZXtib3JkZXItcmFkaXVzOjUwJX1cbi53My1yb3VuZC1zbWFsbHtib3JkZXItcmFkaXVzOjJweH0udzMtcm91bmQsLnczLXJvdW5kLW1lZGl1bXtib3JkZXItcmFkaXVzOjRweH0udzMtcm91bmQtbGFyZ2V7Ym9yZGVyLXJhZGl1czo4cHh9LnczLXJvdW5kLXhsYXJnZXtib3JkZXItcmFkaXVzOjE2cHh9LnczLXJvdW5kLXh4bGFyZ2V7Ym9yZGVyLXJhZGl1czozMnB4fVxuLnczLXJvdy1wYWRkaW5nLC53My1yb3ctcGFkZGluZz4udzMtaGFsZiwudzMtcm93LXBhZGRpbmc+LnczLXRoaXJkLC53My1yb3ctcGFkZGluZz4udzMtdHdvdGhpcmQsLnczLXJvdy1wYWRkaW5nPi53My10aHJlZXF1YXJ0ZXIsLnczLXJvdy1wYWRkaW5nPi53My1xdWFydGVyLC53My1yb3ctcGFkZGluZz4udzMtY29se3BhZGRpbmc6MCA4cHh9XG4udzMtY29udGFpbmVyLC53My1wYW5lbHtwYWRkaW5nOjAuMDFlbSAxNnB4fS53My1wYW5lbHttYXJnaW4tdG9wOjE2cHg7bWFyZ2luLWJvdHRvbToxNnB4fVxuLnczLWNvZGUsLnczLWNvZGVzcGFue2ZvbnQtZmFtaWx5OkNvbnNvbGFzLFwiY291cmllciBuZXdcIjtmb250LXNpemU6MTZweH1cbi53My1jb2Rle3dpZHRoOmF1dG87YmFja2dyb3VuZC1jb2xvcjojZmZmO3BhZGRpbmc6OHB4IDEycHg7Ym9yZGVyLWxlZnQ6NHB4IHNvbGlkICM0Q0FGNTA7d29yZC13cmFwOmJyZWFrLXdvcmR9XG4udzMtY29kZXNwYW57Y29sb3I6Y3JpbXNvbjtiYWNrZ3JvdW5kLWNvbG9yOiNmMWYxZjE7cGFkZGluZy1sZWZ0OjRweDtwYWRkaW5nLXJpZ2h0OjRweDtmb250LXNpemU6MTEwJX1cbi53My1jYXJkLC53My1jYXJkLTJ7Ym94LXNoYWRvdzowIDJweCA1cHggMCByZ2JhKDAsMCwwLDAuMTYpLDAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLDAuMTIpfVxuLnczLWNhcmQtNCwudzMtaG92ZXItc2hhZG93OmhvdmVye2JveC1zaGFkb3c6MCA0cHggMTBweCAwIHJnYmEoMCwwLDAsMC4yKSwwIDRweCAyMHB4IDAgcmdiYSgwLDAsMCwwLjE5KX1cbi53My1zcGlue2FuaW1hdGlvbjp3My1zcGluIDJzIGluZmluaXRlIGxpbmVhcn1Aa2V5ZnJhbWVzIHczLXNwaW57MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX0xMDAle3RyYW5zZm9ybTpyb3RhdGUoMzU5ZGVnKX19XG4udzMtYW5pbWF0ZS1mYWRpbmd7YW5pbWF0aW9uOmZhZGluZyAxMHMgaW5maW5pdGV9QGtleWZyYW1lcyBmYWRpbmd7MCV7b3BhY2l0eTowfTUwJXtvcGFjaXR5OjF9MTAwJXtvcGFjaXR5OjB9fVxuLnczLWFuaW1hdGUtb3BhY2l0eXthbmltYXRpb246b3BhYyAwLjhzfUBrZXlmcmFtZXMgb3BhY3tmcm9te29wYWNpdHk6MH0gdG97b3BhY2l0eToxfX1cbi53My1hbmltYXRlLXRvcHtwb3NpdGlvbjpyZWxhdGl2ZTthbmltYXRpb246YW5pbWF0ZXRvcCAwLjRzfUBrZXlmcmFtZXMgYW5pbWF0ZXRvcHtmcm9te3RvcDotMzAwcHg7b3BhY2l0eTowfSB0b3t0b3A6MDtvcGFjaXR5OjF9fVxuLnczLWFuaW1hdGUtbGVmdHtwb3NpdGlvbjpyZWxhdGl2ZTthbmltYXRpb246YW5pbWF0ZWxlZnQgMC40c31Aa2V5ZnJhbWVzIGFuaW1hdGVsZWZ0e2Zyb217bGVmdDotMzAwcHg7b3BhY2l0eTowfSB0b3tsZWZ0OjA7b3BhY2l0eToxfX1cbi53My1hbmltYXRlLXJpZ2h0e3Bvc2l0aW9uOnJlbGF0aXZlO2FuaW1hdGlvbjphbmltYXRlcmlnaHQgMC40c31Aa2V5ZnJhbWVzIGFuaW1hdGVyaWdodHtmcm9te3JpZ2h0Oi0zMDBweDtvcGFjaXR5OjB9IHRve3JpZ2h0OjA7b3BhY2l0eToxfX1cbi53My1hbmltYXRlLWJvdHRvbXtwb3NpdGlvbjpyZWxhdGl2ZTthbmltYXRpb246YW5pbWF0ZWJvdHRvbSAwLjRzfUBrZXlmcmFtZXMgYW5pbWF0ZWJvdHRvbXtmcm9te2JvdHRvbTotMzAwcHg7b3BhY2l0eTowfSB0b3tib3R0b206MDtvcGFjaXR5OjF9fVxuLnczLWFuaW1hdGUtem9vbSB7YW5pbWF0aW9uOmFuaW1hdGV6b29tIDAuNnN9QGtleWZyYW1lcyBhbmltYXRlem9vbXtmcm9te3RyYW5zZm9ybTpzY2FsZSgwKX0gdG97dHJhbnNmb3JtOnNjYWxlKDEpfX1cbi53My1hbmltYXRlLWlucHV0e3RyYW5zaXRpb246d2lkdGggMC40cyBlYXNlLWluLW91dH0udzMtYW5pbWF0ZS1pbnB1dDpmb2N1c3t3aWR0aDoxMDAlIWltcG9ydGFudH1cbi53My1vcGFjaXR5LC53My1ob3Zlci1vcGFjaXR5OmhvdmVye29wYWNpdHk6MC42MH0udzMtb3BhY2l0eS1vZmYsLnczLWhvdmVyLW9wYWNpdHktb2ZmOmhvdmVye29wYWNpdHk6MX1cbi53My1vcGFjaXR5LW1heHtvcGFjaXR5OjAuMjV9LnczLW9wYWNpdHktbWlue29wYWNpdHk6MC43NX1cbi53My1ncmV5c2NhbGUtbWF4LC53My1ncmF5c2NhbGUtbWF4LC53My1ob3Zlci1ncmV5c2NhbGU6aG92ZXIsLnczLWhvdmVyLWdyYXlzY2FsZTpob3ZlcntmaWx0ZXI6Z3JheXNjYWxlKDEwMCUpfVxuLnczLWdyZXlzY2FsZSwudzMtZ3JheXNjYWxle2ZpbHRlcjpncmF5c2NhbGUoNzUlKX0udzMtZ3JleXNjYWxlLW1pbiwudzMtZ3JheXNjYWxlLW1pbntmaWx0ZXI6Z3JheXNjYWxlKDUwJSl9XG4udzMtc2VwaWF7ZmlsdGVyOnNlcGlhKDc1JSl9LnczLXNlcGlhLW1heCwudzMtaG92ZXItc2VwaWE6aG92ZXJ7ZmlsdGVyOnNlcGlhKDEwMCUpfS53My1zZXBpYS1taW57ZmlsdGVyOnNlcGlhKDUwJSl9XG4udzMtdGlueXtmb250LXNpemU6MTBweCFpbXBvcnRhbnR9LnczLXNtYWxse2ZvbnQtc2l6ZToxMnB4IWltcG9ydGFudH0udzMtbWVkaXVte2ZvbnQtc2l6ZToxNXB4IWltcG9ydGFudH0udzMtbGFyZ2V7Zm9udC1zaXplOjE4cHghaW1wb3J0YW50fVxuLnczLXhsYXJnZXtmb250LXNpemU6MjRweCFpbXBvcnRhbnR9LnczLXh4bGFyZ2V7Zm9udC1zaXplOjM2cHghaW1wb3J0YW50fS53My14eHhsYXJnZXtmb250LXNpemU6NDhweCFpbXBvcnRhbnR9LnczLWp1bWJve2ZvbnQtc2l6ZTo2NHB4IWltcG9ydGFudH1cbi53My1sZWZ0LWFsaWdue3RleHQtYWxpZ246bGVmdCFpbXBvcnRhbnR9LnczLXJpZ2h0LWFsaWdue3RleHQtYWxpZ246cmlnaHQhaW1wb3J0YW50fS53My1qdXN0aWZ5e3RleHQtYWxpZ246anVzdGlmeSFpbXBvcnRhbnR9LnczLWNlbnRlcnt0ZXh0LWFsaWduOmNlbnRlciFpbXBvcnRhbnR9XG4udzMtYm9yZGVyLTB7Ym9yZGVyOjAhaW1wb3J0YW50fS53My1ib3JkZXJ7Ym9yZGVyOjFweCBzb2xpZCAjY2NjIWltcG9ydGFudH1cbi53My1ib3JkZXItdG9we2JvcmRlci10b3A6MXB4IHNvbGlkICNjY2MhaW1wb3J0YW50fS53My1ib3JkZXItYm90dG9te2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNjY2MhaW1wb3J0YW50fVxuLnczLWJvcmRlci1sZWZ0e2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjY2NjIWltcG9ydGFudH0udzMtYm9yZGVyLXJpZ2h0e2JvcmRlci1yaWdodDoxcHggc29saWQgI2NjYyFpbXBvcnRhbnR9XG4udzMtdG9wYmFye2JvcmRlci10b3A6NnB4IHNvbGlkICNjY2MhaW1wb3J0YW50fS53My1ib3R0b21iYXJ7Ym9yZGVyLWJvdHRvbTo2cHggc29saWQgI2NjYyFpbXBvcnRhbnR9XG4udzMtbGVmdGJhcntib3JkZXItbGVmdDo2cHggc29saWQgI2NjYyFpbXBvcnRhbnR9LnczLXJpZ2h0YmFye2JvcmRlci1yaWdodDo2cHggc29saWQgI2NjYyFpbXBvcnRhbnR9XG4udzMtc2VjdGlvbiwudzMtY29kZXttYXJnaW4tdG9wOjE2cHghaW1wb3J0YW50O21hcmdpbi1ib3R0b206MTZweCFpbXBvcnRhbnR9XG4udzMtbWFyZ2lue21hcmdpbjoxNnB4IWltcG9ydGFudH0udzMtbWFyZ2luLXRvcHttYXJnaW4tdG9wOjE2cHghaW1wb3J0YW50fS53My1tYXJnaW4tYm90dG9te21hcmdpbi1ib3R0b206MTZweCFpbXBvcnRhbnR9XG4udzMtbWFyZ2luLWxlZnR7bWFyZ2luLWxlZnQ6MTZweCFpbXBvcnRhbnR9LnczLW1hcmdpbi1yaWdodHttYXJnaW4tcmlnaHQ6MTZweCFpbXBvcnRhbnR9XG4udzMtcGFkZGluZy1zbWFsbHtwYWRkaW5nOjRweCA4cHghaW1wb3J0YW50fS53My1wYWRkaW5ne3BhZGRpbmc6OHB4IDE2cHghaW1wb3J0YW50fS53My1wYWRkaW5nLWxhcmdle3BhZGRpbmc6MTJweCAyNHB4IWltcG9ydGFudH1cbi53My1wYWRkaW5nLTE2e3BhZGRpbmctdG9wOjE2cHghaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOjE2cHghaW1wb3J0YW50fS53My1wYWRkaW5nLTI0e3BhZGRpbmctdG9wOjI0cHghaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOjI0cHghaW1wb3J0YW50fVxuLnczLXBhZGRpbmctMzJ7cGFkZGluZy10b3A6MzJweCFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206MzJweCFpbXBvcnRhbnR9LnczLXBhZGRpbmctNDh7cGFkZGluZy10b3A6NDhweCFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206NDhweCFpbXBvcnRhbnR9XG4udzMtcGFkZGluZy02NHtwYWRkaW5nLXRvcDo2NHB4IWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTo2NHB4IWltcG9ydGFudH1cbi53My1wYWRkaW5nLXRvcC02NHtwYWRkaW5nLXRvcDo2NHB4IWltcG9ydGFudH0udzMtcGFkZGluZy10b3AtNDh7cGFkZGluZy10b3A6NDhweCFpbXBvcnRhbnR9XG4udzMtcGFkZGluZy10b3AtMzJ7cGFkZGluZy10b3A6MzJweCFpbXBvcnRhbnR9LnczLXBhZGRpbmctdG9wLTI0e3BhZGRpbmctdG9wOjI0cHghaW1wb3J0YW50fVxuLnczLWxlZnR7ZmxvYXQ6bGVmdCFpbXBvcnRhbnR9LnczLXJpZ2h0e2Zsb2F0OnJpZ2h0IWltcG9ydGFudH1cbi53My1idXR0b246aG92ZXJ7Y29sb3I6IzAwMCFpbXBvcnRhbnQ7YmFja2dyb3VuZC1jb2xvcjojY2NjIWltcG9ydGFudH1cbi53My10cmFuc3BhcmVudCwudzMtaG92ZXItbm9uZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50IWltcG9ydGFudH1cbi53My1ob3Zlci1ub25lOmhvdmVye2JveC1zaGFkb3c6bm9uZSFpbXBvcnRhbnR9XG4vKiBDb2xvcnMgKi9cbi53My1hbWJlciwudzMtaG92ZXItYW1iZXI6aG92ZXJ7Y29sb3I6IzAwMCFpbXBvcnRhbnQ7YmFja2dyb3VuZC1jb2xvcjojZmZjMTA3IWltcG9ydGFudH1cbi53My1hcXVhLC53My1ob3Zlci1hcXVhOmhvdmVye2NvbG9yOiMwMDAhaW1wb3J0YW50O2JhY2tncm91bmQtY29sb3I6IzAwZmZmZiFpbXBvcnRhbnR9XG4udzMtYmx1ZSwudzMtaG92ZXItYmx1ZTpob3Zlcntjb2xvcjojZmZmIWltcG9ydGFudDtiYWNrZ3JvdW5kLWNvbG9yOiMyMTk2RjMhaW1wb3J0YW50fVxuLnczLWxpZ2h0LWJsdWUsLnczLWhvdmVyLWxpZ2h0LWJsdWU6aG92ZXJ7Y29sb3I6IzAwMCFpbXBvcnRhbnQ7YmFja2dyb3VuZC1jb2xvcjojODdDRUVCIWltcG9ydGFudH1cbi53My1icm93biwudzMtaG92ZXItYnJvd246aG92ZXJ7Y29sb3I6I2ZmZiFpbXBvcnRhbnQ7YmFja2dyb3VuZC1jb2xvcjojNzk1NTQ4IWltcG9ydGFudH1cbi53My1jeWFuLC53My1ob3Zlci1jeWFuOmhvdmVye2NvbG9yOiMwMDAhaW1wb3J0YW50O2JhY2tncm91bmQtY29sb3I6IzAwYmNkNCFpbXBvcnRhbnR9XG4udzMtYmx1ZS1ncmV5LC53My1ob3Zlci1ibHVlLWdyZXk6aG92ZXIsLnczLWJsdWUtZ3JheSwudzMtaG92ZXItYmx1ZS1ncmF5OmhvdmVye2NvbG9yOiNmZmYhaW1wb3J0YW50O2JhY2tncm91bmQtY29sb3I6IzYwN2Q4YiFpbXBvcnRhbnR9XG4udzMtZ3JlZW4sLnczLWhvdmVyLWdyZWVuOmhvdmVye2NvbG9yOiNmZmYhaW1wb3J0YW50O2JhY2tncm91bmQtY29sb3I6IzRDQUY1MCFpbXBvcnRhbnR9XG4udzMtbGlnaHQtZ3JlZW4sLnczLWhvdmVyLWxpZ2h0LWdyZWVuOmhvdmVye2NvbG9yOiMwMDAhaW1wb3J0YW50O2JhY2tncm91bmQtY29sb3I6IzhiYzM0YSFpbXBvcnRhbnR9XG4udzMtaW5kaWdvLC53My1ob3Zlci1pbmRpZ286aG92ZXJ7Y29sb3I6I2ZmZiFpbXBvcnRhbnQ7YmFja2dyb3VuZC1jb2xvcjojM2Y1MWI1IWltcG9ydGFudH1cbi53My1raGFraSwudzMtaG92ZXIta2hha2k6aG92ZXJ7Y29sb3I6IzAwMCFpbXBvcnRhbnQ7YmFja2dyb3VuZC1jb2xvcjojZjBlNjhjIWltcG9ydGFudH1cbi53My1saW1lLC53My1ob3Zlci1saW1lOmhvdmVye2NvbG9yOiMwMDAhaW1wb3J0YW50O2JhY2tncm91bmQtY29sb3I6I2NkZGMzOSFpbXBvcnRhbnR9XG4udzMtb3JhbmdlLC53My1ob3Zlci1vcmFuZ2U6aG92ZXJ7Y29sb3I6IzAwMCFpbXBvcnRhbnQ7YmFja2dyb3VuZC1jb2xvcjojZmY5ODAwIWltcG9ydGFudH1cbi53My1kZWVwLW9yYW5nZSwudzMtaG92ZXItZGVlcC1vcmFuZ2U6aG92ZXJ7Y29sb3I6I2ZmZiFpbXBvcnRhbnQ7YmFja2dyb3VuZC1jb2xvcjojZmY1NzIyIWltcG9ydGFudH1cbi53My1waW5rLC53My1ob3Zlci1waW5rOmhvdmVye2NvbG9yOiNmZmYhaW1wb3J0YW50O2JhY2tncm91bmQtY29sb3I6I2U5MWU2MyFpbXBvcnRhbnR9XG4udzMtcHVycGxlLC53My1ob3Zlci1wdXJwbGU6aG92ZXJ7Y29sb3I6I2ZmZiFpbXBvcnRhbnQ7YmFja2dyb3VuZC1jb2xvcjojOWMyN2IwIWltcG9ydGFudH1cbi53My1kZWVwLXB1cnBsZSwudzMtaG92ZXItZGVlcC1wdXJwbGU6aG92ZXJ7Y29sb3I6I2ZmZiFpbXBvcnRhbnQ7YmFja2dyb3VuZC1jb2xvcjojNjczYWI3IWltcG9ydGFudH1cbi53My1yZWQsLnczLWhvdmVyLXJlZDpob3Zlcntjb2xvcjojZmZmIWltcG9ydGFudDtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzYhaW1wb3J0YW50fVxuLnczLXNhbmQsLnczLWhvdmVyLXNhbmQ6aG92ZXJ7Y29sb3I6IzAwMCFpbXBvcnRhbnQ7YmFja2dyb3VuZC1jb2xvcjojZmRmNWU2IWltcG9ydGFudH1cbi53My10ZWFsLC53My1ob3Zlci10ZWFsOmhvdmVye2NvbG9yOiNmZmYhaW1wb3J0YW50O2JhY2tncm91bmQtY29sb3I6IzAwOTY4OCFpbXBvcnRhbnR9XG4udzMteWVsbG93LC53My1ob3Zlci15ZWxsb3c6aG92ZXJ7Y29sb3I6IzAwMCFpbXBvcnRhbnQ7YmFja2dyb3VuZC1jb2xvcjojZmZlYjNiIWltcG9ydGFudH1cbi53My13aGl0ZSwudzMtaG92ZXItd2hpdGU6aG92ZXJ7Y29sb3I6IzAwMCFpbXBvcnRhbnQ7YmFja2dyb3VuZC1jb2xvcjojZmZmIWltcG9ydGFudH1cbi53My1ibGFjaywudzMtaG92ZXItYmxhY2s6aG92ZXJ7Y29sb3I6I2ZmZiFpbXBvcnRhbnQ7YmFja2dyb3VuZC1jb2xvcjojMDAwIWltcG9ydGFudH1cbi53My1ncmV5LC53My1ob3Zlci1ncmV5OmhvdmVyLC53My1ncmF5LC53My1ob3Zlci1ncmF5OmhvdmVye2NvbG9yOiMwMDAhaW1wb3J0YW50O2JhY2tncm91bmQtY29sb3I6IzllOWU5ZSFpbXBvcnRhbnR9XG4udzMtbGlnaHQtZ3JleSwudzMtaG92ZXItbGlnaHQtZ3JleTpob3ZlciwudzMtbGlnaHQtZ3JheSwudzMtaG92ZXItbGlnaHQtZ3JheTpob3Zlcntjb2xvcjojMDAwIWltcG9ydGFudDtiYWNrZ3JvdW5kLWNvbG9yOiNmMWYxZjEhaW1wb3J0YW50fVxuLnczLWRhcmstZ3JleSwudzMtaG92ZXItZGFyay1ncmV5OmhvdmVyLC53My1kYXJrLWdyYXksLnczLWhvdmVyLWRhcmstZ3JheTpob3Zlcntjb2xvcjojZmZmIWltcG9ydGFudDtiYWNrZ3JvdW5kLWNvbG9yOiM2MTYxNjEhaW1wb3J0YW50fVxuLnczLXBhbGUtcmVkLC53My1ob3Zlci1wYWxlLXJlZDpob3Zlcntjb2xvcjojMDAwIWltcG9ydGFudDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmRkZGQhaW1wb3J0YW50fVxuLnczLXBhbGUtZ3JlZW4sLnczLWhvdmVyLXBhbGUtZ3JlZW46aG92ZXJ7Y29sb3I6IzAwMCFpbXBvcnRhbnQ7YmFja2dyb3VuZC1jb2xvcjojZGRmZmRkIWltcG9ydGFudH1cbi53My1wYWxlLXllbGxvdywudzMtaG92ZXItcGFsZS15ZWxsb3c6aG92ZXJ7Y29sb3I6IzAwMCFpbXBvcnRhbnQ7YmFja2dyb3VuZC1jb2xvcjojZmZmZmNjIWltcG9ydGFudH1cbi53My1wYWxlLWJsdWUsLnczLWhvdmVyLXBhbGUtYmx1ZTpob3Zlcntjb2xvcjojMDAwIWltcG9ydGFudDtiYWNrZ3JvdW5kLWNvbG9yOiNkZGZmZmYhaW1wb3J0YW50fVxuLnczLXRleHQtYW1iZXIsLnczLWhvdmVyLXRleHQtYW1iZXI6aG92ZXJ7Y29sb3I6I2ZmYzEwNyFpbXBvcnRhbnR9XG4udzMtdGV4dC1hcXVhLC53My1ob3Zlci10ZXh0LWFxdWE6aG92ZXJ7Y29sb3I6IzAwZmZmZiFpbXBvcnRhbnR9XG4udzMtdGV4dC1ibHVlLC53My1ob3Zlci10ZXh0LWJsdWU6aG92ZXJ7Y29sb3I6IzIxOTZGMyFpbXBvcnRhbnR9XG4udzMtdGV4dC1saWdodC1ibHVlLC53My1ob3Zlci10ZXh0LWxpZ2h0LWJsdWU6aG92ZXJ7Y29sb3I6Izg3Q0VFQiFpbXBvcnRhbnR9XG4udzMtdGV4dC1icm93biwudzMtaG92ZXItdGV4dC1icm93bjpob3Zlcntjb2xvcjojNzk1NTQ4IWltcG9ydGFudH1cbi53My10ZXh0LWN5YW4sLnczLWhvdmVyLXRleHQtY3lhbjpob3Zlcntjb2xvcjojMDBiY2Q0IWltcG9ydGFudH1cbi53My10ZXh0LWJsdWUtZ3JleSwudzMtaG92ZXItdGV4dC1ibHVlLWdyZXk6aG92ZXIsLnczLXRleHQtYmx1ZS1ncmF5LC53My1ob3Zlci10ZXh0LWJsdWUtZ3JheTpob3Zlcntjb2xvcjojNjA3ZDhiIWltcG9ydGFudH1cbi53My10ZXh0LWdyZWVuLC53My1ob3Zlci10ZXh0LWdyZWVuOmhvdmVye2NvbG9yOiM0Q0FGNTAhaW1wb3J0YW50fVxuLnczLXRleHQtbGlnaHQtZ3JlZW4sLnczLWhvdmVyLXRleHQtbGlnaHQtZ3JlZW46aG92ZXJ7Y29sb3I6IzhiYzM0YSFpbXBvcnRhbnR9XG4udzMtdGV4dC1pbmRpZ28sLnczLWhvdmVyLXRleHQtaW5kaWdvOmhvdmVye2NvbG9yOiMzZjUxYjUhaW1wb3J0YW50fVxuLnczLXRleHQta2hha2ksLnczLWhvdmVyLXRleHQta2hha2k6aG92ZXJ7Y29sb3I6I2I0YWE1MCFpbXBvcnRhbnR9XG4udzMtdGV4dC1saW1lLC53My1ob3Zlci10ZXh0LWxpbWU6aG92ZXJ7Y29sb3I6I2NkZGMzOSFpbXBvcnRhbnR9XG4udzMtdGV4dC1vcmFuZ2UsLnczLWhvdmVyLXRleHQtb3JhbmdlOmhvdmVye2NvbG9yOiNmZjk4MDAhaW1wb3J0YW50fVxuLnczLXRleHQtZGVlcC1vcmFuZ2UsLnczLWhvdmVyLXRleHQtZGVlcC1vcmFuZ2U6aG92ZXJ7Y29sb3I6I2ZmNTcyMiFpbXBvcnRhbnR9XG4udzMtdGV4dC1waW5rLC53My1ob3Zlci10ZXh0LXBpbms6aG92ZXJ7Y29sb3I6I2U5MWU2MyFpbXBvcnRhbnR9XG4udzMtdGV4dC1wdXJwbGUsLnczLWhvdmVyLXRleHQtcHVycGxlOmhvdmVye2NvbG9yOiM5YzI3YjAhaW1wb3J0YW50fVxuLnczLXRleHQtZGVlcC1wdXJwbGUsLnczLWhvdmVyLXRleHQtZGVlcC1wdXJwbGU6aG92ZXJ7Y29sb3I6IzY3M2FiNyFpbXBvcnRhbnR9XG4udzMtdGV4dC1yZWQsLnczLWhvdmVyLXRleHQtcmVkOmhvdmVye2NvbG9yOiNmNDQzMzYhaW1wb3J0YW50fVxuLnczLXRleHQtc2FuZCwudzMtaG92ZXItdGV4dC1zYW5kOmhvdmVye2NvbG9yOiNmZGY1ZTYhaW1wb3J0YW50fVxuLnczLXRleHQtdGVhbCwudzMtaG92ZXItdGV4dC10ZWFsOmhvdmVye2NvbG9yOiMwMDk2ODghaW1wb3J0YW50fVxuLnczLXRleHQteWVsbG93LC53My1ob3Zlci10ZXh0LXllbGxvdzpob3Zlcntjb2xvcjojZDJiZTBlIWltcG9ydGFudH1cbi53My10ZXh0LXdoaXRlLC53My1ob3Zlci10ZXh0LXdoaXRlOmhvdmVye2NvbG9yOiNmZmYhaW1wb3J0YW50fVxuLnczLXRleHQtYmxhY2ssLnczLWhvdmVyLXRleHQtYmxhY2s6aG92ZXJ7Y29sb3I6IzAwMCFpbXBvcnRhbnR9XG4udzMtdGV4dC1ncmV5LC53My1ob3Zlci10ZXh0LWdyZXk6aG92ZXIsLnczLXRleHQtZ3JheSwudzMtaG92ZXItdGV4dC1ncmF5OmhvdmVye2NvbG9yOiM3NTc1NzUhaW1wb3J0YW50fVxuLnczLXRleHQtbGlnaHQtZ3JleSwudzMtaG92ZXItdGV4dC1saWdodC1ncmV5OmhvdmVyLC53My10ZXh0LWxpZ2h0LWdyYXksLnczLWhvdmVyLXRleHQtbGlnaHQtZ3JheTpob3Zlcntjb2xvcjojZjFmMWYxIWltcG9ydGFudH1cbi53My10ZXh0LWRhcmstZ3JleSwudzMtaG92ZXItdGV4dC1kYXJrLWdyZXk6aG92ZXIsLnczLXRleHQtZGFyay1ncmF5LC53My1ob3Zlci10ZXh0LWRhcmstZ3JheTpob3Zlcntjb2xvcjojM2EzYTNhIWltcG9ydGFudH1cbi53My1ib3JkZXItYW1iZXIsLnczLWhvdmVyLWJvcmRlci1hbWJlcjpob3Zlcntib3JkZXItY29sb3I6I2ZmYzEwNyFpbXBvcnRhbnR9XG4udzMtYm9yZGVyLWFxdWEsLnczLWhvdmVyLWJvcmRlci1hcXVhOmhvdmVye2JvcmRlci1jb2xvcjojMDBmZmZmIWltcG9ydGFudH1cbi53My1ib3JkZXItYmx1ZSwudzMtaG92ZXItYm9yZGVyLWJsdWU6aG92ZXJ7Ym9yZGVyLWNvbG9yOiMyMTk2RjMhaW1wb3J0YW50fVxuLnczLWJvcmRlci1saWdodC1ibHVlLC53My1ob3Zlci1ib3JkZXItbGlnaHQtYmx1ZTpob3Zlcntib3JkZXItY29sb3I6Izg3Q0VFQiFpbXBvcnRhbnR9XG4udzMtYm9yZGVyLWJyb3duLC53My1ob3Zlci1ib3JkZXItYnJvd246aG92ZXJ7Ym9yZGVyLWNvbG9yOiM3OTU1NDghaW1wb3J0YW50fVxuLnczLWJvcmRlci1jeWFuLC53My1ob3Zlci1ib3JkZXItY3lhbjpob3Zlcntib3JkZXItY29sb3I6IzAwYmNkNCFpbXBvcnRhbnR9XG4udzMtYm9yZGVyLWJsdWUtZ3JleSwudzMtaG92ZXItYm9yZGVyLWJsdWUtZ3JleTpob3ZlciwudzMtYm9yZGVyLWJsdWUtZ3JheSwudzMtaG92ZXItYm9yZGVyLWJsdWUtZ3JheTpob3Zlcntib3JkZXItY29sb3I6IzYwN2Q4YiFpbXBvcnRhbnR9XG4udzMtYm9yZGVyLWdyZWVuLC53My1ob3Zlci1ib3JkZXItZ3JlZW46aG92ZXJ7Ym9yZGVyLWNvbG9yOiM0Q0FGNTAhaW1wb3J0YW50fVxuLnczLWJvcmRlci1saWdodC1ncmVlbiwudzMtaG92ZXItYm9yZGVyLWxpZ2h0LWdyZWVuOmhvdmVye2JvcmRlci1jb2xvcjojOGJjMzRhIWltcG9ydGFudH1cbi53My1ib3JkZXItaW5kaWdvLC53My1ob3Zlci1ib3JkZXItaW5kaWdvOmhvdmVye2JvcmRlci1jb2xvcjojM2Y1MWI1IWltcG9ydGFudH1cbi53My1ib3JkZXIta2hha2ksLnczLWhvdmVyLWJvcmRlci1raGFraTpob3Zlcntib3JkZXItY29sb3I6I2YwZTY4YyFpbXBvcnRhbnR9XG4udzMtYm9yZGVyLWxpbWUsLnczLWhvdmVyLWJvcmRlci1saW1lOmhvdmVye2JvcmRlci1jb2xvcjojY2RkYzM5IWltcG9ydGFudH1cbi53My1ib3JkZXItb3JhbmdlLC53My1ob3Zlci1ib3JkZXItb3JhbmdlOmhvdmVye2JvcmRlci1jb2xvcjojZmY5ODAwIWltcG9ydGFudH1cbi53My1ib3JkZXItZGVlcC1vcmFuZ2UsLnczLWhvdmVyLWJvcmRlci1kZWVwLW9yYW5nZTpob3Zlcntib3JkZXItY29sb3I6I2ZmNTcyMiFpbXBvcnRhbnR9XG4udzMtYm9yZGVyLXBpbmssLnczLWhvdmVyLWJvcmRlci1waW5rOmhvdmVye2JvcmRlci1jb2xvcjojZTkxZTYzIWltcG9ydGFudH1cbi53My1ib3JkZXItcHVycGxlLC53My1ob3Zlci1ib3JkZXItcHVycGxlOmhvdmVye2JvcmRlci1jb2xvcjojOWMyN2IwIWltcG9ydGFudH1cbi53My1ib3JkZXItZGVlcC1wdXJwbGUsLnczLWhvdmVyLWJvcmRlci1kZWVwLXB1cnBsZTpob3Zlcntib3JkZXItY29sb3I6IzY3M2FiNyFpbXBvcnRhbnR9XG4udzMtYm9yZGVyLXJlZCwudzMtaG92ZXItYm9yZGVyLXJlZDpob3Zlcntib3JkZXItY29sb3I6I2Y0NDMzNiFpbXBvcnRhbnR9XG4udzMtYm9yZGVyLXNhbmQsLnczLWhvdmVyLWJvcmRlci1zYW5kOmhvdmVye2JvcmRlci1jb2xvcjojZmRmNWU2IWltcG9ydGFudH1cbi53My1ib3JkZXItdGVhbCwudzMtaG92ZXItYm9yZGVyLXRlYWw6aG92ZXJ7Ym9yZGVyLWNvbG9yOiMwMDk2ODghaW1wb3J0YW50fVxuLnczLWJvcmRlci15ZWxsb3csLnczLWhvdmVyLWJvcmRlci15ZWxsb3c6aG92ZXJ7Ym9yZGVyLWNvbG9yOiNmZmViM2IhaW1wb3J0YW50fVxuLnczLWJvcmRlci13aGl0ZSwudzMtaG92ZXItYm9yZGVyLXdoaXRlOmhvdmVye2JvcmRlci1jb2xvcjojZmZmIWltcG9ydGFudH1cbi53My1ib3JkZXItYmxhY2ssLnczLWhvdmVyLWJvcmRlci1ibGFjazpob3Zlcntib3JkZXItY29sb3I6IzAwMCFpbXBvcnRhbnR9XG4udzMtYm9yZGVyLWdyZXksLnczLWhvdmVyLWJvcmRlci1ncmV5OmhvdmVyLC53My1ib3JkZXItZ3JheSwudzMtaG92ZXItYm9yZGVyLWdyYXk6aG92ZXJ7Ym9yZGVyLWNvbG9yOiM5ZTllOWUhaW1wb3J0YW50fVxuLnczLWJvcmRlci1saWdodC1ncmV5LC53My1ob3Zlci1ib3JkZXItbGlnaHQtZ3JleTpob3ZlciwudzMtYm9yZGVyLWxpZ2h0LWdyYXksLnczLWhvdmVyLWJvcmRlci1saWdodC1ncmF5OmhvdmVye2JvcmRlci1jb2xvcjojZjFmMWYxIWltcG9ydGFudH1cbi53My1ib3JkZXItZGFyay1ncmV5LC53My1ob3Zlci1ib3JkZXItZGFyay1ncmV5OmhvdmVyLC53My1ib3JkZXItZGFyay1ncmF5LC53My1ob3Zlci1ib3JkZXItZGFyay1ncmF5OmhvdmVye2JvcmRlci1jb2xvcjojNjE2MTYxIWltcG9ydGFudH1cbi53My1ib3JkZXItcGFsZS1yZWQsLnczLWhvdmVyLWJvcmRlci1wYWxlLXJlZDpob3Zlcntib3JkZXItY29sb3I6I2ZmZTdlNyFpbXBvcnRhbnR9LnczLWJvcmRlci1wYWxlLWdyZWVuLC53My1ob3Zlci1ib3JkZXItcGFsZS1ncmVlbjpob3Zlcntib3JkZXItY29sb3I6I2U3ZmZlNyFpbXBvcnRhbnR9XG4udzMtYm9yZGVyLXBhbGUteWVsbG93LC53My1ob3Zlci1ib3JkZXItcGFsZS15ZWxsb3c6aG92ZXJ7Ym9yZGVyLWNvbG9yOiNmZmZmY2MhaW1wb3J0YW50fS53My1ib3JkZXItcGFsZS1ibHVlLC53My1ob3Zlci1ib3JkZXItcGFsZS1ibHVlOmhvdmVye2JvcmRlci1jb2xvcjojZTdmZmZmIWltcG9ydGFudH0ifSwgImhlYWRlcnNTaXplIjogMCwgImJvZHlTaXplIjogNTYxOSwgInJlZGlyZWN0VVJMIjogIiIsICJfdHJhbnNmZXJTaXplIjogNTYxOX0sICJjYWNoZSI6IHt9LCAidGltaW5ncyI6IHsiZG5zIjogMC4wMTgsICJjb25uZWN0IjogMjUuMjQ3LCAic3NsIjogMjAuMjM5LCAic2VuZCI6IDAsICJ3YWl0IjogNi40MjQsICJyZWNlaXZlIjogNC4wMTZ9LCAicGFnZXJlZiI6ICJwYWdlQDJlN2FjZTk1NWE2NzczZWNmZDJlOThlZjJmZGNiNzA0IiwgInNlcnZlcklQQWRkcmVzcyI6ICIxOTIuMjI5LjEzMy4yMjEiLCAiX3NlcnZlclBvcnQiOiA0NDMsICJfc2VjdXJpdHlEZXRhaWxzIjogeyJwcm90b2NvbCI6ICJUTFMgMS4zIiwgInN1YmplY3ROYW1lIjogIioudzNzY2hvb2xzLmNvbSIsICJpc3N1ZXIiOiAiRGlnaUNlcnQgR2xvYmFsIEcyIFRMUyBSU0EgU0hBMjU2IDIwMjAgQ0ExIiwgInZhbGlkRnJvbSI6IDE3MTIxMDI0MDAsICJ2YWxpZFRvIjogMTc0NjQwMzE5OX19LCB7InN0YXJ0ZWREYXRlVGltZSI6ICIyMDI0LTA4LTAxVDEyOjMzOjAwLjY0M1oiLCAidGltZSI6IDU0LjQ2OSwgInJlcXVlc3QiOiB7Im1ldGhvZCI6ICJHRVQiLCAidXJsIjogImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vczIvZmF2aWNvbnM/ZG9tYWluPWRlbGwuY29tIiwgImh0dHBWZXJzaW9uIjogImgzIiwgImNvb2tpZXMiOiBbXSwgImhlYWRlcnMiOiBbeyJuYW1lIjogIjphdXRob3JpdHkiLCAidmFsdWUiOiAid3d3Lmdvb2dsZS5jb20ifSwgeyJuYW1lIjogIjptZXRob2QiLCAidmFsdWUiOiAiR0VUIn0sIHsibmFtZSI6ICI6cGF0aCIsICJ2YWx1ZSI6ICIvczIvZmF2aWNvbnM/ZG9tYWluPWRlbGwuY29tIn0sIHsibmFtZSI6ICI6c2NoZW1lIiwgInZhbHVlIjogImh0dHBzIn0sIHsibmFtZSI6ICJhY2NlcHQiLCAidmFsdWUiOiAiaW1hZ2UvYXZpZixpbWFnZS93ZWJwLGltYWdlL2FwbmcsaW1hZ2Uvc3ZnK3htbCxpbWFnZS8qLCovKjtxPTAuOCJ9LCB7Im5hbWUiOiAiYWNjZXB0LWVuY29kaW5nIiwgInZhbHVlIjogImd6aXAsIGRlZmxhdGUsIGJyLCB6c3RkIn0sIHsibmFtZSI6ICJhY2NlcHQtbGFuZ3VhZ2UiLCAidmFsdWUiOiAiZW4tVVMsZW47cT0wLjkifSwgeyJuYW1lIjogInByaW9yaXR5IiwgInZhbHVlIjogImkifSwgeyJuYW1lIjogInJlZmVyZXIiLCAidmFsdWUiOiAiaHR0cHM6Ly9wdWItMmVhN2M2MzliNGExNGI5MmE1MGUzNDhmOTliMzMyOTMucjIuZGV2LyJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhIiwgInZhbHVlIjogIlwiQ2hyb21pdW1cIjt2PVwiMTI3XCIsIFwiTm90KUE7QnJhbmRcIjt2PVwiOTlcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLW1vYmlsZSIsICJ2YWx1ZSI6ICI/MCJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXBsYXRmb3JtIiwgInZhbHVlIjogIlwiV2luZG93c1wiIn0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtZGVzdCIsICJ2YWx1ZSI6ICJpbWFnZSJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLW1vZGUiLCAidmFsdWUiOiAibm8tY29ycyJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLXNpdGUiLCAidmFsdWUiOiAiY3Jvc3Mtc2l0ZSJ9LCB7Im5hbWUiOiAidXNlci1hZ2VudCIsICJ2YWx1ZSI6ICJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTI3LjAuNjUzMy4xNyBTYWZhcmkvNTM3LjM2In1dLCAicXVlcnlTdHJpbmciOiBbeyJuYW1lIjogImRvbWFpbiIsICJ2YWx1ZSI6ICJkZWxsLmNvbSJ9XSwgImhlYWRlcnNTaXplIjogNjU4LCAiYm9keVNpemUiOiAwfSwgInJlc3BvbnNlIjogeyJzdGF0dXMiOiAzMDEsICJzdGF0dXNUZXh0IjogIiIsICJodHRwVmVyc2lvbiI6ICJoMyIsICJjb29raWVzIjogW10sICJoZWFkZXJzIjogW3sibmFtZSI6ICJhZ2UiLCAidmFsdWUiOiAiMzUwIn0sIHsibmFtZSI6ICJhbHQtc3ZjIiwgInZhbHVlIjogImgzPVwiOjQ0M1wiOyBtYT0yNTkyMDAwLGgzLTI5PVwiOjQ0M1wiOyBtYT0yNTkyMDAwIn0sIHsibmFtZSI6ICJjYWNoZS1jb250cm9sIiwgInZhbHVlIjogInB1YmxpYywgbWF4LWFnZT0xODAwIn0sIHsibmFtZSI6ICJjb250ZW50LWxlbmd0aCIsICJ2YWx1ZSI6ICIzMjgifSwgeyJuYW1lIjogImNvbnRlbnQtdHlwZSIsICJ2YWx1ZSI6ICJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgifSwgeyJuYW1lIjogImRhdGUiLCAidmFsdWUiOiAiVGh1LCAwMSBBdWcgMjAyNCAxMjoyNzoxMCBHTVQifSwgeyJuYW1lIjogImV4cGlyZXMiLCAidmFsdWUiOiAiVGh1LCAwMSBBdWcgMjAyNCAxMjo1NzoxMCBHTVQifSwgeyJuYW1lIjogImxvY2F0aW9uIiwgInZhbHVlIjogImh0dHBzOi8vdDEuZ3N0YXRpYy5jb20vZmF2aWNvblYyP2NsaWVudD1TT0NJQUwmdHlwZT1GQVZJQ09OJmZhbGxiYWNrX29wdHM9VFlQRSxTSVpFLFVSTCZ1cmw9aHR0cDovL2RlbGwuY29tJnNpemU9MTYifSwgeyJuYW1lIjogInNlcnZlciIsICJ2YWx1ZSI6ICJzZmZlIn0sIHsibmFtZSI6ICJ4LWNvbnRlbnQtdHlwZS1vcHRpb25zIiwgInZhbHVlIjogIm5vc25pZmYifSwgeyJuYW1lIjogIngteHNzLXByb3RlY3Rpb24iLCAidmFsdWUiOiAiMCJ9XSwgImNvbnRlbnQiOiB7InNpemUiOiAtMSwgIm1pbWVUeXBlIjogInRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIsICJjb21wcmVzc2lvbiI6IDB9LCAiaGVhZGVyc1NpemUiOiAwLCAiYm9keVNpemUiOiAzMjgsICJyZWRpcmVjdFVSTCI6ICJodHRwczovL3QxLmdzdGF0aWMuY29tL2Zhdmljb25WMj9jbGllbnQ9U09DSUFMJnR5cGU9RkFWSUNPTiZmYWxsYmFja19vcHRzPVRZUEUsU0laRSxVUkwmdXJsPWh0dHA6Ly9kZWxsLmNvbSZzaXplPTE2IiwgIl90cmFuc2ZlclNpemUiOiAzMjh9LCAiY2FjaGUiOiB7fSwgInRpbWluZ3MiOiB7ImRucyI6IDQuNzUzLCAiY29ubmVjdCI6IDE5LjkwOSwgInNzbCI6IDE5LjkwOSwgInNlbmQiOiAwLCAid2FpdCI6IDcuMTYxLCAicmVjZWl2ZSI6IDIuNzM3fSwgInBhZ2VyZWYiOiAicGFnZUAyZTdhY2U5NTVhNjc3M2VjZmQyZTk4ZWYyZmRjYjcwNCIsICJzZXJ2ZXJJUEFkZHJlc3MiOiAiWzJhMDA6MTQ1MDo0MDAxOjgwODo6MjAwNF0iLCAiX3NlcnZlclBvcnQiOiA0NDMsICJfc2VjdXJpdHlEZXRhaWxzIjogeyJwcm90b2NvbCI6ICJRVUlDIiwgInN1YmplY3ROYW1lIjogIiouZ29vZ2xlLmNvbSIsICJpc3N1ZXIiOiAiV1IyIiwgInZhbGlkRnJvbSI6IDE3MjIzNDI3NzMsICJ2YWxpZFRvIjogMTcyOTYwMDM3Mn19LCB7InN0YXJ0ZWREYXRlVGltZSI6ICIyMDI0LTA4LTAxVDEyOjMzOjAwLjY0NFoiLCAidGltZSI6IDQ5LjQxNCwgInJlcXVlc3QiOiB7Im1ldGhvZCI6ICJHRVQiLCAidXJsIjogImh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0zLjIuMS5zbGltLm1pbi5qcyIsICJodHRwVmVyc2lvbiI6ICJIVFRQLzIuMCIsICJjb29raWVzIjogW10sICJoZWFkZXJzIjogW3sibmFtZSI6ICI6YXV0aG9yaXR5IiwgInZhbHVlIjogImNvZGUuanF1ZXJ5LmNvbSJ9LCB7Im5hbWUiOiAiOm1ldGhvZCIsICJ2YWx1ZSI6ICJHRVQifSwgeyJuYW1lIjogIjpwYXRoIiwgInZhbHVlIjogIi9qcXVlcnktMy4yLjEuc2xpbS5taW4uanMifSwgeyJuYW1lIjogIjpzY2hlbWUiLCAidmFsdWUiOiAiaHR0cHMifSwgeyJuYW1lIjogImFjY2VwdCIsICJ2YWx1ZSI6ICIqLyoifSwgeyJuYW1lIjogImFjY2VwdC1lbmNvZGluZyIsICJ2YWx1ZSI6ICJnemlwLCBkZWZsYXRlLCBiciwgenN0ZCJ9LCB7Im5hbWUiOiAiYWNjZXB0LWxhbmd1YWdlIiwgInZhbHVlIjogImVuLVVTLGVuO3E9MC45In0sIHsibmFtZSI6ICJpbnRlcnZlbnRpb24iLCAidmFsdWUiOiAiPGh0dHBzOi8vd3d3LmNocm9tZXN0YXR1cy5jb20vZmVhdHVyZS81NzE4NTQ3OTQ2Nzk5MTA0PjsgbGV2ZWw9XCJ3YXJuaW5nXCIifSwgeyJuYW1lIjogIm9yaWdpbiIsICJ2YWx1ZSI6ICJodHRwczovL3B1Yi0yZWE3YzYzOWI0YTE0YjkyYTUwZTM0OGY5OWIzMzI5My5yMi5kZXYifSwgeyJuYW1lIjogInByaW9yaXR5IiwgInZhbHVlIjogInU9MSJ9LCB7Im5hbWUiOiAicmVmZXJlciIsICJ2YWx1ZSI6ICJodHRwczovL3B1Yi0yZWE3YzYzOWI0YTE0YjkyYTUwZTM0OGY5OWIzMzI5My5yMi5kZXYvIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEiLCAidmFsdWUiOiAiXCJDaHJvbWl1bVwiO3Y9XCIxMjdcIiwgXCJOb3QpQTtCcmFuZFwiO3Y9XCI5OVwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtbW9iaWxlIiwgInZhbHVlIjogIj8wIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtcGxhdGZvcm0iLCAidmFsdWUiOiAiXCJXaW5kb3dzXCIifSwgeyJuYW1lIjogInNlYy1mZXRjaC1kZXN0IiwgInZhbHVlIjogInNjcmlwdCJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLW1vZGUiLCAidmFsdWUiOiAiY29ycyJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLXNpdGUiLCAidmFsdWUiOiAiY3Jvc3Mtc2l0ZSJ9LCB7Im5hbWUiOiAidXNlci1hZ2VudCIsICJ2YWx1ZSI6ICJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTI3LjAuNjUzMy4xNyBTYWZhcmkvNTM3LjM2In1dLCAicXVlcnlTdHJpbmciOiBbXSwgImhlYWRlcnNTaXplIjogNzU3LCAiYm9keVNpemUiOiAwfSwgInJlc3BvbnNlIjogeyJzdGF0dXMiOiAyMDAsICJzdGF0dXNUZXh0IjogIiIsICJodHRwVmVyc2lvbiI6ICJIVFRQLzIuMCIsICJjb29raWVzIjogW10sICJoZWFkZXJzIjogW3sibmFtZSI6ICJhY2NlcHQtcmFuZ2VzIiwgInZhbHVlIjogImJ5dGVzIn0sIHsibmFtZSI6ICJhY2Nlc3MtY29udHJvbC1hbGxvdy1vcmlnaW4iLCAidmFsdWUiOiAiKiJ9LCB7Im5hbWUiOiAiYWdlIiwgInZhbHVlIjogIjEzMTg5OTkifSwgeyJuYW1lIjogImNhY2hlLWNvbnRyb2wiLCAidmFsdWUiOiAicHVibGljLCBtYXgtYWdlPTMxNTM2MDAwLCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlPTYwNDgwMCJ9LCB7Im5hbWUiOiAiY29udGVudC1lbmNvZGluZyIsICJ2YWx1ZSI6ICJnemlwIn0sIHsibmFtZSI6ICJjb250ZW50LWxlbmd0aCIsICJ2YWx1ZSI6ICIyMzg1NiJ9LCB7Im5hbWUiOiAiY29udGVudC10eXBlIiwgInZhbHVlIjogImFwcGxpY2F0aW9uL2phdmFzY3JpcHQ7IGNoYXJzZXQ9dXRmLTgifSwgeyJuYW1lIjogImNyb3NzLW9yaWdpbi1yZXNvdXJjZS1wb2xpY3kiLCAidmFsdWUiOiAiY3Jvc3Mtb3JpZ2luIn0sIHsibmFtZSI6ICJkYXRlIiwgInZhbHVlIjogIlRodSwgMDEgQXVnIDIwMjQgMTI6MzM6MDAgR01UIn0sIHsibmFtZSI6ICJldGFnIiwgInZhbHVlIjogIlcvXCIyOGZlY2NjMC0xMGZkZFwiIn0sIHsibmFtZSI6ICJsYXN0LW1vZGlmaWVkIiwgInZhbHVlIjogIkZyaSwgMTggT2N0IDE5OTEgMTI6MDA6MDAgR01UIn0sIHsibmFtZSI6ICJzZXJ2ZXIiLCAidmFsdWUiOiAibmdpbngifSwgeyJuYW1lIjogInZhcnkiLCAidmFsdWUiOiAiQWNjZXB0LUVuY29kaW5nIn0sIHsibmFtZSI6ICJ2aWEiLCAidmFsdWUiOiAiMS4xIHZhcm5pc2gsIDEuMSB2YXJuaXNoIn0sIHsibmFtZSI6ICJ4LWNhY2hlIiwgInZhbHVlIjogIkhJVCwgSElUIn0sIHsibmFtZSI6ICJ4LWNhY2hlLWhpdHMiLCAidmFsdWUiOiAiMTEsIDEzNzQ0In0sIHsibmFtZSI6ICJ4LXNlcnZlZC1ieSIsICJ2YWx1ZSI6ICJjYWNoZS1sZ2EyMTk2My1MR0EsIGNhY2hlLWZyYS1lZGRmODIzMDA5MS1GUkEifSwgeyJuYW1lIjogIngtdGltZXIiLCAidmFsdWUiOiAiUzE3MjI1MTU1ODEuNzAyNTU0LFZTMCxWRTAifV0sICJjb250ZW50IjogeyJzaXplIjogNjk1OTcsICJtaW1lVHlwZSI6ICJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0OyBjaGFyc2V0PXV0Zi04IiwgImNvbXByZXNzaW9uIjogNDUzNzIsICJ0ZXh0IjogIi8qISBqUXVlcnkgdjMuMi4xIC1hamF4LC1hamF4L2pzb25wLC1hamF4L2xvYWQsLWFqYXgvcGFyc2VYTUwsLWFqYXgvc2NyaXB0LC1hamF4L3Zhci9sb2NhdGlvbiwtYWpheC92YXIvbm9uY2UsLWFqYXgvdmFyL3JxdWVyeSwtYWpheC94aHIsLW1hbmlwdWxhdGlvbi9fZXZhbFVybCwtZXZlbnQvYWpheCwtZWZmZWN0cywtZWZmZWN0cy9Ud2VlbiwtZWZmZWN0cy9hbmltYXRlZFNlbGVjdG9yIHwgKGMpIEpTIEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycyB8IGpxdWVyeS5vcmcvbGljZW5zZSAqL1xuIWZ1bmN0aW9uKGEsYil7XCJ1c2Ugc3RyaWN0XCI7XCJvYmplY3RcIj09dHlwZW9mIG1vZHVsZSYmXCJvYmplY3RcIj09dHlwZW9mIG1vZHVsZS5leHBvcnRzP21vZHVsZS5leHBvcnRzPWEuZG9jdW1lbnQ/YihhLCEwKTpmdW5jdGlvbihhKXtpZighYS5kb2N1bWVudCl0aHJvdyBuZXcgRXJyb3IoXCJqUXVlcnkgcmVxdWlyZXMgYSB3aW5kb3cgd2l0aCBhIGRvY3VtZW50XCIpO3JldHVybiBiKGEpfTpiKGEpfShcInVuZGVmaW5lZFwiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp0aGlzLGZ1bmN0aW9uKGEsYil7XCJ1c2Ugc3RyaWN0XCI7dmFyIGM9W10sZD1hLmRvY3VtZW50LGU9T2JqZWN0LmdldFByb3RvdHlwZU9mLGY9Yy5zbGljZSxnPWMuY29uY2F0LGg9Yy5wdXNoLGk9Yy5pbmRleE9mLGo9e30saz1qLnRvU3RyaW5nLGw9ai5oYXNPd25Qcm9wZXJ0eSxtPWwudG9TdHJpbmcsbj1tLmNhbGwoT2JqZWN0KSxvPXt9O2Z1bmN0aW9uIHAoYSxiKXtiPWJ8fGQ7dmFyIGM9Yi5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIpO2MudGV4dD1hLGIuaGVhZC5hcHBlbmRDaGlsZChjKS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGMpfXZhciBxPVwiMy4yLjEgLWFqYXgsLWFqYXgvanNvbnAsLWFqYXgvbG9hZCwtYWpheC9wYXJzZVhNTCwtYWpheC9zY3JpcHQsLWFqYXgvdmFyL2xvY2F0aW9uLC1hamF4L3Zhci9ub25jZSwtYWpheC92YXIvcnF1ZXJ5LC1hamF4L3hociwtbWFuaXB1bGF0aW9uL19ldmFsVXJsLC1ldmVudC9hamF4LC1lZmZlY3RzLC1lZmZlY3RzL1R3ZWVuLC1lZmZlY3RzL2FuaW1hdGVkU2VsZWN0b3JcIixyPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyByLmZuLmluaXQoYSxiKX0scz0vXltcXHNcXHVGRUZGXFx4QTBdK3xbXFxzXFx1RkVGRlxceEEwXSskL2csdD0vXi1tcy0vLHU9Ly0oW2Etel0pL2csdj1mdW5jdGlvbihhLGIpe3JldHVybiBiLnRvVXBwZXJDYXNlKCl9O3IuZm49ci5wcm90b3R5cGU9e2pxdWVyeTpxLGNvbnN0cnVjdG9yOnIsbGVuZ3RoOjAsdG9BcnJheTpmdW5jdGlvbigpe3JldHVybiBmLmNhbGwodGhpcyl9LGdldDpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT9mLmNhbGwodGhpcyk6YTwwP3RoaXNbYSt0aGlzLmxlbmd0aF06dGhpc1thXX0scHVzaFN0YWNrOmZ1bmN0aW9uKGEpe3ZhciBiPXIubWVyZ2UodGhpcy5jb25zdHJ1Y3RvcigpLGEpO3JldHVybiBiLnByZXZPYmplY3Q9dGhpcyxifSxlYWNoOmZ1bmN0aW9uKGEpe3JldHVybiByLmVhY2godGhpcyxhKX0sbWFwOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnB1c2hTdGFjayhyLm1hcCh0aGlzLGZ1bmN0aW9uKGIsYyl7cmV0dXJuIGEuY2FsbChiLGMsYil9KSl9LHNsaWNlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGYuYXBwbHkodGhpcyxhcmd1bWVudHMpKX0sZmlyc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgwKX0sbGFzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKC0xKX0sZXE6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5sZW5ndGgsYz0rYSsoYTwwP2I6MCk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGM+PTAmJmM8Yj9bdGhpc1tjXV06W10pfSxlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcmV2T2JqZWN0fHx0aGlzLmNvbnN0cnVjdG9yKCl9LHB1c2g6aCxzb3J0OmMuc29ydCxzcGxpY2U6Yy5zcGxpY2V9LHIuZXh0ZW5kPXIuZm4uZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIGEsYixjLGQsZSxmLGc9YXJndW1lbnRzWzBdfHx7fSxoPTEsaT1hcmd1bWVudHMubGVuZ3RoLGo9ITE7Zm9yKFwiYm9vbGVhblwiPT10eXBlb2YgZyYmKGo9ZyxnPWFyZ3VtZW50c1toXXx8e30saCsrKSxcIm9iamVjdFwiPT10eXBlb2YgZ3x8ci5pc0Z1bmN0aW9uKGcpfHwoZz17fSksaD09PWkmJihnPXRoaXMsaC0tKTtoPGk7aCsrKWlmKG51bGwhPShhPWFyZ3VtZW50c1toXSkpZm9yKGIgaW4gYSljPWdbYl0sZD1hW2JdLGchPT1kJiYoaiYmZCYmKHIuaXNQbGFpbk9iamVjdChkKXx8KGU9QXJyYXkuaXNBcnJheShkKSkpPyhlPyhlPSExLGY9YyYmQXJyYXkuaXNBcnJheShjKT9jOltdKTpmPWMmJnIuaXNQbGFpbk9iamVjdChjKT9jOnt9LGdbYl09ci5leHRlbmQoaixmLGQpKTp2b2lkIDAhPT1kJiYoZ1tiXT1kKSk7cmV0dXJuIGd9LHIuZXh0ZW5kKHtleHBhbmRvOlwialF1ZXJ5XCIrKHErTWF0aC5yYW5kb20oKSkucmVwbGFjZSgvXFxEL2csXCJcIiksaXNSZWFkeTohMCxlcnJvcjpmdW5jdGlvbihhKXt0aHJvdyBuZXcgRXJyb3IoYSl9LG5vb3A6ZnVuY3Rpb24oKXt9LGlzRnVuY3Rpb246ZnVuY3Rpb24oYSl7cmV0dXJuXCJmdW5jdGlvblwiPT09ci50eXBlKGEpfSxpc1dpbmRvdzpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbCE9YSYmYT09PWEud2luZG93fSxpc051bWVyaWM6ZnVuY3Rpb24oYSl7dmFyIGI9ci50eXBlKGEpO3JldHVybihcIm51bWJlclwiPT09Ynx8XCJzdHJpbmdcIj09PWIpJiYhaXNOYU4oYS1wYXJzZUZsb2F0KGEpKX0saXNQbGFpbk9iamVjdDpmdW5jdGlvbihhKXt2YXIgYixjO3JldHVybiEoIWF8fFwiW29iamVjdCBPYmplY3RdXCIhPT1rLmNhbGwoYSkpJiYoIShiPWUoYSkpfHwoYz1sLmNhbGwoYixcImNvbnN0cnVjdG9yXCIpJiZiLmNvbnN0cnVjdG9yLFwiZnVuY3Rpb25cIj09dHlwZW9mIGMmJm0uY2FsbChjKT09PW4pKX0saXNFbXB0eU9iamVjdDpmdW5jdGlvbihhKXt2YXIgYjtmb3IoYiBpbiBhKXJldHVybiExO3JldHVybiEwfSx0eXBlOmZ1bmN0aW9uKGEpe3JldHVybiBudWxsPT1hP2ErXCJcIjpcIm9iamVjdFwiPT10eXBlb2YgYXx8XCJmdW5jdGlvblwiPT10eXBlb2YgYT9qW2suY2FsbChhKV18fFwib2JqZWN0XCI6dHlwZW9mIGF9LGdsb2JhbEV2YWw6ZnVuY3Rpb24oYSl7cChhKX0sY2FtZWxDYXNlOmZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UodCxcIm1zLVwiKS5yZXBsYWNlKHUsdil9LGVhY2g6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPTA7aWYodyhhKSl7Zm9yKGM9YS5sZW5ndGg7ZDxjO2QrKylpZihiLmNhbGwoYVtkXSxkLGFbZF0pPT09ITEpYnJlYWt9ZWxzZSBmb3IoZCBpbiBhKWlmKGIuY2FsbChhW2RdLGQsYVtkXSk9PT0hMSlicmVhaztyZXR1cm4gYX0sdHJpbTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT9cIlwiOihhK1wiXCIpLnJlcGxhY2UocyxcIlwiKX0sbWFrZUFycmF5OmZ1bmN0aW9uKGEsYil7dmFyIGM9Ynx8W107cmV0dXJuIG51bGwhPWEmJih3KE9iamVjdChhKSk/ci5tZXJnZShjLFwic3RyaW5nXCI9PXR5cGVvZiBhP1thXTphKTpoLmNhbGwoYyxhKSksY30saW5BcnJheTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIG51bGw9PWI/LTE6aS5jYWxsKGIsYSxjKX0sbWVyZ2U6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9K2IubGVuZ3RoLGQ9MCxlPWEubGVuZ3RoO2Q8YztkKyspYVtlKytdPWJbZF07cmV0dXJuIGEubGVuZ3RoPWUsYX0sZ3JlcDpmdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkLGU9W10sZj0wLGc9YS5sZW5ndGgsaD0hYztmPGc7ZisrKWQ9IWIoYVtmXSxmKSxkIT09aCYmZS5wdXNoKGFbZl0pO3JldHVybiBlfSxtYXA6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZj0wLGg9W107aWYodyhhKSlmb3IoZD1hLmxlbmd0aDtmPGQ7ZisrKWU9YihhW2ZdLGYsYyksbnVsbCE9ZSYmaC5wdXNoKGUpO2Vsc2UgZm9yKGYgaW4gYSllPWIoYVtmXSxmLGMpLG51bGwhPWUmJmgucHVzaChlKTtyZXR1cm4gZy5hcHBseShbXSxoKX0sZ3VpZDoxLHByb3h5OmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlO2lmKFwic3RyaW5nXCI9PXR5cGVvZiBiJiYoYz1hW2JdLGI9YSxhPWMpLHIuaXNGdW5jdGlvbihhKSlyZXR1cm4gZD1mLmNhbGwoYXJndW1lbnRzLDIpLGU9ZnVuY3Rpb24oKXtyZXR1cm4gYS5hcHBseShifHx0aGlzLGQuY29uY2F0KGYuY2FsbChhcmd1bWVudHMpKSl9LGUuZ3VpZD1hLmd1aWQ9YS5ndWlkfHxyLmd1aWQrKyxlfSxub3c6RGF0ZS5ub3csc3VwcG9ydDpvfSksXCJmdW5jdGlvblwiPT10eXBlb2YgU3ltYm9sJiYoci5mbltTeW1ib2wuaXRlcmF0b3JdPWNbU3ltYm9sLml0ZXJhdG9yXSksci5lYWNoKFwiQm9vbGVhbiBOdW1iZXIgU3RyaW5nIEZ1bmN0aW9uIEFycmF5IERhdGUgUmVnRXhwIE9iamVjdCBFcnJvciBTeW1ib2xcIi5zcGxpdChcIiBcIiksZnVuY3Rpb24oYSxiKXtqW1wiW29iamVjdCBcIitiK1wiXVwiXT1iLnRvTG93ZXJDYXNlKCl9KTtmdW5jdGlvbiB3KGEpe3ZhciBiPSEhYSYmXCJsZW5ndGhcImluIGEmJmEubGVuZ3RoLGM9ci50eXBlKGEpO3JldHVyblwiZnVuY3Rpb25cIiE9PWMmJiFyLmlzV2luZG93KGEpJiYoXCJhcnJheVwiPT09Y3x8MD09PWJ8fFwibnVtYmVyXCI9PXR5cGVvZiBiJiZiPjAmJmItMSBpbiBhKX12YXIgeD1mdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmLGcsaCxpLGosayxsLG0sbixvLHAscSxyLHMsdCx1PVwic2l6emxlXCIrMSpuZXcgRGF0ZSx2PWEuZG9jdW1lbnQsdz0wLHg9MCx5PWhhKCksej1oYSgpLEE9aGEoKSxCPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PT1iJiYobD0hMCksMH0sQz17fS5oYXNPd25Qcm9wZXJ0eSxEPVtdLEU9RC5wb3AsRj1ELnB1c2gsRz1ELnB1c2gsSD1ELnNsaWNlLEk9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MCxkPWEubGVuZ3RoO2M8ZDtjKyspaWYoYVtjXT09PWIpcmV0dXJuIGM7cmV0dXJuLTF9LEo9XCJjaGVja2VkfHNlbGVjdGVkfGFzeW5jfGF1dG9mb2N1c3xhdXRvcGxheXxjb250cm9sc3xkZWZlcnxkaXNhYmxlZHxoaWRkZW58aXNtYXB8bG9vcHxtdWx0aXBsZXxvcGVufHJlYWRvbmx5fHJlcXVpcmVkfHNjb3BlZFwiLEs9XCJbXFxcXHgyMFxcXFx0XFxcXHJcXFxcblxcXFxmXVwiLEw9XCIoPzpcXFxcXFxcXC58W1xcXFx3LV18W15cXDAtXFxcXHhhMF0pK1wiLE09XCJcXFxcW1wiK0srXCIqKFwiK0wrXCIpKD86XCIrSytcIiooWypeJHwhfl0/PSlcIitLK1wiKig/OicoKD86XFxcXFxcXFwufFteXFxcXFxcXFwnXSkqKSd8XFxcIigoPzpcXFxcXFxcXC58W15cXFxcXFxcXFxcXCJdKSopXFxcInwoXCIrTCtcIikpfClcIitLK1wiKlxcXFxdXCIsTj1cIjooXCIrTCtcIikoPzpcXFxcKCgoJygoPzpcXFxcXFxcXC58W15cXFxcXFxcXCddKSopJ3xcXFwiKCg/OlxcXFxcXFxcLnxbXlxcXFxcXFxcXFxcIl0pKilcXFwiKXwoKD86XFxcXFxcXFwufFteXFxcXFxcXFwoKVtcXFxcXV18XCIrTStcIikqKXwuKilcXFxcKXwpXCIsTz1uZXcgUmVnRXhwKEsrXCIrXCIsXCJnXCIpLFA9bmV3IFJlZ0V4cChcIl5cIitLK1wiK3woKD86XnxbXlxcXFxcXFxcXSkoPzpcXFxcXFxcXC4pKilcIitLK1wiKyRcIixcImdcIiksUT1uZXcgUmVnRXhwKFwiXlwiK0srXCIqLFwiK0srXCIqXCIpLFI9bmV3IFJlZ0V4cChcIl5cIitLK1wiKihbPit+XXxcIitLK1wiKVwiK0srXCIqXCIpLFM9bmV3IFJlZ0V4cChcIj1cIitLK1wiKihbXlxcXFxdJ1xcXCJdKj8pXCIrSytcIipcXFxcXVwiLFwiZ1wiKSxUPW5ldyBSZWdFeHAoTiksVT1uZXcgUmVnRXhwKFwiXlwiK0wrXCIkXCIpLFY9e0lEOm5ldyBSZWdFeHAoXCJeIyhcIitMK1wiKVwiKSxDTEFTUzpuZXcgUmVnRXhwKFwiXlxcXFwuKFwiK0wrXCIpXCIpLFRBRzpuZXcgUmVnRXhwKFwiXihcIitMK1wifFsqXSlcIiksQVRUUjpuZXcgUmVnRXhwKFwiXlwiK00pLFBTRVVETzpuZXcgUmVnRXhwKFwiXlwiK04pLENISUxEOm5ldyBSZWdFeHAoXCJeOihvbmx5fGZpcnN0fGxhc3R8bnRofG50aC1sYXN0KS0oY2hpbGR8b2YtdHlwZSkoPzpcXFxcKFwiK0srXCIqKGV2ZW58b2RkfCgoWystXXwpKFxcXFxkKilufClcIitLK1wiKig/OihbKy1dfClcIitLK1wiKihcXFxcZCspfCkpXCIrSytcIipcXFxcKXwpXCIsXCJpXCIpLGJvb2w6bmV3IFJlZ0V4cChcIl4oPzpcIitKK1wiKSRcIixcImlcIiksbmVlZHNDb250ZXh0Om5ldyBSZWdFeHAoXCJeXCIrSytcIipbPit+XXw6KGV2ZW58b2RkfGVxfGd0fGx0fG50aHxmaXJzdHxsYXN0KSg/OlxcXFwoXCIrSytcIiooKD86LVxcXFxkKT9cXFxcZCopXCIrSytcIipcXFxcKXwpKD89W14tXXwkKVwiLFwiaVwiKX0sVz0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24pJC9pLFg9L15oXFxkJC9pLFk9L15bXntdK1xce1xccypcXFtuYXRpdmUgXFx3LyxaPS9eKD86IyhbXFx3LV0rKXwoXFx3Kyl8XFwuKFtcXHctXSspKSQvLCQ9L1srfl0vLF89bmV3IFJlZ0V4cChcIlxcXFxcXFxcKFtcXFxcZGEtZl17MSw2fVwiK0srXCI/fChcIitLK1wiKXwuKVwiLFwiaWdcIiksYWE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVwiMHhcIitiLTY1NTM2O3JldHVybiBkIT09ZHx8Yz9iOmQ8MD9TdHJpbmcuZnJvbUNoYXJDb2RlKGQrNjU1MzYpOlN0cmluZy5mcm9tQ2hhckNvZGUoZD4+MTB8NTUyOTYsMTAyMyZkfDU2MzIwKX0sYmE9LyhbXFwwLVxceDFmXFx4N2ZdfF4tP1xcZCl8Xi0kfFteXFwwLVxceDFmXFx4N2YtXFx1RkZGRlxcdy1dL2csY2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj9cIlxcMFwiPT09YT9cIlxcdWZmZmRcIjphLnNsaWNlKDAsLTEpK1wiXFxcXFwiK2EuY2hhckNvZGVBdChhLmxlbmd0aC0xKS50b1N0cmluZygxNikrXCIgXCI6XCJcXFxcXCIrYX0sZGE9ZnVuY3Rpb24oKXttKCl9LGVhPXRhKGZ1bmN0aW9uKGEpe3JldHVybiBhLmRpc2FibGVkPT09ITAmJihcImZvcm1cImluIGF8fFwibGFiZWxcImluIGEpfSx7ZGlyOlwicGFyZW50Tm9kZVwiLG5leHQ6XCJsZWdlbmRcIn0pO3RyeXtHLmFwcGx5KEQ9SC5jYWxsKHYuY2hpbGROb2Rlcyksdi5jaGlsZE5vZGVzKSxEW3YuY2hpbGROb2Rlcy5sZW5ndGhdLm5vZGVUeXBlfWNhdGNoKGZhKXtHPXthcHBseTpELmxlbmd0aD9mdW5jdGlvbihhLGIpe0YuYXBwbHkoYSxILmNhbGwoYikpfTpmdW5jdGlvbihhLGIpe3ZhciBjPWEubGVuZ3RoLGQ9MDt3aGlsZShhW2MrK109YltkKytdKTthLmxlbmd0aD1jLTF9fX1mdW5jdGlvbiBnYShhLGIsZCxlKXt2YXIgZixoLGosayxsLG8scixzPWImJmIub3duZXJEb2N1bWVudCx3PWI/Yi5ub2RlVHlwZTo5O2lmKGQ9ZHx8W10sXCJzdHJpbmdcIiE9dHlwZW9mIGF8fCFhfHwxIT09dyYmOSE9PXcmJjExIT09dylyZXR1cm4gZDtpZighZSYmKChiP2Iub3duZXJEb2N1bWVudHx8Yjp2KSE9PW4mJm0oYiksYj1ifHxuLHApKXtpZigxMSE9PXcmJihsPVouZXhlYyhhKSkpaWYoZj1sWzFdKXtpZig5PT09dyl7aWYoIShqPWIuZ2V0RWxlbWVudEJ5SWQoZikpKXJldHVybiBkO2lmKGouaWQ9PT1mKXJldHVybiBkLnB1c2goaiksZH1lbHNlIGlmKHMmJihqPXMuZ2V0RWxlbWVudEJ5SWQoZikpJiZ0KGIsaikmJmouaWQ9PT1mKXJldHVybiBkLnB1c2goaiksZH1lbHNle2lmKGxbMl0pcmV0dXJuIEcuYXBwbHkoZCxiLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpKSxkO2lmKChmPWxbM10pJiZjLmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJmIuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSlyZXR1cm4gRy5hcHBseShkLGIuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShmKSksZH1pZihjLnFzYSYmIUFbYStcIiBcIl0mJighcXx8IXEudGVzdChhKSkpe2lmKDEhPT13KXM9YixyPWE7ZWxzZSBpZihcIm9iamVjdFwiIT09Yi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKXsoaz1iLmdldEF0dHJpYnV0ZShcImlkXCIpKT9rPWsucmVwbGFjZShiYSxjYSk6Yi5zZXRBdHRyaWJ1dGUoXCJpZFwiLGs9dSksbz1nKGEpLGg9by5sZW5ndGg7d2hpbGUoaC0tKW9baF09XCIjXCIraytcIiBcIitzYShvW2hdKTtyPW8uam9pbihcIixcIikscz0kLnRlc3QoYSkmJnFhKGIucGFyZW50Tm9kZSl8fGJ9aWYocil0cnl7cmV0dXJuIEcuYXBwbHkoZCxzLnF1ZXJ5U2VsZWN0b3JBbGwocikpLGR9Y2F0Y2goeCl7fWZpbmFsbHl7az09PXUmJmIucmVtb3ZlQXR0cmlidXRlKFwiaWRcIil9fX1yZXR1cm4gaShhLnJlcGxhY2UoUCxcIiQxXCIpLGIsZCxlKX1mdW5jdGlvbiBoYSgpe3ZhciBhPVtdO2Z1bmN0aW9uIGIoYyxlKXtyZXR1cm4gYS5wdXNoKGMrXCIgXCIpPmQuY2FjaGVMZW5ndGgmJmRlbGV0ZSBiW2Euc2hpZnQoKV0sYltjK1wiIFwiXT1lfXJldHVybiBifWZ1bmN0aW9uIGlhKGEpe3JldHVybiBhW3VdPSEwLGF9ZnVuY3Rpb24gamEoYSl7dmFyIGI9bi5jcmVhdGVFbGVtZW50KFwiZmllbGRzZXRcIik7dHJ5e3JldHVybiEhYShiKX1jYXRjaChjKXtyZXR1cm4hMX1maW5hbGx5e2IucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpLGI9bnVsbH19ZnVuY3Rpb24ga2EoYSxiKXt2YXIgYz1hLnNwbGl0KFwifFwiKSxlPWMubGVuZ3RoO3doaWxlKGUtLSlkLmF0dHJIYW5kbGVbY1tlXV09Yn1mdW5jdGlvbiBsYShhLGIpe3ZhciBjPWImJmEsZD1jJiYxPT09YS5ub2RlVHlwZSYmMT09PWIubm9kZVR5cGUmJmEuc291cmNlSW5kZXgtYi5zb3VyY2VJbmRleDtpZihkKXJldHVybiBkO2lmKGMpd2hpbGUoYz1jLm5leHRTaWJsaW5nKWlmKGM9PT1iKXJldHVybi0xO3JldHVybiBhPzE6LTF9ZnVuY3Rpb24gbWEoYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3ZhciBjPWIubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm5cImlucHV0XCI9PT1jJiZiLnR5cGU9PT1hfX1mdW5jdGlvbiBuYShhKXtyZXR1cm4gZnVuY3Rpb24oYil7dmFyIGM9Yi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybihcImlucHV0XCI9PT1jfHxcImJ1dHRvblwiPT09YykmJmIudHlwZT09PWF9fWZ1bmN0aW9uIG9hKGEpe3JldHVybiBmdW5jdGlvbihiKXtyZXR1cm5cImZvcm1cImluIGI/Yi5wYXJlbnROb2RlJiZiLmRpc2FibGVkPT09ITE/XCJsYWJlbFwiaW4gYj9cImxhYmVsXCJpbiBiLnBhcmVudE5vZGU/Yi5wYXJlbnROb2RlLmRpc2FibGVkPT09YTpiLmRpc2FibGVkPT09YTpiLmlzRGlzYWJsZWQ9PT1hfHxiLmlzRGlzYWJsZWQhPT0hYSYmZWEoYik9PT1hOmIuZGlzYWJsZWQ9PT1hOlwibGFiZWxcImluIGImJmIuZGlzYWJsZWQ9PT1hfX1mdW5jdGlvbiBwYShhKXtyZXR1cm4gaWEoZnVuY3Rpb24oYil7cmV0dXJuIGI9K2IsaWEoZnVuY3Rpb24oYyxkKXt2YXIgZSxmPWEoW10sYy5sZW5ndGgsYiksZz1mLmxlbmd0aDt3aGlsZShnLS0pY1tlPWZbZ11dJiYoY1tlXT0hKGRbZV09Y1tlXSkpfSl9KX1mdW5jdGlvbiBxYShhKXtyZXR1cm4gYSYmXCJ1bmRlZmluZWRcIiE9dHlwZW9mIGEuZ2V0RWxlbWVudHNCeVRhZ05hbWUmJmF9Yz1nYS5zdXBwb3J0PXt9LGY9Z2EuaXNYTUw9ZnVuY3Rpb24oYSl7dmFyIGI9YSYmKGEub3duZXJEb2N1bWVudHx8YSkuZG9jdW1lbnRFbGVtZW50O3JldHVybiEhYiYmXCJIVE1MXCIhPT1iLm5vZGVOYW1lfSxtPWdhLnNldERvY3VtZW50PWZ1bmN0aW9uKGEpe3ZhciBiLGUsZz1hP2Eub3duZXJEb2N1bWVudHx8YTp2O3JldHVybiBnIT09biYmOT09PWcubm9kZVR5cGUmJmcuZG9jdW1lbnRFbGVtZW50PyhuPWcsbz1uLmRvY3VtZW50RWxlbWVudCxwPSFmKG4pLHYhPT1uJiYoZT1uLmRlZmF1bHRWaWV3KSYmZS50b3AhPT1lJiYoZS5hZGRFdmVudExpc3RlbmVyP2UuYWRkRXZlbnRMaXN0ZW5lcihcInVubG9hZFwiLGRhLCExKTplLmF0dGFjaEV2ZW50JiZlLmF0dGFjaEV2ZW50KFwib251bmxvYWRcIixkYSkpLGMuYXR0cmlidXRlcz1qYShmdW5jdGlvbihhKXtyZXR1cm4gYS5jbGFzc05hbWU9XCJpXCIsIWEuZ2V0QXR0cmlidXRlKFwiY2xhc3NOYW1lXCIpfSksYy5nZXRFbGVtZW50c0J5VGFnTmFtZT1qYShmdW5jdGlvbihhKXtyZXR1cm4gYS5hcHBlbmRDaGlsZChuLmNyZWF0ZUNvbW1lbnQoXCJcIikpLCFhLmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiKlwiKS5sZW5ndGh9KSxjLmdldEVsZW1lbnRzQnlDbGFzc05hbWU9WS50ZXN0KG4uZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSksYy5nZXRCeUlkPWphKGZ1bmN0aW9uKGEpe3JldHVybiBvLmFwcGVuZENoaWxkKGEpLmlkPXUsIW4uZ2V0RWxlbWVudHNCeU5hbWV8fCFuLmdldEVsZW1lbnRzQnlOYW1lKHUpLmxlbmd0aH0pLGMuZ2V0QnlJZD8oZC5maWx0ZXIuSUQ9ZnVuY3Rpb24oYSl7dmFyIGI9YS5yZXBsYWNlKF8sYWEpO3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRBdHRyaWJ1dGUoXCJpZFwiKT09PWJ9fSxkLmZpbmQuSUQ9ZnVuY3Rpb24oYSxiKXtpZihcInVuZGVmaW5lZFwiIT10eXBlb2YgYi5nZXRFbGVtZW50QnlJZCYmcCl7dmFyIGM9Yi5nZXRFbGVtZW50QnlJZChhKTtyZXR1cm4gYz9bY106W119fSk6KGQuZmlsdGVyLklEPWZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShfLGFhKTtyZXR1cm4gZnVuY3Rpb24oYSl7dmFyIGM9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIGEuZ2V0QXR0cmlidXRlTm9kZSYmYS5nZXRBdHRyaWJ1dGVOb2RlKFwiaWRcIik7cmV0dXJuIGMmJmMudmFsdWU9PT1ifX0sZC5maW5kLklEPWZ1bmN0aW9uKGEsYil7aWYoXCJ1bmRlZmluZWRcIiE9dHlwZW9mIGIuZ2V0RWxlbWVudEJ5SWQmJnApe3ZhciBjLGQsZSxmPWIuZ2V0RWxlbWVudEJ5SWQoYSk7aWYoZil7aWYoYz1mLmdldEF0dHJpYnV0ZU5vZGUoXCJpZFwiKSxjJiZjLnZhbHVlPT09YSlyZXR1cm5bZl07ZT1iLmdldEVsZW1lbnRzQnlOYW1lKGEpLGQ9MDt3aGlsZShmPWVbZCsrXSlpZihjPWYuZ2V0QXR0cmlidXRlTm9kZShcImlkXCIpLGMmJmMudmFsdWU9PT1hKXJldHVybltmXX1yZXR1cm5bXX19KSxkLmZpbmQuVEFHPWMuZ2V0RWxlbWVudHNCeVRhZ05hbWU/ZnVuY3Rpb24oYSxiKXtyZXR1cm5cInVuZGVmaW5lZFwiIT10eXBlb2YgYi5nZXRFbGVtZW50c0J5VGFnTmFtZT9iLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpOmMucXNhP2IucXVlcnlTZWxlY3RvckFsbChhKTp2b2lkIDB9OmZ1bmN0aW9uKGEsYil7dmFyIGMsZD1bXSxlPTAsZj1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpO2lmKFwiKlwiPT09YSl7d2hpbGUoYz1mW2UrK10pMT09PWMubm9kZVR5cGUmJmQucHVzaChjKTtyZXR1cm4gZH1yZXR1cm4gZn0sZC5maW5kLkNMQVNTPWMuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmZnVuY3Rpb24oYSxiKXtpZihcInVuZGVmaW5lZFwiIT10eXBlb2YgYi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lJiZwKXJldHVybiBiLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoYSl9LHI9W10scT1bXSwoYy5xc2E9WS50ZXN0KG4ucXVlcnlTZWxlY3RvckFsbCkpJiYoamEoZnVuY3Rpb24oYSl7by5hcHBlbmRDaGlsZChhKS5pbm5lckhUTUw9XCI8YSBpZD0nXCIrdStcIic+PC9hPjxzZWxlY3QgaWQ9J1wiK3UrXCItXFxyXFxcXCcgbXNhbGxvd2NhcHR1cmU9Jyc+PG9wdGlvbiBzZWxlY3RlZD0nJz48L29wdGlvbj48L3NlbGVjdD5cIixhLnF1ZXJ5U2VsZWN0b3JBbGwoXCJbbXNhbGxvd2NhcHR1cmVePScnXVwiKS5sZW5ndGgmJnEucHVzaChcIlsqXiRdPVwiK0srXCIqKD86Jyd8XFxcIlxcXCIpXCIpLGEucXVlcnlTZWxlY3RvckFsbChcIltzZWxlY3RlZF1cIikubGVuZ3RofHxxLnB1c2goXCJcXFxcW1wiK0srXCIqKD86dmFsdWV8XCIrSitcIilcIiksYS5xdWVyeVNlbGVjdG9yQWxsKFwiW2lkfj1cIit1K1wiLV1cIikubGVuZ3RofHxxLnB1c2goXCJ+PVwiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoXCI6Y2hlY2tlZFwiKS5sZW5ndGh8fHEucHVzaChcIjpjaGVja2VkXCIpLGEucXVlcnlTZWxlY3RvckFsbChcImEjXCIrdStcIisqXCIpLmxlbmd0aHx8cS5wdXNoKFwiLiMuK1srfl1cIil9KSxqYShmdW5jdGlvbihhKXthLmlubmVySFRNTD1cIjxhIGhyZWY9JycgZGlzYWJsZWQ9J2Rpc2FibGVkJz48L2E+PHNlbGVjdCBkaXNhYmxlZD0nZGlzYWJsZWQnPjxvcHRpb24vPjwvc2VsZWN0PlwiO3ZhciBiPW4uY3JlYXRlRWxlbWVudChcImlucHV0XCIpO2Iuc2V0QXR0cmlidXRlKFwidHlwZVwiLFwiaGlkZGVuXCIpLGEuYXBwZW5kQ2hpbGQoYikuc2V0QXR0cmlidXRlKFwibmFtZVwiLFwiRFwiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoXCJbbmFtZT1kXVwiKS5sZW5ndGgmJnEucHVzaChcIm5hbWVcIitLK1wiKlsqXiR8IX5dPz1cIiksMiE9PWEucXVlcnlTZWxlY3RvckFsbChcIjplbmFibGVkXCIpLmxlbmd0aCYmcS5wdXNoKFwiOmVuYWJsZWRcIixcIjpkaXNhYmxlZFwiKSxvLmFwcGVuZENoaWxkKGEpLmRpc2FibGVkPSEwLDIhPT1hLnF1ZXJ5U2VsZWN0b3JBbGwoXCI6ZGlzYWJsZWRcIikubGVuZ3RoJiZxLnB1c2goXCI6ZW5hYmxlZFwiLFwiOmRpc2FibGVkXCIpLGEucXVlcnlTZWxlY3RvckFsbChcIiosOnhcIikscS5wdXNoKFwiLC4qOlwiKX0pKSwoYy5tYXRjaGVzU2VsZWN0b3I9WS50ZXN0KHM9by5tYXRjaGVzfHxvLndlYmtpdE1hdGNoZXNTZWxlY3Rvcnx8by5tb3pNYXRjaGVzU2VsZWN0b3J8fG8ub01hdGNoZXNTZWxlY3Rvcnx8by5tc01hdGNoZXNTZWxlY3RvcikpJiZqYShmdW5jdGlvbihhKXtjLmRpc2Nvbm5lY3RlZE1hdGNoPXMuY2FsbChhLFwiKlwiKSxzLmNhbGwoYSxcIltzIT0nJ106eFwiKSxyLnB1c2goXCIhPVwiLE4pfSkscT1xLmxlbmd0aCYmbmV3IFJlZ0V4cChxLmpvaW4oXCJ8XCIpKSxyPXIubGVuZ3RoJiZuZXcgUmVnRXhwKHIuam9pbihcInxcIikpLGI9WS50ZXN0KG8uY29tcGFyZURvY3VtZW50UG9zaXRpb24pLHQ9Ynx8WS50ZXN0KG8uY29udGFpbnMpP2Z1bmN0aW9uKGEsYil7dmFyIGM9OT09PWEubm9kZVR5cGU/YS5kb2N1bWVudEVsZW1lbnQ6YSxkPWImJmIucGFyZW50Tm9kZTtyZXR1cm4gYT09PWR8fCEoIWR8fDEhPT1kLm5vZGVUeXBlfHwhKGMuY29udGFpbnM/Yy5jb250YWlucyhkKTphLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uJiYxNiZhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGQpKSl9OmZ1bmN0aW9uKGEsYil7aWYoYil3aGlsZShiPWIucGFyZW50Tm9kZSlpZihiPT09YSlyZXR1cm4hMDtyZXR1cm4hMX0sQj1iP2Z1bmN0aW9uKGEsYil7aWYoYT09PWIpcmV0dXJuIGw9ITAsMDt2YXIgZD0hYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbi0hYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbjtyZXR1cm4gZD9kOihkPShhLm93bmVyRG9jdW1lbnR8fGEpPT09KGIub3duZXJEb2N1bWVudHx8Yik/YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKToxLDEmZHx8IWMuc29ydERldGFjaGVkJiZiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpPT09ZD9hPT09bnx8YS5vd25lckRvY3VtZW50PT09diYmdCh2LGEpPy0xOmI9PT1ufHxiLm93bmVyRG9jdW1lbnQ9PT12JiZ0KHYsYik/MTprP0koayxhKS1JKGssYik6MDo0JmQ/LTE6MSl9OmZ1bmN0aW9uKGEsYil7aWYoYT09PWIpcmV0dXJuIGw9ITAsMDt2YXIgYyxkPTAsZT1hLnBhcmVudE5vZGUsZj1iLnBhcmVudE5vZGUsZz1bYV0saD1bYl07aWYoIWV8fCFmKXJldHVybiBhPT09bj8tMTpiPT09bj8xOmU/LTE6Zj8xOms/SShrLGEpLUkoayxiKTowO2lmKGU9PT1mKXJldHVybiBsYShhLGIpO2M9YTt3aGlsZShjPWMucGFyZW50Tm9kZSlnLnVuc2hpZnQoYyk7Yz1iO3doaWxlKGM9Yy5wYXJlbnROb2RlKWgudW5zaGlmdChjKTt3aGlsZShnW2RdPT09aFtkXSlkKys7cmV0dXJuIGQ/bGEoZ1tkXSxoW2RdKTpnW2RdPT09dj8tMTpoW2RdPT09dj8xOjB9LG4pOm59LGdhLm1hdGNoZXM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gZ2EoYSxudWxsLG51bGwsYil9LGdhLm1hdGNoZXNTZWxlY3Rvcj1mdW5jdGlvbihhLGIpe2lmKChhLm93bmVyRG9jdW1lbnR8fGEpIT09biYmbShhKSxiPWIucmVwbGFjZShTLFwiPSckMSddXCIpLGMubWF0Y2hlc1NlbGVjdG9yJiZwJiYhQVtiK1wiIFwiXSYmKCFyfHwhci50ZXN0KGIpKSYmKCFxfHwhcS50ZXN0KGIpKSl0cnl7dmFyIGQ9cy5jYWxsKGEsYik7aWYoZHx8Yy5kaXNjb25uZWN0ZWRNYXRjaHx8YS5kb2N1bWVudCYmMTEhPT1hLmRvY3VtZW50Lm5vZGVUeXBlKXJldHVybiBkfWNhdGNoKGUpe31yZXR1cm4gZ2EoYixuLG51bGwsW2FdKS5sZW5ndGg+MH0sZ2EuY29udGFpbnM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4oYS5vd25lckRvY3VtZW50fHxhKSE9PW4mJm0oYSksdChhLGIpfSxnYS5hdHRyPWZ1bmN0aW9uKGEsYil7KGEub3duZXJEb2N1bWVudHx8YSkhPT1uJiZtKGEpO3ZhciBlPWQuYXR0ckhhbmRsZVtiLnRvTG93ZXJDYXNlKCldLGY9ZSYmQy5jYWxsKGQuYXR0ckhhbmRsZSxiLnRvTG93ZXJDYXNlKCkpP2UoYSxiLCFwKTp2b2lkIDA7cmV0dXJuIHZvaWQgMCE9PWY/ZjpjLmF0dHJpYnV0ZXN8fCFwP2EuZ2V0QXR0cmlidXRlKGIpOihmPWEuZ2V0QXR0cmlidXRlTm9kZShiKSkmJmYuc3BlY2lmaWVkP2YudmFsdWU6bnVsbH0sZ2EuZXNjYXBlPWZ1bmN0aW9uKGEpe3JldHVybihhK1wiXCIpLnJlcGxhY2UoYmEsY2EpfSxnYS5lcnJvcj1mdW5jdGlvbihhKXt0aHJvdyBuZXcgRXJyb3IoXCJTeW50YXggZXJyb3IsIHVucmVjb2duaXplZCBleHByZXNzaW9uOiBcIithKX0sZ2EudW5pcXVlU29ydD1mdW5jdGlvbihhKXt2YXIgYixkPVtdLGU9MCxmPTA7aWYobD0hYy5kZXRlY3REdXBsaWNhdGVzLGs9IWMuc29ydFN0YWJsZSYmYS5zbGljZSgwKSxhLnNvcnQoQiksbCl7d2hpbGUoYj1hW2YrK10pYj09PWFbZl0mJihlPWQucHVzaChmKSk7d2hpbGUoZS0tKWEuc3BsaWNlKGRbZV0sMSl9cmV0dXJuIGs9bnVsbCxhfSxlPWdhLmdldFRleHQ9ZnVuY3Rpb24oYSl7dmFyIGIsYz1cIlwiLGQ9MCxmPWEubm9kZVR5cGU7aWYoZil7aWYoMT09PWZ8fDk9PT1mfHwxMT09PWYpe2lmKFwic3RyaW5nXCI9PXR5cGVvZiBhLnRleHRDb250ZW50KXJldHVybiBhLnRleHRDb250ZW50O2ZvcihhPWEuZmlyc3RDaGlsZDthO2E9YS5uZXh0U2libGluZyljKz1lKGEpfWVsc2UgaWYoMz09PWZ8fDQ9PT1mKXJldHVybiBhLm5vZGVWYWx1ZX1lbHNlIHdoaWxlKGI9YVtkKytdKWMrPWUoYik7cmV0dXJuIGN9LGQ9Z2Euc2VsZWN0b3JzPXtjYWNoZUxlbmd0aDo1MCxjcmVhdGVQc2V1ZG86aWEsbWF0Y2g6VixhdHRySGFuZGxlOnt9LGZpbmQ6e30scmVsYXRpdmU6e1wiPlwiOntkaXI6XCJwYXJlbnROb2RlXCIsZmlyc3Q6ITB9LFwiIFwiOntkaXI6XCJwYXJlbnROb2RlXCJ9LFwiK1wiOntkaXI6XCJwcmV2aW91c1NpYmxpbmdcIixmaXJzdDohMH0sXCJ+XCI6e2RpcjpcInByZXZpb3VzU2libGluZ1wifX0scHJlRmlsdGVyOntBVFRSOmZ1bmN0aW9uKGEpe3JldHVybiBhWzFdPWFbMV0ucmVwbGFjZShfLGFhKSxhWzNdPShhWzNdfHxhWzRdfHxhWzVdfHxcIlwiKS5yZXBsYWNlKF8sYWEpLFwifj1cIj09PWFbMl0mJihhWzNdPVwiIFwiK2FbM10rXCIgXCIpLGEuc2xpY2UoMCw0KX0sQ0hJTEQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGFbMV09YVsxXS50b0xvd2VyQ2FzZSgpLFwibnRoXCI9PT1hWzFdLnNsaWNlKDAsMyk/KGFbM118fGdhLmVycm9yKGFbMF0pLGFbNF09KyhhWzRdP2FbNV0rKGFbNl18fDEpOjIqKFwiZXZlblwiPT09YVszXXx8XCJvZGRcIj09PWFbM10pKSxhWzVdPSsoYVs3XSthWzhdfHxcIm9kZFwiPT09YVszXSkpOmFbM10mJmdhLmVycm9yKGFbMF0pLGF9LFBTRVVETzpmdW5jdGlvbihhKXt2YXIgYixjPSFhWzZdJiZhWzJdO3JldHVybiBWLkNISUxELnRlc3QoYVswXSk/bnVsbDooYVszXT9hWzJdPWFbNF18fGFbNV18fFwiXCI6YyYmVC50ZXN0KGMpJiYoYj1nKGMsITApKSYmKGI9Yy5pbmRleE9mKFwiKVwiLGMubGVuZ3RoLWIpLWMubGVuZ3RoKSYmKGFbMF09YVswXS5zbGljZSgwLGIpLGFbMl09Yy5zbGljZSgwLGIpKSxhLnNsaWNlKDAsMykpfX0sZmlsdGVyOntUQUc6ZnVuY3Rpb24oYSl7dmFyIGI9YS5yZXBsYWNlKF8sYWEpLnRvTG93ZXJDYXNlKCk7cmV0dXJuXCIqXCI9PT1hP2Z1bmN0aW9uKCl7cmV0dXJuITB9OmZ1bmN0aW9uKGEpe3JldHVybiBhLm5vZGVOYW1lJiZhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1ifX0sQ0xBU1M6ZnVuY3Rpb24oYSl7dmFyIGI9eVthK1wiIFwiXTtyZXR1cm4gYnx8KGI9bmV3IFJlZ0V4cChcIihefFwiK0srXCIpXCIrYStcIihcIitLK1wifCQpXCIpKSYmeShhLGZ1bmN0aW9uKGEpe3JldHVybiBiLnRlc3QoXCJzdHJpbmdcIj09dHlwZW9mIGEuY2xhc3NOYW1lJiZhLmNsYXNzTmFtZXx8XCJ1bmRlZmluZWRcIiE9dHlwZW9mIGEuZ2V0QXR0cmlidXRlJiZhLmdldEF0dHJpYnV0ZShcImNsYXNzXCIpfHxcIlwiKX0pfSxBVFRSOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZnVuY3Rpb24oZCl7dmFyIGU9Z2EuYXR0cihkLGEpO3JldHVybiBudWxsPT1lP1wiIT1cIj09PWI6IWJ8fChlKz1cIlwiLFwiPVwiPT09Yj9lPT09YzpcIiE9XCI9PT1iP2UhPT1jOlwiXj1cIj09PWI/YyYmMD09PWUuaW5kZXhPZihjKTpcIio9XCI9PT1iP2MmJmUuaW5kZXhPZihjKT4tMTpcIiQ9XCI9PT1iP2MmJmUuc2xpY2UoLWMubGVuZ3RoKT09PWM6XCJ+PVwiPT09Yj8oXCIgXCIrZS5yZXBsYWNlKE8sXCIgXCIpK1wiIFwiKS5pbmRleE9mKGMpPi0xOlwifD1cIj09PWImJihlPT09Y3x8ZS5zbGljZSgwLGMubGVuZ3RoKzEpPT09YytcIi1cIikpfX0sQ0hJTEQ6ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1cIm50aFwiIT09YS5zbGljZSgwLDMpLGc9XCJsYXN0XCIhPT1hLnNsaWNlKC00KSxoPVwib2YtdHlwZVwiPT09YjtyZXR1cm4gMT09PWQmJjA9PT1lP2Z1bmN0aW9uKGEpe3JldHVybiEhYS5wYXJlbnROb2RlfTpmdW5jdGlvbihiLGMsaSl7dmFyIGosayxsLG0sbixvLHA9ZiE9PWc/XCJuZXh0U2libGluZ1wiOlwicHJldmlvdXNTaWJsaW5nXCIscT1iLnBhcmVudE5vZGUscj1oJiZiLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkscz0haSYmIWgsdD0hMTtpZihxKXtpZihmKXt3aGlsZShwKXttPWI7d2hpbGUobT1tW3BdKWlmKGg/bS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09cjoxPT09bS5ub2RlVHlwZSlyZXR1cm4hMTtvPXA9XCJvbmx5XCI9PT1hJiYhbyYmXCJuZXh0U2libGluZ1wifXJldHVybiEwfWlmKG89W2c/cS5maXJzdENoaWxkOnEubGFzdENoaWxkXSxnJiZzKXttPXEsbD1tW3VdfHwobVt1XT17fSksaz1sW20udW5pcXVlSURdfHwobFttLnVuaXF1ZUlEXT17fSksaj1rW2FdfHxbXSxuPWpbMF09PT13JiZqWzFdLHQ9biYmalsyXSxtPW4mJnEuY2hpbGROb2Rlc1tuXTt3aGlsZShtPSsrbiYmbSYmbVtwXXx8KHQ9bj0wKXx8by5wb3AoKSlpZigxPT09bS5ub2RlVHlwZSYmKyt0JiZtPT09Yil7a1thXT1bdyxuLHRdO2JyZWFrfX1lbHNlIGlmKHMmJihtPWIsbD1tW3VdfHwobVt1XT17fSksaz1sW20udW5pcXVlSURdfHwobFttLnVuaXF1ZUlEXT17fSksaj1rW2FdfHxbXSxuPWpbMF09PT13JiZqWzFdLHQ9biksdD09PSExKXdoaWxlKG09KytuJiZtJiZtW3BdfHwodD1uPTApfHxvLnBvcCgpKWlmKChoP20ubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXI6MT09PW0ubm9kZVR5cGUpJiYrK3QmJihzJiYobD1tW3VdfHwobVt1XT17fSksaz1sW20udW5pcXVlSURdfHwobFttLnVuaXF1ZUlEXT17fSksa1thXT1bdyx0XSksbT09PWIpKWJyZWFrO3JldHVybiB0LT1lLHQ9PT1kfHx0JWQ9PT0wJiZ0L2Q+PTB9fX0sUFNFVURPOmZ1bmN0aW9uKGEsYil7dmFyIGMsZT1kLnBzZXVkb3NbYV18fGQuc2V0RmlsdGVyc1thLnRvTG93ZXJDYXNlKCldfHxnYS5lcnJvcihcInVuc3VwcG9ydGVkIHBzZXVkbzogXCIrYSk7cmV0dXJuIGVbdV0/ZShiKTplLmxlbmd0aD4xPyhjPVthLGEsXCJcIixiXSxkLnNldEZpbHRlcnMuaGFzT3duUHJvcGVydHkoYS50b0xvd2VyQ2FzZSgpKT9pYShmdW5jdGlvbihhLGMpe3ZhciBkLGY9ZShhLGIpLGc9Zi5sZW5ndGg7d2hpbGUoZy0tKWQ9SShhLGZbZ10pLGFbZF09IShjW2RdPWZbZ10pfSk6ZnVuY3Rpb24oYSl7cmV0dXJuIGUoYSwwLGMpfSk6ZX19LHBzZXVkb3M6e25vdDppYShmdW5jdGlvbihhKXt2YXIgYj1bXSxjPVtdLGQ9aChhLnJlcGxhY2UoUCxcIiQxXCIpKTtyZXR1cm4gZFt1XT9pYShmdW5jdGlvbihhLGIsYyxlKXt2YXIgZixnPWQoYSxudWxsLGUsW10pLGg9YS5sZW5ndGg7d2hpbGUoaC0tKShmPWdbaF0pJiYoYVtoXT0hKGJbaF09ZikpfSk6ZnVuY3Rpb24oYSxlLGYpe3JldHVybiBiWzBdPWEsZChiLG51bGwsZixjKSxiWzBdPW51bGwsIWMucG9wKCl9fSksaGFzOmlhKGZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbihiKXtyZXR1cm4gZ2EoYSxiKS5sZW5ndGg+MH19KSxjb250YWluczppYShmdW5jdGlvbihhKXtyZXR1cm4gYT1hLnJlcGxhY2UoXyxhYSksZnVuY3Rpb24oYil7cmV0dXJuKGIudGV4dENvbnRlbnR8fGIuaW5uZXJUZXh0fHxlKGIpKS5pbmRleE9mKGEpPi0xfX0pLGxhbmc6aWEoZnVuY3Rpb24oYSl7cmV0dXJuIFUudGVzdChhfHxcIlwiKXx8Z2EuZXJyb3IoXCJ1bnN1cHBvcnRlZCBsYW5nOiBcIithKSxhPWEucmVwbGFjZShfLGFhKS50b0xvd2VyQ2FzZSgpLGZ1bmN0aW9uKGIpe3ZhciBjO2RvIGlmKGM9cD9iLmxhbmc6Yi5nZXRBdHRyaWJ1dGUoXCJ4bWw6bGFuZ1wiKXx8Yi5nZXRBdHRyaWJ1dGUoXCJsYW5nXCIpKXJldHVybiBjPWMudG9Mb3dlckNhc2UoKSxjPT09YXx8MD09PWMuaW5kZXhPZihhK1wiLVwiKTt3aGlsZSgoYj1iLnBhcmVudE5vZGUpJiYxPT09Yi5ub2RlVHlwZSk7cmV0dXJuITF9fSksdGFyZ2V0OmZ1bmN0aW9uKGIpe3ZhciBjPWEubG9jYXRpb24mJmEubG9jYXRpb24uaGFzaDtyZXR1cm4gYyYmYy5zbGljZSgxKT09PWIuaWR9LHJvb3Q6ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1vfSxmb2N1czpmdW5jdGlvbihhKXtyZXR1cm4gYT09PW4uYWN0aXZlRWxlbWVudCYmKCFuLmhhc0ZvY3VzfHxuLmhhc0ZvY3VzKCkpJiYhIShhLnR5cGV8fGEuaHJlZnx8fmEudGFiSW5kZXgpfSxlbmFibGVkOm9hKCExKSxkaXNhYmxlZDpvYSghMCksY2hlY2tlZDpmdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuXCJpbnB1dFwiPT09YiYmISFhLmNoZWNrZWR8fFwib3B0aW9uXCI9PT1iJiYhIWEuc2VsZWN0ZWR9LHNlbGVjdGVkOmZ1bmN0aW9uKGEpe3JldHVybiBhLnBhcmVudE5vZGUmJmEucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4LGEuc2VsZWN0ZWQ9PT0hMH0sZW1wdHk6ZnVuY3Rpb24oYSl7Zm9yKGE9YS5maXJzdENoaWxkO2E7YT1hLm5leHRTaWJsaW5nKWlmKGEubm9kZVR5cGU8NilyZXR1cm4hMTtyZXR1cm4hMH0scGFyZW50OmZ1bmN0aW9uKGEpe3JldHVybiFkLnBzZXVkb3MuZW1wdHkoYSl9LGhlYWRlcjpmdW5jdGlvbihhKXtyZXR1cm4gWC50ZXN0KGEubm9kZU5hbWUpfSxpbnB1dDpmdW5jdGlvbihhKXtyZXR1cm4gVy50ZXN0KGEubm9kZU5hbWUpfSxidXR0b246ZnVuY3Rpb24oYSl7dmFyIGI9YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVyblwiaW5wdXRcIj09PWImJlwiYnV0dG9uXCI9PT1hLnR5cGV8fFwiYnV0dG9uXCI9PT1ifSx0ZXh0OmZ1bmN0aW9uKGEpe3ZhciBiO3JldHVyblwiaW5wdXRcIj09PWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmXCJ0ZXh0XCI9PT1hLnR5cGUmJihudWxsPT0oYj1hLmdldEF0dHJpYnV0ZShcInR5cGVcIikpfHxcInRleHRcIj09PWIudG9Mb3dlckNhc2UoKSl9LGZpcnN0OnBhKGZ1bmN0aW9uKCl7cmV0dXJuWzBdfSksbGFzdDpwYShmdW5jdGlvbihhLGIpe3JldHVybltiLTFdfSksZXE6cGEoZnVuY3Rpb24oYSxiLGMpe3JldHVybltjPDA/YytiOmNdfSksZXZlbjpwYShmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0wO2M8YjtjKz0yKWEucHVzaChjKTtyZXR1cm4gYX0pLG9kZDpwYShmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0xO2M8YjtjKz0yKWEucHVzaChjKTtyZXR1cm4gYX0pLGx0OnBhKGZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9YzwwP2MrYjpjOy0tZD49MDspYS5wdXNoKGQpO3JldHVybiBhfSksZ3Q6cGEoZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZD1jPDA/YytiOmM7KytkPGI7KWEucHVzaChkKTtyZXR1cm4gYX0pfX0sZC5wc2V1ZG9zLm50aD1kLnBzZXVkb3MuZXE7Zm9yKGIgaW57cmFkaW86ITAsY2hlY2tib3g6ITAsZmlsZTohMCxwYXNzd29yZDohMCxpbWFnZTohMH0pZC5wc2V1ZG9zW2JdPW1hKGIpO2ZvcihiIGlue3N1Ym1pdDohMCxyZXNldDohMH0pZC5wc2V1ZG9zW2JdPW5hKGIpO2Z1bmN0aW9uIHJhKCl7fXJhLnByb3RvdHlwZT1kLmZpbHRlcnM9ZC5wc2V1ZG9zLGQuc2V0RmlsdGVycz1uZXcgcmEsZz1nYS50b2tlbml6ZT1mdW5jdGlvbihhLGIpe3ZhciBjLGUsZixnLGgsaSxqLGs9elthK1wiIFwiXTtpZihrKXJldHVybiBiPzA6ay5zbGljZSgwKTtoPWEsaT1bXSxqPWQucHJlRmlsdGVyO3doaWxlKGgpe2MmJiEoZT1RLmV4ZWMoaCkpfHwoZSYmKGg9aC5zbGljZShlWzBdLmxlbmd0aCl8fGgpLGkucHVzaChmPVtdKSksYz0hMSwoZT1SLmV4ZWMoaCkpJiYoYz1lLnNoaWZ0KCksZi5wdXNoKHt2YWx1ZTpjLHR5cGU6ZVswXS5yZXBsYWNlKFAsXCIgXCIpfSksaD1oLnNsaWNlKGMubGVuZ3RoKSk7Zm9yKGcgaW4gZC5maWx0ZXIpIShlPVZbZ10uZXhlYyhoKSl8fGpbZ10mJiEoZT1qW2ddKGUpKXx8KGM9ZS5zaGlmdCgpLGYucHVzaCh7dmFsdWU6Yyx0eXBlOmcsbWF0Y2hlczplfSksaD1oLnNsaWNlKGMubGVuZ3RoKSk7aWYoIWMpYnJlYWt9cmV0dXJuIGI/aC5sZW5ndGg6aD9nYS5lcnJvcihhKTp6KGEsaSkuc2xpY2UoMCl9O2Z1bmN0aW9uIHNhKGEpe2Zvcih2YXIgYj0wLGM9YS5sZW5ndGgsZD1cIlwiO2I8YztiKyspZCs9YVtiXS52YWx1ZTtyZXR1cm4gZH1mdW5jdGlvbiB0YShhLGIsYyl7dmFyIGQ9Yi5kaXIsZT1iLm5leHQsZj1lfHxkLGc9YyYmXCJwYXJlbnROb2RlXCI9PT1mLGg9eCsrO3JldHVybiBiLmZpcnN0P2Z1bmN0aW9uKGIsYyxlKXt3aGlsZShiPWJbZF0paWYoMT09PWIubm9kZVR5cGV8fGcpcmV0dXJuIGEoYixjLGUpO3JldHVybiExfTpmdW5jdGlvbihiLGMsaSl7dmFyIGosayxsLG09W3csaF07aWYoaSl7d2hpbGUoYj1iW2RdKWlmKCgxPT09Yi5ub2RlVHlwZXx8ZykmJmEoYixjLGkpKXJldHVybiEwfWVsc2Ugd2hpbGUoYj1iW2RdKWlmKDE9PT1iLm5vZGVUeXBlfHxnKWlmKGw9Ylt1XXx8KGJbdV09e30pLGs9bFtiLnVuaXF1ZUlEXXx8KGxbYi51bmlxdWVJRF09e30pLGUmJmU9PT1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpYj1iW2RdfHxiO2Vsc2V7aWYoKGo9a1tmXSkmJmpbMF09PT13JiZqWzFdPT09aClyZXR1cm4gbVsyXT1qWzJdO2lmKGtbZl09bSxtWzJdPWEoYixjLGkpKXJldHVybiEwfXJldHVybiExfX1mdW5jdGlvbiB1YShhKXtyZXR1cm4gYS5sZW5ndGg+MT9mdW5jdGlvbihiLGMsZCl7dmFyIGU9YS5sZW5ndGg7d2hpbGUoZS0tKWlmKCFhW2VdKGIsYyxkKSlyZXR1cm4hMTtyZXR1cm4hMH06YVswXX1mdW5jdGlvbiB2YShhLGIsYyl7Zm9yKHZhciBkPTAsZT1iLmxlbmd0aDtkPGU7ZCsrKWdhKGEsYltkXSxjKTtyZXR1cm4gY31mdW5jdGlvbiB3YShhLGIsYyxkLGUpe2Zvcih2YXIgZixnPVtdLGg9MCxpPWEubGVuZ3RoLGo9bnVsbCE9YjtoPGk7aCsrKShmPWFbaF0pJiYoYyYmIWMoZixkLGUpfHwoZy5wdXNoKGYpLGomJmIucHVzaChoKSkpO3JldHVybiBnfWZ1bmN0aW9uIHhhKGEsYixjLGQsZSxmKXtyZXR1cm4gZCYmIWRbdV0mJihkPXhhKGQpKSxlJiYhZVt1XSYmKGU9eGEoZSxmKSksaWEoZnVuY3Rpb24oZixnLGgsaSl7dmFyIGosayxsLG09W10sbj1bXSxvPWcubGVuZ3RoLHA9Znx8dmEoYnx8XCIqXCIsaC5ub2RlVHlwZT9baF06aCxbXSkscT0hYXx8IWYmJmI/cDp3YShwLG0sYSxoLGkpLHI9Yz9lfHwoZj9hOm98fGQpP1tdOmc6cTtpZihjJiZjKHEscixoLGkpLGQpe2o9d2EocixuKSxkKGosW10saCxpKSxrPWoubGVuZ3RoO3doaWxlKGstLSkobD1qW2tdKSYmKHJbbltrXV09IShxW25ba11dPWwpKX1pZihmKXtpZihlfHxhKXtpZihlKXtqPVtdLGs9ci5sZW5ndGg7d2hpbGUoay0tKShsPXJba10pJiZqLnB1c2gocVtrXT1sKTtlKG51bGwscj1bXSxqLGkpfWs9ci5sZW5ndGg7d2hpbGUoay0tKShsPXJba10pJiYoaj1lP0koZixsKTptW2tdKT4tMSYmKGZbal09IShnW2pdPWwpKX19ZWxzZSByPXdhKHI9PT1nP3Iuc3BsaWNlKG8sci5sZW5ndGgpOnIpLGU/ZShudWxsLGcscixpKTpHLmFwcGx5KGcscil9KX1mdW5jdGlvbiB5YShhKXtmb3IodmFyIGIsYyxlLGY9YS5sZW5ndGgsZz1kLnJlbGF0aXZlW2FbMF0udHlwZV0saD1nfHxkLnJlbGF0aXZlW1wiIFwiXSxpPWc/MTowLGs9dGEoZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1ifSxoLCEwKSxsPXRhKGZ1bmN0aW9uKGEpe3JldHVybiBJKGIsYSk+LTF9LGgsITApLG09W2Z1bmN0aW9uKGEsYyxkKXt2YXIgZT0hZyYmKGR8fGMhPT1qKXx8KChiPWMpLm5vZGVUeXBlP2soYSxjLGQpOmwoYSxjLGQpKTtyZXR1cm4gYj1udWxsLGV9XTtpPGY7aSsrKWlmKGM9ZC5yZWxhdGl2ZVthW2ldLnR5cGVdKW09W3RhKHVhKG0pLGMpXTtlbHNle2lmKGM9ZC5maWx0ZXJbYVtpXS50eXBlXS5hcHBseShudWxsLGFbaV0ubWF0Y2hlcyksY1t1XSl7Zm9yKGU9KytpO2U8ZjtlKyspaWYoZC5yZWxhdGl2ZVthW2VdLnR5cGVdKWJyZWFrO3JldHVybiB4YShpPjEmJnVhKG0pLGk+MSYmc2EoYS5zbGljZSgwLGktMSkuY29uY2F0KHt2YWx1ZTpcIiBcIj09PWFbaS0yXS50eXBlP1wiKlwiOlwiXCJ9KSkucmVwbGFjZShQLFwiJDFcIiksYyxpPGUmJnlhKGEuc2xpY2UoaSxlKSksZTxmJiZ5YShhPWEuc2xpY2UoZSkpLGU8ZiYmc2EoYSkpfW0ucHVzaChjKX1yZXR1cm4gdWEobSl9ZnVuY3Rpb24gemEoYSxiKXt2YXIgYz1iLmxlbmd0aD4wLGU9YS5sZW5ndGg+MCxmPWZ1bmN0aW9uKGYsZyxoLGksayl7dmFyIGwsbyxxLHI9MCxzPVwiMFwiLHQ9ZiYmW10sdT1bXSx2PWoseD1mfHxlJiZkLmZpbmQuVEFHKFwiKlwiLGspLHk9dys9bnVsbD09dj8xOk1hdGgucmFuZG9tKCl8fC4xLHo9eC5sZW5ndGg7Zm9yKGsmJihqPWc9PT1ufHxnfHxrKTtzIT09eiYmbnVsbCE9KGw9eFtzXSk7cysrKXtpZihlJiZsKXtvPTAsZ3x8bC5vd25lckRvY3VtZW50PT09bnx8KG0obCksaD0hcCk7d2hpbGUocT1hW28rK10paWYocShsLGd8fG4saCkpe2kucHVzaChsKTticmVha31rJiYodz15KX1jJiYoKGw9IXEmJmwpJiZyLS0sZiYmdC5wdXNoKGwpKX1pZihyKz1zLGMmJnMhPT1yKXtvPTA7d2hpbGUocT1iW28rK10pcSh0LHUsZyxoKTtpZihmKXtpZihyPjApd2hpbGUocy0tKXRbc118fHVbc118fCh1W3NdPUUuY2FsbChpKSk7dT13YSh1KX1HLmFwcGx5KGksdSksayYmIWYmJnUubGVuZ3RoPjAmJnIrYi5sZW5ndGg+MSYmZ2EudW5pcXVlU29ydChpKX1yZXR1cm4gayYmKHc9eSxqPXYpLHR9O3JldHVybiBjP2lhKGYpOmZ9cmV0dXJuIGg9Z2EuY29tcGlsZT1mdW5jdGlvbihhLGIpe3ZhciBjLGQ9W10sZT1bXSxmPUFbYStcIiBcIl07aWYoIWYpe2J8fChiPWcoYSkpLGM9Yi5sZW5ndGg7d2hpbGUoYy0tKWY9eWEoYltjXSksZlt1XT9kLnB1c2goZik6ZS5wdXNoKGYpO2Y9QShhLHphKGUsZCkpLGYuc2VsZWN0b3I9YX1yZXR1cm4gZn0saT1nYS5zZWxlY3Q9ZnVuY3Rpb24oYSxiLGMsZSl7dmFyIGYsaSxqLGssbCxtPVwiZnVuY3Rpb25cIj09dHlwZW9mIGEmJmEsbj0hZSYmZyhhPW0uc2VsZWN0b3J8fGEpO2lmKGM9Y3x8W10sMT09PW4ubGVuZ3RoKXtpZihpPW5bMF09blswXS5zbGljZSgwKSxpLmxlbmd0aD4yJiZcIklEXCI9PT0oaj1pWzBdKS50eXBlJiY5PT09Yi5ub2RlVHlwZSYmcCYmZC5yZWxhdGl2ZVtpWzFdLnR5cGVdKXtpZihiPShkLmZpbmQuSUQoai5tYXRjaGVzWzBdLnJlcGxhY2UoXyxhYSksYil8fFtdKVswXSwhYilyZXR1cm4gYzttJiYoYj1iLnBhcmVudE5vZGUpLGE9YS5zbGljZShpLnNoaWZ0KCkudmFsdWUubGVuZ3RoKX1mPVYubmVlZHNDb250ZXh0LnRlc3QoYSk/MDppLmxlbmd0aDt3aGlsZShmLS0pe2lmKGo9aVtmXSxkLnJlbGF0aXZlW2s9ai50eXBlXSlicmVhaztpZigobD1kLmZpbmRba10pJiYoZT1sKGoubWF0Y2hlc1swXS5yZXBsYWNlKF8sYWEpLCQudGVzdChpWzBdLnR5cGUpJiZxYShiLnBhcmVudE5vZGUpfHxiKSkpe2lmKGkuc3BsaWNlKGYsMSksYT1lLmxlbmd0aCYmc2EoaSksIWEpcmV0dXJuIEcuYXBwbHkoYyxlKSxjO2JyZWFrfX19cmV0dXJuKG18fGgoYSxuKSkoZSxiLCFwLGMsIWJ8fCQudGVzdChhKSYmcWEoYi5wYXJlbnROb2RlKXx8YiksY30sYy5zb3J0U3RhYmxlPXUuc3BsaXQoXCJcIikuc29ydChCKS5qb2luKFwiXCIpPT09dSxjLmRldGVjdER1cGxpY2F0ZXM9ISFsLG0oKSxjLnNvcnREZXRhY2hlZD1qYShmdW5jdGlvbihhKXtyZXR1cm4gMSZhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKG4uY3JlYXRlRWxlbWVudChcImZpZWxkc2V0XCIpKX0pLGphKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlubmVySFRNTD1cIjxhIGhyZWY9JyMnPjwvYT5cIixcIiNcIj09PWEuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoXCJocmVmXCIpfSl8fGthKFwidHlwZXxocmVmfGhlaWdodHx3aWR0aFwiLGZ1bmN0aW9uKGEsYixjKXtpZighYylyZXR1cm4gYS5nZXRBdHRyaWJ1dGUoYixcInR5cGVcIj09PWIudG9Mb3dlckNhc2UoKT8xOjIpfSksYy5hdHRyaWJ1dGVzJiZqYShmdW5jdGlvbihhKXtyZXR1cm4gYS5pbm5lckhUTUw9XCI8aW5wdXQvPlwiLGEuZmlyc3RDaGlsZC5zZXRBdHRyaWJ1dGUoXCJ2YWx1ZVwiLFwiXCIpLFwiXCI9PT1hLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKFwidmFsdWVcIil9KXx8a2EoXCJ2YWx1ZVwiLGZ1bmN0aW9uKGEsYixjKXtpZighYyYmXCJpbnB1dFwiPT09YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKXJldHVybiBhLmRlZmF1bHRWYWx1ZX0pLGphKGZ1bmN0aW9uKGEpe3JldHVybiBudWxsPT1hLmdldEF0dHJpYnV0ZShcImRpc2FibGVkXCIpfSl8fGthKEosZnVuY3Rpb24oYSxiLGMpe3ZhciBkO2lmKCFjKXJldHVybiBhW2JdPT09ITA/Yi50b0xvd2VyQ2FzZSgpOihkPWEuZ2V0QXR0cmlidXRlTm9kZShiKSkmJmQuc3BlY2lmaWVkP2QudmFsdWU6bnVsbH0pLGdhfShhKTtyLmZpbmQ9eCxyLmV4cHI9eC5zZWxlY3RvcnMsci5leHByW1wiOlwiXT1yLmV4cHIucHNldWRvcyxyLnVuaXF1ZVNvcnQ9ci51bmlxdWU9eC51bmlxdWVTb3J0LHIudGV4dD14LmdldFRleHQsci5pc1hNTERvYz14LmlzWE1MLHIuY29udGFpbnM9eC5jb250YWlucyxyLmVzY2FwZVNlbGVjdG9yPXguZXNjYXBlO3ZhciB5PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1bXSxlPXZvaWQgMCE9PWM7d2hpbGUoKGE9YVtiXSkmJjkhPT1hLm5vZGVUeXBlKWlmKDE9PT1hLm5vZGVUeXBlKXtpZihlJiZyKGEpLmlzKGMpKWJyZWFrO2QucHVzaChhKX1yZXR1cm4gZH0sej1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1bXTthO2E9YS5uZXh0U2libGluZykxPT09YS5ub2RlVHlwZSYmYSE9PWImJmMucHVzaChhKTtyZXR1cm4gY30sQT1yLmV4cHIubWF0Y2gubmVlZHNDb250ZXh0O2Z1bmN0aW9uIEIoYSxiKXtyZXR1cm4gYS5ub2RlTmFtZSYmYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09Yi50b0xvd2VyQ2FzZSgpfXZhciBDPS9ePChbYS16XVteXFwvXFwwPjpcXHgyMFxcdFxcclxcblxcZl0qKVtcXHgyMFxcdFxcclxcblxcZl0qXFwvPz4oPzo8XFwvXFwxPnwpJC9pLEQ9L14uW146I1xcW1xcLixdKiQvO2Z1bmN0aW9uIEUoYSxiLGMpe3JldHVybiByLmlzRnVuY3Rpb24oYik/ci5ncmVwKGEsZnVuY3Rpb24oYSxkKXtyZXR1cm4hIWIuY2FsbChhLGQsYSkhPT1jfSk6Yi5ub2RlVHlwZT9yLmdyZXAoYSxmdW5jdGlvbihhKXtyZXR1cm4gYT09PWIhPT1jfSk6XCJzdHJpbmdcIiE9dHlwZW9mIGI/ci5ncmVwKGEsZnVuY3Rpb24oYSl7cmV0dXJuIGkuY2FsbChiLGEpPi0xIT09Y30pOkQudGVzdChiKT9yLmZpbHRlcihiLGEsYyk6KGI9ci5maWx0ZXIoYixhKSxyLmdyZXAoYSxmdW5jdGlvbihhKXtyZXR1cm4gaS5jYWxsKGIsYSk+LTEhPT1jJiYxPT09YS5ub2RlVHlwZX0pKX1yLmZpbHRlcj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YlswXTtyZXR1cm4gYyYmKGE9XCI6bm90KFwiK2ErXCIpXCIpLDE9PT1iLmxlbmd0aCYmMT09PWQubm9kZVR5cGU/ci5maW5kLm1hdGNoZXNTZWxlY3RvcihkLGEpP1tkXTpbXTpyLmZpbmQubWF0Y2hlcyhhLHIuZ3JlcChiLGZ1bmN0aW9uKGEpe3JldHVybiAxPT09YS5ub2RlVHlwZX0pKX0sci5mbi5leHRlbmQoe2ZpbmQ6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPXRoaXMubGVuZ3RoLGU9dGhpcztpZihcInN0cmluZ1wiIT10eXBlb2YgYSlyZXR1cm4gdGhpcy5wdXNoU3RhY2socihhKS5maWx0ZXIoZnVuY3Rpb24oKXtmb3IoYj0wO2I8ZDtiKyspaWYoci5jb250YWlucyhlW2JdLHRoaXMpKXJldHVybiEwfSkpO2ZvcihjPXRoaXMucHVzaFN0YWNrKFtdKSxiPTA7YjxkO2IrKylyLmZpbmQoYSxlW2JdLGMpO3JldHVybiBkPjE/ci51bmlxdWVTb3J0KGMpOmN9LGZpbHRlcjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soRSh0aGlzLGF8fFtdLCExKSl9LG5vdDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soRSh0aGlzLGF8fFtdLCEwKSl9LGlzOmZ1bmN0aW9uKGEpe3JldHVybiEhRSh0aGlzLFwic3RyaW5nXCI9PXR5cGVvZiBhJiZBLnRlc3QoYSk/cihhKTphfHxbXSwhMSkubGVuZ3RofX0pO3ZhciBGLEc9L14oPzpcXHMqKDxbXFx3XFxXXSs+KVtePl0qfCMoW1xcdy1dKykpJC8sSD1yLmZuLmluaXQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBlLGY7aWYoIWEpcmV0dXJuIHRoaXM7aWYoYz1jfHxGLFwic3RyaW5nXCI9PXR5cGVvZiBhKXtpZihlPVwiPFwiPT09YVswXSYmXCI+XCI9PT1hW2EubGVuZ3RoLTFdJiZhLmxlbmd0aD49Mz9bbnVsbCxhLG51bGxdOkcuZXhlYyhhKSwhZXx8IWVbMV0mJmIpcmV0dXJuIWJ8fGIuanF1ZXJ5PyhifHxjKS5maW5kKGEpOnRoaXMuY29uc3RydWN0b3IoYikuZmluZChhKTtpZihlWzFdKXtpZihiPWIgaW5zdGFuY2VvZiByP2JbMF06YixyLm1lcmdlKHRoaXMsci5wYXJzZUhUTUwoZVsxXSxiJiZiLm5vZGVUeXBlP2Iub3duZXJEb2N1bWVudHx8YjpkLCEwKSksQy50ZXN0KGVbMV0pJiZyLmlzUGxhaW5PYmplY3QoYikpZm9yKGUgaW4gYilyLmlzRnVuY3Rpb24odGhpc1tlXSk/dGhpc1tlXShiW2VdKTp0aGlzLmF0dHIoZSxiW2VdKTtyZXR1cm4gdGhpc31yZXR1cm4gZj1kLmdldEVsZW1lbnRCeUlkKGVbMl0pLGYmJih0aGlzWzBdPWYsdGhpcy5sZW5ndGg9MSksdGhpc31yZXR1cm4gYS5ub2RlVHlwZT8odGhpc1swXT1hLHRoaXMubGVuZ3RoPTEsdGhpcyk6ci5pc0Z1bmN0aW9uKGEpP3ZvaWQgMCE9PWMucmVhZHk/Yy5yZWFkeShhKTphKHIpOnIubWFrZUFycmF5KGEsdGhpcyl9O0gucHJvdG90eXBlPXIuZm4sRj1yKGQpO3ZhciBJPS9eKD86cGFyZW50c3xwcmV2KD86VW50aWx8QWxsKSkvLEo9e2NoaWxkcmVuOiEwLGNvbnRlbnRzOiEwLG5leHQ6ITAscHJldjohMH07ci5mbi5leHRlbmQoe2hhczpmdW5jdGlvbihhKXt2YXIgYj1yKGEsdGhpcyksYz1iLmxlbmd0aDtyZXR1cm4gdGhpcy5maWx0ZXIoZnVuY3Rpb24oKXtmb3IodmFyIGE9MDthPGM7YSsrKWlmKHIuY29udGFpbnModGhpcyxiW2FdKSlyZXR1cm4hMH0pfSxjbG9zZXN0OmZ1bmN0aW9uKGEsYil7dmFyIGMsZD0wLGU9dGhpcy5sZW5ndGgsZj1bXSxnPVwic3RyaW5nXCIhPXR5cGVvZiBhJiZyKGEpO2lmKCFBLnRlc3QoYSkpZm9yKDtkPGU7ZCsrKWZvcihjPXRoaXNbZF07YyYmYyE9PWI7Yz1jLnBhcmVudE5vZGUpaWYoYy5ub2RlVHlwZTwxMSYmKGc/Zy5pbmRleChjKT4tMToxPT09Yy5ub2RlVHlwZSYmci5maW5kLm1hdGNoZXNTZWxlY3RvcihjLGEpKSl7Zi5wdXNoKGMpO2JyZWFrfXJldHVybiB0aGlzLnB1c2hTdGFjayhmLmxlbmd0aD4xP3IudW5pcXVlU29ydChmKTpmKX0saW5kZXg6ZnVuY3Rpb24oYSl7cmV0dXJuIGE/XCJzdHJpbmdcIj09dHlwZW9mIGE/aS5jYWxsKHIoYSksdGhpc1swXSk6aS5jYWxsKHRoaXMsYS5qcXVlcnk/YVswXTphKTp0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGU/dGhpcy5maXJzdCgpLnByZXZBbGwoKS5sZW5ndGg6LTF9LGFkZDpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLnB1c2hTdGFjayhyLnVuaXF1ZVNvcnQoci5tZXJnZSh0aGlzLmdldCgpLHIoYSxiKSkpKX0sYWRkQmFjazpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5hZGQobnVsbD09YT90aGlzLnByZXZPYmplY3Q6dGhpcy5wcmV2T2JqZWN0LmZpbHRlcihhKSl9fSk7ZnVuY3Rpb24gSyhhLGIpe3doaWxlKChhPWFbYl0pJiYxIT09YS5ub2RlVHlwZSk7cmV0dXJuIGF9ci5lYWNoKHtwYXJlbnQ6ZnVuY3Rpb24oYSl7dmFyIGI9YS5wYXJlbnROb2RlO3JldHVybiBiJiYxMSE9PWIubm9kZVR5cGU/YjpudWxsfSxwYXJlbnRzOmZ1bmN0aW9uKGEpe3JldHVybiB5KGEsXCJwYXJlbnROb2RlXCIpfSxwYXJlbnRzVW50aWw6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB5KGEsXCJwYXJlbnROb2RlXCIsYyl9LG5leHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIEsoYSxcIm5leHRTaWJsaW5nXCIpfSxwcmV2OmZ1bmN0aW9uKGEpe3JldHVybiBLKGEsXCJwcmV2aW91c1NpYmxpbmdcIil9LG5leHRBbGw6ZnVuY3Rpb24oYSl7cmV0dXJuIHkoYSxcIm5leHRTaWJsaW5nXCIpfSxwcmV2QWxsOmZ1bmN0aW9uKGEpe3JldHVybiB5KGEsXCJwcmV2aW91c1NpYmxpbmdcIil9LG5leHRVbnRpbDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHkoYSxcIm5leHRTaWJsaW5nXCIsYyl9LHByZXZVbnRpbDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHkoYSxcInByZXZpb3VzU2libGluZ1wiLGMpfSxzaWJsaW5nczpmdW5jdGlvbihhKXtyZXR1cm4geigoYS5wYXJlbnROb2RlfHx7fSkuZmlyc3RDaGlsZCxhKX0sY2hpbGRyZW46ZnVuY3Rpb24oYSl7cmV0dXJuIHooYS5maXJzdENoaWxkKX0sY29udGVudHM6ZnVuY3Rpb24oYSl7cmV0dXJuIEIoYSxcImlmcmFtZVwiKT9hLmNvbnRlbnREb2N1bWVudDooQihhLFwidGVtcGxhdGVcIikmJihhPWEuY29udGVudHx8YSksci5tZXJnZShbXSxhLmNoaWxkTm9kZXMpKX19LGZ1bmN0aW9uKGEsYil7ci5mblthXT1mdW5jdGlvbihjLGQpe3ZhciBlPXIubWFwKHRoaXMsYixjKTtyZXR1cm5cIlVudGlsXCIhPT1hLnNsaWNlKC01KSYmKGQ9YyksZCYmXCJzdHJpbmdcIj09dHlwZW9mIGQmJihlPXIuZmlsdGVyKGQsZSkpLHRoaXMubGVuZ3RoPjEmJihKW2FdfHxyLnVuaXF1ZVNvcnQoZSksSS50ZXN0KGEpJiZlLnJldmVyc2UoKSksdGhpcy5wdXNoU3RhY2soZSl9fSk7dmFyIEw9L1teXFx4MjBcXHRcXHJcXG5cXGZdKy9nO2Z1bmN0aW9uIE0oYSl7dmFyIGI9e307cmV0dXJuIHIuZWFjaChhLm1hdGNoKEwpfHxbXSxmdW5jdGlvbihhLGMpe2JbY109ITB9KSxifXIuQ2FsbGJhY2tzPWZ1bmN0aW9uKGEpe2E9XCJzdHJpbmdcIj09dHlwZW9mIGE/TShhKTpyLmV4dGVuZCh7fSxhKTt2YXIgYixjLGQsZSxmPVtdLGc9W10saD0tMSxpPWZ1bmN0aW9uKCl7Zm9yKGU9ZXx8YS5vbmNlLGQ9Yj0hMDtnLmxlbmd0aDtoPS0xKXtjPWcuc2hpZnQoKTt3aGlsZSgrK2g8Zi5sZW5ndGgpZltoXS5hcHBseShjWzBdLGNbMV0pPT09ITEmJmEuc3RvcE9uRmFsc2UmJihoPWYubGVuZ3RoLGM9ITEpfWEubWVtb3J5fHwoYz0hMSksYj0hMSxlJiYoZj1jP1tdOlwiXCIpfSxqPXthZGQ6ZnVuY3Rpb24oKXtyZXR1cm4gZiYmKGMmJiFiJiYoaD1mLmxlbmd0aC0xLGcucHVzaChjKSksZnVuY3Rpb24gZChiKXtyLmVhY2goYixmdW5jdGlvbihiLGMpe3IuaXNGdW5jdGlvbihjKT9hLnVuaXF1ZSYmai5oYXMoYyl8fGYucHVzaChjKTpjJiZjLmxlbmd0aCYmXCJzdHJpbmdcIiE9PXIudHlwZShjKSYmZChjKX0pfShhcmd1bWVudHMpLGMmJiFiJiZpKCkpLHRoaXN9LHJlbW92ZTpmdW5jdGlvbigpe3JldHVybiByLmVhY2goYXJndW1lbnRzLGZ1bmN0aW9uKGEsYil7dmFyIGM7d2hpbGUoKGM9ci5pbkFycmF5KGIsZixjKSk+LTEpZi5zcGxpY2UoYywxKSxjPD1oJiZoLS19KSx0aGlzfSxoYXM6ZnVuY3Rpb24oYSl7cmV0dXJuIGE/ci5pbkFycmF5KGEsZik+LTE6Zi5sZW5ndGg+MH0sZW1wdHk6ZnVuY3Rpb24oKXtyZXR1cm4gZiYmKGY9W10pLHRoaXN9LGRpc2FibGU6ZnVuY3Rpb24oKXtyZXR1cm4gZT1nPVtdLGY9Yz1cIlwiLHRoaXN9LGRpc2FibGVkOmZ1bmN0aW9uKCl7cmV0dXJuIWZ9LGxvY2s6ZnVuY3Rpb24oKXtyZXR1cm4gZT1nPVtdLGN8fGJ8fChmPWM9XCJcIiksdGhpc30sbG9ja2VkOmZ1bmN0aW9uKCl7cmV0dXJuISFlfSxmaXJlV2l0aDpmdW5jdGlvbihhLGMpe3JldHVybiBlfHwoYz1jfHxbXSxjPVthLGMuc2xpY2U/Yy5zbGljZSgpOmNdLGcucHVzaChjKSxifHxpKCkpLHRoaXN9LGZpcmU6ZnVuY3Rpb24oKXtyZXR1cm4gai5maXJlV2l0aCh0aGlzLGFyZ3VtZW50cyksdGhpc30sZmlyZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hIWR9fTtyZXR1cm4gan07ZnVuY3Rpb24gTihhKXtyZXR1cm4gYX1mdW5jdGlvbiBPKGEpe3Rocm93IGF9ZnVuY3Rpb24gUChhLGIsYyxkKXt2YXIgZTt0cnl7YSYmci5pc0Z1bmN0aW9uKGU9YS5wcm9taXNlKT9lLmNhbGwoYSkuZG9uZShiKS5mYWlsKGMpOmEmJnIuaXNGdW5jdGlvbihlPWEudGhlbik/ZS5jYWxsKGEsYixjKTpiLmFwcGx5KHZvaWQgMCxbYV0uc2xpY2UoZCkpfWNhdGNoKGEpe2MuYXBwbHkodm9pZCAwLFthXSl9fXIuZXh0ZW5kKHtEZWZlcnJlZDpmdW5jdGlvbihiKXt2YXIgYz1bW1wibm90aWZ5XCIsXCJwcm9ncmVzc1wiLHIuQ2FsbGJhY2tzKFwibWVtb3J5XCIpLHIuQ2FsbGJhY2tzKFwibWVtb3J5XCIpLDJdLFtcInJlc29sdmVcIixcImRvbmVcIixyLkNhbGxiYWNrcyhcIm9uY2UgbWVtb3J5XCIpLHIuQ2FsbGJhY2tzKFwib25jZSBtZW1vcnlcIiksMCxcInJlc29sdmVkXCJdLFtcInJlamVjdFwiLFwiZmFpbFwiLHIuQ2FsbGJhY2tzKFwib25jZSBtZW1vcnlcIiksci5DYWxsYmFja3MoXCJvbmNlIG1lbW9yeVwiKSwxLFwicmVqZWN0ZWRcIl1dLGQ9XCJwZW5kaW5nXCIsZT17c3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gZH0sYWx3YXlzOmZ1bmN0aW9uKCl7cmV0dXJuIGYuZG9uZShhcmd1bWVudHMpLmZhaWwoYXJndW1lbnRzKSx0aGlzfSxcImNhdGNoXCI6ZnVuY3Rpb24oYSl7cmV0dXJuIGUudGhlbihudWxsLGEpfSxwaXBlOmZ1bmN0aW9uKCl7dmFyIGE9YXJndW1lbnRzO3JldHVybiByLkRlZmVycmVkKGZ1bmN0aW9uKGIpe3IuZWFjaChjLGZ1bmN0aW9uKGMsZCl7dmFyIGU9ci5pc0Z1bmN0aW9uKGFbZFs0XV0pJiZhW2RbNF1dO2ZbZFsxXV0oZnVuY3Rpb24oKXt2YXIgYT1lJiZlLmFwcGx5KHRoaXMsYXJndW1lbnRzKTthJiZyLmlzRnVuY3Rpb24oYS5wcm9taXNlKT9hLnByb21pc2UoKS5wcm9ncmVzcyhiLm5vdGlmeSkuZG9uZShiLnJlc29sdmUpLmZhaWwoYi5yZWplY3QpOmJbZFswXStcIldpdGhcIl0odGhpcyxlP1thXTphcmd1bWVudHMpfSl9KSxhPW51bGx9KS5wcm9taXNlKCl9LHRoZW46ZnVuY3Rpb24oYixkLGUpe3ZhciBmPTA7ZnVuY3Rpb24gZyhiLGMsZCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgaD10aGlzLGk9YXJndW1lbnRzLGo9ZnVuY3Rpb24oKXt2YXIgYSxqO2lmKCEoYjxmKSl7aWYoYT1kLmFwcGx5KGgsaSksYT09PWMucHJvbWlzZSgpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJUaGVuYWJsZSBzZWxmLXJlc29sdXRpb25cIik7aj1hJiYoXCJvYmplY3RcIj09dHlwZW9mIGF8fFwiZnVuY3Rpb25cIj09dHlwZW9mIGEpJiZhLnRoZW4sci5pc0Z1bmN0aW9uKGopP2U/ai5jYWxsKGEsZyhmLGMsTixlKSxnKGYsYyxPLGUpKTooZisrLGouY2FsbChhLGcoZixjLE4sZSksZyhmLGMsTyxlKSxnKGYsYyxOLGMubm90aWZ5V2l0aCkpKTooZCE9PU4mJihoPXZvaWQgMCxpPVthXSksKGV8fGMucmVzb2x2ZVdpdGgpKGgsaSkpfX0saz1lP2o6ZnVuY3Rpb24oKXt0cnl7aigpfWNhdGNoKGEpe3IuRGVmZXJyZWQuZXhjZXB0aW9uSG9vayYmci5EZWZlcnJlZC5leGNlcHRpb25Ib29rKGEsay5zdGFja1RyYWNlKSxiKzE+PWYmJihkIT09TyYmKGg9dm9pZCAwLGk9W2FdKSxjLnJlamVjdFdpdGgoaCxpKSl9fTtiP2soKTooci5EZWZlcnJlZC5nZXRTdGFja0hvb2smJihrLnN0YWNrVHJhY2U9ci5EZWZlcnJlZC5nZXRTdGFja0hvb2soKSksYS5zZXRUaW1lb3V0KGspKX19cmV0dXJuIHIuRGVmZXJyZWQoZnVuY3Rpb24oYSl7Y1swXVszXS5hZGQoZygwLGEsci5pc0Z1bmN0aW9uKGUpP2U6TixhLm5vdGlmeVdpdGgpKSxjWzFdWzNdLmFkZChnKDAsYSxyLmlzRnVuY3Rpb24oYik/YjpOKSksY1syXVszXS5hZGQoZygwLGEsci5pc0Z1bmN0aW9uKGQpP2Q6TykpfSkucHJvbWlzZSgpfSxwcm9taXNlOmZ1bmN0aW9uKGEpe3JldHVybiBudWxsIT1hP3IuZXh0ZW5kKGEsZSk6ZX19LGY9e307cmV0dXJuIHIuZWFjaChjLGZ1bmN0aW9uKGEsYil7dmFyIGc9YlsyXSxoPWJbNV07ZVtiWzFdXT1nLmFkZCxoJiZnLmFkZChmdW5jdGlvbigpe2Q9aH0sY1szLWFdWzJdLmRpc2FibGUsY1swXVsyXS5sb2NrKSxnLmFkZChiWzNdLmZpcmUpLGZbYlswXV09ZnVuY3Rpb24oKXtyZXR1cm4gZltiWzBdK1wiV2l0aFwiXSh0aGlzPT09Zj92b2lkIDA6dGhpcyxhcmd1bWVudHMpLHRoaXN9LGZbYlswXStcIldpdGhcIl09Zy5maXJlV2l0aH0pLGUucHJvbWlzZShmKSxiJiZiLmNhbGwoZixmKSxmfSx3aGVuOmZ1bmN0aW9uKGEpe3ZhciBiPWFyZ3VtZW50cy5sZW5ndGgsYz1iLGQ9QXJyYXkoYyksZT1mLmNhbGwoYXJndW1lbnRzKSxnPXIuRGVmZXJyZWQoKSxoPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbihjKXtkW2FdPXRoaXMsZVthXT1hcmd1bWVudHMubGVuZ3RoPjE/Zi5jYWxsKGFyZ3VtZW50cyk6YywtLWJ8fGcucmVzb2x2ZVdpdGgoZCxlKX19O2lmKGI8PTEmJihQKGEsZy5kb25lKGgoYykpLnJlc29sdmUsZy5yZWplY3QsIWIpLFwicGVuZGluZ1wiPT09Zy5zdGF0ZSgpfHxyLmlzRnVuY3Rpb24oZVtjXSYmZVtjXS50aGVuKSkpcmV0dXJuIGcudGhlbigpO3doaWxlKGMtLSlQKGVbY10saChjKSxnLnJlamVjdCk7cmV0dXJuIGcucHJvbWlzZSgpfX0pO3ZhciBRPS9eKEV2YWx8SW50ZXJuYWx8UmFuZ2V8UmVmZXJlbmNlfFN5bnRheHxUeXBlfFVSSSlFcnJvciQvO3IuRGVmZXJyZWQuZXhjZXB0aW9uSG9vaz1mdW5jdGlvbihiLGMpe2EuY29uc29sZSYmYS5jb25zb2xlLndhcm4mJmImJlEudGVzdChiLm5hbWUpJiZhLmNvbnNvbGUud2FybihcImpRdWVyeS5EZWZlcnJlZCBleGNlcHRpb246IFwiK2IubWVzc2FnZSxiLnN0YWNrLGMpfSxyLnJlYWR5RXhjZXB0aW9uPWZ1bmN0aW9uKGIpe2Euc2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IGJ9KX07dmFyIFI9ci5EZWZlcnJlZCgpO3IuZm4ucmVhZHk9ZnVuY3Rpb24oYSl7cmV0dXJuIFIudGhlbihhKVtcImNhdGNoXCJdKGZ1bmN0aW9uKGEpe3IucmVhZHlFeGNlcHRpb24oYSk7XG59KSx0aGlzfSxyLmV4dGVuZCh7aXNSZWFkeTohMSxyZWFkeVdhaXQ6MSxyZWFkeTpmdW5jdGlvbihhKXsoYT09PSEwPy0tci5yZWFkeVdhaXQ6ci5pc1JlYWR5KXx8KHIuaXNSZWFkeT0hMCxhIT09ITAmJi0tci5yZWFkeVdhaXQ+MHx8Ui5yZXNvbHZlV2l0aChkLFtyXSkpfX0pLHIucmVhZHkudGhlbj1SLnRoZW47ZnVuY3Rpb24gUygpe2QucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIkRPTUNvbnRlbnRMb2FkZWRcIixTKSxhLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsUyksci5yZWFkeSgpfVwiY29tcGxldGVcIj09PWQucmVhZHlTdGF0ZXx8XCJsb2FkaW5nXCIhPT1kLnJlYWR5U3RhdGUmJiFkLmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbD9hLnNldFRpbWVvdXQoci5yZWFkeSk6KGQuYWRkRXZlbnRMaXN0ZW5lcihcIkRPTUNvbnRlbnRMb2FkZWRcIixTKSxhLmFkZEV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsUykpO3ZhciBUPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcpe3ZhciBoPTAsaT1hLmxlbmd0aCxqPW51bGw9PWM7aWYoXCJvYmplY3RcIj09PXIudHlwZShjKSl7ZT0hMDtmb3IoaCBpbiBjKVQoYSxiLGgsY1toXSwhMCxmLGcpfWVsc2UgaWYodm9pZCAwIT09ZCYmKGU9ITAsci5pc0Z1bmN0aW9uKGQpfHwoZz0hMCksaiYmKGc/KGIuY2FsbChhLGQpLGI9bnVsbCk6KGo9YixiPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gai5jYWxsKHIoYSksYyl9KSksYikpZm9yKDtoPGk7aCsrKWIoYVtoXSxjLGc/ZDpkLmNhbGwoYVtoXSxoLGIoYVtoXSxjKSkpO3JldHVybiBlP2E6aj9iLmNhbGwoYSk6aT9iKGFbMF0sYyk6Zn0sVT1mdW5jdGlvbihhKXtyZXR1cm4gMT09PWEubm9kZVR5cGV8fDk9PT1hLm5vZGVUeXBlfHwhK2Eubm9kZVR5cGV9O2Z1bmN0aW9uIFYoKXt0aGlzLmV4cGFuZG89ci5leHBhbmRvK1YudWlkKyt9Vi51aWQ9MSxWLnByb3RvdHlwZT17Y2FjaGU6ZnVuY3Rpb24oYSl7dmFyIGI9YVt0aGlzLmV4cGFuZG9dO3JldHVybiBifHwoYj17fSxVKGEpJiYoYS5ub2RlVHlwZT9hW3RoaXMuZXhwYW5kb109YjpPYmplY3QuZGVmaW5lUHJvcGVydHkoYSx0aGlzLmV4cGFuZG8se3ZhbHVlOmIsY29uZmlndXJhYmxlOiEwfSkpKSxifSxzZXQ6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGU9dGhpcy5jYWNoZShhKTtpZihcInN0cmluZ1wiPT10eXBlb2YgYillW3IuY2FtZWxDYXNlKGIpXT1jO2Vsc2UgZm9yKGQgaW4gYillW3IuY2FtZWxDYXNlKGQpXT1iW2RdO3JldHVybiBlfSxnZXQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdm9pZCAwPT09Yj90aGlzLmNhY2hlKGEpOmFbdGhpcy5leHBhbmRvXSYmYVt0aGlzLmV4cGFuZG9dW3IuY2FtZWxDYXNlKGIpXX0sYWNjZXNzOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdm9pZCAwPT09Ynx8YiYmXCJzdHJpbmdcIj09dHlwZW9mIGImJnZvaWQgMD09PWM/dGhpcy5nZXQoYSxiKToodGhpcy5zZXQoYSxiLGMpLHZvaWQgMCE9PWM/YzpiKX0scmVtb3ZlOmZ1bmN0aW9uKGEsYil7dmFyIGMsZD1hW3RoaXMuZXhwYW5kb107aWYodm9pZCAwIT09ZCl7aWYodm9pZCAwIT09Yil7QXJyYXkuaXNBcnJheShiKT9iPWIubWFwKHIuY2FtZWxDYXNlKTooYj1yLmNhbWVsQ2FzZShiKSxiPWIgaW4gZD9bYl06Yi5tYXRjaChMKXx8W10pLGM9Yi5sZW5ndGg7d2hpbGUoYy0tKWRlbGV0ZSBkW2JbY11dfSh2b2lkIDA9PT1ifHxyLmlzRW1wdHlPYmplY3QoZCkpJiYoYS5ub2RlVHlwZT9hW3RoaXMuZXhwYW5kb109dm9pZCAwOmRlbGV0ZSBhW3RoaXMuZXhwYW5kb10pfX0saGFzRGF0YTpmdW5jdGlvbihhKXt2YXIgYj1hW3RoaXMuZXhwYW5kb107cmV0dXJuIHZvaWQgMCE9PWImJiFyLmlzRW1wdHlPYmplY3QoYil9fTt2YXIgVz1uZXcgVixYPW5ldyBWLFk9L14oPzpcXHtbXFx3XFxXXSpcXH18XFxbW1xcd1xcV10qXFxdKSQvLFo9L1tBLVpdL2c7ZnVuY3Rpb24gJChhKXtyZXR1cm5cInRydWVcIj09PWF8fFwiZmFsc2VcIiE9PWEmJihcIm51bGxcIj09PWE/bnVsbDphPT09K2ErXCJcIj8rYTpZLnRlc3QoYSk/SlNPTi5wYXJzZShhKTphKX1mdW5jdGlvbiBfKGEsYixjKXt2YXIgZDtpZih2b2lkIDA9PT1jJiYxPT09YS5ub2RlVHlwZSlpZihkPVwiZGF0YS1cIitiLnJlcGxhY2UoWixcIi0kJlwiKS50b0xvd2VyQ2FzZSgpLGM9YS5nZXRBdHRyaWJ1dGUoZCksXCJzdHJpbmdcIj09dHlwZW9mIGMpe3RyeXtjPSQoYyl9Y2F0Y2goZSl7fVguc2V0KGEsYixjKX1lbHNlIGM9dm9pZCAwO3JldHVybiBjfXIuZXh0ZW5kKHtoYXNEYXRhOmZ1bmN0aW9uKGEpe3JldHVybiBYLmhhc0RhdGEoYSl8fFcuaGFzRGF0YShhKX0sZGF0YTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIFguYWNjZXNzKGEsYixjKX0scmVtb3ZlRGF0YTpmdW5jdGlvbihhLGIpe1gucmVtb3ZlKGEsYil9LF9kYXRhOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gVy5hY2Nlc3MoYSxiLGMpfSxfcmVtb3ZlRGF0YTpmdW5jdGlvbihhLGIpe1cucmVtb3ZlKGEsYil9fSksci5mbi5leHRlbmQoe2RhdGE6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZj10aGlzWzBdLGc9ZiYmZi5hdHRyaWJ1dGVzO2lmKHZvaWQgMD09PWEpe2lmKHRoaXMubGVuZ3RoJiYoZT1YLmdldChmKSwxPT09Zi5ub2RlVHlwZSYmIVcuZ2V0KGYsXCJoYXNEYXRhQXR0cnNcIikpKXtjPWcubGVuZ3RoO3doaWxlKGMtLSlnW2NdJiYoZD1nW2NdLm5hbWUsMD09PWQuaW5kZXhPZihcImRhdGEtXCIpJiYoZD1yLmNhbWVsQ2FzZShkLnNsaWNlKDUpKSxfKGYsZCxlW2RdKSkpO1cuc2V0KGYsXCJoYXNEYXRhQXR0cnNcIiwhMCl9cmV0dXJuIGV9cmV0dXJuXCJvYmplY3RcIj09dHlwZW9mIGE/dGhpcy5lYWNoKGZ1bmN0aW9uKCl7WC5zZXQodGhpcyxhKX0pOlQodGhpcyxmdW5jdGlvbihiKXt2YXIgYztpZihmJiZ2b2lkIDA9PT1iKXtpZihjPVguZ2V0KGYsYSksdm9pZCAwIT09YylyZXR1cm4gYztpZihjPV8oZixhKSx2b2lkIDAhPT1jKXJldHVybiBjfWVsc2UgdGhpcy5lYWNoKGZ1bmN0aW9uKCl7WC5zZXQodGhpcyxhLGIpfSl9LG51bGwsYixhcmd1bWVudHMubGVuZ3RoPjEsbnVsbCwhMCl9LHJlbW92ZURhdGE6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe1gucmVtb3ZlKHRoaXMsYSl9KX19KSxyLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO2lmKGEpcmV0dXJuIGI9KGJ8fFwiZnhcIikrXCJxdWV1ZVwiLGQ9Vy5nZXQoYSxiKSxjJiYoIWR8fEFycmF5LmlzQXJyYXkoYyk/ZD1XLmFjY2VzcyhhLGIsci5tYWtlQXJyYXkoYykpOmQucHVzaChjKSksZHx8W119LGRlcXVldWU6ZnVuY3Rpb24oYSxiKXtiPWJ8fFwiZnhcIjt2YXIgYz1yLnF1ZXVlKGEsYiksZD1jLmxlbmd0aCxlPWMuc2hpZnQoKSxmPXIuX3F1ZXVlSG9va3MoYSxiKSxnPWZ1bmN0aW9uKCl7ci5kZXF1ZXVlKGEsYil9O1wiaW5wcm9ncmVzc1wiPT09ZSYmKGU9Yy5zaGlmdCgpLGQtLSksZSYmKFwiZnhcIj09PWImJmMudW5zaGlmdChcImlucHJvZ3Jlc3NcIiksZGVsZXRlIGYuc3RvcCxlLmNhbGwoYSxnLGYpKSwhZCYmZiYmZi5lbXB0eS5maXJlKCl9LF9xdWV1ZUhvb2tzOmZ1bmN0aW9uKGEsYil7dmFyIGM9YitcInF1ZXVlSG9va3NcIjtyZXR1cm4gVy5nZXQoYSxjKXx8Vy5hY2Nlc3MoYSxjLHtlbXB0eTpyLkNhbGxiYWNrcyhcIm9uY2UgbWVtb3J5XCIpLmFkZChmdW5jdGlvbigpe1cucmVtb3ZlKGEsW2IrXCJxdWV1ZVwiLGNdKX0pfSl9fSksci5mbi5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKGEsYil7dmFyIGM9MjtyZXR1cm5cInN0cmluZ1wiIT10eXBlb2YgYSYmKGI9YSxhPVwiZnhcIixjLS0pLGFyZ3VtZW50cy5sZW5ndGg8Yz9yLnF1ZXVlKHRoaXNbMF0sYSk6dm9pZCAwPT09Yj90aGlzOnRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBjPXIucXVldWUodGhpcyxhLGIpO3IuX3F1ZXVlSG9va3ModGhpcyxhKSxcImZ4XCI9PT1hJiZcImlucHJvZ3Jlc3NcIiE9PWNbMF0mJnIuZGVxdWV1ZSh0aGlzLGEpfSl9LGRlcXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3IuZGVxdWV1ZSh0aGlzLGEpfSl9LGNsZWFyUXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucXVldWUoYXx8XCJmeFwiLFtdKX0scHJvbWlzZTpmdW5jdGlvbihhLGIpe3ZhciBjLGQ9MSxlPXIuRGVmZXJyZWQoKSxmPXRoaXMsZz10aGlzLmxlbmd0aCxoPWZ1bmN0aW9uKCl7LS1kfHxlLnJlc29sdmVXaXRoKGYsW2ZdKX07XCJzdHJpbmdcIiE9dHlwZW9mIGEmJihiPWEsYT12b2lkIDApLGE9YXx8XCJmeFwiO3doaWxlKGctLSljPVcuZ2V0KGZbZ10sYStcInF1ZXVlSG9va3NcIiksYyYmYy5lbXB0eSYmKGQrKyxjLmVtcHR5LmFkZChoKSk7cmV0dXJuIGgoKSxlLnByb21pc2UoYil9fSk7dmFyIGFhPS9bKy1dPyg/OlxcZCpcXC58KVxcZCsoPzpbZUVdWystXT9cXGQrfCkvLnNvdXJjZSxiYT1uZXcgUmVnRXhwKFwiXig/OihbKy1dKT18KShcIithYStcIikoW2EteiVdKikkXCIsXCJpXCIpLGNhPVtcIlRvcFwiLFwiUmlnaHRcIixcIkJvdHRvbVwiLFwiTGVmdFwiXSxkYT1mdW5jdGlvbihhLGIpe3JldHVybiBhPWJ8fGEsXCJub25lXCI9PT1hLnN0eWxlLmRpc3BsYXl8fFwiXCI9PT1hLnN0eWxlLmRpc3BsYXkmJnIuY29udGFpbnMoYS5vd25lckRvY3VtZW50LGEpJiZcIm5vbmVcIj09PXIuY3NzKGEsXCJkaXNwbGF5XCIpfSxlYT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZSxmLGc9e307Zm9yKGYgaW4gYilnW2ZdPWEuc3R5bGVbZl0sYS5zdHlsZVtmXT1iW2ZdO2U9Yy5hcHBseShhLGR8fFtdKTtmb3IoZiBpbiBiKWEuc3R5bGVbZl09Z1tmXTtyZXR1cm4gZX07ZnVuY3Rpb24gZmEoYSxiLGMsZCl7dmFyIGUsZj0xLGc9MjAsaD1kP2Z1bmN0aW9uKCl7cmV0dXJuIGQuY3VyKCl9OmZ1bmN0aW9uKCl7cmV0dXJuIHIuY3NzKGEsYixcIlwiKX0saT1oKCksaj1jJiZjWzNdfHwoci5jc3NOdW1iZXJbYl0/XCJcIjpcInB4XCIpLGs9KHIuY3NzTnVtYmVyW2JdfHxcInB4XCIhPT1qJiYraSkmJmJhLmV4ZWMoci5jc3MoYSxiKSk7aWYoayYma1szXSE9PWope2o9anx8a1szXSxjPWN8fFtdLGs9K2l8fDE7ZG8gZj1mfHxcIi41XCIsay89ZixyLnN0eWxlKGEsYixrK2opO3doaWxlKGYhPT0oZj1oKCkvaSkmJjEhPT1mJiYtLWcpfXJldHVybiBjJiYoaz0ra3x8K2l8fDAsZT1jWzFdP2srKGNbMV0rMSkqY1syXTorY1syXSxkJiYoZC51bml0PWosZC5zdGFydD1rLGQuZW5kPWUpKSxlfXZhciBnYT17fTtmdW5jdGlvbiBoYShhKXt2YXIgYixjPWEub3duZXJEb2N1bWVudCxkPWEubm9kZU5hbWUsZT1nYVtkXTtyZXR1cm4gZT9lOihiPWMuYm9keS5hcHBlbmRDaGlsZChjLmNyZWF0ZUVsZW1lbnQoZCkpLGU9ci5jc3MoYixcImRpc3BsYXlcIiksYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpLFwibm9uZVwiPT09ZSYmKGU9XCJibG9ja1wiKSxnYVtkXT1lLGUpfWZ1bmN0aW9uIGlhKGEsYil7Zm9yKHZhciBjLGQsZT1bXSxmPTAsZz1hLmxlbmd0aDtmPGc7ZisrKWQ9YVtmXSxkLnN0eWxlJiYoYz1kLnN0eWxlLmRpc3BsYXksYj8oXCJub25lXCI9PT1jJiYoZVtmXT1XLmdldChkLFwiZGlzcGxheVwiKXx8bnVsbCxlW2ZdfHwoZC5zdHlsZS5kaXNwbGF5PVwiXCIpKSxcIlwiPT09ZC5zdHlsZS5kaXNwbGF5JiZkYShkKSYmKGVbZl09aGEoZCkpKTpcIm5vbmVcIiE9PWMmJihlW2ZdPVwibm9uZVwiLFcuc2V0KGQsXCJkaXNwbGF5XCIsYykpKTtmb3IoZj0wO2Y8ZztmKyspbnVsbCE9ZVtmXSYmKGFbZl0uc3R5bGUuZGlzcGxheT1lW2ZdKTtyZXR1cm4gYX1yLmZuLmV4dGVuZCh7c2hvdzpmdW5jdGlvbigpe3JldHVybiBpYSh0aGlzLCEwKX0saGlkZTpmdW5jdGlvbigpe3JldHVybiBpYSh0aGlzKX0sdG9nZ2xlOmZ1bmN0aW9uKGEpe3JldHVyblwiYm9vbGVhblwiPT10eXBlb2YgYT9hP3RoaXMuc2hvdygpOnRoaXMuaGlkZSgpOnRoaXMuZWFjaChmdW5jdGlvbigpe2RhKHRoaXMpP3IodGhpcykuc2hvdygpOnIodGhpcykuaGlkZSgpfSl9fSk7dmFyIGphPS9eKD86Y2hlY2tib3h8cmFkaW8pJC9pLGthPS88KFthLXpdW15cXC9cXDA+XFx4MjBcXHRcXHJcXG5cXGZdKykvaSxsYT0vXiR8XFwvKD86amF2YXxlY21hKXNjcmlwdC9pLG1hPXtvcHRpb246WzEsXCI8c2VsZWN0IG11bHRpcGxlPSdtdWx0aXBsZSc+XCIsXCI8L3NlbGVjdD5cIl0sdGhlYWQ6WzEsXCI8dGFibGU+XCIsXCI8L3RhYmxlPlwiXSxjb2w6WzIsXCI8dGFibGU+PGNvbGdyb3VwPlwiLFwiPC9jb2xncm91cD48L3RhYmxlPlwiXSx0cjpbMixcIjx0YWJsZT48dGJvZHk+XCIsXCI8L3Rib2R5PjwvdGFibGU+XCJdLHRkOlszLFwiPHRhYmxlPjx0Ym9keT48dHI+XCIsXCI8L3RyPjwvdGJvZHk+PC90YWJsZT5cIl0sX2RlZmF1bHQ6WzAsXCJcIixcIlwiXX07bWEub3B0Z3JvdXA9bWEub3B0aW9uLG1hLnRib2R5PW1hLnRmb290PW1hLmNvbGdyb3VwPW1hLmNhcHRpb249bWEudGhlYWQsbWEudGg9bWEudGQ7ZnVuY3Rpb24gbmEoYSxiKXt2YXIgYztyZXR1cm4gYz1cInVuZGVmaW5lZFwiIT10eXBlb2YgYS5nZXRFbGVtZW50c0J5VGFnTmFtZT9hLmdldEVsZW1lbnRzQnlUYWdOYW1lKGJ8fFwiKlwiKTpcInVuZGVmaW5lZFwiIT10eXBlb2YgYS5xdWVyeVNlbGVjdG9yQWxsP2EucXVlcnlTZWxlY3RvckFsbChifHxcIipcIik6W10sdm9pZCAwPT09Ynx8YiYmQihhLGIpP3IubWVyZ2UoW2FdLGMpOmN9ZnVuY3Rpb24gb2EoYSxiKXtmb3IodmFyIGM9MCxkPWEubGVuZ3RoO2M8ZDtjKyspVy5zZXQoYVtjXSxcImdsb2JhbEV2YWxcIiwhYnx8Vy5nZXQoYltjXSxcImdsb2JhbEV2YWxcIikpfXZhciBwYT0vPHwmIz9cXHcrOy87ZnVuY3Rpb24gcWEoYSxiLGMsZCxlKXtmb3IodmFyIGYsZyxoLGksaixrLGw9Yi5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksbT1bXSxuPTAsbz1hLmxlbmd0aDtuPG87bisrKWlmKGY9YVtuXSxmfHwwPT09ZilpZihcIm9iamVjdFwiPT09ci50eXBlKGYpKXIubWVyZ2UobSxmLm5vZGVUeXBlP1tmXTpmKTtlbHNlIGlmKHBhLnRlc3QoZikpe2c9Z3x8bC5hcHBlbmRDaGlsZChiLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIikpLGg9KGthLmV4ZWMoZil8fFtcIlwiLFwiXCJdKVsxXS50b0xvd2VyQ2FzZSgpLGk9bWFbaF18fG1hLl9kZWZhdWx0LGcuaW5uZXJIVE1MPWlbMV0rci5odG1sUHJlZmlsdGVyKGYpK2lbMl0saz1pWzBdO3doaWxlKGstLSlnPWcubGFzdENoaWxkO3IubWVyZ2UobSxnLmNoaWxkTm9kZXMpLGc9bC5maXJzdENoaWxkLGcudGV4dENvbnRlbnQ9XCJcIn1lbHNlIG0ucHVzaChiLmNyZWF0ZVRleHROb2RlKGYpKTtsLnRleHRDb250ZW50PVwiXCIsbj0wO3doaWxlKGY9bVtuKytdKWlmKGQmJnIuaW5BcnJheShmLGQpPi0xKWUmJmUucHVzaChmKTtlbHNlIGlmKGo9ci5jb250YWlucyhmLm93bmVyRG9jdW1lbnQsZiksZz1uYShsLmFwcGVuZENoaWxkKGYpLFwic2NyaXB0XCIpLGomJm9hKGcpLGMpe2s9MDt3aGlsZShmPWdbaysrXSlsYS50ZXN0KGYudHlwZXx8XCJcIikmJmMucHVzaChmKX1yZXR1cm4gbH0hZnVuY3Rpb24oKXt2YXIgYT1kLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxiPWEuYXBwZW5kQ2hpbGQoZC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpKSxjPWQuY3JlYXRlRWxlbWVudChcImlucHV0XCIpO2Muc2V0QXR0cmlidXRlKFwidHlwZVwiLFwicmFkaW9cIiksYy5zZXRBdHRyaWJ1dGUoXCJjaGVja2VkXCIsXCJjaGVja2VkXCIpLGMuc2V0QXR0cmlidXRlKFwibmFtZVwiLFwidFwiKSxiLmFwcGVuZENoaWxkKGMpLG8uY2hlY2tDbG9uZT1iLmNsb25lTm9kZSghMCkuY2xvbmVOb2RlKCEwKS5sYXN0Q2hpbGQuY2hlY2tlZCxiLmlubmVySFRNTD1cIjx0ZXh0YXJlYT54PC90ZXh0YXJlYT5cIixvLm5vQ2xvbmVDaGVja2VkPSEhYi5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5kZWZhdWx0VmFsdWV9KCk7dmFyIHJhPWQuZG9jdW1lbnRFbGVtZW50LHNhPS9ea2V5Lyx0YT0vXig/Om1vdXNlfHBvaW50ZXJ8Y29udGV4dG1lbnV8ZHJhZ3xkcm9wKXxjbGljay8sdWE9L14oW14uXSopKD86XFwuKC4rKXwpLztmdW5jdGlvbiB2YSgpe3JldHVybiEwfWZ1bmN0aW9uIHdhKCl7cmV0dXJuITF9ZnVuY3Rpb24geGEoKXt0cnl7cmV0dXJuIGQuYWN0aXZlRWxlbWVudH1jYXRjaChhKXt9fWZ1bmN0aW9uIHlhKGEsYixjLGQsZSxmKXt2YXIgZyxoO2lmKFwib2JqZWN0XCI9PXR5cGVvZiBiKXtcInN0cmluZ1wiIT10eXBlb2YgYyYmKGQ9ZHx8YyxjPXZvaWQgMCk7Zm9yKGggaW4gYil5YShhLGgsYyxkLGJbaF0sZik7cmV0dXJuIGF9aWYobnVsbD09ZCYmbnVsbD09ZT8oZT1jLGQ9Yz12b2lkIDApOm51bGw9PWUmJihcInN0cmluZ1wiPT10eXBlb2YgYz8oZT1kLGQ9dm9pZCAwKTooZT1kLGQ9YyxjPXZvaWQgMCkpLGU9PT0hMSllPXdhO2Vsc2UgaWYoIWUpcmV0dXJuIGE7cmV0dXJuIDE9PT1mJiYoZz1lLGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHIoKS5vZmYoYSksZy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGUuZ3VpZD1nLmd1aWR8fChnLmd1aWQ9ci5ndWlkKyspKSxhLmVhY2goZnVuY3Rpb24oKXtyLmV2ZW50LmFkZCh0aGlzLGIsZSxkLGMpfSl9ci5ldmVudD17Z2xvYmFsOnt9LGFkZDpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmLGcsaCxpLGosayxsLG0sbixvLHAscT1XLmdldChhKTtpZihxKXtjLmhhbmRsZXImJihmPWMsYz1mLmhhbmRsZXIsZT1mLnNlbGVjdG9yKSxlJiZyLmZpbmQubWF0Y2hlc1NlbGVjdG9yKHJhLGUpLGMuZ3VpZHx8KGMuZ3VpZD1yLmd1aWQrKyksKGk9cS5ldmVudHMpfHwoaT1xLmV2ZW50cz17fSksKGc9cS5oYW5kbGUpfHwoZz1xLmhhbmRsZT1mdW5jdGlvbihiKXtyZXR1cm5cInVuZGVmaW5lZFwiIT10eXBlb2YgciYmci5ldmVudC50cmlnZ2VyZWQhPT1iLnR5cGU/ci5ldmVudC5kaXNwYXRjaC5hcHBseShhLGFyZ3VtZW50cyk6dm9pZCAwfSksYj0oYnx8XCJcIikubWF0Y2goTCl8fFtcIlwiXSxqPWIubGVuZ3RoO3doaWxlKGotLSloPXVhLmV4ZWMoYltqXSl8fFtdLG49cD1oWzFdLG89KGhbMl18fFwiXCIpLnNwbGl0KFwiLlwiKS5zb3J0KCksbiYmKGw9ci5ldmVudC5zcGVjaWFsW25dfHx7fSxuPShlP2wuZGVsZWdhdGVUeXBlOmwuYmluZFR5cGUpfHxuLGw9ci5ldmVudC5zcGVjaWFsW25dfHx7fSxrPXIuZXh0ZW5kKHt0eXBlOm4sb3JpZ1R5cGU6cCxkYXRhOmQsaGFuZGxlcjpjLGd1aWQ6Yy5ndWlkLHNlbGVjdG9yOmUsbmVlZHNDb250ZXh0OmUmJnIuZXhwci5tYXRjaC5uZWVkc0NvbnRleHQudGVzdChlKSxuYW1lc3BhY2U6by5qb2luKFwiLlwiKX0sZiksKG09aVtuXSl8fChtPWlbbl09W10sbS5kZWxlZ2F0ZUNvdW50PTAsbC5zZXR1cCYmbC5zZXR1cC5jYWxsKGEsZCxvLGcpIT09ITF8fGEuYWRkRXZlbnRMaXN0ZW5lciYmYS5hZGRFdmVudExpc3RlbmVyKG4sZykpLGwuYWRkJiYobC5hZGQuY2FsbChhLGspLGsuaGFuZGxlci5ndWlkfHwoay5oYW5kbGVyLmd1aWQ9Yy5ndWlkKSksZT9tLnNwbGljZShtLmRlbGVnYXRlQ291bnQrKywwLGspOm0ucHVzaChrKSxyLmV2ZW50Lmdsb2JhbFtuXT0hMCl9fSxyZW1vdmU6ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZixnLGgsaSxqLGssbCxtLG4sbyxwLHE9Vy5oYXNEYXRhKGEpJiZXLmdldChhKTtpZihxJiYoaT1xLmV2ZW50cykpe2I9KGJ8fFwiXCIpLm1hdGNoKEwpfHxbXCJcIl0saj1iLmxlbmd0aDt3aGlsZShqLS0paWYoaD11YS5leGVjKGJbal0pfHxbXSxuPXA9aFsxXSxvPShoWzJdfHxcIlwiKS5zcGxpdChcIi5cIikuc29ydCgpLG4pe2w9ci5ldmVudC5zcGVjaWFsW25dfHx7fSxuPShkP2wuZGVsZWdhdGVUeXBlOmwuYmluZFR5cGUpfHxuLG09aVtuXXx8W10saD1oWzJdJiZuZXcgUmVnRXhwKFwiKF58XFxcXC4pXCIrby5qb2luKFwiXFxcXC4oPzouKlxcXFwufClcIikrXCIoXFxcXC58JClcIiksZz1mPW0ubGVuZ3RoO3doaWxlKGYtLSlrPW1bZl0sIWUmJnAhPT1rLm9yaWdUeXBlfHxjJiZjLmd1aWQhPT1rLmd1aWR8fGgmJiFoLnRlc3Qoay5uYW1lc3BhY2UpfHxkJiZkIT09ay5zZWxlY3RvciYmKFwiKipcIiE9PWR8fCFrLnNlbGVjdG9yKXx8KG0uc3BsaWNlKGYsMSksay5zZWxlY3RvciYmbS5kZWxlZ2F0ZUNvdW50LS0sbC5yZW1vdmUmJmwucmVtb3ZlLmNhbGwoYSxrKSk7ZyYmIW0ubGVuZ3RoJiYobC50ZWFyZG93biYmbC50ZWFyZG93bi5jYWxsKGEsbyxxLmhhbmRsZSkhPT0hMXx8ci5yZW1vdmVFdmVudChhLG4scS5oYW5kbGUpLGRlbGV0ZSBpW25dKX1lbHNlIGZvcihuIGluIGkpci5ldmVudC5yZW1vdmUoYSxuK2Jbal0sYyxkLCEwKTtyLmlzRW1wdHlPYmplY3QoaSkmJlcucmVtb3ZlKGEsXCJoYW5kbGUgZXZlbnRzXCIpfX0sZGlzcGF0Y2g6ZnVuY3Rpb24oYSl7dmFyIGI9ci5ldmVudC5maXgoYSksYyxkLGUsZixnLGgsaT1uZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCksaj0oVy5nZXQodGhpcyxcImV2ZW50c1wiKXx8e30pW2IudHlwZV18fFtdLGs9ci5ldmVudC5zcGVjaWFsW2IudHlwZV18fHt9O2ZvcihpWzBdPWIsYz0xO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspaVtjXT1hcmd1bWVudHNbY107aWYoYi5kZWxlZ2F0ZVRhcmdldD10aGlzLCFrLnByZURpc3BhdGNofHxrLnByZURpc3BhdGNoLmNhbGwodGhpcyxiKSE9PSExKXtoPXIuZXZlbnQuaGFuZGxlcnMuY2FsbCh0aGlzLGIsaiksYz0wO3doaWxlKChmPWhbYysrXSkmJiFiLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpe2IuY3VycmVudFRhcmdldD1mLmVsZW0sZD0wO3doaWxlKChnPWYuaGFuZGxlcnNbZCsrXSkmJiFiLmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkKCkpYi5ybmFtZXNwYWNlJiYhYi5ybmFtZXNwYWNlLnRlc3QoZy5uYW1lc3BhY2UpfHwoYi5oYW5kbGVPYmo9ZyxiLmRhdGE9Zy5kYXRhLGU9KChyLmV2ZW50LnNwZWNpYWxbZy5vcmlnVHlwZV18fHt9KS5oYW5kbGV8fGcuaGFuZGxlcikuYXBwbHkoZi5lbGVtLGkpLHZvaWQgMCE9PWUmJihiLnJlc3VsdD1lKT09PSExJiYoYi5wcmV2ZW50RGVmYXVsdCgpLGIuc3RvcFByb3BhZ2F0aW9uKCkpKX1yZXR1cm4gay5wb3N0RGlzcGF0Y2gmJmsucG9zdERpc3BhdGNoLmNhbGwodGhpcyxiKSxiLnJlc3VsdH19LGhhbmRsZXJzOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGYsZyxoPVtdLGk9Yi5kZWxlZ2F0ZUNvdW50LGo9YS50YXJnZXQ7aWYoaSYmai5ub2RlVHlwZSYmIShcImNsaWNrXCI9PT1hLnR5cGUmJmEuYnV0dG9uPj0xKSlmb3IoO2ohPT10aGlzO2o9ai5wYXJlbnROb2RlfHx0aGlzKWlmKDE9PT1qLm5vZGVUeXBlJiYoXCJjbGlja1wiIT09YS50eXBlfHxqLmRpc2FibGVkIT09ITApKXtmb3IoZj1bXSxnPXt9LGM9MDtjPGk7YysrKWQ9YltjXSxlPWQuc2VsZWN0b3IrXCIgXCIsdm9pZCAwPT09Z1tlXSYmKGdbZV09ZC5uZWVkc0NvbnRleHQ/cihlLHRoaXMpLmluZGV4KGopPi0xOnIuZmluZChlLHRoaXMsbnVsbCxbal0pLmxlbmd0aCksZ1tlXSYmZi5wdXNoKGQpO2YubGVuZ3RoJiZoLnB1c2goe2VsZW06aixoYW5kbGVyczpmfSl9cmV0dXJuIGo9dGhpcyxpPGIubGVuZ3RoJiZoLnB1c2goe2VsZW06aixoYW5kbGVyczpiLnNsaWNlKGkpfSksaH0sYWRkUHJvcDpmdW5jdGlvbihhLGIpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLkV2ZW50LnByb3RvdHlwZSxhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCxnZXQ6ci5pc0Z1bmN0aW9uKGIpP2Z1bmN0aW9uKCl7aWYodGhpcy5vcmlnaW5hbEV2ZW50KXJldHVybiBiKHRoaXMub3JpZ2luYWxFdmVudCl9OmZ1bmN0aW9uKCl7aWYodGhpcy5vcmlnaW5hbEV2ZW50KXJldHVybiB0aGlzLm9yaWdpbmFsRXZlbnRbYV19LHNldDpmdW5jdGlvbihiKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyxhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9fSl9LGZpeDpmdW5jdGlvbihhKXtyZXR1cm4gYVtyLmV4cGFuZG9dP2E6bmV3IHIuRXZlbnQoYSl9LHNwZWNpYWw6e2xvYWQ6e25vQnViYmxlOiEwfSxmb2N1czp7dHJpZ2dlcjpmdW5jdGlvbigpe2lmKHRoaXMhPT14YSgpJiZ0aGlzLmZvY3VzKXJldHVybiB0aGlzLmZvY3VzKCksITF9LGRlbGVnYXRlVHlwZTpcImZvY3VzaW5cIn0sYmx1cjp7dHJpZ2dlcjpmdW5jdGlvbigpe2lmKHRoaXM9PT14YSgpJiZ0aGlzLmJsdXIpcmV0dXJuIHRoaXMuYmx1cigpLCExfSxkZWxlZ2F0ZVR5cGU6XCJmb2N1c291dFwifSxjbGljazp7dHJpZ2dlcjpmdW5jdGlvbigpe2lmKFwiY2hlY2tib3hcIj09PXRoaXMudHlwZSYmdGhpcy5jbGljayYmQih0aGlzLFwiaW5wdXRcIikpcmV0dXJuIHRoaXMuY2xpY2soKSwhMX0sX2RlZmF1bHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIEIoYS50YXJnZXQsXCJhXCIpfX0sYmVmb3JldW5sb2FkOntwb3N0RGlzcGF0Y2g6ZnVuY3Rpb24oYSl7dm9pZCAwIT09YS5yZXN1bHQmJmEub3JpZ2luYWxFdmVudCYmKGEub3JpZ2luYWxFdmVudC5yZXR1cm5WYWx1ZT1hLnJlc3VsdCl9fX19LHIucmVtb3ZlRXZlbnQ9ZnVuY3Rpb24oYSxiLGMpe2EucmVtb3ZlRXZlbnRMaXN0ZW5lciYmYS5yZW1vdmVFdmVudExpc3RlbmVyKGIsYyl9LHIuRXZlbnQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIHIuRXZlbnQ/KGEmJmEudHlwZT8odGhpcy5vcmlnaW5hbEV2ZW50PWEsdGhpcy50eXBlPWEudHlwZSx0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1hLmRlZmF1bHRQcmV2ZW50ZWR8fHZvaWQgMD09PWEuZGVmYXVsdFByZXZlbnRlZCYmYS5yZXR1cm5WYWx1ZT09PSExP3ZhOndhLHRoaXMudGFyZ2V0PWEudGFyZ2V0JiYzPT09YS50YXJnZXQubm9kZVR5cGU/YS50YXJnZXQucGFyZW50Tm9kZTphLnRhcmdldCx0aGlzLmN1cnJlbnRUYXJnZXQ9YS5jdXJyZW50VGFyZ2V0LHRoaXMucmVsYXRlZFRhcmdldD1hLnJlbGF0ZWRUYXJnZXQpOnRoaXMudHlwZT1hLGImJnIuZXh0ZW5kKHRoaXMsYiksdGhpcy50aW1lU3RhbXA9YSYmYS50aW1lU3RhbXB8fHIubm93KCksdm9pZCh0aGlzW3IuZXhwYW5kb109ITApKTpuZXcgci5FdmVudChhLGIpfSxyLkV2ZW50LnByb3RvdHlwZT17Y29uc3RydWN0b3I6ci5FdmVudCxpc0RlZmF1bHRQcmV2ZW50ZWQ6d2EsaXNQcm9wYWdhdGlvblN0b3BwZWQ6d2EsaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ6d2EsaXNTaW11bGF0ZWQ6ITEscHJldmVudERlZmF1bHQ6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9dmEsYSYmIXRoaXMuaXNTaW11bGF0ZWQmJmEucHJldmVudERlZmF1bHQoKX0sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9dmEsYSYmIXRoaXMuaXNTaW11bGF0ZWQmJmEuc3RvcFByb3BhZ2F0aW9uKCl9LHN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkPXZhLGEmJiF0aGlzLmlzU2ltdWxhdGVkJiZhLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLHRoaXMuc3RvcFByb3BhZ2F0aW9uKCl9fSxyLmVhY2goe2FsdEtleTohMCxidWJibGVzOiEwLGNhbmNlbGFibGU6ITAsY2hhbmdlZFRvdWNoZXM6ITAsY3RybEtleTohMCxkZXRhaWw6ITAsZXZlbnRQaGFzZTohMCxtZXRhS2V5OiEwLHBhZ2VYOiEwLHBhZ2VZOiEwLHNoaWZ0S2V5OiEwLHZpZXc6ITAsXCJjaGFyXCI6ITAsY2hhckNvZGU6ITAsa2V5OiEwLGtleUNvZGU6ITAsYnV0dG9uOiEwLGJ1dHRvbnM6ITAsY2xpZW50WDohMCxjbGllbnRZOiEwLG9mZnNldFg6ITAsb2Zmc2V0WTohMCxwb2ludGVySWQ6ITAscG9pbnRlclR5cGU6ITAsc2NyZWVuWDohMCxzY3JlZW5ZOiEwLHRhcmdldFRvdWNoZXM6ITAsdG9FbGVtZW50OiEwLHRvdWNoZXM6ITAsd2hpY2g6ZnVuY3Rpb24oYSl7dmFyIGI9YS5idXR0b247cmV0dXJuIG51bGw9PWEud2hpY2gmJnNhLnRlc3QoYS50eXBlKT9udWxsIT1hLmNoYXJDb2RlP2EuY2hhckNvZGU6YS5rZXlDb2RlOiFhLndoaWNoJiZ2b2lkIDAhPT1iJiZ0YS50ZXN0KGEudHlwZSk/MSZiPzE6MiZiPzM6NCZiPzI6MDphLndoaWNofX0sci5ldmVudC5hZGRQcm9wKSxyLmVhY2goe21vdXNlZW50ZXI6XCJtb3VzZW92ZXJcIixtb3VzZWxlYXZlOlwibW91c2VvdXRcIixwb2ludGVyZW50ZXI6XCJwb2ludGVyb3ZlclwiLHBvaW50ZXJsZWF2ZTpcInBvaW50ZXJvdXRcIn0sZnVuY3Rpb24oYSxiKXtyLmV2ZW50LnNwZWNpYWxbYV09e2RlbGVnYXRlVHlwZTpiLGJpbmRUeXBlOmIsaGFuZGxlOmZ1bmN0aW9uKGEpe3ZhciBjLGQ9dGhpcyxlPWEucmVsYXRlZFRhcmdldCxmPWEuaGFuZGxlT2JqO3JldHVybiBlJiYoZT09PWR8fHIuY29udGFpbnMoZCxlKSl8fChhLnR5cGU9Zi5vcmlnVHlwZSxjPWYuaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyksYS50eXBlPWIpLGN9fX0pLHIuZm4uZXh0ZW5kKHtvbjpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4geWEodGhpcyxhLGIsYyxkKX0sb25lOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB5YSh0aGlzLGEsYixjLGQsMSl9LG9mZjpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZTtpZihhJiZhLnByZXZlbnREZWZhdWx0JiZhLmhhbmRsZU9iailyZXR1cm4gZD1hLmhhbmRsZU9iaixyKGEuZGVsZWdhdGVUYXJnZXQpLm9mZihkLm5hbWVzcGFjZT9kLm9yaWdUeXBlK1wiLlwiK2QubmFtZXNwYWNlOmQub3JpZ1R5cGUsZC5zZWxlY3RvcixkLmhhbmRsZXIpLHRoaXM7aWYoXCJvYmplY3RcIj09dHlwZW9mIGEpe2ZvcihlIGluIGEpdGhpcy5vZmYoZSxiLGFbZV0pO3JldHVybiB0aGlzfXJldHVybiBiIT09ITEmJlwiZnVuY3Rpb25cIiE9dHlwZW9mIGJ8fChjPWIsYj12b2lkIDApLGM9PT0hMSYmKGM9d2EpLHRoaXMuZWFjaChmdW5jdGlvbigpe3IuZXZlbnQucmVtb3ZlKHRoaXMsYSxjLGIpfSl9fSk7dmFyIHphPS88KD8hYXJlYXxicnxjb2x8ZW1iZWR8aHJ8aW1nfGlucHV0fGxpbmt8bWV0YXxwYXJhbSkoKFthLXpdW15cXC9cXDA+XFx4MjBcXHRcXHJcXG5cXGZdKilbXj5dKilcXC8+L2dpLEFhPS88c2NyaXB0fDxzdHlsZXw8bGluay9pLEJhPS9jaGVja2VkXFxzKig/OltePV18PVxccyouY2hlY2tlZC4pL2ksQ2E9L150cnVlXFwvKC4qKS8sRGE9L15cXHMqPCEoPzpcXFtDREFUQVxcW3wtLSl8KD86XFxdXFxdfC0tKT5cXHMqJC9nO2Z1bmN0aW9uIEVhKGEsYil7cmV0dXJuIEIoYSxcInRhYmxlXCIpJiZCKDExIT09Yi5ub2RlVHlwZT9iOmIuZmlyc3RDaGlsZCxcInRyXCIpP3IoXCI+dGJvZHlcIixhKVswXXx8YTphfWZ1bmN0aW9uIEZhKGEpe3JldHVybiBhLnR5cGU9KG51bGwhPT1hLmdldEF0dHJpYnV0ZShcInR5cGVcIikpK1wiL1wiK2EudHlwZSxhfWZ1bmN0aW9uIEdhKGEpe3ZhciBiPUNhLmV4ZWMoYS50eXBlKTtyZXR1cm4gYj9hLnR5cGU9YlsxXTphLnJlbW92ZUF0dHJpYnV0ZShcInR5cGVcIiksYX1mdW5jdGlvbiBIYShhLGIpe3ZhciBjLGQsZSxmLGcsaCxpLGo7aWYoMT09PWIubm9kZVR5cGUpe2lmKFcuaGFzRGF0YShhKSYmKGY9Vy5hY2Nlc3MoYSksZz1XLnNldChiLGYpLGo9Zi5ldmVudHMpKXtkZWxldGUgZy5oYW5kbGUsZy5ldmVudHM9e307Zm9yKGUgaW4gailmb3IoYz0wLGQ9altlXS5sZW5ndGg7YzxkO2MrKylyLmV2ZW50LmFkZChiLGUsaltlXVtjXSl9WC5oYXNEYXRhKGEpJiYoaD1YLmFjY2VzcyhhKSxpPXIuZXh0ZW5kKHt9LGgpLFguc2V0KGIsaSkpfX1mdW5jdGlvbiBJYShhLGIpe3ZhciBjPWIubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtcImlucHV0XCI9PT1jJiZqYS50ZXN0KGEudHlwZSk/Yi5jaGVja2VkPWEuY2hlY2tlZDpcImlucHV0XCIhPT1jJiZcInRleHRhcmVhXCIhPT1jfHwoYi5kZWZhdWx0VmFsdWU9YS5kZWZhdWx0VmFsdWUpfWZ1bmN0aW9uIEphKGEsYixjLGQpe2I9Zy5hcHBseShbXSxiKTt2YXIgZSxmLGgsaSxqLGssbD0wLG09YS5sZW5ndGgsbj1tLTEscT1iWzBdLHM9ci5pc0Z1bmN0aW9uKHEpO2lmKHN8fG0+MSYmXCJzdHJpbmdcIj09dHlwZW9mIHEmJiFvLmNoZWNrQ2xvbmUmJkJhLnRlc3QocSkpcmV0dXJuIGEuZWFjaChmdW5jdGlvbihlKXt2YXIgZj1hLmVxKGUpO3MmJihiWzBdPXEuY2FsbCh0aGlzLGUsZi5odG1sKCkpKSxKYShmLGIsYyxkKX0pO2lmKG0mJihlPXFhKGIsYVswXS5vd25lckRvY3VtZW50LCExLGEsZCksZj1lLmZpcnN0Q2hpbGQsMT09PWUuY2hpbGROb2Rlcy5sZW5ndGgmJihlPWYpLGZ8fGQpKXtmb3IoaD1yLm1hcChuYShlLFwic2NyaXB0XCIpLEZhKSxpPWgubGVuZ3RoO2w8bTtsKyspaj1lLGwhPT1uJiYoaj1yLmNsb25lKGosITAsITApLGkmJnIubWVyZ2UoaCxuYShqLFwic2NyaXB0XCIpKSksYy5jYWxsKGFbbF0saixsKTtpZihpKWZvcihrPWhbaC5sZW5ndGgtMV0ub3duZXJEb2N1bWVudCxyLm1hcChoLEdhKSxsPTA7bDxpO2wrKylqPWhbbF0sbGEudGVzdChqLnR5cGV8fFwiXCIpJiYhVy5hY2Nlc3MoaixcImdsb2JhbEV2YWxcIikmJnIuY29udGFpbnMoayxqKSYmKGouc3JjP3IuX2V2YWxVcmwmJnIuX2V2YWxVcmwoai5zcmMpOnAoai50ZXh0Q29udGVudC5yZXBsYWNlKERhLFwiXCIpLGspKX1yZXR1cm4gYX1mdW5jdGlvbiBLYShhLGIsYyl7Zm9yKHZhciBkLGU9Yj9yLmZpbHRlcihiLGEpOmEsZj0wO251bGwhPShkPWVbZl0pO2YrKyljfHwxIT09ZC5ub2RlVHlwZXx8ci5jbGVhbkRhdGEobmEoZCkpLGQucGFyZW50Tm9kZSYmKGMmJnIuY29udGFpbnMoZC5vd25lckRvY3VtZW50LGQpJiZvYShuYShkLFwic2NyaXB0XCIpKSxkLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZCkpO3JldHVybiBhfXIuZXh0ZW5kKHtodG1sUHJlZmlsdGVyOmZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UoemEsXCI8JDE+PC8kMj5cIil9LGNsb25lOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGYsZyxoPWEuY2xvbmVOb2RlKCEwKSxpPXIuY29udGFpbnMoYS5vd25lckRvY3VtZW50LGEpO2lmKCEoby5ub0Nsb25lQ2hlY2tlZHx8MSE9PWEubm9kZVR5cGUmJjExIT09YS5ub2RlVHlwZXx8ci5pc1hNTERvYyhhKSkpZm9yKGc9bmEoaCksZj1uYShhKSxkPTAsZT1mLmxlbmd0aDtkPGU7ZCsrKUlhKGZbZF0sZ1tkXSk7aWYoYilpZihjKWZvcihmPWZ8fG5hKGEpLGc9Z3x8bmEoaCksZD0wLGU9Zi5sZW5ndGg7ZDxlO2QrKylIYShmW2RdLGdbZF0pO2Vsc2UgSGEoYSxoKTtyZXR1cm4gZz1uYShoLFwic2NyaXB0XCIpLGcubGVuZ3RoPjAmJm9hKGcsIWkmJm5hKGEsXCJzY3JpcHRcIikpLGh9LGNsZWFuRGF0YTpmdW5jdGlvbihhKXtmb3IodmFyIGIsYyxkLGU9ci5ldmVudC5zcGVjaWFsLGY9MDt2b2lkIDAhPT0oYz1hW2ZdKTtmKyspaWYoVShjKSl7aWYoYj1jW1cuZXhwYW5kb10pe2lmKGIuZXZlbnRzKWZvcihkIGluIGIuZXZlbnRzKWVbZF0/ci5ldmVudC5yZW1vdmUoYyxkKTpyLnJlbW92ZUV2ZW50KGMsZCxiLmhhbmRsZSk7Y1tXLmV4cGFuZG9dPXZvaWQgMH1jW1guZXhwYW5kb10mJihjW1guZXhwYW5kb109dm9pZCAwKX19fSksci5mbi5leHRlbmQoe2RldGFjaDpmdW5jdGlvbihhKXtyZXR1cm4gS2EodGhpcyxhLCEwKX0scmVtb3ZlOmZ1bmN0aW9uKGEpe3JldHVybiBLYSh0aGlzLGEpfSx0ZXh0OmZ1bmN0aW9uKGEpe3JldHVybiBUKHRoaXMsZnVuY3Rpb24oYSl7cmV0dXJuIHZvaWQgMD09PWE/ci50ZXh0KHRoaXMpOnRoaXMuZW1wdHkoKS5lYWNoKGZ1bmN0aW9uKCl7MSE9PXRoaXMubm9kZVR5cGUmJjExIT09dGhpcy5ub2RlVHlwZSYmOSE9PXRoaXMubm9kZVR5cGV8fCh0aGlzLnRleHRDb250ZW50PWEpfSl9LG51bGwsYSxhcmd1bWVudHMubGVuZ3RoKX0sYXBwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIEphKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGEpe2lmKDE9PT10aGlzLm5vZGVUeXBlfHwxMT09PXRoaXMubm9kZVR5cGV8fDk9PT10aGlzLm5vZGVUeXBlKXt2YXIgYj1FYSh0aGlzLGEpO2IuYXBwZW5kQ2hpbGQoYSl9fSl9LHByZXBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gSmEodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oYSl7aWYoMT09PXRoaXMubm9kZVR5cGV8fDExPT09dGhpcy5ub2RlVHlwZXx8OT09PXRoaXMubm9kZVR5cGUpe3ZhciBiPUVhKHRoaXMsYSk7Yi5pbnNlcnRCZWZvcmUoYSxiLmZpcnN0Q2hpbGQpfX0pfSxiZWZvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gSmEodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oYSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsdGhpcyl9KX0sYWZ0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gSmEodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oYSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsdGhpcy5uZXh0U2libGluZyl9KX0sZW1wdHk6ZnVuY3Rpb24oKXtmb3IodmFyIGEsYj0wO251bGwhPShhPXRoaXNbYl0pO2IrKykxPT09YS5ub2RlVHlwZSYmKHIuY2xlYW5EYXRhKG5hKGEsITEpKSxhLnRleHRDb250ZW50PVwiXCIpO3JldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbihhLGIpe3JldHVybiBhPW51bGwhPWEmJmEsYj1udWxsPT1iP2E6Yix0aGlzLm1hcChmdW5jdGlvbigpe3JldHVybiByLmNsb25lKHRoaXMsYSxiKX0pfSxodG1sOmZ1bmN0aW9uKGEpe3JldHVybiBUKHRoaXMsZnVuY3Rpb24oYSl7dmFyIGI9dGhpc1swXXx8e30sYz0wLGQ9dGhpcy5sZW5ndGg7aWYodm9pZCAwPT09YSYmMT09PWIubm9kZVR5cGUpcmV0dXJuIGIuaW5uZXJIVE1MO2lmKFwic3RyaW5nXCI9PXR5cGVvZiBhJiYhQWEudGVzdChhKSYmIW1hWyhrYS5leGVjKGEpfHxbXCJcIixcIlwiXSlbMV0udG9Mb3dlckNhc2UoKV0pe2E9ci5odG1sUHJlZmlsdGVyKGEpO3RyeXtmb3IoO2M8ZDtjKyspYj10aGlzW2NdfHx7fSwxPT09Yi5ub2RlVHlwZSYmKHIuY2xlYW5EYXRhKG5hKGIsITEpKSxiLmlubmVySFRNTD1hKTtiPTB9Y2F0Y2goZSl7fX1iJiZ0aGlzLmVtcHR5KCkuYXBwZW5kKGEpfSxudWxsLGEsYXJndW1lbnRzLmxlbmd0aCl9LHJlcGxhY2VXaXRoOmZ1bmN0aW9uKCl7dmFyIGE9W107cmV0dXJuIEphKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGIpe3ZhciBjPXRoaXMucGFyZW50Tm9kZTtyLmluQXJyYXkodGhpcyxhKTwwJiYoci5jbGVhbkRhdGEobmEodGhpcykpLGMmJmMucmVwbGFjZUNoaWxkKGIsdGhpcykpfSxhKX19KSxyLmVhY2goe2FwcGVuZFRvOlwiYXBwZW5kXCIscHJlcGVuZFRvOlwicHJlcGVuZFwiLGluc2VydEJlZm9yZTpcImJlZm9yZVwiLGluc2VydEFmdGVyOlwiYWZ0ZXJcIixyZXBsYWNlQWxsOlwicmVwbGFjZVdpdGhcIn0sZnVuY3Rpb24oYSxiKXtyLmZuW2FdPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYyxkPVtdLGU9cihhKSxmPWUubGVuZ3RoLTEsZz0wO2c8PWY7ZysrKWM9Zz09PWY/dGhpczp0aGlzLmNsb25lKCEwKSxyKGVbZ10pW2JdKGMpLGguYXBwbHkoZCxjLmdldCgpKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soZCl9fSk7dmFyIExhPS9ebWFyZ2luLyxNYT1uZXcgUmVnRXhwKFwiXihcIithYStcIikoPyFweClbYS16JV0rJFwiLFwiaVwiKSxOYT1mdW5jdGlvbihiKXt2YXIgYz1iLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc7cmV0dXJuIGMmJmMub3BlbmVyfHwoYz1hKSxjLmdldENvbXB1dGVkU3R5bGUoYil9OyFmdW5jdGlvbigpe2Z1bmN0aW9uIGIoKXtpZihpKXtpLnN0eWxlLmNzc1RleHQ9XCJib3gtc2l6aW5nOmJvcmRlci1ib3g7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jazttYXJnaW46YXV0bztib3JkZXI6MXB4O3BhZGRpbmc6MXB4O3RvcDoxJTt3aWR0aDo1MCVcIixpLmlubmVySFRNTD1cIlwiLHJhLmFwcGVuZENoaWxkKGgpO3ZhciBiPWEuZ2V0Q29tcHV0ZWRTdHlsZShpKTtjPVwiMSVcIiE9PWIudG9wLGc9XCIycHhcIj09PWIubWFyZ2luTGVmdCxlPVwiNHB4XCI9PT1iLndpZHRoLGkuc3R5bGUubWFyZ2luUmlnaHQ9XCI1MCVcIixmPVwiNHB4XCI9PT1iLm1hcmdpblJpZ2h0LHJhLnJlbW92ZUNoaWxkKGgpLGk9bnVsbH19dmFyIGMsZSxmLGcsaD1kLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksaT1kLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7aS5zdHlsZSYmKGkuc3R5bGUuYmFja2dyb3VuZENsaXA9XCJjb250ZW50LWJveFwiLGkuY2xvbmVOb2RlKCEwKS5zdHlsZS5iYWNrZ3JvdW5kQ2xpcD1cIlwiLG8uY2xlYXJDbG9uZVN0eWxlPVwiY29udGVudC1ib3hcIj09PWkuc3R5bGUuYmFja2dyb3VuZENsaXAsaC5zdHlsZS5jc3NUZXh0PVwiYm9yZGVyOjA7d2lkdGg6OHB4O2hlaWdodDowO3RvcDowO2xlZnQ6LTk5OTlweDtwYWRkaW5nOjA7bWFyZ2luLXRvcDoxcHg7cG9zaXRpb246YWJzb2x1dGVcIixoLmFwcGVuZENoaWxkKGkpLHIuZXh0ZW5kKG8se3BpeGVsUG9zaXRpb246ZnVuY3Rpb24oKXtyZXR1cm4gYigpLGN9LGJveFNpemluZ1JlbGlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIGIoKSxlfSxwaXhlbE1hcmdpblJpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIGIoKSxmfSxyZWxpYWJsZU1hcmdpbkxlZnQ6ZnVuY3Rpb24oKXtyZXR1cm4gYigpLGd9fSkpfSgpO2Z1bmN0aW9uIE9hKGEsYixjKXt2YXIgZCxlLGYsZyxoPWEuc3R5bGU7cmV0dXJuIGM9Y3x8TmEoYSksYyYmKGc9Yy5nZXRQcm9wZXJ0eVZhbHVlKGIpfHxjW2JdLFwiXCIhPT1nfHxyLmNvbnRhaW5zKGEub3duZXJEb2N1bWVudCxhKXx8KGc9ci5zdHlsZShhLGIpKSwhby5waXhlbE1hcmdpblJpZ2h0KCkmJk1hLnRlc3QoZykmJkxhLnRlc3QoYikmJihkPWgud2lkdGgsZT1oLm1pbldpZHRoLGY9aC5tYXhXaWR0aCxoLm1pbldpZHRoPWgubWF4V2lkdGg9aC53aWR0aD1nLGc9Yy53aWR0aCxoLndpZHRoPWQsaC5taW5XaWR0aD1lLGgubWF4V2lkdGg9ZikpLHZvaWQgMCE9PWc/ZytcIlwiOmd9ZnVuY3Rpb24gUGEoYSxiKXtyZXR1cm57Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGEoKT92b2lkIGRlbGV0ZSB0aGlzLmdldDoodGhpcy5nZXQ9YikuYXBwbHkodGhpcyxhcmd1bWVudHMpfX19dmFyIFFhPS9eKG5vbmV8dGFibGUoPyEtY1tlYV0pLispLyxSYT0vXi0tLyxTYT17cG9zaXRpb246XCJhYnNvbHV0ZVwiLHZpc2liaWxpdHk6XCJoaWRkZW5cIixkaXNwbGF5OlwiYmxvY2tcIn0sVGE9e2xldHRlclNwYWNpbmc6XCIwXCIsZm9udFdlaWdodDpcIjQwMFwifSxVYT1bXCJXZWJraXRcIixcIk1velwiLFwibXNcIl0sVmE9ZC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLnN0eWxlO2Z1bmN0aW9uIFdhKGEpe2lmKGEgaW4gVmEpcmV0dXJuIGE7dmFyIGI9YVswXS50b1VwcGVyQ2FzZSgpK2Euc2xpY2UoMSksYz1VYS5sZW5ndGg7d2hpbGUoYy0tKWlmKGE9VWFbY10rYixhIGluIFZhKXJldHVybiBhfWZ1bmN0aW9uIFhhKGEpe3ZhciBiPXIuY3NzUHJvcHNbYV07cmV0dXJuIGJ8fChiPXIuY3NzUHJvcHNbYV09V2EoYSl8fGEpLGJ9ZnVuY3Rpb24gWWEoYSxiLGMpe3ZhciBkPWJhLmV4ZWMoYik7cmV0dXJuIGQ/TWF0aC5tYXgoMCxkWzJdLShjfHwwKSkrKGRbM118fFwicHhcIik6Yn1mdW5jdGlvbiBaYShhLGIsYyxkLGUpe3ZhciBmLGc9MDtmb3IoZj1jPT09KGQ/XCJib3JkZXJcIjpcImNvbnRlbnRcIik/NDpcIndpZHRoXCI9PT1iPzE6MDtmPDQ7Zis9MilcIm1hcmdpblwiPT09YyYmKGcrPXIuY3NzKGEsYytjYVtmXSwhMCxlKSksZD8oXCJjb250ZW50XCI9PT1jJiYoZy09ci5jc3MoYSxcInBhZGRpbmdcIitjYVtmXSwhMCxlKSksXCJtYXJnaW5cIiE9PWMmJihnLT1yLmNzcyhhLFwiYm9yZGVyXCIrY2FbZl0rXCJXaWR0aFwiLCEwLGUpKSk6KGcrPXIuY3NzKGEsXCJwYWRkaW5nXCIrY2FbZl0sITAsZSksXCJwYWRkaW5nXCIhPT1jJiYoZys9ci5jc3MoYSxcImJvcmRlclwiK2NhW2ZdK1wiV2lkdGhcIiwhMCxlKSkpO3JldHVybiBnfWZ1bmN0aW9uICRhKGEsYixjKXt2YXIgZCxlPU5hKGEpLGY9T2EoYSxiLGUpLGc9XCJib3JkZXItYm94XCI9PT1yLmNzcyhhLFwiYm94U2l6aW5nXCIsITEsZSk7cmV0dXJuIE1hLnRlc3QoZik/ZjooZD1nJiYoby5ib3hTaXppbmdSZWxpYWJsZSgpfHxmPT09YS5zdHlsZVtiXSksXCJhdXRvXCI9PT1mJiYoZj1hW1wib2Zmc2V0XCIrYlswXS50b1VwcGVyQ2FzZSgpK2Iuc2xpY2UoMSldKSxmPXBhcnNlRmxvYXQoZil8fDAsZitaYShhLGIsY3x8KGc/XCJib3JkZXJcIjpcImNvbnRlbnRcIiksZCxlKStcInB4XCIpfXIuZXh0ZW5kKHtjc3NIb29rczp7b3BhY2l0eTp7Z2V0OmZ1bmN0aW9uKGEsYil7aWYoYil7dmFyIGM9T2EoYSxcIm9wYWNpdHlcIik7cmV0dXJuXCJcIj09PWM/XCIxXCI6Y319fX0sY3NzTnVtYmVyOnthbmltYXRpb25JdGVyYXRpb25Db3VudDohMCxjb2x1bW5Db3VudDohMCxmaWxsT3BhY2l0eTohMCxmbGV4R3JvdzohMCxmbGV4U2hyaW5rOiEwLGZvbnRXZWlnaHQ6ITAsbGluZUhlaWdodDohMCxvcGFjaXR5OiEwLG9yZGVyOiEwLG9ycGhhbnM6ITAsd2lkb3dzOiEwLHpJbmRleDohMCx6b29tOiEwfSxjc3NQcm9wczp7XCJmbG9hdFwiOlwiY3NzRmxvYXRcIn0sc3R5bGU6ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYSYmMyE9PWEubm9kZVR5cGUmJjghPT1hLm5vZGVUeXBlJiZhLnN0eWxlKXt2YXIgZSxmLGcsaD1yLmNhbWVsQ2FzZShiKSxpPVJhLnRlc3QoYiksaj1hLnN0eWxlO3JldHVybiBpfHwoYj1YYShoKSksZz1yLmNzc0hvb2tzW2JdfHxyLmNzc0hvb2tzW2hdLHZvaWQgMD09PWM/ZyYmXCJnZXRcImluIGcmJnZvaWQgMCE9PShlPWcuZ2V0KGEsITEsZCkpP2U6altiXTooZj10eXBlb2YgYyxcInN0cmluZ1wiPT09ZiYmKGU9YmEuZXhlYyhjKSkmJmVbMV0mJihjPWZhKGEsYixlKSxmPVwibnVtYmVyXCIpLG51bGwhPWMmJmM9PT1jJiYoXCJudW1iZXJcIj09PWYmJihjKz1lJiZlWzNdfHwoci5jc3NOdW1iZXJbaF0/XCJcIjpcInB4XCIpKSxvLmNsZWFyQ2xvbmVTdHlsZXx8XCJcIiE9PWN8fDAhPT1iLmluZGV4T2YoXCJiYWNrZ3JvdW5kXCIpfHwoaltiXT1cImluaGVyaXRcIiksZyYmXCJzZXRcImluIGcmJnZvaWQgMD09PShjPWcuc2V0KGEsYyxkKSl8fChpP2ouc2V0UHJvcGVydHkoYixjKTpqW2JdPWMpKSx2b2lkIDApfX0sY3NzOmZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlLGYsZyxoPXIuY2FtZWxDYXNlKGIpLGk9UmEudGVzdChiKTtyZXR1cm4gaXx8KGI9WGEoaCkpLGc9ci5jc3NIb29rc1tiXXx8ci5jc3NIb29rc1toXSxnJiZcImdldFwiaW4gZyYmKGU9Zy5nZXQoYSwhMCxjKSksdm9pZCAwPT09ZSYmKGU9T2EoYSxiLGQpKSxcIm5vcm1hbFwiPT09ZSYmYiBpbiBUYSYmKGU9VGFbYl0pLFwiXCI9PT1jfHxjPyhmPXBhcnNlRmxvYXQoZSksYz09PSEwfHxpc0Zpbml0ZShmKT9mfHwwOmUpOmV9fSksci5lYWNoKFtcImhlaWdodFwiLFwid2lkdGhcIl0sZnVuY3Rpb24oYSxiKXtyLmNzc0hvb2tzW2JdPXtnZXQ6ZnVuY3Rpb24oYSxjLGQpe2lmKGMpcmV0dXJuIVFhLnRlc3Qoci5jc3MoYSxcImRpc3BsYXlcIikpfHxhLmdldENsaWVudFJlY3RzKCkubGVuZ3RoJiZhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoPyRhKGEsYixkKTplYShhLFNhLGZ1bmN0aW9uKCl7cmV0dXJuICRhKGEsYixkKX0pfSxzZXQ6ZnVuY3Rpb24oYSxjLGQpe3ZhciBlLGY9ZCYmTmEoYSksZz1kJiZaYShhLGIsZCxcImJvcmRlci1ib3hcIj09PXIuY3NzKGEsXCJib3hTaXppbmdcIiwhMSxmKSxmKTtyZXR1cm4gZyYmKGU9YmEuZXhlYyhjKSkmJlwicHhcIiE9PShlWzNdfHxcInB4XCIpJiYoYS5zdHlsZVtiXT1jLGM9ci5jc3MoYSxiKSksWWEoYSxjLGcpfX19KSxyLmNzc0hvb2tzLm1hcmdpbkxlZnQ9UGEoby5yZWxpYWJsZU1hcmdpbkxlZnQsZnVuY3Rpb24oYSxiKXtpZihiKXJldHVybihwYXJzZUZsb2F0KE9hKGEsXCJtYXJnaW5MZWZ0XCIpKXx8YS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0LWVhKGEse21hcmdpbkxlZnQ6MH0sZnVuY3Rpb24oKXtyZXR1cm4gYS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0fSkpK1wicHhcIn0pLHIuZWFjaCh7bWFyZ2luOlwiXCIscGFkZGluZzpcIlwiLGJvcmRlcjpcIldpZHRoXCJ9LGZ1bmN0aW9uKGEsYil7ci5jc3NIb29rc1thK2JdPXtleHBhbmQ6ZnVuY3Rpb24oYyl7Zm9yKHZhciBkPTAsZT17fSxmPVwic3RyaW5nXCI9PXR5cGVvZiBjP2Muc3BsaXQoXCIgXCIpOltjXTtkPDQ7ZCsrKWVbYStjYVtkXStiXT1mW2RdfHxmW2QtMl18fGZbMF07cmV0dXJuIGV9fSxMYS50ZXN0KGEpfHwoci5jc3NIb29rc1thK2JdLnNldD1ZYSl9KSxyLmZuLmV4dGVuZCh7Y3NzOmZ1bmN0aW9uKGEsYil7cmV0dXJuIFQodGhpcyxmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmPXt9LGc9MDtpZihBcnJheS5pc0FycmF5KGIpKXtmb3IoZD1OYShhKSxlPWIubGVuZ3RoO2c8ZTtnKyspZltiW2ddXT1yLmNzcyhhLGJbZ10sITEsZCk7cmV0dXJuIGZ9cmV0dXJuIHZvaWQgMCE9PWM/ci5zdHlsZShhLGIsYyk6ci5jc3MoYSxiKX0sYSxiLGFyZ3VtZW50cy5sZW5ndGg+MSl9fSksci5mbi5kZWxheT1mdW5jdGlvbihiLGMpe3JldHVybiBiPXIuZng/ci5meC5zcGVlZHNbYl18fGI6YixjPWN8fFwiZnhcIix0aGlzLnF1ZXVlKGMsZnVuY3Rpb24oYyxkKXt2YXIgZT1hLnNldFRpbWVvdXQoYyxiKTtkLnN0b3A9ZnVuY3Rpb24oKXthLmNsZWFyVGltZW91dChlKX19KX0sZnVuY3Rpb24oKXt2YXIgYT1kLmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiKSxiPWQuY3JlYXRlRWxlbWVudChcInNlbGVjdFwiKSxjPWIuYXBwZW5kQ2hpbGQoZC5jcmVhdGVFbGVtZW50KFwib3B0aW9uXCIpKTthLnR5cGU9XCJjaGVja2JveFwiLG8uY2hlY2tPbj1cIlwiIT09YS52YWx1ZSxvLm9wdFNlbGVjdGVkPWMuc2VsZWN0ZWQsYT1kLmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiKSxhLnZhbHVlPVwidFwiLGEudHlwZT1cInJhZGlvXCIsby5yYWRpb1ZhbHVlPVwidFwiPT09YS52YWx1ZX0oKTt2YXIgX2EsYWI9ci5leHByLmF0dHJIYW5kbGU7ci5mbi5leHRlbmQoe2F0dHI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVCh0aGlzLHIuYXR0cixhLGIsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7ci5yZW1vdmVBdHRyKHRoaXMsYSl9KX19KSxyLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmPWEubm9kZVR5cGU7aWYoMyE9PWYmJjghPT1mJiYyIT09ZilyZXR1cm5cInVuZGVmaW5lZFwiPT10eXBlb2YgYS5nZXRBdHRyaWJ1dGU/ci5wcm9wKGEsYixjKTooMT09PWYmJnIuaXNYTUxEb2MoYSl8fChlPXIuYXR0ckhvb2tzW2IudG9Mb3dlckNhc2UoKV18fChyLmV4cHIubWF0Y2guYm9vbC50ZXN0KGIpP19hOnZvaWQgMCkpLHZvaWQgMCE9PWM/bnVsbD09PWM/dm9pZCByLnJlbW92ZUF0dHIoYSxiKTplJiZcInNldFwiaW4gZSYmdm9pZCAwIT09KGQ9ZS5zZXQoYSxjLGIpKT9kOihhLnNldEF0dHJpYnV0ZShiLGMrXCJcIiksYyk6ZSYmXCJnZXRcImluIGUmJm51bGwhPT0oZD1lLmdldChhLGIpKT9kOihkPXIuZmluZC5hdHRyKGEsYiksbnVsbD09ZD92b2lkIDA6ZCkpfSxhdHRySG9va3M6e3R5cGU6e3NldDpmdW5jdGlvbihhLGIpe2lmKCFvLnJhZGlvVmFsdWUmJlwicmFkaW9cIj09PWImJkIoYSxcImlucHV0XCIpKXt2YXIgYz1hLnZhbHVlO3JldHVybiBhLnNldEF0dHJpYnV0ZShcInR5cGVcIixiKSxjJiYoYS52YWx1ZT1jKSxifX19fSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGEsYil7dmFyIGMsZD0wLGU9YiYmYi5tYXRjaChMKTtpZihlJiYxPT09YS5ub2RlVHlwZSl3aGlsZShjPWVbZCsrXSlhLnJlbW92ZUF0dHJpYnV0ZShjKX19KSxfYT17c2V0OmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYj09PSExP3IucmVtb3ZlQXR0cihhLGMpOmEuc2V0QXR0cmlidXRlKGMsYyksY319LHIuZWFjaChyLmV4cHIubWF0Y2guYm9vbC5zb3VyY2UubWF0Y2goL1xcdysvZyksZnVuY3Rpb24oYSxiKXt2YXIgYz1hYltiXXx8ci5maW5kLmF0dHI7YWJbYl09ZnVuY3Rpb24oYSxiLGQpe3ZhciBlLGYsZz1iLnRvTG93ZXJDYXNlKCk7cmV0dXJuIGR8fChmPWFiW2ddLGFiW2ddPWUsZT1udWxsIT1jKGEsYixkKT9nOm51bGwsYWJbZ109ZiksZX19KTt2YXIgYmI9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSxjYj0vXig/OmF8YXJlYSkkL2k7ci5mbi5leHRlbmQoe3Byb3A6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVCh0aGlzLHIucHJvcCxhLGIsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlUHJvcDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7ZGVsZXRlIHRoaXNbci5wcm9wRml4W2FdfHxhXX0pfX0pLHIuZXh0ZW5kKHtwcm9wOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9YS5ub2RlVHlwZTtpZigzIT09ZiYmOCE9PWYmJjIhPT1mKXJldHVybiAxPT09ZiYmci5pc1hNTERvYyhhKXx8KGI9ci5wcm9wRml4W2JdfHxiLGU9ci5wcm9wSG9va3NbYl0pLHZvaWQgMCE9PWM/ZSYmXCJzZXRcImluIGUmJnZvaWQgMCE9PShkPWUuc2V0KGEsYyxiKSk/ZDphW2JdPWM6ZSYmXCJnZXRcImluIGUmJm51bGwhPT0oZD1lLmdldChhLGIpKT9kOmFbYl19LHByb3BIb29rczp7dGFiSW5kZXg6e2dldDpmdW5jdGlvbihhKXt2YXIgYj1yLmZpbmQuYXR0cihhLFwidGFiaW5kZXhcIik7cmV0dXJuIGI/cGFyc2VJbnQoYiwxMCk6YmIudGVzdChhLm5vZGVOYW1lKXx8Y2IudGVzdChhLm5vZGVOYW1lKSYmYS5ocmVmPzA6LTF9fX0scHJvcEZpeDp7XCJmb3JcIjpcImh0bWxGb3JcIixcImNsYXNzXCI6XCJjbGFzc05hbWVcIn19KSxvLm9wdFNlbGVjdGVkfHwoci5wcm9wSG9va3Muc2VsZWN0ZWQ9e2dldDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJuIGImJmIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsbnVsbH0sc2V0OmZ1bmN0aW9uKGEpe3ZhciBiPWEucGFyZW50Tm9kZTtiJiYoYi5zZWxlY3RlZEluZGV4LGIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgpfX0pLHIuZWFjaChbXCJ0YWJJbmRleFwiLFwicmVhZE9ubHlcIixcIm1heExlbmd0aFwiLFwiY2VsbFNwYWNpbmdcIixcImNlbGxQYWRkaW5nXCIsXCJyb3dTcGFuXCIsXCJjb2xTcGFuXCIsXCJ1c2VNYXBcIixcImZyYW1lQm9yZGVyXCIsXCJjb250ZW50RWRpdGFibGVcIl0sZnVuY3Rpb24oKXtyLnByb3BGaXhbdGhpcy50b0xvd2VyQ2FzZSgpXT10aGlzfSk7ZnVuY3Rpb24gZGIoYSl7dmFyIGI9YS5tYXRjaChMKXx8W107cmV0dXJuIGIuam9pbihcIiBcIil9ZnVuY3Rpb24gZWIoYSl7cmV0dXJuIGEuZ2V0QXR0cmlidXRlJiZhLmdldEF0dHJpYnV0ZShcImNsYXNzXCIpfHxcIlwifXIuZm4uZXh0ZW5kKHthZGRDbGFzczpmdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmLGcsaCxpPTA7aWYoci5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7cih0aGlzKS5hZGRDbGFzcyhhLmNhbGwodGhpcyxiLGViKHRoaXMpKSl9KTtpZihcInN0cmluZ1wiPT10eXBlb2YgYSYmYSl7Yj1hLm1hdGNoKEwpfHxbXTt3aGlsZShjPXRoaXNbaSsrXSlpZihlPWViKGMpLGQ9MT09PWMubm9kZVR5cGUmJlwiIFwiK2RiKGUpK1wiIFwiKXtnPTA7d2hpbGUoZj1iW2crK10pZC5pbmRleE9mKFwiIFwiK2YrXCIgXCIpPDAmJihkKz1mK1wiIFwiKTtoPWRiKGQpLGUhPT1oJiZjLnNldEF0dHJpYnV0ZShcImNsYXNzXCIsaCl9fXJldHVybiB0aGlzfSxyZW1vdmVDbGFzczpmdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmLGcsaCxpPTA7aWYoci5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7cih0aGlzKS5yZW1vdmVDbGFzcyhhLmNhbGwodGhpcyxiLGViKHRoaXMpKSl9KTtpZighYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdGhpcy5hdHRyKFwiY2xhc3NcIixcIlwiKTtpZihcInN0cmluZ1wiPT10eXBlb2YgYSYmYSl7Yj1hLm1hdGNoKEwpfHxbXTt3aGlsZShjPXRoaXNbaSsrXSlpZihlPWViKGMpLGQ9MT09PWMubm9kZVR5cGUmJlwiIFwiK2RiKGUpK1wiIFwiKXtnPTA7d2hpbGUoZj1iW2crK10pd2hpbGUoZC5pbmRleE9mKFwiIFwiK2YrXCIgXCIpPi0xKWQ9ZC5yZXBsYWNlKFwiIFwiK2YrXCIgXCIsXCIgXCIpO2g9ZGIoZCksZSE9PWgmJmMuc2V0QXR0cmlidXRlKFwiY2xhc3NcIixoKX19cmV0dXJuIHRoaXN9LHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKGEsYil7dmFyIGM9dHlwZW9mIGE7cmV0dXJuXCJib29sZWFuXCI9PXR5cGVvZiBiJiZcInN0cmluZ1wiPT09Yz9iP3RoaXMuYWRkQ2xhc3MoYSk6dGhpcy5yZW1vdmVDbGFzcyhhKTpyLmlzRnVuY3Rpb24oYSk/dGhpcy5lYWNoKGZ1bmN0aW9uKGMpe3IodGhpcykudG9nZ2xlQ2xhc3MoYS5jYWxsKHRoaXMsYyxlYih0aGlzKSxiKSxiKX0pOnRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiLGQsZSxmO2lmKFwic3RyaW5nXCI9PT1jKXtkPTAsZT1yKHRoaXMpLGY9YS5tYXRjaChMKXx8W107d2hpbGUoYj1mW2QrK10pZS5oYXNDbGFzcyhiKT9lLnJlbW92ZUNsYXNzKGIpOmUuYWRkQ2xhc3MoYil9ZWxzZSB2b2lkIDAhPT1hJiZcImJvb2xlYW5cIiE9PWN8fChiPWViKHRoaXMpLGImJlcuc2V0KHRoaXMsXCJfX2NsYXNzTmFtZV9fXCIsYiksdGhpcy5zZXRBdHRyaWJ1dGUmJnRoaXMuc2V0QXR0cmlidXRlKFwiY2xhc3NcIixifHxhPT09ITE/XCJcIjpXLmdldCh0aGlzLFwiX19jbGFzc05hbWVfX1wiKXx8XCJcIikpfSl9LGhhc0NsYXNzOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZD0wO2I9XCIgXCIrYStcIiBcIjt3aGlsZShjPXRoaXNbZCsrXSlpZigxPT09Yy5ub2RlVHlwZSYmKFwiIFwiK2RiKGViKGMpKStcIiBcIikuaW5kZXhPZihiKT4tMSlyZXR1cm4hMDtyZXR1cm4hMX19KTt2YXIgZmI9L1xcci9nO3IuZm4uZXh0ZW5kKHt2YWw6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGU9dGhpc1swXTt7aWYoYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZD1yLmlzRnVuY3Rpb24oYSksdGhpcy5lYWNoKGZ1bmN0aW9uKGMpe3ZhciBlOzE9PT10aGlzLm5vZGVUeXBlJiYoZT1kP2EuY2FsbCh0aGlzLGMscih0aGlzKS52YWwoKSk6YSxudWxsPT1lP2U9XCJcIjpcIm51bWJlclwiPT10eXBlb2YgZT9lKz1cIlwiOkFycmF5LmlzQXJyYXkoZSkmJihlPXIubWFwKGUsZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWE/XCJcIjphK1wiXCJ9KSksYj1yLnZhbEhvb2tzW3RoaXMudHlwZV18fHIudmFsSG9va3NbdGhpcy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSxiJiZcInNldFwiaW4gYiYmdm9pZCAwIT09Yi5zZXQodGhpcyxlLFwidmFsdWVcIil8fCh0aGlzLnZhbHVlPWUpKX0pO2lmKGUpcmV0dXJuIGI9ci52YWxIb29rc1tlLnR5cGVdfHxyLnZhbEhvb2tzW2Uubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0sYiYmXCJnZXRcImluIGImJnZvaWQgMCE9PShjPWIuZ2V0KGUsXCJ2YWx1ZVwiKSk/YzooYz1lLnZhbHVlLFwic3RyaW5nXCI9PXR5cGVvZiBjP2MucmVwbGFjZShmYixcIlwiKTpudWxsPT1jP1wiXCI6Yyl9fX0pLHIuZXh0ZW5kKHt2YWxIb29rczp7b3B0aW9uOntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9ci5maW5kLmF0dHIoYSxcInZhbHVlXCIpO3JldHVybiBudWxsIT1iP2I6ZGIoci50ZXh0KGEpKX19LHNlbGVjdDp7Z2V0OmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlPWEub3B0aW9ucyxmPWEuc2VsZWN0ZWRJbmRleCxnPVwic2VsZWN0LW9uZVwiPT09YS50eXBlLGg9Zz9udWxsOltdLGk9Zz9mKzE6ZS5sZW5ndGg7Zm9yKGQ9ZjwwP2k6Zz9mOjA7ZDxpO2QrKylpZihjPWVbZF0sKGMuc2VsZWN0ZWR8fGQ9PT1mKSYmIWMuZGlzYWJsZWQmJighYy5wYXJlbnROb2RlLmRpc2FibGVkfHwhQihjLnBhcmVudE5vZGUsXCJvcHRncm91cFwiKSkpe2lmKGI9cihjKS52YWwoKSxnKXJldHVybiBiO2gucHVzaChiKX1yZXR1cm4gaH0sc2V0OmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlPWEub3B0aW9ucyxmPXIubWFrZUFycmF5KGIpLGc9ZS5sZW5ndGg7d2hpbGUoZy0tKWQ9ZVtnXSwoZC5zZWxlY3RlZD1yLmluQXJyYXkoci52YWxIb29rcy5vcHRpb24uZ2V0KGQpLGYpPi0xKSYmKGM9ITApO3JldHVybiBjfHwoYS5zZWxlY3RlZEluZGV4PS0xKSxmfX19fSksci5lYWNoKFtcInJhZGlvXCIsXCJjaGVja2JveFwiXSxmdW5jdGlvbigpe3IudmFsSG9va3NbdGhpc109e3NldDpmdW5jdGlvbihhLGIpe2lmKEFycmF5LmlzQXJyYXkoYikpcmV0dXJuIGEuY2hlY2tlZD1yLmluQXJyYXkocihhKS52YWwoKSxiKT4tMX19LG8uY2hlY2tPbnx8KHIudmFsSG9va3NbdGhpc10uZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiBudWxsPT09YS5nZXRBdHRyaWJ1dGUoXCJ2YWx1ZVwiKT9cIm9uXCI6YS52YWx1ZX0pfSk7dmFyIGdiPS9eKD86Zm9jdXNpbmZvY3VzfGZvY3Vzb3V0Ymx1cikkLztyLmV4dGVuZChyLmV2ZW50LHt0cmlnZ2VyOmZ1bmN0aW9uKGIsYyxlLGYpe3ZhciBnLGgsaSxqLGssbSxuLG89W2V8fGRdLHA9bC5jYWxsKGIsXCJ0eXBlXCIpP2IudHlwZTpiLHE9bC5jYWxsKGIsXCJuYW1lc3BhY2VcIik/Yi5uYW1lc3BhY2Uuc3BsaXQoXCIuXCIpOltdO2lmKGg9aT1lPWV8fGQsMyE9PWUubm9kZVR5cGUmJjghPT1lLm5vZGVUeXBlJiYhZ2IudGVzdChwK3IuZXZlbnQudHJpZ2dlcmVkKSYmKHAuaW5kZXhPZihcIi5cIik+LTEmJihxPXAuc3BsaXQoXCIuXCIpLHA9cS5zaGlmdCgpLHEuc29ydCgpKSxrPXAuaW5kZXhPZihcIjpcIik8MCYmXCJvblwiK3AsYj1iW3IuZXhwYW5kb10/YjpuZXcgci5FdmVudChwLFwib2JqZWN0XCI9PXR5cGVvZiBiJiZiKSxiLmlzVHJpZ2dlcj1mPzI6MyxiLm5hbWVzcGFjZT1xLmpvaW4oXCIuXCIpLGIucm5hbWVzcGFjZT1iLm5hbWVzcGFjZT9uZXcgUmVnRXhwKFwiKF58XFxcXC4pXCIrcS5qb2luKFwiXFxcXC4oPzouKlxcXFwufClcIikrXCIoXFxcXC58JClcIik6bnVsbCxiLnJlc3VsdD12b2lkIDAsYi50YXJnZXR8fChiLnRhcmdldD1lKSxjPW51bGw9PWM/W2JdOnIubWFrZUFycmF5KGMsW2JdKSxuPXIuZXZlbnQuc3BlY2lhbFtwXXx8e30sZnx8IW4udHJpZ2dlcnx8bi50cmlnZ2VyLmFwcGx5KGUsYykhPT0hMSkpe2lmKCFmJiYhbi5ub0J1YmJsZSYmIXIuaXNXaW5kb3coZSkpe2ZvcihqPW4uZGVsZWdhdGVUeXBlfHxwLGdiLnRlc3QoaitwKXx8KGg9aC5wYXJlbnROb2RlKTtoO2g9aC5wYXJlbnROb2RlKW8ucHVzaChoKSxpPWg7aT09PShlLm93bmVyRG9jdW1lbnR8fGQpJiZvLnB1c2goaS5kZWZhdWx0Vmlld3x8aS5wYXJlbnRXaW5kb3d8fGEpfWc9MDt3aGlsZSgoaD1vW2crK10pJiYhYi5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKWIudHlwZT1nPjE/ajpuLmJpbmRUeXBlfHxwLG09KFcuZ2V0KGgsXCJldmVudHNcIil8fHt9KVtiLnR5cGVdJiZXLmdldChoLFwiaGFuZGxlXCIpLG0mJm0uYXBwbHkoaCxjKSxtPWsmJmhba10sbSYmbS5hcHBseSYmVShoKSYmKGIucmVzdWx0PW0uYXBwbHkoaCxjKSxiLnJlc3VsdD09PSExJiZiLnByZXZlbnREZWZhdWx0KCkpO3JldHVybiBiLnR5cGU9cCxmfHxiLmlzRGVmYXVsdFByZXZlbnRlZCgpfHxuLl9kZWZhdWx0JiZuLl9kZWZhdWx0LmFwcGx5KG8ucG9wKCksYykhPT0hMXx8IVUoZSl8fGsmJnIuaXNGdW5jdGlvbihlW3BdKSYmIXIuaXNXaW5kb3coZSkmJihpPWVba10saSYmKGVba109bnVsbCksci5ldmVudC50cmlnZ2VyZWQ9cCxlW3BdKCksci5ldmVudC50cmlnZ2VyZWQ9dm9pZCAwLGkmJihlW2tdPWkpKSxiLnJlc3VsdH19LHNpbXVsYXRlOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD1yLmV4dGVuZChuZXcgci5FdmVudCxjLHt0eXBlOmEsaXNTaW11bGF0ZWQ6ITB9KTtyLmV2ZW50LnRyaWdnZXIoZCxudWxsLGIpfX0pLHIuZm4uZXh0ZW5kKHt0cmlnZ2VyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3IuZXZlbnQudHJpZ2dlcihhLGIsdGhpcyl9KX0sdHJpZ2dlckhhbmRsZXI6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzWzBdO2lmKGMpcmV0dXJuIHIuZXZlbnQudHJpZ2dlcihhLGIsYywhMCl9fSksci5lYWNoKFwiYmx1ciBmb2N1cyBmb2N1c2luIGZvY3Vzb3V0IHJlc2l6ZSBzY3JvbGwgY2xpY2sgZGJsY2xpY2sgbW91c2Vkb3duIG1vdXNldXAgbW91c2Vtb3ZlIG1vdXNlb3ZlciBtb3VzZW91dCBtb3VzZWVudGVyIG1vdXNlbGVhdmUgY2hhbmdlIHNlbGVjdCBzdWJtaXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBjb250ZXh0bWVudVwiLnNwbGl0KFwiIFwiKSxmdW5jdGlvbihhLGIpe3IuZm5bYl09ZnVuY3Rpb24oYSxjKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4wP3RoaXMub24oYixudWxsLGEsYyk6dGhpcy50cmlnZ2VyKGIpfX0pLHIuZm4uZXh0ZW5kKHtob3ZlcjpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm1vdXNlZW50ZXIoYSkubW91c2VsZWF2ZShifHxhKX19KSxvLmZvY3VzaW49XCJvbmZvY3VzaW5cImluIGEsby5mb2N1c2lufHxyLmVhY2goe2ZvY3VzOlwiZm9jdXNpblwiLGJsdXI6XCJmb2N1c291dFwifSxmdW5jdGlvbihhLGIpe3ZhciBjPWZ1bmN0aW9uKGEpe3IuZXZlbnQuc2ltdWxhdGUoYixhLnRhcmdldCxyLmV2ZW50LmZpeChhKSl9O3IuZXZlbnQuc3BlY2lhbFtiXT17c2V0dXA6ZnVuY3Rpb24oKXt2YXIgZD10aGlzLm93bmVyRG9jdW1lbnR8fHRoaXMsZT1XLmFjY2VzcyhkLGIpO2V8fGQuYWRkRXZlbnRMaXN0ZW5lcihhLGMsITApLFcuYWNjZXNzKGQsYiwoZXx8MCkrMSl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7dmFyIGQ9dGhpcy5vd25lckRvY3VtZW50fHx0aGlzLGU9Vy5hY2Nlc3MoZCxiKS0xO2U/Vy5hY2Nlc3MoZCxiLGUpOihkLnJlbW92ZUV2ZW50TGlzdGVuZXIoYSxjLCEwKSxXLnJlbW92ZShkLGIpKX19fSk7dmFyIGhiPS9cXFtcXF0kLyxpYj0vXFxyP1xcbi9nLGpiPS9eKD86c3VibWl0fGJ1dHRvbnxpbWFnZXxyZXNldHxmaWxlKSQvaSxrYj0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxrZXlnZW4pL2k7ZnVuY3Rpb24gbGIoYSxiLGMsZCl7dmFyIGU7aWYoQXJyYXkuaXNBcnJheShiKSlyLmVhY2goYixmdW5jdGlvbihiLGUpe2N8fGhiLnRlc3QoYSk/ZChhLGUpOmxiKGErXCJbXCIrKFwib2JqZWN0XCI9PXR5cGVvZiBlJiZudWxsIT1lP2I6XCJcIikrXCJdXCIsZSxjLGQpO1xufSk7ZWxzZSBpZihjfHxcIm9iamVjdFwiIT09ci50eXBlKGIpKWQoYSxiKTtlbHNlIGZvcihlIGluIGIpbGIoYStcIltcIitlK1wiXVwiLGJbZV0sYyxkKX1yLnBhcmFtPWZ1bmN0aW9uKGEsYil7dmFyIGMsZD1bXSxlPWZ1bmN0aW9uKGEsYil7dmFyIGM9ci5pc0Z1bmN0aW9uKGIpP2IoKTpiO2RbZC5sZW5ndGhdPWVuY29kZVVSSUNvbXBvbmVudChhKStcIj1cIitlbmNvZGVVUklDb21wb25lbnQobnVsbD09Yz9cIlwiOmMpfTtpZihBcnJheS5pc0FycmF5KGEpfHxhLmpxdWVyeSYmIXIuaXNQbGFpbk9iamVjdChhKSlyLmVhY2goYSxmdW5jdGlvbigpe2UodGhpcy5uYW1lLHRoaXMudmFsdWUpfSk7ZWxzZSBmb3IoYyBpbiBhKWxiKGMsYVtjXSxiLGUpO3JldHVybiBkLmpvaW4oXCImXCIpfSxyLmZuLmV4dGVuZCh7c2VyaWFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHIucGFyYW0odGhpcy5zZXJpYWxpemVBcnJheSgpKX0sc2VyaWFsaXplQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXt2YXIgYT1yLnByb3AodGhpcyxcImVsZW1lbnRzXCIpO3JldHVybiBhP3IubWFrZUFycmF5KGEpOnRoaXN9KS5maWx0ZXIoZnVuY3Rpb24oKXt2YXIgYT10aGlzLnR5cGU7cmV0dXJuIHRoaXMubmFtZSYmIXIodGhpcykuaXMoXCI6ZGlzYWJsZWRcIikmJmtiLnRlc3QodGhpcy5ub2RlTmFtZSkmJiFqYi50ZXN0KGEpJiYodGhpcy5jaGVja2VkfHwhamEudGVzdChhKSl9KS5tYXAoZnVuY3Rpb24oYSxiKXt2YXIgYz1yKHRoaXMpLnZhbCgpO3JldHVybiBudWxsPT1jP251bGw6QXJyYXkuaXNBcnJheShjKT9yLm1hcChjLGZ1bmN0aW9uKGEpe3JldHVybntuYW1lOmIubmFtZSx2YWx1ZTphLnJlcGxhY2UoaWIsXCJcXHJcXG5cIil9fSk6e25hbWU6Yi5uYW1lLHZhbHVlOmMucmVwbGFjZShpYixcIlxcclxcblwiKX19KS5nZXQoKX19KSxyLmZuLmV4dGVuZCh7d3JhcEFsbDpmdW5jdGlvbihhKXt2YXIgYjtyZXR1cm4gdGhpc1swXSYmKHIuaXNGdW5jdGlvbihhKSYmKGE9YS5jYWxsKHRoaXNbMF0pKSxiPXIoYSx0aGlzWzBdLm93bmVyRG9jdW1lbnQpLmVxKDApLmNsb25lKCEwKSx0aGlzWzBdLnBhcmVudE5vZGUmJmIuaW5zZXJ0QmVmb3JlKHRoaXNbMF0pLGIubWFwKGZ1bmN0aW9uKCl7dmFyIGE9dGhpczt3aGlsZShhLmZpcnN0RWxlbWVudENoaWxkKWE9YS5maXJzdEVsZW1lbnRDaGlsZDtyZXR1cm4gYX0pLmFwcGVuZCh0aGlzKSksdGhpc30sd3JhcElubmVyOmZ1bmN0aW9uKGEpe3JldHVybiByLmlzRnVuY3Rpb24oYSk/dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe3IodGhpcykud3JhcElubmVyKGEuY2FsbCh0aGlzLGIpKX0pOnRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPXIodGhpcyksYz1iLmNvbnRlbnRzKCk7Yy5sZW5ndGg/Yy53cmFwQWxsKGEpOmIuYXBwZW5kKGEpfSl9LHdyYXA6ZnVuY3Rpb24oYSl7dmFyIGI9ci5pc0Z1bmN0aW9uKGEpO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYyl7cih0aGlzKS53cmFwQWxsKGI/YS5jYWxsKHRoaXMsYyk6YSl9KX0sdW53cmFwOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnBhcmVudChhKS5ub3QoXCJib2R5XCIpLmVhY2goZnVuY3Rpb24oKXtyKHRoaXMpLnJlcGxhY2VXaXRoKHRoaXMuY2hpbGROb2Rlcyl9KSx0aGlzfX0pLHIuZXhwci5wc2V1ZG9zLmhpZGRlbj1mdW5jdGlvbihhKXtyZXR1cm4hci5leHByLnBzZXVkb3MudmlzaWJsZShhKX0sci5leHByLnBzZXVkb3MudmlzaWJsZT1mdW5jdGlvbihhKXtyZXR1cm4hIShhLm9mZnNldFdpZHRofHxhLm9mZnNldEhlaWdodHx8YS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCl9LG8uY3JlYXRlSFRNTERvY3VtZW50PWZ1bmN0aW9uKCl7dmFyIGE9ZC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoXCJcIikuYm9keTtyZXR1cm4gYS5pbm5lckhUTUw9XCI8Zm9ybT48L2Zvcm0+PGZvcm0+PC9mb3JtPlwiLDI9PT1hLmNoaWxkTm9kZXMubGVuZ3RofSgpLHIucGFyc2VIVE1MPWZ1bmN0aW9uKGEsYixjKXtpZihcInN0cmluZ1wiIT10eXBlb2YgYSlyZXR1cm5bXTtcImJvb2xlYW5cIj09dHlwZW9mIGImJihjPWIsYj0hMSk7dmFyIGUsZixnO3JldHVybiBifHwoby5jcmVhdGVIVE1MRG9jdW1lbnQ/KGI9ZC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoXCJcIiksZT1iLmNyZWF0ZUVsZW1lbnQoXCJiYXNlXCIpLGUuaHJlZj1kLmxvY2F0aW9uLmhyZWYsYi5oZWFkLmFwcGVuZENoaWxkKGUpKTpiPWQpLGY9Qy5leGVjKGEpLGc9IWMmJltdLGY/W2IuY3JlYXRlRWxlbWVudChmWzFdKV06KGY9cWEoW2FdLGIsZyksZyYmZy5sZW5ndGgmJnIoZykucmVtb3ZlKCksci5tZXJnZShbXSxmLmNoaWxkTm9kZXMpKX0sci5vZmZzZXQ9e3NldE9mZnNldDpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmLGcsaCxpLGosaz1yLmNzcyhhLFwicG9zaXRpb25cIiksbD1yKGEpLG09e307XCJzdGF0aWNcIj09PWsmJihhLnN0eWxlLnBvc2l0aW9uPVwicmVsYXRpdmVcIiksaD1sLm9mZnNldCgpLGY9ci5jc3MoYSxcInRvcFwiKSxpPXIuY3NzKGEsXCJsZWZ0XCIpLGo9KFwiYWJzb2x1dGVcIj09PWt8fFwiZml4ZWRcIj09PWspJiYoZitpKS5pbmRleE9mKFwiYXV0b1wiKT4tMSxqPyhkPWwucG9zaXRpb24oKSxnPWQudG9wLGU9ZC5sZWZ0KTooZz1wYXJzZUZsb2F0KGYpfHwwLGU9cGFyc2VGbG9hdChpKXx8MCksci5pc0Z1bmN0aW9uKGIpJiYoYj1iLmNhbGwoYSxjLHIuZXh0ZW5kKHt9LGgpKSksbnVsbCE9Yi50b3AmJihtLnRvcD1iLnRvcC1oLnRvcCtnKSxudWxsIT1iLmxlZnQmJihtLmxlZnQ9Yi5sZWZ0LWgubGVmdCtlKSxcInVzaW5nXCJpbiBiP2IudXNpbmcuY2FsbChhLG0pOmwuY3NzKG0pfX0sci5mbi5leHRlbmQoe29mZnNldDpmdW5jdGlvbihhKXtpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiB2b2lkIDA9PT1hP3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe3Iub2Zmc2V0LnNldE9mZnNldCh0aGlzLGEsYil9KTt2YXIgYixjLGQsZSxmPXRoaXNbMF07aWYoZilyZXR1cm4gZi5nZXRDbGllbnRSZWN0cygpLmxlbmd0aD8oZD1mLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGI9Zi5vd25lckRvY3VtZW50LGM9Yi5kb2N1bWVudEVsZW1lbnQsZT1iLmRlZmF1bHRWaWV3LHt0b3A6ZC50b3ArZS5wYWdlWU9mZnNldC1jLmNsaWVudFRvcCxsZWZ0OmQubGVmdCtlLnBhZ2VYT2Zmc2V0LWMuY2xpZW50TGVmdH0pOnt0b3A6MCxsZWZ0OjB9fSxwb3NpdGlvbjpmdW5jdGlvbigpe2lmKHRoaXNbMF0pe3ZhciBhLGIsYz10aGlzWzBdLGQ9e3RvcDowLGxlZnQ6MH07cmV0dXJuXCJmaXhlZFwiPT09ci5jc3MoYyxcInBvc2l0aW9uXCIpP2I9Yy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTooYT10aGlzLm9mZnNldFBhcmVudCgpLGI9dGhpcy5vZmZzZXQoKSxCKGFbMF0sXCJodG1sXCIpfHwoZD1hLm9mZnNldCgpKSxkPXt0b3A6ZC50b3Arci5jc3MoYVswXSxcImJvcmRlclRvcFdpZHRoXCIsITApLGxlZnQ6ZC5sZWZ0K3IuY3NzKGFbMF0sXCJib3JkZXJMZWZ0V2lkdGhcIiwhMCl9KSx7dG9wOmIudG9wLWQudG9wLXIuY3NzKGMsXCJtYXJnaW5Ub3BcIiwhMCksbGVmdDpiLmxlZnQtZC5sZWZ0LXIuY3NzKGMsXCJtYXJnaW5MZWZ0XCIsITApfX19LG9mZnNldFBhcmVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe3ZhciBhPXRoaXMub2Zmc2V0UGFyZW50O3doaWxlKGEmJlwic3RhdGljXCI9PT1yLmNzcyhhLFwicG9zaXRpb25cIikpYT1hLm9mZnNldFBhcmVudDtyZXR1cm4gYXx8cmF9KX19KSxyLmVhY2goe3Njcm9sbExlZnQ6XCJwYWdlWE9mZnNldFwiLHNjcm9sbFRvcDpcInBhZ2VZT2Zmc2V0XCJ9LGZ1bmN0aW9uKGEsYil7dmFyIGM9XCJwYWdlWU9mZnNldFwiPT09YjtyLmZuW2FdPWZ1bmN0aW9uKGQpe3JldHVybiBUKHRoaXMsZnVuY3Rpb24oYSxkLGUpe3ZhciBmO3JldHVybiByLmlzV2luZG93KGEpP2Y9YTo5PT09YS5ub2RlVHlwZSYmKGY9YS5kZWZhdWx0Vmlldyksdm9pZCAwPT09ZT9mP2ZbYl06YVtkXTp2b2lkKGY/Zi5zY3JvbGxUbyhjP2YucGFnZVhPZmZzZXQ6ZSxjP2U6Zi5wYWdlWU9mZnNldCk6YVtkXT1lKX0sYSxkLGFyZ3VtZW50cy5sZW5ndGgpfX0pLHIuZWFjaChbXCJ0b3BcIixcImxlZnRcIl0sZnVuY3Rpb24oYSxiKXtyLmNzc0hvb2tzW2JdPVBhKG8ucGl4ZWxQb3NpdGlvbixmdW5jdGlvbihhLGMpe2lmKGMpcmV0dXJuIGM9T2EoYSxiKSxNYS50ZXN0KGMpP3IoYSkucG9zaXRpb24oKVtiXStcInB4XCI6Y30pfSksci5lYWNoKHtIZWlnaHQ6XCJoZWlnaHRcIixXaWR0aDpcIndpZHRoXCJ9LGZ1bmN0aW9uKGEsYil7ci5lYWNoKHtwYWRkaW5nOlwiaW5uZXJcIithLGNvbnRlbnQ6YixcIlwiOlwib3V0ZXJcIithfSxmdW5jdGlvbihjLGQpe3IuZm5bZF09ZnVuY3Rpb24oZSxmKXt2YXIgZz1hcmd1bWVudHMubGVuZ3RoJiYoY3x8XCJib29sZWFuXCIhPXR5cGVvZiBlKSxoPWN8fChlPT09ITB8fGY9PT0hMD9cIm1hcmdpblwiOlwiYm9yZGVyXCIpO3JldHVybiBUKHRoaXMsZnVuY3Rpb24oYixjLGUpe3ZhciBmO3JldHVybiByLmlzV2luZG93KGIpPzA9PT1kLmluZGV4T2YoXCJvdXRlclwiKT9iW1wiaW5uZXJcIithXTpiLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtcImNsaWVudFwiK2FdOjk9PT1iLm5vZGVUeXBlPyhmPWIuZG9jdW1lbnRFbGVtZW50LE1hdGgubWF4KGIuYm9keVtcInNjcm9sbFwiK2FdLGZbXCJzY3JvbGxcIithXSxiLmJvZHlbXCJvZmZzZXRcIithXSxmW1wib2Zmc2V0XCIrYV0sZltcImNsaWVudFwiK2FdKSk6dm9pZCAwPT09ZT9yLmNzcyhiLGMsaCk6ci5zdHlsZShiLGMsZSxoKX0sYixnP2U6dm9pZCAwLGcpfX0pfSksci5mbi5leHRlbmQoe2JpbmQ6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB0aGlzLm9uKGEsbnVsbCxiLGMpfSx1bmJpbmQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5vZmYoYSxudWxsLGIpfSxkZWxlZ2F0ZTpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5vbihiLGEsYyxkKX0sdW5kZWxlZ2F0ZTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP3RoaXMub2ZmKGEsXCIqKlwiKTp0aGlzLm9mZihiLGF8fFwiKipcIixjKX19KSxyLmhvbGRSZWFkeT1mdW5jdGlvbihhKXthP3IucmVhZHlXYWl0Kys6ci5yZWFkeSghMCl9LHIuaXNBcnJheT1BcnJheS5pc0FycmF5LHIucGFyc2VKU09OPUpTT04ucGFyc2Usci5ub2RlTmFtZT1CLFwiZnVuY3Rpb25cIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZCYmZGVmaW5lKFwianF1ZXJ5XCIsW10sZnVuY3Rpb24oKXtyZXR1cm4gcn0pO3ZhciBtYj1hLmpRdWVyeSxuYj1hLiQ7cmV0dXJuIHIubm9Db25mbGljdD1mdW5jdGlvbihiKXtyZXR1cm4gYS4kPT09ciYmKGEuJD1uYiksYiYmYS5qUXVlcnk9PT1yJiYoYS5qUXVlcnk9bWIpLHJ9LGJ8fChhLmpRdWVyeT1hLiQ9cikscn0pO1xuIn0sICJoZWFkZXJzU2l6ZSI6IDAsICJib2R5U2l6ZSI6IDI0MjI1LCAicmVkaXJlY3RVUkwiOiAiIiwgIl90cmFuc2ZlclNpemUiOiAyNDIyNX0sICJjYWNoZSI6IHt9LCAidGltaW5ncyI6IHsiZG5zIjogMC4wMTEsICJjb25uZWN0IjogMTkuMDE1LCAic3NsIjogMTMuNjk0LCAic2VuZCI6IDAsICJ3YWl0IjogNy43NTIsICJyZWNlaXZlIjogOC45NDJ9LCAicGFnZXJlZiI6ICJwYWdlQDJlN2FjZTk1NWE2NzczZWNmZDJlOThlZjJmZGNiNzA0IiwgInNlcnZlcklQQWRkcmVzcyI6ICJbMmEwNDo0ZTQyOjo2NDldIiwgIl9zZXJ2ZXJQb3J0IjogNDQzLCAiX3NlY3VyaXR5RGV0YWlscyI6IHsicHJvdG9jb2wiOiAiVExTIDEuMyIsICJzdWJqZWN0TmFtZSI6ICIqLmpxdWVyeS5jb20iLCAiaXNzdWVyIjogIlNlY3RpZ28gRUNDIERvbWFpbiBWYWxpZGF0aW9uIFNlY3VyZSBTZXJ2ZXIgQ0EiLCAidmFsaWRGcm9tIjogMTcxOTI3MzYwMCwgInZhbGlkVG8iOiAxNzUwODk1OTk5fX0sIHsic3RhcnRlZERhdGVUaW1lIjogIjIwMjQtMDgtMDFUMTI6MzM6MDAuNjQ0WiIsICJ0aW1lIjogODkuNTI3LCAicmVxdWVzdCI6IHsibWV0aG9kIjogIkdFVCIsICJ1cmwiOiAiaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvcG9wcGVyLmpzLzEuMTIuOS91bWQvcG9wcGVyLm1pbi5qcyIsICJodHRwVmVyc2lvbiI6ICJoMyIsICJjb29raWVzIjogW10sICJoZWFkZXJzIjogW3sibmFtZSI6ICI6YXV0aG9yaXR5IiwgInZhbHVlIjogImNkbmpzLmNsb3VkZmxhcmUuY29tIn0sIHsibmFtZSI6ICI6bWV0aG9kIiwgInZhbHVlIjogIkdFVCJ9LCB7Im5hbWUiOiAiOnBhdGgiLCAidmFsdWUiOiAiL2FqYXgvbGlicy9wb3BwZXIuanMvMS4xMi45L3VtZC9wb3BwZXIubWluLmpzIn0sIHsibmFtZSI6ICI6c2NoZW1lIiwgInZhbHVlIjogImh0dHBzIn0sIHsibmFtZSI6ICJhY2NlcHQiLCAidmFsdWUiOiAiKi8qIn0sIHsibmFtZSI6ICJhY2NlcHQtZW5jb2RpbmciLCAidmFsdWUiOiAiZ3ppcCwgZGVmbGF0ZSwgYnIsIHpzdGQifSwgeyJuYW1lIjogImFjY2VwdC1sYW5ndWFnZSIsICJ2YWx1ZSI6ICJlbi1VUyxlbjtxPTAuOSJ9LCB7Im5hbWUiOiAiaW50ZXJ2ZW50aW9uIiwgInZhbHVlIjogIjxodHRwczovL3d3dy5jaHJvbWVzdGF0dXMuY29tL2ZlYXR1cmUvNTcxODU0Nzk0Njc5OTEwND47IGxldmVsPVwid2FybmluZ1wiIn0sIHsibmFtZSI6ICJvcmlnaW4iLCAidmFsdWUiOiAiaHR0cHM6Ly9wdWItMmVhN2M2MzliNGExNGI5MmE1MGUzNDhmOTliMzMyOTMucjIuZGV2In0sIHsibmFtZSI6ICJwcmlvcml0eSIsICJ2YWx1ZSI6ICJ1PTEifSwgeyJuYW1lIjogInJlZmVyZXIiLCAidmFsdWUiOiAiaHR0cHM6Ly9wdWItMmVhN2M2MzliNGExNGI5MmE1MGUzNDhmOTliMzMyOTMucjIuZGV2LyJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhIiwgInZhbHVlIjogIlwiQ2hyb21pdW1cIjt2PVwiMTI3XCIsIFwiTm90KUE7QnJhbmRcIjt2PVwiOTlcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLW1vYmlsZSIsICJ2YWx1ZSI6ICI/MCJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXBsYXRmb3JtIiwgInZhbHVlIjogIlwiV2luZG93c1wiIn0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtZGVzdCIsICJ2YWx1ZSI6ICJzY3JpcHQifSwgeyJuYW1lIjogInNlYy1mZXRjaC1tb2RlIiwgInZhbHVlIjogImNvcnMifSwgeyJuYW1lIjogInNlYy1mZXRjaC1zaXRlIiwgInZhbHVlIjogImNyb3NzLXNpdGUifSwgeyJuYW1lIjogInVzZXItYWdlbnQiLCAidmFsdWUiOiAiTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEyNy4wLjY1MzMuMTcgU2FmYXJpLzUzNy4zNiJ9XSwgInF1ZXJ5U3RyaW5nIjogW10sICJoZWFkZXJzU2l6ZSI6IDgwMiwgImJvZHlTaXplIjogMH0sICJyZXNwb25zZSI6IHsic3RhdHVzIjogMjAwLCAic3RhdHVzVGV4dCI6ICIiLCAiaHR0cFZlcnNpb24iOiAiaDMiLCAiY29va2llcyI6IFtdLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiYWNjZXB0LXJhbmdlcyIsICJ2YWx1ZSI6ICJieXRlcyJ9LCB7Im5hbWUiOiAiYWNjZXNzLWNvbnRyb2wtYWxsb3ctb3JpZ2luIiwgInZhbHVlIjogIioifSwgeyJuYW1lIjogImFnZSIsICJ2YWx1ZSI6ICI2ODE2NjYifSwgeyJuYW1lIjogImFsdC1zdmMiLCAidmFsdWUiOiAiaDM9XCI6NDQzXCI7IG1hPTg2NDAwIn0sIHsibmFtZSI6ICJjYWNoZS1jb250cm9sIiwgInZhbHVlIjogInB1YmxpYywgbWF4LWFnZT0zMDY3MjAwMCJ9LCB7Im5hbWUiOiAiY2YtY2FjaGUtc3RhdHVzIiwgInZhbHVlIjogIkhJVCJ9LCB7Im5hbWUiOiAiY2YtY2RuanMtdmlhIiwgInZhbHVlIjogImNmd29ya2VyL2t2In0sIHsibmFtZSI6ICJjZi1yYXkiLCAidmFsdWUiOiAiOGFjNWRhYWI1YWY1OTc0MS1GUkEifSwgeyJuYW1lIjogImNvbnRlbnQtZW5jb2RpbmciLCAidmFsdWUiOiAiYnIifSwgeyJuYW1lIjogImNvbnRlbnQtbGVuZ3RoIiwgInZhbHVlIjogIjYxNTcifSwgeyJuYW1lIjogImNvbnRlbnQtdHlwZSIsICJ2YWx1ZSI6ICJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0OyBjaGFyc2V0PXV0Zi04In0sIHsibmFtZSI6ICJjcm9zcy1vcmlnaW4tcmVzb3VyY2UtcG9saWN5IiwgInZhbHVlIjogImNyb3NzLW9yaWdpbiJ9LCB7Im5hbWUiOiAiZGF0ZSIsICJ2YWx1ZSI6ICJUaHUsIDAxIEF1ZyAyMDI0IDEyOjMzOjAwIEdNVCJ9LCB7Im5hbWUiOiAiZXRhZyIsICJ2YWx1ZSI6ICJcIjVlYjAzZmE5LTRhZjRcIiJ9LCB7Im5hbWUiOiAiZXhwaXJlcyIsICJ2YWx1ZSI6ICJUdWUsIDIyIEp1bCAyMDI1IDEyOjMzOjAwIEdNVCJ9LCB7Im5hbWUiOiAibGFzdC1tb2RpZmllZCIsICJ2YWx1ZSI6ICJNb24sIDA0IE1heSAyMDIwIDE2OjE1OjM3IEdNVCJ9LCB7Im5hbWUiOiAibmVsIiwgInZhbHVlIjogIntcInN1Y2Nlc3NfZnJhY3Rpb25cIjowLjAxLFwicmVwb3J0X3RvXCI6XCJjZi1uZWxcIixcIm1heF9hZ2VcIjo2MDQ4MDB9In0sIHsibmFtZSI6ICJyZXBvcnQtdG8iLCAidmFsdWUiOiAie1wiZW5kcG9pbnRzXCI6W3tcInVybFwiOlwiaHR0cHM6XFwvXFwvYS5uZWwuY2xvdWRmbGFyZS5jb21cXC9yZXBvcnRcXC92ND9zPWpjbHUxMGklMkJZN25LQThqTEgzdllWREJBc0JCUzJpTyUyQjBFUnpHTWJ4bU9ndnZVZHFMNEFYcFFyTzRJQ2QlMkJCcEdWR0s5QnZucW10TFpMenN5MjlzVW5DZXhReFBkJTJCdXQwdzMlMkZyc2dmeTZXekdYVDJqNjhrRk54d0tEZDZVZjhnR0t2SFQ4RGE0YktmWFZQWmhsOWZLaERVeFwifV0sXCJncm91cFwiOlwiY2YtbmVsXCIsXCJtYXhfYWdlXCI6NjA0ODAwfSJ9LCB7Im5hbWUiOiAic2VydmVyIiwgInZhbHVlIjogImNsb3VkZmxhcmUifSwgeyJuYW1lIjogInN0cmljdC10cmFuc3BvcnQtc2VjdXJpdHkiLCAidmFsdWUiOiAibWF4LWFnZT0xNTc4MDAwMCJ9LCB7Im5hbWUiOiAidGltaW5nLWFsbG93LW9yaWdpbiIsICJ2YWx1ZSI6ICIqIn0sIHsibmFtZSI6ICJ2YXJ5IiwgInZhbHVlIjogIkFjY2VwdC1FbmNvZGluZyJ9LCB7Im5hbWUiOiAieC1jb250ZW50LXR5cGUtb3B0aW9ucyIsICJ2YWx1ZSI6ICJub3NuaWZmIn1dLCAiY29udGVudCI6IHsic2l6ZSI6IDE5MTg4LCAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vamF2YXNjcmlwdDsgY2hhcnNldD11dGYtOCIsICJjb21wcmVzc2lvbiI6IDEyMzgzLCAidGV4dCI6ICIvKlxuIENvcHlyaWdodCAoQykgRmVkZXJpY28gWml2b2xvIDIwMTdcbiBEaXN0cmlidXRlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKGxpY2Vuc2UgdGVybXMgYXJlIGF0IGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVQpLlxuICovKGZ1bmN0aW9uKGUsdCl7J29iamVjdCc9PXR5cGVvZiBleHBvcnRzJiYndW5kZWZpbmVkJyE9dHlwZW9mIG1vZHVsZT9tb2R1bGUuZXhwb3J0cz10KCk6J2Z1bmN0aW9uJz09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUodCk6ZS5Qb3BwZXI9dCgpfSkodGhpcyxmdW5jdGlvbigpeyd1c2Ugc3RyaWN0JztmdW5jdGlvbiBlKGUpe3JldHVybiBlJiYnW29iamVjdCBGdW5jdGlvbl0nPT09e30udG9TdHJpbmcuY2FsbChlKX1mdW5jdGlvbiB0KGUsdCl7aWYoMSE9PWUubm9kZVR5cGUpcmV0dXJuW107dmFyIG89Z2V0Q29tcHV0ZWRTdHlsZShlLG51bGwpO3JldHVybiB0P29bdF06b31mdW5jdGlvbiBvKGUpe3JldHVybidIVE1MJz09PWUubm9kZU5hbWU/ZTplLnBhcmVudE5vZGV8fGUuaG9zdH1mdW5jdGlvbiBuKGUpe2lmKCFlKXJldHVybiBkb2N1bWVudC5ib2R5O3N3aXRjaChlLm5vZGVOYW1lKXtjYXNlJ0hUTUwnOmNhc2UnQk9EWSc6cmV0dXJuIGUub3duZXJEb2N1bWVudC5ib2R5O2Nhc2UnI2RvY3VtZW50JzpyZXR1cm4gZS5ib2R5O312YXIgaT10KGUpLHI9aS5vdmVyZmxvdyxwPWkub3ZlcmZsb3dYLHM9aS5vdmVyZmxvd1k7cmV0dXJuIC8oYXV0b3xzY3JvbGwpLy50ZXN0KHIrcytwKT9lOm4obyhlKSl9ZnVuY3Rpb24gcihlKXt2YXIgbz1lJiZlLm9mZnNldFBhcmVudCxpPW8mJm8ubm9kZU5hbWU7cmV0dXJuIGkmJidCT0RZJyE9PWkmJidIVE1MJyE9PWk/LTEhPT1bJ1REJywnVEFCTEUnXS5pbmRleE9mKG8ubm9kZU5hbWUpJiYnc3RhdGljJz09PXQobywncG9zaXRpb24nKT9yKG8pOm86ZT9lLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50OmRvY3VtZW50LmRvY3VtZW50RWxlbWVudH1mdW5jdGlvbiBwKGUpe3ZhciB0PWUubm9kZU5hbWU7cmV0dXJuJ0JPRFknIT09dCYmKCdIVE1MJz09PXR8fHIoZS5maXJzdEVsZW1lbnRDaGlsZCk9PT1lKX1mdW5jdGlvbiBzKGUpe3JldHVybiBudWxsPT09ZS5wYXJlbnROb2RlP2U6cyhlLnBhcmVudE5vZGUpfWZ1bmN0aW9uIGQoZSx0KXtpZighZXx8IWUubm9kZVR5cGV8fCF0fHwhdC5ub2RlVHlwZSlyZXR1cm4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O3ZhciBvPWUuY29tcGFyZURvY3VtZW50UG9zaXRpb24odCkmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcsaT1vP2U6dCxuPW8/dDplLGE9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTthLnNldFN0YXJ0KGksMCksYS5zZXRFbmQobiwwKTt2YXIgbD1hLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyO2lmKGUhPT1sJiZ0IT09bHx8aS5jb250YWlucyhuKSlyZXR1cm4gcChsKT9sOnIobCk7dmFyIGY9cyhlKTtyZXR1cm4gZi5ob3N0P2QoZi5ob3N0LHQpOmQoZSxzKHQpLmhvc3QpfWZ1bmN0aW9uIGEoZSl7dmFyIHQ9MTxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOid0b3AnLG89J3RvcCc9PT10PydzY3JvbGxUb3AnOidzY3JvbGxMZWZ0JyxpPWUubm9kZU5hbWU7aWYoJ0JPRFknPT09aXx8J0hUTUwnPT09aSl7dmFyIG49ZS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxyPWUub3duZXJEb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50fHxuO3JldHVybiByW29dfXJldHVybiBlW29dfWZ1bmN0aW9uIGwoZSx0KXt2YXIgbz0yPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1syXSYmYXJndW1lbnRzWzJdLGk9YSh0LCd0b3AnKSxuPWEodCwnbGVmdCcpLHI9bz8tMToxO3JldHVybiBlLnRvcCs9aSpyLGUuYm90dG9tKz1pKnIsZS5sZWZ0Kz1uKnIsZS5yaWdodCs9bipyLGV9ZnVuY3Rpb24gZihlLHQpe3ZhciBvPSd4Jz09PXQ/J0xlZnQnOidUb3AnLGk9J0xlZnQnPT1vPydSaWdodCc6J0JvdHRvbSc7cmV0dXJuIHBhcnNlRmxvYXQoZVsnYm9yZGVyJytvKydXaWR0aCddLDEwKStwYXJzZUZsb2F0KGVbJ2JvcmRlcicraSsnV2lkdGgnXSwxMCl9ZnVuY3Rpb24gbShlLHQsbyxpKXtyZXR1cm4gSih0WydvZmZzZXQnK2VdLHRbJ3Njcm9sbCcrZV0sb1snY2xpZW50JytlXSxvWydvZmZzZXQnK2VdLG9bJ3Njcm9sbCcrZV0saWUoKT9vWydvZmZzZXQnK2VdK2lbJ21hcmdpbicrKCdIZWlnaHQnPT09ZT8nVG9wJzonTGVmdCcpXStpWydtYXJnaW4nKygnSGVpZ2h0Jz09PWU/J0JvdHRvbSc6J1JpZ2h0JyldOjApfWZ1bmN0aW9uIGgoKXt2YXIgZT1kb2N1bWVudC5ib2R5LHQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LG89aWUoKSYmZ2V0Q29tcHV0ZWRTdHlsZSh0KTtyZXR1cm57aGVpZ2h0Om0oJ0hlaWdodCcsZSx0LG8pLHdpZHRoOm0oJ1dpZHRoJyxlLHQsbyl9fWZ1bmN0aW9uIGMoZSl7cmV0dXJuIHNlKHt9LGUse3JpZ2h0OmUubGVmdCtlLndpZHRoLGJvdHRvbTplLnRvcCtlLmhlaWdodH0pfWZ1bmN0aW9uIGcoZSl7dmFyIG89e307aWYoaWUoKSl0cnl7bz1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3ZhciBpPWEoZSwndG9wJyksbj1hKGUsJ2xlZnQnKTtvLnRvcCs9aSxvLmxlZnQrPW4sby5ib3R0b20rPWksby5yaWdodCs9bn1jYXRjaChlKXt9ZWxzZSBvPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dmFyIHI9e2xlZnQ6by5sZWZ0LHRvcDpvLnRvcCx3aWR0aDpvLnJpZ2h0LW8ubGVmdCxoZWlnaHQ6by5ib3R0b20tby50b3B9LHA9J0hUTUwnPT09ZS5ub2RlTmFtZT9oKCk6e30scz1wLndpZHRofHxlLmNsaWVudFdpZHRofHxyLnJpZ2h0LXIubGVmdCxkPXAuaGVpZ2h0fHxlLmNsaWVudEhlaWdodHx8ci5ib3R0b20tci50b3AsbD1lLm9mZnNldFdpZHRoLXMsbT1lLm9mZnNldEhlaWdodC1kO2lmKGx8fG0pe3ZhciBnPXQoZSk7bC09ZihnLCd4JyksbS09ZihnLCd5Jyksci53aWR0aC09bCxyLmhlaWdodC09bX1yZXR1cm4gYyhyKX1mdW5jdGlvbiB1KGUsbyl7dmFyIGk9aWUoKSxyPSdIVE1MJz09PW8ubm9kZU5hbWUscD1nKGUpLHM9ZyhvKSxkPW4oZSksYT10KG8pLGY9cGFyc2VGbG9hdChhLmJvcmRlclRvcFdpZHRoLDEwKSxtPXBhcnNlRmxvYXQoYS5ib3JkZXJMZWZ0V2lkdGgsMTApLGg9Yyh7dG9wOnAudG9wLXMudG9wLWYsbGVmdDpwLmxlZnQtcy5sZWZ0LW0sd2lkdGg6cC53aWR0aCxoZWlnaHQ6cC5oZWlnaHR9KTtpZihoLm1hcmdpblRvcD0wLGgubWFyZ2luTGVmdD0wLCFpJiZyKXt2YXIgdT1wYXJzZUZsb2F0KGEubWFyZ2luVG9wLDEwKSxiPXBhcnNlRmxvYXQoYS5tYXJnaW5MZWZ0LDEwKTtoLnRvcC09Zi11LGguYm90dG9tLT1mLXUsaC5sZWZ0LT1tLWIsaC5yaWdodC09bS1iLGgubWFyZ2luVG9wPXUsaC5tYXJnaW5MZWZ0PWJ9cmV0dXJuKGk/by5jb250YWlucyhkKTpvPT09ZCYmJ0JPRFknIT09ZC5ub2RlTmFtZSkmJihoPWwoaCxvKSksaH1mdW5jdGlvbiBiKGUpe3ZhciB0PWUub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsbz11KGUsdCksaT1KKHQuY2xpZW50V2lkdGgsd2luZG93LmlubmVyV2lkdGh8fDApLG49Sih0LmNsaWVudEhlaWdodCx3aW5kb3cuaW5uZXJIZWlnaHR8fDApLHI9YSh0KSxwPWEodCwnbGVmdCcpLHM9e3RvcDpyLW8udG9wK28ubWFyZ2luVG9wLGxlZnQ6cC1vLmxlZnQrby5tYXJnaW5MZWZ0LHdpZHRoOmksaGVpZ2h0Om59O3JldHVybiBjKHMpfWZ1bmN0aW9uIHcoZSl7dmFyIGk9ZS5ub2RlTmFtZTtyZXR1cm4nQk9EWSc9PT1pfHwnSFRNTCc9PT1pPyExOidmaXhlZCc9PT10KGUsJ3Bvc2l0aW9uJyl8fHcobyhlKSl9ZnVuY3Rpb24geShlLHQsaSxyKXt2YXIgcD17dG9wOjAsbGVmdDowfSxzPWQoZSx0KTtpZigndmlld3BvcnQnPT09cilwPWIocyk7ZWxzZXt2YXIgYTsnc2Nyb2xsUGFyZW50Jz09PXI/KGE9bihvKHQpKSwnQk9EWSc9PT1hLm5vZGVOYW1lJiYoYT1lLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSk6J3dpbmRvdyc9PT1yP2E9ZS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudDphPXI7dmFyIGw9dShhLHMpO2lmKCdIVE1MJz09PWEubm9kZU5hbWUmJiF3KHMpKXt2YXIgZj1oKCksbT1mLmhlaWdodCxjPWYud2lkdGg7cC50b3ArPWwudG9wLWwubWFyZ2luVG9wLHAuYm90dG9tPW0rbC50b3AscC5sZWZ0Kz1sLmxlZnQtbC5tYXJnaW5MZWZ0LHAucmlnaHQ9YytsLmxlZnR9ZWxzZSBwPWx9cmV0dXJuIHAubGVmdCs9aSxwLnRvcCs9aSxwLnJpZ2h0LT1pLHAuYm90dG9tLT1pLHB9ZnVuY3Rpb24gRShlKXt2YXIgdD1lLndpZHRoLG89ZS5oZWlnaHQ7cmV0dXJuIHQqb31mdW5jdGlvbiB2KGUsdCxvLGksbil7dmFyIHI9NTxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbNV0/YXJndW1lbnRzWzVdOjA7aWYoLTE9PT1lLmluZGV4T2YoJ2F1dG8nKSlyZXR1cm4gZTt2YXIgcD15KG8saSxyLG4pLHM9e3RvcDp7d2lkdGg6cC53aWR0aCxoZWlnaHQ6dC50b3AtcC50b3B9LHJpZ2h0Ont3aWR0aDpwLnJpZ2h0LXQucmlnaHQsaGVpZ2h0OnAuaGVpZ2h0fSxib3R0b206e3dpZHRoOnAud2lkdGgsaGVpZ2h0OnAuYm90dG9tLXQuYm90dG9tfSxsZWZ0Ont3aWR0aDp0LmxlZnQtcC5sZWZ0LGhlaWdodDpwLmhlaWdodH19LGQ9T2JqZWN0LmtleXMocykubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBzZSh7a2V5OmV9LHNbZV0se2FyZWE6RShzW2VdKX0pfSkuc29ydChmdW5jdGlvbihlLHQpe3JldHVybiB0LmFyZWEtZS5hcmVhfSksYT1kLmZpbHRlcihmdW5jdGlvbihlKXt2YXIgdD1lLndpZHRoLGk9ZS5oZWlnaHQ7cmV0dXJuIHQ+PW8uY2xpZW50V2lkdGgmJmk+PW8uY2xpZW50SGVpZ2h0fSksbD0wPGEubGVuZ3RoP2FbMF0ua2V5OmRbMF0ua2V5LGY9ZS5zcGxpdCgnLScpWzFdO3JldHVybiBsKyhmPyctJytmOicnKX1mdW5jdGlvbiBPKGUsdCxvKXt2YXIgaT1kKHQsbyk7cmV0dXJuIHUobyxpKX1mdW5jdGlvbiBMKGUpe3ZhciB0PWdldENvbXB1dGVkU3R5bGUoZSksbz1wYXJzZUZsb2F0KHQubWFyZ2luVG9wKStwYXJzZUZsb2F0KHQubWFyZ2luQm90dG9tKSxpPXBhcnNlRmxvYXQodC5tYXJnaW5MZWZ0KStwYXJzZUZsb2F0KHQubWFyZ2luUmlnaHQpLG49e3dpZHRoOmUub2Zmc2V0V2lkdGgraSxoZWlnaHQ6ZS5vZmZzZXRIZWlnaHQrb307cmV0dXJuIG59ZnVuY3Rpb24geChlKXt2YXIgdD17bGVmdDoncmlnaHQnLHJpZ2h0OidsZWZ0Jyxib3R0b206J3RvcCcsdG9wOidib3R0b20nfTtyZXR1cm4gZS5yZXBsYWNlKC9sZWZ0fHJpZ2h0fGJvdHRvbXx0b3AvZyxmdW5jdGlvbihlKXtyZXR1cm4gdFtlXX0pfWZ1bmN0aW9uIFMoZSx0LG8pe289by5zcGxpdCgnLScpWzBdO3ZhciBpPUwoZSksbj17d2lkdGg6aS53aWR0aCxoZWlnaHQ6aS5oZWlnaHR9LHI9LTEhPT1bJ3JpZ2h0JywnbGVmdCddLmluZGV4T2YobykscD1yPyd0b3AnOidsZWZ0JyxzPXI/J2xlZnQnOid0b3AnLGQ9cj8naGVpZ2h0Jzond2lkdGgnLGE9cj8nd2lkdGgnOidoZWlnaHQnO3JldHVybiBuW3BdPXRbcF0rdFtkXS8yLWlbZF0vMixuW3NdPW89PT1zP3Rbc10taVthXTp0W3gocyldLG59ZnVuY3Rpb24gVChlLHQpe3JldHVybiBBcnJheS5wcm90b3R5cGUuZmluZD9lLmZpbmQodCk6ZS5maWx0ZXIodClbMF19ZnVuY3Rpb24gRChlLHQsbyl7aWYoQXJyYXkucHJvdG90eXBlLmZpbmRJbmRleClyZXR1cm4gZS5maW5kSW5kZXgoZnVuY3Rpb24oZSl7cmV0dXJuIGVbdF09PT1vfSk7dmFyIGk9VChlLGZ1bmN0aW9uKGUpe3JldHVybiBlW3RdPT09b30pO3JldHVybiBlLmluZGV4T2YoaSl9ZnVuY3Rpb24gQyh0LG8saSl7dmFyIG49dm9pZCAwPT09aT90OnQuc2xpY2UoMCxEKHQsJ25hbWUnLGkpKTtyZXR1cm4gbi5mb3JFYWNoKGZ1bmN0aW9uKHQpe3RbJ2Z1bmN0aW9uJ10mJmNvbnNvbGUud2FybignYG1vZGlmaWVyLmZ1bmN0aW9uYCBpcyBkZXByZWNhdGVkLCB1c2UgYG1vZGlmaWVyLmZuYCEnKTt2YXIgaT10WydmdW5jdGlvbiddfHx0LmZuO3QuZW5hYmxlZCYmZShpKSYmKG8ub2Zmc2V0cy5wb3BwZXI9YyhvLm9mZnNldHMucG9wcGVyKSxvLm9mZnNldHMucmVmZXJlbmNlPWMoby5vZmZzZXRzLnJlZmVyZW5jZSksbz1pKG8sdCkpfSksb31mdW5jdGlvbiBOKCl7aWYoIXRoaXMuc3RhdGUuaXNEZXN0cm95ZWQpe3ZhciBlPXtpbnN0YW5jZTp0aGlzLHN0eWxlczp7fSxhcnJvd1N0eWxlczp7fSxhdHRyaWJ1dGVzOnt9LGZsaXBwZWQ6ITEsb2Zmc2V0czp7fX07ZS5vZmZzZXRzLnJlZmVyZW5jZT1PKHRoaXMuc3RhdGUsdGhpcy5wb3BwZXIsdGhpcy5yZWZlcmVuY2UpLGUucGxhY2VtZW50PXYodGhpcy5vcHRpb25zLnBsYWNlbWVudCxlLm9mZnNldHMucmVmZXJlbmNlLHRoaXMucG9wcGVyLHRoaXMucmVmZXJlbmNlLHRoaXMub3B0aW9ucy5tb2RpZmllcnMuZmxpcC5ib3VuZGFyaWVzRWxlbWVudCx0aGlzLm9wdGlvbnMubW9kaWZpZXJzLmZsaXAucGFkZGluZyksZS5vcmlnaW5hbFBsYWNlbWVudD1lLnBsYWNlbWVudCxlLm9mZnNldHMucG9wcGVyPVModGhpcy5wb3BwZXIsZS5vZmZzZXRzLnJlZmVyZW5jZSxlLnBsYWNlbWVudCksZS5vZmZzZXRzLnBvcHBlci5wb3NpdGlvbj0nYWJzb2x1dGUnLGU9Qyh0aGlzLm1vZGlmaWVycyxlKSx0aGlzLnN0YXRlLmlzQ3JlYXRlZD90aGlzLm9wdGlvbnMub25VcGRhdGUoZSk6KHRoaXMuc3RhdGUuaXNDcmVhdGVkPSEwLHRoaXMub3B0aW9ucy5vbkNyZWF0ZShlKSl9fWZ1bmN0aW9uIGsoZSx0KXtyZXR1cm4gZS5zb21lKGZ1bmN0aW9uKGUpe3ZhciBvPWUubmFtZSxpPWUuZW5hYmxlZDtyZXR1cm4gaSYmbz09PXR9KX1mdW5jdGlvbiBXKGUpe2Zvcih2YXIgdD1bITEsJ21zJywnV2Via2l0JywnTW96JywnTyddLG89ZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStlLnNsaWNlKDEpLG49MDtuPHQubGVuZ3RoLTE7bisrKXt2YXIgaT10W25dLHI9aT8nJytpK286ZTtpZigndW5kZWZpbmVkJyE9dHlwZW9mIGRvY3VtZW50LmJvZHkuc3R5bGVbcl0pcmV0dXJuIHJ9cmV0dXJuIG51bGx9ZnVuY3Rpb24gUCgpe3JldHVybiB0aGlzLnN0YXRlLmlzRGVzdHJveWVkPSEwLGsodGhpcy5tb2RpZmllcnMsJ2FwcGx5U3R5bGUnKSYmKHRoaXMucG9wcGVyLnJlbW92ZUF0dHJpYnV0ZSgneC1wbGFjZW1lbnQnKSx0aGlzLnBvcHBlci5zdHlsZS5sZWZ0PScnLHRoaXMucG9wcGVyLnN0eWxlLnBvc2l0aW9uPScnLHRoaXMucG9wcGVyLnN0eWxlLnRvcD0nJyx0aGlzLnBvcHBlci5zdHlsZVtXKCd0cmFuc2Zvcm0nKV09JycpLHRoaXMuZGlzYWJsZUV2ZW50TGlzdGVuZXJzKCksdGhpcy5vcHRpb25zLnJlbW92ZU9uRGVzdHJveSYmdGhpcy5wb3BwZXIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnBvcHBlciksdGhpc31mdW5jdGlvbiBCKGUpe3ZhciB0PWUub3duZXJEb2N1bWVudDtyZXR1cm4gdD90LmRlZmF1bHRWaWV3OndpbmRvd31mdW5jdGlvbiBIKGUsdCxvLGkpe3ZhciByPSdCT0RZJz09PWUubm9kZU5hbWUscD1yP2Uub3duZXJEb2N1bWVudC5kZWZhdWx0VmlldzplO3AuYWRkRXZlbnRMaXN0ZW5lcih0LG8se3Bhc3NpdmU6ITB9KSxyfHxIKG4ocC5wYXJlbnROb2RlKSx0LG8saSksaS5wdXNoKHApfWZ1bmN0aW9uIEEoZSx0LG8saSl7by51cGRhdGVCb3VuZD1pLEIoZSkuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJyxvLnVwZGF0ZUJvdW5kLHtwYXNzaXZlOiEwfSk7dmFyIHI9bihlKTtyZXR1cm4gSChyLCdzY3JvbGwnLG8udXBkYXRlQm91bmQsby5zY3JvbGxQYXJlbnRzKSxvLnNjcm9sbEVsZW1lbnQ9cixvLmV2ZW50c0VuYWJsZWQ9ITAsb31mdW5jdGlvbiBJKCl7dGhpcy5zdGF0ZS5ldmVudHNFbmFibGVkfHwodGhpcy5zdGF0ZT1BKHRoaXMucmVmZXJlbmNlLHRoaXMub3B0aW9ucyx0aGlzLnN0YXRlLHRoaXMuc2NoZWR1bGVVcGRhdGUpKX1mdW5jdGlvbiBNKGUsdCl7cmV0dXJuIEIoZSkucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJyx0LnVwZGF0ZUJvdW5kKSx0LnNjcm9sbFBhcmVudHMuZm9yRWFjaChmdW5jdGlvbihlKXtlLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsdC51cGRhdGVCb3VuZCl9KSx0LnVwZGF0ZUJvdW5kPW51bGwsdC5zY3JvbGxQYXJlbnRzPVtdLHQuc2Nyb2xsRWxlbWVudD1udWxsLHQuZXZlbnRzRW5hYmxlZD0hMSx0fWZ1bmN0aW9uIFIoKXt0aGlzLnN0YXRlLmV2ZW50c0VuYWJsZWQmJihjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLnNjaGVkdWxlVXBkYXRlKSx0aGlzLnN0YXRlPU0odGhpcy5yZWZlcmVuY2UsdGhpcy5zdGF0ZSkpfWZ1bmN0aW9uIFUoZSl7cmV0dXJuJychPT1lJiYhaXNOYU4ocGFyc2VGbG9hdChlKSkmJmlzRmluaXRlKGUpfWZ1bmN0aW9uIFkoZSx0KXtPYmplY3Qua2V5cyh0KS5mb3JFYWNoKGZ1bmN0aW9uKG8pe3ZhciBpPScnOy0xIT09Wyd3aWR0aCcsJ2hlaWdodCcsJ3RvcCcsJ3JpZ2h0JywnYm90dG9tJywnbGVmdCddLmluZGV4T2YobykmJlUodFtvXSkmJihpPSdweCcpLGUuc3R5bGVbb109dFtvXStpfSl9ZnVuY3Rpb24gaihlLHQpe09iamVjdC5rZXlzKHQpLmZvckVhY2goZnVuY3Rpb24obyl7dmFyIGk9dFtvXTshMT09PWk/ZS5yZW1vdmVBdHRyaWJ1dGUobyk6ZS5zZXRBdHRyaWJ1dGUobyx0W29dKX0pfWZ1bmN0aW9uIEYoZSx0LG8pe3ZhciBpPVQoZSxmdW5jdGlvbihlKXt2YXIgbz1lLm5hbWU7cmV0dXJuIG89PT10fSksbj0hIWkmJmUuc29tZShmdW5jdGlvbihlKXtyZXR1cm4gZS5uYW1lPT09byYmZS5lbmFibGVkJiZlLm9yZGVyPGkub3JkZXJ9KTtpZighbil7dmFyIHI9J2AnK3QrJ2AnO2NvbnNvbGUud2FybignYCcrbysnYCcrJyBtb2RpZmllciBpcyByZXF1aXJlZCBieSAnK3IrJyBtb2RpZmllciBpbiBvcmRlciB0byB3b3JrLCBiZSBzdXJlIHRvIGluY2x1ZGUgaXQgYmVmb3JlICcrcisnIScpfXJldHVybiBufWZ1bmN0aW9uIEsoZSl7cmV0dXJuJ2VuZCc9PT1lPydzdGFydCc6J3N0YXJ0Jz09PWU/J2VuZCc6ZX1mdW5jdGlvbiBxKGUpe3ZhciB0PTE8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzFdJiZhcmd1bWVudHNbMV0sbz1hZS5pbmRleE9mKGUpLGk9YWUuc2xpY2UobysxKS5jb25jYXQoYWUuc2xpY2UoMCxvKSk7cmV0dXJuIHQ/aS5yZXZlcnNlKCk6aX1mdW5jdGlvbiBWKGUsdCxvLGkpe3ZhciBuPWUubWF0Y2goLygoPzpcXC18XFwrKT9cXGQqXFwuP1xcZCopKC4qKS8pLHI9K25bMV0scD1uWzJdO2lmKCFyKXJldHVybiBlO2lmKDA9PT1wLmluZGV4T2YoJyUnKSl7dmFyIHM7c3dpdGNoKHApe2Nhc2UnJXAnOnM9bzticmVhaztjYXNlJyUnOmNhc2UnJXInOmRlZmF1bHQ6cz1pO312YXIgZD1jKHMpO3JldHVybiBkW3RdLzEwMCpyfWlmKCd2aCc9PT1wfHwndncnPT09cCl7dmFyIGE7cmV0dXJuIGE9J3ZoJz09PXA/Sihkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0LHdpbmRvdy5pbm5lckhlaWdodHx8MCk6Sihkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgsd2luZG93LmlubmVyV2lkdGh8fDApLGEvMTAwKnJ9cmV0dXJuIHJ9ZnVuY3Rpb24geihlLHQsbyxpKXt2YXIgbj1bMCwwXSxyPS0xIT09WydyaWdodCcsJ2xlZnQnXS5pbmRleE9mKGkpLHA9ZS5zcGxpdCgvKFxcK3xcXC0pLykubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlLnRyaW0oKX0pLHM9cC5pbmRleE9mKFQocCxmdW5jdGlvbihlKXtyZXR1cm4tMSE9PWUuc2VhcmNoKC8sfFxccy8pfSkpO3Bbc10mJi0xPT09cFtzXS5pbmRleE9mKCcsJykmJmNvbnNvbGUud2FybignT2Zmc2V0cyBzZXBhcmF0ZWQgYnkgd2hpdGUgc3BhY2UocykgYXJlIGRlcHJlY2F0ZWQsIHVzZSBhIGNvbW1hICgsKSBpbnN0ZWFkLicpO3ZhciBkPS9cXHMqLFxccyp8XFxzKy8sYT0tMT09PXM/W3BdOltwLnNsaWNlKDAscykuY29uY2F0KFtwW3NdLnNwbGl0KGQpWzBdXSksW3Bbc10uc3BsaXQoZClbMV1dLmNvbmNhdChwLnNsaWNlKHMrMSkpXTtyZXR1cm4gYT1hLm1hcChmdW5jdGlvbihlLGkpe3ZhciBuPSgxPT09aT8hcjpyKT8naGVpZ2h0Jzond2lkdGgnLHA9ITE7cmV0dXJuIGUucmVkdWNlKGZ1bmN0aW9uKGUsdCl7cmV0dXJuJyc9PT1lW2UubGVuZ3RoLTFdJiYtMSE9PVsnKycsJy0nXS5pbmRleE9mKHQpPyhlW2UubGVuZ3RoLTFdPXQscD0hMCxlKTpwPyhlW2UubGVuZ3RoLTFdKz10LHA9ITEsZSk6ZS5jb25jYXQodCl9LFtdKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIFYoZSxuLHQsbyl9KX0pLGEuZm9yRWFjaChmdW5jdGlvbihlLHQpe2UuZm9yRWFjaChmdW5jdGlvbihvLGkpe1UobykmJihuW3RdKz1vKignLSc9PT1lW2ktMV0/LTE6MSkpfSl9KSxufWZ1bmN0aW9uIEcoZSx0KXt2YXIgbyxpPXQub2Zmc2V0LG49ZS5wbGFjZW1lbnQscj1lLm9mZnNldHMscD1yLnBvcHBlcixzPXIucmVmZXJlbmNlLGQ9bi5zcGxpdCgnLScpWzBdO3JldHVybiBvPVUoK2kpP1sraSwwXTp6KGkscCxzLGQpLCdsZWZ0Jz09PWQ/KHAudG9wKz1vWzBdLHAubGVmdC09b1sxXSk6J3JpZ2h0Jz09PWQ/KHAudG9wKz1vWzBdLHAubGVmdCs9b1sxXSk6J3RvcCc9PT1kPyhwLmxlZnQrPW9bMF0scC50b3AtPW9bMV0pOidib3R0b20nPT09ZCYmKHAubGVmdCs9b1swXSxwLnRvcCs9b1sxXSksZS5wb3BwZXI9cCxlfWZvcih2YXIgXz1NYXRoLm1pbixYPU1hdGguZmxvb3IsSj1NYXRoLm1heCxRPSd1bmRlZmluZWQnIT10eXBlb2Ygd2luZG93JiYndW5kZWZpbmVkJyE9dHlwZW9mIGRvY3VtZW50LFo9WydFZGdlJywnVHJpZGVudCcsJ0ZpcmVmb3gnXSwkPTAsZWU9MDtlZTxaLmxlbmd0aDtlZSs9MSlpZihRJiYwPD1uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoWltlZV0pKXskPTE7YnJlYWt9dmFyIGksdGU9USYmd2luZG93LlByb21pc2Usb2U9dGU/ZnVuY3Rpb24oZSl7dmFyIHQ9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7dHx8KHQ9ITAsd2luZG93LlByb21pc2UucmVzb2x2ZSgpLnRoZW4oZnVuY3Rpb24oKXt0PSExLGUoKX0pKX19OmZ1bmN0aW9uKGUpe3ZhciB0PSExO3JldHVybiBmdW5jdGlvbigpe3R8fCh0PSEwLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0PSExLGUoKX0sJCkpfX0saWU9ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwPT1pJiYoaT0tMSE9PW5hdmlnYXRvci5hcHBWZXJzaW9uLmluZGV4T2YoJ01TSUUgMTAnKSksaX0sbmU9ZnVuY3Rpb24oZSx0KXtpZighKGUgaW5zdGFuY2VvZiB0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCdDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24nKX0scmU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUsdCl7Zm9yKHZhciBvLG49MDtuPHQubGVuZ3RoO24rKylvPXRbbl0sby5lbnVtZXJhYmxlPW8uZW51bWVyYWJsZXx8ITEsby5jb25maWd1cmFibGU9ITAsJ3ZhbHVlJ2luIG8mJihvLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxvLmtleSxvKX1yZXR1cm4gZnVuY3Rpb24odCxvLGkpe3JldHVybiBvJiZlKHQucHJvdG90eXBlLG8pLGkmJmUodCxpKSx0fX0oKSxwZT1mdW5jdGlvbihlLHQsbyl7cmV0dXJuIHQgaW4gZT9PYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHt2YWx1ZTpvLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6ZVt0XT1vLGV9LHNlPU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxvPTE7bzxhcmd1bWVudHMubGVuZ3RoO28rKylmb3IodmFyIGkgaW4gdD1hcmd1bWVudHNbb10sdClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxpKSYmKGVbaV09dFtpXSk7cmV0dXJuIGV9LGRlPVsnYXV0by1zdGFydCcsJ2F1dG8nLCdhdXRvLWVuZCcsJ3RvcC1zdGFydCcsJ3RvcCcsJ3RvcC1lbmQnLCdyaWdodC1zdGFydCcsJ3JpZ2h0JywncmlnaHQtZW5kJywnYm90dG9tLWVuZCcsJ2JvdHRvbScsJ2JvdHRvbS1zdGFydCcsJ2xlZnQtZW5kJywnbGVmdCcsJ2xlZnQtc3RhcnQnXSxhZT1kZS5zbGljZSgzKSxsZT17RkxJUDonZmxpcCcsQ0xPQ0tXSVNFOidjbG9ja3dpc2UnLENPVU5URVJDTE9DS1dJU0U6J2NvdW50ZXJjbG9ja3dpc2UnfSxmZT1mdW5jdGlvbigpe2Z1bmN0aW9uIHQobyxpKXt2YXIgbj10aGlzLHI9Mjxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOnt9O25lKHRoaXMsdCksdGhpcy5zY2hlZHVsZVVwZGF0ZT1mdW5jdGlvbigpe3JldHVybiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUobi51cGRhdGUpfSx0aGlzLnVwZGF0ZT1vZSh0aGlzLnVwZGF0ZS5iaW5kKHRoaXMpKSx0aGlzLm9wdGlvbnM9c2Uoe30sdC5EZWZhdWx0cyxyKSx0aGlzLnN0YXRlPXtpc0Rlc3Ryb3llZDohMSxpc0NyZWF0ZWQ6ITEsc2Nyb2xsUGFyZW50czpbXX0sdGhpcy5yZWZlcmVuY2U9byYmby5qcXVlcnk/b1swXTpvLHRoaXMucG9wcGVyPWkmJmkuanF1ZXJ5P2lbMF06aSx0aGlzLm9wdGlvbnMubW9kaWZpZXJzPXt9LE9iamVjdC5rZXlzKHNlKHt9LHQuRGVmYXVsdHMubW9kaWZpZXJzLHIubW9kaWZpZXJzKSkuZm9yRWFjaChmdW5jdGlvbihlKXtuLm9wdGlvbnMubW9kaWZpZXJzW2VdPXNlKHt9LHQuRGVmYXVsdHMubW9kaWZpZXJzW2VdfHx7fSxyLm1vZGlmaWVycz9yLm1vZGlmaWVyc1tlXTp7fSl9KSx0aGlzLm1vZGlmaWVycz1PYmplY3Qua2V5cyh0aGlzLm9wdGlvbnMubW9kaWZpZXJzKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIHNlKHtuYW1lOmV9LG4ub3B0aW9ucy5tb2RpZmllcnNbZV0pfSkuc29ydChmdW5jdGlvbihlLHQpe3JldHVybiBlLm9yZGVyLXQub3JkZXJ9KSx0aGlzLm1vZGlmaWVycy5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QuZW5hYmxlZCYmZSh0Lm9uTG9hZCkmJnQub25Mb2FkKG4ucmVmZXJlbmNlLG4ucG9wcGVyLG4ub3B0aW9ucyx0LG4uc3RhdGUpfSksdGhpcy51cGRhdGUoKTt2YXIgcD10aGlzLm9wdGlvbnMuZXZlbnRzRW5hYmxlZDtwJiZ0aGlzLmVuYWJsZUV2ZW50TGlzdGVuZXJzKCksdGhpcy5zdGF0ZS5ldmVudHNFbmFibGVkPXB9cmV0dXJuIHJlKHQsW3trZXk6J3VwZGF0ZScsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gTi5jYWxsKHRoaXMpfX0se2tleTonZGVzdHJveScsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gUC5jYWxsKHRoaXMpfX0se2tleTonZW5hYmxlRXZlbnRMaXN0ZW5lcnMnLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIEkuY2FsbCh0aGlzKX19LHtrZXk6J2Rpc2FibGVFdmVudExpc3RlbmVycycsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gUi5jYWxsKHRoaXMpfX1dKSx0fSgpO3JldHVybiBmZS5VdGlscz0oJ3VuZGVmaW5lZCc9PXR5cGVvZiB3aW5kb3c/Z2xvYmFsOndpbmRvdykuUG9wcGVyVXRpbHMsZmUucGxhY2VtZW50cz1kZSxmZS5EZWZhdWx0cz17cGxhY2VtZW50Oidib3R0b20nLGV2ZW50c0VuYWJsZWQ6ITAscmVtb3ZlT25EZXN0cm95OiExLG9uQ3JlYXRlOmZ1bmN0aW9uKCl7fSxvblVwZGF0ZTpmdW5jdGlvbigpe30sbW9kaWZpZXJzOntzaGlmdDp7b3JkZXI6MTAwLGVuYWJsZWQ6ITAsZm46ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wbGFjZW1lbnQsbz10LnNwbGl0KCctJylbMF0saT10LnNwbGl0KCctJylbMV07aWYoaSl7dmFyIG49ZS5vZmZzZXRzLHI9bi5yZWZlcmVuY2UscD1uLnBvcHBlcixzPS0xIT09Wydib3R0b20nLCd0b3AnXS5pbmRleE9mKG8pLGQ9cz8nbGVmdCc6J3RvcCcsYT1zPyd3aWR0aCc6J2hlaWdodCcsbD17c3RhcnQ6cGUoe30sZCxyW2RdKSxlbmQ6cGUoe30sZCxyW2RdK3JbYV0tcFthXSl9O2Uub2Zmc2V0cy5wb3BwZXI9c2Uoe30scCxsW2ldKX1yZXR1cm4gZX19LG9mZnNldDp7b3JkZXI6MjAwLGVuYWJsZWQ6ITAsZm46RyxvZmZzZXQ6MH0scHJldmVudE92ZXJmbG93OntvcmRlcjozMDAsZW5hYmxlZDohMCxmbjpmdW5jdGlvbihlLHQpe3ZhciBvPXQuYm91bmRhcmllc0VsZW1lbnR8fHIoZS5pbnN0YW5jZS5wb3BwZXIpO2UuaW5zdGFuY2UucmVmZXJlbmNlPT09byYmKG89cihvKSk7dmFyIGk9eShlLmluc3RhbmNlLnBvcHBlcixlLmluc3RhbmNlLnJlZmVyZW5jZSx0LnBhZGRpbmcsbyk7dC5ib3VuZGFyaWVzPWk7dmFyIG49dC5wcmlvcml0eSxwPWUub2Zmc2V0cy5wb3BwZXIscz17cHJpbWFyeTpmdW5jdGlvbihlKXt2YXIgbz1wW2VdO3JldHVybiBwW2VdPGlbZV0mJiF0LmVzY2FwZVdpdGhSZWZlcmVuY2UmJihvPUoocFtlXSxpW2VdKSkscGUoe30sZSxvKX0sc2Vjb25kYXJ5OmZ1bmN0aW9uKGUpe3ZhciBvPSdyaWdodCc9PT1lPydsZWZ0JzondG9wJyxuPXBbb107cmV0dXJuIHBbZV0+aVtlXSYmIXQuZXNjYXBlV2l0aFJlZmVyZW5jZSYmKG49XyhwW29dLGlbZV0tKCdyaWdodCc9PT1lP3Aud2lkdGg6cC5oZWlnaHQpKSkscGUoe30sbyxuKX19O3JldHVybiBuLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIHQ9LTE9PT1bJ2xlZnQnLCd0b3AnXS5pbmRleE9mKGUpPydzZWNvbmRhcnknOidwcmltYXJ5JztwPXNlKHt9LHAsc1t0XShlKSl9KSxlLm9mZnNldHMucG9wcGVyPXAsZX0scHJpb3JpdHk6WydsZWZ0JywncmlnaHQnLCd0b3AnLCdib3R0b20nXSxwYWRkaW5nOjUsYm91bmRhcmllc0VsZW1lbnQ6J3Njcm9sbFBhcmVudCd9LGtlZXBUb2dldGhlcjp7b3JkZXI6NDAwLGVuYWJsZWQ6ITAsZm46ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5vZmZzZXRzLG89dC5wb3BwZXIsaT10LnJlZmVyZW5jZSxuPWUucGxhY2VtZW50LnNwbGl0KCctJylbMF0scj1YLHA9LTEhPT1bJ3RvcCcsJ2JvdHRvbSddLmluZGV4T2Yobikscz1wPydyaWdodCc6J2JvdHRvbScsZD1wPydsZWZ0JzondG9wJyxhPXA/J3dpZHRoJzonaGVpZ2h0JztyZXR1cm4gb1tzXTxyKGlbZF0pJiYoZS5vZmZzZXRzLnBvcHBlcltkXT1yKGlbZF0pLW9bYV0pLG9bZF0+cihpW3NdKSYmKGUub2Zmc2V0cy5wb3BwZXJbZF09cihpW3NdKSksZX19LGFycm93OntvcmRlcjo1MDAsZW5hYmxlZDohMCxmbjpmdW5jdGlvbihlLG8pe3ZhciBpO2lmKCFGKGUuaW5zdGFuY2UubW9kaWZpZXJzLCdhcnJvdycsJ2tlZXBUb2dldGhlcicpKXJldHVybiBlO3ZhciBuPW8uZWxlbWVudDtpZignc3RyaW5nJz09dHlwZW9mIG4pe2lmKG49ZS5pbnN0YW5jZS5wb3BwZXIucXVlcnlTZWxlY3RvcihuKSwhbilyZXR1cm4gZTt9ZWxzZSBpZighZS5pbnN0YW5jZS5wb3BwZXIuY29udGFpbnMobikpcmV0dXJuIGNvbnNvbGUud2FybignV0FSTklORzogYGFycm93LmVsZW1lbnRgIG11c3QgYmUgY2hpbGQgb2YgaXRzIHBvcHBlciBlbGVtZW50IScpLGU7dmFyIHI9ZS5wbGFjZW1lbnQuc3BsaXQoJy0nKVswXSxwPWUub2Zmc2V0cyxzPXAucG9wcGVyLGQ9cC5yZWZlcmVuY2UsYT0tMSE9PVsnbGVmdCcsJ3JpZ2h0J10uaW5kZXhPZihyKSxsPWE/J2hlaWdodCc6J3dpZHRoJyxmPWE/J1RvcCc6J0xlZnQnLG09Zi50b0xvd2VyQ2FzZSgpLGg9YT8nbGVmdCc6J3RvcCcsZz1hPydib3R0b20nOidyaWdodCcsdT1MKG4pW2xdO2RbZ10tdTxzW21dJiYoZS5vZmZzZXRzLnBvcHBlclttXS09c1ttXS0oZFtnXS11KSksZFttXSt1PnNbZ10mJihlLm9mZnNldHMucG9wcGVyW21dKz1kW21dK3Utc1tnXSksZS5vZmZzZXRzLnBvcHBlcj1jKGUub2Zmc2V0cy5wb3BwZXIpO3ZhciBiPWRbbV0rZFtsXS8yLXUvMix3PXQoZS5pbnN0YW5jZS5wb3BwZXIpLHk9cGFyc2VGbG9hdCh3WydtYXJnaW4nK2ZdLDEwKSxFPXBhcnNlRmxvYXQod1snYm9yZGVyJytmKydXaWR0aCddLDEwKSx2PWItZS5vZmZzZXRzLnBvcHBlclttXS15LUU7cmV0dXJuIHY9SihfKHNbbF0tdSx2KSwwKSxlLmFycm93RWxlbWVudD1uLGUub2Zmc2V0cy5hcnJvdz0oaT17fSxwZShpLG0sTWF0aC5yb3VuZCh2KSkscGUoaSxoLCcnKSxpKSxlfSxlbGVtZW50OidbeC1hcnJvd10nfSxmbGlwOntvcmRlcjo2MDAsZW5hYmxlZDohMCxmbjpmdW5jdGlvbihlLHQpe2lmKGsoZS5pbnN0YW5jZS5tb2RpZmllcnMsJ2lubmVyJykpcmV0dXJuIGU7aWYoZS5mbGlwcGVkJiZlLnBsYWNlbWVudD09PWUub3JpZ2luYWxQbGFjZW1lbnQpcmV0dXJuIGU7dmFyIG89eShlLmluc3RhbmNlLnBvcHBlcixlLmluc3RhbmNlLnJlZmVyZW5jZSx0LnBhZGRpbmcsdC5ib3VuZGFyaWVzRWxlbWVudCksaT1lLnBsYWNlbWVudC5zcGxpdCgnLScpWzBdLG49eChpKSxyPWUucGxhY2VtZW50LnNwbGl0KCctJylbMV18fCcnLHA9W107c3dpdGNoKHQuYmVoYXZpb3Ipe2Nhc2UgbGUuRkxJUDpwPVtpLG5dO2JyZWFrO2Nhc2UgbGUuQ0xPQ0tXSVNFOnA9cShpKTticmVhaztjYXNlIGxlLkNPVU5URVJDTE9DS1dJU0U6cD1xKGksITApO2JyZWFrO2RlZmF1bHQ6cD10LmJlaGF2aW9yO31yZXR1cm4gcC5mb3JFYWNoKGZ1bmN0aW9uKHMsZCl7aWYoaSE9PXN8fHAubGVuZ3RoPT09ZCsxKXJldHVybiBlO2k9ZS5wbGFjZW1lbnQuc3BsaXQoJy0nKVswXSxuPXgoaSk7dmFyIGE9ZS5vZmZzZXRzLnBvcHBlcixsPWUub2Zmc2V0cy5yZWZlcmVuY2UsZj1YLG09J2xlZnQnPT09aSYmZihhLnJpZ2h0KT5mKGwubGVmdCl8fCdyaWdodCc9PT1pJiZmKGEubGVmdCk8ZihsLnJpZ2h0KXx8J3RvcCc9PT1pJiZmKGEuYm90dG9tKT5mKGwudG9wKXx8J2JvdHRvbSc9PT1pJiZmKGEudG9wKTxmKGwuYm90dG9tKSxoPWYoYS5sZWZ0KTxmKG8ubGVmdCksYz1mKGEucmlnaHQpPmYoby5yaWdodCksZz1mKGEudG9wKTxmKG8udG9wKSx1PWYoYS5ib3R0b20pPmYoby5ib3R0b20pLGI9J2xlZnQnPT09aSYmaHx8J3JpZ2h0Jz09PWkmJmN8fCd0b3AnPT09aSYmZ3x8J2JvdHRvbSc9PT1pJiZ1LHc9LTEhPT1bJ3RvcCcsJ2JvdHRvbSddLmluZGV4T2YoaSkseT0hIXQuZmxpcFZhcmlhdGlvbnMmJih3JiYnc3RhcnQnPT09ciYmaHx8dyYmJ2VuZCc9PT1yJiZjfHwhdyYmJ3N0YXJ0Jz09PXImJmd8fCF3JiYnZW5kJz09PXImJnUpOyhtfHxifHx5KSYmKGUuZmxpcHBlZD0hMCwobXx8YikmJihpPXBbZCsxXSkseSYmKHI9SyhyKSksZS5wbGFjZW1lbnQ9aSsocj8nLScrcjonJyksZS5vZmZzZXRzLnBvcHBlcj1zZSh7fSxlLm9mZnNldHMucG9wcGVyLFMoZS5pbnN0YW5jZS5wb3BwZXIsZS5vZmZzZXRzLnJlZmVyZW5jZSxlLnBsYWNlbWVudCkpLGU9QyhlLmluc3RhbmNlLm1vZGlmaWVycyxlLCdmbGlwJykpfSksZX0sYmVoYXZpb3I6J2ZsaXAnLHBhZGRpbmc6NSxib3VuZGFyaWVzRWxlbWVudDondmlld3BvcnQnfSxpbm5lcjp7b3JkZXI6NzAwLGVuYWJsZWQ6ITEsZm46ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wbGFjZW1lbnQsbz10LnNwbGl0KCctJylbMF0saT1lLm9mZnNldHMsbj1pLnBvcHBlcixyPWkucmVmZXJlbmNlLHA9LTEhPT1bJ2xlZnQnLCdyaWdodCddLmluZGV4T2Yobykscz0tMT09PVsndG9wJywnbGVmdCddLmluZGV4T2Yobyk7cmV0dXJuIG5bcD8nbGVmdCc6J3RvcCddPXJbb10tKHM/bltwPyd3aWR0aCc6J2hlaWdodCddOjApLGUucGxhY2VtZW50PXgodCksZS5vZmZzZXRzLnBvcHBlcj1jKG4pLGV9fSxoaWRlOntvcmRlcjo4MDAsZW5hYmxlZDohMCxmbjpmdW5jdGlvbihlKXtpZighRihlLmluc3RhbmNlLm1vZGlmaWVycywnaGlkZScsJ3ByZXZlbnRPdmVyZmxvdycpKXJldHVybiBlO3ZhciB0PWUub2Zmc2V0cy5yZWZlcmVuY2Usbz1UKGUuaW5zdGFuY2UubW9kaWZpZXJzLGZ1bmN0aW9uKGUpe3JldHVybidwcmV2ZW50T3ZlcmZsb3cnPT09ZS5uYW1lfSkuYm91bmRhcmllcztpZih0LmJvdHRvbTxvLnRvcHx8dC5sZWZ0Pm8ucmlnaHR8fHQudG9wPm8uYm90dG9tfHx0LnJpZ2h0PG8ubGVmdCl7aWYoITA9PT1lLmhpZGUpcmV0dXJuIGU7ZS5oaWRlPSEwLGUuYXR0cmlidXRlc1sneC1vdXQtb2YtYm91bmRhcmllcyddPScnfWVsc2V7aWYoITE9PT1lLmhpZGUpcmV0dXJuIGU7ZS5oaWRlPSExLGUuYXR0cmlidXRlc1sneC1vdXQtb2YtYm91bmRhcmllcyddPSExfXJldHVybiBlfX0sY29tcHV0ZVN0eWxlOntvcmRlcjo4NTAsZW5hYmxlZDohMCxmbjpmdW5jdGlvbihlLHQpe3ZhciBvPXQueCxpPXQueSxuPWUub2Zmc2V0cy5wb3BwZXIscD1UKGUuaW5zdGFuY2UubW9kaWZpZXJzLGZ1bmN0aW9uKGUpe3JldHVybidhcHBseVN0eWxlJz09PWUubmFtZX0pLmdwdUFjY2VsZXJhdGlvbjt2b2lkIDAhPT1wJiZjb25zb2xlLndhcm4oJ1dBUk5JTkc6IGBncHVBY2NlbGVyYXRpb25gIG9wdGlvbiBtb3ZlZCB0byBgY29tcHV0ZVN0eWxlYCBtb2RpZmllciBhbmQgd2lsbCBub3QgYmUgc3VwcG9ydGVkIGluIGZ1dHVyZSB2ZXJzaW9ucyBvZiBQb3BwZXIuanMhJyk7dmFyIHMsZCxhPXZvaWQgMD09PXA/dC5ncHVBY2NlbGVyYXRpb246cCxsPXIoZS5pbnN0YW5jZS5wb3BwZXIpLGY9ZyhsKSxtPXtwb3NpdGlvbjpuLnBvc2l0aW9ufSxoPXtsZWZ0Olgobi5sZWZ0KSx0b3A6WChuLnRvcCksYm90dG9tOlgobi5ib3R0b20pLHJpZ2h0Olgobi5yaWdodCl9LGM9J2JvdHRvbSc9PT1vPyd0b3AnOidib3R0b20nLHU9J3JpZ2h0Jz09PWk/J2xlZnQnOidyaWdodCcsYj1XKCd0cmFuc2Zvcm0nKTtpZihkPSdib3R0b20nPT1jPy1mLmhlaWdodCtoLmJvdHRvbTpoLnRvcCxzPSdyaWdodCc9PXU/LWYud2lkdGgraC5yaWdodDpoLmxlZnQsYSYmYiltW2JdPSd0cmFuc2xhdGUzZCgnK3MrJ3B4LCAnK2QrJ3B4LCAwKScsbVtjXT0wLG1bdV09MCxtLndpbGxDaGFuZ2U9J3RyYW5zZm9ybSc7ZWxzZXt2YXIgdz0nYm90dG9tJz09Yz8tMToxLHk9J3JpZ2h0Jz09dT8tMToxO21bY109ZCp3LG1bdV09cyp5LG0ud2lsbENoYW5nZT1jKycsICcrdX12YXIgRT17XCJ4LXBsYWNlbWVudFwiOmUucGxhY2VtZW50fTtyZXR1cm4gZS5hdHRyaWJ1dGVzPXNlKHt9LEUsZS5hdHRyaWJ1dGVzKSxlLnN0eWxlcz1zZSh7fSxtLGUuc3R5bGVzKSxlLmFycm93U3R5bGVzPXNlKHt9LGUub2Zmc2V0cy5hcnJvdyxlLmFycm93U3R5bGVzKSxlfSxncHVBY2NlbGVyYXRpb246ITAseDonYm90dG9tJyx5OidyaWdodCd9LGFwcGx5U3R5bGU6e29yZGVyOjkwMCxlbmFibGVkOiEwLGZuOmZ1bmN0aW9uKGUpe3JldHVybiBZKGUuaW5zdGFuY2UucG9wcGVyLGUuc3R5bGVzKSxqKGUuaW5zdGFuY2UucG9wcGVyLGUuYXR0cmlidXRlcyksZS5hcnJvd0VsZW1lbnQmJk9iamVjdC5rZXlzKGUuYXJyb3dTdHlsZXMpLmxlbmd0aCYmWShlLmFycm93RWxlbWVudCxlLmFycm93U3R5bGVzKSxlfSxvbkxvYWQ6ZnVuY3Rpb24oZSx0LG8saSxuKXt2YXIgcj1PKG4sdCxlKSxwPXYoby5wbGFjZW1lbnQscix0LGUsby5tb2RpZmllcnMuZmxpcC5ib3VuZGFyaWVzRWxlbWVudCxvLm1vZGlmaWVycy5mbGlwLnBhZGRpbmcpO3JldHVybiB0LnNldEF0dHJpYnV0ZSgneC1wbGFjZW1lbnQnLHApLFkodCx7cG9zaXRpb246J2Fic29sdXRlJ30pLG99LGdwdUFjY2VsZXJhdGlvbjp2b2lkIDB9fX0sZmV9KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBvcHBlci5taW4uanMubWFwXG4ifSwgImhlYWRlcnNTaXplIjogMCwgImJvZHlTaXplIjogNjgwNSwgInJlZGlyZWN0VVJMIjogIiIsICJfdHJhbnNmZXJTaXplIjogNjgwNX0sICJjYWNoZSI6IHt9LCAidGltaW5ncyI6IHsiZG5zIjogMjYuMzQ3LCAiY29ubmVjdCI6IDE3Ljc2NSwgInNzbCI6IDE3Ljc2NSwgInNlbmQiOiAwLCAid2FpdCI6IDIxLjk1LCAicmVjZWl2ZSI6IDUuN30sICJwYWdlcmVmIjogInBhZ2VAMmU3YWNlOTU1YTY3NzNlY2ZkMmU5OGVmMmZkY2I3MDQiLCAic2VydmVySVBBZGRyZXNzIjogIlsyNjA2OjQ3MDA6OjY4MTE6MTgwZV0iLCAiX3NlcnZlclBvcnQiOiA0NDMsICJfc2VjdXJpdHlEZXRhaWxzIjogeyJwcm90b2NvbCI6ICJRVUlDIiwgInN1YmplY3ROYW1lIjogImNkbmpzLmNsb3VkZmxhcmUuY29tIiwgImlzc3VlciI6ICJXRTEiLCAidmFsaWRGcm9tIjogMTcyMjM5OTM3MCwgInZhbGlkVG8iOiAxNzMwMTc1MzY5fX0sIHsic3RhcnRlZERhdGVUaW1lIjogIjIwMjQtMDgtMDFUMTI6MzM6MDAuNjQ0WiIsICJ0aW1lIjogOTkuMzAwMDAwMDAwMDAwMDEsICJyZXF1ZXN0IjogeyJtZXRob2QiOiAiR0VUIiwgInVybCI6ICJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC80LjAuMC9qcy9ib290c3RyYXAubWluLmpzIiwgImh0dHBWZXJzaW9uIjogImgzIiwgImNvb2tpZXMiOiBbXSwgImhlYWRlcnMiOiBbeyJuYW1lIjogIjphdXRob3JpdHkiLCAidmFsdWUiOiAibWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20ifSwgeyJuYW1lIjogIjptZXRob2QiLCAidmFsdWUiOiAiR0VUIn0sIHsibmFtZSI6ICI6cGF0aCIsICJ2YWx1ZSI6ICIvYm9vdHN0cmFwLzQuMC4wL2pzL2Jvb3RzdHJhcC5taW4uanMifSwgeyJuYW1lIjogIjpzY2hlbWUiLCAidmFsdWUiOiAiaHR0cHMifSwgeyJuYW1lIjogImFjY2VwdCIsICJ2YWx1ZSI6ICIqLyoifSwgeyJuYW1lIjogImFjY2VwdC1lbmNvZGluZyIsICJ2YWx1ZSI6ICJnemlwLCBkZWZsYXRlLCBiciwgenN0ZCJ9LCB7Im5hbWUiOiAiYWNjZXB0LWxhbmd1YWdlIiwgInZhbHVlIjogImVuLVVTLGVuO3E9MC45In0sIHsibmFtZSI6ICJpbnRlcnZlbnRpb24iLCAidmFsdWUiOiAiPGh0dHBzOi8vd3d3LmNocm9tZXN0YXR1cy5jb20vZmVhdHVyZS81NzE4NTQ3OTQ2Nzk5MTA0PjsgbGV2ZWw9XCJ3YXJuaW5nXCIifSwgeyJuYW1lIjogIm9yaWdpbiIsICJ2YWx1ZSI6ICJodHRwczovL3B1Yi0yZWE3YzYzOWI0YTE0YjkyYTUwZTM0OGY5OWIzMzI5My5yMi5kZXYifSwgeyJuYW1lIjogInByaW9yaXR5IiwgInZhbHVlIjogInU9MSJ9LCB7Im5hbWUiOiAicmVmZXJlciIsICJ2YWx1ZSI6ICJodHRwczovL3B1Yi0yZWE3YzYzOWI0YTE0YjkyYTUwZTM0OGY5OWIzMzI5My5yMi5kZXYvIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEiLCAidmFsdWUiOiAiXCJDaHJvbWl1bVwiO3Y9XCIxMjdcIiwgXCJOb3QpQTtCcmFuZFwiO3Y9XCI5OVwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtbW9iaWxlIiwgInZhbHVlIjogIj8wIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtcGxhdGZvcm0iLCAidmFsdWUiOiAiXCJXaW5kb3dzXCIifSwgeyJuYW1lIjogInNlYy1mZXRjaC1kZXN0IiwgInZhbHVlIjogInNjcmlwdCJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLW1vZGUiLCAidmFsdWUiOiAiY29ycyJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLXNpdGUiLCAidmFsdWUiOiAiY3Jvc3Mtc2l0ZSJ9LCB7Im5hbWUiOiAidXNlci1hZ2VudCIsICJ2YWx1ZSI6ICJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTI3LjAuNjUzMy4xNyBTYWZhcmkvNTM3LjM2In1dLCAicXVlcnlTdHJpbmciOiBbXSwgImhlYWRlcnNTaXplIjogNzg3LCAiYm9keVNpemUiOiAwfSwgInJlc3BvbnNlIjogeyJzdGF0dXMiOiAyMDAsICJzdGF0dXNUZXh0IjogIiIsICJodHRwVmVyc2lvbiI6ICJoMyIsICJjb29raWVzIjogW10sICJoZWFkZXJzIjogW3sibmFtZSI6ICJhY2Nlc3MtY29udHJvbC1hbGxvdy1vcmlnaW4iLCAidmFsdWUiOiAiKiJ9LCB7Im5hbWUiOiAiYWdlIiwgInZhbHVlIjogIjEwMzI3MiJ9LCB7Im5hbWUiOiAiYWx0LXN2YyIsICJ2YWx1ZSI6ICJoMz1cIjo0NDNcIjsgbWE9ODY0MDAifSwgeyJuYW1lIjogImNhY2hlLWNvbnRyb2wiLCAidmFsdWUiOiAicHVibGljLCBtYXgtYWdlPTMxOTE5MDAwIn0sIHsibmFtZSI6ICJjZG4tY2FjaGUiLCAidmFsdWUiOiAiSElUIn0sIHsibmFtZSI6ICJjZG4tY2FjaGVkYXQiLCAidmFsdWUiOiAiMDMvMTgvMjAyNCAxMjo0NjozNiJ9LCB7Im5hbWUiOiAiY2RuLWVkZ2VzdG9yYWdlaWQiLCAidmFsdWUiOiAiMTA0OCJ9LCB7Im5hbWUiOiAiY2RuLXByb3h5dmVyIiwgInZhbHVlIjogIjEuMDQifSwgeyJuYW1lIjogImNkbi1wdWxsem9uZSIsICJ2YWx1ZSI6ICIyNTI0MTIifSwgeyJuYW1lIjogImNkbi1yZXF1ZXN0Y291bnRyeWNvZGUiLCAidmFsdWUiOiAiREUifSwgeyJuYW1lIjogImNkbi1yZXF1ZXN0aWQiLCAidmFsdWUiOiAiZWY2MmQwMjg5MzVmYzQ5YmMzZTQ4OWEwNGJmYzVlNWUifSwgeyJuYW1lIjogImNkbi1yZXF1ZXN0cHVsbGNvZGUiLCAidmFsdWUiOiAiMjAwIn0sIHsibmFtZSI6ICJjZG4tcmVxdWVzdHB1bGxzdWNjZXNzIiwgInZhbHVlIjogIlRydWUifSwgeyJuYW1lIjogImNkbi1zdGF0dXMiLCAidmFsdWUiOiAiMjAwIn0sIHsibmFtZSI6ICJjZG4tdWlkIiwgInZhbHVlIjogImIxOTQxZjYxLWI1NzYtNGY0MC04MGRlLTU2NzdhY2IzOGY3NCJ9LCB7Im5hbWUiOiAiY2YtY2FjaGUtc3RhdHVzIiwgInZhbHVlIjogIkhJVCJ9LCB7Im5hbWUiOiAiY2YtcmF5IiwgInZhbHVlIjogIjhhYzVkYWFiNmJlNDliZjQtRlJBIn0sIHsibmFtZSI6ICJjb250ZW50LWVuY29kaW5nIiwgInZhbHVlIjogImJyIn0sIHsibmFtZSI6ICJjb250ZW50LXR5cGUiLCAidmFsdWUiOiAiYXBwbGljYXRpb24vamF2YXNjcmlwdDsgY2hhcnNldD11dGYtOCJ9LCB7Im5hbWUiOiAiY3Jvc3Mtb3JpZ2luLXJlc291cmNlLXBvbGljeSIsICJ2YWx1ZSI6ICJjcm9zcy1vcmlnaW4ifSwgeyJuYW1lIjogImRhdGUiLCAidmFsdWUiOiAiVGh1LCAwMSBBdWcgMjAyNCAxMjozMzowMCBHTVQifSwgeyJuYW1lIjogImV0YWciLCAidmFsdWUiOiAiVy9cIjE0ZDQ0OWViODg3NmZhNTVlMWVmM2MyY2M1MmIwYzE3XCIifSwgeyJuYW1lIjogImxhc3QtbW9kaWZpZWQiLCAidmFsdWUiOiAiTW9uLCAyNSBKYW4gMjAyMSAyMjowNDowNCBHTVQifSwgeyJuYW1lIjogInNlcnZlciIsICJ2YWx1ZSI6ICJjbG91ZGZsYXJlIn0sIHsibmFtZSI6ICJzdHJpY3QtdHJhbnNwb3J0LXNlY3VyaXR5IiwgInZhbHVlIjogIm1heC1hZ2U9MzE1MzYwMDA7IGluY2x1ZGVTdWJEb21haW5zOyBwcmVsb2FkIn0sIHsibmFtZSI6ICJ0aW1pbmctYWxsb3ctb3JpZ2luIiwgInZhbHVlIjogIioifSwgeyJuYW1lIjogInZhcnkiLCAidmFsdWUiOiAiQWNjZXB0LUVuY29kaW5nIn0sIHsibmFtZSI6ICJ4LWNvbnRlbnQtdHlwZS1vcHRpb25zIiwgInZhbHVlIjogIm5vc25pZmYifV0sICJjb250ZW50IjogeyJzaXplIjogNDg5NDQsICJtaW1lVHlwZSI6ICJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0OyBjaGFyc2V0PXV0Zi04IiwgImNvbXByZXNzaW9uIjogMzM5NDgsICJ0ZXh0IjogIi8qIVxuICAqIEJvb3RzdHJhcCB2NC4wLjAgKGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbSlcbiAgKiBDb3B5cmlnaHQgMjAxMS0yMDE4IFRoZSBCb290c3RyYXAgQXV0aG9ycyAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2dyYXBocy9jb250cmlidXRvcnMpXG4gICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSlcbiAgKi9cbiFmdW5jdGlvbih0LGUpe1wib2JqZWN0XCI9PXR5cGVvZiBleHBvcnRzJiZcInVuZGVmaW5lZFwiIT10eXBlb2YgbW9kdWxlP2UoZXhwb3J0cyxyZXF1aXJlKFwianF1ZXJ5XCIpLHJlcXVpcmUoXCJwb3BwZXIuanNcIikpOlwiZnVuY3Rpb25cIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoW1wiZXhwb3J0c1wiLFwianF1ZXJ5XCIsXCJwb3BwZXIuanNcIl0sZSk6ZSh0LmJvb3RzdHJhcD17fSx0LmpRdWVyeSx0LlBvcHBlcil9KHRoaXMsZnVuY3Rpb24odCxlLG4pe1widXNlIHN0cmljdFwiO2Z1bmN0aW9uIGkodCxlKXtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIGk9ZVtuXTtpLmVudW1lcmFibGU9aS5lbnVtZXJhYmxlfHwhMSxpLmNvbmZpZ3VyYWJsZT0hMCxcInZhbHVlXCJpbiBpJiYoaS53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsaS5rZXksaSl9fWZ1bmN0aW9uIHModCxlLG4pe3JldHVybiBlJiZpKHQucHJvdG90eXBlLGUpLG4mJmkodCxuKSx0fWZ1bmN0aW9uIHIoKXtyZXR1cm4ocj1PYmplY3QuYXNzaWdufHxmdW5jdGlvbih0KXtmb3IodmFyIGU9MTtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXt2YXIgbj1hcmd1bWVudHNbZV07Zm9yKHZhciBpIGluIG4pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4saSkmJih0W2ldPW5baV0pfXJldHVybiB0fSkuYXBwbHkodGhpcyxhcmd1bWVudHMpfWU9ZSYmZS5oYXNPd25Qcm9wZXJ0eShcImRlZmF1bHRcIik/ZS5kZWZhdWx0OmUsbj1uJiZuLmhhc093blByb3BlcnR5KFwiZGVmYXVsdFwiKT9uLmRlZmF1bHQ6bjt2YXIgbyxhLGwsaCxjLHUsZixkLF8sZyxwLG0sdixFLFQseSxDLEksQSxiLEQsUyx3LE4sTyxrLFA9ZnVuY3Rpb24odCl7dmFyIGU9ITE7ZnVuY3Rpb24gbihlKXt2YXIgbj10aGlzLHM9ITE7cmV0dXJuIHQodGhpcykub25lKGkuVFJBTlNJVElPTl9FTkQsZnVuY3Rpb24oKXtzPSEwfSksc2V0VGltZW91dChmdW5jdGlvbigpe3N8fGkudHJpZ2dlclRyYW5zaXRpb25FbmQobil9LGUpLHRoaXN9dmFyIGk9e1RSQU5TSVRJT05fRU5EOlwiYnNUcmFuc2l0aW9uRW5kXCIsZ2V0VUlEOmZ1bmN0aW9uKHQpe2Rve3QrPX5+KDFlNipNYXRoLnJhbmRvbSgpKX13aGlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0KSk7cmV0dXJuIHR9LGdldFNlbGVjdG9yRnJvbUVsZW1lbnQ6ZnVuY3Rpb24oZSl7dmFyIG4saT1lLmdldEF0dHJpYnV0ZShcImRhdGEtdGFyZ2V0XCIpO2kmJlwiI1wiIT09aXx8KGk9ZS5nZXRBdHRyaWJ1dGUoXCJocmVmXCIpfHxcIlwiKSxcIiNcIj09PWkuY2hhckF0KDApJiYobj1pLGk9bj1cImZ1bmN0aW9uXCI9PXR5cGVvZiB0LmVzY2FwZVNlbGVjdG9yP3QuZXNjYXBlU2VsZWN0b3Iobikuc3Vic3RyKDEpOm4ucmVwbGFjZSgvKDp8XFwufFxcW3xcXF18LHw9fEApL2csXCJcXFxcJDFcIikpO3RyeXtyZXR1cm4gdChkb2N1bWVudCkuZmluZChpKS5sZW5ndGg+MD9pOm51bGx9Y2F0Y2godCl7cmV0dXJuIG51bGx9fSxyZWZsb3c6ZnVuY3Rpb24odCl7cmV0dXJuIHQub2Zmc2V0SGVpZ2h0fSx0cmlnZ2VyVHJhbnNpdGlvbkVuZDpmdW5jdGlvbihuKXt0KG4pLnRyaWdnZXIoZS5lbmQpfSxzdXBwb3J0c1RyYW5zaXRpb25FbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gQm9vbGVhbihlKX0saXNFbGVtZW50OmZ1bmN0aW9uKHQpe3JldHVybih0WzBdfHx0KS5ub2RlVHlwZX0sdHlwZUNoZWNrQ29uZmlnOmZ1bmN0aW9uKHQsZSxuKXtmb3IodmFyIHMgaW4gbilpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobixzKSl7dmFyIHI9bltzXSxvPWVbc10sYT1vJiZpLmlzRWxlbWVudChvKT9cImVsZW1lbnRcIjoobD1vLHt9LnRvU3RyaW5nLmNhbGwobCkubWF0Y2goL1xccyhbYS16QS1aXSspLylbMV0udG9Mb3dlckNhc2UoKSk7aWYoIW5ldyBSZWdFeHAocikudGVzdChhKSl0aHJvdyBuZXcgRXJyb3IodC50b1VwcGVyQ2FzZSgpKyc6IE9wdGlvbiBcIicrcysnXCIgcHJvdmlkZWQgdHlwZSBcIicrYSsnXCIgYnV0IGV4cGVjdGVkIHR5cGUgXCInK3IrJ1wiLicpfXZhciBsfX07cmV0dXJuIGU9KFwidW5kZWZpbmVkXCI9PXR5cGVvZiB3aW5kb3d8fCF3aW5kb3cuUVVuaXQpJiZ7ZW5kOlwidHJhbnNpdGlvbmVuZFwifSx0LmZuLmVtdWxhdGVUcmFuc2l0aW9uRW5kPW4saS5zdXBwb3J0c1RyYW5zaXRpb25FbmQoKSYmKHQuZXZlbnQuc3BlY2lhbFtpLlRSQU5TSVRJT05fRU5EXT17YmluZFR5cGU6ZS5lbmQsZGVsZWdhdGVUeXBlOmUuZW5kLGhhbmRsZTpmdW5jdGlvbihlKXtpZih0KGUudGFyZ2V0KS5pcyh0aGlzKSlyZXR1cm4gZS5oYW5kbGVPYmouaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSksaX0oZSksTD0oYT1cImFsZXJ0XCIsaD1cIi5cIisobD1cImJzLmFsZXJ0XCIpLGM9KG89ZSkuZm5bYV0sdT17Q0xPU0U6XCJjbG9zZVwiK2gsQ0xPU0VEOlwiY2xvc2VkXCIraCxDTElDS19EQVRBX0FQSTpcImNsaWNrXCIraCtcIi5kYXRhLWFwaVwifSxmPVwiYWxlcnRcIixkPVwiZmFkZVwiLF89XCJzaG93XCIsZz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy5fZWxlbWVudD10fXZhciBlPXQucHJvdG90eXBlO3JldHVybiBlLmNsb3NlPWZ1bmN0aW9uKHQpe3Q9dHx8dGhpcy5fZWxlbWVudDt2YXIgZT10aGlzLl9nZXRSb290RWxlbWVudCh0KTt0aGlzLl90cmlnZ2VyQ2xvc2VFdmVudChlKS5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8dGhpcy5fcmVtb3ZlRWxlbWVudChlKX0sZS5kaXNwb3NlPWZ1bmN0aW9uKCl7by5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsbCksdGhpcy5fZWxlbWVudD1udWxsfSxlLl9nZXRSb290RWxlbWVudD1mdW5jdGlvbih0KXt2YXIgZT1QLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQodCksbj0hMTtyZXR1cm4gZSYmKG49byhlKVswXSksbnx8KG49byh0KS5jbG9zZXN0KFwiLlwiK2YpWzBdKSxufSxlLl90cmlnZ2VyQ2xvc2VFdmVudD1mdW5jdGlvbih0KXt2YXIgZT1vLkV2ZW50KHUuQ0xPU0UpO3JldHVybiBvKHQpLnRyaWdnZXIoZSksZX0sZS5fcmVtb3ZlRWxlbWVudD1mdW5jdGlvbih0KXt2YXIgZT10aGlzO28odCkucmVtb3ZlQ2xhc3MoXyksUC5zdXBwb3J0c1RyYW5zaXRpb25FbmQoKSYmbyh0KS5oYXNDbGFzcyhkKT9vKHQpLm9uZShQLlRSQU5TSVRJT05fRU5ELGZ1bmN0aW9uKG4pe3JldHVybiBlLl9kZXN0cm95RWxlbWVudCh0LG4pfSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoMTUwKTp0aGlzLl9kZXN0cm95RWxlbWVudCh0KX0sZS5fZGVzdHJveUVsZW1lbnQ9ZnVuY3Rpb24odCl7byh0KS5kZXRhY2goKS50cmlnZ2VyKHUuQ0xPU0VEKS5yZW1vdmUoKX0sdC5falF1ZXJ5SW50ZXJmYWNlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgbj1vKHRoaXMpLGk9bi5kYXRhKGwpO2l8fChpPW5ldyB0KHRoaXMpLG4uZGF0YShsLGkpKSxcImNsb3NlXCI9PT1lJiZpW2VdKHRoaXMpfSl9LHQuX2hhbmRsZURpc21pc3M9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2UmJmUucHJldmVudERlZmF1bHQoKSx0LmNsb3NlKHRoaXMpfX0scyh0LG51bGwsW3trZXk6XCJWRVJTSU9OXCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuXCI0LjAuMFwifX1dKSx0fSgpLG8oZG9jdW1lbnQpLm9uKHUuQ0xJQ0tfREFUQV9BUEksJ1tkYXRhLWRpc21pc3M9XCJhbGVydFwiXScsZy5faGFuZGxlRGlzbWlzcyhuZXcgZykpLG8uZm5bYV09Zy5falF1ZXJ5SW50ZXJmYWNlLG8uZm5bYV0uQ29uc3RydWN0b3I9ZyxvLmZuW2FdLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gby5mblthXT1jLGcuX2pRdWVyeUludGVyZmFjZX0sZyksUj0obT1cImJ1dHRvblwiLEU9XCIuXCIrKHY9XCJicy5idXR0b25cIiksVD1cIi5kYXRhLWFwaVwiLHk9KHA9ZSkuZm5bbV0sQz1cImFjdGl2ZVwiLEk9XCJidG5cIixBPVwiZm9jdXNcIixiPSdbZGF0YS10b2dnbGVePVwiYnV0dG9uXCJdJyxEPSdbZGF0YS10b2dnbGU9XCJidXR0b25zXCJdJyxTPVwiaW5wdXRcIix3PVwiLmFjdGl2ZVwiLE49XCIuYnRuXCIsTz17Q0xJQ0tfREFUQV9BUEk6XCJjbGlja1wiK0UrVCxGT0NVU19CTFVSX0RBVEFfQVBJOlwiZm9jdXNcIitFK1QrXCIgYmx1clwiK0UrVH0saz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy5fZWxlbWVudD10fXZhciBlPXQucHJvdG90eXBlO3JldHVybiBlLnRvZ2dsZT1mdW5jdGlvbigpe3ZhciB0PSEwLGU9ITAsbj1wKHRoaXMuX2VsZW1lbnQpLmNsb3Nlc3QoRClbMF07aWYobil7dmFyIGk9cCh0aGlzLl9lbGVtZW50KS5maW5kKFMpWzBdO2lmKGkpe2lmKFwicmFkaW9cIj09PWkudHlwZSlpZihpLmNoZWNrZWQmJnAodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoQykpdD0hMTtlbHNle3ZhciBzPXAobikuZmluZCh3KVswXTtzJiZwKHMpLnJlbW92ZUNsYXNzKEMpfWlmKHQpe2lmKGkuaGFzQXR0cmlidXRlKFwiZGlzYWJsZWRcIil8fG4uaGFzQXR0cmlidXRlKFwiZGlzYWJsZWRcIil8fGkuY2xhc3NMaXN0LmNvbnRhaW5zKFwiZGlzYWJsZWRcIil8fG4uY2xhc3NMaXN0LmNvbnRhaW5zKFwiZGlzYWJsZWRcIikpcmV0dXJuO2kuY2hlY2tlZD0hcCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhDKSxwKGkpLnRyaWdnZXIoXCJjaGFuZ2VcIil9aS5mb2N1cygpLGU9ITF9fWUmJnRoaXMuX2VsZW1lbnQuc2V0QXR0cmlidXRlKFwiYXJpYS1wcmVzc2VkXCIsIXAodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoQykpLHQmJnAodGhpcy5fZWxlbWVudCkudG9nZ2xlQ2xhc3MoQyl9LGUuZGlzcG9zZT1mdW5jdGlvbigpe3AucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LHYpLHRoaXMuX2VsZW1lbnQ9bnVsbH0sdC5falF1ZXJ5SW50ZXJmYWNlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgbj1wKHRoaXMpLmRhdGEodik7bnx8KG49bmV3IHQodGhpcykscCh0aGlzKS5kYXRhKHYsbikpLFwidG9nZ2xlXCI9PT1lJiZuW2VdKCl9KX0scyh0LG51bGwsW3trZXk6XCJWRVJTSU9OXCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuXCI0LjAuMFwifX1dKSx0fSgpLHAoZG9jdW1lbnQpLm9uKE8uQ0xJQ0tfREFUQV9BUEksYixmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCk7dmFyIGU9dC50YXJnZXQ7cChlKS5oYXNDbGFzcyhJKXx8KGU9cChlKS5jbG9zZXN0KE4pKSxrLl9qUXVlcnlJbnRlcmZhY2UuY2FsbChwKGUpLFwidG9nZ2xlXCIpfSkub24oTy5GT0NVU19CTFVSX0RBVEFfQVBJLGIsZnVuY3Rpb24odCl7dmFyIGU9cCh0LnRhcmdldCkuY2xvc2VzdChOKVswXTtwKGUpLnRvZ2dsZUNsYXNzKEEsL15mb2N1cyhpbik/JC8udGVzdCh0LnR5cGUpKX0pLHAuZm5bbV09ay5falF1ZXJ5SW50ZXJmYWNlLHAuZm5bbV0uQ29uc3RydWN0b3I9ayxwLmZuW21dLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gcC5mblttXT15LGsuX2pRdWVyeUludGVyZmFjZX0sayksaj1mdW5jdGlvbih0KXt2YXIgZT1cImNhcm91c2VsXCIsbj1cImJzLmNhcm91c2VsXCIsaT1cIi5cIituLG89dC5mbltlXSxhPXtpbnRlcnZhbDo1ZTMsa2V5Ym9hcmQ6ITAsc2xpZGU6ITEscGF1c2U6XCJob3ZlclwiLHdyYXA6ITB9LGw9e2ludGVydmFsOlwiKG51bWJlcnxib29sZWFuKVwiLGtleWJvYXJkOlwiYm9vbGVhblwiLHNsaWRlOlwiKGJvb2xlYW58c3RyaW5nKVwiLHBhdXNlOlwiKHN0cmluZ3xib29sZWFuKVwiLHdyYXA6XCJib29sZWFuXCJ9LGg9XCJuZXh0XCIsYz1cInByZXZcIix1PVwibGVmdFwiLGY9XCJyaWdodFwiLGQ9e1NMSURFOlwic2xpZGVcIitpLFNMSUQ6XCJzbGlkXCIraSxLRVlET1dOOlwia2V5ZG93blwiK2ksTU9VU0VFTlRFUjpcIm1vdXNlZW50ZXJcIitpLE1PVVNFTEVBVkU6XCJtb3VzZWxlYXZlXCIraSxUT1VDSEVORDpcInRvdWNoZW5kXCIraSxMT0FEX0RBVEFfQVBJOlwibG9hZFwiK2krXCIuZGF0YS1hcGlcIixDTElDS19EQVRBX0FQSTpcImNsaWNrXCIraStcIi5kYXRhLWFwaVwifSxfPVwiY2Fyb3VzZWxcIixnPVwiYWN0aXZlXCIscD1cInNsaWRlXCIsbT1cImNhcm91c2VsLWl0ZW0tcmlnaHRcIix2PVwiY2Fyb3VzZWwtaXRlbS1sZWZ0XCIsRT1cImNhcm91c2VsLWl0ZW0tbmV4dFwiLFQ9XCJjYXJvdXNlbC1pdGVtLXByZXZcIix5PXtBQ1RJVkU6XCIuYWN0aXZlXCIsQUNUSVZFX0lURU06XCIuYWN0aXZlLmNhcm91c2VsLWl0ZW1cIixJVEVNOlwiLmNhcm91c2VsLWl0ZW1cIixORVhUX1BSRVY6XCIuY2Fyb3VzZWwtaXRlbS1uZXh0LCAuY2Fyb3VzZWwtaXRlbS1wcmV2XCIsSU5ESUNBVE9SUzpcIi5jYXJvdXNlbC1pbmRpY2F0b3JzXCIsREFUQV9TTElERTpcIltkYXRhLXNsaWRlXSwgW2RhdGEtc2xpZGUtdG9dXCIsREFUQV9SSURFOidbZGF0YS1yaWRlPVwiY2Fyb3VzZWxcIl0nfSxDPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbyhlLG4pe3RoaXMuX2l0ZW1zPW51bGwsdGhpcy5faW50ZXJ2YWw9bnVsbCx0aGlzLl9hY3RpdmVFbGVtZW50PW51bGwsdGhpcy5faXNQYXVzZWQ9ITEsdGhpcy5faXNTbGlkaW5nPSExLHRoaXMudG91Y2hUaW1lb3V0PW51bGwsdGhpcy5fY29uZmlnPXRoaXMuX2dldENvbmZpZyhuKSx0aGlzLl9lbGVtZW50PXQoZSlbMF0sdGhpcy5faW5kaWNhdG9yc0VsZW1lbnQ9dCh0aGlzLl9lbGVtZW50KS5maW5kKHkuSU5ESUNBVE9SUylbMF0sdGhpcy5fYWRkRXZlbnRMaXN0ZW5lcnMoKX12YXIgQz1vLnByb3RvdHlwZTtyZXR1cm4gQy5uZXh0PWZ1bmN0aW9uKCl7dGhpcy5faXNTbGlkaW5nfHx0aGlzLl9zbGlkZShoKX0sQy5uZXh0V2hlblZpc2libGU9ZnVuY3Rpb24oKXshZG9jdW1lbnQuaGlkZGVuJiZ0KHRoaXMuX2VsZW1lbnQpLmlzKFwiOnZpc2libGVcIikmJlwiaGlkZGVuXCIhPT10KHRoaXMuX2VsZW1lbnQpLmNzcyhcInZpc2liaWxpdHlcIikmJnRoaXMubmV4dCgpfSxDLnByZXY9ZnVuY3Rpb24oKXt0aGlzLl9pc1NsaWRpbmd8fHRoaXMuX3NsaWRlKGMpfSxDLnBhdXNlPWZ1bmN0aW9uKGUpe2V8fCh0aGlzLl9pc1BhdXNlZD0hMCksdCh0aGlzLl9lbGVtZW50KS5maW5kKHkuTkVYVF9QUkVWKVswXSYmUC5zdXBwb3J0c1RyYW5zaXRpb25FbmQoKSYmKFAudHJpZ2dlclRyYW5zaXRpb25FbmQodGhpcy5fZWxlbWVudCksdGhpcy5jeWNsZSghMCkpLGNsZWFySW50ZXJ2YWwodGhpcy5faW50ZXJ2YWwpLHRoaXMuX2ludGVydmFsPW51bGx9LEMuY3ljbGU9ZnVuY3Rpb24odCl7dHx8KHRoaXMuX2lzUGF1c2VkPSExKSx0aGlzLl9pbnRlcnZhbCYmKGNsZWFySW50ZXJ2YWwodGhpcy5faW50ZXJ2YWwpLHRoaXMuX2ludGVydmFsPW51bGwpLHRoaXMuX2NvbmZpZy5pbnRlcnZhbCYmIXRoaXMuX2lzUGF1c2VkJiYodGhpcy5faW50ZXJ2YWw9c2V0SW50ZXJ2YWwoKGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT90aGlzLm5leHRXaGVuVmlzaWJsZTp0aGlzLm5leHQpLmJpbmQodGhpcyksdGhpcy5fY29uZmlnLmludGVydmFsKSl9LEMudG89ZnVuY3Rpb24oZSl7dmFyIG49dGhpczt0aGlzLl9hY3RpdmVFbGVtZW50PXQodGhpcy5fZWxlbWVudCkuZmluZCh5LkFDVElWRV9JVEVNKVswXTt2YXIgaT10aGlzLl9nZXRJdGVtSW5kZXgodGhpcy5fYWN0aXZlRWxlbWVudCk7aWYoIShlPnRoaXMuX2l0ZW1zLmxlbmd0aC0xfHxlPDApKWlmKHRoaXMuX2lzU2xpZGluZyl0KHRoaXMuX2VsZW1lbnQpLm9uZShkLlNMSUQsZnVuY3Rpb24oKXtyZXR1cm4gbi50byhlKX0pO2Vsc2V7aWYoaT09PWUpcmV0dXJuIHRoaXMucGF1c2UoKSx2b2lkIHRoaXMuY3ljbGUoKTt2YXIgcz1lPmk/aDpjO3RoaXMuX3NsaWRlKHMsdGhpcy5faXRlbXNbZV0pfX0sQy5kaXNwb3NlPWZ1bmN0aW9uKCl7dCh0aGlzLl9lbGVtZW50KS5vZmYoaSksdC5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsbiksdGhpcy5faXRlbXM9bnVsbCx0aGlzLl9jb25maWc9bnVsbCx0aGlzLl9lbGVtZW50PW51bGwsdGhpcy5faW50ZXJ2YWw9bnVsbCx0aGlzLl9pc1BhdXNlZD1udWxsLHRoaXMuX2lzU2xpZGluZz1udWxsLHRoaXMuX2FjdGl2ZUVsZW1lbnQ9bnVsbCx0aGlzLl9pbmRpY2F0b3JzRWxlbWVudD1udWxsfSxDLl9nZXRDb25maWc9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9cih7fSxhLHQpLFAudHlwZUNoZWNrQ29uZmlnKGUsdCxsKSx0fSxDLl9hZGRFdmVudExpc3RlbmVycz1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5fY29uZmlnLmtleWJvYXJkJiZ0KHRoaXMuX2VsZW1lbnQpLm9uKGQuS0VZRE9XTixmdW5jdGlvbih0KXtyZXR1cm4gZS5fa2V5ZG93bih0KX0pLFwiaG92ZXJcIj09PXRoaXMuX2NvbmZpZy5wYXVzZSYmKHQodGhpcy5fZWxlbWVudCkub24oZC5NT1VTRUVOVEVSLGZ1bmN0aW9uKHQpe3JldHVybiBlLnBhdXNlKHQpfSkub24oZC5NT1VTRUxFQVZFLGZ1bmN0aW9uKHQpe3JldHVybiBlLmN5Y2xlKHQpfSksXCJvbnRvdWNoc3RhcnRcImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmdCh0aGlzLl9lbGVtZW50KS5vbihkLlRPVUNIRU5ELGZ1bmN0aW9uKCl7ZS5wYXVzZSgpLGUudG91Y2hUaW1lb3V0JiZjbGVhclRpbWVvdXQoZS50b3VjaFRpbWVvdXQpLGUudG91Y2hUaW1lb3V0PXNldFRpbWVvdXQoZnVuY3Rpb24odCl7cmV0dXJuIGUuY3ljbGUodCl9LDUwMCtlLl9jb25maWcuaW50ZXJ2YWwpfSkpfSxDLl9rZXlkb3duPWZ1bmN0aW9uKHQpe2lmKCEvaW5wdXR8dGV4dGFyZWEvaS50ZXN0KHQudGFyZ2V0LnRhZ05hbWUpKXN3aXRjaCh0LndoaWNoKXtjYXNlIDM3OnQucHJldmVudERlZmF1bHQoKSx0aGlzLnByZXYoKTticmVhaztjYXNlIDM5OnQucHJldmVudERlZmF1bHQoKSx0aGlzLm5leHQoKX19LEMuX2dldEl0ZW1JbmRleD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5faXRlbXM9dC5tYWtlQXJyYXkodChlKS5wYXJlbnQoKS5maW5kKHkuSVRFTSkpLHRoaXMuX2l0ZW1zLmluZGV4T2YoZSl9LEMuX2dldEl0ZW1CeURpcmVjdGlvbj1mdW5jdGlvbih0LGUpe3ZhciBuPXQ9PT1oLGk9dD09PWMscz10aGlzLl9nZXRJdGVtSW5kZXgoZSkscj10aGlzLl9pdGVtcy5sZW5ndGgtMTtpZigoaSYmMD09PXN8fG4mJnM9PT1yKSYmIXRoaXMuX2NvbmZpZy53cmFwKXJldHVybiBlO3ZhciBvPShzKyh0PT09Yz8tMToxKSkldGhpcy5faXRlbXMubGVuZ3RoO3JldHVybi0xPT09bz90aGlzLl9pdGVtc1t0aGlzLl9pdGVtcy5sZW5ndGgtMV06dGhpcy5faXRlbXNbb119LEMuX3RyaWdnZXJTbGlkZUV2ZW50PWZ1bmN0aW9uKGUsbil7dmFyIGk9dGhpcy5fZ2V0SXRlbUluZGV4KGUpLHM9dGhpcy5fZ2V0SXRlbUluZGV4KHQodGhpcy5fZWxlbWVudCkuZmluZCh5LkFDVElWRV9JVEVNKVswXSkscj10LkV2ZW50KGQuU0xJREUse3JlbGF0ZWRUYXJnZXQ6ZSxkaXJlY3Rpb246bixmcm9tOnMsdG86aX0pO3JldHVybiB0KHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIocikscn0sQy5fc2V0QWN0aXZlSW5kaWNhdG9yRWxlbWVudD1mdW5jdGlvbihlKXtpZih0aGlzLl9pbmRpY2F0b3JzRWxlbWVudCl7dCh0aGlzLl9pbmRpY2F0b3JzRWxlbWVudCkuZmluZCh5LkFDVElWRSkucmVtb3ZlQ2xhc3MoZyk7dmFyIG49dGhpcy5faW5kaWNhdG9yc0VsZW1lbnQuY2hpbGRyZW5bdGhpcy5fZ2V0SXRlbUluZGV4KGUpXTtuJiZ0KG4pLmFkZENsYXNzKGcpfX0sQy5fc2xpZGU9ZnVuY3Rpb24oZSxuKXt2YXIgaSxzLHIsbz10aGlzLGE9dCh0aGlzLl9lbGVtZW50KS5maW5kKHkuQUNUSVZFX0lURU0pWzBdLGw9dGhpcy5fZ2V0SXRlbUluZGV4KGEpLGM9bnx8YSYmdGhpcy5fZ2V0SXRlbUJ5RGlyZWN0aW9uKGUsYSksXz10aGlzLl9nZXRJdGVtSW5kZXgoYyksQz1Cb29sZWFuKHRoaXMuX2ludGVydmFsKTtpZihlPT09aD8oaT12LHM9RSxyPXUpOihpPW0scz1ULHI9ZiksYyYmdChjKS5oYXNDbGFzcyhnKSl0aGlzLl9pc1NsaWRpbmc9ITE7ZWxzZSBpZighdGhpcy5fdHJpZ2dlclNsaWRlRXZlbnQoYyxyKS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmYSYmYyl7dGhpcy5faXNTbGlkaW5nPSEwLEMmJnRoaXMucGF1c2UoKSx0aGlzLl9zZXRBY3RpdmVJbmRpY2F0b3JFbGVtZW50KGMpO3ZhciBJPXQuRXZlbnQoZC5TTElELHtyZWxhdGVkVGFyZ2V0OmMsZGlyZWN0aW9uOnIsZnJvbTpsLHRvOl99KTtQLnN1cHBvcnRzVHJhbnNpdGlvbkVuZCgpJiZ0KHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKHApPyh0KGMpLmFkZENsYXNzKHMpLFAucmVmbG93KGMpLHQoYSkuYWRkQ2xhc3MoaSksdChjKS5hZGRDbGFzcyhpKSx0KGEpLm9uZShQLlRSQU5TSVRJT05fRU5ELGZ1bmN0aW9uKCl7dChjKS5yZW1vdmVDbGFzcyhpK1wiIFwiK3MpLmFkZENsYXNzKGcpLHQoYSkucmVtb3ZlQ2xhc3MoZytcIiBcIitzK1wiIFwiK2kpLG8uX2lzU2xpZGluZz0hMSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIHQoby5fZWxlbWVudCkudHJpZ2dlcihJKX0sMCl9KS5lbXVsYXRlVHJhbnNpdGlvbkVuZCg2MDApKToodChhKS5yZW1vdmVDbGFzcyhnKSx0KGMpLmFkZENsYXNzKGcpLHRoaXMuX2lzU2xpZGluZz0hMSx0KHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIoSSkpLEMmJnRoaXMuY3ljbGUoKX19LG8uX2pRdWVyeUludGVyZmFjZT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGk9dCh0aGlzKS5kYXRhKG4pLHM9cih7fSxhLHQodGhpcykuZGF0YSgpKTtcIm9iamVjdFwiPT10eXBlb2YgZSYmKHM9cih7fSxzLGUpKTt2YXIgbD1cInN0cmluZ1wiPT10eXBlb2YgZT9lOnMuc2xpZGU7aWYoaXx8KGk9bmV3IG8odGhpcyxzKSx0KHRoaXMpLmRhdGEobixpKSksXCJudW1iZXJcIj09dHlwZW9mIGUpaS50byhlKTtlbHNlIGlmKFwic3RyaW5nXCI9PXR5cGVvZiBsKXtpZihcInVuZGVmaW5lZFwiPT10eXBlb2YgaVtsXSl0aHJvdyBuZXcgVHlwZUVycm9yKCdObyBtZXRob2QgbmFtZWQgXCInK2wrJ1wiJyk7aVtsXSgpfWVsc2Ugcy5pbnRlcnZhbCYmKGkucGF1c2UoKSxpLmN5Y2xlKCkpfSl9LG8uX2RhdGFBcGlDbGlja0hhbmRsZXI9ZnVuY3Rpb24oZSl7dmFyIGk9UC5nZXRTZWxlY3RvckZyb21FbGVtZW50KHRoaXMpO2lmKGkpe3ZhciBzPXQoaSlbMF07aWYocyYmdChzKS5oYXNDbGFzcyhfKSl7dmFyIGE9cih7fSx0KHMpLmRhdGEoKSx0KHRoaXMpLmRhdGEoKSksbD10aGlzLmdldEF0dHJpYnV0ZShcImRhdGEtc2xpZGUtdG9cIik7bCYmKGEuaW50ZXJ2YWw9ITEpLG8uX2pRdWVyeUludGVyZmFjZS5jYWxsKHQocyksYSksbCYmdChzKS5kYXRhKG4pLnRvKGwpLGUucHJldmVudERlZmF1bHQoKX19fSxzKG8sbnVsbCxbe2tleTpcIlZFUlNJT05cIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5cIjQuMC4wXCJ9fSx7a2V5OlwiRGVmYXVsdFwiLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX1dKSxvfSgpO3JldHVybiB0KGRvY3VtZW50KS5vbihkLkNMSUNLX0RBVEFfQVBJLHkuREFUQV9TTElERSxDLl9kYXRhQXBpQ2xpY2tIYW5kbGVyKSx0KHdpbmRvdykub24oZC5MT0FEX0RBVEFfQVBJLGZ1bmN0aW9uKCl7dCh5LkRBVEFfUklERSkuZWFjaChmdW5jdGlvbigpe3ZhciBlPXQodGhpcyk7Qy5falF1ZXJ5SW50ZXJmYWNlLmNhbGwoZSxlLmRhdGEoKSl9KX0pLHQuZm5bZV09Qy5falF1ZXJ5SW50ZXJmYWNlLHQuZm5bZV0uQ29uc3RydWN0b3I9Qyx0LmZuW2VdLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdC5mbltlXT1vLEMuX2pRdWVyeUludGVyZmFjZX0sQ30oZSksSD1mdW5jdGlvbih0KXt2YXIgZT1cImNvbGxhcHNlXCIsbj1cImJzLmNvbGxhcHNlXCIsaT1cIi5cIituLG89dC5mbltlXSxhPXt0b2dnbGU6ITAscGFyZW50OlwiXCJ9LGw9e3RvZ2dsZTpcImJvb2xlYW5cIixwYXJlbnQ6XCIoc3RyaW5nfGVsZW1lbnQpXCJ9LGg9e1NIT1c6XCJzaG93XCIraSxTSE9XTjpcInNob3duXCIraSxISURFOlwiaGlkZVwiK2ksSElEREVOOlwiaGlkZGVuXCIraSxDTElDS19EQVRBX0FQSTpcImNsaWNrXCIraStcIi5kYXRhLWFwaVwifSxjPVwic2hvd1wiLHU9XCJjb2xsYXBzZVwiLGY9XCJjb2xsYXBzaW5nXCIsZD1cImNvbGxhcHNlZFwiLF89XCJ3aWR0aFwiLGc9XCJoZWlnaHRcIixwPXtBQ1RJVkVTOlwiLnNob3csIC5jb2xsYXBzaW5nXCIsREFUQV9UT0dHTEU6J1tkYXRhLXRvZ2dsZT1cImNvbGxhcHNlXCJdJ30sbT1mdW5jdGlvbigpe2Z1bmN0aW9uIGkoZSxuKXt0aGlzLl9pc1RyYW5zaXRpb25pbmc9ITEsdGhpcy5fZWxlbWVudD1lLHRoaXMuX2NvbmZpZz10aGlzLl9nZXRDb25maWcobiksdGhpcy5fdHJpZ2dlckFycmF5PXQubWFrZUFycmF5KHQoJ1tkYXRhLXRvZ2dsZT1cImNvbGxhcHNlXCJdW2hyZWY9XCIjJytlLmlkKydcIl0sW2RhdGEtdG9nZ2xlPVwiY29sbGFwc2VcIl1bZGF0YS10YXJnZXQ9XCIjJytlLmlkKydcIl0nKSk7Zm9yKHZhciBpPXQocC5EQVRBX1RPR0dMRSkscz0wO3M8aS5sZW5ndGg7cysrKXt2YXIgcj1pW3NdLG89UC5nZXRTZWxlY3RvckZyb21FbGVtZW50KHIpO251bGwhPT1vJiZ0KG8pLmZpbHRlcihlKS5sZW5ndGg+MCYmKHRoaXMuX3NlbGVjdG9yPW8sdGhpcy5fdHJpZ2dlckFycmF5LnB1c2gocikpfXRoaXMuX3BhcmVudD10aGlzLl9jb25maWcucGFyZW50P3RoaXMuX2dldFBhcmVudCgpOm51bGwsdGhpcy5fY29uZmlnLnBhcmVudHx8dGhpcy5fYWRkQXJpYUFuZENvbGxhcHNlZENsYXNzKHRoaXMuX2VsZW1lbnQsdGhpcy5fdHJpZ2dlckFycmF5KSx0aGlzLl9jb25maWcudG9nZ2xlJiZ0aGlzLnRvZ2dsZSgpfXZhciBvPWkucHJvdG90eXBlO3JldHVybiBvLnRvZ2dsZT1mdW5jdGlvbigpe3QodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoYyk/dGhpcy5oaWRlKCk6dGhpcy5zaG93KCl9LG8uc2hvdz1mdW5jdGlvbigpe3ZhciBlLHMscj10aGlzO2lmKCF0aGlzLl9pc1RyYW5zaXRpb25pbmcmJiF0KHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKGMpJiYodGhpcy5fcGFyZW50JiYwPT09KGU9dC5tYWtlQXJyYXkodCh0aGlzLl9wYXJlbnQpLmZpbmQocC5BQ1RJVkVTKS5maWx0ZXIoJ1tkYXRhLXBhcmVudD1cIicrdGhpcy5fY29uZmlnLnBhcmVudCsnXCJdJykpKS5sZW5ndGgmJihlPW51bGwpLCEoZSYmKHM9dChlKS5ub3QodGhpcy5fc2VsZWN0b3IpLmRhdGEobikpJiZzLl9pc1RyYW5zaXRpb25pbmcpKSl7dmFyIG89dC5FdmVudChoLlNIT1cpO2lmKHQodGhpcy5fZWxlbWVudCkudHJpZ2dlcihvKSwhby5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7ZSYmKGkuX2pRdWVyeUludGVyZmFjZS5jYWxsKHQoZSkubm90KHRoaXMuX3NlbGVjdG9yKSxcImhpZGVcIiksc3x8dChlKS5kYXRhKG4sbnVsbCkpO3ZhciBhPXRoaXMuX2dldERpbWVuc2lvbigpO3QodGhpcy5fZWxlbWVudCkucmVtb3ZlQ2xhc3ModSkuYWRkQ2xhc3MoZiksdGhpcy5fZWxlbWVudC5zdHlsZVthXT0wLHRoaXMuX3RyaWdnZXJBcnJheS5sZW5ndGg+MCYmdCh0aGlzLl90cmlnZ2VyQXJyYXkpLnJlbW92ZUNsYXNzKGQpLmF0dHIoXCJhcmlhLWV4cGFuZGVkXCIsITApLHRoaXMuc2V0VHJhbnNpdGlvbmluZyghMCk7dmFyIGw9ZnVuY3Rpb24oKXt0KHIuX2VsZW1lbnQpLnJlbW92ZUNsYXNzKGYpLmFkZENsYXNzKHUpLmFkZENsYXNzKGMpLHIuX2VsZW1lbnQuc3R5bGVbYV09XCJcIixyLnNldFRyYW5zaXRpb25pbmcoITEpLHQoci5fZWxlbWVudCkudHJpZ2dlcihoLlNIT1dOKX07aWYoUC5zdXBwb3J0c1RyYW5zaXRpb25FbmQoKSl7dmFyIF89XCJzY3JvbGxcIisoYVswXS50b1VwcGVyQ2FzZSgpK2Euc2xpY2UoMSkpO3QodGhpcy5fZWxlbWVudCkub25lKFAuVFJBTlNJVElPTl9FTkQsbCkuZW11bGF0ZVRyYW5zaXRpb25FbmQoNjAwKSx0aGlzLl9lbGVtZW50LnN0eWxlW2FdPXRoaXMuX2VsZW1lbnRbX10rXCJweFwifWVsc2UgbCgpfX19LG8uaGlkZT1mdW5jdGlvbigpe3ZhciBlPXRoaXM7aWYoIXRoaXMuX2lzVHJhbnNpdGlvbmluZyYmdCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhjKSl7dmFyIG49dC5FdmVudChoLkhJREUpO2lmKHQodGhpcy5fZWxlbWVudCkudHJpZ2dlcihuKSwhbi5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7dmFyIGk9dGhpcy5fZ2V0RGltZW5zaW9uKCk7aWYodGhpcy5fZWxlbWVudC5zdHlsZVtpXT10aGlzLl9lbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpW2ldK1wicHhcIixQLnJlZmxvdyh0aGlzLl9lbGVtZW50KSx0KHRoaXMuX2VsZW1lbnQpLmFkZENsYXNzKGYpLnJlbW92ZUNsYXNzKHUpLnJlbW92ZUNsYXNzKGMpLHRoaXMuX3RyaWdnZXJBcnJheS5sZW5ndGg+MClmb3IodmFyIHM9MDtzPHRoaXMuX3RyaWdnZXJBcnJheS5sZW5ndGg7cysrKXt2YXIgcj10aGlzLl90cmlnZ2VyQXJyYXlbc10sbz1QLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQocik7aWYobnVsbCE9PW8pdChvKS5oYXNDbGFzcyhjKXx8dChyKS5hZGRDbGFzcyhkKS5hdHRyKFwiYXJpYS1leHBhbmRlZFwiLCExKX10aGlzLnNldFRyYW5zaXRpb25pbmcoITApO3ZhciBhPWZ1bmN0aW9uKCl7ZS5zZXRUcmFuc2l0aW9uaW5nKCExKSx0KGUuX2VsZW1lbnQpLnJlbW92ZUNsYXNzKGYpLmFkZENsYXNzKHUpLnRyaWdnZXIoaC5ISURERU4pfTt0aGlzLl9lbGVtZW50LnN0eWxlW2ldPVwiXCIsUC5zdXBwb3J0c1RyYW5zaXRpb25FbmQoKT90KHRoaXMuX2VsZW1lbnQpLm9uZShQLlRSQU5TSVRJT05fRU5ELGEpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKDYwMCk6YSgpfX19LG8uc2V0VHJhbnNpdGlvbmluZz1mdW5jdGlvbih0KXt0aGlzLl9pc1RyYW5zaXRpb25pbmc9dH0sby5kaXNwb3NlPWZ1bmN0aW9uKCl7dC5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsbiksdGhpcy5fY29uZmlnPW51bGwsdGhpcy5fcGFyZW50PW51bGwsdGhpcy5fZWxlbWVudD1udWxsLHRoaXMuX3RyaWdnZXJBcnJheT1udWxsLHRoaXMuX2lzVHJhbnNpdGlvbmluZz1udWxsfSxvLl9nZXRDb25maWc9ZnVuY3Rpb24odCl7cmV0dXJuKHQ9cih7fSxhLHQpKS50b2dnbGU9Qm9vbGVhbih0LnRvZ2dsZSksUC50eXBlQ2hlY2tDb25maWcoZSx0LGwpLHR9LG8uX2dldERpbWVuc2lvbj1mdW5jdGlvbigpe3JldHVybiB0KHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKF8pP186Z30sby5fZ2V0UGFyZW50PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPW51bGw7UC5pc0VsZW1lbnQodGhpcy5fY29uZmlnLnBhcmVudCk/KG49dGhpcy5fY29uZmlnLnBhcmVudCxcInVuZGVmaW5lZFwiIT10eXBlb2YgdGhpcy5fY29uZmlnLnBhcmVudC5qcXVlcnkmJihuPXRoaXMuX2NvbmZpZy5wYXJlbnRbMF0pKTpuPXQodGhpcy5fY29uZmlnLnBhcmVudClbMF07dmFyIHM9J1tkYXRhLXRvZ2dsZT1cImNvbGxhcHNlXCJdW2RhdGEtcGFyZW50PVwiJyt0aGlzLl9jb25maWcucGFyZW50KydcIl0nO3JldHVybiB0KG4pLmZpbmQocykuZWFjaChmdW5jdGlvbih0LG4pe2UuX2FkZEFyaWFBbmRDb2xsYXBzZWRDbGFzcyhpLl9nZXRUYXJnZXRGcm9tRWxlbWVudChuKSxbbl0pfSksbn0sby5fYWRkQXJpYUFuZENvbGxhcHNlZENsYXNzPWZ1bmN0aW9uKGUsbil7aWYoZSl7dmFyIGk9dChlKS5oYXNDbGFzcyhjKTtuLmxlbmd0aD4wJiZ0KG4pLnRvZ2dsZUNsYXNzKGQsIWkpLmF0dHIoXCJhcmlhLWV4cGFuZGVkXCIsaSl9fSxpLl9nZXRUYXJnZXRGcm9tRWxlbWVudD1mdW5jdGlvbihlKXt2YXIgbj1QLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQoZSk7cmV0dXJuIG4/dChuKVswXTpudWxsfSxpLl9qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBzPXQodGhpcyksbz1zLmRhdGEobiksbD1yKHt9LGEscy5kYXRhKCksXCJvYmplY3RcIj09dHlwZW9mIGUmJmUpO2lmKCFvJiZsLnRvZ2dsZSYmL3Nob3d8aGlkZS8udGVzdChlKSYmKGwudG9nZ2xlPSExKSxvfHwobz1uZXcgaSh0aGlzLGwpLHMuZGF0YShuLG8pKSxcInN0cmluZ1wiPT10eXBlb2YgZSl7aWYoXCJ1bmRlZmluZWRcIj09dHlwZW9mIG9bZV0pdGhyb3cgbmV3IFR5cGVFcnJvcignTm8gbWV0aG9kIG5hbWVkIFwiJytlKydcIicpO29bZV0oKX19KX0scyhpLG51bGwsW3trZXk6XCJWRVJTSU9OXCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuXCI0LjAuMFwifX0se2tleTpcIkRlZmF1bHRcIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX19XSksaX0oKTtyZXR1cm4gdChkb2N1bWVudCkub24oaC5DTElDS19EQVRBX0FQSSxwLkRBVEFfVE9HR0xFLGZ1bmN0aW9uKGUpe1wiQVwiPT09ZS5jdXJyZW50VGFyZ2V0LnRhZ05hbWUmJmUucHJldmVudERlZmF1bHQoKTt2YXIgaT10KHRoaXMpLHM9UC5nZXRTZWxlY3RvckZyb21FbGVtZW50KHRoaXMpO3QocykuZWFjaChmdW5jdGlvbigpe3ZhciBlPXQodGhpcykscz1lLmRhdGEobik/XCJ0b2dnbGVcIjppLmRhdGEoKTttLl9qUXVlcnlJbnRlcmZhY2UuY2FsbChlLHMpfSl9KSx0LmZuW2VdPW0uX2pRdWVyeUludGVyZmFjZSx0LmZuW2VdLkNvbnN0cnVjdG9yPW0sdC5mbltlXS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHQuZm5bZV09byxtLl9qUXVlcnlJbnRlcmZhY2V9LG19KGUpLFc9ZnVuY3Rpb24odCl7dmFyIGU9XCJkcm9wZG93blwiLGk9XCJicy5kcm9wZG93blwiLG89XCIuXCIraSxhPVwiLmRhdGEtYXBpXCIsbD10LmZuW2VdLGg9bmV3IFJlZ0V4cChcIjM4fDQwfDI3XCIpLGM9e0hJREU6XCJoaWRlXCIrbyxISURERU46XCJoaWRkZW5cIitvLFNIT1c6XCJzaG93XCIrbyxTSE9XTjpcInNob3duXCIrbyxDTElDSzpcImNsaWNrXCIrbyxDTElDS19EQVRBX0FQSTpcImNsaWNrXCIrbythLEtFWURPV05fREFUQV9BUEk6XCJrZXlkb3duXCIrbythLEtFWVVQX0RBVEFfQVBJOlwia2V5dXBcIitvK2F9LHU9XCJkaXNhYmxlZFwiLGY9XCJzaG93XCIsZD1cImRyb3B1cFwiLF89XCJkcm9wcmlnaHRcIixnPVwiZHJvcGxlZnRcIixwPVwiZHJvcGRvd24tbWVudS1yaWdodFwiLG09XCJkcm9wZG93bi1tZW51LWxlZnRcIix2PVwicG9zaXRpb24tc3RhdGljXCIsRT0nW2RhdGEtdG9nZ2xlPVwiZHJvcGRvd25cIl0nLFQ9XCIuZHJvcGRvd24gZm9ybVwiLHk9XCIuZHJvcGRvd24tbWVudVwiLEM9XCIubmF2YmFyLW5hdlwiLEk9XCIuZHJvcGRvd24tbWVudSAuZHJvcGRvd24taXRlbTpub3QoLmRpc2FibGVkKVwiLEE9XCJ0b3Atc3RhcnRcIixiPVwidG9wLWVuZFwiLEQ9XCJib3R0b20tc3RhcnRcIixTPVwiYm90dG9tLWVuZFwiLHc9XCJyaWdodC1zdGFydFwiLE49XCJsZWZ0LXN0YXJ0XCIsTz17b2Zmc2V0OjAsZmxpcDohMCxib3VuZGFyeTpcInNjcm9sbFBhcmVudFwifSxrPXtvZmZzZXQ6XCIobnVtYmVyfHN0cmluZ3xmdW5jdGlvbilcIixmbGlwOlwiYm9vbGVhblwiLGJvdW5kYXJ5OlwiKHN0cmluZ3xlbGVtZW50KVwifSxMPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYSh0LGUpe3RoaXMuX2VsZW1lbnQ9dCx0aGlzLl9wb3BwZXI9bnVsbCx0aGlzLl9jb25maWc9dGhpcy5fZ2V0Q29uZmlnKGUpLHRoaXMuX21lbnU9dGhpcy5fZ2V0TWVudUVsZW1lbnQoKSx0aGlzLl9pbk5hdmJhcj10aGlzLl9kZXRlY3ROYXZiYXIoKSx0aGlzLl9hZGRFdmVudExpc3RlbmVycygpfXZhciBsPWEucHJvdG90eXBlO3JldHVybiBsLnRvZ2dsZT1mdW5jdGlvbigpe2lmKCF0aGlzLl9lbGVtZW50LmRpc2FibGVkJiYhdCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyh1KSl7dmFyIGU9YS5fZ2V0UGFyZW50RnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCksaT10KHRoaXMuX21lbnUpLmhhc0NsYXNzKGYpO2lmKGEuX2NsZWFyTWVudXMoKSwhaSl7dmFyIHM9e3JlbGF0ZWRUYXJnZXQ6dGhpcy5fZWxlbWVudH0scj10LkV2ZW50KGMuU0hPVyxzKTtpZih0KGUpLnRyaWdnZXIociksIXIuaXNEZWZhdWx0UHJldmVudGVkKCkpe2lmKCF0aGlzLl9pbk5hdmJhcil7aWYoXCJ1bmRlZmluZWRcIj09dHlwZW9mIG4pdGhyb3cgbmV3IFR5cGVFcnJvcihcIkJvb3RzdHJhcCBkcm9wZG93biByZXF1aXJlIFBvcHBlci5qcyAoaHR0cHM6Ly9wb3BwZXIuanMub3JnKVwiKTt2YXIgbz10aGlzLl9lbGVtZW50O3QoZSkuaGFzQ2xhc3MoZCkmJih0KHRoaXMuX21lbnUpLmhhc0NsYXNzKG0pfHx0KHRoaXMuX21lbnUpLmhhc0NsYXNzKHApKSYmKG89ZSksXCJzY3JvbGxQYXJlbnRcIiE9PXRoaXMuX2NvbmZpZy5ib3VuZGFyeSYmdChlKS5hZGRDbGFzcyh2KSx0aGlzLl9wb3BwZXI9bmV3IG4obyx0aGlzLl9tZW51LHRoaXMuX2dldFBvcHBlckNvbmZpZygpKX1cIm9udG91Y2hzdGFydFwiaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50JiYwPT09dChlKS5jbG9zZXN0KEMpLmxlbmd0aCYmdChcImJvZHlcIikuY2hpbGRyZW4oKS5vbihcIm1vdXNlb3ZlclwiLG51bGwsdC5ub29wKSx0aGlzLl9lbGVtZW50LmZvY3VzKCksdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWV4cGFuZGVkXCIsITApLHQodGhpcy5fbWVudSkudG9nZ2xlQ2xhc3MoZiksdChlKS50b2dnbGVDbGFzcyhmKS50cmlnZ2VyKHQuRXZlbnQoYy5TSE9XTixzKSl9fX19LGwuZGlzcG9zZT1mdW5jdGlvbigpe3QucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LGkpLHQodGhpcy5fZWxlbWVudCkub2ZmKG8pLHRoaXMuX2VsZW1lbnQ9bnVsbCx0aGlzLl9tZW51PW51bGwsbnVsbCE9PXRoaXMuX3BvcHBlciYmKHRoaXMuX3BvcHBlci5kZXN0cm95KCksdGhpcy5fcG9wcGVyPW51bGwpfSxsLnVwZGF0ZT1mdW5jdGlvbigpe3RoaXMuX2luTmF2YmFyPXRoaXMuX2RldGVjdE5hdmJhcigpLG51bGwhPT10aGlzLl9wb3BwZXImJnRoaXMuX3BvcHBlci5zY2hlZHVsZVVwZGF0ZSgpfSxsLl9hZGRFdmVudExpc3RlbmVycz1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dCh0aGlzLl9lbGVtZW50KS5vbihjLkNMSUNLLGZ1bmN0aW9uKHQpe3QucHJldmVudERlZmF1bHQoKSx0LnN0b3BQcm9wYWdhdGlvbigpLGUudG9nZ2xlKCl9KX0sbC5fZ2V0Q29uZmlnPWZ1bmN0aW9uKG4pe3JldHVybiBuPXIoe30sdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0LHQodGhpcy5fZWxlbWVudCkuZGF0YSgpLG4pLFAudHlwZUNoZWNrQ29uZmlnKGUsbix0aGlzLmNvbnN0cnVjdG9yLkRlZmF1bHRUeXBlKSxufSxsLl9nZXRNZW51RWxlbWVudD1mdW5jdGlvbigpe2lmKCF0aGlzLl9tZW51KXt2YXIgZT1hLl9nZXRQYXJlbnRGcm9tRWxlbWVudCh0aGlzLl9lbGVtZW50KTt0aGlzLl9tZW51PXQoZSkuZmluZCh5KVswXX1yZXR1cm4gdGhpcy5fbWVudX0sbC5fZ2V0UGxhY2VtZW50PWZ1bmN0aW9uKCl7dmFyIGU9dCh0aGlzLl9lbGVtZW50KS5wYXJlbnQoKSxuPUQ7cmV0dXJuIGUuaGFzQ2xhc3MoZCk/KG49QSx0KHRoaXMuX21lbnUpLmhhc0NsYXNzKHApJiYobj1iKSk6ZS5oYXNDbGFzcyhfKT9uPXc6ZS5oYXNDbGFzcyhnKT9uPU46dCh0aGlzLl9tZW51KS5oYXNDbGFzcyhwKSYmKG49Uyksbn0sbC5fZGV0ZWN0TmF2YmFyPWZ1bmN0aW9uKCl7cmV0dXJuIHQodGhpcy5fZWxlbWVudCkuY2xvc2VzdChcIi5uYXZiYXJcIikubGVuZ3RoPjB9LGwuX2dldFBvcHBlckNvbmZpZz1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT17fTtyZXR1cm5cImZ1bmN0aW9uXCI9PXR5cGVvZiB0aGlzLl9jb25maWcub2Zmc2V0P2UuZm49ZnVuY3Rpb24oZSl7cmV0dXJuIGUub2Zmc2V0cz1yKHt9LGUub2Zmc2V0cyx0Ll9jb25maWcub2Zmc2V0KGUub2Zmc2V0cyl8fHt9KSxlfTplLm9mZnNldD10aGlzLl9jb25maWcub2Zmc2V0LHtwbGFjZW1lbnQ6dGhpcy5fZ2V0UGxhY2VtZW50KCksbW9kaWZpZXJzOntvZmZzZXQ6ZSxmbGlwOntlbmFibGVkOnRoaXMuX2NvbmZpZy5mbGlwfSxwcmV2ZW50T3ZlcmZsb3c6e2JvdW5kYXJpZXNFbGVtZW50OnRoaXMuX2NvbmZpZy5ib3VuZGFyeX19fX0sYS5falF1ZXJ5SW50ZXJmYWNlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgbj10KHRoaXMpLmRhdGEoaSk7aWYobnx8KG49bmV3IGEodGhpcyxcIm9iamVjdFwiPT10eXBlb2YgZT9lOm51bGwpLHQodGhpcykuZGF0YShpLG4pKSxcInN0cmluZ1wiPT10eXBlb2YgZSl7aWYoXCJ1bmRlZmluZWRcIj09dHlwZW9mIG5bZV0pdGhyb3cgbmV3IFR5cGVFcnJvcignTm8gbWV0aG9kIG5hbWVkIFwiJytlKydcIicpO25bZV0oKX19KX0sYS5fY2xlYXJNZW51cz1mdW5jdGlvbihlKXtpZighZXx8MyE9PWUud2hpY2gmJihcImtleXVwXCIhPT1lLnR5cGV8fDk9PT1lLndoaWNoKSlmb3IodmFyIG49dC5tYWtlQXJyYXkodChFKSkscz0wO3M8bi5sZW5ndGg7cysrKXt2YXIgcj1hLl9nZXRQYXJlbnRGcm9tRWxlbWVudChuW3NdKSxvPXQobltzXSkuZGF0YShpKSxsPXtyZWxhdGVkVGFyZ2V0Om5bc119O2lmKG8pe3ZhciBoPW8uX21lbnU7aWYodChyKS5oYXNDbGFzcyhmKSYmIShlJiYoXCJjbGlja1wiPT09ZS50eXBlJiYvaW5wdXR8dGV4dGFyZWEvaS50ZXN0KGUudGFyZ2V0LnRhZ05hbWUpfHxcImtleXVwXCI9PT1lLnR5cGUmJjk9PT1lLndoaWNoKSYmdC5jb250YWlucyhyLGUudGFyZ2V0KSkpe3ZhciB1PXQuRXZlbnQoYy5ISURFLGwpO3QocikudHJpZ2dlcih1KSx1LmlzRGVmYXVsdFByZXZlbnRlZCgpfHwoXCJvbnRvdWNoc3RhcnRcImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmdChcImJvZHlcIikuY2hpbGRyZW4oKS5vZmYoXCJtb3VzZW92ZXJcIixudWxsLHQubm9vcCksbltzXS5zZXRBdHRyaWJ1dGUoXCJhcmlhLWV4cGFuZGVkXCIsXCJmYWxzZVwiKSx0KGgpLnJlbW92ZUNsYXNzKGYpLHQocikucmVtb3ZlQ2xhc3MoZikudHJpZ2dlcih0LkV2ZW50KGMuSElEREVOLGwpKSl9fX19LGEuX2dldFBhcmVudEZyb21FbGVtZW50PWZ1bmN0aW9uKGUpe3ZhciBuLGk9UC5nZXRTZWxlY3RvckZyb21FbGVtZW50KGUpO3JldHVybiBpJiYobj10KGkpWzBdKSxufHxlLnBhcmVudE5vZGV9LGEuX2RhdGFBcGlLZXlkb3duSGFuZGxlcj1mdW5jdGlvbihlKXtpZigoL2lucHV0fHRleHRhcmVhL2kudGVzdChlLnRhcmdldC50YWdOYW1lKT8hKDMyPT09ZS53aGljaHx8MjchPT1lLndoaWNoJiYoNDAhPT1lLndoaWNoJiYzOCE9PWUud2hpY2h8fHQoZS50YXJnZXQpLmNsb3Nlc3QoeSkubGVuZ3RoKSk6aC50ZXN0KGUud2hpY2gpKSYmKGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLCF0aGlzLmRpc2FibGVkJiYhdCh0aGlzKS5oYXNDbGFzcyh1KSkpe3ZhciBuPWEuX2dldFBhcmVudEZyb21FbGVtZW50KHRoaXMpLGk9dChuKS5oYXNDbGFzcyhmKTtpZigoaXx8Mjc9PT1lLndoaWNoJiYzMj09PWUud2hpY2gpJiYoIWl8fDI3IT09ZS53aGljaCYmMzIhPT1lLndoaWNoKSl7dmFyIHM9dChuKS5maW5kKEkpLmdldCgpO2lmKDAhPT1zLmxlbmd0aCl7dmFyIHI9cy5pbmRleE9mKGUudGFyZ2V0KTszOD09PWUud2hpY2gmJnI+MCYmci0tLDQwPT09ZS53aGljaCYmcjxzLmxlbmd0aC0xJiZyKysscjwwJiYocj0wKSxzW3JdLmZvY3VzKCl9fWVsc2V7aWYoMjc9PT1lLndoaWNoKXt2YXIgbz10KG4pLmZpbmQoRSlbMF07dChvKS50cmlnZ2VyKFwiZm9jdXNcIil9dCh0aGlzKS50cmlnZ2VyKFwiY2xpY2tcIil9fX0scyhhLG51bGwsW3trZXk6XCJWRVJTSU9OXCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuXCI0LjAuMFwifX0se2tleTpcIkRlZmF1bHRcIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gT319LHtrZXk6XCJEZWZhdWx0VHlwZVwiLGdldDpmdW5jdGlvbigpe3JldHVybiBrfX1dKSxhfSgpO3JldHVybiB0KGRvY3VtZW50KS5vbihjLktFWURPV05fREFUQV9BUEksRSxMLl9kYXRhQXBpS2V5ZG93bkhhbmRsZXIpLm9uKGMuS0VZRE9XTl9EQVRBX0FQSSx5LEwuX2RhdGFBcGlLZXlkb3duSGFuZGxlcikub24oYy5DTElDS19EQVRBX0FQSStcIiBcIitjLktFWVVQX0RBVEFfQVBJLEwuX2NsZWFyTWVudXMpLm9uKGMuQ0xJQ0tfREFUQV9BUEksRSxmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSxMLl9qUXVlcnlJbnRlcmZhY2UuY2FsbCh0KHRoaXMpLFwidG9nZ2xlXCIpfSkub24oYy5DTElDS19EQVRBX0FQSSxULGZ1bmN0aW9uKHQpe3Quc3RvcFByb3BhZ2F0aW9uKCl9KSx0LmZuW2VdPUwuX2pRdWVyeUludGVyZmFjZSx0LmZuW2VdLkNvbnN0cnVjdG9yPUwsdC5mbltlXS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHQuZm5bZV09bCxMLl9qUXVlcnlJbnRlcmZhY2V9LEx9KGUpLE09ZnVuY3Rpb24odCl7dmFyIGU9XCJtb2RhbFwiLG49XCJicy5tb2RhbFwiLGk9XCIuXCIrbixvPXQuZm4ubW9kYWwsYT17YmFja2Ryb3A6ITAsa2V5Ym9hcmQ6ITAsZm9jdXM6ITAsc2hvdzohMH0sbD17YmFja2Ryb3A6XCIoYm9vbGVhbnxzdHJpbmcpXCIsa2V5Ym9hcmQ6XCJib29sZWFuXCIsZm9jdXM6XCJib29sZWFuXCIsc2hvdzpcImJvb2xlYW5cIn0saD17SElERTpcImhpZGVcIitpLEhJRERFTjpcImhpZGRlblwiK2ksU0hPVzpcInNob3dcIitpLFNIT1dOOlwic2hvd25cIitpLEZPQ1VTSU46XCJmb2N1c2luXCIraSxSRVNJWkU6XCJyZXNpemVcIitpLENMSUNLX0RJU01JU1M6XCJjbGljay5kaXNtaXNzXCIraSxLRVlET1dOX0RJU01JU1M6XCJrZXlkb3duLmRpc21pc3NcIitpLE1PVVNFVVBfRElTTUlTUzpcIm1vdXNldXAuZGlzbWlzc1wiK2ksTU9VU0VET1dOX0RJU01JU1M6XCJtb3VzZWRvd24uZGlzbWlzc1wiK2ksQ0xJQ0tfREFUQV9BUEk6XCJjbGlja1wiK2krXCIuZGF0YS1hcGlcIn0sYz1cIm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlXCIsdT1cIm1vZGFsLWJhY2tkcm9wXCIsZj1cIm1vZGFsLW9wZW5cIixkPVwiZmFkZVwiLF89XCJzaG93XCIsZz17RElBTE9HOlwiLm1vZGFsLWRpYWxvZ1wiLERBVEFfVE9HR0xFOidbZGF0YS10b2dnbGU9XCJtb2RhbFwiXScsREFUQV9ESVNNSVNTOidbZGF0YS1kaXNtaXNzPVwibW9kYWxcIl0nLEZJWEVEX0NPTlRFTlQ6XCIuZml4ZWQtdG9wLCAuZml4ZWQtYm90dG9tLCAuaXMtZml4ZWQsIC5zdGlja3ktdG9wXCIsU1RJQ0tZX0NPTlRFTlQ6XCIuc3RpY2t5LXRvcFwiLE5BVkJBUl9UT0dHTEVSOlwiLm5hdmJhci10b2dnbGVyXCJ9LHA9ZnVuY3Rpb24oKXtmdW5jdGlvbiBvKGUsbil7dGhpcy5fY29uZmlnPXRoaXMuX2dldENvbmZpZyhuKSx0aGlzLl9lbGVtZW50PWUsdGhpcy5fZGlhbG9nPXQoZSkuZmluZChnLkRJQUxPRylbMF0sdGhpcy5fYmFja2Ryb3A9bnVsbCx0aGlzLl9pc1Nob3duPSExLHRoaXMuX2lzQm9keU92ZXJmbG93aW5nPSExLHRoaXMuX2lnbm9yZUJhY2tkcm9wQ2xpY2s9ITEsdGhpcy5fb3JpZ2luYWxCb2R5UGFkZGluZz0wLHRoaXMuX3Njcm9sbGJhcldpZHRoPTB9dmFyIHA9by5wcm90b3R5cGU7cmV0dXJuIHAudG9nZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9pc1Nob3duP3RoaXMuaGlkZSgpOnRoaXMuc2hvdyh0KX0scC5zaG93PWZ1bmN0aW9uKGUpe3ZhciBuPXRoaXM7aWYoIXRoaXMuX2lzVHJhbnNpdGlvbmluZyYmIXRoaXMuX2lzU2hvd24pe1Auc3VwcG9ydHNUcmFuc2l0aW9uRW5kKCkmJnQodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoZCkmJih0aGlzLl9pc1RyYW5zaXRpb25pbmc9ITApO3ZhciBpPXQuRXZlbnQoaC5TSE9XLHtyZWxhdGVkVGFyZ2V0OmV9KTt0KHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIoaSksdGhpcy5faXNTaG93bnx8aS5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8KHRoaXMuX2lzU2hvd249ITAsdGhpcy5fY2hlY2tTY3JvbGxiYXIoKSx0aGlzLl9zZXRTY3JvbGxiYXIoKSx0aGlzLl9hZGp1c3REaWFsb2coKSx0KGRvY3VtZW50LmJvZHkpLmFkZENsYXNzKGYpLHRoaXMuX3NldEVzY2FwZUV2ZW50KCksdGhpcy5fc2V0UmVzaXplRXZlbnQoKSx0KHRoaXMuX2VsZW1lbnQpLm9uKGguQ0xJQ0tfRElTTUlTUyxnLkRBVEFfRElTTUlTUyxmdW5jdGlvbih0KXtyZXR1cm4gbi5oaWRlKHQpfSksdCh0aGlzLl9kaWFsb2cpLm9uKGguTU9VU0VET1dOX0RJU01JU1MsZnVuY3Rpb24oKXt0KG4uX2VsZW1lbnQpLm9uZShoLk1PVVNFVVBfRElTTUlTUyxmdW5jdGlvbihlKXt0KGUudGFyZ2V0KS5pcyhuLl9lbGVtZW50KSYmKG4uX2lnbm9yZUJhY2tkcm9wQ2xpY2s9ITApfSl9KSx0aGlzLl9zaG93QmFja2Ryb3AoZnVuY3Rpb24oKXtyZXR1cm4gbi5fc2hvd0VsZW1lbnQoZSl9KSl9fSxwLmhpZGU9ZnVuY3Rpb24oZSl7dmFyIG49dGhpcztpZihlJiZlLnByZXZlbnREZWZhdWx0KCksIXRoaXMuX2lzVHJhbnNpdGlvbmluZyYmdGhpcy5faXNTaG93bil7dmFyIGk9dC5FdmVudChoLkhJREUpO2lmKHQodGhpcy5fZWxlbWVudCkudHJpZ2dlcihpKSx0aGlzLl9pc1Nob3duJiYhaS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7dGhpcy5faXNTaG93bj0hMTt2YXIgcz1QLnN1cHBvcnRzVHJhbnNpdGlvbkVuZCgpJiZ0KHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKGQpO3MmJih0aGlzLl9pc1RyYW5zaXRpb25pbmc9ITApLHRoaXMuX3NldEVzY2FwZUV2ZW50KCksdGhpcy5fc2V0UmVzaXplRXZlbnQoKSx0KGRvY3VtZW50KS5vZmYoaC5GT0NVU0lOKSx0KHRoaXMuX2VsZW1lbnQpLnJlbW92ZUNsYXNzKF8pLHQodGhpcy5fZWxlbWVudCkub2ZmKGguQ0xJQ0tfRElTTUlTUyksdCh0aGlzLl9kaWFsb2cpLm9mZihoLk1PVVNFRE9XTl9ESVNNSVNTKSxzP3QodGhpcy5fZWxlbWVudCkub25lKFAuVFJBTlNJVElPTl9FTkQsZnVuY3Rpb24odCl7cmV0dXJuIG4uX2hpZGVNb2RhbCh0KX0pLmVtdWxhdGVUcmFuc2l0aW9uRW5kKDMwMCk6dGhpcy5faGlkZU1vZGFsKCl9fX0scC5kaXNwb3NlPWZ1bmN0aW9uKCl7dC5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsbiksdCh3aW5kb3csZG9jdW1lbnQsdGhpcy5fZWxlbWVudCx0aGlzLl9iYWNrZHJvcCkub2ZmKGkpLHRoaXMuX2NvbmZpZz1udWxsLHRoaXMuX2VsZW1lbnQ9bnVsbCx0aGlzLl9kaWFsb2c9bnVsbCx0aGlzLl9iYWNrZHJvcD1udWxsLHRoaXMuX2lzU2hvd249bnVsbCx0aGlzLl9pc0JvZHlPdmVyZmxvd2luZz1udWxsLHRoaXMuX2lnbm9yZUJhY2tkcm9wQ2xpY2s9bnVsbCx0aGlzLl9zY3JvbGxiYXJXaWR0aD1udWxsfSxwLmhhbmRsZVVwZGF0ZT1mdW5jdGlvbigpe3RoaXMuX2FkanVzdERpYWxvZygpfSxwLl9nZXRDb25maWc9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9cih7fSxhLHQpLFAudHlwZUNoZWNrQ29uZmlnKGUsdCxsKSx0fSxwLl9zaG93RWxlbWVudD1mdW5jdGlvbihlKXt2YXIgbj10aGlzLGk9UC5zdXBwb3J0c1RyYW5zaXRpb25FbmQoKSYmdCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhkKTt0aGlzLl9lbGVtZW50LnBhcmVudE5vZGUmJnRoaXMuX2VsZW1lbnQucGFyZW50Tm9kZS5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFfHxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMuX2VsZW1lbnQpLHRoaXMuX2VsZW1lbnQuc3R5bGUuZGlzcGxheT1cImJsb2NrXCIsdGhpcy5fZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoXCJhcmlhLWhpZGRlblwiKSx0aGlzLl9lbGVtZW50LnNjcm9sbFRvcD0wLGkmJlAucmVmbG93KHRoaXMuX2VsZW1lbnQpLHQodGhpcy5fZWxlbWVudCkuYWRkQ2xhc3MoXyksdGhpcy5fY29uZmlnLmZvY3VzJiZ0aGlzLl9lbmZvcmNlRm9jdXMoKTt2YXIgcz10LkV2ZW50KGguU0hPV04se3JlbGF0ZWRUYXJnZXQ6ZX0pLHI9ZnVuY3Rpb24oKXtuLl9jb25maWcuZm9jdXMmJm4uX2VsZW1lbnQuZm9jdXMoKSxuLl9pc1RyYW5zaXRpb25pbmc9ITEsdChuLl9lbGVtZW50KS50cmlnZ2VyKHMpfTtpP3QodGhpcy5fZGlhbG9nKS5vbmUoUC5UUkFOU0lUSU9OX0VORCxyKS5lbXVsYXRlVHJhbnNpdGlvbkVuZCgzMDApOnIoKX0scC5fZW5mb3JjZUZvY3VzPWZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0KGRvY3VtZW50KS5vZmYoaC5GT0NVU0lOKS5vbihoLkZPQ1VTSU4sZnVuY3Rpb24obil7ZG9jdW1lbnQhPT1uLnRhcmdldCYmZS5fZWxlbWVudCE9PW4udGFyZ2V0JiYwPT09dChlLl9lbGVtZW50KS5oYXMobi50YXJnZXQpLmxlbmd0aCYmZS5fZWxlbWVudC5mb2N1cygpfSl9LHAuX3NldEVzY2FwZUV2ZW50PWZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLl9pc1Nob3duJiZ0aGlzLl9jb25maWcua2V5Ym9hcmQ/dCh0aGlzLl9lbGVtZW50KS5vbihoLktFWURPV05fRElTTUlTUyxmdW5jdGlvbih0KXsyNz09PXQud2hpY2gmJih0LnByZXZlbnREZWZhdWx0KCksZS5oaWRlKCkpfSk6dGhpcy5faXNTaG93bnx8dCh0aGlzLl9lbGVtZW50KS5vZmYoaC5LRVlET1dOX0RJU01JU1MpfSxwLl9zZXRSZXNpemVFdmVudD1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5faXNTaG93bj90KHdpbmRvdykub24oaC5SRVNJWkUsZnVuY3Rpb24odCl7cmV0dXJuIGUuaGFuZGxlVXBkYXRlKHQpfSk6dCh3aW5kb3cpLm9mZihoLlJFU0laRSl9LHAuX2hpZGVNb2RhbD1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5fZWxlbWVudC5zdHlsZS5kaXNwbGF5PVwibm9uZVwiLHRoaXMuX2VsZW1lbnQuc2V0QXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIiwhMCksdGhpcy5faXNUcmFuc2l0aW9uaW5nPSExLHRoaXMuX3Nob3dCYWNrZHJvcChmdW5jdGlvbigpe3QoZG9jdW1lbnQuYm9keSkucmVtb3ZlQ2xhc3MoZiksZS5fcmVzZXRBZGp1c3RtZW50cygpLGUuX3Jlc2V0U2Nyb2xsYmFyKCksdChlLl9lbGVtZW50KS50cmlnZ2VyKGguSElEREVOKX0pfSxwLl9yZW1vdmVCYWNrZHJvcD1mdW5jdGlvbigpe3RoaXMuX2JhY2tkcm9wJiYodCh0aGlzLl9iYWNrZHJvcCkucmVtb3ZlKCksdGhpcy5fYmFja2Ryb3A9bnVsbCl9LHAuX3Nob3dCYWNrZHJvcD1mdW5jdGlvbihlKXt2YXIgbj10aGlzLGk9dCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhkKT9kOlwiXCI7aWYodGhpcy5faXNTaG93biYmdGhpcy5fY29uZmlnLmJhY2tkcm9wKXt2YXIgcz1QLnN1cHBvcnRzVHJhbnNpdGlvbkVuZCgpJiZpO2lmKHRoaXMuX2JhY2tkcm9wPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksdGhpcy5fYmFja2Ryb3AuY2xhc3NOYW1lPXUsaSYmdCh0aGlzLl9iYWNrZHJvcCkuYWRkQ2xhc3MoaSksdCh0aGlzLl9iYWNrZHJvcCkuYXBwZW5kVG8oZG9jdW1lbnQuYm9keSksdCh0aGlzLl9lbGVtZW50KS5vbihoLkNMSUNLX0RJU01JU1MsZnVuY3Rpb24odCl7bi5faWdub3JlQmFja2Ryb3BDbGljaz9uLl9pZ25vcmVCYWNrZHJvcENsaWNrPSExOnQudGFyZ2V0PT09dC5jdXJyZW50VGFyZ2V0JiYoXCJzdGF0aWNcIj09PW4uX2NvbmZpZy5iYWNrZHJvcD9uLl9lbGVtZW50LmZvY3VzKCk6bi5oaWRlKCkpfSkscyYmUC5yZWZsb3codGhpcy5fYmFja2Ryb3ApLHQodGhpcy5fYmFja2Ryb3ApLmFkZENsYXNzKF8pLCFlKXJldHVybjtpZighcylyZXR1cm4gdm9pZCBlKCk7dCh0aGlzLl9iYWNrZHJvcCkub25lKFAuVFJBTlNJVElPTl9FTkQsZSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoMTUwKX1lbHNlIGlmKCF0aGlzLl9pc1Nob3duJiZ0aGlzLl9iYWNrZHJvcCl7dCh0aGlzLl9iYWNrZHJvcCkucmVtb3ZlQ2xhc3MoXyk7dmFyIHI9ZnVuY3Rpb24oKXtuLl9yZW1vdmVCYWNrZHJvcCgpLGUmJmUoKX07UC5zdXBwb3J0c1RyYW5zaXRpb25FbmQoKSYmdCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhkKT90KHRoaXMuX2JhY2tkcm9wKS5vbmUoUC5UUkFOU0lUSU9OX0VORCxyKS5lbXVsYXRlVHJhbnNpdGlvbkVuZCgxNTApOnIoKX1lbHNlIGUmJmUoKX0scC5fYWRqdXN0RGlhbG9nPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZWxlbWVudC5zY3JvbGxIZWlnaHQ+ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodDshdGhpcy5faXNCb2R5T3ZlcmZsb3dpbmcmJnQmJih0aGlzLl9lbGVtZW50LnN0eWxlLnBhZGRpbmdMZWZ0PXRoaXMuX3Njcm9sbGJhcldpZHRoK1wicHhcIiksdGhpcy5faXNCb2R5T3ZlcmZsb3dpbmcmJiF0JiYodGhpcy5fZWxlbWVudC5zdHlsZS5wYWRkaW5nUmlnaHQ9dGhpcy5fc2Nyb2xsYmFyV2lkdGgrXCJweFwiKX0scC5fcmVzZXRBZGp1c3RtZW50cz1mdW5jdGlvbigpe3RoaXMuX2VsZW1lbnQuc3R5bGUucGFkZGluZ0xlZnQ9XCJcIix0aGlzLl9lbGVtZW50LnN0eWxlLnBhZGRpbmdSaWdodD1cIlwifSxwLl9jaGVja1Njcm9sbGJhcj1mdW5jdGlvbigpe3ZhciB0PWRvY3VtZW50LmJvZHkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy5faXNCb2R5T3ZlcmZsb3dpbmc9dC5sZWZ0K3QucmlnaHQ8d2luZG93LmlubmVyV2lkdGgsdGhpcy5fc2Nyb2xsYmFyV2lkdGg9dGhpcy5fZ2V0U2Nyb2xsYmFyV2lkdGgoKX0scC5fc2V0U2Nyb2xsYmFyPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztpZih0aGlzLl9pc0JvZHlPdmVyZmxvd2luZyl7dChnLkZJWEVEX0NPTlRFTlQpLmVhY2goZnVuY3Rpb24obixpKXt2YXIgcz10KGkpWzBdLnN0eWxlLnBhZGRpbmdSaWdodCxyPXQoaSkuY3NzKFwicGFkZGluZy1yaWdodFwiKTt0KGkpLmRhdGEoXCJwYWRkaW5nLXJpZ2h0XCIscykuY3NzKFwicGFkZGluZy1yaWdodFwiLHBhcnNlRmxvYXQocikrZS5fc2Nyb2xsYmFyV2lkdGgrXCJweFwiKX0pLHQoZy5TVElDS1lfQ09OVEVOVCkuZWFjaChmdW5jdGlvbihuLGkpe3ZhciBzPXQoaSlbMF0uc3R5bGUubWFyZ2luUmlnaHQscj10KGkpLmNzcyhcIm1hcmdpbi1yaWdodFwiKTt0KGkpLmRhdGEoXCJtYXJnaW4tcmlnaHRcIixzKS5jc3MoXCJtYXJnaW4tcmlnaHRcIixwYXJzZUZsb2F0KHIpLWUuX3Njcm9sbGJhcldpZHRoK1wicHhcIil9KSx0KGcuTkFWQkFSX1RPR0dMRVIpLmVhY2goZnVuY3Rpb24obixpKXt2YXIgcz10KGkpWzBdLnN0eWxlLm1hcmdpblJpZ2h0LHI9dChpKS5jc3MoXCJtYXJnaW4tcmlnaHRcIik7dChpKS5kYXRhKFwibWFyZ2luLXJpZ2h0XCIscykuY3NzKFwibWFyZ2luLXJpZ2h0XCIscGFyc2VGbG9hdChyKStlLl9zY3JvbGxiYXJXaWR0aCtcInB4XCIpfSk7dmFyIG49ZG9jdW1lbnQuYm9keS5zdHlsZS5wYWRkaW5nUmlnaHQsaT10KFwiYm9keVwiKS5jc3MoXCJwYWRkaW5nLXJpZ2h0XCIpO3QoXCJib2R5XCIpLmRhdGEoXCJwYWRkaW5nLXJpZ2h0XCIsbikuY3NzKFwicGFkZGluZy1yaWdodFwiLHBhcnNlRmxvYXQoaSkrdGhpcy5fc2Nyb2xsYmFyV2lkdGgrXCJweFwiKX19LHAuX3Jlc2V0U2Nyb2xsYmFyPWZ1bmN0aW9uKCl7dChnLkZJWEVEX0NPTlRFTlQpLmVhY2goZnVuY3Rpb24oZSxuKXt2YXIgaT10KG4pLmRhdGEoXCJwYWRkaW5nLXJpZ2h0XCIpO1widW5kZWZpbmVkXCIhPXR5cGVvZiBpJiZ0KG4pLmNzcyhcInBhZGRpbmctcmlnaHRcIixpKS5yZW1vdmVEYXRhKFwicGFkZGluZy1yaWdodFwiKX0pLHQoZy5TVElDS1lfQ09OVEVOVCtcIiwgXCIrZy5OQVZCQVJfVE9HR0xFUikuZWFjaChmdW5jdGlvbihlLG4pe3ZhciBpPXQobikuZGF0YShcIm1hcmdpbi1yaWdodFwiKTtcInVuZGVmaW5lZFwiIT10eXBlb2YgaSYmdChuKS5jc3MoXCJtYXJnaW4tcmlnaHRcIixpKS5yZW1vdmVEYXRhKFwibWFyZ2luLXJpZ2h0XCIpfSk7dmFyIGU9dChcImJvZHlcIikuZGF0YShcInBhZGRpbmctcmlnaHRcIik7XCJ1bmRlZmluZWRcIiE9dHlwZW9mIGUmJnQoXCJib2R5XCIpLmNzcyhcInBhZGRpbmctcmlnaHRcIixlKS5yZW1vdmVEYXRhKFwicGFkZGluZy1yaWdodFwiKX0scC5fZ2V0U2Nyb2xsYmFyV2lkdGg9ZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO3QuY2xhc3NOYW1lPWMsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0KTt2YXIgZT10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoLXQuY2xpZW50V2lkdGg7cmV0dXJuIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodCksZX0sby5falF1ZXJ5SW50ZXJmYWNlPWZ1bmN0aW9uKGUsaSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBzPXQodGhpcykuZGF0YShuKSxhPXIoe30sby5EZWZhdWx0LHQodGhpcykuZGF0YSgpLFwib2JqZWN0XCI9PXR5cGVvZiBlJiZlKTtpZihzfHwocz1uZXcgbyh0aGlzLGEpLHQodGhpcykuZGF0YShuLHMpKSxcInN0cmluZ1wiPT10eXBlb2YgZSl7aWYoXCJ1bmRlZmluZWRcIj09dHlwZW9mIHNbZV0pdGhyb3cgbmV3IFR5cGVFcnJvcignTm8gbWV0aG9kIG5hbWVkIFwiJytlKydcIicpO3NbZV0oaSl9ZWxzZSBhLnNob3cmJnMuc2hvdyhpKX0pfSxzKG8sbnVsbCxbe2tleTpcIlZFUlNJT05cIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5cIjQuMC4wXCJ9fSx7a2V5OlwiRGVmYXVsdFwiLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX1dKSxvfSgpO3JldHVybiB0KGRvY3VtZW50KS5vbihoLkNMSUNLX0RBVEFfQVBJLGcuREFUQV9UT0dHTEUsZnVuY3Rpb24oZSl7dmFyIGkscz10aGlzLG89UC5nZXRTZWxlY3RvckZyb21FbGVtZW50KHRoaXMpO28mJihpPXQobylbMF0pO3ZhciBhPXQoaSkuZGF0YShuKT9cInRvZ2dsZVwiOnIoe30sdChpKS5kYXRhKCksdCh0aGlzKS5kYXRhKCkpO1wiQVwiIT09dGhpcy50YWdOYW1lJiZcIkFSRUFcIiE9PXRoaXMudGFnTmFtZXx8ZS5wcmV2ZW50RGVmYXVsdCgpO3ZhciBsPXQoaSkub25lKGguU0hPVyxmdW5jdGlvbihlKXtlLmlzRGVmYXVsdFByZXZlbnRlZCgpfHxsLm9uZShoLkhJRERFTixmdW5jdGlvbigpe3QocykuaXMoXCI6dmlzaWJsZVwiKSYmcy5mb2N1cygpfSl9KTtwLl9qUXVlcnlJbnRlcmZhY2UuY2FsbCh0KGkpLGEsdGhpcyl9KSx0LmZuLm1vZGFsPXAuX2pRdWVyeUludGVyZmFjZSx0LmZuLm1vZGFsLkNvbnN0cnVjdG9yPXAsdC5mbi5tb2RhbC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHQuZm4ubW9kYWw9byxwLl9qUXVlcnlJbnRlcmZhY2V9LHB9KGUpLFU9ZnVuY3Rpb24odCl7dmFyIGU9XCJ0b29sdGlwXCIsaT1cImJzLnRvb2x0aXBcIixvPVwiLlwiK2ksYT10LmZuW2VdLGw9bmV3IFJlZ0V4cChcIihefFxcXFxzKWJzLXRvb2x0aXBcXFxcUytcIixcImdcIiksaD17YW5pbWF0aW9uOlwiYm9vbGVhblwiLHRlbXBsYXRlOlwic3RyaW5nXCIsdGl0bGU6XCIoc3RyaW5nfGVsZW1lbnR8ZnVuY3Rpb24pXCIsdHJpZ2dlcjpcInN0cmluZ1wiLGRlbGF5OlwiKG51bWJlcnxvYmplY3QpXCIsaHRtbDpcImJvb2xlYW5cIixzZWxlY3RvcjpcIihzdHJpbmd8Ym9vbGVhbilcIixwbGFjZW1lbnQ6XCIoc3RyaW5nfGZ1bmN0aW9uKVwiLG9mZnNldDpcIihudW1iZXJ8c3RyaW5nKVwiLGNvbnRhaW5lcjpcIihzdHJpbmd8ZWxlbWVudHxib29sZWFuKVwiLGZhbGxiYWNrUGxhY2VtZW50OlwiKHN0cmluZ3xhcnJheSlcIixib3VuZGFyeTpcIihzdHJpbmd8ZWxlbWVudClcIn0sYz17QVVUTzpcImF1dG9cIixUT1A6XCJ0b3BcIixSSUdIVDpcInJpZ2h0XCIsQk9UVE9NOlwiYm90dG9tXCIsTEVGVDpcImxlZnRcIn0sdT17YW5pbWF0aW9uOiEwLHRlbXBsYXRlOic8ZGl2IGNsYXNzPVwidG9vbHRpcFwiIHJvbGU9XCJ0b29sdGlwXCI+PGRpdiBjbGFzcz1cImFycm93XCI+PC9kaXY+PGRpdiBjbGFzcz1cInRvb2x0aXAtaW5uZXJcIj48L2Rpdj48L2Rpdj4nLHRyaWdnZXI6XCJob3ZlciBmb2N1c1wiLHRpdGxlOlwiXCIsZGVsYXk6MCxodG1sOiExLHNlbGVjdG9yOiExLHBsYWNlbWVudDpcInRvcFwiLG9mZnNldDowLGNvbnRhaW5lcjohMSxmYWxsYmFja1BsYWNlbWVudDpcImZsaXBcIixib3VuZGFyeTpcInNjcm9sbFBhcmVudFwifSxmPVwic2hvd1wiLGQ9XCJvdXRcIixfPXtISURFOlwiaGlkZVwiK28sSElEREVOOlwiaGlkZGVuXCIrbyxTSE9XOlwic2hvd1wiK28sU0hPV046XCJzaG93blwiK28sSU5TRVJURUQ6XCJpbnNlcnRlZFwiK28sQ0xJQ0s6XCJjbGlja1wiK28sRk9DVVNJTjpcImZvY3VzaW5cIitvLEZPQ1VTT1VUOlwiZm9jdXNvdXRcIitvLE1PVVNFRU5URVI6XCJtb3VzZWVudGVyXCIrbyxNT1VTRUxFQVZFOlwibW91c2VsZWF2ZVwiK299LGc9XCJmYWRlXCIscD1cInNob3dcIixtPVwiLnRvb2x0aXAtaW5uZXJcIix2PVwiLmFycm93XCIsRT1cImhvdmVyXCIsVD1cImZvY3VzXCIseT1cImNsaWNrXCIsQz1cIm1hbnVhbFwiLEk9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKHQsZSl7aWYoXCJ1bmRlZmluZWRcIj09dHlwZW9mIG4pdGhyb3cgbmV3IFR5cGVFcnJvcihcIkJvb3RzdHJhcCB0b29sdGlwcyByZXF1aXJlIFBvcHBlci5qcyAoaHR0cHM6Ly9wb3BwZXIuanMub3JnKVwiKTt0aGlzLl9pc0VuYWJsZWQ9ITAsdGhpcy5fdGltZW91dD0wLHRoaXMuX2hvdmVyU3RhdGU9XCJcIix0aGlzLl9hY3RpdmVUcmlnZ2VyPXt9LHRoaXMuX3BvcHBlcj1udWxsLHRoaXMuZWxlbWVudD10LHRoaXMuY29uZmlnPXRoaXMuX2dldENvbmZpZyhlKSx0aGlzLnRpcD1udWxsLHRoaXMuX3NldExpc3RlbmVycygpfXZhciBJPWEucHJvdG90eXBlO3JldHVybiBJLmVuYWJsZT1mdW5jdGlvbigpe3RoaXMuX2lzRW5hYmxlZD0hMH0sSS5kaXNhYmxlPWZ1bmN0aW9uKCl7dGhpcy5faXNFbmFibGVkPSExfSxJLnRvZ2dsZUVuYWJsZWQ9ZnVuY3Rpb24oKXt0aGlzLl9pc0VuYWJsZWQ9IXRoaXMuX2lzRW5hYmxlZH0sSS50b2dnbGU9ZnVuY3Rpb24oZSl7aWYodGhpcy5faXNFbmFibGVkKWlmKGUpe3ZhciBuPXRoaXMuY29uc3RydWN0b3IuREFUQV9LRVksaT10KGUuY3VycmVudFRhcmdldCkuZGF0YShuKTtpfHwoaT1uZXcgdGhpcy5jb25zdHJ1Y3RvcihlLmN1cnJlbnRUYXJnZXQsdGhpcy5fZ2V0RGVsZWdhdGVDb25maWcoKSksdChlLmN1cnJlbnRUYXJnZXQpLmRhdGEobixpKSksaS5fYWN0aXZlVHJpZ2dlci5jbGljaz0haS5fYWN0aXZlVHJpZ2dlci5jbGljayxpLl9pc1dpdGhBY3RpdmVUcmlnZ2VyKCk/aS5fZW50ZXIobnVsbCxpKTppLl9sZWF2ZShudWxsLGkpfWVsc2V7aWYodCh0aGlzLmdldFRpcEVsZW1lbnQoKSkuaGFzQ2xhc3MocCkpcmV0dXJuIHZvaWQgdGhpcy5fbGVhdmUobnVsbCx0aGlzKTt0aGlzLl9lbnRlcihudWxsLHRoaXMpfX0sSS5kaXNwb3NlPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXQpLHQucmVtb3ZlRGF0YSh0aGlzLmVsZW1lbnQsdGhpcy5jb25zdHJ1Y3Rvci5EQVRBX0tFWSksdCh0aGlzLmVsZW1lbnQpLm9mZih0aGlzLmNvbnN0cnVjdG9yLkVWRU5UX0tFWSksdCh0aGlzLmVsZW1lbnQpLmNsb3Nlc3QoXCIubW9kYWxcIikub2ZmKFwiaGlkZS5icy5tb2RhbFwiKSx0aGlzLnRpcCYmdCh0aGlzLnRpcCkucmVtb3ZlKCksdGhpcy5faXNFbmFibGVkPW51bGwsdGhpcy5fdGltZW91dD1udWxsLHRoaXMuX2hvdmVyU3RhdGU9bnVsbCx0aGlzLl9hY3RpdmVUcmlnZ2VyPW51bGwsbnVsbCE9PXRoaXMuX3BvcHBlciYmdGhpcy5fcG9wcGVyLmRlc3Ryb3koKSx0aGlzLl9wb3BwZXI9bnVsbCx0aGlzLmVsZW1lbnQ9bnVsbCx0aGlzLmNvbmZpZz1udWxsLHRoaXMudGlwPW51bGx9LEkuc2hvdz1mdW5jdGlvbigpe3ZhciBlPXRoaXM7aWYoXCJub25lXCI9PT10KHRoaXMuZWxlbWVudCkuY3NzKFwiZGlzcGxheVwiKSl0aHJvdyBuZXcgRXJyb3IoXCJQbGVhc2UgdXNlIHNob3cgb24gdmlzaWJsZSBlbGVtZW50c1wiKTt2YXIgaT10LkV2ZW50KHRoaXMuY29uc3RydWN0b3IuRXZlbnQuU0hPVyk7aWYodGhpcy5pc1dpdGhDb250ZW50KCkmJnRoaXMuX2lzRW5hYmxlZCl7dCh0aGlzLmVsZW1lbnQpLnRyaWdnZXIoaSk7dmFyIHM9dC5jb250YWlucyh0aGlzLmVsZW1lbnQub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsdGhpcy5lbGVtZW50KTtpZihpLmlzRGVmYXVsdFByZXZlbnRlZCgpfHwhcylyZXR1cm47dmFyIHI9dGhpcy5nZXRUaXBFbGVtZW50KCksbz1QLmdldFVJRCh0aGlzLmNvbnN0cnVjdG9yLk5BTUUpO3Iuc2V0QXR0cmlidXRlKFwiaWRcIixvKSx0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKFwiYXJpYS1kZXNjcmliZWRieVwiLG8pLHRoaXMuc2V0Q29udGVudCgpLHRoaXMuY29uZmlnLmFuaW1hdGlvbiYmdChyKS5hZGRDbGFzcyhnKTt2YXIgbD1cImZ1bmN0aW9uXCI9PXR5cGVvZiB0aGlzLmNvbmZpZy5wbGFjZW1lbnQ/dGhpcy5jb25maWcucGxhY2VtZW50LmNhbGwodGhpcyxyLHRoaXMuZWxlbWVudCk6dGhpcy5jb25maWcucGxhY2VtZW50LGg9dGhpcy5fZ2V0QXR0YWNobWVudChsKTt0aGlzLmFkZEF0dGFjaG1lbnRDbGFzcyhoKTt2YXIgYz0hMT09PXRoaXMuY29uZmlnLmNvbnRhaW5lcj9kb2N1bWVudC5ib2R5OnQodGhpcy5jb25maWcuY29udGFpbmVyKTt0KHIpLmRhdGEodGhpcy5jb25zdHJ1Y3Rvci5EQVRBX0tFWSx0aGlzKSx0LmNvbnRhaW5zKHRoaXMuZWxlbWVudC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCx0aGlzLnRpcCl8fHQocikuYXBwZW5kVG8oYyksdCh0aGlzLmVsZW1lbnQpLnRyaWdnZXIodGhpcy5jb25zdHJ1Y3Rvci5FdmVudC5JTlNFUlRFRCksdGhpcy5fcG9wcGVyPW5ldyBuKHRoaXMuZWxlbWVudCxyLHtwbGFjZW1lbnQ6aCxtb2RpZmllcnM6e29mZnNldDp7b2Zmc2V0OnRoaXMuY29uZmlnLm9mZnNldH0sZmxpcDp7YmVoYXZpb3I6dGhpcy5jb25maWcuZmFsbGJhY2tQbGFjZW1lbnR9LGFycm93OntlbGVtZW50OnZ9LHByZXZlbnRPdmVyZmxvdzp7Ym91bmRhcmllc0VsZW1lbnQ6dGhpcy5jb25maWcuYm91bmRhcnl9fSxvbkNyZWF0ZTpmdW5jdGlvbih0KXt0Lm9yaWdpbmFsUGxhY2VtZW50IT09dC5wbGFjZW1lbnQmJmUuX2hhbmRsZVBvcHBlclBsYWNlbWVudENoYW5nZSh0KX0sb25VcGRhdGU6ZnVuY3Rpb24odCl7ZS5faGFuZGxlUG9wcGVyUGxhY2VtZW50Q2hhbmdlKHQpfX0pLHQocikuYWRkQ2xhc3MocCksXCJvbnRvdWNoc3RhcnRcImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmdChcImJvZHlcIikuY2hpbGRyZW4oKS5vbihcIm1vdXNlb3ZlclwiLG51bGwsdC5ub29wKTt2YXIgdT1mdW5jdGlvbigpe2UuY29uZmlnLmFuaW1hdGlvbiYmZS5fZml4VHJhbnNpdGlvbigpO3ZhciBuPWUuX2hvdmVyU3RhdGU7ZS5faG92ZXJTdGF0ZT1udWxsLHQoZS5lbGVtZW50KS50cmlnZ2VyKGUuY29uc3RydWN0b3IuRXZlbnQuU0hPV04pLG49PT1kJiZlLl9sZWF2ZShudWxsLGUpfTtQLnN1cHBvcnRzVHJhbnNpdGlvbkVuZCgpJiZ0KHRoaXMudGlwKS5oYXNDbGFzcyhnKT90KHRoaXMudGlwKS5vbmUoUC5UUkFOU0lUSU9OX0VORCx1KS5lbXVsYXRlVHJhbnNpdGlvbkVuZChhLl9UUkFOU0lUSU9OX0RVUkFUSU9OKTp1KCl9fSxJLmhpZGU9ZnVuY3Rpb24oZSl7dmFyIG49dGhpcyxpPXRoaXMuZ2V0VGlwRWxlbWVudCgpLHM9dC5FdmVudCh0aGlzLmNvbnN0cnVjdG9yLkV2ZW50LkhJREUpLHI9ZnVuY3Rpb24oKXtuLl9ob3ZlclN0YXRlIT09ZiYmaS5wYXJlbnROb2RlJiZpLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaSksbi5fY2xlYW5UaXBDbGFzcygpLG4uZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoXCJhcmlhLWRlc2NyaWJlZGJ5XCIpLHQobi5lbGVtZW50KS50cmlnZ2VyKG4uY29uc3RydWN0b3IuRXZlbnQuSElEREVOKSxudWxsIT09bi5fcG9wcGVyJiZuLl9wb3BwZXIuZGVzdHJveSgpLGUmJmUoKX07dCh0aGlzLmVsZW1lbnQpLnRyaWdnZXIocykscy5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8KHQoaSkucmVtb3ZlQ2xhc3MocCksXCJvbnRvdWNoc3RhcnRcImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmdChcImJvZHlcIikuY2hpbGRyZW4oKS5vZmYoXCJtb3VzZW92ZXJcIixudWxsLHQubm9vcCksdGhpcy5fYWN0aXZlVHJpZ2dlclt5XT0hMSx0aGlzLl9hY3RpdmVUcmlnZ2VyW1RdPSExLHRoaXMuX2FjdGl2ZVRyaWdnZXJbRV09ITEsUC5zdXBwb3J0c1RyYW5zaXRpb25FbmQoKSYmdCh0aGlzLnRpcCkuaGFzQ2xhc3MoZyk/dChpKS5vbmUoUC5UUkFOU0lUSU9OX0VORCxyKS5lbXVsYXRlVHJhbnNpdGlvbkVuZCgxNTApOnIoKSx0aGlzLl9ob3ZlclN0YXRlPVwiXCIpfSxJLnVwZGF0ZT1mdW5jdGlvbigpe251bGwhPT10aGlzLl9wb3BwZXImJnRoaXMuX3BvcHBlci5zY2hlZHVsZVVwZGF0ZSgpfSxJLmlzV2l0aENvbnRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gQm9vbGVhbih0aGlzLmdldFRpdGxlKCkpfSxJLmFkZEF0dGFjaG1lbnRDbGFzcz1mdW5jdGlvbihlKXt0KHRoaXMuZ2V0VGlwRWxlbWVudCgpKS5hZGRDbGFzcyhcImJzLXRvb2x0aXAtXCIrZSl9LEkuZ2V0VGlwRWxlbWVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRpcD10aGlzLnRpcHx8dCh0aGlzLmNvbmZpZy50ZW1wbGF0ZSlbMF0sdGhpcy50aXB9LEkuc2V0Q29udGVudD1mdW5jdGlvbigpe3ZhciBlPXQodGhpcy5nZXRUaXBFbGVtZW50KCkpO3RoaXMuc2V0RWxlbWVudENvbnRlbnQoZS5maW5kKG0pLHRoaXMuZ2V0VGl0bGUoKSksZS5yZW1vdmVDbGFzcyhnK1wiIFwiK3ApfSxJLnNldEVsZW1lbnRDb250ZW50PWZ1bmN0aW9uKGUsbil7dmFyIGk9dGhpcy5jb25maWcuaHRtbDtcIm9iamVjdFwiPT10eXBlb2YgbiYmKG4ubm9kZVR5cGV8fG4uanF1ZXJ5KT9pP3QobikucGFyZW50KCkuaXMoZSl8fGUuZW1wdHkoKS5hcHBlbmQobik6ZS50ZXh0KHQobikudGV4dCgpKTplW2k/XCJodG1sXCI6XCJ0ZXh0XCJdKG4pfSxJLmdldFRpdGxlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5lbGVtZW50LmdldEF0dHJpYnV0ZShcImRhdGEtb3JpZ2luYWwtdGl0bGVcIik7cmV0dXJuIHR8fCh0PVwiZnVuY3Rpb25cIj09dHlwZW9mIHRoaXMuY29uZmlnLnRpdGxlP3RoaXMuY29uZmlnLnRpdGxlLmNhbGwodGhpcy5lbGVtZW50KTp0aGlzLmNvbmZpZy50aXRsZSksdH0sSS5fZ2V0QXR0YWNobWVudD1mdW5jdGlvbih0KXtyZXR1cm4gY1t0LnRvVXBwZXJDYXNlKCldfSxJLl9zZXRMaXN0ZW5lcnM9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3RoaXMuY29uZmlnLnRyaWdnZXIuc3BsaXQoXCIgXCIpLmZvckVhY2goZnVuY3Rpb24obil7aWYoXCJjbGlja1wiPT09bil0KGUuZWxlbWVudCkub24oZS5jb25zdHJ1Y3Rvci5FdmVudC5DTElDSyxlLmNvbmZpZy5zZWxlY3RvcixmdW5jdGlvbih0KXtyZXR1cm4gZS50b2dnbGUodCl9KTtlbHNlIGlmKG4hPT1DKXt2YXIgaT1uPT09RT9lLmNvbnN0cnVjdG9yLkV2ZW50Lk1PVVNFRU5URVI6ZS5jb25zdHJ1Y3Rvci5FdmVudC5GT0NVU0lOLHM9bj09PUU/ZS5jb25zdHJ1Y3Rvci5FdmVudC5NT1VTRUxFQVZFOmUuY29uc3RydWN0b3IuRXZlbnQuRk9DVVNPVVQ7dChlLmVsZW1lbnQpLm9uKGksZS5jb25maWcuc2VsZWN0b3IsZnVuY3Rpb24odCl7cmV0dXJuIGUuX2VudGVyKHQpfSkub24ocyxlLmNvbmZpZy5zZWxlY3RvcixmdW5jdGlvbih0KXtyZXR1cm4gZS5fbGVhdmUodCl9KX10KGUuZWxlbWVudCkuY2xvc2VzdChcIi5tb2RhbFwiKS5vbihcImhpZGUuYnMubW9kYWxcIixmdW5jdGlvbigpe3JldHVybiBlLmhpZGUoKX0pfSksdGhpcy5jb25maWcuc2VsZWN0b3I/dGhpcy5jb25maWc9cih7fSx0aGlzLmNvbmZpZyx7dHJpZ2dlcjpcIm1hbnVhbFwiLHNlbGVjdG9yOlwiXCJ9KTp0aGlzLl9maXhUaXRsZSgpfSxJLl9maXhUaXRsZT1mdW5jdGlvbigpe3ZhciB0PXR5cGVvZiB0aGlzLmVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiZGF0YS1vcmlnaW5hbC10aXRsZVwiKTsodGhpcy5lbGVtZW50LmdldEF0dHJpYnV0ZShcInRpdGxlXCIpfHxcInN0cmluZ1wiIT09dCkmJih0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1vcmlnaW5hbC10aXRsZVwiLHRoaXMuZWxlbWVudC5nZXRBdHRyaWJ1dGUoXCJ0aXRsZVwiKXx8XCJcIiksdGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZShcInRpdGxlXCIsXCJcIikpfSxJLl9lbnRlcj1mdW5jdGlvbihlLG4pe3ZhciBpPXRoaXMuY29uc3RydWN0b3IuREFUQV9LRVk7KG49bnx8dChlLmN1cnJlbnRUYXJnZXQpLmRhdGEoaSkpfHwobj1uZXcgdGhpcy5jb25zdHJ1Y3RvcihlLmN1cnJlbnRUYXJnZXQsdGhpcy5fZ2V0RGVsZWdhdGVDb25maWcoKSksdChlLmN1cnJlbnRUYXJnZXQpLmRhdGEoaSxuKSksZSYmKG4uX2FjdGl2ZVRyaWdnZXJbXCJmb2N1c2luXCI9PT1lLnR5cGU/VDpFXT0hMCksdChuLmdldFRpcEVsZW1lbnQoKSkuaGFzQ2xhc3MocCl8fG4uX2hvdmVyU3RhdGU9PT1mP24uX2hvdmVyU3RhdGU9ZjooY2xlYXJUaW1lb3V0KG4uX3RpbWVvdXQpLG4uX2hvdmVyU3RhdGU9ZixuLmNvbmZpZy5kZWxheSYmbi5jb25maWcuZGVsYXkuc2hvdz9uLl90aW1lb3V0PXNldFRpbWVvdXQoZnVuY3Rpb24oKXtuLl9ob3ZlclN0YXRlPT09ZiYmbi5zaG93KCl9LG4uY29uZmlnLmRlbGF5LnNob3cpOm4uc2hvdygpKX0sSS5fbGVhdmU9ZnVuY3Rpb24oZSxuKXt2YXIgaT10aGlzLmNvbnN0cnVjdG9yLkRBVEFfS0VZOyhuPW58fHQoZS5jdXJyZW50VGFyZ2V0KS5kYXRhKGkpKXx8KG49bmV3IHRoaXMuY29uc3RydWN0b3IoZS5jdXJyZW50VGFyZ2V0LHRoaXMuX2dldERlbGVnYXRlQ29uZmlnKCkpLHQoZS5jdXJyZW50VGFyZ2V0KS5kYXRhKGksbikpLGUmJihuLl9hY3RpdmVUcmlnZ2VyW1wiZm9jdXNvdXRcIj09PWUudHlwZT9UOkVdPSExKSxuLl9pc1dpdGhBY3RpdmVUcmlnZ2VyKCl8fChjbGVhclRpbWVvdXQobi5fdGltZW91dCksbi5faG92ZXJTdGF0ZT1kLG4uY29uZmlnLmRlbGF5JiZuLmNvbmZpZy5kZWxheS5oaWRlP24uX3RpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbigpe24uX2hvdmVyU3RhdGU9PT1kJiZuLmhpZGUoKX0sbi5jb25maWcuZGVsYXkuaGlkZSk6bi5oaWRlKCkpfSxJLl9pc1dpdGhBY3RpdmVUcmlnZ2VyPWZ1bmN0aW9uKCl7Zm9yKHZhciB0IGluIHRoaXMuX2FjdGl2ZVRyaWdnZXIpaWYodGhpcy5fYWN0aXZlVHJpZ2dlclt0XSlyZXR1cm4hMDtyZXR1cm4hMX0sSS5fZ2V0Q29uZmlnPWZ1bmN0aW9uKG4pe3JldHVyblwibnVtYmVyXCI9PXR5cGVvZihuPXIoe30sdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0LHQodGhpcy5lbGVtZW50KS5kYXRhKCksbikpLmRlbGF5JiYobi5kZWxheT17c2hvdzpuLmRlbGF5LGhpZGU6bi5kZWxheX0pLFwibnVtYmVyXCI9PXR5cGVvZiBuLnRpdGxlJiYobi50aXRsZT1uLnRpdGxlLnRvU3RyaW5nKCkpLFwibnVtYmVyXCI9PXR5cGVvZiBuLmNvbnRlbnQmJihuLmNvbnRlbnQ9bi5jb250ZW50LnRvU3RyaW5nKCkpLFAudHlwZUNoZWNrQ29uZmlnKGUsbix0aGlzLmNvbnN0cnVjdG9yLkRlZmF1bHRUeXBlKSxufSxJLl9nZXREZWxlZ2F0ZUNvbmZpZz1mdW5jdGlvbigpe3ZhciB0PXt9O2lmKHRoaXMuY29uZmlnKWZvcih2YXIgZSBpbiB0aGlzLmNvbmZpZyl0aGlzLmNvbnN0cnVjdG9yLkRlZmF1bHRbZV0hPT10aGlzLmNvbmZpZ1tlXSYmKHRbZV09dGhpcy5jb25maWdbZV0pO3JldHVybiB0fSxJLl9jbGVhblRpcENsYXNzPWZ1bmN0aW9uKCl7dmFyIGU9dCh0aGlzLmdldFRpcEVsZW1lbnQoKSksbj1lLmF0dHIoXCJjbGFzc1wiKS5tYXRjaChsKTtudWxsIT09biYmbi5sZW5ndGg+MCYmZS5yZW1vdmVDbGFzcyhuLmpvaW4oXCJcIikpfSxJLl9oYW5kbGVQb3BwZXJQbGFjZW1lbnRDaGFuZ2U9ZnVuY3Rpb24odCl7dGhpcy5fY2xlYW5UaXBDbGFzcygpLHRoaXMuYWRkQXR0YWNobWVudENsYXNzKHRoaXMuX2dldEF0dGFjaG1lbnQodC5wbGFjZW1lbnQpKX0sSS5fZml4VHJhbnNpdGlvbj1mdW5jdGlvbigpe3ZhciBlPXRoaXMuZ2V0VGlwRWxlbWVudCgpLG49dGhpcy5jb25maWcuYW5pbWF0aW9uO251bGw9PT1lLmdldEF0dHJpYnV0ZShcIngtcGxhY2VtZW50XCIpJiYodChlKS5yZW1vdmVDbGFzcyhnKSx0aGlzLmNvbmZpZy5hbmltYXRpb249ITEsdGhpcy5oaWRlKCksdGhpcy5zaG93KCksdGhpcy5jb25maWcuYW5pbWF0aW9uPW4pfSxhLl9qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBuPXQodGhpcykuZGF0YShpKSxzPVwib2JqZWN0XCI9PXR5cGVvZiBlJiZlO2lmKChufHwhL2Rpc3Bvc2V8aGlkZS8udGVzdChlKSkmJihufHwobj1uZXcgYSh0aGlzLHMpLHQodGhpcykuZGF0YShpLG4pKSxcInN0cmluZ1wiPT10eXBlb2YgZSkpe2lmKFwidW5kZWZpbmVkXCI9PXR5cGVvZiBuW2VdKXRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCBcIicrZSsnXCInKTtuW2VdKCl9fSl9LHMoYSxudWxsLFt7a2V5OlwiVkVSU0lPTlwiLGdldDpmdW5jdGlvbigpe3JldHVyblwiNC4wLjBcIn19LHtrZXk6XCJEZWZhdWx0XCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHV9fSx7a2V5OlwiTkFNRVwiLGdldDpmdW5jdGlvbigpe3JldHVybiBlfX0se2tleTpcIkRBVEFfS0VZXCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGl9fSx7a2V5OlwiRXZlbnRcIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gX319LHtrZXk6XCJFVkVOVF9LRVlcIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gb319LHtrZXk6XCJEZWZhdWx0VHlwZVwiLGdldDpmdW5jdGlvbigpe3JldHVybiBofX1dKSxhfSgpO3JldHVybiB0LmZuW2VdPUkuX2pRdWVyeUludGVyZmFjZSx0LmZuW2VdLkNvbnN0cnVjdG9yPUksdC5mbltlXS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHQuZm5bZV09YSxJLl9qUXVlcnlJbnRlcmZhY2V9LEl9KGUpLHg9ZnVuY3Rpb24odCl7dmFyIGU9XCJwb3BvdmVyXCIsbj1cImJzLnBvcG92ZXJcIixpPVwiLlwiK24sbz10LmZuW2VdLGE9bmV3IFJlZ0V4cChcIihefFxcXFxzKWJzLXBvcG92ZXJcXFxcUytcIixcImdcIiksbD1yKHt9LFUuRGVmYXVsdCx7cGxhY2VtZW50OlwicmlnaHRcIix0cmlnZ2VyOlwiY2xpY2tcIixjb250ZW50OlwiXCIsdGVtcGxhdGU6JzxkaXYgY2xhc3M9XCJwb3BvdmVyXCIgcm9sZT1cInRvb2x0aXBcIj48ZGl2IGNsYXNzPVwiYXJyb3dcIj48L2Rpdj48aDMgY2xhc3M9XCJwb3BvdmVyLWhlYWRlclwiPjwvaDM+PGRpdiBjbGFzcz1cInBvcG92ZXItYm9keVwiPjwvZGl2PjwvZGl2Pid9KSxoPXIoe30sVS5EZWZhdWx0VHlwZSx7Y29udGVudDpcIihzdHJpbmd8ZWxlbWVudHxmdW5jdGlvbilcIn0pLGM9XCJmYWRlXCIsdT1cInNob3dcIixmPVwiLnBvcG92ZXItaGVhZGVyXCIsZD1cIi5wb3BvdmVyLWJvZHlcIixfPXtISURFOlwiaGlkZVwiK2ksSElEREVOOlwiaGlkZGVuXCIraSxTSE9XOlwic2hvd1wiK2ksU0hPV046XCJzaG93blwiK2ksSU5TRVJURUQ6XCJpbnNlcnRlZFwiK2ksQ0xJQ0s6XCJjbGlja1wiK2ksRk9DVVNJTjpcImZvY3VzaW5cIitpLEZPQ1VTT1VUOlwiZm9jdXNvdXRcIitpLE1PVVNFRU5URVI6XCJtb3VzZWVudGVyXCIraSxNT1VTRUxFQVZFOlwibW91c2VsZWF2ZVwiK2l9LGc9ZnVuY3Rpb24ocil7dmFyIG8sZztmdW5jdGlvbiBwKCl7cmV0dXJuIHIuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzfWc9ciwobz1wKS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShnLnByb3RvdHlwZSksby5wcm90b3R5cGUuY29uc3RydWN0b3I9byxvLl9fcHJvdG9fXz1nO3ZhciBtPXAucHJvdG90eXBlO3JldHVybiBtLmlzV2l0aENvbnRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRUaXRsZSgpfHx0aGlzLl9nZXRDb250ZW50KCl9LG0uYWRkQXR0YWNobWVudENsYXNzPWZ1bmN0aW9uKGUpe3QodGhpcy5nZXRUaXBFbGVtZW50KCkpLmFkZENsYXNzKFwiYnMtcG9wb3Zlci1cIitlKX0sbS5nZXRUaXBFbGVtZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudGlwPXRoaXMudGlwfHx0KHRoaXMuY29uZmlnLnRlbXBsYXRlKVswXSx0aGlzLnRpcH0sbS5zZXRDb250ZW50PWZ1bmN0aW9uKCl7dmFyIGU9dCh0aGlzLmdldFRpcEVsZW1lbnQoKSk7dGhpcy5zZXRFbGVtZW50Q29udGVudChlLmZpbmQoZiksdGhpcy5nZXRUaXRsZSgpKTt2YXIgbj10aGlzLl9nZXRDb250ZW50KCk7XCJmdW5jdGlvblwiPT10eXBlb2YgbiYmKG49bi5jYWxsKHRoaXMuZWxlbWVudCkpLHRoaXMuc2V0RWxlbWVudENvbnRlbnQoZS5maW5kKGQpLG4pLGUucmVtb3ZlQ2xhc3MoYytcIiBcIit1KX0sbS5fZ2V0Q29udGVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiZGF0YS1jb250ZW50XCIpfHx0aGlzLmNvbmZpZy5jb250ZW50fSxtLl9jbGVhblRpcENsYXNzPWZ1bmN0aW9uKCl7dmFyIGU9dCh0aGlzLmdldFRpcEVsZW1lbnQoKSksbj1lLmF0dHIoXCJjbGFzc1wiKS5tYXRjaChhKTtudWxsIT09biYmbi5sZW5ndGg+MCYmZS5yZW1vdmVDbGFzcyhuLmpvaW4oXCJcIikpfSxwLl9qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBpPXQodGhpcykuZGF0YShuKSxzPVwib2JqZWN0XCI9PXR5cGVvZiBlP2U6bnVsbDtpZigoaXx8IS9kZXN0cm95fGhpZGUvLnRlc3QoZSkpJiYoaXx8KGk9bmV3IHAodGhpcyxzKSx0KHRoaXMpLmRhdGEobixpKSksXCJzdHJpbmdcIj09dHlwZW9mIGUpKXtpZihcInVuZGVmaW5lZFwiPT10eXBlb2YgaVtlXSl0aHJvdyBuZXcgVHlwZUVycm9yKCdObyBtZXRob2QgbmFtZWQgXCInK2UrJ1wiJyk7aVtlXSgpfX0pfSxzKHAsbnVsbCxbe2tleTpcIlZFUlNJT05cIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5cIjQuMC4wXCJ9fSx7a2V5OlwiRGVmYXVsdFwiLGdldDpmdW5jdGlvbigpe3JldHVybiBsfX0se2tleTpcIk5BTUVcIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZX19LHtrZXk6XCJEQVRBX0tFWVwiLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0se2tleTpcIkV2ZW50XCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIF99fSx7a2V5OlwiRVZFTlRfS0VZXCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGl9fSx7a2V5OlwiRGVmYXVsdFR5cGVcIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaH19XSkscH0oVSk7cmV0dXJuIHQuZm5bZV09Zy5falF1ZXJ5SW50ZXJmYWNlLHQuZm5bZV0uQ29uc3RydWN0b3I9Zyx0LmZuW2VdLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdC5mbltlXT1vLGcuX2pRdWVyeUludGVyZmFjZX0sZ30oZSksSz1mdW5jdGlvbih0KXt2YXIgZT1cInNjcm9sbHNweVwiLG49XCJicy5zY3JvbGxzcHlcIixpPVwiLlwiK24sbz10LmZuW2VdLGE9e29mZnNldDoxMCxtZXRob2Q6XCJhdXRvXCIsdGFyZ2V0OlwiXCJ9LGw9e29mZnNldDpcIm51bWJlclwiLG1ldGhvZDpcInN0cmluZ1wiLHRhcmdldDpcIihzdHJpbmd8ZWxlbWVudClcIn0saD17QUNUSVZBVEU6XCJhY3RpdmF0ZVwiK2ksU0NST0xMOlwic2Nyb2xsXCIraSxMT0FEX0RBVEFfQVBJOlwibG9hZFwiK2krXCIuZGF0YS1hcGlcIn0sYz1cImRyb3Bkb3duLWl0ZW1cIix1PVwiYWN0aXZlXCIsZj17REFUQV9TUFk6J1tkYXRhLXNweT1cInNjcm9sbFwiXScsQUNUSVZFOlwiLmFjdGl2ZVwiLE5BVl9MSVNUX0dST1VQOlwiLm5hdiwgLmxpc3QtZ3JvdXBcIixOQVZfTElOS1M6XCIubmF2LWxpbmtcIixOQVZfSVRFTVM6XCIubmF2LWl0ZW1cIixMSVNUX0lURU1TOlwiLmxpc3QtZ3JvdXAtaXRlbVwiLERST1BET1dOOlwiLmRyb3Bkb3duXCIsRFJPUERPV05fSVRFTVM6XCIuZHJvcGRvd24taXRlbVwiLERST1BET1dOX1RPR0dMRTpcIi5kcm9wZG93bi10b2dnbGVcIn0sZD1cIm9mZnNldFwiLF89XCJwb3NpdGlvblwiLGc9ZnVuY3Rpb24oKXtmdW5jdGlvbiBvKGUsbil7dmFyIGk9dGhpczt0aGlzLl9lbGVtZW50PWUsdGhpcy5fc2Nyb2xsRWxlbWVudD1cIkJPRFlcIj09PWUudGFnTmFtZT93aW5kb3c6ZSx0aGlzLl9jb25maWc9dGhpcy5fZ2V0Q29uZmlnKG4pLHRoaXMuX3NlbGVjdG9yPXRoaXMuX2NvbmZpZy50YXJnZXQrXCIgXCIrZi5OQVZfTElOS1MrXCIsXCIrdGhpcy5fY29uZmlnLnRhcmdldCtcIiBcIitmLkxJU1RfSVRFTVMrXCIsXCIrdGhpcy5fY29uZmlnLnRhcmdldCtcIiBcIitmLkRST1BET1dOX0lURU1TLHRoaXMuX29mZnNldHM9W10sdGhpcy5fdGFyZ2V0cz1bXSx0aGlzLl9hY3RpdmVUYXJnZXQ9bnVsbCx0aGlzLl9zY3JvbGxIZWlnaHQ9MCx0KHRoaXMuX3Njcm9sbEVsZW1lbnQpLm9uKGguU0NST0xMLGZ1bmN0aW9uKHQpe3JldHVybiBpLl9wcm9jZXNzKHQpfSksdGhpcy5yZWZyZXNoKCksdGhpcy5fcHJvY2VzcygpfXZhciBnPW8ucHJvdG90eXBlO3JldHVybiBnLnJlZnJlc2g9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLG49dGhpcy5fc2Nyb2xsRWxlbWVudD09PXRoaXMuX3Njcm9sbEVsZW1lbnQud2luZG93P2Q6XyxpPVwiYXV0b1wiPT09dGhpcy5fY29uZmlnLm1ldGhvZD9uOnRoaXMuX2NvbmZpZy5tZXRob2Qscz1pPT09Xz90aGlzLl9nZXRTY3JvbGxUb3AoKTowO3RoaXMuX29mZnNldHM9W10sdGhpcy5fdGFyZ2V0cz1bXSx0aGlzLl9zY3JvbGxIZWlnaHQ9dGhpcy5fZ2V0U2Nyb2xsSGVpZ2h0KCksdC5tYWtlQXJyYXkodCh0aGlzLl9zZWxlY3RvcikpLm1hcChmdW5jdGlvbihlKXt2YXIgbixyPVAuZ2V0U2VsZWN0b3JGcm9tRWxlbWVudChlKTtpZihyJiYobj10KHIpWzBdKSxuKXt2YXIgbz1uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKG8ud2lkdGh8fG8uaGVpZ2h0KXJldHVyblt0KG4pW2ldKCkudG9wK3Mscl19cmV0dXJuIG51bGx9KS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHR9KS5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRbMF0tZVswXX0pLmZvckVhY2goZnVuY3Rpb24odCl7ZS5fb2Zmc2V0cy5wdXNoKHRbMF0pLGUuX3RhcmdldHMucHVzaCh0WzFdKX0pfSxnLmRpc3Bvc2U9ZnVuY3Rpb24oKXt0LnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCxuKSx0KHRoaXMuX3Njcm9sbEVsZW1lbnQpLm9mZihpKSx0aGlzLl9lbGVtZW50PW51bGwsdGhpcy5fc2Nyb2xsRWxlbWVudD1udWxsLHRoaXMuX2NvbmZpZz1udWxsLHRoaXMuX3NlbGVjdG9yPW51bGwsdGhpcy5fb2Zmc2V0cz1udWxsLHRoaXMuX3RhcmdldHM9bnVsbCx0aGlzLl9hY3RpdmVUYXJnZXQ9bnVsbCx0aGlzLl9zY3JvbGxIZWlnaHQ9bnVsbH0sZy5fZ2V0Q29uZmlnPWZ1bmN0aW9uKG4pe2lmKFwic3RyaW5nXCIhPXR5cGVvZihuPXIoe30sYSxuKSkudGFyZ2V0KXt2YXIgaT10KG4udGFyZ2V0KS5hdHRyKFwiaWRcIik7aXx8KGk9UC5nZXRVSUQoZSksdChuLnRhcmdldCkuYXR0cihcImlkXCIsaSkpLG4udGFyZ2V0PVwiI1wiK2l9cmV0dXJuIFAudHlwZUNoZWNrQ29uZmlnKGUsbixsKSxufSxnLl9nZXRTY3JvbGxUb3A9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudD09PXdpbmRvdz90aGlzLl9zY3JvbGxFbGVtZW50LnBhZ2VZT2Zmc2V0OnRoaXMuX3Njcm9sbEVsZW1lbnQuc2Nyb2xsVG9wfSxnLl9nZXRTY3JvbGxIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudC5zY3JvbGxIZWlnaHR8fE1hdGgubWF4KGRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0LGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQpfSxnLl9nZXRPZmZzZXRIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudD09PXdpbmRvdz93aW5kb3cuaW5uZXJIZWlnaHQ6dGhpcy5fc2Nyb2xsRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHR9LGcuX3Byb2Nlc3M9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9nZXRTY3JvbGxUb3AoKSt0aGlzLl9jb25maWcub2Zmc2V0LGU9dGhpcy5fZ2V0U2Nyb2xsSGVpZ2h0KCksbj10aGlzLl9jb25maWcub2Zmc2V0K2UtdGhpcy5fZ2V0T2Zmc2V0SGVpZ2h0KCk7aWYodGhpcy5fc2Nyb2xsSGVpZ2h0IT09ZSYmdGhpcy5yZWZyZXNoKCksdD49bil7dmFyIGk9dGhpcy5fdGFyZ2V0c1t0aGlzLl90YXJnZXRzLmxlbmd0aC0xXTt0aGlzLl9hY3RpdmVUYXJnZXQhPT1pJiZ0aGlzLl9hY3RpdmF0ZShpKX1lbHNle2lmKHRoaXMuX2FjdGl2ZVRhcmdldCYmdDx0aGlzLl9vZmZzZXRzWzBdJiZ0aGlzLl9vZmZzZXRzWzBdPjApcmV0dXJuIHRoaXMuX2FjdGl2ZVRhcmdldD1udWxsLHZvaWQgdGhpcy5fY2xlYXIoKTtmb3IodmFyIHM9dGhpcy5fb2Zmc2V0cy5sZW5ndGg7cy0tOyl7dGhpcy5fYWN0aXZlVGFyZ2V0IT09dGhpcy5fdGFyZ2V0c1tzXSYmdD49dGhpcy5fb2Zmc2V0c1tzXSYmKFwidW5kZWZpbmVkXCI9PXR5cGVvZiB0aGlzLl9vZmZzZXRzW3MrMV18fHQ8dGhpcy5fb2Zmc2V0c1tzKzFdKSYmdGhpcy5fYWN0aXZhdGUodGhpcy5fdGFyZ2V0c1tzXSl9fX0sZy5fYWN0aXZhdGU9ZnVuY3Rpb24oZSl7dGhpcy5fYWN0aXZlVGFyZ2V0PWUsdGhpcy5fY2xlYXIoKTt2YXIgbj10aGlzLl9zZWxlY3Rvci5zcGxpdChcIixcIik7bj1uLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdCsnW2RhdGEtdGFyZ2V0PVwiJytlKydcIl0sJyt0KydbaHJlZj1cIicrZSsnXCJdJ30pO3ZhciBpPXQobi5qb2luKFwiLFwiKSk7aS5oYXNDbGFzcyhjKT8oaS5jbG9zZXN0KGYuRFJPUERPV04pLmZpbmQoZi5EUk9QRE9XTl9UT0dHTEUpLmFkZENsYXNzKHUpLGkuYWRkQ2xhc3ModSkpOihpLmFkZENsYXNzKHUpLGkucGFyZW50cyhmLk5BVl9MSVNUX0dST1VQKS5wcmV2KGYuTkFWX0xJTktTK1wiLCBcIitmLkxJU1RfSVRFTVMpLmFkZENsYXNzKHUpLGkucGFyZW50cyhmLk5BVl9MSVNUX0dST1VQKS5wcmV2KGYuTkFWX0lURU1TKS5jaGlsZHJlbihmLk5BVl9MSU5LUykuYWRkQ2xhc3ModSkpLHQodGhpcy5fc2Nyb2xsRWxlbWVudCkudHJpZ2dlcihoLkFDVElWQVRFLHtyZWxhdGVkVGFyZ2V0OmV9KX0sZy5fY2xlYXI9ZnVuY3Rpb24oKXt0KHRoaXMuX3NlbGVjdG9yKS5maWx0ZXIoZi5BQ1RJVkUpLnJlbW92ZUNsYXNzKHUpfSxvLl9qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBpPXQodGhpcykuZGF0YShuKTtpZihpfHwoaT1uZXcgbyh0aGlzLFwib2JqZWN0XCI9PXR5cGVvZiBlJiZlKSx0KHRoaXMpLmRhdGEobixpKSksXCJzdHJpbmdcIj09dHlwZW9mIGUpe2lmKFwidW5kZWZpbmVkXCI9PXR5cGVvZiBpW2VdKXRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCBcIicrZSsnXCInKTtpW2VdKCl9fSl9LHMobyxudWxsLFt7a2V5OlwiVkVSU0lPTlwiLGdldDpmdW5jdGlvbigpe3JldHVyblwiNC4wLjBcIn19LHtrZXk6XCJEZWZhdWx0XCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fV0pLG99KCk7cmV0dXJuIHQod2luZG93KS5vbihoLkxPQURfREFUQV9BUEksZnVuY3Rpb24oKXtmb3IodmFyIGU9dC5tYWtlQXJyYXkodChmLkRBVEFfU1BZKSksbj1lLmxlbmd0aDtuLS07KXt2YXIgaT10KGVbbl0pO2cuX2pRdWVyeUludGVyZmFjZS5jYWxsKGksaS5kYXRhKCkpfX0pLHQuZm5bZV09Zy5falF1ZXJ5SW50ZXJmYWNlLHQuZm5bZV0uQ29uc3RydWN0b3I9Zyx0LmZuW2VdLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdC5mbltlXT1vLGcuX2pRdWVyeUludGVyZmFjZX0sZ30oZSksVj1mdW5jdGlvbih0KXt2YXIgZT1cImJzLnRhYlwiLG49XCIuXCIrZSxpPXQuZm4udGFiLHI9e0hJREU6XCJoaWRlXCIrbixISURERU46XCJoaWRkZW5cIituLFNIT1c6XCJzaG93XCIrbixTSE9XTjpcInNob3duXCIrbixDTElDS19EQVRBX0FQSTpcImNsaWNrLmJzLnRhYi5kYXRhLWFwaVwifSxvPVwiZHJvcGRvd24tbWVudVwiLGE9XCJhY3RpdmVcIixsPVwiZGlzYWJsZWRcIixoPVwiZmFkZVwiLGM9XCJzaG93XCIsdT1cIi5kcm9wZG93blwiLGY9XCIubmF2LCAubGlzdC1ncm91cFwiLGQ9XCIuYWN0aXZlXCIsXz1cIj4gbGkgPiAuYWN0aXZlXCIsZz0nW2RhdGEtdG9nZ2xlPVwidGFiXCJdLCBbZGF0YS10b2dnbGU9XCJwaWxsXCJdLCBbZGF0YS10b2dnbGU9XCJsaXN0XCJdJyxwPVwiLmRyb3Bkb3duLXRvZ2dsZVwiLG09XCI+IC5kcm9wZG93bi1tZW51IC5hY3RpdmVcIix2PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbih0KXt0aGlzLl9lbGVtZW50PXR9dmFyIGk9bi5wcm90b3R5cGU7cmV0dXJuIGkuc2hvdz1mdW5jdGlvbigpe3ZhciBlPXRoaXM7aWYoISh0aGlzLl9lbGVtZW50LnBhcmVudE5vZGUmJnRoaXMuX2VsZW1lbnQucGFyZW50Tm9kZS5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFJiZ0KHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKGEpfHx0KHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKGwpKSl7dmFyIG4saSxzPXQodGhpcy5fZWxlbWVudCkuY2xvc2VzdChmKVswXSxvPVAuZ2V0U2VsZWN0b3JGcm9tRWxlbWVudCh0aGlzLl9lbGVtZW50KTtpZihzKXt2YXIgaD1cIlVMXCI9PT1zLm5vZGVOYW1lP186ZDtpPShpPXQubWFrZUFycmF5KHQocykuZmluZChoKSkpW2kubGVuZ3RoLTFdfXZhciBjPXQuRXZlbnQoci5ISURFLHtyZWxhdGVkVGFyZ2V0OnRoaXMuX2VsZW1lbnR9KSx1PXQuRXZlbnQoci5TSE9XLHtyZWxhdGVkVGFyZ2V0Oml9KTtpZihpJiZ0KGkpLnRyaWdnZXIoYyksdCh0aGlzLl9lbGVtZW50KS50cmlnZ2VyKHUpLCF1LmlzRGVmYXVsdFByZXZlbnRlZCgpJiYhYy5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7byYmKG49dChvKVswXSksdGhpcy5fYWN0aXZhdGUodGhpcy5fZWxlbWVudCxzKTt2YXIgZz1mdW5jdGlvbigpe3ZhciBuPXQuRXZlbnQoci5ISURERU4se3JlbGF0ZWRUYXJnZXQ6ZS5fZWxlbWVudH0pLHM9dC5FdmVudChyLlNIT1dOLHtyZWxhdGVkVGFyZ2V0Oml9KTt0KGkpLnRyaWdnZXIobiksdChlLl9lbGVtZW50KS50cmlnZ2VyKHMpfTtuP3RoaXMuX2FjdGl2YXRlKG4sbi5wYXJlbnROb2RlLGcpOmcoKX19fSxpLmRpc3Bvc2U9ZnVuY3Rpb24oKXt0LnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCxlKSx0aGlzLl9lbGVtZW50PW51bGx9LGkuX2FjdGl2YXRlPWZ1bmN0aW9uKGUsbixpKXt2YXIgcz10aGlzLHI9KFwiVUxcIj09PW4ubm9kZU5hbWU/dChuKS5maW5kKF8pOnQobikuY2hpbGRyZW4oZCkpWzBdLG89aSYmUC5zdXBwb3J0c1RyYW5zaXRpb25FbmQoKSYmciYmdChyKS5oYXNDbGFzcyhoKSxhPWZ1bmN0aW9uKCl7cmV0dXJuIHMuX3RyYW5zaXRpb25Db21wbGV0ZShlLHIsaSl9O3ImJm8/dChyKS5vbmUoUC5UUkFOU0lUSU9OX0VORCxhKS5lbXVsYXRlVHJhbnNpdGlvbkVuZCgxNTApOmEoKX0saS5fdHJhbnNpdGlvbkNvbXBsZXRlPWZ1bmN0aW9uKGUsbixpKXtpZihuKXt0KG4pLnJlbW92ZUNsYXNzKGMrXCIgXCIrYSk7dmFyIHM9dChuLnBhcmVudE5vZGUpLmZpbmQobSlbMF07cyYmdChzKS5yZW1vdmVDbGFzcyhhKSxcInRhYlwiPT09bi5nZXRBdHRyaWJ1dGUoXCJyb2xlXCIpJiZuLnNldEF0dHJpYnV0ZShcImFyaWEtc2VsZWN0ZWRcIiwhMSl9aWYodChlKS5hZGRDbGFzcyhhKSxcInRhYlwiPT09ZS5nZXRBdHRyaWJ1dGUoXCJyb2xlXCIpJiZlLnNldEF0dHJpYnV0ZShcImFyaWEtc2VsZWN0ZWRcIiwhMCksUC5yZWZsb3coZSksdChlKS5hZGRDbGFzcyhjKSxlLnBhcmVudE5vZGUmJnQoZS5wYXJlbnROb2RlKS5oYXNDbGFzcyhvKSl7dmFyIHI9dChlKS5jbG9zZXN0KHUpWzBdO3ImJnQocikuZmluZChwKS5hZGRDbGFzcyhhKSxlLnNldEF0dHJpYnV0ZShcImFyaWEtZXhwYW5kZWRcIiwhMCl9aSYmaSgpfSxuLl9qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24oaSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBzPXQodGhpcykscj1zLmRhdGEoZSk7aWYocnx8KHI9bmV3IG4odGhpcykscy5kYXRhKGUscikpLFwic3RyaW5nXCI9PXR5cGVvZiBpKXtpZihcInVuZGVmaW5lZFwiPT10eXBlb2YgcltpXSl0aHJvdyBuZXcgVHlwZUVycm9yKCdObyBtZXRob2QgbmFtZWQgXCInK2krJ1wiJyk7cltpXSgpfX0pfSxzKG4sbnVsbCxbe2tleTpcIlZFUlNJT05cIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5cIjQuMC4wXCJ9fV0pLG59KCk7cmV0dXJuIHQoZG9jdW1lbnQpLm9uKHIuQ0xJQ0tfREFUQV9BUEksZyxmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCksdi5falF1ZXJ5SW50ZXJmYWNlLmNhbGwodCh0aGlzKSxcInNob3dcIil9KSx0LmZuLnRhYj12Ll9qUXVlcnlJbnRlcmZhY2UsdC5mbi50YWIuQ29uc3RydWN0b3I9dix0LmZuLnRhYi5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHQuZm4udGFiPWksdi5falF1ZXJ5SW50ZXJmYWNlfSx2fShlKTshZnVuY3Rpb24odCl7aWYoXCJ1bmRlZmluZWRcIj09dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkJvb3RzdHJhcCdzIEphdmFTY3JpcHQgcmVxdWlyZXMgalF1ZXJ5LiBqUXVlcnkgbXVzdCBiZSBpbmNsdWRlZCBiZWZvcmUgQm9vdHN0cmFwJ3MgSmF2YVNjcmlwdC5cIik7dmFyIGU9dC5mbi5qcXVlcnkuc3BsaXQoXCIgXCIpWzBdLnNwbGl0KFwiLlwiKTtpZihlWzBdPDImJmVbMV08OXx8MT09PWVbMF0mJjk9PT1lWzFdJiZlWzJdPDF8fGVbMF0+PTQpdGhyb3cgbmV3IEVycm9yKFwiQm9vdHN0cmFwJ3MgSmF2YVNjcmlwdCByZXF1aXJlcyBhdCBsZWFzdCBqUXVlcnkgdjEuOS4xIGJ1dCBsZXNzIHRoYW4gdjQuMC4wXCIpfShlKSx0LlV0aWw9UCx0LkFsZXJ0PUwsdC5CdXR0b249Uix0LkNhcm91c2VsPWosdC5Db2xsYXBzZT1ILHQuRHJvcGRvd249Vyx0Lk1vZGFsPU0sdC5Qb3BvdmVyPXgsdC5TY3JvbGxzcHk9Syx0LlRhYj1WLHQuVG9vbHRpcD1VLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pfSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1ib290c3RyYXAubWluLmpzLm1hcCJ9LCAiaGVhZGVyc1NpemUiOiAwLCAiYm9keVNpemUiOiAxNDk5NiwgInJlZGlyZWN0VVJMIjogIiIsICJfdHJhbnNmZXJTaXplIjogMTQ5OTZ9LCAiY2FjaGUiOiB7fSwgInRpbWluZ3MiOiB7ImRucyI6IDMzLjA1NywgImNvbm5lY3QiOiAxOC4yMTYsICJzc2wiOiAxOC4yMTYsICJzZW5kIjogMCwgIndhaXQiOiAyMy41MDksICJyZWNlaXZlIjogNi4zMDJ9LCAicGFnZXJlZiI6ICJwYWdlQDJlN2FjZTk1NWE2NzczZWNmZDJlOThlZjJmZGNiNzA0IiwgInNlcnZlcklQQWRkcmVzcyI6ICJbMjYwNjo0NzAwOjo2ODEyOmJjZl0iLCAiX3NlcnZlclBvcnQiOiA0NDMsICJfc2VjdXJpdHlEZXRhaWxzIjogeyJwcm90b2NvbCI6ICJRVUlDIiwgInN1YmplY3ROYW1lIjogImJvb3RzdHJhcGNkbi5jb20iLCAiaXNzdWVyIjogIldFMSIsICJ2YWxpZEZyb20iOiAxNzIxNjk5NDMwLCAidmFsaWRUbyI6IDE3Mjk0NzU0Mjl9fSwgeyJzdGFydGVkRGF0ZVRpbWUiOiAiMjAyNC0wOC0wMVQxMjozMzowMC42NDVaIiwgInRpbWUiOiA5My4wNzYsICJyZXF1ZXN0IjogeyJtZXRob2QiOiAiR0VUIiwgInVybCI6ICJodHRwczovL2FqYXguZ29vZ2xlYXBpcy5jb20vYWpheC9saWJzL2pxdWVyeS8yLjIuNC9qcXVlcnkubWluLmpzIiwgImh0dHBWZXJzaW9uIjogIkhUVFAvMi4wIiwgImNvb2tpZXMiOiBbXSwgImhlYWRlcnMiOiBbeyJuYW1lIjogIjphdXRob3JpdHkiLCAidmFsdWUiOiAiYWpheC5nb29nbGVhcGlzLmNvbSJ9LCB7Im5hbWUiOiAiOm1ldGhvZCIsICJ2YWx1ZSI6ICJHRVQifSwgeyJuYW1lIjogIjpwYXRoIiwgInZhbHVlIjogIi9hamF4L2xpYnMvanF1ZXJ5LzIuMi40L2pxdWVyeS5taW4uanMifSwgeyJuYW1lIjogIjpzY2hlbWUiLCAidmFsdWUiOiAiaHR0cHMifSwgeyJuYW1lIjogImFjY2VwdCIsICJ2YWx1ZSI6ICIqLyoifSwgeyJuYW1lIjogImFjY2VwdC1lbmNvZGluZyIsICJ2YWx1ZSI6ICJnemlwLCBkZWZsYXRlLCBiciwgenN0ZCJ9LCB7Im5hbWUiOiAiYWNjZXB0LWxhbmd1YWdlIiwgInZhbHVlIjogImVuLVVTLGVuO3E9MC45In0sIHsibmFtZSI6ICJpbnRlcnZlbnRpb24iLCAidmFsdWUiOiAiPGh0dHBzOi8vd3d3LmNocm9tZXN0YXR1cy5jb20vZmVhdHVyZS81NzE4NTQ3OTQ2Nzk5MTA0PjsgbGV2ZWw9XCJ3YXJuaW5nXCIifSwgeyJuYW1lIjogInByaW9yaXR5IiwgInZhbHVlIjogInU9MSJ9LCB7Im5hbWUiOiAicmVmZXJlciIsICJ2YWx1ZSI6ICJodHRwczovL3B1Yi0yZWE3YzYzOWI0YTE0YjkyYTUwZTM0OGY5OWIzMzI5My5yMi5kZXYvIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEiLCAidmFsdWUiOiAiXCJDaHJvbWl1bVwiO3Y9XCIxMjdcIiwgXCJOb3QpQTtCcmFuZFwiO3Y9XCI5OVwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtbW9iaWxlIiwgInZhbHVlIjogIj8wIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtcGxhdGZvcm0iLCAidmFsdWUiOiAiXCJXaW5kb3dzXCIifSwgeyJuYW1lIjogInNlYy1mZXRjaC1kZXN0IiwgInZhbHVlIjogInNjcmlwdCJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLW1vZGUiLCAidmFsdWUiOiAibm8tY29ycyJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLXNpdGUiLCAidmFsdWUiOiAiY3Jvc3Mtc2l0ZSJ9LCB7Im5hbWUiOiAidXNlci1hZ2VudCIsICJ2YWx1ZSI6ICJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTI3LjAuNjUzMy4xNyBTYWZhcmkvNTM3LjM2In1dLCAicXVlcnlTdHJpbmciOiBbXSwgImhlYWRlcnNTaXplIjogNzI3LCAiYm9keVNpemUiOiAwfSwgInJlc3BvbnNlIjogeyJzdGF0dXMiOiAyMDAsICJzdGF0dXNUZXh0IjogIiIsICJodHRwVmVyc2lvbiI6ICJIVFRQLzIuMCIsICJjb29raWVzIjogW10sICJoZWFkZXJzIjogW3sibmFtZSI6ICJhY2NlcHQtcmFuZ2VzIiwgInZhbHVlIjogImJ5dGVzIn0sIHsibmFtZSI6ICJhY2Nlc3MtY29udHJvbC1hbGxvdy1vcmlnaW4iLCAidmFsdWUiOiAiKiJ9LCB7Im5hbWUiOiAiYWdlIiwgInZhbHVlIjogIjE2OTI2NSJ9LCB7Im5hbWUiOiAiYWx0LXN2YyIsICJ2YWx1ZSI6ICJoMz1cIjo0NDNcIjsgbWE9MjU5MjAwMCxoMy0yOT1cIjo0NDNcIjsgbWE9MjU5MjAwMCJ9LCB7Im5hbWUiOiAiY2FjaGUtY29udHJvbCIsICJ2YWx1ZSI6ICJwdWJsaWMsIG1heC1hZ2U9MzE1MzYwMDAsIHN0YWxlLXdoaWxlLXJldmFsaWRhdGU9MjU5MjAwMCJ9LCB7Im5hbWUiOiAiY29udGVudC1lbmNvZGluZyIsICJ2YWx1ZSI6ICJnemlwIn0sIHsibmFtZSI6ICJjb250ZW50LWxlbmd0aCIsICJ2YWx1ZSI6ICIzMDAyOCJ9LCB7Im5hbWUiOiAiY29udGVudC1zZWN1cml0eS1wb2xpY3ktcmVwb3J0LW9ubHkiLCAidmFsdWUiOiAicmVxdWlyZS10cnVzdGVkLXR5cGVzLWZvciAnc2NyaXB0JzsgcmVwb3J0LXVyaSBodHRwczovL2NzcC53aXRoZ29vZ2xlLmNvbS9jc3AvaG9zdGVkLWxpYnJhcmllcy1wdXNoZXJzIn0sIHsibmFtZSI6ICJjb250ZW50LXR5cGUiLCAidmFsdWUiOiAidGV4dC9qYXZhc2NyaXB0OyBjaGFyc2V0PVVURi04In0sIHsibmFtZSI6ICJjcm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeSIsICJ2YWx1ZSI6ICJzYW1lLW9yaWdpbjsgcmVwb3J0LXRvPVwiaG9zdGVkLWxpYnJhcmllcy1wdXNoZXJzXCIifSwgeyJuYW1lIjogImNyb3NzLW9yaWdpbi1yZXNvdXJjZS1wb2xpY3kiLCAidmFsdWUiOiAiY3Jvc3Mtb3JpZ2luIn0sIHsibmFtZSI6ICJkYXRlIiwgInZhbHVlIjogIlR1ZSwgMzAgSnVsIDIwMjQgMTM6MzE6NTUgR01UIn0sIHsibmFtZSI6ICJleHBpcmVzIiwgInZhbHVlIjogIldlZCwgMzAgSnVsIDIwMjUgMTM6MzE6NTUgR01UIn0sIHsibmFtZSI6ICJsYXN0LW1vZGlmaWVkIiwgInZhbHVlIjogIlR1ZSwgMDMgTWFyIDIwMjAgMTk6MTU6MDAgR01UIn0sIHsibmFtZSI6ICJyZXBvcnQtdG8iLCAidmFsdWUiOiAie1wiZ3JvdXBcIjpcImhvc3RlZC1saWJyYXJpZXMtcHVzaGVyc1wiLFwibWF4X2FnZVwiOjI1OTIwMDAsXCJlbmRwb2ludHNcIjpbe1widXJsXCI6XCJodHRwczovL2NzcC53aXRoZ29vZ2xlLmNvbS9jc3AvcmVwb3J0LXRvL2hvc3RlZC1saWJyYXJpZXMtcHVzaGVyc1wifV19In0sIHsibmFtZSI6ICJzZXJ2ZXIiLCAidmFsdWUiOiAic2ZmZSJ9LCB7Im5hbWUiOiAidGltaW5nLWFsbG93LW9yaWdpbiIsICJ2YWx1ZSI6ICIqIn0sIHsibmFtZSI6ICJ2YXJ5IiwgInZhbHVlIjogIkFjY2VwdC1FbmNvZGluZyJ9LCB7Im5hbWUiOiAieC1jb250ZW50LXR5cGUtb3B0aW9ucyIsICJ2YWx1ZSI6ICJub3NuaWZmIn0sIHsibmFtZSI6ICJ4LXhzcy1wcm90ZWN0aW9uIiwgInZhbHVlIjogIjAifV0sICJjb250ZW50IjogeyJzaXplIjogODU1NzgsICJtaW1lVHlwZSI6ICJ0ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9VVRGLTgiLCAiY29tcHJlc3Npb24iOiA1NDkxOCwgInRleHQiOiAiLyohIGpRdWVyeSB2Mi4yLjQgfCAoYykgalF1ZXJ5IEZvdW5kYXRpb24gfCBqcXVlcnkub3JnL2xpY2Vuc2UgKi9cbiFmdW5jdGlvbihhLGIpe1wib2JqZWN0XCI9PXR5cGVvZiBtb2R1bGUmJlwib2JqZWN0XCI9PXR5cGVvZiBtb2R1bGUuZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1hLmRvY3VtZW50P2IoYSwhMCk6ZnVuY3Rpb24oYSl7aWYoIWEuZG9jdW1lbnQpdGhyb3cgbmV3IEVycm9yKFwialF1ZXJ5IHJlcXVpcmVzIGEgd2luZG93IHdpdGggYSBkb2N1bWVudFwiKTtyZXR1cm4gYihhKX06YihhKX0oXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6dGhpcyxmdW5jdGlvbihhLGIpe3ZhciBjPVtdLGQ9YS5kb2N1bWVudCxlPWMuc2xpY2UsZj1jLmNvbmNhdCxnPWMucHVzaCxoPWMuaW5kZXhPZixpPXt9LGo9aS50b1N0cmluZyxrPWkuaGFzT3duUHJvcGVydHksbD17fSxtPVwiMi4yLjRcIixuPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBuLmZuLmluaXQoYSxiKX0sbz0vXltcXHNcXHVGRUZGXFx4QTBdK3xbXFxzXFx1RkVGRlxceEEwXSskL2cscD0vXi1tcy0vLHE9Ly0oW1xcZGEtel0pL2dpLHI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi50b1VwcGVyQ2FzZSgpfTtuLmZuPW4ucHJvdG90eXBlPXtqcXVlcnk6bSxjb25zdHJ1Y3RvcjpuLHNlbGVjdG9yOlwiXCIsbGVuZ3RoOjAsdG9BcnJheTpmdW5jdGlvbigpe3JldHVybiBlLmNhbGwodGhpcyl9LGdldDpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbCE9YT8wPmE/dGhpc1thK3RoaXMubGVuZ3RoXTp0aGlzW2FdOmUuY2FsbCh0aGlzKX0scHVzaFN0YWNrOmZ1bmN0aW9uKGEpe3ZhciBiPW4ubWVyZ2UodGhpcy5jb25zdHJ1Y3RvcigpLGEpO3JldHVybiBiLnByZXZPYmplY3Q9dGhpcyxiLmNvbnRleHQ9dGhpcy5jb250ZXh0LGJ9LGVhY2g6ZnVuY3Rpb24oYSl7cmV0dXJuIG4uZWFjaCh0aGlzLGEpfSxtYXA6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKG4ubWFwKHRoaXMsZnVuY3Rpb24oYixjKXtyZXR1cm4gYS5jYWxsKGIsYyxiKX0pKX0sc2xpY2U6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soZS5hcHBseSh0aGlzLGFyZ3VtZW50cykpfSxmaXJzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKDApfSxsYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoLTEpfSxlcTpmdW5jdGlvbihhKXt2YXIgYj10aGlzLmxlbmd0aCxjPSthKygwPmE/YjowKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soYz49MCYmYj5jP1t0aGlzW2NdXTpbXSl9LGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnByZXZPYmplY3R8fHRoaXMuY29uc3RydWN0b3IoKX0scHVzaDpnLHNvcnQ6Yy5zb3J0LHNwbGljZTpjLnNwbGljZX0sbi5leHRlbmQ9bi5mbi5leHRlbmQ9ZnVuY3Rpb24oKXt2YXIgYSxiLGMsZCxlLGYsZz1hcmd1bWVudHNbMF18fHt9LGg9MSxpPWFyZ3VtZW50cy5sZW5ndGgsaj0hMTtmb3IoXCJib29sZWFuXCI9PXR5cGVvZiBnJiYoaj1nLGc9YXJndW1lbnRzW2hdfHx7fSxoKyspLFwib2JqZWN0XCI9PXR5cGVvZiBnfHxuLmlzRnVuY3Rpb24oZyl8fChnPXt9KSxoPT09aSYmKGc9dGhpcyxoLS0pO2k+aDtoKyspaWYobnVsbCE9KGE9YXJndW1lbnRzW2hdKSlmb3IoYiBpbiBhKWM9Z1tiXSxkPWFbYl0sZyE9PWQmJihqJiZkJiYobi5pc1BsYWluT2JqZWN0KGQpfHwoZT1uLmlzQXJyYXkoZCkpKT8oZT8oZT0hMSxmPWMmJm4uaXNBcnJheShjKT9jOltdKTpmPWMmJm4uaXNQbGFpbk9iamVjdChjKT9jOnt9LGdbYl09bi5leHRlbmQoaixmLGQpKTp2b2lkIDAhPT1kJiYoZ1tiXT1kKSk7cmV0dXJuIGd9LG4uZXh0ZW5kKHtleHBhbmRvOlwialF1ZXJ5XCIrKG0rTWF0aC5yYW5kb20oKSkucmVwbGFjZSgvXFxEL2csXCJcIiksaXNSZWFkeTohMCxlcnJvcjpmdW5jdGlvbihhKXt0aHJvdyBuZXcgRXJyb3IoYSl9LG5vb3A6ZnVuY3Rpb24oKXt9LGlzRnVuY3Rpb246ZnVuY3Rpb24oYSl7cmV0dXJuXCJmdW5jdGlvblwiPT09bi50eXBlKGEpfSxpc0FycmF5OkFycmF5LmlzQXJyYXksaXNXaW5kb3c6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPWEmJmE9PT1hLndpbmRvd30saXNOdW1lcmljOmZ1bmN0aW9uKGEpe3ZhciBiPWEmJmEudG9TdHJpbmcoKTtyZXR1cm4hbi5pc0FycmF5KGEpJiZiLXBhcnNlRmxvYXQoYikrMT49MH0saXNQbGFpbk9iamVjdDpmdW5jdGlvbihhKXt2YXIgYjtpZihcIm9iamVjdFwiIT09bi50eXBlKGEpfHxhLm5vZGVUeXBlfHxuLmlzV2luZG93KGEpKXJldHVybiExO2lmKGEuY29uc3RydWN0b3ImJiFrLmNhbGwoYSxcImNvbnN0cnVjdG9yXCIpJiYhay5jYWxsKGEuY29uc3RydWN0b3IucHJvdG90eXBlfHx7fSxcImlzUHJvdG90eXBlT2ZcIikpcmV0dXJuITE7Zm9yKGIgaW4gYSk7cmV0dXJuIHZvaWQgMD09PWJ8fGsuY2FsbChhLGIpfSxpc0VtcHR5T2JqZWN0OmZ1bmN0aW9uKGEpe3ZhciBiO2ZvcihiIGluIGEpcmV0dXJuITE7cmV0dXJuITB9LHR5cGU6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWE/YStcIlwiOlwib2JqZWN0XCI9PXR5cGVvZiBhfHxcImZ1bmN0aW9uXCI9PXR5cGVvZiBhP2lbai5jYWxsKGEpXXx8XCJvYmplY3RcIjp0eXBlb2YgYX0sZ2xvYmFsRXZhbDpmdW5jdGlvbihhKXt2YXIgYixjPWV2YWw7YT1uLnRyaW0oYSksYSYmKDE9PT1hLmluZGV4T2YoXCJ1c2Ugc3RyaWN0XCIpPyhiPWQuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiKSxiLnRleHQ9YSxkLmhlYWQuYXBwZW5kQ2hpbGQoYikucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChiKSk6YyhhKSl9LGNhbWVsQ2FzZTpmdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKHAsXCJtcy1cIikucmVwbGFjZShxLHIpfSxub2RlTmFtZTpmdW5jdGlvbihhLGIpe3JldHVybiBhLm5vZGVOYW1lJiZhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1iLnRvTG93ZXJDYXNlKCl9LGVhY2g6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPTA7aWYocyhhKSl7Zm9yKGM9YS5sZW5ndGg7Yz5kO2QrKylpZihiLmNhbGwoYVtkXSxkLGFbZF0pPT09ITEpYnJlYWt9ZWxzZSBmb3IoZCBpbiBhKWlmKGIuY2FsbChhW2RdLGQsYVtkXSk9PT0hMSlicmVhaztyZXR1cm4gYX0sdHJpbTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT9cIlwiOihhK1wiXCIpLnJlcGxhY2UobyxcIlwiKX0sbWFrZUFycmF5OmZ1bmN0aW9uKGEsYil7dmFyIGM9Ynx8W107cmV0dXJuIG51bGwhPWEmJihzKE9iamVjdChhKSk/bi5tZXJnZShjLFwic3RyaW5nXCI9PXR5cGVvZiBhP1thXTphKTpnLmNhbGwoYyxhKSksY30saW5BcnJheTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIG51bGw9PWI/LTE6aC5jYWxsKGIsYSxjKX0sbWVyZ2U6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9K2IubGVuZ3RoLGQ9MCxlPWEubGVuZ3RoO2M+ZDtkKyspYVtlKytdPWJbZF07cmV0dXJuIGEubGVuZ3RoPWUsYX0sZ3JlcDpmdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkLGU9W10sZj0wLGc9YS5sZW5ndGgsaD0hYztnPmY7ZisrKWQ9IWIoYVtmXSxmKSxkIT09aCYmZS5wdXNoKGFbZl0pO3JldHVybiBlfSxtYXA6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZz0wLGg9W107aWYocyhhKSlmb3IoZD1hLmxlbmd0aDtkPmc7ZysrKWU9YihhW2ddLGcsYyksbnVsbCE9ZSYmaC5wdXNoKGUpO2Vsc2UgZm9yKGcgaW4gYSllPWIoYVtnXSxnLGMpLG51bGwhPWUmJmgucHVzaChlKTtyZXR1cm4gZi5hcHBseShbXSxoKX0sZ3VpZDoxLHByb3h5OmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxmO3JldHVyblwic3RyaW5nXCI9PXR5cGVvZiBiJiYoYz1hW2JdLGI9YSxhPWMpLG4uaXNGdW5jdGlvbihhKT8oZD1lLmNhbGwoYXJndW1lbnRzLDIpLGY9ZnVuY3Rpb24oKXtyZXR1cm4gYS5hcHBseShifHx0aGlzLGQuY29uY2F0KGUuY2FsbChhcmd1bWVudHMpKSl9LGYuZ3VpZD1hLmd1aWQ9YS5ndWlkfHxuLmd1aWQrKyxmKTp2b2lkIDB9LG5vdzpEYXRlLm5vdyxzdXBwb3J0Omx9KSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2wmJihuLmZuW1N5bWJvbC5pdGVyYXRvcl09Y1tTeW1ib2wuaXRlcmF0b3JdKSxuLmVhY2goXCJCb29sZWFuIE51bWJlciBTdHJpbmcgRnVuY3Rpb24gQXJyYXkgRGF0ZSBSZWdFeHAgT2JqZWN0IEVycm9yIFN5bWJvbFwiLnNwbGl0KFwiIFwiKSxmdW5jdGlvbihhLGIpe2lbXCJbb2JqZWN0IFwiK2IrXCJdXCJdPWIudG9Mb3dlckNhc2UoKX0pO2Z1bmN0aW9uIHMoYSl7dmFyIGI9ISFhJiZcImxlbmd0aFwiaW4gYSYmYS5sZW5ndGgsYz1uLnR5cGUoYSk7cmV0dXJuXCJmdW5jdGlvblwiPT09Y3x8bi5pc1dpbmRvdyhhKT8hMTpcImFycmF5XCI9PT1jfHwwPT09Ynx8XCJudW1iZXJcIj09dHlwZW9mIGImJmI+MCYmYi0xIGluIGF9dmFyIHQ9ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGgsaSxqLGssbCxtLG4sbyxwLHEscixzLHQsdT1cInNpenpsZVwiKzEqbmV3IERhdGUsdj1hLmRvY3VtZW50LHc9MCx4PTAseT1nYSgpLHo9Z2EoKSxBPWdhKCksQj1mdW5jdGlvbihhLGIpe3JldHVybiBhPT09YiYmKGw9ITApLDB9LEM9MTw8MzEsRD17fS5oYXNPd25Qcm9wZXJ0eSxFPVtdLEY9RS5wb3AsRz1FLnB1c2gsSD1FLnB1c2gsST1FLnNsaWNlLEo9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MCxkPWEubGVuZ3RoO2Q+YztjKyspaWYoYVtjXT09PWIpcmV0dXJuIGM7cmV0dXJuLTF9LEs9XCJjaGVja2VkfHNlbGVjdGVkfGFzeW5jfGF1dG9mb2N1c3xhdXRvcGxheXxjb250cm9sc3xkZWZlcnxkaXNhYmxlZHxoaWRkZW58aXNtYXB8bG9vcHxtdWx0aXBsZXxvcGVufHJlYWRvbmx5fHJlcXVpcmVkfHNjb3BlZFwiLEw9XCJbXFxcXHgyMFxcXFx0XFxcXHJcXFxcblxcXFxmXVwiLE09XCIoPzpcXFxcXFxcXC58W1xcXFx3LV18W15cXFxceDAwLVxcXFx4YTBdKStcIixOPVwiXFxcXFtcIitMK1wiKihcIitNK1wiKSg/OlwiK0wrXCIqKFsqXiR8IX5dPz0pXCIrTCtcIiooPzonKCg/OlxcXFxcXFxcLnxbXlxcXFxcXFxcJ10pKiknfFxcXCIoKD86XFxcXFxcXFwufFteXFxcXFxcXFxcXFwiXSkqKVxcXCJ8KFwiK00rXCIpKXwpXCIrTCtcIipcXFxcXVwiLE89XCI6KFwiK00rXCIpKD86XFxcXCgoKCcoKD86XFxcXFxcXFwufFteXFxcXFxcXFwnXSkqKSd8XFxcIigoPzpcXFxcXFxcXC58W15cXFxcXFxcXFxcXCJdKSopXFxcIil8KCg/OlxcXFxcXFxcLnxbXlxcXFxcXFxcKClbXFxcXF1dfFwiK04rXCIpKil8LiopXFxcXCl8KVwiLFA9bmV3IFJlZ0V4cChMK1wiK1wiLFwiZ1wiKSxRPW5ldyBSZWdFeHAoXCJeXCIrTCtcIit8KCg/Ol58W15cXFxcXFxcXF0pKD86XFxcXFxcXFwuKSopXCIrTCtcIiskXCIsXCJnXCIpLFI9bmV3IFJlZ0V4cChcIl5cIitMK1wiKixcIitMK1wiKlwiKSxTPW5ldyBSZWdFeHAoXCJeXCIrTCtcIiooWz4rfl18XCIrTCtcIilcIitMK1wiKlwiKSxUPW5ldyBSZWdFeHAoXCI9XCIrTCtcIiooW15cXFxcXSdcXFwiXSo/KVwiK0wrXCIqXFxcXF1cIixcImdcIiksVT1uZXcgUmVnRXhwKE8pLFY9bmV3IFJlZ0V4cChcIl5cIitNK1wiJFwiKSxXPXtJRDpuZXcgUmVnRXhwKFwiXiMoXCIrTStcIilcIiksQ0xBU1M6bmV3IFJlZ0V4cChcIl5cXFxcLihcIitNK1wiKVwiKSxUQUc6bmV3IFJlZ0V4cChcIl4oXCIrTStcInxbKl0pXCIpLEFUVFI6bmV3IFJlZ0V4cChcIl5cIitOKSxQU0VVRE86bmV3IFJlZ0V4cChcIl5cIitPKSxDSElMRDpuZXcgUmVnRXhwKFwiXjoob25seXxmaXJzdHxsYXN0fG50aHxudGgtbGFzdCktKGNoaWxkfG9mLXR5cGUpKD86XFxcXChcIitMK1wiKihldmVufG9kZHwoKFsrLV18KShcXFxcZCopbnwpXCIrTCtcIiooPzooWystXXwpXCIrTCtcIiooXFxcXGQrKXwpKVwiK0wrXCIqXFxcXCl8KVwiLFwiaVwiKSxib29sOm5ldyBSZWdFeHAoXCJeKD86XCIrSytcIikkXCIsXCJpXCIpLG5lZWRzQ29udGV4dDpuZXcgUmVnRXhwKFwiXlwiK0wrXCIqWz4rfl18OihldmVufG9kZHxlcXxndHxsdHxudGh8Zmlyc3R8bGFzdCkoPzpcXFxcKFwiK0wrXCIqKCg/Oi1cXFxcZCk/XFxcXGQqKVwiK0wrXCIqXFxcXCl8KSg/PVteLV18JClcIixcImlcIil9LFg9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSxZPS9eaFxcZCQvaSxaPS9eW157XStcXHtcXHMqXFxbbmF0aXZlIFxcdy8sJD0vXig/OiMoW1xcdy1dKyl8KFxcdyspfFxcLihbXFx3LV0rKSkkLyxfPS9bK35dLyxhYT0vJ3xcXFxcL2csYmE9bmV3IFJlZ0V4cChcIlxcXFxcXFxcKFtcXFxcZGEtZl17MSw2fVwiK0wrXCI/fChcIitMK1wiKXwuKVwiLFwiaWdcIiksY2E9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVwiMHhcIitiLTY1NTM2O3JldHVybiBkIT09ZHx8Yz9iOjA+ZD9TdHJpbmcuZnJvbUNoYXJDb2RlKGQrNjU1MzYpOlN0cmluZy5mcm9tQ2hhckNvZGUoZD4+MTB8NTUyOTYsMTAyMyZkfDU2MzIwKX0sZGE9ZnVuY3Rpb24oKXttKCl9O3RyeXtILmFwcGx5KEU9SS5jYWxsKHYuY2hpbGROb2Rlcyksdi5jaGlsZE5vZGVzKSxFW3YuY2hpbGROb2Rlcy5sZW5ndGhdLm5vZGVUeXBlfWNhdGNoKGVhKXtIPXthcHBseTpFLmxlbmd0aD9mdW5jdGlvbihhLGIpe0cuYXBwbHkoYSxJLmNhbGwoYikpfTpmdW5jdGlvbihhLGIpe3ZhciBjPWEubGVuZ3RoLGQ9MDt3aGlsZShhW2MrK109YltkKytdKTthLmxlbmd0aD1jLTF9fX1mdW5jdGlvbiBmYShhLGIsZCxlKXt2YXIgZixoLGosayxsLG8scixzLHc9YiYmYi5vd25lckRvY3VtZW50LHg9Yj9iLm5vZGVUeXBlOjk7aWYoZD1kfHxbXSxcInN0cmluZ1wiIT10eXBlb2YgYXx8IWF8fDEhPT14JiY5IT09eCYmMTEhPT14KXJldHVybiBkO2lmKCFlJiYoKGI/Yi5vd25lckRvY3VtZW50fHxiOnYpIT09biYmbShiKSxiPWJ8fG4scCkpe2lmKDExIT09eCYmKG89JC5leGVjKGEpKSlpZihmPW9bMV0pe2lmKDk9PT14KXtpZighKGo9Yi5nZXRFbGVtZW50QnlJZChmKSkpcmV0dXJuIGQ7aWYoai5pZD09PWYpcmV0dXJuIGQucHVzaChqKSxkfWVsc2UgaWYodyYmKGo9dy5nZXRFbGVtZW50QnlJZChmKSkmJnQoYixqKSYmai5pZD09PWYpcmV0dXJuIGQucHVzaChqKSxkfWVsc2V7aWYob1syXSlyZXR1cm4gSC5hcHBseShkLGIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYSkpLGQ7aWYoKGY9b1szXSkmJmMuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmYi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKXJldHVybiBILmFwcGx5KGQsYi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGYpKSxkfWlmKGMucXNhJiYhQVthK1wiIFwiXSYmKCFxfHwhcS50ZXN0KGEpKSl7aWYoMSE9PXgpdz1iLHM9YTtlbHNlIGlmKFwib2JqZWN0XCIhPT1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpeyhrPWIuZ2V0QXR0cmlidXRlKFwiaWRcIikpP2s9ay5yZXBsYWNlKGFhLFwiXFxcXCQmXCIpOmIuc2V0QXR0cmlidXRlKFwiaWRcIixrPXUpLHI9ZyhhKSxoPXIubGVuZ3RoLGw9Vi50ZXN0KGspP1wiI1wiK2s6XCJbaWQ9J1wiK2srXCInXVwiO3doaWxlKGgtLSlyW2hdPWwrXCIgXCIrcWEocltoXSk7cz1yLmpvaW4oXCIsXCIpLHc9Xy50ZXN0KGEpJiZvYShiLnBhcmVudE5vZGUpfHxifWlmKHMpdHJ5e3JldHVybiBILmFwcGx5KGQsdy5xdWVyeVNlbGVjdG9yQWxsKHMpKSxkfWNhdGNoKHkpe31maW5hbGx5e2s9PT11JiZiLnJlbW92ZUF0dHJpYnV0ZShcImlkXCIpfX19cmV0dXJuIGkoYS5yZXBsYWNlKFEsXCIkMVwiKSxiLGQsZSl9ZnVuY3Rpb24gZ2EoKXt2YXIgYT1bXTtmdW5jdGlvbiBiKGMsZSl7cmV0dXJuIGEucHVzaChjK1wiIFwiKT5kLmNhY2hlTGVuZ3RoJiZkZWxldGUgYlthLnNoaWZ0KCldLGJbYytcIiBcIl09ZX1yZXR1cm4gYn1mdW5jdGlvbiBoYShhKXtyZXR1cm4gYVt1XT0hMCxhfWZ1bmN0aW9uIGlhKGEpe3ZhciBiPW4uY3JlYXRlRWxlbWVudChcImRpdlwiKTt0cnl7cmV0dXJuISFhKGIpfWNhdGNoKGMpe3JldHVybiExfWZpbmFsbHl7Yi5wYXJlbnROb2RlJiZiLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYiksYj1udWxsfX1mdW5jdGlvbiBqYShhLGIpe3ZhciBjPWEuc3BsaXQoXCJ8XCIpLGU9Yy5sZW5ndGg7d2hpbGUoZS0tKWQuYXR0ckhhbmRsZVtjW2VdXT1ifWZ1bmN0aW9uIGthKGEsYil7dmFyIGM9YiYmYSxkPWMmJjE9PT1hLm5vZGVUeXBlJiYxPT09Yi5ub2RlVHlwZSYmKH5iLnNvdXJjZUluZGV4fHxDKS0ofmEuc291cmNlSW5kZXh8fEMpO2lmKGQpcmV0dXJuIGQ7aWYoYyl3aGlsZShjPWMubmV4dFNpYmxpbmcpaWYoYz09PWIpcmV0dXJuLTE7cmV0dXJuIGE/MTotMX1mdW5jdGlvbiBsYShhKXtyZXR1cm4gZnVuY3Rpb24oYil7dmFyIGM9Yi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVyblwiaW5wdXRcIj09PWMmJmIudHlwZT09PWF9fWZ1bmN0aW9uIG1hKGEpe3JldHVybiBmdW5jdGlvbihiKXt2YXIgYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuKFwiaW5wdXRcIj09PWN8fFwiYnV0dG9uXCI9PT1jKSYmYi50eXBlPT09YX19ZnVuY3Rpb24gbmEoYSl7cmV0dXJuIGhhKGZ1bmN0aW9uKGIpe3JldHVybiBiPStiLGhhKGZ1bmN0aW9uKGMsZCl7dmFyIGUsZj1hKFtdLGMubGVuZ3RoLGIpLGc9Zi5sZW5ndGg7d2hpbGUoZy0tKWNbZT1mW2ddXSYmKGNbZV09IShkW2VdPWNbZV0pKX0pfSl9ZnVuY3Rpb24gb2EoYSl7cmV0dXJuIGEmJlwidW5kZWZpbmVkXCIhPXR5cGVvZiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lJiZhfWM9ZmEuc3VwcG9ydD17fSxmPWZhLmlzWE1MPWZ1bmN0aW9uKGEpe3ZhciBiPWEmJihhLm93bmVyRG9jdW1lbnR8fGEpLmRvY3VtZW50RWxlbWVudDtyZXR1cm4gYj9cIkhUTUxcIiE9PWIubm9kZU5hbWU6ITF9LG09ZmEuc2V0RG9jdW1lbnQ9ZnVuY3Rpb24oYSl7dmFyIGIsZSxnPWE/YS5vd25lckRvY3VtZW50fHxhOnY7cmV0dXJuIGchPT1uJiY5PT09Zy5ub2RlVHlwZSYmZy5kb2N1bWVudEVsZW1lbnQ/KG49ZyxvPW4uZG9jdW1lbnRFbGVtZW50LHA9IWYobiksKGU9bi5kZWZhdWx0VmlldykmJmUudG9wIT09ZSYmKGUuYWRkRXZlbnRMaXN0ZW5lcj9lLmFkZEV2ZW50TGlzdGVuZXIoXCJ1bmxvYWRcIixkYSwhMSk6ZS5hdHRhY2hFdmVudCYmZS5hdHRhY2hFdmVudChcIm9udW5sb2FkXCIsZGEpKSxjLmF0dHJpYnV0ZXM9aWEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY2xhc3NOYW1lPVwiaVwiLCFhLmdldEF0dHJpYnV0ZShcImNsYXNzTmFtZVwiKX0pLGMuZ2V0RWxlbWVudHNCeVRhZ05hbWU9aWEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuYXBwZW5kQ2hpbGQobi5jcmVhdGVDb21tZW50KFwiXCIpKSwhYS5nZXRFbGVtZW50c0J5VGFnTmFtZShcIipcIikubGVuZ3RofSksYy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lPVoudGVzdChuLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpLGMuZ2V0QnlJZD1pYShmdW5jdGlvbihhKXtyZXR1cm4gby5hcHBlbmRDaGlsZChhKS5pZD11LCFuLmdldEVsZW1lbnRzQnlOYW1lfHwhbi5nZXRFbGVtZW50c0J5TmFtZSh1KS5sZW5ndGh9KSxjLmdldEJ5SWQ/KGQuZmluZC5JRD1mdW5jdGlvbihhLGIpe2lmKFwidW5kZWZpbmVkXCIhPXR5cGVvZiBiLmdldEVsZW1lbnRCeUlkJiZwKXt2YXIgYz1iLmdldEVsZW1lbnRCeUlkKGEpO3JldHVybiBjP1tjXTpbXX19LGQuZmlsdGVyLklEPWZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShiYSxjYSk7cmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZShcImlkXCIpPT09Yn19KTooZGVsZXRlIGQuZmluZC5JRCxkLmZpbHRlci5JRD1mdW5jdGlvbihhKXt2YXIgYj1hLnJlcGxhY2UoYmEsY2EpO3JldHVybiBmdW5jdGlvbihhKXt2YXIgYz1cInVuZGVmaW5lZFwiIT10eXBlb2YgYS5nZXRBdHRyaWJ1dGVOb2RlJiZhLmdldEF0dHJpYnV0ZU5vZGUoXCJpZFwiKTtyZXR1cm4gYyYmYy52YWx1ZT09PWJ9fSksZC5maW5kLlRBRz1jLmdldEVsZW1lbnRzQnlUYWdOYW1lP2Z1bmN0aW9uKGEsYil7cmV0dXJuXCJ1bmRlZmluZWRcIiE9dHlwZW9mIGIuZ2V0RWxlbWVudHNCeVRhZ05hbWU/Yi5nZXRFbGVtZW50c0J5VGFnTmFtZShhKTpjLnFzYT9iLnF1ZXJ5U2VsZWN0b3JBbGwoYSk6dm9pZCAwfTpmdW5jdGlvbihhLGIpe3ZhciBjLGQ9W10sZT0wLGY9Yi5nZXRFbGVtZW50c0J5VGFnTmFtZShhKTtpZihcIipcIj09PWEpe3doaWxlKGM9ZltlKytdKTE9PT1jLm5vZGVUeXBlJiZkLnB1c2goYyk7cmV0dXJuIGR9cmV0dXJuIGZ9LGQuZmluZC5DTEFTUz1jLmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJmZ1bmN0aW9uKGEsYil7cmV0dXJuXCJ1bmRlZmluZWRcIiE9dHlwZW9mIGIuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmcD9iLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoYSk6dm9pZCAwfSxyPVtdLHE9W10sKGMucXNhPVoudGVzdChuLnF1ZXJ5U2VsZWN0b3JBbGwpKSYmKGlhKGZ1bmN0aW9uKGEpe28uYXBwZW5kQ2hpbGQoYSkuaW5uZXJIVE1MPVwiPGEgaWQ9J1wiK3UrXCInPjwvYT48c2VsZWN0IGlkPSdcIit1K1wiLVxcclxcXFwnIG1zYWxsb3djYXB0dXJlPScnPjxvcHRpb24gc2VsZWN0ZWQ9Jyc+PC9vcHRpb24+PC9zZWxlY3Q+XCIsYS5xdWVyeVNlbGVjdG9yQWxsKFwiW21zYWxsb3djYXB0dXJlXj0nJ11cIikubGVuZ3RoJiZxLnB1c2goXCJbKl4kXT1cIitMK1wiKig/OicnfFxcXCJcXFwiKVwiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoXCJbc2VsZWN0ZWRdXCIpLmxlbmd0aHx8cS5wdXNoKFwiXFxcXFtcIitMK1wiKig/OnZhbHVlfFwiK0srXCIpXCIpLGEucXVlcnlTZWxlY3RvckFsbChcIltpZH49XCIrdStcIi1dXCIpLmxlbmd0aHx8cS5wdXNoKFwifj1cIiksYS5xdWVyeVNlbGVjdG9yQWxsKFwiOmNoZWNrZWRcIikubGVuZ3RofHxxLnB1c2goXCI6Y2hlY2tlZFwiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoXCJhI1wiK3UrXCIrKlwiKS5sZW5ndGh8fHEucHVzaChcIi4jLitbK35dXCIpfSksaWEoZnVuY3Rpb24oYSl7dmFyIGI9bi5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIik7Yi5zZXRBdHRyaWJ1dGUoXCJ0eXBlXCIsXCJoaWRkZW5cIiksYS5hcHBlbmRDaGlsZChiKS5zZXRBdHRyaWJ1dGUoXCJuYW1lXCIsXCJEXCIpLGEucXVlcnlTZWxlY3RvckFsbChcIltuYW1lPWRdXCIpLmxlbmd0aCYmcS5wdXNoKFwibmFtZVwiK0wrXCIqWypeJHwhfl0/PVwiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoXCI6ZW5hYmxlZFwiKS5sZW5ndGh8fHEucHVzaChcIjplbmFibGVkXCIsXCI6ZGlzYWJsZWRcIiksYS5xdWVyeVNlbGVjdG9yQWxsKFwiKiw6eFwiKSxxLnB1c2goXCIsLio6XCIpfSkpLChjLm1hdGNoZXNTZWxlY3Rvcj1aLnRlc3Qocz1vLm1hdGNoZXN8fG8ud2Via2l0TWF0Y2hlc1NlbGVjdG9yfHxvLm1vek1hdGNoZXNTZWxlY3Rvcnx8by5vTWF0Y2hlc1NlbGVjdG9yfHxvLm1zTWF0Y2hlc1NlbGVjdG9yKSkmJmlhKGZ1bmN0aW9uKGEpe2MuZGlzY29ubmVjdGVkTWF0Y2g9cy5jYWxsKGEsXCJkaXZcIikscy5jYWxsKGEsXCJbcyE9JyddOnhcIiksci5wdXNoKFwiIT1cIixPKX0pLHE9cS5sZW5ndGgmJm5ldyBSZWdFeHAocS5qb2luKFwifFwiKSkscj1yLmxlbmd0aCYmbmV3IFJlZ0V4cChyLmpvaW4oXCJ8XCIpKSxiPVoudGVzdChvLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKSx0PWJ8fFoudGVzdChvLmNvbnRhaW5zKT9mdW5jdGlvbihhLGIpe3ZhciBjPTk9PT1hLm5vZGVUeXBlP2EuZG9jdW1lbnRFbGVtZW50OmEsZD1iJiZiLnBhcmVudE5vZGU7cmV0dXJuIGE9PT1kfHwhKCFkfHwxIT09ZC5ub2RlVHlwZXx8IShjLmNvbnRhaW5zP2MuY29udGFpbnMoZCk6YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiYmMTYmYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihkKSkpfTpmdW5jdGlvbihhLGIpe2lmKGIpd2hpbGUoYj1iLnBhcmVudE5vZGUpaWYoYj09PWEpcmV0dXJuITA7cmV0dXJuITF9LEI9Yj9mdW5jdGlvbihhLGIpe2lmKGE9PT1iKXJldHVybiBsPSEwLDA7dmFyIGQ9IWEuY29tcGFyZURvY3VtZW50UG9zaXRpb24tIWIuY29tcGFyZURvY3VtZW50UG9zaXRpb247cmV0dXJuIGQ/ZDooZD0oYS5vd25lckRvY3VtZW50fHxhKT09PShiLm93bmVyRG9jdW1lbnR8fGIpP2EuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYik6MSwxJmR8fCFjLnNvcnREZXRhY2hlZCYmYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKT09PWQ/YT09PW58fGEub3duZXJEb2N1bWVudD09PXYmJnQodixhKT8tMTpiPT09bnx8Yi5vd25lckRvY3VtZW50PT09diYmdCh2LGIpPzE6az9KKGssYSktSihrLGIpOjA6NCZkPy0xOjEpfTpmdW5jdGlvbihhLGIpe2lmKGE9PT1iKXJldHVybiBsPSEwLDA7dmFyIGMsZD0wLGU9YS5wYXJlbnROb2RlLGY9Yi5wYXJlbnROb2RlLGc9W2FdLGg9W2JdO2lmKCFlfHwhZilyZXR1cm4gYT09PW4/LTE6Yj09PW4/MTplPy0xOmY/MTprP0ooayxhKS1KKGssYik6MDtpZihlPT09ZilyZXR1cm4ga2EoYSxiKTtjPWE7d2hpbGUoYz1jLnBhcmVudE5vZGUpZy51bnNoaWZ0KGMpO2M9Yjt3aGlsZShjPWMucGFyZW50Tm9kZSloLnVuc2hpZnQoYyk7d2hpbGUoZ1tkXT09PWhbZF0pZCsrO3JldHVybiBkP2thKGdbZF0saFtkXSk6Z1tkXT09PXY/LTE6aFtkXT09PXY/MTowfSxuKTpufSxmYS5tYXRjaGVzPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGZhKGEsbnVsbCxudWxsLGIpfSxmYS5tYXRjaGVzU2VsZWN0b3I9ZnVuY3Rpb24oYSxiKXtpZigoYS5vd25lckRvY3VtZW50fHxhKSE9PW4mJm0oYSksYj1iLnJlcGxhY2UoVCxcIj0nJDEnXVwiKSxjLm1hdGNoZXNTZWxlY3RvciYmcCYmIUFbYitcIiBcIl0mJighcnx8IXIudGVzdChiKSkmJighcXx8IXEudGVzdChiKSkpdHJ5e3ZhciBkPXMuY2FsbChhLGIpO2lmKGR8fGMuZGlzY29ubmVjdGVkTWF0Y2h8fGEuZG9jdW1lbnQmJjExIT09YS5kb2N1bWVudC5ub2RlVHlwZSlyZXR1cm4gZH1jYXRjaChlKXt9cmV0dXJuIGZhKGIsbixudWxsLFthXSkubGVuZ3RoPjB9LGZhLmNvbnRhaW5zPWZ1bmN0aW9uKGEsYil7cmV0dXJuKGEub3duZXJEb2N1bWVudHx8YSkhPT1uJiZtKGEpLHQoYSxiKX0sZmEuYXR0cj1mdW5jdGlvbihhLGIpeyhhLm93bmVyRG9jdW1lbnR8fGEpIT09biYmbShhKTt2YXIgZT1kLmF0dHJIYW5kbGVbYi50b0xvd2VyQ2FzZSgpXSxmPWUmJkQuY2FsbChkLmF0dHJIYW5kbGUsYi50b0xvd2VyQ2FzZSgpKT9lKGEsYiwhcCk6dm9pZCAwO3JldHVybiB2b2lkIDAhPT1mP2Y6Yy5hdHRyaWJ1dGVzfHwhcD9hLmdldEF0dHJpYnV0ZShiKTooZj1hLmdldEF0dHJpYnV0ZU5vZGUoYikpJiZmLnNwZWNpZmllZD9mLnZhbHVlOm51bGx9LGZhLmVycm9yPWZ1bmN0aW9uKGEpe3Rocm93IG5ldyBFcnJvcihcIlN5bnRheCBlcnJvciwgdW5yZWNvZ25pemVkIGV4cHJlc3Npb246IFwiK2EpfSxmYS51bmlxdWVTb3J0PWZ1bmN0aW9uKGEpe3ZhciBiLGQ9W10sZT0wLGY9MDtpZihsPSFjLmRldGVjdER1cGxpY2F0ZXMsaz0hYy5zb3J0U3RhYmxlJiZhLnNsaWNlKDApLGEuc29ydChCKSxsKXt3aGlsZShiPWFbZisrXSliPT09YVtmXSYmKGU9ZC5wdXNoKGYpKTt3aGlsZShlLS0pYS5zcGxpY2UoZFtlXSwxKX1yZXR1cm4gaz1udWxsLGF9LGU9ZmEuZ2V0VGV4dD1mdW5jdGlvbihhKXt2YXIgYixjPVwiXCIsZD0wLGY9YS5ub2RlVHlwZTtpZihmKXtpZigxPT09Znx8OT09PWZ8fDExPT09Zil7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGEudGV4dENvbnRlbnQpcmV0dXJuIGEudGV4dENvbnRlbnQ7Zm9yKGE9YS5maXJzdENoaWxkO2E7YT1hLm5leHRTaWJsaW5nKWMrPWUoYSl9ZWxzZSBpZigzPT09Znx8ND09PWYpcmV0dXJuIGEubm9kZVZhbHVlfWVsc2Ugd2hpbGUoYj1hW2QrK10pYys9ZShiKTtyZXR1cm4gY30sZD1mYS5zZWxlY3RvcnM9e2NhY2hlTGVuZ3RoOjUwLGNyZWF0ZVBzZXVkbzpoYSxtYXRjaDpXLGF0dHJIYW5kbGU6e30sZmluZDp7fSxyZWxhdGl2ZTp7XCI+XCI6e2RpcjpcInBhcmVudE5vZGVcIixmaXJzdDohMH0sXCIgXCI6e2RpcjpcInBhcmVudE5vZGVcIn0sXCIrXCI6e2RpcjpcInByZXZpb3VzU2libGluZ1wiLGZpcnN0OiEwfSxcIn5cIjp7ZGlyOlwicHJldmlvdXNTaWJsaW5nXCJ9fSxwcmVGaWx0ZXI6e0FUVFI6ZnVuY3Rpb24oYSl7cmV0dXJuIGFbMV09YVsxXS5yZXBsYWNlKGJhLGNhKSxhWzNdPShhWzNdfHxhWzRdfHxhWzVdfHxcIlwiKS5yZXBsYWNlKGJhLGNhKSxcIn49XCI9PT1hWzJdJiYoYVszXT1cIiBcIithWzNdK1wiIFwiKSxhLnNsaWNlKDAsNCl9LENISUxEOmZ1bmN0aW9uKGEpe3JldHVybiBhWzFdPWFbMV0udG9Mb3dlckNhc2UoKSxcIm50aFwiPT09YVsxXS5zbGljZSgwLDMpPyhhWzNdfHxmYS5lcnJvcihhWzBdKSxhWzRdPSsoYVs0XT9hWzVdKyhhWzZdfHwxKToyKihcImV2ZW5cIj09PWFbM118fFwib2RkXCI9PT1hWzNdKSksYVs1XT0rKGFbN10rYVs4XXx8XCJvZGRcIj09PWFbM10pKTphWzNdJiZmYS5lcnJvcihhWzBdKSxhfSxQU0VVRE86ZnVuY3Rpb24oYSl7dmFyIGIsYz0hYVs2XSYmYVsyXTtyZXR1cm4gVy5DSElMRC50ZXN0KGFbMF0pP251bGw6KGFbM10/YVsyXT1hWzRdfHxhWzVdfHxcIlwiOmMmJlUudGVzdChjKSYmKGI9ZyhjLCEwKSkmJihiPWMuaW5kZXhPZihcIilcIixjLmxlbmd0aC1iKS1jLmxlbmd0aCkmJihhWzBdPWFbMF0uc2xpY2UoMCxiKSxhWzJdPWMuc2xpY2UoMCxiKSksYS5zbGljZSgwLDMpKX19LGZpbHRlcjp7VEFHOmZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShiYSxjYSkudG9Mb3dlckNhc2UoKTtyZXR1cm5cIipcIj09PWE/ZnVuY3Rpb24oKXtyZXR1cm4hMH06ZnVuY3Rpb24oYSl7cmV0dXJuIGEubm9kZU5hbWUmJmEubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PWJ9fSxDTEFTUzpmdW5jdGlvbihhKXt2YXIgYj15W2ErXCIgXCJdO3JldHVybiBifHwoYj1uZXcgUmVnRXhwKFwiKF58XCIrTCtcIilcIithK1wiKFwiK0wrXCJ8JClcIikpJiZ5KGEsZnVuY3Rpb24oYSl7cmV0dXJuIGIudGVzdChcInN0cmluZ1wiPT10eXBlb2YgYS5jbGFzc05hbWUmJmEuY2xhc3NOYW1lfHxcInVuZGVmaW5lZFwiIT10eXBlb2YgYS5nZXRBdHRyaWJ1dGUmJmEuZ2V0QXR0cmlidXRlKFwiY2xhc3NcIil8fFwiXCIpfSl9LEFUVFI6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBmdW5jdGlvbihkKXt2YXIgZT1mYS5hdHRyKGQsYSk7cmV0dXJuIG51bGw9PWU/XCIhPVwiPT09YjpiPyhlKz1cIlwiLFwiPVwiPT09Yj9lPT09YzpcIiE9XCI9PT1iP2UhPT1jOlwiXj1cIj09PWI/YyYmMD09PWUuaW5kZXhPZihjKTpcIio9XCI9PT1iP2MmJmUuaW5kZXhPZihjKT4tMTpcIiQ9XCI9PT1iP2MmJmUuc2xpY2UoLWMubGVuZ3RoKT09PWM6XCJ+PVwiPT09Yj8oXCIgXCIrZS5yZXBsYWNlKFAsXCIgXCIpK1wiIFwiKS5pbmRleE9mKGMpPi0xOlwifD1cIj09PWI/ZT09PWN8fGUuc2xpY2UoMCxjLmxlbmd0aCsxKT09PWMrXCItXCI6ITEpOiEwfX0sQ0hJTEQ6ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1cIm50aFwiIT09YS5zbGljZSgwLDMpLGc9XCJsYXN0XCIhPT1hLnNsaWNlKC00KSxoPVwib2YtdHlwZVwiPT09YjtyZXR1cm4gMT09PWQmJjA9PT1lP2Z1bmN0aW9uKGEpe3JldHVybiEhYS5wYXJlbnROb2RlfTpmdW5jdGlvbihiLGMsaSl7dmFyIGosayxsLG0sbixvLHA9ZiE9PWc/XCJuZXh0U2libGluZ1wiOlwicHJldmlvdXNTaWJsaW5nXCIscT1iLnBhcmVudE5vZGUscj1oJiZiLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkscz0haSYmIWgsdD0hMTtpZihxKXtpZihmKXt3aGlsZShwKXttPWI7d2hpbGUobT1tW3BdKWlmKGg/bS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09cjoxPT09bS5ub2RlVHlwZSlyZXR1cm4hMTtvPXA9XCJvbmx5XCI9PT1hJiYhbyYmXCJuZXh0U2libGluZ1wifXJldHVybiEwfWlmKG89W2c/cS5maXJzdENoaWxkOnEubGFzdENoaWxkXSxnJiZzKXttPXEsbD1tW3VdfHwobVt1XT17fSksaz1sW20udW5pcXVlSURdfHwobFttLnVuaXF1ZUlEXT17fSksaj1rW2FdfHxbXSxuPWpbMF09PT13JiZqWzFdLHQ9biYmalsyXSxtPW4mJnEuY2hpbGROb2Rlc1tuXTt3aGlsZShtPSsrbiYmbSYmbVtwXXx8KHQ9bj0wKXx8by5wb3AoKSlpZigxPT09bS5ub2RlVHlwZSYmKyt0JiZtPT09Yil7a1thXT1bdyxuLHRdO2JyZWFrfX1lbHNlIGlmKHMmJihtPWIsbD1tW3VdfHwobVt1XT17fSksaz1sW20udW5pcXVlSURdfHwobFttLnVuaXF1ZUlEXT17fSksaj1rW2FdfHxbXSxuPWpbMF09PT13JiZqWzFdLHQ9biksdD09PSExKXdoaWxlKG09KytuJiZtJiZtW3BdfHwodD1uPTApfHxvLnBvcCgpKWlmKChoP20ubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXI6MT09PW0ubm9kZVR5cGUpJiYrK3QmJihzJiYobD1tW3VdfHwobVt1XT17fSksaz1sW20udW5pcXVlSURdfHwobFttLnVuaXF1ZUlEXT17fSksa1thXT1bdyx0XSksbT09PWIpKWJyZWFrO3JldHVybiB0LT1lLHQ9PT1kfHx0JWQ9PT0wJiZ0L2Q+PTB9fX0sUFNFVURPOmZ1bmN0aW9uKGEsYil7dmFyIGMsZT1kLnBzZXVkb3NbYV18fGQuc2V0RmlsdGVyc1thLnRvTG93ZXJDYXNlKCldfHxmYS5lcnJvcihcInVuc3VwcG9ydGVkIHBzZXVkbzogXCIrYSk7cmV0dXJuIGVbdV0/ZShiKTplLmxlbmd0aD4xPyhjPVthLGEsXCJcIixiXSxkLnNldEZpbHRlcnMuaGFzT3duUHJvcGVydHkoYS50b0xvd2VyQ2FzZSgpKT9oYShmdW5jdGlvbihhLGMpe3ZhciBkLGY9ZShhLGIpLGc9Zi5sZW5ndGg7d2hpbGUoZy0tKWQ9SihhLGZbZ10pLGFbZF09IShjW2RdPWZbZ10pfSk6ZnVuY3Rpb24oYSl7cmV0dXJuIGUoYSwwLGMpfSk6ZX19LHBzZXVkb3M6e25vdDpoYShmdW5jdGlvbihhKXt2YXIgYj1bXSxjPVtdLGQ9aChhLnJlcGxhY2UoUSxcIiQxXCIpKTtyZXR1cm4gZFt1XT9oYShmdW5jdGlvbihhLGIsYyxlKXt2YXIgZixnPWQoYSxudWxsLGUsW10pLGg9YS5sZW5ndGg7d2hpbGUoaC0tKShmPWdbaF0pJiYoYVtoXT0hKGJbaF09ZikpfSk6ZnVuY3Rpb24oYSxlLGYpe3JldHVybiBiWzBdPWEsZChiLG51bGwsZixjKSxiWzBdPW51bGwsIWMucG9wKCl9fSksaGFzOmhhKGZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbihiKXtyZXR1cm4gZmEoYSxiKS5sZW5ndGg+MH19KSxjb250YWluczpoYShmdW5jdGlvbihhKXtyZXR1cm4gYT1hLnJlcGxhY2UoYmEsY2EpLGZ1bmN0aW9uKGIpe3JldHVybihiLnRleHRDb250ZW50fHxiLmlubmVyVGV4dHx8ZShiKSkuaW5kZXhPZihhKT4tMX19KSxsYW5nOmhhKGZ1bmN0aW9uKGEpe3JldHVybiBWLnRlc3QoYXx8XCJcIil8fGZhLmVycm9yKFwidW5zdXBwb3J0ZWQgbGFuZzogXCIrYSksYT1hLnJlcGxhY2UoYmEsY2EpLnRvTG93ZXJDYXNlKCksZnVuY3Rpb24oYil7dmFyIGM7ZG8gaWYoYz1wP2IubGFuZzpiLmdldEF0dHJpYnV0ZShcInhtbDpsYW5nXCIpfHxiLmdldEF0dHJpYnV0ZShcImxhbmdcIikpcmV0dXJuIGM9Yy50b0xvd2VyQ2FzZSgpLGM9PT1hfHwwPT09Yy5pbmRleE9mKGErXCItXCIpO3doaWxlKChiPWIucGFyZW50Tm9kZSkmJjE9PT1iLm5vZGVUeXBlKTtyZXR1cm4hMX19KSx0YXJnZXQ6ZnVuY3Rpb24oYil7dmFyIGM9YS5sb2NhdGlvbiYmYS5sb2NhdGlvbi5oYXNoO3JldHVybiBjJiZjLnNsaWNlKDEpPT09Yi5pZH0scm9vdDpmdW5jdGlvbihhKXtyZXR1cm4gYT09PW99LGZvY3VzOmZ1bmN0aW9uKGEpe3JldHVybiBhPT09bi5hY3RpdmVFbGVtZW50JiYoIW4uaGFzRm9jdXN8fG4uaGFzRm9jdXMoKSkmJiEhKGEudHlwZXx8YS5ocmVmfHx+YS50YWJJbmRleCl9LGVuYWJsZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGlzYWJsZWQ9PT0hMX0sZGlzYWJsZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGlzYWJsZWQ9PT0hMH0sY2hlY2tlZDpmdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuXCJpbnB1dFwiPT09YiYmISFhLmNoZWNrZWR8fFwib3B0aW9uXCI9PT1iJiYhIWEuc2VsZWN0ZWR9LHNlbGVjdGVkOmZ1bmN0aW9uKGEpe3JldHVybiBhLnBhcmVudE5vZGUmJmEucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4LGEuc2VsZWN0ZWQ9PT0hMH0sZW1wdHk6ZnVuY3Rpb24oYSl7Zm9yKGE9YS5maXJzdENoaWxkO2E7YT1hLm5leHRTaWJsaW5nKWlmKGEubm9kZVR5cGU8NilyZXR1cm4hMTtyZXR1cm4hMH0scGFyZW50OmZ1bmN0aW9uKGEpe3JldHVybiFkLnBzZXVkb3MuZW1wdHkoYSl9LGhlYWRlcjpmdW5jdGlvbihhKXtyZXR1cm4gWS50ZXN0KGEubm9kZU5hbWUpfSxpbnB1dDpmdW5jdGlvbihhKXtyZXR1cm4gWC50ZXN0KGEubm9kZU5hbWUpfSxidXR0b246ZnVuY3Rpb24oYSl7dmFyIGI9YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVyblwiaW5wdXRcIj09PWImJlwiYnV0dG9uXCI9PT1hLnR5cGV8fFwiYnV0dG9uXCI9PT1ifSx0ZXh0OmZ1bmN0aW9uKGEpe3ZhciBiO3JldHVyblwiaW5wdXRcIj09PWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmXCJ0ZXh0XCI9PT1hLnR5cGUmJihudWxsPT0oYj1hLmdldEF0dHJpYnV0ZShcInR5cGVcIikpfHxcInRleHRcIj09PWIudG9Mb3dlckNhc2UoKSl9LGZpcnN0Om5hKGZ1bmN0aW9uKCl7cmV0dXJuWzBdfSksbGFzdDpuYShmdW5jdGlvbihhLGIpe3JldHVybltiLTFdfSksZXE6bmEoZnVuY3Rpb24oYSxiLGMpe3JldHVyblswPmM/YytiOmNdfSksZXZlbjpuYShmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0wO2I+YztjKz0yKWEucHVzaChjKTtyZXR1cm4gYX0pLG9kZDpuYShmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0xO2I+YztjKz0yKWEucHVzaChjKTtyZXR1cm4gYX0pLGx0Om5hKGZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MD5jP2MrYjpjOy0tZD49MDspYS5wdXNoKGQpO3JldHVybiBhfSksZ3Q6bmEoZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZD0wPmM/YytiOmM7KytkPGI7KWEucHVzaChkKTtyZXR1cm4gYX0pfX0sZC5wc2V1ZG9zLm50aD1kLnBzZXVkb3MuZXE7Zm9yKGIgaW57cmFkaW86ITAsY2hlY2tib3g6ITAsZmlsZTohMCxwYXNzd29yZDohMCxpbWFnZTohMH0pZC5wc2V1ZG9zW2JdPWxhKGIpO2ZvcihiIGlue3N1Ym1pdDohMCxyZXNldDohMH0pZC5wc2V1ZG9zW2JdPW1hKGIpO2Z1bmN0aW9uIHBhKCl7fXBhLnByb3RvdHlwZT1kLmZpbHRlcnM9ZC5wc2V1ZG9zLGQuc2V0RmlsdGVycz1uZXcgcGEsZz1mYS50b2tlbml6ZT1mdW5jdGlvbihhLGIpe3ZhciBjLGUsZixnLGgsaSxqLGs9elthK1wiIFwiXTtpZihrKXJldHVybiBiPzA6ay5zbGljZSgwKTtoPWEsaT1bXSxqPWQucHJlRmlsdGVyO3doaWxlKGgpe2MmJiEoZT1SLmV4ZWMoaCkpfHwoZSYmKGg9aC5zbGljZShlWzBdLmxlbmd0aCl8fGgpLGkucHVzaChmPVtdKSksYz0hMSwoZT1TLmV4ZWMoaCkpJiYoYz1lLnNoaWZ0KCksZi5wdXNoKHt2YWx1ZTpjLHR5cGU6ZVswXS5yZXBsYWNlKFEsXCIgXCIpfSksaD1oLnNsaWNlKGMubGVuZ3RoKSk7Zm9yKGcgaW4gZC5maWx0ZXIpIShlPVdbZ10uZXhlYyhoKSl8fGpbZ10mJiEoZT1qW2ddKGUpKXx8KGM9ZS5zaGlmdCgpLGYucHVzaCh7dmFsdWU6Yyx0eXBlOmcsbWF0Y2hlczplfSksaD1oLnNsaWNlKGMubGVuZ3RoKSk7aWYoIWMpYnJlYWt9cmV0dXJuIGI/aC5sZW5ndGg6aD9mYS5lcnJvcihhKTp6KGEsaSkuc2xpY2UoMCl9O2Z1bmN0aW9uIHFhKGEpe2Zvcih2YXIgYj0wLGM9YS5sZW5ndGgsZD1cIlwiO2M+YjtiKyspZCs9YVtiXS52YWx1ZTtyZXR1cm4gZH1mdW5jdGlvbiByYShhLGIsYyl7dmFyIGQ9Yi5kaXIsZT1jJiZcInBhcmVudE5vZGVcIj09PWQsZj14Kys7cmV0dXJuIGIuZmlyc3Q/ZnVuY3Rpb24oYixjLGYpe3doaWxlKGI9YltkXSlpZigxPT09Yi5ub2RlVHlwZXx8ZSlyZXR1cm4gYShiLGMsZil9OmZ1bmN0aW9uKGIsYyxnKXt2YXIgaCxpLGosaz1bdyxmXTtpZihnKXt3aGlsZShiPWJbZF0paWYoKDE9PT1iLm5vZGVUeXBlfHxlKSYmYShiLGMsZykpcmV0dXJuITB9ZWxzZSB3aGlsZShiPWJbZF0paWYoMT09PWIubm9kZVR5cGV8fGUpe2lmKGo9Ylt1XXx8KGJbdV09e30pLGk9altiLnVuaXF1ZUlEXXx8KGpbYi51bmlxdWVJRF09e30pLChoPWlbZF0pJiZoWzBdPT09dyYmaFsxXT09PWYpcmV0dXJuIGtbMl09aFsyXTtpZihpW2RdPWssa1syXT1hKGIsYyxnKSlyZXR1cm4hMH19fWZ1bmN0aW9uIHNhKGEpe3JldHVybiBhLmxlbmd0aD4xP2Z1bmN0aW9uKGIsYyxkKXt2YXIgZT1hLmxlbmd0aDt3aGlsZShlLS0paWYoIWFbZV0oYixjLGQpKXJldHVybiExO3JldHVybiEwfTphWzBdfWZ1bmN0aW9uIHRhKGEsYixjKXtmb3IodmFyIGQ9MCxlPWIubGVuZ3RoO2U+ZDtkKyspZmEoYSxiW2RdLGMpO3JldHVybiBjfWZ1bmN0aW9uIHVhKGEsYixjLGQsZSl7Zm9yKHZhciBmLGc9W10saD0wLGk9YS5sZW5ndGgsaj1udWxsIT1iO2k+aDtoKyspKGY9YVtoXSkmJihjJiYhYyhmLGQsZSl8fChnLnB1c2goZiksaiYmYi5wdXNoKGgpKSk7cmV0dXJuIGd9ZnVuY3Rpb24gdmEoYSxiLGMsZCxlLGYpe3JldHVybiBkJiYhZFt1XSYmKGQ9dmEoZCkpLGUmJiFlW3VdJiYoZT12YShlLGYpKSxoYShmdW5jdGlvbihmLGcsaCxpKXt2YXIgaixrLGwsbT1bXSxuPVtdLG89Zy5sZW5ndGgscD1mfHx0YShifHxcIipcIixoLm5vZGVUeXBlP1toXTpoLFtdKSxxPSFhfHwhZiYmYj9wOnVhKHAsbSxhLGgsaSkscj1jP2V8fChmP2E6b3x8ZCk/W106ZzpxO2lmKGMmJmMocSxyLGgsaSksZCl7aj11YShyLG4pLGQoaixbXSxoLGkpLGs9ai5sZW5ndGg7d2hpbGUoay0tKShsPWpba10pJiYocltuW2tdXT0hKHFbbltrXV09bCkpfWlmKGYpe2lmKGV8fGEpe2lmKGUpe2o9W10saz1yLmxlbmd0aDt3aGlsZShrLS0pKGw9cltrXSkmJmoucHVzaChxW2tdPWwpO2UobnVsbCxyPVtdLGosaSl9az1yLmxlbmd0aDt3aGlsZShrLS0pKGw9cltrXSkmJihqPWU/SihmLGwpOm1ba10pPi0xJiYoZltqXT0hKGdbal09bCkpfX1lbHNlIHI9dWEocj09PWc/ci5zcGxpY2UobyxyLmxlbmd0aCk6ciksZT9lKG51bGwsZyxyLGkpOkguYXBwbHkoZyxyKX0pfWZ1bmN0aW9uIHdhKGEpe2Zvcih2YXIgYixjLGUsZj1hLmxlbmd0aCxnPWQucmVsYXRpdmVbYVswXS50eXBlXSxoPWd8fGQucmVsYXRpdmVbXCIgXCJdLGk9Zz8xOjAsaz1yYShmdW5jdGlvbihhKXtyZXR1cm4gYT09PWJ9LGgsITApLGw9cmEoZnVuY3Rpb24oYSl7cmV0dXJuIEooYixhKT4tMX0saCwhMCksbT1bZnVuY3Rpb24oYSxjLGQpe3ZhciBlPSFnJiYoZHx8YyE9PWopfHwoKGI9Yykubm9kZVR5cGU/ayhhLGMsZCk6bChhLGMsZCkpO3JldHVybiBiPW51bGwsZX1dO2Y+aTtpKyspaWYoYz1kLnJlbGF0aXZlW2FbaV0udHlwZV0pbT1bcmEoc2EobSksYyldO2Vsc2V7aWYoYz1kLmZpbHRlclthW2ldLnR5cGVdLmFwcGx5KG51bGwsYVtpXS5tYXRjaGVzKSxjW3VdKXtmb3IoZT0rK2k7Zj5lO2UrKylpZihkLnJlbGF0aXZlW2FbZV0udHlwZV0pYnJlYWs7cmV0dXJuIHZhKGk+MSYmc2EobSksaT4xJiZxYShhLnNsaWNlKDAsaS0xKS5jb25jYXQoe3ZhbHVlOlwiIFwiPT09YVtpLTJdLnR5cGU/XCIqXCI6XCJcIn0pKS5yZXBsYWNlKFEsXCIkMVwiKSxjLGU+aSYmd2EoYS5zbGljZShpLGUpKSxmPmUmJndhKGE9YS5zbGljZShlKSksZj5lJiZxYShhKSl9bS5wdXNoKGMpfXJldHVybiBzYShtKX1mdW5jdGlvbiB4YShhLGIpe3ZhciBjPWIubGVuZ3RoPjAsZT1hLmxlbmd0aD4wLGY9ZnVuY3Rpb24oZixnLGgsaSxrKXt2YXIgbCxvLHEscj0wLHM9XCIwXCIsdD1mJiZbXSx1PVtdLHY9aix4PWZ8fGUmJmQuZmluZC5UQUcoXCIqXCIsaykseT13Kz1udWxsPT12PzE6TWF0aC5yYW5kb20oKXx8LjEsej14Lmxlbmd0aDtmb3IoayYmKGo9Zz09PW58fGd8fGspO3MhPT16JiZudWxsIT0obD14W3NdKTtzKyspe2lmKGUmJmwpe289MCxnfHxsLm93bmVyRG9jdW1lbnQ9PT1ufHwobShsKSxoPSFwKTt3aGlsZShxPWFbbysrXSlpZihxKGwsZ3x8bixoKSl7aS5wdXNoKGwpO2JyZWFrfWsmJih3PXkpfWMmJigobD0hcSYmbCkmJnItLSxmJiZ0LnB1c2gobCkpfWlmKHIrPXMsYyYmcyE9PXIpe289MDt3aGlsZShxPWJbbysrXSlxKHQsdSxnLGgpO2lmKGYpe2lmKHI+MCl3aGlsZShzLS0pdFtzXXx8dVtzXXx8KHVbc109Ri5jYWxsKGkpKTt1PXVhKHUpfUguYXBwbHkoaSx1KSxrJiYhZiYmdS5sZW5ndGg+MCYmcitiLmxlbmd0aD4xJiZmYS51bmlxdWVTb3J0KGkpfXJldHVybiBrJiYodz15LGo9diksdH07cmV0dXJuIGM/aGEoZik6Zn1yZXR1cm4gaD1mYS5jb21waWxlPWZ1bmN0aW9uKGEsYil7dmFyIGMsZD1bXSxlPVtdLGY9QVthK1wiIFwiXTtpZighZil7Ynx8KGI9ZyhhKSksYz1iLmxlbmd0aDt3aGlsZShjLS0pZj13YShiW2NdKSxmW3VdP2QucHVzaChmKTplLnB1c2goZik7Zj1BKGEseGEoZSxkKSksZi5zZWxlY3Rvcj1hfXJldHVybiBmfSxpPWZhLnNlbGVjdD1mdW5jdGlvbihhLGIsZSxmKXt2YXIgaSxqLGssbCxtLG49XCJmdW5jdGlvblwiPT10eXBlb2YgYSYmYSxvPSFmJiZnKGE9bi5zZWxlY3Rvcnx8YSk7aWYoZT1lfHxbXSwxPT09by5sZW5ndGgpe2lmKGo9b1swXT1vWzBdLnNsaWNlKDApLGoubGVuZ3RoPjImJlwiSURcIj09PShrPWpbMF0pLnR5cGUmJmMuZ2V0QnlJZCYmOT09PWIubm9kZVR5cGUmJnAmJmQucmVsYXRpdmVbalsxXS50eXBlXSl7aWYoYj0oZC5maW5kLklEKGsubWF0Y2hlc1swXS5yZXBsYWNlKGJhLGNhKSxiKXx8W10pWzBdLCFiKXJldHVybiBlO24mJihiPWIucGFyZW50Tm9kZSksYT1hLnNsaWNlKGouc2hpZnQoKS52YWx1ZS5sZW5ndGgpfWk9Vy5uZWVkc0NvbnRleHQudGVzdChhKT8wOmoubGVuZ3RoO3doaWxlKGktLSl7aWYoaz1qW2ldLGQucmVsYXRpdmVbbD1rLnR5cGVdKWJyZWFrO2lmKChtPWQuZmluZFtsXSkmJihmPW0oay5tYXRjaGVzWzBdLnJlcGxhY2UoYmEsY2EpLF8udGVzdChqWzBdLnR5cGUpJiZvYShiLnBhcmVudE5vZGUpfHxiKSkpe2lmKGouc3BsaWNlKGksMSksYT1mLmxlbmd0aCYmcWEoaiksIWEpcmV0dXJuIEguYXBwbHkoZSxmKSxlO2JyZWFrfX19cmV0dXJuKG58fGgoYSxvKSkoZixiLCFwLGUsIWJ8fF8udGVzdChhKSYmb2EoYi5wYXJlbnROb2RlKXx8YiksZX0sYy5zb3J0U3RhYmxlPXUuc3BsaXQoXCJcIikuc29ydChCKS5qb2luKFwiXCIpPT09dSxjLmRldGVjdER1cGxpY2F0ZXM9ISFsLG0oKSxjLnNvcnREZXRhY2hlZD1pYShmdW5jdGlvbihhKXtyZXR1cm4gMSZhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKG4uY3JlYXRlRWxlbWVudChcImRpdlwiKSl9KSxpYShmdW5jdGlvbihhKXtyZXR1cm4gYS5pbm5lckhUTUw9XCI8YSBocmVmPScjJz48L2E+XCIsXCIjXCI9PT1hLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKFwiaHJlZlwiKX0pfHxqYShcInR5cGV8aHJlZnxoZWlnaHR8d2lkdGhcIixmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGM/dm9pZCAwOmEuZ2V0QXR0cmlidXRlKGIsXCJ0eXBlXCI9PT1iLnRvTG93ZXJDYXNlKCk/MToyKX0pLGMuYXR0cmlidXRlcyYmaWEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaW5uZXJIVE1MPVwiPGlucHV0Lz5cIixhLmZpcnN0Q2hpbGQuc2V0QXR0cmlidXRlKFwidmFsdWVcIixcIlwiKSxcIlwiPT09YS5maXJzdENoaWxkLmdldEF0dHJpYnV0ZShcInZhbHVlXCIpfSl8fGphKFwidmFsdWVcIixmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGN8fFwiaW5wdXRcIiE9PWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKT92b2lkIDA6YS5kZWZhdWx0VmFsdWV9KSxpYShmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YS5nZXRBdHRyaWJ1dGUoXCJkaXNhYmxlZFwiKX0pfHxqYShLLGZ1bmN0aW9uKGEsYixjKXt2YXIgZDtyZXR1cm4gYz92b2lkIDA6YVtiXT09PSEwP2IudG9Mb3dlckNhc2UoKTooZD1hLmdldEF0dHJpYnV0ZU5vZGUoYikpJiZkLnNwZWNpZmllZD9kLnZhbHVlOm51bGx9KSxmYX0oYSk7bi5maW5kPXQsbi5leHByPXQuc2VsZWN0b3JzLG4uZXhwcltcIjpcIl09bi5leHByLnBzZXVkb3Msbi51bmlxdWVTb3J0PW4udW5pcXVlPXQudW5pcXVlU29ydCxuLnRleHQ9dC5nZXRUZXh0LG4uaXNYTUxEb2M9dC5pc1hNTCxuLmNvbnRhaW5zPXQuY29udGFpbnM7dmFyIHU9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU9dm9pZCAwIT09Yzt3aGlsZSgoYT1hW2JdKSYmOSE9PWEubm9kZVR5cGUpaWYoMT09PWEubm9kZVR5cGUpe2lmKGUmJm4oYSkuaXMoYykpYnJlYWs7ZC5wdXNoKGEpfXJldHVybiBkfSx2PWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPVtdO2E7YT1hLm5leHRTaWJsaW5nKTE9PT1hLm5vZGVUeXBlJiZhIT09YiYmYy5wdXNoKGEpO3JldHVybiBjfSx3PW4uZXhwci5tYXRjaC5uZWVkc0NvbnRleHQseD0vXjwoW1xcdy1dKylcXHMqXFwvPz4oPzo8XFwvXFwxPnwpJC8seT0vXi5bXjojXFxbXFwuLF0qJC87ZnVuY3Rpb24geihhLGIsYyl7aWYobi5pc0Z1bmN0aW9uKGIpKXJldHVybiBuLmdyZXAoYSxmdW5jdGlvbihhLGQpe3JldHVybiEhYi5jYWxsKGEsZCxhKSE9PWN9KTtpZihiLm5vZGVUeXBlKXJldHVybiBuLmdyZXAoYSxmdW5jdGlvbihhKXtyZXR1cm4gYT09PWIhPT1jfSk7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGIpe2lmKHkudGVzdChiKSlyZXR1cm4gbi5maWx0ZXIoYixhLGMpO2I9bi5maWx0ZXIoYixhKX1yZXR1cm4gbi5ncmVwKGEsZnVuY3Rpb24oYSl7cmV0dXJuIGguY2FsbChiLGEpPi0xIT09Y30pfW4uZmlsdGVyPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1iWzBdO3JldHVybiBjJiYoYT1cIjpub3QoXCIrYStcIilcIiksMT09PWIubGVuZ3RoJiYxPT09ZC5ub2RlVHlwZT9uLmZpbmQubWF0Y2hlc1NlbGVjdG9yKGQsYSk/W2RdOltdOm4uZmluZC5tYXRjaGVzKGEsbi5ncmVwKGIsZnVuY3Rpb24oYSl7cmV0dXJuIDE9PT1hLm5vZGVUeXBlfSkpfSxuLmZuLmV4dGVuZCh7ZmluZDpmdW5jdGlvbihhKXt2YXIgYixjPXRoaXMubGVuZ3RoLGQ9W10sZT10aGlzO2lmKFwic3RyaW5nXCIhPXR5cGVvZiBhKXJldHVybiB0aGlzLnB1c2hTdGFjayhuKGEpLmZpbHRlcihmdW5jdGlvbigpe2ZvcihiPTA7Yz5iO2IrKylpZihuLmNvbnRhaW5zKGVbYl0sdGhpcykpcmV0dXJuITB9KSk7Zm9yKGI9MDtjPmI7YisrKW4uZmluZChhLGVbYl0sZCk7cmV0dXJuIGQ9dGhpcy5wdXNoU3RhY2soYz4xP24udW5pcXVlKGQpOmQpLGQuc2VsZWN0b3I9dGhpcy5zZWxlY3Rvcj90aGlzLnNlbGVjdG9yK1wiIFwiK2E6YSxkfSxmaWx0ZXI6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKHoodGhpcyxhfHxbXSwhMSkpfSxub3Q6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKHoodGhpcyxhfHxbXSwhMCkpfSxpczpmdW5jdGlvbihhKXtyZXR1cm4hIXoodGhpcyxcInN0cmluZ1wiPT10eXBlb2YgYSYmdy50ZXN0KGEpP24oYSk6YXx8W10sITEpLmxlbmd0aH19KTt2YXIgQSxCPS9eKD86XFxzKig8W1xcd1xcV10rPilbXj5dKnwjKFtcXHctXSopKSQvLEM9bi5mbi5pbml0PWZ1bmN0aW9uKGEsYixjKXt2YXIgZSxmO2lmKCFhKXJldHVybiB0aGlzO2lmKGM9Y3x8QSxcInN0cmluZ1wiPT10eXBlb2YgYSl7aWYoZT1cIjxcIj09PWFbMF0mJlwiPlwiPT09YVthLmxlbmd0aC0xXSYmYS5sZW5ndGg+PTM/W251bGwsYSxudWxsXTpCLmV4ZWMoYSksIWV8fCFlWzFdJiZiKXJldHVybiFifHxiLmpxdWVyeT8oYnx8YykuZmluZChhKTp0aGlzLmNvbnN0cnVjdG9yKGIpLmZpbmQoYSk7aWYoZVsxXSl7aWYoYj1iIGluc3RhbmNlb2Ygbj9iWzBdOmIsbi5tZXJnZSh0aGlzLG4ucGFyc2VIVE1MKGVbMV0sYiYmYi5ub2RlVHlwZT9iLm93bmVyRG9jdW1lbnR8fGI6ZCwhMCkpLHgudGVzdChlWzFdKSYmbi5pc1BsYWluT2JqZWN0KGIpKWZvcihlIGluIGIpbi5pc0Z1bmN0aW9uKHRoaXNbZV0pP3RoaXNbZV0oYltlXSk6dGhpcy5hdHRyKGUsYltlXSk7cmV0dXJuIHRoaXN9cmV0dXJuIGY9ZC5nZXRFbGVtZW50QnlJZChlWzJdKSxmJiZmLnBhcmVudE5vZGUmJih0aGlzLmxlbmd0aD0xLHRoaXNbMF09ZiksdGhpcy5jb250ZXh0PWQsdGhpcy5zZWxlY3Rvcj1hLHRoaXN9cmV0dXJuIGEubm9kZVR5cGU/KHRoaXMuY29udGV4dD10aGlzWzBdPWEsdGhpcy5sZW5ndGg9MSx0aGlzKTpuLmlzRnVuY3Rpb24oYSk/dm9pZCAwIT09Yy5yZWFkeT9jLnJlYWR5KGEpOmEobik6KHZvaWQgMCE9PWEuc2VsZWN0b3ImJih0aGlzLnNlbGVjdG9yPWEuc2VsZWN0b3IsdGhpcy5jb250ZXh0PWEuY29udGV4dCksbi5tYWtlQXJyYXkoYSx0aGlzKSl9O0MucHJvdG90eXBlPW4uZm4sQT1uKGQpO3ZhciBEPS9eKD86cGFyZW50c3xwcmV2KD86VW50aWx8QWxsKSkvLEU9e2NoaWxkcmVuOiEwLGNvbnRlbnRzOiEwLG5leHQ6ITAscHJldjohMH07bi5mbi5leHRlbmQoe2hhczpmdW5jdGlvbihhKXt2YXIgYj1uKGEsdGhpcyksYz1iLmxlbmd0aDtyZXR1cm4gdGhpcy5maWx0ZXIoZnVuY3Rpb24oKXtmb3IodmFyIGE9MDtjPmE7YSsrKWlmKG4uY29udGFpbnModGhpcyxiW2FdKSlyZXR1cm4hMH0pfSxjbG9zZXN0OmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjLGQ9MCxlPXRoaXMubGVuZ3RoLGY9W10sZz13LnRlc3QoYSl8fFwic3RyaW5nXCIhPXR5cGVvZiBhP24oYSxifHx0aGlzLmNvbnRleHQpOjA7ZT5kO2QrKylmb3IoYz10aGlzW2RdO2MmJmMhPT1iO2M9Yy5wYXJlbnROb2RlKWlmKGMubm9kZVR5cGU8MTEmJihnP2cuaW5kZXgoYyk+LTE6MT09PWMubm9kZVR5cGUmJm4uZmluZC5tYXRjaGVzU2VsZWN0b3IoYyxhKSkpe2YucHVzaChjKTticmVha31yZXR1cm4gdGhpcy5wdXNoU3RhY2soZi5sZW5ndGg+MT9uLnVuaXF1ZVNvcnQoZik6Zil9LGluZGV4OmZ1bmN0aW9uKGEpe3JldHVybiBhP1wic3RyaW5nXCI9PXR5cGVvZiBhP2guY2FsbChuKGEpLHRoaXNbMF0pOmguY2FsbCh0aGlzLGEuanF1ZXJ5P2FbMF06YSk6dGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlP3RoaXMuZmlyc3QoKS5wcmV2QWxsKCkubGVuZ3RoOi0xfSxhZGQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sobi51bmlxdWVTb3J0KG4ubWVyZ2UodGhpcy5nZXQoKSxuKGEsYikpKSl9LGFkZEJhY2s6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuYWRkKG51bGw9PWE/dGhpcy5wcmV2T2JqZWN0OnRoaXMucHJldk9iamVjdC5maWx0ZXIoYSkpfX0pO2Z1bmN0aW9uIEYoYSxiKXt3aGlsZSgoYT1hW2JdKSYmMSE9PWEubm9kZVR5cGUpO3JldHVybiBhfW4uZWFjaCh7cGFyZW50OmZ1bmN0aW9uKGEpe3ZhciBiPWEucGFyZW50Tm9kZTtyZXR1cm4gYiYmMTEhPT1iLm5vZGVUeXBlP2I6bnVsbH0scGFyZW50czpmdW5jdGlvbihhKXtyZXR1cm4gdShhLFwicGFyZW50Tm9kZVwiKX0scGFyZW50c1VudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdShhLFwicGFyZW50Tm9kZVwiLGMpfSxuZXh0OmZ1bmN0aW9uKGEpe3JldHVybiBGKGEsXCJuZXh0U2libGluZ1wiKX0scHJldjpmdW5jdGlvbihhKXtyZXR1cm4gRihhLFwicHJldmlvdXNTaWJsaW5nXCIpfSxuZXh0QWxsOmZ1bmN0aW9uKGEpe3JldHVybiB1KGEsXCJuZXh0U2libGluZ1wiKX0scHJldkFsbDpmdW5jdGlvbihhKXtyZXR1cm4gdShhLFwicHJldmlvdXNTaWJsaW5nXCIpfSxuZXh0VW50aWw6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB1KGEsXCJuZXh0U2libGluZ1wiLGMpfSxwcmV2VW50aWw6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB1KGEsXCJwcmV2aW91c1NpYmxpbmdcIixjKX0sc2libGluZ3M6ZnVuY3Rpb24oYSl7cmV0dXJuIHYoKGEucGFyZW50Tm9kZXx8e30pLmZpcnN0Q2hpbGQsYSl9LGNoaWxkcmVuOmZ1bmN0aW9uKGEpe3JldHVybiB2KGEuZmlyc3RDaGlsZCl9LGNvbnRlbnRzOmZ1bmN0aW9uKGEpe3JldHVybiBhLmNvbnRlbnREb2N1bWVudHx8bi5tZXJnZShbXSxhLmNoaWxkTm9kZXMpfX0sZnVuY3Rpb24oYSxiKXtuLmZuW2FdPWZ1bmN0aW9uKGMsZCl7dmFyIGU9bi5tYXAodGhpcyxiLGMpO3JldHVyblwiVW50aWxcIiE9PWEuc2xpY2UoLTUpJiYoZD1jKSxkJiZcInN0cmluZ1wiPT10eXBlb2YgZCYmKGU9bi5maWx0ZXIoZCxlKSksdGhpcy5sZW5ndGg+MSYmKEVbYV18fG4udW5pcXVlU29ydChlKSxELnRlc3QoYSkmJmUucmV2ZXJzZSgpKSx0aGlzLnB1c2hTdGFjayhlKX19KTt2YXIgRz0vXFxTKy9nO2Z1bmN0aW9uIEgoYSl7dmFyIGI9e307cmV0dXJuIG4uZWFjaChhLm1hdGNoKEcpfHxbXSxmdW5jdGlvbihhLGMpe2JbY109ITB9KSxifW4uQ2FsbGJhY2tzPWZ1bmN0aW9uKGEpe2E9XCJzdHJpbmdcIj09dHlwZW9mIGE/SChhKTpuLmV4dGVuZCh7fSxhKTt2YXIgYixjLGQsZSxmPVtdLGc9W10saD0tMSxpPWZ1bmN0aW9uKCl7Zm9yKGU9YS5vbmNlLGQ9Yj0hMDtnLmxlbmd0aDtoPS0xKXtjPWcuc2hpZnQoKTt3aGlsZSgrK2g8Zi5sZW5ndGgpZltoXS5hcHBseShjWzBdLGNbMV0pPT09ITEmJmEuc3RvcE9uRmFsc2UmJihoPWYubGVuZ3RoLGM9ITEpfWEubWVtb3J5fHwoYz0hMSksYj0hMSxlJiYoZj1jP1tdOlwiXCIpfSxqPXthZGQ6ZnVuY3Rpb24oKXtyZXR1cm4gZiYmKGMmJiFiJiYoaD1mLmxlbmd0aC0xLGcucHVzaChjKSksZnVuY3Rpb24gZChiKXtuLmVhY2goYixmdW5jdGlvbihiLGMpe24uaXNGdW5jdGlvbihjKT9hLnVuaXF1ZSYmai5oYXMoYyl8fGYucHVzaChjKTpjJiZjLmxlbmd0aCYmXCJzdHJpbmdcIiE9PW4udHlwZShjKSYmZChjKX0pfShhcmd1bWVudHMpLGMmJiFiJiZpKCkpLHRoaXN9LHJlbW92ZTpmdW5jdGlvbigpe3JldHVybiBuLmVhY2goYXJndW1lbnRzLGZ1bmN0aW9uKGEsYil7dmFyIGM7d2hpbGUoKGM9bi5pbkFycmF5KGIsZixjKSk+LTEpZi5zcGxpY2UoYywxKSxoPj1jJiZoLS19KSx0aGlzfSxoYXM6ZnVuY3Rpb24oYSl7cmV0dXJuIGE/bi5pbkFycmF5KGEsZik+LTE6Zi5sZW5ndGg+MH0sZW1wdHk6ZnVuY3Rpb24oKXtyZXR1cm4gZiYmKGY9W10pLHRoaXN9LGRpc2FibGU6ZnVuY3Rpb24oKXtyZXR1cm4gZT1nPVtdLGY9Yz1cIlwiLHRoaXN9LGRpc2FibGVkOmZ1bmN0aW9uKCl7cmV0dXJuIWZ9LGxvY2s6ZnVuY3Rpb24oKXtyZXR1cm4gZT1nPVtdLGN8fChmPWM9XCJcIiksdGhpc30sbG9ja2VkOmZ1bmN0aW9uKCl7cmV0dXJuISFlfSxmaXJlV2l0aDpmdW5jdGlvbihhLGMpe3JldHVybiBlfHwoYz1jfHxbXSxjPVthLGMuc2xpY2U/Yy5zbGljZSgpOmNdLGcucHVzaChjKSxifHxpKCkpLHRoaXN9LGZpcmU6ZnVuY3Rpb24oKXtyZXR1cm4gai5maXJlV2l0aCh0aGlzLGFyZ3VtZW50cyksdGhpc30sZmlyZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hIWR9fTtyZXR1cm4gan0sbi5leHRlbmQoe0RlZmVycmVkOmZ1bmN0aW9uKGEpe3ZhciBiPVtbXCJyZXNvbHZlXCIsXCJkb25lXCIsbi5DYWxsYmFja3MoXCJvbmNlIG1lbW9yeVwiKSxcInJlc29sdmVkXCJdLFtcInJlamVjdFwiLFwiZmFpbFwiLG4uQ2FsbGJhY2tzKFwib25jZSBtZW1vcnlcIiksXCJyZWplY3RlZFwiXSxbXCJub3RpZnlcIixcInByb2dyZXNzXCIsbi5DYWxsYmFja3MoXCJtZW1vcnlcIildXSxjPVwicGVuZGluZ1wiLGQ9e3N0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIGN9LGFsd2F5czpmdW5jdGlvbigpe3JldHVybiBlLmRvbmUoYXJndW1lbnRzKS5mYWlsKGFyZ3VtZW50cyksdGhpc30sdGhlbjpmdW5jdGlvbigpe3ZhciBhPWFyZ3VtZW50cztyZXR1cm4gbi5EZWZlcnJlZChmdW5jdGlvbihjKXtuLmVhY2goYixmdW5jdGlvbihiLGYpe3ZhciBnPW4uaXNGdW5jdGlvbihhW2JdKSYmYVtiXTtlW2ZbMV1dKGZ1bmN0aW9uKCl7dmFyIGE9ZyYmZy5hcHBseSh0aGlzLGFyZ3VtZW50cyk7YSYmbi5pc0Z1bmN0aW9uKGEucHJvbWlzZSk/YS5wcm9taXNlKCkucHJvZ3Jlc3MoYy5ub3RpZnkpLmRvbmUoYy5yZXNvbHZlKS5mYWlsKGMucmVqZWN0KTpjW2ZbMF0rXCJXaXRoXCJdKHRoaXM9PT1kP2MucHJvbWlzZSgpOnRoaXMsZz9bYV06YXJndW1lbnRzKX0pfSksYT1udWxsfSkucHJvbWlzZSgpfSxwcm9taXNlOmZ1bmN0aW9uKGEpe3JldHVybiBudWxsIT1hP24uZXh0ZW5kKGEsZCk6ZH19LGU9e307cmV0dXJuIGQucGlwZT1kLnRoZW4sbi5lYWNoKGIsZnVuY3Rpb24oYSxmKXt2YXIgZz1mWzJdLGg9ZlszXTtkW2ZbMV1dPWcuYWRkLGgmJmcuYWRkKGZ1bmN0aW9uKCl7Yz1ofSxiWzFeYV1bMl0uZGlzYWJsZSxiWzJdWzJdLmxvY2spLGVbZlswXV09ZnVuY3Rpb24oKXtyZXR1cm4gZVtmWzBdK1wiV2l0aFwiXSh0aGlzPT09ZT9kOnRoaXMsYXJndW1lbnRzKSx0aGlzfSxlW2ZbMF0rXCJXaXRoXCJdPWcuZmlyZVdpdGh9KSxkLnByb21pc2UoZSksYSYmYS5jYWxsKGUsZSksZX0sd2hlbjpmdW5jdGlvbihhKXt2YXIgYj0wLGM9ZS5jYWxsKGFyZ3VtZW50cyksZD1jLmxlbmd0aCxmPTEhPT1kfHxhJiZuLmlzRnVuY3Rpb24oYS5wcm9taXNlKT9kOjAsZz0xPT09Zj9hOm4uRGVmZXJyZWQoKSxoPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZnVuY3Rpb24oZCl7YlthXT10aGlzLGNbYV09YXJndW1lbnRzLmxlbmd0aD4xP2UuY2FsbChhcmd1bWVudHMpOmQsYz09PWk/Zy5ub3RpZnlXaXRoKGIsYyk6LS1mfHxnLnJlc29sdmVXaXRoKGIsYyl9fSxpLGosaztpZihkPjEpZm9yKGk9bmV3IEFycmF5KGQpLGo9bmV3IEFycmF5KGQpLGs9bmV3IEFycmF5KGQpO2Q+YjtiKyspY1tiXSYmbi5pc0Z1bmN0aW9uKGNbYl0ucHJvbWlzZSk/Y1tiXS5wcm9taXNlKCkucHJvZ3Jlc3MoaChiLGosaSkpLmRvbmUoaChiLGssYykpLmZhaWwoZy5yZWplY3QpOi0tZjtyZXR1cm4gZnx8Zy5yZXNvbHZlV2l0aChrLGMpLGcucHJvbWlzZSgpfX0pO3ZhciBJO24uZm4ucmVhZHk9ZnVuY3Rpb24oYSl7cmV0dXJuIG4ucmVhZHkucHJvbWlzZSgpLmRvbmUoYSksdGhpc30sbi5leHRlbmQoe2lzUmVhZHk6ITEscmVhZHlXYWl0OjEsaG9sZFJlYWR5OmZ1bmN0aW9uKGEpe2E/bi5yZWFkeVdhaXQrKzpuLnJlYWR5KCEwKX0scmVhZHk6ZnVuY3Rpb24oYSl7KGE9PT0hMD8tLW4ucmVhZHlXYWl0Om4uaXNSZWFkeSl8fChuLmlzUmVhZHk9ITAsYSE9PSEwJiYtLW4ucmVhZHlXYWl0PjB8fChJLnJlc29sdmVXaXRoKGQsW25dKSxuLmZuLnRyaWdnZXJIYW5kbGVyJiYobihkKS50cmlnZ2VySGFuZGxlcihcInJlYWR5XCIpLG4oZCkub2ZmKFwicmVhZHlcIikpKSl9fSk7ZnVuY3Rpb24gSigpe2QucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIkRPTUNvbnRlbnRMb2FkZWRcIixKKSxhLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsSiksbi5yZWFkeSgpfW4ucmVhZHkucHJvbWlzZT1mdW5jdGlvbihiKXtyZXR1cm4gSXx8KEk9bi5EZWZlcnJlZCgpLFwiY29tcGxldGVcIj09PWQucmVhZHlTdGF0ZXx8XCJsb2FkaW5nXCIhPT1kLnJlYWR5U3RhdGUmJiFkLmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbD9hLnNldFRpbWVvdXQobi5yZWFkeSk6KGQuYWRkRXZlbnRMaXN0ZW5lcihcIkRPTUNvbnRlbnRMb2FkZWRcIixKKSxhLmFkZEV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsSikpKSxJLnByb21pc2UoYil9LG4ucmVhZHkucHJvbWlzZSgpO3ZhciBLPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcpe3ZhciBoPTAsaT1hLmxlbmd0aCxqPW51bGw9PWM7aWYoXCJvYmplY3RcIj09PW4udHlwZShjKSl7ZT0hMDtmb3IoaCBpbiBjKUsoYSxiLGgsY1toXSwhMCxmLGcpfWVsc2UgaWYodm9pZCAwIT09ZCYmKGU9ITAsbi5pc0Z1bmN0aW9uKGQpfHwoZz0hMCksaiYmKGc/KGIuY2FsbChhLGQpLGI9bnVsbCk6KGo9YixiPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gai5jYWxsKG4oYSksYyl9KSksYikpZm9yKDtpPmg7aCsrKWIoYVtoXSxjLGc/ZDpkLmNhbGwoYVtoXSxoLGIoYVtoXSxjKSkpO3JldHVybiBlP2E6aj9iLmNhbGwoYSk6aT9iKGFbMF0sYyk6Zn0sTD1mdW5jdGlvbihhKXtyZXR1cm4gMT09PWEubm9kZVR5cGV8fDk9PT1hLm5vZGVUeXBlfHwhK2Eubm9kZVR5cGV9O2Z1bmN0aW9uIE0oKXt0aGlzLmV4cGFuZG89bi5leHBhbmRvK00udWlkKyt9TS51aWQ9MSxNLnByb3RvdHlwZT17cmVnaXN0ZXI6ZnVuY3Rpb24oYSxiKXt2YXIgYz1ifHx7fTtyZXR1cm4gYS5ub2RlVHlwZT9hW3RoaXMuZXhwYW5kb109YzpPYmplY3QuZGVmaW5lUHJvcGVydHkoYSx0aGlzLmV4cGFuZG8se3ZhbHVlOmMsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksYVt0aGlzLmV4cGFuZG9dfSxjYWNoZTpmdW5jdGlvbihhKXtpZighTChhKSlyZXR1cm57fTt2YXIgYj1hW3RoaXMuZXhwYW5kb107cmV0dXJuIGJ8fChiPXt9LEwoYSkmJihhLm5vZGVUeXBlP2FbdGhpcy5leHBhbmRvXT1iOk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLHRoaXMuZXhwYW5kbyx7dmFsdWU6Yixjb25maWd1cmFibGU6ITB9KSkpLGJ9LHNldDpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZT10aGlzLmNhY2hlKGEpO2lmKFwic3RyaW5nXCI9PXR5cGVvZiBiKWVbYl09YztlbHNlIGZvcihkIGluIGIpZVtkXT1iW2RdO3JldHVybiBlfSxnZXQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdm9pZCAwPT09Yj90aGlzLmNhY2hlKGEpOmFbdGhpcy5leHBhbmRvXSYmYVt0aGlzLmV4cGFuZG9dW2JdfSxhY2Nlc3M6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybiB2b2lkIDA9PT1ifHxiJiZcInN0cmluZ1wiPT10eXBlb2YgYiYmdm9pZCAwPT09Yz8oZD10aGlzLmdldChhLGIpLHZvaWQgMCE9PWQ/ZDp0aGlzLmdldChhLG4uY2FtZWxDYXNlKGIpKSk6KHRoaXMuc2V0KGEsYixjKSx2b2lkIDAhPT1jP2M6Yil9LHJlbW92ZTpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmPWFbdGhpcy5leHBhbmRvXTtpZih2b2lkIDAhPT1mKXtpZih2b2lkIDA9PT1iKXRoaXMucmVnaXN0ZXIoYSk7ZWxzZXtuLmlzQXJyYXkoYik/ZD1iLmNvbmNhdChiLm1hcChuLmNhbWVsQ2FzZSkpOihlPW4uY2FtZWxDYXNlKGIpLGIgaW4gZj9kPVtiLGVdOihkPWUsZD1kIGluIGY/W2RdOmQubWF0Y2goRyl8fFtdKSksYz1kLmxlbmd0aDt3aGlsZShjLS0pZGVsZXRlIGZbZFtjXV19KHZvaWQgMD09PWJ8fG4uaXNFbXB0eU9iamVjdChmKSkmJihhLm5vZGVUeXBlP2FbdGhpcy5leHBhbmRvXT12b2lkIDA6ZGVsZXRlIGFbdGhpcy5leHBhbmRvXSl9fSxoYXNEYXRhOmZ1bmN0aW9uKGEpe3ZhciBiPWFbdGhpcy5leHBhbmRvXTtyZXR1cm4gdm9pZCAwIT09YiYmIW4uaXNFbXB0eU9iamVjdChiKX19O3ZhciBOPW5ldyBNLE89bmV3IE0sUD0vXig/Olxce1tcXHdcXFddKlxcfXxcXFtbXFx3XFxXXSpcXF0pJC8sUT0vW0EtWl0vZztmdW5jdGlvbiBSKGEsYixjKXt2YXIgZDtpZih2b2lkIDA9PT1jJiYxPT09YS5ub2RlVHlwZSlpZihkPVwiZGF0YS1cIitiLnJlcGxhY2UoUSxcIi0kJlwiKS50b0xvd2VyQ2FzZSgpLGM9YS5nZXRBdHRyaWJ1dGUoZCksXCJzdHJpbmdcIj09dHlwZW9mIGMpe3RyeXtjPVwidHJ1ZVwiPT09Yz8hMDpcImZhbHNlXCI9PT1jPyExOlwibnVsbFwiPT09Yz9udWxsOitjK1wiXCI9PT1jPytjOlAudGVzdChjKT9uLnBhcnNlSlNPTihjKTpjO1xufWNhdGNoKGUpe31PLnNldChhLGIsYyl9ZWxzZSBjPXZvaWQgMDtyZXR1cm4gY31uLmV4dGVuZCh7aGFzRGF0YTpmdW5jdGlvbihhKXtyZXR1cm4gTy5oYXNEYXRhKGEpfHxOLmhhc0RhdGEoYSl9LGRhdGE6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBPLmFjY2VzcyhhLGIsYyl9LHJlbW92ZURhdGE6ZnVuY3Rpb24oYSxiKXtPLnJlbW92ZShhLGIpfSxfZGF0YTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIE4uYWNjZXNzKGEsYixjKX0sX3JlbW92ZURhdGE6ZnVuY3Rpb24oYSxiKXtOLnJlbW92ZShhLGIpfX0pLG4uZm4uZXh0ZW5kKHtkYXRhOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGY9dGhpc1swXSxnPWYmJmYuYXR0cmlidXRlcztpZih2b2lkIDA9PT1hKXtpZih0aGlzLmxlbmd0aCYmKGU9Ty5nZXQoZiksMT09PWYubm9kZVR5cGUmJiFOLmdldChmLFwiaGFzRGF0YUF0dHJzXCIpKSl7Yz1nLmxlbmd0aDt3aGlsZShjLS0pZ1tjXSYmKGQ9Z1tjXS5uYW1lLDA9PT1kLmluZGV4T2YoXCJkYXRhLVwiKSYmKGQ9bi5jYW1lbENhc2UoZC5zbGljZSg1KSksUihmLGQsZVtkXSkpKTtOLnNldChmLFwiaGFzRGF0YUF0dHJzXCIsITApfXJldHVybiBlfXJldHVyblwib2JqZWN0XCI9PXR5cGVvZiBhP3RoaXMuZWFjaChmdW5jdGlvbigpe08uc2V0KHRoaXMsYSl9KTpLKHRoaXMsZnVuY3Rpb24oYil7dmFyIGMsZDtpZihmJiZ2b2lkIDA9PT1iKXtpZihjPU8uZ2V0KGYsYSl8fE8uZ2V0KGYsYS5yZXBsYWNlKFEsXCItJCZcIikudG9Mb3dlckNhc2UoKSksdm9pZCAwIT09YylyZXR1cm4gYztpZihkPW4uY2FtZWxDYXNlKGEpLGM9Ty5nZXQoZixkKSx2b2lkIDAhPT1jKXJldHVybiBjO2lmKGM9UihmLGQsdm9pZCAwKSx2b2lkIDAhPT1jKXJldHVybiBjfWVsc2UgZD1uLmNhbWVsQ2FzZShhKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1PLmdldCh0aGlzLGQpO08uc2V0KHRoaXMsZCxiKSxhLmluZGV4T2YoXCItXCIpPi0xJiZ2b2lkIDAhPT1jJiZPLnNldCh0aGlzLGEsYil9KX0sbnVsbCxiLGFyZ3VtZW50cy5sZW5ndGg+MSxudWxsLCEwKX0scmVtb3ZlRGF0YTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Ty5yZW1vdmUodGhpcyxhKX0pfX0pLG4uZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuIGE/KGI9KGJ8fFwiZnhcIikrXCJxdWV1ZVwiLGQ9Ti5nZXQoYSxiKSxjJiYoIWR8fG4uaXNBcnJheShjKT9kPU4uYWNjZXNzKGEsYixuLm1ha2VBcnJheShjKSk6ZC5wdXNoKGMpKSxkfHxbXSk6dm9pZCAwfSxkZXF1ZXVlOmZ1bmN0aW9uKGEsYil7Yj1ifHxcImZ4XCI7dmFyIGM9bi5xdWV1ZShhLGIpLGQ9Yy5sZW5ndGgsZT1jLnNoaWZ0KCksZj1uLl9xdWV1ZUhvb2tzKGEsYiksZz1mdW5jdGlvbigpe24uZGVxdWV1ZShhLGIpfTtcImlucHJvZ3Jlc3NcIj09PWUmJihlPWMuc2hpZnQoKSxkLS0pLGUmJihcImZ4XCI9PT1iJiZjLnVuc2hpZnQoXCJpbnByb2dyZXNzXCIpLGRlbGV0ZSBmLnN0b3AsZS5jYWxsKGEsZyxmKSksIWQmJmYmJmYuZW1wdHkuZmlyZSgpfSxfcXVldWVIb29rczpmdW5jdGlvbihhLGIpe3ZhciBjPWIrXCJxdWV1ZUhvb2tzXCI7cmV0dXJuIE4uZ2V0KGEsYyl8fE4uYWNjZXNzKGEsYyx7ZW1wdHk6bi5DYWxsYmFja3MoXCJvbmNlIG1lbW9yeVwiKS5hZGQoZnVuY3Rpb24oKXtOLnJlbW92ZShhLFtiK1wicXVldWVcIixjXSl9KX0pfX0pLG4uZm4uZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbihhLGIpe3ZhciBjPTI7cmV0dXJuXCJzdHJpbmdcIiE9dHlwZW9mIGEmJihiPWEsYT1cImZ4XCIsYy0tKSxhcmd1bWVudHMubGVuZ3RoPGM/bi5xdWV1ZSh0aGlzWzBdLGEpOnZvaWQgMD09PWI/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1uLnF1ZXVlKHRoaXMsYSxiKTtuLl9xdWV1ZUhvb2tzKHRoaXMsYSksXCJmeFwiPT09YSYmXCJpbnByb2dyZXNzXCIhPT1jWzBdJiZuLmRlcXVldWUodGhpcyxhKX0pfSxkZXF1ZXVlOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtuLmRlcXVldWUodGhpcyxhKX0pfSxjbGVhclF1ZXVlOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnF1ZXVlKGF8fFwiZnhcIixbXSl9LHByb21pc2U6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPTEsZT1uLkRlZmVycmVkKCksZj10aGlzLGc9dGhpcy5sZW5ndGgsaD1mdW5jdGlvbigpey0tZHx8ZS5yZXNvbHZlV2l0aChmLFtmXSl9O1wic3RyaW5nXCIhPXR5cGVvZiBhJiYoYj1hLGE9dm9pZCAwKSxhPWF8fFwiZnhcIjt3aGlsZShnLS0pYz1OLmdldChmW2ddLGErXCJxdWV1ZUhvb2tzXCIpLGMmJmMuZW1wdHkmJihkKyssYy5lbXB0eS5hZGQoaCkpO3JldHVybiBoKCksZS5wcm9taXNlKGIpfX0pO3ZhciBTPS9bKy1dPyg/OlxcZCpcXC58KVxcZCsoPzpbZUVdWystXT9cXGQrfCkvLnNvdXJjZSxUPW5ldyBSZWdFeHAoXCJeKD86KFsrLV0pPXwpKFwiK1MrXCIpKFthLXolXSopJFwiLFwiaVwiKSxVPVtcIlRvcFwiLFwiUmlnaHRcIixcIkJvdHRvbVwiLFwiTGVmdFwiXSxWPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9Ynx8YSxcIm5vbmVcIj09PW4uY3NzKGEsXCJkaXNwbGF5XCIpfHwhbi5jb250YWlucyhhLm93bmVyRG9jdW1lbnQsYSl9O2Z1bmN0aW9uIFcoYSxiLGMsZCl7dmFyIGUsZj0xLGc9MjAsaD1kP2Z1bmN0aW9uKCl7cmV0dXJuIGQuY3VyKCl9OmZ1bmN0aW9uKCl7cmV0dXJuIG4uY3NzKGEsYixcIlwiKX0saT1oKCksaj1jJiZjWzNdfHwobi5jc3NOdW1iZXJbYl0/XCJcIjpcInB4XCIpLGs9KG4uY3NzTnVtYmVyW2JdfHxcInB4XCIhPT1qJiYraSkmJlQuZXhlYyhuLmNzcyhhLGIpKTtpZihrJiZrWzNdIT09ail7aj1qfHxrWzNdLGM9Y3x8W10saz0raXx8MTtkbyBmPWZ8fFwiLjVcIixrLz1mLG4uc3R5bGUoYSxiLGsraik7d2hpbGUoZiE9PShmPWgoKS9pKSYmMSE9PWYmJi0tZyl9cmV0dXJuIGMmJihrPStrfHwraXx8MCxlPWNbMV0/aysoY1sxXSsxKSpjWzJdOitjWzJdLGQmJihkLnVuaXQ9aixkLnN0YXJ0PWssZC5lbmQ9ZSkpLGV9dmFyIFg9L14oPzpjaGVja2JveHxyYWRpbykkL2ksWT0vPChbXFx3Oi1dKykvLFo9L14kfFxcLyg/OmphdmF8ZWNtYSlzY3JpcHQvaSwkPXtvcHRpb246WzEsXCI8c2VsZWN0IG11bHRpcGxlPSdtdWx0aXBsZSc+XCIsXCI8L3NlbGVjdD5cIl0sdGhlYWQ6WzEsXCI8dGFibGU+XCIsXCI8L3RhYmxlPlwiXSxjb2w6WzIsXCI8dGFibGU+PGNvbGdyb3VwPlwiLFwiPC9jb2xncm91cD48L3RhYmxlPlwiXSx0cjpbMixcIjx0YWJsZT48dGJvZHk+XCIsXCI8L3Rib2R5PjwvdGFibGU+XCJdLHRkOlszLFwiPHRhYmxlPjx0Ym9keT48dHI+XCIsXCI8L3RyPjwvdGJvZHk+PC90YWJsZT5cIl0sX2RlZmF1bHQ6WzAsXCJcIixcIlwiXX07JC5vcHRncm91cD0kLm9wdGlvbiwkLnRib2R5PSQudGZvb3Q9JC5jb2xncm91cD0kLmNhcHRpb249JC50aGVhZCwkLnRoPSQudGQ7ZnVuY3Rpb24gXyhhLGIpe3ZhciBjPVwidW5kZWZpbmVkXCIhPXR5cGVvZiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lP2EuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYnx8XCIqXCIpOlwidW5kZWZpbmVkXCIhPXR5cGVvZiBhLnF1ZXJ5U2VsZWN0b3JBbGw/YS5xdWVyeVNlbGVjdG9yQWxsKGJ8fFwiKlwiKTpbXTtyZXR1cm4gdm9pZCAwPT09Ynx8YiYmbi5ub2RlTmFtZShhLGIpP24ubWVyZ2UoW2FdLGMpOmN9ZnVuY3Rpb24gYWEoYSxiKXtmb3IodmFyIGM9MCxkPWEubGVuZ3RoO2Q+YztjKyspTi5zZXQoYVtjXSxcImdsb2JhbEV2YWxcIiwhYnx8Ti5nZXQoYltjXSxcImdsb2JhbEV2YWxcIikpfXZhciBiYT0vPHwmIz9cXHcrOy87ZnVuY3Rpb24gY2EoYSxiLGMsZCxlKXtmb3IodmFyIGYsZyxoLGksaixrLGw9Yi5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksbT1bXSxvPTAscD1hLmxlbmd0aDtwPm87bysrKWlmKGY9YVtvXSxmfHwwPT09ZilpZihcIm9iamVjdFwiPT09bi50eXBlKGYpKW4ubWVyZ2UobSxmLm5vZGVUeXBlP1tmXTpmKTtlbHNlIGlmKGJhLnRlc3QoZikpe2c9Z3x8bC5hcHBlbmRDaGlsZChiLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIikpLGg9KFkuZXhlYyhmKXx8W1wiXCIsXCJcIl0pWzFdLnRvTG93ZXJDYXNlKCksaT0kW2hdfHwkLl9kZWZhdWx0LGcuaW5uZXJIVE1MPWlbMV0rbi5odG1sUHJlZmlsdGVyKGYpK2lbMl0saz1pWzBdO3doaWxlKGstLSlnPWcubGFzdENoaWxkO24ubWVyZ2UobSxnLmNoaWxkTm9kZXMpLGc9bC5maXJzdENoaWxkLGcudGV4dENvbnRlbnQ9XCJcIn1lbHNlIG0ucHVzaChiLmNyZWF0ZVRleHROb2RlKGYpKTtsLnRleHRDb250ZW50PVwiXCIsbz0wO3doaWxlKGY9bVtvKytdKWlmKGQmJm4uaW5BcnJheShmLGQpPi0xKWUmJmUucHVzaChmKTtlbHNlIGlmKGo9bi5jb250YWlucyhmLm93bmVyRG9jdW1lbnQsZiksZz1fKGwuYXBwZW5kQ2hpbGQoZiksXCJzY3JpcHRcIiksaiYmYWEoZyksYyl7az0wO3doaWxlKGY9Z1trKytdKVoudGVzdChmLnR5cGV8fFwiXCIpJiZjLnB1c2goZil9cmV0dXJuIGx9IWZ1bmN0aW9uKCl7dmFyIGE9ZC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksYj1hLmFwcGVuZENoaWxkKGQuY3JlYXRlRWxlbWVudChcImRpdlwiKSksYz1kLmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiKTtjLnNldEF0dHJpYnV0ZShcInR5cGVcIixcInJhZGlvXCIpLGMuc2V0QXR0cmlidXRlKFwiY2hlY2tlZFwiLFwiY2hlY2tlZFwiKSxjLnNldEF0dHJpYnV0ZShcIm5hbWVcIixcInRcIiksYi5hcHBlbmRDaGlsZChjKSxsLmNoZWNrQ2xvbmU9Yi5jbG9uZU5vZGUoITApLmNsb25lTm9kZSghMCkubGFzdENoaWxkLmNoZWNrZWQsYi5pbm5lckhUTUw9XCI8dGV4dGFyZWE+eDwvdGV4dGFyZWE+XCIsbC5ub0Nsb25lQ2hlY2tlZD0hIWIuY2xvbmVOb2RlKCEwKS5sYXN0Q2hpbGQuZGVmYXVsdFZhbHVlfSgpO3ZhciBkYT0vXmtleS8sZWE9L14oPzptb3VzZXxwb2ludGVyfGNvbnRleHRtZW51fGRyYWd8ZHJvcCl8Y2xpY2svLGZhPS9eKFteLl0qKSg/OlxcLiguKyl8KS87ZnVuY3Rpb24gZ2EoKXtyZXR1cm4hMH1mdW5jdGlvbiBoYSgpe3JldHVybiExfWZ1bmN0aW9uIGlhKCl7dHJ5e3JldHVybiBkLmFjdGl2ZUVsZW1lbnR9Y2F0Y2goYSl7fX1mdW5jdGlvbiBqYShhLGIsYyxkLGUsZil7dmFyIGcsaDtpZihcIm9iamVjdFwiPT10eXBlb2YgYil7XCJzdHJpbmdcIiE9dHlwZW9mIGMmJihkPWR8fGMsYz12b2lkIDApO2ZvcihoIGluIGIpamEoYSxoLGMsZCxiW2hdLGYpO3JldHVybiBhfWlmKG51bGw9PWQmJm51bGw9PWU/KGU9YyxkPWM9dm9pZCAwKTpudWxsPT1lJiYoXCJzdHJpbmdcIj09dHlwZW9mIGM/KGU9ZCxkPXZvaWQgMCk6KGU9ZCxkPWMsYz12b2lkIDApKSxlPT09ITEpZT1oYTtlbHNlIGlmKCFlKXJldHVybiBhO3JldHVybiAxPT09ZiYmKGc9ZSxlPWZ1bmN0aW9uKGEpe3JldHVybiBuKCkub2ZmKGEpLGcuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxlLmd1aWQ9Zy5ndWlkfHwoZy5ndWlkPW4uZ3VpZCsrKSksYS5lYWNoKGZ1bmN0aW9uKCl7bi5ldmVudC5hZGQodGhpcyxiLGUsZCxjKX0pfW4uZXZlbnQ9e2dsb2JhbDp7fSxhZGQ6ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZixnLGgsaSxqLGssbCxtLG8scCxxLHI9Ti5nZXQoYSk7aWYocil7Yy5oYW5kbGVyJiYoZj1jLGM9Zi5oYW5kbGVyLGU9Zi5zZWxlY3RvciksYy5ndWlkfHwoYy5ndWlkPW4uZ3VpZCsrKSwoaT1yLmV2ZW50cyl8fChpPXIuZXZlbnRzPXt9KSwoZz1yLmhhbmRsZSl8fChnPXIuaGFuZGxlPWZ1bmN0aW9uKGIpe3JldHVyblwidW5kZWZpbmVkXCIhPXR5cGVvZiBuJiZuLmV2ZW50LnRyaWdnZXJlZCE9PWIudHlwZT9uLmV2ZW50LmRpc3BhdGNoLmFwcGx5KGEsYXJndW1lbnRzKTp2b2lkIDB9KSxiPShifHxcIlwiKS5tYXRjaChHKXx8W1wiXCJdLGo9Yi5sZW5ndGg7d2hpbGUoai0tKWg9ZmEuZXhlYyhiW2pdKXx8W10sbz1xPWhbMV0scD0oaFsyXXx8XCJcIikuc3BsaXQoXCIuXCIpLnNvcnQoKSxvJiYobD1uLmV2ZW50LnNwZWNpYWxbb118fHt9LG89KGU/bC5kZWxlZ2F0ZVR5cGU6bC5iaW5kVHlwZSl8fG8sbD1uLmV2ZW50LnNwZWNpYWxbb118fHt9LGs9bi5leHRlbmQoe3R5cGU6byxvcmlnVHlwZTpxLGRhdGE6ZCxoYW5kbGVyOmMsZ3VpZDpjLmd1aWQsc2VsZWN0b3I6ZSxuZWVkc0NvbnRleHQ6ZSYmbi5leHByLm1hdGNoLm5lZWRzQ29udGV4dC50ZXN0KGUpLG5hbWVzcGFjZTpwLmpvaW4oXCIuXCIpfSxmKSwobT1pW29dKXx8KG09aVtvXT1bXSxtLmRlbGVnYXRlQ291bnQ9MCxsLnNldHVwJiZsLnNldHVwLmNhbGwoYSxkLHAsZykhPT0hMXx8YS5hZGRFdmVudExpc3RlbmVyJiZhLmFkZEV2ZW50TGlzdGVuZXIobyxnKSksbC5hZGQmJihsLmFkZC5jYWxsKGEsayksay5oYW5kbGVyLmd1aWR8fChrLmhhbmRsZXIuZ3VpZD1jLmd1aWQpKSxlP20uc3BsaWNlKG0uZGVsZWdhdGVDb3VudCsrLDAsayk6bS5wdXNoKGspLG4uZXZlbnQuZ2xvYmFsW29dPSEwKX19LHJlbW92ZTpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmLGcsaCxpLGosayxsLG0sbyxwLHEscj1OLmhhc0RhdGEoYSkmJk4uZ2V0KGEpO2lmKHImJihpPXIuZXZlbnRzKSl7Yj0oYnx8XCJcIikubWF0Y2goRyl8fFtcIlwiXSxqPWIubGVuZ3RoO3doaWxlKGotLSlpZihoPWZhLmV4ZWMoYltqXSl8fFtdLG89cT1oWzFdLHA9KGhbMl18fFwiXCIpLnNwbGl0KFwiLlwiKS5zb3J0KCksbyl7bD1uLmV2ZW50LnNwZWNpYWxbb118fHt9LG89KGQ/bC5kZWxlZ2F0ZVR5cGU6bC5iaW5kVHlwZSl8fG8sbT1pW29dfHxbXSxoPWhbMl0mJm5ldyBSZWdFeHAoXCIoXnxcXFxcLilcIitwLmpvaW4oXCJcXFxcLig/Oi4qXFxcXC58KVwiKStcIihcXFxcLnwkKVwiKSxnPWY9bS5sZW5ndGg7d2hpbGUoZi0tKWs9bVtmXSwhZSYmcSE9PWsub3JpZ1R5cGV8fGMmJmMuZ3VpZCE9PWsuZ3VpZHx8aCYmIWgudGVzdChrLm5hbWVzcGFjZSl8fGQmJmQhPT1rLnNlbGVjdG9yJiYoXCIqKlwiIT09ZHx8IWsuc2VsZWN0b3IpfHwobS5zcGxpY2UoZiwxKSxrLnNlbGVjdG9yJiZtLmRlbGVnYXRlQ291bnQtLSxsLnJlbW92ZSYmbC5yZW1vdmUuY2FsbChhLGspKTtnJiYhbS5sZW5ndGgmJihsLnRlYXJkb3duJiZsLnRlYXJkb3duLmNhbGwoYSxwLHIuaGFuZGxlKSE9PSExfHxuLnJlbW92ZUV2ZW50KGEsbyxyLmhhbmRsZSksZGVsZXRlIGlbb10pfWVsc2UgZm9yKG8gaW4gaSluLmV2ZW50LnJlbW92ZShhLG8rYltqXSxjLGQsITApO24uaXNFbXB0eU9iamVjdChpKSYmTi5yZW1vdmUoYSxcImhhbmRsZSBldmVudHNcIil9fSxkaXNwYXRjaDpmdW5jdGlvbihhKXthPW4uZXZlbnQuZml4KGEpO3ZhciBiLGMsZCxmLGcsaD1bXSxpPWUuY2FsbChhcmd1bWVudHMpLGo9KE4uZ2V0KHRoaXMsXCJldmVudHNcIil8fHt9KVthLnR5cGVdfHxbXSxrPW4uZXZlbnQuc3BlY2lhbFthLnR5cGVdfHx7fTtpZihpWzBdPWEsYS5kZWxlZ2F0ZVRhcmdldD10aGlzLCFrLnByZURpc3BhdGNofHxrLnByZURpc3BhdGNoLmNhbGwodGhpcyxhKSE9PSExKXtoPW4uZXZlbnQuaGFuZGxlcnMuY2FsbCh0aGlzLGEsaiksYj0wO3doaWxlKChmPWhbYisrXSkmJiFhLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpe2EuY3VycmVudFRhcmdldD1mLmVsZW0sYz0wO3doaWxlKChnPWYuaGFuZGxlcnNbYysrXSkmJiFhLmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkKCkpYS5ybmFtZXNwYWNlJiYhYS5ybmFtZXNwYWNlLnRlc3QoZy5uYW1lc3BhY2UpfHwoYS5oYW5kbGVPYmo9ZyxhLmRhdGE9Zy5kYXRhLGQ9KChuLmV2ZW50LnNwZWNpYWxbZy5vcmlnVHlwZV18fHt9KS5oYW5kbGV8fGcuaGFuZGxlcikuYXBwbHkoZi5lbGVtLGkpLHZvaWQgMCE9PWQmJihhLnJlc3VsdD1kKT09PSExJiYoYS5wcmV2ZW50RGVmYXVsdCgpLGEuc3RvcFByb3BhZ2F0aW9uKCkpKX1yZXR1cm4gay5wb3N0RGlzcGF0Y2gmJmsucG9zdERpc3BhdGNoLmNhbGwodGhpcyxhKSxhLnJlc3VsdH19LGhhbmRsZXJzOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGYsZz1bXSxoPWIuZGVsZWdhdGVDb3VudCxpPWEudGFyZ2V0O2lmKGgmJmkubm9kZVR5cGUmJihcImNsaWNrXCIhPT1hLnR5cGV8fGlzTmFOKGEuYnV0dG9uKXx8YS5idXR0b248MSkpZm9yKDtpIT09dGhpcztpPWkucGFyZW50Tm9kZXx8dGhpcylpZigxPT09aS5ub2RlVHlwZSYmKGkuZGlzYWJsZWQhPT0hMHx8XCJjbGlja1wiIT09YS50eXBlKSl7Zm9yKGQ9W10sYz0wO2g+YztjKyspZj1iW2NdLGU9Zi5zZWxlY3RvcitcIiBcIix2b2lkIDA9PT1kW2VdJiYoZFtlXT1mLm5lZWRzQ29udGV4dD9uKGUsdGhpcykuaW5kZXgoaSk+LTE6bi5maW5kKGUsdGhpcyxudWxsLFtpXSkubGVuZ3RoKSxkW2VdJiZkLnB1c2goZik7ZC5sZW5ndGgmJmcucHVzaCh7ZWxlbTppLGhhbmRsZXJzOmR9KX1yZXR1cm4gaDxiLmxlbmd0aCYmZy5wdXNoKHtlbGVtOnRoaXMsaGFuZGxlcnM6Yi5zbGljZShoKX0pLGd9LHByb3BzOlwiYWx0S2V5IGJ1YmJsZXMgY2FuY2VsYWJsZSBjdHJsS2V5IGN1cnJlbnRUYXJnZXQgZGV0YWlsIGV2ZW50UGhhc2UgbWV0YUtleSByZWxhdGVkVGFyZ2V0IHNoaWZ0S2V5IHRhcmdldCB0aW1lU3RhbXAgdmlldyB3aGljaFwiLnNwbGl0KFwiIFwiKSxmaXhIb29rczp7fSxrZXlIb29rczp7cHJvcHM6XCJjaGFyIGNoYXJDb2RlIGtleSBrZXlDb2RlXCIuc3BsaXQoXCIgXCIpLGZpbHRlcjpmdW5jdGlvbihhLGIpe3JldHVybiBudWxsPT1hLndoaWNoJiYoYS53aGljaD1udWxsIT1iLmNoYXJDb2RlP2IuY2hhckNvZGU6Yi5rZXlDb2RlKSxhfX0sbW91c2VIb29rczp7cHJvcHM6XCJidXR0b24gYnV0dG9ucyBjbGllbnRYIGNsaWVudFkgb2Zmc2V0WCBvZmZzZXRZIHBhZ2VYIHBhZ2VZIHNjcmVlblggc2NyZWVuWSB0b0VsZW1lbnRcIi5zcGxpdChcIiBcIiksZmlsdGVyOmZ1bmN0aW9uKGEsYil7dmFyIGMsZSxmLGc9Yi5idXR0b247cmV0dXJuIG51bGw9PWEucGFnZVgmJm51bGwhPWIuY2xpZW50WCYmKGM9YS50YXJnZXQub3duZXJEb2N1bWVudHx8ZCxlPWMuZG9jdW1lbnRFbGVtZW50LGY9Yy5ib2R5LGEucGFnZVg9Yi5jbGllbnRYKyhlJiZlLnNjcm9sbExlZnR8fGYmJmYuc2Nyb2xsTGVmdHx8MCktKGUmJmUuY2xpZW50TGVmdHx8ZiYmZi5jbGllbnRMZWZ0fHwwKSxhLnBhZ2VZPWIuY2xpZW50WSsoZSYmZS5zY3JvbGxUb3B8fGYmJmYuc2Nyb2xsVG9wfHwwKS0oZSYmZS5jbGllbnRUb3B8fGYmJmYuY2xpZW50VG9wfHwwKSksYS53aGljaHx8dm9pZCAwPT09Z3x8KGEud2hpY2g9MSZnPzE6MiZnPzM6NCZnPzI6MCksYX19LGZpeDpmdW5jdGlvbihhKXtpZihhW24uZXhwYW5kb10pcmV0dXJuIGE7dmFyIGIsYyxlLGY9YS50eXBlLGc9YSxoPXRoaXMuZml4SG9va3NbZl07aHx8KHRoaXMuZml4SG9va3NbZl09aD1lYS50ZXN0KGYpP3RoaXMubW91c2VIb29rczpkYS50ZXN0KGYpP3RoaXMua2V5SG9va3M6e30pLGU9aC5wcm9wcz90aGlzLnByb3BzLmNvbmNhdChoLnByb3BzKTp0aGlzLnByb3BzLGE9bmV3IG4uRXZlbnQoZyksYj1lLmxlbmd0aDt3aGlsZShiLS0pYz1lW2JdLGFbY109Z1tjXTtyZXR1cm4gYS50YXJnZXR8fChhLnRhcmdldD1kKSwzPT09YS50YXJnZXQubm9kZVR5cGUmJihhLnRhcmdldD1hLnRhcmdldC5wYXJlbnROb2RlKSxoLmZpbHRlcj9oLmZpbHRlcihhLGcpOmF9LHNwZWNpYWw6e2xvYWQ6e25vQnViYmxlOiEwfSxmb2N1czp7dHJpZ2dlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzIT09aWEoKSYmdGhpcy5mb2N1cz8odGhpcy5mb2N1cygpLCExKTp2b2lkIDB9LGRlbGVnYXRlVHlwZTpcImZvY3VzaW5cIn0sYmx1cjp7dHJpZ2dlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzPT09aWEoKSYmdGhpcy5ibHVyPyh0aGlzLmJsdXIoKSwhMSk6dm9pZCAwfSxkZWxlZ2F0ZVR5cGU6XCJmb2N1c291dFwifSxjbGljazp7dHJpZ2dlcjpmdW5jdGlvbigpe3JldHVyblwiY2hlY2tib3hcIj09PXRoaXMudHlwZSYmdGhpcy5jbGljayYmbi5ub2RlTmFtZSh0aGlzLFwiaW5wdXRcIik/KHRoaXMuY2xpY2soKSwhMSk6dm9pZCAwfSxfZGVmYXVsdDpmdW5jdGlvbihhKXtyZXR1cm4gbi5ub2RlTmFtZShhLnRhcmdldCxcImFcIil9fSxiZWZvcmV1bmxvYWQ6e3Bvc3REaXNwYXRjaDpmdW5jdGlvbihhKXt2b2lkIDAhPT1hLnJlc3VsdCYmYS5vcmlnaW5hbEV2ZW50JiYoYS5vcmlnaW5hbEV2ZW50LnJldHVyblZhbHVlPWEucmVzdWx0KX19fX0sbi5yZW1vdmVFdmVudD1mdW5jdGlvbihhLGIsYyl7YS5yZW1vdmVFdmVudExpc3RlbmVyJiZhLnJlbW92ZUV2ZW50TGlzdGVuZXIoYixjKX0sbi5FdmVudD1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzIGluc3RhbmNlb2Ygbi5FdmVudD8oYSYmYS50eXBlPyh0aGlzLm9yaWdpbmFsRXZlbnQ9YSx0aGlzLnR5cGU9YS50eXBlLHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPWEuZGVmYXVsdFByZXZlbnRlZHx8dm9pZCAwPT09YS5kZWZhdWx0UHJldmVudGVkJiZhLnJldHVyblZhbHVlPT09ITE/Z2E6aGEpOnRoaXMudHlwZT1hLGImJm4uZXh0ZW5kKHRoaXMsYiksdGhpcy50aW1lU3RhbXA9YSYmYS50aW1lU3RhbXB8fG4ubm93KCksdm9pZCh0aGlzW24uZXhwYW5kb109ITApKTpuZXcgbi5FdmVudChhLGIpfSxuLkV2ZW50LnByb3RvdHlwZT17Y29uc3RydWN0b3I6bi5FdmVudCxpc0RlZmF1bHRQcmV2ZW50ZWQ6aGEsaXNQcm9wYWdhdGlvblN0b3BwZWQ6aGEsaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ6aGEsaXNTaW11bGF0ZWQ6ITEscHJldmVudERlZmF1bHQ6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9Z2EsYSYmIXRoaXMuaXNTaW11bGF0ZWQmJmEucHJldmVudERlZmF1bHQoKX0sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9Z2EsYSYmIXRoaXMuaXNTaW11bGF0ZWQmJmEuc3RvcFByb3BhZ2F0aW9uKCl9LHN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkPWdhLGEmJiF0aGlzLmlzU2ltdWxhdGVkJiZhLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLHRoaXMuc3RvcFByb3BhZ2F0aW9uKCl9fSxuLmVhY2goe21vdXNlZW50ZXI6XCJtb3VzZW92ZXJcIixtb3VzZWxlYXZlOlwibW91c2VvdXRcIixwb2ludGVyZW50ZXI6XCJwb2ludGVyb3ZlclwiLHBvaW50ZXJsZWF2ZTpcInBvaW50ZXJvdXRcIn0sZnVuY3Rpb24oYSxiKXtuLmV2ZW50LnNwZWNpYWxbYV09e2RlbGVnYXRlVHlwZTpiLGJpbmRUeXBlOmIsaGFuZGxlOmZ1bmN0aW9uKGEpe3ZhciBjLGQ9dGhpcyxlPWEucmVsYXRlZFRhcmdldCxmPWEuaGFuZGxlT2JqO3JldHVybiBlJiYoZT09PWR8fG4uY29udGFpbnMoZCxlKSl8fChhLnR5cGU9Zi5vcmlnVHlwZSxjPWYuaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyksYS50eXBlPWIpLGN9fX0pLG4uZm4uZXh0ZW5kKHtvbjpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gamEodGhpcyxhLGIsYyxkKX0sb25lOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBqYSh0aGlzLGEsYixjLGQsMSl9LG9mZjpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZTtpZihhJiZhLnByZXZlbnREZWZhdWx0JiZhLmhhbmRsZU9iailyZXR1cm4gZD1hLmhhbmRsZU9iaixuKGEuZGVsZWdhdGVUYXJnZXQpLm9mZihkLm5hbWVzcGFjZT9kLm9yaWdUeXBlK1wiLlwiK2QubmFtZXNwYWNlOmQub3JpZ1R5cGUsZC5zZWxlY3RvcixkLmhhbmRsZXIpLHRoaXM7aWYoXCJvYmplY3RcIj09dHlwZW9mIGEpe2ZvcihlIGluIGEpdGhpcy5vZmYoZSxiLGFbZV0pO3JldHVybiB0aGlzfXJldHVybiBiIT09ITEmJlwiZnVuY3Rpb25cIiE9dHlwZW9mIGJ8fChjPWIsYj12b2lkIDApLGM9PT0hMSYmKGM9aGEpLHRoaXMuZWFjaChmdW5jdGlvbigpe24uZXZlbnQucmVtb3ZlKHRoaXMsYSxjLGIpfSl9fSk7dmFyIGthPS88KD8hYXJlYXxicnxjb2x8ZW1iZWR8aHJ8aW1nfGlucHV0fGxpbmt8bWV0YXxwYXJhbSkoKFtcXHc6LV0rKVtePl0qKVxcLz4vZ2ksbGE9LzxzY3JpcHR8PHN0eWxlfDxsaW5rL2ksbWE9L2NoZWNrZWRcXHMqKD86W149XXw9XFxzKi5jaGVja2VkLikvaSxuYT0vXnRydWVcXC8oLiopLyxvYT0vXlxccyo8ISg/OlxcW0NEQVRBXFxbfC0tKXwoPzpcXF1cXF18LS0pPlxccyokL2c7ZnVuY3Rpb24gcGEoYSxiKXtyZXR1cm4gbi5ub2RlTmFtZShhLFwidGFibGVcIikmJm4ubm9kZU5hbWUoMTEhPT1iLm5vZGVUeXBlP2I6Yi5maXJzdENoaWxkLFwidHJcIik/YS5nZXRFbGVtZW50c0J5VGFnTmFtZShcInRib2R5XCIpWzBdfHxhLmFwcGVuZENoaWxkKGEub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidGJvZHlcIikpOmF9ZnVuY3Rpb24gcWEoYSl7cmV0dXJuIGEudHlwZT0obnVsbCE9PWEuZ2V0QXR0cmlidXRlKFwidHlwZVwiKSkrXCIvXCIrYS50eXBlLGF9ZnVuY3Rpb24gcmEoYSl7dmFyIGI9bmEuZXhlYyhhLnR5cGUpO3JldHVybiBiP2EudHlwZT1iWzFdOmEucmVtb3ZlQXR0cmlidXRlKFwidHlwZVwiKSxhfWZ1bmN0aW9uIHNhKGEsYil7dmFyIGMsZCxlLGYsZyxoLGksajtpZigxPT09Yi5ub2RlVHlwZSl7aWYoTi5oYXNEYXRhKGEpJiYoZj1OLmFjY2VzcyhhKSxnPU4uc2V0KGIsZiksaj1mLmV2ZW50cykpe2RlbGV0ZSBnLmhhbmRsZSxnLmV2ZW50cz17fTtmb3IoZSBpbiBqKWZvcihjPTAsZD1qW2VdLmxlbmd0aDtkPmM7YysrKW4uZXZlbnQuYWRkKGIsZSxqW2VdW2NdKX1PLmhhc0RhdGEoYSkmJihoPU8uYWNjZXNzKGEpLGk9bi5leHRlbmQoe30saCksTy5zZXQoYixpKSl9fWZ1bmN0aW9uIHRhKGEsYil7dmFyIGM9Yi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1wiaW5wdXRcIj09PWMmJlgudGVzdChhLnR5cGUpP2IuY2hlY2tlZD1hLmNoZWNrZWQ6XCJpbnB1dFwiIT09YyYmXCJ0ZXh0YXJlYVwiIT09Y3x8KGIuZGVmYXVsdFZhbHVlPWEuZGVmYXVsdFZhbHVlKX1mdW5jdGlvbiB1YShhLGIsYyxkKXtiPWYuYXBwbHkoW10sYik7dmFyIGUsZyxoLGksaixrLG09MCxvPWEubGVuZ3RoLHA9by0xLHE9YlswXSxyPW4uaXNGdW5jdGlvbihxKTtpZihyfHxvPjEmJlwic3RyaW5nXCI9PXR5cGVvZiBxJiYhbC5jaGVja0Nsb25lJiZtYS50ZXN0KHEpKXJldHVybiBhLmVhY2goZnVuY3Rpb24oZSl7dmFyIGY9YS5lcShlKTtyJiYoYlswXT1xLmNhbGwodGhpcyxlLGYuaHRtbCgpKSksdWEoZixiLGMsZCl9KTtpZihvJiYoZT1jYShiLGFbMF0ub3duZXJEb2N1bWVudCwhMSxhLGQpLGc9ZS5maXJzdENoaWxkLDE9PT1lLmNoaWxkTm9kZXMubGVuZ3RoJiYoZT1nKSxnfHxkKSl7Zm9yKGg9bi5tYXAoXyhlLFwic2NyaXB0XCIpLHFhKSxpPWgubGVuZ3RoO28+bTttKyspaj1lLG0hPT1wJiYoaj1uLmNsb25lKGosITAsITApLGkmJm4ubWVyZ2UoaCxfKGosXCJzY3JpcHRcIikpKSxjLmNhbGwoYVttXSxqLG0pO2lmKGkpZm9yKGs9aFtoLmxlbmd0aC0xXS5vd25lckRvY3VtZW50LG4ubWFwKGgscmEpLG09MDtpPm07bSsrKWo9aFttXSxaLnRlc3Qoai50eXBlfHxcIlwiKSYmIU4uYWNjZXNzKGosXCJnbG9iYWxFdmFsXCIpJiZuLmNvbnRhaW5zKGssaikmJihqLnNyYz9uLl9ldmFsVXJsJiZuLl9ldmFsVXJsKGouc3JjKTpuLmdsb2JhbEV2YWwoai50ZXh0Q29udGVudC5yZXBsYWNlKG9hLFwiXCIpKSl9cmV0dXJuIGF9ZnVuY3Rpb24gdmEoYSxiLGMpe2Zvcih2YXIgZCxlPWI/bi5maWx0ZXIoYixhKTphLGY9MDtudWxsIT0oZD1lW2ZdKTtmKyspY3x8MSE9PWQubm9kZVR5cGV8fG4uY2xlYW5EYXRhKF8oZCkpLGQucGFyZW50Tm9kZSYmKGMmJm4uY29udGFpbnMoZC5vd25lckRvY3VtZW50LGQpJiZhYShfKGQsXCJzY3JpcHRcIikpLGQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChkKSk7cmV0dXJuIGF9bi5leHRlbmQoe2h0bWxQcmVmaWx0ZXI6ZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVwbGFjZShrYSxcIjwkMT48LyQyPlwiKX0sY2xvbmU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnLGg9YS5jbG9uZU5vZGUoITApLGk9bi5jb250YWlucyhhLm93bmVyRG9jdW1lbnQsYSk7aWYoIShsLm5vQ2xvbmVDaGVja2VkfHwxIT09YS5ub2RlVHlwZSYmMTEhPT1hLm5vZGVUeXBlfHxuLmlzWE1MRG9jKGEpKSlmb3IoZz1fKGgpLGY9XyhhKSxkPTAsZT1mLmxlbmd0aDtlPmQ7ZCsrKXRhKGZbZF0sZ1tkXSk7aWYoYilpZihjKWZvcihmPWZ8fF8oYSksZz1nfHxfKGgpLGQ9MCxlPWYubGVuZ3RoO2U+ZDtkKyspc2EoZltkXSxnW2RdKTtlbHNlIHNhKGEsaCk7cmV0dXJuIGc9XyhoLFwic2NyaXB0XCIpLGcubGVuZ3RoPjAmJmFhKGcsIWkmJl8oYSxcInNjcmlwdFwiKSksaH0sY2xlYW5EYXRhOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYixjLGQsZT1uLmV2ZW50LnNwZWNpYWwsZj0wO3ZvaWQgMCE9PShjPWFbZl0pO2YrKylpZihMKGMpKXtpZihiPWNbTi5leHBhbmRvXSl7aWYoYi5ldmVudHMpZm9yKGQgaW4gYi5ldmVudHMpZVtkXT9uLmV2ZW50LnJlbW92ZShjLGQpOm4ucmVtb3ZlRXZlbnQoYyxkLGIuaGFuZGxlKTtjW04uZXhwYW5kb109dm9pZCAwfWNbTy5leHBhbmRvXSYmKGNbTy5leHBhbmRvXT12b2lkIDApfX19KSxuLmZuLmV4dGVuZCh7ZG9tTWFuaXA6dWEsZGV0YWNoOmZ1bmN0aW9uKGEpe3JldHVybiB2YSh0aGlzLGEsITApfSxyZW1vdmU6ZnVuY3Rpb24oYSl7cmV0dXJuIHZhKHRoaXMsYSl9LHRleHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIEsodGhpcyxmdW5jdGlvbihhKXtyZXR1cm4gdm9pZCAwPT09YT9uLnRleHQodGhpcyk6dGhpcy5lbXB0eSgpLmVhY2goZnVuY3Rpb24oKXsxIT09dGhpcy5ub2RlVHlwZSYmMTEhPT10aGlzLm5vZGVUeXBlJiY5IT09dGhpcy5ub2RlVHlwZXx8KHRoaXMudGV4dENvbnRlbnQ9YSl9KX0sbnVsbCxhLGFyZ3VtZW50cy5sZW5ndGgpfSxhcHBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdWEodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oYSl7aWYoMT09PXRoaXMubm9kZVR5cGV8fDExPT09dGhpcy5ub2RlVHlwZXx8OT09PXRoaXMubm9kZVR5cGUpe3ZhciBiPXBhKHRoaXMsYSk7Yi5hcHBlbmRDaGlsZChhKX19KX0scHJlcGVuZDpmdW5jdGlvbigpe3JldHVybiB1YSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihhKXtpZigxPT09dGhpcy5ub2RlVHlwZXx8MTE9PT10aGlzLm5vZGVUeXBlfHw5PT09dGhpcy5ub2RlVHlwZSl7dmFyIGI9cGEodGhpcyxhKTtiLmluc2VydEJlZm9yZShhLGIuZmlyc3RDaGlsZCl9fSl9LGJlZm9yZTpmdW5jdGlvbigpe3JldHVybiB1YSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihhKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSx0aGlzKX0pfSxhZnRlcjpmdW5jdGlvbigpe3JldHVybiB1YSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihhKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSx0aGlzLm5leHRTaWJsaW5nKX0pfSxlbXB0eTpmdW5jdGlvbigpe2Zvcih2YXIgYSxiPTA7bnVsbCE9KGE9dGhpc1tiXSk7YisrKTE9PT1hLm5vZGVUeXBlJiYobi5jbGVhbkRhdGEoXyhhLCExKSksYS50ZXh0Q29udGVudD1cIlwiKTtyZXR1cm4gdGhpc30sY2xvbmU6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT1udWxsPT1hPyExOmEsYj1udWxsPT1iP2E6Yix0aGlzLm1hcChmdW5jdGlvbigpe3JldHVybiBuLmNsb25lKHRoaXMsYSxiKX0pfSxodG1sOmZ1bmN0aW9uKGEpe3JldHVybiBLKHRoaXMsZnVuY3Rpb24oYSl7dmFyIGI9dGhpc1swXXx8e30sYz0wLGQ9dGhpcy5sZW5ndGg7aWYodm9pZCAwPT09YSYmMT09PWIubm9kZVR5cGUpcmV0dXJuIGIuaW5uZXJIVE1MO2lmKFwic3RyaW5nXCI9PXR5cGVvZiBhJiYhbGEudGVzdChhKSYmISRbKFkuZXhlYyhhKXx8W1wiXCIsXCJcIl0pWzFdLnRvTG93ZXJDYXNlKCldKXthPW4uaHRtbFByZWZpbHRlcihhKTt0cnl7Zm9yKDtkPmM7YysrKWI9dGhpc1tjXXx8e30sMT09PWIubm9kZVR5cGUmJihuLmNsZWFuRGF0YShfKGIsITEpKSxiLmlubmVySFRNTD1hKTtiPTB9Y2F0Y2goZSl7fX1iJiZ0aGlzLmVtcHR5KCkuYXBwZW5kKGEpfSxudWxsLGEsYXJndW1lbnRzLmxlbmd0aCl9LHJlcGxhY2VXaXRoOmZ1bmN0aW9uKCl7dmFyIGE9W107cmV0dXJuIHVhKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGIpe3ZhciBjPXRoaXMucGFyZW50Tm9kZTtuLmluQXJyYXkodGhpcyxhKTwwJiYobi5jbGVhbkRhdGEoXyh0aGlzKSksYyYmYy5yZXBsYWNlQ2hpbGQoYix0aGlzKSl9LGEpfX0pLG4uZWFjaCh7YXBwZW5kVG86XCJhcHBlbmRcIixwcmVwZW5kVG86XCJwcmVwZW5kXCIsaW5zZXJ0QmVmb3JlOlwiYmVmb3JlXCIsaW5zZXJ0QWZ0ZXI6XCJhZnRlclwiLHJlcGxhY2VBbGw6XCJyZXBsYWNlV2l0aFwifSxmdW5jdGlvbihhLGIpe24uZm5bYV09ZnVuY3Rpb24oYSl7Zm9yKHZhciBjLGQ9W10sZT1uKGEpLGY9ZS5sZW5ndGgtMSxoPTA7Zj49aDtoKyspYz1oPT09Zj90aGlzOnRoaXMuY2xvbmUoITApLG4oZVtoXSlbYl0oYyksZy5hcHBseShkLGMuZ2V0KCkpO3JldHVybiB0aGlzLnB1c2hTdGFjayhkKX19KTt2YXIgd2EseGE9e0hUTUw6XCJibG9ja1wiLEJPRFk6XCJibG9ja1wifTtmdW5jdGlvbiB5YShhLGIpe3ZhciBjPW4oYi5jcmVhdGVFbGVtZW50KGEpKS5hcHBlbmRUbyhiLmJvZHkpLGQ9bi5jc3MoY1swXSxcImRpc3BsYXlcIik7cmV0dXJuIGMuZGV0YWNoKCksZH1mdW5jdGlvbiB6YShhKXt2YXIgYj1kLGM9eGFbYV07cmV0dXJuIGN8fChjPXlhKGEsYiksXCJub25lXCIhPT1jJiZjfHwod2E9KHdhfHxuKFwiPGlmcmFtZSBmcmFtZWJvcmRlcj0nMCcgd2lkdGg9JzAnIGhlaWdodD0nMCcvPlwiKSkuYXBwZW5kVG8oYi5kb2N1bWVudEVsZW1lbnQpLGI9d2FbMF0uY29udGVudERvY3VtZW50LGIud3JpdGUoKSxiLmNsb3NlKCksYz15YShhLGIpLHdhLmRldGFjaCgpKSx4YVthXT1jKSxjfXZhciBBYT0vXm1hcmdpbi8sQmE9bmV3IFJlZ0V4cChcIl4oXCIrUytcIikoPyFweClbYS16JV0rJFwiLFwiaVwiKSxDYT1mdW5jdGlvbihiKXt2YXIgYz1iLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc7cmV0dXJuIGMmJmMub3BlbmVyfHwoYz1hKSxjLmdldENvbXB1dGVkU3R5bGUoYil9LERhPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlLGYsZz17fTtmb3IoZiBpbiBiKWdbZl09YS5zdHlsZVtmXSxhLnN0eWxlW2ZdPWJbZl07ZT1jLmFwcGx5KGEsZHx8W10pO2ZvcihmIGluIGIpYS5zdHlsZVtmXT1nW2ZdO3JldHVybiBlfSxFYT1kLmRvY3VtZW50RWxlbWVudDshZnVuY3Rpb24oKXt2YXIgYixjLGUsZixnPWQuY3JlYXRlRWxlbWVudChcImRpdlwiKSxoPWQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtpZihoLnN0eWxlKXtoLnN0eWxlLmJhY2tncm91bmRDbGlwPVwiY29udGVudC1ib3hcIixoLmNsb25lTm9kZSghMCkuc3R5bGUuYmFja2dyb3VuZENsaXA9XCJcIixsLmNsZWFyQ2xvbmVTdHlsZT1cImNvbnRlbnQtYm94XCI9PT1oLnN0eWxlLmJhY2tncm91bmRDbGlwLGcuc3R5bGUuY3NzVGV4dD1cImJvcmRlcjowO3dpZHRoOjhweDtoZWlnaHQ6MDt0b3A6MDtsZWZ0Oi05OTk5cHg7cGFkZGluZzowO21hcmdpbi10b3A6MXB4O3Bvc2l0aW9uOmFic29sdXRlXCIsZy5hcHBlbmRDaGlsZChoKTtmdW5jdGlvbiBpKCl7aC5zdHlsZS5jc3NUZXh0PVwiLXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luOmF1dG87Ym9yZGVyOjFweDtwYWRkaW5nOjFweDt0b3A6MSU7d2lkdGg6NTAlXCIsaC5pbm5lckhUTUw9XCJcIixFYS5hcHBlbmRDaGlsZChnKTt2YXIgZD1hLmdldENvbXB1dGVkU3R5bGUoaCk7Yj1cIjElXCIhPT1kLnRvcCxmPVwiMnB4XCI9PT1kLm1hcmdpbkxlZnQsYz1cIjRweFwiPT09ZC53aWR0aCxoLnN0eWxlLm1hcmdpblJpZ2h0PVwiNTAlXCIsZT1cIjRweFwiPT09ZC5tYXJnaW5SaWdodCxFYS5yZW1vdmVDaGlsZChnKX1uLmV4dGVuZChsLHtwaXhlbFBvc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIGkoKSxifSxib3hTaXppbmdSZWxpYWJsZTpmdW5jdGlvbigpe3JldHVybiBudWxsPT1jJiZpKCksY30scGl4ZWxNYXJnaW5SaWdodDpmdW5jdGlvbigpe3JldHVybiBudWxsPT1jJiZpKCksZX0scmVsaWFibGVNYXJnaW5MZWZ0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWMmJmkoKSxmfSxyZWxpYWJsZU1hcmdpblJpZ2h0OmZ1bmN0aW9uKCl7dmFyIGIsYz1oLmFwcGVuZENoaWxkKGQuY3JlYXRlRWxlbWVudChcImRpdlwiKSk7cmV0dXJuIGMuc3R5bGUuY3NzVGV4dD1oLnN0eWxlLmNzc1RleHQ9XCItd2Via2l0LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDtkaXNwbGF5OmJsb2NrO21hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MFwiLGMuc3R5bGUubWFyZ2luUmlnaHQ9Yy5zdHlsZS53aWR0aD1cIjBcIixoLnN0eWxlLndpZHRoPVwiMXB4XCIsRWEuYXBwZW5kQ2hpbGQoZyksYj0hcGFyc2VGbG9hdChhLmdldENvbXB1dGVkU3R5bGUoYykubWFyZ2luUmlnaHQpLEVhLnJlbW92ZUNoaWxkKGcpLGgucmVtb3ZlQ2hpbGQoYyksYn19KX19KCk7ZnVuY3Rpb24gRmEoYSxiLGMpe3ZhciBkLGUsZixnLGg9YS5zdHlsZTtyZXR1cm4gYz1jfHxDYShhKSxnPWM/Yy5nZXRQcm9wZXJ0eVZhbHVlKGIpfHxjW2JdOnZvaWQgMCxcIlwiIT09ZyYmdm9pZCAwIT09Z3x8bi5jb250YWlucyhhLm93bmVyRG9jdW1lbnQsYSl8fChnPW4uc3R5bGUoYSxiKSksYyYmIWwucGl4ZWxNYXJnaW5SaWdodCgpJiZCYS50ZXN0KGcpJiZBYS50ZXN0KGIpJiYoZD1oLndpZHRoLGU9aC5taW5XaWR0aCxmPWgubWF4V2lkdGgsaC5taW5XaWR0aD1oLm1heFdpZHRoPWgud2lkdGg9ZyxnPWMud2lkdGgsaC53aWR0aD1kLGgubWluV2lkdGg9ZSxoLm1heFdpZHRoPWYpLHZvaWQgMCE9PWc/ZytcIlwiOmd9ZnVuY3Rpb24gR2EoYSxiKXtyZXR1cm57Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGEoKT92b2lkIGRlbGV0ZSB0aGlzLmdldDoodGhpcy5nZXQ9YikuYXBwbHkodGhpcyxhcmd1bWVudHMpfX19dmFyIEhhPS9eKG5vbmV8dGFibGUoPyEtY1tlYV0pLispLyxJYT17cG9zaXRpb246XCJhYnNvbHV0ZVwiLHZpc2liaWxpdHk6XCJoaWRkZW5cIixkaXNwbGF5OlwiYmxvY2tcIn0sSmE9e2xldHRlclNwYWNpbmc6XCIwXCIsZm9udFdlaWdodDpcIjQwMFwifSxLYT1bXCJXZWJraXRcIixcIk9cIixcIk1velwiLFwibXNcIl0sTGE9ZC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLnN0eWxlO2Z1bmN0aW9uIE1hKGEpe2lmKGEgaW4gTGEpcmV0dXJuIGE7dmFyIGI9YVswXS50b1VwcGVyQ2FzZSgpK2Euc2xpY2UoMSksYz1LYS5sZW5ndGg7d2hpbGUoYy0tKWlmKGE9S2FbY10rYixhIGluIExhKXJldHVybiBhfWZ1bmN0aW9uIE5hKGEsYixjKXt2YXIgZD1ULmV4ZWMoYik7cmV0dXJuIGQ/TWF0aC5tYXgoMCxkWzJdLShjfHwwKSkrKGRbM118fFwicHhcIik6Yn1mdW5jdGlvbiBPYShhLGIsYyxkLGUpe2Zvcih2YXIgZj1jPT09KGQ/XCJib3JkZXJcIjpcImNvbnRlbnRcIik/NDpcIndpZHRoXCI9PT1iPzE6MCxnPTA7ND5mO2YrPTIpXCJtYXJnaW5cIj09PWMmJihnKz1uLmNzcyhhLGMrVVtmXSwhMCxlKSksZD8oXCJjb250ZW50XCI9PT1jJiYoZy09bi5jc3MoYSxcInBhZGRpbmdcIitVW2ZdLCEwLGUpKSxcIm1hcmdpblwiIT09YyYmKGctPW4uY3NzKGEsXCJib3JkZXJcIitVW2ZdK1wiV2lkdGhcIiwhMCxlKSkpOihnKz1uLmNzcyhhLFwicGFkZGluZ1wiK1VbZl0sITAsZSksXCJwYWRkaW5nXCIhPT1jJiYoZys9bi5jc3MoYSxcImJvcmRlclwiK1VbZl0rXCJXaWR0aFwiLCEwLGUpKSk7cmV0dXJuIGd9ZnVuY3Rpb24gUGEoYSxiLGMpe3ZhciBkPSEwLGU9XCJ3aWR0aFwiPT09Yj9hLm9mZnNldFdpZHRoOmEub2Zmc2V0SGVpZ2h0LGY9Q2EoYSksZz1cImJvcmRlci1ib3hcIj09PW4uY3NzKGEsXCJib3hTaXppbmdcIiwhMSxmKTtpZigwPj1lfHxudWxsPT1lKXtpZihlPUZhKGEsYixmKSwoMD5lfHxudWxsPT1lKSYmKGU9YS5zdHlsZVtiXSksQmEudGVzdChlKSlyZXR1cm4gZTtkPWcmJihsLmJveFNpemluZ1JlbGlhYmxlKCl8fGU9PT1hLnN0eWxlW2JdKSxlPXBhcnNlRmxvYXQoZSl8fDB9cmV0dXJuIGUrT2EoYSxiLGN8fChnP1wiYm9yZGVyXCI6XCJjb250ZW50XCIpLGQsZikrXCJweFwifWZ1bmN0aW9uIFFhKGEsYil7Zm9yKHZhciBjLGQsZSxmPVtdLGc9MCxoPWEubGVuZ3RoO2g+ZztnKyspZD1hW2ddLGQuc3R5bGUmJihmW2ddPU4uZ2V0KGQsXCJvbGRkaXNwbGF5XCIpLGM9ZC5zdHlsZS5kaXNwbGF5LGI/KGZbZ118fFwibm9uZVwiIT09Y3x8KGQuc3R5bGUuZGlzcGxheT1cIlwiKSxcIlwiPT09ZC5zdHlsZS5kaXNwbGF5JiZWKGQpJiYoZltnXT1OLmFjY2VzcyhkLFwib2xkZGlzcGxheVwiLHphKGQubm9kZU5hbWUpKSkpOihlPVYoZCksXCJub25lXCI9PT1jJiZlfHxOLnNldChkLFwib2xkZGlzcGxheVwiLGU/YzpuLmNzcyhkLFwiZGlzcGxheVwiKSkpKTtmb3IoZz0wO2g+ZztnKyspZD1hW2ddLGQuc3R5bGUmJihiJiZcIm5vbmVcIiE9PWQuc3R5bGUuZGlzcGxheSYmXCJcIiE9PWQuc3R5bGUuZGlzcGxheXx8KGQuc3R5bGUuZGlzcGxheT1iP2ZbZ118fFwiXCI6XCJub25lXCIpKTtyZXR1cm4gYX1uLmV4dGVuZCh7Y3NzSG9va3M6e29wYWNpdHk6e2dldDpmdW5jdGlvbihhLGIpe2lmKGIpe3ZhciBjPUZhKGEsXCJvcGFjaXR5XCIpO3JldHVyblwiXCI9PT1jP1wiMVwiOmN9fX19LGNzc051bWJlcjp7YW5pbWF0aW9uSXRlcmF0aW9uQ291bnQ6ITAsY29sdW1uQ291bnQ6ITAsZmlsbE9wYWNpdHk6ITAsZmxleEdyb3c6ITAsZmxleFNocmluazohMCxmb250V2VpZ2h0OiEwLGxpbmVIZWlnaHQ6ITAsb3BhY2l0eTohMCxvcmRlcjohMCxvcnBoYW5zOiEwLHdpZG93czohMCx6SW5kZXg6ITAsem9vbTohMH0sY3NzUHJvcHM6e1wiZmxvYXRcIjpcImNzc0Zsb2F0XCJ9LHN0eWxlOmZ1bmN0aW9uKGEsYixjLGQpe2lmKGEmJjMhPT1hLm5vZGVUeXBlJiY4IT09YS5ub2RlVHlwZSYmYS5zdHlsZSl7dmFyIGUsZixnLGg9bi5jYW1lbENhc2UoYiksaT1hLnN0eWxlO3JldHVybiBiPW4uY3NzUHJvcHNbaF18fChuLmNzc1Byb3BzW2hdPU1hKGgpfHxoKSxnPW4uY3NzSG9va3NbYl18fG4uY3NzSG9va3NbaF0sdm9pZCAwPT09Yz9nJiZcImdldFwiaW4gZyYmdm9pZCAwIT09KGU9Zy5nZXQoYSwhMSxkKSk/ZTppW2JdOihmPXR5cGVvZiBjLFwic3RyaW5nXCI9PT1mJiYoZT1ULmV4ZWMoYykpJiZlWzFdJiYoYz1XKGEsYixlKSxmPVwibnVtYmVyXCIpLG51bGwhPWMmJmM9PT1jJiYoXCJudW1iZXJcIj09PWYmJihjKz1lJiZlWzNdfHwobi5jc3NOdW1iZXJbaF0/XCJcIjpcInB4XCIpKSxsLmNsZWFyQ2xvbmVTdHlsZXx8XCJcIiE9PWN8fDAhPT1iLmluZGV4T2YoXCJiYWNrZ3JvdW5kXCIpfHwoaVtiXT1cImluaGVyaXRcIiksZyYmXCJzZXRcImluIGcmJnZvaWQgMD09PShjPWcuc2V0KGEsYyxkKSl8fChpW2JdPWMpKSx2b2lkIDApfX0sY3NzOmZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlLGYsZyxoPW4uY2FtZWxDYXNlKGIpO3JldHVybiBiPW4uY3NzUHJvcHNbaF18fChuLmNzc1Byb3BzW2hdPU1hKGgpfHxoKSxnPW4uY3NzSG9va3NbYl18fG4uY3NzSG9va3NbaF0sZyYmXCJnZXRcImluIGcmJihlPWcuZ2V0KGEsITAsYykpLHZvaWQgMD09PWUmJihlPUZhKGEsYixkKSksXCJub3JtYWxcIj09PWUmJmIgaW4gSmEmJihlPUphW2JdKSxcIlwiPT09Y3x8Yz8oZj1wYXJzZUZsb2F0KGUpLGM9PT0hMHx8aXNGaW5pdGUoZik/Znx8MDplKTplfX0pLG4uZWFjaChbXCJoZWlnaHRcIixcIndpZHRoXCJdLGZ1bmN0aW9uKGEsYil7bi5jc3NIb29rc1tiXT17Z2V0OmZ1bmN0aW9uKGEsYyxkKXtyZXR1cm4gYz9IYS50ZXN0KG4uY3NzKGEsXCJkaXNwbGF5XCIpKSYmMD09PWEub2Zmc2V0V2lkdGg/RGEoYSxJYSxmdW5jdGlvbigpe3JldHVybiBQYShhLGIsZCl9KTpQYShhLGIsZCk6dm9pZCAwfSxzZXQ6ZnVuY3Rpb24oYSxjLGQpe3ZhciBlLGY9ZCYmQ2EoYSksZz1kJiZPYShhLGIsZCxcImJvcmRlci1ib3hcIj09PW4uY3NzKGEsXCJib3hTaXppbmdcIiwhMSxmKSxmKTtyZXR1cm4gZyYmKGU9VC5leGVjKGMpKSYmXCJweFwiIT09KGVbM118fFwicHhcIikmJihhLnN0eWxlW2JdPWMsYz1uLmNzcyhhLGIpKSxOYShhLGMsZyl9fX0pLG4uY3NzSG9va3MubWFyZ2luTGVmdD1HYShsLnJlbGlhYmxlTWFyZ2luTGVmdCxmdW5jdGlvbihhLGIpe3JldHVybiBiPyhwYXJzZUZsb2F0KEZhKGEsXCJtYXJnaW5MZWZ0XCIpKXx8YS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0LURhKGEse21hcmdpbkxlZnQ6MH0sZnVuY3Rpb24oKXtyZXR1cm4gYS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0fSkpK1wicHhcIjp2b2lkIDB9KSxuLmNzc0hvb2tzLm1hcmdpblJpZ2h0PUdhKGwucmVsaWFibGVNYXJnaW5SaWdodCxmdW5jdGlvbihhLGIpe3JldHVybiBiP0RhKGEse2Rpc3BsYXk6XCJpbmxpbmUtYmxvY2tcIn0sRmEsW2EsXCJtYXJnaW5SaWdodFwiXSk6dm9pZCAwfSksbi5lYWNoKHttYXJnaW46XCJcIixwYWRkaW5nOlwiXCIsYm9yZGVyOlwiV2lkdGhcIn0sZnVuY3Rpb24oYSxiKXtuLmNzc0hvb2tzW2ErYl09e2V4cGFuZDpmdW5jdGlvbihjKXtmb3IodmFyIGQ9MCxlPXt9LGY9XCJzdHJpbmdcIj09dHlwZW9mIGM/Yy5zcGxpdChcIiBcIik6W2NdOzQ+ZDtkKyspZVthK1VbZF0rYl09ZltkXXx8ZltkLTJdfHxmWzBdO3JldHVybiBlfX0sQWEudGVzdChhKXx8KG4uY3NzSG9va3NbYStiXS5zZXQ9TmEpfSksbi5mbi5leHRlbmQoe2NzczpmdW5jdGlvbihhLGIpe3JldHVybiBLKHRoaXMsZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZj17fSxnPTA7aWYobi5pc0FycmF5KGIpKXtmb3IoZD1DYShhKSxlPWIubGVuZ3RoO2U+ZztnKyspZltiW2ddXT1uLmNzcyhhLGJbZ10sITEsZCk7cmV0dXJuIGZ9cmV0dXJuIHZvaWQgMCE9PWM/bi5zdHlsZShhLGIsYyk6bi5jc3MoYSxiKX0sYSxiLGFyZ3VtZW50cy5sZW5ndGg+MSl9LHNob3c6ZnVuY3Rpb24oKXtyZXR1cm4gUWEodGhpcywhMCl9LGhpZGU6ZnVuY3Rpb24oKXtyZXR1cm4gUWEodGhpcyl9LHRvZ2dsZTpmdW5jdGlvbihhKXtyZXR1cm5cImJvb2xlYW5cIj09dHlwZW9mIGE/YT90aGlzLnNob3coKTp0aGlzLmhpZGUoKTp0aGlzLmVhY2goZnVuY3Rpb24oKXtWKHRoaXMpP24odGhpcykuc2hvdygpOm4odGhpcykuaGlkZSgpfSl9fSk7ZnVuY3Rpb24gUmEoYSxiLGMsZCxlKXtyZXR1cm4gbmV3IFJhLnByb3RvdHlwZS5pbml0KGEsYixjLGQsZSl9bi5Ud2Vlbj1SYSxSYS5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOlJhLGluaXQ6ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3RoaXMuZWxlbT1hLHRoaXMucHJvcD1jLHRoaXMuZWFzaW5nPWV8fG4uZWFzaW5nLl9kZWZhdWx0LHRoaXMub3B0aW9ucz1iLHRoaXMuc3RhcnQ9dGhpcy5ub3c9dGhpcy5jdXIoKSx0aGlzLmVuZD1kLHRoaXMudW5pdD1mfHwobi5jc3NOdW1iZXJbY10/XCJcIjpcInB4XCIpfSxjdXI6ZnVuY3Rpb24oKXt2YXIgYT1SYS5wcm9wSG9va3NbdGhpcy5wcm9wXTtyZXR1cm4gYSYmYS5nZXQ/YS5nZXQodGhpcyk6UmEucHJvcEhvb2tzLl9kZWZhdWx0LmdldCh0aGlzKX0scnVuOmZ1bmN0aW9uKGEpe3ZhciBiLGM9UmEucHJvcEhvb2tzW3RoaXMucHJvcF07cmV0dXJuIHRoaXMub3B0aW9ucy5kdXJhdGlvbj90aGlzLnBvcz1iPW4uZWFzaW5nW3RoaXMuZWFzaW5nXShhLHRoaXMub3B0aW9ucy5kdXJhdGlvbiphLDAsMSx0aGlzLm9wdGlvbnMuZHVyYXRpb24pOnRoaXMucG9zPWI9YSx0aGlzLm5vdz0odGhpcy5lbmQtdGhpcy5zdGFydCkqYit0aGlzLnN0YXJ0LHRoaXMub3B0aW9ucy5zdGVwJiZ0aGlzLm9wdGlvbnMuc3RlcC5jYWxsKHRoaXMuZWxlbSx0aGlzLm5vdyx0aGlzKSxjJiZjLnNldD9jLnNldCh0aGlzKTpSYS5wcm9wSG9va3MuX2RlZmF1bHQuc2V0KHRoaXMpLHRoaXN9fSxSYS5wcm90b3R5cGUuaW5pdC5wcm90b3R5cGU9UmEucHJvdG90eXBlLFJhLnByb3BIb29rcz17X2RlZmF1bHQ6e2dldDpmdW5jdGlvbihhKXt2YXIgYjtyZXR1cm4gMSE9PWEuZWxlbS5ub2RlVHlwZXx8bnVsbCE9YS5lbGVtW2EucHJvcF0mJm51bGw9PWEuZWxlbS5zdHlsZVthLnByb3BdP2EuZWxlbVthLnByb3BdOihiPW4uY3NzKGEuZWxlbSxhLnByb3AsXCJcIiksYiYmXCJhdXRvXCIhPT1iP2I6MCl9LHNldDpmdW5jdGlvbihhKXtuLmZ4LnN0ZXBbYS5wcm9wXT9uLmZ4LnN0ZXBbYS5wcm9wXShhKToxIT09YS5lbGVtLm5vZGVUeXBlfHxudWxsPT1hLmVsZW0uc3R5bGVbbi5jc3NQcm9wc1thLnByb3BdXSYmIW4uY3NzSG9va3NbYS5wcm9wXT9hLmVsZW1bYS5wcm9wXT1hLm5vdzpuLnN0eWxlKGEuZWxlbSxhLnByb3AsYS5ub3crYS51bml0KX19fSxSYS5wcm9wSG9va3Muc2Nyb2xsVG9wPVJhLnByb3BIb29rcy5zY3JvbGxMZWZ0PXtzZXQ6ZnVuY3Rpb24oYSl7YS5lbGVtLm5vZGVUeXBlJiZhLmVsZW0ucGFyZW50Tm9kZSYmKGEuZWxlbVthLnByb3BdPWEubm93KX19LG4uZWFzaW5nPXtsaW5lYXI6ZnVuY3Rpb24oYSl7cmV0dXJuIGF9LHN3aW5nOmZ1bmN0aW9uKGEpe3JldHVybi41LU1hdGguY29zKGEqTWF0aC5QSSkvMn0sX2RlZmF1bHQ6XCJzd2luZ1wifSxuLmZ4PVJhLnByb3RvdHlwZS5pbml0LG4uZnguc3RlcD17fTt2YXIgU2EsVGEsVWE9L14oPzp0b2dnbGV8c2hvd3xoaWRlKSQvLFZhPS9xdWV1ZUhvb2tzJC87ZnVuY3Rpb24gV2EoKXtyZXR1cm4gYS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7U2E9dm9pZCAwfSksU2E9bi5ub3coKX1mdW5jdGlvbiBYYShhLGIpe3ZhciBjLGQ9MCxlPXtoZWlnaHQ6YX07Zm9yKGI9Yj8xOjA7ND5kO2QrPTItYiljPVVbZF0sZVtcIm1hcmdpblwiK2NdPWVbXCJwYWRkaW5nXCIrY109YTtyZXR1cm4gYiYmKGUub3BhY2l0eT1lLndpZHRoPWEpLGV9ZnVuY3Rpb24gWWEoYSxiLGMpe2Zvcih2YXIgZCxlPShfYS50d2VlbmVyc1tiXXx8W10pLmNvbmNhdChfYS50d2VlbmVyc1tcIipcIl0pLGY9MCxnPWUubGVuZ3RoO2c+ZjtmKyspaWYoZD1lW2ZdLmNhbGwoYyxiLGEpKXJldHVybiBkfWZ1bmN0aW9uIFphKGEsYixjKXt2YXIgZCxlLGYsZyxoLGksaixrLGw9dGhpcyxtPXt9LG89YS5zdHlsZSxwPWEubm9kZVR5cGUmJlYoYSkscT1OLmdldChhLFwiZnhzaG93XCIpO2MucXVldWV8fChoPW4uX3F1ZXVlSG9va3MoYSxcImZ4XCIpLG51bGw9PWgudW5xdWV1ZWQmJihoLnVucXVldWVkPTAsaT1oLmVtcHR5LmZpcmUsaC5lbXB0eS5maXJlPWZ1bmN0aW9uKCl7aC51bnF1ZXVlZHx8aSgpfSksaC51bnF1ZXVlZCsrLGwuYWx3YXlzKGZ1bmN0aW9uKCl7bC5hbHdheXMoZnVuY3Rpb24oKXtoLnVucXVldWVkLS0sbi5xdWV1ZShhLFwiZnhcIikubGVuZ3RofHxoLmVtcHR5LmZpcmUoKX0pfSkpLDE9PT1hLm5vZGVUeXBlJiYoXCJoZWlnaHRcImluIGJ8fFwid2lkdGhcImluIGIpJiYoYy5vdmVyZmxvdz1bby5vdmVyZmxvdyxvLm92ZXJmbG93WCxvLm92ZXJmbG93WV0saj1uLmNzcyhhLFwiZGlzcGxheVwiKSxrPVwibm9uZVwiPT09aj9OLmdldChhLFwib2xkZGlzcGxheVwiKXx8emEoYS5ub2RlTmFtZSk6aixcImlubGluZVwiPT09ayYmXCJub25lXCI9PT1uLmNzcyhhLFwiZmxvYXRcIikmJihvLmRpc3BsYXk9XCJpbmxpbmUtYmxvY2tcIikpLGMub3ZlcmZsb3cmJihvLm92ZXJmbG93PVwiaGlkZGVuXCIsbC5hbHdheXMoZnVuY3Rpb24oKXtvLm92ZXJmbG93PWMub3ZlcmZsb3dbMF0sby5vdmVyZmxvd1g9Yy5vdmVyZmxvd1sxXSxvLm92ZXJmbG93WT1jLm92ZXJmbG93WzJdfSkpO2ZvcihkIGluIGIpaWYoZT1iW2RdLFVhLmV4ZWMoZSkpe2lmKGRlbGV0ZSBiW2RdLGY9Znx8XCJ0b2dnbGVcIj09PWUsZT09PShwP1wiaGlkZVwiOlwic2hvd1wiKSl7aWYoXCJzaG93XCIhPT1lfHwhcXx8dm9pZCAwPT09cVtkXSljb250aW51ZTtwPSEwfW1bZF09cSYmcVtkXXx8bi5zdHlsZShhLGQpfWVsc2Ugaj12b2lkIDA7aWYobi5pc0VtcHR5T2JqZWN0KG0pKVwiaW5saW5lXCI9PT0oXCJub25lXCI9PT1qP3phKGEubm9kZU5hbWUpOmopJiYoby5kaXNwbGF5PWopO2Vsc2V7cT9cImhpZGRlblwiaW4gcSYmKHA9cS5oaWRkZW4pOnE9Ti5hY2Nlc3MoYSxcImZ4c2hvd1wiLHt9KSxmJiYocS5oaWRkZW49IXApLHA/bihhKS5zaG93KCk6bC5kb25lKGZ1bmN0aW9uKCl7bihhKS5oaWRlKCl9KSxsLmRvbmUoZnVuY3Rpb24oKXt2YXIgYjtOLnJlbW92ZShhLFwiZnhzaG93XCIpO2ZvcihiIGluIG0pbi5zdHlsZShhLGIsbVtiXSl9KTtmb3IoZCBpbiBtKWc9WWEocD9xW2RdOjAsZCxsKSxkIGluIHF8fChxW2RdPWcuc3RhcnQscCYmKGcuZW5kPWcuc3RhcnQsZy5zdGFydD1cIndpZHRoXCI9PT1kfHxcImhlaWdodFwiPT09ZD8xOjApKX19ZnVuY3Rpb24gJGEoYSxiKXt2YXIgYyxkLGUsZixnO2ZvcihjIGluIGEpaWYoZD1uLmNhbWVsQ2FzZShjKSxlPWJbZF0sZj1hW2NdLG4uaXNBcnJheShmKSYmKGU9ZlsxXSxmPWFbY109ZlswXSksYyE9PWQmJihhW2RdPWYsZGVsZXRlIGFbY10pLGc9bi5jc3NIb29rc1tkXSxnJiZcImV4cGFuZFwiaW4gZyl7Zj1nLmV4cGFuZChmKSxkZWxldGUgYVtkXTtmb3IoYyBpbiBmKWMgaW4gYXx8KGFbY109ZltjXSxiW2NdPWUpfWVsc2UgYltkXT1lfWZ1bmN0aW9uIF9hKGEsYixjKXt2YXIgZCxlLGY9MCxnPV9hLnByZWZpbHRlcnMubGVuZ3RoLGg9bi5EZWZlcnJlZCgpLmFsd2F5cyhmdW5jdGlvbigpe2RlbGV0ZSBpLmVsZW19KSxpPWZ1bmN0aW9uKCl7aWYoZSlyZXR1cm4hMTtmb3IodmFyIGI9U2F8fFdhKCksYz1NYXRoLm1heCgwLGouc3RhcnRUaW1lK2ouZHVyYXRpb24tYiksZD1jL2ouZHVyYXRpb258fDAsZj0xLWQsZz0wLGk9ai50d2VlbnMubGVuZ3RoO2k+ZztnKyspai50d2VlbnNbZ10ucnVuKGYpO3JldHVybiBoLm5vdGlmeVdpdGgoYSxbaixmLGNdKSwxPmYmJmk/YzooaC5yZXNvbHZlV2l0aChhLFtqXSksITEpfSxqPWgucHJvbWlzZSh7ZWxlbTphLHByb3BzOm4uZXh0ZW5kKHt9LGIpLG9wdHM6bi5leHRlbmQoITAse3NwZWNpYWxFYXNpbmc6e30sZWFzaW5nOm4uZWFzaW5nLl9kZWZhdWx0fSxjKSxvcmlnaW5hbFByb3BlcnRpZXM6YixvcmlnaW5hbE9wdGlvbnM6YyxzdGFydFRpbWU6U2F8fFdhKCksZHVyYXRpb246Yy5kdXJhdGlvbix0d2VlbnM6W10sY3JlYXRlVHdlZW46ZnVuY3Rpb24oYixjKXt2YXIgZD1uLlR3ZWVuKGEsai5vcHRzLGIsYyxqLm9wdHMuc3BlY2lhbEVhc2luZ1tiXXx8ai5vcHRzLmVhc2luZyk7cmV0dXJuIGoudHdlZW5zLnB1c2goZCksZH0sc3RvcDpmdW5jdGlvbihiKXt2YXIgYz0wLGQ9Yj9qLnR3ZWVucy5sZW5ndGg6MDtpZihlKXJldHVybiB0aGlzO2ZvcihlPSEwO2Q+YztjKyspai50d2VlbnNbY10ucnVuKDEpO3JldHVybiBiPyhoLm5vdGlmeVdpdGgoYSxbaiwxLDBdKSxoLnJlc29sdmVXaXRoKGEsW2osYl0pKTpoLnJlamVjdFdpdGgoYSxbaixiXSksdGhpc319KSxrPWoucHJvcHM7Zm9yKCRhKGssai5vcHRzLnNwZWNpYWxFYXNpbmcpO2c+ZjtmKyspaWYoZD1fYS5wcmVmaWx0ZXJzW2ZdLmNhbGwoaixhLGssai5vcHRzKSlyZXR1cm4gbi5pc0Z1bmN0aW9uKGQuc3RvcCkmJihuLl9xdWV1ZUhvb2tzKGouZWxlbSxqLm9wdHMucXVldWUpLnN0b3A9bi5wcm94eShkLnN0b3AsZCkpLGQ7cmV0dXJuIG4ubWFwKGssWWEsaiksbi5pc0Z1bmN0aW9uKGoub3B0cy5zdGFydCkmJmoub3B0cy5zdGFydC5jYWxsKGEsaiksbi5meC50aW1lcihuLmV4dGVuZChpLHtlbGVtOmEsYW5pbTpqLHF1ZXVlOmoub3B0cy5xdWV1ZX0pKSxqLnByb2dyZXNzKGoub3B0cy5wcm9ncmVzcykuZG9uZShqLm9wdHMuZG9uZSxqLm9wdHMuY29tcGxldGUpLmZhaWwoai5vcHRzLmZhaWwpLmFsd2F5cyhqLm9wdHMuYWx3YXlzKX1uLkFuaW1hdGlvbj1uLmV4dGVuZChfYSx7dHdlZW5lcnM6e1wiKlwiOltmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuY3JlYXRlVHdlZW4oYSxiKTtyZXR1cm4gVyhjLmVsZW0sYSxULmV4ZWMoYiksYyksY31dfSx0d2VlbmVyOmZ1bmN0aW9uKGEsYil7bi5pc0Z1bmN0aW9uKGEpPyhiPWEsYT1bXCIqXCJdKTphPWEubWF0Y2goRyk7Zm9yKHZhciBjLGQ9MCxlPWEubGVuZ3RoO2U+ZDtkKyspYz1hW2RdLF9hLnR3ZWVuZXJzW2NdPV9hLnR3ZWVuZXJzW2NdfHxbXSxfYS50d2VlbmVyc1tjXS51bnNoaWZ0KGIpfSxwcmVmaWx0ZXJzOltaYV0scHJlZmlsdGVyOmZ1bmN0aW9uKGEsYil7Yj9fYS5wcmVmaWx0ZXJzLnVuc2hpZnQoYSk6X2EucHJlZmlsdGVycy5wdXNoKGEpfX0pLG4uc3BlZWQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEmJlwib2JqZWN0XCI9PXR5cGVvZiBhP24uZXh0ZW5kKHt9LGEpOntjb21wbGV0ZTpjfHwhYyYmYnx8bi5pc0Z1bmN0aW9uKGEpJiZhLGR1cmF0aW9uOmEsZWFzaW5nOmMmJmJ8fGImJiFuLmlzRnVuY3Rpb24oYikmJmJ9O3JldHVybiBkLmR1cmF0aW9uPW4uZngub2ZmPzA6XCJudW1iZXJcIj09dHlwZW9mIGQuZHVyYXRpb24/ZC5kdXJhdGlvbjpkLmR1cmF0aW9uIGluIG4uZnguc3BlZWRzP24uZnguc3BlZWRzW2QuZHVyYXRpb25dOm4uZnguc3BlZWRzLl9kZWZhdWx0LG51bGwhPWQucXVldWUmJmQucXVldWUhPT0hMHx8KGQucXVldWU9XCJmeFwiKSxkLm9sZD1kLmNvbXBsZXRlLGQuY29tcGxldGU9ZnVuY3Rpb24oKXtuLmlzRnVuY3Rpb24oZC5vbGQpJiZkLm9sZC5jYWxsKHRoaXMpLGQucXVldWUmJm4uZGVxdWV1ZSh0aGlzLGQucXVldWUpfSxkfSxuLmZuLmV4dGVuZCh7ZmFkZVRvOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLmZpbHRlcihWKS5jc3MoXCJvcGFjaXR5XCIsMCkuc2hvdygpLmVuZCgpLmFuaW1hdGUoe29wYWNpdHk6Yn0sYSxjLGQpfSxhbmltYXRlOmZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPW4uaXNFbXB0eU9iamVjdChhKSxmPW4uc3BlZWQoYixjLGQpLGc9ZnVuY3Rpb24oKXt2YXIgYj1fYSh0aGlzLG4uZXh0ZW5kKHt9LGEpLGYpOyhlfHxOLmdldCh0aGlzLFwiZmluaXNoXCIpKSYmYi5zdG9wKCEwKX07cmV0dXJuIGcuZmluaXNoPWcsZXx8Zi5xdWV1ZT09PSExP3RoaXMuZWFjaChnKTp0aGlzLnF1ZXVlKGYucXVldWUsZyl9LHN0b3A6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWZ1bmN0aW9uKGEpe3ZhciBiPWEuc3RvcDtkZWxldGUgYS5zdG9wLGIoYyl9O3JldHVyblwic3RyaW5nXCIhPXR5cGVvZiBhJiYoYz1iLGI9YSxhPXZvaWQgMCksYiYmYSE9PSExJiZ0aGlzLnF1ZXVlKGF8fFwiZnhcIixbXSksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGI9ITAsZT1udWxsIT1hJiZhK1wicXVldWVIb29rc1wiLGY9bi50aW1lcnMsZz1OLmdldCh0aGlzKTtpZihlKWdbZV0mJmdbZV0uc3RvcCYmZChnW2VdKTtlbHNlIGZvcihlIGluIGcpZ1tlXSYmZ1tlXS5zdG9wJiZWYS50ZXN0KGUpJiZkKGdbZV0pO2ZvcihlPWYubGVuZ3RoO2UtLTspZltlXS5lbGVtIT09dGhpc3x8bnVsbCE9YSYmZltlXS5xdWV1ZSE9PWF8fChmW2VdLmFuaW0uc3RvcChjKSxiPSExLGYuc3BsaWNlKGUsMSkpOyFiJiZjfHxuLmRlcXVldWUodGhpcyxhKX0pfSxmaW5pc2g6ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPT0hMSYmKGE9YXx8XCJmeFwiKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYixjPU4uZ2V0KHRoaXMpLGQ9Y1thK1wicXVldWVcIl0sZT1jW2ErXCJxdWV1ZUhvb2tzXCJdLGY9bi50aW1lcnMsZz1kP2QubGVuZ3RoOjA7Zm9yKGMuZmluaXNoPSEwLG4ucXVldWUodGhpcyxhLFtdKSxlJiZlLnN0b3AmJmUuc3RvcC5jYWxsKHRoaXMsITApLGI9Zi5sZW5ndGg7Yi0tOylmW2JdLmVsZW09PT10aGlzJiZmW2JdLnF1ZXVlPT09YSYmKGZbYl0uYW5pbS5zdG9wKCEwKSxmLnNwbGljZShiLDEpKTtmb3IoYj0wO2c+YjtiKyspZFtiXSYmZFtiXS5maW5pc2gmJmRbYl0uZmluaXNoLmNhbGwodGhpcyk7ZGVsZXRlIGMuZmluaXNofSl9fSksbi5lYWNoKFtcInRvZ2dsZVwiLFwic2hvd1wiLFwiaGlkZVwiXSxmdW5jdGlvbihhLGIpe3ZhciBjPW4uZm5bYl07bi5mbltiXT1mdW5jdGlvbihhLGQsZSl7cmV0dXJuIG51bGw9PWF8fFwiYm9vbGVhblwiPT10eXBlb2YgYT9jLmFwcGx5KHRoaXMsYXJndW1lbnRzKTp0aGlzLmFuaW1hdGUoWGEoYiwhMCksYSxkLGUpfX0pLG4uZWFjaCh7c2xpZGVEb3duOlhhKFwic2hvd1wiKSxzbGlkZVVwOlhhKFwiaGlkZVwiKSxzbGlkZVRvZ2dsZTpYYShcInRvZ2dsZVwiKSxmYWRlSW46e29wYWNpdHk6XCJzaG93XCJ9LGZhZGVPdXQ6e29wYWNpdHk6XCJoaWRlXCJ9LGZhZGVUb2dnbGU6e29wYWNpdHk6XCJ0b2dnbGVcIn19LGZ1bmN0aW9uKGEsYil7bi5mblthXT1mdW5jdGlvbihhLGMsZCl7cmV0dXJuIHRoaXMuYW5pbWF0ZShiLGEsYyxkKX19KSxuLnRpbWVycz1bXSxuLmZ4LnRpY2s9ZnVuY3Rpb24oKXt2YXIgYSxiPTAsYz1uLnRpbWVycztmb3IoU2E9bi5ub3coKTtiPGMubGVuZ3RoO2IrKylhPWNbYl0sYSgpfHxjW2JdIT09YXx8Yy5zcGxpY2UoYi0tLDEpO2MubGVuZ3RofHxuLmZ4LnN0b3AoKSxTYT12b2lkIDB9LG4uZngudGltZXI9ZnVuY3Rpb24oYSl7bi50aW1lcnMucHVzaChhKSxhKCk/bi5meC5zdGFydCgpOm4udGltZXJzLnBvcCgpfSxuLmZ4LmludGVydmFsPTEzLG4uZnguc3RhcnQ9ZnVuY3Rpb24oKXtUYXx8KFRhPWEuc2V0SW50ZXJ2YWwobi5meC50aWNrLG4uZnguaW50ZXJ2YWwpKX0sbi5meC5zdG9wPWZ1bmN0aW9uKCl7YS5jbGVhckludGVydmFsKFRhKSxUYT1udWxsfSxuLmZ4LnNwZWVkcz17c2xvdzo2MDAsZmFzdDoyMDAsX2RlZmF1bHQ6NDAwfSxuLmZuLmRlbGF5PWZ1bmN0aW9uKGIsYyl7cmV0dXJuIGI9bi5meD9uLmZ4LnNwZWVkc1tiXXx8YjpiLGM9Y3x8XCJmeFwiLHRoaXMucXVldWUoYyxmdW5jdGlvbihjLGQpe3ZhciBlPWEuc2V0VGltZW91dChjLGIpO2Quc3RvcD1mdW5jdGlvbigpe2EuY2xlYXJUaW1lb3V0KGUpfX0pfSxmdW5jdGlvbigpe3ZhciBhPWQuY3JlYXRlRWxlbWVudChcImlucHV0XCIpLGI9ZC5jcmVhdGVFbGVtZW50KFwic2VsZWN0XCIpLGM9Yi5hcHBlbmRDaGlsZChkLmNyZWF0ZUVsZW1lbnQoXCJvcHRpb25cIikpO2EudHlwZT1cImNoZWNrYm94XCIsbC5jaGVja09uPVwiXCIhPT1hLnZhbHVlLGwub3B0U2VsZWN0ZWQ9Yy5zZWxlY3RlZCxiLmRpc2FibGVkPSEwLGwub3B0RGlzYWJsZWQ9IWMuZGlzYWJsZWQsYT1kLmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiKSxhLnZhbHVlPVwidFwiLGEudHlwZT1cInJhZGlvXCIsbC5yYWRpb1ZhbHVlPVwidFwiPT09YS52YWx1ZX0oKTt2YXIgYWIsYmI9bi5leHByLmF0dHJIYW5kbGU7bi5mbi5leHRlbmQoe2F0dHI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gSyh0aGlzLG4uYXR0cixhLGIsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7bi5yZW1vdmVBdHRyKHRoaXMsYSl9KX19KSxuLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmPWEubm9kZVR5cGU7aWYoMyE9PWYmJjghPT1mJiYyIT09ZilyZXR1cm5cInVuZGVmaW5lZFwiPT10eXBlb2YgYS5nZXRBdHRyaWJ1dGU/bi5wcm9wKGEsYixjKTooMT09PWYmJm4uaXNYTUxEb2MoYSl8fChiPWIudG9Mb3dlckNhc2UoKSxlPW4uYXR0ckhvb2tzW2JdfHwobi5leHByLm1hdGNoLmJvb2wudGVzdChiKT9hYjp2b2lkIDApKSx2b2lkIDAhPT1jP251bGw9PT1jP3ZvaWQgbi5yZW1vdmVBdHRyKGEsYik6ZSYmXCJzZXRcImluIGUmJnZvaWQgMCE9PShkPWUuc2V0KGEsYyxiKSk/ZDooYS5zZXRBdHRyaWJ1dGUoYixjK1wiXCIpLGMpOmUmJlwiZ2V0XCJpbiBlJiZudWxsIT09KGQ9ZS5nZXQoYSxiKSk/ZDooZD1uLmZpbmQuYXR0cihhLGIpLG51bGw9PWQ/dm9pZCAwOmQpKX0sYXR0ckhvb2tzOnt0eXBlOntzZXQ6ZnVuY3Rpb24oYSxiKXtpZighbC5yYWRpb1ZhbHVlJiZcInJhZGlvXCI9PT1iJiZuLm5vZGVOYW1lKGEsXCJpbnB1dFwiKSl7dmFyIGM9YS52YWx1ZTtyZXR1cm4gYS5zZXRBdHRyaWJ1dGUoXCJ0eXBlXCIsYiksYyYmKGEudmFsdWU9YyksYn19fX0scmVtb3ZlQXR0cjpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZT0wLGY9YiYmYi5tYXRjaChHKTtpZihmJiYxPT09YS5ub2RlVHlwZSl3aGlsZShjPWZbZSsrXSlkPW4ucHJvcEZpeFtjXXx8YyxuLmV4cHIubWF0Y2guYm9vbC50ZXN0KGMpJiYoYVtkXT0hMSksYS5yZW1vdmVBdHRyaWJ1dGUoYyl9fSksYWI9e3NldDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGI9PT0hMT9uLnJlbW92ZUF0dHIoYSxjKTphLnNldEF0dHJpYnV0ZShjLGMpLGN9fSxuLmVhY2gobi5leHByLm1hdGNoLmJvb2wuc291cmNlLm1hdGNoKC9cXHcrL2cpLGZ1bmN0aW9uKGEsYil7dmFyIGM9YmJbYl18fG4uZmluZC5hdHRyO2JiW2JdPWZ1bmN0aW9uKGEsYixkKXt2YXIgZSxmO3JldHVybiBkfHwoZj1iYltiXSxiYltiXT1lLGU9bnVsbCE9YyhhLGIsZCk/Yi50b0xvd2VyQ2FzZSgpOm51bGwsYmJbYl09ZiksZX19KTt2YXIgY2I9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSxkYj0vXig/OmF8YXJlYSkkL2k7bi5mbi5leHRlbmQoe3Byb3A6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gSyh0aGlzLG4ucHJvcCxhLGIsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlUHJvcDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7ZGVsZXRlIHRoaXNbbi5wcm9wRml4W2FdfHxhXX0pfX0pLG4uZXh0ZW5kKHtwcm9wOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9YS5ub2RlVHlwZTtpZigzIT09ZiYmOCE9PWYmJjIhPT1mKXJldHVybiAxPT09ZiYmbi5pc1hNTERvYyhhKXx8KGI9bi5wcm9wRml4W2JdfHxiLGU9bi5wcm9wSG9va3NbYl0pLFxudm9pZCAwIT09Yz9lJiZcInNldFwiaW4gZSYmdm9pZCAwIT09KGQ9ZS5zZXQoYSxjLGIpKT9kOmFbYl09YzplJiZcImdldFwiaW4gZSYmbnVsbCE9PShkPWUuZ2V0KGEsYikpP2Q6YVtiXX0scHJvcEhvb2tzOnt0YWJJbmRleDp7Z2V0OmZ1bmN0aW9uKGEpe3ZhciBiPW4uZmluZC5hdHRyKGEsXCJ0YWJpbmRleFwiKTtyZXR1cm4gYj9wYXJzZUludChiLDEwKTpjYi50ZXN0KGEubm9kZU5hbWUpfHxkYi50ZXN0KGEubm9kZU5hbWUpJiZhLmhyZWY/MDotMX19fSxwcm9wRml4OntcImZvclwiOlwiaHRtbEZvclwiLFwiY2xhc3NcIjpcImNsYXNzTmFtZVwifX0pLGwub3B0U2VsZWN0ZWR8fChuLnByb3BIb29rcy5zZWxlY3RlZD17Z2V0OmZ1bmN0aW9uKGEpe3ZhciBiPWEucGFyZW50Tm9kZTtyZXR1cm4gYiYmYi5wYXJlbnROb2RlJiZiLnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCxudWxsfSxzZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9YS5wYXJlbnROb2RlO2ImJihiLnNlbGVjdGVkSW5kZXgsYi5wYXJlbnROb2RlJiZiLnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCl9fSksbi5lYWNoKFtcInRhYkluZGV4XCIsXCJyZWFkT25seVwiLFwibWF4TGVuZ3RoXCIsXCJjZWxsU3BhY2luZ1wiLFwiY2VsbFBhZGRpbmdcIixcInJvd1NwYW5cIixcImNvbFNwYW5cIixcInVzZU1hcFwiLFwiZnJhbWVCb3JkZXJcIixcImNvbnRlbnRFZGl0YWJsZVwiXSxmdW5jdGlvbigpe24ucHJvcEZpeFt0aGlzLnRvTG93ZXJDYXNlKCldPXRoaXN9KTt2YXIgZWI9L1tcXHRcXHJcXG5cXGZdL2c7ZnVuY3Rpb24gZmIoYSl7cmV0dXJuIGEuZ2V0QXR0cmlidXRlJiZhLmdldEF0dHJpYnV0ZShcImNsYXNzXCIpfHxcIlwifW4uZm4uZXh0ZW5kKHthZGRDbGFzczpmdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmLGcsaCxpPTA7aWYobi5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7bih0aGlzKS5hZGRDbGFzcyhhLmNhbGwodGhpcyxiLGZiKHRoaXMpKSl9KTtpZihcInN0cmluZ1wiPT10eXBlb2YgYSYmYSl7Yj1hLm1hdGNoKEcpfHxbXTt3aGlsZShjPXRoaXNbaSsrXSlpZihlPWZiKGMpLGQ9MT09PWMubm9kZVR5cGUmJihcIiBcIitlK1wiIFwiKS5yZXBsYWNlKGViLFwiIFwiKSl7Zz0wO3doaWxlKGY9YltnKytdKWQuaW5kZXhPZihcIiBcIitmK1wiIFwiKTwwJiYoZCs9ZitcIiBcIik7aD1uLnRyaW0oZCksZSE9PWgmJmMuc2V0QXR0cmlidXRlKFwiY2xhc3NcIixoKX19cmV0dXJuIHRoaXN9LHJlbW92ZUNsYXNzOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGYsZyxoLGk9MDtpZihuLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXtuKHRoaXMpLnJlbW92ZUNsYXNzKGEuY2FsbCh0aGlzLGIsZmIodGhpcykpKX0pO2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiB0aGlzLmF0dHIoXCJjbGFzc1wiLFwiXCIpO2lmKFwic3RyaW5nXCI9PXR5cGVvZiBhJiZhKXtiPWEubWF0Y2goRyl8fFtdO3doaWxlKGM9dGhpc1tpKytdKWlmKGU9ZmIoYyksZD0xPT09Yy5ub2RlVHlwZSYmKFwiIFwiK2UrXCIgXCIpLnJlcGxhY2UoZWIsXCIgXCIpKXtnPTA7d2hpbGUoZj1iW2crK10pd2hpbGUoZC5pbmRleE9mKFwiIFwiK2YrXCIgXCIpPi0xKWQ9ZC5yZXBsYWNlKFwiIFwiK2YrXCIgXCIsXCIgXCIpO2g9bi50cmltKGQpLGUhPT1oJiZjLnNldEF0dHJpYnV0ZShcImNsYXNzXCIsaCl9fXJldHVybiB0aGlzfSx0b2dnbGVDbGFzczpmdW5jdGlvbihhLGIpe3ZhciBjPXR5cGVvZiBhO3JldHVyblwiYm9vbGVhblwiPT10eXBlb2YgYiYmXCJzdHJpbmdcIj09PWM/Yj90aGlzLmFkZENsYXNzKGEpOnRoaXMucmVtb3ZlQ2xhc3MoYSk6bi5pc0Z1bmN0aW9uKGEpP3RoaXMuZWFjaChmdW5jdGlvbihjKXtuKHRoaXMpLnRvZ2dsZUNsYXNzKGEuY2FsbCh0aGlzLGMsZmIodGhpcyksYiksYil9KTp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYixkLGUsZjtpZihcInN0cmluZ1wiPT09Yyl7ZD0wLGU9bih0aGlzKSxmPWEubWF0Y2goRyl8fFtdO3doaWxlKGI9ZltkKytdKWUuaGFzQ2xhc3MoYik/ZS5yZW1vdmVDbGFzcyhiKTplLmFkZENsYXNzKGIpfWVsc2Ugdm9pZCAwIT09YSYmXCJib29sZWFuXCIhPT1jfHwoYj1mYih0aGlzKSxiJiZOLnNldCh0aGlzLFwiX19jbGFzc05hbWVfX1wiLGIpLHRoaXMuc2V0QXR0cmlidXRlJiZ0aGlzLnNldEF0dHJpYnV0ZShcImNsYXNzXCIsYnx8YT09PSExP1wiXCI6Ti5nZXQodGhpcyxcIl9fY2xhc3NOYW1lX19cIil8fFwiXCIpKX0pfSxoYXNDbGFzczpmdW5jdGlvbihhKXt2YXIgYixjLGQ9MDtiPVwiIFwiK2ErXCIgXCI7d2hpbGUoYz10aGlzW2QrK10paWYoMT09PWMubm9kZVR5cGUmJihcIiBcIitmYihjKStcIiBcIikucmVwbGFjZShlYixcIiBcIikuaW5kZXhPZihiKT4tMSlyZXR1cm4hMDtyZXR1cm4hMX19KTt2YXIgZ2I9L1xcci9nLGhiPS9bXFx4MjBcXHRcXHJcXG5cXGZdKy9nO24uZm4uZXh0ZW5kKHt2YWw6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGU9dGhpc1swXTt7aWYoYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZD1uLmlzRnVuY3Rpb24oYSksdGhpcy5lYWNoKGZ1bmN0aW9uKGMpe3ZhciBlOzE9PT10aGlzLm5vZGVUeXBlJiYoZT1kP2EuY2FsbCh0aGlzLGMsbih0aGlzKS52YWwoKSk6YSxudWxsPT1lP2U9XCJcIjpcIm51bWJlclwiPT10eXBlb2YgZT9lKz1cIlwiOm4uaXNBcnJheShlKSYmKGU9bi5tYXAoZSxmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT9cIlwiOmErXCJcIn0pKSxiPW4udmFsSG9va3NbdGhpcy50eXBlXXx8bi52YWxIb29rc1t0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGImJlwic2V0XCJpbiBiJiZ2b2lkIDAhPT1iLnNldCh0aGlzLGUsXCJ2YWx1ZVwiKXx8KHRoaXMudmFsdWU9ZSkpfSk7aWYoZSlyZXR1cm4gYj1uLnZhbEhvb2tzW2UudHlwZV18fG4udmFsSG9va3NbZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSxiJiZcImdldFwiaW4gYiYmdm9pZCAwIT09KGM9Yi5nZXQoZSxcInZhbHVlXCIpKT9jOihjPWUudmFsdWUsXCJzdHJpbmdcIj09dHlwZW9mIGM/Yy5yZXBsYWNlKGdiLFwiXCIpOm51bGw9PWM/XCJcIjpjKX19fSksbi5leHRlbmQoe3ZhbEhvb2tzOntvcHRpb246e2dldDpmdW5jdGlvbihhKXt2YXIgYj1uLmZpbmQuYXR0cihhLFwidmFsdWVcIik7cmV0dXJuIG51bGwhPWI/YjpuLnRyaW0obi50ZXh0KGEpKS5yZXBsYWNlKGhiLFwiIFwiKX19LHNlbGVjdDp7Z2V0OmZ1bmN0aW9uKGEpe2Zvcih2YXIgYixjLGQ9YS5vcHRpb25zLGU9YS5zZWxlY3RlZEluZGV4LGY9XCJzZWxlY3Qtb25lXCI9PT1hLnR5cGV8fDA+ZSxnPWY/bnVsbDpbXSxoPWY/ZSsxOmQubGVuZ3RoLGk9MD5lP2g6Zj9lOjA7aD5pO2krKylpZihjPWRbaV0sKGMuc2VsZWN0ZWR8fGk9PT1lKSYmKGwub3B0RGlzYWJsZWQ/IWMuZGlzYWJsZWQ6bnVsbD09PWMuZ2V0QXR0cmlidXRlKFwiZGlzYWJsZWRcIikpJiYoIWMucGFyZW50Tm9kZS5kaXNhYmxlZHx8IW4ubm9kZU5hbWUoYy5wYXJlbnROb2RlLFwib3B0Z3JvdXBcIikpKXtpZihiPW4oYykudmFsKCksZilyZXR1cm4gYjtnLnB1c2goYil9cmV0dXJuIGd9LHNldDpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZT1hLm9wdGlvbnMsZj1uLm1ha2VBcnJheShiKSxnPWUubGVuZ3RoO3doaWxlKGctLSlkPWVbZ10sKGQuc2VsZWN0ZWQ9bi5pbkFycmF5KG4udmFsSG9va3Mub3B0aW9uLmdldChkKSxmKT4tMSkmJihjPSEwKTtyZXR1cm4gY3x8KGEuc2VsZWN0ZWRJbmRleD0tMSksZn19fX0pLG4uZWFjaChbXCJyYWRpb1wiLFwiY2hlY2tib3hcIl0sZnVuY3Rpb24oKXtuLnZhbEhvb2tzW3RoaXNdPXtzZXQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbi5pc0FycmF5KGIpP2EuY2hlY2tlZD1uLmluQXJyYXkobihhKS52YWwoKSxiKT4tMTp2b2lkIDB9fSxsLmNoZWNrT258fChuLnZhbEhvb2tzW3RoaXNdLmdldD1mdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09PWEuZ2V0QXR0cmlidXRlKFwidmFsdWVcIik/XCJvblwiOmEudmFsdWV9KX0pO3ZhciBpYj0vXig/OmZvY3VzaW5mb2N1c3xmb2N1c291dGJsdXIpJC87bi5leHRlbmQobi5ldmVudCx7dHJpZ2dlcjpmdW5jdGlvbihiLGMsZSxmKXt2YXIgZyxoLGksaixsLG0sbyxwPVtlfHxkXSxxPWsuY2FsbChiLFwidHlwZVwiKT9iLnR5cGU6YixyPWsuY2FsbChiLFwibmFtZXNwYWNlXCIpP2IubmFtZXNwYWNlLnNwbGl0KFwiLlwiKTpbXTtpZihoPWk9ZT1lfHxkLDMhPT1lLm5vZGVUeXBlJiY4IT09ZS5ub2RlVHlwZSYmIWliLnRlc3QocStuLmV2ZW50LnRyaWdnZXJlZCkmJihxLmluZGV4T2YoXCIuXCIpPi0xJiYocj1xLnNwbGl0KFwiLlwiKSxxPXIuc2hpZnQoKSxyLnNvcnQoKSksbD1xLmluZGV4T2YoXCI6XCIpPDAmJlwib25cIitxLGI9YltuLmV4cGFuZG9dP2I6bmV3IG4uRXZlbnQocSxcIm9iamVjdFwiPT10eXBlb2YgYiYmYiksYi5pc1RyaWdnZXI9Zj8yOjMsYi5uYW1lc3BhY2U9ci5qb2luKFwiLlwiKSxiLnJuYW1lc3BhY2U9Yi5uYW1lc3BhY2U/bmV3IFJlZ0V4cChcIihefFxcXFwuKVwiK3Iuam9pbihcIlxcXFwuKD86LipcXFxcLnwpXCIpK1wiKFxcXFwufCQpXCIpOm51bGwsYi5yZXN1bHQ9dm9pZCAwLGIudGFyZ2V0fHwoYi50YXJnZXQ9ZSksYz1udWxsPT1jP1tiXTpuLm1ha2VBcnJheShjLFtiXSksbz1uLmV2ZW50LnNwZWNpYWxbcV18fHt9LGZ8fCFvLnRyaWdnZXJ8fG8udHJpZ2dlci5hcHBseShlLGMpIT09ITEpKXtpZighZiYmIW8ubm9CdWJibGUmJiFuLmlzV2luZG93KGUpKXtmb3Ioaj1vLmRlbGVnYXRlVHlwZXx8cSxpYi50ZXN0KGorcSl8fChoPWgucGFyZW50Tm9kZSk7aDtoPWgucGFyZW50Tm9kZSlwLnB1c2goaCksaT1oO2k9PT0oZS5vd25lckRvY3VtZW50fHxkKSYmcC5wdXNoKGkuZGVmYXVsdFZpZXd8fGkucGFyZW50V2luZG93fHxhKX1nPTA7d2hpbGUoKGg9cFtnKytdKSYmIWIuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSliLnR5cGU9Zz4xP2o6by5iaW5kVHlwZXx8cSxtPShOLmdldChoLFwiZXZlbnRzXCIpfHx7fSlbYi50eXBlXSYmTi5nZXQoaCxcImhhbmRsZVwiKSxtJiZtLmFwcGx5KGgsYyksbT1sJiZoW2xdLG0mJm0uYXBwbHkmJkwoaCkmJihiLnJlc3VsdD1tLmFwcGx5KGgsYyksYi5yZXN1bHQ9PT0hMSYmYi5wcmV2ZW50RGVmYXVsdCgpKTtyZXR1cm4gYi50eXBlPXEsZnx8Yi5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8by5fZGVmYXVsdCYmby5fZGVmYXVsdC5hcHBseShwLnBvcCgpLGMpIT09ITF8fCFMKGUpfHxsJiZuLmlzRnVuY3Rpb24oZVtxXSkmJiFuLmlzV2luZG93KGUpJiYoaT1lW2xdLGkmJihlW2xdPW51bGwpLG4uZXZlbnQudHJpZ2dlcmVkPXEsZVtxXSgpLG4uZXZlbnQudHJpZ2dlcmVkPXZvaWQgMCxpJiYoZVtsXT1pKSksYi5yZXN1bHR9fSxzaW11bGF0ZTpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9bi5leHRlbmQobmV3IG4uRXZlbnQsYyx7dHlwZTphLGlzU2ltdWxhdGVkOiEwfSk7bi5ldmVudC50cmlnZ2VyKGQsbnVsbCxiKX19KSxuLmZuLmV4dGVuZCh7dHJpZ2dlcjpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtuLmV2ZW50LnRyaWdnZXIoYSxiLHRoaXMpfSl9LHRyaWdnZXJIYW5kbGVyOmZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpc1swXTtyZXR1cm4gYz9uLmV2ZW50LnRyaWdnZXIoYSxiLGMsITApOnZvaWQgMH19KSxuLmVhY2goXCJibHVyIGZvY3VzIGZvY3VzaW4gZm9jdXNvdXQgbG9hZCByZXNpemUgc2Nyb2xsIHVubG9hZCBjbGljayBkYmxjbGljayBtb3VzZWRvd24gbW91c2V1cCBtb3VzZW1vdmUgbW91c2VvdmVyIG1vdXNlb3V0IG1vdXNlZW50ZXIgbW91c2VsZWF2ZSBjaGFuZ2Ugc2VsZWN0IHN1Ym1pdCBrZXlkb3duIGtleXByZXNzIGtleXVwIGVycm9yIGNvbnRleHRtZW51XCIuc3BsaXQoXCIgXCIpLGZ1bmN0aW9uKGEsYil7bi5mbltiXT1mdW5jdGlvbihhLGMpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPjA/dGhpcy5vbihiLG51bGwsYSxjKTp0aGlzLnRyaWdnZXIoYil9fSksbi5mbi5leHRlbmQoe2hvdmVyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMubW91c2VlbnRlcihhKS5tb3VzZWxlYXZlKGJ8fGEpfX0pLGwuZm9jdXNpbj1cIm9uZm9jdXNpblwiaW4gYSxsLmZvY3VzaW58fG4uZWFjaCh7Zm9jdXM6XCJmb2N1c2luXCIsYmx1cjpcImZvY3Vzb3V0XCJ9LGZ1bmN0aW9uKGEsYil7dmFyIGM9ZnVuY3Rpb24oYSl7bi5ldmVudC5zaW11bGF0ZShiLGEudGFyZ2V0LG4uZXZlbnQuZml4KGEpKX07bi5ldmVudC5zcGVjaWFsW2JdPXtzZXR1cDpmdW5jdGlvbigpe3ZhciBkPXRoaXMub3duZXJEb2N1bWVudHx8dGhpcyxlPU4uYWNjZXNzKGQsYik7ZXx8ZC5hZGRFdmVudExpc3RlbmVyKGEsYywhMCksTi5hY2Nlc3MoZCxiLChlfHwwKSsxKX0sdGVhcmRvd246ZnVuY3Rpb24oKXt2YXIgZD10aGlzLm93bmVyRG9jdW1lbnR8fHRoaXMsZT1OLmFjY2VzcyhkLGIpLTE7ZT9OLmFjY2VzcyhkLGIsZSk6KGQucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGMsITApLE4ucmVtb3ZlKGQsYikpfX19KTt2YXIgamI9YS5sb2NhdGlvbixrYj1uLm5vdygpLGxiPS9cXD8vO24ucGFyc2VKU09OPWZ1bmN0aW9uKGEpe3JldHVybiBKU09OLnBhcnNlKGErXCJcIil9LG4ucGFyc2VYTUw9ZnVuY3Rpb24oYil7dmFyIGM7aWYoIWJ8fFwic3RyaW5nXCIhPXR5cGVvZiBiKXJldHVybiBudWxsO3RyeXtjPShuZXcgYS5ET01QYXJzZXIpLnBhcnNlRnJvbVN0cmluZyhiLFwidGV4dC94bWxcIil9Y2F0Y2goZCl7Yz12b2lkIDB9cmV0dXJuIGMmJiFjLmdldEVsZW1lbnRzQnlUYWdOYW1lKFwicGFyc2VyZXJyb3JcIikubGVuZ3RofHxuLmVycm9yKFwiSW52YWxpZCBYTUw6IFwiK2IpLGN9O3ZhciBtYj0vIy4qJC8sbmI9LyhbPyZdKV89W14mXSovLG9iPS9eKC4qPyk6WyBcXHRdKihbXlxcclxcbl0qKSQvZ20scGI9L14oPzphYm91dHxhcHB8YXBwLXN0b3JhZ2V8ListZXh0ZW5zaW9ufGZpbGV8cmVzfHdpZGdldCk6JC8scWI9L14oPzpHRVR8SEVBRCkkLyxyYj0vXlxcL1xcLy8sc2I9e30sdGI9e30sdWI9XCIqL1wiLmNvbmNhdChcIipcIiksdmI9ZC5jcmVhdGVFbGVtZW50KFwiYVwiKTt2Yi5ocmVmPWpiLmhyZWY7ZnVuY3Rpb24gd2IoYSl7cmV0dXJuIGZ1bmN0aW9uKGIsYyl7XCJzdHJpbmdcIiE9dHlwZW9mIGImJihjPWIsYj1cIipcIik7dmFyIGQsZT0wLGY9Yi50b0xvd2VyQ2FzZSgpLm1hdGNoKEcpfHxbXTtpZihuLmlzRnVuY3Rpb24oYykpd2hpbGUoZD1mW2UrK10pXCIrXCI9PT1kWzBdPyhkPWQuc2xpY2UoMSl8fFwiKlwiLChhW2RdPWFbZF18fFtdKS51bnNoaWZ0KGMpKTooYVtkXT1hW2RdfHxbXSkucHVzaChjKX19ZnVuY3Rpb24geGIoYSxiLGMsZCl7dmFyIGU9e30sZj1hPT09dGI7ZnVuY3Rpb24gZyhoKXt2YXIgaTtyZXR1cm4gZVtoXT0hMCxuLmVhY2goYVtoXXx8W10sZnVuY3Rpb24oYSxoKXt2YXIgaj1oKGIsYyxkKTtyZXR1cm5cInN0cmluZ1wiIT10eXBlb2Yganx8Znx8ZVtqXT9mPyEoaT1qKTp2b2lkIDA6KGIuZGF0YVR5cGVzLnVuc2hpZnQoaiksZyhqKSwhMSl9KSxpfXJldHVybiBnKGIuZGF0YVR5cGVzWzBdKXx8IWVbXCIqXCJdJiZnKFwiKlwiKX1mdW5jdGlvbiB5YihhLGIpe3ZhciBjLGQsZT1uLmFqYXhTZXR0aW5ncy5mbGF0T3B0aW9uc3x8e307Zm9yKGMgaW4gYil2b2lkIDAhPT1iW2NdJiYoKGVbY10/YTpkfHwoZD17fSkpW2NdPWJbY10pO3JldHVybiBkJiZuLmV4dGVuZCghMCxhLGQpLGF9ZnVuY3Rpb24gemIoYSxiLGMpe3ZhciBkLGUsZixnLGg9YS5jb250ZW50cyxpPWEuZGF0YVR5cGVzO3doaWxlKFwiKlwiPT09aVswXSlpLnNoaWZ0KCksdm9pZCAwPT09ZCYmKGQ9YS5taW1lVHlwZXx8Yi5nZXRSZXNwb25zZUhlYWRlcihcIkNvbnRlbnQtVHlwZVwiKSk7aWYoZClmb3IoZSBpbiBoKWlmKGhbZV0mJmhbZV0udGVzdChkKSl7aS51bnNoaWZ0KGUpO2JyZWFrfWlmKGlbMF1pbiBjKWY9aVswXTtlbHNle2ZvcihlIGluIGMpe2lmKCFpWzBdfHxhLmNvbnZlcnRlcnNbZStcIiBcIitpWzBdXSl7Zj1lO2JyZWFrfWd8fChnPWUpfWY9Znx8Z31yZXR1cm4gZj8oZiE9PWlbMF0mJmkudW5zaGlmdChmKSxjW2ZdKTp2b2lkIDB9ZnVuY3Rpb24gQWIoYSxiLGMsZCl7dmFyIGUsZixnLGgsaSxqPXt9LGs9YS5kYXRhVHlwZXMuc2xpY2UoKTtpZihrWzFdKWZvcihnIGluIGEuY29udmVydGVycylqW2cudG9Mb3dlckNhc2UoKV09YS5jb252ZXJ0ZXJzW2ddO2Y9ay5zaGlmdCgpO3doaWxlKGYpaWYoYS5yZXNwb25zZUZpZWxkc1tmXSYmKGNbYS5yZXNwb25zZUZpZWxkc1tmXV09YiksIWkmJmQmJmEuZGF0YUZpbHRlciYmKGI9YS5kYXRhRmlsdGVyKGIsYS5kYXRhVHlwZSkpLGk9ZixmPWsuc2hpZnQoKSlpZihcIipcIj09PWYpZj1pO2Vsc2UgaWYoXCIqXCIhPT1pJiZpIT09Zil7aWYoZz1qW2krXCIgXCIrZl18fGpbXCIqIFwiK2ZdLCFnKWZvcihlIGluIGopaWYoaD1lLnNwbGl0KFwiIFwiKSxoWzFdPT09ZiYmKGc9altpK1wiIFwiK2hbMF1dfHxqW1wiKiBcIitoWzBdXSkpe2c9PT0hMD9nPWpbZV06altlXSE9PSEwJiYoZj1oWzBdLGsudW5zaGlmdChoWzFdKSk7YnJlYWt9aWYoZyE9PSEwKWlmKGcmJmFbXCJ0aHJvd3NcIl0pYj1nKGIpO2Vsc2UgdHJ5e2I9ZyhiKX1jYXRjaChsKXtyZXR1cm57c3RhdGU6XCJwYXJzZXJlcnJvclwiLGVycm9yOmc/bDpcIk5vIGNvbnZlcnNpb24gZnJvbSBcIitpK1wiIHRvIFwiK2Z9fX1yZXR1cm57c3RhdGU6XCJzdWNjZXNzXCIsZGF0YTpifX1uLmV4dGVuZCh7YWN0aXZlOjAsbGFzdE1vZGlmaWVkOnt9LGV0YWc6e30sYWpheFNldHRpbmdzOnt1cmw6amIuaHJlZix0eXBlOlwiR0VUXCIsaXNMb2NhbDpwYi50ZXN0KGpiLnByb3RvY29sKSxnbG9iYWw6ITAscHJvY2Vzc0RhdGE6ITAsYXN5bmM6ITAsY29udGVudFR5cGU6XCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9VVRGLThcIixhY2NlcHRzOntcIipcIjp1Yix0ZXh0OlwidGV4dC9wbGFpblwiLGh0bWw6XCJ0ZXh0L2h0bWxcIix4bWw6XCJhcHBsaWNhdGlvbi94bWwsIHRleHQveG1sXCIsanNvbjpcImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdFwifSxjb250ZW50czp7eG1sOi9cXGJ4bWxcXGIvLGh0bWw6L1xcYmh0bWwvLGpzb246L1xcYmpzb25cXGIvfSxyZXNwb25zZUZpZWxkczp7eG1sOlwicmVzcG9uc2VYTUxcIix0ZXh0OlwicmVzcG9uc2VUZXh0XCIsanNvbjpcInJlc3BvbnNlSlNPTlwifSxjb252ZXJ0ZXJzOntcIiogdGV4dFwiOlN0cmluZyxcInRleHQgaHRtbFwiOiEwLFwidGV4dCBqc29uXCI6bi5wYXJzZUpTT04sXCJ0ZXh0IHhtbFwiOm4ucGFyc2VYTUx9LGZsYXRPcHRpb25zOnt1cmw6ITAsY29udGV4dDohMH19LGFqYXhTZXR1cDpmdW5jdGlvbihhLGIpe3JldHVybiBiP3liKHliKGEsbi5hamF4U2V0dGluZ3MpLGIpOnliKG4uYWpheFNldHRpbmdzLGEpfSxhamF4UHJlZmlsdGVyOndiKHNiKSxhamF4VHJhbnNwb3J0OndiKHRiKSxhamF4OmZ1bmN0aW9uKGIsYyl7XCJvYmplY3RcIj09dHlwZW9mIGImJihjPWIsYj12b2lkIDApLGM9Y3x8e307dmFyIGUsZixnLGgsaSxqLGssbCxtPW4uYWpheFNldHVwKHt9LGMpLG89bS5jb250ZXh0fHxtLHA9bS5jb250ZXh0JiYoby5ub2RlVHlwZXx8by5qcXVlcnkpP24obyk6bi5ldmVudCxxPW4uRGVmZXJyZWQoKSxyPW4uQ2FsbGJhY2tzKFwib25jZSBtZW1vcnlcIikscz1tLnN0YXR1c0NvZGV8fHt9LHQ9e30sdT17fSx2PTAsdz1cImNhbmNlbGVkXCIseD17cmVhZHlTdGF0ZTowLGdldFJlc3BvbnNlSGVhZGVyOmZ1bmN0aW9uKGEpe3ZhciBiO2lmKDI9PT12KXtpZighaCl7aD17fTt3aGlsZShiPW9iLmV4ZWMoZykpaFtiWzFdLnRvTG93ZXJDYXNlKCldPWJbMl19Yj1oW2EudG9Mb3dlckNhc2UoKV19cmV0dXJuIG51bGw9PWI/bnVsbDpifSxnZXRBbGxSZXNwb25zZUhlYWRlcnM6ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXY/ZzpudWxsfSxzZXRSZXF1ZXN0SGVhZGVyOmZ1bmN0aW9uKGEsYil7dmFyIGM9YS50b0xvd2VyQ2FzZSgpO3JldHVybiB2fHwoYT11W2NdPXVbY118fGEsdFthXT1iKSx0aGlzfSxvdmVycmlkZU1pbWVUeXBlOmZ1bmN0aW9uKGEpe3JldHVybiB2fHwobS5taW1lVHlwZT1hKSx0aGlzfSxzdGF0dXNDb2RlOmZ1bmN0aW9uKGEpe3ZhciBiO2lmKGEpaWYoMj52KWZvcihiIGluIGEpc1tiXT1bc1tiXSxhW2JdXTtlbHNlIHguYWx3YXlzKGFbeC5zdGF0dXNdKTtyZXR1cm4gdGhpc30sYWJvcnQ6ZnVuY3Rpb24oYSl7dmFyIGI9YXx8dztyZXR1cm4gZSYmZS5hYm9ydChiKSx6KDAsYiksdGhpc319O2lmKHEucHJvbWlzZSh4KS5jb21wbGV0ZT1yLmFkZCx4LnN1Y2Nlc3M9eC5kb25lLHguZXJyb3I9eC5mYWlsLG0udXJsPSgoYnx8bS51cmx8fGpiLmhyZWYpK1wiXCIpLnJlcGxhY2UobWIsXCJcIikucmVwbGFjZShyYixqYi5wcm90b2NvbCtcIi8vXCIpLG0udHlwZT1jLm1ldGhvZHx8Yy50eXBlfHxtLm1ldGhvZHx8bS50eXBlLG0uZGF0YVR5cGVzPW4udHJpbShtLmRhdGFUeXBlfHxcIipcIikudG9Mb3dlckNhc2UoKS5tYXRjaChHKXx8W1wiXCJdLG51bGw9PW0uY3Jvc3NEb21haW4pe2o9ZC5jcmVhdGVFbGVtZW50KFwiYVwiKTt0cnl7ai5ocmVmPW0udXJsLGouaHJlZj1qLmhyZWYsbS5jcm9zc0RvbWFpbj12Yi5wcm90b2NvbCtcIi8vXCIrdmIuaG9zdCE9ai5wcm90b2NvbCtcIi8vXCIrai5ob3N0fWNhdGNoKHkpe20uY3Jvc3NEb21haW49ITB9fWlmKG0uZGF0YSYmbS5wcm9jZXNzRGF0YSYmXCJzdHJpbmdcIiE9dHlwZW9mIG0uZGF0YSYmKG0uZGF0YT1uLnBhcmFtKG0uZGF0YSxtLnRyYWRpdGlvbmFsKSkseGIoc2IsbSxjLHgpLDI9PT12KXJldHVybiB4O2s9bi5ldmVudCYmbS5nbG9iYWwsayYmMD09PW4uYWN0aXZlKysmJm4uZXZlbnQudHJpZ2dlcihcImFqYXhTdGFydFwiKSxtLnR5cGU9bS50eXBlLnRvVXBwZXJDYXNlKCksbS5oYXNDb250ZW50PSFxYi50ZXN0KG0udHlwZSksZj1tLnVybCxtLmhhc0NvbnRlbnR8fChtLmRhdGEmJihmPW0udXJsKz0obGIudGVzdChmKT9cIiZcIjpcIj9cIikrbS5kYXRhLGRlbGV0ZSBtLmRhdGEpLG0uY2FjaGU9PT0hMSYmKG0udXJsPW5iLnRlc3QoZik/Zi5yZXBsYWNlKG5iLFwiJDFfPVwiK2tiKyspOmYrKGxiLnRlc3QoZik/XCImXCI6XCI/XCIpK1wiXz1cIitrYisrKSksbS5pZk1vZGlmaWVkJiYobi5sYXN0TW9kaWZpZWRbZl0mJnguc2V0UmVxdWVzdEhlYWRlcihcIklmLU1vZGlmaWVkLVNpbmNlXCIsbi5sYXN0TW9kaWZpZWRbZl0pLG4uZXRhZ1tmXSYmeC5zZXRSZXF1ZXN0SGVhZGVyKFwiSWYtTm9uZS1NYXRjaFwiLG4uZXRhZ1tmXSkpLChtLmRhdGEmJm0uaGFzQ29udGVudCYmbS5jb250ZW50VHlwZSE9PSExfHxjLmNvbnRlbnRUeXBlKSYmeC5zZXRSZXF1ZXN0SGVhZGVyKFwiQ29udGVudC1UeXBlXCIsbS5jb250ZW50VHlwZSkseC5zZXRSZXF1ZXN0SGVhZGVyKFwiQWNjZXB0XCIsbS5kYXRhVHlwZXNbMF0mJm0uYWNjZXB0c1ttLmRhdGFUeXBlc1swXV0/bS5hY2NlcHRzW20uZGF0YVR5cGVzWzBdXSsoXCIqXCIhPT1tLmRhdGFUeXBlc1swXT9cIiwgXCIrdWIrXCI7IHE9MC4wMVwiOlwiXCIpOm0uYWNjZXB0c1tcIipcIl0pO2ZvcihsIGluIG0uaGVhZGVycyl4LnNldFJlcXVlc3RIZWFkZXIobCxtLmhlYWRlcnNbbF0pO2lmKG0uYmVmb3JlU2VuZCYmKG0uYmVmb3JlU2VuZC5jYWxsKG8seCxtKT09PSExfHwyPT09dikpcmV0dXJuIHguYWJvcnQoKTt3PVwiYWJvcnRcIjtmb3IobCBpbntzdWNjZXNzOjEsZXJyb3I6MSxjb21wbGV0ZToxfSl4W2xdKG1bbF0pO2lmKGU9eGIodGIsbSxjLHgpKXtpZih4LnJlYWR5U3RhdGU9MSxrJiZwLnRyaWdnZXIoXCJhamF4U2VuZFwiLFt4LG1dKSwyPT09dilyZXR1cm4geDttLmFzeW5jJiZtLnRpbWVvdXQ+MCYmKGk9YS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7eC5hYm9ydChcInRpbWVvdXRcIil9LG0udGltZW91dCkpO3RyeXt2PTEsZS5zZW5kKHQseil9Y2F0Y2goeSl7aWYoISgyPnYpKXRocm93IHk7eigtMSx5KX19ZWxzZSB6KC0xLFwiTm8gVHJhbnNwb3J0XCIpO2Z1bmN0aW9uIHooYixjLGQsaCl7dmFyIGosbCx0LHUsdyx5PWM7MiE9PXYmJih2PTIsaSYmYS5jbGVhclRpbWVvdXQoaSksZT12b2lkIDAsZz1ofHxcIlwiLHgucmVhZHlTdGF0ZT1iPjA/NDowLGo9Yj49MjAwJiYzMDA+Ynx8MzA0PT09YixkJiYodT16YihtLHgsZCkpLHU9QWIobSx1LHgsaiksaj8obS5pZk1vZGlmaWVkJiYodz14LmdldFJlc3BvbnNlSGVhZGVyKFwiTGFzdC1Nb2RpZmllZFwiKSx3JiYobi5sYXN0TW9kaWZpZWRbZl09dyksdz14LmdldFJlc3BvbnNlSGVhZGVyKFwiZXRhZ1wiKSx3JiYobi5ldGFnW2ZdPXcpKSwyMDQ9PT1ifHxcIkhFQURcIj09PW0udHlwZT95PVwibm9jb250ZW50XCI6MzA0PT09Yj95PVwibm90bW9kaWZpZWRcIjooeT11LnN0YXRlLGw9dS5kYXRhLHQ9dS5lcnJvcixqPSF0KSk6KHQ9eSwhYiYmeXx8KHk9XCJlcnJvclwiLDA+YiYmKGI9MCkpKSx4LnN0YXR1cz1iLHguc3RhdHVzVGV4dD0oY3x8eSkrXCJcIixqP3EucmVzb2x2ZVdpdGgobyxbbCx5LHhdKTpxLnJlamVjdFdpdGgobyxbeCx5LHRdKSx4LnN0YXR1c0NvZGUocykscz12b2lkIDAsayYmcC50cmlnZ2VyKGo/XCJhamF4U3VjY2Vzc1wiOlwiYWpheEVycm9yXCIsW3gsbSxqP2w6dF0pLHIuZmlyZVdpdGgobyxbeCx5XSksayYmKHAudHJpZ2dlcihcImFqYXhDb21wbGV0ZVwiLFt4LG1dKSwtLW4uYWN0aXZlfHxuLmV2ZW50LnRyaWdnZXIoXCJhamF4U3RvcFwiKSkpfXJldHVybiB4fSxnZXRKU09OOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbi5nZXQoYSxiLGMsXCJqc29uXCIpfSxnZXRTY3JpcHQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbi5nZXQoYSx2b2lkIDAsYixcInNjcmlwdFwiKX19KSxuLmVhY2goW1wiZ2V0XCIsXCJwb3N0XCJdLGZ1bmN0aW9uKGEsYil7bltiXT1mdW5jdGlvbihhLGMsZCxlKXtyZXR1cm4gbi5pc0Z1bmN0aW9uKGMpJiYoZT1lfHxkLGQ9YyxjPXZvaWQgMCksbi5hamF4KG4uZXh0ZW5kKHt1cmw6YSx0eXBlOmIsZGF0YVR5cGU6ZSxkYXRhOmMsc3VjY2VzczpkfSxuLmlzUGxhaW5PYmplY3QoYSkmJmEpKX19KSxuLl9ldmFsVXJsPWZ1bmN0aW9uKGEpe3JldHVybiBuLmFqYXgoe3VybDphLHR5cGU6XCJHRVRcIixkYXRhVHlwZTpcInNjcmlwdFwiLGFzeW5jOiExLGdsb2JhbDohMSxcInRocm93c1wiOiEwfSl9LG4uZm4uZXh0ZW5kKHt3cmFwQWxsOmZ1bmN0aW9uKGEpe3ZhciBiO3JldHVybiBuLmlzRnVuY3Rpb24oYSk/dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe24odGhpcykud3JhcEFsbChhLmNhbGwodGhpcyxiKSl9KToodGhpc1swXSYmKGI9bihhLHRoaXNbMF0ub3duZXJEb2N1bWVudCkuZXEoMCkuY2xvbmUoITApLHRoaXNbMF0ucGFyZW50Tm9kZSYmYi5pbnNlcnRCZWZvcmUodGhpc1swXSksYi5tYXAoZnVuY3Rpb24oKXt2YXIgYT10aGlzO3doaWxlKGEuZmlyc3RFbGVtZW50Q2hpbGQpYT1hLmZpcnN0RWxlbWVudENoaWxkO3JldHVybiBhfSkuYXBwZW5kKHRoaXMpKSx0aGlzKX0sd3JhcElubmVyOmZ1bmN0aW9uKGEpe3JldHVybiBuLmlzRnVuY3Rpb24oYSk/dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe24odGhpcykud3JhcElubmVyKGEuY2FsbCh0aGlzLGIpKX0pOnRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPW4odGhpcyksYz1iLmNvbnRlbnRzKCk7Yy5sZW5ndGg/Yy53cmFwQWxsKGEpOmIuYXBwZW5kKGEpfSl9LHdyYXA6ZnVuY3Rpb24oYSl7dmFyIGI9bi5pc0Z1bmN0aW9uKGEpO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYyl7bih0aGlzKS53cmFwQWxsKGI/YS5jYWxsKHRoaXMsYyk6YSl9KX0sdW53cmFwOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50KCkuZWFjaChmdW5jdGlvbigpe24ubm9kZU5hbWUodGhpcyxcImJvZHlcIil8fG4odGhpcykucmVwbGFjZVdpdGgodGhpcy5jaGlsZE5vZGVzKX0pLmVuZCgpfX0pLG4uZXhwci5maWx0ZXJzLmhpZGRlbj1mdW5jdGlvbihhKXtyZXR1cm4hbi5leHByLmZpbHRlcnMudmlzaWJsZShhKX0sbi5leHByLmZpbHRlcnMudmlzaWJsZT1mdW5jdGlvbihhKXtyZXR1cm4gYS5vZmZzZXRXaWR0aD4wfHxhLm9mZnNldEhlaWdodD4wfHxhLmdldENsaWVudFJlY3RzKCkubGVuZ3RoPjB9O3ZhciBCYj0vJTIwL2csQ2I9L1xcW1xcXSQvLERiPS9cXHI/XFxuL2csRWI9L14oPzpzdWJtaXR8YnV0dG9ufGltYWdlfHJlc2V0fGZpbGUpJC9pLEZiPS9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGtleWdlbikvaTtmdW5jdGlvbiBHYihhLGIsYyxkKXt2YXIgZTtpZihuLmlzQXJyYXkoYikpbi5lYWNoKGIsZnVuY3Rpb24oYixlKXtjfHxDYi50ZXN0KGEpP2QoYSxlKTpHYihhK1wiW1wiKyhcIm9iamVjdFwiPT10eXBlb2YgZSYmbnVsbCE9ZT9iOlwiXCIpK1wiXVwiLGUsYyxkKX0pO2Vsc2UgaWYoY3x8XCJvYmplY3RcIiE9PW4udHlwZShiKSlkKGEsYik7ZWxzZSBmb3IoZSBpbiBiKUdiKGErXCJbXCIrZStcIl1cIixiW2VdLGMsZCl9bi5wYXJhbT1mdW5jdGlvbihhLGIpe3ZhciBjLGQ9W10sZT1mdW5jdGlvbihhLGIpe2I9bi5pc0Z1bmN0aW9uKGIpP2IoKTpudWxsPT1iP1wiXCI6YixkW2QubGVuZ3RoXT1lbmNvZGVVUklDb21wb25lbnQoYSkrXCI9XCIrZW5jb2RlVVJJQ29tcG9uZW50KGIpfTtpZih2b2lkIDA9PT1iJiYoYj1uLmFqYXhTZXR0aW5ncyYmbi5hamF4U2V0dGluZ3MudHJhZGl0aW9uYWwpLG4uaXNBcnJheShhKXx8YS5qcXVlcnkmJiFuLmlzUGxhaW5PYmplY3QoYSkpbi5lYWNoKGEsZnVuY3Rpb24oKXtlKHRoaXMubmFtZSx0aGlzLnZhbHVlKX0pO2Vsc2UgZm9yKGMgaW4gYSlHYihjLGFbY10sYixlKTtyZXR1cm4gZC5qb2luKFwiJlwiKS5yZXBsYWNlKEJiLFwiK1wiKX0sbi5mbi5leHRlbmQoe3NlcmlhbGl6ZTpmdW5jdGlvbigpe3JldHVybiBuLnBhcmFtKHRoaXMuc2VyaWFsaXplQXJyYXkoKSl9LHNlcmlhbGl6ZUFycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7dmFyIGE9bi5wcm9wKHRoaXMsXCJlbGVtZW50c1wiKTtyZXR1cm4gYT9uLm1ha2VBcnJheShhKTp0aGlzfSkuZmlsdGVyKGZ1bmN0aW9uKCl7dmFyIGE9dGhpcy50eXBlO3JldHVybiB0aGlzLm5hbWUmJiFuKHRoaXMpLmlzKFwiOmRpc2FibGVkXCIpJiZGYi50ZXN0KHRoaXMubm9kZU5hbWUpJiYhRWIudGVzdChhKSYmKHRoaXMuY2hlY2tlZHx8IVgudGVzdChhKSl9KS5tYXAoZnVuY3Rpb24oYSxiKXt2YXIgYz1uKHRoaXMpLnZhbCgpO3JldHVybiBudWxsPT1jP251bGw6bi5pc0FycmF5KGMpP24ubWFwKGMsZnVuY3Rpb24oYSl7cmV0dXJue25hbWU6Yi5uYW1lLHZhbHVlOmEucmVwbGFjZShEYixcIlxcclxcblwiKX19KTp7bmFtZTpiLm5hbWUsdmFsdWU6Yy5yZXBsYWNlKERiLFwiXFxyXFxuXCIpfX0pLmdldCgpfX0pLG4uYWpheFNldHRpbmdzLnhocj1mdW5jdGlvbigpe3RyeXtyZXR1cm4gbmV3IGEuWE1MSHR0cFJlcXVlc3R9Y2F0Y2goYil7fX07dmFyIEhiPXswOjIwMCwxMjIzOjIwNH0sSWI9bi5hamF4U2V0dGluZ3MueGhyKCk7bC5jb3JzPSEhSWImJlwid2l0aENyZWRlbnRpYWxzXCJpbiBJYixsLmFqYXg9SWI9ISFJYixuLmFqYXhUcmFuc3BvcnQoZnVuY3Rpb24oYil7dmFyIGMsZDtyZXR1cm4gbC5jb3JzfHxJYiYmIWIuY3Jvc3NEb21haW4/e3NlbmQ6ZnVuY3Rpb24oZSxmKXt2YXIgZyxoPWIueGhyKCk7aWYoaC5vcGVuKGIudHlwZSxiLnVybCxiLmFzeW5jLGIudXNlcm5hbWUsYi5wYXNzd29yZCksYi54aHJGaWVsZHMpZm9yKGcgaW4gYi54aHJGaWVsZHMpaFtnXT1iLnhockZpZWxkc1tnXTtiLm1pbWVUeXBlJiZoLm92ZXJyaWRlTWltZVR5cGUmJmgub3ZlcnJpZGVNaW1lVHlwZShiLm1pbWVUeXBlKSxiLmNyb3NzRG9tYWlufHxlW1wiWC1SZXF1ZXN0ZWQtV2l0aFwiXXx8KGVbXCJYLVJlcXVlc3RlZC1XaXRoXCJdPVwiWE1MSHR0cFJlcXVlc3RcIik7Zm9yKGcgaW4gZSloLnNldFJlcXVlc3RIZWFkZXIoZyxlW2ddKTtjPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbigpe2MmJihjPWQ9aC5vbmxvYWQ9aC5vbmVycm9yPWgub25hYm9ydD1oLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLFwiYWJvcnRcIj09PWE/aC5hYm9ydCgpOlwiZXJyb3JcIj09PWE/XCJudW1iZXJcIiE9dHlwZW9mIGguc3RhdHVzP2YoMCxcImVycm9yXCIpOmYoaC5zdGF0dXMsaC5zdGF0dXNUZXh0KTpmKEhiW2guc3RhdHVzXXx8aC5zdGF0dXMsaC5zdGF0dXNUZXh0LFwidGV4dFwiIT09KGgucmVzcG9uc2VUeXBlfHxcInRleHRcIil8fFwic3RyaW5nXCIhPXR5cGVvZiBoLnJlc3BvbnNlVGV4dD97YmluYXJ5OmgucmVzcG9uc2V9Ont0ZXh0OmgucmVzcG9uc2VUZXh0fSxoLmdldEFsbFJlc3BvbnNlSGVhZGVycygpKSl9fSxoLm9ubG9hZD1jKCksZD1oLm9uZXJyb3I9YyhcImVycm9yXCIpLHZvaWQgMCE9PWgub25hYm9ydD9oLm9uYWJvcnQ9ZDpoLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpezQ9PT1oLnJlYWR5U3RhdGUmJmEuc2V0VGltZW91dChmdW5jdGlvbigpe2MmJmQoKX0pfSxjPWMoXCJhYm9ydFwiKTt0cnl7aC5zZW5kKGIuaGFzQ29udGVudCYmYi5kYXRhfHxudWxsKX1jYXRjaChpKXtpZihjKXRocm93IGl9fSxhYm9ydDpmdW5jdGlvbigpe2MmJmMoKX19OnZvaWQgMH0pLG4uYWpheFNldHVwKHthY2NlcHRzOntzY3JpcHQ6XCJ0ZXh0L2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2VjbWFzY3JpcHQsIGFwcGxpY2F0aW9uL3gtZWNtYXNjcmlwdFwifSxjb250ZW50czp7c2NyaXB0Oi9cXGIoPzpqYXZhfGVjbWEpc2NyaXB0XFxiL30sY29udmVydGVyczp7XCJ0ZXh0IHNjcmlwdFwiOmZ1bmN0aW9uKGEpe3JldHVybiBuLmdsb2JhbEV2YWwoYSksYX19fSksbi5hamF4UHJlZmlsdGVyKFwic2NyaXB0XCIsZnVuY3Rpb24oYSl7dm9pZCAwPT09YS5jYWNoZSYmKGEuY2FjaGU9ITEpLGEuY3Jvc3NEb21haW4mJihhLnR5cGU9XCJHRVRcIil9KSxuLmFqYXhUcmFuc3BvcnQoXCJzY3JpcHRcIixmdW5jdGlvbihhKXtpZihhLmNyb3NzRG9tYWluKXt2YXIgYixjO3JldHVybntzZW5kOmZ1bmN0aW9uKGUsZil7Yj1uKFwiPHNjcmlwdD5cIikucHJvcCh7Y2hhcnNldDphLnNjcmlwdENoYXJzZXQsc3JjOmEudXJsfSkub24oXCJsb2FkIGVycm9yXCIsYz1mdW5jdGlvbihhKXtiLnJlbW92ZSgpLGM9bnVsbCxhJiZmKFwiZXJyb3JcIj09PWEudHlwZT80MDQ6MjAwLGEudHlwZSl9KSxkLmhlYWQuYXBwZW5kQ2hpbGQoYlswXSl9LGFib3J0OmZ1bmN0aW9uKCl7YyYmYygpfX19fSk7dmFyIEpiPVtdLEtiPS8oPSlcXD8oPz0mfCQpfFxcP1xcPy87bi5hamF4U2V0dXAoe2pzb25wOlwiY2FsbGJhY2tcIixqc29ucENhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGE9SmIucG9wKCl8fG4uZXhwYW5kbytcIl9cIitrYisrO3JldHVybiB0aGlzW2FdPSEwLGF9fSksbi5hamF4UHJlZmlsdGVyKFwianNvbiBqc29ucFwiLGZ1bmN0aW9uKGIsYyxkKXt2YXIgZSxmLGcsaD1iLmpzb25wIT09ITEmJihLYi50ZXN0KGIudXJsKT9cInVybFwiOlwic3RyaW5nXCI9PXR5cGVvZiBiLmRhdGEmJjA9PT0oYi5jb250ZW50VHlwZXx8XCJcIikuaW5kZXhPZihcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiKSYmS2IudGVzdChiLmRhdGEpJiZcImRhdGFcIik7cmV0dXJuIGh8fFwianNvbnBcIj09PWIuZGF0YVR5cGVzWzBdPyhlPWIuanNvbnBDYWxsYmFjaz1uLmlzRnVuY3Rpb24oYi5qc29ucENhbGxiYWNrKT9iLmpzb25wQ2FsbGJhY2soKTpiLmpzb25wQ2FsbGJhY2ssaD9iW2hdPWJbaF0ucmVwbGFjZShLYixcIiQxXCIrZSk6Yi5qc29ucCE9PSExJiYoYi51cmwrPShsYi50ZXN0KGIudXJsKT9cIiZcIjpcIj9cIikrYi5qc29ucCtcIj1cIitlKSxiLmNvbnZlcnRlcnNbXCJzY3JpcHQganNvblwiXT1mdW5jdGlvbigpe3JldHVybiBnfHxuLmVycm9yKGUrXCIgd2FzIG5vdCBjYWxsZWRcIiksZ1swXX0sYi5kYXRhVHlwZXNbMF09XCJqc29uXCIsZj1hW2VdLGFbZV09ZnVuY3Rpb24oKXtnPWFyZ3VtZW50c30sZC5hbHdheXMoZnVuY3Rpb24oKXt2b2lkIDA9PT1mP24oYSkucmVtb3ZlUHJvcChlKTphW2VdPWYsYltlXSYmKGIuanNvbnBDYWxsYmFjaz1jLmpzb25wQ2FsbGJhY2ssSmIucHVzaChlKSksZyYmbi5pc0Z1bmN0aW9uKGYpJiZmKGdbMF0pLGc9Zj12b2lkIDB9KSxcInNjcmlwdFwiKTp2b2lkIDB9KSxuLnBhcnNlSFRNTD1mdW5jdGlvbihhLGIsYyl7aWYoIWF8fFwic3RyaW5nXCIhPXR5cGVvZiBhKXJldHVybiBudWxsO1wiYm9vbGVhblwiPT10eXBlb2YgYiYmKGM9YixiPSExKSxiPWJ8fGQ7dmFyIGU9eC5leGVjKGEpLGY9IWMmJltdO3JldHVybiBlP1tiLmNyZWF0ZUVsZW1lbnQoZVsxXSldOihlPWNhKFthXSxiLGYpLGYmJmYubGVuZ3RoJiZuKGYpLnJlbW92ZSgpLG4ubWVyZ2UoW10sZS5jaGlsZE5vZGVzKSl9O3ZhciBMYj1uLmZuLmxvYWQ7bi5mbi5sb2FkPWZ1bmN0aW9uKGEsYixjKXtpZihcInN0cmluZ1wiIT10eXBlb2YgYSYmTGIpcmV0dXJuIExiLmFwcGx5KHRoaXMsYXJndW1lbnRzKTt2YXIgZCxlLGYsZz10aGlzLGg9YS5pbmRleE9mKFwiIFwiKTtyZXR1cm4gaD4tMSYmKGQ9bi50cmltKGEuc2xpY2UoaCkpLGE9YS5zbGljZSgwLGgpKSxuLmlzRnVuY3Rpb24oYik/KGM9YixiPXZvaWQgMCk6YiYmXCJvYmplY3RcIj09dHlwZW9mIGImJihlPVwiUE9TVFwiKSxnLmxlbmd0aD4wJiZuLmFqYXgoe3VybDphLHR5cGU6ZXx8XCJHRVRcIixkYXRhVHlwZTpcImh0bWxcIixkYXRhOmJ9KS5kb25lKGZ1bmN0aW9uKGEpe2Y9YXJndW1lbnRzLGcuaHRtbChkP24oXCI8ZGl2PlwiKS5hcHBlbmQobi5wYXJzZUhUTUwoYSkpLmZpbmQoZCk6YSl9KS5hbHdheXMoYyYmZnVuY3Rpb24oYSxiKXtnLmVhY2goZnVuY3Rpb24oKXtjLmFwcGx5KHRoaXMsZnx8W2EucmVzcG9uc2VUZXh0LGIsYV0pfSl9KSx0aGlzfSxuLmVhY2goW1wiYWpheFN0YXJ0XCIsXCJhamF4U3RvcFwiLFwiYWpheENvbXBsZXRlXCIsXCJhamF4RXJyb3JcIixcImFqYXhTdWNjZXNzXCIsXCJhamF4U2VuZFwiXSxmdW5jdGlvbihhLGIpe24uZm5bYl09ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMub24oYixhKX19KSxuLmV4cHIuZmlsdGVycy5hbmltYXRlZD1mdW5jdGlvbihhKXtyZXR1cm4gbi5ncmVwKG4udGltZXJzLGZ1bmN0aW9uKGIpe3JldHVybiBhPT09Yi5lbGVtfSkubGVuZ3RofTtmdW5jdGlvbiBNYihhKXtyZXR1cm4gbi5pc1dpbmRvdyhhKT9hOjk9PT1hLm5vZGVUeXBlJiZhLmRlZmF1bHRWaWV3fW4ub2Zmc2V0PXtzZXRPZmZzZXQ6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnLGgsaSxqLGs9bi5jc3MoYSxcInBvc2l0aW9uXCIpLGw9bihhKSxtPXt9O1wic3RhdGljXCI9PT1rJiYoYS5zdHlsZS5wb3NpdGlvbj1cInJlbGF0aXZlXCIpLGg9bC5vZmZzZXQoKSxmPW4uY3NzKGEsXCJ0b3BcIiksaT1uLmNzcyhhLFwibGVmdFwiKSxqPShcImFic29sdXRlXCI9PT1rfHxcImZpeGVkXCI9PT1rKSYmKGYraSkuaW5kZXhPZihcImF1dG9cIik+LTEsaj8oZD1sLnBvc2l0aW9uKCksZz1kLnRvcCxlPWQubGVmdCk6KGc9cGFyc2VGbG9hdChmKXx8MCxlPXBhcnNlRmxvYXQoaSl8fDApLG4uaXNGdW5jdGlvbihiKSYmKGI9Yi5jYWxsKGEsYyxuLmV4dGVuZCh7fSxoKSkpLG51bGwhPWIudG9wJiYobS50b3A9Yi50b3AtaC50b3ArZyksbnVsbCE9Yi5sZWZ0JiYobS5sZWZ0PWIubGVmdC1oLmxlZnQrZSksXCJ1c2luZ1wiaW4gYj9iLnVzaW5nLmNhbGwoYSxtKTpsLmNzcyhtKX19LG4uZm4uZXh0ZW5kKHtvZmZzZXQ6ZnVuY3Rpb24oYSl7aWYoYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdm9pZCAwPT09YT90aGlzOnRoaXMuZWFjaChmdW5jdGlvbihiKXtuLm9mZnNldC5zZXRPZmZzZXQodGhpcyxhLGIpfSk7dmFyIGIsYyxkPXRoaXNbMF0sZT17dG9wOjAsbGVmdDowfSxmPWQmJmQub3duZXJEb2N1bWVudDtpZihmKXJldHVybiBiPWYuZG9jdW1lbnRFbGVtZW50LG4uY29udGFpbnMoYixkKT8oZT1kLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGM9TWIoZikse3RvcDplLnRvcCtjLnBhZ2VZT2Zmc2V0LWIuY2xpZW50VG9wLGxlZnQ6ZS5sZWZ0K2MucGFnZVhPZmZzZXQtYi5jbGllbnRMZWZ0fSk6ZX0scG9zaXRpb246ZnVuY3Rpb24oKXtpZih0aGlzWzBdKXt2YXIgYSxiLGM9dGhpc1swXSxkPXt0b3A6MCxsZWZ0OjB9O3JldHVyblwiZml4ZWRcIj09PW4uY3NzKGMsXCJwb3NpdGlvblwiKT9iPWMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6KGE9dGhpcy5vZmZzZXRQYXJlbnQoKSxiPXRoaXMub2Zmc2V0KCksbi5ub2RlTmFtZShhWzBdLFwiaHRtbFwiKXx8KGQ9YS5vZmZzZXQoKSksZC50b3ArPW4uY3NzKGFbMF0sXCJib3JkZXJUb3BXaWR0aFwiLCEwKSxkLmxlZnQrPW4uY3NzKGFbMF0sXCJib3JkZXJMZWZ0V2lkdGhcIiwhMCkpLHt0b3A6Yi50b3AtZC50b3Atbi5jc3MoYyxcIm1hcmdpblRvcFwiLCEwKSxsZWZ0OmIubGVmdC1kLmxlZnQtbi5jc3MoYyxcIm1hcmdpbkxlZnRcIiwhMCl9fX0sb2Zmc2V0UGFyZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vZmZzZXRQYXJlbnQ7d2hpbGUoYSYmXCJzdGF0aWNcIj09PW4uY3NzKGEsXCJwb3NpdGlvblwiKSlhPWEub2Zmc2V0UGFyZW50O3JldHVybiBhfHxFYX0pfX0pLG4uZWFjaCh7c2Nyb2xsTGVmdDpcInBhZ2VYT2Zmc2V0XCIsc2Nyb2xsVG9wOlwicGFnZVlPZmZzZXRcIn0sZnVuY3Rpb24oYSxiKXt2YXIgYz1cInBhZ2VZT2Zmc2V0XCI9PT1iO24uZm5bYV09ZnVuY3Rpb24oZCl7cmV0dXJuIEsodGhpcyxmdW5jdGlvbihhLGQsZSl7dmFyIGY9TWIoYSk7cmV0dXJuIHZvaWQgMD09PWU/Zj9mW2JdOmFbZF06dm9pZChmP2Yuc2Nyb2xsVG8oYz9mLnBhZ2VYT2Zmc2V0OmUsYz9lOmYucGFnZVlPZmZzZXQpOmFbZF09ZSl9LGEsZCxhcmd1bWVudHMubGVuZ3RoKX19KSxuLmVhY2goW1widG9wXCIsXCJsZWZ0XCJdLGZ1bmN0aW9uKGEsYil7bi5jc3NIb29rc1tiXT1HYShsLnBpeGVsUG9zaXRpb24sZnVuY3Rpb24oYSxjKXtyZXR1cm4gYz8oYz1GYShhLGIpLEJhLnRlc3QoYyk/bihhKS5wb3NpdGlvbigpW2JdK1wicHhcIjpjKTp2b2lkIDB9KX0pLG4uZWFjaCh7SGVpZ2h0OlwiaGVpZ2h0XCIsV2lkdGg6XCJ3aWR0aFwifSxmdW5jdGlvbihhLGIpe24uZWFjaCh7cGFkZGluZzpcImlubmVyXCIrYSxjb250ZW50OmIsXCJcIjpcIm91dGVyXCIrYX0sZnVuY3Rpb24oYyxkKXtuLmZuW2RdPWZ1bmN0aW9uKGQsZSl7dmFyIGY9YXJndW1lbnRzLmxlbmd0aCYmKGN8fFwiYm9vbGVhblwiIT10eXBlb2YgZCksZz1jfHwoZD09PSEwfHxlPT09ITA/XCJtYXJnaW5cIjpcImJvcmRlclwiKTtyZXR1cm4gSyh0aGlzLGZ1bmN0aW9uKGIsYyxkKXt2YXIgZTtyZXR1cm4gbi5pc1dpbmRvdyhiKT9iLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtcImNsaWVudFwiK2FdOjk9PT1iLm5vZGVUeXBlPyhlPWIuZG9jdW1lbnRFbGVtZW50LE1hdGgubWF4KGIuYm9keVtcInNjcm9sbFwiK2FdLGVbXCJzY3JvbGxcIithXSxiLmJvZHlbXCJvZmZzZXRcIithXSxlW1wib2Zmc2V0XCIrYV0sZVtcImNsaWVudFwiK2FdKSk6dm9pZCAwPT09ZD9uLmNzcyhiLGMsZyk6bi5zdHlsZShiLGMsZCxnKX0sYixmP2Q6dm9pZCAwLGYsbnVsbCl9fSl9KSxuLmZuLmV4dGVuZCh7YmluZDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHRoaXMub24oYSxudWxsLGIsYyl9LHVuYmluZDpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm9mZihhLG51bGwsYil9LGRlbGVnYXRlOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLm9uKGIsYSxjLGQpfSx1bmRlbGVnYXRlOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5vZmYoYSxcIioqXCIpOnRoaXMub2ZmKGIsYXx8XCIqKlwiLGMpfSxzaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGVuZ3RofX0pLG4uZm4uYW5kU2VsZj1uLmZuLmFkZEJhY2ssXCJmdW5jdGlvblwiPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kJiZkZWZpbmUoXCJqcXVlcnlcIixbXSxmdW5jdGlvbigpe3JldHVybiBufSk7dmFyIE5iPWEualF1ZXJ5LE9iPWEuJDtyZXR1cm4gbi5ub0NvbmZsaWN0PWZ1bmN0aW9uKGIpe3JldHVybiBhLiQ9PT1uJiYoYS4kPU9iKSxiJiZhLmpRdWVyeT09PW4mJihhLmpRdWVyeT1OYiksbn0sYnx8KGEualF1ZXJ5PWEuJD1uKSxufSk7XG4ifSwgImhlYWRlcnNTaXplIjogMCwgImJvZHlTaXplIjogMzA2NjAsICJyZWRpcmVjdFVSTCI6ICIiLCAiX3RyYW5zZmVyU2l6ZSI6IDMwNjYwfSwgImNhY2hlIjoge30sICJ0aW1pbmdzIjogeyJkbnMiOiAwLjAwNiwgImNvbm5lY3QiOiA0NC4xNjcsICJzc2wiOiAyNy41MzYsICJzZW5kIjogMCwgIndhaXQiOiAxMy44MjYsICJyZWNlaXZlIjogNy41NDF9LCAicGFnZXJlZiI6ICJwYWdlQDJlN2FjZTk1NWE2NzczZWNmZDJlOThlZjJmZGNiNzA0IiwgInNlcnZlcklQQWRkcmVzcyI6ICJbMmEwMDoxNDUwOjQwMDE6ODMwOjoyMDBhXSIsICJfc2VydmVyUG9ydCI6IDQ0MywgIl9zZWN1cml0eURldGFpbHMiOiB7InByb3RvY29sIjogIlRMUyAxLjMiLCAic3ViamVjdE5hbWUiOiAidXBsb2FkLnZpZGVvLmdvb2dsZS5jb20iLCAiaXNzdWVyIjogIldSMiIsICJ2YWxpZEZyb20iOiAxNzIyMzQzNzg1LCAidmFsaWRUbyI6IDE3Mjk2MDEzODR9fSwgeyJzdGFydGVkRGF0ZVRpbWUiOiAiMjAyNC0wOC0wMVQxMjozMzowMC42NDVaIiwgInRpbWUiOiA2OTAuMjQ2LCAicmVxdWVzdCI6IHsibWV0aG9kIjogIkdFVCIsICJ1cmwiOiAiaHR0cHM6Ly9zdGFja3BhdGguYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvNC4xLjMvanMvYm9vdHN0cmFwLm1pbi5qcyIsICJodHRwVmVyc2lvbiI6ICJIVFRQLzIuMCIsICJjb29raWVzIjogW10sICJoZWFkZXJzIjogW3sibmFtZSI6ICI6YXV0aG9yaXR5IiwgInZhbHVlIjogInN0YWNrcGF0aC5ib290c3RyYXBjZG4uY29tIn0sIHsibmFtZSI6ICI6bWV0aG9kIiwgInZhbHVlIjogIkdFVCJ9LCB7Im5hbWUiOiAiOnBhdGgiLCAidmFsdWUiOiAiL2Jvb3RzdHJhcC80LjEuMy9qcy9ib290c3RyYXAubWluLmpzIn0sIHsibmFtZSI6ICI6c2NoZW1lIiwgInZhbHVlIjogImh0dHBzIn0sIHsibmFtZSI6ICJhY2NlcHQiLCAidmFsdWUiOiAiKi8qIn0sIHsibmFtZSI6ICJhY2NlcHQtZW5jb2RpbmciLCAidmFsdWUiOiAiZ3ppcCwgZGVmbGF0ZSwgYnIsIHpzdGQifSwgeyJuYW1lIjogImFjY2VwdC1sYW5ndWFnZSIsICJ2YWx1ZSI6ICJlbi1VUyxlbjtxPTAuOSJ9LCB7Im5hbWUiOiAiaW50ZXJ2ZW50aW9uIiwgInZhbHVlIjogIjxodHRwczovL3d3dy5jaHJvbWVzdGF0dXMuY29tL2ZlYXR1cmUvNTcxODU0Nzk0Njc5OTEwND47IGxldmVsPVwid2FybmluZ1wiIn0sIHsibmFtZSI6ICJwcmlvcml0eSIsICJ2YWx1ZSI6ICJ1PTEifSwgeyJuYW1lIjogInJlZmVyZXIiLCAidmFsdWUiOiAiaHR0cHM6Ly9wdWItMmVhN2M2MzliNGExNGI5MmE1MGUzNDhmOTliMzMyOTMucjIuZGV2LyJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhIiwgInZhbHVlIjogIlwiQ2hyb21pdW1cIjt2PVwiMTI3XCIsIFwiTm90KUE7QnJhbmRcIjt2PVwiOTlcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLW1vYmlsZSIsICJ2YWx1ZSI6ICI/MCJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXBsYXRmb3JtIiwgInZhbHVlIjogIlwiV2luZG93c1wiIn0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtZGVzdCIsICJ2YWx1ZSI6ICJzY3JpcHQifSwgeyJuYW1lIjogInNlYy1mZXRjaC1tb2RlIiwgInZhbHVlIjogIm5vLWNvcnMifSwgeyJuYW1lIjogInNlYy1mZXRjaC1zaXRlIiwgInZhbHVlIjogImNyb3NzLXNpdGUifSwgeyJuYW1lIjogInVzZXItYWdlbnQiLCAidmFsdWUiOiAiTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEyNy4wLjY1MzMuMTcgU2FmYXJpLzUzNy4zNiJ9XSwgInF1ZXJ5U3RyaW5nIjogW10sICJoZWFkZXJzU2l6ZSI6IDczMiwgImJvZHlTaXplIjogMH0sICJyZXNwb25zZSI6IHsic3RhdHVzIjogMjAwLCAic3RhdHVzVGV4dCI6ICIiLCAiaHR0cFZlcnNpb24iOiAiSFRUUC8yLjAiLCAiY29va2llcyI6IFtdLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiYWNjZXNzLWNvbnRyb2wtYWxsb3ctb3JpZ2luIiwgInZhbHVlIjogIioifSwgeyJuYW1lIjogImFnZSIsICJ2YWx1ZSI6ICIxMjE1NzkxNCJ9LCB7Im5hbWUiOiAiYWx0LXN2YyIsICJ2YWx1ZSI6ICJoMz1cIjo0NDNcIjsgbWE9ODY0MDAifSwgeyJuYW1lIjogImNhY2hlLWNvbnRyb2wiLCAidmFsdWUiOiAicHVibGljLCBtYXgtYWdlPTMxOTE5MDAwIn0sIHsibmFtZSI6ICJjZG4tY2FjaGUiLCAidmFsdWUiOiAiSElUIn0sIHsibmFtZSI6ICJjZG4tY2FjaGVkYXQiLCAidmFsdWUiOiAiMTEvMTUvMjAyMSAyMzozMDowMCJ9LCB7Im5hbWUiOiAiY2RuLWVkZ2VzdG9yYWdlaWQiLCAidmFsdWUiOiAiNzIzIn0sIHsibmFtZSI6ICJjZG4tcHJveHl2ZXIiLCAidmFsdWUiOiAiMS4wIn0sIHsibmFtZSI6ICJjZG4tcHVsbHpvbmUiLCAidmFsdWUiOiAiMjUyNDEyIn0sIHsibmFtZSI6ICJjZG4tcmVxdWVzdGNvdW50cnljb2RlIiwgInZhbHVlIjogIkRFIn0sIHsibmFtZSI6ICJjZG4tcmVxdWVzdGlkIiwgInZhbHVlIjogImEzNWIwMTc5YTI4ZWQ5NTMyNThkMGZiNDEzNzZhMDljIn0sIHsibmFtZSI6ICJjZG4tcmVxdWVzdHB1bGxjb2RlIiwgInZhbHVlIjogIjIwMCJ9LCB7Im5hbWUiOiAiY2RuLXJlcXVlc3RwdWxsc3VjY2VzcyIsICJ2YWx1ZSI6ICJUcnVlIn0sIHsibmFtZSI6ICJjZG4tc3RhdHVzIiwgInZhbHVlIjogIjIwMCJ9LCB7Im5hbWUiOiAiY2RuLXVpZCIsICJ2YWx1ZSI6ICJiMTk0MWY2MS1iNTc2LTRmNDAtODBkZS01Njc3YWNiMzhmNzQifSwgeyJuYW1lIjogImNmLWNhY2hlLXN0YXR1cyIsICJ2YWx1ZSI6ICJISVQifSwgeyJuYW1lIjogImNmLXJheSIsICJ2YWx1ZSI6ICI4YWM1ZGFhZDVlZWIzNWViLUZSQSJ9LCB7Im5hbWUiOiAiY29udGVudC1lbmNvZGluZyIsICJ2YWx1ZSI6ICJnemlwIn0sIHsibmFtZSI6ICJjb250ZW50LXR5cGUiLCAidmFsdWUiOiAiYXBwbGljYXRpb24vamF2YXNjcmlwdDsgY2hhcnNldD11dGYtOCJ9LCB7Im5hbWUiOiAiY3Jvc3Mtb3JpZ2luLXJlc291cmNlLXBvbGljeSIsICJ2YWx1ZSI6ICJjcm9zcy1vcmlnaW4ifSwgeyJuYW1lIjogImRhdGUiLCAidmFsdWUiOiAiVGh1LCAwMSBBdWcgMjAyNCAxMjozMzowMSBHTVQifSwgeyJuYW1lIjogImxhc3QtbW9kaWZpZWQiLCAidmFsdWUiOiAiTW9uLCAyNSBKYW4gMjAyMSAyMjowNDowNiBHTVQifSwgeyJuYW1lIjogInNlcnZlciIsICJ2YWx1ZSI6ICJjbG91ZGZsYXJlIn0sIHsibmFtZSI6ICJzdHJpY3QtdHJhbnNwb3J0LXNlY3VyaXR5IiwgInZhbHVlIjogIm1heC1hZ2U9MzE1MzYwMDA7IGluY2x1ZGVTdWJEb21haW5zOyBwcmVsb2FkIn0sIHsibmFtZSI6ICJ0aW1pbmctYWxsb3ctb3JpZ2luIiwgInZhbHVlIjogIioifSwgeyJuYW1lIjogInZhcnkiLCAidmFsdWUiOiAiQWNjZXB0LUVuY29kaW5nIn0sIHsibmFtZSI6ICJ4LWNvbnRlbnQtdHlwZS1vcHRpb25zIiwgInZhbHVlIjogIm5vc25pZmYifV0sICJjb250ZW50IjogeyJzaXplIjogNTEwMzksICJtaW1lVHlwZSI6ICJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0OyBjaGFyc2V0PXV0Zi04IiwgImNvbXByZXNzaW9uIjogMzQxNzUsICJ0ZXh0IjogIi8qIVxuICAqIEJvb3RzdHJhcCB2NC4xLjMgKGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS8pXG4gICogQ29weXJpZ2h0IDIwMTEtMjAxOCBUaGUgQm9vdHN0cmFwIEF1dGhvcnMgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ncmFwaHMvY29udHJpYnV0b3JzKVxuICAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFzdGVyL0xJQ0VOU0UpXG4gICovXG4hZnVuY3Rpb24odCxlKXtcIm9iamVjdFwiPT10eXBlb2YgZXhwb3J0cyYmXCJ1bmRlZmluZWRcIiE9dHlwZW9mIG1vZHVsZT9lKGV4cG9ydHMscmVxdWlyZShcImpxdWVyeVwiKSxyZXF1aXJlKFwicG9wcGVyLmpzXCIpKTpcImZ1bmN0aW9uXCI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFtcImV4cG9ydHNcIixcImpxdWVyeVwiLFwicG9wcGVyLmpzXCJdLGUpOmUodC5ib290c3RyYXA9e30sdC5qUXVlcnksdC5Qb3BwZXIpfSh0aGlzLGZ1bmN0aW9uKHQsZSxoKXtcInVzZSBzdHJpY3RcIjtmdW5jdGlvbiBpKHQsZSl7Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspe3ZhciBpPWVbbl07aS5lbnVtZXJhYmxlPWkuZW51bWVyYWJsZXx8ITEsaS5jb25maWd1cmFibGU9ITAsXCJ2YWx1ZVwiaW4gaSYmKGkud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGkua2V5LGkpfX1mdW5jdGlvbiBzKHQsZSxuKXtyZXR1cm4gZSYmaSh0LnByb3RvdHlwZSxlKSxuJiZpKHQsbiksdH1mdW5jdGlvbiBsKHIpe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBvPW51bGwhPWFyZ3VtZW50c1t0XT9hcmd1bWVudHNbdF06e30sZT1PYmplY3Qua2V5cyhvKTtcImZ1bmN0aW9uXCI9PXR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzJiYoZT1lLmNvbmNhdChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKG8pLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLHQpLmVudW1lcmFibGV9KSkpLGUuZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZSxuLGk7ZT1yLGk9b1tuPXRdLG4gaW4gZT9PYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLHt2YWx1ZTppLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6ZVtuXT1pfSl9cmV0dXJuIHJ9ZT1lJiZlLmhhc093blByb3BlcnR5KFwiZGVmYXVsdFwiKT9lLmRlZmF1bHQ6ZSxoPWgmJmguaGFzT3duUHJvcGVydHkoXCJkZWZhdWx0XCIpP2guZGVmYXVsdDpoO3ZhciByLG4sbyxhLGMsdSxmLGQsZyxfLG0scCx2LHksRSxDLFQsYixTLEksQSxELHcsTixPLGssUCxqLEgsTCxSLHgsVyxVLHEsRixLLE0sUSxCLFYsWSx6LEosWixHLCQsWCx0dCxldCxudCxpdCxydCxvdCxzdCxhdCxsdCxjdCxodCx1dCxmdCxkdCxndCxfdCxtdCxwdCx2dCx5dCxFdCxDdCxUdCxidCxTdCxJdCxBdCxEdCx3dCxOdCxPdCxrdCxQdCxqdCxIdCxMdCxSdCx4dCxXdCxVdCxxdCxGdCxLdCxNdCxRdCxCdCxWdCxZdCx6dCxKdCxadCxHdCwkdCxYdCx0ZSxlZSxuZSxpZSxyZSxvZSxzZSxhZSxsZSxjZSxoZSx1ZSxmZSxkZSxnZSxfZSxtZSxwZSx2ZSx5ZSxFZSxDZSxUZSxiZSxTZSxJZSxBZSxEZSx3ZSxOZSxPZSxrZSxQZSxqZSxIZSxMZSxSZSx4ZSxXZSxVZSxxZSxGZSxLZSxNZSxRZSxCZSxWZSxZZSx6ZSxKZSxaZSxHZSwkZSxYZSx0bixlbixubixybixvbixzbixhbixsbixjbixobix1bixmbixkbixnbixfbixtbixwbix2bix5bixFbixDbixUbixibixTbixJbixBbixEbix3bixObixPbixrbixQbixqbixIbixMbixSbix4bixXbixVbixxbixGbj1mdW5jdGlvbihpKXt2YXIgZT1cInRyYW5zaXRpb25lbmRcIjtmdW5jdGlvbiB0KHQpe3ZhciBlPXRoaXMsbj0hMTtyZXR1cm4gaSh0aGlzKS5vbmUobC5UUkFOU0lUSU9OX0VORCxmdW5jdGlvbigpe249ITB9KSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bnx8bC50cmlnZ2VyVHJhbnNpdGlvbkVuZChlKX0sdCksdGhpc312YXIgbD17VFJBTlNJVElPTl9FTkQ6XCJic1RyYW5zaXRpb25FbmRcIixnZXRVSUQ6ZnVuY3Rpb24odCl7Zm9yKDt0Kz1+figxZTYqTWF0aC5yYW5kb20oKSksZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodCk7KTtyZXR1cm4gdH0sZ2V0U2VsZWN0b3JGcm9tRWxlbWVudDpmdW5jdGlvbih0KXt2YXIgZT10LmdldEF0dHJpYnV0ZShcImRhdGEtdGFyZ2V0XCIpO2UmJlwiI1wiIT09ZXx8KGU9dC5nZXRBdHRyaWJ1dGUoXCJocmVmXCIpfHxcIlwiKTt0cnl7cmV0dXJuIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoZSk/ZTpudWxsfWNhdGNoKHQpe3JldHVybiBudWxsfX0sZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQ6ZnVuY3Rpb24odCl7aWYoIXQpcmV0dXJuIDA7dmFyIGU9aSh0KS5jc3MoXCJ0cmFuc2l0aW9uLWR1cmF0aW9uXCIpO3JldHVybiBwYXJzZUZsb2F0KGUpPyhlPWUuc3BsaXQoXCIsXCIpWzBdLDFlMypwYXJzZUZsb2F0KGUpKTowfSxyZWZsb3c6ZnVuY3Rpb24odCl7cmV0dXJuIHQub2Zmc2V0SGVpZ2h0fSx0cmlnZ2VyVHJhbnNpdGlvbkVuZDpmdW5jdGlvbih0KXtpKHQpLnRyaWdnZXIoZSl9LHN1cHBvcnRzVHJhbnNpdGlvbkVuZDpmdW5jdGlvbigpe3JldHVybiBCb29sZWFuKGUpfSxpc0VsZW1lbnQ6ZnVuY3Rpb24odCl7cmV0dXJuKHRbMF18fHQpLm5vZGVUeXBlfSx0eXBlQ2hlY2tDb25maWc6ZnVuY3Rpb24odCxlLG4pe2Zvcih2YXIgaSBpbiBuKWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLGkpKXt2YXIgcj1uW2ldLG89ZVtpXSxzPW8mJmwuaXNFbGVtZW50KG8pP1wiZWxlbWVudFwiOihhPW8se30udG9TdHJpbmcuY2FsbChhKS5tYXRjaCgvXFxzKFthLXpdKykvaSlbMV0udG9Mb3dlckNhc2UoKSk7aWYoIW5ldyBSZWdFeHAocikudGVzdChzKSl0aHJvdyBuZXcgRXJyb3IodC50b1VwcGVyQ2FzZSgpKyc6IE9wdGlvbiBcIicraSsnXCIgcHJvdmlkZWQgdHlwZSBcIicrcysnXCIgYnV0IGV4cGVjdGVkIHR5cGUgXCInK3IrJ1wiLicpfXZhciBhfX07cmV0dXJuIGkuZm4uZW11bGF0ZVRyYW5zaXRpb25FbmQ9dCxpLmV2ZW50LnNwZWNpYWxbbC5UUkFOU0lUSU9OX0VORF09e2JpbmRUeXBlOmUsZGVsZWdhdGVUeXBlOmUsaGFuZGxlOmZ1bmN0aW9uKHQpe2lmKGkodC50YXJnZXQpLmlzKHRoaXMpKXJldHVybiB0LmhhbmRsZU9iai5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19LGx9KGUpLEtuPShuPVwiYWxlcnRcIixhPVwiLlwiKyhvPVwiYnMuYWxlcnRcIiksYz0ocj1lKS5mbltuXSx1PXtDTE9TRTpcImNsb3NlXCIrYSxDTE9TRUQ6XCJjbG9zZWRcIithLENMSUNLX0RBVEFfQVBJOlwiY2xpY2tcIithK1wiLmRhdGEtYXBpXCJ9LGY9XCJhbGVydFwiLGQ9XCJmYWRlXCIsZz1cInNob3dcIixfPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gaSh0KXt0aGlzLl9lbGVtZW50PXR9dmFyIHQ9aS5wcm90b3R5cGU7cmV0dXJuIHQuY2xvc2U9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fZWxlbWVudDt0JiYoZT10aGlzLl9nZXRSb290RWxlbWVudCh0KSksdGhpcy5fdHJpZ2dlckNsb3NlRXZlbnQoZSkuaXNEZWZhdWx0UHJldmVudGVkKCl8fHRoaXMuX3JlbW92ZUVsZW1lbnQoZSl9LHQuZGlzcG9zZT1mdW5jdGlvbigpe3IucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LG8pLHRoaXMuX2VsZW1lbnQ9bnVsbH0sdC5fZ2V0Um9vdEVsZW1lbnQ9ZnVuY3Rpb24odCl7dmFyIGU9Rm4uZ2V0U2VsZWN0b3JGcm9tRWxlbWVudCh0KSxuPSExO3JldHVybiBlJiYobj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGUpKSxufHwobj1yKHQpLmNsb3Nlc3QoXCIuXCIrZilbMF0pLG59LHQuX3RyaWdnZXJDbG9zZUV2ZW50PWZ1bmN0aW9uKHQpe3ZhciBlPXIuRXZlbnQodS5DTE9TRSk7cmV0dXJuIHIodCkudHJpZ2dlcihlKSxlfSx0Ll9yZW1vdmVFbGVtZW50PWZ1bmN0aW9uKGUpe3ZhciBuPXRoaXM7aWYocihlKS5yZW1vdmVDbGFzcyhnKSxyKGUpLmhhc0NsYXNzKGQpKXt2YXIgdD1Gbi5nZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudChlKTtyKGUpLm9uZShGbi5UUkFOU0lUSU9OX0VORCxmdW5jdGlvbih0KXtyZXR1cm4gbi5fZGVzdHJveUVsZW1lbnQoZSx0KX0pLmVtdWxhdGVUcmFuc2l0aW9uRW5kKHQpfWVsc2UgdGhpcy5fZGVzdHJveUVsZW1lbnQoZSl9LHQuX2Rlc3Ryb3lFbGVtZW50PWZ1bmN0aW9uKHQpe3IodCkuZGV0YWNoKCkudHJpZ2dlcih1LkNMT1NFRCkucmVtb3ZlKCl9LGkuX2pRdWVyeUludGVyZmFjZT1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9cih0aGlzKSxlPXQuZGF0YShvKTtlfHwoZT1uZXcgaSh0aGlzKSx0LmRhdGEobyxlKSksXCJjbG9zZVwiPT09biYmZVtuXSh0aGlzKX0pfSxpLl9oYW5kbGVEaXNtaXNzPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0KXt0JiZ0LnByZXZlbnREZWZhdWx0KCksZS5jbG9zZSh0aGlzKX19LHMoaSxudWxsLFt7a2V5OlwiVkVSU0lPTlwiLGdldDpmdW5jdGlvbigpe3JldHVyblwiNC4xLjNcIn19XSksaX0oKSxyKGRvY3VtZW50KS5vbih1LkNMSUNLX0RBVEFfQVBJLCdbZGF0YS1kaXNtaXNzPVwiYWxlcnRcIl0nLF8uX2hhbmRsZURpc21pc3MobmV3IF8pKSxyLmZuW25dPV8uX2pRdWVyeUludGVyZmFjZSxyLmZuW25dLkNvbnN0cnVjdG9yPV8sci5mbltuXS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHIuZm5bbl09YyxfLl9qUXVlcnlJbnRlcmZhY2V9LF8pLE1uPShwPVwiYnV0dG9uXCIseT1cIi5cIisodj1cImJzLmJ1dHRvblwiKSxFPVwiLmRhdGEtYXBpXCIsQz0obT1lKS5mbltwXSxUPVwiYWN0aXZlXCIsYj1cImJ0blwiLEk9J1tkYXRhLXRvZ2dsZV49XCJidXR0b25cIl0nLEE9J1tkYXRhLXRvZ2dsZT1cImJ1dHRvbnNcIl0nLEQ9XCJpbnB1dFwiLHc9XCIuYWN0aXZlXCIsTj1cIi5idG5cIixPPXtDTElDS19EQVRBX0FQSTpcImNsaWNrXCIreStFLEZPQ1VTX0JMVVJfREFUQV9BUEk6KFM9XCJmb2N1c1wiKSt5K0UrXCIgYmx1clwiK3krRX0saz1mdW5jdGlvbigpe2Z1bmN0aW9uIG4odCl7dGhpcy5fZWxlbWVudD10fXZhciB0PW4ucHJvdG90eXBlO3JldHVybiB0LnRvZ2dsZT1mdW5jdGlvbigpe3ZhciB0PSEwLGU9ITAsbj1tKHRoaXMuX2VsZW1lbnQpLmNsb3Nlc3QoQSlbMF07aWYobil7dmFyIGk9dGhpcy5fZWxlbWVudC5xdWVyeVNlbGVjdG9yKEQpO2lmKGkpe2lmKFwicmFkaW9cIj09PWkudHlwZSlpZihpLmNoZWNrZWQmJnRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKFQpKXQ9ITE7ZWxzZXt2YXIgcj1uLnF1ZXJ5U2VsZWN0b3Iodyk7ciYmbShyKS5yZW1vdmVDbGFzcyhUKX1pZih0KXtpZihpLmhhc0F0dHJpYnV0ZShcImRpc2FibGVkXCIpfHxuLmhhc0F0dHJpYnV0ZShcImRpc2FibGVkXCIpfHxpLmNsYXNzTGlzdC5jb250YWlucyhcImRpc2FibGVkXCIpfHxuLmNsYXNzTGlzdC5jb250YWlucyhcImRpc2FibGVkXCIpKXJldHVybjtpLmNoZWNrZWQ9IXRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKFQpLG0oaSkudHJpZ2dlcihcImNoYW5nZVwiKX1pLmZvY3VzKCksZT0hMX19ZSYmdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJhcmlhLXByZXNzZWRcIiwhdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoVCkpLHQmJm0odGhpcy5fZWxlbWVudCkudG9nZ2xlQ2xhc3MoVCl9LHQuZGlzcG9zZT1mdW5jdGlvbigpe20ucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LHYpLHRoaXMuX2VsZW1lbnQ9bnVsbH0sbi5falF1ZXJ5SW50ZXJmYWNlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1tKHRoaXMpLmRhdGEodik7dHx8KHQ9bmV3IG4odGhpcyksbSh0aGlzKS5kYXRhKHYsdCkpLFwidG9nZ2xlXCI9PT1lJiZ0W2VdKCl9KX0scyhuLG51bGwsW3trZXk6XCJWRVJTSU9OXCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuXCI0LjEuM1wifX1dKSxufSgpLG0oZG9jdW1lbnQpLm9uKE8uQ0xJQ0tfREFUQV9BUEksSSxmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCk7dmFyIGU9dC50YXJnZXQ7bShlKS5oYXNDbGFzcyhiKXx8KGU9bShlKS5jbG9zZXN0KE4pKSxrLl9qUXVlcnlJbnRlcmZhY2UuY2FsbChtKGUpLFwidG9nZ2xlXCIpfSkub24oTy5GT0NVU19CTFVSX0RBVEFfQVBJLEksZnVuY3Rpb24odCl7dmFyIGU9bSh0LnRhcmdldCkuY2xvc2VzdChOKVswXTttKGUpLnRvZ2dsZUNsYXNzKFMsL15mb2N1cyhpbik/JC8udGVzdCh0LnR5cGUpKX0pLG0uZm5bcF09ay5falF1ZXJ5SW50ZXJmYWNlLG0uZm5bcF0uQ29uc3RydWN0b3I9ayxtLmZuW3BdLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gbS5mbltwXT1DLGsuX2pRdWVyeUludGVyZmFjZX0sayksUW49KGo9XCJjYXJvdXNlbFwiLEw9XCIuXCIrKEg9XCJicy5jYXJvdXNlbFwiKSxSPVwiLmRhdGEtYXBpXCIseD0oUD1lKS5mbltqXSxXPXtpbnRlcnZhbDo1ZTMsa2V5Ym9hcmQ6ITAsc2xpZGU6ITEscGF1c2U6XCJob3ZlclwiLHdyYXA6ITB9LFU9e2ludGVydmFsOlwiKG51bWJlcnxib29sZWFuKVwiLGtleWJvYXJkOlwiYm9vbGVhblwiLHNsaWRlOlwiKGJvb2xlYW58c3RyaW5nKVwiLHBhdXNlOlwiKHN0cmluZ3xib29sZWFuKVwiLHdyYXA6XCJib29sZWFuXCJ9LHE9XCJuZXh0XCIsRj1cInByZXZcIixLPVwibGVmdFwiLE09XCJyaWdodFwiLFE9e1NMSURFOlwic2xpZGVcIitMLFNMSUQ6XCJzbGlkXCIrTCxLRVlET1dOOlwia2V5ZG93blwiK0wsTU9VU0VFTlRFUjpcIm1vdXNlZW50ZXJcIitMLE1PVVNFTEVBVkU6XCJtb3VzZWxlYXZlXCIrTCxUT1VDSEVORDpcInRvdWNoZW5kXCIrTCxMT0FEX0RBVEFfQVBJOlwibG9hZFwiK0wrUixDTElDS19EQVRBX0FQSTpcImNsaWNrXCIrTCtSfSxCPVwiY2Fyb3VzZWxcIixWPVwiYWN0aXZlXCIsWT1cInNsaWRlXCIsej1cImNhcm91c2VsLWl0ZW0tcmlnaHRcIixKPVwiY2Fyb3VzZWwtaXRlbS1sZWZ0XCIsWj1cImNhcm91c2VsLWl0ZW0tbmV4dFwiLEc9XCJjYXJvdXNlbC1pdGVtLXByZXZcIiwkPVwiLmFjdGl2ZVwiLFg9XCIuYWN0aXZlLmNhcm91c2VsLWl0ZW1cIix0dD1cIi5jYXJvdXNlbC1pdGVtXCIsZXQ9XCIuY2Fyb3VzZWwtaXRlbS1uZXh0LCAuY2Fyb3VzZWwtaXRlbS1wcmV2XCIsbnQ9XCIuY2Fyb3VzZWwtaW5kaWNhdG9yc1wiLGl0PVwiW2RhdGEtc2xpZGVdLCBbZGF0YS1zbGlkZS10b11cIixydD0nW2RhdGEtcmlkZT1cImNhcm91c2VsXCJdJyxvdD1mdW5jdGlvbigpe2Z1bmN0aW9uIG8odCxlKXt0aGlzLl9pdGVtcz1udWxsLHRoaXMuX2ludGVydmFsPW51bGwsdGhpcy5fYWN0aXZlRWxlbWVudD1udWxsLHRoaXMuX2lzUGF1c2VkPSExLHRoaXMuX2lzU2xpZGluZz0hMSx0aGlzLnRvdWNoVGltZW91dD1udWxsLHRoaXMuX2NvbmZpZz10aGlzLl9nZXRDb25maWcoZSksdGhpcy5fZWxlbWVudD1QKHQpWzBdLHRoaXMuX2luZGljYXRvcnNFbGVtZW50PXRoaXMuX2VsZW1lbnQucXVlcnlTZWxlY3RvcihudCksdGhpcy5fYWRkRXZlbnRMaXN0ZW5lcnMoKX12YXIgdD1vLnByb3RvdHlwZTtyZXR1cm4gdC5uZXh0PWZ1bmN0aW9uKCl7dGhpcy5faXNTbGlkaW5nfHx0aGlzLl9zbGlkZShxKX0sdC5uZXh0V2hlblZpc2libGU9ZnVuY3Rpb24oKXshZG9jdW1lbnQuaGlkZGVuJiZQKHRoaXMuX2VsZW1lbnQpLmlzKFwiOnZpc2libGVcIikmJlwiaGlkZGVuXCIhPT1QKHRoaXMuX2VsZW1lbnQpLmNzcyhcInZpc2liaWxpdHlcIikmJnRoaXMubmV4dCgpfSx0LnByZXY9ZnVuY3Rpb24oKXt0aGlzLl9pc1NsaWRpbmd8fHRoaXMuX3NsaWRlKEYpfSx0LnBhdXNlPWZ1bmN0aW9uKHQpe3R8fCh0aGlzLl9pc1BhdXNlZD0hMCksdGhpcy5fZWxlbWVudC5xdWVyeVNlbGVjdG9yKGV0KSYmKEZuLnRyaWdnZXJUcmFuc2l0aW9uRW5kKHRoaXMuX2VsZW1lbnQpLHRoaXMuY3ljbGUoITApKSxjbGVhckludGVydmFsKHRoaXMuX2ludGVydmFsKSx0aGlzLl9pbnRlcnZhbD1udWxsfSx0LmN5Y2xlPWZ1bmN0aW9uKHQpe3R8fCh0aGlzLl9pc1BhdXNlZD0hMSksdGhpcy5faW50ZXJ2YWwmJihjbGVhckludGVydmFsKHRoaXMuX2ludGVydmFsKSx0aGlzLl9pbnRlcnZhbD1udWxsKSx0aGlzLl9jb25maWcuaW50ZXJ2YWwmJiF0aGlzLl9pc1BhdXNlZCYmKHRoaXMuX2ludGVydmFsPXNldEludGVydmFsKChkb2N1bWVudC52aXNpYmlsaXR5U3RhdGU/dGhpcy5uZXh0V2hlblZpc2libGU6dGhpcy5uZXh0KS5iaW5kKHRoaXMpLHRoaXMuX2NvbmZpZy5pbnRlcnZhbCkpfSx0LnRvPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7dGhpcy5fYWN0aXZlRWxlbWVudD10aGlzLl9lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoWCk7dmFyIG49dGhpcy5fZ2V0SXRlbUluZGV4KHRoaXMuX2FjdGl2ZUVsZW1lbnQpO2lmKCEodD50aGlzLl9pdGVtcy5sZW5ndGgtMXx8dDwwKSlpZih0aGlzLl9pc1NsaWRpbmcpUCh0aGlzLl9lbGVtZW50KS5vbmUoUS5TTElELGZ1bmN0aW9uKCl7cmV0dXJuIGUudG8odCl9KTtlbHNle2lmKG49PT10KXJldHVybiB0aGlzLnBhdXNlKCksdm9pZCB0aGlzLmN5Y2xlKCk7dmFyIGk9bjx0P3E6Rjt0aGlzLl9zbGlkZShpLHRoaXMuX2l0ZW1zW3RdKX19LHQuZGlzcG9zZT1mdW5jdGlvbigpe1AodGhpcy5fZWxlbWVudCkub2ZmKEwpLFAucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LEgpLHRoaXMuX2l0ZW1zPW51bGwsdGhpcy5fY29uZmlnPW51bGwsdGhpcy5fZWxlbWVudD1udWxsLHRoaXMuX2ludGVydmFsPW51bGwsdGhpcy5faXNQYXVzZWQ9bnVsbCx0aGlzLl9pc1NsaWRpbmc9bnVsbCx0aGlzLl9hY3RpdmVFbGVtZW50PW51bGwsdGhpcy5faW5kaWNhdG9yc0VsZW1lbnQ9bnVsbH0sdC5fZ2V0Q29uZmlnPWZ1bmN0aW9uKHQpe3JldHVybiB0PWwoe30sVyx0KSxGbi50eXBlQ2hlY2tDb25maWcoaix0LFUpLHR9LHQuX2FkZEV2ZW50TGlzdGVuZXJzPWZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLl9jb25maWcua2V5Ym9hcmQmJlAodGhpcy5fZWxlbWVudCkub24oUS5LRVlET1dOLGZ1bmN0aW9uKHQpe3JldHVybiBlLl9rZXlkb3duKHQpfSksXCJob3ZlclwiPT09dGhpcy5fY29uZmlnLnBhdXNlJiYoUCh0aGlzLl9lbGVtZW50KS5vbihRLk1PVVNFRU5URVIsZnVuY3Rpb24odCl7cmV0dXJuIGUucGF1c2UodCl9KS5vbihRLk1PVVNFTEVBVkUsZnVuY3Rpb24odCl7cmV0dXJuIGUuY3ljbGUodCl9KSxcIm9udG91Y2hzdGFydFwiaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50JiZQKHRoaXMuX2VsZW1lbnQpLm9uKFEuVE9VQ0hFTkQsZnVuY3Rpb24oKXtlLnBhdXNlKCksZS50b3VjaFRpbWVvdXQmJmNsZWFyVGltZW91dChlLnRvdWNoVGltZW91dCksZS50b3VjaFRpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbih0KXtyZXR1cm4gZS5jeWNsZSh0KX0sNTAwK2UuX2NvbmZpZy5pbnRlcnZhbCl9KSl9LHQuX2tleWRvd249ZnVuY3Rpb24odCl7aWYoIS9pbnB1dHx0ZXh0YXJlYS9pLnRlc3QodC50YXJnZXQudGFnTmFtZSkpc3dpdGNoKHQud2hpY2gpe2Nhc2UgMzc6dC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMucHJldigpO2JyZWFrO2Nhc2UgMzk6dC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMubmV4dCgpfX0sdC5fZ2V0SXRlbUluZGV4PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9pdGVtcz10JiZ0LnBhcmVudE5vZGU/W10uc2xpY2UuY2FsbCh0LnBhcmVudE5vZGUucXVlcnlTZWxlY3RvckFsbCh0dCkpOltdLHRoaXMuX2l0ZW1zLmluZGV4T2YodCl9LHQuX2dldEl0ZW1CeURpcmVjdGlvbj1mdW5jdGlvbih0LGUpe3ZhciBuPXQ9PT1xLGk9dD09PUYscj10aGlzLl9nZXRJdGVtSW5kZXgoZSksbz10aGlzLl9pdGVtcy5sZW5ndGgtMTtpZigoaSYmMD09PXJ8fG4mJnI9PT1vKSYmIXRoaXMuX2NvbmZpZy53cmFwKXJldHVybiBlO3ZhciBzPShyKyh0PT09Rj8tMToxKSkldGhpcy5faXRlbXMubGVuZ3RoO3JldHVybi0xPT09cz90aGlzLl9pdGVtc1t0aGlzLl9pdGVtcy5sZW5ndGgtMV06dGhpcy5faXRlbXNbc119LHQuX3RyaWdnZXJTbGlkZUV2ZW50PWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5fZ2V0SXRlbUluZGV4KHQpLGk9dGhpcy5fZ2V0SXRlbUluZGV4KHRoaXMuX2VsZW1lbnQucXVlcnlTZWxlY3RvcihYKSkscj1QLkV2ZW50KFEuU0xJREUse3JlbGF0ZWRUYXJnZXQ6dCxkaXJlY3Rpb246ZSxmcm9tOmksdG86bn0pO3JldHVybiBQKHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIocikscn0sdC5fc2V0QWN0aXZlSW5kaWNhdG9yRWxlbWVudD1mdW5jdGlvbih0KXtpZih0aGlzLl9pbmRpY2F0b3JzRWxlbWVudCl7dmFyIGU9W10uc2xpY2UuY2FsbCh0aGlzLl9pbmRpY2F0b3JzRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCQpKTtQKGUpLnJlbW92ZUNsYXNzKFYpO3ZhciBuPXRoaXMuX2luZGljYXRvcnNFbGVtZW50LmNoaWxkcmVuW3RoaXMuX2dldEl0ZW1JbmRleCh0KV07biYmUChuKS5hZGRDbGFzcyhWKX19LHQuX3NsaWRlPWZ1bmN0aW9uKHQsZSl7dmFyIG4saSxyLG89dGhpcyxzPXRoaXMuX2VsZW1lbnQucXVlcnlTZWxlY3RvcihYKSxhPXRoaXMuX2dldEl0ZW1JbmRleChzKSxsPWV8fHMmJnRoaXMuX2dldEl0ZW1CeURpcmVjdGlvbih0LHMpLGM9dGhpcy5fZ2V0SXRlbUluZGV4KGwpLGg9Qm9vbGVhbih0aGlzLl9pbnRlcnZhbCk7aWYodD09PXE/KG49SixpPVoscj1LKToobj16LGk9RyxyPU0pLGwmJlAobCkuaGFzQ2xhc3MoVikpdGhpcy5faXNTbGlkaW5nPSExO2Vsc2UgaWYoIXRoaXMuX3RyaWdnZXJTbGlkZUV2ZW50KGwscikuaXNEZWZhdWx0UHJldmVudGVkKCkmJnMmJmwpe3RoaXMuX2lzU2xpZGluZz0hMCxoJiZ0aGlzLnBhdXNlKCksdGhpcy5fc2V0QWN0aXZlSW5kaWNhdG9yRWxlbWVudChsKTt2YXIgdT1QLkV2ZW50KFEuU0xJRCx7cmVsYXRlZFRhcmdldDpsLGRpcmVjdGlvbjpyLGZyb206YSx0bzpjfSk7aWYoUCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhZKSl7UChsKS5hZGRDbGFzcyhpKSxGbi5yZWZsb3cobCksUChzKS5hZGRDbGFzcyhuKSxQKGwpLmFkZENsYXNzKG4pO3ZhciBmPUZuLmdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHMpO1Aocykub25lKEZuLlRSQU5TSVRJT05fRU5ELGZ1bmN0aW9uKCl7UChsKS5yZW1vdmVDbGFzcyhuK1wiIFwiK2kpLmFkZENsYXNzKFYpLFAocykucmVtb3ZlQ2xhc3MoVitcIiBcIitpK1wiIFwiK24pLG8uX2lzU2xpZGluZz0hMSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIFAoby5fZWxlbWVudCkudHJpZ2dlcih1KX0sMCl9KS5lbXVsYXRlVHJhbnNpdGlvbkVuZChmKX1lbHNlIFAocykucmVtb3ZlQ2xhc3MoViksUChsKS5hZGRDbGFzcyhWKSx0aGlzLl9pc1NsaWRpbmc9ITEsUCh0aGlzLl9lbGVtZW50KS50cmlnZ2VyKHUpO2gmJnRoaXMuY3ljbGUoKX19LG8uX2pRdWVyeUludGVyZmFjZT1mdW5jdGlvbihpKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9UCh0aGlzKS5kYXRhKEgpLGU9bCh7fSxXLFAodGhpcykuZGF0YSgpKTtcIm9iamVjdFwiPT10eXBlb2YgaSYmKGU9bCh7fSxlLGkpKTt2YXIgbj1cInN0cmluZ1wiPT10eXBlb2YgaT9pOmUuc2xpZGU7aWYodHx8KHQ9bmV3IG8odGhpcyxlKSxQKHRoaXMpLmRhdGEoSCx0KSksXCJudW1iZXJcIj09dHlwZW9mIGkpdC50byhpKTtlbHNlIGlmKFwic3RyaW5nXCI9PXR5cGVvZiBuKXtpZihcInVuZGVmaW5lZFwiPT10eXBlb2YgdFtuXSl0aHJvdyBuZXcgVHlwZUVycm9yKCdObyBtZXRob2QgbmFtZWQgXCInK24rJ1wiJyk7dFtuXSgpfWVsc2UgZS5pbnRlcnZhbCYmKHQucGF1c2UoKSx0LmN5Y2xlKCkpfSl9LG8uX2RhdGFBcGlDbGlja0hhbmRsZXI9ZnVuY3Rpb24odCl7dmFyIGU9Rm4uZ2V0U2VsZWN0b3JGcm9tRWxlbWVudCh0aGlzKTtpZihlKXt2YXIgbj1QKGUpWzBdO2lmKG4mJlAobikuaGFzQ2xhc3MoQikpe3ZhciBpPWwoe30sUChuKS5kYXRhKCksUCh0aGlzKS5kYXRhKCkpLHI9dGhpcy5nZXRBdHRyaWJ1dGUoXCJkYXRhLXNsaWRlLXRvXCIpO3ImJihpLmludGVydmFsPSExKSxvLl9qUXVlcnlJbnRlcmZhY2UuY2FsbChQKG4pLGkpLHImJlAobikuZGF0YShIKS50byhyKSx0LnByZXZlbnREZWZhdWx0KCl9fX0scyhvLG51bGwsW3trZXk6XCJWRVJTSU9OXCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuXCI0LjEuM1wifX0se2tleTpcIkRlZmF1bHRcIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gV319XSksb30oKSxQKGRvY3VtZW50KS5vbihRLkNMSUNLX0RBVEFfQVBJLGl0LG90Ll9kYXRhQXBpQ2xpY2tIYW5kbGVyKSxQKHdpbmRvdykub24oUS5MT0FEX0RBVEFfQVBJLGZ1bmN0aW9uKCl7Zm9yKHZhciB0PVtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChydCkpLGU9MCxuPXQubGVuZ3RoO2U8bjtlKyspe3ZhciBpPVAodFtlXSk7b3QuX2pRdWVyeUludGVyZmFjZS5jYWxsKGksaS5kYXRhKCkpfX0pLFAuZm5bal09b3QuX2pRdWVyeUludGVyZmFjZSxQLmZuW2pdLkNvbnN0cnVjdG9yPW90LFAuZm5bal0ubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBQLmZuW2pdPXgsb3QuX2pRdWVyeUludGVyZmFjZX0sb3QpLEJuPShhdD1cImNvbGxhcHNlXCIsY3Q9XCIuXCIrKGx0PVwiYnMuY29sbGFwc2VcIiksaHQ9KHN0PWUpLmZuW2F0XSx1dD17dG9nZ2xlOiEwLHBhcmVudDpcIlwifSxmdD17dG9nZ2xlOlwiYm9vbGVhblwiLHBhcmVudDpcIihzdHJpbmd8ZWxlbWVudClcIn0sZHQ9e1NIT1c6XCJzaG93XCIrY3QsU0hPV046XCJzaG93blwiK2N0LEhJREU6XCJoaWRlXCIrY3QsSElEREVOOlwiaGlkZGVuXCIrY3QsQ0xJQ0tfREFUQV9BUEk6XCJjbGlja1wiK2N0K1wiLmRhdGEtYXBpXCJ9LGd0PVwic2hvd1wiLF90PVwiY29sbGFwc2VcIixtdD1cImNvbGxhcHNpbmdcIixwdD1cImNvbGxhcHNlZFwiLHZ0PVwid2lkdGhcIix5dD1cImhlaWdodFwiLEV0PVwiLnNob3csIC5jb2xsYXBzaW5nXCIsQ3Q9J1tkYXRhLXRvZ2dsZT1cImNvbGxhcHNlXCJdJyxUdD1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoZSx0KXt0aGlzLl9pc1RyYW5zaXRpb25pbmc9ITEsdGhpcy5fZWxlbWVudD1lLHRoaXMuX2NvbmZpZz10aGlzLl9nZXRDb25maWcodCksdGhpcy5fdHJpZ2dlckFycmF5PXN0Lm1ha2VBcnJheShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS10b2dnbGU9XCJjb2xsYXBzZVwiXVtocmVmPVwiIycrZS5pZCsnXCJdLFtkYXRhLXRvZ2dsZT1cImNvbGxhcHNlXCJdW2RhdGEtdGFyZ2V0PVwiIycrZS5pZCsnXCJdJykpO2Zvcih2YXIgbj1bXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoQ3QpKSxpPTAscj1uLmxlbmd0aDtpPHI7aSsrKXt2YXIgbz1uW2ldLHM9Rm4uZ2V0U2VsZWN0b3JGcm9tRWxlbWVudChvKSxhPVtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChzKSkuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiB0PT09ZX0pO251bGwhPT1zJiYwPGEubGVuZ3RoJiYodGhpcy5fc2VsZWN0b3I9cyx0aGlzLl90cmlnZ2VyQXJyYXkucHVzaChvKSl9dGhpcy5fcGFyZW50PXRoaXMuX2NvbmZpZy5wYXJlbnQ/dGhpcy5fZ2V0UGFyZW50KCk6bnVsbCx0aGlzLl9jb25maWcucGFyZW50fHx0aGlzLl9hZGRBcmlhQW5kQ29sbGFwc2VkQ2xhc3ModGhpcy5fZWxlbWVudCx0aGlzLl90cmlnZ2VyQXJyYXkpLHRoaXMuX2NvbmZpZy50b2dnbGUmJnRoaXMudG9nZ2xlKCl9dmFyIHQ9YS5wcm90b3R5cGU7cmV0dXJuIHQudG9nZ2xlPWZ1bmN0aW9uKCl7c3QodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoZ3QpP3RoaXMuaGlkZSgpOnRoaXMuc2hvdygpfSx0LnNob3c9ZnVuY3Rpb24oKXt2YXIgdCxlLG49dGhpcztpZighdGhpcy5faXNUcmFuc2l0aW9uaW5nJiYhc3QodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoZ3QpJiYodGhpcy5fcGFyZW50JiYwPT09KHQ9W10uc2xpY2UuY2FsbCh0aGlzLl9wYXJlbnQucXVlcnlTZWxlY3RvckFsbChFdCkpLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRBdHRyaWJ1dGUoXCJkYXRhLXBhcmVudFwiKT09PW4uX2NvbmZpZy5wYXJlbnR9KSkubGVuZ3RoJiYodD1udWxsKSwhKHQmJihlPXN0KHQpLm5vdCh0aGlzLl9zZWxlY3RvcikuZGF0YShsdCkpJiZlLl9pc1RyYW5zaXRpb25pbmcpKSl7dmFyIGk9c3QuRXZlbnQoZHQuU0hPVyk7aWYoc3QodGhpcy5fZWxlbWVudCkudHJpZ2dlcihpKSwhaS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7dCYmKGEuX2pRdWVyeUludGVyZmFjZS5jYWxsKHN0KHQpLm5vdCh0aGlzLl9zZWxlY3RvciksXCJoaWRlXCIpLGV8fHN0KHQpLmRhdGEobHQsbnVsbCkpO3ZhciByPXRoaXMuX2dldERpbWVuc2lvbigpO3N0KHRoaXMuX2VsZW1lbnQpLnJlbW92ZUNsYXNzKF90KS5hZGRDbGFzcyhtdCksdGhpcy5fZWxlbWVudC5zdHlsZVtyXT0wLHRoaXMuX3RyaWdnZXJBcnJheS5sZW5ndGgmJnN0KHRoaXMuX3RyaWdnZXJBcnJheSkucmVtb3ZlQ2xhc3MocHQpLmF0dHIoXCJhcmlhLWV4cGFuZGVkXCIsITApLHRoaXMuc2V0VHJhbnNpdGlvbmluZyghMCk7dmFyIG89XCJzY3JvbGxcIisoclswXS50b1VwcGVyQ2FzZSgpK3Iuc2xpY2UoMSkpLHM9Rm4uZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7c3QodGhpcy5fZWxlbWVudCkub25lKEZuLlRSQU5TSVRJT05fRU5ELGZ1bmN0aW9uKCl7c3Qobi5fZWxlbWVudCkucmVtb3ZlQ2xhc3MobXQpLmFkZENsYXNzKF90KS5hZGRDbGFzcyhndCksbi5fZWxlbWVudC5zdHlsZVtyXT1cIlwiLG4uc2V0VHJhbnNpdGlvbmluZyghMSksc3Qobi5fZWxlbWVudCkudHJpZ2dlcihkdC5TSE9XTil9KS5lbXVsYXRlVHJhbnNpdGlvbkVuZChzKSx0aGlzLl9lbGVtZW50LnN0eWxlW3JdPXRoaXMuX2VsZW1lbnRbb10rXCJweFwifX19LHQuaGlkZT1mdW5jdGlvbigpe3ZhciB0PXRoaXM7aWYoIXRoaXMuX2lzVHJhbnNpdGlvbmluZyYmc3QodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoZ3QpKXt2YXIgZT1zdC5FdmVudChkdC5ISURFKTtpZihzdCh0aGlzLl9lbGVtZW50KS50cmlnZ2VyKGUpLCFlLmlzRGVmYXVsdFByZXZlbnRlZCgpKXt2YXIgbj10aGlzLl9nZXREaW1lbnNpb24oKTt0aGlzLl9lbGVtZW50LnN0eWxlW25dPXRoaXMuX2VsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClbbl0rXCJweFwiLEZuLnJlZmxvdyh0aGlzLl9lbGVtZW50KSxzdCh0aGlzLl9lbGVtZW50KS5hZGRDbGFzcyhtdCkucmVtb3ZlQ2xhc3MoX3QpLnJlbW92ZUNsYXNzKGd0KTt2YXIgaT10aGlzLl90cmlnZ2VyQXJyYXkubGVuZ3RoO2lmKDA8aSlmb3IodmFyIHI9MDtyPGk7cisrKXt2YXIgbz10aGlzLl90cmlnZ2VyQXJyYXlbcl0scz1Gbi5nZXRTZWxlY3RvckZyb21FbGVtZW50KG8pO2lmKG51bGwhPT1zKXN0KFtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChzKSkpLmhhc0NsYXNzKGd0KXx8c3QobykuYWRkQ2xhc3MocHQpLmF0dHIoXCJhcmlhLWV4cGFuZGVkXCIsITEpfXRoaXMuc2V0VHJhbnNpdGlvbmluZyghMCk7dGhpcy5fZWxlbWVudC5zdHlsZVtuXT1cIlwiO3ZhciBhPUZuLmdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHRoaXMuX2VsZW1lbnQpO3N0KHRoaXMuX2VsZW1lbnQpLm9uZShGbi5UUkFOU0lUSU9OX0VORCxmdW5jdGlvbigpe3Quc2V0VHJhbnNpdGlvbmluZyghMSksc3QodC5fZWxlbWVudCkucmVtb3ZlQ2xhc3MobXQpLmFkZENsYXNzKF90KS50cmlnZ2VyKGR0LkhJRERFTil9KS5lbXVsYXRlVHJhbnNpdGlvbkVuZChhKX19fSx0LnNldFRyYW5zaXRpb25pbmc9ZnVuY3Rpb24odCl7dGhpcy5faXNUcmFuc2l0aW9uaW5nPXR9LHQuZGlzcG9zZT1mdW5jdGlvbigpe3N0LnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCxsdCksdGhpcy5fY29uZmlnPW51bGwsdGhpcy5fcGFyZW50PW51bGwsdGhpcy5fZWxlbWVudD1udWxsLHRoaXMuX3RyaWdnZXJBcnJheT1udWxsLHRoaXMuX2lzVHJhbnNpdGlvbmluZz1udWxsfSx0Ll9nZXRDb25maWc9ZnVuY3Rpb24odCl7cmV0dXJuKHQ9bCh7fSx1dCx0KSkudG9nZ2xlPUJvb2xlYW4odC50b2dnbGUpLEZuLnR5cGVDaGVja0NvbmZpZyhhdCx0LGZ0KSx0fSx0Ll9nZXREaW1lbnNpb249ZnVuY3Rpb24oKXtyZXR1cm4gc3QodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3ModnQpP3Z0Onl0fSx0Ll9nZXRQYXJlbnQ9ZnVuY3Rpb24oKXt2YXIgbj10aGlzLHQ9bnVsbDtGbi5pc0VsZW1lbnQodGhpcy5fY29uZmlnLnBhcmVudCk/KHQ9dGhpcy5fY29uZmlnLnBhcmVudCxcInVuZGVmaW5lZFwiIT10eXBlb2YgdGhpcy5fY29uZmlnLnBhcmVudC5qcXVlcnkmJih0PXRoaXMuX2NvbmZpZy5wYXJlbnRbMF0pKTp0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGhpcy5fY29uZmlnLnBhcmVudCk7dmFyIGU9J1tkYXRhLXRvZ2dsZT1cImNvbGxhcHNlXCJdW2RhdGEtcGFyZW50PVwiJyt0aGlzLl9jb25maWcucGFyZW50KydcIl0nLGk9W10uc2xpY2UuY2FsbCh0LnF1ZXJ5U2VsZWN0b3JBbGwoZSkpO3JldHVybiBzdChpKS5lYWNoKGZ1bmN0aW9uKHQsZSl7bi5fYWRkQXJpYUFuZENvbGxhcHNlZENsYXNzKGEuX2dldFRhcmdldEZyb21FbGVtZW50KGUpLFtlXSl9KSx0fSx0Ll9hZGRBcmlhQW5kQ29sbGFwc2VkQ2xhc3M9ZnVuY3Rpb24odCxlKXtpZih0KXt2YXIgbj1zdCh0KS5oYXNDbGFzcyhndCk7ZS5sZW5ndGgmJnN0KGUpLnRvZ2dsZUNsYXNzKHB0LCFuKS5hdHRyKFwiYXJpYS1leHBhbmRlZFwiLG4pfX0sYS5fZ2V0VGFyZ2V0RnJvbUVsZW1lbnQ9ZnVuY3Rpb24odCl7dmFyIGU9Rm4uZ2V0U2VsZWN0b3JGcm9tRWxlbWVudCh0KTtyZXR1cm4gZT9kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGUpOm51bGx9LGEuX2pRdWVyeUludGVyZmFjZT1mdW5jdGlvbihpKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9c3QodGhpcyksZT10LmRhdGEobHQpLG49bCh7fSx1dCx0LmRhdGEoKSxcIm9iamVjdFwiPT10eXBlb2YgaSYmaT9pOnt9KTtpZighZSYmbi50b2dnbGUmJi9zaG93fGhpZGUvLnRlc3QoaSkmJihuLnRvZ2dsZT0hMSksZXx8KGU9bmV3IGEodGhpcyxuKSx0LmRhdGEobHQsZSkpLFwic3RyaW5nXCI9PXR5cGVvZiBpKXtpZihcInVuZGVmaW5lZFwiPT10eXBlb2YgZVtpXSl0aHJvdyBuZXcgVHlwZUVycm9yKCdObyBtZXRob2QgbmFtZWQgXCInK2krJ1wiJyk7ZVtpXSgpfX0pfSxzKGEsbnVsbCxbe2tleTpcIlZFUlNJT05cIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5cIjQuMS4zXCJ9fSx7a2V5OlwiRGVmYXVsdFwiLGdldDpmdW5jdGlvbigpe3JldHVybiB1dH19XSksYX0oKSxzdChkb2N1bWVudCkub24oZHQuQ0xJQ0tfREFUQV9BUEksQ3QsZnVuY3Rpb24odCl7XCJBXCI9PT10LmN1cnJlbnRUYXJnZXQudGFnTmFtZSYmdC5wcmV2ZW50RGVmYXVsdCgpO3ZhciBuPXN0KHRoaXMpLGU9Rm4uZ2V0U2VsZWN0b3JGcm9tRWxlbWVudCh0aGlzKSxpPVtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChlKSk7c3QoaSkuZWFjaChmdW5jdGlvbigpe3ZhciB0PXN0KHRoaXMpLGU9dC5kYXRhKGx0KT9cInRvZ2dsZVwiOm4uZGF0YSgpO1R0Ll9qUXVlcnlJbnRlcmZhY2UuY2FsbCh0LGUpfSl9KSxzdC5mblthdF09VHQuX2pRdWVyeUludGVyZmFjZSxzdC5mblthdF0uQ29uc3RydWN0b3I9VHQsc3QuZm5bYXRdLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gc3QuZm5bYXRdPWh0LFR0Ll9qUXVlcnlJbnRlcmZhY2V9LFR0KSxWbj0oU3Q9XCJkcm9wZG93blwiLEF0PVwiLlwiKyhJdD1cImJzLmRyb3Bkb3duXCIpLER0PVwiLmRhdGEtYXBpXCIsd3Q9KGJ0PWUpLmZuW1N0XSxOdD1uZXcgUmVnRXhwKFwiMzh8NDB8MjdcIiksT3Q9e0hJREU6XCJoaWRlXCIrQXQsSElEREVOOlwiaGlkZGVuXCIrQXQsU0hPVzpcInNob3dcIitBdCxTSE9XTjpcInNob3duXCIrQXQsQ0xJQ0s6XCJjbGlja1wiK0F0LENMSUNLX0RBVEFfQVBJOlwiY2xpY2tcIitBdCtEdCxLRVlET1dOX0RBVEFfQVBJOlwia2V5ZG93blwiK0F0K0R0LEtFWVVQX0RBVEFfQVBJOlwia2V5dXBcIitBdCtEdH0sa3Q9XCJkaXNhYmxlZFwiLFB0PVwic2hvd1wiLGp0PVwiZHJvcHVwXCIsSHQ9XCJkcm9wcmlnaHRcIixMdD1cImRyb3BsZWZ0XCIsUnQ9XCJkcm9wZG93bi1tZW51LXJpZ2h0XCIseHQ9XCJwb3NpdGlvbi1zdGF0aWNcIixXdD0nW2RhdGEtdG9nZ2xlPVwiZHJvcGRvd25cIl0nLFV0PVwiLmRyb3Bkb3duIGZvcm1cIixxdD1cIi5kcm9wZG93bi1tZW51XCIsRnQ9XCIubmF2YmFyLW5hdlwiLEt0PVwiLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLWl0ZW06bm90KC5kaXNhYmxlZCk6bm90KDpkaXNhYmxlZClcIixNdD1cInRvcC1zdGFydFwiLFF0PVwidG9wLWVuZFwiLEJ0PVwiYm90dG9tLXN0YXJ0XCIsVnQ9XCJib3R0b20tZW5kXCIsWXQ9XCJyaWdodC1zdGFydFwiLHp0PVwibGVmdC1zdGFydFwiLEp0PXtvZmZzZXQ6MCxmbGlwOiEwLGJvdW5kYXJ5Olwic2Nyb2xsUGFyZW50XCIscmVmZXJlbmNlOlwidG9nZ2xlXCIsZGlzcGxheTpcImR5bmFtaWNcIn0sWnQ9e29mZnNldDpcIihudW1iZXJ8c3RyaW5nfGZ1bmN0aW9uKVwiLGZsaXA6XCJib29sZWFuXCIsYm91bmRhcnk6XCIoc3RyaW5nfGVsZW1lbnQpXCIscmVmZXJlbmNlOlwiKHN0cmluZ3xlbGVtZW50KVwiLGRpc3BsYXk6XCJzdHJpbmdcIn0sR3Q9ZnVuY3Rpb24oKXtmdW5jdGlvbiBjKHQsZSl7dGhpcy5fZWxlbWVudD10LHRoaXMuX3BvcHBlcj1udWxsLHRoaXMuX2NvbmZpZz10aGlzLl9nZXRDb25maWcoZSksdGhpcy5fbWVudT10aGlzLl9nZXRNZW51RWxlbWVudCgpLHRoaXMuX2luTmF2YmFyPXRoaXMuX2RldGVjdE5hdmJhcigpLHRoaXMuX2FkZEV2ZW50TGlzdGVuZXJzKCl9dmFyIHQ9Yy5wcm90b3R5cGU7cmV0dXJuIHQudG9nZ2xlPWZ1bmN0aW9uKCl7aWYoIXRoaXMuX2VsZW1lbnQuZGlzYWJsZWQmJiFidCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhrdCkpe3ZhciB0PWMuX2dldFBhcmVudEZyb21FbGVtZW50KHRoaXMuX2VsZW1lbnQpLGU9YnQodGhpcy5fbWVudSkuaGFzQ2xhc3MoUHQpO2lmKGMuX2NsZWFyTWVudXMoKSwhZSl7dmFyIG49e3JlbGF0ZWRUYXJnZXQ6dGhpcy5fZWxlbWVudH0saT1idC5FdmVudChPdC5TSE9XLG4pO2lmKGJ0KHQpLnRyaWdnZXIoaSksIWkuaXNEZWZhdWx0UHJldmVudGVkKCkpe2lmKCF0aGlzLl9pbk5hdmJhcil7aWYoXCJ1bmRlZmluZWRcIj09dHlwZW9mIGgpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkJvb3RzdHJhcCBkcm9wZG93biByZXF1aXJlIFBvcHBlci5qcyAoaHR0cHM6Ly9wb3BwZXIuanMub3JnKVwiKTt2YXIgcj10aGlzLl9lbGVtZW50O1wicGFyZW50XCI9PT10aGlzLl9jb25maWcucmVmZXJlbmNlP3I9dDpGbi5pc0VsZW1lbnQodGhpcy5fY29uZmlnLnJlZmVyZW5jZSkmJihyPXRoaXMuX2NvbmZpZy5yZWZlcmVuY2UsXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHRoaXMuX2NvbmZpZy5yZWZlcmVuY2UuanF1ZXJ5JiYocj10aGlzLl9jb25maWcucmVmZXJlbmNlWzBdKSksXCJzY3JvbGxQYXJlbnRcIiE9PXRoaXMuX2NvbmZpZy5ib3VuZGFyeSYmYnQodCkuYWRkQ2xhc3MoeHQpLHRoaXMuX3BvcHBlcj1uZXcgaChyLHRoaXMuX21lbnUsdGhpcy5fZ2V0UG9wcGVyQ29uZmlnKCkpfVwib250b3VjaHN0YXJ0XCJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJjA9PT1idCh0KS5jbG9zZXN0KEZ0KS5sZW5ndGgmJmJ0KGRvY3VtZW50LmJvZHkpLmNoaWxkcmVuKCkub24oXCJtb3VzZW92ZXJcIixudWxsLGJ0Lm5vb3ApLHRoaXMuX2VsZW1lbnQuZm9jdXMoKSx0aGlzLl9lbGVtZW50LnNldEF0dHJpYnV0ZShcImFyaWEtZXhwYW5kZWRcIiwhMCksYnQodGhpcy5fbWVudSkudG9nZ2xlQ2xhc3MoUHQpLGJ0KHQpLnRvZ2dsZUNsYXNzKFB0KS50cmlnZ2VyKGJ0LkV2ZW50KE90LlNIT1dOLG4pKX19fX0sdC5kaXNwb3NlPWZ1bmN0aW9uKCl7YnQucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LEl0KSxidCh0aGlzLl9lbGVtZW50KS5vZmYoQXQpLHRoaXMuX2VsZW1lbnQ9bnVsbCwodGhpcy5fbWVudT1udWxsKSE9PXRoaXMuX3BvcHBlciYmKHRoaXMuX3BvcHBlci5kZXN0cm95KCksdGhpcy5fcG9wcGVyPW51bGwpfSx0LnVwZGF0ZT1mdW5jdGlvbigpe3RoaXMuX2luTmF2YmFyPXRoaXMuX2RldGVjdE5hdmJhcigpLG51bGwhPT10aGlzLl9wb3BwZXImJnRoaXMuX3BvcHBlci5zY2hlZHVsZVVwZGF0ZSgpfSx0Ll9hZGRFdmVudExpc3RlbmVycz1mdW5jdGlvbigpe3ZhciBlPXRoaXM7YnQodGhpcy5fZWxlbWVudCkub24oT3QuQ0xJQ0ssZnVuY3Rpb24odCl7dC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcFByb3BhZ2F0aW9uKCksZS50b2dnbGUoKX0pfSx0Ll9nZXRDb25maWc9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bCh7fSx0aGlzLmNvbnN0cnVjdG9yLkRlZmF1bHQsYnQodGhpcy5fZWxlbWVudCkuZGF0YSgpLHQpLEZuLnR5cGVDaGVja0NvbmZpZyhTdCx0LHRoaXMuY29uc3RydWN0b3IuRGVmYXVsdFR5cGUpLHR9LHQuX2dldE1lbnVFbGVtZW50PWZ1bmN0aW9uKCl7aWYoIXRoaXMuX21lbnUpe3ZhciB0PWMuX2dldFBhcmVudEZyb21FbGVtZW50KHRoaXMuX2VsZW1lbnQpO3QmJih0aGlzLl9tZW51PXQucXVlcnlTZWxlY3RvcihxdCkpfXJldHVybiB0aGlzLl9tZW51fSx0Ll9nZXRQbGFjZW1lbnQ9ZnVuY3Rpb24oKXt2YXIgdD1idCh0aGlzLl9lbGVtZW50LnBhcmVudE5vZGUpLGU9QnQ7cmV0dXJuIHQuaGFzQ2xhc3MoanQpPyhlPU10LGJ0KHRoaXMuX21lbnUpLmhhc0NsYXNzKFJ0KSYmKGU9UXQpKTp0Lmhhc0NsYXNzKEh0KT9lPVl0OnQuaGFzQ2xhc3MoTHQpP2U9enQ6YnQodGhpcy5fbWVudSkuaGFzQ2xhc3MoUnQpJiYoZT1WdCksZX0sdC5fZGV0ZWN0TmF2YmFyPWZ1bmN0aW9uKCl7cmV0dXJuIDA8YnQodGhpcy5fZWxlbWVudCkuY2xvc2VzdChcIi5uYXZiYXJcIikubGVuZ3RofSx0Ll9nZXRQb3BwZXJDb25maWc9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9e307XCJmdW5jdGlvblwiPT10eXBlb2YgdGhpcy5fY29uZmlnLm9mZnNldD90LmZuPWZ1bmN0aW9uKHQpe3JldHVybiB0Lm9mZnNldHM9bCh7fSx0Lm9mZnNldHMsZS5fY29uZmlnLm9mZnNldCh0Lm9mZnNldHMpfHx7fSksdH06dC5vZmZzZXQ9dGhpcy5fY29uZmlnLm9mZnNldDt2YXIgbj17cGxhY2VtZW50OnRoaXMuX2dldFBsYWNlbWVudCgpLG1vZGlmaWVyczp7b2Zmc2V0OnQsZmxpcDp7ZW5hYmxlZDp0aGlzLl9jb25maWcuZmxpcH0scHJldmVudE92ZXJmbG93Ontib3VuZGFyaWVzRWxlbWVudDp0aGlzLl9jb25maWcuYm91bmRhcnl9fX07cmV0dXJuXCJzdGF0aWNcIj09PXRoaXMuX2NvbmZpZy5kaXNwbGF5JiYobi5tb2RpZmllcnMuYXBwbHlTdHlsZT17ZW5hYmxlZDohMX0pLG59LGMuX2pRdWVyeUludGVyZmFjZT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9YnQodGhpcykuZGF0YShJdCk7aWYodHx8KHQ9bmV3IGModGhpcyxcIm9iamVjdFwiPT10eXBlb2YgZT9lOm51bGwpLGJ0KHRoaXMpLmRhdGEoSXQsdCkpLFwic3RyaW5nXCI9PXR5cGVvZiBlKXtpZihcInVuZGVmaW5lZFwiPT10eXBlb2YgdFtlXSl0aHJvdyBuZXcgVHlwZUVycm9yKCdObyBtZXRob2QgbmFtZWQgXCInK2UrJ1wiJyk7dFtlXSgpfX0pfSxjLl9jbGVhck1lbnVzPWZ1bmN0aW9uKHQpe2lmKCF0fHwzIT09dC53aGljaCYmKFwia2V5dXBcIiE9PXQudHlwZXx8OT09PXQud2hpY2gpKWZvcih2YXIgZT1bXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoV3QpKSxuPTAsaT1lLmxlbmd0aDtuPGk7bisrKXt2YXIgcj1jLl9nZXRQYXJlbnRGcm9tRWxlbWVudChlW25dKSxvPWJ0KGVbbl0pLmRhdGEoSXQpLHM9e3JlbGF0ZWRUYXJnZXQ6ZVtuXX07aWYodCYmXCJjbGlja1wiPT09dC50eXBlJiYocy5jbGlja0V2ZW50PXQpLG8pe3ZhciBhPW8uX21lbnU7aWYoYnQocikuaGFzQ2xhc3MoUHQpJiYhKHQmJihcImNsaWNrXCI9PT10LnR5cGUmJi9pbnB1dHx0ZXh0YXJlYS9pLnRlc3QodC50YXJnZXQudGFnTmFtZSl8fFwia2V5dXBcIj09PXQudHlwZSYmOT09PXQud2hpY2gpJiZidC5jb250YWlucyhyLHQudGFyZ2V0KSkpe3ZhciBsPWJ0LkV2ZW50KE90LkhJREUscyk7YnQocikudHJpZ2dlcihsKSxsLmlzRGVmYXVsdFByZXZlbnRlZCgpfHwoXCJvbnRvdWNoc3RhcnRcImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmYnQoZG9jdW1lbnQuYm9keSkuY2hpbGRyZW4oKS5vZmYoXCJtb3VzZW92ZXJcIixudWxsLGJ0Lm5vb3ApLGVbbl0uc2V0QXR0cmlidXRlKFwiYXJpYS1leHBhbmRlZFwiLFwiZmFsc2VcIiksYnQoYSkucmVtb3ZlQ2xhc3MoUHQpLGJ0KHIpLnJlbW92ZUNsYXNzKFB0KS50cmlnZ2VyKGJ0LkV2ZW50KE90LkhJRERFTixzKSkpfX19fSxjLl9nZXRQYXJlbnRGcm9tRWxlbWVudD1mdW5jdGlvbih0KXt2YXIgZSxuPUZuLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQodCk7cmV0dXJuIG4mJihlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IobikpLGV8fHQucGFyZW50Tm9kZX0sYy5fZGF0YUFwaUtleWRvd25IYW5kbGVyPWZ1bmN0aW9uKHQpe2lmKCgvaW5wdXR8dGV4dGFyZWEvaS50ZXN0KHQudGFyZ2V0LnRhZ05hbWUpPyEoMzI9PT10LndoaWNofHwyNyE9PXQud2hpY2gmJig0MCE9PXQud2hpY2gmJjM4IT09dC53aGljaHx8YnQodC50YXJnZXQpLmNsb3Nlc3QocXQpLmxlbmd0aCkpOk50LnRlc3QodC53aGljaCkpJiYodC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcFByb3BhZ2F0aW9uKCksIXRoaXMuZGlzYWJsZWQmJiFidCh0aGlzKS5oYXNDbGFzcyhrdCkpKXt2YXIgZT1jLl9nZXRQYXJlbnRGcm9tRWxlbWVudCh0aGlzKSxuPWJ0KGUpLmhhc0NsYXNzKFB0KTtpZigobnx8Mjc9PT10LndoaWNoJiYzMj09PXQud2hpY2gpJiYoIW58fDI3IT09dC53aGljaCYmMzIhPT10LndoaWNoKSl7dmFyIGk9W10uc2xpY2UuY2FsbChlLnF1ZXJ5U2VsZWN0b3JBbGwoS3QpKTtpZigwIT09aS5sZW5ndGgpe3ZhciByPWkuaW5kZXhPZih0LnRhcmdldCk7Mzg9PT10LndoaWNoJiYwPHImJnItLSw0MD09PXQud2hpY2gmJnI8aS5sZW5ndGgtMSYmcisrLHI8MCYmKHI9MCksaVtyXS5mb2N1cygpfX1lbHNle2lmKDI3PT09dC53aGljaCl7dmFyIG89ZS5xdWVyeVNlbGVjdG9yKFd0KTtidChvKS50cmlnZ2VyKFwiZm9jdXNcIil9YnQodGhpcykudHJpZ2dlcihcImNsaWNrXCIpfX19LHMoYyxudWxsLFt7a2V5OlwiVkVSU0lPTlwiLGdldDpmdW5jdGlvbigpe3JldHVyblwiNC4xLjNcIn19LHtrZXk6XCJEZWZhdWx0XCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEp0fX0se2tleTpcIkRlZmF1bHRUeXBlXCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFp0fX1dKSxjfSgpLGJ0KGRvY3VtZW50KS5vbihPdC5LRVlET1dOX0RBVEFfQVBJLFd0LEd0Ll9kYXRhQXBpS2V5ZG93bkhhbmRsZXIpLm9uKE90LktFWURPV05fREFUQV9BUEkscXQsR3QuX2RhdGFBcGlLZXlkb3duSGFuZGxlcikub24oT3QuQ0xJQ0tfREFUQV9BUEkrXCIgXCIrT3QuS0VZVVBfREFUQV9BUEksR3QuX2NsZWFyTWVudXMpLm9uKE90LkNMSUNLX0RBVEFfQVBJLFd0LGZ1bmN0aW9uKHQpe3QucHJldmVudERlZmF1bHQoKSx0LnN0b3BQcm9wYWdhdGlvbigpLEd0Ll9qUXVlcnlJbnRlcmZhY2UuY2FsbChidCh0aGlzKSxcInRvZ2dsZVwiKX0pLm9uKE90LkNMSUNLX0RBVEFfQVBJLFV0LGZ1bmN0aW9uKHQpe3Quc3RvcFByb3BhZ2F0aW9uKCl9KSxidC5mbltTdF09R3QuX2pRdWVyeUludGVyZmFjZSxidC5mbltTdF0uQ29uc3RydWN0b3I9R3QsYnQuZm5bU3RdLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYnQuZm5bU3RdPXd0LEd0Ll9qUXVlcnlJbnRlcmZhY2V9LEd0KSxZbj0oWHQ9XCJtb2RhbFwiLGVlPVwiLlwiKyh0ZT1cImJzLm1vZGFsXCIpLG5lPSgkdD1lKS5mbltYdF0saWU9e2JhY2tkcm9wOiEwLGtleWJvYXJkOiEwLGZvY3VzOiEwLHNob3c6ITB9LHJlPXtiYWNrZHJvcDpcIihib29sZWFufHN0cmluZylcIixrZXlib2FyZDpcImJvb2xlYW5cIixmb2N1czpcImJvb2xlYW5cIixzaG93OlwiYm9vbGVhblwifSxvZT17SElERTpcImhpZGVcIitlZSxISURERU46XCJoaWRkZW5cIitlZSxTSE9XOlwic2hvd1wiK2VlLFNIT1dOOlwic2hvd25cIitlZSxGT0NVU0lOOlwiZm9jdXNpblwiK2VlLFJFU0laRTpcInJlc2l6ZVwiK2VlLENMSUNLX0RJU01JU1M6XCJjbGljay5kaXNtaXNzXCIrZWUsS0VZRE9XTl9ESVNNSVNTOlwia2V5ZG93bi5kaXNtaXNzXCIrZWUsTU9VU0VVUF9ESVNNSVNTOlwibW91c2V1cC5kaXNtaXNzXCIrZWUsTU9VU0VET1dOX0RJU01JU1M6XCJtb3VzZWRvd24uZGlzbWlzc1wiK2VlLENMSUNLX0RBVEFfQVBJOlwiY2xpY2tcIitlZStcIi5kYXRhLWFwaVwifSxzZT1cIm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlXCIsYWU9XCJtb2RhbC1iYWNrZHJvcFwiLGxlPVwibW9kYWwtb3BlblwiLGNlPVwiZmFkZVwiLGhlPVwic2hvd1wiLHVlPVwiLm1vZGFsLWRpYWxvZ1wiLGZlPSdbZGF0YS10b2dnbGU9XCJtb2RhbFwiXScsZGU9J1tkYXRhLWRpc21pc3M9XCJtb2RhbFwiXScsZ2U9XCIuZml4ZWQtdG9wLCAuZml4ZWQtYm90dG9tLCAuaXMtZml4ZWQsIC5zdGlja3ktdG9wXCIsX2U9XCIuc3RpY2t5LXRvcFwiLG1lPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gcih0LGUpe3RoaXMuX2NvbmZpZz10aGlzLl9nZXRDb25maWcoZSksdGhpcy5fZWxlbWVudD10LHRoaXMuX2RpYWxvZz10LnF1ZXJ5U2VsZWN0b3IodWUpLHRoaXMuX2JhY2tkcm9wPW51bGwsdGhpcy5faXNTaG93bj0hMSx0aGlzLl9pc0JvZHlPdmVyZmxvd2luZz0hMSx0aGlzLl9pZ25vcmVCYWNrZHJvcENsaWNrPSExLHRoaXMuX3Njcm9sbGJhcldpZHRoPTB9dmFyIHQ9ci5wcm90b3R5cGU7cmV0dXJuIHQudG9nZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9pc1Nob3duP3RoaXMuaGlkZSgpOnRoaXMuc2hvdyh0KX0sdC5zaG93PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7aWYoIXRoaXMuX2lzVHJhbnNpdGlvbmluZyYmIXRoaXMuX2lzU2hvd24peyR0KHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKGNlKSYmKHRoaXMuX2lzVHJhbnNpdGlvbmluZz0hMCk7dmFyIG49JHQuRXZlbnQob2UuU0hPVyx7cmVsYXRlZFRhcmdldDp0fSk7JHQodGhpcy5fZWxlbWVudCkudHJpZ2dlcihuKSx0aGlzLl9pc1Nob3dufHxuLmlzRGVmYXVsdFByZXZlbnRlZCgpfHwodGhpcy5faXNTaG93bj0hMCx0aGlzLl9jaGVja1Njcm9sbGJhcigpLHRoaXMuX3NldFNjcm9sbGJhcigpLHRoaXMuX2FkanVzdERpYWxvZygpLCR0KGRvY3VtZW50LmJvZHkpLmFkZENsYXNzKGxlKSx0aGlzLl9zZXRFc2NhcGVFdmVudCgpLHRoaXMuX3NldFJlc2l6ZUV2ZW50KCksJHQodGhpcy5fZWxlbWVudCkub24ob2UuQ0xJQ0tfRElTTUlTUyxkZSxmdW5jdGlvbih0KXtyZXR1cm4gZS5oaWRlKHQpfSksJHQodGhpcy5fZGlhbG9nKS5vbihvZS5NT1VTRURPV05fRElTTUlTUyxmdW5jdGlvbigpeyR0KGUuX2VsZW1lbnQpLm9uZShvZS5NT1VTRVVQX0RJU01JU1MsZnVuY3Rpb24odCl7JHQodC50YXJnZXQpLmlzKGUuX2VsZW1lbnQpJiYoZS5faWdub3JlQmFja2Ryb3BDbGljaz0hMCl9KX0pLHRoaXMuX3Nob3dCYWNrZHJvcChmdW5jdGlvbigpe3JldHVybiBlLl9zaG93RWxlbWVudCh0KX0pKX19LHQuaGlkZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzO2lmKHQmJnQucHJldmVudERlZmF1bHQoKSwhdGhpcy5faXNUcmFuc2l0aW9uaW5nJiZ0aGlzLl9pc1Nob3duKXt2YXIgbj0kdC5FdmVudChvZS5ISURFKTtpZigkdCh0aGlzLl9lbGVtZW50KS50cmlnZ2VyKG4pLHRoaXMuX2lzU2hvd24mJiFuLmlzRGVmYXVsdFByZXZlbnRlZCgpKXt0aGlzLl9pc1Nob3duPSExO3ZhciBpPSR0KHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKGNlKTtpZihpJiYodGhpcy5faXNUcmFuc2l0aW9uaW5nPSEwKSx0aGlzLl9zZXRFc2NhcGVFdmVudCgpLHRoaXMuX3NldFJlc2l6ZUV2ZW50KCksJHQoZG9jdW1lbnQpLm9mZihvZS5GT0NVU0lOKSwkdCh0aGlzLl9lbGVtZW50KS5yZW1vdmVDbGFzcyhoZSksJHQodGhpcy5fZWxlbWVudCkub2ZmKG9lLkNMSUNLX0RJU01JU1MpLCR0KHRoaXMuX2RpYWxvZykub2ZmKG9lLk1PVVNFRE9XTl9ESVNNSVNTKSxpKXt2YXIgcj1Gbi5nZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudCh0aGlzLl9lbGVtZW50KTskdCh0aGlzLl9lbGVtZW50KS5vbmUoRm4uVFJBTlNJVElPTl9FTkQsZnVuY3Rpb24odCl7cmV0dXJuIGUuX2hpZGVNb2RhbCh0KX0pLmVtdWxhdGVUcmFuc2l0aW9uRW5kKHIpfWVsc2UgdGhpcy5faGlkZU1vZGFsKCl9fX0sdC5kaXNwb3NlPWZ1bmN0aW9uKCl7JHQucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LHRlKSwkdCh3aW5kb3csZG9jdW1lbnQsdGhpcy5fZWxlbWVudCx0aGlzLl9iYWNrZHJvcCkub2ZmKGVlKSx0aGlzLl9jb25maWc9bnVsbCx0aGlzLl9lbGVtZW50PW51bGwsdGhpcy5fZGlhbG9nPW51bGwsdGhpcy5fYmFja2Ryb3A9bnVsbCx0aGlzLl9pc1Nob3duPW51bGwsdGhpcy5faXNCb2R5T3ZlcmZsb3dpbmc9bnVsbCx0aGlzLl9pZ25vcmVCYWNrZHJvcENsaWNrPW51bGwsdGhpcy5fc2Nyb2xsYmFyV2lkdGg9bnVsbH0sdC5oYW5kbGVVcGRhdGU9ZnVuY3Rpb24oKXt0aGlzLl9hZGp1c3REaWFsb2coKX0sdC5fZ2V0Q29uZmlnPWZ1bmN0aW9uKHQpe3JldHVybiB0PWwoe30saWUsdCksRm4udHlwZUNoZWNrQ29uZmlnKFh0LHQscmUpLHR9LHQuX3Nob3dFbGVtZW50PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsbj0kdCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhjZSk7dGhpcy5fZWxlbWVudC5wYXJlbnROb2RlJiZ0aGlzLl9lbGVtZW50LnBhcmVudE5vZGUubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERXx8ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLl9lbGVtZW50KSx0aGlzLl9lbGVtZW50LnN0eWxlLmRpc3BsYXk9XCJibG9ja1wiLHRoaXMuX2VsZW1lbnQucmVtb3ZlQXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIiksdGhpcy5fZWxlbWVudC5zY3JvbGxUb3A9MCxuJiZGbi5yZWZsb3codGhpcy5fZWxlbWVudCksJHQodGhpcy5fZWxlbWVudCkuYWRkQ2xhc3MoaGUpLHRoaXMuX2NvbmZpZy5mb2N1cyYmdGhpcy5fZW5mb3JjZUZvY3VzKCk7dmFyIGk9JHQuRXZlbnQob2UuU0hPV04se3JlbGF0ZWRUYXJnZXQ6dH0pLHI9ZnVuY3Rpb24oKXtlLl9jb25maWcuZm9jdXMmJmUuX2VsZW1lbnQuZm9jdXMoKSxlLl9pc1RyYW5zaXRpb25pbmc9ITEsJHQoZS5fZWxlbWVudCkudHJpZ2dlcihpKX07aWYobil7dmFyIG89Rm4uZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7JHQodGhpcy5fZGlhbG9nKS5vbmUoRm4uVFJBTlNJVElPTl9FTkQscikuZW11bGF0ZVRyYW5zaXRpb25FbmQobyl9ZWxzZSByKCl9LHQuX2VuZm9yY2VGb2N1cz1mdW5jdGlvbigpe3ZhciBlPXRoaXM7JHQoZG9jdW1lbnQpLm9mZihvZS5GT0NVU0lOKS5vbihvZS5GT0NVU0lOLGZ1bmN0aW9uKHQpe2RvY3VtZW50IT09dC50YXJnZXQmJmUuX2VsZW1lbnQhPT10LnRhcmdldCYmMD09PSR0KGUuX2VsZW1lbnQpLmhhcyh0LnRhcmdldCkubGVuZ3RoJiZlLl9lbGVtZW50LmZvY3VzKCl9KX0sdC5fc2V0RXNjYXBlRXZlbnQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3RoaXMuX2lzU2hvd24mJnRoaXMuX2NvbmZpZy5rZXlib2FyZD8kdCh0aGlzLl9lbGVtZW50KS5vbihvZS5LRVlET1dOX0RJU01JU1MsZnVuY3Rpb24odCl7Mjc9PT10LndoaWNoJiYodC5wcmV2ZW50RGVmYXVsdCgpLGUuaGlkZSgpKX0pOnRoaXMuX2lzU2hvd258fCR0KHRoaXMuX2VsZW1lbnQpLm9mZihvZS5LRVlET1dOX0RJU01JU1MpfSx0Ll9zZXRSZXNpemVFdmVudD1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5faXNTaG93bj8kdCh3aW5kb3cpLm9uKG9lLlJFU0laRSxmdW5jdGlvbih0KXtyZXR1cm4gZS5oYW5kbGVVcGRhdGUodCl9KTokdCh3aW5kb3cpLm9mZihvZS5SRVNJWkUpfSx0Ll9oaWRlTW9kYWw9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3RoaXMuX2VsZW1lbnQuc3R5bGUuZGlzcGxheT1cIm5vbmVcIix0aGlzLl9lbGVtZW50LnNldEF0dHJpYnV0ZShcImFyaWEtaGlkZGVuXCIsITApLHRoaXMuX2lzVHJhbnNpdGlvbmluZz0hMSx0aGlzLl9zaG93QmFja2Ryb3AoZnVuY3Rpb24oKXskdChkb2N1bWVudC5ib2R5KS5yZW1vdmVDbGFzcyhsZSksdC5fcmVzZXRBZGp1c3RtZW50cygpLHQuX3Jlc2V0U2Nyb2xsYmFyKCksJHQodC5fZWxlbWVudCkudHJpZ2dlcihvZS5ISURERU4pfSl9LHQuX3JlbW92ZUJhY2tkcm9wPWZ1bmN0aW9uKCl7dGhpcy5fYmFja2Ryb3AmJigkdCh0aGlzLl9iYWNrZHJvcCkucmVtb3ZlKCksdGhpcy5fYmFja2Ryb3A9bnVsbCl9LHQuX3Nob3dCYWNrZHJvcD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49JHQodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoY2UpP2NlOlwiXCI7aWYodGhpcy5faXNTaG93biYmdGhpcy5fY29uZmlnLmJhY2tkcm9wKXtpZih0aGlzLl9iYWNrZHJvcD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLHRoaXMuX2JhY2tkcm9wLmNsYXNzTmFtZT1hZSxuJiZ0aGlzLl9iYWNrZHJvcC5jbGFzc0xpc3QuYWRkKG4pLCR0KHRoaXMuX2JhY2tkcm9wKS5hcHBlbmRUbyhkb2N1bWVudC5ib2R5KSwkdCh0aGlzLl9lbGVtZW50KS5vbihvZS5DTElDS19ESVNNSVNTLGZ1bmN0aW9uKHQpe2UuX2lnbm9yZUJhY2tkcm9wQ2xpY2s/ZS5faWdub3JlQmFja2Ryb3BDbGljaz0hMTp0LnRhcmdldD09PXQuY3VycmVudFRhcmdldCYmKFwic3RhdGljXCI9PT1lLl9jb25maWcuYmFja2Ryb3A/ZS5fZWxlbWVudC5mb2N1cygpOmUuaGlkZSgpKX0pLG4mJkZuLnJlZmxvdyh0aGlzLl9iYWNrZHJvcCksJHQodGhpcy5fYmFja2Ryb3ApLmFkZENsYXNzKGhlKSwhdClyZXR1cm47aWYoIW4pcmV0dXJuIHZvaWQgdCgpO3ZhciBpPUZuLmdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHRoaXMuX2JhY2tkcm9wKTskdCh0aGlzLl9iYWNrZHJvcCkub25lKEZuLlRSQU5TSVRJT05fRU5ELHQpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGkpfWVsc2UgaWYoIXRoaXMuX2lzU2hvd24mJnRoaXMuX2JhY2tkcm9wKXskdCh0aGlzLl9iYWNrZHJvcCkucmVtb3ZlQ2xhc3MoaGUpO3ZhciByPWZ1bmN0aW9uKCl7ZS5fcmVtb3ZlQmFja2Ryb3AoKSx0JiZ0KCl9O2lmKCR0KHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKGNlKSl7dmFyIG89Rm4uZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy5fYmFja2Ryb3ApOyR0KHRoaXMuX2JhY2tkcm9wKS5vbmUoRm4uVFJBTlNJVElPTl9FTkQscikuZW11bGF0ZVRyYW5zaXRpb25FbmQobyl9ZWxzZSByKCl9ZWxzZSB0JiZ0KCl9LHQuX2FkanVzdERpYWxvZz1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX2VsZW1lbnQuc2Nyb2xsSGVpZ2h0PmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7IXRoaXMuX2lzQm9keU92ZXJmbG93aW5nJiZ0JiYodGhpcy5fZWxlbWVudC5zdHlsZS5wYWRkaW5nTGVmdD10aGlzLl9zY3JvbGxiYXJXaWR0aCtcInB4XCIpLHRoaXMuX2lzQm9keU92ZXJmbG93aW5nJiYhdCYmKHRoaXMuX2VsZW1lbnQuc3R5bGUucGFkZGluZ1JpZ2h0PXRoaXMuX3Njcm9sbGJhcldpZHRoK1wicHhcIil9LHQuX3Jlc2V0QWRqdXN0bWVudHM9ZnVuY3Rpb24oKXt0aGlzLl9lbGVtZW50LnN0eWxlLnBhZGRpbmdMZWZ0PVwiXCIsdGhpcy5fZWxlbWVudC5zdHlsZS5wYWRkaW5nUmlnaHQ9XCJcIn0sdC5fY2hlY2tTY3JvbGxiYXI9ZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5ib2R5LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuX2lzQm9keU92ZXJmbG93aW5nPXQubGVmdCt0LnJpZ2h0PHdpbmRvdy5pbm5lcldpZHRoLHRoaXMuX3Njcm9sbGJhcldpZHRoPXRoaXMuX2dldFNjcm9sbGJhcldpZHRoKCl9LHQuX3NldFNjcm9sbGJhcj1mdW5jdGlvbigpe3ZhciByPXRoaXM7aWYodGhpcy5faXNCb2R5T3ZlcmZsb3dpbmcpe3ZhciB0PVtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChnZSkpLGU9W10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKF9lKSk7JHQodCkuZWFjaChmdW5jdGlvbih0LGUpe3ZhciBuPWUuc3R5bGUucGFkZGluZ1JpZ2h0LGk9JHQoZSkuY3NzKFwicGFkZGluZy1yaWdodFwiKTskdChlKS5kYXRhKFwicGFkZGluZy1yaWdodFwiLG4pLmNzcyhcInBhZGRpbmctcmlnaHRcIixwYXJzZUZsb2F0KGkpK3IuX3Njcm9sbGJhcldpZHRoK1wicHhcIil9KSwkdChlKS5lYWNoKGZ1bmN0aW9uKHQsZSl7dmFyIG49ZS5zdHlsZS5tYXJnaW5SaWdodCxpPSR0KGUpLmNzcyhcIm1hcmdpbi1yaWdodFwiKTskdChlKS5kYXRhKFwibWFyZ2luLXJpZ2h0XCIsbikuY3NzKFwibWFyZ2luLXJpZ2h0XCIscGFyc2VGbG9hdChpKS1yLl9zY3JvbGxiYXJXaWR0aCtcInB4XCIpfSk7dmFyIG49ZG9jdW1lbnQuYm9keS5zdHlsZS5wYWRkaW5nUmlnaHQsaT0kdChkb2N1bWVudC5ib2R5KS5jc3MoXCJwYWRkaW5nLXJpZ2h0XCIpOyR0KGRvY3VtZW50LmJvZHkpLmRhdGEoXCJwYWRkaW5nLXJpZ2h0XCIsbikuY3NzKFwicGFkZGluZy1yaWdodFwiLHBhcnNlRmxvYXQoaSkrdGhpcy5fc2Nyb2xsYmFyV2lkdGgrXCJweFwiKX19LHQuX3Jlc2V0U2Nyb2xsYmFyPWZ1bmN0aW9uKCl7dmFyIHQ9W10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGdlKSk7JHQodCkuZWFjaChmdW5jdGlvbih0LGUpe3ZhciBuPSR0KGUpLmRhdGEoXCJwYWRkaW5nLXJpZ2h0XCIpOyR0KGUpLnJlbW92ZURhdGEoXCJwYWRkaW5nLXJpZ2h0XCIpLGUuc3R5bGUucGFkZGluZ1JpZ2h0PW58fFwiXCJ9KTt2YXIgZT1bXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCJcIitfZSkpOyR0KGUpLmVhY2goZnVuY3Rpb24odCxlKXt2YXIgbj0kdChlKS5kYXRhKFwibWFyZ2luLXJpZ2h0XCIpO1widW5kZWZpbmVkXCIhPXR5cGVvZiBuJiYkdChlKS5jc3MoXCJtYXJnaW4tcmlnaHRcIixuKS5yZW1vdmVEYXRhKFwibWFyZ2luLXJpZ2h0XCIpfSk7dmFyIG49JHQoZG9jdW1lbnQuYm9keSkuZGF0YShcInBhZGRpbmctcmlnaHRcIik7JHQoZG9jdW1lbnQuYm9keSkucmVtb3ZlRGF0YShcInBhZGRpbmctcmlnaHRcIiksZG9jdW1lbnQuYm9keS5zdHlsZS5wYWRkaW5nUmlnaHQ9bnx8XCJcIn0sdC5fZ2V0U2Nyb2xsYmFyV2lkdGg9ZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO3QuY2xhc3NOYW1lPXNlLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCk7dmFyIGU9dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aC10LmNsaWVudFdpZHRoO3JldHVybiBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHQpLGV9LHIuX2pRdWVyeUludGVyZmFjZT1mdW5jdGlvbihuLGkpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgdD0kdCh0aGlzKS5kYXRhKHRlKSxlPWwoe30saWUsJHQodGhpcykuZGF0YSgpLFwib2JqZWN0XCI9PXR5cGVvZiBuJiZuP246e30pO2lmKHR8fCh0PW5ldyByKHRoaXMsZSksJHQodGhpcykuZGF0YSh0ZSx0KSksXCJzdHJpbmdcIj09dHlwZW9mIG4pe2lmKFwidW5kZWZpbmVkXCI9PXR5cGVvZiB0W25dKXRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCBcIicrbisnXCInKTt0W25dKGkpfWVsc2UgZS5zaG93JiZ0LnNob3coaSl9KX0scyhyLG51bGwsW3trZXk6XCJWRVJTSU9OXCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuXCI0LjEuM1wifX0se2tleTpcIkRlZmF1bHRcIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaWV9fV0pLHJ9KCksJHQoZG9jdW1lbnQpLm9uKG9lLkNMSUNLX0RBVEFfQVBJLGZlLGZ1bmN0aW9uKHQpe3ZhciBlLG49dGhpcyxpPUZuLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQodGhpcyk7aSYmKGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihpKSk7dmFyIHI9JHQoZSkuZGF0YSh0ZSk/XCJ0b2dnbGVcIjpsKHt9LCR0KGUpLmRhdGEoKSwkdCh0aGlzKS5kYXRhKCkpO1wiQVwiIT09dGhpcy50YWdOYW1lJiZcIkFSRUFcIiE9PXRoaXMudGFnTmFtZXx8dC5wcmV2ZW50RGVmYXVsdCgpO3ZhciBvPSR0KGUpLm9uZShvZS5TSE9XLGZ1bmN0aW9uKHQpe3QuaXNEZWZhdWx0UHJldmVudGVkKCl8fG8ub25lKG9lLkhJRERFTixmdW5jdGlvbigpeyR0KG4pLmlzKFwiOnZpc2libGVcIikmJm4uZm9jdXMoKX0pfSk7bWUuX2pRdWVyeUludGVyZmFjZS5jYWxsKCR0KGUpLHIsdGhpcyl9KSwkdC5mbltYdF09bWUuX2pRdWVyeUludGVyZmFjZSwkdC5mbltYdF0uQ29uc3RydWN0b3I9bWUsJHQuZm5bWHRdLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gJHQuZm5bWHRdPW5lLG1lLl9qUXVlcnlJbnRlcmZhY2V9LG1lKSx6bj0odmU9XCJ0b29sdGlwXCIsRWU9XCIuXCIrKHllPVwiYnMudG9vbHRpcFwiKSxDZT0ocGU9ZSkuZm5bdmVdLFRlPVwiYnMtdG9vbHRpcFwiLGJlPW5ldyBSZWdFeHAoXCIoXnxcXFxccylcIitUZStcIlxcXFxTK1wiLFwiZ1wiKSxBZT17YW5pbWF0aW9uOiEwLHRlbXBsYXRlOic8ZGl2IGNsYXNzPVwidG9vbHRpcFwiIHJvbGU9XCJ0b29sdGlwXCI+PGRpdiBjbGFzcz1cImFycm93XCI+PC9kaXY+PGRpdiBjbGFzcz1cInRvb2x0aXAtaW5uZXJcIj48L2Rpdj48L2Rpdj4nLHRyaWdnZXI6XCJob3ZlciBmb2N1c1wiLHRpdGxlOlwiXCIsZGVsYXk6MCxodG1sOiEoSWU9e0FVVE86XCJhdXRvXCIsVE9QOlwidG9wXCIsUklHSFQ6XCJyaWdodFwiLEJPVFRPTTpcImJvdHRvbVwiLExFRlQ6XCJsZWZ0XCJ9KSxzZWxlY3RvcjohKFNlPXthbmltYXRpb246XCJib29sZWFuXCIsdGVtcGxhdGU6XCJzdHJpbmdcIix0aXRsZTpcIihzdHJpbmd8ZWxlbWVudHxmdW5jdGlvbilcIix0cmlnZ2VyOlwic3RyaW5nXCIsZGVsYXk6XCIobnVtYmVyfG9iamVjdClcIixodG1sOlwiYm9vbGVhblwiLHNlbGVjdG9yOlwiKHN0cmluZ3xib29sZWFuKVwiLHBsYWNlbWVudDpcIihzdHJpbmd8ZnVuY3Rpb24pXCIsb2Zmc2V0OlwiKG51bWJlcnxzdHJpbmcpXCIsY29udGFpbmVyOlwiKHN0cmluZ3xlbGVtZW50fGJvb2xlYW4pXCIsZmFsbGJhY2tQbGFjZW1lbnQ6XCIoc3RyaW5nfGFycmF5KVwiLGJvdW5kYXJ5OlwiKHN0cmluZ3xlbGVtZW50KVwifSkscGxhY2VtZW50OlwidG9wXCIsb2Zmc2V0OjAsY29udGFpbmVyOiExLGZhbGxiYWNrUGxhY2VtZW50OlwiZmxpcFwiLGJvdW5kYXJ5Olwic2Nyb2xsUGFyZW50XCJ9LHdlPVwib3V0XCIsTmU9e0hJREU6XCJoaWRlXCIrRWUsSElEREVOOlwiaGlkZGVuXCIrRWUsU0hPVzooRGU9XCJzaG93XCIpK0VlLFNIT1dOOlwic2hvd25cIitFZSxJTlNFUlRFRDpcImluc2VydGVkXCIrRWUsQ0xJQ0s6XCJjbGlja1wiK0VlLEZPQ1VTSU46XCJmb2N1c2luXCIrRWUsRk9DVVNPVVQ6XCJmb2N1c291dFwiK0VlLE1PVVNFRU5URVI6XCJtb3VzZWVudGVyXCIrRWUsTU9VU0VMRUFWRTpcIm1vdXNlbGVhdmVcIitFZX0sT2U9XCJmYWRlXCIsa2U9XCJzaG93XCIsUGU9XCIudG9vbHRpcC1pbm5lclwiLGplPVwiLmFycm93XCIsSGU9XCJob3ZlclwiLExlPVwiZm9jdXNcIixSZT1cImNsaWNrXCIseGU9XCJtYW51YWxcIixXZT1mdW5jdGlvbigpe2Z1bmN0aW9uIGkodCxlKXtpZihcInVuZGVmaW5lZFwiPT10eXBlb2YgaCl0aHJvdyBuZXcgVHlwZUVycm9yKFwiQm9vdHN0cmFwIHRvb2x0aXBzIHJlcXVpcmUgUG9wcGVyLmpzIChodHRwczovL3BvcHBlci5qcy5vcmcpXCIpO3RoaXMuX2lzRW5hYmxlZD0hMCx0aGlzLl90aW1lb3V0PTAsdGhpcy5faG92ZXJTdGF0ZT1cIlwiLHRoaXMuX2FjdGl2ZVRyaWdnZXI9e30sdGhpcy5fcG9wcGVyPW51bGwsdGhpcy5lbGVtZW50PXQsdGhpcy5jb25maWc9dGhpcy5fZ2V0Q29uZmlnKGUpLHRoaXMudGlwPW51bGwsdGhpcy5fc2V0TGlzdGVuZXJzKCl9dmFyIHQ9aS5wcm90b3R5cGU7cmV0dXJuIHQuZW5hYmxlPWZ1bmN0aW9uKCl7dGhpcy5faXNFbmFibGVkPSEwfSx0LmRpc2FibGU9ZnVuY3Rpb24oKXt0aGlzLl9pc0VuYWJsZWQ9ITF9LHQudG9nZ2xlRW5hYmxlZD1mdW5jdGlvbigpe3RoaXMuX2lzRW5hYmxlZD0hdGhpcy5faXNFbmFibGVkfSx0LnRvZ2dsZT1mdW5jdGlvbih0KXtpZih0aGlzLl9pc0VuYWJsZWQpaWYodCl7dmFyIGU9dGhpcy5jb25zdHJ1Y3Rvci5EQVRBX0tFWSxuPXBlKHQuY3VycmVudFRhcmdldCkuZGF0YShlKTtufHwobj1uZXcgdGhpcy5jb25zdHJ1Y3Rvcih0LmN1cnJlbnRUYXJnZXQsdGhpcy5fZ2V0RGVsZWdhdGVDb25maWcoKSkscGUodC5jdXJyZW50VGFyZ2V0KS5kYXRhKGUsbikpLG4uX2FjdGl2ZVRyaWdnZXIuY2xpY2s9IW4uX2FjdGl2ZVRyaWdnZXIuY2xpY2ssbi5faXNXaXRoQWN0aXZlVHJpZ2dlcigpP24uX2VudGVyKG51bGwsbik6bi5fbGVhdmUobnVsbCxuKX1lbHNle2lmKHBlKHRoaXMuZ2V0VGlwRWxlbWVudCgpKS5oYXNDbGFzcyhrZSkpcmV0dXJuIHZvaWQgdGhpcy5fbGVhdmUobnVsbCx0aGlzKTt0aGlzLl9lbnRlcihudWxsLHRoaXMpfX0sdC5kaXNwb3NlPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXQpLHBlLnJlbW92ZURhdGEodGhpcy5lbGVtZW50LHRoaXMuY29uc3RydWN0b3IuREFUQV9LRVkpLHBlKHRoaXMuZWxlbWVudCkub2ZmKHRoaXMuY29uc3RydWN0b3IuRVZFTlRfS0VZKSxwZSh0aGlzLmVsZW1lbnQpLmNsb3Nlc3QoXCIubW9kYWxcIikub2ZmKFwiaGlkZS5icy5tb2RhbFwiKSx0aGlzLnRpcCYmcGUodGhpcy50aXApLnJlbW92ZSgpLHRoaXMuX2lzRW5hYmxlZD1udWxsLHRoaXMuX3RpbWVvdXQ9bnVsbCx0aGlzLl9ob3ZlclN0YXRlPW51bGwsKHRoaXMuX2FjdGl2ZVRyaWdnZXI9bnVsbCkhPT10aGlzLl9wb3BwZXImJnRoaXMuX3BvcHBlci5kZXN0cm95KCksdGhpcy5fcG9wcGVyPW51bGwsdGhpcy5lbGVtZW50PW51bGwsdGhpcy5jb25maWc9bnVsbCx0aGlzLnRpcD1udWxsfSx0LnNob3c9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO2lmKFwibm9uZVwiPT09cGUodGhpcy5lbGVtZW50KS5jc3MoXCJkaXNwbGF5XCIpKXRocm93IG5ldyBFcnJvcihcIlBsZWFzZSB1c2Ugc2hvdyBvbiB2aXNpYmxlIGVsZW1lbnRzXCIpO3ZhciB0PXBlLkV2ZW50KHRoaXMuY29uc3RydWN0b3IuRXZlbnQuU0hPVyk7aWYodGhpcy5pc1dpdGhDb250ZW50KCkmJnRoaXMuX2lzRW5hYmxlZCl7cGUodGhpcy5lbGVtZW50KS50cmlnZ2VyKHQpO3ZhciBuPXBlLmNvbnRhaW5zKHRoaXMuZWxlbWVudC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCx0aGlzLmVsZW1lbnQpO2lmKHQuaXNEZWZhdWx0UHJldmVudGVkKCl8fCFuKXJldHVybjt2YXIgaT10aGlzLmdldFRpcEVsZW1lbnQoKSxyPUZuLmdldFVJRCh0aGlzLmNvbnN0cnVjdG9yLk5BTUUpO2kuc2V0QXR0cmlidXRlKFwiaWRcIixyKSx0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKFwiYXJpYS1kZXNjcmliZWRieVwiLHIpLHRoaXMuc2V0Q29udGVudCgpLHRoaXMuY29uZmlnLmFuaW1hdGlvbiYmcGUoaSkuYWRkQ2xhc3MoT2UpO3ZhciBvPVwiZnVuY3Rpb25cIj09dHlwZW9mIHRoaXMuY29uZmlnLnBsYWNlbWVudD90aGlzLmNvbmZpZy5wbGFjZW1lbnQuY2FsbCh0aGlzLGksdGhpcy5lbGVtZW50KTp0aGlzLmNvbmZpZy5wbGFjZW1lbnQscz10aGlzLl9nZXRBdHRhY2htZW50KG8pO3RoaXMuYWRkQXR0YWNobWVudENsYXNzKHMpO3ZhciBhPSExPT09dGhpcy5jb25maWcuY29udGFpbmVyP2RvY3VtZW50LmJvZHk6cGUoZG9jdW1lbnQpLmZpbmQodGhpcy5jb25maWcuY29udGFpbmVyKTtwZShpKS5kYXRhKHRoaXMuY29uc3RydWN0b3IuREFUQV9LRVksdGhpcykscGUuY29udGFpbnModGhpcy5lbGVtZW50Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHRoaXMudGlwKXx8cGUoaSkuYXBwZW5kVG8oYSkscGUodGhpcy5lbGVtZW50KS50cmlnZ2VyKHRoaXMuY29uc3RydWN0b3IuRXZlbnQuSU5TRVJURUQpLHRoaXMuX3BvcHBlcj1uZXcgaCh0aGlzLmVsZW1lbnQsaSx7cGxhY2VtZW50OnMsbW9kaWZpZXJzOntvZmZzZXQ6e29mZnNldDp0aGlzLmNvbmZpZy5vZmZzZXR9LGZsaXA6e2JlaGF2aW9yOnRoaXMuY29uZmlnLmZhbGxiYWNrUGxhY2VtZW50fSxhcnJvdzp7ZWxlbWVudDpqZX0scHJldmVudE92ZXJmbG93Ontib3VuZGFyaWVzRWxlbWVudDp0aGlzLmNvbmZpZy5ib3VuZGFyeX19LG9uQ3JlYXRlOmZ1bmN0aW9uKHQpe3Qub3JpZ2luYWxQbGFjZW1lbnQhPT10LnBsYWNlbWVudCYmZS5faGFuZGxlUG9wcGVyUGxhY2VtZW50Q2hhbmdlKHQpfSxvblVwZGF0ZTpmdW5jdGlvbih0KXtlLl9oYW5kbGVQb3BwZXJQbGFjZW1lbnRDaGFuZ2UodCl9fSkscGUoaSkuYWRkQ2xhc3Moa2UpLFwib250b3VjaHN0YXJ0XCJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJnBlKGRvY3VtZW50LmJvZHkpLmNoaWxkcmVuKCkub24oXCJtb3VzZW92ZXJcIixudWxsLHBlLm5vb3ApO3ZhciBsPWZ1bmN0aW9uKCl7ZS5jb25maWcuYW5pbWF0aW9uJiZlLl9maXhUcmFuc2l0aW9uKCk7dmFyIHQ9ZS5faG92ZXJTdGF0ZTtlLl9ob3ZlclN0YXRlPW51bGwscGUoZS5lbGVtZW50KS50cmlnZ2VyKGUuY29uc3RydWN0b3IuRXZlbnQuU0hPV04pLHQ9PT13ZSYmZS5fbGVhdmUobnVsbCxlKX07aWYocGUodGhpcy50aXApLmhhc0NsYXNzKE9lKSl7dmFyIGM9Rm4uZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy50aXApO3BlKHRoaXMudGlwKS5vbmUoRm4uVFJBTlNJVElPTl9FTkQsbCkuZW11bGF0ZVRyYW5zaXRpb25FbmQoYyl9ZWxzZSBsKCl9fSx0LmhpZGU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxuPXRoaXMuZ2V0VGlwRWxlbWVudCgpLGk9cGUuRXZlbnQodGhpcy5jb25zdHJ1Y3Rvci5FdmVudC5ISURFKSxyPWZ1bmN0aW9uKCl7ZS5faG92ZXJTdGF0ZSE9PURlJiZuLnBhcmVudE5vZGUmJm4ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKSxlLl9jbGVhblRpcENsYXNzKCksZS5lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShcImFyaWEtZGVzY3JpYmVkYnlcIikscGUoZS5lbGVtZW50KS50cmlnZ2VyKGUuY29uc3RydWN0b3IuRXZlbnQuSElEREVOKSxudWxsIT09ZS5fcG9wcGVyJiZlLl9wb3BwZXIuZGVzdHJveSgpLHQmJnQoKX07aWYocGUodGhpcy5lbGVtZW50KS50cmlnZ2VyKGkpLCFpLmlzRGVmYXVsdFByZXZlbnRlZCgpKXtpZihwZShuKS5yZW1vdmVDbGFzcyhrZSksXCJvbnRvdWNoc3RhcnRcImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmcGUoZG9jdW1lbnQuYm9keSkuY2hpbGRyZW4oKS5vZmYoXCJtb3VzZW92ZXJcIixudWxsLHBlLm5vb3ApLHRoaXMuX2FjdGl2ZVRyaWdnZXJbUmVdPSExLHRoaXMuX2FjdGl2ZVRyaWdnZXJbTGVdPSExLHRoaXMuX2FjdGl2ZVRyaWdnZXJbSGVdPSExLHBlKHRoaXMudGlwKS5oYXNDbGFzcyhPZSkpe3ZhciBvPUZuLmdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KG4pO3BlKG4pLm9uZShGbi5UUkFOU0lUSU9OX0VORCxyKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChvKX1lbHNlIHIoKTt0aGlzLl9ob3ZlclN0YXRlPVwiXCJ9fSx0LnVwZGF0ZT1mdW5jdGlvbigpe251bGwhPT10aGlzLl9wb3BwZXImJnRoaXMuX3BvcHBlci5zY2hlZHVsZVVwZGF0ZSgpfSx0LmlzV2l0aENvbnRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gQm9vbGVhbih0aGlzLmdldFRpdGxlKCkpfSx0LmFkZEF0dGFjaG1lbnRDbGFzcz1mdW5jdGlvbih0KXtwZSh0aGlzLmdldFRpcEVsZW1lbnQoKSkuYWRkQ2xhc3MoVGUrXCItXCIrdCl9LHQuZ2V0VGlwRWxlbWVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRpcD10aGlzLnRpcHx8cGUodGhpcy5jb25maWcudGVtcGxhdGUpWzBdLHRoaXMudGlwfSx0LnNldENvbnRlbnQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmdldFRpcEVsZW1lbnQoKTt0aGlzLnNldEVsZW1lbnRDb250ZW50KHBlKHQucXVlcnlTZWxlY3RvckFsbChQZSkpLHRoaXMuZ2V0VGl0bGUoKSkscGUodCkucmVtb3ZlQ2xhc3MoT2UrXCIgXCIra2UpfSx0LnNldEVsZW1lbnRDb250ZW50PWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5jb25maWcuaHRtbDtcIm9iamVjdFwiPT10eXBlb2YgZSYmKGUubm9kZVR5cGV8fGUuanF1ZXJ5KT9uP3BlKGUpLnBhcmVudCgpLmlzKHQpfHx0LmVtcHR5KCkuYXBwZW5kKGUpOnQudGV4dChwZShlKS50ZXh0KCkpOnRbbj9cImh0bWxcIjpcInRleHRcIl0oZSl9LHQuZ2V0VGl0bGU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiZGF0YS1vcmlnaW5hbC10aXRsZVwiKTtyZXR1cm4gdHx8KHQ9XCJmdW5jdGlvblwiPT10eXBlb2YgdGhpcy5jb25maWcudGl0bGU/dGhpcy5jb25maWcudGl0bGUuY2FsbCh0aGlzLmVsZW1lbnQpOnRoaXMuY29uZmlnLnRpdGxlKSx0fSx0Ll9nZXRBdHRhY2htZW50PWZ1bmN0aW9uKHQpe3JldHVybiBJZVt0LnRvVXBwZXJDYXNlKCldfSx0Ll9zZXRMaXN0ZW5lcnM9ZnVuY3Rpb24oKXt2YXIgaT10aGlzO3RoaXMuY29uZmlnLnRyaWdnZXIuc3BsaXQoXCIgXCIpLmZvckVhY2goZnVuY3Rpb24odCl7aWYoXCJjbGlja1wiPT09dClwZShpLmVsZW1lbnQpLm9uKGkuY29uc3RydWN0b3IuRXZlbnQuQ0xJQ0ssaS5jb25maWcuc2VsZWN0b3IsZnVuY3Rpb24odCl7cmV0dXJuIGkudG9nZ2xlKHQpfSk7ZWxzZSBpZih0IT09eGUpe3ZhciBlPXQ9PT1IZT9pLmNvbnN0cnVjdG9yLkV2ZW50Lk1PVVNFRU5URVI6aS5jb25zdHJ1Y3Rvci5FdmVudC5GT0NVU0lOLG49dD09PUhlP2kuY29uc3RydWN0b3IuRXZlbnQuTU9VU0VMRUFWRTppLmNvbnN0cnVjdG9yLkV2ZW50LkZPQ1VTT1VUO3BlKGkuZWxlbWVudCkub24oZSxpLmNvbmZpZy5zZWxlY3RvcixmdW5jdGlvbih0KXtyZXR1cm4gaS5fZW50ZXIodCl9KS5vbihuLGkuY29uZmlnLnNlbGVjdG9yLGZ1bmN0aW9uKHQpe3JldHVybiBpLl9sZWF2ZSh0KX0pfXBlKGkuZWxlbWVudCkuY2xvc2VzdChcIi5tb2RhbFwiKS5vbihcImhpZGUuYnMubW9kYWxcIixmdW5jdGlvbigpe3JldHVybiBpLmhpZGUoKX0pfSksdGhpcy5jb25maWcuc2VsZWN0b3I/dGhpcy5jb25maWc9bCh7fSx0aGlzLmNvbmZpZyx7dHJpZ2dlcjpcIm1hbnVhbFwiLHNlbGVjdG9yOlwiXCJ9KTp0aGlzLl9maXhUaXRsZSgpfSx0Ll9maXhUaXRsZT1mdW5jdGlvbigpe3ZhciB0PXR5cGVvZiB0aGlzLmVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiZGF0YS1vcmlnaW5hbC10aXRsZVwiKTsodGhpcy5lbGVtZW50LmdldEF0dHJpYnV0ZShcInRpdGxlXCIpfHxcInN0cmluZ1wiIT09dCkmJih0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1vcmlnaW5hbC10aXRsZVwiLHRoaXMuZWxlbWVudC5nZXRBdHRyaWJ1dGUoXCJ0aXRsZVwiKXx8XCJcIiksdGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZShcInRpdGxlXCIsXCJcIikpfSx0Ll9lbnRlcj1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuY29uc3RydWN0b3IuREFUQV9LRVk7KGU9ZXx8cGUodC5jdXJyZW50VGFyZ2V0KS5kYXRhKG4pKXx8KGU9bmV3IHRoaXMuY29uc3RydWN0b3IodC5jdXJyZW50VGFyZ2V0LHRoaXMuX2dldERlbGVnYXRlQ29uZmlnKCkpLHBlKHQuY3VycmVudFRhcmdldCkuZGF0YShuLGUpKSx0JiYoZS5fYWN0aXZlVHJpZ2dlcltcImZvY3VzaW5cIj09PXQudHlwZT9MZTpIZV09ITApLHBlKGUuZ2V0VGlwRWxlbWVudCgpKS5oYXNDbGFzcyhrZSl8fGUuX2hvdmVyU3RhdGU9PT1EZT9lLl9ob3ZlclN0YXRlPURlOihjbGVhclRpbWVvdXQoZS5fdGltZW91dCksZS5faG92ZXJTdGF0ZT1EZSxlLmNvbmZpZy5kZWxheSYmZS5jb25maWcuZGVsYXkuc2hvdz9lLl90aW1lb3V0PXNldFRpbWVvdXQoZnVuY3Rpb24oKXtlLl9ob3ZlclN0YXRlPT09RGUmJmUuc2hvdygpfSxlLmNvbmZpZy5kZWxheS5zaG93KTplLnNob3coKSl9LHQuX2xlYXZlPWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5jb25zdHJ1Y3Rvci5EQVRBX0tFWTsoZT1lfHxwZSh0LmN1cnJlbnRUYXJnZXQpLmRhdGEobikpfHwoZT1uZXcgdGhpcy5jb25zdHJ1Y3Rvcih0LmN1cnJlbnRUYXJnZXQsdGhpcy5fZ2V0RGVsZWdhdGVDb25maWcoKSkscGUodC5jdXJyZW50VGFyZ2V0KS5kYXRhKG4sZSkpLHQmJihlLl9hY3RpdmVUcmlnZ2VyW1wiZm9jdXNvdXRcIj09PXQudHlwZT9MZTpIZV09ITEpLGUuX2lzV2l0aEFjdGl2ZVRyaWdnZXIoKXx8KGNsZWFyVGltZW91dChlLl90aW1lb3V0KSxlLl9ob3ZlclN0YXRlPXdlLGUuY29uZmlnLmRlbGF5JiZlLmNvbmZpZy5kZWxheS5oaWRlP2UuX3RpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbigpe2UuX2hvdmVyU3RhdGU9PT13ZSYmZS5oaWRlKCl9LGUuY29uZmlnLmRlbGF5LmhpZGUpOmUuaGlkZSgpKX0sdC5faXNXaXRoQWN0aXZlVHJpZ2dlcj1mdW5jdGlvbigpe2Zvcih2YXIgdCBpbiB0aGlzLl9hY3RpdmVUcmlnZ2VyKWlmKHRoaXMuX2FjdGl2ZVRyaWdnZXJbdF0pcmV0dXJuITA7cmV0dXJuITF9LHQuX2dldENvbmZpZz1mdW5jdGlvbih0KXtyZXR1cm5cIm51bWJlclwiPT10eXBlb2YodD1sKHt9LHRoaXMuY29uc3RydWN0b3IuRGVmYXVsdCxwZSh0aGlzLmVsZW1lbnQpLmRhdGEoKSxcIm9iamVjdFwiPT10eXBlb2YgdCYmdD90Ont9KSkuZGVsYXkmJih0LmRlbGF5PXtzaG93OnQuZGVsYXksaGlkZTp0LmRlbGF5fSksXCJudW1iZXJcIj09dHlwZW9mIHQudGl0bGUmJih0LnRpdGxlPXQudGl0bGUudG9TdHJpbmcoKSksXCJudW1iZXJcIj09dHlwZW9mIHQuY29udGVudCYmKHQuY29udGVudD10LmNvbnRlbnQudG9TdHJpbmcoKSksRm4udHlwZUNoZWNrQ29uZmlnKHZlLHQsdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0VHlwZSksdH0sdC5fZ2V0RGVsZWdhdGVDb25maWc9ZnVuY3Rpb24oKXt2YXIgdD17fTtpZih0aGlzLmNvbmZpZylmb3IodmFyIGUgaW4gdGhpcy5jb25maWcpdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0W2VdIT09dGhpcy5jb25maWdbZV0mJih0W2VdPXRoaXMuY29uZmlnW2VdKTtyZXR1cm4gdH0sdC5fY2xlYW5UaXBDbGFzcz1mdW5jdGlvbigpe3ZhciB0PXBlKHRoaXMuZ2V0VGlwRWxlbWVudCgpKSxlPXQuYXR0cihcImNsYXNzXCIpLm1hdGNoKGJlKTtudWxsIT09ZSYmZS5sZW5ndGgmJnQucmVtb3ZlQ2xhc3MoZS5qb2luKFwiXCIpKX0sdC5faGFuZGxlUG9wcGVyUGxhY2VtZW50Q2hhbmdlPWZ1bmN0aW9uKHQpe3ZhciBlPXQuaW5zdGFuY2U7dGhpcy50aXA9ZS5wb3BwZXIsdGhpcy5fY2xlYW5UaXBDbGFzcygpLHRoaXMuYWRkQXR0YWNobWVudENsYXNzKHRoaXMuX2dldEF0dGFjaG1lbnQodC5wbGFjZW1lbnQpKX0sdC5fZml4VHJhbnNpdGlvbj1mdW5jdGlvbigpe3ZhciB0PXRoaXMuZ2V0VGlwRWxlbWVudCgpLGU9dGhpcy5jb25maWcuYW5pbWF0aW9uO251bGw9PT10LmdldEF0dHJpYnV0ZShcIngtcGxhY2VtZW50XCIpJiYocGUodCkucmVtb3ZlQ2xhc3MoT2UpLHRoaXMuY29uZmlnLmFuaW1hdGlvbj0hMSx0aGlzLmhpZGUoKSx0aGlzLnNob3coKSx0aGlzLmNvbmZpZy5hbmltYXRpb249ZSl9LGkuX2pRdWVyeUludGVyZmFjZT1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9cGUodGhpcykuZGF0YSh5ZSksZT1cIm9iamVjdFwiPT10eXBlb2YgbiYmbjtpZigodHx8IS9kaXNwb3NlfGhpZGUvLnRlc3QobikpJiYodHx8KHQ9bmV3IGkodGhpcyxlKSxwZSh0aGlzKS5kYXRhKHllLHQpKSxcInN0cmluZ1wiPT10eXBlb2Ygbikpe2lmKFwidW5kZWZpbmVkXCI9PXR5cGVvZiB0W25dKXRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCBcIicrbisnXCInKTt0W25dKCl9fSl9LHMoaSxudWxsLFt7a2V5OlwiVkVSU0lPTlwiLGdldDpmdW5jdGlvbigpe3JldHVyblwiNC4xLjNcIn19LHtrZXk6XCJEZWZhdWx0XCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEFlfX0se2tleTpcIk5BTUVcIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdmV9fSx7a2V5OlwiREFUQV9LRVlcIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4geWV9fSx7a2V5OlwiRXZlbnRcIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gTmV9fSx7a2V5OlwiRVZFTlRfS0VZXCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEVlfX0se2tleTpcIkRlZmF1bHRUeXBlXCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFNlfX1dKSxpfSgpLHBlLmZuW3ZlXT1XZS5falF1ZXJ5SW50ZXJmYWNlLHBlLmZuW3ZlXS5Db25zdHJ1Y3Rvcj1XZSxwZS5mblt2ZV0ubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBwZS5mblt2ZV09Q2UsV2UuX2pRdWVyeUludGVyZmFjZX0sV2UpLEpuPShxZT1cInBvcG92ZXJcIixLZT1cIi5cIisoRmU9XCJicy5wb3BvdmVyXCIpLE1lPShVZT1lKS5mbltxZV0sUWU9XCJicy1wb3BvdmVyXCIsQmU9bmV3IFJlZ0V4cChcIihefFxcXFxzKVwiK1FlK1wiXFxcXFMrXCIsXCJnXCIpLFZlPWwoe30sem4uRGVmYXVsdCx7cGxhY2VtZW50OlwicmlnaHRcIix0cmlnZ2VyOlwiY2xpY2tcIixjb250ZW50OlwiXCIsdGVtcGxhdGU6JzxkaXYgY2xhc3M9XCJwb3BvdmVyXCIgcm9sZT1cInRvb2x0aXBcIj48ZGl2IGNsYXNzPVwiYXJyb3dcIj48L2Rpdj48aDMgY2xhc3M9XCJwb3BvdmVyLWhlYWRlclwiPjwvaDM+PGRpdiBjbGFzcz1cInBvcG92ZXItYm9keVwiPjwvZGl2PjwvZGl2Pid9KSxZZT1sKHt9LHpuLkRlZmF1bHRUeXBlLHtjb250ZW50OlwiKHN0cmluZ3xlbGVtZW50fGZ1bmN0aW9uKVwifSksemU9XCJmYWRlXCIsWmU9XCIucG9wb3Zlci1oZWFkZXJcIixHZT1cIi5wb3BvdmVyLWJvZHlcIiwkZT17SElERTpcImhpZGVcIitLZSxISURERU46XCJoaWRkZW5cIitLZSxTSE9XOihKZT1cInNob3dcIikrS2UsU0hPV046XCJzaG93blwiK0tlLElOU0VSVEVEOlwiaW5zZXJ0ZWRcIitLZSxDTElDSzpcImNsaWNrXCIrS2UsRk9DVVNJTjpcImZvY3VzaW5cIitLZSxGT0NVU09VVDpcImZvY3Vzb3V0XCIrS2UsTU9VU0VFTlRFUjpcIm1vdXNlZW50ZXJcIitLZSxNT1VTRUxFQVZFOlwibW91c2VsZWF2ZVwiK0tlfSxYZT1mdW5jdGlvbih0KXt2YXIgZSxuO2Z1bmN0aW9uIGkoKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9bj10LChlPWkpLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG4ucHJvdG90eXBlKSwoZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSkuX19wcm90b19fPW47dmFyIHI9aS5wcm90b3R5cGU7cmV0dXJuIHIuaXNXaXRoQ29udGVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmdldFRpdGxlKCl8fHRoaXMuX2dldENvbnRlbnQoKX0sci5hZGRBdHRhY2htZW50Q2xhc3M9ZnVuY3Rpb24odCl7VWUodGhpcy5nZXRUaXBFbGVtZW50KCkpLmFkZENsYXNzKFFlK1wiLVwiK3QpfSxyLmdldFRpcEVsZW1lbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50aXA9dGhpcy50aXB8fFVlKHRoaXMuY29uZmlnLnRlbXBsYXRlKVswXSx0aGlzLnRpcH0sci5zZXRDb250ZW50PWZ1bmN0aW9uKCl7dmFyIHQ9VWUodGhpcy5nZXRUaXBFbGVtZW50KCkpO3RoaXMuc2V0RWxlbWVudENvbnRlbnQodC5maW5kKFplKSx0aGlzLmdldFRpdGxlKCkpO3ZhciBlPXRoaXMuX2dldENvbnRlbnQoKTtcImZ1bmN0aW9uXCI9PXR5cGVvZiBlJiYoZT1lLmNhbGwodGhpcy5lbGVtZW50KSksdGhpcy5zZXRFbGVtZW50Q29udGVudCh0LmZpbmQoR2UpLGUpLHQucmVtb3ZlQ2xhc3MoemUrXCIgXCIrSmUpfSxyLl9nZXRDb250ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudC5nZXRBdHRyaWJ1dGUoXCJkYXRhLWNvbnRlbnRcIil8fHRoaXMuY29uZmlnLmNvbnRlbnR9LHIuX2NsZWFuVGlwQ2xhc3M9ZnVuY3Rpb24oKXt2YXIgdD1VZSh0aGlzLmdldFRpcEVsZW1lbnQoKSksZT10LmF0dHIoXCJjbGFzc1wiKS5tYXRjaChCZSk7bnVsbCE9PWUmJjA8ZS5sZW5ndGgmJnQucmVtb3ZlQ2xhc3MoZS5qb2luKFwiXCIpKX0saS5falF1ZXJ5SW50ZXJmYWNlPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1VZSh0aGlzKS5kYXRhKEZlKSxlPVwib2JqZWN0XCI9PXR5cGVvZiBuP246bnVsbDtpZigodHx8IS9kZXN0cm95fGhpZGUvLnRlc3QobikpJiYodHx8KHQ9bmV3IGkodGhpcyxlKSxVZSh0aGlzKS5kYXRhKEZlLHQpKSxcInN0cmluZ1wiPT10eXBlb2Ygbikpe2lmKFwidW5kZWZpbmVkXCI9PXR5cGVvZiB0W25dKXRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCBcIicrbisnXCInKTt0W25dKCl9fSl9LHMoaSxudWxsLFt7a2V5OlwiVkVSU0lPTlwiLGdldDpmdW5jdGlvbigpe3JldHVyblwiNC4xLjNcIn19LHtrZXk6XCJEZWZhdWx0XCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFZlfX0se2tleTpcIk5BTUVcIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gcWV9fSx7a2V5OlwiREFUQV9LRVlcIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gRmV9fSx7a2V5OlwiRXZlbnRcIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gJGV9fSx7a2V5OlwiRVZFTlRfS0VZXCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEtlfX0se2tleTpcIkRlZmF1bHRUeXBlXCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFllfX1dKSxpfSh6biksVWUuZm5bcWVdPVhlLl9qUXVlcnlJbnRlcmZhY2UsVWUuZm5bcWVdLkNvbnN0cnVjdG9yPVhlLFVlLmZuW3FlXS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIFVlLmZuW3FlXT1NZSxYZS5falF1ZXJ5SW50ZXJmYWNlfSxYZSksWm49KGVuPVwic2Nyb2xsc3B5XCIscm49XCIuXCIrKG5uPVwiYnMuc2Nyb2xsc3B5XCIpLG9uPSh0bj1lKS5mbltlbl0sc249e29mZnNldDoxMCxtZXRob2Q6XCJhdXRvXCIsdGFyZ2V0OlwiXCJ9LGFuPXtvZmZzZXQ6XCJudW1iZXJcIixtZXRob2Q6XCJzdHJpbmdcIix0YXJnZXQ6XCIoc3RyaW5nfGVsZW1lbnQpXCJ9LGxuPXtBQ1RJVkFURTpcImFjdGl2YXRlXCIrcm4sU0NST0xMOlwic2Nyb2xsXCIrcm4sTE9BRF9EQVRBX0FQSTpcImxvYWRcIitybitcIi5kYXRhLWFwaVwifSxjbj1cImRyb3Bkb3duLWl0ZW1cIixobj1cImFjdGl2ZVwiLHVuPSdbZGF0YS1zcHk9XCJzY3JvbGxcIl0nLGZuPVwiLmFjdGl2ZVwiLGRuPVwiLm5hdiwgLmxpc3QtZ3JvdXBcIixnbj1cIi5uYXYtbGlua1wiLF9uPVwiLm5hdi1pdGVtXCIsbW49XCIubGlzdC1ncm91cC1pdGVtXCIscG49XCIuZHJvcGRvd25cIix2bj1cIi5kcm9wZG93bi1pdGVtXCIseW49XCIuZHJvcGRvd24tdG9nZ2xlXCIsRW49XCJvZmZzZXRcIixDbj1cInBvc2l0aW9uXCIsVG49ZnVuY3Rpb24oKXtmdW5jdGlvbiBuKHQsZSl7dmFyIG49dGhpczt0aGlzLl9lbGVtZW50PXQsdGhpcy5fc2Nyb2xsRWxlbWVudD1cIkJPRFlcIj09PXQudGFnTmFtZT93aW5kb3c6dCx0aGlzLl9jb25maWc9dGhpcy5fZ2V0Q29uZmlnKGUpLHRoaXMuX3NlbGVjdG9yPXRoaXMuX2NvbmZpZy50YXJnZXQrXCIgXCIrZ24rXCIsXCIrdGhpcy5fY29uZmlnLnRhcmdldCtcIiBcIittbitcIixcIit0aGlzLl9jb25maWcudGFyZ2V0K1wiIFwiK3ZuLHRoaXMuX29mZnNldHM9W10sdGhpcy5fdGFyZ2V0cz1bXSx0aGlzLl9hY3RpdmVUYXJnZXQ9bnVsbCx0aGlzLl9zY3JvbGxIZWlnaHQ9MCx0bih0aGlzLl9zY3JvbGxFbGVtZW50KS5vbihsbi5TQ1JPTEwsZnVuY3Rpb24odCl7cmV0dXJuIG4uX3Byb2Nlc3ModCl9KSx0aGlzLnJlZnJlc2goKSx0aGlzLl9wcm9jZXNzKCl9dmFyIHQ9bi5wcm90b3R5cGU7cmV0dXJuIHQucmVmcmVzaD1mdW5jdGlvbigpe3ZhciBlPXRoaXMsdD10aGlzLl9zY3JvbGxFbGVtZW50PT09dGhpcy5fc2Nyb2xsRWxlbWVudC53aW5kb3c/RW46Q24scj1cImF1dG9cIj09PXRoaXMuX2NvbmZpZy5tZXRob2Q/dDp0aGlzLl9jb25maWcubWV0aG9kLG89cj09PUNuP3RoaXMuX2dldFNjcm9sbFRvcCgpOjA7dGhpcy5fb2Zmc2V0cz1bXSx0aGlzLl90YXJnZXRzPVtdLHRoaXMuX3Njcm9sbEhlaWdodD10aGlzLl9nZXRTY3JvbGxIZWlnaHQoKSxbXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwodGhpcy5fc2VsZWN0b3IpKS5tYXAoZnVuY3Rpb24odCl7dmFyIGUsbj1Gbi5nZXRTZWxlY3RvckZyb21FbGVtZW50KHQpO2lmKG4mJihlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IobikpLGUpe3ZhciBpPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYoaS53aWR0aHx8aS5oZWlnaHQpcmV0dXJuW3RuKGUpW3JdKCkudG9wK28sbl19cmV0dXJuIG51bGx9KS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHR9KS5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRbMF0tZVswXX0pLmZvckVhY2goZnVuY3Rpb24odCl7ZS5fb2Zmc2V0cy5wdXNoKHRbMF0pLGUuX3RhcmdldHMucHVzaCh0WzFdKX0pfSx0LmRpc3Bvc2U9ZnVuY3Rpb24oKXt0bi5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsbm4pLHRuKHRoaXMuX3Njcm9sbEVsZW1lbnQpLm9mZihybiksdGhpcy5fZWxlbWVudD1udWxsLHRoaXMuX3Njcm9sbEVsZW1lbnQ9bnVsbCx0aGlzLl9jb25maWc9bnVsbCx0aGlzLl9zZWxlY3Rvcj1udWxsLHRoaXMuX29mZnNldHM9bnVsbCx0aGlzLl90YXJnZXRzPW51bGwsdGhpcy5fYWN0aXZlVGFyZ2V0PW51bGwsdGhpcy5fc2Nyb2xsSGVpZ2h0PW51bGx9LHQuX2dldENvbmZpZz1mdW5jdGlvbih0KXtpZihcInN0cmluZ1wiIT10eXBlb2YodD1sKHt9LHNuLFwib2JqZWN0XCI9PXR5cGVvZiB0JiZ0P3Q6e30pKS50YXJnZXQpe3ZhciBlPXRuKHQudGFyZ2V0KS5hdHRyKFwiaWRcIik7ZXx8KGU9Rm4uZ2V0VUlEKGVuKSx0bih0LnRhcmdldCkuYXR0cihcImlkXCIsZSkpLHQudGFyZ2V0PVwiI1wiK2V9cmV0dXJuIEZuLnR5cGVDaGVja0NvbmZpZyhlbix0LGFuKSx0fSx0Ll9nZXRTY3JvbGxUb3A9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudD09PXdpbmRvdz90aGlzLl9zY3JvbGxFbGVtZW50LnBhZ2VZT2Zmc2V0OnRoaXMuX3Njcm9sbEVsZW1lbnQuc2Nyb2xsVG9wfSx0Ll9nZXRTY3JvbGxIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudC5zY3JvbGxIZWlnaHR8fE1hdGgubWF4KGRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0LGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQpfSx0Ll9nZXRPZmZzZXRIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudD09PXdpbmRvdz93aW5kb3cuaW5uZXJIZWlnaHQ6dGhpcy5fc2Nyb2xsRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHR9LHQuX3Byb2Nlc3M9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9nZXRTY3JvbGxUb3AoKSt0aGlzLl9jb25maWcub2Zmc2V0LGU9dGhpcy5fZ2V0U2Nyb2xsSGVpZ2h0KCksbj10aGlzLl9jb25maWcub2Zmc2V0K2UtdGhpcy5fZ2V0T2Zmc2V0SGVpZ2h0KCk7aWYodGhpcy5fc2Nyb2xsSGVpZ2h0IT09ZSYmdGhpcy5yZWZyZXNoKCksbjw9dCl7dmFyIGk9dGhpcy5fdGFyZ2V0c1t0aGlzLl90YXJnZXRzLmxlbmd0aC0xXTt0aGlzLl9hY3RpdmVUYXJnZXQhPT1pJiZ0aGlzLl9hY3RpdmF0ZShpKX1lbHNle2lmKHRoaXMuX2FjdGl2ZVRhcmdldCYmdDx0aGlzLl9vZmZzZXRzWzBdJiYwPHRoaXMuX29mZnNldHNbMF0pcmV0dXJuIHRoaXMuX2FjdGl2ZVRhcmdldD1udWxsLHZvaWQgdGhpcy5fY2xlYXIoKTtmb3IodmFyIHI9dGhpcy5fb2Zmc2V0cy5sZW5ndGg7ci0tOyl7dGhpcy5fYWN0aXZlVGFyZ2V0IT09dGhpcy5fdGFyZ2V0c1tyXSYmdD49dGhpcy5fb2Zmc2V0c1tyXSYmKFwidW5kZWZpbmVkXCI9PXR5cGVvZiB0aGlzLl9vZmZzZXRzW3IrMV18fHQ8dGhpcy5fb2Zmc2V0c1tyKzFdKSYmdGhpcy5fYWN0aXZhdGUodGhpcy5fdGFyZ2V0c1tyXSl9fX0sdC5fYWN0aXZhdGU9ZnVuY3Rpb24oZSl7dGhpcy5fYWN0aXZlVGFyZ2V0PWUsdGhpcy5fY2xlYXIoKTt2YXIgdD10aGlzLl9zZWxlY3Rvci5zcGxpdChcIixcIik7dD10Lm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdCsnW2RhdGEtdGFyZ2V0PVwiJytlKydcIl0sJyt0KydbaHJlZj1cIicrZSsnXCJdJ30pO3ZhciBuPXRuKFtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCh0LmpvaW4oXCIsXCIpKSkpO24uaGFzQ2xhc3MoY24pPyhuLmNsb3Nlc3QocG4pLmZpbmQoeW4pLmFkZENsYXNzKGhuKSxuLmFkZENsYXNzKGhuKSk6KG4uYWRkQ2xhc3MoaG4pLG4ucGFyZW50cyhkbikucHJldihnbitcIiwgXCIrbW4pLmFkZENsYXNzKGhuKSxuLnBhcmVudHMoZG4pLnByZXYoX24pLmNoaWxkcmVuKGduKS5hZGRDbGFzcyhobikpLHRuKHRoaXMuX3Njcm9sbEVsZW1lbnQpLnRyaWdnZXIobG4uQUNUSVZBVEUse3JlbGF0ZWRUYXJnZXQ6ZX0pfSx0Ll9jbGVhcj1mdW5jdGlvbigpe3ZhciB0PVtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCh0aGlzLl9zZWxlY3RvcikpO3RuKHQpLmZpbHRlcihmbikucmVtb3ZlQ2xhc3MoaG4pfSxuLl9qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciB0PXRuKHRoaXMpLmRhdGEobm4pO2lmKHR8fCh0PW5ldyBuKHRoaXMsXCJvYmplY3RcIj09dHlwZW9mIGUmJmUpLHRuKHRoaXMpLmRhdGEobm4sdCkpLFwic3RyaW5nXCI9PXR5cGVvZiBlKXtpZihcInVuZGVmaW5lZFwiPT10eXBlb2YgdFtlXSl0aHJvdyBuZXcgVHlwZUVycm9yKCdObyBtZXRob2QgbmFtZWQgXCInK2UrJ1wiJyk7dFtlXSgpfX0pfSxzKG4sbnVsbCxbe2tleTpcIlZFUlNJT05cIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5cIjQuMS4zXCJ9fSx7a2V5OlwiRGVmYXVsdFwiLGdldDpmdW5jdGlvbigpe3JldHVybiBzbn19XSksbn0oKSx0bih3aW5kb3cpLm9uKGxuLkxPQURfREFUQV9BUEksZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHVuKSksZT10Lmxlbmd0aDtlLS07KXt2YXIgbj10bih0W2VdKTtUbi5falF1ZXJ5SW50ZXJmYWNlLmNhbGwobixuLmRhdGEoKSl9fSksdG4uZm5bZW5dPVRuLl9qUXVlcnlJbnRlcmZhY2UsdG4uZm5bZW5dLkNvbnN0cnVjdG9yPVRuLHRuLmZuW2VuXS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRuLmZuW2VuXT1vbixUbi5falF1ZXJ5SW50ZXJmYWNlfSxUbiksR249KEluPVwiLlwiKyhTbj1cImJzLnRhYlwiKSxBbj0oYm49ZSkuZm4udGFiLERuPXtISURFOlwiaGlkZVwiK0luLEhJRERFTjpcImhpZGRlblwiK0luLFNIT1c6XCJzaG93XCIrSW4sU0hPV046XCJzaG93blwiK0luLENMSUNLX0RBVEFfQVBJOlwiY2xpY2tcIitJbitcIi5kYXRhLWFwaVwifSx3bj1cImRyb3Bkb3duLW1lbnVcIixObj1cImFjdGl2ZVwiLE9uPVwiZGlzYWJsZWRcIixrbj1cImZhZGVcIixQbj1cInNob3dcIixqbj1cIi5kcm9wZG93blwiLEhuPVwiLm5hdiwgLmxpc3QtZ3JvdXBcIixMbj1cIi5hY3RpdmVcIixSbj1cIj4gbGkgPiAuYWN0aXZlXCIseG49J1tkYXRhLXRvZ2dsZT1cInRhYlwiXSwgW2RhdGEtdG9nZ2xlPVwicGlsbFwiXSwgW2RhdGEtdG9nZ2xlPVwibGlzdFwiXScsV249XCIuZHJvcGRvd24tdG9nZ2xlXCIsVW49XCI+IC5kcm9wZG93bi1tZW51IC5hY3RpdmVcIixxbj1mdW5jdGlvbigpe2Z1bmN0aW9uIGkodCl7dGhpcy5fZWxlbWVudD10fXZhciB0PWkucHJvdG90eXBlO3JldHVybiB0LnNob3c9ZnVuY3Rpb24oKXt2YXIgbj10aGlzO2lmKCEodGhpcy5fZWxlbWVudC5wYXJlbnROb2RlJiZ0aGlzLl9lbGVtZW50LnBhcmVudE5vZGUubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmYm4odGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoTm4pfHxibih0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhPbikpKXt2YXIgdCxpLGU9Ym4odGhpcy5fZWxlbWVudCkuY2xvc2VzdChIbilbMF0scj1Gbi5nZXRTZWxlY3RvckZyb21FbGVtZW50KHRoaXMuX2VsZW1lbnQpO2lmKGUpe3ZhciBvPVwiVUxcIj09PWUubm9kZU5hbWU/Um46TG47aT0oaT1ibi5tYWtlQXJyYXkoYm4oZSkuZmluZChvKSkpW2kubGVuZ3RoLTFdfXZhciBzPWJuLkV2ZW50KERuLkhJREUse3JlbGF0ZWRUYXJnZXQ6dGhpcy5fZWxlbWVudH0pLGE9Ym4uRXZlbnQoRG4uU0hPVyx7cmVsYXRlZFRhcmdldDppfSk7aWYoaSYmYm4oaSkudHJpZ2dlcihzKSxibih0aGlzLl9lbGVtZW50KS50cmlnZ2VyKGEpLCFhLmlzRGVmYXVsdFByZXZlbnRlZCgpJiYhcy5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7ciYmKHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihyKSksdGhpcy5fYWN0aXZhdGUodGhpcy5fZWxlbWVudCxlKTt2YXIgbD1mdW5jdGlvbigpe3ZhciB0PWJuLkV2ZW50KERuLkhJRERFTix7cmVsYXRlZFRhcmdldDpuLl9lbGVtZW50fSksZT1ibi5FdmVudChEbi5TSE9XTix7cmVsYXRlZFRhcmdldDppfSk7Ym4oaSkudHJpZ2dlcih0KSxibihuLl9lbGVtZW50KS50cmlnZ2VyKGUpfTt0P3RoaXMuX2FjdGl2YXRlKHQsdC5wYXJlbnROb2RlLGwpOmwoKX19fSx0LmRpc3Bvc2U9ZnVuY3Rpb24oKXtibi5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsU24pLHRoaXMuX2VsZW1lbnQ9bnVsbH0sdC5fYWN0aXZhdGU9ZnVuY3Rpb24odCxlLG4pe3ZhciBpPXRoaXMscj0oXCJVTFwiPT09ZS5ub2RlTmFtZT9ibihlKS5maW5kKFJuKTpibihlKS5jaGlsZHJlbihMbikpWzBdLG89biYmciYmYm4ocikuaGFzQ2xhc3Moa24pLHM9ZnVuY3Rpb24oKXtyZXR1cm4gaS5fdHJhbnNpdGlvbkNvbXBsZXRlKHQscixuKX07aWYociYmbyl7dmFyIGE9Rm4uZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQocik7Ym4ocikub25lKEZuLlRSQU5TSVRJT05fRU5ELHMpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGEpfWVsc2UgcygpfSx0Ll90cmFuc2l0aW9uQ29tcGxldGU9ZnVuY3Rpb24odCxlLG4pe2lmKGUpe2JuKGUpLnJlbW92ZUNsYXNzKFBuK1wiIFwiK05uKTt2YXIgaT1ibihlLnBhcmVudE5vZGUpLmZpbmQoVW4pWzBdO2kmJmJuKGkpLnJlbW92ZUNsYXNzKE5uKSxcInRhYlwiPT09ZS5nZXRBdHRyaWJ1dGUoXCJyb2xlXCIpJiZlLnNldEF0dHJpYnV0ZShcImFyaWEtc2VsZWN0ZWRcIiwhMSl9aWYoYm4odCkuYWRkQ2xhc3MoTm4pLFwidGFiXCI9PT10LmdldEF0dHJpYnV0ZShcInJvbGVcIikmJnQuc2V0QXR0cmlidXRlKFwiYXJpYS1zZWxlY3RlZFwiLCEwKSxGbi5yZWZsb3codCksYm4odCkuYWRkQ2xhc3MoUG4pLHQucGFyZW50Tm9kZSYmYm4odC5wYXJlbnROb2RlKS5oYXNDbGFzcyh3bikpe3ZhciByPWJuKHQpLmNsb3Nlc3Qoam4pWzBdO2lmKHIpe3ZhciBvPVtdLnNsaWNlLmNhbGwoci5xdWVyeVNlbGVjdG9yQWxsKFduKSk7Ym4obykuYWRkQ2xhc3MoTm4pfXQuc2V0QXR0cmlidXRlKFwiYXJpYS1leHBhbmRlZFwiLCEwKX1uJiZuKCl9LGkuX2pRdWVyeUludGVyZmFjZT1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9Ym4odGhpcyksZT10LmRhdGEoU24pO2lmKGV8fChlPW5ldyBpKHRoaXMpLHQuZGF0YShTbixlKSksXCJzdHJpbmdcIj09dHlwZW9mIG4pe2lmKFwidW5kZWZpbmVkXCI9PXR5cGVvZiBlW25dKXRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCBcIicrbisnXCInKTtlW25dKCl9fSl9LHMoaSxudWxsLFt7a2V5OlwiVkVSU0lPTlwiLGdldDpmdW5jdGlvbigpe3JldHVyblwiNC4xLjNcIn19XSksaX0oKSxibihkb2N1bWVudCkub24oRG4uQ0xJQ0tfREFUQV9BUEkseG4sZnVuY3Rpb24odCl7dC5wcmV2ZW50RGVmYXVsdCgpLHFuLl9qUXVlcnlJbnRlcmZhY2UuY2FsbChibih0aGlzKSxcInNob3dcIil9KSxibi5mbi50YWI9cW4uX2pRdWVyeUludGVyZmFjZSxibi5mbi50YWIuQ29uc3RydWN0b3I9cW4sYm4uZm4udGFiLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYm4uZm4udGFiPUFuLHFuLl9qUXVlcnlJbnRlcmZhY2V9LHFuKTshZnVuY3Rpb24odCl7aWYoXCJ1bmRlZmluZWRcIj09dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkJvb3RzdHJhcCdzIEphdmFTY3JpcHQgcmVxdWlyZXMgalF1ZXJ5LiBqUXVlcnkgbXVzdCBiZSBpbmNsdWRlZCBiZWZvcmUgQm9vdHN0cmFwJ3MgSmF2YVNjcmlwdC5cIik7dmFyIGU9dC5mbi5qcXVlcnkuc3BsaXQoXCIgXCIpWzBdLnNwbGl0KFwiLlwiKTtpZihlWzBdPDImJmVbMV08OXx8MT09PWVbMF0mJjk9PT1lWzFdJiZlWzJdPDF8fDQ8PWVbMF0pdGhyb3cgbmV3IEVycm9yKFwiQm9vdHN0cmFwJ3MgSmF2YVNjcmlwdCByZXF1aXJlcyBhdCBsZWFzdCBqUXVlcnkgdjEuOS4xIGJ1dCBsZXNzIHRoYW4gdjQuMC4wXCIpfShlKSx0LlV0aWw9Rm4sdC5BbGVydD1Lbix0LkJ1dHRvbj1Nbix0LkNhcm91c2VsPVFuLHQuQ29sbGFwc2U9Qm4sdC5Ecm9wZG93bj1Wbix0Lk1vZGFsPVluLHQuUG9wb3Zlcj1Kbix0LlNjcm9sbHNweT1abix0LlRhYj1Hbix0LlRvb2x0aXA9em4sT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSl9KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWJvb3RzdHJhcC5taW4uanMubWFwIn0sICJoZWFkZXJzU2l6ZSI6IDAsICJib2R5U2l6ZSI6IDE2ODY0LCAicmVkaXJlY3RVUkwiOiAiIiwgIl90cmFuc2ZlclNpemUiOiAxNjg2NH0sICJjYWNoZSI6IHt9LCAidGltaW5ncyI6IHsiZG5zIjogMC4wMTcsICJjb25uZWN0IjogMzMwLjc0MiwgInNzbCI6IDMyMC44MDUsICJzZW5kIjogMCwgIndhaXQiOiAzMi41NSwgInJlY2VpdmUiOiA2LjEzMn0sICJwYWdlcmVmIjogInBhZ2VAMmU3YWNlOTU1YTY3NzNlY2ZkMmU5OGVmMmZkY2I3MDQiLCAic2VydmVySVBBZGRyZXNzIjogIlsyNjA2OjQ3MDA6OjY4MTI6YWNmXSIsICJfc2VydmVyUG9ydCI6IDQ0MywgIl9zZWN1cml0eURldGFpbHMiOiB7InByb3RvY29sIjogIlRMUyAxLjMiLCAic3ViamVjdE5hbWUiOiAiYm9vdHN0cmFwY2RuLmNvbSIsICJpc3N1ZXIiOiAiV0UxIiwgInZhbGlkRnJvbSI6IDE3MjE2OTk0MzAsICJ2YWxpZFRvIjogMTcyOTQ3NTQyOX19LCB7InN0YXJ0ZWREYXRlVGltZSI6ICIyMDI0LTA4LTAxVDEyOjMzOjAwLjY4MloiLCAidGltZSI6IDUxLjk2NywgInJlcXVlc3QiOiB7Im1ldGhvZCI6ICJHRVQiLCAidXJsIjogImh0dHBzOi8vdDEuZ3N0YXRpYy5jb20vZmF2aWNvblYyP2NsaWVudD1TT0NJQUwmdHlwZT1GQVZJQ09OJmZhbGxiYWNrX29wdHM9VFlQRSxTSVpFLFVSTCZ1cmw9aHR0cDovL2RlbGwuY29tJnNpemU9MTYiLCAiaHR0cFZlcnNpb24iOiAiSFRUUC8yLjAiLCAiY29va2llcyI6IFtdLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiOmF1dGhvcml0eSIsICJ2YWx1ZSI6ICJ0MS5nc3RhdGljLmNvbSJ9LCB7Im5hbWUiOiAiOm1ldGhvZCIsICJ2YWx1ZSI6ICJHRVQifSwgeyJuYW1lIjogIjpwYXRoIiwgInZhbHVlIjogIi9mYXZpY29uVjI/Y2xpZW50PVNPQ0lBTCZ0eXBlPUZBVklDT04mZmFsbGJhY2tfb3B0cz1UWVBFLFNJWkUsVVJMJnVybD1odHRwOi8vZGVsbC5jb20mc2l6ZT0xNiJ9LCB7Im5hbWUiOiAiOnNjaGVtZSIsICJ2YWx1ZSI6ICJodHRwcyJ9LCB7Im5hbWUiOiAiYWNjZXB0IiwgInZhbHVlIjogImltYWdlL2F2aWYsaW1hZ2Uvd2VicCxpbWFnZS9hcG5nLGltYWdlL3N2Zyt4bWwsaW1hZ2UvKiwqLyo7cT0wLjgifSwgeyJuYW1lIjogImFjY2VwdC1lbmNvZGluZyIsICJ2YWx1ZSI6ICJnemlwLCBkZWZsYXRlLCBiciwgenN0ZCJ9LCB7Im5hbWUiOiAiYWNjZXB0LWxhbmd1YWdlIiwgInZhbHVlIjogImVuLVVTLGVuO3E9MC45In0sIHsibmFtZSI6ICJwcmlvcml0eSIsICJ2YWx1ZSI6ICJpIn0sIHsibmFtZSI6ICJyZWZlcmVyIiwgInZhbHVlIjogImh0dHBzOi8vcHViLTJlYTdjNjM5YjRhMTRiOTJhNTBlMzQ4Zjk5YjMzMjkzLnIyLmRldi8ifSwgeyJuYW1lIjogInNlYy1jaC11YSIsICJ2YWx1ZSI6ICJcIkNocm9taXVtXCI7dj1cIjEyN1wiLCBcIk5vdClBO0JyYW5kXCI7dj1cIjk5XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1tb2JpbGUiLCAidmFsdWUiOiAiPzAifSwgeyJuYW1lIjogInNlYy1jaC11YS1wbGF0Zm9ybSIsICJ2YWx1ZSI6ICJcIldpbmRvd3NcIiJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLWRlc3QiLCAidmFsdWUiOiAiaW1hZ2UifSwgeyJuYW1lIjogInNlYy1mZXRjaC1tb2RlIiwgInZhbHVlIjogIm5vLWNvcnMifSwgeyJuYW1lIjogInNlYy1mZXRjaC1zaXRlIiwgInZhbHVlIjogImNyb3NzLXNpdGUifSwgeyJuYW1lIjogInVzZXItYWdlbnQiLCAidmFsdWUiOiAiTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEyNy4wLjY1MzMuMTcgU2FmYXJpLzUzNy4zNiJ9XSwgInF1ZXJ5U3RyaW5nIjogW3sibmFtZSI6ICJjbGllbnQiLCAidmFsdWUiOiAiU09DSUFMIn0sIHsibmFtZSI6ICJ0eXBlIiwgInZhbHVlIjogIkZBVklDT04ifSwgeyJuYW1lIjogImZhbGxiYWNrX29wdHMiLCAidmFsdWUiOiAiVFlQRSxTSVpFLFVSTCJ9LCB7Im5hbWUiOiAidXJsIiwgInZhbHVlIjogImh0dHA6Ly9kZWxsLmNvbSJ9LCB7Im5hbWUiOiAic2l6ZSIsICJ2YWx1ZSI6ICIxNiJ9XSwgImhlYWRlcnNTaXplIjogNzIxLCAiYm9keVNpemUiOiAwfSwgInJlc3BvbnNlIjogeyJzdGF0dXMiOiAyMDAsICJzdGF0dXNUZXh0IjogIiIsICJodHRwVmVyc2lvbiI6ICJIVFRQLzIuMCIsICJjb29raWVzIjogW10sICJoZWFkZXJzIjogW3sibmFtZSI6ICJhY2NlcHQtcmFuZ2VzIiwgInZhbHVlIjogImJ5dGVzIn0sIHsibmFtZSI6ICJhZ2UiLCAidmFsdWUiOiAiMTIwNjA5In0sIHsibmFtZSI6ICJhbHQtc3ZjIiwgInZhbHVlIjogImgzPVwiOjQ0M1wiOyBtYT0yNTkyMDAwLGgzLTI5PVwiOjQ0M1wiOyBtYT0yNTkyMDAwIn0sIHsibmFtZSI6ICJjYWNoZS1jb250cm9sIiwgInZhbHVlIjogInB1YmxpYywgbWF4LWFnZT02MDQ4MDAifSwgeyJuYW1lIjogImNvbnRlbnQtbGVuZ3RoIiwgInZhbHVlIjogIjIwMyJ9LCB7Im5hbWUiOiAiY29udGVudC1sb2NhdGlvbiIsICJ2YWx1ZSI6ICJodHRwczovL3d3dy5kZWxsLmNvbS9mYXZpY29uLmljbyJ9LCB7Im5hbWUiOiAiY29udGVudC1zZWN1cml0eS1wb2xpY3ktcmVwb3J0LW9ubHkiLCAidmFsdWUiOiAicmVxdWlyZS10cnVzdGVkLXR5cGVzLWZvciAnc2NyaXB0JzsgcmVwb3J0LXVyaSBodHRwczovL2NzcC53aXRoZ29vZ2xlLmNvbS9jc3AvbWVkaWEtZmF2aWNvbiJ9LCB7Im5hbWUiOiAiY29udGVudC10eXBlIiwgInZhbHVlIjogImltYWdlL3BuZyJ9LCB7Im5hbWUiOiAiY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kiLCAidmFsdWUiOiAic2FtZS1vcmlnaW47IHJlcG9ydC10bz1cIm1lZGlhLWZhdmljb25cIiJ9LCB7Im5hbWUiOiAiY3Jvc3Mtb3JpZ2luLXJlc291cmNlLXBvbGljeSIsICJ2YWx1ZSI6ICJjcm9zcy1vcmlnaW4ifSwgeyJuYW1lIjogImRhdGUiLCAidmFsdWUiOiAiV2VkLCAzMSBKdWwgMjAyNCAwMzowMjo1MSBHTVQifSwgeyJuYW1lIjogImV4cGlyZXMiLCAidmFsdWUiOiAiV2VkLCAwNyBBdWcgMjAyNCAwMzowMjo1MSBHTVQifSwgeyJuYW1lIjogImxhc3QtbW9kaWZpZWQiLCAidmFsdWUiOiAiV2VkLCAyNyBNYXIgMjAyNCAwNjo0ODowNSBHTVQifSwgeyJuYW1lIjogInJlcG9ydC10byIsICJ2YWx1ZSI6ICJ7XCJncm91cFwiOlwibWVkaWEtZmF2aWNvblwiLFwibWF4X2FnZVwiOjI1OTIwMDAsXCJlbmRwb2ludHNcIjpbe1widXJsXCI6XCJodHRwczovL2NzcC53aXRoZ29vZ2xlLmNvbS9jc3AvcmVwb3J0LXRvL21lZGlhLWZhdmljb25cIn1dfSJ9LCB7Im5hbWUiOiAic2VydmVyIiwgInZhbHVlIjogInNmZmUifSwgeyJuYW1lIjogIngtY29udGVudC10eXBlLW9wdGlvbnMiLCAidmFsdWUiOiAibm9zbmlmZiJ9LCB7Im5hbWUiOiAieC14c3MtcHJvdGVjdGlvbiIsICJ2YWx1ZSI6ICIwIn1dLCAiY29udGVudCI6IHsic2l6ZSI6IDIwMywgIm1pbWVUeXBlIjogImltYWdlL3BuZyIsICJjb21wcmVzc2lvbiI6IDAsICJ0ZXh0IjogImlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFRQ0FNQUFBQW9MUTlUQUFBQVAxQk1WRVVHY3N0SW1ObVJ3ZWkrMnZIRzMvUE40L1VuaGRJYmZzOE1kY3dmZ05BUGQ4M3M5UHVqeSt4cXF1QTFqZFhUNXZiZDdQaXF6KzFjbzkxN3RPTzExZThBLzBlK0FBQUFSMGxFUVZRWWxXTmdvQTFnWTJkZzRPQms0R1RnNElJSWNEUHpzRFB6OHZFek1ESkJCRmdZbUFWNFdYZ0ZFQUljcklMY3ZDeElLcGlGR0lSRnVBUlptZmhaYWVSTURBQUE0RWNCbWZVbjlQOEFBQUFBU1VWT1JLNUNZSUk9IiwgImVuY29kaW5nIjogImJhc2U2NCJ9LCAiaGVhZGVyc1NpemUiOiAwLCAiYm9keVNpemUiOiA3NDAsICJyZWRpcmVjdFVSTCI6ICIiLCAiX3RyYW5zZmVyU2l6ZSI6IDc0MH0sICJjYWNoZSI6IHt9LCAidGltaW5ncyI6IHsiZG5zIjogMC4wNDIsICJjb25uZWN0IjogMjQuMDM1LCAic3NsIjogMTguMjI0LCAic2VuZCI6IDAsICJ3YWl0IjogNi41ODYsICJyZWNlaXZlIjogMy4wOH0sICJwYWdlcmVmIjogInBhZ2VAMmU3YWNlOTU1YTY3NzNlY2ZkMmU5OGVmMmZkY2I3MDQiLCAic2VydmVySVBBZGRyZXNzIjogIlsyYTAwOjE0NTA6NDAwMTo4MWM6OjIwMDRdIiwgIl9zZXJ2ZXJQb3J0IjogNDQzLCAiX3NlY3VyaXR5RGV0YWlscyI6IHt9fSwgeyJzdGFydGVkRGF0ZVRpbWUiOiAiMjAyNC0wOC0wMVQxMjozMzoxMS4wOTRaIiwgInRpbWUiOiA2NC40OTQsICJyZXF1ZXN0IjogeyJtZXRob2QiOiAiR0VUIiwgInVybCI6ICJodHRwczovL2dvb2dsZS5jb20vIiwgImh0dHBWZXJzaW9uIjogImgzIiwgImNvb2tpZXMiOiBbXSwgImhlYWRlcnMiOiBbeyJuYW1lIjogIjphdXRob3JpdHkiLCAidmFsdWUiOiAiZ29vZ2xlLmNvbSJ9LCB7Im5hbWUiOiAiOm1ldGhvZCIsICJ2YWx1ZSI6ICJHRVQifSwgeyJuYW1lIjogIjpwYXRoIiwgInZhbHVlIjogIi8ifSwgeyJuYW1lIjogIjpzY2hlbWUiLCAidmFsdWUiOiAiaHR0cHMifSwgeyJuYW1lIjogImFjY2VwdCIsICJ2YWx1ZSI6ICJ0ZXh0L2h0bWwsYXBwbGljYXRpb24veGh0bWwreG1sLGFwcGxpY2F0aW9uL3htbDtxPTAuOSxpbWFnZS9hdmlmLGltYWdlL3dlYnAsaW1hZ2UvYXBuZywqLyo7cT0wLjgsYXBwbGljYXRpb24vc2lnbmVkLWV4Y2hhbmdlO3Y9YjM7cT0wLjcifSwgeyJuYW1lIjogImFjY2VwdC1lbmNvZGluZyIsICJ2YWx1ZSI6ICJnemlwLCBkZWZsYXRlLCBiciwgenN0ZCJ9LCB7Im5hbWUiOiAiYWNjZXB0LWxhbmd1YWdlIiwgInZhbHVlIjogImVuLVVTLGVuO3E9MC45In0sIHsibmFtZSI6ICJwcmlvcml0eSIsICJ2YWx1ZSI6ICJ1PTAsIGkifSwgeyJuYW1lIjogInJlZmVyZXIiLCAidmFsdWUiOiAiaHR0cHM6Ly9wdWItMmVhN2M2MzliNGExNGI5MmE1MGUzNDhmOTliMzMyOTMucjIuZGV2LyJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhIiwgInZhbHVlIjogIlwiQ2hyb21pdW1cIjt2PVwiMTI3XCIsIFwiTm90KUE7QnJhbmRcIjt2PVwiOTlcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLW1vYmlsZSIsICJ2YWx1ZSI6ICI/MCJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXBsYXRmb3JtIiwgInZhbHVlIjogIlwiV2luZG93c1wiIn0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtZGVzdCIsICJ2YWx1ZSI6ICJkb2N1bWVudCJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLW1vZGUiLCAidmFsdWUiOiAibmF2aWdhdGUifSwgeyJuYW1lIjogInNlYy1mZXRjaC1zaXRlIiwgInZhbHVlIjogImNyb3NzLXNpdGUifSwgeyJuYW1lIjogInVwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMiLCAidmFsdWUiOiAiMSJ9LCB7Im5hbWUiOiAidXNlci1hZ2VudCIsICJ2YWx1ZSI6ICJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTI3LjAuNjUzMy4xNyBTYWZhcmkvNTM3LjM2In1dLCAicXVlcnlTdHJpbmciOiBbXSwgImhlYWRlcnNTaXplIjogNzI2LCAiYm9keVNpemUiOiAwfSwgInJlc3BvbnNlIjogeyJzdGF0dXMiOiAzMDEsICJzdGF0dXNUZXh0IjogIiIsICJodHRwVmVyc2lvbiI6ICJoMyIsICJjb29raWVzIjogW10sICJoZWFkZXJzIjogW3sibmFtZSI6ICJhbHQtc3ZjIiwgInZhbHVlIjogImgzPVwiOjQ0M1wiOyBtYT0yNTkyMDAwLGgzLTI5PVwiOjQ0M1wiOyBtYT0yNTkyMDAwIn0sIHsibmFtZSI6ICJjYWNoZS1jb250cm9sIiwgInZhbHVlIjogInB1YmxpYywgbWF4LWFnZT0yNTkyMDAwIn0sIHsibmFtZSI6ICJjb250ZW50LWxlbmd0aCIsICJ2YWx1ZSI6ICIyMjAifSwgeyJuYW1lIjogImNvbnRlbnQtc2VjdXJpdHktcG9saWN5LXJlcG9ydC1vbmx5IiwgInZhbHVlIjogIm9iamVjdC1zcmMgJ25vbmUnO2Jhc2UtdXJpICdzZWxmJztzY3JpcHQtc3JjICdub25jZS1YNGoxLVB3X2tXYi1nS012elNPUFZRJyAnc3RyaWN0LWR5bmFtaWMnICdyZXBvcnQtc2FtcGxlJyAndW5zYWZlLWV2YWwnICd1bnNhZmUtaW5saW5lJyBodHRwczogaHR0cDo7cmVwb3J0LXVyaSBodHRwczovL2NzcC53aXRoZ29vZ2xlLmNvbS9jc3AvZ3dzL290aGVyLWhwIn0sIHsibmFtZSI6ICJjb250ZW50LXR5cGUiLCAidmFsdWUiOiAidGV4dC9odG1sOyBjaGFyc2V0PVVURi04In0sIHsibmFtZSI6ICJjcm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeSIsICJ2YWx1ZSI6ICJzYW1lLW9yaWdpbi1hbGxvdy1wb3B1cHM7IHJlcG9ydC10bz1cImd3c1wiIn0sIHsibmFtZSI6ICJkYXRlIiwgInZhbHVlIjogIlRodSwgMDEgQXVnIDIwMjQgMTI6MzM6MTEgR01UIn0sIHsibmFtZSI6ICJleHBpcmVzIiwgInZhbHVlIjogIlNhdCwgMzEgQXVnIDIwMjQgMTI6MzM6MTEgR01UIn0sIHsibmFtZSI6ICJsb2NhdGlvbiIsICJ2YWx1ZSI6ICJodHRwczovL3d3dy5nb29nbGUuY29tLyJ9LCB7Im5hbWUiOiAicGVybWlzc2lvbnMtcG9saWN5IiwgInZhbHVlIjogInVubG9hZD0oKSJ9LCB7Im5hbWUiOiAicmVwb3J0LXRvIiwgInZhbHVlIjogIntcImdyb3VwXCI6XCJnd3NcIixcIm1heF9hZ2VcIjoyNTkyMDAwLFwiZW5kcG9pbnRzXCI6W3tcInVybFwiOlwiaHR0cHM6Ly9jc3Aud2l0aGdvb2dsZS5jb20vY3NwL3JlcG9ydC10by9nd3Mvb3RoZXJcIn1dfSJ9LCB7Im5hbWUiOiAic2VydmVyIiwgInZhbHVlIjogImd3cyJ9LCB7Im5hbWUiOiAieC1mcmFtZS1vcHRpb25zIiwgInZhbHVlIjogIlNBTUVPUklHSU4ifSwgeyJuYW1lIjogIngteHNzLXByb3RlY3Rpb24iLCAidmFsdWUiOiAiMCJ9XSwgImNvbnRlbnQiOiB7InNpemUiOiAtMSwgIm1pbWVUeXBlIjogInRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIsICJjb21wcmVzc2lvbiI6IDB9LCAiaGVhZGVyc1NpemUiOiAwLCAiYm9keVNpemUiOiAyMjAsICJyZWRpcmVjdFVSTCI6ICJodHRwczovL3d3dy5nb29nbGUuY29tLyIsICJfdHJhbnNmZXJTaXplIjogMjIwfSwgImNhY2hlIjoge30sICJ0aW1pbmdzIjogeyJkbnMiOiAwLCAiY29ubmVjdCI6IDIwLjg3NSwgInNzbCI6IDIwLjg3NSwgInNlbmQiOiAwLCAid2FpdCI6IDE4LjAxMywgInJlY2VpdmUiOiA0LjczMX0sICJwYWdlcmVmIjogInBhZ2VAMmU3YWNlOTU1YTY3NzNlY2ZkMmU5OGVmMmZkY2I3MDQiLCAic2VydmVySVBBZGRyZXNzIjogIlsyYTAwOjE0NTA6NDAwMTo4MDg6OjIwMGVdIiwgIl9zZXJ2ZXJQb3J0IjogNDQzLCAiX3NlY3VyaXR5RGV0YWlscyI6IHsicHJvdG9jb2wiOiAiUVVJQyIsICJzdWJqZWN0TmFtZSI6ICIqLmdvb2dsZS5jb20iLCAiaXNzdWVyIjogIldSMiIsICJ2YWxpZEZyb20iOiAxNzIyMzQyNzczLCAidmFsaWRUbyI6IDE3Mjk2MDAzNzJ9fSwgeyJzdGFydGVkRGF0ZVRpbWUiOiAiMjAyNC0wOC0wMVQxMjozMzoxMS4xNDBaIiwgInRpbWUiOiAyNzAuOTI5LCAicmVxdWVzdCI6IHsibWV0aG9kIjogIkdFVCIsICJ1cmwiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8iLCAiaHR0cFZlcnNpb24iOiAiaDMiLCAiY29va2llcyI6IFtdLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiOmF1dGhvcml0eSIsICJ2YWx1ZSI6ICJ3d3cuZ29vZ2xlLmNvbSJ9LCB7Im5hbWUiOiAiOm1ldGhvZCIsICJ2YWx1ZSI6ICJHRVQifSwgeyJuYW1lIjogIjpwYXRoIiwgInZhbHVlIjogIi8ifSwgeyJuYW1lIjogIjpzY2hlbWUiLCAidmFsdWUiOiAiaHR0cHMifSwgeyJuYW1lIjogImFjY2VwdCIsICJ2YWx1ZSI6ICJ0ZXh0L2h0bWwsYXBwbGljYXRpb24veGh0bWwreG1sLGFwcGxpY2F0aW9uL3htbDtxPTAuOSxpbWFnZS9hdmlmLGltYWdlL3dlYnAsaW1hZ2UvYXBuZywqLyo7cT0wLjgsYXBwbGljYXRpb24vc2lnbmVkLWV4Y2hhbmdlO3Y9YjM7cT0wLjcifSwgeyJuYW1lIjogImFjY2VwdC1lbmNvZGluZyIsICJ2YWx1ZSI6ICJnemlwLCBkZWZsYXRlLCBiciwgenN0ZCJ9LCB7Im5hbWUiOiAiYWNjZXB0LWxhbmd1YWdlIiwgInZhbHVlIjogImVuLVVTLGVuO3E9MC45In0sIHsibmFtZSI6ICJwcmlvcml0eSIsICJ2YWx1ZSI6ICJ1PTAsIGkifSwgeyJuYW1lIjogInJlZmVyZXIiLCAidmFsdWUiOiAiaHR0cHM6Ly9wdWItMmVhN2M2MzliNGExNGI5MmE1MGUzNDhmOTliMzMyOTMucjIuZGV2LyJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhIiwgInZhbHVlIjogIlwiQ2hyb21pdW1cIjt2PVwiMTI3XCIsIFwiTm90KUE7QnJhbmRcIjt2PVwiOTlcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLW1vYmlsZSIsICJ2YWx1ZSI6ICI/MCJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXBsYXRmb3JtIiwgInZhbHVlIjogIlwiV2luZG93c1wiIn0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtZGVzdCIsICJ2YWx1ZSI6ICJkb2N1bWVudCJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLW1vZGUiLCAidmFsdWUiOiAibmF2aWdhdGUifSwgeyJuYW1lIjogInNlYy1mZXRjaC1zaXRlIiwgInZhbHVlIjogImNyb3NzLXNpdGUifSwgeyJuYW1lIjogInVwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMiLCAidmFsdWUiOiAiMSJ9LCB7Im5hbWUiOiAidXNlci1hZ2VudCIsICJ2YWx1ZSI6ICJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTI3LjAuNjUzMy4xNyBTYWZhcmkvNTM3LjM2In1dLCAicXVlcnlTdHJpbmciOiBbXSwgImhlYWRlcnNTaXplIjogNzMwLCAiYm9keVNpemUiOiAwfSwgInJlc3BvbnNlIjogeyJzdGF0dXMiOiAyMDAsICJzdGF0dXNUZXh0IjogIiIsICJodHRwVmVyc2lvbiI6ICJoMyIsICJjb29raWVzIjogW3sibmFtZSI6ICJBRUMiLCAidmFsdWUiOiAiQVZZQjdjcmF2OTRZTS1mZko2U2ppNFE3ekxtV2ktQmE0R29iSl85ck9RZzlqSHlvdTBvNnVFcFdYcjgiLCAic2VjdXJlIjogdHJ1ZSwgImh0dHBPbmx5IjogdHJ1ZSwgInNhbWVTaXRlIjogImxheCJ9LCB7Im5hbWUiOiAiX19TZWN1cmUtRU5JRCIsICJ2YWx1ZSI6ICIyMS5TRT1aTk1oSWNfMjd4NG1vcGZZZ3ducmRMX05TMlJlNkxOejU5LTJyX1JrTzExUEhubHdvb3VvWkNDVjlESWk0enRRU0JUNGE2bmhPMExxanJhQnh4RDlyWUtTTWxlWWpIbGZmYVRETi01MmRpYzZ3djNpWFIzX2dzbnVkRXFDY0RVNHZ4Y1U5bUFBQ2xZVlBJNVlpSzNORk0xeURzSEJQcDhERTVqNVdNOEd3TFd0TnBOUG40ajY5U25SR0k0X1NmRmNnYlB5czBfbzYxLVZ5aUVWX3VwRmhGbW5nVF9xRDA3YSIsICJzZWN1cmUiOiB0cnVlLCAiaHR0cE9ubHkiOiB0cnVlLCAic2FtZVNpdGUiOiAibGF4In1dLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiYWNjZXB0LWNoIiwgInZhbHVlIjogIlNlYy1DSC1VQS1QbGF0Zm9ybSJ9LCB7Im5hbWUiOiAiYWNjZXB0LWNoIiwgInZhbHVlIjogIlNlYy1DSC1VQS1QbGF0Zm9ybS1WZXJzaW9uIn0sIHsibmFtZSI6ICJhY2NlcHQtY2giLCAidmFsdWUiOiAiU2VjLUNILVVBLUZ1bGwtVmVyc2lvbiJ9LCB7Im5hbWUiOiAiYWNjZXB0LWNoIiwgInZhbHVlIjogIlNlYy1DSC1VQS1BcmNoIn0sIHsibmFtZSI6ICJhY2NlcHQtY2giLCAidmFsdWUiOiAiU2VjLUNILVVBLU1vZGVsIn0sIHsibmFtZSI6ICJhY2NlcHQtY2giLCAidmFsdWUiOiAiU2VjLUNILVVBLUJpdG5lc3MifSwgeyJuYW1lIjogImFjY2VwdC1jaCIsICJ2YWx1ZSI6ICJTZWMtQ0gtVUEtRnVsbC1WZXJzaW9uLUxpc3QifSwgeyJuYW1lIjogImFjY2VwdC1jaCIsICJ2YWx1ZSI6ICJTZWMtQ0gtVUEtV29XNjQifSwgeyJuYW1lIjogImFsdC1zdmMiLCAidmFsdWUiOiAiaDM9XCI6NDQzXCI7IG1hPTI1OTIwMDAsaDMtMjk9XCI6NDQzXCI7IG1hPTI1OTIwMDAifSwgeyJuYW1lIjogImNhY2hlLWNvbnRyb2wiLCAidmFsdWUiOiAicHJpdmF0ZSwgbWF4LWFnZT0wIn0sIHsibmFtZSI6ICJjb250ZW50LWVuY29kaW5nIiwgInZhbHVlIjogImJyIn0sIHsibmFtZSI6ICJjb250ZW50LWxlbmd0aCIsICJ2YWx1ZSI6ICI3NzAyOSJ9LCB7Im5hbWUiOiAiY29udGVudC1zZWN1cml0eS1wb2xpY3ktcmVwb3J0LW9ubHkiLCAidmFsdWUiOiAib2JqZWN0LXNyYyAnbm9uZSc7YmFzZS11cmkgJ3NlbGYnO3NjcmlwdC1zcmMgJ25vbmNlLWFBN1ZhLWJlZWhJTHNsMmhGbFB0LWcnICdzdHJpY3QtZHluYW1pYycgJ3JlcG9ydC1zYW1wbGUnICd1bnNhZmUtZXZhbCcgJ3Vuc2FmZS1pbmxpbmUnIGh0dHBzOiBodHRwOjtyZXBvcnQtdXJpIGh0dHBzOi8vY3NwLndpdGhnb29nbGUuY29tL2NzcC9nd3Mvb3RoZXItaHAifSwgeyJuYW1lIjogImNvbnRlbnQtdHlwZSIsICJ2YWx1ZSI6ICJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgifSwgeyJuYW1lIjogImNyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5IiwgInZhbHVlIjogInNhbWUtb3JpZ2luLWFsbG93LXBvcHVwczsgcmVwb3J0LXRvPVwiZ3dzXCIifSwgeyJuYW1lIjogImRhdGUiLCAidmFsdWUiOiAiVGh1LCAwMSBBdWcgMjAyNCAxMjozMzoxMSBHTVQifSwgeyJuYW1lIjogImV4cGlyZXMiLCAidmFsdWUiOiAiLTEifSwgeyJuYW1lIjogInAzcCIsICJ2YWx1ZSI6ICJDUD1cIlRoaXMgaXMgbm90IGEgUDNQIHBvbGljeSEgU2VlIGcuY28vcDNwaGVscCBmb3IgbW9yZSBpbmZvLlwiIn0sIHsibmFtZSI6ICJwZXJtaXNzaW9ucy1wb2xpY3kiLCAidmFsdWUiOiAidW5sb2FkPSgpIn0sIHsibmFtZSI6ICJyZXBvcnQtdG8iLCAidmFsdWUiOiAie1wiZ3JvdXBcIjpcImd3c1wiLFwibWF4X2FnZVwiOjI1OTIwMDAsXCJlbmRwb2ludHNcIjpbe1widXJsXCI6XCJodHRwczovL2NzcC53aXRoZ29vZ2xlLmNvbS9jc3AvcmVwb3J0LXRvL2d3cy9vdGhlclwifV19In0sIHsibmFtZSI6ICJzZXJ2ZXIiLCAidmFsdWUiOiAiZ3dzIn0sIHsibmFtZSI6ICJzZXQtY29va2llIiwgInZhbHVlIjogIkFFQz1BVllCN2NyYXY5NFlNLWZmSjZTamk0UTd6TG1XaS1CYTRHb2JKXzlyT1FnOWpIeW91MG82dUVwV1hyODsgZXhwaXJlcz1UdWUsIDI4LUphbi0yMDI1IDEyOjMzOjExIEdNVDsgcGF0aD0vOyBkb21haW49Lmdvb2dsZS5jb207IFNlY3VyZTsgSHR0cE9ubHk7IFNhbWVTaXRlPWxheCJ9LCB7Im5hbWUiOiAic2V0LWNvb2tpZSIsICJ2YWx1ZSI6ICJfX1NlY3VyZS1FTklEPTIxLlNFPVpOTWhJY18yN3g0bW9wZllnd25yZExfTlMyUmU2TE56NTktMnJfUmtPMTFQSG5sd29vdW9aQ0NWOURJaTR6dFFTQlQ0YTZuaE8wTHFqcmFCeHhEOXJZS1NNbGVZakhsZmZhVEROLTUyZGljNnd2M2lYUjNfZ3NudWRFcUNjRFU0dnhjVTltQUFDbFlWUEk1WWlLM05GTTF5RHNIQlBwOERFNWo1V004R3dMV3ROcE5QbjRqNjlTblJHSTRfU2ZGY2diUHlzMF9vNjEtVnlpRVZfdXBGaEZtbmdUX3FEMDdhOyBleHBpcmVzPU1vbiwgMDEtU2VwLTIwMjUgMDQ6NTE6MjkgR01UOyBwYXRoPS87IGRvbWFpbj0uZ29vZ2xlLmNvbTsgU2VjdXJlOyBIdHRwT25seTsgU2FtZVNpdGU9bGF4In0sIHsibmFtZSI6ICJzdHJpY3QtdHJhbnNwb3J0LXNlY3VyaXR5IiwgInZhbHVlIjogIm1heC1hZ2U9MzE1MzYwMDAifSwgeyJuYW1lIjogIngtZnJhbWUtb3B0aW9ucyIsICJ2YWx1ZSI6ICJTQU1FT1JJR0lOIn0sIHsibmFtZSI6ICJ4LXhzcy1wcm90ZWN0aW9uIiwgInZhbHVlIjogIjAifV0sICJjb250ZW50IjogeyJzaXplIjogMjcwNzA3LCAibWltZVR5cGUiOiAidGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiwgImNvbXByZXNzaW9uIjogMTkzNjIwLCAidGV4dCI6ICI8IWRvY3R5cGUgaHRtbD48aHRtbCBpdGVtc2NvcGU9XCJcIiBpdGVtdHlwZT1cImh0dHA6Ly9zY2hlbWEub3JnL1dlYlBhZ2VcIiBsYW5nPVwiZGUtTFVcIj48aGVhZD48bWV0YSBjaGFyc2V0PVwiVVRGLThcIj48bWV0YSBjb250ZW50PVwib3JpZ2luXCIgbmFtZT1cInJlZmVycmVyXCI+PG1ldGEgY29udGVudD1cIi9pbWFnZXMvYnJhbmRpbmcvZ29vZ2xlZy8xeC9nb29nbGVnX3N0YW5kYXJkX2NvbG9yXzEyOGRwLnBuZ1wiIGl0ZW1wcm9wPVwiaW1hZ2VcIj48dGl0bGU+R29vZ2xlPC90aXRsZT48c2NyaXB0IG5vbmNlPVwiYUE3VmEtYmVlaElMc2wyaEZsUHQtZ1wiPihmdW5jdGlvbigpe3ZhciBfZz17a0VJOidoNENyWnZ5TEM1T2ZpLWdQX29xSi1Rdycsa0VYUEk6JzMxJyxrQkw6J05RemInLGtPUEk6ODk5Nzg0NDl9OyhmdW5jdGlvbigpe3ZhciBhOygoYT13aW5kb3cuZ29vZ2xlKT09bnVsbD8wOmEuc3R2c2MpP2dvb2dsZS5rRUk9X2cua0VJOndpbmRvdy5nb29nbGU9X2c7fSkuY2FsbCh0aGlzKTt9KSgpOyhmdW5jdGlvbigpe2dvb2dsZS5zbj0nd2ViaHAnO2dvb2dsZS5rSEw9J2RlLUxVJzt9KSgpOyhmdW5jdGlvbigpe1xudmFyIGg9dGhpc3x8c2VsZjtmdW5jdGlvbiBsKCl7cmV0dXJuIHdpbmRvdy5nb29nbGUhPT12b2lkIDAmJndpbmRvdy5nb29nbGUua09QSSE9PXZvaWQgMCYmd2luZG93Lmdvb2dsZS5rT1BJIT09MD93aW5kb3cuZ29vZ2xlLmtPUEk6bnVsbH07dmFyIG0sbj1bXTtmdW5jdGlvbiBwKGEpe2Zvcih2YXIgYjthJiYoIWEuZ2V0QXR0cmlidXRlfHwhKGI9YS5nZXRBdHRyaWJ1dGUoXCJlaWRcIikpKTspYT1hLnBhcmVudE5vZGU7cmV0dXJuIGJ8fG19ZnVuY3Rpb24gcShhKXtmb3IodmFyIGI9bnVsbDthJiYoIWEuZ2V0QXR0cmlidXRlfHwhKGI9YS5nZXRBdHRyaWJ1dGUoXCJsZWlkXCIpKSk7KWE9YS5wYXJlbnROb2RlO3JldHVybiBifWZ1bmN0aW9uIHIoYSl7L15odHRwOi9pLnRlc3QoYSkmJndpbmRvdy5sb2NhdGlvbi5wcm90b2NvbD09PVwiaHR0cHM6XCImJihnb29nbGUubWwmJmdvb2dsZS5tbChFcnJvcihcImFcIiksITEse3NyYzphLGdsbW06MX0pLGE9XCJcIik7cmV0dXJuIGF9XG5mdW5jdGlvbiB0KGEsYixjLGQsayl7dmFyIGU9XCJcIjtiLnNlYXJjaChcIiZlaT1cIik9PT0tMSYmKGU9XCImZWk9XCIrcChkKSxiLnNlYXJjaChcIiZsZWk9XCIpPT09LTEmJihkPXEoZCkpJiYoZSs9XCImbGVpPVwiK2QpKTtkPVwiXCI7dmFyIGc9Yi5zZWFyY2goXCImY3NoaWQ9XCIpPT09LTEmJmEhPT1cInNsaFwiLGY9W107Zi5wdXNoKFtcInp4XCIsRGF0ZS5ub3coKS50b1N0cmluZygpXSk7aC5fY3NoaWQmJmcmJmYucHVzaChbXCJjc2hpZFwiLGguX2NzaGlkXSk7Yz1jKCk7YyE9bnVsbCYmZi5wdXNoKFtcIm9waVwiLGMudG9TdHJpbmcoKV0pO2ZvcihjPTA7YzxmLmxlbmd0aDtjKyspe2lmKGM9PT0wfHxjPjApZCs9XCImXCI7ZCs9ZltjXVswXStcIj1cIitmW2NdWzFdfXJldHVyblwiL1wiKyhrfHxcImdlbl8yMDRcIikrXCI/YXR5cD1pJmN0PVwiK1N0cmluZyhhKStcIiZjYWQ9XCIrKGIrZStkKX07bT1nb29nbGUua0VJO2dvb2dsZS5nZXRFST1wO2dvb2dsZS5nZXRMRUk9cTtnb29nbGUubWw9ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH07Z29vZ2xlLmxvZz1mdW5jdGlvbihhLGIsYyxkLGssZSl7ZT1lPT09dm9pZCAwP2w6ZTtjfHwoYz10KGEsYixlLGQsaykpO2lmKGM9cihjKSl7YT1uZXcgSW1hZ2U7dmFyIGc9bi5sZW5ndGg7bltnXT1hO2Eub25lcnJvcj1hLm9ubG9hZD1hLm9uYWJvcnQ9ZnVuY3Rpb24oKXtkZWxldGUgbltnXX07YS5zcmM9Y319O2dvb2dsZS5sb2dVcmw9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/bDpiO3JldHVybiB0KFwiXCIsYSxiKX07fSkuY2FsbCh0aGlzKTsoZnVuY3Rpb24oKXtnb29nbGUueT17fTtnb29nbGUuc3k9W107dmFyIGQ7KGQ9Z29vZ2xlKS54fHwoZC54PWZ1bmN0aW9uKGEsYil7aWYoYSl2YXIgYz1hLmlkO2Vsc2V7ZG8gYz1NYXRoLnJhbmRvbSgpO3doaWxlKGdvb2dsZS55W2NdKX1nb29nbGUueVtjXT1bYSxiXTtyZXR1cm4hMX0pO3ZhciBlOyhlPWdvb2dsZSkuc3h8fChlLnN4PWZ1bmN0aW9uKGEpe2dvb2dsZS5zeS5wdXNoKGEpfSk7Z29vZ2xlLmxtPVtdO3ZhciBmOyhmPWdvb2dsZSkucGxtfHwoZi5wbG09ZnVuY3Rpb24oYSl7Z29vZ2xlLmxtLnB1c2guYXBwbHkoZ29vZ2xlLmxtLGEpfSk7Z29vZ2xlLmxxPVtdO3ZhciBnOyhnPWdvb2dsZSkubG9hZHx8KGcubG9hZD1mdW5jdGlvbihhLGIsYyl7Z29vZ2xlLmxxLnB1c2goW1thXSxiLGNdKX0pO3ZhciBoOyhoPWdvb2dsZSkubG9hZEFsbHx8KGgubG9hZEFsbD1mdW5jdGlvbihhLGIpe2dvb2dsZS5scS5wdXNoKFthLGJdKX0pO2dvb2dsZS5ieD0hMTt2YXIgazsoaz1nb29nbGUpLmx4fHwoay5seD1mdW5jdGlvbigpe30pO3ZhciBsPVtdLG07KG09Z29vZ2xlKS5mY2V8fChtLmZjZT1mdW5jdGlvbihhLGIsYyxuKXtsLnB1c2goW2EsYixjLG5dKX0pO2dvb2dsZS5xY2U9bDt9KS5jYWxsKHRoaXMpO2dvb2dsZS5mPXt9OyhmdW5jdGlvbigpe1xuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJzdWJtaXRcIixmdW5jdGlvbihiKXt2YXIgYTtpZihhPWIudGFyZ2V0KXt2YXIgYz1hLmdldEF0dHJpYnV0ZShcImRhdGEtc3VibWl0ZmFsc2VcIik7YT1jPT09XCIxXCJ8fGM9PT1cInFcIiYmIWEuZWxlbWVudHMucS52YWx1ZT8hMDohMX1lbHNlIGE9ITE7YSYmKGIucHJldmVudERlZmF1bHQoKSxiLnN0b3BQcm9wYWdhdGlvbigpKX0sITApO2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIixmdW5jdGlvbihiKXt2YXIgYTthOntmb3IoYT1iLnRhcmdldDthJiZhIT09ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O2E9YS5wYXJlbnRFbGVtZW50KWlmKGEudGFnTmFtZT09PVwiQVwiKXthPWEuZ2V0QXR0cmlidXRlKFwiZGF0YS1ub2hyZWZcIik9PT1cIjFcIjticmVhayBhfWE9ITF9YSYmYi5wcmV2ZW50RGVmYXVsdCgpfSwhMCk7fSkuY2FsbCh0aGlzKTsoZnVuY3Rpb24oKXtnb29nbGUuaHM9e2g6dHJ1ZSxuaHM6ZmFsc2Usc2llOmZhbHNlfTt9KSgpOyhmdW5jdGlvbigpe2dvb2dsZS5jPXtidGZpOmZhbHNlLGM0dDp0cnVlLGNhZjpmYWxzZSxjYXA6MjAwMCxjZnI6ZmFsc2UsY3JwOmZhbHNlLGNzcDpmYWxzZSxjc3hzOmZhbHNlLGRpOmZhbHNlLGZsYTpmYWxzZSxmbGk6ZmFsc2UsZ2w6dHJ1ZSxpcnNmOmZhbHNlLGxoYzpmYWxzZSxtYWlzOnRydWUsbWFyYjp0cnVlLG1jYzpmYWxzZSxwY2k6dHJ1ZSxyYWY6ZmFsc2UsdGFmOnRydWUsdGltbDpmYWxzZSx0cHJjOmZhbHNlLHZpczp0cnVlLHdoMDpmYWxzZSx3aHU6ZmFsc2V9O30pKCk7KGZ1bmN0aW9uKCl7XG52YXIgcD10aGlzfHxzZWxmO3dpbmRvdy5nb29nbGU9d2luZG93Lmdvb2dsZXx8e307dmFyIHE9d2luZG93LnBlcmZvcm1hbmNlJiZ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nJiZcIm5hdmlnYXRpb25TdGFydFwiaW4gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyxhYT1nb29nbGUuc3R2c2MmJmdvb2dsZS5zdHZzYy5ucyxyPXE/YWF8fHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0OnZvaWQgMDtmdW5jdGlvbiB0KCl7cmV0dXJuIHdpbmRvdy5wZXJmb3JtYW5jZS5ub3coKS0oZ29vZ2xlLnN0dnNjJiZnb29nbGUuc3R2c2MucG5vfHwwKX12YXIgYmE9Z29vZ2xlLnN0dnNjJiZnb29nbGUuc3R2c2MucnMsdT1xP2JhfHx3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlU3RhcnQ6dm9pZCAwO2Z1bmN0aW9uIGNhKGEsYixjKXthOntmb3IodmFyIGQ9YTtkJiZkIT09YjtkPWQucGFyZW50RWxlbWVudClpZihkLnN0eWxlLm92ZXJmbG93PT09XCJoaWRkZW5cInx8ZC50YWdOYW1lPT09XCJHLUVYUEFOREFCTEUtQ09OVEVOVFwiJiZnZXRDb21wdXRlZFN0eWxlKGQpLmdldFByb3BlcnR5VmFsdWUoXCJvdmVyZmxvd1wiKT09PVwiaGlkZGVuXCIpe2I9ZDticmVhayBhfWI9bnVsbH1pZighYilyZXR1cm4hMTthPWMoYSk7Yz1jKGIpO3JldHVybiBhLmJvdHRvbTxjLnRvcHx8YS50b3A+PWMuYm90dG9tfHxhLnJpZ2h0PGMubGVmdHx8YS5sZWZ0Pj1jLnJpZ2h0fVxuZnVuY3Rpb24gZGEoYSl7cmV0dXJuIGEuc3R5bGUuZGlzcGxheT09PVwibm9uZVwiPyEwOmRvY3VtZW50LmRlZmF1bHRWaWV3JiZkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlPyhhPWRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUoYSksISFhJiYoYS52aXNpYmlsaXR5PT09XCJoaWRkZW5cInx8YS5oZWlnaHQ9PT1cIjBweFwiJiZhLndpZHRoPT09XCIwcHhcIikpOiExfVxuZnVuY3Rpb24gZWEoYSxiLGMsZCxlKXt2YXIgaz1lKGEpLG09ay5sZWZ0KyhjPzA6d2luZG93LnBhZ2VYT2Zmc2V0KSxuPWsudG9wKyhjPzA6d2luZG93LnBhZ2VZT2Zmc2V0KSxoPWsud2lkdGgsZj1rLmhlaWdodCxnPTA7aWYoIWImJmY8PTAmJmg8PTApcmV0dXJuIGc7Yj13aW5kb3cuaW5uZXJIZWlnaHR8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7bitmPDA/Zz0yOm4+PWImJihnPTQpO2lmKG0raDwwfHxtPj0od2luZG93LmlubmVyV2lkdGh8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCkpZ3w9ODtlbHNlIGlmKGQpe209ay5sZWZ0O2lmKCFjKWZvcig7YSYmYSE9PWQ7YT1hLnBhcmVudEVsZW1lbnQpbSs9YS5zY3JvbGxMZWZ0O2Q9ZShkKTtpZihtK2g8ZC5sZWZ0fHxtPj1kLnJpZ2h0KWd8PTg7ay50b3A+PWQuYm90dG9tJiYoZ3w9NCl9Z3x8KGc9MSxuK2Y+YiYmKGd8PTQpKTtyZXR1cm4gZ307dmFyIGZhPWdvb2dsZS5jLmNhcCxoYT1nb29nbGUuYy5jc3Asdj1nb29nbGUuYy52aXMsdz1nb29nbGUuYy5nbCxpYT1nb29nbGUuYy5tYXJiLGphPWdvb2dsZS5jLnRhZix4PWdvb2dsZS5jLnRpbWwsa2E9Z29vZ2xlLmMucGNpO2Z1bmN0aW9uIHkoYSxiKXtnb29nbGUudGljayhcImxvYWRcIixhLGIpfWZ1bmN0aW9uIHooYSxiKXtnb29nbGUuYy5lKFwibG9hZFwiLGEsU3RyaW5nKGIpKX1mdW5jdGlvbiBBKGEsYixjLGQpe2EuYWRkRXZlbnRMaXN0ZW5lcj9hLmFkZEV2ZW50TGlzdGVuZXIoYixjLGR8fCExKTphLmF0dGFjaEV2ZW50JiZhLmF0dGFjaEV2ZW50KFwib25cIitiLGMpfWZ1bmN0aW9uIEIoYSxiLGMsZCl7XCJhZGRFdmVudExpc3RlbmVyXCJpbiBhP2EucmVtb3ZlRXZlbnRMaXN0ZW5lcihiLGMsZHx8ITEpOmEuYXR0YWNoRXZlbnQmJmEuZGV0YWNoRXZlbnQoXCJvblwiK2IsYyl9O3ZhciBsYT1mdW5jdGlvbihhLGIsYyl7dGhpcy5nPWE7dGhpcy52PVtdO3RoaXMuQj10aGlzLmcuaGFzQXR0cmlidXRlKFwiZGF0YS1ub2FmdFwiKTt0aGlzLmo9ISF0aGlzLmcuZ2V0QXR0cmlidXRlKFwiZGF0YS1kZWZlcnJlZFwiKTt2YXIgZDtpZihkPSF0aGlzLmopYTp7Zm9yKGQ9MDtkPEMubGVuZ3RoOysrZClpZihhLmdldEF0dHJpYnV0ZShcImRhdGEtXCIrQ1tkXSkpe2Q9ITA7YnJlYWsgYX1kPSExfXRoaXMubD1kO3RoaXMuRj10aGlzLmcuaGFzQXR0cmlidXRlKFwiZGF0YS1ic3JjXCIpOyhhPXRoaXMuZy5zcmMpJiZ0aGlzLmwmJih0aGlzLkQ9YSk7IXRoaXMubCYmdHlwZW9mIGE9PT1cInN0cmluZ1wiJiZhfHx0aGlzLmcuc2V0QXR0cmlidXRlKFwiZGF0YS1senlfXCIsXCIxXCIpO3RoaXMuQj9iPSEwOmJ8fHcmJnRoaXMuaXx8dGhpcy5qfHx0aGlzLmw/Yj0hMTooYj10aGlzLmcuc3JjLGI9dHlwZW9mIGIhPT1cInN0cmluZ1wifHwhYixhPXRoaXMuZy5nZXRBdHRyaWJ1dGUoXCJkYXRhLWNtcFwiKSxiPVxuYSE9PW51bGw/YT09PVwiMVwiOmJ8fHRoaXMuZy5jb21wbGV0ZSk7dGhpcy5BPWI7d3x8dGhpcy5BfHx0aGlzLml8fEQodGhpcyk7diYmIWMmJkUodGhpcyl9LEQ9ZnVuY3Rpb24oYSl7Z29vZ2xlLnJsbChhLmcsITAsZnVuY3Rpb24oKXtGKGEsRGF0ZS5ub3coKSl9KX0sRT1mdW5jdGlvbihhKXtpZihhLkM9PT12b2lkIDApe3ZhciBiPWEuZzt2YXIgYzthOntmb3IoYz1iO2M7Yz1jLnBhcmVudEVsZW1lbnQpaWYoYy50YWdOYW1lPT09XCJHLVNDUk9MTElORy1DQVJPVVNFTFwifHxoYSYmYy5jbGFzc0xpc3QuY29udGFpbnMoXCJYTmZBVWJcIikpYnJlYWsgYTtjPW51bGx9dmFyIGQ9Yi5wYXJlbnRFbGVtZW50O2lmKGQmJihkLnRhZ05hbWU9PT1cIkctSU1HXCJ8fGQuY2xhc3NMaXN0LmNvbnRhaW5zKFwidWhIT3dmXCIpKSYmKGQuc3R5bGUuaGVpZ2h0fHxkLnN0eWxlLndpZHRoKSl7dmFyIGU9ZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxrPWIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYoZS5oZWlnaHQ8PVxuay5oZWlnaHR8fGUud2lkdGg8PWsud2lkdGgpYj1kfWI9Z29vZ2xlLmN2KGIsITEsdm9pZCAwLGMpO2EuQz1ifXJldHVybiBhLkN9LEY9ZnVuY3Rpb24oYSxiKXtpZihhLkQmJmEuZy5zcmM9PT1hLkR8fGEuZy5nZXRBdHRyaWJ1dGUoXCJkYXRhLWRlZmVycmVkXCIpPT09XCIxXCIpd3x8RChhKTtlbHNlIGlmKCFhLmkpe2EuaiYmYS5nLnNldEF0dHJpYnV0ZShcImRhdGEtZGVmZXJyZWRcIixcIjNcIik7YS5pPWI7Yj1hLmk7Zm9yKHZhciBjPTA7YzxhLnYubGVuZ3RoOysrYylhLnZbY10oYixhLmcpO2Eudi5sZW5ndGg9MH19LEM9XCJzcmMgYnNyYyB1cmwgbGwgaW1hZ2UgaW1nLXVybCBsaW9pXCIuc3BsaXQoXCIgXCIpO2dvb2dsZS5jLmlpbT1nb29nbGUuYy5paW18fHt9O3ZhciBHPWdvb2dsZS5jLmlpbSxtYT0wO2Z1bmN0aW9uIEgoYSxiLGMsZCl7dmFyIGU9YS5nZXRBdHRyaWJ1dGUoXCJkYXRhLWNzaWlkXCIpO2V8fChlPVN0cmluZygrK21hKSxrYSYmKGU9Z29vZ2xlLmtFSStcIl9cIitlKSk7R1tlXXx8KGEuc2V0QXR0cmlidXRlKFwiZGF0YS1jc2lpZFwiLGUpLEdbZV09Yj9iKGEpOm5ldyBsYShhLGMsZCkpO3JldHVybiBHW2VdfWZ1bmN0aW9uIEkoYSl7Zm9yKHZhciBiPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaW1nXCIpLGM9MCxkPWIubGVuZ3RoO2M8ZDsrK2MpYShIKGJbY10pKX07ZnVuY3Rpb24gbmEoYSl7aWYoYSYmKGE9YS50YXJnZXQsYS50YWdOYW1lPT09XCJJTUdcIikpe3ZhciBiPURhdGUubm93KCk7RihIKGEsdm9pZCAwLCEwLCEwKSxiKX19ZnVuY3Rpb24gSihhKXtnb29nbGUuYy5vaWwoYSl9O2dvb2dsZS50aW1lcnM9e307Z29vZ2xlLnN0YXJ0VGljaz1mdW5jdGlvbihhKXtnb29nbGUudGltZXJzW2FdPXt0OntzdGFydDpEYXRlLm5vdygpfSxlOnt9LG06e319fTtnb29nbGUudGljaz1mdW5jdGlvbihhLGIsYyl7Z29vZ2xlLnRpbWVyc1thXXx8Z29vZ2xlLnN0YXJ0VGljayhhKTtjPWMhPT12b2lkIDA/YzpEYXRlLm5vdygpO2IgaW5zdGFuY2VvZiBBcnJheXx8KGI9W2JdKTtmb3IodmFyIGQ9MCxlO2U9YltkKytdOylnb29nbGUudGltZXJzW2FdLnRbZV09Y307Z29vZ2xlLmMuZT1mdW5jdGlvbihhLGIsYyl7Z29vZ2xlLnRpbWVyc1thXS5lW2JdPWN9O2dvb2dsZS5jLmI9ZnVuY3Rpb24oYSxiKXtiPWdvb2dsZS50aW1lcnNbYnx8XCJsb2FkXCJdLm07YlthXSYmZ29vZ2xlLm1sKEVycm9yKFwiYVwiKSwhMSx7bTphfSk7YlthXT0hMH07Z29vZ2xlLmMudT1mdW5jdGlvbihhLGIpe3ZhciBjPWdvb2dsZS50aW1lcnNbYnx8XCJsb2FkXCJdO2I9Yy5tO2lmKGJbYV0pe2JbYV09ITE7Zm9yKGEgaW4gYilpZihiW2FdKXJldHVybiExO3cmJihCKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxcImxvYWRcIixKLCEwKSxCKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxcImVycm9yXCIsSiwhMCkpO2dvb2dsZS5jc2lSZXBvcnQoYyxcImFsbFwiKTtyZXR1cm4hMH1jPVwiXCI7Zm9yKHZhciBkIGluIGIpYys9ZCtcIjpcIitiW2RdK1wiO1wiO2dvb2dsZS5tbChFcnJvcihcImJcIiksITEse206YSxiOmJbYV09PT0hMSxzOmN9KTtyZXR1cm4hMX07Z29vZ2xlLnJsbD1mdW5jdGlvbihhLGIsYyl7ZnVuY3Rpb24gZChlKXtjKGUpO0IoYSxcImxvYWRcIixkKTtCKGEsXCJlcnJvclwiLGQpfUEoYSxcImxvYWRcIixkKTtiJiZBKGEsXCJlcnJvclwiLGQpfTtwLmdvb2dsZS5hZnQ9ZnVuY3Rpb24oYSl7YS5zZXRBdHRyaWJ1dGUoXCJkYXRhLWltbFwiLFN0cmluZyhEYXRlLm5vdygpKSl9O2dvb2dsZS5zdGFydFRpY2soXCJsb2FkXCIpO2dvb2dsZS50aWNrKFwibG9hZFwiLFwiaHN0XCIpO3ZhciBLPWdvb2dsZS50aW1lcnMubG9hZDtpZighZ29vZ2xlLnN0dnNjfHxnb29nbGUuc3R2c2Muc3cpe3ZhciBMPUsudCxNPXdpbmRvdy5wZXJmb3JtYW5jZTtNJiYociYmdSYmdT5yJiZ1PD1MLnN0YXJ0PyhMLnN0YXJ0PXUsSy53c3J0PXUtcik6TS5ub3cmJihLLndzcnQ9TWF0aC5mbG9vcih0KCkpKSl9Z29vZ2xlLmMuYihcInhlXCIsXCJsb2FkXCIpO3ZhciBOO2lmKChOPWdvb2dsZS5zdHZzYyk9PW51bGw/MDpOLnN0YXJ0KWdvb2dsZS50aW1lcnMubG9hZC50LnN0YXJ0PWdvb2dsZS5zdHZzYy5zdGFydDtmdW5jdGlvbiBPKGEpe2lmKGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PVwiaGlkZGVuXCIpe2dvb2dsZS5jLmZoPWE7dmFyIGI7ciYmKGI9TWF0aC5mbG9vcihyK2EpKTtnb29nbGUudGljayhcImxvYWRcIixcImZodFwiLGIpO3JldHVybiEwfXJldHVybiExfVxuZnVuY3Rpb24gUChhKXtPKGEudGltZVN0YW1wKSYmQihkb2N1bWVudCxcInZpc2liaWxpdHljaGFuZ2VcIixQLCEwKX1nb29nbGUuYy5maD1JbmZpbml0eTtBKGRvY3VtZW50LFwidmlzaWJpbGl0eWNoYW5nZVwiLFAsITApO08oMCk7dyYmKGdvb2dsZS5jLm9pbD1uYSxBKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxcImxvYWRcIixKLCEwKSxBKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxcImVycm9yXCIsSiwhMCkpO2dvb2dsZS5jdj1mdW5jdGlvbihhLGIsYyxkKXtpZighYXx8IWImJmRhKGEpKXJldHVybiAwO2lmKCFhLmdldEJvdW5kaW5nQ2xpZW50UmVjdClyZXR1cm4gMTt2YXIgZT1mdW5jdGlvbihrKXtyZXR1cm4gay5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX07cmV0dXJuIWImJmNhKGEsZCxlKT8wOmVhKGEsYixjLGQsZSl9O2Z1bmN0aW9uIFEoYSl7dHJ5e2EoKX1jYXRjaChiKXtnb29nbGUubWwoYiwhMSl9fWZ1bmN0aW9uIG9hKCl7aWYoZ29vZ2xlLmFmdHEhPT1udWxsKXtnb29nbGUudGljayhcImxvYWRcIixcImFmdHFmXCIsRGF0ZS5ub3coKSk7Zm9yKHZhciBhLGI9MCxjO2M9KGE9Z29vZ2xlLmFmdHEpPT1udWxsP3ZvaWQgMDphW2IrK107KVEoYyk7Z29vZ2xlLmFmdHE9bnVsbH19Z29vZ2xlLmNhZnQ9ZnVuY3Rpb24oYSl7Z29vZ2xlLmFmdHE9PT1udWxsP1EoYSk6KGdvb2dsZS5hZnRxPWdvb2dsZS5hZnRxfHxbXSxnb29nbGUuYWZ0cS5wdXNoKGEpKX07ZnVuY3Rpb24gUigpe3JldHVybiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uJiZ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlfTt2YXIgcGE9d2luZG93LmxvY2F0aW9uLHFhPVwiYWZ0IGFmdGkgYWZ0ciBhZnRzIGNicyBjYnQgZmh0IGZydHMgZnJ2dCBoY3QgaHN0IHBydCBwcnMgc2N0XCIuc3BsaXQoXCIgXCIpO2Z1bmN0aW9uIFMoYSl7cmV0dXJuKGE9cGEuc2VhcmNoLm1hdGNoKG5ldyBSZWdFeHAoXCJbPyZdXCIrYStcIj0oXFxcXGQrKVwiKSkpP051bWJlcihhWzFdKTotMX1cbmZ1bmN0aW9uIFQoYSl7dmFyIGI9Z29vZ2xlLnRpbWVycy5sb2FkLGM9Yi5tO2lmKCFjfHwhYy5wcnMpe2M9d2luZG93Ll9jc2M9PT1cImFnc2FcIiYmd2luZG93Ll9jc2hpZDt2YXIgZD1SKCl8fGM/MDpTKFwicXN1YnRzXCIpO2Q+MCYmKGM9UyhcImZidHNcIiksYz4wJiYoYi50LnN0YXJ0PU1hdGgubWF4KGQsYykpKTt2YXIgZT1iLnQsaz1lLnN0YXJ0O2M9e307Yi53c3J0IT09dm9pZCAwJiYoYy53c3J0PWIud3NydCk7aWYoaylmb3IodmFyIG09MCxuO249cWFbbSsrXTspe3ZhciBoPWVbbl07aCYmKGNbbl09TWF0aC5tYXgoaC1rLDApKX1kPjAmJihjLmdzYXNydD1iLnQuc3RhcnQtZCk7Yj1iLmU7YT1cIi9nZW5fMjA0P3M9XCIrZ29vZ2xlLnNuK1wiJnQ9XCIrYStcIiZhdHlwPWNzaSZlaT1cIitnb29nbGUua0VJK1wiJnJ0PVwiO2Q9XCJcIjtmb3IodmFyIGYgaW4gYylhKz1cIlwiK2QrZitcIi5cIitjW2ZdLGQ9XCIsXCI7Zm9yKHZhciBnIGluIGIpYSs9XCImXCIrZytcIj1cIitiW2ddO2Y9YTtnPVwiXCI7YT1bXTtwLl9jc2hpZCYmXG5hLnB1c2goW1wiY3NoaWRcIixwLl9jc2hpZF0pO2I9d2luZG93Lmdvb2dsZSE9PXZvaWQgMCYmd2luZG93Lmdvb2dsZS5rT1BJIT09dm9pZCAwJiZ3aW5kb3cuZ29vZ2xlLmtPUEkhPT0wP3dpbmRvdy5nb29nbGUua09QSTpudWxsO2IhPW51bGwmJmEucHVzaChbXCJvcGlcIixiLnRvU3RyaW5nKCldKTtmb3IoYj0wO2I8YS5sZW5ndGg7YisrKXtpZihiPT09MHx8Yj4wKWcrPVwiJlwiO2crPWFbYl1bMF0rXCI9XCIrYVtiXVsxXX1hPWYrZzsoZj1nb29nbGUuc3R2c2MpJiYoYSs9XCImc3NyPTFcIik7aWYoZj9mLmlzQkY6UigpPT09MilhKz1cIiZiYj0xXCI7UigpPT09MSYmKGErPVwiJnI9MVwiKTtcImdzYXNydFwiaW4gYyYmKGM9UyhcInFzZFwiKSxjPjAmJihhKz1cIiZxc2Q9XCIrYykpO2M9YTt0eXBlb2YgbmF2aWdhdG9yLnNlbmRCZWFjb249PT1cImZ1bmN0aW9uXCI/bmF2aWdhdG9yLnNlbmRCZWFjb24oYyxcIlwiKTpnb29nbGUubG9nKFwiXCIsXCJcIixjKX19O2Z1bmN0aW9uIFUoYSl7YSYmZ29vZ2xlLnRpY2soXCJsb2FkXCIsXCJjYnNcIixhKTtnb29nbGUudGljayhcImxvYWRcIixcImNidFwiKTtUKFwiY2FwXCIpfTt2YXIgc2E9ZnVuY3Rpb24oYSl7dmFyIGI9cmE7Yi5nPWE7Yi5nJiYoYi5nKCksYi5nPW51bGwpfSxyYT1uZXcgZnVuY3Rpb24oKXt0aGlzLmc9bnVsbH07ZnVuY3Rpb24gVihhLGIsYyl7ZnVuY3Rpb24gZCgpe2t8fG0hPT1ufHxjKGYsaCxnKX1mdW5jdGlvbiBlKGwseWEpe2w9TWF0aC5tYXgoZixsKTtmIT09bCYmKGg9ZixnPXlhKTtmPWw7KytuO2QoKX12YXIgaz0hMCxtPTAsbj0wLGg9MCxmPTAsZztJKGZ1bmN0aW9uKGwpe2EobCkmJigrK20sbC5pfHxsLkE/ZShsLml8fDAsbC5nKTpsLnYucHVzaChlKSl9KTtiKCk7az0hMTtkKCl9O3ZhciBXPXdpbmRvdy5wZXJmb3JtYW5jZTtmdW5jdGlvbiB0YSgpe2lmKGdvb2dsZS5jLmM0dCYmVyYmVy5tYXJrJiZXLnRpbWluZyl7dmFyIGE9Z29vZ2xlLnRpbWVycy5sb2FkLGI9YS53c3J0O2E9YS50LmFmdDtiJiZiPjAmJmEmJmE+MCYmKGEtPVcudGltaW5nLm5hdmlnYXRpb25TdGFydCxhPjAmJihXLm1hcmsoXCJTZWFyY2hBRlRTdGFydFwiLHtzdGFydFRpbWU6Yn0pLFcubWFyayhcInRyaWdnZXI6U2VhcmNoQUZURW5kXCIse3N0YXJ0VGltZTphfSkpKX19O3ZhciB1YT0hMSxYPTAsWT0wLFo7ZnVuY3Rpb24gdmEoYSxiKXt2YXIgYz1nb29nbGUuYy53aCxkPSFiO2I9Yj9NYXRoLmZsb29yKGIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wK3dpbmRvdy5wYWdlWU9mZnNldCk6LTE7IVkmJihkfHxiPj1jKSYmKFk9YSxYPWIpO2lmKFkpe3ZhciBlPTAsaz0wLG09MCxuPSExO1YoZnVuY3Rpb24oaCl7aWYoIShFKGgpJjEpKXJldHVybiExO2lmKGguQSlyZXR1cm4rK20sIWguQjtFKGgpJjQmJihuPSEwKTtoLmomJisrazsrK2U7cmV0dXJuITB9LGZ1bmN0aW9uKCl7eihcImltYVwiLGUpO3ooXCJpbWFkXCIsayk7eihcImltYWNcIixtKTtkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwiSWI3RWZjXCIpLmxlbmd0aCYmeihcImRkbFwiLDEpO3ooXCJ3aFwiLGMpfSxmdW5jdGlvbihoLGYsZyl7aCYmeShcImFmdGlcIixoKTtmJiZ5KFwiYWZ0aXBcIixmKTtYPjAmJnkoXCJhZnRzXCIsWSk7aWYoZyl7dmFyIGw7Zj0oKGw9Zy5jbG9zZXN0KFwiW2RhdGEtdmVkXVwiKSk9PW51bGw/dm9pZCAwOmwuZ2V0QXR0cmlidXRlKFwiZGF0YS12ZWRcIikpfHxcblwiTkZcIjt6KFwiYWZ0aWVcIixmKX1sPVk7Zj1YO2lmKDA+bHx8aWEmJmMmJlg8YyYmMD49YylmPWw9MDtoJiYoIWphfHxoPmx8fG4pJiYobD1oLGY9Yyk7eShcImFmdFwiLGwpO3ooXCJhZnRcIiwxKTt6KFwiYWZ0cFwiLGYpO3NhKGZ1bmN0aW9uKCl7WiYmY2xlYXJUaW1lb3V0KFopO1QoXCJhZnRcIil9KTt0YSgpO2RvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PVwiaGlkZGVuXCImJnooXCJoZGRuXCIsMSk7Z29vZ2xlLmMudShcImFmdFwiKTtvYSgpfSl9fTt2YXIgd2E9ITE7ZnVuY3Rpb24geGEoYSl7YT1IKGEpO3cmJnYmJkUoYSk7cmV0dXJuIDB9O2dvb2dsZS5jLndoPU1hdGguZmxvb3Iod2luZG93LmlubmVySGVpZ2h0fHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KTtnb29nbGUuYy5iKFwicHJ0XCIpO3ZhciB6YT1mYXx8MDtpZih6YT4wKWE6e2lmKHIhPT12b2lkIDApe3ZhciBBYT10KCksQmE9emEtQWE7aWYoQmE+MCl7Wj1zZXRUaW1lb3V0KFUsQmEsTWF0aC5mbG9vcihyK0FhKSk7YnJlYWsgYX1VKCl9Wj12b2lkIDB9Z29vZ2xlLmMubWFmdD1mdW5jdGlvbihhLGIpe3d8fEkoZnVuY3Rpb24oKXt9KTt1YXx8KGdvb2dsZS5jLmIoXCJhZnRcIiksdWE9ITApO1l8fHZhKGEsYil9O2dvb2dsZS5jLm1pbWw9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihkKXt2YXIgZT1FKGQpO2QuZy5zZXRBdHRyaWJ1dGUoXCJkYXRhLWF0ZlwiLFN0cmluZyhlKSk7cmV0dXJuIHgmJiFkLkImJighZC5sfHxkLkZ8fCEhKEUoZCkmMSkpfWZ1bmN0aW9uIGMoZCl7eCYmeShcImltbFwiLGR8fGEpO2dvb2dsZS5jLnUoXCJpbWxcIil9d2F8fChnb29nbGUuYy5iKFwiaW1sXCIpLGZ1bmN0aW9uKCl7VihiLGZ1bmN0aW9uKCl7fSxjKX0oMCksd2E9ITApfTtnb29nbGUuYy51Yj1mdW5jdGlvbigpe307aWYoIXd8fHYpZ29vZ2xlLmMuc2V0dXA9eGE7fSkuY2FsbCh0aGlzKTsoZnVuY3Rpb24oKXtmdW5jdGlvbiBiKCl7Zm9yKHZhciBhPWdvb2dsZS5kcmMuc2hpZnQoKTthOylhKCksYT1nb29nbGUuZHJjLnNoaWZ0KCl9O2dvb2dsZS5kcmM9W2Z1bmN0aW9uKCl7Z29vZ2xlLnRpY2smJmdvb2dsZS50aWNrKFwibG9hZFwiLFwiZGNsXCIpfV07Z29vZ2xlLmRjbGM9ZnVuY3Rpb24oYSl7Z29vZ2xlLmRyYy5sZW5ndGg/Z29vZ2xlLmRyYy5wdXNoKGEpOmEoKX07d2luZG93LmFkZEV2ZW50TGlzdGVuZXI/KGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJET01Db250ZW50TG9hZGVkXCIsYiwhMSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsYiwhMSkpOndpbmRvdy5hdHRhY2hFdmVudCYmd2luZG93LmF0dGFjaEV2ZW50KFwib25sb2FkXCIsYik7fSkuY2FsbCh0aGlzKTsoZnVuY3Rpb24oKXt2YXIgYj1bXTtnb29nbGUuanNjPXt4eDpiLHg6ZnVuY3Rpb24oYSl7Yi5wdXNoKGEpfSxtbTpbXSxtOmZ1bmN0aW9uKGEpe2dvb2dsZS5qc2MubW0ubGVuZ3RofHwoZ29vZ2xlLmpzYy5tbT1hKX19O30pLmNhbGwodGhpcyk7KGZ1bmN0aW9uKCl7dmFyIGU9ZnVuY3Rpb24oYil7dmFyIGE9MDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYTxiLmxlbmd0aD97ZG9uZTohMSx2YWx1ZTpiW2ErK119Ontkb25lOiEwfX19LGg9ZnVuY3Rpb24oYil7aWYoIShiIGluc3RhbmNlb2YgQXJyYXkpKXt2YXIgYT10eXBlb2YgU3ltYm9sIT1cInVuZGVmaW5lZFwiJiZTeW1ib2wuaXRlcmF0b3ImJmJbU3ltYm9sLml0ZXJhdG9yXTtpZihhKWI9YS5jYWxsKGIpO2Vsc2UgaWYodHlwZW9mIGIubGVuZ3RoPT1cIm51bWJlclwiKWI9e25leHQ6ZShiKX07ZWxzZSB0aHJvdyBFcnJvcihcImFgXCIrU3RyaW5nKGIpKTtmb3IodmFyIGM9W107IShhPWIubmV4dCgpKS5kb25lOyljLnB1c2goYS52YWx1ZSk7Yj1jfXJldHVybiBifTtcbnZhciBrPXRoaXN8fHNlbGY7XG52YXIgbD1bXCJmb2N1c1wiLFwiYmx1clwiLFwiZXJyb3JcIixcImxvYWRcIixcInRvZ2dsZVwiXTtoKFwiY2xpY2sgZGJsY2xpY2sgZm9jdXNpbiBmb2N1c291dCBrZXlkb3duIGtleXVwIGtleXByZXNzIG1vdXNlb3ZlciBtb3VzZW91dCBzdWJtaXQgdG91Y2hzdGFydCB0b3VjaGVuZCB0b3VjaG1vdmUgdG91Y2hjYW5jZWwgYXV4Y2xpY2sgY2hhbmdlIGNvbXBvc2l0aW9uc3RhcnQgY29tcG9zaXRpb251cGRhdGUgY29tcG9zaXRpb25lbmQgYmVmb3JlaW5wdXQgaW5wdXQgc2VsZWN0IGNvcHkgY3V0IHBhc3RlIG1vdXNlZG93biBtb3VzZXVwIHdoZWVsIGNvbnRleHRtZW51IGRyYWdvdmVyIGRyYWdlbnRlciBkcmFnbGVhdmUgZHJvcCBkcmFnc3RhcnQgZHJhZ2VuZCBwb2ludGVyZG93biBwb2ludGVybW92ZSBwb2ludGVydXAgcG9pbnRlcmNhbmNlbCBwb2ludGVyb3ZlciBwb2ludGVyb3V0IGdvdHBvaW50ZXJjYXB0dXJlIGxvc3Rwb2ludGVyY2FwdHVyZSBlbmRlZCBsb2FkZWRtZXRhZGF0YSBwYWdlaGlkZSBwYWdlc2hvdyB2aXNpYmlsaXR5Y2hhbmdlIGJlZm9yZW1hdGNoXCIuc3BsaXQoXCIgXCIpKTtoKGwpO3ZhciBuPWZ1bmN0aW9uKCl7dmFyIGI9bTt0aGlzLnY9e307dGhpcy5BPXt9O3RoaXMuaj1udWxsO3RoaXMuZz1bXTt0aGlzLmk9Yn07bi5wcm90b3R5cGUuaGFuZGxlRXZlbnQ9ZnVuY3Rpb24oYixhLGMpe3EodGhpcyx7ZXZlbnRUeXBlOmIsZXZlbnQ6YSx0YXJnZXRFbGVtZW50OmEudGFyZ2V0LGVpYzpjLHRpbWVTdGFtcDpEYXRlLm5vdygpLGVpYTp2b2lkIDAsZWlycDp2b2lkIDAsZWlhY2s6dm9pZCAwfSl9O3ZhciBxPWZ1bmN0aW9uKGIsYSl7aWYoYi5qKWIuaihhKTtlbHNle2EuZWlycD0hMDt2YXIgYzsoYz1iLmcpPT1udWxsfHxjLnB1c2goYSl9fSxyPWZ1bmN0aW9uKGIsYSl7aWYoIShhIGluIGIudikmJmIuaSl7dmFyIGM9ZnVuY3Rpb24oZyxwLE8pe2IuaGFuZGxlRXZlbnQoZyxwLE8pfTtiLnZbYV09Yzt2YXIgZD1hPT09XCJtb3VzZWVudGVyXCI/XCJtb3VzZW92ZXJcIjphPT09XCJtb3VzZWxlYXZlXCI/XCJtb3VzZW91dFwiOmE9PT1cInBvaW50ZXJlbnRlclwiP1wicG9pbnRlcm92ZXJcIjphPT09XCJwb2ludGVybGVhdmVcIj9cInBvaW50ZXJvdXRcIjphO2lmKGQhPT1hKXt2YXIgZj1iLkFbZF18fFtdO2YucHVzaChhKTtiLkFbZF09Zn1iLmkuYWRkRXZlbnRMaXN0ZW5lcihkLGZ1bmN0aW9uKGcpe3JldHVybiBmdW5jdGlvbihwKXtjKGEscCxnKX19KX19O24ucHJvdG90eXBlLnM9ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMudltiXX07bi5wcm90b3R5cGUubD1mdW5jdGlvbigpe3RoaXMuaS5sKCk7dGhpcy5pPW51bGw7dGhpcy52PXt9O3RoaXMuQT17fTt0aGlzLmo9bnVsbDt0aGlzLmc9W119O24ucHJvdG90eXBlLmVjcmQ9ZnVuY3Rpb24oYil7dGhpcy5qPWI7dmFyIGE7aWYoKGE9dGhpcy5nKT09bnVsbD8wOmEubGVuZ3RoKXtmb3IoYj0wO2I8dGhpcy5nLmxlbmd0aDtiKyspcSh0aGlzLHRoaXMuZ1tiXSk7dGhpcy5nPW51bGx9fTt2YXIgdD10eXBlb2YgbmF2aWdhdG9yIT09XCJ1bmRlZmluZWRcIiYmL2lQaG9uZXxpUGFkfGlQb2QvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksdj1mdW5jdGlvbigpe3RoaXMuZz11O3RoaXMuaT1bXX07di5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihiLGEpe3QmJih0aGlzLmcuc3R5bGUuY3Vyc29yPVwicG9pbnRlclwiKTt2YXIgYz10aGlzLmksZD1jLnB1c2gsZj10aGlzLmc7YT1hKHRoaXMuZyk7dmFyIGc9ITE7bC5pbmRleE9mKGIpPj0wJiYoZz0hMCk7Zi5hZGRFdmVudExpc3RlbmVyKGIsYSxnKTtkLmNhbGwoYyx7ZXZlbnRUeXBlOmIsczphLGNhcHR1cmU6Z30pfTt2LnByb3RvdHlwZS5sPWZ1bmN0aW9uKCl7Zm9yKHZhciBiPTA7Yjx0aGlzLmkubGVuZ3RoO2IrKyl7dmFyIGE9dGhpcy5nLGM9dGhpcy5pW2JdO2EucmVtb3ZlRXZlbnRMaXN0ZW5lcj9hLnJlbW92ZUV2ZW50TGlzdGVuZXIoYy5ldmVudFR5cGUsYy5zLGMuY2FwdHVyZSk6YS5kZXRhY2hFdmVudCYmYS5kZXRhY2hFdmVudChcIm9uXCIrYy5ldmVudFR5cGUsYy5zKX10aGlzLmk9W119O3ZhciB3PWZ1bmN0aW9uKCl7dGhpcy5nPVtdO3RoaXMuaT1bXTt0aGlzLmo9W119O3cucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYixhKXtmb3IodmFyIGM9ZnVuY3Rpb24oZil7Zi5hZGRFdmVudExpc3RlbmVyKGIsYSl9LGQ9MDtkPHRoaXMuZy5sZW5ndGg7ZCsrKWModGhpcy5nW2RdKTt0aGlzLmoucHVzaChjKX07dy5wcm90b3R5cGUubD1mdW5jdGlvbigpe2Zvcih2YXIgYj1bXS5jb25jYXQoaCh0aGlzLmcpLGgodGhpcy5pKSksYT0wO2E8Yi5sZW5ndGg7YSsrKWJbYV0ubCgpO3RoaXMuZz1bXTt0aGlzLmk9W107dGhpcy5qPVtdfTt2YXIgeT1mdW5jdGlvbihiKXtmb3IodmFyIGE9eCxjPTA7YzxhLmoubGVuZ3RoO2MrKylhLmpbY10oYil9O2Z1bmN0aW9uIHooYil7Zm9yKHZhciBhPUEsYz0wO2M8YS5sZW5ndGg7KytjKWlmKEIoYVtjXS5nLGIuZykpcmV0dXJuITA7cmV0dXJuITF9XG5mdW5jdGlvbiBCKGIsYSl7aWYoYj09PWEpcmV0dXJuITE7Zm9yKDtiIT09YSYmYS5wYXJlbnROb2RlOylhPWEucGFyZW50Tm9kZTtyZXR1cm4gYj09PWF9O3ZhciBtPW5ldyB3O2E6e2Zvcih2YXIgeD1tLHU9d2luZG93LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxDPTA7Qzx4LmcubGVuZ3RoO0MrKylpZih1PT09eC5nW0NdLmcpYnJlYWsgYTt2YXIgRD1uZXcgdixFO2I6e2Zvcih2YXIgRj0wO0Y8eC5nLmxlbmd0aDtGKyspaWYoQih4LmdbRl0uZyxELmcpKXtFPSEwO2JyZWFrIGJ9RT0hMX1pZihFKXguaS5wdXNoKEQpO2Vsc2V7eShEKTt4LmcucHVzaChEKTtmb3IodmFyIEE9W10uY29uY2F0KGgoeC5pKSxoKHguZykpLEc9W10sSD1bXSxJPTA7STx4LmcubGVuZ3RoOysrSSl7dmFyIEo9eC5nW0ldO3ooSik/KEcucHVzaChKKSxKLmwoKSk6SC5wdXNoKEopfWZvcih2YXIgSz0wO0s8eC5pLmxlbmd0aDsrK0spe3ZhciBMPXguaVtLXTt6KEwpP0cucHVzaChMKTooSC5wdXNoKEwpLHkoTCkpfXguZz1IO3guaT1HfX1cbmZvcih2YXIgTT1uZXcgbixOPVwiY2xpY2sgZm9jdXMgZm9jdXNpbiBibHVyIGZvY3Vzb3V0IGVycm9yIGxvYWQgYXV4Y2xpY2sgY2hhbmdlIGNvcHkgZGJsY2xpY2sgYmVmb3JlaW5wdXQgaW5wdXQga2V5dXAga2V5ZG93biBrZXlwcmVzcyBtb3VzZWRvd24gbW91c2VlbnRlciBtb3VzZWxlYXZlIG1vdXNlb3V0IG1vdXNlb3ZlciBtb3VzZXVwIHBhc3RlIHBvaW50ZXJlbnRlciBwb2ludGVybGVhdmUgdG91Y2hzdGFydCB0b3VjaG1vdmUgdG91Y2hlbmQgdG91Y2hjYW5jZWwgdHJhbnNpdGlvbmNhbmNlbCB0cmFuc2l0aW9uZW5kIHRyYW5zaXRpb25ydW4gdHJhbnNpdGlvbnN0YXJ0IGRyYWdvdmVyIGRyYWdlbnRlciBkcmFnbGVhdmUgZHJvcCBkcmFnc3RhcnQgZHJhZ2VuZCBzcGVlY2hcIi5zcGxpdChcIiBcIiksUD0wO1A8Ti5sZW5ndGg7UCsrKXIoTSxOW1BdKTsoZnVuY3Rpb24oYil7Z29vZ2xlLmpzYWQ9ZnVuY3Rpb24oYSl7YShiKX19KShNKTt2YXIgUT1mdW5jdGlvbihiKXtyZXR1cm57dHJpZ2dlcjpmdW5jdGlvbihhKXt2YXIgYz1iLnMoYS50eXBlKTtjfHwocihiLGEudHlwZSksYz1iLnMoYS50eXBlKSk7dmFyIGQ9YS50YXJnZXR8fGEuc3JjRWxlbWVudDtjJiZjKGEudHlwZSxhLGQub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpfSxjb25maWd1cmU6ZnVuY3Rpb24oYSl7YShiKX19fShNKTtrLmd3c193aXpiaW5kPVE7KGZ1bmN0aW9uKGIsYSl7dmFyIGM9ZnVuY3Rpb24oZCl7dmFyIGY9ZC5kZXRhaWw7ZiYmZi5fdHlwZSYmYSh7dHlwZTpmLl90eXBlLHRhcmdldDpkLnRhcmdldCxidWJibGVzOiEwLGRldGFpbDpmfSl9O2IuYWRkRXZlbnRMaXN0ZW5lcihcIl9jdXN0b21cIixjKTtyZXR1cm4gZnVuY3Rpb24oKXtiLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJfY3VzdG9tXCIsYyl9fSkod2luZG93LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxRLnRyaWdnZXIpO30pLmNhbGwodGhpcyk7PC9zY3JpcHQ+ICA8c2NyaXB0IG5vbmNlPVwiYUE3VmEtYmVlaElMc2wyaEZsUHQtZ1wiPihmdW5jdGlvbigpe2dvb2dsZS54anM9e2Jhc2Vjb21iOicveGpzL18vanMva1xceDNkeGpzLmhkLmVuLnpIQUx3blI4M3FFLk8vY2tcXHgzZHhqcy5oZC5oaGtfTlJmd0otcy5MLkIxLk8vYW1cXHgzZEFFd0JBQUFBQUFBQUdBQUFBQUFBQUFBQUFBQUFBQUFBQ0FBQUJBQUFBQUFBcEFBMGtBQ0FBc0FHQkFBQUFFQUFnQUJBZ0NBQWdDZ0FBQkFBSEFBZ0Fnb0FJZ0dBQU1TQ0FEektCd0NFQU1JRUNCQUJpZ0FTQUFLQ0tDSUFBRUFBQUNCQ3dJQmhBQUlWQUF3Q0FBQUFnQUFDQUFBQUExaGpBQUVDQVBvSUFCQUFJQ0lBQUFpZ0F3UUFCQUFGZ0VCUUFCakFBQUVnQUFFQUFBRG9BVUJ3QUF4U0VBQUFBQUFBQUFBQUFBQUFDRUNDWUM0a29DQ0FBQUFBQUFBQUFBQUFBQUFBQUVoSkp4WTIvZFxceDNkMS9lZFxceDNkMS9kZ1xceDNkMC9iclxceDNkMS91amdcXHgzZDEvcnNcXHgzZEFDVDkwb0dPWXVoVWxSTGJLb1VkakFYSVUxNjNlRU1GZGcnLGJhc2Vjc3M6Jy94anMvXy9zcy9rXFx4M2R4anMuaGQuaGhrX05SZndKLXMuTC5CMS5PL2FtXFx4M2RBRXdCQUFBQUFBQUFHQUFBQUFBQUFBQUFBQUFBQUFBQUNBQUFCQUFBQUFBQW9BQWdrQUNBQU1BR0JBQUFBRUFBZ0FBQUFBQUFBQ2dBQUFBQUdBQUFBQWdBSUFHQUFJQ0FBQUFBQXdDRUFBSUFDQkFCaWdBU0FBS0NLQUlBQUVBQUFDQkN3SUJoQUFJVkFBd0NBQUFBZ0FBQ0FBQUFBRmdqQUFFQ0FQb0lBQkFBSUNJQUFBaWdBd1FBQkFBRWdBQkFBQmpBQUFFQUFBQUFBQUNBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDQUFDQUFvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUIvYnJcXHgzZDEvcnNcXHgzZEFDVDkwb0Z2T1Qza2ktd2tieEplNko2RDh4ZHV5X1VJY2cnLGJhc2VqczonL3hqcy9fL2pzL2tcXHgzZHhqcy5oZC5lbi56SEFMd25SODNxRS5PL2FtXFx4M2RBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQWhBQVVBQUNBQWdBQUFBQUFBQUFBQUFCQWdDQUFnQ2dBQUJBQUhBQWdBZ0lBQWdFQUFFU0NBRHpLQndDQUFNQUVBQkFBZ0FBQUFBSUNBQ0FBQUVBQUFBQkNBQUFBQUFBVUFBQUFBQUFBQUFBQUFBQUFBd2hBQUFBQUFBQUFBQUFBQUFJQUFBQ2dBd0FBQUFBQkFFQVFBQmpBQUFFZ0FBRUFBQURvQVVCd0FBeFNFQUFBQUFBQUFBQUFBQUFBQ0VDQ1lDNGtvQ0NBQUFBQUFBQUFBQUFBQUFBQUFFaEpKeFkyL2RnXFx4M2QwL2JyXFx4M2QxL3JzXFx4M2RBQ1Q5MG9IWXRMMzFYX2Fib0pUcDJOMUJuZWZ0VXVwV0dnJyxleGNtOltdfTt9KSgpOzwvc2NyaXB0PiA8c2NyaXB0IG5vbmNlPVwiYUE3VmEtYmVlaElMc2wyaEZsUHQtZ1wiPihmdW5jdGlvbigpe3ZhciBmPVwic3JjIGhyZWYgYXN5bmMgbm9uY2UgdHlwZSBjaGFyc2V0IGNyb3Nzb3JpZ2luIG9ubG9hZCByZWxcIi5zcGxpdChcIiBcIik7d2luZG93Ll9ydGY9ZnVuY3Rpb24oYixjKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGIudGFnTmFtZSk7Zi5mb3JFYWNoKGZ1bmN0aW9uKGUpe2FbZV09YltlXX0pO2Eub25lcnJvcj1mdW5jdGlvbigpe3dpbmRvdy5fcnRmKGEsYyl9O3ZhciBkPWIuZGF0YXNldC5ydGM9PT12b2lkIDA/MDpOdW1iZXIoYi5kYXRhc2V0LnJ0Yyk7ZD49ND9jJiZjKCk6KGEuZGF0YXNldC5ydGM9U3RyaW5nKGQrMSksc2V0VGltZW91dChmdW5jdGlvbigpe2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYSl9LDUwKk1hdGgucG93KDIsZCkrTWF0aC5yYW5kb20oKSo1MCkpfTt9KS5jYWxsKHRoaXMpOzwvc2NyaXB0PiA8bGluayBocmVmPVwiL3hqcy9fL3NzL2s9eGpzLmhkLmhoa19OUmZ3Si1zLkwuQjEuTy9hbT1BRXdCQUFBQUFBQUFHQUFBQUFBQUFBQUFBQUFBQUFBQUNBQUFCQUFBQUFBQW9BQWdrQUNBQU1BR0JBQUFBRUFBZ0FBQUFBQUFBQ2dBQUFBQUdBQUFBQWdBSUFHQUFJQ0FBQUFBQXdDRUFBSUFDQkFCaWdBU0FBS0NLQUlBQUVBQUFDQkN3SUJoQUFJVkFBd0NBQUFBZ0FBQ0FBQUFBRmdqQUFFQ0FQb0lBQkFBSUNJQUFBaWdBd1FBQkFBRWdBQkFBQmpBQUFFQUFBQUFBQUNBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDQUFDQUFvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUIvZD0xL2VkPTEvYnI9MS9ycz1BQ1Q5MG9Gdk9UM2tpLXdrYnhKZTZKNkQ4eGR1eV9VSWNnL209Y2Rvcyxoc20sanNhLG1iNFpVYixkLGNzaSxjRXQ5MGIsU05VbjMscWRkZ0tlLHNUc0RNYyxkdGwwaGQsZUhEZmxcIiBvbmVycm9yPVwiX3J0Zih0aGlzKVwiIHJlbD1cInN0eWxlc2hlZXRcIiBub25jZT1cImFBN1ZhLWJlZWhJTHNsMmhGbFB0LWdcIj4gPHNjcmlwdCBub25jZT1cImFBN1ZhLWJlZWhJTHNsMmhGbFB0LWdcIj4oZnVuY3Rpb24oKXtnb29nbGUua0VYUEk9JzAsMjAyNzI3LDExMDEwNzUsMjM5NjQ0OCwxMTMxLDgsNTUyNzY4LDE1OTAyNSw4NTY0Niw4ODQwNSw1NDgyMSwxMDU2ODUsMzMxODUsNzkwMDIsNTgyOTIsMjIzMDksMjgzLDEzMjA5LDI4Nzc0LDE2NDIsNTIyNDIzNSwxODg4LDI4LDg0LDE2MjczNTE5LDE5MjM0Mjk1LDI2NjQ2NDUyLDc4LDIzODUwLDY5MDU5LDEyNDMzLDMwMTAsMzQ2NjUsMjg0MiwyMTk2OSwyNzMyLDI0NDEsOTU1MSwzNiwxMDA5LDE5OTI2LDMzMjAsMjY5MywzNzUsMzY3NCwxMDYzLDE0MjI1LDEyMyw2MzEsNDI1MiwxNTQ3LDE5MTQsMTE1MTMsOTE5LDI1MDQsODkzNSwxODMyLDQ5LDMxMDgsNDMwNCwyNTc4LDU1NjAsMzgsMjk0NSwxMyw1NTYsMjQsMTI3NCwxMTg4LDExNywzNSw5NSw4ODAsMTAyNSwxOTQxLDE0MjUsMzEzLDkzMCw3NSwyNjk0LDEyMzEsMjk4LDkyLDEzNDcsMTg0LDgzMSwyMzMsODMzLDEwMzEsMjQ3LDY3MTQsMTk2OCw0NDUsMTY5MywyMDE5LDUyNCw1MTEsMTg0Niw3NDUsMjQyMCwxNTEzLDYyMSwyODgsMjAxLDgzLDM0NywyMTUwLDc1NSw1NDgsNjIsNjk1LDE2MSwxNjMnO30pKCk7d2luZG93Ll8gPSB3aW5kb3cuXyB8fCB7fTt3aW5kb3cuX0R1bXBFeGNlcHRpb24gPSBfLl9EdW1wRXhjZXB0aW9uID0gZnVuY3Rpb24oZSl7dGhyb3cgZTt9O3dpbmRvdy5fcyA9IHdpbmRvdy5fcyB8fCB7fTtfcy5fRHVtcEV4Y2VwdGlvbiA9IF8uX0R1bXBFeGNlcHRpb247d2luZG93Ll9xcyA9IHdpbmRvdy5fcXMgfHwge307X3FzLl9EdW1wRXhjZXB0aW9uID0gXy5fRHVtcEV4Y2VwdGlvbjsoZnVuY3Rpb24oKXt2YXIgdD1bOTMxODQsMCw5ODMwNCwwLDAsMCwzMjc2OCwyNTYsNjAzOTc5Nzc2LDM3ODAyMjQyLDczODMzODgxNiw2NzEyNTUwNSwxNjM4NCwxMDA3Mjg4MzQsNDI0NjczNjIsMjcyNTEyLDUyNTU5OTAwLDc2MDI3MTE0LDc0NDQ5MTAwOCw4NDgyMzI0ODAsODgxNDU5OSw1Mzg5NzI5MzYsNTM3NDUyNTYxLDU0NTMyMDk5Niw1NzI3OTU0MzIsMjY0LDQzNjk5NTEwNiwzNTc0NjYxMzYsMzM3MDQ5NjAsMzYxNzU4NzIsMjM1OTMyOCw0MTY2NzgwOTYsMTMxMzI4LDkxOTIsMzU3ODI2NTcsNjcxMjE5NzEyLDIwMTMyNzYxOSwzNDA4NDM1MiwyNTE2NzEwOCwxMzQyMzQxNjAsMjU2LDQ5OTcxMiw1NDk0NTU2MjEsMTA0NCwwLDAsNjA0MDEyNTQ0LDE1MTc1NDc4NCw4Mzk2OTYwLDAsMCwwLDY1OTExMzk4NCw1NTM4OF07d2luZG93Ll9GX3RvZ2dsZXMgPSB3aW5kb3cuX3hqc190b2dnbGVzID0gdDt9KSgpO3dpbmRvdy5fRl9pbnN0YWxsQ3NzID0gd2luZG93Ll9GX2luc3RhbGxDc3MgfHwgZnVuY3Rpb24oY3NzKXt9OyhmdW5jdGlvbigpe3dpbmRvdy5nb29nbGUueGpzdT0nL3hqcy9fL2pzL2tcXHgzZHhqcy5oZC5lbi56SEFMd25SODNxRS5PL2FtXFx4M2RBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQWhBQVVBQUNBQWdBQUFBQUFBQUFBQUFCQWdDQUFnQ2dBQUJBQUhBQWdBZ0lBQWdFQUFFU0NBRHpLQndDQUFNQUVBQkFBZ0FBQUFBSUNBQ0FBQUVBQUFBQkNBQUFBQUFBVUFBQUFBQUFBQUFBQUFBQUFBd2hBQUFBQUFBQUFBQUFBQUFJQUFBQ2dBd0FBQUFBQkFFQVFBQmpBQUFFZ0FBRUFBQURvQVVCd0FBeFNFQUFBQUFBQUFBQUFBQUFBQ0VDQ1lDNGtvQ0NBQUFBQUFBQUFBQUFBQUFBQUFFaEpKeFkyL2RcXHgzZDEvZWRcXHgzZDEvZGdcXHgzZDMvYnJcXHgzZDEvcnNcXHgzZEFDVDkwb0hZdEwzMVhfYWJvSlRwMk4xQm5lZnRVdXBXR2cvZWVcXHgzZEFMZUppYjpCOGdMd2Q7QWZlYVA6VGtyQWpmO0JNeEFHYzpFNWJGc2U7QmdTNm1iOmZpZGo1ZDtCandNY2U6Y1hYMldiO0N4WEFXYjpZeVJMdmM7RE01NWM6aW1McktlO0RVTHFCOlJLZkc1YztEa2s2Z2U6d0pxcnJkO0RwY1IzZDp6TDcyeGY7RUFCU1o6TVhadDlkO0VTclBRYzptTlRKdmM7RVZOaGpmOnB3NzBHYztFbVoyQmY6enIxanJiO0VubGNOZDpXZUhnNDtFcmw0ZmU6RmxvV21mLEZsb1dtZjtGOW1xdGU6VW9SY2JlO0ZtdjlOYzpPMVR6d2M7RzBLaFRiOkxJYW9aO0c2d1U2ZTpoZXpFYmQ7R2xlWkw6SjFBN09kO0hNRERXZTpHOFFVZGI7SG9ZVktiOlBrRE43ZTtIcWVYUGQ6Y21ibkg7SUJBRENjOlJZcXVSYjtJWnJOcWU6UDhoYTJjO0lvR2xDZjpiNWxodmI7SXNkV1ZjOnF6eHpPYjtKWFM4ZmI6UWowc3VjO0piTVQzOk0yNXNTO0pzYk5oYzpYZDhpVWQ7S094Y0s6T1pxR3RlO0tReldpZDpaTUtrTjtLY29rVWI6S2l1WkJmO0twUkF1ZTpUaWE1N2I7TEJnUkxjOlNkY3dIYixYVk1OdmQ7TEVpa1plOmJ5ZlRPYixsc2pWbWM7TFhBOGI6cTdPZEtkO0xzTmFoYjp1Y0dMTmI7TWUzMmRkOk1FZVlnYztOUEthSzpTZGN3SGI7TlNFb1g6bGF6RzdiO05wOFFrZDpEcHg2cWM7Tnl0NmljOmpuMnNHZDtPZ2FnQmU6Y05UZTA7T2o0NjVlOktHMmVYZSxLRzJlWGU7T29oSVllOm1wRUFRYjtQanBsdWQ6RUVET1JiLFBvRXM5YjtRMU93N2I6eDVDU3U7UTZDNWtmOnBmZFpDZTtRR1IwZ2Q6TWxobXk7UjJrYzhiOkFMSnFXYjtSNElJSWI6UVdmZUtmO1I5VWx4OkNSN1VmZTtSRE5CbGY6elBSQ0piO1NMdHFPOktoMXhZZTtTTURMNGM6ZlRmR08sZlRmR087U05VbjM6WndEazlkLHg4Y0h2YjtTaHBGNmU6TjBwdkdjO1N6UVEzZTpkTmhvZmI7VHhmVjZkOllPUk4wYjtVOTZwUmQ6RnNSMDQ7VUJLSlo6TEdESkdiO1VEclkxYzplcHM0NmQ7VVZtakVkOkVlc1JzYjtVeUc3S2I6d1FkMEc7VjJIVFRlOlJvbFRZO1ZHUmZ4OlZGcWJyO1ZONmpJYzpkZFF5dWY7Vk9jZ0RlOllxdWhUYjtWc0FxU2I6UEdmMlJlO1Z4UTMyYjprMFhzQmI7V0NFS05kOkk0Nkh2ZDtXREd5RmU6amNWT3hkO1dmbWR1ZTpnM01KbGI7WFVlelo6c2E3bHFiO1lWNWJlZTpJdlBaNmQ7WWtRdEFmOnJ4OHVyO1pNdmR2OlBIRlBqYjtaU0g2dGM6UUF2eUxlO1pXRVVBOmFmUjRDZjthNTZwTmU6SkVmQ3diO2FBSkU5YzpXSFc2RWY7YUNKOXRmOnFLZnR2YzthWjYxb2Q6YXJUd0o7YWYwRUpmOmdoaW5JZDtiRFh3UmU6VXN5T3RjO2JjUFhTYzpnU1pMSmI7Y0V0OTBiOndzOVRsYztjRlRXYWU6Z1Q4cW5kO2NvSjhlOkt2b1c4O2RJb1NCYjpaZ0dnOWI7ZExsajI6UXF0M0dmO2RhQjZiZTpsTXhHUGQ7ZHRsMGhkOmxMUVdGZTtlQkFlU2I6Q2s2M3RiO2VCWjVOZDpWcnVEQmQ7ZUhEZmw6b2ZqVmtiO2VPM2xzZTpuRkNscmY7ZXVPWFk6T1pqYlE7Zzhua3g6VTRNektjO2dhdWI0OlRONmJNZTtndFZTaTpla1VPWWQ7aDNNWW9kOmNFdDkwYjtoSzY3cWI6UVdFTzViO2hlSEIxOnNGY3pxO2hqUm82ZTpGNjJzRztoc0xzWWM6VmwxMTg7aUZReUtmOlFJaEZyLHZmdU5KZjtpbXFpbWY6aktHTDJlO2lvOHQ1ZDpzZ1k2WmI7alkwemc6UTZ0TmdjO2syUXhjYjpYWTUxcGU7a0NReUo6dWV5UEs7a01GcEhkOk9UQTNBZTtrYkFtOWQ6TWtIeUdkO2xrcTBBOkp5QkUzZTtuQUZMMzpOVE1aYWMsczM5UzQ7bkp3NEdkOmRQRlpIO29HdEF1YzpzT1hGajtvU1VOeWQ6ZlRmR08sZlRmR087b1VsbnBjOlJhZ0RsYztva1VhVWQ6d0l0YWRiO3BLSmlYZDpWQ2VuaGM7cE5zbDJkOmo5WXV5YztwWGRSWWI6SktvS1ZlO3BqODJsZTptZzVDVztxWngyRmM6ajB4ckU7cWFTM2dkOnlpTGc2ZTtxYXZyWGU6elF6Y1hlO3FkZGdLZTpkN1lTZmQseDRGWVhlO3JRU3JhZTpDNkQ1RmM7c1A0VmJlOlZ3RHpGZTtzVHNETWM6a0hWU1ViO3NabWR2YzpyZEdFZmM7dEg0SUllOlltcnk2O3Rvc0t2ZDpaQ3FQMzt0clpMMGI6cVk4UEZlO3VZNDlmYjpDT1FibWY7dXVRa1k6dTJWM3VkO3ZHck1aOmxQSkowYzt2ZlZ3UGQ6bGNya3dlO3czYlpDYjpaUEdhSWI7dzRyU2RmOlhLaVo5O3c5dzg2ZDpkdDRnMmI7d1FsWXZlOmFMVWZQO3dSNUZSYjpPMUdqemUsVHRjT3RlO3dWNVBqYzpMOEtHeGU7d2hFWmFjOkY0QW1OYjt4QmJzcmM6TkVXMVFjO3lzTmlNYzpDcElCamQ7eXhUY2hmOktVTTdaO3o5N1lHZjpvdWc5dGU7ek9zQ1FlOktvNzhEZjt6YUlnUGI6UXRweGJkL21cXHgzZGNkb3MsaHNtLGpzYSxtYjRaVWIsZCxjc2ksY0V0OTBiLFNOVW4zLHFkZGdLZSxzVHNETWMsZHRsMGhkLGVIRGZsJzt3aW5kb3cuX0ZfanNVcmw9Jy94anMvXy9qcy9rXFx4M2R4anMuaGQuZW4uekhBTHduUjgzcUUuTy9hbVxceDNkQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFoQUFVQUFDQUFnQUFBQUFBQUFBQUFBQkFnQ0FBZ0NnQUFCQUFIQUFnQWdJQUFnRUFBRVNDQUR6S0J3Q0FBTUFFQUJBQWdBQUFBQUlDQUNBQUFFQUFBQUJDQUFBQUFBQVVBQUFBQUFBQUFBQUFBQUFBQXdoQUFBQUFBQUFBQUFBQUFBSUFBQUNnQXdBQUFBQUJBRUFRQUJqQUFBRWdBQUVBQUFEb0FVQndBQXhTRUFBQUFBQUFBQUFBQUFBQUNFQ0NZQzRrb0NDQUFBQUFBQUFBQUFBQUFBQUFBRWhKSnhZMi9kXFx4M2QxL2VkXFx4M2QxL2RnXFx4M2QzL2JyXFx4M2QxL3JzXFx4M2RBQ1Q5MG9IWXRMMzFYX2Fib0pUcDJOMUJuZWZ0VXVwV0dnL2VlXFx4M2RBTGVKaWI6QjhnTHdkO0FmZWFQOlRrckFqZjtCTXhBR2M6RTViRnNlO0JnUzZtYjpmaWRqNWQ7Qmp3TWNlOmNYWDJXYjtDeFhBV2I6WXlSTHZjO0RNNTVjOmltTHJLZTtEVUxxQjpSS2ZHNWM7RGtrNmdlOndKcXJyZDtEcGNSM2Q6ekw3MnhmO0VBQlNaOk1YWnQ5ZDtFU3JQUWM6bU5USnZjO0VWTmhqZjpwdzcwR2M7RW1aMkJmOnpyMWpyYjtFbmxjTmQ6V2VIZzQ7RXJsNGZlOkZsb1dtZixGbG9XbWY7RjltcXRlOlVvUmNiZTtGbXY5TmM6TzFUendjO0cwS2hUYjpMSWFvWjtHNndVNmU6aGV6RWJkO0dsZVpMOkoxQTdPZDtITUREV2U6RzhRVWRiO0hvWVZLYjpQa0RON2U7SHFlWFBkOmNtYm5IO0lCQURDYzpSWXF1UmI7SVpyTnFlOlA4aGEyYztJb0dsQ2Y6YjVsaHZiO0lzZFdWYzpxenh6T2I7SlhTOGZiOlFqMHN1YztKYk1UMzpNMjVzUztKc2JOaGM6WGQ4aVVkO0tPeGNLOk9acUd0ZTtLUXpXaWQ6Wk1La047S2Nva1ViOktpdVpCZjtLcFJBdWU6VGlhNTdiO0xCZ1JMYzpTZGN3SGIsWFZNTnZkO0xFaWtaZTpieWZUT2IsbHNqVm1jO0xYQThiOnE3T2RLZDtMc05haGI6dWNHTE5iO01lMzJkZDpNRWVZZ2M7TlBLYUs6U2Rjd0hiO05TRW9YOmxhekc3YjtOcDhRa2Q6RHB4NnFjO055dDZpYzpqbjJzR2Q7T2dhZ0JlOmNOVGUwO09qNDY1ZTpLRzJlWGUsS0cyZVhlO09vaElZZTptcEVBUWI7UGpwbHVkOkVFRE9SYixQb0VzOWI7UTFPdzdiOng1Q1N1O1E2QzVrZjpwZmRaQ2U7UUdSMGdkOk1saG15O1Iya2M4YjpBTEpxV2I7UjRJSUliOlFXZmVLZjtSOVVseDpDUjdVZmU7UkROQmxmOnpQUkNKYjtTTHRxTzpLaDF4WWU7U01ETDRjOmZUZkdPLGZUZkdPO1NOVW4zOlp3RGs5ZCx4OGNIdmI7U2hwRjZlOk4wcHZHYztTelFRM2U6ZE5ob2ZiO1R4ZlY2ZDpZT1JOMGI7VTk2cFJkOkZzUjA0O1VCS0paOkxHREpHYjtVRHJZMWM6ZXBzNDZkO1VWbWpFZDpFZXNSc2I7VXlHN0tiOndRZDBHO1YySFRUZTpSb2xUWTtWR1JmeDpWRnFicjtWTjZqSWM6ZGRReXVmO1ZPY2dEZTpZcXVoVGI7VnNBcVNiOlBHZjJSZTtWeFEzMmI6azBYc0JiO1dDRUtOZDpJNDZIdmQ7V0RHeUZlOmpjVk94ZDtXZm1kdWU6ZzNNSmxiO1hVZXpaOnNhN2xxYjtZVjViZWU6SXZQWjZkO1lrUXRBZjpyeDh1cjtaTXZkdjpQSEZQamI7WlNINnRjOlFBdnlMZTtaV0VVQTphZlI0Q2Y7YTU2cE5lOkpFZkN3YjthQUpFOWM6V0hXNkVmO2FDSjl0ZjpxS2Z0dmM7YVo2MW9kOmFyVHdKO2FmMEVKZjpnaGluSWQ7YkRYd1JlOlVzeU90YztiY1BYU2M6Z1NaTEpiO2NFdDkwYjp3czlUbGM7Y0ZUV2FlOmdUOHFuZDtjb0o4ZTpLdm9XODtkSW9TQmI6WmdHZzliO2RMbGoyOlFxdDNHZjtkYUI2YmU6bE14R1BkO2R0bDBoZDpsTFFXRmU7ZUJBZVNiOkNrNjN0YjtlQlo1TmQ6VnJ1REJkO2VIRGZsOm9malZrYjtlTzNsc2U6bkZDbHJmO2V1T1hZOk9aamJRO2c4bmt4OlU0TXpLYztnYXViNDpUTjZiTWU7Z3RWU2k6ZWtVT1lkO2gzTVlvZDpjRXQ5MGI7aEs2N3FiOlFXRU81YjtoZUhCMTpzRmN6cTtoalJvNmU6RjYyc0c7aHNMc1ljOlZsMTE4O2lGUXlLZjpRSWhGcix2ZnVOSmY7aW1xaW1mOmpLR0wyZTtpbzh0NWQ6c2dZNlpiO2pZMHpnOlE2dE5nYztrMlF4Y2I6WFk1MXBlO2tDUXlKOnVleVBLO2tNRnBIZDpPVEEzQWU7a2JBbTlkOk1rSHlHZDtsa3EwQTpKeUJFM2U7bkFGTDM6TlRNWmFjLHMzOVM0O25KdzRHZDpkUEZaSDtvR3RBdWM6c09YRmo7b1NVTnlkOmZUZkdPLGZUZkdPO29VbG5wYzpSYWdEbGM7b2tVYVVkOndJdGFkYjtwS0ppWGQ6VkNlbmhjO3BOc2wyZDpqOVl1eWM7cFhkUlliOkpLb0tWZTtwajgybGU6bWc1Q1c7cVp4MkZjOmoweHJFO3FhUzNnZDp5aUxnNmU7cWF2clhlOnpRemNYZTtxZGRnS2U6ZDdZU2ZkLHg0RllYZTtyUVNyYWU6QzZENUZjO3NQNFZiZTpWd0R6RmU7c1RzRE1jOmtIVlNVYjtzWm1kdmM6cmRHRWZjO3RINElJZTpZbXJ5Njt0b3NLdmQ6WkNxUDM7dHJaTDBiOnFZOFBGZTt1WTQ5ZmI6Q09RYm1mO3V1UWtZOnUyVjN1ZDt2R3JNWjpsUEpKMGM7dmZWd1BkOmxjcmt3ZTt3M2JaQ2I6WlBHYUliO3c0clNkZjpYS2laOTt3OXc4NmQ6ZHQ0ZzJiO3dRbFl2ZTphTFVmUDt3UjVGUmI6TzFHanplLFR0Y090ZTt3VjVQamM6TDhLR3hlO3doRVphYzpGNEFtTmI7eEJic3JjOk5FVzFRYzt5c05pTWM6Q3BJQmpkO3l4VGNoZjpLVU03Wjt6OTdZR2Y6b3VnOXRlO3pPc0NRZTpLbzc4RGY7emFJZ1BiOlF0cHhiZC9tXFx4M2RjZG9zLGhzbSxqc2EsbWI0WlViLGQsY3NpLGNFdDkwYixTTlVuMyxxZGRnS2Usc1RzRE1jLGR0bDBoZCxlSERmbCc7fSkoKTs8L3NjcmlwdD4gPHNjcmlwdCBkZWZlcj1cIlwiIHNyYz1cIi94anMvXy9qcy9rPXhqcy5oZC5lbi56SEFMd25SODNxRS5PL2FtPUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBaEFBVUFBQ0FBZ0FBQUFBQUFBQUFBQUJBZ0NBQWdDZ0FBQkFBSEFBZ0FnSUFBZ0VBQUVTQ0FEektCd0NBQU1BRUFCQUFnQUFBQUFJQ0FDQUFBRUFBQUFCQ0FBQUFBQUFVQUFBQUFBQUFBQUFBQUFBQUF3aEFBQUFBQUFBQUFBQUFBQUlBQUFDZ0F3QUFBQUFCQUVBUUFCakFBQUVnQUFFQUFBRG9BVUJ3QUF4U0VBQUFBQUFBQUFBQUFBQUFDRUNDWUM0a29DQ0FBQUFBQUFBQUFBQUFBQUFBQUVoSkp4WTIvZD0xL2VkPTEvZGc9My9icj0xL3JzPUFDVDkwb0hZdEwzMVhfYWJvSlRwMk4xQm5lZnRVdXBXR2cvZWU9QUxlSmliOkI4Z0x3ZDtBZmVhUDpUa3JBamY7Qk14QUdjOkU1YkZzZTtCZ1M2bWI6ZmlkajVkO0Jqd01jZTpjWFgyV2I7Q3hYQVdiOll5Ukx2YztETTU1YzppbUxyS2U7RFVMcUI6UktmRzVjO0RrazZnZTp3SnFycmQ7RHBjUjNkOnpMNzJ4ZjtFQUJTWjpNWFp0OWQ7RVNyUFFjOm1OVEp2YztFVk5oamY6cHc3MEdjO0VtWjJCZjp6cjFqcmI7RW5sY05kOldlSGc0O0VybDRmZTpGbG9XbWYsRmxvV21mO0Y5bXF0ZTpVb1JjYmU7Rm12OU5jOk8xVHp3YztHMEtoVGI6TElhb1o7RzZ3VTZlOmhlekViZDtHbGVaTDpKMUE3T2Q7SE1ERFdlOkc4UVVkYjtIb1lWS2I6UGtETjdlO0hxZVhQZDpjbWJuSDtJQkFEQ2M6UllxdVJiO0lack5xZTpQOGhhMmM7SW9HbENmOmI1bGh2YjtJc2RXVmM6cXp4ek9iO0pYUzhmYjpRajBzdWM7SmJNVDM6TTI1c1M7SnNiTmhjOlhkOGlVZDtLT3hjSzpPWnFHdGU7S1F6V2lkOlpNS2tOO0tjb2tVYjpLaXVaQmY7S3BSQXVlOlRpYTU3YjtMQmdSTGM6U2Rjd0hiLFhWTU52ZDtMRWlrWmU6YnlmVE9iLGxzalZtYztMWEE4YjpxN09kS2Q7THNOYWhiOnVjR0xOYjtNZTMyZGQ6TUVlWWdjO05QS2FLOlNkY3dIYjtOU0VvWDpsYXpHN2I7TnA4UWtkOkRweDZxYztOeXQ2aWM6am4yc0dkO09nYWdCZTpjTlRlMDtPajQ2NWU6S0cyZVhlLEtHMmVYZTtPb2hJWWU6bXBFQVFiO1BqcGx1ZDpFRURPUmIsUG9FczliO1ExT3c3Yjp4NUNTdTtRNkM1a2Y6cGZkWkNlO1FHUjBnZDpNbGhteTtSMmtjOGI6QUxKcVdiO1I0SUlJYjpRV2ZlS2Y7UjlVbHg6Q1I3VWZlO1JETkJsZjp6UFJDSmI7U0x0cU86S2gxeFllO1NNREw0YzpmVGZHTyxmVGZHTztTTlVuMzpad0RrOWQseDhjSHZiO1NocEY2ZTpOMHB2R2M7U3pRUTNlOmROaG9mYjtUeGZWNmQ6WU9STjBiO1U5NnBSZDpGc1IwNDtVQktKWjpMR0RKR2I7VURyWTFjOmVwczQ2ZDtVVm1qRWQ6RWVzUnNiO1V5RzdLYjp3UWQwRztWMkhUVGU6Um9sVFk7VkdSZng6VkZxYnI7Vk42akljOmRkUXl1ZjtWT2NnRGU6WXF1aFRiO1ZzQXFTYjpQR2YyUmU7VnhRMzJiOmswWHNCYjtXQ0VLTmQ6STQ2SHZkO1dER3lGZTpqY1ZPeGQ7V2ZtZHVlOmczTUpsYjtYVWV6WjpzYTdscWI7WVY1YmVlOkl2UFo2ZDtZa1F0QWY6cng4dXI7Wk12ZHY6UEhGUGpiO1pTSDZ0YzpRQXZ5TGU7WldFVUE6YWZSNENmO2E1NnBOZTpKRWZDd2I7YUFKRTljOldIVzZFZjthQ0o5dGY6cUtmdHZjO2FaNjFvZDphclR3SjthZjBFSmY6Z2hpbklkO2JEWHdSZTpVc3lPdGM7YmNQWFNjOmdTWkxKYjtjRXQ5MGI6d3M5VGxjO2NGVFdhZTpnVDhxbmQ7Y29KOGU6S3ZvVzg7ZElvU0JiOlpnR2c5YjtkTGxqMjpRcXQzR2Y7ZGFCNmJlOmxNeEdQZDtkdGwwaGQ6bExRV0ZlO2VCQWVTYjpDazYzdGI7ZUJaNU5kOlZydURCZDtlSERmbDpvZmpWa2I7ZU8zbHNlOm5GQ2xyZjtldU9YWTpPWmpiUTtnOG5reDpVNE16S2M7Z2F1YjQ6VE42Yk1lO2d0VlNpOmVrVU9ZZDtoM01Zb2Q6Y0V0OTBiO2hLNjdxYjpRV0VPNWI7aGVIQjE6c0ZjenE7aGpSbzZlOkY2MnNHO2hzTHNZYzpWbDExODtpRlF5S2Y6UUloRnIsdmZ1TkpmO2ltcWltZjpqS0dMMmU7aW84dDVkOnNnWTZaYjtqWTB6ZzpRNnROZ2M7azJReGNiOlhZNTFwZTtrQ1F5Sjp1ZXlQSztrTUZwSGQ6T1RBM0FlO2tiQW05ZDpNa0h5R2Q7bGtxMEE6SnlCRTNlO25BRkwzOk5UTVphYyxzMzlTNDtuSnc0R2Q6ZFBGWkg7b0d0QXVjOnNPWEZqO29TVU55ZDpmVGZHTyxmVGZHTztvVWxucGM6UmFnRGxjO29rVWFVZDp3SXRhZGI7cEtKaVhkOlZDZW5oYztwTnNsMmQ6ajlZdXljO3BYZFJZYjpKS29LVmU7cGo4MmxlOm1nNUNXO3FaeDJGYzpqMHhyRTtxYVMzZ2Q6eWlMZzZlO3FhdnJYZTp6UXpjWGU7cWRkZ0tlOmQ3WVNmZCx4NEZZWGU7clFTcmFlOkM2RDVGYztzUDRWYmU6VndEekZlO3NUc0RNYzprSFZTVWI7c1ptZHZjOnJkR0VmYzt0SDRJSWU6WW1yeTY7dG9zS3ZkOlpDcVAzO3RyWkwwYjpxWThQRmU7dVk0OWZiOkNPUWJtZjt1dVFrWTp1MlYzdWQ7dkdyTVo6bFBKSjBjO3ZmVndQZDpsY3Jrd2U7dzNiWkNiOlpQR2FJYjt3NHJTZGY6WEtpWjk7dzl3ODZkOmR0NGcyYjt3UWxZdmU6YUxVZlA7d1I1RlJiOk8xR2p6ZSxUdGNPdGU7d1Y1UGpjOkw4S0d4ZTt3aEVaYWM6RjRBbU5iO3hCYnNyYzpORVcxUWM7eXNOaU1jOkNwSUJqZDt5eFRjaGY6S1VNN1o7ejk3WUdmOm91Zzl0ZTt6T3NDUWU6S283OERmO3phSWdQYjpRdHB4YmQvbT1jZG9zLGhzbSxqc2EsbWI0WlViLGQsY3NpLGNFdDkwYixTTlVuMyxxZGRnS2Usc1RzRE1jLGR0bDBoZCxlSERmbFwiIG5vbmNlPVwiYUE3VmEtYmVlaElMc2wyaEZsUHQtZ1wiPjwvc2NyaXB0PiAgICAgICAgPHNjcmlwdCBub25jZT1cImFBN1ZhLWJlZWhJTHNsMmhGbFB0LWdcIj4oZnVuY3Rpb24oKXt3aW5kb3cuZ29vZ2xlLmVyZD17anNyOjEsYnY6MjA1MSxzZDp0cnVlLGRlOnRydWV9O30pKCk7KGZ1bmN0aW9uKCl7dmFyIHNkbz1mYWxzZTt2YXIgbWVpPTEwO1xudmFyIGc9dGhpc3x8c2VsZjt2YXIgayxsPShrPWcubWVpKSE9bnVsbD9rOjEsbixwPShuPWcuc2RvKSE9bnVsbD9uOiEwLHE9MCxyLHQ9Z29vZ2xlLmVyZCx2PXQuanNyO2dvb2dsZS5tbD1mdW5jdGlvbihhLGIsZCxtLGUpe2U9ZT09PXZvaWQgMD8yOmU7YiYmKHI9YSYmYS5tZXNzYWdlKTtkPT09dm9pZCAwJiYoZD17fSk7ZC5jYWQ9XCJwbGVfXCIrZ29vZ2xlLnBsZStcIi5hcGxlX1wiK2dvb2dsZS5hcGxlO2lmKGdvb2dsZS5kbClyZXR1cm4gZ29vZ2xlLmRsKGEsZSxkLCEwKSxudWxsO2I9ZDtpZih2PDApe3dpbmRvdy5jb25zb2xlJiZjb25zb2xlLmVycm9yKGEsYik7aWYodj09PS0yKXRocm93IGE7Yj0hMX1lbHNlIGI9IWF8fCFhLm1lc3NhZ2V8fGEubWVzc2FnZT09PVwiRXJyb3IgbG9hZGluZyBzY3JpcHRcInx8cT49bCYmIW0/ITE6ITA7aWYoIWIpcmV0dXJuIG51bGw7cSsrO2Q9ZHx8e307Yj1lbmNvZGVVUklDb21wb25lbnQ7dmFyIGM9XCIvZ2VuXzIwND9hdHlwPWkmZWk9XCIrYihnb29nbGUua0VJKTtnb29nbGUua0VYUEkmJihjKz1cIiZqZXhwaWQ9XCIrYihnb29nbGUua0VYUEkpKTtjKz1cIiZzcmNwZz1cIitiKGdvb2dsZS5zbikrXCImanNyPVwiK2IodC5qc3IpK1xuXCImYnZlcj1cIitiKHQuYnYpO3QuZHBmJiYoYys9XCImZHBmPVwiK2IodC5kcGYpKTt2YXIgZj1hLmxpbmVOdW1iZXI7ZiE9PXZvaWQgMCYmKGMrPVwiJmxpbmU9XCIrZik7dmFyIGg9YS5maWxlTmFtZTtoJiYoaC5pbmRleE9mKFwiLWV4dGVuc2lvbjovXCIpPjAmJihlPTMpLGMrPVwiJnNjcmlwdD1cIitiKGgpLGYmJmg9PT13aW5kb3cubG9jYXRpb24uaHJlZiYmKGY9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lm91dGVySFRNTC5zcGxpdChcIlxcblwiKVtmXSxjKz1cIiZjYWQ9XCIrYihmP2Yuc3Vic3RyaW5nKDAsMzAwKTpcIk5vIHNjcmlwdCBmb3VuZC5cIikpKTtnb29nbGUucGxlJiZnb29nbGUucGxlPT09MSYmKGU9Mik7Yys9XCImanNlbD1cIitlO2Zvcih2YXIgdSBpbiBkKWMrPVwiJlwiLGMrPWIodSksYys9XCI9XCIsYys9YihkW3VdKTtjPWMrXCImZW1zZz1cIitiKGEubmFtZStcIjogXCIrYS5tZXNzYWdlKTtjPWMrXCImanNzdD1cIitiKGEuc3RhY2t8fFwiTi9BXCIpO2MubGVuZ3RoPj0xMjI4OCYmKGM9Yy5zdWJzdHIoMCwxMjI4OCkpO2E9YzttfHxnb29nbGUubG9nKDAsXCJcIixhKTtyZXR1cm4gYX07d2luZG93Lm9uZXJyb3I9ZnVuY3Rpb24oYSxiLGQsbSxlKXtyIT09YSYmKGE9ZSBpbnN0YW5jZW9mIEVycm9yP2U6RXJyb3IoYSksZD09PXZvaWQgMHx8XCJsaW5lTnVtYmVyXCJpbiBhfHwoYS5saW5lTnVtYmVyPWQpLGI9PT12b2lkIDB8fFwiZmlsZU5hbWVcImluIGF8fChhLmZpbGVOYW1lPWIpLGdvb2dsZS5tbChhLCExLHZvaWQgMCwhMSxhLm5hbWU9PT1cIlN5bnRheEVycm9yXCJ8fGEubWVzc2FnZS5zdWJzdHJpbmcoMCwxMSk9PT1cIlN5bnRheEVycm9yXCJ8fGEubWVzc2FnZS5pbmRleE9mKFwiU2NyaXB0IGVycm9yXCIpIT09LTE/MzowKSk7cj1udWxsO3AmJnE+PWwmJih3aW5kb3cub25lcnJvcj1udWxsKX07fSkoKTs7dGhpcy5nYmFyXz17Q09ORklHOltbWzAsXCJ3d3cuZ3N0YXRpYy5jb21cIixcIm9nLnF0bS5lbl9VUy5GdGxWZHhtRGtXMC4yMDE5Lk9cIixcImx1XCIsXCJkZVwiLFwiNTM4XCIsMCxbNCwyLFwiXCIsXCJcIixcIlwiLFwiNjU3MDI3NTgzXCIsXCIwXCJdLG51bGwsXCJoNENyWnBiQkRQZU9pLWdQNkpTNWtBTVwiLG51bGwsMCxcIm9nLnF0bS50TWNNQzVJVG9BWS5MLlcuT1wiLFwiQUEyWXJUdi1NNWw2UGROUVg4SWxRalRKRzhPam9xX0xmQVwiLFwiQUEyWXJUdHU2OHdVOHJRU0V1MXpMb1RZX0JPQlFYaWJBZ1wiLFwiXCIsMiwxLDIwMCxcIkxVWFwiLG51bGwsbnVsbCxcIjFcIixcIjUzOFwiLDEsbnVsbCxudWxsLDg5OTc4NDQ5LDFdLG51bGwsWzEsMC4xMDAwMDAwMDE0OTAxMTYxLDIsMV0sbnVsbCxbMCwwLDAsbnVsbCxcIlwiLFwiXCIsXCJcIixcIlwiLDAsMCwwLFwiXCJdLFswLDAsXCJcIiwxLDAsMCwwLDAsMCwwLG51bGwsMCwwLG51bGwsMCwwLG51bGwsbnVsbCwwLDAsMCxcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixudWxsLDAsMCwwLDAsMCxudWxsLG51bGwsbnVsbCxcInJnYmEoMzIsMzMsMzYsMSlcIixcInJnYmEoMjU1LDI1NSwyNTUsMSlcIiwwLDAsMSxudWxsLG51bGwsMSwwLDAsbnVsbCwwXSxudWxsLG51bGwsW1wiMVwiLFwiZ2NpXzkxZjMwNzU1ZDZhNmI3ODdkY2MyYTQwNjJlNmU5ODI0LmpzXCIsXCJnb29nbGVhcGlzLmNsaWVudDpnYXBpLmlmcmFtZXNcIixcIlwiLFwiZGVcIl0sbnVsbCxudWxsLG51bGwsbnVsbCxbXCJtOy9fL3Njcy9hYmMtc3RhdGljL18vanMvaz1nYXBpLmdhcGkuZW4uTUdDeEpibldfWHcuTy9hbT1BQUFnL2Q9MS9ycz1BSHBPb285eGE0aHRMRVZIOXhlNmM0VG9VZWh0VGFMV3ZBL209X19mZWF0dXJlc19fXCIsXCJodHRwczovL2FwaXMuZ29vZ2xlLmNvbVwiLFwiXCIsXCJcIixcIlwiLFwiXCIsbnVsbCwxLFwiZXNfcGx1c29uZV9nY18yMDI0MDcwOC4xX3AyXCIsXCJkZVwiLG51bGwsMF0sWzAuMDA5OTk5OTk5Nzc2NDgyNTgyLFwibHVcIixcIjUzOFwiLFtudWxsLFwiXCIsXCIwXCIsbnVsbCwxLDUxODQwMDAsbnVsbCxudWxsLFwiXCIsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLDAsbnVsbCwwLG51bGwsMSwwLDAsMCxudWxsLG51bGwsMCwwLG51bGwsMCwwLDAsMCwwXSxudWxsLG51bGwsbnVsbCwwLG51bGwsbnVsbCxbXCI1MDYxNDUxXCIsXCJnb29nbGVcXFxcLihjb218cnV8Y2F8Ynl8a3p8Y29tXFxcXC5teHxjb21cXFxcLnRyKSRcIiwxXV0sWzEsbnVsbCxudWxsLDQwNDAwLDUzOCxcIkxVWFwiLFwiZGVcIixcIjY1NzAyNzU4My4wXCIsOCxudWxsLDAsMCxudWxsLG51bGwsbnVsbCxudWxsLFwiMzcwMTM4MSwzNzAxMzg5XCIsbnVsbCxudWxsLG51bGwsXCJoNENyWnBiQkRQZU9pLWdQNkpTNWtBTVwiLDAsMCwwLG51bGwsMiw1LFwiZWhcIiwyMywwLDAsMCwwLDEsODk5Nzg0NDksMCwwXSxbW251bGwsbnVsbCxudWxsLFwiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vb2cvXy9qcy9rPW9nLnF0bS5lbl9VUy5GdGxWZHhtRGtXMC4yMDE5Lk8vcnQ9ai9tPXFhYnIscV9kbnAscWN3aWQscWFwaWQscWFsZCxxYWRzLHFfZGcvZXhtPXFhYXcscWFkZCxxYWlkLHFlaW4scWhhdyxxaGJhLHFoYnIscWhjaCxxaGdhLHFoaWQscWhpbi9kPTEvZWQ9MS9ycz1BQTJZclR2LU01bDZQZE5RWDhJbFFqVEpHOE9qb3FfTGZBXCJdLFtudWxsLG51bGwsbnVsbCxcImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL29nL18vc3Mvaz1vZy5xdG0udE1jTUM1SVRvQVkuTC5XLk8vbT1xY3dpZCxkX2JfZ20zLGRfd2lfZ20zLGRfbG9fZ20zL2V4Y209cWFhdyxxYWRkLHFhaWQscWVpbixxaGF3LHFoYmEscWhicixxaGNoLHFoZ2EscWhpZCxxaGluL2Q9MS9lZD0xL2N0PXpnbXMvcnM9QUEyWXJUdHU2OHdVOHJRU0V1MXpMb1RZX0JPQlFYaWJBZ1wiXV0sbnVsbCxudWxsLG51bGwsW1tbbnVsbCxudWxsLFtudWxsLG51bGwsbnVsbCxcImh0dHBzOi8vb2dzLmdvb2dsZS5jb20vd2lkZ2V0L2FwcC9zbz9lb209MVxcdTAwMjZhd3dkPTFcXHUwMDI2Z20zPTFcIl0sMCw0NzAsMzcwLDQ5LDQsMSwwLDAsNjMsNjQsODAwMCxcImh0dHBzOi8vd3d3Lmdvb2dsZS5sdS9pbnRsL2RlL2Fib3V0L3Byb2R1Y3RzXCIsNjcsMSw2OSxudWxsLDEsNzAsXCJCZWltIExhZGVuIGRlciBBbndlbmR1bmdzbGlzdGUgaXN0IGVpbiBQcm9ibGVtIGF1ZmdldHJldGVuLiBCaXR0ZSB2ZXJzdWNoIGVzIGluIGVpbiBwYWFyIE1pbnV0ZW4gbm9jaCBlaW5tYWwgb2RlciBnZWhlIHp1ciBTZWl0ZSAlMSRzR29vZ2xlLVByb2R1a3RlJTIkcy5cIiwzLDAsMCw3NCwwLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsXCIvd2lkZ2V0L2FwcC9zb1wiLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsMCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLDBdLFtudWxsLG51bGwsW251bGwsbnVsbCxudWxsLFwiaHR0cHM6Ly9vZ3MuZ29vZ2xlLmNvbS93aWRnZXQvY2FsbG91dD9lb209MVxcdTAwMjZkYz0xXCJdLG51bGwsMjgwLDQyMCw3MCwyNSwwLG51bGwsMCxudWxsLG51bGwsODAwMCxudWxsLDcxLDQsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLDc2LG51bGwsbnVsbCxudWxsLDEwNywxMDgsMTA5LFwiXCIsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLDBdXSxudWxsLG51bGwsXCIxXCIsXCI1MzhcIiwxLDAsbnVsbCxcImRlXCIsMCxudWxsLDAsMCwwLFtudWxsLFwiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9cIixudWxsLG51bGwsbnVsbCwwLG51bGwsMCwwLFwiXCIsXCJcIixcIjhcIixcImh0dHBzOi8vb2dhZHMtcGEuZ29vZ2xlYXBpcy5jb21cIiwwLDAsMCxcIlwiLFwiXCIsMCwwLDAsODY0MDAsMF0sMCxudWxsLG51bGwsbnVsbCwwXV1dLH07dGhpcy5nYmFyXz10aGlzLmdiYXJffHx7fTsoZnVuY3Rpb24oXyl7dmFyIHdpbmRvdz10aGlzO1xudHJ5e1xuXy5fRl90b2dnbGVzX2luaXRpYWxpemU9ZnVuY3Rpb24oYSl7KHR5cGVvZiBnbG9iYWxUaGlzIT09XCJ1bmRlZmluZWRcIj9nbG9iYWxUaGlzOnR5cGVvZiBzZWxmIT09XCJ1bmRlZmluZWRcIj9zZWxmOnRoaXMpLl9GX3RvZ2dsZXM9YXx8W119OygwLF8uX0ZfdG9nZ2xlc19pbml0aWFsaXplKShbXSk7XG4vKlxuXG4gQ29weXJpZ2h0IFRoZSBDbG9zdXJlIExpYnJhcnkgQXV0aG9ycy5cbiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuKi9cbnZhciBmYSxoYSxtYSxvYSxwYSx5YSx6YSxCYSxDYSxEYSxHYSxXYSxWYSxZYSwkYSxaYSxhYixiYixlYixmYixqYixtYixnYixsYixrYixpYixoYixuYixvYix4Yix6YixBYixCYixDYjtfLmFhPWZ1bmN0aW9uKGEsYil7aWYoRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UpRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcyxfLmFhKTtlbHNle2NvbnN0IGM9RXJyb3IoKS5zdGFjaztjJiYodGhpcy5zdGFjaz1jKX1hJiYodGhpcy5tZXNzYWdlPVN0cmluZyhhKSk7YiE9PXZvaWQgMCYmKHRoaXMuY2F1c2U9Yil9O18uYmE9ZnVuY3Rpb24oYSl7Xy50LnNldFRpbWVvdXQoKCk9Pnt0aHJvdyBhO30sMCl9O18uY2E9ZnVuY3Rpb24oKXt2YXIgYT1fLnQubmF2aWdhdG9yO3JldHVybiBhJiYoYT1hLnVzZXJBZ2VudCk/YTpcIlwifTtmYT1mdW5jdGlvbihhKXtyZXR1cm4gZGE/ZWE/ZWEuYnJhbmRzLnNvbWUoKHticmFuZDpifSk9PmImJmIuaW5kZXhPZihhKSE9LTEpOiExOiExfTtcbl8udT1mdW5jdGlvbihhKXtyZXR1cm4gXy5jYSgpLmluZGV4T2YoYSkhPS0xfTtoYT1mdW5jdGlvbigpe3JldHVybiBkYT8hIWVhJiZlYS5icmFuZHMubGVuZ3RoPjA6ITF9O18uaWE9ZnVuY3Rpb24oKXtyZXR1cm4gaGEoKT8hMTpfLnUoXCJPcGVyYVwiKX07Xy5rYT1mdW5jdGlvbigpe3JldHVybiBoYSgpPyExOl8udShcIlRyaWRlbnRcIil8fF8udShcIk1TSUVcIil9O18ubGE9ZnVuY3Rpb24oKXtyZXR1cm4gXy51KFwiRmlyZWZveFwiKXx8Xy51KFwiRnhpT1NcIil9O18ubmE9ZnVuY3Rpb24oKXtyZXR1cm4gXy51KFwiU2FmYXJpXCIpJiYhKG1hKCl8fChoYSgpPzA6Xy51KFwiQ29hc3RcIikpfHxfLmlhKCl8fChoYSgpPzA6Xy51KFwiRWRnZVwiKSl8fChoYSgpP2ZhKFwiTWljcm9zb2Z0IEVkZ2VcIik6Xy51KFwiRWRnL1wiKSl8fChoYSgpP2ZhKFwiT3BlcmFcIik6Xy51KFwiT1BSXCIpKXx8Xy5sYSgpfHxfLnUoXCJTaWxrXCIpfHxfLnUoXCJBbmRyb2lkXCIpKX07XG5tYT1mdW5jdGlvbigpe3JldHVybiBoYSgpP2ZhKFwiQ2hyb21pdW1cIik6KF8udShcIkNocm9tZVwiKXx8Xy51KFwiQ3JpT1NcIikpJiYhKGhhKCk/MDpfLnUoXCJFZGdlXCIpKXx8Xy51KFwiU2lsa1wiKX07b2E9ZnVuY3Rpb24oKXtyZXR1cm4gZGE/ISFlYSYmISFlYS5wbGF0Zm9ybTohMX07cGE9ZnVuY3Rpb24oKXtyZXR1cm4gXy51KFwiaVBob25lXCIpJiYhXy51KFwiaVBvZFwiKSYmIV8udShcImlQYWRcIil9O18ucWE9ZnVuY3Rpb24oKXtyZXR1cm4gcGEoKXx8Xy51KFwiaVBhZFwiKXx8Xy51KFwiaVBvZFwiKX07Xy5yYT1mdW5jdGlvbigpe3JldHVybiBvYSgpP2VhLnBsYXRmb3JtPT09XCJtYWNPU1wiOl8udShcIk1hY2ludG9zaFwiKX07Xy50YT1mdW5jdGlvbihhLGIpe3JldHVybiBfLnNhKGEsYik+PTB9O1xuXy51YT1mdW5jdGlvbihhKXtsZXQgYj1cIlwiLGM9MDtjb25zdCBkPWEubGVuZ3RoLTEwMjQwO2Zvcig7YzxkOyliKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYS5zdWJhcnJheShjLGMrPTEwMjQwKSk7Yis9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGM/YS5zdWJhcnJheShjKTphKTtyZXR1cm4gYnRvYShiKX07Xy52YT1mdW5jdGlvbihhKXtyZXR1cm4gYSE9bnVsbCYmYSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXl9O18ud2E9ZnVuY3Rpb24oYSl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGEpfTtfLnhhPWZ1bmN0aW9uKGEpe3JldHVybiEhKChhW18udl18MCkmMil9O3lhPWZ1bmN0aW9uKGEsYil7YltfLnZdPShhfDApJi0xNDU5MX07emE9ZnVuY3Rpb24oYSxiKXtiW18udl09KGF8MzQpJi0xNDU1N307QmE9ZnVuY3Rpb24oYSl7cmV0dXJuISghYXx8dHlwZW9mIGEhPT1cIm9iamVjdFwifHxhLmkhPT1BYSl9O1xuQ2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPT1udWxsJiZ0eXBlb2YgYT09PVwib2JqZWN0XCImJiFBcnJheS5pc0FycmF5KGEpJiZhLmNvbnN0cnVjdG9yPT09T2JqZWN0fTtEYT1mdW5jdGlvbihhLGIsYyl7aWYoIUFycmF5LmlzQXJyYXkoYSl8fGEubGVuZ3RoKXJldHVybiExO2NvbnN0IGQ9YVtfLnZdfDA7aWYoZCYxKXJldHVybiEwO2lmKCEoYiYmKEFycmF5LmlzQXJyYXkoYik/Yi5pbmNsdWRlcyhjKTpiLmhhcyhjKSkpKXJldHVybiExO2FbXy52XT1kfDE7cmV0dXJuITB9O18uRWE9ZnVuY3Rpb24oYSl7aWYoYSYyKXRocm93IEVycm9yKCk7fTtHYT1mdW5jdGlvbihhLGIpeyhiPV8uRmE/YltfLkZhXTp2b2lkIDApJiYoYVtfLkZhXT1fLndhKGIpKX07Xy5JYT1mdW5jdGlvbigpe2NvbnN0IGE9RXJyb3IoKTtIYShhLFwiaW5jaWRlbnRcIik7Xy5iYShhKX07Xy5KYT1mdW5jdGlvbihhKXthPUVycm9yKGEpO0hhKGEsXCJ3YXJuaW5nXCIpO3JldHVybiBhfTtcbl8uTGE9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGEhPT1cImJvb2xlYW5cIil0aHJvdyBFcnJvcihcInNgXCIrXy5LYShhKStcImBcIithKTtyZXR1cm4gYX07Xy5NYT1mdW5jdGlvbihhKXtpZighTnVtYmVyLmlzRmluaXRlKGEpKXRocm93IF8uSmEoXCJlbnVtXCIpO3JldHVybiBhfDB9O18uTmE9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGEhPT1cIm51bWJlclwiKXRocm93IF8uSmEoXCJpbnQzMlwiKTtpZighTnVtYmVyLmlzRmluaXRlKGEpKXRocm93IF8uSmEoXCJpbnQzMlwiKTtyZXR1cm4gYXwwfTtfLk9hPWZ1bmN0aW9uKGEpe2lmKGEhPW51bGwmJnR5cGVvZiBhIT09XCJzdHJpbmdcIil0aHJvdyBFcnJvcigpO3JldHVybiBhfTtfLlBhPWZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsfHx0eXBlb2YgYT09PVwic3RyaW5nXCI/YTp2b2lkIDB9O1xuXy5SYT1mdW5jdGlvbihhLGIsYyl7aWYoYSE9bnVsbCYmdHlwZW9mIGE9PT1cIm9iamVjdFwiJiZhLkVkPT09Xy5RYSlyZXR1cm4gYTtpZihBcnJheS5pc0FycmF5KGEpKXt2YXIgZD1hW18udl18MCxlPWQ7ZT09PTAmJihlfD1jJjMyKTtlfD1jJjI7ZSE9PWQmJihhW18udl09ZSk7cmV0dXJuIG5ldyBiKGEpfX07Xy5UYT1mdW5jdGlvbihhLGIpe1NhPWI7YT1uZXcgYShiKTtTYT12b2lkIDA7cmV0dXJuIGF9O1xuXy5VYT1mdW5jdGlvbihhLGIsYyl7YT09bnVsbCYmKGE9U2EpO1NhPXZvaWQgMDtpZihhPT1udWxsKXt2YXIgZD05NjtjPyhhPVtjXSxkfD01MTIpOmE9W107YiYmKGQ9ZCYtMTY3NjA4MzN8KGImMTAyMyk8PDE0KX1lbHNle2lmKCFBcnJheS5pc0FycmF5KGEpKXRocm93IEVycm9yKFwidFwiKTtkPWFbXy52XXwwO2lmKGQmMjA0OCl0aHJvdyBFcnJvcihcInVcIik7aWYoZCY2NClyZXR1cm4gYTtkfD02NDtpZihjJiYoZHw9NTEyLGMhPT1hWzBdKSl0aHJvdyBFcnJvcihcInZcIik7YTp7Yz1hO2NvbnN0IGU9Yy5sZW5ndGg7aWYoZSl7Y29uc3QgZj1lLTE7aWYoQ2EoY1tmXSkpe2R8PTI1NjtiPWYtKCshIShkJjUxMiktMSk7aWYoYj49MTAyNCl0aHJvdyBFcnJvcihcIndcIik7ZD1kJi0xNjc2MDgzM3woYiYxMDIzKTw8MTQ7YnJlYWsgYX19aWYoYil7Yj1NYXRoLm1heChiLGUtKCshIShkJjUxMiktMSkpO2lmKGI+MTAyNCl0aHJvdyBFcnJvcihcInhcIik7ZD1kJi0xNjc2MDgzM3woYiYxMDIzKTw8MTR9fX1hW18udl09XG5kO3JldHVybiBhfTtXYT1mdW5jdGlvbihhLGIpe3JldHVybiBWYShiKX07VmE9ZnVuY3Rpb24oYSl7c3dpdGNoKHR5cGVvZiBhKXtjYXNlIFwibnVtYmVyXCI6cmV0dXJuIGlzRmluaXRlKGEpP2E6U3RyaW5nKGEpO2Nhc2UgXCJib29sZWFuXCI6cmV0dXJuIGE/MTowO2Nhc2UgXCJvYmplY3RcIjppZihhKWlmKEFycmF5LmlzQXJyYXkoYSkpe2lmKERhKGEsdm9pZCAwLDApKXJldHVybn1lbHNle2lmKF8udmEoYSkpcmV0dXJuIF8udWEoYSk7aWYoXCJmdW5jdGlvblwiPT10eXBlb2YgXy5YYSYmYSBpbnN0YW5jZW9mIF8uWGEpcmV0dXJuIGEuaigpfX1yZXR1cm4gYX07WWE9ZnVuY3Rpb24oYSxiLGMpe2NvbnN0IGQ9Xy53YShhKTt2YXIgZT1kLmxlbmd0aDtjb25zdCBmPWImMjU2P2RbZS0xXTp2b2lkIDA7ZSs9Zj8tMTowO2ZvcihiPWImNTEyPzE6MDtiPGU7YisrKWRbYl09YyhkW2JdKTtpZihmKXtiPWRbYl09e307Zm9yKGNvbnN0IGcgaW4gZiliW2ddPWMoZltnXSl9R2EoZCxhKTtyZXR1cm4gZH07XG4kYT1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKGEhPW51bGwpe2lmKEFycmF5LmlzQXJyYXkoYSkpYT1EYShhLHZvaWQgMCwwKT92b2lkIDA6ZSYmKGFbXy52XXwwKSYyP2E6WmEoYSxiLGMsZCE9PXZvaWQgMCxlKTtlbHNlIGlmKENhKGEpKXtjb25zdCBmPXt9O2ZvcihsZXQgZyBpbiBhKWZbZ109JGEoYVtnXSxiLGMsZCxlKTthPWZ9ZWxzZSBhPWIoYSxkKTtyZXR1cm4gYX19O1phPWZ1bmN0aW9uKGEsYixjLGQsZSl7Y29uc3QgZj1kfHxjP2FbXy52XXwwOjA7ZD1kPyEhKGYmMzIpOnZvaWQgMDtjb25zdCBnPV8ud2EoYSk7Zm9yKGxldCBoPTA7aDxnLmxlbmd0aDtoKyspZ1toXT0kYShnW2hdLGIsYyxkLGUpO2MmJihHYShnLGEpLGMoZixnKSk7cmV0dXJuIGd9O2FiPWZ1bmN0aW9uKGEpe3JldHVybiBhLkVkPT09Xy5RYT9hLnRvSlNPTigpOlZhKGEpfTtcbmJiPWZ1bmN0aW9uKGEsYixjPXphKXtpZihhIT1udWxsKXtpZihhIGluc3RhbmNlb2YgVWludDhBcnJheSlyZXR1cm4gYj9hOm5ldyBVaW50OEFycmF5KGEpO2lmKEFycmF5LmlzQXJyYXkoYSkpe3ZhciBkPWFbXy52XXwwO2lmKGQmMilyZXR1cm4gYTtiJiYoYj1kPT09MHx8ISEoZCYzMikmJiEoZCY2NHx8IShkJjE2KSkpO3JldHVybiBiPyhhW18udl09KGR8MzQpJi0xMjI5MyxhKTpaYShhLGJiLGQmND96YTpjLCEwLCEwKX1hLkVkPT09Xy5RYSYmKGM9YS5tYSxkPWNbXy52XSxhPWQmMj9hOl8uVGEoYS5jb25zdHJ1Y3RvcixfLmNiKGMsZCwhMCkpKTtyZXR1cm4gYX19O18uY2I9ZnVuY3Rpb24oYSxiLGMpe2NvbnN0IGQ9Y3x8YiYyP3phOnlhLGU9ISEoYiYzMik7YT1ZYShhLGIsZj0+YmIoZixlLGQpKTthW18udl09YVtfLnZdfDMyfChjPzI6MCk7cmV0dXJuIGF9O1xuXy5kYj1mdW5jdGlvbihhKXtjb25zdCBiPWEubWEsYz1iW18udl07cmV0dXJuIGMmMj9fLlRhKGEuY29uc3RydWN0b3IsXy5jYihiLGMsITEpKTphfTtlYj1mdW5jdGlvbihhKXtyZXR1cm4gYX07ZmI9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O2piPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBnYihhLGIsYyxkLGhiLGliKX07bWI9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIGdiKGEsYixjLGQsa2IsbGIpfTtcbmdiPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZighYy5sZW5ndGgmJiFkKXJldHVybiAwO3ZhciBnPTA7bGV0IGg9MCxrPTA7dmFyIGw9MDtsZXQgbT0wO2Zvcih2YXIgcD1jLmxlbmd0aC0xO3A+PTA7cC0tKXt2YXIgcj1jW3BdO2QmJnA9PT1jLmxlbmd0aC0xJiZyPT09ZHx8KGwrKyxyIT1udWxsJiZrKyspfWlmKGQpZm9yKHZhciBxIGluIGQpcD0rcSxpc05hTihwKXx8KG0rPW5iKHApLGgrKyxwPmcmJihnPXApKTtsPWUobCxrKStmKGgsZyxtKTtxPWs7cD1oO3I9ZztsZXQgeT1tO2ZvcihsZXQgRT1jLmxlbmd0aC0xO0U+PTA7RS0tKXt2YXIgRD1jW0VdO2lmKEQ9PW51bGx8fGQmJkU9PT1jLmxlbmd0aC0xJiZEPT09ZCljb250aW51ZTtEPUUtYjtjb25zdCBHPWUoRCxxKStmKHAscix5KTtHPGwmJihhPTErRCxsPUcpO3ArKztxLS07eSs9bmIoRCk7cj1NYXRoLm1heChyLEQpfWI9ZSgwLDApK2YocCxyLHkpO2I8bCYmKGE9MCxsPWIpO2lmKGQpe3A9aDtyPWc7eT1tO3E9aztmb3IoY29uc3QgRSBpbiBkKWQ9XG4rRSxpc05hTihkKXx8ZD49MTAyNHx8KHAtLSxxKysseS09RS5sZW5ndGgsZz1lKGQscSkrZihwLHIseSksZzxsJiYoYT0xK2QsbD1nKSl9cmV0dXJuIGF9O2xiPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYythKjMrKGE+MT9hLTE6MCl9O2tiPWZ1bmN0aW9uKGEsYil7cmV0dXJuKGE+MT9hLTE6MCkrKGEtYikqNH07aWI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09MD8wOjkqTWF0aC5tYXgoMTw8MzItTWF0aC5jbHozMihhK2EvMi0xKSw0KTw9Yj9hPT0wPzA6YTw0PzEwMCsoYS0xKSoxNjphPDY/MTQ4KyhhLTQpKjE2OmE8MTI/MjQ0KyhhLTYpKjE2OmE8MjI/NDM2KyhhLTEyKSoxOTphPDQ0PzgyMCsoYS0yMikqMTc6NTIrMzIqYTo0MCs0KmJ9O2hiPWZ1bmN0aW9uKGEpe3JldHVybiA0MCs0KmF9O25iPWZ1bmN0aW9uKGEpe3JldHVybiBhPj0xMDA/YT49MUU0P01hdGguY2VpbChNYXRoLmxvZzEwKDErYSkpOmE8MUUzPzM6NDphPDEwPzE6Mn07XG5vYj1mdW5jdGlvbihhLGIsYyxkKXtiPWQrKCshIShiJjUxMiktMSk7aWYoIShiPDB8fGI+PWEubGVuZ3RofHxiPj1jKSlyZXR1cm4gYVtiXX07Xy5xYj1mdW5jdGlvbihhLGIsYyxkLGUpe2NvbnN0IGY9Yj4+MTQmMTAyM3x8NTM2ODcwOTEyO2lmKGM+PWZ8fGUmJiFwYil7bGV0IGc9YjtpZihiJjI1NillPWFbYS5sZW5ndGgtMV07ZWxzZXtpZihkPT1udWxsKXJldHVybiBnO2U9YVtmKygrISEoYiY1MTIpLTEpXT17fTtnfD0yNTZ9ZVtjXT1kO2M8ZiYmKGFbYysoKyEhKGImNTEyKS0xKV09dm9pZCAwKTtnIT09YiYmKGFbXy52XT1nKTtyZXR1cm4gZ31hW2MrKCshIShiJjUxMiktMSldPWQ7YiYyNTYmJihhPWFbYS5sZW5ndGgtMV0sYyBpbiBhJiZkZWxldGUgYVtjXSk7cmV0dXJuIGJ9O18uc2I9ZnVuY3Rpb24oYSxiLGMsZCl7YT1hLm1hO2xldCBlPWFbXy52XTtjb25zdCBmPV8ucmIoYSxlLGMsZCk7Yj1fLlJhKGYsYixlKTtiIT09ZiYmYiE9bnVsbCYmXy5xYihhLGUsYyxiLGQpO3JldHVybiBifTtcbl8udGI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYSE9bnVsbD9hOmJ9O1xueGI9ZnVuY3Rpb24oYSl7dmFyIGI9dWI/YS5tYTpaYShhLm1hLGFiLHZvaWQgMCx2b2lkIDAsITEpO3t2YXIgYz0hdWI7dmFyIGQ9dmI/dm9pZCAwOmEuY29uc3RydWN0b3Iub2E7dmFyIGU9KGM/YS5tYTpiKVtfLnZdO2xldCBCPWIubGVuZ3RoO2lmKEIpe3ZhciBmPWJbQi0xXSxnPUNhKGYpO2c/Qi0tOmY9dm9pZCAwO2E9KyEhKGUmNTEyKS0xO3ZhciBoPUItYSxrPSEhd2ImJnBiJiYhKGUmNTEyKSxsO2U9KGw9d2IpIT1udWxsP2w6ZmI7ZT1rP2UoaCxhLGIsZik6aDtsPShoPWsmJmghPT1lKT9BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChiLDAsQik6YjtpZihnfHxoKXtiOnt2YXIgbT1sO3ZhciBwPWY7Zz17fTtrPSExO2lmKGgpZm9yKHZhciByPU1hdGgubWF4KDAsZSthKTtyPG0ubGVuZ3RoO3IrKyl7dmFyIHE9bVtyXSx5PXItYTtxPT1udWxsfHxEYShxLGQseSl8fEJhKHEpJiZxLnNpemU9PT0wfHwobVtyXT12b2lkIDAsZ1t5XT1xLGs9ITApfWlmKHApZm9yKHZhciBEIGluIHApaWYocj1cbitELGlzTmFOKHIpKWdbRF09cFtEXTtlbHNlIGlmKHE9cFtEXSxBcnJheS5pc0FycmF5KHEpJiYoRGEocSxkLCtEKXx8QmEocSkmJnEuc2l6ZT09PTApJiYocT1udWxsKSxxPT1udWxsJiYoaz0hMCksaCYmcjxlKXtrPSEwO3E9cithO2Zvcih5PW0ubGVuZ3RoO3k8PXE7eSsrKW0ucHVzaCh2b2lkIDApO21bcV09cFtyXX1lbHNlIHEhPW51bGwmJihnW0RdPXEpO2lmKGspe2Zvcih2YXIgRSBpbiBnKXtwPWc7YnJlYWsgYn1wPW51bGx9fW09cD09bnVsbD9mIT1udWxsOnAhPT1mfWgmJihCPWwubGVuZ3RoKTtmb3IodmFyIEc7Qj4wO0ItLSl7RT1CLTE7RD1sW0VdO0UtPWE7aWYoIShEPT1udWxsfHxEYShELGQsRSl8fEJhKEQpJiZELnNpemU9PT0wKSlicmVhaztHPSEwfWlmKGwhPT1ifHxtfHxHKXtpZighaCYmIWMpbD1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChsLDAsQik7ZWxzZSBpZihHfHxtfHxwKWwubGVuZ3RoPUI7cCYmbC5wdXNoKHApfWI9bH19cmV0dXJuIGJ9O1xuXy53PWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEhPW51bGw/ISFhOiEhYn07Xy54PWZ1bmN0aW9uKGEsYil7Yj09dm9pZCAwJiYoYj1cIlwiKTtyZXR1cm4gYSE9bnVsbD9hOmJ9O18ueWI9ZnVuY3Rpb24oYSl7Zm9yKGNvbnN0IGIgaW4gYSlyZXR1cm4hMTtyZXR1cm4hMH07emI9dHlwZW9mIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzPT1cImZ1bmN0aW9uXCI/T2JqZWN0LmRlZmluZVByb3BlcnR5OmZ1bmN0aW9uKGEsYixjKXtpZihhPT1BcnJheS5wcm90b3R5cGV8fGE9PU9iamVjdC5wcm90b3R5cGUpcmV0dXJuIGE7YVtiXT1jLnZhbHVlO3JldHVybiBhfTtcbkFiPWZ1bmN0aW9uKGEpe2E9W1wib2JqZWN0XCI9PXR5cGVvZiBnbG9iYWxUaGlzJiZnbG9iYWxUaGlzLGEsXCJvYmplY3RcIj09dHlwZW9mIHdpbmRvdyYmd2luZG93LFwib2JqZWN0XCI9PXR5cGVvZiBzZWxmJiZzZWxmLFwib2JqZWN0XCI9PXR5cGVvZiBnbG9iYWwmJmdsb2JhbF07Zm9yKHZhciBiPTA7YjxhLmxlbmd0aDsrK2Ipe3ZhciBjPWFbYl07aWYoYyYmYy5NYXRoPT1NYXRoKXJldHVybiBjfXRocm93IEVycm9yKFwiYVwiKTt9O0JiPUFiKHRoaXMpO0NiPWZ1bmN0aW9uKGEsYil7aWYoYilhOnt2YXIgYz1CYjthPWEuc3BsaXQoXCIuXCIpO2Zvcih2YXIgZD0wO2Q8YS5sZW5ndGgtMTtkKyspe3ZhciBlPWFbZF07aWYoIShlIGluIGMpKWJyZWFrIGE7Yz1jW2VdfWE9YVthLmxlbmd0aC0xXTtkPWNbYV07Yj1iKGQpO2IhPWQmJmIhPW51bGwmJnpiKGMsYSx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX19O1xuQ2IoXCJTeW1ib2wuZGlzcG9zZVwiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6U3ltYm9sKFwiYlwiKX0pO0NiKFwiZ2xvYmFsVGhpc1wiLGZ1bmN0aW9uKGEpe3JldHVybiBhfHxCYn0pO0NiKFwiUHJvbWlzZS5wcm90b3R5cGUuZmluYWxseVwiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMudGhlbihmdW5jdGlvbihjKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGIoKSkudGhlbihmdW5jdGlvbigpe3JldHVybiBjfSl9LGZ1bmN0aW9uKGMpe3JldHVybiBQcm9taXNlLnJlc29sdmUoYigpKS50aGVuKGZ1bmN0aW9uKCl7dGhyb3cgYzt9KX0pfX0pO3ZhciBGYixHYixJYjtfLkRiPV8uRGJ8fHt9O18udD10aGlzfHxzZWxmO0ZiPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5FYihcIldJWl9nbG9iYWxfZGF0YS5veE4zbmJcIik7YT1jJiZjW2FdO3JldHVybiBhIT1udWxsP2E6Yn07R2I9Xy50Ll9GX3RvZ2dsZXN8fFtdO18uRWI9ZnVuY3Rpb24oYSxiKXthPWEuc3BsaXQoXCIuXCIpO2I9Ynx8Xy50O2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWlmKGI9YlthW2NdXSxiPT1udWxsKXJldHVybiBudWxsO3JldHVybiBifTtfLkthPWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBhO3JldHVybiBiIT1cIm9iamVjdFwiP2I6YT9BcnJheS5pc0FycmF5KGEpP1wiYXJyYXlcIjpiOlwibnVsbFwifTtfLkhiPVwiY2xvc3VyZV91aWRfXCIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCk7SWI9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhLmNhbGwuYXBwbHkoYS5iaW5kLGFyZ3VtZW50cyl9O1xuXy56PWZ1bmN0aW9uKGEsYixjKXtfLno9SWI7cmV0dXJuIF8uei5hcHBseShudWxsLGFyZ3VtZW50cyl9O18uQT1mdW5jdGlvbihhLGIpe2E9YS5zcGxpdChcIi5cIik7dmFyIGM9Xy50O2FbMF1pbiBjfHx0eXBlb2YgYy5leGVjU2NyaXB0PT1cInVuZGVmaW5lZFwifHxjLmV4ZWNTY3JpcHQoXCJ2YXIgXCIrYVswXSk7Zm9yKHZhciBkO2EubGVuZ3RoJiYoZD1hLnNoaWZ0KCkpOylhLmxlbmd0aHx8Yj09PXZvaWQgMD9jW2RdJiZjW2RdIT09T2JqZWN0LnByb3RvdHlwZVtkXT9jPWNbZF06Yz1jW2RdPXt9OmNbZF09Yn07XG5fLkM9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKCl7fWMucHJvdG90eXBlPWIucHJvdG90eXBlO2EuVz1iLnByb3RvdHlwZTthLnByb3RvdHlwZT1uZXcgYzthLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hO2EuZGo9ZnVuY3Rpb24oZCxlLGYpe2Zvcih2YXIgZz1BcnJheShhcmd1bWVudHMubGVuZ3RoLTIpLGg9MjtoPGFyZ3VtZW50cy5sZW5ndGg7aCsrKWdbaC0yXT1hcmd1bWVudHNbaF07cmV0dXJuIGIucHJvdG90eXBlW2VdLmFwcGx5KGQsZyl9fTtfLkMoXy5hYSxFcnJvcik7Xy5hYS5wcm90b3R5cGUubmFtZT1cIkN1c3RvbUVycm9yXCI7dmFyIEpiPSEhKEdiWzBdJjQwOTYpLEtiPSEhKEdiWzBdJjEyOCksTGI9ISEoR2JbMF0mODE5MiksTWI9ISEoR2JbMF0mNjQpLE5iPSEhKEdiWzBdJjE2KSxPYj0hIShHYlswXSYzMik7dmFyIFBiLGRhLHBiO1BiPUZiKDEsITApO2RhPUpiP0xiOkZiKDYxMDQwMTMwMSwhMSk7cGI9SmI/S2J8fCFOYjpGYig2NDUxNzIzNDMsUGIpO18uUWI9SmI/S2J8fCFPYjpGYig2NTM3MTg0OTcsUGIpO3ZhciB2Yj1KYj9LYnx8IU1iOkZiKDE4ODU4ODczNiwhMCk7Xy5SYj10eXBlb2YgVGV4dERlY29kZXIhPT1cInVuZGVmaW5lZFwiO18uU2I9dHlwZW9mIFRleHRFbmNvZGVyIT09XCJ1bmRlZmluZWRcIjtfLlViPWZ1bmN0aW9uKCl7cmV0dXJuIF8uY2EoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoXCJ3ZWJraXRcIikhPS0xfTt2YXIgZWEsVmI9Xy50Lm5hdmlnYXRvcjtlYT1WYj9WYi51c2VyQWdlbnREYXRhfHxudWxsOm51bGw7Xy5zYT1mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGEsYix2b2lkIDApfTtfLldiPWZ1bmN0aW9uKGEsYixjKXtBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGEsYixjKX07Xy5YYj1mdW5jdGlvbihhKXtfLlhiW1wiIFwiXShhKTtyZXR1cm4gYX07Xy5YYltcIiBcIl09ZnVuY3Rpb24oKXt9O3ZhciBqYztfLlliPV8uaWEoKTtfLlpiPV8ua2EoKTtfLiRiPV8udShcIkVkZ2VcIik7Xy5hYz1fLnUoXCJHZWNrb1wiKSYmIShfLlViKCkmJiFfLnUoXCJFZGdlXCIpKSYmIShfLnUoXCJUcmlkZW50XCIpfHxfLnUoXCJNU0lFXCIpKSYmIV8udShcIkVkZ2VcIik7Xy5iYz1fLlViKCkmJiFfLnUoXCJFZGdlXCIpO18uY2M9Xy5yYSgpO18uZGM9b2EoKT9lYS5wbGF0Zm9ybT09PVwiV2luZG93c1wiOl8udShcIldpbmRvd3NcIik7Xy5lYz1vYSgpP2VhLnBsYXRmb3JtPT09XCJBbmRyb2lkXCI6Xy51KFwiQW5kcm9pZFwiKTtfLmZjPXBhKCk7Xy5nYz1fLnUoXCJpUGFkXCIpO18uaGM9Xy51KFwiaVBvZFwiKTtfLmljPV8ucWEoKTtcbmE6e3ZhciBrYz1cIlwiLGxjPWZ1bmN0aW9uKCl7dmFyIGE9Xy5jYSgpO2lmKF8uYWMpcmV0dXJuL3J2OihbXlxcKTtdKykoXFwpfDspLy5leGVjKGEpO2lmKF8uJGIpcmV0dXJuL0VkZ2VcXC8oW1xcZFxcLl0rKS8uZXhlYyhhKTtpZihfLlpiKXJldHVybi9cXGIoPzpNU0lFfHJ2KVs6IF0oW15cXCk7XSspKFxcKXw7KS8uZXhlYyhhKTtpZihfLmJjKXJldHVybi9XZWJLaXRcXC8oXFxTKykvLmV4ZWMoYSk7aWYoXy5ZYilyZXR1cm4vKD86VmVyc2lvbilbIFxcL10/KFxcUyspLy5leGVjKGEpfSgpO2xjJiYoa2M9bGM/bGNbMV06XCJcIik7aWYoXy5aYil7dmFyIG1jLG5jPV8udC5kb2N1bWVudDttYz1uYz9uYy5kb2N1bWVudE1vZGU6dm9pZCAwO2lmKG1jIT1udWxsJiZtYz5wYXJzZUZsb2F0KGtjKSl7amM9U3RyaW5nKG1jKTticmVhayBhfX1qYz1rY31fLm9jPWpjO18ucGM9Xy5sYSgpO18ucWM9cGEoKXx8Xy51KFwiaVBvZFwiKTtfLnJjPV8udShcImlQYWRcIik7Xy5zYz1fLnUoXCJBbmRyb2lkXCIpJiYhKG1hKCl8fF8ubGEoKXx8Xy5pYSgpfHxfLnUoXCJTaWxrXCIpKTtfLnRjPW1hKCk7Xy51Yz1fLm5hKCkmJiFfLnFhKCk7dmFyIHZjO18udj1TeW1ib2woKTt2Yz1TeW1ib2woKTtfLndjPVN5bWJvbCgpO18ueGM9U3ltYm9sKCk7dmFyIEFhLHpjO18uUWE9e307QWE9e307emM9W107emNbXy52XT01NTtfLnljPU9iamVjdC5mcmVlemUoemMpO18uQWM9T2JqZWN0LmZyZWV6ZSh7fSk7T2JqZWN0LmZyZWV6ZSh7fSk7Xy5CYz1PYmplY3QuZnJlZXplKHt9KTt2YXIgSGE9ZnVuY3Rpb24oYSxiKXthLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mnx8KGEuX19jbG9zdXJlX19lcnJvcl9fY29udGV4dF9fOTg0MzgyPXt9KTthLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mi5zZXZlcml0eT1ifTt2YXIgQ2M7dmFyIFNhO18uRGM9ZnVuY3Rpb24oYSxiKXthPWEubWE7cmV0dXJuIF8ucmIoYSxhW18udl0sYil9O18ucmI9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYz09PS0xKXJldHVybiBudWxsO2NvbnN0IGU9Yj4+MTQmMTAyM3x8NTM2ODcwOTEyO2lmKGM+PWUpe2lmKGImMjU2KXJldHVybiBhW2EubGVuZ3RoLTFdW2NdfWVsc2V7dmFyIGY9YS5sZW5ndGg7aWYoZCYmYiYyNTYmJihkPWFbZi0xXVtjXSxkIT1udWxsKSl7aWYob2IoYSxiLGUsYykmJnZjIT1udWxsKXt2YXIgZzthPShnPUNjKSE9bnVsbD9nOkNjPXt9O2c9YVt2Y118fDA7Zz49NHx8KGFbdmNdPWcrMSxfLklhKCkpfXJldHVybiBkfXJldHVybiBvYihhLGIsZSxjKX19O18uRWM9ZnVuY3Rpb24oYSxiLGMpe2NvbnN0IGQ9YS5tYTtsZXQgZT1kW18udl07Xy5FYShlKTtfLnFiKGQsZSxiLGMpO3JldHVybiBhfTtcbl8uRj1mdW5jdGlvbihhLGIsYyxkPSExKXtiPV8uc2IoYSxiLGMsZCk7aWYoYj09bnVsbClyZXR1cm4gYjthPWEubWE7bGV0IGU9YVtfLnZdO2lmKCEoZSYyKSl7Y29uc3QgZj1fLmRiKGIpO2YhPT1iJiYoYj1mLF8ucWIoYSxlLGMsYixkKSl9cmV0dXJuIGJ9O18uSD1mdW5jdGlvbihhLGIsYyl7Yz09bnVsbCYmKGM9dm9pZCAwKTtyZXR1cm4gXy5FYyhhLGIsYyl9O18uST1mdW5jdGlvbihhLGIpe2E9Xy5EYyhhLGIpO3JldHVybiBhPT1udWxsfHx0eXBlb2YgYT09PVwiYm9vbGVhblwiP2E6dHlwZW9mIGE9PT1cIm51bWJlclwiPyEhYTp2b2lkIDB9O18uSj1mdW5jdGlvbihhLGIpe3JldHVybiBfLlBhKF8uRGMoYSxiKSl9O18uSz1mdW5jdGlvbihhLGIsYz0hMSl7cmV0dXJuIF8udGIoXy5JKGEsYiksYyl9O18uTD1mdW5jdGlvbihhLGIpe3JldHVybiBfLnRiKF8uSihhLGIpLFwiXCIpfTtfLk09ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLkVjKGEsYixjPT1udWxsP2M6Xy5MYShjKSl9O1xuXy5OPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5FYyhhLGIsYz09bnVsbD9jOl8uTmEoYykpfTtfLk89ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLkVjKGEsYixfLk9hKGMpKX07Xy5QPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5FYyhhLGIsYz09bnVsbD9jOl8uTWEoYykpfTt2YXIgd2IsdWI7Xy5RPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLm1hPV8uVWEoYSxiLGMpfXRvSlNPTigpe3JldHVybiB4Yih0aGlzKX1HYShhKXt0cnl7cmV0dXJuIHViPSEwLGEmJih3Yj1hPT09ZmJ8fGEhPT1lYiYmYSE9PWpiJiZhIT09bWI/ZmI6YSksSlNPTi5zdHJpbmdpZnkoeGIodGhpcyksV2EpfWZpbmFsbHl7YSYmKHdiPXZvaWQgMCksdWI9ITF9fXVjKCl7cmV0dXJuIF8ueGEodGhpcy5tYSl9fTtfLlEucHJvdG90eXBlLkVkPV8uUWE7Xy5RLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3RyeXtyZXR1cm4gdWI9ITAseGIodGhpcykudG9TdHJpbmcoKX1maW5hbGx5e3ViPSExfX07Xy5GYz1TeW1ib2woKTtfLkdjPVN5bWJvbCgpO18uSGM9U3ltYm9sKCk7Xy5JYz1TeW1ib2woKTtfLkpjPVN5bWJvbCgpO3ZhciBLYz1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCl9fTtfLkxjPWNsYXNzIGV4dGVuZHMgXy5Re2NvbnN0cnVjdG9yKCl7c3VwZXIoKX1EKGEpe3JldHVybiBfLk4odGhpcywzLGEpfX07Xy5MYy5vYT1bNjddO3ZhciBNYz1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1MYyhhKXtyZXR1cm4gXy5PKHRoaXMsMjQsYSl9fTtfLk5jPWNsYXNzIGV4dGVuZHMgXy5Re2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07Xy5SPWZ1bmN0aW9uKCl7dGhpcy52YT10aGlzLnZhO3RoaXMuZWE9dGhpcy5lYX07Xy5SLnByb3RvdHlwZS52YT0hMTtfLlIucHJvdG90eXBlLmlzRGlzcG9zZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YX07Xy5SLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy52YXx8KHRoaXMudmE9ITAsdGhpcy5SKCkpfTtfLlIucHJvdG90eXBlW1N5bWJvbC5kaXNwb3NlXT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfTtfLlIucHJvdG90eXBlLlI9ZnVuY3Rpb24oKXtpZih0aGlzLmVhKWZvcig7dGhpcy5lYS5sZW5ndGg7KXRoaXMuZWEuc2hpZnQoKSgpfTt2YXIgT2M9Y2xhc3MgZXh0ZW5kcyBfLlJ7Y29uc3RydWN0b3IoKXt2YXIgYT13aW5kb3c7c3VwZXIoKTt0aGlzLm89YTt0aGlzLmk9W107dGhpcy5qPXt9fXJlc29sdmUoYSl7dmFyIGI9dGhpcy5vO2E9YS5zcGxpdChcIi5cIik7Zm9yKHZhciBjPWEubGVuZ3RoLGQ9MDtkPGM7KytkKWlmKGJbYVtkXV0pYj1iW2FbZF1dO2Vsc2UgcmV0dXJuIG51bGw7cmV0dXJuIGIgaW5zdGFuY2VvZiBGdW5jdGlvbj9iOm51bGx9Q2IoKXtmb3IodmFyIGE9dGhpcy5pLmxlbmd0aCxiPXRoaXMuaSxjPVtdLGQ9MDtkPGE7KytkKXt2YXIgZT1iW2RdLmkoKSxmPXRoaXMucmVzb2x2ZShlKTtpZihmJiZmIT10aGlzLmpbZV0pdHJ5e2JbZF0uQ2IoZil9Y2F0Y2goZyl7fWVsc2UgYy5wdXNoKGJbZF0pfXRoaXMuaT1jLmNvbmNhdChiLnNsaWNlKGEpKX19O3ZhciBRYz1jbGFzcyBleHRlbmRzIF8uUntjb25zdHJ1Y3Rvcigpe3ZhciBhPV8uUGM7c3VwZXIoKTt0aGlzLm89YTt0aGlzLkE9dGhpcy5pPW51bGw7dGhpcy52PTA7dGhpcy5CPXt9O3RoaXMuaj0hMTthPXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50O2EuaW5kZXhPZihcIk1TSUVcIik+PTAmJmEuaW5kZXhPZihcIlRyaWRlbnRcIik+PTAmJihhPS9cXGIoPzpNU0lFfHJ2KVs6IF0oW15cXCk7XSspKFxcKXw7KS8uZXhlYyhhKSkmJmFbMV0mJnBhcnNlRmxvYXQoYVsxXSk8OSYmKHRoaXMuaj0hMCl9QyhhLGIpe3RoaXMuaT1iO3RoaXMuQT1hO2IucHJldmVudERlZmF1bHQ/Yi5wcmV2ZW50RGVmYXVsdCgpOmIucmV0dXJuVmFsdWU9ITF9fTtfLlJjPWNsYXNzIGV4dGVuZHMgXy5Re2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIFNjPWNsYXNzIGV4dGVuZHMgXy5Re2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIFZjO18uVGM9ZnVuY3Rpb24oYSxiLGM9OTgsZD1uZXcgXy5MYyl7aWYoYS5pKXtjb25zdCBlPW5ldyBLYztfLk8oZSwxLGIubWVzc2FnZSk7Xy5PKGUsMixiLnN0YWNrKTtfLk4oZSwzLGIubGluZU51bWJlcik7Xy5QKGUsNSwxKTtfLkgoZCw0MCxlKTthLmkubG9nKGMsZCl9fTtWYz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3ZhciBhPVVjO3RoaXMuaT1udWxsO18uSyhhLDQsITApfWxvZyhhLGIsYz1uZXcgXy5MYyl7Xy5UYyh0aGlzLGEsOTgsYyl9fTt2YXIgV2MsWGM7V2M9ZnVuY3Rpb24oYSl7aWYoYS5vLmxlbmd0aD4wKXt2YXIgYj1hLmkhPT12b2lkIDAsYz1hLmohPT12b2lkIDA7aWYoYnx8Yyl7Yj1iP2EudjphLkE7Yz1hLm87YS5vPVtdO3RyeXtfLldiKGMsYixhKX1jYXRjaChkKXtjb25zb2xlLmVycm9yKGQpfX19fTtfLlljPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaT1hO3RoaXMuaj12b2lkIDA7dGhpcy5vPVtdfXRoZW4oYSxiLGMpe3RoaXMuby5wdXNoKG5ldyBYYyhhLGIsYykpO1djKHRoaXMpfXJlc29sdmUoYSl7aWYodGhpcy5pIT09dm9pZCAwfHx0aGlzLmohPT12b2lkIDApdGhyb3cgRXJyb3IoXCJCXCIpO3RoaXMuaT1hO1djKHRoaXMpfXJlamVjdChhKXtpZih0aGlzLmkhPT12b2lkIDB8fHRoaXMuaiE9PXZvaWQgMCl0aHJvdyBFcnJvcihcIkJcIik7dGhpcy5qPWE7V2ModGhpcyl9dihhKXthLmomJmEuai5jYWxsKGEuaSx0aGlzLmkpfUEoYSl7YS5vJiZhLm8uY2FsbChhLmksdGhpcy5qKX19O1xuWGM9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMpe3RoaXMuaj1hO3RoaXMubz1iO3RoaXMuaT1jfX07Xy5aYz1hPT57dmFyIGI9XCJyY1wiO2lmKGEucmMmJmEuaGFzT3duUHJvcGVydHkoYikpcmV0dXJuIGEucmM7Yj1uZXcgYTtyZXR1cm4gYS5yYz1ifTtfLiRjPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy52PW5ldyBfLlljO3RoaXMuaT1uZXcgXy5ZYzt0aGlzLkQ9bmV3IF8uWWM7dGhpcy5CPW5ldyBfLlljO3RoaXMuQz1uZXcgXy5ZYzt0aGlzLkE9bmV3IF8uWWM7dGhpcy5vPW5ldyBfLlljO3RoaXMuaj1uZXcgXy5ZYzt0aGlzLkY9bmV3IF8uWWN9Sygpe3JldHVybiB0aGlzLnZ9TSgpe3JldHVybiB0aGlzLml9Tigpe3JldHVybiB0aGlzLkR9TCgpe3JldHVybiB0aGlzLkJ9dmEoKXtyZXR1cm4gdGhpcy5DfWVhKCl7cmV0dXJuIHRoaXMuQX1KKCl7cmV0dXJuIHRoaXMub31HKCl7cmV0dXJuIHRoaXMuan1zdGF0aWMgaSgpe3JldHVybiBfLlpjKF8uJGMpfX07dmFyIGVkO18uYmQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy5GKF8uYWQsTWMsMSl9O18uY2Q9ZnVuY3Rpb24oKXtyZXR1cm4gXy5GKF8uYWQsXy5OYyw1KX07ZWQ9Y2xhc3MgZXh0ZW5kcyBfLlF7Y29uc3RydWN0b3IoKXtzdXBlcihkZCl9fTt2YXIgZGQ7d2luZG93LmdiYXJfJiZ3aW5kb3cuZ2Jhcl8uQ09ORklHP2RkPXdpbmRvdy5nYmFyXy5DT05GSUdbMF18fHt9OmRkPVtdO18uYWQ9bmV3IGVkO3ZhciBVYz1fLkYoXy5hZCxTYywzKXx8bmV3IFNjO18uYmQoKXx8bmV3IE1jO18uUGM9bmV3IFZjO18uQShcImdiYXJfLl9EdW1wRXhjZXB0aW9uXCIsZnVuY3Rpb24oYSl7Xy5QYz9fLlBjLmxvZyhhKTpjb25zb2xlLmVycm9yKGEpfSk7Xy5mZD1uZXcgUWM7dmFyIGhkO18uaWQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLmdkLmkoKTtpZihhIGluIGMuaSl7aWYoYy5pW2FdIT1iKXRocm93IG5ldyBoZDt9ZWxzZXtjLmlbYV09Yjtjb25zdCBoPWMualthXTtpZihoKWZvcihsZXQgaz0wLGw9aC5sZW5ndGg7azxsO2srKyl7Yj1oW2tdO3ZhciBkPWMuaTtkZWxldGUgYi5pW2FdO2lmKF8ueWIoYi5pKSl7Zm9yKHZhciBlPWIuai5sZW5ndGgsZj1BcnJheShlKSxnPTA7ZzxlO2crKylmW2ddPWRbYi5qW2ddXTtiLm8uYXBwbHkoYi52LGYpfX1kZWxldGUgYy5qW2FdfX07Xy5nZD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaT17fTt0aGlzLmo9e319c3RhdGljIGkoKXtyZXR1cm4gXy5aYyhfLmdkKX19O18uamQ9Y2xhc3MgZXh0ZW5kcyBfLmFhe2NvbnN0cnVjdG9yKCl7c3VwZXIoKX19O2hkPWNsYXNzIGV4dGVuZHMgXy5qZHt9O18uQShcImdiYXIuQVwiLF8uWWMpO18uWWMucHJvdG90eXBlLmFhPV8uWWMucHJvdG90eXBlLnRoZW47Xy5BKFwiZ2Jhci5CXCIsXy4kYyk7Xy4kYy5wcm90b3R5cGUuYmE9Xy4kYy5wcm90b3R5cGUuTTtfLiRjLnByb3RvdHlwZS5iYj1fLiRjLnByb3RvdHlwZS5OO18uJGMucHJvdG90eXBlLmJkPV8uJGMucHJvdG90eXBlLnZhO18uJGMucHJvdG90eXBlLmJmPV8uJGMucHJvdG90eXBlLks7Xy4kYy5wcm90b3R5cGUuYmc9Xy4kYy5wcm90b3R5cGUuTDtfLiRjLnByb3RvdHlwZS5iaD1fLiRjLnByb3RvdHlwZS5lYTtfLiRjLnByb3RvdHlwZS5iaj1fLiRjLnByb3RvdHlwZS5KO18uJGMucHJvdG90eXBlLmJrPV8uJGMucHJvdG90eXBlLkc7Xy5BKFwiZ2Jhci5hXCIsXy4kYy5pKCkpO3dpbmRvdy5nYmFyJiZ3aW5kb3cuZ2Jhci5hcCYmd2luZG93LmdiYXIuYXAod2luZG93LmdiYXIuYSk7dmFyIGtkPW5ldyBPYztfLmlkKFwiYXBpXCIsa2QpO1xudmFyIGxkPV8uY2QoKXx8bmV3IF8uTmMsbWQ9d2luZG93LG5kPV8ueChfLkoobGQsOCkpO21kLl9fUFZUPW5kO18uaWQoXCJlcVwiLF8uZmQpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLm9kPWNsYXNzIGV4dGVuZHMgXy5Re2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBwZD1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCl9fTt2YXIgcWQ9Y2xhc3MgZXh0ZW5kcyBfLlJ7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMuaj1bXTt0aGlzLmk9W119byhhLGIpe3RoaXMuai5wdXNoKHtmZWF0dXJlczphLG9wdGlvbnM6Yn0pfWluaXQoYSxiLGMpe3dpbmRvdy5nYXBpPXt9O3ZhciBkPXdpbmRvdy5fX19qc2w9e307ZC5oPV8ueChfLkooYSwxKSk7Xy5JKGEsMTIpIT1udWxsJiYoZC5kcG89Xy53KF8uSyhhLDEyKSkpO2QubXM9Xy54KF8uSihhLDIpKTtkLm09Xy54KF8uSihhLDMpKTtkLmw9W107Xy5MKGIsMSkmJihhPV8uSihiLDMpKSYmdGhpcy5pLnB1c2goYSk7Xy5MKGMsMSkmJihjPV8uSihjLDIpKSYmdGhpcy5pLnB1c2goYyk7Xy5BKFwiZ2FwaS5sb2FkXCIsKDAsXy56KSh0aGlzLm8sdGhpcykpO3JldHVybiB0aGlzfX07dmFyIHJkPV8uRihfLmFkLF8uUmMsMTQpO2lmKHJkKXt2YXIgc2Q9Xy5GKF8uYWQsXy5vZCw5KXx8bmV3IF8ub2QsdGQ9bmV3IHBkLHVkPW5ldyBxZDt1ZC5pbml0KHJkLHNkLHRkKTtfLmlkKFwiZ3NcIix1ZCl9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG59KSh0aGlzLmdiYXJfKTtcbi8vIEdvb2dsZSBJbmMuXG48L3NjcmlwdD48c3R5bGU+aDEsb2wsdWwsbGksYnV0dG9ue21hcmdpbjowO3BhZGRpbmc6MH1idXR0b257Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDpub25lfWJvZHl7YmFja2dyb3VuZDojZmZmfWJvZHksaW5wdXQsYnV0dG9ue2ZvbnQtc2l6ZToxNHB4O2ZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7Y29sb3I6dmFyKC0tQ09FbVkpfWF7Y29sb3I6dmFyKC0tSktxeDIpO3RleHQtZGVjb3JhdGlvbjpub25lfWE6aG92ZXIsYTphY3RpdmV7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX1hOnZpc2l0ZWR7Y29sb3I6IzY4MWRhOH1odG1sLGJvZHl7bWluLXdpZHRoOjQwMHB4fWJvZHksaHRtbHtoZWlnaHQ6MTAwJTttYXJnaW46MDtwYWRkaW5nOjB9LmdiXzlhOm5vdCguZ2JfYmQpe2ZvbnQ6MTNweC8yN3B4IFJvYm90byxBcmlhbCxzYW5zLXNlcmlmO3otaW5kZXg6OTg2fS5nYl9ye2Rpc3BsYXk6bm9uZX0uZ2JfaGEsLmdiX2Rke2ZvbnQtZmFtaWx5OlwiR29vZ2xlIFNhbnMgVGV4dFwiLFJvYm90byxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtmb250LXN0eWxlOm5vcm1hbH1hLmdiX3Zhey13ZWJraXQtYm9yZGVyLXJhZGl1czoxMDBweDtib3JkZXItcmFkaXVzOjEwMHB4O2JhY2tncm91bmQ6IzBiNTdkMDtiYWNrZ3JvdW5kOnZhcigtLWdtMy1zeXMtY29sb3ItcHJpbWFyeSwjMGI1N2QwKTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6I2ZmZjtjb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLW9uLXByaW1hcnksI2ZmZik7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO21pbi1oZWlnaHQ6NDBweDtvdXRsaW5lOm5vbmU7cGFkZGluZzoxMHB4IDI0cHg7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC1kZWNvcmF0aW9uOm5vbmU7d2hpdGUtc3BhY2U6bm9ybWFsO2xpbmUtaGVpZ2h0OjE4cHg7cG9zaXRpb246cmVsYXRpdmV9YS5nYl93YXstd2Via2l0LWJvcmRlci1yYWRpdXM6MTAwcHg7Ym9yZGVyLXJhZGl1czoxMDBweDtib3JkZXI6MXB4IHNvbGlkO2JvcmRlci1jb2xvcjojNzQ3Nzc1O2JvcmRlci1jb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLW91dGxpbmUsIzc0Nzc3NSk7YmFja2dyb3VuZDpub25lOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjojMGI1N2QwO2NvbG9yOnZhcigtLWdtMy1zeXMtY29sb3ItcHJpbWFyeSwjMGI1N2QwKTtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bWluLWhlaWdodDo0MHB4O291dGxpbmU6bm9uZTtwYWRkaW5nOjEwcHggMjRweDt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LWRlY29yYXRpb246bm9uZTt3aGl0ZS1zcGFjZTpub3JtYWw7bGluZS1oZWlnaHQ6MThweDtwb3NpdGlvbjpyZWxhdGl2ZX0uZ2JfQWEuZ2JfaSBhLmdiX3ZhLC5nYl9CYS5nYl9pIGEuZ2JfdmF7YmFja2dyb3VuZDojYThjN2ZhO2JhY2tncm91bmQ6dmFyKC0tZ20zLXN5cy1jb2xvci1wcmltYXJ5LCNhOGM3ZmEpO2NvbG9yOiMwNjJlNmY7Y29sb3I6dmFyKC0tZ20zLXN5cy1jb2xvci1vbi1wcmltYXJ5LCMwNjJlNmYpfS5nYl9DYS5nYl9pIGEuZ2JfdmF7YmFja2dyb3VuZDojYzJlN2ZmO2JhY2tncm91bmQ6dmFyKC0tZ20zLXN5cy1jb2xvci1zZWNvbmRhcnktY29udGFpbmVyLCNjMmU3ZmYpO2NvbG9yOiMwMDFkMzU7Y29sb3I6dmFyKC0tZ20zLXN5cy1jb2xvci1vbi1zZWNvbmRhcnktY29udGFpbmVyLCMwMDFkMzUpfS5nYl9oYS5nYl9pIGEuZ2Jfd2F7Y29sb3I6I2E4YzdmYTtjb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLXByaW1hcnksI2E4YzdmYSl9YS5nYl9lZHtwYWRkaW5nOjEwcHggMTJweDttYXJnaW46MTJweCAxNnB4IDEycHggMTBweDttaW4td2lkdGg6ODVweH1AbWVkaWEgKG1heC13aWR0aDo2NDBweCl7YS5nYl9lZHttaW4td2lkdGg6NzVweH19LmdiX2hhLmdiX0Fhe2NvbG9yOiMxZjFmMWY7Y29sb3I6dmFyKC0tZ20zLXN5cy1jb2xvci1vbi1zdXJmYWNlLCMxZjFmMWYpfS5nYl9oYS5nYl9BYS5nYl9mZHtiYWNrZ3JvdW5kOiNmZmY7YmFja2dyb3VuZDp2YXIoLS1nbTMtc3lzLWNvbG9yLWJhY2tncm91bmQsI2ZmZil9LmdiX2hhLmdiX0FhIC5nYl82Yy5nYl83YywuZ2JfaGEuZ2JfQWEgYS5nYl95LC5nYl9oYS5nYl9BYSBzcGFuLmdiX3ksLmdiX2hhLmdiX0FhIC5nYl84YyAuZ2JfZ2QsLmdiX2hhLmdiX0FhIC5nYl9YYyAuZ2JfZ2R7Y29sb3I6IzFmMWYxZjtjb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLW9uLXN1cmZhY2UsIzFmMWYxZil9LmdiX2hhLmdiX0FhIHN2Z3tjb2xvcjojNDQ0NzQ2O2NvbG9yOnZhcigtLWdtMy1zeXMtY29sb3Itb24tc3VyZmFjZS12YXJpYW50LCM0NDQ3NDYpfS5nYl9oYS5nYl9pLmdiX0Fhe2NvbG9yOiNlM2UzZTM7Y29sb3I6dmFyKC0tZ20zLXN5cy1jb2xvci1vbi1zdXJmYWNlLCNlM2UzZTMpfS5nYl9oYS5nYl9pLmdiX0FhLmdiX2Zke2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9LmdiX2hhLmdiX2kuZ2JfQWEgLmdiXzZjLmdiXzdjLC5nYl9oYS5nYl9pLmdiX0FhIGEuZ2JfeSwuZ2JfaGEuZ2JfaS5nYl9BYSBzcGFuLmdiX3ksLmdiX2hhLmdiX2kuZ2JfQWEgLmdiXzhjIC5nYl9nZCwuZ2JfaGEuZ2JfaS5nYl9BYSAuZ2JfWGMgLmdiX2dke2NvbG9yOiNlM2UzZTM7Y29sb3I6dmFyKC0tZ20zLXN5cy1jb2xvci1vbi1zdXJmYWNlLCNlM2UzZTMpfS5nYl9oYS5nYl9pLmdiX0FhIHN2Z3tjb2xvcjojYzRjN2M1O2NvbG9yOnZhcigtLWdtMy1zeXMtY29sb3Itb24tc3VyZmFjZS12YXJpYW50LCNjNGM3YzUpfS5nYl9oYS5nYl9pLmdiX0FhLmdiX2Zke2JhY2tncm91bmQ6IzFmMWYxZjtiYWNrZ3JvdW5kOnZhcigtLWdtMy1zeXMtY29sb3ItYmFja2dyb3VuZCwjMWYxZjFmKX0uZ2JfaGEuZ2JfQmF7Y29sb3I6IzFmMWYxZjtjb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLW9uLXN1cmZhY2UsIzFmMWYxZil9LmdiX2hhLmdiX0JhLmdiX2Zke2JhY2tncm91bmQ6I2U5ZWVmNjtiYWNrZ3JvdW5kOnZhcigtLWdtMy1zeXMtY29sb3Itc3VyZmFjZS1jb250YWluZXItaGlnaCwjZTllZWY2KX0uZ2JfaGEuZ2JfQmEgLmdiXzZjLmdiXzdjLC5nYl9oYS5nYl9CYSBhLmdiX3ksLmdiX2hhLmdiX0JhIHNwYW4uZ2JfeSwuZ2JfaGEuZ2JfQmEgLmdiXzhjIC5nYl9nZCwuZ2JfaGEuZ2JfQmEgLmdiX1hjIC5nYl9nZHtjb2xvcjojMWYxZjFmO2NvbG9yOnZhcigtLWdtMy1zeXMtY29sb3Itb24tc3VyZmFjZSwjMWYxZjFmKX0uZ2JfaGEuZ2JfQmEgc3Zne2NvbG9yOiM0NDQ3NDY7Y29sb3I6dmFyKC0tZ20zLXN5cy1jb2xvci1vbi1zdXJmYWNlLXZhcmlhbnQsIzQ0NDc0Nil9LmdiX2hhLmdiX2kuZ2JfQmF7Y29sb3I6I2UzZTNlMztjb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLW9uLXN1cmZhY2UsI2UzZTNlMyl9LmdiX2hhLmdiX2kuZ2JfQmEuZ2JfZmR7YmFja2dyb3VuZDojMjgyYTJjO2JhY2tncm91bmQ6dmFyKC0tZ20zLXN5cy1jb2xvci1zdXJmYWNlLWNvbnRhaW5lci1oaWdoLCMyODJhMmMpfS5nYl9oYS5nYl9pLmdiX0JhIC5nYl82Yy5nYl83YywuZ2JfaGEuZ2JfaS5nYl9CYSBhLmdiX3ksLmdiX2hhLmdiX2kuZ2JfQmEgc3Bhbi5nYl95LC5nYl9oYS5nYl9pLmdiX0JhIC5nYl84YyAuZ2JfZ2QsLmdiX2hhLmdiX2kuZ2JfQmEgLmdiX1hjIC5nYl9nZHtjb2xvcjojZTNlM2UzO2NvbG9yOnZhcigtLWdtMy1zeXMtY29sb3Itb24tc3VyZmFjZSwjZTNlM2UzKX0uZ2JfaGEuZ2JfaS5nYl9CYSBzdmd7Y29sb3I6I2M0YzdjNTtjb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLW9uLXN1cmZhY2UtdmFyaWFudCwjYzRjN2M1KX0uZ2JfaGEuZ2JfQ2F7Y29sb3I6IzFmMWYxZjtjb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLW9uLXN1cmZhY2UsIzFmMWYxZil9LmdiX2hhLmdiX0NhLmdiX2Zke2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9LmdiX2hhLmdiX0NhIC5nYl82Yy5nYl83YywuZ2JfaGEuZ2JfQ2EgYS5nYl95LC5nYl9oYS5nYl9DYSBzcGFuLmdiX3ksLmdiX2hhLmdiX0NhIC5nYl84YyAuZ2JfZ2QsLmdiX2hhLmdiX0NhIC5nYl9YYyAuZ2JfZ2R7Y29sb3I6IzFmMWYxZjtjb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLW9uLXN1cmZhY2UsIzFmMWYxZil9LmdiX2hhLmdiX0NhIHN2Z3tjb2xvcjojNDQ0NzQ2O2NvbG9yOnZhcigtLWdtMy1zeXMtY29sb3Itb24tc3VyZmFjZS12YXJpYW50LCM0NDQ3NDYpfS5nYl9oYS5nYl9DYS5nYl9pLmdiX2Zke2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9LmdiX2hhLmdiX0NhLmdiX2kgLmdiXzZjLmdiXzdjLC5nYl9oYS5nYl9DYS5nYl9pIGEuZ2JfeSwuZ2JfaGEuZ2JfQ2EuZ2JfaSBzcGFuLmdiX3ksLmdiX2hhLmdiX0NhLmdiX2kgLmdiXzhjIC5nYl9nZCwuZ2JfaGEuZ2JfQ2EuZ2JfaSAuZ2JfWGMgLmdiX2dkLC5nYl9oYS5nYl9DYS5nYl9pIHN2Z3tjb2xvcjp3aGl0ZTtjb2xvcjp2YXIoLS1vZy10aGVtZS1jb2xvcix3aGl0ZSl9LmdiX2hhIGEuZ2JfeSwuZ2JfaGEgc3Bhbi5nYl95e3RleHQtZGVjb3JhdGlvbjpub25lfS5nYl82Y3tmb250LWZhbWlseTpHb29nbGUgU2FucyxSb2JvdG8sSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6NDAwO2xldHRlci1zcGFjaW5nOi4yNXB4O2xpbmUtaGVpZ2h0OjQ4cHg7bWFyZ2luLWJvdHRvbToycHg7b3BhY2l0eToxO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLWxlZnQ6MTZweDtwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt0b3A6MnB4O3doaXRlLXNwYWNlOm5vd3JhcDstd2Via2l0LWZsZXg6MSAxIGF1dG87LXdlYmtpdC1ib3gtZmxleDoxO2ZsZXg6MSAxIGF1dG99LmdiX2hhLmdiX0phIC5nYl82Y3ttYXJnaW4tYm90dG9tOjB9LmdiXzhjLmdiXzljIC5nYl82Y3twYWRkaW5nLWxlZnQ6NHB4fS5nYl9oYS5nYl9KYSAuZ2JfYWR7cG9zaXRpb246cmVsYXRpdmU7dG9wOi0ycHh9LmdiX2hhe21pbi13aWR0aDoxNjBweDtwb3NpdGlvbjpyZWxhdGl2ZX0uZ2JfaGEuZ2JfUGN7bWluLXdpZHRoOjEyMHB4fS5nYl9oYS5nYl9oZCAuZ2JfaWR7ZGlzcGxheTpub25lfS5nYl9oYS5nYl9oZCAuZ2JfamR7aGVpZ2h0OjU2cHh9aGVhZGVyLmdiX2hhe2Rpc3BsYXk6YmxvY2t9LmdiX2hhIHN2Z3tmaWxsOmN1cnJlbnRDb2xvcn0uZ2Jfa2R7cG9zaXRpb246Zml4ZWQ7dG9wOjA7d2lkdGg6MTAwJX0uZ2JfbGR7LXdlYmtpdC1ib3gtc2hhZG93OjAgNHB4IDVweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpLDAgMnB4IDRweCAtMXB4IHJnYmEoMCwwLDAsLjIpO2JveC1zaGFkb3c6MCA0cHggNXB4IDAgcmdiYSgwLDAsMCwuMTQpLDAgMXB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMiksMCAycHggNHB4IC0xcHggcmdiYSgwLDAsMCwuMil9LmdiX21ke2hlaWdodDo2NHB4fS5nYl9qZHstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1wYWNrOnNwYWNlLWJldHdlZW47LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjttaW4td2lkdGg6LXdlYmtpdC1taW4tY29udGVudDttaW4td2lkdGg6bWluLWNvbnRlbnR9LmdiX2hhOm5vdCguZ2JfSmEpIC5nYl9qZHtwYWRkaW5nOjhweH0uZ2JfaGE6bm90KC5nYl9KYSkgLmdiX2pkIGEuZ2JfbmR7bWFyZ2luOjEycHggOHB4IDEycHggMTBweH0uZ2JfaGEuZ2Jfb2QgLmdiX2pkey13ZWJraXQtZmxleDoxIDAgYXV0bzstd2Via2l0LWJveC1mbGV4OjE7ZmxleDoxIDAgYXV0b30uZ2JfaGEgLmdiX2pkLmdiX3BkLmdiX3Fke21pbi13aWR0aDowfS5nYl9oYS5nYl9KYSAuZ2JfamR7cGFkZGluZzo0cHg7cGFkZGluZy1sZWZ0OjhweDttaW4td2lkdGg6MH0uZ2JfaGEuZ2JfSmEgLmdiX2pkIGEuZ2JfbmR7bWFyZ2luOjEycHggOHB4IDEycHggMTBweH0uZ2JfaWR7aGVpZ2h0OjQ4cHg7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOm5vd3JhcDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZX0uZ2Jfc2Q+LmdiX2lke2Rpc3BsYXk6dGFibGUtY2VsbDt3aWR0aDoxMDAlfS5nYl84Y3twYWRkaW5nLXJpZ2h0OjI1cHg7Ym94LXNpemluZzpib3JkZXItYm94Oy13ZWJraXQtZmxleDoxIDAgYXV0bzstd2Via2l0LWJveC1mbGV4OjE7ZmxleDoxIDAgYXV0b30uZ2JfaGEuZ2JfSmEgLmdiXzhje3BhZGRpbmctcmlnaHQ6MTRweH0uZ2JfdGR7LXdlYmtpdC1mbGV4OjEgMSAxMDAlOy13ZWJraXQtYm94LWZsZXg6MTtmbGV4OjEgMSAxMDAlfS5nYl90ZD46b25seS1jaGlsZHtkaXNwbGF5OmlubGluZS1ibG9ja30uZ2JfdWQuZ2JfWmN7cGFkZGluZy1sZWZ0OjRweH0uZ2JfdWQuZ2JfdmQsLmdiX2hhLmdiX29kIC5nYl91ZCwuZ2JfaGEuZ2JfSmE6bm90KC5nYl9kZCkgLmdiX3Vke3BhZGRpbmctbGVmdDowfS5nYl9oYS5nYl9KYSAuZ2JfdWQuZ2JfdmR7cGFkZGluZy1yaWdodDowfS5nYl9oYS5nYl9KYSAuZ2JfdWQuZ2JfdmQgLmdiX3hhe21hcmdpbi1sZWZ0OjEwcHh9LmdiX1pje2Rpc3BsYXk6aW5saW5lfS5nYl9oYS5nYl9TYyAuZ2JfdWQuZ2Jfd2QsLmdiX2hhLmdiX2RkIC5nYl91ZC5nYl93ZHtwYWRkaW5nLWxlZnQ6MnB4fS5nYl82Y3tkaXNwbGF5OmlubGluZS1ibG9ja30uZ2JfdWR7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2hlaWdodDo0OHB4O3BhZGRpbmc6MCA0cHg7cGFkZGluZy1sZWZ0OjVweDstd2Via2l0LWZsZXg6MCAwIGF1dG87LXdlYmtpdC1ib3gtZmxleDowO2ZsZXg6MCAwIGF1dG87LXdlYmtpdC1ib3gtcGFjazpmbGV4LWVuZDstd2Via2l0LWp1c3RpZnktY29udGVudDpmbGV4LWVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LmdiX2Rke2hlaWdodDo0OHB4fS5nYl9oYS5nYl9kZHttaW4td2lkdGg6YXV0b30uZ2JfZGQgLmdiX3Vke2Zsb2F0OnJpZ2h0O3BhZGRpbmctbGVmdDozMnB4O3BhZGRpbmctbGVmdDp2YXIoLS1vZy1iYXItcGFydHMtc2lkZS1wYWRkaW5nLDMycHgpfS5nYl9kZCAuZ2JfdWQuZ2JfeGR7cGFkZGluZy1sZWZ0OjB9LmdiX3lke2ZvbnQtc2l6ZToxNHB4O21heC13aWR0aDoyMDBweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowIDEycHg7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7LXdlYmtpdC11c2VyLXNlbGVjdDp0ZXh0fS5nYl9NYyBhe2NvbG9yOmluaGVyaXR9LmdiXzdje3RleHQtcmVuZGVyaW5nOm9wdGltaXplTGVnaWJpbGl0eTstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkO29wYWNpdHk6MX0uZ2JfemR7cG9zaXRpb246cmVsYXRpdmV9LmdiX297Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjtsaW5lLWhlaWdodDpub3JtYWw7cGFkZGluZy1yaWdodDoxNXB4fS5nYl96e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmctbGVmdDoxNXB4fS5nYl96IC5nYl95e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2xpbmUtaGVpZ2h0OjI0cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nYl9BZHt0ZXh0LWFsaWduOmxlZnR9LmdiX2x7ZGlzcGxheTpub25lfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MzE5cHgpey5nYl9qZDpub3QoLmdiX3BkKSAuZ2Jfa3tkaXNwbGF5Om5vbmU7dmlzaWJpbGl0eTpoaWRkZW59fS5nYl9rIC5nYl9kLC5nYl9rIC5nYl9kOmhvdmVyLC5nYl9rIC5nYl9kOmZvY3Vze29wYWNpdHk6MX0uZ2JfbntkaXNwbGF5Om5vbmV9LmdiX217ZGlzcGxheTpub25lIWltcG9ydGFudH0uZ2JfVGF7dmlzaWJpbGl0eTpoaWRkZW59QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDozMTlweCl7LmdiX2pkOm5vdCguZ2JfcGQpIC5nYl9re2Rpc3BsYXk6bm9uZTt2aXNpYmlsaXR5OmhpZGRlbn19LmdiX0Zke2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZ2JfSWQgLmdiX3J7Ym90dG9tOi0zcHg7cmlnaHQ6LTVweH0uZ2JfZntwb3NpdGlvbjpyZWxhdGl2ZX0uZ2JfZHtkaXNwbGF5OmlubGluZS1ibG9jaztvdXRsaW5lOm5vbmU7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtYm9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyLXJhZGl1czo1MCU7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2hlaWdodDo0MHB4O3dpZHRoOjQwcHg7Y3Vyc29yOnBvaW50ZXI7dGV4dC1kZWNvcmF0aW9uOm5vbmV9I2diI2diIGEuZ2JfZHtjdXJzb3I6cG9pbnRlcjt0ZXh0LWRlY29yYXRpb246bm9uZX0uZ2JfZCxhLmdiX2R7Y29sb3I6IzAwMH14Oi1vLXByZWZvY3Vze2JvcmRlci1ib3R0b20tY29sb3I6I2NjY30uZ2JfV3tiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4yKTtjb2xvcjojMDAwOy13ZWJraXQtYm94LXNoYWRvdzowIDJweCAxMHB4IHJnYmEoMCwwLDAsLjIpO2JveC1zaGFkb3c6MCAycHggMTBweCByZ2JhKDAsMCwwLC4yKTtkaXNwbGF5Om5vbmU7b3V0bGluZTpub25lO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDo1NHB4Oy13ZWJraXQtYW5pbWF0aW9uOmdiX19hIC4yczstd2Via2l0LWFuaW1hdGlvbjpnYl9fYSAuMnM7YW5pbWF0aW9uOmdiX19hIC4yczstd2Via2l0LWJvcmRlci1yYWRpdXM6MnB4O2JvcmRlci1yYWRpdXM6MnB4Oy13ZWJraXQtdXNlci1zZWxlY3Q6dGV4dH0uZ2JfRmQuZ2JfRWEgLmdiX1csLmdiX0VhLmdiX1d7ZGlzcGxheTpibG9ja30uZ2JfSmR7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6NTRweDt6LWluZGV4Oi0xfS5nYl8wYSAuZ2JfV3ttYXJnaW4tdG9wOi0xMHB4fS5nYl9GZDpmaXJzdC1jaGlsZHtwYWRkaW5nLWxlZnQ6NHB4fS5nYl9oYS5nYl9LZCAuZ2JfRmQ6Zmlyc3QtY2hpbGR7cGFkZGluZy1sZWZ0OjB9LmdiX0xke3Bvc2l0aW9uOnJlbGF0aXZlfS5nYl9YYyAuZ2JfTGQsLmdiX2RkIC5nYl9MZHtmbG9hdDpyaWdodH0uZ2JfZHtwYWRkaW5nOjhweDtjdXJzb3I6cG9pbnRlcn0uZ2JfTWQgYnV0dG9uIHN2ZywuZ2JfZHstd2Via2l0LWJvcmRlci1yYWRpdXM6NTAlO2JvcmRlci1yYWRpdXM6NTAlfS5nYl9GZHtwYWRkaW5nOjRweH0uZ2JfaGEuZ2JfS2QgLmdiX0Zke3BhZGRpbmc6NHB4IDJweH0uZ2JfaGEuZ2JfS2QgLmdiX2IuZ2JfRmR7cGFkZGluZy1sZWZ0OjZweH0uZ2JfV3t6LWluZGV4Ojk5MTtsaW5lLWhlaWdodDpub3JtYWx9LmdiX1cuZ2JfTmR7bGVmdDowO3JpZ2h0OmF1dG99QG1lZGlhIChtYXgtd2lkdGg6MzUwcHgpey5nYl9XLmdiX05ke2xlZnQ6MH19LmdiX09kIC5nYl9Xe3RvcDo1NnB4fS5nYl9xey13ZWJraXQtYmFja2dyb3VuZC1zaXplOjMycHggMzJweDtiYWNrZ3JvdW5kLXNpemU6MzJweCAzMnB4O2JvcmRlcjowOy13ZWJraXQtYm9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyLXJhZGl1czo1MCU7ZGlzcGxheTpibG9jazttYXJnaW46MHB4O3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDozMnB4O3dpZHRoOjMycHg7ei1pbmRleDowfS5nYl9VYXtiYWNrZ3JvdW5kLWNvbG9yOiNlOGYwZmU7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDMyLDMzLDM2LC4wOCk7cG9zaXRpb246cmVsYXRpdmV9LmdiX1VhLmdiX3F7aGVpZ2h0OjMwcHg7d2lkdGg6MzBweH0uZ2JfVWEuZ2JfcTpob3ZlciwuZ2JfVWEuZ2JfcTphY3RpdmV7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lfS5nYl9WYXtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOm5vbmU7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjUwJTtib3JkZXItcmFkaXVzOjUwJTtib3R0b206MnB4Oy13ZWJraXQtYm94LXNoYWRvdzowcHggMXB4IDJweCAwcHggcmdiYSg2MCw2NCw2NywuMzApLDBweCAxcHggM3B4IDFweCByZ2JhKDYwLDY0LDY3LC4xNSk7Ym94LXNoYWRvdzowcHggMXB4IDJweCAwcHggcmdiYSg2MCw2NCw2NywuMzApLDBweCAxcHggM3B4IDFweCByZ2JhKDYwLDY0LDY3LC4xNSk7aGVpZ2h0OjE0cHg7bWFyZ2luOjJweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3dpZHRoOjE0cHh9LmdiX1dhe2NvbG9yOiMxZjcxZTc7Zm9udDo0MDAgMjJweC8zMnB4IEdvb2dsZSBTYW5zLFJvYm90byxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9QG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MS4yNSksKG1pbi1yZXNvbHV0aW9uOjEuMjVkcHB4KSwobWluLWRldmljZS1waXhlbC1yYXRpbzoxLjI1KXsuZ2JfcTo6YmVmb3JlLC5nYl9YYTo6YmVmb3Jle2Rpc3BsYXk6aW5saW5lLWJsb2NrOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDAuNSk7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMC41KTt0cmFuc2Zvcm06c2NhbGUoMC41KTstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46bGVmdCAwOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpsZWZ0IDA7dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IDB9LmdiX0QgLmdiX1hhOjpiZWZvcmV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoc2NhbGUoMC40MTY2NjY2NjcpKTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZShzY2FsZSgwLjQxNjY2NjY2NykpO3RyYW5zZm9ybTpzY2FsZShzY2FsZSgwLjQxNjY2NjY2NykpfX0uZ2JfcTpob3ZlciwuZ2JfcTpmb2N1c3std2Via2l0LWJveC1zaGFkb3c6MCAxcHggMCByZ2JhKDAsMCwwLC4xNSk7Ym94LXNoYWRvdzowIDFweCAwIHJnYmEoMCwwLDAsLjE1KX0uZ2JfcTphY3RpdmV7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMnB4IDAgcmdiYSgwLDAsMCwuMTUpO2JveC1zaGFkb3c6aW5zZXQgMCAycHggMCByZ2JhKDAsMCwwLC4xNSl9LmdiX3E6YWN0aXZlOjphZnRlcntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjEpOy13ZWJraXQtYm9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyLXJhZGl1czo1MCU7Y29udGVudDpcIlwiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCV9LmdiX1phe2N1cnNvcjpwb2ludGVyO2xpbmUtaGVpZ2h0OjQwcHg7bWluLXdpZHRoOjMwcHg7b3BhY2l0eTouNzU7b3ZlcmZsb3c6aGlkZGVuO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5nYl9kLmdiX1phe3dpZHRoOmF1dG99LmdiX1phOmhvdmVyLC5nYl9aYTpmb2N1c3tvcGFjaXR5Oi44NX0uZ2JfMGEgLmdiX1phLC5nYl8wYSAuZ2JfMWF7bGluZS1oZWlnaHQ6MjZweH0jZ2IjZ2IuZ2JfMGEgYS5nYl9aYSwuZ2JfMGEgLmdiXzFhe2ZvbnQtc2l6ZToxMXB4O2hlaWdodDphdXRvfS5nYl8yYXtib3JkZXItdG9wOjRweCBzb2xpZCAjMDAwO2JvcmRlci1sZWZ0OjRweCBkYXNoZWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjRweCBkYXNoZWQgdHJhbnNwYXJlbnQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWxlZnQ6NnB4O29wYWNpdHk6Ljc1O3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZ2JfemE6aG92ZXIgLmdiXzJhe29wYWNpdHk6Ljg1fS5nYl94YT4uZ2JfYntwYWRkaW5nOjNweCAzcHggM3B4IDRweH0uZ2JfM2EuZ2JfVGF7Y29sb3I6I2ZmZn0uZ2JfQiAuZ2JfWmEsLmdiX0IgLmdiXzJhe29wYWNpdHk6MX0jZ2IjZ2IuZ2JfQi5nYl9CIGEuZ2JfWmEsI2diI2diIC5nYl9CLmdiX0IgYS5nYl9aYXtjb2xvcjojZmZmfS5nYl9CLmdiX0IgLmdiXzJhe2JvcmRlci10b3AtY29sb3I6I2ZmZjtvcGFjaXR5OjF9LmdiX1YgLmdiX3E6aG92ZXIsLmdiX0IgLmdiX3E6aG92ZXIsLmdiX1YgLmdiX3E6Zm9jdXMsLmdiX0IgLmdiX3E6Zm9jdXN7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwuMTUpLDAgMXB4IDJweCByZ2JhKDAsMCwwLC4yKTtib3gtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwuMTUpLDAgMXB4IDJweCByZ2JhKDAsMCwwLC4yKX0uZ2JfNGEgLmdiX2IsLmdiXzVhIC5nYl9ie3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjFweH0uZ2JfYi5nYl9BLC5nYl82YS5nYl9BLC5nYl96YS5nYl9Bey13ZWJraXQtZmxleDowIDEgYXV0bzstd2Via2l0LWJveC1mbGV4OjA7ZmxleDowIDEgYXV0b30uZ2JfN2EuZ2JfOGEgLmdiX1phe3dpZHRoOjMwcHghaW1wb3J0YW50fS5nYl9we2hlaWdodDo0MHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0Oi01cHg7dG9wOi01cHg7d2lkdGg6NDBweH0uZ2JfOWEgLmdiX3AsLmdiX2FiIC5nYl9we3JpZ2h0OjA7dG9wOjB9LmdiX2IgLmdiX2R7cGFkZGluZzo0cHh9LmdiX3N7ZGlzcGxheTpub25lfS5nYl96YTpub3QoLmdiX25kKXtwb3NpdGlvbjpyZWxhdGl2ZX0uZ2JfemE6bm90KC5nYl9uZCk6OmFmdGVye2NvbnRlbnQ6XCJcIjtib3JkZXI6MXB4IHNvbGlkICMyMDIxMjQ7b3BhY2l0eTouMTM7cG9zaXRpb246YWJzb2x1dGU7dG9wOjRweDtsZWZ0OjRweDstd2Via2l0LWJvcmRlci1yYWRpdXM6NTAlO2JvcmRlci1yYWRpdXM6NTAlO3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHh9LmdiX3hhey13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6NDhweDtvdmVyZmxvdzpoaWRkZW47b3V0bGluZTpub25lO3BhZGRpbmc6N3B4IDAgMCAxNnB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDoxNDJweDstd2Via2l0LWJvcmRlci1yYWRpdXM6MjhweDtib3JkZXItcmFkaXVzOjI4cHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkO3Bvc2l0aW9uOnJlbGF0aXZlfS5nYl94YSAuZ2JfemF7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtwYWRkaW5nOjB9LmdiX0FhIC5nYl94YSwuZ2JfQmEgLmdiX3hhe2JvcmRlci1jb2xvcjojNzQ3Nzc1O2JvcmRlci1jb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLW91dGxpbmUsIzc0Nzc3NSl9LmdiX0FhLmdiX2kgLmdiX3hhLC5nYl9CYS5nYl9pIC5nYl94YXtib3JkZXItY29sb3I6IzhlOTE4Zjtib3JkZXItY29sb3I6dmFyKC0tZ20zLXN5cy1jb2xvci1vdXRsaW5lLCM4ZTkxOGYpfS5nYl9DYSAuZ2JfeGF7Ym9yZGVyLWNvbG9yOiM3NDc3NzU7Ym9yZGVyLWNvbG9yOnZhcigtLWdtMy1zeXMtY29sb3Itb3V0bGluZSwjNzQ3Nzc1KX0uZ2JfQ2EuZ2JfaSAuZ2JfeGF7Ym9yZGVyLWNvbG9yOiNlM2UzZTM7Ym9yZGVyLWNvbG9yOnZhcigtLWdtMy1zeXMtY29sb3Itb24tc3VyZmFjZSwjZTNlM2UzKX0uZ2JfRGF7ZGlzcGxheTppbmhlcml0fS5nYl94YSAuZ2JfRGF7YmFja2dyb3VuZDojZmZmOy13ZWJraXQtYm9yZGVyLXJhZGl1czo2cHg7Ym9yZGVyLXJhZGl1czo2cHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7bGVmdDoxNXB4O21hcmdpbi1yaWdodDo1cHg7cG9zaXRpb246aW5pdGlhbDtwYWRkaW5nOjJweDt0b3A6LTFweDtoZWlnaHQ6MzJweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6NzhweH0uZ2JfRmF7dGV4dC1hbGlnbjpjZW50ZXJ9LmdiX0ZhLmdiX0hhe2JhY2tncm91bmQtY29sb3I6I2YxZjNmNH0uZ2JfRmEgLmdiX0lhe3ZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXgtaGVpZ2h0OjI4cHg7bWF4LXdpZHRoOjc0cHh9LmdiX2hhIC5nYl94YSAuZ2JfYi5nYl9GZHtwYWRkaW5nOjA7bWFyZ2luLXJpZ2h0OjlweDtmbG9hdDpyaWdodH0uZ2JfaGE6bm90KC5nYl9KYSkgLmdiX3hhe21hcmdpbi1sZWZ0OjEwcHg7bWFyZ2luLXJpZ2h0OjRweH1zZW50aW5lbHt9OnJvb3R7LS1DT0VtWTojMWYxZjFmOy0teGhVR3djOiNmZmZ9OnJvb3R7LS12WmUwamI6I2E4YzdmYTstLW53WG9iYjojNjM4ZWQ0Oy0tVnVaWEJkOiMwMDFkMzU7LS11THozN2M6IzU0NWQ3ZTstLWpJTnU2YzojMDAxZDM1Oy0tVHlWWWxkOiMwYjU3ZDA7LS1aRXBQbWQ6I2MzZDlmYjstLVFXYWFhZjojNjM4ZWQ0Oy0tREVlU3RmOiNmNWY4ZmY7LS1UU1daSWI6I2U1ZWRmZjstLUJSTHdFOiNkM2UzZmQ7LS1nUzVqWGI6I2RhZGNlMDstLUFxbjd4ZDojZDJkMmQyOy0tRXBGTlc6I2ZmZjstLUlYb3hVZTojNWU1ZTVlOy0tYmJReEFiOiM0NzQ3NDc7LS1ZTE5OSGM6IzFmMWYxZjstLVRNWVM5OiMwYjU3ZDA7LS1KS3F4MjojMWEwZGFiOy0tcnJKSlVjOiMwYjU3ZDA7LS1tWFprcWM6I2QyZDJkMjstLU5zbTBjZTojMGI1N2QwOy0tWEtNRHhjOiNmN2Y4Zjk7LS1hWW4yUzojZWNlZGVlOy0tTG01NzBiOiNlY2VkZWV9LklpT1NMYiAucnNHeEkuV3c0RkZiLC5XdzRGRmJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS14aFVHd2MpO2JvcmRlci1yYWRpdXM6MHB4O2JvcmRlci13aWR0aDowfS5JaU9TTGIgLnJzR3hJLld3NEZGYiwuV3c0RkZie2JveC1zaGFkb3c6bm9uZX0uV3c0RkZiIC5tbnItYzpub3QoOmVtcHR5KSwubW5yLWM6bm90KDplbXB0eSkgLld3NEZGYiwuV3c0RkZiIC5XdzRGRmJ7Ym94LXNoYWRvdzpub25lO21hcmdpbi1ib3R0b206MHB4fS52dDZhemR7bWFyZ2luOjBweCAwcHggOHB4fS52dDZhemR7bWFyZ2luOjBweCAwcHggMzBweH0uQ0J2dnp7bWFyZ2luOi12YXIoLS1zZHMtc3lzLW1lYXN1cmVtZW50LS1zcGFjZS1zbSkgMHB4IDBweH0uQ0J2dnp7bWFyZ2luOi0zMHB4IDBweCAwcHh9LmpiQkl0ZntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS5EVTBOSntib3R0b206MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0ubFAzSm9me2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS5uTk11T2R7YW5pbWF0aW9uOnFsaS1jb250YWluZXItcm90YXRlIDE1NjguMjM1Mjk0MTE3Nm1zIGxpbmVhciBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHFsaS1jb250YWluZXItcm90YXRle2Zyb217dHJhbnNmb3JtOnJvdGF0ZSgwKX10b3t0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19LlJvS21oYntoZWlnaHQ6MTAwJTtvcGFjaXR5OjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJX0ubk5NdU9kIC5WUWRlYWJ7YW5pbWF0aW9uOnFsaS1maWxsLXVuZmlsbC1yb3RhdGUgNTMzMm1zIGN1YmljLWJlemllcigwLjQsMCwwLjIsMSkgaW5maW5pdGUgYm90aCxxbGktYmx1ZS1mYWRlLWluLW91dCA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwwLDAuMiwxKSBpbmZpbml0ZSBib3RofS5uTk11T2QgLklFcWlBZnthbmltYXRpb246cWxpLWZpbGwtdW5maWxsLXJvdGF0ZSA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwwLDAuMiwxKSBpbmZpbml0ZSBib3RoLHFsaS1yZWQtZmFkZS1pbi1vdXQgNTMzMm1zIGN1YmljLWJlemllcigwLjQsMCwwLjIsMSkgaW5maW5pdGUgYm90aH0ubk5NdU9kIC5zbW9jc2V7YW5pbWF0aW9uOnFsaS1maWxsLXVuZmlsbC1yb3RhdGUgNTMzMm1zIGN1YmljLWJlemllcigwLjQsMCwwLjIsMSkgaW5maW5pdGUgYm90aCxxbGkteWVsbG93LWZhZGUtaW4tb3V0IDUzMzJtcyBjdWJpYy1iZXppZXIoMC40LDAsMC4yLDEpIGluZmluaXRlIGJvdGh9Lm5OTXVPZCAuRmxLYkNle2FuaW1hdGlvbjpxbGktZmlsbC11bmZpbGwtcm90YXRlIDUzMzJtcyBjdWJpYy1iZXppZXIoMC40LDAsMC4yLDEpIGluZmluaXRlIGJvdGgscWxpLWdyZWVuLWZhZGUtaW4tb3V0IDUzMzJtcyBjdWJpYy1iZXppZXIoMC40LDAsMC4yLDEpIGluZmluaXRlIGJvdGh9LkJTbkxiIC5uTk11T2QgLlJvS21oYnthbmltYXRpb246cWxpLWZpbGwtdW5maWxsLXJvdGF0ZSA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwwLDAuMiwxKSBpbmZpbml0ZSBib3RoO29wYWNpdHk6MC45OX1Aa2V5ZnJhbWVzIHFsaS1maWxsLXVuZmlsbC1yb3RhdGV7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwKX0xMi41JXt0cmFuc2Zvcm06cm90YXRlKDEzNWRlZyl9MjUle3RyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKX0zNy41JXt0cmFuc2Zvcm06cm90YXRlKDQwNWRlZyl9NTAle3RyYW5zZm9ybTpyb3RhdGUoNTQwZGVnKX02Mi41JXt0cmFuc2Zvcm06cm90YXRlKDY3NWRlZyl9NzUle3RyYW5zZm9ybTpyb3RhdGUoODEwZGVnKX04Ny41JXt0cmFuc2Zvcm06cm90YXRlKDk0NWRlZyl9MTAwJXt0cmFuc2Zvcm06cm90YXRlKDN0dXJuKX19QGtleWZyYW1lcyBxbGktYmx1ZS1mYWRlLWluLW91dHswJXtvcGFjaXR5OjAuOTl9MjUle29wYWNpdHk6MC45OX0yNiV7b3BhY2l0eTowfTg5JXtvcGFjaXR5OjB9OTAle29wYWNpdHk6MC45OX0xMDAle29wYWNpdHk6MC45OX19QGtleWZyYW1lcyBxbGktcmVkLWZhZGUtaW4tb3V0ezAle29wYWNpdHk6MH0xNSV7b3BhY2l0eTowfTI1JXtvcGFjaXR5OjAuOTl9NTAle29wYWNpdHk6MC45OX01MSV7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHFsaS15ZWxsb3ctZmFkZS1pbi1vdXR7MCV7b3BhY2l0eTowfTQwJXtvcGFjaXR5OjB9NTAle29wYWNpdHk6MC45OX03NSV7b3BhY2l0eTowLjk5fTc2JXtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgcWxpLWdyZWVuLWZhZGUtaW4tb3V0ezAle29wYWNpdHk6MH02NSV7b3BhY2l0eTowfTc1JXtvcGFjaXR5OjAuOTl9OTAle29wYWNpdHk6MC45OX0xMDAle29wYWNpdHk6MH19LmJlRFFQe2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDo1MCV9LkZjWGZpe2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6MTAwJTtsZWZ0OjQ1JTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAlfS5TUEtGbWN7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyOjNweCBzb2xpZCB0cmFuc3BhcmVudDtib3gtc2l6aW5nOmJvcmRlci1ib3h9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSksKHByZWZlcnMtY29udHJhc3Q6bW9yZSl7LmJlRFFQOmxhc3QtY2hpbGQgLlNQS0ZtY3tib3JkZXI6bm9uZX19LngzU2RYZHt3aWR0aDoyMDAlfS5KN3V1VWV7dHJhbnNmb3JtOnJvdGF0ZSgxMjlkZWcpfS5zRFBJQ3tsZWZ0Oi0xMDAlO3RyYW5zZm9ybTpyb3RhdGUoLTEyOWRlZyl9LnRTM1A1e2xlZnQ6LTQ1MCU7d2lkdGg6MTAwMCV9LlZRZGVhYiAuU1BLRm1je2JvcmRlci1jb2xvcjojNDI4NWY0fS5JRXFpQWYgLlNQS0ZtY3tib3JkZXItY29sb3I6I2VhNDMzNX0uc21vY3NlIC5TUEtGbWN7Ym9yZGVyLWNvbG9yOiNmYmJjMDR9LkZsS2JDZSAuU1BLRm1je2JvcmRlci1jb2xvcjojMzRhODUzfS5Sb0ttaGIgLko3dXVVZXtib3JkZXItYm90dG9tLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1yaWdodC1jb2xvcjp0cmFuc3BhcmVudH0uUm9LbWhiIC5zRFBJQ3tib3JkZXItYm90dG9tLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1sZWZ0LWNvbG9yOnRyYW5zcGFyZW50fS5Sb0ttaGIgLnRTM1A1e2JvcmRlci1ib3R0b20tY29sb3I6dHJhbnNwYXJlbnR9LkdnVEpXZSAubk5NdU9kIC5KN3V1VWV7YW5pbWF0aW9uOnFsaS1sZWZ0LXNwaW4gMTMzM21zIGN1YmljLWJlemllcigwLjQsMCwwLjIsMSkgaW5maW5pdGUgYm90aH0uR2dUSldlIC5uTk11T2QgLnNEUElDe2FuaW1hdGlvbjpxbGktcmlnaHQtc3BpbiAxMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwwLDAuMiwxKSBpbmZpbml0ZSBib3RofS5CU25MYiAubk5NdU9kIC5KN3V1VWV7YW5pbWF0aW9uOnFsaS1sZWZ0LXNwaW4gMTMzM21zIGN1YmljLWJlemllcigwLjQsMCwwLjIsMSkgaW5maW5pdGUgYm90aDtib3JkZXItbGVmdC1jb2xvcjp2YXIoLS1FcEZOVyk7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1FcEZOVyl9LkJTbkxiIC5uTk11T2QgLnNEUElDe2FuaW1hdGlvbjpxbGktcmlnaHQtc3BpbiAxMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwwLDAuMiwxKSBpbmZpbml0ZSBib3RoO2JvcmRlci1yaWdodC1jb2xvcjp2YXIoLS1FcEZOVyk7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1FcEZOVyl9LkJTbkxiIC5uTk11T2QgLnRTM1A1e2JvcmRlci1jb2xvcjp2YXIoLS1FcEZOVyk7Ym9yZGVyLWJvdHRvbS1jb2xvcjp0cmFuc3BhcmVudH1Aa2V5ZnJhbWVzIHFsaS1sZWZ0LXNwaW57MCV7dHJhbnNmb3JtOnJvdGF0ZSgxMzBkZWcpfTUwJXt0cmFuc2Zvcm06cm90YXRlKC01ZGVnKX0xMDAle3RyYW5zZm9ybTpyb3RhdGUoMTMwZGVnKX19QGtleWZyYW1lcyBxbGktcmlnaHQtc3BpbnswJXt0cmFuc2Zvcm06cm90YXRlKC0xMzBkZWcpfTUwJXt0cmFuc2Zvcm06cm90YXRlKDVkZWcpfTEwMCV7dHJhbnNmb3JtOnJvdGF0ZSgtMTMwZGVnKX19Lk9oU2NpY3ttYXJnaW46MHB4fS56c1lNTWV7cGFkZGluZzowcHh9LmJOZzhSYntjbGlwOnJlY3QoMXB4LDFweCwxcHgsMXB4KTtoZWlnaHQ6MXB4O292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MXB4O3otaW5kZXg6LTEwMDA7dXNlci1zZWxlY3Q6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lfS5UQkM5dWJ7bWFyZ2luLWxlZnQ6MHB4O21hcmdpbi1yaWdodDowcHh9Lk9aNWJSZHttYXJnaW4tYm90dG9tOmF1dG87bWFyZ2luLXRvcDphdXRvfS53Z2JSTmJ7Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OjcycHg7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazt2aXNpYmlsaXR5OmluaGVyaXQ7d2lkdGg6MzZweDtib3R0b206MDtvcGFjaXR5Oi44O3RvcDowO3otaW5kZXg6MTAxfS53Z2JSTmIudEhUMGx7dHJhbnNpdGlvbjpvcGFjaXR5IC41cyx2aXNpYmlsaXR5IC41c30ud2diUk5iOmhvdmVye29wYWNpdHk6Ljl9LndnYlJOYi5wUVhjSGMsLndnYlJOYi5wUVhjSGM6aG92ZXJ7Y3Vyc29yOmRlZmF1bHQ7b3BhY2l0eTowO3Zpc2liaWxpdHk6aGlkZGVufS5iNUs5emR7Ym90dG9tOjA7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZSFpbXBvcnRhbnQ7dG9wOjB9LndnYlJOYi5FTkpIUGQ6aG92ZXIgZy1mYWJ7Y29sb3I6IzIwMjEyNCFpbXBvcnRhbnR9LmJDd2xJLkVOSkhQZCBnLWZhYiwuVmRlaEJmLkVOSkhQZCBnLWZhYntib3gtc2hhZG93OjAgN3B4IDE1cHggcmdiYSgwLDAsMCwwLjIpfS53Z2JSTmIuRU5KSFBke2hlaWdodDo1MHB4O3dpZHRoOjUwcHg7b3BhY2l0eToxfS53Z2JSTmIuRU5KSFBkLnBRWGNIYywud2diUk5iLkVOSkhQZC5wUVhjSGM6aG92ZXJ7b3BhY2l0eTowfS5iQ3dsSS5FTkpIUGQgZy1mYWIsLlZkZWhCZi5FTkpIUGQgZy1mYWJ7Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OjUwcHg7d2lkdGg6NTBweH0uYkN3bEkuRU5KSFBke2xlZnQ6LTI1cHh9LlZkZWhCZi5FTkpIUGR7cmlnaHQ6LTI1cHh9LndnYlJOYi5IRWVBcWU6aG92ZXIgZy1mYWJ7Y29sb3I6IzIwMjEyNCFpbXBvcnRhbnR9LndnYlJOYi5IRWVBcWV7aGVpZ2h0OjQ4cHg7d2lkdGg6NDhweDtvcGFjaXR5Oi45fS53Z2JSTmIuSEVlQXFlOmhvdmVye29wYWNpdHk6MX0ud2diUk5iLkhFZUFxZS5wUVhjSGMsLndnYlJOYi5IRWVBcWUucFFYY0hjOmhvdmVye29wYWNpdHk6MH0uYkN3bEkuSEVlQXFlIGctZmFiLC5WZGVoQmYuSEVlQXFlIGctZmFie2JveC1zaGFkb3c6MCA3cHggMTVweCByZ2JhKDAsMCwwLDAuMik7Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OjQ4cHg7d2lkdGg6NDhweH0uYkN3bEkuSEVlQXFle2xlZnQ6MjBweH0uVmRlaEJmLkhFZUFxZXtyaWdodDoyMHB4fS53Z2JSTmIuVFZnRlZiOmhvdmVyIGctZmFie2NvbG9yOiMyMDIxMjQhaW1wb3J0YW50fS53Z2JSTmIuVFZnRlZie2hlaWdodDo0MHB4O3dpZHRoOjQwcHh9LmJDd2xJLlRWZ0ZWYiBnLWZhYiwuVmRlaEJmLlRWZ0ZWYiBnLWZhYntib3gtc2hhZG93OjAgNHB4IDRweCByZ2JhKDAsMCwwLDAuMyksMCAwIDRweCByZ2JhKDAsMCwwLDAuMik7Y3Vyc29yOnBvaW50ZXJ9LmJDd2xJLlRWZ0ZWYntsZWZ0Oi01OHB4fS5WZGVoQmYuVFZnRlZie3JpZ2h0Oi01OHB4fS5iQ3dsSS5ZemUyNmQgLnZXdG1LZiwuVmRlaEJmLll6ZTI2ZCAuUEZZNG97YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBd0FBQUF1Q0FZQUFBQWNFZmphQUFBQlYwbEVRVlJJeCsyVnNXN0NRQkJFRHdUcElrWElDTXV5SmR0ZlFzR1hRVVZGbFNwVm1qVEVTT240QkFvWExpZ3N1ZUF2YU0yTUJBaHQ3ZzZ2MDZaWXdOSzg4OTNlekdMYXRqVjVuaTlRTzJQTUM1OTlaZEkwbldkWmRnYlE0dnNIME5nTFFMU24rRlo0L2dZMGNnSkJFTHhDZEhpRVVGK0FobGFBSDlqV0cwU2xlTk9uRGJyL2lPTjRBbEVsb0E5QUF5dkFpcUlvZ1BBb29IY253SUpnaHFyRm1UWk9nSlVrU1FSUkk2QzFFN2h1TDhHYlRtSjdLeTJ3L1B1V1ZJY093M0RhdWEycWkxTlpRMjAraTcyM1hudXJBL1FRMGFKVFJKOEovb0V1QUZ2TnFjaldQd1Y0aWJ6TTY2V2VlY2srOFloVFVOaG03eElQYVVBaFB0Q29Wakd0TGR4Yk1nSy96c0N3TURSaTVZcmhzbmFKY1JRckh6a05yVzFsME1YS05RZUN5OTVyc1hMRFVlTkszRXFzZk9JUTgvMERMVldBZWt1OUR1MXJLNmVoRTFCZm5Ob2F2Y3duN0wzdFpPOWVBUklSTFc0UnZRQTArNkROd1RIVzZRQUFBQUJKUlU1RXJrSmdnZz09KTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7aGVpZ2h0OjIwcHg7b3BhY2l0eTouNTY7d2lkdGg6MTJweH0uYkN3bEkuWXplMjZkLC5WZGVoQmYuWXplMjZke29wYWNpdHk6Ljk7d2lkdGg6ODBweH0uYkN3bEkuWXplMjZkIC52V3RtS2Z7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0yNnB4O2xlZnQ6MnB4fS5WZGVoQmYuWXplMjZkIC5QRlk0b3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMDtyaWdodDoycHh9LmJDd2xJLll6ZTI2ZHtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZmZmIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LDAuMDkpIDEwMCUpO2xlZnQ6MH0uVmRlaEJmLll6ZTI2ZHtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgyNzBkZWcsI2ZmZiA1MCUscmdiYSgyNTUsMjU1LDI1NSwwLjA5KSAxMDAlKTtyaWdodDowfS53Z2JSTmIuVDlXaDU6aG92ZXIgZy1mYWJ7Y29sb3I6IzIwMjEyNCFpbXBvcnRhbnQ7Ym94LXNoYWRvdzowIDAgMCAxcHggcmdiYSgwLDAsMCwwLjA0KSwwIDRweCA4cHggMCByZ2JhKDAsMCwwLDAuMil9LndnYlJOYi5UOVdoNXtoZWlnaHQ6MzZweDt3aWR0aDozNnB4O29wYWNpdHk6MX0ud2diUk5iLlQ5V2g1LnBRWGNIYywud2diUk5iLlQ5V2g1LnBRWGNIYzpob3ZlcntvcGFjaXR5OjB9LmJDd2xJLlQ5V2g1IGctZmFiLC5WZGVoQmYuVDlXaDUgZy1mYWJ7Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OjM2cHg7d2lkdGg6MzZweH0uYkN3bEkuVDlXaDV7bGVmdDotMThweH0uVmRlaEJmLlQ5V2g1e3JpZ2h0Oi0xOHB4fS5iQ3dsSS5TTDBHcCAudld0bUtmLC5WZGVoQmYuU0wwR3AgLlBGWTRve2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtvcGFjaXR5Oi41NDt3aWR0aDoyNHB4fS5iQ3dsSS5TTDBHcCAudld0bUtme2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQmdBQUFBWUNBUUFBQUJLZnZWekFBQUFRMGxFUVZSNEFXTkFCYU5BQVFoSlV2NEFDR1ZKVWY2ZjRUQUREdzJWSHlGTitWRUdYbUpkZndDby9BZUROSWhKcVEyRS9VQkxMWWlBcFZGTUk5SVNXV0FVQUFBeTF4M0czajF3eFFBQUFBQkpSVTVFcmtKZ2dnPT0pfS5WZGVoQmYuU0wwR3AgLlBGWTRve2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQmdBQUFBWUNBUUFBQUJLZnZWekFBQUFVRWxFUVZSNEFXT0FnRkhBQVlRa0tkOEJoQ1JvVVdaNHdmQ2ZOQzFhREMvcG9FV2I0UldwV25RWWZnSzFiQ0JXT1NQREZLRHlId3dleENxZlRGUGxreURLaVEvU0gyRGxKQUFQSUtRSWpBSUFEQU1kNWNlMWowSUFBQUFBU1VWT1JLNUNZSUk9KX0uVmRlaEJmLlNMMEdwLC5iQ3dsSS5TTDBHcHt3aWR0aDoyNHB4fS53Z2JSTmIuU0wwR3AucFFYY0hjLC53Z2JSTmIuU0wwR3AucFFYY0hjOmhvdmVye2N1cnNvcjpkZWZhdWx0O29wYWNpdHk6MTt2aXNpYmlsaXR5OmluaGVyaXR9LndnYlJOYi5TTDBHcC5wUVhjSGMgLnZXdG1LZiwud2diUk5iLlNMMEdwLnBRWGNIYyAuUEZZNG97b3BhY2l0eTouMn0ud2diUk5iLlNMMEdwe2hlaWdodDoyNHB4O21hcmdpbjowfS53Z2JSTmIuU0wwR3A6aG92ZXJ7b3BhY2l0eToxfS53Z2JSTmIuemZwVWtlOmhvdmVyIGctZmFie2NvbG9yOiMyMDIxMjQhaW1wb3J0YW50fS53Z2JSTmIuemZwVWtle2hlaWdodDozNnB4O3dpZHRoOjM2cHg7b3BhY2l0eTowfS56MU1tMGU6aG92ZXIgLndnYlJOYi56ZnBVa2V7b3BhY2l0eTouOX0uejFNbTBlIC53Z2JSTmIuemZwVWtlOmhvdmVyLC56MU1tMGUgLndnYlJOYi56ZnBVa2U6Zm9jdXMtdmlzaWJsZXtvcGFjaXR5OjF9LndnYlJOYi56ZnBVa2UucFFYY0hjLC53Z2JSTmIuemZwVWtlLnBRWGNIYzpob3ZlcntvcGFjaXR5OjB9LmJDd2xJLnpmcFVrZSBnLWZhYiwuVmRlaEJmLnpmcFVrZSBnLWZhYntib3gtc2hhZG93OjAgMCAwIDFweCByZ2JhKDAsMCwwLDAuMDQpLDAgNHB4IDhweCAwIHJnYmEoMCwwLDAsMC4yKTtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6MzZweDt3aWR0aDozNnB4fS5iQ3dsSS56ZnBVa2V7bGVmdDoxNnB4fS5WZGVoQmYuemZwVWtle3JpZ2h0OjE2cHh9LmJDd2xJLkVOcFh5YiAudld0bUtmLC5WZGVoQmYuRU5wWHliIC5QRlk0b3tiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUF3QUFBQXVDQVlBQUFBY0VmamFBQUFCVjBsRVFWUkl4KzJWc1c3Q1FCQkVEd1RwSWtYSUNNdXlKZHRmUXNHWFFVVkZsU3BWbWpURVNPbjRCQW9YTGlnc3VlQXZhTTJNQkFodDdnNnYwNlpZd05LODg5M2V6R0xhdGpWNW5pOVFPMlBNQzU5OVpkSTBuV2RaZGdiUTR2c0gwTmdMUUxTbitGWjQvZ1kwY2dKQkVMeENkSGlFVUYrQWhsYUFIOWpXRzBTbGVOT25EYnIvaU9ONEFsRWxvQTlBQXl2QWlxSW9nUEFvb0hjbndJSmdocXJGbVRaT2dKVWtTUVJSSTZDMUU3aHVMOEdiVG1KN0t5MncvUHVXVkljT3czRGF1YTJxaTFOWlEyMCtpNzIzWG51ckEvUVEwYUpUUko4Si9vRXVBRnZOcWNqV1B3VjRpYnpNNjZXZWVjays4WWhUVU5obTd4SVBhVUFoUHRDb1ZqR3RMZHhiTWdLL3pzQ3dNRFJpNVlyaHNuYUpjUlFySHprTnJXMWwwTVhLTlFlQ3k5NXJzWExEVWVOSzNFcXNmT0lROC8wRExWV0Fla3U5RHUxcks2ZWhFMUJmbk5vYXZjd243TDN0Wk85ZUFSSVJMVzRSdlFBMCs2RE53VEhXNlFBQUFBQkpSVTVFcmtKZ2dnPT0pO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtoZWlnaHQ6MjBweDt3aWR0aDoxMnB4fS5iQ3dsSS5FTnBYeWIgLnZXdG1LZntiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTI2cHg7bGVmdDo4cHh9LlZkZWhCZi5FTnBYeWIgLlBGWTRve2JhY2tncm91bmQtcG9zaXRpb246MCAwO3JpZ2h0OjhweH0uYkN3bEkuRU5wWHlie2xlZnQ6MH0uVmRlaEJmLkVOcFh5YntyaWdodDowfS5iQ3dsSS5FTnBYeWJ7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MzZweDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czozNnB4O2JveC1zaGFkb3c6MXB4IDAgMnB4IHJnYmEoMCwwLDAsMC41KX0uVmRlaEJmLkVOcFh5Yntib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjM2cHg7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czozNnB4O2JveC1zaGFkb3c6LTFweCAwIDJweCByZ2JhKDAsMCwwLDAuNSl9LmJDd2xJLkFvVDZzYyAudld0bUtme2xlZnQ6MnB4fS5WZGVoQmYuQW9UNnNjIC5QRlk0b3tyaWdodDoycHh9LmJDd2xJLkFvVDZzY3tsZWZ0Oi0zMnB4O2JvcmRlcjoxcHggc29saWQgI2Y4ZjlmYTtib3JkZXItcmFkaXVzOjJweCAwIDAgMnB4fS5WZGVoQmYuQW9UNnNje3JpZ2h0Oi0zMnB4O2JvcmRlcjoxcHggc29saWQgI2Y4ZjlmYTtib3JkZXItcmFkaXVzOjAgMnB4IDJweCAwfS53Z2JSTmIuQW9UNnNje2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvcCwjZjhmOWZhLCNmOGY5ZmEpO2hlaWdodDo1MHB4O3dpZHRoOjMwcHh9LndnYlJOYi5Bb1Q2c2M6aG92ZXJ7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG9wLCNmOGY5ZmEsI2Y4ZjlmYSl9LndnYlJOYi5idHBORmU6aG92ZXIgZy1mYWJ7Y29sb3I6IzIwMjEyNCFpbXBvcnRhbnR9LndnYlJOYi5idHBORmV7aGVpZ2h0OjM2cHg7d2lkdGg6MzZweDtvcGFjaXR5Oi45fS53Z2JSTmIuYnRwTkZlOmhvdmVye29wYWNpdHk6MX0ud2diUk5iLmJ0cE5GZS5wUVhjSGMsLndnYlJOYi5idHBORmUucFFYY0hjOmhvdmVye29wYWNpdHk6MH0uYkN3bEkuYnRwTkZlIGctZmFiLC5WZGVoQmYuYnRwTkZlIGctZmFie2JveC1zaGFkb3c6MCAwIDAgMXB4IHJnYmEoMCwwLDAsMC4wNCksMCA0cHggOHB4IDAgcmdiYSgwLDAsMCwwLjIpO2N1cnNvcjpwb2ludGVyO2hlaWdodDozNnB4O3dpZHRoOjM2cHh9LmJDd2xJLmJ0cE5GZXtsZWZ0Oi0xOHB4fS5WZGVoQmYuYnRwTkZle3JpZ2h0Oi0xOHB4fS53Z2JSTmIualNaTXJlOmhvdmVyIGctZmFie2NvbG9yOiMyMDIxMjQhaW1wb3J0YW50fS53Z2JSTmIualNaTXJle2hlaWdodDozMnB4O3dpZHRoOjMycHg7b3BhY2l0eTouOTtwYWRkaW5nOjhweH0ud2diUk5iLmpTWk1yZTpob3ZlcntvcGFjaXR5OjF9LndnYlJOYi5qU1pNcmUucFFYY0hjLC53Z2JSTmIualNaTXJlLnBRWGNIYzpob3ZlcntvcGFjaXR5OjB9LmJDd2xJLmpTWk1yZSBnLWZhYiwuVmRlaEJmLmpTWk1yZSBnLWZhYntib3gtc2hhZG93OjAgN3B4IDE1cHggcmdiYSgwLDAsMCwwLjIpO2N1cnNvcjpwb2ludGVyO2hlaWdodDozMnB4O3dpZHRoOjMycHh9LmJDd2xJLmpTWk1yZXtsZWZ0OjIwcHh9LlZkZWhCZi5qU1pNcmV7cmlnaHQ6MjBweH0ud2diUk5iLnZrY0xpYntoZWlnaHQ6NDBweDt3aWR0aDo0MHB4O29wYWNpdHk6MH0uejFNbTBlOmhvdmVyIC53Z2JSTmIudmtjTGliLC56MU1tMGUgLndnYlJOYi52a2NMaWI6aG92ZXIsLnoxTW0wZSAud2diUk5iLnZrY0xpYjpmb2N1cy12aXNpYmxle29wYWNpdHk6MX0ud2diUk5iLnZrY0xpYi5wUVhjSGMsLndnYlJOYi52a2NMaWIucFFYY0hjOmhvdmVye29wYWNpdHk6MH0uYkN3bEkudmtjTGliIGctZmFiLC5WZGVoQmYudmtjTGliIGctZmFie2JveC1zaGFkb3c6MCAwIDAgMXB4IHJnYmEoMCwwLDAsMC4wNCksMCA0cHggOHB4IDAgcmdiYSgwLDAsMCwwLjIpO2N1cnNvcjpwb2ludGVyO2hlaWdodDoyNHB4O3dpZHRoOjI0cHg7cG9zaXRpb246cmVsYXRpdmU7dG9wOjhweDtsZWZ0OjhweH0uYkN3bEkudmtjTGlie2xlZnQ6NHB4fS5WZGVoQmYudmtjTGlie3JpZ2h0OjRweH0uT3ZRa1Nie2JvcmRlci1yYWRpdXM6OTk5OXB4fS5TM1BCMmR7bWFyZ2luOmF1dG99LnNyOWhlY3tkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MH0uc3I5aGVje2N1cnNvcjpwb2ludGVyfS5zcjloZWN7Ym9yZGVyOjFweCBzb2xpZCAjZGFkY2UwfS5zcjloZWM6Zm9jdXN7b3V0bGluZTpub25lfS5zcjloZWMgLlU4djUxZXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7cmlnaHQ6MDt0b3A6MDtib3R0b206MDt3aWR0aDoyNHB4O2hlaWdodDoyNHB4fS5zM0lCM3t3aWR0aDo0MHB4O2hlaWdodDo0MHB4fS5hMTFQcnt3aWR0aDo1NnB4O2hlaWdodDo1NnB4fS5NS0NWMWJ7d2lkdGg6MjhweDtoZWlnaHQ6MjhweH0uc3I5aGVjLk1LQ1YxYiAuVTh2NTFle3dpZHRoOjIycHg7aGVpZ2h0OjIycHh9Lk9aUURXZHt3aWR0aDoxOHB4O2hlaWdodDoxOHB4fS5zcjloZWMuT1pRRFdkIC5VOHY1MWV7d2lkdGg6MTJweDtoZWlnaHQ6MTJweH0uZTVLWkpme2Rpc3BsYXk6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29wYWNpdHk6LjE7bGVmdDowO3RvcDowfS5lNUtaSmY6YWN0aXZle2FuaW1hdGlvbi1kdXJhdGlvbjouNHM7YW5pbWF0aW9uLW5hbWU6c2hpZnR9QGtleWZyYW1lcyBzaGlmdHsyNSV7YmFja2dyb3VuZDojMWYxZjFmfX0uWHg3TWlme2NvbnRhaW46c3R5bGU7cG9zaXRpb246cmVsYXRpdmV9LkU1ZUZie3dpZHRoOjEwMCU7Y29udGFpbjpzaXplIHN0eWxlfS5Mb3lnR2Z7d2lkdGg6MTAwJTtkaXNwbGF5OmJsb2NrfS5DVE9heGJ7cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO2NvbnRhaW46c2l6ZSBsYXlvdXQgc3R5bGV9Lk9NcW1mZHtwb3NpdGlvbjpzdGlja3k7dG9wOjB9LnpMU1JnZXtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1nUzVqWGIpfS5BWDFRZntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwdnc7d2lkdGg6MXB4O2hlaWdodDoycHg7dmlzaWJpbGl0eTpoaWRkZW47cG9pbnRlci1ldmVudHM6bm9uZX0uS0xFbVNke2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNkYWRjZTB9LkFRaXNaYnstLW0zYzE6IzBiNTdkMDstLW0zYzM6I2ZmZjstLW0zYzU6I2Y3ZjhmOTstLW0zYzY6I2VjZWRlZTstLW0zYzc6I2VjZWRlZTstLW0zYzk6IzFmMWYxZjstLW0zYzEwOiM1ZTVlNWU7LS1tM2MxMTojMWYxZjFmOy0tbTNjMTI6IzBiNTdkMDstLW0zYzEzOiNhM2M5ZmY7LS1tM2MxNDojMDAxZDM1Oy0tbTNjMTU6IzBiNTdkMDstLW0zYzE2OiM1ZTVlNWU7LS1tM2MxNzojZDJkMmQyOy0tbTNjMTg6IzQ0NmVmZjstLW0zYzE5OiNiMWM1ZmY7LS1tM2MyMDojYzhlY2ZmOy0tbTNjMjE6I2E2YzhmZn0uQVFpc1piey0tbTNjMjpyZ2JhKDI0NywyNDgsMjQ5LDAuNSl9Lll6Q2NuZXstLW0zYzE6IzBiNTdkMDstLW0zYzM6I2ZmZjstLW0zYzU6I2Y1ZjhmZjstLW0zYzY6I2U1ZWRmZjstLW0zYzc6I2U1ZWRmZjstLW0zYzk6IzAwMWQzNTstLW0zYzEwOiM1NDVkN2U7LS1tM2MxMTojMDAxZDM1Oy0tbTNjMTI6IzBiNTdkMDstLW0zYzEzOiNhM2M1ZmY7LS1tM2MxNDojMDAxZDM1Oy0tbTNjMTU6IzBiNTdkMDstLW0zYzE2OiM1NDVkN2U7LS1tM2MxNzojYTNjOWZmOy0tbTNjMTg6IzQ0NmVmZjstLW0zYzE5OiNiMWM1ZmY7LS1tM2MyMDojYzhlY2ZmOy0tbTNjMjE6I2E2YzhmZn0uWXpDY25ley0tbTNjMjpyZ2JhKDI0NSwyNDgsMjU1LDAuNSl9Lm54SXo5ZXstLW0zYzE6IzE4NWQwMDstLW0zYzI6cmdiYSgyNDUsMjUyLDIzNiwwLjUpOy0tbTNjMzojZmZmOy0tbTNjNTojZjVmY2VjOy0tbTNjNjojZTlmNWRlOy0tbTNjNzojZGJlNmQwOy0tbTNjOTojMDQyMTAwOy0tbTNjMTA6IzQyNDkzZTstLW0zYzExOiMwNDIxMDA7LS1tM2MxMjojMTg1ZDAwOy0tbTNjMTM6I2MxZjJhOTstLW0zYzE0OiMwNDIxMDA7LS1tM2MxNTojMTg1ZDAwOy0tbTNjMTY6IzQyNDkzZTstLW0zYzE3OiNhNGQ0OGU7LS1tM2MxODojN2ZkZDU4Oy0tbTNjMTk6IzhjZjhiOTstLW0zYzIwOiNlN2Y0ZTg7LS1tM2MyMTojYmZmMGE4fS5SbmtsQ3stLW0zYzE6Izk1MDA4NDstLW0zYzI6cmdiYSgyNTUsMjQ3LDI0OSwwLjUpOy0tbTNjMzojZmZmOy0tbTNjNTojZmZmN2Y5Oy0tbTNjNjojZmRlOGYzOy0tbTNjNzojZmZkN2YwOy0tbTNjOTojMjMxODIwOy0tbTNjMTA6IzUxNDM0YjstLW0zYzExOiMyMzE4MjA7LS1tM2MxMjojOTUwMDg0Oy0tbTNjMTM6I2ZmYWNlODstLW0zYzE0OiMyMzE4MjA7LS1tM2MxNTojOTUwMDg0Oy0tbTNjMTY6IzUxNDM0YjstLW0zYzE3OiNmZmFjZTg7LS1tM2MxODojZTM0N2QxOy0tbTNjMTk6I2ZmODY5YTstLW0zYzIwOiNmZmU5ZWE7LS1tM2MyMTojZmZhY2U4fS5rSXlPQ3stLW0zYzE6IzhlNGUwMDstLW0zYzI6cmdiYSgyNTUsMjQ4LDI0NSwwLjUpOy0tbTNjMzojZmZmOy0tbTNjNTojZmZmOGY1Oy0tbTNjNjojZmZlZWUyOy0tbTNjNzojZjdkZWNjOy0tbTNjOTojMmUxNTAwOy0tbTNjMTA6IzRmNDUzZDstLW0zYzExOiMyZTE1MDA7LS1tM2MxMjojOGU0ZTAwOy0tbTNjMTM6I2ZmYjc3OTstLW0zYzE0OiMyZTE1MDA7LS1tM2MxNTojOGU0ZTAwOy0tbTNjMTY6IzRmNDUzZDstLW0zYzE3OiNmMWJjOTA7LS1tM2MxODojZDE3YzIyOy0tbTNjMTk6I2Y3YmQ1NDstLW0zYzIwOiNmOGYwZGE7LS1tM2MyMTojZmZiNzc5fS5UbWU2amZ7LS1tM2MxOiMwMDZkNDI7LS1tM2MyOnJnYmEoMjQwLDI1MywyNDAsMC41KTstLW0zYzM6I2ZmZjstLW0zYzU6I2YwZmRmMDstLW0zYzY6I2U3ZjRlODstLW0zYzc6I2Q5ZTZkYTstLW0zYzk6IzAwMjExMDstLW0zYzEwOiM0MjQ4NDM7LS1tM2MxMTojMDAyMTEwOy0tbTNjMTI6IzAwNmQ0MjstLW0zYzEzOiM2ZmRiOWU7LS1tM2MxNDojMDAyMTEwOy0tbTNjMTU6IzAwNmQ0MjstLW0zYzE2OiM0MjQ4NDM7LS1tM2MxNzojYTZkMGIzOy0tbTNjMTg6IzYwZTI5OTstLW0zYzE5OiM2OWY5ZGE7LS1tM2MyMDojZDJmOWVlOy0tbTNjMjE6I2EyZWRjMX0uYURBdDJjey0tbTNjMTojMDA2NTkwOy0tbTNjMjpyZ2JhKDI0NiwyNTAsMjU1LDAuNSk7LS1tM2MzOiNmZmY7LS1tM2M1OiNmNmZhZmY7LS1tM2M2OiNlOWYyZmI7LS1tM2M3OiNjOGU2ZmY7LS1tM2M5OiMwMDFlMmU7LS1tM2MxMDojNDM0NzRiOy0tbTNjMTE6IzAwMWUyZTstLW0zYzEyOiMwMDY1OTA7LS1tM2MxMzojODdjZWZmOy0tbTNjMTQ6IzAwMWUyZTstLW0zYzE1OiMwMDY1OTA7LS1tM2MxNjojNDM0NzRiOy0tbTNjMTc6I2FiY2FlMzstLW0zYzE4OiM2NWJlZTA7LS1tM2MxOTojOWVjM2ZmOy0tbTNjMjA6I2ViZjFmZjstLW0zYzIxOiM5ZWQ3ZmZ9LnoxZ3Qzey0tbTNjMTojNjAxOGQ2Oy0tbTNjMjpyZ2JhKDI1NCwyNDcsMjU1LDAuNSk7LS1tM2MzOiNmZmY7LS1tM2M1OiNmZWY3ZmY7LS1tM2M2OiNmM2ViZmE7LS1tM2M3OiNlOWRkZmY7LS1tM2M5OiMxZTE5Mjg7LS1tM2MxMDojNDk0NTUwOy0tbTNjMTE6IzFlMTkyODstLW0zYzEyOiM2MDE4ZDY7LS1tM2MxMzojYzliM2ZmOy0tbTNjMTQ6IzFlMTkyODstLW0zYzE1OiM2MDE4ZDY7LS1tM2MxNjojNDk0NTUwOy0tbTNjMTc6I2QwYmNmZjstLW0zYzE4OiM5YjVlZmY7LS1tM2MxOTojZDg2OWZmOy0tbTNjMjA6I2ZiZWNmYTstLW0zYzIxOiNkMGJjZmZ9Lkl6cmhvYnstLW0zYzE6I2EyMDAzYjstLW0zYzI6cmdiYSgyNTUsMjQ4LDI0NywwLjUpOy0tbTNjMzojZmZmOy0tbTNjNTojZmZmOGY3Oy0tbTNjNjojZmZlOWVhOy0tbTNjNzojZmZkOWRkOy0tbTNjOTojNDAwMDE0Oy0tbTNjMTA6IzU1NDI0NDstLW0zYzExOiM0MDAwMTQ7LS1tM2MxMjojYTIwMDNiOy0tbTNjMTM6I2ZmOWJhOTstLW0zYzE0OiM0MDAwMTQ7LS1tM2MxNTojYTIwMDNiOy0tbTNjMTY6IzU1NDI0NDstLW0zYzE3OiNmZmIyYmM7LS1tM2MxODojZmYzNzY0Oy0tbTNjMTk6I2ZmODk3ZDstLW0zYzIwOiNmZmVkZTc7LS1tM2MyMTojZmZiMmJjfS5PbTNJaWV7LS1tM2MxOiMwMDY3N2Q7LS1tM2MyOnJnYmEoMjQxLDI1MSwyNTUsMC41KTstLW0zYzM6I2ZmZjstLW0zYzU6I2YxZmJmZjstLW0zYzY6I2U4ZjJmNzstLW0zYzc6I2M2ZThmNTstLW0zYzk6IzAwMWYyNzstLW0zYzEwOiM0MzQ3NDk7LS1tM2MxMTojMDAxZjI3Oy0tbTNjMTI6IzAwNjc3ZDstLW0zYzEzOiM3NWQzZWY7LS1tM2MxNDojMDAxZjI3Oy0tbTNjMTU6IzAwNjc3ZDstLW0zYzE2OiM0MzQ3NDk7LS1tM2MxNzojYWFjY2Q4Oy0tbTNjMTg6IzcwZGVmZjstLW0zYzE5OiM2NmMwZmY7LS1tM2MyMDojZTVmMmZmOy0tbTNjMjE6IzkxZjJmNn0uZVp5d0Nkey0tbTNjMTojNmQ1ZTAwOy0tbTNjMjpyZ2JhKDI1NSwyNDksMjM2LDAuNSk7LS1tM2MzOiNmZmY7LS1tM2M1OiNmZmY5ZWM7LS1tM2M2OiNmOGYwZGE7LS1tM2M3OiNlYWUyY2M7LS1tM2M5OiMyMTFiMDA7LS1tM2MxMDojNGE0NzNkOy0tbTNjMTE6IzIxMWIwMDstLW0zYzEyOiM2ZDVlMDA7LS1tM2MxMzojZGRjNzU1Oy0tbTNjMTQ6IzIxMWIwMDstLW0zYzE1OiM2ZDVlMDA7LS1tM2MxNjojNGE0NzNkOy0tbTNjMTc6I2QzYzc5MTstLW0zYzE4OiNmZmUwNDE7LS1tM2MxOTojZWVmMjRhOy0tbTNjMjA6I2Y2ZmZjMTstLW0zYzIxOiNmYWUzNmV9LnJFb3czY3stLW0zYzE6IzU2NjUwMDstLW0zYzI6cmdiYSgyNTAsMjUxLDIyOCwwLjUpOy0tbTNjMzojZmZmOy0tbTNjNTojZmFmYmU0Oy0tbTNjNjojZjFmMmRiOy0tbTNjNzojZTNlNGNkOy0tbTNjOTojMTgxZTAwOy0tbTNjMTA6IzQ3NDczZDstLW0zYzExOiMxODFlMDA7LS1tM2MxMjojNTY2NTAwOy0tbTNjMTM6I2JiZDE1NjstLW0zYzE0OiMxODFlMDA7LS1tM2MxNTojNTY2NTAwOy0tbTNjMTY6IzQ3NDczZDstLW0zYzE3OiNjM2NjOTI7LS1tM2MxODojYjdkZTAzOy0tbTNjMTk6I2EzZmY3NjstLW0zYzIwOiNlOWY1ZGU7LS1tM2MyMTojYzFkOTg3fS5uZHpYM2R7LS1tM2MxOiMwMDZiNWI7LS1tM2MyOnJnYmEoMjM5LDI1MiwyNDcsMC41KTstLW0zYzM6I2ZmZjstLW0zYzU6I2VmZmNmNzstLW0zYzY6I2U3ZjRlZTstLW0zYzc6I2Q5ZTVlMDstLW0zYzk6IzAwMjAxYTstLW0zYzEwOiM0MzQ4NDY7LS1tM2MxMTojMDAyMDFhOy0tbTNjMTI6IzAwNmI1YjstLW0zYzEzOiM3MmQ4YzI7LS1tM2MxNDojMDAyMDFhOy0tbTNjMTU6IzAwNmI1YjstLW0zYzE2OiM0MzQ4NDY7LS1tM2MxNzojYThjZmM0Oy0tbTNjMTg6IzQxZGFiOTstLW0zYzE5OiM1Y2VlZjQ7LS1tM2MyMDojZTRmZWZmOy0tbTNjMjE6IzcyZDhjMn0ubEhNQ2Jkey0tbTNjMTojMGEyYmNlOy0tbTNjMjpyZ2JhKDI1MSwyNDgsMjU1LDAuNSk7LS1tM2MzOiNmZmY7LS1tM2M1OiNmYmY4ZmY7LS1tM2M2OiNmMGVmZmY7LS1tM2M3OiNkZmUwZmY7LS1tM2M5OiMxOTFiMjg7LS1tM2MxMDojNDY0NjUwOy0tbTNjMTE6IzE5MWIyODstLW0zYzEyOiMwYTJiY2U7LS1tM2MxMzojYmNjMmZmOy0tbTNjMTQ6IzE5MWIyODstLW0zYzE1OiMwYTJiY2U7LS1tM2MxNjojNDY0NjUwOy0tbTNjMTc6I2JjYzJmZjstLW0zYzE4OiM2OTc2ZmY7LS1tM2MxOTojYWY4Y2ZmOy0tbTNjMjA6I2YzZWJmYTstLW0zYzIxOiNiY2MyZmZ9Lkk1OHdqZXstLW0zYzE6I2Y3YmQ1NDstLW0zYzI6cmdiYSgyNTUsMjQ4LDI0MywwLjUpOy0tbTNjMzojMjcxOTAwOy0tbTNjNTojZmZmOGYzOy0tbTNjNjojZmZlZWQ5Oy0tbTNjNzojZjBlMGNiOy0tbTNjOTojMjcxOTAwOy0tbTNjMTA6IzRjNDYzZDstLW0zYzExOiMyNzE5MDA7LS1tM2MxMjojZjdiZDU0Oy0tbTNjMTM6I2UxYzI5MTstLW0zYzE0OiMyNzE5MDA7LS1tM2MxNTojNWY0MTAwOy0tbTNjMTY6IzRjNDYzZDstLW0zYzE3OiNlMWMyOTE7LS1tM2MxODojZDhhMjNjOy0tbTNjMTk6I2Y3YmQ1NDstLW0zYzIwOiNmYWZiZTQ7LS1tM2MyMTojZmZjZDZjfS5RN0ppRXstLW0zYzE6IzAwNTA5NzstLW0zYzI6cmdiYSgyNDksMjQ5LDI1NSwwLjUpOy0tbTNjMzojZmZmOy0tbTNjNTojZjlmOWZmOy0tbTNjNjojZWJmMWZmOy0tbTNjNzojZDVlM2ZmOy0tbTNjOTojMDAxYzNiOy0tbTNjMTA6IzQzNDc0ZTstLW0zYzExOiMwMDFjM2I7LS1tM2MxMjojMDA1MDk3Oy0tbTNjMTM6I2E2YzhmZjstLW0zYzE0OiMwMDFjM2I7LS1tM2MxNTojMDA1MDk3Oy0tbTNjMTY6IzQzNDc0ZTstLW0zYzE3OiNhZGM4ZjU7LS1tM2MxODojNTE5M2ZmOy0tbTNjMTk6I2E1YWRmZjstLW0zYzIwOiNmMGVmZmY7LS1tM2MyMTojYTZjOGZmfS5zeFdncWZ7LS1tM2MxOiM4ZjMxMDA7LS1tM2MyOnJnYmEoMjU1LDI0OCwyNDYsMC41KTstLW0zYzM6I2ZmZjstLW0zYzU6I2ZmZjhmNjstLW0zYzY6I2ZmZWRlNzstLW0zYzc6I2ZmZGJjZTstLW0zYzk6IzM3MGUwMDstLW0zYzEwOiM1NDQzM2Q7LS1tM2MxMTojMzcwZTAwOy0tbTNjMTI6IzhmMzEwMDstLW0zYzEzOiNmZmFhODk7LS1tM2MxNDojMzcwZTAwOy0tbTNjMTU6IzhmMzEwMDstLW0zYzE2OiM1NDQzM2Q7LS1tM2MxNzojZmZiNTk5Oy0tbTNjMTg6I2ZmNjMxYTstLW0zYzE5OiNmMTk2M2I7LS1tM2MyMDojZmZlZWQ5Oy0tbTNjMjE6I2ZmYjU5OX0uQUxuVjd7LS1tM2MxOiNhMzA2MjE7LS1tM2MyOnJnYmEoMjU1LDI0OCwyNDcsMC41KTstLW0zYzM6I2ZmZjstLW0zYzU6I2ZmZjhmNzstLW0zYzY6I2ZmZWRlYjstLW0zYzc6I2ZmZGFkODstLW0zYzk6IzQxMDAwNzstLW0zYzEwOiM1NTQyNDE7LS1tM2MxMTojNDEwMDA3Oy0tbTNjMTI6I2EzMDYyMTstLW0zYzEzOiNmZjljOWE7LS1tM2MxNDojNDEwMDA3Oy0tbTNjMTU6I2EzMDYyMTstLW0zYzE2OiM1NTQyNDE7LS1tM2MxNzojZmZiM2IwOy0tbTNjMTg6I2ZmNGE0MzstLW0zYzE5OiNmZjhjNWQ7LS1tM2MyMDojZmZlZWUyOy0tbTNjMjE6I2ZmYjNiMH0uWTY1R0tmey0tbTNjMTojMDA1YTVjOy0tbTNjMjpyZ2JhKDI0MSwyNTEsMjUxLDAuNSk7LS1tM2MzOiNmZmY7LS1tM2M1OiNmMWZiZmI7LS1tM2M2OiNlN2YzZjM7LS1tM2M3OiNjNWU5ZWI7LS1tM2M5OiMwMDIwMjE7LS1tM2MxMDojNDM0ODQ4Oy0tbTNjMTE6IzAwMjAyMTstLW0zYzEyOiMwMDVhNWM7LS1tM2MxMzojNzRkNmRhOy0tbTNjMTQ6IzAwMjAyMTstLW0zYzE1OiMwMDVhNWM7LS1tM2MxNjojNDM0ODQ4Oy0tbTNjMTc6I2E5Y2RjZTstLW0zYzE4OiM3MmQ4YzI7LS1tM2MxOTojOTFmMmY1Oy0tbTNjMjA6I2RiZjVmZjstLW0zYzIxOiM4YmVkZDd9LnYwcnJ2ZHtwYWRkaW5nLWJvdHRvbToxNnB4fS5HVUhhemR7cGFkZGluZy1ib3R0b206MTJweH0uYnZTVEtje3BhZGRpbmc6OHB4fS5jQjRORmN7cGFkZGluZy10b3A6MTZweH0uT2RCaE17cGFkZGluZy10b3A6OHB4fS53b2s1dmZ7cGFkZGluZzoyNHB4fUBtZWRpYSAobWluLWhlaWdodDo1NzZweCl7LnVTb2xtIC5xazdMWGN7aGVpZ2h0OjEwMCV9Lm1jUFBaLnVTb2xte3BhZGRpbmc6NjRweCAwcHh9LnFrN0xYYy51U29sbXtoZWlnaHQ6Y2FsYygxMDAlIC0gMTI4cHgpfX1AbWVkaWEgKG1heC1oZWlnaHQ6NTc1cHgpey51U29sbSAucWs3TFhjLC5xazdMWGMudVNvbG17aGVpZ2h0OjEwMCU7bWF4LWhlaWdodDo0NDhweH19QG1lZGlhIChtaW4taGVpZ2h0OjQ5NnB4KXsuR2VPem5jIC5xazdMWGN7aGVpZ2h0OjEwMCV9Lm1jUFBaLkdlT3puY3twYWRkaW5nOjI0cHggMHB4fS5xazdMWGMuR2VPem5je2hlaWdodDpjYWxjKDEwMCUgLSA0OHB4KX19QG1lZGlhIChtYXgtaGVpZ2h0OjQ5NXB4KXsuR2VPem5jIC5xazdMWGMsLnFrN0xYYy5HZU96bmN7aGVpZ2h0OjEwMCU7bWF4LWhlaWdodDo0NDhweH19LlRVT3NVZXt0ZXh0LWFsaWduOmxlZnR9LktVZjE4Lml2a2RiZntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KTtvcGFjaXR5OjE7dmlzaWJpbGl0eTppbmhlcml0fS5WZnNMcGYuaXZrZGJme2JhY2tncm91bmQtY29sb3I6IzAwMDtvcGFjaXR5Oi40O3Zpc2liaWxpdHk6aW5oZXJpdH0uSjNIbmxmLml2a2RiZntiYWNrZ3JvdW5kLWNvbG9yOiMyMDIxMjQ7b3BhY2l0eTouNzt2aXNpYmlsaXR5OmluaGVyaXR9Llg0Nm04Lml2a2RiZntiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7b3BhY2l0eTouODt2aXNpYmlsaXR5OmluaGVyaXR9LmNCb0RlZC5pdmtkYmZ7YmFja2dyb3VuZC1jb2xvcjojZjhmOWZhO29wYWNpdHk6Ljg1O3Zpc2liaWxpdHk6aW5oZXJpdH0ua3lrN3FiLml2a2RiZntiYWNrZ3JvdW5kLWNvbG9yOiMyMDIxMjQ7b3BhY2l0eTouNjt2aXNpYmlsaXR5OmluaGVyaXR9LnFrN0xYYy5pdmtkYmZ7b3BhY2l0eToxfS5tY1BQWi5pdmtkYmZ7b3BhY2l0eToxO3Zpc2liaWxpdHk6aW5oZXJpdH0ubWNQUFoublAwVERle2N1cnNvcjpwb2ludGVyfS5tY1BQWi5uUDBURGUgLnFrN0xYY3tjdXJzb3I6ZGVmYXVsdH0ua0pGZjBje3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6OTk5NztyaWdodDowO2JvdHRvbTotMjAwcHg7dG9wOjA7bGVmdDowO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzO29wYWNpdHk6MDt2aXNpYmlsaXR5OmhpZGRlbn0ucWs3TFhje2Rpc3BsYXk6aW5saW5lLWJsb2NrO3otaW5kZXg6OTk5NztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7b3BhY2l0eTowO3doaXRlLXNwYWNlOm5vcm1hbDtvdmVyZmxvdzpoaWRkZW59LnFrN0xYY3tib3JkZXItcmFkaXVzOjhweH0ucWs3TFhje2JveC1zaGFkb3c6MHB4IDVweCAyNnB4IDBweCByZ2JhKDAsMCwwLDAuMjIpLDBweCAyMHB4IDI4cHggMHB4IHJnYmEoMCwwLDAsMC4zKX0ucWs3TFhjLkRKRU9mY3tiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5xazdMWGMuREpFT2Zje2JveC1zaGFkb3c6bm9uZX0ucWs3TFhjLkZiMUFLY3twb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnFrN0xYYy5CeTltTWN7cG9zaXRpb246Zml4ZWR9LnFrN0xYYy5XNlo1b2Z7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSl9LnFrN0xYYy51bFd6YmR7cG9zaXRpb246YWJzb2x1dGV9LnFrN0xYYy5QMVdZTGJ7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1tWFprcWMpO2JveC1zaGFkb3c6I2RhZGNlMH0ubWNQUFp7cG9zaXRpb246Zml4ZWQ7cmlnaHQ6MDtib3R0b206MDt0b3A6MDtsZWZ0OjA7ei1pbmRleDo5OTk3O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt2aXNpYmlsaXR5OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7bWF4LWhlaWdodDoxMDAlO21heC13aWR0aDoxMDAlO292ZXJmbG93LXg6aGlkZGVuO292ZXJmbG93LXk6YXV0b30ubWNQUFoueGc3ckFle3RleHQtYWxpZ246Y2VudGVyfS5tY1BQWjo6YWZ0ZXJ7Y29udGVudDpcIlwiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxMDAlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uTGpmUnNme2hlaWdodDowO29wYWNpdHk6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowfS5WSDQ3ZWR7dmlzaWJpbGl0eTpoaWRkZW59LlRhb3lZY3tvdmVyZmxvdzpoaWRkZW59LlRhb3lZY3twb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlfS5xazdMWGMuYUpQeDZle292ZXJmbG93OnZpc2libGV9LnZBSkp6ZHtvcGFjaXR5Oi45OTl9LnlNTkpSIC5xazdMWGMsLnFrN0xYYy55TU5KUnttYXgtd2lkdGg6MTAwJX0uY0pGcXNkIC5xazdMWGMsLnFrN0xYYy5jSkZxc2R7aGVpZ2h0OjEwMCV9LnJmeDJZIC5xazdMWGMsLnFrN0xYYy5yZngyWXt3aWR0aDoxMDAlfS5CaFVIemUgLnFrN0xYYywucWs3TFhjLkJoVUh6ZXt3aWR0aDo3NSV9LmRnVkduYyAucWs3TFhjLC5xazdMWGMuZGdWR25je3dpZHRoOjkwJX0uR21vTDBje21hcmdpbi1yaWdodDoxMnB4fS54VFdsdGZ7bWFyZ2luLXJpZ2h0OjI0cHh9Lld0NVRmZXtwYWRkaW5nLWxlZnQ6MHB4O3BhZGRpbmctcmlnaHQ6MHB4fS5lSnRyTWN7cGFkZGluZy1ib3R0b206OHB4O3BhZGRpbmctdG9wOjhweH0uVkRnVmlle3RleHQtYWxpZ246Y2VudGVyfS5TbFA4eGN7dGV4dC10cmFuc2Zvcm06bm9uZX06cm9vdHstLUtJWlBuZTojYTNjOWZmOy0teFBwaU06IzAwMWQzNTstLUVoaDRtZjp2YXIoLS1Oc20wY2UpfS5rMEpqZywuYnJLbXhiOmZvY3VzLXZpc2libGV7b3V0bGluZTowfS5rMEpqZzpmb2N1cy12aXNpYmxlIC5uaU80dSwuYnJLbXhiOmZvY3VzLXZpc2libGUgLm5pTzR1e291dGxpbmU6MnB4IHNvbGlkICMwYjU3ZDA7b3V0bGluZS1vZmZzZXQ6MXB4fS5uaU80dXthbGlnbi1pdGVtczpjZW50ZXI7Ym94LXNpemluZzpib3JkZXItYm94O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS5nelYxdCAubmlPNHV7YWxpZ24taXRlbXM6c3RyZXRjaDtkaXNwbGF5OmZsZXh9Lm5pTzR1OjpiZWZvcmV7Y29udGVudDpcIlwiO2hlaWdodDo0OHB4O2xlZnQ6MDttYXJnaW4tdG9wOi0yNHB4O21hcmdpbi1sZWZ0Oi0xcHg7bWFyZ2luLXJpZ2h0Oi0xcHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6NTAlfS5rSHRjc2R7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czppbmhlcml0O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlfS5Eb3BIcWN7aGVpZ2h0OjEwMCV9LmQzbzNBZCwuY2xPeDFlLC5Xb0E5WmR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcn0uUXVVM1die21hcmdpbi10b3A6NnB4fS5ybHQ3VWIgLmNsT3gxZXttYXJnaW46NXB4IDE2cHh9LkEyOXpnZntib3JkZXItcmFkaXVzOjhweDtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LkEyOXpnZiAubmlPNHV7Ym9yZGVyLXJhZGl1czo4cHh9LkEyOXpnZiAua0h0Y3Nke2JvcmRlci1yYWRpdXM6N3B4fS5wQW43bmV7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5namNLQ2N7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS5uaU80dXt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjI1cyBsaW5lYXJ9LmJ0a3U1Ynt0cmFuc2l0aW9uOmNvbG9yIC4yNXMgbGluZWFyfWEuZ2pjS0NjOmZvY3VzLXZpc2libGV7Y29sb3I6IzE5NjdkMn1hLmdqY0tDYzpmb2N1cy12aXNpYmxlIC5uaU80dXtiYWNrZ3JvdW5kLWNvbG9yOiNlOGYwZmU7fS5mQ3JaeWN7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfS5mQ3JaeWMgLm5pTzR1e2JvcmRlci1yYWRpdXM6OTk5OXB4fS5Md2RWMGUuT0pldXhmIC5pQ1FPNWR7d2lkdGg6MzZweH0uZ1VBY2ZmLk9KZXV4ZiAuaUNRTzVke3dpZHRoOjMycHh9Lk5RWUp2Yy5PSmV1eGYgLmlDUU81ZHt3aWR0aDo0NHB4fS5PSmV1eGYgLm5pTzR1OjpiZWZvcmV7d2lkdGg6NDhweDttYXJnaW4tbGVmdDotMjRweDtsZWZ0OjUwJX0uTHdkVjBlIC55MUNib2IudkduWGRiLnZHblhkYntoZWlnaHQ6NDhweDtwYWRkaW5nOjAgNHB4fS5rMVUzNmJ7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZi1tZWRpdW0sc2Fucy1zZXJpZjtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTZweH0uVVpYQU5jLmdVQWNmZiAubmlPNHV7dG9wOjNweDtoZWlnaHQ6MH0ubUtqRUFkLmdVQWNmZiAubmlPNHV7aGVpZ2h0OjB9LmJhY0hvZC5nVUFjZmYgLlIwNFRPZCwuYmFjSG9kLmdVQWNmZiAuZDNvM0Fke2hlaWdodDoxNHB4fS5nVUFjZmYuUHJqTDhjIC5uaU80dXtoZWlnaHQ6MzJweH0uZ1VBY2ZmLmd6VjF0IC5uaU80dXttaW4taGVpZ2h0OjMycHh9LmdVQWNmZi5ybHQ3VWIgLmNsT3gxZXttYXJnaW46NXB4IDE2cHh9LmdVQWNmZiAuY2xPeDFle2xpbmUtaGVpZ2h0OjE2cHh9LmdVQWNmZiAuUjA0VE9kLC5nVUFjZmYgLmQzbzNBZCwuZ1VBY2ZmIC5Xb0E5WmR7aGVpZ2h0OjE2cHh9LmVGU1d4ZC5nVUFjZmYgLmNsT3gxZXttYXJnaW46NXB4IDE2cHggNXB4IDhweH0uUjA0VE9kLC5lRlNXeGQuZ1VBY2ZmIC5kM28zQWR7bWFyZ2luLWxlZnQ6MTJweH0uVVpYQU5jLlVaWEFOYy5Md2RWMGUgLm5pTzR1e3RvcDozcHg7aGVpZ2h0OjB9Lm1LakVBZC5tS2pFQWQuTHdkVjBlIC5uaU80dXtoZWlnaHQ6MH0uYmFjSG9kLkx3ZFYwZSAuUjA0VE9kLC5iYWNIb2QuTHdkVjBlIC5kM28zQWR7aGVpZ2h0OjE2cHh9Lkx3ZFYwZSAuUjA0VE9kLC5Md2RWMGUgLmQzbzNBZHtoZWlnaHQ6MThweH0uTHdkVjBlLnJsdDdVYiAuY2xPeDFle21hcmdpbjo1cHggMTZweH0uTHdkVjBlIC5Xb0E5WmR7aGVpZ2h0OjE4cHh9Lkx3ZFYwZS5nelYxdCAubmlPNHV7bWluLWhlaWdodDozNnB4fS5Md2RWMGUuUHJqTDhjIC5uaU80dXtoZWlnaHQ6MzZweH0uZUZTV3hkLkx3ZFYwZSAuY2xPeDFle21hcmdpbjo1cHggMTZweCA1cHggOHB4fS5SMDRUT2QsLmVGU1d4ZC5Md2RWMGUgLmQzbzNBZHttYXJnaW4tbGVmdDoxMnB4fS5OUVlKdmMgLmQzbzNBZCwuTlFZSnZjIC5SMDRUT2R7Ym9yZGVyLXJhZGl1czo0cHg7aGVpZ2h0OjIwcHg7b3ZlcmZsb3c6aGlkZGVufS5OUVlKdmMucmx0N1ViIC5jbE94MWV7bWFyZ2luOjVweCAxNnB4fS5OUVlKdmMgLldvQTlaZHtoZWlnaHQ6MjBweH0uTlFZSnZjLmd6VjF0IC5uaU80dXttaW4taGVpZ2h0OjQ0cHh9Lk5RWUp2Yy5QcmpMOGMgLm5pTzR1e2hlaWdodDo0NHB4fS5lRlNXeGQuTlFZSnZjIC5jbE94MWV7bWFyZ2luOjVweCAxNnB4IDVweCA4cHh9LlIwNFRPZCwuZUZTV3hkLk5RWUp2YyAuZDNvM0Fke21hcmdpbi1sZWZ0OjEycHh9LkZSN1pTY3tjb2xvcjp2YXIoLS1yckpKVWMpfS5GUjdaU2MgLm5pTzR1e2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOjFweCBzb2xpZCAjZDJkMmQyfS5GUjdaU2M6bm90KFtzZWxlY3RlZF0pOm5vdChbZGlzYWJsZWRdKSAuZDNvM0Fke2NvbG9yOiMwYjU3ZDB9LkZSN1pTYyAuazBKamc6aG92ZXIgLm5pTzR1LC5GUjdaU2MuazBKamc6aG92ZXIgLm5pTzR1e2NvbG9yOnZhcigtLWpJTnU2Yyl9LkZSN1pTYzpub3QoW3NlbGVjdGVkXSkgLmswSmpnOmhvdmVyIC5kM28zQWQsLkZSN1pTYy5rMEpqZzpub3QoW3NlbGVjdGVkXSk6aG92ZXIgLmQzbzNBZHtjb2xvcjp2YXIoLS1qSU51NmMpfS5GUjdaU2MgLmswSmpnOmhvdmVyIC5rSHRjc2QsLkZSN1pTYy5rMEpqZzpob3ZlciAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6IzBiNTdkMDE1fS5icktteGI6YWN0aXZlIC5GUjdaU2MgLm5pTzR1LC5icktteGI6Zm9jdXMtdmlzaWJsZSAuRlI3WlNjIC5uaU80dSwuRlI3WlNjLmswSmpnOmFjdGl2ZSAubmlPNHUsLkZSN1pTYyAuazBKamc6YWN0aXZlIC5uaU80dSwuRlI3WlNjLmswSmpnOmZvY3VzLXZpc2libGUgLm5pTzR1LC5GUjdaU2MgLmswSmpnOmZvY3VzLXZpc2libGUgLm5pTzR1e2NvbG9yOnZhcigtLWpJTnU2Yyl9LmJyS214Yjpmb2N1cy12aXNpYmxlIC5GUjdaU2M6bm90KFtzZWxlY3RlZF0pOm5vdChbZGlzYWJsZWRdKSAuZDNvM0FkLC5GUjdaU2M6bm90KFtzZWxlY3RlZF0pOm5vdChbZGlzYWJsZWRdKSAuazBKamc6Zm9jdXMtdmlzaWJsZSAuZDNvM0FkLC5GUjdaU2MuazBKamc6bm90KFtzZWxlY3RlZF0pOm5vdChbZGlzYWJsZWRdKTpmb2N1cy12aXNpYmxlIC5kM28zQWR7Y29sb3I6IzAwMWQzNX0uYnJLbXhiOmZvY3VzLXZpc2libGUgLkZSN1pTYyAua0h0Y3NkLC5GUjdaU2MgLmswSmpnOmZvY3VzLXZpc2libGUgLmtIdGNzZCwuRlI3WlNjLmswSmpnOmZvY3VzLXZpc2libGUgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiMwYjU3ZDAxNX0uYnJLbXhiOmFjdGl2ZSAuRlI3WlNjOm5vdChbc2VsZWN0ZWRdKTpub3QoW2Rpc2FibGVkXSkgLmQzbzNBZCwuRlI3WlNjOm5vdChbc2VsZWN0ZWRdKTpub3QoW2Rpc2FibGVkXSkgLmswSmpnOmFjdGl2ZSAuZDNvM0FkLC5GUjdaU2MuazBKamc6bm90KFtzZWxlY3RlZF0pOm5vdChbZGlzYWJsZWRdKTphY3RpdmUgLmQzbzNBZHtjb2xvcjp2YXIoLS1JWG94VWUpfS5icktteGI6YWN0aXZlIC5GUjdaU2MgLmtIdGNzZCwuRlI3WlNjIC5rMEpqZzphY3RpdmUgLmtIdGNzZCwuRlI3WlNjLmswSmpnOmFjdGl2ZSAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6IzBiNTdkMDM5fS5leHBVUGR7Y29sb3I6I2ZmZn0uZXhwVVBkIC5uaU80dXtiYWNrZ3JvdW5kLWNvbG9yOiMwYjU3ZDB9LmV4cFVQZC5rMEpqZzpob3ZlciAua0h0Y3NkLC5leHBVUGQgLmswSmpnOmhvdmVyIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojMDAxZDM1Mzl9LmJyS214Yjpmb2N1cy12aXNpYmxlIC5leHBVUGQgLmtIdGNzZCwuZXhwVVBkLmswSmpnOmZvY3VzLXZpc2libGUgLmtIdGNzZCwuZXhwVVBkIC5rMEpqZzpmb2N1cy12aXNpYmxlIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojMDAxZDM1MzN9LmJyS214YjphY3RpdmUgLmV4cFVQZCAua0h0Y3NkLC5leHBVUGQgLmswSmpnOmFjdGl2ZSAua0h0Y3NkLC5leHBVUGQuazBKamc6YWN0aXZlIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojMDAxZDM1NjZ9QG1lZGlhIChwcmVmZXJzLWNvbnRyYXN0Om1vcmUpey5leHBVUGQgLm5pTzR1e291dGxpbmU6MXB4IHNvbGlkICMxZjFmMWZ9fS56cXJPMHtjb2xvcjp2YXIoLS1iYlF4QWIpfS56cXJPMCAubmlPNHV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS14aFVHd2MpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbVhaa3FjKX0uYnJLbXhiOmFjdGl2ZSAuenFyTzAsLmJyS214Yjpmb2N1cy12aXNpYmxlIC56cXJPMCwuenFyTzAgLmswSmpnOmhvdmVyLC56cXJPMCAuazBKamc6YWN0aXZlLC56cXJPMCAuazBKamc6Zm9jdXMtdmlzaWJsZSwuenFyTzAuazBKamc6aG92ZXIsLnpxck8wLmswSmpnOmZvY3VzLXZpc2libGUsLnpxck8wLmswSmpnOmFjdGl2ZXtjb2xvcjp2YXIoLS1iYlF4QWIpfS56cXJPMCAuazBKamc6aG92ZXIgLmtIdGNzZCwuenFyTzAuazBKamc6aG92ZXIgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiMwYjU3ZDAxNX0uYnJLbXhiOmZvY3VzLXZpc2libGUgLnpxck8wIC5rSHRjc2QsLnpxck8wIC5rMEpqZzpmb2N1cy12aXNpYmxlIC5rSHRjc2QsLnpxck8wLmswSmpnOmZvY3VzLXZpc2libGUgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiMwYjU3ZDAxNX0uYnJLbXhiOmFjdGl2ZSAuenFyTzAgLmtIdGNzZCwuenFyTzAgLmswSmpnOmFjdGl2ZSAua0h0Y3NkLC56cXJPMC5rMEpqZzphY3RpdmUgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiMwYjU3ZDAzOX0ueGFiOTllIC5uaU80dXt6LWluZGV4OjJ9LnhhYjk5ZSAubmlPNHV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS14aFVHd2MpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbVhaa3FjKX0uTlFZSnZjLlByakw4YyAubmlPNHV7aGVpZ2h0OjQwcHh9Lk5RWUp2Yy5PSmV1eGYgLmlDUU81ZHt3aWR0aDo0MHB4fS54YWI5OWUuazBKamc6aG92ZXIgLmtIdGNzZCwueGFiOTllIC5rMEpqZzpob3ZlciAua0h0Y3Nke2JvcmRlcjowO2JveC1zaGFkb3c6MHB4IDRweCAxMnB4IHJnYmEoNjAsNjQsNjcsMC4yNCl9Lk50YU1wYntjb2xvcjp2YXIoLS1iYlF4QWIpfS5OdGFNcGIgLm5pTzR1e2JhY2tncm91bmQtY29sb3I6dmFyKC0teGhVR3djKX0uTnRhTXBiIC5rMEpqZzpob3ZlciAua0h0Y3NkLC5OdGFNcGIuazBKamc6aG92ZXIgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiMwYjU3ZDAxNX0uYnJLbXhiOmZvY3VzLXZpc2libGUgLk50YU1wYiAua0h0Y3NkLC5OdGFNcGIgLmswSmpnOmZvY3VzLXZpc2libGUgLmtIdGNzZCwuTnRhTXBiLmswSmpnOmZvY3VzLXZpc2libGUgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiMwYjU3ZDAxNX0uYnJLbXhiOmFjdGl2ZSAuTnRhTXBiIC5rSHRjc2QsLk50YU1wYiAuazBKamc6YWN0aXZlIC5rSHRjc2QsLk50YU1wYi5rMEpqZzphY3RpdmUgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiMwYjU3ZDAzOX0uQm1lZ29me2NvbG9yOiMwMDFkMzV9LkJtZWdvZiAubmlPNHV7YmFja2dyb3VuZC1jb2xvcjojZDNlM2ZkfS5CbWVnb2YgLmswSmpnOmhvdmVyIC5rSHRjc2QsLkJtZWdvZi5rMEpqZzpob3ZlciAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6IzBiNTdkMDE1fS5icktteGI6Zm9jdXMtdmlzaWJsZSAuQm1lZ29mIC5rSHRjc2QsLkJtZWdvZiAuazBKamc6Zm9jdXMtdmlzaWJsZSAua0h0Y3NkLC5CbWVnb2YuazBKamc6Zm9jdXMtdmlzaWJsZSAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6IzBiNTdkMDE1fS5icktteGI6YWN0aXZlIC5CbWVnb2YgLmtIdGNzZCwuQm1lZ29mIC5rMEpqZzphY3RpdmUgLmtIdGNzZCwuQm1lZ29mLmswSmpnOmFjdGl2ZSAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6IzBiNTdkMDM5fS5yNjlGWntjb2xvcjojMDAxZDM1fS5yNjlGWiAubmlPNHV7YmFja2dyb3VuZC1jb2xvcjojZWJmMWZmfUBtZWRpYSAocHJlZmVycy1jb250cmFzdDptb3JlKXsuY0Q2a3lmIC5uaU80dXtvdXRsaW5lOjFweCBzb2xpZCAjMWYxZjFmfX0ucjY5RlogLmswSmpnOmhvdmVyIC5rSHRjc2QsLnI2OUZaLmswSmpnOmhvdmVyIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojMGI1N2QwMTV9LmJyS214Yjpmb2N1cy12aXNpYmxlIC5yNjlGWiAua0h0Y3NkLC5yNjlGWiAuazBKamc6Zm9jdXMtdmlzaWJsZSAua0h0Y3NkLC5yNjlGWi5rMEpqZzpmb2N1cy12aXNpYmxlIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojMGI1N2QwMTV9LmJyS214YjphY3RpdmUgLnI2OUZaIC5rSHRjc2QsLnI2OUZaIC5rMEpqZzphY3RpdmUgLmtIdGNzZCwucjY5RlouazBKamc6YWN0aXZlIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojMGI1N2QwMzl9LmpkT3JaY3tjb2xvcjp2YXIoLS1yckpKVWMpfS5qZE9yWmMgLm5pTzR1e2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lnpxck8wIC5rMEpqZzpob3ZlciAua0h0Y3NkLC56cXJPMC5rMEpqZzpob3ZlciAubmlPNHV7Y29sb3I6dmFyKC0taklOdTZjKX0uamRPclpjIC5rMEpqZzpob3ZlciAua0h0Y3NkLC5qZE9yWmMuazBKamc6aG92ZXIgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiMwYjU3ZDAxNX0uYnJLbXhiOmFjdGl2ZSAuamRPclpjIC5uaU80dSwuYnJLbXhiOmZvY3VzLXZpc2libGUgLmpkT3JaYyAubmlPNHUsLnpxck8wIC5rMEpqZzphY3RpdmUgLm5pTzR1LC56cXJPMCAuazBKamc6Zm9jdXMtdmlzaWJsZSAubmlPNHUsLnpxck8wLmswSmpnOmFjdGl2ZSAubmlPNHUsLnpxck8wLmswSmpnOmZvY3VzLXZpc2libGUgLm5pTzR1e2NvbG9yOnZhcigtLWpJTnU2Yyl9LmJyS214Yjpmb2N1cy12aXNpYmxlIC5qZE9yWmMgLmtIdGNzZCwuamRPclpjIC5rMEpqZzpmb2N1cy12aXNpYmxlIC5rSHRjc2QsLmpkT3JaYy5rMEpqZzpmb2N1cy12aXNpYmxlIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojMGI1N2QwMTV9LmJyS214YjphY3RpdmUgLmpkT3JaYyAua0h0Y3NkLC5qZE9yWmMgLmswSmpnOmFjdGl2ZSAua0h0Y3NkLC5qZE9yWmMuazBKamc6YWN0aXZlIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojMGI1N2QwMzl9Lm9nQnhGe2NvbG9yOnZhcigtLUpLcXgyKX0ub2dCeEYgLm5pTzR1e2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1tWFprcWMpfS5vZ0J4RiAuazBKamc6aG92ZXIgLmtIdGNzZCwub2dCeEYuazBKamc6aG92ZXIgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiMwYjU3ZDAxNX0uYnJLbXhiOmZvY3VzLXZpc2libGUgLm9nQnhGIC5rSHRjc2QsLm9nQnhGIC5rMEpqZzpmb2N1cy12aXNpYmxlIC5rSHRjc2QsLm9nQnhGLmswSmpnOmZvY3VzLXZpc2libGUgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiMwYjU3ZDAxNX0uYnJLbXhiOmFjdGl2ZSAub2dCeEYgLmtIdGNzZCwub2dCeEYgLmswSmpnOmFjdGl2ZSAua0h0Y3NkLC5vZ0J4Ri5rMEpqZzphY3RpdmUgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiMwYjU3ZDAzOX0ueDJHSldie2NvbG9yOiMxZjFmMWZ9LngyR0pXYiAuUXVVM1die2NvbG9yOiMxZjFmMWY7fS54MkdKV2IgLm5pTzR1e2JhY2tncm91bmQtY29sb3I6I2YxZjNmNH1hLkxjbXRVYnstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9YS5MY210VWI6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9YS5MY210VWI6Zm9jdXMtdmlzaWJsZSAueDJHSldiIC5uaU80dXtvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1yckpKVWMpO291dGxpbmUtb2Zmc2V0OjJweH0ueDJHSldiOmFjdGl2ZSAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6cmdiYSgzMiwzMywzNiwwLjI0KX0ueDJHSldiIC5rMEpqZzpob3ZlciAua0h0Y3NkLC54MkdKV2IuazBKamc6aG92ZXIgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiMwYjU3ZDAxNX0uYnJLbXhiOmZvY3VzLXZpc2libGUgLngyR0pXYiAua0h0Y3NkLC54MkdKV2IgLmswSmpnOmZvY3VzLXZpc2libGUgLmtIdGNzZCwueDJHSldiLmswSmpnOmZvY3VzLXZpc2libGUgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiMwYjU3ZDAxNX0uYnJLbXhiOmFjdGl2ZSAueDJHSldiIC5rSHRjc2QsLngyR0pXYiAuazBKamc6YWN0aXZlIC5rSHRjc2QsLngyR0pXYi5rMEpqZzphY3RpdmUgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiMwYjU3ZDAzOX0uZlhWYXJme2NvbG9yOiNmZmZ9LmZYVmFyZiAubmlPNHV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNil9LmZYVmFyZiAuazBKamc6aG92ZXIgLmtIdGNzZCwuZlhWYXJmLmswSmpnOmhvdmVyIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojMWYxZjFmMzN9LmJyS214Yjpmb2N1cy12aXNpYmxlIC5mWFZhcmYgLmtIdGNzZCwuZlhWYXJmIC5rMEpqZzpmb2N1cy12aXNpYmxlIC5rSHRjc2QsLmZYVmFyZi5rMEpqZzpmb2N1cy12aXNpYmxlIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojMWYxZjFmMzN9LmJyS214YjphY3RpdmUgLmZYVmFyZiAua0h0Y3NkLC5mWFZhcmYgLmswSmpnOmFjdGl2ZSAua0h0Y3NkLC5mWFZhcmYuazBKamc6YWN0aXZlIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojMWYxZjFmNjZ9Llc2OEEwW3NlbGVjdGVkXXtjb2xvcjp2YXIoLS14UHBpTSl9Llc2OEEwW3NlbGVjdGVkXSAubmlPNHV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1LSVpQbmUpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH0uVzY4QTBbc2VsZWN0ZWRdIC5rMEpqZzpob3ZlciAua0h0Y3NkLC5XNjhBMC5rMEpqZ1tzZWxlY3RlZF06aG92ZXIgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiNkMmUzZmN9LnI2OUZaIC5kM28zQWQsLnI2OUZaIC5Xb0E5WmR7Y29sb3I6IzBiNTdkMH0ucjY5Rlo6bm90KFtkaXNhYmxlZF0pIC5rMEpqZzpob3ZlciAuZDNvM0FkLC5yNjlGWjpub3QoW2Rpc2FibGVkXSkgLmswSmpnOmhvdmVyIC5Xb0E5WmQsLnI2OUZaLmswSmpnOm5vdChbZGlzYWJsZWRdKTpob3ZlciAuZDNvM0FkLC5yNjlGWi5rMEpqZzpub3QoW2Rpc2FibGVkXSk6aG92ZXIgLldvQTlaZHtjb2xvcjojMDAxZDM1fS5icktteGI6Zm9jdXMtdmlzaWJsZSAucjY5Rlo6bm90KFtkaXNhYmxlZF0pIC5kM28zQWQsLmJyS214Yjpmb2N1cy12aXNpYmxlIC5yNjlGWjpub3QoW2Rpc2FibGVkXSkgLldvQTlaZCwuYnJLbXhiOmFjdGl2ZSAucjY5Rlo6bm90KFtkaXNhYmxlZF0pIC5kM28zQWQsLmJyS214YjphY3RpdmUgLnI2OUZaOm5vdChbZGlzYWJsZWRdKSAuV29BOVpkLC5yNjlGWjpub3QoW2Rpc2FibGVkXSkgLmswSmpnOmZvY3VzLXZpc2libGUgLmQzbzNBZCwucjY5Rlo6bm90KFtkaXNhYmxlZF0pIC5rMEpqZzpmb2N1cy12aXNpYmxlIC5Xb0E5WmQsLnI2OUZaOm5vdChbZGlzYWJsZWRdKSAuazBKamc6YWN0aXZlIC5kM28zQWQsLnI2OUZaOm5vdChbZGlzYWJsZWRdKSAuazBKamc6YWN0aXZlIC5Xb0E5WmQsLnI2OUZaLmswSmpnOm5vdChbZGlzYWJsZWRdKTpmb2N1cy12aXNpYmxlIC5kM28zQWQsLnI2OUZaLmswSmpnOm5vdChbZGlzYWJsZWRdKTpmb2N1cy12aXNpYmxlIC5Xb0E5WmQsLnI2OUZaLmswSmpnOm5vdChbZGlzYWJsZWRdKTphY3RpdmUgLmQzbzNBZCwucjY5RlouazBKamc6bm90KFtkaXNhYmxlZF0pOmFjdGl2ZSAuV29BOVpke2NvbG9yOiMwMDFkMzV9LkJtZWdvZiAuZDNvM0FkLC5CbWVnb2YgLldvQTlaZHtjb2xvcjojMGI1N2QwfS5CbWVnb2Y6bm90KFtkaXNhYmxlZF0pIC5rMEpqZzpob3ZlciAuZDNvM0FkLC5CbWVnb2Y6bm90KFtkaXNhYmxlZF0pIC5rMEpqZzpob3ZlciAuV29BOVpkLC5CbWVnb2YuazBKamc6bm90KFtkaXNhYmxlZF0pOmhvdmVyIC5kM28zQWQsLkJtZWdvZi5rMEpqZzpub3QoW2Rpc2FibGVkXSk6aG92ZXIgLldvQTlaZHtjb2xvcjojMDAxZDM1fS5icktteGI6Zm9jdXMtdmlzaWJsZSAuQm1lZ29mOm5vdChbZGlzYWJsZWRdKSAuZDNvM0FkLC5icktteGI6Zm9jdXMtdmlzaWJsZSAuQm1lZ29mOm5vdChbZGlzYWJsZWRdKSAuV29BOVpkLC5icktteGI6YWN0aXZlIC5CbWVnb2Y6bm90KFtkaXNhYmxlZF0pIC5kM28zQWQsLmJyS214YjphY3RpdmUgLkJtZWdvZjpub3QoW2Rpc2FibGVkXSkgLldvQTlaZCwuQm1lZ29mOm5vdChbZGlzYWJsZWRdKSAuazBKamc6Zm9jdXMtdmlzaWJsZSAuZDNvM0FkLC5CbWVnb2Y6bm90KFtkaXNhYmxlZF0pIC5rMEpqZzpmb2N1cy12aXNpYmxlIC5Xb0E5WmQsLkJtZWdvZjpub3QoW2Rpc2FibGVkXSkgLmswSmpnOmFjdGl2ZSAuZDNvM0FkLC5CbWVnb2Y6bm90KFtkaXNhYmxlZF0pIC5rMEpqZzphY3RpdmUgLldvQTlaZCwuQm1lZ29mLmswSmpnOm5vdChbZGlzYWJsZWRdKTpmb2N1cy12aXNpYmxlIC5kM28zQWQsLkJtZWdvZi5rMEpqZzpub3QoW2Rpc2FibGVkXSk6Zm9jdXMtdmlzaWJsZSAuV29BOVpkLC5CbWVnb2YuazBKamc6bm90KFtkaXNhYmxlZF0pOmFjdGl2ZSAuZDNvM0FkLC5CbWVnb2YuazBKamc6bm90KFtkaXNhYmxlZF0pOmFjdGl2ZSAuV29BOVpke2NvbG9yOiMwMDFkMzV9LnNMbDdkZVtzZWxlY3RlZF17Y29sb3I6dmFyKC0teFBwaU0pfS5zTGw3ZGVbc2VsZWN0ZWRdIC5uaU80dXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLUtJWlBuZSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5zTGw3ZGUucmx0N1ViW3NlbGVjdGVkXSAuZDNvM0FkOm5vdCguVVh3aHZiKSwuc0xsN2RlLmVGU1d4ZFtzZWxlY3RlZF0gLmQzbzNBZDpub3QoLlVYd2h2Yil7ZGlzcGxheTpub25lfS5zTGw3ZGVbc2VsZWN0ZWRdIC5SMDRUT2R7ZGlzcGxheTpmbGV4fS5zTGw3ZGUuTHdkVjBlW3NlbGVjdGVkXSAuY2xPeDFlOm5vdCgubDZQQU9kKXttYXJnaW4tbGVmdDo4cHh9LnNMbDdkZVtzZWxlY3RlZF0gLmswSmpnOmhvdmVyIC5rSHRjc2QsLnNMbDdkZS5rMEpqZ1tzZWxlY3RlZF06aG92ZXIgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiNkMmUzZmN9LmQyRDVoW3NlbGVjdGVkXXtjb2xvcjp2YXIoLS1yckpKVWMpfS5kMkQ1aFtzZWxlY3RlZF0gLm5pTzR1e2JhY2tncm91bmQtY29sb3I6dmFyKC0teGhVR3djKX0uZDJENWgucmx0N1ViW3NlbGVjdGVkXSAuZDNvM0FkOm5vdCguVVh3aHZiKSwuZDJENWguZUZTV3hkW3NlbGVjdGVkXSAuZDNvM0FkOm5vdCguVVh3aHZiKXtkaXNwbGF5Om5vbmV9LmQyRDVoW3NlbGVjdGVkXSAuUjA0VE9ke2Rpc3BsYXk6ZmxleH0uZDJENWguTHdkVjBlW3NlbGVjdGVkXSAuY2xPeDFlOm5vdCgubDZQQU9kKXttYXJnaW4tbGVmdDo4cHh9LmQyRDVoW3NlbGVjdGVkXSAuazBKamc6aG92ZXIsLmQyRDVoLmswSmpnW3NlbGVjdGVkXTpob3Zlcntjb2xvcjojMTk2N2QyfS5kMkQ1aFtzZWxlY3RlZF0gLmswSmpnOmhvdmVyIC5rSHRjc2QsLmQyRDVoLmswSmpnW3NlbGVjdGVkXTpob3ZlciAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6cmdiYSgyNiwxMTUsMjMyLC4wOCl9LmJyS214Yjpmb2N1cy12aXNpYmxlIC5kMkQ1aFtzZWxlY3RlZF0sLmQyRDVoLmswSmpnW3NlbGVjdGVkXTpmb2N1cy12aXNpYmxlLC5kMkQ1aFtzZWxlY3RlZF0gLmswSmpnOmZvY3VzLXZpc2libGV7Y29sb3I6IzE5NjdkMn0ucDlwZGNbc2VsZWN0ZWRde2NvbG9yOnZhcigtLXJySkpVYyl9LnA5cGRjW3NlbGVjdGVkXSAubmlPNHV7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ucDlwZGMucmx0N1ViW3NlbGVjdGVkXSAuZDNvM0FkOm5vdCguVVh3aHZiKSwucDlwZGMuZUZTV3hkW3NlbGVjdGVkXSAuZDNvM0FkOm5vdCguVVh3aHZiKXtkaXNwbGF5Om5vbmV9LnA5cGRjW3NlbGVjdGVkXSAuUjA0VE9ke2Rpc3BsYXk6ZmxleH0ucDlwZGMuTHdkVjBlW3NlbGVjdGVkXSAuY2xPeDFlOm5vdCgubDZQQU9kKXttYXJnaW4tbGVmdDo4cHh9LnA5cGRjW3NlbGVjdGVkXSAuazBKamc6aG92ZXIsLnA5cGRjLmswSmpnW3NlbGVjdGVkXTpob3ZlciAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6cmdiYSgyNiwxMTUsMjMyLDAuMDgpfS5mQ3JaeWNbZGlzYWJsZWRde2NvbG9yOiM0NzQ3NDc2MX0uZkNyWnljLmZDclp5Yy5mQ3JaeWMuZkNyWnljLmZDclp5Yy5mQ3JaeWNbZGlzYWJsZWRdIC5rSHRjc2R7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0uZkNyWnljLmZDclp5Yy5mQ3JaeWMuZkNyWnljLmZDclp5Yy5mQ3JaeWNbZGlzYWJsZWRdIC5uaU80dXtiYWNrZ3JvdW5kOiNmN2Y4Zjk7b3V0bGluZS1jb2xvcjojZDJkMmQyNjE7Y3Vyc29yOmF1dG87Y29sb3I6IzQ3NDc0NzYxfUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey5mQ3JaeWNbZGlzYWJsZWRdIC5uaU80dXtvdXRsaW5lLWNvbG9yOkdyYXlUZXh0O2N1cnNvcjphdXRvfS5mQ3JaeWNbZGlzYWJsZWRde2NvbG9yOkdyYXlUZXh0fX0uUkE2YUtbc2VsZWN0ZWRde2NvbG9yOnZhcigtLXhQcGlNKX0uUkE2YUtbc2VsZWN0ZWRdIC5uaU80dXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLUtJWlBuZSl9LmNxVjMyYltzZWxlY3RlZF17Y29sb3I6dmFyKC0teFBwaU0pfS5jcVYzMmJbc2VsZWN0ZWRdIC5uaU80dXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLUtJWlBuZSl9LmlBeVB3ZFtzZWxlY3RlZF17Y29sb3I6dmFyKC0teFBwaU0pfS5pQXlQd2Rbc2VsZWN0ZWRdIC5uaU80dXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLUtJWlBuZSl9LlIwNFRPZHtkaXNwbGF5Om5vbmV9LmJ0a3U1YltzZWxlY3RlZF0gLmQzbzNBZC5VWHdodmIsLkEyOXpnZltzZWxlY3RlZF0gLmNsT3gxZTpub3QoLmw2UEFPZCl7bWFyZ2luLWxlZnQ6OHB4fS5idGt1NWJbc2VsZWN0ZWRdIC5rMEpqZzpob3ZlciAua0h0Y3NkLC5idGt1NWIuazBKamdbc2VsZWN0ZWRdOmhvdmVyIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojMGI1N2QwMTV9LnJsdDdVYi5lckZNcmYgLmNsT3gxZS5jbE94MWUsLmVGU1d4ZC5lckZNcmYgLmNsT3gxZS5jbE94MWV7bWFyZ2luLXJpZ2h0OjB9LldvQTlaZHttYXJnaW46MCA4cHggMCA0cHh9LnNqVkpRZHtmb250LWZhbWlseTpHb29nbGUgU2FucyxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoyMHB4fS5UdzZDbWV7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXJ9LmJ0a3U1YltzZWxlY3RlZF0gLlhOMFljZXttYXJnaW4tcmlnaHQ6OHB4fS5idGt1NWIuVHc2Q21lW3NlbGVjdGVkXSAuaVk2ck1iIC5rSHRjc2QsLmJ0a3U1Yi5UdzZDbWVbc2VsZWN0ZWRdIC5pWTZyTWIgLm5pTzR1e2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LmJ0a3U1Yi5UdzZDbWVbc2VsZWN0ZWRdIC5FRHZQTmMgLmtIdGNzZCwuYnRrdTViLlR3NkNtZVtzZWxlY3RlZF0gLkVEdlBOYyAubmlPNHV7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS5idGt1NWIuVHc2Q21lW3NlbGVjdGVkXSAuaVk2ck1iIC5uaU80dSAua0h0Y3NkIC5jbE94MWV7bWFyZ2luLWxlZnQ6MH0uYnRrdTViOm5vdChbc2VsZWN0ZWRdKSAuRUR2UE5je2Rpc3BsYXk6bm9uZX0uYnRrdTViLlR3NkNtZVtzZWxlY3RlZF0gLkVEdlBOYyAubmlPNHV7Ym9yZGVyLXJpZ2h0Om5vbmV9LmJ0a3U1Yi5UdzZDbWVbc2VsZWN0ZWRdIC5pWTZyTWIgLm5pTzR1e2JvcmRlci1sZWZ0Om5vbmV9LlMybXpLZC5QcmpMOGMgLm5pTzR1e2JvcmRlci1yYWRpdXM6OTk5OTlweDtoZWlnaHQ6NDBweDt9LlMybXpLZC5BMjl6Z2YgLmswSmpnLC5TMm16S2QuQTI5emdmIC5rSHRjc2R7Ym9yZGVyLXJhZGl1czo5OTk5OXB4fS56SlV1cWZ7bWFyZ2luLWJvdHRvbTo0cHh9LkFCNFdmZnttYXJnaW4tbGVmdDoxNnB4fS53SFlsVGR7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMnB4fS55VVRNantmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjQwMH1Aa2V5ZnJhbWVzIGctc25hY2tiYXItc2hvd3tmcm9te3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9dG97dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpfX1Aa2V5ZnJhbWVzIGctc25hY2tiYXItaGlkZXtmcm9te3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKX10b3t0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19QGtleWZyYW1lcyBnLXNuYWNrYmFyLXNob3ctY29udGVudHtmcm9te29wYWNpdHk6MH19QGtleWZyYW1lcyBnLXNuYWNrYmFyLWhpZGUtY29udGVudHt0b3tvcGFjaXR5OjB9fS5MSDN3Rywuamhadm9ke2JvdHRvbTowO2hlaWdodDowO3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6OTk5fS5PeDhDeWR7aGVpZ2h0OjA7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDo5OTl9LkU3SGRnYntib3gtc2l6aW5nOmJvcmRlci1ib3g7dmlzaWJpbGl0eTpoaWRkZW47ZGlzcGxheTppbmxpbmUtYmxvY2t9LnlLNmpxZSwuV3Uwdjlie2JveC1zaXppbmc6Ym9yZGVyLWJveDt2aXNpYmlsaXR5OmhpZGRlbn0uclRZVE5ie2FuaW1hdGlvbjpnLXNuYWNrYmFyLWhpZGUgLjRzIGN1YmljLWJlemllcigwLjQsMCwwLjIsMSkgYm90aDt2aXNpYmlsaXR5OmluaGVyaXR9LlVld1BNZHthbmltYXRpb246Zy1zbmFja2Jhci1zaG93IC41cyBjdWJpYy1iZXppZXIoMC40LDAsMC4yLDEpIGJvdGg7dmlzaWJpbGl0eTppbmhlcml0fS5iNzdIS2Z7YmFja2dyb3VuZC1jb2xvcjojMzIzMjMyO3BhZGRpbmc6MCAyNHB4fS5ySXhzdmV7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6ZmxleH0uclRZVE5iIC5ySXhzdmV7YW5pbWF0aW9uOmctc25hY2tiYXItaGlkZS1jb250ZW50IC4zNXMgY3ViaWMtYmV6aWVyKDAuNCwwLDAuMiwxKSBib3RofS5VZXdQTWQgLnJJeHN2ZXthbmltYXRpb246Zy1zbmFja2Jhci1zaG93LWNvbnRlbnQgLjM1cyBjdWJpYy1iZXppZXIoMC40LDAsMC4yLDEpIC4xNXMgYm90aH0uVHhuZ25iLlR4bmduYntsaW5lLWhlaWdodDoyMHB4fS5UeG5nbmJ7Y29sb3I6I2ZmZjtmbGV4OjEgMSBhdXRvO21hcmdpbjoxNHB4IDA7d29yZC1icmVhazpicmVhay13b3JkfS5zSEZOWWR7bWFyZ2luLXJpZ2h0Oi04cHh9QG1lZGlhIChtaW4td2lkdGg6NTY5cHgpIGFuZCAobWluLWhlaWdodDo1NjlweCl7LkxIM3dHLC5qaFp2b2R7dGV4dC1hbGlnbjpjZW50ZXJ9Lld1MHY5YiwueUs2anFle2Rpc3BsYXk6aW5saW5lLWJsb2NrO21heC13aWR0aDo1NjhweDttaW4td2lkdGg6Mjg4cHg7dGV4dC1hbGlnbjpsZWZ0fS5iNzdIS2Z7Ym9yZGVyLXJhZGl1czo4cHh9LnNIRk5ZZHttYXJnaW4tbGVmdDo0MHB4fX0uVjlPMVlkIC5ySXhzdmV7ZGlzcGxheTpibG9jaztwYWRkaW5nOjhweCAwfS5WOU8xWWQgLnNIRk5ZZHttYXJnaW4tbGVmdDowfS5WOU8xWWQgLnNIRk5ZZCBnLWZsYXQtYnV0dG9ue3BhZGRpbmctbGVmdDowfS5qaFp2b2R7bGVmdDoxNnB4O3JpZ2h0OmF1dG99LkxIM3dHLC5PeDhDeWR7bGVmdDowO3JpZ2h0OjB9LnlLNmpxZSwuV3UwdjliLC5FN0hkZ2J7cG9zaXRpb246cmVsYXRpdmV9Lkc5am9yZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTI0cHg7Ym90dG9tOi0yNHB4O2xlZnQ6LTI0cHg7cmlnaHQ6LTI0cHh9LnpVZHBwY3twYWRkaW5nLWJvdHRvbTo0cHh9LlRrWlpzZntwYWRkaW5nLWJvdHRvbTo0cHg7cGFkZGluZy10b3A6NHB4fS5NZEZEZ2IuSFVRTklle2NvbG9yOnJnYmEoMCwwLDAsLjI2KX0uY3pVWTJle2JhY2tncm91bmQtY29sb3I6IzBiNTdkMH1nLWltZ3tkaXNwbGF5OmJsb2NrfWctaW1ne2hlaWdodDoxMDAlfS5ZUTRnYWZ7ZGlzcGxheTpibG9jaztib3JkZXI6MH0udTl3SDdkIC5ZUTRnYWZ7b2JqZWN0LWZpdDpmaWxsfS5tTnNJaGIgLllRNGdhZntvYmplY3QtZml0OmNvdmVyfS50YjA4UGQgLllRNGdhZntvYmplY3QtZml0OmNvbnRhaW59LndBMUJnZXtwb3NpdGlvbjpyZWxhdGl2ZX0uaGh0anJje2ZsZXg6bm9uZX0uWkdvbUtme292ZXJmbG93OmhpZGRlbn0uTExPOHlke2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDMpO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO3BvaW50ZXItZXZlbnRzOm5vbmU7bGVmdDowO3JpZ2h0OjB9Lkxxa0t0ZnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpub25lO2hlaWdodDoxMDAlO2p1c3RpZnktY29udGVudDpjZW50ZXI7bGVmdDowO29wYWNpdHk6Ljk5OTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX0uSXo3NDBkLkxxa0t0Zntib3JkZXItcmFkaXVzOjUwJX0uTHFrS3RmLkRuZ3JQY3tsZWZ0OjUwJTttYXJnaW4tbGVmdDotNTB2dzttYXJnaW4tcmlnaHQ6LTUwdnc7cmlnaHQ6NTAlO3dpZHRoOjEwMHZ3fS5hbXBfcmV7cG9zaXRpb246cmVsYXRpdmV9LlF5SkkzZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXhoVUd3Yyk7Y29sb3I6IzY2Njtib3gtc2hhZG93OjAgNHB4IDE2cHggcmdiYSgwLDAsMCwwLjIpfS5vUWNQdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXhoVUd3Yyl9LlF5SkkzZHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjIpO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6OTEyMH0ubkZkRkhme2FuaW1hdGlvbjpnLWJ1YmJsZS1zaG93IC4ycyBmb3J3YXJkc30uYkUzS2lme2FuaW1hdGlvbjpnLWJ1YmJsZS1oaWRlIC4ycyBmb3J3YXJkc31Aa2V5ZnJhbWVzIGctYnViYmxlLXNob3d7ZnJvbXtvcGFjaXR5OjB9dG97b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIGctYnViYmxlLWhpZGV7ZnJvbXtvcGFjaXR5OjF9dG97b3BhY2l0eTowfX0uUXlKSTNkLlFKbm96ZXtib3JkZXItcmFkaXVzOjEycHh9LlF5SkkzZC5TaU9qSmJ7Ym9yZGVyLWxlZnQtd2lkdGg6MDtib3JkZXItcmlnaHQtd2lkdGg6MDt3aWR0aDoxMDAlfS5ReUpJM2QuUG5RTWlle2JhY2tncm91bmQtY29sb3I6IzIwMjEyNDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC41KTtjb2xvcjojZGFkY2UwfS5ReUpJM2QuTFdlbjVje2JhY2tncm91bmQtY29sb3I6IzFhNzNlODtib3JkZXI6bm9uZTtjb2xvcjojZmZmO3otaW5kZXg6OTEwMH0udFltZnhle3RyYW5zZm9ybTp0cmFuc2xhdGUoMi41cHgsMS44cHgpIHJvdGF0ZVooNDVkZWcpO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6OTEyMX1bZGlyPXJ0bF0gLnRZbWZ4ZXt0cmFuc2Zvcm06dHJhbnNsYXRlKC0yLjVweCwxLjhweCkgcm90YXRlWig0NWRlZyl9LklCUFp1LnRZbWZ4ZXt0cmFuc2Zvcm06dHJhbnNsYXRlKDIuNXB4LC01LjdweCkgcm90YXRlWig0NWRlZyl9W2Rpcj1ydGxdIC5JQlBadS50WW1meGV7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMi41cHgsLTUuN3B4KSByb3RhdGVaKDQ1ZGVnKX0ub1FjUHR7Ym9yZGVyLWJvdHRvbTpub25lO2JvcmRlci1sZWZ0OjFweCBzb2xpZCByZ2JhKDAsMCwwLC4yKTtib3JkZXItcmlnaHQ6bm9uZTtib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4yKTtib3gtc2l6aW5nOmJvcmRlci1ib3g7aGVpZ2h0OjEzLjQzNXB4O3dpZHRoOjEzLjQzNXB4fS5JQlBadSAub1FjUHR7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwuMik7Ym9yZGVyLWxlZnQ6bm9uZTtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjIpO2JvcmRlci10b3A6bm9uZX0uUG5RTWllIC5vUWNQdHtiYWNrZ3JvdW5kLWNvbG9yOiMyMDIxMjQ7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC41KX0uTFdlbjVjIC5vUWNQdHtiYWNrZ3JvdW5kLWNvbG9yOiMxYTczZTg7Ym9yZGVyOm5vbmV9Lm5uRkd1ZntkaXNwbGF5Om5vbmV9LmM1YVpQYntjdXJzb3I6cG9pbnRlcn0uRGNsdHJle3BvaW50ZXItZXZlbnRzOm5vbmV9LlRZUThBZntjbGlwOnJlY3QoMXB4LDFweCwxcHgsMXB4KTtoZWlnaHQ6MXB4O292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MXB4O3otaW5kZXg6LTEwMDA7dG9wOjNweDtyaWdodDozcHh9LkpnenFZZHtmb250LWZhbWlseTpHb29nbGUgU2FucyxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyOHB4O2xpbmUtaGVpZ2h0OjM2cHh9LlBxa24yZXtmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjI0cHh9Llp3UmhKZHtmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjE4cHh9Lk1CZXVPe2ZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6NDAwfS5NQmV1T3tsaW5lLWhlaWdodDoyNHB4fS5SRVM5amZ7Y29sb3I6dmFyKC0tWUxOTkhjKX0uR1M1clJke2NvbG9yOnZhcigtLUpLcXgyKX0uR1M1clJkOnZpc2l0ZWR7Y29sb3I6IzY4MWRhOH0uaXdZMU1ie2hlaWdodDowO29wYWNpdHk6MDtkaXNwbGF5OmJsb2NrfS5WOGZXSHtib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7Y2xpcC1wYXRoOnBvbHlnb24oMCAwLDAgMCwwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwOy13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTt6LWluZGV4Oi0xMDAwO3VzZXItc2VsZWN0Om5vbmV9LmdXN3pTY3tkaXNwbGF5OmJsb2NrfS5DcW1QUmU6YWN0aXZlIC5hVmxUcGMgc3BhbnthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMiwuMiwwLDEpO2FuaW1hdGlvbi1kdXJhdGlvbjouNXN9QGtleWZyYW1lcyBzaGFwZS10d2Vlbi1yaWdodHs1MCV7dHJhbnNmb3JtOnNjYWxlWSguOSkgdHJhbnNsYXRlWCg4JSl9MTAwJXt0cmFuc2Zvcm06bm9uZX19QGtleWZyYW1lcyBzaGFwZS10d2Vlbi1sZWZ0ezUwJXt0cmFuc2Zvcm06c2NhbGVZKC45KSB0cmFuc2xhdGVYKC04JSl9MTAwJXt0cmFuc2Zvcm06bm9uZX19LkNxbVBSZTphY3RpdmUgLktBckp1YyBzcGFue2FuaW1hdGlvbi1uYW1lOnNoYXBlLXR3ZWVuLXJpZ2h0fS5DcW1QUmU6YWN0aXZlIC5ZYkNyemQgc3BhbnthbmltYXRpb24tbmFtZTpzaGFwZS10d2Vlbi1sZWZ0fUBrZXlmcmFtZXMgc2hhcGUtdHdlZW4tdXB7NTAle3RyYW5zZm9ybTpzY2FsZVgoLjkpIHRyYW5zbGF0ZVkoLTglKX0xMDAle3RyYW5zZm9ybTpub25lfX0uQ3FtUFJlOmFjdGl2ZSAub1hxWnhjIHNwYW57YW5pbWF0aW9uLW5hbWU6c2hhcGUtdHdlZW4tdXB9QGtleWZyYW1lcyBzaGFwZS10d2Vlbi1kb3duezUwJXt0cmFuc2Zvcm06c2NhbGVYKC45KSB0cmFuc2xhdGVZKDglKX0xMDAle3RyYW5zZm9ybTpub25lfX0uQ3FtUFJlOmFjdGl2ZSAuVEQ1RlFlIHNwYW57YW5pbWF0aW9uLW5hbWU6c2hhcGUtdHdlZW4tZG93bn0uQWFqZDN7cGFkZGluZy1sZWZ0OjE2cHh9LlUwOUp4ZHtwYWRkaW5nLXJpZ2h0OjRweH0uZ3hNZFZke3BhZGRpbmctcmlnaHQ6OHB4fS5tV2NmMGV7Y3Vyc29yOnBvaW50ZXJ9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7LkNOYlBuY3tiYWNrZ3JvdW5kLWNvbG9yOkJ1dHRvbkZhY2U7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItY29sb3I6QnV0dG9uQm9yZGVyO2NvbG9yOkJ1dHRvblRleHR9fS5WZkwyWXtwb3NpdGlvbjpyZWxhdGl2ZTt9LllRcFg5ZHtjdXJzb3I6cG9pbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZTt9LkxSWnd1Y3tkaXNwbGF5OmlubGluZS1ibG9ja30ubktIeVRje2NvbG9yOnZhcigtLUlYb3hVZSk7ZmxvYXQ6cmlnaHQ7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTZweDtwYWRkaW5nLWJvdHRvbTo0cHh9LmVER3FOZHtjb2xvcjp2YXIoLS1JWG94VWUpO2Zsb2F0OnJpZ2h0O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE2cHh9Lms2MmdqYjpob3ZlciwuazYyZ2piIC5XN0dDb2M6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ucjJmam1ke21hcmdpbi1ib3R0b206MHB4O21hcmdpbi10b3A6MHB4fWctZHJvcGRvd24tbWVudXtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0uSmIwWmlmIGctZHJvcGRvd24tbWVudXt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LldOTjFie2JhY2tncm91bmQtY29sb3I6dmFyKC0teGhVR3djKX0uVzRYcU57Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS14aFVHd2MpfS5HS1hXVntib3JkZXItdG9wOjFweCBzb2xpZCAjZGFkY2UwO2hlaWdodDowO21hcmdpbi1sZWZ0OjVweDttYXJnaW4tcmlnaHQ6NXB4fS5lTlJ3eWZ7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uYWRHTjZbZGlzYWJsZWRde3BvaW50ZXItZXZlbnRzOm5vbmU7Y3Vyc29yOmRlZmF1bHQ7YmFja2dyb3VuZC1jb2xvcjojZjdmOGY5fS5wa1dCc2V7Ym94LXNoYWRvdzowIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwwLjIpfS5wa1dCc2V7Ym9yZGVyLXJhZGl1czo4cHh9LlVqQkdMe2Rpc3BsYXk6YmxvY2t9LkNjTmU2ZXtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9ja30uaVJRSFple3Bvc2l0aW9uOmFic29sdXRlfS5RYXF1NXtwb3NpdGlvbjpyZWxhdGl2ZX0uc2huTW9jLkNjTmU2ZXtkaXNwbGF5OmJsb2NrfS52NFpwYmUuQ2NOZTZle2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5QQm40NGV7Ym9yZGVyLXJhZGl1czo4cHh9LnlLVXlqIC5FcFBZTGQ6Zmlyc3Qtb2YtdHlwZXtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjhweDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czo4cHh9LnlLVXlqIC5FcFBZTGQ6bGFzdC1vZi10eXBle2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6OHB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjhweH0ueVRpazB7Ym9yZGVyOm5vbmU7ZGlzcGxheTpibG9jaztvdXRsaW5lOm5vbmV9LndwbEpCZHt3aGl0ZS1zcGFjZTpub3dyYXB9LkpNMjJTOjotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDo4cHh9LkpNMjJTOjotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOiNiYWJhYmE7Ym9yZGVyLXJpZ2h0OjRweCBzb2xpZCAjZmZmfS5pUVhUSmV7cGFkZGluZzo1cHggMH0uWnQwYTVlLkxHaWx1Y3tib3JkZXItdG9wLWNvbG9yOnZhcigtLWdTNWpYYil9Llp0MGE1ZS5MR2lsdWMsLlp0MGE1ZS5FcFBZTGRbZGlzYWJsZWRde2NvbG9yOnJnYmEoMCwwLDAsMC4yNikhaW1wb3J0YW50fS5DamladmIsLkdablFxZS5FcFBZTGQ6YWN0aXZle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjEpfS5FcFBZTGR7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0uWXBjRG5me3BhZGRpbmc6MCAxNnB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uWXBjRG5mLkhHMWR2ZHtwYWRkaW5nOjB9LkhHMWR2ZD4qe3BhZGRpbmc6MCAxNnB4fS5XdFY1bmQgLllwY0RuZntwYWRkaW5nLWxlZnQ6MjhweH0uWnQwYTVlIC5ZcGNEbmZ7bGluZS1oZWlnaHQ6NDhweH0uR1puUXFlIC5ZcGNEbmZ7bGluZS1oZWlnaHQ6MjNweH0uRXBQWUxkOmhvdmVye2N1cnNvcjpwb2ludGVyfS5FcFBZTGQsLkNCOG5EZTpob3ZlcntjdXJzb3I6ZGVmYXVsdH0uTEdpbHVjLC5FcFBZTGRbZGlzYWJsZWRde3BvaW50ZXItZXZlbnRzOm5vbmU7Y3Vyc29yOmRlZmF1bHR9LkxHaWx1Y3tib3JkZXItdG9wOjFweCBzb2xpZDtoZWlnaHQ6MDttYXJnaW46NXB4IDB9Llp0MGE1ZS5DQjhuRGV7YmFja2dyb3VuZDpuby1yZXBlYXQgbGVmdCA4cHggY2VudGVyfS5adDBhNWUuQ0I4bkRle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vc3NsLmdzdGF0aWMuY29tL2ltYWdlcy9pY29ucy9tYXRlcmlhbC9zeXN0ZW0vMXgvZG9uZV9ibGFja18xNmRwLnBuZyl9LkdablFxZS5DQjhuRGV7YmFja2dyb3VuZDpuby1yZXBlYXQgbGVmdCBjZW50ZXJ9LkdablFxZS5DQjhuRGV7YmFja2dyb3VuZC1pbWFnZTp1cmwoaHR0cHM6Ly9zc2wuZ3N0YXRpYy5jb20vdWkvdjEvbWVudS9jaGVja21hcmsyLnBuZyl9LkdablFxZS5MR2lsdWMsLkdablFxZS5FcFBZTGRbZGlzYWJsZWRde29wYWNpdHk6NjElfS5HWm5RcWUuTEdpbHVje2JvcmRlci10b3AtY29sb3I6dmFyKC0tZ1M1alhiKX0uZUNjVUEsLmNEbnhPe3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym9yZGVyLXJhZGl1czo1MCV9LnJMZFdmZXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOmluaGVyaXQ7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lk1EZm9UZCwuaGRxSUZle3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lk1EZm9UZCwuY0RueE97b3BhY2l0eTowfS5oZHFJRmUsLmNEbnhPe292ZXJmbG93OmhpZGRlbn0uYkt2b2diIC5NRGZvVGQsLmJLdm9nYiAuaGRxSUZle2JvcmRlci1yYWRpdXM6NTAlfS5iS3ZvZ2IgLmVDY1VBe292ZXJmbG93OmhpZGRlbn0uTHdWeUhke3RyYW5zaXRpb246bWF4LWhlaWdodCAuM3M7b3ZlcmZsb3c6aGlkZGVufS5ZaDN0Zntwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudDtyaWdodDowO2NvbG9yOiM1ZTVlNWU7dG9wOjUwJTttYXJnaW4tdG9wOi0xMnB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXJ9LkZYTU9wYiAuWWgzdGZ7bWFyZ2luLXRvcDotMTRweH0uRlhNT3BiIC5NTGd4MGV7dHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKX0ueWRTb0N7cGFkZGluZy1sZWZ0OjhweH0ua0dmc3twb3NpdGlvbjpyZWxhdGl2ZX0uWWgzdGYuY2h2WUZje2JhY2tncm91bmQ6dmFyKC0tWEtNRHhjKTtib3JkZXItcmFkaXVzOjI1cHg7bWFyZ2luLXRvcDotMThweDtwYWRkaW5nOjZweH0uU3BLc1Vje21hcmdpbjowIC0xMHB4O3BhZGRpbmc6MCAxMHB4fS5WMXNMNWN7b3ZlcmZsb3c6dmlzaWJsZX0uUzhQQndle21heC1oZWlnaHQ6MDtkaXNwbGF5Om5vbmV9LmhPYkFjY3ttYXJnaW4tbGVmdDo0cHg7bWFyZ2luLXJpZ2h0OjRweH0uZ1Rld2J7cGFkZGluZy1sZWZ0OjhweDtwYWRkaW5nLXJpZ2h0OjhweH0udGhzWlhje2JhY2tncm91bmQ6IzFhNzNlOH0uaGlRUlFje2JhY2tncm91bmQ6I2VlZWVlZX0uQmIxSktle3BhZGRpbmctYm90dG9tOjhweH0ub3V5N01je3BhZGRpbmctbGVmdDoxNnB4O3BhZGRpbmctcmlnaHQ6MTZweH0uTThDRWVke3BhZGRpbmctdG9wOjEycHh9LnoxYXNDZXtkaXNwbGF5OmlubGluZS1ibG9jaztmaWxsOmN1cnJlbnRDb2xvcjtoZWlnaHQ6MjRweDtsaW5lLWhlaWdodDoyNHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjI0cHh9LnoxYXNDZSBzdmd7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfTwvc3R5bGU+PC9oZWFkPjxib2R5IGpzbW9kZWw9XCJoc3BERGYgXCI+PG5vc2NyaXB0PjxtZXRhIGNvbnRlbnQ9XCIwO3VybD0vP3NjYV9lc3Y9NzAzNWZmNmJmYTQ1ZjRhOCZhbXA7c2NhX3Vwdj0xJmFtcDtvdXRwdXQ9c2VhcmNoJmFtcDtnYnY9MSZhbXA7c2VpPWg0Q3JadnlMQzVPZmktZ1Bfb3FKLVF3XCIgaHR0cC1lcXVpdj1cInJlZnJlc2hcIj48c3R5bGU+dGFibGUsZGl2LHNwYW4scHtkaXNwbGF5Om5vbmV9PC9zdHlsZT48ZGl2IHN0eWxlPVwiZGlzcGxheTpibG9ja1wiPjxhIGhyZWY9XCIvP3NjYV9lc3Y9NzAzNWZmNmJmYTQ1ZjRhOCZhbXA7c2NhX3Vwdj0xJmFtcDtvdXRwdXQ9c2VhcmNoJmFtcDtnYnY9MSZhbXA7c2VpPWg0Q3JadnlMQzVPZmktZ1Bfb3FKLVF3XCI+S2xpY2tlIGhpZXI8L2E+LCB3ZW5uIGR1IG5hY2ggZWluaWdlbiBTZWt1bmRlbiBuaWNodCBhdXRvbWF0aXNjaCB3ZWl0ZXJnZWxlaXRldCB3aXJzdC48L2Rpdj48L25vc2NyaXB0PjxzdHlsZT4uTDNlVWdie2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47aGVpZ2h0OjEwMCV9Lm8zajk5e2ZsZXgtc2hyaW5rOjA7Ym94LXNpemluZzpib3JkZXItYm94fS5uMXhKY2Z7aGVpZ2h0OjYwcHh9LkxMRDRtZXttaW4taGVpZ2h0OjE1MHB4O2hlaWdodDpjYWxjKDEwMCUgLSA1NjBweCk7bWF4LWhlaWdodDoyOTBweH0ueXIxOVpie21pbi1oZWlnaHQ6OTJweH0uaWtyVDRle21heC1oZWlnaHQ6MTYwcHh9Lm13aHQ5ZHtkaXNwbGF5Om5vbmV9LkFESGo0ZXtwYWRkaW5nLXRvcDowcHg7cGFkZGluZy1ib3R0b206ODVweH0ub1d5WnJle3dpZHRoOjEwMCU7aGVpZ2h0OjUwMHB4O2JvcmRlci13aWR0aDowfS5xYXJzdGJ7ZmxleC1ncm93OjF9PC9zdHlsZT48ZGl2IGNsYXNzPVwiTDNlVWdiXCIgZGF0YS1odmVpZD1cIjFcIj48ZGl2IGNsYXNzPVwibzNqOTkgbjF4SmNmIE5lNm5TZFwiIHJvbGU9XCJuYXZpZ2F0aW9uXCI+PHN0eWxlPi5OZTZuU2R7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjZweH0uTFgzc1pie2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZsZXgtZ3JvdzoxfTwvc3R5bGU+PGRpdiBjbGFzcz1cIkxYM3NaYlwiPjxkaXY+PGRpdiBjbGFzcz1cImdiX2hhIGdiX2RkIGdiXzlhIGdiX0NkIGdiX0NhXCIgaWQ9XCJnYlwiPjxkaXYgY2xhc3M9XCJnYl91ZCBnYl83YSBnYl9pZFwiIGRhdGEtb2dzci11cD1cIlwiPjxkaXY+PGRpdiBjbGFzcz1cImdiX28gZ2JfQSBnYl9QZiBnYl9GZlwiIGRhdGEtb2dibD1cIlwiPjxkaXYgY2xhc3M9XCJnYl96IGdiX0FcIj48YSBjbGFzcz1cImdiX3lcIiBhcmlhLWxhYmVsPVwiR21haWwgXCIgZGF0YS1waWQ9XCIyM1wiIGhyZWY9XCJodHRwczovL21haWwuZ29vZ2xlLmNvbS9tYWlsLyZhbXA7b2dibFwiIHRhcmdldD1cIl90b3BcIj5HbWFpbDwvYT48L2Rpdj48ZGl2IGNsYXNzPVwiZ2JfeiBnYl9BXCI+PGEgY2xhc3M9XCJnYl95XCIgYXJpYS1sYWJlbD1cIk5hY2ggQmlsZGVybiBzdWNoZW4gXCIgZGF0YS1waWQ9XCIyXCIgaHJlZj1cImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vaW1naHA/aGw9ZGUmYW1wO29nYmxcIiB0YXJnZXQ9XCJfdG9wXCI+QmlsZGVyPC9hPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9XCJnYl9MZFwiPjxkaXYgY2xhc3M9XCJnYl9aY1wiPjxkaXYgY2xhc3M9XCJnYl9rIGdiX0ZkIGdiX0FcIiBkYXRhLW9nc3ItZmI9XCJ0cnVlXCIgZGF0YS1vZ3NyLWFsdD1cIlwiIGlkPVwiZ2J3YVwiPjxkaXYgY2xhc3M9XCJnYl9mXCI+PGEgY2xhc3M9XCJnYl9kXCIgYXJpYS1sYWJlbD1cIkdvb2dsZS1BcHBzXCIgaHJlZj1cImh0dHBzOi8vd3d3Lmdvb2dsZS5sdS9pbnRsL2RlL2Fib3V0L3Byb2R1Y3RzXCIgYXJpYS1leHBhbmRlZD1cImZhbHNlXCIgcm9sZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMFwiPjxzdmcgY2xhc3M9XCJnYl9oXCIgZm9jdXNhYmxlPVwiZmFsc2VcIiB2aWV3Ym94PVwiMCAwIDI0IDI0XCI+PHBhdGggZD1cIk02LDhjMS4xLDAgMiwtMC45IDIsLTJzLTAuOSwtMiAtMiwtMiAtMiwwLjkgLTIsMiAwLjksMiAyLDJ6TTEyLDIwYzEuMSwwIDIsLTAuOSAyLC0ycy0wLjksLTIgLTIsLTIgLTIsMC45IC0yLDIgMC45LDIgMiwyek02LDIwYzEuMSwwIDIsLTAuOSAyLC0ycy0wLjksLTIgLTIsLTIgLTIsMC45IC0yLDIgMC45LDIgMiwyek02LDE0YzEuMSwwIDIsLTAuOSAyLC0ycy0wLjksLTIgLTIsLTIgLTIsMC45IC0yLDIgMC45LDIgMiwyek0xMiwxNGMxLjEsMCAyLC0wLjkgMiwtMnMtMC45LC0yIC0yLC0yIC0yLDAuOSAtMiwyIDAuOSwyIDIsMnpNMTYsNmMwLDEuMSAwLjksMiAyLDJzMiwtMC45IDIsLTIgLTAuOSwtMiAtMiwtMiAtMiwwLjkgLTIsMnpNMTIsOGMxLjEsMCAyLC0wLjkgMiwtMnMtMC45LC0yIC0yLC0yIC0yLDAuOSAtMiwyIDAuOSwyIDIsMnpNMTgsMTRjMS4xLDAgMiwtMC45IDIsLTJzLTAuOSwtMiAtMiwtMiAtMiwwLjkgLTIsMiAwLjksMiAyLDJ6TTE4LDIwYzEuMSwwIDIsLTAuOSAyLC0ycy0wLjksLTIgLTIsLTIgLTIsMC45IC0yLDIgMC45LDIgMiwyelwiPjwvcGF0aD48aW1hZ2Ugc3JjPVwiaHR0cHM6Ly9zc2wuZ3N0YXRpYy5jb20vZ2IvaW1hZ2VzL2Jhci9hbC1pY29uLnBuZ1wiIGFsdD1cIlwiIGhlaWdodD1cIjI0XCIgd2lkdGg9XCIyNFwiIHN0eWxlPVwiYm9yZGVyOm5vbmU7ZGlzcGxheTpub25lIFxcOVwiPjwvaW1hZ2U+PC9zdmc+PC9hPjwvZGl2PjwvZGl2PjwvZGl2PjxhIGNsYXNzPVwiZ2JfdmEgZ2JfbmQgZ2JfZWQgZ2JfOWRcIiBhcmlhLWxhYmVsPVwiQW5tZWxkZW5cIiBocmVmPVwiaHR0cHM6Ly9hY2NvdW50cy5nb29nbGUuY29tL1NlcnZpY2VMb2dpbj9obD1kZSZhbXA7cGFzc2l2ZT10cnVlJmFtcDtjb250aW51ZT1odHRwczovL3d3dy5nb29nbGUuY29tLyZhbXA7ZWM9R0FaQW1nUVwiIHRhcmdldD1cIl90b3BcIj48c3BhbiBjbGFzcz1cImdiX0JkXCI+QW5tZWxkZW48L3NwYW4+PC9hPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9XCJvM2o5OSBMTEQ0bWUgTFM4T0pcIj48c3R5bGU+LkxTOE9Ke2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyfS5rMXpJQXtoZWlnaHQ6MTAwJTttYXJnaW4tdG9wOmF1dG99PC9zdHlsZT48ZGl2IGNsYXNzPVwiazF6SUEga0t2c2JcIj48c3R5bGU+LmtLdnNie21heC1oZWlnaHQ6MjMwcHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luLWxlZnQ6NDhweDttYXJnaW4tcmlnaHQ6NDhweH0uU3VVY0lie3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0Oi00OHB4O2JvdHRvbTowfTwvc3R5bGU+PGRpdiBzdHlsZT1cImhlaWdodDpjYWxjKDEwMCUgLSAyMDBweClcIj48L2Rpdj48YSBocmVmPVwiL3NlYXJjaD9zY2FfZXN2PTcwMzVmZjZiZmE0NWY0YTgmYW1wO3NjYV91cHY9MSZhbXA7cT1TdXJmZW4rT2x5bXBpYSZhbXA7b2k9ZGRsZSZhbXA7Y3Q9MzM1NjQ1MzE4JmFtcDtobD1kZSZhbXA7c2E9WCZhbXA7dmVkPTBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UVBRZ0NcIiBkYXRhLWh2ZWlkPVwiMlwiPjxzdHlsZT4ubG5YZHBke21heC1oZWlnaHQ6MTAwJTttYXgtd2lkdGg6MTAwJTtvYmplY3QtZml0OmNvbnRhaW47b2JqZWN0LXBvc2l0aW9uOmNlbnRlciBib3R0b207d2lkdGg6YXV0bzt2ZXJ0aWNhbC1hbGlnbjpib3R0b219PC9zdHlsZT48cGljdHVyZT48aW1nIGNsYXNzPVwibG5YZHBkXCIgYWx0PVwiU29tbWVyc3BpZWxlIGluIFBhcmlzIFx1MjAxMyBTdXJmZW5cIiBoZWlnaHQ9XCIyMDBcIiBzcmM9XCIvbG9nb3MvZG9vZGxlcy8yMDI0L3BhcmlzLWdhbWVzLXN1cmZpbmctNjc1MzY1MTgzNzExMDUyOC4zLWxhdy5naWZcIiB0aXRsZT1cIlNvbW1lcnNwaWVsZSBpbiBQYXJpcyBcdTIwMTMgU3VyZmVuXCIgd2lkdGg9XCI1MDBcIiBpZD1cImhwbG9nb1wiPjwvcGljdHVyZT48L2E+PGRpdiBjbGFzcz1cIlN1VWNJYlwiPjxzdHlsZT4uRG9FTDBie2N1cnNvcjpwb2ludGVyO2hlaWdodDo0OHB4O3dpZHRoOjQ4cHg7cG9zaXRpb246cmVsYXRpdmV9LkE4eHphYntib3JkZXItcmFkaXVzOjUwJTttYXJnaW46OHB4O2JhY2tncm91bmQtY29sb3I6dmFyKC0tWEtNRHhjKX0uVWo1aXhje2JvcmRlci1yYWRpdXM6NTAlO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7b3BhY2l0eTowO2JhY2tncm91bmQtY29sb3I6dmFyKC0tWUxOTkhjKX0uRG9FTDBiOmhvdmVyIC5VajVpeGN7b3BhY2l0eToxNSV9LkRvRUwwYjphY3RpdmUgLlVqNWl4Y3tvcGFjaXR5OjM5JX0uQ2RYZVdie2xlZnQ6LTFweDtwYWRkaW5nOjdweDtwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjpib3R0b207Y29sb3I6dmFyKC0tWUxOTkhjKX08L3N0eWxlPjxidXR0b24gY2xhc3M9XCJEb0VMMGJcIiBkYXRhLWFzeW5jLXRyaWdnZXI9XCJkZGxzaGFyZVwiIHRpdGxlPVwiVGVpbGVuXCIganNhY3Rpb249XCJ0cmlnZ2VyLnN6ak9SXCIgZGF0YS12ZWQ9XCIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFE0emdJQXdcIj48ZGl2IGNsYXNzPVwiQTh4emFiXCI+PGRpdiBjbGFzcz1cIlVqNWl4Y1wiPjwvZGl2PjxzcGFuIGNsYXNzPVwiQ2RYZVdiIHoxYXNDZSBGcDdNeVwiIHN0eWxlPVwiaGVpZ2h0OjE4cHg7bGluZS1oZWlnaHQ6MThweDt3aWR0aDoxOHB4XCI+PHN2ZyBmb2N1c2FibGU9XCJmYWxzZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+PHBhdGggZD1cIk0xOCAxNmMtLjc5IDAtMS41LjMxLTIuMDMuODFMOC45MSAxMi43Yy4wNS0uMjMuMDktLjQ2LjA5LS43cy0uMDQtLjQ3LS4wOS0uN2w3LjA1LTQuMTFjLjUzLjUgMS4yNS44MSAyLjA0LjgxIDEuNjYgMCAzLTEuMzQgMy0zcy0xLjM0LTMtMy0zLTMgMS4zNC0zIDNjMCAuMjQuMDQuNDguMDkuN0w4LjA0IDkuODFDNy41IDkuMzEgNi43OSA5IDYgOWMtMS42NiAwLTMgMS4zNC0zIDNzMS4zNCAzIDMgM2MuNzkgMCAxLjUtLjMxIDIuMDQtLjgxbDcuMDUgNC4xMmMtLjA1LjIyLS4wOS40NS0uMDkuNjkgMCAxLjY2IDEuMzQgMyAzIDNzMy0xLjM0IDMtMy0xLjM0LTMtMy0zem0wLTEyYy41NSAwIDEgLjQ1IDEgMXMtLjQ1IDEtMSAxLTEtLjQ1LTEtMSAuNDUtMSAxLTF6TTYgMTNjLS41NSAwLTEtLjQ1LTEtMXMuNDUtMSAxLTEgMSAuNDUgMSAxLS40NSAxLTEgMXptMTIgN2MtLjU1IDAtMS0uNDUtMS0xcy40NS0xIDEtMSAxIC40NSAxIDEtLjQ1IDEtMSAxelwiPjwvcGF0aD48L3N2Zz48L3NwYW4+PC9kaXY+PC9idXR0b24+PGlucHV0IHZhbHVlPVwiLy9nLmNvL2Rvb2RsZS9zc3A4Zmg4XCIgY2xhc3M9XCJkZGwtc2hvcnRsaW5rXCIgdHlwZT1cImhpZGRlblwiPjxpbnB1dCB2YWx1ZT1cIi8vZy5jby9kb29kbGUvdmNrOXd2a1wiIGNsYXNzPVwiZGRsLWZhY2Vib29rbGlua1wiIHR5cGU9XCJoaWRkZW5cIj48aW5wdXQgdmFsdWU9XCIvL2cuY28vZG9vZGxlL3VmdnR2NDRcIiBjbGFzcz1cImRkbC10d2l0dGVybGlua1wiIHR5cGU9XCJoaWRkZW5cIj48aW5wdXQgdmFsdWU9XCIvL2cuY28vZG9vZGxlLzNmcmR2MzJcIiBjbGFzcz1cImRkbC1lbWFpbGxpbmtcIiB0eXBlPVwiaGlkZGVuXCI+PGlucHV0IHZhbHVlPVwiLy9nLmNvL2Rvb2RsZS9oemFuZ3ljXCIgY2xhc3M9XCJkZGwtY29weWxpbmtcIiB0eXBlPVwiaGlkZGVuXCI+PGRpdiBqc2NvbnRyb2xsZXI9XCJWc3FTQ2NcIiBzdHlsZT1cImRpc3BsYXk6bm9uZVwiIGRhdGEtamlpcz1cInVwXCIgZGF0YS1hc3luYy10eXBlPVwiZGRsc2hhcmVcIiBpZD1cImRkbHNoYXJlXCIgY2xhc3M9XCJ5cFwiIGpzYWN0aW9uPVwid1VWS0VmOkZMOWFJZVwiPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9XCJvM2o5OSBpa3JUNGUgb203bnZmXCI+PHN0eWxlPi5vbTdudmZ7cGFkZGluZzoyMHB4fTwvc3R5bGU+PGRpYWxvZyBjbGFzcz1cInNwY2gtZGxnXCIgaWQ9XCJzcGNoLWRsZ1wiPjxkaXYgY2xhc3M9XCJzcGNoXCIgc3R5bGU9XCJkaXNwbGF5Om5vbmVcIiBpZD1cInNwY2hcIj48L2Rpdj48L2RpYWxvZz48Zm9ybSBhY3Rpb249XCIvc2VhcmNoXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgbWV0aG9kPVwiR0VUXCIgcm9sZT1cInNlYXJjaFwiPiA8ZGl2IGpzbW9kZWw9XCJiNVc4NSB2TnpLSGRcIiBqc2RhdGE9XCJNdUlFdmQ7XztCZTh3c2tcIj4gPGRpdiBqc2NvbnRyb2xsZXI9XCJjbmpFQ2ZcIiBqc21vZGVsPVwiVllrenUga2preWtkIEVQUnQ5ZCBMTTd3eCBRbHlyeWIgRXRDeDhiIElwM0VyYyBMOTdtdWQgICAgICAgICAgXCIgY2xhc3M9XCJBOFNCd2ZcIiBkYXRhLWFsdD1cImZhbHNlXCIgZGF0YS1iaWJvZT1cImZhbHNlXCIgZGF0YS1lZmFxbD1cImZhbHNlXCIgZGF0YS1ocD1cInRydWVcIiBqc2RhdGE9XCJMVnBsY2I7XztcIiBqc2FjdGlvbj1cImxYNlJXZDp3M1dzbWM7b2NEU3ZkOmR1d2ZHO1htR1J4YjptVnc2bmI7RGtwTTBiOmQzc1FMZDtJUU9hdmQ6ZEZ5UUVmO1h6WlpQZTpqSTN3emY7QWdoc2Y6QVZzbmxiO2lIZDlVOlE3Q25yYztmNWhFSGU6RzBqZ1lkO3ZteFViOmozYkpuYjtYQnFXNzppaFlhV2M7blR6ZnBmOllQUmF3YjtSMmM1TzpMdVJ1Z2Y7cWlDa0pkOkFOZGlkYztRM3ZXUGQ6RnRXeHFiO2h0Tk56OlNOSUpUZDtOT2c5TDpITGdoMzt1R29Ja2Q6ZXBVb2tiO3pMZEx3OmVhR0JTO0g5bXVWZDpKNGU2bGI7ZGp5UENmOm5NZVVKZjtoQkVJVmI6blVaOWxlO3JjdVE2YjpucFQybWRcIj48c3R5bGU+LkE4U0J3ZiwuSW9ybUt7d2lkdGg6NjQwcHg7fS5BOFNCd2Z7bWFyZ2luOjAgYXV0bzt3aWR0aDphdXRvO21heC13aWR0aDo1ODRweDtwYWRkaW5nLXRvcDo2cHg7cG9zaXRpb246cmVsYXRpdmV9LlJOTlhnYntkaXNwbGF5OmZsZXg7ei1pbmRleDozO3Bvc2l0aW9uOnJlbGF0aXZlO21pbi1oZWlnaHQ6NDRweDtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZGZlMWU1O2JveC1zaGFkb3c6bm9uZTtib3JkZXItcmFkaXVzOjI0cHg7bWFyZ2luOjAgYXV0bzt3aWR0aDo2MzhweDt3aWR0aDphdXRvO21heC13aWR0aDo1ODRweH0uZW1jYXYgLlJOTlhnYiwuQmdQUHJjIC5STk5YZ2J7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjA7Ym94LXNoYWRvdzowIDFweCA2cHggcmdiYSgzMiwzMywzNiwuMjgpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDt9LmVtY2F2LmVtY2F0IC5STk5YZ2J7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czoyNHB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjI0cHh9LlJOTlhnYjpob3Zlciwuc2JmYyAuUk5OWGdie2JhY2tncm91bmQ6I2ZmZjtib3gtc2hhZG93OjAgMXB4IDZweCByZ2JhKDMyLDMzLDM2LC4yOCk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5TRGtFUHtmbGV4OjE7ZGlzcGxheTpmbGV4O3BhZGRpbmc6MCA4cHggMCAwO30uRlBkb0xje3BhZGRpbmctdG9wOjE4cHh9LmVtY2F2LkE4U0J3Zi5wRDRxVGR7ei1pbmRleDo5ODl9LmlibHBje2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZy1yaWdodDoxM3B4O3BhZGRpbmctbGVmdDoxNHB4O2hlaWdodDo0NnB4fS5NOEg4cGJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7cGFkZGluZzppbmhlcml0O3dpZHRoOmluaGVyaXR9PC9zdHlsZT48ZGl2IGpzbmFtZT1cIlJOTlhnYlwiIGNsYXNzPVwiUk5OWGdiXCI+PGRpdiBjbGFzcz1cIlNEa0VQXCI+PGRpdiBqc25hbWU9XCJ1Rk1Pb2ZcIiBjbGFzcz1cImlibHBjXCI+PHN0eWxlPi5DY0FkTmJ7bWFyZ2luOmF1dG99LlFDem9FY3ttYXJnaW4tdG9wOjNweDtjb2xvcjojOWFhMGE2fTwvc3R5bGU+PGRpdiBjbGFzcz1cIkNjQWROYlwiPjxzcGFuIGNsYXNzPVwiUUN6b0VjIHoxYXNDZSBNWnkxUmJcIiBzdHlsZT1cImhlaWdodDoyMHB4O2xpbmUtaGVpZ2h0OjIwcHg7d2lkdGg6MjBweFwiPjxzdmcgZm9jdXNhYmxlPVwiZmFsc2VcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIGQ9XCJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QTYuNDcxIDYuNDcxIDAgMCAwIDE2IDkuNSA2LjUgNi41IDAgMSAwIDkuNSAxNmMxLjYxIDAgMy4wOS0uNTkgNC4yMy0xLjU3bC4yNy4yOHYuNzlsNSA0Ljk5TDIwLjQ5IDE5bC00Ljk5LTV6bS02IDBDNy4wMSAxNCA1IDExLjk5IDUgOS41UzcuMDEgNSA5LjUgNSAxNCA3LjAxIDE0IDkuNSAxMS45OSAxNCA5LjUgMTR6XCI+PC9wYXRoPjwvc3ZnPjwvc3Bhbj48L2Rpdj48L2Rpdj48ZGl2IGpzY29udHJvbGxlcj1cInZacjJyYlwiIGpzbmFtZT1cImdMRnlmXCIgY2xhc3M9XCJhNGJJY1wiIGRhdGEtaHBtZGU9XCJmYWxzZVwiIGRhdGEtbW5yPVwiMTBcIiBqc2FjdGlvbj1cImg1TTEyZTtpbnB1dDpkM3NRTGQ7Ymx1cjpqSTN3emZcIj48c3R5bGU+LmdMRnlmLC5xbDF0TWIsLllhY1F2e2xpbmUtaGVpZ2h0OjM0cHg7Zm9udC1zaXplOjE2cHg7ZmxleDoxMDAlO310ZXh0YXJlYS5nTEZ5ZiwucWwxdE1iLC5ZYWNRdntmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmO2xpbmUtaGVpZ2h0OjIycHg7Ym9yZGVyLWJvdHRvbTo4cHggc29saWQgdHJhbnNwYXJlbnQ7cGFkZGluZy10b3A6MTFweDtvdmVyZmxvdy14OmhpZGRlbn10ZXh0YXJlYS5nTEZ5Znt9LnNiZmMgdGV4dGFyZWEuZ0xGeWZ7d2hpdGUtc3BhY2U6cHJlLWxpbmU7b3ZlcmZsb3cteTphdXRvfS5nTEZ5ZntyZXNpemU6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO21hcmdpbjowO3BhZGRpbmc6MDtjb2xvcjpyZ2JhKDAsMCwwLC44Nyk7d29yZC13cmFwOmJyZWFrLXdvcmQ7b3V0bGluZTpub25lO2Rpc3BsYXk6ZmxleDstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9LmE0Yklje2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtmbGV4OjE7fS5ZYWNRdntjb2xvcjp0cmFuc3BhcmVudDt3aGl0ZS1zcGFjZTpwcmU7cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6bm9uZX0uWWFjUXYgc3Bhbnt0ZXh0LWRlY29yYXRpb246I2IzMjYxZSBkb3R0ZWQgdW5kZXJsaW5lfTwvc3R5bGU+PGRpdiBqc25hbWU9XCJ2ZExzd1wiIGNsYXNzPVwiWWFjUXZcIj48L2Rpdj48dGV4dGFyZWEgY2xhc3M9XCJnTEZ5ZlwiIGFyaWEtY29udHJvbHM9XCJBbGg2aWRcIiBhcmlhLW93bnM9XCJBbGg2aWRcIiBhdXRvZm9jdXM9XCJcIiB0aXRsZT1cIlN1Y2hlXCIgdmFsdWU9XCJcIiBqc2FjdGlvbj1cInBhc3RlOnB1eTI5ZDtcIiBhcmlhLWxhYmVsPVwiU3VjaGVcIiBhcmlhLWF1dG9jb21wbGV0ZT1cImJvdGhcIiBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIiBhcmlhLWhhc3BvcHVwPVwiZmFsc2VcIiBhdXRvY2FwaXRhbGl6ZT1cIm9mZlwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIGF1dG9jb3JyZWN0PVwib2ZmXCIgaWQ9XCJBUGpGcWJcIiBtYXhsZW5ndGg9XCIyMDQ4XCIgbmFtZT1cInFcIiByb2xlPVwiY29tYm9ib3hcIiByb3dzPVwiMVwiIHNwZWxsY2hlY2s9XCJmYWxzZVwiIGRhdGEtdmVkPVwiMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRMzlVRENBVVwiPjwvdGV4dGFyZWE+PC9kaXY+PGRpdiBjbGFzcz1cImZNMzNjZSBkUllZeGRcIj48c3R5bGU+LmRSWVl4ZHtkaXNwbGF5OmZsZXg7ZmxleDowIDAgYXV0bzthbGlnbi1pdGVtczpzdHJldGNoO2ZsZXgtZGlyZWN0aW9uOnJvdztoZWlnaHQ6NDRweH08L3N0eWxlPiA8c3R5bGU+LkJLUlBlZntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4OjEgMCBhdXRvO2ZsZXgtZGlyZWN0aW9uOnJvdztkaXNwbGF5OmZsZXg7Y3Vyc29yOnBvaW50ZXJ9LnZPWTdKe2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyOjA7YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXg6MSAwIGF1dG87Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpub25lO2hlaWdodDoxMDAlO2xpbmUtaGVpZ2h0OjQ0cHg7b3V0bGluZTpub25lO3BhZGRpbmc6MCAxMnB4fS5NMnZWM3tkaXNwbGF5OmZsZXh9LkV4Q0trZntoZWlnaHQ6MTAwJTtjb2xvcjp2YXIoLS1JWG94VWUpO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtvdXRsaW5lOm5vbmV9PC9zdHlsZT4gPHN0eWxlPi5CS1JQZWZ7cGFkZGluZy1yaWdodDo0cHh9LkFDUkFkZHtib3JkZXItbGVmdDoxcHggc29saWQgI2RhZGNlMDtoZWlnaHQ6NjUlfS5BQ1JBZGR7ZGlzcGxheTpub25lfS5BQ1JBZGQuTTJ2VjN7ZGlzcGxheTpibG9ja308L3N0eWxlPiA8ZGl2IGpzY29udHJvbGxlcj1cIlB5bUNDZVwiIGpzbmFtZT1cIlJQMHhvYlwiIGNsYXNzPVwiQktSUGVmXCI+IDxkaXYgY2xhc3M9XCJ2T1k3SlwiIHRhYmluZGV4PVwiMFwiIGpzbmFtZT1cInBramFzYlwiIGFyaWEtbGFiZWw9XCJMXHUwMGY2c2NoZW5cIiByb2xlPVwiYnV0dG9uXCIganNhY3Rpb249XCJBVnNubGI7cmN1UTZiOm5wVDJtZFwiIGRhdGEtdmVkPVwiMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRMDVZRkNBWVwiPiAgPHNwYW4ganNuYW1lPVwiaXRWcUtlXCIgY2xhc3M9XCJFeENLa2YgejFhc0NlIHJ6eUFEYlwiPjxzdmcgZm9jdXNhYmxlPVwiZmFsc2VcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIGQ9XCJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyelwiPjwvcGF0aD48L3N2Zz48L3NwYW4+ICAgPC9kaXY+IDxzcGFuIGpzbmFtZT1cInMxVmFSZVwiIGNsYXNzPVwiQUNSQWRkXCI+PC9zcGFuPiA8L2Rpdj4gPHN0eWxlPi5YRHlXMGV7ZmxleDoxIDAgYXV0bztkaXNwbGF5OmZsZXg7Y3Vyc29yOnBvaW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlcjowO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7b3V0bGluZTpub25lO3BhZGRpbmc6MCA4cHg7d2lkdGg6MjRweDtsaW5lLWhlaWdodDo0NHB4fS5nb3hqdWJ7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9PC9zdHlsZT48ZGl2IGpzY29udHJvbGxlcj1cInVuVjRUXCIganNuYW1lPVwiRjd1cUllXCIgY2xhc3M9XCJYRHlXMGVcIiBhcmlhLWxhYmVsPVwiU3ByYWNoc3VjaGVcIiByb2xlPVwiYnV0dG9uXCIgdGFiaW5kZXg9XCIwXCIganNhY3Rpb249XCJoNU0xMmU7cmN1UTZiOm5wVDJtZFwiIGRhdGEtdmVkPVwiMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRdnM4RENBY1wiPjxzdmcgY2xhc3M9XCJnb3hqdWJcIiBmb2N1c2FibGU9XCJmYWxzZVwiIHZpZXdib3g9XCIwIDAgMjQgMjRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZmlsbD1cIiM0Mjg1ZjRcIiBkPVwibTEyIDE1YzEuNjYgMCAzLTEuMzEgMy0yLjk3di03LjAyYzAtMS42Ni0xLjM0LTMuMDEtMy0zLjAxcy0zIDEuMzQtMyAzLjAxdjcuMDJjMCAxLjY2IDEuMzQgMi45NyAzIDIuOTd6XCI+PC9wYXRoPjxwYXRoIGZpbGw9XCIjMzRhODUzXCIgZD1cIm0xMSAxOC4wOGgydjMuOTJoLTJ6XCI+PC9wYXRoPjxwYXRoIGZpbGw9XCIjZmJiYzA0XCIgZD1cIm03LjA1IDE2Ljg3Yy0xLjI3LTEuMzMtMi4wNS0yLjgzLTIuMDUtNC44N2gyYzAgMS40NSAwLjU2IDIuNDIgMS40NyAzLjM4djAuMzJsLTEuMTUgMS4xOHpcIj48L3BhdGg+PHBhdGggZmlsbD1cIiNlYTQzMzVcIiBkPVwibTEyIDE2LjkzYTQuOTcgNS4yNSAwIDAgMSAtMy41NCAtMS41NWwtMS40MSAxLjQ5YzEuMjYgMS4zNCAzLjAyIDIuMTMgNC45NSAyLjEzIDMuODcgMCA2Ljk5LTIuOTIgNi45OS03aC0xLjk5YzAgMi45Mi0yLjI0IDQuOTMtNSA0LjkzelwiPjwvcGF0aD48L3N2Zz48L2Rpdj48c3R5bGU+Lm5EY0VuZHtmbGV4OjEgMCBhdXRvO2Rpc3BsYXk6ZmxleDtjdXJzb3I6cG9pbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyOjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtvdXRsaW5lOm5vbmU7cGFkZGluZzowIDhweDt3aWR0aDoyNHB4O2xpbmUtaGVpZ2h0OjQ0cHh9LkdkZDVVe2hlaWdodDoyNHB4O3dpZHRoOjI0cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfTwvc3R5bGU+PGRpdiBqc2NvbnRyb2xsZXI9XCJscHNVQWZcIiBqc25hbWU9XCJSNW1neVwiIGNsYXNzPVwibkRjRW5kXCIgZGF0YS1iYXNlLWxlbnMtdXJsPVwiaHR0cHM6Ly9sZW5zLmdvb2dsZS5jb21cIiBkYXRhLWltYWdlLXByb2Nlc3Nvci1lbmFibGVkPVwidHJ1ZVwiIGRhdGEtaXMtaW1hZ2VzLW1vZGU9XCJmYWxzZVwiIGRhdGEtcHJlZmVycmVkLW1pbWUtdHlwZT1cImltYWdlL2pwZWdcIiBkYXRhLXByb3BhZ2F0ZWQtZXhwZXJpbWVudC1pZHM9XCJcIiBhcmlhLWxhYmVsPVwiU3VjaGUgYW5oYW5kIHZvbiBCaWxkZXJuXCIgcm9sZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMFwiIGpzYWN0aW9uPVwicmN1UTZiOm5wVDJtZDtoNU0xMmVcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWhxRUlDQWdcIj48c3ZnIGNsYXNzPVwiR2RkNVVcIiBmb2N1c2FibGU9XCJmYWxzZVwiIHZpZXdib3g9XCIwIDAgMTkyIDE5MlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cmVjdCBmaWxsPVwibm9uZVwiIGhlaWdodD1cIjE5MlwiIHdpZHRoPVwiMTkyXCI+PC9yZWN0PjxnPjxjaXJjbGUgZmlsbD1cIiMzNGE4NTNcIiBjeD1cIjE0NC4wN1wiIGN5PVwiMTQ0XCIgcj1cIjE2XCI+PC9jaXJjbGU+PGNpcmNsZSBmaWxsPVwiIzQyODVmNFwiIGN4PVwiOTYuMDdcIiBjeT1cIjEwNFwiIHI9XCIyNFwiPjwvY2lyY2xlPjxwYXRoIGZpbGw9XCIjZWE0MzM1XCIgZD1cIk0yNCwxMzUuMmMwLDE4LjExLDE0LjY5LDMyLjgsMzIuOCwzMi44SDk2di0xNmwtNDAuMS0wLjFjLTguOCwwLTE1LjktOC4xOS0xNS45LTE3Ljl2LTE4SDI0VjEzNS4yelwiPjwvcGF0aD48cGF0aCBmaWxsPVwiI2ZiYmMwNFwiIGQ9XCJNMTY4LDcyLjhjMC0xOC4xMS0xNC42OS0zMi44LTMyLjgtMzIuOEgxMTZsMjAsMTZjOC44LDAsMTYsOC4yOSwxNiwxOHYzMGgxNlY3Mi44elwiPjwvcGF0aD48cGF0aCBmaWxsPVwiIzQyODVmNFwiIGQ9XCJNMTEyLDI0bC0zMiwwTDY4LDQwSDU2LjhDMzguNjksNDAsMjQsNTQuNjksMjQsNzIuOFY5MmgxNlY3NGMwLTkuNzEsNy4yLTE4LDE2LTE4aDgwTDExMiwyNHpcIj48L3BhdGg+PC9nPjwvc3ZnPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYganNjb250cm9sbGVyPVwiRHZuN2ZlXCIganNuYW1lPVwiVVViVDlcIiBjbGFzcz1cIlVVYlQ5IEV5QlJ1YlwiIHN0eWxlPVwiZGlzcGxheTpub25lXCIganNhY3Rpb249XCJtb3VzZW91dDpJdHpEQ2Q7bW91c2VsZWF2ZTpNV2Zpa2I7aEJFSVZiOm5VWjlsZTtZTUZDMzpWS3NzVGI7dmtsdTVjOmswMlFZO2xkeUl5ZTpDbVZPZ2NcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UTR0VURDQWtcIj48c3R5bGU+LlVVYlQ5e3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246bGVmdDt6LWluZGV4OjM7Y3Vyc29yOmRlZmF1bHQ7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3dpZHRoOjEwMCU7bWFyZ2luLXRvcDotMXB4O30uYWFqWkNie2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWFyZ2luOjA7cGFkZGluZzowO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czowIDAgMjRweCAyNHB4O2JveC1zaGFkb3c6MCA0cHggNnB4IHJnYmEoMzIsMzMsMzYsLjI4KTtib3JkZXI6MDtwYWRkaW5nLWJvdHRvbTo0cHh9Lm1pbmlkaXYgLmFhalpDYntib3JkZXItcmFkaXVzOjAgMCAxNnB4IDE2cHh9Lm1rSHJVY3tkaXNwbGF5OmZsZXh9LnBENHFUZCAuckxyUUhme3BhZGRpbmctYm90dG9tOjE2cHh9LnBENHFUZCAuckxyUUhme21pbi13aWR0aDo0NyU7d2lkdGg6NDclO21hcmdpbjo4cHggMTZweCAwfS5wRDRxVGQgLnJMclFIZjplbXB0eXtkaXNwbGF5Om5vbmV9LmVya3ZRZXtwYWRkaW5nLWJvdHRvbTo4cHg7ZmxleDphdXRvO292ZXJmbG93LXg6aGlkZGVufS5SalB1VmJ7aGVpZ2h0OjFweDttYXJnaW46MCAyNnB4IDAgMH0uUzNuRm5ke2Rpc3BsYXk6ZmxleH0uUzNuRm5kIC5SalB1VmIsLlMzbkZuZCAuYWFqWkNie2ZsZXg6MCAwIGF1dG99LmxoODdrZTpsaW5rLC5saDg3a2U6dmlzaXRlZHtjb2xvcjp2YXIoLS1KS3F4Mik7Y3Vyc29yOnBvaW50ZXI7Zm9udDoxMXB4IGFyaWFsLHNhbnMtc2VyaWY7cGFkZGluZzowIDVweDt0ZXh0LWRlY29yYXRpb246bm9uZTtmbGV4OmF1dG87YWxpZ24tc2VsZjpmbGV4LWVuZDttYXJnaW46MCAxNnB4IDVweCAwfS5saDg3a2U6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ueHRTQ0x7Ym9yZGVyLXRvcDoxcHggc29saWQgI2U4ZWFlZDttYXJnaW46MCAyMHB4IDAgMTRweDtwYWRkaW5nLWJvdHRvbTo0cHh9LnNiMjd7YmFja2dyb3VuZDp1cmwoL2ltYWdlcy9zZWFyY2hib3gvZGVza3RvcF9zZWFyY2hib3hfc3ByaXRlczMxOF9oci53ZWJwKSBuby1yZXBlYXQgMCAtMjFweDtiYWNrZ3JvdW5kLXNpemU6MjBweDttaW4taGVpZ2h0OjIwcHg7bWluLXdpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7d2lkdGg6MjBweH0uc2I0M3tiYWNrZ3JvdW5kOnVybCgvaW1hZ2VzL3NlYXJjaGJveC9kZXNrdG9wX3NlYXJjaGJveF9zcHJpdGVzMzE4X2hyLndlYnApIG5vLXJlcGVhdCAwIDA7YmFja2dyb3VuZC1zaXplOjIwcHg7bWluLWhlaWdodDoyMHB4O21pbi13aWR0aDoyMHB4O2hlaWdodDoyMHB4O3dpZHRoOjIwcHh9LnNiNTMuc2I1M3twYWRkaW5nOjAgNHB4O21hcmdpbjowfS5zYjMze2JhY2tncm91bmQ6dXJsKC9pbWFnZXMvc2VhcmNoYm94L2Rlc2t0b3Bfc2VhcmNoYm94X3Nwcml0ZXMzMThfaHIud2VicCkgbm8tcmVwZWF0IDAgLTQycHg7YmFja2dyb3VuZC1zaXplOjIwcHg7aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDt9PC9zdHlsZT48ZGl2IGpzY29udHJvbGxlcj1cIldvM244XCIganNuYW1lPVwiYWFkdmhlXCIganNtb2RlbD1cImQ1RWhKZVwiIGRhdGEtYmt0PVwic2VhcmNoYm94XCIgZGF0YS1lYXM9XCJcIiBkYXRhLWZocz1cIlwiIGRhdGEtbWFpbmRhdGE9J1tudWxsLG51bGwsbnVsbCxcImF1dG9jb21wbGV0ZV91c2VyX2ZlZWRiYWNrX2twX2lkXCIsbnVsbCwxMSxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsNTAxMDcxNSxcInNlYXJjaGJveFwiLG51bGwsXCJBdXRvY29tcGxldGVQcmVkaWN0aW9uXCIsbnVsbCxudWxsLG51bGwsbnVsbCwxMV0nIGRhdGEtcGlkPVwiNTAxMDcxNVwiIGpzZGF0YT1cInZTVDdyYjtfO0JlOHdzbyB6RUl5R2Q7XztcIiBqc2FjdGlvbj1cImtQekVPOk1sUDJqZTtxakx4UmM6RmJoUkc7dzhmMWZjOmhSd1NnYjtrcTJ3eGY6czVDVWlmO2FJSkFkZjpVaERVbmQ7QnFiVGJlOm5hYTV2ZTtrWUFLcmY6Q3FVR3JmO2h3aFJSZTpLeXhqQ2Q7cmN1UTZiOm5wVDJtZFwiPjxzdHlsZT4uejhncjlle2NvbG9yOnZhcigtLWJiUXhBYil9LlpZSFE3ZXtjb2xvcjp2YXIoLS1JWG94VWUpfTwvc3R5bGU+PHN0eWxlPi5pMWVXcGIgLkdURVJ6ZXtkaXNwbGF5Om5vbmV9Lmt5NGhmZHtkaXNwbGF5Om5vbmV9LmkxZVdwYiAua3k0aGZke2Rpc3BsYXk6YmxvY2t9PC9zdHlsZT48ZGl2IGpzbmFtZT1cIkdramVJZlwiIGlkPVwiX2g0Q3JadnlMQzVPZmktZ1Bfb3FKLVF3XzJcIiBkYXRhLWppaXM9XCJ1cFwiIGRhdGEtYXN5bmMtdHlwZT1cImtwX2ZlZWRiYWNrXCIgY2xhc3M9XCJ5cFwiIGRhdGEtdmVkPVwiMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRNjhjRUNBb1wiPjwvZGl2PjwvZGl2PjxkaXYganNjb250cm9sbGVyPVwiUDEwT3dmXCIgY2xhc3M9XCJZQjRoOSBreTRoZmRcIiBqc2RhdGE9XCJ2U1Q3cmI7XztCZTh3c29cIiBhcmlhLWxhYmVsbGVkYnk9XCJFaVFYVmRcIiByb2xlPVwiZGlhbG9nXCIganNhY3Rpb249XCJrUHpFTzpNbFAyamU7cWpMeFJjOk1sUDJqZTt3OGYxZmM6aFJ3U2diO2txMnd4ZjpzNUNVaWZcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWxva0dDQXNcIj48ZGl2IGlkPVwiX2g0Q3JadnlMQzVPZmktZ1Bfb3FKLVF3XzRcIj48L2Rpdj48L2Rpdj48ZGl2IGpzbmFtZT1cIlJqUHVWYlwiIGNsYXNzPVwiUmpQdVZiXCI+PC9kaXY+PGRpdiBqc25hbWU9XCJhYWpaQ2JcIiBjbGFzcz1cImFhalpDYlwiPjxkaXYgY2xhc3M9XCJ4dFNDTFwiPjwvZGl2PjxkaXYgY2xhc3M9XCJta0hyVWNcIiBpZD1cIkFsaDZpZFwiIHJvbGU9XCJwcmVzZW50YXRpb25cIj48ZGl2IGpzbmFtZT1cImVya3ZRZVwiIGNsYXNzPVwiZXJrdlFlXCI+PC9kaXY+PGRpdiBqc25hbWU9XCJ0b3ZFaWJcIiBjbGFzcz1cInJMclFIZlwiIHJvbGU9XCJwcmVzZW50YXRpb25cIj48L2Rpdj48L2Rpdj48c3R5bGU+I3NoSjJWYntkaXNwbGF5Om5vbmV9Lk9CTUVuYntwYWRkaW5nOjA7bWFyZ2luOjB9Lkc0M2Y3ZXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDowO3BhZGRpbmc6MDttYXJnaW46MDtsaXN0LXN0eWxlOm5vbmV9LlllNGpmY3tmbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC13cmFwOndyYXB9PC9zdHlsZT48ZGl2IGpzbmFtZT1cIkU4MGU5ZVwiIGNsYXNzPVwiT0JNRW5iXCIgaWQ9XCJzaEoyVmJcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+PHVsIGpzbmFtZT1cImJ3NGU5YlwiIGNsYXNzPVwiRzQzZjdlXCIgcm9sZT1cImxpc3Rib3hcIj48L3VsPjwvZGl2PjxzdHlsZT4jeW5Scmlje2Rpc3BsYXk6bm9uZX0ueW5Scmlje2xpc3Qtc3R5bGUtdHlwZTpub25lO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtjb2xvcjp2YXIoLS1JWG94VWUpO2ZvbnQtZmFtaWx5Okdvb2dsZSBTYW5zLEFyaWFsLHNhbnMtc2VyaWYtbWVkaXVtLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7bWFyZ2luOjAgMjBweCAwIDE2cHg7cGFkZGluZzo4cHggMCA4cHggMDtsaW5lLWhlaWdodDoxNnB4O3dpZHRoOjEwMCV9PC9zdHlsZT48ZGl2IGNsYXNzPVwieW5ScmljXCIgaWQ9XCJ5blJyaWNcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+PC9kaXY+PHN0eWxlPi5zYmN0e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MH0uZUlQR1Jke2ZsZXg6YXV0bztkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjowIDIwcHggMCAxNHB4fS5wY1RrU2N7ZGlzcGxheTpmbGV4O2ZsZXg6YXV0bztmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjA7cGFkZGluZzo2cHggMH0uc2JpY3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjowIDEzcHggMCAxcHg7fS5zYmljLnZZT2tiZXtiYWNrZ3JvdW5kOmNlbnRlci9jb250YWluIG5vLXJlcGVhdDtib3JkZXItcmFkaXVzOjRweDttaW4taGVpZ2h0OjMycHg7bWluLXdpZHRoOjMycHg7bWFyZ2luOjRweCA3cHggNHB4IC01cHh9LnNicmUgLndNNlc3ZHtsaW5lLWhlaWdodDoxOHB4fS5DbEo5WWJ7bGluZS1oZWlnaHQ6MTJweDtmb250LXNpemU6MTNweDtjb2xvcjojNzA3NTdhO21hcmdpbi10b3A6MnB4O3BhZGRpbmctcmlnaHQ6OHB4fS53TTZXN2R7ZGlzcGxheTpmbGV4O2ZvbnQtc2l6ZToxNnB4O2NvbG9yOiMyMTIxMjE7ZmxleDphdXRvO2FsaWduLWl0ZW1zOmNlbnRlcjt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7cGFkZGluZy1yaWdodDo4cHh9LldnZ1FHZHtjb2xvcjojNTIxODhjfS53TTZXN2Qgc3BhbntmbGV4OmF1dG99LkFRWjlWZHtkaXNwbGF5OmZsZXg7YWxpZ24tc2VsZjpzdHJldGNofS5zYmhse2JvcmRlci1yYWRpdXM6NHB4O2JhY2tncm91bmQ6I2Y3ZjhmOX0uVVViVDkuaTFlV3BiIC5QWlBabGYuc2JobHtiYWNrZ3JvdW5kOm5vbmV9LlVVYlQ5LmkxZVdwYiAuUFpQWmxmLnNiaGwgLmdtbFNWYntiYWNrZ3JvdW5kOnJnYmEoMjM0LDY3LDUzLC4xMil9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7LnNiaGx7YmFja2dyb3VuZC1jb2xvcjpoaWdobGlnaHR9fS5tdXNfcGN7ZGlzcGxheTpibG9jazttYXJnaW46NnB4IDB9Lm11c19pbHtmb250LWZhbWlseTpBcmlhbCxIZWx2ZXRpY2EgTmV1ZSBMaWdodCxIZWx2ZXRpY2EgTmV1ZSxIZWx2ZXRpY2E7cGFkZGluZy10b3A6N3B4O3Bvc2l0aW9uOnJlbGF0aXZlfS5tdXNfaWw6Zmlyc3QtY2hpbGR7cGFkZGluZy10b3A6MH0ubXVzX2lsX2F0e21hcmdpbi1sZWZ0OjEwcHh9Lm11c19pbF9zdHtyaWdodDo1MnB4O3Bvc2l0aW9uOmFic29sdXRlfS5tdXNfaWxfaXthbGlnbjpsZWZ0O21hcmdpbi1yaWdodDoxMHB4fS5tdXNfaXQze21hcmdpbi1ib3R0b206M3B4O21heC1oZWlnaHQ6MjRweDt2ZXJ0aWNhbC1hbGlnbjpib3R0b219Lm11c190dDN7Y29sb3I6Izc2NzY3Njtmb250LXNpemU6MTJweDt2ZXJ0aWNhbC1hbGlnbjp0b3B9Lm11c190dDV7Y29sb3I6I2Q5MzAyNTtmb250LXNpemU6MTRweH0ubXVzX3R0Nntjb2xvcjojMTg4MDM4O2ZvbnQtc2l6ZToxNHB4fS5tdXNfdHQ4e2ZvbnQtc2l6ZToxNnB4O2ZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWZ9Lm11c190dDE3e2NvbG9yOiMyMTIxMjE7Zm9udC1zaXplOjIwcHh9Lm11c190dDE4e2NvbG9yOiMyMTIxMjE7Zm9udC1zaXplOjI4cHh9Lm11c190dDE5e2NvbG9yOiM3Njc2NzY7Zm9udC1zaXplOjEycHh9Lm11c190dDIwe2NvbG9yOiM3Njc2NzY7Zm9udC1zaXplOjE0cHh9Lm11c190dDIze2NvbG9yOiM3Njc2NzY7Zm9udC1zaXplOjE4cHh9LlRmZVdmYntkaXNwbGF5Om5vbmV9LnhBbXJ5ZntkaXNwbGF5Om5vbmV9LkRKYlZGYiAuVGZlV2Zie2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtvdmVyZmxvdy14OmhpZGRlbjt3aWR0aDoxMDAlO2hlaWdodDo1MnB4fS5ESmJWRmIgLkFRWjlWZHtkaXNwbGF5Om5vbmV9LkRKYlZGYiAueEFtcnlme2JvcmRlci1yYWRpdXM6MTAwcHg7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS14aFVHd2MpfS5ESmJWRmIgLlRmZVdmYntkaXNwbGF5OmluaGVyaXR9LkRKYlZGYiAueEFtcnlmIC5lTDdvQWN7ZGlzcGxheTpub25lfS5ESmJWRmJ7YmFja2dyb3VuZDojZjhmOWZhO2JvcmRlci1yYWRpdXM6MjBweH0uREpiVkZiOmhvdmVye2JhY2tncm91bmQ6I2U4ZWFlZH0uREpiVkZiIC52WU9rYmV7aGVpZ2h0Oi0xcHg7d2lkdGg6LTFweDtmbGV4LXNocmluazowO21hcmdpbjoyMHB4IDAgMjBweCA4cHg7ZmxvYXQ6cmlnaHQ7Ym9yZGVyLXJhZGl1czoxNnB4O2JhY2tncm91bmQtY29sb3I6I2ZmZn0uREpiVkZiLnNiaGx7YmFja2dyb3VuZDojZThlYWVkfS5ESmJWRmIgLkNsSjlZYntkaXNwbGF5Om5vbmV9LkRKYlZGYiAud002Vzdke2ZsZXg6aW5pdGlhbH0uREpiVkZiIC53TTZXN2Qgc3Bhbnt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoyO292ZXJmbG93OmhpZGRlbn0uREpiVkZiIC5lSVBHUmR7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO2FsaWduLWl0ZW1zOnN0cmV0Y2g7bWFyZ2luOjAgMjBweCAwIDE0cHh9LkRKYlZGYiAuYTVSTGFje2xpbmUtaGVpZ2h0OjI0cHg7Zm9udC1zaXplOjIwcHg7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjtwYWRkaW5nLXRvcDoxNnB4O2NvbG9yOnZhcigtLWJiUXhBYik7bWFyZ2luLWJvdHRvbTphdXRvfS5ESmJWRmIueXRMZWRiIC52WU9rYmV7YmFja2dyb3VuZC1jb2xvcjojZjhmOWZhfS5ESmJWRmIgLmt6Q0Uye2ZvbnQtc2l6ZToxNnB4fS5ESmJWRmIgLndNNlc3ZCBzcGFue2NvbG9yOnZhcigtLVlMTk5IYyk7bGluZS1oZWlnaHQ6MzZweDtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjI4cHg7Zm9udC1mYW1pbHk6R29vZ2xlIFNhbnMsQXJpYWwsc2Fucy1zZXJpZn0uREpiVkZiIC5wY1RrU2N7bWFyZ2luOjIwcHggNnB4O3BhZGRpbmc6MH0uREpiVkZiIC52WU9rYmV7bWFyZ2luOjIwcHggMCAyMHB4IDE4cHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6MjBweH0uREpiVkZiIC5FT0xLT2N7d2lkdGg6Y2FsYyg1MCUgLSAxcHgpfS5pUXhQUmJ7ZGlzcGxheTpmbGV4O2dhcDoycHh9LkRKYlZGYiAuRU9MS09jOmZpcnN0LWNoaWxke2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MjBweH0uREpiVkZiIC5FT0xLT2M6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czoyMHB4fS5ESmJWRmIgLkFaTkRte2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjIwcHg7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoyMHB4fS5ESmJWRmIgLmE1UkxhYy5rekNFMiBzcGFuey13ZWJraXQtbGluZS1jbGFtcDozfS5ESmJWRmIgLmxublZTZXttYXJnaW4tYm90dG9tOmF1dG99LkRKYlZGYiAuYTVSTGFjIHNwYW57dGV4dC1vdmVyZmxvdzplbGxpcHNpczstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47bWFyZ2luLXJpZ2h0OjEwcHh9I2JnZUxaZHtkaXNwbGF5Om5vbmV9LnhBbXJ5Zntib3gtc2l6aW5nOmJvcmRlci1ib3g7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDo0MHB4O2JvcmRlci1yYWRpdXM6OHB4O2Rpc3BsYXk6ZmxleDtjb2xvcjp2YXIoLS1iYlF4QWIpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbVhaa3FjKTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXhoVUd3Yyk7bGluZS1oZWlnaHQ6MjJweH0ueEFtcnlmIC5lTDdvQWN7ZmlsbDp2YXIoLS1iYlF4QWIpO3BhZGRpbmctdG9wOjFweH0ueEFtcnlmLkx2cXpSe2JhY2tncm91bmQtY29sb3I6I2U4ZjBmZTtjdXJzb3I6cG9pbnRlcjtjb2xvcjp2YXIoLS1UTVlTOSl9LnhBbXJ5Zi5MdnF6UiAuZUw3b0Fje2ZpbGw6dmFyKC0tVE1ZUzkpfS5qdEFPZ2R7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtZmFtaWx5Okdvb2dsZSBTYW5zLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7bWFyZ2luOjAgMTRweH0uVGZlV2Zie2dhcDoxMnB4IDZweDtvdmVyZmxvdy14OmF1dG87LW1zLW92ZXJmbG93LXN0eWxlOm5vbmU7c2Nyb2xsYmFyLXdpZHRoOm5vbmV9LlRmZVdmYjo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS51aGViR2J7Zm9udC1zdHlsZTppdGFsaWN9I1lNWGV7ZGlzcGxheTpub25lfTwvc3R5bGU+PGxpIGRhdGEtdmlldy10eXBlPVwiMVwiIGNsYXNzPVwic2JjdCBQWlBabGZcIiBpZD1cIllNWGVcIiByb2xlPVwicHJlc2VudGF0aW9uXCIgZGF0YS1hdHRyaWQ9XCJBdXRvY29tcGxldGVQcmVkaWN0aW9uXCIgZGF0YS1lbnRpdHlpZD1cImF1dG9jb21wbGV0ZV91c2VyX2ZlZWRiYWNrX2twX2lkXCI+PGRpdiBjbGFzcz1cImVJUEdSZFwiPjxkaXYgY2xhc3M9XCJzYmljXCI+PGRpdiBjbGFzcz1cImowR0pXZFwiIHN0eWxlPVwiZGlzcGxheTpub25lXCI+PGRpdj48aW1nIGNsYXNzPVwidUhHRlZkIEFaTkRtXCIgYWx0PVwiXCIgc3R5bGU9XCJkaXNwbGF5Om5vbmVcIj48L2Rpdj48ZGl2IGNsYXNzPVwiaVF4UFJiXCI+PGltZyBjbGFzcz1cInVIR0ZWZCBFT0xLT2NcIiBhbHQ9XCJcIiBzdHlsZT1cImRpc3BsYXk6bm9uZVwiPjxpbWcgY2xhc3M9XCJ1SEdGVmQgRU9MS09jXCIgYWx0PVwiXCIgc3R5bGU9XCJkaXNwbGF5Om5vbmVcIj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVwicGNUa1NjXCI+PGRpdiBjbGFzcz1cImxublZTZVwiIGFyaWEtYXRvbWljPVwidHJ1ZVwiIHJvbGU9XCJvcHRpb25cIj48ZGl2IGNsYXNzPVwid002VzdkXCI+PHNwYW4+PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9XCJDbEo5WWJcIj48c3Bhbj48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz1cImE1UkxhY1wiPjxzcGFuPjwvc3Bhbj48L2Rpdj48L2Rpdj48c3R5bGU+Lk1hZ3FNYyAuWkZpd0Nme2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWdTNWpYYik7d2lkdGg6MTAwJX0uTWFncU1jLlU0OGZEe3BhZGRpbmc6MDttYXJnaW4tdG9wOjE2cHh9Lk1hZ3FNYyAuQmk5b1Fke2Rpc3BsYXk6bm9uZX0uTWFncU1je3BhZGRpbmc6MH0uTWFncU1jOmhvdmVyIC5MR3dueGJ7Y29sb3I6dmFyKC0tWUxOTkhjKX0uc09tUGNmIC5aRml3Q2Z7YmFja2dyb3VuZC1jb2xvcjojZmFmYWZhfTwvc3R5bGU+PGRpdiBjbGFzcz1cIlN6N0xlZSBNYWdxTWMgVTQ4ZkRcIiBzdHlsZT1cImRpc3BsYXk6bm9uZVwiIGFyaWEtbGFiZWw9XCJNZWhyXCIgcm9sZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMFwiPjxzdHlsZT4uVTQ4ZkR7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6YmxvY2s7bGluZS1oZWlnaHQ6MThweDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtwYWRkaW5nOjE2cHg7cGFkZGluZy10b3A6MDttYXJnaW4tdG9wOjI0cHg7cG9zaXRpb246cmVsYXRpdmV9LlRRYzFpZCAuVTQ4ZkR7bWFyZ2luLXRvcDoxNnB4fS5VNDhmRC5kZjEzdWR7bWFyZ2luLXRvcDoxNnB4fS5VNDhmRC5UT1F5RmN7bWFyZ2luLXRvcDowfS5VNDhmRC5wOEZFSWZ7cGFkZGluZy1ib3R0b206MH0uVTQ4ZkQua2U3TTR7cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowfS5qUktDVWQ6OmJlZm9yZXtib3R0b206MTJweDtjb250ZW50OicnO2xlZnQ6MTZweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxNnB4O3RvcDotNHB4fWEualJLQ1VkOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfTwvc3R5bGU+PHN0eWxlPi5aRml3Q2Z7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbjowIGF1dG87d2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOjE4cHg7b3V0bGluZToxcHggc29saWQgdHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1jb2xvcjojZjFmM2Y0O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NDAwO21heC13aWR0aDozMDBweDtoZWlnaHQ6MzZweH1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsuWkZpd0Nme2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnR9fS5UUWMxaWQgLlpGaXdDZnttYXgtd2lkdGg6dW5zZXR9LlpqdGdnYiAuWkZpd0Nme21heC13aWR0aDp1bnNldH0uWkZpd0NmOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZhZmFmYX0ubkNGVXBjIC5aRml3Q2Z7d2lkdGg6MTAwJX0uQmk5b1Fke2JhY2tncm91bmQtY29sb3I6dmFyKC0tZ1M1alhiKTttYXJnaW4tdG9wOjE4cHg7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjA7aGVpZ2h0OjFweDtsZWZ0OjA7d2lkdGg6MTAwJTt9LlRRYzFpZCAuQmk5b1Fke2Rpc3BsYXk6bm9uZX0ua0M4QjRlIC5CaTlvUWR7ZGlzcGxheTpub25lfS53MmZLZGQgc3Zne3dpZHRoOmF1dG99LncyZktkZHtjb2xvcjojNWU1ZTVlfS5MR3dueGJ7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOmF1dG87cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDo4cHg7bWF4LXdpZHRoOm1pbigyMDBweCxjYWxjKDEwMCUgLSA0NHB4KSk7Y29sb3I6IzIwMjEyNH0uTEd3bnhiOmVtcHR5e3BhZGRpbmctcmlnaHQ6MH0uTEd3bnhiIHNwYW4sLkxHd254YiBkaXZ7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOmF1dG99PC9zdHlsZT48aHIgY2xhc3M9XCJCaTlvUWRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48ZGl2IGNsYXNzPVwiWkZpd0NmXCI+PHNwYW4gY2xhc3M9XCJMR3dueGJcIj5NZWhyPC9zcGFuPjxzcGFuIGNsYXNzPVwidzJmS2RkIHoxYXNDZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHN0eWxlPVwiaGVpZ2h0OjIwcHg7bGluZS1oZWlnaHQ6MjBweDt3aWR0aDoyMHB4XCI+PHN2ZyBmb2N1c2FibGU9XCJmYWxzZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+PHBhdGggZD1cIk0xMiA0bC0xLjQxIDEuNDFMMTYuMTcgMTFINHYyaDEyLjE3bC01LjU4IDUuNTlMMTIgMjBsOC04elwiPjwvcGF0aD48L3N2Zz48L3NwYW4+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1cIkFRWjlWZFwiIGFyaWEtYXRvbWljPVwidHJ1ZVwiIHJvbGU9XCJidXR0b25cIj48c3R5bGU+LkpDSHBjYjpob3ZlciwuTHZxelIgLkpDSHBjYntjb2xvcjojMTU1OGQ2O3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LkpDSHBjYntjb2xvcjojNzA3NTdhO2ZvbnQ6MTNweCBhcmlhbCxzYW5zLXNlcmlmO2N1cnNvcjpwb2ludGVyO2FsaWduLXNlbGY6Y2VudGVyfUBtZWRpYSAoaG92ZXI6aG92ZXIpey5zYmFpe3Zpc2liaWxpdHk6aGlkZGVufS5zYmhsIC5zYmFpe3Zpc2liaWxpdHk6aW5oZXJpdH19PC9zdHlsZT48ZGl2IGNsYXNzPVwic2JhaVwiIHJvbGU9XCJwcmVzZW50YXRpb25cIj5MXHUwMGY2c2NoZW48L2Rpdj48L2Rpdj48L2Rpdj48L2xpPjxzdHlsZT4jZDZJdEtie2Rpc3BsYXk6bm9uZX0uQUIyRmRke2Rpc3BsYXk6ZmxleH08L3N0eWxlPjxsaSBjbGFzcz1cIkFCMkZkZFwiIGRhdGEtdmlldy10eXBlPVwiOVwiIGlkPVwiZDZJdEtiXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPjxkaXYgY2xhc3M9XCJlSVBHUmRcIj48ZGl2IGNsYXNzPVwiWkRIcFwiIGlkPVwiZlUweEFiXCIgcm9sZT1cInByZXNlbnRhdGlvblwiIHN0eWxlPVwiZGlzcGxheTpub25lXCI+PGRpdiBjbGFzcz1cImtadHIxYlwiPjxzdHlsZT4uWkRIcHtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW46MjBweDtkaXNwbGF5OmZsZXh9LkRKYlZGYiwubzZPRjB7YmFja2dyb3VuZDojZjhmOWZhO2JvcmRlci1yYWRpdXM6MjBweH0ubzZPRjA6aG92ZXIsLm82T0YwLkx2cXpSe2JhY2tncm91bmQ6I2U3ZThlOX0ubzZPRjAgLmVJUEdSZHtkaXNwbGF5OmJsb2NrfUBtZWRpYSAoZm9yY2VkLWNvbG9yczpub25lKXsubzZPRjAuc2JobHtiYWNrZ3JvdW5kOiNlN2U4ZTl9fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey5vNk9GMC5zYmhse2JhY2tncm91bmQtY29sb3I6aGlnaGxpZ2h0fX0ubzZPRjAgLkFRWjlWZHtkaXNwbGF5Om5vbmV9Lm82T0YwIC5zYmlje2Rpc3BsYXk6bm9uZX0ubzZPRjAgLnBjVGtTY3tkaXNwbGF5Om5vbmV9Lm82T0YwIC53TTZXN2R7ZGlzcGxheTpub25lfS5vNk9GMCAuZUlQR1Jke21heC13aWR0aDoxMDAlO21hcmdpbjowfS5hejlBamN7cGFkZGluZ190b3A6MHB4fS5aREhwIC5TSEZQa2J7bWFyZ2luLWJvdHRvbToxMnB4fS5vNk9GMCAuU0hGUGtie2xpbmUtaGVpZ2h0OjQ4cHg7Zm9udC1mYW1pbHk6R29vZ2xlIFNhbnMsQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MzZweDtmb250LXdlaWdodDo0MDA7Y29sb3I6dmFyKC0tWUxOTkhjKTtkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbjstd2Via2l0LWxpbmUtY2xhbXA6Mjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWx9LmxRb296Zntmb250LXNpemU6MjhweH0ubzZPRjAgLlNIRlBrYi5aSjU5NGV7cGFkZGluZy1yaWdodDo1OHB4fS5vNk9GMCAuSHJVbFVjLC5vNk9GMCAuUG5mcUxje2ZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NDAwO21heC1oZWlnaHQ6NzJweDtjb2xvcjp2YXIoLS1iYlF4QWIpfS5aREhwIC5IclVsVWMsLlpESHAgLlBuZnFMY3tmb250LXNpemU6MThweDtsaW5lLWhlaWdodDoyNHB4fS5vNk9GMCAuYlRTZjVje2ZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOnZhcigtLWJiUXhBYil9LlpESHAgLmJUU2Y1Y3tsaW5lLWhlaWdodDoyMnB4O2ZvbnQtc2l6ZToxNHB4O21hcmdpbi1ib3R0b206NnB4fS5aREhwIC5IclVsVWMsLlpESHAgLlBuZnFMY3tvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWxpbmUtY2xhbXA6Mzstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWx9LlZsdDN3Yntmb250LXN0eWxlOm5vcm1hbDtmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMnB4O3BhZGRpbmctdG9wOjhweDttYXJnaW4tdG9wOjEycHg7Y29sb3I6dmFyKC0tYmJReEFiKTtib3JkZXItdG9wOjFweCBzb2xpZCAjZGFkY2UwO2Rpc3BsYXk6ZmxleDt3aWR0aDoxMDAlfS5UbnYydGR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MH0uejc2Um5ie3BhZGRpbmc6NnB4O3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS14aFVHd2MpO2NvbG9yOiM1ZTVlNWU7Ym9yZGVyLXJhZGl1czo5OTk5cHg7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1tWFprcWMpO2N1cnNvcjpwb2ludGVyfS56NzZSbmIuTHZxelJ7Y29sb3I6dmFyKC0tWUxOTkhjKTtiYWNrZ3JvdW5kLWNvbG9yOiNmYWZhZmF9LmtadHIxYntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZ3JvdzoxO21pbi13aWR0aDowfS5YQUZENWN7d2lkdGg6MjAwcHg7aGVpZ2h0OjIwMHB4O2JhY2tncm91bmQtY29sb3I6dmFyKC0teGhVR3djKTtib3JkZXItcmFkaXVzOjIwcHg7bWFyZ2luLWxlZnQ6MjBweDtmbGV4LXNocmluazowO2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbn0uWEFGRDVjLmlORjBWZHtiYWNrZ3JvdW5kLXNpemU6MTM2cHh9LlpESHAgLmxublZTZXtmb250LXNpemU6MThweDtmbGV4LWdyb3c6MX0uWkRIcCAuSHJVbFVjLC5aREhwIC5QbmZxTGN7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ucm5BaXhke2NvbG9yOiNiMzI2MWV9Lml6eENKZntjb2xvcjojMTQ2YzJlfTwvc3R5bGU+PGRpdiBjbGFzcz1cImxublZTZVwiIGFyaWEtYXRvbWljPVwidHJ1ZVwiIHJvbGU9XCJvcHRpb25cIj48ZGl2IGNsYXNzPVwiU0hGUGtiXCI+PC9kaXY+PGRpdiBjbGFzcz1cImJUU2Y1Y1wiPjwvZGl2PjxkaXYgY2xhc3M9XCJQbmZxTGNcIj48L2Rpdj48ZGl2IGNsYXNzPVwiSHJVbFVjXCI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1cIlRudjJ0ZFwiIGFyaWEtYXRvbWljPVwidHJ1ZVwiIHJvbGU9XCJidXR0b25cIiBzdHlsZT1cImRpc3BsYXk6bm9uZVwiPjxzcGFuIGNsYXNzPVwiejc2Um5iIHoxYXNDZSBKS3UxamVcIj48c3ZnIGZvY3VzYWJsZT1cImZhbHNlXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj48cGF0aCBkPVwiTTMgOXY2aDRsNSA1VjRMNyA5SDN6bTEzLjUgM2MwLTEuNzctMS4wMi0zLjI5LTIuNS00LjAzdjguMDVjMS40OC0uNzMgMi41LTIuMjUgMi41LTQuMDJ6TTE0IDMuMjN2Mi4wNmMyLjg5Ljg2IDUgMy41NCA1IDYuNzFzLTIuMTEgNS44NS01IDYuNzF2Mi4wNmM0LjAxLS45MSA3LTQuNDkgNy04Ljc3cy0yLjk5LTcuODYtNy04Ljc3elwiPjwvcGF0aD48L3N2Zz48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz1cIlZsdDN3YlwiIHN0eWxlPVwiZGlzcGxheTpub25lXCI+PC9kaXY+PC9kaXY+PHNwYW4gY2xhc3M9XCJYQUZENWNcIiBzdHlsZT1cImRpc3BsYXk6bm9uZVwiPjwvc3Bhbj48ZGl2IGNsYXNzPVwiajBHSldkXCIgc3R5bGU9XCJkaXNwbGF5Om5vbmVcIj48ZGl2PjxpbWcgY2xhc3M9XCJ1SEdGVmQgQVpORG1cIiBhbHQ9XCJcIiBzdHlsZT1cImRpc3BsYXk6bm9uZVwiPjwvZGl2PjxkaXYgY2xhc3M9XCJpUXhQUmJcIj48aW1nIGNsYXNzPVwidUhHRlZkIEVPTEtPY1wiIGFsdD1cIlwiIHN0eWxlPVwiZGlzcGxheTpub25lXCI+PGltZyBjbGFzcz1cInVIR0ZWZCBFT0xLT2NcIiBhbHQ9XCJcIiBzdHlsZT1cImRpc3BsYXk6bm9uZVwiPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvbGk+PHN0eWxlPiNtaXRHeWJ7ZGlzcGxheTpub25lfS5zMldqZWN7ZGlzcGxheTpibG9ja30uUTgyT2tme2ZvbnQtc2l6ZToxNnB4O2ZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWZ9PC9zdHlsZT48bGkgZGF0YS12aWV3LXR5cGU9XCI4XCIgY2xhc3M9XCJzYmN0IFBaUFpsZlwiIGlkPVwibWl0R3liXCIgcm9sZT1cInByZXNlbnRhdGlvblwiIGRhdGEtYXR0cmlkPVwiQXV0b2NvbXBsZXRlUHJlZGljdGlvblwiIGRhdGEtZW50aXR5aWQ9XCJhdXRvY29tcGxldGVfdXNlcl9mZWVkYmFja19rcF9pZFwiPjxkaXYgY2xhc3M9XCJlSVBHUmQgaGR0MGxkXCI+PGRpdiBjbGFzcz1cInNiaWNcIj48L2Rpdj48ZGl2IGNsYXNzPVwicGNUa1NjXCI+PGRpdiBhcmlhLWF0b21pYz1cInRydWVcIiBjbGFzcz1cImxublZTZVwiIHJvbGU9XCJvcHRpb25cIj48ZGl2IGNsYXNzPVwid002VzdkXCI+PHNwYW4+PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9XCJDbEo5WWJcIj48c3Bhbj48L3NwYW4+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1cIkFRWjlWZFwiIGFyaWEtYXRvbWljPVwidHJ1ZVwiIHJvbGU9XCJidXR0b25cIj48ZGl2IGNsYXNzPVwic2JhaVwiIHJvbGU9XCJwcmVzZW50YXRpb25cIj5MXHUwMGY2c2NoZW48L2Rpdj48L2Rpdj48L2Rpdj48L2xpPjxkaXYgY2xhc3M9XCJaREhwXCIgaWQ9XCJmVTB4QWJcIiByb2xlPVwicHJlc2VudGF0aW9uXCIgc3R5bGU9XCJkaXNwbGF5Om5vbmVcIj48ZGl2IGNsYXNzPVwia1p0cjFiXCI+PGRpdiBjbGFzcz1cImxublZTZVwiIGFyaWEtYXRvbWljPVwidHJ1ZVwiIHJvbGU9XCJvcHRpb25cIj48ZGl2IGNsYXNzPVwiU0hGUGtiXCI+PC9kaXY+PGRpdiBjbGFzcz1cImJUU2Y1Y1wiPjwvZGl2PjxkaXYgY2xhc3M9XCJQbmZxTGNcIj48L2Rpdj48ZGl2IGNsYXNzPVwiSHJVbFVjXCI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1cIlRudjJ0ZFwiIGFyaWEtYXRvbWljPVwidHJ1ZVwiIHJvbGU9XCJidXR0b25cIiBzdHlsZT1cImRpc3BsYXk6bm9uZVwiPjxzcGFuIGNsYXNzPVwiejc2Um5iIHoxYXNDZSBKS3UxamVcIj48c3ZnIGZvY3VzYWJsZT1cImZhbHNlXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj48cGF0aCBkPVwiTTMgOXY2aDRsNSA1VjRMNyA5SDN6bTEzLjUgM2MwLTEuNzctMS4wMi0zLjI5LTIuNS00LjAzdjguMDVjMS40OC0uNzMgMi41LTIuMjUgMi41LTQuMDJ6TTE0IDMuMjN2Mi4wNmMyLjg5Ljg2IDUgMy41NCA1IDYuNzFzLTIuMTEgNS44NS01IDYuNzF2Mi4wNmM0LjAxLS45MSA3LTQuNDkgNy04Ljc3cy0yLjk5LTcuODYtNy04Ljc3elwiPjwvcGF0aD48L3N2Zz48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz1cIlZsdDN3YlwiIHN0eWxlPVwiZGlzcGxheTpub25lXCI+PC9kaXY+PC9kaXY+PHNwYW4gY2xhc3M9XCJYQUZENWNcIiBzdHlsZT1cImRpc3BsYXk6bm9uZVwiPjwvc3Bhbj48ZGl2IGNsYXNzPVwiajBHSldkXCIgc3R5bGU9XCJkaXNwbGF5Om5vbmVcIj48ZGl2PjxpbWcgY2xhc3M9XCJ1SEdGVmQgQVpORG1cIiBhbHQ9XCJcIiBzdHlsZT1cImRpc3BsYXk6bm9uZVwiPjwvZGl2PjxkaXYgY2xhc3M9XCJpUXhQUmJcIj48aW1nIGNsYXNzPVwidUhHRlZkIEVPTEtPY1wiIGFsdD1cIlwiIHN0eWxlPVwiZGlzcGxheTpub25lXCI+PGltZyBjbGFzcz1cInVIR0ZWZCBFT0xLT2NcIiBhbHQ9XCJcIiBzdHlsZT1cImRpc3BsYXk6bm9uZVwiPjwvZGl2PjwvZGl2PjwvZGl2PjxzdHlsZT4jVE40ckZme2Rpc3BsYXk6bm9uZX0uSURWbnZje2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbjttYXgtd2lkdGg6MjIzcHg7Ym9yZGVyLXJhZGl1czoxNnB4O2hlaWdodDoxNzhweDttYXJnaW46LTJweCAtMTBweCAycHggMTBweH0uSURWbnZjLnNiaGx7Ym9yZGVyLXJhZGl1czoxNnB4fS5PQk1FbmI6b25seS1jaGlsZCAuSURWbnZje21hcmdpbi1yaWdodDpjYWxjKDI1JSAtIDExM3B4KX0uY1JWOWhie3dpZHRoOjkwcHg7cGFkZGluZzo2cHh9LmNSVjloYiAucGNUa1Nje2ZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7b3ZlcmZsb3c6aGlkZGVuO21hcmdpbi10b3A6NHB4O3BhZGRpbmc6MH0uY1JWOWhiIC5wY1RrU2MgLndNNlc3ZHtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxOHB4O3BhZGRpbmc6MDtjb2xvcjp2YXIoLS1DT0VtWSl9LmNSVjloYiAucGNUa1NjIC5DbEo5WWJ7bGluZS1oZWlnaHQ6MTZweDtmb250LXNpemU6MTJweDtkaXNwbGF5Om5vbmU7ZGlzcGxheTpmbGV4fS5jUlY5aGIgLnBjVGtTYyAuQ2xKOVliLkVOTUt4ZiBzcGFuey13ZWJraXQtbGluZS1jbGFtcDoxfS5jUlY5aGIgLnBjVGtTYyAud002VzdkIHNwYW4sLmNSVjloYiAucGNUa1NjIC5DbEo5WWIgc3BhbntvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDt3aGl0ZS1zcGFjZTpub3JtYWx9LmNSVjloYiAucGNUa1NjIC53TTZXN2Qgc3Bhbnstd2Via2l0LWxpbmUtY2xhbXA6Mn0uY1JWOWhiIC5wY1RrU2MgLkNsSjlZYiBzcGFuey13ZWJraXQtbGluZS1jbGFtcDoyfS5hVmJXYWN7YmFja2dyb3VuZDojZmZmO2JvcmRlci1yYWRpdXM6MTJweDtoZWlnaHQ6OTBweH0uYVZiV2FjIC5zYmljLnZZT2tiZXtoZWlnaHQ6OTBweDt3aWR0aDo5MHB4O2JvcmRlci1yYWRpdXM6MTJweDttYXJnaW46MH08L3N0eWxlPjxsaSBjbGFzcz1cIklEVm52YyBQWlBabGZcIiBkYXRhLXZpZXctdHlwZT1cIjZcIiBpZD1cIlRONHJGZlwiIHJvbGU9XCJwcmVzZW50YXRpb25cIiBkYXRhLWF0dHJpZD1cIkF1dG9jb21wbGV0ZVByZWRpY3Rpb25cIiBkYXRhLWVudGl0eWlkPVwiYXV0b2NvbXBsZXRlX3VzZXJfZmVlZGJhY2tfa3BfaWRcIj48ZGl2IGNsYXNzPVwiY1JWOWhiXCI+PGRpdiBjbGFzcz1cImFWYldhY1wiPjxkaXYgY2xhc3M9XCJzYmljXCI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1cInBjVGtTY1wiIHJvbGU9XCJwcmVzZW50YXRpb25cIj48ZGl2IGNsYXNzPVwibG5uVlNlXCIgYXJpYS1hdG9taWM9XCJ0cnVlXCIgcm9sZT1cIm9wdGlvblwiPjxkaXYgY2xhc3M9XCJ3TTZXN2RcIj48c3Bhbj48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz1cIkNsSjlZYlwiPjxzcGFuPjwvc3Bhbj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2xpPjxkaXYganNuYW1lPVwiVmxjTEFlXCIgY2xhc3M9XCJsSjlGQmNcIj4gPHN0eWxlPi5sSjlGQmN7aGVpZ2h0OjcwcHh9LmxKOUZCYyBpbnB1dFt0eXBlPVwic3VibWl0XCJdLC5nYnFmYmF7YmFja2dyb3VuZC1jb2xvcjojZjhmOWZhO2JvcmRlcjoxcHggc29saWQgI2Y4ZjlmYTtib3JkZXItcmFkaXVzOjRweDtjb2xvcjojM2M0MDQzO2ZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7bWFyZ2luOjExcHggNHB4O3BhZGRpbmc6MCAxNnB4O2xpbmUtaGVpZ2h0OjI3cHg7aGVpZ2h0OjM2cHg7bWluLXdpZHRoOjU0cHg7dGV4dC1hbGlnbjpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7dXNlci1zZWxlY3Q6bm9uZX0ubEo5RkJjIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXJ7Ym94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMSk7YmFja2dyb3VuZC1jb2xvcjojZjhmOWZhO2JvcmRlcjoxcHggc29saWQgI2RhZGNlMDtjb2xvcjojMjAyMTI0fS5sSjlGQmMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1c3tib3JkZXI6MXB4IHNvbGlkICM0Mjg1ZjQ7b3V0bGluZTpub25lfTwvc3R5bGU+IDxjZW50ZXI+IDxpbnB1dCBjbGFzcz1cImdOTzg5YlwiIHZhbHVlPVwiR29vZ2xlIFN1Y2hlXCIgYXJpYS1sYWJlbD1cIkdvb2dsZSBTdWNoZVwiIG5hbWU9XCJidG5LXCIgcm9sZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMFwiIHR5cGU9XCJzdWJtaXRcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UTRkVURDQTRcIj4gPGlucHV0IGNsYXNzPVwiUk5tcFhjXCIgdmFsdWU9XCJBdWYgZ3V0IEdsXHUwMGZjY2shXCIgYXJpYS1sYWJlbD1cIkF1ZiBndXQgR2xcdTAwZmNjayFcIiBuYW1lPVwiYnRuSVwiIHR5cGU9XCJzdWJtaXRcIiBqc2FjdGlvbj1cInRyaWdnZXIua1dseGhjXCIgZGF0YS12ZWQ9XCIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFExOVFFQ0E4XCI+ICA8L2NlbnRlcj4gPC9kaXY+PC9kaXY+PGRpdiBqc25hbWU9XCJKVXlwVlwiPjxzdHlsZT4uV3pOSG17Zm9udC1zaXplOjExcHg7Zm9udC1zdHlsZTppdGFsaWM7bWFyZ2luLXRvcDotMTZweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoyMHB4O2NvbG9yOnZhcigtLUlYb3hVZSl9PC9zdHlsZT48ZGl2IGNsYXNzPVwiV3pOSG0gbVdjZjBlXCIganNjb250cm9sbGVyPVwiZ1NadmRiXCIgZGF0YS1kY2NsPVwiZmFsc2VcIiByb2xlPVwiYnV0dG9uXCIgdGFiaW5kZXg9XCIwXCIganNkYXRhPVwidlNUN3JiO187QmU4d3NvXCIganNhY3Rpb249XCJpNUtDVTtrVkJDVmQ6eU0xWUplXCIgZGF0YS12ZWQ9XCIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFE2c2NFQ0JBXCI+PGRpdiBjbGFzcz1cIlZmTDJZIExSWnd1Y1wiPlVuYW5nZW1lc3NlbmUgVmVydm9sbHN0XHUwMGU0bmRpZ3VuZ2VuIG1lbGRlbjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYganNuYW1lPVwibXZhSzdkXCIgY2xhc3M9XCJNOEg4cGJcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UTRkOElDQkVcIj48L2Rpdj48ZGl2IGNsYXNzPVwiRlBkb0xjIGxKOUZCY1wiPiAgPGNlbnRlcj4gPGlucHV0IGNsYXNzPVwiZ05PODliXCIgdmFsdWU9XCJHb29nbGUgU3VjaGVcIiBhcmlhLWxhYmVsPVwiR29vZ2xlIFN1Y2hlXCIgbmFtZT1cImJ0bktcIiByb2xlPVwiYnV0dG9uXCIgdGFiaW5kZXg9XCIwXCIgdHlwZT1cInN1Ym1pdFwiIGRhdGEtdmVkPVwiMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRNGRVRENCSVwiPiA8aW5wdXQgY2xhc3M9XCJSTm1wWGNcIiB2YWx1ZT1cIkF1ZiBndXQgR2xcdTAwZmNjayFcIiBhcmlhLWxhYmVsPVwiQXVmIGd1dCBHbFx1MDBmY2NrIVwiIG5hbWU9XCJidG5JXCIgdHlwZT1cInN1Ym1pdFwiIGpzYWN0aW9uPVwidHJpZ2dlci5rV2x4aGNcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UTE5UUVDQk1cIj4gIDwvY2VudGVyPiA8L2Rpdj48L2Rpdj4gPGRpdiBzdHlsZT1cImJhY2tncm91bmQ6dXJsKC9pbWFnZXMvc2VhcmNoYm94L2Rlc2t0b3Bfc2VhcmNoYm94X3Nwcml0ZXMzMThfaHIud2VicClcIj4gPC9kaXY+IDxzY3JpcHQgbm9uY2U9XCJhQTdWYS1iZWVoSUxzbDJoRmxQdC1nXCI+KGZ1bmN0aW9uKCl7XG52YXIgYT10aGlzfHxzZWxmO3ZhciBjPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCJmb3JtXCIpO2lmKGMpe3ZhciBkPWZ1bmN0aW9uKGIpe2Iua2V5IT09XCJFbnRlclwifHxiLnNoaWZ0S2V5fHwoYi5wcmV2ZW50RGVmYXVsdCgpLGMuc3VibWl0JiZjLnN1Ym1pdCgpKX07Yy5hZGRFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLGQpO2Euc2JtbGhmPWR9O30pLmNhbGwodGhpcyk7PC9zY3JpcHQ+IDwvZGl2PiA8ZGl2IGlkPVwidG9waGZcIj48aW5wdXQgbmFtZT1cInNjYV9lc3ZcIiB2YWx1ZT1cIjcwMzVmZjZiZmE0NWY0YThcIiB0eXBlPVwiaGlkZGVuXCI+PGlucHV0IG5hbWU9XCJzY2FfdXB2XCIgdmFsdWU9XCIxXCIgdHlwZT1cImhpZGRlblwiPjxpbnB1dCBuYW1lPVwic291cmNlXCIgdHlwZT1cImhpZGRlblwiIHZhbHVlPVwiaHBcIj48aW5wdXQgdmFsdWU9XCJoNENyWnZ5TEM1T2ZpLWdQX29xSi1Rd1wiIG5hbWU9XCJlaVwiIHR5cGU9XCJoaWRkZW5cIj48aW5wdXQgdmFsdWU9XCJBTDloYmRnQUFBQUFacXVPbHhVcDl2dl9GNHc2bUVQekR4eVp2Zy00ZVRFUlwiIG5hbWU9XCJpZmxzaWdcIiB0eXBlPVwiaGlkZGVuXCI+PC9kaXY+PC9mb3JtPjwvZGl2PjxkaXYgY2xhc3M9XCJvM2o5OSBxYXJzdGJcIj48c3R5bGU+LnZjVlo3ZHt0ZXh0LWFsaWduOmNlbnRlcn08L3N0eWxlPjxkaXYganNjb250cm9sbGVyPVwibXM0bVpiXCIgZGF0YS1lbmRwb2ludD1cIm92ZXJsYXlcIiBkYXRhLWppaXM9XCJ1cFwiIGRhdGEtYXN5bmMtdHlwZT1cImhwYmFcIiBpZD1cImEzSlU1YlwiIGNsYXNzPVwieXBcIiBqc2FjdGlvbj1cInJjdVE2YjpucFQybWRcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWotMEtDQlFcIj48L2Rpdj48ZGl2IGNsYXNzPVwidmNWWjdkXCIgaWQ9XCJnd3Mtb3V0cHV0LXBhZ2VzLWVsZW1lbnRzLWhvbWVwYWdlX2FkZGl0aW9uYWxfbGFuZ3VhZ2VzX19hbHNcIj48c3R5bGU+I2d3cy1vdXRwdXQtcGFnZXMtZWxlbWVudHMtaG9tZXBhZ2VfYWRkaXRpb25hbF9sYW5ndWFnZXNfX2Fsc3tmb250LXNpemU6c21hbGw7bWFyZ2luLWJvdHRvbToyNHB4fSNTSXZDb2J7Y29sb3I6dmFyKC0tYmJReEFiKTtkaXNwbGF5OmlubGluZS1ibG9jaztsaW5lLWhlaWdodDoyOHB4O30jU0l2Q29iIGF7cGFkZGluZzowIDNweDt9Lkg2c1c1e2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbjowIDJweDt3aGl0ZS1zcGFjZTpub3dyYXB9Lno0aGdXZXtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW46MCAycHh9PC9zdHlsZT48ZGl2IGlkPVwiU0l2Q29iXCI+R29vZ2xlIGdpYnQgZXMgYXVjaCBhdWY6ICA8YSBocmVmPVwiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9zZXRwcmVmcz9zaWc9MF9sckt0eHVnd1FtMnN6MVdIQjRBQ3FrUmd2OTQlM0QmYW1wO2hsPWZyJmFtcDtzb3VyY2U9aG9tZXBhZ2UmYW1wO3NhPVgmYW1wO3ZlZD0wYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFEyWmdCQ0JZXCI+RnJhblx1MDBlN2FpczwvYT4gICAgPGEgaHJlZj1cImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vc2V0cHJlZnM/c2lnPTBfbHJLdHh1Z3dRbTJzejFXSEI0QUNxa1Jndjk0JTNEJmFtcDtobD1lbiZhbXA7c291cmNlPWhvbWVwYWdlJmFtcDtzYT1YJmFtcDt2ZWQ9MGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRMlpnQkNCY1wiPkVuZ2xpc2g8L2E+ICA8L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGpzY29udHJvbGxlcj1cIkIycWxQZVwiIGpzbmFtZT1cImNnc0tsYlwiIGpzYWN0aW9uPVwicmN1UTZiOm5wVDJtZFwiPjxzdHlsZT4uY2VFM1J7b3BhY2l0eTowLjA2O3BvaW50ZXItZXZlbnRzOm5vbmV9PC9zdHlsZT48L2Rpdj48ZGl2IGNsYXNzPVwibzNqOTkgYzkzR2JlXCIgcm9sZT1cImNvbnRlbnRpbmZvXCI+PHN0eWxlPi5jOTNHYmV7YmFja2dyb3VuZDojZjJmMmYyfS51VTdkSmJ7cGFkZGluZzoxNXB4IDMwcHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tZ1M1alhiKTtmb250LXNpemU6MTVweDtjb2xvcjp2YXIoLS1ZTE5OSGMpO2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0uV3ltZWNle2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uU1N3aklle3BhZGRpbmc6MCAyMHB4fS5LeHdQR2N7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxMjAwcHgpey5LeHdQR2N7anVzdGlmeS1jb250ZW50OnNwYWNlLWV2ZW5seX19LnBIaU9oe2Rpc3BsYXk6YmxvY2s7cGFkZGluZzoxNXB4O3doaXRlLXNwYWNlOm5vd3JhcH0ucEhpT2gsYS5wSGlPaHtjb2xvcjp2YXIoLS1ZTE5OSGMpfTwvc3R5bGU+PGRpdiBjbGFzcz1cInVVN2RKYlwiPkx1eGVtYnVyZzwvZGl2PjxkaXYganNjb250cm9sbGVyPVwiTnpVNlZcIiBjbGFzcz1cIkt4d1BHYyBTU3dqSWVcIiBkYXRhLXNmZT1cImZhbHNlXCIgZGF0YS1zZnN3PVwiMTIxMFwiIGpzYWN0aW9uPVwicmN1UTZiOm5wVDJtZFwiPjxkaXYgY2xhc3M9XCJLeHdQR2MgQWdoR3RkXCI+PGEgY2xhc3M9XCJwSGlPaFwiIGhyZWY9XCJodHRwczovL2Fib3V0Lmdvb2dsZS8/dXRtX3NvdXJjZT1nb29nbGUtTFUmYW1wO3V0bV9tZWRpdW09cmVmZXJyYWwmYW1wO3V0bV9jYW1wYWlnbj1ocC1mb290ZXImYW1wO2ZnPTFcIiBwaW5nPVwiL3VybD9zYT10JmFtcDtyY3Q9aiZhbXA7c291cmNlPXdlYmhwJmFtcDt1cmw9aHR0cHM6Ly9hYm91dC5nb29nbGUvJTNGdXRtX3NvdXJjZSUzRGdvb2dsZS1MVSUyNnV0bV9tZWRpdW0lM0RyZWZlcnJhbCUyNnV0bV9jYW1wYWlnbiUzRGhwLWZvb3RlciUyNmZnJTNEMSZhbXA7dmVkPTBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWtOUUNDQmcmYW1wO2JsPU5RemImYW1wO29waT04OTk3ODQ0OVwiPlx1MDBkY2JlciBHb29nbGU8L2E+PGEgY2xhc3M9XCJwSGlPaFwiIGhyZWY9XCJodHRwczovL3d3dy5nb29nbGUuY29tL2ludGwvZGVfbHUvYWRzLz9zdWJpZD13dy13dy1ldC1nLWF3YS1hLWdfaHBhZm9vdDFfMSFvMiZhbXA7dXRtX3NvdXJjZT1nb29nbGUuY29tJmFtcDt1dG1fbWVkaXVtPXJlZmVycmFsJmFtcDt1dG1fY2FtcGFpZ249Z29vZ2xlX2hwYWZvb3RlciZhbXA7Zmc9MVwiIHBpbmc9XCIvdXJsP3NhPXQmYW1wO3JjdD1qJmFtcDtzb3VyY2U9d2ViaHAmYW1wO3VybD1odHRwczovL3d3dy5nb29nbGUuY29tL2ludGwvZGVfbHUvYWRzLyUzRnN1YmlkJTNEd3ctd3ctZXQtZy1hd2EtYS1nX2hwYWZvb3QxXzEhbzIlMjZ1dG1fc291cmNlJTNEZ29vZ2xlLmNvbSUyNnV0bV9tZWRpdW0lM0RyZWZlcnJhbCUyNnV0bV9jYW1wYWlnbiUzRGdvb2dsZV9ocGFmb290ZXIlMjZmZyUzRDEmYW1wO3ZlZD0wYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFrZFFDQ0JrJmFtcDtibD1OUXpiJmFtcDtvcGk9ODk5Nzg0NDlcIj5XZXJiZXByb2dyYW1tZTwvYT48YSBjbGFzcz1cInBIaU9oXCIgaHJlZj1cImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vc2VydmljZXMvP3N1YmlkPXd3LXd3LWV0LWctYXdhLWEtZ19ocGJmb290MV8xIW8yJmFtcDt1dG1fc291cmNlPWdvb2dsZS5jb20mYW1wO3V0bV9tZWRpdW09cmVmZXJyYWwmYW1wO3V0bV9jYW1wYWlnbj1nb29nbGVfaHBiZm9vdGVyJmFtcDtmZz0xXCIgcGluZz1cIi91cmw/c2E9dCZhbXA7cmN0PWomYW1wO3NvdXJjZT13ZWJocCZhbXA7dXJsPWh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vc2VydmljZXMvJTNGc3ViaWQlM0R3dy13dy1ldC1nLWF3YS1hLWdfaHBiZm9vdDFfMSFvMiUyNnV0bV9zb3VyY2UlM0Rnb29nbGUuY29tJTI2dXRtX21lZGl1bSUzRHJlZmVycmFsJTI2dXRtX2NhbXBhaWduJTNEZ29vZ2xlX2hwYmZvb3RlciUyNmZnJTNEMSZhbXA7dmVkPTBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWt0UUNDQm8mYW1wO2JsPU5RemImYW1wO29waT04OTk3ODQ0OVwiPlVudGVybmVobWVuPC9hPjxhIGNsYXNzPVwicEhpT2hcIiBocmVmPVwiaHR0cHM6Ly9nb29nbGUuY29tL3NlYXJjaC9ob3dzZWFyY2h3b3Jrcy8/Zmc9MVwiPiBXaWUgZnVua3Rpb25pZXJ0IGRpZSBHb29nbGUgU3VjaGU/IDwvYT48L2Rpdj48ZGl2IGNsYXNzPVwiS3h3UEdjIGlUanhrZlwiPjxhIGNsYXNzPVwicEhpT2hcIiBocmVmPVwiaHR0cHM6Ly9wb2xpY2llcy5nb29nbGUuY29tL3ByaXZhY3k/aGw9ZGUtTFUmYW1wO2ZnPTFcIiBwaW5nPVwiL3VybD9zYT10JmFtcDtyY3Q9aiZhbXA7c291cmNlPXdlYmhwJmFtcDt1cmw9aHR0cHM6Ly9wb2xpY2llcy5nb29nbGUuY29tL3ByaXZhY3klM0ZobCUzRGRlLUxVJTI2ZmclM0QxJmFtcDt2ZWQ9MGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhROGF3Q0NCcyZhbXA7Ymw9TlF6YiZhbXA7b3BpPTg5OTc4NDQ5XCI+RGF0ZW5zY2h1dHplcmtsXHUwMGU0cnVuZzwvYT48YSBjbGFzcz1cInBIaU9oXCIgaHJlZj1cImh0dHBzOi8vcG9saWNpZXMuZ29vZ2xlLmNvbS90ZXJtcz9obD1kZS1MVSZhbXA7Zmc9MVwiIHBpbmc9XCIvdXJsP3NhPXQmYW1wO3JjdD1qJmFtcDtzb3VyY2U9d2ViaHAmYW1wO3VybD1odHRwczovL3BvbGljaWVzLmdvb2dsZS5jb20vdGVybXMlM0ZobCUzRGRlLUxVJTI2ZmclM0QxJmFtcDt2ZWQ9MGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhROHF3Q0NCdyZhbXA7Ymw9TlF6YiZhbXA7b3BpPTg5OTc4NDQ5XCI+TnV0enVuZ3NiZWRpbmd1bmdlbjwvYT48c3Bhbj48c3R5bGU+LmF5enFPYzpob3Zlcnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfTwvc3R5bGU+PHNwYW4ganNjb250cm9sbGVyPVwibmFiUGJiXCIgZGF0YS1mZnA9XCJmYWxzZVwiIGpzYWN0aW9uPVwiS3lQYTBlOlkweTRjO0JWZmpoZjpWRnp3ZWI7d2pPRzdlOmdEa2Y0YztcIj48c3R5bGU+LmNGNFY1Y3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXhoVUd3Yyl9LmNGNFY1YyBnLW1lbnUtaXRlbXtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjIzcHg7d2hpdGUtc3BhY2U6bm93cmFwfS5jRjRWNWMgZy1tZW51LWl0ZW0gYSwuY0Y0VjVjIC55MGZROWN7ZGlzcGxheTpibG9jaztwYWRkaW5nLXRvcDo0cHg7cGFkZGluZy1ib3R0b206NHB4O2N1cnNvcjpwb2ludGVyfS5jRjRWNWMgZy1tZW51LWl0ZW0gYSwuY0Y0VjVjIGctbWVudS1pdGVtIGE6dmlzaXRlZCwuY0Y0VjVjIGctbWVudS1pdGVtIGE6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOmluaGVyaXQ7Y29sb3I6aW5oZXJpdH08L3N0eWxlPjxnLXBvcHVwIGpzbmFtZT1cIlY2OGJkZVwiIGpzY29udHJvbGxlcj1cIkRQcmVFXCIganNhY3Rpb249XCJBMDV4QmQ6SVl0QnliO0VPWjU3ZTpXRnJSRmI7XCIganNkYXRhPVwibVZqQWpmO187QmU4d3NzXCI+PGRpdiBqc25hbWU9XCJvWXh0UWRcIiBjbGFzcz1cIkNjTmU2ZVwiIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCIgcm9sZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMFwiIGpzYWN0aW9uPVwiV0ZyUkZiO2tleWRvd246dVlUMlZiXCI+PGRpdiBqc25hbWU9XCJMZ2JzU2VcIiBjbGFzcz1cImF5enFPYyBwSGlPaFwiIGFyaWEtY29udHJvbHM9XCJfaDRDclp2eUxDNU9maS1nUF9vcUotUXdfNlwiIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCI+RWluc3RlbGx1bmdlbjwvZGl2PjwvZGl2PjxkaXYganNuYW1lPVwiVjY4YmRlXCIgY2xhc3M9XCJVakJHTCBwa1dCc2UgaVJRSFplXCIgc3R5bGU9XCJkaXNwbGF5Om5vbmU7ei1pbmRleDoyMDBcIj48Zy1tZW51IGpzbmFtZT1cInhsMDdPYlwiIGNsYXNzPVwiY0Y0VjVjIHlUaWswIFBCbjQ0ZSBpUVhUSmUgd3BsSkJkXCIganNjb250cm9sbGVyPVwiV2xOUUdkXCIgcm9sZT1cIm1lbnVcIiB0YWJpbmRleD1cIi0xXCIganNhY3Rpb249XCJQU2wyOGM7Zm9jdXM6aDA2Ujg7a2V5ZG93bjp1WVQyVmI7bW91c2VlbnRlcjpXT1FxWWI7bW91c2VsZWF2ZTpUeDVSYjttb3VzZW92ZXI6SWdKbDljXCI+PGctbWVudS1pdGVtIGpzbmFtZT1cIk5OSkx1ZFwiIGpzY29udHJvbGxlcj1cIkNuU1cyZFwiIGNsYXNzPVwiRXBQWUxkIEdablFxZVwiIHJvbGU9XCJub25lXCIgZGF0YS1zaG9ydC1sYWJlbD1cIlwiIGpzZGF0YT1cInpQWHppZTtfO0JlOHdzd1wiPjxkaXYganNuYW1lPVwiaWJuQzZiXCIgY2xhc3M9XCJZcGNEbmYgT1NyWFhiIEhHMWR2ZFwiIHJvbGU9XCJub25lXCI+PGEgaHJlZj1cImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vcHJlZmVyZW5jZXM/aGw9ZGUtTFUmYW1wO2ZnPTFcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIi0xXCI+U3VjaGVpbnN0ZWxsdW5nZW48L2E+PC9kaXY+PC9nLW1lbnUtaXRlbT48Zy1tZW51LWl0ZW0ganNuYW1lPVwiTk5KTHVkXCIganNjb250cm9sbGVyPVwiQ25TVzJkXCIgY2xhc3M9XCJFcFBZTGQgR1puUXFlXCIgcm9sZT1cIm5vbmVcIiBkYXRhLXNob3J0LWxhYmVsPVwiXCIganNkYXRhPVwielBYemllO187QmU4d3N3XCI+PGRpdiBqc25hbWU9XCJpYm5DNmJcIiBjbGFzcz1cIllwY0RuZiBPU3JYWGIgSEcxZHZkXCIgcm9sZT1cIm5vbmVcIj48YSBocmVmPVwiL2FkdmFuY2VkX3NlYXJjaD9obD1kZS1MVSZhbXA7Zmc9MVwiIHJvbGU9XCJtZW51aXRlbVwiIHRhYmluZGV4PVwiLTFcIj5FcndlaXRlcnRlIFN1Y2hlPC9hPjwvZGl2PjwvZy1tZW51LWl0ZW0+PGctbWVudS1pdGVtIGpzbmFtZT1cIk5OSkx1ZFwiIGpzY29udHJvbGxlcj1cIkNuU1cyZFwiIGNsYXNzPVwiRXBQWUxkIEdablFxZVwiIHJvbGU9XCJub25lXCIgZGF0YS1zaG9ydC1sYWJlbD1cIlwiIGpzZGF0YT1cInpQWHppZTtfO0JlOHdzd1wiPjxkaXYganNuYW1lPVwiaWJuQzZiXCIgY2xhc3M9XCJZcGNEbmYgT1NyWFhiIEhHMWR2ZFwiIHJvbGU9XCJub25lXCI+PGEgaHJlZj1cIi9oaXN0b3J5L3ByaXZhY3lhZHZpc29yL3NlYXJjaC91bmF1dGg/dXRtX3NvdXJjZT1nb29nbGVtZW51JmFtcDtmZz0xJmFtcDtjY3RsZD1jb21cIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIi0xXCI+TWVpbmUgRGF0ZW4gaW4gZGVyIEdvb2dsZSBTdWNoZTwvYT48L2Rpdj48L2ctbWVudS1pdGVtPjxnLW1lbnUtaXRlbSBqc25hbWU9XCJOTkpMdWRcIiBqc2NvbnRyb2xsZXI9XCJDblNXMmRcIiBjbGFzcz1cIkVwUFlMZCBHWm5RcWVcIiByb2xlPVwibm9uZVwiIGRhdGEtc2hvcnQtbGFiZWw9XCJcIiBqc2RhdGE9XCJ6UFh6aWU7XztCZTh3c3dcIj48ZGl2IGpzbmFtZT1cImlibkM2YlwiIGNsYXNzPVwiWXBjRG5mIE9TclhYYiBIRzFkdmRcIiByb2xlPVwibm9uZVwiPjxhIGhyZWY9XCIvaGlzdG9yeS9vcHRvdXQ/aGw9ZGUtTFUmYW1wO2ZnPTFcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIi0xXCI+U3VjaHZlcmxhdWY8L2E+PC9kaXY+PC9nLW1lbnUtaXRlbT48Zy1tZW51LWl0ZW0ganNuYW1lPVwiTk5KTHVkXCIganNjb250cm9sbGVyPVwiQ25TVzJkXCIgY2xhc3M9XCJFcFBZTGQgR1puUXFlXCIgcm9sZT1cIm5vbmVcIiBkYXRhLXNob3J0LWxhYmVsPVwiXCIganNkYXRhPVwielBYemllO187QmU4d3N3XCI+PGRpdiBqc25hbWU9XCJpYm5DNmJcIiBjbGFzcz1cIllwY0RuZiBPU3JYWGIgSEcxZHZkXCIgcm9sZT1cIm5vbmVcIj48YSBocmVmPVwiaHR0cHM6Ly9zdXBwb3J0Lmdvb2dsZS5jb20vd2Vic2VhcmNoLz9wPXdzX3Jlc3VsdHNfaGVscCZhbXA7aGw9ZGUtTFUmYW1wO2ZnPTFcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIi0xXCI+SGlsZmUgenVyIFN1Y2hlPC9hPjwvZGl2PjwvZy1tZW51LWl0ZW0+PGctbWVudS1pdGVtIGpzbmFtZT1cIk5OSkx1ZFwiIGpzY29udHJvbGxlcj1cIkNuU1cyZFwiIGNsYXNzPVwiRXBQWUxkIEdablFxZVwiIHJvbGU9XCJub25lXCIgZGF0YS1zaG9ydC1sYWJlbD1cIlwiIGpzZGF0YT1cInpQWHppZTtfO0JlOHdzd1wiPjxkaXYganNuYW1lPVwiaWJuQzZiXCIgY2xhc3M9XCJZcGNEbmYgT1NyWFhiIEhHMWR2ZFwiIHJvbGU9XCJub25lXCI+PHNwYW4gZGF0YS1idWNrZXQ9XCJ3ZWJzZWFyY2hcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIi0xXCIganNhY3Rpb249XCJ0cmlnZ2VyLlljZkpcIj5GZWVkYmFjayBnZWJlbjwvc3Bhbj48L2Rpdj48L2ctbWVudS1pdGVtPjxnLW1lbnUtaXRlbSBqc25hbWU9XCJOTkpMdWRcIiBqc2NvbnRyb2xsZXI9XCJDblNXMmRcIiBjbGFzcz1cIkVwUFlMZCBHWm5RcWUgTEdpbHVjXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgcm9sZT1cInNlcGFyYXRvclwiIGRhdGEtc2hvcnQtbGFiZWw9XCJcIiBqc2RhdGE9XCJ6UFh6aWU7XztCZTh3czBcIj48L2ctbWVudS1pdGVtPjxnLW1lbnUtaXRlbSBqc25hbWU9XCJOTkpMdWRcIiBqc2NvbnRyb2xsZXI9XCJDblNXMmRcIiBjbGFzcz1cIkVwUFlMZCBHWm5RcWVcIiByb2xlPVwibm9uZVwiIGRhdGEtc2hvcnQtbGFiZWw9XCJcIiBqc2RhdGE9XCJ6UFh6aWU7XztCZTh3c3dcIj48ZGl2IGpzbmFtZT1cImlibkM2YlwiIGNsYXNzPVwiWXBjRG5mIE9TclhYYiBIRzFkdmRcIiByb2xlPVwibm9uZVwiPjxkaXYgY2xhc3M9XCJ5MGZROWNcIiBkYXRhLXNwbD1cIi9zZXRwcmVmcz9obD1kZSZhbXA7cHJldj1odHRwczovL3d3dy5nb29nbGUuY29tLz9wY2NjJTNEMSZhbXA7c2lnPTBfbHJLdHh1Z3dRbTJzejFXSEI0QUNxa1Jndjk0JTNEJmFtcDtjcz0yXCIgaWQ9XCJZVUlERGJcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIi0xXCI+PHN0eWxlPi50RllqWmV7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtwYWRkaW5nLWJvdHRvbTo0cHg7cGFkZGluZy10b3A6NHB4fS50RllqWmU6aG92ZXIgLmlPSE5MYiwudEZZalplOmZvY3VzIC5pT0hOTGJ7b3BhY2l0eToxfS5pT0hOTGJ7Y29sb3I6IzVlNWU1ZTtoZWlnaHQ6MjBweDttYXJnaW4tdG9wOi0ycHg7b3BhY2l0eTowO3dpZHRoOjIwcHh9PC9zdHlsZT48ZGl2IGpzY29udHJvbGxlcj1cImZYTzB4ZVwiIGNsYXNzPVwidEZZalplXCIgZGF0YS1ic2RtPVwiMFwiIGRhdGEtYnRmPVwiMFwiIGRhdGEtaGJjPVwiIzFhNzNlOFwiIGRhdGEtaHRjPVwiI2ZmZlwiIGRhdGEtc3B0PVwiMVwiIGRhdGEtdHNkbT1cIjBcIiByb2xlPVwibGlua1wiIHRhYmluZGV4PVwiMFwiIGpzYWN0aW9uPVwib2s1Z0ZjO3g2QkNmYjpnZ0ZDY2U7dzNVa3JmOmFlbHhKYlwiIGRhdGEtdmVkPVwiMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRcXNFSENCOFwiPjxkaXY+RHVua2xlcyBEZXNpZ246IERlYWt0aXZpZXJ0PC9kaXY+PGRpdiBjbGFzcz1cImlPSE5MYlwiPjxzcGFuIHN0eWxlPVwiaGVpZ2h0OjIwcHg7bGluZS1oZWlnaHQ6MjBweDt3aWR0aDoyMHB4XCIgY2xhc3M9XCJ6MWFzQ2UgYXF2eGNkXCI+PHN2ZyBmb2N1c2FibGU9XCJmYWxzZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBlbmFibGUtYmFja2dyb3VuZD1cIm5ldyAwIDAgMjQgMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0XCI+PHJlY3QgZmlsbD1cIm5vbmVcIiBoZWlnaHQ9XCIyNFwiIHdpZHRoPVwiMjRcIj48L3JlY3Q+PHBhdGggZD1cIk0xMiw3Yy0yLjc2LDAtNSwyLjI0LTUsNXMyLjI0LDUsNSw1czUtMi4yNCw1LTVTMTQuNzYsNywxMiw3TDEyLDd6IE0yLDEzbDIsMGMwLjU1LDAsMS0wLjQ1LDEtMXMtMC40NS0xLTEtMWwtMiwwIGMtMC41NSwwLTEsMC40NS0xLDFTMS40NSwxMywyLDEzeiBNMjAsMTNsMiwwYzAuNTUsMCwxLTAuNDUsMS0xcy0wLjQ1LTEtMS0xbC0yLDBjLTAuNTUsMC0xLDAuNDUtMSwxUzE5LjQ1LDEzLDIwLDEzeiBNMTEsMnYyIGMwLDAuNTUsMC40NSwxLDEsMXMxLTAuNDUsMS0xVjJjMC0wLjU1LTAuNDUtMS0xLTFTMTEsMS40NSwxMSwyeiBNMTEsMjB2MmMwLDAuNTUsMC40NSwxLDEsMXMxLTAuNDUsMS0xdi0yYzAtMC41NS0wLjQ1LTEtMS0xIEMxMS40NSwxOSwxMSwxOS40NSwxMSwyMHogTTUuOTksNC41OGMtMC4zOS0wLjM5LTEuMDMtMC4zOS0xLjQxLDBjLTAuMzksMC4zOS0wLjM5LDEuMDMsMCwxLjQxbDEuMDYsMS4wNiBjMC4zOSwwLjM5LDEuMDMsMC4zOSwxLjQxLDBzMC4zOS0xLjAzLDAtMS40MUw1Ljk5LDQuNTh6IE0xOC4zNiwxNi45NWMtMC4zOS0wLjM5LTEuMDMtMC4zOS0xLjQxLDBjLTAuMzksMC4zOS0wLjM5LDEuMDMsMCwxLjQxIGwxLjA2LDEuMDZjMC4zOSwwLjM5LDEuMDMsMC4zOSwxLjQxLDBjMC4zOS0wLjM5LDAuMzktMS4wMywwLTEuNDFMMTguMzYsMTYuOTV6IE0xOS40Miw1Ljk5YzAuMzktMC4zOSwwLjM5LTEuMDMsMC0xLjQxIGMtMC4zOS0wLjM5LTEuMDMtMC4zOS0xLjQxLDBsLTEuMDYsMS4wNmMtMC4zOSwwLjM5LTAuMzksMS4wMywwLDEuNDFzMS4wMywwLjM5LDEuNDEsMEwxOS40Miw1Ljk5eiBNNy4wNSwxOC4zNiBjMC4zOS0wLjM5LDAuMzktMS4wMywwLTEuNDFjLTAuMzktMC4zOS0xLjAzLTAuMzktMS40MSwwbC0xLjA2LDEuMDZjLTAuMzksMC4zOS0wLjM5LDEuMDMsMCwxLjQxczEuMDMsMC4zOSwxLjQxLDBMNy4wNSwxOC4zNnpcIj48L3BhdGg+PC9zdmc+PC9zcGFuPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZy1tZW51LWl0ZW0+PC9nLW1lbnU+PC9kaXY+PC9nLXBvcHVwPjwvc3Bhbj48L3NwYW4+PC9kaXY+PC9kaXY+PGRpdiBqc2NvbnRyb2xsZXI9XCJ6R0xtM2JcIiBzdHlsZT1cImRpc3BsYXk6bm9uZVwiIGRhdGEtcGNzPVwiMFwiIGpzYWN0aW9uPVwicmN1UTZiOm5wVDJtZFwiPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9XCJGZ3ZnamNcIj48c3R5bGU+LkZndmdqY3toZWlnaHQ6MDtvdmVyZmxvdzpoaWRkZW59PC9zdHlsZT48ZGl2IGNsYXNzPVwiZ1RNdExiIGZwLW5oXCIgaWQ9XCJsYlwiPjxzdHlsZT4uZ1RNdExie3otaW5kZXg6MTAwMTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTEwMDBweH08L3N0eWxlPjwvZGl2PjxzdHlsZT4uRU0xTXJie292ZXJmbG93OmhpZGRlbn0uSFRqdEhle2Rpc3BsYXk6bm9uZX0udlVkNGpie3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6OTk5NztyaWdodDowO2JvdHRvbTotMjAwcHg7dG9wOjA7bGVmdDowO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpfS5IYnU0eXtoZWlnaHQ6MXB4O2xlZnQ6LTEwMDBweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4fS5qdzhtSXtwb3NpdGlvbjpmaXhlZDtyaWdodDowO2JvdHRvbTowO3RvcDowO2xlZnQ6MDt6LWluZGV4Ojk5OTg7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOm5vd3JhcDttYXgtaGVpZ2h0OjEwMCU7bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3cteDphdXRvO292ZXJmbG93LXk6YXV0bzt0ZXh0LWFsaWduOmNlbnRlcjstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9Lmp3OG1JOjphZnRlcntjb250ZW50OicnO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxMDAlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uS3h2bFdje2JvcmRlci1yYWRpdXM6MTZweDtib3JkZXItcmFkaXVzOjE2cHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7ei1pbmRleDo5OTk5O2JhY2tncm91bmQtY29sb3I6dmFyKC0teGhVR3djKTt0ZXh0LWFsaWduOmxlZnQ7d2hpdGUtc3BhY2U6bm9ybWFsO292ZXJmbG93LXk6aGlkZGVuO2JveC1zaGFkb3c6MCAycHggMTBweCAwIHJnYmEoMCwwLDAsMC4yKTtwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7aGVpZ2h0OjUyMHB4O3dpZHRoOjMxMXB4O21heC13aWR0aDo2ODBweDtwYWRkaW5nLWJvdHRvbToxMHB4fS5IT3E0SGV7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjtwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MTAwJX0uSFRqdEhlLmZlRlpkYiAuZGJzRnJke3Zpc2liaWxpdHk6aGlkZGVufS5IVGp0SGUuZmVGWmRie2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5kYnNGcmR7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MTAwJX0ud1gyWUhjIC5kYnNGcmR7cGFkZGluZy1ib3R0b206MnB4fS50SGxwOGR7aGVpZ2h0OjQ4cHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyOjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtwYWRkaW5nOjB9LnRIbHA4ZDpmb2N1c3tib3JkZXI6MDtvdXRsaW5lOjB9LlFTNWd1e2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Ym9yZGVyLXJhZGl1czo5OTlyZW07aGVpZ2h0OjMycHg7cGFkZGluZzowIDE2cHg7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtZmFtaWx5Okdvb2dsZSBTYW5zLEFyaWFsLHNhbnMtc2VyaWY7bWFyZ2luLWxlZnQ6OHB4O3RleHQtYWxpZ246Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aGl0ZS1zcGFjZTpub3dyYXA7aGVpZ2h0OjQwcHg7cGFkZGluZzowIDIwcHg7bWFyZ2luLWxlZnQ6MTBweDtsaW5lLWhlaWdodDoyMHB4fS5lT2pQSWV7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOnZhcigtLXJySkpVYyk7YmFja2dyb3VuZDp2YXIoLS14aFVHd2MpO2Rpc3BsYXk6ZmxleDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7Zm9udC1mYW1pbHk6R29vZ2xlIFNhbnMsQXJpYWwsc2Fucy1zZXJpZjtoZWlnaHQ6MTAwJTtwYWRkaW5nOjAgOHB4fS51ZDFqbWZ7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1tWFprcWMpO2NvbG9yOnZhcigtLXJySkpVYyk7YmFja2dyb3VuZDp2YXIoLS14aFVHd2MpfS50SGxwOGQ6Zm9jdXMgLnVkMWptZiwudEhscDhkOmFjdGl2ZSAudWQxam1me2JvcmRlcjoxcHggc29saWQgI2U4ZjBmZTtiYWNrZ3JvdW5kLWNvbG9yOiNlOGYwZmU7Ym94LXNoYWRvdzowIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwwLjIpfS51ZDFqbWY6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZThmMGZlfS5zeTR2TXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLU5zbTBjZSk7Y29sb3I6dmFyKC0tRXBGTlcpO3Bvc2l0aW9uOnJlbGF0aXZlO2JveC1zaXppbmc6Ym9yZGVyLWJveDt0cmFuc2l0aW9uOmJveC1zaGFkb3cgMjAwbXMgY3ViaWMtYmV6aWVyKDAuNCwwLDAuMiwxKTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7Ym9yZGVyOjJweCBzb2xpZCB2YXIoLS14aFVHd2MpO3RleHQtZGVjb3JhdGlvbjpub25lO2p1c3RpZnktY29udGVudDpjZW50ZXI7aGVpZ2h0OjQ0cHh9LnFpaURqYiAuc3k0dk0uUVM1Z3V7aGVpZ2h0OjM2cHh9LnRIbHA4ZDpmb2N1cyAuc3k0dk0sLnRIbHA4ZDphY3RpdmUgLnN5NHZNe2JvcmRlcjoycHggc29saWQgdmFyKC0teGhVR3djKTtvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1Oc20wY2UpO2JveC1zaGFkb3c6MCAycHggMTBweCAwIHJnYmEoMCwwLDAsMC4yKTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDFkMzV9Lm1aSzI0e3BvaW50ZXItZXZlbnRzOm5vbmV9Lm1aSzI0IC5zeTR2TSwubVpLMjQ6Zm9jdXMgLnN5NHZNLC5tWksyNDphY3RpdmUgLnN5NHZNe2JvcmRlcjoycHggc29saWQgI2YxZjNmNDtiYWNrZ3JvdW5kLWNvbG9yOiNmMWYzZjQ7Y29sb3I6dmFyKC0tSVhveFVlKTtib3gtc2hhZG93Om5vbmV9LnN5NHZNOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzAwMWQzNTtib3JkZXI6MnB4IHNvbGlkICMwMDFkMzU7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LlNTU2U1ZXtiYWNrZ3JvdW5kOiNmMWYzZjQ7aGVpZ2h0OjQwcHg7d2lkdGg6OTAlO21hcmdpbi1sZWZ0OjB9Lkljelo0Ynt3aWR0aDphdXRvO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3c7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cGFkZGluZzoxMnB4IDIwcHg7Ym94LXNpemluZzpib3JkZXItYm94fS5kQTZzOWMgLkljelo0YntwYWRkaW5nOjEycHggMTZweH0uWWVNVHR7Ym94LXNoYWRvdzpub25lfS5xSUJuVWN7aGVpZ2h0OjMycHg7bWFyZ2luLXRvcDo4cHh9LmRBNnM5YyAucUlCblVje2hlaWdodDoyNHB4O21hcmdpbi10b3A6MTJweH0uSVhNSVZie2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC13cmFwOndyYXB9Lm5lRFl3e3Bvc2l0aW9uOnJlbGF0aXZlO2N1cnNvcjpwb2ludGVyfS5WNU9DdGR7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvd30uRllYU2Fke21hcmdpbi1sZWZ0OjlweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bGluZS1oZWlnaHQ6MjBweH0udG4zTW1ke2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmV9LmNHWThpZntkaXNwbGF5OmJsb2NrO2Rpc3BsYXk6bm9uZTtvdmVyZmxvdy15OnNjcm9sbDtoZWlnaHQ6MzUwcHg7d2lkdGg6MTkycHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3otaW5kZXg6MTAwMDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXhoVUd3Yyk7Ym94LXNoYWRvdzowIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwwLjIpO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ueUs1NmJ7bGlzdC1zdHlsZTpub25lO3BhZGRpbmc6MDttYXJnaW46MDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5IdjVVRWJ7Y29sb3I6dmFyKC0tcnJKSlVjKTt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O3BvaW50ZXItZXZlbnRzOm5vbmV9LmIwcHJ4e21hcmdpbi1yaWdodDoyMHB4O3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7ZGlzcGxheTppbmxpbmUtYmxvY2t9cGF0aC55UlJJSGZ7ZmlsbDp2YXIoLS1iYlF4QWIpfS5BSTZ3QWN7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tZ1M1alhiKTtwYWRkaW5nOjE1cHggMTBweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvd30uZVpiNTR7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjtjb2xvcjp2YXIoLS1ZTE5OSGMpO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OmJvbGQ7bGluZS1oZWlnaHQ6MjRweH0uR2UwQXVie2NvbG9yOnZhcigtLVlMTk5IYyk7Zm9udC1zaXplOjE0cHg7Y3Vyc29yOnBvaW50ZXI7dGV4dC1kZWNvcmF0aW9uOm5vbmU7bGlzdC1zdHlsZTpub25lO2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjE1cHggNDBweCAxNXB4IDU1cHg7b3ZlcmZsb3cteDpoaWRkZW59Lkx4aEFEZHtjb2xvcjp2YXIoLS1ZTE5OSGMpO2ZvbnQtc2l6ZToxNnB4O3RleHQtZGVjb3JhdGlvbjpub25lO2xpc3Qtc3R5bGU6bm9uZTtkaXNwbGF5OmZsZXg7cGFkZGluZzoxNXB4IDMwcHggMTVweCAzMHB4O292ZXJmbG93LXg6aGlkZGVuO2ZvbnQtd2VpZ2h0OjcwMH0uR2UwQXViOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZhZmFmYX0uR2UwQXViOmZvY3VzLC5BSTZ3QWM6Zm9jdXN7Ym9yZGVyOjJweCBzb2xpZCB2YXIoLS1Oc20wY2UpfS5Xck5PdWN7Ym9yZGVyOjA7ZGlzcGxheTpub25lO2ZsZXgtZGlyZWN0aW9uOnJvdztqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO3RyYW5zaXRpb246aGVpZ2h0IDBtcyAxNTBtcyxvcGFjaXR5IDE1MG1zIGxpbmVhcjtib3R0b206MDt3aWR0aDoxMDAlO2hlaWdodDoxMDBweDtiYWNrZ3JvdW5kOi1tb3otbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDI1NSwyNTUsMjU1LDApIDAlLCNmZmYgMzMlKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDI1NSwyNTUsMjU1LDApIDAlLCNmZmYgMzMlKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20scmdiYSgyNTUsMjU1LDI1NSwwKSAwJSwjZmZmIDMzJSl9LldyTk91YzphY3RpdmUsLldyTk91Yzpmb2N1c3tvdXRsaW5lOjB9LlNTU2U1ZXtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MjBweDtjb2xvcjp2YXIoLS1ZTE5OSGMpfS5Wb3ZtSWR7aGVpZ2h0OjE2cHg7d2lkdGg6MTZweDttYXJnaW4tbGVmdDoxMHB4fS5JOTBUVmJ7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToyMHB4O2xpbmUtaGVpZ2h0OjI0cHg7bWFyZ2luOjA7Y29sb3I6dmFyKC0tWUxOTkhjKTtmb250LWZhbWlseTpHb29nbGUgU2FucyxBcmlhbCxzYW5zLXNlcmlmfS5BRzk2bGJ7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjIwcHg7bGV0dGVyLXNwYWNpbmc6MC4ycHg7d2hpdGUtc3BhY2U6bm9ybWFsO3RleHQtYWxpZ246bGVmdH0ud1gyWUhjIC5BRzk2bGJ7bWFyZ2luLWJvdHRvbToyMHB4fS5WRGl0eXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtwb3NpdGlvbjpyZWxhdGl2ZTttaW4taGVpZ2h0OjQ4cHg7aGVpZ2h0OmF1dG87ZmxleC13cmFwOndyYXA7bWFyZ2luLWJvdHRvbTo0cHh9LnNwb0tWZHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5zcG9LVmQgLlFTNWd1e21hcmdpbjowIDZweDtwYWRkaW5nOjAgNjVweDtoZWlnaHQ6NDBweH0uR3pMak1ke2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5xaWlEamJ7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5xaWlEamIgYnV0dG9ue3BhZGRpbmc6NnB4IDA7aGVpZ2h0OmF1dG87bWluLWhlaWdodDo0OHB4O3dpZHRoOjEwMCV9LnFpaURqYiAuUVM1Z3V7aGVpZ2h0OmF1dG87bWFyZ2luLWxlZnQ6MDttaW4taGVpZ2h0OjMycHg7cGFkZGluZzozcHggNXB4O3dpZHRoOjEwMCU7d2hpdGUtc3BhY2U6bm9ybWFsfS5GNGExbHtjb2xvcjp2YXIoLS1KS3F4Mik7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmVMWll5Zntjb2xvcjp2YXIoLS1ZTE5OSGMpO2ZvbnQtZmFtaWx5Okdvb2dsZSBTYW5zLEFyaWFsLHNhbnMtc2VyaWY7bWFyZ2luLWJvdHRvbToxNnB4O21hcmdpbi10b3A6MjBweDstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJX0uakxod2Rje2NvbG9yOnZhcigtLVlMTk5IYyk7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZn0ueVMxbmxke2NvbG9yOnZhcigtLUlYb3hVZSk7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjttYXJnaW4tdG9wOjFlbTttYXJnaW4tYm90dG9tOjB9LndYMllIYyAuZUxaWXlme21hcmdpbi1ib3R0b206MjRweH0ud1gyWUhjIC55UzFubGR7Y29sb3I6dmFyKC0tYmJReEFiKX0uSUtsN1F7b3ZlcmZsb3cteTphdXRvO2hlaWdodDphdXRvO3Njcm9sbC1iZWhhdmlvcjpzbW9vdGg7cG9zaXRpb246cmVsYXRpdmV9LlNoY0cxe2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cGFkZGluZzowIDIwcHg7aGVpZ2h0OmF1dG99LndYMllIYyAuU2hjRzF7cGFkZGluZzowIDE2cHh9LmRiWE85e21hcmdpbjowO3BhZGRpbmc6MDtjb2xvcjp2YXIoLS1JWG94VWUpO2ZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWZ9LndYMllIYyAuZGJYTzl7Y29sb3I6dmFyKC0tYmJReEFiKX0uZ293c1lke2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6bGVmdDtiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6Y2VudGVyO2JhY2tncm91bmQtc2l6ZToxNnB4O2xpc3Qtc3R5bGU6bm9uZTtwYWRkaW5nLWxlZnQ6MzRweDttYXJnaW46MTJweCAwO2ZvbnQtc2l6ZToxNHB4Oy13ZWJraXQtdGV4dC1zaXplLWFkanVzdDoxMDAlfWh0bWxbZGlyPSdydGwnXT4uZ293c1lke2JhY2tncm91bmQtcG9zaXRpb24teDpyaWdodH0uZ293c1lkLmliQ0YwY3tiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCxcXDAwMDAzY3N2ZyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+XFwwMDAwM2NwYXRoICBmaWxsPSclMjMzYzQwNDMnIGQ9J00xMy45OCA0Ljg0NjY4Yy4yNi0uMjYuMjYtLjY4IDAtLjk0bC0xLjg4NjctMS44ODY2N2MtLjI2LS4yNi0uNjgtLjI2LS45NCAwTDguMTYgNS4wMTMzNSA1LjU2NjY3IDIuNDIwMDFjLS41Mi0uNTItMS4zNjY2Ny0uNTItMS44ODY2NyAwTDIuNDEzMzMgMy42ODY2OGMtLjUyLjUyLS41MiAxLjM2NjY3IDAgMS44ODY2N2wyLjU5MzM0IDIuNTkzMzNMMiAxMS4xNzMzVjE0aDIuODI2NjdMNy44NCAxMC45ODY3bDIuNTkzMyAyLjU5MzNjLjYzMzQuNjMzMyAxLjQ4NjcuNCAxLjg4NjcgMGwxLjI2NjctMS4yNjY3Yy41Mi0uNTIuNTItMS4zNjY2IDAtMS44ODY2bC0yLjU5MzQtMi41OTMzNUwxMy45OCA0Ljg0NjY4em0tMTAuNjItLjIybDEuMjYtMS4yNjY2Ny44NDY2Ny44NDY2Ny0uNzg2NjcuNzkzMzMuOTQuOTQuNzkzMzMtLjc5MzMzLjguOC0xLjI2NjY2IDEuMjY2NjdMMy4zNiA0LjYyNjY4em03LjQ4NjcgNC45NmwtLjc5MzQuNzkzMzIuOTQuOTQuNzkzNC0uNzkzMy44NDY2Ljg0NjYtMS4yNjY2IDEuMjY2Ny0yLjU5MzM3LTIuNTkzM0wxMC4wNCA4Ljc4MDAxbC44MDY3LjgwNjY3ek00LjI3MzMzIDEyLjY2NjdoLS45NHYtLjk0TDkuNzQgNS4zMjAwMWwuODY2Ny44NjY2Ny4wNzMzLjA3MzMzLTYuNDA2NjcgNi40MDY2OXpNMTAuNjggNC4zNzMzNWwuOTQtLjk0Ljk0Ljk0LS45NC45NC0uOTQtLjk0eicvPlxcMDAwMDNjL3N2Zz5cIil9Lmdvd3NZZC5Hd3doR2Z7YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsXFwwMDAwM2Nzdmcgd2lkdGg9JzE2JyBoZWlnaHQ9JzE2JyB2aWV3Qm94PScwIDAgMjQgMjQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgIGZpbGw9JyUyMzNjNDA0Myc+XFwwMDAwM2NwYXRoIGQ9J00wIDBoMjR2MjRIMFYweicgZmlsbD0nbm9uZScvPlxcMDAwMDNjcGF0aCBkPSdNMTIgNS45OUwxOS41MyAxOUg0LjQ3TDEyIDUuOTlNMTIgMkwxIDIxaDIyTDEyIDJ6bTEgMTRoLTJ2Mmgydi0yem0wLTZoLTJ2NGgydi00eicvPlxcMDAwMDNjL3N2Zz5cIil9Lmdvd3NZZC5NNmo5cWZ7YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsXFwwMDAwM2Nzdmcgd2lkdGg9JzE2JyBoZWlnaHQ9JzE2JyB2aWV3Qm94PScwIDAgMjQgMjQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+XFwwMDAwM2NnIGZpbGw9JyUyMzNjNDA0MycgZmlsbC1ydWxlPSdldmVub2RkJyBjbGlwLXJ1bGU9J2V2ZW5vZGQnPlxcMDAwMDNjZz5cXDAwMDAzY3BhdGggZD0nTTIxLDhjLTEuNDUsMC0yLjI2LDEuNDQtMS45MywyLjUxbC0zLjU1LDMuNTZjLTAuMy0wLjA5LTAuNzQtMC4wOS0xLjA0LDBsLTIuNTUtMi41NUMxMi4yNywxMC40NSwxMS40Niw5LDEwLDkgYy0xLjQ1LDAtMi4yNywxLjQ0LTEuOTMsMi41MmwtNC41Niw0LjU1QzIuNDQsMTUuNzQsMSwxNi41NSwxLDE4YzAsMS4xLDAuOSwyLDIsMmMxLjQ1LDAsMi4yNi0xLjQ0LDEuOTMtMi41MWw0LjU1LTQuNTYgYzAuMywwLjA5LDAuNzQsMC4wOSwxLjA0LDBsMi41NSwyLjU1QzEyLjczLDE2LjU1LDEzLjU0LDE4LDE1LDE4YzEuNDUsMCwyLjI3LTEuNDQsMS45My0yLjUybDMuNTYtMy41NSBDMjEuNTYsMTIuMjYsMjMsMTEuNDUsMjMsMTBDMjMsOC45LDIyLjEsOCwyMSw4eicvPlxcMDAwMDNjcG9seWdvbiBwb2ludHM9JzE1LDkgMTUuOTQsNi45MyAxOCw2IDE1Ljk0LDUuMDcgMTUsMyAxNC4wOCw1LjA3IDEyLDYgMTQuMDgsNi45MycvPlxcMDAwMDNjcG9seWdvbiBwb2ludHM9JzMuNSwxMSA0LDkgNiw4LjUgNCw4IDMuNSw2IDMsOCAxLDguNSAzLDknLz5cXDAwMDAzYy9nPlxcMDAwMDNjL2c+XFwwMDAwM2Mvc3ZnPlwiKX0uZ293c1lkLnY4QnBmYntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCxcXDAwMDAzY3N2ZyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIHZpZXdCb3g9JzAgMCAyNCAyNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz5cXDAwMDAzY3BhdGggZmlsbD0nJTIzM2M0MDQzJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGNsaXAtcnVsZT0nZXZlbm9kZCcgZD0nTTUgOWgzdjEwSDV6bTUuNS00aDN2MTRoLTN6bTUuNSA4aDN2NmgtM3onLz5cXDAwMDAzYy9zdmc+XCIpfS5nb3dzWWQuZTIxTWFje2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLFxcMDAwMDNjc3ZnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz5cXDAwMDAzY3BhdGggIGZpbGw9JyUyMzNjNDA0MycgZD0nTTguMzMzOTggNS42NjY2N0w2LjY2NzMyIDIgNS4wMDA2NSA1LjY2NjY3IDEuMzMzOTggNy4zMzMzMyA1LjAwMDY1IDlsMS42NjY2NyAzLjY2NjdMOC4zMzM5OCA5bDMuNjY2NzItMS42NjY2Ny0zLjY2NjcyLTEuNjY2NjZ6bTMuNjY2NzIgM0wxMS4xNjczIDEwLjVsLTEuODMzMzIuODMzMyAxLjgzMzMyLjgzMzRMMTIuMDAwNyAxNGwuODMzMy0xLjgzMzMgMS44MzMzLS44MzM0TDEyLjgzNCAxMC41bC0uODMzMy0xLjgzMzMzeicvPlxcMDAwMDNjL3N2Zz5cIil9Lmdvd3NZZC5vaEVXUGN7YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsXFwwMDAwM2Nzdmcgd2lkdGg9JzE2JyBoZWlnaHQ9JzE2JyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyUyMzNjNDA0MycgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz5cXDAwMDAzY3BhdGggZmlsbC1ydWxlPSdldmVub2RkJyBjbGlwLXJ1bGU9J2V2ZW5vZGQnIGQ9J00xMC4xNDgxIDcuNDA3NDNINi41OTI1NVY4LjU5MjYxSDEwLjE0ODFWNy40MDc0M1pNOS44MDkxNCAxMC45NjNIMy4wMzdWOS43Nzc4SDkuNDU3ODNDOS41NjczNCAxMC4xNjEgOS42ODU4NCAxMC41NTgzIDkuODA5MTQgMTAuOTYzWk0xMC4xNzUyIDEyLjE0ODJIMi40NDQ0QzIuMTI0NCAxMi4xNDgyIDEuODUxODEgMTEuOTM0OCAxLjg1MTgxIDExLjY4NTlWNC4zMTQwOUMxLjg1MTgxIDQuMDY1MjEgMi4xMjQ0IDMuODUxODcgMi40NDQ0IDMuODUxODdIMTAuNzM0OEMxMS4wNTQ4IDMuODUxODcgMTEuMzI3NCA0LjA2NTIxIDExLjMyNzQgNC4zMTQwOVY4LjAwMDAySDExLjMzMzNWOS45MzYxM0MxMS41MTE2IDkuOTkxMDQgMTEuNjkxIDEwLjA0NjQgMTEuODcwOSAxMC4xMDE5QzEyLjA4NjQgMTAuMTY4NCAxMi4zMDI1IDEwLjIzNTEgMTIuNTE4NSAxMC4zMDE1VjQuMzE0MDlDMTIuNTE4NSAzLjQwNzQzIDExLjcxMjYgMi42NjY2OSAxMC43NDA3IDIuNjY2NjlIMi40NDQ0QzEuNDcyNTUgMi42NjY2OSAwLjY2NjYyNiAzLjQxMzM1IDAuNjY2NjI2IDQuMzE0MDlWMTEuNjg1OUMwLjY2NjYyNiAxMi41OTI2IDEuNDcyNTUgMTMuMzMzNCAyLjQ0NDQgMTMuMzMzNEgxMC41NDM1QzEwLjQ0NDUgMTMuMDEyMiAxMC4zNDM0IDEyLjY4OCAxMC4yNDI0IDEyLjM2MzdDMTAuMjIgMTIuMjkxOCAxMC4xOTc2IDEyLjIyIDEwLjE3NTIgMTIuMTQ4MlpNNS40MDczNyA4LjU5MjYxSDMuMDM3VjUuMDM3MDZINS40MDczN1Y4LjU5MjYxWk0xMC4xNDgxIDYuMjIyMjRINi41OTI1NVY1LjAzNzA2SDEwLjE0ODFWNi4yMjIyNFonLz5cXDAwMDAzY3BhdGggZD0nTTEwIDEwQzEwLjM2MDYgMTEuMzE1MiAxMC45MTIxIDEyLjkyNzMgMTEuMjcyNyAxNC4yNDI0TDExLjc5ODggMTIuNjUxNUwxMy44MTgyIDE0LjY2NjdMMTQuNjY2NyAxMy44MTgyTDEyLjY3MjcgMTEuODI0MkwxNC4yNDI0IDExLjI3MjdDMTIuOTI3MyAxMC45MTIxIDExLjMxNTIgMTAuMzgxOCAxMCAxMFonLz5cXDAwMDAzYy9zdmc+XCIpfS5YV2xyZmZ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtwYWRkaW5nLXJpZ2h0OjEwcHg7bWFyZ2luOjA7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjQ4cHh9LmNHMERtZntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmctcmlnaHQ6MH0ucGVSTDJlLC5vOUQ1WmJ7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjtjb2xvcjp2YXIoLS1JWG94VWUpO3RleHQtZGVjb3JhdGlvbjpub25lO2ZvbnQtc2l6ZToxMnB4O2hlaWdodDo0OHB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OmNlbnRlcn0ucGVSTDJle3BhZGRpbmctbGVmdDo4cHg7bWFyZ2luLWxlZnQ6LThweDtwYWRkaW5nLXJpZ2h0OjhweDttYXJnaW4tcmlnaHQ6LThweH0ubzlENVpie21hcmdpbjowIDEwcHh9Lkt4dmxXY3t3aWR0aDo4MDBweDtoZWlnaHQ6YXV0bzttYXgtd2lkdGg6bm9uZX0uR1o3eE5le3BhZGRpbmc6MCAzMnB4fS5JS2w3UXt3aWR0aDphdXRvO2hlaWdodDphdXRvO3BhZGRpbmc6MCA0MHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS5JOTBUVmJ7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC10cmFuc2Zvcm06bm9uZTtjb2xvcjp2YXIoLS1ZTE5OSGMpO2ZvbnQtZmFtaWx5Okdvb2dsZSBTYW5zLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjI4cHg7bGluZS1oZWlnaHQ6MzZweDtmb250LXdlaWdodDo0MDA7bGV0dGVyLXNwYWNpbmc6MDttYXJnaW46MCBhdXRvO3BhZGRpbmc6MCAzMnB4fS5nb3dzWWR7bWFyZ2luOjEycHggMDtwYWRkaW5nLWxlZnQ6MzRweH0uVkRpdHl7bWFyZ2luLWJvdHRvbToyNHB4O3BhZGRpbmc6NXB4IDMycHggMH0uSWN6WjRie3BhZGRpbmc6MjRweCAzMnB4IDE4cHh9LnFJQm5VY3toZWlnaHQ6NDBweDt3aWR0aDo0MHB4O21hcmdpbi10b3A6NHB4fS5jR1k4aWZ7aGVpZ2h0OjQ1MHB4fS5JWE1JVmJ7cmlnaHQ6MzJweH0uWFdscmZme3Bvc2l0aW9uOnJlbGF0aXZlfS5wZVJMMmU6Zm9jdXMsLkY0YTFsOmZvY3VzLC5lT2pQSWU6Zm9jdXN7Ym9yZGVyOjFweCBzb2xpZCAjMDAxZDM1fUBtZWRpYSAobWF4LXdpZHRoOjg5MHB4KXsuS3h2bFdje3dpZHRoOjkwJX19QG1lZGlhIChtYXgtd2lkdGg6MzIwcHgpey5LeHZsV2N7d2lkdGg6MjYwcHg7aGVpZ2h0OjQ3MXB4fS5uZURZdyAuUVM1Z3V7cGFkZGluZzowIDVweH0uRllYU2Fke2Rpc3BsYXk6bm9uZX0udG4zTW1ke3Bvc2l0aW9uOnN0YXRpY30uY0dZOGlme3RvcDoxMnB4O3JpZ2h0OjFweDtsZWZ0OnVuc2V0fX1AbWVkaWEgKG1heC13aWR0aDoyODBweCl7LlFTNWd1e3BhZGRpbmc6MCA1cHh9fS55eUowOGMgLkt4dmxXY3toZWlnaHQ6Y2FsYygxMDAlIC0gNjRweCk7d2lkdGg6Y2FsYygxMDB2dyAtIDQ4cHgpfS55eUowOGMgLlZEaXR5e21hcmdpbi1ib3R0b206MH08L3N0eWxlPjxkaXYgY2xhc3M9XCJIVGp0SGVcIiBpZD1cInhlN0NPZVwiIGFyaWEtbGFiZWw9XCJCZXZvciBTaWUgenVyIEdvb2dsZSBTdWNoZSB3ZWl0ZXJnZWhlblwiIGFyaWEtbW9kYWw9XCJ0cnVlXCIgcm9sZT1cImRpYWxvZ1wiIHRhYmluZGV4PVwiMFwiIGRhdGEtdmVkPVwiMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRaEpBSENDQVwiPjxkaXYgY2xhc3M9XCJ2VWQ0amJcIiBpZD1cIktqY0hQY1wiIGRhdGEtdmVkPVwiMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRaFpBSENDRVwiPjwvZGl2PjxkaXYgaWQ9XCJyR0RTbmJcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWtaQUhDQ0lcIj48L2Rpdj48ZGl2IGNsYXNzPVwianc4bUlcIj48ZGl2IGNsYXNzPVwiSGJ1NHlcIiBpZD1cInNOQ1FiXCIgYXJpYS1saXZlPVwicG9saXRlXCI+PC9kaXY+PHNwYW4+PGRpdiBjbGFzcz1cIkt4dmxXY1wiIGlkPVwiQ1hRbm1iXCI+PGRpdiBjbGFzcz1cIkhPcTRIZSB3WDJZSGNcIj48ZGl2IGNsYXNzPVwiZGJzRnJkXCI+PGRpdj48ZGl2IGNsYXNzPVwiSWN6WjRiXCIgaWQ9XCJ1TW91c2NcIj48aW1nIGNsYXNzPVwicUlCblVjXCIgc3JjPVwiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kvcHJvZHVjdGxvZ29zL2dvb2dsZWcvdjYvMjRweC5zdmdcIiBhbHQ9XCJHb29nbGVcIj48ZGl2IGNsYXNzPVwiSVhNSVZiXCI+PGRpdiBjbGFzcz1cInRuM01tZFwiPjxidXR0b24gY2xhc3M9XCJuZURZdyB0SGxwOGRcIiBpZD1cInZjM2pvZlwiIGFyaWEtbGFiZWw9XCJTcHJhY2hlIGF1c3dcdTAwZTRobGVuLCBkZVwiIGFyaWEtZGlzYWJsZWQ9XCJmYWxzZVwiIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCIgZGF0YS12ZWQ9XCIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFpNUFIQ0NNXCI+PGRpdiBjbGFzcz1cIlFTNWd1IHVkMWptZlwiIHJvbGU9XCJub25lXCI+PGRpdiBjbGFzcz1cIlY1T0N0ZFwiPjxzdmcgY2xhc3M9XCJIdjVVRWJcIiBoZWlnaHQ9XCIzMFwiIHZpZXdCb3g9XCIwIDAgMzAgMzBcIiB3aWR0aD1cIjMwXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxwYXRoIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTIuNSAxNUMyLjUgOC4xIDguMDg3NSAyLjUgMTQuOTg3NSAyLjVDMjEuOSAyLjUgMjcuNSA4LjEgMjcuNSAxNUMyNy41IDIxLjkgMjEuOSAyNy41IDE0Ljk4NzUgMjcuNUM4LjA4NzUgMjcuNSAyLjUgMjEuOSAyLjUgMTVaTTE5Ljk2MjUgMTBIMjMuNjVDMjIuNDUgNy45Mzc1IDIwLjUzNzUgNi4zMzc1IDE4LjIzNzUgNS41NUMxOC45ODc1IDYuOTM3NSAxOS41NjI1IDguNDM3NSAxOS45NjI1IDEwWk0xNSA1LjA1QzE2LjAzNzUgNi41NSAxNi44NSA4LjIxMjUgMTcuMzg3NSAxMEgxMi42MTI1QzEzLjE1IDguMjEyNSAxMy45NjI1IDYuNTUgMTUgNS4wNVpNNSAxNUM1IDE1Ljg2MjUgNS4xMjUgMTYuNyA1LjMyNSAxNy41SDkuNTVDOS40NSAxNi42NzUgOS4zNzUgMTUuODUgOS4zNzUgMTVDOS4zNzUgMTQuMTUgOS40NSAxMy4zMjUgOS41NSAxMi41SDUuMzI1QzUuMTI1IDEzLjMgNSAxNC4xMzc1IDUgMTVaTTYuMzUgMjBIMTAuMDM3NUMxMC40Mzc1IDIxLjU2MjUgMTEuMDEyNSAyMy4wNjI1IDExLjc2MjUgMjQuNDVDOS40NjI1IDIzLjY2MjUgNy41NSAyMi4wNzUgNi4zNSAyMFpNNi4zNSAxMEgxMC4wMzc1QzEwLjQzNzUgOC40Mzc1IDExLjAxMjUgNi45Mzc1IDExLjc2MjUgNS41NUM5LjQ2MjUgNi4zMzc1IDcuNTUgNy45MjUgNi4zNSAxMFpNMTUgMjQuOTVDMTMuOTYyNSAyMy40NSAxMy4xNSAyMS43ODc1IDEyLjYxMjUgMjBIMTcuMzg3NUMxNi44NSAyMS43ODc1IDE2LjAzNzUgMjMuNDUgMTUgMjQuOTVaTTExLjg3NSAxNUMxMS44NzUgMTUuODUgMTEuOTYyNSAxNi42NzUgMTIuMDc1IDE3LjVIMTcuOTI1QzE4LjAzNzUgMTYuNjc1IDE4LjEyNSAxNS44NSAxOC4xMjUgMTVDMTguMTI1IDE0LjE1IDE4LjAzNzUgMTMuMzEyNSAxNy45MjUgMTIuNUgxMi4wNzVDMTEuOTYyNSAxMy4zMTI1IDExLjg3NSAxNC4xNSAxMS44NzUgMTVaTTE4LjIzNzUgMjQuNDVDMTguOTg3NSAyMy4wNjI1IDE5LjU2MjUgMjEuNTYyNSAxOS45NjI1IDIwSDIzLjY1QzIyLjQ1IDIyLjA2MjUgMjAuNTM3NSAyMy42NjI1IDE4LjIzNzUgMjQuNDVaTTIwLjYyNSAxNUMyMC42MjUgMTUuODUgMjAuNTUgMTYuNjc1IDIwLjQ1IDE3LjVIMjQuNjc1QzI0Ljg3NSAxNi43IDI1IDE1Ljg2MjUgMjUgMTVDMjUgMTQuMTM3NSAyNC44NzUgMTMuMyAyNC42NzUgMTIuNUgyMC40NUMyMC41NSAxMy4zMjUgMjAuNjI1IDE0LjE1IDIwLjYyNSAxNVpcIiBmaWxsPVwiY3VycmVudENvbG9yXCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiPjwvcGF0aD48L3N2Zz48ZGl2IGNsYXNzPVwiRllYU2FkXCI+ZGU8L2Rpdj48L2Rpdj48L2Rpdj48L2J1dHRvbj48ZGl2IGNsYXNzPVwiY0dZOGlmXCIgaWQ9XCJ0YlR1YmRcIiByb2xlPVwibWVudVwiIGRhdGEtdmVkPVwiMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRakpBSENDUVwiPjxkaXYgY2xhc3M9XCJ5SzU2YlwiIHJvbGU9XCJub25lXCI+PGxpIGNsYXNzPVwiQUk2d0FjIGVaYjU0XCIgYXJpYS1sYWJlbD1cIlx1MjAyYURldXRzY2hcdTIwMmNcIiBhcmlhLWRpc2FibGVkPVwidHJ1ZVwiIHJvbGU9XCJtZW51aXRlbVwiIHRhYmluZGV4PVwiMFwiPjxkaXYgY2xhc3M9XCJiMHByeFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjxzdmcgaGVpZ2h0PVwiMjRcIiB2aWV3Ym94PVwiMCAwIDI0IDI0XCIgd2lkdGg9XCIyNFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBjbGFzcz1cInlSUklIZlwiIGQ9XCJNOSAxNi4xNzAxTDQuODMgMTIuMDAwMUwzLjQxIDEzLjQxMDFMOSAxOS4wMDAxTDIxIDcuMDAwMDlMMTkuNTkgNS41OTAwOUw5IDE2LjE3MDFaXCI+PC9wYXRoPjwvc3ZnPjwvZGl2Plx1MjAyYURldXRzY2hcdTIwMmM8L2xpPjxkaXY+PGxpIGNsYXNzPVwiR2UwQXViXCIgYXJpYS1sYWJlbD1cIlx1MjAyYUVuZ2xpc2ggKFVuaXRlZCBLaW5nZG9tKVx1MjAyY1wiIGRhdGEtaGw9XCJlbi1HQlwiIHJvbGU9XCJtZW51aXRlbVwiIHRhYmluZGV4PVwiMFwiIGRhdGEtdmVkPVwiMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRanNvS0NDVVwiPlx1MjAyYUVuZ2xpc2ggKFVuaXRlZCBLaW5nZG9tKVx1MjAyYzwvbGk+PGxpIGNsYXNzPVwiR2UwQXViXCIgYXJpYS1sYWJlbD1cIlx1MjAyYUVzcGFcdTAwZjFvbCAoRXNwYVx1MDBmMWEpXHUyMDJjXCIgZGF0YS1obD1cImVzXCIgcm9sZT1cIm1lbnVpdGVtXCIgdGFiaW5kZXg9XCIwXCIgZGF0YS12ZWQ9XCIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqc29LQ0NZXCI+XHUyMDJhRXNwYVx1MDBmMW9sIChFc3BhXHUwMGYxYSlcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFGcmFuXHUwMGU3YWlzIChGcmFuY2UpXHUyMDJjXCIgZGF0YS1obD1cImZyXCIgcm9sZT1cIm1lbnVpdGVtXCIgdGFiaW5kZXg9XCIwXCIgZGF0YS12ZWQ9XCIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqc29LQ0NjXCI+XHUyMDJhRnJhblx1MDBlN2FpcyAoRnJhbmNlKVx1MjAyYzwvbGk+PGxpIGNsYXNzPVwiR2UwQXViXCIgYXJpYS1sYWJlbD1cIlx1MjAyYUl0YWxpYW5vXHUyMDJjXCIgZGF0YS1obD1cIml0XCIgcm9sZT1cIm1lbnVpdGVtXCIgdGFiaW5kZXg9XCIwXCIgZGF0YS12ZWQ9XCIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqc29LQ0NnXCI+XHUyMDJhSXRhbGlhbm9cdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkx4aEFEZFwiIHJvbGU9XCJtZW51aXRlbVwiIHRhYmluZGV4PVwiMFwiPkFsbGUgU3ByYWNoZW48L2xpPjwvZGl2PjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFBZnJpa2FhbnNcdTIwMmNcIiBkYXRhLWhsPVwiYWZcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDQ2tcIj5cdTIwMmFBZnJpa2FhbnNcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFhelx1MDI1OXJiYXljYW5cdTIwMmNcIiBkYXRhLWhsPVwiYXpcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDQ29cIj5cdTIwMmFhelx1MDI1OXJiYXljYW5cdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFib3NhbnNraVx1MjAyY1wiIGRhdGEtaGw9XCJic1wiIHJvbGU9XCJtZW51aXRlbVwiIHRhYmluZGV4PVwiMFwiIGRhdGEtdmVkPVwiMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NDc1wiPlx1MjAyYWJvc2Fuc2tpXHUyMDJjPC9saT48bGkgY2xhc3M9XCJHZTBBdWJcIiBhcmlhLWxhYmVsPVwiXHUyMDJhY2F0YWxcdTAwZTBcdTIwMmNcIiBkYXRhLWhsPVwiY2FcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDQ3dcIj5cdTIwMmFjYXRhbFx1MDBlMFx1MjAyYzwvbGk+PGxpIGNsYXNzPVwiR2UwQXViXCIgYXJpYS1sYWJlbD1cIlx1MjAyYVx1MDEwY2VcdTAxNjF0aW5hXHUyMDJjXCIgZGF0YS1obD1cImNzXCIgcm9sZT1cIm1lbnVpdGVtXCIgdGFiaW5kZXg9XCIwXCIgZGF0YS12ZWQ9XCIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0MwXCI+XHUyMDJhXHUwMTBjZVx1MDE2MXRpbmFcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFDeW1yYWVnXHUyMDJjXCIgZGF0YS1obD1cImN5XCIgcm9sZT1cIm1lbnVpdGVtXCIgdGFiaW5kZXg9XCIwXCIgZGF0YS12ZWQ9XCIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0M0XCI+XHUyMDJhQ3ltcmFlZ1x1MjAyYzwvbGk+PGxpIGNsYXNzPVwiR2UwQXViXCIgYXJpYS1sYWJlbD1cIlx1MjAyYURhbnNrXHUyMDJjXCIgZGF0YS1obD1cImRhXCIgcm9sZT1cIm1lbnVpdGVtXCIgdGFiaW5kZXg9XCIwXCIgZGF0YS12ZWQ9XCIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0M4XCI+XHUyMDJhRGFuc2tcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFlZXN0aVx1MjAyY1wiIGRhdGEtaGw9XCJldFwiIHJvbGU9XCJtZW51aXRlbVwiIHRhYmluZGV4PVwiMFwiIGRhdGEtdmVkPVwiMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NEQVwiPlx1MjAyYWVlc3RpXHUyMDJjPC9saT48bGkgY2xhc3M9XCJHZTBBdWJcIiBhcmlhLWxhYmVsPVwiXHUyMDJhRW5nbGlzaCAoVW5pdGVkIEtpbmdkb20pXHUyMDJjXCIgZGF0YS1obD1cImVuLUdCXCIgcm9sZT1cIm1lbnVpdGVtXCIgdGFiaW5kZXg9XCIwXCIgZGF0YS12ZWQ9XCIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0RFXCI+XHUyMDJhRW5nbGlzaCAoVW5pdGVkIEtpbmdkb20pXHUyMDJjPC9saT48bGkgY2xhc3M9XCJHZTBBdWJcIiBhcmlhLWxhYmVsPVwiXHUyMDJhRW5nbGlzaCAoVW5pdGVkIFN0YXRlcylcdTIwMmNcIiBkYXRhLWhsPVwiZW4tVVNcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRElcIj5cdTIwMmFFbmdsaXNoIChVbml0ZWQgU3RhdGVzKVx1MjAyYzwvbGk+PGxpIGNsYXNzPVwiR2UwQXViXCIgYXJpYS1sYWJlbD1cIlx1MjAyYUVuZ2xpc2hcdTIwMmNcIiBkYXRhLWhsPVwiZW5cIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRE1cIj5cdTIwMmFFbmdsaXNoXHUyMDJjPC9saT48bGkgY2xhc3M9XCJHZTBBdWJcIiBhcmlhLWxhYmVsPVwiXHUyMDJhRXNwYVx1MDBmMW9sIChFc3BhXHUwMGYxYSlcdTIwMmNcIiBkYXRhLWhsPVwiZXNcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRFFcIj5cdTIwMmFFc3BhXHUwMGYxb2wgKEVzcGFcdTAwZjFhKVx1MjAyYzwvbGk+PGxpIGNsYXNzPVwiR2UwQXViXCIgYXJpYS1sYWJlbD1cIlx1MjAyYUVzcGFcdTAwZjFvbCAoTGF0aW5vYW1cdTAwZTlyaWNhKVx1MjAyY1wiIGRhdGEtaGw9XCJlcy00MTlcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRFVcIj5cdTIwMmFFc3BhXHUwMGYxb2wgKExhdGlub2FtXHUwMGU5cmljYSlcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFldXNrYXJhXHUyMDJjXCIgZGF0YS1obD1cImV1XCIgcm9sZT1cIm1lbnVpdGVtXCIgdGFiaW5kZXg9XCIwXCIgZGF0YS12ZWQ9XCIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0RZXCI+XHUyMDJhZXVza2FyYVx1MjAyYzwvbGk+PGxpIGNsYXNzPVwiR2UwQXViXCIgYXJpYS1sYWJlbD1cIlx1MjAyYUZpbGlwaW5vXHUyMDJjXCIgZGF0YS1obD1cImZpbFwiIHJvbGU9XCJtZW51aXRlbVwiIHRhYmluZGV4PVwiMFwiIGRhdGEtdmVkPVwiMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NEY1wiPlx1MjAyYUZpbGlwaW5vXHUyMDJjPC9saT48bGkgY2xhc3M9XCJHZTBBdWJcIiBhcmlhLWxhYmVsPVwiXHUyMDJhRnJhblx1MDBlN2FpcyAoQ2FuYWRhKVx1MjAyY1wiIGRhdGEtaGw9XCJmci1DQVwiIHJvbGU9XCJtZW51aXRlbVwiIHRhYmluZGV4PVwiMFwiIGRhdGEtdmVkPVwiMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NEZ1wiPlx1MjAyYUZyYW5cdTAwZTdhaXMgKENhbmFkYSlcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFGcmFuXHUwMGU3YWlzIChGcmFuY2UpXHUyMDJjXCIgZGF0YS1obD1cImZyXCIgcm9sZT1cIm1lbnVpdGVtXCIgdGFiaW5kZXg9XCIwXCIgZGF0YS12ZWQ9XCIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0RrXCI+XHUyMDJhRnJhblx1MDBlN2FpcyAoRnJhbmNlKVx1MjAyYzwvbGk+PGxpIGNsYXNzPVwiR2UwQXViXCIgYXJpYS1sYWJlbD1cIlx1MjAyYUdhZWlsZ2VcdTIwMmNcIiBkYXRhLWhsPVwiZ2FcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRG9cIj5cdTIwMmFHYWVpbGdlXHUyMDJjPC9saT48bGkgY2xhc3M9XCJHZTBBdWJcIiBhcmlhLWxhYmVsPVwiXHUyMDJhZ2FsZWdvXHUyMDJjXCIgZGF0YS1obD1cImdsXCIgcm9sZT1cIm1lbnVpdGVtXCIgdGFiaW5kZXg9XCIwXCIgZGF0YS12ZWQ9XCIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0RzXCI+XHUyMDJhZ2FsZWdvXHUyMDJjPC9saT48bGkgY2xhc3M9XCJHZTBBdWJcIiBhcmlhLWxhYmVsPVwiXHUyMDJhSHJ2YXRza2lcdTIwMmNcIiBkYXRhLWhsPVwiaHJcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRHdcIj5cdTIwMmFIcnZhdHNraVx1MjAyYzwvbGk+PGxpIGNsYXNzPVwiR2UwQXViXCIgYXJpYS1sYWJlbD1cIlx1MjAyYUluZG9uZXNpYVx1MjAyY1wiIGRhdGEtaGw9XCJpZFwiIHJvbGU9XCJtZW51aXRlbVwiIHRhYmluZGV4PVwiMFwiIGRhdGEtdmVkPVwiMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NEMFwiPlx1MjAyYUluZG9uZXNpYVx1MjAyYzwvbGk+PGxpIGNsYXNzPVwiR2UwQXViXCIgYXJpYS1sYWJlbD1cIlx1MjAyYWlzaVp1bHVcdTIwMmNcIiBkYXRhLWhsPVwienVcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRDRcIj5cdTIwMmFpc2ladWx1XHUyMDJjPC9saT48bGkgY2xhc3M9XCJHZTBBdWJcIiBhcmlhLWxhYmVsPVwiXHUyMDJhXHUwMGVkc2xlbnNrYVx1MjAyY1wiIGRhdGEtaGw9XCJpc1wiIHJvbGU9XCJtZW51aXRlbVwiIHRhYmluZGV4PVwiMFwiIGRhdGEtdmVkPVwiMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NEOFwiPlx1MjAyYVx1MDBlZHNsZW5za2FcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFJdGFsaWFub1x1MjAyY1wiIGRhdGEtaGw9XCJpdFwiIHJvbGU9XCJtZW51aXRlbVwiIHRhYmluZGV4PVwiMFwiIGRhdGEtdmVkPVwiMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NFQVwiPlx1MjAyYUl0YWxpYW5vXHUyMDJjPC9saT48bGkgY2xhc3M9XCJHZTBBdWJcIiBhcmlhLWxhYmVsPVwiXHUyMDJhS2lzd2FoaWxpXHUyMDJjXCIgZGF0YS1obD1cInN3XCIgcm9sZT1cIm1lbnVpdGVtXCIgdGFiaW5kZXg9XCIwXCIgZGF0YS12ZWQ9XCIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0VFXCI+XHUyMDJhS2lzd2FoaWxpXHUyMDJjPC9saT48bGkgY2xhc3M9XCJHZTBBdWJcIiBhcmlhLWxhYmVsPVwiXHUyMDJhbGF0dmllXHUwMTYxdVx1MjAyY1wiIGRhdGEtaGw9XCJsdlwiIHJvbGU9XCJtZW51aXRlbVwiIHRhYmluZGV4PVwiMFwiIGRhdGEtdmVkPVwiMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NFSVwiPlx1MjAyYWxhdHZpZVx1MDE2MXVcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFsaWV0dXZpXHUwMTczXHUyMDJjXCIgZGF0YS1obD1cImx0XCIgcm9sZT1cIm1lbnVpdGVtXCIgdGFiaW5kZXg9XCIwXCIgZGF0YS12ZWQ9XCIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0VNXCI+XHUyMDJhbGlldHV2aVx1MDE3M1x1MjAyYzwvbGk+PGxpIGNsYXNzPVwiR2UwQXViXCIgYXJpYS1sYWJlbD1cIlx1MjAyYW1hZ3lhclx1MjAyY1wiIGRhdGEtaGw9XCJodVwiIHJvbGU9XCJtZW51aXRlbVwiIHRhYmluZGV4PVwiMFwiIGRhdGEtdmVkPVwiMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NFUVwiPlx1MjAyYW1hZ3lhclx1MjAyYzwvbGk+PGxpIGNsYXNzPVwiR2UwQXViXCIgYXJpYS1sYWJlbD1cIlx1MjAyYU1lbGF5dVx1MjAyY1wiIGRhdGEtaGw9XCJtc1wiIHJvbGU9XCJtZW51aXRlbVwiIHRhYmluZGV4PVwiMFwiIGRhdGEtdmVkPVwiMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NFVVwiPlx1MjAyYU1lbGF5dVx1MjAyYzwvbGk+PGxpIGNsYXNzPVwiR2UwQXViXCIgYXJpYS1sYWJlbD1cIlx1MjAyYU5lZGVybGFuZHNcdTIwMmNcIiBkYXRhLWhsPVwibmxcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRVlcIj5cdTIwMmFOZWRlcmxhbmRzXHUyMDJjPC9saT48bGkgY2xhc3M9XCJHZTBBdWJcIiBhcmlhLWxhYmVsPVwiXHUyMDJhbm9yc2tcdTIwMmNcIiBkYXRhLWhsPVwibm9cIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRWNcIj5cdTIwMmFub3Jza1x1MjAyYzwvbGk+PGxpIGNsYXNzPVwiR2UwQXViXCIgYXJpYS1sYWJlbD1cIlx1MjAyYW9cdTIwMTh6YmVrXHUyMDJjXCIgZGF0YS1obD1cInV6XCIgcm9sZT1cIm1lbnVpdGVtXCIgdGFiaW5kZXg9XCIwXCIgZGF0YS12ZWQ9XCIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0VnXCI+XHUyMDJhb1x1MjAxOHpiZWtcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFwb2xza2lcdTIwMmNcIiBkYXRhLWhsPVwicGxcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRWtcIj5cdTIwMmFwb2xza2lcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFQb3J0dWd1XHUwMGVhcyAoQnJhc2lsKVx1MjAyY1wiIGRhdGEtaGw9XCJwdC1CUlwiIHJvbGU9XCJtZW51aXRlbVwiIHRhYmluZGV4PVwiMFwiIGRhdGEtdmVkPVwiMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NFb1wiPlx1MjAyYVBvcnR1Z3VcdTAwZWFzIChCcmFzaWwpXHUyMDJjPC9saT48bGkgY2xhc3M9XCJHZTBBdWJcIiBhcmlhLWxhYmVsPVwiXHUyMDJhUG9ydHVndVx1MDBlYXMgKFBvcnR1Z2FsKVx1MjAyY1wiIGRhdGEtaGw9XCJwdC1QVFwiIHJvbGU9XCJtZW51aXRlbVwiIHRhYmluZGV4PVwiMFwiIGRhdGEtdmVkPVwiMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NFc1wiPlx1MjAyYVBvcnR1Z3VcdTAwZWFzIChQb3J0dWdhbClcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFyb21cdTAwZTJuXHUwMTAzXHUyMDJjXCIgZGF0YS1obD1cInJvXCIgcm9sZT1cIm1lbnVpdGVtXCIgdGFiaW5kZXg9XCIwXCIgZGF0YS12ZWQ9XCIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0V3XCI+XHUyMDJhcm9tXHUwMGUyblx1MDEwM1x1MjAyYzwvbGk+PGxpIGNsYXNzPVwiR2UwQXViXCIgYXJpYS1sYWJlbD1cIlx1MjAyYXNocWlwXHUyMDJjXCIgZGF0YS1obD1cInNxXCIgcm9sZT1cIm1lbnVpdGVtXCIgdGFiaW5kZXg9XCIwXCIgZGF0YS12ZWQ9XCIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0UwXCI+XHUyMDJhc2hxaXBcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFTbG92ZW5cdTAxMGRpbmFcdTIwMmNcIiBkYXRhLWhsPVwic2tcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRTRcIj5cdTIwMmFTbG92ZW5cdTAxMGRpbmFcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFzbG92ZW5cdTAxNjFcdTAxMGRpbmFcdTIwMmNcIiBkYXRhLWhsPVwic2xcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRThcIj5cdTIwMmFzbG92ZW5cdTAxNjFcdTAxMGRpbmFcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFzcnBza2kgKGxhdGluaWNhKVx1MjAyY1wiIGRhdGEtaGw9XCJzci1MYXRuXCIgcm9sZT1cIm1lbnVpdGVtXCIgdGFiaW5kZXg9XCIwXCIgZGF0YS12ZWQ9XCIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0ZBXCI+XHUyMDJhc3Jwc2tpIChsYXRpbmljYSlcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFTdW9taVx1MjAyY1wiIGRhdGEtaGw9XCJmaVwiIHJvbGU9XCJtZW51aXRlbVwiIHRhYmluZGV4PVwiMFwiIGRhdGEtdmVkPVwiMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NGRVwiPlx1MjAyYVN1b21pXHUyMDJjPC9saT48bGkgY2xhc3M9XCJHZTBBdWJcIiBhcmlhLWxhYmVsPVwiXHUyMDJhU3ZlbnNrYVx1MjAyY1wiIGRhdGEtaGw9XCJzdlwiIHJvbGU9XCJtZW51aXRlbVwiIHRhYmluZGV4PVwiMFwiIGRhdGEtdmVkPVwiMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NGSVwiPlx1MjAyYVN2ZW5za2FcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFUaVx1MWViZm5nIFZpXHUxZWM3dFx1MjAyY1wiIGRhdGEtaGw9XCJ2aVwiIHJvbGU9XCJtZW51aXRlbVwiIHRhYmluZGV4PVwiMFwiIGRhdGEtdmVkPVwiMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NGTVwiPlx1MjAyYVRpXHUxZWJmbmcgVmlcdTFlYzd0XHUyMDJjPC9saT48bGkgY2xhc3M9XCJHZTBBdWJcIiBhcmlhLWxhYmVsPVwiXHUyMDJhVFx1MDBmY3JrXHUwMGU3ZVx1MjAyY1wiIGRhdGEtaGw9XCJ0clwiIHJvbGU9XCJtZW51aXRlbVwiIHRhYmluZGV4PVwiMFwiIGRhdGEtdmVkPVwiMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NGUVwiPlx1MjAyYVRcdTAwZmNya1x1MDBlN2VcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFcdTAzOTVcdTAzYmJcdTAzYmJcdTAzYjdcdTAzYmRcdTAzYjlcdTAzYmFcdTAzYWNcdTIwMmNcIiBkYXRhLWhsPVwiZWxcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRlVcIj5cdTIwMmFcdTAzOTVcdTAzYmJcdTAzYmJcdTAzYjdcdTAzYmRcdTAzYjlcdTAzYmFcdTAzYWNcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFcdTA0MzFcdTA0MzVcdTA0M2JcdTA0MzBcdTA0NDBcdTA0NDNcdTA0NDFcdTA0M2FcdTA0MzBcdTA0NGZcdTIwMmNcIiBkYXRhLWhsPVwiYmVcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRllcIj5cdTIwMmFcdTA0MzFcdTA0MzVcdTA0M2JcdTA0MzBcdTA0NDBcdTA0NDNcdTA0NDFcdTA0M2FcdTA0MzBcdTA0NGZcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFcdTA0MzFcdTA0NGFcdTA0M2JcdTA0MzNcdTA0MzBcdTA0NDBcdTA0NDFcdTA0M2FcdTA0MzhcdTIwMmNcIiBkYXRhLWhsPVwiYmdcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRmNcIj5cdTIwMmFcdTA0MzFcdTA0NGFcdTA0M2JcdTA0MzNcdTA0MzBcdTA0NDBcdTA0NDFcdTA0M2FcdTA0MzhcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFcdTA0M2FcdTA0NGJcdTA0NDBcdTA0MzNcdTA0NGJcdTA0MzdcdTA0NDdcdTA0MzBcdTIwMmNcIiBkYXRhLWhsPVwia3lcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRmdcIj5cdTIwMmFcdTA0M2FcdTA0NGJcdTA0NDBcdTA0MzNcdTA0NGJcdTA0MzdcdTA0NDdcdTA0MzBcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFcdTA0M2NcdTA0MzBcdTA0M2FcdTA0MzVcdTA0MzRcdTA0M2VcdTA0M2RcdTA0NDFcdTA0M2FcdTA0MzhcdTIwMmNcIiBkYXRhLWhsPVwibWtcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRmtcIj5cdTIwMmFcdTA0M2NcdTA0MzBcdTA0M2FcdTA0MzVcdTA0MzRcdTA0M2VcdTA0M2RcdTA0NDFcdTA0M2FcdTA0MzhcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFcdTA0M2NcdTA0M2VcdTA0M2RcdTA0MzNcdTA0M2VcdTA0M2JcdTIwMmNcIiBkYXRhLWhsPVwibW5cIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRm9cIj5cdTIwMmFcdTA0M2NcdTA0M2VcdTA0M2RcdTA0MzNcdTA0M2VcdTA0M2JcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFcdTA0MjBcdTA0NDNcdTA0NDFcdTA0NDFcdTA0M2FcdTA0MzhcdTA0MzlcdTIwMmNcIiBkYXRhLWhsPVwicnVcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRnNcIj5cdTIwMmFcdTA0MjBcdTA0NDNcdTA0NDFcdTA0NDFcdTA0M2FcdTA0MzhcdTA0MzlcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFcdTA0NDFcdTA0NDBcdTA0M2ZcdTA0NDFcdTA0M2FcdTA0MzggKFx1MDQ1Ylx1MDQzOFx1MDQ0MFx1MDQzOFx1MDQzYlx1MDQzOFx1MDQ0Nlx1MDQzMClcdTIwMmNcIiBkYXRhLWhsPVwic3JcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRndcIj5cdTIwMmFcdTA0NDFcdTA0NDBcdTA0M2ZcdTA0NDFcdTA0M2FcdTA0MzggKFx1MDQ1Ylx1MDQzOFx1MDQ0MFx1MDQzOFx1MDQzYlx1MDQzOFx1MDQ0Nlx1MDQzMClcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFcdTA0MjNcdTA0M2FcdTA0NDBcdTA0MzBcdTA0NTdcdTA0M2RcdTA0NDFcdTA0NGNcdTA0M2FcdTA0MzBcdTIwMmNcIiBkYXRhLWhsPVwidWtcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRjBcIj5cdTIwMmFcdTA0MjNcdTA0M2FcdTA0NDBcdTA0MzBcdTA0NTdcdTA0M2RcdTA0NDFcdTA0NGNcdTA0M2FcdTA0MzBcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFcdTEwZTVcdTEwZDBcdTEwZTBcdTEwZDdcdTEwZTNcdTEwZGFcdTEwZDhcdTIwMmNcIiBkYXRhLWhsPVwia2FcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRjRcIj5cdTIwMmFcdTEwZTVcdTEwZDBcdTEwZTBcdTEwZDdcdTEwZTNcdTEwZGFcdTEwZDhcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFcdTA0OWJcdTA0MzBcdTA0MzdcdTA0MzBcdTA0OWIgXHUwNDQyXHUwNDU2XHUwNDNiXHUwNDU2XHUyMDJjXCIgZGF0YS1obD1cImtrXCIgcm9sZT1cIm1lbnVpdGVtXCIgdGFiaW5kZXg9XCIwXCIgZGF0YS12ZWQ9XCIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0Y4XCI+XHUyMDJhXHUwNDliXHUwNDMwXHUwNDM3XHUwNDMwXHUwNDliIFx1MDQ0Mlx1MDQ1Nlx1MDQzYlx1MDQ1Nlx1MjAyYzwvbGk+PGxpIGNsYXNzPVwiR2UwQXViXCIgYXJpYS1sYWJlbD1cIlx1MjAyYVx1MDU3MFx1MDU2MVx1MDU3NVx1MDU2NVx1MDU4MFx1MDU2NVx1MDU3Nlx1MjAyY1wiIGRhdGEtaGw9XCJoeVwiIHJvbGU9XCJtZW51aXRlbVwiIHRhYmluZGV4PVwiMFwiIGRhdGEtdmVkPVwiMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NHQVwiPlx1MjAyYVx1MDU3MFx1MDU2MVx1MDU3NVx1MDU2NVx1MDU4MFx1MDU2NVx1MDU3Nlx1MjAyYzwvbGk+PGxpIGNsYXNzPVwiR2UwQXViXCIgYXJpYS1sYWJlbD1cIlx1MjAyYlx1MDVlMlx1MDVkMVx1MDVlOFx1MDVkOVx1MDVlYVx1MjAyY1wiIGRhdGEtaGw9XCJpd1wiIHJvbGU9XCJtZW51aXRlbVwiIHRhYmluZGV4PVwiMFwiIGRhdGEtdmVkPVwiMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NHRVwiPjxzcGFuIGRpcj1cImx0clwiPlx1MjAyYlx1MDVlMlx1MDVkMVx1MDVlOFx1MDVkOVx1MDVlYVx1MjAyYzwvc3Bhbj48L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmJcdTA2MjdcdTA2MzFcdTA2MmZcdTA2NDhcdTIwMmNcIiBkYXRhLWhsPVwidXJcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDR0lcIj48c3BhbiBkaXI9XCJsdHJcIj5cdTIwMmJcdTA2MjdcdTA2MzFcdTA2MmZcdTA2NDhcdTIwMmM8L3NwYW4+PC9saT48bGkgY2xhc3M9XCJHZTBBdWJcIiBhcmlhLWxhYmVsPVwiXHUyMDJiXHUwNjI3XHUwNjQ0XHUwNjM5XHUwNjMxXHUwNjI4XHUwNjRhXHUwNjI5XHUyMDJjXCIgZGF0YS1obD1cImFyXCIgcm9sZT1cIm1lbnVpdGVtXCIgdGFiaW5kZXg9XCIwXCIgZGF0YS12ZWQ9XCIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0dNXCI+PHNwYW4gZGlyPVwibHRyXCI+XHUyMDJiXHUwNjI3XHUwNjQ0XHUwNjM5XHUwNjMxXHUwNjI4XHUwNjRhXHUwNjI5XHUyMDJjPC9zcGFuPjwvbGk+PGxpIGNsYXNzPVwiR2UwQXViXCIgYXJpYS1sYWJlbD1cIlx1MjAyYlx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjY1x1MjAyY1wiIGRhdGEtaGw9XCJmYVwiIHJvbGU9XCJtZW51aXRlbVwiIHRhYmluZGV4PVwiMFwiIGRhdGEtdmVkPVwiMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NHUVwiPjxzcGFuIGRpcj1cImx0clwiPlx1MjAyYlx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjY1x1MjAyYzwvc3Bhbj48L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFcdTEyYTBcdTEyMWJcdTEyMmRcdTEyOWJcdTIwMmNcIiBkYXRhLWhsPVwiYW1cIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDR1VcIj5cdTIwMmFcdTEyYTBcdTEyMWJcdTEyMmRcdTEyOWJcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFcdTA5MjhcdTA5NDdcdTA5MmFcdTA5M2VcdTA5MzJcdTA5NDBcdTIwMmNcIiBkYXRhLWhsPVwibmVcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDR1lcIj5cdTIwMmFcdTA5MjhcdTA5NDdcdTA5MmFcdTA5M2VcdTA5MzJcdTA5NDBcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFcdTA5MmVcdTA5MzBcdTA5M2VcdTA5MjBcdTA5NDBcdTIwMmNcIiBkYXRhLWhsPVwibXJcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDR2NcIj5cdTIwMmFcdTA5MmVcdTA5MzBcdTA5M2VcdTA5MjBcdTA5NDBcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFcdTA5MzlcdTA5M2ZcdTA5MjhcdTA5NGRcdTA5MjZcdTA5NDBcdTIwMmNcIiBkYXRhLWhsPVwiaGlcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDR2dcIj5cdTIwMmFcdTA5MzlcdTA5M2ZcdTA5MjhcdTA5NGRcdTA5MjZcdTA5NDBcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFcdTA5YWNcdTA5YmVcdTA5ODJcdTA5YjJcdTA5YmVcdTIwMmNcIiBkYXRhLWhsPVwiYm5cIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDR2tcIj5cdTIwMmFcdTA5YWNcdTA5YmVcdTA5ODJcdTA5YjJcdTA5YmVcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFcdTBhMmFcdTBhNzBcdTBhMWNcdTBhM2VcdTBhMmNcdTBhNDBcdTIwMmNcIiBkYXRhLWhsPVwicGFcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDR29cIj5cdTIwMmFcdTBhMmFcdTBhNzBcdTBhMWNcdTBhM2VcdTBhMmNcdTBhNDBcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFcdTBhOTdcdTBhYzFcdTBhOWNcdTBhYjBcdTBhYmVcdTBhYTRcdTBhYzBcdTIwMmNcIiBkYXRhLWhsPVwiZ3VcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDR3NcIj5cdTIwMmFcdTBhOTdcdTBhYzFcdTBhOWNcdTBhYjBcdTBhYmVcdTBhYTRcdTBhYzBcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFcdTBiYTRcdTBiYWVcdTBiYmZcdTBiYjRcdTBiY2RcdTIwMmNcIiBkYXRhLWhsPVwidGFcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDR3dcIj5cdTIwMmFcdTBiYTRcdTBiYWVcdTBiYmZcdTBiYjRcdTBiY2RcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFcdTBjMjRcdTBjNDZcdTBjMzJcdTBjNDFcdTBjMTdcdTBjNDFcdTIwMmNcIiBkYXRhLWhsPVwidGVcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRzBcIj5cdTIwMmFcdTBjMjRcdTBjNDZcdTBjMzJcdTBjNDFcdTBjMTdcdTBjNDFcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFcdTBjOTVcdTBjYThcdTBjY2RcdTBjYThcdTBjYTFcdTIwMmNcIiBkYXRhLWhsPVwia25cIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRzRcIj5cdTIwMmFcdTBjOTVcdTBjYThcdTBjY2RcdTBjYThcdTBjYTFcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFcdTBkMmVcdTBkMzJcdTBkMmZcdTBkM2VcdTBkMzNcdTBkMDJcdTIwMmNcIiBkYXRhLWhsPVwibWxcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRzhcIj5cdTIwMmFcdTBkMmVcdTBkMzJcdTBkMmZcdTBkM2VcdTBkMzNcdTBkMDJcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFcdTBkYzNcdTBkZDJcdTBkODJcdTBkYzRcdTBkYmRcdTIwMmNcIiBkYXRhLWhsPVwic2lcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDSEFcIj5cdTIwMmFcdTBkYzNcdTBkZDJcdTBkODJcdTBkYzRcdTBkYmRcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFcdTBlNDRcdTBlMTdcdTBlMjJcdTIwMmNcIiBkYXRhLWhsPVwidGhcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDSEVcIj5cdTIwMmFcdTBlNDRcdTBlMTdcdTBlMjJcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFcdTBlYTVcdTBlYjJcdTBlYTdcdTIwMmNcIiBkYXRhLWhsPVwibG9cIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDSElcIj5cdTIwMmFcdTBlYTVcdTBlYjJcdTBlYTdcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFcdTEwMTlcdTEwM2NcdTEwMTRcdTEwM2FcdTEwMTlcdTEwMmNcdTIwMmNcIiBkYXRhLWhsPVwibXlcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDSE1cIj5cdTIwMmFcdTEwMTlcdTEwM2NcdTEwMTRcdTEwM2FcdTEwMTlcdTEwMmNcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFcdTE3ODFcdTE3ZDJcdTE3OThcdTE3YzJcdTE3OWFcdTIwMmNcIiBkYXRhLWhsPVwia21cIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDSFFcIj5cdTIwMmFcdTE3ODFcdTE3ZDJcdTE3OThcdTE3YzJcdTE3OWFcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFcdWQ1NWNcdWFkNmRcdWM1YjRcdTIwMmNcIiBkYXRhLWhsPVwia29cIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDSFVcIj5cdTIwMmFcdWQ1NWNcdWFkNmRcdWM1YjRcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFcdTRlMmRcdTY1ODdcdWZmMDhcdTk5OTlcdTZlMmZcdWZmMDlcdTIwMmNcIiBkYXRhLWhsPVwiemgtSEtcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDSFlcIj5cdTIwMmFcdTRlMmRcdTY1ODdcdWZmMDhcdTk5OTlcdTZlMmZcdWZmMDlcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFcdTY1ZTVcdTY3MmNcdThhOWVcdTIwMmNcIiBkYXRhLWhsPVwiamFcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDSGNcIj5cdTIwMmFcdTY1ZTVcdTY3MmNcdThhOWVcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFcdTdiODBcdTRmNTNcdTRlMmRcdTY1ODdcdTIwMmNcIiBkYXRhLWhsPVwiemgtQ05cIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDSGdcIj5cdTIwMmFcdTdiODBcdTRmNTNcdTRlMmRcdTY1ODdcdTIwMmM8L2xpPjxsaSBjbGFzcz1cIkdlMEF1YlwiIGFyaWEtbGFiZWw9XCJcdTIwMmFcdTdlNDFcdTlhZDRcdTRlMmRcdTY1ODdcdTIwMmNcIiBkYXRhLWhsPVwiemgtVFdcIiByb2xlPVwibWVudWl0ZW1cIiB0YWJpbmRleD1cIjBcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDSGtcIj5cdTIwMmFcdTdlNDFcdTlhZDRcdTRlMmRcdTY1ODdcdTIwMmM8L2xpPjwvZGl2PjwvZGl2PjwvZGl2PjxidXR0b24gY2xhc3M9XCJuZURZdyB0SGxwOGRcIiBpZD1cImdrc1MxZFwiIHJvbGU9XCJsaW5rXCIgZGF0YS12ZWQ9XCIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFpcEFIQ0hvXCI+PGRpdiBjbGFzcz1cIlFTNWd1IHVkMWptZlwiIHJvbGU9XCJub25lXCI+QW5tZWxkZW48L2Rpdj48L2J1dHRvbj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVwiR1o3eE5lXCI+PGgxIGNsYXNzPVwiSTkwVFZiXCIgaWQ9XCJTM0JuRWVcIj5CZXZvciBTaWUgenUgR29vZ2xlIHdlaXRlcmdlaGVuPC9oMT48ZGl2IGNsYXNzPVwiQUc5NmxiXCI+PGRpdiBjbGFzcz1cImVMWll5ZlwiPldpciB2ZXJ3ZW5kZW4gPGEgY2xhc3M9XCJGNGExbFwiIGhyZWY9XCJodHRwczovL3BvbGljaWVzLmdvb2dsZS5jb20vdGVjaG5vbG9naWVzL2Nvb2tpZXM/dXRtX3NvdXJjZT11Y2JzJmFtcDtobD1kZS1MVVwiIHRhcmdldD1cIl9ibGFua1wiPkNvb2tpZXM8L2E+IHVuZCBEYXRlbiwgdW08dWwgY2xhc3M9XCJkYlhPOVwiPjxsaSBjbGFzcz1cImdvd3NZZCBpYkNGMGNcIj5Hb29nbGUtRGllbnN0ZSB6dSBlcmJyaW5nZW4gdW5kIHp1IGJldHJlaWJlbjwvbGk+PGxpIGNsYXNzPVwiZ293c1lkIEd3d2hHZlwiPkF1c2ZcdTAwZTRsbGUgenUgcHJcdTAwZmNmZW4gdW5kIE1hXHUwMGRmbmFobWVuIGdlZ2VuIFNwYW0sIEJldHJ1ZyB1bmQgTWlzc2JyYXVjaCB6dSBlcmdyZWlmZW48L2xpPjxsaSBjbGFzcz1cImdvd3NZZCB2OEJwZmJcIj5EYXRlbiB6dSBaaWVsZ3J1cHBlbmludGVyYWt0aW9uZW4gdW5kIFdlYnNpdGVzdGF0aXN0aWtlbiB6dSBlcmhlYmVuLiBNaXQgZGVuIGdld29ubmVuZW4gSW5mb3JtYXRpb25lbiBtXHUwMGY2Y2h0ZW4gd2lyIHZlcnN0ZWhlbiwgd2llIHVuc2VyZSBEaWVuc3RlIHZlcndlbmRldCB3ZXJkZW4sIHVuZCBkaWUgUXVhbGl0XHUwMGU0dCBkaWVzZXIgRGllbnN0ZSB2ZXJiZXNzZXJuLjwvbGk+PC91bD48L2Rpdj48ZGl2IGNsYXNzPVwiZUxaWXlmXCI+V2VubiBTaWUgXHUyMDFlQWxsZSBha3plcHRpZXJlblx1MjAxYyBhdXN3XHUwMGU0aGxlbiwgdmVyd2VuZGVuIHdpciBDb29raWVzIHVuZCBEYXRlbiBhdWNoLCB1bTx1bCBjbGFzcz1cImRiWE85XCI+PGxpIGNsYXNzPVwiZ293c1lkIE02ajlxZlwiPm5ldWUgRGllbnN0ZSB6dSBlbnR3aWNrZWxuIHVuZCB6dSB2ZXJiZXNzZXJuPC9saT48bGkgY2xhc3M9XCJnb3dzWWQgdjhCcGZiXCI+V2VyYnVuZyBhdXN6dWxpZWZlcm4gdW5kIGlocmUgV2lya3VuZyB6dSBtZXNzZW48L2xpPjxsaSBjbGFzcz1cImdvd3NZZCBlMjFNYWNcIj5qZSBuYWNoIElocmVuIEVpbnN0ZWxsdW5nZW4gcGVyc29uYWxpc2llcnRlIEluaGFsdGUgYW56dXplaWdlbjwvbGk+PGxpIGNsYXNzPVwiZ293c1lkIG9oRVdQY1wiPnBlcnNvbmFsaXNpZXJ0ZSBXZXJidW5nIGFuenV6ZWlnZW4sIGFiaFx1MDBlNG5naWcgdm9uIElocmVuIEVpbnN0ZWxsdW5nZW48L2xpPjwvdWw+PGRpdiBjbGFzcz1cImpMaHdkY1wiPldlbm4gU2llIFx1MjAxZUFsbGUgYWJsZWhuZW5cdTIwMWMgYXVzd1x1MDBlNGhsZW4sIHZlcndlbmRlbiB3aXIgQ29va2llcyBuaWNodCBmXHUwMGZjciBkaWVzZSB6dXNcdTAwZTR0emxpY2hlbiBad2Vja2UuPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1cInlTMW5sZFwiPk5pY2h0IHBlcnNvbmFsaXNpZXJ0ZSBJbmhhbHRlIHdlcmRlbiB1Llx1MDBhMGEuIHZvbiBJbmhhbHRlbiwgZGllIFNpZSBzaWNoIGdlcmFkZSBhbnNlaGVuLCBBa3Rpdml0XHUwMGU0dGVuIGluIElocmVyIGFrdGl2ZW4gU3VjaHNpdHp1bmcgdW5kIElocmVtIFN0YW5kb3J0IGJlZWluZmx1c3N0LiBOaWNodCBwZXJzb25hbGlzaWVydGUgV2VyYnVuZyB3aXJkIHZvbiBkZW4gSW5oYWx0ZW4sIGRpZSBTaWUgc2ljaCBnZXJhZGUgYW5zZWhlbiwgdW5kIElocmVtIGFsbGdlbWVpbmVuIFN0YW5kb3J0IGJlZWluZmx1c3N0LiBQZXJzb25hbGlzaWVydGUgSW5oYWx0ZSB1bmQgV2VyYnVuZyBrXHUwMGY2bm5lbiBhdWNoIHJlbGV2YW50ZXJlIEVyZ2Vibmlzc2UsIEVtcGZlaGx1bmdlbiB1bmQgaW5kaXZpZHVlbGxlIFdlcmJ1bmcgZW50aGFsdGVuLCBkaWUgYXVmIGZyXHUwMGZjaGVyZW4gQWt0aXZpdFx1MDBlNHRlbiBpbiBkaWVzZW0gQnJvd3NlciwgZXR3YSBTdWNoYW5mcmFnZW4gYmVpIEdvb2dsZSwgYmVydWhlbi4gU29mZXJuIHJlbGV2YW50LCB2ZXJ3ZW5kZW4gd2lyIENvb2tpZXMgdW5kIERhdGVuIGF1XHUwMGRmZXJkZW0sIHVtIEluaGFsdGUgdW5kIFdlcmJ1bmcgYWx0ZXJzZ2VyZWNodCB6dSBnZXN0YWx0ZW4uPC9kaXY+PGRpdiBjbGFzcz1cInlTMW5sZFwiPldcdTAwZTRobGVuIFNpZSBcdTIwMWVXZWl0ZXJlIE9wdGlvbmVuXHUyMDFjIGF1cywgdW0gc2ljaCB6dXNcdTAwZTR0emxpY2hlIEluZm9ybWF0aW9uZW4gYW56dXNlaGVuLCBlaW5zY2hsaWVcdTAwZGZsaWNoIERldGFpbHMgenVtIFZlcndhbHRlbiBJaHJlciBEYXRlbnNjaHV0emVpbnN0ZWxsdW5nZW4uIFNpZSBrXHUwMGY2bm5lbiBhdWNoIGplZGVyemVpdCA8c3Bhbj5nLmNvL3ByaXZhY3l0b29sczwvc3Bhbj4gYmVzdWNoZW4uPC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1cInNwb0tWZFwiPjxkaXYgY2xhc3M9XCJHekxqTWRcIj48YnV0dG9uIGlkPVwiVzB3bHRjXCIgY2xhc3M9XCJ0SGxwOGRcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UTRjSUlDSHNcIj48ZGl2IGNsYXNzPVwiUVM1Z3Ugc3k0dk1cIiByb2xlPVwibm9uZVwiPkFsbGUgYWJsZWhuZW48L2Rpdj48L2J1dHRvbj48YnV0dG9uIGlkPVwiTDJBR0xiXCIgY2xhc3M9XCJ0SGxwOGRcIiBkYXRhLXZlZD1cIjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWlaQUhDSHdcIj48ZGl2IGNsYXNzPVwiUVM1Z3Ugc3k0dk1cIiByb2xlPVwibm9uZVwiPkFsbGUgYWt6ZXB0aWVyZW48L2Rpdj48L2J1dHRvbj48L2Rpdj48ZGl2IGNsYXNzPVwiR3pMak1kXCI+PGJ1dHRvbiBjbGFzcz1cInRIbHA4ZFwiIGlkPVwiVm5qQ2NiXCIgcm9sZT1cImxpbmtcIiB0YWJpbmRleD1cIi0xXCIgZGF0YS12ZWQ9XCIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFpSkFIQ0gwXCI+PGEgY2xhc3M9XCJlT2pQSWVcIiB0YWJpbmRleD1cIjBcIj5XZWl0ZXJlIE9wdGlvbmVuPC9hPjwvYnV0dG9uPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9XCJYV2xyZmYgY0cwRG1mXCI+PGEgY2xhc3M9XCJwZVJMMmVcIiBocmVmPVwiaHR0cHM6Ly9wb2xpY2llcy5nb29nbGUuY29tL3ByaXZhY3k/aGw9ZGUtTFUmYW1wO2ZnPTEmYW1wO3V0bV9zb3VyY2U9dWNic1wiIGlkPVwiUlAzVjVjXCIgZGF0YS12ZWQ9XCIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqNUFIQ0g0XCI+RGF0ZW5zY2h1dHo8L2E+PGRpdiBjbGFzcz1cIm85RDVaYlwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZtaWRkb3Q7PC9kaXY+PGEgY2xhc3M9XCJwZVJMMmVcIiBocmVmPVwiaHR0cHM6Ly9wb2xpY2llcy5nb29nbGUuY29tL3Rlcm1zP2hsPWRlLUxVJmFtcDtmZz0xJmFtcDt1dG1fc291cmNlPXVjYnNcIiBpZD1cIkhRMWxiXCIgZGF0YS12ZWQ9XCIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFrSkFIQ0g4XCI+TnV0enVuZ3NiZWRpbmd1bmdlbjwvYT48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L3NwYW4+PC9kaXY+PC9kaXY+PHNjcmlwdCBub25jZT1cImFBN1ZhLWJlZWhJTHNsMmhGbFB0LWdcIj4oZnVuY3Rpb24oKXt2YXIgY29va2llRG9tYWluPScuZ29vZ2xlLmNvbSc7dmFyIGNvb2tpZVVwZGF0ZUNvbnNlbnRVcmw9Jyc7dmFyIHNDQVM9J0NBSVNIQWdCRWhKbmQzTmZNakF5TkRBM01qUXRNRjlTUXpFYUFtUmxJQUVhQmdpQW9LdTFCZyc7dmFyIHNDUlM9J0NBRVNIQWdCRWhKbmQzTmZNakF5TkRBM01qUXRNRjlTUXpFYUFtUmxJQUVhQmdpQW9LdTFCZyc7dmFyIHNMPTM0MTI4MDAwO3ZhciBzRUU9ZmFsc2U7dmFyIHNJVT0naHR0cHM6Ly9hY2NvdW50cy5nb29nbGUuY29tL1NlcnZpY2VMb2dpbj9obFxceDNkZGVcXHgyNmNvbnRpbnVlXFx4M2RodHRwczovL3d3dy5nb29nbGUuY29tL1xceDI2Z2FlXFx4M2RjYi1ub25lJzt2YXIgY1U9J2h0dHBzOi8vY29uc2VudC5nb29nbGUuY29tL2Q/Y29udGludWVcXHgzZGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vXFx4MjZnbFxceDNkTFVcXHgyNm1cXHgzZDBcXHgyNnBjXFx4M2RzaHBcXHgyNnV4ZVxceDNkbm9uZVxceDI2Y21cXHgzZDJcXHgyNmhsXFx4M2RkZVxceDI2c3JjXFx4M2QyJzt2YXIgclBVPScnO3ZhciByUE9VPVtdO3ZhciBhQVU9J2h0dHBzOi8vY29uc2VudC5nb29nbGUuY29tL3NhdmU/Y29udGludWVcXHgzZGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vXFx4MjZnbFxceDNkTFVcXHgyNm1cXHgzZDBcXHgyNnBjXFx4M2RzaHBcXHgyNnhcXHgzZDVcXHgyNnNyY1xceDNkMlxceDI2aGxcXHgzZGRlXFx4MjZibFxceDNkZ3dzXzIwMjQwNzI0LTBfUkMxXFx4MjZ1eGVcXHgzZG5vbmVcXHgyNmNtXFx4M2QyXFx4MjZzZXRfZW9tXFx4M2RmYWxzZVxceDI2c2V0X2Fwc1xceDNkdHJ1ZVxceDI2c2V0X3NjXFx4M2R0cnVlJzt2YXIgckFVPSdodHRwczovL2NvbnNlbnQuZ29vZ2xlLmNvbS9zYXZlP2NvbnRpbnVlXFx4M2RodHRwczovL3d3dy5nb29nbGUuY29tL1xceDI2Z2xcXHgzZExVXFx4MjZtXFx4M2QwXFx4MjZwY1xceDNkc2hwXFx4MjZ4XFx4M2Q1XFx4MjZzcmNcXHgzZDJcXHgyNmhsXFx4M2RkZVxceDI2YmxcXHgzZGd3c18yMDI0MDcyNC0wX1JDMVxceDI2dXhlXFx4M2Rub25lXFx4MjZjbVxceDNkMlxceDI2c2V0X2VvbVxceDNkdHJ1ZSc7dmFyIHBDPSdTRUFSQ0hfSE9NRVBBR0UnO3ZhciBnTD0nbHUnO3ZhciBpc01vYmlsZT1mYWxzZTt2YXIgc3JwPWZhbHNlO3ZhciB1WEpTPWZhbHNlO3ZhciBpRU89dHJ1ZTt2YXIgdVdDPWZhbHNlO3ZhciBpU1I9ZmFsc2U7dmFyIGFhPWZ1bmN0aW9uKGEpe3ZhciBiPTA7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGI8YS5sZW5ndGg/e2RvbmU6ITEsdmFsdWU6YVtiKytdfTp7ZG9uZTohMH19fSxiYT10eXBlb2YgT2JqZWN0LmRlZmluZVByb3BlcnRpZXM9PVwiZnVuY3Rpb25cIj9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oYSxiLGMpe2lmKGE9PUFycmF5LnByb3RvdHlwZXx8YT09T2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gYTthW2JdPWMudmFsdWU7cmV0dXJuIGF9LGNhPWZ1bmN0aW9uKGEpe2E9W1wib2JqZWN0XCI9PXR5cGVvZiBnbG9iYWxUaGlzJiZnbG9iYWxUaGlzLGEsXCJvYmplY3RcIj09dHlwZW9mIHdpbmRvdyYmd2luZG93LFwib2JqZWN0XCI9PXR5cGVvZiBzZWxmJiZzZWxmLFwib2JqZWN0XCI9PXR5cGVvZiBnbG9iYWwmJmdsb2JhbF07Zm9yKHZhciBiPTA7YjxhLmxlbmd0aDsrK2Ipe3ZhciBjPWFbYl07aWYoYyYmYy5NYXRoPT1NYXRoKXJldHVybiBjfXRocm93IEVycm9yKFwiYVwiKTt9LGRhPWNhKHRoaXMpLHA9ZnVuY3Rpb24oYSxiKXtpZihiKWE6e3ZhciBjPWRhO2E9YS5zcGxpdChcIi5cIik7Zm9yKHZhciBkPTA7ZDxhLmxlbmd0aC0xO2QrKyl7dmFyIGY9YVtkXTtpZighKGYgaW4gYykpYnJlYWsgYTtjPWNbZl19YT1hW2EubGVuZ3RoLTFdO2Q9Y1thXTtiPWIoZCk7YiE9ZCYmYiE9bnVsbCYmYmEoYyxhLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfX07cChcIlN5bWJvbFwiLGZ1bmN0aW9uKGEpe2lmKGEpcmV0dXJuIGE7dmFyIGI9ZnVuY3Rpb24oZSxnKXt0aGlzLmc9ZTtiYSh0aGlzLFwiZGVzY3JpcHRpb25cIix7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmd9KX07Yi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nfTt2YXIgYz1cImpzY29tcF9zeW1ib2xfXCIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCkrXCJfXCIsZD0wLGY9ZnVuY3Rpb24oZSl7aWYodGhpcyBpbnN0YW5jZW9mIGYpdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bWJvbCBpcyBub3QgYSBjb25zdHJ1Y3RvclwiKTtyZXR1cm4gbmV3IGIoYysoZXx8XCJcIikrXCJfXCIrZCsrLGUpfTtyZXR1cm4gZn0pO3AoXCJTeW1ib2wuaXRlcmF0b3JcIixmdW5jdGlvbihhKXtpZihhKXJldHVybiBhO2E9U3ltYm9sKFwiU3ltYm9sLml0ZXJhdG9yXCIpO2Zvcih2YXIgYj1cIkFycmF5IEludDhBcnJheSBVaW50OEFycmF5IFVpbnQ4Q2xhbXBlZEFycmF5IEludDE2QXJyYXkgVWludDE2QXJyYXkgSW50MzJBcnJheSBVaW50MzJBcnJheSBGbG9hdDMyQXJyYXkgRmxvYXQ2NEFycmF5XCIuc3BsaXQoXCIgXCIpLGM9MDtjPGIubGVuZ3RoO2MrKyl7dmFyIGQ9ZGFbYltjXV07dHlwZW9mIGQ9PT1cImZ1bmN0aW9uXCImJnR5cGVvZiBkLnByb3RvdHlwZVthXSE9XCJmdW5jdGlvblwiJiZiYShkLnByb3RvdHlwZSxhLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gZWEoYWEodGhpcykpfX0pfXJldHVybiBhfSk7dmFyIGVhPWZ1bmN0aW9uKGEpe2E9e25leHQ6YX07YVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O3JldHVybiBhfSxxPWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBTeW1ib2whPVwidW5kZWZpbmVkXCImJlN5bWJvbC5pdGVyYXRvciYmYVtTeW1ib2wuaXRlcmF0b3JdO2lmKGIpcmV0dXJuIGIuY2FsbChhKTtpZih0eXBlb2YgYS5sZW5ndGg9PVwibnVtYmVyXCIpcmV0dXJue25leHQ6YWEoYSl9O3Rocm93IEVycm9yKFwiYmBcIitTdHJpbmcoYSkpO30sZmE9dHlwZW9mIE9iamVjdC5jcmVhdGU9PVwiZnVuY3Rpb25cIj9PYmplY3QuY3JlYXRlOmZ1bmN0aW9uKGEpe3ZhciBiPWZ1bmN0aW9uKCl7fTtiLnByb3RvdHlwZT1hO3JldHVybiBuZXcgYn0saGE7aWYodHlwZW9mIE9iamVjdC5zZXRQcm90b3R5cGVPZj09XCJmdW5jdGlvblwiKWhhPU9iamVjdC5zZXRQcm90b3R5cGVPZjtlbHNle3ZhciBpYTthOnt2YXIgamE9e2E6ITB9LGthPXt9O3RyeXtrYS5fX3Byb3RvX189amE7aWE9a2EuYTticmVhayBhfWNhdGNoKGEpe31pYT0hMX1oYT1pYT9mdW5jdGlvbihhLGIpe2EuX19wcm90b19fPWI7aWYoYS5fX3Byb3RvX18hPT1iKXRocm93IG5ldyBUeXBlRXJyb3IoYStcIiBpcyBub3QgZXh0ZW5zaWJsZVwiKTtyZXR1cm4gYX06bnVsbH12YXIgbGE9aGEscj1mdW5jdGlvbihhLGIpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxiKX07cChcIldlYWtNYXBcIixmdW5jdGlvbihhKXtmdW5jdGlvbiBiKCl7fWZ1bmN0aW9uIGMoayl7dmFyIGw9dHlwZW9mIGs7cmV0dXJuIGw9PT1cIm9iamVjdFwiJiZrIT09bnVsbHx8bD09PVwiZnVuY3Rpb25cIn1mdW5jdGlvbiBkKGspe2lmKCFyKGssZSkpe3ZhciBsPW5ldyBiO2JhKGssZSx7dmFsdWU6bH0pfX1mdW5jdGlvbiBmKGspe3ZhciBsPU9iamVjdFtrXTtsJiYoT2JqZWN0W2tdPWZ1bmN0aW9uKG0pe2lmKG0gaW5zdGFuY2VvZiBiKXJldHVybiBtO09iamVjdC5pc0V4dGVuc2libGUobSkmJmQobSk7cmV0dXJuIGwobSl9KX1pZihmdW5jdGlvbigpe2lmKCFhfHwhT2JqZWN0LnNlYWwpcmV0dXJuITE7dHJ5e3ZhciBrPU9iamVjdC5zZWFsKHt9KSxsPU9iamVjdC5zZWFsKHt9KSxtPW5ldyBhKFtbaywyXSxbbCwzXV0pO2lmKG0uZ2V0KGspIT0yfHxtLmdldChsKSE9MylyZXR1cm4hMTttLmRlbGV0ZShrKTttLnNldChsLDQpO3JldHVybiFtLmhhcyhrKSYmbS5nZXQobCk9PTR9Y2F0Y2gobil7cmV0dXJuITF9fSgpKXJldHVybiBhO3ZhciBlPVwiJGpzY29tcF9oaWRkZW5fXCIrTWF0aC5yYW5kb20oKTtmKFwiZnJlZXplXCIpO2YoXCJwcmV2ZW50RXh0ZW5zaW9uc1wiKTtmKFwic2VhbFwiKTt2YXIgZz0wLGg9ZnVuY3Rpb24oayl7dGhpcy5nPShnKz1NYXRoLnJhbmRvbSgpKzEpLnRvU3RyaW5nKCk7aWYoayl7az1xKGspO2Zvcih2YXIgbDshKGw9ay5uZXh0KCkpLmRvbmU7KWw9bC52YWx1ZSx0aGlzLnNldChsWzBdLGxbMV0pfX07aC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGssbCl7aWYoIWMoaykpdGhyb3cgRXJyb3IoXCJjXCIpO2Qoayk7aWYoIXIoayxlKSl0aHJvdyBFcnJvcihcImRgXCIrayk7a1tlXVt0aGlzLmddPWw7cmV0dXJuIHRoaXN9O2gucHJvdG90eXBlLmdldD1mdW5jdGlvbihrKXtyZXR1cm4gYyhrKSYmcihrLGUpP2tbZV1bdGhpcy5nXTp2b2lkIDB9O2gucHJvdG90eXBlLmhhcz1mdW5jdGlvbihrKXtyZXR1cm4gYyhrKSYmcihrLGUpJiZyKGtbZV0sdGhpcy5nKX07aC5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKGspe3JldHVybiBjKGspJiZcbnIoayxlKSYmcihrW2VdLHRoaXMuZyk/ZGVsZXRlIGtbZV1bdGhpcy5nXTohMX07cmV0dXJuIGh9KTtwKFwiTWFwXCIsZnVuY3Rpb24oYSl7aWYoZnVuY3Rpb24oKXtpZighYXx8dHlwZW9mIGEhPVwiZnVuY3Rpb25cInx8IWEucHJvdG90eXBlLmVudHJpZXN8fHR5cGVvZiBPYmplY3Quc2VhbCE9XCJmdW5jdGlvblwiKXJldHVybiExO3RyeXt2YXIgaD1PYmplY3Quc2VhbCh7eDo0fSksaz1uZXcgYShxKFtbaCxcInNcIl1dKSk7aWYoay5nZXQoaCkhPVwic1wifHxrLnNpemUhPTF8fGsuZ2V0KHt4OjR9KXx8ay5zZXQoe3g6NH0sXCJ0XCIpIT1rfHxrLnNpemUhPTIpcmV0dXJuITE7dmFyIGw9ay5lbnRyaWVzKCksbT1sLm5leHQoKTtpZihtLmRvbmV8fG0udmFsdWVbMF0hPWh8fG0udmFsdWVbMV0hPVwic1wiKXJldHVybiExO209bC5uZXh0KCk7cmV0dXJuIG0uZG9uZXx8bS52YWx1ZVswXS54IT00fHxtLnZhbHVlWzFdIT1cInRcInx8IWwubmV4dCgpLmRvbmU/ITE6ITB9Y2F0Y2gobil7cmV0dXJuITF9fSgpKXJldHVybiBhO3ZhciBiPW5ldyBXZWFrTWFwLGM9ZnVuY3Rpb24oaCl7dGhpc1swXT17fTt0aGlzWzFdPVxuZSgpO3RoaXMuc2l6ZT0wO2lmKGgpe2g9cShoKTtmb3IodmFyIGs7IShrPWgubmV4dCgpKS5kb25lOylrPWsudmFsdWUsdGhpcy5zZXQoa1swXSxrWzFdKX19O2MucHJvdG90eXBlLnNldD1mdW5jdGlvbihoLGspe2g9aD09PTA/MDpoO3ZhciBsPWQodGhpcyxoKTtsLmxpc3R8fChsLmxpc3Q9dGhpc1swXVtsLmlkXT1bXSk7bC5zP2wucy52YWx1ZT1rOihsLnM9e25leHQ6dGhpc1sxXSxDOnRoaXNbMV0uQyxoZWFkOnRoaXNbMV0sa2V5OmgsdmFsdWU6a30sbC5saXN0LnB1c2gobC5zKSx0aGlzWzFdLkMubmV4dD1sLnMsdGhpc1sxXS5DPWwucyx0aGlzLnNpemUrKyk7cmV0dXJuIHRoaXN9O2MucHJvdG90eXBlLmRlbGV0ZT1mdW5jdGlvbihoKXtoPWQodGhpcyxoKTtyZXR1cm4gaC5zJiZoLmxpc3Q/KGgubGlzdC5zcGxpY2UoaC5pbmRleCwxKSxoLmxpc3QubGVuZ3RofHxkZWxldGUgdGhpc1swXVtoLmlkXSxoLnMuQy5uZXh0PWgucy5uZXh0LGgucy5uZXh0LkM9aC5zLkMsaC5zLmhlYWQ9XG5udWxsLHRoaXMuc2l6ZS0tLCEwKTohMX07Yy5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzWzBdPXt9O3RoaXNbMV09dGhpc1sxXS5DPWUoKTt0aGlzLnNpemU9MH07Yy5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGgpe3JldHVybiEhZCh0aGlzLGgpLnN9O2MucHJvdG90eXBlLmdldD1mdW5jdGlvbihoKXtyZXR1cm4oaD1kKHRoaXMsaCkucykmJmgudmFsdWV9O2MucHJvdG90eXBlLmVudHJpZXM9ZnVuY3Rpb24oKXtyZXR1cm4gZih0aGlzLGZ1bmN0aW9uKGgpe3JldHVybltoLmtleSxoLnZhbHVlXX0pfTtjLnByb3RvdHlwZS5rZXlzPWZ1bmN0aW9uKCl7cmV0dXJuIGYodGhpcyxmdW5jdGlvbihoKXtyZXR1cm4gaC5rZXl9KX07Yy5wcm90b3R5cGUudmFsdWVzPWZ1bmN0aW9uKCl7cmV0dXJuIGYodGhpcyxmdW5jdGlvbihoKXtyZXR1cm4gaC52YWx1ZX0pfTtjLnByb3RvdHlwZS5mb3JFYWNoPWZ1bmN0aW9uKGgsayl7Zm9yKHZhciBsPXRoaXMuZW50cmllcygpLG07IShtPWwubmV4dCgpKS5kb25lOyltPVxubS52YWx1ZSxoLmNhbGwoayxtWzFdLG1bMF0sdGhpcyl9O2MucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl09Yy5wcm90b3R5cGUuZW50cmllczt2YXIgZD1mdW5jdGlvbihoLGspe3ZhciBsPWsmJnR5cGVvZiBrO2w9PVwib2JqZWN0XCJ8fGw9PVwiZnVuY3Rpb25cIj9iLmhhcyhrKT9sPWIuZ2V0KGspOihsPVwiXCIrICsrZyxiLnNldChrLGwpKTpsPVwicF9cIitrO3ZhciBtPWhbMF1bbF07aWYobSYmcihoWzBdLGwpKWZvcihoPTA7aDxtLmxlbmd0aDtoKyspe3ZhciBuPW1baF07aWYoayE9PWsmJm4ua2V5IT09bi5rZXl8fGs9PT1uLmtleSlyZXR1cm57aWQ6bCxsaXN0Om0saW5kZXg6aCxzOm59fXJldHVybntpZDpsLGxpc3Q6bSxpbmRleDotMSxzOnZvaWQgMH19LGY9ZnVuY3Rpb24oaCxrKXt2YXIgbD1oWzFdO3JldHVybiBlYShmdW5jdGlvbigpe2lmKGwpe2Zvcig7bC5oZWFkIT1oWzFdOylsPWwuQztmb3IoO2wubmV4dCE9bC5oZWFkOylyZXR1cm4gbD1sLm5leHQse2RvbmU6ITEsdmFsdWU6ayhsKX07bD1udWxsfXJldHVybntkb25lOiEwLHZhbHVlOnZvaWQgMH19KX0sZT1mdW5jdGlvbigpe3ZhciBoPXt9O3JldHVybiBoLkM9aC5uZXh0PWguaGVhZD1ofSxnPTA7cmV0dXJuIGN9KTtwKFwiT2JqZWN0LnZhbHVlc1wiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7dmFyIGM9W10sZDtmb3IoZCBpbiBiKXIoYixkKSYmYy5wdXNoKGJbZF0pO3JldHVybiBjfX0pO3AoXCJPYmplY3QuaXNcIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIsYyl7cmV0dXJuIGI9PT1jP2IhPT0wfHwxL2I9PT0xL2M6YiE9PWImJmMhPT1jfX0pO3AoXCJBcnJheS5wcm90b3R5cGUuaW5jbHVkZXNcIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIsYyl7dmFyIGQ9dGhpcztkIGluc3RhbmNlb2YgU3RyaW5nJiYoZD1TdHJpbmcoZCkpO3ZhciBmPWQubGVuZ3RoO2M9Y3x8MDtmb3IoYzwwJiYoYz1NYXRoLm1heChjK2YsMCkpO2M8ZjtjKyspe3ZhciBlPWRbY107aWYoZT09PWJ8fE9iamVjdC5pcyhlLGIpKXJldHVybiEwfXJldHVybiExfX0pO3AoXCJTdHJpbmcucHJvdG90eXBlLmluY2x1ZGVzXCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe2lmKHRoaXM9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcihcIlRoZSAndGhpcycgdmFsdWUgZm9yIFN0cmluZy5wcm90b3R5cGUuaW5jbHVkZXMgbXVzdCBub3QgYmUgbnVsbCBvciB1bmRlZmluZWRcIik7aWYoYiBpbnN0YW5jZW9mIFJlZ0V4cCl0aHJvdyBuZXcgVHlwZUVycm9yKFwiRmlyc3QgYXJndW1lbnQgdG8gU3RyaW5nLnByb3RvdHlwZS5pbmNsdWRlcyBtdXN0IG5vdCBiZSBhIHJlZ3VsYXIgZXhwcmVzc2lvblwiKTtyZXR1cm4odGhpcytcIlwiKS5pbmRleE9mKGIsY3x8MCkhPT0tMX19KTtwKFwiTnVtYmVyLmlzRmluaXRlXCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtyZXR1cm4gdHlwZW9mIGIhPT1cIm51bWJlclwiPyExOiFpc05hTihiKSYmYiE9PUluZmluaXR5JiZiIT09LUluZmluaXR5fX0pO3ZhciBtYT1mdW5jdGlvbihhLGIpe2EgaW5zdGFuY2VvZiBTdHJpbmcmJihhKz1cIlwiKTt2YXIgYz0wLGQ9ITEsZj17bmV4dDpmdW5jdGlvbigpe2lmKCFkJiZjPGEubGVuZ3RoKXt2YXIgZT1jKys7cmV0dXJue3ZhbHVlOmIoZSxhW2VdKSxkb25lOiExfX1kPSEwO3JldHVybntkb25lOiEwLHZhbHVlOnZvaWQgMH19fTtmW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gZn07cmV0dXJuIGZ9O3AoXCJBcnJheS5wcm90b3R5cGUudmFsdWVzXCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbigpe3JldHVybiBtYSh0aGlzLGZ1bmN0aW9uKGIsYyl7cmV0dXJuIGN9KX19KTtwKFwiU2V0XCIsZnVuY3Rpb24oYSl7aWYoZnVuY3Rpb24oKXtpZighYXx8dHlwZW9mIGEhPVwiZnVuY3Rpb25cInx8IWEucHJvdG90eXBlLmVudHJpZXN8fHR5cGVvZiBPYmplY3Quc2VhbCE9XCJmdW5jdGlvblwiKXJldHVybiExO3RyeXt2YXIgYz1PYmplY3Quc2VhbCh7eDo0fSksZD1uZXcgYShxKFtjXSkpO2lmKCFkLmhhcyhjKXx8ZC5zaXplIT0xfHxkLmFkZChjKSE9ZHx8ZC5zaXplIT0xfHxkLmFkZCh7eDo0fSkhPWR8fGQuc2l6ZSE9MilyZXR1cm4hMTt2YXIgZj1kLmVudHJpZXMoKSxlPWYubmV4dCgpO2lmKGUuZG9uZXx8ZS52YWx1ZVswXSE9Y3x8ZS52YWx1ZVsxXSE9YylyZXR1cm4hMTtlPWYubmV4dCgpO3JldHVybiBlLmRvbmV8fGUudmFsdWVbMF09PWN8fGUudmFsdWVbMF0ueCE9NHx8ZS52YWx1ZVsxXSE9ZS52YWx1ZVswXT8hMTpmLm5leHQoKS5kb25lfWNhdGNoKGcpe3JldHVybiExfX0oKSlyZXR1cm4gYTt2YXIgYj1mdW5jdGlvbihjKXt0aGlzLmc9bmV3IE1hcDtpZihjKXtjPVxucShjKTtmb3IodmFyIGQ7IShkPWMubmV4dCgpKS5kb25lOyl0aGlzLmFkZChkLnZhbHVlKX10aGlzLnNpemU9dGhpcy5nLnNpemV9O2IucHJvdG90eXBlLmFkZD1mdW5jdGlvbihjKXtjPWM9PT0wPzA6Yzt0aGlzLmcuc2V0KGMsYyk7dGhpcy5zaXplPXRoaXMuZy5zaXplO3JldHVybiB0aGlzfTtiLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24oYyl7Yz10aGlzLmcuZGVsZXRlKGMpO3RoaXMuc2l6ZT10aGlzLmcuc2l6ZTtyZXR1cm4gY307Yi5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmcuY2xlYXIoKTt0aGlzLnNpemU9MH07Yi5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLmcuaGFzKGMpfTtiLnByb3RvdHlwZS5lbnRyaWVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZy5lbnRyaWVzKCl9O2IucHJvdG90eXBlLnZhbHVlcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcudmFsdWVzKCl9O2IucHJvdG90eXBlLmtleXM9Yi5wcm90b3R5cGUudmFsdWVzO2IucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl09Yi5wcm90b3R5cGUudmFsdWVzO2IucHJvdG90eXBlLmZvckVhY2g9ZnVuY3Rpb24oYyxkKXt2YXIgZj10aGlzO3RoaXMuZy5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiBjLmNhbGwoZCxlLGUsZil9KX07cmV0dXJuIGJ9KTtcbnZhciB0PXRoaXN8fHNlbGYsbmE9ZnVuY3Rpb24oYSxiKXthOnt2YXIgYz1bXCJDTE9TVVJFX0ZMQUdTXCJdO2Zvcih2YXIgZD10LGY9MDtmPGMubGVuZ3RoO2YrKylpZihkPWRbY1tmXV0sZD09bnVsbCl7Yz1udWxsO2JyZWFrIGF9Yz1kfWE9YyYmY1thXTtyZXR1cm4gYSE9bnVsbD9hOmJ9O2Z1bmN0aW9uIHUoKXt0aHJvdyBFcnJvcihcImVcIik7fWZ1bmN0aW9uIG9hKGEsYil7Yj1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYik7cmV0dXJuIGE9PW51bGw/YjphK2J9dmFyIHBhPXZvaWQgMCxxYSxyYT10eXBlb2YgVGV4dERlY29kZXIhPT1cInVuZGVmaW5lZFwiO2Z1bmN0aW9uIHNhKGEpe3Quc2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IGE7fSwwKX07dmFyIHRhPVN0cmluZy5wcm90b3R5cGUudHJpbT9mdW5jdGlvbihhKXtyZXR1cm4gYS50cmltKCl9OmZ1bmN0aW9uKGEpe3JldHVybi9eW1xcc1xceGEwXSooW1xcc1xcU10qPylbXFxzXFx4YTBdKiQvLmV4ZWMoYSlbMV19O3ZhciB1YT1uYSg2MTA0MDEzMDEsITEpLHZhPW5hKDE4ODU4ODczNiwhMCksd2E9bmEoNjQ1MTcyMzQzLG5hKDEsITApKTt2YXIgdix4YT10Lm5hdmlnYXRvcjt2PXhhP3hhLnVzZXJBZ2VudERhdGF8fG51bGw6bnVsbDtmdW5jdGlvbiB5YShhKXtyZXR1cm4gdWE/dj92LmJyYW5kcy5zb21lKGZ1bmN0aW9uKGIpe3JldHVybihiPWIuYnJhbmQpJiZiLmluZGV4T2YoYSkhPS0xfSk6ITE6ITF9ZnVuY3Rpb24gdyhhKXt2YXIgYjthOntpZihiPXQubmF2aWdhdG9yKWlmKGI9Yi51c2VyQWdlbnQpYnJlYWsgYTtiPVwiXCJ9cmV0dXJuIGIuaW5kZXhPZihhKSE9LTF9O2Z1bmN0aW9uIHkoKXtyZXR1cm4gdWE/ISF2JiZ2LmJyYW5kcy5sZW5ndGg+MDohMX1mdW5jdGlvbiB6YSgpe3JldHVybiB3KFwiU2FmYXJpXCIpJiYhKEFhKCl8fCh5KCk/MDp3KFwiQ29hc3RcIikpfHwoeSgpPzA6dyhcIk9wZXJhXCIpKXx8KHkoKT8wOncoXCJFZGdlXCIpKXx8KHkoKT95YShcIk1pY3Jvc29mdCBFZGdlXCIpOncoXCJFZGcvXCIpKXx8KHkoKT95YShcIk9wZXJhXCIpOncoXCJPUFJcIikpfHx3KFwiRmlyZWZveFwiKXx8dyhcIkZ4aU9TXCIpfHx3KFwiU2lsa1wiKXx8dyhcIkFuZHJvaWRcIikpfWZ1bmN0aW9uIEFhKCl7cmV0dXJuIHkoKT95YShcIkNocm9taXVtXCIpOih3KFwiQ2hyb21lXCIpfHx3KFwiQ3JpT1NcIikpJiYhKHkoKT8wOncoXCJFZGdlXCIpKXx8dyhcIlNpbGtcIil9ZnVuY3Rpb24gQmEoKXtyZXR1cm4gdyhcIkFuZHJvaWRcIikmJiEoQWEoKXx8dyhcIkZpcmVmb3hcIil8fHcoXCJGeGlPU1wiKXx8KHkoKT8wOncoXCJPcGVyYVwiKSl8fHcoXCJTaWxrXCIpKX07dmFyIENhPUFycmF5LnByb3RvdHlwZS5pbmRleE9mP2Z1bmN0aW9uKGEsYil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoYSxiLHZvaWQgMCl9OmZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGE9PT1cInN0cmluZ1wiKXJldHVybiB0eXBlb2YgYiE9PVwic3RyaW5nXCJ8fGIubGVuZ3RoIT0xPy0xOmEuaW5kZXhPZihiLDApO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWlmKGMgaW4gYSYmYVtjXT09PWIpcmV0dXJuIGM7cmV0dXJuLTF9LERhPUFycmF5LnByb3RvdHlwZS5mb3JFYWNoP2Z1bmN0aW9uKGEsYixjKXtBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGEsYixjKX06ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZD1hLmxlbmd0aCxmPXR5cGVvZiBhPT09XCJzdHJpbmdcIj9hLnNwbGl0KFwiXCIpOmEsZT0wO2U8ZDtlKyspZSBpbiBmJiZiLmNhbGwoYyxmW2VdLGUsYSl9O3ZhciBFYT15KCk/ITE6dyhcIlRyaWRlbnRcIil8fHcoXCJNU0lFXCIpO0JhKCk7QWEoKTt6YSgpO3ZhciBGYT17fSx6PW51bGwsSmE9ZnVuY3Rpb24oKXt2YXIgYT1bXTtIYShJYSxmdW5jdGlvbihiKXthLnB1c2goYil9KTtyZXR1cm4gYX0sS2E9ZnVuY3Rpb24oYSl7dmFyIGI9YS5sZW5ndGgsYz1iKjMvNDtjJTM/Yz1NYXRoLmZsb29yKGMpOlwiPS5cIi5pbmRleE9mKGFbYi0xXSkhPS0xJiYoYz1cIj0uXCIuaW5kZXhPZihhW2ItMl0pIT0tMT9jLTI6Yy0xKTt2YXIgZD1uZXcgVWludDhBcnJheShjKSxmPTA7SGEoYSxmdW5jdGlvbihlKXtkW2YrK109ZX0pO3JldHVybiBmIT09Yz9kLnN1YmFycmF5KDAsZik6ZH0sSGE9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGspe2Zvcig7ZDxhLmxlbmd0aDspe3ZhciBsPWEuY2hhckF0KGQrKyksbT16W2xdO2lmKG0hPW51bGwpcmV0dXJuIG07aWYoIS9eW1xcc1xceGEwXSokLy50ZXN0KGwpKXRocm93IEVycm9yKFwiZmBcIitsKTt9cmV0dXJuIGt9TGEoKTtmb3IodmFyIGQ9MDs7KXt2YXIgZj1jKC0xKSxlPWMoMCksZz1jKDY0KSxoPWMoNjQpO2lmKGg9PT1cbjY0JiZmPT09LTEpYnJlYWs7YihmPDwyfGU+PjQpO2chPTY0JiYoYihlPDw0JjI0MHxnPj4yKSxoIT02NCYmYihnPDw2JjE5MnxoKSl9fSxMYT1mdW5jdGlvbigpe2lmKCF6KXt6PXt9O2Zvcih2YXIgYT1cIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5XCIuc3BsaXQoXCJcIiksYj1bXCIrLz1cIixcIisvXCIsXCItXz1cIixcIi1fLlwiLFwiLV9cIl0sYz0wO2M8NTtjKyspe3ZhciBkPWEuY29uY2F0KGJbY10uc3BsaXQoXCJcIikpO0ZhW2NdPWQ7Zm9yKHZhciBmPTA7ZjxkLmxlbmd0aDtmKyspe3ZhciBlPWRbZl07eltlXT09PXZvaWQgMCYmKHpbZV09Zil9fX19O3ZhciBNYT10eXBlb2YgVWludDhBcnJheSE9PVwidW5kZWZpbmVkXCIsTmE9IUVhJiZ0eXBlb2YgYnRvYT09PVwiZnVuY3Rpb25cIjtmdW5jdGlvbiBPYShhKXtpZighTmEpe3ZhciBiO2I9PT12b2lkIDAmJihiPTApO0xhKCk7Yj1GYVtiXTtmb3IodmFyIGM9QXJyYXkoTWF0aC5mbG9vcihhLmxlbmd0aC8zKSksZD1iWzY0XXx8XCJcIixmPTAsZT0wO2Y8YS5sZW5ndGgtMjtmKz0zKXt2YXIgZz1hW2ZdLGg9YVtmKzFdLGs9YVtmKzJdLGw9YltnPj4yXTtnPWJbKGcmMyk8PDR8aD4+NF07aD1iWyhoJjE1KTw8MnxrPj42XTtrPWJbayY2M107Y1tlKytdPVwiXCIrbCtnK2gra31sPTA7az1kO3N3aXRjaChhLmxlbmd0aC1mKXtjYXNlIDI6bD1hW2YrMV0saz1iWyhsJjE1KTw8Ml18fGQ7Y2FzZSAxOmE9YVtmXSxjW2VdPVwiXCIrYlthPj4yXStiWyhhJjMpPDw0fGw+PjRdK2srZH1yZXR1cm4gYy5qb2luKFwiXCIpfWI9XCJcIjtjPTA7Zm9yKGQ9YS5sZW5ndGgtMTAyNDA7YzxkOyliKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYS5zdWJhcnJheShjLGMrPTEwMjQwKSk7Yis9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGM/YS5zdWJhcnJheShjKTphKTtyZXR1cm4gYnRvYShiKX12YXIgUGE9L1stXy5dL2csUWE9e1wiLVwiOlwiK1wiLF86XCIvXCIsXCIuXCI6XCI9XCJ9O2Z1bmN0aW9uIFJhKGEpe3JldHVybiBRYVthXXx8XCJcIn1mdW5jdGlvbiBTYShhKXtpZighTmEpcmV0dXJuIEthKGEpO1BhLnRlc3QoYSkmJihhPWEucmVwbGFjZShQYSxSYSkpO2E9YXRvYihhKTtmb3IodmFyIGI9bmV3IFVpbnQ4QXJyYXkoYS5sZW5ndGgpLGM9MDtjPGEubGVuZ3RoO2MrKyliW2NdPWEuY2hhckNvZGVBdChjKTtyZXR1cm4gYn12YXIgQT17fTt2YXIgVGEsQj1mdW5jdGlvbihhLGIpe2lmKGIhPT1BKXRocm93IEVycm9yKFwiZ1wiKTt0aGlzLmc9YTtpZihhIT1udWxsJiZhLmxlbmd0aD09PTApdGhyb3cgRXJyb3IoXCJoXCIpO307dmFyIFVhO3ZhciBWYT10eXBlb2YgU3ltYm9sPT09XCJmdW5jdGlvblwiJiZ0eXBlb2YgU3ltYm9sKCk9PT1cInN5bWJvbFwiO2Z1bmN0aW9uIFdhKGEpe3JldHVybiB0eXBlb2YgU3ltYm9sPT09XCJmdW5jdGlvblwiJiZ0eXBlb2YgU3ltYm9sKCk9PT1cInN5bWJvbFwiP1N5bWJvbCgpOmF9dmFyIEM9V2EoKSxYYT1XYShcIjJleFwiKTt2YXIgWWE9VmE/ZnVuY3Rpb24oYSxiKXthW0NdfD1ifTpmdW5jdGlvbihhLGIpe2EuRCE9PXZvaWQgMD9hLkR8PWI6T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYSx7RDp7dmFsdWU6Yixjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsZW51bWVyYWJsZTohMX19KX0sRD1WYT9mdW5jdGlvbihhKXtyZXR1cm4gYVtDXXwwfTpmdW5jdGlvbihhKXtyZXR1cm4gYS5EfDB9LEU9VmE/ZnVuY3Rpb24oYSl7cmV0dXJuIGFbQ119OmZ1bmN0aW9uKGEpe3JldHVybiBhLkR9LEY9VmE/ZnVuY3Rpb24oYSxiKXthW0NdPWJ9OmZ1bmN0aW9uKGEsYil7YS5EIT09dm9pZCAwP2EuRD1iOk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGEse0Q6e3ZhbHVlOmIsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9fSl9O2Z1bmN0aW9uIFphKGEsYil7RihiLChhfDApJi0xNDU5MSl9ZnVuY3Rpb24gJGEoYSxiKXtGKGIsKGF8MzQpJi0xNDU1Nyl9O3ZhciBhYj17fSxiYj17fTtmdW5jdGlvbiBjYihhKXtyZXR1cm4hKCFhfHx0eXBlb2YgYSE9PVwib2JqZWN0XCJ8fGEuZyE9PWJiKX1mdW5jdGlvbiBkYihhKXtyZXR1cm4gYSE9PW51bGwmJnR5cGVvZiBhPT09XCJvYmplY3RcIiYmIUFycmF5LmlzQXJyYXkoYSkmJmEuY29uc3RydWN0b3I9PT1PYmplY3R9ZnVuY3Rpb24gZWIoYSxiLGMpe2lmKCFBcnJheS5pc0FycmF5KGEpfHxhLmxlbmd0aClyZXR1cm4hMTt2YXIgZD1EKGEpO2lmKGQmMSlyZXR1cm4hMDtpZighKGImJihBcnJheS5pc0FycmF5KGIpP2IuaW5jbHVkZXMoYyk6Yi5oYXMoYykpKSlyZXR1cm4hMTtGKGEsZHwxKTtyZXR1cm4hMH12YXIgRztmdW5jdGlvbiBmYihhLGIpeyhiPUc/YltHXTp2b2lkIDApJiYoYVtHXT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChiKSl9dmFyIGdiO3ZhciBoYj10eXBlb2YgVWludDhBcnJheS5wcm90b3R5cGUuc2xpY2U9PT1cImZ1bmN0aW9uXCI7dmFyIGliLGpiLGtiO2Z1bmN0aW9uIGxiKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSBcImJvb2xlYW5cIjpyZXR1cm4gamJ8fChqYj1bMCx2b2lkIDAsITBdKTtjYXNlIFwibnVtYmVyXCI6cmV0dXJuIGE+MD92b2lkIDA6YT09PTA/a2J8fChrYj1bMCx2b2lkIDBdKTpbLWEsdm9pZCAwXTtjYXNlIFwic3RyaW5nXCI6cmV0dXJuWzAsYV07Y2FzZSBcIm9iamVjdFwiOnJldHVybiBhfX1cbmZ1bmN0aW9uIG1iKGEsYixjKXthPT1udWxsJiYoYT1pYik7aWI9dm9pZCAwO2lmKGE9PW51bGwpe3ZhciBkPTk2O2M/KGE9W2NdLGR8PTUxMik6YT1bXTtiJiYoZD1kJi0xNjc2MDgzM3woYiYxMDIzKTw8MTQpfWVsc2V7aWYoIUFycmF5LmlzQXJyYXkoYSkpdGhyb3cgRXJyb3IoXCJpXCIpO2Q9RChhKTtpZihkJjIwNDgpdGhyb3cgRXJyb3IoXCJqXCIpO2lmKGQmNjQpcmV0dXJuIGE7ZHw9NjQ7aWYoYyYmKGR8PTUxMixjIT09YVswXSkpdGhyb3cgRXJyb3IoXCJrXCIpO2E6e2M9YTt2YXIgZj1jLmxlbmd0aDtpZihmKXt2YXIgZT1mLTE7aWYoZGIoY1tlXSkpe2R8PTI1NjtiPWUtKCshIShkJjUxMiktMSk7aWYoYj49MTAyNCl0aHJvdyBFcnJvcihcImxcIik7ZD1kJi0xNjc2MDgzM3woYiYxMDIzKTw8MTQ7YnJlYWsgYX19aWYoYil7Yj1NYXRoLm1heChiLGYtKCshIShkJjUxMiktMSkpO2lmKGI+MTAyNCl0aHJvdyBFcnJvcihcIm1cIik7ZD1kJi0xNjc2MDgzM3woYiYxMDIzKTw8MTR9fX1GKGEsZCk7cmV0dXJuIGF9O2Z1bmN0aW9uIG5iKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSBcIm51bWJlclwiOnJldHVybiBpc0Zpbml0ZShhKT9hOlN0cmluZyhhKTtjYXNlIFwiYm9vbGVhblwiOnJldHVybiBhPzE6MDtjYXNlIFwib2JqZWN0XCI6aWYoYSlpZihBcnJheS5pc0FycmF5KGEpKXtpZihlYihhLHZvaWQgMCwwKSlyZXR1cm59ZWxzZXtpZihNYSYmYSE9bnVsbCYmYSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpcmV0dXJuIE9hKGEpO2lmKGEgaW5zdGFuY2VvZiBCKXt2YXIgYj1hLmc7cmV0dXJuIGI9PW51bGw/XCJcIjp0eXBlb2YgYj09PVwic3RyaW5nXCI/YjphLmc9T2EoYil9fX1yZXR1cm4gYX07ZnVuY3Rpb24gb2IoYSxiLGMpe3ZhciBkPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGEpLGY9ZC5sZW5ndGgsZT1iJjI1Nj9kW2YtMV06dm9pZCAwO2YrPWU/LTE6MDtmb3IoYj1iJjUxMj8xOjA7YjxmO2IrKylkW2JdPWMoZFtiXSk7aWYoZSl7Yj1kW2JdPXt9O2Zvcih2YXIgZyBpbiBlKWJbZ109YyhlW2ddKX1mYihkLGEpO3JldHVybiBkfWZ1bmN0aW9uIHBiKGEsYixjLGQsZil7aWYoYSE9bnVsbCl7aWYoQXJyYXkuaXNBcnJheShhKSlhPWViKGEsdm9pZCAwLDApP3ZvaWQgMDpmJiZEKGEpJjI/YTpxYihhLGIsYyxkIT09dm9pZCAwLGYpO2Vsc2UgaWYoZGIoYSkpe3ZhciBlPXt9LGc7Zm9yKGcgaW4gYSllW2ddPXBiKGFbZ10sYixjLGQsZik7YT1lfWVsc2UgYT1iKGEsZCk7cmV0dXJuIGF9fVxuZnVuY3Rpb24gcWIoYSxiLGMsZCxmKXt2YXIgZT1kfHxjP0QoYSk6MDtkPWQ/ISEoZSYzMik6dm9pZCAwO2Zvcih2YXIgZz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhKSxoPTA7aDxnLmxlbmd0aDtoKyspZ1toXT1wYihnW2hdLGIsYyxkLGYpO2MmJihmYihnLGEpLGMoZSxnKSk7cmV0dXJuIGd9ZnVuY3Rpb24gcmIoYSl7cmV0dXJuIGEuY2E9PT1hYj9hLnRvSlNPTigpOm5iKGEpfTtmdW5jdGlvbiBzYihhLGIsYyl7Yz1jPT09dm9pZCAwPyRhOmM7aWYoYSE9bnVsbCl7aWYoTWEmJmEgaW5zdGFuY2VvZiBVaW50OEFycmF5KXJldHVybiBiP2E6bmV3IFVpbnQ4QXJyYXkoYSk7aWYoQXJyYXkuaXNBcnJheShhKSl7dmFyIGQ9RChhKTtpZihkJjIpcmV0dXJuIGE7YiYmKGI9ZD09PTB8fCEhKGQmMzIpJiYhKGQmNjR8fCEoZCYxNikpKTtyZXR1cm4gYj8oRihhLChkfDM0KSYtMTIyOTMpLGEpOnFiKGEsc2IsZCY0PyRhOmMsITAsITApfWEuY2E9PT1hYiYmKGM9YS5CLGQ9RShjKSxhPWQmMj9hOnRiKGEsYyxkLCEwKSk7cmV0dXJuIGF9fWZ1bmN0aW9uIHRiKGEsYixjLGQpe2E9YS5jb25zdHJ1Y3RvcjtpYj1iPXViKGIsYyxkKTtiPW5ldyBhKGIpO2liPXZvaWQgMDtyZXR1cm4gYn1cbmZ1bmN0aW9uIHViKGEsYixjKXt2YXIgZD1jfHxiJjI/JGE6WmEsZj0hIShiJjMyKTthPW9iKGEsYixmdW5jdGlvbihlKXtyZXR1cm4gc2IoZSxmLGQpfSk7WWEoYSwzMnwoYz8yOjApKTtyZXR1cm4gYX07ZnVuY3Rpb24gdmIoYSxiLGMsZCl7Yj1kKygrISEoYiY1MTIpLTEpO2lmKCEoYjwwfHxiPj1hLmxlbmd0aHx8Yj49YykpcmV0dXJuIGFbYl19XG52YXIgd2I9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYz09PS0xKXJldHVybiBudWxsO3ZhciBmPWI+PjE0JjEwMjN8fDUzNjg3MDkxMjtpZihjPj1mKXtpZihiJjI1NilyZXR1cm4gYVthLmxlbmd0aC0xXVtjXX1lbHNle3ZhciBlPWEubGVuZ3RoO2lmKGQmJmImMjU2JiYoZD1hW2UtMV1bY10sZCE9bnVsbCkpe2lmKHZiKGEsYixmLGMpJiZYYSE9bnVsbCl7dmFyIGc7YT0oZz1VYSkhPW51bGw/ZzpVYT17fTtnPWFbWGFdfHwwO2c+PTR8fChhW1hhXT1nKzEsZz1FcnJvcigpLGcuX19jbG9zdXJlX19lcnJvcl9fY29udGV4dF9fOTg0MzgyfHwoZy5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODI9e30pLGcuX19jbG9zdXJlX19lcnJvcl9fY29udGV4dF9fOTg0MzgyLnNldmVyaXR5PVwiaW5jaWRlbnRcIixzYShnKSl9cmV0dXJuIGR9cmV0dXJuIHZiKGEsYixmLGMpfX07ZnVuY3Rpb24gSChhLGIsYyxkLGYpe3ZhciBlPWI+PjE0JjEwMjN8fDUzNjg3MDkxMjtpZihjPj1lfHxmJiYhd2Epe3ZhciBnPWI7aWYoYiYyNTYpZj1hW2EubGVuZ3RoLTFdO2Vsc2V7aWYoZD09bnVsbClyZXR1cm47Zj1hW2UrKCshIShiJjUxMiktMSldPXt9O2d8PTI1Nn1mW2NdPWQ7YzxlJiYoYVtjKygrISEoYiY1MTIpLTEpXT12b2lkIDApO2chPT1iJiZGKGEsZyl9ZWxzZSBhW2MrKCshIShiJjUxMiktMSldPWQsYiYyNTYmJihhPWFbYS5sZW5ndGgtMV0sYyBpbiBhJiZkZWxldGUgYVtjXSl9XG52YXIgeGI9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGY9RShhKSxlPXdiKGEsZixjLGQpO2lmKGUhPW51bGwmJmUuY2E9PT1hYil7Yj1lLkI7dmFyIGc9RShiKTtiPWcmMj90YihlLGIsZywhMSk6ZTtiIT09ZSYmSChhLGYsYyxiLGQpO3JldHVybiBiLkJ9aWYoQXJyYXkuaXNBcnJheShlKSl7dmFyIGg9RChlKTtoJjI/Zz11YihlLGgsITEpOmc9ZTtnPW1iKGcsYlswXSxiWzFdKX1lbHNlIGc9bWIodm9pZCAwLGJbMF0sYlsxXSk7ZyE9PWUmJkgoYSxmLGMsZyxkKTtyZXR1cm4gZ307ZnVuY3Rpb24geWIoYSl7aWYodHlwZW9mIGE9PT1cInN0cmluZ1wiKXJldHVybntidWZmZXI6U2EoYSksSTohMX07aWYoQXJyYXkuaXNBcnJheShhKSlyZXR1cm57YnVmZmVyOm5ldyBVaW50OEFycmF5KGEpLEk6ITF9O2lmKGEuY29uc3RydWN0b3I9PT1VaW50OEFycmF5KXJldHVybntidWZmZXI6YSxJOiExfTtpZihhLmNvbnN0cnVjdG9yPT09QXJyYXlCdWZmZXIpcmV0dXJue2J1ZmZlcjpuZXcgVWludDhBcnJheShhKSxJOiExfTtpZihhLmNvbnN0cnVjdG9yPT09Qil7aWYoQSE9PUEpdGhyb3cgRXJyb3IoXCJnXCIpO3ZhciBiPWEuZztiPWI9PW51bGx8fE1hJiZiIT1udWxsJiZiIGluc3RhbmNlb2YgVWludDhBcnJheT9iOnR5cGVvZiBiPT09XCJzdHJpbmdcIj9TYShiKTpudWxsO3JldHVybntidWZmZXI6KGI9PW51bGw/YjphLmc9Yil8fG5ldyBVaW50OEFycmF5KDApLEk6ITB9fWlmKGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KXJldHVybntidWZmZXI6bmV3IFVpbnQ4QXJyYXkoYS5idWZmZXIsYS5ieXRlT2Zmc2V0LGEuYnl0ZUxlbmd0aCksSTohMX07dGhyb3cgRXJyb3IoXCJ2XCIpO307dmFyIEFiPWZ1bmN0aW9uKGEsYil7dGhpcy5qPW51bGw7dGhpcy52PSExO3RoaXMuZz10aGlzLmk9dGhpcy5sPTA7emIodGhpcyxhLGIpfSx6Yj1mdW5jdGlvbihhLGIsYyl7Yz1jPT09dm9pZCAwP3t9OmM7YS5PPWMuTz09PXZvaWQgMD8hMTpjLk87YiYmKGI9eWIoYiksYS5qPWIuYnVmZmVyLGEudj1iLkksYS5sPTAsYS5pPWEuai5sZW5ndGgsYS5nPWEubCl9O0FiLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuaj1udWxsO3RoaXMudj0hMTt0aGlzLmc9dGhpcy5pPXRoaXMubD0wO3RoaXMuTz0hMX07dmFyIEk9ZnVuY3Rpb24oYSxiKXthLmc9YjtpZihiPmEuaSl0aHJvdyBFcnJvcihcInRgXCIrYitcImBcIithLmkpO30sSj1mdW5jdGlvbihhKXt2YXIgYj1hLmosYz1hLmcsZD1iW2MrK10sZj1kJjEyNztpZihkJjEyOCYmKGQ9YltjKytdLGZ8PShkJjEyNyk8PDcsZCYxMjgmJihkPWJbYysrXSxmfD0oZCYxMjcpPDwxNCxkJjEyOCYmKGQ9YltjKytdLGZ8PShkJjEyNyk8PDIxLGQmMTI4JiYoZD1iW2MrK10sZnw9ZDw8MjgsZCYxMjgmJmJbYysrXSYxMjgmJmJbYysrXSYxMjgmJmJbYysrXSYxMjgmJmJbYysrXSYxMjgmJmJbYysrXSYxMjgpKSkpKXRocm93IEVycm9yKFwic1wiKTtJKGEsYyk7cmV0dXJuIGZ9LEJiPWZ1bmN0aW9uKGEsYil7aWYoYjwwKXRocm93IEVycm9yKFwidWBcIitiKTt2YXIgYz1hLmcsZD1jK2I7aWYoZD5hLmkpdGhyb3cgRXJyb3IoXCJ0YFwiKyhhLmktYykrXCJgXCIrYik7YS5nPWQ7cmV0dXJuIGN9LENiPVtdO3ZhciBFYj1mdW5jdGlvbihhLGIpe2lmKENiLmxlbmd0aCl7dmFyIGM9Q2IucG9wKCk7emIoYyxhLGIpO2E9Y31lbHNlIGE9bmV3IEFiKGEsYik7dGhpcy5nPWE7dGhpcy5qPXRoaXMuZy5nO3RoaXMuaT10aGlzLmw9LTE7RGIodGhpcyxiKX0sRGI9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/e306YjthLmJhPWIuYmE9PT12b2lkIDA/ITE6Yi5iYX0sRmI9ZnVuY3Rpb24oYSl7dmFyIGI9YS5nO2lmKGIuZz09Yi5pKXJldHVybiExO2Euaj1hLmcuZzt2YXIgYz1KKGEuZyk+Pj4wO2I9Yz4+PjM7YyY9NztpZighKGM+PTAmJmM8PTUpKXRocm93IEVycm9yKFwib2BcIitjK1wiYFwiK2Euaik7aWYoYjwxKXRocm93IEVycm9yKFwicGBcIitiK1wiYFwiK2Euaik7YS5sPWI7YS5pPWM7cmV0dXJuITB9LEdiPWZ1bmN0aW9uKGEpe3N3aXRjaChhLmkpe2Nhc2UgMDppZihhLmkhPTApR2IoYSk7ZWxzZSBhOnthPWEuZztmb3IodmFyIGI9YS5nLGM9YisxMCxkPWEuajtiPGM7KWlmKChkW2IrK10mMTI4KT09PVxuMCl7SShhLGIpO2JyZWFrIGF9dGhyb3cgRXJyb3IoXCJzXCIpO31icmVhaztjYXNlIDE6YT1hLmc7SShhLGEuZys4KTticmVhaztjYXNlIDI6YS5pIT0yP0diKGEpOihiPUooYS5nKT4+PjAsYT1hLmcsSShhLGEuZytiKSk7YnJlYWs7Y2FzZSA1OmE9YS5nO0koYSxhLmcrNCk7YnJlYWs7Y2FzZSAzOmI9YS5sO2Rve2lmKCFGYihhKSl0aHJvdyBFcnJvcihcInFcIik7aWYoYS5pPT00KXtpZihhLmwhPWIpdGhyb3cgRXJyb3IoXCJyXCIpO2JyZWFrfUdiKGEpfXdoaWxlKDEpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoXCJvYFwiK2EuaStcImBcIithLmopO319LEhiPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLmcuaSxmPUooYS5nKT4+PjAsZT1hLmcuZytmLGc9ZS1kO2c8PTAmJihhLmcuaT1lLGMoYixhLHZvaWQgMCx2b2lkIDAsdm9pZCAwKSxnPWUtYS5nLmcpO2lmKGcpdGhyb3cgRXJyb3IoXCJuYFwiK2YrXCJgXCIrKGYtZykpO2EuZy5nPWU7YS5nLmk9ZH0sSWI9W107dmFyIEpiLEs9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuQj1tYihhLGIsYyl9O0sucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybiBLYih0aGlzKX07Sy5wcm90b3R5cGUuST1mdW5jdGlvbigpe3JldHVybiEhKEQodGhpcy5CKSYyKX07Sy5wcm90b3R5cGUuY2E9YWI7Sy5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIEpiPSEwLEtiKHRoaXMpLnRvU3RyaW5nKCl9ZmluYWxseXtKYj0hMX19O2Z1bmN0aW9uIEtiKGEpe3ZhciBiPUpiP2EuQjpxYihhLkIscmIsdm9pZCAwLHZvaWQgMCwhMSk7dmFyIGM9IUpiO3ZhciBkPXZhP3ZvaWQgMDphLmNvbnN0cnVjdG9yLnZhO3ZhciBmPUUoYz9hLkI6Yik7aWYoYT1iLmxlbmd0aCl7dmFyIGU9YlthLTFdLGc9ZGIoZSk7Zz9hLS06ZT12b2lkIDA7Zj0rISEoZiY1MTIpLTE7dmFyIGg9YjtpZihnKXtiOnt2YXIgaz1lO3ZhciBsPXt9O2c9ITE7aWYoaylmb3IodmFyIG0gaW4gaylpZihpc05hTigrbSkpbFttXT1rW21dO2Vsc2V7dmFyIG49a1ttXTtBcnJheS5pc0FycmF5KG4pJiYoZWIobixkLCttKXx8Y2IobikmJm4uc2l6ZT09PTApJiYobj1udWxsKTtuPT1udWxsJiYoZz0hMCk7biE9bnVsbCYmKGxbbV09bil9aWYoZyl7Zm9yKHZhciB4IGluIGwpYnJlYWsgYjtsPW51bGx9ZWxzZSBsPWt9az1sPT1udWxsP2UhPW51bGw6bCE9PWV9Zm9yKHZhciBHYTthPjA7YS0tKXt4PWEtMTttPWhbeF07eC09ZjtpZighKG09PW51bGx8fGViKG0sZCx4KXx8Y2IobSkmJm0uc2l6ZT09PTApKWJyZWFrO0dhPSEwfWlmKGghPT1ifHxrfHxHYSl7aWYoIWMpaD1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChoLDAsYSk7ZWxzZSBpZihHYXx8a3x8bCloLmxlbmd0aD1hO2wmJmgucHVzaChsKX1iPWh9cmV0dXJuIGJ9O3ZhciBMPWZ1bmN0aW9uKGEsYil7dGhpcy5nPWE7dGhpcy5vYT1ifTt2YXIgTGI9U3ltYm9sKCk7ZnVuY3Rpb24gTWIoYSl7dmFyIGI9YVtMYl07aWYoIWIpe3ZhciBjPU5iKGEpLGQ9T2IoYSksZj1kLmo7Yj1mP2Z1bmN0aW9uKGUsZyl7cmV0dXJuIGYoZSxnLGQpfTpmdW5jdGlvbihlLGcpe2Zvcig7RmIoZykmJmcuaSE9NDspe3ZhciBoPWcubCxrPWRbaF07aWYoIWspe3ZhciBsPWQubmE7bCYmKGw9bFtoXSkmJihrPWRbaF09UGIobCkpfWsmJmsoZyxlLGgpfHwoaD1nLGs9aC5qLEdiKGgpLGw9aCxsLmJhP2s9dm9pZCAwOihoPWwuZy5nLWssbC5nLmc9ayxsPWwuZyxoPT0wP2g9VGF8fChUYT1uZXcgQihudWxsLEEpKTooaz1CYihsLGgpLGwuTyYmbC52P2g9bC5qLnN1YmFycmF5KGssaytoKToobD1sLmosaD1rK2gsaD1rPT09aD9uZXcgVWludDhBcnJheSgwKTpoYj9sLnNsaWNlKGssaCk6bmV3IFVpbnQ4QXJyYXkobC5zdWJhcnJheShrLGgpKSksaD1oLmxlbmd0aD09MD9UYXx8KFRhPW5ldyBCKG51bGwsQSkpOm5ldyBCKGgsQSkpLGs9aCksaD1lLGsmJihHfHwoRz1TeW1ib2woKSksKGw9aFtHXSk/bC5wdXNoKGspOmhbR109W2tdKSl9Yz09PVFifHxjPT09UmJ8fGMubHx8KGVbZ2J8fChnYj1TeW1ib2woKSldPWMpfTthW0xiXT1ifXJldHVybiBifWZ1bmN0aW9uIFBiKGEpe2E9QXJyYXkuaXNBcnJheShhKT9hWzBdaW5zdGFuY2VvZiBMP2E6W1NiLGFdOlthLHZvaWQgMF07dmFyIGI9YVswXS5nO2lmKGE9YVsxXSl7dmFyIGM9TWIoYSksZD1PYihhKS5TO3JldHVybiBmdW5jdGlvbihmLGUsZyl7cmV0dXJuIGIoZixlLGcsZCxjKX19cmV0dXJuIGJ9dmFyIFRiPWZ1bmN0aW9uKCl7fSxRYixSYixNPVN5bWJvbCgpO2Z1bmN0aW9uIFViKGEsYixjKXt2YXIgZD1jWzFdO2lmKGQpe3ZhciBmPWRbTV07dmFyIGU9Zj9mLlM6bGIoZFswXSk7YVtiXT1mIT1udWxsP2Y6ZH1lJiZlPT09amI/KGEuZ3x8KGEuZz1uZXcgU2V0KSkuYWRkKGIpOmNbMF0mJihhLml8fChhLmk9bmV3IFNldCkpLmFkZChiKX1cbmZ1bmN0aW9uIFZiKGEsYil7cmV0dXJuWyExLCFifHxiWzBdPjA/dm9pZCAwOmJdfWZ1bmN0aW9uIE5iKGEpe3ZhciBiPWFbTV07aWYoYilyZXR1cm4gYjtiPVdiKGEsYVtNXT1uZXcgVGIsVmIsVmIsVWIpO2lmKCFiLm5hJiYhYi5pJiYhYi5nKXt2YXIgYz0hMCxkO2ZvcihkIGluIGIpaXNOYU4oZCl8fChjPSExKTtjPyhsYihhWzBdKT09PWpiP1JiP2I9UmI6KGI9bmV3IFRiLGIuUz1sYighMCksYj1SYj1iKTpiPVFifHwoUWI9bmV3IFRiKSxiPWFbTV09Yik6Yi5sPSEwfXJldHVybiBifWZ1bmN0aW9uIFhiKGEsYixjKXthW2JdPWN9XG5mdW5jdGlvbiBXYihhLGIsYyxkLGYpe2Y9Zj09PXZvaWQgMD9YYjpmO2IuUz1sYihhWzBdKTt2YXIgZT0wLGc9YVsrK2VdO2cmJmcuY29uc3RydWN0b3I9PT1PYmplY3QmJihiLm5hPWcsZz1hWysrZV0sdHlwZW9mIGc9PT1cImZ1bmN0aW9uXCImJihiLmo9ZyxiLnY9YVsrK2VdLGc9YVsrK2VdKSk7Zm9yKHZhciBoPXt9O0FycmF5LmlzQXJyYXkoZykmJnR5cGVvZiBnWzBdPT09XCJudW1iZXJcIiYmZ1swXT4wOyl7Zm9yKHZhciBrPTA7azxnLmxlbmd0aDtrKyspaFtnW2tdXT1nO2c9YVsrK2VdfWZvcihrPTE7ZyE9PXZvaWQgMDspe3R5cGVvZiBnPT09XCJudW1iZXJcIiYmKGsrPWcsZz1hWysrZV0pO3ZhciBsPXZvaWQgMDtpZihnIGluc3RhbmNlb2YgTCl2YXIgbT1nO2Vsc2UgbT1ZYixlLS07aWYobS5vYSl7Zz1hWysrZV07bD1hO3ZhciBuPWU7dHlwZW9mIGc9PVwiZnVuY3Rpb25cIiYmKGc9ZygpLGxbbl09Zyk7bD1nfWc9YVsrK2VdO249aysxO3R5cGVvZiBnPT09XCJudW1iZXJcIiYmZzwwJiYobi09XG5nLGc9YVsrK2VdKTtmb3IoO2s8bjtrKyspe3ZhciB4PWhba107ZihiLGssbD9kKG0sbCx4KTpjKG0seCkpfX1yZXR1cm4gYn12YXIgWmI9U3ltYm9sKCksJGI9U3ltYm9sKCk7ZnVuY3Rpb24gYWMoYSxiKXt2YXIgYz1hLmc7cmV0dXJuIGI/ZnVuY3Rpb24oZCxmLGUpe3JldHVybiBjKGQsZixlLGIpfTpjfWZ1bmN0aW9uIGJjKGEsYixjKXt2YXIgZD1hLmcsZixlO3JldHVybiBmdW5jdGlvbihnLGgsayl7cmV0dXJuIGQoZyxoLGssZXx8KGU9T2IoYikuUyksZnx8KGY9TWIoYikpLGMpfX1mdW5jdGlvbiBPYihhKXt2YXIgYj1hWyRiXTtpZihiKXJldHVybiBiO05iKGEpO2I9V2IoYSxhWyRiXT17fSxhYyxiYyk7JGIgaW4gYSYmTSBpbiBhJiZaYiBpbiBhJiYoYS5sZW5ndGg9MCk7cmV0dXJuIGJ9XG52YXIgY2M9bmV3IEwoZnVuY3Rpb24oYSxiLGMpe2lmKGEuaSE9PTIpcmV0dXJuITE7dmFyIGQ9SihhLmcpPj4+MDthPWEuZzt2YXIgZj1CYihhLGQpO2E9YS5qO2lmKHJhKXt2YXIgZT1hLGc7KGc9cWEpfHwoZz1xYT1uZXcgVGV4dERlY29kZXIoXCJ1dGYtOFwiLHtmYXRhbDohMH0pKTtkPWYrZDtlPWY9PT0wJiZkPT09ZS5sZW5ndGg/ZTplLnN1YmFycmF5KGYsZCk7dHJ5e3ZhciBoPWcuZGVjb2RlKGUpfWNhdGNoKG4pe2lmKHBhPT09dm9pZCAwKXt0cnl7Zy5kZWNvZGUobmV3IFVpbnQ4QXJyYXkoWzEyOF0pKX1jYXRjaCh4KXt9dHJ5e2cuZGVjb2RlKG5ldyBVaW50OEFycmF5KFs5N10pKSxwYT0hMH1jYXRjaCh4KXtwYT0hMX19IXBhJiYocWE9dm9pZCAwKTt0aHJvdyBuO319ZWxzZXtoPWY7ZD1oK2Q7Zj1bXTtmb3IodmFyIGs9bnVsbCxsLG07aDxkOylsPWFbaCsrXSxsPDEyOD9mLnB1c2gobCk6bDwyMjQ/aD49ZD91KCk6KG09YVtoKytdLGw8MTk0fHwobSYxOTIpIT09MTI4PyhoLS0sdSgpKTpmLnB1c2goKGwmMzEpPDw2fG0mNjMpKTpsPDI0MD9oPj1kLTE/dSgpOihtPWFbaCsrXSwobSYxOTIpIT09MTI4fHxsPT09MjI0JiZtPDE2MHx8bD09PTIzNyYmbT49MTYwfHwoKGc9YVtoKytdKSYxOTIpIT09MTI4PyhoLS0sdSgpKTpmLnB1c2goKGwmMTUpPDwxMnwobSY2Myk8PDZ8ZyY2MykpOmw8PTI0ND9oPj1kLTI/dSgpOihtPWFbaCsrXSwobSYxOTIpIT09MTI4fHwobDw8MjgpKyhtLTE0NCk+PjMwIT09MHx8KChnPWFbaCsrXSkmMTkyKSE9PTEyOHx8KChlPWFbaCsrXSkmMTkyKSE9PTEyOD8oaC0tLHUoKSk6KGw9KGwmNyk8PDE4fChtJjYzKTw8MTJ8KGcmNjMpPDw2fGUmNjMsbC09NjU1MzYsZi5wdXNoKChsPj4xMCYxMDIzKSs1NTI5NiwobCYxMDIzKSs1NjMyMCkpKTp1KCksZi5sZW5ndGg+PTgxOTImJihrPW9hKGssZiksZi5sZW5ndGg9MCk7aD1vYShrLGYpfUgoYixFKGIpLGMsaCk7cmV0dXJuITB9LCExKSxTYj1uZXcgTChmdW5jdGlvbihhLGIsYyxkLGYpe2lmKGEuaSE9PVxuMilyZXR1cm4hMTtIYihhLHhiKGIsZCxjLCEwKSxmKTtyZXR1cm4hMH0sITApLFliPW5ldyBMKGZ1bmN0aW9uKGEsYixjLGQsZil7aWYoYS5pIT09MilyZXR1cm4hMTtIYihhLHhiKGIsZCxjKSxmKTtyZXR1cm4hMH0sITApLE49bmV3IEwoZnVuY3Rpb24oYSxiLGMpe2lmKGEuaSE9PTApcmV0dXJuITE7YT1KKGEuZyk7SChiLEUoYiksYyxhKTtyZXR1cm4hMH0sITEpO3ZhciBkYz1bMCxuZXcgTChmdW5jdGlvbihhLGIsYyl7aWYoYS5pIT09MClyZXR1cm4hMTt2YXIgZD1hLmcsZj0wLGU9YT0wLGc9ZC5qLGg9ZC5nO2Rve3ZhciBrPWdbaCsrXTtmfD0oayYxMjcpPDxlO2UrPTd9d2hpbGUoZTwzMiYmayYxMjgpO2U+MzImJihhfD0oayYxMjcpPj40KTtmb3IoZT0zO2U8MzImJmsmMTI4O2UrPTcpaz1nW2grK10sYXw9KGsmMTI3KTw8ZTtJKGQsaCk7aWYoazwxMjgpe2Q9Zj4+PjA7az1hPj4+MDtpZihhPWsmMjE0NzQ4MzY0OClkPX5kKzE+Pj4wLGs9fms+Pj4wLGQ9PTAmJihrPWsrMT4+PjApO2Q9ayo0Mjk0OTY3Mjk2KyhkPj4+MCl9ZWxzZSB0aHJvdyBFcnJvcihcInNcIik7YT1hPy1kOmQ7SChiLEUoYiksYyxhPT09MD92b2lkIDA6YSk7cmV0dXJuITB9LCExKSxuZXcgTChmdW5jdGlvbihhLGIsYyl7aWYoYS5pIT09MClyZXR1cm4hMTthPUooYS5nKTtIKGIsRShiKSxjLGE9PT0wP3ZvaWQgMDphKTtyZXR1cm4hMH0sITEpXTt2YXIgTz1mdW5jdGlvbihhLGIpe3RoaXMuZz1hO3RoaXMudHlwZT1ifTtcbnZhciBQPWZ1bmN0aW9uKGEpe3RoaXMuZz1hfTtQLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmd9O3ZhciBlYz1uZXcgUChcImFib3V0OmludmFsaWQjekNsb3N1cmV6XCIpO3ZhciBmYz1mdW5jdGlvbihhKXt0aGlzLnJhPWF9O2Z1bmN0aW9uIFEoYSl7cmV0dXJuIG5ldyBmYyhmdW5jdGlvbihiKXtyZXR1cm4gYi5zdWJzdHIoMCxhLmxlbmd0aCsxKS50b0xvd2VyQ2FzZSgpPT09YStcIjpcIn0pfXZhciBnYz1bUShcImRhdGFcIiksUShcImh0dHBcIiksUShcImh0dHBzXCIpLFEoXCJtYWlsdG9cIiksUShcImZ0cFwiKSxuZXcgZmMoZnVuY3Rpb24oYSl7cmV0dXJuL15bXjpdKihbLz8jXXwkKS8udGVzdChhKX0pXSxoYz0vXlxccyooPyFqYXZhc2NyaXB0OikoPzpbXFx3Ky4tXSs6fFteOi8/I10qKD86Wy8/I118JCkpL2k7ZnVuY3Rpb24gaWMoYSl7aWYoYSBpbnN0YW5jZW9mIFApaWYoYSBpbnN0YW5jZW9mIFApYT1hLmc7ZWxzZSB0aHJvdyBFcnJvcihcIndcIik7ZWxzZSBhPWhjLnRlc3QoYSk/YTp2b2lkIDA7cmV0dXJuIGF9O3ZhciBqYz0hRWEmJiF6YSgpLGtjPWZ1bmN0aW9uKGEpe2lmKC8tW2Etel0vLnRlc3QoXCJ2ZWRcIikpcmV0dXJuIG51bGw7aWYoamMmJmEuZGF0YXNldCl7aWYoQmEoKSYmIShcInZlZFwiaW4gYS5kYXRhc2V0KSlyZXR1cm4gbnVsbDthPWEuZGF0YXNldC52ZWQ7cmV0dXJuIGE9PT12b2lkIDA/bnVsbDphfXJldHVybiBhLmdldEF0dHJpYnV0ZShcImRhdGEtXCIrXCJ2ZWRcIi5yZXBsYWNlKC8oW0EtWl0pL2csXCItJDFcIikudG9Mb3dlckNhc2UoKSl9O3ZhciBsYz1mdW5jdGlvbigpe3RoaXMuZz1bXTt0aGlzLmk9XCJcIn0sbWM9ZnVuY3Rpb24oYSxiKXt2YXIgYz1cIlwiO2ImJihjPXR5cGVvZiBiPT09XCJzdHJpbmdcIj9iOmdvb2dsZS5nZXRFSShiKSk7cmV0dXJuIGMmJmMhPT1hLmk/YzpcIlwifTt2YXIgbmM9ZnVuY3Rpb24oYSxiKXt0aGlzLmc9YTt0aGlzLmk9Yn0sb2M9bmV3IG5jKGVuY29kZVVSSUNvbXBvbmVudCxmdW5jdGlvbihhKXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGEucmVwbGFjZSgvXFwrL2csXCIlMjBcIikpfSk7ZnVuY3Rpb24gcGMoYSl7cmV0dXJuIG5ldyBSZWdFeHAoXCIlKD86XCIrZW5jb2RlVVJJQ29tcG9uZW50KGEpLnN1YnN0cigxKS5yZXBsYWNlKC8lL2csXCJ8XCIpK1wiKVwiLFwiZ1wiKX12YXIgcWM9cGMoXCIkLC86Oz9AW11eYHt8fVwiKTtwYyhcIj0mJCwvOjtAW11eYHt8fVwiKTt2YXIgcmM9bmV3IG5jKGZ1bmN0aW9uKGEpe3JldHVybiBvYy5nKGEpLnJlcGxhY2UocWMsZGVjb2RlVVJJQ29tcG9uZW50KX0sb2MuaSk7ZnVuY3Rpb24gUihhLGIpe2I9Yj09PXZvaWQgMD97fTpiO3NjKHtUOmIuVCxQOmIuUCxBOmIuQSxxYTphLGRhdGE6Yi5kYXRhfSl9ZnVuY3Rpb24gUyhhLGIpe2I9Yj09PXZvaWQgMD97fTpiO3NjKHtUOmEsUDpiLlAsQTpiLkEsZGF0YTpiLmRhdGF9KX1cbmZ1bmN0aW9uIHNjKGEpe3ZhciBiPWEuVDt2YXIgYz1hLlA7dmFyIGQ9YS5BO3ZhciBmPWEucWE7YT1hLmRhdGE7dmFyIGU9Yj9nb29nbGUuZ2V0RUkoYik6Z29vZ2xlLmtFSSxnPW5ldyB0YyhlKTtiJiYoYj1iP2tjKGIpfHxcIlwiOlwiXCIsVChnLFwidmVkXCIsYikpO2MhPT12b2lkIDAmJlQoZyxcImljdHhcIixTdHJpbmcoYykpO2QmJlQoZyxcInVhY3RcIixTdHJpbmcoZCkpO2lmKGYpe2M9bmV3IGxjO2ZvcihkPTA7Yj1mW2QrK107KXt2YXIgaD0oaD1iLmcpP2tjKGgpfHxcIlwiOlwiXCI7dmFyIGs9Yi5nO2MuZy5wdXNoKHtzYTpoLHRhcmdldEVsZW1lbnQ6az09PXZvaWQgMD9cIlwiOmsscGE6Yi50eXBlfSl9Yy5pPWU7Zj1bXTtmb3IoZT0wO2Q9Yy5nW2UrK107KXt2YXIgbD1kO2Q9bC5zYTtiPWwucGE7aD1sLnVhO3ZhciBtPWwudGE7az1sLnlhO2w9bWMoYyxsLnRhcmdldEVsZW1lbnQpO209bWMoYyxtKTtzd2l0Y2goYil7Y2FzZSBcInNob3dcIjpmLnB1c2goZCtcIi5cIitsK1wiLnNcIik7YnJlYWs7Y2FzZSBcImluc2VydFwiOmYucHVzaChkK1xuXCIuXCIrbCtcIi5pXCIrKG0/XCIuMC5cIitoK1wiLlwiK206XCJcIikpO2JyZWFrO2Nhc2UgXCJkZWR1cGUtaW5zZXJ0XCI6Zi5wdXNoKGQrXCIuXCIrbCtcIi5pXCIrKG0/XCIuMS5cIitoK1wiLlwiK206XCIuMVwiKSk7YnJlYWs7Y2FzZSBcImhpZGVcIjpmLnB1c2goZCtcIi5cIitsK1wiLmhcIik7YnJlYWs7Y2FzZSBcImNvcHlcIjpmLnB1c2goXCIuXCIraytcIi5jXCIpfX1UKGcsXCJ2ZXRcIixmLmxlbmd0aD9cIjFcIitmLmpvaW4oXCI7XCIpOlwiXCIpfWdvb2dsZS5rQkwmJlQoZyxcImJsXCIsZ29vZ2xlLmtCTCk7Z29vZ2xlLnNuJiZUKGcsXCJzXCIsZ29vZ2xlLnNuKTtpZihhKWZvcih2YXIgbiBpbiBhKVQoZyxuLGFbbl0pO2cubG9nKCl9dmFyIHRjPWZ1bmN0aW9uKGEpe3RoaXMudXJpPVwiL2dlbl8yMDQ/ZWk9XCIrcmMuZyhhKX0sVD1mdW5jdGlvbihhLGIsYyl7YS51cmkrPVwiJlwiK2IrXCI9XCIrcmMuZyhjKX07dGMucHJvdG90eXBlLmxvZz1mdW5jdGlvbigpe3dpbmRvdy5uYXZpZ2F0b3Iuc2VuZEJlYWNvbj93aW5kb3cubmF2aWdhdG9yLnNlbmRCZWFjb24odGhpcy51cmksXCJcIik6Z29vZ2xlLmxvZyhcIlwiLFwiXCIsdGhpcy51cmkpfTt2YXIgdWM9WzAsTixjYywtMSxOXTt2YXIgdmM9WzAsTiwtMV07dmFyIFU9ZnVuY3Rpb24oYSl7dGhpcy5CPW1iKGEpfTtVLnByb3RvdHlwZT1mYShLLnByb3RvdHlwZSk7VS5wcm90b3R5cGUuY29uc3RydWN0b3I9VTtpZihsYSlsYShVLEspO2Vsc2UgZm9yKHZhciBWIGluIEspaWYoViE9XCJwcm90b3R5cGVcIilpZihPYmplY3QuZGVmaW5lUHJvcGVydGllcyl7dmFyIHdjPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSyxWKTt3YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KFUsVix3Yyl9ZWxzZSBVW1ZdPUtbVl07dmFyIHhjPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGZ1bmN0aW9uKGMsZCl7aWYoSWIubGVuZ3RoKXt2YXIgZj1JYi5wb3AoKTtEYihmLGQpO3piKGYuZyxjLGQpO2M9Zn1lbHNlIGM9bmV3IEViKGMsZCk7dHJ5e3ZhciBlPW5ldyBhLGc9ZS5CO01iKGIpKGcsYyk7dmFyIGg9ZX1maW5hbGx5e2MuZy5jbGVhcigpLGMubD0tMSxjLmk9LTEsSWIubGVuZ3RoPDEwMCYmSWIucHVzaChjKX1yZXR1cm4gaH19KFUsWzAsTix1YyxkYyx2YyxOXSk7dmFyIHljPWZ1bmN0aW9uKCl7dGhpcy5nPSh0eXBlb2YgZG9jdW1lbnQ9PVwidW5kZWZpbmVkXCI/bnVsbDpkb2N1bWVudCl8fHtjb29raWU6XCJcIn19LEFjPWZ1bmN0aW9uKCl7dmFyIGE9VztpZighdC5uYXZpZ2F0b3IuY29va2llRW5hYmxlZClyZXR1cm4hMTtpZihhLmcuY29va2llKXJldHVybiEwO2Euc2V0KFwiVEVTVENPT0tJRVNFTkFCTEVEXCIsXCIxXCIse1I6NjB9KTtpZihhLmdldChcIlRFU1RDT09LSUVTRU5BQkxFRFwiKSE9PVwiMVwiKXJldHVybiExO3pjKGEsXCJURVNUQ09PS0lFU0VOQUJMRURcIik7cmV0dXJuITB9O3ljLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSExO2lmKHR5cGVvZiBjPT09XCJvYmplY3RcIil7dmFyIGY9Yy53YTtkPWMueGF8fCExO3ZhciBlPWMuZG9tYWlufHx2b2lkIDA7dmFyIGc9Yy5wYXRofHx2b2lkIDA7dmFyIGg9Yy5SfWlmKC9bOz1cXHNdLy50ZXN0KGEpKXRocm93IEVycm9yKFwieGBcIithKTtpZigvWztcXHJcXG5dLy50ZXN0KGIpKXRocm93IEVycm9yKFwieWBcIitiKTtoPT09dm9pZCAwJiYoaD0tMSk7dGhpcy5nLmNvb2tpZT1hK1wiPVwiK2IrKGU/XCI7ZG9tYWluPVwiK2U6XCJcIikrKGc/XCI7cGF0aD1cIitnOlwiXCIpKyhoPDA/XCJcIjpoPT0wP1wiO2V4cGlyZXM9XCIrKG5ldyBEYXRlKDE5NzAsMSwxKSkudG9VVENTdHJpbmcoKTpcIjtleHBpcmVzPVwiKyhuZXcgRGF0ZShEYXRlLm5vdygpK2gqMUUzKSkudG9VVENTdHJpbmcoKSkrKGQ/XCI7c2VjdXJlXCI6XCJcIikrKGYhPW51bGw/XCI7c2FtZXNpdGU9XCIrZjpcIlwiKX07eWMucHJvdG90eXBlLmdldD1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1hK1wiPVwiLGQ9KHRoaXMuZy5jb29raWV8fFwiXCIpLnNwbGl0KFwiO1wiKSxmPTAsZTtmPGQubGVuZ3RoO2YrKyl7ZT10YShkW2ZdKTtpZihlLmxhc3RJbmRleE9mKGMsMCk9PTApcmV0dXJuIGUuc2xpY2UoYy5sZW5ndGgpO2lmKGU9PWEpcmV0dXJuXCJcIn1yZXR1cm4gYn07dmFyIHpjPWZ1bmN0aW9uKGEsYil7YS5nZXQoYik7YS5zZXQoYixcIlwiLHtSOjAscGF0aDp2b2lkIDAsZG9tYWluOnZvaWQgMH0pfTt5Yy5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXtmb3IodmFyIGE9KHRoaXMuZy5jb29raWV8fFwiXCIpLnNwbGl0KFwiO1wiKSxiPVtdLGM9W10sZCxmLGU9MDtlPGEubGVuZ3RoO2UrKylmPXRhKGFbZV0pLGQ9Zi5pbmRleE9mKFwiPVwiKSxkPT0tMT8oYi5wdXNoKFwiXCIpLGMucHVzaChmKSk6KGIucHVzaChmLnN1YnN0cmluZygwLGQpKSxjLnB1c2goZi5zdWJzdHJpbmcoZCsxKSkpO2ZvcihhPWIubGVuZ3RoLTE7YT49MDthLS0pemModGhpcyxiW2FdKX07dmFyIFc9bmV3IHljO3ZhciBCYzt2YXIgWD1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudDtyZXR1cm4gdHlwZW9mIGE9PT1cInN0cmluZ1wiP2IuZ2V0RWxlbWVudEJ5SWQoYSk6YX0sQ2M9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuY2hpbGRyZW4hPXZvaWQgMD9hLmNoaWxkcmVuOkFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChhLmNoaWxkTm9kZXMsZnVuY3Rpb24oYil7cmV0dXJuIGIubm9kZVR5cGU9PTF9KX0sRGM9ZnVuY3Rpb24oYSl7dmFyIGI7aWYoYj1hLnBhcmVudEVsZW1lbnQpcmV0dXJuIGI7Yj1hLnBhcmVudE5vZGU7YT10eXBlb2YgYjtyZXR1cm4oYT09XCJvYmplY3RcIiYmYiE9bnVsbHx8YT09XCJmdW5jdGlvblwiKSYmYi5ub2RlVHlwZT09MT9iOm51bGx9O3ZhciBFYz1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGEuY2xhc3NOYW1lPT1cInN0cmluZ1wiP2EuY2xhc3NOYW1lOmEuZ2V0QXR0cmlidXRlJiZhLmdldEF0dHJpYnV0ZShcImNsYXNzXCIpfHxcIlwifSxGYz1mdW5jdGlvbihhLGIpe3R5cGVvZiBhLmNsYXNzTmFtZT09XCJzdHJpbmdcIj9hLmNsYXNzTmFtZT1iOmEuc2V0QXR0cmlidXRlJiZhLnNldEF0dHJpYnV0ZShcImNsYXNzXCIsYil9LEdjPWZ1bmN0aW9uKGEsYil7YS5jbGFzc0xpc3Q/Yj1hLmNsYXNzTGlzdC5jb250YWlucyhiKTooYT1hLmNsYXNzTGlzdD9hLmNsYXNzTGlzdDpFYyhhKS5tYXRjaCgvXFxTKy9nKXx8W10sYj1DYShhLGIpPj0wKTtyZXR1cm4gYn0sSGM9ZnVuY3Rpb24oYSxiKXtpZihhLmNsYXNzTGlzdClhLmNsYXNzTGlzdC5hZGQoYik7ZWxzZSBpZighR2MoYSxiKSl7dmFyIGM9RWMoYSk7RmMoYSxjKyhjLmxlbmd0aD4wP1wiIFwiK2I6YikpfX0sSWM9ZnVuY3Rpb24oYSxiKXthLmNsYXNzTGlzdD9hLmNsYXNzTGlzdC5yZW1vdmUoYik6R2MoYSxiKSYmRmMoYSxBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoYS5jbGFzc0xpc3Q/YS5jbGFzc0xpc3Q6RWMoYSkubWF0Y2goL1xcUysvZyl8fFtdLGZ1bmN0aW9uKGMpe3JldHVybiBjIT1ifSkuam9pbihcIiBcIikpfTtmdW5jdGlvbiBKYyhhKXthJiZzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS5mb2N1cygpfSw1MDApfWZ1bmN0aW9uIEtjKGEpe3VYSlN8fCgoZ29vZ2xlLmJ4PWEpfHxnb29nbGUubHgoKSxnb29nbGUubG9nKFwiYnhqc1wiLFwiJmI9XCIrKGE/MDoxKSkpfVxudmFyIExjPWZ1bmN0aW9uKCl7dGhpcy5IPSExO3RoaXMuVT10aGlzLnY9MDt0aGlzLmdhPXRoaXMuTj0hMTt0aGlzLmphPSEwO3RoaXMuSj10aGlzLmthPXRoaXMuTD0hMTt0aGlzLlY9W107dGhpcy5NPW51bGw7dGhpcy5pPVgoXCJ4ZTdDT2VcIik7dGhpcy5YPVgoXCJLamNIUGNcIik7dGhpcy5XPVgoXCJMMkFHTGJcIik7dGhpcy5hYT1YKFwiVzB3bHRjXCIpO3RoaXMuZGE9WChcIlZuakNjYlwiKTt0aGlzLkY9WChcInZjM2pvZlwiKTt0aGlzLmo9WChcInRiVHViZFwiKTt0aGlzLmxhPVgoXCJna3NTMWRcIik7dGhpcy5pYT1YKFwiUlAzVjVjXCIpO3RoaXMubWE9WChcIkhRMWxiXCIpO3RoaXMuZmE9WChcInJHRFNuYlwiKTt0aGlzLmw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJLQnlReFwiKTt0aGlzLmc9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJqWWZYTWJcIik7dGhpcy5ZPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwidU1vdXNjXCIpO3RoaXMuZWE9WChcIkNYUW5tYlwiKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcIkhJaFB4ZlwiKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInNOQ1FiXCIpO3RoaXMuSz10aGlzLmoucXVlcnlTZWxlY3RvckFsbChcImxpXCIpO3RoaXMuaGE9dGhpcy5LLmxlbmd0aC0xO3RoaXMuRz10aGlzLmkucXVlcnlTZWxlY3RvckFsbChcImEsIGJ1dHRvblwiKTt0aGlzLlo9dGhpcy5HLmxlbmd0aC0xfSxNYz1mdW5jdGlvbihhLGIpe2Iuc3RvcFByb3BhZ2F0aW9uKCk7Yi5wcmV2ZW50RGVmYXVsdCgpO1MoYS5qLHtBOjN9KTtpZihiLnRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQmJihTKGIudGFyZ2V0LHtBOjN9KSxhPWIudGFyZ2V0LmdldEF0dHJpYnV0ZShcImRhdGEtaGxcIikpKXtiPWVuY29kZVVSSUNvbXBvbmVudChcImhsXCIpO2E9ZW5jb2RlVVJJQ29tcG9uZW50KGEpO2Zvcih2YXIgYz1kb2N1bWVudC5sb2NhdGlvbi5zZWFyY2g9PT1cIlwiP1tdOmRvY3VtZW50LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSkuc3BsaXQoXCImXCIpLGQ9MDtkPGMubGVuZ3RoO2QrKylpZihjW2RdLmluZGV4T2YoYitcIj1cIikhPT1cbi0xKXt2YXIgZj1jW2RdLnNwbGl0KFwiPVwiKTtmWzFdPWE7Y1tkXT1mLmpvaW4oXCI9XCIpO2JyZWFrfWQ+PWMubGVuZ3RoJiYoY1tjLmxlbmd0aF09W2IsYV0uam9pbihcIj1cIikpO3ZhciBlPWU9PT12b2lkIDA/Z2M6ZTthOmlmKGE9bG9jYXRpb24ucHJvdG9jb2wrXCIvL1wiK2xvY2F0aW9uLmhvc3QrbG9jYXRpb24ucGF0aG5hbWUrXCI/XCIrYy5qb2luKFwiJlwiKStsb2NhdGlvbi5oYXNoLGU9ZT09PXZvaWQgMD9nYzplLCEoYSBpbnN0YW5jZW9mIFApKXtmb3IoYj0wO2I8ZS5sZW5ndGg7KytiKWlmKGM9ZVtiXSxjIGluc3RhbmNlb2YgZmMmJmMucmEoYSkpe2E9bmV3IFAoYSk7YnJlYWsgYX1hPXZvaWQgMH1lPWxvY2F0aW9uO2E9aWMoYXx8ZWMpO2EhPT12b2lkIDAmJmUucmVwbGFjZShhKX19LFk9ZnVuY3Rpb24oYSxiLGMpe2EuTj0hMDtiLmNvZGU9PT1cIkVudGVyXCImJmMoKX0sT2M9ZnVuY3Rpb24oYSl7YS5ZJiZhLmcmJihhLmcuc2Nyb2xsVG9wPjA/YS5MfHwoSGMoYS5ZLFwiWWVNVHRcIiksYS5MPVxuITApOmEuTCYmKEljKGEuWSxcIlllTVR0XCIpLGEuTD0hMSkpO2EubCYmYS5qYSYmYS5nJiYoYS5nLnNjcm9sbEhlaWdodC0oYS5nLnNjcm9sbFRvcCthLmcuY2xpZW50SGVpZ2h0KzkwKTwxJiZOYyhhKSxhLmdhfHwoUyhhLmcse0E6MjB9KSxOYyhhKSkpfSxOYz1mdW5jdGlvbihhKXthLmwuc3R5bGUuaGVpZ2h0PVwiMFwiO2EubC5zdHlsZS5vcGFjaXR5PVwiMFwiO2EubC5zdHlsZS5vdmVyZmxvdz1cImhpZGRlblwiO2EuamE9ITF9LFBjPWZ1bmN0aW9uKGEsYil7aWYoIWlTUil7dmFyIGM7dmFyIGQ9KGM9c0wpIT1udWxsP2M6MzQxMjhFMztXLnNldChcIlNPQ1NcIixiP3NDQVM6c0NSUyx7ZG9tYWluOmNvb2tpZURvbWFpbixwYXRoOlwiL1wiLFI6ZH0pfWQ9bmV3IFhNTEh0dHBSZXF1ZXN0O2Qub3BlbihcIlBPU1RcIixiP2FBVTpyQVUpO2Qud2l0aENyZWRlbnRpYWxzPSEwO2Quc2VuZCgpO2EuY2xvc2UoKX0sUWM9ZnVuY3Rpb24oYSl7dVdDfHxTKGEuYWEse0E6M30pO1BjKGEsITEpfSxSYz1mdW5jdGlvbihhKXt1V0N8fFxuUyhhLlcse0E6M30pO3NFRT9QYyhhLCExKTpQYyhhLCEwKX07TGMucHJvdG90eXBlLmNsb3NlPWZ1bmN0aW9uKCl7U2ModGhpcyk7dVdDfHxLYyghMSl9O3ZhciBaPWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/bnVsbDpjO2ImJmIhPT12b2lkIDAmJihhLnByZXZlbnREZWZhdWx0KCksUyhiLHtBOjN9KSxiPWN8fGIuZ2V0QXR0cmlidXRlKFwiaHJlZlwiKSxhPXdpbmRvdy5sb2NhdGlvbixiPWljKGIpLGIhPT12b2lkIDAmJihhLmhyZWY9YikpfSxUYz1mdW5jdGlvbihhLGIpe2I9PW51bGx8fGIuc3RvcFByb3BhZ2F0aW9uKCk7YS5qJiZhLkYmJiFhLkgmJihhLmouc3R5bGUuZGlzcGxheT1cImJsb2NrXCIsYS5IPSEwLGEuTiYmSmMoYS5qLnF1ZXJ5U2VsZWN0b3IoXCJsaVwiKSksYS5GLnNldEF0dHJpYnV0ZShcImFyaWEtZXhwYW5kZWRcIixcInRydWVcIiksUihbbmV3IE8oYS5qLFwic2hvd1wiKV0se1Q6YS5GfSkpfSxVYz1mdW5jdGlvbihhKXthLmomJmEuRiYmKGEuai5zdHlsZS5kaXNwbGF5PVwibm9uZVwiLGEuSD0hMSxhLk4mJmEuRi5mb2N1cygpLFIoW25ldyBPKGEuaixcImhpZGVcIildKSxhLkYuc2V0QXR0cmlidXRlKFwiYXJpYS1leHBhbmRlZFwiLFwiZmFsc2VcIikpfSxTYz1mdW5jdGlvbihhKXthLmkmJihhLmkuc3R5bGUuZGlzcGxheSE9PVwibm9uZVwiJiYoYS5pLnN0eWxlLmRpc3BsYXk9XCJub25lXCIpLGEuTSYmYS5NPjAmJlIoW25ldyBPKGEuaSxcImhpZGVcIildLHtkYXRhOntjZG90OlN0cmluZyhEYXRlLm5vdygpLWEuTSl9fSksYS5KPSExLFZjKGEpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJmb2N1c2luXCIsZnVuY3Rpb24oKXtXYyhhKX0pLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJET01Db250ZW50TG9hZGVkXCIsZnVuY3Rpb24oKXtYYyhhKX0pKX0sJGM9ZnVuY3Rpb24oKXt2YXIgYT1ZYzshYS5pfHxzcnAmJiFhLmthfHwoYS5pLnN0eWxlLmRpc3BsYXk9XCJibG9ja1wiLGEuTT1EYXRlLm5vdygpLHVXQ3x8UihbbmV3IE8oYS5pLFwic2hvd1wiKV0se2RhdGE6e2dsOmdMLHBjOnBDLGlzTW9iaWxlOlN0cmluZyhpc01vYmlsZSl9fSksYS5pLmZvY3VzKCksWmMoYSksYS5sJiZhLmcmJihhLlU9YS5nLmNsaWVudEhlaWdodC1cbjkwLGEuZy5zY3JvbGxIZWlnaHQ+YS5VJiYoYS5sLnN0eWxlLmRpc3BsYXk9XCJmbGV4XCIsUihbbmV3IE8oYS5sLFwic2hvd1wiKV0pKSksYS5KPSEwLFZjKGEpKX0sVmM9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQuYm9keTthLko/KEhjKGIsXCJFTTFNcmJcIiksYWQoYSkpOihJYyhiLFwiRU0xTXJiXCIpLGJkKGEpKX0sYmQ9ZnVuY3Rpb24oYSl7RGEoYS5WLGZ1bmN0aW9uKGIpe2IucmVtb3ZlQXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIil9KTthLlY9W119LGFkPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1hLmk7YiYmYiE9PWRvY3VtZW50LmJvZHk7KXt2YXIgYz1EYyhiKTtpZihjKXt2YXIgZD1DYyhjKTtEYShkLGZ1bmN0aW9uKGYpe3ZhciBlO2lmKGU9ZiYmZiE9PWIpZT1mLmdldEF0dHJpYnV0ZShcImFyaWEtaGlkZGVuXCIpLGU9IShlPT1udWxsfHxlPT12b2lkIDA/MDpTdHJpbmcoZSkpO2UmJihlPSEwLEFycmF5LmlzQXJyYXkoZSkmJihlPWUuam9pbihcIiBcIikpLGU9PT1cIlwifHxlPT12b2lkIDA/KEJjfHwoZT17fSxCYz0oZS5hdG9taWM9ITEsZS5hdXRvY29tcGxldGU9XCJub25lXCIsZS5kcm9wZWZmZWN0PVwibm9uZVwiLGUuaGFzcG9wdXA9ITEsZS5saXZlPVwib2ZmXCIsZS5tdWx0aWxpbmU9ITEsZS5tdWx0aXNlbGVjdGFibGU9ITEsZS5vcmllbnRhdGlvbj1cInZlcnRpY2FsXCIsZS5yZWFkb25seT0hMSxlLnJlbGV2YW50PVwiYWRkaXRpb25zIHRleHRcIixlLnJlcXVpcmVkPSExLGUuc29ydD1cIm5vbmVcIixlLmJ1c3k9ITEsZS5kaXNhYmxlZD0hMSxlLmhpZGRlbj0hMSxlLmludmFsaWQ9XCJmYWxzZVwiLGUpKSxlPUJjLFwiaGlkZGVuXCJpbiBlP2Yuc2V0QXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIixlLmhpZGRlbik6Zi5yZW1vdmVBdHRyaWJ1dGUoXCJhcmlhLWhpZGRlblwiKSk6Zi5zZXRBdHRyaWJ1dGUoXCJhcmlhLWhpZGRlblwiLGUpLGEuVi5wdXNoKGYpKX0sYSl9Yj1jfX0sV2M9ZnVuY3Rpb24oYSl7YS5KJiZDYShhLkcsZG9jdW1lbnQuYWN0aXZlRWxlbWVudCk8MCYmQ2EoYS5LLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpPFxuMCYmZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PWEuaSYmYS5HWzBdLmZvY3VzKCl9LFhjPWZ1bmN0aW9uKGEpe2EuSiYmYWQoYSk7YS5lYSYmYS5lYS5zY3JvbGxJbnRvVmlldygpfSxaYz1mdW5jdGlvbihhKXtpZihhLmkpe3ZhciBiPWEuaTtiLm9uY2xpY2s9ZnVuY3Rpb24oKXthLkgmJlVjKGEpfTtiLm9ua2V5ZG93bj1mdW5jdGlvbihnKXshYS5KfHxhLlo8MHx8KGcuY29kZT09PVwiRXNjYXBlXCImJiFhLkgmJmEuZmEmJlMoYS5mYSx7QTozMn0pLGcuc2hpZnRLZXl8fGcuY29kZSE9PVwiVGFiXCJ8fGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT1hLkdbYS5aXXx8KGcucHJldmVudERlZmF1bHQoKSxhLkdbMF0uZm9jdXMoKSksIWcuc2hpZnRLZXl8fGcuY29kZSE9PVwiVGFiXCJ8fGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT1hLkdbMF0mJmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT1hLml8fChnLnByZXZlbnREZWZhdWx0KCksYS5HW2EuWl0uZm9jdXMoKSkpfX1kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwiZm9jdXNpblwiLGZ1bmN0aW9uKCl7V2MoYSl9KTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwiRE9NQ29udGVudExvYWRlZFwiLGZ1bmN0aW9uKCl7WGMoYSl9KTthLlgmJihhLlgub25jbGljaz1mdW5jdGlvbigpe1MoYS5YLHtBOjN9KTthLkgmJlVjKGEpfSk7YS5XJiYoYj1hLlcsYi5vbmNsaWNrPWZ1bmN0aW9uKCl7UmMoYSl9LGIub25rZXlkb3duPWZ1bmN0aW9uKGcpe1koYSxnLGZ1bmN0aW9uKCl7UmMoYSl9KX0pO2EuYWEmJihiPWEuYWEsYi5vbmNsaWNrPWZ1bmN0aW9uKCl7UWMoYSl9LGIub25rZXlkb3duPWZ1bmN0aW9uKGcpe1koYSxnLGZ1bmN0aW9uKCl7UWMoYSl9KX0pO2lmKGEuZGEpe3ZhciBjPWEuZGE7Yy5vbmNsaWNrPWZ1bmN0aW9uKGcpe1ooZyxjLGNVKX07Yy5vbmtleWRvd249ZnVuY3Rpb24oZyl7WShhLGcsZnVuY3Rpb24oKXtaKGcsYyxjVSl9KX19YS5GJiYoYj1hLkYsYi5vbmNsaWNrPWZ1bmN0aW9uKGcpe1RjKGEsZyl9LGIub25rZXlkb3duPWZ1bmN0aW9uKGcpe1koYSxnLGZ1bmN0aW9uKCl7VGMoYSxnKX0pfSk7YS5qJiYoYj1hLmosYi5vbmNsaWNrPWZ1bmN0aW9uKGcpe01jKGEsZyl9LGIub25rZXlkb3duPWZ1bmN0aW9uKGcpe2EuTj0hMDtpZihhLkgmJmcpc3dpdGNoKGcuY29kZSl7Y2FzZSBcIkFycm93RG93blwiOmEudj09PWEuaGE/YS52PTA6YS52Kys7YS5LW2Eudl0mJmEuS1thLnZdLmZvY3VzKCk7YnJlYWs7Y2FzZSBcIkFycm93VXBcIjphLnY9PT0wP2Eudj1hLmhhOmEudi0tO2EuS1thLnZdJiZhLktbYS52XS5mb2N1cygpO2JyZWFrO2Nhc2UgXCJFc2NhcGVcIjpjYXNlIFwiVGFiXCI6VWMoYSk7YnJlYWs7Y2FzZSBcIkVudGVyXCI6TWMoYSxnKX19KTtpZihhLmxhKXt2YXIgZD1hLmxhO2Qub25jbGljaz1mdW5jdGlvbihnKXtaKGcsZCxzSVUpfTtkLm9ua2V5ZG93bj1mdW5jdGlvbihnKXtZKGEsZyxmdW5jdGlvbigpe1ooZyxkLHNJVSl9KX19aWYoYS5pYSl7dmFyIGY9YS5pYTtmLm9uY2xpY2s9ZnVuY3Rpb24oZyl7WihnLGYpfTtmLm9ua2V5ZG93bj1mdW5jdGlvbihnKXtZKGEsZyxmdW5jdGlvbigpe1ooZyxmKX0pfX1pZihhLm1hKXt2YXIgZT1hLm1hO2Uub25jbGljaz1mdW5jdGlvbihnKXtaKGcsZSl9O2Uub25rZXlkb3duPWZ1bmN0aW9uKGcpe1koYSxnLGZ1bmN0aW9uKCl7WihnLGUpfSl9fWEubCYmYS5nJiYoYS5sLm9uY2xpY2s9ZnVuY3Rpb24oKXthLmwmJmEuZyYmKHVXQ3x8UyhhLmwse0E6M30pLGEuZy5zY3JvbGxUb3ArPWEuVSxhLmdhPSEwKX0sYj1hLmcsYi5vbnNjcm9sbD1mdW5jdGlvbigpe09jKGEpfSxiLm9ud2hlZWw9ZnVuY3Rpb24oKXtPYyhhKX0pfSxZYz1uZXcgTGMsY2Q7aWYoIShjZD0hZnVuY3Rpb24oKXt0cnl7aWYoIUFjKCkpcmV0dXJuITE7aWYoVy5nLmNvb2tpZSlyZXR1cm4hMDtXLnNldChcIlRFU1RDT09LSUVTRU5BQkxFRFwiLFwiMVwiLHtSOjYwfSk7aWYoVy5nZXQoXCJURVNUQ09PS0lFU0VOQUJMRURcIikhPVwiMVwiKXJldHVybiExO3pjKFcsXCJURVNUQ09PS0lFU0VOQUJMRURcIik7cmV0dXJuITB9Y2F0Y2goYSl7cmV0dXJuITF9fSgpKSl7dmFyIGRkO2lmKGRkPSFpU1IpYTp7dmFyIElhPVcuZ2V0KFwiU09DU1wiKTtpZihJYSl0cnl7dmFyIGVkLGZkLGdkPXhjKEphKCkpLkI7ZmQ9d2IoZ2QsRShnZCksMSk7dmFyIGhkO2ZkPT1udWxsP2hkPWZkOmhkPU51bWJlci5pc0Zpbml0ZShmZCk/ZmR8MDp2b2lkIDA7ZWQ9aGQ7ZGQ9ZWQ9PT0xfHxlZD09PTI7YnJlYWsgYX1jYXRjaChhKXt9ZGQ9ITF9Y2Q9ZGR9Y2Q/U2MoWWMpOihLYyghdVdDKSxzcnA/WWMua2E9ITA6JGMoKSk7Z29vZ2xlLmNpcz1nb29nbGUuY2lzfHx7fTtnb29nbGUuY2lzLnNkPWZ1bmN0aW9uKCl7JGMoKX07Z29vZ2xlLmNpcy5oZD1mdW5jdGlvbigpe1NjKFljKTtLYyghMSl9O30pKCk7PC9zY3JpcHQ+PHNwYW4gc3R5bGU9XCJkaXNwbGF5Om5vbmVcIj48c3BhbiBqc2NvbnRyb2xsZXI9XCJEaFBZbWVcIiBzdHlsZT1cImRpc3BsYXk6bm9uZVwiIGRhdGEtYXRzZD1cIjEwXCIgZGF0YS1kYj1cIjFcIiBkYXRhLW1tY250PVwiMTAwXCIganNhY3Rpb249XCJyY3VRNmI6bnBUMm1kXCI+PC9zcGFuPjwvc3Bhbj48c2NyaXB0IG5vbmNlPVwiYUE3VmEtYmVlaElMc2wyaEZsUHQtZ1wiPnRoaXMuZ2Jhcl89dGhpcy5nYmFyX3x8e307KGZ1bmN0aW9uKF8pe3ZhciB3aW5kb3c9dGhpcztcbnRyeXtcbl8udmQ9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhLmopaWYoYyBpbnN0YW5jZW9mIEFycmF5KWZvcih2YXIgZCBvZiBjKV8udmQoYSxiLGQpO2Vsc2V7ZD0oMCxfLnopKGEuQyxhLGIpO2NvbnN0IGU9YS52K2M7YS52Kys7Yi5kYXRhc2V0LmVxaWQ9ZTthLkJbZV09ZDtiJiZiLmFkZEV2ZW50TGlzdGVuZXI/Yi5hZGRFdmVudExpc3RlbmVyKGMsZCwhMSk6YiYmYi5hdHRhY2hFdmVudD9iLmF0dGFjaEV2ZW50KFwib25cIitjLGQpOmEuby5sb2coRXJyb3IoXCJ6YFwiK2IpKX19O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgd2Q9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5nYl9rIC5nYl9kXCIpLHhkPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIjZ2IuZ2JfUGNcIik7d2QmJiF4ZCYmXy52ZChfLmZkLHdkLFwiY2xpY2tcIik7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8udWg9ZnVuY3Rpb24oYSl7Y29uc3QgYj1bXTtsZXQgYz0wO2Zvcihjb25zdCBkIGluIGEpYltjKytdPWFbZF07cmV0dXJuIGJ9O18udmg9ZnVuY3Rpb24oYSl7aWYoYS52KXJldHVybiBhLnY7Zm9yKGNvbnN0IGIgaW4gYS5pKWlmKGEuaVtiXS5xYSgpJiZhLmlbYl0uQigpKXJldHVybiBhLmlbYl07cmV0dXJuIG51bGx9O18ud2g9ZnVuY3Rpb24oYSxiKXthLmlbYi5LKCldPWJ9O3ZhciB4aD1uZXcgY2xhc3MgZXh0ZW5kcyBfLlJ7Y29uc3RydWN0b3IoKXt2YXIgYT1fLlBjO3N1cGVyKCk7dGhpcy5CPWE7dGhpcy52PW51bGw7dGhpcy5vPXt9O3RoaXMuQz17fTt0aGlzLmk9e307dGhpcy5qPW51bGx9QShhKXt0aGlzLmlbYV0mJihfLnZoKHRoaXMpJiZfLnZoKHRoaXMpLksoKT09YXx8dGhpcy5pW2FdLlAoITApKX1YYShhKXt0aGlzLmo9YTtmb3IoY29uc3QgYiBpbiB0aGlzLmkpdGhpcy5pW2JdLnFhKCkmJnRoaXMuaVtiXS5YYShhKX1uYyhhKXtyZXR1cm4gYSBpbiB0aGlzLmk/dGhpcy5pW2FdOm51bGx9fTtfLmlkKFwiZGRcIix4aCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uUGk9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5NKGEsMzYsYil9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgUWk9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5nYl9iIC5nYl9kXCIpLFJpPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIjZ2IuZ2JfUGNcIik7UWkmJiFSaSYmXy52ZChfLmZkLFFpLFwiY2xpY2tcIik7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbn0pKHRoaXMuZ2Jhcl8pO1xuLy8gR29vZ2xlIEluYy5cbnRoaXMuZ2Jhcl89dGhpcy5nYmFyX3x8e307KGZ1bmN0aW9uKF8pe3ZhciB3aW5kb3c9dGhpcztcbnRyeXtcbnZhciB6ZDtfLnlkPWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBhO3JldHVybiBiPT1cIm9iamVjdFwiJiZhIT1udWxsfHxiPT1cImZ1bmN0aW9uXCJ9O3pkPWNsYXNzIGV4dGVuZHMgXy5qZHt9O18uQWQ9ZnVuY3Rpb24oYSxiKXtpZihiIGluIGEuaSlyZXR1cm4gYS5pW2JdO3Rocm93IG5ldyB6ZDt9O18uQmQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQWQoXy5nZC5pKCksYSl9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG4vKlxuXG4gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbiovXG52YXIgSGQsUmQsVGQ7Xy5DZD1mdW5jdGlvbihhKXtpZihhPT1udWxsKXJldHVybiBhO2lmKHR5cGVvZiBhPT09XCJzdHJpbmdcIil7aWYoIWEpcmV0dXJuO2E9K2F9aWYodHlwZW9mIGE9PT1cIm51bWJlclwiKXJldHVybiBOdW1iZXIuaXNGaW5pdGUoYSk/YXwwOnZvaWQgMH07Xy5EZD1mdW5jdGlvbihhKXtjb25zdCBiPWEubGVuZ3RoO2lmKGI+MCl7Y29uc3QgYz1BcnJheShiKTtmb3IobGV0IGQ9MDtkPGI7ZCsrKWNbZF09YVtkXTtyZXR1cm4gY31yZXR1cm5bXX07Xy5GZD1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5FZClyZXR1cm4gYS5pO3Rocm93IEVycm9yKFwiRFwiKTt9O0hkPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgR2QoYj0+Yi5zdWJzdHIoMCxhLmxlbmd0aCsxKS50b0xvd2VyQ2FzZSgpPT09YStcIjpcIil9O1xuXy5KZD1mdW5jdGlvbihhLGI9Xy5JZCl7aWYoYSBpbnN0YW5jZW9mIF8uRWQpcmV0dXJuIGE7Zm9yKGxldCBjPTA7YzxiLmxlbmd0aDsrK2Mpe2NvbnN0IGQ9YltjXTtpZihkIGluc3RhbmNlb2YgR2QmJmQuVmcoYSkpcmV0dXJuIG5ldyBfLkVkKGEpfX07Xy5MZD1mdW5jdGlvbihhKXtpZihLZC50ZXN0KGEpKXJldHVybiBhfTtfLk1kPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluc3RhbmNlb2YgXy5FZD9fLkZkKGEpOl8uTGQoYSl9O18uTmQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSk7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGQ9Yy5zbGljZSgpO2QucHVzaC5hcHBseShkLGFyZ3VtZW50cyk7cmV0dXJuIGEuYXBwbHkodGhpcyxkKX19O18uT2Q9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLnNiKGEsYixjLCExKSE9PXZvaWQgMH07Xy5QZD1mdW5jdGlvbihhLGIpe3JldHVybiBfLkNkKF8uRGMoYSxiKSl9O1xuXy5TPWZ1bmN0aW9uKGEsYil7YT1fLkRjKGEsYik7cmV0dXJuIGE9PW51bGw/YTpOdW1iZXIuaXNGaW5pdGUoYSk/YXwwOnZvaWQgMH07Xy5UPWZ1bmN0aW9uKGEsYixjPTApe3JldHVybiBfLnRiKF8uUGQoYSxiKSxjKX07Xy5RZD1mdW5jdGlvbihhLGIsYz0wKXtyZXR1cm4gXy50YihfLlMoYSxiKSxjKX07UmQ9MDtfLlNkPWZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxfLkhiKSYmYVtfLkhiXXx8KGFbXy5IYl09KytSZCl9O1RkPWZ1bmN0aW9uKGEpe3JldHVybiBhfTtfLlVkPWZ1bmN0aW9uKGEpe3ZhciBiPW51bGwsYz1fLnQudHJ1c3RlZFR5cGVzO2lmKCFjfHwhYy5jcmVhdGVQb2xpY3kpcmV0dXJuIGI7dHJ5e2I9Yy5jcmVhdGVQb2xpY3koYSx7Y3JlYXRlSFRNTDpUZCxjcmVhdGVTY3JpcHQ6VGQsY3JlYXRlU2NyaXB0VVJMOlRkfSl9Y2F0Y2goZCl7Xy50LmNvbnNvbGUmJl8udC5jb25zb2xlLmVycm9yKGQubWVzc2FnZSl9cmV0dXJuIGJ9O1xuXy5WZD1mdW5jdGlvbihhLGIpe3JldHVybiBhLmxhc3RJbmRleE9mKGIsMCk9PTB9O18uV2Q9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChhLGIsdm9pZCAwKX07dHJ5eyhuZXcgc2VsZi5PZmZzY3JlZW5DYW52YXMoMCwwKSkuZ2V0Q29udGV4dChcIjJkXCIpfWNhdGNoKGEpe307dmFyIFhkO18uWWQ9ZnVuY3Rpb24oKXtYZD09PXZvaWQgMCYmKFhkPV8uVWQoXCJvZ2ItcXRtI2h0bWxcIikpO3JldHVybiBYZH07dmFyIGFlO18uWmQ9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5pPWF9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5pK1wiXCJ9fTtfLiRkPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluc3RhbmNlb2YgXy5aZCYmYS5jb25zdHJ1Y3Rvcj09PV8uWmQ/YS5pOlwidHlwZV9lcnJvcjpUcnVzdGVkUmVzb3VyY2VVcmxcIn07YWU9e307Xy5iZT1mdW5jdGlvbihhKXtjb25zdCBiPV8uWWQoKTthPWI/Yi5jcmVhdGVTY3JpcHRVUkwoYSk6YTtyZXR1cm4gbmV3IF8uWmQoYSxhZSl9O18uRWQ9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5pPWF9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5pfX07Xy5jZT1uZXcgXy5FZChcImFib3V0OmludmFsaWQjekNsb3N1cmV6XCIpO3ZhciBHZCxLZDtHZD1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLlZnPWF9fTtfLklkPVtIZChcImRhdGFcIiksSGQoXCJodHRwXCIpLEhkKFwiaHR0cHNcIiksSGQoXCJtYWlsdG9cIiksSGQoXCJmdHBcIiksbmV3IEdkKGE9Pi9eW146XSooWy8/I118JCkvLnRlc3QoYSkpXTtLZD0vXlxccyooPyFqYXZhc2NyaXB0OikoPzpbXFx3Ky4tXSs6fFteOi8/I10qKD86Wy8/I118JCkpL2k7Xy5kZT17fTtfLmVlPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaT1hfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuaS50b1N0cmluZygpfX07Xy5mZT1uZXcgXy5lZShcIlwiLF8uZGUpO18uZ2U9UmVnRXhwKFwiXlstKywuXFxcIiclXyEjLyBhLXpBLVowLTlcXFxcW1xcXFxdXSskXCIpO18uaGU9UmVnRXhwKFwiXFxcXGIodXJsXFxcXChbIFxcdFxcbl0qKSgnWyAtJigtXFxcXFtcXFxcXS1+XSonfFxcXCJbICEjLVxcXFxbXFxcXF0tfl0qXFxcInxbISMtJiotXFxcXFtcXFxcXS1+XSopKFsgXFx0XFxuXSpcXFxcKSlcIixcImdcIik7Xy5pZT1SZWdFeHAoXCJcXFxcYihjYWxjfGN1YmljLWJlemllcnxmaXQtY29udGVudHxoc2x8aHNsYXxsaW5lYXItZ3JhZGllbnR8bWF0cml4fG1pbm1heHxyYWRpYWwtZ3JhZGllbnR8cmVwZWF0fHJnYnxyZ2JhfChyb3RhdGV8c2NhbGV8dHJhbnNsYXRlKShYfFl8WnwzZCk/fHN0ZXBzfHZhcilcXFxcKFstKyovMC05YS16QS1aLiUjXFxcXFtcXFxcXSwgXStcXFxcKVwiLFwiZ1wiKTtfLmplPXt9O18ubGU9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLmtlJiZhLmNvbnN0cnVjdG9yPT09Xy5rZT9hLmk6XCJ0eXBlX2Vycm9yOlNhZmVIdG1sXCJ9O18ua2U9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5pPWF9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5pLnRvU3RyaW5nKCl9fTtfLm1lPW5ldyBfLmtlKF8udC50cnVzdGVkVHlwZXMmJl8udC50cnVzdGVkVHlwZXMuZW1wdHlIVE1MfHxcIlwiLF8uamUpO18ubmU9ZnVuY3Rpb24oYSl7bGV0IGI9ITEsYztyZXR1cm4gZnVuY3Rpb24oKXtifHwoYz1hKCksYj0hMCk7cmV0dXJuIGN9fShmdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO2IuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKSk7YS5hcHBlbmRDaGlsZChiKTtiPWEuZmlyc3RDaGlsZC5maXJzdENoaWxkO2EuaW5uZXJIVE1MPV8ubGUoXy5tZSk7cmV0dXJuIWIucGFyZW50RWxlbWVudH0pO18ub2U9ZnVuY3Rpb24oYSxiKXt0aGlzLndpZHRoPWE7dGhpcy5oZWlnaHQ9Yn07Xy5uPV8ub2UucHJvdG90eXBlO18ubi5hc3BlY3RSYXRpbz1mdW5jdGlvbigpe3JldHVybiB0aGlzLndpZHRoL3RoaXMuaGVpZ2h0fTtfLm4uRWI9ZnVuY3Rpb24oKXtyZXR1cm4hKHRoaXMud2lkdGgqdGhpcy5oZWlnaHQpfTtfLm4uY2VpbD1mdW5jdGlvbigpe3RoaXMud2lkdGg9TWF0aC5jZWlsKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguY2VpbCh0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9O18ubi5mbG9vcj1mdW5jdGlvbigpe3RoaXMud2lkdGg9TWF0aC5mbG9vcih0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmZsb29yKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5uLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLnJvdW5kKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGgucm91bmQodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLlU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1ifHxkb2N1bWVudDtpZihjLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpYT1jLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoYSlbMF07ZWxzZXtjPWRvY3VtZW50O3ZhciBkPWJ8fGM7YT1kLnF1ZXJ5U2VsZWN0b3JBbGwmJmQucXVlcnlTZWxlY3RvciYmYT9kLnF1ZXJ5U2VsZWN0b3IoYT9cIi5cIithOlwiXCIpOl8ucGUoYyxhLGIpWzBdfHxudWxsfXJldHVybiBhfHxudWxsfTtcbl8ucGU9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO2E9Y3x8YTtpZihhLnF1ZXJ5U2VsZWN0b3JBbGwmJmEucXVlcnlTZWxlY3RvciYmYilyZXR1cm4gYS5xdWVyeVNlbGVjdG9yQWxsKGI/XCIuXCIrYjpcIlwiKTtpZihiJiZhLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpe3ZhciBlPWEuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShiKTtyZXR1cm4gZX1lPWEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCIqXCIpO2lmKGIpe3ZhciBmPXt9O2ZvcihjPWQ9MDthPWVbY107YysrKXt2YXIgZz1hLmNsYXNzTmFtZTt0eXBlb2YgZy5zcGxpdD09XCJmdW5jdGlvblwiJiZfLnRhKGcuc3BsaXQoL1xccysvKSxiKSYmKGZbZCsrXT1hKX1mLmxlbmd0aD1kO3JldHVybiBmfXJldHVybiBlfTtfLnJlPWZ1bmN0aW9uKGEpe3JldHVybiBfLnFlKGRvY3VtZW50LGEpfTtcbl8ucWU9ZnVuY3Rpb24oYSxiKXtiPVN0cmluZyhiKTthLmNvbnRlbnRUeXBlPT09XCJhcHBsaWNhdGlvbi94aHRtbCt4bWxcIiYmKGI9Yi50b0xvd2VyQ2FzZSgpKTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KGIpfTtfLnNlPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYjtiPWEuZmlyc3RDaGlsZDspYS5yZW1vdmVDaGlsZChiKX07Xy50ZT1mdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlVHlwZT09OT9hOmEub3duZXJEb2N1bWVudHx8YS5kb2N1bWVudH07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uV2k9ZnVuY3Rpb24oYSxiKXtsZXQgYyxkO3JldHVybihiPShkPShjPWIuZG9jdW1lbnQpLnF1ZXJ5U2VsZWN0b3IpPT1udWxsP3ZvaWQgMDpkLmNhbGwoYyxgJHthfVtub25jZV1gKSk/Yi5ub25jZXx8Yi5nZXRBdHRyaWJ1dGUoXCJub25jZVwiKXx8XCJcIjpcIlwifTtfLlhpPWZ1bmN0aW9uKGEpe2NvbnN0IGI9Xy5XaShcInNjcmlwdFwiLGEub3duZXJEb2N1bWVudCYmYS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx3aW5kb3cpO2ImJmEuc2V0QXR0cmlidXRlKFwibm9uY2VcIixiKX07Xy5ZaT1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4gbnVsbDthPV8uSihhLDQpO3ZhciBiO2E9PT1udWxsfHxhPT09dm9pZCAwP2I9bnVsbDpiPV8uYmUoYSk7cmV0dXJuIGJ9O18uWmk9Y2xhc3MgZXh0ZW5kcyBfLlF7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTtfLiRpPWZ1bmN0aW9uKGEsYil7cmV0dXJuKGJ8fGRvY3VtZW50KS5nZXRFbGVtZW50c0J5VGFnTmFtZShTdHJpbmcoYSkpfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIGJqPWZ1bmN0aW9uKGEsYixjKXthPGI/YWooYSsxLGIpOl8uUGMubG9nKEVycm9yKFwiY2FgXCIrYStcImBcIitiKSx7dXJsOmN9KX0sYWo9ZnVuY3Rpb24oYSxiKXtpZihjail7Y29uc3QgYz1fLnJlKFwiU0NSSVBUXCIpO2MuYXN5bmM9ITA7Yy50eXBlPVwidGV4dC9qYXZhc2NyaXB0XCI7Yy5jaGFyc2V0PVwiVVRGLThcIjtjLnNyYz1fLiRkKGNqKTtfLlhpKGMpO2Mub25lcnJvcj1fLk5kKGJqLGEsYixjLnNyYyk7Xy4kaShcIkhFQURcIilbMF0uYXBwZW5kQ2hpbGQoYyl9fSxkaj1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciBlaj1fLkYoXy5hZCxkaiwxNyl8fG5ldyBkaixmaixjaj0oZmo9Xy5GKGVqLF8uWmksMSkpP18uWWkoZmopOm51bGwsZ2osaGo9KGdqPV8uRihlaixfLlppLDIpKT9fLllpKGdqKTpudWxsLGlqPWZ1bmN0aW9uKCl7YWooMSwyKTtpZihoail7Y29uc3QgYT1fLnJlKFwiTElOS1wiKTthLnNldEF0dHJpYnV0ZShcInR5cGVcIixcInRleHQvY3NzXCIpO2EuaHJlZj1fLiRkKGhqKS50b1N0cmluZygpO2EucmVsPVwic3R5bGVzaGVldFwiO2xldCBiPV8uV2koXCJzdHlsZVwiLHdpbmRvdyk7YiYmYS5zZXRBdHRyaWJ1dGUoXCJub25jZVwiLGIpO18uJGkoXCJIRUFEXCIpWzBdLmFwcGVuZENoaWxkKGEpfX07KGZ1bmN0aW9uKCl7Y29uc3QgYT1fLmJkKCk7aWYoXy5JKGEsMTgpKWlqKCk7ZWxzZXtjb25zdCBiPV8uUGQoYSwxOSl8fDA7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsKCk9Pnt3aW5kb3cuc2V0VGltZW91dChpaixiKX0pfX0pKCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbn0pKHRoaXMuZ2Jhcl8pO1xuLy8gR29vZ2xlIEluYy5cbjwvc2NyaXB0PjxkaXY+PGRpdj48ZGl2IGNsYXNzPVwiZ2JfblwiPkdvb2dsZS1BcHBzPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PHRleHRhcmVhIGNsYXNzPVwiY3NpXCIgbmFtZT1cImNzaVwiIHN0eWxlPVwiZGlzcGxheTpub25lXCI+PC90ZXh0YXJlYT48c2NyaXB0IG5vbmNlPVwiYUE3VmEtYmVlaElMc2wyaEZsUHQtZ1wiPihmdW5jdGlvbigpe2dvb2dsZS5jYWZ0PWZ1bmN0aW9uKGEpe2lmKGdvb2dsZS5hZnRxPT09bnVsbCl0cnl7YSgpfWNhdGNoKGIpe2dvb2dsZS5tbChiLCExKX1lbHNlIGdvb2dsZS5hZnRxPWdvb2dsZS5hZnRxfHxbXSxnb29nbGUuYWZ0cS5wdXNoKGEpfTt3aW5kb3cuZ29vZ2xlPXdpbmRvdy5nb29nbGV8fHt9O2dvb2dsZS5jLmlpbT1nb29nbGUuYy5paW18fHt9OyhmdW5jdGlvbigpe3ZhciBhPURhdGUubm93KCk7Z29vZ2xlLnRpY2soXCJsb2FkXCIsXCJwcnRcIixhKTtnb29nbGUuYy5lKFwibG9hZFwiLFwiaW1uXCIsU3RyaW5nKGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaW1nXCIpLmxlbmd0aCkpO2dvb2dsZS5jLnViKCk7Z29vZ2xlLmMuY2FlfHxnb29nbGUuYy5tYWZ0KGEsbnVsbCk7Z29vZ2xlLmMubWltbChhKTtnb29nbGUucmxsKHdpbmRvdywhMSxmdW5jdGlvbigpe2dvb2dsZS50aWNrKFwibG9hZFwiLFwib2xkXCIpfSk7Z29vZ2xlLmMudShcInBydFwiKX0pKCk7fSkuY2FsbCh0aGlzKTsoZnVuY3Rpb24oKXt3aW5kb3cuZ29vZ2xlPXdpbmRvdy5nb29nbGV8fHt9O3dpbmRvdy5nb29nbGUuaXNoaz1bXTtmdW5jdGlvbiBhKCl7cmV0dXJuIHdpbmRvdy5zY3JvbGxZK3dpbmRvdy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0Pj1NYXRoLm1heChkb2N1bWVudC5ib2R5LnNjcm9sbEhlaWdodCxkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodCl9ZnVuY3Rpb24gYigpe2EoKSYmd2luZG93Lmdvb2dsZS5pc2hrLmxlbmd0aD09PTAmJih3aW5kb3cuZ29vZ2xlLmJzPSEwLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsYikpfWEoKT93aW5kb3cuZ29vZ2xlLmJzPSEwOih3aW5kb3cuZ29vZ2xlLmJzPSExLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsYikpO30pLmNhbGwodGhpcyk7KGZ1bmN0aW9uKCl7Z29vZ2xlLmpsPXtiZmw6MCxkdzpmYWxzZSxpbmU6ZmFsc2UsdWJtOmZhbHNlLHV3cDp0cnVlLHZzOmZhbHNlfTt9KSgpOyhmdW5jdGlvbigpe3ZhciBwbWM9J3tcXHgyMmFhXFx4MjI6e30sXFx4MjJhYmRcXHgyMjp7XFx4MjJhYmRcXHgyMjpmYWxzZSxcXHgyMmRlYlxceDIyOmZhbHNlLFxceDIyZGV0XFx4MjI6ZmFsc2V9LFxceDIyYXN5bmNcXHgyMjp7fSxcXHgyMmNkb3NcXHgyMjp7XFx4MjJjZG9ic2VsXFx4MjI6ZmFsc2V9LFxceDIyY3NpXFx4MjI6e30sXFx4MjJkXFx4MjI6e30sXFx4MjJnZlxceDIyOntcXHgyMnBpZFxceDIyOjE5Nn0sXFx4MjJoc21cXHgyMjp7fSxcXHgyMmpzYVxceDIyOntcXHgyMmNzaVxceDIyOnRydWUsXFx4MjJjc2lyXFx4MjI6MTAwfSxcXHgyMm1iNFpVYlxceDIyOnt9LFxceDIycEhYZ2hkXFx4MjI6e30sXFx4MjJzYl93aXpcXHgyMjp7XFx4MjJyZnNcXHgyMjpbXSxcXHgyMnNjcVxceDIyOlxceDIyXFx4MjIsXFx4MjJzdG9rXFx4MjI6XFx4MjJvTDBnUTJpN1U4MWJLN1RQMkdJOVhkQnFJTEFcXHgyMn0sXFx4MjJzZlxceDIyOnt9LFxceDIyc29uaWNcXHgyMjp7fSxcXHgyMnNwY2hcXHgyMjp7XFx4MjJhZVxceDIyOlxceDIyXFxcXHUwMGRjYmVycHJcXFxcdTAwZmNmZSBkYXMgTWlrcm9mb24uIFxcXFx1MDAzQ2EgaHJlZlxceDNkXFxcXFxceDIyaHR0cHM6Ly9zdXBwb3J0Lmdvb2dsZS5jb20vY2hyb21lLz9wXFx4M2R1aV92b2ljZV9zZWFyY2hcXFxcXFx4MjIgdGFyZ2V0XFx4M2RcXFxcXFx4MjJfYmxhbmtcXFxcXFx4MjJcXFxcdTAwM0VXZWl0ZXJlIEluZm9ybWF0aW9uZW5cXFxcdTAwM0MvYVxcXFx1MDAzRVxceDIyLFxceDIyYWtcXHgyMjpcXHgyMlxceDIyLFxceDIyYW9cXHgyMjp0cnVlLFxceDIyY2RcXHgyMjowLFxceDIyZnBcXHgyMjp0cnVlLFxceDIyaGxcXHgyMjpcXHgyMmRlLUxVXFx4MjIsXFx4MjJpbVxceDIyOlxceDIyS2xpY2tlIGF1ZiBcXFxcdTAwM0NiXFxcXHUwMDNFWnVsYXNzZW5cXFxcdTAwM0MvYlxcXFx1MDAzRSwgdW0gbWl0IGRlciBTcHJhY2hzdWNoZSB6dSBiZWdpbm5lbi5cXHgyMixcXHgyMml3XFx4MjI6XFx4MjJCaXR0ZSB3YXJ0ZW4uLi5cXHgyMixcXHgyMmxtXFx4MjI6XFx4MjJCZXJlaXQgZlxcXFx1MDBmY3IgU3ByYWNoZWluZ2FiZVxcXFx1MjAyNlxceDIyLFxceDIybHVcXHgyMjpcXHgyMkRpZSBTcHJhY2hzdWNoZSBpc3QgYXVmICUxJHMgbmljaHQgdmVyZlxcXFx1MDBmY2diYXIuXFx4MjIsXFx4MjJtYlxceDIyOmZhbHNlLFxceDIybWNcXHgyMjpmYWxzZSxcXHgyMm5lXFx4MjI6XFx4MjJLZWluZSBJbnRlcm5ldHZlcmJpbmR1bmdcXHgyMixcXHgyMm50XFx4MjI6XFx4MjJOaWNodCB2ZXJzdGFuZGVuLi4uIFxcXFx1MDAzQ3NwYW5cXFxcdTAwM0VWZXJzdWNoZSBlcyBlcm5ldXQuXFxcXHUwMDNDL3NwYW5cXFxcdTAwM0VcXHgyMixcXHgyMm52XFx4MjI6XFx4MjJcXFxcdTAwZGNiZXJwclxcXFx1MDBmY2ZlIGRhcyBNaWtyb2ZvbiB1bmQgZGllIExhdXRzdFxcXFx1MDBlNHJrZS4gXFxcXHUwMDNDYSBocmVmXFx4M2RcXFxcXFx4MjJodHRwczovL3N1cHBvcnQuZ29vZ2xlLmNvbS9jaHJvbWUvP3BcXHgzZHVpX3ZvaWNlX3NlYXJjaFxcXFxcXHgyMiB0YXJnZXRcXHgzZFxcXFxcXHgyMl9ibGFua1xcXFxcXHgyMlxcXFx1MDAzRVdlaXRlcmUgSW5mb3JtYXRpb25lblxcXFx1MDAzQy9hXFxcXHUwMDNFXFx4MjIsXFx4MjJwZVxceDIyOlxceDIyRGllIFNwcmFjaHN1Y2hlIHd1cmRlIGRlYWt0aXZpZXJ0LiBcXFxcdTAwM0NhIGhyZWZcXHgzZFxcXFxcXHgyMmh0dHBzOi8vc3VwcG9ydC5nb29nbGUuY29tL2Nocm9tZS8/cFxceDNkdWlfdm9pY2Vfc2VhcmNoXFxcXFxceDIyIHRhcmdldFxceDNkXFxcXFxceDIyX2JsYW5rXFxcXFxceDIyXFxcXHUwMDNFRGV0YWlsc1xcXFx1MDAzQy9hXFxcXHUwMDNFXFx4MjIsXFx4MjJyaVxceDIyOmZhbHNlLFxceDIycm1cXHgyMjpcXHgyMkpldHp0IHNwcmVjaGVuXFx4MjIsXFx4MjJzM1xceDIyOmZhbHNlLFxceDIyc2FcXHgyMjpmYWxzZX19Jztnb29nbGUucG1jPUpTT04ucGFyc2UocG1jKTt9KSgpOyhmdW5jdGlvbigpe3ZhciByPVsnc2Jfd2l6JywnYWEnLCdhYmQnLCdhc3luYycsJ3BIWGdoZCcsJ3NmJywnc29uaWMnLCdzcGNoJ107Z29vZ2xlLnBsbShyKTt9KSgpOyhmdW5jdGlvbigpe3ZhciBtPXtcIkJlOHdza1wiOltcImd3cy13aXpcIixcIlwiLFwiXCIsXCJcIixudWxsLDEsMCwwLDEzLFwiZGVcIixcIm9MMGdRMmk3VTgxYks3VFAyR0k5WGRCcUlMQVwiLFwiXCIsXCJoNENyWnZ5TEM1T2ZpLWdQX29xSi1Rd1wiLDAsXCJkZS1MVVwiLG51bGwsbnVsbCxudWxsLDMsNSwtMSxudWxsLFwiODk5Nzg0NDlcIixudWxsLDEsMCwxODAwMDAwLDEsNixudWxsLDEuMTUsMCwxLDAsbnVsbCwxLDEsMCxudWxsLG51bGwsbnVsbCxudWxsLDEsMSxudWxsLFwiXCIsMCwxLG51bGwsbnVsbCxudWxsLDAsMCwwLFwiZnV0dXJhX3N1Z196cF9zaV8wMDAwMDAwX2VcIixudWxsLG51bGwsXCJcIiwwLG51bGwsMSwtMSwtMSxudWxsLDEsMCwxLDEwMDAsMSxbXCJnd3Mtd2l6XCIsXCJcIixcIlwiXSxudWxsLFtcImd3cy13aXotbW9kZWxlc3MtbG9jYWxcIixcIlwiLFwiXCJdLG51bGwsW1wiaW1nXCIsXCJnd3Mtd2l6LWltZ1wiLFwiaVwiXSxudWxsLFtcImd3cy13aXotbW9kZWxlc3MtcHJvZHVjdHNcIixcIlwiLFwic2hcIl0sbnVsbCxbXCJnd3Mtd2l6LW1vZGVsZXNzXCIsXCJnd3Mtd2l6LXBlcnNwZWN0aXZlc1wiLFwiXCJdLG51bGwsW1wiZ3dzLXdpei1tb2RlbGVzcy1sb2RnaW5nXCIsXCJcIixcIlwiXSxudWxsLFtcImd3cy13aXotbW9kZWxlc3MtZmxpZ2h0c1wiLFwiXCIsXCJcIl0sMSxudWxsLDAsMSxudWxsLG51bGwsbnVsbCxbXCJnd3Mtd2l6LW1vZGVsZXNzLXZzcy1wcm9kdWN0c1wiLFwiXCIsXCJcIl0sbnVsbCxbXCJnd3Mtd2l6LW1vZGVsZXNzLXZzcy1qb2JzXCIsXCJcIixcIlwiXSxudWxsLFtcImd3cy13aXotbW9kZWxlc3MtdnNzLWxvY2FsLXRyYXZlbFwiLFwiXCIsXCJcIl0sMSxudWxsLG51bGwsW1wiZ3dzLXdpei1tb2RlbGVzcy12aWRlb1wiLFwiXCIsXCJ2XCJdLG51bGwsbnVsbCxudWxsLFtcImd3cy13aXotbW9kZWxlc3Mtam9ic1wiLFwiXCIsXCJcIl0sbnVsbCxbXCJnd3Mtd2l6LW1vZGVsZXNzLXZzcy1mbGlnaHRzXCIsXCJcIixcIlwiXSxudWxsLFtcImd3cy13aXotbW9kZWxlc3NcIixcIlwiLFwiXCJdLG51bGwsbnVsbCxudWxsLFtcImd3cy13aXotbW9kZWxlc3Mtc2hvcHBpbmdcIixcIlwiLFwic2hcIl0sbnVsbCxudWxsLG51bGwsMCxbXCJtdWx0aW1vZGFsLWxlbnMtd2ViXCIsXCJcIixcIlwiXSxbXCJnd3Mtd2l6LW1vZGVsZXNzXCIsXCJcIixcIlwiXSwwXSxcIkJlOHdzb1wiOltudWxsLG51bGwsbnVsbCxcImF1dG9jb21wbGV0ZV91c2VyX2ZlZWRiYWNrX2twX2lkXCIsbnVsbCwxMSxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsNTAxMDcxNSxcInNlYXJjaGJveFwiLG51bGwsXCJBdXRvY29tcGxldGVQcmVkaWN0aW9uXCIsbnVsbCxudWxsLG51bGwsbnVsbCwxMV0sXCJCZTh3c3NcIjpbMyw2LG51bGwsbnVsbCwxLDEsMCwwLDAsMCwwLDAsMF0sXCJCZTh3c3dcIjpbXCJcIiw2LDBdLFwiQmU4d3MwXCI6W1wiXCIsNCwwXX07dmFyIGE9bTtpZih3aW5kb3cuV19qZClmb3IodmFyIGIgaW4gYSl3aW5kb3cuV19qZFtiXT1hW2JdO2Vsc2Ugd2luZG93LldfamQ9YTt9KSgpOyhmdW5jdGlvbigpe3dpbmRvdy5XSVpfZ2xvYmFsX2RhdGE9e1wiWWxsaDNlXCI6XCIlLkAuMTcyMjUxNTU5MTE4MTc1NiwxMTc2MjQ3MjMsMzQ3NTEyOTcyNl1cIixcIncyYnRBZVwiOlwiJS5ALlxcXCJcXFwiLFxcXCJcXFwiLFxcXCIwXFxcIixudWxsLG51bGwsbnVsbCwxXVwiLFwiUzA2R3JiXCI6XCJcIixcIlNObE0wZVwiOlwiXCIsXCJMVklYWGJcIjpcIjFcIixcIkltNmNtZlwiOlwiL3dpenJwY3VpL18vV2l6UnBjVWlcIixcIlM2bFpsXCI6XCI4OTk3ODQ0OVwiLFwiU1RmYVJkXCI6XCJ7fVwiLFwiekNoSm9kXCI6XCIlLkAuXVwiLFwiR1dzZEtlXCI6XCJkZS1MVVwiLFwiZXB0WmVcIjpcIi93aXpycGN1aS9fL1dpelJwY1VpL1wiLFwib3hOM25iXCI6e1wiMVwiOmZhbHNlfSxcIlFydHhLXCI6XCIwXCJ9O3dpbmRvdy5JSl92YWx1ZXM9e1wiZUc4WnFmXCI6MS4wLFwiSXZOcXpjXCI6ZmFsc2UsXCJxald3NmNcIjp0cnVlLFwidlNqVVpkXCI6MjQsXCJQNTlRVGNcIjpmYWxzZSxcImdmcTFJY1wiOmZhbHNlLFwiYnMyZHJjXCI6ZmFsc2UsXCJ5eXMyeWNcIjpmYWxzZSxcIlJiYXo5Y1wiOmZhbHNlLFwibENDeWtjXCI6ZmFsc2UsXCJlZmxjVGRcIjpmYWxzZSxcInVjaWk0ZFwiOmZhbHNlLFwiUVJRWTRiXCI6ZmFsc2UsXCJ2d0FuMmRcIjpmYWxzZSxcIm9TMGVuZFwiOmZhbHNlLFwianFjeFVcIjpcIiM0Mjg1ZjRcIixcInRvVkVMY1wiOlwiI2Y4ZjlmYVwiLFwiVjFUSkViXCI6XCIjMWE3M2U4XCIsXCJlYXZOOWNcIjozNixcIlh1QzVUZFwiOjI0LFwiaXZ5V2VkXCI6MjgsXCJwc21ReWZcIjo2LFwiaE9rak1jXCI6MCxcInFPcHdKZFwiOi0xLFwiVWxIbGxiXCI6MS4wLFwib3NOeVpcIjoxLjAsXCJMNld5RWZcIjpmYWxzZSxcInRzd1JYZFwiOlwibm9uZVwiLFwibXRtcnRiXCI6XCIwIDFweCA2cHggcmdiYSgzMiwzMywzNiwwLjI4KVwiLFwiVTJHVGtcIjpcIiNmZmZcIixcIldnUkxtZVwiOlwiI2RhZGNlMFwiLFwiUWNaeFNkXCI6XCIjM2M0MDQzXCIsXCJnNFRvRGZcIjpcIjAgMXB4IDJweCByZ2JhKDYwLDY0LDY3LC4zKSwgMCAycHggNnB4IDJweCByZ2JhKDYwLDY0LDY3LC4xNSlcIixcIm11YjdGZFwiOlwiI2YxZjNmNFwiLFwiejJTUXdmXCI6XCIjYmRjMWM2XCIsXCJvYjRZMGNcIjpcIiNlOGVhZWRcIixcIkk2UjVsZlwiOlwiI2Y4ZjlmYVwiLFwiS0NNWFZiXCI6XCIjMjAyMTI0XCIsXCJ2elJ2Z2JcIjpcIiNlOGYwZmVcIixcIkhOTHd6XCI6XCIjZDJlM2ZjXCIsXCJ1RDNMd2NcIjpcIiNkMmUzZmNcIixcIm03RW5UY1wiOlwiIzhhYjRmOFwiLFwianlFVVhlXCI6XCIjZDJlM2ZjXCIsXCJReXpaOGVcIjpcIiMxNzRlYTZcIixcIkNGZ3NiXCI6XCIjMTU1OGQ2XCIsXCJsWXllbGJcIjpcInJnYmEoMCwwLDAsLjU0KVwiLFwibTBSbEtiXCI6ZmFsc2UsXCJ3RkdLZGNcIjpmYWxzZSxcImtsZ2VyZVwiOlwiaW52ZXJ0KDEpIGh1ZS1yb3RhdGUoMTgwZGVnKVwiLFwiZ0hvN2JcIjpcIiNiOGJiYmVcIixcIlZCU2M4Y1wiOmZhbHNlLFwib1gycjJjXCI6ZmFsc2UsXCJXaXRWcWVcIjpmYWxzZSxcInpzWVpLXCI6XCIjZGFkY2UwXCIsXCJQaTRmOGRcIjpmYWxzZSxcIlZENHUxZFwiOmZhbHNlLFwieHh0aHFmXCI6dHJ1ZSxcIlVzVmM4ZVwiOmZhbHNlLFwiWWpMOUNlXCI6ZmFsc2UsXCJ3c1JmSVwiOmZhbHNlLFwicTQ5YnZkXCI6ZmFsc2UsXCJXdmRoRlwiOmZhbHNlLFwiUm9qaXhjXCI6XCIjYWVjYmZhXCIsXCJRT3V2SWNcIjpcIiMxYTczZThcIixcIlp4bDljZVwiOmZhbHNlLFwiWnVuM0VmXCI6ZmFsc2UsXCJTT200b1wiOmZhbHNlLFwibEw0N1hjXCI6ZmFsc2UsXCJVNnhQMFwiOlwiIzQyODVmNFwiLFwiQTV0RjNiXCI6ZmFsc2UsXCJOWER2dGZcIjpmYWxzZSxcIkx4bWpuXCI6ZmFsc2UsXCJGeWRDQ1wiOmZhbHNlLFwia0FVUDNiXCI6ZmFsc2UsXCJoZ1dKOGNcIjpmYWxzZSxcIlR4c1RjZlwiOlwiIzAwMFwiLFwidjRpUUNlXCI6XCIjNDI4NWY0XCIsXCJPZnFlT2VcIjpcIiM0Mjg1ZjRcIixcInpScFVrXCI6XCIjNDI4NWY0XCIsXCJRYlprbGJcIjpcIiNlOGYwZmVcIixcIkZjYjRBXCI6XCIjMWE3M2U4XCIsXCJWUnRaUmVcIjpcIiMxNTU4ZDZcIixcIk9tWWxnZVwiOlwiIzM0YTg1M1wiLFwieThIR2dmXCI6XCIjMWU4ZTNlXCIsXCJRRFhVeWNcIjpcIiMxODgwMzhcIixcIkpRV3F1YlwiOlwiI2VhNDMzNVwiLFwiblJ3dVpkXCI6XCIjZDkzMDI1XCIsXCJyWkxKSmJcIjpcIiNmZmZcIixcImhjTEV0Y1wiOlwiIzgxYzk5NVwiLFwiR0pRbW1mXCI6XCIjMzRhODUzXCIsXCJoRVRJZmJcIjpcIiNkYWRjZTBcIixcIk50Tmp0ZFwiOlwiI2RhZGNlMFwiLFwidkNzcndcIjpcIiNkYWRjZTBcIixcInA5NDE2Y1wiOlwiI2Y4ZjlmYVwiLFwidG9RN3RmXCI6XCIjZjhmOWZhXCIsXCJ4Z1kxbmNcIjpcIiNmOGY5ZmFcIixcInAxb2NKYlwiOlwiI2Y4ZjlmYVwiLFwiRkNMZkJlXCI6XCIjZjhmOWZhXCIsXCJNbkMyemZcIjpcIiM3MDc1N2FcIixcIklmZEFBZFwiOlwiIzcwNzU3YVwiLFwiZlAyWW9cIjpcIiM3MDc1N2FcIixcIm1rbnl1XCI6XCIjNzA3NTdhXCIsXCJQVWVuVFwiOlwiIzNjNDA0M1wiLFwiWjBERUtmXCI6XCIjMjAyMTI0XCIsXCJvSEhLd2ZcIjpcIiMyMDIxMjRcIixcInhOUHppY1wiOlwiI2ZmZlwiLFwiS2tQYnljXCI6XCIjZmJiYzA0XCIsXCJ1ZXpyZVwiOlwiI2ZiYmMwNFwiLFwiU2tHaVpkXCI6XCIjZjI5OTAwXCIsXCJPeFBSclwiOlwiI2YxZjNmNFwiLFwidWlLRVZcIjpcIiMyMDIxMjRcIixcIkJQbHRmXCI6XCIjZjFmM2Y0XCIsXCJtOGw4dGRcIjpcIkNBUkVUXCIsXCJxZG9pbmJcIjpcIiM3MDc1N2FcIixcImE0cUxuZVwiOlwiI2VhNDMzNVwiLFwiUmlmTjJkXCI6XCIjMDAwXCIsXCJGcGk3UmNcIjpcIkFyaWFsLHNhbnMtc2VyaWYtbWVkaXVtLHNhbnMtc2VyaWZcIixcImEyeWthY1wiOlwiQXJpYWwsc2Fucy1zZXJpZlwiLFwiTUU0Tk1jXCI6XCIjMDAwXCIsXCJCcFBBY2RcIjpcIiNkYWRjZTBcIixcIk4wd3laXCI6XCIjMDAwXCIsXCJqeFp4bmVcIjpcIiM3MDc1N2FcIixcIkNRdk1iZVwiOlwiIzFhNzNlOFwiLFwiZlJrb3FcIjp0cnVlLFwiTjk4bWVmXCI6ZmFsc2UsXCJXa2p1T2VcIjpmYWxzZSxcImNXd3A3YlwiOmZhbHNlLFwiaDZlUVpjXCI6ZmFsc2UsXCJiMEpvZGVcIjpmYWxzZSxcIk1vbXJNXCI6ZmFsc2UsXCJBc29qMGVcIjpmYWxzZSxcInNCcFZhY1wiOlwicmdiYSgwLDAsMCwuMjYpXCIsXCJKY1VHZWVcIjpcIiM3MDc1N2FcIixcIlBuZ1BiYlwiOlwiIzIwMjEyNFwiLFwiZXNVZ3ZcIjpcIiNmZmZcIixcIktWbXRaY1wiOlwicmdiYSgyNTUsMjU1LDI1NSwuMzApXCIsXCJNb0FmeWZcIjpcIiNmZmZcIixcIkFMTVN3ZVwiOlwiUm9ib3RvLFJvYm90b0RyYWZ0LEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmXCIsXCJTZ25tbGNcIjpcIjE0cHhcIixcInFrWHZIZFwiOlwiNTAwXCIsXCJTZXpRZ2ZcIjpcIjUwMFwiLFwiRUpHNHZmXCI6XCJwb2ludGVyXCIsXCJXeXZhUmRcIjpcIjAgMXB4IDFweCByZ2JhKDAsMCwwLC4xNilcIixcIlJPQW4wZVwiOlwiMCAycHggMnB4IDAgcmdiYSgwLDAsMCwuMTQpLDAgM3B4IDFweCAtMnB4IHJnYmEoMCwwLDAsLjIpLDAgMXB4IDVweCAwIHJnYmEoMCwwLDAsLjEyKVwiLFwidVpMTkZcIjp0cnVlLFwiSmRQT2FmXCI6ZmFsc2UsXCJ6QnhUNVwiOnRydWUsXCJiRE92SmNcIjpmYWxzZSxcIlpNSUlNZVwiOnRydWUsXCJCMGh1c2JcIjp0cnVlLFwibzI4c0JkXCI6ZmFsc2UsXCJuNGVFSWNcIjp0cnVlLFwidHFtb3NiXCI6XCIjZmZmXCIsXCJIak04UlwiOlwiI2ZmZlwiLFwiRnFQMUZjXCI6XCIjMDAwXCIsXCJTQVROTWNcIjpcIjFweCBzb2xpZCAjZGFkY2UwXCIsXCJWMEJsdWNcIjpcIm5vbmVcIixcIlgxYlVFY1wiOlwiQXJpYWwsc2Fucy1zZXJpZi1tZWRpdW0sc2Fucy1zZXJpZlwiLFwiUVpoZUdlXCI6XCJHb29nbGUgU2FucyxBcmlhbCxzYW5zLXNlcmlmLW1lZGl1bSxzYW5zLXNlcmlmXCIsXCJMSVlEYWNcIjpcIkFyaWFsLHNhbnMtc2VyaWZcIixcIm1ObXJBYlwiOlwiI2ViZWJlYlwiLFwieDBWQ2tjXCI6XCIxcHggc29saWQgI2RhZGNlMFwiLFwiUnZ4c3hcIjpcIjFweCBzb2xpZCAjZGFkY2UwXCIsXCJxbWNKbWRcIjo2LFwiSnVxeFRiXCI6XCIjMjAyMTI0XCIsXCJFNkdramRcIjpcIjAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLDAuMilcIixcIk1DbEJPZVwiOlwicmdiYSgwLDAsMCwwLjEpXCIsXCJWNmVoN2NcIjoxNixcIlp4STdBZlwiOlwiI2ZhZmFmYVwiLFwic0tQTnJjXCI6XCIjZTZlNmU2XCIsXCJBZ0p6UVwiOlwiI2RhZGNlMFwiLFwiRmFnQ2hjXCI6XCIjZmZmXCIsXCJ0Q0dKelwiOlwiI2ZhZmFmYVwiLFwib3F4N3liXCI6XCIjNzA3NTdhXCIsXCJraG9FUGJcIjpcIiMxYTBkYWJcIixcIlNmU21EXCI6XCIjZGFkY2UwXCIsXCJhdWF4QVwiOlwiIzIwMjEyNFwiLFwicXREbUZjXCI6XCIjZGFkY2UwXCIsXCJ2NDRyU2NcIjpcIiM3MDc1N2FcIixcInRkQzZrZFwiOnRydWUsXCJVakdPcVwiOmZhbHNlLFwiSVVqNFllXCI6ZmFsc2UsXCJtMTlQNGVcIjpmYWxzZSxcIlA2VXIyYlwiOlwiIzFhNzNlOFwiLFwidWhYUEljXCI6XCIjOGFiNGY4XCIsXCJlMTI3U2JcIjpcIiMxYzNhYTlcIixcImV6RmROZFwiOlwiIzBmOWQ1OFwiLFwiV2phNGZcIjpcIiM4N2NlYWNcIixcImpqYWpJZFwiOlwiIzllOWU5ZVwiLFwiZDFVTHZcIjpcInJnYmEoMCwwLDAsLjI2KVwiLFwibFExa1lkXCI6XCIjYmRiZGJkXCIsXCJmQXVzNlwiOlwiIzAwMFwiLFwiTk5CbmViXCI6XCIjNWY2MzY4XCIsXCJNRGk4UmRcIjpcIiNkYWRjZTBcIixcIkJvSnR4ZlwiOmZhbHNlLFwiWlR1Sk5jXCI6ZmFsc2UsXCJ5MUhaRWRcIjpmYWxzZSxcIkQ4QThoZVwiOnRydWUsXCJibVE3UmJcIjpmYWxzZSxcIm5NUmhKZVwiOmZhbHNlLFwiS1RrREJcIjpmYWxzZSxcIkp5Qm8yY1wiOmZhbHNlLFwieERLWHJcIjpmYWxzZSxcIkZZQmxnZlwiOmZhbHNlLFwiSHBrUWRjXCI6dHJ1ZSxcIkZ1TWVXXCI6dHJ1ZSxcImhWRzVjZVwiOmZhbHNlLFwiSUF0eDVkXCI6dHJ1ZSxcIlZYSW83ZFwiOlwiOHB4XCIsXCJFaUVmWGJcIjpcIiNkYWRjZTBcIixcInpoa1JPXCI6XCIlLkAuMCwwLDAsMCwxLDAsMCwwLG51bGwsMSxudWxsLDAsMCxudWxsLDAsMSwwLFxcXCIvc2V0cHJlZnM/c2lnXFxcXHUwMDNkMF9sckt0eHVnd1FtMnN6MVdIQjRBQ3FrUmd2OTQlM0RcXFxcdTAwMjZzemxcXFxcdTAwM2QwXFxcIl1cIixcIncyYnRBZVwiOlwiJS5ALlxcXCJcXFwiLFxcXCJcXFwiLFxcXCIwXFxcIixudWxsLG51bGwsbnVsbCwxXVwiLFwicHhPNFpkXCI6XCIwXCIsXCJtWE9ZNWRcIjpcIiUuQC5udWxsLDEsMSxudWxsLFtudWxsLDc1NywxNDQwXV1cIixcIlNzUTR4XCI6XCJhQTdWYS1iZWVoSUxzbDJoRmxQdC1nXCIsXCJJWUZXbFwiOlwiJS5ALlxcXCIjYjhiYmJlXFxcIl1cIixcIkh0MU8yYlwiOlwiJS5ALjBdXCIsXCJkNkoxbGRcIjpcIiUuQC4wXVwiLFwiT28zZEtmXCI6XCIlLkAuXFxcIjBweCA1cHggMjZweCAwcHggcmdiYSgwLDAsMCwwLjIyKSwwcHggMjBweCAyOHB4IDBweCByZ2JhKDAsMCwwLDAuMylcXFwiLFxcXCIjZmZmXFxcIl1cIixcInVVQm5FYlwiOlwiXCIsXCJuZnhFRGVcIjpcIiUuQC5bXSwwLG51bGwsMCwwXVwiLFwiYXVJdDhcIjpcIiUuQC4wLDBdXCIsXCJZUHFqYmZcIjpcIiUuQC5cXFwicmdiYSgwLDAsMCwwLjkpXFxcIixcXFwiI2ZmZlxcXCIsXFxcIjAgMCAycHggMCByZ2JhKDAsMCwwLDAuMTIpLDAgMnB4IDJweCAwIHJnYmEoMCwwLDAsMC4xMilcXFwiLFxcXCIxcHggc29saWQgI2RhZGNlMFxcXCIsXFxcIiM3MDc1N2FcXFwiXVwiLFwiTXVKV2pkXCI6dHJ1ZSxcIkdXc2RLZVwiOlwiZGUtTFVcIixcImZySnFBZFwiOlwiJS5ALlxcXCIxM3B4XFxcIixcXFwiMTZweFxcXCIsXFxcIjExcHhcXFwiLDEzLDE2LDExLFxcXCI4cHhcXFwiLDgsMjBdXCIsXCJOMXljYWJcIjpcImRlX0xVXCIsXCJBQjVYd2JcIjpcIiUuQC5cXFwiMTBweFxcXCIsMTAsXFxcIjE2cHhcXFwiLDE2LFxcXCIxOHB4XFxcIl1cIixcIlo4SExGZlwiOlwiJS5ALlxcXCIxNHB4XFxcIiwxNF1cIixcInltYU9JXCI6XCIlLkAuNDAsMzIsMTQsXFxcIlxcXFxcXFwiIzNjNDA0M1xcXFxcXFwiXFxcIl1cIixcImZOcFFtYlwiOlwiXCIsXCJhTUkybWJcIjpcIiUuQC5cXFwiMCAycHggMTBweCAwIHJnYmEoMCwwLDAsMC4yKVxcXCJdXCIsXCJCWlVEemNcIjpcIiUuQC4wLFxcXCIxNHB4XFxcIixcXFwiNTAwXFxcIixcXFwiNTAwXFxcIixcXFwiMCAxcHggMXB4IHJnYmEoMCwwLDAsLjE2KVxcXCIsXFxcInBvaW50ZXJcXFwiLFxcXCIjMDAwXFxcIixcXFwicmdiYSgwLDAsMCwuMjYpXFxcIixcXFwiIzcwNzU3YVxcXCIsXFxcIiMyMDIxMjRcXFwiLFxcXCJyZ2JhKDIwNCwyMDQsMjA0LC4xNSlcXFwiLFxcXCJyZ2JhKDIwNCwyMDQsMjA0LC4yNSlcXFwiLG51bGwsXFxcInJnYmEoMTEyLDExNywxMjIsLjQwKVxcXCIsXFxcIiMzNGE4NTNcXFwiLFxcXCIjNDI4NWY0XFxcIixcXFwiIzE1NThkNlxcXCIsXFxcIiNlYTQzMzVcXFwiLFxcXCIjZmJiYzA0XFxcIixcXFwiI2Y4ZjlmYVxcXCIsXFxcIiNmOGY5ZmFcXFwiLFxcXCIjMjAyMTI0XFxcIixcXFwiIzM0YTg1M1xcXCIsXFxcInJnYmEoMCwwLDAsLjEyKVxcXCIsbnVsbCxcXFwiI2ZmZlxcXCIsXFxcInJnYmEoMjU1LDI1NSwyNTUsLjMwKVxcXCIsXFxcIiNmZmZcXFwiLFxcXCIjMjAyMTI0XFxcIixcXFwiI2ZmZlxcXCIsbnVsbCwwXVwiLFwidjdRdmRjXCI6XCIlLkAuXFxcIjIwcHhcXFwiLFxcXCI1MDBcXFwiLFxcXCI0MDBcXFwiLFxcXCIxM3B4XFxcIixcXFwiMTVweFxcXCIsXFxcIjE1cHhcXFwiLFxcXCJSb2JvdG8sUm9ib3RvRHJhZnQsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWZcXFwiLFxcXCIyNHB4XFxcIixcXFwiNDAwXFxcIixcXFwiMzJweFxcXCIsXFxcIjI0cHhcXFwiXVwiLFwiTWdVY0RiXCI6XCJMVVwiLFwiU0lzclRkXCI6ZmFsc2UsXCJmeUxwRGNcIjpcIlwiLFwiSlBuVHBcIjpcIiUuQC5cXFwiI2YxZjNmNFxcXCIsXFxcIjM2cHhcXFwiXVwiLFwiWnh0UENkXCI6XCIlLkAue1xcXCIxMDBcXFwiOlxcXCIxMnB4XFxcIixcXFwiMTAxXFxcIjpcXFwiOHB4XFxcIixcXFwiMTAyXFxcIjpcXFwiOHB4XFxcIixcXFwiMTAzXFxcIjpcXFwiMTBweFxcXCIsXFxcIjEwNFxcXCI6XFxcIjlweFxcXCJ9XVwiLFwiRHdZUllcIjpcIiUuQC5cXFwiIzE5NjdkMlxcXCIsXFxcIjMycHhcXFwiLFxcXCIxcHhcXFwiLFxcXCIycHhcXFwiLFxcXCJ2YXIoLS1iYlF4QWIpXFxcIixcXFwidmFyKC0tbVhaa3FjKVxcXCIsXFxcInRyYW5zcGFyZW50XFxcIixcXFwidHJhbnNwYXJlbnRcXFwiLFxcXCIjMTk2N2QyXFxcIixcXFwiI2QyZDJkMjYxXFxcIixcXFwiIzQ3NDc0NzYxXFxcIixcXFwiIzFmMWYxZjMzXFxcIixcXFwiIzFmMWYxZjMzXFxcIixcXFwiIzFmMWYxZjY2XFxcIixcXFwiIzBiNTdkMDE1XFxcIixcXFwiIzBiNTdkMDE1XFxcIixcXFwiIzBiNTdkMDM5XFxcIixcXFwiIzBiNTdkMDE1XFxcIixcXFwiIzBiNTdkMDE1XFxcIixcXFwiIzBiNTdkMDM5XFxcIixcXFwiIzBiNTdkMDE1XFxcIixcXFwiIzBiNTdkMDE1XFxcIixcXFwiIzBiNTdkMDM5XFxcIixcXFwiIzAwMWQzNTMzXFxcIixcXFwiIzAwMWQzNTM5XFxcIixcXFwiIzAwMWQzNTY2XFxcIl1cIixcIk55ekN3ZVwiOlwiJS5ALm51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxcXFwiMThweFxcXCIsXFxcIjIwcHhcXFwiLFxcXCIxOHB4XFxcIixcXFwidmFyKC0tWUxOTkhjKVxcXCIsXFxcIjE2cHhcXFwiLFxcXCJ2YXIoLS1JWG94VWUpXFxcIixcXFwidmFyKC0tWUxOTkhjKVxcXCJdXCIsXCJzcHoycVwiOlwiJS5ALlxcXCJ2YXIoLS14aFVHd2MpXFxcIixudWxsLG51bGwsbnVsbCxudWxsLFxcXCIwcHhcXFwiXVwiLFwiZ2VpUXhjXCI6XCIlLkAuXFxcIjIzNHB4XFxcIixcXFwiMTc2cHhcXFwiLFxcXCIyMDRweFxcXCIsXFxcIjE3MnB4XFxcIixcXFwiMTI4cHhcXFwiLFxcXCIxNDhweFxcXCIsXFxcIjExMXB4XFxcIixcXFwiODNweFxcXCIsXFxcIjkycHhcXFwiXVwiLFwieEZtY29mXCI6XCIlLkAubnVsbCxudWxsLG51bGwsXFxcIjIwcHhcXFwiLG51bGwsXFxcIjEycHhcXFwiXVwiLFwibERxaW9mXCI6XCIlLkAuXFxcInZhcigtLVlMTk5IYylcXFwiLFxcXCJ2YXIoLS1iYlF4QWIpXFxcIixcXFwidmFyKC0tcnJKSlVjKVxcXCIsbnVsbCxcXFwidmFyKC0tSVhveFVlKVxcXCIsXFxcInZhcigtLUpLcXgyKVxcXCIsXFxcIiM2ODFkYThcXFwiLG51bGwsbnVsbCxcXFwidmFyKC0teGhVR3djKVxcXCIsXFxcInZhcigtLU5zbTBjZSlcXFwiLFxcXCJ2YXIoLS1FcEZOVylcXFwiLFxcXCIjZThmMGZlXFxcIixcXFwiIzAwMWQzNVxcXCIsXFxcIiNmMWYzZjRcXFwiLFxcXCIjMWYxZjFmXFxcIixcXFwiI2ZmZlxcXCIsXFxcIiMxZjFmMWZcXFwiLFxcXCIjMWYxZjFmXFxcIixcXFwiI2ZmZlxcXCIsXFxcIiNmZmZcXFwiLFxcXCIjZmZmXFxcIixcXFwiIzE0NmMyZVxcXCIsXFxcIiNiMzI2MWVcXFwiLFxcXCIjYjA2MDAwXFxcIixcXFwidmFyKC0tbVhaa3FjKVxcXCIsXFxcIiNmZmZcXFwiLFxcXCJyZ2JhKDAsMCwwLDAuNilcXFwiLFxcXCJ2YXIoLS1DT0VtWSlcXFwiLFxcXCJ2YXIoLS1nUzVqWGIpXFxcIixcXFwiI2QyZTNmY1xcXCIsbnVsbCxcXFwidmFyKC0tVE1ZUzkpXFxcIixcXFwiIzVlNWU1ZVxcXCIsbnVsbCxcXFwidHJhbnNwYXJlbnRcXFwiLFxcXCIjZGFkY2UwXFxcIixcXFwicmdiYSgwLDAsMCwwLjAzKVxcXCIsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsXFxcIiNlYTQzMzVcXFwiLFxcXCIjMzRhODUzXFxcIixcXFwiIzQyODVmNFxcXCIsXFxcIiNmYmJjMDRcXFwiLFxcXCIjZmJiYzA0XFxcIixcXFwiI2RhZGNlMFxcXCIsXFxcIiNmN2Y4ZjlcXFwiLG51bGwsbnVsbCxudWxsLG51bGwsXFxcIiNlOGYwZmVcXFwiLFxcXCJ2YXIoLS1YS01EeGMpXFxcIixcXFwidmFyKC0tYVluMlMpXFxcIixudWxsLFxcXCJ2YXIoLS1BcW43eGQpXFxcIixudWxsLFxcXCIjYjMyNjFlXFxcIixcXFwiI2Y5ZGVkY1xcXCIsXFxcIiNmZmRmOTJcXFwiLFxcXCIjZjRiZjAwXFxcIixcXFwiI2ZmZlxcXCIsXFxcIiM0MTBlMGJcXFwiLFxcXCIjMjQxYTAwXFxcIixcXFwiIzI0MWEwMFxcXCIsXFxcIiNmZmZcXFwiLFxcXCIjMDcyNzExXFxcIixcXFwiI2IzMjYxZVxcXCIsXFxcIiMxNDZjMmVcXFwiLFxcXCIjMTQ2YzJlXFxcIixcXFwiI2M0ZWVkMFxcXCIsXFxcInZhcigtLW53WG9iYilcXFwiLFxcXCJ2YXIoLS12WmUwamIpXFxcIixcXFwidmFyKC0tUVdhYWFmKVxcXCIsXFxcInZhcigtLVpFcFBtZClcXFwiLFxcXCIjYTlhY2FhXFxcIixcXFwidmFyKC0tTG01NzBiKVxcXCIsXFxcIiNmZmZcXFwiLFxcXCJ2YXIoLS1qSU51NmMpXFxcIixcXFwidmFyKC0tQlJMd0UpXFxcIixcXFwidmFyKC0tREVlU3RmKVxcXCIsXFxcInZhcigtLVRTV1pJYilcXFwiLFxcXCJ2YXIoLS11THozN2MpXFxcIixudWxsLFxcXCIjNTQ1ZDdlXFxcIixcXFwidmFyKC0tVHlWWWxkKVxcXCIsbnVsbCxudWxsLG51bGwsbnVsbCxcXFwidmFyKC0tVnVaWEJkKVxcXCIsXFxcInJnYmEoMjMsMjMsMjMsMC43NSlcXFwiLHtcXFwiMTAwXFxcIjpcXFwicmdiYSgyNDgsMjQ5LDI1MCwwLjk2KVxcXCIsXFxcIjEwMVxcXCI6XFxcInJnYmEoMjU1LDI1NSwyNTUsMC44KVxcXCIsXFxcIjEwMlxcXCI6XFxcInJnYmEoNjAsNjQsNjcsMC4xNilcXFwiLFxcXCIxMDNcXFwiOlxcXCIjMTk2N2QyXFxcIixcXFwiMTA0XFxcIjpcXFwiIzIwMjEyNFxcXCIsXFxcIjEwNVxcXCI6XFxcIiNmMWYzZjRcXFwifV1cIixcIkdwbno0Y1wiOlwiJS5ALlxcXCIjZTBlOWZmXFxcIixcXFwiI2RhZGNlMFxcXCIsXFxcIiNkMmQyZDJcXFwiLFxcXCIjMGI1N2QwXFxcIixcXFwiIzc0Nzg3OFxcXCIsXFxcIiMwMDFkMzVcXFwiLG51bGwsXFxcIiNlYmYxZmZcXFwiLFxcXCIjMDAxZDM1XFxcIixcXFwiI2QzZTNmZFxcXCIsXFxcIiNmZmZcXFwiLFxcXCIjNWU1ZTVlXFxcIixcXFwiIzQ3NDc0N1xcXCIsXFxcIiMxZjFmMWZcXFwiLFxcXCIjMWEwZGFiXFxcIixcXFwiI2QyZDJkMlxcXCIsbnVsbCxcXFwiIzBiNTdkMFxcXCIsXFxcIiNhM2M5ZmZcXFwiLFxcXCIjMDAxZDM1XFxcIixcXFwiI2VjZWRlZVxcXCIsXFxcIiNmN2Y4ZjlcXFwiLFxcXCIjZmZmXFxcIixudWxsLFxcXCIjZjdmOGY5XFxcIixcXFwiI2UwZTlmZlxcXCIsXFxcIiNmNWY4ZmZcXFwiLFxcXCIjZDNlM2ZmXFxcIixcXFwiI2EzYzlmZlxcXCIsbnVsbCxcXFwiI2Y1ZjhmZlxcXCIsXFxcIiMwYjU3ZDBcXFwiLFxcXCIjNTQ1ZDdlXFxcIixcXFwiIzAwMWQzNVxcXCIsbnVsbCxcXFwiI2ViZjFmZlxcXCIsXFxcIiMwMDFkMzVcXFwiLFxcXCIjYzdkYmZmXFxcIixcXFwiI2ZmZlxcXCIsXFxcIiNmZmZcXFwiLFxcXCIjNTQ1ZDdlXFxcIixcXFwiIzAwMWQzNVxcXCIsXFxcIiMwMDFkMzVcXFwiLFxcXCIjMGI1N2QwXFxcIixcXFwiI2EzYzlmZlxcXCIsXFxcIiMwYjU3ZDBcXFwiLG51bGwsXFxcInJnYmEoMCwwLDAsMC42KVxcXCIsXFxcIiNhM2M1ZmZcXFwiLFxcXCIjMDAxZDM1XFxcIixcXFwiI2ZmZlxcXCIsXFxcIiNmNWY4ZmZcXFwiLFxcXCIjZTVlZGZmXFxcIixcXFwiI2VjZWRlZVxcXCIsXFxcIiM0NDZlZmZcXFwiLFxcXCIjYjFjNWZmXFxcIixcXFwiI2M4ZWNmZlxcXCJdXCIsXCJrWFZVemRcIjpcIiUuQC5cXFwiNDBweFxcXCIsXFxcIjQ4cHhcXFwiXVwiLFwiRFQzNFFjXCI6XCIlLkAuXFxcIjQ0cHhcXFwiLFxcXCJyZ2JhKDI2LDExNSwyMzIsMC4wOClcXFwiLFxcXCIzNnB4XFxcIixcXFwiI2YxZjNmNFxcXCIsMjAsMTgsMTYsXFxcIiMyMDIxMjRcXFwiXVwiLFwic0NVNTBkXCI6XCIlLkAubnVsbCxcXFwibm9uZVxcXCIsbnVsbCxcXFwiMHB4IDFweCAzcHggcmdiYSg2MCw2NCw2NywwLjA4KVxcXCIsbnVsbCxcXFwiMHB4IDJweCA2cHggcmdiYSg2MCw2NCw2NywwLjE2KVxcXCIsbnVsbCxcXFwiMHB4IDRweCAxMnB4IHJnYmEoNjAsNjQsNjcsMC4yNClcXFwiLG51bGwsbnVsbCxcXFwiMXB4IHNvbGlkIHZhcigtLW1YWmtxYylcXFwiLFxcXCIwXFxcIixcXFwiMFxcXCIsXFxcIjBcXFwiLG51bGwsXFxcIjBweCAxcHggM3B4IHJnYmEoNjAsNjQsNjcsMC4yNClcXFwiLFxcXCIwXFxcIl1cIixcInc5WmljY1wiOlwiJS5ALlxcXCIjZjFmM2Y0XFxcIixcXFwiMjZweFxcXCIsXFxcIiNlMmVlZmZcXFwiLFxcXCIjMDA2MGYwXFxcIixcXFwiI2UyZWVmZlxcXCIsXFxcIjFweFxcXCIsXFxcIiNkYWRjZTBcXFwiLFxcXCIxcHhcXFwiLFxcXCIjZmZmXFxcIixcXFwiI2RhZGNlMFxcXCIsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsXFxcIjI4cHhcXFwiLFxcXCIxMHB4XFxcIixcXFwiOHB4XFxcIixcXFwiMjBweFxcXCIsXFxcIjEwcHhcXFwiLFxcXCJ2YXIoLS1YS01EeGMpXFxcIixcXFwidmFyKC0tbVhaa3FjKVxcXCIsXFxcIiNmZmZcXFwiXVwiLFwiSWtTc3JmXCI6XCIlLkAuXFxcIkdvb2dsZSBTYW5zLEFyaWFsLHNhbnMtc2VyaWZcXFwiLFxcXCJHb29nbGUgU2FucyxBcmlhbCxzYW5zLXNlcmlmLW1lZGl1bSxzYW5zLXNlcmlmXFxcIixcXFwiQXJpYWwsc2Fucy1zZXJpZlxcXCIsXFxcIkFyaWFsLHNhbnMtc2VyaWYtbWVkaXVtLHNhbnMtc2VyaWZcXFwiLFxcXCJBcmlhbCxzYW5zLXNlcmlmLWxpZ2h0LHNhbnMtc2VyaWZcXFwiXVwiLFwiTVIwdzRcIjpcIiUuQC5cXFwidmFyKC0tZ29vZ2xlLWZzLDEpXFxcIixcXFwidmFyKC0tZ29vZ2xlLXNjcmVlbi1zY2FsZS1yYXRpbywxKVxcXCJdXCIsXCJPSXROcWZcIjpcIiUuQC5udWxsLFxcXCIyNHB4XFxcIl1cIixcIkpNeXVIXCI6XCIlLkAuXVwiLFwiajJGb1NcIjpcIiUuQC5udWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsXFxcIjIwcHhcXFwiXVwiLFwiZTJ6b1dcIjpcIiUuQC5cXFwiMTZweFxcXCIsXFxcIjEycHhcXFwiLFxcXCIwcHhcXFwiLFxcXCI4cHhcXFwiLFxcXCI0cHhcXFwiLFxcXCIycHhcXFwiLFxcXCIyMHB4XFxcIixcXFwiMjRweFxcXCIsXFxcIjQ4cHhcXFwiLFxcXCIyMHB4XFxcIixudWxsLG51bGwsXFxcIjBweFxcXCIsXFxcIjIwcHhcXFwiLFxcXCIzNnB4XFxcIixcXFwiMjBweFxcXCIsbnVsbCxcXFwiODNweFxcXCIsXFxcIjUycHhcXFwiLFxcXCI2cHhcXFwiLFxcXCIyMHB4XFxcIixcXFwiMThweFxcXCIsXFxcIjE2cHhcXFwiLFxcXCIyNHB4XFxcIixcXFwiMTJweFxcXCIsXFxcIjZweFxcXCIsXFxcIjc1cHhcXFwiLFxcXCI1MnB4XFxcIixcXFwiOTQwLjk4cHhcXFwiLFxcXCI2ODRweFxcXCIsXFxcIjY4My45OHB4XFxcIixcXFwiMTE2My45OHB4XFxcIixcXFwiOTQxcHhcXFwiLFxcXCIxNTYwcHhcXFwiLFxcXCIxMTY0cHhcXFwiXVwiLFwiVzFCdGVcIjpcIiUuQC5cXFwiY3ViaWMtYmV6aWVyKDAuMSwxLDAuMiwxKVxcXCIsXFxcImN1YmljLWJlemllcigwLjgsMCwxLDAuOClcXFwiLFxcXCJjdWJpYy1iZXppZXIoMC4yLDAuNiwwLjIsMSlcXFwiLFxcXCJjdWJpYy1iZXppZXIoMC40LDAsMSwwLjgpXFxcIixcXFwiMzAwbXNcXFwiLFxcXCIxMDBtc1xcXCIsXFxcIjIwMG1zXFxcIixcXFwiMjUwbXNcXFwiLFxcXCJjdWJpYy1iZXppZXIoMC40LDAsMC4yLDEpXFxcIixcXFwiY3ViaWMtYmV6aWVyKDAuNCwwLDAuNiwxKVxcXCIsXFxcImN1YmljLWJlemllcigwLjYsMCwwLDEpXFxcIixcXFwiY3ViaWMtYmV6aWVyKDAsMCwxLDEpXFxcIixcXFwiY3ViaWMtYmV6aWVyKDAuMiwwLDAsMSlcXFwiLFxcXCI4MDBtc1xcXCIsXFxcIjEwMDBtc1xcXCIsXFxcIjQwMG1zXFxcIixcXFwiNTAwbXNcXFwiLFxcXCI2MDBtc1xcXCIsXFxcIjUwbXNcXFwiLFxcXCI0MDBtc1xcXCIsXFxcIjMwMG1zXFxcIixcXFwiMjUwbXNcXFwiLFxcXCIxNTBtc1xcXCIsXFxcIjI1MG1zXFxcIixcXFwiMjAwbXNcXFwiLFxcXCIxNTBtc1xcXCIsXFxcIjE1MG1zXFxcIixcXFwiMzAwbXNcXFwiLFxcXCIyNTBtc1xcXCIsXFxcIjIwMG1zXFxcIixcXFwiMTUwbXNcXFwiLFxcXCI0NTBtc1xcXCIsXFxcIjQ1MG1zXFxcIixcXFwiMzAwbXNcXFwiLFxcXCIxNTBtc1xcXCIsXFxcIjMwMG1zXFxcIixcXFwiMjUwbXNcXFwiLFxcXCIyMDBtc1xcXCIsXFxcIjEwMG1zXFxcIixcXFwiMjUwbXNcXFwiLFxcXCIyMDBtc1xcXCIsXFxcIjE1MG1zXFxcIixcXFwiMTAwbXNcXFwiLFxcXCIyNTBtc1xcXCIsXFxcIjIwMG1zXFxcIixcXFwiMTUwbXNcXFwiLFxcXCIxMDBtc1xcXCIsXFxcIjMwMG1zXFxcIixcXFwiMjUwbXNcXFwiLFxcXCIyMDBtc1xcXCIsXFxcIjEwMG1zXFxcIixcXFwibnVsbFxcXCIsXFxcImN1YmljLWJlemllcigwLjMsMCwwLjgsMC4xNSlcXFwiLFxcXCJjdWJpYy1iZXppZXIoMC4wNSwwLjcsMC4xLDEpXFxcIixcXFwiY3ViaWMtYmV6aWVyKDAsMCwxLDEpXFxcIixcXFwiY3ViaWMtYmV6aWVyKDAuMiwwLDAsMSlcXFwiLFxcXCJjdWJpYy1iZXppZXIoMC4zLDAsMSwxKVxcXCIsXFxcImN1YmljLWJlemllcigwLDAsMCwxKVxcXCIsXFxcIjI1MG1zXFxcIixcXFwiMjAwbXNcXFwiLFxcXCIxNTBtc1xcXCIsXFxcIjUwbXNcXFwiLFxcXCI1MG1zXFxcIixcXFwiNTBtc1xcXCIsXFxcIjQwMG1zXFxcIixcXFwiMzUwbXNcXFwiLFxcXCIyNTBtc1xcXCIsXFxcIjUwbXNcXFwiLFxcXCI1MG1zXFxcIixcXFwiNTBtc1xcXCIsXFxcIjIwMG1zXFxcIixcXFwiMTUwbXNcXFwiLFxcXCIxMDBtc1xcXCIsXFxcIjUwbXNcXFwiLFxcXCIyMDBtc1xcXCIsXFxcIjE1MG1zXFxcIixcXFwiMTAwbXNcXFwiLFxcXCI1MG1zXFxcIixcXFwiNTBtc1xcXCIsXFxcIjUwbXNcXFwiLFxcXCIyNTBtc1xcXCIsXFxcIjIwMG1zXFxcIixcXFwiMTUwbXNcXFwiLFxcXCI1MG1zXFxcIixcXFwiNTBtc1xcXCIsXFxcIjUwbXNcXFwiLFxcXCJjdWJpYy1iZXppZXIoMC4wNSwwLjcsMC4xLDEpXFxcIixcXFwiY3ViaWMtYmV6aWVyKDAuMywwLDAuOCwwLjE1KVxcXCJdXCIsXCJwYnZzaGZcIjpcIiUuQC5cXFwiNDhweFxcXCJdXCIsXCJ1OW1lcFwiOlwiJS5ALlxcXCIjMWEwZGFiXFxcIixudWxsLFxcXCIjMWYxZjFmXFxcIixcXFwidmFyKC0tSktxeDIpXFxcIl1cIixcIm1ycWFRYlwiOlwiJS5ALm51bGwsbnVsbCxudWxsLG51bGwsXFxcIjJweFxcXCIsXFxcIjEycHhcXFwiXVwiLFwiazdUcXllXCI6XCIlLkAubnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxcXFwiMTZweFxcXCIsXFxcIjEycHhcXFwiLFxcXCI4cHhcXFwiLFxcXCIyMHB4XFxcIixcXFwiNHB4XFxcIixcXFwiOTk5OXB4XFxcIixcXFwiMHB4XFxcIixcXFwiMnB4XFxcIl1cIixcInk1MExDXCI6XCIlLkAubnVsbCxudWxsLFxcXCIjNGQ1MTU2XFxcIixudWxsLFxcXCIjNWY2MzY4XFxcIl1cIixcImpmU0VrZFwiOlwiJS5ALlxcXCIjMGI1N2QwXFxcIixcXFwidmFyKC0tS0laUG5lKVxcXCIsXFxcInZhcigtLXhQcGlNKVxcXCIsbnVsbCxcXFwiI2QyZTNmY1xcXCIsXFxcIiNkMmUzZmNcXFwiLFxcXCJyZ2JhKDI2LDExNSwyMzIsMC4yNClcXFwiLFxcXCIjNDc0NzQ3XFxcIixcXFwiI2QyZDJkMlxcXCIsXFxcIiNkMmQyZDJcXFwiLFxcXCIjZjdmOGY5XFxcIixcXFwiIzBiNTdkMFxcXCIsXFxcIiNmZmZcXFwiLFxcXCJyZ2JhKDMyLDMzLDM2LDAuMTYpXFxcIixudWxsLFxcXCJyZ2JhKDMyLDMzLDM2LDAuMzIpXFxcIixcXFwiI2ViZjFmZlxcXCIsXFxcIiMwMDFkMzVcXFwiLFxcXCJyZ2JhKDMyLDMzLDM2LDAuMDgpXFxcIixcXFwicmdiYSgzMiwzMywzNiwwLjA4KVxcXCIsXFxcInJnYmEoMzIsMzMsMzYsMC4yNClcXFwiLFxcXCJ0cmFuc3BhcmVudFxcXCIsXFxcInZhcigtLXJySkpVYylcXFwiLG51bGwsXFxcInJnYmEoMjYsMTE1LDIzMiwwLjA4KVxcXCIsXFxcInJnYmEoMjYsMTE1LDIzMiwwLjA4KVxcXCIsXFxcInJnYmEoMjYsMTE1LDIzMiwwLjI0KVxcXCIsbnVsbCxudWxsLG51bGwsXFxcInJnYmEoNjAsNjQsNjcsMC4wOClcXFwiLFxcXCJyZ2JhKDYwLDY0LDY3LDAuMDgpXFxcIixcXFwicmdiYSg2MCw2NCw2NywwLjI0KVxcXCIsXFxcIjJweFxcXCIsXFxcIjJweFxcXCIsXFxcIjYxXFxcIixcXFwidmFyKC0tYmJReEFiKVxcXCIsXFxcIiNkM2UzZmRcXFwiLG51bGwsXFxcIiMwYjU3ZDBcXFwiLFxcXCJ2YXIoLS1YS01EeGMpXFxcIixcXFwidmFyKC0tWUxOTkhjKVxcXCIsXFxcIiM1ZTVlNWVcXFwiLFxcXCJ2YXIoLS1ZTE5OSGMpXFxcIixcXFwidmFyKC0tWUxOTkhjKVxcXCIsXFxcIjE1XFxcIixcXFwiMC4wOFxcXCIsXFxcIjM5XFxcIixcXFwidmFyKC0taklOdTZjKVxcXCIsXFxcInJnYmEoMzIsMzMsMzYsMC4xNilcXFwiLFxcXCIzM1xcXCIsXFxcIjM5XFxcIixcXFwidmFyKC0tRXBGTlcpXFxcIixcXFwiNjZcXFwiLFxcXCIjMDAxZDM1XFxcIixcXFwiIzVlNWU1ZVxcXCIsXFxcIjAuMDhcXFwiLFxcXCJ2YXIoLS1iYlF4QWIpXFxcIixcXFwiMC4wOFxcXCIsXFxcIiM1ZTVlNWVcXFwiLFxcXCJ2YXIoLS1iYlF4QWIpXFxcIixcXFwiMC4yNFxcXCIsXFxcInZhcigtLUlYb3hVZSlcXFwiLFxcXCJ0cmFuc3BhcmVudFxcXCIsXFxcIjAuMDhcXFwiLFxcXCIwLjA4XFxcIixcXFwidmFyKC0tSVhveFVlKVxcXCIsXFxcIjAuMjRcXFwiLFxcXCJ2YXIoLS1JWG94VWUpXFxcIixcXFwidHJhbnNwYXJlbnRcXFwiLFxcXCIwLjA4XFxcIixcXFwiMC4wOFxcXCIsXFxcInZhcigtLXVMejM3YylcXFwiLFxcXCIwLjI0XFxcIixcXFwidmFyKC0tdUx6MzdjKVxcXCIsXFxcInZhcigtLWpJTnU2YylcXFwiLFxcXCJ2YXIoLS1qSU51NmMpXFxcIixcXFwiMTVcXFwiLFxcXCIjMTk2N2QyXFxcIixcXFwiMTVcXFwiLFxcXCIjMGI1N2QwXFxcIixcXFwiMzlcXFwiLFxcXCIjMGI1N2QwXFxcIixcXFwiMTVcXFwiLFxcXCIxNVxcXCIsXFxcIiMwYjU3ZDBcXFwiLFxcXCIjMDAxZDM1XFxcIixcXFwiMzlcXFwiLFxcXCIjMGI1N2QwXFxcIixcXFwidmFyKC0taklOdTZjKVxcXCIsXFxcIjE1XFxcIixcXFwiMTVcXFwiLFxcXCIzOVxcXCIsXFxcIiMwYjU3ZDBcXFwiLFxcXCJyZ2JhKDAsMCwwLDAuNilcXFwiLFxcXCIzM1xcXCIsXFxcIjMzXFxcIixcXFwiI2ZmZlxcXCIsXFxcIjY2XFxcIix7XFxcIjEwMFxcXCI6XFxcIiNmZmZcXFwiLFxcXCIxMDFcXFwiOlxcXCIwLjA4XFxcIixcXFwiMTAyXFxcIjpcXFwiMC4wOFxcXCIsXFxcIjEwM1xcXCI6XFxcIiMxZjFmMWZcXFwiLFxcXCIxMDRcXFwiOlxcXCIwLjI0XFxcIixcXFwiMTA1XFxcIjpcXFwiIzFmMWYxZlxcXCIsXFxcIjEwNlxcXCI6XFxcInJnYmEoMCwwLDAsMC4xKVxcXCIsXFxcIjEwN1xcXCI6XFxcIjAuMDhcXFwiLFxcXCIxMDhcXFwiOlxcXCIjMTg1YWJjXFxcIixcXFwiMTA5XFxcIjpcXFwiMC4wOFxcXCIsXFxcIjExMFxcXCI6XFxcIjAuMjRcXFwiLFxcXCIxMTFcXFwiOlxcXCJ2YXIoLS1Oc20wY2UpXFxcIixcXFwiMTEyXFxcIjpcXFwiMFxcXCIsXFxcIjExM1xcXCI6XFxcInRyYW5zcGFyZW50XFxcIixcXFwiMTE0XFxcIjpcXFwiMC4wOFxcXCIsXFxcIjExNVxcXCI6XFxcIjAuMDhcXFwiLFxcXCIxMTZcXFwiOlxcXCJ2YXIoLS1ZTE5OSGMpXFxcIixcXFwiMTE3XFxcIjpcXFwiMC4yNFxcXCIsXFxcIjExOFxcXCI6XFxcInZhcigtLVlMTk5IYylcXFwiLFxcXCIxMTlcXFwiOlxcXCIwLjc1XFxcIixcXFwiMTIwXFxcIjpcXFwiMC42XFxcIixcXFwiMTIxXFxcIjpcXFwicmdiYSgzMSwzMSwzMSwwLjA3ODQzMTM3NSlcXFwiLFxcXCIxMjJcXFwiOlxcXCJyZ2JhKDMxLDMxLDMxLDAuMDgpXFxcIixcXFwiMTIzXFxcIjpcXFwicmdiYSgzMSwzMSwzMSwwLjIzOTIxNTY5KVxcXCIsXFxcIjEyNFxcXCI6XFxcInJnYmEoMTEsODcsMjA4LDAuMDc4NDMxMzc1KVxcXCIsXFxcIjEyNVxcXCI6XFxcInJnYmEoMTEsODcsMjA4LDAuMDc4NDMxMzc1KVxcXCIsXFxcIjEyNlxcXCI6XFxcInJnYmEoMTEsODcsMjA4LDAuMjM5MjE1NjkpXFxcIixcXFwiMTI3XFxcIjpcXFwicmdiYSgzMiwzMywzNiwwLjIpXFxcIixcXFwiMTI4XFxcIjpcXFwicmdiYSgzMiwzMywzNiwwLjIpXFxcIixcXFwiMTI5XFxcIjpcXFwicmdiYSgzMiwzMywzNiwwLjQpXFxcIixcXFwiMTMwXFxcIjpcXFwicmdiYSgzMiwzMywzNiwwLjA3ODQzMTM3NSlcXFwiLFxcXCIxMzFcXFwiOlxcXCJyZ2JhKDMyLDMzLDM2LDAuMDc4NDMxMzc1KVxcXCIsXFxcIjEzMlxcXCI6XFxcInJnYmEoMzIsMzMsMzYsMC4yMzkyMTU2OSlcXFwiLFxcXCIxMzNcXFwiOlxcXCJ2YXIoLS1FaGg0bWYpXFxcIn1dXCIsXCJHVnRQbVwiOlwiJS5ALm51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxcXFwiMCAwIDAgMXB4IHZhcigtLW1YWmtxYylcXFwiLFxcXCIxcHggc29saWQgdmFyKC0tbVhaa3FjKVxcXCIsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLFxcXCJ0cmFuc3BhcmVudFxcXCIsXFxcInJnYmEoMjMsMjMsMjMsMC4zKVxcXCIsbnVsbCxudWxsLFxcXCIxNnB4XFxcIl1cIixcIk1leE50ZVwiOlwiJS5ALlxcXCI3MDBcXFwiLFxcXCI0MDBcXFwiLFxcXCJ1bmRlcmxpbmVcXFwiLFxcXCJub25lXFxcIixcXFwiY2FwaXRhbGl6ZVxcXCIsXFxcIm5vbmVcXFwiLFxcXCJ1cHBlcmNhc2VcXFwiLFxcXCJub25lXFxcIixcXFwiNTAwXFxcIixcXFwibG93ZXJjYXNlXFxcIixcXFwiaXRhbGljXFxcIixudWxsLG51bGwsXFxcIi0xcHhcXFwiLFxcXCIwLjNweFxcXCIsXFxcIjIwcHhcXFwiLFxcXCIxMnB4XFxcIixudWxsLFxcXCIxMnB4XFxcIixcXFwiMTRweFxcXCIsXFxcIjE2cHhcXFwiLFxcXCIxOHB4XFxcIixcXFwiMjJweFxcXCIsXFxcIjI0cHhcXFwiLFxcXCIyNnB4XFxcIixcXFwiMjhweFxcXCIsXFxcIjMycHhcXFwiLFxcXCIzNnB4XFxcIixcXFwiNDBweFxcXCIsXFxcIjQ4cHhcXFwiLFxcXCI1MnB4XFxcIixcXFwiNTZweFxcXCIsXFxcIjYwcHhcXFwiLFxcXCIxNHB4XFxcIixcXFwiMTZweFxcXCIsXFxcIjE4cHhcXFwiLFxcXCIyMHB4XFxcIixcXFwiMjJweFxcXCIsXFxcIjI0cHhcXFwiLFxcXCIyOHB4XFxcIixcXFwiMzZweFxcXCIsXFxcIjQwcHhcXFwiLFxcXCI0NXB4XFxcIixcXFwiNDhweFxcXCIsXFxcIjU2cHhcXFwiLFxcXCIwXFxcIixcXFwiMC4xcHhcXFwiXVwiLFwiQWFoY25mXCI6XCIlLkAuXFxcIjI4cHhcXFwiLFxcXCIzNnB4XFxcIixcXFwiNDAwXFxcIixcXFwiR29vZ2xlIFNhbnMsQXJpYWwsc2Fucy1zZXJpZlxcXCIsbnVsbCxcXFwiQXJpYWwsc2Fucy1zZXJpZlxcXCIsXFxcIjE0cHhcXFwiLFxcXCI0MDBcXFwiLFxcXCIyMnB4XFxcIixudWxsLFxcXCIxOHB4XFxcIixcXFwiMjRweFxcXCIsXFxcIjQwMFxcXCIsXFxcIkdvb2dsZSBTYW5zLEFyaWFsLHNhbnMtc2VyaWZcXFwiLG51bGwsXFxcIkdvb2dsZSBTYW5zLEFyaWFsLHNhbnMtc2VyaWZcXFwiLFxcXCI1NnB4XFxcIixcXFwiNDhweFxcXCIsXFxcIjBcXFwiLG51bGwsXFxcIjQwMFxcXCIsXFxcIkdvb2dsZSBTYW5zLEFyaWFsLHNhbnMtc2VyaWZcXFwiLFxcXCIzNnB4XFxcIixcXFwiNDAwXFxcIixcXFwiNDhweFxcXCIsbnVsbCxcXFwiR29vZ2xlIFNhbnMsQXJpYWwsc2Fucy1zZXJpZlxcXCIsXFxcIjM2cHhcXFwiLFxcXCIyOHB4XFxcIixudWxsLFxcXCI0MDBcXFwiLG51bGwsXFxcIkFyaWFsLHNhbnMtc2VyaWZcXFwiLFxcXCIyNHB4XFxcIixcXFwiMThweFxcXCIsbnVsbCxcXFwiNDAwXFxcIixcXFwiQXJpYWwsc2Fucy1zZXJpZlxcXCIsXFxcIjE2cHhcXFwiLFxcXCIxMnB4XFxcIixudWxsLFxcXCI0MDBcXFwiLFxcXCJBcmlhbCxzYW5zLXNlcmlmXFxcIixcXFwiMjRweFxcXCIsXFxcIjE2cHhcXFwiLG51bGwsXFxcIjQwMFxcXCIsXFxcIkFyaWFsLHNhbnMtc2VyaWZcXFwiLFxcXCIyNHB4XFxcIixcXFwiMjBweFxcXCIsbnVsbCxcXFwiNDAwXFxcIixcXFwiQXJpYWwsc2Fucy1zZXJpZlxcXCIsXFxcIjI0cHhcXFwiLFxcXCIxNnB4XFxcIixudWxsLFxcXCI0MDBcXFwiLFxcXCJBcmlhbCxzYW5zLXNlcmlmXFxcIixcXFwiMThweFxcXCIsXFxcIjE0cHhcXFwiLG51bGwsXFxcIjQwMFxcXCIsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLFxcXCIxNHB4XFxcIixcXFwiR29vZ2xlIFNhbnMsQXJpYWwsc2Fucy1zZXJpZlxcXCIsXFxcIjIwcHhcXFwiLFxcXCI0MDBcXFwiLFxcXCJHb29nbGUgU2FucyxBcmlhbCxzYW5zLXNlcmlmXFxcIixcXFwiMjhweFxcXCIsXFxcIjIycHhcXFwiLFxcXCI0MDBcXFwiLFxcXCJHb29nbGUgU2FucyxBcmlhbCxzYW5zLXNlcmlmXFxcIixcXFwiMjRweFxcXCIsXFxcIjE2cHhcXFwiLFxcXCI0MDBcXFwiLFxcXCJBcmlhbCxzYW5zLXNlcmlmLW1lZGl1bSxzYW5zLXNlcmlmXFxcIixcXFwiMTZweFxcXCIsXFxcIjEycHhcXFwiLFxcXCJHb29nbGUgU2FucyxBcmlhbCxzYW5zLXNlcmlmXFxcIixcXFwiMjhweFxcXCIsXFxcIjIycHhcXFwiLFxcXCI0MDBcXFwiLG51bGwsbnVsbCxudWxsLG51bGwsXFxcIjUwMFxcXCIsXFxcIjBweFxcXCIsXFxcIjBweFxcXCIsXFxcIjBcXFwiXVwiLFwiUEZobWVkXCI6XCIlLkAuXFxcInJnYmEoMjU1LDI1NSwyNTUsMClcXFwiLFxcXCJyZ2JhKDI1NSwyNTUsMjU1LDAuOSlcXFwiLG51bGwsXFxcInJnYmEoMTEsODcsMjA4LDAuMDgpXFxcIixcXFwidmFyKC0tWEtNRHhjKVxcXCIsXFxcInJnYmEoMzIsMzMsMzYsMC41KVxcXCIsXFxcIiNlY2VkZWVcXFwiLFxcXCIjZWNlZGVlXFxcIl1cIixcIm1mMXlpZlwiOlwiJS5ALjRdXCIsXCJCNHBaYmRcIjpcIkxVXCIsXCJhS1hxR2NcIjpcIiUuQC5cXFwiMTRweFxcXCIsMTQsXFxcIjE2cHhcXFwiLDE2LFxcXCIwXFxcIiwwLFxcXCJub25lXFxcIiw2MzIsXFxcIjFweCBzb2xpZCAjZGFkY2UwXFxcIixcXFwibm9ybWFsXFxcIixcXFwibm9ybWFsXFxcIixcXFwiIzcwNzU3YVxcXCIsXFxcIjEycHhcXFwiLFxcXCIxLjM0XFxcIixcXFwiMXB4IHNvbGlkICNkYWRjZTBcXFwiLFxcXCJub25lXFxcIixcXFwiMFxcXCIsXFxcIm5vbmVcXFwiLFxcXCJub25lXFxcIixcXFwibm9uZVxcXCIsXFxcIm5vbmVcXFwiLFxcXCI2cHhcXFwiLFxcXCI2MzJweFxcXCJdXCIsXCJaUDBvaWZcIjpcIiUuQC5cXFwiMTZweFxcXCIsXFxcIiNlYmVkZWZcXFwiXVwiLFwibzBQOEhmXCI6XCIlLkAuXFxcInJnYmEoMCwwLDAsMC4wKVxcXCIsXFxcIiNmZmZcXFwiLFxcXCJyZ2JhKDI1NSwyNTUsMjU1LC4wKVxcXCIsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsXFxcIiNmOGY5ZmFcXFwiLFxcXCIjMDAwXFxcIixcXFwiIzFhNzNlOFxcXCIsXFxcIiNkYWRjZTBcXFwiLFxcXCIjZmZmXFxcIixcXFwiI2ZmZlxcXCIsbnVsbCxcXFwiIzcwNzU3YVxcXCIsXFxcInJnYmEoMCwwLDAsMC4yNilcXFwiLFxcXCJyZ2JhKDAsMCwwLDAuMilcXFwiLG51bGwsbnVsbCxudWxsLFxcXCJyZ2JhKDAsMCwwLDAuMSlcXFwiLFxcXCIjZmZmXFxcIixudWxsLG51bGwsXFxcIiMwMDBcXFwiLG51bGwsbnVsbCxudWxsLFxcXCJyZ2JhKDI1NSwyNTUsMjU1LDAuNSlcXFwiLG51bGwsXFxcInJnYmEoMCwwLDAsMC4zKVxcXCIsXFxcInJnYmEoMCwwLDAsMC4yKVxcXCIsbnVsbCxudWxsLFxcXCJyZ2JhKDAsMCwwLC4wNClcXFwiLG51bGwsbnVsbCxcXFwiIzcwNzU3YVxcXCIsXFxcIiM3MDc1N2FcXFwiLFxcXCJyZ2JhKDAsMCwwLC4yMilcXFwiLFxcXCJyZ2JhKDAsMCwwLC4zMClcXFwiLFxcXCJyZ2JhKDAsMCwwLC4wNilcXFwiLG51bGwsXFxcIiNkMmUzZmNcXFwiLG51bGwsXFxcInJnYmEoMzIsMzMsMzYsLjcpXFxcIixudWxsLG51bGwsbnVsbCxcXFwicmdiYSgyNTUsMjU1LDI1NSwuOClcXFwiLFxcXCJyZ2JhKDYwLDY0LDY3LC4xNSlcXFwiLG51bGwsXFxcInJnYmEoMCwwLDAsLjE2KVxcXCIsbnVsbCxcXFwicmdiYSgwLDAsMCwuMTQpXFxcIixcXFwicmdiYSgwLDAsMCwuMTIpXFxcIixudWxsLG51bGwsXFxcInJnYmEoMCwwLDAsLjI0KVxcXCIsXFxcInJnYmEoMCwwLDAsLjA1KVxcXCIsXFxcInJnYmEoMCwwLDAsLjEzKVxcXCIsXFxcInJnYmEoNjAsNjQsNjcsLjMpXFxcIixcXFwicmdiYSgwLDAsMCwuMzYpXFxcIixcXFwicmdiYSgwLDAsMCwuMTUpXFxcIixcXFwicmdiYSgzMiwzMywzNiwuMjgpXFxcIixcXFwicmdiYSgyMTgsMjIwLDIyNCwuNylcXFwiLFxcXCIjZGFkY2UwXFxcIixcXFwiI2ZmZlxcXCIsXFxcIiNmZmZcXFwiLFxcXCIjMWE3M2U4XFxcIixcXFwiIzAwMFxcXCIsXFxcInJnYmEoMCwwLDAsLjApXFxcIixcXFwiIzIwMjEyNFxcXCIsXFxcInJnYmEoMCwwLDAsLjgpXFxcIixcXFwicmdiYSgyNiwxMTUsMjMyLDApXFxcIixcXFwicmdiYSgyNiwxMTUsMjMyLC43KVxcXCIsbnVsbCxcXFwicmdiYSgzMiwzMywzNiwuNylcXFwiLFxcXCJyZ2JhKDAsMCwwLC44KVxcXCIsbnVsbCxudWxsLG51bGwsbnVsbCxcXFwicmdiYSgyNTUsMjU1LDI1NSwuNTQpXFxcIixudWxsLFxcXCJyZ2JhKDYwLDY0LDY3LC4zOClcXFwiLFxcXCJyZ2JhKDI1NSwyNTUsMjU1LC4zKVxcXCIsXFxcInJnYmEoMCwwLDAsMC41NClcXFwiLFxcXCJyZ2JhKDAsMCwwLDAuOClcXFwiLFxcXCJyZ2JhKDI0OCwyNDksMjUwLDAuODUpXFxcIixcXFwiI2RhZGNlMFxcXCIsXFxcIiNlYTQzMzVcXFwiLFxcXCIjMzRhODUzXFxcIixudWxsLG51bGwsXFxcIiMzYzQwNDNcXFwiLFxcXCIjMjAyMTI0XFxcIix7XFxcIjEwMFxcXCI6XFxcIiNmOGY5ZmFcXFwiLFxcXCIxMDFcXFwiOlxcXCIjZGFkY2UwXFxcIixcXFwiMTAyXFxcIjpcXFwiIzNjNDA0M1xcXCIsXFxcIjEwNlxcXCI6XFxcIiM3MDc1N2FcXFwiLFxcXCIxMDhcXFwiOlxcXCIjZjhmOWZhXFxcIixcXFwiMTEyXFxcIjpcXFwiI2RhZGNlMFxcXCIsXFxcIjExM1xcXCI6XFxcIiNlOGYwZmVcXFwiLFxcXCIxMTRcXFwiOlxcXCIjNDI4NWY0XFxcIixcXFwiMTE3XFxcIjpcXFwiIzQyODVmNFxcXCIsXFxcIjExOFxcXCI6XFxcIiMxYTczZThcXFwiLFxcXCIxMjFcXFwiOlxcXCIjNDI4NWY0XFxcIixcXFwiMTI2XFxcIjpcXFwiI2U4ZjBmZVxcXCIsXFxcIjEyN1xcXCI6XFxcIiNkMmUzZmNcXFwiLFxcXCIxMjhcXFwiOlxcXCIjNDI4NWY0XFxcIixcXFwiMTI5XFxcIjpcXFwiIzFhNzNlOFxcXCIsXFxcIjEzMFxcXCI6XFxcIiNmY2U4ZTZcXFwiLFxcXCIxMzFcXFwiOlxcXCIjZmFkMmNmXFxcIixcXFwiMTM0XFxcIjpcXFwiI2Q5MzAyNVxcXCIsXFxcIjE0MFxcXCI6XFxcIiNkOTMwMjVcXFwiLFxcXCIxNDRcXFwiOlxcXCIjZDkzMDI1XFxcIixcXFwiMTQ3XFxcIjpcXFwiI2VhNDMzNVxcXCIsXFxcIjE0OVxcXCI6XFxcIiNhNTBlMGVcXFwiLFxcXCIxNTBcXFwiOlxcXCIjZmVmN2UwXFxcIixcXFwiMTY2XFxcIjpcXFwiI2ZiYmMwNFxcXCIsXFxcIjE2OVxcXCI6XFxcIiNlYTg2MDBcXFwiLFxcXCIxNzFcXFwiOlxcXCIjZTZmNGVhXFxcIixcXFwiMTgwXFxcIjpcXFwiIzE4ODAzOFxcXCIsXFxcIjE4N1xcXCI6XFxcIiMzNGE4NTNcXFwiLFxcXCIxODhcXFwiOlxcXCIjMWU4ZTNlXFxcIixcXFwiMTg5XFxcIjpcXFwiIzE4ODAzOFxcXCIsXFxcIjE5MFxcXCI6XFxcIiMxMzczMzNcXFwiLFxcXCIxOTFcXFwiOlxcXCIjMGQ2NTJkXFxcIixcXFwiMTkyXFxcIjpcXFwicmdiYSgwLDAsMCwuMSlcXFwiLFxcXCIxOTNcXFwiOlxcXCJyZ2JhKDAsMCwwLC4yKVxcXCIsXFxcIjE5NlxcXCI6XFxcInJnYmEoMjU1LDI1NSwyNTUsMClcXFwiLFxcXCIxOTdcXFwiOlxcXCJyZ2JhKDAsMCwwLC4xMilcXFwiLFxcXCIxOThcXFwiOlxcXCJyZ2JhKDMyLDMzLDM2LDApXFxcIixcXFwiMTk5XFxcIjpcXFwicmdiYSgzMiwzMywzNiwuMSlcXFwiLFxcXCIyMDBcXFwiOlxcXCJyZ2JhKDAsMCwwLC4xMilcXFwiLFxcXCIyMDFcXFwiOlxcXCJyZ2JhKDAsMCwwLC41KVxcXCIsXFxcIjIwM1xcXCI6XFxcIiMwMDBcXFwiLFxcXCIyMDRcXFwiOlxcXCJyZ2JhKDI1NSwyNTUsMjU1LC41KVxcXCIsXFxcIjIwNVxcXCI6XFxcIiMxNTU4ZDZcXFwiLFxcXCIyMDdcXFwiOlxcXCJyZ2JhKDAsMCwwLC4yNClcXFwiLFxcXCIyMDhcXFwiOlxcXCIjZjhmOWZhXFxcIixcXFwiMjA5XFxcIjpcXFwicmdiYSgyNTUsMjU1LDI1NSwuNilcXFwiLFxcXCIyMTBcXFwiOlxcXCIjMWU4ZTNlXFxcIixcXFwiMjExXFxcIjpcXFwicmdiYSgwLDAsMCwuMDIpXFxcIixcXFwiMjEyXFxcIjpcXFwiIzAwMFxcXCIsXFxcIjIxNFxcXCI6XFxcInJnYmEoMCwwLDAsLjcpXFxcIixcXFwiMjE1XFxcIjpcXFwiIzFhNzNlOFxcXCIsXFxcIjIxNlxcXCI6XFxcIiNkOTMwMjVcXFwiLFxcXCIyMTdcXFwiOlxcXCIjNDI4NWY0XFxcIixcXFwiMjE4XFxcIjpcXFwicmdiYSgwLDAsMCwuMTUpXFxcIixcXFwiMjE5XFxcIjpcXFwicmdiYSgwLDAsMCwuMDUpXFxcIixcXFwiMjIwXFxcIjpcXFwiIzcwNzU3YVxcXCIsXFxcIjIyMVxcXCI6XFxcIiNkYWRjZTBcXFwiLFxcXCIyMjJcXFwiOlxcXCIjMTg4MDM4XFxcIixcXFwiMjIzXFxcIjpcXFwicmdiYSgwLDAsMCwuNilcXFwiLFxcXCIyMjRcXFwiOlxcXCIjMzRhODUzXFxcIixcXFwiMjI1XFxcIjpcXFwicmdiYSgyNTUsMjU1LDI1NSwuMylcXFwiLFxcXCIyMjZcXFwiOlxcXCJyZ2JhKDAsMCwwLC4wNSlcXFwiLFxcXCIyMjdcXFwiOlxcXCJyZ2JhKDAsMCwwLC4wNSlcXFwiLFxcXCIyMjhcXFwiOlxcXCJyZ2JhKDMyLDMzLDM2LC45KVxcXCIsXFxcIjIyOVxcXCI6XFxcInJnYmEoMjU1LDI1NSwyNTUsLjYpXFxcIixcXFwiMjMwXFxcIjpcXFwicmdiYSgwLDAsMCwuMDgpXFxcIixcXFwiMjMxXFxcIjpcXFwicmdiYSgyNTUsMjU1LDI1NSwuOClcXFwiLFxcXCIyMzJcXFwiOlxcXCJyZ2JhKDAsMCwwLC4wNSlcXFwiLFxcXCIyMzNcXFwiOlxcXCIjNDI4NWY0XFxcIixcXFwiMjM0XFxcIjpcXFwicmdiYSgwLDAsMCwuMTYpXFxcIixcXFwiMjM1XFxcIjpcXFwiI2ZmZlxcXCIsXFxcIjIzNlxcXCI6XFxcInJnYmEoMCwwLDAsLjg3KVxcXCIsXFxcIjIzOFxcXCI6XFxcIiNmZGQ2NjNcXFwiLFxcXCIyMzlcXFwiOlxcXCIjZmRkNjYzXFxcIixcXFwiMjQzXFxcIjpcXFwiI2ZkZDY2M1xcXCIsXFxcIjI0NFxcXCI6XFxcInJnYmEoMjU1LDI1NSwyNTUsLjU0KVxcXCIsXFxcIjI0NlxcXCI6XFxcInJnYmEoMCwwLDAsLjI2KVxcXCIsXFxcIjI0N1xcXCI6XFxcInJnYmEoMCwwLDAsLjI2KVxcXCIsXFxcIjI0OFxcXCI6XFxcInJnYmEoMCwwLDAsLjM4KVxcXCIsXFxcIjI0OVxcXCI6XFxcInJnYmEoMCwwLDAsLjAzKVxcXCIsXFxcIjI1MFxcXCI6XFxcIiM0Mjg1ZjRcXFwiLFxcXCIyNTFcXFwiOlxcXCJyZ2JhKDYwLDY0LDY3LC4xMilcXFwiLFxcXCIyNTJcXFwiOlxcXCJyZ2JhKDI1NSwyNTUsMjU1LDApXFxcIixcXFwiMjUzXFxcIjpcXFwicmdiYSgwLDAsMCwwKVxcXCIsXFxcIjI1NlxcXCI6XFxcIiMzYzQwNDNcXFwiLFxcXCIyNTdcXFwiOlxcXCIjZDJlM2ZjXFxcIixcXFwiMjU4XFxcIjpcXFwiI2QyZTNmY1xcXCIsXFxcIjI1OVxcXCI6XFxcIiM0Mjg1ZjRcXFwiLFxcXCIyNjFcXFwiOlxcXCJyZ2JhKDAsMCwwLC4xNilcXFwiLFxcXCIyNjJcXFwiOlxcXCJyZ2JhKDI1NSwyNTUsMjU1LC4zKVxcXCIsXFxcIjI2M1xcXCI6XFxcInJnYmEoMCwwLDAsMClcXFwiLFxcXCIyNjRcXFwiOlxcXCIjYzUyMjFmXFxcIixcXFwiMjY1XFxcIjpcXFwiI2RhZGNlMFxcXCIsXFxcIjI2NlxcXCI6XFxcIiNlYTQzMzVcXFwiLFxcXCIyNjdcXFwiOlxcXCIjMzRhODUzXFxcIixcXFwiMjY4XFxcIjpcXFwicmdiYSg2MCw2NCw2NywuMTUpXFxcIixcXFwiMjY5XFxcIjpcXFwicmdiYSgxOSwxMTUsNTEsLjE1KVxcXCIsXFxcIjI3MFxcXCI6XFxcInJnYmEoMCwwLDAsLjE1KVxcXCIsXFxcIjI3MVxcXCI6XFxcInJnYmEoMCwwLDAsLjE4KVxcXCIsXFxcIjI3MlxcXCI6XFxcInJnYmEoMCwwLDAsLjI4KVxcXCIsXFxcIjI3M1xcXCI6XFxcInJnYmEoNjAsNjQsNjcsLjMpXFxcIixcXFwiMjc0XFxcIjpcXFwiIzE1NThkNlxcXCIsXFxcIjI3NVxcXCI6XFxcInJnYmEoMjE4LDIyMCwyMjQsMClcXFwiLFxcXCIyNzZcXFwiOlxcXCJyZ2JhKDIxOCwyMjAsMjI0LDAuNSlcXFwiLFxcXCIyNzdcXFwiOlxcXCJyZ2JhKDAsMCwwLC4yNilcXFwifV1cIixcInJrRDI1XCI6XCIlLkAuW1tcXFwiaGxcXFwiLFxcXCJkZS1MVVxcXCJdXV1cIixcIldpTHpaZVwiOlwiJS5ALlxcXCIjMjAyMTI0XFxcIixcXFwiIzcwNzU3YVxcXCIsbnVsbCxudWxsLFxcXCIjZmZmXFxcIixcXFwicmdiYSgyNTUsMjU1LDI1NSwuNzApXFxcIiwyOCwyNCwyNiwyMCwxNiwtMiwwLC00LDIsMCwwLDI0LDIwLDIwLDE0LDEyXVwiLFwiQVlrTFJlXCI6XCIlLkAuXFxcIjIwcHhcXFwiLDIwLFxcXCIxNHB4XFxcIiwxNCxcXFwiXFxcXFxcXCJyZ2JhKDAsIDAsIDAsIC44NylcXFxcXFxcIlxcXCJdXCIsXCJyTnl1SmNcIjpcIlwiLFwiTFU1ZkdiXCI6ZmFsc2UsXCJnWGtIb2VcIjpcIjEwNTI1MDUwNjA5Nzk3OTc1Mzk2OFwiLFwiaGV2b25jXCI6XCIlLkAuMV1cIixcInNCdmR3YlwiOlwiJS5ALlxcXCJyZ2JhKDI2LDczLDIzMiwwLjEpXFxcIixcXFwicmdiYSgyNiw3MywyMzIsMC4wMylcXFwiLFxcXCJyZ2JhKDAsMCwwLDAuMDUpXFxcIixcXFwiMS4zXFxcIl1cIixcInhjbGp5YlwiOlwiJS5ALlxcXCI4cHhcXFwiLDgsXFxcIlJvYm90by1NZWRpdW0sSGVsdmV0aWNhTmV1ZS1NZWRpdW0sSGVsdmV0aWNhIE5ldWUsc2Fucy1zZXJpZi1tZWRpdW0sQXJpYWwsc2Fucy1zZXJpZlxcXCJdXCJ9O30pKCk7KGZ1bmN0aW9uKCl7Z29vZ2xlLmxkaT17fTtnb29nbGUucGltPXt9O2dvb2dsZS5sZGllPVtdOyhmdW5jdGlvbigpe3ZhciBhPWdvb2dsZS5sZGl8fHt9LGI9Z29vZ2xlLnBpbXx8e30sYztmb3IoYyBpbiBhKWlmKGEuaGFzT3duUHJvcGVydHkoYykpe2MgaW4gYiYmKGFbY109YltjXSk7dmFyIGQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYyl8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5xdWVyeVNlbGVjdG9yKCdpbWdbZGF0YS1paWQ9XCInK2MrJ1wiXScpO2QmJk51bWJlcihkLmdldEF0dHJpYnV0ZShcImRhdGEtYXRmXCIpKSYxJiYoZC5zZXRBdHRyaWJ1dGUoXCJkYXRhLWRlZmVycmVkXCIsXCIyXCIpLGQuc3JjPWFbY10pfTt9KS5jYWxsKHRoaXMpO30pKCk7KGZ1bmN0aW9uKCl7Zm9yKHZhciBhPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaW1nXCIpLGI9MCxjPWEubGVuZ3RoO2I8YzsrK2Ipe3ZhciBkPWFbYl0sZTtpZihlPU51bWJlcihkLmdldEF0dHJpYnV0ZShcImRhdGEtYXRmXCIpKSYxKXt2YXIgZj1kLmdldEF0dHJpYnV0ZShcImpzY29udHJvbGxlclwiKTtlPShmPT09XCJVQlhISVwifHxmPT09XCJSM2Zoa2JcInx8Zj09PVwiVFNaRXFkXCIpJiZkLmhhc0F0dHJpYnV0ZShcImRhdGEtc3JjXCIpfWUmJihkLnNyYz1kLmdldEF0dHJpYnV0ZShcImRhdGEtc3JjXCIpKX07fSkuY2FsbCh0aGlzKTsoZnVuY3Rpb24oKXt2YXIgYj1mdW5jdGlvbihhKXt2YXIgYz0wO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBjPGEubGVuZ3RoP3tkb25lOiExLHZhbHVlOmFbYysrXX06e2RvbmU6ITB9fX07XG52YXIgZT10aGlzfHxzZWxmO3ZhciBnLGg7YTp7Zm9yKHZhciBrPVtcIkNMT1NVUkVfRkxBR1NcIl0sbD1lLG49MDtuPGsubGVuZ3RoO24rKylpZihsPWxba1tuXV0sbD09bnVsbCl7aD1udWxsO2JyZWFrIGF9aD1sfXZhciBwPWgmJmhbNjEwNDAxMzAxXTtnPXAhPW51bGw/cDohMTt2YXIgcSxyPWUubmF2aWdhdG9yO3E9cj9yLnVzZXJBZ2VudERhdGF8fG51bGw6bnVsbDtmdW5jdGlvbiB0KGEpe3JldHVybiBnP3E/cS5icmFuZHMuc29tZShmdW5jdGlvbihjKXtyZXR1cm4oYz1jLmJyYW5kKSYmYy5pbmRleE9mKGEpIT0tMX0pOiExOiExfWZ1bmN0aW9uIHUoYSl7dmFyIGM7YTp7aWYoYz1lLm5hdmlnYXRvcilpZihjPWMudXNlckFnZW50KWJyZWFrIGE7Yz1cIlwifXJldHVybiBjLmluZGV4T2YoYSkhPS0xfTtmdW5jdGlvbiB2KCl7cmV0dXJuIGc/ISFxJiZxLmJyYW5kcy5sZW5ndGg+MDohMX1mdW5jdGlvbiB3KCl7cmV0dXJuIHUoXCJTYWZhcmlcIikmJiEoeCgpfHwodigpPzA6dShcIkNvYXN0XCIpKXx8KHYoKT8wOnUoXCJPcGVyYVwiKSl8fCh2KCk/MDp1KFwiRWRnZVwiKSl8fCh2KCk/dChcIk1pY3Jvc29mdCBFZGdlXCIpOnUoXCJFZGcvXCIpKXx8KHYoKT90KFwiT3BlcmFcIik6dShcIk9QUlwiKSl8fHUoXCJGaXJlZm94XCIpfHx1KFwiRnhpT1NcIil8fHUoXCJTaWxrXCIpfHx1KFwiQW5kcm9pZFwiKSl9ZnVuY3Rpb24geCgpe3JldHVybiB2KCk/dChcIkNocm9taXVtXCIpOih1KFwiQ2hyb21lXCIpfHx1KFwiQ3JpT1NcIikpJiYhKHYoKT8wOnUoXCJFZGdlXCIpKXx8dShcIlNpbGtcIil9ZnVuY3Rpb24geSgpe3JldHVybiB1KFwiQW5kcm9pZFwiKSYmISh4KCl8fHUoXCJGaXJlZm94XCIpfHx1KFwiRnhpT1NcIil8fCh2KCk/MDp1KFwiT3BlcmFcIikpfHx1KFwiU2lsa1wiKSl9O3ZhciB6PXYoKT8hMTp1KFwiVHJpZGVudFwiKXx8dShcIk1TSUVcIik7eSgpO3goKTt3KCk7dmFyIEE9IXomJiF3KCksRD1mdW5jdGlvbihhKXtpZigvLVthLXpdLy50ZXN0KFwidmVkXCIpKXJldHVybiBudWxsO2lmKEEmJmEuZGF0YXNldCl7aWYoeSgpJiYhKFwidmVkXCJpbiBhLmRhdGFzZXQpKXJldHVybiBudWxsO2E9YS5kYXRhc2V0LnZlZDtyZXR1cm4gYT09PXZvaWQgMD9udWxsOmF9cmV0dXJuIGEuZ2V0QXR0cmlidXRlKFwiZGF0YS1cIitcInZlZFwiLnJlcGxhY2UoLyhbQS1aXSkvZyxcIi0kMVwiKS50b0xvd2VyQ2FzZSgpKX07dmFyIEU9W10sRj1udWxsO2Z1bmN0aW9uIEcoYSl7YT1hLnRhcmdldDt2YXIgYz1wZXJmb3JtYW5jZS5ub3coKSxmPVtdLEg9Zi5jb25jYXQsZD1FO2lmKCEoZCBpbnN0YW5jZW9mIEFycmF5KSl7dmFyIG09dHlwZW9mIFN5bWJvbCE9XCJ1bmRlZmluZWRcIiYmU3ltYm9sLml0ZXJhdG9yJiZkW1N5bWJvbC5pdGVyYXRvcl07aWYobSlkPW0uY2FsbChkKTtlbHNlIGlmKHR5cGVvZiBkLmxlbmd0aD09XCJudW1iZXJcIilkPXtuZXh0OmIoZCl9O2Vsc2UgdGhyb3cgRXJyb3IoXCJiYFwiK1N0cmluZyhkKSk7Zm9yKHZhciBCPVtdOyEobT1kLm5leHQoKSkuZG9uZTspQi5wdXNoKG0udmFsdWUpO2Q9Qn1FPUguY2FsbChmLGQsW2NdKTtpZihhJiZhIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpaWYoYT09PUYpe2lmKGM9RS5sZW5ndGg+PTQpYz0oRVtFLmxlbmd0aC0xXS1FW0UubGVuZ3RoLTRdKS8xRTM8NTtpZihjKXtjPWdvb2dsZS5nZXRFSShhKTthLmhhc0F0dHJpYnV0ZShcImRhdGEtdmVkXCIpP2Y9YT9EKGEpfHxcIlwiOlwiXCI6Zj0oZj1cbmEuY2xvc2VzdChcIltkYXRhLXZlZF1cIikpP0QoZil8fFwiXCI6XCJcIjtmPWZ8fFwiXCI7aWYoYS5oYXNBdHRyaWJ1dGUoXCJqc25hbWVcIikpYT1hLmdldEF0dHJpYnV0ZShcImpzbmFtZVwiKTtlbHNle3ZhciBDO2E9KEM9YS5jbG9zZXN0KFwiW2pzbmFtZV1cIikpPT1udWxsP3ZvaWQgMDpDLmdldEF0dHJpYnV0ZShcImpzbmFtZVwiKX1nb29nbGUubG9nKFwicmNtXCIsXCImZWk9XCIrYytcIiZ0Z3R2ZWQ9XCIrZitcIiZqc25hbWU9XCIrKGF8fFwiXCIpKX19ZWxzZSBGPWEsRT1bY119d2luZG93LmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJET01Db250ZW50TG9hZGVkXCIsZnVuY3Rpb24oKXtkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLEcpfSk7fSkuY2FsbCh0aGlzKTt2YXIgdz1mdW5jdGlvbihhKXt2YXIgYj0wO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBiPGEubGVuZ3RoP3tkb25lOiExLHZhbHVlOmFbYisrXX06e2RvbmU6ITB9fX07d2luZG93LmpzbD13aW5kb3cuanNsfHx7fTt3aW5kb3cuanNsLmRoPWZ1bmN0aW9uKGEsYixtKXt0cnl7dmFyIGg9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYSksZTtpZighaCYmKChlPWdvb2dsZS5zdHZzYyk9PW51bGw/MDplLmRkcykpe2U9W107dmFyIGY9ZS5jb25jYXQsYz1nb29nbGUuc3R2c2MuZGRzO2lmKGMgaW5zdGFuY2VvZiBBcnJheSl2YXIgbj1jO2Vsc2V7dmFyIHA9dHlwZW9mIFN5bWJvbCE9XCJ1bmRlZmluZWRcIiYmU3ltYm9sLml0ZXJhdG9yJiZjW1N5bWJvbC5pdGVyYXRvcl07aWYocCl2YXIgZz1wLmNhbGwoYyk7ZWxzZSBpZih0eXBlb2YgYy5sZW5ndGg9PVwibnVtYmVyXCIpZz17bmV4dDp3KGMpfTtlbHNlIHRocm93IEVycm9yKFN0cmluZyhjKStcIiBpcyBub3QgYW4gaXRlcmFibGUgb3IgQXJyYXlMaWtlXCIpO2M9Zzt2YXIgcTtmb3IoZz1bXTshKHE9Yy5uZXh0KCkpLmRvbmU7KWcucHVzaChxLnZhbHVlKTtuPWd9dmFyIHI9Zi5jYWxsKGUsbik7Zm9yKGY9MDtmPHIubGVuZ3RoJiYhKGg9cltmXS5nZXRFbGVtZW50QnlJZChhKSk7ZisrKTt9aWYoaCloLmlubmVySFRNTD1iLG0mJm0oKTtlbHNle3ZhciBkPXtpZDphLHNjcmlwdDpTdHJpbmcoISFtKSxtaWxlc3RvbmU6U3RyaW5nKGdvb2dsZS5qc2xtfHwwKX07Z29vZ2xlLmpzbGEmJihkLmFzeW5jPWdvb2dsZS5qc2xhKTt2YXIgdD1hLmluZGV4T2YoXCJfXCIpLGs9dD4wP2Euc3Vic3RyaW5nKDAsdCk6XCJcIix1PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7dS5pbm5lckhUTUw9Yjt2YXIgbD11LmNoaWxkcmVuWzBdO2lmKGwmJihkLnRhZz1sLnRhZ05hbWUsZFtcImNsYXNzXCJdPVN0cmluZyhsLmNsYXNzTmFtZXx8bnVsbCksZC5uYW1lPVN0cmluZyhsLmdldEF0dHJpYnV0ZShcImpzbmFtZVwiKSksaykpe2E9W107dmFyIHY9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2lkXj1cIicraysnX1wiXScpO2ZvcihiPTA7Yjx2Lmxlbmd0aDsrK2IpYS5wdXNoKHZbYl0uaWQpO2QuaWRzPWEuam9pbihcIixcIil9Z29vZ2xlLm1sKEVycm9yKGs/XCJNaXNzaW5nIElEIHdpdGggcHJlZml4IFwiK1xuazpcIk1pc3NpbmcgSURcIiksITEsZCl9fWNhdGNoKHgpe2dvb2dsZS5tbCh4LCEwLHtcImpzbC5kaFwiOiEwfSl9fTsoZnVuY3Rpb24oKXt2YXIgeD10cnVlO2dvb2dsZS5qc2xtPXg/MjoxO30pKCk7Z29vZ2xlLngobnVsbCwgZnVuY3Rpb24oKXsoZnVuY3Rpb24oKXsoZnVuY3Rpb24oKXtnb29nbGUuY3NjdD17fTtnb29nbGUuY3NjdC5wcz0nQU92VmF3MXpKemlzMHoyTTVaLVNJUFlENmJ4OVxceDI2dXN0XFx4M2QxNzIyNjAxOTkxMjU5MDI2Jzt9KSgpO30pKCk7KGZ1bmN0aW9uKCl7KGZ1bmN0aW9uKCl7Z29vZ2xlLmNzY3QucGk9dHJ1ZTt9KSgpO30pKCk7KGZ1bmN0aW9uKCl7d2luZG93LmpzbD13aW5kb3cuanNsfHx7fTt3aW5kb3cuanNsLmRoPXdpbmRvdy5qc2wuZGh8fGZ1bmN0aW9uKGksYyxkKXt0cnl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaSk7aWYoZSl7ZS5pbm5lckhUTUw9YztpZihkKXtkKCk7fX1lbHNle2lmKHdpbmRvdy5qc2wuZWwpe3dpbmRvdy5qc2wuZWwobmV3IEVycm9yKCdNaXNzaW5nIElELicpLHsnaWQnOml9KTt9fX1jYXRjaChlKXtpZih3aW5kb3cuanNsLmVsKXt3aW5kb3cuanNsLmVsKG5ldyBFcnJvcignanNsLmRoJykpO319fTt9KSgpOyhmdW5jdGlvbigpe3dpbmRvdy5qc2wuZGgoJ3NwY2gnLCdcXHgzY3N0eWxlXFx4M2Uuc3BjaC1kbGd7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6bm9uZX0uc3BjaHtiYWNrZ3JvdW5kOnZhcigtLXhoVUd3Yyk7aGVpZ2h0OjEwMCU7bGVmdDowO29wYWNpdHk6MDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246Zml4ZWQ7dGV4dC1hbGlnbjpsZWZ0O3RvcDowO3Zpc2liaWxpdHk6aGlkZGVuO3dpZHRoOjEwMCU7ei1pbmRleDoxMDAwMDt0cmFuc2l0aW9uOnZpc2liaWxpdHkgMHMgbGluZWFyIDAuMjE4cyxiYWNrZ3JvdW5kLWNvbG9yIDAuMjE4czt9LnMyZnAuc3BjaHtvcGFjaXR5OjE7dHJhbnNpdGlvbi1kZWxheTowczt2aXNpYmlsaXR5OnZpc2libGU7fS5wejViantiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7Y29sb3I6dmFyKC0tSVhveFVlKTtjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MjZweDtyaWdodDowO2xpbmUtaGVpZ2h0OjE1cHg7b3BhY2l0eTouNjttYXJnaW46LTFweCAtMXB4IDAgMDtwYWRkaW5nOjAgMCAycHggMDtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3otaW5kZXg6MTB9LnB6NWJqOmhvdmVye29wYWNpdHk6Ljh9LnB6NWJqOmFjdGl2ZXtvcGFjaXR5OjF9LnNwY2hje2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjQycHg7cG9pbnRlci1ldmVudHM6bm9uZTttYXJnaW46YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6MDttYXJnaW4tdG9wOjMxMnB4O21heC13aWR0aDo1NzJweDttaW4td2lkdGg6NTM0cHg7cGFkZGluZzowIDIyM3B4fS5pbm5lci1jb250YWluZXJ7aGVpZ2h0OjEwMCU7b3BhY2l0eTouMTtwb2ludGVyLWV2ZW50czpub25lO3dpZHRoOjEwMCU7dHJhbnNpdGlvbjpvcGFjaXR5IC4zMThzIGVhc2UtaW47fS5zMm1sIC5pbm5lci1jb250YWluZXIsLnMycmEgLmlubmVyLWNvbnRhaW5lciwuczJlciAuaW5uZXItY29udGFpbmVyLC5PSmFqdSAuaW5uZXItY29udGFpbmVye29wYWNpdHk6MTt0cmFuc2l0aW9uOm9wYWNpdHkgMHN9XFx4M2Mvc3R5bGVcXHgzZVxceDNjc3R5bGVcXHgzZS5nb29nbGUtbG9nb3tiYWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUx3QUFBQkFDQVFBQUFBS0VOVkNBQUFJL0VsRVFWUjRBZTNhZTNCVTVSbkg4ZS9aVGJJaGhJUmJSSUp5Q1pjRWs0WnlFNFJCQWlSQnhSYWhFWkJMUVlVWkFqSWdvTFVXQjZ3aktJSzJNdEFxT0xWVUtTcVdRVzBaYU9RcTBJRkFJWlZyZ0ZRaFhBT1NoSVRFYkhZNzQwN21uUGZjOHU2eWEyZjBmTjYvOXJ6dmM4N1ozOW5iZWQvbC84T2hJS01EUStoSEtwMUpKQjZGS3E1UVFoSDcyTVoxSXNEUmh2a1U0YmRzOVd4bExORTR3cWc5cTZqQkw5Rys0a25jL0hCOXFYbXVHNGdvRDg5VGpUK0lWa2ltRS96dDZzWWgvRUczV21haU9NR0hiZ1EzOFlmWTNpYktDVjZHTWFiSFdZMGJvK1BzNWpqbnVZbENjenJTazhIY2dkNVUxck9Ob0RuRzQ4T3ZhMlc4UkdlTVhBeGlIZldha1Q0bU94ODFvUmlHMS9DNXZZaDQ3S1N4NWZaaWQ0SnZ4eFZkN01kSXAzRUswNmtOTlhZbmVJV3R1dGdMYUlhc1FVd2tKRTd3RTNTeGJ5Y1dSOFNEOTNCT2lMMllSQndSRE41RndPUGNoYXFlY1pRVFFRNFhBQXB6MEZyRlFTTFB3UUQ4bWxaTkV0OEw1ODQxRDYyL2NKVklpMmNnUGVsRUFsQk9DWWZZU3hYeW1qS0FYcVNRQUZSd2xvUHNwUnA1ZHpPTUhpVFRoRXFLMmMxT3ZHSElzZy8zMFlVV0tIekRLZlp3RUIrMnhCbjNnVVNTd21BK01wbHVydVlEeVNNUFlEMjNUT3JYMFYvcStDUFpZYWkreUh3OHdLc2NibWhNRCtJVmZ5ZXZjTWxrdXZ4WHhHT3BoVEQ0R2k0aUo0MEMvRFp0TTEyd2s4TGZiZXMvb1NOMjdtR1BaVzBSblZtdmVieElNbmczejFCbHVkZHo1TWg5d204aWNxWkl6UEhmWkR4VzhxaG90TDZjVVZoNXpQNzRYT0JnME1FbnNnVy9iZk14enlJT1lkZ1NJdVY1L0pKdFBtWm1TbGI3bUk2WkdUTFZRUWFmU0tIVXZwN0J4RnhoU0Q2TjhVc0g0QW41YVQrSjNtTkIxVCtLM2hqOFlRL2V6UmJwdlkzQ1lLRXdZRkxZZ3ZmVGtRWjlxVE44blMzbElkSkpad1RMRGROenRmd1VyVFREcCtobGxtbnFyeG8rc0xxaTFkV3d1RlBLWW5LNWgwd2U1Yy9VaGhUOGZGMUZIV3NaVGlzOGRHQXlCNFMrNjdSRjV3Vmh3Qy9ER0h4dkFxSTRJbXl2NTBWaTBZcGpzVzRsNEFBdUdpaTYzeUUrbGhDSFZsT1c2bzc5VHhSTi9lZTY0eS9TSGI4VE80TU92cTN1WWg2aU8xb3VmaVAwcjBWbmp0QTlLNHpCRHpTZGdLdGpKR2J5cUJmRzVkRmd1QzYyc1ppWm9MdDBReTNxdll6Q0tJWk5RUVl2WHVwZHhHTzBSbmk1ZExlYmwxd2V4dUQ3QTREdUMrZ3ByTXdUeHUyaHdUK0U3YzlpWllFdzdsTWFpQlBlY3pBWFQzRVF3Y2R3VGJQMUVxM1JpeWFQdmNJZS80aWdqOUM1Tll6QnB3T1FLbXpiaDRJVkY0ZE12aU9TaEhmQ0VkeFlpZUtZOE01cUNVQ3k4RTRveElXVm53Y1JmSzR3ZGhxaXRpeWsxSkJISmMzVVU0VVQrSERSWUFEUjFHRW5CMnM5V1lycXNzbjQxL0JqeGNkcnJFT1Z6Um9nUzRocU9mVlk4Zkk2cXpXWFlUQWJnUndVVk12d1llVXp6cEtDbk1Hb2J2SWVEUlR1WnlhamlNTG9NRzJvUk9OZnduVjVrTkRORkg1WktBRDhTYlB0RnJIWWFTcjgrbmtMZ0NYQzUzc0NkbG9KeitSbEFGWUp2NWJpc1BPRzlDditVK0YrTzZBWk00U3gyaXorUUtaeFdyZ0FyU21FYmlBSXB3dlFHZFYvcU1GT0ZVZFJkVGJVbjZRQ085YzRiYWp2Smh5L0dqdUZ5T3FFcWhoSVp5VVhXRWs2ZXNkNGltVHlLVElHLzFlMDhrZ2hOTkVNUjdXZmdFUlVwVFRtUEtybUlkU1hHdXBiaUh1M2RRRlpDYWd5Mk1HWHpDQWVrWmNQeVNLRGxWU1lUd3NmNVFCOWFlQmlDV01KeGNPMFJQVTVBVzVVUHV5Skk5eGhyL2RpejRzc0Y2b2hHSlh5Rm11NDJGajVNclRHTUlMZ0tUeUhxcG9DQWlwUjNZRTljVVJGV09vclVDVmhyeld5S3JGV3dHZzY4aElYRzc5dUd6aUcxcnQwSUZoUGNDK3FqNmdpb0FSVkptN3NSUE1UVkNXRyt1NTRzQk5IcW0xOUppN3NaQ0RydjVncDUzZWtrY05HdkhKdkdCK3pkVmQrTTYwSlJpL2VSRXQ5VklRcWdmdXhNNVE0VkVjTTlSNXlzZk1BVWFBNzhpRlV6Um1JZmIyc3crajltNm0wNDJsT0VxUzFoditSM1kyc3ZwU0pDeEpDbjloalI1enR5d1NnZzdCdEd3cFdGSFlMWSs4Q0lCMi81SnBwajVCdm9FN1F6L2E4YkNWU3JJditxdVFyWUNMVlFsME5YVkVwbkJGNmY0YVZYK2d1dkVMQVBtSDdHTWsvWlgxQmdLSmIyc3pCbkVKQkVNRkhVeVk4NDFTc2pHY3I3YkdWYWJMQzh6NmRzSlBDM3d3MXN4RTlMZlRlb0FkbWV1bU9Qa056WWNVYjc3Nlk2YWViT2g1SGc2bTZsMU1hWmhZR09VbjJzakQ2TUFtWXllSVdmaXFZaG9LTkxKTmxhQy9yeUNVR3ZSaHlXVWVkWWZ4N0tJaWFjazRYZlo1dWpNSTRYZXdseElwek1FTDA0dzMxazNTVHRFVzROV2Q2VXVncjR5RkVIdDRJZWxvNGlSdkMrUDIwUjZRd1RaUG5GdHBqSTRkS2k1dmVBbGJ3TFBuTTROZXNaRHMzVGNkOVJneEdJdzNqZGpDZU8xRlFTR1lpdXczOUQ2QTFDSit1L3dzbTBwWkEvU1RERW5ZOUE5REtNdFJ2WmpTdEFJVk96T0pNU0FzaCtZYU1sdEdYR0VDaEhWUFlyK3MvaWdzYlBUbUhQOFQySVI3TXZXNDZ2b1phMCsydm9MZkFvcjdHZFB0ejZDMHlIVmZOdDRTKzlLZXd3WFRKOHh0dW1XeXY1VDZ3MTRwTklZVHU0MFZjV0hIenZ2U2Uzc1dGbnNJcTZmb1ZLQ2IxcXlPdzJOMkVuWko3KzVhUlNGQVlTMmxRcDNtYUxPeTVXUzYxcHlXNE1LT3dDSi9FNVg4QkJUTXVYc1crdHBJVFFRWVBjWHdzOFp5dWs0MjBlT1p5UVNxcXk4ekRnNHlIK2NwMlQyY1lqcDFzaW0zclR6RUVPNC9ZUEtOTDlBdnBEMDBLK1pUYm5aWHdjMUtTaDlGc3BOcm1EYlNaaWNRaXJ3bXpMTUk3UWI3RW5qeE01N2hwL1RHbUVVTmpFbGpBWlVOdEhXL1RHdmhBK0o2UUN4NGdpY1ZjTlQycjdUeUlnb0VpR2YrOTlDZVZMaVRTREtpbWpLODVRU0g3cUNKNENyMFlSaTlTYUk2Zkc1emxJQVVjd1M5ZDM0TnNlbjlYejNmMWhSUlFKRjBmelZDeXlhUWRjWlJ6aWwxOHpDVUFQdEhjM3MzbVRZSVJ6V0NHa0VFSDR2RlN4bW4yczVrU0pEZ09HUC9sNElpOGFPSGV0emVPc0loaU5BWDB3VnEyOE8zbHdYSGJrbG5JZVFKL1BISmhRYmg3MllYanRzM0VxNG4wdDVoN0JMK216Y1Z4MjlLcHh5OUU3MEl2VjVoN3FpRUpSeGlzd0MrMGZlVGdKa0FoZzNkMDk4Uy9KOElVZmh6aU9VQWFvdXNjb1lKbXBOSU8wV1hTdVlZakxMcHhGYjlVODVLTkk0d3lLSldLZlFLT01FdG1tMzNzWENDYkNIQzRtTXhaSVdweC9hZ2xFZU53TTRKM0tOYjhqdm1hRFR4Qkl0OGpoUjh2RDIySXBZWXIxUEJENUhBNEhQOER4VmN4ZHdFTEVGVUFBQUFBU1VWT1JLNUNZSUlcXHgzZCkgbm8tcmVwZWF0IGNlbnRlcjtiYWNrZ3JvdW5kLXNpemU6OTRweCAzMnB4O2hlaWdodDozMnB4O3dpZHRoOjk0cHg7dG9wOjhweDtvcGFjaXR5OjA7ZmxvYXQ6cmlnaHQ7bGVmdDoyNTVweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246b3BhY2l0eSAuNXMgZWFzZS1pbixsZWZ0IC41cyBlYXNlLWlufVxceDNjL3N0eWxlXFx4M2VcXHgzY2J1dHRvbiBjbGFzc1xceDNkXFx4MjJwejVialxceDIyIGlkXFx4M2RcXHgyMnNwY2h4XFx4MjIgYXJpYS1sYWJlbFxceDNkXFx4MjJzY2hsaWVcXHhkZmVuXFx4MjJcXHgzZVxceDNjc3BhbiBzdHlsZVxceDNkXFx4MjJoZWlnaHQ6MTZweDtsaW5lLWhlaWdodDoxNnB4O3dpZHRoOjE2cHhcXHgyMiBjbGFzc1xceDNkXFx4MjJ6MWFzQ2Ugd3VYbXFjXFx4MjJcXHgzZVxceDNjc3ZnIGZvY3VzYWJsZVxceDNkXFx4MjJmYWxzZVxceDIyIHhtbG5zXFx4M2RcXHgyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXFx4MjIgdmlld0JveFxceDNkXFx4MjIwIDAgMjQgMjRcXHgyMlxceDNlXFx4M2NwYXRoIGRcXHgzZFxceDIyTTE5IDYuNDFMMTcuNTkgNSAxMiAxMC41OSA2LjQxIDUgNSA2LjQxIDEwLjU5IDEyIDUgMTcuNTkgNi40MSAxOSAxMiAxMy40MSAxNy41OSAxOSAxOSAxNy41OSAxMy40MSAxMnpcXHgyMlxceDNlXFx4M2MvcGF0aFxceDNlXFx4M2Mvc3ZnXFx4M2VcXHgzYy9zcGFuXFx4M2VcXHgzYy9idXR0b25cXHgzZVxceDNjZGl2IGNsYXNzXFx4M2RcXHgyMnNwY2hjXFx4MjIgaWRcXHgzZFxceDIyc3BjaGNcXHgyMlxceDNlXFx4M2NkaXYgY2xhc3NcXHgzZFxceDIyaW5uZXItY29udGFpbmVyXFx4MjJcXHgzZVxceDNjZGl2IGNsYXNzXFx4M2RcXHgyMmJ1dHRvbi1jb250YWluZXJcXHgyMlxceDNlXFx4M2NzdHlsZVxceDNlLkxnYnNTZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZjhmOWZhO2JvcmRlci1yYWRpdXM6MTAwJTtib3R0b206MDtib3gtc2hhZG93OjAgMnB4IDVweCByZ2JhKDAsMCwwLC4xKTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztvcGFjaXR5OjA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAwLjIxOHMsYm9yZGVyIDAuMjE4cyxib3gtc2hhZG93IDAuMjE4czt0cmFuc2l0aW9uLWRlbGF5OjA7cG9zaXRpb246YWJzb2x1dGU7b3BhY2l0eTowO2xlZnQ6MDt0b3A6MH0uczJmcCAuTGdic1Nle29wYWNpdHk6MTtwb2ludGVyLWV2ZW50czphdXRvO3RyYW5zZm9ybTpzY2FsZSgxKTt9LnMycmEgLkxnYnNTZXtiYWNrZ3JvdW5kLWNvbG9yOiNlYTQzMzU7Ym9yZGVyOjA7Ym94LXNoYWRvdzpub25lfS5yOHM0antiYWNrZ3JvdW5kLWNvbG9yOiNkYWRjZTA7Ym9yZGVyLXJhZGl1czoxMDAlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO29wYWNpdHk6MTtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RyYW5zZm9ybTpzY2FsZSguMDEpO3RyYW5zaXRpb246b3BhY2l0eSAwLjIxOHM7aGVpZ2h0OjMwMXB4O2xlZnQ6LTY5cHg7dG9wOi02OXB4O3dpZHRoOjMwMXB4O30uYnV0dG9uLWNvbnRhaW5lcntwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246dHJhbnNmb3JtIDAuMjE4cyxvcGFjaXR5IDAuMjE4cyBlYXNlLWluO3RyYW5zZm9ybTpzY2FsZSguMSk7aGVpZ2h0OjE2NXB4O3dpZHRoOjE2NXB4O3JpZ2h0Oi03MHB4O3RvcDotNzBweDtmbG9hdDpyaWdodDt9LnMyZnAgLmJ1dHRvbi1jb250YWluZXJ7dHJhbnNmb3JtOnNjYWxlKDEpfS5zMnJhIC5MZ2JzU2U6YWN0aXZle2JhY2tncm91bmQtY29sb3I6I2M1MjIxZn0uTGdic1NlOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiNmOGY5ZmF9XFx4M2Mvc3R5bGVcXHgzZVxceDNjc3BhbiBjbGFzc1xceDNkXFx4MjJyOHM0alxceDIyIGlkXFx4M2RcXHgyMnNwY2hsXFx4MjJcXHgzZVxceDNjL3NwYW5cXHgzZVxceDNjc3BhbiBjbGFzc1xceDNkXFx4MjJMZ2JzU2VcXHgyMiBpZFxceDNkXFx4MjJzcGNoYlxceDIyXFx4M2VcXHgzY2RpdiBjbGFzc1xceDNkXFx4MjJtaWNyb3Bob25lXFx4MjJcXHgzZVxceDNjc3R5bGVcXHgzZS5taWNyb3Bob25le2hlaWdodDo4N3B4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6NDJweDt0b3A6NDdweDt0cmFuc2Zvcm06c2NhbGUoMSk7bGVmdDo0M3B4O30ucmVjZWl2ZXJ7YmFja2dyb3VuZC1jb2xvcjojOTk5O2JvcmRlci1yYWRpdXM6MzBweDtoZWlnaHQ6NDZweDtsZWZ0OjI1cHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoyNHB4fS53cmFwcGVye2JvdHRvbTowO2hlaWdodDo1M3B4O2xlZnQ6MTFweDtvdmVyZmxvdzpoaWRkZW47cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo1MnB4fS5zdGVte2JhY2tncm91bmQtY29sb3I6Izk5OTtib3R0b206MTRweDtoZWlnaHQ6MTRweDtsZWZ0OjIycHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo5cHg7ei1pbmRleDoxfS5zaGVsbHtib3JkZXI6N3B4IHNvbGlkICM5OTk7Ym9yZGVyLXJhZGl1czoyOHB4O2JvdHRvbToyN3B4O2hlaWdodDo1N3B4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MzhweDt6LWluZGV4OjA7bGVmdDowcHh9LnMybWwgLnJlY2VpdmVyLC5zMm1sIC5zdGVte2JhY2tncm91bmQtY29sb3I6I2Y0NH0uczJtbCAuc2hlbGx7Ym9yZGVyLWNvbG9yOiNmNDR9LnMycmEgLnJlY2VpdmVyLC5zMnJhIC5zdGVte2JhY2tncm91bmQtY29sb3I6I2ZmZn0uczJyYSAuc2hlbGx7Ym9yZGVyLWNvbG9yOiNmZmZ9XFx4M2Mvc3R5bGVcXHgzZVxceDNjc3BhbiBjbGFzc1xceDNkXFx4MjJyZWNlaXZlclxceDIyXFx4M2VcXHgzYy9zcGFuXFx4M2VcXHgzY2RpdiBjbGFzc1xceDNkXFx4MjJ3cmFwcGVyXFx4MjJcXHgzZVxceDNjc3BhbiBjbGFzc1xceDNkXFx4MjJzdGVtXFx4MjJcXHgzZVxceDNjL3NwYW5cXHgzZVxceDNjc3BhbiBjbGFzc1xceDNkXFx4MjJzaGVsbFxceDIyXFx4M2VcXHgzYy9zcGFuXFx4M2VcXHgzYy9kaXZcXHgzZVxceDNjL2RpdlxceDNlXFx4M2Mvc3BhblxceDNlXFx4M2MvZGl2XFx4M2VcXHgzY2RpdiBjbGFzc1xceDNkXFx4MjJ0ZXh0LWNvbnRhaW5lclxceDIyXFx4M2VcXHgzY3N0eWxlXFx4M2UudGV4dC1jb250YWluZXJ7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt9LnNwY2h0e2ZvbnQtd2VpZ2h0Om5vcm1hbDtsaW5lLWhlaWdodDoxLjI7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpsZWZ0Oy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBlYXNlLWluLG1hcmdpbi1sZWZ0IC41cyBlYXNlLWluLHRvcCAwcyBsaW5lYXIgMC4yMThzO2xlZnQ6LTQ0cHg7dG9wOi0uMmVtO21hcmdpbi1sZWZ0OjQ0cHg7Zm9udC1zaXplOjMycHg7d2lkdGg6NDYwcHg7fS5zMmZwIC5zcGNodHttYXJnaW4tbGVmdDowO29wYWNpdHk6MTt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2Utb3V0LG1hcmdpbi1sZWZ0IC41cyBlYXNlLW91dH0uc3BjaHRhe2NvbG9yOnZhcigtLUpLcXgyKTtjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MThweDtmb250LXdlaWdodDo1MDA7cG9pbnRlci1ldmVudHM6YXV0bzt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5zcGNoLTJsLnNwY2h0LC5zcGNoLTNsLnNwY2h0LC5zcGNoLTRsLnNwY2h0e3RyYW5zaXRpb246dG9wIDAuMjE4cyBlYXNlLW91dH0uc3BjaC0ybC5zcGNodHt0b3A6LS42ZW19LnNwY2gtM2wuc3BjaHR7dG9wOi0xLjNlbX0uc3BjaC00bC5zcGNodHt0b3A6LTEuN2VtfS5zMmZwIC5zcGNoLTVsLnNwY2h0e3RvcDotMi41ZW07fVxceDNjL3N0eWxlXFx4M2VcXHgzY3NwYW4gY2xhc3NcXHgzZFxceDIyc3BjaHRcXHgyMiBzdHlsZVxceDNkXFx4MjJjb2xvcjojNzA3NTdhXFx4MjIgaWRcXHgzZFxceDIyc3BjaGlcXHgyMlxceDNlXFx4M2Mvc3BhblxceDNlXFx4M2NzcGFuIGNsYXNzXFx4M2RcXHgyMnNwY2h0XFx4MjIgc3R5bGVcXHgzZFxceDIyY29sb3I6IzAwMFxceDIyIGlkXFx4M2RcXHgyMnNwY2hmXFx4MjJcXHgzZVxceDNjL3NwYW5cXHgzZVxceDNjL2RpdlxceDNlXFx4M2NkaXYgY2xhc3NcXHgzZFxceDIyZ29vZ2xlLWxvZ29cXHgyMlxceDNlXFx4M2MvZGl2XFx4M2VcXHgzYy9kaXZcXHgzZVxceDNjZGl2IGNsYXNzXFx4M2RcXHgyMnBlcm1pc3Npb24tYmFyXFx4MjJcXHgzZVxceDNjc3R5bGVcXHgzZS5wZXJtaXNzaW9uLWJhcnttYXJnaW4tdG9wOi0xMDBweDtvcGFjaXR5OjA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo1MDBweDt0cmFuc2l0aW9uOm9wYWNpdHkgMC4yMThzIGVhc2UtaW4sbWFyZ2luLXRvcCAuNHMgZWFzZS1pbn0uczJ3ZnAgLnBlcm1pc3Npb24tYmFye21hcmdpbi10b3A6LTMwMHB4O29wYWNpdHk6MTt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2Utb3V0IDAuMjE4cyxtYXJnaW4tdG9wIDAuMjE4cyBlYXNlLW91dCAwLjIxOHN9LnBlcm1pc3Npb24tYmFyLWdyYWRpZW50e2JveC1zaGFkb3c6MCAxcHggMHB4ICM0Mjg1ZjQ7aGVpZ2h0OjgwcHg7bGVmdDowO21hcmdpbjowO29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmZpeGVkO3JpZ2h0OjA7dG9wOi04MHB4O3RyYW5zaXRpb246b3BhY2l0eSAwLjIxOHMsYm94LXNoYWRvdyAwLjIxOHN9LnMyd2ZwIC5wZXJtaXNzaW9uLWJhci1ncmFkaWVudHtib3gtc2hhZG93OjAgMXB4IDgwcHggIzQyODVmNDtvcGFjaXR5OjE7cG9pbnRlci1ldmVudHM6bm9uZTthbmltYXRpb246YWxsb3ctYWxlcnQgLjc1cyAwIGluZmluaXRlO2FuaW1hdGlvbi1kaXJlY3Rpb246YWx0ZXJuYXRlO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7dHJhbnNpdGlvbjpvcGFjaXR5IDAuMjE4cyxib3gtc2hhZG93IDAuMjE4c31ALXdlYmtpdC1rZXlmcmFtZXMgYWxsb3ctYWxlcnQge2Zyb217b3BhY2l0eToxfXRve29wYWNpdHk6LjM1fX1cXHgzYy9zdHlsZVxceDNlXFx4M2NkaXYgY2xhc3NcXHgzZFxceDIycGVybWlzc2lvbi1iYXItZ3JhZGllbnRcXHgyMlxceDNlXFx4M2MvZGl2XFx4M2VcXHgzYy9kaXZcXHgzZVxceDNjL2RpdlxceDNlJyk7fSkoKTsoZnVuY3Rpb24oKXt3aW5kb3cuanNsLmRoKCdfaDRDclp2eUxDNU9maS1nUF9vcUotUXdfNCcsJ1xceDNjc3R5bGVcXHgzZS5ZQjRoOXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLVRNWVM5KTtjb2xvcjp2YXIoLS1FcEZOVyk7cGFkZGluZzoxOHB4IDYwcHggMThweCAxMnB4O3Bvc2l0aW9uOnJlbGF0aXZlfS5DODVyT3tmb250LXNpemU6MjBweH0uR3RyMG5le3BhZGRpbmctdG9wOjEwcHh9LnpZU0xZYnt9LllCNGg5IC5HdHIwbmUgLnpZU0xZYntjb2xvcjp2YXIoLS1FcEZOVyk7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0uWUI0aDkgLkpvYjh2YntwYWRkaW5nOjIwcHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0uWUI0aDkuclBQSmJkIC5Kb2I4dmJ7cGFkZGluZy10b3A6MjRweDtwYWRkaW5nLXJpZ2h0OjhweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDowfS5ZQjRoOS5xN1hOYmJ7bWFyZ2luLWJvdHRvbTo0NHB4fS5ZQjRoOS5KRjdma3tib3JkZXItcmFkaXVzOjE2cHg7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1nUzVqWGIpfS5ZQjRoOS5JUElOWGR7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czoxNnB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjE2cHg7Ym9yZGVyLWNvbG9yOnZhcigtLWdTNWpYYik7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci10b3A6bm9uZX0uWUI0aDkuclBQSmJke2JhY2tncm91bmQtY29sb3I6dmFyKC0teGhVR3djKTtjb2xvcjp2YXIoLS1iYlF4QWIpfS5ZQjRoOS5yUFBKYmQgLnpZU0xZYntjb2xvcjp2YXIoLS1iYlF4QWIpO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LlI0R21GYnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdzttYXJnaW4tYm90dG9tOjhweH0uUjRHbUZiIHN2Z3tkaXNwbGF5OmJsb2NrfS5KcldjUnttYXJnaW4tbGVmdDoxMHB4fVxceDNjL3N0eWxlXFx4M2VcXHgzY3NwYW4gY2xhc3NcXHgzZFxceDIySm9iOHZiIHoxYXNDZSB3dVhtcWNcXHgyMiBhcmlhLWxhYmVsXFx4M2RcXHgyMnNjaGxpZVxceGRmZW4gV1xceGU0aGxlIGF1cywgd296dSBkdSBGZWVkYmFjayBnZWJlbiBtXFx4ZjZjaHRlc3RcXHgyMiByb2xlXFx4M2RcXHgyMmJ1dHRvblxceDIyIHRhYmluZGV4XFx4M2RcXHgyMjBcXHgyMiBqc2FjdGlvblxceDNkXFx4MjJrRU9rNGRcXHgyMiBzdHlsZVxceDNkXFx4MjJoZWlnaHQ6MjBweDtsaW5lLWhlaWdodDoyMHB4O3dpZHRoOjIwcHhcXHgyMiBkYXRhLXZlZFxceDNkXFx4MjIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFtSWtHQ0F3XFx4MjJcXHgzZVxceDNjc3ZnIGZvY3VzYWJsZVxceDNkXFx4MjJmYWxzZVxceDIyIHhtbG5zXFx4M2RcXHgyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXFx4MjIgdmlld0JveFxceDNkXFx4MjIwIDAgMjQgMjRcXHgyMlxceDNlXFx4M2NwYXRoIGRcXHgzZFxceDIyTTE5IDYuNDFMMTcuNTkgNSAxMiAxMC41OSA2LjQxIDUgNSA2LjQxIDEwLjU5IDEyIDUgMTcuNTkgNi40MSAxOSAxMiAxMy40MSAxNy41OSAxOSAxOSAxNy41OSAxMy40MSAxMnpcXHgyMlxceDNlXFx4M2MvcGF0aFxceDNlXFx4M2Mvc3ZnXFx4M2VcXHgzYy9zcGFuXFx4M2VcXHgzY2RpdiBjbGFzc1xceDNkXFx4MjJDODVyT1xceDIyIGFyaWEtbGV2ZWxcXHgzZFxceDIyMVxceDIyIGlkXFx4M2RcXHgyMkVpUVhWZFxceDIyIHJvbGVcXHgzZFxceDIyaGVhZGluZ1xceDIyXFx4M2VXXFx4ZTRobGUgYXVzLCB3b3p1IGR1IEZlZWRiYWNrIGdlYmVuIG1cXHhmNmNodGVzdFxceDNjL2RpdlxceDNlJyk7fSkoKTsoZnVuY3Rpb24oKXtnb29nbGUuZHJ0eSYmZ29vZ2xlLmRydHkodW5kZWZpbmVkLHRydWUpO30pKCk7fSk7aWYgKCFnb29nbGUuc3R2c2Mpe2dvb2dsZS5kcnR5ICYmIGdvb2dsZS5kcnR5KHVuZGVmaW5lZCx0cnVlKTt9XG48L3NjcmlwdD48L2JvZHk+PC9odG1sPiJ9LCAiaGVhZGVyc1NpemUiOiAwLCAiYm9keVNpemUiOiA3NzA4NywgInJlZGlyZWN0VVJMIjogIiIsICJfdHJhbnNmZXJTaXplIjogNzcwODd9LCAiY2FjaGUiOiB7fSwgInRpbWluZ3MiOiB7ImRucyI6IDAuNjgxLCAiY29ubmVjdCI6IDM0LjYyMywgInNzbCI6IDM0LjYyMywgInNlbmQiOiAwLCAid2FpdCI6IDE3MS4yNzcsICJyZWNlaXZlIjogMjkuNzI1fSwgInBhZ2VyZWYiOiAicGFnZUAyZTdhY2U5NTVhNjc3M2VjZmQyZTk4ZWYyZmRjYjcwNCIsICJzZXJ2ZXJJUEFkZHJlc3MiOiAiWzJhMDA6MTQ1MDo0MDAxOjgwODo6MjAwNF0iLCAiX3NlcnZlclBvcnQiOiA0NDMsICJfc2VjdXJpdHlEZXRhaWxzIjogeyJwcm90b2NvbCI6ICJRVUlDIiwgInN1YmplY3ROYW1lIjogIiouZ29vZ2xlLmNvbSIsICJpc3N1ZXIiOiAiV1IyIiwgInZhbGlkRnJvbSI6IDE3MjIzNDI3NzMsICJ2YWxpZFRvIjogMTcyOTYwMDM3Mn19LCB7InN0YXJ0ZWREYXRlVGltZSI6ICIyMDI0LTA4LTAxVDEyOjMzOjExLjM5OVoiLCAidGltZSI6IDM0LjMzMiwgInJlcXVlc3QiOiB7Im1ldGhvZCI6ICJHRVQiLCAidXJsIjogImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20veGpzL18vc3Mvaz14anMuaGQuaGhrX05SZndKLXMuTC5CMS5PL2FtPUFFd0JBQUFBQUFBQUdBQUFBQUFBQUFBQUFBQUFBQUFBQ0FBQUJBQUFBQUFBb0FBZ2tBQ0FBTUFHQkFBQUFFQUFnQUFBQUFBQUFDZ0FBQUFBR0FBQUFBZ0FJQUdBQUlDQUFBQUFBd0NFQUFJQUNCQUJpZ0FTQUFLQ0tBSUFBRUFBQUNCQ3dJQmhBQUlWQUF3Q0FBQUFnQUFDQUFBQUFGZ2pBQUVDQVBvSUFCQUFJQ0lBQUFpZ0F3UUFCQUFFZ0FCQUFCakFBQUVBQUFBQUFBQ0FBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNBQUNBQW9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQi9kPTEvZWQ9MS9icj0xL3JzPUFDVDkwb0Z2T1Qza2ktd2tieEplNko2RDh4ZHV5X1VJY2cvbT1jZG9zLGhzbSxqc2EsbWI0WlViLGQsY3NpLGNFdDkwYixTTlVuMyxxZGRnS2Usc1RzRE1jLGR0bDBoZCxlSERmbCIsICJodHRwVmVyc2lvbiI6ICJoMyIsICJjb29raWVzIjogW3sibmFtZSI6ICJBRUMiLCAidmFsdWUiOiAiQVZZQjdjcmF2OTRZTS1mZko2U2ppNFE3ekxtV2ktQmE0R29iSl85ck9RZzlqSHlvdTBvNnVFcFdYcjgifSwgeyJuYW1lIjogIl9fU2VjdXJlLUVOSUQiLCAidmFsdWUiOiAiMjEuU0U9Wk5NaEljXzI3eDRtb3BmWWd3bnJkTF9OUzJSZTZMTno1OS0ycl9Sa08xMVBIbmx3b291b1pDQ1Y5RElpNHp0UVNCVDRhNm5oTzBMcWpyYUJ4eEQ5cllLU01sZVlqSGxmZmFURE4tNTJkaWM2d3YzaVhSM19nc251ZEVxQ2NEVTR2eGNVOW1BQUNsWVZQSTVZaUszTkZNMXlEc0hCUHA4REU1ajVXTThHd0xXdE5wTlBuNGo2OVNuUkdJNF9TZkZjZ2JQeXMwX282MS1WeWlFVl91cEZoRm1uZ1RfcUQwN2EifV0sICJoZWFkZXJzIjogW3sibmFtZSI6ICI6YXV0aG9yaXR5IiwgInZhbHVlIjogInd3dy5nb29nbGUuY29tIn0sIHsibmFtZSI6ICI6bWV0aG9kIiwgInZhbHVlIjogIkdFVCJ9LCB7Im5hbWUiOiAiOnBhdGgiLCAidmFsdWUiOiAiL3hqcy9fL3NzL2s9eGpzLmhkLmhoa19OUmZ3Si1zLkwuQjEuTy9hbT1BRXdCQUFBQUFBQUFHQUFBQUFBQUFBQUFBQUFBQUFBQUNBQUFCQUFBQUFBQW9BQWdrQUNBQU1BR0JBQUFBRUFBZ0FBQUFBQUFBQ2dBQUFBQUdBQUFBQWdBSUFHQUFJQ0FBQUFBQXdDRUFBSUFDQkFCaWdBU0FBS0NLQUlBQUVBQUFDQkN3SUJoQUFJVkFBd0NBQUFBZ0FBQ0FBQUFBRmdqQUFFQ0FQb0lBQkFBSUNJQUFBaWdBd1FBQkFBRWdBQkFBQmpBQUFFQUFBQUFBQUNBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDQUFDQUFvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUIvZD0xL2VkPTEvYnI9MS9ycz1BQ1Q5MG9Gdk9UM2tpLXdrYnhKZTZKNkQ4eGR1eV9VSWNnL209Y2Rvcyxoc20sanNhLG1iNFpVYixkLGNzaSxjRXQ5MGIsU05VbjMscWRkZ0tlLHNUc0RNYyxkdGwwaGQsZUhEZmwifSwgeyJuYW1lIjogIjpzY2hlbWUiLCAidmFsdWUiOiAiaHR0cHMifSwgeyJuYW1lIjogImFjY2VwdCIsICJ2YWx1ZSI6ICJ0ZXh0L2NzcywqLyo7cT0wLjEifSwgeyJuYW1lIjogImFjY2VwdC1lbmNvZGluZyIsICJ2YWx1ZSI6ICJnemlwLCBkZWZsYXRlLCBiciwgenN0ZCJ9LCB7Im5hbWUiOiAiYWNjZXB0LWxhbmd1YWdlIiwgInZhbHVlIjogImVuLVVTLGVuO3E9MC45In0sIHsibmFtZSI6ICJjb29raWUiLCAidmFsdWUiOiAiQUVDPUFWWUI3Y3Jhdjk0WU0tZmZKNlNqaTRRN3pMbVdpLUJhNEdvYkpfOXJPUWc5akh5b3UwbzZ1RXBXWHI4OyBfX1NlY3VyZS1FTklEPTIxLlNFPVpOTWhJY18yN3g0bW9wZllnd25yZExfTlMyUmU2TE56NTktMnJfUmtPMTFQSG5sd29vdW9aQ0NWOURJaTR6dFFTQlQ0YTZuaE8wTHFqcmFCeHhEOXJZS1NNbGVZakhsZmZhVEROLTUyZGljNnd2M2lYUjNfZ3NudWRFcUNjRFU0dnhjVTltQUFDbFlWUEk1WWlLM05GTTF5RHNIQlBwOERFNWo1V004R3dMV3ROcE5QbjRqNjlTblJHSTRfU2ZGY2diUHlzMF9vNjEtVnlpRVZfdXBGaEZtbmdUX3FEMDdhIn0sIHsibmFtZSI6ICJwcmlvcml0eSIsICJ2YWx1ZSI6ICJ1PTAifSwgeyJuYW1lIjogInJlZmVyZXIiLCAidmFsdWUiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8ifSwgeyJuYW1lIjogInNlYy1jaC11YSIsICJ2YWx1ZSI6ICJcIkNocm9taXVtXCI7dj1cIjEyN1wiLCBcIk5vdClBO0JyYW5kXCI7dj1cIjk5XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1hcmNoIiwgInZhbHVlIjogIlwieDY0XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1iaXRuZXNzIiwgInZhbHVlIjogIlwiNjRcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLWZ1bGwtdmVyc2lvbiIsICJ2YWx1ZSI6ICJcIjEyNy4wLjY1MzMuMTdcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLWZ1bGwtdmVyc2lvbi1saXN0IiwgInZhbHVlIjogIlwiQ2hyb21pdW1cIjt2PVwiMTI3LjAuNjUzMy4xN1wiLCBcIk5vdClBO0JyYW5kXCI7dj1cIjk5LjAuMC4wXCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1tb2JpbGUiLCAidmFsdWUiOiAiPzAifSwgeyJuYW1lIjogInNlYy1jaC11YS1tb2RlbCIsICJ2YWx1ZSI6ICJcIlwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtcGxhdGZvcm0iLCAidmFsdWUiOiAiXCJXaW5kb3dzXCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1wbGF0Zm9ybS12ZXJzaW9uIiwgInZhbHVlIjogIlwiMTAuMFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtd293NjQiLCAidmFsdWUiOiAiPzAifSwgeyJuYW1lIjogInNlYy1mZXRjaC1kZXN0IiwgInZhbHVlIjogInN0eWxlIn0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtbW9kZSIsICJ2YWx1ZSI6ICJuby1jb3JzIn0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtc2l0ZSIsICJ2YWx1ZSI6ICJzYW1lLW9yaWdpbiJ9LCB7Im5hbWUiOiAidXNlci1hZ2VudCIsICJ2YWx1ZSI6ICJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTI3LjAuNjUzMy4xNyBTYWZhcmkvNTM3LjM2In1dLCAicXVlcnlTdHJpbmciOiBbXSwgImhlYWRlcnNTaXplIjogMTk2OSwgImJvZHlTaXplIjogMH0sICJyZXNwb25zZSI6IHsic3RhdHVzIjogMjAwLCAic3RhdHVzVGV4dCI6ICIiLCAiaHR0cFZlcnNpb24iOiAiaDMiLCAiY29va2llcyI6IFtdLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiYWNjZXB0LXJhbmdlcyIsICJ2YWx1ZSI6ICJieXRlcyJ9LCB7Im5hbWUiOiAiYWdlIiwgInZhbHVlIjogIjU2NjAxIn0sIHsibmFtZSI6ICJhbHQtc3ZjIiwgInZhbHVlIjogImgzPVwiOjQ0M1wiOyBtYT0yNTkyMDAwLGgzLTI5PVwiOjQ0M1wiOyBtYT0yNTkyMDAwIn0sIHsibmFtZSI6ICJjYWNoZS1jb250cm9sIiwgInZhbHVlIjogInB1YmxpYywgaW1tdXRhYmxlLCBtYXgtYWdlPTMxNTM2MDAwIn0sIHsibmFtZSI6ICJjb250ZW50LWVuY29kaW5nIiwgInZhbHVlIjogImJyIn0sIHsibmFtZSI6ICJjb250ZW50LWxlbmd0aCIsICJ2YWx1ZSI6ICIxMTg2In0sIHsibmFtZSI6ICJjb250ZW50LXNlY3VyaXR5LXBvbGljeS1yZXBvcnQtb25seSIsICJ2YWx1ZSI6ICJyZXF1aXJlLXRydXN0ZWQtdHlwZXMtZm9yICdzY3JpcHQnOyByZXBvcnQtdXJpIGh0dHBzOi8vY3NwLndpdGhnb29nbGUuY29tL2NzcC9nd3MtdGVhbSJ9LCB7Im5hbWUiOiAiY29udGVudC10eXBlIiwgInZhbHVlIjogInRleHQvY3NzOyBjaGFyc2V0PVVURi04In0sIHsibmFtZSI6ICJjcm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeSIsICJ2YWx1ZSI6ICJzYW1lLW9yaWdpbjsgcmVwb3J0LXRvPVwiZ3dzLXRlYW1cIiJ9LCB7Im5hbWUiOiAiY3Jvc3Mtb3JpZ2luLXJlc291cmNlLXBvbGljeSIsICJ2YWx1ZSI6ICJjcm9zcy1vcmlnaW4ifSwgeyJuYW1lIjogImRhdGUiLCAidmFsdWUiOiAiV2VkLCAzMSBKdWwgMjAyNCAyMDo0OTo1MCBHTVQifSwgeyJuYW1lIjogImV4cGlyZXMiLCAidmFsdWUiOiAiVGh1LCAzMSBKdWwgMjAyNSAyMDo0OTo1MCBHTVQifSwgeyJuYW1lIjogImxhc3QtbW9kaWZpZWQiLCAidmFsdWUiOiAiV2VkLCAzMSBKdWwgMjAyNCAxOTo0MTo1NSBHTVQifSwgeyJuYW1lIjogInJlcG9ydC10byIsICJ2YWx1ZSI6ICJ7XCJncm91cFwiOlwiZ3dzLXRlYW1cIixcIm1heF9hZ2VcIjoyNTkyMDAwLFwiZW5kcG9pbnRzXCI6W3tcInVybFwiOlwiaHR0cHM6Ly9jc3Aud2l0aGdvb2dsZS5jb20vY3NwL3JlcG9ydC10by9nd3MtdGVhbVwifV19In0sIHsibmFtZSI6ICJzZXJ2ZXIiLCAidmFsdWUiOiAic2ZmZSJ9LCB7Im5hbWUiOiAidmFyeSIsICJ2YWx1ZSI6ICJBY2NlcHQtRW5jb2RpbmcsIE9yaWdpbiJ9LCB7Im5hbWUiOiAieC1jb250ZW50LXR5cGUtb3B0aW9ucyIsICJ2YWx1ZSI6ICJub3NuaWZmIn0sIHsibmFtZSI6ICJ4LXhzcy1wcm90ZWN0aW9uIiwgInZhbHVlIjogIjAifV0sICJjb250ZW50IjogeyJzaXplIjogMjYwMSwgIm1pbWVUeXBlIjogInRleHQvY3NzOyBjaGFyc2V0PVVURi04IiwgImNvbXByZXNzaW9uIjogMTM4OSwgInRleHQiOiAiOnJvb3R7LS1DT0VtWTojMWYxZjFmOy0teGhVR3djOiNmZmZ9OnJvb3R7LS12WmUwamI6I2E4YzdmYTstLW53WG9iYjojNjM4ZWQ0Oy0tVnVaWEJkOiMwMDFkMzU7LS11THozN2M6IzU0NWQ3ZTstLWpJTnU2YzojMDAxZDM1Oy0tVHlWWWxkOiMwYjU3ZDA7LS1aRXBQbWQ6I2MzZDlmYjstLVFXYWFhZjojNjM4ZWQ0Oy0tREVlU3RmOiNmNWY4ZmY7LS1UU1daSWI6I2U1ZWRmZjstLUJSTHdFOiNkM2UzZmQ7LS1nUzVqWGI6I2RhZGNlMDstLUFxbjd4ZDojZDJkMmQyOy0tRXBGTlc6I2ZmZjstLUlYb3hVZTojNWU1ZTVlOy0tYmJReEFiOiM0NzQ3NDc7LS1ZTE5OSGM6IzFmMWYxZjstLVRNWVM5OiMwYjU3ZDA7LS1KS3F4MjojMWEwZGFiOy0tcnJKSlVjOiMwYjU3ZDA7LS1tWFprcWM6I2QyZDJkMjstLU5zbTBjZTojMGI1N2QwOy0tWEtNRHhjOiNmN2Y4Zjk7LS1hWW4yUzojZWNlZGVlOy0tTG01NzBiOiNlY2VkZWV9LnpKVXVxZnttYXJnaW4tYm90dG9tOjRweH0uQUI0V2Zme21hcmdpbi1sZWZ0OjE2cHh9LnYwcnJ2ZHtwYWRkaW5nLWJvdHRvbToxNnB4fS5WRGdWaWV7dGV4dC1hbGlnbjpjZW50ZXJ9LndIWWxUZHtmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjIycHh9LnlVVE1qe2ZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NDAwfS5UVU9zVWV7dGV4dC1hbGlnbjpsZWZ0fUBrZXlmcmFtZXMgZy1zbmFja2Jhci1zaG93e2Zyb217cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX10b3t0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSl9fUBrZXlmcmFtZXMgZy1zbmFja2Jhci1oaWRle2Zyb217dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpfXRve3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX1Aa2V5ZnJhbWVzIGctc25hY2tiYXItc2hvdy1jb250ZW50e2Zyb217b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIGctc25hY2tiYXItaGlkZS1jb250ZW50e3Rve29wYWNpdHk6MH19LkxIM3dHLC5qaFp2b2R7Ym90dG9tOjA7aGVpZ2h0OjA7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDo5OTl9Lk94OEN5ZHtoZWlnaHQ6MDtwb3NpdGlvbjpmaXhlZDt6LWluZGV4Ojk5OX0uRTdIZGdie2JveC1zaXppbmc6Ym9yZGVyLWJveDt2aXNpYmlsaXR5OmhpZGRlbjtkaXNwbGF5OmlubGluZS1ibG9ja30ueUs2anFlLC5XdTB2OWJ7Ym94LXNpemluZzpib3JkZXItYm94O3Zpc2liaWxpdHk6aGlkZGVufS5yVFlUTmJ7YW5pbWF0aW9uOmctc25hY2tiYXItaGlkZSAuNHMgY3ViaWMtYmV6aWVyKDAuNCwwLDAuMiwxKSBib3RoO3Zpc2liaWxpdHk6aW5oZXJpdH0uVWV3UE1ke2FuaW1hdGlvbjpnLXNuYWNrYmFyLXNob3cgLjVzIGN1YmljLWJlemllcigwLjQsMCwwLjIsMSkgYm90aDt2aXNpYmlsaXR5OmluaGVyaXR9LmI3N0hLZntiYWNrZ3JvdW5kLWNvbG9yOiMzMjMyMzI7cGFkZGluZzowIDI0cHh9LnJJeHN2ZXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpib3g7ZGlzcGxheTpmbGV4fS5yVFlUTmIgLnJJeHN2ZXthbmltYXRpb246Zy1zbmFja2Jhci1oaWRlLWNvbnRlbnQgLjM1cyBjdWJpYy1iZXppZXIoMC40LDAsMC4yLDEpIGJvdGh9LlVld1BNZCAuckl4c3Zle2FuaW1hdGlvbjpnLXNuYWNrYmFyLXNob3ctY29udGVudCAuMzVzIGN1YmljLWJlemllcigwLjQsMCwwLjIsMSkgLjE1cyBib3RofS5UeG5nbmIuVHhuZ25ie2xpbmUtaGVpZ2h0OjIwcHh9LlR4bmduYntjb2xvcjojZmZmO2ZsZXg6MSAxIGF1dG87bWFyZ2luOjE0cHggMDt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9LnNIRk5ZZHttYXJnaW4tcmlnaHQ6LThweH1AbWVkaWEgKG1pbi13aWR0aDo1NjlweCkgYW5kIChtaW4taGVpZ2h0OjU2OXB4KXsuTEgzd0csLmpoWnZvZHt0ZXh0LWFsaWduOmNlbnRlcn0uV3UwdjliLC55SzZqcWV7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWF4LXdpZHRoOjU2OHB4O21pbi13aWR0aDoyODhweDt0ZXh0LWFsaWduOmxlZnR9LmI3N0hLZntib3JkZXItcmFkaXVzOjhweH0uc0hGTllke21hcmdpbi1sZWZ0OjQwcHh9fS5WOU8xWWQgLnJJeHN2ZXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6OHB4IDB9LlY5TzFZZCAuc0hGTllke21hcmdpbi1sZWZ0OjB9LlY5TzFZZCAuc0hGTllkIGctZmxhdC1idXR0b257cGFkZGluZy1sZWZ0OjB9LmpoWnZvZHtsZWZ0OjE2cHg7cmlnaHQ6YXV0b30uTEgzd0csLk94OEN5ZHtsZWZ0OjA7cmlnaHQ6MH0ueUs2anFlLC5XdTB2OWIsLkU3SGRnYntwb3NpdGlvbjpyZWxhdGl2ZX0uRzlqb3Jle3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMjRweDtib3R0b206LTI0cHg7bGVmdDotMjRweDtyaWdodDotMjRweH0uQUJNRlouQjA1UkJie3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAxMDBtcyx2aXNpYmlsaXR5IDBzIDBzO3Zpc2liaWxpdHk6aW5oZXJpdDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KX0uQUJNRlp7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIDEwMG1zLHZpc2liaWxpdHkgMHMgMjUwbXM7cG9zaXRpb246Zml4ZWQ7dmlzaWJpbGl0eTpoaWRkZW47aW5zZXQ6MH0vKiMgc291cmNlTWFwcGluZ1VSTD1zdWdnZXN0aW9uX2dyb3VwLmNzcy5tYXAgKi9zZW50aW5lbHt9In0sICJoZWFkZXJzU2l6ZSI6IDAsICJib2R5U2l6ZSI6IDEyMTIsICJyZWRpcmVjdFVSTCI6ICIiLCAiX3RyYW5zZmVyU2l6ZSI6IDEyMTJ9LCAiY2FjaGUiOiB7fSwgInRpbWluZ3MiOiB7ImRucyI6IC0xLCAiY29ubmVjdCI6IC0xLCAic3NsIjogLTEsICJzZW5kIjogMCwgIndhaXQiOiAyMC42MjIsICJyZWNlaXZlIjogMTMuNzF9LCAicGFnZXJlZiI6ICJwYWdlQDJlN2FjZTk1NWE2NzczZWNmZDJlOThlZjJmZGNiNzA0IiwgInNlcnZlcklQQWRkcmVzcyI6ICJbMmEwMDoxNDUwOjQwMDE6ODA4OjoyMDA0XSIsICJfc2VydmVyUG9ydCI6IDQ0MywgIl9zZWN1cml0eURldGFpbHMiOiB7InByb3RvY29sIjogIlFVSUMiLCAic3ViamVjdE5hbWUiOiAiKi5nb29nbGUuY29tIiwgImlzc3VlciI6ICJXUjIiLCAidmFsaWRGcm9tIjogMTcyMjM0Mjc3MywgInZhbGlkVG8iOiAxNzI5NjAwMzcyfX0sIHsic3RhcnRlZERhdGVUaW1lIjogIjIwMjQtMDgtMDFUMTI6MzM6MTEuMzk5WiIsICJ0aW1lIjogOTEuMDA3LCAicmVxdWVzdCI6IHsibWV0aG9kIjogIkdFVCIsICJ1cmwiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS94anMvXy9qcy9rPXhqcy5oZC5lbi56SEFMd25SODNxRS5PL2FtPUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBaEFBVUFBQ0FBZ0FBQUFBQUFBQUFBQUJBZ0NBQWdDZ0FBQkFBSEFBZ0FnSUFBZ0VBQUVTQ0FEektCd0NBQU1BRUFCQUFnQUFBQUFJQ0FDQUFBRUFBQUFCQ0FBQUFBQUFVQUFBQUFBQUFBQUFBQUFBQUF3aEFBQUFBQUFBQUFBQUFBQUlBQUFDZ0F3QUFBQUFCQUVBUUFCakFBQUVnQUFFQUFBRG9BVUJ3QUF4U0VBQUFBQUFBQUFBQUFBQUFDRUNDWUM0a29DQ0FBQUFBQUFBQUFBQUFBQUFBQUVoSkp4WTIvZD0xL2VkPTEvZGc9My9icj0xL3JzPUFDVDkwb0hZdEwzMVhfYWJvSlRwMk4xQm5lZnRVdXBXR2cvZWU9QUxlSmliOkI4Z0x3ZDtBZmVhUDpUa3JBamY7Qk14QUdjOkU1YkZzZTtCZ1M2bWI6ZmlkajVkO0Jqd01jZTpjWFgyV2I7Q3hYQVdiOll5Ukx2YztETTU1YzppbUxyS2U7RFVMcUI6UktmRzVjO0RrazZnZTp3SnFycmQ7RHBjUjNkOnpMNzJ4ZjtFQUJTWjpNWFp0OWQ7RVNyUFFjOm1OVEp2YztFVk5oamY6cHc3MEdjO0VtWjJCZjp6cjFqcmI7RW5sY05kOldlSGc0O0VybDRmZTpGbG9XbWYsRmxvV21mO0Y5bXF0ZTpVb1JjYmU7Rm12OU5jOk8xVHp3YztHMEtoVGI6TElhb1o7RzZ3VTZlOmhlekViZDtHbGVaTDpKMUE3T2Q7SE1ERFdlOkc4UVVkYjtIb1lWS2I6UGtETjdlO0hxZVhQZDpjbWJuSDtJQkFEQ2M6UllxdVJiO0lack5xZTpQOGhhMmM7SW9HbENmOmI1bGh2YjtJc2RXVmM6cXp4ek9iO0pYUzhmYjpRajBzdWM7SmJNVDM6TTI1c1M7SnNiTmhjOlhkOGlVZDtLT3hjSzpPWnFHdGU7S1F6V2lkOlpNS2tOO0tjb2tVYjpLaXVaQmY7S3BSQXVlOlRpYTU3YjtMQmdSTGM6U2Rjd0hiLFhWTU52ZDtMRWlrWmU6YnlmVE9iLGxzalZtYztMWEE4YjpxN09kS2Q7THNOYWhiOnVjR0xOYjtNZTMyZGQ6TUVlWWdjO05QS2FLOlNkY3dIYjtOU0VvWDpsYXpHN2I7TnA4UWtkOkRweDZxYztOeXQ2aWM6am4yc0dkO09nYWdCZTpjTlRlMDtPajQ2NWU6S0cyZVhlLEtHMmVYZTtPb2hJWWU6bXBFQVFiO1BqcGx1ZDpFRURPUmIsUG9FczliO1ExT3c3Yjp4NUNTdTtRNkM1a2Y6cGZkWkNlO1FHUjBnZDpNbGhteTtSMmtjOGI6QUxKcVdiO1I0SUlJYjpRV2ZlS2Y7UjlVbHg6Q1I3VWZlO1JETkJsZjp6UFJDSmI7U0x0cU86S2gxeFllO1NNREw0YzpmVGZHTyxmVGZHTztTTlVuMzpad0RrOWQseDhjSHZiO1NocEY2ZTpOMHB2R2M7U3pRUTNlOmROaG9mYjtUeGZWNmQ6WU9STjBiO1U5NnBSZDpGc1IwNDtVQktKWjpMR0RKR2I7VURyWTFjOmVwczQ2ZDtVVm1qRWQ6RWVzUnNiO1V5RzdLYjp3UWQwRztWMkhUVGU6Um9sVFk7VkdSZng6VkZxYnI7Vk42akljOmRkUXl1ZjtWT2NnRGU6WXF1aFRiO1ZzQXFTYjpQR2YyUmU7VnhRMzJiOmswWHNCYjtXQ0VLTmQ6STQ2SHZkO1dER3lGZTpqY1ZPeGQ7V2ZtZHVlOmczTUpsYjtYVWV6WjpzYTdscWI7WVY1YmVlOkl2UFo2ZDtZa1F0QWY6cng4dXI7Wk12ZHY6UEhGUGpiO1pTSDZ0YzpRQXZ5TGU7WldFVUE6YWZSNENmO2E1NnBOZTpKRWZDd2I7YUFKRTljOldIVzZFZjthQ0o5dGY6cUtmdHZjO2FaNjFvZDphclR3SjthZjBFSmY6Z2hpbklkO2JEWHdSZTpVc3lPdGM7YmNQWFNjOmdTWkxKYjtjRXQ5MGI6d3M5VGxjO2NGVFdhZTpnVDhxbmQ7Y29KOGU6S3ZvVzg7ZElvU0JiOlpnR2c5YjtkTGxqMjpRcXQzR2Y7ZGFCNmJlOmxNeEdQZDtkdGwwaGQ6bExRV0ZlO2VCQWVTYjpDazYzdGI7ZUJaNU5kOlZydURCZDtlSERmbDpvZmpWa2I7ZU8zbHNlOm5GQ2xyZjtldU9YWTpPWmpiUTtnOG5reDpVNE16S2M7Z2F1YjQ6VE42Yk1lO2d0VlNpOmVrVU9ZZDtoM01Zb2Q6Y0V0OTBiO2hLNjdxYjpRV0VPNWI7aGVIQjE6c0ZjenE7aGpSbzZlOkY2MnNHO2hzTHNZYzpWbDExODtpRlF5S2Y6UUloRnIsdmZ1TkpmO2ltcWltZjpqS0dMMmU7aW84dDVkOnNnWTZaYjtqWTB6ZzpRNnROZ2M7azJReGNiOlhZNTFwZTtrQ1F5Sjp1ZXlQSztrTUZwSGQ6T1RBM0FlO2tiQW05ZDpNa0h5R2Q7bGtxMEE6SnlCRTNlO25BRkwzOk5UTVphYyxzMzlTNDtuSnc0R2Q6ZFBGWkg7b0d0QXVjOnNPWEZqO29TVU55ZDpmVGZHTyxmVGZHTztvVWxucGM6UmFnRGxjO29rVWFVZDp3SXRhZGI7cEtKaVhkOlZDZW5oYztwTnNsMmQ6ajlZdXljO3BYZFJZYjpKS29LVmU7cGo4MmxlOm1nNUNXO3FaeDJGYzpqMHhyRTtxYVMzZ2Q6eWlMZzZlO3FhdnJYZTp6UXpjWGU7cWRkZ0tlOmQ3WVNmZCx4NEZZWGU7clFTcmFlOkM2RDVGYztzUDRWYmU6VndEekZlO3NUc0RNYzprSFZTVWI7c1ptZHZjOnJkR0VmYzt0SDRJSWU6WW1yeTY7dG9zS3ZkOlpDcVAzO3RyWkwwYjpxWThQRmU7dVk0OWZiOkNPUWJtZjt1dVFrWTp1MlYzdWQ7dkdyTVo6bFBKSjBjO3ZmVndQZDpsY3Jrd2U7dzNiWkNiOlpQR2FJYjt3NHJTZGY6WEtpWjk7dzl3ODZkOmR0NGcyYjt3UWxZdmU6YUxVZlA7d1I1RlJiOk8xR2p6ZSxUdGNPdGU7d1Y1UGpjOkw4S0d4ZTt3aEVaYWM6RjRBbU5iO3hCYnNyYzpORVcxUWM7eXNOaU1jOkNwSUJqZDt5eFRjaGY6S1VNN1o7ejk3WUdmOm91Zzl0ZTt6T3NDUWU6S283OERmO3phSWdQYjpRdHB4YmQvbT1jZG9zLGhzbSxqc2EsbWI0WlViLGQsY3NpLGNFdDkwYixTTlVuMyxxZGRnS2Usc1RzRE1jLGR0bDBoZCxlSERmbCIsICJodHRwVmVyc2lvbiI6ICJoMyIsICJjb29raWVzIjogW3sibmFtZSI6ICJBRUMiLCAidmFsdWUiOiAiQVZZQjdjcmF2OTRZTS1mZko2U2ppNFE3ekxtV2ktQmE0R29iSl85ck9RZzlqSHlvdTBvNnVFcFdYcjgifSwgeyJuYW1lIjogIl9fU2VjdXJlLUVOSUQiLCAidmFsdWUiOiAiMjEuU0U9Wk5NaEljXzI3eDRtb3BmWWd3bnJkTF9OUzJSZTZMTno1OS0ycl9Sa08xMVBIbmx3b291b1pDQ1Y5RElpNHp0UVNCVDRhNm5oTzBMcWpyYUJ4eEQ5cllLU01sZVlqSGxmZmFURE4tNTJkaWM2d3YzaVhSM19nc251ZEVxQ2NEVTR2eGNVOW1BQUNsWVZQSTVZaUszTkZNMXlEc0hCUHA4REU1ajVXTThHd0xXdE5wTlBuNGo2OVNuUkdJNF9TZkZjZ2JQeXMwX282MS1WeWlFVl91cEZoRm1uZ1RfcUQwN2EifV0sICJoZWFkZXJzIjogW3sibmFtZSI6ICI6YXV0aG9yaXR5IiwgInZhbHVlIjogInd3dy5nb29nbGUuY29tIn0sIHsibmFtZSI6ICI6bWV0aG9kIiwgInZhbHVlIjogIkdFVCJ9LCB7Im5hbWUiOiAiOnBhdGgiLCAidmFsdWUiOiAiL3hqcy9fL2pzL2s9eGpzLmhkLmVuLnpIQUx3blI4M3FFLk8vYW09QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFoQUFVQUFDQUFnQUFBQUFBQUFBQUFBQkFnQ0FBZ0NnQUFCQUFIQUFnQWdJQUFnRUFBRVNDQUR6S0J3Q0FBTUFFQUJBQWdBQUFBQUlDQUNBQUFFQUFBQUJDQUFBQUFBQVVBQUFBQUFBQUFBQUFBQUFBQXdoQUFBQUFBQUFBQUFBQUFBSUFBQUNnQXdBQUFBQUJBRUFRQUJqQUFBRWdBQUVBQUFEb0FVQndBQXhTRUFBQUFBQUFBQUFBQUFBQUNFQ0NZQzRrb0NDQUFBQUFBQUFBQUFBQUFBQUFBRWhKSnhZMi9kPTEvZWQ9MS9kZz0zL2JyPTEvcnM9QUNUOTBvSFl0TDMxWF9hYm9KVHAyTjFCbmVmdFV1cFdHZy9lZT1BTGVKaWI6QjhnTHdkO0FmZWFQOlRrckFqZjtCTXhBR2M6RTViRnNlO0JnUzZtYjpmaWRqNWQ7Qmp3TWNlOmNYWDJXYjtDeFhBV2I6WXlSTHZjO0RNNTVjOmltTHJLZTtEVUxxQjpSS2ZHNWM7RGtrNmdlOndKcXJyZDtEcGNSM2Q6ekw3MnhmO0VBQlNaOk1YWnQ5ZDtFU3JQUWM6bU5USnZjO0VWTmhqZjpwdzcwR2M7RW1aMkJmOnpyMWpyYjtFbmxjTmQ6V2VIZzQ7RXJsNGZlOkZsb1dtZixGbG9XbWY7RjltcXRlOlVvUmNiZTtGbXY5TmM6TzFUendjO0cwS2hUYjpMSWFvWjtHNndVNmU6aGV6RWJkO0dsZVpMOkoxQTdPZDtITUREV2U6RzhRVWRiO0hvWVZLYjpQa0RON2U7SHFlWFBkOmNtYm5IO0lCQURDYzpSWXF1UmI7SVpyTnFlOlA4aGEyYztJb0dsQ2Y6YjVsaHZiO0lzZFdWYzpxenh6T2I7SlhTOGZiOlFqMHN1YztKYk1UMzpNMjVzUztKc2JOaGM6WGQ4aVVkO0tPeGNLOk9acUd0ZTtLUXpXaWQ6Wk1La047S2Nva1ViOktpdVpCZjtLcFJBdWU6VGlhNTdiO0xCZ1JMYzpTZGN3SGIsWFZNTnZkO0xFaWtaZTpieWZUT2IsbHNqVm1jO0xYQThiOnE3T2RLZDtMc05haGI6dWNHTE5iO01lMzJkZDpNRWVZZ2M7TlBLYUs6U2Rjd0hiO05TRW9YOmxhekc3YjtOcDhRa2Q6RHB4NnFjO055dDZpYzpqbjJzR2Q7T2dhZ0JlOmNOVGUwO09qNDY1ZTpLRzJlWGUsS0cyZVhlO09vaElZZTptcEVBUWI7UGpwbHVkOkVFRE9SYixQb0VzOWI7UTFPdzdiOng1Q1N1O1E2QzVrZjpwZmRaQ2U7UUdSMGdkOk1saG15O1Iya2M4YjpBTEpxV2I7UjRJSUliOlFXZmVLZjtSOVVseDpDUjdVZmU7UkROQmxmOnpQUkNKYjtTTHRxTzpLaDF4WWU7U01ETDRjOmZUZkdPLGZUZkdPO1NOVW4zOlp3RGs5ZCx4OGNIdmI7U2hwRjZlOk4wcHZHYztTelFRM2U6ZE5ob2ZiO1R4ZlY2ZDpZT1JOMGI7VTk2cFJkOkZzUjA0O1VCS0paOkxHREpHYjtVRHJZMWM6ZXBzNDZkO1VWbWpFZDpFZXNSc2I7VXlHN0tiOndRZDBHO1YySFRUZTpSb2xUWTtWR1JmeDpWRnFicjtWTjZqSWM6ZGRReXVmO1ZPY2dEZTpZcXVoVGI7VnNBcVNiOlBHZjJSZTtWeFEzMmI6azBYc0JiO1dDRUtOZDpJNDZIdmQ7V0RHeUZlOmpjVk94ZDtXZm1kdWU6ZzNNSmxiO1hVZXpaOnNhN2xxYjtZVjViZWU6SXZQWjZkO1lrUXRBZjpyeDh1cjtaTXZkdjpQSEZQamI7WlNINnRjOlFBdnlMZTtaV0VVQTphZlI0Q2Y7YTU2cE5lOkpFZkN3YjthQUpFOWM6V0hXNkVmO2FDSjl0ZjpxS2Z0dmM7YVo2MW9kOmFyVHdKO2FmMEVKZjpnaGluSWQ7YkRYd1JlOlVzeU90YztiY1BYU2M6Z1NaTEpiO2NFdDkwYjp3czlUbGM7Y0ZUV2FlOmdUOHFuZDtjb0o4ZTpLdm9XODtkSW9TQmI6WmdHZzliO2RMbGoyOlFxdDNHZjtkYUI2YmU6bE14R1BkO2R0bDBoZDpsTFFXRmU7ZUJBZVNiOkNrNjN0YjtlQlo1TmQ6VnJ1REJkO2VIRGZsOm9malZrYjtlTzNsc2U6bkZDbHJmO2V1T1hZOk9aamJRO2c4bmt4OlU0TXpLYztnYXViNDpUTjZiTWU7Z3RWU2k6ZWtVT1lkO2gzTVlvZDpjRXQ5MGI7aEs2N3FiOlFXRU81YjtoZUhCMTpzRmN6cTtoalJvNmU6RjYyc0c7aHNMc1ljOlZsMTE4O2lGUXlLZjpRSWhGcix2ZnVOSmY7aW1xaW1mOmpLR0wyZTtpbzh0NWQ6c2dZNlpiO2pZMHpnOlE2dE5nYztrMlF4Y2I6WFk1MXBlO2tDUXlKOnVleVBLO2tNRnBIZDpPVEEzQWU7a2JBbTlkOk1rSHlHZDtsa3EwQTpKeUJFM2U7bkFGTDM6TlRNWmFjLHMzOVM0O25KdzRHZDpkUEZaSDtvR3RBdWM6c09YRmo7b1NVTnlkOmZUZkdPLGZUZkdPO29VbG5wYzpSYWdEbGM7b2tVYVVkOndJdGFkYjtwS0ppWGQ6VkNlbmhjO3BOc2wyZDpqOVl1eWM7cFhkUlliOkpLb0tWZTtwajgybGU6bWc1Q1c7cVp4MkZjOmoweHJFO3FhUzNnZDp5aUxnNmU7cWF2clhlOnpRemNYZTtxZGRnS2U6ZDdZU2ZkLHg0RllYZTtyUVNyYWU6QzZENUZjO3NQNFZiZTpWd0R6RmU7c1RzRE1jOmtIVlNVYjtzWm1kdmM6cmRHRWZjO3RINElJZTpZbXJ5Njt0b3NLdmQ6WkNxUDM7dHJaTDBiOnFZOFBGZTt1WTQ5ZmI6Q09RYm1mO3V1UWtZOnUyVjN1ZDt2R3JNWjpsUEpKMGM7dmZWd1BkOmxjcmt3ZTt3M2JaQ2I6WlBHYUliO3c0clNkZjpYS2laOTt3OXc4NmQ6ZHQ0ZzJiO3dRbFl2ZTphTFVmUDt3UjVGUmI6TzFHanplLFR0Y090ZTt3VjVQamM6TDhLR3hlO3doRVphYzpGNEFtTmI7eEJic3JjOk5FVzFRYzt5c05pTWM6Q3BJQmpkO3l4VGNoZjpLVU03Wjt6OTdZR2Y6b3VnOXRlO3pPc0NRZTpLbzc4RGY7emFJZ1BiOlF0cHhiZC9tPWNkb3MsaHNtLGpzYSxtYjRaVWIsZCxjc2ksY0V0OTBiLFNOVW4zLHFkZGdLZSxzVHNETWMsZHRsMGhkLGVIRGZsIn0sIHsibmFtZSI6ICI6c2NoZW1lIiwgInZhbHVlIjogImh0dHBzIn0sIHsibmFtZSI6ICJhY2NlcHQiLCAidmFsdWUiOiAiKi8qIn0sIHsibmFtZSI6ICJhY2NlcHQtZW5jb2RpbmciLCAidmFsdWUiOiAiZ3ppcCwgZGVmbGF0ZSwgYnIsIHpzdGQifSwgeyJuYW1lIjogImFjY2VwdC1sYW5ndWFnZSIsICJ2YWx1ZSI6ICJlbi1VUyxlbjtxPTAuOSJ9LCB7Im5hbWUiOiAiY29va2llIiwgInZhbHVlIjogIkFFQz1BVllCN2NyYXY5NFlNLWZmSjZTamk0UTd6TG1XaS1CYTRHb2JKXzlyT1FnOWpIeW91MG82dUVwV1hyODsgX19TZWN1cmUtRU5JRD0yMS5TRT1aTk1oSWNfMjd4NG1vcGZZZ3ducmRMX05TMlJlNkxOejU5LTJyX1JrTzExUEhubHdvb3VvWkNDVjlESWk0enRRU0JUNGE2bmhPMExxanJhQnh4RDlyWUtTTWxlWWpIbGZmYVRETi01MmRpYzZ3djNpWFIzX2dzbnVkRXFDY0RVNHZ4Y1U5bUFBQ2xZVlBJNVlpSzNORk0xeURzSEJQcDhERTVqNVdNOEd3TFd0TnBOUG40ajY5U25SR0k0X1NmRmNnYlB5czBfbzYxLVZ5aUVWX3VwRmhGbW5nVF9xRDA3YSJ9LCB7Im5hbWUiOiAicmVmZXJlciIsICJ2YWx1ZSI6ICJodHRwczovL3d3dy5nb29nbGUuY29tLyJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhIiwgInZhbHVlIjogIlwiQ2hyb21pdW1cIjt2PVwiMTI3XCIsIFwiTm90KUE7QnJhbmRcIjt2PVwiOTlcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLWFyY2giLCAidmFsdWUiOiAiXCJ4NjRcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLWJpdG5lc3MiLCAidmFsdWUiOiAiXCI2NFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtZnVsbC12ZXJzaW9uIiwgInZhbHVlIjogIlwiMTI3LjAuNjUzMy4xN1wiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtZnVsbC12ZXJzaW9uLWxpc3QiLCAidmFsdWUiOiAiXCJDaHJvbWl1bVwiO3Y9XCIxMjcuMC42NTMzLjE3XCIsIFwiTm90KUE7QnJhbmRcIjt2PVwiOTkuMC4wLjBcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLW1vYmlsZSIsICJ2YWx1ZSI6ICI/MCJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLW1vZGVsIiwgInZhbHVlIjogIlwiXCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1wbGF0Zm9ybSIsICJ2YWx1ZSI6ICJcIldpbmRvd3NcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXBsYXRmb3JtLXZlcnNpb24iLCAidmFsdWUiOiAiXCIxMC4wXCIifSwgeyJuYW1lIjogInNlYy1jaC11YS13b3c2NCIsICJ2YWx1ZSI6ICI/MCJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLWRlc3QiLCAidmFsdWUiOiAic2NyaXB0In0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtbW9kZSIsICJ2YWx1ZSI6ICJuby1jb3JzIn0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtc2l0ZSIsICJ2YWx1ZSI6ICJzYW1lLW9yaWdpbiJ9LCB7Im5hbWUiOiAidXNlci1hZ2VudCIsICJ2YWx1ZSI6ICJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTI3LjAuNjUzMy4xNyBTYWZhcmkvNTM3LjM2In1dLCAicXVlcnlTdHJpbmciOiBbXSwgImhlYWRlcnNTaXplIjogNjMzNCwgImJvZHlTaXplIjogMH0sICJyZXNwb25zZSI6IHsic3RhdHVzIjogMjAwLCAic3RhdHVzVGV4dCI6ICIiLCAiaHR0cFZlcnNpb24iOiAiaDMiLCAiY29va2llcyI6IFtdLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiYWNjZXB0LXJhbmdlcyIsICJ2YWx1ZSI6ICJieXRlcyJ9LCB7Im5hbWUiOiAiYWdlIiwgInZhbHVlIjogIjQzOTk2In0sIHsibmFtZSI6ICJhbHQtc3ZjIiwgInZhbHVlIjogImgzPVwiOjQ0M1wiOyBtYT0yNTkyMDAwLGgzLTI5PVwiOjQ0M1wiOyBtYT0yNTkyMDAwIn0sIHsibmFtZSI6ICJjYWNoZS1jb250cm9sIiwgInZhbHVlIjogInB1YmxpYywgaW1tdXRhYmxlLCBtYXgtYWdlPTMxNTM2MDAwIn0sIHsibmFtZSI6ICJjb250ZW50LWVuY29kaW5nIiwgInZhbHVlIjogImJyIn0sIHsibmFtZSI6ICJjb250ZW50LWxlbmd0aCIsICJ2YWx1ZSI6ICIzNDA5NzMifSwgeyJuYW1lIjogImNvbnRlbnQtc2VjdXJpdHktcG9saWN5LXJlcG9ydC1vbmx5IiwgInZhbHVlIjogInJlcXVpcmUtdHJ1c3RlZC10eXBlcy1mb3IgJ3NjcmlwdCc7IHJlcG9ydC11cmkgaHR0cHM6Ly9jc3Aud2l0aGdvb2dsZS5jb20vY3NwL2d3cy10ZWFtIn0sIHsibmFtZSI6ICJjb250ZW50LXR5cGUiLCAidmFsdWUiOiAidGV4dC9qYXZhc2NyaXB0OyBjaGFyc2V0PVVURi04In0sIHsibmFtZSI6ICJjcm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeSIsICJ2YWx1ZSI6ICJzYW1lLW9yaWdpbjsgcmVwb3J0LXRvPVwiZ3dzLXRlYW1cIiJ9LCB7Im5hbWUiOiAiY3Jvc3Mtb3JpZ2luLXJlc291cmNlLXBvbGljeSIsICJ2YWx1ZSI6ICJjcm9zcy1vcmlnaW4ifSwgeyJuYW1lIjogImRhdGUiLCAidmFsdWUiOiAiVGh1LCAwMSBBdWcgMjAyNCAwMDoxOTo1NSBHTVQifSwgeyJuYW1lIjogImV4cGlyZXMiLCAidmFsdWUiOiAiRnJpLCAwMSBBdWcgMjAyNSAwMDoxOTo1NSBHTVQifSwgeyJuYW1lIjogImxhc3QtbW9kaWZpZWQiLCAidmFsdWUiOiAiV2VkLCAzMSBKdWwgMjAyNCAyMzoyNTozNiBHTVQifSwgeyJuYW1lIjogInJlcG9ydC10byIsICJ2YWx1ZSI6ICJ7XCJncm91cFwiOlwiZ3dzLXRlYW1cIixcIm1heF9hZ2VcIjoyNTkyMDAwLFwiZW5kcG9pbnRzXCI6W3tcInVybFwiOlwiaHR0cHM6Ly9jc3Aud2l0aGdvb2dsZS5jb20vY3NwL3JlcG9ydC10by9nd3MtdGVhbVwifV19In0sIHsibmFtZSI6ICJzZXJ2ZXIiLCAidmFsdWUiOiAic2ZmZSJ9LCB7Im5hbWUiOiAidmFyeSIsICJ2YWx1ZSI6ICJBY2NlcHQtRW5jb2RpbmcsIE9yaWdpbiJ9LCB7Im5hbWUiOiAieC1jb250ZW50LXR5cGUtb3B0aW9ucyIsICJ2YWx1ZSI6ICJub3NuaWZmIn0sIHsibmFtZSI6ICJ4LXhzcy1wcm90ZWN0aW9uIiwgInZhbHVlIjogIjAifV0sICJjb250ZW50IjogeyJzaXplIjogOTkxNDUwLCAibWltZVR5cGUiOiAidGV4dC9qYXZhc2NyaXB0OyBjaGFyc2V0PVVURi04IiwgImNvbXByZXNzaW9uIjogNjUwNDAxLCAidGV4dCI6ICJ0aGlzLl9oZD10aGlzLl9oZHx8e307KGZ1bmN0aW9uKF8pe3ZhciB3aW5kb3c9dGhpcztcbnRyeXtcbi8qXG5cbiBDb3B5cmlnaHQgVGhlIENsb3N1cmUgTGlicmFyeSBBdXRob3JzLlxuIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4qL1xuLypcblxuIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4qL1xuLypcblxuIENvcHlyaWdodCAyMDI0IEdvb2dsZSwgSW5jXG4gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuKi9cbi8qXG4gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbiovXG4vKlxuIENvcHlyaWdodCBUaGUgQ2xvc3VyZSBMaWJyYXJ5IEF1dGhvcnMuXG4gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbiovXG52YXIgYmFhLGNhYSxuYWEsQWFhLENhYSxJYWEsVGFhLCRhYSxpYmEsa2JhLG1iYSxuYmEscmJhLHNiYSx3YmEseGJhLEFiYSx6YmEsdWJhLFJhLERiYSxIYmEsSWJhLEpiYSxOYmEsUGJhLFFiYSxSYmEsVGJhLFZiYSxXYmEsWGJhLFpiYSxhY2EsYmNhLGNjYSxkY2EsaGNhLGpjYSxsY2Esc2NhLHRjYSx1Y2EscGNhLHZjYSxvY2Esd2NhLG5jYSx4Y2EseWNhLHpjYSxGY2EsSGNhLEljYSxNY2EsTmNhLFJjYSxVY2EsT2NhLFRjYSxTY2EsUWNhLFBjYSxWY2EsV2NhLFhjYSxZY2EsYWRhLGJkYSxjZGEsZGRhLGVkYSxoZGEsaWRhLGxkYSxqZGEscGRhLHFkYSx3ZGEseGRhLHpkYSx5ZGEsQmRhLERkYSxDZGEsRmRhLEVkYSxJZGEsSGRhLEtkYSxOZGEsUWRhLFNkYSxUZGEsWGRhLFpkYSwkZGEsZGVhLGZlYSxyZWEsdGVhLHNlYSx1ZWEsWWRhLGJlYSx3Yix4ZWEsQmVhLEtlYSxMZWEsZ2ZhLFJlYSxpZmEsamZhLE5lYSxtZmEsa2ZhLHJmYSxzZmEsdGZhLHdmYSx4ZmEsT2VhLHZmYSx6ZmEsXG5CZmEsRmZhLEdmYSxOZmEsUWZhLFNmYSxhZ2EsY2dhLGVnYSxmZ2Esb2dhLHFnYSx0Z2EsdmdhLHdnYSxBZ2EsRWdhLEZnYSxIZ2EsTWdhLGxoYSxtaGEsb2hhLHVoYSxFaGEsQ2hhLERoYSxIaGEsTGhhLE1oYSxRaGEsVWhhLFZoYSxXaGEsWGhhLFloYSxaaGEsYWlhLGhpYSxwaWEscmlhLHdpYSx2aWEsQ2lhLEVpYSxIaWEsSWlhLEppYSxWaWEsWmlhLGRqYSxZaWEsZWphLEFqYSxEamEsQmphLEZqYSxQamEsVGphLFZqYSwkamEsZWthLGFrYSxna2EsemQsaGthLGprYSxra2EscGthLHRrYSx2a2EseWthLHprYSxHa2EsTGthLE9rYSxLa2EsVGthLFhrYSxXa2EsJGthLFlrYSxibGEsZWxhLGpsYSxrbGEsZGxhLGFsYSxwbGEseGxhLElsYSxPbGEsUWxhLFJsYSxUbGEsVWxhLFhsYSxXbGEsWWxhLGJtYSxpbWEsZm1hLGptYSxtbWEsb21hLHBtYSxxbWEseG1hLHltYSxHbWEsS21hLHdtYSxVbWEsZm5hLGJuYSxnbmEsaW5hLHBuYSxybmEsdW5hLHNuYSx3bmEsdG5hLHhuYSxBbmEsQm5hLFxuQ25hLERuYSxFbmEsR25hLEhuYSxJbmEsTG5hLE5uYSxPbmEsUW5hLFJuYSxTbmEsb29hLHVvYSx0b2EseW9hLEJvYSxDb2EsUG9hLFFvYSxSb2EsU29hLFRvYSxVb2EsWG9hLFlvYSxab2EsJG9hLGJwYSxkcGEsZXBhLGhwYSxmcGEsbHBhLHRwYSx1cGEsdnBhLEFwYSxCcGEsRHBhLEhwYSxKcGEsTnBhLE9wYSxRcGEsV3BhLFpwYSxscWEsbnFhLHBxYSxycWEsc3FhLHdxYSx6cWEsSXFhLExxYSxNcWEsVHFhLFVxYSxacWEsYnJhLGRyYSxlcmEsaHJhLHJyYSx1cmEsenJhLEFyYSxDcmEsSnJhLExyYSxNcmEsTnJhLE9yYSxQcmEsUXJhLFJyYSxXcmEsWnJhLGJzYSxjc2EsZ3NhLGlzYSxrc2EsbHNhLHJzYSxzc2EsdXNhLHhzYSx2c2EsSHNhLE9zYSxQc2EsUXNhLFBnLFJzYSxTc2EsUmcsVHNhLCRzYSxidGEsY3RhLGV0YSxodGEsZnRhLGd0YSxpdGEsa3RhO1xuXy5hYT1mdW5jdGlvbihhLGIpe2lmKEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKUVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHRoaXMsXy5hYSk7ZWxzZXt2YXIgYz1FcnJvcigpLnN0YWNrO2MmJih0aGlzLnN0YWNrPWMpfWEmJih0aGlzLm1lc3NhZ2U9U3RyaW5nKGEpKTtiIT09dm9pZCAwJiYodGhpcy5jYXVzZT1iKX07Xy5hYWE9ZnVuY3Rpb24oYSxiKXthPWEuc3BsaXQoXCIlc1wiKTtmb3IodmFyIGM9XCJcIixkPWEubGVuZ3RoLTEsZT0wO2U8ZDtlKyspYys9YVtlXSsoZTxiLmxlbmd0aD9iW2VdOlwiJXNcIik7Xy5hYS5jYWxsKHRoaXMsYythW2RdKX07YmFhPWZ1bmN0aW9uKGEsYil7aWYoYSl0aHJvdyBFcnJvcihcIk5cIik7Yi5wdXNoKDY1NTMzKX07Y2FhPWZ1bmN0aW9uKGEsYil7Yj1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYik7cmV0dXJuIGE9PW51bGw/YjphK2J9O1xuXy5kYWE9ZnVuY3Rpb24oYSxiLGMsZCl7Yz1iK2M7Zm9yKHZhciBlPVtdLGY9bnVsbCxnLGgsayxsO2I8YzspZz1hW2IrK10sZzwxMjg/ZS5wdXNoKGcpOmc8MjI0P2I+PWM/YmFhKGQsZSk6KGg9YVtiKytdLGc8MTk0fHwoaCYxOTIpIT09MTI4PyhiLS0sYmFhKGQsZSkpOmUucHVzaCgoZyYzMSk8PDZ8aCY2MykpOmc8MjQwP2I+PWMtMT9iYWEoZCxlKTooaD1hW2IrK10sKGgmMTkyKSE9PTEyOHx8Zz09PTIyNCYmaDwxNjB8fGc9PT0yMzcmJmg+PTE2MHx8KChrPWFbYisrXSkmMTkyKSE9PTEyOD8oYi0tLGJhYShkLGUpKTplLnB1c2goKGcmMTUpPDwxMnwoaCY2Myk8PDZ8ayY2MykpOmc8PTI0ND9iPj1jLTI/YmFhKGQsZSk6KGg9YVtiKytdLChoJjE5MikhPT0xMjh8fChnPDwyOCkrKGgtMTQ0KT4+MzAhPT0wfHwoKGs9YVtiKytdKSYxOTIpIT09MTI4fHwoKGw9YVtiKytdKSYxOTIpIT09MTI4PyhiLS0sYmFhKGQsZSkpOihnPShnJjcpPDwxOHwoaCY2Myk8PDEyfChrJjYzKTw8NnxsJlxuNjMsZy09NjU1MzYsZS5wdXNoKChnPj4xMCYxMDIzKSs1NTI5NiwoZyYxMDIzKSs1NjMyMCkpKTpiYWEoZCxlKSxlLmxlbmd0aD49ODE5MiYmKGY9Y2FhKGYsZSksZS5sZW5ndGg9MCk7cmV0dXJuIGNhYShmLGUpfTtfLmhhYT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZTtkPyhlPWVhYSl8fChlPWVhYT1uZXcgVGV4dERlY29kZXIoXCJ1dGYtOFwiLHtmYXRhbDohMH0pKTooZT1mYWEpfHwoZT1mYWE9bmV3IFRleHREZWNvZGVyKFwidXRmLThcIix7ZmF0YWw6ITF9KSk7Yz1iK2M7YT1iPT09MCYmYz09PWEubGVuZ3RoP2E6YS5zdWJhcnJheShiLGMpO3RyeXtyZXR1cm4gZS5kZWNvZGUoYSl9Y2F0Y2goZil7aWYoYj1kKXtpZihnYWE9PT12b2lkIDApe3RyeXtlLmRlY29kZShuZXcgVWludDhBcnJheShbMTI4XSkpfWNhdGNoKGcpe310cnl7ZS5kZWNvZGUobmV3IFVpbnQ4QXJyYXkoWzk3XSkpLGdhYT0hMH1jYXRjaChnKXtnYWE9ITF9fWI9IWdhYX1iJiYoZWFhPXZvaWQgMCk7dGhyb3cgZjt9fTtcbl8ubGFhPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwPyExOmI7aWYoaWFhKXtpZihiJiYoamFhPyFhLmp0ZCgpOi8oPzpbXlxcdUQ4MDAtXFx1REJGRl18XilbXFx1REMwMC1cXHVERkZGXXxbXFx1RDgwMC1cXHVEQkZGXSg/IVtcXHVEQzAwLVxcdURGRkZdKS8udGVzdChhKSkpdGhyb3cgRXJyb3IoXCJPXCIpO2E9KGthYXx8KGthYT1uZXcgVGV4dEVuY29kZXIpKS5lbmNvZGUoYSl9ZWxzZXtmb3IodmFyIGM9MCxkPW5ldyBVaW50OEFycmF5KDMqYS5sZW5ndGgpLGU9MDtlPGEubGVuZ3RoO2UrKyl7dmFyIGY9YS5jaGFyQ29kZUF0KGUpO2lmKGY8MTI4KWRbYysrXT1mO2Vsc2V7aWYoZjwyMDQ4KWRbYysrXT1mPj42fDE5MjtlbHNle2lmKGY+PTU1Mjk2JiZmPD01NzM0Myl7aWYoZjw9NTYzMTkmJmU8YS5sZW5ndGgpe3ZhciBnPWEuY2hhckNvZGVBdCgrK2UpO2lmKGc+PTU2MzIwJiZnPD01NzM0Myl7Zj0oZi01NTI5NikqMTAyNCtnLTU2MzIwKzY1NTM2O2RbYysrXT1mPj4xOHwyNDA7ZFtjKytdPWY+PlxuMTImNjN8MTI4O2RbYysrXT1mPj42JjYzfDEyODtkW2MrK109ZiY2M3wxMjg7Y29udGludWV9ZWxzZSBlLS19aWYoYil0aHJvdyBFcnJvcihcIk9cIik7Zj02NTUzM31kW2MrK109Zj4+MTJ8MjI0O2RbYysrXT1mPj42JjYzfDEyOH1kW2MrK109ZiY2M3wxMjh9fWE9Yz09PWQubGVuZ3RoP2Q6ZC5zdWJhcnJheSgwLGMpfXJldHVybiBhfTtfLmNhPWZ1bmN0aW9uKGEpe18uYmEuc2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IGE7fSwwKX07Xy5kYT1mdW5jdGlvbigpe3ZhciBhPV8uYmEubmF2aWdhdG9yO3JldHVybiBhJiYoYT1hLnVzZXJBZ2VudCk/YTpcIlwifTtuYWE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8ubWFhP18uZWE/Xy5lYS5icmFuZHMuc29tZShmdW5jdGlvbihiKXtyZXR1cm4oYj1iLmJyYW5kKSYmXy5mYShiLGEpfSk6ITE6ITF9O18uaGE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uZmEoXy5kYSgpLGEpfTtcbl8ub2FhPWZ1bmN0aW9uKCl7cmV0dXJuIF8uZmEoXy5kYSgpLnRvTG93ZXJDYXNlKCksXCJrYWlvc1wiKX07Xy5wYWE9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPVJlZ0V4cChcIihbQS1aXVtcXFxcdyBdKykvKFteXFxcXHNdKylcXFxccyooPzpcXFxcKCguKj8pXFxcXCkpP1wiLFwiZ1wiKSxjPVtdLGQ7ZD1iLmV4ZWMoYSk7KWMucHVzaChbZFsxXSxkWzJdLGRbM118fHZvaWQgMF0pO3JldHVybiBjfTtfLnFhYT1mdW5jdGlvbigpe3JldHVybiBfLm1hYT8hIV8uZWEmJl8uZWEuYnJhbmRzLmxlbmd0aD4wOiExfTtfLnJhYT1mdW5jdGlvbigpe3JldHVybiBfLnFhYSgpPyExOl8uaGEoXCJPcGVyYVwiKX07Xy5zYWE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5xYWEoKT8hMTpfLmhhKFwiVHJpZGVudFwiKXx8Xy5oYShcIk1TSUVcIil9O18udGFhPWZ1bmN0aW9uKCl7cmV0dXJuIF8ucWFhKCk/ITE6Xy5oYShcIkVkZ2VcIil9O18udWFhPWZ1bmN0aW9uKCl7cmV0dXJuIF8ucWFhKCk/bmFhKFwiTWljcm9zb2Z0IEVkZ2VcIik6Xy5oYShcIkVkZy9cIil9O1xuXy52YWE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5oYShcIkZpcmVmb3hcIil8fF8uaGEoXCJGeGlPU1wiKX07Xy5rYT1mdW5jdGlvbigpe3JldHVybiBfLmhhKFwiU2FmYXJpXCIpJiYhKF8uaWEoKXx8KF8ucWFhKCk/MDpfLmhhKFwiQ29hc3RcIikpfHxfLnJhYSgpfHxfLnRhYSgpfHxfLnVhYSgpfHwoXy5xYWEoKT9uYWEoXCJPcGVyYVwiKTpfLmhhKFwiT1BSXCIpKXx8Xy52YWEoKXx8Xy53YWEoKXx8Xy5oYShcIkFuZHJvaWRcIikpfTtfLmlhPWZ1bmN0aW9uKCl7cmV0dXJuIF8ucWFhKCk/bmFhKFwiQ2hyb21pdW1cIik6KF8uaGEoXCJDaHJvbWVcIil8fF8uaGEoXCJDcmlPU1wiKSkmJiFfLnRhYSgpfHxfLndhYSgpfTtfLnhhYT1mdW5jdGlvbigpe3JldHVybiBfLmhhKFwiQW5kcm9pZFwiKSYmIShfLmlhKCl8fF8udmFhKCl8fF8ucmFhKCl8fF8ud2FhKCkpfTtfLndhYT1mdW5jdGlvbigpe3JldHVybiBfLmhhKFwiU2lsa1wiKX07XG5fLnlhYT1mdW5jdGlvbihhKXt2YXIgYj17fTthLmZvckVhY2goZnVuY3Rpb24oYyl7YltjWzBdXT1jWzFdfSk7cmV0dXJuIGZ1bmN0aW9uKGMpe3JldHVybiBiW2MuZmluZChmdW5jdGlvbihkKXtyZXR1cm4gZCBpbiBifSldfHxcIlwifX07Xy56YWE9ZnVuY3Rpb24oYSl7dmFyIGI9L3J2OiAqKFtcXGRcXC5dKikvLmV4ZWMoYSk7aWYoYiYmYlsxXSlyZXR1cm4gYlsxXTtiPVwiXCI7dmFyIGM9L01TSUUgKyhbXFxkXFwuXSspLy5leGVjKGEpO2lmKGMmJmNbMV0paWYoYT0vVHJpZGVudFxcLyhcXGQuXFxkKS8uZXhlYyhhKSxjWzFdPT1cIjcuMFwiKWlmKGEmJmFbMV0pc3dpdGNoKGFbMV0pe2Nhc2UgXCI0LjBcIjpiPVwiOC4wXCI7YnJlYWs7Y2FzZSBcIjUuMFwiOmI9XCI5LjBcIjticmVhaztjYXNlIFwiNi4wXCI6Yj1cIjEwLjBcIjticmVhaztjYXNlIFwiNy4wXCI6Yj1cIjExLjBcIn1lbHNlIGI9XCI3LjBcIjtlbHNlIGI9Y1sxXTtyZXR1cm4gYn07XG5BYWE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5kYSgpO2lmKGE9PT1cIkludGVybmV0IEV4cGxvcmVyXCIpcmV0dXJuIF8uc2FhKCk/Xy56YWEoYik6XCJcIjtiPV8ucGFhKGIpO3ZhciBjPV8ueWFhKGIpO3N3aXRjaChhKXtjYXNlIFwiT3BlcmFcIjppZihfLnJhYSgpKXJldHVybiBjKFtcIlZlcnNpb25cIixcIk9wZXJhXCJdKTtpZihfLnFhYSgpP25hYShcIk9wZXJhXCIpOl8uaGEoXCJPUFJcIikpcmV0dXJuIGMoW1wiT1BSXCJdKTticmVhaztjYXNlIFwiTWljcm9zb2Z0IEVkZ2VcIjppZihfLnRhYSgpKXJldHVybiBjKFtcIkVkZ2VcIl0pO2lmKF8udWFhKCkpcmV0dXJuIGMoW1wiRWRnXCJdKTticmVhaztjYXNlIFwiQ2hyb21pdW1cIjppZihfLmlhKCkpcmV0dXJuIGMoW1wiQ2hyb21lXCIsXCJDcmlPU1wiLFwiSGVhZGxlc3NDaHJvbWVcIl0pfXJldHVybiBhPT09XCJGaXJlZm94XCImJl8udmFhKCl8fGE9PT1cIlNhZmFyaVwiJiZfLmthKCl8fGE9PT1cIkFuZHJvaWQgQnJvd3NlclwiJiZfLnhhYSgpfHxhPT09XCJTaWxrXCImJl8ud2FhKCk/KGE9YlsyXSkmJlxuYVsxXXx8XCJcIjpcIlwifTtfLkJhYT1mdW5jdGlvbihhKXtpZihfLnFhYSgpJiZhIT09XCJTaWxrXCIpe3ZhciBiPV8uZWEuYnJhbmRzLmZpbmQoZnVuY3Rpb24oYyl7cmV0dXJuIGMuYnJhbmQ9PT1hfSk7aWYoIWJ8fCFiLnZlcnNpb24pcmV0dXJuIE5hTjtiPWIudmVyc2lvbi5zcGxpdChcIi5cIil9ZWxzZXtiPUFhYShhKTtpZihiPT09XCJcIilyZXR1cm4gTmFOO2I9Yi5zcGxpdChcIi5cIil9cmV0dXJuIGIubGVuZ3RoPT09MD9OYU46TnVtYmVyKGJbMF0pfTtDYWE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5tYWE/ISFfLmVhJiYhIV8uZWEucGxhdGZvcm06ITF9O18uRGFhPWZ1bmN0aW9uKCl7cmV0dXJuIENhYSgpP18uZWEucGxhdGZvcm09PT1cIkFuZHJvaWRcIjpfLmhhKFwiQW5kcm9pZFwiKX07Xy5FYWE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5oYShcImlQaG9uZVwiKSYmIV8uaGEoXCJpUG9kXCIpJiYhXy5oYShcImlQYWRcIil9O18ubGE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5FYWEoKXx8Xy5oYShcImlQYWRcIil8fF8uaGEoXCJpUG9kXCIpfTtcbl8uRmFhPWZ1bmN0aW9uKCl7cmV0dXJuIENhYSgpP18uZWEucGxhdGZvcm09PT1cIm1hY09TXCI6Xy5oYShcIk1hY2ludG9zaFwiKX07Xy5HYWE9ZnVuY3Rpb24oKXtyZXR1cm4gQ2FhKCk/Xy5lYS5wbGF0Zm9ybT09PVwiTGludXhcIjpfLmhhKFwiTGludXhcIil9O18uSGFhPWZ1bmN0aW9uKCl7cmV0dXJuIENhYSgpP18uZWEucGxhdGZvcm09PT1cIldpbmRvd3NcIjpfLmhhKFwiV2luZG93c1wiKX07SWFhPWZ1bmN0aW9uKCl7cmV0dXJuIENhYSgpP18uZWEucGxhdGZvcm09PT1cIkNocm9tZSBPU1wiOl8uaGEoXCJDck9TXCIpfTtcbl8uSmFhPWZ1bmN0aW9uKCl7dmFyIGE9Xy5kYSgpLGI9XCJcIjtfLkhhYSgpPyhiPS9XaW5kb3dzICg/Ok5UfFBob25lKSAoWzAtOS5dKykvLGI9KGE9Yi5leGVjKGEpKT9hWzFdOlwiMC4wXCIpOl8ubGEoKT8oYj0vKD86aVBob25lfGlQb2R8aVBhZHxDUFUpXFxzK09TXFxzKyhcXFMrKS8sYj0oYT1iLmV4ZWMoYSkpJiZhWzFdLnJlcGxhY2UoL18vZyxcIi5cIikpOl8uRmFhKCk/KGI9L01hYyBPUyBYIChbMC05Xy5dKykvLGI9KGE9Yi5leGVjKGEpKT9hWzFdLnJlcGxhY2UoL18vZyxcIi5cIik6XCIxMFwiKTpfLm9hYSgpPyhiPS8oPzpLYWlPUylcXC8oXFxTKykvaSxiPShhPWIuZXhlYyhhKSkmJmFbMV0pOl8uRGFhKCk/KGI9L0FuZHJvaWRcXHMrKFteXFwpO10rKShcXCl8OykvLGI9KGE9Yi5leGVjKGEpKSYmYVsxXSk6SWFhKCkmJihiPS8oPzpDck9TXFxzKyg/Omk2ODZ8eDg2XzY0KVxccysoWzAtOS5dKykpLyxiPShhPWIuZXhlYyhhKSkmJmFbMV0pO3JldHVybiBifHxcIlwifTtcbl8uS2FhPWZ1bmN0aW9uKGEpe3JldHVybiBfLm5hKF8uSmFhKCksYSk+PTB9O18ucGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGFbYS5sZW5ndGgtMV19O18ucWE9ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZD10eXBlb2YgYT09PVwic3RyaW5nXCI/YS5zcGxpdChcIlwiKTphLGU9YS5sZW5ndGgtMTtlPj0wOy0tZSllIGluIGQmJmIuY2FsbChjLGRbZV0sZSxhKX07Xy5MYWE9ZnVuY3Rpb24oYSxiLGMpe2I9Xy5yYShhLGIsYyk7cmV0dXJuIGI8MD9udWxsOnR5cGVvZiBhPT09XCJzdHJpbmdcIj9hLmNoYXJBdChiKTphW2JdfTtfLnJhPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9YS5sZW5ndGgsZT10eXBlb2YgYT09PVwic3RyaW5nXCI/YS5zcGxpdChcIlwiKTphLGY9MDtmPGQ7ZisrKWlmKGYgaW4gZSYmYi5jYWxsKGMsZVtmXSxmLGEpKXJldHVybiBmO3JldHVybi0xfTtcbl8uTmFhPWZ1bmN0aW9uKGEsYixjKXtiPV8uTWFhKGEsYixjKTtyZXR1cm4gYjwwP251bGw6dHlwZW9mIGE9PT1cInN0cmluZ1wiP2EuY2hhckF0KGIpOmFbYl19O18uTWFhPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9dHlwZW9mIGE9PT1cInN0cmluZ1wiP2Euc3BsaXQoXCJcIik6YSxlPWEubGVuZ3RoLTE7ZT49MDtlLS0paWYoZSBpbiBkJiZiLmNhbGwoYyxkW2VdLGUsYSkpcmV0dXJuIGU7cmV0dXJuLTF9O18udmE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy50YShhLGIpPj0wfTtfLk9hYT1mdW5jdGlvbihhKXtpZighQXJyYXkuaXNBcnJheShhKSlmb3IodmFyIGI9YS5sZW5ndGgtMTtiPj0wO2ItLSlkZWxldGUgYVtiXTthLmxlbmd0aD0wfTtfLlBhYT1mdW5jdGlvbihhLGIpe18udmEoYSxiKXx8YS5wdXNoKGIpfTtfLnphPWZ1bmN0aW9uKGEsYil7Yj1fLnRhKGEsYik7dmFyIGM7KGM9Yj49MCkmJl8ueGEoYSxiKTtyZXR1cm4gY307XG5fLnhhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChhLGIsMSkubGVuZ3RoPT0xfTtfLlFhYT1mdW5jdGlvbihhLGIpe3ZhciBjPTA7Xy5xYShhLGZ1bmN0aW9uKGQsZSl7Yi5jYWxsKHZvaWQgMCxkLGUsYSkmJl8ueGEoYSxlKSYmYysrfSk7cmV0dXJuIGN9O18uUmFhPWZ1bmN0aW9uKGEpe3JldHVybiBBcnJheS5wcm90b3R5cGUuY29uY2F0LmFwcGx5KFtdLGFyZ3VtZW50cyl9O18uU2FhPWZ1bmN0aW9uKGEpe3JldHVybiBBcnJheS5wcm90b3R5cGUuY29uY2F0LmFwcGx5KFtdLGFyZ3VtZW50cyl9O18uQWE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5sZW5ndGg7aWYoYj4wKXtmb3IodmFyIGM9QXJyYXkoYiksZD0wO2Q8YjtkKyspY1tkXT1hW2RdO3JldHVybiBjfXJldHVybltdfTtcbl8uQ2E9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MTtjPGFyZ3VtZW50cy5sZW5ndGg7YysrKXt2YXIgZD1hcmd1bWVudHNbY107aWYoXy5CYShkKSl7dmFyIGU9YS5sZW5ndGh8fDAsZj1kLmxlbmd0aHx8MDthLmxlbmd0aD1lK2Y7Zm9yKHZhciBnPTA7ZzxmO2crKylhW2UrZ109ZFtnXX1lbHNlIGEucHVzaChkKX19O18uVWFhPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBBcnJheS5wcm90b3R5cGUuc3BsaWNlLmFwcGx5KGEsVGFhKGFyZ3VtZW50cywxKSl9O1RhYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8PTI/QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYSxiKTpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhLGIsYyl9O1xuXy5WYWE9ZnVuY3Rpb24oYSxiKXtiPWJ8fGE7Zm9yKHZhciBjPTAsZD0wLGU9e307ZDxhLmxlbmd0aDspe3ZhciBmPWFbZCsrXSxnPV8uRGEoZik/XCJvXCIrXy5FYShmKToodHlwZW9mIGYpLmNoYXJBdCgwKStmO09iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLGcpfHwoZVtnXT0hMCxiW2MrK109Zil9Yi5sZW5ndGg9Y307Xy5ZYWE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLldhYShhLGN8fF8uWGFhLCExLGIpfTtfLldhYT1mdW5jdGlvbihhLGIsYyxkKXtmb3IodmFyIGU9MCxmPWEubGVuZ3RoLGc7ZTxmOyl7dmFyIGg9ZSsoZi1lPj4+MSksaz12b2lkIDA7Yz9rPWIuY2FsbCh2b2lkIDAsYVtoXSxoLGEpOms9YihkLGFbaF0pO2s+MD9lPWgrMTooZj1oLGc9IWspfXJldHVybiBnP2U6LWUtMX07Xy5aYWE9ZnVuY3Rpb24oYSxiKXthLnNvcnQoYnx8Xy5YYWEpfTtcbl8uR2E9ZnVuY3Rpb24oYSxiLGMpe2lmKCFfLkJhKGEpfHwhXy5CYShiKXx8YS5sZW5ndGghPWIubGVuZ3RoKXJldHVybiExO3ZhciBkPWEubGVuZ3RoO2M9Y3x8JGFhO2Zvcih2YXIgZT0wO2U8ZDtlKyspaWYoIWMoYVtlXSxiW2VdKSlyZXR1cm4hMTtyZXR1cm4hMH07Xy5YYWE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT5iPzE6YTxiPy0xOjB9OyRhYT1mdW5jdGlvbihhLGIpe3JldHVybiBhPT09Yn07Xy5hYmE9ZnVuY3Rpb24oYSxiKXt2YXIgYz17fTtfLkhhKGEsZnVuY3Rpb24oZCxlKXtjW2IuY2FsbCh2b2lkIDAsZCxlLGEpXT1kfSk7cmV0dXJuIGN9O18uSWE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU9MCxmPWE7Yz1jfHwxO2IhPT12b2lkIDAmJihlPWEsZj1iKTtpZihjKihmLWUpPDApcmV0dXJuW107aWYoYz4wKWZvcihhPWU7YTxmO2ErPWMpZC5wdXNoKGEpO2Vsc2UgZm9yKGE9ZTthPmY7YSs9YylkLnB1c2goYSk7cmV0dXJuIGR9O1xuXy5iYmE9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9W10sZD0wO2Q8YjtkKyspY1tkXT1hO3JldHVybiBjfTtfLmNiYT1mdW5jdGlvbihhKXtmb3IodmFyIGI9W10sYz0wO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspe3ZhciBkPWFyZ3VtZW50c1tjXTtpZihBcnJheS5pc0FycmF5KGQpKWZvcih2YXIgZT0wO2U8ZC5sZW5ndGg7ZSs9ODE5Mil7dmFyIGY9VGFhKGQsZSxlKzgxOTIpO2Y9Xy5jYmEuYXBwbHkobnVsbCxmKTtmb3IodmFyIGc9MDtnPGYubGVuZ3RoO2crKyliLnB1c2goZltnXSl9ZWxzZSBiLnB1c2goZCl9cmV0dXJuIGJ9O18uZGJhPWZ1bmN0aW9uKCl7cmV0dXJuIF8uZmEoXy5kYSgpLnRvTG93ZXJDYXNlKCksXCJ3ZWJraXRcIikmJiFfLmhhKFwiRWRnZVwiKX07Xy5lYmE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5oYShcIkdlY2tvXCIpJiYhXy5kYmEoKSYmIShfLmhhKFwiVHJpZGVudFwiKXx8Xy5oYShcIk1TSUVcIikpJiYhXy5oYShcIkVkZ2VcIil9O1xuXy5nYmE9ZnVuY3Rpb24oYSl7aWYoIWZiYSlyZXR1cm4gXy5KYShhKTtmb3IodmFyIGI9XCJcIixjPTAsZD1hLmxlbmd0aC0xMDI0MDtjPGQ7KWIrPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxhLnN1YmFycmF5KGMsYys9MTAyNDApKTtiKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYz9hLnN1YmFycmF5KGMpOmEpO3JldHVybiBidG9hKGIpfTtpYmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGhiYVthXXx8XCJcIn07a2JhPWZ1bmN0aW9uKGEpe2lmKCFmYmEpcmV0dXJuIF8uS2EoYSk7amJhLnRlc3QoYSkmJihhPWEucmVwbGFjZShqYmEsaWJhKSk7YT1hdG9iKGEpO2Zvcih2YXIgYj1uZXcgVWludDhBcnJheShhLmxlbmd0aCksYz0wO2M8YS5sZW5ndGg7YysrKWJbY109YS5jaGFyQ29kZUF0KGMpO3JldHVybiBifTttYmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGxiYSYmYSE9bnVsbCYmYSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXl9O1xubmJhPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5sZW5ndGg7aWYoYyE9PWIubGVuZ3RoKXJldHVybiExO2Zvcih2YXIgZD0wO2Q8YztkKyspaWYoYVtkXSE9PWJbZF0pcmV0dXJuITE7cmV0dXJuITB9O18ucGJhPWZ1bmN0aW9uKGEpe3JldHVybiBhLmxlbmd0aD09MD9fLkxhKCk6bmV3IF8uTWEoYSxfLm9iYSl9O1xucmJhPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhPT09XCJzdHJpbmdcIilyZXR1cm57YnVmZmVyOmtiYShhKSx6MTohMX07aWYoQXJyYXkuaXNBcnJheShhKSlyZXR1cm57YnVmZmVyOm5ldyBVaW50OEFycmF5KGEpLHoxOiExfTtpZihhLmNvbnN0cnVjdG9yPT09VWludDhBcnJheSlyZXR1cm57YnVmZmVyOmEsejE6ITF9O2lmKGEuY29uc3RydWN0b3I9PT1BcnJheUJ1ZmZlcilyZXR1cm57YnVmZmVyOm5ldyBVaW50OEFycmF5KGEpLHoxOiExfTtpZihhLmNvbnN0cnVjdG9yPT09Xy5NYSlyZXR1cm57YnVmZmVyOl8ucWJhKGEpfHxuZXcgVWludDhBcnJheSgwKSx6MTohMH07aWYoYSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpcmV0dXJue2J1ZmZlcjpuZXcgVWludDhBcnJheShhLmJ1ZmZlcixhLmJ5dGVPZmZzZXQsYS5ieXRlTGVuZ3RoKSx6MTohMX07dGhyb3cgRXJyb3IoXCJUXCIpO307c2JhPWZ1bmN0aW9uKCl7cmV0dXJuIHR5cGVvZiBCaWdJbnQ9PT1cImZ1bmN0aW9uXCJ9O1xuXy50YmE9ZnVuY3Rpb24oYSl7dmFyIGI9YT4+PjA7Xy5OYT1iO18uT2E9KGEtYikvNDI5NDk2NzI5Nj4+PjB9O18uUWE9ZnVuY3Rpb24oYSl7aWYoYTwwKXtfLnRiYSgtYSk7dmFyIGI9Xy5QYSh1YmEoXy5OYSxfLk9hKSk7YT1iLm5leHQoKS52YWx1ZTtiPWIubmV4dCgpLnZhbHVlO18uTmE9YT4+PjA7Xy5PYT1iPj4+MH1lbHNlIF8udGJhKGEpfTt3YmE9ZnVuY3Rpb24oYSl7dmFyIGI9dmJhfHwodmJhPW5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoOCkpKTtiLnNldEZsb2F0MzIoMCwrYSwhMCk7Xy5PYT0wO18uTmE9Yi5nZXRVaW50MzIoMCwhMCl9O3hiYT1mdW5jdGlvbihhLGIpe3JldHVybiBiKjQyOTQ5NjcyOTYrKGE+Pj4wKX07Xy55YmE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iJjIxNDc0ODM2NDg7YyYmKGE9fmErMT4+PjAsYj1+Yj4+PjAsYT09MCYmKGI9YisxPj4+MCkpO2E9eGJhKGEsYik7cmV0dXJuIGM/LWE6YX07XG5BYmE9ZnVuY3Rpb24oYSxiKXtiPj4+PTA7YT4+Pj0wO2lmKGI8PTIwOTcxNTEpdmFyIGM9XCJcIisoNDI5NDk2NzI5NipiK2EpO2Vsc2Ugc2JhKCk/Yz1cIlwiKyhCaWdJbnQoYik8PEJpZ0ludCgzMil8QmlnSW50KGEpKTooYz0oYT4+PjI0fGI8PDgpJjE2Nzc3MjE1LGI9Yj4+MTYmNjU1MzUsYT0oYSYxNjc3NzIxNSkrYyo2Nzc3MjE2K2IqNjcxMDY1NixjKz1iKjgxNDc0OTcsYio9MixhPj0xRTcmJihjKz1hLzFFNz4+PjAsYSU9MUU3KSxjPj0xRTcmJihiKz1jLzFFNz4+PjAsYyU9MUU3KSxjPWIremJhKGMpK3piYShhKSk7cmV0dXJuIGN9O3piYT1mdW5jdGlvbihhKXthPVN0cmluZyhhKTtyZXR1cm5cIjAwMDAwMDBcIi5zbGljZShhLmxlbmd0aCkrYX07XG5fLkJiYT1mdW5jdGlvbihhLGIpe2ImMjE0NzQ4MzY0OD9zYmEoKT9hPVwiXCIrKEJpZ0ludChifDApPDxCaWdJbnQoMzIpfEJpZ0ludChhPj4+MCkpOihiPV8uUGEodWJhKGEsYikpLGE9Yi5uZXh0KCkudmFsdWUsYj1iLm5leHQoKS52YWx1ZSxhPVwiLVwiK0FiYShhLGIpKTphPUFiYShhLGIpO3JldHVybiBhfTtcbl8uQ2JhPWZ1bmN0aW9uKGEpe2lmKGEubGVuZ3RoPDE2KV8uUWEoTnVtYmVyKGEpKTtlbHNlIGlmKHNiYSgpKWE9QmlnSW50KGEpLF8uTmE9TnVtYmVyKGEmQmlnSW50KDQyOTQ5NjcyOTUpKT4+PjAsXy5PYT1OdW1iZXIoYT4+QmlnSW50KDMyKSZCaWdJbnQoNDI5NDk2NzI5NSkpO2Vsc2V7dmFyIGI9KyhhWzBdPT09XCItXCIpO18uT2E9Xy5OYT0wO2Zvcih2YXIgYz1hLmxlbmd0aCxkPWIsZT0oYy1iKSU2K2I7ZTw9YztkPWUsZSs9NilkPU51bWJlcihhLnNsaWNlKGQsZSkpLF8uT2EqPTFFNixfLk5hPV8uTmEqMUU2K2QsXy5OYT49NDI5NDk2NzI5NiYmKF8uT2ErPU1hdGgudHJ1bmMoXy5OYS80Mjk0OTY3Mjk2KSxfLk9hPj4+PTAsXy5OYT4+Pj0wKTtiJiYoYj1fLlBhKHViYShfLk5hLF8uT2EpKSxhPWIubmV4dCgpLnZhbHVlLGI9Yi5uZXh0KCkudmFsdWUsXy5OYT1hLF8uT2E9Yil9fTt1YmE9ZnVuY3Rpb24oYSxiKXtiPX5iO2E/YT1+YSsxOmIrPTE7cmV0dXJuW2EsYl19O1JhPWZ1bmN0aW9uKGEpe3JldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhKX07XG5EYmE9ZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBTeW1ib2w9PT1cImZ1bmN0aW9uXCImJnR5cGVvZiBTeW1ib2woKT09PVwic3ltYm9sXCI/U3ltYm9sKCk6YX07Xy5GYmE9ZnVuY3Rpb24oYSl7RWJhKGEsMzQpO3JldHVybiBhfTtfLkdiYT1mdW5jdGlvbihhKXtFYmEoYSwzMik7cmV0dXJuIGF9O0hiYT1mdW5jdGlvbihhLGIpeygwLF8uU2EpKGIsKGF8MCkmLTE0NTkxKX07SWJhPWZ1bmN0aW9uKGEsYil7KDAsXy5TYSkoYiwoYXwzNCkmLTE0NTU3KX07SmJhPWZ1bmN0aW9uKGEpe3JldHVybishIShhJjUxMiktMX07Xy5MYmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuanhkPT09S2JhfTtOYmE9ZnVuY3Rpb24oYSl7cmV0dXJuISghYXx8dHlwZW9mIGEhPT1cIm9iamVjdFwifHxhLnh3ZCE9PU1iYSl9O18uVmE9ZnVuY3Rpb24oYSl7cmV0dXJuISEoKDAsXy5UYSkoYS5IYSkmMil9O1xuXy5PYmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPT1udWxsJiZ0eXBlb2YgYT09PVwib2JqZWN0XCImJiFBcnJheS5pc0FycmF5KGEpJiZhLmNvbnN0cnVjdG9yPT09T2JqZWN0fTtQYmE9ZnVuY3Rpb24oYSxiLGMpe2lmKGEhPW51bGwpaWYodHlwZW9mIGE9PT1cInN0cmluZ1wiKWE9Xy5YYShhKTtlbHNlIGlmKGEuY29uc3RydWN0b3IhPT1fLk1hKWlmKG1iYShhKSlhPWEubGVuZ3RoP25ldyBfLk1hKGM/YTpuZXcgVWludDhBcnJheShhKSxfLm9iYSk6Xy5MYSgpO2Vsc2V7aWYoIWIpdGhyb3cgRXJyb3IoKTthPXZvaWQgMH1yZXR1cm4gYX07UWJhPWZ1bmN0aW9uKGEsYil7cmV0dXJuISFhJiYoQXJyYXkuaXNBcnJheShhKT9hLmluY2x1ZGVzKGIpOmEuaGFzKGIpKX07XG5SYmE9ZnVuY3Rpb24oYSxiLGMpe2lmKCFBcnJheS5pc0FycmF5KGEpfHxhLmxlbmd0aClyZXR1cm4hMTt2YXIgZD0oMCxfLlRhKShhKTtpZihkJjEpcmV0dXJuITA7aWYoIVFiYShiLGMpKXJldHVybiExOygwLF8uU2EpKGEsZHwxKTtyZXR1cm4hMH07Xy5ZYT1mdW5jdGlvbihhKXtpZihhJjIpdGhyb3cgRXJyb3IoKTt9O18uU2JhPWZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGIhPT1cIm51bWJlclwifHxiPDB8fGI+PWEubGVuZ3RoKXRocm93IEVycm9yKCk7fTtUYmE9ZnVuY3Rpb24oYSxiKXtpZih0eXBlb2YgYiE9PVwibnVtYmVyXCJ8fGI8MHx8Yj5hLmxlbmd0aCl0aHJvdyBFcnJvcigpO307VmJhPWZ1bmN0aW9uKGEpe2lmKCFVYmEpcmV0dXJuIGEuY29uc3RydWN0b3Iub2J9O1diYT1mdW5jdGlvbihhLGIpe2lmKGIpe1phfHwoWmE9U3ltYm9sKCkpO3ZhciBjPWFbWmFdO2M/Yy5wdXNoKGIpOmFbWmFdPVtiXX19O1xuWGJhPWZ1bmN0aW9uKGEsYixjKXsoYj1aYT9iW1phXTp2b2lkIDApP2FbWmFdPVJhKGIpOmMmJlphJiZaYSBpbiBhJiYoYVtaYV09dm9pZCAwKX07WmJhPWZ1bmN0aW9uKCl7cmV0dXJuIFliYXx8KFliYT1TeW1ib2woKSl9O2FjYT1mdW5jdGlvbigpe3ZhciBhPUVycm9yKCk7JGJhKGEsXCJpbmNpZGVudFwiKTtfLmNhKGEpfTtiY2E9ZnVuY3Rpb24oYSl7YT1FcnJvcihhKTskYmEoYSxcIndhcm5pbmdcIik7cmV0dXJuIGF9O2NjYT1mdW5jdGlvbihhKXtpZih0eXBlb2YgYSE9PVwibnVtYmVyXCIpdGhyb3cgRXJyb3IoXCJVYFwiK3R5cGVvZiBhK1wiYFwiK2EpO3JldHVybiBhfTtkY2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PW51bGw/YTpjY2EoYSl9O18uZWNhPWZ1bmN0aW9uKGEpe2lmKGE9PW51bGx8fHR5cGVvZiBhPT09XCJudW1iZXJcIilyZXR1cm4gYTtpZihhPT09XCJOYU5cInx8YT09PVwiSW5maW5pdHlcInx8YT09PVwiLUluZmluaXR5XCIpcmV0dXJuIE51bWJlcihhKX07XG5fLmdjYT1mdW5jdGlvbihhKXtpZih0eXBlb2YgYSE9PVwiYm9vbGVhblwiKXRocm93IEVycm9yKFwiVmBcIitfLmZjYShhKStcImBcIithKTtyZXR1cm4gYX07aGNhPWZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsP2E6Xy5nY2EoYSl9O18uYmI9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbHx8dHlwZW9mIGE9PT1cImJvb2xlYW5cIilyZXR1cm4gYTtpZih0eXBlb2YgYT09PVwibnVtYmVyXCIpcmV0dXJuISFhfTtqY2E9ZnVuY3Rpb24oYSl7dmFyIGI9dHlwZW9mIGE7cmV0dXJuIGI9PT1cIm51bWJlclwiP051bWJlci5pc0Zpbml0ZShhKTpiIT09XCJzdHJpbmdcIj8hMTppY2EudGVzdChhKX07Xy5rY2E9ZnVuY3Rpb24oYSl7aWYoIU51bWJlci5pc0Zpbml0ZShhKSl0aHJvdyBiY2EoXCJlbnVtXCIpO3JldHVybiBhfDB9O2xjYT1mdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbD9hOk51bWJlci5pc0Zpbml0ZShhKT9hfDA6dm9pZCAwfTtcbl8uY2I9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGEhPT1cIm51bWJlclwiKXRocm93IGJjYShcImludDMyXCIpO2lmKCFOdW1iZXIuaXNGaW5pdGUoYSkpdGhyb3cgYmNhKFwiaW50MzJcIik7cmV0dXJuIGF8MH07Xy5kYj1mdW5jdGlvbihhKXtpZihhPT1udWxsKXJldHVybiBhO2lmKHR5cGVvZiBhPT09XCJzdHJpbmdcIil7aWYoIWEpcmV0dXJuO2E9K2F9aWYodHlwZW9mIGE9PT1cIm51bWJlclwiKXJldHVybiBOdW1iZXIuaXNGaW5pdGUoYSk/YXwwOnZvaWQgMH07Xy5tY2E9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGEhPT1cIm51bWJlclwiKXRocm93IGJjYShcInVpbnQzMlwiKTtpZighTnVtYmVyLmlzRmluaXRlKGEpKXRocm93IGJjYShcInVpbnQzMlwiKTtyZXR1cm4gYT4+PjB9O18uZWI9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PW51bGw/YTpfLm1jYShhKX07XG5fLmdiPWZ1bmN0aW9uKGEpe2lmKGE9PW51bGwpcmV0dXJuIGE7aWYodHlwZW9mIGE9PT1cInN0cmluZ1wiKXtpZighYSlyZXR1cm47YT0rYX1pZih0eXBlb2YgYT09PVwibnVtYmVyXCIpcmV0dXJuIE51bWJlci5pc0Zpbml0ZShhKT9hPj4+MDp2b2lkIDB9O18ucWNhPWZ1bmN0aW9uKGEsYil7Yj0hIWI7aWYoIWpjYShhKSl0aHJvdyBiY2EoXCJpbnQ2NFwiKTtyZXR1cm4gdHlwZW9mIGE9PT1cInN0cmluZ1wiP25jYShhKTpiP29jYShhKTpwY2EoYSl9O18ucmNhPWZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsP2E6Xy5xY2EoYSl9O3NjYT1mdW5jdGlvbihhKXtyZXR1cm4gYVswXT09PVwiLVwiPyExOmEubGVuZ3RoPDIwPyEwOmEubGVuZ3RoPT09MjAmJk51bWJlcihhLnN1YnN0cmluZygwLDYpKTwxODQ0Njd9O1xudGNhPWZ1bmN0aW9uKGEpe3JldHVybiBhWzBdPT09XCItXCI/YS5sZW5ndGg8MjA/ITA6YS5sZW5ndGg9PT0yMCYmTnVtYmVyKGEuc3Vic3RyaW5nKDAsNykpPi05MjIzMzc6YS5sZW5ndGg8MTk/ITA6YS5sZW5ndGg9PT0xOSYmTnVtYmVyKGEuc3Vic3RyaW5nKDAsNikpPDkyMjMzN307dWNhPWZ1bmN0aW9uKGEpe2lmKGE8MCl7Xy5RYShhKTt2YXIgYj1BYmEoXy5OYSxfLk9hKTthPU51bWJlcihiKTtyZXR1cm4gTnVtYmVyLmlzU2FmZUludGVnZXIoYSk/YTpifWlmKHNjYShTdHJpbmcoYSkpKXJldHVybiBhO18uUWEoYSk7cmV0dXJuIHhiYShfLk5hLF8uT2EpfTtwY2E9ZnVuY3Rpb24oYSl7YT1NYXRoLnRydW5jKGEpO051bWJlci5pc1NhZmVJbnRlZ2VyKGEpfHwoXy5RYShhKSxhPV8ueWJhKF8uTmEsXy5PYSkpO3JldHVybiBhfTt2Y2E9ZnVuY3Rpb24oYSl7YT1NYXRoLnRydW5jKGEpO3JldHVybiBhPj0wJiZOdW1iZXIuaXNTYWZlSW50ZWdlcihhKT9hOnVjYShhKX07XG5vY2E9ZnVuY3Rpb24oYSl7YT1NYXRoLnRydW5jKGEpO2lmKE51bWJlci5pc1NhZmVJbnRlZ2VyKGEpKWE9U3RyaW5nKGEpO2Vsc2V7dmFyIGI9U3RyaW5nKGEpO3RjYShiKT9hPWI6KF8uUWEoYSksYT1fLkJiYShfLk5hLF8uT2EpKX1yZXR1cm4gYX07d2NhPWZ1bmN0aW9uKGEpe2E9TWF0aC50cnVuYyhhKTtpZihhPj0wJiZOdW1iZXIuaXNTYWZlSW50ZWdlcihhKSlhPVN0cmluZyhhKTtlbHNle3ZhciBiPVN0cmluZyhhKTtzY2EoYik/YT1iOihfLlFhKGEpLGE9QWJhKF8uTmEsXy5PYSkpfXJldHVybiBhfTtuY2E9ZnVuY3Rpb24oYSl7dmFyIGI9TWF0aC50cnVuYyhOdW1iZXIoYSkpO2lmKE51bWJlci5pc1NhZmVJbnRlZ2VyKGIpKXJldHVybiBTdHJpbmcoYik7Yj1hLmluZGV4T2YoXCIuXCIpO2IhPT0tMSYmKGE9YS5zdWJzdHJpbmcoMCxiKSk7dGNhKGEpfHwoXy5DYmEoYSksYT1fLkJiYShfLk5hLF8uT2EpKTtyZXR1cm4gYX07XG54Y2E9ZnVuY3Rpb24oYSl7dmFyIGI9TWF0aC50cnVuYyhOdW1iZXIoYSkpO2lmKE51bWJlci5pc1NhZmVJbnRlZ2VyKGIpJiZiPj0wKXJldHVybiBTdHJpbmcoYik7Yj1hLmluZGV4T2YoXCIuXCIpO2IhPT0tMSYmKGE9YS5zdWJzdHJpbmcoMCxiKSk7c2NhKGEpfHwoXy5DYmEoYSksYT1BYmEoXy5OYSxfLk9hKSk7cmV0dXJuIGF9O3ljYT1mdW5jdGlvbihhKXtpZihhPT1udWxsKXJldHVybiBhO2lmKGpjYShhKSl7dmFyIGI7dHlwZW9mIGE9PT1cIm51bWJlclwiP2I9cGNhKGEpOmI9bmNhKGEpO3JldHVybiBifX07emNhPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwPyExOmI7aWYoYT09bnVsbClyZXR1cm4gYTtpZihqY2EoYSkpcmV0dXJuIHR5cGVvZiBhPT09XCJzdHJpbmdcIj9uY2EoYSk6Yj9vY2EoYSk6cGNhKGEpfTtcbl8uQWNhPWZ1bmN0aW9uKGEsYil7Yj0hIWI7aWYoIWpjYShhKSl0aHJvdyBiY2EoXCJ1aW50NjRcIik7cmV0dXJuIHR5cGVvZiBhPT09XCJzdHJpbmdcIj94Y2EoYSk6Yj93Y2EoYSk6dmNhKGEpfTtfLkJjYT1mdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbD9hOl8uQWNhKGEpfTtfLkNjYT1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD8hMTpiO2lmKGE9PW51bGwpcmV0dXJuIGE7aWYoamNhKGEpKXJldHVybiB0eXBlb2YgYT09PVwic3RyaW5nXCI/eGNhKGEpOmI/d2NhKGEpOnZjYShhKX07Xy5EY2E9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gYTtpZihqY2EoYSkpe2lmKHR5cGVvZiBhPT09XCJzdHJpbmdcIilyZXR1cm4gbmNhKGEpO2lmKHR5cGVvZiBhPT09XCJudW1iZXJcIilyZXR1cm4gcGNhKGEpfX07Xy5FY2E9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gYTtpZihqY2EoYSkpe2lmKHR5cGVvZiBhPT09XCJzdHJpbmdcIilyZXR1cm4geGNhKGEpO2lmKHR5cGVvZiBhPT09XCJudW1iZXJcIilyZXR1cm4gdmNhKGEpfX07XG5GY2E9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbHx8dHlwZW9mIGE9PVwic3RyaW5nXCJ8fG1iYShhKXx8YSBpbnN0YW5jZW9mIF8uTWEpcmV0dXJuIGF9O18uR2NhPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09XCJzdHJpbmdcIil0aHJvdyBFcnJvcigpO3JldHVybiBhfTtIY2E9ZnVuY3Rpb24oYSl7aWYoYSE9bnVsbCYmdHlwZW9mIGEhPT1cInN0cmluZ1wiKXRocm93IEVycm9yKCk7cmV0dXJuIGF9O0ljYT1mdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbHx8dHlwZW9mIGE9PT1cInN0cmluZ1wiP2E6dm9pZCAwfTtfLktjYT1mdW5jdGlvbihhLGIsYyxkKXtpZihhIT1udWxsJiZ0eXBlb2YgYT09PVwib2JqZWN0XCImJl8uTGJhKGEpKXJldHVybiBhO2lmKCFBcnJheS5pc0FycmF5KGEpKXJldHVybiBjP2QmMj9fLkpjYShiKTpuZXcgYjp2b2lkIDA7dmFyIGU9Yz0oMCxfLlRhKShhKTtlPT09MCYmKGV8PWQmMzIpO2V8PWQmMjtlIT09YyYmKDAsXy5TYSkoYSxlKTtyZXR1cm4gbmV3IGIoYSl9O1xuXy5KY2E9ZnVuY3Rpb24oYSl7dmFyIGI9YVtMY2FdO2lmKGIpcmV0dXJuIGI7Yj1uZXcgYTtfLkZiYShiLkhhKTtyZXR1cm4gYVtMY2FdPWJ9O18uaGI9ZnVuY3Rpb24oYSxiLGMpe2E9Yj9fLmNiKGEpOl8uZGIoYSk7cmV0dXJuIGE9PW51bGw/Yz8wOnZvaWQgMDphfDB9O18uaWI9ZnVuY3Rpb24oYSxiLGMpe2lmKGIpcmV0dXJuIF8uR2NhKGEpO3ZhciBkO3JldHVybihkPUljYShhKSkhPW51bGw/ZDpjP1wiXCI6dm9pZCAwfTtNY2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O05jYT1mdW5jdGlvbihhKXtyZXR1cm4gYX07UmNhPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBPY2EoYSxiLGMsZCxQY2EsUWNhKX07VWNhPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBPY2EoYSxiLGMsZCxTY2EsVGNhKX07XG5PY2E9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2lmKCFjLmxlbmd0aCYmIWQpcmV0dXJuIDA7Zm9yKHZhciBnPTAsaD0wLGs9MCxsPTAsbj0wLHI9Yy5sZW5ndGgtMTtyPj0wO3ItLSl7dmFyIHQ9Y1tyXTtkJiZyPT09Yy5sZW5ndGgtMSYmdD09PWR8fChsKyssdCE9bnVsbCYmaysrKX1pZihkKWZvcih2YXIgdSBpbiBkKXI9K3UsaXNOYU4ocil8fChuKz1WY2EociksaCsrLHI+ZyYmKGc9cikpO2w9ZShsLGspK2YoaCxnLG4pO3U9aztyPWg7dD1nO2Zvcih2YXIgej1uLEI9Yy5sZW5ndGgtMTtCPj0wO0ItLSl7dmFyIEY9Y1tCXTtpZighKEY9PW51bGx8fGQmJkI9PT1jLmxlbmd0aC0xJiZGPT09ZCkpe0Y9Qi1iO3ZhciBLPWUoRix1KStmKHIsdCx6KTtLPGwmJihhPTErRixsPUspO3IrKzt1LS07eis9VmNhKEYpO3Q9TWF0aC5tYXgodCxGKX19Yj1lKDAsMCkrZihyLHQseik7YjxsJiYoYT0wLGw9Yik7aWYoZCl7cj1oO3Q9Zzt6PW47dT1rO2Zvcih2YXIgUCBpbiBkKWQ9K1AsaXNOYU4oZCl8fFxuZD49MTAyNHx8KHItLSx1Kyssei09UC5sZW5ndGgsZz1lKGQsdSkrZihyLHQseiksZzxsJiYoYT0xK2QsbD1nKSl9cmV0dXJuIGF9O1RjYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGMrYSozKyhhPjE/YS0xOjApfTtTY2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4oYT4xP2EtMTowKSsoYS1iKSo0fTtRY2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09MD8wOjkqTWF0aC5tYXgoMTw8MzItTWF0aC5jbHozMihhK2EvMi0xKSw0KTw9Yj9hPT0wPzA6YTw0PzEwMCsoYS0xKSoxNjphPDY/MTQ4KyhhLTQpKjE2OmE8MTI/MjQ0KyhhLTYpKjE2OmE8MjI/NDM2KyhhLTEyKSoxOTphPDQ0PzgyMCsoYS0yMikqMTc6NTIrMzIqYTo0MCs0KmJ9O1BjYT1mdW5jdGlvbihhKXtyZXR1cm4gNDArNCphfTtWY2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGE+PTEwMD9hPj0xRTQ/TWF0aC5jZWlsKE1hdGgubG9nMTAoMSthKSk6YTwxRTM/Mzo0OmE8MTA/MToyfTtXY2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O1xuWGNhPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXthPV8uS2NhKGEsZCxjLGYpO2UmJihhPWEuZWJhKCkpO3JldHVybiBhfTtZY2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O2FkYT1mdW5jdGlvbihhLGIsYyl7aWYoYS5zaXplIT1iLnNpemUpcmV0dXJuITE7dmFyIGQ9ITA7YS5mb3JFYWNoKGZ1bmN0aW9uKGUsZil7Xy5aY2EoZSxiLmdldChmKSxjPT1udWxsP3ZvaWQgMDokY2EoYywyKSl8fChkPSExKX0pO3JldHVybiBkfTtiZGE9ZnVuY3Rpb24oYSxiKXtpZighQXJyYXkuaXNBcnJheShhKXx8IUFycmF5LmlzQXJyYXkoYikpcmV0dXJuIDA7YT1hWzBdO2I9YlswXTtyZXR1cm4gYT09PWI/MDphPGI/LTE6MX07XG5jZGE9ZnVuY3Rpb24oYSxiLGMpe2lmKGI9PW51bGwpcmV0dXJuIGEuc2l6ZT09PTA7aWYoIUFycmF5LmlzQXJyYXkoYil8fGEuc2l6ZT5iLmxlbmd0aClyZXR1cm4hMTtiPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGIpO2Iuc29ydChiZGEpO2Zvcih2YXIgZD0wLGU9dm9pZCAwLGY9Yi5sZW5ndGgtMTtmPj0wO2YtLSl7dmFyIGc9YltmXTtpZighZ3x8IUFycmF5LmlzQXJyYXkoZyl8fGcubGVuZ3RoIT09MilyZXR1cm4hMTt2YXIgaD1nWzBdO2lmKGghPT1lKXtlPXZvaWQgMDtpZighXy5aY2EoYS5nZXQoaCksZ1sxXSwoZT1jKT09bnVsbD92b2lkIDA6JGNhKGUsMikpKXJldHVybiExO2U9aDtkKyt9fXJldHVybiBkPT09YS5zaXplfTtcbmRkYT1mdW5jdGlvbihhLGIpe2lmKCFBcnJheS5pc0FycmF5KGEpfHwhQXJyYXkuaXNBcnJheShiKSlyZXR1cm4hMTthPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGEpO2I9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYik7YS5zb3J0KGJkYSk7Yi5zb3J0KGJkYSk7dmFyIGM9YS5sZW5ndGgsZD1iLmxlbmd0aDtpZihjPT09MCYmZD09PTApcmV0dXJuITA7Zm9yKHZhciBlPTAsZj0wO2U8YyYmZjxkOyl7dmFyIGc9dm9pZCAwLGg9YVtlXTtpZighQXJyYXkuaXNBcnJheShoKSlyZXR1cm4hMTtmb3IodmFyIGs9aFswXTtlPGMtMSYmKGc9YVtlKzFdKVswXT09PWs7KWUrKyxoPWc7dmFyIGw9dm9pZCAwO2c9YltmXTtpZighQXJyYXkuaXNBcnJheShnKSlyZXR1cm4hMTtmb3IodmFyIG49Z1swXTtmPGQtMSYmKGw9YltmKzFdKVswXT09PW47KWYrKyxnPWw7aWYoIV8uWmNhKGssbikpcmV0dXJuITE7az12b2lkIDA7aWYoIV8uWmNhKGhbMV0sZ1sxXSwoaz12b2lkIDApPT1udWxsP1xudm9pZCAwOiRjYShrLDIpKSlyZXR1cm4hMTtlKys7ZisrfXJldHVybiBlPj1jJiZmPj1kfTtlZGE9ZnVuY3Rpb24oYSl7cmV0dXJuW2EsdGhpcy5nZXQoYSldfTtoZGE9ZnVuY3Rpb24oKXtyZXR1cm4gZmRhfHwoZmRhPW5ldyBqYihfLkZiYShbXSksdm9pZCAwLHZvaWQgMCx2b2lkIDAsZ2RhKSl9O2lkYT1mdW5jdGlvbihhLGIpe2lmKHR5cGVvZiBiPT09XCJzdHJpbmdcIil0cnl7Yj1rYmEoYil9Y2F0Y2goYyl7cmV0dXJuITF9cmV0dXJuIG1iYShiKSYmbmJhKGEsYil9O1xubGRhPWZ1bmN0aW9uKGEsYil7dmFyIGM9WmJhKCksZDtpZihfLkxiYShhKSl7dmFyIGU9YS5IYTtkIT1udWxsfHwoZD1lW2NdKTt2YXIgZj1WYmEoYSl9ZWxzZSBpZihBcnJheS5pc0FycmF5KGEpKWU9YTtlbHNlIHJldHVybiExO2lmKF8uTGJhKGIpKWE9Yi5IYSxkIT1udWxsfHwoZD1hW2NdKSxmPWZ8fFZiYShiKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkoYikpYT1iO2Vsc2UgcmV0dXJuITE7dmFyIGc7cmV0dXJuIGpkYShlLGEsKGc9ZikhPW51bGw/ZzprZGEsZCwyKX07Xy5aY2E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBqZGEoYSxiLHZvaWQgMCxjLDApfTtcbmpkYT1mdW5jdGlvbihhLGIsYyxkLGUpe2tiIT1udWxsJiZBcnJheS5pc0FycmF5KGEpJiZBcnJheS5pc0FycmF5KGIpJiZrYi5wdXNoKGQ/XCJjY1wiOlwiY25cIik7aWYoYT09PWJ8fGE9PW51bGwmJmI9PW51bGwpcmV0dXJuITA7aWYoYSBpbnN0YW5jZW9mIGpiKXJldHVybiBtZGEoYSxiLGQpO2lmKGIgaW5zdGFuY2VvZiBqYilyZXR1cm4gbWRhKGIsYSxkKTtpZihhPT1udWxsfHxiPT1udWxsKXJldHVybiExO2lmKGEgaW5zdGFuY2VvZiBfLk1hKXJldHVybiBuZGEoYSxiKTtpZihiIGluc3RhbmNlb2YgXy5NYSlyZXR1cm4gbmRhKGIsYSk7aWYobWJhKGEpKXJldHVybiBpZGEoYSxiKTtpZihtYmEoYikpcmV0dXJuIGlkYShiLGEpO3ZhciBmPXR5cGVvZiBhLGc9dHlwZW9mIGI7aWYoZiE9PVwib2JqZWN0XCJ8fGchPT1cIm9iamVjdFwiKXJldHVybiBOdW1iZXIuaXNOYU4oYSl8fE51bWJlci5pc05hTihiKT9TdHJpbmcoYSk9PT1TdHJpbmcoYik6Zj09PVwic3RyaW5nXCImJmc9PT1cIm51bWJlclwifHxcbmY9PT1cIm51bWJlclwiJiZnPT09XCJzdHJpbmdcIj8rYT09PStiOmY9PT1cImJvb2xlYW5cIiYmZz09PVwibnVtYmVyXCJ8fGY9PT1cIm51bWJlclwiJiZnPT09XCJib29sZWFuXCI/IWE9PT0hYjohMTtpZihfLkxiYShhKXx8Xy5MYmEoYikpcmV0dXJuIGxkYShhLGIpO2lmKGEuY29uc3RydWN0b3IhPWIuY29uc3RydWN0b3IpcmV0dXJuITE7aWYoYS5jb25zdHJ1Y3Rvcj09PUFycmF5KXtnPSgwLF8uVGEpKGEpO3ZhciBoPSgwLF8uVGEpKGIpLGs9YS5sZW5ndGgsbD1iLmxlbmd0aCxuPU1hdGgubWF4KGssbCk7Zj1KYmEoZ3xoKTsoZz1lPT09MXx8ISEoKGd8aCkmMSkpJiYoZT0xKTtpZighZyl7Zz1aYmEoKTt2YXIgcjtkIT1udWxsfHwoZD0ocj1hW2ddKSE9bnVsbD9yOmJbZ10pO2lmKGQhPW51bGwpe2M9KGM9ZC5HSGEpP2M6b2RhfHwob2RhPW5ldyBTZXQpO3ZhciB0PSh0PWQuZkJiKT90Om9kYXx8KG9kYT1uZXcgU2V0KX19cj1rJiZhW2stMV07Zz1sJiZiW2wtMV07Xy5PYmEocil8fChyPW51bGwpO1xuXy5PYmEoZyl8fChnPW51bGwpO2s9ay1mLSshIXI7bD1sLWYtKyEhZztmb3IoaD0wO2g8bjtoKyspaWYoIXBkYShoLWYsYSxyLGssYixnLGwsZixjLHQsZCxlKSlyZXR1cm4ga2IhPW51bGwmJmtiLnB1c2goXCJmXCIpLCExO2lmKHIpZm9yKHZhciB1IGluIHIpe2U9YTtuPXI7aD1rO3ZhciB6PWIsQj1nLEY9bCxLPWYsUD1jLFE9dCxVPWQsbWE9K3U7ZT0hTnVtYmVyLmlzRmluaXRlKG1hKXx8bWE8aHx8bWE8Rj8hMDpwZGEobWEsZSxuLGgseixCLEYsSyxQLFEsVSwyKTtpZighZSlyZXR1cm4ga2IhPW51bGwmJmtiLnB1c2goXCJmXCIpLCExfWlmKGcpZm9yKHZhciBqYSBpbiBnKWlmKCh1PXImJmphIGluIHIpfHwodT1hLGU9cixuPWssaD1iLHo9ZyxCPWwsRj1mLEs9YyxQPXQsUT1kLFU9K2phLHU9IU51bWJlci5pc0Zpbml0ZShVKXx8VTxufHxVPEI/ITA6cGRhKFUsdSxlLG4saCx6LEIsRixLLFAsUSwyKSksIXUpcmV0dXJuIGtiIT1udWxsJiZrYi5wdXNoKFwiZlwiKSwhMTtrYiE9bnVsbCYmXG5rYi5wdXNoKFwidFwiKTtyZXR1cm4hMH1pZihhLmNvbnN0cnVjdG9yPT09T2JqZWN0KXJldHVybiBfLlpjYShbYV0sW2JdKTt0aHJvdyBFcnJvcigpO307XG5wZGE9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoLGssbCxuLHIpe2I9cWRhKGEsYixjLGQsaCk7ZT1xZGEoYSxlLGYsZyxoKTtyPXI9PT0xO2tiIT1udWxsJiZrYi5wdXNoKGEpO2lmKGU9PW51bGwpe2lmKFJiYShiLGssYSkpcmV0dXJuITA7cnx8cmRhfHxrfHwhQXJyYXkuaXNBcnJheShiKXx8Yi5sZW5ndGh8fCgwLF8uVGEpKGIpJjY0fHxiW1piYSgpXXx8cmRhKyt9aWYoYj09bnVsbCl7aWYoUmJhKGUsayxhKSlyZXR1cm4hMDtyfHxyZGF8fGt8fCFBcnJheS5pc0FycmF5KGUpfHxlLmxlbmd0aHx8KDAsXy5UYSkoZSkmNjR8fGVbWmJhKCldfHxyZGErK31uPXI/bjpuPT1udWxsP3ZvaWQgMDokY2EobixhKTtpZihsPWw9PW51bGw/dm9pZCAwOmwuaGFzKGEpKXtpZihiPT1udWxsJiZBcnJheS5pc0FycmF5KGUpKXJldHVybiBlLmxlbmd0aD09PTA7aWYoZT09bnVsbCYmQXJyYXkuaXNBcnJheShiKSlyZXR1cm4gYi5sZW5ndGg9PT0wO2lmKEFycmF5LmlzQXJyYXkoYikmJkFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGRkYShiLFxuZSl9cmV0dXJuIGpkYShiLGUsdm9pZCAwLG4sbHx8UWJhKGssYSk/MTowKX07cWRhPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY7cmV0dXJuKGY9YTxkP2JbYStlXTp2b2lkIDApIT1udWxsP2Y6Yz09bnVsbD92b2lkIDA6Y1thXX07Xy50ZGE9ZnVuY3Rpb24oYSxiKXtzZGE9YjthPW5ldyBhKGIpO3NkYT12b2lkIDA7cmV0dXJuIGF9O3dkYT1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgXCJib29sZWFuXCI6cmV0dXJuIHVkYXx8KHVkYT1bMCx2b2lkIDAsITBdKTtjYXNlIFwibnVtYmVyXCI6cmV0dXJuIGE+MD92b2lkIDA6YT09PTA/dmRhfHwodmRhPVswLHZvaWQgMF0pOlstYSx2b2lkIDBdO2Nhc2UgXCJzdHJpbmdcIjpyZXR1cm5bMCxhXTtjYXNlIFwib2JqZWN0XCI6cmV0dXJuIGF9fTt4ZGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5wKGEsYlswXSxiWzFdKX07XG5fLnA9ZnVuY3Rpb24oYSxiLGMpe2E9PW51bGwmJihhPXNkYSk7c2RhPXZvaWQgMDtpZihhPT1udWxsKXt2YXIgZD05NjtjPyhhPVtjXSxkfD01MTIpOmE9W107YiYmKGQ9ZCYtMTY3NjA4MzN8KGImMTAyMyk8PDE0KX1lbHNle2lmKCFBcnJheS5pc0FycmF5KGEpKXRocm93IEVycm9yKFwiWFwiKTtkPSgwLF8uVGEpKGEpO2lmKGQmMjA0OCl0aHJvdyBFcnJvcihcIllcIik7aWYoZCY2NClyZXR1cm4gYTtkfD02NDtpZihjJiYoZHw9NTEyLGMhPT1hWzBdKSl0aHJvdyBFcnJvcihcIlpcIik7YTp7Yz1hO3ZhciBlPWMubGVuZ3RoO2lmKGUpe3ZhciBmPWUtMTtpZihfLk9iYShjW2ZdKSl7ZHw9MjU2O2I9Zi1KYmEoZCk7aWYoYj49MTAyNCl0aHJvdyBFcnJvcihcIiRcIik7ZD1kJi0xNjc2MDgzM3woYiYxMDIzKTw8MTQ7YnJlYWsgYX19aWYoYil7Yj1NYXRoLm1heChiLGUtSmJhKGQpKTtpZihiPjEwMjQpdGhyb3cgRXJyb3IoXCJhYVwiKTtkPWQmLTE2NzYwODMzfChiJjEwMjMpPDwxNH19fSgwLF8uU2EpKGEsXG5kKTtyZXR1cm4gYX07emRhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHlkYShiKX07eWRhPWZ1bmN0aW9uKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSBcIm51bWJlclwiOnJldHVybiBpc0Zpbml0ZShhKT9hOlN0cmluZyhhKTtjYXNlIFwiYm9vbGVhblwiOnJldHVybiBhPzE6MDtjYXNlIFwib2JqZWN0XCI6aWYoYSlpZihBcnJheS5pc0FycmF5KGEpKXtpZihSYmEoYSx2b2lkIDAsMCkpcmV0dXJufWVsc2V7aWYobWJhKGEpKXJldHVybiBfLmdiYShhKTtpZihhIGluc3RhbmNlb2YgXy5NYSlyZXR1cm4gXy5sYihhKTtpZihhIGluc3RhbmNlb2YgamIpcmV0dXJuIEFkYShhKX19cmV0dXJuIGF9O0JkYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9UmEoYSksZT1kLmxlbmd0aCxmPWImMjU2P2RbZS0xXTp2b2lkIDA7ZSs9Zj8tMTowO2ZvcihiPWImNTEyPzE6MDtiPGU7YisrKWRbYl09YyhkW2JdKTtpZihmKXtiPWRbYl09e307Zm9yKHZhciBnIGluIGYpYltnXT1jKGZbZ10pfVhiYShkLGEsITEpO3JldHVybiBkfTtcbkRkYT1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKGEhPW51bGwpe2lmKEFycmF5LmlzQXJyYXkoYSkpYT1SYmEoYSx2b2lkIDAsMCk/dm9pZCAwOmUmJigwLF8uVGEpKGEpJjI/YTpDZGEoYSxiLGMsZCE9PXZvaWQgMCxlKTtlbHNlIGlmKF8uT2JhKGEpKXt2YXIgZj17fSxnO2ZvcihnIGluIGEpZltnXT1EZGEoYVtnXSxiLGMsZCxlKTthPWZ9ZWxzZSBhPWIoYSxkKTtyZXR1cm4gYX19O0NkYT1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPWR8fGM/KDAsXy5UYSkoYSk6MDtkPWQ/ISEoZiYzMik6dm9pZCAwO2Zvcih2YXIgZz1SYShhKSxoPTA7aDxnLmxlbmd0aDtoKyspZ1toXT1EZGEoZ1toXSxiLGMsZCxlKTtjJiYoWGJhKGcsYSwhMSksYyhmLGcpKTtyZXR1cm4gZ307RmRhPWZ1bmN0aW9uKGEpe3JldHVybiBEZGEoYSxFZGEsdm9pZCAwLHZvaWQgMCwhMSl9O1xuRWRhPWZ1bmN0aW9uKGEpe3JldHVybiBfLkxiYShhKT9hLnRvSlNPTigpOmEgaW5zdGFuY2VvZiBfLk1hP0dkYShhKTptYmEoYSk/bmV3IFVpbnQ4QXJyYXkoYSk6YSBpbnN0YW5jZW9mIGpiP0FkYShhLEZkYSk6YX07SWRhPWZ1bmN0aW9uKGEpe3JldHVybiBEZGEoYSxIZGEsdm9pZCAwLHZvaWQgMCwhMSl9O0hkYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5MYmEoYSk/YS50b0pTT04oKTphIGluc3RhbmNlb2YgamI/QWRhKGEsSWRhKTp5ZGEoYSl9O1xuXy5KZGE9ZnVuY3Rpb24oYSxiLGMpe2M9Yz09PXZvaWQgMD9JYmE6YztpZihhIT1udWxsKXtpZihsYmEmJmEgaW5zdGFuY2VvZiBVaW50OEFycmF5KXJldHVybiBiP2E6bmV3IFVpbnQ4QXJyYXkoYSk7aWYoQXJyYXkuaXNBcnJheShhKSl7dmFyIGQ9KDAsXy5UYSkoYSk7aWYoZCYyKXJldHVybiBhO2ImJihiPWQ9PT0wfHwhIShkJjMyKSYmIShkJjY0fHwhKGQmMTYpKSk7cmV0dXJuIGI/KCgwLF8uU2EpKGEsKGR8MzQpJi0xMjI5MyksYSk6Q2RhKGEsXy5KZGEsZCY0P0liYTpjLCEwLCEwKX1fLkxiYShhKT8oYz1hLkhhLGQ9KDAsXy5uYikoYyksYT1kJjI/YTpfLnRkYShhLmNvbnN0cnVjdG9yLEtkYShjLGQsITApKSk6YSBpbnN0YW5jZW9mIGpiJiYhKGEudnFhJjIpJiYoYz1fLkZiYShMZGEoYSxfLkpkYSkpLGE9bmV3IGpiKGMsYS5TX2EsYS5VRmEsYS5JZ2IpKTtyZXR1cm4gYX19O1xuS2RhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1jfHxiJjI/SWJhOkhiYSxlPSEhKGImMzIpO2E9QmRhKGEsYixmdW5jdGlvbihmKXtyZXR1cm4gXy5KZGEoZixlLGQpfSk7RWJhKGEsMzJ8KGM/MjowKSk7cmV0dXJuIGF9O18uTWRhPWZ1bmN0aW9uKGEpe3ZhciBiPWEuSGEsYz0oMCxfLm5iKShiKTtyZXR1cm4gYyYyP18udGRhKGEuY29uc3RydWN0b3IsS2RhKGIsYywhMSkpOmF9O05kYT1mdW5jdGlvbigpe2FjYSgpfTtRZGE9ZnVuY3Rpb24oYSxiKXsoT2RhfHwoT2RhPW5ldyBXZWFrTWFwKSkuc2V0KGEsYik7KFBkYXx8KFBkYT1uZXcgV2Vha01hcCkpLnNldChiLGEpfTtTZGE9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoISg0JmIpKXJldHVybiEwO2lmKGM9PW51bGwpcmV0dXJuITE7IWQmJmM9PT0wJiYoNDA5NiZifHw4MTkyJmIpJiYoYS5jb25zdHJ1Y3RvcltSZGFdPShhLmNvbnN0cnVjdG9yW1JkYV18MCkrMSk8NSYmYWNhKCk7cmV0dXJuIGM9PT0wPyExOiEoYyZiKX07XG5UZGE9ZnVuY3Rpb24oYSxiLGMsZCl7Yj1kK0piYShiKTtpZighKGI8MHx8Yj49YS5sZW5ndGh8fGI+PWMpKXJldHVybiBhW2JdfTtfLm9iPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9Yj4+MTQmMTAyM3x8NTM2ODcwOTEyO2lmKGM+PWZ8fGUmJiFVZGEpe3ZhciBnPWI7aWYoYiYyNTYpZT1hW2EubGVuZ3RoLTFdO2Vsc2V7aWYoZD09bnVsbClyZXR1cm4gZztlPWFbZitKYmEoYildPXt9O2d8PTI1Nn1lW2NdPWQ7YzxmJiYoYVtjK0piYShiKV09dm9pZCAwKTtnIT09YiYmKDAsXy5TYSkoYSxnKTtyZXR1cm4gZ31hW2MrSmJhKGIpXT1kO2ImMjU2JiYoYT1hW2EubGVuZ3RoLTFdLGMgaW4gYSYmZGVsZXRlIGFbY10pO3JldHVybiBifTtcbl8uV2RhPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YiYyLGc9Xy5wYihhLGIsYyxlKTtBcnJheS5pc0FycmF5KGcpfHwoZz1rZGEpO3ZhciBoPSEoZCYyKTtkPSEoZCYxKTt2YXIgaz0hIShiJjMyKSxsPSgwLF8uVGEpKGcpO2whPT0wfHwha3x8Znx8aD9sJjF8fChsfD0xLCgwLF8uU2EpKGcsbCkpOihsfD0zMywoMCxfLlNhKShnLGwpKTtmPyhhPSExLGwmMnx8KF8uRmJhKGcpLGE9ISEoNCZsKSksKGR8fGEpJiZPYmplY3QuZnJlZXplKGcpKTooZj0hISgyJmwpfHwhISgyMDQ4JmwpLGQmJmY/KGc9UmEoZyksZD0xLGsmJiFoJiYoZHw9MzIpLCgwLF8uU2EpKGcsZCksXy5vYihhLGIsYyxnLGUpKTpoJiZsJjMyJiYhZiYmVmRhKGcsMzIpKTtyZXR1cm4gZ307XG5fLnFiPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcpe3ZhciBoPWEuSGEsaz0oMCxfLm5iKShoKSxsPTImaz8xOmQ7Zj0hIWY7ZD1YZGEoaCxrLGIsZSk7dmFyIG49KDAsXy5UYSkoZCk7aWYoU2RhKGEsbixnLGYpKXtpZig0Jm58fE9iamVjdC5pc0Zyb3plbihkKSlkPVJhKGQpLG49WWRhKG4sayksaz1fLm9iKGgsayxiLGQsZSk7Zm9yKHZhciByPWE9MDthPGQubGVuZ3RoO2ErKyl7dmFyIHQ9YyhkW2FdKTt0IT1udWxsJiYoZFtyKytdPXQpfXI8YSYmKGQubGVuZ3RoPXIpO249WmRhKG4sayk7bj0obnwyMCkmLTQwOTc7biY9LTgxOTM7ZyYmKG58PWcpOygwLF8uU2EpKGQsbik7MiZuJiZPYmplY3QuZnJlZXplKGQpfXZhciB1O2w9PT0xfHxsPT09NCYmMzImbj8kZGEobil8fChmPW4sbnw9MixuIT09ZiYmKDAsXy5TYSkoZCxuKSxPYmplY3QuZnJlZXplKGQpKTooZz1sIT09NT8hMTohISgzMiZuKXx8JGRhKG4pfHwhIWFlYShkKSwobD09PTJ8fGcpJiYkZGEobikmJihkPVJhKGQpLG49WWRhKG4sXG5rKSxuPWJlYShuLGssZiksKDAsXy5TYSkoZCxuKSxrPV8ub2IoaCxrLGIsZCxlKSksJGRhKG4pfHwoYj1uLG49YmVhKG4sayxmKSxuIT09YiYmKDAsXy5TYSkoZCxuKSksZyYmKHU9Y2VhKGQpKSk7cmV0dXJuIHV8fGR9O1hkYT1mdW5jdGlvbihhLGIsYyxkKXthPV8ucGIoYSxiLGMsZCk7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/YTprZGF9O1pkYT1mdW5jdGlvbihhLGIpe2E9PT0wJiYoYT1ZZGEoYSxiKSk7cmV0dXJuIGF8MX07JGRhPWZ1bmN0aW9uKGEpe3JldHVybiEhKDImYSkmJiEhKDQmYSl8fCEhKDIwNDgmYSl9O2RlYT1mdW5jdGlvbihhKXthPVJhKGEpO2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7YisrKXt2YXIgYz1hW2JdPVJhKGFbYl0pO0FycmF5LmlzQXJyYXkoY1sxXSkmJihjWzFdPV8uRmJhKGNbMV0pKX1yZXR1cm4gYX07XG5fLmVlYT1mdW5jdGlvbihhLGIsYyxkLGUsZixnKXt2YXIgaD1iJjIsaz0hMTtpZihjPT1udWxsKXtpZihoKXJldHVybiBoZGEoKTtjPVtdfWVsc2UgaWYoYy5jb25zdHJ1Y3Rvcj09PWpiKXtpZigoYy52cWEmMik9PTB8fGgpcmV0dXJuIGM7Yz1MZGEoYyl9ZWxzZSBBcnJheS5pc0FycmF5KGMpP2s9ISEoKDAsXy5UYSkoYykmMik6Yz1bXTtpZihoKXtpZighYy5sZW5ndGgpcmV0dXJuIGhkYSgpO2t8fChrPSEwLF8uRmJhKGMpKX1lbHNlIGsmJihrPSExLGM9ZGVhKGMpKTtrfHwoKDAsXy5UYSkoYykmNjQ/VmRhKGMsMzIpOjMyJmImJl8uR2JhKGMpKTtlPW5ldyBqYihjLGUsZixnKTtfLm9iKGEsYixkLGUsITEpO3JldHVybiBlfTtmZWE9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7dmFyIGg9YiYyO2E9Xy5lZWEoYSxiLGMsZCxlLGYsZyk7IWgmJmUmJihhLnJfYz0hMCk7cmV0dXJuIGF9O1xuXy5nZWE9ZnVuY3Rpb24oYSxiLGMsZCl7YT1hLkhhO3ZhciBlPSgwLF8ubmIpKGEpO3JldHVybiBmZWEoYSxlLF8ucGIoYSxlLGIpLGIsdm9pZCAwLGMsZCl9O18ucmI9ZnVuY3Rpb24oYSxiLGMsZCl7YT1hLkhhO3ZhciBlPSgwLF8ubmIpKGEpO3JldHVybiBmZWEoYSxlLF8ucGIoYSxlLGIpLGIsYyxkKX07Xy5oZWE9ZnVuY3Rpb24oYSxiKXt0aGlzLnNldChiLGEpfTtcbl8uc2I9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3ZhciBnPWEuSGEsaD0oMCxfLm5iKShnKTtfLllhKGgpO2lmKGM9PW51bGwpcmV0dXJuIF8ub2IoZyxoLGIsdm9pZCAwLGYpLGE7Yz1pZWEoYyk7dmFyIGs9KDAsXy5UYSkoYyksbD1rLG49ISEoMiZrKXx8T2JqZWN0LmlzRnJvemVuKGMpO2U9IW4mJihlPT09amVhfHwoISFmfHwhMSkmJmUhPT1rZWEpO2lmKFNkYShhLGspKWZvcihrPTIxLG4mJihjPVJhKGMpLGw9MCxrPVlkYShrLGgpLGs9YmVhKGssaCwhMCkpLG49MDtuPGMubGVuZ3RoO24rKyljW25dPWQoY1tuXSk7ZSYmKGM9UmEoYyksbD0wLGs9WWRhKGssaCksaz1iZWEoayxoLCEwKSk7ayE9PWwmJigwLF8uU2EpKGMsayk7Xy5vYihnLGgsYixjLGYpO3JldHVybiBhfTtfLnViPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEuSGEsZj0oMCxfLm5iKShlKTtfLllhKGYpO18ub2IoZSxmLGIsKGQ9PT1cIjBcIj9OdW1iZXIoYyk9PT0wOmM9PT1kKT92b2lkIDA6Yyk7cmV0dXJuIGF9O1xuXy5tZWE9ZnVuY3Rpb24oYSxiLGMsZCxlKXtfLmxlYShhLkhhLGIsYyxkLGUsdm9pZCAwKTtyZXR1cm4gYX07Xy5sZWE9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3ZhciBnPSgwLF8ubmIpKGEpO18uWWEoZyk7YT1fLldkYShhLGcsYiwyLGYpO2I9KDAsXy5UYSkoYSk7ZD1jKGQsISEoNCZiKSYmISEoNDA5NiZiKSk7ZSE9dm9pZCAwP2Euc3BsaWNlKGUsMCxkKTphLnB1c2goZCl9O18ubmVhPWZ1bmN0aW9uKGEpe3JldHVybiBhfTtfLm9lYT1mdW5jdGlvbihhLGIsYyxkLGUsZil7Xy5ZYSgoMCxfLm5iKShhLkhhKSk7Yj1mKGEsYiwyLHZvaWQgMCwhMCk7VGJhKGIsZCk7Zj0oMCxfLlRhKShiKTtiW2RdPWMoZSwhISg0JmYpJiYhISg0MDk2JmYpKTtyZXR1cm4gYX07XG5yZWE9ZnVuY3Rpb24oYSl7aWYocGVhKXt2YXIgYjtyZXR1cm4oYj1hW3FlYV0pIT1udWxsP2I6YVtxZWFdPW5ldyBNYXB9aWYocWVhIGluIGEpcmV0dXJuIGFbcWVhXTtiPW5ldyBNYXA7T2JqZWN0LmRlZmluZVByb3BlcnR5KGEscWVhLHt2YWx1ZTpifSk7cmV0dXJuIGJ9O3RlYT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1yZWEoYSksZj1zZWEoZSxhLGIsYyk7ZiE9PWQmJihmJiYoYj1fLm9iKGEsYixmKSksZS5zZXQoYyxkKSk7cmV0dXJuIGJ9O3NlYT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLmdldChkKTtpZihlIT1udWxsKXJldHVybiBlO2Zvcih2YXIgZj1lPTA7ZjxkLmxlbmd0aDtmKyspe3ZhciBnPWRbZl07Xy5wYihiLGMsZykhPW51bGwmJihlIT09MCYmKGM9Xy5vYihiLGMsZSkpLGU9Zyl9YS5zZXQoZCxlKTtyZXR1cm4gZX07XG51ZWE9ZnVuY3Rpb24oYSxiLGMsZCl7YT1hLkhhO3ZhciBlPSgwLF8ubmIpKGEpLGY9Xy5wYihhLGUsYyxkKTtiPV8uS2NhKGYsYiwhMSxlKTtiIT09ZiYmYiE9bnVsbCYmXy5vYihhLGUsYyxiLGQpO3JldHVybiBifTtcbl8udmVhPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCl7dmFyIGs9ISEoMiZiKTtlPWs/MTplO2c9ISFnO2gmJihoPSFrKTtrPVhkYShhLGIsZCxmKTt2YXIgbD0oMCxfLlRhKShrKSxuPSEhKDQmbCk7aWYoIW4pe2w9WmRhKGwsYik7dmFyIHI9ayx0PWIsdT0hISgyJmwpO3UmJih0fD0yKTtmb3IodmFyIHo9IXUsQj0hMCxGPTAsSz0wO0Y8ci5sZW5ndGg7RisrKXt2YXIgUD1fLktjYShyW0ZdLGMsITEsdCk7aWYoUCBpbnN0YW5jZW9mIGMpe2lmKCF1KXt2YXIgUT1fLlZhKFApO3omJih6PSFRKTtCJiYoQj1RKX1yW0srK109UH19SzxGJiYoci5sZW5ndGg9Syk7bHw9NDtsPUI/bHwxNjpsJi0xNztsPXo/bHw4OmwmLTk7KDAsXy5TYSkocixsKTt1JiZPYmplY3QuZnJlZXplKHIpfWlmKGgmJiEoOCZsfHwhay5sZW5ndGgmJihlPT09MXx8ZT09PTQmJjMyJmwpKSl7JGRhKGwpJiYoaz1SYShrKSxsPVlkYShsLGIpLGI9Xy5vYihhLGIsZCxrLGYpKTtjPWs7aD1sO2ZvcihyPTA7cjxjLmxlbmd0aDtyKyspbD1cbmNbcl0sdD1fLk1kYShsKSxsIT09dCYmKGNbcl09dCk7aHw9ODtoPWMubGVuZ3RoP2gmLTE3Omh8MTY7KDAsXy5TYSkoYyxoKTtsPWh9dmFyIFU7ZT09PTF8fGU9PT00JiYzMiZsPyRkYShsKXx8KGI9bCxsfD0hay5sZW5ndGh8fDE2JmwmJighbnx8MzImbCk/MjoyMDQ4LGwhPT1iJiYoMCxfLlNhKShrLGwpLE9iamVjdC5mcmVlemUoaykpOihuPWUhPT01PyExOiEhKDMyJmwpfHwkZGEobCl8fCEhYWVhKGspLChlPT09Mnx8bikmJiRkYShsKSYmKGs9UmEoayksbD1ZZGEobCxiKSxsPWJlYShsLGIsZyksKDAsXy5TYSkoayxsKSxiPV8ub2IoYSxiLGQsayxmKSksJGRhKGwpfHwoYT1sLGw9YmVhKGwsYixnKSxsIT09YSYmKDAsXy5TYSkoayxsKSksbiYmKFU9Y2VhKGspKSk7cmV0dXJuIFV8fGt9O1lkYT1mdW5jdGlvbihhLGIpe2E9KDImYj9hfDI6YSYtMyl8MzI7cmV0dXJuIGEmPS0yMDQ5fTtiZWE9ZnVuY3Rpb24oYSxiLGMpezMyJmImJmN8fChhJj0tMzMpO3JldHVybiBhfTtcbl8udmI9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7YT1hLkhhO3ZhciBoPSgwLF8ubmIpKGEpO18uWWEoaCk7Yj1fLnZlYShhLGgsYyxiLDIsZiwhMCk7Yz1kIT1udWxsP2Q6bmV3IGM7ZyYmVGJhKGIsZSk7ZSE9dm9pZCAwP2Iuc3BsaWNlKGUsZyxjKTpiLnB1c2goYyk7Xy5WYShjKT9WZGEoYiw4KTpWZGEoYiwxNik7cmV0dXJuIGN9O3diPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEhPW51bGw/YTpifTtfLndlYT1mdW5jdGlvbihhKXtyZXR1cm4gUGJhKGEsITEsITEpfTt4ZWE9ZnVuY3Rpb24oYSl7aWYoIUFycmF5LmlzQXJyYXkoYSkpdGhyb3cgRXJyb3IoXCJjYVwiKTtpZihPYmplY3QuaXNGcm96ZW4oYSl8fE9iamVjdC5pc1NlYWxlZChhKXx8IU9iamVjdC5pc0V4dGVuc2libGUoYSkpdGhyb3cgRXJyb3IoXCJkYVwiKTtFYmEoYSwxMjgpO3JldHVybiBhfTtcbkJlYT1mdW5jdGlvbihhKXt2YXIgYj15ZWE/YS5IYTp6ZWE/Q2RhKGEuSGEsRWRhLHZvaWQgMCx2b2lkIDAsITEpOkNkYShhLkhhLEhkYSx2b2lkIDAsdm9pZCAwLCExKTt2YXIgYz0heWVhLGQ9VmJhKGEpLGU9KDAsXy5uYikoYz9hLkhhOmIpO2lmKGE9Yi5sZW5ndGgpe3ZhciBmPWJbYS0xXSxnPV8uT2JhKGYpO2c/YS0tOmY9dm9pZCAwO3ZhciBoPUpiYShlKSxrPWEtaCxsPSEhQWVhJiZVZGEmJiEoZSY1MTIpLG47ZT0obj1BZWEpIT1udWxsP246TmNhO2U9bD9lKGssaCxiLGYpOms7bj0oaz1sJiZrIT09ZSk/QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYiwwLGEpOmI7aWYoZ3x8ayl7Yjp7dmFyIHI9bjt2YXIgdD1mO2c9e307bD0hMTtpZihrKWZvcih2YXIgdT1NYXRoLm1heCgwLGUraCk7dTxyLmxlbmd0aDt1Kyspe3ZhciB6PXJbdV0sQj11LWg7ej09bnVsbHx8UmJhKHosZCxCKXx8TmJhKHopJiZ6LnNpemU9PT0wfHwoclt1XT12b2lkIDAsZ1tCXT16LGw9ITApfWlmKHQpZm9yKHZhciBGIGluIHQpaWYodT1cbitGLGlzTmFOKHUpKWdbRl09dFtGXTtlbHNlIGlmKHo9dFtGXSxBcnJheS5pc0FycmF5KHopJiYoUmJhKHosZCwrRil8fE5iYSh6KSYmei5zaXplPT09MCkmJih6PW51bGwpLHo9PW51bGwmJihsPSEwKSxrJiZ1PGUpe2w9ITA7ej11K2g7Zm9yKEI9ci5sZW5ndGg7Qjw9ejtCKyspci5wdXNoKHZvaWQgMCk7clt6XT10W3VdfWVsc2UgeiE9bnVsbCYmKGdbRl09eik7aWYobCl7Zm9yKHZhciBLIGluIGcpe3Q9ZzticmVhayBifXQ9bnVsbH19cj10PT1udWxsP2YhPW51bGw6dCE9PWZ9ayYmKGE9bi5sZW5ndGgpO2Zvcih2YXIgUDthPjA7YS0tKXtLPWEtMTtGPW5bS107Sy09aDtpZighKEY9PW51bGx8fFJiYShGLGQsSyl8fE5iYShGKSYmRi5zaXplPT09MCkpYnJlYWs7UD0hMH1pZihuIT09Ynx8cnx8UCl7aWYoIWsmJiFjKW49QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobiwwLGEpO2Vsc2UgaWYoUHx8cnx8dCluLmxlbmd0aD1hO3QmJm4ucHVzaCh0KX1iPW59cmV0dXJuIGJ9O1xuXy5DZWE9ZnVuY3Rpb24oYSxiKXtfLllhKCgwLF8ubmIpKGEuSGEpKTtiPWIuSGE7YT1hLkhhO3ZhciBjPSgwLF8ubmIpKGIpLGQ9KDAsXy5uYikoYSk7ZD1kJi0xNjc2MTA4OXwoKGM+PjE0JjEwMjN8fDUzNjg3MDkxMikmMTAyMyk8PDE0O3ZhciBlPWIubGVuZ3RoO2EubGVuZ3RoPWU7ZT0oYz0yNTYmYz9iW2UtMV06dm9pZCAwKT9lLTE6ZTtmb3IodmFyIGY9MDtmPGU7ZisrKWFbZl09Xy5KZGEoYltmXSk7aWYoYyl7ZHw9MjU2O2U9YVtlXT17fTtmb3IodmFyIGcgaW4gYyllW2ddPV8uSmRhKGNbZ10pfSgwLF8uU2EpKGEsZCk7WGJhKGEsYiwhMCl9O18uRGVhPWZ1bmN0aW9uKGEsYil7aWYoYj09bnVsbClyZXR1cm4gbmV3IGE7Yj14ZWEoYik7cmV0dXJuIF8udGRhKGEsXy5HYmEoYikpfTtfLkVlYT1mdW5jdGlvbihhLGIpe3JldHVybiBiPT1udWxsP18uSmNhKGEuY29uc3RydWN0b3IpOl8udGRhKGEuY29uc3RydWN0b3IsXy5GYmEoeGVhKGIpKSl9O1xuXy5HZWE9ZnVuY3Rpb24oYSl7dHlwZW9mIGE9PT1cInN0cmluZ1wiJiZGZWEoYSl9O18uSGVhPWZ1bmN0aW9uKGEpe3R5cGVvZiBhPT09XCJzdHJpbmdcIiYmKGEubGVuZ3RoJiZhWzBdPT09XCItXCI/Xy54YihhLnN1YnN0cmluZygxKSk6Xy54YihhKSl9O0tlYT1mdW5jdGlvbihhKXtyZXR1cm4gQXJyYXkuaXNBcnJheShhKT9hWzBdaW5zdGFuY2VvZiBJZWE/YTpbSmVhLGFdOlthLHZvaWQgMF19O18ueWI9ZnVuY3Rpb24oYSxiLGMpe2lmKEFycmF5LmlzQXJyYXkoYikpe3ZhciBkPSgwLF8uVGEpKGIpO2lmKGQmNClyZXR1cm4gYjtmb3IodmFyIGU9MCxmPTA7ZTxiLmxlbmd0aDtlKyspe3ZhciBnPWEoYltlXSk7ZyE9bnVsbCYmKGJbZisrXT1nKX1mPGUmJihiLmxlbmd0aD1mKTtjJiYoKDAsXy5TYSkoYiwoZHw1KSYtMTIyODkpLGQmMiYmT2JqZWN0LmZyZWV6ZShiKSk7cmV0dXJuIGJ9fTtcbkxlYT1mdW5jdGlvbihhLGIpe3JldHVybiBhIGluc3RhbmNlb2YgXy5xP2EuSGE6QXJyYXkuaXNBcnJheShhKT94ZGEoYSxiKTp2b2lkIDB9O2dmYT1mdW5jdGlvbihhKXt2YXIgYj1hW01lYV07aWYoIWIpe3ZhciBjPU5lYShhKSxkPU9lYShhKSxlPWQub2E7Yj1lP2Z1bmN0aW9uKGYsZyl7cmV0dXJuIGUoZixnLGQpfTpmdW5jdGlvbihmLGcpe2Zvcig7UWVhKGcpJiZnLm9hIT00Oyl7dmFyIGg9Zy5DYSxrPWRbaF07aWYoIWspe3ZhciBsPWQuZXh0ZW5zaW9ucztsJiYobD1sW2hdKSYmKGs9ZFtoXT1SZWEobCkpfWsmJmsoZyxmLGgpfHxXYmEoZixkZmEoZykpfWM9PT1lZmF8fGM9PT1mZmF8fGMuQmF8fChmW1piYSgpXT1jKX07YVtNZWFdPWJ9cmV0dXJuIGJ9O1JlYT1mdW5jdGlvbihhKXthPUtlYShhKTt2YXIgYj1hWzBdLm9hO2lmKGE9YVsxXSl7dmFyIGM9Z2ZhKGEpLGQ9T2VhKGEpLlF2YTtyZXR1cm4gZnVuY3Rpb24oZSxmLGcpe3JldHVybiBiKGUsZixnLGQsYyl9fXJldHVybiBifTtcbmlmYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Y1sxXTtpZihkKXt2YXIgZT1kW2hmYV07dmFyIGY9ZT9lLlF2YTp3ZGEoZFswXSk7YVtiXT1lIT1udWxsP2U6ZH1mJiZmPT09dWRhPyhhLmZCYnx8KGEuZkJiPW5ldyBTZXQpKS5hZGQoYik6Y1swXSYmKGEuR0hhfHwoYS5HSGE9bmV3IFNldCkpLmFkZChiKX07amZhPWZ1bmN0aW9uKGEsYil7cmV0dXJuW2EuQmEsIWJ8fGJbMF0+MD92b2lkIDA6Yl19O05lYT1mdW5jdGlvbihhKXt2YXIgYj1hW2hmYV07aWYoYilyZXR1cm4gYjtiPWtmYShhLGFbaGZhXT1uZXcgbGZhLGpmYSxqZmEsaWZhKTtpZighYi5leHRlbnNpb25zJiYhYi5HSGEmJiFiLmZCYil7dmFyIGM9ITAsZDtmb3IoZCBpbiBiKWlzTmFOKGQpfHwoYz0hMSk7Yz8od2RhKGFbMF0pPT09dWRhP2ZmYT9iPWZmYTooYj1uZXcgbGZhLGIuUXZhPXdkYSghMCksYj1mZmE9Yik6Yj1lZmF8fChlZmE9bmV3IGxmYSksYj1hW2hmYV09Yik6Yi5CYT0hMH1yZXR1cm4gYn07XG5tZmE9ZnVuY3Rpb24oYSxiLGMpe2FbYl09Y307XG5rZmE9ZnVuY3Rpb24oYSxiLGMsZCxlKXtlPWU9PT12b2lkIDA/bWZhOmU7Yi5RdmE9d2RhKGFbMF0pO3ZhciBmPTAsZz1hWysrZl07ZyYmZy5jb25zdHJ1Y3Rvcj09PU9iamVjdCYmKGIuZXh0ZW5zaW9ucz1nLGc9YVsrK2ZdLHR5cGVvZiBnPT09XCJmdW5jdGlvblwiJiYoYi5vYT1nLGIuQWE9YVsrK2ZdLGc9YVsrK2ZdKSk7Zm9yKHZhciBoPXt9O0FycmF5LmlzQXJyYXkoZykmJnR5cGVvZiBnWzBdPT09XCJudW1iZXJcIiYmZ1swXT4wOyl7Zm9yKHZhciBrPTA7azxnLmxlbmd0aDtrKyspaFtnW2tdXT1nO2c9YVsrK2ZdfWZvcihrPTE7ZyE9PXZvaWQgMDspe3R5cGVvZiBnPT09XCJudW1iZXJcIiYmKGsrPWcsZz1hWysrZl0pO3ZhciBsPXZvaWQgMDtpZihnIGluc3RhbmNlb2YgSWVhKXZhciBuPWc7ZWxzZSBuPW5mYSxmLS07aWYobi5wc2Mpe2c9YVsrK2ZdO2w9YTt2YXIgcj1mO3R5cGVvZiBnPT1cImZ1bmN0aW9uXCImJihnPWcoKSxsW3JdPWcpO2w9Z31nPWFbKytmXTtyPWsrMTt0eXBlb2YgZz09PVxuXCJudW1iZXJcIiYmZzwwJiYoci09ZyxnPWFbKytmXSk7Zm9yKDtrPHI7aysrKXt2YXIgdD1oW2tdO2UoYixrLGw/ZChuLGwsdCk6YyhuLHQpKX19cmV0dXJuIGJ9O3JmYT1mdW5jdGlvbihhKXt2YXIgYj1hW29mYV07aWYoIWIpe3ZhciBjPV8ucGZhKGEpO2I9ZnVuY3Rpb24oZCxlKXtyZXR1cm4gXy5xZmEoZCxlLGMpfTthW29mYV09Yn1yZXR1cm4gYn07c2ZhPWZ1bmN0aW9uKGEpe3JldHVybiBhLkFhfTt0ZmE9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGU9YS5BYTtyZXR1cm4gZnVuY3Rpb24oZixnLGgpe3JldHVybiBlKGYsZyxoLGR8fChkPV8ucGZhKGIpLlF2YSksY3x8KGM9cmZhKGIpKSl9fTtfLnBmYT1mdW5jdGlvbihhKXt2YXIgYj1hW3VmYV07aWYoYilyZXR1cm4gYjtiPWtmYShhLGFbdWZhXT17fSxzZmEsdGZhKTt2ZmEoYSk7cmV0dXJuIGJ9O3dmYT1mdW5jdGlvbihhLGIpe3ZhciBjPWEub2E7cmV0dXJuIGI/ZnVuY3Rpb24oZCxlLGYpe3JldHVybiBjKGQsZSxmLGIpfTpjfTtcbnhmYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5vYSxlLGY7cmV0dXJuIGZ1bmN0aW9uKGcsaCxrKXtyZXR1cm4gZChnLGgsayxmfHwoZj1PZWEoYikuUXZhKSxlfHwoZT1nZmEoYikpLGMpfX07T2VhPWZ1bmN0aW9uKGEpe3ZhciBiPWFbeWZhXTtpZihiKXJldHVybiBiO05lYShhKTtiPWtmYShhLGFbeWZhXT17fSx3ZmEseGZhKTt2ZmEoYSk7cmV0dXJuIGJ9O3ZmYT1mdW5jdGlvbihhKXt5ZmEgaW4gYSYmaGZhIGluIGEmJnVmYSBpbiBhJiYoYS5sZW5ndGg9MCl9O3pmYT1mdW5jdGlvbihhLGIpe3ZhciBjPWFbYl07aWYoYylyZXR1cm4gYztpZihjPWEuZXh0ZW5zaW9ucylpZihjPWNbYl0pe2M9S2VhKGMpO3ZhciBkPWNbMF0uQWE7aWYoYz1jWzFdKXt2YXIgZT1yZmEoYyksZj1fLnBmYShjKS5RdmE7Yz0oYz1hLkFhKT9jKGYsZSk6ZnVuY3Rpb24oZyxoLGspe3JldHVybiBkKGcsaCxrLGYsZSl9fWVsc2UgYz1kO3JldHVybiBhW2JdPWN9fTtcbl8ucWZhPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9KDAsXy5uYikoYSksZT1KYmEoZCksZj1hLmxlbmd0aCxnPWYrKGQmMjU2Py0xOjApLGg9ZCY1MTI/MTowO2g8ZztoKyspe3ZhciBrPWFbaF07aWYoayE9bnVsbCl7dmFyIGw9aC1lLG49emZhKGMsbCk7biYmbihiLGssbCl9fWlmKGQmMjU2KXtkPWFbZi0xXTtmb3IodmFyIHIgaW4gZCllPStyLE51bWJlci5pc05hTihlKXx8KGY9ZFtyXSxmIT1udWxsJiYoZz16ZmEoYyxlKSkmJmcoYixmLGUpKX1pZihhPVphP2FbWmFdOnZvaWQgMClmb3IoQWZhKGIsYi5vYS5lbmQoKSksYz0wO2M8YS5sZW5ndGg7YysrKUFmYShiLF8ucWJhKGFbY10pfHxuZXcgVWludDhBcnJheSgwKSl9O18uemI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IEllYShhLGIsITEsITEpfTtfLkFiPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBJZWEoYSxiLCEwLCExKX07QmZhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBJZWEoYSxiLCExLCEwKX07XG5fLkNmYT1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgSWVhKGEsYiwhMCwhMCl9O18uQmI9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5vYihhLCgwLF8ubmIpKGEpLGIsYyxkKX07Xy5EZmE9ZnVuY3Rpb24oYSxiLGMsZCl7Yj14ZGEodm9pZCAwLGIpO3ZhciBlPSgwLF8ubmIpKGEpO18uWWEoZSk7dmFyIGY9Xy5XZGEoYSxlLGMsMyxkKTtlPSgwLF8ubmIpKGEpOygwLF8uVGEpKGYpJjQmJihmPVJhKGYpLCgwLF8uU2EpKGYsKCgwLF8uVGEpKGYpfDEpJi0yMDc5KSxfLm9iKGEsZSxjLGYsZCkpO2YucHVzaChiKTtyZXR1cm4gYn07RmZhPWZ1bmN0aW9uKGEsYixjKXtiPV8uZWNhKGIpO2IhPW51bGwmJihfLkNiKGEsYywxKSxfLkVmYShhLm9hLGIpKX07R2ZhPWZ1bmN0aW9uKGEsYixjKXtiPV8uZWNhKGIpO2IhPW51bGwmJihfLkNiKGEsYyw1KSxhPWEub2Esd2JhKGIpLF8uRGIoYSxfLk5hKSl9O18uSWZhPWZ1bmN0aW9uKGEsYixjKXtIZmEoYSxjLF8uRGNhKGIpKX07XG5fLktmYT1mdW5jdGlvbihhLGIsYyl7Yj1fLnliKF8uRGNhLGIsITEpO2lmKGIhPW51bGwpZm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspSmZhKGEsYyxiW2RdKX07Xy5NZmE9ZnVuY3Rpb24oYSxiLGMpe2I9Xy5FY2EoYik7YiE9bnVsbCYmKHR5cGVvZiBiPT09XCJzdHJpbmdcIiYmXy54YihiKSxMZmEoYSxjLGIpKX07TmZhPWZ1bmN0aW9uKGEsYixjKXtiPV8ueWIoXy5FY2EsYiwhMSk7aWYoYiE9bnVsbClmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKylMZmEoYSxjLGJbZF0pfTtRZmE9ZnVuY3Rpb24oYSxiLGMpe2I9Xy55YihfLkVjYSxiLCExKTtpZihiIT1udWxsJiZiLmxlbmd0aCl7Yz1fLk9mYShhLGMpO2Zvcih2YXIgZD0wO2Q8Yi5sZW5ndGg7ZCsrKXt2YXIgZT1iW2RdO2lmKHR5cGVvZiBlPT09XCJudW1iZXJcIil7dmFyIGY9YS5vYTtfLlFhKGUpO18uRWIoZixfLk5hLF8uT2EpfWVsc2UgZT1fLnhiKGUpLF8uRWIoYS5vYSxlLmxvLGUuaGkpfV8uUGZhKGEsYyl9fTtcblNmYT1mdW5jdGlvbihhLGIsYyl7Yj1fLmRiKGIpO2IhPW51bGwmJlJmYShhLGMsYil9O18uVWZhPWZ1bmN0aW9uKGEsYixjKXtUZmEoYSxjLF8uRWNhKGIpKX07Xy5XZmE9ZnVuY3Rpb24oYSxiLGMpe2I9Xy55YihfLkVjYSxiLCExKTtpZihiIT1udWxsJiZiLmxlbmd0aClmb3IoXy5DYihhLGMsMiksXy5GYihhLm9hLGIubGVuZ3RoKjgpLGM9MDtjPGIubGVuZ3RoO2MrKyl7dmFyIGQ9YltjXTtpZih0eXBlb2YgZD09PVwibnVtYmVyXCIpXy5WZmEoYS5vYSxkKTtlbHNle2Q9Xy54YihkKTt2YXIgZT1hLm9hLGY9ZC5oaTtfLkRiKGUsZC5sbyk7Xy5EYihlLGYpfX19O18uWGZhPWZ1bmN0aW9uKGEsYixjKXtiPV8uYmIoYik7YiE9bnVsbCYmKF8uQ2IoYSxjLDApLGEub2Eub2EucHVzaChiPzE6MCkpfTtfLlpmYT1mdW5jdGlvbihhLGIsYyl7Yj1JY2EoYik7YiE9bnVsbCYmWWZhKGEsYyxfLmxhYShiLCExKSl9O1xuXy4kZmE9ZnVuY3Rpb24oYSxiLGMpe2I9Xy55YihJY2EsYiwhMCk7aWYoYiE9bnVsbClmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGU9YSxmPWMsZz1iW2RdO2chPW51bGwmJllmYShlLGYsXy5sYWEoZywhMSkpfX07YWdhPWZ1bmN0aW9uKGEsYixjLGQsZSl7Yj1MZWEoYixkKTtiIT1udWxsJiYoXy5DYihhLGMsMyksZShiLGEpLF8uQ2IoYSxjLDQpKX07Y2dhPWZ1bmN0aW9uKGEsYixjLGQsZSl7YmdhKGEsYyxMZWEoYixkKSxlKX07Xy5kZ2E9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihBcnJheS5pc0FycmF5KGIpKWZvcih2YXIgZj0wO2Y8Yi5sZW5ndGg7ZisrKWNnYShhLGJbZl0sYyxkLGUpfTtlZ2E9ZnVuY3Rpb24oYSxiLGMpe2I9RmNhKGIpO2IhPW51bGwmJllmYShhLGMscmJhKGIpLmJ1ZmZlcil9O2ZnYT1mdW5jdGlvbihhLGIsYyl7Yj1fLmdiKGIpO2IhPW51bGwmJmIhPW51bGwmJihfLkNiKGEsYywwKSxfLkZiKGEub2EsYikpfTtcbl8uaGdhPWZ1bmN0aW9uKGEsYixjKXtnZ2EoYSxjLF8uZGIoYikpfTtfLmpnYT1mdW5jdGlvbihhLGIsYyl7Yj1fLnliKF8uRGNhLGIsITEpO2lmKGIhPW51bGwpZm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspXy5pZ2EoYSxjLGJbZF0pfTtcbl8ubWdhPWZ1bmN0aW9uKGEsYixjKXtpZihhLm9hIT09MSYmYS5vYSE9PTIpcmV0dXJuITE7Yj1fLkdiKGIsYyk7aWYoYS5vYT09Mil7Yz1hLkFhO2E9Xy5IYihhLkFhKS84O3ZhciBkPWMub2EsZT04KmE7aWYoZCtlPmMuQWEpdGhyb3cgRXJyb3IoXCJMYFwiKyhjLkFhLWQpK1wiYFwiK2UpO3ZhciBmPWMuQmE7ZCs9Zi5ieXRlT2Zmc2V0O2tnYT09PXZvaWQgMCYmKGtnYT0obmV3IFVpbnQxNkFycmF5KChuZXcgVWludDhBcnJheShbMSwyXSkpLmJ1ZmZlcikpWzBdPT01MTMpO2lmKGtnYSlmb3IoYy5vYSs9ZSxjPW5ldyBGbG9hdDY0QXJyYXkoZi5idWZmZXIuc2xpY2UoZCxkK2UpKSxhPTA7YTxjLmxlbmd0aDthKyspYi5wdXNoKGNbYV0pO2Vsc2UgZm9yKGU9MDtlPGE7ZSsrKWIucHVzaChsZ2EoYykpfWVsc2UgYi5wdXNoKGxnYShhLkFhKSk7cmV0dXJuITB9O1xub2dhPWZ1bmN0aW9uKGEsYixjKXtpZihhLm9hIT09NSYmYS5vYSE9PTIpcmV0dXJuITE7Yj1fLkdiKGIsYyk7YS5vYT09Mj9fLkliKGEsbmdhLGIpOmIucHVzaChuZ2EoYS5BYSkpO3JldHVybiEwfTtxZ2E9ZnVuY3Rpb24oYSxiLGMpe2lmKGEub2EhPT0wJiZhLm9hIT09MilyZXR1cm4hMTtiPV8uR2IoYixjKTthLm9hPT0yP18uSWIoYSxwZ2EsYik6Yi5wdXNoKHBnYShhLkFhKSk7cmV0dXJuITB9O18uc2dhPWZ1bmN0aW9uKGEsYixjKXtpZihhLm9hIT09MClyZXR1cm4hMTtfLkJiKGIsYyxfLnJnYShhLkFhKSk7cmV0dXJuITB9O3RnYT1mdW5jdGlvbihhLGIsYyl7aWYoYS5vYSE9PTAmJmEub2EhPT0yKXJldHVybiExO2I9Xy5HYihiLGMpO2Eub2E9PTI/Xy5JYihhLF8ucmdhLGIpOmIucHVzaChfLnJnYShhLkFhKSk7cmV0dXJuITB9O1xudmdhPWZ1bmN0aW9uKGEsYixjKXtpZihhLm9hIT09MCYmYS5vYSE9PTIpcmV0dXJuITE7Yj1fLkdiKGIsYyk7YS5vYT09Mj9fLkliKGEsXy51Z2EsYik6Yi5wdXNoKF8udWdhKGEuQWEpKTtyZXR1cm4hMH07d2dhPWZ1bmN0aW9uKGEsYixjKXtpZihhLm9hIT09MCYmYS5vYSE9PTIpcmV0dXJuITE7Yj1fLkdiKGIsYyk7YS5vYT09Mj9fLkliKGEsXy5LYixiKTpiLnB1c2goXy5LYihhLkFhKSk7cmV0dXJuITB9O18ueWdhPWZ1bmN0aW9uKGEsYixjKXtpZihhLm9hIT09MSlyZXR1cm4hMTtfLkJiKGIsYyxfLnhnYShhLkFhKSk7cmV0dXJuITB9O0FnYT1mdW5jdGlvbihhLGIsYyl7aWYoYS5vYSE9PTEmJmEub2EhPT0yKXJldHVybiExO2I9Xy5HYihiLGMpO2Eub2E9PTI/Xy5JYihhLF8uemdhLGIpOmIucHVzaChfLnpnYShhLkFhKSk7cmV0dXJuITB9O1xuXy5DZ2E9ZnVuY3Rpb24oYSxiLGMpe2lmKGEub2EhPT0wJiZhLm9hIT09MilyZXR1cm4hMTtiPV8uR2IoYixjKTthLm9hPT0yP18uSWIoYSxfLkJnYSxiKTpiLnB1c2goXy5CZ2EoYS5BYSkpO3JldHVybiEwfTtFZ2E9ZnVuY3Rpb24oYSxiLGMpe2lmKGEub2EhPT0yKXJldHVybiExO2E9RGdhKGEpO18uQmIoYixjLGE9PT1fLkxhKCk/dm9pZCAwOmEpO3JldHVybiEwfTtGZ2E9ZnVuY3Rpb24oYSxiLGMpe2lmKGEub2EhPT0wJiZhLm9hIT09MilyZXR1cm4hMTtiPV8uR2IoYixjKTthLm9hPT0yP18uSWIoYSxfLkhiLGIpOmIucHVzaChfLkhiKGEuQWEpKTtyZXR1cm4hMH07SGdhPWZ1bmN0aW9uKGEsYixjKXtpZihhLm9hIT09MCYmYS5vYSE9PTIpcmV0dXJuITE7Yj1fLkdiKGIsYyk7YS5vYT09Mj9fLkliKGEsR2dhLGIpOmIucHVzaChfLktiKGEuQWEpKTtyZXR1cm4hMH07Xy5OYj1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgXy5MYihhLGIsMCxfLnYsXy5NYil9O1xuXy5LZ2E9ZnVuY3Rpb24oYSl7dmFyIGI9SWdhO2lmKCFKZ2EoYSkpe3ZhciBjLGQ7Yj0oZD0oYz10eXBlb2YgYj09PVwiZnVuY3Rpb25cIj9iKCk6Yik9PW51bGw/dm9pZCAwOmMuY29uY2F0KFwiXFxuXCIpKSE9bnVsbD9kOlwiXCI7dGhyb3cgRXJyb3IoXCJpYWBcIitiK1wiYFwiK1N0cmluZyhhKSk7fX07Xy5MZ2E9ZnVuY3Rpb24oYSl7dmFyIGI9SWdhO2lmKCFhKXRocm93IEVycm9yKCh0eXBlb2YgYj09PVwiZnVuY3Rpb25cIj9iKCk6Yil8fFN0cmluZyhhKSk7fTtNZ2E9ZnVuY3Rpb24oYSl7Xy5LZ2EoYSk7cmV0dXJuIGF9O18uT2I9ZnVuY3Rpb24oYSl7YS56emU9ITA7cmV0dXJuIGF9O18uTmdhPWZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsP2E6R2RhKGEpfTtfLk9nYT1mdW5jdGlvbihhLGIsYyl7Yz1jPT09dm9pZCAwP1widHlwZS5nb29nbGVhcGlzLmNvbS9cIjpjO2Muc3Vic3RyKC0xKSE9PVwiL1wiJiYoYys9XCIvXCIpO18uUGIoYSwxLGMrYil9O18uUGdhPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBfLkpjYShhKX19O1xuXy5RYj1mdW5jdGlvbihhLGIpe3JldHVybiBmdW5jdGlvbihjLGQpe2lmKFFnYS5sZW5ndGgpe3ZhciBlPVFnYS5wb3AoKTtlLnNldE9wdGlvbnMoZCk7ZS5BYS5pbml0KGMsdm9pZCAwLHZvaWQgMCxkKTtjPWV9ZWxzZSBjPW5ldyBfLlJnYShjLHZvaWQgMCx2b2lkIDAsZCk7dHJ5e3ZhciBmPW5ldyBhLGc9Zi5IYTtnZmEoYikoZyxjKTt2YXIgaD1mfWZpbmFsbHl7Yy5BYS5jbGVhcigpLGMuR2E9LTEsYy5DYT0tMSxjLm9hPS0xLFFnYS5sZW5ndGg8MTAwJiZRZ2EucHVzaChjKX1yZXR1cm4gaH19O18uU2dhPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbihiLGMpe2dmYShhKShiLkhhLGMpO3JldHVybiBifX07Xy5SYj1mdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYil7cmV0dXJuIFRnYShiLGEpfX07Xy5TYj1mdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gVGdhKHRoaXMsYSl9fTtcbl8uVWdhPWZ1bmN0aW9uKGEpe3JldHVybiBfLk9iKGZ1bmN0aW9uKGIpe3JldHVybiBiIGluc3RhbmNlb2YgYSYmXy5WYShiKX0pfTtfLlRiPWZ1bmN0aW9uKGEpe3JldHVybiBfLk9iKGZ1bmN0aW9uKGIpe3JldHVybiBiIGluc3RhbmNlb2YgYSYmIV8uVmEoYil9KX07Xy5WZ2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe2I9SlNPTi5wYXJzZShiKTtpZighQXJyYXkuaXNBcnJheShiKSl0aHJvdyBFcnJvcihcImJhYFwiK18uZmNhKGIpK1wiYFwiK2IpO18uRmJhKGIpO3JldHVybiBuZXcgYShiKX19O18uV2I9ZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3JldHVybiBfLlZiKGEsYil9fTtfLlhiPWZ1bmN0aW9uKGEpe2EmJnR5cGVvZiBhLmRpc3Bvc2U9PVwiZnVuY3Rpb25cIiYmYS5kaXNwb3NlKCl9O1xuXy5XZ2E9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTAsYz1hcmd1bWVudHMubGVuZ3RoO2I8YzsrK2Ipe3ZhciBkPWFyZ3VtZW50c1tiXTtfLkJhKGQpP18uV2dhLmFwcGx5KG51bGwsZCk6Xy5YYihkKX19O18uWWI9ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZCBpbiBhKWIuY2FsbChjLGFbZF0sZCxhKX07Xy5YZ2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz17fSxkO2ZvcihkIGluIGEpYi5jYWxsKHZvaWQgMCxhW2RdLGQsYSkmJihjW2RdPWFbZF0pO3JldHVybiBjfTtfLlpiPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD17fSxlO2ZvcihlIGluIGEpZFtlXT1iLmNhbGwoYyxhW2VdLGUsYSk7cmV0dXJuIGR9O18uWWdhPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjIGluIGEpaWYoYi5jYWxsKHZvaWQgMCxhW2NdLGMsYSkpcmV0dXJuITA7cmV0dXJuITF9O18uWmdhPWZ1bmN0aW9uKGEpe3ZhciBiPTAsYztmb3IoYyBpbiBhKWIrKztyZXR1cm4gYn07Xy4kZ2E9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiIGluIGEpcmV0dXJuIGFbYl19O1xuXy5hYz1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPTAsZDtmb3IoZCBpbiBhKWJbYysrXT1hW2RdO3JldHVybiBifTtfLmJjPWZ1bmN0aW9uKGEpe3ZhciBiPVtdLGM9MCxkO2ZvcihkIGluIGEpYltjKytdPWQ7cmV0dXJuIGJ9O18uYWhhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEhPT1udWxsJiZiIGluIGF9O18uYmhhPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjIGluIGEpaWYoYVtjXT09YilyZXR1cm4hMDtyZXR1cm4hMX07Xy5jaGE9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGMgaW4gYSlpZihiLmNhbGwodm9pZCAwLGFbY10sYyxhKSlyZXR1cm4gY307Xy5jYz1mdW5jdGlvbihhKXtmb3IodmFyIGIgaW4gYSlyZXR1cm4hMTtyZXR1cm4hMH07Xy5kaGE9ZnVuY3Rpb24oYSxiKXtiIGluIGEmJmRlbGV0ZSBhW2JdfTtfLmRjPWZ1bmN0aW9uKGEsYixjKXtpZihhIT09bnVsbCYmYiBpbiBhKXRocm93IEVycm9yKFwibmFgXCIrYik7YVtiXT1jfTtcbl8uZWhhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEhPT1udWxsJiZiIGluIGE/YVtiXTp2b2lkIDB9O18uZmhhPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjIGluIGEpaWYoIShjIGluIGIpfHxhW2NdIT09YltjXSlyZXR1cm4hMTtmb3IodmFyIGQgaW4gYilpZighKGQgaW4gYSkpcmV0dXJuITE7cmV0dXJuITB9O18uZWM9ZnVuY3Rpb24oYSl7dmFyIGI9e30sYztmb3IoYyBpbiBhKWJbY109YVtjXTtyZXR1cm4gYn07Xy5naGE9ZnVuY3Rpb24oYSl7dmFyIGI9e30sYztmb3IoYyBpbiBhKWJbYVtjXV09YztyZXR1cm4gYn07Xy5paGE9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGMsZCxlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl7ZD1hcmd1bWVudHNbZV07Zm9yKGMgaW4gZClhW2NdPWRbY107Zm9yKHZhciBmPTA7ZjxoaGEubGVuZ3RoO2YrKyljPWhoYVtmXSxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZCxjKSYmKGFbY109ZFtjXSl9fTtcbl8uamhhPWZ1bmN0aW9uKGEpe3ZhciBiPWFyZ3VtZW50cy5sZW5ndGg7aWYoYj09MSYmQXJyYXkuaXNBcnJheShhcmd1bWVudHNbMF0pKXJldHVybiBfLmpoYS5hcHBseShudWxsLGFyZ3VtZW50c1swXSk7aWYoYiUyKXRocm93IEVycm9yKFwib2FcIik7Zm9yKHZhciBjPXt9LGQ9MDtkPGI7ZCs9MiljW2FyZ3VtZW50c1tkXV09YXJndW1lbnRzW2QrMV07cmV0dXJuIGN9O18ua2hhPWZ1bmN0aW9uKGEpe3ZhciBiPWFyZ3VtZW50cy5sZW5ndGg7aWYoYj09MSYmQXJyYXkuaXNBcnJheShhcmd1bWVudHNbMF0pKXJldHVybiBfLmtoYS5hcHBseShudWxsLGFyZ3VtZW50c1swXSk7Zm9yKHZhciBjPXt9LGQ9MDtkPGI7ZCsrKWNbYXJndW1lbnRzW2RdXT0hMDtyZXR1cm4gY307bGhhPWZ1bmN0aW9uKGEpe3JldHVybnt2YWx1ZU9mOmF9LnZhbHVlT2YoKX07bWhhPWZ1bmN0aW9uKGEpe3JldHVybiBhLnRvU3RyaW5nKCkuaW5kZXhPZihcImBcIik9PT0tMX07Xy5oYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uZ2MoYSl9O1xuXy5pYz1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5nYylyZXR1cm4gYS5vYTt0aHJvdyBFcnJvcihcInRhXCIpO307b2hhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgbmhhKGZ1bmN0aW9uKGIpe3JldHVybiBiLnN1YnN0cigwLGEubGVuZ3RoKzEpLnRvTG93ZXJDYXNlKCk9PT1hK1wiOlwifSl9O18uamM9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/cGhhOmI7aWYoYSBpbnN0YW5jZW9mIF8uZ2MpcmV0dXJuIGE7Zm9yKHZhciBjPTA7YzxiLmxlbmd0aDsrK2Mpe3ZhciBkPWJbY107aWYoZCBpbnN0YW5jZW9mIG5oYSYmZC5FaihhKSlyZXR1cm4gXy5oYyhhKX19O18ua2M9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/cGhhOmI7cmV0dXJuIF8uamMoYSxiKXx8Xy5xaGF9O18ubWM9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPV8ubGMuYXBwbHkoMSxhcmd1bWVudHMpLGM9W2FbMF1dLGQ9MDtkPGIubGVuZ3RoO2QrKyljLnB1c2goU3RyaW5nKGJbZF0pKSxjLnB1c2goYVtkKzFdKTtyZXR1cm4gXy5oYyhjLmpvaW4oXCJcIikpfTtcbl8uc2hhPWZ1bmN0aW9uKGEpe2lmKCFyaGEpe2E6e3ZhciBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO3RyeXtiLmhyZWY9YX1jYXRjaChjKXthPXZvaWQgMDticmVhayBhfWE9Yi5wcm90b2NvbDthPWE9PT1cIjpcInx8YT09PVwiXCI/XCJodHRwczpcIjphfXJldHVybiBhfXRyeXtiPW5ldyBVUkwoYSl9Y2F0Y2goYyl7cmV0dXJuXCJodHRwczpcIn1yZXR1cm4gYi5wcm90b2NvbH07dWhhPWZ1bmN0aW9uKGEpe2lmKHRoYS50ZXN0KGEpKXJldHVybiBhfTtfLnZoYT1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uZ2M/Xy5pYyhhKTp1aGEoYSl9O1xuRWhhPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLmdjKXJldHVybid1cmwoXCInK2EudG9TdHJpbmcoKS5yZXBsYWNlKC88L2csXCIlM2NcIikucmVwbGFjZSgvW1xcXFxcIl0vZyxcIlxcXFwkJlwiKSsnXCIpJztpZihhIGluc3RhbmNlb2Ygd2hhKWE9Xy54aGEoYSk7ZWxzZXthPVN0cmluZyhhKTt2YXIgYj1hLnJlcGxhY2UoeWhhLFwiJDFcIikucmVwbGFjZSh5aGEsXCIkMVwiKS5yZXBsYWNlKHpoYSxcInVybFwiKTtpZihBaGEudGVzdChiKSl7aWYoYj0hQmhhLnRlc3QoYSkpe2Zvcih2YXIgYz1iPSEwLGQ9MDtkPGEubGVuZ3RoO2QrKyl7dmFyIGU9YS5jaGFyQXQoZCk7ZT09XCInXCImJmM/Yj0hYjplPT0nXCInJiZiJiYoYz0hYyl9Yj1iJiZjJiZDaGEoYSl9YT1iP0RoYShhKTpcInpDbG9zdXJlelwifWVsc2UgYT1cInpDbG9zdXJlelwifWlmKC9bezt9XS8udGVzdChhKSl0aHJvdyBuZXcgXy5hYWEoXCJWYWx1ZSBkb2VzIG5vdCBhbGxvdyBbezt9XSwgZ290OiAlcy5cIixbYV0pO3JldHVybiBhfTtcbkNoYT1mdW5jdGlvbihhKXtmb3IodmFyIGI9ITAsYz0vXlstX2EtekEtWjAtOV0kLyxkPTA7ZDxhLmxlbmd0aDtkKyspe3ZhciBlPWEuY2hhckF0KGQpO2lmKGU9PVwiXVwiKXtpZihiKXJldHVybiExO2I9ITB9ZWxzZSBpZihlPT1cIltcIil7aWYoIWIpcmV0dXJuITE7Yj0hMX1lbHNlIGlmKCFiJiYhYy50ZXN0KGUpKXJldHVybiExfXJldHVybiBifTtEaGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVwbGFjZSh6aGEsZnVuY3Rpb24oYixjLGQsZSl7dmFyIGY9XCJcIjtkPWQucmVwbGFjZSgvXihbJ1wiXSkoLiopXFwxJC8sZnVuY3Rpb24oZyxoLGspe2Y9aDtyZXR1cm4ga30pO2I9Xy5rYyhkKS50b1N0cmluZygpO3JldHVybiBjK2YrYitmK2V9KX07Xy5wYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IEZoYShhWzBdLnRvTG93ZXJDYXNlKCkpfTtIaGE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uR2hhKGEpfTtcbl8uS2hhPWZ1bmN0aW9uKGEpe3ZhciBiPUloYSgpO3JldHVybiBuZXcgXy5KaGEoYj9iLmNyZWF0ZVNjcmlwdChhKTphKX07Xy5xYz1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5KaGEpcmV0dXJuIGEub2E7dGhyb3cgRXJyb3IoXCJ0YVwiKTt9O18uc2M9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/e306YjtpZihhIGluc3RhbmNlb2YgXy5yYylyZXR1cm4gYTthPUxoYShTdHJpbmcoYSkpO2IudEJlJiYoYT1hLnJlcGxhY2UoLyhefFtcXHJcXG5cXHQgXSkgL2csXCIkMSYjMTYwO1wiKSk7Yi5TY2ImJihhPWEucmVwbGFjZSgvKFxcclxcbnxcXG58XFxyKS9nLFwiPGJyPlwiKSk7Yi51QmUmJihhPWEucmVwbGFjZSgvKFxcdCspL2csJzxzcGFuIHN0eWxlPVwid2hpdGUtc3BhY2U6cHJlXCI+JDE8L3NwYW4+JykpO3JldHVybiBfLncoYSl9O1xuTGhhPWZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UoLyYvZyxcIiZhbXA7XCIpLnJlcGxhY2UoLzwvZyxcIiZsdDtcIikucmVwbGFjZSgvPi9nLFwiJmd0O1wiKS5yZXBsYWNlKC9cIi9nLFwiJnF1b3Q7XCIpLnJlcGxhY2UoLycvZyxcIiZhcG9zO1wiKX07TWhhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uc2MoXCJcIik7cmV0dXJuIF8udyhhLm1hcChmdW5jdGlvbihjKXtyZXR1cm4gXy50YyhfLnNjKGMpKX0pLmpvaW4oXy50YyhiKS50b1N0cmluZygpKSl9O18uUGhhPWZ1bmN0aW9uKGEpe2lmKCFOaGEudGVzdChhKSl0aHJvdyBFcnJvcihcInRhXCIpO2lmKE9oYS5pbmRleE9mKGEudG9VcHBlckNhc2UoKSkhPT0tMSl0aHJvdyBFcnJvcihcInRhXCIpO307XG5fLlNoYT1mdW5jdGlvbihhLGIsYyl7Xy5QaGEoYSk7dmFyIGQ9XCI8XCIrYTtiJiYoZCs9UWhhKGIpKTtBcnJheS5pc0FycmF5KGMpfHwoYz1jPT09dm9pZCAwP1tdOltjXSk7UmhhLmluZGV4T2YoYS50b1VwcGVyQ2FzZSgpKSE9PS0xP2QrPVwiPlwiOihiPU1oYShjLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIF8ucmM/ZTpfLnNjKFN0cmluZyhlKSl9KSksZCs9XCI+XCIrYi50b1N0cmluZygpK1wiPC9cIithK1wiPlwiKTtyZXR1cm4gXy53KGQpfTtcblFoYT1mdW5jdGlvbihhKXtmb3IodmFyIGI9XCJcIixjPU9iamVjdC5rZXlzKGEpLGQ9MDtkPGMubGVuZ3RoO2QrKyl7dmFyIGU9Y1tkXSxmPWFbZV07aWYoIU5oYS50ZXN0KGUpKXRocm93IEVycm9yKFwidGFcIik7aWYoZiE9PXZvaWQgMCYmZiE9PW51bGwpe2lmKC9eb24vaS50ZXN0KGUpKXRocm93IEVycm9yKFwidGFcIik7VGhhLmluZGV4T2YoZS50b0xvd2VyQ2FzZSgpKSE9PS0xJiYoZj1mIGluc3RhbmNlb2YgXy5nYz9mLnRvU3RyaW5nKCk6dWhhKFN0cmluZyhmKSl8fFwiYWJvdXQ6aW52YWxpZCN6Q2xvc3VyZXpcIik7Zj1lKyc9XCInK18uc2MoU3RyaW5nKGYpKSsnXCInO2IrPVwiIFwiK2Z9fXJldHVybiBifTtVaGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmNyZWF0ZVJhbmdlKCk7Yy5zZWxlY3ROb2RlKGIuYm9keSk7YT1fLncoYSk7cmV0dXJuIGMuY3JlYXRlQ29udGV4dHVhbEZyYWdtZW50KF8udGMoYSkpfTtcblZoYT1mdW5jdGlvbihhKXthPWEubm9kZU5hbWU7cmV0dXJuIHR5cGVvZiBhPT09XCJzdHJpbmdcIj9hOlwiRk9STVwifTtXaGE9ZnVuY3Rpb24oYSl7YT1hLm5vZGVUeXBlO3JldHVybiBhPT09MXx8dHlwZW9mIGEhPT1cIm51bWJlclwifTtYaGE9ZnVuY3Rpb24oYSl7dHJ5e3JldHVybiBuZXcgVVJMKGEsd2luZG93LmRvY3VtZW50LmJhc2VVUkkpfWNhdGNoKGIpe3JldHVybiBuZXcgVVJMKFwiYWJvdXQ6aW52YWxpZFwiKX19O1loYT1mdW5jdGlvbihhLGIsYyl7YS5zZXRBdHRyaWJ1dGUoYixjKX07WmhhPWZ1bmN0aW9uKGEpe3JldHVybiBhLmdXYS5tYXAoZnVuY3Rpb24oYil7dmFyIGM9Yi5HYztyZXR1cm5cIlwiK2IudXJsKyhjP1wiIFwiK2M6XCJcIil9KS5qb2luKFwiICwgXCIpfTtfLnVjPWZ1bmN0aW9uKGEpe3JldHVybiBfLiRoYS5YRihhKX07XG5haWE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5zcGxpdCgvXFw/fCMvKSxjPS9cXD8vLnRlc3QoYSk/XCI/XCIrYlsxXTpcIlwiO3JldHVybntwYXRoOmJbMF0scGFyYW1zOmMsaGFzaDovIy8udGVzdChhKT9cIiNcIisoYz9iWzJdOmJbMV0pOlwiXCJ9fTtfLndjPWZ1bmN0aW9uKGEpe3ZhciBiPV8ubGMuYXBwbHkoMSxhcmd1bWVudHMpO2lmKGIubGVuZ3RoPT09MClyZXR1cm4gXy52YyhhWzBdKTtmb3IodmFyIGM9YVswXSxkPTA7ZDxiLmxlbmd0aDtkKyspYys9ZW5jb2RlVVJJQ29tcG9uZW50KGJbZF0pK2FbZCsxXTtyZXR1cm4gXy52YyhjKX07XG5fLnpjPWZ1bmN0aW9uKGEsYil7YT1haWEoXy54YyhhKS50b1N0cmluZygpKTt2YXIgYz1hLnBhcmFtcyxkPWMubGVuZ3RoP1wiJlwiOlwiP1wiO2IuZm9yRWFjaChmdW5jdGlvbihlLGYpe2U9ZSBpbnN0YW5jZW9mIEFycmF5P2U6W2VdO2Zvcih2YXIgZz0wO2c8ZS5sZW5ndGg7ZysrKXt2YXIgaD1lW2ddO2ghPT1udWxsJiZoIT09dm9pZCAwJiYoYys9ZCtlbmNvZGVVUklDb21wb25lbnQoZikrXCI9XCIrZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhoKSksZD1cIiZcIil9fSk7cmV0dXJuIF8udmMoYS5wYXRoK2MrYS5oYXNoKX07Xy5BYz1mdW5jdGlvbihhLGIpe2I9Xy52aGEoYik7YiE9PXZvaWQgMCYmKGEuaHJlZj1iKX07Xy5CYz1mdW5jdGlvbihhLGIpe2Eubm9kZVR5cGU9PT0xJiZfLmJpYShhKTthLmlubmVySFRNTD1fLnRjKGIpfTtcbl8uY2lhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1iPT09XCJiZWZvcmViZWdpblwifHxiPT09XCJhZnRlcmVuZFwiP2EucGFyZW50RWxlbWVudDphO2QhPT1udWxsJiZfLmJpYShkKTthLmluc2VydEFkamFjZW50SFRNTChiLF8udGMoYykpfTtfLkNjPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGEubGVuZ3RoPT09MCl0aHJvdyBFcnJvcihcInRhXCIpO2E9YS5tYXAoZnVuY3Rpb24oZil7aWYoZiBpbnN0YW5jZW9mIEZoYSlmPWYub2E7ZWxzZSB0aHJvdyBFcnJvcihcInRhXCIpO3JldHVybiBmfSk7dmFyIGU9Yy50b0xvd2VyQ2FzZSgpO2lmKGEuZXZlcnkoZnVuY3Rpb24oZil7cmV0dXJuIGUuaW5kZXhPZihmKSE9PTB9KSl0aHJvdyBFcnJvcihcIkFhYFwiK2MpO2Iuc2V0QXR0cmlidXRlKGMsZCl9O18uYmlhPWZ1bmN0aW9uKGEpe2E9YS50YWdOYW1lO2lmKGE9PT1cIlNDUklQVFwifHxhPT09XCJTVFlMRVwiKXRocm93IEVycm9yKFwidGFcIik7fTtcbl8uRGM9ZnVuY3Rpb24oYSxiKXt0aHJvdyBFcnJvcihiPT09dm9pZCAwP1widW5leHBlY3RlZCB2YWx1ZSBcIithK1wiIVwiOmIpO307Xy5FYz1mdW5jdGlvbihhLGIpe2Euc3JjPV8ueGMoYikudG9TdHJpbmcoKX07Xy5laWE9ZnVuY3Rpb24oYSxiLGMpe2lmKGIgaW5zdGFuY2VvZiBfLkZjKWEuaHJlZj1fLnhjKGIpLnRvU3RyaW5nKCksYS5yZWw9YztlbHNle2lmKGRpYS5pbmRleE9mKGMpPT09LTEpdGhyb3cgRXJyb3IoXCJCYWBcIitjKTtiPV8udmhhKGIpO2IhPT12b2lkIDAmJihhLmhyZWY9YixhLnJlbD1jKX19O18uSGM9ZnVuY3Rpb24oYSxiLGMsZCl7Yj1fLnZoYShiKTtyZXR1cm4gYiE9PXZvaWQgMD9hLm9wZW4oYixjLGQpOm51bGx9O18uZ2lhPWZ1bmN0aW9uKGEpe3JldHVybiBfLmZpYShcInNjcmlwdFwiLGEpfTtcbl8uZmlhPWZ1bmN0aW9uKGEsYil7dmFyIGMsZDtyZXR1cm4oYj0oZD0oYz1iLmRvY3VtZW50KS5xdWVyeVNlbGVjdG9yKT09bnVsbD92b2lkIDA6ZC5jYWxsKGMsYStcIltub25jZV1cIikpP2Iubm9uY2V8fGIuZ2V0QXR0cmlidXRlKFwibm9uY2VcIil8fFwiXCI6XCJcIn07aGlhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uZ2lhKGEub3duZXJEb2N1bWVudCYmYS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx3aW5kb3cpO2ImJmEuc2V0QXR0cmlidXRlKFwibm9uY2VcIixiKX07Xy5paWE9ZnVuY3Rpb24oYSxiKXthLnRleHRDb250ZW50PV8uR2hhKGIpfTtfLmppYT1mdW5jdGlvbihhLGIpe2I9Xy5xYyhiKTt2YXIgYz1hLmV2YWwoYik7Yz09PWImJihjPWEuZXZhbChiLnRvU3RyaW5nKCkpKTtyZXR1cm4gY307Xy5JYz1mdW5jdGlvbihhLGIpe2I9Xy52aGEoYik7YiE9PXZvaWQgMCYmKGEuaHJlZj1iKX07Xy5raWE9ZnVuY3Rpb24oYSxiKXtiPV8udmhhKGIpO2IhPT12b2lkIDAmJmEucmVwbGFjZShiKX07XG5fLkpjPWZ1bmN0aW9uKCl7cmV0dXJuIGxpYXx8Xy5iYS5sb2NhdGlvbn07Xy5taWE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5KYygpLnByb3RvY29sK1wiLy9cIitfLkpjKCkuaG9zdH07Xy5vaWE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5LY3x8Xy5uaWF9O3BpYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W107YSYmZC5wdXNoKFtcInp4XCIsRGF0ZS5ub3coKS50b1N0cmluZygpXSk7Xy5iYS5fY3NoaWQmJmImJmQucHVzaChbXCJjc2hpZFwiLF8uYmEuX2NzaGlkXSk7YT1jKCk7YSE9bnVsbCYmZC5wdXNoKFtcIm9waVwiLGEudG9TdHJpbmcoKV0pO3JldHVybiBkfTtfLnFpYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9XCJcIjthPXBpYShhLGIsYyk7Zm9yKGI9MDtiPGEubGVuZ3RoO2IrKyl7aWYoYj09PTB8fGI+MClkKz1cIiZcIjtkKz1hW2JdWzBdK1wiPVwiK2FbYl1bMV19cmV0dXJuIGR9O1xucmlhPWZ1bmN0aW9uKCl7cmV0dXJuIHdpbmRvdy5nb29nbGUhPT12b2lkIDAmJndpbmRvdy5nb29nbGUua09QSSE9PXZvaWQgMCYmd2luZG93Lmdvb2dsZS5rT1BJIT09MD93aW5kb3cuZ29vZ2xlLmtPUEk6bnVsbH07Xy5MYz1mdW5jdGlvbihhKXtmb3IodmFyIGI7YSYmKCFhLmdldEF0dHJpYnV0ZXx8IShiPWEuZ2V0QXR0cmlidXRlKFwiZWlkXCIpKSk7KWE9YS5wYXJlbnROb2RlO3JldHVybiBifHxzaWF9O18udGlhPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1udWxsO2EmJighYS5nZXRBdHRyaWJ1dGV8fCEoYj1hLmdldEF0dHJpYnV0ZShcImxlaWRcIikpKTspYT1hLnBhcmVudE5vZGU7cmV0dXJuIGJ9O1xuXy5PYz1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPV8udWlhO2Y9Zj09PXZvaWQgMD9yaWE6ZjtjfHwoYz12aWEoYSxiLGYsZCxlKSk7aWYoYz13aWEoYykpe2E9bmV3IEltYWdlO3ZhciBnPXhpYS5sZW5ndGg7eGlhW2ddPWE7YS5vbmVycm9yPWEub25sb2FkPWEub25hYm9ydD1mdW5jdGlvbigpe2RlbGV0ZSB4aWFbZ119O2Euc3JjPWN9fTt3aWE9ZnVuY3Rpb24oYSl7L15odHRwOi9pLnRlc3QoYSkmJndpbmRvdy5sb2NhdGlvbi5wcm90b2NvbD09PVwiaHR0cHM6XCImJihnb29nbGUubWwmJmdvb2dsZS5tbChFcnJvcihcIkZhXCIpLCExLHtzcmM6YSxnbG1tOjF9KSxhPVwiXCIpO3JldHVybiBhfTtcbnZpYT1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPVwiXCI7Yi5zZWFyY2goXCImZWk9XCIpPT09LTEmJihmPVwiJmVpPVwiK18uTGMoZCksYi5zZWFyY2goXCImbGVpPVwiKT09PS0xJiYoZD1fLnRpYShkKSkmJihmKz1cIiZsZWk9XCIrZCkpO2M9Xy5xaWEoITAsYi5zZWFyY2goXCImY3NoaWQ9XCIpPT09LTEmJmEhPT1cInNsaFwiLGMpO3JldHVyblwiL1wiKyhlfHxcImdlbl8yMDRcIikrXCI/YXR5cD1pJmN0PVwiK1N0cmluZyhhKStcIiZjYWQ9XCIrKGIrZitjKX07Xy55aWE9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/d2luZG93OmI7Yj1iPT09dm9pZCAwP3dpbmRvdzpiO3JldHVybihiPWIuV0laX2dsb2JhbF9kYXRhKSYmYSBpbiBiP2JbYV06bnVsbH07Xy5SYz1mdW5jdGlvbihhKXt2YXIgYj1iPT09dm9pZCAwP3dpbmRvdzpiO3JldHVybiBuZXcgXy5RYyhhLF8ueWlhKGEsYikpfTtcbl8uemlhPWZ1bmN0aW9uKCl7dmFyIGE9Xy5SYyhcIlM2bFpsXCIpO3JldHVybiBhLlBiKCkmJl8uU2MoYSwwKSE9PTA/Xy5TYyhhLDApOm51bGx9O18udWlhPWZ1bmN0aW9uKCl7dmFyIGE9Xy56aWEoKTtyZXR1cm4gYT9hOihhPXJpYSgpKT9hOm51bGx9O18uQWlhPWZ1bmN0aW9uKGEsYil7aWYoYil7Yj1fLlBhKGIpO2Zvcih2YXIgYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpe3ZhciBkPV8uUGEoYy52YWx1ZSk7Yz1kLm5leHQoKS52YWx1ZTtkPWQubmV4dCgpLnZhbHVlO2Euc2V0KGMsZCl9fX07Xy5CaWE9ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93LnBlcmZvcm1hbmNlJiZ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiYmd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZX07XG5DaWE9ZnVuY3Rpb24oKXtpZih0eXBlb2YgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZT09PVwiZnVuY3Rpb25cIil7dmFyIGE9cGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZShcIm5hdmlnYXRpb25cIik7aWYoYS5sZW5ndGghPT0wJiZhWzBdKXJldHVybiBhWzBdfX07Xy5EaWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1DaWEoKTtpZihjKXt2YXIgZD1jLnRyYW5zZmVyU2l6ZTt2YXIgZT1jLnR5cGV9ZD09PXZvaWQgMCYmKGQ9LTEpO2E9XCImdHQ9XCIrYStcIiZlaT1cIitnb29nbGUua0VJO2ErPVwiJnRycz1cIitkO2IhPT12b2lkIDAmJihhKz1cIiZiZnQ9XCIrYik7ZSYmKGErPVwiJm50PVwiK2UpO18uT2MoXCJiYWNrYnV0dG9uXCIsYSl9O1xuRWlhPWZ1bmN0aW9uKGEsYil7YT1fLlBhKGEpO2Zvcih2YXIgYz1hLm5leHQoKTshYy5kb25lO2M9YS5uZXh0KCkpe2M9Yy52YWx1ZTtpZihjLnJlYXNvbnMhPT1udWxsJiZjLnJlYXNvbnMubGVuZ3RoKXt2YXIgZD1bXTtmb3IodmFyIGU9Xy5QYShjLnJlYXNvbnMpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKWY9Zi52YWx1ZSxmLnJlYXNvbiYmZC5wdXNoKGYucmVhc29uKTtkPWQuam9pbihcIixcIil9ZWxzZSBkPVwiQ3Jvc3NPcmlnaW5cIjtlPWMudXJsP1widXJsOlwiK2MudXJsOmMuc3JjP1wic3JjOlwiK2Muc3JjOmMuaWQ/XCJpZDpcIitjLmlkOmMubmFtZT9cIm5hbWU6XCIrYy5uYW1lOlwibm9DaGlsZEluZm9cIjtiIT09XCJcIiYmKGIrPVwiLlwiKTtiKz1lK1wiLXwtXCIrZDtjLmNoaWxkcmVuJiZjLmNoaWxkcmVuLmxlbmd0aD4wJiYoYj1FaWEoYy5jaGlsZHJlbixiKSl9cmV0dXJuIGJ9O1xuSGlhPWZ1bmN0aW9uKCl7RmlhPV8uSmMoKS5ocmVmO0dpYT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7R2lhPUZpYT1udWxsfSwxMDApfTtJaWE9ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuKGI9YS5kZXRhaWxzKSE9bnVsbD9iOm51bGx9O0ppYT1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IFJlZ0V4cChcIiUoPzpcIitlbmNvZGVVUklDb21wb25lbnQoYSkuc3Vic3RyKDEpLnJlcGxhY2UoLyUvZyxcInxcIikrXCIpXCIsXCJnXCIpfTtfLk1pYT1mdW5jdGlvbihhLGIsYyxkKXtiPWI9PT12b2lkIDA/bmV3IE1hcDpiO18uS2lhKGIsYz09PXZvaWQgMD8hMDpjLGQ9PT12b2lkIDA/ITA6ZCk7cmV0dXJuIGE9Xy5MaWEoYSxiKX07Xy5LaWE9ZnVuY3Rpb24oYSxiLGMpe2I9cGlhKGIsYyxfLnVpYSk7Zm9yKGM9MDtjPGIubGVuZ3RoO2MrKylhLnNldChiW2NdWzBdLGJbY11bMV0pfTtcbl8uTGlhPWZ1bmN0aW9uKGEsYil7YT1uZXcgXy5UYyhhKTtiPV8uUGEoYik7Zm9yKHZhciBjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSl7dmFyIGQ9Xy5QYShjLnZhbHVlKTtjPWQubmV4dCgpLnZhbHVlO2Q9ZC5uZXh0KCkudmFsdWU7YS5zZWFyY2hQYXJhbXMuc2V0KGMsZCl9cmV0dXJuIGE9YS50b1N0cmluZygpfTtfLk9pYT1mdW5jdGlvbihhKXt2YXIgYj1fLlVjKGEpO3JldHVybiBiP18uTmlhKF8uVmMoYikpOmEuZ2V0QXR0cmlidXRlP2EuZ2V0QXR0cmlidXRlKFwiZWlkXCIpOm51bGx9O18uVWM9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/Xy5XYyhhLFwidmVkXCIpfHxcIlwiOlwiXCJ9O18uVmM9ZnVuY3Rpb24oYSl7aWYoIWF8fGEuY2hhckF0KDApIT1cIjBcIiYmYS5jaGFyQXQoMCkhPVwiMlwiKXJldHVybiBudWxsO2E9YS5zdWJzdHJpbmcoMSk7dHJ5e3JldHVybigwLF8uUGlhKShhKX1jYXRjaChiKXtyZXR1cm4gbnVsbH19O1xuXy5OaWE9ZnVuY3Rpb24oYSl7aWYoYSlpZihhPV8uWGMoYSxfLlljLDEzKSl7dmFyIGI9Xy5YYyhhLF8uWmMsMSksYz0rKF8uJGMoYiwxKXx8MCksZD1jJTFFNjtjPShjLWQpLzFFNjt2YXIgZT0oXy5hZChiLDIpfHwwKS0xNjc3NzIxNjA7ZTwwJiYoZT1RaWErZSk7Yj1fLmFkKGIsMyl8fDA7dmFyIGY9bmV3IFJpYTtTaWEoZixjKTtfLkZiKGYsZCk7Xy5GYihmLGUpO18uRmIoZixiKTtkPWYuZW5kKCk7ZD1fLkphKGQsNCk7Xy5kZChhLDIpJiYoYT1fLiRjKGEsMiksZCs9XCI6XCIrYSk7YT1kfWVsc2UgYT1udWxsO2Vsc2UgYT1udWxsO3JldHVybiBhfTtWaWE9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IFNldCxjPVtdO2E9Xy5QYShhKTtmb3IodmFyIGQ9YS5uZXh0KCk7IWQuZG9uZTtkPWEubmV4dCgpKShkPV8uVGlhKGQudmFsdWUpKSYmIWIuaGFzKGQpJiYoYi5hZGQoZCksKGQ9Xy5VaWEuZ2V0KGQpKSYmYy5wdXNoKGQpKTtyZXR1cm4gY307XG5fLlRpYT1mdW5jdGlvbihhKXt2YXIgYj1fLmVkKGEpO2E9Xy5nZChiLFwia1wiKTtiPV8uZ2QoYixcImNiXCIpO3JldHVybiBiPyhiPWIubWF0Y2goL2xvYWRlZChfZ3xfaCk/KF9cXGQpKy8pKT9hK1wiLlwiK2JbMF06XCJcIjpcIlwifTtfLmhkPWZ1bmN0aW9uKGEpe3JldHVybiBfLkphKGEsMil9O1xuXy5pZD1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD97fTpiO3ZhciBjPWIueGc9PT12b2lkIDA/e306Yi54Zzt2YXIgZD1iLkJ2PT09dm9pZCAwPzA6Yi5Cdjt2YXIgZT1iLmxldmVsPT09dm9pZCAwP3ZvaWQgMDpiLmxldmVsO2I9Yi5UaWE9PT12b2lkIDA/ITE6Yi5UaWE7aWYoZT09PXZvaWQgMHx8YilfLldpYShhKT9lPTM6Xy5YaWEoYSkmJihlPTIpO2U9PT12b2lkIDAmJihlPTIpO2M9Y3x8e307IWF8fGEgaW5zdGFuY2VvZiBFcnJvcnx8KGMuY29uc3RydWN0b3JfbmFtZT1hLmNvbnN0cnVjdG9yLm5hbWUsYy5mcm9tX3dpbmRvdz1TdHJpbmcoYSBpbnN0YW5jZW9mIE9iamVjdCkpO2U9PT0wJiZZaWEoYSxjKTtiPVppYShhKTtiPVZpYShiKTtiPV8uUGEoYik7Zm9yKHZhciBmPWIubmV4dCgpOyFmLmRvbmU7Zj1iLm5leHQoKSlmPWYudmFsdWUsZi5vbmVycm9yJiYoZSE9PTMmJihlPTIpLGYub25lcnJvcihhLm1lc3NhZ2UsYS5maWxlTmFtZXx8XCJcIiwwLDAsYSkpO09iamVjdC5hc3NpZ24oYyxcbklpYShhKSk7aWYoKGU9PT0xfHxfLiRpYSgpKSYmYWphKGEsYyxlKSl0cnl7YmphKGZ1bmN0aW9uKGcpe2cubG9nKGEsYyxkLGUpfSl9Y2F0Y2goZyl7fX07WmlhPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBTZXQ7aWYoYS5zdGFjayl7YT1hLnN0YWNrLnRvU3RyaW5nKCkubWF0Y2hBbGwoL2h0dHBzOlxcL1xcL1teOl0rL2cpO2E9Xy5QYShhKTtmb3IodmFyIGM9YS5uZXh0KCk7IWMuZG9uZTtjPWEubmV4dCgpKWM9Yy52YWx1ZSxjamEoY1swXSkmJmIuYWRkKGNbMF0pfXJldHVybiBBcnJheS5mcm9tKGIpfTtcbl8uV2lhPWZ1bmN0aW9uKGEpe2lmKChhLl9sZXZlbHx8MCk9PT0zKXJldHVybiEwO3ZhciBiLGM7cmV0dXJuKChiPWEuc3RhY2spPT1udWxsPzA6Yi5pbmNsdWRlcyhcIi1leHRlbnNpb246Ly9cIikpfHwoKGM9YS5maWxlTmFtZSk9PW51bGw/MDpjLmluY2x1ZGVzKFwiLWV4dGVuc2lvbjovXCIpKT8hMDphLm1lc3NhZ2U9PT1cIlNjcmlwdCBlcnJvclwifHxhLm1lc3NhZ2U9PT1cIlNjcmlwdCBlcnJvci5cInx8YS5tZXNzYWdlPT09XCJFcnJvcjogU2NyaXB0IGVycm9yXCJ8fGEubWVzc2FnZT09PVwiRXJyb3I6IFNjcmlwdCBlcnJvci5cInx8YS5tZXNzYWdlPT09XCJjYW4ndCBhY2Nlc3MgZGVhZCBvYmplY3RcIn07XG5fLlhpYT1mdW5jdGlvbihhKXtyZXR1cm4hZGphKGEpfHwhYS5tZXNzYWdlfHwoYS5fbGV2ZWx8fDApPT09Mnx8YSBpbnN0YW5jZW9mIF8ua2Q/ITA6YSBpbnN0YW5jZW9mIF8ubGQ/YS5hWmE9PT0yfHxhLmFaYT09PTExOnR5cGVvZiBhLm1lc3NhZ2UhPT1cInN0cmluZ1wifHxhLm1lc3NhZ2U9PT1cIkZhaWxlZCB0byBmZXRjaFwifHxFcnJvcihcInBiXCIpLm1lc3NhZ2U9PT1hLm1lc3NhZ2V8fFwiQXN5bmMgcmVxdWVzdCBlcnJvclwiPT09YS5tZXNzYWdlfHxFcnJvcihcInFiXCIpLm1lc3NhZ2U9PT1hLm1lc3NhZ2V8fFwiQXN5bmMgc2VydmVyIGVycm9yXCI9PT1hLm1lc3NhZ2V8fFwicmVxdWlyZSBpcyBub3QgZGVmaW5lZFwiPT09YS5tZXNzYWdlfHxhLm1lc3NhZ2Uuc3RhcnRzV2l0aChcIlJlcXVlc3QgRmFpbGVkLCBzdGF0dXM9XCIpfHxhLm1lc3NhZ2Uuc3RhcnRzV2l0aChcIkpzbG9hZGVyIGVycm9yIChjb2RlICNcIil8fGEubWVzc2FnZT09PVwiTG9hZCBmYWlsZWRcInx8YS5tZXNzYWdlLnN0YXJ0c1dpdGgoXCJTaGFyZSBjYW5jZWxlZFwiKXx8XG5hLm1lc3NhZ2U9PT1cIkFib3J0IGR1ZSB0byBjYW5jZWxsYXRpb24gb2Ygc2hhcmUuXCJ8fGEubWVzc2FnZT09PVwiVGhlIHJlcXVlc3QgaXMgbm90IGFsbG93ZWQgYnkgdGhlIHVzZXIgYWdlbnQgb3IgdGhlIHBsYXRmb3JtIGluIHRoZSBjdXJyZW50IGNvbnRleHQsIHBvc3NpYmx5IGJlY2F1c2UgdGhlIHVzZXIgZGVuaWVkIHBlcm1pc3Npb24uXCJ8fGEubWVzc2FnZS5pbmNsdWRlcyhcIlRoZSBvcGVyYXRpb24gd2FzIGFib3J0ZWQuXCIpfHxhLm1lc3NhZ2U9PT1cIkZhaWxlZCB0byBleGVjdXRlICdzdGFydCcgb24gJ1NwZWVjaFJlY29nbml0aW9uJzogcmVjb2duaXRpb24gaGFzIGFscmVhZHkgc3RhcnRlZC5cInx8YS5tZXNzYWdlPT09XCJFcnJvciBsb2FkaW5nIHNjcmlwdFwifHxhLm1lc3NhZ2U9PT1cIlJlc2l6ZU9ic2VydmVyIGxvb3AgY29tcGxldGVkIHdpdGggdW5kZWxpdmVyZWQgbm90aWZpY2F0aW9ucy5cInx8YS5tZXNzYWdlLnN0YXJ0c1dpdGgoXCJUaGUgcGxheSgpIHJlcXVlc3RcIil8fFxuYS5tZXNzYWdlLnN0YXJ0c1dpdGgoXCJUaGUgcGxheSByZXF1ZXN0XCIpfHxhLm1lc3NhZ2U9PT1FcnJvcihcInJiXCIpLm1lc3NhZ2V8fGEubWVzc2FnZS5zdGFydHNXaXRoKCdDb3VsZCBub3QgbG9hZCBcIicpfHxhLm1lc3NhZ2UuZW5kc1dpdGgoXCJEZWZlcnJlZCB3YXMgY2FuY2VsZWRcIil8fGEubWVzc2FnZS5lbmRzV2l0aChcIlR4WldjY1wiKXx8YS5tZXNzYWdlLmVuZHNXaXRoKFwiZmY4U1diXCIpfHxhLm1lc3NhZ2Uuc3RhcnRzV2l0aChcIkZhaWxlZCB0byByZXRyaWV2ZSBkZXBlbmRlbmNpZXMgb2Ygc2VydmljZVwiKSYmYS5tZXNzYWdlLmVuZHNXaXRoKFwiZCBpcyBub3QgYSBmdW5jdGlvblwiKXx8dHlwZW9mIGEubWVzc2FnZT09PVwic3RyaW5nXCImJihhLm1lc3NhZ2UuaW5jbHVkZXMoXCJpbml0IGlzIG5vdCBkZWZpbmVkXCIpfHxhLm1lc3NhZ2UuaW5jbHVkZXMoXCJDYW4ndCBmaW5kIHZhcmlhYmxlOiBpbml0XCIpKXx8YS5tZXNzYWdlPT09RXJyb3IoXCJzYlwiKS5tZXNzYWdlfHxhLm1lc3NhZ2U9PT1cblwidW5zdXBwb3J0ZWRfZm9ybWF0OiBUaGUgaW1hZ2UgdXJsIGlzIG5vdCBzdXBwb3J0ZWQuXCJ8fGEubWVzc2FnZT09PVwiQ2Fubm90IHJlYWQgcHJvcGVydGllcyBvZiBudWxsIChyZWFkaW5nICdwdXNoSWQnKVwifHxhLm1lc3NhZ2U9PT1cIm51bGwgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnYi5wdXNoSWQnKVwiPyEwOiExfTtkamE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJihhIGluc3RhbmNlb2YgRXJyb3J8fGEuaGFzT3duUHJvcGVydHkoXCJtZXNzYWdlXCIpKX07WWlhPWZ1bmN0aW9uKGEsYil7aWYoYS5tZXNzYWdlLnN0YXJ0c1dpdGgoXCJGYWlsZWQgdG8gcmV0cmlldmUgZGVwZW5kZW5jaWVzXCIpJiZhLm1lc3NhZ2UuaW5jbHVkZXMoXCIgLT4gXCIpKXt2YXIgYz1hLm1lc3NhZ2UubGFzdEluZGV4T2YoXCJgXCIpO2EubWVzc2FnZT1hLm1lc3NhZ2Uuc3Vic3RyaW5nKDAsYyk7Yi5hZGRpdGlvbmFsX2luZm89YS5tZXNzYWdlLnN1YnN0cmluZyhjKzEpfX07XG5lamE9ZnVuY3Rpb24oYSxiKXtpZihhIT09dm9pZCAwKXt2YXIgYz0wO2RqYShhKXx8KGE9RXJyb3IoXCJ0YmBcIitiK1wiYFwiK2EpLGM9Mik7Xy5pZChhLHt4Zzp7dXI6Yn0sbGV2ZWw6YyxUaWE6ITB9KX19O18ubmQ9ZnVuY3Rpb24oYSl7dmFyIGI9Yj09PXZvaWQgMD9mamE6Yjt2YXIgYz1fLkVhKGEpLGQ9ZnVuY3Rpb24oZil7Zj1fLlBhKGYpO2YubmV4dCgpO2Y9Xy5namEoZik7cmV0dXJuIGIoYyxmKX0sZT1mdW5jdGlvbihmKXt2YXIgZz1fLlBhKGYpO2Y9Zy5uZXh0KCkudmFsdWU7Zz1fLmdqYShnKTtyZXR1cm4gYS5hcHBseShmLGcpfTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZj1fLmxjLmFwcGx5KDAsYXJndW1lbnRzKSxnPXRoaXN8fF8uYmEsaD1oamEuZ2V0KGcpO2h8fChoPXt9LGhqYS5zZXQoZyxoKSk7cmV0dXJuIGlqYShoLFt0aGlzXS5jb25jYXQoXy5tZChmKSksZSxkKX19O18ucGQ9ZnVuY3Rpb24oKXtqamF8fChqamE9bmV3IF8ua2phKTtyZXR1cm4gamphfTtfLmxqYT1mdW5jdGlvbihhKXtkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpfTtcbl8ubWphPWZ1bmN0aW9uKGEsYil7aWYoXy5KYygpLmhyZWYubWF0Y2goL1smP11nc2M9MS8pKXt2YXIgYz1fLmJhLmdhcGksZD1jLmlmcmFtZXMuZ2V0Q29udGV4dCgpLmdldFBhcmVudElmcmFtZSgpO2lmKGQhPW51bGwpe2EubWF0Y2goXCJeL1teL10rXCIpJiYoYT1fLm1pYSgpK2EpO2Quc2VuZChcIm5hdmlnYXRlXCIse2hyZWY6YX0sdm9pZCAwLGMuaWZyYW1lcy5DUk9TU19PUklHSU5fSUZSQU1FU19GSUxURVIpO3JldHVybn19Yj9fLkpjKCkucmVwbGFjZShhKTpfLkpjKCkuaHJlZj1hfTtfLnFkPWZ1bmN0aW9uKGEsYil7dHJ5eyhuZXcgUmVnRXhwKFwiXihcIitfLm1pYSgpK1wiKT8vKHVybHxhY2xrKVxcXFw/LiomcmN0PWooJnwkKVwiKSkudGVzdChhKT8obmphfHwobmphPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJpZnJhbWVcIiksbmphLnN0eWxlLmRpc3BsYXk9XCJub25lXCIsXy5samEobmphKSksZ29vZ2xlLnI9MSxuamEuc3JjPWEpOl8ubWphKGEsYil9Y2F0Y2goYyl7Xy5tamEoYSxiKX19O1xuXy5wamE9ZnVuY3Rpb24oYSxiLGMpe18ucWQoXy5vamEoYSxjKSxiKX07Xy5xamE9ZnVuY3Rpb24oKXt2YXIgYT1fLkpjKCksYj1hLmhhc2g/YS5ocmVmOlwiXCI7aWYoYil7dmFyIGM9Yi5pbmRleE9mKFwiI1wiKTtiPWIuc3Vic3RyKGMrMSl9dmFyIGQ9YS5zZWFyY2g/YS5ocmVmLnN1YnN0cihhLmhyZWYuaW5kZXhPZihcIj9cIikrMSkucmVwbGFjZSgvIy4qLyxcIlwiKTpcIlwiO2M9YiYmYi5tYXRjaCgvKF58JilxPS8pO2I9KGM/YjpkKS5yZXBsYWNlKC8oXnwmKShmcHx0Y2gpPVteJl0qL2csXCJcIikucmVwbGFjZSgvXiYvLFwiXCIpO3JldHVybihjP1wiL3NlYXJjaFwiOmEucGF0aG5hbWUpKyhiP1wiP1wiK2I6XCJcIil9O1xuXy5vamE9ZnVuY3Rpb24oYSxiKXt2YXIgYz17fTtpZighYiYmKGI9Xy5xamEoKS5tYXRjaCgvWz8mXVtcXHdcXC5cXC1+XSs9KFteJl0qKS9nKSkpZm9yKHZhciBkPTAsZTtlPWJbZCsrXTspZT1lLm1hdGNoKC8oW1xcd1xcLlxcLX5dKz8pPSguKikvKSxjW2VbMV1dPWVbMl07Zm9yKHZhciBmIGluIGEpYS5oYXNPd25Qcm9wZXJ0eShmKSYmKGI9YVtmXSxiPT1udWxsP2RlbGV0ZSBjW2ZdOmNbZl09Yi50b1N0cmluZygpLnJlcGxhY2UoL1smI10vZyxlbmNvZGVVUklDb21wb25lbnQpKTthPVwiL3NlYXJjaD9cIjtmPSEwO2Zvcih2YXIgZyBpbiBjKWMuaGFzT3duUHJvcGVydHkoZykmJihhPWEuY29uY2F0KChmP1wiXCI6XCImXCIpK2crXCI9XCIrY1tnXSksZj0hMSk7cmV0dXJuIGF9O18uc2phPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwP3t9OmI7Xy5yamEoe0FjOmIuQWMsWnA6Yi5acCx1c2VyQWN0aW9uOmIudXNlckFjdGlvbixJdmI6YSxkYXRhOmIuZGF0YX0pfTtcbl8ucmphPWZ1bmN0aW9uKGEpe3ZhciBiPWEuQWM7dmFyIGM9YS5acDt2YXIgZD1hLnVzZXJBY3Rpb247dmFyIGU9YS5JdmI7YT1hLmRhdGE7dmFyIGY9Yj9nb29nbGUuZ2V0RUkoYik6Z29vZ2xlLmtFSSxnPV8udGphKGYpO2ImJihiPV8uVWMoYiksZy5NYyhcInZlZFwiLGIpLF8udWphKGIpKTtjIT09dm9pZCAwJiZnLk1jKFwiaWN0eFwiLFN0cmluZyhjKSk7ZCYmZy5NYyhcInVhY3RcIixTdHJpbmcoZCkpO2lmKGUpe2M9bmV3IF8ucmQ7Zm9yKGQ9MDtiPWVbZCsrXTspe3ZhciBoPV8uVWMoYi5lbGVtZW50KTtfLnZqYShjLGIudHlwZSxoLGIuZWxlbWVudCk7Xy51amEoaCxiLnR5cGUpfWMuQWE9ZjtnLk1jKFwidmV0XCIsXy5zZChjKSl9Z29vZ2xlLmtCTCYmZy5NYyhcImJsXCIsZ29vZ2xlLmtCTCk7Z29vZ2xlLnNuJiZnLk1jKFwic1wiLGdvb2dsZS5zbik7aWYoYSlmb3IodmFyIGsgaW4gYSlnLk1jKGssYVtrXSk7Zy5sb2coKX07XG5fLnhqYT1mdW5jdGlvbihhLGIsYyxkKXtzd2l0Y2goYSl7Y2FzZSBcIlN0b3JhZ2UgbWVjaGFuaXNtOiBTdG9yYWdlIGRpc2FibGVkXCI6cmV0dXJuO2Nhc2Ugd2phOnJldHVybjtjYXNlIFwiU3RvcmFnZSBtZWNoYW5pc206IFF1b3RhIGV4Y2VlZGVkXCI6cmV0dXJufWE9dHlwZW9mIGE9PT1cInN0cmluZ1wiP0Vycm9yKGEpOmE7Yz17b3A6YixrOmN9O2I9PT1cInNldFwiJiYoYy52PWQpO2dvb2dsZS5tbChhLCExLGMpfTtfLnlqYT1mdW5jdGlvbigpe3RyeXtpZighXy50ZC5pc0VuYWJsZWQoKSlyZXR1cm4hMTtpZighXy50ZC5pc0VtcHR5KCkpcmV0dXJuITA7Xy50ZC5zZXQoXCJURVNUQ09PS0lFU0VOQUJMRURcIixcIjFcIix7ZDY6NjB9KTtpZihfLnRkLmdldChcIlRFU1RDT09LSUVTRU5BQkxFRFwiKSE9XCIxXCIpcmV0dXJuITE7Xy50ZC5yZW1vdmUoXCJURVNUQ09PS0lFU0VOQUJMRURcIik7cmV0dXJuITB9Y2F0Y2goYSl7cmV0dXJuITF9fTtBamE9ZnVuY3Rpb24oYSxiLGMpe3pqYShhLGIsYyl9O1xuRGphPWZ1bmN0aW9uKGEsYil7dmFyIGM9QmphKGEpLGQ9ZnVuY3Rpb24oZil7Yy5zZXQoXCJpXCIsbmV3IENqYSh7cHJpb3JpdHk6XCIqXCIsRzE6TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJ9LGYpKX0sZT1mdW5jdGlvbigpe3ZhciBmPWMuZ2V0KFwiaVwiKTtmPT09bnVsbCYmZCgwKTt2YXIgZz0wO2YhPW51bGwmJihnPWYuZ2V0VmFsdWUoKSk7cmV0dXJuIGd9O3JldHVybiBmdW5jdGlvbigpe3pqYT1iO3ZhciBmPWUoKTtkKGYrMSk7emphPWZ1bmN0aW9uKCl7fTtyZXR1cm4gZn19O0JqYT1mdW5jdGlvbihhKXthIGluIEVqYXx8KEVqYVthXT1GamEoXCJfY1wiLGEsQWphLCExKSk7cmV0dXJuIEVqYVthXX07RmphPWZ1bmN0aW9uKGEsYixjLGQpe18uR2phKGIpfHwoYj1cIm5cIik7aWYoYj09XCJuXCIpYj1uZXcgSGphO2Vsc2V7aWYoYiBpbiBJamEpYj1JamFbYl07ZWxzZXt2YXIgZT1uZXcgSmphKEtqYShiKSxiKTtiPUlqYVtiXT1lfWI9bmV3IExqYShjLGIpO2I9bmV3IE1qYShhLGIpO2R8fChiPW5ldyBIamEoYikpfXJldHVybiBifTtcbl8uTmphPWZ1bmN0aW9uKCl7Z29vZ2xlLmMudShcInhlXCIsXCJsb2FkXCIpfTtfLk9qYT1mdW5jdGlvbigpe2dvb2dsZS5qc2xtPTU7Zm9yKHZhciBhIGluIGdvb2dsZS55KWlmKGdvb2dsZS55Lmhhc093blByb3BlcnR5KGEpKXt2YXIgYj1fLlBhKGdvb2dsZS55W2FdKSxjPWIubmV4dCgpLnZhbHVlO2lmKGI9Yi5uZXh0KCkudmFsdWUpdHJ5e2IuYXBwbHkoYyl9Y2F0Y2goZCl7Xy5pZChkLHtsZXZlbDowfSl9fWdvb2dsZS55PXt9O2dvb2dsZS5qc2xtPTZ9O1BqYT1mdW5jdGlvbihhLGIpe2ImJmIuYXBwbHkoYSk7cmV0dXJuITF9O18uUWphPWZ1bmN0aW9uKCl7Xy51ZChcImdvb2dsZS54XCIsUGphKX07VGphPWZ1bmN0aW9uKGEpe18uUmphPV8udmQoKTtfLlNqYT9fLlNqYS5wcm9taXNlLnRoZW4oZnVuY3Rpb24oKXthKCk7Xy5SamEucmVzb2x2ZSgpfSk6KDAsXy53ZCkoZnVuY3Rpb24oKXthKCk7Xy5SamEucmVzb2x2ZSgpfSl9O1ZqYT1mdW5jdGlvbihhKXtfLnhkP2EoXy54ZCk6VWphLnB1c2goYSl9O1xuXy55ZD1mdW5jdGlvbigpeyFfLnhkJiZfLldqYSYmXy5YamEoKDAsXy5XamEpKCkpO3JldHVybiBfLnhkfTtfLlhqYT1mdW5jdGlvbihhKXtfLnhkPWE7VWphLmZvckVhY2goZnVuY3Rpb24oYil7YihfLnhkKX0pO1VqYT1bXX07Xy54PWZ1bmN0aW9uKGEpe18ueGQmJllqYShhKX07Xy55PWZ1bmN0aW9uKCl7Xy54ZCYmWmphKF8ueGQpfTskamE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubGVuZ3RoJiZhLmNoYXJBdCgwKT09XCIjXCI/YS5zdWJzdHIoMSk6YX07ZWthPWZ1bmN0aW9uKGEsYixjKXtjJiYoYj1ha2EoYmthLGMsZnVuY3Rpb24oKXtyZXR1cm4gYn0pKTtiPWFrYShia2EsYSxmdW5jdGlvbigpe3JldHVybiBifSk7Y2thLnNldChhLFN0cmluZyhiKSk7KGE9Yi5vYSkmJmFrYShka2EsYSxmdW5jdGlvbigpe3JldHVybiBifSk7cmV0dXJuIGJ9O2FrYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5nZXQoYik7ZHx8KGQ9YyhiKSxhLnNldChiLGQpKTtyZXR1cm4gZH07XG5na2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGFrYShma2EsYS50b1N0cmluZygpLGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBTZXR9KX07emQ9ZnVuY3Rpb24oYSxiKXtna2EoYikuYWRkKGEpfTtoa2E9ZnVuY3Rpb24oKXt2YXIgYT1fLmJhLl9GX2pzVXJsP1wiXCI6XCJiYXNlLWpzXCI7dmFyIGI9XCJcIjt2YXIgYz1fLmJhLl9GX2pzVXJsO2lmKHR5cGVvZiBkb2N1bWVudCE9PVwidW5kZWZpbmVkXCImJmRvY3VtZW50JiZkb2N1bWVudC5nZXRFbGVtZW50QnlJZCYmKGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYSkpKXt2YXIgZD1hLnRhZ05hbWUudG9VcHBlckNhc2UoKTtpZihkPT1cIlNDUklQVFwifHxkPT1cIkxJTktcIiliPWEuc3JjP2Euc3JjOmEuZ2V0QXR0cmlidXRlKFwiaHJlZlwiKX1pZihjJiZiKXtpZihjIT1iKXRocm93IEVycm9yKFwiT2JgXCIrYytcImBcIitiKTtiPWN9ZWxzZSBiPWN8fGI7aWYoIWNqYShiKSl0aHJvdyBFcnJvcihcIlBiXCIpO3JldHVybiBifTtcbl8uQWQ9ZnVuY3Rpb24oYSxiKXtiLmhhc093blByb3BlcnR5KFwiZGlzcGxheU5hbWVcIil8fChiLmRpc3BsYXlOYW1lPWEudG9TdHJpbmcoKSk7Yltpa2FdPWF9O2prYT1mdW5jdGlvbihhKXthPWFbaWthXTtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uQ2Q/YTpudWxsfTtra2E9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2Q9ZD09PXZvaWQgMD8hMTpkO2Y9Zj09PXZvaWQgMD8hMTpmO2I9bmV3IF8uQ2QoYSxiLGMsZD09PXZvaWQgMD8hMTpkLGY9PT12b2lkIDA/ITE6Zik7cmV0dXJuIGVrYShhLGIsZSl9O18uRmQ9ZnVuY3Rpb24oYSxiLGMsZCxlKXthPWtrYShhLGIsZD9bZF06dm9pZCAwLHZvaWQgMCx2b2lkIDAsbGthKTtlJiZta2EoZSkuYWRkKGEpO0RkLmdldEluc3RhbmNlKCkucmVnaXN0ZXIoYSxuZXcgbmthKGEsZ2thKGEpLGM/Z2thKGMpOm5ldyBTZXQsbWthKGEpLGM/bWthKGMpOm5ldyBTZXQsZCkpO3JldHVybiBhfTtcbl8uR2Q9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBra2EoYSxhLGIsdm9pZCAwLGMpfTtwa2E9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IF8uSGQ7b2thKGEsZnVuY3Rpb24oYyl7Yi5jYWxsYmFjayhjKX0sZnVuY3Rpb24oYyl7Yi5SRChjKX0pO3JldHVybiBifTtfLnJrYT1mdW5jdGlvbihhLGIpe3ZhciBjPXFrYVthXTtjfHwoYz1xa2FbYV09W10pO2MucHVzaChiKX07dGthPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLklkKXJldHVybiBhLm9hO2lmKGEgaW5zdGFuY2VvZiBfLkNkKXJldHVybiBhO2lmKHR5cGVvZiBhPT09XCJmdW5jdGlvblwiKXJldHVybiBza2EoXy5KZC5nZXRJbnN0YW5jZSgpLGEpfTt2a2E9ZnVuY3Rpb24oYSl7cmV0dXJuKGE9dGthKGEpKT91a2EoRGQuZ2V0SW5zdGFuY2UoKSxhKTp2b2lkIDB9O18ud2thPWZ1bmN0aW9uKGEpe3JldHVybiBhW18uYmEuU3ltYm9sLml0ZXJhdG9yXSgpfTtcbnlrYT1mdW5jdGlvbigpe3ZhciBhO18uS2QoXy54a2EsXy55ZCgpLm9hKS5hZGRDYWxsYmFjayhmdW5jdGlvbihiKXthPWJ9KTtyZXR1cm4gTWdhKGEpfTt6a2E9ZnVuY3Rpb24oKXtyZXR1cm4gXy5MZD9fLk1kKF8uTGQuTGkoKSk6Xy5PZC5sb2NhdGlvbi5wYXRobmFtZStfLk9kLmxvY2F0aW9uLnNlYXJjaCtfLk9kLmxvY2F0aW9uLmhhc2h9O18uQWthPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRhKGEpJiZ0eXBlb2YgYS51cmw9PT1cInN0cmluZ1wiJiZfLkRhKGEubWV0YWRhdGEpJiZ0eXBlb2YgYS5tZXRhZGF0YS5lbnRyeUlkPT09XCJudW1iZXJcIiYmdHlwZW9mIGEubWV0YWRhdGEucHVzaElkPT09XCJudW1iZXJcIiYmdHlwZW9mIGEubWV0YWRhdGEuc3RhY2tJZD09PVwibnVtYmVyXCImJnR5cGVvZiBhLm1ldGFkYXRhLnN0YWNrSW5kZXg9PT1cIm51bWJlclwiP2E6bnVsbH07XG5fLkNrYT1mdW5jdGlvbigpe3ZhciBhPUJrYSgpO3JldHVybihhPV8uQWthKGEpKSYmXy5EYShhLnBsdWdpblN0YXRlKT9hOntzdGF0ZTpudWxsLHVybDp6a2EoKSxwbHVnaW5TdGF0ZTp7fX19O18uRGthPWZ1bmN0aW9uKGEpe3ZhciBiPWEubWV0YWRhdGE7YT17c3RhdGU6YS5zdGF0ZSx1cmw6YS51cmx9O2ImJihhLm1ldGFkYXRhPWIpO3JldHVybiBPYmplY3QuZnJlZXplP09iamVjdC5mcmVlemUoYSk6YX07Xy5SZD1mdW5jdGlvbigpe3JldHVybiBFa2EmJlFkP18uRGthKFFkKTpfLkRrYShfLkNrYSgpKX07R2thPWZ1bmN0aW9uKCl7cmV0dXJuIF8uRmthKCkuZ2V0VW5pcXVlSWQoXCJISVNUT1JZX0hFQURfSURcIil9O0xrYT1mdW5jdGlvbihhKXt2YXIgYj1Ia2E7SGthPSExO2J8fElrYSsrPT09MCYmSmthLnVybD09PV8uQ2thKCkudXJsJiZhIT09bnVsbCYmYS5ZZy5zdGF0ZT09PW51bGx8fChFa2E9ITEsS2thKCkpfTtcbk9rYT1mdW5jdGlvbihhKXthPV8uTWthKGEuWWcubmV3VVJMfHx6a2EoKSl8fFwiXCI7TmthLmhhcyhhKT9Oa2EuZGVsZXRlKGEpOktrYSgpfTtcbktrYT1mdW5jdGlvbihhKXt2YXIgYj0oYT1hPT09dm9pZCAwPyExOmEpJiZFa2EmJlFkP1FkOl8uQ2thKCksYz1fLkRrYShiKSxkPVBrYSxlPV8uRGthKEprYSksZj1mdW5jdGlvbihnLGgsayl7aWYoZ29vZ2xlLmVyZCYmZ29vZ2xlLmVyZC5qc3ImJmgmJiFjLm1ldGFkYXRhKXt2YXIgbD1fLlNkKCk7bC5NYyhcImN0XCIsXCJoc3Q6dWNcIik7bC5NYyhcInVybFwiLGMudXJsKTtsLk1jKFwicHJldlVybFwiLGUudXJsKTtsLmxvZygpfWw9ZS51cmwmJmMudXJsJiZlLnVybD09PWMudXJsO2g9e3VzZXJJbml0aWF0ZWQ6aCxmSWQ6ITF9O2shPT12b2lkIDAmJihoLnNvdXJjZT1rKTtrPV8uUGEoXy5Ra2EpO2Zvcih2YXIgbj1rLm5leHQoKTshbi5kb25lO249ay5uZXh0KCkpaWYobj1uLnZhbHVlLCFnLmhhcyhuKSl7dmFyIHI9Xy5Sa2EuZ2V0KG4pO2lmKCFsfHxyJiZyLkd5ZCl0cnl7bihjLGUsaCl9Y2F0Y2godCl7U2thLnRocm93RXhjZXB0aW9uKHQpfX19O2F8fFRrYShiLnBsdWdpblN0YXRlKTtKa2E9XG5iO2Q/ZC5zdGF0dXMhPT0wP18uVGQoZC5maW5pc2hlZCxmdW5jdGlvbigpe2YobmV3IFNldCwhMCl9KTooXy5UZChkLmZpbmlzaGVkLGZ1bmN0aW9uKCl7ZihkLmhZLCExLGQuc291cmNlKX0pLGQucmVzb2x2ZShiKSxkLnN0YXR1cz0xKTpmKG5ldyBTZXQsITApfTtUa2E9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPUprYS5wbHVnaW5TdGF0ZSxjPV8uUGEoXy5Va2Eua2V5cygpKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7ZD1kLnZhbHVlO3ZhciBlPV8uVWthLmdldChkKTtpZihlLmxpc3RlbmVyKXRyeXtlLmxpc3RlbmVyKGFbZF0sYltkXSl9Y2F0Y2goZil7U2thLnRocm93RXhjZXB0aW9uKGYpfX19O18uVmthPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwPyExOmI7Xy5Ra2EuYWRkKGEpO2I/Xy5Sa2Euc2V0KGEse0d5ZDpifSk6Xy5Sa2EuZGVsZXRlKGEpfTtcblhrYT1mdW5jdGlvbihhLGIsYyxkLGUsZixnLGgpe2gmJlBrYSYmUGthLnN0YXR1cz09PTAmJihQa2EucmVqZWN0KG5ldyBfLlVkKFwiUHJlZW1wdGVkIGJ5IGEgc3luY2hyb25vdXMgY2FsbFwiKSksUGthLnN0YXR1cz0yKTt2YXIgaz1Fa2EmJlFkP1FkOl8uQ2thKCk7aWYoZD1kKGspKXt2YXIgbD1fLnZkKCksbj17cmVzb2x2ZTpsLnJlc29sdmUscmVqZWN0OmwucmVqZWN0LGZpbmlzaGVkOmEsc3RhdHVzOjAsaFk6Zixzb3VyY2U6Z307Xy5UZChsLnByb21pc2UsZnVuY3Rpb24oKXtXa2EoYSk7UGthPT09biYmKFBrYT1udWxsKX0pO2wucHJvbWlzZS50aGVuKGZ1bmN0aW9uKHQpe2Uoayx0LHIpP2IoXy5Ea2EodCkpOmMoRXJyb3IoXCJaYlwiKSl9LGZ1bmN0aW9uKHQpe2ModCl9KTtQa2E9bjt2YXIgcj1kKCk7Xy5PZC5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7UGthPT09biYmbi5zdGF0dXM9PT0wJiYobC5yZWplY3QobmV3IF8uVWQoXCJUaW1lZCBvdXRcIikpLG4uc3RhdHVzPTIpfSwxMDApfWVsc2UgV2thKGEpLFxuYyhuZXcgXy5VZChcIkVycm9yIGdldHRpbmcgb3BlcmF0aW9uXCIpKX07V2thPWZ1bmN0aW9uKGEpe18uVGQoYSxmdW5jdGlvbigpe1lrYSghMSl9KTthLnpyKGZ1bmN0aW9uKCl7fSl9OyRrYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Yz09PXZvaWQgMD97fTpjO2M9ZC5PWj09PXZvaWQgMD8hMDpkLk9aO3ZhciBlPWQuaFk9PT12b2lkIDA/bmV3IFNldDpkLmhZO3ZhciBmPWQuc291cmNlPT09dm9pZCAwP3ZvaWQgMDpkLnNvdXJjZTtkPV8udmQoKTt2YXIgZz1kLnByb21pc2UsaD1kLnJlc29sdmUsaz1kLnJlamVjdDtkPWZ1bmN0aW9uKGwpe1hrYShnLGgsayxhLGIsZSxmLGwpfTtjP1prYS51bnNoaWZ0KGQpOlprYS5wdXNoKGQpO1lrYShjKTtyZXR1cm4gZ307WWthPWZ1bmN0aW9uKGEpeyFaa2EubGVuZ3RofHxQa2EmJiFhfHxaa2Euc2hpZnQoKShhKX07XG5ibGE9ZnVuY3Rpb24oYSxiLGMsZCl7Yj1fLk1kKGIpO2lmKGMubWV0YWRhdGEpe3ZhciBlPWMubWV0YWRhdGE7dmFyIGY9ZS5wdXNoSWQ7dmFyIGc9ZS5zdGFja0lkO2U9ZS5zdGFja0luZGV4O2R8fChmPXZvaWQgMCxlPWMubWV0YWRhdGEuc3RhY2tJbmRleCsxKX1jPXtlbnRyeUlkOkdrYSgpLHB1c2hJZDpmfHxHa2EoKSxzdGFja0lkOmd8fEdrYSgpLHN0YWNrSW5kZXg6ZXx8MH07YWxhKCkuUEtifHwoYj1uZXcgXy5WZChiKSxiLm9hLnNldChcInNwZlwiLFwiXCIrYy5wdXNoSWQpLGI9Yi50b1N0cmluZygpKTtyZXR1cm57c3RhdGU6YSx1cmw6YixtZXRhZGF0YTpjLHBsdWdpblN0YXRlOnt9fX07XG5lbGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gZnVuY3Rpb24oKXtpZih0eXBlb2YgYT09PVwiZnVuY3Rpb25cIil7dmFyIGM9YSgpO3ZhciBkPWMuc3RhdGU7dmFyIGU9Yy51cmw7Yz1jLnJlcGxhY2V9ZWxzZSBkPWEuc3RhdGUsZT1hLnVybCxjPWEucmVwbGFjZTtkPWJsYShkLGUsYixjKTtlPV8uUGEoXy5Va2Eua2V5cygpKTtmb3IodmFyIGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKXtmPWYudmFsdWU7dmFyIGc9Xy5Va2EuZ2V0KGYpLGg9Yi5wbHVnaW5TdGF0ZVtmXTtkLnBsdWdpblN0YXRlW2ZdPWcuZ2V0U3RhdGUoXy5Ea2EoZCksXy5Ea2EoYiksaCxjKX1pZihFa2Epe2lmKGMmJl8uY2xhKGQudXJsKT09PV8uY2xhKHprYSgpKSYmXy5XZCg2LGQudXJsKT09PV8uV2QoNix6a2EoKSkpcmV0dXJuIFFkPWQsUWQubWV0YWRhdGEuc3ludGhldGljPSEwLGM9XCIjXCIrKF8uTWthKGQudXJsKXx8XCJcIiksemthKCkhPT1kLnVybCYmKEhrYT0hMCxfLmtpYShfLk9kLmxvY2F0aW9uLF8ua2MoYykpLFxuSGthJiZfLk9kLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtIa2E9ITF9LDApKSxLa2EoITApLGQ7RWthPSExO1FkJiYoZGVsZXRlIFFkLm1ldGFkYXRhLnN5bnRoZXRpYyxkbGEoUWQsITApLEprYT1RZCxRZD12b2lkIDApfWN8fF8uQ2thKCkubWV0YWRhdGF8fChlPWJsYShiLnN0YXRlLGIudXJsLGIsITApLGRsYShlLCEwKSxKa2E9ZSk7ZGxhKGQsYyk7S2thKCEwKTtyZXR1cm4gZH19O18uZ2xhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yj09PXZvaWQgMD97fTpiO2I9Yy5PWjt2YXIgZD1jLmhZO2M9Yy5zb3VyY2U7ZmxhKys7cmV0dXJuICRrYShmdW5jdGlvbihlKXtyZXR1cm4gZWxhKGEsZSl9LGZ1bmN0aW9uKGUsZixnKXtyZXR1cm4gZi51cmw9PT1nLnVybH0se09aOmIsaFk6ZCxzb3VyY2U6Y30pfTtfLmhsYT1mdW5jdGlvbihhLGIsYyl7Yz1jPT09dm9pZCAwP3t9OmM7cmV0dXJuIF8uZ2xhKHtzdGF0ZTphLHVybDpiLHJlcGxhY2U6ITB9LHtPWjpjLk9aLGhZOmMuaFksc291cmNlOmMuc291cmNlfSl9O1xuamxhPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbigpe18uTGQ/YT09PS0xP18uTGQuYmFjaygpOmE9PT0xP18uTGQuZm9yd2FyZCgpOl8uTGQuZ28oYSk6KDAsXy5pbGEpKGEpO3JldHVybiBhfX07a2xhPWZ1bmN0aW9uKGEsYixjKXthPWEubWV0YWRhdGE7Yj1iLm1ldGFkYXRhO3JldHVybiBhJiZiJiZhLnN0YWNrSWQ9PT1iLnN0YWNrSWQ/YS5zdGFja0luZGV4K2M9PT1iLnN0YWNrSW5kZXg6ITB9O18ubGxhPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwP3t9OmI7cmV0dXJuICRrYShmdW5jdGlvbihjKXt2YXIgZDt0eXBlb2YgYT09PVwibnVtYmVyXCI/ZD1hOmQ9YShjKTtyZXR1cm4gZCE9PW51bGw/amxhKGQpOm51bGx9LGtsYSx7T1o6Yi5PWixoWTpiLmhZLHNvdXJjZTpiLnNvdXJjZX0pfTtcbmRsYT1mdW5jdGlvbihhLGIpe21sYShTdHJpbmcoYS5tZXRhZGF0YS5wdXNoSWQpLGEpO2FsYSgpLkFxYz9fLkxkP2I/Xy5MZC5yZXBsYWNlU3RhdGUoYSxcIlwiLGEudXJsKTpfLkxkLnB1c2hTdGF0ZShhLFwiXCIsYS51cmwpOmI/Xy5PZC5oaXN0b3J5LnJlcGxhY2VTdGF0ZShhLFwiXCIsYS51cmwpOl8uT2QuaGlzdG9yeS5wdXNoU3RhdGUoYSxcIlwiLGEudXJsKTooYT1fLk1rYShhLnVybCl8fFwiXCIsTmthLmFkZChhKSxhPVwiI1wiK2EsYj9fLmtpYShfLk9kLmxvY2F0aW9uLF8ua2MoYSkpOl8uSWMoXy5PZC5sb2NhdGlvbixhKSl9O1xuYWxhPWZ1bmN0aW9uKCl7aWYoIW5sYSl7dmFyIGE9Z29vZ2xlLmhzO2F8fChfLmlkKEVycm9yKFwiJGJcIikse2xldmVsOjB9KSxhPXtoOnZvaWQgMCxzaWU6dm9pZCAwLG5oczp2b2lkIDB9KTt2YXIgYj0hIShhLmgmJl8uT2QuaGlzdG9yeSYmXy5PZC5oaXN0b3J5LnB1c2hTdGF0ZSk7bmxhPXtBcWM6YixQS2I6YiYmXy5PZC5oaXN0b3J5LnN0YXRlIT09dm9pZCAwLElWZDohIWEuc2llLERWZDohIWEubmhzfX1yZXR1cm4gbmxhfTtcbnBsYT1mdW5jdGlvbigpe2lmKCFhbGEoKS5BcWMpe3ZhciBhPV8uU2QoKTthLk1jKFwiY3RcIixcImhzdDpub2h0bWw1XCIpO2EubG9nKCl9aWYoYWxhKCkuRFZkKXRyeXtfLkxkPXlrYSgpfWNhdGNoKGIpe18uaWQoRXJyb3IoXCJhY2BcIitiKSx7bGV2ZWw6MH0pfV8ub2xhKF8uT2QubG9jYXRpb24uaGFzaCkmJihhPWVuY29kZVVSSUNvbXBvbmVudChfLk9kLmxvY2F0aW9uLmhhc2gpLGdvb2dsZS5sb2coXCJqYmhcIixcImg9XCIrYS5zdWJzdHIoMCw0MCkpLF8uT2QubG9jYXRpb24uaGFzaD1cIlwiKTtKa2E9Xy5Da2EoKTthPV8uV2QoNSxfLk9kLmxvY2F0aW9uLmhyZWYpIT09XCIvXy9jaHJvbWUvbmV3dGFiXCImJiFKa2EubWV0YWRhdGE7RWthPWFsYSgpLklWZDthbGEoKS5QS2I/Xy5YZChfLk9kLFwicG9wc3RhdGVcIixMa2EsITEpOl8uWGQoXy5PZCxcImhhc2hjaGFuZ2VcIixPa2EsITEpO2EmJl8uZ2xhKHtzdGF0ZTpCa2EoKSx1cmw6emthKCkscmVwbGFjZTohMH0pfTtcbl8uWmQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz17fTthIGluIHFsYXx8KHFsYVthXT1jKTtjPWIubmFtZTtyZXR1cm4gcWxhW2FdW2NdP3FsYVthXVtjXTpxbGFbYV1bY109bmV3IF8uWWQoYSxjLHtDYmI6ISFiLkNiYn0pfTtfLnNsYT1mdW5jdGlvbihhKXthPV8ucmxhLmdldChTdHJpbmcoYSkpO3JldHVybiBBcnJheS5pc0FycmF5KGEpP2E6W119O3hsYT1mdW5jdGlvbigpe2lmKCF0bGEpe3RsYT0hMDtpZighYWxhKCkuUEtiKXt2YXIgYT1fLlpkKFwic1wiLHVsYSk7QmthPWZ1bmN0aW9uKCl7dmFyIGI9KG5ldyBfLnZsYSh6a2EoKSkpLm9hLmdldChcInNwZlwiKTtyZXR1cm4gYj9hLmdldChiKTpudWxsfTttbGE9ZnVuY3Rpb24oYixjKXthLnNldChiLGMsXCIqXCIpfTt3bGEucHVzaChhKX1wbGEoKX19O1xuXy5jZT1mdW5jdGlvbihhLGIpe3ZhciBjPV8uJGQoXy5hZSxhKTt5bGFbYV0/eWxhW2FdLmhhcyhiKXx8KHlsYVthXS5hZGQoYiksZ29vZ2xlLmRjbGMoZnVuY3Rpb24oKXtiKGMsITApfSkpOih5bGFbYV09bmV3IFNldChbYl0pLGdvb2dsZS5kY2xjKGZ1bmN0aW9uKCl7YihjLCEwKX0pKX07Xy5CbGE9ZnVuY3Rpb24oYSl7Xy56bGFbYS5Vc2EoKV18fChfLnpsYVthLlVzYSgpXT1hLGdvb2dsZS5kY2xjKGZ1bmN0aW9uKCl7YS5RbmEoXy5hZSkmJihfLkFsYT1hLGEuaGFuZGxlKF8uYWUsITApKX0pKX07Xy5DbGE9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiIGluIHlsYSl5bGFbYl0uZGVsZXRlKGEpfTtfLmRlPWZ1bmN0aW9uKGEpe2RlbGV0ZSB5bGFbYV19O18uZmU9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXt9O2RbYV09YjtyZXR1cm4gXy5lZShkLGMpfTtcbl8uZWU9ZnVuY3Rpb24oYSxiKXthPV8uRGxhKF8uYWUsYSk7aWYoYS5lcXVhbHMoXy5hZSkpYj1fLmdlKCk7ZWxzZXt2YXIgYz1fLkVsYSgpO2MuaHNzPXt9O2I9Xy5GbGEoYSxjLGIpfXJldHVybiBifTtfLmhlPWZ1bmN0aW9uKGEpe3JldHVybiBfLmxsYSgtMSx7T1o6YT09PXZvaWQgMD8hMDphfSl9O18uaWU9ZnVuY3Rpb24oYSl7cmV0dXJuIEdsYShhKT09PTE/Xy4kZChIbGEsYSk6Xy4kZChfLmFlLGEpfTtcbklsYT1mdW5jdGlvbigpe3ZhciBhPV8uYWUsYj1fLkFsYTtiJiYoYi5RbmEoYSk/Z29vZ2xlLmRjbGMoZnVuY3Rpb24oKXtiLmhhbmRsZShhKX0pOihnb29nbGUuZGNsYyhmdW5jdGlvbigpe2IuWkIoYSl9KSxfLkFsYT1udWxsKSk7aWYoIV8uQWxhKXt2YXIgYz17fTtmb3IoZSBpbiBfLnpsYSlpZihjPXtvOWE6dm9pZCAwfSxjLm85YT1fLnpsYVtlXSxjLm85YS5RbmEoYSkpe2dvb2dsZS5kY2xjKGZ1bmN0aW9uKGgpe3JldHVybiBmdW5jdGlvbigpe2gubzlhLmhhbmRsZShhKX19KGMpKTtfLkFsYT1jLm85YTticmVha319Yz17fTtmb3IodmFyIGQgaW4geWxhKXtjPXtvYmM6dm9pZCAwfTtjLm9iYz1fLiRkKF8uYWUsZCk7dmFyIGU9Xy5QYSh5bGFbZF0pO2Zvcih2YXIgZj1lLm5leHQoKSxnPXt9OyFmLmRvbmU7Zz17WjZiOnZvaWQgMH0sZj1lLm5leHQoKSlnLlo2Yj1mLnZhbHVlLGdvb2dsZS5kY2xjKGZ1bmN0aW9uKGgsayl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuKDAsaC5aNmIpKGsub2JjLFxuITEpfX0oZyxjKSl9fTtfLkZsYT1mdW5jdGlvbihhLGIsYyxkKXtjPWM9PT12b2lkIDA/ITE6YztkPWQ9PT12b2lkIDA/ITA6ZDt2YXIgZT1fLkpjKCk7dmFyIGY9Xy5KbGEoYSksZztpZihnPWEuZ2V0UGF0aCgpPT09Xy5hZS5nZXRQYXRoKCkpe2c9Xy5hZTt2YXIgaD1fLktsYShhKTtnPV8uS2xhKGcpO2g9Xy5EbGEoaCx7cTpfLiRkKGgsXCJxXCIpLnRvTG93ZXJDYXNlKCkudHJpbSgpfSk7Zz1fLkRsYShnLHtxOl8uJGQoZyxcInFcIikudG9Mb3dlckNhc2UoKS50cmltKCl9KTtnPV8uTGxhKGgsZyl9ZyYmKGY9ZS5zZWFyY2guc3Vic3RyKDEpKTtlPV8uTWxhKHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCxhLmdldFBhdGgoKSxmLF8uTmxhKGEpKTtiPV8uZ2xhKHtzdGF0ZTpiLHVybDplLHJlcGxhY2U6Y30se2hZOm5ldyBTZXQoW09sYV0pLE9aOmR9KTtfLmFlPWE7SWxhKCk7cmV0dXJuIGJ9O1xuXy5FbGE9ZnVuY3Rpb24oKXt2YXIgYT1fLlJkKCkuc3RhdGU7cmV0dXJuIE9iamVjdC5hc3NpZ24oe30sYXx8e30pfTtPbGE9ZnVuY3Rpb24oKXt2YXIgYT1fLlBsYShfLkpjKCkuaHJlZiwhMCkuc3RhdGU7Xy5hZS5lcXVhbHMoYSl8fChfLmFlPV8uS2xhKGEpLElsYSgpKX07UWxhPWZ1bmN0aW9uKGEsYil7YTp7aWYodHlwZW9mIHdpbmRvdy5FdmVudD09PVwiZnVuY3Rpb25cIil0cnl7dmFyIGM9bmV3IEV2ZW50KGEse2J1YmJsZXM6ITEsY2FuY2VsYWJsZTohMH0pO2JyZWFrIGF9Y2F0Y2goZCl7fWM9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoXCJFdmVudFwiKTtjLmluaXRFdmVudChhLCExLCEwKX1hPWM7YS5mbG93PWI7cmV0dXJuIGF9O1JsYT1mdW5jdGlvbigpe3RyeXtpZih0eXBlb2Ygd2luZG93LkV2ZW50VGFyZ2V0PT09XCJmdW5jdGlvblwiKXJldHVybiBuZXcgRXZlbnRUYXJnZXR9Y2F0Y2goYSl7fXRyeXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKX1jYXRjaChhKXt9cmV0dXJuIG51bGx9O1xuVGxhPWZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlO3JldHVybiBuZXcgU2xhKChkPShiPWplKGEpKT09bnVsbD92b2lkIDA6Yi5uYW1lKSE9bnVsbD9kOlwiXCIsKGU9KGM9amUoYSkpPT1udWxsP3ZvaWQgMDpjLmVsZW1lbnQpIT1udWxsP2U6bnVsbCxhLklHKCksYS5JcSgpLGEub2EuZXZlbnRUeXBlLGEub2EudGFyZ2V0RWxlbWVudCl9O1VsYT1mdW5jdGlvbihhLGIpe2Zvcig7YSYmYS5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFO2E9YS5wYXJlbnROb2RlKWIoYSl9O18uVmxhPWZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3Qua2V5cyhhKS5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIGIrXCIuXCIrYVtiXX0pLmpvaW4oXCIsXCIpfTtcbl8uWmxhPWZ1bmN0aW9uKGEsYixjLGQpe2lmKCFhfHwhYiYmV2xhKGEpKXJldHVybiAwO2lmKCFhLmdldEJvdW5kaW5nQ2xpZW50UmVjdClyZXR1cm4gMTt2YXIgZT1mdW5jdGlvbihmKXtyZXR1cm4gZi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX07cmV0dXJuIWImJlhsYShhLGQsZSk/MDpZbGEoYSxiLGMsZCxlKX07WGxhPWZ1bmN0aW9uKGEsYixjKXthOntmb3IodmFyIGQ9YTtkJiZkIT09YjtkPWQucGFyZW50RWxlbWVudClpZihkLnN0eWxlLm92ZXJmbG93PT09XCJoaWRkZW5cInx8ZC50YWdOYW1lPT09XCJHLUVYUEFOREFCTEUtQ09OVEVOVFwiJiZnZXRDb21wdXRlZFN0eWxlKGQpLmdldFByb3BlcnR5VmFsdWUoXCJvdmVyZmxvd1wiKT09PVwiaGlkZGVuXCIpe2I9ZDticmVhayBhfWI9bnVsbH1pZighYilyZXR1cm4hMTthPWMoYSk7Yz1jKGIpO3JldHVybiBhLmJvdHRvbTxjLnRvcHx8YS50b3A+PWMuYm90dG9tfHxhLnJpZ2h0PGMubGVmdHx8YS5sZWZ0Pj1jLnJpZ2h0fTtcbldsYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5zdHlsZS5kaXNwbGF5PT09XCJub25lXCI/ITA6ZG9jdW1lbnQuZGVmYXVsdFZpZXcmJmRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGU/KGE9ZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShhKSwhIWEmJihhLnZpc2liaWxpdHk9PT1cImhpZGRlblwifHxhLmhlaWdodD09PVwiMHB4XCImJmEud2lkdGg9PT1cIjBweFwiKSk6ITF9O1xuWWxhPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9ZShhKSxnPWYubGVmdCsoYz8wOndpbmRvdy5wYWdlWE9mZnNldCksaD1mLnRvcCsoYz8wOndpbmRvdy5wYWdlWU9mZnNldCksaz1mLndpZHRoLGw9Zi5oZWlnaHQsbj0wO2lmKCFiJiZsPD0wJiZrPD0wKXJldHVybiBuO2I9d2luZG93LmlubmVySGVpZ2h0fHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0O2grbDwwP249MjpoPj1iJiYobj00KTtpZihnK2s8MHx8Zz49KHdpbmRvdy5pbm5lcldpZHRofHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgpKW58PTg7ZWxzZSBpZihkKXtnPWYubGVmdDtpZighYylmb3IoO2EmJmEhPT1kO2E9YS5wYXJlbnRFbGVtZW50KWcrPWEuc2Nyb2xsTGVmdDtkPWUoZCk7aWYoZytrPGQubGVmdHx8Zz49ZC5yaWdodClufD04O2YudG9wPj1kLmJvdHRvbSYmKG58PTQpfW58fChuPTEsaCtsPmImJihufD00KSk7cmV0dXJuIG59O1xuYm1hPWZ1bmN0aW9uKGEsYixjKXtpZighYiYmYS5oYXNBdHRyaWJ1dGUoXCJqc3NoYWRvd1wiKSlyZXR1cm4gbnVsbDtmb3IoYj0wO2E9Xy4kbGEoYSk7KXtpZihhJiZhPT09YyYmYj4wKXthbWF8fChhbWE9ITApO2JyZWFrfWlmKGEuaGFzQXR0cmlidXRlKFwianNzbG90XCIpKWIrPTE7ZWxzZSBpZihhLmhhc0F0dHJpYnV0ZShcImpzc2hhZG93XCIpJiZiPjApey0tYjtjb250aW51ZX1pZihiPD0wKXJldHVybiBhfXJldHVybiBudWxsfTtfLiRsYT1mdW5jdGlvbihhKXtyZXR1cm4gYT9fLmNtYShhKT9fLmNtYShhKTphLnBhcmVudE5vZGUmJmEucGFyZW50Tm9kZS5ub2RlVHlwZT09PTExP2EucGFyZW50Tm9kZS5ob3N0Ol8ua2UoYSk6bnVsbH07Xy5kbWE9ZnVuY3Rpb24oYSxiLGMsZCxlKXtmb3IoY3x8KGE9Ym1hKGEsZCxlKSk7YSYmYSE9PWU7KXtpZihiKGEpKXJldHVybiBhO2E9Ym1hKGEsZCxlKX1yZXR1cm4gbnVsbH07XG5fLmVtYT1mdW5jdGlvbihhKXt2YXIgYjtfLmRtYShhLGZ1bmN0aW9uKGMpe3JldHVybiBfLmNtYShjKT8oYj1fLmNtYShjKSwhMCk6ITF9LCEwKTtyZXR1cm4gYnx8YX07Xy5obWE9ZnVuY3Rpb24oYSxiKXtiLmlkfHwoYi5pZD1cIm93XCIrXy5FYShiKSk7YS5zZXRBdHRyaWJ1dGUoXCJqc293bmVyXCIsYi5pZCk7YS5fX293bmVyPWI7dmFyIGM9Zm1hKGIpO2MmJihnbWEuaGFzKGMpfHxnbWEuc2V0KGMsW10pLGdtYS5nZXQoYykucHVzaChhKSk7KGM9Xy5sZS5nZXQoYikpfHxfLmxlLnNldChiLGM9W10pO2MuaW5jbHVkZXMoYSl8fGMucHVzaChhKTtiLnNldEF0dHJpYnV0ZShcIl9fSVNfT1dORVJcIiwhMCl9O2ltYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5tZShhKT9hLmdldEF0dHJpYnV0ZShcImpzbmFtZVwiKT09PVwiY29GU3hlXCI6ITF9O2ZtYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5uZShhLGltYSl9O1xuam1hPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybltdO3ZhciBiPShnbWEuaGFzKGEpP2dtYS5nZXQoYSk6W10pLmZpbHRlcihmbWEpO2dtYS5zZXQoYSxiKTtyZXR1cm4gYn07Xy5rbWE9ZnVuY3Rpb24oYSl7XCJfX2pzYWN0aW9uXCJpbiBhJiZkZWxldGUgYS5fX2pzYWN0aW9ufTtfLmxtYT1mdW5jdGlvbihhKXt2YXIgYj1hLmV2ZW50LGM9YS5BYjthPWEudGFyZ2V0RWxlbWVudDtiLmRldGFpbHx8KGIuZGV0YWlsPXt0eXBlOmIudHlwZXx8XCJcIn0pO3JldHVybiBuZXcgU2xhKFwiXCIsYy5lbCgpLGIsdm9pZCAwLGIuZGV0YWlsLnR5cGV8fGIudHlwZSxhLmVsKCkpfTtfLnFlPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluc3RhbmNlb2YgXy5wZT9hLmRhdGE/YS5kYXRhOm1tYShhLmV2ZW50KTptbWEoYSl9O21tYT1mdW5jdGlvbihhKXt2YXIgYj1hLmRhdGE7aWYoYilyZXR1cm4gYjtpZigoYT1hLmRldGFpbCkmJmEuZGF0YSlyZXR1cm4gYS5kYXRhfTtcbl8ucmU9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5xZShhKTtyZXR1cm4gYiYmYi5veT9iLm95OihhPShhIGluc3RhbmNlb2YgXy5wZT9hLmV2ZW50OmEpLmRldGFpbCkmJmEudGhhfTtvbWE9ZnVuY3Rpb24oKXt2YXIgYT1ubWEudHJpZ2dlcjt3aW5kb3cuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJfY3VzdG9tXCIsZnVuY3Rpb24oYil7dmFyIGM9Yi5kZXRhaWw7YyYmYy5fdHlwZSYmYSh7dHlwZTpjLl90eXBlLHRhcmdldDpiLnRhcmdldCxidWJibGVzOiEwLGRldGFpbDpjfSl9KX07cG1hPWZ1bmN0aW9uKGEpe2EucHJldmVudERlZmF1bHQ/YS5wcmV2ZW50RGVmYXVsdCgpOmEucmV0dXJuVmFsdWU9ITF9O3FtYT1mdW5jdGlvbihhKXthPWEudGFyZ2V0OyFhLmdldEF0dHJpYnV0ZSYmYS5wYXJlbnROb2RlJiYoYT1hLnBhcmVudE5vZGUpO3JldHVybiBhfTtcbl8uc21hPWZ1bmN0aW9uKGEpe3JldHVybiBybWEmJmEubWV0YUtleXx8IXJtYSYmYS5jdHJsS2V5fHxhLndoaWNoPT09Mnx8YS53aGljaD09bnVsbCYmYS5idXR0b249PT00fHxhLnNoaWZ0S2V5fTtfLnRtYT1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuZ3Vlc3RSb290RWxlbWVudD93aW5kb3cuZ3Vlc3RSb290RWxlbWVudDpkb2N1bWVudC5ib2R5fTt4bWE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWErXCIuXCIrYjtpZihfLnVtYSgpKXt2YXIgZT1fLnNlLmdldChkKTtpZihlKXt2YXIgZj1fLnZtYS5nZXQoZCk7ZiYmXy50ZShmKTtlPV8udWUoXy50bWEoKSxlLGZ1bmN0aW9uKGcpe3ZhciBoPV8ucWUoZyk7aCYmaC5YeGI/KHdtYShoLmVsZW1lbnQsYSxiLFwiaWFcIiksYyhoLmVsZW1lbnQsaC5kYXRhc2V0LGguZXZlbnQsaC5pUCkpOihoPWcudGFyZ2V0RWxlbWVudC5lbCgpLHdtYShoLGEsYixcIm5cIiksYyhoLF8udmUoaCksZy5ldmVudCxfLmxtYShnKSkpfSk7Xy52bWEuc2V0KGQsZSl9fX07XG55bWE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWErXCIuXCIrYjtpZihfLnVtYSgpKXt2YXIgZT1fLnNlLmdldChkKTtpZihlKXt2YXIgZj1fLnZtYS5nZXQoZCk7ZiYmXy50ZShmKTtlPV8udWUoXy50bWEoKSxlLGZ1bmN0aW9uKGcpe3ZhciBoPV8ucWUoZyk7aCYmaC5YeGI/KHdtYShoLmZoYi50YXJnZXRFbGVtZW50LmVsKCksYSxiLFwiaWF3XCIpLGMoaC5maGIpKTooaD1uZXcgXy5wZShnLmV2ZW50LGcudGFyZ2V0RWxlbWVudCxnLnRhcmdldEVsZW1lbnQpLGc9Zy50YXJnZXRFbGVtZW50LmVsKCksd21hKGcsYSxiLFwid1wiKSxjKGgpKX0pO18udm1hLnNldChkLGUpfX19O18uQW1hPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjIGluIGIpeG1hKGEsYyxiW2NdKTt6bWFbYV09em1hW2FdfHxbXTtmb3IodmFyIGQgaW4gYil6bWFbYV0uaW5jbHVkZXMoZCl8fF8uUGFhKHptYVthXSxkKX07XG5fLkJtYT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1fLlBhKE9iamVjdC5rZXlzKGIpKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSlkPWQudmFsdWUseW1hKGEsZCxiW2RdKTt6bWFbYV09em1hW2FdfHxbXTtiPV8uUGEoT2JqZWN0LmtleXMoYikpO2ZvcihjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSljPWMudmFsdWUsem1hW2FdLmluY2x1ZGVzKGMpfHxfLlBhYSh6bWFbYV0sYyl9O18uSG1hPWZ1bmN0aW9uKGEpe2EmJmEuY3NpJiYoQ21hPSEwLERtYT1OdW1iZXIoYS5jc2lyKSk7aWYoIUNtYXx8Xy5FbWEoMTAwKT49RG1hKUZtYS5PYT0hMDtHbWEoXCJiY3QuY2JjXCIpO0dtYShcImJjdC5jYmlcIik7R21hKFwiYmN0LmNiYVwiKTtHbWEoXCJwcmVjLnRnXCIpO0dtYShcInRyZXgucFwiKTtHbWEoXCJhc3luYy51XCIpO0dtYShcImdmLnNmXCIpO0dtYShcInNmLmxja1wiKX07XG5fLnVtYT1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuZ3dzX3dpemJpbmQmJl8ueGUod2luZG93LmRvY3VtZW50KT8hMDohMX07R21hPWZ1bmN0aW9uKGEpe2lmKCFfLnZtYS5oYXMoYSkpe3ZhciBiPV8uc2UuZ2V0KGEpLGM9Xy55ZShkb2N1bWVudC5ib2R5LGIsZnVuY3Rpb24oZCl7Xy50ZShjKTtfLnZtYS5kZWxldGUoYSk7dmFyIGU9YS5zcGxpdChcIi5cIilbMF07Xy5TZCgpLk1jKFwiY2FkXCIsXCJqc2FsYXp5bG9hZC5cIithKS5sb2coKTtnb29nbGUubG9hZChlLGZ1bmN0aW9uKCl7dmFyIGY9ZC50YXJnZXRFbGVtZW50LmVsKCk7Xy56ZShmLGIpfSl9KTtfLnZtYS5zZXQoYSxjKX19O1xuS21hPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1fLkltYShhLCEwKSxlPWQmJmQuZ2V0QXR0cmlidXRlKFwianNjb250cm9sbGVyXCIpfHxcIlVOS1wiLGY9XCJcIjtpZihkPT09YSlmPVwiY3RybG9ucm9vdFwiO2Vsc2UgaWYoZSE9PVwiVU5LXCIpe3ZhciBnPW5ldyBTZXQ7Zj1hLnF1ZXJ5U2VsZWN0b3JBbGwoXCJbanNhY3Rpb25dXCIpO2Y9Xy5QYShmKTtmb3IoYT1mLm5leHQoKTshYS5kb25lO2E9Zi5uZXh0KCkpe2E9YS52YWx1ZTt2YXIgaD1hLmdldEF0dHJpYnV0ZShcImpzYWN0aW9uXCIpO2lmKGgpe2g9Xy5QYShoLnNwbGl0KFwiO1wiKSk7Zm9yKHZhciBrPWgubmV4dCgpOyFrLmRvbmU7az1oLm5leHQoKSlpZihrPWsudmFsdWUsIV8uQWUoaykmJihrPV8uSm1hKGssXCI6XCIsMSkucG9wKCkpKWs9ay50cmltKCksay5pbmNsdWRlcyhcIi5cIil8fF8uSW1hKGEsITApIT09ZHx8Zy5hZGQoayl9fWY9XCJicm9rZW4uXCI7ZD1fLlBhKGcpO2ZvcihnPWQubmV4dCgpOyFnLmRvbmU7Zz1kLm5leHQoKSlmKz1cIlwiK2cudmFsdWV9cmV0dXJuXCJhY3Rpb254aWQuXCIrXG5lK1wiLnR5cGUuXCIrYitcIi5cIitjK1wiLlwiK2YrXCIuXCJ9O1xud21hPWZ1bmN0aW9uKGEsYixjLGQpe2lmKCEoTWF0aC5yYW5kb20oKT4uMDEpKXtiPWIrXCIuXCIrYztjPV8uc2UuZ2V0KGIpO2E9S21hKGEsYixTdHJpbmcoYykpO2I9bmV3IE1hcDtpZihNYXRoLnJhbmRvbSgpPi4xKXtjPV8uUGEoXy52bWEua2V5cygpKTtmb3IodmFyIGU9Yy5uZXh0KCk7IWUuZG9uZTtlPWMubmV4dCgpKXtlPWUudmFsdWU7dmFyIGY9Xy5zZS5nZXQoZSksZz1kb2N1bWVudC5ib2R5LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tqc2FjdGlvbio9XCInK2YrJ1wiXScpO2lmKGcubGVuZ3RoPT09MCl7dmFyIGg9XCJudS50eXBlLlwiK2UrXCIuXCIrZitcIi5cIjtiLnNldChoLChiLmdldChoKXx8MCkrMSl9Zz1fLlBhKGcpO2ZvcihoPWcubmV4dCgpOyFoLmRvbmU7aD1nLm5leHQoKSloPVwiZy5cIitLbWEoaC52YWx1ZSxlLFN0cmluZyhmKSksYi5zZXQoaCwoYi5nZXQoaCl8fDApKzEpfX1iPV8uUGEoYi5lbnRyaWVzKCkpO2ZvcihjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSllPV8uUGEoYy52YWx1ZSksXG5jPWUubmV4dCgpLnZhbHVlLGU9ZS5uZXh0KCkudmFsdWUsYSs9YytcIi5cIitlK1wiLlwiO18uU2QoKS5NYyhcImNhZFwiLFwibG9nc2NvcGUuXCIrZ29vZ2xlLmVyZC5iditcIi5cIitkK1wiLlwiK2EpLmxvZygpfX07Xy5MbWE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5jdCxjPWEudmVkO2E9YS5zcmM7KGN8fGEpJiZfLk9jKGIsYz9cIiZ2ZWQ9XCIrYzpcIlwiLGEpfTtfLk5tYT1mdW5jdGlvbihhKXt2YXIgYj1hLnVybDsoYT1hLnZlZHx8XCJcIikmJihiPV8uTW1hKGIse3ZlZDphfSkpO18ucWQoYil9O1xuXy5TbWE9ZnVuY3Rpb24oKXtfLnllKGRvY3VtZW50LmJvZHksT21hLGZ1bmN0aW9uKGEpe2E9YS50YXJnZXRFbGVtZW50LmVsKCk7YT1fLnZlKGEpO18uTG1hKGEpO18uaGUoKX0pO18ueWUoZG9jdW1lbnQuYm9keSxQbWEsZnVuY3Rpb24oYSl7YT1hLnRhcmdldEVsZW1lbnQuZWwoKTtfLk5tYShfLnZlKGEpKX0pO18ueWUoZG9jdW1lbnQuYm9keSxRbWEsZnVuY3Rpb24oYSl7YT1hLnRhcmdldEVsZW1lbnQuZWwoKTtfLkxtYShfLnZlKGEpKX0pO18ueWUoZG9jdW1lbnQuYm9keSxSbWEsZnVuY3Rpb24oYSl7YT1hLnRhcmdldEVsZW1lbnQuZWwoKTthPV8udmUoYSk7dmFyIGI9YS51cmwsYz1hLnZlZHx8XCJcIjtjJiYoYj1fLk1tYShiLHt2ZWQ6Y30pLF8uTG1hKGEpKTtfLnFkKGIpfSl9O1xuVW1hPWZ1bmN0aW9uKCl7dmFyIGE9bmV3IFNldCxiPXdpbmRvdy5fRl9qc1VybDtpZihiKXRyeXtUbWEoXy5lZChiKSkuZm9yRWFjaChmdW5jdGlvbihjKXthLmFkZChjKX0pfWNhdGNoKGMpe18uaWQoRXJyb3IoXCJjY1wiKSl9Z29vZ2xlJiZnb29nbGUueGpzJiZnb29nbGUueGpzLmV4Y20mJmdvb2dsZS54anMuZXhjbS5mb3JFYWNoKGZ1bmN0aW9uKGMpe2EuYWRkKGMpfSk7cmV0dXJuIGF9O18uVm1hPWZ1bmN0aW9uKGEpe2E9Xy50YyhhKS50b1N0cmluZygpO3ZhciBiPW5ldyBfLkJlO18uRGUoYiwyLGEpO3JldHVybiBifTtfLldtYT1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4gbnVsbDthPV8uR2UoYSwyKTtyZXR1cm4gYT09PW51bGx8fGE9PT12b2lkIDA/bnVsbDpfLncoYSl9O18uSWU9ZnVuY3Rpb24oYSl7YT1fLmljKGEpO3ZhciBiPW5ldyBfLkhlO18uRGUoYiwzLGEpO3JldHVybiBifTtcbl8uTGU9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIG51bGw7YT1fLkdlKGEsMyk7cmV0dXJuIGE9PT1udWxsfHxhPT09dm9pZCAwP251bGw6Xy5oYyhhKX07Xy5YbWE9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIG51bGw7YT1fLkdlKGEsNik7cmV0dXJuIGE9PT1udWxsfHxhPT09dm9pZCAwP251bGw6Xy5LaGEoYSl9O18uWm1hPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBudWxsO2E9Xy5HZShhLDcpO3JldHVybiBhPT09bnVsbHx8YT09PXZvaWQgMD9udWxsOl8uWW1hKGEpfTtfLk5lPWZ1bmN0aW9uKGEpe2E9Xy54YyhhKS50b1N0cmluZygpO3ZhciBiPW5ldyBfLk1lO18uRGUoYiw0LGEpO3JldHVybiBifTtfLk9lPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBudWxsO2E9Xy5HZShhLDQpO3JldHVybiBhPT09bnVsbHx8YT09PXZvaWQgMD9udWxsOl8udmMoYSl9O1xuZm5hPWZ1bmN0aW9uKCl7Xy4kbWEoXCJfRl9pbnN0YWxsQ3NzXCIsZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQuc3R5bGVTaGVldHMubGVuZ3RoLGM9Xy5QZSgpLmdldEVsZW1lbnRzQnlUYWdOYW1lKGFuYT9cIkJPRFlcIjpcIkhFQURcIilbMF0sZD1fLlBlKCkuY3JlYXRlRWxlbWVudChcIlNUWUxFXCIpLGU9Xy5maWEoXCJzdHlsZVwiLF8uUWUoZG9jdW1lbnQpKTtlJiZkLnNldEF0dHJpYnV0ZShcIm5vbmNlXCIsZSk7ZC5zZXRBdHRyaWJ1dGUoXCJkYXRhLWxhdGUtY3NzXCIsXCJcIik7KGU9Xy5zYWEoKSkmJmMuYXBwZW5kQ2hpbGQoZCk7YT1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShhKTtkLmFwcGVuZENoaWxkKGEpO2V8fGMuYXBwZW5kQ2hpbGQoZCk7ZG9jdW1lbnQuc3R5bGVTaGVldHMubGVuZ3RoPD1iJiZfLmlkKEVycm9yKFwiZGNcIikpO2JuYShkKX0pO18uJG1hKFwiX0ZfaW5zdGFsbENzc1Byb3RvXCIsZnVuY3Rpb24oYSl7YT1jbmEoYSk7YT1fLlJlKGEsXy5kbmEsMSxfLlNlKCkpO18uZW5hKGEpfSl9O1xuXy5lbmE9ZnVuY3Rpb24oYSl7Z25hKGEpO3ZhciBiPWhuYSgpO2E9YS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIWIuaGFzKF8uQShlLDEpKX0pO3ZhciBjPWEubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBfLkEoZSwxKX0pO2lmKGMubGVuZ3RoIT0wKXt2YXIgZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIik7Xy5paWEoZCxfLlltYShhLm1hcChpbmEpLm1hcChIaGEpLmpvaW4oXCJcIikpKTtkLnNldEF0dHJpYnV0ZShcImRhdGEtbXNzLXN0eWxlc1wiLGMuam9pbihcIixcIikpO18uUGUoKS5nZXRFbGVtZW50c0J5VGFnTmFtZShhbmE/XCJCT0RZXCI6XCJIRUFEXCIpWzBdLmFwcGVuZENoaWxkKGQpO2IuYWRkQWxsKGMpfX07XG5ibmE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5MYWEoZG9jdW1lbnQuc3R5bGVTaGVldHMsZnVuY3Rpb24oYyl7cmV0dXJuIGMub3duZXJOb2RlPT09YX0pO2I9YiYmYi5jc3NSdWxlcztiPT09bnVsbHx8Yi5sZW5ndGg9PT0wP18uaWQoRXJyb3IoXCJlY1wiKSk6KGI9YltiLmxlbmd0aC0xXSxiIGluc3RhbmNlb2YgQ1NTU3R5bGVSdWxlJiZiLnNlbGVjdG9yVGV4dD09PVwic2VudGluZWxcInx8Xy5pZChFcnJvcihcImZjXCIpKSl9O2duYT1mdW5jdGlvbihhKXtmb3IodmFyIGI9MDtiPGEubGVuZ3RoO2IrKylfLlZlKGFbYl0sMSl8fF8uaWQoRXJyb3IoXCJnY2BcIitiKSl9O2luYT1mdW5jdGlvbihhKXt2YXIgYj1fLlptYShfLnYoYSxfLldlLDUpKTtyZXR1cm4gYj09PW51bGw/KF8uaWQoRXJyb3IoXCJoY2BcIitfLkEoYSwxKSkpLF8uWW1hKGpuYVswXSkpOmJ9O18uWWU9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGMgaW4gYilfLmtuYVtjXS5wdXNoKGEpO2xuYVthXT1iO18ubW5hJiZubmEucHVzaChmdW5jdGlvbigpe18ub25hKGEpfSl9O1xucG5hPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPV8uUGEobm5hKSxiPWEubmV4dCgpOyFiLmRvbmU7Yj1hLm5leHQoKSliPWIudmFsdWUsYigpO25uYT1bXX07Xy5xbmE9ZnVuY3Rpb24oYSxiKXtiPWJ8fHt9O2IuX2U9ZnVuY3Rpb24oKXt9O18uWWUoYSxiKX07XG5ybmE9ZnVuY3Rpb24oYSl7dmFyIGI9U3ltYm9sKFwiaWNcIiksYz1uZXcgTWFwKFtbYixuZXcgU2V0XV0pLGQ9bmV3IE1hcCxlPWRvY3VtZW50LmJvZHkucXVlcnlTZWxlY3RvckFsbChcIltqc2NvbnRyb2xsZXJdLCBbanNtb2RlbF1cIik7ZT1fLlBhKGUpO2Zvcih2YXIgZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe2Y9Zi52YWx1ZTt2YXIgZz1mLmdldEF0dHJpYnV0ZShcImpzY29udHJvbGxlclwiKSxoPShmLmdldEF0dHJpYnV0ZShcImpzbW9kZWxcIil8fFwiXCIpLnNwbGl0KC9cXHMrLyk7Zz1fLlBhKFtdLmNvbmNhdChfLm1kKGgpLFtnXSkpO2ZvcihoPWcubmV4dCgpOyFoLmRvbmU7aD1nLm5leHQoKSlpZigoaD1oLnZhbHVlKSYmIWEoaCkpe3ZhciBrPWYuY2xvc2VzdChcIi5NampZdWRcIik7a3x8KGs9Yik7Yy5oYXMoayl8fGMuc2V0KGssbmV3IFNldCk7aWYoZC5oYXMoaCkpe3ZhciBsPWQuZ2V0KGgpO2whPT1rJiZsIT09YiYmKGMuZ2V0KGwpLmRlbGV0ZShoKSxkLnNldChoLGIpLGMuZ2V0KGIpLmFkZChoKSl9ZWxzZSBjLmdldChrKS5hZGQoaCksXG5kLnNldChoLGspfX1yZXR1cm5bXS5jb25jYXQoXy5tZChjLnZhbHVlcygpKSkuZmlsdGVyKGZ1bmN0aW9uKG4pe3JldHVybiBuLnNpemU+MH0pfTt1bmE9ZnVuY3Rpb24oYSxiLGMpe2M9c25hKGEsYixjKTtyZXR1cm4gdG5hKGEsYi5sZW5ndGgsYyl9O3NuYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9bmV3IE1hcCxlPW5ldyBTZXQoYSk7Yi5mb3JFYWNoKGZ1bmN0aW9uKGYsZyl7Zj12bmEoZixlKTtmPV8uUGEoZik7Zm9yKHZhciBoPWYubmV4dCgpOyFoLmRvbmU7aD1mLm5leHQoKSlkLnNldChoLnZhbHVlLGcpfSk7d25hKGEsYyxkKTtyZXR1cm4gZH07XG53bmE9ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZD1hLmxlbmd0aC0xO2Q+PTA7ZC0tKXt2YXIgZT1hW2RdLGY9Yy5nZXQoZSk7Znx8KGY9MCxjLnNldChlLGYpKTtlPWIoZSk7ZT1fLlBhKGUpO2Zvcih2YXIgZz1lLm5leHQoKTshZy5kb25lO2c9ZS5uZXh0KCkpe2c9Zy52YWx1ZTt2YXIgaD1jLmdldChnKTt0eXBlb2YgaCE9PVwibnVtYmVyXCI/Yy5zZXQoZyxmKTpoPmYmJmMuc2V0KGcsZil9fX07XG50bmE9ZnVuY3Rpb24oYSxiLGMpe2I9QXJyYXkuZnJvbSh7bGVuZ3RoOmJ9LGZ1bmN0aW9uKCl7cmV0dXJuW119KTtmb3IodmFyIGQ9Xy5QYShhKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSl7ZT1lLnZhbHVlO3ZhciBmPWMuZ2V0KGUpO2JbZl0ucHVzaChlKX1jPVtdO2I9Xy5QYShiKTtkPWIubmV4dCgpO2ZvcihlPXt9OyFkLmRvbmU7ZT17UVliOnZvaWQgMH0sZD1iLm5leHQoKSllLlFZYj1uZXcgU2V0KGQudmFsdWUpLGQ9YS5maWx0ZXIoZnVuY3Rpb24oZyl7cmV0dXJuIGZ1bmN0aW9uKGgpe3JldHVybiBnLlFZYi5oYXMoaCl9fShlKSksZC5sZW5ndGg+MCYmYy5wdXNoKGQpO3JldHVybiBjfTtcbnhuYT1mdW5jdGlvbihhKXtmb3IodmFyIGI9Xy5QYShbXCJkXCIsXCJjc2lcIl0pLGM9Yi5uZXh0KCk7IWMuZG9uZTtjPWIubmV4dCgpKXtjPWMudmFsdWU7dmFyIGQ9YS5pbmRleE9mKGMpO2QhPT0tMSYmKGEuc3BsaWNlKGQsMSksYS5wdXNoKGMpKX1iPWEuaW5kZXhPZihcImNzaWVzXCIpO2I+MCYmKGEuc3BsaWNlKGIsMSksYS51bnNoaWZ0KFwiY3NpZXNcIikpfTtfLiRlPWZ1bmN0aW9uKGEpe2E9Xy55bmEoYSk7cmV0dXJuIF8udyhhKX07Xy56bmE9ZnVuY3Rpb24oYSl7YT1fLnluYShhKTtyZXR1cm4gXy52YyhhKX07Xy55bmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1udWxsP1wibnVsbFwiOmE9PT12b2lkIDA/XCJ1bmRlZmluZWRcIjphfTtBbmE9ZnVuY3Rpb24oYSl7aWYoIWNqYShhKSlyZXR1cm5cIlwiO3ZhciBiPV8uZWQoYSk7cmV0dXJuIGEucmVwbGFjZShiLkFhLFwiL3hqcy9fL2pzL1wiKX07XG5CbmE9ZnVuY3Rpb24oKXtpZighZ29vZ2xlLnhqc3VzfHwhZ29vZ2xlLnBzKXJldHVybiBudWxsO2Zvcih2YXIgYT1bXSxiPXt9LGM9bmV3IFNldChbXS5jb25jYXQoXy5tZChnb29nbGUucHMubWFwKGZ1bmN0aW9uKGcpe3JldHVybiBBbmEoZy5zcmMpfSkuZmlsdGVyKGZ1bmN0aW9uKGcpe3JldHVybiEhZ30pKSkpLGQ9Xy5QYShnb29nbGUueGpzdXMpLGU9ZC5uZXh0KCksZj17fTshZS5kb25lO2Y9e3BjYjp2b2lkIDB9LGU9ZC5uZXh0KCkpZi5wY2I9ZS52YWx1ZSxjLmhhcyhBbmEoZi5wY2IpKSYmKGU9bmV3IFByb21pc2UoZnVuY3Rpb24oZyl7cmV0dXJuIGZ1bmN0aW9uKGgsayl7YltnLnBjYl09e3Jlc29sdmU6ZnVuY3Rpb24oKXtoKCl9LHJlamVjdDpmdW5jdGlvbigpe2soRXJyb3IoXCJqY2BcIitBbmEoZy5wY2IpKSl9fX19KGYpKSxhLnB1c2goZSkpO2dvb2dsZS5hcm09YjtyZXR1cm4gUHJvbWlzZS5hbGwoYSl9O1xuQ25hPWZ1bmN0aW9uKGEpe2lmKHBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKXt2YXIgYj1wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKFwicmVzb3VyY2VcIikuZmlsdGVyKGZ1bmN0aW9uKGMpe3JldHVybiBjLm5hbWUuZW5kc1dpdGgoYSl9KTtpZihiLmxlbmd0aD09PTEpcmV0dXJuIGJbMF19fTtcbkRuYT1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD9cIlwiOmI7dmFyIGM9W107YT1DbmEoYSk7aWYoIWEpcmV0dXJuIGM7Yj1iP2IrXCJfXCI6YjthLmRlY29kZWRCb2R5U2l6ZSE9PXZvaWQgMCYmYy5wdXNoKFwiXCIrYitcImRicz1cIithLmRlY29kZWRCb2R5U2l6ZSk7YS5lbmNvZGVkQm9keVNpemUhPT12b2lkIDAmJmMucHVzaChcIlwiK2IrXCJlYnM9XCIrYS5lbmNvZGVkQm9keVNpemUpO2EudHJhbnNmZXJTaXplIT09dm9pZCAwJiZjLnB1c2goXCJcIitiK1widHM9XCIrYS50cmFuc2ZlclNpemUpO2Eud29ya2VyU3RhcnQhPT12b2lkIDAmJmMucHVzaChcIlwiK2IrXCJ3cz1cIithLndvcmtlclN0YXJ0KTthLnN0YXJ0VGltZSE9PXZvaWQgMCYmYy5wdXNoKFwiXCIrYitcImxzPVwiK01hdGgucm91bmQoYS5zdGFydFRpbWUpKTthLnJlc3BvbnNlRW5kIT09dm9pZCAwJiZjLnB1c2goXCJcIitiK1wibGU9XCIrTWF0aC5yb3VuZChhLnJlc3BvbnNlRW5kKSk7cmV0dXJuIGN9O1xuRW5hPWZ1bmN0aW9uKCl7dmFyIGE9Z29vZ2xlLnhqcy5iYXNlY3NzO2lmKGEuc3RhcnRzV2l0aChcIi9cIikpcmV0dXJuITA7dHJ5e3JldHVybihuZXcgVVJMKGEpKS5vcmlnaW49PT1sb2NhdGlvbi5vcmlnaW59Y2F0Y2goYil7cmV0dXJuITF9fTtHbmE9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9Rm5hLGQ9W10sZT0wO2U8YS5sZW5ndGg7ZSs9YylkLnB1c2goYS5zbGljZShlLGUrYykpO2E9ZC5tYXAoYik7cmV0dXJuIFByb21pc2UuYWxsKGEpfTtIbmE9ZnVuY3Rpb24oYSl7dHlwZW9mIGdvb2dsZS50aWNrIT09XCJmdW5jdGlvblwiP18uaWQoRXJyb3IoXCJvY1wiKSk6Z29vZ2xlLnRpY2soXCJsb2FkXCIsYSl9O1xuXy5KbmE9ZnVuY3Rpb24oYSxiKXtpZihhW1wiX193aXpjb250ZXh0OnJlcXVlc3RzXCJdJiZhW1wiX193aXpjb250ZXh0OnJlcXVlc3RzXCJdW2JdKXJldHVybiBhW1wiX193aXpjb250ZXh0OnJlcXVlc3RzXCJdW2JdO3ZhciBjPW5ldyBfLkhkLGQ9dm9pZCAwO18uZG1hKGEsZnVuY3Rpb24oZil7Zj1mLl9fd2l6Y29udGV4dDtpZighZilyZXR1cm4hMTtkPWZbYl07cmV0dXJuIGQhPT12b2lkIDA/ITA6ITF9LCEwKTtpZihkIT09dm9pZCAwKWMuY2FsbGJhY2soZCk7ZWxzZXtJbmEoYSxiLGMpO3ZhciBlPV8uZW1hKGEpO2UhPWEmJkluYShlLGIsYyl9cmV0dXJuIGN9O1xuSW5hPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0oZD1hLmdldEF0dHJpYnV0ZShcImpzY29udGV4dFwiKSk/ZC5zcGxpdChcIiBcIik6W107ZC5wdXNoKFN0cmluZyhiKSk7ZC5sZW5ndGg9PTA/YS5yZW1vdmVBdHRyaWJ1dGUoXCJqc2NvbnRleHRcIik6YS5zZXRBdHRyaWJ1dGUoXCJqc2NvbnRleHRcIixkLmpvaW4oXCIgXCIpKTsoZD1hW1wiX193aXpjb250ZXh0OnJlcXVlc3RzXCJdKXx8KGQ9YVtcIl9fd2l6Y29udGV4dDpyZXF1ZXN0c1wiXT17fSk7ZFtiXT1jfTtMbmE9ZnVuY3Rpb24oYSxiKXthPWFbXy5LbmFdO2lmKCFhfHxiLmhhcyhhKSlyZXR1cm4gXy5hZigpO2IuYWRkKGEpO3JldHVybiBhLmluaXQoYil9O05uYT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgU2V0O3JldHVybiBMbmEoYSxiKS5hZGRDYWxsYmFjayhmdW5jdGlvbigpe3JldHVybiBuZXcgXy5NbmEoW10uY29uY2F0KF8ubWQoYikpLm1hcChmdW5jdGlvbihjKXtyZXR1cm4gYy5kb25lKCl9KSl9KS5hZGRDYWxsYmFjayhmdW5jdGlvbigpe3JldHVybiBhfSl9O1xuXy5kZj1mdW5jdGlvbihhLGIsYyl7Yj1iLnF1ZXJ5U2VsZWN0b3JBbGwoJ1tqc25hbWU9XCInK2MrJ1wiXScpO2M9W107Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspXy5JbWEoYltkXSwhMSk9PT1hJiZjLnB1c2goYltkXSk7cmV0dXJuIGN9O1xuT25hPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5JbWEoYSwhMCksZD1bXSxlPWZ1bmN0aW9uKG4scil7cmV0dXJuIG4ucHVzaC5hcHBseShuLHIpfTtlKGQsXy5kZihjLGEsYikpO3ZhciBmPVtdO2lmKGE9PT1jKXtmPV8ubGUuZ2V0KGMpfHxbXTtmb3IodmFyIGc9MDtnPGYubGVuZ3RoO2crKyl7dmFyIGg9ZltnXTtoLmdldEF0dHJpYnV0ZShcImpzbmFtZVwiKT09PWImJmQucHVzaChoKX19aWYoYS5oYXNBdHRyaWJ1dGUoXCJqc3NoYWRvd1wiKXx8YS5xdWVyeVNlbGVjdG9yKFwiW2pzc2hhZG93XVwiKSlmb3IoYT1hLnF1ZXJ5U2VsZWN0b3JBbGwoXCJbanNjb250cm9sbGVyXVwiKSxnPTA7ZzxhLmxlbmd0aDtnKyspe2g9YVtnXTt2YXIgaz1fLmxlLmdldChoKXx8W107ay5sZW5ndGgmJl8uSW1hKGgsITEpPT09YyYmZShmLGspfWZvcihhPTA7YTxmLmxlbmd0aDthKyspZShkLF8uZGYoYyxmW2FdLGIpKTt2YXIgbD1uZXcgU2V0O3JldHVybiBkLmZpbHRlcihmdW5jdGlvbihuKXtpZihsLmhhcyhuKSlyZXR1cm4hMTtcbmwuYWRkKG4pO3JldHVybiEwfSl9O18uZWY9ZnVuY3Rpb24oYSl7dmFyIGI9YmthLmdldChhKTtyZXR1cm4gYj9iOihiPW5ldyBfLkNkKGEsYSxbXSksZWthKGEsYiksYil9O1FuYT1mdW5jdGlvbihhKXt2YXIgYj10aGlzLmdldEF0dHJpYnV0ZShhKTtFbGVtZW50LnByb3RvdHlwZS5zZXRBdHRyaWJ1dGUuYXBwbHkodGhpcyxhcmd1bWVudHMpO3ZhciBjPXRoaXMuZ2V0QXR0cmlidXRlKGEpO18uemUodGhpcyxQbmEse25hbWU6YSxadmE6YyxORmQ6Yn0sITEpfTtSbmE9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5nZXRBdHRyaWJ1dGUoYSk7RWxlbWVudC5wcm90b3R5cGUucmVtb3ZlQXR0cmlidXRlLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtfLnplKHRoaXMsUG5hLHtuYW1lOmEsWnZhOm51bGwsTkZkOmJ9LCExKX07XG5TbmE9ZnVuY3Rpb24oKXtyZXR1cm4hISh3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS5tYXJrJiZ3aW5kb3cucGVyZm9ybWFuY2UubWVhc3VyZSYmd2luZG93LnBlcmZvcm1hbmNlLmNsZWFyTWVhc3VyZXMmJndpbmRvdy5wZXJmb3JtYW5jZS5jbGVhck1hcmtzKX07XG5fLm1vYT1mdW5jdGlvbihhLGIsYyxkKXtpZighXy4kbmEoYSkpcmV0dXJuIGFvYSgpO3ZhciBlPV8uZWYoYi50b1N0cmluZygpKSxmPWEsZz1ib2EoRGQuZ2V0SW5zdGFuY2UoKSxlKSxoPWc/Xy5mZihlKTpudWxsLGs9Zz9oLldvOm51bGwsbD1lLnRvU3RyaW5nKCk7ZG97dmFyIG49Zi5nZXRBdHRyaWJ1dGUoXCJqc21vZGVsXCIpO2lmKG4pe3ZhciByPV8uY29hKG4pO249e307Zm9yKHZhciB0PXIubGVuZ3RoLTE7dD49MDtuPXtwWjp2b2lkIDB9LHQtLSl7dmFyIHU9Xy5lZihyW3RdKTtuLnBaPWU7aWYoZ3x8dS50b1N0cmluZygpPT1sKXtpZihnKWlmKG4ucFo9dSxuLnBaJiZrJiZuLnBaLnRvU3RyaW5nKCk9PWsudG9TdHJpbmcoKSluLnBaPXVrYShEZC5nZXRJbnN0YW5jZSgpLGUpO2Vsc2UgaWYoIWRvYShoLG4ucFopKWNvbnRpbnVlO2lmKG4ucFohPWR8fGYhPWEpe2lmKGVvYShmKSYmZW9hKGYpW24ucFoudG9TdHJpbmcoKV0pcmV0dXJuIGVvYShmKVtuLnBaLnRvU3RyaW5nKCldO1xuYT1fLmZvYShfLkpkLmdldEluc3RhbmNlKCksbi5wWik7ZW9hKGYpfHxnb2EoZix7fSk7Yj1lb2EoZilbbi5wWi50b1N0cmluZygpXT0obmV3IF8uSGQpLmFkZENhbGxiYWNrKF8uaG9hKGEpKTthLmFkZENhbGxiYWNrKGZ1bmN0aW9uKHope3JldHVybiBmdW5jdGlvbihCKXtyZXR1cm4gXy4kbmEoZik/Qi5jcmVhdGUoei5wWixmLGMpOigoQj1lb2EoZikpJiZkZWxldGUgQlt6LnBaLnRvU3RyaW5nKCldLGFvYSgpKX19KG4pKTtiLmNhbGxiYWNrKCk7aW9hKF8uam9hKGYpLGYpO3JldHVybiBifX19fX13aGlsZShmPWJtYShmKSk7cmV0dXJuIF8ua29hKG5ldyBfLmxvYShiKSl9O1xuXy5ub2E9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEgaW5zdGFuY2VvZiBfLkNkP2E6c2thKF8uSmQuZ2V0SW5zdGFuY2UoKSxhKTthPV8uZm9hKF8uSmQuZ2V0SW5zdGFuY2UoKSxkKTthLmFkZENhbGxiYWNrKGZ1bmN0aW9uKGUpe3JldHVybiBfLmdmKGQsZSxifHxuZXcgXy5oZih2b2lkIDAsdm9pZCAwLHZvaWQgMCxjfHx2b2lkIDApKX0pO3JldHVybiBhfTtvb2E9ZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhPT09XCJvYmplY3RcIj9hOntqc25hbWU6YX19O18ucW9hPWZ1bmN0aW9uKGEpe3JldHVybigwLF8ucG9hKSgpLkZOKGEpLmlzTG9hZGVkKCl9O18ucm9hPWZ1bmN0aW9uKGEpe3ZhciBiPSgwLF8ucG9hKSgpO3JldHVybiBhIGluIGIuQWF9O3VvYT1mdW5jdGlvbihhKXthLmxlbmd0aCYmKHNvYSgpLmxvZyhcIk1JU1NJTkdfTU9EVUxFX0lOX01PRFVMRVNFVF9DT1VOVFwiKSxhPWEubWFwKHRvYSksXy5pZChFcnJvcihcInRjYFwiK2Euam9pbihcIiwgXCIpKSx7bGV2ZWw6MCxUaWE6ITB9KSl9O1xuXy54b2E9ZnVuY3Rpb24oYSxiLGMpe2I9Yj09PXZvaWQgMD9mdW5jdGlvbigpe306YjtfLnJvYShhKT8oYj12b2EocG5hLGIpLHdvYSgoMCxfLnBvYSkoKSxhLGIsYyE9PXZvaWQgMD9jOnZvaWQgMCkpOnVvYShbYV0pfTt0b2E9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uZWYoYSl9O3lvYT1mdW5jdGlvbigpe2dvb2dsZS5qc2xtPTc7aWYoZ29vZ2xlLnN5KXtmb3IodmFyIGE9Xy5QYShnb29nbGUuc3kpLGI9YS5uZXh0KCk7IWIuZG9uZTtiPWEubmV4dCgpKXRyeXsoMCxiLnZhbHVlKSgpfWNhdGNoKGMpe18uaWQoYyl9Z29vZ2xlLnN5PVtdO2dvb2dsZS5qc2xtPTg7Xy4kbWEoXCJnb29nbGUuc3hcIixmdW5jdGlvbihjKXt0cnl7YygpfWNhdGNoKGQpe18uaWQoZCl9fSl9ZWxzZSBnb29nbGUuanNsbT04fTtcbkJvYT1mdW5jdGlvbihhLGIsYyl7em9hJiYhQW9hJiYoYiYmKGdvb2dsZS5jJiZIbmEoXCJ4anMybHNcIiksYS50aGVuKGZ1bmN0aW9uKCl7Z29vZ2xlLmMmJihIbmEoXCJ4anMyZWUxXCIpLEhuYShcInZpdFwiKSl9KSksYyYmYS50aGVuKGZ1bmN0aW9uKCl7Z29vZ2xlLmMmJihIbmEoXCJ4anNcIiksXy5OamEoKSl9KSl9O0NvYT1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPW5ldyBTZXQ7YT1fLlBhKGEpO2Zvcih2YXIgZD1hLm5leHQoKTshZC5kb25lO2Q9YS5uZXh0KCkpZD1kLnZhbHVlLF8ucm9hKGQpP2IucHVzaChkKTpjLmFkZChkKTtyZXR1cm57aWRzOmIsSVVkOltdLmNvbmNhdChfLm1kKGMpKX19O1xuXy5Gb2E9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj0oMCxfLnBvYSkoKSxnPUNvYShhKSxoPWcuaWRzO2c9Zy5JVWQ7dmFyIGs9aC5zb21lKGZ1bmN0aW9uKGwpe3JldHVybiFmLkZOKGwpLmlzTG9hZGVkKCl9KTt1b2EoZyk7az8oIUFvYSYmYiYmKGc9em9hP18ucm9hKFwiY3NpZXNcIik/XCJjc2llc1wiOm51bGw6bnVsbCkmJiFoLmluY2x1ZGVzKGcpJiZoLnVuc2hpZnQoZyksaD1Eb2EoZixoKSxoPVByb21pc2UuYWxsKE9iamVjdC52YWx1ZXMoaCkpLGgudGhlbihwbmEpLEJvYShoLGIsYyksZSYmaC50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUoYSl9KSxBb2F8fChFb2E9aCksYyYmKGQmJmgudGhlbih5b2EpLEFvYT0hMCkpOihlJiZlKGEpLGMmJihCb2EoRW9hLCExLCEwKSxkJiZFb2EudGhlbih5b2EpLEFvYT0hMCkpfTtfLkdvYT1mdW5jdGlvbihhLGIpe18uRm9hKGEsITAsITAsITEsYj09PXZvaWQgMD9mdW5jdGlvbigpe306Yil9O1xuXy5Ib2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5aYihiLGZ1bmN0aW9uKGMpe3JldHVybiBuZXcgXy5qZihmdW5jdGlvbihkKXt2YXIgZT1hLkNiKGMpLmVsKCk7aWYoZSlkKGUpO2Vsc2V7dmFyIGY9bmV3IE11dGF0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oKXt2YXIgZz1hLkNiKGMpLmVsKCk7ZyYmKGQoZyksZi5kaXNjb25uZWN0KCkpfSk7Zi5vYnNlcnZlKGEuZ2V0Um9vdCgpLmVsKCkse2NoaWxkTGlzdDohMCxzdWJ0cmVlOiEwfSl9fSl9KX07XG5fLklvYT1mdW5jdGlvbigpe3ZhciBhPUFycmF5LmZyb20oZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcIltkYXRhLWd3cy1pbmFjdGl2ZS1yb290XVwiKSksYj1BcnJheS5mcm9tKGRvY3VtZW50LmJvZHkucXVlcnlTZWxlY3RvckFsbChcIltqc2NvbnRyb2xsZXJdLFtqc2FjdGlvbl1cIikpO2I9Xy5QYShiKTtmb3IodmFyIGM9Yi5uZXh0KCk7IWMuZG9uZTtjPWIubmV4dCgpKWRlbGV0ZSBjLnZhbHVlLl9fR1dTX0lOQUNUSVZFO2E9Xy5QYShhKTtmb3IoYj1hLm5leHQoKTshYi5kb25lO2I9YS5uZXh0KCkpZm9yKGI9Yi52YWx1ZSxjPUFycmF5LmZyb20oYi5xdWVyeVNlbGVjdG9yQWxsKFwiW2pzY29udHJvbGxlcl0sW2pzYWN0aW9uXVwiKSksKGIuZ2V0QXR0cmlidXRlKFwianNjb250cm9sbGVyXCIpfHxiLmdldEF0dHJpYnV0ZShcImpzYWN0aW9uXCIpKSYmYy5wdXNoKGIpLGI9Xy5QYShjKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSljPWMudmFsdWUsYy5nZXRBdHRyaWJ1dGUoXCJkYXRhLWd3cy1pbmFjdGl2ZS1pZ25vcmVcIik9PVxubnVsbCYmKGMuX19HV1NfSU5BQ1RJVkU9MSl9O18uS29hPWZ1bmN0aW9uKGEpe2E9QXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1nd3MtaW5hY3RpdmUtcm9vdD1cIicrKGE9PT12b2lkIDA/XCIxXCI6YSkrJ1wiXScpKTtmb3IodmFyIGI9Xy5QYShhKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSljLnZhbHVlLnJlbW92ZUF0dHJpYnV0ZShcImRhdGEtZ3dzLWluYWN0aXZlLXJvb3RcIik7Xy5Jb2EoKTthLmZvckVhY2goZnVuY3Rpb24oZCl7cmV0dXJuIF8ubWYoZCxKb2EsZCl9KX07Xy5Mb2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/YSBpbnN0YW5jZW9mIEVsZW1lbnQ/XCJfX0dXU19JTkFDVElWRVwiaW4gYTphIGluc3RhbmNlb2YgXy5DP1wiX19HV1NfSU5BQ1RJVkVcImluIGEuZ2V0Um9vdCgpLmVsKCk6ITE6ITF9O1xuUG9hPWZ1bmN0aW9uKGEsYixjLGQsZSl7aWYoTW9hIT09YSlpZihhPWV8fEVycm9yKGEpLGI9YS5uYW1lPT09XCJTeW50YXhFcnJvclwifHxhLm1lc3NhZ2Uuc3Vic3RyaW5nKDAsMTEpPT09XCJTeW50YXhFcnJvclwifHxhLm1lc3NhZ2UuaW5kZXhPZihcIlNjcmlwdCBlcnJvclwiKSE9PS0xPzM6MCxiPWI9PT12b2lkIDA/MjpiLGdvb2dsZS5kbClnb29nbGUuZGwoYSxiLHZvaWQgMCk7ZWxzZSBpZihhJiZhLm1lc3NhZ2UmJmEubWVzc2FnZSE9PVwiRXJyb3IgbG9hZGluZyBzY3JpcHRcIiYmIShOb2E+PTEwKSl7Tm9hKys7Yz17fTtkPWVuY29kZVVSSUNvbXBvbmVudDtlPVwiL2dlbl8yMDQ/YXR5cD1pJmVpPVwiK2QoZ29vZ2xlLmtFSSk7Z29vZ2xlLmtFWFBJJiYoZSs9XCImamV4cGlkPVwiK2QoZ29vZ2xlLmtFWFBJKSk7ZSs9XCImc3JjcGc9XCIrZChnb29nbGUuc24pK1wiJmpzcj1cIitkKE9vYS5qc3IpK1wiJmJ2ZXI9XCIrZChPb2EuYnYpO3ZhciBmPWEubGluZU51bWJlcjtmIT09dm9pZCAwJiYoZSs9XCImbGluZT1cIitcbmYpO2lmKGY9YS5maWxlTmFtZSlmLmluZGV4T2YoXCItZXh0ZW5zaW9uOi9cIik+MCYmKGI9MyksZSs9XCImc2NyaXB0PVwiK2QoZik7ZSs9XCImanNlbD1cIitiO2Zvcih2YXIgZyBpbiBjKWUrPVwiJlwiLGUrPWQoZyksZSs9XCI9XCIsZSs9ZChjW2ddKTtlPWUrXCImZW1zZz1cIitkKGEubmFtZStcIjogXCIrYS5tZXNzYWdlKTtlPWUrXCImanNzdD1cIitkKGEuc3RhY2t8fFwiTi9BXCIpO2UubGVuZ3RoPj0xMjI4OCYmKGU9ZS5zdWJzdHIoMCwxMjI4OCkpO2dvb2dsZS5sb2coMCxcIlwiLGUpfU1vYT1udWxsfTtcblFvYT1mdW5jdGlvbigpe3ZhciBhPVwicGVyZm9ybWFuY2VcImluIHdpbmRvdz9mdW5jdGlvbigpe3JldHVybiBwZXJmb3JtYW5jZS5ub3coKX06ZnVuY3Rpb24oKXtyZXR1cm4gRGF0ZS5ub3coKX07aWYoISh0eXBlb2YgZ29vZ2xlLmJ1ZHQhPT1cIm51bWJlclwifHxnb29nbGUuYnVkdDw9MCkpe2Zvcih2YXIgYj1hKCkrZ29vZ2xlLmJ1ZHQsYz1nb29nbGUuYnVkdGJvdW5kP2dvb2dsZS5idWR0Ym91bmQ6MUU3LGQ9MDtkPGM7ZCsrKWlmKGEoKT49YilyZXR1cm47Xy5TZCgpLk1jKFwiYnVkdC1tYXhcIixcIjFcIikuTWMoXCJidWR0XCIsXCJcIitnb29nbGUuYnVkdCkuTWMoXCJidWR0Ym91bmRcIixcIlwiK2dvb2dsZS5idWR0Ym91bmQpLmxvZygpfX07Um9hPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGIpfHxhLnF1ZXJ5U2VsZWN0b3IoXCIjXCIrYil9O18ubmY9ZnVuY3Rpb24oYSxiKXthLl9fc295X3NraXBfaGFuZGxlcj1ifTtTb2E9ZnVuY3Rpb24oKXt9O1xuVG9hPWZ1bmN0aW9uKGEsYil7Zm9yKDthLmxlbmd0aD5iOylhLnBvcCgpfTtVb2E9ZnVuY3Rpb24oYSl7YT1BcnJheShhKTtUb2EoYSwwKTtyZXR1cm4gYX07Xy5Wb2E9ZnVuY3Rpb24oYSxiLGMpe2lmKGM9PW51bGwpYS5yZW1vdmVBdHRyaWJ1dGUoYik7ZWxzZXt2YXIgZDsoZD1iLmxhc3RJbmRleE9mKFwieG1sOlwiLDApPT09MD9cImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZVwiOmIubGFzdEluZGV4T2YoXCJ4bGluazpcIiwwKT09PTA/XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCI6bnVsbCk/YS5zZXRBdHRyaWJ1dGVOUyhkLGIsYyk6YS5zZXRBdHRyaWJ1dGUoYixjKX19O1xuWG9hPWZ1bmN0aW9uKGEsYixjKXthPWEuc3R5bGU7aWYodHlwZW9mIGM9PT1cInN0cmluZ1wiKWEuY3NzVGV4dD1jO2Vsc2V7YS5jc3NUZXh0PVwiXCI7Zm9yKHZhciBkIGluIGMpaWYoV29hLmNhbGwoYyxkKSl7Yj1hO3ZhciBlPWQsZj1jW2RdO2UuaW5kZXhPZihcIi1cIik+PTA/Yi5zZXRQcm9wZXJ0eShlLGYpOmJbZV09Zn19fTtZb2E9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXR5cGVvZiBjO2Q9PT1cIm9iamVjdFwifHxkPT09XCJmdW5jdGlvblwiP2FbYl09YzpfLlZvYShhLGIsYyl9O1pvYT1mdW5jdGlvbigpe3ZhciBhPW5ldyBTb2E7YS5fX2RlZmF1bHQ9WW9hO2Euc3R5bGU9WG9hO3JldHVybiBhfTskb2E9ZnVuY3Rpb24oYSxiLGMsZCl7KGRbYl18fGQuX19kZWZhdWx0KShhLGIsYyl9O2JwYT1mdW5jdGlvbihhLGIsYyl7Yj1uZXcgYXBhKGIsYyk7cmV0dXJuIGEuX19pbmNyZW1lbnRhbERPTURhdGE9Yn07XG5kcGE9ZnVuY3Rpb24oYSxiKXtpZihhLl9faW5jcmVtZW50YWxET01EYXRhKXJldHVybiBhLl9faW5jcmVtZW50YWxET01EYXRhO3ZhciBjPWEubm9kZVR5cGU9PT0xP2EubG9jYWxOYW1lOmEubm9kZU5hbWUsZD1fLmNwYTtkPWEubm9kZVR5cGU9PT0xJiZkIT1udWxsP2EuZ2V0QXR0cmlidXRlKGQpOm51bGw7Yj1icGEoYSxjLGEubm9kZVR5cGU9PT0xP2R8fGI6bnVsbCk7aWYoYS5ub2RlVHlwZT09PTEmJihhPWEuYXR0cmlidXRlcyxjPWEubGVuZ3RoKSl7ZD1iLm9hfHwoYi5vYT1Vb2EoYyoyKSk7Zm9yKHZhciBlPTAsZj0wO2U8YztlKz0xLGYrPTIpe3ZhciBnPWFbZV0saD1nLnZhbHVlO2RbZl09Zy5uYW1lO2RbZisxXT1ofX1yZXR1cm4gYn07ZXBhPWZ1bmN0aW9uKGEsYixjLGQsZSl7cmV0dXJuIGI9PWMmJmQ9PWV9O1xuaHBhPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1fLnFmLGM9ZnBhKCk7YyE9PWE7KXt2YXIgZD1jLm5leHRTaWJsaW5nO2IucmVtb3ZlQ2hpbGQoYyk7Z3BhLkFhLnB1c2goYyk7Yz1kfX07ZnBhPWZ1bmN0aW9uKCl7cmV0dXJuIHVmP3VmLm5leHRTaWJsaW5nOl8ucWYuZmlyc3RDaGlsZH07XG5scGE9ZnVuY3Rpb24oYSxiKXt1Zj1mcGEoKTt2YXIgYzthOntpZihjPXVmKXtkb3t2YXIgZD1jLGU9YSxmPWIsZz1kcGEoZCxmKTtpZihpcGEoZCxlLGcuQWEsZixnLmtleSkpYnJlYWsgYX13aGlsZShiJiYoYz1jLm5leHRTaWJsaW5nKSl9Yz1udWxsfWN8fChhPT09XCIjdGV4dFwiPyhhPWpwYS5jcmVhdGVUZXh0Tm9kZShcIlwiKSxicGEoYSxcIiN0ZXh0XCIsbnVsbCkpOihjPWpwYSxkPV8ucWYsdHlwZW9mIGE9PT1cImZ1bmN0aW9uXCI/Yz1uZXcgYTpjPShkPWE9PT1cInN2Z1wiP1wiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIjphPT09XCJtYXRoXCI/XCJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MXCI6ZD09bnVsbHx8ZHBhKGQpLkFhPT09XCJmb3JlaWduT2JqZWN0XCI/bnVsbDpkLm5hbWVzcGFjZVVSSSk/Yy5jcmVhdGVFbGVtZW50TlMoZCxhKTpjLmNyZWF0ZUVsZW1lbnQoYSksYnBhKGMsYSxiKSxhPWMpLGdwYS5vYS5wdXNoKGEpLGM9YSk7YT1jO2lmKGEhPT11Zil7aWYoa3BhLmluZGV4T2YoYSk+PVxuMClmb3IoYj1fLnFmLGM9YS5uZXh0U2libGluZyxkPXVmO2QhPT1udWxsJiZkIT09YTspZT1kLm5leHRTaWJsaW5nLGIuaW5zZXJ0QmVmb3JlKGQsYyksZD1lO2Vsc2UgXy5xZi5pbnNlcnRCZWZvcmUoYSx1Zik7dWY9YX19O18ubXBhPWZ1bmN0aW9uKGEsYil7bHBhKGEsYik7Xy5xZj11Zjt1Zj1udWxsO3JldHVybiBfLnFmfTtfLm5wYT1mdW5jdGlvbigpe2hwYShudWxsKTt1Zj1fLnFmO18ucWY9Xy5xZi5wYXJlbnROb2RlO3JldHVybiB1Zn07XG50cGE9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/e306Yjt2YXIgYz1iLm1hdGNoZXM9PT12b2lkIDA/ZXBhOmIubWF0Y2hlcztyZXR1cm4gZnVuY3Rpb24oZCxlLGYpe3ZhciBnPWdwYSxoPWpwYSxrPWtwYSxsPW9wYSxuPXVmLHI9Xy5xZix0PWlwYTtqcGE9ZC5vd25lckRvY3VtZW50O2dwYT1uZXcgcHBhKGQpO2lwYT1jO29wYT1bXTt1Zj1udWxsO3ZhciB1PV8ucWY9ZC5wYXJlbnROb2RlLHosQj1xcGEuY2FsbChkKTtpZigoej1CLm5vZGVUeXBlPT09MTF8fEIubm9kZVR5cGU9PT05P0IuYWN0aXZlRWxlbWVudDpudWxsKSYmZC5jb250YWlucyh6KSl7Zm9yKEI9W107eiE9PXU7KUIucHVzaCh6KSx6PXoucGFyZW50Tm9kZXx8KHU/ei5ob3N0Om51bGwpO3U9Qn1lbHNlIHU9W107a3BhPXU7dHJ5e3JldHVybiBhKGQsZSxmKX1maW5hbGx5e2Q9Z3BhLF8ucnBhJiZkLm9hLmxlbmd0aD4wJiYoMCxfLnJwYSkoZC5vYSksXy5zcGEmJmQuQWEubGVuZ3RoPjAmJigwLF8uc3BhKShkLkFhKSxcbmpwYT1oLGdwYT1nLGlwYT10LG9wYT1sLHVmPW4sXy5xZj1yLGtwYT1rfX19O3VwYT1mdW5jdGlvbihhKXtyZXR1cm4gdHBhKGZ1bmN0aW9uKGIsYyxkKXtfLnFmPXVmPWI7dWY9bnVsbDtjKGQpO2hwYShudWxsKTt1Zj1fLnFmO18ucWY9Xy5xZi5wYXJlbnROb2RlO3JldHVybiBifSxhKX07dnBhPWZ1bmN0aW9uKGEsYixjLGQpe3ZmLnB1c2goJG9hKTt2Zi5wdXNoKGEpO3ZmLnB1c2goYik7dmYucHVzaChjKTt2Zi5wdXNoKGQpfTtcbl8uenBhPWZ1bmN0aW9uKGEpe2E9YT09PXZvaWQgMD93cGE6YTt2YXIgYj1fLnFmLGM9ZHBhKGIpLGQ9YTthPW9wYTtjPWMub2F8fChjLm9hPVVvYShhLmxlbmd0aCkpO2Zvcih2YXIgZT0hYy5sZW5ndGh8fCExLGY9MDtmPGEubGVuZ3RoO2YrPTIpe3ZhciBnPWFbZl07aWYoZSljW2ZdPWc7ZWxzZSBpZihjW2ZdIT09ZylicmVhazt2YXIgaD1hW2YrMV07aWYoZXx8Y1tmKzFdIT09aCljW2YrMV09aCx2cGEoYixnLGgsZCl9aWYoZjxhLmxlbmd0aHx8ZjxjLmxlbmd0aCl7Zm9yKGY9ZT1mO2Y8Yy5sZW5ndGg7Zis9Mil4cGFbY1tmXV09Y1tmKzFdO2ZvcihmPWU7ZjxhLmxlbmd0aDtmKz0yKWU9YVtmXSxnPWFbZisxXSx4cGFbZV0hPT1nJiZ2cGEoYixlLGcsZCksY1tmXT1lLGNbZisxXT1nLGRlbGV0ZSB4cGFbZV07VG9hKGMsYS5sZW5ndGgpO2Zvcih2YXIgayBpbiB4cGEpdnBhKGIsayx2b2lkIDAsZCksZGVsZXRlIHhwYVtrXX1iPXlwYTt5cGE9az12Zi5sZW5ndGg7Zm9yKGQ9YjtkPFxuaztkKz01KSgwLHZmW2RdKSh2ZltkKzFdLHZmW2QrMl0sdmZbZCszXSx2ZltkKzRdKTt5cGE9YjtUb2EodmYsYik7VG9hKGEsMCl9O0FwYT1mdW5jdGlvbihhKXtscGEoXCIjdGV4dFwiLG51bGwpO3ZhciBiPXVmO3ZhciBjPWRwYShiKTtpZihjLnRleHQhPT1hKXtjPWMudGV4dD1hO2Zvcih2YXIgZD0xO2Q8YXJndW1lbnRzLmxlbmd0aDtkKz0xKWM9KDAsYXJndW1lbnRzW2RdKShjKTtiLmRhdGEhPT1jJiYoYi5kYXRhPWMpfX07QnBhPWZ1bmN0aW9uKGEpe2E9YS5fX3NveTthLnBfKCExKTtyZXR1cm4gYX07RHBhPWZ1bmN0aW9uKGEpe2Zvcig7YSYmIWEuaFZiJiYhQ3BhKGEpOylhPWEucGFyZW50RWxlbWVudDtyZXR1cm57ZWxlbWVudDphLEw4YjphLmhWYn19O1xuSHBhPWZ1bmN0aW9uKCl7Xy5FcGEoe3NveTpmdW5jdGlvbihhKXt2YXIgYj1hLmdldFJvb3Q/YS5nZXRSb290KCkuZWwoKTphLldHKCk7dmFyIGM9Yi5fX3NveT9CcGEoYik6bnVsbDtpZihjKXJldHVybiBfLmdlKGMpO3ZhciBkPURwYShiKSxlPWQuZWxlbWVudDtlLlRsYnx8KGUuVGxiPW5ldyBTZXQpO3ZhciBmPWUuVGxiO2M9bmV3IFNldDtmb3IodmFyIGc9Xy5QYShmKSxoPWcubmV4dCgpOyFoLmRvbmU7aD1nLm5leHQoKSloPWgudmFsdWUsXy53ZihiLGgpJiZjLmFkZChoKTtjLnNpemV8fChmLmFkZChiKSxiLl9fc295X3RhZ2dlZF9mb3Jfc2tpcD0hMCk7YT1kLkw4Yj9kLkw4Yi50aGVuKGZ1bmN0aW9uKCl7Zi5jbGVhcigpO3ZhciBrPWIuX19zb3k/QnBhKGIpOm51bGw7aWYoaylyZXR1cm4gaztlLl9fc295LnJlbmRlcigpO3JldHVybiBCcGEoYil9KTpfLnhmKFthLlBvKF8uRnBhLGQuZWxlbWVudCksXy55ZihhLHtzZXJ2aWNlOntyY2I6Xy56Zn19KV0pLnRoZW4oZnVuY3Rpb24oayl7dmFyIGw9XG5rWzFdLnNlcnZpY2UucmNiO3JldHVybiBrWzBdLlQ1YigpLnRoZW4oZnVuY3Rpb24obil7ZC5lbGVtZW50LmdldEF0dHJpYnV0ZShcImpzcmVuZGVyZXJcIik7Zi5jbGVhcigpO2UuX19pbmNyZW1lbnRhbERPTURhdGF8fGwuVndiKGUsbi50ZW1wbGF0ZSxuLmFyZ3MpO2lmKCghYi5fX3NveXx8IUJwYShiKSkmJmUuX19pbmNyZW1lbnRhbERPTURhdGEpe249XCJIeWRyYXRpb24gc291cmNlIFwiKyhkb2N1bWVudC5ib2R5LmNvbnRhaW5zKGUpP1wiaW4gZG9tXCI6XCJub3QgaW4gZG9tXCIpK1wiO1wiO3ZhciByPVwiRWwgc291cmNlIFwiKyhkb2N1bWVudC5ib2R5LmNvbnRhaW5zKGIpP1wiaW4gZG9tXCI6XCJub3QgaW4gZG9tXCIpO18uY2EoRXJyb3IoXCJ5Y2BcIituK1wiYFwiK3IrXCJgXCIrKGIuZ2V0QXR0cmlidXRlKFwianNjb250cm9sbGVyXCIpfHxiLmdldEF0dHJpYnV0ZShcImpzbW9kZWxcIikpKSk7cmV0dXJuIG51bGx9cmV0dXJuIEJwYShiKX0pfSk7Yi5UbGI9YztiLmhWYj1hO3JldHVybiBhLnRoZW4oZnVuY3Rpb24oayl7R3BhJiZcbmsuTTIoR3BhKTtyZXR1cm4ga30pfX0pfTtKcGE9ZnVuY3Rpb24oKXtEZj1uZXcgSXBhfTtfLkVmPWZ1bmN0aW9uKGEsYil7aWYoRGYpcmV0dXJuJyBkYXRhLXNveWxvZz1cIicrKERmLmVsZW1lbnRzLnB1c2gobmV3IEtwYShhLkdtKCkuZ2V0SWQoKSxhLmdldERhdGEoKSxiKSktMSkrJ1wiJztpZihiKXRocm93IEVycm9yKFwiemNcIik7cmV0dXJuXCJcIn07Xy5GZj1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIERmPyhhPURmLm9hLnB1c2gobmV3IExwYShhLGIpKS0xLFwiIGRhdGEtc295bG9nZ2luZ2Z1bmN0aW9uLVwiK2MrJz1cIicrYSsnXCInKTpcIlwifTtcbk5wYT1mdW5jdGlvbihhLGIpe3ZhciBjPS0xO2lmKCEoYSBpbnN0YW5jZW9mIEVsZW1lbnQpKXJldHVyblthXTthLmhhc0F0dHJpYnV0ZShcImRhdGEtc295bG9nXCIpJiYoKGM9YS5nZXRBdHRyaWJ1dGUoXCJkYXRhLXNveWxvZ1wiKSk/Yz1wYXJzZUludChjLDEwKTpjPS0xLGMhPS0xJiZiLmVudGVyKERmLmVsZW1lbnRzW2NdKSk7dmFyIGQ9e30sZT1hO2EudGFnTmFtZT09PVwiVkVBVFRSXCImJihlPWEuZmlyc3RFbGVtZW50Q2hpbGQpO2Zvcih2YXIgZj1hLmF0dHJpYnV0ZXMubGVuZ3RoLTE7Zj49MDstLWYpe3ZhciBnPWEuYXR0cmlidXRlc1tmXS5uYW1lO2lmKF8uR2YoZyxcImRhdGEtc295bG9nZ2luZ2Z1bmN0aW9uLVwiKSlpZihlLmhhc0F0dHJpYnV0ZShcImRhdGEtc295bG9nXCIpJiZhLnRhZ05hbWU9PT1cIlZFQVRUUlwiKV8uQ2MoTXBhLGUsZyxhLmF0dHJpYnV0ZXNbZl0udmFsdWUpO2Vsc2V7dmFyIGg9RGYub2FbcGFyc2VJbnQoYS5hdHRyaWJ1dGVzW2ZdLnZhbHVlLDEwKV07ZFtnLnN1YnN0cmluZygyNCldPVxuYi5VRChoLm5hbWUsaC5hcmdzKTtlLnJlbW92ZUF0dHJpYnV0ZShnKX19Zm9yKHZhciBrIGluIGQpZS5zZXRBdHRyaWJ1dGUoayxkW2tdKTtpZihhLmNoaWxkcmVuKWZvcihrPUFycmF5LmZyb20oYS5jaGlsZHJlbiksZD0wO2Q8ay5sZW5ndGg7ZCsrKWU9TnBhKGtbZF0sYiksa1tkXS50YWdOYW1lPT09XCJWRUFUVFJcIj9PcGEoYSxrW2RdLE5wYShrW2RdLmNoaWxkcmVuWzBdLGIpKTpPcGEoYSxrW2RdLGUpO2lmKGM9PT0tMSlyZXR1cm5bYV07Yi5leGl0KCk7aWYoRGYuZWxlbWVudHNbY10uRlVhKXJldHVybltdO2lmKGEudGFnTmFtZSE9PVwiVkVMT0dcIilhLnJlbW92ZUF0dHJpYnV0ZShcImRhdGEtc295bG9nXCIpO2Vsc2UgaWYoYS5jaGlsZE5vZGVzKXJldHVybiBBcnJheS5mcm9tKGEuY2hpbGROb2Rlcyk7cmV0dXJuW2FdfTtcbk9wYT1mdW5jdGlvbihhLGIsYyl7aWYoYy5sZW5ndGg9PT0wKWEucmVtb3ZlQ2hpbGQoYik7ZWxzZSBpZihjLmxlbmd0aD09PTEpYiE9PWNbMF0mJmEucmVwbGFjZUNoaWxkKGNbMF0sYik7ZWxzZXtjPV8uUGEoYyk7Zm9yKHZhciBkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSlhLmluc2VydEJlZm9yZShkLnZhbHVlLGIpO2EucmVtb3ZlQ2hpbGQoYil9fTtRcGE9ZnVuY3Rpb24oKXt2YXIgYT1fLkhmKF8uUHBhKTtHcGE9YTtfLnJrYShfLnpmLGZ1bmN0aW9uKGIpe2IuTTIoYSl9KX07Xy5UcGE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5ScGEoXy5SYyhcIncyYnRBZVwiKSxfLlNwYSxuZXcgXy5TcGEpfTtfLlZwYT1mdW5jdGlvbihhKXtpZihVcGEuaGFzKGEpKXJldHVybiBVcGEuZ2V0KGEpO3Rocm93IEVycm9yKFwiQWNgXCIrYSk7fTtcbldwYT1mdW5jdGlvbihhKXtmb3IodmFyIGI9bmV3IE1hcCxjPV8uUGEoT2JqZWN0LmtleXMoYSkpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKWQ9ZC52YWx1ZSxiLnNldChhW2RdLnN0cmluZyxhW2RdLlFfKTtyZXR1cm4gYn07Xy5hcWE9ZnVuY3Rpb24oYSl7aWYoYT1fLklmKGEsXy5aYywxLFhwYSkpXy5ZcGEoYSxacGEoXy5KZihhLDIpKSksXy4kcGEoYSxacGEoXy5KZihhLDMpKSl9O1pwYT1mdW5jdGlvbihhKXtyZXR1cm4gYT09PXZvaWQgMD9hOmE+PTA/YTphKzQyOTQ5NjcyOTZ9O18uZHFhPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBfLlljO2JxYXx8KGJxYT1uZXcgXy5aYyxfLiRwYShicWEsMCksXy5ZcGEoYnFhLDApLF8uY3FhKGJxYSxEYXRlLm5vdygpKjFFMykpO18uTWIoYixfLlpjLDEsYnFhKTtfLktmKGIsMixhKTtyZXR1cm4gYn07Xy5NZj1mdW5jdGlvbihhLGIsYyl7aWYoYSYmKGE9Xy5XYyhhLFwidmVkXCIpKSlyZXR1cm4gbmV3IF8uTGYoYSxiLGMpfTtcbl8uZXFhPWZ1bmN0aW9uKGEpe2lmKGEpcmV0dXJuIF8ubmUoYSxmdW5jdGlvbihiKXtyZXR1cm4gYiBpbnN0YW5jZW9mIEVsZW1lbnQmJl8uTmYoYixcInZlZFwiKX0sITApfHx2b2lkIDB9O18uaHFhPWZ1bmN0aW9uKGEsYixjLGQpe2E9YShifHxmcWEsYyk7ZD1kfHxfLlBlKCk7YSYmYS5rZD9kPWEua2QoKTooZD1kLmNyZWF0ZUVsZW1lbnQoXCJESVZcIiksYT1fLmdxYShhKSxfLk9mKGQsYSkpO2QuY2hpbGROb2Rlcy5sZW5ndGg9PTEmJihhPWQuZmlyc3RDaGlsZCxhLm5vZGVUeXBlPT0xJiYoZD1hKSk7cmV0dXJuIGR9O18uZ3FhPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRhKGEpP2EuQV8mJihhPWEuQV8oKSxhIGluc3RhbmNlb2YgXy5yYyk/YTpfLmlxYShcInpTb3l6XCIpOl8uaXFhKFN0cmluZyhhKSl9O1xubHFhPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPVtdLGQ9YS5sZW5ndGgsZT0wLGY9W10sZyxoLGs9MDtrPGQ7KXtzd2l0Y2goZSl7Y2FzZSAwOnZhciBsPWEuaW5kZXhPZihcIjxcIixrKTtpZihsPDApe2lmKGMubGVuZ3RoPT09MClyZXR1cm4gYTtjLnB1c2goYS5zdWJzdHJpbmcoaykpO2s9ZH1lbHNlIGMucHVzaChhLnN1YnN0cmluZyhrLGwpKSxoPWwsaz1sKzEsanFhPyhrcWEubGFzdEluZGV4PWssbD1rcWEuZXhlYyhhKSk6KGtxYS5sYXN0SW5kZXg9MCxsPWtxYS5leGVjKGEuc3Vic3RyaW5nKGspKSksbD8oZj1bXCI8XCIsbFswXV0sZz1sWzFdLGU9MSxrKz1sWzBdLmxlbmd0aCk6Yy5wdXNoKFwiPFwiKTticmVhaztjYXNlIDE6bD1hLmNoYXJBdChrKyspO3N3aXRjaChsKXtjYXNlIFwiJ1wiOmNhc2UgJ1wiJzp2YXIgbj1hLmluZGV4T2YobCxrKTtuPDA/az1kOihmLnB1c2gobCxhLnN1YnN0cmluZyhrLG4rMSkpLGs9bisxKTticmVhaztjYXNlIFwiPlwiOmYucHVzaChsKTtjLnB1c2goYihmLmpvaW4oXCJcIiksXG5nKSk7ZT0wO2Y9W107aD1nPW51bGw7YnJlYWs7ZGVmYXVsdDpmLnB1c2gobCl9YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigpO31lPT09MSYmaz49ZCYmKGs9aCsxLGMucHVzaChcIjxcIiksZT0wLGY9W10saD1nPW51bGwpfXJldHVybiBjLmpvaW4oXCJcIil9O18ubXFhPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRhKGEpJiZhLmpuIT09dm9pZCAwJiZhLmpuIGluc3RhbmNlb2YgXy5RZiYmYS5PaSE9PXZvaWQgMCYmKGEud3I9PT12b2lkIDB8fGEud3IgaW5zdGFuY2VvZiBfLnEpPyEwOiExfTtucWE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5JQWU7Xy5tcWEoYSkmJihiPWEubWV0YWRhdGE/IWEubWV0YWRhdGEuZmF0YWw6dm9pZCAwKTtyZXR1cm4gYn07XG5wcWE9ZnVuY3Rpb24oYSxiKXtpZighYSlyZXR1cm4gXy5nZSgpO3ZhciBjPWEuSjg7cmV0dXJuIF8ubXFhKGEpJiYoYz1hLm1ldGFkYXRhP2EubWV0YWRhdGEuSjg6dm9pZCAwLGEubWV0YWRhdGEmJmEubWV0YWRhdGEuZDljKT9fLnlmKGIse3NlcnZpY2U6e3U2YTpfLm9xYX19KS50aGVuKGZ1bmN0aW9uKGQpe2Q9ZC5zZXJ2aWNlLnU2YTtmb3IodmFyIGU9Xy5QYShhLm1ldGFkYXRhLmQ5YyksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpZj1mLnZhbHVlLF8uU2YoZC5nZXQoZi54eGUpLCExKSYmKGM9Zi5KOCk7cmV0dXJuIGN9KTpfLmdlKGMpfTtcbnJxYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIHBxYShhLGMpLnRoZW4oZnVuY3Rpb24oZCl7aWYoZD09dm9pZCAwfHxkPDApcmV0dXJuIGI7dmFyIGU9ITE7Yi50aGVuKGZ1bmN0aW9uKCl7ZT0hMH0sZnVuY3Rpb24oKXt9KTtkPV8uVGYoZCxfLmdlKG51bGwpKTthLm1ldGFkYXRhJiYoYS5tZXRhZGF0YS5IN2I9ITEpO2QudGhlbihmdW5jdGlvbigpe2EubWV0YWRhdGEmJihhLm1ldGFkYXRhLkg3Yj0hZSl9KTtyZXR1cm4gXy5xcWEoW2IsZF0pfSl9O3NxYT1mdW5jdGlvbihhLGIpe3JldHVybiBucWEoYSk/Yi56cihmdW5jdGlvbigpe3JldHVybiBfLmdlKG51bGwpfSk6Yn07XG53cWE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5tcWEoYSkmJmEubWV0YWRhdGEmJmEubWV0YWRhdGEuT0lkP2IudGhlbihmdW5jdGlvbihjKXtpZighYyYmYS5tZXRhZGF0YSYmYS5tZXRhZGF0YS5IN2Ipe2M9bmV3IHRxYTt2YXIgZD1uZXcgXy5VZjtjLlpLZD12b2lkIDA7Xy5PZ2EoZCxcIndpei5kYXRhLmNsaWVudHMuV2l6RGF0YVRpbWVvdXRFcnJvclwiLFwidHlwZS5nb29nbGVhcGlzLmNvbVwiKTtfLlZmKGQsMixjLCExKTtyZXR1cm4gXy51cWEoXy52cWEobmV3IF8uV2YsMiksW2RdKX19LGZ1bmN0aW9uKGMpe2lmKGMgaW5zdGFuY2VvZiBfLlhmKXJldHVybiBjLnN0YXR1c30pOmJ9O18ueHFhPWZ1bmN0aW9uKGEsYixjKXthLmhhc0F0dHJpYnV0ZShiKXx8Xy5ZZi5fX2RlZmF1bHQoYSxiLGMpfTtcbnpxYT1mdW5jdGlvbigpe18uRXBhKHtkYXRhOmZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ueWYoYSx7anNkYXRhOntwOmJ9fSkudGhlbihmdW5jdGlvbihjKXtyZXR1cm4gYy5qc2RhdGEucH0pfX0pO0hwYSgpO3lxYSgpO1FwYSgpO18uWWZbXCJkYXRhLXZlZFwiXT1fLnhxYTtfLllmW1wiZGF0YS1odmVpZFwiXT1fLnhxYX07SXFhPWZ1bmN0aW9uKCl7dmFyIGE9Xy5KZC5nZXRJbnN0YW5jZSgpLnhuKCk7aWYoYSl7Xy5BcWEoYSx3aW5kb3cuZG9jdW1lbnQpO3ZhciBiPW5ldyBCcWEoYSxfLkhmKF8uUHBhKSk7YS5yZWdpc3RlclNlcnZpY2UoXy5aZixuZXcgXy5hZyhfLmNnKCkpKTthLnJlZ2lzdGVyU2VydmljZShfLmZnLGIpO2E9d2luZG93Lndpel9wcm9ncmVzcztiLkVyKCkubGlzdGVuKF8uQ3FhLGEpO0RxYShiKTtfLkVxYT0hMH1fLkZxYSh7cnBjOl8uR3FhKF8uSHFhLFwicnBjXCIpfSk7enFhKCl9O1xuXy5LcWE9ZnVuY3Rpb24oYSxiKXtpZihhLlBjKFwiZGF0YS1wcmVzZXJ2ZS1qc1wiKT09bnVsbCl7aWYoYj1ifHxhLlBjKFwiZGF0YS1zdHJpcC1qc1wiKSE9bnVsbClmb3IodmFyIGM9Xy5QYShKcWEpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKV8uZ2coYSxkLnZhbHVlKTtfLmhnKGEuY2hpbGRyZW4oKSxmdW5jdGlvbihlKXtyZXR1cm4gXy5LcWEoZSxiKX0pfX07THFhPWZ1bmN0aW9uKGEpe3JldHVybntldmVudFR5cGU6YS5ldmVudFR5cGUsZXZlbnQ6YS5ldmVudCx0YXJnZXRFbGVtZW50OmEudGFyZ2V0RWxlbWVudCxlaWM6YS5laWMsZWlhOmEuZWlhLHRpbWVTdGFtcDphLnRpbWVTdGFtcCxlaXJwOmEuZWlycCxlaWFjazphLmVpYWNrLGVpcjphLmVpcn19O18uTnFhPWZ1bmN0aW9uKCl7dmFyIGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcIltqc25hbWU9J2NvRlN4ZSddXCIpO2E9Xy5QYShhKTtmb3IodmFyIGI9YS5uZXh0KCk7IWIuZG9uZTtiPWEubmV4dCgpKU1xYShiLnZhbHVlKX07XG5fLlBxYT1mdW5jdGlvbihhKXtyZXR1cm4oYT1fLmRtYShhLGZ1bmN0aW9uKGIpe3JldHVybiBPcWEuaGFzKGIpfSwhMCwhMCkpP09xYS5nZXQoYSk6bnVsbH07TXFhPWZ1bmN0aW9uKGEsYil7aWYoKGI9PT12b2lkIDA/MDpiKXx8IU9xYS5oYXMoYSkpYj17cm9vdDphLGRWOm5ldyBRcWF9LE9xYS5zZXQoYSxiKSxScWEmJlJxYShiKX07XG5UcWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1PcWEuZ2V0KGEpLGQ9e3Jvb3Q6YSxkVjpifTtPcWEuc2V0KGEsZCk7Yz9TcWEoYy5kVixiKTpzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIGUsZixnLGg9KGc9KGU9T3FhLmdldChhKSk9PW51bGw/dm9pZCAwOihmPWUucm9vdCk9PW51bGw/dm9pZCAwOmYuaWQpIT1udWxsP2c6XCJudWxsXCI7ZT1BcnJheS5mcm9tKE9xYS5lbnRyaWVzKCkpLm1hcChmdW5jdGlvbihrKXt2YXIgbD1fLlBhKGspO2s9bC5uZXh0KCkudmFsdWU7bD1sLm5leHQoKS52YWx1ZTtyZXR1cm4gay5pZCtcIjogXCIrbC5yb290LmlkfSkuam9pbihcIiwgXCIpO3Rocm93IEVycm9yKFwiWmNgXCIraCtcImBcIitlK1wiYFwiK2EuaWQpO30sM0UzKTtScWEmJlJxYShkKX07VXFhPWZ1bmN0aW9uKGEpe1JxYT1hO2Zvcih2YXIgYj1fLlBhKE9xYS52YWx1ZXMoKSksYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpYShjLnZhbHVlKX07XG5fLm9nPWZ1bmN0aW9uKGEsYil7YT1hPT09dm9pZCAwP2RvY3VtZW50OmE7Yj1iPT09dm9pZCAwPyExOmI7Xy5WcWE/Xy5pZyhhKTpXcWEmJihfLlhxYSYmYSYmXy5LcWEobmV3IF8uamcoW18ua2coYSkuZG9jdW1lbnRFbGVtZW50XSksITEpLGImJl8ubGcoKSxfLk5xYSgpLF8uaWcoYSkpfTtfLnJnPWZ1bmN0aW9uKGEpe3JldHVybiBZcWEucHJvbWlzZS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIF8ueGUoZG9jdW1lbnQpLmxkKF8ucGcoYSkpfSl9O1pxYT1mdW5jdGlvbihhKXtyZXR1cm57YWxsTG9hZGVkOm5ldyBQcm9taXNlKGZ1bmN0aW9uKGIpe18uR29hKGEsYil9KX19O2JyYT1mdW5jdGlvbihhKXtpZihnb29nbGUuamwmJmdvb2dsZS5qbC51d3Ape2E9Xy5QYShhKTtmb3IodmFyIGI9YS5uZXh0KCk7IWIuZG9uZTtiPWEubmV4dCgpKShiPSRxYS5nZXQoYi52YWx1ZSkpJiZiLnJlc29sdmUoKX1lbHNlIGFyYS5yZXNvbHZlKCksYXJhPW5ldyBfLnNnfTtcbmRyYT1mdW5jdGlvbihhKXt2YXIgYj1EZC5nZXRJbnN0YW5jZSgpLGM9Xy5KZC5nZXRJbnN0YW5jZSgpLGQ9Yy54bigpLGU9YS5vYTtyZXR1cm4gYy5pc0xvYWRlZChhKXx8YS5DYXx8ZCYmXy5jcmEoZCxhKXx8Ym9hKGIsYSl8fGUmJl8ucW9hKGUpfTtlcmE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5aYihiLGZ1bmN0aW9uKGMsZCl7dmFyIGU9e307cmV0dXJuIF8udGcoXy55ZihhLHtqc2RhdGE6KGVbZF09YyxlKX0pLmFkZENhbGxiYWNrKGZ1bmN0aW9uKGYpe3JldHVybiBmLmpzZGF0YVtkXX0pLGZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9KX0pfTtcbmhyYT1mdW5jdGlvbihhLGIpe3ZhciBjPV8ueWYoYSx7c2VydmljZTp7U2s6Xy5mcmF9fSk7cmV0dXJuIF8uWmIoYixmdW5jdGlvbihkKXtpZih0eXBlb2YgZD09XCJmdW5jdGlvblwiKXZhciBlPWQ7ZWxzZSBpZihkIGluc3RhbmNlb2YgXy54ZyllPWQuZm47ZWxzZSBpZihkIGluc3RhbmNlb2YgXy5xKXZhciBmPWQ7ZWxzZXtkLlpjJiYodHlwZW9mIGQuWmM9PVwiZnVuY3Rpb25cIj9lPWQuWmM6ZT1kLlpjLmZuKTtmPWQucHdlO3ZhciBnPWQub25VcGRhdGV9ZT1mP2YuY29uc3RydWN0b3I6ZTt2YXIgaD1fLmdyYShlKTt2YXIgaz1hLmdldFJvb3Q/YS5nZXRSb290KCkuZWwoKTphLldHKCk7ZyYmYS5HR2IoaCxnLCEhZik7cmV0dXJuIGMudGhlbihmdW5jdGlvbihsKXtyZXR1cm4gbC5zZXJ2aWNlLlNrLnJlc29sdmUoayxlLGQuSmVkLCEhZil9KX0pfTtcbl8uanJhPWZ1bmN0aW9uKGEsYil7Yj1fLkpjYShiKTtpZihhPT1udWxsKXJldHVybiBiO3ZhciBjPWFbaXJhXTtpZihjKXJldHVybiBjO2I9Xy5FZWEoYixBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhKSk7YVtpcmFdPWI7YS5sZW5ndGg9MDtFYmEoYSwyMDQ4KTtPYmplY3QuZnJlZXplKGEpO3JldHVybiBifTtfLmtyYT1mdW5jdGlvbihhKXthPWEudHJpbSgpLnNwbGl0KC87Lyk7cmV0dXJue3FiOmFbMF0sbWVzc2FnZUtleTphWzBdK1wiO1wiK2FbMV0saWQ6YVsxXSxpbnN0YW5jZUlkOmFbMl19fTtfLm5yYT1mdW5jdGlvbigpe3JldHVybiBscmF8fChscmE9bmV3IG1yYSl9O18ub3JhPWZ1bmN0aW9uKGEpe3JldHVybi9fJC8udGVzdChhKT9fLnpnKGEucmVwbGFjZSgvXyQvLFwiXCIpKTphfTtcbnJyYT1mdW5jdGlvbigpe2lmKCFwcmEpe3ZhciBhPXdpbmRvdzt0cnl7Zm9yKDthIT09YS5wYXJlbnQ7KWEucGFyZW50LmxvY2F0aW9uLmhyZWYmJihhPWEucGFyZW50KX1jYXRjaChkKXt9YS5sbmt8fChhLmxuaz1PYmplY3QuY3JlYXRlKG51bGwpKTtmb3IoYT1hLmxuazshcXJhOyl7dmFyIGI9XCJtX1wiKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApO2IgaW4gYXx8KHFyYT1iKX1iPXFyYTt2YXIgYz1PYmplY3QuY3JlYXRlKG51bGwpO2NbMF09T2JqZWN0LmNyZWF0ZShudWxsKTtjWzFdPU9iamVjdC5jcmVhdGUobnVsbCk7Y1syXT1PYmplY3QuY3JlYXRlKG51bGwpO2NbM109T2JqZWN0LmNyZWF0ZShudWxsKTtjWzRdPU9iamVjdC5jcmVhdGUobnVsbCk7YVtiXT1jO3ByYT1hW3FyYV19cmV0dXJuIHByYX07XG5fLkJnPWZ1bmN0aW9uKGEsYil7dmFyIGM9cnJhKCksZD1jWzJdO2lmKGEgaW4gZCl0aHJvdyBFcnJvcihcImRkYFwiK2EpO3ZhciBlPWNbMF0sZj1jWzFdO2M9Y1szXTtmb3IodmFyIGcgaW4gYil7dmFyIGg9YltnXTtpZihnIGluIGUmJmVbZ10hPT1oKXRocm93IGE9T2JqZWN0LmtleXMoY1tnXSkuam9pbihcIixcIiksRXJyb3IoXCJmZGBcIitnK1wiYFwiK2grXCJgXCIrYStcImBcIitlW2ddKTt9Zz1kW2FdPU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKHZhciBrIGluIGIpZD1iW2tdLGVba109ZCxmW2RdPWssayBpbiBjfHwoY1trXT1PYmplY3QuY3JlYXRlKG51bGwpKSxjW2tdW2FdPSEwLGdba109ITB9O1xuXy5zcmE9ZnVuY3Rpb24oYSl7aWYoYS5wcm90b3R5cGUuY29uc3RydWN0b3IhPT1hKXRocm93IEVycm9yKFwiZ2RcIik7YT1hLnByb3RvdHlwZTt2YXIgYj1ycmEoKTtpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxcIl9fTHRcIikpe2lmKGEuX19MdFswXSE9PWIpdGhyb3cgRXJyb3IoXCJiZFwiKTt9ZWxzZXt2YXIgYz1PYmplY3QuY3JlYXRlKG51bGwpO2NbMF09YjtPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxcIl9fTHRcIix7dmFsdWU6Y30pfX07dXJhPWZ1bmN0aW9uKGEsYixjLGQpe2Q9KGQ9ZD09PXZvaWQgMD9udWxsOmQpP25ldyBNYXAoW10uY29uY2F0KF8ubWQoZCkpKTpuZXcgTWFwO01hdGgucmFuZG9tKCk8YyYmKGQuc2V0KFwiY3RcIixcInNpbGtcIikuc2V0KFwiclwiLGMudG9TdHJpbmcoKSksYSYmZC5zZXQoXCJzXCIsYSksYiYmZC5zZXQoXCJtXCIsYiksdHJhKGQpKX07XG5fLkNnPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5zZXJ2aWNlTmFtZTthPWEubWV0aG9kTmFtZTtiPWI9PT12b2lkIDA/e306YjtiPWIuc2FtcGxlUmF0ZT09PXZvaWQgMD8uMDE6Yi5zYW1wbGVSYXRlO3ZhciBkPShuZXcgTWFwKS5zZXQoXCJsXCIsKDEpLnRvU3RyaW5nKCkpO3VyYShjLGEsYixkKX07Xy5EZz1mdW5jdGlvbihhKXt2YXIgYj1iPT09dm9pZCAwPy4wMTpiO3ZhciBjPShuZXcgTWFwKS5zZXQoXCJsXCIsKDQpLnRvU3RyaW5nKCkpO3ZyYS5oYXMoYSkmJihiPS4wMDEpO3VyYShhLFwiaXNBdmFpbGFibGVcIixiLGMpfTtfLndyYT1mdW5jdGlvbihhKXt2YXIgYj1hLnNlcnZpY2VOYW1lO2E9YS5tZXRob2ROYW1lO3ZhciBjPXt9O2M9Yy5zYW1wbGVSYXRlPT09dm9pZCAwPy4wMTpjLnNhbXBsZVJhdGU7dmFyIGQ9KG5ldyBNYXApLnNldChcImxcIiwoNCkudG9TdHJpbmcoKSk7YiYmdnJhLmhhcyhiKSYmKGM9LjAwMSk7dXJhKGIsYSxjLGQpfTtcbl8ueHJhPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5zZXJ2aWNlTmFtZTthPWEubWV0aG9kTmFtZTtiPShuZXcgTWFwKS5zZXQoXCJsXCIsKDIpLnRvU3RyaW5nKCkpLnNldChcImVcIixiLnRvU3RyaW5nKCkpO3VyYShjLGEsLjAxLGIpfTtfLkVnPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5zZXJ2aWNlTmFtZTthPWEubWV0aG9kTmFtZTtiPShuZXcgTWFwKS5zZXQoXCJsXCIsKDMpLnRvU3RyaW5nKCkpLnNldChcImVcIixiLnRvU3RyaW5nKCkpO3VyYShjLGEsMSxiKX07Xy55cmE9ZnVuY3Rpb24oYSl7Xy5FZyh7c2VydmljZU5hbWU6bnVsbCxtZXRob2ROYW1lOm51bGx9LGEpfTt6cmE9ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZD0wO2Q8Yy5sZW5ndGg7ZCsrKXRyeXt2YXIgZT1jW2RdLm9hKGIsYSk7aWYoZSE9bnVsbCYmZS5hYm9ydClyZXR1cm4gZX1jYXRjaChmKXtfLmNhKGYpfX07QXJhPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPTA7YzxiLmxlbmd0aDtjKyspdHJ5e2JbY10uQWEoYSl9Y2F0Y2goZCl7Xy5jYShkKX19O1xuQ3JhPWZ1bmN0aW9uKGEsYil7YT1hPT09dm9pZCAwP1RsYTphO3JldHVybiBmdW5jdGlvbihjKXtyZXR1cm4gbmV3IEJyYShhKGMpLGIpfX07XG5KcmE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5ldmVudDt2YXIgYz1iLndoaWNofHxiLmtleUNvZGU7IWMmJmIua2V5JiYoYz1EcmFbYi5rZXldKTtFcmEmJmM9PT0zJiYoYz0xMyk7aWYoYyE9PTEzJiZjIT09MzIpYz0hMTtlbHNle3ZhciBkPXFtYShiKTsoYj1iLnR5cGUhPT1cImtleWRvd25cInx8ISEoIShcImdldEF0dHJpYnV0ZVwiaW4gZCl8fChkLmdldEF0dHJpYnV0ZShcInR5cGVcIil8fGQudGFnTmFtZSkudG9VcHBlckNhc2UoKWluIEZyYXx8ZC50YWdOYW1lLnRvVXBwZXJDYXNlKCk9PT1cIkJVVFRPTlwifHxkLnR5cGUmJmQudHlwZS50b1VwcGVyQ2FzZSgpPT09XCJGSUxFXCJ8fGQuaXNDb250ZW50RWRpdGFibGUpfHxiLmN0cmxLZXl8fGIuc2hpZnRLZXl8fGIuYWx0S2V5fHxiLm1ldGFLZXl8fChkLmdldEF0dHJpYnV0ZShcInR5cGVcIil8fGQudGFnTmFtZSkudG9VcHBlckNhc2UoKWluIEdyYSYmYz09PTMyKXx8KChiPWQudGFnTmFtZSBpbiBIcmEpfHwoYj1kLmdldEF0dHJpYnV0ZU5vZGUoXCJ0YWJpbmRleFwiKSxcbmI9YiE9bnVsbCYmYi5zcGVjaWZpZWQpLGI9IShiJiYhZC5kaXNhYmxlZCkpO2lmKGIpYz0hMTtlbHNle2I9KGQuZ2V0QXR0cmlidXRlKFwicm9sZVwiKXx8ZC50eXBlfHxkLnRhZ05hbWUpLnRvVXBwZXJDYXNlKCk7dmFyIGU9IShiIGluIF8uSXJhKSYmYz09PTEzO2Q9ZC50YWdOYW1lLnRvVXBwZXJDYXNlKCkhPT1cIklOUFVUXCJ8fCEhZC50eXBlO2M9KF8uSXJhW2JdJWM9PT0wfHxlKSYmZH19YyYmKGEuZWlhY2s9ITAsYS5ldmVudFR5cGU9XCJjbGlja1wiKX07XG5McmE9ZnVuY3Rpb24oYSl7dmFyIGI7aWYoYj1hLmVpYWNrKXtiPWEuZXZlbnQ7dmFyIGM9cW1hKGIpO2M9KGMudHlwZXx8Yy50YWdOYW1lKS50b1VwcGVyQ2FzZSgpO2lmKCEoYj0oYi53aGljaHx8Yi5rZXlDb2RlKT09PTMyJiZjIT09XCJDSEVDS0JPWFwiKSl7Yj1xbWEoYS5ldmVudCk7Yz1iLnRhZ05hbWUudG9VcHBlckNhc2UoKTt2YXIgZD0oYi5nZXRBdHRyaWJ1dGUoXCJyb2xlXCIpfHxcIlwiKS50b1VwcGVyQ2FzZSgpO2I9Yz09PVwiQlVUVE9OXCJ8fGQ9PT1cIkJVVFRPTlwiPyEwOiEoYi50YWdOYW1lLnRvVXBwZXJDYXNlKClpbiBLcmEpfHxjPT09XCJBXCJ8fGM9PT1cIlNFTEVDVFwifHwoYi5nZXRBdHRyaWJ1dGUoXCJ0eXBlXCIpfHxiLnRhZ05hbWUpLnRvVXBwZXJDYXNlKClpbiBHcmF8fChiLmdldEF0dHJpYnV0ZShcInR5cGVcIil8fGIudGFnTmFtZSkudG9VcHBlckNhc2UoKWluIEZyYT8hMTohMH19YiYmcG1hKGEuZXZlbnQpfTtcbk1yYT1mdW5jdGlvbihhLGIsYyl7Yi5laWF8fGIuZXZlbnRUeXBlIT09XCJjbGlja1wifHxiLmVpYWNrfHxjLmNsaWNrb25seT09PXZvaWQgMHx8KGIuZXZlbnRUeXBlPVwiY2xpY2tvbmx5XCIsYi5laWE9W2MuY2xpY2tvbmx5LGFdKX07TnJhPWZ1bmN0aW9uKGEsYil7YS5lY3JkKGZ1bmN0aW9uKGMpe2IuZGlzcGF0Y2goYyl9LDApfTtPcmE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uZG1hKGEsZnVuY3Rpb24oYil7dmFyIGM9Yi5oYXNBdHRyaWJ1dGUoXCJqc2NvbnRyb2xsZXJcIik7Yj1iLmhhc0F0dHJpYnV0ZShcImpzYWN0aW9uXCIpJiYvOlxccyp0cmlnZ2VyXFwuLy50ZXN0KGIuZ2V0QXR0cmlidXRlKFwianNhY3Rpb25cIikpO3JldHVybiBjfHxifSwhMSwhMCl9O1ByYT1mdW5jdGlvbigpe3RoaXMuZGVmYXVsdFByZXZlbnRlZD0hMDt2YXIgYT10aGlzLl9vcmlnaW5hbEV2ZW50O2EmJmEucHJldmVudERlZmF1bHQoKX07XG5RcmE9ZnVuY3Rpb24oKXt0aGlzLl9wcm9wYWdhdGlvblN0b3BwZWQ9ITA7dmFyIGE9dGhpcy5fb3JpZ2luYWxFdmVudDthJiZhLnN0b3BQcm9wYWdhdGlvbigpfTtScmE9ZnVuY3Rpb24oKXt0aGlzLl9pbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ9ITA7dmFyIGE9dGhpcy5fb3JpZ2luYWxFdmVudDthJiZhLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpfTtXcmE9ZnVuY3Rpb24oYSl7dmFyIGI9U3JhKCksYz13aW5kb3cuZ3dzX3dpemJpbmQsZD13aW5kb3cuZG9jdW1lbnQ7Xy5OcWEoKTt2YXIgZT1jLnRyaWdnZXI7Yz1jLmNvbmZpZ3VyZTtkPW5ldyBUcmEoZCxhKTt2YXIgZj1uZXcgVXJhKGUsZCxhLGIsRm1hKTthJiYoVnJhKF8uSmQuZ2V0SW5zdGFuY2UoKSxhKSxfLkhnKGEsZCkpO2MoZnVuY3Rpb24oZyl7TnJhKGcsZi5PYSl9KX07XG5acmE9ZnVuY3Rpb24oKXt2YXIgYT13aW5kb3cuZ3dzX3dpemJpbmQudHJpZ2dlcixiPVhyYSgpO2IuQmE9YTtGbWEmJihiLm9hPW5ldyBZcmEpO3dpbmRvdy5kb2N1bWVudC5fX2hvc3RpbnRlcmZhY2U9Yn07YnNhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uWmIoYixmdW5jdGlvbihjLGQpe3ZhciBlPWMuZm4oKSxmPXt9O2U9e0FlOihmW2RdPWUsZil9O2Y9e307cmV0dXJuIF8ueWYoYSxhIGluc3RhbmNlb2YgXy5DfHxhIGluc3RhbmNlb2YgXy4kcmF8fFwiZnVuY3Rpb25cIj09dHlwZW9mIF8uS2cmJmEgaW5zdGFuY2VvZiBfLktnfHxcImZ1bmN0aW9uXCI9PXR5cGVvZiBfLmFzYSYmYSBpbnN0YW5jZW9mIF8uYXNhP2U6ZikudGhlbihmdW5jdGlvbihnKXtnPWcuQWUmJmcuQWVbZF07cmV0dXJuIGMuTW8oZz9uZXcgTWFwKFtbXCJSODREUGVcIixnXV0pOnZvaWQgMCl9KX0pfTtjc2E9ZnVuY3Rpb24oKXtacmEoKTtYcmEoKS5BYT1mdW5jdGlvbihhKXtfLmlkKEVycm9yKGEpKX19O1xuXy5lc2E9ZnVuY3Rpb24oKXtfLnhlKHdpbmRvdy5kb2N1bWVudCk/Xy5pZChFcnJvcihcIm1kXCIpKTp3aW5kb3cuZ3dzX3dpemJpbmQ/Xy55ZCgpLlBrYihkc2EpOl8uaWQoRXJyb3IoXCJuZFwiKSl9O2dzYT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1mc2EuYyxkPWZzYS5oLGU9MDtlPGEubGVuZ3RoO2UrKyljLnJlbW92ZUV2ZW50TGlzdGVuZXIoYVtlXSxkLGIpfTtpc2E9ZnVuY3Rpb24oKXt2YXIgYT1oc2E7Z29vZ2xlLmpzYWQ9ZnVuY3Rpb24oYil7YihhKX19O2tzYT1mdW5jdGlvbigpe3ZhciBhPWhzYTtyZXR1cm57dHJpZ2dlcjpmdW5jdGlvbihiKXt2YXIgYz1hLmhhbmRsZXIoYi50eXBlKTtjfHwoanNhKGEsYi50eXBlKSxjPWEuaGFuZGxlcihiLnR5cGUpKTt2YXIgZD1iLnRhcmdldHx8Yi5zcmNFbGVtZW50O2MmJmMoYi50eXBlLGIsZC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCl9LGNvbmZpZ3VyZTpmdW5jdGlvbihiKXtiKGEpfX19O1xubHNhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYSgpe2VbMF09MTczMjU4NDE5MztlWzFdPTQwMjMyMzM0MTc7ZVsyXT0yNTYyMzgzMTAyO2VbM109MjcxNzMzODc4O2VbNF09MzI4NTM3NzUyMDtuPWw9MH1mdW5jdGlvbiBiKHIpe2Zvcih2YXIgdD1nLHU9MDt1PDY0O3UrPTQpdFt1LzRdPXJbdV08PDI0fHJbdSsxXTw8MTZ8clt1KzJdPDw4fHJbdSszXTtmb3IodT0xNjt1PDgwO3UrKylyPXRbdS0zXV50W3UtOF1edFt1LTE0XV50W3UtMTZdLHRbdV09KHI8PDF8cj4+PjMxKSY0Mjk0OTY3Mjk1O3I9ZVswXTt2YXIgej1lWzFdLEI9ZVsyXSxGPWVbM10sSz1lWzRdO2Zvcih1PTA7dTw4MDt1Kyspe2lmKHU8NDApaWYodTwyMCl7dmFyIFA9Rl56JihCXkYpO3ZhciBRPTE1MTg1MDAyNDl9ZWxzZSBQPXpeQl5GLFE9MTg1OTc3NTM5MztlbHNlIHU8NjA/KFA9eiZCfEYmKHp8QiksUT0yNDAwOTU5NzA4KTooUD16XkJeRixRPTMzOTU0Njk3ODIpO1A9KChyPDw1fHI+Pj4yNykmNDI5NDk2NzI5NSkrXG5QK0srUSt0W3VdJjQyOTQ5NjcyOTU7Sz1GO0Y9QjtCPSh6PDwzMHx6Pj4+MikmNDI5NDk2NzI5NTt6PXI7cj1QfWVbMF09ZVswXStyJjQyOTQ5NjcyOTU7ZVsxXT1lWzFdK3omNDI5NDk2NzI5NTtlWzJdPWVbMl0rQiY0Mjk0OTY3Mjk1O2VbM109ZVszXStGJjQyOTQ5NjcyOTU7ZVs0XT1lWzRdK0smNDI5NDk2NzI5NX1mdW5jdGlvbiBjKHIsdCl7aWYodHlwZW9mIHI9PT1cInN0cmluZ1wiKXtyPXVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChyKSk7Zm9yKHZhciB1PVtdLHo9MCxCPXIubGVuZ3RoO3o8QjsrK3opdS5wdXNoKHIuY2hhckNvZGVBdCh6KSk7cj11fXR8fCh0PXIubGVuZ3RoKTt1PTA7aWYobD09MClmb3IoO3UrNjQ8dDspYihyLnNsaWNlKHUsdSs2NCkpLHUrPTY0LG4rPTY0O2Zvcig7dTx0OylpZihmW2wrK109clt1KytdLG4rKyxsPT02NClmb3IobD0wLGIoZik7dSs2NDx0OyliKHIuc2xpY2UodSx1KzY0KSksdSs9NjQsbis9NjR9ZnVuY3Rpb24gZCgpe3ZhciByPVtdLFxudD1uKjg7bDw1Nj9jKGgsNTYtbCk6YyhoLDY0LShsLTU2KSk7Zm9yKHZhciB1PTYzO3U+PTU2O3UtLSlmW3VdPXQmMjU1LHQ+Pj49ODtiKGYpO2Zvcih1PXQ9MDt1PDU7dSsrKWZvcih2YXIgej0yNDt6Pj0wO3otPTgpclt0KytdPWVbdV0+PnomMjU1O3JldHVybiByfWZvcih2YXIgZT1bXSxmPVtdLGc9W10saD1bMTI4XSxrPTE7azw2NDsrK2spaFtrXT0wO3ZhciBsLG47YSgpO3JldHVybntyZXNldDphLHVwZGF0ZTpjLGRpZ2VzdDpkLGRpZ2VzdFN0cmluZzpmdW5jdGlvbigpe2Zvcih2YXIgcj1kKCksdD1cIlwiLHU9MDt1PHIubGVuZ3RoO3UrKyl0Kz1cIjAxMjM0NTY3ODlBQkNERUZcIi5jaGFyQXQoTWF0aC5mbG9vcihyW3VdLzE2KSkrXCIwMTIzNDU2Nzg5QUJDREVGXCIuY2hhckF0KHJbdV0lMTYpO3JldHVybiB0fX19O1xucnNhPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwP21zYTpiO2lmKCFuc2Epe3ZhciBjO2E9KGM9YS5uYXZpZ2F0b3IpPT1udWxsP3ZvaWQgMDpjLnVzZXJBZ2VudERhdGE7aWYoIWF8fHR5cGVvZiBhLmdldEhpZ2hFbnRyb3B5VmFsdWVzIT09XCJmdW5jdGlvblwifHxhLmJyYW5kcyYmdHlwZW9mIGEuYnJhbmRzLm1hcCE9PVwiZnVuY3Rpb25cIilyZXR1cm4gUHJvbWlzZS5yZWplY3QoRXJyb3IoXCJxZFwiKSk7Yz0oYS5icmFuZHN8fFtdKS5tYXAoZnVuY3Rpb24oZSl7dmFyIGY9bmV3IG9zYTtmPV8uRGUoZiwxLGUuYnJhbmQpO3JldHVybiBfLkRlKGYsMixlLnZlcnNpb24pfSk7cHNhKF8uTWcocXNhLDIsYS5tb2JpbGUpLGMpO25zYT1hLmdldEhpZ2hFbnRyb3B5VmFsdWVzKGIpfXZhciBkPW5ldyBTZXQoYik7cmV0dXJuIG5zYS50aGVuKGZ1bmN0aW9uKGUpe3ZhciBmPXFzYS5jbG9uZSgpO2QuaGFzKFwicGxhdGZvcm1cIikmJl8uRGUoZiwzLGUucGxhdGZvcm0pO2QuaGFzKFwicGxhdGZvcm1WZXJzaW9uXCIpJiZcbl8uRGUoZiw0LGUucGxhdGZvcm1WZXJzaW9uKTtkLmhhcyhcImFyY2hpdGVjdHVyZVwiKSYmXy5EZShmLDUsZS5hcmNoaXRlY3R1cmUpO2QuaGFzKFwibW9kZWxcIikmJl8uRGUoZiw2LGUubW9kZWwpO2QuaGFzKFwidWFGdWxsVmVyc2lvblwiKSYmXy5EZShmLDcsZS51YUZ1bGxWZXJzaW9uKTtyZXR1cm4gZn0pLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJuIHFzYS5jbG9uZSgpfSl9O3NzYT1mdW5jdGlvbihhLGIpe2EmJmImJmEuYWRkRXZlbnRMaXN0ZW5lcihcImFib3J0XCIsYil9O3VzYT1mdW5jdGlvbihhKXtpZihhIT09dHNhKXRocm93IGE7fTt4c2E9ZnVuY3Rpb24oKXt2c2EoKTtyZXR1cm4gd3NhfTt2c2E9ZnVuY3Rpb24oKXtpZigheXNhKXt5c2E9ITA7enNhPW5ldyBBc2E7dmFyIGE9e2JKYjp6c2F9O3dzYT1uZXcgKF8uQnNhfHxfLkNzYSkoYSk7RHNhPW5ldyBfLkVzYShhKTtGc2E9W10uY29uY2F0KF8ubWQoXy5Hc2EpKS5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIG5ldyBiKGEpfSk7SHNhKCl9fTtcbkhzYT1mdW5jdGlvbigpe2Zvcih2YXIgYT1fLlBhKEZzYSksYj1hLm5leHQoKTshYi5kb25lO2I9YS5uZXh0KCkpO3pzYS5PYS5hcHBseSh6c2EsW3dzYSxEc2FdLmNvbmNhdChfLm1kKEZzYSkpKX07Xy5OZz1mdW5jdGlvbihhLGIpe3ZhciBjPV8uSXNhKCk7Xy5FZyh7c2VydmljZU5hbWU6YSxtZXRob2ROYW1lOmJ9LGMpO3JldHVybiBQcm9taXNlLnJlamVjdChjKX07Xy5Nc2E9ZnVuY3Rpb24oYSxiKXthPV8uSnNhKG5ldyBfLktzYShhLGIpLG5ldyBfLkxzYSk7Yj1fLnppYSgpO2IhPW51bGwmJihhLkc2PWIpO3JldHVybiBhfTtfLk5zYT1mdW5jdGlvbihhKXtpZighYSlyZXR1cm57fTt0cnl7cmV0dXJuIEpTT04ucGFyc2UoYSl9Y2F0Y2goYil7dGhyb3cgbmV3IF8ubGQoMSxcIkVycm9yIHdoaWxlIHBhcnNpbmcgSlNPTiByZXNwb25zZSBcIithLGIpO319O1xuT3NhPWZ1bmN0aW9uKGEpe3ZhciBiPTA7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGI8YS5sZW5ndGg/e2RvbmU6ITEsdmFsdWU6YVtiKytdfTp7ZG9uZTohMH19fTtQc2E9dHlwZW9mIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzPT1cImZ1bmN0aW9uXCI/T2JqZWN0LmRlZmluZVByb3BlcnR5OmZ1bmN0aW9uKGEsYixjKXtpZihhPT1BcnJheS5wcm90b3R5cGV8fGE9PU9iamVjdC5wcm90b3R5cGUpcmV0dXJuIGE7YVtiXT1jLnZhbHVlO3JldHVybiBhfTtRc2E9ZnVuY3Rpb24oYSl7YT1bXCJvYmplY3RcIj09dHlwZW9mIGdsb2JhbFRoaXMmJmdsb2JhbFRoaXMsYSxcIm9iamVjdFwiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3csXCJvYmplY3RcIj09dHlwZW9mIHNlbGYmJnNlbGYsXCJvYmplY3RcIj09dHlwZW9mIGdsb2JhbCYmZ2xvYmFsXTtmb3IodmFyIGI9MDtiPGEubGVuZ3RoOysrYil7dmFyIGM9YVtiXTtpZihjJiZjLk1hdGg9PU1hdGgpcmV0dXJuIGN9dGhyb3cgRXJyb3IoXCJhXCIpO307Xy5PZz1Rc2EodGhpcyk7XG5QZz1mdW5jdGlvbihhLGIpe2lmKGIpYTp7dmFyIGM9Xy5PZzthPWEuc3BsaXQoXCIuXCIpO2Zvcih2YXIgZD0wO2Q8YS5sZW5ndGgtMTtkKyspe3ZhciBlPWFbZF07aWYoIShlIGluIGMpKWJyZWFrIGE7Yz1jW2VdfWE9YVthLmxlbmd0aC0xXTtkPWNbYV07Yj1iKGQpO2IhPWQmJmIhPW51bGwmJlBzYShjLGEse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9fTtcblBnKFwiU3ltYm9sXCIsZnVuY3Rpb24oYSl7aWYoYSlyZXR1cm4gYTt2YXIgYj1mdW5jdGlvbihmLGcpe3RoaXMub2E9ZjtQc2EodGhpcyxcImRlc2NyaXB0aW9uXCIse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpnfSl9O2IucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub2F9O3ZhciBjPVwianNjb21wX3N5bWJvbF9cIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKStcIl9cIixkPTAsZT1mdW5jdGlvbihmKXtpZih0aGlzIGluc3RhbmNlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiYlwiKTtyZXR1cm4gbmV3IGIoYysoZnx8XCJcIikrXCJfXCIrZCsrLGYpfTtyZXR1cm4gZX0pO1xuUGcoXCJTeW1ib2wuaXRlcmF0b3JcIixmdW5jdGlvbihhKXtpZihhKXJldHVybiBhO2E9U3ltYm9sKFwiY1wiKTtmb3IodmFyIGI9XCJBcnJheSBJbnQ4QXJyYXkgVWludDhBcnJheSBVaW50OENsYW1wZWRBcnJheSBJbnQxNkFycmF5IFVpbnQxNkFycmF5IEludDMyQXJyYXkgVWludDMyQXJyYXkgRmxvYXQzMkFycmF5IEZsb2F0NjRBcnJheVwiLnNwbGl0KFwiIFwiKSxjPTA7YzxiLmxlbmd0aDtjKyspe3ZhciBkPV8uT2dbYltjXV07dHlwZW9mIGQ9PT1cImZ1bmN0aW9uXCImJnR5cGVvZiBkLnByb3RvdHlwZVthXSE9XCJmdW5jdGlvblwiJiZQc2EoZC5wcm90b3R5cGUsYSx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIFJzYShPc2EodGhpcykpfX0pfXJldHVybiBhfSk7UGcoXCJTeW1ib2wuYXN5bmNJdGVyYXRvclwiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6U3ltYm9sKFwiZFwiKX0pO1xuUnNhPWZ1bmN0aW9uKGEpe2E9e25leHQ6YX07YVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O3JldHVybiBhfTtfLlFnPWZ1bmN0aW9uKGEpe3JldHVybiBhLnJhdz1hfTtTc2E9ZnVuY3Rpb24oYSxiKXthLnJhdz1iO3JldHVybiBhfTtfLlBhPWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBTeW1ib2whPVwidW5kZWZpbmVkXCImJlN5bWJvbC5pdGVyYXRvciYmYVtTeW1ib2wuaXRlcmF0b3JdO2lmKGIpcmV0dXJuIGIuY2FsbChhKTtpZih0eXBlb2YgYS5sZW5ndGg9PVwibnVtYmVyXCIpcmV0dXJue25leHQ6T3NhKGEpfTt0aHJvdyBFcnJvcihcImVgXCIrU3RyaW5nKGEpKTt9O18uZ2phPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYixjPVtdOyEoYj1hLm5leHQoKSkuZG9uZTspYy5wdXNoKGIudmFsdWUpO3JldHVybiBjfTtfLm1kPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluc3RhbmNlb2YgQXJyYXk/YTpfLmdqYShfLlBhKGEpKX07XG5SZz1mdW5jdGlvbihhLGIpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxiKX07VHNhPXR5cGVvZiBPYmplY3QuYXNzaWduPT1cImZ1bmN0aW9uXCI/T2JqZWN0LmFzc2lnbjpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0xO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspe3ZhciBkPWFyZ3VtZW50c1tjXTtpZihkKWZvcih2YXIgZSBpbiBkKVJnKGQsZSkmJihhW2VdPWRbZV0pfXJldHVybiBhfTtQZyhcIk9iamVjdC5hc3NpZ25cIixmdW5jdGlvbihhKXtyZXR1cm4gYXx8VHNhfSk7XG52YXIgVXNhPXR5cGVvZiBPYmplY3QuY3JlYXRlPT1cImZ1bmN0aW9uXCI/T2JqZWN0LmNyZWF0ZTpmdW5jdGlvbihhKXt2YXIgYj1mdW5jdGlvbigpe307Yi5wcm90b3R5cGU9YTtyZXR1cm4gbmV3IGJ9LFZzYT1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXtmdW5jdGlvbiBjKCl7fW5ldyBjO1JlZmxlY3QuY29uc3RydWN0KGMsW10sZnVuY3Rpb24oKXt9KTtyZXR1cm4gbmV3IGMgaW5zdGFuY2VvZiBjfWlmKHR5cGVvZiBSZWZsZWN0IT1cInVuZGVmaW5lZFwiJiZSZWZsZWN0LmNvbnN0cnVjdCl7aWYoYSgpKXJldHVybiBSZWZsZWN0LmNvbnN0cnVjdDt2YXIgYj1SZWZsZWN0LmNvbnN0cnVjdDtyZXR1cm4gZnVuY3Rpb24oYyxkLGUpe2M9YihjLGQpO2UmJlJlZmxlY3Quc2V0UHJvdG90eXBlT2YoYyxlLnByb3RvdHlwZSk7cmV0dXJuIGN9fXJldHVybiBmdW5jdGlvbihjLGQsZSl7ZT09PXZvaWQgMCYmKGU9Yyk7ZT1Vc2EoZS5wcm90b3R5cGV8fE9iamVjdC5wcm90b3R5cGUpO3JldHVybiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuY2FsbChjLFxuZSxkKXx8ZX19KCksV3NhO2lmKHR5cGVvZiBPYmplY3Quc2V0UHJvdG90eXBlT2Y9PVwiZnVuY3Rpb25cIilXc2E9T2JqZWN0LnNldFByb3RvdHlwZU9mO2Vsc2V7dmFyIFhzYTthOnt2YXIgWXNhPXthOiEwfSxac2E9e307dHJ5e1pzYS5fX3Byb3RvX189WXNhO1hzYT1ac2EuYTticmVhayBhfWNhdGNoKGEpe31Yc2E9ITF9V3NhPVhzYT9mdW5jdGlvbihhLGIpe2EuX19wcm90b19fPWI7aWYoYS5fX3Byb3RvX18hPT1iKXRocm93IG5ldyBUeXBlRXJyb3IoXCJmYFwiK2EpO3JldHVybiBhfTpudWxsfSRzYT1Xc2E7XG5fLkQ9ZnVuY3Rpb24oYSxiKXthLnByb3RvdHlwZT1Vc2EoYi5wcm90b3R5cGUpO2EucHJvdG90eXBlLmNvbnN0cnVjdG9yPWE7aWYoJHNhKSRzYShhLGIpO2Vsc2UgZm9yKHZhciBjIGluIGIpaWYoYyE9XCJwcm90b3R5cGVcIilpZihPYmplY3QuZGVmaW5lUHJvcGVydGllcyl7dmFyIGQ9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihiLGMpO2QmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLGMsZCl9ZWxzZSBhW2NdPWJbY107YS5PZD1iLnByb3RvdHlwZX07Xy5hdGE9ZnVuY3Rpb24oYSl7aWYoIShhIGluc3RhbmNlb2YgT2JqZWN0KSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiZ2BcIithKTt9O2J0YT1mdW5jdGlvbigpe3RoaXMuT2E9ITE7dGhpcy5DYT1udWxsO3RoaXMuQWE9dm9pZCAwO3RoaXMub2E9MTt0aGlzLkdhPXRoaXMuTGE9MDt0aGlzLlJhPXRoaXMuQmE9bnVsbH07Y3RhPWZ1bmN0aW9uKGEpe2lmKGEuT2EpdGhyb3cgbmV3IFR5cGVFcnJvcihcImhcIik7YS5PYT0hMH07XG5idGEucHJvdG90eXBlLlFhPWZ1bmN0aW9uKGEpe3RoaXMuQWE9YX07dmFyIGR0YT1mdW5jdGlvbihhLGIpe2EuQmE9e3hkYTpiLG4kYjohMH07YS5vYT1hLkxhfHxhLkdhfTtidGEucHJvdG90eXBlLnJldHVybj1mdW5jdGlvbihhKXt0aGlzLkJhPXtyZXR1cm46YX07dGhpcy5vYT10aGlzLkdhfTtidGEucHJvdG90eXBlLnlpZWxkPWZ1bmN0aW9uKGEsYil7dGhpcy5vYT1iO3JldHVybnt2YWx1ZTphfX07YnRhLnByb3RvdHlwZS5NYj1mdW5jdGlvbihhKXt0aGlzLm9hPWF9O18uU2c9ZnVuY3Rpb24oYSl7YS5vYT0wfTtfLlVnPWZ1bmN0aW9uKGEsYixjKXthLkxhPWI7YyE9dm9pZCAwJiYoYS5HYT1jKX07Xy5XZz1mdW5jdGlvbihhLGIpe2EuTGE9MDthLkdhPWJ8fDB9O18uWGc9ZnVuY3Rpb24oYSxiLGMpe2Eub2E9YjthLkxhPWN8fDB9O18uWWc9ZnVuY3Rpb24oYSxiKXthLkxhPWJ8fDA7Yj1hLkJhLnhkYTthLkJhPW51bGw7cmV0dXJuIGJ9O1xuXy5aZz1mdW5jdGlvbihhLGIsYyxkKXtkP2EuUmFbZF09YS5CYTphLlJhPVthLkJhXTthLkxhPWJ8fDA7YS5HYT1jfHwwfTtfLiRnPWZ1bmN0aW9uKGEsYixjKXtjPWEuUmEuc3BsaWNlKGN8fDApWzBdOyhjPWEuQmE9YS5CYXx8Yyk/Yy5uJGI/YS5vYT1hLkxhfHxhLkdhOmMuTWIhPXZvaWQgMCYmYS5HYTxjLk1iPyhhLm9hPWMuTWIsYS5CYT1udWxsKTphLm9hPWEuR2E6YS5vYT1ifTtldGE9ZnVuY3Rpb24oYSl7dGhpcy5vYT1uZXcgYnRhO3RoaXMuQWE9YX07aHRhPWZ1bmN0aW9uKGEsYil7Y3RhKGEub2EpO3ZhciBjPWEub2EuQ2E7aWYoYylyZXR1cm4gZnRhKGEsXCJyZXR1cm5cImluIGM/Y1tcInJldHVyblwiXTpmdW5jdGlvbihkKXtyZXR1cm57dmFsdWU6ZCxkb25lOiEwfX0sYixhLm9hLnJldHVybik7YS5vYS5yZXR1cm4oYik7cmV0dXJuIGd0YShhKX07XG5mdGE9ZnVuY3Rpb24oYSxiLGMsZCl7dHJ5e3ZhciBlPWIuY2FsbChhLm9hLkNhLGMpO18uYXRhKGUpO2lmKCFlLmRvbmUpcmV0dXJuIGEub2EuT2E9ITEsZTt2YXIgZj1lLnZhbHVlfWNhdGNoKGcpe3JldHVybiBhLm9hLkNhPW51bGwsZHRhKGEub2EsZyksZ3RhKGEpfWEub2EuQ2E9bnVsbDtkLmNhbGwoYS5vYSxmKTtyZXR1cm4gZ3RhKGEpfTtndGE9ZnVuY3Rpb24oYSl7Zm9yKDthLm9hLm9hOyl0cnl7dmFyIGI9YS5BYShhLm9hKTtpZihiKXJldHVybiBhLm9hLk9hPSExLHt2YWx1ZTpiLnZhbHVlLGRvbmU6ITF9fWNhdGNoKGMpe2Eub2EuQWE9dm9pZCAwLGR0YShhLm9hLGMpfWEub2EuT2E9ITE7aWYoYS5vYS5CYSl7Yj1hLm9hLkJhO2Eub2EuQmE9bnVsbDtpZihiLm4kYil0aHJvdyBiLnhkYTtyZXR1cm57dmFsdWU6Yi5yZXR1cm4sZG9uZTohMH19cmV0dXJue3ZhbHVlOnZvaWQgMCxkb25lOiEwfX07XG5pdGE9ZnVuY3Rpb24oYSl7dGhpcy5uZXh0PWZ1bmN0aW9uKGIpe2N0YShhLm9hKTthLm9hLkNhP2I9ZnRhKGEsYS5vYS5DYS5uZXh0LGIsYS5vYS5RYSk6KGEub2EuUWEoYiksYj1ndGEoYSkpO3JldHVybiBifTt0aGlzLnRocm93PWZ1bmN0aW9uKGIpe2N0YShhLm9hKTthLm9hLkNhP2I9ZnRhKGEsYS5vYS5DYVtcInRocm93XCJdLGIsYS5vYS5RYSk6KGR0YShhLm9hLGIpLGI9Z3RhKGEpKTtyZXR1cm4gYn07dGhpcy5yZXR1cm49ZnVuY3Rpb24oYil7cmV0dXJuIGh0YShhLGIpfTt0aGlzW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc319O18uanRhPWZ1bmN0aW9uKGEsYil7Yj1uZXcgaXRhKG5ldyBldGEoYikpOyRzYSYmYS5wcm90b3R5cGUmJiRzYShiLGEucHJvdG90eXBlKTtyZXR1cm4gYn07XG5rdGE9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihkKXtyZXR1cm4gYS5uZXh0KGQpfWZ1bmN0aW9uIGMoZCl7cmV0dXJuIGEudGhyb3coZCl9cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGQsZSl7ZnVuY3Rpb24gZihnKXtnLmRvbmU/ZChnLnZhbHVlKTpQcm9taXNlLnJlc29sdmUoZy52YWx1ZSkudGhlbihiLGMpLnRoZW4oZixlKX1mKGEubmV4dCgpKX0pfTtfLmJoPWZ1bmN0aW9uKGEpe3JldHVybiBrdGEobmV3IGl0YShuZXcgZXRhKGEpKSl9O18ubGM9ZnVuY3Rpb24oKXtmb3IodmFyIGE9TnVtYmVyKHRoaXMpLGI9W10sYz1hO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspYltjLWFdPWFyZ3VtZW50c1tjXTtyZXR1cm4gYn07UGcoXCJSZWZsZWN0XCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTp7fX0pO1BnKFwiUmVmbGVjdC5jb25zdHJ1Y3RcIixmdW5jdGlvbigpe3JldHVybiBWc2F9KTtcblBnKFwiUmVmbGVjdC5zZXRQcm90b3R5cGVPZlwiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6JHNhP2Z1bmN0aW9uKGIsYyl7dHJ5e3JldHVybiAkc2EoYixjKSwhMH1jYXRjaChkKXtyZXR1cm4hMX19Om51bGx9KTtcblBnKFwiUHJvbWlzZVwiLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoKXt0aGlzLm9hPW51bGx9ZnVuY3Rpb24gYyhnKXtyZXR1cm4gZyBpbnN0YW5jZW9mIGU/ZzpuZXcgZShmdW5jdGlvbihoKXtoKGcpfSl9aWYoYSlyZXR1cm4gYTtiLnByb3RvdHlwZS5BYT1mdW5jdGlvbihnKXtpZih0aGlzLm9hPT1udWxsKXt0aGlzLm9hPVtdO3ZhciBoPXRoaXM7dGhpcy5CYShmdW5jdGlvbigpe2guR2EoKX0pfXRoaXMub2EucHVzaChnKX07dmFyIGQ9Xy5PZy5zZXRUaW1lb3V0O2IucHJvdG90eXBlLkJhPWZ1bmN0aW9uKGcpe2QoZywwKX07Yi5wcm90b3R5cGUuR2E9ZnVuY3Rpb24oKXtmb3IoO3RoaXMub2EmJnRoaXMub2EubGVuZ3RoOyl7dmFyIGc9dGhpcy5vYTt0aGlzLm9hPVtdO2Zvcih2YXIgaD0wO2g8Zy5sZW5ndGg7KytoKXt2YXIgaz1nW2hdO2dbaF09bnVsbDt0cnl7aygpfWNhdGNoKGwpe3RoaXMuQ2EobCl9fX10aGlzLm9hPW51bGx9O2IucHJvdG90eXBlLkNhPWZ1bmN0aW9uKGcpe3RoaXMuQmEoZnVuY3Rpb24oKXt0aHJvdyBnO1xufSl9O3ZhciBlPWZ1bmN0aW9uKGcpe3RoaXMuemQ9MDt0aGlzLkd4PXZvaWQgMDt0aGlzLm9hPVtdO3RoaXMuR2E9ITE7dmFyIGg9dGhpcy5CYSgpO3RyeXtnKGgucmVzb2x2ZSxoLnJlamVjdCl9Y2F0Y2goayl7aC5yZWplY3Qoayl9fTtlLnByb3RvdHlwZS5CYT1mdW5jdGlvbigpe2Z1bmN0aW9uIGcobCl7cmV0dXJuIGZ1bmN0aW9uKG4pe2t8fChrPSEwLGwuY2FsbChoLG4pKX19dmFyIGg9dGhpcyxrPSExO3JldHVybntyZXNvbHZlOmcodGhpcy5VYSkscmVqZWN0OmcodGhpcy5BYSl9fTtlLnByb3RvdHlwZS5VYT1mdW5jdGlvbihnKXtpZihnPT09dGhpcyl0aGlzLkFhKG5ldyBUeXBlRXJyb3IoXCJtXCIpKTtlbHNlIGlmKGcgaW5zdGFuY2VvZiBlKXRoaXMua2IoZyk7ZWxzZXthOnN3aXRjaCh0eXBlb2YgZyl7Y2FzZSBcIm9iamVjdFwiOnZhciBoPWchPW51bGw7YnJlYWsgYTtjYXNlIFwiZnVuY3Rpb25cIjpoPSEwO2JyZWFrIGE7ZGVmYXVsdDpoPSExfWg/dGhpcy5SYShnKTp0aGlzLkNhKGcpfX07XG5lLnByb3RvdHlwZS5SYT1mdW5jdGlvbihnKXt2YXIgaD12b2lkIDA7dHJ5e2g9Zy50aGVufWNhdGNoKGspe3RoaXMuQWEoayk7cmV0dXJufXR5cGVvZiBoPT1cImZ1bmN0aW9uXCI/dGhpcy53YihoLGcpOnRoaXMuQ2EoZyl9O2UucHJvdG90eXBlLkFhPWZ1bmN0aW9uKGcpe3RoaXMuTGEoMixnKX07ZS5wcm90b3R5cGUuQ2E9ZnVuY3Rpb24oZyl7dGhpcy5MYSgxLGcpfTtlLnByb3RvdHlwZS5MYT1mdW5jdGlvbihnLGgpe2lmKHRoaXMuemQhPTApdGhyb3cgRXJyb3IoXCJuYFwiK2crXCJgXCIraCtcImBcIit0aGlzLnpkKTt0aGlzLnpkPWc7dGhpcy5HeD1oO3RoaXMuemQ9PT0yJiZ0aGlzLmhiKCk7dGhpcy5PYSgpfTtlLnByb3RvdHlwZS5oYj1mdW5jdGlvbigpe3ZhciBnPXRoaXM7ZChmdW5jdGlvbigpe2lmKGcuUWEoKSl7dmFyIGg9Xy5PZy5jb25zb2xlO3R5cGVvZiBoIT09XCJ1bmRlZmluZWRcIiYmaC5lcnJvcihnLkd4KX19LDEpfTtlLnByb3RvdHlwZS5RYT1mdW5jdGlvbigpe2lmKHRoaXMuR2EpcmV0dXJuITE7XG52YXIgZz1fLk9nLkN1c3RvbUV2ZW50LGg9Xy5PZy5FdmVudCxrPV8uT2cuZGlzcGF0Y2hFdmVudDtpZih0eXBlb2Ygaz09PVwidW5kZWZpbmVkXCIpcmV0dXJuITA7dHlwZW9mIGc9PT1cImZ1bmN0aW9uXCI/Zz1uZXcgZyhcInVuaGFuZGxlZHJlamVjdGlvblwiLHtjYW5jZWxhYmxlOiEwfSk6dHlwZW9mIGg9PT1cImZ1bmN0aW9uXCI/Zz1uZXcgaChcInVuaGFuZGxlZHJlamVjdGlvblwiLHtjYW5jZWxhYmxlOiEwfSk6KGc9Xy5PZy5kb2N1bWVudC5jcmVhdGVFdmVudChcIkN1c3RvbUV2ZW50XCIpLGcuaW5pdEN1c3RvbUV2ZW50KFwidW5oYW5kbGVkcmVqZWN0aW9uXCIsITEsITAsZykpO2cucHJvbWlzZT10aGlzO2cucmVhc29uPXRoaXMuR3g7cmV0dXJuIGsoZyl9O2UucHJvdG90eXBlLk9hPWZ1bmN0aW9uKCl7aWYodGhpcy5vYSE9bnVsbCl7Zm9yKHZhciBnPTA7Zzx0aGlzLm9hLmxlbmd0aDsrK2cpZi5BYSh0aGlzLm9hW2ddKTt0aGlzLm9hPW51bGx9fTt2YXIgZj1uZXcgYjtlLnByb3RvdHlwZS5rYj1cbmZ1bmN0aW9uKGcpe3ZhciBoPXRoaXMuQmEoKTtnLms0YShoLnJlc29sdmUsaC5yZWplY3QpfTtlLnByb3RvdHlwZS53Yj1mdW5jdGlvbihnLGgpe3ZhciBrPXRoaXMuQmEoKTt0cnl7Zy5jYWxsKGgsay5yZXNvbHZlLGsucmVqZWN0KX1jYXRjaChsKXtrLnJlamVjdChsKX19O2UucHJvdG90eXBlLnRoZW49ZnVuY3Rpb24oZyxoKXtmdW5jdGlvbiBrKHQsdSl7cmV0dXJuIHR5cGVvZiB0PT1cImZ1bmN0aW9uXCI/ZnVuY3Rpb24oeil7dHJ5e2wodCh6KSl9Y2F0Y2goQil7bihCKX19OnV9dmFyIGwsbixyPW5ldyBlKGZ1bmN0aW9uKHQsdSl7bD10O249dX0pO3RoaXMuazRhKGsoZyxsKSxrKGgsbikpO3JldHVybiByfTtlLnByb3RvdHlwZS5jYXRjaD1mdW5jdGlvbihnKXtyZXR1cm4gdGhpcy50aGVuKHZvaWQgMCxnKX07ZS5wcm90b3R5cGUuazRhPWZ1bmN0aW9uKGcsaCl7ZnVuY3Rpb24gaygpe3N3aXRjaChsLnpkKXtjYXNlIDE6ZyhsLkd4KTticmVhaztjYXNlIDI6aChsLkd4KTticmVhaztcbmRlZmF1bHQ6dGhyb3cgRXJyb3IoXCJvYFwiK2wuemQpO319dmFyIGw9dGhpczt0aGlzLm9hPT1udWxsP2YuQWEoayk6dGhpcy5vYS5wdXNoKGspO3RoaXMuR2E9ITB9O2UucmVzb2x2ZT1jO2UucmVqZWN0PWZ1bmN0aW9uKGcpe3JldHVybiBuZXcgZShmdW5jdGlvbihoLGspe2soZyl9KX07ZS5yYWNlPWZ1bmN0aW9uKGcpe3JldHVybiBuZXcgZShmdW5jdGlvbihoLGspe2Zvcih2YXIgbD1fLlBhKGcpLG49bC5uZXh0KCk7IW4uZG9uZTtuPWwubmV4dCgpKWMobi52YWx1ZSkuazRhKGgsayl9KX07ZS5hbGw9ZnVuY3Rpb24oZyl7dmFyIGg9Xy5QYShnKSxrPWgubmV4dCgpO3JldHVybiBrLmRvbmU/YyhbXSk6bmV3IGUoZnVuY3Rpb24obCxuKXtmdW5jdGlvbiByKHope3JldHVybiBmdW5jdGlvbihCKXt0W3pdPUI7dS0tO3U9PTAmJmwodCl9fXZhciB0PVtdLHU9MDtkbyB0LnB1c2godm9pZCAwKSx1KyssYyhrLnZhbHVlKS5rNGEocih0Lmxlbmd0aC0xKSxuKSxrPWgubmV4dCgpO3doaWxlKCFrLmRvbmUpfSl9O1xucmV0dXJuIGV9KTt2YXIgbHRhPWZ1bmN0aW9uKGEsYixjKXtpZihhPT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoXCJwYFwiK2MpO2lmKGIgaW5zdGFuY2VvZiBSZWdFeHApdGhyb3cgbmV3IFR5cGVFcnJvcihcInFgXCIrYyk7cmV0dXJuIGErXCJcIn07UGcoXCJTdHJpbmcucHJvdG90eXBlLnN0YXJ0c1dpdGhcIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIsYyl7dmFyIGQ9bHRhKHRoaXMsYixcInN0YXJ0c1dpdGhcIiksZT1kLmxlbmd0aCxmPWIubGVuZ3RoO2M9TWF0aC5tYXgoMCxNYXRoLm1pbihjfDAsZC5sZW5ndGgpKTtmb3IodmFyIGc9MDtnPGYmJmM8ZTspaWYoZFtjKytdIT1iW2crK10pcmV0dXJuITE7cmV0dXJuIGc+PWZ9fSk7UGcoXCJPYmplY3Quc2V0UHJvdG90eXBlT2ZcIixmdW5jdGlvbihhKXtyZXR1cm4gYXx8JHNhfSk7UGcoXCJTeW1ib2wuZGlzcG9zZVwiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6U3ltYm9sKFwiclwiKX0pO1xudmFyIG10YT1mdW5jdGlvbihhLGIsYyl7YSBpbnN0YW5jZW9mIFN0cmluZyYmKGE9U3RyaW5nKGEpKTtmb3IodmFyIGQ9YS5sZW5ndGgsZT0wO2U8ZDtlKyspe3ZhciBmPWFbZV07aWYoYi5jYWxsKGMsZixlLGEpKXJldHVybntpOmUsdjpmfX1yZXR1cm57aTotMSx2OnZvaWQgMH19O1BnKFwiQXJyYXkucHJvdG90eXBlLmZpbmRcIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIsYyl7cmV0dXJuIG10YSh0aGlzLGIsYykudn19KTtcblBnKFwiV2Vha01hcFwiLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoKXt9ZnVuY3Rpb24gYyhrKXt2YXIgbD10eXBlb2YgaztyZXR1cm4gbD09PVwib2JqZWN0XCImJmshPT1udWxsfHxsPT09XCJmdW5jdGlvblwifWZ1bmN0aW9uIGQoayl7aWYoIVJnKGssZikpe3ZhciBsPW5ldyBiO1BzYShrLGYse3ZhbHVlOmx9KX19ZnVuY3Rpb24gZShrKXt2YXIgbD1PYmplY3Rba107bCYmKE9iamVjdFtrXT1mdW5jdGlvbihuKXtpZihuIGluc3RhbmNlb2YgYilyZXR1cm4gbjtPYmplY3QuaXNFeHRlbnNpYmxlKG4pJiZkKG4pO3JldHVybiBsKG4pfSl9aWYoZnVuY3Rpb24oKXtpZighYXx8IU9iamVjdC5zZWFsKXJldHVybiExO3RyeXt2YXIgaz1PYmplY3Quc2VhbCh7fSksbD1PYmplY3Quc2VhbCh7fSksbj1uZXcgYShbW2ssMl0sW2wsM11dKTtpZihuLmdldChrKSE9Mnx8bi5nZXQobCkhPTMpcmV0dXJuITE7bi5kZWxldGUoayk7bi5zZXQobCw0KTtyZXR1cm4hbi5oYXMoaykmJm4uZ2V0KGwpPT00fWNhdGNoKHIpe3JldHVybiExfX0oKSlyZXR1cm4gYTtcbnZhciBmPVwiJGpzY29tcF9oaWRkZW5fXCIrTWF0aC5yYW5kb20oKTtlKFwiZnJlZXplXCIpO2UoXCJwcmV2ZW50RXh0ZW5zaW9uc1wiKTtlKFwic2VhbFwiKTt2YXIgZz0wLGg9ZnVuY3Rpb24oayl7dGhpcy5vYT0oZys9TWF0aC5yYW5kb20oKSsxKS50b1N0cmluZygpO2lmKGspe2s9Xy5QYShrKTtmb3IodmFyIGw7IShsPWsubmV4dCgpKS5kb25lOylsPWwudmFsdWUsdGhpcy5zZXQobFswXSxsWzFdKX19O2gucHJvdG90eXBlLnNldD1mdW5jdGlvbihrLGwpe2lmKCFjKGspKXRocm93IEVycm9yKFwic1wiKTtkKGspO2lmKCFSZyhrLGYpKXRocm93IEVycm9yKFwidGBcIitrKTtrW2ZdW3RoaXMub2FdPWw7cmV0dXJuIHRoaXN9O2gucHJvdG90eXBlLmdldD1mdW5jdGlvbihrKXtyZXR1cm4gYyhrKSYmUmcoayxmKT9rW2ZdW3RoaXMub2FdOnZvaWQgMH07aC5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGspe3JldHVybiBjKGspJiZSZyhrLGYpJiZSZyhrW2ZdLHRoaXMub2EpfTtoLnByb3RvdHlwZS5kZWxldGU9XG5mdW5jdGlvbihrKXtyZXR1cm4gYyhrKSYmUmcoayxmKSYmUmcoa1tmXSx0aGlzLm9hKT9kZWxldGUga1tmXVt0aGlzLm9hXTohMX07cmV0dXJuIGh9KTtcblBnKFwiTWFwXCIsZnVuY3Rpb24oYSl7aWYoZnVuY3Rpb24oKXtpZighYXx8dHlwZW9mIGEhPVwiZnVuY3Rpb25cInx8IWEucHJvdG90eXBlLmVudHJpZXN8fHR5cGVvZiBPYmplY3Quc2VhbCE9XCJmdW5jdGlvblwiKXJldHVybiExO3RyeXt2YXIgaD1PYmplY3Quc2VhbCh7eDo0fSksaz1uZXcgYShfLlBhKFtbaCxcInNcIl1dKSk7aWYoay5nZXQoaCkhPVwic1wifHxrLnNpemUhPTF8fGsuZ2V0KHt4OjR9KXx8ay5zZXQoe3g6NH0sXCJ0XCIpIT1rfHxrLnNpemUhPTIpcmV0dXJuITE7dmFyIGw9ay5lbnRyaWVzKCksbj1sLm5leHQoKTtpZihuLmRvbmV8fG4udmFsdWVbMF0hPWh8fG4udmFsdWVbMV0hPVwic1wiKXJldHVybiExO249bC5uZXh0KCk7cmV0dXJuIG4uZG9uZXx8bi52YWx1ZVswXS54IT00fHxuLnZhbHVlWzFdIT1cInRcInx8IWwubmV4dCgpLmRvbmU/ITE6ITB9Y2F0Y2gocil7cmV0dXJuITF9fSgpKXJldHVybiBhO3ZhciBiPW5ldyBXZWFrTWFwLGM9ZnVuY3Rpb24oaCl7dGhpc1swXT17fTt0aGlzWzFdPVxuZigpO3RoaXMuc2l6ZT0wO2lmKGgpe2g9Xy5QYShoKTtmb3IodmFyIGs7IShrPWgubmV4dCgpKS5kb25lOylrPWsudmFsdWUsdGhpcy5zZXQoa1swXSxrWzFdKX19O2MucHJvdG90eXBlLnNldD1mdW5jdGlvbihoLGspe2g9aD09PTA/MDpoO3ZhciBsPWQodGhpcyxoKTtsLmxpc3R8fChsLmxpc3Q9dGhpc1swXVtsLmlkXT1bXSk7bC5lbnRyeT9sLmVudHJ5LnZhbHVlPWs6KGwuZW50cnk9e25leHQ6dGhpc1sxXSxwcmV2aW91czp0aGlzWzFdLnByZXZpb3VzLGhlYWQ6dGhpc1sxXSxrZXk6aCx2YWx1ZTprfSxsLmxpc3QucHVzaChsLmVudHJ5KSx0aGlzWzFdLnByZXZpb3VzLm5leHQ9bC5lbnRyeSx0aGlzWzFdLnByZXZpb3VzPWwuZW50cnksdGhpcy5zaXplKyspO3JldHVybiB0aGlzfTtjLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24oaCl7aD1kKHRoaXMsaCk7cmV0dXJuIGguZW50cnkmJmgubGlzdD8oaC5saXN0LnNwbGljZShoLmluZGV4LDEpLGgubGlzdC5sZW5ndGh8fGRlbGV0ZSB0aGlzWzBdW2guaWRdLFxuaC5lbnRyeS5wcmV2aW91cy5uZXh0PWguZW50cnkubmV4dCxoLmVudHJ5Lm5leHQucHJldmlvdXM9aC5lbnRyeS5wcmV2aW91cyxoLmVudHJ5LmhlYWQ9bnVsbCx0aGlzLnNpemUtLSwhMCk6ITF9O2MucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpc1swXT17fTt0aGlzWzFdPXRoaXNbMV0ucHJldmlvdXM9ZigpO3RoaXMuc2l6ZT0wfTtjLnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24oaCl7cmV0dXJuISFkKHRoaXMsaCkuZW50cnl9O2MucHJvdG90eXBlLmdldD1mdW5jdGlvbihoKXtyZXR1cm4oaD1kKHRoaXMsaCkuZW50cnkpJiZoLnZhbHVlfTtjLnByb3RvdHlwZS5lbnRyaWVzPWZ1bmN0aW9uKCl7cmV0dXJuIGUodGhpcyxmdW5jdGlvbihoKXtyZXR1cm5baC5rZXksaC52YWx1ZV19KX07Yy5wcm90b3R5cGUua2V5cz1mdW5jdGlvbigpe3JldHVybiBlKHRoaXMsZnVuY3Rpb24oaCl7cmV0dXJuIGgua2V5fSl9O2MucHJvdG90eXBlLnZhbHVlcz1mdW5jdGlvbigpe3JldHVybiBlKHRoaXMsXG5mdW5jdGlvbihoKXtyZXR1cm4gaC52YWx1ZX0pfTtjLnByb3RvdHlwZS5mb3JFYWNoPWZ1bmN0aW9uKGgsayl7Zm9yKHZhciBsPXRoaXMuZW50cmllcygpLG47IShuPWwubmV4dCgpKS5kb25lOyluPW4udmFsdWUsaC5jYWxsKGssblsxXSxuWzBdLHRoaXMpfTtjLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdPWMucHJvdG90eXBlLmVudHJpZXM7dmFyIGQ9ZnVuY3Rpb24oaCxrKXt2YXIgbD1rJiZ0eXBlb2YgaztsPT1cIm9iamVjdFwifHxsPT1cImZ1bmN0aW9uXCI/Yi5oYXMoayk/bD1iLmdldChrKToobD1cIlwiKyArK2csYi5zZXQoayxsKSk6bD1cInBfXCIrazt2YXIgbj1oWzBdW2xdO2lmKG4mJlJnKGhbMF0sbCkpZm9yKGg9MDtoPG4ubGVuZ3RoO2grKyl7dmFyIHI9bltoXTtpZihrIT09ayYmci5rZXkhPT1yLmtleXx8az09PXIua2V5KXJldHVybntpZDpsLGxpc3Q6bixpbmRleDpoLGVudHJ5OnJ9fXJldHVybntpZDpsLGxpc3Q6bixpbmRleDotMSxlbnRyeTp2b2lkIDB9fSxlPWZ1bmN0aW9uKGgsXG5rKXt2YXIgbD1oWzFdO3JldHVybiBSc2EoZnVuY3Rpb24oKXtpZihsKXtmb3IoO2wuaGVhZCE9aFsxXTspbD1sLnByZXZpb3VzO2Zvcig7bC5uZXh0IT1sLmhlYWQ7KXJldHVybiBsPWwubmV4dCx7ZG9uZTohMSx2YWx1ZTprKGwpfTtsPW51bGx9cmV0dXJue2RvbmU6ITAsdmFsdWU6dm9pZCAwfX0pfSxmPWZ1bmN0aW9uKCl7dmFyIGg9e307cmV0dXJuIGgucHJldmlvdXM9aC5uZXh0PWguaGVhZD1ofSxnPTA7cmV0dXJuIGN9KTtQZyhcIk51bWJlci5FUFNJTE9OXCIsZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5wb3coMiwtNTIpfSk7UGcoXCJOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlwiLGZ1bmN0aW9uKCl7cmV0dXJuIDkwMDcxOTkyNTQ3NDA5OTF9KTtQZyhcIk51bWJlci5pc0Zpbml0ZVwiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7cmV0dXJuIHR5cGVvZiBiIT09XCJudW1iZXJcIj8hMTohaXNOYU4oYikmJmIhPT1JbmZpbml0eSYmYiE9PS1JbmZpbml0eX19KTtcblBnKFwiTnVtYmVyLmlzSW50ZWdlclwiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7cmV0dXJuIE51bWJlci5pc0Zpbml0ZShiKT9iPT09TWF0aC5mbG9vcihiKTohMX19KTtQZyhcIk51bWJlci5pc1NhZmVJbnRlZ2VyXCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtyZXR1cm4gTnVtYmVyLmlzSW50ZWdlcihiKSYmTWF0aC5hYnMoYik8PU51bWJlci5NQVhfU0FGRV9JTlRFR0VSfX0pO1BnKFwiTWF0aC50cnVuY1wiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7Yj1OdW1iZXIoYik7aWYoaXNOYU4oYil8fGI9PT1JbmZpbml0eXx8Yj09PS1JbmZpbml0eXx8Yj09PTApcmV0dXJuIGI7dmFyIGM9TWF0aC5mbG9vcihNYXRoLmFicyhiKSk7cmV0dXJuIGI8MD8tYzpjfX0pO1BnKFwiTWF0aC5sb2cyXCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtyZXR1cm4gTWF0aC5sb2coYikvTWF0aC5MTjJ9fSk7XG5QZyhcIk9iamVjdC52YWx1ZXNcIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIpe3ZhciBjPVtdLGQ7Zm9yKGQgaW4gYilSZyhiLGQpJiZjLnB1c2goYltkXSk7cmV0dXJuIGN9fSk7UGcoXCJPYmplY3QuaXNcIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIsYyl7cmV0dXJuIGI9PT1jP2IhPT0wfHwxL2I9PT0xL2M6YiE9PWImJmMhPT1jfX0pO1BnKFwiQXJyYXkucHJvdG90eXBlLmluY2x1ZGVzXCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe3ZhciBkPXRoaXM7ZCBpbnN0YW5jZW9mIFN0cmluZyYmKGQ9U3RyaW5nKGQpKTt2YXIgZT1kLmxlbmd0aDtjPWN8fDA7Zm9yKGM8MCYmKGM9TWF0aC5tYXgoYytlLDApKTtjPGU7YysrKXt2YXIgZj1kW2NdO2lmKGY9PT1ifHxPYmplY3QuaXMoZixiKSlyZXR1cm4hMH1yZXR1cm4hMX19KTtcblBnKFwiU3RyaW5nLnByb3RvdHlwZS5pbmNsdWRlc1wiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXtyZXR1cm4gbHRhKHRoaXMsYixcImluY2x1ZGVzXCIpLmluZGV4T2YoYixjfHwwKSE9PS0xfX0pO1BnKFwiTWF0aC5jbHozMlwiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7Yj1OdW1iZXIoYik+Pj4wO2lmKGI9PT0wKXJldHVybiAzMjt2YXIgYz0wOyhiJjQyOTQ5MDE3NjApPT09MCYmKGI8PD0xNixjKz0xNik7KGImNDI3ODE5MDA4MCk9PT0wJiYoYjw8PTgsYys9OCk7KGImNDAyNjUzMTg0MCk9PT0wJiYoYjw8PTQsYys9NCk7KGImMzIyMTIyNTQ3Mik9PT0wJiYoYjw8PTIsYys9Mik7KGImMjE0NzQ4MzY0OCk9PT0wJiZjKys7cmV0dXJuIGN9fSk7UGcoXCJNYXRoLmxvZzEwXCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtyZXR1cm4gTWF0aC5sb2coYikvTWF0aC5MTjEwfX0pO1xudmFyIG50YT1mdW5jdGlvbihhLGIpe2EgaW5zdGFuY2VvZiBTdHJpbmcmJihhKz1cIlwiKTt2YXIgYz0wLGQ9ITEsZT17bmV4dDpmdW5jdGlvbigpe2lmKCFkJiZjPGEubGVuZ3RoKXt2YXIgZj1jKys7cmV0dXJue3ZhbHVlOmIoZixhW2ZdKSxkb25lOiExfX1kPSEwO3JldHVybntkb25lOiEwLHZhbHVlOnZvaWQgMH19fTtlW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gZX07cmV0dXJuIGV9O1BnKFwiQXJyYXkucHJvdG90eXBlLmVudHJpZXNcIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKCl7cmV0dXJuIG50YSh0aGlzLGZ1bmN0aW9uKGIsYyl7cmV0dXJuW2IsY119KX19KTtQZyhcIkFycmF5LnByb3RvdHlwZS5rZXlzXCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbigpe3JldHVybiBudGEodGhpcyxmdW5jdGlvbihiKXtyZXR1cm4gYn0pfX0pO1xuUGcoXCJBcnJheS5wcm90b3R5cGUudmFsdWVzXCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbigpe3JldHVybiBudGEodGhpcyxmdW5jdGlvbihiLGMpe3JldHVybiBjfSl9fSk7UGcoXCJBcnJheS5mcm9tXCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMsZCl7Yz1jIT1udWxsP2M6ZnVuY3Rpb24oaCl7cmV0dXJuIGh9O3ZhciBlPVtdLGY9dHlwZW9mIFN5bWJvbCE9XCJ1bmRlZmluZWRcIiYmU3ltYm9sLml0ZXJhdG9yJiZiW1N5bWJvbC5pdGVyYXRvcl07aWYodHlwZW9mIGY9PVwiZnVuY3Rpb25cIil7Yj1mLmNhbGwoYik7Zm9yKHZhciBnPTA7IShmPWIubmV4dCgpKS5kb25lOyllLnB1c2goYy5jYWxsKGQsZi52YWx1ZSxnKyspKX1lbHNlIGZvcihmPWIubGVuZ3RoLGc9MDtnPGY7ZysrKWUucHVzaChjLmNhbGwoZCxiW2ddLGcpKTtyZXR1cm4gZX19KTtcblBnKFwiTnVtYmVyLmlzTmFOXCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtyZXR1cm4gdHlwZW9mIGI9PT1cIm51bWJlclwiJiZpc05hTihiKX19KTtQZyhcIkFycmF5LnByb3RvdHlwZS5maWxsXCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMsZCl7dmFyIGU9dGhpcy5sZW5ndGh8fDA7YzwwJiYoYz1NYXRoLm1heCgwLGUrYykpO2lmKGQ9PW51bGx8fGQ+ZSlkPWU7ZD1OdW1iZXIoZCk7ZDwwJiYoZD1NYXRoLm1heCgwLGUrZCkpO2ZvcihjPU51bWJlcihjfHwwKTtjPGQ7YysrKXRoaXNbY109YjtyZXR1cm4gdGhpc319KTt2YXIgb3RhPWZ1bmN0aW9uKGEpe3JldHVybiBhP2E6QXJyYXkucHJvdG90eXBlLmZpbGx9O1BnKFwiSW50OEFycmF5LnByb3RvdHlwZS5maWxsXCIsb3RhKTtQZyhcIlVpbnQ4QXJyYXkucHJvdG90eXBlLmZpbGxcIixvdGEpO1BnKFwiVWludDhDbGFtcGVkQXJyYXkucHJvdG90eXBlLmZpbGxcIixvdGEpO1xuUGcoXCJJbnQxNkFycmF5LnByb3RvdHlwZS5maWxsXCIsb3RhKTtQZyhcIlVpbnQxNkFycmF5LnByb3RvdHlwZS5maWxsXCIsb3RhKTtQZyhcIkludDMyQXJyYXkucHJvdG90eXBlLmZpbGxcIixvdGEpO1BnKFwiVWludDMyQXJyYXkucHJvdG90eXBlLmZpbGxcIixvdGEpO1BnKFwiRmxvYXQzMkFycmF5LnByb3RvdHlwZS5maWxsXCIsb3RhKTtQZyhcIkZsb2F0NjRBcnJheS5wcm90b3R5cGUuZmlsbFwiLG90YSk7XG5QZyhcIlNldFwiLGZ1bmN0aW9uKGEpe2lmKGZ1bmN0aW9uKCl7aWYoIWF8fHR5cGVvZiBhIT1cImZ1bmN0aW9uXCJ8fCFhLnByb3RvdHlwZS5lbnRyaWVzfHx0eXBlb2YgT2JqZWN0LnNlYWwhPVwiZnVuY3Rpb25cIilyZXR1cm4hMTt0cnl7dmFyIGM9T2JqZWN0LnNlYWwoe3g6NH0pLGQ9bmV3IGEoXy5QYShbY10pKTtpZighZC5oYXMoYyl8fGQuc2l6ZSE9MXx8ZC5hZGQoYykhPWR8fGQuc2l6ZSE9MXx8ZC5hZGQoe3g6NH0pIT1kfHxkLnNpemUhPTIpcmV0dXJuITE7dmFyIGU9ZC5lbnRyaWVzKCksZj1lLm5leHQoKTtpZihmLmRvbmV8fGYudmFsdWVbMF0hPWN8fGYudmFsdWVbMV0hPWMpcmV0dXJuITE7Zj1lLm5leHQoKTtyZXR1cm4gZi5kb25lfHxmLnZhbHVlWzBdPT1jfHxmLnZhbHVlWzBdLnghPTR8fGYudmFsdWVbMV0hPWYudmFsdWVbMF0/ITE6ZS5uZXh0KCkuZG9uZX1jYXRjaChnKXtyZXR1cm4hMX19KCkpcmV0dXJuIGE7dmFyIGI9ZnVuY3Rpb24oYyl7dGhpcy5vYT1uZXcgTWFwO2lmKGMpe2M9XG5fLlBhKGMpO2Zvcih2YXIgZDshKGQ9Yy5uZXh0KCkpLmRvbmU7KXRoaXMuYWRkKGQudmFsdWUpfXRoaXMuc2l6ZT10aGlzLm9hLnNpemV9O2IucHJvdG90eXBlLmFkZD1mdW5jdGlvbihjKXtjPWM9PT0wPzA6Yzt0aGlzLm9hLnNldChjLGMpO3RoaXMuc2l6ZT10aGlzLm9hLnNpemU7cmV0dXJuIHRoaXN9O2IucHJvdG90eXBlLmRlbGV0ZT1mdW5jdGlvbihjKXtjPXRoaXMub2EuZGVsZXRlKGMpO3RoaXMuc2l6ZT10aGlzLm9hLnNpemU7cmV0dXJuIGN9O2IucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5vYS5jbGVhcigpO3RoaXMuc2l6ZT0wfTtiLnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24oYyl7cmV0dXJuIHRoaXMub2EuaGFzKGMpfTtiLnByb3RvdHlwZS5lbnRyaWVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub2EuZW50cmllcygpfTtiLnByb3RvdHlwZS52YWx1ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vYS52YWx1ZXMoKX07Yi5wcm90b3R5cGUua2V5cz1iLnByb3RvdHlwZS52YWx1ZXM7XG5iLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdPWIucHJvdG90eXBlLnZhbHVlcztiLnByb3RvdHlwZS5mb3JFYWNoPWZ1bmN0aW9uKGMsZCl7dmFyIGU9dGhpczt0aGlzLm9hLmZvckVhY2goZnVuY3Rpb24oZil7cmV0dXJuIGMuY2FsbChkLGYsZixlKX0pfTtyZXR1cm4gYn0pO1BnKFwiT2JqZWN0LmVudHJpZXNcIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIpe3ZhciBjPVtdLGQ7Zm9yKGQgaW4gYilSZyhiLGQpJiZjLnB1c2goW2QsYltkXV0pO3JldHVybiBjfX0pO1BnKFwiT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9sc1wiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oKXtyZXR1cm5bXX19KTtcblBnKFwiU3RyaW5nLnByb3RvdHlwZS5lbmRzV2l0aFwiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXt2YXIgZD1sdGEodGhpcyxiLFwiZW5kc1dpdGhcIik7Yz09PXZvaWQgMCYmKGM9ZC5sZW5ndGgpO2M9TWF0aC5tYXgoMCxNYXRoLm1pbihjfDAsZC5sZW5ndGgpKTtmb3IodmFyIGU9Yi5sZW5ndGg7ZT4wJiZjPjA7KWlmKGRbLS1jXSE9YlstLWVdKXJldHVybiExO3JldHVybiBlPD0wfX0pO1BnKFwiU3RyaW5nLnByb3RvdHlwZS5yZXBlYXRcIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIpe3ZhciBjPWx0YSh0aGlzLG51bGwsXCJyZXBlYXRcIik7aWYoYjwwfHxiPjEzNDIxNzcyNzkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJ1XCIpO2J8PTA7Zm9yKHZhciBkPVwiXCI7YjspaWYoYiYxJiYoZCs9YyksYj4+Pj0xKWMrPWM7cmV0dXJuIGR9fSk7UGcoXCJnbG9iYWxUaGlzXCIsZnVuY3Rpb24oYSl7cmV0dXJuIGF8fF8uT2d9KTtcblBnKFwiU3RyaW5nLnByb3RvdHlwZS5tYXRjaEFsbFwiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7aWYoYiBpbnN0YW5jZW9mIFJlZ0V4cCYmIWIuZ2xvYmFsKXRocm93IG5ldyBUeXBlRXJyb3IoXCJ2XCIpO3ZhciBjPW5ldyBSZWdFeHAoYixiIGluc3RhbmNlb2YgUmVnRXhwP3ZvaWQgMDpcImdcIiksZD10aGlzLGU9ITEsZj17bmV4dDpmdW5jdGlvbigpe2lmKGUpcmV0dXJue3ZhbHVlOnZvaWQgMCxkb25lOiEwfTt2YXIgZz1jLmV4ZWMoZCk7aWYoIWcpcmV0dXJuIGU9ITAse3ZhbHVlOnZvaWQgMCxkb25lOiEwfTtnWzBdPT09XCJcIiYmKGMubGFzdEluZGV4Kz0xKTtyZXR1cm57dmFsdWU6Zyxkb25lOiExfX19O2ZbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiBmfTtyZXR1cm4gZn19KTt2YXIgcHRhPWZ1bmN0aW9uKGEpe2E9TWF0aC50cnVuYyhhKXx8MDthPDAmJihhKz10aGlzLmxlbmd0aCk7aWYoIShhPDB8fGE+PXRoaXMubGVuZ3RoKSlyZXR1cm4gdGhpc1thXX07XG5QZyhcIkFycmF5LnByb3RvdHlwZS5hdFwiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6cHRhfSk7dmFyIHF0YT1mdW5jdGlvbihhKXtyZXR1cm4gYT9hOnB0YX07UGcoXCJJbnQ4QXJyYXkucHJvdG90eXBlLmF0XCIscXRhKTtQZyhcIlVpbnQ4QXJyYXkucHJvdG90eXBlLmF0XCIscXRhKTtQZyhcIlVpbnQ4Q2xhbXBlZEFycmF5LnByb3RvdHlwZS5hdFwiLHF0YSk7UGcoXCJJbnQxNkFycmF5LnByb3RvdHlwZS5hdFwiLHF0YSk7UGcoXCJVaW50MTZBcnJheS5wcm90b3R5cGUuYXRcIixxdGEpO1BnKFwiSW50MzJBcnJheS5wcm90b3R5cGUuYXRcIixxdGEpO1BnKFwiVWludDMyQXJyYXkucHJvdG90eXBlLmF0XCIscXRhKTtQZyhcIkZsb2F0MzJBcnJheS5wcm90b3R5cGUuYXRcIixxdGEpO1BnKFwiRmxvYXQ2NEFycmF5LnByb3RvdHlwZS5hdFwiLHF0YSk7UGcoXCJTdHJpbmcucHJvdG90eXBlLmF0XCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpwdGF9KTtcblBnKFwiTWF0aC5zaWduXCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtiPU51bWJlcihiKTtyZXR1cm4gYj09PTB8fGlzTmFOKGIpP2I6Yj4wPzE6LTF9fSk7UGcoXCJPYmplY3QuZnJvbUVudHJpZXNcIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIpe3ZhciBjPXt9O2lmKCEoU3ltYm9sLml0ZXJhdG9yIGluIGIpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJ3YFwiK2IpO2I9YltTeW1ib2wuaXRlcmF0b3JdLmNhbGwoYik7Zm9yKHZhciBkPWIubmV4dCgpOyFkLmRvbmU7ZD1iLm5leHQoKSl7ZD1kLnZhbHVlO2lmKE9iamVjdChkKSE9PWQpdGhyb3cgbmV3IFR5cGVFcnJvcihcInhcIik7Y1tkWzBdXT1kWzFdfXJldHVybiBjfX0pO1xuUGcoXCJBcnJheS5wcm90b3R5cGUuZmxhdFwiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7Yj1iPT09dm9pZCAwPzE6Yjt2YXIgYz1bXTtBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKHRoaXMsZnVuY3Rpb24oZCl7QXJyYXkuaXNBcnJheShkKSYmYj4wPyhkPUFycmF5LnByb3RvdHlwZS5mbGF0LmNhbGwoZCxiLTEpLGMucHVzaC5hcHBseShjLGQpKTpjLnB1c2goZCl9KTtyZXR1cm4gY319KTtcblBnKFwiU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsXCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe2lmKGIgaW5zdGFuY2VvZiBSZWdFeHAmJiFiLmdsb2JhbCl0aHJvdyBuZXcgVHlwZUVycm9yKFwieVwiKTtyZXR1cm4gYiBpbnN0YW5jZW9mIFJlZ0V4cD90aGlzLnJlcGxhY2UoYixjKTp0aGlzLnJlcGxhY2UobmV3IFJlZ0V4cChTdHJpbmcoYikucmVwbGFjZSgvKFstKClcXFtcXF17fSs/Ki4kXFxefCw6IzwhXFxcXF0pL2csXCJcXFxcJDFcIikucmVwbGFjZSgvXFx4MDgvZyxcIlxcXFx4MDhcIiksXCJnXCIpLGMpfX0pO1BnKFwiQXJyYXkucHJvdG90eXBlLmZpbmRJbmRleFwiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXtyZXR1cm4gbXRhKHRoaXMsYixjKS5pfX0pO1xuUGcoXCJSZWZsZWN0LmRlZmluZVByb3BlcnR5XCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMsZCl7dHJ5e09iamVjdC5kZWZpbmVQcm9wZXJ0eShiLGMsZCk7dmFyIGU9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihiLGMpO3JldHVybiBlP2UuY29uZmlndXJhYmxlPT09KGQuY29uZmlndXJhYmxlfHwhMSkmJmUuZW51bWVyYWJsZT09PShkLmVudW1lcmFibGV8fCExKSYmKFwidmFsdWVcImluIGU/ZS52YWx1ZT09PWQudmFsdWUmJmUud3JpdGFibGU9PT0oZC53cml0YWJsZXx8ITEpOmUuZ2V0PT09ZC5nZXQmJmUuc2V0PT09ZC5zZXQpOiExfWNhdGNoKGYpe3JldHVybiExfX19KTtQZyhcIlJlZmxlY3QuZGVsZXRlUHJvcGVydHlcIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIsYyl7aWYoIVJnKGIsYykpcmV0dXJuITA7dHJ5e3JldHVybiBkZWxldGUgYltjXX1jYXRjaChkKXtyZXR1cm4hMX19fSk7XG5QZyhcIlJlZmxlY3Qub3duS2V5c1wiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7dmFyIGM9W10sZD1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhiKTtiPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoYik7Zm9yKHZhciBlPTA7ZTxkLmxlbmd0aDtlKyspKGRbZV0uc3Vic3RyaW5nKDAsMTQpPT1cImpzY29tcF9zeW1ib2xfXCI/YjpjKS5wdXNoKGRbZV0pO3JldHVybiBjLmNvbmNhdChiKX19KTtQZyhcIlByb21pc2UucHJvdG90eXBlLmZpbmFsbHlcIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIpe3JldHVybiB0aGlzLnRoZW4oZnVuY3Rpb24oYyl7cmV0dXJuIFByb21pc2UucmVzb2x2ZShiKCkpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gY30pfSxmdW5jdGlvbihjKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGIoKSkudGhlbihmdW5jdGlvbigpe3Rocm93IGM7fSl9KX19KTtcblBnKFwiUmVmbGVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JcIixmdW5jdGlvbihhKXtyZXR1cm4gYXx8T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcn0pO1BnKFwiUmVmbGVjdC5nZXRQcm90b3R5cGVPZlwiLGZ1bmN0aW9uKGEpe3JldHVybiBhfHxPYmplY3QuZ2V0UHJvdG90eXBlT2Z9KTt2YXIgcnRhPWZ1bmN0aW9uKGEsYil7Zm9yKDthOyl7dmFyIGM9UmVmbGVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYSxiKTtpZihjKXJldHVybiBjO2E9UmVmbGVjdC5nZXRQcm90b3R5cGVPZihhKX19O1BnKFwiUmVmbGVjdC5nZXRcIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIsYyxkKXtpZihhcmd1bWVudHMubGVuZ3RoPD0yKXJldHVybiBiW2NdO3ZhciBlPXJ0YShiLGMpO2lmKGUpcmV0dXJuIGUuZ2V0P2UuZ2V0LmNhbGwoZCk6ZS52YWx1ZX19KTtcblBnKFwiUmVmbGVjdC5pc0V4dGVuc2libGVcIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOnR5cGVvZiBPYmplY3QuaXNFeHRlbnNpYmxlPT1cImZ1bmN0aW9uXCI/T2JqZWN0LmlzRXh0ZW5zaWJsZTpmdW5jdGlvbigpe3JldHVybiEwfX0pO1BnKFwiUmVmbGVjdC5zZXRcIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIsYyxkLGUpe3ZhciBmPXJ0YShiLGMpO3JldHVybiBmP2Yuc2V0PyhmLnNldC5jYWxsKGFyZ3VtZW50cy5sZW5ndGg+Mz9lOmIsZCksITApOmYud3JpdGFibGUmJiFPYmplY3QuaXNGcm96ZW4oYik/KGJbY109ZCwhMCk6ITE6UmVmbGVjdC5pc0V4dGVuc2libGUoYik/KGJbY109ZCwhMCk6ITF9fSk7XG5QZyhcIkFycmF5LnByb3RvdHlwZS5mbGF0TWFwXCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe3ZhciBkPVtdO0FycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwodGhpcyxmdW5jdGlvbihlLGYpe2U9Yi5jYWxsKGMsZSxmLHRoaXMpO0FycmF5LmlzQXJyYXkoZSk/ZC5wdXNoLmFwcGx5KGQsZSk6ZC5wdXNoKGUpfSk7cmV0dXJuIGR9fSk7XG5QZyhcIlN0cmluZy5mcm9tQ29kZVBvaW50XCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtmb3IodmFyIGM9XCJcIixkPTA7ZDxhcmd1bWVudHMubGVuZ3RoO2QrKyl7dmFyIGU9TnVtYmVyKGFyZ3VtZW50c1tkXSk7aWYoZTwwfHxlPjExMTQxMTF8fGUhPT1NYXRoLmZsb29yKGUpKXRocm93IG5ldyBSYW5nZUVycm9yKFwiemBcIitlKTtlPD02NTUzNT9jKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGUpOihlLT02NTUzNixjKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGU+Pj4xMCYxMDIzfDU1Mjk2KSxjKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGUmMTAyM3w1NjMyMCkpfXJldHVybiBjfX0pO1xuUGcoXCJTdHJpbmcucHJvdG90eXBlLmNvZGVQb2ludEF0XCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXt2YXIgYz1sdGEodGhpcyxudWxsLFwiY29kZVBvaW50QXRcIiksZD1jLmxlbmd0aDtiPU51bWJlcihiKXx8MDtpZihiPj0wJiZiPGQpe2J8PTA7dmFyIGU9Yy5jaGFyQ29kZUF0KGIpO2lmKGU8NTUyOTZ8fGU+NTYzMTl8fGIrMT09PWQpcmV0dXJuIGU7Yj1jLmNoYXJDb2RlQXQoYisxKTtyZXR1cm4gYjw1NjMyMHx8Yj41NzM0Mz9lOihlLTU1Mjk2KSoxMDI0K2IrOTIxNn19fSk7UGcoXCJTdHJpbmcucHJvdG90eXBlLnBhZFN0YXJ0XCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe3ZhciBkPWx0YSh0aGlzLG51bGwsXCJwYWRTdGFydFwiKTtiLT1kLmxlbmd0aDtjPWMhPT12b2lkIDA/U3RyaW5nKGMpOlwiIFwiO3JldHVybihiPjAmJmM/Yy5yZXBlYXQoTWF0aC5jZWlsKGIvYy5sZW5ndGgpKS5zdWJzdHJpbmcoMCxiKTpcIlwiKStkfX0pO1xuUGcoXCJNYXRoLmh5cG90XCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtpZihhcmd1bWVudHMubGVuZ3RoPDIpcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/TWF0aC5hYnMoYXJndW1lbnRzWzBdKTowO3ZhciBjLGQsZTtmb3IoYz1lPTA7Yzxhcmd1bWVudHMubGVuZ3RoO2MrKyllPU1hdGgubWF4KGUsTWF0aC5hYnMoYXJndW1lbnRzW2NdKSk7aWYoZT4xRTEwMHx8ZTwxRS0xMDApe2lmKCFlKXJldHVybiBlO2ZvcihjPWQ9MDtjPGFyZ3VtZW50cy5sZW5ndGg7YysrKXt2YXIgZj1OdW1iZXIoYXJndW1lbnRzW2NdKS9lO2QrPWYqZn1yZXR1cm4gTWF0aC5zcXJ0KGQpKmV9Zm9yKGM9ZD0wO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspZj1OdW1iZXIoYXJndW1lbnRzW2NdKSxkKz1mKmY7cmV0dXJuIE1hdGguc3FydChkKX19KTtcblBnKFwiUHJvbWlzZS5hbGxTZXR0bGVkXCIsZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihkKXtyZXR1cm57c3RhdHVzOlwiZnVsZmlsbGVkXCIsdmFsdWU6ZH19ZnVuY3Rpb24gYyhkKXtyZXR1cm57c3RhdHVzOlwicmVqZWN0ZWRcIixyZWFzb246ZH19cmV0dXJuIGE/YTpmdW5jdGlvbihkKXt2YXIgZT10aGlzO2Q9QXJyYXkuZnJvbShkLGZ1bmN0aW9uKGYpe3JldHVybiBlLnJlc29sdmUoZikudGhlbihiLGMpfSk7cmV0dXJuIGUuYWxsKGQpfX0pO1BnKFwiQXJyYXkub2ZcIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIpe3JldHVybiBBcnJheS5mcm9tKGFyZ3VtZW50cyl9fSk7UGcoXCJTdHJpbmcucHJvdG90eXBlLnRyaW1SaWdodFwiLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoKXtyZXR1cm4gdGhpcy5yZXBsYWNlKC9bXFxzXFx4YTBdKyQvLFwiXCIpfXJldHVybiBhfHxifSk7UGcoXCJTdHJpbmcucHJvdG90eXBlLnRyaW1FbmRcIixmdW5jdGlvbihhKXtyZXR1cm4gYXx8U3RyaW5nLnByb3RvdHlwZS50cmltUmlnaHR9KTtcblBnKFwiTWF0aC5sb2cxcFwiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7Yj1OdW1iZXIoYik7aWYoYjwuMjUmJmI+LS4yNSl7Zm9yKHZhciBjPWIsZD0xLGU9YixmPTAsZz0xO2YhPWU7KWMqPWIsZyo9LTEsZT0oZj1lKStnKmMvKytkO3JldHVybiBlfXJldHVybiBNYXRoLmxvZygxK2IpfX0pO1BnKFwiTWF0aC5leHBtMVwiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7Yj1OdW1iZXIoYik7aWYoYjwuMjUmJmI+LS4yNSl7Zm9yKHZhciBjPWIsZD0xLGU9YixmPTA7ZiE9ZTspYyo9Yi8rK2QsZT0oZj1lKStjO3JldHVybiBlfXJldHVybiBNYXRoLmV4cChiKS0xfX0pO1BnKFwiTnVtYmVyLnBhcnNlRmxvYXRcIixmdW5jdGlvbihhKXtyZXR1cm4gYXx8cGFyc2VGbG9hdH0pO1xuUGcoXCJNYXRoLmNicnRcIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIpe2lmKGI9PT0wKXJldHVybiBiO2I9TnVtYmVyKGIpO3ZhciBjPU1hdGgucG93KE1hdGguYWJzKGIpLDEvMyk7cmV0dXJuIGI8MD8tYzpjfX0pO18uX0R1bXBFeGNlcHRpb249d2luZG93Ll9EdW1wRXhjZXB0aW9ufHxmdW5jdGlvbihhKXt0aHJvdyBhO307d2luZG93Ll9EdW1wRXhjZXB0aW9uPV8uX0R1bXBFeGNlcHRpb247Z29vZ2xlLmMmJmdvb2dsZS50aWNrKFwibG9hZFwiLFwieGpzZXNcIik7dmFyIHN0YSx0dGEsdXRhLGVoLHZ0YSx3dGEseHRhLHl0YSx6dGEsQnRhO3N0YT1zdGF8fHt9O18uYmE9dGhpc3x8c2VsZjtfLnVkPWZ1bmN0aW9uKGEsYixjKXthPWEuc3BsaXQoXCIuXCIpO2M9Y3x8Xy5iYTthWzBdaW4gY3x8dHlwZW9mIGMuZXhlY1NjcmlwdD09XCJ1bmRlZmluZWRcInx8Yy5leGVjU2NyaXB0KFwidmFyIFwiK2FbMF0pO2Zvcih2YXIgZDthLmxlbmd0aCYmKGQ9YS5zaGlmdCgpKTspYS5sZW5ndGh8fGI9PT12b2lkIDA/Y1tkXSYmY1tkXSE9PU9iamVjdC5wcm90b3R5cGVbZF0/Yz1jW2RdOmM9Y1tkXT17fTpjW2RdPWJ9O3R0YT1mdW5jdGlvbihhLGIpe3ZhciBjPV8uY2goXCJXSVpfZ2xvYmFsX2RhdGEub3hOM25iXCIpO2E9YyYmY1thXTtyZXR1cm4gYSE9bnVsbD9hOmJ9O18uZGg9Xy5iYS5feGpzX3RvZ2dsZXN8fFtdO3V0YT0vXlthLXpBLVpfJF1bYS16QS1aMC05Ll8kXSokLztcbmVoPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09XCJzdHJpbmdcInx8IWF8fGEuc2VhcmNoKHV0YSk9PS0xKXRocm93IEVycm9yKFwiQVwiKTtpZighdnRhfHx2dGEudHlwZSE9XCJnb29nXCIpdGhyb3cgRXJyb3IoXCJCYFwiK2EpO2lmKHZ0YS5BeGQpdGhyb3cgRXJyb3IoXCJDXCIpO3Z0YS5BeGQ9YX07ZWguZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9O3Z0YT1udWxsO18uY2g9ZnVuY3Rpb24oYSxiKXthPWEuc3BsaXQoXCIuXCIpO2I9Ynx8Xy5iYTtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylpZihiPWJbYVtjXV0sYj09bnVsbClyZXR1cm4gbnVsbDtyZXR1cm4gYn07Xy5naD1mdW5jdGlvbihhKXthLmhsYT12b2lkIDA7YS5nZXRJbnN0YW5jZT1mdW5jdGlvbigpe3JldHVybiBhLmhsYT9hLmhsYTphLmhsYT1uZXcgYX19O18uZmNhPWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBhO3JldHVybiBiIT1cIm9iamVjdFwiP2I6YT9BcnJheS5pc0FycmF5KGEpP1wiYXJyYXlcIjpiOlwibnVsbFwifTtcbl8uQmE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5mY2EoYSk7cmV0dXJuIGI9PVwiYXJyYXlcInx8Yj09XCJvYmplY3RcIiYmdHlwZW9mIGEubGVuZ3RoPT1cIm51bWJlclwifTtfLkRhPWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBhO3JldHVybiBiPT1cIm9iamVjdFwiJiZhIT1udWxsfHxiPT1cImZ1bmN0aW9uXCJ9O18uRWE9ZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLHd0YSkmJmFbd3RhXXx8KGFbd3RhXT0rK3h0YSl9O3d0YT1cImNsb3N1cmVfdWlkX1wiKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApO3h0YT0wO3l0YT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGEuY2FsbC5hcHBseShhLmJpbmQsYXJndW1lbnRzKX07XG56dGE9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhKXRocm93IEVycm9yKCk7aWYoYXJndW1lbnRzLmxlbmd0aD4yKXt2YXIgZD1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMik7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtBcnJheS5wcm90b3R5cGUudW5zaGlmdC5hcHBseShlLGQpO3JldHVybiBhLmFwcGx5KGIsZSl9fXJldHVybiBmdW5jdGlvbigpe3JldHVybiBhLmFwcGx5KGIsYXJndW1lbnRzKX19O18uaGg9ZnVuY3Rpb24oYSxiLGMpe18uaGg9RnVuY3Rpb24ucHJvdG90eXBlLmJpbmQmJkZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLnRvU3RyaW5nKCkuaW5kZXhPZihcIm5hdGl2ZSBjb2RlXCIpIT0tMT95dGE6enRhO3JldHVybiBfLmhoLmFwcGx5KG51bGwsYXJndW1lbnRzKX07XG5fLmloPWZ1bmN0aW9uKGEsYil7dmFyIGM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBmdW5jdGlvbigpe3ZhciBkPWMuc2xpY2UoKTtkLnB1c2guYXBwbHkoZCxhcmd1bWVudHMpO3JldHVybiBhLmFwcGx5KHRoaXMsZCl9fTtfLmpoPWZ1bmN0aW9uKCl7cmV0dXJuIERhdGUubm93KCl9O18uJG1hPWZ1bmN0aW9uKGEsYil7Xy51ZChhLGIpfTtfLkF0YT1mdW5jdGlvbihhLGIsYyl7YVtiXT1jfTtfLm1oPWZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYygpe31jLnByb3RvdHlwZT1iLnByb3RvdHlwZTthLk9kPWIucHJvdG90eXBlO2EucHJvdG90eXBlPW5ldyBjO2EucHJvdG90eXBlLmNvbnN0cnVjdG9yPWE7YS5iYXNlPWZ1bmN0aW9uKGQsZSxmKXtmb3IodmFyIGc9QXJyYXkoYXJndW1lbnRzLmxlbmd0aC0yKSxoPTI7aDxhcmd1bWVudHMubGVuZ3RoO2grKylnW2gtMl09YXJndW1lbnRzW2hdO3JldHVybiBiLnByb3RvdHlwZVtlXS5hcHBseShkLGcpfX07XG5CdGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O18ubWgoXy5hYSxFcnJvcik7Xy5hYS5wcm90b3R5cGUubmFtZT1cIkN1c3RvbUVycm9yXCI7dmFyIEN0YTtfLm1oKF8uYWFhLF8uYWEpO18uYWFhLnByb3RvdHlwZS5uYW1lPVwiQXNzZXJ0aW9uRXJyb3JcIjt2YXIgZ2FhLGVhYSxmYWEsa2FhLGphYSxpYWE7Z2FhPXZvaWQgMDtfLkR0YT10eXBlb2YgVGV4dERlY29kZXIhPT1cInVuZGVmaW5lZFwiO2phYT10eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5qdGQ9PT1cImZ1bmN0aW9uXCI7aWFhPXR5cGVvZiBUZXh0RW5jb2RlciE9PVwidW5kZWZpbmVkXCI7Xy5FdGE9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPVtdLGM9MCxkPTA7ZDxhLmxlbmd0aDtkKyspe3ZhciBlPWEuY2hhckNvZGVBdChkKTtlPjI1NSYmKGJbYysrXT1lJjI1NSxlPj49OCk7YltjKytdPWV9cmV0dXJuIGJ9O18uRnRhPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1bXSxjPTAsZD0wO2Q8YS5sZW5ndGg7ZCsrKXt2YXIgZT1hLmNoYXJDb2RlQXQoZCk7ZTwxMjg/YltjKytdPWU6KGU8MjA0OD9iW2MrK109ZT4+NnwxOTI6KChlJjY0NTEyKT09NTUyOTYmJmQrMTxhLmxlbmd0aCYmKGEuY2hhckNvZGVBdChkKzEpJjY0NTEyKT09NTYzMjA/KGU9NjU1MzYrKChlJjEwMjMpPDwxMCkrKGEuY2hhckNvZGVBdCgrK2QpJjEwMjMpLGJbYysrXT1lPj4xOHwyNDAsYltjKytdPWU+PjEyJjYzfDEyOCk6YltjKytdPWU+PjEyfDIyNCxiW2MrK109ZT4+NiY2M3wxMjgpLGJbYysrXT1lJjYzfDEyOCl9cmV0dXJuIGJ9O3ZhciBRdGEsS3RhLEx0YSxNdGEsTnRhLE90YSxQdGEsSnRhLFJ0YTtfLkdmPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEubGFzdEluZGV4T2YoYiwwKT09MH07Xy5HdGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmxlbmd0aC1iLmxlbmd0aDtyZXR1cm4gYz49MCYmYS5pbmRleE9mKGIsYyk9PWN9O18uSXRhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uSHRhKGIsYS5zbGljZSgwLGIubGVuZ3RoKSk9PTB9O18uQWU9ZnVuY3Rpb24oYSl7cmV0dXJuL15bXFxzXFx4YTBdKiQvLnRlc3QoYSl9O18ubmg9U3RyaW5nLnByb3RvdHlwZS50cmltP2Z1bmN0aW9uKGEpe3JldHVybiBhLnRyaW0oKX06ZnVuY3Rpb24oYSl7cmV0dXJuL15bXFxzXFx4YTBdKihbXFxzXFxTXSo/KVtcXHNcXHhhMF0qJC8uZXhlYyhhKVsxXX07Xy5IdGE9ZnVuY3Rpb24oYSxiKXthPVN0cmluZyhhKS50b0xvd2VyQ2FzZSgpO2I9U3RyaW5nKGIpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIGE8Yj8tMTphPT1iPzA6MX07XG5RdGE9ZnVuY3Rpb24oYSl7aWYoIUp0YS50ZXN0KGEpKXJldHVybiBhO2EuaW5kZXhPZihcIiZcIikhPS0xJiYoYT1hLnJlcGxhY2UoS3RhLFwiJmFtcDtcIikpO2EuaW5kZXhPZihcIjxcIikhPS0xJiYoYT1hLnJlcGxhY2UoTHRhLFwiJmx0O1wiKSk7YS5pbmRleE9mKFwiPlwiKSE9LTEmJihhPWEucmVwbGFjZShNdGEsXCImZ3Q7XCIpKTthLmluZGV4T2YoJ1wiJykhPS0xJiYoYT1hLnJlcGxhY2UoTnRhLFwiJnF1b3Q7XCIpKTthLmluZGV4T2YoXCInXCIpIT0tMSYmKGE9YS5yZXBsYWNlKE90YSxcIiYjMzk7XCIpKTthLmluZGV4T2YoXCJcXHgwMFwiKSE9LTEmJihhPWEucmVwbGFjZShQdGEsXCImIzA7XCIpKTtyZXR1cm4gYX07S3RhPS8mL2c7THRhPS88L2c7TXRhPS8+L2c7TnRhPS9cIi9nO090YT0vJy9nO1B0YT0vXFx4MDAvZztKdGE9L1tcXHgwMCY8PlwiJ10vO18uZmE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5pbmRleE9mKGIpIT0tMX07XG5fLm5hPWZ1bmN0aW9uKGEsYil7dmFyIGM9MDthPSgwLF8ubmgpKFN0cmluZyhhKSkuc3BsaXQoXCIuXCIpO2I9KDAsXy5uaCkoU3RyaW5nKGIpKS5zcGxpdChcIi5cIik7Zm9yKHZhciBkPU1hdGgubWF4KGEubGVuZ3RoLGIubGVuZ3RoKSxlPTA7Yz09MCYmZTxkO2UrKyl7dmFyIGY9YVtlXXx8XCJcIixnPWJbZV18fFwiXCI7ZG97Zj0vKFxcZCopKFxcRCopKC4qKS8uZXhlYyhmKXx8W1wiXCIsXCJcIixcIlwiLFwiXCJdO2c9LyhcXGQqKShcXEQqKSguKikvLmV4ZWMoZyl8fFtcIlwiLFwiXCIsXCJcIixcIlwiXTtpZihmWzBdLmxlbmd0aD09MCYmZ1swXS5sZW5ndGg9PTApYnJlYWs7Yz1SdGEoZlsxXS5sZW5ndGg9PTA/MDpwYXJzZUludChmWzFdLDEwKSxnWzFdLmxlbmd0aD09MD8wOnBhcnNlSW50KGdbMV0sMTApKXx8UnRhKGZbMl0ubGVuZ3RoPT0wLGdbMl0ubGVuZ3RoPT0wKXx8UnRhKGZbMl0sZ1syXSk7Zj1mWzNdO2c9Z1szXX13aGlsZShjPT0wKX1yZXR1cm4gY307XG5SdGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYTxiPy0xOmE+Yj8xOjB9O3ZhciBTdGE9ISEoXy5kaFsxNV0mODE5MiksVHRhPSEhKF8uZGhbMTVdJjI1NiksVXRhPSEhKF8uZGhbMTVdPj4xNCYxKSxWdGE9ISEoXy5kaFsxNV0mMTI4KSxXdGE9ISEoXy5kaFsxNV0mMzIpLFh0YT0hIShfLmRoWzE1XSY2NCk7dmFyIFl0YSxVYmEsVWRhLFp0YTtZdGE9dHRhKDEsITApO18ubWFhPVN0YT9VdGE6dHRhKDYxMDQwMTMwMSwhMSk7VWJhPVN0YT9UdGF8fCFWdGE6dHRhKDE4ODU4ODczNiwhMCk7VWRhPVN0YT9UdGF8fCFXdGE6dHRhKDY0NTE3MjM0MyxZdGEpO1p0YT1TdGE/VHRhfHwhWHRhOnR0YSg2NTM3MTg0OTcsWXRhKTt2YXIgJHRhOyR0YT1fLmJhLm5hdmlnYXRvcjtfLmVhPSR0YT8kdGEudXNlckFnZW50RGF0YXx8bnVsbDpudWxsO18udGE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGEsYixjKX07Xy5IYT1mdW5jdGlvbihhLGIsYyl7QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChhLGIsYyl9O18ub2g9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGEsYix2b2lkIDApfTtfLnBoPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGEsYixjKX07Xy5hdWE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoYSxiLGMpfTtfLnJoPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChhLGIsYyl9O18uYnVhPWZ1bmN0aW9uKGEpe18uYnVhW1wiIFwiXShhKTtyZXR1cm4gYX07Xy5idWFbXCIgXCJdPWZ1bmN0aW9uKCl7fTt2YXIgY3VhPWZ1bmN0aW9uKGEsYil7dHJ5e3JldHVybiBfLmJ1YShhW2JdKSwhMH1jYXRjaChjKXt9cmV0dXJuITF9LGlqYT1mdW5jdGlvbihhLGIsYyxkKXtkPWQ/ZChiKTpiO3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxkKT9hW2RdOmFbZF09YyhiKX07dmFyIGp1YSx4dWEsenVhO18uZHVhPWZ1bmN0aW9uKCl7cmV0dXJuIF8uYmEubmF2aWdhdG9yfHxudWxsfTtfLmV1YT1fLnJhYSgpO18udWg9Xy5zYWEoKTtfLmZ1YT1fLmhhKFwiRWRnZVwiKTtfLmd1YT1fLmZ1YXx8Xy51aDtfLnZoPV8uZWJhKCk7Xy53aD1fLmRiYSgpO18uaHVhPV8ud2gmJl8uaGEoXCJNb2JpbGVcIik7anVhPV8uZHVhKCk7Xy5pdWE9anVhJiZqdWEucGxhdGZvcm18fFwiXCI7Xy54aD1fLkZhYSgpO18ua3VhPV8uSGFhKCk7Xy5sdWE9Xy5HYWEoKXx8SWFhKCk7Xy5tdWE9Xy5EYWEoKTtfLm51YT1fLkVhYSgpO18ub3VhPV8uaGEoXCJpUGFkXCIpO18ucHVhPV8uaGEoXCJpUG9kXCIpO18ucXVhPV8ubGEoKTtfLm9hYSgpO3ZhciBydWE9ZnVuY3Rpb24oKXt2YXIgYT1fLmJhLmRvY3VtZW50O3JldHVybiBhP2EuZG9jdW1lbnRNb2RlOnZvaWQgMH0sc3VhO1xuYTp7dmFyIHR1YT1cIlwiLHV1YT1mdW5jdGlvbigpe3ZhciBhPV8uZGEoKTtpZihfLnZoKXJldHVybi9ydjooW15cXCk7XSspKFxcKXw7KS8uZXhlYyhhKTtpZihfLmZ1YSlyZXR1cm4vRWRnZVxcLyhbXFxkXFwuXSspLy5leGVjKGEpO2lmKF8udWgpcmV0dXJuL1xcYig/Ok1TSUV8cnYpWzogXShbXlxcKTtdKykoXFwpfDspLy5leGVjKGEpO2lmKF8ud2gpcmV0dXJuL1dlYktpdFxcLyhcXFMrKS8uZXhlYyhhKTtpZihfLmV1YSlyZXR1cm4vKD86VmVyc2lvbilbIFxcL10/KFxcUyspLy5leGVjKGEpfSgpO3V1YSYmKHR1YT11dWE/dXVhWzFdOlwiXCIpO2lmKF8udWgpe3ZhciB2dWE9cnVhKCk7aWYodnVhIT1udWxsJiZ2dWE+cGFyc2VGbG9hdCh0dWEpKXtzdWE9U3RyaW5nKHZ1YSk7YnJlYWsgYX19c3VhPXR1YX1fLnd1YT1zdWE7eHVhPXt9O18ueXVhPWZ1bmN0aW9uKGEpe3JldHVybiBpamEoeHVhLGEsZnVuY3Rpb24oKXtyZXR1cm4gXy5uYShfLnd1YSxhKT49MH0pfTtcbmlmKF8uYmEuZG9jdW1lbnQmJl8udWgpe3ZhciBBdWE9cnVhKCk7enVhPUF1YT9BdWE6cGFyc2VJbnQoXy53dWEsMTApfHx2b2lkIDB9ZWxzZSB6dWE9dm9pZCAwO18uQnVhPXp1YTtfLnloPXt2TWI6ITEseE1iOiExLHdNYjohMSx0TWI6ITEsdU1iOiExLHlNYjohMX07Xy55aC5KQWE9Xy55aC52TWJ8fF8ueWgueE1ifHxfLnloLndNYnx8Xy55aC50TWJ8fF8ueWgudU1ifHxfLnloLnlNYjtfLnloLmlsYj1fLmV1YTtfLnloLk0wYT1fLnVoO18ueWgueGhiPV8uZnVhO18ueWguVXphPV8ueWguSkFhP18ueWgudk1iOl8udmFhKCk7Xy55aC5Dc2Q9ZnVuY3Rpb24oKXtyZXR1cm4gXy5FYWEoKXx8Xy5oYShcImlQb2RcIil9O18ueWguWHphPV8ueWguSkFhP18ueWgueE1iOl8ueWguQ3NkKCk7Xy55aC5US2E9Xy55aC5KQWE/Xy55aC53TWI6Xy5oYShcImlQYWRcIik7Xy55aC5BTkRST0lEPV8ueWguSkFhP18ueWgudE1iOl8ueGFhKCk7Xy55aC5DSFJPTUU9Xy55aC5KQWE/Xy55aC51TWI6Xy5pYSgpO18ueWguWnNkPWZ1bmN0aW9uKCl7cmV0dXJuIF8ua2EoKSYmIV8ubGEoKX07Xy55aC5UcGE9Xy55aC5KQWE/Xy55aC55TWI6Xy55aC5ac2QoKTt2YXIgQ3VhLER1YSxFdWEsRnVhLEd1YSxJdWEsSHVhO0N1YT17fTtEdWE9bnVsbDtFdWE9Xy52aHx8Xy53aDtGdWE9RXVhfHx0eXBlb2YgXy5iYS5idG9hPT1cImZ1bmN0aW9uXCI7R3VhPUV1YXx8IV8ueWguVHBhJiZ0eXBlb2YgXy5iYS5hdG9iPT1cImZ1bmN0aW9uXCI7Xy5KYT1mdW5jdGlvbihhLGIpe2I9PT12b2lkIDAmJihiPTApO0h1YSgpO2I9Q3VhW2JdO2Zvcih2YXIgYz1BcnJheShNYXRoLmZsb29yKGEubGVuZ3RoLzMpKSxkPWJbNjRdfHxcIlwiLGU9MCxmPTA7ZTxhLmxlbmd0aC0yO2UrPTMpe3ZhciBnPWFbZV0saD1hW2UrMV0saz1hW2UrMl0sbD1iW2c+PjJdO2c9YlsoZyYzKTw8NHxoPj40XTtoPWJbKGgmMTUpPDwyfGs+PjZdO2s9YltrJjYzXTtjW2YrK109bCtnK2gra31sPTA7az1kO3N3aXRjaChhLmxlbmd0aC1lKXtjYXNlIDI6bD1hW2UrMV0saz1iWyhsJjE1KTw8Ml18fGQ7Y2FzZSAxOmE9YVtlXSxjW2ZdPWJbYT4+Ml0rYlsoYSYzKTw8NHxsPj40XStrK2R9cmV0dXJuIGMuam9pbihcIlwiKX07XG5fLnpoPWZ1bmN0aW9uKGEsYil7cmV0dXJuIEZ1YSYmIWI/Xy5iYS5idG9hKGEpOl8uSmEoXy5FdGEoYSksYil9O18uSnVhPWZ1bmN0aW9uKGEpe2lmKEd1YSlyZXR1cm4gXy5iYS5hdG9iKGEpO3ZhciBiPVwiXCI7SXVhKGEsZnVuY3Rpb24oYyl7Yis9U3RyaW5nLmZyb21DaGFyQ29kZShjKX0pO3JldHVybiBifTtfLkJoPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO0l1YShhLGZ1bmN0aW9uKGMpe2IucHVzaChjKX0pO3JldHVybiBifTtfLkthPWZ1bmN0aW9uKGEpe3ZhciBiPWEubGVuZ3RoLGM9YiozLzQ7YyUzP2M9TWF0aC5mbG9vcihjKTpfLmZhKFwiPS5cIixhW2ItMV0pJiYoYz1fLmZhKFwiPS5cIixhW2ItMl0pP2MtMjpjLTEpO3ZhciBkPW5ldyBVaW50OEFycmF5KGMpLGU9MDtJdWEoYSxmdW5jdGlvbihmKXtkW2UrK109Zn0pO3JldHVybiBlIT09Yz9kLnN1YmFycmF5KDAsZSk6ZH07XG5JdWE9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGspe2Zvcig7ZDxhLmxlbmd0aDspe3ZhciBsPWEuY2hhckF0KGQrKyksbj1EdWFbbF07aWYobiE9bnVsbClyZXR1cm4gbjtpZighXy5BZShsKSl0aHJvdyBFcnJvcihcIlFgXCIrbCk7fXJldHVybiBrfUh1YSgpO2Zvcih2YXIgZD0wOzspe3ZhciBlPWMoLTEpLGY9YygwKSxnPWMoNjQpLGg9Yyg2NCk7aWYoaD09PTY0JiZlPT09LTEpYnJlYWs7YihlPDwyfGY+PjQpO2chPTY0JiYoYihmPDw0JjI0MHxnPj4yKSxoIT02NCYmYihnPDw2JjE5MnxoKSl9fTtcbkh1YT1mdW5jdGlvbigpe2lmKCFEdWEpe0R1YT17fTtmb3IodmFyIGE9XCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OVwiLnNwbGl0KFwiXCIpLGI9W1wiKy89XCIsXCIrL1wiLFwiLV89XCIsXCItXy5cIixcIi1fXCJdLGM9MDtjPDU7YysrKXt2YXIgZD1hLmNvbmNhdChiW2NdLnNwbGl0KFwiXCIpKTtDdWFbY109ZDtmb3IodmFyIGU9MDtlPGQubGVuZ3RoO2UrKyl7dmFyIGY9ZFtlXTtEdWFbZl09PT12b2lkIDAmJihEdWFbZl09ZSl9fX19O3ZhciBsYmEsZmJhLGpiYSxoYmEsS3VhO2xiYT10eXBlb2YgVWludDhBcnJheSE9PVwidW5kZWZpbmVkXCI7ZmJhPSFfLnVoJiZ0eXBlb2YgYnRvYT09PVwiZnVuY3Rpb25cIjtqYmE9L1stXy5dL2c7aGJhPXtcIi1cIjpcIitcIixfOlwiL1wiLFwiLlwiOlwiPVwifTtfLm9iYT17fTtLdWE9dHlwZW9mIHN0cnVjdHVyZWRDbG9uZSE9XCJ1bmRlZmluZWRcIjt2YXIgTHVhLEdkYSxuZGE7Xy5NYT1mdW5jdGlvbihhLGIpe2lmKGIhPT1fLm9iYSl0aHJvdyBFcnJvcihcIlJcIik7dGhpcy5vYT1hO2lmKGEhPW51bGwmJmEubGVuZ3RoPT09MCl0aHJvdyBFcnJvcihcIlNcIik7fTtfLlhhPWZ1bmN0aW9uKGEpe3JldHVybiBhP25ldyBfLk1hKGEsXy5vYmEpOl8uTGEoKX07Xy5MYT1mdW5jdGlvbigpe3JldHVybiBMdWF8fChMdWE9bmV3IF8uTWEobnVsbCxfLm9iYSkpfTtfLmxiPWZ1bmN0aW9uKGEpe3ZhciBiPWEub2E7cmV0dXJuIGI9PW51bGw/XCJcIjp0eXBlb2YgYj09PVwic3RyaW5nXCI/YjphLm9hPV8uZ2JhKGIpfTtfLk1hLnByb3RvdHlwZS5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub2E9PW51bGx9O18uTWEucHJvdG90eXBlLkFhPWZ1bmN0aW9uKCl7dmFyIGE9Xy5xYmEodGhpcyk7cmV0dXJuIGE/YS5sZW5ndGg6MH07R2RhPWZ1bmN0aW9uKGEpe2E9YS5vYXx8XCJcIjtyZXR1cm4gdHlwZW9mIGE9PT1cInN0cmluZ1wiP2E6bmV3IFVpbnQ4QXJyYXkoYSl9O1xuXy5NdWE9ZnVuY3Rpb24oYSxiKXtpZighYS5vYXx8IWIub2F8fGEub2E9PT1iLm9hKXJldHVybiBhLm9hPT09Yi5vYTtpZih0eXBlb2YgYS5vYT09PVwic3RyaW5nXCImJnR5cGVvZiBiLm9hPT09XCJzdHJpbmdcIil7dmFyIGM9YS5vYSxkPWIub2E7Yi5vYS5sZW5ndGg+YS5vYS5sZW5ndGgmJihkPWEub2EsYz1iLm9hKTtpZihjLmxhc3RJbmRleE9mKGQsMCkhPT0wKXJldHVybiExO2ZvcihiPWQubGVuZ3RoO2I8Yy5sZW5ndGg7YisrKWlmKGNbYl0hPT1cIj1cIilyZXR1cm4hMTtyZXR1cm4hMH1jPV8ucWJhKGEpO2I9Xy5xYmEoYik7cmV0dXJuIG5iYShjLGIpfTtfLnFiYT1mdW5jdGlvbihhKXtpZihfLm9iYSE9PV8ub2JhKXRocm93IEVycm9yKFwiUlwiKTt2YXIgYj1hLm9hO2I9Yj09bnVsbHx8bWJhKGIpP2I6dHlwZW9mIGI9PT1cInN0cmluZ1wiP2tiYShiKTpudWxsO3JldHVybiBiPT1udWxsP2I6YS5vYT1ifTtcbm5kYT1mdW5jdGlvbihhLGIpe2lmKHR5cGVvZiBiPT09XCJzdHJpbmdcIiliPV8uWGEoYik7ZWxzZSBpZihiIGluc3RhbmNlb2YgVWludDhBcnJheSliPW5ldyBfLk1hKGIsXy5vYmEpO2Vsc2UgaWYoIShiIGluc3RhbmNlb2YgXy5NYSkpcmV0dXJuITE7cmV0dXJuIF8uTXVhKGEsYil9O3ZhciBOdWEsdmJhO051YT10eXBlb2YgVWludDhBcnJheS5wcm90b3R5cGUuc2xpY2U9PT1cImZ1bmN0aW9uXCI7Xy5OYT0wO18uT2E9MDt2YXIgT3VhPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMuQmE9bnVsbDt0aGlzLkdhPSExO3RoaXMub2E9dGhpcy5BYT10aGlzLkNhPTA7dGhpcy5pbml0KGEsYixjLGQpfSxQdWEscGdhLG5nYSxsZ2EsR2dhLFN1YSxUdWEsVXVhLGtnYTtPdWEucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oYSxiLGMsZCl7ZD1kPT09dm9pZCAwP3t9OmQ7dGhpcy56M2E9ZC56M2E9PT12b2lkIDA/ITE6ZC56M2E7YSYmKGE9cmJhKGEpLHRoaXMuQmE9YS5idWZmZXIsdGhpcy5HYT1hLnoxLHRoaXMuQ2E9Ynx8MCx0aGlzLkFhPWMhPT12b2lkIDA/dGhpcy5DYStjOnRoaXMuQmEubGVuZ3RoLHRoaXMub2E9dGhpcy5DYSl9O091YS5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLkJhPW51bGw7dGhpcy5HYT0hMTt0aGlzLm9hPXRoaXMuQWE9dGhpcy5DYT0wO3RoaXMuejNhPSExfTtPdWEucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5vYT10aGlzLkNhfTtcbl8uUXVhPWZ1bmN0aW9uKGEsYil7dmFyIGM9MCxkPTAsZT0wLGY9YS5CYSxnPWEub2E7ZG97dmFyIGg9ZltnKytdO2N8PShoJjEyNyk8PGU7ZSs9N313aGlsZShlPDMyJiZoJjEyOCk7ZT4zMiYmKGR8PShoJjEyNyk+PjQpO2ZvcihlPTM7ZTwzMiYmaCYxMjg7ZSs9NyloPWZbZysrXSxkfD0oaCYxMjcpPDxlO1B1YShhLGcpO2lmKGg8MTI4KXJldHVybiBiKGM+Pj4wLGQ+Pj4wKTt0aHJvdyBFcnJvcihcIktcIik7fTtQdWE9ZnVuY3Rpb24oYSxiKXthLm9hPWI7aWYoYj5hLkFhKXRocm93IEVycm9yKFwiTGBcIitiK1wiYFwiK2EuQWEpO307XG5fLktiPWZ1bmN0aW9uKGEpe3ZhciBiPWEuQmEsYz1hLm9hLGQ9YltjKytdLGU9ZCYxMjc7aWYoZCYxMjgmJihkPWJbYysrXSxlfD0oZCYxMjcpPDw3LGQmMTI4JiYoZD1iW2MrK10sZXw9KGQmMTI3KTw8MTQsZCYxMjgmJihkPWJbYysrXSxlfD0oZCYxMjcpPDwyMSxkJjEyOCYmKGQ9YltjKytdLGV8PWQ8PDI4LGQmMTI4JiZiW2MrK10mMTI4JiZiW2MrK10mMTI4JiZiW2MrK10mMTI4JiZiW2MrK10mMTI4JiZiW2MrK10mMTI4KSkpKSl0aHJvdyBFcnJvcihcIktcIik7UHVhKGEsYyk7cmV0dXJuIGV9O18uSGI9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uS2IoYSk+Pj4wfTtfLnVnYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5RdWEoYSx4YmEpfTtfLnJnYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5RdWEoYSxBYmEpfTtwZ2E9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uUXVhKGEsXy55YmEpfTtfLlJ1YT1mdW5jdGlvbihhKXtyZXR1cm4gXy5RdWEoYSxfLkJiYSl9O1xuXy5DaD1mdW5jdGlvbihhKXt2YXIgYj1hLkJhLGM9YS5vYSxkPWJbY10sZT1iW2MrMV0sZj1iW2MrMl07Yj1iW2MrM107UHVhKGEsYS5vYSs0KTtyZXR1cm4oZDw8MHxlPDw4fGY8PDE2fGI8PDI0KT4+PjB9O18uemdhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uQ2goYSk7YT1fLkNoKGEpO3JldHVybiB4YmEoYixhKX07Xy54Z2E9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5DaChhKTthPV8uQ2goYSk7cmV0dXJuIEFiYShiLGEpfTtuZ2E9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5DaChhKTthPShiPj4zMSkqMisxO3ZhciBjPWI+Pj4yMyYyNTU7YiY9ODM4ODYwNztyZXR1cm4gYz09MjU1P2I/TmFOOmEqSW5maW5pdHk6Yz09MD9hKk1hdGgucG93KDIsLTE0OSkqYjphKk1hdGgucG93KDIsYy0xNTApKihiK01hdGgucG93KDIsMjMpKX07XG5sZ2E9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5DaChhKSxjPV8uQ2goYSk7YT0oYz4+MzEpKjIrMTt2YXIgZD1jPj4+MjAmMjA0NztiPTQyOTQ5NjcyOTYqKGMmMTA0ODU3NSkrYjtyZXR1cm4gZD09MjA0Nz9iP05hTjphKkluZmluaXR5OmQ9PTA/YSpNYXRoLnBvdygyLC0xMDc0KSpiOmEqTWF0aC5wb3coMixkLTEwNzUpKihiKzQ1MDM1OTk2MjczNzA0OTYpfTtfLkJnYT1mdW5jdGlvbihhKXtmb3IodmFyIGI9MCxjPWEub2EsZD1jKzEwLGU9YS5CYTtjPGQ7KXt2YXIgZj1lW2MrK107Ynw9ZjtpZigoZiYxMjgpPT09MClyZXR1cm4gUHVhKGEsYyksISEoYiYxMjcpfXRocm93IEVycm9yKFwiS1wiKTt9O0dnYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5LYihhKX07U3VhPWZ1bmN0aW9uKGEsYil7aWYoYjwwKXRocm93IEVycm9yKFwiTWBcIitiKTt2YXIgYz1hLm9hLGQ9YytiO2lmKGQ+YS5BYSl0aHJvdyBFcnJvcihcIkxgXCIrKGEuQWEtYykrXCJgXCIrYik7YS5vYT1kO3JldHVybiBjfTtcblR1YT1mdW5jdGlvbihhLGIpe2lmKGI9PTApcmV0dXJuIF8uTGEoKTt2YXIgYz1TdWEoYSxiKTthLnozYSYmYS5HYT9jPWEuQmEuc3ViYXJyYXkoYyxjK2IpOihhPWEuQmEsYj1jK2IsYz1jPT09Yj9uZXcgVWludDhBcnJheSgwKTpOdWE/YS5zbGljZShjLGIpOm5ldyBVaW50OEFycmF5KGEuc3ViYXJyYXkoYyxiKSkpO3JldHVybiBfLnBiYShjKX07VXVhPVtdO2tnYT12b2lkIDA7dmFyIFFlYSxXdWEsVnVhLGRmYSxYdWEsWnVhLCR1YSxEZ2EsUWdhO18uUmdhPWZ1bmN0aW9uKGEsYixjLGQpe2lmKFV1YS5sZW5ndGgpe3ZhciBlPVV1YS5wb3AoKTtlLmluaXQoYSxiLGMsZCk7YT1lfWVsc2UgYT1uZXcgT3VhKGEsYixjLGQpO3RoaXMuQWE9YTt0aGlzLkJhPXRoaXMuQWEub2E7dGhpcy5vYT10aGlzLkdhPXRoaXMuQ2E9LTE7dGhpcy5zZXRPcHRpb25zKGQpfTtfLlJnYS5wcm90b3R5cGUuc2V0T3B0aW9ucz1mdW5jdGlvbihhKXthPWE9PT12b2lkIDA/e306YTt0aGlzLm1xYj1hLm1xYj09PXZvaWQgMD8hMTphLm1xYn07Xy5SZ2EucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5BYS5yZXNldCgpO3RoaXMuQmE9dGhpcy5BYS5vYTt0aGlzLm9hPXRoaXMuQ2E9dGhpcy5HYT0tMX07XG5RZWE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5BYTtpZihiLm9hPT1iLkFhKXJldHVybiExO2EuQmE9YS5BYS5vYTtiPV8uSGIoYS5BYSk7dmFyIGM9Yj4+PjMsZD1iJjc7aWYoIShkPj0wJiZkPD01KSl0aHJvdyBFcnJvcihcIkVgXCIrZCtcImBcIithLkJhKTtpZihjPDEpdGhyb3cgRXJyb3IoXCJGYFwiK2MrXCJgXCIrYS5CYSk7YS5HYT1iO2EuQ2E9YzthLm9hPWQ7cmV0dXJuITB9O1d1YT1mdW5jdGlvbihhKXtpZihhLm9hIT0yKVZ1YShhKTtlbHNle3ZhciBiPV8uSGIoYS5BYSk7YT1hLkFhO1B1YShhLGEub2ErYil9fTtcblZ1YT1mdW5jdGlvbihhKXtzd2l0Y2goYS5vYSl7Y2FzZSAwOmEub2EhPTA/VnVhKGEpOl8uQmdhKGEuQWEpO2JyZWFrO2Nhc2UgMTphPWEuQWE7UHVhKGEsYS5vYSs4KTticmVhaztjYXNlIDI6V3VhKGEpO2JyZWFrO2Nhc2UgNTphPWEuQWE7UHVhKGEsYS5vYSs0KTticmVhaztjYXNlIDM6dmFyIGI9YS5DYTtkb3tpZighUWVhKGEpKXRocm93IEVycm9yKFwiSFwiKTtpZihhLm9hPT00KXtpZihhLkNhIT1iKXRocm93IEVycm9yKFwiSVwiKTticmVha31WdWEoYSl9d2hpbGUoMSk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcihcIkVgXCIrYS5vYStcImBcIithLkJhKTt9fTtkZmE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5CYTtWdWEoYSk7cmV0dXJuIFh1YShhLGIpfTtYdWE9ZnVuY3Rpb24oYSxiKXtpZighYS5tcWIpe3ZhciBjPWEuQWEub2EtYjthLkFhLm9hPWI7cmV0dXJuIFR1YShhLkFhLGMpfX07XG5fLll1YT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5BYS5BYSxlPV8uSGIoYS5BYSksZj1hLkFhLm9hK2UsZz1mLWQ7Zzw9MCYmKGEuQWEuQWE9ZixjKGIsYSx2b2lkIDAsdm9pZCAwLHZvaWQgMCksZz1mLWEuQWEub2EpO2lmKGcpdGhyb3cgRXJyb3IoXCJEYFwiK2UrXCJgXCIrKGUtZykpO2EuQWEub2E9ZjthLkFhLkFhPWQ7cmV0dXJuIGJ9O1p1YT1mdW5jdGlvbihhLGIsYyxkKXtkKGMsYSk7aWYoYS5vYSE9PTQpdGhyb3cgRXJyb3IoXCJKXCIpO2lmKGEuQ2EhPT1iKXRocm93IEVycm9yKFwiSVwiKTt9OyR1YT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0wLGQ9MDtRZWEoYSkmJmEub2EhPTQ7KWEuR2EhPT0xNnx8Yz9hLkdhIT09MjZ8fGQ/VnVhKGEpOmM/KGQ9LTEsXy5ZdWEoYSxjLGIpKTooZD1hLkJhLFd1YShhKSk6KGM9Xy5IYihhLkFhKSxkJiYoYS5BYS5vYT1kLGQ9MCkpO2lmKGEuR2EhPT0xMnx8IWR8fCFjKXRocm93IEVycm9yKFwiR1wiKTt9O1xuXy5hdmE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5IYihhLkFhKSxjPWEuQWE7YT1TdWEoYyxiKTtjPWMuQmE7cmV0dXJuIF8uRHRhP18uaGFhKGMsYSxiLCEwKTpfLmRhYShjLGEsYiwhMCl9O0RnYT1mdW5jdGlvbihhKXt2YXIgYj1fLkhiKGEuQWEpO3JldHVybiBUdWEoYS5BYSxiKX07Xy5JYj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Xy5IYihhLkFhKTtmb3IoZD1hLkFhLm9hK2Q7YS5BYS5vYTxkOyljLnB1c2goYihhLkFhKSl9O1FnYT1bXTt2YXIgcGVhPXR5cGVvZiBTeW1ib2w9PT1cImZ1bmN0aW9uXCImJnR5cGVvZiBTeW1ib2woKT09PVwic3ltYm9sXCIsYnZhPURiYSgpLExjYT1EYmEoXCIwZGlcIiksY3ZhPURiYShcIjJleFwiKSxSZGE9RGJhKFwiMGRnXCIpLHFlYT1EYmEoXCIxb2FcIik7dmFyIEViYSxWZGE7RWJhPXBlYT9mdW5jdGlvbihhLGIpe2FbYnZhXXw9Yn06ZnVuY3Rpb24oYSxiKXthLnk1IT09dm9pZCAwP2EueTV8PWI6T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYSx7eTU6e3ZhbHVlOmIsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9fSl9O1ZkYT1wZWE/ZnVuY3Rpb24oYSxiKXthW2J2YV0mPX5ifTpmdW5jdGlvbihhLGIpe2EueTUhPT12b2lkIDAmJihhLnk1Jj1+Yil9O18uVGE9cGVhP2Z1bmN0aW9uKGEpe3JldHVybiBhW2J2YV18MH06ZnVuY3Rpb24oYSl7cmV0dXJuIGEueTV8MH07Xy5uYj1wZWE/ZnVuY3Rpb24oYSl7cmV0dXJuIGFbYnZhXX06ZnVuY3Rpb24oYSl7cmV0dXJuIGEueTV9O1xuXy5TYT1wZWE/ZnVuY3Rpb24oYSxiKXthW2J2YV09Yn06ZnVuY3Rpb24oYSxiKXthLnk1IT09dm9pZCAwP2EueTU9YjpPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhLHt5NTp7dmFsdWU6Yixjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsZW51bWVyYWJsZTohMX19KX07dmFyIEtiYT17fSxNYmE9e30sa2RhLGR2YT1bXSxaYSxZYmEscmRhLGtlYSxqZWE7KDAsXy5TYSkoZHZhLDU1KTtrZGE9T2JqZWN0LmZyZWV6ZShkdmEpO3ZhciBldmE9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuQmE9MDt0aGlzLm9hPWE7dGhpcy5BYT1iO3RoaXMuaGhhPWN9O2V2YS5wcm90b3R5cGUubmV4dD1mdW5jdGlvbigpe2lmKHRoaXMuQmE8dGhpcy5vYS5sZW5ndGgpe3ZhciBhPXRoaXMub2FbdGhpcy5CYSsrXTtyZXR1cm57ZG9uZTohMSx2YWx1ZTp0aGlzLkFhP3RoaXMuQWEuY2FsbCh0aGlzLmhoYSxhKTphfX1yZXR1cm57ZG9uZTohMCx2YWx1ZTp2b2lkIDB9fTtldmEucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGV2YSh0aGlzLm9hLHRoaXMuQWEsdGhpcy5oaGEpfTtyZGE9MDtfLkRoPU9iamVjdC5mcmVlemUoe30pO2tlYT1PYmplY3QuZnJlZXplKHt9KTtqZWE9T2JqZWN0LmZyZWV6ZSh7fSk7dmFyICRiYT1mdW5jdGlvbihhLGIpe2EuX19jbG9zdXJlX19lcnJvcl9fY29udGV4dF9fOTg0MzgyfHwoYS5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODI9e30pO2EuX19jbG9zdXJlX19lcnJvcl9fY29udGV4dF9fOTg0MzgyLnNldmVyaXR5PWJ9O3ZhciBmdmE7dmFyIGljYT0vXi0/KFsxLTldWzAtOV0qfDApKFxcLlswLTldKyk/JC87dmFyIGdkYT17fSxndmE9ZnVuY3Rpb24oKXt0cnl7dmFyIGE9ZnVuY3Rpb24oKXtyZXR1cm4gVnNhKE1hcCxbXSx0aGlzLmNvbnN0cnVjdG9yKX07Xy5EKGEsTWFwKTtfLmJ1YShuZXcgYSk7cmV0dXJuITF9Y2F0Y2goYil7cmV0dXJuITB9fSgpLGh2YT1mdW5jdGlvbigpe3RoaXMub2E9bmV3IE1hcH07Xy5tPWh2YS5wcm90b3R5cGU7Xy5tLmdldD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5vYS5nZXQoYSl9O18ubS5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLm9hLnNldChhLGIpO3RoaXMuc2l6ZT10aGlzLm9hLnNpemU7cmV0dXJuIHRoaXN9O18ubS5kZWxldGU9ZnVuY3Rpb24oYSl7YT10aGlzLm9hLmRlbGV0ZShhKTt0aGlzLnNpemU9dGhpcy5vYS5zaXplO3JldHVybiBhfTtfLm0uY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLm9hLmNsZWFyKCk7dGhpcy5zaXplPXRoaXMub2Euc2l6ZX07Xy5tLmhhcz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5vYS5oYXMoYSl9O18ubS5lbnRyaWVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub2EuZW50cmllcygpfTtcbl8ubS5rZXlzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub2Eua2V5cygpfTtfLm0udmFsdWVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub2EudmFsdWVzKCl9O18ubS5mb3JFYWNoPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMub2EuZm9yRWFjaChhLGIpfTtodmEucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbnRyaWVzKCl9O1xudmFyIEVoPWZ1bmN0aW9uKCl7aWYoZ3ZhKXJldHVybiBPYmplY3Quc2V0UHJvdG90eXBlT2YoaHZhLnByb3RvdHlwZSxNYXAucHJvdG90eXBlKSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhodmEucHJvdG90eXBlLHtzaXplOnt2YWx1ZTowLGNvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLHdyaXRhYmxlOiEwfX0pLGh2YTt2YXIgYT1mdW5jdGlvbigpe3JldHVybiBWc2EoTWFwLFtdLHRoaXMuY29uc3RydWN0b3IpfTtfLkQoYSxNYXApO3JldHVybiBhfSgpLGpiPWZ1bmN0aW9uKGEsYixjLGQpe2M9Yz09PXZvaWQgMD9XY2E6YztkPWQ9PT12b2lkIDA/V2NhOmQ7dmFyIGU9RWguY2FsbCh0aGlzKXx8dGhpczt2YXIgZj0oMCxfLlRhKShhKTtmfD02NDsoMCxfLlNhKShhLGYpO2UudnFhPWY7ZS5TX2E9YjtlLlVGYT1jO2UuSWdiPWUuU19hP1hjYTpkO2Zvcih2YXIgZz0wO2c8YS5sZW5ndGg7ZysrKXt2YXIgaD1hW2ddLGs9YyhoWzBdLCExLCEwKSxsPWhbMV07Yj9sPT09dm9pZCAwJiZcbihsPW51bGwpOmw9ZChoWzFdLCExLCEwLHZvaWQgMCx2b2lkIDAsZik7RWgucHJvdG90eXBlLnNldC5jYWxsKGUsayxsKX1yZXR1cm4gZX07Xy5EKGpiLEVoKTt2YXIgaXZhPWZ1bmN0aW9uKGEpe2lmKGEudnFhJjIpdGhyb3cgRXJyb3IoXCJXXCIpO30sQWRhPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwP1ljYTpiO2lmKGEuc2l6ZSE9PTApcmV0dXJuIExkYShhLGIpfSxMZGE9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/WWNhOmI7dmFyIGM9W107YT1FaC5wcm90b3R5cGUuZW50cmllcy5jYWxsKGEpO2Zvcih2YXIgZDshKGQ9YS5uZXh0KCkpLmRvbmU7KWQ9ZC52YWx1ZSxkWzBdPWIoZFswXSksZFsxXT1iKGRbMV0pLGMucHVzaChkKTtyZXR1cm4gY307Xy5tPWpiLnByb3RvdHlwZTtfLm0uY2xlYXI9ZnVuY3Rpb24oKXtpdmEodGhpcyk7RWgucHJvdG90eXBlLmNsZWFyLmNhbGwodGhpcyl9O1xuXy5tLmRlbGV0ZT1mdW5jdGlvbihhKXtpdmEodGhpcyk7cmV0dXJuIEVoLnByb3RvdHlwZS5kZWxldGUuY2FsbCh0aGlzLHRoaXMuVUZhKGEsITAsITEpKX07Xy5tLmVudHJpZXM9ZnVuY3Rpb24oKXt2YXIgYT1BcnJheS5mcm9tKEVoLnByb3RvdHlwZS5rZXlzLmNhbGwodGhpcykpO3JldHVybiBuZXcgZXZhKGEsZWRhLHRoaXMpfTtfLm0ua2V5cz1mdW5jdGlvbigpe3JldHVybiBFaC5wcm90b3R5cGUua2V5cy5jYWxsKHRoaXMpfTtfLm0udmFsdWVzPWZ1bmN0aW9uKCl7dmFyIGE9QXJyYXkuZnJvbShFaC5wcm90b3R5cGUua2V5cy5jYWxsKHRoaXMpKTtyZXR1cm4gbmV3IGV2YShhLGpiLnByb3RvdHlwZS5nZXQsdGhpcyl9O18ubS5mb3JFYWNoPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcztFaC5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKHRoaXMsZnVuY3Rpb24oZCxlKXthLmNhbGwoYixjLmdldChlKSxlLGMpfSl9O1xuXy5tLnNldD1mdW5jdGlvbihhLGIpe2l2YSh0aGlzKTthPXRoaXMuVUZhKGEsITAsITEpO3JldHVybiBhPT1udWxsP3RoaXM6Yj09bnVsbD8oRWgucHJvdG90eXBlLmRlbGV0ZS5jYWxsKHRoaXMsYSksdGhpcyk6RWgucHJvdG90eXBlLnNldC5jYWxsKHRoaXMsYSx0aGlzLklnYihiLCEwLCEwLHRoaXMuU19hLCExLHRoaXMudnFhKSl9O18ubS5oYXM9ZnVuY3Rpb24oYSl7cmV0dXJuIEVoLnByb3RvdHlwZS5oYXMuY2FsbCh0aGlzLHRoaXMuVUZhKGEsITEsITEpKX07Xy5tLmdldD1mdW5jdGlvbihhKXthPXRoaXMuVUZhKGEsITEsITEpO3ZhciBiPUVoLnByb3RvdHlwZS5nZXQuY2FsbCh0aGlzLGEpO2lmKGIhPT12b2lkIDApe3ZhciBjPXRoaXMuU19hO3JldHVybiBjPyhjPXRoaXMuSWdiKGIsITEsITAsYyx0aGlzLnJfYyx0aGlzLnZxYSksYyE9PWImJkVoLnByb3RvdHlwZS5zZXQuY2FsbCh0aGlzLGEsYyksYyk6Yn19O1xudmFyIG1kYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGIgaW5zdGFuY2VvZiBqYj9hZGEoYSxiLGMpOmNkYShhLGIsYyl9O2piLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZW50cmllcygpfTtqYi5wcm90b3R5cGUudG9KU09OPXZvaWQgMDtqYi5wcm90b3R5cGUueHdkPU1iYTt2YXIgZmRhO3ZhciBrYj12b2lkIDA7dmFyIHNkYSx1ZGEsdmRhO18uanZhPUt1YT9zdHJ1Y3R1cmVkQ2xvbmU6ZnVuY3Rpb24oYSl7cmV0dXJuIENkYShhLEVkYSx2b2lkIDAsdm9pZCAwLCExKX07dmFyIGNlYT1mdW5jdGlvbihhKXtpZih0eXBlb2YgUHJveHkhPT1cImZ1bmN0aW9uXCIpcmV0dXJuIGE7dmFyIGI9YWVhKGEpO2lmKGIpcmV0dXJuIGI7Yj1uZXcgUHJveHkoYSx7c2V0OmZ1bmN0aW9uKGMsZCxlKXtOZGEoKTtjW2RdPWU7cmV0dXJuITB9fSk7UWRhKGEsYik7cmV0dXJuIGJ9LE9kYT12b2lkIDAsUGRhPXZvaWQgMCxhZWE9ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuKGI9T2RhKT09bnVsbD92b2lkIDA6Yi5nZXQoYSl9LGllYT1mdW5jdGlvbihhKXt2YXIgYjtyZXR1cm4oKGI9UGRhKT09bnVsbD92b2lkIDA6Yi5nZXQoYSkpfHxhfTt2YXIgbHZhO18uRmg9ZnVuY3Rpb24oYSxiLGMpe2E9YS5IYTtyZXR1cm4gXy5wYihhLCgwLF8ubmIpKGEpLGIsYyl9O18ucGI9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYz09PS0xKXJldHVybiBudWxsO3ZhciBlPWI+PjE0JjEwMjN8fDUzNjg3MDkxMjtpZihjPj1lKXtpZihiJjI1NilyZXR1cm4gYVthLmxlbmd0aC0xXVtjXX1lbHNle3ZhciBmPWEubGVuZ3RoO2lmKGQmJmImMjU2JiYoZD1hW2YtMV1bY10sZCE9bnVsbCkpe2lmKFRkYShhLGIsZSxjKSYmY3ZhIT1udWxsKXt2YXIgZzthPShnPWZ2YSkhPW51bGw/ZzpmdmE9e307Zz1hW2N2YV18fDA7Zz49NHx8KGFbY3ZhXT1nKzEsYWNhKCkpfXJldHVybiBkfXJldHVybiBUZGEoYSxiLGUsYyl9fTtfLlZmPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEuSGEsZj0oMCxfLm5iKShlKTtfLllhKGYpO18ub2IoZSxmLGIsYyxkKTtyZXR1cm4gYX07XG5fLkdoPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB1ZWEoYSxiLGMsZD09PXZvaWQgMD8hMTpkKSE9PXZvaWQgMH07Xy5JaD1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdWVhKGEsYixfLkhoKGEsZCxjKSkhPT12b2lkIDB9O18uR2I9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5XZGEoYSwoMCxfLm5iKShhKSxiLDIsITEpfTtfLkpoPWZ1bmN0aW9uKGEsYixjKXthPWEuSGE7cmV0dXJuIF8udmVhKGEsKDAsXy5uYikoYSksYixjLDMsITEsITApLmxlbmd0aH07Xy5LaD1mdW5jdGlvbihhLGIsYyxkKXthPWEuSGE7Yj1fLnZlYShhLCgwLF8ubmIpKGEpLGMsYiwzLCExLCEwKTtfLlNiYShiLGQpO3JldHVybiBiW2RdfTtfLkxoPWZ1bmN0aW9uKGEsYixjLGQsZSl7Xy52YihhLGIsYyxlLGQsITEsMSk7cmV0dXJuIGF9O1xuXy5NaD1mdW5jdGlvbihhLGIpe2E9YS5IYTt2YXIgYz0oMCxfLm5iKShhKSxkPV8ucGIoYSxjLGIpLGU9Xy5lY2EoZCk7ZSE9bnVsbCYmZSE9PWQmJl8ub2IoYSxjLGIsZSk7cmV0dXJuIGV9O18ua3ZhPWZ1bmN0aW9uKGEsYil7YT1hLkhhO3ZhciBjPSgwLF8ubmIpKGEpLGQ9Xy5wYihhLGMsYiksZT1QYmEoZCwhMCwhIShjJjM0KSk7ZSE9bnVsbCYmZSE9PWQmJl8ub2IoYSxjLGIsZSk7cmV0dXJuIGV9O18uU2U9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09PV8uRGg/MjpiPzQ6WnRhPzU6Mn07Xy5OaD1mdW5jdGlvbihhLGIpe2E9Xy5rdmEoYSxiKTtyZXR1cm4gYT09bnVsbD9fLkxhKCk6YX07Xy5PaD1mdW5jdGlvbihhLGIpe3JldHVybiBfLlZmKGEsYil9O1xuXy5RaD1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLkhhLGY9KDAsXy5uYikoZSk7Xy5ZYShmKTtpZihkPT1udWxsKXt2YXIgZz1yZWEoZSk7aWYoc2VhKGcsZSxmLGMpPT09YilnLnNldChjLDApO2Vsc2UgcmV0dXJuIGF9ZWxzZSBmPXRlYShlLGYsYyxiKTtfLm9iKGUsZixiLGQpO3JldHVybiBhfTtfLlJoPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPSgwLF8ubmIpKGEpO2U9dGVhKGEsZSxjLGIpO18ub2IoYSxlLGIsZCl9O18uSGg9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLlNoKGEsYik9PT1jP2M6LTF9O18uU2g9ZnVuY3Rpb24oYSxiKXthPWEuSGE7cmV0dXJuIHNlYShyZWEoYSksYSwoMCxfLm5iKShhKSxiKX07Xy5VaD1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLkhhO3RlYShlLCgwLF8ubmIpKGUpLGQsYyk7cmV0dXJuIF8uVGgoYSxiLGMpfTtcbl8uVGg9ZnVuY3Rpb24oYSxiLGMsZCl7YT1hLkhhO3ZhciBlPSgwLF8ubmIpKGEpO18uWWEoZSk7dmFyIGY9Xy5wYihhLGUsYyxkKTtiPV8uTWRhKF8uS2NhKGYsYiwhMCxlKSk7ZiE9PWImJl8ub2IoYSxlLGMsYixkKTtyZXR1cm4gYn07bHZhPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPSgwLF8ubmIpKGEpLGY9Xy5wYihhLGUsYyxkKSxnO2lmKGYhPW51bGwmJl8uTGJhKGYpKXJldHVybiBiPV8uTWRhKGYpLGIhPT1mJiZfLm9iKGEsZSxjLGIsZCksYi5IYTtpZihBcnJheS5pc0FycmF5KGYpKXt2YXIgaD0oMCxfLlRhKShmKTtoJjI/Zz1LZGEoZixoLCExKTpnPWY7Zz14ZGEoZyxiKX1lbHNlIGc9eGRhKHZvaWQgMCxiKTtnIT09ZiYmXy5vYihhLGUsYyxnLGQpO3JldHVybiBnfTtfLlhjPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybihhPXVlYShhLGIsYyxkPT09dm9pZCAwPyExOmQpKT9hOl8uSmNhKGIpfTtcbl8udj1mdW5jdGlvbihhLGIsYyxkKXtkPWQ9PT12b2lkIDA/ITE6ZDtiPXVlYShhLGIsYyxkKTtpZihiPT1udWxsKXJldHVybiBiO2E9YS5IYTt2YXIgZT0oMCxfLm5iKShhKTtpZighKGUmMikpe3ZhciBmPV8uTWRhKGIpO2YhPT1iJiYoYj1mLF8ub2IoYSxlLGMsYixkKSl9cmV0dXJuIGJ9O18uVmg9ZnVuY3Rpb24oYSxiLGMsZCl7YT1hLkhhO3JldHVybiBfLnZlYShhLCgwLF8ubmIpKGEpLGIsYywxLGQpfTtfLldoPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBfLlhjKGEsYixfLkhoKGEsZCxjKSl9O18uUmU9ZnVuY3Rpb24oYSxiLGMsZCl7YT1hLkhhO3ZhciBlPSgwLF8ubmIpKGEpO3JldHVybiBfLnZlYShhLGUsYixjLGQsdm9pZCAwLCExLCEoMiZlKSl9O18uTWI9ZnVuY3Rpb24oYSxiLGMsZCxlKXtkPT1udWxsJiYoZD12b2lkIDApO3JldHVybiBfLlZmKGEsYyxkLGUpfTtcbl8uWGg9ZnVuY3Rpb24oYSxiLGMsZCl7ZD09bnVsbCYmKGQ9dm9pZCAwKTtyZXR1cm4gXy5RaChhLGIsYyxkKX07Xy5ZaD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5IYSxlPSgwLF8ubmIpKGQpO18uWWEoZSk7aWYoYz09bnVsbClyZXR1cm4gXy5vYihkLGUsYiksYTtjPWllYShjKTtmb3IodmFyIGY9KDAsXy5UYSkoYyksZz1mLGg9ISEoMiZmKXx8ISEoMjA0OCZmKSxrPWh8fE9iamVjdC5pc0Zyb3plbihjKSxsPSFrJiYodm9pZCAwPT09amVhfHwhMSksbj0hMCxyPSEwLHQ9MDt0PGMubGVuZ3RoO3QrKyl7dmFyIHU9Y1t0XTtofHwodT1fLlZhKHUpLG4mJihuPSF1KSxyJiYocj11KSl9aHx8KGZ8PTUsZj1uP2Z8ODpmJi05LGY9cj9mfDE2OmYmLTE3KTtpZihsfHxrJiZmIT09ZyljPVJhKGMpLGc9MCxmPVlkYShmLGUpLGY9YmVhKGYsZSwhMCk7ZiE9PWcmJigwLF8uU2EpKGMsZik7Xy5vYihkLGUsYixjKTtyZXR1cm4gYX07XG5fLlpoPWZ1bmN0aW9uKGEsYixjLGQsZSl7Xy52YihhLGIsYyxkLGUpO3JldHVybiBhfTtfLm12YT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLkhhLGY9KDAsXy5uYikoZSk7Xy5ZYShmKTtiPV8udmVhKGUsZixjLGIsMiwhMSwhMCk7ZT1jPTA7aWYoQXJyYXkuaXNBcnJheShkKSlmb3IoZj0wO2Y8ZC5sZW5ndGg7ZisrKXt2YXIgZz1kW2ZdO2IucHVzaChnKTsoZz1fLlZhKGcpKSYmIWMrKyYmVmRhKGIsOCk7Z3x8ZSsrfHxWZGEoYiwxNil9ZWxzZSBmb3IoZD1fLlBhKGQpLGY9ZC5uZXh0KCk7IWYuZG9uZTtmPWQubmV4dCgpKWY9Zi52YWx1ZSxiLnB1c2goZiksKGY9Xy5WYShmKSkmJiFjKysmJlZkYShiLDgpLGZ8fGUrK3x8VmRhKGIsMTYpO3JldHVybiBhfTtfLiRoPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHljYShfLkZoKGEsYikpfTtfLm52YT1mdW5jdGlvbihhLGIpe3JldHVybiB6Y2EoXy5GaChhLGIpKX07XG5fLmJpPWZ1bmN0aW9uKGEsYil7dmFyIGM7YT1fLkZoKGEsYik7YT09bnVsbD9jPWE6amNhKGEpP3R5cGVvZiBhPT09XCJudW1iZXJcIj9jPXZjYShhKTpjPXhjYShhKTpjPXZvaWQgMDtyZXR1cm4gY307Xy5jaT1mdW5jdGlvbihhLGIpe3JldHVybiBfLkNjYShfLkZoKGEsYikpfTtfLm92YT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8ucWIoYSxiLHljYSxjLHZvaWQgMCx2b2lkIDAsMCl9O18uZGk9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLmJiKF8uRmgoYSxiLGMpKX07Xy5laT1mdW5jdGlvbihhLGIpe3JldHVybiBfLmRiKF8uRmgoYSxiLHZvaWQgMCkpfTtfLmZpPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uZ2IoXy5GaChhLGIpKX07Xy5HZT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIEljYShfLkZoKGEsYixjKSl9O18uaGk9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBsY2EoXy5GaChhLGIsYykpfTtcbl8uRT1mdW5jdGlvbihhLGIsYyxkKXtjPWM9PT12b2lkIDA/ITE6YztyZXR1cm4gd2IoXy5kaShhLGIsZCksYyl9O18uaWk9ZnVuY3Rpb24oYSxiLGMpe2M9Yz09PXZvaWQgMD8wOmM7cmV0dXJuIHdiKF8uZWkoYSxiKSxjKX07Xy5hZD1mdW5jdGlvbihhLGIpe3ZhciBjPWM9PT12b2lkIDA/MDpjO3JldHVybiB3YihfLmZpKGEsYiksYyl9O18uJGM9ZnVuY3Rpb24oYSxiLGMpe2M9Yz09PXZvaWQgMD8wOmM7cmV0dXJuIHdiKF8uJGgoYSxiKSxjKX07Xy5qaT1mdW5jdGlvbihhLGIpe3ZhciBjPWM9PT12b2lkIDA/MDpjO3JldHVybiB3YihfLmJpKGEsYiksYyl9O18ua2k9ZnVuY3Rpb24oYSxiLGMpe2M9Yz09PXZvaWQgMD9cIjBcIjpjO3JldHVybiB3YihfLm52YShhLGIpLGMpfTtfLmxpPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yz09PXZvaWQgMD9cIjBcIjpjO3JldHVybiB3YihfLmNpKGEsYiksYyl9O1xuXy5taT1mdW5jdGlvbihhLGIsYyl7Yz1jPT09dm9pZCAwPzA6YztyZXR1cm4gd2IoXy5NaChhLGIpLGMpfTtfLkE9ZnVuY3Rpb24oYSxiLGMsZCl7Yz1jPT09dm9pZCAwP1wiXCI6YztyZXR1cm4gd2IoXy5HZShhLGIsZCksYyl9O18ubmk9ZnVuY3Rpb24oYSxiLGMsZCl7Yz1jPT09dm9pZCAwPzA6YztyZXR1cm4gd2IoXy5oaShhLGIsZCksYyl9O18ucHZhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yz09PXZvaWQgMD9cIjBcIjpjO3JldHVybiB3Yih6Y2EoXy5GaChhLGIpLCEwKSxjKX07Xy5xaT1mdW5jdGlvbihhLGIpe3ZhciBjPWM9PT12b2lkIDA/XCIwXCI6YztyZXR1cm4gd2IoemNhKF8uRmgoYSxiKSwhMCksYyl9O18ucmk9ZnVuY3Rpb24oYSxiKXt2YXIgYz1jPT09dm9pZCAwP1wiMFwiOmM7cmV0dXJuIHdiKF8uQ2NhKF8uRmgoYSxiKSwhMCksYyl9O18uc2k9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLnFiKGEsYixfLmRiLGMpfTtcbl8udGk9ZnVuY3Rpb24oYSxiLGMsZCxlKXtyZXR1cm4gXy5xYihhLGIsSWNhLGMsZCxlKX07Xy51aT1mdW5jdGlvbihhLGIsYyl7YT1fLnRpKGEsYiwzLHZvaWQgMCwhMCk7Xy5TYmEoYSxjKTtyZXR1cm4gYVtjXX07Xy52aT1mdW5jdGlvbihhLGIpe3JldHVybiBfLnRpKGEsYiwzLHZvaWQgMCwhMCkubGVuZ3RofTtfLndpPWZ1bmN0aW9uKGEsYixjLGQsZSl7cmV0dXJuIF8ucWIoYSxiLGxjYSxjLGQsZSl9O18ucXZhPWZ1bmN0aW9uKGEsYixjKXthPV8ud2koYSxiLDMsdm9pZCAwLCEwKTtfLlNiYShhLGMpO3JldHVybiBhW2NdfTtfLnJ2YT1mdW5jdGlvbihhLGIpe3JldHVybiBfLndpKGEsYiwzLHZvaWQgMCwhMCkubGVuZ3RofTtfLnhpPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5FKGEsXy5IaChhLGMsYiksdm9pZCAwKX07Xy55aT1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gXy5paShhLF8uSGgoYSxjLGIpLGQpfTtcbl8uc3ZhPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy4kYyhhLF8uSGgoYSxjLGIpKX07Xy50dmE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLm1pKGEsXy5IaChhLGMsYikpfTtfLkFpPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5BKGEsXy5IaChhLGMsYiksdm9pZCAwKX07Xy5CaT1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gXy5uaShhLF8uSGgoYSxjLGIpLGQpfTtfLkNpPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5HZShhLF8uSGgoYSxjLGIpKX07Xy5JZj1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gXy52KGEsYixfLkhoKGEsZCxjKSl9O18uRmk9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLkVpKGEsXy5IaChhLGMsYikpfTtfLnV2YT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uR2koYSxfLkhoKGEsYyxiKSl9O18uSGk9ZnVuY3Rpb24oYSxiKXthPV8uZGkoYSxiKTtyZXR1cm4gYT09bnVsbD92b2lkIDA6YX07XG5fLklpPWZ1bmN0aW9uKGEsYil7YT1fLmVpKGEsYik7cmV0dXJuIGE9PW51bGw/dm9pZCAwOmF9O18uSmY9ZnVuY3Rpb24oYSxiKXthPV8uZmkoYSxiKTtyZXR1cm4gYT09bnVsbD92b2lkIDA6YX07Xy5KaT1mdW5jdGlvbihhLGIpe2E9Xy4kaChhLGIpO3JldHVybiBhPT1udWxsP3ZvaWQgMDphfTtfLktpPWZ1bmN0aW9uKGEsYil7YT1fLk1oKGEsYik7cmV0dXJuIGE9PW51bGw/dm9pZCAwOmF9O18uRWk9ZnVuY3Rpb24oYSxiKXthPV8uR2UoYSxiKTtyZXR1cm4gYT09bnVsbD92b2lkIDA6YX07Xy52dmE9ZnVuY3Rpb24oYSxiKXthPV8ua3ZhKGEsYik7cmV0dXJuIGE9PW51bGw/dm9pZCAwOmF9O18uR2k9ZnVuY3Rpb24oYSxiKXthPV8uaGkoYSxiKTtyZXR1cm4gYT09bnVsbD92b2lkIDA6YX07Xy5NaT1mdW5jdGlvbihhLGIpe2E9Xy5DY2EoXy5GaChhLGIpLCEwKTtyZXR1cm4gYT09bnVsbD92b2lkIDA6YX07XG5fLk1nPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBfLlZmKGEsYixoY2EoYyksZCl9O18uTmk9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLnViKGEsYixoY2EoYyksITEpfTtfLnd2YT1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gXy5RaChhLGIsYyxoY2EoZCkpfTtfLk9pPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5WZihhLGIsYz09bnVsbD9jOl8uY2IoYykpfTtfLlBpPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy51YihhLGIsYz09bnVsbD9jOl8uY2IoYyksMCl9O18ueHZhPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBfLlFoKGEsYixjLGQ9PW51bGw/ZDpfLmNiKGQpKX07Xy5RaT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uVmYoYSxiLF8uZWIoYykpfTtfLktmPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5WZihhLGIsXy5yY2EoYykpfTtfLnl2YT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8udWIoYSxiLF8ucmNhKGMpLFwiMFwiKX07XG5fLnp2YT1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gXy5RaChhLGIsYyxfLnJjYShkKSl9O18uUmk9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLlZmKGEsYixfLkJjYShjKSl9O18uU2k9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLlZmKGEsYixfLnJjYShjKSl9O18uVmk9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLlZmKGEsYixfLkJjYShjKSl9O18uV2k9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLlZmKGEsYixkY2EoYykpfTtfLlppPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy51YihhLGIsZGNhKGMpLDApfTtfLkF2YT1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gXy5RaChhLGIsYyxkY2EoZCkpfTtfLkRlPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBfLlZmKGEsYixIY2EoYyksZCl9O18uUGI9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLnViKGEsYixIY2EoYyksXCJcIil9O18uJGk9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIF8uUWgoYSxiLGMsSGNhKGQpKX07XG5fLmFqPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5WZihhLGIsXy53ZWEoYykpfTtfLmNqPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBfLlZmKGEsYixjPT1udWxsP2M6Xy5rY2EoYyksZCl9O18uZGo9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLnViKGEsYixjPT1udWxsP2M6Xy5rY2EoYyksMCl9O18uZWo9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIF8uUWgoYSxiLGMsZD09bnVsbD9kOl8ua2NhKGQpKX07Xy5maj1mdW5jdGlvbihhLGIsYyxkLGUpe3JldHVybiBfLnNiKGEsYixjLF8uR2NhLGQsZSl9O18uZ2o9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIF8ubWVhKGEsYixfLkdjYSxjLGQpfTtfLmhqPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5zYihhLGIsYyxfLmtjYSl9O18uaWo9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIF8ubWVhKGEsYixfLmtjYSxjLGQpfTtfLmtqPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uZGkoYSxiKSE9bnVsbH07XG5fLmxqPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5kaShhLF8uSGgoYSxjLGIpKSE9bnVsbH07Xy5taj1mdW5jdGlvbihhLGIpe3JldHVybiBfLmVpKGEsYikhPW51bGx9O18ubmo9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLmVpKGEsXy5IaChhLGMsYikpIT1udWxsfTtfLm9qPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uZmkoYSxiKSE9bnVsbH07Xy5kZD1mdW5jdGlvbihhLGIpe3JldHVybiBfLiRoKGEsYikhPW51bGx9O18ucGo9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5NaChhLGIpIT1udWxsfTtfLnFqPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5NaChhLF8uSGgoYSxjLGIpKSE9bnVsbH07Xy5WZT1mdW5jdGlvbihhLGIpe3JldHVybiBfLkdlKGEsYikhPW51bGx9O18ucmo9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLkNpKGEsYixjKSE9bnVsbH07Xy50aj1mdW5jdGlvbihhLGIpe3JldHVybiBfLmhpKGEsYikhPW51bGx9O1xuXy51aj1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uaGkoYSxfLkhoKGEsYyxiKSkhPW51bGx9O18udmo9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5nZWEoYSxiLF8uaWIsXy5pYil9O18uQnZhPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5yYihhLGIsYyxfLmliKX07dmFyIEFlYSx5ZWEsemVhLEN2YTtDdmE9MDtfLnE9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuSGE9Xy5wKGEsYixjKX07Xy5xLnByb3RvdHlwZS50SmE9ZnVuY3Rpb24oKXtyZXR1cm4gQmVhKHRoaXMpfTtfLnEucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybiBCZWEodGhpcyl9O18ucS5wcm90b3R5cGUuR0piPWZ1bmN0aW9uKCl7dHJ5e3JldHVybiB6ZWE9ITAsQmVhKHRoaXMpfWZpbmFsbHl7emVhPSExfX07Xy5xLnByb3RvdHlwZS5XYz1mdW5jdGlvbihhKXt0cnl7cmV0dXJuIHllYT0hMCxhJiYoQWVhPWE9PT1OY2F8fGEhPT1NY2EmJmEhPT1SY2EmJmEhPT1VY2E/TmNhOmEpLEpTT04uc3RyaW5naWZ5KEJlYSh0aGlzKSx6ZGEpfWZpbmFsbHl7YSYmKEFlYT12b2lkIDApLHllYT0hMX19O1xuXy5WYj1mdW5jdGlvbihhLGIpe2lmKGI9PW51bGx8fGI9PVwiXCIpcmV0dXJuIG5ldyBhO2I9SlNPTi5wYXJzZShiKTtpZighQXJyYXkuaXNBcnJheShiKSl0aHJvdyBFcnJvcihcImVhXCIpO3JldHVybiBfLnRkYShhLF8uR2JhKGIpKX07Xy5xLnByb3RvdHlwZS5nZXRFeHRlbnNpb249ZnVuY3Rpb24oYSl7dmFyIGI9YS5aYz9hLllTP2EuTERhKHRoaXMsYS5aYyxhLlF4LF8uU2Uodm9pZCAwLCEwKSwhMCk6YS5MRGEodGhpcyxhLlpjLGEuUXgsITApOmEuWVM/YS5MRGEodGhpcyxhLlF4LF8uU2Uodm9pZCAwLCEwKSwhMCk6YS5MRGEodGhpcyxhLlF4LGEuZGVmYXVsdFZhbHVlLCEwKTtyZXR1cm4gYS5rc2QmJmI9PW51bGw/YS5kZWZhdWx0VmFsdWU6Yn07Xy5xLnByb3RvdHlwZS5MYT1mdW5jdGlvbigpe3ZhciBhPV8uRHZhO3JldHVybiBfLlRoKHRoaXMsYS5aYyxhLlF4LCEwKX07XG5fLnEucHJvdG90eXBlLkZyPWZ1bmN0aW9uKGEpe2E9YS5aYz9hLkxEYSh0aGlzLGEuWmMsYS5ReCwhMCk6YS5MRGEodGhpcyxhLlF4LG51bGwsITApO3JldHVybiBhPT09bnVsbD92b2lkIDA6YX07Xy53aj1mdW5jdGlvbihhLGIpe3JldHVybiBiLlpjP18uR2goYSxiLlpjLGIuUXgsITApOmEuRnIoYikhPT12b2lkIDB9O18ueGo9ZnVuY3Rpb24oYSxiKXtyZGE9MDt2YXIgYz1hPT1ifHwhKCFhfHwhYikmJmEgaW5zdGFuY2VvZiBiLmNvbnN0cnVjdG9yJiZsZGEoYSxiKTthJiZiJiZhLmNvbnN0cnVjdG9yPT09Yi5jb25zdHJ1Y3RvciYmIWMmJnJkYT4wJiYhQ3ZhKysmJmFjYSgpO3JldHVybiBjfTtfLm09Xy5xLnByb3RvdHlwZTtfLm0uY2xvbmU9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLkhhO3JldHVybiBfLnRkYSh0aGlzLmNvbnN0cnVjdG9yLEtkYShhLCgwLF8ubmIpKGEpLCExKSl9O18ubS54RmE9ZnVuY3Rpb24oKXtyZXR1cm4hXy5WYSh0aGlzKX07Xy5tLnoxPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmEodGhpcyl9O1xuXy5tLmViYT1mdW5jdGlvbigpe3JldHVybiBfLk1kYSh0aGlzKX07Xy5tLkVzPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5IYSxiPSgwLF8ubmIpKGEpO3JldHVybiBiJjI/dGhpczpfLnRkYSh0aGlzLmNvbnN0cnVjdG9yLEtkYShhLGIsITApKX07Xy5tLnRiPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuWmM/YS5ZUz9hLnplYih0aGlzLGEuWmMsYS5ReCxiLHZvaWQgMCwhMCk6YS56ZWIodGhpcyxhLlpjLGEuUXgsYiwhMCk6YS5ZUz9hLnplYih0aGlzLGEuUXgsYix2b2lkIDAsITApOmEuemViKHRoaXMsYS5ReCxiLCEwKX07Xy5tLmp4ZD1LYmE7dmFyIEV2YSxHdmEsSXZhLEZlYSxKdmE7RXZhPWZ1bmN0aW9uKGEsYil7dGhpcy5sbz1hPj4+MDt0aGlzLmhpPWI+Pj4wfTtfLkZ2YT1mdW5jdGlvbihhKXtyZXR1cm4gYS5sbz09PTA/bmV3IEV2YSgwLDErfmEuaGkpOm5ldyBFdmEofmEubG8rMSx+YS5oaSl9O18ueGI9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIEd2YXx8KEd2YT1uZXcgRXZhKDAsMCkpO2lmKCEvXlxcZCskLy50ZXN0KGEpKXJldHVybiBudWxsO18uQ2JhKGEpO3JldHVybiBuZXcgRXZhKF8uTmEsXy5PYSl9O18uSHZhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgRXZhKGEmNDI5NDk2NzI5NSxhLzQyOTQ5NjcyOTYpfTtJdmE9ZnVuY3Rpb24oYSxiKXt0aGlzLmxvPWE+Pj4wO3RoaXMuaGk9Yj4+PjB9O0ZlYT1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4gSnZhfHwoSnZhPW5ldyBJdmEoMCwwKSk7aWYoIS9eLT9cXGQrJC8udGVzdChhKSlyZXR1cm4gbnVsbDtfLkNiYShhKTtyZXR1cm4gbmV3IEl2YShfLk5hLF8uT2EpfTt2YXIgUmlhPWZ1bmN0aW9uKCl7dGhpcy5vYT1bXX0sS3ZhLFNpYTtSaWEucHJvdG90eXBlLmxlbmd0aD1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9hLmxlbmd0aH07UmlhLnByb3RvdHlwZS5lbmQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9hO3RoaXMub2E9W107cmV0dXJuIGF9O18uRWI9ZnVuY3Rpb24oYSxiLGMpe2Zvcig7Yz4wfHxiPjEyNzspYS5vYS5wdXNoKGImMTI3fDEyOCksYj0oYj4+Pjd8Yzw8MjUpPj4+MCxjPj4+PTc7YS5vYS5wdXNoKGIpfTtfLkZiPWZ1bmN0aW9uKGEsYil7Zm9yKDtiPjEyNzspYS5vYS5wdXNoKGImMTI3fDEyOCksYj4+Pj03O2Eub2EucHVzaChiKX07S3ZhPWZ1bmN0aW9uKGEsYil7aWYoYj49MClfLkZiKGEsYik7ZWxzZXtmb3IodmFyIGM9MDtjPDk7YysrKWEub2EucHVzaChiJjEyN3wxMjgpLGI+Pj03O2Eub2EucHVzaCgxKX19O1xuXy5EYj1mdW5jdGlvbihhLGIpe2Eub2EucHVzaChiPj4+MCYyNTUpO2Eub2EucHVzaChiPj4+OCYyNTUpO2Eub2EucHVzaChiPj4+MTYmMjU1KTthLm9hLnB1c2goYj4+PjI0JjI1NSl9O18uVmZhPWZ1bmN0aW9uKGEsYil7Xy50YmEoYik7Xy5EYihhLF8uTmEpO18uRGIoYSxfLk9hKX07U2lhPWZ1bmN0aW9uKGEsYil7YS5vYS5wdXNoKGI+Pj4wJjI1NSk7YS5vYS5wdXNoKGI+Pj44JjI1NSk7YS5vYS5wdXNoKGI+Pj4xNiYyNTUpO2Eub2EucHVzaChiPj4+MjQmMjU1KX07Xy5FZmE9ZnVuY3Rpb24oYSxiKXt2YXIgYz12YmF8fCh2YmE9bmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcig4KSkpO2Muc2V0RmxvYXQ2NCgwLCtiLCEwKTtfLk5hPWMuZ2V0VWludDMyKDAsITApO18uT2E9Yy5nZXRVaW50MzIoNCwhMCk7Xy5EYihhLF8uTmEpO18uRGIoYSxfLk9hKX07dmFyIEFmYSxSZmEsTGZhLEpmYSxIZmEsTnZhLFRmYSxnZ2EsWWZhLGJnYTtfLkx2YT1mdW5jdGlvbigpe3RoaXMuQmE9W107dGhpcy5BYT0wO3RoaXMub2E9bmV3IFJpYX07QWZhPWZ1bmN0aW9uKGEsYil7Yi5sZW5ndGghPT0wJiYoYS5CYS5wdXNoKGIpLGEuQWErPWIubGVuZ3RoKX07Xy5PZmE9ZnVuY3Rpb24oYSxiKXtfLkNiKGEsYiwyKTtiPWEub2EuZW5kKCk7QWZhKGEsYik7Yi5wdXNoKGEuQWEpO3JldHVybiBifTtfLlBmYT1mdW5jdGlvbihhLGIpe3ZhciBjPWIucG9wKCk7Zm9yKGM9YS5BYSthLm9hLmxlbmd0aCgpLWM7Yz4xMjc7KWIucHVzaChjJjEyN3wxMjgpLGM+Pj49NyxhLkFhKys7Yi5wdXNoKGMpO2EuQWErK307XG5fLk12YT1mdW5jdGlvbihhKXtBZmEoYSxhLm9hLmVuZCgpKTtmb3IodmFyIGI9bmV3IFVpbnQ4QXJyYXkoYS5BYSksYz1hLkJhLGQ9Yy5sZW5ndGgsZT0wLGY9MDtmPGQ7ZisrKXt2YXIgZz1jW2ZdO2Iuc2V0KGcsZSk7ZSs9Zy5sZW5ndGh9YS5CYT1bYl07cmV0dXJuIGJ9O18uQ2I9ZnVuY3Rpb24oYSxiLGMpe18uRmIoYS5vYSxiKjgrYyl9O1JmYT1mdW5jdGlvbihhLGIsYyl7YyE9bnVsbCYmKF8uQ2IoYSxiLDApLEt2YShhLm9hLGMpKX07TGZhPWZ1bmN0aW9uKGEsYixjKXtjIT1udWxsJiYoXy5DYihhLGIsMCksdHlwZW9mIGM9PT1cIm51bWJlclwiPyhhPWEub2EsXy5RYShjKSxfLkViKGEsXy5OYSxfLk9hKSk6KGM9Xy54YihjKSxfLkViKGEub2EsYy5sbyxjLmhpKSkpfTtcbkpmYT1mdW5jdGlvbihhLGIsYyl7YyE9bnVsbCYmKF8uQ2IoYSxiLDApLHR5cGVvZiBjPT09XCJudW1iZXJcIj8oYT1hLm9hLF8uUWEoYyksXy5FYihhLF8uTmEsXy5PYSkpOihjPUZlYShjKSxfLkViKGEub2EsYy5sbyxjLmhpKSkpfTtIZmE9ZnVuY3Rpb24oYSxiLGMpe2MhPW51bGwmJihfLkdlYShjKSxKZmEoYSxiLGMpKX07TnZhPWZ1bmN0aW9uKGEsYixjKXtjIT1udWxsJiYoXy5DYihhLGIsNSksXy5EYihhLm9hLGMpKX07VGZhPWZ1bmN0aW9uKGEsYixjKXtjIT1udWxsJiYodHlwZW9mIGM9PT1cInN0cmluZ1wiJiZfLnhiKGMpLF8uQ2IoYSxiLDEpLHR5cGVvZiBjPT09XCJudW1iZXJcIj9fLlZmYShhLm9hLGMpOihiPV8ueGIoYyksYT1hLm9hLGM9Yi5oaSxfLkRiKGEsYi5sbyksXy5EYihhLGMpKSl9O1xuXy5pZ2E9ZnVuY3Rpb24oYSxiLGMpe2MhPW51bGwmJihfLkdlYShjKSxfLkNiKGEsYiwxKSx0eXBlb2YgYz09PVwibnVtYmVyXCI/KGE9YS5vYSxfLlFhKGMpLGM9Xy5PYSxfLkRiKGEsXy5OYSksXy5EYihhLGMpKTooYz1GZWEoYyksYT1hLm9hLGI9Yy5oaSxfLkRiKGEsYy5sbyksXy5EYihhLGIpKSl9O2dnYT1mdW5jdGlvbihhLGIsYyl7YyE9bnVsbCYmKGM9cGFyc2VJbnQoYywxMCksXy5DYihhLGIsMCksS3ZhKGEub2EsYykpfTtZZmE9ZnVuY3Rpb24oYSxiLGMpe18uQ2IoYSxiLDIpO18uRmIoYS5vYSxjLmxlbmd0aCk7QWZhKGEsYS5vYS5lbmQoKSk7QWZhKGEsYyl9O2JnYT1mdW5jdGlvbihhLGIsYyxkKXtjIT1udWxsJiYoYj1fLk9mYShhLGIpLGQoYyxhKSxfLlBmYShhLGIpKX07dmFyIEllYT1mdW5jdGlvbihhLGIsYyxkKXt0aGlzLm9hPWE7dGhpcy5BYT1iO3RoaXMuQmE9Yzt0aGlzLnBzYz1kfTt2YXIgTWVhLG9kYSxsZmEsJGNhLGVmYSxmZmEsaGZhLG9mYSx1ZmEseWZhLFRnYSxPdmEsSmVhLG5mYTtNZWE9U3ltYm9sKCk7bGZhPWZ1bmN0aW9uKCl7fTskY2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hW2JdO2lmKGMhPW51bGwpcmV0dXJuIEFycmF5LmlzQXJyYXkoYyk/YVtiXT1OZWEoYyk6YztjPWEuZXh0ZW5zaW9ucztpZihjIT1udWxsJiYoYz1jW2JdLGMhPW51bGwpKXtjPUtlYShjKTt2YXIgZDshY1swXS5CYXx8KGQ9YS5HSGEpIT1udWxsJiZkLmhhcyhiKXx8KGEuR0hhfHwoYS5HSGE9bmV3IFNldCkpLmFkZChiKTtkPWNbMV07aWYoZCE9bnVsbClyZXR1cm4gYVtiXT1OZWEoZCl9fTtoZmE9U3ltYm9sKCk7b2ZhPVN5bWJvbCgpO3VmYT1TeW1ib2woKTt5ZmE9U3ltYm9sKCk7VGdhPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IF8uTHZhO18ucWZhKGEuSGEsYyxfLnBmYShiKSk7cmV0dXJuIF8uTXZhKGMpfTtcbk92YT1fLnpiKEVnYSxmdW5jdGlvbihhLGIsYyl7aWYoYiE9bnVsbCl7aWYoYiBpbnN0YW5jZW9mIF8ucSl7dmFyIGQ9Yi5aS2Q7ZCYmKGI9ZChiKSxiIT1udWxsJiZZZmEoYSxjLHJiYShiKS5idWZmZXIpKTtyZXR1cm59aWYoQXJyYXkuaXNBcnJheShiKSlyZXR1cm59ZWdhKGEsYixjKX0pO1xuXy55aj1CZmEoZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihhLm9hIT09MilyZXR1cm4hMTthPV8uWXVhKGEseGRhKFt2b2lkIDAsdm9pZCAwXSxkKSxlKTtkPSgwLF8ubmIpKGIpO18uWWEoZCk7ZT1fLnBiKGIsZCxjKTtlIGluc3RhbmNlb2YgamI/KGUudnFhJjIpIT0wPyhlPUxkYShlKSxlLnB1c2goYSksXy5vYihiLGQsYyxlKSk6KGI9ZSxjPWIuVUZhKGFbMF0sITEsITApLGE9YVsxXSxhPWIuU19hP2E9PT12b2lkIDA/bnVsbDphOmIuSWdiKGEsITEsITAsdm9pZCAwLCExLGIudnFhKSxFaC5wcm90b3R5cGUuc2V0LmNhbGwoYixjLGEpKTpBcnJheS5pc0FycmF5KGUpPygoMCxfLlRhKShlKSYyJiYoZT1kZWEoZSksXy5vYihiLGQsYyxlKSksZS5wdXNoKGEpKTpfLm9iKGIsZCxjLFthXSk7cmV0dXJuITB9LGZ1bmN0aW9uKGEsYixjLGQsZSl7aWYoYiBpbnN0YW5jZW9mIGpiKWIuZm9yRWFjaChmdW5jdGlvbihoLGspe2JnYShhLGMseGRhKFtrLGhdLGQpLGUpfSk7ZWxzZSBpZihBcnJheS5pc0FycmF5KGIpKWZvcih2YXIgZj1cbjA7ZjxiLmxlbmd0aDtmKyspe3ZhciBnPWJbZl07QXJyYXkuaXNBcnJheShnKSYmYmdhKGEsYyx4ZGEoZyxkKSxlKX19KTtfLnpqPWZ1bmN0aW9uKGEsYil7cmV0dXJuWyEwLGEsYl19O18uQWo9Xy56YihmdW5jdGlvbihhLGIsYyl7aWYoYS5vYSE9PTEpcmV0dXJuITE7Xy5CYihiLGMsbGdhKGEuQWEpKTtyZXR1cm4hMH0sRmZhKTtfLlB2YT1fLkFiKF8ubWdhLGZ1bmN0aW9uKGEsYixjKXtiPV8ueWIoXy5lY2EsYiwhMCk7aWYoYiE9bnVsbClmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGU9YSxmPWMsZz1iW2RdO2chPW51bGwmJihfLkNiKGUsZiwxKSxfLkVmYShlLm9hLGcpKX19KTtfLlF2YT1fLnpiKGZ1bmN0aW9uKGEsYixjKXtpZihhLm9hIT09MSlyZXR1cm4hMTthPWxnYShhLkFhKTtfLkJiKGIsYyxhPT09MD92b2lkIDA6YSk7cmV0dXJuITB9LEZmYSk7XG5fLkNqPV8uemIoZnVuY3Rpb24oYSxiLGMsZCl7aWYoYS5vYSE9PTEpcmV0dXJuITE7Xy5SaChiLGMsZCxsZ2EoYS5BYSkpO3JldHVybiEwfSxGZmEpO18uRGo9Xy56YihmdW5jdGlvbihhLGIsYyl7aWYoYS5vYSE9PTUpcmV0dXJuITE7Xy5CYihiLGMsbmdhKGEuQWEpKTtyZXR1cm4hMH0sR2ZhKTtfLkVqPV8uQWIob2dhLGZ1bmN0aW9uKGEsYixjKXtiPV8ueWIoXy5lY2EsYiwhMCk7aWYoYiE9bnVsbClmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGU9YSxmPWMsZz1iW2RdO2chPW51bGwmJihfLkNiKGUsZiw1KSxlPWUub2Esd2JhKGcpLF8uRGIoZSxfLk5hKSl9fSk7Xy5Gaj1fLkFiKG9nYSxmdW5jdGlvbihhLGIsYyl7Yj1fLnliKF8uZWNhLGIsITApO2lmKGIhPW51bGwmJmIubGVuZ3RoKWZvcihfLkNiKGEsYywyKSxfLkZiKGEub2EsYi5sZW5ndGgqNCksYz0wO2M8Yi5sZW5ndGg7YysrKXt2YXIgZD1hLm9hO3diYShiW2NdKTtfLkRiKGQsXy5OYSl9fSk7XG5fLkdqPV8uemIoZnVuY3Rpb24oYSxiLGMpe2lmKGEub2EhPT01KXJldHVybiExO2E9bmdhKGEuQWEpO18uQmIoYixjLGE9PT0wP3ZvaWQgMDphKTtyZXR1cm4hMH0sR2ZhKTtfLlJ2YT1fLnpiKGZ1bmN0aW9uKGEsYixjLGQpe2lmKGEub2EhPT01KXJldHVybiExO18uUmgoYixjLGQsbmdhKGEuQWEpKTtyZXR1cm4hMH0sR2ZhKTtfLklqPV8uemIoZnVuY3Rpb24oYSxiLGMpe2lmKGEub2EhPT0wKXJldHVybiExO18uQmIoYixjLF8uUnVhKGEuQWEpKTtyZXR1cm4hMH0sXy5JZmEpO18uSmo9Xy56YihmdW5jdGlvbihhLGIsYyl7aWYoYS5vYSE9PTApcmV0dXJuITE7Xy5CYihiLGMscGdhKGEuQWEpKTtyZXR1cm4hMH0sXy5JZmEpO18uS2o9Xy5BYihxZ2EsXy5LZmEpO1xuXy5Maj1fLkFiKHFnYSxmdW5jdGlvbihhLGIsYyl7Yj1fLnliKF8uRGNhLGIsITEpO2lmKGIhPW51bGwmJmIubGVuZ3RoKXtjPV8uT2ZhKGEsYyk7Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspe3ZhciBlPWJbZF07aWYodHlwZW9mIGU9PT1cIm51bWJlclwiKXt2YXIgZj1hLm9hO18uUWEoZSk7Xy5FYihmLF8uTmEsXy5PYSl9ZWxzZSBlPUZlYShlKSxfLkViKGEub2EsZS5sbyxlLmhpKX1fLlBmYShhLGMpfX0pO18uTWo9Xy56YihmdW5jdGlvbihhLGIsYyl7aWYoYS5vYSE9PTApcmV0dXJuITE7YT1wZ2EoYS5BYSk7Xy5CYihiLGMsYT09PTA/dm9pZCAwOmEpO3JldHVybiEwfSxfLklmYSk7Xy5Oaj1fLnpiKGZ1bmN0aW9uKGEsYixjLGQpe2lmKGEub2EhPT0wKXJldHVybiExO18uUmgoYixjLGQscGdhKGEuQWEpKTtyZXR1cm4hMH0sXy5JZmEpO18uT2o9Xy56YihfLnNnYSxfLk1mYSk7Xy5TdmE9Xy5BYih0Z2EsTmZhKTtfLlR2YT1fLkFiKHRnYSxRZmEpO1xuXy5Qaj1fLnpiKGZ1bmN0aW9uKGEsYixjKXtpZihhLm9hIT09MClyZXR1cm4hMTtfLkJiKGIsYyxfLnVnYShhLkFhKSk7cmV0dXJuITB9LF8uTWZhKTtfLlFqPV8uQWIodmdhLE5mYSk7Xy5VdmE9Xy5BYih2Z2EsUWZhKTtfLlJqPV8uemIoZnVuY3Rpb24oYSxiLGMsZCl7aWYoYS5vYSE9PTApcmV0dXJuITE7Xy5SaChiLGMsZCxfLnVnYShhLkFhKSk7cmV0dXJuITB9LF8uTWZhKTtfLlRqPV8uemIoZnVuY3Rpb24oYSxiLGMpe2lmKGEub2EhPT0wKXJldHVybiExO18uQmIoYixjLF8uS2IoYS5BYSkpO3JldHVybiEwfSxTZmEpO18uVWo9Xy5BYih3Z2EsZnVuY3Rpb24oYSxiLGMpe2I9Xy55YihfLmRiLGIsITApO2lmKGIhPW51bGwpZm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspUmZhKGEsYyxiW2RdKX0pO1xuXy5Waj1fLkFiKHdnYSxmdW5jdGlvbihhLGIsYyl7Yj1fLnliKF8uZGIsYiwhMCk7aWYoYiE9bnVsbCYmYi5sZW5ndGgpe2M9Xy5PZmEoYSxjKTtmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKylLdmEoYS5vYSxiW2RdKTtfLlBmYShhLGMpfX0pO18uWGo9Xy56YihmdW5jdGlvbihhLGIsYyl7aWYoYS5vYSE9PTApcmV0dXJuITE7YT1fLktiKGEuQWEpO18uQmIoYixjLGE9PT0wP3ZvaWQgMDphKTtyZXR1cm4hMH0sU2ZhKTtfLllqPV8uemIoZnVuY3Rpb24oYSxiLGMsZCl7aWYoYS5vYSE9PTApcmV0dXJuITE7Xy5SaChiLGMsZCxfLktiKGEuQWEpKTtyZXR1cm4hMH0sU2ZhKTtfLlpqPV8uemIoXy55Z2EsXy5VZmEpO18uVnZhPV8uemIoZnVuY3Rpb24oYSxiLGMsZCl7aWYoYS5vYSE9PTEpcmV0dXJuITE7Xy5SaChiLGMsZCxfLnhnYShhLkFhKSk7cmV0dXJuITB9LF8uVWZhKTtcbl8uYWs9Xy56YihmdW5jdGlvbihhLGIsYyl7aWYoYS5vYSE9PTEpcmV0dXJuITE7Xy5CYihiLGMsXy56Z2EoYS5BYSkpO3JldHVybiEwfSxfLlVmYSk7Xy5XdmE9Xy5BYihBZ2EsZnVuY3Rpb24oYSxiLGMpe2I9Xy55YihfLkVjYSxiLCExKTtpZihiIT1udWxsKWZvcih2YXIgZD0wO2Q8Yi5sZW5ndGg7ZCsrKVRmYShhLGMsYltkXSl9KTtfLlh2YT1fLkFiKEFnYSxfLldmYSk7Xy5ZdmE9Xy56YihmdW5jdGlvbihhLGIsYyxkKXtpZihhLm9hIT09MSlyZXR1cm4hMTtfLlJoKGIsYyxkLF8uemdhKGEuQWEpKTtyZXR1cm4hMH0sXy5VZmEpO18uYms9Xy56YihmdW5jdGlvbihhLGIsYyl7aWYoYS5vYSE9PTUpcmV0dXJuITE7Xy5CYihiLGMsXy5DaChhLkFhKSk7cmV0dXJuITB9LGZ1bmN0aW9uKGEsYixjKXtOdmEoYSxjLF8uZ2IoYikpfSk7Xy5HPV8uemIoZnVuY3Rpb24oYSxiLGMpe2lmKGEub2EhPT0wKXJldHVybiExO18uQmIoYixjLF8uQmdhKGEuQWEpKTtyZXR1cm4hMH0sXy5YZmEpO1xuXy5admE9Xy5BYihfLkNnYSxmdW5jdGlvbihhLGIsYyl7Yj1fLnliKF8uYmIsYiwhMCk7aWYoYiE9bnVsbClmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGU9YSxmPWMsZz1iW2RdO2chPW51bGwmJihfLkNiKGUsZiwwKSxlLm9hLm9hLnB1c2goZz8xOjApKX19KTtfLmNrPV8uemIoZnVuY3Rpb24oYSxiLGMpe2lmKGEub2EhPT0wKXJldHVybiExO2E9Xy5CZ2EoYS5BYSk7Xy5CYihiLGMsYT09PSExP3ZvaWQgMDphKTtyZXR1cm4hMH0sXy5YZmEpO18uZGs9Xy56YihmdW5jdGlvbihhLGIsYyxkKXtpZihhLm9hIT09MClyZXR1cm4hMTtfLlJoKGIsYyxkLF8uQmdhKGEuQWEpKTtyZXR1cm4hMH0sXy5YZmEpO18uSD1fLnpiKGZ1bmN0aW9uKGEsYixjKXtpZihhLm9hIT09MilyZXR1cm4hMTtfLkJiKGIsYyxfLmF2YShhKSk7cmV0dXJuITB9LF8uWmZhKTtcbl8uZWs9Xy5BYihmdW5jdGlvbihhLGIsYyl7aWYoYS5vYSE9PTIpcmV0dXJuITE7YT1fLmF2YShhKTtfLmxlYShiLGMsXy5uZWEsYSk7cmV0dXJuITB9LF8uJGZhKTtfLmdrPV8uemIoZnVuY3Rpb24oYSxiLGMpe2lmKGEub2EhPT0yKXJldHVybiExO2E9Xy5hdmEoYSk7Xy5CYihiLGMsYT09PVwiXCI/dm9pZCAwOmEpO3JldHVybiEwfSxfLlpmYSk7Xy5oaz1fLnpiKGZ1bmN0aW9uKGEsYixjLGQpe2lmKGEub2EhPT0yKXJldHVybiExO18uUmgoYixjLGQsXy5hdmEoYSkpO3JldHVybiEwfSxfLlpmYSk7Xy5paz1CZmEoZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihhLm9hIT09MylyZXR1cm4hMTtadWEoYSxjLGx2YShiLGQsYyksZSk7cmV0dXJuITB9LGFnYSk7XG5fLmprPV8uQ2ZhKGZ1bmN0aW9uKGEsYixjLGQsZSl7aWYoYS5vYSE9PTMpcmV0dXJuITE7WnVhKGEsYyxfLkRmYShiLGQsYyksZSk7cmV0dXJuITB9LGZ1bmN0aW9uKGEsYixjLGQsZSl7aWYoQXJyYXkuaXNBcnJheShiKSlmb3IodmFyIGY9MDtmPGIubGVuZ3RoO2YrKylhZ2EoYSxiW2ZdLGMsZCxlKX0pO0plYT1CZmEoZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihhLm9hIT09MilyZXR1cm4hMTtfLll1YShhLGx2YShiLGQsYywhMCksZSk7cmV0dXJuITB9LGNnYSk7bmZhPUJmYShmdW5jdGlvbihhLGIsYyxkLGUpe2lmKGEub2EhPT0yKXJldHVybiExO18uWXVhKGEsbHZhKGIsZCxjKSxlKTtyZXR1cm4hMH0sY2dhKTtfLmtrPV8uQ2ZhKGZ1bmN0aW9uKGEsYixjLGQsZSl7aWYoYS5vYSE9PTIpcmV0dXJuITE7Xy5ZdWEoYSxfLkRmYShiLGQsYyksZSk7cmV0dXJuITB9LF8uZGdhKTtcbl8ubms9QmZhKGZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZihhLm9hIT09MilyZXR1cm4hMTt0ZWEoYiwoMCxfLm5iKShiKSxmLGMpO2I9bHZhKGIsZCxjKTtfLll1YShhLGIsZSk7cmV0dXJuITB9LGNnYSk7Xy5vaz1fLnpiKGZ1bmN0aW9uKGEsYixjKXtpZihhLm9hIT09MilyZXR1cm4hMTtfLkJiKGIsYyxEZ2EoYSkpO3JldHVybiEwfSxlZ2EpO18uJHZhPV8uQWIoZnVuY3Rpb24oYSxiLGMpe2lmKGEub2EhPT0yKXJldHVybiExO2E9RGdhKGEpO18ubGVhKGIsYyxfLm5lYSxhKTtyZXR1cm4hMH0sZnVuY3Rpb24oYSxiLGMpe2I9Xy55YihGY2EsYiwhMSk7aWYoYiE9bnVsbClmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGU9YSxmPWMsZz1iW2RdO2chPW51bGwmJllmYShlLGYscmJhKGcpLmJ1ZmZlcil9fSk7Xy5waz1fLnpiKEVnYSxlZ2EpO1xuXy5hd2E9Xy56YihmdW5jdGlvbihhLGIsYyxkKXtpZihhLm9hIT09MilyZXR1cm4hMTtfLlJoKGIsYyxkLERnYShhKSk7cmV0dXJuITB9LGVnYSk7Xy5xaz1fLnpiKGZ1bmN0aW9uKGEsYixjKXtpZihhLm9hIT09MClyZXR1cm4hMTtfLkJiKGIsYyxfLkhiKGEuQWEpKTtyZXR1cm4hMH0sZmdhKTtfLnJrPV8uQWIoRmdhLGZ1bmN0aW9uKGEsYixjKXtiPV8ueWIoXy5nYixiLCEwKTtpZihiIT1udWxsKWZvcih2YXIgZD0wO2Q8Yi5sZW5ndGg7ZCsrKXt2YXIgZT1hLGY9YyxnPWJbZF07ZyE9bnVsbCYmKF8uQ2IoZSxmLDApLF8uRmIoZS5vYSxnKSl9fSk7Xy5id2E9Xy5BYihGZ2EsZnVuY3Rpb24oYSxiLGMpe2I9Xy55YihfLmdiLGIsITApO2lmKGIhPW51bGwmJmIubGVuZ3RoKXtjPV8uT2ZhKGEsYyk7Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspXy5GYihhLm9hLGJbZF0pO18uUGZhKGEsYyl9fSk7XG5fLmN3YT1fLnpiKGZ1bmN0aW9uKGEsYixjKXtpZihhLm9hIT09MClyZXR1cm4hMTthPV8uSGIoYS5BYSk7Xy5CYihiLGMsYT09PTA/dm9pZCAwOmEpO3JldHVybiEwfSxmZ2EpO18udGs9Xy56YihmdW5jdGlvbihhLGIsYyxkKXtpZihhLm9hIT09MClyZXR1cm4hMTtfLlJoKGIsYyxkLF8uSGIoYS5BYSkpO3JldHVybiEwfSxmZ2EpO18uST1fLnpiKGZ1bmN0aW9uKGEsYixjKXtpZihhLm9hIT09MClyZXR1cm4hMTtfLkJiKGIsYyxfLktiKGEuQWEpKTtyZXR1cm4hMH0sXy5oZ2EpO18udWs9Xy5BYihIZ2EsZnVuY3Rpb24oYSxiLGMpe2I9Xy55YihfLmRiLGIsITApO2lmKGIhPW51bGwpZm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspZ2dhKGEsYyxiW2RdKX0pO1xuXy52az1fLkFiKEhnYSxmdW5jdGlvbihhLGIsYyl7Yj1fLnliKF8uZGIsYiwhMCk7aWYoYiE9bnVsbCYmYi5sZW5ndGgpe2M9Xy5PZmEoYSxjKTtmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKylLdmEoYS5vYSxiW2RdKTtfLlBmYShhLGMpfX0pO18ud2s9Xy56YihmdW5jdGlvbihhLGIsYyl7aWYoYS5vYSE9PTApcmV0dXJuITE7YT1fLktiKGEuQWEpO18uQmIoYixjLGE9PT0wP3ZvaWQgMDphKTtyZXR1cm4hMH0sXy5oZ2EpO18ueGs9Xy56YihmdW5jdGlvbihhLGIsYyxkKXtpZihhLm9hIT09MClyZXR1cm4hMTtfLlJoKGIsYyxkLF8uS2IoYS5BYSkpO3JldHVybiEwfSxfLmhnYSk7XG5fLmR3YT1fLnpiKGZ1bmN0aW9uKGEsYixjKXtpZihhLm9hIT09NSlyZXR1cm4hMTthPWEuQWE7dmFyIGQ9YS5CYSxlPWEub2EsZj1kW2VdLGc9ZFtlKzFdLGg9ZFtlKzJdO2Q9ZFtlKzNdO1B1YShhLGEub2ErNCk7Xy5CYihiLGMsZjw8MHxnPDw4fGg8PDE2fGQ8PDI0KTtyZXR1cm4hMH0sZnVuY3Rpb24oYSxiLGMpe2I9Xy5kYihiKTtiIT1udWxsJiYoXy5DYihhLGMsNSksU2lhKGEub2EsYikpfSk7Xy55az1bITAsXy5ILF8uSF07Xy5MYj1mdW5jdGlvbihhLGIsYyxkLGUpe3RoaXMuUXg9YTt0aGlzLlpjPWI7dGhpcy5ZUz1jO3RoaXMuTERhPWQ7dGhpcy56ZWI9ZTt0aGlzLmRlZmF1bHRWYWx1ZT12b2lkIDA7dGhpcy5rc2Q9ITF9O3ZhciBJZ2E9dm9pZCAwLEpnYT1fLk9iKGZ1bmN0aW9uKGEpe3JldHVybiBhIT09bnVsbCYmYSE9PXZvaWQgMH0pO18uZXdhPXt9O18uZndhPXt9O18uZ3dhPXt9O18uaHdhPXt9O18uems9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLnprLF8ucSk7Xy5XZT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uV2UsXy5xKTtfLmRuYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uZG5hLF8ucSk7Xy5kbmEucHJvdG90eXBlLng5YT1mdW5jdGlvbigpe3JldHVybiBfLkdoKHRoaXMsXy5XZSw1KX07Xy5pd2E9WzAsNSxfLkhdO18uandhPVswLDYsXy5IXTtfLmt3YT1bMCxfLkgsMixfLml3YSxfLmp3YV07dmFyIGx3YT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKGx3YSxfLnEpO2x3YS5wcm90b3R5cGUuYlJhPWZ1bmN0aW9uKCl7cmV0dXJuIF8uSmgodGhpcyxfLmRuYSwxKX07bHdhLm9iPVsxXTt2YXIgY25hPV8uUWIobHdhLFswLF8ua2ssXy5rd2FdKTt2YXIgbXdhPWZ1bmN0aW9uKGEpe3RoaXMub2E9YX07dmFyIG53YT1mdW5jdGlvbihhLGIsYyl7dGhpcy5DYT1hO3RoaXMuQmE9Yjt0aGlzLmZpZWxkcz1jfHxbXTt0aGlzLm9hPW5ldyBNYXB9O18ubT1ud2EucHJvdG90eXBlO18ubS5sWWM9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5sYy5hcHBseSgxLGFyZ3VtZW50cyksYz10aGlzLk1rYihiKTtjP2MucHVzaChuZXcgbXdhKGEpKTp0aGlzLnpUYihhLGIpfTtfLm0uelRiPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuZ2V0S2V5KF8ubGMuYXBwbHkoMSxhcmd1bWVudHMpKTt0aGlzLm9hLnNldChiLFtuZXcgbXdhKGEpXSl9O18ubS5Na2I9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmdldEtleShfLmxjLmFwcGx5KDAsYXJndW1lbnRzKSk7cmV0dXJuIHRoaXMub2EuaGFzKGEpP3RoaXMub2EuZ2V0KGEpOnZvaWQgMH07Xy5tLmtUYz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuTWtiKF8ubGMuYXBwbHkoMCxhcmd1bWVudHMpKTtyZXR1cm4gYSYmYS5sZW5ndGg/YVswXTp2b2lkIDB9O18ubS5jbGVhcj1mdW5jdGlvbigpe3RoaXMub2EuY2xlYXIoKX07XG5fLm0uZ2V0S2V5PWZ1bmN0aW9uKCl7dmFyIGE9Xy5sYy5hcHBseSgwLGFyZ3VtZW50cyk7cmV0dXJuIGE/YS5qb2luKFwiLFwiKTpcImtleVwifTt2YXIgb3dhPWZ1bmN0aW9uKGEsYil7bndhLmNhbGwodGhpcyxhLDMsYil9O18uRChvd2EsbndhKTtvd2EucHJvdG90eXBlLkFhPWZ1bmN0aW9uKGEpe3ZhciBiPV8ubGMuYXBwbHkoMSxhcmd1bWVudHMpLGM9MCxkPXRoaXMua1RjKGIpO2QmJihjPWQub2EpO3RoaXMuelRiKGMrYSxiKX07dmFyIHB3YT1mdW5jdGlvbihhLGIpe253YS5jYWxsKHRoaXMsYSwyLGIpfTtfLkQocHdhLG53YSk7cHdhLnByb3RvdHlwZS55dT1mdW5jdGlvbihhKXt0aGlzLmxZYyhhLF8ubGMuYXBwbHkoMSxhcmd1bWVudHMpKX07Xy5Daz1mdW5jdGlvbigpe3RoaXMuUGw9dGhpcy5QbDt0aGlzLldnPXRoaXMuV2d9O18uQ2sucHJvdG90eXBlLlBsPSExO18uQ2sucHJvdG90eXBlLmlzRGlzcG9zZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5QbH07Xy5Day5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuUGx8fCh0aGlzLlBsPSEwLHRoaXMuUWMoKSl9O18uQ2sucHJvdG90eXBlW1N5bWJvbC5kaXNwb3NlXT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfTtfLkhnPWZ1bmN0aW9uKGEsYil7YS5hZGRPbkRpc3Bvc2VDYWxsYmFjayhfLmloKF8uWGIsYikpfTtfLkNrLnByb3RvdHlwZS5hZGRPbkRpc3Bvc2VDYWxsYmFjaz1mdW5jdGlvbihhLGIpe3RoaXMuUGw/YiE9PXZvaWQgMD9hLmNhbGwoYik6YSgpOih0aGlzLldnfHwodGhpcy5XZz1bXSksdGhpcy5XZy5wdXNoKGIhPT12b2lkIDA/KDAsXy5oaCkoYSxiKTphKSl9O18uQ2sucHJvdG90eXBlLlFjPWZ1bmN0aW9uKCl7aWYodGhpcy5XZylmb3IoO3RoaXMuV2cubGVuZ3RoOyl0aGlzLldnLnNoaWZ0KCkoKX07XG5fLnF3YT1mdW5jdGlvbihhKXtyZXR1cm4gYSYmdHlwZW9mIGEuaXNEaXNwb3NlZD09XCJmdW5jdGlvblwiP2EuaXNEaXNwb3NlZCgpOiExfTtfLkVrPWZ1bmN0aW9uKGEpe3RoaXMuaWQ9YX07Xy5Fay5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pZH07Xy5Gaz1mdW5jdGlvbihhLGIpe3RoaXMudHlwZT1hIGluc3RhbmNlb2YgXy5Faz9TdHJpbmcoYSk6YTt0aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy50YXJnZXQ9Yjt0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9dGhpcy5UV2E9ITF9O18uRmsucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpe3RoaXMuVFdhPSEwfTtfLkZrLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMuZGVmYXVsdFByZXZlbnRlZD0hMH07Xy5Haz1mdW5jdGlvbihhKXthLnN0b3BQcm9wYWdhdGlvbigpfTtfLnJ3YT1mdW5jdGlvbihhKXthLnByZXZlbnREZWZhdWx0KCl9O3ZhciBzd2EsdndhLHd3YSx0d2EseHdhO1xuXy51d2E9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5jaChcIndpbmRvdy5sb2NhdGlvbi5ocmVmXCIpO2E9PW51bGwmJihhPSdVbmtub3duIEVycm9yIG9mIHR5cGUgXCJudWxsL3VuZGVmaW5lZFwiJyk7aWYodHlwZW9mIGE9PT1cInN0cmluZ1wiKXJldHVybnttZXNzYWdlOmEsbmFtZTpcIlVua25vd24gZXJyb3JcIixsaW5lTnVtYmVyOlwiTm90IGF2YWlsYWJsZVwiLGZpbGVOYW1lOmIsc3RhY2s6XCJOb3QgYXZhaWxhYmxlXCJ9O3ZhciBjPSExO3RyeXt2YXIgZD1hLmxpbmVOdW1iZXJ8fGEubGluZXx8XCJOb3QgYXZhaWxhYmxlXCJ9Y2F0Y2goZil7ZD1cIk5vdCBhdmFpbGFibGVcIixjPSEwfXRyeXt2YXIgZT1hLmZpbGVOYW1lfHxhLmZpbGVuYW1lfHxhLnNvdXJjZVVSTHx8Xy5iYS4kZ29vZ0RlYnVnRm5hbWV8fGJ9Y2F0Y2goZil7ZT1cIk5vdCBhdmFpbGFibGVcIixjPSEwfWI9c3dhKGEpO3JldHVybiFjJiZhLmxpbmVOdW1iZXImJmEuZmlsZU5hbWUmJmEuc3RhY2smJmEubWVzc2FnZSYmYS5uYW1lP3ttZXNzYWdlOmEubWVzc2FnZSxcbm5hbWU6YS5uYW1lLGxpbmVOdW1iZXI6YS5saW5lTnVtYmVyLGZpbGVOYW1lOmEuZmlsZU5hbWUsc3RhY2s6Yn06KGM9YS5tZXNzYWdlLGM9PW51bGwmJihjPWEuY29uc3RydWN0b3ImJmEuY29uc3RydWN0b3IgaW5zdGFuY2VvZiBGdW5jdGlvbj8nVW5rbm93biBFcnJvciBvZiB0eXBlIFwiJysoYS5jb25zdHJ1Y3Rvci5uYW1lP2EuY29uc3RydWN0b3IubmFtZTp0d2EoYS5jb25zdHJ1Y3RvcikpKydcIic6XCJVbmtub3duIEVycm9yIG9mIHVua25vd24gdHlwZVwiLHR5cGVvZiBhLnRvU3RyaW5nPT09XCJmdW5jdGlvblwiJiZPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIT09YS50b1N0cmluZyYmKGMrPVwiOiBcIithLnRvU3RyaW5nKCkpKSx7bWVzc2FnZTpjLG5hbWU6YS5uYW1lfHxcIlVua25vd25FcnJvclwiLGxpbmVOdW1iZXI6ZCxmaWxlTmFtZTplLHN0YWNrOmJ8fFwiTm90IGF2YWlsYWJsZVwifSl9O1xuc3dhPWZ1bmN0aW9uKGEsYil7Ynx8KGI9e30pO2JbdndhKGEpXT0hMDt2YXIgYz1hLnN0YWNrfHxcIlwiOyhhPWEuY2F1c2UpJiYhYlt2d2EoYSldJiYoYys9XCJcXG5DYXVzZWQgYnk6IFwiLGEuc3RhY2smJmEuc3RhY2suaW5kZXhPZihhLnRvU3RyaW5nKCkpPT0wfHwoYys9dHlwZW9mIGE9PT1cInN0cmluZ1wiP2E6YS5tZXNzYWdlK1wiXFxuXCIpLGMrPXN3YShhLGIpKTtyZXR1cm4gY307dndhPWZ1bmN0aW9uKGEpe3ZhciBiPVwiXCI7dHlwZW9mIGEudG9TdHJpbmc9PT1cImZ1bmN0aW9uXCImJihiPVwiXCIrYSk7cmV0dXJuIGIrYS5zdGFja307XG53d2E9ZnVuY3Rpb24oYSl7dmFyIGI9d3dhO3ZhciBjPUVycm9yKCk7aWYoRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UpRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UoYyxiKSxiPVN0cmluZyhjLnN0YWNrKTtlbHNle3RyeXt0aHJvdyBjO31jYXRjaChlKXtjPWV9Yj0oYj1jLnN0YWNrKT9TdHJpbmcoYik6bnVsbH1pZihiKXJldHVybiBiO2I9W107Yz1hcmd1bWVudHMuY2FsbGVlLmNhbGxlcjtmb3IodmFyIGQ9MDtjJiYoIWF8fGQ8YSk7KXtiLnB1c2godHdhKGMpKTtiLnB1c2goXCIoKVxcblwiKTt0cnl7Yz1jLmNhbGxlcn1jYXRjaChlKXtiLnB1c2goXCJbZXhjZXB0aW9uIHRyeWluZyB0byBnZXQgY2FsbGVyXVxcblwiKTticmVha31kKys7aWYoZD49NTApe2IucHVzaChcIlsuLi5sb25nIHN0YWNrLi4uXVwiKTticmVha319YSYmZD49YT9iLnB1c2goXCJbLi4ucmVhY2hlZCBtYXggZGVwdGggbGltaXQuLi5dXCIpOmIucHVzaChcIltlbmRdXCIpO3JldHVybiBiLmpvaW4oXCJcIil9O1xudHdhPWZ1bmN0aW9uKGEpe2lmKHh3YVthXSlyZXR1cm4geHdhW2FdO2E9U3RyaW5nKGEpO2lmKCF4d2FbYV0pe3ZhciBiPS9mdW5jdGlvblxccysoW15cXChdKykvbS5leGVjKGEpO3h3YVthXT1iP2JbMV06XCJbQW5vbnltb3VzXVwifXJldHVybiB4d2FbYV19O18ueXdhPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluc3RhbmNlb2YgRnVuY3Rpb24/YS5kaXNwbGF5TmFtZXx8YS5uYW1lfHxcInVua25vd24gdHlwZSBuYW1lXCI6YSBpbnN0YW5jZW9mIE9iamVjdD9hLmNvbnN0cnVjdG9yLmRpc3BsYXlOYW1lfHxhLmNvbnN0cnVjdG9yLm5hbWV8fE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChhKTphPT09bnVsbD9cIm51bGxcIjp0eXBlb2YgYX07eHdhPXt9O3ZhciBBd2E7Xy56d2E9XCJvbnRvdWNoc3RhcnRcImluIF8uYmF8fCEhKF8uYmEuZG9jdW1lbnQmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmXCJvbnRvdWNoc3RhcnRcImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCl8fCEoIV8uYmEubmF2aWdhdG9yfHwhXy5iYS5uYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMmJiFfLmJhLm5hdmlnYXRvci5tc01heFRvdWNoUG9pbnRzKTtBd2E9ZnVuY3Rpb24oKXtpZighXy5iYS5hZGRFdmVudExpc3RlbmVyfHwhT2JqZWN0LmRlZmluZVByb3BlcnR5KXJldHVybiExO3ZhciBhPSExLGI9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LFwicGFzc2l2ZVwiLHtnZXQ6ZnVuY3Rpb24oKXthPSEwfX0pO3RyeXt2YXIgYz1mdW5jdGlvbigpe307Xy5iYS5hZGRFdmVudExpc3RlbmVyKFwidGVzdFwiLGMsYik7Xy5iYS5yZW1vdmVFdmVudExpc3RlbmVyKFwidGVzdFwiLGMsYil9Y2F0Y2goZCl7fXJldHVybiBhfSgpO3ZhciBCd2E9ZnVuY3Rpb24oYSl7cmV0dXJuIF8ud2g/XCJ3ZWJraXRcIithOmEudG9Mb3dlckNhc2UoKX07Xy5Dd2E9QndhKFwiQW5pbWF0aW9uRW5kXCIpO18uSGs9QndhKFwiVHJhbnNpdGlvbkVuZFwiKTtfLklrPWZ1bmN0aW9uKGEsYil7Xy5Gay5jYWxsKHRoaXMsYT9hLnR5cGU6XCJcIik7dGhpcy5yZWxhdGVkVGFyZ2V0PXRoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1udWxsO3RoaXMuYnV0dG9uPXRoaXMuc2NyZWVuWT10aGlzLnNjcmVlblg9dGhpcy5jbGllbnRZPXRoaXMuY2xpZW50WD10aGlzLm9mZnNldFk9dGhpcy5vZmZzZXRYPTA7dGhpcy5rZXk9XCJcIjt0aGlzLmNoYXJDb2RlPXRoaXMua2V5Q29kZT0wO3RoaXMubWV0YUtleT10aGlzLnNoaWZ0S2V5PXRoaXMuYWx0S2V5PXRoaXMuY3RybEtleT0hMTt0aGlzLnN0YXRlPW51bGw7dGhpcy52V2E9ITE7dGhpcy5wb2ludGVySWQ9MDt0aGlzLnBvaW50ZXJUeXBlPVwiXCI7dGhpcy50aW1lU3RhbXA9MDt0aGlzLllnPW51bGw7YSYmdGhpcy5pbml0KGEsYil9O18ubWgoXy5JayxfLkZrKTt2YXIgRHdhPXsyOlwidG91Y2hcIiwzOlwicGVuXCIsNDpcIm1vdXNlXCJ9O1xuXy5Jay5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMudHlwZT1hLnR5cGUsZD1hLmNoYW5nZWRUb3VjaGVzJiZhLmNoYW5nZWRUb3VjaGVzLmxlbmd0aD9hLmNoYW5nZWRUb3VjaGVzWzBdOm51bGw7dGhpcy50YXJnZXQ9YS50YXJnZXR8fGEuc3JjRWxlbWVudDt0aGlzLmN1cnJlbnRUYXJnZXQ9YjsoYj1hLnJlbGF0ZWRUYXJnZXQpP18udmgmJihjdWEoYixcIm5vZGVOYW1lXCIpfHwoYj1udWxsKSk6Yz09XCJtb3VzZW92ZXJcIj9iPWEuZnJvbUVsZW1lbnQ6Yz09XCJtb3VzZW91dFwiJiYoYj1hLnRvRWxlbWVudCk7dGhpcy5yZWxhdGVkVGFyZ2V0PWI7ZD8odGhpcy5jbGllbnRYPWQuY2xpZW50WCE9PXZvaWQgMD9kLmNsaWVudFg6ZC5wYWdlWCx0aGlzLmNsaWVudFk9ZC5jbGllbnRZIT09dm9pZCAwP2QuY2xpZW50WTpkLnBhZ2VZLHRoaXMuc2NyZWVuWD1kLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPWQuc2NyZWVuWXx8MCk6KHRoaXMub2Zmc2V0WD1fLndofHxhLm9mZnNldFghPT1cbnZvaWQgMD9hLm9mZnNldFg6YS5sYXllclgsdGhpcy5vZmZzZXRZPV8ud2h8fGEub2Zmc2V0WSE9PXZvaWQgMD9hLm9mZnNldFk6YS5sYXllclksdGhpcy5jbGllbnRYPWEuY2xpZW50WCE9PXZvaWQgMD9hLmNsaWVudFg6YS5wYWdlWCx0aGlzLmNsaWVudFk9YS5jbGllbnRZIT09dm9pZCAwP2EuY2xpZW50WTphLnBhZ2VZLHRoaXMuc2NyZWVuWD1hLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPWEuc2NyZWVuWXx8MCk7dGhpcy5idXR0b249YS5idXR0b247dGhpcy5rZXlDb2RlPWEua2V5Q29kZXx8MDt0aGlzLmtleT1hLmtleXx8XCJcIjt0aGlzLmNoYXJDb2RlPWEuY2hhckNvZGV8fChjPT1cImtleXByZXNzXCI/YS5rZXlDb2RlOjApO3RoaXMuY3RybEtleT1hLmN0cmxLZXk7dGhpcy5hbHRLZXk9YS5hbHRLZXk7dGhpcy5zaGlmdEtleT1hLnNoaWZ0S2V5O3RoaXMubWV0YUtleT1hLm1ldGFLZXk7dGhpcy52V2E9Xy54aD9hLm1ldGFLZXk6YS5jdHJsS2V5O3RoaXMucG9pbnRlcklkPWEucG9pbnRlcklkfHxcbjA7dGhpcy5wb2ludGVyVHlwZT10eXBlb2YgYS5wb2ludGVyVHlwZT09PVwic3RyaW5nXCI/YS5wb2ludGVyVHlwZTpEd2FbYS5wb2ludGVyVHlwZV18fFwiXCI7dGhpcy5zdGF0ZT1hLnN0YXRlO3RoaXMudGltZVN0YW1wPWEudGltZVN0YW1wO3RoaXMuWWc9YTthLmRlZmF1bHRQcmV2ZW50ZWQmJl8uSWsuT2QucHJldmVudERlZmF1bHQuY2FsbCh0aGlzKX07Xy5Fd2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuWWcuYnV0dG9uPT0wJiYhKF8ueGgmJmEuY3RybEtleSl9O18uSWsucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpe18uSWsuT2Quc3RvcFByb3BhZ2F0aW9uLmNhbGwodGhpcyk7dGhpcy5ZZy5zdG9wUHJvcGFnYXRpb24/dGhpcy5ZZy5zdG9wUHJvcGFnYXRpb24oKTp0aGlzLllnLmNhbmNlbEJ1YmJsZT0hMH07XG5fLklrLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe18uSWsuT2QucHJldmVudERlZmF1bHQuY2FsbCh0aGlzKTt2YXIgYT10aGlzLllnO2EucHJldmVudERlZmF1bHQ/YS5wcmV2ZW50RGVmYXVsdCgpOmEucmV0dXJuVmFsdWU9ITF9O18uSWsucHJvdG90eXBlLlVqYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLllnfTt2YXIgR3dhO18uRndhPVwiY2xvc3VyZV9saXN0ZW5hYmxlX1wiKyhNYXRoLnJhbmRvbSgpKjFFNnwwKTtHd2E9ZnVuY3Rpb24oYSl7cmV0dXJuISghYXx8IWFbXy5Gd2FdKX07dmFyIEh3YT0wO3ZhciBKd2E7Xy5Jd2E9ZnVuY3Rpb24oYSxiLGMsZCxlKXt0aGlzLmxpc3RlbmVyPWE7dGhpcy5wcm94eT1udWxsO3RoaXMuc3JjPWI7dGhpcy50eXBlPWM7dGhpcy5jYXB0dXJlPSEhZDt0aGlzLmhhbmRsZXI9ZTt0aGlzLmtleT0rK0h3YTt0aGlzLnJlbW92ZWQ9dGhpcy5PcWE9ITF9O0p3YT1mdW5jdGlvbihhKXthLnJlbW92ZWQ9ITA7YS5saXN0ZW5lcj1udWxsO2EucHJveHk9bnVsbDthLnNyYz1udWxsO2EuaGFuZGxlcj1udWxsfTt2YXIgaGhhPVwiY29uc3RydWN0b3IgaGFzT3duUHJvcGVydHkgaXNQcm90b3R5cGVPZiBwcm9wZXJ0eUlzRW51bWVyYWJsZSB0b0xvY2FsZVN0cmluZyB0b1N0cmluZyB2YWx1ZU9mXCIuc3BsaXQoXCIgXCIpO3ZhciBLd2E9ZnVuY3Rpb24oYSl7dGhpcy5zcmM9YTt0aGlzLlpkPXt9O3RoaXMub2E9MH07S3dhLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1hLnRvU3RyaW5nKCk7YT10aGlzLlpkW2ZdO2F8fChhPXRoaXMuWmRbZl09W10sdGhpcy5vYSsrKTt2YXIgZz1Md2EoYSxiLGQsZSk7Zz4tMT8oYj1hW2ddLGN8fChiLk9xYT0hMSkpOihiPW5ldyBfLkl3YShiLHRoaXMuc3JjLGYsISFkLGUpLGIuT3FhPWMsYS5wdXNoKGIpKTtyZXR1cm4gYn07S3dhLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oYSxiLGMsZCl7YT1hLnRvU3RyaW5nKCk7aWYoIShhIGluIHRoaXMuWmQpKXJldHVybiExO3ZhciBlPXRoaXMuWmRbYV07Yj1Md2EoZSxiLGMsZCk7cmV0dXJuIGI+LTE/KEp3YShlW2JdKSxfLnhhKGUsYiksZS5sZW5ndGg9PTAmJihkZWxldGUgdGhpcy5aZFthXSx0aGlzLm9hLS0pLCEwKTohMX07XG52YXIgTXdhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi50eXBlO2lmKCEoYyBpbiBhLlpkKSlyZXR1cm4hMTt2YXIgZD1fLnphKGEuWmRbY10sYik7ZCYmKEp3YShiKSxhLlpkW2NdLmxlbmd0aD09MCYmKGRlbGV0ZSBhLlpkW2NdLGEub2EtLSkpO3JldHVybiBkfTtLd2EucHJvdG90eXBlLnJlbW92ZUFsbD1mdW5jdGlvbihhKXthPWEmJmEudG9TdHJpbmcoKTt2YXIgYj0wLGM7Zm9yKGMgaW4gdGhpcy5aZClpZighYXx8Yz09YSl7Zm9yKHZhciBkPXRoaXMuWmRbY10sZT0wO2U8ZC5sZW5ndGg7ZSsrKSsrYixKd2EoZFtlXSk7ZGVsZXRlIHRoaXMuWmRbY107dGhpcy5vYS0tfXJldHVybiBifTtLd2EucHJvdG90eXBlLk80PWZ1bmN0aW9uKGEsYil7YT10aGlzLlpkW2EudG9TdHJpbmcoKV07dmFyIGM9W107aWYoYSlmb3IodmFyIGQ9MDtkPGEubGVuZ3RoOysrZCl7dmFyIGU9YVtkXTtlLmNhcHR1cmU9PWImJmMucHVzaChlKX1yZXR1cm4gY307XG5Ld2EucHJvdG90eXBlLllEYT1mdW5jdGlvbihhLGIsYyxkKXthPXRoaXMuWmRbYS50b1N0cmluZygpXTt2YXIgZT0tMTthJiYoZT1Md2EoYSxiLGMsZCkpO3JldHVybiBlPi0xP2FbZV06bnVsbH07S3dhLnByb3RvdHlwZS5oYXNMaXN0ZW5lcj1mdW5jdGlvbihhLGIpe3ZhciBjPWEhPT12b2lkIDAsZD1jP2EudG9TdHJpbmcoKTpcIlwiLGU9YiE9PXZvaWQgMDtyZXR1cm4gXy5ZZ2EodGhpcy5aZCxmdW5jdGlvbihmKXtmb3IodmFyIGc9MDtnPGYubGVuZ3RoOysrZylpZighKGMmJmZbZ10udHlwZSE9ZHx8ZSYmZltnXS5jYXB0dXJlIT1iKSlyZXR1cm4hMDtyZXR1cm4hMX0pfTt2YXIgTHdhPWZ1bmN0aW9uKGEsYixjLGQpe2Zvcih2YXIgZT0wO2U8YS5sZW5ndGg7KytlKXt2YXIgZj1hW2VdO2lmKCFmLnJlbW92ZWQmJmYubGlzdGVuZXI9PWImJmYuY2FwdHVyZT09ISFjJiZmLmhhbmRsZXI9PWQpcmV0dXJuIGV9cmV0dXJuLTF9O3ZhciBOd2EsT3dhLFB3YSxSd2EsVHdhLFV3YSxZd2EsVndhLFN3YSxad2E7TndhPVwiY2xvc3VyZV9sbV9cIisoTWF0aC5yYW5kb20oKSoxRTZ8MCk7T3dhPXt9O1B3YT0wO18uWGQ9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihkJiZkLm9uY2UpcmV0dXJuIF8uSmsoYSxiLGMsZCxlKTtpZihBcnJheS5pc0FycmF5KGIpKXtmb3IodmFyIGY9MDtmPGIubGVuZ3RoO2YrKylfLlhkKGEsYltmXSxjLGQsZSk7cmV0dXJuIG51bGx9Yz1fLlF3YShjKTtyZXR1cm4gR3dhKGEpP2EubGlzdGVuKGIsYyxfLkRhKGQpPyEhZC5jYXB0dXJlOiEhZCxlKTpSd2EoYSxiLGMsITEsZCxlKX07XG5Sd2E9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2lmKCFiKXRocm93IEVycm9yKFwicGFcIik7dmFyIGc9Xy5EYShlKT8hIWUuY2FwdHVyZTohIWUsaD1Td2EoYSk7aHx8KGFbTndhXT1oPW5ldyBLd2EoYSkpO2M9aC5hZGQoYixjLGQsZyxmKTtpZihjLnByb3h5KXJldHVybiBjO2Q9VHdhKCk7Yy5wcm94eT1kO2Quc3JjPWE7ZC5saXN0ZW5lcj1jO2lmKGEuYWRkRXZlbnRMaXN0ZW5lcilBd2F8fChlPWcpLGU9PT12b2lkIDAmJihlPSExKSxhLmFkZEV2ZW50TGlzdGVuZXIoYi50b1N0cmluZygpLGQsZSk7ZWxzZSBpZihhLmF0dGFjaEV2ZW50KWEuYXR0YWNoRXZlbnQoVXdhKGIudG9TdHJpbmcoKSksZCk7ZWxzZSBpZihhLmFkZExpc3RlbmVyJiZhLnJlbW92ZUxpc3RlbmVyKWEuYWRkTGlzdGVuZXIoZCk7ZWxzZSB0aHJvdyBFcnJvcihcInFhXCIpO1B3YSsrO3JldHVybiBjfTtcblR3YT1mdW5jdGlvbigpe3ZhciBhPVZ3YSxiPWZ1bmN0aW9uKGMpe3JldHVybiBhLmNhbGwoYi5zcmMsYi5saXN0ZW5lcixjKX07cmV0dXJuIGJ9O18uSms9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihBcnJheS5pc0FycmF5KGIpKXtmb3IodmFyIGY9MDtmPGIubGVuZ3RoO2YrKylfLkprKGEsYltmXSxjLGQsZSk7cmV0dXJuIG51bGx9Yz1fLlF3YShjKTtyZXR1cm4gR3dhKGEpP2EubGlzdGVuT25jZShiLGMsXy5EYShkKT8hIWQuY2FwdHVyZTohIWQsZSk6UndhKGEsYixjLCEwLGQsZSl9O1xuXy5Laz1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKEFycmF5LmlzQXJyYXkoYikpe2Zvcih2YXIgZj0wO2Y8Yi5sZW5ndGg7ZisrKV8uS2soYSxiW2ZdLGMsZCxlKTtyZXR1cm4gbnVsbH1kPV8uRGEoZCk/ISFkLmNhcHR1cmU6ISFkO2M9Xy5Rd2EoYyk7aWYoR3dhKGEpKXJldHVybiBhLnVubGlzdGVuKGIsYyxkLGUpO2lmKCFhKXJldHVybiExO2lmKGE9U3dhKGEpKWlmKGI9YS5ZRGEoYixjLGQsZSkpcmV0dXJuIF8uTGsoYik7cmV0dXJuITF9O1xuXy5Maz1mdW5jdGlvbihhKXtpZih0eXBlb2YgYT09PVwibnVtYmVyXCJ8fCFhfHxhLnJlbW92ZWQpcmV0dXJuITE7dmFyIGI9YS5zcmM7aWYoR3dhKGIpKXJldHVybiBiLktvKGEpO3ZhciBjPWEudHlwZSxkPWEucHJveHk7Yi5yZW1vdmVFdmVudExpc3RlbmVyP2IucmVtb3ZlRXZlbnRMaXN0ZW5lcihjLGQsYS5jYXB0dXJlKTpiLmRldGFjaEV2ZW50P2IuZGV0YWNoRXZlbnQoVXdhKGMpLGQpOmIuYWRkTGlzdGVuZXImJmIucmVtb3ZlTGlzdGVuZXImJmIucmVtb3ZlTGlzdGVuZXIoZCk7UHdhLS07KGM9U3dhKGIpKT8oTXdhKGMsYSksYy5vYT09MCYmKGMuc3JjPW51bGwsYltOd2FdPW51bGwpKTpKd2EoYSk7cmV0dXJuITB9O1xuXy5Xd2E9ZnVuY3Rpb24oYSxiKXtpZihhKWlmKEd3YShhKSlhLnJlbW92ZUFsbExpc3RlbmVycyhiKTtlbHNlIGlmKGE9U3dhKGEpKXt2YXIgYz0wO2I9YiYmYi50b1N0cmluZygpO2Zvcih2YXIgZCBpbiBhLlpkKWlmKCFifHxkPT1iKWZvcih2YXIgZT1hLlpkW2RdLmNvbmNhdCgpLGY9MDtmPGUubGVuZ3RoOysrZilfLkxrKGVbZl0pJiYrK2N9fTtfLlh3YT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIEd3YShhKT9hLk80KGIsYyk6YT8oYT1Td2EoYSkpP2EuTzQoYixjKTpbXTpbXX07VXdhPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluIE93YT9Pd2FbYV06T3dhW2FdPVwib25cIithfTtcbl8uTWs9ZnVuY3Rpb24oYSxiLGMpe2lmKEd3YShhKSljPWEuc0RhKGIsITEsYyk7ZWxzZXt2YXIgZD0hMDtpZihhPVN3YShhKSlpZihiPWEuWmRbYi50b1N0cmluZygpXSlmb3IoYj1iLmNvbmNhdCgpLGE9MDthPGIubGVuZ3RoO2ErKyl7dmFyIGU9YlthXTtlJiZlLmNhcHR1cmU9PTAmJiFlLnJlbW92ZWQmJihlPVl3YShlLGMpLGQ9ZCYmZSE9PSExKX1jPWR9cmV0dXJuIGN9O1l3YT1mdW5jdGlvbihhLGIpe3ZhciBjPWEubGlzdGVuZXIsZD1hLmhhbmRsZXJ8fGEuc3JjO2EuT3FhJiZfLkxrKGEpO3JldHVybiBjLmNhbGwoZCxiKX07VndhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEucmVtb3ZlZD8hMDpZd2EoYSxuZXcgXy5JayhiLHRoaXMpKX07U3dhPWZ1bmN0aW9uKGEpe2E9YVtOd2FdO3JldHVybiBhIGluc3RhbmNlb2YgS3dhP2E6bnVsbH07WndhPVwiX19jbG9zdXJlX2V2ZW50c19mbl9cIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTtcbl8uUXdhPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhPT09XCJmdW5jdGlvblwiKXJldHVybiBhO2FbWndhXXx8KGFbWndhXT1mdW5jdGlvbihiKXtyZXR1cm4gYS5oYW5kbGVFdmVudChiKX0pO3JldHVybiBhW1p3YV19O18uTms9ZnVuY3Rpb24oKXtfLkNrLmNhbGwodGhpcyk7dGhpcy5XOD1uZXcgS3dhKHRoaXMpO3RoaXMuZFljPXRoaXM7dGhpcy55RGI9bnVsbH07Xy5taChfLk5rLF8uQ2spO18uTmsucHJvdG90eXBlW18uRndhXT0hMDtfLm09Xy5Oay5wcm90b3R5cGU7Xy5tLm50YT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnlEYn07Xy5tLkZZYT1mdW5jdGlvbihhKXt0aGlzLnlEYj1hfTtfLm0uYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihhLGIsYyxkKXtfLlhkKHRoaXMsYSxiLGMsZCl9O18ubS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGEsYixjLGQpe18uS2sodGhpcyxhLGIsYyxkKX07XG5fLm0uZGlzcGF0Y2hFdmVudD1mdW5jdGlvbihhKXt2YXIgYixjPXRoaXMubnRhKCk7aWYoYylmb3IoYj1bXTtjO2M9Yy5udGEoKSliLnB1c2goYyk7Yz10aGlzLmRZYzt2YXIgZD1hLnR5cGV8fGE7aWYodHlwZW9mIGE9PT1cInN0cmluZ1wiKWE9bmV3IF8uRmsoYSxjKTtlbHNlIGlmKGEgaW5zdGFuY2VvZiBfLkZrKWEudGFyZ2V0PWEudGFyZ2V0fHxjO2Vsc2V7dmFyIGU9YTthPW5ldyBfLkZrKGQsYyk7Xy5paGEoYSxlKX1lPSEwO2lmKGIpZm9yKHZhciBmPWIubGVuZ3RoLTE7IWEuVFdhJiZmPj0wO2YtLSl7dmFyIGc9YS5jdXJyZW50VGFyZ2V0PWJbZl07ZT1nLnNEYShkLCEwLGEpJiZlfWEuVFdhfHwoZz1hLmN1cnJlbnRUYXJnZXQ9YyxlPWcuc0RhKGQsITAsYSkmJmUsYS5UV2F8fChlPWcuc0RhKGQsITEsYSkmJmUpKTtpZihiKWZvcihmPTA7IWEuVFdhJiZmPGIubGVuZ3RoO2YrKylnPWEuY3VycmVudFRhcmdldD1iW2ZdLGU9Zy5zRGEoZCwhMSxhKSYmZTtyZXR1cm4gZX07XG5fLm0uUWM9ZnVuY3Rpb24oKXtfLk5rLk9kLlFjLmNhbGwodGhpcyk7dGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoKTt0aGlzLnlEYj1udWxsfTtfLm0ubGlzdGVuPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLlc4LmFkZChTdHJpbmcoYSksYiwhMSxjLGQpfTtfLm0ubGlzdGVuT25jZT1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5XOC5hZGQoU3RyaW5nKGEpLGIsITAsYyxkKX07Xy5tLnVubGlzdGVuPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLlc4LnJlbW92ZShTdHJpbmcoYSksYixjLGQpfTtfLm0uS289ZnVuY3Rpb24oYSl7cmV0dXJuIE13YSh0aGlzLlc4LGEpfTtfLm0ucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLlc4P3RoaXMuVzgucmVtb3ZlQWxsKGEpOjB9O1xuXy5tLnNEYT1mdW5jdGlvbihhLGIsYyl7YT10aGlzLlc4LlpkW1N0cmluZyhhKV07aWYoIWEpcmV0dXJuITA7YT1hLmNvbmNhdCgpO2Zvcih2YXIgZD0hMCxlPTA7ZTxhLmxlbmd0aDsrK2Upe3ZhciBmPWFbZV07aWYoZiYmIWYucmVtb3ZlZCYmZi5jYXB0dXJlPT1iKXt2YXIgZz1mLmxpc3RlbmVyLGg9Zi5oYW5kbGVyfHxmLnNyYztmLk9xYSYmdGhpcy5LbyhmKTtkPWcuY2FsbChoLGMpIT09ITEmJmR9fXJldHVybiBkJiYhYy5kZWZhdWx0UHJldmVudGVkfTtfLm0uTzQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5XOC5PNChTdHJpbmcoYSksYil9O18ubS5ZRGE9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIHRoaXMuVzguWURhKFN0cmluZyhhKSxiLGMsZCl9O18ubS5oYXNMaXN0ZW5lcj1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLlc4Lmhhc0xpc3RlbmVyKGEhPT12b2lkIDA/U3RyaW5nKGEpOnZvaWQgMCxiKX07dmFyICR3YT1mdW5jdGlvbihhLGIpe3RoaXMuQmE9YTt0aGlzLkNhPWI7dGhpcy5BYT0wO3RoaXMub2E9bnVsbH07JHdhLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oKXtpZih0aGlzLkFhPjApe3RoaXMuQWEtLTt2YXIgYT10aGlzLm9hO3RoaXMub2E9YS5uZXh0O2EubmV4dD1udWxsfWVsc2UgYT10aGlzLkJhKCk7cmV0dXJuIGF9OyR3YS5wcm90b3R5cGUucHV0PWZ1bmN0aW9uKGEpe3RoaXMuQ2EoYSk7dGhpcy5BYTwxMDAmJih0aGlzLkFhKyssYS5uZXh0PXRoaXMub2EsdGhpcy5vYT1hKX07Xy5heGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5EYShhKSYmXy5EYShhKSYmXy5EYShhKSYmYS5ub2RlVHlwZT09PTEmJighYS5uYW1lc3BhY2VVUkl8fGEubmFtZXNwYWNlVVJJPT09XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sXCIpJiZhLnRhZ05hbWUudG9VcHBlckNhc2UoKT09PWIudG9TdHJpbmcoKX07dHJ5eyhuZXcgc2VsZi5PZmZzY3JlZW5DYW52YXMoMCwwKSkuZ2V0Q29udGV4dChcIjJkXCIpfWNhdGNoKGEpe307dmFyIGV4YSx2b2E7Xy5ob2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGF9fTtfLmJ4YT1mdW5jdGlvbigpe3JldHVybiBudWxsfTtfLmN4YT1mdW5jdGlvbigpe307Xy5keGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O2V4YT1mdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oKXt0aHJvdyBhO319O3ZvYT1mdW5jdGlvbihhKXt2YXIgYj1hcmd1bWVudHMsYz1iLmxlbmd0aDtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIGQsZT0wO2U8YztlKyspZD1iW2VdLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4gZH19O18uT2s9ZnVuY3Rpb24oYSl7dmFyIGI9ITEsYztyZXR1cm4gZnVuY3Rpb24oKXtifHwoYz1hKCksYj0hMCk7cmV0dXJuIGN9fTtfLmZ4YT1mdW5jdGlvbihhKXt2YXIgYj1hO3JldHVybiBmdW5jdGlvbigpe2lmKGIpe3ZhciBjPWI7Yj1udWxsO2MoKX19fTtcbl8uUGs9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPTA7cmV0dXJuIGZ1bmN0aW9uKGUpe18uYmEuY2xlYXJUaW1lb3V0KGQpO3ZhciBmPWFyZ3VtZW50cztkPV8uYmEuc2V0VGltZW91dChmdW5jdGlvbigpe2EuYXBwbHkoYyxmKX0sYil9fTtfLmd4YT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9MCxlPSExLGY9W10sZz1mdW5jdGlvbigpe2Q9MDtlJiYoZT0hMSxoKCkpfSxoPWZ1bmN0aW9uKCl7ZD1fLmJhLnNldFRpbWVvdXQoZyxiKTt2YXIgaz1mO2Y9W107YS5hcHBseShjLGspfTtyZXR1cm4gZnVuY3Rpb24oayl7Zj1hcmd1bWVudHM7ZD9lPSEwOmgoKX19O3ZhciBoeGE9e2FyZWE6ITAsYmFzZTohMCxicjohMCxjb2w6ITAsY29tbWFuZDohMCxlbWJlZDohMCxocjohMCxpbWc6ITAsaW5wdXQ6ITAsa2V5Z2VuOiEwLGxpbms6ITAsbWV0YTohMCxwYXJhbTohMCxzb3VyY2U6ITAsdHJhY2s6ITAsd2JyOiEwfTt2YXIgd2hhPWZ1bmN0aW9uKGEsYil7dGhpcy5vYT1hPT09aXhhJiZifHxcIlwiO3RoaXMuQWE9anhhfSxqeGEsaXhhO3doYS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vYX07Xy54aGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiB3aGEmJmEuY29uc3RydWN0b3I9PT13aGEmJmEuQWE9PT1qeGE/YS5vYTpcInR5cGVfZXJyb3I6Q29uc3RcIn07Xy5Uaz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IHdoYShpeGEsYSl9O2p4YT17fTtpeGE9e307dmFyIGt4YSxJaGE9ZnVuY3Rpb24oKXtpZihreGE9PT12b2lkIDApe3ZhciBhPW51bGwsYj1fLmJhLnRydXN0ZWRUeXBlcztpZihiJiZiLmNyZWF0ZVBvbGljeSl7dHJ5e2E9Yi5jcmVhdGVQb2xpY3koXCJnb29nI2h0bWxcIix7Y3JlYXRlSFRNTDpCdGEsY3JlYXRlU2NyaXB0OkJ0YSxjcmVhdGVTY3JpcHRVUkw6QnRhfSl9Y2F0Y2goYyl7Xy5iYS5jb25zb2xlJiZfLmJhLmNvbnNvbGUuZXJyb3IoYy5tZXNzYWdlKX1reGE9YX1lbHNlIGt4YT1hfXJldHVybiBreGF9O3ZhciBweGEsb3hhLGx4YSxzeGEsbXhhO18uRmM9ZnVuY3Rpb24oYSl7dGhpcy5raGM9YX07Xy5GYy5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5raGMrXCJcIn07Xy5ueGE9ZnVuY3Rpb24oYSxiLGMpe2E9bHhhLmV4ZWMoXy54YyhhKS50b1N0cmluZygpKTt2YXIgZD1hWzNdfHxcIlwiO3JldHVybiBfLnZjKGFbMV0rbXhhKFwiP1wiLGFbMl18fFwiXCIsYikrbXhhKFwiI1wiLGQsYykpfTtfLnhjPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluc3RhbmNlb2YgXy5GYyYmYS5jb25zdHJ1Y3Rvcj09PV8uRmM/YS5raGM6XCJ0eXBlX2Vycm9yOlRydXN0ZWRSZXNvdXJjZVVybFwifTtcbl8ucXhhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy54aGEoYSk7aWYoIW94YS50ZXN0KGMpKXRocm93IEVycm9yKFwicmFgXCIrYyk7YT1jLnJlcGxhY2UocHhhLGZ1bmN0aW9uKGQsZSl7aWYoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChiLGUpKXRocm93IEVycm9yKFwic2FgXCIrZStcImBcIitjK1wiYFwiK0pTT04uc3RyaW5naWZ5KGIpKTtkPWJbZV07cmV0dXJuIGQgaW5zdGFuY2VvZiB3aGE/Xy54aGEoZCk6ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhkKSl9KTtyZXR1cm4gXy52YyhhKX07cHhhPS8leyhcXHcrKX0vZztveGE9UmVnRXhwKFwiXigoaHR0cHM6KT8vL1swLTlhLXouOltcXFxcXS1dKy98L1teL1xcXFxcXFxcXXxbXjovXFxcXFxcXFwlXSsvfFteOi9cXFxcXFxcXCVdKls/I118YWJvdXQ6YmxhbmsjKVwiLFwiaVwiKTtseGE9L14oW14/I10qKShcXD9bXiNdKik/KCNbXFxzXFxTXSopPy87Xy5yeGE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLm54YShfLnF4YShhLHt9KSxiLGMpfTtzeGE9e307XG5fLnZjPWZ1bmN0aW9uKGEpe3ZhciBiPUloYSgpO2E9Yj9iLmNyZWF0ZVNjcmlwdFVSTChhKTphO3JldHVybiBuZXcgXy5GYyhhLHN4YSl9O214YT1mdW5jdGlvbihhLGIsYyl7aWYoYz09bnVsbClyZXR1cm4gYjtpZih0eXBlb2YgYz09PVwic3RyaW5nXCIpcmV0dXJuIGM/YStlbmNvZGVVUklDb21wb25lbnQoYyk6XCJcIjtmb3IodmFyIGQgaW4gYylpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYyxkKSl7dmFyIGU9Y1tkXTtlPUFycmF5LmlzQXJyYXkoZSk/ZTpbZV07Zm9yKHZhciBmPTA7ZjxlLmxlbmd0aDtmKyspe3ZhciBnPWVbZl07ZyE9bnVsbCYmKGJ8fChiPWEpLGIrPShiLmxlbmd0aD5hLmxlbmd0aD9cIiZcIjpcIlwiKStlbmNvZGVVUklDb21wb25lbnQoZCkrXCI9XCIrZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhnKSkpfX1yZXR1cm4gYn07dmFyIHR4YT1fLlFnKFtcIlwiXSksdXhhPVNzYShbXCJcXHgwMFwiXSxbXCJcXFxcMFwiXSksdnhhPVNzYShbXCJcXG5cIl0sW1wiXFxcXG5cIl0pLHd4YT1Tc2EoW1wiXFx4MDBcIl0sW1wiXFxcXHUwMDAwXCJdKTttaGEoZnVuY3Rpb24oYSl7cmV0dXJuIGEodHhhKX0pfHxtaGEoZnVuY3Rpb24oYSl7cmV0dXJuIGEodXhhKX0pfHxtaGEoZnVuY3Rpb24oYSl7cmV0dXJuIGEodnhhKX0pfHxtaGEoZnVuY3Rpb24oYSl7cmV0dXJuIGEod3hhKX0pO18uZ2M9ZnVuY3Rpb24oYSl7dGhpcy5vYT1hfTtfLmdjLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9hfTtfLnFoYT1fLmhjKFwiYWJvdXQ6aW52YWxpZCN6Q2xvc3VyZXpcIik7dmFyIG5oYSxwaGEscmhhLEh4YSx0aGE7bmhhPWZ1bmN0aW9uKGEpe3RoaXMuRWo9YX07Xy54eGE9bmV3IG5oYShmdW5jdGlvbihhKXtyZXR1cm4vXlteOl0qKFsvPyNdfCQpLy50ZXN0KGEpfSk7Xy55eGE9b2hhKFwidGVsXCIpO18uenhhPW9oYShcImRhdGFcIik7Xy5BeGE9b2hhKFwiaHR0cFwiKTtfLkJ4YT1vaGEoXCJodHRwc1wiKTtfLkN4YT1vaGEoXCJmdHBcIik7Xy5EeGE9b2hhKFwibWFpbHRvXCIpO18uRXhhPW9oYShcImludGVudFwiKTtfLkZ4YT1vaGEoXCJmYi1tZXNzZW5nZXJcIik7Xy5HeGE9b2hhKFwic21zXCIpO3BoYT1bXy56eGEsXy5BeGEsXy5CeGEsXy5EeGEsXy5DeGEsXy54eGFdO3JoYT1saGEoZnVuY3Rpb24oKXtyZXR1cm4gdHlwZW9mIFVSTD09PVwiZnVuY3Rpb25cIn0pO0h4YT1bXCJkYXRhOlwiLFwiaHR0cDpcIixcImh0dHBzOlwiLFwibWFpbHRvOlwiLFwiZnRwOlwiXTt0aGE9L15cXHMqKD8hamF2YXNjcmlwdDopKD86W1xcdysuLV0rOnxbXjovPyNdKig/OlsvPyNdfCQpKS9pO3ZhciBBaGEsemhhLHloYSxCaGE7Xy5JeGE9e307Xy5KeGE9ZnVuY3Rpb24oYSl7dGhpcy5vYT1hfTtfLkp4YS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vYS50b1N0cmluZygpfTtfLkt4YT1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uSnhhJiZhLmNvbnN0cnVjdG9yPT09Xy5KeGE/YS5vYTpcInR5cGVfZXJyb3I6U2FmZVN0eWxlXCJ9O18uTXhhPWZ1bmN0aW9uKGEpe3ZhciBiPVwiXCIsYztmb3IoYyBpbiBhKWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLGMpKXtpZighL15bLV9hLXpBLVowLTldKyQvLnRlc3QoYykpdGhyb3cgRXJyb3IoXCJ1YWBcIitjKTt2YXIgZD1hW2NdO2QhPW51bGwmJihkPUFycmF5LmlzQXJyYXkoZCk/ZC5tYXAoRWhhKS5qb2luKFwiIFwiKTpFaGEoZCksYis9YytcIjpcIitkK1wiO1wiKX1yZXR1cm4gYj9uZXcgXy5KeGEoYixfLkl4YSk6Xy5MeGF9O18uTHhhPW5ldyBfLkp4YShcIlwiLF8uSXhhKTtcbkFoYT1SZWdFeHAoXCJeWy0rLC5cXFwiJyVfISMvIGEtekEtWjAtOVxcXFxbXFxcXF1dKyRcIik7emhhPVJlZ0V4cChcIlxcXFxiKHVybFxcXFwoWyBcXHRcXG5dKikoJ1sgLSYoLVxcXFxbXFxcXF0tfl0qJ3xcXFwiWyAhIy1cXFxcW1xcXFxdLX5dKlxcXCJ8WyEjLSYqLVxcXFxbXFxcXF0tfl0qKShbIFxcdFxcbl0qXFxcXCkpXCIsXCJnXCIpO3loYT1SZWdFeHAoXCJcXFxcYihjYWxjfGN1YmljLWJlemllcnxmaXQtY29udGVudHxoc2x8aHNsYXxsaW5lYXItZ3JhZGllbnR8bWF0cml4fG1pbm1heHxyYWRpYWwtZ3JhZGllbnR8cmVwZWF0fHJnYnxyZ2JhfChyb3RhdGV8c2NhbGV8dHJhbnNsYXRlKShYfFl8WnwzZCk/fHN0ZXBzfHZhcilcXFxcKFstKyovMC05YS16QS1aLiUjXFxcXFtcXFxcXSwgXStcXFxcKVwiLFwiZ1wiKTtCaGE9L1xcL1xcKi87dmFyIE54YT17fSxPeGE9ZnVuY3Rpb24oYSl7dGhpcy5vYT1hfTtPeGEucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub2EudG9TdHJpbmcoKX07Xy5HaGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBPeGEmJmEuY29uc3RydWN0b3I9PT1PeGE/YS5vYTpcInR5cGVfZXJyb3I6U2FmZVN0eWxlU2hlZXRcIn07Xy5ZbWE9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBPeGEoYSxOeGEpfTtfLlB4YT1fLlltYShcIlwiKTt2YXIgUXhhLFJ4YSxTeGEsVXhhO1F4YT17fTtfLnJjPWZ1bmN0aW9uKGEpe3RoaXMuamhjPWF9O18ucmMucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuamhjLnRvU3RyaW5nKCl9O18udGM9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLnJjJiZhLmNvbnN0cnVjdG9yPT09Xy5yYz9hLmpoYzpcInR5cGVfZXJyb3I6U2FmZUh0bWxcIn07Xy5pcWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLnJjP2E6Xy53KFF0YShTdHJpbmcoYSkpKX07UnhhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uaXFhKF8uVWspLGM9W10sZD1mdW5jdGlvbihlKXtBcnJheS5pc0FycmF5KGUpP2UuZm9yRWFjaChkKTooZT1fLmlxYShlKSxjLnB1c2goXy50YyhlKS50b1N0cmluZygpKSl9O2EuZm9yRWFjaChkKTtyZXR1cm4gXy53KGMuam9pbihfLnRjKGIpLnRvU3RyaW5nKCkpKX07U3hhPWZ1bmN0aW9uKGEpe3JldHVybiBSeGEoQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKSl9O1xuXy53PWZ1bmN0aW9uKGEpe3ZhciBiPUloYSgpO2E9Yj9iLmNyZWF0ZUhUTUwoYSk6YTtyZXR1cm4gbmV3IF8ucmMoYSxReGEpfTtcbl8uVnhhPWZ1bmN0aW9uKGEsYil7dmFyIGM9dm9pZCAwLGQ9XCJcIjtpZihiKWZvcih2YXIgZSBpbiBiKWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChiLGUpKXtpZighXy5UeGEudGVzdChlKSl0aHJvdyBFcnJvcihcInRhXCIpO3ZhciBmPWJbZV07aWYoZiE9bnVsbCl7dmFyIGc9ZTtpZihmIGluc3RhbmNlb2Ygd2hhKWY9Xy54aGEoZik7ZWxzZSBpZihnLnRvTG93ZXJDYXNlKCk9PVwic3R5bGVcIil7aWYoIV8uRGEoZikpdGhyb3cgRXJyb3IoXCJ0YVwiKTtmIGluc3RhbmNlb2YgXy5KeGF8fChmPV8uTXhhKGYpKTtmPV8uS3hhKGYpfWVsc2V7aWYoL15vbi9pLnRlc3QoZykpdGhyb3cgRXJyb3IoXCJ0YVwiKTtpZihnLnRvTG93ZXJDYXNlKClpbiBVeGEpaWYoZiBpbnN0YW5jZW9mIF8uRmMpZj1fLnhjKGYpLnRvU3RyaW5nKCk7ZWxzZSBpZihmIGluc3RhbmNlb2YgXy5nYylmPV8uaWMoZik7ZWxzZSBpZih0eXBlb2YgZj09PVwic3RyaW5nXCIpZj1fLmtjKGYpLnRvU3RyaW5nKCk7XG5lbHNlIHRocm93IEVycm9yKFwidGFcIik7fWc9ZysnPVwiJytRdGEoU3RyaW5nKGYpKSsnXCInO2QrPVwiIFwiK2d9fWI9XCI8XCIrYStkO2M9PW51bGw/Yz1bXTpBcnJheS5pc0FycmF5KGMpfHwoYz1bY10pO2h4YVthLnRvTG93ZXJDYXNlKCldPT09ITA/Yis9XCI+XCI6KGM9U3hhKGMpLGIrPVwiPlwiK18udGMoYykudG9TdHJpbmcoKStcIjwvXCIrYStcIj5cIik7cmV0dXJuIF8udyhiKX07Xy5UeGE9L15bYS16QS1aMC05LV0rJC87VXhhPXthY3Rpb246ITAsY2l0ZTohMCxkYXRhOiEwLGZvcm1hY3Rpb246ITAsaHJlZjohMCxtYW5pZmVzdDohMCxwb3N0ZXI6ITAsc3JjOiEwfTtfLlVrPW5ldyBfLnJjKF8uYmEudHJ1c3RlZFR5cGVzJiZfLmJhLnRydXN0ZWRUeXBlcy5lbXB0eUhUTUx8fFwiXCIsUXhhKTt2YXIgRmhhPWZ1bmN0aW9uKGEpe3RoaXMub2E9YX07RmhhLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9hfTtfLkpoYT1mdW5jdGlvbihhKXt0aGlzLm9hPWF9O18uSmhhLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9hLnRvU3RyaW5nKCl9O3ZhciBOaGE9L15bYS16XVthLXpcXGQtXSokL2ksT2hhPVwiQVBQTEVUIEJBU0UgRU1CRUQgSUZSQU1FIExJTksgTUFUSCBNRVRBIE9CSkVDVCBTQ1JJUFQgU1RZTEUgU1ZHIFRFTVBMQVRFXCIuc3BsaXQoXCIgXCIpLFJoYT1cIkFSRUEgQlIgQ09MIENPTU1BTkQgSFIgSU1HIElOUFVUIEtFWUdFTiBQQVJBTSBTT1VSQ0UgVFJBQ0sgV0JSXCIuc3BsaXQoXCIgXCIpLFRoYT1bXCJhY3Rpb25cIixcImZvcm1hY3Rpb25cIixcImhyZWZcIl07dmFyIFh4YTtfLld4YT1mdW5jdGlvbihhLGIsYyxkKXt0aGlzLkFhPWE7dGhpcy5vYT1iO3RoaXMuQmE9Yzt0aGlzLkNhPWQ7dGhpcy5HYT12b2lkIDB9O1h4YT1mdW5jdGlvbihhLGIsYyl7Yz1hLm9hLmdldChjKTtyZXR1cm4oYz09bnVsbD8wOmMuaGFzKGIpKT9jLmdldChiKTphLkJhLmhhcyhiKT97VUk6MX06KGM9YS5DYS5nZXQoYikpP2M6YS5HYSYmW10uY29uY2F0KF8ubWQoYS5HYSkpLnNvbWUoZnVuY3Rpb24oZCl7cmV0dXJuIGIuaW5kZXhPZihkKT09PTB9KT97VUk6MX06e1VJOjB9fTt2YXIgWXhhPVwiQVJUSUNMRSBTRUNUSU9OIE5BViBBU0lERSBIMSBIMiBIMyBINCBINSBINiBIRUFERVIgRk9PVEVSIEFERFJFU1MgUCBIUiBQUkUgQkxPQ0tRVU9URSBPTCBVTCBMSCBMSSBETCBEVCBERCBGSUdVUkUgRklHQ0FQVElPTiBNQUlOIERJViBFTSBTVFJPTkcgU01BTEwgUyBDSVRFIFEgREZOIEFCQlIgUlVCWSBSQiBSVCBSVEMgUlAgREFUQSBUSU1FIENPREUgVkFSIFNBTVAgS0JEIFNVQiBTVVAgSSBCIFUgTUFSSyBCREkgQkRPIFNQQU4gQlIgV0JSIE5PQlIgSU5TIERFTCBQSUNUVVJFIFBBUkFNIFRSQUNLIE1BUCBUQUJMRSBDQVBUSU9OIENPTEdST1VQIENPTCBUQk9EWSBUSEVBRCBURk9PVCBUUiBURCBUSCBTRUxFQ1QgREFUQUxJU1QgT1BUR1JPVVAgT1BUSU9OIE9VVFBVVCBQUk9HUkVTUyBNRVRFUiBGSUVMRFNFVCBMRUdFTkQgREVUQUlMUyBTVU1NQVJZIE1FTlUgRElBTE9HIFNMT1QgQ0FOVkFTIEZPTlQgQ0VOVEVSIEFDUk9OWU0gQkFTRUZPTlQgQklHIERJUiBIR1JPVVAgU1RSSUtFIFRUXCIuc3BsaXQoXCIgXCIpLFxuWnhhPVtbXCJBXCIsbmV3IE1hcChbW1wiaHJlZlwiLHtVSToyfV1dKV0sW1wiQVJFQVwiLG5ldyBNYXAoW1tcImhyZWZcIix7VUk6Mn1dXSldLFtcIkxJTktcIixuZXcgTWFwKFtbXCJocmVmXCIse1VJOjUsY29uZGl0aW9uczpuZXcgTWFwKFtbXCJyZWxcIixuZXcgU2V0KFwiYWx0ZXJuYXRlIGF1dGhvciBib29rbWFyayBjYW5vbmljYWwgY2l0ZSBoZWxwIGljb24gbGljZW5zZSBuZXh0IHByZWZldGNoIGRucy1wcmVmZXRjaCBwcmVyZW5kZXIgcHJlY29ubmVjdCBwcmVsb2FkIHByZXYgc2VhcmNoIHN1YnJlc291cmNlXCIuc3BsaXQoXCIgXCIpKV1dKX1dXSldLFtcIlNPVVJDRVwiLG5ldyBNYXAoW1tcInNyY1wiLHtVSTo1fV0sW1wic3Jjc2V0XCIse1VJOjZ9XV0pXSxbXCJJTUdcIixuZXcgTWFwKFtbXCJzcmNcIix7VUk6NX1dLFtcInNyY3NldFwiLHtVSTo2fV1dKV0sW1wiVklERU9cIixuZXcgTWFwKFtbXCJzcmNcIix7VUk6NX1dXSldLFtcIkFVRElPXCIsbmV3IE1hcChbW1wic3JjXCIse1VJOjV9XV0pXV0sJHhhPVwidGl0bGUgYXJpYS1hdG9taWMgYXJpYS1hdXRvY29tcGxldGUgYXJpYS1idXN5IGFyaWEtY2hlY2tlZCBhcmlhLWN1cnJlbnQgYXJpYS1kaXNhYmxlZCBhcmlhLWRyb3BlZmZlY3QgYXJpYS1leHBhbmRlZCBhcmlhLWhhc3BvcHVwIGFyaWEtaGlkZGVuIGFyaWEtaW52YWxpZCBhcmlhLWxhYmVsIGFyaWEtbGV2ZWwgYXJpYS1saXZlIGFyaWEtbXVsdGlsaW5lIGFyaWEtbXVsdGlzZWxlY3RhYmxlIGFyaWEtb3JpZW50YXRpb24gYXJpYS1wb3NpbnNldCBhcmlhLXByZXNzZWQgYXJpYS1yZWFkb25seSBhcmlhLXJlbGV2YW50IGFyaWEtcmVxdWlyZWQgYXJpYS1zZWxlY3RlZCBhcmlhLXNldHNpemUgYXJpYS1zb3J0IGFyaWEtdmFsdWVtYXggYXJpYS12YWx1ZW1pbiBhcmlhLXZhbHVlbm93IGFyaWEtdmFsdWV0ZXh0IGFsdCBhbGlnbiBhdXRvY2FwaXRhbGl6ZSBhdXRvY29tcGxldGUgYXV0b2NvcnJlY3QgYXV0b2ZvY3VzIGF1dG9wbGF5IGJnY29sb3IgYm9yZGVyIGNlbGxwYWRkaW5nIGNlbGxzcGFjaW5nIGNoZWNrZWQgY29sb3IgY29scyBjb2xzcGFuIGNvbnRyb2xzIGRhdGV0aW1lIGRpc2FibGVkIGRvd25sb2FkIGRyYWdnYWJsZSBlbmN0eXBlIGZhY2UgZm9ybWVuY3R5cGUgZnJhbWVib3JkZXIgaGVpZ2h0IGhyZWZsYW5nIGhpZGRlbiBpc21hcCBsYWJlbCBsYW5nIGxvb3AgbWF4IG1heGxlbmd0aCBtZWRpYSBtaW5sZW5ndGggbWluIG11bHRpcGxlIG11dGVkIG5vbmNlIG9wZW4gcGxhY2Vob2xkZXIgcHJlbG9hZCByZWwgcmVxdWlyZWQgcmV2ZXJzZWQgcm9sZSByb3dzIHJvd3NwYW4gc2VsZWN0ZWQgc2hhcGUgc2l6ZSBzaXplcyBzbG90IHNwYW4gc3BlbGxjaGVjayBzdGFydCBzdGVwIHN1bW1hcnkgdHJhbnNsYXRlIHR5cGUgdmFsaWduIHZhbHVlIHdpZHRoIHdyYXAgaXRlbXNjb3BlIGl0ZW10eXBlIGl0ZW1pZCBpdGVtcHJvcCBpdGVtcmVmXCIuc3BsaXQoXCIgXCIpLFxuYXlhPVtbXCJkaXJcIix7VUk6Myxjb25kaXRpb25zOmxoYShmdW5jdGlvbigpe3JldHVybiBuZXcgTWFwKFtbXCJkaXJcIixuZXcgU2V0KFtcImF1dG9cIixcImx0clwiLFwicnRsXCJdKV1dKX0pfV0sW1wiYXN5bmNcIix7VUk6Myxjb25kaXRpb25zOmxoYShmdW5jdGlvbigpe3JldHVybiBuZXcgTWFwKFtbXCJhc3luY1wiLG5ldyBTZXQoW1wiYXN5bmNcIl0pXV0pfSl9XSxbXCJjaXRlXCIse1VJOjJ9XSxbXCJsb2FkaW5nXCIse1VJOjMsY29uZGl0aW9uczpsaGEoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IE1hcChbW1wibG9hZGluZ1wiLG5ldyBTZXQoW1wiZWFnZXJcIixcImxhenlcIl0pXV0pfSl9XSxbXCJwb3N0ZXJcIix7VUk6Mn1dLFtcInRhcmdldFwiLHtVSTozLGNvbmRpdGlvbnM6bGhhKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXAoW1tcInRhcmdldFwiLG5ldyBTZXQoW1wiX3NlbGZcIixcIl9ibGFua1wiXSldXSl9KX1dXSxieWE9bmV3IF8uV3hhKG5ldyBTZXQoWXhhKSxuZXcgTWFwKFp4YSksbmV3IFNldCgkeGEpLG5ldyBNYXAoYXlhKSksXG5jeWE9bmV3IF8uV3hhKG5ldyBTZXQoWXhhLmNvbmNhdChbXCJCVVRUT05cIixcIklOUFVUXCJdKSksbmV3IE1hcChaeGEpLG5ldyBTZXQobGhhKGZ1bmN0aW9uKCl7cmV0dXJuICR4YS5jb25jYXQoW1wiY2xhc3NcIixcImlkXCIsXCJuYW1lXCJdKX0pKSxuZXcgTWFwKGxoYShmdW5jdGlvbigpe3JldHVybiBheWEuY29uY2F0KFtbXCJzdHlsZVwiLHtVSToxfV1dKX0pKSk7dmFyIGR5YT1mdW5jdGlvbihhLGIsYyxkKXt0aGlzLkFhPWE7dGhpcy5DYT1iO3RoaXMuQmE9Yzt0aGlzLm9hPWQ7dGhpcy5jaGFuZ2VzPVtdfSxmeWE7ZHlhLnByb3RvdHlwZS5YRj1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoXCJcIik7YT1leWEodGhpcyxhLGIpO2I9Yi5ib2R5O2IuYXBwZW5kQ2hpbGQoYSk7Yj0obmV3IFhNTFNlcmlhbGl6ZXIpLnNlcmlhbGl6ZVRvU3RyaW5nKGIpO2I9Yi5zbGljZShiLmluZGV4T2YoXCI+XCIpKzEsYi5sYXN0SW5kZXhPZihcIjwvXCIpKTtyZXR1cm4gXy53KGIpfTtcbnZhciBleWE9ZnVuY3Rpb24oYSxiLGMpe2I9VWhhKGIsYyk7Yj1kb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKGIsNSxmdW5jdGlvbihoKXtpZihoLm5vZGVUeXBlPT09MyloPTE7ZWxzZSBpZihXaGEoaCkpaWYoaD1WaGEoaCksaD09PW51bGwpaD0yO2Vsc2V7dmFyIGs9YS5BYTtoPWghPT1cIkZPUk1cIiYmKGsuQWEuaGFzKGgpfHxrLm9hLmhhcyhoKSk/MToyfWVsc2UgaD0yO3JldHVybiBofSk7Zm9yKHZhciBkPWIubmV4dE5vZGUoKSxlPWMuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLGY9ZTtkIT09bnVsbDspe3ZhciBnPXZvaWQgMDtpZihkLm5vZGVUeXBlPT09MylhLkNhJiZmLm5vZGVOYW1lPT09XCJTVFlMRVwiPyhkPWEuQ2EoZC5kYXRhKSxnPWEuY3JlYXRlVGV4dE5vZGUoZCkpOmc9YS5jcmVhdGVUZXh0Tm9kZShkLmRhdGEpO2Vsc2UgaWYoV2hhKGQpKWc9ZnlhKGEsZCxjKTtlbHNlIHRocm93IEVycm9yKFwidGFcIik7Zi5hcHBlbmRDaGlsZChnKTtpZihkPWIuZmlyc3RDaGlsZCgpKWY9XG5nO2Vsc2UgZm9yKDshKGQ9Yi5uZXh0U2libGluZygpKSYmKGQ9Yi5wYXJlbnROb2RlKCkpOylmPWYucGFyZW50Tm9kZX1yZXR1cm4gZX07ZHlhLnByb3RvdHlwZS5jcmVhdGVUZXh0Tm9kZT1mdW5jdGlvbihhKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoYSl9O1xuZnlhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlPVZoYShiKTtjPWMuY3JlYXRlRWxlbWVudChlKTtiPWIuYXR0cmlidXRlcztmb3IodmFyIGY9Xy5QYShiKSxnPWYubmV4dCgpOyFnLmRvbmU7Zz1mLm5leHQoKSl7dmFyIGg9Zy52YWx1ZTtnPWgubmFtZTtoPWgudmFsdWU7dmFyIGs9WHhhKGEuQWEsZyxlKTthOntpZihkPWsuY29uZGl0aW9ucyl7ZD1fLlBhKGQpO2Zvcih2YXIgbD1kLm5leHQoKTshbC5kb25lO2w9ZC5uZXh0KCkpe3ZhciBuPV8uUGEobC52YWx1ZSk7bD1uLm5leHQoKS52YWx1ZTtuPW4ubmV4dCgpLnZhbHVlO3ZhciByPXZvaWQgMDtpZigobD0ocj1iLmdldE5hbWVkSXRlbShsKSk9PW51bGw/dm9pZCAwOnIudmFsdWUpJiYhbi5oYXMobCkpe2Q9ITE7YnJlYWsgYX19fWQ9ITB9aWYoZClzd2l0Y2goay5VSSl7Y2FzZSAxOlloYShjLGcsaCk7YnJlYWs7Y2FzZSAyOms9Xy5zaGEoaCk7aD1rIT09dm9pZCAwJiZIeGEuaW5kZXhPZihrLnRvTG93ZXJDYXNlKCkpIT09LTE/XG5oOlwiYWJvdXQ6aW52YWxpZCN6Q2xvc3VyZXpcIjtZaGEoYyxnLGgpO2JyZWFrO2Nhc2UgMzpZaGEoYyxnLGgudG9Mb3dlckNhc2UoKSk7YnJlYWs7Y2FzZSA0OmEuQmE/KGg9YS5CYShoKSxZaGEoYyxnLGgpKTpZaGEoYyxnLGgpO2JyZWFrO2Nhc2UgNTphLm9hPyhrPXt0eXBlOjIsYXR0cmlidXRlTmFtZTpnLEE3YzplfSxoPVhoYShoKSwoaD1hLm9hKGgsaykpJiZZaGEoYyxnLGgudG9TdHJpbmcoKSkpOlloYShjLGcsaCk7YnJlYWs7Y2FzZSA2OmlmKGEub2Epe2s9e3R5cGU6MixhdHRyaWJ1dGVOYW1lOmcsQTdjOmV9O2Q9W107aD1fLlBhKGguc3BsaXQoXCIsXCIpKTtmb3IobD1oLm5leHQoKTshbC5kb25lO2w9aC5uZXh0KCkpbj1fLlBhKGwudmFsdWUudHJpbSgpLnNwbGl0KC9cXHMrLywyKSksbD1uLm5leHQoKS52YWx1ZSxuPW4ubmV4dCgpLnZhbHVlLGQucHVzaCh7dXJsOmwsR2M6bn0pO2g9e2dXYTpbXX07ZD1fLlBhKGQpO2ZvcihsPWQubmV4dCgpOyFsLmRvbmU7bD1kLm5leHQoKSlsPVxubC52YWx1ZSxuPVhoYShsLnVybCksKG49YS5vYShuLGspKSYmaC5nV2EucHVzaCh7dXJsOm4udG9TdHJpbmcoKSxHYzpsLkdjfSk7WWhhKGMsZyxaaGEoaCkpfWVsc2UgWWhhKGMsZyxoKX19cmV0dXJuIGN9O18uJGhhPWxoYShmdW5jdGlvbigpe3JldHVybiBuZXcgZHlhKGJ5YSl9KTtfLmd5YT1saGEoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGR5YShjeWEpfSk7Xy5oeWE9ZnVuY3Rpb24oKXt0aGlzLkFhPSExO3RoaXMub2E9YnlhfTtfLml5YT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgTWFwKGEub2EuQ2EpO2Iuc2V0KFwic3R5bGVcIix7VUk6NH0pO2Eub2E9bmV3IF8uV3hhKGEub2EuQWEsYS5vYS5vYSxhLm9hLkJhLGIpO3JldHVybiBhfTtfLmp5YT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgU2V0KGEub2EuQmEpO2IuYWRkKFwiY2xhc3NcIik7YS5vYT1uZXcgXy5XeGEoYS5vYS5BYSxhLm9hLm9hLGIsYS5vYS5DYSk7cmV0dXJuIGF9O18uaHlhLnByb3RvdHlwZS5idWlsZD1mdW5jdGlvbigpe2lmKHRoaXMuQWEpdGhyb3cgRXJyb3IoXCJ5YVwiKTt0aGlzLkFhPSEwO3JldHVybiBuZXcgZHlhKHRoaXMub2Esdm9pZCAwLHZvaWQgMCx0aGlzLkJhKX07dmFyIGt5YSxteWEsbnlhLGx5YTtreWE9Xy5PayhmdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO2IuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKSk7YS5hcHBlbmRDaGlsZChiKTtiPWEuZmlyc3RDaGlsZC5maXJzdENoaWxkO2EuaW5uZXJIVE1MPV8udGMoXy5Vayk7cmV0dXJuIWIucGFyZW50RWxlbWVudH0pO18uT2Y9ZnVuY3Rpb24oYSxiKXtpZihreWEoKSlmb3IoO2EubGFzdENoaWxkOylhLnJlbW92ZUNoaWxkKGEubGFzdENoaWxkKTthLmlubmVySFRNTD1fLnRjKGIpfTtteWE9ZnVuY3Rpb24oYSxiLGMsZCl7YT1seWEoYSk7Yj1ifHxfLmJhO2M9YyBpbnN0YW5jZW9mIHdoYT9fLnhoYShjKTpjfHxcIlwiO3JldHVybiBkIT09dm9pZCAwP2Iub3BlbihhLGMsZCk6Yi5vcGVuKGEsYyl9O255YT0vXltcXHcrL18tXStbPV17MCwyfSQvO1xuXy5veWE9ZnVuY3Rpb24oYSxiKXtiPShifHxfLmJhKS5kb2N1bWVudDtyZXR1cm4gYi5xdWVyeVNlbGVjdG9yPyhhPWIucXVlcnlTZWxlY3RvcihhKSkmJihhPWEubm9uY2V8fGEuZ2V0QXR0cmlidXRlKFwibm9uY2VcIikpJiZueWEudGVzdChhKT9hOlwiXCI6XCJcIn07bHlhPWZ1bmN0aW9uKGEpe2E9Xy52aGEoYSk7cmV0dXJuIGE9PT12b2lkIDA/Xy5xaGEudG9TdHJpbmcoKTphfTtfLkVtYT1mdW5jdGlvbihhKXtyZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKmEpfTtfLlZrPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgoYSxiKSxjKX07Xy5Xaz1mdW5jdGlvbihhLGIpe2ElPWI7cmV0dXJuIGEqYjwwP2ErYjphfTtfLlhrPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYStjKihiLWEpfTtfLllrPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gTWF0aC5hYnMoYS1iKTw9KGN8fDFFLTYpfTtfLlprPWZ1bmN0aW9uKGEsYil7dGhpcy54PWEhPT12b2lkIDA/YTowO3RoaXMueT1iIT09dm9pZCAwP2I6MH07Xy5aay5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IF8uWmsodGhpcy54LHRoaXMueSl9O18uWmsucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uWmsmJl8ucHlhKHRoaXMsYSl9O18ucHlhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PWI/ITA6YSYmYj9hLng9PWIueCYmYS55PT1iLnk6ITF9O18ucXlhPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS54LWIueDthPWEueS1iLnk7cmV0dXJuIE1hdGguc3FydChjKmMrYSphKX07Xy4kaz1mdW5jdGlvbihhLGIpe3ZhciBjPWEueC1iLng7YT1hLnktYi55O3JldHVybiBjKmMrYSphfTtfLnJ5YT1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgXy5aayhhLngtYi54LGEueS1iLnkpfTtfLm09Xy5aay5wcm90b3R5cGU7XG5fLm0uY2VpbD1mdW5jdGlvbigpe3RoaXMueD1NYXRoLmNlaWwodGhpcy54KTt0aGlzLnk9TWF0aC5jZWlsKHRoaXMueSk7cmV0dXJuIHRoaXN9O18ubS5mbG9vcj1mdW5jdGlvbigpe3RoaXMueD1NYXRoLmZsb29yKHRoaXMueCk7dGhpcy55PU1hdGguZmxvb3IodGhpcy55KTtyZXR1cm4gdGhpc307Xy5tLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGgucm91bmQodGhpcy54KTt0aGlzLnk9TWF0aC5yb3VuZCh0aGlzLnkpO3JldHVybiB0aGlzfTtfLm0udHJhbnNsYXRlPWZ1bmN0aW9uKGEsYil7YSBpbnN0YW5jZW9mIF8uWms/KHRoaXMueCs9YS54LHRoaXMueSs9YS55KToodGhpcy54Kz1OdW1iZXIoYSksdHlwZW9mIGI9PT1cIm51bWJlclwiJiYodGhpcy55Kz1iKSk7cmV0dXJuIHRoaXN9O18ubS5zY2FsZT1mdW5jdGlvbihhLGIpe3RoaXMueCo9YTt0aGlzLnkqPXR5cGVvZiBiPT09XCJudW1iZXJcIj9iOmE7cmV0dXJuIHRoaXN9O18uYWw9ZnVuY3Rpb24oYSxiKXt0aGlzLndpZHRoPWE7dGhpcy5oZWlnaHQ9Yn07Xy5zeWE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09Yj8hMDphJiZiP2Eud2lkdGg9PWIud2lkdGgmJmEuaGVpZ2h0PT1iLmhlaWdodDohMX07Xy5tPV8uYWwucHJvdG90eXBlO18ubS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgXy5hbCh0aGlzLndpZHRoLHRoaXMuaGVpZ2h0KX07Xy5tLmFyZWE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy53aWR0aCp0aGlzLmhlaWdodH07Xy5tLmFzcGVjdFJhdGlvPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMud2lkdGgvdGhpcy5oZWlnaHR9O18ubS5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuYXJlYSgpfTtfLm0uY2VpbD1mdW5jdGlvbigpe3RoaXMud2lkdGg9TWF0aC5jZWlsKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguY2VpbCh0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9O1xuXy5tLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLmZsb29yKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguZmxvb3IodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLm0ucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLndpZHRoPU1hdGgucm91bmQodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5yb3VuZCh0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9O18ubS5zY2FsZT1mdW5jdGlvbihhLGIpe3RoaXMud2lkdGgqPWE7dGhpcy5oZWlnaHQqPXR5cGVvZiBiPT09XCJudW1iZXJcIj9iOmE7cmV0dXJuIHRoaXN9O3ZhciBkaWE9XCJhbHRlcm5hdGUgYXV0aG9yIGJvb2ttYXJrIGNhbm9uaWNhbCBjaXRlIGhlbHAgaWNvbiBsaWNlbnNlIG1vZHVsZXByZWxvYWQgbmV4dCBwcmVmZXRjaCBkbnMtcHJlZmV0Y2ggcHJlcmVuZGVyIHByZWNvbm5lY3QgcHJlbG9hZCBwcmV2IHNlYXJjaCBzdWJyZXNvdXJjZVwiLnNwbGl0KFwiIFwiKTtfLmJsPXtxXzpmdW5jdGlvbihhLGIsYyl7YS50ZXh0Q29udGVudD1fLnFjKGIpOyhjPT1udWxsPzA6Yy5TQWUpfHxoaWEoYSl9LFJkOmZ1bmN0aW9uKGEsYil7YS5zcmM9Xy54YyhiKTtoaWEoYSl9fTt2YXIgdHlhPWZ1bmN0aW9uKGEsYil7dGhpcy5uYW1lPWE7dGhpcy52YWx1ZT1ifTt0eWEucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmFtZX07Xy51eWE9bmV3IHR5YShcIlNFVkVSRVwiLDFFMyk7Xy52eWE9bmV3IHR5YShcIklORk9cIiw4MDApO3ZhciB5eWEsenlhO18uY2w9ZnVuY3Rpb24oYSl7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoYSkpfTtfLnd5YT1mdW5jdGlvbihhKXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGEucmVwbGFjZSgvXFwrL2csXCIgXCIpKX07Xy5kbD1mdW5jdGlvbihhKXtyZXR1cm4gYT1RdGEoYSl9O18uZWw9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uZmEoYSxcIiZcIik/XCJkb2N1bWVudFwiaW4gXy5iYT9fLnh5YShhKTp5eWEoYSk6YX07XG5fLnh5YT1mdW5jdGlvbihhLGIpe3ZhciBjPXtcIiZhbXA7XCI6XCImXCIsXCImbHQ7XCI6XCI8XCIsXCImZ3Q7XCI6XCI+XCIsXCImcXVvdDtcIjonXCInfTt2YXIgZD1iP2IuY3JlYXRlRWxlbWVudChcImRpdlwiKTpfLmJhLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7cmV0dXJuIGEucmVwbGFjZSh6eWEsZnVuY3Rpb24oZSxmKXt2YXIgZz1jW2VdO2lmKGcpcmV0dXJuIGc7Zi5jaGFyQXQoMCk9PVwiI1wiJiYoZj1OdW1iZXIoXCIwXCIrZi5zbGljZSgxKSksaXNOYU4oZil8fChnPVN0cmluZy5mcm9tQ2hhckNvZGUoZikpKTtnfHwoXy5CYyhkLF8udyhlK1wiIFwiKSksZz1kLmZpcnN0Q2hpbGQubm9kZVZhbHVlLnNsaWNlKDAsLTEpKTtyZXR1cm4gY1tlXT1nfSl9O1xueXlhPWZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UoLyYoW147XSspOy9nLGZ1bmN0aW9uKGIsYyl7c3dpdGNoKGMpe2Nhc2UgXCJhbXBcIjpyZXR1cm5cIiZcIjtjYXNlIFwibHRcIjpyZXR1cm5cIjxcIjtjYXNlIFwiZ3RcIjpyZXR1cm5cIj5cIjtjYXNlIFwicXVvdFwiOnJldHVybidcIic7ZGVmYXVsdDpyZXR1cm4gYy5jaGFyQXQoMCkhPVwiI1wifHwoYz1OdW1iZXIoXCIwXCIrYy5zbGljZSgxKSksaXNOYU4oYykpP2I6U3RyaW5nLmZyb21DaGFyQ29kZShjKX19KX07enlhPS8mKFteO1xcczwmXSspOz8vZztfLkF5YT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1iLmxlbmd0aCxkPTA7ZDxjO2QrKyl7dmFyIGU9Yz09MT9iOmIuY2hhckF0KGQpO2lmKGEuY2hhckF0KDApPT1lJiZhLmNoYXJBdChhLmxlbmd0aC0xKT09ZSlyZXR1cm4gYS5zdWJzdHJpbmcoMSxhLmxlbmd0aC0xKX1yZXR1cm4gYX07XG5fLkJ5YT1mdW5jdGlvbihhKXtyZXR1cm4gU3RyaW5nKGEpLnJlcGxhY2UoLyhbLSgpXFxbXFxde30rPyouJFxcXnwsOiM8IVxcXFxdKS9nLFwiXFxcXCQxXCIpLnJlcGxhY2UoL1xceDA4L2csXCJcXFxceDA4XCIpfTtfLkN5YT1TdHJpbmcucHJvdG90eXBlLnJlcGVhdD9mdW5jdGlvbihhLGIpe3JldHVybiBhLnJlcGVhdChiKX06ZnVuY3Rpb24oYSxiKXtyZXR1cm4gQXJyYXkoYisxKS5qb2luKGEpfTtfLmZsPWZ1bmN0aW9uKGEsYil7aWYoIU51bWJlci5pc0Zpbml0ZShhKSlyZXR1cm4gU3RyaW5nKGEpO2E9U3RyaW5nKGEpO3ZhciBjPWEuaW5kZXhPZihcIi5cIik7Yz09PS0xJiYoYz1hLmxlbmd0aCk7dmFyIGQ9YVswXT09PVwiLVwiP1wiLVwiOlwiXCI7ZCYmKGE9YS5zdWJzdHJpbmcoMSkpO3JldHVybiBkKygwLF8uQ3lhKShcIjBcIixNYXRoLm1heCgwLGItYykpK2F9O18uZ2w9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PW51bGw/XCJcIjpTdHJpbmcoYSl9O1xuXy5EeWE9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjIxNDc0ODM2NDgpLnRvU3RyaW5nKDM2KStNYXRoLmFicyhNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjE0NzQ4MzY0OCleXy5qaCgpKS50b1N0cmluZygzNil9O18uRXlhPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wLGM9MDtjPGEubGVuZ3RoOysrYyliPTMxKmIrYS5jaGFyQ29kZUF0KGMpPj4+MDtyZXR1cm4gYn07Xy5obD1mdW5jdGlvbihhKXt2YXIgYj1OdW1iZXIoYSk7cmV0dXJuIGI9PTAmJl8uQWUoYSk/TmFOOmJ9O18uaWw9ZnVuY3Rpb24oYSl7cmV0dXJuIFN0cmluZyhhKS5yZXBsYWNlKC9cXC0oW2Etel0pL2csZnVuY3Rpb24oYixjKXtyZXR1cm4gYy50b1VwcGVyQ2FzZSgpfSl9O18uRnlhPWZ1bmN0aW9uKGEpe3JldHVybiBTdHJpbmcoYSkucmVwbGFjZSgvKFtBLVpdKS9nLFwiLSQxXCIpLnRvTG93ZXJDYXNlKCl9O1xuXy5HeWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVwbGFjZShSZWdFeHAoXCIoXnxbXFxcXHNdKykoW2Etel0pXCIsXCJnXCIpLGZ1bmN0aW9uKGIsYyxkKXtyZXR1cm4gYytkLnRvVXBwZXJDYXNlKCl9KX07Xy5IeWE9ZnVuY3Rpb24oYSl7aXNGaW5pdGUoYSkmJihhPVN0cmluZyhhKSk7cmV0dXJuIHR5cGVvZiBhPT09XCJzdHJpbmdcIj8vXlxccyotPzB4L2kudGVzdChhKT9wYXJzZUludChhLDE2KTpwYXJzZUludChhLDEwKTpOYU59O18uSm1hPWZ1bmN0aW9uKGEsYixjKXthPWEuc3BsaXQoYik7Zm9yKHZhciBkPVtdO2M+MCYmYS5sZW5ndGg7KWQucHVzaChhLnNoaWZ0KCkpLGMtLTthLmxlbmd0aCYmZC5wdXNoKGEuam9pbihiKSk7cmV0dXJuIGR9O3ZhciBKeWEsTnlhLFB5YSxTeWEsVXlhLFl5YSxYeWEsaXphLGp6YSxremEsbXphLG96YTtfLlBlPWZ1bmN0aW9uKGEpe3JldHVybiBhP25ldyBfLkl5YShfLmtnKGEpKTpDdGF8fChDdGE9bmV3IF8uSXlhKX07Xy5qbD1mdW5jdGlvbihhKXtyZXR1cm4gSnlhKGRvY3VtZW50LGEpfTtfLkt5YT1mdW5jdGlvbihhKXtyZXR1cm4oYT1fLmpsKGEpKT9hOm51bGx9O0p5YT1mdW5jdGlvbihhLGIpe3JldHVybiB0eXBlb2YgYj09PVwic3RyaW5nXCI/YS5nZXRFbGVtZW50QnlJZChiKTpifTtfLmtsPWZ1bmN0aW9uKGEpe3JldHVybiBKeWEoZG9jdW1lbnQsYSl9O18ubGw9ZnVuY3Rpb24oYSxiKXtyZXR1cm4oYnx8ZG9jdW1lbnQpLmdldEVsZW1lbnRzQnlUYWdOYW1lKFN0cmluZyhhKSl9O18ubWw9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLkx5YShkb2N1bWVudCxhLGIsYyl9O1xuXy5ubD1mdW5jdGlvbihhLGIpe3ZhciBjPWJ8fGRvY3VtZW50O3JldHVybiBjLnF1ZXJ5U2VsZWN0b3JBbGwmJmMucXVlcnlTZWxlY3Rvcj9jLnF1ZXJ5U2VsZWN0b3JBbGwoXCIuXCIrYSk6Xy5MeWEoZG9jdW1lbnQsXCIqXCIsYSxiKX07Xy5vbD1mdW5jdGlvbihhLGIpe3ZhciBjPWJ8fGRvY3VtZW50LGQ9bnVsbDtjLmdldEVsZW1lbnRzQnlDbGFzc05hbWU/ZD1jLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoYSlbMF06ZD1fLk15YShcIipcIixhLGIpO3JldHVybiBkfHxudWxsfTtcbl8uTHlhPWZ1bmN0aW9uKGEsYixjLGQpe2E9ZHx8YTtiPWImJmIhPVwiKlwiP1N0cmluZyhiKS50b1VwcGVyQ2FzZSgpOlwiXCI7aWYoYS5xdWVyeVNlbGVjdG9yQWxsJiZhLnF1ZXJ5U2VsZWN0b3ImJihifHxjKSlyZXR1cm4gYS5xdWVyeVNlbGVjdG9yQWxsKGIrKGM/XCIuXCIrYzpcIlwiKSk7aWYoYyYmYS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKXthPWEuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShjKTtpZihiKXtkPXt9O2Zvcih2YXIgZT0wLGY9MCxnO2c9YVtmXTtmKyspYj09Zy5ub2RlTmFtZSYmKGRbZSsrXT1nKTtkLmxlbmd0aD1lO3JldHVybiBkfXJldHVybiBhfWE9YS5nZXRFbGVtZW50c0J5VGFnTmFtZShifHxcIipcIik7aWYoYyl7ZD17fTtmb3IoZj1lPTA7Zz1hW2ZdO2YrKyliPWcuY2xhc3NOYW1lLHR5cGVvZiBiLnNwbGl0PT1cImZ1bmN0aW9uXCImJl8udmEoYi5zcGxpdCgvXFxzKy8pLGMpJiYoZFtlKytdPWcpO2QubGVuZ3RoPWU7cmV0dXJuIGR9cmV0dXJuIGF9O1xuXy5NeWE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWRvY3VtZW50LGU9Y3x8ZCxmPWEmJmEhPVwiKlwiP1N0cmluZyhhKS50b1VwcGVyQ2FzZSgpOlwiXCI7cmV0dXJuIGUucXVlcnlTZWxlY3RvckFsbCYmZS5xdWVyeVNlbGVjdG9yJiYoZnx8Yik/ZS5xdWVyeVNlbGVjdG9yKGYrKGI/XCIuXCIrYjpcIlwiKSk6Xy5MeWEoZCxhLGIsYylbMF18fG51bGx9O18uT3lhPWZ1bmN0aW9uKGEsYil7Xy5ZYihiLGZ1bmN0aW9uKGMsZCl7ZD09XCJzdHlsZVwiP2Euc3R5bGUuY3NzVGV4dD1jOmQ9PVwiY2xhc3NcIj9hLmNsYXNzTmFtZT1jOmQ9PVwiZm9yXCI/YS5odG1sRm9yPWM6TnlhLmhhc093blByb3BlcnR5KGQpP2Euc2V0QXR0cmlidXRlKE55YVtkXSxjKTpfLkdmKGQsXCJhcmlhLVwiKXx8Xy5HZihkLFwiZGF0YS1cIik/YS5zZXRBdHRyaWJ1dGUoZCxjKTphW2RdPWN9KX07XG5OeWE9e2NlbGxwYWRkaW5nOlwiY2VsbFBhZGRpbmdcIixjZWxsc3BhY2luZzpcImNlbGxTcGFjaW5nXCIsY29sc3BhbjpcImNvbFNwYW5cIixmcmFtZWJvcmRlcjpcImZyYW1lQm9yZGVyXCIsaGVpZ2h0OlwiaGVpZ2h0XCIsbWF4bGVuZ3RoOlwibWF4TGVuZ3RoXCIsbm9uY2U6XCJub25jZVwiLHJvbGU6XCJyb2xlXCIscm93c3BhbjpcInJvd1NwYW5cIix0eXBlOlwidHlwZVwiLHVzZW1hcDpcInVzZU1hcFwiLHZhbGlnbjpcInZBbGlnblwiLHdpZHRoOlwid2lkdGhcIn07Xy5wbD1mdW5jdGlvbihhKXtyZXR1cm4gUHlhKGF8fHdpbmRvdyl9O1B5YT1mdW5jdGlvbihhKXthPWEuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O3JldHVybiBuZXcgXy5hbChhLmNsaWVudFdpZHRoLGEuY2xpZW50SGVpZ2h0KX07XG5fLlF5YT1mdW5jdGlvbigpe3ZhciBhPXdpbmRvdyxiPWEuZG9jdW1lbnQsYz0wO2lmKGIpe2M9Yi5ib2R5O2I9Yi5kb2N1bWVudEVsZW1lbnQ7aWYoIWJ8fCFjKXJldHVybiAwO2E9UHlhKGEpLmhlaWdodDtpZihiLnNjcm9sbEhlaWdodCljPWIuc2Nyb2xsSGVpZ2h0IT1hP2Iuc2Nyb2xsSGVpZ2h0OmIub2Zmc2V0SGVpZ2h0O2Vsc2V7dmFyIGQ9Yi5zY3JvbGxIZWlnaHQsZT1iLm9mZnNldEhlaWdodDtiLmNsaWVudEhlaWdodCE9ZSYmKGQ9Yy5zY3JvbGxIZWlnaHQsZT1jLm9mZnNldEhlaWdodCk7Yz1kPmE/ZD5lP2Q6ZTpkPGU/ZDplfX1yZXR1cm4gY307Xy5xbD1mdW5jdGlvbigpe3JldHVybiBfLlJ5YShkb2N1bWVudCl9O18uUnlhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uc2woYSk7YT1hLnBhcmVudFdpbmRvd3x8YS5kZWZhdWx0VmlldztyZXR1cm4gbmV3IF8uWmsoYS5wYWdlWE9mZnNldHx8Yi5zY3JvbGxMZWZ0LGEucGFnZVlPZmZzZXR8fGIuc2Nyb2xsVG9wKX07XG5fLnNsPWZ1bmN0aW9uKGEpe3JldHVybiBhLnNjcm9sbGluZ0VsZW1lbnQ/YS5zY3JvbGxpbmdFbGVtZW50Ol8ud2g/YS5ib2R5fHxhLmRvY3VtZW50RWxlbWVudDphLmRvY3VtZW50RWxlbWVudH07Xy5RZT1mdW5jdGlvbihhKXtyZXR1cm4gYT9hLnBhcmVudFdpbmRvd3x8YS5kZWZhdWx0Vmlldzp3aW5kb3d9O18udGw9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBTeWEoZG9jdW1lbnQsYXJndW1lbnRzKX07U3lhPWZ1bmN0aW9uKGEsYil7dmFyIGM9YlsxXSxkPV8uVHlhKGEsU3RyaW5nKGJbMF0pKTtjJiYodHlwZW9mIGM9PT1cInN0cmluZ1wiP2QuY2xhc3NOYW1lPWM6QXJyYXkuaXNBcnJheShjKT9kLmNsYXNzTmFtZT1jLmpvaW4oXCIgXCIpOl8uT3lhKGQsYykpO2IubGVuZ3RoPjImJlV5YShhLGQsYiwyKTtyZXR1cm4gZH07XG5VeWE9ZnVuY3Rpb24oYSxiLGMsZCl7ZnVuY3Rpb24gZShoKXtoJiZiLmFwcGVuZENoaWxkKHR5cGVvZiBoPT09XCJzdHJpbmdcIj9hLmNyZWF0ZVRleHROb2RlKGgpOmgpfWZvcig7ZDxjLmxlbmd0aDtkKyspe3ZhciBmPWNbZF07aWYoIV8uQmEoZil8fF8uRGEoZikmJmYubm9kZVR5cGU+MCllKGYpO2Vsc2V7YTp7aWYoZiYmdHlwZW9mIGYubGVuZ3RoPT1cIm51bWJlclwiKXtpZihfLkRhKGYpKXt2YXIgZz10eXBlb2YgZi5pdGVtPT1cImZ1bmN0aW9uXCJ8fHR5cGVvZiBmLml0ZW09PVwic3RyaW5nXCI7YnJlYWsgYX1pZih0eXBlb2YgZj09PVwiZnVuY3Rpb25cIil7Zz10eXBlb2YgZi5pdGVtPT1cImZ1bmN0aW9uXCI7YnJlYWsgYX19Zz0hMX1fLkhhKGc/Xy5BYShmKTpmLGUpfX19O18udWw9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uVHlhKGRvY3VtZW50LGEpfTtcbl8uVHlhPWZ1bmN0aW9uKGEsYil7Yj1TdHJpbmcoYik7YS5jb250ZW50VHlwZT09PVwiYXBwbGljYXRpb24veGh0bWwreG1sXCImJihiPWIudG9Mb3dlckNhc2UoKSk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChiKX07Xy5WeWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLlR5YShhLFwiRElWXCIpO18uT2YoYyxiKTtpZihjLmNoaWxkTm9kZXMubGVuZ3RoPT0xKWM9Yy5yZW1vdmVDaGlsZChjLmZpcnN0Q2hpbGQpO2Vsc2V7Zm9yKGE9YS5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Yy5maXJzdENoaWxkOylhLmFwcGVuZENoaWxkKGMuZmlyc3RDaGlsZCk7Yz1hfXJldHVybiBjfTtfLnZsPWZ1bmN0aW9uKGEsYil7YS5hcHBlbmRDaGlsZChiKX07Xy53bD1mdW5jdGlvbihhLGIpe1V5YShfLmtnKGEpLGEsYXJndW1lbnRzLDEpfTtfLnhsPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYjtiPWEuZmlyc3RDaGlsZDspYS5yZW1vdmVDaGlsZChiKX07XG5fLnpsPWZ1bmN0aW9uKGEsYil7Yi5wYXJlbnROb2RlJiZiLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsYil9O18uQWw9ZnVuY3Rpb24oYSxiKXtiLnBhcmVudE5vZGUmJmIucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSxiLm5leHRTaWJsaW5nKX07Xy5CbD1mdW5jdGlvbihhLGIsYyl7YS5pbnNlcnRCZWZvcmUoYixhLmNoaWxkTm9kZXNbY118fG51bGwpfTtfLkNsPWZ1bmN0aW9uKGEpe3JldHVybiBhJiZhLnBhcmVudE5vZGU/YS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGEpOm51bGx9O18uRGw9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnBhcmVudE5vZGU7YyYmYy5yZXBsYWNlQ2hpbGQoYSxiKX07Xy5FbD1mdW5jdGlvbihhKXtyZXR1cm4gYS5jaGlsZHJlbiE9dm9pZCAwP2EuY2hpbGRyZW46QXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGEuY2hpbGROb2RlcyxmdW5jdGlvbihiKXtyZXR1cm4gYi5ub2RlVHlwZT09MX0pfTtcbl8uRmw9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZmlyc3RFbGVtZW50Q2hpbGQhPT12b2lkIDA/YS5maXJzdEVsZW1lbnRDaGlsZDpfLld5YShhLmZpcnN0Q2hpbGQsITApfTtfLkdsPWZ1bmN0aW9uKGEpe3JldHVybiBhLm5leHRFbGVtZW50U2libGluZyE9PXZvaWQgMD9hLm5leHRFbGVtZW50U2libGluZzpfLld5YShhLm5leHRTaWJsaW5nLCEwKX07Xy5XeWE9ZnVuY3Rpb24oYSxiKXtmb3IoO2EmJmEubm9kZVR5cGUhPTE7KWE9Yj9hLm5leHRTaWJsaW5nOmEucHJldmlvdXNTaWJsaW5nO3JldHVybiBhfTtfLm1lPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRhKGEpJiZhLm5vZGVUeXBlPT0xfTtfLmtlPWZ1bmN0aW9uKGEpe3ZhciBiO2lmKGI9YS5wYXJlbnRFbGVtZW50KXJldHVybiBiO2I9YS5wYXJlbnROb2RlO3JldHVybiBfLm1lKGIpP2I6bnVsbH07XG5fLndmPWZ1bmN0aW9uKGEsYil7aWYoIWF8fCFiKXJldHVybiExO2lmKGEuY29udGFpbnMmJmIubm9kZVR5cGU9PTEpcmV0dXJuIGE9PWJ8fGEuY29udGFpbnMoYik7aWYodHlwZW9mIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24hPVwidW5kZWZpbmVkXCIpcmV0dXJuIGE9PWJ8fCEhKGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikmMTYpO2Zvcig7YiYmYSE9YjspYj1iLnBhcmVudE5vZGU7cmV0dXJuIGI9PWF9O1xuXy5oemE9ZnVuY3Rpb24oYSxiKXtpZihhPT1iKXJldHVybiAwO2lmKGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24pcmV0dXJuIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikmMj8xOi0xO2lmKFwic291cmNlSW5kZXhcImluIGF8fGEucGFyZW50Tm9kZSYmXCJzb3VyY2VJbmRleFwiaW4gYS5wYXJlbnROb2RlKXt2YXIgYz1hLm5vZGVUeXBlPT0xLGQ9Yi5ub2RlVHlwZT09MTtpZihjJiZkKXJldHVybiBhLnNvdXJjZUluZGV4LWIuc291cmNlSW5kZXg7dmFyIGU9YS5wYXJlbnROb2RlLGY9Yi5wYXJlbnROb2RlO3JldHVybiBlPT1mP1h5YShhLGIpOiFjJiZfLndmKGUsYik/LTEqWXlhKGEsYik6IWQmJl8ud2YoZixhKT9ZeWEoYixhKTooYz9hLnNvdXJjZUluZGV4OmUuc291cmNlSW5kZXgpLShkP2Iuc291cmNlSW5kZXg6Zi5zb3VyY2VJbmRleCl9ZD1fLmtnKGEpO2M9ZC5jcmVhdGVSYW5nZSgpO2Muc2VsZWN0Tm9kZShhKTtjLmNvbGxhcHNlKCEwKTthPWQuY3JlYXRlUmFuZ2UoKTthLnNlbGVjdE5vZGUoYik7XG5hLmNvbGxhcHNlKCEwKTtyZXR1cm4gYy5jb21wYXJlQm91bmRhcnlQb2ludHMoXy5iYS5SYW5nZS5TVEFSVF9UT19FTkQsYSl9O1l5YT1mdW5jdGlvbihhLGIpe3ZhciBjPWEucGFyZW50Tm9kZTtpZihjPT1iKXJldHVybi0xO2Zvcig7Yi5wYXJlbnROb2RlIT1jOyliPWIucGFyZW50Tm9kZTtyZXR1cm4gWHlhKGIsYSl9O1h5YT1mdW5jdGlvbihhLGIpe2Zvcig7Yj1iLnByZXZpb3VzU2libGluZzspaWYoYj09YSlyZXR1cm4tMTtyZXR1cm4gMX07Xy4kbmE9ZnVuY3Rpb24oYSl7cmV0dXJuKGEub3duZXJEb2N1bWVudC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSYxNik9PTE2fTtfLmtnPWZ1bmN0aW9uKGEpe3JldHVybiBhLm5vZGVUeXBlPT05P2E6YS5vd25lckRvY3VtZW50fHxhLmRvY3VtZW50fTtcbl8uSGw9ZnVuY3Rpb24oYSxiKXtpZihcInRleHRDb250ZW50XCJpbiBhKWEudGV4dENvbnRlbnQ9YjtlbHNlIGlmKGEubm9kZVR5cGU9PTMpYS5kYXRhPVN0cmluZyhiKTtlbHNlIGlmKGEuZmlyc3RDaGlsZCYmYS5maXJzdENoaWxkLm5vZGVUeXBlPT0zKXtmb3IoO2EubGFzdENoaWxkIT1hLmZpcnN0Q2hpbGQ7KWEucmVtb3ZlQ2hpbGQoYS5sYXN0Q2hpbGQpO2EuZmlyc3RDaGlsZC5kYXRhPVN0cmluZyhiKX1lbHNlIF8ueGwoYSksYS5hcHBlbmRDaGlsZChfLmtnKGEpLmNyZWF0ZVRleHROb2RlKFN0cmluZyhiKSkpfTtpemE9e1NDUklQVDoxLFNUWUxFOjEsSEVBRDoxLElGUkFNRToxLE9CSkVDVDoxfTtqemE9e0lNRzpcIiBcIixCUjpcIlxcblwifTtfLmx6YT1mdW5jdGlvbihhKXtyZXR1cm4gYS5oYXNBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiKSYma3phKGEpfTtfLklsPWZ1bmN0aW9uKGEsYil7Yj9hLnRhYkluZGV4PTA6KGEudGFiSW5kZXg9LTEsYS5yZW1vdmVBdHRyaWJ1dGUoXCJ0YWJJbmRleFwiKSl9O1xuXy5MbD1mdW5jdGlvbihhKXtyZXR1cm4gYS50YWdOYW1lPT1cIkFcIiYmYS5oYXNBdHRyaWJ1dGUoXCJocmVmXCIpfHxhLnRhZ05hbWU9PVwiSU5QVVRcInx8YS50YWdOYW1lPT1cIlRFWFRBUkVBXCJ8fGEudGFnTmFtZT09XCJTRUxFQ1RcInx8YS50YWdOYW1lPT1cIkJVVFRPTlwiPyFhLmRpc2FibGVkJiYoIWEuaGFzQXR0cmlidXRlKFwidGFiaW5kZXhcIil8fGt6YShhKSk6Xy5semEoYSl9O2t6YT1mdW5jdGlvbihhKXthPWEudGFiSW5kZXg7cmV0dXJuIHR5cGVvZiBhPT09XCJudW1iZXJcIiYmYT49MCYmYTwzMjc2OH07Xy5NbD1mdW5jdGlvbihhKXt2YXIgYj1bXTttemEoYSxiLCEwKTthPWIuam9pbihcIlwiKTthPWEucmVwbGFjZSgvIFxceEFEIC9nLFwiIFwiKS5yZXBsYWNlKC9cXHhBRC9nLFwiXCIpO2E9YS5yZXBsYWNlKC9cXHUyMDBCL2csXCJcIik7YT1hLnJlcGxhY2UoLyArL2csXCIgXCIpO2EhPVwiIFwiJiYoYT1hLnJlcGxhY2UoL15cXHMqLyxcIlwiKSk7cmV0dXJuIGF9O1xuXy5uemE9ZnVuY3Rpb24oYSl7dmFyIGI9W107bXphKGEsYiwhMSk7cmV0dXJuIGIuam9pbihcIlwiKX07bXphPWZ1bmN0aW9uKGEsYixjKXtpZighKGEubm9kZU5hbWUgaW4gaXphKSlpZihhLm5vZGVUeXBlPT0zKWM/Yi5wdXNoKFN0cmluZyhhLm5vZGVWYWx1ZSkucmVwbGFjZSgvKFxcclxcbnxcXHJ8XFxuKS9nLFwiXCIpKTpiLnB1c2goYS5ub2RlVmFsdWUpO2Vsc2UgaWYoYS5ub2RlTmFtZSBpbiBqemEpYi5wdXNoKGp6YVthLm5vZGVOYW1lXSk7ZWxzZSBmb3IoYT1hLmZpcnN0Q2hpbGQ7YTspbXphKGEsYixjKSxhPWEubmV4dFNpYmxpbmd9O1xuXy5ObD1mdW5jdGlvbihhLGIsYyxkKXtpZighYiYmIWMpcmV0dXJuIG51bGw7dmFyIGU9Yj9TdHJpbmcoYikudG9VcHBlckNhc2UoKTpudWxsO3JldHVybiBfLm5lKGEsZnVuY3Rpb24oZil7cmV0dXJuKCFlfHxmLm5vZGVOYW1lPT1lKSYmKCFjfHx0eXBlb2YgZi5jbGFzc05hbWU9PT1cInN0cmluZ1wiJiZfLnZhKGYuY2xhc3NOYW1lLnNwbGl0KC9cXHMrLyksYykpfSwhMCxkKX07Xy5PbD1mdW5jdGlvbihhLGIpe3JldHVybiBfLk5sKGEsbnVsbCxiKX07Xy5uZT1mdW5jdGlvbihhLGIsYyxkKXthJiYhYyYmKGE9YS5wYXJlbnROb2RlKTtmb3IoYz0wO2EmJihkPT1udWxsfHxjPD1kKTspe2lmKGIoYSkpcmV0dXJuIGE7YT1hLnBhcmVudE5vZGU7YysrfXJldHVybiBudWxsfTtfLlBsPWZ1bmN0aW9uKGEpe3RyeXt2YXIgYj1hJiZhLmFjdGl2ZUVsZW1lbnQ7cmV0dXJuIGImJmIubm9kZU5hbWU/YjpudWxsfWNhdGNoKGMpe3JldHVybiBudWxsfX07XG5fLnB6YT1mdW5jdGlvbigpe3ZhciBhPV8uUWUoKTtyZXR1cm4gYS5kZXZpY2VQaXhlbFJhdGlvIT09dm9pZCAwP2EuZGV2aWNlUGl4ZWxSYXRpbzphLm1hdGNoTWVkaWE/b3phKDMpfHxvemEoMil8fG96YSgxLjUpfHxvemEoMSl8fC43NToxfTtvemE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uUWUoKS5tYXRjaE1lZGlhKFwiKG1pbi1yZXNvbHV0aW9uOiBcIithK1wiZHBweCksKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogXCIrYStcIiksKG1pbi1yZXNvbHV0aW9uOiBcIithKjk2K1wiZHBpKVwiKS5tYXRjaGVzP2E6MH07Xy5JeWE9ZnVuY3Rpb24oYSl7dGhpcy5vYT1hfHxfLmJhLmRvY3VtZW50fHxkb2N1bWVudH07Xy5tPV8uSXlhLnByb3RvdHlwZTtfLm0uQWY9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vYX07Xy5tLk1hPWZ1bmN0aW9uKGEpe3JldHVybiBKeWEodGhpcy5vYSxhKX07Xy5tLkNYZD1fLkl5YS5wcm90b3R5cGUuTWE7XG5fLm0uZ2V0RWxlbWVudHNCeVRhZ05hbWU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4oYnx8dGhpcy5vYSkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoU3RyaW5nKGEpKX07Xy5tLnNldFByb3BlcnRpZXM9Xy5PeWE7Xy5tLlhrPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gU3lhKHRoaXMub2EsYXJndW1lbnRzKX07Xy5tLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uVHlhKHRoaXMub2EsYSl9O18ubS5jcmVhdGVUZXh0Tm9kZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5vYS5jcmVhdGVUZXh0Tm9kZShTdHJpbmcoYSkpfTtfLm0uZ2V0V2luZG93PWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vYTtyZXR1cm4gYS5wYXJlbnRXaW5kb3d8fGEuZGVmYXVsdFZpZXd9O18ubS5hcHBlbmRDaGlsZD1fLnZsO18ubS5hcHBlbmQ9Xy53bDtfLm0uY2FuSGF2ZUNoaWxkcmVuPWZ1bmN0aW9uKGEpe2lmKGEubm9kZVR5cGUhPTEpcmV0dXJuITE7c3dpdGNoKGEudGFnTmFtZSl7Y2FzZSBcIkFQUExFVFwiOmNhc2UgXCJBUkVBXCI6Y2FzZSBcIkJBU0VcIjpjYXNlIFwiQlJcIjpjYXNlIFwiQ09MXCI6Y2FzZSBcIkNPTU1BTkRcIjpjYXNlIFwiRU1CRURcIjpjYXNlIFwiRlJBTUVcIjpjYXNlIFwiSFJcIjpjYXNlIFwiSU1HXCI6Y2FzZSBcIklOUFVUXCI6Y2FzZSBcIklGUkFNRVwiOmNhc2UgXCJJU0lOREVYXCI6Y2FzZSBcIktFWUdFTlwiOmNhc2UgXCJMSU5LXCI6Y2FzZSBcIk5PRlJBTUVTXCI6Y2FzZSBcIk5PU0NSSVBUXCI6Y2FzZSBcIk1FVEFcIjpjYXNlIFwiT0JKRUNUXCI6Y2FzZSBcIlBBUkFNXCI6Y2FzZSBcIlNDUklQVFwiOmNhc2UgXCJTT1VSQ0VcIjpjYXNlIFwiU1RZTEVcIjpjYXNlIFwiVFJBQ0tcIjpjYXNlIFwiV0JSXCI6cmV0dXJuITF9cmV0dXJuITB9O1xuXy5tLmxUYz1fLnhsO18ubS5TOWI9Xy56bDtfLm0uSDJhPV8uQ2w7Xy5tLmdldENoaWxkcmVuPV8uRWw7Xy5tLkgzYj1fLkZsO18ubS5jb250YWlucz1fLndmO18ubS5ZbT1fLmtnO18ubS5xXz1fLkhsO18ubS55a2E9Xy5NbDtfLlFsPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hO2ImJihkPSgwLF8uaGgpKGEsYikpO2Q9Xy5RbC5xWGQoZCk7dHlwZW9mIF8uYmEuc2V0SW1tZWRpYXRlPT09XCJmdW5jdGlvblwiJiYoY3x8Xy5RbC5IVmQoKSk/Xy5iYS5zZXRJbW1lZGlhdGUoZCk6KF8uUWwuY3dhfHwoXy5RbC5jd2E9Xy5RbC5JZGQoKSksXy5RbC5jd2EoZCkpfTtfLlFsLkhWZD1mdW5jdGlvbigpe3JldHVybiBfLmJhLldpbmRvdyYmXy5iYS5XaW5kb3cucHJvdG90eXBlJiZfLmJhLldpbmRvdy5wcm90b3R5cGUuc2V0SW1tZWRpYXRlPT1fLmJhLnNldEltbWVkaWF0ZT8hMTohMH07XG5fLlFsLklkZD1mdW5jdGlvbigpe3ZhciBhPV8uYmEuTWVzc2FnZUNoYW5uZWw7dHlwZW9mIGE9PT1cInVuZGVmaW5lZFwiJiZ0eXBlb2Ygd2luZG93IT09XCJ1bmRlZmluZWRcIiYmd2luZG93LnBvc3RNZXNzYWdlJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciYmIV8uaGEoXCJQcmVzdG9cIikmJihhPWZ1bmN0aW9uKCl7dmFyIGU9Xy51bChcIklGUkFNRVwiKTtlLnN0eWxlLmRpc3BsYXk9XCJub25lXCI7ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFwcGVuZENoaWxkKGUpO3ZhciBmPWUuY29udGVudFdpbmRvdztlPWYuZG9jdW1lbnQ7ZS5vcGVuKCk7ZS5jbG9zZSgpO3ZhciBnPVwiY2FsbEltbWVkaWF0ZVwiK01hdGgucmFuZG9tKCksaD1mLmxvY2F0aW9uLnByb3RvY29sPT1cImZpbGU6XCI/XCIqXCI6Zi5sb2NhdGlvbi5wcm90b2NvbCtcIi8vXCIrZi5sb2NhdGlvbi5ob3N0O2U9KDAsXy5oaCkoZnVuY3Rpb24oayl7aWYoKGg9PVwiKlwifHxrLm9yaWdpbj09aCkmJmsuZGF0YT09Zyl0aGlzLnBvcnQxLm9ubWVzc2FnZSgpfSxcbnRoaXMpO2YuYWRkRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIixlLCExKTt0aGlzLnBvcnQxPXt9O3RoaXMucG9ydDI9e3Bvc3RNZXNzYWdlOmZ1bmN0aW9uKCl7Zi5wb3N0TWVzc2FnZShnLGgpfX19KTtpZih0eXBlb2YgYSE9PVwidW5kZWZpbmVkXCIpe3ZhciBiPW5ldyBhLGM9e30sZD1jO2IucG9ydDEub25tZXNzYWdlPWZ1bmN0aW9uKCl7aWYoYy5uZXh0IT09dm9pZCAwKXtjPWMubmV4dDt2YXIgZT1jLmNiO2MuY2I9bnVsbDtlKCl9fTtyZXR1cm4gZnVuY3Rpb24oZSl7ZC5uZXh0PXtjYjplfTtkPWQubmV4dDtiLnBvcnQyLnBvc3RNZXNzYWdlKDApfX1yZXR1cm4gZnVuY3Rpb24oZSl7Xy5iYS5zZXRUaW1lb3V0KGUsMCl9fTtfLlFsLnFYZD1fLmR4YTt2YXIgcXphPWZ1bmN0aW9uKCl7dGhpcy5BYT10aGlzLm9hPW51bGx9O3F6YS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYil7dmFyIGM9cnphLmdldCgpO2Muc2V0KGEsYik7dGhpcy5BYT90aGlzLkFhLm5leHQ9Yzp0aGlzLm9hPWM7dGhpcy5BYT1jfTtxemEucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbigpe3ZhciBhPW51bGw7dGhpcy5vYSYmKGE9dGhpcy5vYSx0aGlzLm9hPXRoaXMub2EubmV4dCx0aGlzLm9hfHwodGhpcy5BYT1udWxsKSxhLm5leHQ9bnVsbCk7cmV0dXJuIGF9O3ZhciByemE9bmV3ICR3YShmdW5jdGlvbigpe3JldHVybiBuZXcgc3phfSxmdW5jdGlvbihhKXtyZXR1cm4gYS5yZXNldCgpfSksc3phPWZ1bmN0aW9uKCl7dGhpcy5uZXh0PXRoaXMuc2NvcGU9dGhpcy5iST1udWxsfTtzemEucHJvdG90eXBlLnNldD1mdW5jdGlvbihhLGIpe3RoaXMuYkk9YTt0aGlzLnNjb3BlPWI7dGhpcy5uZXh0PW51bGx9O1xuc3phLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMubmV4dD10aGlzLnNjb3BlPXRoaXMuYkk9bnVsbH07dmFyIHR6YSx1emEsdnphLHd6YSx4emE7dXphPSExO3Z6YT1uZXcgcXphO18uUmw9ZnVuY3Rpb24oYSxiKXt0emF8fHd6YSgpO3V6YXx8KHR6YSgpLHV6YT0hMCk7dnphLmFkZChhLGIpfTt3emE9ZnVuY3Rpb24oKXtpZihfLmJhLlByb21pc2UmJl8uYmEuUHJvbWlzZS5yZXNvbHZlKXt2YXIgYT1fLmJhLlByb21pc2UucmVzb2x2ZSh2b2lkIDApO3R6YT1mdW5jdGlvbigpe2EudGhlbih4emEpfX1lbHNlIHR6YT1mdW5jdGlvbigpe18uUWwoeHphKX19O3h6YT1mdW5jdGlvbigpe2Zvcih2YXIgYTthPXZ6YS5yZW1vdmUoKTspe3RyeXthLmJJLmNhbGwoYS5zY29wZSl9Y2F0Y2goYil7Xy5jYShiKX1yemEucHV0KGEpfXV6YT0hMX07dmFyIHl6YT1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4hMTt0cnl7cmV0dXJuISFhLiRnb29nX1RoZW5hYmxlfWNhdGNoKGIpe3JldHVybiExfX07dmFyIHp6YSxBemEsQnphLEt6YSxPemEsTXphLFB6YTtfLmpmPWZ1bmN0aW9uKGEsYil7dGhpcy56ZD0wO3RoaXMuR3g9dm9pZCAwO3RoaXMuSEJhPXRoaXMuT2lhPXRoaXMuSW09bnVsbDt0aGlzLlk4YT10aGlzLnlyYj0hMTtpZihhIT1fLmN4YSl0cnl7dmFyIGM9dGhpczthLmNhbGwoYixmdW5jdGlvbihkKXtjLnJNKDIsZCl9LGZ1bmN0aW9uKGQpe2Muck0oMyxkKX0pfWNhdGNoKGQpe3RoaXMuck0oMyxkKX19O3p6YT1mdW5jdGlvbigpe3RoaXMubmV4dD10aGlzLmNvbnRleHQ9dGhpcy5BYT10aGlzLkJhPXRoaXMub2E9bnVsbDt0aGlzLmpxYT0hMX07enphLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuY29udGV4dD10aGlzLkFhPXRoaXMuQmE9dGhpcy5vYT1udWxsO3RoaXMuanFhPSExfTtBemE9bmV3ICR3YShmdW5jdGlvbigpe3JldHVybiBuZXcgenphfSxmdW5jdGlvbihhKXthLnJlc2V0KCl9KTtcbkJ6YT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9QXphLmdldCgpO2QuQmE9YTtkLkFhPWI7ZC5jb250ZXh0PWM7cmV0dXJuIGR9O18uZ2U9ZnVuY3Rpb24oYSl7aWYoYSBpbnN0YW5jZW9mIF8uamYpcmV0dXJuIGE7dmFyIGI9bmV3IF8uamYoXy5jeGEpO2Iuck0oMixhKTtyZXR1cm4gYn07Xy5VbD1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uamYoZnVuY3Rpb24oYixjKXtjKGEpfSl9O18uRHphPWZ1bmN0aW9uKGEsYixjKXtDemEoYSxiLGMsbnVsbCl8fF8uUmwoXy5paChiLGEpKX07Xy5xcWE9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLmpmKGZ1bmN0aW9uKGIsYyl7YS5sZW5ndGh8fGIodm9pZCAwKTtmb3IodmFyIGQ9MCxlO2Q8YS5sZW5ndGg7ZCsrKWU9YVtkXSxfLkR6YShlLGIsYyl9KX07XG5fLnhmPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5qZihmdW5jdGlvbihiLGMpe3ZhciBkPWEubGVuZ3RoLGU9W107aWYoZClmb3IodmFyIGY9ZnVuY3Rpb24obCxuKXtkLS07ZVtsXT1uO2Q9PTAmJmIoZSl9LGc9ZnVuY3Rpb24obCl7YyhsKX0saD0wLGs7aDxhLmxlbmd0aDtoKyspaz1hW2hdLF8uRHphKGssXy5paChmLGgpLGcpO2Vsc2UgYihlKX0pfTtfLkV6YT1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uamYoZnVuY3Rpb24oYil7dmFyIGM9YS5sZW5ndGgsZD1bXTtpZihjKWZvcih2YXIgZT1mdW5jdGlvbihoLGssbCl7Yy0tO2RbaF09az97RiRjOiEwLHZhbHVlOmx9OntGJGM6ITEscmVhc29uOmx9O2M9PTAmJmIoZCl9LGY9MCxnO2Y8YS5sZW5ndGg7ZisrKWc9YVtmXSxfLkR6YShnLF8uaWgoZSxmLCEwKSxfLmloKGUsZiwhMSkpO2Vsc2UgYihkKX0pfTtcbl8udmQ9ZnVuY3Rpb24oKXt2YXIgYSxiLGM9bmV3IF8uamYoZnVuY3Rpb24oZCxlKXthPWQ7Yj1lfSk7cmV0dXJuIG5ldyBGemEoYyxhLGIpfTtfLmpmLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gR3phKHRoaXMsdHlwZW9mIGE9PT1cImZ1bmN0aW9uXCI/YTpudWxsLHR5cGVvZiBiPT09XCJmdW5jdGlvblwiP2I6bnVsbCxjKX07Xy5qZi5wcm90b3R5cGUuJGdvb2dfVGhlbmFibGU9ITA7Xy5UZD1mdW5jdGlvbihhLGIsYyl7Yj1CemEoYixiLGMpO2IuanFhPSEwO0h6YShhLGIpO3JldHVybiBhfTtfLmpmLnByb3RvdHlwZS56cj1mdW5jdGlvbihhLGIpe3JldHVybiBHemEodGhpcyxudWxsLGEsYil9O18uamYucHJvdG90eXBlLmNhdGNoPV8uamYucHJvdG90eXBlLnpyO18uamYucHJvdG90eXBlLmNhbmNlbD1mdW5jdGlvbihhKXtpZih0aGlzLnpkPT0wKXt2YXIgYj1uZXcgXy5rZChhKTtfLlJsKGZ1bmN0aW9uKCl7SXphKHRoaXMsYil9LHRoaXMpfX07XG52YXIgSXphPWZ1bmN0aW9uKGEsYil7aWYoYS56ZD09MClpZihhLkltKXt2YXIgYz1hLkltO2lmKGMuT2lhKXtmb3IodmFyIGQ9MCxlPW51bGwsZj1udWxsLGc9Yy5PaWE7ZyYmKGcuanFhfHwoZCsrLGcub2E9PWEmJihlPWcpLCEoZSYmZD4xKSkpO2c9Zy5uZXh0KWV8fChmPWcpO2UmJihjLnpkPT0wJiZkPT0xP0l6YShjLGIpOihmPyhkPWYsZC5uZXh0PT1jLkhCYSYmKGMuSEJhPWQpLGQubmV4dD1kLm5leHQubmV4dCk6SnphKGMpLEt6YShjLGUsMyxiKSkpfWEuSW09bnVsbH1lbHNlIGEuck0oMyxiKX0sSHphPWZ1bmN0aW9uKGEsYil7YS5PaWF8fGEuemQhPTImJmEuemQhPTN8fEx6YShhKTthLkhCYT9hLkhCYS5uZXh0PWI6YS5PaWE9YjthLkhCYT1ifSxHemE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9QnphKG51bGwsbnVsbCxudWxsKTtlLm9hPW5ldyBfLmpmKGZ1bmN0aW9uKGYsZyl7ZS5CYT1iP2Z1bmN0aW9uKGgpe3RyeXt2YXIgaz1iLmNhbGwoZCxoKTtmKGspfWNhdGNoKGwpe2cobCl9fTpcbmY7ZS5BYT1jP2Z1bmN0aW9uKGgpe3RyeXt2YXIgaz1jLmNhbGwoZCxoKTtrPT09dm9pZCAwJiZoIGluc3RhbmNlb2YgXy5rZD9nKGgpOmYoayl9Y2F0Y2gobCl7ZyhsKX19Omd9KTtlLm9hLkltPWE7SHphKGEsZSk7cmV0dXJuIGUub2F9O18uamYucHJvdG90eXBlLkJVZD1mdW5jdGlvbihhKXt0aGlzLnpkPTA7dGhpcy5yTSgyLGEpfTtfLmpmLnByb3RvdHlwZS5DVWQ9ZnVuY3Rpb24oYSl7dGhpcy56ZD0wO3RoaXMuck0oMyxhKX07Xy5qZi5wcm90b3R5cGUuck09ZnVuY3Rpb24oYSxiKXt0aGlzLnpkPT0wJiYodGhpcz09PWImJihhPTMsYj1uZXcgVHlwZUVycm9yKFwiQ2FcIikpLHRoaXMuemQ9MSxDemEoYix0aGlzLkJVZCx0aGlzLkNVZCx0aGlzKXx8KHRoaXMuR3g9Yix0aGlzLnpkPWEsdGhpcy5JbT1udWxsLEx6YSh0aGlzKSxhIT0zfHxiIGluc3RhbmNlb2YgXy5rZHx8TXphKHRoaXMsYikpKX07XG52YXIgQ3phPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGEgaW5zdGFuY2VvZiBfLmpmKXJldHVybiBIemEoYSxCemEoYnx8Xy5jeGEsY3x8bnVsbCxkKSksITA7aWYoeXphKGEpKXJldHVybiBhLnRoZW4oYixjLGQpLCEwO2lmKF8uRGEoYSkpdHJ5e3ZhciBlPWEudGhlbjtpZih0eXBlb2YgZT09PVwiZnVuY3Rpb25cIilyZXR1cm4gTnphKGEsZSxiLGMsZCksITB9Y2F0Y2goZil7cmV0dXJuIGMuY2FsbChkLGYpLCEwfXJldHVybiExfSxOemE9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj0hMSxnPWZ1bmN0aW9uKGspe2Z8fChmPSEwLGMuY2FsbChlLGspKX0saD1mdW5jdGlvbihrKXtmfHwoZj0hMCxkLmNhbGwoZSxrKSl9O3RyeXtiLmNhbGwoYSxnLGgpfWNhdGNoKGspe2goayl9fSxMemE9ZnVuY3Rpb24oYSl7YS55cmJ8fChhLnlyYj0hMCxfLlJsKGEubjZhLGEpKX0sSnphPWZ1bmN0aW9uKGEpe3ZhciBiPW51bGw7YS5PaWEmJihiPWEuT2lhLGEuT2lhPWIubmV4dCxiLm5leHQ9bnVsbCk7YS5PaWF8fFxuKGEuSEJhPW51bGwpO3JldHVybiBifTtfLmpmLnByb3RvdHlwZS5uNmE9ZnVuY3Rpb24oKXtmb3IodmFyIGE7YT1KemEodGhpcyk7KUt6YSh0aGlzLGEsdGhpcy56ZCx0aGlzLkd4KTt0aGlzLnlyYj0hMX07S3phPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGM9PTMmJmIuQWEmJiFiLmpxYSlmb3IoO2EmJmEuWThhO2E9YS5JbSlhLlk4YT0hMTtpZihiLm9hKWIub2EuSW09bnVsbCxPemEoYixjLGQpO2Vsc2UgdHJ5e2IuanFhP2IuQmEuY2FsbChiLmNvbnRleHQpOk96YShiLGMsZCl9Y2F0Y2goZSl7UHphLmNhbGwobnVsbCxlKX1BemEucHV0KGIpfTtPemE9ZnVuY3Rpb24oYSxiLGMpe2I9PTI/YS5CYS5jYWxsKGEuY29udGV4dCxjKTphLkFhJiZhLkFhLmNhbGwoYS5jb250ZXh0LGMpfTtNemE9ZnVuY3Rpb24oYSxiKXthLlk4YT0hMDtfLlJsKGZ1bmN0aW9uKCl7YS5ZOGEmJlB6YS5jYWxsKG51bGwsYil9KX07UHphPV8uY2E7Xy5rZD1mdW5jdGlvbihhKXtfLmFhLmNhbGwodGhpcyxhKX07XG5fLm1oKF8ua2QsXy5hYSk7Xy5rZC5wcm90b3R5cGUubmFtZT1cImNhbmNlbFwiO3ZhciBGemE9ZnVuY3Rpb24oYSxiLGMpe3RoaXMucHJvbWlzZT1hO3RoaXMucmVzb2x2ZT1iO3RoaXMucmVqZWN0PWN9O18uVmw9ZnVuY3Rpb24oYSxiKXtfLk5rLmNhbGwodGhpcyk7dGhpcy5vYT1hfHwxO3RoaXMuQWE9Ynx8Xy5iYTt0aGlzLkJhPSgwLF8uaGgpKHRoaXMudVNkLHRoaXMpO3RoaXMuQ2E9Xy5qaCgpfTtfLm1oKF8uVmwsXy5Oayk7Xy5tPV8uVmwucHJvdG90eXBlO18ubS5lbmFibGVkPSExO18ubS54Mz1udWxsO18ubS5zZXRJbnRlcnZhbD1mdW5jdGlvbihhKXt0aGlzLm9hPWE7dGhpcy54MyYmdGhpcy5lbmFibGVkPyh0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpOnRoaXMueDMmJnRoaXMuc3RvcCgpfTtfLm0udVNkPWZ1bmN0aW9uKCl7aWYodGhpcy5lbmFibGVkKXt2YXIgYT1fLmpoKCktdGhpcy5DYTthPjAmJmE8dGhpcy5vYSouOD90aGlzLngzPXRoaXMuQWEuc2V0VGltZW91dCh0aGlzLkJhLHRoaXMub2EtYSk6KHRoaXMueDMmJih0aGlzLkFhLmNsZWFyVGltZW91dCh0aGlzLngzKSx0aGlzLngzPW51bGwpLHRoaXMuTV9iKCksdGhpcy5lbmFibGVkJiYodGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKSl9fTtcbl8ubS5NX2I9ZnVuY3Rpb24oKXt0aGlzLmRpc3BhdGNoRXZlbnQoXCJ0aWNrXCIpfTtfLm0uc3RhcnQ9ZnVuY3Rpb24oKXt0aGlzLmVuYWJsZWQ9ITA7dGhpcy54M3x8KHRoaXMueDM9dGhpcy5BYS5zZXRUaW1lb3V0KHRoaXMuQmEsdGhpcy5vYSksdGhpcy5DYT1fLmpoKCkpfTtfLm0uc3RvcD1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMTt0aGlzLngzJiYodGhpcy5BYS5jbGVhclRpbWVvdXQodGhpcy54MyksdGhpcy54Mz1udWxsKX07Xy5tLlFjPWZ1bmN0aW9uKCl7Xy5WbC5PZC5RYy5jYWxsKHRoaXMpO3RoaXMuc3RvcCgpO2RlbGV0ZSB0aGlzLkFhfTtcbl8uV2w9ZnVuY3Rpb24oYSxiLGMpe2lmKHR5cGVvZiBhPT09XCJmdW5jdGlvblwiKWMmJihhPSgwLF8uaGgpKGEsYykpO2Vsc2UgaWYoYSYmdHlwZW9mIGEuaGFuZGxlRXZlbnQ9PVwiZnVuY3Rpb25cIilhPSgwLF8uaGgpKGEuaGFuZGxlRXZlbnQsYSk7ZWxzZSB0aHJvdyBFcnJvcihcIkRhXCIpO3JldHVybiBOdW1iZXIoYik+MjE0NzQ4MzY0Nz8tMTpfLmJhLnNldFRpbWVvdXQoYSxifHwwKX07Xy5YbD1mdW5jdGlvbihhKXtfLmJhLmNsZWFyVGltZW91dChhKX07Xy5UZj1mdW5jdGlvbihhLGIpe3ZhciBjPW51bGw7cmV0dXJuKG5ldyBfLmpmKGZ1bmN0aW9uKGQsZSl7Yz1fLldsKGZ1bmN0aW9uKCl7ZChiKX0sYSk7Yz09LTEmJmUoRXJyb3IoXCJFYVwiKSl9KSkuenIoZnVuY3Rpb24oZCl7Xy5YbChjKTt0aHJvdyBkO30pfTtfLllsPWZ1bmN0aW9uKGEpe18uQ2suY2FsbCh0aGlzKTt0aGlzLmtiPWE7dGhpcy5RYT0wO3RoaXMuUmE9MTAwO3RoaXMuTGE9bmV3IE1hcDt0aGlzLmhiPW5ldyBTZXQ7dGhpcy5PYT0zRTQ7dGhpcy5HYT1uZXcgXy5WbCh0aGlzLk9hKTt0aGlzLkdhLmxpc3RlbihcInRpY2tcIix0aGlzLkJhLCExLHRoaXMpO18uSGcodGhpcyx0aGlzLkdhKX07Xy5EKF8uWWwsXy5Dayk7dmFyIFF6YT1mdW5jdGlvbihhKXthLkdhLmVuYWJsZWR8fGEuR2Euc3RhcnQoKTthLlFhKys7YS5RYT49YS5SYSYmYS5CYSgpfTtfLllsLnByb3RvdHlwZS5CYT1mdW5jdGlvbigpe3ZhciBhPXRoaXMuTGEudmFsdWVzKCk7YT1bXS5jb25jYXQoXy5tZChhKSkuZmlsdGVyKGZ1bmN0aW9uKGIpe3JldHVybiBiLm9hLnNpemV9KTthLmxlbmd0aCYmdGhpcy5rYi5mbHVzaChhLCExKTtSemEoYSk7dGhpcy5RYT0wO3RoaXMuR2EuZW5hYmxlZCYmdGhpcy5HYS5zdG9wKCl9O1xuXy5ZbC5wcm90b3R5cGUuQWE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5sYy5hcHBseSgxLGFyZ3VtZW50cyk7dGhpcy5MYS5oYXMoYSl8fHRoaXMuTGEuc2V0KGEsbmV3IG93YShhLGIpKX07Xy5ZbC5wcm90b3R5cGUuQ2E9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5sYy5hcHBseSgxLGFyZ3VtZW50cyk7dGhpcy5MYS5oYXMoYSl8fHRoaXMuTGEuc2V0KGEsbmV3IHB3YShhLGIpKX07dmFyIFN6YT1mdW5jdGlvbihhLGIpe3JldHVybiBhLmhiLmhhcyhiKT92b2lkIDA6YS5MYS5nZXQoYil9O18uWWwucHJvdG90eXBlLm9hPWZ1bmN0aW9uKGEpe3RoaXMuVWEoYSwxLF8ubGMuYXBwbHkoMSxhcmd1bWVudHMpKX07Xy5ZbC5wcm90b3R5cGUuVWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLmxjLmFwcGx5KDIsYXJndW1lbnRzKSxkPVN6YSh0aGlzLGEpO2QmJmQgaW5zdGFuY2VvZiBvd2EmJihkLkFhKGIsYyksUXphKHRoaXMpKX07XG5fLllsLnByb3RvdHlwZS55dT1mdW5jdGlvbihhLGIpe3ZhciBjPV8ubGMuYXBwbHkoMixhcmd1bWVudHMpLGQ9U3phKHRoaXMsYSk7ZCYmZCBpbnN0YW5jZW9mIHB3YSYmKGQueXUoYixjKSxRemEodGhpcykpfTt2YXIgUnphPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7YisrKWFbYl0uY2xlYXIoKX07dmFyIFR6YT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKFR6YSxfLnEpO1R6YS5vYj1bMl07Xy5abD1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uWmwsXy5xKTtfLlpsLnByb3RvdHlwZS5nZXRTZWNvbmRzPWZ1bmN0aW9uKCl7cmV0dXJuIF8uJGModGhpcywxKX07Xy5abC5wcm90b3R5cGUuc2V0U2Vjb25kcz1mdW5jdGlvbihhKXtyZXR1cm4gXy55dmEodGhpcywxLGEpfTtfLiRsPVswLF8uTWosXy5Yal07Xy5VZj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uVWYsXy5xKTtfLlVmLnByb3RvdHlwZS5nZXRUeXBlTmFtZT1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywxKS5zcGxpdChcIi9cIikucG9wKCl9O18uVWYucHJvdG90eXBlLmdldFZhbHVlPWZ1bmN0aW9uKCl7dmFyIGE9Xy5GaCh0aGlzLDIpO2lmKEFycmF5LmlzQXJyYXkoYSl8fGEgaW5zdGFuY2VvZiBfLnEpdGhyb3cgRXJyb3IoXCJqYVwiKTtyZXR1cm4gXy5OaCh0aGlzLDIpfTtfLlVmLnByb3RvdHlwZS5zZXRWYWx1ZT1mdW5jdGlvbihhKXtpZihhPT1udWxsKWE9dGhpcztlbHNlIGlmKEFycmF5LmlzQXJyYXkoYSkpYT1fLlZmKHRoaXMsMixDZGEoYSxIZGEsdm9pZCAwLHZvaWQgMCwhMSkpO2Vsc2UgaWYodHlwZW9mIGE9PT1cInN0cmluZ1wifHxhIGluc3RhbmNlb2YgXy5NYXx8bWJhKGEpKWE9Xy51Yih0aGlzLDIsXy53ZWEoYSksXy5MYSgpKTtlbHNlIHRocm93IEVycm9yKFwia2FgXCIrYSk7cmV0dXJuIGF9O18uYW09WzAsXy5nayxPdmFdO18uV2Y9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLldmLF8ucSk7Xy5XZi5wcm90b3R5cGUuRHI9ZnVuY3Rpb24oKXtyZXR1cm4gXy5paSh0aGlzLDEpfTtfLnZxYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLlBpKGEsMSxiKX07Xy5XZi5wcm90b3R5cGUuZ2V0TWVzc2FnZT1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywyKX07Xy5VemE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uUmUoYSxfLlVmLDMsXy5TZSgpKX07Xy51cWE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5ZaChhLDMsYil9O18uV2Yub2I9WzNdO3ZhciBhbmE7Xy5WemE9ISEoXy5kaFs5XSY4KTtfLld6YT0hIShfLmRoWzldJjE2KTthbmE9ISEoXy5kaFs5XSY2NCk7Xy5YemE9ISEoXy5kaFs5XSYxMjgpO18uWXphPSEhKF8uZGhbOV0mMjU2KTt2YXIgWnphPSEhKF8uZGhbMjldJjEwMjQpLCR6YT0hIShfLmRoWzI5XSYyMDQ4KTt2YXIgYkFhO18uYUFhPSEhKF8uZGhbMTBdPj4xNCYxKTtiQWE9ISEoXy5kaFsxMF0+PjE1JjEpO18uY0FhPSEhKF8uZGhbNDJdJjEpO18uZEFhPSEhKF8uZGhbNTNdJjQpO18uZUFhPSEhKF8uZGhbMTRdPj4yMSYxKTtfLmZBYT0hIShfLmRoWzQzXSYzMik7dmFyIGdBYT0hIShfLmRoWzE3XSYxNik7dmFyIGhBYT0hIShfLmRoWzQwXSYxKSxpQWE9ISEoXy5kaFs0MF0mMiksakFhPSEhKF8uZGhbNDBdJjQpO3ZhciBrQWE7Xy5ibT0hIShfLmRoWzE3XSYzMik7a0FhPSEhKF8uZGhbMTddJjY0KTt2YXIgbEFhPSEhKF8uZGhbMjNdJjMyKSxtQWE9ISEoXy5kaFsyM10mNjQpLG5BYT0hIShfLmRoWzIzXSYxMjgpLG9BYT0hIShfLmRoWzIzXSYyNTYpLHBBYT0hIShfLmRoWzIzXSY1MTIpLHFBYT0hIShfLmRoWzIzXSYxMDI0KSxyQWE9ISEoXy5kaFsyM10mMjA0OCksc0FhPSEhKF8uZGhbMjNdJjQwOTYpLHRBYT0hIShfLmRoWzIzXSY4MTkyKSx1QWE9ISEoXy5kaFsyM10+PjE0JjEpO18udkFhPSEhKF8uZGhbMzFdPj4yNiYxKTt2YXIgd0FhPSEhKF8uZGhbMzldPj4yNCYxKTt2YXIgbGlhO18uS2M9ISEoXy5kaFs0Nl0+PjIyJjEpO18ubmlhPSEhKF8uZGhbNDZdPj4xOCYxKTtfLnhBYT0hIShfLmRoWzQ2XT4+MjAmMSk7Xy55QWE9ISEoXy5kaFs0Nl0+PjIxJjEpO3ZhciBzaWEseGlhPVtdO18uekFhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGIoXCJbXCIrYS5zdWJzdHJpbmcoNCkpfTt2YXIgQUFhLERBYSxFQWEsR0FhO18uUWM9ZnVuY3Rpb24oYSxiKXt0aGlzLkFhPWE7dGhpcy5vYT1ifTtBQWE9ZnVuY3Rpb24oYSl7dGhyb3cgRXJyb3IoXCJHYWBcIithLkFhKTt9O18uUWMucHJvdG90eXBlLnN0cmluZz1mdW5jdGlvbihhKXtpZih0aGlzLm9hPT1udWxsKXJldHVybiBhcmd1bWVudHMubGVuZ3RoPT0wJiZBQWEodGhpcyksYTtpZih0eXBlb2YgdGhpcy5vYT09PVwic3RyaW5nXCIpcmV0dXJuIHRoaXMub2E7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkhhYFwiK3RoaXMuQWErXCJgXCIrdGhpcy5vYStcImBcIit0eXBlb2YgdGhpcy5vYSk7fTtfLmRtPWZ1bmN0aW9uKGEsYil7YT1fLmNtKGEpO3JldHVybiBhPT09bnVsbD9iOmF9O18uZW09ZnVuY3Rpb24oYSl7dmFyIGI9Xy5jbShhKTtiPT09bnVsbCYmQUFhKGEpO3JldHVybiBifTtcbl8uY209ZnVuY3Rpb24oYSl7aWYoYS5vYT09bnVsbClyZXR1cm4gbnVsbDtpZih0eXBlb2YgYS5vYT09PVwic3RyaW5nXCIpcmV0dXJuIGEub2E7dGhyb3cgbmV3IFR5cGVFcnJvcihcIklhYFwiK2EuQWErXCJgXCIrYS5vYStcImBcIit0eXBlb2YgYS5vYSk7fTtfLlFjLnByb3RvdHlwZS5ib29sPWZ1bmN0aW9uKGEpe2lmKHRoaXMub2E9PW51bGwpcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg9PTAmJkFBYSh0aGlzKSxhO2lmKHR5cGVvZiB0aGlzLm9hPT09XCJib29sZWFuXCIpcmV0dXJuIHRoaXMub2E7aWYodHlwZW9mIHRoaXMub2E9PT1cInN0cmluZ1wiKXt2YXIgYj10aGlzLm9hLnRvTG93ZXJDYXNlKCk7aWYoYj09PVwidHJ1ZVwifHxiPT09XCIxXCIpcmV0dXJuITA7aWYoYj09PVwiZmFsc2VcInx8Yj09PVwiMFwiKXJldHVybiExfXRocm93IG5ldyBUeXBlRXJyb3IoXCJKYWBcIit0aGlzLkFhK1wiYFwiK3RoaXMub2ErXCJgXCIrdHlwZW9mIHRoaXMub2EpO307XG5fLlNmPWZ1bmN0aW9uKGEsYil7YT1fLkJBYShhKTtyZXR1cm4gYT09PW51bGw/YjphfTtfLmZtPWZ1bmN0aW9uKGEpe3ZhciBiPV8uQkFhKGEpO2I9PT1udWxsJiZBQWEoYSk7cmV0dXJuIGJ9O18uQkFhPWZ1bmN0aW9uKGEpe2lmKGEub2E9PW51bGwpcmV0dXJuIG51bGw7aWYodHlwZW9mIGEub2E9PT1cImJvb2xlYW5cIilyZXR1cm4gYS5vYTtpZih0eXBlb2YgYS5vYT09PVwic3RyaW5nXCIpe3ZhciBiPWEub2EudG9Mb3dlckNhc2UoKTtpZihiPT09XCJ0cnVlXCJ8fGI9PT1cIjFcIilyZXR1cm4hMDtpZihiPT09XCJmYWxzZVwifHxiPT09XCIwXCIpcmV0dXJuITF9dGhyb3cgbmV3IFR5cGVFcnJvcihcIkthYFwiK2EuQWErXCJgXCIrYS5vYStcImBcIit0eXBlb2YgYS5vYSk7fTtcbl8uUWMucHJvdG90eXBlLm51bWJlcj1mdW5jdGlvbihhKXtpZih0aGlzLm9hPT1udWxsKXJldHVybiBhcmd1bWVudHMubGVuZ3RoPT0wJiZBQWEodGhpcyksYTtpZih0eXBlb2YgdGhpcy5vYT09PVwibnVtYmVyXCIpcmV0dXJuIHRoaXMub2E7aWYodHlwZW9mIHRoaXMub2E9PT1cInN0cmluZ1wiKXt2YXIgYj1OdW1iZXIodGhpcy5vYSk7aWYoIWlzTmFOKGIpJiYhXy5BZSh0aGlzLm9hKSlyZXR1cm4gYn10aHJvdyBuZXcgVHlwZUVycm9yKFwiTGFgXCIrdGhpcy5BYStcImBcIit0aGlzLm9hK1wiYFwiK3R5cGVvZiB0aGlzLm9hKTt9O18uU2M9ZnVuY3Rpb24oYSxiKXthPV8uZ20oYSk7cmV0dXJuIGE9PT1udWxsP2I6YX07Xy5obT1mdW5jdGlvbihhKXt2YXIgYj1fLmdtKGEpO2I9PT1udWxsJiZBQWEoYSk7cmV0dXJuIGJ9O1xuXy5nbT1mdW5jdGlvbihhKXtpZihhLm9hPT1udWxsKXJldHVybiBudWxsO2lmKHR5cGVvZiBhLm9hPT09XCJudW1iZXJcIilyZXR1cm4gYS5vYTtpZih0eXBlb2YgYS5vYT09PVwic3RyaW5nXCIpe3ZhciBiPU51bWJlcihhLm9hKTtpZighaXNOYU4oYikmJiFfLkFlKGEub2EpKXJldHVybiBifXRocm93IG5ldyBUeXBlRXJyb3IoXCJNYWBcIithLkFhK1wiYFwiK2Eub2ErXCJgXCIrdHlwZW9mIGEub2EpO307Xy5RYy5wcm90b3R5cGUuUGI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vYSE9bnVsbH07Xy5RYy5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gXy5lbSh0aGlzKX07Xy5pbT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIHR5cGVvZiBfLiRnYShiKT09PVwibnVtYmVyXCI/YS5udW1iZXIoYyk6YS5zdHJpbmcoYyl9O1xuXy5DQWE9ZnVuY3Rpb24oYSxiKXtpZihhLm9hPT1udWxsKXRocm93IEVycm9yKFwiR2FgXCIrYS5BYSk7YT1hLnN0cmluZygpO3JldHVybiBfLnpBYShhLGZ1bmN0aW9uKGMpe3JldHVybiBfLlZiKGIsYyl9KX07Xy5ScGE9ZnVuY3Rpb24oYSxiLGMpe2lmKGEub2E9PW51bGwpcmV0dXJuIGM7YT1hLnN0cmluZygpO3JldHVybiBfLnpBYShhLGZ1bmN0aW9uKGQpe3JldHVybiBfLlZiKGIsZCl9KX07Xy5RYy5wcm90b3R5cGUuYXJyYXk9ZnVuY3Rpb24oYSl7aWYodGhpcy5vYT09bnVsbCl7aWYoYXJndW1lbnRzLmxlbmd0aD09MCl0aHJvdyBFcnJvcihcIkdhYFwiK3RoaXMuQWEpO3JldHVybiBhfXJldHVybiBEQWEodGhpcyxFQWEodGhpcykpfTtfLkZBYT1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPWEub2E9PW51bGw/bnVsbDpEQWEoYSxFQWEoYSkpO3JldHVybiBjPT09bnVsbD9EQWEoYSxiKTpjfTtcbkRBYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLnBoKGIsZnVuY3Rpb24oYyxkKXtyZXR1cm4gbmV3IF8uUWModGhpcy5BYStcIltcIitkK1wiXVwiLGMpfSxhKX07RUFhPWZ1bmN0aW9uKGEpe3JldHVybiBfLkJhKGEub2EpP2Eub2E6dHlwZW9mIGEub2EhPT1cInN0cmluZ1wiP1thLm9hXTpHQWEoYSl9O0dBYT1mdW5jdGlvbihhKXthPWEuc3RyaW5nKCk7cmV0dXJuIGEudHJpbSgpPT1cIlwiP1tdOmEuc3BsaXQoXCIsXCIpLm1hcChmdW5jdGlvbihiKXtyZXR1cm4gYi50cmltKCl9KX07XG5fLlFjLnByb3RvdHlwZS5vYmplY3Q9ZnVuY3Rpb24oYSl7aWYodGhpcy5vYT09bnVsbCl7aWYoYXJndW1lbnRzLmxlbmd0aD09MCl0aHJvdyBFcnJvcihcIkdhYFwiK3RoaXMuQWEpO3JldHVybiBhfWlmKCFfLkJhKHRoaXMub2EpJiZfLkRhKHRoaXMub2EpKXJldHVybiBfLlpiKHRoaXMub2EsZnVuY3Rpb24oYixjKXtyZXR1cm4gbmV3IF8uUWModGhpcy5BYStcIi5cIitjLGIpfSx0aGlzKTt0aHJvdyBuZXcgVHlwZUVycm9yKFwiTmFgXCIrdGhpcy5BYStcImBcIit0aGlzLm9hK1wiYFwiK3R5cGVvZiB0aGlzLm9hKTt9O18uam09e3VCOmZ1bmN0aW9uKCl7aWYod2luZG93Lmdvb2dsZSYmd2luZG93Lmdvb2dsZS5rRUkpcmV0dXJuIHdpbmRvdy5nb29nbGUua0VJO3ZhciBhPV8uUmMoXCJ1UzAya2VcIik7cmV0dXJuIGEuUGIoKT9hLnN0cmluZyhcIlwiKTpcIlwifX07Xy5IZj1mdW5jdGlvbihhKXt2YXIgYj1cImhsYVwiO2lmKGEuaGxhJiZhLmhhc093blByb3BlcnR5KGIpKXJldHVybiBhLmhsYTtiPW5ldyBhO3JldHVybiBhLmhsYT1ifTtfLmttPXtQemE6ITEsYjNiOmZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgYS5jbGFzc05hbWU9PVwic3RyaW5nXCI/YS5jbGFzc05hbWU6YS5nZXRBdHRyaWJ1dGUmJmEuZ2V0QXR0cmlidXRlKFwiY2xhc3NcIil8fFwiXCJ9LGdldDpmdW5jdGlvbihhKXtyZXR1cm4gXy5rbS5QemF8fGEuY2xhc3NMaXN0P2EuY2xhc3NMaXN0Ol8ua20uYjNiKGEpLm1hdGNoKC9cXFMrL2cpfHxbXX0sc2V0OmZ1bmN0aW9uKGEsYil7dHlwZW9mIGEuY2xhc3NOYW1lPT1cInN0cmluZ1wiP2EuY2xhc3NOYW1lPWI6YS5zZXRBdHRyaWJ1dGUmJmEuc2V0QXR0cmlidXRlKFwiY2xhc3NcIixiKX0sY29udGFpbnM6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5rbS5QemF8fGEuY2xhc3NMaXN0P2EuY2xhc3NMaXN0LmNvbnRhaW5zKGIpOl8udmEoXy5rbS5nZXQoYSksYil9LGFkZDpmdW5jdGlvbihhLGIpe2lmKF8ua20uUHphfHxhLmNsYXNzTGlzdClhLmNsYXNzTGlzdC5hZGQoYik7ZWxzZSBpZighXy5rbS5jb250YWlucyhhLGIpKXt2YXIgYz1cbl8ua20uYjNiKGEpO18ua20uc2V0KGEsYysoYy5sZW5ndGg+MD9cIiBcIitiOmIpKX19LGFkZEFsbDpmdW5jdGlvbihhLGIpe2lmKF8ua20uUHphfHxhLmNsYXNzTGlzdClBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGIsZnVuY3Rpb24oZSl7Xy5rbS5hZGQoYSxlKX0pO2Vsc2V7dmFyIGM9e307QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChfLmttLmdldChhKSxmdW5jdGlvbihlKXtjW2VdPSEwfSk7QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChiLGZ1bmN0aW9uKGUpe2NbZV09ITB9KTtiPVwiXCI7Zm9yKHZhciBkIGluIGMpYis9Yi5sZW5ndGg+MD9cIiBcIitkOmQ7Xy5rbS5zZXQoYSxiKX19LHJlbW92ZTpmdW5jdGlvbihhLGIpe18ua20uUHphfHxhLmNsYXNzTGlzdD9hLmNsYXNzTGlzdC5yZW1vdmUoYik6Xy5rbS5jb250YWlucyhhLGIpJiZfLmttLnNldChhLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChfLmttLmdldChhKSxmdW5jdGlvbihjKXtyZXR1cm4gYyE9Yn0pLmpvaW4oXCIgXCIpKX0sXG5yZW1vdmVBbGw6ZnVuY3Rpb24oYSxiKXtfLmttLlB6YXx8YS5jbGFzc0xpc3Q/QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChiLGZ1bmN0aW9uKGMpe18ua20ucmVtb3ZlKGEsYyl9KTpfLmttLnNldChhLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChfLmttLmdldChhKSxmdW5jdGlvbihjKXtyZXR1cm4hXy52YShiLGMpfSkuam9pbihcIiBcIikpfSxlbmFibGU6ZnVuY3Rpb24oYSxiLGMpe2M/Xy5rbS5hZGQoYSxiKTpfLmttLnJlbW92ZShhLGIpfSxvMGI6ZnVuY3Rpb24oYSxiLGMpeyhjP18ua20uYWRkQWxsOl8ua20ucmVtb3ZlQWxsKShhLGIpfSxYYWE6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLmttLmNvbnRhaW5zKGEsYik/KF8ua20ucmVtb3ZlKGEsYiksXy5rbS5hZGQoYSxjKSwhMCk6ITF9LHRvZ2dsZTpmdW5jdGlvbihhLGIpe3ZhciBjPSFfLmttLmNvbnRhaW5zKGEsYik7Xy5rbS5lbmFibGUoYSxiLGMpO3JldHVybiBjfSxoY2E6ZnVuY3Rpb24oYSxiLGMpe18ua20ucmVtb3ZlKGEsXG5iKTtfLmttLmFkZChhLGMpfX07dmFyIEpBYTtfLkhBYT1mdW5jdGlvbigpe3JldHVybiBfLndoP1wiV2Via2l0XCI6Xy52aD9cIk1velwiOl8udWg/XCJtc1wiOm51bGx9O18uSUFhPWZ1bmN0aW9uKCl7cmV0dXJuIF8ud2g/XCItd2Via2l0XCI6Xy52aD9cIi1tb3pcIjpfLnVoP1wiLW1zXCI6bnVsbH07SkFhPWZ1bmN0aW9uKGEsYil7aWYoYiYmYSBpbiBiKXJldHVybiBhO3ZhciBjPV8uSEFhKCk7cmV0dXJuIGM/KGM9Yy50b0xvd2VyQ2FzZSgpLGE9YytfLkd5YShhKSxiPT09dm9pZCAwfHxhIGluIGI/YTpudWxsKTpudWxsfTtfLmxtPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMudG9wPWE7dGhpcy5yaWdodD1iO3RoaXMuYm90dG9tPWM7dGhpcy5sZWZ0PWR9O18ubT1fLmxtLnByb3RvdHlwZTtfLm0uSWM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yaWdodC10aGlzLmxlZnR9O18ubS54Yz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmJvdHRvbS10aGlzLnRvcH07Xy5tLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBfLmxtKHRoaXMudG9wLHRoaXMucmlnaHQsdGhpcy5ib3R0b20sdGhpcy5sZWZ0KX07Xy5tLmNvbnRhaW5zPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzJiZhP2EgaW5zdGFuY2VvZiBfLmxtP2EubGVmdD49dGhpcy5sZWZ0JiZhLnJpZ2h0PD10aGlzLnJpZ2h0JiZhLnRvcD49dGhpcy50b3AmJmEuYm90dG9tPD10aGlzLmJvdHRvbTphLng+PXRoaXMubGVmdCYmYS54PD10aGlzLnJpZ2h0JiZhLnk+PXRoaXMudG9wJiZhLnk8PXRoaXMuYm90dG9tOiExfTtcbl8ubS5leHBhbmQ9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5EYShhKT8odGhpcy50b3AtPWEudG9wLHRoaXMucmlnaHQrPWEucmlnaHQsdGhpcy5ib3R0b20rPWEuYm90dG9tLHRoaXMubGVmdC09YS5sZWZ0KToodGhpcy50b3AtPWEsdGhpcy5yaWdodCs9TnVtYmVyKGIpLHRoaXMuYm90dG9tKz1OdW1iZXIoYyksdGhpcy5sZWZ0LT1OdW1iZXIoZCkpO3JldHVybiB0aGlzfTtfLm0uY2VpbD1mdW5jdGlvbigpe3RoaXMudG9wPU1hdGguY2VpbCh0aGlzLnRvcCk7dGhpcy5yaWdodD1NYXRoLmNlaWwodGhpcy5yaWdodCk7dGhpcy5ib3R0b209TWF0aC5jZWlsKHRoaXMuYm90dG9tKTt0aGlzLmxlZnQ9TWF0aC5jZWlsKHRoaXMubGVmdCk7cmV0dXJuIHRoaXN9O1xuXy5tLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy50b3A9TWF0aC5mbG9vcih0aGlzLnRvcCk7dGhpcy5yaWdodD1NYXRoLmZsb29yKHRoaXMucmlnaHQpO3RoaXMuYm90dG9tPU1hdGguZmxvb3IodGhpcy5ib3R0b20pO3RoaXMubGVmdD1NYXRoLmZsb29yKHRoaXMubGVmdCk7cmV0dXJuIHRoaXN9O18ubS5yb3VuZD1mdW5jdGlvbigpe3RoaXMudG9wPU1hdGgucm91bmQodGhpcy50b3ApO3RoaXMucmlnaHQ9TWF0aC5yb3VuZCh0aGlzLnJpZ2h0KTt0aGlzLmJvdHRvbT1NYXRoLnJvdW5kKHRoaXMuYm90dG9tKTt0aGlzLmxlZnQ9TWF0aC5yb3VuZCh0aGlzLmxlZnQpO3JldHVybiB0aGlzfTtcbl8ubS50cmFuc2xhdGU9ZnVuY3Rpb24oYSxiKXthIGluc3RhbmNlb2YgXy5aaz8odGhpcy5sZWZ0Kz1hLngsdGhpcy5yaWdodCs9YS54LHRoaXMudG9wKz1hLnksdGhpcy5ib3R0b20rPWEueSk6KHRoaXMubGVmdCs9YSx0aGlzLnJpZ2h0Kz1hLHR5cGVvZiBiPT09XCJudW1iZXJcIiYmKHRoaXMudG9wKz1iLHRoaXMuYm90dG9tKz1iKSk7cmV0dXJuIHRoaXN9O18ubS5zY2FsZT1mdW5jdGlvbihhLGIpe2I9dHlwZW9mIGI9PT1cIm51bWJlclwiP2I6YTt0aGlzLmxlZnQqPWE7dGhpcy5yaWdodCo9YTt0aGlzLnRvcCo9Yjt0aGlzLmJvdHRvbSo9YjtyZXR1cm4gdGhpc307Xy5tbT1mdW5jdGlvbihhLGIsYyxkKXt0aGlzLmxlZnQ9YTt0aGlzLnRvcD1iO3RoaXMud2lkdGg9Yzt0aGlzLmhlaWdodD1kfTtfLm1tLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgXy5tbSh0aGlzLmxlZnQsdGhpcy50b3AsdGhpcy53aWR0aCx0aGlzLmhlaWdodCl9O18uS0FhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5sbShhLnRvcCxhLmxlZnQrYS53aWR0aCxhLnRvcCthLmhlaWdodCxhLmxlZnQpfTtfLkxBYT1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8ubW0oYS5sZWZ0LGEudG9wLGEucmlnaHQtYS5sZWZ0LGEuYm90dG9tLWEudG9wKX07Xy5NQWE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09Yj8hMDphJiZiP2EubGVmdD09Yi5sZWZ0JiZhLndpZHRoPT1iLndpZHRoJiZhLnRvcD09Yi50b3AmJmEuaGVpZ2h0PT1iLmhlaWdodDohMX07XG5fLk5BYT1mdW5jdGlvbihhLGIpe3ZhciBjPU1hdGgubWF4KGEubGVmdCxiLmxlZnQpLGQ9TWF0aC5taW4oYS5sZWZ0K2Eud2lkdGgsYi5sZWZ0K2Iud2lkdGgpO2lmKGM8PWQpe3ZhciBlPU1hdGgubWF4KGEudG9wLGIudG9wKTtiPU1hdGgubWluKGEudG9wK2EuaGVpZ2h0LGIudG9wK2IuaGVpZ2h0KTtlPD1iJiYoYS5sZWZ0PWMsYS50b3A9ZSxhLndpZHRoPWQtYyxhLmhlaWdodD1iLWUpfX07Xy5PQWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1NYXRoLm1heChhLmxlZnQsYi5sZWZ0KSxkPU1hdGgubWluKGEubGVmdCthLndpZHRoLGIubGVmdCtiLndpZHRoKTtpZihjPD1kKXt2YXIgZT1NYXRoLm1heChhLnRvcCxiLnRvcCk7YT1NYXRoLm1pbihhLnRvcCthLmhlaWdodCxiLnRvcCtiLmhlaWdodCk7aWYoZTw9YSlyZXR1cm4gbmV3IF8ubW0oYyxlLGQtYyxhLWUpfXJldHVybiBudWxsfTtcbl8uUEFhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEubGVmdDw9Yi5sZWZ0K2Iud2lkdGgmJmIubGVmdDw9YS5sZWZ0K2Eud2lkdGgmJmEudG9wPD1iLnRvcCtiLmhlaWdodCYmYi50b3A8PWEudG9wK2EuaGVpZ2h0fTtfLm09Xy5tbS5wcm90b3R5cGU7Xy5tLmludGVyc2VjdHM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uUEFhKHRoaXMsYSl9O18ubS5MWD1mdW5jdGlvbihhKXt2YXIgYj1NYXRoLm1heCh0aGlzLmxlZnQrdGhpcy53aWR0aCxhLmxlZnQrYS53aWR0aCksYz1NYXRoLm1heCh0aGlzLnRvcCt0aGlzLmhlaWdodCxhLnRvcCthLmhlaWdodCk7dGhpcy5sZWZ0PU1hdGgubWluKHRoaXMubGVmdCxhLmxlZnQpO3RoaXMudG9wPU1hdGgubWluKHRoaXMudG9wLGEudG9wKTt0aGlzLndpZHRoPWItdGhpcy5sZWZ0O3RoaXMuaGVpZ2h0PWMtdGhpcy50b3B9O1xuXy5tLmNvbnRhaW5zPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluc3RhbmNlb2YgXy5aaz9hLng+PXRoaXMubGVmdCYmYS54PD10aGlzLmxlZnQrdGhpcy53aWR0aCYmYS55Pj10aGlzLnRvcCYmYS55PD10aGlzLnRvcCt0aGlzLmhlaWdodDp0aGlzLmxlZnQ8PWEubGVmdCYmdGhpcy5sZWZ0K3RoaXMud2lkdGg+PWEubGVmdCthLndpZHRoJiZ0aGlzLnRvcDw9YS50b3AmJnRoaXMudG9wK3RoaXMuaGVpZ2h0Pj1hLnRvcCthLmhlaWdodH07Xy5tLmRpc3RhbmNlPWZ1bmN0aW9uKGEpe3ZhciBiPWEueDx0aGlzLmxlZnQ/dGhpcy5sZWZ0LWEueDpNYXRoLm1heChhLngtKHRoaXMubGVmdCt0aGlzLndpZHRoKSwwKTthPWEueTx0aGlzLnRvcD90aGlzLnRvcC1hLnk6TWF0aC5tYXgoYS55LSh0aGlzLnRvcCt0aGlzLmhlaWdodCksMCk7cmV0dXJuIE1hdGguc3FydChiKmIrYSphKX07Xy5tLmdldFNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IF8uYWwodGhpcy53aWR0aCx0aGlzLmhlaWdodCl9O1xuXy5tLkh6PWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBfLlprKHRoaXMubGVmdCx0aGlzLnRvcCl9O18ubS5nZXRDZW50ZXI9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IF8uWmsodGhpcy5sZWZ0K3RoaXMud2lkdGgvMix0aGlzLnRvcCt0aGlzLmhlaWdodC8yKX07Xy5tLm9CPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBfLlprKHRoaXMubGVmdCt0aGlzLndpZHRoLHRoaXMudG9wK3RoaXMuaGVpZ2h0KX07Xy5tLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5jZWlsKHRoaXMubGVmdCk7dGhpcy50b3A9TWF0aC5jZWlsKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtcbl8ubS5mbG9vcj1mdW5jdGlvbigpe3RoaXMubGVmdD1NYXRoLmZsb29yKHRoaXMubGVmdCk7dGhpcy50b3A9TWF0aC5mbG9vcih0aGlzLnRvcCk7dGhpcy53aWR0aD1NYXRoLmZsb29yKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguZmxvb3IodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLm0ucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5yb3VuZCh0aGlzLmxlZnQpO3RoaXMudG9wPU1hdGgucm91bmQodGhpcy50b3ApO3RoaXMud2lkdGg9TWF0aC5yb3VuZCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLnJvdW5kKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5tLnRyYW5zbGF0ZT1mdW5jdGlvbihhLGIpe2EgaW5zdGFuY2VvZiBfLlprPyh0aGlzLmxlZnQrPWEueCx0aGlzLnRvcCs9YS55KToodGhpcy5sZWZ0Kz1hLHR5cGVvZiBiPT09XCJudW1iZXJcIiYmKHRoaXMudG9wKz1iKSk7cmV0dXJuIHRoaXN9O1xuXy5tLnNjYWxlPWZ1bmN0aW9uKGEsYil7Yj10eXBlb2YgYj09PVwibnVtYmVyXCI/YjphO3RoaXMubGVmdCo9YTt0aGlzLndpZHRoKj1hO3RoaXMudG9wKj1iO3RoaXMuaGVpZ2h0Kj1iO3JldHVybiB0aGlzfTtfLm5tPXtzZXRTdHlsZTpmdW5jdGlvbihhLGIsYyl7aWYodHlwZW9mIGI9PT1cInN0cmluZ1wiKV8ubm0uSmxjKGEsYyxiKTtlbHNlIGZvcih2YXIgZCBpbiBiKV8ubm0uSmxjKGEsYltkXSxkKX0sSmxjOmZ1bmN0aW9uKGEsYixjKXsoYz1fLm5tLmY2YihhLGMpKSYmKGEuc3R5bGVbY109Yil9LGhvYzp7fSxmNmI6ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLm5tLmhvY1tiXTtpZighYyl7dmFyIGQ9Xy5pbChiKTtjPWQ7YS5zdHlsZVtkXT09PXZvaWQgMCYmKGQ9Xy5IQWEoKStfLkd5YShkKSxhLnN0eWxlW2RdIT09dm9pZCAwJiYoYz1kKSk7Xy5ubS5ob2NbYl09Y31yZXR1cm4gY30scWdkOmZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5pbChiKTtyZXR1cm4gYS5zdHlsZVtjXT09PXZvaWQgMCYmKGM9Xy5IQWEoKStfLkd5YShjKSxhLnN0eWxlW2NdIT09dm9pZCAwKT9fLklBYSgpK1wiLVwiK2I6Yn0sZ2V0U3R5bGU6ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLnN0eWxlW18uaWwoYildO3JldHVybiB0eXBlb2YgYyE9PVxuXCJ1bmRlZmluZWRcIj9jOmEuc3R5bGVbXy5ubS5mNmIoYSxiKV18fFwiXCJ9LGdldENvbXB1dGVkU3R5bGU6ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLmtnKGEpO3JldHVybiBjLmRlZmF1bHRWaWV3JiZjLmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUmJihhPWMuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShhLG51bGwpKT9hW2JdfHxhLmdldFByb3BlcnR5VmFsdWUoYil8fFwiXCI6XCJcIn0scDdhOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuY3VycmVudFN0eWxlP2EuY3VycmVudFN0eWxlW2JdOm51bGx9LE9KOmZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ubm0uZ2V0Q29tcHV0ZWRTdHlsZShhLGIpfHxfLm5tLnA3YShhLGIpfHxhLnN0eWxlJiZhLnN0eWxlW2JdfSxaeGU6ZnVuY3Rpb24oYSl7cmV0dXJuIF8ubm0uT0ooYSxcImJveFNpemluZ1wiKXx8Xy5ubS5PSihhLFwiTW96Qm94U2l6aW5nXCIpfHxfLm5tLk9KKGEsXCJXZWJraXRCb3hTaXppbmdcIil8fG51bGx9LFdqYTpmdW5jdGlvbihhKXtyZXR1cm4gXy5ubS5PSihhLFxuXCJwb3NpdGlvblwiKX0sUWk6ZnVuY3Rpb24oYSl7cmV0dXJuIF8ubm0uT0ooYSxcImJhY2tncm91bmRDb2xvclwiKX0sdDdhOmZ1bmN0aW9uKGEpe3JldHVybiBfLm5tLk9KKGEsXCJvdmVyZmxvd1hcIil9LElEYTpmdW5jdGlvbihhKXtyZXR1cm4gXy5ubS5PSihhLFwib3ZlcmZsb3dZXCIpfSxjeWU6ZnVuY3Rpb24oYSl7cmV0dXJuIF8ubm0uT0ooYSxcInpJbmRleFwiKX0sYnllOmZ1bmN0aW9uKGEpe3JldHVybiBfLm5tLk9KKGEsXCJ0ZXh0QWxpZ25cIil9LGF5ZTpmdW5jdGlvbihhKXtyZXR1cm4gXy5ubS5PSihhLFwiY3Vyc29yXCIpfSxzUWE6ZnVuY3Rpb24oYSl7dmFyIGI9Xy5ubS5xZ2QoYSxcInRyYW5zZm9ybVwiKTtyZXR1cm4gXy5ubS5PSihhLGIpfHxfLm5tLk9KKGEsXCJ0cmFuc2Zvcm1cIil9LHNldFBvc2l0aW9uOmZ1bmN0aW9uKGEsYixjKXtpZihiIGluc3RhbmNlb2YgXy5aayl7dmFyIGQ9Yi54O2I9Yi55fWVsc2UgZD1iLGI9YzthLnN0eWxlLmxlZnQ9Xy5ubS5tOGEoZCwhMSk7YS5zdHlsZS50b3A9XG5fLm5tLm04YShiLCExKX0sZ2V0UG9zaXRpb246ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLlprKGEub2Zmc2V0TGVmdCxhLm9mZnNldFRvcCl9LEVEYTpmdW5jdGlvbihhKXtyZXR1cm4oYT9fLmtnKGEpOmRvY3VtZW50KS5kb2N1bWVudEVsZW1lbnR9LEJ2YjpmdW5jdGlvbihhKXt2YXIgYj1hLmJvZHk7YT1hLmRvY3VtZW50RWxlbWVudDtyZXR1cm4gbmV3IF8uWmsoYi5zY3JvbGxMZWZ0fHxhLnNjcm9sbExlZnQsYi5zY3JvbGxUb3B8fGEuc2Nyb2xsVG9wKX0sZzdhOmZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4gYS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX1jYXRjaChiKXtyZXR1cm57bGVmdDowLHRvcDowLHJpZ2h0OjAsYm90dG9tOjB9fX0sUGRkOmZ1bmN0aW9uKGEpe3ZhciBiPV8ua2coYSksYz1fLm5tLk9KKGEsXCJwb3NpdGlvblwiKSxkPWM9PVwiZml4ZWRcInx8Yz09XCJhYnNvbHV0ZVwiO2ZvcihhPWEucGFyZW50Tm9kZTthJiZhIT1iO2E9YS5wYXJlbnROb2RlKWlmKGEubm9kZVR5cGU9PVxuMTEmJmEuaG9zdCYmKGE9YS5ob3N0KSxjPV8ubm0uT0ooYSxcInBvc2l0aW9uXCIpLGQ9ZCYmYz09XCJzdGF0aWNcIiYmYSE9Yi5kb2N1bWVudEVsZW1lbnQmJmEhPWIuYm9keSwhZCYmKGEuc2Nyb2xsV2lkdGg+YS5jbGllbnRXaWR0aHx8YS5zY3JvbGxIZWlnaHQ+YS5jbGllbnRIZWlnaHR8fGM9PVwiZml4ZWRcInx8Yz09XCJhYnNvbHV0ZVwifHxjPT1cInJlbGF0aXZlXCIpKXJldHVybiBhO3JldHVybiBudWxsfSxpMTpmdW5jdGlvbihhKXtmb3IodmFyIGI9bmV3IF8ubG0oMCxJbmZpbml0eSxJbmZpbml0eSwwKSxjPV8uUGUoYSksZD1jLkFmKCkuYm9keSxlPWMuQWYoKS5kb2N1bWVudEVsZW1lbnQsZj1fLnNsKGMub2EpO2E9Xy5ubS5QZGQoYSk7KWlmKCghXy53aHx8YS5jbGllbnRIZWlnaHQhPTB8fGEhPWQpJiZhIT1kJiZhIT1lJiZfLm5tLk9KKGEsXCJvdmVyZmxvd1wiKSE9XCJ2aXNpYmxlXCIpe3ZhciBnPV8ubm0uTEooYSksaD1fLm5tLlVhZChhKTtnLngrPWgueDtnLnkrPWgueTtiLnRvcD1NYXRoLm1heChiLnRvcCxcbmcueSk7Yi5yaWdodD1NYXRoLm1pbihiLnJpZ2h0LGcueCthLmNsaWVudFdpZHRoKTtiLmJvdHRvbT1NYXRoLm1pbihiLmJvdHRvbSxnLnkrYS5jbGllbnRIZWlnaHQpO2IubGVmdD1NYXRoLm1heChiLmxlZnQsZy54KX1kPWYuc2Nyb2xsTGVmdDtmPWYuc2Nyb2xsVG9wO2IubGVmdD1NYXRoLm1heChiLmxlZnQsZCk7Yi50b3A9TWF0aC5tYXgoYi50b3AsZik7Yz1fLnBsKGMuZ2V0V2luZG93KCkpO2IucmlnaHQ9TWF0aC5taW4oYi5yaWdodCxkK2Mud2lkdGgpO2IuYm90dG9tPU1hdGgubWluKGIuYm90dG9tLGYrYy5oZWlnaHQpO3JldHVybiBiLnRvcD49MCYmYi5sZWZ0Pj0wJiZiLmJvdHRvbT5iLnRvcCYmYi5yaWdodD5iLmxlZnQ/YjpudWxsfSx3N2E6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWJ8fF8uc2woZG9jdW1lbnQpLGU9Xy5ubS5MSihhKSxmPV8ubm0uTEooZCksZz1fLm5tLlNqYShkKTtkPT1fLnNsKGRvY3VtZW50KT8oYj1lLngtZC5zY3JvbGxMZWZ0LGU9ZS55LWQuc2Nyb2xsVG9wKTpcbihiPWUueC1mLngtZy5sZWZ0LGU9ZS55LWYueS1nLnRvcCk7Zj1fLm5tLkw1YihhKTthPWQuY2xpZW50V2lkdGgtZi53aWR0aDtmPWQuY2xpZW50SGVpZ2h0LWYuaGVpZ2h0O2c9ZC5zY3JvbGxMZWZ0O2Q9ZC5zY3JvbGxUb3A7Yz8oZys9Yi1hLzIsZCs9ZS1mLzIpOihnKz1NYXRoLm1pbihiLE1hdGgubWF4KGItYSwwKSksZCs9TWF0aC5taW4oZSxNYXRoLm1heChlLWYsMCkpKTtyZXR1cm4gbmV3IF8uWmsoZyxkKX0sVUZiOmZ1bmN0aW9uKGEsYixjKXtiPWJ8fF8uc2woZG9jdW1lbnQpO2E9Xy5ubS53N2EoYSxiLGMpO2Iuc2Nyb2xsTGVmdD1hLng7Yi5zY3JvbGxUb3A9YS55fSxVYWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLlprKGEuY2xpZW50TGVmdCxhLmNsaWVudFRvcCl9LExKOmZ1bmN0aW9uKGEpe3ZhciBiPV8ua2coYSksYz1uZXcgXy5aaygwLDApO2lmKGE9PV8ubm0uRURhKGIpKXJldHVybiBjO2E9Xy5ubS5nN2EoYSk7Yj1fLlJ5YShfLlBlKGIpLm9hKTtjLng9YS5sZWZ0K1xuYi54O2MueT1hLnRvcCtiLnk7cmV0dXJuIGN9LGxrYTpmdW5jdGlvbihhKXtyZXR1cm4gXy5ubS5MSihhKS54fSxNSjpmdW5jdGlvbihhKXtyZXR1cm4gXy5ubS5MSihhKS55fSxiY2Q6ZnVuY3Rpb24oYSxiKXt2YXIgYz1uZXcgXy5aaygwLDApLGQ9Xy5RZShfLmtnKGEpKTtpZighY3VhKGQsXCJwYXJlbnRcIikpcmV0dXJuIGM7ZG97dmFyIGU9ZD09Yj9fLm5tLkxKKGEpOl8ubm0uYzNiKGEpO2MueCs9ZS54O2MueSs9ZS55fXdoaWxlKGQmJmQhPWImJmQhPWQucGFyZW50JiYoYT1kLmZyYW1lRWxlbWVudCkmJihkPWQucGFyZW50KSk7cmV0dXJuIGN9LFRUZDpmdW5jdGlvbihhLGIsYyl7Yi5BZigpIT1jLkFmKCkmJihiPWIuQWYoKS5ib2R5LGM9Xy5ubS5iY2QoYixjLmdldFdpbmRvdygpKSxjPV8ucnlhKGMsXy5ubS5MSihiKSksYS5sZWZ0Kz1jLngsYS50b3ArPWMueSl9LHB4OmZ1bmN0aW9uKGEsYil7YT1fLm5tLm90KGEpO2I9Xy5ubS5vdChiKTtyZXR1cm4gbmV3IF8uWmsoYS54LWIueCxcbmEueS1iLnkpfSxjM2I6ZnVuY3Rpb24oYSl7YT1fLm5tLmc3YShhKTtyZXR1cm4gbmV3IF8uWmsoYS5sZWZ0LGEudG9wKX0sb3Q6ZnVuY3Rpb24oYSl7aWYoYS5ub2RlVHlwZT09MSlyZXR1cm4gXy5ubS5jM2IoYSk7YT1hLmNoYW5nZWRUb3VjaGVzP2EuY2hhbmdlZFRvdWNoZXNbMF06YTtyZXR1cm4gbmV3IF8uWmsoYS5jbGllbnRYLGEuY2xpZW50WSl9LHZNZDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9Xy5ubS5MSihhKTtiIGluc3RhbmNlb2YgXy5aayYmKGM9Yi55LGI9Yi54KTtfLm5tLnNldFBvc2l0aW9uKGEsYS5vZmZzZXRMZWZ0KyhiLWQueCksYS5vZmZzZXRUb3ArKE51bWJlcihjKS1kLnkpKX0sc2V0U2l6ZTpmdW5jdGlvbihhLGIsYyl7aWYoYiBpbnN0YW5jZW9mIF8uYWwpYz1iLmhlaWdodCxiPWIud2lkdGg7ZWxzZSBpZihjPT12b2lkIDApdGhyb3cgRXJyb3IoXCJPYVwiKTtfLm5tLkRkKGEsYik7Xy5ubS54ZChhLGMpfSxtOGE6ZnVuY3Rpb24oYSxiKXt0eXBlb2YgYT09XCJudW1iZXJcIiYmXG4oYT0oYj9NYXRoLnJvdW5kKGEpOmEpK1wicHhcIik7cmV0dXJuIGF9LHhkOmZ1bmN0aW9uKGEsYil7YS5zdHlsZS5oZWlnaHQ9Xy5ubS5tOGEoYiwhMCl9LERkOmZ1bmN0aW9uKGEsYil7YS5zdHlsZS53aWR0aD1fLm5tLm04YShiLCEwKX0sZ2V0U2l6ZTpmdW5jdGlvbihhKXtyZXR1cm4gXy5ubS5ZMGIoXy5ubS5MNWIsYSl9LFkwYjpmdW5jdGlvbihhLGIpe2lmKF8ubm0uT0ooYixcImRpc3BsYXlcIikhPVwibm9uZVwiKXJldHVybiBhKGIpO3ZhciBjPWIuc3R5bGUsZD1jLmRpc3BsYXksZT1jLnZpc2liaWxpdHksZj1jLnBvc2l0aW9uO2MudmlzaWJpbGl0eT1cImhpZGRlblwiO2MucG9zaXRpb249XCJhYnNvbHV0ZVwiO2MuZGlzcGxheT1cImlubGluZVwiO2E9YShiKTtjLmRpc3BsYXk9ZDtjLnBvc2l0aW9uPWY7Yy52aXNpYmlsaXR5PWU7cmV0dXJuIGF9LEw1YjpmdW5jdGlvbihhKXt2YXIgYj1hLm9mZnNldFdpZHRoLGM9YS5vZmZzZXRIZWlnaHQsZD1fLndoJiYhYiYmIWM7cmV0dXJuKGI9PT12b2lkIDB8fFxuZCkmJmEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0PyhhPV8ubm0uZzdhKGEpLG5ldyBfLmFsKGEucmlnaHQtYS5sZWZ0LGEuYm90dG9tLWEudG9wKSk6bmV3IF8uYWwoYixjKX0sQjk6ZnVuY3Rpb24oYSl7aWYoIWEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KXJldHVybiBudWxsO2E9Xy5ubS5ZMGIoXy5ubS5nN2EsYSk7cmV0dXJuIG5ldyBfLmFsKGEucmlnaHQtYS5sZWZ0LGEuYm90dG9tLWEudG9wKX0sZ2V0Qm91bmRzOmZ1bmN0aW9uKGEpe3ZhciBiPV8ubm0uTEooYSk7YT1fLm5tLmdldFNpemUoYSk7cmV0dXJuIG5ldyBfLm1tKGIueCxiLnksYS53aWR0aCxhLmhlaWdodCl9LHdEZTpmdW5jdGlvbihhKXtyZXR1cm4gXy5pbChTdHJpbmcoYSkpfSx4RGU6ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRnlhKGEpfSxnZXRPcGFjaXR5OmZ1bmN0aW9uKGEpe3ZhciBiPWEuc3R5bGU7YT1cIlwiO1wib3BhY2l0eVwiaW4gYj9hPWIub3BhY2l0eTpcIk1vek9wYWNpdHlcImluIGI/YT1iLk1vek9wYWNpdHk6XCJmaWx0ZXJcImluXG5iJiYoYj1iLmZpbHRlci5tYXRjaCgvYWxwaGFcXChvcGFjaXR5PShbXFxkLl0rKVxcKS8pKSYmKGE9U3RyaW5nKGJbMV0vMTAwKSk7cmV0dXJuIGE9PVwiXCI/YTpOdW1iZXIoYSl9LHNldE9wYWNpdHk6ZnVuY3Rpb24oYSxiKXthPWEuc3R5bGU7XCJvcGFjaXR5XCJpbiBhP2Eub3BhY2l0eT1iOlwiTW96T3BhY2l0eVwiaW4gYT9hLk1vek9wYWNpdHk9YjpcImZpbHRlclwiaW4gYSYmKGEuZmlsdGVyPWI9PT1cIlwiP1wiXCI6XCJhbHBoYShvcGFjaXR5PVwiK051bWJlcihiKSoxMDArXCIpXCIpfSx4Q2U6ZnVuY3Rpb24oYSxiKXthPWEuc3R5bGU7YS5iYWNrZ3JvdW5kSW1hZ2U9XCJ1cmwoXCIrYitcIilcIjthLmJhY2tncm91bmRQb3NpdGlvbj1cInRvcCBsZWZ0XCI7YS5iYWNrZ3JvdW5kUmVwZWF0PVwibm8tcmVwZWF0XCJ9LEZ2ZTpmdW5jdGlvbihhKXthPWEuc3R5bGU7XCJmaWx0ZXJcImluIGE/YS5maWx0ZXI9XCJcIjphLmJhY2tncm91bmRJbWFnZT1cIm5vbmVcIn0sRm1jOmZ1bmN0aW9uKGEsYil7Xy5ubS5WYihhLGIpfSxWYjpmdW5jdGlvbihhLFxuYil7YS5zdHlsZS5kaXNwbGF5PWI/XCJcIjpcIm5vbmVcIn0sWGg6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc3R5bGUuZGlzcGxheSE9XCJub25lXCJ9LGhUYTpmdW5jdGlvbihhLGIpe2I9Xy5QZShiKTt2YXIgYz1fLkx5YShiLm9hLFwiSEVBRFwiKVswXTtpZighYyl7dmFyIGQ9Xy5MeWEoYi5vYSxcIkJPRFlcIilbMF07Yz1iLlhrKFwiSEVBRFwiKTtkLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGMsZCl9ZD1iLlhrKFwiU1RZTEVcIik7dmFyIGU7KGU9Xy5veWEoJ3N0eWxlW25vbmNlXSxsaW5rW3JlbD1cInN0eWxlc2hlZXRcIl1bbm9uY2VdJykpJiZkLnNldEF0dHJpYnV0ZShcIm5vbmNlXCIsZSk7Xy5ubS5DbGMoZCxhKTtiLmFwcGVuZENoaWxkKGMsZCk7cmV0dXJuIGR9LFRwYzpmdW5jdGlvbihhKXtfLkNsKGEub3duZXJOb2RlfHxhLm93bmluZ0VsZW1lbnR8fGEpfSxDbGM6ZnVuY3Rpb24oYSxiKXtiPV8uR2hhKGIpO18uYmEudHJ1c3RlZFR5cGVzP18uSGwoYSxiKTphLmlubmVySFRNTD1ifSx3Q2U6ZnVuY3Rpb24oYSl7YS5zdHlsZS53aGl0ZVNwYWNlPVxuXy52aD9cIi1tb3otcHJlLXdyYXBcIjpcInByZS13cmFwXCJ9LHZDZTpmdW5jdGlvbihhKXthPWEuc3R5bGU7YS5wb3NpdGlvbj1cInJlbGF0aXZlXCI7YS5kaXNwbGF5PVwiaW5saW5lLWJsb2NrXCJ9LHdqOmZ1bmN0aW9uKGEpe3JldHVyblwicnRsXCI9PV8ubm0uT0ooYSxcImRpcmVjdGlvblwiKX0sc0tiOl8udmg/XCJNb3pVc2VyU2VsZWN0XCI6Xy53aHx8Xy5mdWE/XCJXZWJraXRVc2VyU2VsZWN0XCI6bnVsbCxLemU6ZnVuY3Rpb24oYSl7cmV0dXJuISghXy5ubS5zS2J8fGEuc3R5bGVbXy5ubS5zS2JdLnRvTG93ZXJDYXNlKCkhPVwibm9uZVwiKX0sWEdiOmZ1bmN0aW9uKGEsYixjKXtjPWM/bnVsbDphLmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiKlwiKTt2YXIgZD1fLm5tLnNLYjtpZihkJiYoYj1iP1wibm9uZVwiOlwiXCIsYS5zdHlsZSYmKGEuc3R5bGVbZF09YiksYykpe2E9MDtmb3IodmFyIGU7ZT1jW2FdO2ErKyllLnN0eWxlJiYoZS5zdHlsZVtkXT1iKX19LFEyYjpmdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uYWwoYS5vZmZzZXRXaWR0aCxcbmEub2Zmc2V0SGVpZ2h0KX0sbExkOmZ1bmN0aW9uKGEsYil7Xy5ubS5Na2MoYSxiLFwiYm9yZGVyLWJveFwiKX0sdFFhOmZ1bmN0aW9uKGEpe3ZhciBiPV8ubm0uUTJiKGEpLGM9Xy5ubS5TNChhKTthPV8ubm0uU2phKGEpO3JldHVybiBuZXcgXy5hbChiLndpZHRoLWEubGVmdC1jLmxlZnQtYy5yaWdodC1hLnJpZ2h0LGIuaGVpZ2h0LWEudG9wLWMudG9wLWMuYm90dG9tLWEuYm90dG9tKX0sdENlOmZ1bmN0aW9uKGEsYil7Xy5ubS5Na2MoYSxiLFwiY29udGVudC1ib3hcIil9LE1rYzpmdW5jdGlvbihhLGIsYyl7YT1hLnN0eWxlO18udmg/YS5Nb3pCb3hTaXppbmc9YzpfLndoP2EuV2Via2l0Qm94U2l6aW5nPWM6YS5ib3hTaXppbmc9YzthLndpZHRoPU1hdGgubWF4KGIud2lkdGgsMCkrXCJweFwiO2EuaGVpZ2h0PU1hdGgubWF4KGIuaGVpZ2h0LDApK1wicHhcIn0sWjNiOmZ1bmN0aW9uKGEsYixjLGQpe2lmKC9eXFxkK3B4PyQvLnRlc3QoYikpcmV0dXJuIHBhcnNlSW50KGIsMTApO3ZhciBlPWEuc3R5bGVbY10sXG5mPWEucnVudGltZVN0eWxlW2NdO2EucnVudGltZVN0eWxlW2NdPWEuY3VycmVudFN0eWxlW2NdO2Euc3R5bGVbY109YjtiPWEuc3R5bGVbZF07YS5zdHlsZVtjXT1lO2EucnVudGltZVN0eWxlW2NdPWY7cmV0dXJuK2J9LG55ZTpmdW5jdGlvbihhLGIpe3JldHVybihiPV8ubm0ucDdhKGEsYikpP18ubm0uWjNiKGEsYixcImxlZnRcIixcInBpeGVsTGVmdFwiKTowfSxUMmI6ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLm5tLmdldENvbXB1dGVkU3R5bGUoYSxiK1wiTGVmdFwiKSxkPV8ubm0uZ2V0Q29tcHV0ZWRTdHlsZShhLGIrXCJSaWdodFwiKSxlPV8ubm0uZ2V0Q29tcHV0ZWRTdHlsZShhLGIrXCJUb3BcIik7YT1fLm5tLmdldENvbXB1dGVkU3R5bGUoYSxiK1wiQm90dG9tXCIpO3JldHVybiBuZXcgXy5sbShwYXJzZUZsb2F0KGUpLHBhcnNlRmxvYXQoZCkscGFyc2VGbG9hdChhKSxwYXJzZUZsb2F0KGMpKX0sUzQ6ZnVuY3Rpb24oYSl7cmV0dXJuIF8ubm0uVDJiKGEsXCJwYWRkaW5nXCIpfSx2UzpmdW5jdGlvbihhKXtyZXR1cm4gXy5ubS5UMmIoYSxcblwibWFyZ2luXCIpfSxUOGI6e3RoaW46MixtZWRpdW06NCx0aGljazo2fSxseWU6ZnVuY3Rpb24oYSxiKXtpZihfLm5tLnA3YShhLGIrXCJTdHlsZVwiKT09XCJub25lXCIpcmV0dXJuIDA7Yj1fLm5tLnA3YShhLGIrXCJXaWR0aFwiKTtyZXR1cm4gYiBpbiBfLm5tLlQ4Yj9fLm5tLlQ4YltiXTpfLm5tLlozYihhLGIsXCJsZWZ0XCIsXCJwaXhlbExlZnRcIil9LFNqYTpmdW5jdGlvbihhKXt2YXIgYj1fLm5tLmdldENvbXB1dGVkU3R5bGUoYSxcImJvcmRlckxlZnRXaWR0aFwiKSxjPV8ubm0uZ2V0Q29tcHV0ZWRTdHlsZShhLFwiYm9yZGVyUmlnaHRXaWR0aFwiKSxkPV8ubm0uZ2V0Q29tcHV0ZWRTdHlsZShhLFwiYm9yZGVyVG9wV2lkdGhcIik7YT1fLm5tLmdldENvbXB1dGVkU3R5bGUoYSxcImJvcmRlckJvdHRvbVdpZHRoXCIpO3JldHVybiBuZXcgXy5sbShwYXJzZUZsb2F0KGQpLHBhcnNlRmxvYXQoYykscGFyc2VGbG9hdChhKSxwYXJzZUZsb2F0KGIpKX0sanllOmZ1bmN0aW9uKGEpe3ZhciBiPV8ua2coYSksYz1cIlwiO1xuaWYoYi5ib2R5LmNyZWF0ZVRleHRSYW5nZSYmXy53ZihiLGEpKXtiPWIuYm9keS5jcmVhdGVUZXh0UmFuZ2UoKTtiLm1vdmVUb0VsZW1lbnRUZXh0KGEpO3RyeXtjPWIucXVlcnlDb21tYW5kVmFsdWUoXCJGb250TmFtZVwiKX1jYXRjaChkKXtjPVwiXCJ9fWN8fChjPV8ubm0uT0ooYSxcImZvbnRGYW1pbHlcIikpO2E9Yy5zcGxpdChcIixcIik7YS5sZW5ndGg+MSYmKGM9YVswXSk7cmV0dXJuIF8uQXlhKGMsXCJcXFwiJ1wiKX0sQXVkOi9bXlxcZF0rJC8sWmNkOmZ1bmN0aW9uKGEpe3JldHVybihhPWEubWF0Y2goXy5ubS5BdWQpKSYmYVswXXx8bnVsbH0sTFhkOntjbToxLFwiaW5cIjoxLG1tOjEscGM6MSxwdDoxfSxBM2Q6e2VtOjEsZXg6MX0sVWRhOmZ1bmN0aW9uKGEpe3ZhciBiPV8ubm0uT0ooYSxcImZvbnRTaXplXCIpLGM9Xy5ubS5aY2QoYik7aWYoYiYmXCJweFwiPT1jKXJldHVybiBwYXJzZUludChiLDEwKTtjPV8udGwoXCJTUEFOXCIse3N0eWxlOlwidmlzaWJpbGl0eTpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7bGluZS1oZWlnaHQ6MDtwYWRkaW5nOjA7bWFyZ2luOjA7Ym9yZGVyOjA7aGVpZ2h0OjFlbTtcIn0pO1xuYS5hcHBlbmRDaGlsZChjKTtiPWMub2Zmc2V0SGVpZ2h0O18uQ2woYyk7cmV0dXJuIGJ9LHBnYzpmdW5jdGlvbihhKXt2YXIgYj17fTthLnNwbGl0KC9cXHMqO1xccyovKS5mb3JFYWNoKGZ1bmN0aW9uKGMpe3ZhciBkPWMubWF0Y2goL1xccyooW1xcdy1dKylcXHMqOiguKykvKTtkJiYoYz1kWzFdLGQ9KDAsXy5uaCkoZFsyXSksYltfLmlsKGMudG9Mb3dlckNhc2UoKSldPWQpfSk7cmV0dXJuIGJ9LHlEZTpmdW5jdGlvbihhKXt2YXIgYj1bXTtfLlliKGEsZnVuY3Rpb24oYyxkKXtiLnB1c2goXy5GeWEoZCksXCI6XCIsYyxcIjtcIil9KTtyZXR1cm4gYi5qb2luKFwiXCIpfSx1Q2U6ZnVuY3Rpb24oYSxiKXthLnN0eWxlLmNzc0Zsb2F0PWJ9LGl5ZTpmdW5jdGlvbihhKXtyZXR1cm4gYS5zdHlsZS5jc3NGbG9hdHx8XCJcIn0sZGZkOmZ1bmN0aW9uKGEpe3ZhciBiPV8udWwoXCJESVZcIik7YSYmKGIuY2xhc3NOYW1lPWEpO2Iuc3R5bGUuY3NzVGV4dD1cIm92ZXJmbG93OmF1dG87cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4XCI7XG5hPV8udWwoXCJESVZcIik7Xy5ubS5zZXRTaXplKGEsXCIyMDBweFwiLFwiMjAwcHhcIik7Yi5hcHBlbmRDaGlsZChhKTtkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGIpO2E9Yi5vZmZzZXRXaWR0aC1iLmNsaWVudFdpZHRoO18uQ2woYik7cmV0dXJuIGF9fTtfLm5tLkpUYz1SZWdFeHAoXCJtYXRyaXhcXFxcKFswLTlcXFxcLlxcXFwtXSssIFswLTlcXFxcLlxcXFwtXSssIFswLTlcXFxcLlxcXFwtXSssIFswLTlcXFxcLlxcXFwtXSssIChbMC05XFxcXC5cXFxcLV0rKXA/eD8sIChbMC05XFxcXC5cXFxcLV0rKXA/eD9cXFxcKVwiKTtfLm5tLmZ5ZT1mdW5jdGlvbihhKXthPV8ubm0uc1FhKGEpO3JldHVybiBhPyhhPWEubWF0Y2goXy5ubS5KVGMpKT9uZXcgXy5aayhwYXJzZUZsb2F0KGFbMV0pLHBhcnNlRmxvYXQoYVsyXSkpOm5ldyBfLlprKDAsMCk6bmV3IF8uWmsoMCwwKX07dmFyIFFBYTtfLm9tPWZ1bmN0aW9uKGEsYil7Yj9hLnNldEF0dHJpYnV0ZShcInJvbGVcIixiKTphLnJlbW92ZUF0dHJpYnV0ZShcInJvbGVcIil9O18uUkFhPWZ1bmN0aW9uKGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZShcInJvbGVcIil8fG51bGx9O1xuXy5wbT1mdW5jdGlvbihhLGIsYyl7QXJyYXkuaXNBcnJheShjKSYmKGM9Yy5qb2luKFwiIFwiKSk7dmFyIGQ9XCJhcmlhLVwiK2I7Yz09PVwiXCJ8fGM9PXZvaWQgMD8oUUFhfHwoYz17fSxRQWE9KGMuYXRvbWljPSExLGMuYXV0b2NvbXBsZXRlPVwibm9uZVwiLGMuZHJvcGVmZmVjdD1cIm5vbmVcIixjLmhhc3BvcHVwPSExLGMubGl2ZT1cIm9mZlwiLGMubXVsdGlsaW5lPSExLGMubXVsdGlzZWxlY3RhYmxlPSExLGMub3JpZW50YXRpb249XCJ2ZXJ0aWNhbFwiLGMucmVhZG9ubHk9ITEsYy5yZWxldmFudD1cImFkZGl0aW9ucyB0ZXh0XCIsYy5yZXF1aXJlZD0hMSxjLnNvcnQ9XCJub25lXCIsYy5idXN5PSExLGMuZGlzYWJsZWQ9ITEsYy5oaWRkZW49ITEsYy5pbnZhbGlkPVwiZmFsc2VcIixjKSksYz1RQWEsYiBpbiBjP2Euc2V0QXR0cmlidXRlKGQsY1tiXSk6YS5yZW1vdmVBdHRyaWJ1dGUoZCkpOmEuc2V0QXR0cmlidXRlKGQsYyl9O18ucW09ZnVuY3Rpb24oYSxiKXthLnJlbW92ZUF0dHJpYnV0ZShcImFyaWEtXCIrYil9O1xuXy5TQWE9ZnVuY3Rpb24oYSxiKXthPWEuZ2V0QXR0cmlidXRlKFwiYXJpYS1cIitiKTtyZXR1cm4gYT09bnVsbHx8YT09dm9pZCAwP1wiXCI6U3RyaW5nKGEpfTtfLlRBYT1mdW5jdGlvbihhKXt2YXIgYj1fLlNBYShhLFwiYWN0aXZlZGVzY2VuZGFudFwiKTtyZXR1cm4gXy5rZyhhKS5nZXRFbGVtZW50QnlJZChiKX07Xy5VQWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1cIlwiO2ImJihjPWIuaWQpO18ucG0oYSxcImFjdGl2ZWRlc2NlbmRhbnRcIixjKX07Xy5WQWE9ZnVuY3Rpb24oYSxiKXtfLnBtKGEsXCJsYWJlbFwiLGIpfTtfLldBYT1mdW5jdGlvbihhKXtpZihhPj00OCYmYTw9NTd8fGE+PTk2JiZhPD0xMDZ8fGE+PTY1JiZhPD05MHx8Xy53aCYmYT09MClyZXR1cm4hMDtzd2l0Y2goYSl7Y2FzZSAzMjpjYXNlIDQzOmNhc2UgNjM6Y2FzZSA2NDpjYXNlIDEwNzpjYXNlIDEwOTpjYXNlIDExMDpjYXNlIDExMTpjYXNlIDE4NjpjYXNlIDU5OmNhc2UgMTg5OmNhc2UgMTg3OmNhc2UgNjE6Y2FzZSAxODg6Y2FzZSAxOTA6Y2FzZSAxOTE6Y2FzZSAxOTI6Y2FzZSAyMjI6Y2FzZSAyMTk6Y2FzZSAyMjA6Y2FzZSAyMjE6Y2FzZSAxNjM6Y2FzZSA1ODpyZXR1cm4hMDtjYXNlIDE3MzpjYXNlIDE3MTpyZXR1cm4gXy52aDtkZWZhdWx0OnJldHVybiExfX07Xy5ybT1mdW5jdGlvbihhKXtfLkNrLmNhbGwodGhpcyk7dGhpcy5PYT1hO3RoaXMuQ2E9e319O18ubWgoXy5ybSxfLkNrKTt2YXIgWEFhPVtdO18ucm0ucHJvdG90eXBlLmxpc3Rlbj1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gXy5ZQWEodGhpcyxhLGIsYyxkKX07Xy5ZQWE9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe0FycmF5LmlzQXJyYXkoYyl8fChjJiYoWEFhWzBdPWMudG9TdHJpbmcoKSksYz1YQWEpO2Zvcih2YXIgZz0wO2c8Yy5sZW5ndGg7ZysrKXt2YXIgaD1fLlhkKGIsY1tnXSxkfHxhLmhhbmRsZUV2ZW50LGV8fCExLGZ8fGEuT2F8fGEpO2lmKCFoKWJyZWFrO2EuQ2FbaC5rZXldPWh9cmV0dXJuIGF9O18ucm0ucHJvdG90eXBlLmxpc3Rlbk9uY2U9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIFpBYSh0aGlzLGEsYixjLGQpfTtcbnZhciBaQWE9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2lmKEFycmF5LmlzQXJyYXkoYykpZm9yKHZhciBnPTA7ZzxjLmxlbmd0aDtnKyspWkFhKGEsYixjW2ddLGQsZSxmKTtlbHNle2I9Xy5KayhiLGMsZHx8YS5oYW5kbGVFdmVudCxlLGZ8fGEuT2F8fGEpO2lmKCFiKXJldHVybiBhO2EuQ2FbYi5rZXldPWJ9cmV0dXJuIGF9O18ucm0ucHJvdG90eXBlLnVubGlzdGVuPWZ1bmN0aW9uKGEsYixjLGQsZSl7aWYoQXJyYXkuaXNBcnJheShiKSlmb3IodmFyIGY9MDtmPGIubGVuZ3RoO2YrKyl0aGlzLnVubGlzdGVuKGEsYltmXSxjLGQsZSk7ZWxzZSBjPWN8fHRoaXMuaGFuZGxlRXZlbnQsZD1fLkRhKGQpPyEhZC5jYXB0dXJlOiEhZCxlPWV8fHRoaXMuT2F8fHRoaXMsYz1fLlF3YShjKSxkPSEhZCxiPUd3YShhKT9hLllEYShiLGMsZCxlKTphPyhhPVN3YShhKSk/YS5ZRGEoYixjLGQsZSk6bnVsbDpudWxsLGImJihfLkxrKGIpLGRlbGV0ZSB0aGlzLkNhW2Iua2V5XSk7cmV0dXJuIHRoaXN9O1xuXy5ybS5wcm90b3R5cGUucmVtb3ZlQWxsPWZ1bmN0aW9uKCl7Xy5ZYih0aGlzLkNhLGZ1bmN0aW9uKGEsYil7dGhpcy5DYS5oYXNPd25Qcm9wZXJ0eShiKSYmXy5MayhhKX0sdGhpcyk7dGhpcy5DYT17fX07Xy5ybS5wcm90b3R5cGUuUWM9ZnVuY3Rpb24oKXtfLnJtLk9kLlFjLmNhbGwodGhpcyk7dGhpcy5yZW1vdmVBbGwoKX07Xy5ybS5wcm90b3R5cGUuaGFuZGxlRXZlbnQ9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcihcIlBhXCIpO307Xy4kQWE9ZnVuY3Rpb24oKXtpZihfLmt1YSl7dmFyIGE9L1dpbmRvd3MgTlQgKFswLTkuXSspLztyZXR1cm4oYT1hLmV4ZWMoXy5kYSgpKSk/YVsxXTpcIjBcIn1yZXR1cm4gXy54aD8oYT0vMVswfDFdW18uXVswLTlfLl0rLywoYT1hLmV4ZWMoXy5kYSgpKSk/YVswXS5yZXBsYWNlKC9fL2csXCIuXCIpOlwiMTBcIik6Xy5tdWE/KGE9L0FuZHJvaWRcXHMrKFteXFwpO10rKShcXCl8OykvLChhPWEuZXhlYyhfLmRhKCkpKT9hWzFdOlwiXCIpOl8ubnVhfHxfLm91YXx8Xy5wdWE/KGE9Lyg/OmlQaG9uZXxDUFUpXFxzK09TXFxzKyhcXFMrKS8sKGE9YS5leGVjKF8uZGEoKSkpP2FbMV0ucmVwbGFjZSgvXy9nLFwiLlwiKTpcIlwiKTpcIlwifSgpO18ueWguYzZjPWZ1bmN0aW9uKCl7aWYoXy55aC5VemEpcmV0dXJuIF8ueWguTkRhKC9GaXJlZm94XFwvKFswLTkuXSspLyk7aWYoXy55aC5NMGF8fF8ueWgueGhifHxfLnloLmlsYilyZXR1cm4gXy53dWE7aWYoXy55aC5DSFJPTUUpe2lmKF8ubGEoKXx8Xy5GYWEoKSl7dmFyIGE9Xy55aC5ORGEoL0NyaU9TXFwvKFswLTkuXSspLyk7aWYoYSlyZXR1cm4gYX1yZXR1cm4gXy55aC5ORGEoL0Nocm9tZVxcLyhbMC05Ll0rKS8pfWlmKF8ueWguVHBhJiYhXy5sYSgpKXJldHVybiBfLnloLk5EYSgvVmVyc2lvblxcLyhbMC05Ll0rKS8pO2lmKF8ueWguWHphfHxfLnloLlRLYSl7aWYoYT1fLnloLmQxYigvVmVyc2lvblxcLyhcXFMrKS4qTW9iaWxlXFwvKFxcUyspLykpcmV0dXJuIGFbMV0rXCIuXCIrYVsyXX1lbHNlIGlmKF8ueWguQU5EUk9JRClyZXR1cm4oYT1fLnloLk5EYSgvQW5kcm9pZFxccysoWzAtOS5dKykvKSk/YTpfLnloLk5EYSgvVmVyc2lvblxcLyhbMC05Ll0rKS8pO3JldHVyblwiXCJ9O1xuXy55aC5ORGE9ZnVuY3Rpb24oYSl7cmV0dXJuKGE9Xy55aC5kMWIoYSkpP2FbMV06XCJcIn07Xy55aC5kMWI9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZXhlYyhfLmRhKCkpfTtfLnloLlZFUlNJT049Xy55aC5jNmMoKTtfLnloLlBUYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5uYShfLnloLlZFUlNJT04sYSk+PTB9O18ubm0uV2o9e307Xy5ubS5Xai50QT1mdW5jdGlvbihhKXt2YXIgYj1fLm5tLndqKGEpO3JldHVybiBiJiZfLm5tLldqLkZnYigpPy1hLnNjcm9sbExlZnQ6YiYmXy5ubS50N2EoYSkhPVwidmlzaWJsZVwiP2Euc2Nyb2xsV2lkdGgtYS5jbGllbnRXaWR0aC1hLnNjcm9sbExlZnQ6YS5zY3JvbGxMZWZ0fTtfLm5tLldqLktKPWZ1bmN0aW9uKGEpe3ZhciBiPWEub2Zmc2V0TGVmdCxjPWEub2Zmc2V0UGFyZW50O2N8fF8ubm0uV2phKGEpIT1cImZpeGVkXCJ8fChjPV8ua2coYSkuZG9jdW1lbnRFbGVtZW50KTtpZighYylyZXR1cm4gYjtpZihfLnZoJiYhXy55dWEoNTgpKXt2YXIgZD1fLm5tLlNqYShjKTtiKz1kLmxlZnR9ZWxzZSBOdW1iZXIoXy5CdWEpPj04JiYhKE51bWJlcihfLkJ1YSk+PTkpJiYoZD1fLm5tLlNqYShjKSxiLT1kLmxlZnQpO3JldHVybiBfLm5tLndqKGMpP2MuY2xpZW50V2lkdGgtKGIrYS5vZmZzZXRXaWR0aCk6Yn07XG5fLm5tLldqLlVXPWZ1bmN0aW9uKGEsYil7Yj1NYXRoLm1heChiLDApO18ubm0ud2ooYSk/Xy5ubS5Xai5GZ2IoKT9hLnNjcm9sbExlZnQ9LWI6YS5zY3JvbGxMZWZ0PWEuc2Nyb2xsV2lkdGgtYi1hLmNsaWVudFdpZHRoOmEuc2Nyb2xsTGVmdD1ifTtfLm5tLldqLkZnYj1mdW5jdGlvbigpe3ZhciBhPV8ueWguVHBhJiZfLnloLlBUYSgxMCksYj1fLnF1YSYmXy5uYShfLiRBYSwxMCk+PTAsYz1fLnloLkNIUk9NRSYmXy55aC5QVGEoODUpO3JldHVybiBfLnZofHxhfHxifHxjfTtfLm5tLldqLnNldFBvc2l0aW9uPWZ1bmN0aW9uKGEsYixjLGQpe2MhPT1udWxsJiYoYS5zdHlsZS50b3A9YytcInB4XCIpO2Q/KGEuc3R5bGUucmlnaHQ9YitcInB4XCIsYS5zdHlsZS5sZWZ0PVwiXCIpOihhLnN0eWxlLmxlZnQ9YitcInB4XCIsYS5zdHlsZS5yaWdodD1cIlwiKX07Xy5zbT1mdW5jdGlvbihhLGIsYyl7Xy5Oay5jYWxsKHRoaXMpO3RoaXMudGFyZ2V0PWE7dGhpcy5oYW5kbGU9Ynx8YTt0aGlzLk9hPWN8fG5ldyBfLm1tKE5hTixOYU4sTmFOLE5hTik7dGhpcy5CYT1fLmtnKGEpO3RoaXMub2E9bmV3IF8ucm0odGhpcyk7Xy5IZyh0aGlzLHRoaXMub2EpO3RoaXMuZGVsdGFZPXRoaXMuZGVsdGFYPXRoaXMud2I9dGhpcy5rYj10aGlzLnNjcmVlblk9dGhpcy5zY3JlZW5YPXRoaXMuY2xpZW50WT10aGlzLmNsaWVudFg9MDt0aGlzLkdhPSEwO3RoaXMuQ2E9dGhpcy5BYT0hMTtfLlhkKHRoaXMuaGFuZGxlLFtcInRvdWNoc3RhcnRcIixcIm1vdXNlZG93blwiXSx0aGlzLkJiLCExLHRoaXMpO3RoaXMuUWE9YUJhfTtfLm1oKF8uc20sXy5Oayk7dmFyIGFCYT1fLmJhLmRvY3VtZW50JiZfLmJhLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmISFfLmJhLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zZXRDYXB0dXJlJiYhIV8uYmEuZG9jdW1lbnQucmVsZWFzZUNhcHR1cmU7XG5fLnNtLnByb3RvdHlwZS5CbD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkdhfTtfLnNtLnByb3RvdHlwZS5zZXRFbmFibGVkPWZ1bmN0aW9uKGEpe3RoaXMuR2E9YX07Xy5zbS5wcm90b3R5cGUuUWM9ZnVuY3Rpb24oKXtfLnNtLk9kLlFjLmNhbGwodGhpcyk7Xy5Layh0aGlzLmhhbmRsZSxbXCJ0b3VjaHN0YXJ0XCIsXCJtb3VzZWRvd25cIl0sdGhpcy5CYiwhMSx0aGlzKTt0aGlzLm9hLnJlbW92ZUFsbCgpO3RoaXMuUWEmJnRoaXMuQmEucmVsZWFzZUNhcHR1cmUoKTt0aGlzLmhhbmRsZT10aGlzLnRhcmdldD1udWxsfTt2YXIgYkJhPWZ1bmN0aW9uKGEpe2EuaGI9PT12b2lkIDAmJihhLmhiPV8ubm0ud2ooYS50YXJnZXQpKTtyZXR1cm4gYS5oYn07XG5fLnNtLnByb3RvdHlwZS5CYj1mdW5jdGlvbihhKXt2YXIgYj1hLnR5cGU9PVwibW91c2Vkb3duXCI7aWYoIXRoaXMuR2F8fHRoaXMuQWF8fGImJiFfLkV3YShhKSl0aGlzLmRpc3BhdGNoRXZlbnQoXCJlYXJseWNhbmNlbFwiKTtlbHNlIGlmKHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgY0JhKFwic3RhcnRcIix0aGlzLGEuY2xpZW50WCxhLmNsaWVudFksYSkpKXt0aGlzLkFhPSEwO2ImJmEucHJldmVudERlZmF1bHQoKTtiPXRoaXMuQmE7dmFyIGM9Yi5kb2N1bWVudEVsZW1lbnQsZD0hdGhpcy5RYTt0aGlzLm9hLmxpc3RlbihiLFtcInRvdWNobW92ZVwiLFwibW91c2Vtb3ZlXCJdLHRoaXMuT2Ise2NhcHR1cmU6ZCxwYXNzaXZlOiExfSk7dGhpcy5vYS5saXN0ZW4oYixbXCJ0b3VjaGVuZFwiLFwibW91c2V1cFwiXSx0aGlzLkxhLGQpO3RoaXMuUWE/KGMuc2V0Q2FwdHVyZSghMSksdGhpcy5vYS5saXN0ZW4oYyxcImxvc2VjYXB0dXJlXCIsdGhpcy5MYSkpOnRoaXMub2EubGlzdGVuKF8uUWUoYiksXCJibHVyXCIsdGhpcy5MYSk7XG50aGlzLlJiJiZ0aGlzLm9hLmxpc3Rlbih0aGlzLlJiLFwic2Nyb2xsXCIsdGhpcy5HYixkKTt0aGlzLmNsaWVudFg9dGhpcy5rYj1hLmNsaWVudFg7dGhpcy5jbGllbnRZPXRoaXMud2I9YS5jbGllbnRZO3RoaXMuc2NyZWVuWD1hLnNjcmVlblg7dGhpcy5zY3JlZW5ZPWEuc2NyZWVuWTt0aGlzLmRlbHRhWD10aGlzLkNhP18ubm0uV2ouS0oodGhpcy50YXJnZXQpOnRoaXMudGFyZ2V0Lm9mZnNldExlZnQ7dGhpcy5kZWx0YVk9dGhpcy50YXJnZXQub2Zmc2V0VG9wO3RoaXMuVWE9Xy5SeWEoXy5QZSh0aGlzLkJhKS5vYSl9fTtcbl8uc20ucHJvdG90eXBlLkxhPWZ1bmN0aW9uKGEsYil7dGhpcy5vYS5yZW1vdmVBbGwoKTt0aGlzLlFhJiZ0aGlzLkJhLnJlbGVhc2VDYXB0dXJlKCk7dGhpcy5BYT8odGhpcy5BYT0hMSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IGNCYShcImVuZFwiLHRoaXMsYS5jbGllbnRYLGEuY2xpZW50WSxhLGRCYSh0aGlzLHRoaXMuZGVsdGFYKSxlQmEodGhpcyx0aGlzLmRlbHRhWSksYnx8YS50eXBlPT1cInRvdWNoY2FuY2VsXCIpKSk6dGhpcy5kaXNwYXRjaEV2ZW50KFwiZWFybHljYW5jZWxcIil9O1xuXy5zbS5wcm90b3R5cGUuT2I9ZnVuY3Rpb24oYSl7aWYodGhpcy5HYSl7dmFyIGI9KHRoaXMuQ2EmJmJCYSh0aGlzKT8tMToxKSooYS5jbGllbnRYLXRoaXMuY2xpZW50WCksYz1hLmNsaWVudFktdGhpcy5jbGllbnRZO3RoaXMuY2xpZW50WD1hLmNsaWVudFg7dGhpcy5jbGllbnRZPWEuY2xpZW50WTt0aGlzLnNjcmVlblg9YS5zY3JlZW5YO3RoaXMuc2NyZWVuWT1hLnNjcmVlblk7aWYoIXRoaXMuQWEpe3ZhciBkPXRoaXMua2ItdGhpcy5jbGllbnRYLGU9dGhpcy53Yi10aGlzLmNsaWVudFk7aWYoZCpkK2UqZT4wKWlmKHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgY0JhKFwic3RhcnRcIix0aGlzLGEuY2xpZW50WCxhLmNsaWVudFksYSkpKXRoaXMuQWE9ITA7ZWxzZXt0aGlzLmlzRGlzcG9zZWQoKXx8dGhpcy5MYShhKTtyZXR1cm59fWM9ZkJhKHRoaXMsYixjKTtiPWMueDtjPWMueTt0aGlzLkFhJiZ0aGlzLmRpc3BhdGNoRXZlbnQobmV3IGNCYShcImJlZm9yZWRyYWdcIix0aGlzLGEuY2xpZW50WCxcbmEuY2xpZW50WSxhLGIsYykpJiYoZ0JhKHRoaXMsYSxiLGMpLGEucHJldmVudERlZmF1bHQoKSl9fTt2YXIgZkJhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1fLlJ5YShfLlBlKGEuQmEpLm9hKTtiKz1kLngtYS5VYS54O2MrPWQueS1hLlVhLnk7YS5VYT1kO2EuZGVsdGFYKz1iO2EuZGVsdGFZKz1jO3JldHVybiBuZXcgXy5aayhkQmEoYSxhLmRlbHRhWCksZUJhKGEsYS5kZWx0YVkpKX07Xy5zbS5wcm90b3R5cGUuR2I9ZnVuY3Rpb24oYSl7dmFyIGI9ZkJhKHRoaXMsMCwwKTthLmNsaWVudFg9dGhpcy5jbGllbnRYO2EuY2xpZW50WT10aGlzLmNsaWVudFk7Z0JhKHRoaXMsYSxiLngsYi55KX07XG52YXIgZ0JhPWZ1bmN0aW9uKGEsYixjLGQpe2EuUmEoYyxkKTthLmRpc3BhdGNoRXZlbnQobmV3IGNCYShcImRyYWdcIixhLGIuY2xpZW50WCxiLmNsaWVudFksYixjLGQpKX0sZEJhPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5PYTthPWlzTmFOKGMubGVmdCk/bnVsbDpjLmxlZnQ7Yz1pc05hTihjLndpZHRoKT8wOmMud2lkdGg7cmV0dXJuIE1hdGgubWluKGEhPW51bGw/YStjOkluZmluaXR5LE1hdGgubWF4KGEhPW51bGw/YTotSW5maW5pdHksYikpfSxlQmE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLk9hO2E9aXNOYU4oYy50b3ApP251bGw6Yy50b3A7Yz1pc05hTihjLmhlaWdodCk/MDpjLmhlaWdodDtyZXR1cm4gTWF0aC5taW4oYSE9bnVsbD9hK2M6SW5maW5pdHksTWF0aC5tYXgoYSE9bnVsbD9hOi1JbmZpbml0eSxiKSl9O1xuXy5zbS5wcm90b3R5cGUuUmE9ZnVuY3Rpb24oYSxiKXt0aGlzLkNhJiZiQmEodGhpcyk/dGhpcy50YXJnZXQuc3R5bGUucmlnaHQ9YStcInB4XCI6dGhpcy50YXJnZXQuc3R5bGUubGVmdD1hK1wicHhcIjt0aGlzLnRhcmdldC5zdHlsZS50b3A9YitcInB4XCJ9O3ZhciBjQmE9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7Xy5Gay5jYWxsKHRoaXMsYSk7dGhpcy5jbGllbnRYPWM7dGhpcy5jbGllbnRZPWQ7dGhpcy5sZWZ0PWYhPT12b2lkIDA/ZjpiLmRlbHRhWDt0aGlzLnRvcD1nIT09dm9pZCAwP2c6Yi5kZWx0YVk7dGhpcy5vYT1ifTtfLm1oKGNCYSxfLkZrKTt2YXIgaEJhPWZ1bmN0aW9uKGEpe3RoaXMub2E9bmV3IE1hcDt2YXIgYj1hcmd1bWVudHMubGVuZ3RoO2lmKGI+MSl7aWYoYiUyKXRocm93IEVycm9yKFwib2FcIik7Zm9yKHZhciBjPTA7YzxiO2MrPTIpdGhpcy5zZXQoYXJndW1lbnRzW2NdLGFyZ3VtZW50c1tjKzFdKX1lbHNlIGEmJnRoaXMuYWRkQWxsKGEpfTtfLm09aEJhLnByb3RvdHlwZTtfLm0ueW49ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vYS5zaXplfTtfLm0uWXY9ZnVuY3Rpb24oKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLm9hLnZhbHVlcygpKX07Xy5tLm9BPWZ1bmN0aW9uKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5vYS5rZXlzKCkpfTtfLm0uYjQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuWXYoKS5zb21lKGZ1bmN0aW9uKGIpe3JldHVybiBiPT1hfSl9O1xuXy5tLmVxdWFscz1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXM7Yj1iPT09dm9pZCAwP2Z1bmN0aW9uKGQsZSl7cmV0dXJuIGQ9PT1lfTpiO3JldHVybiB0aGlzPT09YT8hMDp0aGlzLm9hLnNpemUhPWEueW4oKT8hMTp0aGlzLm9BKCkuZXZlcnkoZnVuY3Rpb24oZCl7cmV0dXJuIGIoYy5vYS5nZXQoZCksYS5nZXQoZCkpfSl9O18ubS5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub2Euc2l6ZT09MH07Xy5tLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5vYS5jbGVhcigpfTtfLm0ucmVtb3ZlPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm9hLmRlbGV0ZShhKX07Xy5tLmdldD1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm9hLmhhcyhhKT90aGlzLm9hLmdldChhKTpifTtfLm0uc2V0PWZ1bmN0aW9uKGEsYil7dGhpcy5vYS5zZXQoYSxiKTtyZXR1cm4gdGhpc307XG5fLm0uYWRkQWxsPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBoQmEpe2E9Xy5QYShhLm9hKTtmb3IodmFyIGI9YS5uZXh0KCk7IWIuZG9uZTtiPWEubmV4dCgpKXt2YXIgYz1fLlBhKGIudmFsdWUpO2I9Yy5uZXh0KCkudmFsdWU7Yz1jLm5leHQoKS52YWx1ZTt0aGlzLm9hLnNldChiLGMpfX1lbHNlIGlmKGEpZm9yKGE9Xy5QYShPYmplY3QuZW50cmllcyhhKSksYj1hLm5leHQoKTshYi5kb25lO2I9YS5uZXh0KCkpYz1fLlBhKGIudmFsdWUpLGI9Yy5uZXh0KCkudmFsdWUsYz1jLm5leHQoKS52YWx1ZSx0aGlzLm9hLnNldChiLGMpfTtfLm0uZm9yRWFjaD1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXM7Yj1iPT09dm9pZCAwP3RoaXM6Yjt0aGlzLm9hLmZvckVhY2goZnVuY3Rpb24oZCxlKXtyZXR1cm4gYS5jYWxsKGIsZCxlLGMpfSl9O18ubS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgaEJhKHRoaXMpfTsoZnVuY3Rpb24oKXtmb3IodmFyIGE9W1wibXNcIixcIm1velwiLFwid2Via2l0XCIsXCJvXCJdLGIsYz0wO2I9YVtjXSYmIV8uYmEucmVxdWVzdEFuaW1hdGlvbkZyYW1lOysrYylfLmJhLnJlcXVlc3RBbmltYXRpb25GcmFtZT1fLmJhW2IrXCJSZXF1ZXN0QW5pbWF0aW9uRnJhbWVcIl0sXy5iYS5jYW5jZWxBbmltYXRpb25GcmFtZT1fLmJhW2IrXCJDYW5jZWxBbmltYXRpb25GcmFtZVwiXXx8Xy5iYVtiK1wiQ2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lXCJdO2lmKCFfLmJhLnJlcXVlc3RBbmltYXRpb25GcmFtZSl7dmFyIGQ9MDtfLmJhLnJlcXVlc3RBbmltYXRpb25GcmFtZT1mdW5jdGlvbihlKXt2YXIgZj0obmV3IERhdGUpLmdldFRpbWUoKSxnPU1hdGgubWF4KDAsMTYtKGYtZCkpO2Q9ZitnO3JldHVybiBfLmJhLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtlKGYrZyl9LGcpfTtfLmJhLmNhbmNlbEFuaW1hdGlvbkZyYW1lfHwoXy5iYS5jYW5jZWxBbmltYXRpb25GcmFtZT1mdW5jdGlvbihlKXtjbGVhclRpbWVvdXQoZSl9KX19KSgpO18uaUJhPV8udmMoXy54aGEoXy5UayhcImFib3V0OmJsYW5rXCIpKSk7Xy52YyhfLnhoYShfLlRrKFwiamF2YXNjcmlwdDp1bmRlZmluZWRcIikpKTtfLmpCYT1mdW5jdGlvbihhKXtfLk5rLmNhbGwodGhpcyk7dGhpcy5UYz1hO3RoaXMub2E9Xy5YZCh0aGlzLlRjLFwiZm9jdXNcIix0aGlzLCEwKTt0aGlzLkFhPV8uWGQodGhpcy5UYyxcImJsdXJcIix0aGlzLCEwKX07Xy5taChfLmpCYSxfLk5rKTtfLmpCYS5wcm90b3R5cGUuaGFuZGxlRXZlbnQ9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IF8uSWsoYS5ZZyk7Yi50eXBlPWEudHlwZT09XCJmb2N1c2luXCJ8fGEudHlwZT09XCJmb2N1c1wiP1wiZm9jdXNpblwiOlwiZm9jdXNvdXRcIjt0aGlzLmRpc3BhdGNoRXZlbnQoYil9O18uakJhLnByb3RvdHlwZS5RYz1mdW5jdGlvbigpe18uakJhLk9kLlFjLmNhbGwodGhpcyk7Xy5Mayh0aGlzLm9hKTtfLkxrKHRoaXMuQWEpO2RlbGV0ZSB0aGlzLlRjfTtfLmtCYT1mdW5jdGlvbigpe307Xy5naChfLmtCYSk7Xy5rQmEucHJvdG90eXBlLkFhPTA7Xy5rQmEucHJvdG90eXBlLm9hPVwiXCI7Xy5sQmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEub2ErXCI6XCIrKGEuQWErKykudG9TdHJpbmcoMzYpfTtfLnRtPWZ1bmN0aW9uKGEpe18uTmsuY2FsbCh0aGlzKTt0aGlzLm9hPWF8fF8uUGUoKTt0aGlzLnZkPW1CYTt0aGlzLlJiPW51bGw7dGhpcy5PYT0hMTt0aGlzLlRjPW51bGw7dGhpcy5oYj12b2lkIDA7dGhpcy5SYT10aGlzLkdhPXRoaXMuSW09dGhpcy5TYz1udWxsO3RoaXMuTG09ITF9O18ubWgoXy50bSxfLk5rKTtfLnRtLnByb3RvdHlwZS5Udz1fLmtCYS5nZXRJbnN0YW5jZSgpO3ZhciBtQmE9bnVsbDtfLnRtLnByb3RvdHlwZS5nZXRJZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLlJifHwodGhpcy5SYj1fLmxCYSh0aGlzLlR3KSl9O18udG0ucHJvdG90eXBlLk1hPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVGN9O18udW09ZnVuY3Rpb24oYSl7YS5oYnx8KGEuaGI9bmV3IF8ucm0oYSkpO3JldHVybiBhLmhifTtcbl8ubkJhPWZ1bmN0aW9uKGEsYil7aWYoYT09Yil0aHJvdyBFcnJvcihcIlJhXCIpO2lmKGImJmEuSW0mJmEuUmImJmEuSW0ud2IoYS5SYikmJmEuSW0hPWIpdGhyb3cgRXJyb3IoXCJSYVwiKTthLkltPWI7Xy50bS5PZC5GWWEuY2FsbChhLGIpfTtfLm09Xy50bS5wcm90b3R5cGU7Xy5tLnFSPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSW19O18ubS5GWWE9ZnVuY3Rpb24oYSl7aWYodGhpcy5JbSYmdGhpcy5JbSE9YSl0aHJvdyBFcnJvcihcIlNhXCIpO18udG0uT2QuRllhLmNhbGwodGhpcyxhKX07Xy5tLk91PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuT2F9O18ubS5nQj1mdW5jdGlvbigpe3RoaXMuVGM9dGhpcy5vYS5jcmVhdGVFbGVtZW50KFwiRElWXCIpfTtfLm0ucmVuZGVyPWZ1bmN0aW9uKGEpe29CYSh0aGlzLGEpfTtfLm0uemRiPWZ1bmN0aW9uKGEpe29CYSh0aGlzLGEucGFyZW50Tm9kZSxhKX07XG52YXIgb0JhPWZ1bmN0aW9uKGEsYixjKXtpZihhLk9hKXRocm93IEVycm9yKFwiVGFcIik7YS5UY3x8YS5nQigpO2I/Yi5pbnNlcnRCZWZvcmUoYS5UYyxjfHxudWxsKTphLm9hLkFmKCkuYm9keS5hcHBlbmRDaGlsZChhLlRjKTthLkltJiYhYS5JbS5PdSgpfHxhLlpzKCl9O18ubT1fLnRtLnByb3RvdHlwZTtfLm0udlg9ZnVuY3Rpb24oYSl7aWYodGhpcy5PYSl0aHJvdyBFcnJvcihcIlRhXCIpO2lmKGEmJnRoaXMuYk1hKGEpKXt0aGlzLkxtPSEwO3ZhciBiPV8ua2coYSk7dGhpcy5vYSYmdGhpcy5vYS5BZigpPT1ifHwodGhpcy5vYT1fLlBlKGEpKTt0aGlzLmtGKGEpO3RoaXMuWnMoKX1lbHNlIHRocm93IEVycm9yKFwiVWFcIik7fTtfLm0uYk1hPWZ1bmN0aW9uKCl7cmV0dXJuITB9O18ubS5rRj1mdW5jdGlvbihhKXt0aGlzLlRjPWF9O18ubS5acz1mdW5jdGlvbigpe3RoaXMuT2E9ITA7Xy5wQmEodGhpcyxmdW5jdGlvbihhKXshYS5PdSgpJiZhLk1hKCkmJmEuWnMoKX0pfTtcbl8ubS5tQj1mdW5jdGlvbigpe18ucEJhKHRoaXMsZnVuY3Rpb24oYSl7YS5PdSgpJiZhLm1CKCl9KTt0aGlzLmhiJiZ0aGlzLmhiLnJlbW92ZUFsbCgpO3RoaXMuT2E9ITF9O18ubS5RYz1mdW5jdGlvbigpe3RoaXMuT2EmJnRoaXMubUIoKTt0aGlzLmhiJiYodGhpcy5oYi5kaXNwb3NlKCksZGVsZXRlIHRoaXMuaGIpO18ucEJhKHRoaXMsZnVuY3Rpb24oYSl7YS5kaXNwb3NlKCl9KTshdGhpcy5MbSYmdGhpcy5UYyYmXy5DbCh0aGlzLlRjKTt0aGlzLkltPXRoaXMuU2M9dGhpcy5UYz10aGlzLlJhPXRoaXMuR2E9bnVsbDtfLnRtLk9kLlFjLmNhbGwodGhpcyl9O18ubS5Qbz1mdW5jdGlvbigpe3JldHVybiB0aGlzLlNjfTtfLm0uZGlhPWZ1bmN0aW9uKGEsYil7dGhpcy5pbWIoYSxfLnFCYSh0aGlzKSxiKX07XG5fLm0uaW1iPWZ1bmN0aW9uKGEsYixjKXtpZihhLk9hJiYoY3x8IXRoaXMuT2EpKXRocm93IEVycm9yKFwiVGFcIik7aWYoYjwwfHxiPl8ucUJhKHRoaXMpKXRocm93IEVycm9yKFwiVmFcIik7dGhpcy5SYSYmdGhpcy5HYXx8KHRoaXMuUmE9e30sdGhpcy5HYT1bXSk7aWYoYS5xUigpPT10aGlzKXt2YXIgZD10aGlzLlJhLGU9YS5nZXRJZCgpO2RbZV09YTtfLnphKHRoaXMuR2EsYSl9ZWxzZSBfLmRjKHRoaXMuUmEsYS5nZXRJZCgpLGEpO18ubkJhKGEsdGhpcyk7Xy5VYWEodGhpcy5HYSxiLDAsYSk7YS5PYSYmdGhpcy5PYSYmYS5xUigpPT10aGlzPyhjPXRoaXMuelUoKSwoYy5jaGlsZE5vZGVzW2JdfHxudWxsKSE9YS5NYSgpJiYoYS5NYSgpLnBhcmVudEVsZW1lbnQ9PWMmJmMucmVtb3ZlQ2hpbGQoYS5NYSgpKSxiPWMuY2hpbGROb2Rlc1tiXXx8bnVsbCxjLmluc2VydEJlZm9yZShhLk1hKCksYikpKTpjPyh0aGlzLlRjfHx0aGlzLmdCKCksYj1fLnJCYSh0aGlzLGIrMSksb0JhKGEsdGhpcy56VSgpLFxuYj9iLlRjOm51bGwpKTp0aGlzLk9hJiYhYS5PYSYmYS5UYyYmYS5UYy5wYXJlbnROb2RlJiZhLlRjLnBhcmVudE5vZGUubm9kZVR5cGU9PTEmJmEuWnMoKX07Xy5tLnpVPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVGN9O18ubS53aj1mdW5jdGlvbigpe3RoaXMudmQ9PW51bGwmJih0aGlzLnZkPV8ubm0ud2oodGhpcy5PYT90aGlzLlRjOnRoaXMub2EuQWYoKS5ib2R5KSk7cmV0dXJuIHRoaXMudmR9O18ucUJhPWZ1bmN0aW9uKGEpe3JldHVybiBhLkdhP2EuR2EubGVuZ3RoOjB9O18udG0ucHJvdG90eXBlLndiPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLlJhJiZhP18uZWhhKHRoaXMuUmEsYSl8fG51bGw6bnVsbH07Xy5yQmE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5HYT9hLkdhW2JdfHxudWxsOm51bGx9O18ucEJhPWZ1bmN0aW9uKGEsYixjKXthLkdhJiZhLkdhLmZvckVhY2goYixjKX07XG5fLnRtLnByb3RvdHlwZS5yZW1vdmVDaGlsZD1mdW5jdGlvbihhLGIpe2lmKGEpe3ZhciBjPXR5cGVvZiBhPT09XCJzdHJpbmdcIj9hOmEuZ2V0SWQoKTthPXRoaXMud2IoYyk7YyYmYSYmKF8uZGhhKHRoaXMuUmEsYyksXy56YSh0aGlzLkdhLGEpLGImJihhLm1CKCksYS5UYyYmXy5DbChhLlRjKSksXy5uQmEoYSxudWxsKSl9aWYoIWEpdGhyb3cgRXJyb3IoXCJXYVwiKTtyZXR1cm4gYX07dmFyIHVCYSx2QmEsd0JhLHhCYTtfLnhtPWZ1bmN0aW9uKGEpe2hCYS5jYWxsKHRoaXMpO2F8fF8uUGUoKTt0aGlzLkFhPXRoaXMuVGM9dGhpcy5CYT1udWxsfTtfLm1oKF8ueG0saEJhKTtfLnhtLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe2hCYS5wcm90b3R5cGUuY2xlYXIuY2FsbCh0aGlzKTt0aGlzLkJhPXRoaXMuQWE9bnVsbH07Xy54bS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYixjLGQpe2hCYS5wcm90b3R5cGUuc2V0LmNhbGwodGhpcyxhLGIpO2MmJih0aGlzLkJhPWEpO2QmJih0aGlzLkFhPWEpO3JldHVybiB0aGlzfTtfLnltPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBhLnNldChiLmtleSxiLmNhcHRpb24sYyxkKX07XG5fLnhtLnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oKXtpZih0aGlzLlRjKXtfLk9mKHRoaXMuVGMsXy5Vayk7dmFyIGE9Xy5QZSh0aGlzLlRjKTt0aGlzLmZvckVhY2goZnVuY3Rpb24oYixjKXtiPWEuWGsoXCJCVVRUT05cIix7bmFtZTpjfSxiKTtjPT10aGlzLkJhJiYoYi5jbGFzc05hbWU9XCJnb29nLWJ1dHRvbnNldC1kZWZhdWx0XCIpO3RoaXMuVGMuYXBwZW5kQ2hpbGQoYil9LHRoaXMpfX07Xy54bS5wcm90b3R5cGUuTWE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5UY307Xy54bS5wcm90b3R5cGUudlFhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQmF9O18uc0JhPXtrZXk6XCJva1wiLGNhcHRpb246XCJPS1wifTtfLnRCYT17a2V5OlwiY2FuY2VsXCIsY2FwdGlvbjpcIkNhbmNlbFwifTt1QmE9e2tleTpcInllc1wiLGNhcHRpb246XCJZZXNcIn07dkJhPXtrZXk6XCJub1wiLGNhcHRpb246XCJOb1wifTt3QmE9e2tleTpcInNhdmVcIixjYXB0aW9uOlwiU2F2ZVwifTt4QmE9e2tleTpcImNvbnRpbnVlXCIsY2FwdGlvbjpcIkNvbnRpbnVlXCJ9O1xudHlwZW9mIGRvY3VtZW50IT1cInVuZGVmaW5lZFwiJiYoXy55bShuZXcgXy54bSxfLnNCYSwhMCwhMCksXy55bShfLnltKG5ldyBfLnhtLF8uc0JhLCEwKSxfLnRCYSwhMSwhMCksXy55bShfLnltKG5ldyBfLnhtLHVCYSwhMCksdkJhLCExLCEwKSxfLnltKF8ueW0oXy55bShuZXcgXy54bSx1QmEpLHZCYSwhMCksXy50QmEsITEsITApLF8ueW0oXy55bShfLnltKG5ldyBfLnhtLHhCYSksd0JhKSxfLnRCYSwhMCwhMCkpO18uWmM9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLlpjLF8ucSk7Xy5jcWE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5LZihhLDEsYil9O18uWXBhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uUWkoYSwyLGIpfTtfLiRwYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLlFpKGEsMyxiKX07Xy56bT1bMCxfLkpqLF8uYmssLTFdO18uWWM9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLlljLF8ucSk7dmFyIHlCYT1bMCxfLnptLF8uSmpdO18uQW09ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLkFtLF8ucSk7Xy56QmE9ZnVuY3Rpb24oYSxiKXtfLk9pKGEsMixiKX07Xy5CbT1bMCxfLlRqLC0xLDIsXy5UaiwtNCxfLkcsXy5UaixfLlpqLHlCYSxfLlRqLFswLF8uVWosXy5Ual1dO18uQUJhPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEsMSl9O18uRChfLkFCYSxfLnEpO18uQ209e307Xy5DbVs0MTU2Mzc5XT1fLnptO18uQ21bMTU4NzIwNTJdPV8uQm07Xy5QaWE9Xy5RYihfLkFtLF8uQm0pO3ZhciBEbSxCQmEsQ0JhLEZCYSxHQmEsSEJhO0RtPWZ1bmN0aW9uKGEsYil7dGhpcy5BYT1iO2Zvcih2YXIgYz1bXSxkPSEwLGU9YS5sZW5ndGgtMTtlPj0wO2UtLSl7dmFyIGY9YVtlXXwwO2QmJmY9PWJ8fChjW2VdPWYsZD0hMSl9dGhpcy5vYT1jfTtCQmE9e307Q0JhPWZ1bmN0aW9uKGEpe3JldHVybi0xMjg8PWEmJmE8MTI4P2lqYShCQmEsYSxmdW5jdGlvbihiKXtyZXR1cm4gbmV3IERtKFtifDBdLGI8MD8tMTowKX0pOm5ldyBEbShbYXwwXSxhPDA/LTE6MCl9O18uRUJhPWZ1bmN0aW9uKGEpe2lmKGlzTmFOKGEpfHwhaXNGaW5pdGUoYSkpcmV0dXJuIF8uREJhO2lmKGE8MClyZXR1cm4gXy5FQmEoLWEpLm5lZ2F0ZSgpO2Zvcih2YXIgYj1bXSxjPTEsZD0wO2E+PWM7ZCsrKWJbZF09YS9jfDAsYyo9NDI5NDk2NzI5NjtyZXR1cm4gbmV3IERtKGIsMCl9O18uREJhPUNCYSgwKTtGQmE9Q0JhKDEpO0dCYT1DQmEoMTY3NzcyMTYpO1xuSEJhPWZ1bmN0aW9uKGEpe2lmKEVtKGEpKXJldHVybi1IQmEoYS5uZWdhdGUoKSk7Zm9yKHZhciBiPTAsYz0xLGQ9MDtkPGEub2EubGVuZ3RoO2QrKyl7dmFyIGU9Rm0oYSxkKTtiKz0oZT49MD9lOjQyOTQ5NjcyOTYrZSkqYztjKj00Mjk0OTY3Mjk2fXJldHVybiBifTtEbS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oYSl7YT1hfHwxMDtpZihhPDJ8fDM2PGEpdGhyb3cgRXJyb3IoXCIkYWBcIithKTtpZihJQmEodGhpcykpcmV0dXJuXCIwXCI7aWYoRW0odGhpcykpcmV0dXJuXCItXCIrdGhpcy5uZWdhdGUoKS50b1N0cmluZyhhKTtmb3IodmFyIGI9Xy5FQmEoTWF0aC5wb3coYSw2KSksYz10aGlzLGQ9XCJcIjs7KXt2YXIgZT1jLmRpdmlkZShiKTtjPUpCYShjLGUubXVsdGlwbHkoYikpO3ZhciBmPSgoYy5vYS5sZW5ndGg+MD9jLm9hWzBdOmMuQWEpPj4+MCkudG9TdHJpbmcoYSk7Yz1lO2lmKElCYShjKSlyZXR1cm4gZitkO2Zvcig7Zi5sZW5ndGg8NjspZj1cIjBcIitmO2Q9ZitkfX07XG52YXIgRm09ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYjwwPzA6YjxhLm9hLmxlbmd0aD9hLm9hW2JdOmEuQWF9LElCYT1mdW5jdGlvbihhKXtpZihhLkFhIT0wKXJldHVybiExO2Zvcih2YXIgYj0wO2I8YS5vYS5sZW5ndGg7YisrKWlmKGEub2FbYl0hPTApcmV0dXJuITE7cmV0dXJuITB9LEVtPWZ1bmN0aW9uKGEpe3JldHVybiBhLkFhPT0tMX07Xy5tPURtLnByb3RvdHlwZTtfLm0uZXF1YWxzPWZ1bmN0aW9uKGEpe2lmKHRoaXMuQWEhPWEuQWEpcmV0dXJuITE7Zm9yKHZhciBiPU1hdGgubWF4KHRoaXMub2EubGVuZ3RoLGEub2EubGVuZ3RoKSxjPTA7YzxiO2MrKylpZihGbSh0aGlzLGMpIT1GbShhLGMpKXJldHVybiExO3JldHVybiEwfTtfLm0uY29tcGFyZT1mdW5jdGlvbihhKXthPUpCYSh0aGlzLGEpO3JldHVybiBFbShhKT8tMTpJQmEoYSk/MDoxfTtfLm0ubmVnYXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm90KCkuYWRkKEZCYSl9O1xuXy5tLmFicz1mdW5jdGlvbigpe3JldHVybiBFbSh0aGlzKT90aGlzLm5lZ2F0ZSgpOnRoaXN9O18ubS5hZGQ9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPU1hdGgubWF4KHRoaXMub2EubGVuZ3RoLGEub2EubGVuZ3RoKSxjPVtdLGQ9MCxlPTA7ZTw9YjtlKyspe3ZhciBmPWQrKEZtKHRoaXMsZSkmNjU1MzUpKyhGbShhLGUpJjY1NTM1KSxnPShmPj4+MTYpKyhGbSh0aGlzLGUpPj4+MTYpKyhGbShhLGUpPj4+MTYpO2Q9Zz4+PjE2O2YmPTY1NTM1O2cmPTY1NTM1O2NbZV09Zzw8MTZ8Zn1yZXR1cm4gbmV3IERtKGMsY1tjLmxlbmd0aC0xXSYtMjE0NzQ4MzY0OD8tMTowKX07dmFyIEpCYT1mdW5jdGlvbihhLGIpe3JldHVybiBhLmFkZChiLm5lZ2F0ZSgpKX07XG5EbS5wcm90b3R5cGUubXVsdGlwbHk9ZnVuY3Rpb24oYSl7aWYoSUJhKHRoaXMpfHxJQmEoYSkpcmV0dXJuIF8uREJhO2lmKEVtKHRoaXMpKXJldHVybiBFbShhKT90aGlzLm5lZ2F0ZSgpLm11bHRpcGx5KGEubmVnYXRlKCkpOnRoaXMubmVnYXRlKCkubXVsdGlwbHkoYSkubmVnYXRlKCk7aWYoRW0oYSkpcmV0dXJuIHRoaXMubXVsdGlwbHkoYS5uZWdhdGUoKSkubmVnYXRlKCk7aWYodGhpcy5jb21wYXJlKEdCYSk8MCYmYS5jb21wYXJlKEdCYSk8MClyZXR1cm4gXy5FQmEoSEJhKHRoaXMpKkhCYShhKSk7Zm9yKHZhciBiPXRoaXMub2EubGVuZ3RoK2Eub2EubGVuZ3RoLGM9W10sZD0wO2Q8MipiO2QrKyljW2RdPTA7Zm9yKGQ9MDtkPHRoaXMub2EubGVuZ3RoO2QrKylmb3IodmFyIGU9MDtlPGEub2EubGVuZ3RoO2UrKyl7dmFyIGY9Rm0odGhpcyxkKT4+PjE2LGc9Rm0odGhpcyxkKSY2NTUzNSxoPUZtKGEsZSk+Pj4xNixrPUZtKGEsZSkmNjU1MzU7Y1syKmQrMiplXSs9ZyprO0tCYShjLFxuMipkKzIqZSk7Y1syKmQrMiplKzFdKz1mKms7S0JhKGMsMipkKzIqZSsxKTtjWzIqZCsyKmUrMV0rPWcqaDtLQmEoYywyKmQrMiplKzEpO2NbMipkKzIqZSsyXSs9ZipoO0tCYShjLDIqZCsyKmUrMil9Zm9yKGQ9MDtkPGI7ZCsrKWNbZF09Y1syKmQrMV08PDE2fGNbMipkXTtmb3IoZD1iO2Q8MipiO2QrKyljW2RdPTA7cmV0dXJuIG5ldyBEbShjLDApfTt2YXIgS0JhPWZ1bmN0aW9uKGEsYil7Zm9yKDsoYVtiXSY2NTUzNSkhPWFbYl07KWFbYisxXSs9YVtiXT4+PjE2LGFbYl0mPTY1NTM1LGIrK307RG0ucHJvdG90eXBlLmRpdmlkZT1mdW5jdGlvbihhKXtyZXR1cm4gTEJhKHRoaXMsYSkub2F9O1xudmFyIE1CYT1mdW5jdGlvbihhLGIpe3RoaXMub2E9YTt0aGlzLkFhPWJ9LExCYT1mdW5jdGlvbihhLGIpe2lmKElCYShiKSl0aHJvdyBFcnJvcihcImNiXCIpO2lmKElCYShhKSlyZXR1cm4gbmV3IE1CYShfLkRCYSxfLkRCYSk7aWYoRW0oYSkpcmV0dXJuIGI9TEJhKGEubmVnYXRlKCksYiksbmV3IE1CYShiLm9hLm5lZ2F0ZSgpLGIuQWEubmVnYXRlKCkpO2lmKEVtKGIpKXJldHVybiBiPUxCYShhLGIubmVnYXRlKCkpLG5ldyBNQmEoYi5vYS5uZWdhdGUoKSxiLkFhKTtpZihhLm9hLmxlbmd0aD4zMCl7aWYoRW0oYSl8fEVtKGIpKXRocm93IEVycm9yKFwiYmJcIik7Zm9yKHZhciBjPUZCYSxkPWI7ZC5jb21wYXJlKGEpPD0wOyljPWMuc2hpZnRMZWZ0KDEpLGQ9ZC5zaGlmdExlZnQoMSk7dmFyIGU9TkJhKGMsMSksZj1OQmEoZCwxKTtkPU5CYShkLDIpO2ZvcihjPU5CYShjLDIpOyFJQmEoZCk7KXt2YXIgZz1mLmFkZChkKTtnLmNvbXBhcmUoYSk8PTAmJihlPWUuYWRkKGMpLGY9Zyk7ZD1OQmEoZCxcbjEpO2M9TkJhKGMsMSl9Yj1KQmEoYSxlLm11bHRpcGx5KGIpKTtyZXR1cm4gbmV3IE1CYShlLGIpfWZvcihlPV8uREJhO2EuY29tcGFyZShiKT49MDspe2M9TWF0aC5tYXgoMSxNYXRoLmZsb29yKEhCYShhKS9IQmEoYikpKTtkPU1hdGguY2VpbChNYXRoLmxvZyhjKS9NYXRoLkxOMik7ZD1kPD00OD8xOk1hdGgucG93KDIsZC00OCk7Zj1fLkVCYShjKTtmb3IoZz1mLm11bHRpcGx5KGIpO0VtKGcpfHxnLmNvbXBhcmUoYSk+MDspYy09ZCxmPV8uRUJhKGMpLGc9Zi5tdWx0aXBseShiKTtJQmEoZikmJihmPUZCYSk7ZT1lLmFkZChmKTthPUpCYShhLGcpfXJldHVybiBuZXcgTUJhKGUsYSl9O18ubT1EbS5wcm90b3R5cGU7Xy5tLm5vdD1mdW5jdGlvbigpe2Zvcih2YXIgYT10aGlzLm9hLmxlbmd0aCxiPVtdLGM9MDtjPGE7YysrKWJbY109fnRoaXMub2FbY107cmV0dXJuIG5ldyBEbShiLH50aGlzLkFhKX07XG5fLm0uYW5kPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1NYXRoLm1heCh0aGlzLm9hLmxlbmd0aCxhLm9hLmxlbmd0aCksYz1bXSxkPTA7ZDxiO2QrKyljW2RdPUZtKHRoaXMsZCkmRm0oYSxkKTtyZXR1cm4gbmV3IERtKGMsdGhpcy5BYSZhLkFhKX07Xy5tLm9yPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1NYXRoLm1heCh0aGlzLm9hLmxlbmd0aCxhLm9hLmxlbmd0aCksYz1bXSxkPTA7ZDxiO2QrKyljW2RdPUZtKHRoaXMsZCl8Rm0oYSxkKTtyZXR1cm4gbmV3IERtKGMsdGhpcy5BYXxhLkFhKX07Xy5tLnhvcj1mdW5jdGlvbihhKXtmb3IodmFyIGI9TWF0aC5tYXgodGhpcy5vYS5sZW5ndGgsYS5vYS5sZW5ndGgpLGM9W10sZD0wO2Q8YjtkKyspY1tkXT1GbSh0aGlzLGQpXkZtKGEsZCk7cmV0dXJuIG5ldyBEbShjLHRoaXMuQWFeYS5BYSl9O1xuXy5tLnNoaWZ0TGVmdD1mdW5jdGlvbihhKXt2YXIgYj1hPj41O2ElPTMyO2Zvcih2YXIgYz10aGlzLm9hLmxlbmd0aCtiKyhhPjA/MTowKSxkPVtdLGU9MDtlPGM7ZSsrKWRbZV09YT4wP0ZtKHRoaXMsZS1iKTw8YXxGbSh0aGlzLGUtYi0xKT4+PjMyLWE6Rm0odGhpcyxlLWIpO3JldHVybiBuZXcgRG0oZCx0aGlzLkFhKX07dmFyIE5CYT1mdW5jdGlvbihhLGIpe3ZhciBjPWI+PjU7YiU9MzI7Zm9yKHZhciBkPWEub2EubGVuZ3RoLWMsZT1bXSxmPTA7ZjxkO2YrKyllW2ZdPWI+MD9GbShhLGYrYyk+Pj5ifEZtKGEsZitjKzEpPDwzMi1iOkZtKGEsZitjKTtyZXR1cm4gbmV3IERtKGUsYS5BYSl9O3ZhciBTQmE7Xy5PQmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEueW4mJnR5cGVvZiBhLnluPT1cImZ1bmN0aW9uXCI/YS55bigpOl8uQmEoYSl8fHR5cGVvZiBhPT09XCJzdHJpbmdcIj9hLmxlbmd0aDpfLlpnYShhKX07Xy5QQmE9ZnVuY3Rpb24oYSl7aWYoYS5ZdiYmdHlwZW9mIGEuWXY9PVwiZnVuY3Rpb25cIilyZXR1cm4gYS5ZdigpO2lmKHR5cGVvZiBNYXAhPT1cInVuZGVmaW5lZFwiJiZhIGluc3RhbmNlb2YgTWFwfHx0eXBlb2YgU2V0IT09XCJ1bmRlZmluZWRcIiYmYSBpbnN0YW5jZW9mIFNldClyZXR1cm4gQXJyYXkuZnJvbShhLnZhbHVlcygpKTtpZih0eXBlb2YgYT09PVwic3RyaW5nXCIpcmV0dXJuIGEuc3BsaXQoXCJcIik7aWYoXy5CYShhKSl7Zm9yKHZhciBiPVtdLGM9YS5sZW5ndGgsZD0wO2Q8YztkKyspYi5wdXNoKGFbZF0pO3JldHVybiBifXJldHVybiBfLmFjKGEpfTtcbl8uUUJhPWZ1bmN0aW9uKGEpe2lmKGEub0EmJnR5cGVvZiBhLm9BPT1cImZ1bmN0aW9uXCIpcmV0dXJuIGEub0EoKTtpZighYS5Zdnx8dHlwZW9mIGEuWXYhPVwiZnVuY3Rpb25cIil7aWYodHlwZW9mIE1hcCE9PVwidW5kZWZpbmVkXCImJmEgaW5zdGFuY2VvZiBNYXApcmV0dXJuIEFycmF5LmZyb20oYS5rZXlzKCkpO2lmKCEodHlwZW9mIFNldCE9PVwidW5kZWZpbmVkXCImJmEgaW5zdGFuY2VvZiBTZXQpKXtpZihfLkJhKGEpfHx0eXBlb2YgYT09PVwic3RyaW5nXCIpe3ZhciBiPVtdO2E9YS5sZW5ndGg7Zm9yKHZhciBjPTA7YzxhO2MrKyliLnB1c2goYyk7cmV0dXJuIGJ9cmV0dXJuIF8uYmMoYSl9fX07XG5fLlJCYT1mdW5jdGlvbihhLGIsYyl7aWYoYS5mb3JFYWNoJiZ0eXBlb2YgYS5mb3JFYWNoPT1cImZ1bmN0aW9uXCIpYS5mb3JFYWNoKGIsYyk7ZWxzZSBpZihfLkJhKGEpfHx0eXBlb2YgYT09PVwic3RyaW5nXCIpQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChhLGIsYyk7ZWxzZSBmb3IodmFyIGQ9Xy5RQmEoYSksZT1fLlBCYShhKSxmPWUubGVuZ3RoLGc9MDtnPGY7ZysrKWIuY2FsbChjLGVbZ10sZCYmZFtnXSxhKX07U0JhPWZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGEuZXZlcnk9PVwiZnVuY3Rpb25cIilyZXR1cm4gYS5ldmVyeShiLHZvaWQgMCk7aWYoXy5CYShhKXx8dHlwZW9mIGE9PT1cInN0cmluZ1wiKXJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChhLGIsdm9pZCAwKTtmb3IodmFyIGM9Xy5RQmEoYSksZD1fLlBCYShhKSxlPWQubGVuZ3RoLGY9MDtmPGU7ZisrKWlmKCFiLmNhbGwodm9pZCAwLGRbZl0sYyYmY1tmXSxhKSlyZXR1cm4hMTtyZXR1cm4hMH07dmFyIFRCYSxVQmEsYUNhLGJDYSxjQ2EsZENhLGVDYSxsQ2E7Xy5NbGE9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7dmFyIGg9XCJcIjthJiYoaCs9YStcIjpcIik7YyYmKGgrPVwiLy9cIixiJiYoaCs9YitcIkBcIiksaCs9YyxkJiYoaCs9XCI6XCIrZCkpO2UmJihoKz1lKTtmJiYoaCs9XCI/XCIrZik7ZyYmKGgrPVwiI1wiK2cpO3JldHVybiBofTtUQmE9UmVnRXhwKFwiXig/OihbXjovPyMuXSspOik/KD86Ly8oPzooW15cXFxcXFxcXC8/I10qKUApPyhbXlxcXFxcXFxcLz8jXSo/KSg/OjooWzAtOV0rKSk/KD89W1xcXFxcXFxcLz8jXXwkKSk/KFtePyNdKyk/KD86XFxcXD8oW14jXSopKT8oPzojKFtcXFxcc1xcXFxTXSopKT8kXCIpO18uR209ZnVuY3Rpb24oYSl7cmV0dXJuIGEubWF0Y2goVEJhKX07VUJhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE/Yj9kZWNvZGVVUkkoYSk6ZGVjb2RlVVJJQ29tcG9uZW50KGEpOmF9O18uV2Q9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5HbShiKVthXXx8bnVsbH07XG5fLlZCYT1mdW5jdGlvbihhKXthPV8uV2QoMSxhKTshYSYmXy5iYS5zZWxmJiZfLmJhLnNlbGYubG9jYXRpb24mJihhPV8uYmEuc2VsZi5sb2NhdGlvbi5wcm90b2NvbC5zbGljZSgwLC0xKSk7cmV0dXJuIGE/YS50b0xvd2VyQ2FzZSgpOlwiXCJ9O18uV0JhPWZ1bmN0aW9uKGEpe3JldHVybiBVQmEoXy5XZCgzLGEpLCEwKX07Xy5jbGE9ZnVuY3Rpb24oYSl7cmV0dXJuIFVCYShfLldkKDUsYSksITApfTtfLk1rYT1mdW5jdGlvbihhKXt2YXIgYj1hLmluZGV4T2YoXCIjXCIpO3JldHVybiBiPDA/bnVsbDphLnNsaWNlKGIrMSl9O18uSW09ZnVuY3Rpb24oYSl7cmV0dXJuIFVCYShfLk1rYShhKSl9O18uWEJhPWZ1bmN0aW9uKGEpe2E9Xy5HbShhKTtyZXR1cm4gXy5NbGEoYVsxXSxhWzJdLGFbM10sYVs0XSl9O18uWUJhPWZ1bmN0aW9uKGEpe2E9Xy5HbShhKTtyZXR1cm4gXy5NbGEoYVsxXSxudWxsLGFbM10sYVs0XSl9O1xuXy5NZD1mdW5jdGlvbihhKXthPV8uR20oYSk7cmV0dXJuIF8uTWxhKG51bGwsbnVsbCxudWxsLG51bGwsYVs1XSxhWzZdLGFbN10pfTtfLlpCYT1mdW5jdGlvbihhKXt2YXIgYj1hLmluZGV4T2YoXCIjXCIpO3JldHVybiBiPDA/YTphLnNsaWNlKDAsYil9O18uJEJhPWZ1bmN0aW9uKGEsYil7aWYoYSl7YT1hLnNwbGl0KFwiJlwiKTtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKyl7dmFyIGQ9YVtjXS5pbmRleE9mKFwiPVwiKSxlPW51bGw7aWYoZD49MCl7dmFyIGY9YVtjXS5zdWJzdHJpbmcoMCxkKTtlPWFbY10uc3Vic3RyaW5nKGQrMSl9ZWxzZSBmPWFbY107YihmLGU/Xy53eWEoZSk6XCJcIil9fX07YUNhPWZ1bmN0aW9uKGEpe3ZhciBiPWEuaW5kZXhPZihcIiNcIik7YjwwJiYoYj1hLmxlbmd0aCk7dmFyIGM9YS5pbmRleE9mKFwiP1wiKTtpZihjPDB8fGM+Yil7Yz1iO3ZhciBkPVwiXCJ9ZWxzZSBkPWEuc3Vic3RyaW5nKGMrMSxiKTtyZXR1cm5bYS5zbGljZSgwLGMpLGQsYS5zbGljZShiKV19O1xuYkNhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGI/YT9hK1wiJlwiK2I6YjphfTtjQ2E9ZnVuY3Rpb24oYSxiKXtpZighYilyZXR1cm4gYTthPWFDYShhKTthWzFdPWJDYShhWzFdLGIpO3JldHVybiBhWzBdKyhhWzFdP1wiP1wiK2FbMV06XCJcIikrYVsyXX07ZENhPWZ1bmN0aW9uKGEsYixjKXtpZihBcnJheS5pc0FycmF5KGIpKWZvcih2YXIgZD0wO2Q8Yi5sZW5ndGg7ZCsrKWRDYShhLFN0cmluZyhiW2RdKSxjKTtlbHNlIGIhPW51bGwmJmMucHVzaChhKyhiPT09XCJcIj9cIlwiOlwiPVwiK18uY2woYikpKX07ZUNhPWZ1bmN0aW9uKGEsYil7dmFyIGM9W107Zm9yKGI9Ynx8MDtiPGEubGVuZ3RoO2IrPTIpZENhKGFbYl0sYVtiKzFdLGMpO3JldHVybiBjLmpvaW4oXCImXCIpfTtfLmZDYT1mdW5jdGlvbihhKXt2YXIgYj1bXSxjO2ZvcihjIGluIGEpZENhKGMsYVtjXSxiKTtyZXR1cm4gYi5qb2luKFwiJlwiKX07XG5fLmdDYT1mdW5jdGlvbihhLGIpe3ZhciBjPWFyZ3VtZW50cy5sZW5ndGg9PTI/ZUNhKGFyZ3VtZW50c1sxXSwwKTplQ2EoYXJndW1lbnRzLDEpO3JldHVybiBjQ2EoYSxjKX07Xy5NbWE9ZnVuY3Rpb24oYSxiKXtiPV8uZkNhKGIpO3JldHVybiBjQ2EoYSxiKX07Xy5oQ2E9ZnVuY3Rpb24oYSxiLGMpe2M9YyE9bnVsbD9cIj1cIitfLmNsKGMpOlwiXCI7cmV0dXJuIGNDYShhLGIrYyl9O18uaUNhPWZ1bmN0aW9uKGEsYixjLGQpe2Zvcih2YXIgZT1jLmxlbmd0aDsoYj1hLmluZGV4T2YoYyxiKSk+PTAmJmI8ZDspe3ZhciBmPWEuY2hhckNvZGVBdChiLTEpO2lmKGY9PTM4fHxmPT02MylpZihmPWEuY2hhckNvZGVBdChiK2UpLCFmfHxmPT02MXx8Zj09Mzh8fGY9PTM1KXJldHVybiBiO2IrPWUrMX1yZXR1cm4tMX07Xy5qQ2E9LyN8JC87Xy5rQ2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5pQ2EoYSwwLGIsYS5zZWFyY2goXy5qQ2EpKT49MH07XG5fLkttPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5zZWFyY2goXy5qQ2EpLGQ9Xy5pQ2EoYSwwLGIsYyk7aWYoZDwwKXJldHVybiBudWxsO3ZhciBlPWEuaW5kZXhPZihcIiZcIixkKTtpZihlPDB8fGU+YyllPWM7ZCs9Yi5sZW5ndGgrMTtyZXR1cm4gXy53eWEoYS5zbGljZShkLGUhPT0tMT9lOjApKX07bENhPS9bPyZdKCR8IykvO18ubUNhPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPWEuc2VhcmNoKF8uakNhKSxkPTAsZSxmPVtdOyhlPV8uaUNhKGEsZCxiLGMpKT49MDspZi5wdXNoKGEuc3Vic3RyaW5nKGQsZSkpLGQ9TWF0aC5taW4oYS5pbmRleE9mKFwiJlwiLGUpKzF8fGMsYyk7Zi5wdXNoKGEuc2xpY2UoZCkpO3JldHVybiBmLmpvaW4oXCJcIikucmVwbGFjZShsQ2EsXCIkMVwiKX07Xy5MbT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uaENhKF8ubUNhKGEsYiksYixjKX07XG5fLm5DYT1mdW5jdGlvbihhLGIpe2E9YUNhKGEpO3ZhciBjPWFbMV0sZD1bXTtjJiZjLnNwbGl0KFwiJlwiKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciBmPWUuaW5kZXhPZihcIj1cIik7Zj1mPj0wP2Uuc2xpY2UoMCxmKTplO2IuaGFzT3duUHJvcGVydHkoZil8fGQucHVzaChlKX0pO2FbMV09YkNhKGQuam9pbihcIiZcIiksXy5mQ2EoYikpO3JldHVybiBhWzBdKyhhWzFdP1wiP1wiK2FbMV06XCJcIikrYVsyXX07dmFyIHBDYSx6Q2EscUNhLHNDYSxyQ2EsdkNhLHRDYSxBQ2E7XG5fLk1tPWZ1bmN0aW9uKGEsYil7dGhpcy5HYT10aGlzLk9hPXRoaXMuQWE9XCJcIjt0aGlzLkNhPW51bGw7dGhpcy5CYT10aGlzLlFhPVwiXCI7dGhpcy5MYT0hMTt2YXIgYzthIGluc3RhbmNlb2YgXy5NbT8odGhpcy5MYT1iIT09dm9pZCAwP2I6YS5MYSxfLk5tKHRoaXMsYS5BYSksdGhpcy5PYT1hLk9hLF8uUG0odGhpcyxhLkVxKCkpLF8uUW0odGhpcyxhLkNhKSxfLlJtKHRoaXMsYS5nZXRQYXRoKCkpLF8uU20odGhpcyxhLm9hLmNsb25lKCkpLF8uVG0odGhpcyxhLkJhKSk6YSYmKGM9Xy5HbShTdHJpbmcoYSkpKT8odGhpcy5MYT0hIWIsXy5ObSh0aGlzLGNbMV18fFwiXCIsITApLHRoaXMuT2E9Xy5vQ2EoY1syXXx8XCJcIiksXy5QbSh0aGlzLGNbM118fFwiXCIsITApLF8uUW0odGhpcyxjWzRdKSxfLlJtKHRoaXMsY1s1XXx8XCJcIiwhMCksXy5TbSh0aGlzLGNbNl18fFwiXCIsITApLF8uVG0odGhpcyxjWzddfHxcIlwiLCEwKSk6KHRoaXMuTGE9ISFiLHRoaXMub2E9bmV3IF8uVW0obnVsbCx0aGlzLkxhKSl9O1xuXy5NbS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgYT1bXSxiPXRoaXMuQWE7YiYmYS5wdXNoKHBDYShiLHFDYSwhMCksXCI6XCIpO3ZhciBjPXRoaXMuRXEoKTtpZihjfHxiPT1cImZpbGVcIilhLnB1c2goXCIvL1wiKSwoYj10aGlzLk9hKSYmYS5wdXNoKHBDYShiLHFDYSwhMCksXCJAXCIpLGEucHVzaChfLmNsKGMpLnJlcGxhY2UoLyUyNShbMC05YS1mQS1GXXsyfSkvZyxcIiUkMVwiKSksYz10aGlzLkNhLGMhPW51bGwmJmEucHVzaChcIjpcIixTdHJpbmcoYykpO2lmKGM9dGhpcy5nZXRQYXRoKCkpdGhpcy5HYSYmYy5jaGFyQXQoMCkhPVwiL1wiJiZhLnB1c2goXCIvXCIpLGEucHVzaChwQ2EoYyxjLmNoYXJBdCgwKT09XCIvXCI/ckNhOnNDYSwhMCkpOyhjPXRoaXMub2EudG9TdHJpbmcoKSkmJmEucHVzaChcIj9cIixjKTsoYz10aGlzLkJhKSYmYS5wdXNoKFwiI1wiLHBDYShjLHRDYSkpO3JldHVybiBhLmpvaW4oXCJcIil9O1xuXy5NbS5wcm90b3R5cGUucmVzb2x2ZT1mdW5jdGlvbihhKXt2YXIgYj10aGlzLmNsb25lKCksYz0hIWEuQWE7Yz9fLk5tKGIsYS5BYSk6Yz0hIWEuT2E7Yz9iLk9hPWEuT2E6Yz0hIWEuR2E7Yz9fLlBtKGIsYS5FcSgpKTpjPWEuQ2EhPW51bGw7dmFyIGQ9YS5nZXRQYXRoKCk7aWYoYylfLlFtKGIsYS5DYSk7ZWxzZSBpZihjPSEhYS5RYSl7aWYoZC5jaGFyQXQoMCkhPVwiL1wiKWlmKHRoaXMuR2EmJiF0aGlzLlFhKWQ9XCIvXCIrZDtlbHNle3ZhciBlPWIuZ2V0UGF0aCgpLmxhc3RJbmRleE9mKFwiL1wiKTtlIT0tMSYmKGQ9Yi5nZXRQYXRoKCkuc2xpY2UoMCxlKzEpK2QpfWU9ZDtpZihlPT1cIi4uXCJ8fGU9PVwiLlwiKWQ9XCJcIjtlbHNlIGlmKF8uZmEoZSxcIi4vXCIpfHxfLmZhKGUsXCIvLlwiKSl7ZD1fLkdmKGUsXCIvXCIpO2U9ZS5zcGxpdChcIi9cIik7Zm9yKHZhciBmPVtdLGc9MDtnPGUubGVuZ3RoOyl7dmFyIGg9ZVtnKytdO2g9PVwiLlwiP2QmJmc9PWUubGVuZ3RoJiZmLnB1c2goXCJcIik6aD09XCIuLlwiPygoZi5sZW5ndGg+XG4xfHxmLmxlbmd0aD09MSYmZlswXSE9XCJcIikmJmYucG9wKCksZCYmZz09ZS5sZW5ndGgmJmYucHVzaChcIlwiKSk6KGYucHVzaChoKSxkPSEwKX1kPWYuam9pbihcIi9cIil9ZWxzZSBkPWV9Yz9fLlJtKGIsZCk6Yz1hLm9hLnRvU3RyaW5nKCkhPT1cIlwiO2M/Xy5TbShiLGEub2EuY2xvbmUoKSk6Yz0hIWEuQmE7YyYmXy5UbShiLGEuQmEpO3JldHVybiBifTtfLk1tLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgXy5NbSh0aGlzKX07Xy5ObT1mdW5jdGlvbihhLGIsYyl7YS5BYT1jP18ub0NhKGIsITApOmI7YS5BYSYmKGEuQWE9YS5BYS5yZXBsYWNlKC86JC8sXCJcIikpO3JldHVybiBhfTtfLk1tLnByb3RvdHlwZS5FcT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkdhfTtfLlBtPWZ1bmN0aW9uKGEsYixjKXthLkdhPWM/Xy5vQ2EoYiwhMCk6YjtyZXR1cm4gYX07XG5fLlFtPWZ1bmN0aW9uKGEsYil7aWYoYil7Yj1OdW1iZXIoYik7aWYoaXNOYU4oYil8fGI8MCl0aHJvdyBFcnJvcihcImpiYFwiK2IpO2EuQ2E9Yn1lbHNlIGEuQ2E9bnVsbDtyZXR1cm4gYX07Xy5NbS5wcm90b3R5cGUuZ2V0UGF0aD1mdW5jdGlvbigpe3JldHVybiB0aGlzLlFhfTtfLlJtPWZ1bmN0aW9uKGEsYixjKXthLlFhPWM/Xy5vQ2EoYiwhMCk6YjtyZXR1cm4gYX07Xy5TbT1mdW5jdGlvbihhLGIsYyl7YiBpbnN0YW5jZW9mIF8uVW0/KGEub2E9Yix1Q2EoYS5vYSxhLkxhKSk6KGN8fChiPXBDYShiLHZDYSkpLGEub2E9bmV3IF8uVW0oYixhLkxhKSk7cmV0dXJuIGF9O18uTW0ucHJvdG90eXBlLnNldFF1ZXJ5PWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uU20odGhpcyxhLGIpfTtfLk1tLnByb3RvdHlwZS5nZXRRdWVyeT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9hLnRvU3RyaW5nKCl9O18uVm09ZnVuY3Rpb24oYSxiLGMpe2Eub2Euc2V0KGIsYyk7cmV0dXJuIGF9O1xuXy5XbT1mdW5jdGlvbihhLGIsYyl7QXJyYXkuaXNBcnJheShjKXx8KGM9W1N0cmluZyhjKV0pO18ud0NhKGEub2EsYixjKTtyZXR1cm4gYX07Xy5YbT1mdW5jdGlvbihhLGIpe3JldHVybiBhLm9hLmdldChiKX07Xy5UbT1mdW5jdGlvbihhLGIsYyl7YS5CYT1jP18ub0NhKGIpOmI7cmV0dXJuIGF9O18ueENhPWZ1bmN0aW9uKGEpe18uVm0oYSxcInp4XCIsXy5EeWEoKSk7cmV0dXJuIGF9O18uTW0ucHJvdG90eXBlLkUkYj1mdW5jdGlvbigpe3JldHVybiExfTtfLlltPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLk1tP2EuY2xvbmUoKTpuZXcgXy5NbShhLGIpfTtfLnlDYT1mdW5jdGlvbihhLGIsYyxkLGUsZil7dmFyIGc9bmV3IF8uTW0obnVsbCk7YSYmXy5ObShnLGEpO2ImJl8uUG0oZyxiKTtjJiZfLlFtKGcsYyk7ZCYmXy5SbShnLGQpO2UmJl8uU20oZyxlKTtmJiZfLlRtKGcsZik7cmV0dXJuIGd9O1xuXy5vQ2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT9iP2RlY29kZVVSSShhLnJlcGxhY2UoLyUyNS9nLFwiJTI1MjVcIikpOmRlY29kZVVSSUNvbXBvbmVudChhKTpcIlwifTtwQ2E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB0eXBlb2YgYT09PVwic3RyaW5nXCI/KGE9ZW5jb2RlVVJJKGEpLnJlcGxhY2UoYix6Q2EpLGMmJihhPWEucmVwbGFjZSgvJTI1KFswLTlhLWZBLUZdezJ9KS9nLFwiJSQxXCIpKSxhKTpudWxsfTt6Q2E9ZnVuY3Rpb24oYSl7YT1hLmNoYXJDb2RlQXQoMCk7cmV0dXJuXCIlXCIrKGE+PjQmMTUpLnRvU3RyaW5nKDE2KSsoYSYxNSkudG9TdHJpbmcoMTYpfTtxQ2E9L1sjXFwvXFw/QF0vZztzQ2E9L1sjXFw/Ol0vZztyQ2E9L1sjXFw/XS9nO3ZDYT0vWyNcXD9AXS9nO3RDYT0vIy9nO18uVW09ZnVuY3Rpb24oYSxiKXt0aGlzLkFhPXRoaXMub2E9bnVsbDt0aGlzLkJhPWF8fG51bGw7dGhpcy5DYT0hIWJ9O1xuQUNhPWZ1bmN0aW9uKGEpe2Eub2F8fChhLm9hPW5ldyBNYXAsYS5BYT0wLGEuQmEmJl8uJEJhKGEuQmEsZnVuY3Rpb24oYixjKXthLmFkZChfLnd5YShiKSxjKX0pKX07Xy5CQ2E9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5RQmEoYSk7aWYodHlwZW9mIGI9PVwidW5kZWZpbmVkXCIpdGhyb3cgRXJyb3IoXCJsYlwiKTt2YXIgYz1uZXcgXy5VbShudWxsKTthPV8uUEJhKGEpO2Zvcih2YXIgZD0wO2Q8Yi5sZW5ndGg7ZCsrKXt2YXIgZT1iW2RdLGY9YVtkXTtBcnJheS5pc0FycmF5KGYpP18ud0NhKGMsZSxmKTpjLmFkZChlLGYpfXJldHVybiBjfTtfLm09Xy5VbS5wcm90b3R5cGU7Xy5tLnluPWZ1bmN0aW9uKCl7QUNhKHRoaXMpO3JldHVybiB0aGlzLkFhfTtfLm0uYWRkPWZ1bmN0aW9uKGEsYil7QUNhKHRoaXMpO3RoaXMuQmE9bnVsbDthPUNDYSh0aGlzLGEpO3ZhciBjPXRoaXMub2EuZ2V0KGEpO2N8fHRoaXMub2Euc2V0KGEsYz1bXSk7Yy5wdXNoKGIpO3RoaXMuQWErPTE7cmV0dXJuIHRoaXN9O1xuXy5tLnJlbW92ZT1mdW5jdGlvbihhKXtBQ2EodGhpcyk7YT1DQ2EodGhpcyxhKTtyZXR1cm4gdGhpcy5vYS5oYXMoYSk/KHRoaXMuQmE9bnVsbCx0aGlzLkFhLT10aGlzLm9hLmdldChhKS5sZW5ndGgsdGhpcy5vYS5kZWxldGUoYSkpOiExfTtfLm0uY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLm9hPXRoaXMuQmE9bnVsbDt0aGlzLkFhPTB9O18ubS5pc0VtcHR5PWZ1bmN0aW9uKCl7QUNhKHRoaXMpO3JldHVybiB0aGlzLkFhPT0wfTtfLkRDYT1mdW5jdGlvbihhLGIpe0FDYShhKTtiPUNDYShhLGIpO3JldHVybiBhLm9hLmhhcyhiKX07Xy5tPV8uVW0ucHJvdG90eXBlO18ubS5iND1mdW5jdGlvbihhKXt2YXIgYj10aGlzLll2KCk7cmV0dXJuIF8udmEoYixhKX07Xy5tLmZvckVhY2g9ZnVuY3Rpb24oYSxiKXtBQ2EodGhpcyk7dGhpcy5vYS5mb3JFYWNoKGZ1bmN0aW9uKGMsZCl7Yy5mb3JFYWNoKGZ1bmN0aW9uKGUpe2EuY2FsbChiLGUsZCx0aGlzKX0sdGhpcyl9LHRoaXMpfTtcbl8ubS5vQT1mdW5jdGlvbigpe0FDYSh0aGlzKTtmb3IodmFyIGE9QXJyYXkuZnJvbSh0aGlzLm9hLnZhbHVlcygpKSxiPUFycmF5LmZyb20odGhpcy5vYS5rZXlzKCkpLGM9W10sZD0wO2Q8Yi5sZW5ndGg7ZCsrKWZvcih2YXIgZT1hW2RdLGY9MDtmPGUubGVuZ3RoO2YrKyljLnB1c2goYltkXSk7cmV0dXJuIGN9O18ubS5Zdj1mdW5jdGlvbihhKXtBQ2EodGhpcyk7dmFyIGI9W107aWYodHlwZW9mIGE9PT1cInN0cmluZ1wiKV8uRENhKHRoaXMsYSkmJihiPWIuY29uY2F0KHRoaXMub2EuZ2V0KENDYSh0aGlzLGEpKSkpO2Vsc2V7YT1BcnJheS5mcm9tKHRoaXMub2EudmFsdWVzKCkpO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWI9Yi5jb25jYXQoYVtjXSl9cmV0dXJuIGJ9O1xuXy5tLnNldD1mdW5jdGlvbihhLGIpe0FDYSh0aGlzKTt0aGlzLkJhPW51bGw7YT1DQ2EodGhpcyxhKTtfLkRDYSh0aGlzLGEpJiYodGhpcy5BYS09dGhpcy5vYS5nZXQoYSkubGVuZ3RoKTt0aGlzLm9hLnNldChhLFtiXSk7dGhpcy5BYSs9MTtyZXR1cm4gdGhpc307Xy5tLmdldD1mdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybiBiO2E9dGhpcy5ZdihhKTtyZXR1cm4gYS5sZW5ndGg+MD9TdHJpbmcoYVswXSk6Yn07Xy53Q2E9ZnVuY3Rpb24oYSxiLGMpe2EucmVtb3ZlKGIpO2MubGVuZ3RoPjAmJihhLkJhPW51bGwsYS5vYS5zZXQoQ0NhKGEsYiksXy5BYShjKSksYS5BYSs9Yy5sZW5ndGgpfTtcbl8uVW0ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7aWYodGhpcy5CYSlyZXR1cm4gdGhpcy5CYTtpZighdGhpcy5vYSlyZXR1cm5cIlwiO2Zvcih2YXIgYT1bXSxiPUFycmF5LmZyb20odGhpcy5vYS5rZXlzKCkpLGM9MDtjPGIubGVuZ3RoO2MrKyl7dmFyIGQ9YltjXSxlPV8uY2woZCk7ZD10aGlzLll2KGQpO2Zvcih2YXIgZj0wO2Y8ZC5sZW5ndGg7ZisrKXt2YXIgZz1lO2RbZl0hPT1cIlwiJiYoZys9XCI9XCIrXy5jbChkW2ZdKSk7YS5wdXNoKGcpfX1yZXR1cm4gdGhpcy5CYT1hLmpvaW4oXCImXCIpfTtfLlVtLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3ZhciBhPW5ldyBfLlVtO2EuQmE9dGhpcy5CYTt0aGlzLm9hJiYoYS5vYT1uZXcgTWFwKHRoaXMub2EpLGEuQWE9dGhpcy5BYSk7cmV0dXJuIGF9O1xudmFyIENDYT1mdW5jdGlvbihhLGIpe2I9U3RyaW5nKGIpO2EuQ2EmJihiPWIudG9Mb3dlckNhc2UoKSk7cmV0dXJuIGJ9LHVDYT1mdW5jdGlvbihhLGIpe2ImJiFhLkNhJiYoQUNhKGEpLGEuQmE9bnVsbCxhLm9hLmZvckVhY2goZnVuY3Rpb24oYyxkKXt2YXIgZT1kLnRvTG93ZXJDYXNlKCk7ZCE9ZSYmKHRoaXMucmVtb3ZlKGQpLF8ud0NhKHRoaXMsZSxjKSl9LGEpKTthLkNhPWJ9O18uVW0ucHJvdG90eXBlLmV4dGVuZD1mdW5jdGlvbihhKXtmb3IodmFyIGI9MDtiPGFyZ3VtZW50cy5sZW5ndGg7YisrKV8uUkJhKGFyZ3VtZW50c1tiXSxmdW5jdGlvbihjLGQpe3RoaXMuYWRkKGQsYyl9LHRoaXMpfTtzaWE9KDAsXy5qbS51QikoKTt2YXIgR2lhPW51bGwsRmlhPW51bGwsRUNhPW51bGw7RUNhPXBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS50aW1pbmcmJnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQ7Xy5CaWEoKT09PTImJiFfLmtDYShfLkpjKCkuaHJlZixcIm5iYlwiKSYmXy5EaWEoXCJuYXZpZ2F0aW9uXCIpO1xuXy5YZChfLlFlKCksXCJwYWdlc2hvd1wiLGZ1bmN0aW9uKGEpe3ZhciBiPWEuWWc7YT0oYT1DaWEoKSkmJmEudHlwZXx8XCJudWxsXCI7aWYoYi5wZXJzaXN0ZWQpe18ua2EoKSYmKEhpYSgpLF8uT2MoXCJucnJcIixcIiZucnJyPXNhZmFyaUhpdFwiKSk7dmFyIGM9Z29vZ2xlJiZnb29nbGUuamwmJmdvb2dsZS5qbC5iZmx8fG51bGw7aWYoXy5pYSgpKWM9TWF0aC5yb3VuZChwZXJmb3JtYW5jZS5ub3coKS1iLnRpbWVTdGFtcCk7ZWxzZXt2YXIgZD1wZXJmb3JtYW5jZS50aW1pbmcmJnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQ7Xy5rYSgpJiZFQ2EmJmQmJkVDYSE9PWQmJihkLT1FQ2EsZD1NYXRoLnJvdW5kKHBlcmZvcm1hbmNlLm5vdygpLWQpLGM9YyYmKGQ8MHx8ZD4xRTMpP2M6ZCl9YyE9bnVsbD9fLkRpYShcInBhZ2VzaG93XCIsYyk6Xy5EaWEoXCJwYWdlc2hvd1wiKX1lbHNlIF8uT2MoXCJwc250XCIsXCImbnQ9XCIrYSksXy5rYSgpJiZhPT09XCJiYWNrX2ZvcndhcmRcIiYmXy5PYyhcIm5yclwiLFxuXCImbnJycj1zYWZhcmlNaXNzXCIpO2lmKChfLmlhKCl8fF8ub2lhKCkpJiYoYT09PVwiYmFja19mb3J3YXJkXCJ8fGIucGVyc2lzdGVkKSlhOnt2YXIgZTthPShlPUNpYSgpKT09bnVsbD92b2lkIDA6ZS5ub3RSZXN0b3JlZFJlYXNvbnM7aWYoYSE9PXZvaWQgMHx8Yi5wZXJzaXN0ZWQpaWYoYT09PXZvaWQgMCYmYi5wZXJzaXN0ZWQpdmFyIGY9XCImbnJycj1ub0FQSWhpdFwiO2Vsc2UgaWYoYi5wZXJzaXN0ZWQpZj1cIiZucnJyPWhpdFwiO2Vsc2UgaWYoYT09PW51bGwpZj1cIiZucnJyPW51bGxcIjtlbHNle2I6e2U9YS5yZWFzb25zO2lmKGUhPT1udWxsJiZlLmxlbmd0aCE9PTApZm9yKGU9Xy5QYShlKSxiPWUubmV4dCgpOyFiLmRvbmU7Yj1lLm5leHQoKSlpZihiLnZhbHVlLnJlYXNvbj09PVwic2Vzc2lvbi1yZXN0b3JlZFwiKXtlPSEwO2JyZWFrIGJ9ZT0hMX1pZihlKWJyZWFrIGE7ZT1cIiZtdXJsPVwiK2VuY29kZVVSSUNvbXBvbmVudCgoZj1hLnVybCkhPW51bGw/ZjpcInVua25vd25cIik7Zj1bXTtpZihhLnJlYXNvbnMhPT1cbm51bGwmJmEucmVhc29ucy5sZW5ndGg+MClmb3IoYj1fLlBhKGEucmVhc29ucyksYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpYz1jLnZhbHVlLGMucmVhc29uJiZmLnB1c2goYy5yZWFzb24pO2Vsc2UgZi5wdXNoKFwibWFpbk5vdEJsb2NraW5nXCIpO2Y9XCImbW5ycj1cIitmLmpvaW4oXCIsXCIpO2Y9ZStmO2E9YS5jaGlsZHJlbiE9PW51bGw/RWlhKGEuY2hpbGRyZW4sXCJcIik6XCJcIjtmKz1cIiZucnJyPVwiK2F9ZWxzZSBmPVwiJm5ycnI9bm9BUEltaXNzXCI7Xy5PYyhcIm5yclwiLGYpfX0sITEpO18uWGQoXy5RZSgpLFwicG9wc3RhdGVcIixmdW5jdGlvbigpe18ua2EoKSYmR2lhJiZGaWE9PT1fLkpjKCkuaHJlZj8oY2xlYXJUaW1lb3V0KEdpYSksRmlhPUdpYT1udWxsKTpfLkRpYShcInBvcHN0YXRlXCIpfSwhMSk7Xy5rYSgpJiZIaWEoKTtfLkZDYT1mdW5jdGlvbihhLGIpe2E9RXJyb3IuY2FsbCh0aGlzLGEpO3RoaXMubWVzc2FnZT1hLm1lc3NhZ2U7XCJzdGFja1wiaW4gYSYmKHRoaXMuc3RhY2s9YS5zdGFjayk7dGhpcy5fbGV2ZWw9Yn07Xy5EKF8uRkNhLEVycm9yKTtfLlVkPWZ1bmN0aW9uKGEpe18uRkNhLmNhbGwodGhpcyxhLDIpfTtfLkQoXy5VZCxfLkZDYSk7Xy5HQ2E9ZnVuY3Rpb24oYSl7Xy5GQ2EuY2FsbCh0aGlzLGEsMyl9O18uRChfLkdDYSxfLkZDYSk7dmFyIEhDYSxKQ2EsTENhO0hDYT1mdW5jdGlvbihhLGIpe3RoaXMuV2M9YTt0aGlzLm9hPWJ9O18uSUNhPW5ldyBIQ2EoZW5jb2RlVVJJQ29tcG9uZW50LGZ1bmN0aW9uKGEpe3JldHVybiBkZWNvZGVVUklDb21wb25lbnQoYS5yZXBsYWNlKC9cXCsvZyxcIiUyMFwiKSl9KTtKQ2E9SmlhKFwiJCwvOjs/QFtdXmB7fH1cIik7SmlhKFwiPSYkLC86O0BbXV5ge3x9XCIpO18uS0NhPW5ldyBIQ2EoZnVuY3Rpb24oYSl7cmV0dXJuIF8uSUNhLldjKGEpLnJlcGxhY2UoSkNhLGRlY29kZVVSSUNvbXBvbmVudCl9LF8uSUNhLm9hKTtMQ2E9bmV3IEhDYShmdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKC8lMjAvZyxcIitcIil9LGZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UoXCIrXCIsXCIlMjBcIil9KTt2YXIgTUNhPWZ1bmN0aW9uKGEpe2E9YT09PXZvaWQgMD9bXTphO3RoaXMuQWE9bmV3IE1hcDt0aGlzLm9hPVtdO2E9Xy5QYShhKTtmb3IodmFyIGI9YS5uZXh0KCk7IWIuZG9uZTtiPWEubmV4dCgpKXt2YXIgYz1fLlBhKGIudmFsdWUpO2I9Yy5uZXh0KCkudmFsdWU7Yz1jLm5leHQoKS52YWx1ZTt0aGlzLmFwcGVuZChiLGMpfX07Xy5tPU1DYS5wcm90b3R5cGU7Xy5tLmdldD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5nZXRBbGwoYSlbMF19O18ubS5nZXRBbGw9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuQWEuZ2V0KGEpfHxbXX07Xy5tLnNldD1mdW5jdGlvbihhLGIpe2lmKHRoaXMuaGFzKGEpKXt0aGlzLkFhLnNldChhLFtiXSk7dmFyIGM9ITA7dGhpcy5vYT1fLm9oKHRoaXMub2EsZnVuY3Rpb24oZCl7aWYoZD09YSlpZihjKWM9ITE7ZWxzZSByZXR1cm4hMTtyZXR1cm4hMH0pfWVsc2UgdGhpcy5hcHBlbmQoYSxiKX07XG5fLm0uYXBwZW5kPWZ1bmN0aW9uKGEsYil7dGhpcy5vYS5wdXNoKGEpO3ZhciBjPXRoaXMuZ2V0QWxsKGEpO2MucHVzaChiKTt0aGlzLkFhLnNldChhLGMpfTtfLm0uaGFzPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLkFhLmhhcyhhKX07Xy5tLmRlbGV0ZT1mdW5jdGlvbihhKXt0aGlzLkFhLmRlbGV0ZShhKTt0aGlzLm9hPV8ub2godGhpcy5vYSxmdW5jdGlvbihiKXtyZXR1cm4gYiE9YX0pfTtfLm0uc2l6ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9hLmxlbmd0aH07Xy5tLmtleXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vYX07TUNhLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPVtdLGI9bmV3IE1hcCxjPV8uUGEodGhpcy5rZXlzKCkpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKXtkPWQudmFsdWU7dmFyIGU9dGhpcy5nZXRBbGwoZCksZj1iLmdldChkKXx8MDtiLnNldChkLGYrMSk7YS5wdXNoKFtkLGVbZl1dKX1yZXR1cm4gYVtTeW1ib2wuaXRlcmF0b3JdKCl9O3ZhciBOQ2E9ZnVuY3Rpb24oKXt9O05DYS5wcm90b3R5cGUuV2M9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuam9pbihcIiZcIil9O05DYS5wcm90b3R5cGUub2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/YS5zcGxpdChcIiZcIik6W119O18uT0NhPWZ1bmN0aW9uKGEpe3RoaXMuQWE9YT09PXZvaWQgMD9cIj1cIjphfTtfLk9DYS5wcm90b3R5cGUuV2M9ZnVuY3Rpb24oYSl7cmV0dXJuIGEua2V5K3RoaXMuQWErYS52YWx1ZX07Xy5PQ2EucHJvdG90eXBlLm9hPWZ1bmN0aW9uKGEpe2E9YS5zcGxpdCh0aGlzLkFhKTtyZXR1cm57a2V5OmEuc2hpZnQoKSx2YWx1ZTphLmpvaW4odGhpcy5BYSl9fTt2YXIgUENhPWZ1bmN0aW9uKCl7dmFyIGE9YT09PXZvaWQgMD9uZXcgXy5PQ2E6YTt2YXIgYj1iPT09dm9pZCAwP25ldyBOQ2E6Yjt0aGlzLkFhPWE7dGhpcy5vYT1ifTtQQ2EucHJvdG90eXBlLldjPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2E9Xy5QYShhKTtmb3IodmFyIGM9YS5uZXh0KCk7IWMuZG9uZTtjPWEubmV4dCgpKXt2YXIgZD1fLlBhKGMudmFsdWUpO2M9ZC5uZXh0KCkudmFsdWU7ZD1kLm5leHQoKS52YWx1ZTtiLnB1c2godGhpcy5BYS5XYyh7a2V5OmMsdmFsdWU6ZH0pKX1yZXR1cm4gdGhpcy5vYS5XYyhiKX07Xy5abT1mdW5jdGlvbihhLGIpe3RoaXMuTGE9bmV3IFBDYTt0aGlzLkdhPWI7dGhpcy5zZXRWYWx1ZShhKX07Xy5tPV8uWm0ucHJvdG90eXBlO18ubS5jbG9uZT1mdW5jdGlvbigpe3ZhciBhPW5ldyBfLlptKFwiXCIsdGhpcy5HYSk7YS5DYT10aGlzLkNhO2EuQWE9bmV3IE1DYSh0aGlzLkFhKTthLkJhPW5ldyBNYXA7Zm9yKHZhciBiPV8uUGEodGhpcy5CYSksYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpe3ZhciBkPV8uUGEoYy52YWx1ZSk7Yz1kLm5leHQoKS52YWx1ZTtkPWQubmV4dCgpLnZhbHVlO2EuQmEuc2V0KGMsW10uY29uY2F0KF8ubWQoZCkpKX1yZXR1cm4gYX07XG5fLm0uc2V0VmFsdWU9ZnVuY3Rpb24oYSl7dGhpcy5DYT1hO3ZhciBiPXRoaXMuTGEsYz1uZXcgTUNhO2E9Xy5QYShiLm9hLm9hKGEpKTtmb3IodmFyIGQ9YS5uZXh0KCk7IWQuZG9uZTtkPWEubmV4dCgpKWQ9Yi5BYS5vYShkLnZhbHVlKSxjLmFwcGVuZChkLmtleSxkLnZhbHVlKTt0aGlzLkFhPWM7dGhpcy5CYT1uZXcgTWFwfTtfLm0uZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmdldEFsbChhKVswXX07Xy5tLmdldEFsbD1mdW5jdGlvbihhKXt2YXIgYj10aGlzO2lmKCF0aGlzLkJhLmhhcyhhKSYmdGhpcy5BYS5oYXMoYSkpe3ZhciBjPV8ucGgodGhpcy5BYS5nZXRBbGwoYSksZnVuY3Rpb24oZCl7cmV0dXJuIGIuR2Eub2EoZCxhKX0pO3RoaXMuQmEuc2V0KGEsYyl9ZWxzZSBjPXRoaXMuQmEuZ2V0KGEpO3JldHVybiBjfHxbXX07Xy5tLnNldD1mdW5jdGlvbihhLGIpe3RoaXMuQ2E9bnVsbDt0aGlzLkJhLnNldChhLFtiXSk7dGhpcy5BYS5zZXQoYSx0aGlzLkdhLldjKGIsYSkpfTtcbl8ubS5hcHBlbmQ9ZnVuY3Rpb24oYSxiKXt0aGlzLkNhPW51bGw7dmFyIGM9dGhpcy5CYS5nZXQoYSl8fFtdO2MucHVzaChiKTt0aGlzLkJhLnNldChhLGMpO3RoaXMuQWEuYXBwZW5kKGEsdGhpcy5HYS5XYyhiLGEpKX07Xy5tLmhhcz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5CYS5oYXMoYSl8fHRoaXMuQWEuaGFzKGEpfTtfLm0uZGVsZXRlPWZ1bmN0aW9uKGEpe3RoaXMuQ2E9bnVsbDt0aGlzLkJhLmRlbGV0ZShhKTt0aGlzLkFhLmRlbGV0ZShhKX07Xy5tLnNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5BYS5zaXplKCl9O18ubS5rZXlzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQWEua2V5cygpfTtfLm0udG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5DYSE9bnVsbD90aGlzLkNhOnRoaXMuTGEuV2ModGhpcy5BYSl9O1xuXy5tLmV4dGVuZD1mdW5jdGlvbihhKXthPWFbU3ltYm9sLml0ZXJhdG9yXSYmYVtTeW1ib2wuaXRlcmF0b3JdKCkubmV4dCgpLnZhbHVlIGluc3RhbmNlb2YgQXJyYXk/YTpPYmplY3QuZW50cmllcyhhKTthPV8uUGEoYSk7Zm9yKHZhciBiPWEubmV4dCgpOyFiLmRvbmU7Yj1hLm5leHQoKSl7dmFyIGM9Xy5QYShiLnZhbHVlKTtiPWMubmV4dCgpLnZhbHVlO2M9Yy5uZXh0KCkudmFsdWU7dGhpcy5hcHBlbmQoYixjKX19O18uWm0ucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtmb3IodmFyIGE9W10sYj1uZXcgTWFwLGM9Xy5QYSh0aGlzLmtleXMoKSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpe2Q9ZC52YWx1ZTt2YXIgZT10aGlzLmdldEFsbChkKSxmPWIuZ2V0KGQpfHwwO2Iuc2V0KGQsZisxKTthLnB1c2goW2QsZVtmXV0pfXJldHVybiBhW1N5bWJvbC5pdGVyYXRvcl0oKX07dmFyIFJDYTtfLlFDYT1mdW5jdGlvbigpe3RoaXMub2E9W107dGhpcy5BYT0hMX07Xy5RQ2EucHJvdG90eXBlLk9oPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm9hLmxlbmd0aD9SQ2EodGhpcyx0aGlzLm9hWzBdLGEpOnZvaWQgMH07Xy4kbT1mdW5jdGlvbihhLGIpe3JldHVybiBhLm9hLm1hcChmdW5jdGlvbihjKXtyZXR1cm4gUkNhKGEsYyxiKX0pfTtSQ2E9ZnVuY3Rpb24oYSxiLGMpe2M9Yz09PXZvaWQgMD9mdW5jdGlvbihkKXtyZXR1cm4gbmV3IGR9OmM7aWYoIWIuWmMpcmV0dXJuIGIuaW5zdGFuY2U7Yz1jKGIuWmMpO2EuQWEmJihkZWxldGUgYi5aYyxiLmluc3RhbmNlPWMpO3JldHVybiBjfTtfLmFuPWZ1bmN0aW9uKCl7Xy5RQ2EuY2FsbCh0aGlzKX07Xy5EKF8uYW4sXy5RQ2EpO18uYm49ZnVuY3Rpb24oYSxiKXthLm9hLnB1c2goe1pjOmJ9KX07Xy5jbj1mdW5jdGlvbihhLGIpe2Eub2EucHVzaCh7aW5zdGFuY2U6Yn0pfTt2YXIgYmphO18uU0NhPWZ1bmN0aW9uKGEsYil7aWYoYS5sZW5ndGghPT0wKXJldHVybiBiKGFbMF0pfTtfLlRDYT1mdW5jdGlvbihhLGIpe2E9Xy5QYShhKTtmb3IodmFyIGM9YS5uZXh0KCk7IWMuZG9uZTtjPWEubmV4dCgpKWlmKGM9YihjLnZhbHVlKSxjIT1udWxsKXJldHVybiBjfTtiamE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy4kbShfLlVDYSk7Yj1fLlBhKGIpO2Zvcih2YXIgYz1iLm5leHQoKTshYy5kb25lJiYhYShjLnZhbHVlKTtjPWIubmV4dCgpKTt9O3ZhciBaQ2EsVkNhO1xuXy5UYz1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXM7Yj1iPT09dm9pZCAwP3t9OmI7dmFyIGQ9Yi5iR2I9PT12b2lkIDA/Xy5LQ2E6Yi5iR2I7YT1hPT09XCJcIj9bXTpfLkdtKGEpO2I9YVsxXXx8XCJcIjt0aGlzLnByb3RvY29sPWIrKGI/XCI6XCI6XCJcIik7Yj0oYVsyXXx8XCJcIikuc3BsaXQoXCI6XCIpO3RoaXMudXNlcm5hbWU9Yi5zaGlmdCgpfHxcIlwiO3RoaXMucGFzc3dvcmQ9Yi5qb2luKFwiOlwiKTt0aGlzLmhvc3RuYW1lPWFbM118fFwiXCI7dGhpcy5wb3J0PWFbNF18fFwiXCI7dGhpcy5wYXRobmFtZT1hWzVdfHxcIlwiO3ZhciBlPWFbNl18fFwiXCI7dGhpcy5zZWFyY2g9KGU/XCI/XCI6XCJcIikrZTthPWFbN118fFwiXCI7dGhpcy5oYXNoPShhP1wiI1wiOlwiXCIpK2E7dGhpcy5BYT10eXBlb2YgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMhPT1cImZ1bmN0aW9uXCI7dGhpcy5zZWFyY2hQYXJhbXM9bmV3IF8uWm0oZSxkKTt0aGlzLm9yaWdpbj1WQ2EodGhpcyk7dGhpcy5BYT90aGlzLnNlYXJjaFBhcmFtcz1fLlNDYShfLiRtKF8uV0NhKSxmdW5jdGlvbihmKXtyZXR1cm4gZi5wUmEoYyxcbmUsZCl9KXx8dGhpcy5zZWFyY2hQYXJhbXM6T2JqZWN0LmRlZmluZVByb3BlcnRpZXModGhpcyx7c2VhcmNoOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gXy5YQ2EoYyl9LHNldDpmdW5jdGlvbihmKXtyZXR1cm4gXy5ZQ2EoYyxmKX19fSl9O18uVGMucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7dmFyIGE9bmV3IF8uVGMoXCJcIik7WkNhKGEsdGhpcyk7cmV0dXJuIGF9O1pDYT1mdW5jdGlvbihhLGIpe2EucHJvdG9jb2w9Yi5wcm90b2NvbDthLnVzZXJuYW1lPWIudXNlcm5hbWU7YS5wYXNzd29yZD1iLnBhc3N3b3JkO2EuaG9zdG5hbWU9Yi5ob3N0bmFtZTthLnBvcnQ9Yi5wb3J0O2EucGF0aG5hbWU9Yi5wYXRobmFtZTthLnNlYXJjaD1iLnNlYXJjaDthLmhhc2g9Yi5oYXNoO2Euc2VhcmNoUGFyYW1zPWIuc2VhcmNoUGFyYW1zLmNsb25lKCk7YS5vcmlnaW49Yi5vcmlnaW59O1xuVkNhPWZ1bmN0aW9uKGEpe2lmKCFhLnByb3RvY29sfHwhYS5ob3N0bmFtZSlyZXR1cm5cIlwiO3ZhciBiPWEucHJvdG9jb2wrXCIvL1wiK2EuaG9zdG5hbWU7YS5wb3J0JiYoYis9XCI6XCIrYS5wb3J0KTtyZXR1cm4gYn07Xy5YQ2E9ZnVuY3Rpb24oYSl7YT1hLnNlYXJjaFBhcmFtcy50b1N0cmluZygpO3JldHVybihhP1wiP1wiOlwiXCIpK2F9O18uWUNhPWZ1bmN0aW9uKGEsYil7Yi5sZW5ndGgmJmIuY2hhckF0KDApPT1cIj9cIiYmKGI9Yi5zdWJzdHIoMSkpO2Euc2VhcmNoUGFyYW1zLnNldFZhbHVlKGIpfTtcbl8uVGMucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKGEpe2E9YT09PXZvaWQgMD8hMTphO3JldHVybiBfLk1sYShhP1wiXCI6dGhpcy5wcm90b2NvbC5zdWJzdHIoMCx0aGlzLnByb3RvY29sLmxlbmd0aC0xKSxhP1wiXCI6dGhpcy51c2VybmFtZSsodGhpcy5wYXNzd29yZD9cIjpcIjpcIlwiKSt0aGlzLnBhc3N3b3JkLGE/XCJcIjp0aGlzLmhvc3RuYW1lLGE/XCJcIjp0aGlzLnBvcnQsdGhpcy5wYXRobmFtZSx0aGlzLnNlYXJjaC5zdWJzdHIoMSksdGhpcy5oYXNoLnN1YnN0cigxKSl9O18uV0NhPW5ldyBfLmFuO18uJENhPWZ1bmN0aW9uKCl7fTtfLiRDYS5wcm90b3R5cGUubG9nPWZ1bmN0aW9uKGEsYil7YT1fLk1pYShhLGIpO18uT2MoXCJcIixcIlwiLGEpfTtfLmFEYT1mdW5jdGlvbigpe3JldHVybiBuZXcgXy4kQ2F9O18uZG49ZnVuY3Rpb24oYSl7dmFyIGI9Xy5hRGEoKTt2YXIgYz1hPT09dm9pZCAwP3t9OmE7YT1jLnBhdGg9PT12b2lkIDA/XCIvZ2VuXzIwNFwiOmMucGF0aDtjPWMuTE09PT12b2lkIDA/ITA6Yy5MTTt0aGlzLm9hPWI7dGhpcy5wYXRoPWE7dGhpcy5MTT1jfTtfLmRuLnByb3RvdHlwZS5NQWI9ZnVuY3Rpb24oYSl7dGhpcy5MTT90aGlzLm9hLmxvZyhfLkxpYSh0aGlzLnBhdGgsYSkpOnRoaXMub2EubG9nKHRoaXMucGF0aCxhKX07dmFyIGJEYTtiRGE9IV8ueWguTTBhJiYhXy5rYSgpO18uZW49ZnVuY3Rpb24oYSxiLGMpe2lmKGJEYSYmYS5kYXRhc2V0KWEuZGF0YXNldFtiXT1jO2Vsc2V7aWYoLy1bYS16XS8udGVzdChiKSl0aHJvdyBFcnJvcihcInRhXCIpO2Euc2V0QXR0cmlidXRlKFwiZGF0YS1cIitfLkZ5YShiKSxjKX19O18uV2M9ZnVuY3Rpb24oYSxiKXtpZigvLVthLXpdLy50ZXN0KGIpKXJldHVybiBudWxsO2lmKGJEYSYmYS5kYXRhc2V0KXtpZihfLnhhYSgpJiYhKGIgaW4gYS5kYXRhc2V0KSlyZXR1cm4gbnVsbDthPWEuZGF0YXNldFtiXTtyZXR1cm4gYT09PXZvaWQgMD9udWxsOmF9cmV0dXJuIGEuZ2V0QXR0cmlidXRlKFwiZGF0YS1cIitfLkZ5YShiKSl9O18uZm49ZnVuY3Rpb24oYSxiKXshLy1bYS16XS8udGVzdChiKSYmKGJEYSYmYS5kYXRhc2V0P18uTmYoYSxiKSYmZGVsZXRlIGEuZGF0YXNldFtiXTphLnJlbW92ZUF0dHJpYnV0ZShcImRhdGEtXCIrXy5GeWEoYikpKX07XG5fLk5mPWZ1bmN0aW9uKGEsYil7cmV0dXJuLy1bYS16XS8udGVzdChiKT8hMTpiRGEmJmEuZGF0YXNldD9iIGluIGEuZGF0YXNldDphLmhhc0F0dHJpYnV0ZT9hLmhhc0F0dHJpYnV0ZShcImRhdGEtXCIrXy5GeWEoYikpOiEhYS5nZXRBdHRyaWJ1dGUoXCJkYXRhLVwiK18uRnlhKGIpKX07Xy52ZT1mdW5jdGlvbihhKXtpZihiRGEmJmEuZGF0YXNldClyZXR1cm4gYS5kYXRhc2V0O3ZhciBiPXt9O2E9YS5hdHRyaWJ1dGVzO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7KytjKXt2YXIgZD1hW2NdO2lmKF8uR2YoZC5uYW1lLFwiZGF0YS1cIikpe3ZhciBlPV8uaWwoZC5uYW1lLnNsaWNlKDUpKTtiW2VdPWQudmFsdWV9fXJldHVybiBifTt2YXIgUWlhPU1hdGgucG93KDIsMzIpO3ZhciBjRGE7Y0RhPWZ1bmN0aW9uKGEsYil7YT1hPT09dm9pZCAwP25ldyBfLmRuOmE7Yj1iPT09dm9pZCAwP3tuY2M6ISh3aW5kb3cuZ29vZ2xlJiZ3aW5kb3cuZ29vZ2xlLnN0dnNjKX06Yjt0aGlzLnRyYW5zcG9ydD1hO3RoaXMub3B0aW9ucz1iO3RoaXMuZGF0YT1uZXcgTWFwO3RoaXMuTWMoXCJhdHlwXCIsXCJpXCIpO3RoaXMub3B0aW9ucy5uY2MmJihfLkJpYSgpPT09MiYmdGhpcy5NYyhcImJiXCIsXCIxXCIpLF8uQmlhKCk9PT0xJiZ0aGlzLk1jKFwiclwiLFwiMVwiKSk7d2luZG93Lmdvb2dsZSYmd2luZG93Lmdvb2dsZS5zdHZzYyYmKHRoaXMuTWMoXCJzc3JcIixcIjFcIiksd2luZG93Lmdvb2dsZS5zdHZzYy5pc0JGJiZ0aGlzLk1jKFwiYmJcIixcIjFcIikpO2E9Xy5SYyhcInFmSTBaY1wiKTthLlBiKCkmJnRoaXMuTWMoXCJzY2lmaVwiLF8uemgoXy5lbShhKSkpfTtfLlNkPWZ1bmN0aW9uKGEpe3JldHVybihuZXcgY0RhKGEpKS5NYyhcImVpXCIsKDAsXy5qbS51QikoKSl9O1xuXy5nbj1mdW5jdGlvbihhLGIsYyl7cmV0dXJuKG5ldyBjRGEoYixjKSkuTWMoXCJlaVwiLGEpfTtfLmREYT1mdW5jdGlvbihhLGIpe3ZhciBjPV8uVWMoYSk7cmV0dXJuIGM/KG5ldyBjRGEoYikpLk1jKFwidmVkXCIsYyk6KGE9Xy5PaWEoYSkpP18uZ24oYSxiKTpudWxsfTtjRGEucHJvdG90eXBlLk1jPWZ1bmN0aW9uKGEsYil7dGhpcy5kYXRhLnNldChhLGIpO3JldHVybiB0aGlzfTtjRGEucHJvdG90eXBlLmdldERhdGE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kYXRhfTtjRGEucHJvdG90eXBlLmxvZz1mdW5jdGlvbigpe3RoaXMudHJhbnNwb3J0Lk1BYih0aGlzLmRhdGEpO3JldHVybiB0aGlzfTt2YXIgYWphPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1lRGEsZT1EYXRlLm5vdygpO2lmKGQub2EubGVuZ3RoPDYwfHxlLWQub2FbMF0+NkU0KXtpZihhPVwibWVzc2FnZTpcIithLm1lc3NhZ2UrXCIsIGNvbnRleHQ6XCIrSlNPTi5zdHJpbmdpZnkoYiksZ29vZ2xlJiZnb29nbGUuZXJkJiYhZ29vZ2xlLmVyZC5kZXx8IWZEYShkLGEpKXtpZihjJiZjPT09Myl7aWYoZC5DYT49MSlyZXR1cm4hMTtkLkNhKyt9ZC5vYS5sZW5ndGg+PTYwJiZkLm9hLnNoaWZ0KCk7ZC5vYS5wdXNoKERhdGUubm93KCkpO3JldHVybiEwfX1lbHNlIE1hdGgucmFuZG9tKCk8PS4xJiZkLkJhPDUmJihkLkJhKyssXy5TZCgpLk1jKFwiY2FkXCIsXCJpbnYuXCIrZC5vYS5sZW5ndGgrXCIsbEludi5cIitkLm9hWzBdK1wiLG5vdy5cIitlKS5sb2coKSk7cmV0dXJuITF9LGZEYT1mdW5jdGlvbihhLGIpe3ZhciBjPURhdGUubm93KCk7aWYoIWEuQWEuaGFzKGIpKXJldHVybiBjPXtjb3VudDoxLG9VYTpEYXRlLm5vdygpLFNaYToxLENxYTowfSxcbmEuQWEuc2V0KGIsYyksITE7dmFyIGQ9YS5BYS5nZXQoYik7ZC5jb3VudCs9MTtpZihjLWQub1VhPk1hdGgucG93KDIsZC5DcWEpKjgwMClyZXR1cm4gZC5TWmErPTEsZC5vVWE9YyxkLkNxYT1NYXRoLm1heChkLkNxYS0xLDApLGEuQWEuc2V0KGIsZCksITE7aWYoYy1kLm9VYT5NYXRoLnBvdygyLGQuQ3FhKSoyMDApcmV0dXJuIGQuU1phKz0xLGQub1VhPWMsZC5DcWE9TWF0aC5taW4oZC5DcWErMSw4KSxhLkFhLnNldChiLGQpLCExO01hdGgucmFuZG9tKCk8PS4xJiZhLkJhPDUmJihhLkJhKyssXy5TZCgpLk1jKFwiY2FkXCIsXCJrZXkuXCIrYitcIixlcnJvckNvdW50LlwiK2QuY291bnQrXCIsbExvZy5cIitkLm9VYStcIix0aW1lc0xvZ2dlZC5cIitkLlNaYStcIixiUmF0ZS5cIitkLkNxYStcIixub3cuXCIrYykubG9nKCkpO3JldHVybiEwfTt2YXIgZ0RhPWZ1bmN0aW9uKGEpe3RoaXMuc2VnbWVudHM9YX07Z0RhLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLnNlZ21lbnRzLmpvaW4oXCIuXCIpfTtnRGEucHJvdG90eXBlLmdldFZlcnNpb249ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zZWdtZW50c1swXX07Z0RhLnByb3RvdHlwZS5nZXRFeHRlbnNpb249ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zZWdtZW50c1sxXX07dmFyIGhEYT1mdW5jdGlvbihhKXt0aGlzLnNlZ21lbnRzPWF9O2hEYS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zZWdtZW50cy5qb2luKFwiLlwiKX07aERhLnByb3RvdHlwZS5WdGI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zZWdtZW50c1swXX07aERhLnByb3RvdHlwZS5nZXRWZXJzaW9uPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2VnbWVudHNbMV19O3ZhciBpRGE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5zcGxpdChcIi5cIik7Yj1iLmxlbmd0aCE9PTQmJmIubGVuZ3RoIT09M3x8YlswXS5pbmRleE9mKFwiPVwiKSE9PS0xP251bGw6bmV3IGhEYShiKTtpZihiPT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKFwibmJgXCIrYSk7cmV0dXJuIGJ9O3ZhciBqRGE9ZnVuY3Rpb24oKXt0aGlzLm9hPXt9O3RoaXMuQWE9XCJcIjt0aGlzLkJhPXt9O3RoaXMuQ2E9XCIud2FzbVwifSxsRGEsa0RhLG5EYSxvRGEscERhLHFEYSxUbWEsc0RhLG1EYSx1RGEsY2phLHlEYSxBRGEsd0RhLHhEYSx2RGEsekRhO2pEYS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtpZih0aGlzLkFhLmVuZHNXaXRoKFwiXy93YS9cIikpdmFyIGE9dGhpcy5BYStfLmdkKHRoaXMsXCJ3a1wiKSt0aGlzLkNhO2Vsc2UgaWYodGhpcy5BYS5lbmRzV2l0aChcIl8vci9cIikpYT10aGlzLkFhK18uZ2QodGhpcyxcInNjXCIpO2Vsc2V7YT10aGlzLkFhK2tEYSh0aGlzKTt2YXIgYj1fLmZDYSh0aGlzLkJhKSxjPVwiXCI7YiE9XCJcIiYmKGM9XCI/XCIrYik7YSs9Y31yZXR1cm4gYX07bERhPWZ1bmN0aW9uKGEpe2E9Xy5nZChhLFwibWRcIik7cmV0dXJuISFhJiZhIT09XCIwXCJ9O1xua0RhPWZ1bmN0aW9uKGEpe3ZhciBiPVtdLGM9KDAsXy5oaCkoZnVuY3Rpb24oZCl7dGhpcy5vYVtkXSE9PXZvaWQgMCYmYi5wdXNoKGQrXCI9XCIrdGhpcy5vYVtkXSl9LGEpO2xEYShhKT8oYyhcIm1kXCIpLGMoXCJrXCIpLGMoXCJja1wiKSxjKFwiYW1cIiksYyhcInJzXCIpLGMoXCJnc3Ntb2R1bGVzZXRwcm90b1wiKSxjKFwidHBjXCIpKTooYyhcInNkY2hcIiksYyhcImtcIiksYyhcImNrXCIpLGMoXCJhbVwiKSxjKFwicnRcIiksXCJkXCJpbiBhLm9hfHxfLmhuKGEsXCJkXCIsXCIwXCIpLGMoXCJkXCIpLGMoXCJleG1cIiksYyhcImV4Y21cIiksKGEub2EuZXhjbXx8YS5vYS5leG0pJiZiLnB1c2goXCJlZD0xXCIpLGMoXCJpbVwiKSxjKFwiZGdcIiksYyhcInNtXCIpLF8uZ2QoYSxcImJyXCIpPT1cIjFcIiYmYyhcImJyXCIpLGMoXCJici1kXCIpLG1EYShhKSE9PVwiXCImJmMoXCJ3dFwiKSxjKFwiZ3NzbW9kdWxlc2V0cHJvdG9cIiksYyhcInVqZ1wiKSxjKFwic3BcIiksYyhcInJzXCIpLGMoXCJjYlwiKSxjKFwiZWVcIiksYyhcInRwY1wiKSxjKFwibVwiKSk7cmV0dXJuIGIuam9pbihcIi9cIil9O1xuXy5nZD1mdW5jdGlvbihhLGIpe3JldHVybiBhLm9hW2JdP2Eub2FbYl06bnVsbH07Xy5obj1mdW5jdGlvbihhLGIsYyl7Yz9hLm9hW2JdPWM6ZGVsZXRlIGEub2FbYl19O25EYT1mdW5jdGlvbihhLGIpe2EuQWE9Yn07akRhLnByb3RvdHlwZS5WdGI9ZnVuY3Rpb24oKXt2YXIgYTsoYT1fLmdkKHRoaXMsXCJrXCIpKT8oYT1hLnNwbGl0KFwiLlwiKSxhPTE8YS5sZW5ndGg/YVsxXTpudWxsKTphPW51bGw7cmV0dXJuIGF9O29EYT1mdW5jdGlvbihhLGIpe2ImJmIubGVuZ3RoPjA/KGIuc29ydCgpLF8uaG4oYSxcImV4bVwiLGIuam9pbihcIixcIikpKTpfLmhuKGEsXCJleG1cIixudWxsKX07cERhPWZ1bmN0aW9uKGEpe3JldHVybihhPV8uZ2QoYSxcImV4bVwiKSk/YS5zcGxpdChcIixcIik6W119O3FEYT1mdW5jdGlvbihhLGIpe2ImJmIubGVuZ3RoPjA/KGIuc29ydCgpLF8uaG4oYSxcImV4Y21cIixiLmpvaW4oXCIsXCIpKSk6Xy5obihhLFwiZXhjbVwiLG51bGwpfTtcblRtYT1mdW5jdGlvbihhKXtyZXR1cm4oYT1fLmdkKGEsXCJleGNtXCIpKT9hLnNwbGl0KFwiLFwiKTpbXX07Xy5yRGE9ZnVuY3Rpb24oYSl7cmV0dXJuKGE9Xy5nZChhLFwibVwiKSk/YS5zcGxpdChcIixcIik6W119O3NEYT1mdW5jdGlvbihhKXtzd2l0Y2goXy5nZChhLFwiZGdcIikpe2Nhc2UgXCIwXCI6cmV0dXJuXCIwXCI7Y2FzZSBcIjJcIjpyZXR1cm5cIjJcIjtjYXNlIFwiM1wiOnJldHVyblwiM1wiO2RlZmF1bHQ6cmV0dXJuXCIxXCJ9fTttRGE9ZnVuY3Rpb24oYSl7c3dpdGNoKF8uZ2QoYSxcInd0XCIpKXtjYXNlIFwiMFwiOnJldHVyblwiMFwiO2Nhc2UgXCIxXCI6cmV0dXJuXCIxXCI7Y2FzZSBcIjJcIjpyZXR1cm5cIjJcIjtkZWZhdWx0OnJldHVyblwiXCJ9fTtcbl8udERhPWZ1bmN0aW9uKGEsYil7dmFyIGM9T2JqZWN0LmtleXMoYikuZmlsdGVyKGZ1bmN0aW9uKGQpe3JldHVybiEhT2JqZWN0LmtleXMoYltkXSkubGVuZ3RofSkubWFwKGZ1bmN0aW9uKGQpe3ZhciBlPU9iamVjdC5rZXlzKGJbZF0pO2UubGVuZ3RoPjEmJmUuc29ydCgpO3JldHVybiBkK1wiOlwiK2Uuam9pbihcIixcIil9KTtjLnNvcnQoKTtfLmhuKGEsXCJlZVwiLGMuam9pbihcIjtcIikpfTt1RGE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5nZChhLFwiZWVcIik7aWYoIWIpcmV0dXJue307YT17fTtiPV8uUGEoYi5zcGxpdChcIjtcIikpO2Zvcih2YXIgYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpe3ZhciBkPV8uUGEoYy52YWx1ZS5zcGxpdChcIjpcIikpO2M9ZC5uZXh0KCkudmFsdWU7ZD1kLm5leHQoKS52YWx1ZTthW2NdPXt9O2Q9Xy5QYShkLnNwbGl0KFwiLFwiKSk7Zm9yKHZhciBlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSlhW2NdW2UudmFsdWVdPSEwfXJldHVybiBhfTtcbmpEYS5wcm90b3R5cGUuc2V0Q2FsbGJhY2s9ZnVuY3Rpb24oYSl7aWYoYSE9bnVsbCYmIXZEYS50ZXN0KGEpKXRocm93IEVycm9yKFwib2JgXCIrYSk7Xy5obih0aGlzLFwiY2JcIixhKX07akRhLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBfLmVkKHRoaXMudG9TdHJpbmcoKSl9O1xuXy5lZD1mdW5jdGlvbihhKXt2YXIgYj1iPT09dm9pZCAwPyEwOmI7dmFyIGM9d0RhKGEpLGQ9bmV3IGpEYSxlPV8uR20oYylbNV07Xy5ZYih4RGEsZnVuY3Rpb24oaCl7dmFyIGs9ZS5tYXRjaChcIi9cIitoK1wiPShbXi9dKylcIik7ayYmXy5obihkLGgsa1sxXSl9KTt2YXIgZj1cIlwiO2Y9YS5pbmRleE9mKFwiXy9zcy9cIikhPS0xP1wiXy9zcy9cIjphLmluZGV4T2YoXCJfL3dhL1wiKSE9LTE/XCJfL3dhL1wiOmEuaW5kZXhPZihcIl8vci9cIikhPS0xP1wiXy9yL1wiOlwiXy9qcy9cIjtuRGEoZCxhLnN1YnN0cigwLGEuaW5kZXhPZihmKStmLmxlbmd0aCkpO2lmKGQuQWEuZW5kc1dpdGgoXCJfL3dhL1wiKSl7Yj15RGEoYSk7dmFyIGc9ITA7T2JqZWN0LnZhbHVlcyh6RGEpLmZvckVhY2goZnVuY3Rpb24oaCl7YS5lbmRzV2l0aChoKSYmKGQuQ2E9aCxnPSExKX0pO2cmJihjPWEuc3BsaXQoXCIvXCIpLGQuQ2E9XCIvXCIrY1tjLmxlbmd0aC0xXSk7Xy5obihkLFwid2tcIixiLnRvU3RyaW5nKCkpO3JldHVybiBkfWlmKGQuQWEuZW5kc1dpdGgoXCJfL3IvXCIpKXJldHVybiBiPVxuQURhKGEpLF8uaG4oZCxcInNjXCIsYi50b1N0cmluZygpKSxkO2lmKCFiKXJldHVybiBkOyhiPV8uV2QoNixjKSkmJl8uJEJhKGIsZnVuY3Rpb24oaCxrKXtkLkJhW2hdPWt9KTtyZXR1cm4gZH07Y2phPWZ1bmN0aW9uKGEpe3ZhciBiPV8uY2xhKHdEYShhKSk7cmV0dXJuIGI9PT1udWxsPyExOlJlZ0V4cChcIi9fL3dhL1wiLFwiZ1wiKS50ZXN0KGIpPyEheURhKGEpOlJlZ0V4cChcIi9fL3IvXCIsXCJnXCIpLnRlc3QoYik/ISFBRGEoYSk6UmVnRXhwKFwiKC9fL2pzLyl8KC9fL3NzLylcIixcImdcIikudGVzdChiKT8vXFwvaz0vLnRlc3QoYik6ITF9O1xueURhPWZ1bmN0aW9uKGEpe3ZhciBiPW51bGwsYz1hLmxhc3RJbmRleE9mKFwiXy93YS9cIikrNSxkPWEuaW5kZXhPZihcIi9cIixjKTtkIT09LTE/Yj1hLnNsaWNlKGMsZCk6T2JqZWN0LnZhbHVlcyh6RGEpLmZvckVhY2goZnVuY3Rpb24oZSl7YS5lbmRzV2l0aChlKSYmKGI9YS5zbGljZShjLGEubGFzdEluZGV4T2YoZSkpKX0pO2lmKGI9PT1udWxsKXJldHVybiBudWxsO3RyeXtyZXR1cm4gaURhKGIpfWNhdGNoKGUpe3JldHVybiBudWxsfX07QURhPWZ1bmN0aW9uKGEpe3ZhciBiPWEubGFzdEluZGV4T2YoXCJfL3IvXCIpKzQ7YT1hLnNsaWNlKGIpO2lmKGE9PT1udWxsKXJldHVybiBudWxsO3RyeXt2YXIgYz1hLnNwbGl0KFwiLlwiKTt2YXIgZD1jLmxlbmd0aCE9PTI/bnVsbDpuZXcgZ0RhKGMpO2lmKGQ9PT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoXCJtYmBcIithKTtyZXR1cm4gZH1jYXRjaChlKXtyZXR1cm4gbnVsbH19O1xud0RhPWZ1bmN0aW9uKGEpe3JldHVybiBhLnN0YXJ0c1dpdGgoXCJodHRwczovL3ViZXJwcm94eS1wZW4tcmVkaXJlY3QuY29ycC5nb29nbGUuY29tL3ViZXJwcm94eS9wZW4/dXJsPVwiKT9hLnN1YnN0cig2NSk6YX07eERhPXtPa2U6XCJrXCIsbzRkOlwiY2tcIixEdGU6XCJ3a1wiLEpmZTpcIm1cIixzOGQ6XCJleG1cIixxOGQ6XCJleGNtXCIsUVhkOlwiYW1cIixVZWU6XCJtbVwiLHprZTpcInJ0XCIsbmJlOlwiZFwiLHI4ZDpcImVkXCIsUW5lOlwic3ZcIixQNWQ6XCJkZW9iXCIsczJkOlwiY2JcIix3bmU6XCJyc1wiLHhsZTpcInNkY2hcIix2YmU6XCJpbVwiLFE1ZDpcImRnXCIsZThkOlwiYnJcIixkOGQ6XCJici1kXCIsWnRlOlwid3RcIixDOGQ6XCJlZVwiLFBuZTpcInNtXCIsTUVUQURBVEE6XCJtZFwiLFgkZDpcImdzc21vZHVsZXNldHByb3RvXCIsR3NlOlwidWpnXCIsRnNlOlwic3BcIixtcmU6XCJ0cGNcIixlb2U6XCJzY1wifTt2RGE9UmVnRXhwKFwiXmxvYWRlZF8oZ3xoKT9bX1xcXFxkXSskXCIpO1xuekRhPXtDdGU6XCIud2FzbVwiLE9uZTpcIi5tYXBcIix4b2U6XCIuc3ltYm9sc1wiLHFkZTpcIi5sb2FkZXIuanNcIixyZGU6XCIubG9hZGVyLnNvdXJjZW1hcFwiLFh0ZTpcIi53b3JrZXIuanNcIixZdGU6XCIud29ya2VyLnNvdXJjZW1hcFwifTtfLlVpYT1uZXcgTWFwO18ubGQ9ZnVuY3Rpb24oYSxiLGMpe2I9RXJyb3IuY2FsbCh0aGlzLGErXCI6XCIrKGI/XCIgXCIrYjpcIlwiKSsoYyYmYy5tZXNzYWdlP1wiIFwiK2MubWVzc2FnZTpcIlwiKSk7dGhpcy5tZXNzYWdlPWIubWVzc2FnZTtcInN0YWNrXCJpbiBiJiYodGhpcy5zdGFjaz1iLnN0YWNrKTt0aGlzLmFaYT1hfTtfLkQoXy5sZCxFcnJvcik7Xy5CRGE9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLmxkKDAsXCJNaXNzaW5nIFwiK2EpfTtfLklzYT1mdW5jdGlvbigpe3JldHVybiBuZXcgXy5sZChcInVua25vd25fZXJyb3JcIixcIlNlcnZpY2UgaXMgbm90IGF2YWlsYWJsZSFcIil9O3ZhciBlRGEsQ0RhO2VEYT1uZXcgZnVuY3Rpb24oKXt0aGlzLkFhPW5ldyBNYXA7dGhpcy5vYT1bXTt0aGlzLkJhPXRoaXMuQ2E9MH07Xy5VQ2E9bmV3IF8uYW47KChDRGE9Xy5iYS5nb29nbGUpPT1udWxsPzA6Q0RhLmRsKXx8Xy51ZChcImdvb2dsZS5kbFwiLGZ1bmN0aW9uKGEsYixjLGQpe18uaWQoYSx7eGc6YyxsZXZlbDpiLFRpYTpkfSl9KTt2YXIgRERhOygoRERhPV8uYmEuanNsKT09bnVsbD8wOkREYS5lbCl8fF8udWQoXCJqc2wuZWxcIixmdW5jdGlvbihhLGIpe2J8fChiPXt9KTtiLm1pbGVzdG9uZT1TdHJpbmcoZ29vZ2xlLmpzbG18fDApO2dvb2dsZS5qc2xhJiYoYi5hc3luYz1nb29nbGUuanNsYSk7Xy5pZChhLHt4ZzpiLGxldmVsOjB9KX0pO18uJGlhPWZ1bmN0aW9uKCl7cmV0dXJuITF9Oy8qXG5cbiBDb3B5cmlnaHQgMjAwNSwgMjAwNyBCb2IgSXBwb2xpdG8uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gQ29weXJpZ2h0IFRoZSBDbG9zdXJlIExpYnJhcnkgQXV0aG9ycy5cbiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4qL1xudmFyIEtEYSxORGEsT0RhLExEYSxHRGEsYW9hLEhEYTtfLkhkPWZ1bmN0aW9uKGEsYil7dGhpcy5DYT1bXTt0aGlzLkJiPWE7dGhpcy5VYT1ifHxudWxsO3RoaXMuQWE9dGhpcy5vYT0hMTt0aGlzLkd4PXZvaWQgMDt0aGlzLlFhPXRoaXMuR2I9dGhpcy5MYT0hMTt0aGlzLkdhPTA7dGhpcy5JbT1udWxsO3RoaXMuQmE9MH07Xy5IZC5wcm90b3R5cGUuY2FuY2VsPWZ1bmN0aW9uKGEpe2lmKHRoaXMub2EpdGhpcy5HeCBpbnN0YW5jZW9mIF8uSGQmJnRoaXMuR3guY2FuY2VsKCk7ZWxzZXtpZih0aGlzLkltKXt2YXIgYj10aGlzLkltO2RlbGV0ZSB0aGlzLkltO2E/Yi5jYW5jZWwoYSk6KGIuQmEtLSxiLkJhPD0wJiZiLmNhbmNlbCgpKX10aGlzLkJiP3RoaXMuQmIuY2FsbCh0aGlzLlVhLHRoaXMpOnRoaXMuUWE9ITA7dGhpcy5vYXx8dGhpcy5SRChuZXcgXy5FRGEodGhpcykpfX07Xy5IZC5wcm90b3R5cGUuUmE9ZnVuY3Rpb24oYSxiKXt0aGlzLkxhPSExO0ZEYSh0aGlzLGEsYil9O1xudmFyIEZEYT1mdW5jdGlvbihhLGIsYyl7YS5vYT0hMDthLkd4PWM7YS5BYT0hYjtHRGEoYSl9LElEYT1mdW5jdGlvbihhKXtpZihhLm9hKXtpZighYS5RYSl0aHJvdyBuZXcgSERhKGEpO2EuUWE9ITF9fTtfLkhkLnByb3RvdHlwZS5jYWxsYmFjaz1mdW5jdGlvbihhKXtJRGEodGhpcyk7RkRhKHRoaXMsITAsYSl9O18uSGQucHJvdG90eXBlLlJEPWZ1bmN0aW9uKGEpe0lEYSh0aGlzKTtGRGEodGhpcywhMSxhKX07dmFyIEpEYT1mdW5jdGlvbihhKXt0aHJvdyBhO307Xy5IZC5wcm90b3R5cGUuYWRkQ2FsbGJhY2s9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5qbih0aGlzLGEsbnVsbCxiKX07Xy50Zz1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uam4oYSxudWxsLGIsYyl9O0tEYT1mdW5jdGlvbihhLGIpe18uam4oYSxiLGZ1bmN0aW9uKGMpe3ZhciBkPWIuY2FsbCh0aGlzLGMpO2lmKGQ9PT12b2lkIDApdGhyb3cgYztyZXR1cm4gZH0pfTtcbl8uam49ZnVuY3Rpb24oYSxiLGMsZCl7YS5DYS5wdXNoKFtiLGMsZF0pO2Eub2EmJkdEYShhKTtyZXR1cm4gYX07Xy5IZC5wcm90b3R5cGUudGhlbj1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmPW5ldyBfLmpmKGZ1bmN0aW9uKGcsaCl7ZT1nO2Q9aH0pO18uam4odGhpcyxlLGZ1bmN0aW9uKGcpe2cgaW5zdGFuY2VvZiBfLkVEYT9mLmNhbmNlbCgpOmQoZyk7cmV0dXJuIExEYX0sdGhpcyk7cmV0dXJuIGYudGhlbihhLGIsYyl9O18uSGQucHJvdG90eXBlLiRnb29nX1RoZW5hYmxlPSEwO18uTURhPWZ1bmN0aW9uKGEsYil7Xy5qbihhLGIuY2FsbGJhY2ssYi5SRCxiKTtyZXR1cm4gYX07TkRhPWZ1bmN0aW9uKGEsYil7YiBpbnN0YW5jZW9mIF8uSGQ/YS5hZGRDYWxsYmFjaygoMCxfLmhoKShiLlF2LGIpKTphLmFkZENhbGxiYWNrKGZ1bmN0aW9uKCl7cmV0dXJuIGJ9KX07XG5fLkhkLnByb3RvdHlwZS5Rdj1mdW5jdGlvbihhKXt2YXIgYj1uZXcgXy5IZDtfLk1EYSh0aGlzLGIpO2EmJihiLkltPXRoaXMsdGhpcy5CYSsrKTtyZXR1cm4gYn07Xy5IZC5wcm90b3R5cGUuaXNFcnJvcj1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIEVycm9yfTtPRGE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8ucmgoYS5DYSxmdW5jdGlvbihiKXtyZXR1cm4gdHlwZW9mIGJbMV09PT1cImZ1bmN0aW9uXCJ9KX07TERhPXt9O1xuR0RhPWZ1bmN0aW9uKGEpe2lmKGEuR2EmJmEub2EmJk9EYShhKSl7dmFyIGI9YS5HYSxjPVBEYVtiXTtjJiYoXy5iYS5jbGVhclRpbWVvdXQoYy5vYSksZGVsZXRlIFBEYVtiXSk7YS5HYT0wfWEuSW0mJihhLkltLkJhLS0sZGVsZXRlIGEuSW0pO2I9YS5HeDtmb3IodmFyIGQ9Yz0hMTthLkNhLmxlbmd0aCYmIWEuTGE7KXt2YXIgZT1hLkNhLnNoaWZ0KCksZj1lWzBdLGc9ZVsxXTtlPWVbMl07aWYoZj1hLkFhP2c6Zil0cnl7dmFyIGg9Zi5jYWxsKGV8fGEuVWEsYik7aD09PUxEYSYmKGg9dm9pZCAwKTtoIT09dm9pZCAwJiYoYS5BYT1hLkFhJiYoaD09Ynx8YS5pc0Vycm9yKGgpKSxhLkd4PWI9aCk7aWYoeXphKGIpfHx0eXBlb2YgXy5iYS5Qcm9taXNlPT09XCJmdW5jdGlvblwiJiZiIGluc3RhbmNlb2YgXy5iYS5Qcm9taXNlKWQ9ITAsYS5MYT0hMH1jYXRjaChrKXtiPWssYS5BYT0hMCxPRGEoYSl8fChjPSEwKX19YS5HeD1iO2QmJihoPSgwLF8uaGgpKGEuUmEsYSwhMCksZD0oMCxfLmhoKShhLlJhLFxuYSwhMSksYiBpbnN0YW5jZW9mIF8uSGQ/KF8uam4oYixoLGQpLGIuR2I9ITApOmIudGhlbihoLGQpKTtjJiYoYj1uZXcgUURhKGIpLFBEYVtiLm9hXT1iLGEuR2E9Yi5vYSl9O18uYWY9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IF8uSGQ7Yi5jYWxsYmFjayhhKTtyZXR1cm4gYn07Xy5SRGE9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IF8uSGQ7YS50aGVuKGZ1bmN0aW9uKGMpe2IuY2FsbGJhY2soYyl9LGZ1bmN0aW9uKGMpe2IuUkQoYyl9KTtyZXR1cm4gYn07Xy5rb2E9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IF8uSGQ7Yi5SRChhKTtyZXR1cm4gYn07YW9hPWZ1bmN0aW9uKCl7dmFyIGE9bmV3IF8uSGQ7YS5jYW5jZWwoKTtyZXR1cm4gYX07SERhPWZ1bmN0aW9uKGEpe18uYWEuY2FsbCh0aGlzKTt0aGlzLldtPWF9O18ubWgoSERhLF8uYWEpO0hEYS5wcm90b3R5cGUubWVzc2FnZT1cIkRlZmVycmVkIGhhcyBhbHJlYWR5IGZpcmVkXCI7SERhLnByb3RvdHlwZS5uYW1lPVwiQWxyZWFkeUNhbGxlZEVycm9yXCI7XG5fLkVEYT1mdW5jdGlvbihhKXtfLmFhLmNhbGwodGhpcyk7dGhpcy5XbT1hfTtfLm1oKF8uRURhLF8uYWEpO18uRURhLnByb3RvdHlwZS5tZXNzYWdlPVwiRGVmZXJyZWQgd2FzIGNhbmNlbGVkXCI7Xy5FRGEucHJvdG90eXBlLm5hbWU9XCJDYW5jZWxlZEVycm9yXCI7dmFyIFFEYT1mdW5jdGlvbihhKXt0aGlzLm9hPV8uYmEuc2V0VGltZW91dCgoMCxfLmhoKSh0aGlzLnRocm93RXJyb3IsdGhpcyksMCk7dGhpcy5pbT1hfTtRRGEucHJvdG90eXBlLnRocm93RXJyb3I9ZnVuY3Rpb24oKXtkZWxldGUgUERhW3RoaXMub2FdO0pEYSh0aGlzLmltKX07dmFyIFBEYT17fTt2YXIgU0RhPWZ1bmN0aW9uKGEsYil7Xy5Gay5jYWxsKHRoaXMsXCJ2aXNpYmlsaXR5Y2hhbmdlXCIpO3RoaXMuaGlkZGVuPWE7dGhpcy52aXNpYmlsaXR5U3RhdGU9Yn07Xy5EKFNEYSxfLkZrKTt2YXIgaGphPW5ldyBXZWFrTWFwLGZqYT1mdW5jdGlvbihhLGIpe2E9W2FdO2Zvcih2YXIgYz1iLmxlbmd0aC0xO2M+PTA7LS1jKWEucHVzaCh0eXBlb2YgYltjXSxiW2NdKTtyZXR1cm4gYS5qb2luKFwiXFx2XCIpfTtfLmtqYT1mdW5jdGlvbihhKXtfLk5rLmNhbGwodGhpcyk7dGhpcy5vYT1hfHxfLlBlKCk7aWYodGhpcy5BYT10aGlzLkdhZCgpKXRoaXMuQmE9Xy5YZCh0aGlzLm9hLkFmKCksdGhpcy5BYSwoMCxfLmhoKSh0aGlzLkZoZCx0aGlzKSl9O18ubWgoXy5ramEsXy5Oayk7Xy5tPV8ua2phLnByb3RvdHlwZTtfLm0uR2FkPV8ubmQoZnVuY3Rpb24oKXt2YXIgYT10aGlzLmlzU3VwcG9ydGVkKCksYj10aGlzLnl0YigpIT1cImhpZGRlblwiO2lmKGEpe3ZhciBjO2I/Yz0oKF8uSEFhKCl8fFwiXCIpK1widmlzaWJpbGl0eWNoYW5nZVwiKS50b0xvd2VyQ2FzZSgpOmM9XCJ2aXNpYmlsaXR5Y2hhbmdlXCI7YT1jfWVsc2UgYT1udWxsO3JldHVybiBhfSk7Xy5tLnl0Yj1fLm5kKGZ1bmN0aW9uKCl7cmV0dXJuIEpBYShcImhpZGRlblwiLHRoaXMub2EuQWYoKSl9KTtfLm0udmdkPV8ubmQoZnVuY3Rpb24oKXtyZXR1cm4gSkFhKFwidmlzaWJpbGl0eVN0YXRlXCIsdGhpcy5vYS5BZigpKX0pO1xuXy5tLmlzU3VwcG9ydGVkPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLnl0YigpfTtfLm0uRUY9ZnVuY3Rpb24oKXtyZXR1cm4hIXRoaXMub2EuQWYoKVt0aGlzLnl0YigpXX07Xy5tLmdldFZpc2liaWxpdHlTdGF0ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzU3VwcG9ydGVkKCk/dGhpcy5vYS5BZigpW3RoaXMudmdkKCldOm51bGx9O18ubS5GaGQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmdldFZpc2liaWxpdHlTdGF0ZSgpO2E9bmV3IFNEYSh0aGlzLkVGKCksYSk7dGhpcy5kaXNwYXRjaEV2ZW50KGEpfTtfLm0uUWM9ZnVuY3Rpb24oKXtfLkxrKHRoaXMuQmEpO18ua2phLk9kLlFjLmNhbGwodGhpcyl9O3ZhciBqamE9bnVsbDt2YXIgbmphO18uVERhPVJlZ0V4cChcIltBLVphLXpfLV0rXCIpO18uVURhPVJlZ0V4cChcIl4oW0EtWmEtel8tXSspKFxcXFxkKyk/XCIpO18uVkRhPWZ1bmN0aW9uKCl7fTtfLnVqYT1mdW5jdGlvbigpe307Xy5sbj1mdW5jdGlvbihhLGIpe3RoaXMuZWxlbWVudD1hO3RoaXMudHlwZT1ifTt2YXIgWURhO18ucmQ9ZnVuY3Rpb24oKXt0aGlzLm9hPVtdO3RoaXMuQWE9XCJcIn07Xy5XRGE9ZnVuY3Rpb24oYSxiLGMpe18udmphKGEsXCJoaWRlXCIsYj09PXZvaWQgMD9cIlwiOmIsYz09PXZvaWQgMD9cIlwiOmMpfTtfLlhEYT1mdW5jdGlvbihhLGIsYyl7Xy52amEoYSxcImluc2VydFwiLGIsYz09PXZvaWQgMD9cIlwiOmMpfTtZRGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1cIlwiO2ImJihjPXR5cGVvZiBiPT09XCJzdHJpbmdcIj9iOmdvb2dsZS5nZXRFSShiKSk7cmV0dXJuIGMmJmMhPT1hLkFhP2M6XCJcIn07XG5fLnNkPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1bXSxjPTAsZDtkPWEub2FbYysrXTspe3ZhciBlPWQ7ZD1lLmxKYTt2YXIgZj1lLllHLGc9ZS5uayxoPWUuVjhhLGs9ZS5ZQ2U7ZT1ZRGEoYSxlLnRhcmdldEVsZW1lbnQpO2g9WURhKGEsaCk7c3dpdGNoKGYpe2Nhc2UgXCJzaG93XCI6Yi5wdXNoKGQrXCIuXCIrZStcIi5zXCIpO2JyZWFrO2Nhc2UgXCJpbnNlcnRcIjpiLnB1c2goZCtcIi5cIitlK1wiLmlcIisoaD9cIi4wLlwiK2crXCIuXCIraDpcIlwiKSk7YnJlYWs7Y2FzZSBcImRlZHVwZS1pbnNlcnRcIjpiLnB1c2goZCtcIi5cIitlK1wiLmlcIisoaD9cIi4xLlwiK2crXCIuXCIraDpcIi4xXCIpKTticmVhaztjYXNlIFwiaGlkZVwiOmIucHVzaChkK1wiLlwiK2UrXCIuaFwiKTticmVhaztjYXNlIFwiY29weVwiOmIucHVzaChcIi5cIitrK1wiLmNcIil9fXJldHVybiBiLmxlbmd0aD9cIjFcIitiLmpvaW4oXCI7XCIpOlwiXCJ9O18uWkRhPWZ1bmN0aW9uKGEpe3JldHVybihhPV8uc2QoYSkpP1wiJnZldD1cIithOlwiXCJ9O1xuXy52amE9ZnVuY3Rpb24oYSxiLGMsZCl7YS5vYS5wdXNoKHtsSmE6Yyx0YXJnZXRFbGVtZW50OmQ9PT12b2lkIDA/XCJcIjpkLFlHOmJ9KX07dmFyICREYT1mdW5jdGlvbihhKXt0aGlzLnVyaT1cIi9nZW5fMjA0P2VpPVwiK18uS0NhLldjKGEpfTskRGEucHJvdG90eXBlLk1jPWZ1bmN0aW9uKGEsYil7dGhpcy51cmkrPVwiJlwiK2ErXCI9XCIrXy5LQ2EuV2MoYil9OyREYS5wcm90b3R5cGUubG9nPWZ1bmN0aW9uKCl7d2luZG93Lm5hdmlnYXRvci5zZW5kQmVhY29uP3dpbmRvdy5uYXZpZ2F0b3Iuc2VuZEJlYWNvbih0aGlzLnVyaSxcIlwiKTpnb29nbGUubG9nKFwiXCIsXCJcIix0aGlzLnVyaSl9O18udGphPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgJERhKGEpfTtfLmFFYT1uZXcgXy5hbjt2YXIgYkVhPWZ1bmN0aW9uKCl7fTtiRWEucHJvdG90eXBlLm9hPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuT2ghPW51bGx9O3ZhciBtbj1mdW5jdGlvbihhKXthLk9ofHwoYS5PaD1fLmFFYS5PaCgpKTtyZXR1cm4gYS5PaH07Xy5tPWJFYS5wcm90b3R5cGU7Xy5tLmtfPWZ1bmN0aW9uKGEpe3JldHVybiBtbih0aGlzKS5rXyhhKX07Xy5tLkNjYj1mdW5jdGlvbihhKXtyZXR1cm4gbW4odGhpcykuQ2NiKGEpfTtfLm0uZmx1c2g9ZnVuY3Rpb24oKXttbih0aGlzKS5mbHVzaCgpfTtfLm0uQUdhPWZ1bmN0aW9uKGEpe3JldHVybiBtbih0aGlzKS5BR2EoYSl9O18ubS5oNWE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbW4odGhpcykuaDVhKGEsYil9O18ubS5zZXRUaW1lb3V0PWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5sYy5hcHBseSgyLGFyZ3VtZW50cyksZDtyZXR1cm4oZD1tbih0aGlzKSkuc2V0VGltZW91dC5hcHBseShkLFthLGJdLmNvbmNhdChfLm1kKGMpKSl9O1xuXy5tLmNsZWFyVGltZW91dD1mdW5jdGlvbihhKXttbih0aGlzKS5jbGVhclRpbWVvdXQoYSl9O18ubS5jbGVhckludGVydmFsPWZ1bmN0aW9uKGEpe21uKHRoaXMpLmNsZWFySW50ZXJ2YWwoYSl9O18ubS5zZXRJbnRlcnZhbD1mdW5jdGlvbihhLGIpe3ZhciBjPV8ubGMuYXBwbHkoMixhcmd1bWVudHMpLGQ7cmV0dXJuKGQ9bW4odGhpcykpLnNldEludGVydmFsLmFwcGx5KGQsW2EsYl0uY29uY2F0KF8ubWQoYykpKX07Xy5tLnlpZWxkPWZ1bmN0aW9uKCl7cmV0dXJuIG1uKHRoaXMpLnlpZWxkKCl9O18ubS5yZXF1ZXN0SWRsZUNhbGxiYWNrPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG1uKHRoaXMpLnJlcXVlc3RJZGxlQ2FsbGJhY2soYSxiKX07Xy5tLmNhbmNlbElkbGVDYWxsYmFjaz1mdW5jdGlvbihhKXttbih0aGlzKS5jYW5jZWxJZGxlQ2FsbGJhY2soYSl9O3ZhciBubjtubj1uZXcgYkVhO18uY0VhPW5uLmtfLmJpbmQobm4pO18ub249bm4uQ2NiLmJpbmQobm4pO25uLmZsdXNoLmJpbmQobm4pO18ud2Q9bm4uQUdhLmJpbmQobm4pO18ucG49bm4uaDVhLmJpbmQobm4pO18ucW49bm4uc2V0VGltZW91dC5iaW5kKG5uKTtfLnNuPW5uLmNsZWFyVGltZW91dC5iaW5kKG5uKTtfLnRuPW5uLnNldEludGVydmFsLmJpbmQobm4pO18udW49bm4uY2xlYXJJbnRlcnZhbC5iaW5kKG5uKTtubi55aWVsZC5iaW5kKG5uKTtubi5yZXF1ZXN0SWRsZUNhbGxiYWNrLmJpbmQobm4pO25uLmNhbmNlbElkbGVDYWxsYmFjay5iaW5kKG5uKTtubi5vYS5iaW5kKG5uKTsoZnVuY3Rpb24oYSl7UHphPWZ1bmN0aW9uKGIpe2VqYShiLFwiZ3BcIil9O0pEYT1mdW5jdGlvbihiKXtpZihTdHJpbmcoYikuc3RhcnRzV2l0aChcIlR5cGVFcnJvcjogYS50YXJnZXRFbGVtZW50LlRcIikpe3ZhciBjPSExLGQ9Xy5QZSgpLmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaWZyYW1lXCIpO2Q9Xy5QYShkKTtmb3IodmFyIGU9ZC5uZXh0KCk7IWUuZG9uZTtlPWQubmV4dCgpKWUudmFsdWUuc3JjLmluZGV4T2YoXCIvdXZpZXdlcj9cIik+MCYmKGM9ITApO18uaWQoYix7eGc6e3VyOlwiZGZcIix1djpTdHJpbmcoYyl9LGxldmVsOjN9KX1lbHNlIGVqYShiLFwiZGZcIil9O2EmJndpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwidW5oYW5kbGVkcmVqZWN0aW9uXCIsZnVuY3Rpb24oYil7Yi5wcmV2ZW50RGVmYXVsdCgpO2VqYShiLnJlYXNvbixcIm5wXCIpfSl9KSghMCk7Xy51ZChcImdvb2dsZS5uYXYuZ29cIixfLnFkKTtfLnVkKFwiZ29vZ2xlLm5hdi5zZWFyY2hcIixfLnBqYSk7XG5fLnVkKFwiZ29vZ2xlLmx2ZS5HXCIsXy5sbik7Xy51ZChcImdvb2dsZS5sdmUuR1RcIix7cW5lOlwic2hvd1wiLEhJREU6XCJoaWRlXCIsdWJlOlwiaW5zZXJ0XCIsSDVkOlwiZGVkdXBlLWluc2VydFwiLEMzZDpcImNvcHlcIn0pO18udWQoXCJnb29nbGUubHZlLmxvZ0dcIixfLnNqYSk7Xy51ZChcImdvb2dsZS5zeC5zZXRUaW1lb3V0XCIsXy5xbik7Xy51ZChcImdvb2dsZS5uYXYuZ2V0TG9jYXRpb25cIixmdW5jdGlvbigpe3JldHVybiB3aW5kb3cubG9jYXRpb24uaHJlZn0pO3ZhciBkRWE9RXJyb3IoXCJ1YlwiKSx3amE9RXJyb3IoXCJ2YlwiKTtfLmVFYT1mdW5jdGlvbigpe307dmFyIGhFYSxqRWEsa0VhLG1FYSxsRWEsbkVhO18udm49ZnVuY3Rpb24oKXt9O18udm4ucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy5mRWF9O18uZkVhPXtkb25lOiEwLHZhbHVlOnZvaWQgMH07Xy5nRWE9ZnVuY3Rpb24oYSl7cmV0dXJue3ZhbHVlOmEsZG9uZTohMX19O18udm4ucHJvdG90eXBlLmhCPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O2hFYT1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy52bilyZXR1cm4gYTtpZih0eXBlb2YgYS5oQj09XCJmdW5jdGlvblwiKXJldHVybiBhLmhCKCExKTtpZihfLkJhKGEpKXt2YXIgYj0wLGM9bmV3IF8udm47Yy5uZXh0PWZ1bmN0aW9uKCl7Zm9yKDs7KXtpZihiPj1hLmxlbmd0aClyZXR1cm4gXy5mRWE7aWYoYiBpbiBhKXJldHVybiBfLmdFYShhW2IrK10pO2IrK319O3JldHVybiBjfXRocm93IEVycm9yKFwid2JcIik7fTtcbl8uaUVhPWZ1bmN0aW9uKGEsYil7aWYoXy5CYShhKSlfLkhhKGEsYix2b2lkIDApO2Vsc2UgZm9yKGE9aEVhKGEpOzspe3ZhciBjPWEubmV4dCgpO2lmKGMuZG9uZSlicmVhaztiLmNhbGwodm9pZCAwLGMudmFsdWUsdm9pZCAwLGEpfX07akVhPWZ1bmN0aW9uKGEsYil7dmFyIGM9aEVhKGEpO2E9bmV3IF8udm47YS5uZXh0PWZ1bmN0aW9uKCl7Zm9yKDs7KXt2YXIgZD1jLm5leHQoKSxlPWQudmFsdWU7aWYoZC5kb25lKXJldHVybiBfLmZFYTtpZihiLmNhbGwodm9pZCAwLGUsdm9pZCAwLGMpKXJldHVybiBfLmdFYShlKX19O3JldHVybiBhfTtrRWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1oRWEoYSk7YT1uZXcgXy52bjthLm5leHQ9ZnVuY3Rpb24oKXt2YXIgZD1jLm5leHQoKTtpZihkLmRvbmUpcmV0dXJuIF8uZkVhO2Q9Yi5jYWxsKHZvaWQgMCxkLnZhbHVlLHZvaWQgMCxjKTtyZXR1cm4gXy5nRWEoZCl9O3JldHVybiBhfTttRWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGxFYShhcmd1bWVudHMpfTtcbmxFYT1mdW5jdGlvbihhKXt2YXIgYj1oRWEoYSk7YT1uZXcgXy52bjt2YXIgYz1udWxsO2EubmV4dD1mdW5jdGlvbigpe2Zvcig7Oyl7aWYoYz09bnVsbCl7dmFyIGQ9Yi5uZXh0KCk7aWYoZC5kb25lKXJldHVybiBfLmZFYTtjPWhFYShkLnZhbHVlKX1kPWMubmV4dCgpO2lmKGQuZG9uZSljPW51bGw7ZWxzZSByZXR1cm4gXy5nRWEoZC52YWx1ZSl9fTtyZXR1cm4gYX07bkVhPWZ1bmN0aW9uKGEpe2lmKF8uQmEoYSkpcmV0dXJuIF8uQWEoYSk7YT1oRWEoYSk7dmFyIGI9W107Xy5pRWEoYSxmdW5jdGlvbihjKXtiLnB1c2goYyl9KTtyZXR1cm4gYn07dmFyIHJFYT1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2Ygb0VhfHxhIGluc3RhbmNlb2YgcEVhfHxhIGluc3RhbmNlb2YgcUVhKXJldHVybiBhO2lmKHR5cGVvZiBhLm5leHQ9PVwiZnVuY3Rpb25cIilyZXR1cm4gbmV3IG9FYShmdW5jdGlvbigpe3JldHVybiBhfSk7aWYodHlwZW9mIGFbU3ltYm9sLml0ZXJhdG9yXT09XCJmdW5jdGlvblwiKXJldHVybiBuZXcgb0VhKGZ1bmN0aW9uKCl7cmV0dXJuIGFbU3ltYm9sLml0ZXJhdG9yXSgpfSk7aWYodHlwZW9mIGEuaEI9PVwiZnVuY3Rpb25cIilyZXR1cm4gbmV3IG9FYShmdW5jdGlvbigpe3JldHVybiBhLmhCKCl9KTt0aHJvdyBFcnJvcihcInhiXCIpO30sb0VhPWZ1bmN0aW9uKGEpe3RoaXMuQWE9YX07b0VhLnByb3RvdHlwZS5oQj1mdW5jdGlvbigpe3JldHVybiBuZXcgcEVhKHRoaXMuQWEoKSl9O29FYS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiBuZXcgcUVhKHRoaXMuQWEoKSl9O1xub0VhLnByb3RvdHlwZS5vYT1mdW5jdGlvbigpe3JldHVybiBuZXcgcUVhKHRoaXMuQWEoKSl9O3ZhciBwRWE9ZnVuY3Rpb24oYSl7dGhpcy5BYT1hfTtfLkQocEVhLF8udm4pO3BFYS5wcm90b3R5cGUubmV4dD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkFhLm5leHQoKX07cEVhLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBxRWEodGhpcy5BYSl9O3BFYS5wcm90b3R5cGUub2E9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHFFYSh0aGlzLkFhKX07dmFyIHFFYT1mdW5jdGlvbihhKXtvRWEuY2FsbCh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGF9KTt0aGlzLkJhPWF9O18uRChxRWEsb0VhKTtxRWEucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5CYS5uZXh0KCl9O3ZhciBzRWE9ZnVuY3Rpb24oKXt9O18ubWgoc0VhLF8uZUVhKTtzRWEucHJvdG90eXBlLnluPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPTAsYj1fLlBhKHRoaXMpLGM9Yi5uZXh0KCk7IWMuZG9uZTtjPWIubmV4dCgpKWErKztyZXR1cm4gYX07c0VhLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHJFYSh0aGlzLmhCKCEwKSkub2EoKX07c0VhLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3ZhciBhPUFycmF5LmZyb20odGhpcyk7YT1fLlBhKGEpO2Zvcih2YXIgYj1hLm5leHQoKTshYi5kb25lO2I9YS5uZXh0KCkpdGhpcy5yZW1vdmUoYi52YWx1ZSl9O3ZhciB0RWE9ZnVuY3Rpb24oYSl7dGhpcy5vYT1hO3RoaXMuQWE9bnVsbH07Xy5taCh0RWEsc0VhKTtfLm09dEVhLnByb3RvdHlwZTtfLm0uaXNBdmFpbGFibGU9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9hO2lmKGEpdHJ5e2Euc2V0SXRlbShcIl9fc2FrXCIsXCIxXCIpO2EucmVtb3ZlSXRlbShcIl9fc2FrXCIpO3ZhciBiPSEwfWNhdGNoKGMpe2I9YyBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbiYmKGMubmFtZT09PVwiUXVvdGFFeGNlZWRlZEVycm9yXCJ8fGMuY29kZT09PTIyfHxjLmNvZGU9PT0xMDE0fHxjLm5hbWU9PT1cIk5TX0VSUk9SX0RPTV9RVU9UQV9SRUFDSEVEXCIpJiZhJiZhLmxlbmd0aCE9PTB9ZWxzZSBiPSExO3JldHVybiB0aGlzLkFhPWJ9O1xuXy5tLnNldD1mdW5jdGlvbihhLGIpe3VFYSh0aGlzKTt0cnl7dGhpcy5vYS5zZXRJdGVtKGEsYil9Y2F0Y2goYyl7aWYodGhpcy5vYS5sZW5ndGg9PTApdGhyb3dcIlN0b3JhZ2UgbWVjaGFuaXNtOiBTdG9yYWdlIGRpc2FibGVkXCI7dGhyb3dcIlN0b3JhZ2UgbWVjaGFuaXNtOiBRdW90YSBleGNlZWRlZFwiO319O18ubS5nZXQ9ZnVuY3Rpb24oYSl7dUVhKHRoaXMpO2E9dGhpcy5vYS5nZXRJdGVtKGEpO2lmKHR5cGVvZiBhIT09XCJzdHJpbmdcIiYmYSE9PW51bGwpdGhyb3dcIlN0b3JhZ2UgbWVjaGFuaXNtOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZFwiO3JldHVybiBhfTtfLm0ucmVtb3ZlPWZ1bmN0aW9uKGEpe3VFYSh0aGlzKTt0aGlzLm9hLnJlbW92ZUl0ZW0oYSl9O18ubS55bj1mdW5jdGlvbigpe3VFYSh0aGlzKTtyZXR1cm4gdGhpcy5vYS5sZW5ndGh9O1xuXy5tLmhCPWZ1bmN0aW9uKGEpe3VFYSh0aGlzKTt2YXIgYj0wLGM9dGhpcy5vYSxkPW5ldyBfLnZuO2QubmV4dD1mdW5jdGlvbigpe2lmKGI+PWMubGVuZ3RoKXJldHVybiBfLmZFYTt2YXIgZT1jLmtleShiKyspO2lmKGEpcmV0dXJuIF8uZ0VhKGUpO2U9Yy5nZXRJdGVtKGUpO2lmKHR5cGVvZiBlIT09XCJzdHJpbmdcIil0aHJvd1wiU3RvcmFnZSBtZWNoYW5pc206IEludmFsaWQgdmFsdWUgd2FzIGVuY291bnRlcmVkXCI7cmV0dXJuIF8uZ0VhKGUpfTtyZXR1cm4gZH07Xy5tLmNsZWFyPWZ1bmN0aW9uKCl7dUVhKHRoaXMpO3RoaXMub2EuY2xlYXIoKX07Xy5tLmtleT1mdW5jdGlvbihhKXt1RWEodGhpcyk7cmV0dXJuIHRoaXMub2Eua2V5KGEpfTt2YXIgdUVhPWZ1bmN0aW9uKGEpe2lmKGEub2E9PW51bGwpdGhyb3cgRXJyb3IoXCJ5YlwiKTt2YXIgYjsoKGI9YS5BYSkhPW51bGw/YjphLmlzQXZhaWxhYmxlKCkpfHxfLmNhKEVycm9yKFwieWJcIikpfTtfLnZFYT1mdW5jdGlvbigpe3ZhciBhPW51bGw7dHJ5e2E9Xy5iYS5sb2NhbFN0b3JhZ2V8fG51bGx9Y2F0Y2goYil7fXRFYS5jYWxsKHRoaXMsYSl9O18ubWgoXy52RWEsdEVhKTtfLndFYT1mdW5jdGlvbigpe3ZhciBhPW51bGw7dHJ5e2E9Xy5iYS5zZXNzaW9uU3RvcmFnZXx8bnVsbH1jYXRjaChiKXt9dEVhLmNhbGwodGhpcyxhKX07Xy5taChfLndFYSx0RWEpO18ueEVhPWZ1bmN0aW9uKGEsYil7dGhpcy5BYT1hO3RoaXMub2E9YitcIjo6XCJ9O18ubWgoXy54RWEsc0VhKTtfLnhFYS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7dGhpcy5BYS5zZXQodGhpcy5vYSthLGIpfTtfLnhFYS5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLkFhLmdldCh0aGlzLm9hK2EpfTtfLnhFYS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGEpe3RoaXMuQWEucmVtb3ZlKHRoaXMub2ErYSl9O1xuXy54RWEucHJvdG90eXBlLmhCPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuQWFbU3ltYm9sLml0ZXJhdG9yXSgpLGM9dGhpcyxkPW5ldyBfLnZuO2QubmV4dD1mdW5jdGlvbigpe3ZhciBlPWIubmV4dCgpO2lmKGUuZG9uZSlyZXR1cm4gZTtmb3IoZT1lLnZhbHVlO2Uuc2xpY2UoMCxjLm9hLmxlbmd0aCkhPWMub2E7KXtlPWIubmV4dCgpO2lmKGUuZG9uZSlyZXR1cm4gZTtlPWUudmFsdWV9cmV0dXJuIF8uZ0VhKGE/ZS5zbGljZShjLm9hLmxlbmd0aCk6Yy5BYS5nZXQoZSkpfTtyZXR1cm4gZH07Xy55RWE9Xy5iYS5KU09OLnN0cmluZ2lmeTtfLnpFYT0vXFx1ZmZmZi8udGVzdChcIlxcdWZmZmZcIik/L1tcXFxcXCJcXHgwMC1cXHgxZlxceDdmLVxcdWZmZmZdL2c6L1tcXFxcXCJcXHgwMC1cXHgxZlxceDdmLVxceGZmXS9nO18uQUVhPWZ1bmN0aW9uKGEpe3RoaXMuZ009YX07Xy5BRWEucHJvdG90eXBlLnNldD1mdW5jdGlvbihhLGIpe2I9PT12b2lkIDA/dGhpcy5nTS5yZW1vdmUoYSk6dGhpcy5nTS5zZXQoYSwoMCxfLnlFYSkoYikpfTtfLkFFYS5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe3RyeXt2YXIgYj10aGlzLmdNLmdldChhKX1jYXRjaChjKXtyZXR1cm59aWYoYiE9PW51bGwpdHJ5e3JldHVybiBKU09OLnBhcnNlKGIpfWNhdGNoKGMpe3Rocm93XCJTdG9yYWdlOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZFwiO319O18uQUVhLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oYSl7dGhpcy5nTS5yZW1vdmUoYSl9O3ZhciBCRWE7QkVhPXt9O18uQ0VhPShCRWEubG9jYWw9Xy52RWEsQkVhLnNlc3Npb249Xy53RWEsQkVhKTt2YXIgREVhPWZ1bmN0aW9uKGEpe3RoaXMub2E9YXx8e2Nvb2tpZTpcIlwifX0sRUVhO18ubT1ERWEucHJvdG90eXBlO18ubS5pc0VuYWJsZWQ9ZnVuY3Rpb24oKXtpZighXy5iYS5uYXZpZ2F0b3IuY29va2llRW5hYmxlZClyZXR1cm4hMTtpZighdGhpcy5pc0VtcHR5KCkpcmV0dXJuITA7dGhpcy5zZXQoXCJURVNUQ09PS0lFU0VOQUJMRURcIixcIjFcIix7ZDY6NjB9KTtpZih0aGlzLmdldChcIlRFU1RDT09LSUVTRU5BQkxFRFwiKSE9PVwiMVwiKXJldHVybiExO3RoaXMucmVtb3ZlKFwiVEVTVENPT0tJRVNFTkFCTEVEXCIpO3JldHVybiEwfTtcbl8ubS5zZXQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSExO2lmKHR5cGVvZiBjPT09XCJvYmplY3RcIil7dmFyIGU9Yy5YQmU7ZD1jLnNlY3VyZXx8ITE7dmFyIGY9Yy5kb21haW58fHZvaWQgMDt2YXIgZz1jLnBhdGh8fHZvaWQgMDt2YXIgaD1jLmQ2fWlmKC9bOz1cXHNdLy50ZXN0KGEpKXRocm93IEVycm9yKFwiQWJgXCIrYSk7aWYoL1s7XFxyXFxuXS8udGVzdChiKSl0aHJvdyBFcnJvcihcIkJiYFwiK2IpO2g9PT12b2lkIDAmJihoPS0xKTtjPWY/XCI7ZG9tYWluPVwiK2Y6XCJcIjtnPWc/XCI7cGF0aD1cIitnOlwiXCI7ZD1kP1wiO3NlY3VyZVwiOlwiXCI7aD1oPDA/XCJcIjpoPT0wP1wiO2V4cGlyZXM9XCIrKG5ldyBEYXRlKDE5NzAsMSwxKSkudG9VVENTdHJpbmcoKTpcIjtleHBpcmVzPVwiKyhuZXcgRGF0ZShEYXRlLm5vdygpK2gqMUUzKSkudG9VVENTdHJpbmcoKTt0aGlzLm9hLmNvb2tpZT1hK1wiPVwiK2IrYytnK2grZCsoZSE9bnVsbD9cIjtzYW1lc2l0ZT1cIitlOlwiXCIpfTtcbl8ubS5nZXQ9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9YStcIj1cIixkPSh0aGlzLm9hLmNvb2tpZXx8XCJcIikuc3BsaXQoXCI7XCIpLGU9MCxmO2U8ZC5sZW5ndGg7ZSsrKXtmPSgwLF8ubmgpKGRbZV0pO2lmKGYubGFzdEluZGV4T2YoYywwKT09MClyZXR1cm4gZi5zbGljZShjLmxlbmd0aCk7aWYoZj09YSlyZXR1cm5cIlwifXJldHVybiBifTtfLm0ucmVtb3ZlPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLmdldChhKSE9PXZvaWQgMDt0aGlzLnNldChhLFwiXCIse2Q2OjAscGF0aDpiLGRvbWFpbjpjfSk7cmV0dXJuIGR9O18ubS5vQT1mdW5jdGlvbigpe3JldHVybiBFRWEodGhpcykua2V5c307Xy5tLll2PWZ1bmN0aW9uKCl7cmV0dXJuIEVFYSh0aGlzKS52YWx1ZXN9O18ubS5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMub2EuY29va2llfTtfLm0ueW49ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vYS5jb29raWU/KHRoaXMub2EuY29va2llfHxcIlwiKS5zcGxpdChcIjtcIikubGVuZ3RoOjB9O1xuXy5tLmI0PWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1FRWEodGhpcykudmFsdWVzLGM9MDtjPGIubGVuZ3RoO2MrKylpZihiW2NdPT1hKXJldHVybiEwO3JldHVybiExfTtfLm0uY2xlYXI9ZnVuY3Rpb24oKXtmb3IodmFyIGE9RUVhKHRoaXMpLmtleXMsYj1hLmxlbmd0aC0xO2I+PTA7Yi0tKXRoaXMucmVtb3ZlKGFbYl0pfTtFRWE9ZnVuY3Rpb24oYSl7YT0oYS5vYS5jb29raWV8fFwiXCIpLnNwbGl0KFwiO1wiKTtmb3IodmFyIGI9W10sYz1bXSxkLGUsZj0wO2Y8YS5sZW5ndGg7ZisrKWU9KDAsXy5uaCkoYVtmXSksZD1lLmluZGV4T2YoXCI9XCIpLGQ9PS0xPyhiLnB1c2goXCJcIiksYy5wdXNoKGUpKTooYi5wdXNoKGUuc3Vic3RyaW5nKDAsZCkpLGMucHVzaChlLnN1YnN0cmluZyhkKzEpKSk7cmV0dXJue2tleXM6Yix2YWx1ZXM6Y319O18udGQ9bmV3IERFYSh0eXBlb2YgZG9jdW1lbnQ9PVwidW5kZWZpbmVkXCI/bnVsbDpkb2N1bWVudCk7dmFyIEZFYT1SZWdFeHAoXCJecDooW2EtelxcXFwqXSlcXFxcfGw6KFxcXFxkKylcIixcImlcIiksQ2phPWZ1bmN0aW9uKGEsYixjKXt0aGlzLm9hPWI7dGhpcy5BYT1jO3RoaXMubWV0YWRhdGE9YX07Q2phLnByb3RvdHlwZS5nZXRWYWx1ZT1mdW5jdGlvbigpe2lmKHRoaXMub2E9PT12b2lkIDApe2E6e3RyeXt2YXIgYT1KU09OLnBhcnNlKHRoaXMuQWEpO2lmKGE9PT1udWxsKXRocm93IEVycm9yKFwiQ2JcIik7dmFyIGI9YTticmVhayBhfWNhdGNoKGMpe3Rocm93IEVycm9yKFwiQ2JcIik7fWI9dm9pZCAwfXRoaXMub2E9Yn1yZXR1cm4gdGhpcy5vYX07Q2phLnByb3RvdHlwZS5XYz1mdW5jdGlvbigpe3RoaXMuQWE9PT12b2lkIDAmJih0aGlzLkFhPSgwLF8ueUVhKSh0aGlzLm9hKSk7cmV0dXJuXCJwOlwiK3RoaXMubWV0YWRhdGEucHJpb3JpdHkrXCJ8bDpcIisodGhpcy5tZXRhZGF0YS5HMStcIl9cIikrdGhpcy5BYX07dmFyIEdFYT1mdW5jdGlvbigpe307R0VhLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe0hFYSh0aGlzKX07R0VhLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe307dmFyIEhFYT1mdW5jdGlvbihhKXtmb3IodmFyIGI9Xy5QYShuRWEoYSkpLGM9Yi5uZXh0KCk7IWMuZG9uZTtjPWIubmV4dCgpKWEucmVtb3ZlKGMudmFsdWUpO2EucmVzZXQoKX07dmFyIHduPWZ1bmN0aW9uKGEpe3RoaXMuZ009YX07Xy5EKHduLEdFYSk7Xy5tPXduLnByb3RvdHlwZTtfLm0uZ2V0PWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuZ00uZ2V0KGEsYj09PXZvaWQgMD8hMTpiKX07Xy5tLmhhcz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5nTS5oYXMoYSl9O18ubS5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLmdNLnNldChhLGIpfTtfLm0ucmVtb3ZlPWZ1bmN0aW9uKGEpe3RoaXMuZ00ucmVtb3ZlKGEpfTtfLm0uY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmdNLmNsZWFyKCl9O18ubS5yZXNldD1mdW5jdGlvbigpe3RoaXMuZ00ucmVzZXQoKX07Xy5tLmhCPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ00uaEIoKX07dmFyIExqYT1mdW5jdGlvbihhLGIpe3RoaXMuZ009Yjt0aGlzLm9hPWF9O18uRChMamEsd24pO18ubT1MamEucHJvdG90eXBlO18ubS5nZXQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzO2I9Yj09PXZvaWQgMD8hMTpiO3ZhciBkPW51bGw7SUVhKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZD13bi5wcm90b3R5cGUuZ2V0LmNhbGwoYyxhLGIpfSxcImdldFwiLHtrZXk6YX0pO3JldHVybiBkfTtfLm0uaGFzPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz0hMTtJRWEodGhpcyxmdW5jdGlvbigpe3JldHVybiBjPXduLnByb3RvdHlwZS5oYXMuY2FsbChiLGEpfSxcImhhc1wiLHtrZXk6YX0pO3JldHVybiBjfTtfLm0uc2V0PWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcztJRWEodGhpcyxmdW5jdGlvbigpe3JldHVybiB3bi5wcm90b3R5cGUuc2V0LmNhbGwoYyxhLGIpfSxcInNldFwiLHtrZXk6YSx2YWx1ZTpiLmdldFZhbHVlKCl9KX07XG5fLm0ucmVtb3ZlPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7SUVhKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gd24ucHJvdG90eXBlLnJlbW92ZS5jYWxsKGIsYSl9LFwicmVtb3ZlXCIse2tleTphfSl9O18ubS5oQj1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dHJ5e3ZhciBiPXRoaXMuZ00uaEIoKX1jYXRjaChlKXtyZXR1cm4gdGhpcy5vYShlLFwiaXRlcmF0b3JcIix7fSksbmV3IF8udm59dmFyIGM9MCxkPW5ldyBfLnZuO2QubmV4dD1mdW5jdGlvbigpe2Zvcig7Oyl0cnl7dmFyIGU9Yi5uZXh0KCk7cmV0dXJuIGUuZG9uZT9fLmZFYTpfLmdFYShlLnZhbHVlKX1jYXRjaChmKXtjKys7aWYoYz41KXJldHVybiBfLmZFYTthLm9hKGYsXCJpdGVyYXRvclwiLHt9KX19O3JldHVybiBkfTtfLm0uY2xlYXI9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO0lFYSh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIHduLnByb3RvdHlwZS5jbGVhci5jYWxsKGEpfSxcImNsZWFyXCIpfTtcbl8ubS5yZXNldD1mdW5jdGlvbigpe3ZhciBhPXRoaXM7SUVhKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gd24ucHJvdG90eXBlLnJlc2V0LmNhbGwoYSl9LFwicmVzZXRcIil9O3ZhciBJRWE9ZnVuY3Rpb24oYSxiLGMsZCl7ZD1kPT09dm9pZCAwP3t9OmQ7dHJ5e2IoKX1jYXRjaChlKXthLm9hKGUsYyxkKX19O3ZhciBKRWE9ZnVuY3Rpb24oYSxiKXt0aGlzLmdNPWI7dGhpcy5vYT1hfTtfLkQoSkVhLHduKTtKRWEucHJvdG90eXBlLmdldD1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD8hMTpiO3ZhciBjPXduLnByb3RvdHlwZS5nZXQuY2FsbCh0aGlzLGEsYik7IWImJmMmJmMubWV0YWRhdGEucHJpb3JpdHk8XCJ4XCImJihjLm1ldGFkYXRhLkcxPXRoaXMub2EoKSx3bi5wcm90b3R5cGUuc2V0LmNhbGwodGhpcyxhLGMpKTtyZXR1cm4gY307SkVhLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiKXtiLm1ldGFkYXRhLnByaW9yaXR5PFwieFwiJiYoYi5tZXRhZGF0YS5HMT10aGlzLm9hKCkpO3duLnByb3RvdHlwZS5zZXQuY2FsbCh0aGlzLGEsYil9O3ZhciBLRWE9Mi8zLEpqYT1mdW5jdGlvbihhKXt0aGlzLkNhPWE7dGhpcy5CYT0wO3RoaXMub2E9e307dGhpcy5HYT0hMX07Xy5EKEpqYSxHRWEpO18ubT1KamEucHJvdG90eXBlO1xuXy5tLmdldD1mdW5jdGlvbihhKXt2YXIgYj10aGlzLkNhLmdldChhKTtpZihiPT09bnVsbClyZXR1cm4gbnVsbDt2YXIgYz1iLmluZGV4T2YoXCJfXCIpO2M9YzwwP251bGw6e2t4ZDpiLnN1YnN0cigwLGMpLG1XZDpiLnN1YnN0cihjKzEpfTtpZihjPT09bnVsbCljPW51bGw7ZWxzZXt2YXIgZD1GRWEuZXhlYyhjLmt4ZCk7aWYoZD09PW51bGwpdmFyIGU9bnVsbDtlbHNlIGU9ZFsxXSxkPXBhcnNlSW50KGRbMl0sMTApLGU9TnVtYmVyLmlzTmFOKGQpP251bGw6e3ByaW9yaXR5OmUsRzE6ZH07Yz1lPT09bnVsbD9udWxsOm5ldyBDamEoZSx2b2lkIDAsYy5tV2QpfWlmKGM9PT1udWxsKXJldHVybiBudWxsO3RoaXMub2FbYV09PT12b2lkIDAmJihiPWEubGVuZ3RoK2IubGVuZ3RoLHRoaXMub2FbYV09e3ByaW9yaXR5OmMubWV0YWRhdGEucHJpb3JpdHksRzE6Yy5tZXRhZGF0YS5HMSx3ZWlnaHQ6Yn0sdGhpcy5CYSs9Yix0aGlzLkFhIT09dm9pZCAwJiYodGhpcy5BYSs9YikpO3JldHVybiBjfTtcbl8ubS5oYXM9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuQ2EuZ2V0KGEpIT09bnVsbH07Xy5tLnJlbW92ZT1mdW5jdGlvbihhKXt2YXIgYj10aGlzLkNhLmdldChhKTtiIT09bnVsbCYmKGEgaW4gdGhpcy5vYSYmKGRlbGV0ZSB0aGlzLm9hW2FdLHRoaXMuQmEtPWEubGVuZ3RoK2IubGVuZ3RoKSx0aGlzLkNhLnJlbW92ZShhKSl9O18ubS5yZXNldD1mdW5jdGlvbigpe3RoaXMuQWE9dm9pZCAwO3RoaXMuQmE9MDtmb3IodmFyIGE9Xy5QYShPYmplY3Qua2V5cyh0aGlzLm9hKSksYj1hLm5leHQoKTshYi5kb25lO2I9YS5uZXh0KCkpZGVsZXRlIHRoaXMub2FbYi52YWx1ZV19O18ubS5zZXQ9ZnVuY3Rpb24oYSxiKXthIGluIHRoaXMub2EmJnRoaXMucmVtb3ZlKGEpO0xFYSh0aGlzLGEsYi5tZXRhZGF0YS5wcmlvcml0eSxiLm1ldGFkYXRhLkcxLGIuV2MoKSl9O1xudmFyIExFYT1mdW5jdGlvbihhLGIsYyxkLGUsZixnKXtnPWc9PT12b2lkIDA/MDpnO2Y9Znx8Yi5sZW5ndGgrZS5sZW5ndGg7aWYoYS5BYSE9PXZvaWQgMCYmZz09MCYmZj49YS5BYSl0aHJvdyBkRWE7dHJ5e2EuQ2Euc2V0KGIsZSl9Y2F0Y2gobCl7aWYobD09XCJTdG9yYWdlIG1lY2hhbmlzbTogUXVvdGEgZXhjZWVkZWRcIiYmZzw0KXtNRWEoYSk7YS5BYT1hLkJhK01hdGguY2VpbChLRWEqZik7aWYoIShhLkFhPmEuQmErZikpe3ZhciBoPU5FYShhLGMpO2g9Xy5QYShoKTtmb3IodmFyIGs9aC5uZXh0KCk7IWsuZG9uZSYmIShhLnJlbW92ZShrLnZhbHVlKSxhLkFhPmEuQmErZik7az1oLm5leHQoKSk7fUxFYShhLGIsYyxkLGUsZixnKzEpO3JldHVybn10aHJvdyBsO31hLkJhKz1mO2EuQWEhPT12b2lkIDAmJihhLkFhPU1hdGgubWF4KGEuQWEsYS5CYSkpO2Eub2FbYl09e3ByaW9yaXR5OmMsRzE6ZCx3ZWlnaHQ6Zn19LE5FYT1mdW5jdGlvbihhLGIpe3ZhciBjPUFycmF5LmZyb20oT2JqZWN0LmtleXMoYS5vYSkpO1xuYz1jLmZpbHRlcihmdW5jdGlvbihkKXtyZXR1cm4gYS5vYVtkXS5wcmlvcml0eT49Yn0pO2lmKGMubGVuZ3RoPT0wKXRocm93IHdqYTtjLnNvcnQoZnVuY3Rpb24oZCxlKXtkPWEub2FbZF07ZT1hLm9hW2VdO3JldHVybiBkLnByaW9yaXR5PT1lLnByaW9yaXR5P2QuRzEtZS5HMTpkLnByaW9yaXR5PGUucHJpb3JpdHk/MTotMX0pO3JldHVybiBjfSxNRWE9ZnVuY3Rpb24oYSl7YS5HYXx8KF8uaUVhKGEsZnVuY3Rpb24oYil7YiBpbiBhLm9hfHxhLmdldChiKX0pLGEuR2E9ITApfTtKamEucHJvdG90eXBlLmhCPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQ2EuaEIoITApfTt2YXIgSGphPWZ1bmN0aW9uKGEpe3RoaXMub2E9YT09PXZvaWQgMD9udWxsOmE7dGhpcy5BYT17fX07Xy5EKEhqYSxHRWEpO18ubT1IamEucHJvdG90eXBlO18ubS5nZXQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLkFhW2FdfHxudWxsO2M9PT1udWxsJiZ0aGlzLm9hJiYoYz10aGlzLm9hLmdldChhLGI9PT12b2lkIDA/ITE6YiksYyE9PW51bGwmJih0aGlzLkFhW2FdPWMpKTtyZXR1cm4gY307Xy5tLmhhcz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5BYS5oYXNPd25Qcm9wZXJ0eShhKXx8dGhpcy5vYSE9bnVsbCYmdGhpcy5vYS5oYXMoYSl9O18ubS5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLkFhW2FdPWI7Yi5tZXRhZGF0YS5wcmlvcml0eTxcInhcIiYmdGhpcy5vYSYmdGhpcy5vYS5zZXQoYSxiKX07Xy5tLnJlbW92ZT1mdW5jdGlvbihhKXt2YXIgYj10aGlzLkFhW2FdO3RoaXMub2EmJihiJiZiLm1ldGFkYXRhLnByaW9yaXR5PFwieFwifHwhYikmJnRoaXMub2EucmVtb3ZlKGEpO2RlbGV0ZSB0aGlzLkFhW2FdfTtcbl8ubS5jbGVhcj1mdW5jdGlvbigpe3RoaXMub2EmJnRoaXMub2EuY2xlYXIoKTt0aGlzLkFhPXt9fTtfLm0uaEI9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLGI9T2JqZWN0LmtleXModGhpcy5BYSk7Yj1oRWEoYik7aWYoIXRoaXMub2EpcmV0dXJuIGI7dmFyIGM9akVhKHRoaXMub2EsZnVuY3Rpb24oZCl7cmV0dXJuIShkIGluIGEuQWEpfSk7cmV0dXJuIG1FYShiLGMpfTt2YXIgTWphPWZ1bmN0aW9uKGEsYil7dGhpcy5nTT1iO3RoaXMub2E9YStcIjs7XCJ9O18uRChNamEsd24pO18ubT1NamEucHJvdG90eXBlO18ubS5nZXQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gd24ucHJvdG90eXBlLmdldC5jYWxsKHRoaXMsdGhpcy5vYSthLGI9PT12b2lkIDA/ITE6Yil9O18ubS5oYXM9ZnVuY3Rpb24oYSl7cmV0dXJuIHduLnByb3RvdHlwZS5oYXMuY2FsbCh0aGlzLHRoaXMub2ErYSl9O18ubS5zZXQ9ZnVuY3Rpb24oYSxiKXt3bi5wcm90b3R5cGUuc2V0LmNhbGwodGhpcyx0aGlzLm9hK2EsYil9O18ubS5yZW1vdmU9ZnVuY3Rpb24oYSl7d24ucHJvdG90eXBlLnJlbW92ZS5jYWxsKHRoaXMsdGhpcy5vYSthKX07Xy5tLmhCPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcyxiPXRoaXMub2EubGVuZ3RoLGM9a0VhKHRoaXMuZ00sZnVuY3Rpb24oZCl7aWYoZC5zdWJzdHIoMCxiKT09YS5vYSlyZXR1cm4gZC5zdWJzdHIoYil9KTtyZXR1cm4gakVhKGMsXy5keGEpfTtcbl8ubS5jbGVhcj1mdW5jdGlvbigpe0hFYSh0aGlzKX07Xy5tLnJlc2V0PWZ1bmN0aW9uKCl7fTtfLllkPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1jPT09dm9pZCAwP3t9OmM7Yz1kLmVycm9ySGFuZGxlcj09PXZvaWQgMD9PRWE6ZC5lcnJvckhhbmRsZXI7dmFyIGU9ZC5DYmI9PT12b2lkIDA/ITE6ZC5DYmI7ZD10aGlzLkFhPURqYShhLGMpO2M9RmphKGIsYSxjLGUpO3RoaXMub2E9bmV3IEpFYShkLGMpO2lmKGQ9Xy5iYS5tUFBreGQpe2M9W107ZD1fLlBhKGQpO2ZvcihlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSl7ZT1lLnZhbHVlO3ZhciBmPWVbMV07aWYoZlswXT09YSYmZlsxXT09Yil7dmFyIGc9ZVsxXTtmPWdbNF18fFwibVwiO3ZhciBoPWdbMl07Zz1nWzNdO2VbMF0/dGhpcy5vYS5nZXQoaCk6dGhpcy5zZXQoaCxnLGYpfWVsc2UgYy5wdXNoKGUpfV8uYmEubVBQa3hkPWN9fTtfLkdqYT1mdW5jdGlvbihhKXtpZihhPT1cIm5cIilyZXR1cm4hMDthPUtqYShhKTtyZXR1cm4hKGEgaW5zdGFuY2VvZiBfLnZFYSYmXy5zYWEoKSYmIV8ueWphKCkpJiZhLmlzQXZhaWxhYmxlKCl9O1xuXy5ZZC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYixjKXt0aGlzLm9hLnNldChhLG5ldyBDamEoe3ByaW9yaXR5OmM9PT12b2lkIDA/XCJtXCI6Y30sYikpfTtfLllkLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuKGE9dGhpcy5vYS5nZXQoYSkpP2EuZ2V0VmFsdWUoKTpudWxsfTtfLllkLnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMub2EuaGFzKGEpfTtfLllkLnByb3RvdHlwZS5oQj1mdW5jdGlvbigpe3ZhciBhPXRoaXM7cmV0dXJuIGpFYShrRWEodGhpcy5vYSxmdW5jdGlvbihiKXt2YXIgYz1hLm9hLmdldChiLCEwKTtyZXR1cm4gYz97a2V5OmIsdmFsdWU6Yy5nZXRWYWx1ZSgpLHByaW9yaXR5OmMubWV0YWRhdGEucHJpb3JpdHksRzE6Yy5tZXRhZGF0YS5HMX06bnVsbH0pLGZ1bmN0aW9uKGIpe3JldHVybiEhYn0pfTtfLllkLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaEIoKX07XG5fLllkLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oYSl7dGhpcy5vYS5yZW1vdmUoYSl9O18uWWQucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5vYS5jbGVhcigpfTt2YXIgS2phPWZ1bmN0aW9uKGEpe2lmKGEgaW4gUEVhKXJldHVybiBQRWFbYV07dmFyIGI7YT09XCJzXCI/Yj1uZXcgXy53RWE6Yj1uZXcgXy52RWE7cmV0dXJuIFBFYVthXT1ifSxJamE9e30sUEVhPXt9LEVqYT17fSxPRWE9ZnVuY3Rpb24oKXt9LHpqYT1mdW5jdGlvbigpe307dmFyIHVsYTtfLlFFYT17bmFtZTpcImFzeW5jXCJ9O18uUkVhPXtuYW1lOlwiTEhcIn07dWxhPXtuYW1lOlwiaHNcIn07Xy5TRWE9e25hbWU6XCJzY3JvbGxcIn07T0VhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1jLmtleTtkLnN0YXJ0c1dpdGgoXy5SRWEubmFtZStcIjs7XCIpfHxhIT09ZEVhJiZfLnhqYShhLGIsZCxjLnZhbHVlKX07dmFyIFRFYSxXRWE7VEVhPSEoIWdvb2dsZS5qbHx8IWdvb2dsZS5qbC5kdyk7Xy5VRWE9ISghZ29vZ2xlLmpsfHwhZ29vZ2xlLmpsLnZzKTtfLlZFYT0hKCFnb29nbGUuamx8fCFnb29nbGUuamwuaW5lKTtXRWE9ISghZ29vZ2xlLmpsfHwhZ29vZ2xlLmpsLnVibSk7Xy5TamE9VEVhP18udmQoKTpudWxsO3ZhciBaRWEsYUZhLGJGYSxjRmE7Xy5YRWE9bmV3IFNldChcImFhc2IgYWQgYWRzYWZlIGFkdGVzdCBhZHRlc3QtdXNlcmFnZW50IGFtcCBhbXBjY3QgYW1waWR4IGFtcHJ1IGFtcHMgYXBwZW50IGFycXJjZCBhc19hdXRob3IgYXNfZHJyYiBhc19kdCBhc19lcHEgYXNfZXEgYXNfZmlsZXR5cGUgYXNfZnQgYXNfbWF4ZCBhc19tYXhtIGFzX21pbmQgYXNfbWlubSBhc19uaGkgYXNfbmxvIGFzX25sb2MgYXNfbnNyYyBhc19vY2N0IGFzX29xIGFzX3EgYXNfcWRyIGFzX3JpZ2h0cyBhc19zY29yaW5nIGFzX3NpdGVzZWFyY2ggYXNfc3QgYXNpZCBhc2lmdCBhdHAgYXV0aHVzZXIgYXZ4IGJtcCBicmV0IGJzaG0gYnNob3BlIGJzcCBic3EgYzJjb2ZmIGNhcGFiaWxpdGllcyBjY3Rfb3B0b3V0IGNjdXJsIGNkcyBjZiBjZnNxcyBjaGFubmVsIGNoaXBzIGNocnEgY2xpZSBjbXBzcl9pbWd1cmwgY21wc3JfbmFtZSBjbnAgY29tcGxldGUgY29udm9fZnByX2VzYyBjb3JwdXMgY3B1cmwgY3IgY3MgY3N1aSBjc3VpbyBjc3VpciBjdGIgZGF0YV9wdXNoX2Vwb2NoIGRjbnRpZCBkY3IgZGRsIGRlYiBkZWJ0aW1lIGRlcGlkIGRvY2lkIGRvbWFpbnMgZHBsIGR0aHAgZHV1bCBlIGVldWkgZWxyYyBlc3JjaCBldmFsX2lkIGV4YW1fc2VsIGV4YW1fdGFiX3NlbCBleGFtX3RpZXJfaWQgZXhhbV92aWRfY2F0IGV4cCBleHBfdWlkIGV4cGZsYWdzIGV4cGlkIGV4cGlkX2MgZXhwbGFpbiBleHBuZCBleHByb2xsb3V0cyBmYWtlYWRzIGZieCBmYnhzdCBmYyBmY3YgZmlsdGVyIGZpciBmbGF2IGZsYnIgZmxsIGZyY253IGZyb3plbl9jbG9jayBmc2hwIGZzcG4gZnNyIGZ6IGdhcmMgZ2JwdiBnaHViIGdpYiBnbCBnbHNsZiBncGMgZ3Nfc3NwIGdzYXMgZ3NjIGdzdGsgaGdpIGhsIGhsdnRzIGhvc3QgaG90ZWxfZGF0ZXMgaG90ZWxfZHMgaG90ZWxfbHF0a24gaG90ZWxfb2NjdXBhbmN5IGhvdHN3YXBzIGhwY3MgaHEgaHRmIGh0aW4gaHRwdCBodHMgaHRzc25zIGh0c3QgaWFyIGlicCBpY3R4IGlndSBpbWdjb2xvciBpbWdpbCBpbWdyZWZ1cmwgaW1nc3ogaW1ndHlwZSBpbWd1cmwgaW1nd28gaW5sYW5nIGludGVyZXN0cyBpc19zaG9wcGluZ19lbnRpdHkgaXNjIGl4IGpiciBqZnIgamxzZyBqcnQganNtb2RlIGpzcGVwdCBqc3B0IGpzdGkga2dtaWQga2dzIGtwdGFiIGxhc3RfcWlkIGxjaWYgbGlkIGxpdGUgbGxwYmIgbGxwZ2FiZSBsbHBsb2MgbG5zX2VkdV9sbG0gbG5zaWQgbG51IGxwaXMgbHBzaWQgbHFpIGxyIGxyZnNpZCBsc2EgbHNlc3Npb25pZCBsc2YgbHNpc3IgbHNzcHAgbHN0aHdmaSBsc3RvZGxmaSBsc3RzMmIgbHN0czJjIGxzdHNkIGx0a24gbHR5cGUgbHVhY2sgbHVkb2NpZCBseGNhciBtYWN0eCBtYWRzZSBtYXNmYyBtYXQgbWNfYWN0aW9uIG1jX3FpZCBtY2kgbWNwIG1jcSBtZXJnZWxhYmVsIG1ldGEgbWd0IG1pZCBtbHJpZCBtbHJvIG1scm9zIG1tb3JxIG1tc2MgbW1zbSBtbXNvIG1vZHMgbXJjIG1ycSBtcnIgbmVhciBuZXd3aW5kb3cgbmZwciBuaHIgbmlyZiBub19zd19jciBub3JkIG5wcyBudW0gb2cgb2dkZWIgb2hsIG9pIG9sbCBvcGkgb3B0YXF1YSBvcHRkIG9wdGkgb3B0cSBvcHRzIG9wdHQgb3JjbCBvcm1jIG9ybXEgb3JwIG9ycyBvcnNjIG9zcG4gb3ogcGNtcCBwY3IgcGNzIHBkbyBwZG9pIHBoZGVzYyBwaWlzIHBsdWdpbiBwcHMgcHJkbCBwcmRzIHBybWQgcHNiIHBzZ24gcHNvYyBwc3RpY2sgcHVycyBwdmYgcHZoIHB3cyBwd3N0IHEgcWYgcWlkIHFwYWRkciBxciBxdWFudHVtIHF1ZXJ5IHJhcHQgcmNpdiByY3QgcmVhbWVuaXRpZXMgcmVkYXlzIHJlbWF4YmF0aCByZW1heGJlZCByZW1heHByaWNlIHJlbWlkIHJlbWlkcyByZW1pbmJhdGggcmVtaW5iZWQgcmVtaW5wcmljZSByZW5kciByZXFmbHQgcmVyZWN0IHJlcmVzaWRlbmNlIHJlc3RyaWN0IHJldmlldyByZmxmcSBybGRpbW0gcmxoYSBybGhhYyBybGhzYyBybGxhIHJsbGFnIHJsbGFzIHJsbXMgcmxzdCBzYWIgc2FiZiBzYWJnY2kgc2FicGYgc2FicGkgc2FicGxhY2VpZCBzYWJwbmYgc2Fidmkgc2FmZSBzYWZldWkgc2FuX29wdF9vdXRfZGF0YSBzYW5fb3B0X291dF9yZXF1ZXN0X21vZGUgc2FuX29wdF9vdXRfc2l0ZSBzYXJxIHNiaWQgc2NhX2VzdiBzY2FfdXB2IHNjaGlwcyBzY29yaW5nIHNlYXJjaCBzZWxfdGllcl9pZCBzZXJkZXNrIHNlc3Npb25pZCBzZm0sIHNoYnVkLCBzaGRlYiBzaGVtIHNobWQgc2htZHMgc2huZGwgc2hvcGJnIHNob3BycyBzaSBzaWRlYiBzaWRlc2VhcmNoIHNpZXhfcCBzaWdjdCBzaWduYyBzaWduZWRpbiBzaWdwYyBzaXRlX2ZsYXZvcmVkIHNpdGVzZWFyY2ggc2pjIHNrZXdfaG9zdCBza2lwIHNsbCBzb3JjIHNvdXJjZV9pcCBzcCBzcHZyIHNyZHMgc3JwZCBzc2Igc3NpIHNzcG4gc3NycyBzc3NjIHNzdGsgc3RhcnQgc3RkIHN0ZWZjIHN0ZWdjIHN0ZWd0IHN0ZW5zaSBzdGVudCBzdGVwdCBzdGljayBzdHIgc3RybW1pZCBzdHMgc3ViX3NlbCBzdWJjYXQgc3ViamVjdF9pZCBzdXBlcnJvb3Qgc3VybCBzeiBzemwgdGFjYyB0YmFzIHRiY3AgdGJtIHRibmlkIHRicyB0Y2kgdGZzIHRyX2QgdHJfZGVzdCB0cl9kZXN0X2xhdGxuZyB0cl9kZXN0X3EgdHJfZGVzdF9zdCB0cl9vciB0cl9vcl9sYXRsbmcgdHJfb3JfcSB0cl9vcl9zdCB0cl90IHRybmQgdHNkbyB0c3EgdHRfY2xhc3MgdHRfZGF0ZSB0dF9kZXN0aW5hdGlvbiB0dF9sY2lkIHR0X2xmaWQgdHRfb3JpZ2luIHR0X3BuciB0dF9wbnJfc3JjIHR0X3Bucl9zcmNfaWQgdHRfcXVvdGEgdHRfdG4gdHRfdHJhaW5udW1iZXIgdHRkZXhwcmVmIHR0ZHJmbXQgdHRzbSB0dHNwIHR3ZF9zdXJmYWNlIHR3ZF90b2sgdHdkX3R5cGUgdWNiY2IgdWNsaXRlIHVkZiB1ZG0gdWRzIHVpZCB1aWRlYiB1bHYgdW0gdXBhIHVzZXJhZ2VudCB1c2VyaWQgdXNnIHV0bV9jYW1wYWlnbiB1dG1fY29udGVudCB1dG1fbWVkaXVtIHV0bV9zb3VyY2UgdXRtX3Rlcm0gdXVsZCB1dWxlIHZhY2FzeW5jIHZhY2NhcmR0eXBlIHZhY2RhdGF0eXBlIHZhY2hpZXIgdmFjbG9jbWlkIHZhY3BlciB2YWN0YWIgdmdpIHZpZGNpcCB2aXMgdml0IHZzZGltIHZzaW50IHZzcmlkIHZ1aWQgd2JzayB3aWRnZXRzXCIuc3BsaXQoXCIgXCIpKTtcbl8uWUVhPW5ldyBTZXQoXCJhY3Rpb24gYWRkaCBhZmZkb20gYWdzYWJrIGFnc2FkIGFxcyBhciBiYXYgYmloIGJpdyBiciBicmQgYnMgYnZtIGNhZCBjZCBjaGFuZ2VkX2xvYyBjbGllbnQgY3AgY3QgY3RmIGN0eHMgY3R6biBkYmwgZGV2aWNlbGFuZyBkZXZsb2MgZHByIGRxIGRzIGVjaCBlaSBlbnRyeXBvaW50IGVydG4gZXNwdiBmYnMgZmhlaXQgZnAgZ2J2IGdjIGdjYyBnY3MgZ2tvX3ZpIGdsbCBnbSBnciBnc19pZCBnc19pdnMgZ3NfbCBnc19sY3AgZ3NfbHAgZ3NfbXNzIGdzX3JpIGdzX3JuIGhzIGh3IGllIGlnIGlubSBpb24gaXJjaXAgaXNuIGthcGsgbGVpIGxyYWQgbHNmdCBsdXVsIG1hcHNsIG1jbyBtY3VyIG1kYyBtcSBtc2lnIG1zdGsgbXV1bCBtdnMgbmRzcCBub2Egbm9yYyBucHNpYyBudHlwIG9lIG9xIG9zbSBvdXRwdXQgcGFkYiBwYWR0IHBieCBwZGwgcGVpIHBmIHBqZiBwbnAgcHEgcHJtZG8gcHJvZyBwc2kgcHNqIHFzZCBxc3VidHMgcmFtX21iIHJjaWQgcmVkaXIgcmVkaXJfZXNjIHJlZiByZXNudW0gcmV2aWQgcmYgcmxha3AgcmxzIHJseiBzYSBzY2xpZW50IHNjc3Igc2VydCBzZXNpbnYgc2l0ZSBzbGEgc25zIHNvdXJjZSBzb3VyY2VpZCBzcGVsbCBzcGtubGFuZyBzcWkgc3VnZXhwIHN1Z2dlc3Qgc3VndmNyIHN4c3JmIHRhYiB0Ym8gdGNoIHRlbCB0b2sgdWFjdCB2IHZlZCB3ZiB3cGhjLWFnc2Egd3JhcGlkIHhociB6eFwiLnNwbGl0KFwiIFwiKSk7XG5aRWE9bmV3IFNldChcImEgYWN0aXZldGFiIGFkc3N1ZiBhZ3NhIGFnc2F3dmFyIGFob3RlbF9kYXRlcyBhbXBfY3QgYW1wZWR1IGFtcGYgYW1waCBhbXBoLWRsZyBhbXBzaGFyZSBhcSBhcmlkIGFzc3QgYXN0aWNrIGFzeW5jIGFzeW5jc3QgYiBiYV9jZW4gYmFfbG9jIGJlbGFpciBic2h0IGJ0bkkgYnRuSyBjYXRhbG9naWQgY2F0aWQgY2l2ZmkgY2xiIGNsc3N0IGNseHN0IGNucyBjb2FzeW5jIGNvYnNzaWQgY29sb2NtaWQgY3BpIGNycyBjc28gY3RtZGxnIGQgZGRsZSBkZGx4IGRlbGF5IGRlbW9zdCBkZXN0X2JnYyBkZXN0X21pZCBkZXN0X3NyYyBkZnBhcmFtcyBkaSBkbG5yIGRubGIgZG9iYyBkb2JzIGRvYnZ1ZWkgZHQgZHVmMyBlZXNlaHNrIGVlc2hzayBlaW0gZWwgZW9iIGVwYyBlcGNpIGVwZCBlcGkgZXN2dCBmIGZhY3JjIGZjc28gZmN2aWV3IGZjdmlld29ucyBmY3ZpZXd2IGZkc3MgZmRzdCBmZXNwIGZpZCBmbHN0IGZsdCBmbmhjIGZwc3RhdGUgZnMgZnNhcHAgZnNjIGZ0IGZ2ZWQgZ2Rpc21pc3MgZ2ZlX3JkIGdwY2lkIGdyaWRsYXlvdXQgZ3dzX3JkIGggaGNvIGhlYWRsaW5lT2ZmZXJEb2NpZCBoaWRlIGhsZ3N0YXRlIGhsc2RzdGF0ZSBobXR0IGhvdGVsX2ZpbHRlciBocG9jYyBocXN1YnRzIGhzaV9hbCBoc3EgaHRpY2hpcHMgaHRpZG9jaWQgaHRpZmNoaXAgaHRpbHJhZCBodGlsdHlwZSBodGlvcmNsIGh0aW9yb3EgaHRpb3JwIGh0aW9ycyBodGlwdCBodGlxIGh0aXNjaGlwcyBodGlzb3JjIGh0aXN0IGh0aXRhYiBodGl0cm5kIGh0aXZydCBpZHggaWdjaSBpZ3NhaGMgaWdzYXMgaWdzYXNocyBpZ3NhdCBpZ3NhdXJsIGltYWdlRG9jaWQgaW1hZ2VrZXkgaW1nZGlpIGltZ3JjIGltZ3JlZyBpbWd2IGludGVudCBpcCBpcWggaXJwIGlzYSBpc20gaXN0YXRlIGl1IGl2bGJ4IGphb3MgamJzZiBqcGUganBpbWZwZmkganBwIGtmaGkga2ZpZyBrcGV2bGJ4IGtwZmItYXR0ciBrcGZiLWJrdCBrcGZiLWN0eCBrcGZiLWRvY2lkIGtwZmItZWN0eCBrcGZiLWVudGl0eWlkIGtwZmItZW50aXR5bmFtZSBrcGZiLWZ0YWcga3BmYi1mdHlwZSBrcGZiLWtwaWQga3BmYi1scGFnZSBrcGZiLWx5cmljaWQga3BmYi1waWQga3BmYi1yZWN0eCBrcGZiLXJlbnRpdHkga3BmYi1ydmFsIGtwZmItc2VjaWRzIGtwZmItc3RhZ2Uga3BmYi10YXR0ciBrcGZiLXRzb3VyY2VpZCBrcGZiLXZlIGtwZmItdnQga3B2YWxieCBsYWEgbGF0IGxiZGYgbGJsIGxjbSBsY3N0IGxmY2V4cGQgbGgtaW0gbGt0IGxuZyBsbnMgbG5zX21vZGUgbG9hcnQgbG9jYWxBbm5vdGF0ZWRPZmZlcklkIGxvY2FsT2ZmZXJTdG9yZUlkIGxvZWMgbG9oIGxvayBscGMgbHBnIGxwbGtzYyBscG1pZCBscHFhIGxwc2l2b2kgbHBzdGF0ZSBscHRsIGxyZCBscmYtZ2VjLWFydGljbGUtaWQgbHRkZmlkIGx0ZGcgbHRkbCBsdG8gbHVhYyBtYnBzdCBtZHAgbWVyY2hhbnRpZCBtZnNzIG1oYiBtaHdiIG1pZSBtbGRkIG1scCBtbHB2IG1tYyBtbm8gbXBkIG1wcCBtc2xkbGcgbmJiIG5tbGJ4IG5vdGlmcGwgbm90aWZwbGRlYiBucCBvZnUgb20gb3Nob3Agb3Nob3Bwcm9kdWN0IG9zcnBzYiBvc3Mgb3NzIG9zdiBvc3ZlIG9zdm4gb3ZlZCBwIHBiIHBjbWlkIHBkbGcgcGdzaXZvaSBwaSBwaWUgcGl1IHBpdiBwamQgcGsgcGtmcyBwbGFtIHBsYW5zcmNxIHBsYW5zcmN1IHBsaSBwbHNtIHBtZCBwcmlkIHByb2R1Y3RpZCBwc2NpZCBwc2QgcHVwZGxnIHB1cHJsYnggcHZRdWVyeSBwdmZpbHRlciBwdm8gcHZvIHB2cyBwdnMgcHZ0YyBwdnR5cGUgcWlkdSBxbSBxb3AgcmJzcCByZHMgcmVmaWxoZSByZWZxIHJlZnYgcmVocCByZW1pZHN0IHJldGlsaGUgcmV2aWV3X2lkIHJpIHJpZCByaWkgcml2aSByaXZpYyByaXZpcHYgcml2emQgcmxkb2MgcmxmaSBybGZsIHJsaGQgcmxocyBybGltbSBybG1mIHJsbWxlbCBybHRicyBybHZwIHJwZCBycmlkIHJzbnIgcnNwaSByc3JzIHNhYmVjIHNhYnB0YyBzYWJzIHNhYnNkIHNiZmJ1IHNibyBzY2hpZCBzY3JsIHNjc28gc2RsZyBzZWFyY2hfcGx1c19vbmUgc2ZsdCBzZmx0bGYgc2ZsdG1mIHNnbGIgc2dybyBzaCBzaGQgc2hmaWwgc2hsb2Mgc2h0dnMgc2h3Y3NsYiBzaSBzaWUgc2lwciBzaXYgc2xvIHNtaWRzIHNtciBzbXJxIHNtd2llIHNuZyBzbnNiIHNvcmkgc3BhIHNwZCBzcGYgc3BzZCBzcHVkIHNyYmxiIHNzIHNzYmYgc3NsX2RiZyBzdCBzdGkgc3RvcmVtaWQgc3ZjaCB0IHRhYnN0IHRibmggdGJuaWQgdGJudyB0YnN0YXRlIHRjZnMgdGN0eCB0ZHVkcyB0ZHVydCB0ZHVzcCB0aSB0b3BpYyB0cGQgdHBmZW4gdHBmayB0cGZtIHRyZXggdHJpZnAgdHJpcF9pZCB0cnJlZiB0c3AgdHRkY3MgdHRsY2lkIHR0bGZpZCB0dHMgdHR0biB0dyB0d2QgdHdtbGJ4IHVnYyB1Z2NxYWxiIHVtdnJlZyB1bXZ0ZmsgdW12dmVyIHZjaCB2ZXQgdmZpZCB2aGlkIHZpZXcgdmlld2VyU3RhdGUgdmxkIHZuc25iYiB2c3IgdnNzaWQgdnRvIHZ0c3QgdnVhbnIgdyB3Z3ZzIHduc3RhdGUgd3B0YWIgd3RpIHd2cyB3eGlyYyB3eHBkIHhnYWNpZCB4eHJpXCIuc3BsaXQoXCIgXCIpKTtcbl8uJEVhPW5ldyBTZXQoXCJhcnFyY2QgYXRwIGF1dGh1c2VyIGJzaG9wZSBjZHMgY2YgY2hhbm5lbCBjcyBjc3VpIGRhdGFfcHVzaF9lcG9jaCBkY3IgZGViIGRlYnRpbWUgZHRocCBlIGVscmMgZXNyY2ggZXZhbF9pZCBleHAgZXhwX3VpZCBleHBmbGFncyBleHBpZCBleHBsYWluIGV4cHJvbGxvdXRzIGZha2VhZHMgZmVzcCBmcmVuZGZpbHRlciBmcm96ZW5fY2xvY2sgZ2FyYyBnbCBnc2FzIGdzYyBobCBob3N0IGhvdGVsX2RhdGVzIGhvdGVsX2RzIGhvdHN3YXBzIGh0cyBpc2MganNtb2RlIGxuc19lZHVfbGxtIGxyIGxzZiBsc2Z0IGxzaXNyIGx0a24gbWFjdHggbWFzZmMgbWF0IG1jcCBtZXJnZWxhYmVsIG1ndCBtbHAgbXJjIG9nZGViIG9wdGkgb3B0cSBvcHRzIG9wdHQgcGNzIHBpaXMgcGx1Z2luIHB2ZiBwd3MgcmNpdiBybHN0IHJseiBzYWZlIHNjYV9lc3Ygc2NhX3VwdiBzZXNzaW9uaWQgc2hvcHJzIHNpZGVzZWFyY2ggc2tld19ob3N0IHNraXAgc291cmNlX2lwIHNzbF9kYmcgc3QgdGJjcCB0YnMgdGNmcyB0c2RvIHVkZiB1ZG0gdWlkZWIgdXNlcmFnZW50IHV1bGQgdXVsZSB2IHZpdCB2c3JpZCB2dWlkXCIuc3BsaXQoXCIgXCIpKTtcbmFGYT1uZXcgU2V0KFtdKTtiRmE9bmV3IFNldChbXCJhc19xXCIsXCJkcVwiLFwib3FcIixcInFcIixcInFwYWRkclwiXSk7Y0ZhPW5ldyBTZXQoW1wiYW1wY2N0XCIsXCJjbGllbnRcIixcImRjclwiLFwiaHNcIixcInZcIl0pO18uZEZhPW5ldyBTZXQoW10uY29uY2F0KF8ubWQobmV3IFNldChcImRhdGFfcHVzaF9lcG9jaCBkZWIgZHV1bCBlIGVzcHYgZXNyY2ggZXhwIGV4cF91aWQgZXhwZmxhZ3MgZXhwaWQgZXhwaWRfYyBleHByb2xsb3V0cyBmZXNwIGZyb3plbl9jbG9jayBob3N0IGhvdHN3YXBzIGlvbiBpeCBqc21vZGUgbW9kcyBub3NzbCBudXVsIG9nZGViIHNlc3Npb25pZCB1dWxkXCIuc3BsaXQoXCIgXCIpKSksXy5tZChjRmEpKSk7Xy5lRmE9bmV3IFNldChcImFkIGFkZGggYXNfc3QgYXR2IGF1dGh1c2VyIGJpaCBiaXcgY2RzIGNvbXBsZXRlIGNzIGN0eHMgZGNyIGRuciBlIGVzcmNoIGVzdCBleHAgZXhwZWN0IGV4cGZsYWdzIGV4cGlkIGV4cGlkX2MgZXhwcm9sbG91dHMgZmVzcCBmaHAgZmxhdiBmcmNudyBmcm96ZW5fY2xvY2sgZnNyYyBnYW5jbGsgZ2FucHViIGdidiBnYyBnY3MgZ2wgZ2xsIGdscCBnbSBncGMgZ3IgZ3JwaW5nIGggaGlkZSBobCBob3N0IGhvdGVsX2RhdGVzIGhvdGVsX2RzIGhvdGVsX29jY3VwYW5jeSBob3Rzd2FwcyBocSBodHMgaWd1IGltZ2FyIGltZ2MgaW1nY29sb3IgaW1ncmVmdXJsIGltZ3NnbiBpbWdzeiBpbWd0YnMgaW1ndHlwZSBpbWd1cmwganNtb2RlIGthaW9zZW1iZWQgbGNmIGxkc3QgbGl0ZSBsaXRldWkgbHNmdCBtYWN0eCBtYXNmYyBtYm9vc3QgbWVyZ2VsYWJlbCBtZ3QgbW9kcyBtb25rZXlzIG1zY2F0IG12b3V0IG5kc3AgbmVhciBuZnByIG5pcmYgbm9oa3Igbm9yZCBub3N0ZW0gb2hsIG9wdEwgb3B0YSBvcHRhcXVhIG9wdGQgb3B0ZSBvcHRnIG9wdGkgb3B0cSBvcHRyIG9wdHMgb3B0dCBwaGwgcGx1Z2luIHByYnhwbHRmbSBwcm1kbyBwc2IgcHQgcHdzIHFkYiBxZiBxciBxdWFudHVtIHJjdSByaWNoc25pcHBldCBybGxhIHJscyBybHogc2FiIHNoYiBzaWRlc2VhcmNoIHNpZyBzaXRlX2ZsYXZvcmVkIHNrZXdfaG9zdCBza2lwIHNreSBzb2Igc291cmNlX2lwIHN0X3VzZyBzdGljayBzdXBlcnJvb3Qgc3dtIHN6IHRibSB0Y2ZzIHRoYSB0bm0gdHNkbyB0c2wgdHNtIHVjYmNiIHVjbGl0ZSB1ZGYgdWRtIHVpZGViIHVyIHV1bGQgdXhpZCB2IHZpdCB3IHdtbFwiLnNwbGl0KFwiIFwiKSk7Xy5mRmE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYkZhLmhhcyhiKT9MQ2EuV2MoYSk6YX07Xy5nRmE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYkZhLmhhcyhiKT9MQ2Eub2EoYSk6YX07dmFyIGhGYT1mdW5jdGlvbigpe307aEZhLnByb3RvdHlwZS5XYz1mdW5jdGlvbihhLGIpe3JldHVybiBfLmZGYShfLktDYS5XYyhhKSxiKX07aEZhLnByb3RvdHlwZS5vYT1mdW5jdGlvbihhLGIpe3RyeXtyZXR1cm4gXy5LQ2Eub2EoXy5nRmEoYSxiKSl9Y2F0Y2goYyl7cmV0dXJuIF8uaWQoRXJyb3IoXCJEYmBcIitjLm1lc3NhZ2UpLHt4Zzp7azpiLHY6YX19KSxcIlwifX07Xy5pRmE9bmV3IGhGYTt2YXIgakZhLEdsYSxrRmEsbUZhLHBGYSxvRmEsbkZhLHFGYTtqRmE9ZnVuY3Rpb24oYSl7YT8odGhpcy5wYXJhbXM9bmV3IE1hcChbXS5jb25jYXQoXy5tZChhLnBhcmFtcykpKSx0aGlzLm9hPVtdLmNvbmNhdChfLm1kKGEub2EpKSx0aGlzLnBhdGg9YS5wYXRoKToodGhpcy5wYXJhbXM9bmV3IE1hcCx0aGlzLm9hPVtdLHRoaXMucGF0aD1cIlwiKX07R2xhPWZ1bmN0aW9uKGEpe3JldHVybiBfLlhFYS5oYXMoYSk/MDpfLllFYS5oYXMoYSk/MTpaRWEuaGFzKGEpPzI6M307a0ZhPWZ1bmN0aW9uKGEpe3N3aXRjaChHbGEoYSkpe2Nhc2UgMDpjYXNlIDE6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19O18uS2xhPWZ1bmN0aW9uKGEpe3JldHVybiBfLmxGYShhLFtdLmNvbmNhdChfLm1kKF8uWUVhKSkpfTtcbl8uUGxhPWZ1bmN0aW9uKGEsYil7dmFyIGM9bUZhKF8uTWthKGEpfHxcIlwiKSxkPW1GYShfLldkKDYsYSl8fFwiXCIpO2lmKGMub2EubGVuZ3RoIT09MCliPWM7ZWxzZXtjPW5GYShjKTt2YXIgZT17fSxmO2ZvcihmIGluIGMpe3ZhciBnPWNbZl07ZyE9PW51bGwmJihlW2ZdPV8uaUZhLm9hKGcsZikpfWI9Xy5EbGEoZCxlLGIpfWIucGF0aD1fLldkKDUsYSl8fFwiXCI7cmV0dXJue3N0YXRlOmIsYmFzZTphLnJlcGxhY2UoLyMuKiQvLFwiXCIpfX07XG5tRmE9ZnVuY3Rpb24oYSl7dmFyIGI9Yj09PXZvaWQgMD9fLlFlKCkubG9jYXRpb24ucGF0aG5hbWU6Yjt2YXIgYz1uZXcgakZhO2MucGF0aD1iO2lmKCFhKXJldHVybiBjO2E9bmV3IF8uWm0oYSxfLmlGYSk7YT1fLlBhKGEpO2ZvcihiPWEubmV4dCgpOyFiLmRvbmU7Yj1hLm5leHQoKSl7dmFyIGQ9Xy5QYShiLnZhbHVlKTtiPWQubmV4dCgpLnZhbHVlO2Q9ZC5uZXh0KCkudmFsdWU7R2xhKGIpIT09MyYmKGtGYShiKSYmKGMucGFyYW1zLmhhcyhiKXx8Yy5vYS5wdXNoKGIpKSxjLnBhcmFtcy5zZXQoYixkKSl9cmV0dXJuIGN9O18uJGQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5wYXJhbXMuZ2V0KGIpfHxcIlwifTtcbl8uSmxhPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBfLlptKFwiXCIsXy5pRmEpLGM9bmV3IFNldChbXS5jb25jYXQoXy5tZChhLm9hKSxfLm1kKGEucGFyYW1zLmtleXMoKSkpKTtjPV8uUGEoYyk7Zm9yKHZhciBkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSlkPWQudmFsdWUsYS5wYXJhbXMuaGFzKGQpJiZrRmEoZCkmJmIuc2V0KGQsYS5wYXJhbXMuZ2V0KGQpfHxcIlwiKTtyZXR1cm4gYi50b1N0cmluZygpfTtfLk5sYT1mdW5jdGlvbihhKXt2YXIgYj1bXS5jb25jYXQoXy5tZChhLnBhcmFtcy5rZXlzKCkpKTtiLnNvcnQoKTt2YXIgYz1uZXcgXy5abShcIlwiLF8uaUZhKTtiPV8uUGEoYik7Zm9yKHZhciBkPWIubmV4dCgpOyFkLmRvbmU7ZD1iLm5leHQoKSlkPWQudmFsdWUsa0ZhKGQpfHxjLnNldChkLGEucGFyYW1zLmdldChkKXx8XCJcIik7cmV0dXJuIGMudG9TdHJpbmcoKX07XG5fLkRsYT1mdW5jdGlvbihhLGIsYyl7YT1uZXcgakZhKGEpO2M9Yz9mdW5jdGlvbigpe3JldHVybiExfTpmdW5jdGlvbihlKXtyZXR1cm4hZX07Zm9yKHZhciBkIGluIGIpa0ZhKGQpJiYoYyhiW2RdKXx8YS5wYXJhbXMuaGFzKGQpP2MoYltkXSkmJl8uemEoYS5vYSxkKTphLm9hLnB1c2goZCkpLGMoYltkXSk/YS5wYXJhbXMuZGVsZXRlKGQpOmEucGFyYW1zLnNldChkLFN0cmluZyhiW2RdKSk7cmV0dXJuIGF9O18ubEZhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uRGxhKGEsXy5aYihBcnJheS5pc0FycmF5KGIpP18ua2hhKGIpOmIsZnVuY3Rpb24oKXtyZXR1cm5cIlwifSkpfTtwRmE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uWmIob0ZhKGEpLGZ1bmN0aW9uKGIsYyl7cmV0dXJuIF8uaUZhLldjKGIsYyl9KX07XG5vRmE9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPXt9LGM9Xy5QYShhLnBhcmFtcy5rZXlzKCkpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKWQ9ZC52YWx1ZSxrRmEoZCkmJihiW2RdPWEucGFyYW1zLmdldChkKXx8XCJcIik7cmV0dXJuIGJ9O25GYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5aYihxRmEoYSksZnVuY3Rpb24oYixjKXtyZXR1cm4gXy5pRmEuV2MoYixjKX0pfTtxRmE9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPXt9LGM9Xy5QYShhLnBhcmFtcy5rZXlzKCkpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKWQ9ZC52YWx1ZSxHbGEoZCk9PT0yJiYoYltkXT1hLnBhcmFtcy5nZXQoZCl8fFwiXCIpO3JldHVybiBifTtqRmEucHJvdG90eXBlLmdldFBhcmFtcz1mdW5jdGlvbigpe2Zvcih2YXIgYT17fSxiPV8uUGEodGhpcy5wYXJhbXMua2V5cygpKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSljPWMudmFsdWUsYVtjXT10aGlzLnBhcmFtcy5nZXQoYyl8fFwiXCI7cmV0dXJuIGF9O1xuakZhLnByb3RvdHlwZS5nZXRQYXRoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGF0aH07akZhLnByb3RvdHlwZS5lcXVhbHM9ZnVuY3Rpb24oYSl7aWYodGhpcy5wYXJhbXMuc2l6ZSE9PWEucGFyYW1zLnNpemUpcmV0dXJuITE7Zm9yKHZhciBiPV8uUGEodGhpcy5wYXJhbXMua2V5cygpKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSlpZihjPWMudmFsdWUsIWFGYS5oYXMoYykmJnRoaXMucGFyYW1zLmdldChjKSE9PWEucGFyYW1zLmdldChjKSlyZXR1cm4hMTtyZXR1cm4gdGhpcy5wYXRoPT09YS5wYXRofHxfLnJGYShhLnBhdGgpJiZfLnJGYSh0aGlzLnBhdGgpfTtfLkxsYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLmZoYShwRmEoYSkscEZhKGIpKSYmKGEucGF0aD09PWIucGF0aHx8Xy5yRmEoYi5wYXRoKSYmXy5yRmEoYS5wYXRoKSl9O18uckZhPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09XCIvXCJ8fGE9PT1cIi9zZWFyY2hcInx8YT09PVwiL3dlYmhwXCJ9O2VoPWVofHx7fTtfLnNGYT1mdW5jdGlvbigpe18uQ2suY2FsbCh0aGlzKX07Xy5taChfLnNGYSxfLkNrKTtfLnNGYS5wcm90b3R5cGUuaW5pdGlhbGl6ZT1mdW5jdGlvbigpe307dmFyIHRGYT1mdW5jdGlvbihhLGIpe3RoaXMub2E9YTt0aGlzLkFhPWJ9O3RGYS5wcm90b3R5cGUuZXhlY3V0ZT1mdW5jdGlvbihhKXt0aGlzLm9hJiYodGhpcy5vYS5jYWxsKHRoaXMuQWF8fG51bGwsYSksdGhpcy5vYT10aGlzLkFhPW51bGwpfTt0RmEucHJvdG90eXBlLmFib3J0PWZ1bmN0aW9uKCl7dGhpcy5BYT10aGlzLm9hPW51bGx9O3ZhciB4bj1mdW5jdGlvbihhLGIpe18uQ2suY2FsbCh0aGlzKTt0aGlzLm9hPWE7dGhpcy5PYT1iO3RoaXMuQWE9W107dGhpcy5DYT1bXTt0aGlzLkdhPVtdfTtfLm1oKHhuLF8uQ2spO3huLnByb3RvdHlwZS5MYT1fLnNGYTt4bi5wcm90b3R5cGUuQmE9bnVsbDt4bi5wcm90b3R5cGUuZ2V0SWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5PYX07dmFyIHZGYT1mdW5jdGlvbihhLGIpe3VGYShhLkNhLGIpfSx1RmE9ZnVuY3Rpb24oYSxiLGMpe2EucHVzaChuZXcgdEZhKGIsYykpfTt4bi5wcm90b3R5cGUuaXNMb2FkZWQ9ZnVuY3Rpb24oKXtyZXR1cm4hIXRoaXMuQmF9O3huLnByb3RvdHlwZS5vbkxvYWQ9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IHRoaXMuTGE7Yi5pbml0aWFsaXplKGEoKSk7dGhpcy5CYT1iO2I9KGI9ISF3RmEodGhpcy5HYSxhKCkpKXx8ISF3RmEodGhpcy5BYSxhKCkpO2J8fCh0aGlzLkNhLmxlbmd0aD0wKTtyZXR1cm4gYn07XG54bi5wcm90b3R5cGUub25FcnJvcj1mdW5jdGlvbihhKXsoYT13RmEodGhpcy5DYSxhKSkmJl8uY2EoRXJyb3IoXCJGYmBcIithKSk7dGhpcy5HYS5sZW5ndGg9MDt0aGlzLkFhLmxlbmd0aD0wfTt2YXIgd0ZhPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPVtdLGQ9MDtkPGEubGVuZ3RoO2QrKyl0cnl7YVtkXS5leGVjdXRlKGIpfWNhdGNoKGUpe18uY2EoZSksYy5wdXNoKGUpfWEubGVuZ3RoPTA7cmV0dXJuIGMubGVuZ3RoP2M6bnVsbH07eG4ucHJvdG90eXBlLlFjPWZ1bmN0aW9uKCl7eG4uT2QuUWMuY2FsbCh0aGlzKTtfLlhiKHRoaXMuQmEpfTt2YXIgeEZhPWZ1bmN0aW9uKCl7dGhpcy5VYT10aGlzLm9hPW51bGx9O18ubT14RmEucHJvdG90eXBlO18ubS5Ma2M9ZnVuY3Rpb24oKXt9O18ubS5yZWI9ZnVuY3Rpb24oKXt9O18ubS5tbWI9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcihcIkdiXCIpO307Xy5tLk9FYj1mdW5jdGlvbigpe3Rocm93IEVycm9yKFwiSGJcIik7fTtfLm0uRTRiPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub2F9O18ubS5OR2I9ZnVuY3Rpb24oYSl7dGhpcy5vYT1hfTtfLm0uaXNBY3RpdmU9ZnVuY3Rpb24oKXtyZXR1cm4hMX07Xy5tLlIkYj1mdW5jdGlvbigpe3JldHVybiExfTtfLm0ud2FhPWZ1bmN0aW9uKCl7fTtfLm0uUGtiPWZ1bmN0aW9uKCl7fTtfLm0uSTJiPWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoXCJJYlwiKTt9O3ZhciBVamE7Xy54ZD1udWxsO18uV2phPW51bGw7VWphPVtdO3ZhciB5RmE9ZnVuY3Rpb24oYSxiKXt0aGlzLnR5cGU9YTt0aGlzLnN0YXR1cz1ifTt5RmEucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHpGYSh0aGlzKStcIiAoXCIrKHRoaXMuc3RhdHVzIT12b2lkIDA/dGhpcy5zdGF0dXM6XCI/XCIpK1wiKVwifTt2YXIgekZhPWZ1bmN0aW9uKGEpe3N3aXRjaChhLnR5cGUpe2Nhc2UgeUZhLlR5cGUuWVViOnJldHVyblwiVW5hdXRob3JpemVkXCI7Y2FzZSB5RmEuVHlwZS5TTWI6cmV0dXJuXCJDb25zZWN1dGl2ZSBsb2FkIGZhaWx1cmVzXCI7Y2FzZSB5RmEuVHlwZS5USU1FT1VUOnJldHVyblwiVGltZWQgb3V0XCI7Y2FzZSB5RmEuVHlwZS5oVWI6cmV0dXJuXCJPdXQgb2YgZGF0ZSBtb2R1bGUgaWRcIjtjYXNlIHlGYS5UeXBlLkloYjpyZXR1cm5cIkluaXQgZXJyb3JcIjtkZWZhdWx0OnJldHVyblwiVW5rbm93biBmYWlsdXJlIHR5cGUgXCIrYS50eXBlfX07ZWgud1g9eUZhO2VoLndYLlR5cGU9e1lVYjowLFNNYjoxLFRJTUVPVVQ6MixoVWI6MyxJaGI6NH07dmFyIHluPWZ1bmN0aW9uKCl7eEZhLmNhbGwodGhpcyk7dGhpcy5SYT1udWxsO3RoaXMuQWE9e307dGhpcy5MYT1bXTt0aGlzLk9hPVtdO3RoaXMuQmI9W107dGhpcy5CYT1bXTt0aGlzLlFhPVtdO3RoaXMuR2E9e307dGhpcy5HYj17fTt0aGlzLkNhPXRoaXMuaGI9bmV3IHhuKFtdLFwiXCIpO3RoaXMuUmI9bnVsbDt0aGlzLndiPW5ldyBfLkhkO3RoaXMuT2c9bnVsbDt0aGlzLk9iPSExO3RoaXMua2I9MDt0aGlzLldnPXRoaXMucWM9dGhpcy5ZYj0hMX0sSEZhLFlqYTtfLm1oKHluLHhGYSk7dmFyIEFGYT1mdW5jdGlvbihhLGIpe18uYWEuY2FsbCh0aGlzLFwiRXJyb3IgbG9hZGluZyBcIithK1wiOiBcIitiKX07Xy5taChBRmEsXy5hYSk7Xy5tPXluLnByb3RvdHlwZTtfLm0uTGtjPWZ1bmN0aW9uKGEpe3RoaXMuT2I9YX07XG5fLm0ucmViPWZ1bmN0aW9uKGEsYil7aWYoISh0aGlzIGluc3RhbmNlb2YgeW4pKXRoaXMucmViKGEsYik7ZWxzZSBpZih0eXBlb2YgYT09PVwic3RyaW5nXCIpe2lmKGEuc3RhcnRzV2l0aChcImQkXCIpKXthPWEuc3Vic3RyaW5nKDIpO2Zvcih2YXIgYz1bXSxkPTAsZT1hLmluZGV4T2YoXCIvXCIpLGY9MCxnPSExLGg9MDs7KXt2YXIgaz1nP2Euc3Vic3RyaW5nKGYpOmEuc3Vic3RyaW5nKGYsZSk7aWYoay5sZW5ndGg9PT0wKWQrKyxmPVwic3lcIitkLnRvU3RyaW5nKDM2KSxrPVtdO2Vsc2V7dmFyIGw9ay5pbmRleE9mKFwiOlwiKTtpZihsPDApZj1rLGs9W107ZWxzZSBpZihsPT09ay5sZW5ndGgtMSlmPWsuc3Vic3RyaW5nKDAsbCksaz1BcnJheShjW2gtMV0pO2Vsc2V7Zj1rLnN1YnN0cmluZygwLGwpO2s9ay5zdWJzdHJpbmcobCsxKS5zcGxpdChcIixcIik7bD1oO2Zvcih2YXIgbj0wO248ay5sZW5ndGg7bisrKWwtPWtbbl0ubGVuZ3RoPT09MD8xOk51bWJlcihrW25dKSxrW25dPWNbbF19bD0wO2lmKGYubGVuZ3RoPT09XG4wKWw9MTtlbHNlIGlmKGYuY2hhckF0KDApPT09XCIrXCJ8fGYuY2hhckF0KDApPT09XCItXCIpbD1OdW1iZXIoZik7bCE9PTAmJihkKz1sLGY9XCJzeVwiK2QudG9TdHJpbmcoMzYpKX1jLnB1c2goZik7QkZhKHRoaXMsZixrKTtpZihnKWJyZWFrO2Y9ZSsxO2U9YS5pbmRleE9mKFwiL1wiLGYpO2U9PT0tMSYmKGc9ITApO2grK310aGlzLlJhPWN9ZWxzZXthPWEuc3BsaXQoXCIvXCIpO2M9W107Zm9yKGQ9MDtkPGEubGVuZ3RoO2QrKyl7aD1hW2RdLnNwbGl0KFwiOlwiKTtlPWhbMF07Zz1bXTtpZihoWzFdKWZvcihnPWhbMV0uc3BsaXQoXCIsXCIpLGg9MDtoPGcubGVuZ3RoO2grKylnW2hdPWNbcGFyc2VJbnQoZ1toXSwzNildO2MucHVzaChlKTtCRmEodGhpcyxlLGcpfXRoaXMuUmE9Y31iJiZiLmxlbmd0aD8oXy5DYSh0aGlzLkxhLGIpLHRoaXMuUmI9Xy5wYShiKSk6dGhpcy53Yi5vYXx8dGhpcy53Yi5jYWxsYmFjaygpO09iamVjdC5mcmVlemUodGhpcy5SYSk7Q0ZhKHRoaXMpfX07Xy5tLkZOPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLkFhW2FdfTtcbl8ubS5tbWI9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLkZOKGEpO2MmJmMuaXNMb2FkZWQoKT90aGlzLmxvYWQoYik6KHRoaXMuR2FbYV18fCh0aGlzLkdhW2FdPXt9KSx0aGlzLkdhW2FdW2JdPSEwKX07Xy5tLk9FYj1mdW5jdGlvbihhLGIpe2lmKHRoaXMuR2FbYV0pe2RlbGV0ZSB0aGlzLkdhW2FdW2JdO2Zvcih2YXIgYyBpbiB0aGlzLkdhW2FdKXJldHVybjtkZWxldGUgdGhpcy5HYVthXX19O18ubS5OR2I9ZnVuY3Rpb24oYSl7eW4uT2QuTkdiLmNhbGwodGhpcyxhKTtDRmEodGhpcyl9O18ubS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkxhLmxlbmd0aD4wfTtfLm0uUiRiPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUWEubGVuZ3RoPjB9O1xudmFyIERGYT1mdW5jdGlvbihhKXt2YXIgYj1hLlliLGM9YS5pc0FjdGl2ZSgpO2MhPWImJihhLm42YShjP1wiYWN0aXZlXCI6XCJpZGxlXCIpLGEuWWI9Yyk7Yj1hLlIkYigpO2IhPWEucWMmJihhLm42YShiP1widXNlckFjdGl2ZVwiOlwidXNlcklkbGVcIiksYS5xYz1iKX0sQkZhPWZ1bmN0aW9uKGEsYixjKXthLkFhW2JdPyhhPWEuQWFbYl0ub2EsYSE9YyYmYS5zcGxpY2UuYXBwbHkoYSxbMCxhLmxlbmd0aF0uY29uY2F0KF8ubWQoYykpKSk6YS5BYVtiXT1uZXcgeG4oYyxiKX0sRG9hPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1bXTtfLlZhYShiLGQpO2I9W107Zm9yKHZhciBlPXt9LGY9MDtmPGQubGVuZ3RoO2YrKyl7dmFyIGc9ZFtmXSxoPWEuRk4oZyk7aWYoIWgpdGhyb3cgRXJyb3IoXCJKYmBcIitnKTt2YXIgaz1uZXcgXy5IZDtlW2ddPWs7aC5pc0xvYWRlZCgpP2suY2FsbGJhY2soYS5vYSk6KEVGYShhLGcsaCwhIWMsayksRkZhKGEsZyl8fGIucHVzaChnKSl9Yi5sZW5ndGg+MCYmR0ZhKGEsYik7XG5yZXR1cm4gZX0sRUZhPWZ1bmN0aW9uKGEsYixjLGQsZSl7dUZhKGMuQWEsZS5jYWxsYmFjayxlKTt2RmEoYyxmdW5jdGlvbihmKXtlLlJEKG5ldyBBRmEoYixmKSl9KTtGRmEoYSxiKT9kJiYoSEZhKGEsYiksREZhKGEpKTpkJiZIRmEoYSxiKX0sR0ZhPWZ1bmN0aW9uKGEsYil7YS5MYS5sZW5ndGg9PT0wP2EuU2IoYik6KGEuQmEucHVzaChiKSxERmEoYSkpfTtcbnluLnByb3RvdHlwZS5TYj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcztifHwodGhpcy5rYj0wKTt2YXIgZT1JRmEodGhpcyxhKTt0aGlzLkxhPWU7dGhpcy5PYT10aGlzLk9iP2E6Xy5BYShlKTtERmEodGhpcyk7aWYoZS5sZW5ndGghPT0wKXt0aGlzLkJiLnB1c2guYXBwbHkodGhpcy5CYixlKTtpZihPYmplY3Qua2V5cyh0aGlzLkdhKS5sZW5ndGg+MCYmIXRoaXMuVWEudmQpdGhyb3cgRXJyb3IoXCJLYlwiKTthPSgwLF8uaGgpKHRoaXMuVWEuRGMsdGhpcy5VYSxfLkFhKGUpLHRoaXMuQWEse3pkYTp0aGlzLkdhLEd4ZTohIWMsb25FcnJvcjpmdW5jdGlvbihmKXt2YXIgZz1kLk9hO2Y9ZiE9bnVsbD9mOnZvaWQgMDtkLmtiKys7ZC5PYT1nO2UuZm9yRWFjaChfLmloKF8uemEsZC5CYiksZCk7Zj09NDAxPyhKRmEoZCxuZXcgZWgud1goZWgud1guVHlwZS5ZVWIsZikpLGQuQmEubGVuZ3RoPTApOmY9PTQxMD8oS0ZhKGQsbmV3IGVoLndYKGVoLndYLlR5cGUuaFViLGYpKSxMRmEoZCkpOlxuZC5rYj49Mz8oS0ZhKGQsbmV3IGVoLndYKGVoLndYLlR5cGUuU01iLGYpKSxMRmEoZCkpOmQuU2IoZC5PYSwhMCxmPT04MDAxKX0sdndhOigwLF8uaGgpKHRoaXMuUGwsdGhpcyl9KTsoYj1NYXRoLnBvdyh0aGlzLmtiLDIpKjVFMyk/Xy5iYS5zZXRUaW1lb3V0KGEsYik6YSgpfX07XG52YXIgSUZhPWZ1bmN0aW9uKGEsYil7Yj1iLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gYS5BYVtlXS5pc0xvYWRlZCgpPyhfLmJhLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtyZXR1cm4gRXJyb3IoXCJMYmBcIitlKX0sMCksITEpOiEwfSk7Zm9yKHZhciBjPVtdLGQ9MDtkPGIubGVuZ3RoO2QrKyljPWMuY29uY2F0KE1GYShhLGJbZF0pKTtfLlZhYShjKTtyZXR1cm4hYS5PYiYmYy5sZW5ndGg+MT8oYj1jLnNoaWZ0KCksYS5CYT1jLm1hcChmdW5jdGlvbihlKXtyZXR1cm5bZV19KS5jb25jYXQoYS5CYSksW2JdKTpjfSxNRmE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLmtoYShhLkJiKSxkPVtdO2NbYl18fGQucHVzaChiKTtiPVtiXTtmb3IodmFyIGU9MDtlPGIubGVuZ3RoO2UrKylmb3IodmFyIGY9YS5GTihiW2VdKS5vYSxnPWYubGVuZ3RoLTE7Zz49MDtnLS0pe3ZhciBoPWZbZ107YS5GTihoKS5pc0xvYWRlZCgpfHxjW2hdfHwoZC5wdXNoKGgpLGIucHVzaChoKSl9ZC5yZXZlcnNlKCk7Xy5WYWEoZCk7XG5yZXR1cm4gZH0sQ0ZhPWZ1bmN0aW9uKGEpe2EuQ2E9PWEuaGImJihhLkNhPW51bGwsYS5oYi5vbkxvYWQoKDAsXy5oaCkoYS5FNGIsYSkpJiZKRmEoYSxuZXcgZWgud1goZWgud1guVHlwZS5JaGIpKSxERmEoYSkpfSxaamE9ZnVuY3Rpb24oYSl7aWYoYS5DYSl7dmFyIGI9YS5DYS5nZXRJZCgpLGM9W107aWYoYS5HYVtiXSl7Zm9yKHZhciBkPV8uUGEoT2JqZWN0LmtleXMoYS5HYVtiXSkpLGU9ZC5uZXh0KCk7IWUuZG9uZTtlPWQubmV4dCgpKXtlPWUudmFsdWU7dmFyIGY9YS5GTihlKTtmJiYhZi5pc0xvYWRlZCgpJiYoYS5PRWIoYixlKSxjLnB1c2goZSkpfURvYShhLGMpfWEuaXNEaXNwb3NlZCgpfHwoYS5BYVtiXS5vbkxvYWQoKDAsXy5oaCkoYS5FNGIsYSkpJiZKRmEoYSxuZXcgZWgud1goZWgud1guVHlwZS5JaGIpKSxfLnphKGEuUWEsYiksXy56YShhLkxhLGIpLGEuTGEubGVuZ3RoPT09MCYmTEZhKGEpLGEuUmImJmI9PWEuUmImJihhLndiLm9hfHxhLndiLmNhbGxiYWNrKCkpLFxuREZhKGEpLGEuQ2E9bnVsbCl9fSxGRmE9ZnVuY3Rpb24oYSxiKXtpZihfLnZhKGEuTGEsYikpcmV0dXJuITA7Zm9yKHZhciBjPTA7YzxhLkJhLmxlbmd0aDtjKyspaWYoXy52YShhLkJhW2NdLGIpKXJldHVybiEwO3JldHVybiExfSx3b2E9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9YS5BYVtiXTtlLmlzTG9hZGVkKCk/KGE9bmV3IHRGYShjLGQpLF8uYmEuc2V0VGltZW91dCgoMCxfLmhoKShhLmV4ZWN1dGUsYSksMCkpOkZGYShhLGIpP3VGYShlLkFhLGMsZCk6KHVGYShlLkFhLGMsZCksR0ZhKGEsW2JdKSl9O3luLnByb3RvdHlwZS5sb2FkPWZ1bmN0aW9uKGEsYil7cmV0dXJuIERvYSh0aGlzLFthXSxiKVthXX07Xy5ORmE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gRG9hKGEsYil9O0hGYT1mdW5jdGlvbihhLGIpe18udmEoYS5RYSxiKXx8YS5RYS5wdXNoKGIpfTtcbllqYT1mdW5jdGlvbihhKXt2YXIgYj1fLnhkO2IuQ2EmJmIuQ2EuZ2V0SWQoKT09PVwic3ludGhldGljX21vZHVsZV9vdmVyaGVhZFwiJiYoWmphKGIpLGRlbGV0ZSBiLkFhLnN5bnRoZXRpY19tb2R1bGVfb3ZlcmhlYWQpO2IuQWFbYV0mJk9GYShiLGIuQWFbYV0ub2F8fFtdLGZ1bmN0aW9uKGMpe2MuQmE9bmV3IF8uc0ZhO18uemEoYi5MYSxjLmdldElkKCkpfSxmdW5jdGlvbihjKXtyZXR1cm4hYy5pc0xvYWRlZCgpfSk7Yi5DYT1iLkZOKGEpfTt5bi5wcm90b3R5cGUud2FhPWZ1bmN0aW9uKGEpe3RoaXMuQ2F8fCh0aGlzLkFhLnN5bnRoZXRpY19tb2R1bGVfb3ZlcmhlYWQ9bmV3IHhuKFtdLFwic3ludGhldGljX21vZHVsZV9vdmVyaGVhZFwiKSx0aGlzLkNhPXRoaXMuQWEuc3ludGhldGljX21vZHVsZV9vdmVyaGVhZCk7dUZhKHRoaXMuQ2EuR2EsYSl9O1xueW4ucHJvdG90eXBlLlBrYj1mdW5jdGlvbihhKXtpZih0aGlzLkNhJiZ0aGlzLkNhLmdldElkKCkhPT1cInN5bnRoZXRpY19tb2R1bGVfb3ZlcmhlYWRcIil7dmFyIGI9dGhpcy5DYTtpZihiLkxhPT09Xy5zRmEpYi5MYT1hO2Vsc2UgdGhyb3cgRXJyb3IoXCJFYlwiKTt9fTt5bi5wcm90b3R5cGUuUGw9ZnVuY3Rpb24oKXtLRmEodGhpcyxuZXcgZWgud1goZWgud1guVHlwZS5USU1FT1VUKSk7TEZhKHRoaXMpfTtcbnZhciBLRmE9ZnVuY3Rpb24oYSxiKXthLk9hLmxlbmd0aD4xP2EuQmE9YS5PYS5tYXAoZnVuY3Rpb24oYyl7cmV0dXJuW2NdfSkuY29uY2F0KGEuQmEpOkpGYShhLGIpfSxKRmE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLk9hO2EuTGEubGVuZ3RoPTA7Zm9yKHZhciBkPVtdLGU9MDtlPGEuQmEubGVuZ3RoO2UrKyl7dmFyIGY9YS5CYVtlXS5maWx0ZXIoZnVuY3Rpb24oayl7dmFyIGw9TUZhKHRoaXMsayk7cmV0dXJuIF8ucmgoYyxmdW5jdGlvbihuKXtyZXR1cm4gXy52YShsLG4pfSl9LGEpO18uQ2EoZCxmKX1mb3IoZT0wO2U8Yy5sZW5ndGg7ZSsrKV8uUGFhKGQsY1tlXSk7Zm9yKGU9MDtlPGQubGVuZ3RoO2UrKyl7Zm9yKGY9MDtmPGEuQmEubGVuZ3RoO2YrKylfLnphKGEuQmFbZl0sZFtlXSk7Xy56YShhLlFhLGRbZV0pfXZhciBnPWEuR2IuZXJyb3I7aWYoZylmb3IoZT0wO2U8Zy5sZW5ndGg7ZSsrKXt2YXIgaD1nW2VdO2ZvcihmPTA7ZjxkLmxlbmd0aDtmKyspaChcImVycm9yXCIsZFtmXSxcbmIpfWZvcihlPTA7ZTxjLmxlbmd0aDtlKyspaWYoYS5BYVtjW2VdXSlhLkFhW2NbZV1dLm9uRXJyb3IoYik7YS5PYS5sZW5ndGg9MDtERmEoYSl9LExGYT1mdW5jdGlvbihhKXtmb3IoO2EuQmEubGVuZ3RoOyl7dmFyIGI9YS5CYS5zaGlmdCgpLmZpbHRlcihmdW5jdGlvbihjKXtyZXR1cm4hdGhpcy5GTihjKS5pc0xvYWRlZCgpfSxhKTtpZihiLmxlbmd0aD4wKXthLlNiKGIpO3JldHVybn19REZhKGEpfTt5bi5wcm90b3R5cGUubjZhPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj10aGlzLkdiW2FdLGM9MDtiJiZjPGIubGVuZ3RoO2MrKyliW2NdKGEpfTtcbnZhciBPRmE9ZnVuY3Rpb24oYSxiLGMsZCxlKXtkPWQ9PT12b2lkIDA/ZnVuY3Rpb24oKXtyZXR1cm4hMH06ZDtlPWU9PT12b2lkIDA/e306ZTtiPV8uUGEoYik7Zm9yKHZhciBmPWIubmV4dCgpOyFmLmRvbmU7Zj1iLm5leHQoKSl7Zj1mLnZhbHVlO3ZhciBnPWEuRk4oZik7IWVbZl0mJmQoZykmJihlW2ZdPSEwLE9GYShhLGcub2F8fFtdLGMsZCxlKSxjKGcpKX19O3luLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7Xy5XZ2EoXy5hYyh0aGlzLkFhKSx0aGlzLmhiKTt0aGlzLkFhPXt9O3RoaXMuTGE9W107dGhpcy5PYT1bXTt0aGlzLlFhPVtdO3RoaXMuQmE9W107dGhpcy5HYj17fTt0aGlzLldnPSEwfTt5bi5wcm90b3R5cGUuaXNEaXNwb3NlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLldnfTt5bi5wcm90b3R5cGUuSTJiPWZ1bmN0aW9uKCl7aWYoIXRoaXMuUmEpdGhyb3cgRXJyb3IoXCJNYlwiKTtyZXR1cm4gdGhpcy5SYX07Xy5XamE9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHlufTt2YXIgUEZhLFFGYSxTRmE7UEZhPSExO1FGYT1bXTtfLlJGYT1mdW5jdGlvbihhKXtQRmE/Xy55ZCgpLndhYShhKTpRRmEucHVzaChhKX07U0ZhPWZ1bmN0aW9uKCl7UEZhPSEwO2Zvcih2YXIgYT1fLlBhKFFGYSksYj1hLm5leHQoKTshYi5kb25lO2I9YS5uZXh0KCkpXy5SRmEoYi52YWx1ZSk7UUZhPVtdfTtfLlZkPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwP3t9OmI7dmFyIGM9Yi5ObWE9PT12b2lkIDA/Xy5LQ2E6Yi5ObWE7Xy5UYy5jYWxsKHRoaXMsYSx7YkdiOmN9KTt2YXIgZD10aGlzLGU9JGphKHRoaXMuaGFzaCk7dGhpcy5vYT1uZXcgXy5abShlLGMpO3RoaXMuQWE/dGhpcy5vYT1fLlNDYShfLiRtKF8uVEZhKSxmdW5jdGlvbihmKXtyZXR1cm4gZi5tY2QoZCxlLGMpfSl8fHRoaXMub2E6T2JqZWN0LmRlZmluZVByb3BlcnRpZXModGhpcyx7aGFzaDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIF8uVUZhKGQpfSxzZXQ6ZnVuY3Rpb24oZil7cmV0dXJuIF8uVkZhKGQsZil9fX0pfTtfLkQoXy5WZCxfLlRjKTtfLlZkLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3ZhciBhPW5ldyBfLlZkKFwiXCIpO1pDYShhLHRoaXMpO2Eub2E9dGhpcy5vYS5jbG9uZSgpO3JldHVybiBhfTtfLlVGYT1mdW5jdGlvbihhKXthPWEub2EudG9TdHJpbmcoKTtyZXR1cm4oYT9cIiNcIjpcIlwiKSthfTtcbl8uVkZhPWZ1bmN0aW9uKGEsYil7Yi5sZW5ndGgmJmIuY2hhckF0KDApPT1cIiNcIiYmKGI9Yi5zdWJzdHIoMSkpO2Eub2Euc2V0VmFsdWUoYil9O18uVEZhPW5ldyBfLmFuO18udmxhPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwP3t9OmI7Xy5WZC5jYWxsKHRoaXMsYSx7Tm1hOmIuTm1hPT09dm9pZCAwP18uaUZhOmIuTm1hfSl9O18uRChfLnZsYSxfLlZkKTt2YXIgV0ZhO1dGYT1mdW5jdGlvbigpe3RoaXMuY291bnRlcnM9bmV3IE1hcH07Xy5Ga2E9ZnVuY3Rpb24oKXt3aW5kb3cuZ29vZ2xlfHwod2luZG93Lmdvb2dsZT17dW5pcXVlSWRTZXJ2aWNlOnZvaWQgMH0pO3dpbmRvdy5nb29nbGUudW5pcXVlSWRTZXJ2aWNlfHwod2luZG93Lmdvb2dsZS51bmlxdWVJZFNlcnZpY2U9bmV3IFdGYSk7cmV0dXJuIHdpbmRvdy5nb29nbGUudW5pcXVlSWRTZXJ2aWNlfTtXRmEucHJvdG90eXBlLnNldEluaXRpYWxWYWx1ZT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIHRoaXMuY291bnRlcnMuZ2V0KGEpPT09dm9pZCAwfHxjPyh0aGlzLmNvdW50ZXJzLnNldChhLGIpLCEwKTohMX07V0ZhLnByb3RvdHlwZS5nZXRVbmlxdWVJZD1mdW5jdGlvbihhKXt2YXIgYj10aGlzLmNvdW50ZXJzLmdldChhKXx8MDt0aGlzLmNvdW50ZXJzLnNldChhLGIrMSk7cmV0dXJuIGJ9O18uQ2Q9ZnVuY3Rpb24oYSxiLGMsZCxlKXtkPWQ9PT12b2lkIDA/ITE6ZDtjPWN8fFtdO3RoaXMuQmE9YTt0aGlzLm9hPWJ8fG51bGw7dGhpcy5BYT1bXTtYRmEodGhpcyxjLGU9PT12b2lkIDA/ITE6ZSk7dGhpcy5DYT1kfTtfLkNkLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLkJhfTtfLkNkLnByb3RvdHlwZS5Jbz1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD8hMTpiO1lGYSh0aGlzLHRoaXMuQWEsYik7WEZhKHRoaXMsYSxiKX07XG52YXIgWEZhPWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/ITE6YzthLkFhPWEuQWEuY29uY2F0KGIpO2lmKGMpe2lmKCFhLm9hKXRocm93IEVycm9yKFwiTmJgXCIrYS5CYSk7Yi5tYXAoZnVuY3Rpb24oZCl7cmV0dXJuIGQub2F9KS5mb3JFYWNoKGZ1bmN0aW9uKGQpe1ZqYShmdW5jdGlvbihlKXtlLm1tYihhLm9hLGQpfSl9KX19LFlGYT1mdW5jdGlvbihhLGIsYyl7aWYoYz09PXZvaWQgMD8wOmMpe2lmKCFhLm9hKXRocm93IEVycm9yKFwiTmJgXCIrYS5CYSk7Yi5tYXAoZnVuY3Rpb24oZCl7cmV0dXJuIGQub2F9KS5mb3JFYWNoKGZ1bmN0aW9uKGQpe1ZqYShmdW5jdGlvbihlKXtlLk9FYihhLm9hLGQpfSl9KX1hLkFhPWEuQWEuZmlsdGVyKGZ1bmN0aW9uKGQpe3JldHVybiBiLmluZGV4T2YoZCk9PT0tMX0pfTt2YXIgWkZhPXt0b1N0cmluZzpmdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7YS09LTIxNDc0ODM2NDg7YltjKytdPVwiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWlwiLmNoYXJBdChhJTUyKTtmb3IoYT1NYXRoLmZsb29yKGEvNTIpO2E+MDspYltjKytdPVwiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3ODlcIi5jaGFyQXQoYSU2MiksYT1NYXRoLmZsb29yKGEvNjIpO3JldHVybiBiLmpvaW4oXCJcIil9fTt2YXIgJEZhLGFHYTtcbl8uemc9ZnVuY3Rpb24oYSl7YT0kRmEoYSk7Zm9yKHZhciBiPTI2NTQ0MzU3NjksYz0yNjU0NDM1NzY5LGQ9MzE0MTU5MjY1LGU9YS5sZW5ndGgsZj1lLGc9MCxoPWZ1bmN0aW9uKCl7Yi09YztiLT1kO2JePWQ+Pj4xMztjLT1kO2MtPWI7Y149Yjw8ODtkLT1iO2QtPWM7ZF49Yz4+PjEzO2ItPWM7Yi09ZDtiXj1kPj4+MTI7Yy09ZDtjLT1iO2NePWI8PDE2O2QtPWI7ZC09YztkXj1jPj4+NTtiLT1jO2ItPWQ7Yl49ZD4+PjM7Yy09ZDtjLT1iO2NePWI8PDEwO2QtPWI7ZC09YztkXj1jPj4+MTV9O2Y+PTEyO2YtPTEyLGcrPTEyKWIrPWFHYShhLGcpLGMrPWFHYShhLGcrNCksZCs9YUdhKGEsZys4KSxoKCk7ZCs9ZTtzd2l0Y2goZil7Y2FzZSAxMTpkKz1hW2crMTBdPDwyNDtjYXNlIDEwOmQrPWFbZys5XTw8MTY7Y2FzZSA5OmQrPWFbZys4XTw8ODtjYXNlIDg6Yys9YVtnKzddPDwyNDtjYXNlIDc6Yys9YVtnKzZdPDwxNjtjYXNlIDY6Yys9YVtnKzVdPDw4O2Nhc2UgNTpjKz1hW2crNF07Y2FzZSA0OmIrPVxuYVtnKzNdPDwyNDtjYXNlIDM6Yis9YVtnKzJdPDwxNjtjYXNlIDI6Yis9YVtnKzFdPDw4O2Nhc2UgMTpiKz1hW2ddfWgoKTtyZXR1cm4gWkZhLnRvU3RyaW5nKGQpfTskRmE9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPVtdLGM9MDtjPGEubGVuZ3RoO2MrKyliLnB1c2goYS5jaGFyQ29kZUF0KGMpKTtyZXR1cm4gYn07YUdhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGFbYl0rKGFbYisxXTw8OCkrKGFbYisyXTw8MTYpKyhhW2IrM108PDI0KX07dmFyIGZrYT1uZXcgTWFwLGJHYT1uZXcgTWFwLGJrYT1uZXcgTWFwLGRrYT1uZXcgTWFwLGNrYT1uZXcgTWFwO3pkKFwiS1VNN1pcIixcIllMUVNkXCIpO18uSWQ9ZnVuY3Rpb24oYSl7dGhpcy5vYT1hfTt2YXIgY0dhPSExO3ZhciBsa2E9IWZ1bmN0aW9uKCl7aWYoY0dhKXRocm93IEVycm9yKFwiUWJcIik7Y0dhPSEwO3RyeXt2YXIgYT1oa2EoKX1jYXRjaChkKXtyZXR1cm4hMX12YXIgYj11RGEoXy5lZChhKSksYz1PYmplY3Qua2V5cyhiKTtpZihjLmxlbmd0aD09PTApcmV0dXJuITE7VmphKGZ1bmN0aW9uKGQpe2Zvcih2YXIgZT1fLlBhKGMpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKXtmPWYudmFsdWU7Zm9yKHZhciBnPV8uUGEoT2JqZWN0LmtleXMoYltmXSkpLGg9Zy5uZXh0KCk7IWguZG9uZTtoPWcubmV4dCgpKWQubW1iKGYsaC52YWx1ZSl9fSk7cmV0dXJuITB9KCk7dmFyIGlrYT1TeW1ib2woXCJSYlwiKTt2YXIgRGQ9ZnVuY3Rpb24oKXt0aGlzLm9hPXt9fSx1a2EsYm9hO0RkLnByb3RvdHlwZS5yZWdpc3Rlcj1mdW5jdGlvbihhLGIpe3RoaXMub2FbYS50b1N0cmluZygpXT1ifTt1a2E9ZnVuY3Rpb24oYSxiKXt2YXIgYztpZigoYT1hLm9hW2IudG9TdHJpbmcoKV0pPT1udWxsKXZhciBkPXZvaWQgMDtlbHNle3ZhciBlO2Q9KGU9YS5vYSkhPW51bGw/ZTphLkFhfXJldHVybihjPWQpIT1udWxsP2M6Yn07Ym9hPWZ1bmN0aW9uKGEsYil7cmV0dXJuISFhLm9hW2IudG9TdHJpbmcoKV19O18uZmY9ZnVuY3Rpb24oYSl7dmFyIGI9RGQuZ2V0SW5zdGFuY2UoKS5vYVthLnRvU3RyaW5nKCldO2lmKCFiKXRocm93IEVycm9yKFwiU2JgXCIrYSk7cmV0dXJuIGJ9O0RkLmdldEluc3RhbmNlPWZ1bmN0aW9uKCl7cmV0dXJuIF8uSGYoRGQpfTt2YXIgaUdhO18uZEdhPV8uT2IoZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhPT09XCJudW1iZXJcIn0pO18uZUdhPV8uT2IoZnVuY3Rpb24oYSl7cmV0dXJuIE51bWJlci5pc0ludGVnZXIoYSl9KTtfLmZHYT1fLk9iKGZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgYT09PVwic3RyaW5nXCJ9KTtfLmdHYT1fLk9iKGZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgYT09PVwiYm9vbGVhblwifSk7Xy5oR2E9Xy5PYihmdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT1cImJpZ2ludFwifSk7aUdhPV8uT2IoZnVuY3Rpb24oYSl7cmV0dXJuISFhJiYodHlwZW9mIGE9PT1cIm9iamVjdFwifHx0eXBlb2YgYT09PVwiZnVuY3Rpb25cIil9KTtfLmpHYT1fLk9iKGZ1bmN0aW9uKGEpe3JldHVybiBBcnJheS5pc0FycmF5KGEpfSk7dmFyIGtHYSxua2EsZG9hO2tHYT1bXTtua2E9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3RoaXMuV289YTt0aGlzLkJhPWI7dGhpcy5DYT1jO3RoaXMuR2E9ZDt0aGlzLkxhPWU7dGhpcy5BYT1mPT09dm9pZCAwP251bGw6Zjt0aGlzLmxvZ2dlcj10aGlzLm9hPW51bGw7a0dhLnB1c2godGhpcyl9O2RvYT1mdW5jdGlvbihhLGIpe2lmKChuZXcgU2V0KFtdLmNvbmNhdChfLm1kKGEuQmEpLF8ubWQoYS5DYSkpKSkuaGFzKGIudG9TdHJpbmcoKSkpcmV0dXJuITA7YT1uZXcgU2V0KFtdLmNvbmNhdChfLm1kKGEuR2EpLF8ubWQoYS5MYSkpKTthPV8uUGEoYSk7Zm9yKHZhciBjPWEubmV4dCgpOyFjLmRvbmU7Yz1hLm5leHQoKSlpZihkb2EoXy5mZihjLnZhbHVlKSxiKSlyZXR1cm4hMDtyZXR1cm4hMX07Xy56bj1mdW5jdGlvbihhLGIpe2RvYShhLGIpO2EuQWEmJllGYShhLldvLFthLkFhXSxsa2EpO1hGYShhLldvLFtiXSxsa2EpO2Eub2E9Yn07dmFyIG1rYT1mdW5jdGlvbihhKXtyZXR1cm4gYWthKGJHYSxhLnRvU3RyaW5nKCksZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFNldH0pfTt6ZChcIndzOVRsY1wiLFwiTnBENGVjXCIpO18ubEdhPV8uR2QoXCJ3czlUbGNcIik7Xy5Bbj1fLkZkKFwiTnBENGVjXCIsXCJjRXQ5MGJcIixcIkpqN3NMZVwiLF8ubEdhKTt2YXIgbUdhPV8uR2QoXCJLVU03WlwiLFtfLkFuXSk7Xy54a2E9Xy5GZChcIllMUVNkXCIsXCJ5eFRjaGZcIixcImZKNTA4ZFwiLG1HYSk7dmFyIG9HYTtfLm5HYT17fTtvR2E9e307Xy5FcGE9ZnVuY3Rpb24oYSl7Xy5ZYihhLGZ1bmN0aW9uKGIsYyl7Xy5uR2FbY109Yn0pfTtfLkZxYT1mdW5jdGlvbihhKXtfLlliKGEsZnVuY3Rpb24oYixjKXtfLm5HYVtjXT1iO29HYVtjXT0hMH0pfTt2YXIgcEdhPWZ1bmN0aW9uKGEpe3ZhciBiPXt9LGM9e30sZD1bXSxlPVtdLGY9ZnVuY3Rpb24oayl7aWYoIWNba10pe3ZhciBsPWsgaW5zdGFuY2VvZiBfLkNkP2suQWE6W107Y1trXT1bXS5jb25jYXQoXy5tZChsKSk7bC5mb3JFYWNoKGZ1bmN0aW9uKG4pe2Jbbl09YltuXXx8W107YltuXS5wdXNoKGspfSk7bC5sZW5ndGh8fGQucHVzaChrKTtsLmZvckVhY2goZil9fTthLmZvckVhY2goZik7Zm9yKGE9e307ZC5sZW5ndGg7YT17cVVhOnZvaWQgMH0pYS5xVWE9ZC5zaGlmdCgpLGUucHVzaChhLnFVYSksYlthLnFVYV0mJmJbYS5xVWFdLmZvckVhY2goZnVuY3Rpb24oayl7cmV0dXJuIGZ1bmN0aW9uKGwpe18uemEoY1tsXSxrLnFVYSk7Y1tsXS5sZW5ndGh8fGQucHVzaChsKX19KGEpKTt2YXIgZz17fSxoPVtdO2UuZm9yRWFjaChmdW5jdGlvbihrKXtrIGluc3RhbmNlb2YgXy5DZCYmKGs9ay5vYSxrPT1udWxsfHxnW2tdfHwoZ1trXT0hMCxoLnB1c2goaykpKX0pO3JldHVybntzZXJ2aWNlczplLFxuV3o6aH19O3ZhciBxR2E9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpczt0aGlzLnN0YXRlPTA7dGhpcy5vYT1bXTt2YXIgYz1mdW5jdGlvbihlKXtpZihiLnN0YXRlPT09MCl7Yi52YWx1ZT1lO2Iuc3RhdGU9MTtmb3IodmFyIGY9MDtmPGIub2EubGVuZ3RoO2YrKyl7dmFyIGc9Xy5QYShiLm9hW2ZdKS5uZXh0KCkudmFsdWU7ZyhlKX1iLm9hPVtdfX0sZD1mdW5jdGlvbihlKXtpZihiLnN0YXRlPT09MCl7Yi5lcnJvcj1lO2Iuc3RhdGU9Mjtmb3IodmFyIGY9MDtmPGIub2EubGVuZ3RoO2YrKyl7dmFyIGc9Xy5QYShiLm9hW2ZdKTtnLm5leHQoKTtnPWcubmV4dCgpLnZhbHVlO2coZSl9Yi5vYT1bXX19O3RyeXthKGMsZCl9Y2F0Y2goZSl7ZChlKX19LG9rYT1mdW5jdGlvbihhLGIsYyl7c3dpdGNoKGEuc3RhdGUpe2Nhc2UgMDphLm9hLnB1c2goW2IsY10pO2JyZWFrO2Nhc2UgMTpiKGEudmFsdWUpO2JyZWFrO2Nhc2UgMjpjKGEuZXJyb3IpO2JyZWFrO2RlZmF1bHQ6Xy5EYyhhLnN0YXRlKX19O1xucUdhLnByb3RvdHlwZS5tYXA9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzO3JldHVybiBuZXcgcUdhKGZ1bmN0aW9uKGQsZSl7b2thKGMsZnVuY3Rpb24oZil7dHJ5e2QoYShmKSl9Y2F0Y2goZyl7ZShnKX19LGZ1bmN0aW9uKGYpe3RyeXtlKGIoZikpfWNhdGNoKGcpe2UoZyl9fSl9KX07dmFyIHJHYT1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IHFHYShmdW5jdGlvbihiKXtiKGEpfSl9LHNHYT1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IHFHYShmdW5jdGlvbihiLGMpe2MoYSl9KX07dmFyIFZyYSxza2EsdUdhLHhHYSx3R2EsdEdhO18uSmQ9ZnVuY3Rpb24oKXt0aGlzLkFhPXt9O3RoaXMuR2E9bnVsbDt0aGlzLm9hPW5ldyBTZXQ7dGhpcy5CYT10aGlzLk9nPW51bGw7dGhpcy5DYT1uZXcgU2V0O3RoaXMuTGE9dEdhfTtWcmE9ZnVuY3Rpb24oYSxiKXthLkdhPWJ9O18uSmQucHJvdG90eXBlLnhuPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuR2F9O18uSmQucHJvdG90eXBlLnJlZ2lzdGVyPWZ1bmN0aW9uKGEsYil7Xy5BZChhLGIpO3RoaXMuQWFbYS50b1N0cmluZygpXT1ifTtza2E9ZnVuY3Rpb24oYSxiKXtpZihhPWprYShiKSlyZXR1cm4gYX07Xy5mb2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gcGthKHVHYShhLGIpKX07XG51R2E9ZnVuY3Rpb24oYSxiKXtiPXVrYShEZC5nZXRJbnN0YW5jZSgpLGIpO3ZhciBjPWEuQWFbYi50b1N0cmluZygpXTtpZihjKXtmb3IodmFyIGQ9Xy5QYShhLm9hKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSllLnZhbHVlLm9hKFtiXSk7cmV0dXJuIHJHYShjKX1yZXR1cm4gYiBpbnN0YW5jZW9mIF8uQ2Q/bmV3IHFHYShmdW5jdGlvbihmLGcpe18udkdhKGEsW2JdKS50aGVuKGZ1bmN0aW9uKCl7YS5BYVtiLnRvU3RyaW5nKCldfHxnKHdHYShhLGIpKTtmKGEuQWFbYi50b1N0cmluZygpXSl9LGcpfSk6c0dhKHdHYShhLGIpKX07Xy52R2E9ZnVuY3Rpb24oYSxiKXthPXhHYShhLGIpO2EudGhlbih2b2lkIDAsZnVuY3Rpb24oKXt9KTtyZXR1cm4gYX07XG54R2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz1EZC5nZXRJbnN0YW5jZSgpO2I9Yi5tYXAoZnVuY3Rpb24obil7cmV0dXJuIHVrYShjLG4pfSk7Yj1bXS5jb25jYXQoXy5tZChuZXcgU2V0KGIpKSk7dmFyIGQ9W10sZT1bXTtiLmZvckVhY2goZnVuY3Rpb24obil7YS5pc0xvYWRlZChuKT9kLnB1c2gobik6ZS5wdXNoKG4pfSk7dmFyIGY9ZS5maWx0ZXIoZnVuY3Rpb24obil7cmV0dXJuIWEuQ2EuaGFzKG4pfSk7aWYoZC5sZW5ndGgpe2I9Xy5QYShhLm9hKTtmb3IodmFyIGc9Yi5uZXh0KCk7IWcuZG9uZTtnPWIubmV4dCgpKWcudmFsdWUub2EoZCl9aWYoZi5sZW5ndGgpZm9yKGI9Xy5QYShhLm9hKSxnPWIubmV4dCgpOyFnLmRvbmU7Zz1iLm5leHQoKSlnLnZhbHVlLkNhKGYpO2I9cEdhKGUpLnNlcnZpY2VzLmZpbHRlcihmdW5jdGlvbihuKXtyZXR1cm4gbiBpbnN0YW5jZW9mIF8uQ2R9KS5maWx0ZXIoZnVuY3Rpb24obil7cmV0dXJuIWEuaXNMb2FkZWQobikmJiFib2EoYyxuKX0pO3ZhciBoPVxubmV3IFNldDtiLmZvckVhY2goZnVuY3Rpb24obil7bj1uLm9hO24hPW51bGwmJmguYWRkKG4pfSk7aWYoIWguc2l6ZSlyZXR1cm4gXy5nZSgpO2YuZm9yRWFjaChmdW5jdGlvbihuKXtyZXR1cm4gYS5DYS5hZGQobil9KTt0cnl7dmFyIGs9T2JqZWN0LnZhbHVlcyhhLkxhKGEsW10uY29uY2F0KF8ubWQoaCkpKSl9Y2F0Y2gobil7az1bXy5VbChuKV19dmFyIGw9ZnVuY3Rpb24oKXtmLmZvckVhY2goZnVuY3Rpb24obil7cmV0dXJuIGEuQ2EuZGVsZXRlKG4pfSl9O3JldHVybiBfLnhmKGspLnRoZW4oZnVuY3Rpb24oKXtpZihmLmxlbmd0aClmb3IodmFyIG49Xy5QYShhLm9hKSxyPW4ubmV4dCgpOyFyLmRvbmU7cj1uLm5leHQoKSlyLnZhbHVlLkJhKGYpfSxmdW5jdGlvbihuKXtpZihmLmxlbmd0aClmb3IodmFyIHI9Xy5QYShhLm9hKSx0PXIubmV4dCgpOyF0LmRvbmU7dD1yLm5leHQoKSl0LnZhbHVlLkFhKGYpO3Rocm93IG47fSkudGhlbihmdW5jdGlvbigpe2woKX0sZnVuY3Rpb24obil7bCgpO1xudGhyb3cgbjt9KX07d0dhPWZ1bmN0aW9uKGEsYil7YT1fLlBhKGEub2EpO2Zvcih2YXIgYz1hLm5leHQoKTshYy5kb25lO2M9YS5uZXh0KCkpYy52YWx1ZS5BYShbYl0pO3JldHVybiBuZXcgVHlwZUVycm9yKFwiVGJgXCIrYil9O18uSmQucHJvdG90eXBlLmlzTG9hZGVkPWZ1bmN0aW9uKGEpe3JldHVybiEhdGhpcy5BYVthLnRvU3RyaW5nKCldfTtfLkpkLmdldEluc3RhbmNlPWZ1bmN0aW9uKCl7cmV0dXJuIF8uSGYoXy5KZCl9O18ueUdhPWZ1bmN0aW9uKGEpe2EuQmF8fChhLkJhPV8ueWQoKSk7cmV0dXJuIGEuQmF9O3RHYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLk5GYShfLnlHYShhKSxiKX07Xy5NbmE9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe18uSGQuY2FsbCh0aGlzLGUsZik7dGhpcy5ObD1hO3RoaXMuT2E9W107dGhpcy5oYj0hIWI7dGhpcy5SYj0hIWM7dGhpcy5PYj0hIWQ7Zm9yKGI9dGhpcy53Yj0wO2I8YS5sZW5ndGg7YisrKV8uam4oYVtiXSwoMCxfLmhoKSh0aGlzLmtiLHRoaXMsYiwhMCksKDAsXy5oaCkodGhpcy5rYix0aGlzLGIsITEpKTthLmxlbmd0aCE9MHx8dGhpcy5oYnx8dGhpcy5jYWxsYmFjayh0aGlzLk9hKX07Xy5taChfLk1uYSxfLkhkKTtfLk1uYS5wcm90b3R5cGUua2I9ZnVuY3Rpb24oYSxiLGMpe3RoaXMud2IrKzt0aGlzLk9hW2FdPVtiLGNdO3RoaXMub2F8fCh0aGlzLmhiJiZiP3RoaXMuY2FsbGJhY2soW2EsY10pOnRoaXMuUmImJiFiP3RoaXMuUkQoYyk6dGhpcy53Yj09dGhpcy5ObC5sZW5ndGgmJnRoaXMuY2FsbGJhY2sodGhpcy5PYSkpO3RoaXMuT2ImJiFiJiYoYz1udWxsKTtyZXR1cm4gY307XG5fLk1uYS5wcm90b3R5cGUuUkQ9ZnVuY3Rpb24oYSl7Xy5NbmEuT2QuUkQuY2FsbCh0aGlzLGEpO2ZvcihhPTA7YTx0aGlzLk5sLmxlbmd0aDthKyspdGhpcy5ObFthXS5jYW5jZWwoKX07Xy56R2E9ZnVuY3Rpb24oYSl7cmV0dXJuKG5ldyBfLk1uYShhLCExLCEwKSkuYWRkQ2FsbGJhY2soZnVuY3Rpb24oYil7Zm9yKHZhciBjPVtdLGQ9MDtkPGIubGVuZ3RoO2QrKyljW2RdPWJbZF1bMV07cmV0dXJuIGN9KX07dmFyIEFHYTtfLnlmPWZ1bmN0aW9uKGEsYixjKXtpZihfLmJjKGIpLmxlbmd0aD09PTApcmV0dXJuIF8uYWYoe30pO3ZhciBkPVtdLGU9Xy5aYihiLGZ1bmN0aW9uKGcsaCl7cmV0dXJuIEFHYShhLGJbaF0sZCxfLm5HYVtoXSxoKX0pLGY9Xy56R2EoZCk7Zi5hZGRDYWxsYmFjayhmdW5jdGlvbihnKXt2YXIgaD1fLlpiKGUsZnVuY3Rpb24oayl7dmFyIGw9e307Xy5ZYihrLGZ1bmN0aW9uKG4scil7bFtyXT1nW25dfSk7cmV0dXJuIGx9KTtjJiYoaC5zdGF0ZT1jKTtyZXR1cm4gaH0pO18udGcoZixmdW5jdGlvbihnKXtnIGluc3RhbmNlb2YgXy5FRGEmJmYuY2FuY2VsKCk7dGhyb3cgZzt9KTtyZXR1cm4gZn07XG5BR2E9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj17fSxnO29HYVtlXT9nPWQoYSxiKTpnPV8uWmIoYixmdW5jdGlvbihoKXtyZXR1cm4gZChhLGgsYil9KTtfLlliKGcsZnVuY3Rpb24oaCxrKXtpZihoIGluc3RhbmNlb2YgXy5qZnx8aCBpbnN0YW5jZW9mIFByb21pc2UpaD1fLlJEYShoKTt2YXIgbD1jLmxlbmd0aDtjLnB1c2goaCk7ZltrXT1sfSk7cmV0dXJuIGZ9O1xuXy5GcWEoe1hiOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPV8uUGEoT2JqZWN0LmtleXMoYikpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKXtkPWQudmFsdWU7dmFyIGU9YltkXTtiW2RdPWprYShlKXx8ZX1jPV8uYWMoYik7aWYoYy5sZW5ndGg9PTApcmV0dXJue307YT1hLnhuKCk7dHJ5e3ZhciBmPV8uQkdhKGEsYyl9Y2F0Y2goaCl7dmFyIGc9Xy5rb2EoaCk7cmV0dXJuIF8uWmIoYixmdW5jdGlvbigpe3JldHVybiBnfSl9cmV0dXJuIF8uWmIoYixmdW5jdGlvbihoKXtyZXR1cm4gZltoXX0pfSxwcmVsb2FkOmZ1bmN0aW9uKGEsYil7YT1fLmFjKGIpLm1hcChmdW5jdGlvbihkKXtyZXR1cm4gZCBpbnN0YW5jZW9mIF8uSWQ/ZC5vYTpkfSkuZmlsdGVyKGZ1bmN0aW9uKGQpe3JldHVybiBkIGluc3RhbmNlb2YgXy5DZH0pO3ZhciBjPV8udkdhKF8uSmQuZ2V0SW5zdGFuY2UoKSxhKTtyZXR1cm4gXy5aYihiLGZ1bmN0aW9uKCl7cmV0dXJuIGN9KX19KTtcbl8uRXBhKHtjb250ZXh0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuZ2V0Q29udGV4dChiKX0sV206ZnVuY3Rpb24oYSxiKXthPWIuY2FsbChhKTtyZXR1cm4gQXJyYXkuaXNBcnJheShhKT9fLnpHYShhKTphfSx1bmE6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IF8uamYoZnVuY3Rpb24oYyl7dHlwZW9mIGI9PT1cImZ1bmN0aW9uXCImJmMoYi5jYWxsKGEsYSkpO2MoYil9KX19KTt2YXIgcWthPXt9O3ZhciBER2E7Xy5Cbj1mdW5jdGlvbihhKXtfLkNrLmNhbGwodGhpcyk7dGhpcy5td2E9YS5XbS5rZXk7dGhpcy5aTWI9YS5XbSYmYS5XbS5YYjt0aGlzLnlFYj1bXX07Xy5EKF8uQm4sXy5Dayk7Xy5Cbi5wcm90b3R5cGUuUWM9ZnVuY3Rpb24oKXt0aGlzLnVjKCk7dGhpcy52cWIoKTtfLkNrLnByb3RvdHlwZS5RYy5jYWxsKHRoaXMpfTtfLkJuLnByb3RvdHlwZS5OZGQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5td2F9O18uQm4ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXdhK1wiW1wiK18uRWEodGhpcykrXCJdXCJ9O18uQ249ZnVuY3Rpb24oYSxiKXtiPWIgaW5zdGFuY2VvZiBfLkhkP2I6Xy5SRGEoYik7YS55RWIucHVzaChiKX07Xy5Cbi5wcm90b3R5cGUuZ3FhPWZ1bmN0aW9uKCl7fTtfLkJuLklhPWZ1bmN0aW9uKGEpe3JldHVybntXbTp7a2V5OmZ1bmN0aW9uKCl7cmV0dXJuIF8uYWYoYSl9LFhiOmZ1bmN0aW9uKCl7cmV0dXJuIF8uYWYodGhpcy51TCgpKX19fX07XG5fLkNHYT1mdW5jdGlvbihhKXthLklhPWEuSWF8fGZ1bmN0aW9uKCl7fX07Xy5nZj1mdW5jdGlvbihhLGIsYyl7Yz1ER2EoYixjLGEpLmFkZENhbGxiYWNrKGZ1bmN0aW9uKGQpe3JldHVybiBuZXcgYihkKX0pO2MuYWRkQ2FsbGJhY2soZnVuY3Rpb24oZCl7aWYoZC55RWIubGVuZ3RoKXJldHVybihuZXcgXy5NbmEoZC55RWIsdm9pZCAwLCEwKSkuYWRkQ2FsbGJhY2soZnVuY3Rpb24oKXtyZXR1cm4gZH0pfSk7Yy5hZGRDYWxsYmFjayhmdW5jdGlvbihkKXtkLmdxYSgpfSk7YSBpbnN0YW5jZW9mIF8uQ2QmJmMuYWRkQ2FsbGJhY2soZnVuY3Rpb24oZCl7dmFyIGU9cWthW2FdO2lmKGUpZm9yKHZhciBmPTA7ZjxlLmxlbmd0aDtmKyspZVtmXShkKX0pO3JldHVybiBjfTtcbkRHYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5JYTtpZighZClyZXR1cm4gXy5hZih7fSk7ZD1kLmNhbGwoYSxjKTtkPV8ueWYoYixkKTthPU9iamVjdC5nZXRQcm90b3R5cGVPZihhKTt2YXIgZT1ER2EoYSxiLGMpO2Q9ZC5hZGRDYWxsYmFjayhmdW5jdGlvbihmKXtyZXR1cm4gZS5hZGRDYWxsYmFjayhmdW5jdGlvbihnKXtmLk5hPWc7cmV0dXJuIGZ9KX0pO18udGcoZCxmdW5jdGlvbihmKXtpZih0eXBlb2YgZj09PVwic3RyaW5nXCJ8fGYgaW5zdGFuY2VvZiBTdHJpbmcpZj1cIkZhaWxlZCB0byByZXRyaWV2ZSBkZXBlbmRlbmNpZXMgb2Ygc2VydmljZSBcIitjK1wiOiBcIitmO2Vsc2V7dmFyIGc9XCJGYWlsZWQgdG8gcmV0cmlldmUgZGVwZW5kZW5jaWVzIG9mIHNlcnZpY2UgXCIrYytcIjogXCIrZi5tZXNzYWdlO3RyeXtmLm1lc3NhZ2U9Z31jYXRjaChoKXt0aHJvdyBFcnJvcihcIlViYFwiK2crXCJgXCIraCk7fX10aHJvdyBmO30pO3JldHVybiBkfTtfLm09Xy5Cbi5wcm90b3R5cGU7Xy5tLnhuPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWk1ifTtcbl8ubS51TD1mdW5jdGlvbigpe3JldHVybiB0aGlzLlpNYnx8dm9pZCAwfTtfLm0udnFiPWZ1bmN0aW9uKCl7fTtfLm0udWM9ZnVuY3Rpb24oKXt9O18ubS5nZXRDb250ZXh0PWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoXCJWYlwiKTt9O18ubS5nZXREYXRhPWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoXCJWYlwiKTt9O18uRUdhPWZ1bmN0aW9uKGEsYil7dGhpcy5rZXk9YTt0aGlzLkJhPWJ9O18ubT1fLkVHYS5wcm90b3R5cGU7Xy5tLnhuPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQmF9O18ubS51TD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkJhfTtfLm0uZ2V0Q29udGV4dD1mdW5jdGlvbigpe3Rocm93IEVycm9yKFwiVmJcIik7fTtfLm0uZ2V0RGF0YT1mdW5jdGlvbigpe3Rocm93IEVycm9yKFwiVmJcIik7fTtfLm0udG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm5cImNvbnRleHQ6XCIrU3RyaW5nKHRoaXMua2V5KX07Xy5Ebj1mdW5jdGlvbihhKXtfLkJuLmNhbGwodGhpcyxhLk5hKX07Xy5EKF8uRG4sXy5Cbik7Xy5Ebi5JYT1mdW5jdGlvbigpe3JldHVybnt9fTtfLkRuLldhPWZ1bmN0aW9uKCl7fTtfLkVuPW5ldyBfLklkKF8uQW4pO3ZhciBGR2E9ZnVuY3Rpb24oYSl7Xy5hYS5jYWxsKHRoaXMpO3RoaXMubWVzc2FnZT1cIkFwcENvbnRleHQgaXMgZGlzcG9zZWQsIGNhbm5vdCBnZXQgXCIrYS5qb2luKFwiLCBcIikrXCIuXCJ9O18uRChGR2EsXy5hYSk7dmFyIEdHYTtHR2E9e307Xy5LZD1mdW5jdGlvbihhLGIpe3ZhciBjPXZrYShhKTtpZighYylyZXR1cm4gXy5rb2EoXCJTZXJ2aWNlIGtleSBtdXN0IGJlIGEgU2VydmljZUlkLCBJbmplY3Rpb25LZXksIG9yIFNlcnZpY2UgY29uc3RydWN0b3JcIik7YT1HR2FbY107YXx8KGE9Xy5mb2EoXy5KZC5nZXRJbnN0YW5jZSgpLGMpLEdHYVtjXT1hKTt2YXIgZD1uZXcgXy5IZCxlPWZ1bmN0aW9uKGYpe18uam4oZi5ENWIoYyxifHx2b2lkIDApLGZ1bmN0aW9uKGcpe2QuY2FsbGJhY2soZyl9LGZ1bmN0aW9uKGcpe2QuUkQoZyl9KX07YS5hZGRDYWxsYmFjayhmdW5jdGlvbihmKXt2YXIgZz11a2EoRGQuZ2V0SW5zdGFuY2UoKSxjKTtpZihnIT1jKV8uTURhKF8uS2QoZyxiKSxkKTtlbHNlIHJldHVybiBEZC5nZXRJbnN0YW5jZSgpLGUoZil9KTtfLnRnKGEsZnVuY3Rpb24oZil7ZC5SRChmKX0pO3JldHVybiBkfTt2YXIgSEdhLElHYSxKR2EsTEdhO18uRm49ZnVuY3Rpb24oYSxiKXtfLkNHYShiKTthJiZfLkpkLmdldEluc3RhbmNlKCkucmVnaXN0ZXIoYSxiKTtiLldhPUhHYTtiLkQ1Yj1mdW5jdGlvbihjLGQpe2M9dWthKERkLmdldEluc3RhbmNlKCksYyk7dmFyIGU9SUdhW2NdO2lmKGUpcmV0dXJuIGU7dmFyIGY9SUdhW2NdPW5ldyBfLkhkO18uam4oSkdhLmNhbGwoYixjLGQpLGYuY2FsbGJhY2ssZnVuY3Rpb24oZyl7ZyBpbnN0YW5jZW9mIEZHYSYmSUdhW2NdPT09ZiYmZGVsZXRlIElHYVtjXTtmLlJEKGcpfSxmKTtyZXR1cm4gZn19O18uS0dhPWZ1bmN0aW9uKGEpe3ZhciBiPV8ueWQoKS5vYTtyZXR1cm4gXy5LZChhLGIpfTtIR2E9ZnVuY3Rpb24oKXt0aGlzLkQ1Yj1KR2E7cmV0dXJuIHRoaXN9O0lHYT17fTtKR2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5nZihhLHRoaXMsbmV3IF8uRUdhKGEsYix0aGlzKSl9O1xuTEdhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5hYyhiKS5tYXAoZnVuY3Rpb24oZCl7cmV0dXJuIHZrYShkKX0pLmZpbHRlcihmdW5jdGlvbihkKXtyZXR1cm4gZCBpbnN0YW5jZW9mIF8uQ2R9KTtfLnZHYShfLkpkLmdldEluc3RhbmNlKCksYyk7cmV0dXJuIF8uWmIoYixmdW5jdGlvbihkKXtyZXR1cm4gXy5LZChkLGEudUwoKSl9KX07Xy5GcWEoe3NlcnZpY2U6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gTEdhKGEsYil9fSk7Xy5Hbj1mdW5jdGlvbihhKXtfLkZuKHZvaWQgMCxhKX07dmFyIE9HYT1mdW5jdGlvbihhKXtfLkRuLmNhbGwodGhpcyxhLk5hKTt0aGlzLm9hPWEuc2VydmljZS53aW5kb3cuZ2V0KCk7dGhpcy5BYT10aGlzLm9hLmxvY2F0aW9uIT10aGlzLm9hLnBhcmVudC5sb2NhdGlvbiYmITE7dGhpcy5CYT1udWxsO3RoaXMuQWF8fE1HYXx8TkdhKHRoaXMpfTtfLkQoT0dhLF8uRG4pO09HYS5XYT1fLkRuLldhO09HYS5JYT1mdW5jdGlvbigpe3JldHVybntzZXJ2aWNlOnt3aW5kb3c6Xy5Fbn19fTtcbnZhciBOR2E9ZnVuY3Rpb24oYSl7TUdhPSEwO3ZhciBiPWEub2EuaGlzdG9yeTtQR2E9Yi5wdXNoU3RhdGU7dmFyIGM9ZnVuY3Rpb24oZSxmLGcpe1BHYS5jYWxsKGIsZSxmLGcpfTtiLnB1c2hTdGF0ZT1jO1FHYT1iLnJlcGxhY2VTdGF0ZTt2YXIgZD1mdW5jdGlvbihlLGYsZyl7UUdhLmNhbGwoYixlLGYsZyl9O2IucmVwbGFjZVN0YXRlPWQ7YS5CYT1mdW5jdGlvbigpe1BHYSYmUUdhJiZiLnB1c2hTdGF0ZT09PWMmJmIucmVwbGFjZVN0YXRlPT09ZCYmKGIucHVzaFN0YXRlPVBHYSxiLnJlcGxhY2VTdGF0ZT1RR2EsTUdhPSExKX19O18ubT1PR2EucHJvdG90eXBlO18ubS5SZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLkFhfTtfLm0uYmFjaz1mdW5jdGlvbigpe3RoaXMuQWF8fHRoaXMub2EuaGlzdG9yeS5iYWNrKCl9O18ubS5mb3J3YXJkPWZ1bmN0aW9uKCl7dGhpcy5BYXx8dGhpcy5vYS5oaXN0b3J5LmZvcndhcmQoKX07Xy5tLmdvPWZ1bmN0aW9uKGEpe3RoaXMuQWF8fHRoaXMub2EuaGlzdG9yeS5nbyhhKX07XG5fLm0ucHVzaFN0YXRlPWZ1bmN0aW9uKGEsYixjKXt0aGlzLkFhfHxQR2EuY2FsbCh0aGlzLm9hLmhpc3RvcnksYSxiLGMpfTtfLm0ucmVwbGFjZVN0YXRlPWZ1bmN0aW9uKGEsYixjKXt0aGlzLkFhfHxRR2EuY2FsbCh0aGlzLm9hLmhpc3RvcnksYSxiLGMpfTtfLm0uc3RhdGU9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIHRoaXMub2EuaGlzdG9yeS5zdGF0ZX1jYXRjaChhKXtyZXR1cm4gbnVsbH19O18ubS5MaT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9hLmxvY2F0aW9uLmhyZWZ9O18ubS51Yz1mdW5jdGlvbigpe18uRG4ucHJvdG90eXBlLnVjLmNhbGwodGhpcyk7dGhpcy5CYSYmdGhpcy5CYSgpfTt2YXIgTUdhPSExLFBHYT1udWxsLFFHYT1udWxsO18uRm4obUdhLE9HYSk7dmFyIFNHYSxnb2EsZW9hO18ueGU9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuX193aXpkaXNwYXRjaGVyfTtfLlJHYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5fX2NvbXBvbmVudH07U0dhPWZ1bmN0aW9uKGEsYil7YS5fX2pzY29udHJvbGxlcj1ifTtnb2E9ZnVuY3Rpb24oYSxiKXthLl9fanNtb2RlbD1ifTtlb2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuX19qc21vZGVsfTtfLmNtYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5fX293bmVyfTt2YXIgVEdhLFdHYSxYR2E7VEdhPS9eXFxbKFthLXowLTktXSspKD1cIihbXlxcXFxcIl0qKVwiKT9dJC87V0dhPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhPT1cInN0cmluZ1wiKXtpZihhLmNoYXJBdCgwKT09XCIuXCIpcmV0dXJuIF8uSG4oYS5zdWJzdHIoMSkpO2lmKGEuY2hhckF0KDApPT1cIltcIil7dmFyIGI9VEdhLmV4ZWMoYSk7YT1hLmluZGV4T2YoXCI9XCIpPT0tMT92b2lkIDA6YlszXTtyZXR1cm4gXy5VR2EoYlsxXSxhKX1yZXR1cm4gXy5WR2EoYSl9cmV0dXJuIGF9O18uSG49ZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3JldHVybiBiLmdldEF0dHJpYnV0ZSYmXy5rbS5jb250YWlucyhiLGEpfX07Xy5Jbj1mdW5jdGlvbihhKXtyZXR1cm4gXy5VR2EoXCJqc25hbWVcIixhKX07Xy5VR2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gZnVuY3Rpb24oYyl7cmV0dXJuIGIhPT12b2lkIDA/Yy5nZXRBdHRyaWJ1dGUmJmMuZ2V0QXR0cmlidXRlKGEpPT1iOmMuaGFzQXR0cmlidXRlJiZjLmhhc0F0dHJpYnV0ZShhKX19O1xuXy5WR2E9ZnVuY3Rpb24oYSl7YT1hLnRvVXBwZXJDYXNlKCk7cmV0dXJuIGZ1bmN0aW9uKGIpe3JldHVybihiPWIudGFnTmFtZSkmJmIudG9VcHBlckNhc2UoKT09YX19O1hHYT1mdW5jdGlvbigpe3JldHVybiEwfTtfLllHYT1mdW5jdGlvbihhLGIpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPT0yP2Z1bmN0aW9uKGMpe3JldHVybiBfLldjKGMsYSk9PWJ9OmZ1bmN0aW9uKGMpe3JldHVybiBfLk5mKGMsYSl9fTt2YXIgWkdhPWZ1bmN0aW9uKGEsYil7dGhpcy5vYT1fLndrYShhKTt0aGlzLkFhPWJ9LGFIYSxiSGE7WkdhLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O1pHYS5wcm90b3R5cGUubmV4dD1mdW5jdGlvbigpe3ZhciBhPXRoaXMub2EubmV4dCgpO3JldHVybnt2YWx1ZTphLmRvbmU/dm9pZCAwOnRoaXMuQWEuY2FsbCh2b2lkIDAsYS52YWx1ZSksZG9uZTphLmRvbmV9fTtfLiRHYT1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgWkdhKGEsYil9O2FIYT1mdW5jdGlvbihhLGIpe3RoaXMub2E9Xy53a2EoYSk7dGhpcy5BYT1ifTthSGEucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc307YUhhLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7Zm9yKDs7KXt2YXIgYT10aGlzLm9hLm5leHQoKTtpZihhLmRvbmUpcmV0dXJue2RvbmU6ITAsdmFsdWU6dm9pZCAwfTtpZih0aGlzLkFhLmNhbGwodm9pZCAwLGEudmFsdWUpKXJldHVybiBhfX07XG5iSGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IGFIYShhLGIpfTtfLmNIYT1mdW5jdGlvbihhKXt0aGlzLkFhPWE7dGhpcy5vYT0wfTtfLmNIYS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfTtfLmNIYS5wcm90b3R5cGUubmV4dD1mdW5jdGlvbigpe2Zvcig7dGhpcy5vYTx0aGlzLkFhLmxlbmd0aDspe3ZhciBhPXRoaXMuQWFbdGhpcy5vYV0ubmV4dCgpO2lmKCFhLmRvbmUpcmV0dXJuIGE7dGhpcy5vYSsrfXJldHVybntkb25lOiEwfX07Xy5Kbj1mdW5jdGlvbihhLGIpe3RoaXMuQWE9e307dGhpcy5vYT1bXTt0aGlzLkJhPXRoaXMuc2l6ZT0wO3ZhciBjPWFyZ3VtZW50cy5sZW5ndGg7aWYoYz4xKXtpZihjJTIpdGhyb3cgRXJyb3IoXCJvYVwiKTtmb3IodmFyIGQ9MDtkPGM7ZCs9Mil0aGlzLnNldChhcmd1bWVudHNbZF0sYXJndW1lbnRzW2QrMV0pfWVsc2UgYSYmdGhpcy5hZGRBbGwoYSl9O18ubT1fLkpuLnByb3RvdHlwZTtfLm0ueW49ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zaXplfTtfLm0uWXY9ZnVuY3Rpb24oKXtkSGEodGhpcyk7Zm9yKHZhciBhPVtdLGI9MDtiPHRoaXMub2EubGVuZ3RoO2IrKylhLnB1c2godGhpcy5BYVt0aGlzLm9hW2JdXSk7cmV0dXJuIGF9O18ubS5vQT1mdW5jdGlvbigpe2RIYSh0aGlzKTtyZXR1cm4gdGhpcy5vYS5jb25jYXQoKX07Xy5tLmhhcz1mdW5jdGlvbihhKXtyZXR1cm4gZUhhKHRoaXMuQWEsYSl9O1xuXy5tLmI0PWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wO2I8dGhpcy5vYS5sZW5ndGg7YisrKXt2YXIgYz10aGlzLm9hW2JdO2lmKGVIYSh0aGlzLkFhLGMpJiZ0aGlzLkFhW2NdPT1hKXJldHVybiEwfXJldHVybiExfTtfLm0uZXF1YWxzPWZ1bmN0aW9uKGEsYil7aWYodGhpcz09PWEpcmV0dXJuITA7aWYodGhpcy5zaXplIT1hLnluKCkpcmV0dXJuITE7Yj1ifHxmSGE7ZEhhKHRoaXMpO2Zvcih2YXIgYyxkPTA7Yz10aGlzLm9hW2RdO2QrKylpZighYih0aGlzLmdldChjKSxhLmdldChjKSkpcmV0dXJuITE7cmV0dXJuITB9O3ZhciBmSGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09PWJ9O18uSm4ucHJvdG90eXBlLmlzRW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zaXplPT0wfTtfLkpuLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuQWE9e307dGhpcy5CYT10aGlzLnNpemU9dGhpcy5vYS5sZW5ndGg9MH07Xy5Kbi5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmRlbGV0ZShhKX07XG5fLkpuLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24oYSl7cmV0dXJuIGVIYSh0aGlzLkFhLGEpPyhkZWxldGUgdGhpcy5BYVthXSwtLXRoaXMuc2l6ZSx0aGlzLkJhKyssdGhpcy5vYS5sZW5ndGg+Mip0aGlzLnNpemUmJmRIYSh0aGlzKSwhMCk6ITF9O3ZhciBkSGE9ZnVuY3Rpb24oYSl7aWYoYS5zaXplIT1hLm9hLmxlbmd0aCl7Zm9yKHZhciBiPTAsYz0wO2I8YS5vYS5sZW5ndGg7KXt2YXIgZD1hLm9hW2JdO2VIYShhLkFhLGQpJiYoYS5vYVtjKytdPWQpO2IrK31hLm9hLmxlbmd0aD1jfWlmKGEuc2l6ZSE9YS5vYS5sZW5ndGgpe3ZhciBlPXt9O2ZvcihjPWI9MDtiPGEub2EubGVuZ3RoOylkPWEub2FbYl0sZUhhKGUsZCl8fChhLm9hW2MrK109ZCxlW2RdPTEpLGIrKzthLm9hLmxlbmd0aD1jfX07Xy5tPV8uSm4ucHJvdG90eXBlO18ubS5nZXQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gZUhhKHRoaXMuQWEsYSk/dGhpcy5BYVthXTpifTtcbl8ubS5zZXQ9ZnVuY3Rpb24oYSxiKXtlSGEodGhpcy5BYSxhKXx8KHRoaXMuc2l6ZSs9MSx0aGlzLm9hLnB1c2goYSksdGhpcy5CYSsrKTt0aGlzLkFhW2FdPWJ9O18ubS5hZGRBbGw9ZnVuY3Rpb24oYSl7aWYoYSBpbnN0YW5jZW9mIF8uSm4pZm9yKHZhciBiPWEub0EoKSxjPTA7YzxiLmxlbmd0aDtjKyspdGhpcy5zZXQoYltjXSxhLmdldChiW2NdKSk7ZWxzZSBmb3IoYiBpbiBhKXRoaXMuc2V0KGIsYVtiXSl9O18ubS5mb3JFYWNoPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPXRoaXMub0EoKSxkPTA7ZDxjLmxlbmd0aDtkKyspe3ZhciBlPWNbZF0sZj10aGlzLmdldChlKTthLmNhbGwoYixmLGUsdGhpcyl9fTtfLm0uY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IF8uSm4odGhpcyl9O18ubS50cmFuc3Bvc2U9ZnVuY3Rpb24oKXtmb3IodmFyIGE9bmV3IF8uSm4sYj0wO2I8dGhpcy5vYS5sZW5ndGg7YisrKXt2YXIgYz10aGlzLm9hW2JdO2Euc2V0KHRoaXMuQWFbY10sYyl9cmV0dXJuIGF9O1xuXy5tLmtleXM9ZnVuY3Rpb24oKXtyZXR1cm4gckVhKHRoaXMuaEIoITApKS5vYSgpfTtfLm0udmFsdWVzPWZ1bmN0aW9uKCl7cmV0dXJuIHJFYSh0aGlzLmhCKCExKSkub2EoKX07Xy5tLmVudHJpZXM9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3JldHVybiBfLiRHYSh0aGlzLmtleXMoKSxmdW5jdGlvbihiKXtyZXR1cm5bYixhLmdldChiKV19KX07Xy5tLmhCPWZ1bmN0aW9uKGEpe2RIYSh0aGlzKTt2YXIgYj0wLGM9dGhpcy5CYSxkPXRoaXMsZT1uZXcgXy52bjtlLm5leHQ9ZnVuY3Rpb24oKXtpZihjIT1kLkJhKXRocm93IEVycm9yKFwiV2JcIik7aWYoYj49ZC5vYS5sZW5ndGgpcmV0dXJuIF8uZkVhO3ZhciBmPWQub2FbYisrXTtyZXR1cm4gXy5nRWEoYT9mOmQuQWFbZl0pfTtyZXR1cm4gZX07dmFyIGVIYT1mdW5jdGlvbihhLGIpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxiKX07Xy5Lbj1mdW5jdGlvbihhLGIpe2J8fChiPXt9KTt2YXIgYz13aW5kb3c7dmFyIGQ9YSBpbnN0YW5jZW9mIF8uZ2M/YTpfLmtjKHR5cGVvZiBhLmhyZWYhPVwidW5kZWZpbmVkXCI/YS5ocmVmOlN0cmluZyhhKSk7dmFyIGU9c2VsZi5jcm9zc09yaWdpbklzb2xhdGVkIT09dm9pZCAwLGY9XCJzdHJpY3Qtb3JpZ2luLXdoZW4tY3Jvc3Mtb3JpZ2luXCI7d2luZG93LlJlcXVlc3QmJihmPShuZXcgUmVxdWVzdChcIi9cIikpLnJlZmVycmVyUG9saWN5KTt2YXIgZz1mPT09XCJ1bnNhZmUtdXJsXCI7Zj1iLm5vcmVmZXJyZXI7aWYoZSYmZil7aWYoZyl0aHJvdyBFcnJvcihcIlhiXCIpO2Y9ITF9YT1iLnRhcmdldHx8YS50YXJnZXQ7ZT1bXTtmb3IodmFyIGggaW4gYilzd2l0Y2goaCl7Y2FzZSBcIndpZHRoXCI6Y2FzZSBcImhlaWdodFwiOmNhc2UgXCJ0b3BcIjpjYXNlIFwibGVmdFwiOmUucHVzaChoK1wiPVwiK2JbaF0pO2JyZWFrO2Nhc2UgXCJ0YXJnZXRcIjpjYXNlIFwibm9vcGVuZXJcIjpjYXNlIFwibm9yZWZlcnJlclwiOmJyZWFrO1xuY2FzZSBcImF0dHJpYnV0aW9uc3JjXCI6ZS5wdXNoKGgrKGJbaF0/XCI9XCIrYltoXTpcIlwiKSk7YnJlYWs7ZGVmYXVsdDplLnB1c2goaCtcIj1cIisoYltoXT8xOjApKX1oPWUuam9pbihcIixcIik7Xy5sYSgpJiZjLm5hdmlnYXRvciYmYy5uYXZpZ2F0b3Iuc3RhbmRhbG9uZSYmYSYmYSE9XCJfc2VsZlwiPyhoPV8udWwoXCJBXCIpLGguaHJlZj1seWEoZCksaC50YXJnZXQ9YSxmJiYoaC5yZWw9XCJub3JlZmVycmVyXCIpLCgoYj1iLmF0dHJpYnV0aW9uc3JjKXx8Yj09PVwiXCIpJiZoLnNldEF0dHJpYnV0ZShcImF0dHJpYnV0aW9uc3JjXCIsYiksYj1kb2N1bWVudC5jcmVhdGVFdmVudChcIk1vdXNlRXZlbnRcIiksYi5pbml0TW91c2VFdmVudChcImNsaWNrXCIsITAsITAsYywxKSxoLmRpc3BhdGNoRXZlbnQoYiksYz17fSk6Zj8oYz1teWEoXCJcIixjLGEsaCksYj1fLmljKGQpLGMmJihjLm9wZW5lcj1udWxsLGI9PT1cIlwiJiYoYj1cImphdmFzY3JpcHQ6JydcIiksYj1fLncoJzxtZXRhIG5hbWU9XCJyZWZlcnJlclwiIGNvbnRlbnQ9XCJuby1yZWZlcnJlclwiPjxtZXRhIGh0dHAtZXF1aXY9XCJyZWZyZXNoXCIgY29udGVudD1cIjA7IHVybD0nK1xuXy5kbChiKSsnXCI+JyksKGQ9Yy5kb2N1bWVudCkmJmQud3JpdGUmJihkLndyaXRlKF8udGMoYikpLGQuY2xvc2UoKSkpKTooKGM9bXlhKGQsYyxhLGgpKSYmYi5ub29wZW5lciYmKGMub3BlbmVyPW51bGwpLGMmJmIubm9yZWZlcnJlciYmKGMub3BlbmVyPW51bGwpKTtyZXR1cm4gY307Xy5nSGE9ZnVuY3Rpb24oYSl7dmFyIGI9YS50eXBlO2lmKHR5cGVvZiBiPT09XCJzdHJpbmdcIilzd2l0Y2goYi50b0xvd2VyQ2FzZSgpKXtjYXNlIFwiY2hlY2tib3hcIjpjYXNlIFwicmFkaW9cIjpyZXR1cm4gYS5jaGVja2VkP2EudmFsdWU6bnVsbDtjYXNlIFwic2VsZWN0LW9uZVwiOnJldHVybiBiPWEuc2VsZWN0ZWRJbmRleCxiPj0wP2Eub3B0aW9uc1tiXS52YWx1ZTpudWxsO2Nhc2UgXCJzZWxlY3QtbXVsdGlwbGVcIjpiPVtdO2Zvcih2YXIgYyxkPTA7Yz1hLm9wdGlvbnNbZF07ZCsrKWMuc2VsZWN0ZWQmJmIucHVzaChjLnZhbHVlKTtyZXR1cm4gYi5sZW5ndGg/YjpudWxsfXJldHVybiBhLnZhbHVlIT1udWxsP2EudmFsdWU6bnVsbH07dmFyIGxIYTtfLmpnPWZ1bmN0aW9uKGEpe2EgaW5zdGFuY2VvZiBfLmpnP2E9YS5ObDphWzBdaW5zdGFuY2VvZiBfLmpnJiYoYT1fLmF1YShhLGZ1bmN0aW9uKGIsYyl7cmV0dXJuIF8uUmFhKGIsYy5ObCl9LFtdKSxfLlZhYShhKSk7dGhpcy5ObD1fLkFhKGEpfTtfLmpnLnByb3RvdHlwZS5lYWNoPWZ1bmN0aW9uKGEsYixjKXsoKGM9PT12b2lkIDA/MDpjKT9fLnFhOl8uSGEpKHRoaXMuTmwsYSxiKTtyZXR1cm4gdGhpc307Xy5oZz1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0wO2M8YS5zaXplKCk7YysrKXt2YXIgZD1hLkNkKGMpO2IuY2FsbCh2b2lkIDAsZCxjKX19O18ubT1fLmpnLnByb3RvdHlwZTtfLm0uc2l6ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLk5sLmxlbmd0aH07Xy5tLmlzRW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ObC5sZW5ndGg9PT0wfTtfLm0uZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLk5sW2FdfHxudWxsfTtcbl8ubS5lbD1mdW5jdGlvbigpe3JldHVybiB0aGlzLk5sWzBdfHxudWxsfTtfLm0uUmw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ObC5sZW5ndGg/dGhpcy5ObFswXTpudWxsfTtfLm0uRWI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ObC5sZW5ndGg/dGhpcy5ObFswXTpudWxsfTtfLm0udG9BcnJheT1mdW5jdGlvbigpe3JldHVybiB0aGlzLk5sLnNsaWNlKCl9O18ubS5tYXA9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5waCh0aGlzLk5sLGEsYil9O18ubS5lcXVhbHM9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXM9PT1hfHxfLkdhKHRoaXMuTmwsYS5ObCl9O18ubS5DZD1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uTG4odGhpcy5ObFthPDA/dGhpcy5ObC5sZW5ndGgrYTphXSl9O18ubS5maXJzdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLk5sLmxlbmd0aD09MD9udWxsOm5ldyBfLkxuKHRoaXMuTmxbMF0pfTtcbl8ubS5sYXN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTmwubGVuZ3RoPT0wP251bGw6bmV3IF8uTG4odGhpcy5ObFt0aGlzLk5sLmxlbmd0aC0xXSl9O18ubS5maW5kPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO3RoaXMuZWFjaChmdW5jdGlvbihjKXtjPWMucXVlcnlTZWxlY3RvckFsbChTdHJpbmcoYSkpO2Zvcih2YXIgZD0wO2Q8Yy5sZW5ndGg7ZCsrKWIucHVzaChjW2RdKX0pO3JldHVybiBuZXcgXy5qZyhiKX07Xy5Nbj1mdW5jdGlvbihhLGIpe3ZhciBjPVtdO2EuZWFjaChmdW5jdGlvbihkKXsoZD1kLnF1ZXJ5U2VsZWN0b3IoYikpJiZjLnB1c2goZCl9KTtyZXR1cm4gbmV3IF8uamcoYyl9O18uTm49ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5maW5kKCdbanNuYW1lPVwiJytiKydcIl0nKX07Xy5qZy5wcm90b3R5cGUucGFyZW50PWZ1bmN0aW9uKCl7dmFyIGE9W107dGhpcy5lYWNoKGZ1bmN0aW9uKGIpeyhiPV8ua2UoYikpJiYhXy52YShhLGIpJiZhLnB1c2goYil9KTtyZXR1cm4gbmV3IF8uamcoYSl9O1xuXy5qZy5wcm90b3R5cGUuY2hpbGRyZW49ZnVuY3Rpb24oKXt2YXIgYT1bXTt0aGlzLmVhY2goZnVuY3Rpb24oYil7Yj1fLkVsKGIpO2Zvcih2YXIgYz0wO2M8Yi5sZW5ndGg7YysrKWEucHVzaChiW2NdKX0pO3JldHVybiBuZXcgXy5qZyhhKX07Xy5qZy5wcm90b3R5cGUuZmlsdGVyPWZ1bmN0aW9uKGEpe2E9Xy5vaCh0aGlzLk5sLFdHYShhKSk7cmV0dXJuIG5ldyBfLmpnKGEpfTtfLmhIYT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1bXSxkPTA7ZDxhLnNpemUoKTtkKyspe3ZhciBlPWEuQ2QoZCk7Yi5jYWxsKHZvaWQgMCxlLGQpJiZjLnB1c2goYS5ObFtkXSl9cmV0dXJuIG5ldyBfLmpnKGMpfTtfLmpnLnByb3RvdHlwZS5jbG9zZXN0PWZ1bmN0aW9uKGEpe3ZhciBiPVtdLGM9V0dhKGEpLGQ9ZnVuY3Rpb24oZSl7cmV0dXJuIF8ubWUoZSkmJmMoZSl9O3RoaXMuZWFjaChmdW5jdGlvbihlKXsoZT1fLm5lKGUsZCwhMCkpJiYhXy52YShiLGUpJiZiLnB1c2goZSl9KTtyZXR1cm4gbmV3IF8uamcoYil9O1xuXy5qZy5wcm90b3R5cGUubmV4dD1mdW5jdGlvbihhKXtyZXR1cm4gXy5pSGEodGhpcyxfLkdsLGEpfTtfLmlIYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W107dmFyIGU9Yz9XR2EoYyk6WEdhO2EuZWFjaChmdW5jdGlvbihmKXsoZj1iKGYpKSYmZShmKSYmZC5wdXNoKGYpfSk7cmV0dXJuIG5ldyBfLmpnKGQpfTtfLmpnLnByb3RvdHlwZS5oYXNDbGFzcz1mdW5jdGlvbihhKXtmb3IodmFyIGI9MDtiPHRoaXMuTmwubGVuZ3RoO2IrKylpZihfLmttLmNvbnRhaW5zKHRoaXMuTmxbYl0sYSkpcmV0dXJuITA7cmV0dXJuITF9O18uakhhPWZ1bmN0aW9uKGEsYil7YS5lYWNoKGZ1bmN0aW9uKGMpe18ua20uc2V0KGMsYil9KX07Xy5tPV8uamcucHJvdG90eXBlO18ubS5hZGRDbGFzcz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe18ua20uYWRkKGIsYSl9KX07XG5fLm0ucmVtb3ZlQ2xhc3M9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXtfLmttLnJlbW92ZShiLGEpfSl9O18ubS50b2dnbGVDbGFzcz1mdW5jdGlvbihhLGIpe3JldHVybiBiPT09ITA/dGhpcy5hZGRDbGFzcyhhKTpiPT09ITE/dGhpcy5yZW1vdmVDbGFzcyhhKTp0aGlzLmVhY2goZnVuY3Rpb24oYyl7Xy5rbS50b2dnbGUoYyxhKX0pfTtfLm0uWmI9ZnVuY3Rpb24oKXtpZih0aGlzLk5sLmxlbmd0aD4wKXt2YXIgYT10aGlzLk5sWzBdO2lmKFwidGV4dENvbnRlbnRcImluIGEpcmV0dXJuKDAsXy5uaCkoYS50ZXh0Q29udGVudCk7aWYoXCJpbm5lclRleHRcImluIGEpcmV0dXJuKDAsXy5uaCkoYS5pbm5lclRleHQpfXJldHVyblwiXCJ9O18ubS5GYz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe18uSGwoYixhKX0pfTtfLm0uUGM9ZnVuY3Rpb24oYSl7aWYodGhpcy5ObC5sZW5ndGg+MClyZXR1cm4gdGhpcy5ObFswXS5nZXRBdHRyaWJ1dGUoYSl9O1xuXy5Pbj1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGEuZWFjaChmdW5jdGlvbihkKXtkLnNldEF0dHJpYnV0ZShiLGMpfSl9O18uZ2c9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5lYWNoKGZ1bmN0aW9uKGMpe2MucmVtb3ZlQXR0cmlidXRlKGIpfSl9O18ubT1fLmpnLnByb3RvdHlwZTtfLm0uZ2V0U3R5bGU9ZnVuY3Rpb24oYSl7aWYodGhpcy5ObC5sZW5ndGg+MClyZXR1cm4gXy5ubS5nZXRTdHlsZSh0aGlzLk5sWzBdLGEpfTtfLm0uc2V0U3R5bGU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGMpe18ubm0uc2V0U3R5bGUoYyxhLGIpfSl9O18ubS5nZXREYXRhPWZ1bmN0aW9uKGEpe2lmKHRoaXMuTmwubGVuZ3RoPT09MClyZXR1cm4gbmV3IF8uUWMoYSxudWxsKTt2YXIgYj1fLldjKHRoaXMuTmxbMF0sYSk7cmV0dXJuIG5ldyBfLlFjKGEsYil9O1xuXy5tLkJ6PWZ1bmN0aW9uKGEpe3ZhciBiO2lmKHRoaXMuTmwubGVuZ3RoPT09MHx8KGI9Xy5XYyh0aGlzLk5sWzBdLGEpKT09PW51bGwpdGhyb3cgRXJyb3IoXCJZYmBcIithKTtyZXR1cm4gbmV3IF8uUWMoYSxiKX07Xy5tLnNldERhdGE9ZnVuY3Rpb24oYSxiKXt0aGlzLmVhY2goZnVuY3Rpb24oYyl7Yj09bnVsbD9fLmZuKGMsYSk6Xy5lbihjLGEsYil9KTtyZXR1cm4gdGhpc307Xy5tLmZvY3VzPWZ1bmN0aW9uKGEpe3RyeXthP3RoaXMuZWwoKS5mb2N1cyhhKTp0aGlzLmVsKCkuZm9jdXMoKX1jYXRjaChiKXt9cmV0dXJuIHRoaXN9O1xuXy5tLmNsaWNrPWZ1bmN0aW9uKCl7dmFyIGE9Xy5rZyh0aGlzLmVsKCkpO2lmKGEuY3JlYXRlRXZlbnQpe3ZhciBiPWEuY3JlYXRlRXZlbnQoXCJNb3VzZUV2ZW50c1wiKTtiLmluaXRNb3VzZUV2ZW50KFwiY2xpY2tcIiwhMCwhMCxhLmRlZmF1bHRWaWV3LDEsMCwwLDAsMCwhMSwhMSwhMSwhMSwwLG51bGwpO3RoaXMuZWwoKS5kaXNwYXRjaEV2ZW50KGIpfWVsc2UgYT1hLmNyZWF0ZUV2ZW50T2JqZWN0KCksYS5jbGllbnRYPTAsYS5jbGllbnRZPTAsYS5zY3JlZW5YPTAsYS5zY3JlZW5ZPTAsYS5hbHRLZXk9ITEsYS5jdHJsS2V5PSExLGEuc2hpZnRLZXk9ITEsYS5idXR0b249MCx0aGlzLmVsKCkuZmlyZUV2ZW50KFwib25jbGlja1wiLGEpfTtcbnZhciBrSGE9ZnVuY3Rpb24oYSxiLGMsZCl7ZnVuY3Rpb24gZShoLGssbCl7dmFyIG49aztrJiZrLnBhcmVudE5vZGUmJihuPWsuY2xvbmVOb2RlKCEwKSk7aChuLGwpfWQ9ZD09PXZvaWQgMD8hMTpkO2lmKGEuTmwubGVuZ3RoPT0xKXt2YXIgZj1hLk5sWzBdLGc9ZnVuY3Rpb24oaCl7cmV0dXJuIGIoaCxmKX07YyBpbnN0YW5jZW9mIF8uamc/Yy5lYWNoKGcsdm9pZCAwLGQpOkFycmF5LmlzQXJyYXkoYyk/KGQ/Xy5xYTpfLkhhKShjLGcpOmcoYyk7cmV0dXJuIGF9cmV0dXJuIGEuZWFjaChmdW5jdGlvbihoKXtjIGluc3RhbmNlb2YgXy5qZz9jLmVhY2goZnVuY3Rpb24oayl7ZShiLGssaCl9KTpBcnJheS5pc0FycmF5KGMpP18uSGEoYyxmdW5jdGlvbihrKXtlKGIsayxoKX0pOmUoYixjLGgpfSl9O18ubT1fLmpnLnByb3RvdHlwZTtfLm0uYXBwZW5kPWZ1bmN0aW9uKGEpe3JldHVybiBrSGEodGhpcyxmdW5jdGlvbihiLGMpe2ImJmMuYXBwZW5kQ2hpbGQoYil9LGEpfTtcbl8ubS5yZW1vdmU9ZnVuY3Rpb24oKXtyZXR1cm4ga0hhKHRoaXMsZnVuY3Rpb24oYSxiKXtfLkNsKGIpfSxudWxsKX07Xy5tLmVtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIGtIYSh0aGlzLGZ1bmN0aW9uKGEsYil7Xy54bChiKX0sbnVsbCl9O18ubS5hZnRlcj1mdW5jdGlvbihhLGIpe3JldHVybiBrSGEodGhpcyxmdW5jdGlvbihjLGQpe2MmJl8uQWwoYyxkKX0sYSwhKGI9PT12b2lkIDB8fGIpKX07Xy5tLmJlZm9yZT1mdW5jdGlvbihhKXtyZXR1cm4ga0hhKHRoaXMsZnVuY3Rpb24oYixjKXtiJiZfLnpsKGIsYyl9LGEpfTtfLm0ucmVwbGFjZVdpdGg9ZnVuY3Rpb24oYSl7cmV0dXJuIGtIYSh0aGlzLGZ1bmN0aW9uKGIsYyl7YiYmXy5EbChiLGMpfSxhKX07Xy5tLmVmPWZ1bmN0aW9uKCl7dmFyIGE9ITA7dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe2E9YSYmXy5ubS5YaChiKX0pO3JldHVybiBhfTtcbl8ubS50b2dnbGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXtfLm5tLlZiKGIsYSl9KX07Xy5tLnNob3c9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50b2dnbGUoITApfTtfLm0uaGlkZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRvZ2dsZSghMSl9O18ubS50cmlnZ2VyPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBsSGEodGhpcyxhLGIsYyxkKX07bEhhPWZ1bmN0aW9uKGEsYixjLGQsZSl7cmV0dXJuIGEuZWFjaChmdW5jdGlvbihmKXttSGEoXy54ZShfLmtnKGYpKSxmLGIsYyxkLGUpfSl9O18ucGc9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLmpnP2EuZWwoKTphfTtfLkxuPWZ1bmN0aW9uKGEsYil7YSBpbnN0YW5jZW9mIF8uamcmJihiPWEuTmwsYT1udWxsKTtfLmpnLmNhbGwodGhpcyxhIT1udWxsP1thXTpiKX07Xy5taChfLkxuLF8uamcpO18ubT1fLkxuLnByb3RvdHlwZTtfLm0uY2hpbGRyZW49ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IF8uamcoQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoXy5FbCh0aGlzLk5sWzBdKSkpfTtcbl8ubS5lYWNoPWZ1bmN0aW9uKGEsYil7YS5jYWxsKGIsdGhpcy5ObFswXSwwKTtyZXR1cm4gdGhpc307Xy5tLnNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gMX07Xy5tLmVsPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTmxbMF19O18ubS5SbD1mdW5jdGlvbigpe3JldHVybiB0aGlzLk5sWzBdfTtfLm0uRWI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ObFswXX07Xy5tLkNkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O18ubS5maXJzdD1mdW5jdGlvbigpe3JldHVybiB0aGlzfTtfLlBuPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluc3RhbmNlb2YgXy5Mbj9hOm5ldyBfLkxuKF8ucGcoYSkpfTtfLmZmKF8uQW4pO3ZhciBuSGE9ZnVuY3Rpb24oYSl7Xy5Ebi5jYWxsKHRoaXMsYS5OYSk7dGhpcy5vYT13aW5kb3d9O18uRChuSGEsXy5Ebik7bkhhLldhPV8uRG4uV2E7bkhhLklhPV8uRG4uSWE7bkhhLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vYX07bkhhLnByb3RvdHlwZS5BZj1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9hLmRvY3VtZW50fTtuSGEucHJvdG90eXBlLmZpbmQ9ZnVuY3Rpb24oYSl7cmV0dXJuKG5ldyBfLkxuKHRoaXMub2EuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSkuZmluZChhKX07Xy5GbihfLmxHYSxuSGEpO3ZhciBmbGE9MDt2YXIgU2thLG5sYSxaa2EsUGthLEprYSxJa2EsRWthLFFkLEhrYSxOa2EsQmthLG1sYTtTa2E9e3Rocm93RXhjZXB0aW9uOl8uY2F9O18uT2Q9Xy5RZSgpO18uaWxhPWZ1bmN0aW9uKGEpe18uT2QuaGlzdG9yeS5nbyhhKX07Xy5MZD1udWxsO18uUmthPW5ldyBNYXA7Xy5Ra2E9bmV3IFNldDtfLlVrYT1uZXcgTWFwO1prYT1bXTtQa2E9bnVsbDtJa2E9MDtOa2E9bmV3IFNldDtfLkZrYSgpLnNldEluaXRpYWxWYWx1ZShcIkhJU1RPUllfSEVBRF9JRFwiLF8uY2goXCJwZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0XCIsXy5PZCl8fERhdGUubm93KCkpO0JrYT1mdW5jdGlvbigpe3JldHVybiBfLk9kLmhpc3Rvcnkuc3RhdGV9O21sYT1mdW5jdGlvbigpe307Xy5vbGE9ZnVuY3Rpb24oYSl7cmV0dXJuISFhJiZhLnN1YnN0cigxKS5pbmRleE9mKFwiI1wiKT4tMX07dmFyIHFsYT17fTt2YXIgd2xhO18ucmxhPV8uWmQoXCJzXCIse25hbWU6XCJoc2JcIn0pO3dsYT1bXy5ybGFdO1xuXy5Va2Euc2V0KFwiaHNcIix7Z2V0U3RhdGU6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9YS5tZXRhZGF0YTtiPWUuc3RhY2tJZDtlPWUucHVzaElkO2M9KEFycmF5LmlzQXJyYXkoYyk/YzpbXSkuc2xpY2UoKTtpZighZHx8IWMubGVuZ3RoKXtjLnB1c2goZSk7ZD1fLnNsYShiKTtmb3IodmFyIGY9YS5tZXRhZGF0YS5zdGFja0luZGV4LGc9Yy5zbGljZSgwLC01MCksaD1fLlBhKHdsYSksaz1oLm5leHQoKTshay5kb25lO2s9aC5uZXh0KCkpe2s9ay52YWx1ZTtmb3IodmFyIGw9Xy5QYShnKSxuPWwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSlrLnJlbW92ZShTdHJpbmcoZFtuLnZhbHVlXSkpO2ZvcihsPWY7bDxkLmxlbmd0aDsrK2wpay5yZW1vdmUoU3RyaW5nKGRbbF0pKX1jPWMuc2xpY2UoLTUwKTtfLnJsYS5zZXQoU3RyaW5nKGIpLGMsXCIqXCIpfWE9T2JqZWN0LmFzc2lnbih7fSxhKTtfLnJsYS5zZXQoU3RyaW5nKGUpLGEsXCIqXCIpO3JldHVybiBjfX0pO3ZhciB0bGE9ITE7Xy5SRmEoZnVuY3Rpb24oKXt4bGEoKX0pO3ZhciBIbGEseWxhO3lsYT17fTtfLm9IYT0hMTtfLnpsYT17fTtfLkFsYT1udWxsO18uUkZhKGZ1bmN0aW9uKCl7dmFyIGE9Xy5jaChcImdvb2dsZS5oc1wiKSxiPV8uUWUoKTthJiYoXy5vSGE9ISFhLmgmJiEhYi5oaXN0b3J5JiYhIWIuaGlzdG9yeS5wdXNoU3RhdGUpO2E9Xy5KYygpOyhhPWEuaGFzaD9hLmhyZWYuc3Vic3RyKGEuaHJlZi5pbmRleE9mKFwiI1wiKSk6XCJcIikmJmEuc3Vic3RyKDEpLmluZGV4T2YoXCIjXCIpPi0xJiYoYT1lbmNvZGVVUklDb21wb25lbnQoYSksZ29vZ2xlLmxvZyhcImpiaFwiLFwiJmg9XCIrYS5zdWJzdHIoMCw0MCkpLF8uSmMoKS5oYXNoPVwiXCIpO0hsYT1tRmEoXy5KYygpLnNlYXJjaC5zdWJzdHJpbmcoMSkpO18uS2xhKEhsYSk7Xy5hZT1fLktsYShfLlBsYShfLkpjKCkuaHJlZikuc3RhdGUpO18uVmthKE9sYSl9KTt6ZChcIlM4NHF1YlwiLFwiYmlnQU1jXCIpO3pkKFwiR0xHSjRcIixcImE5RHI2XCIpO3pkKFwiR0xHSjRcIixcImJpZ0FNY1wiKTt6ZChcIkM2bTJTXCIsXCJhOURyNlwiKTt6ZChcIkM2bTJTXCIsXCJKZVBTbGRcIik7dmFyIFNsYT1mdW5jdGlvbihhLGIsYyxkLGUsZil7dGhpcy5pQT1SbGEoKTt0aGlzLk9hPVtdO3RoaXMuUmE9e307dGhpcy5vYT1uZXcgTWFwO3RoaXMuVWE9e307dGhpcy5DYT0hMTt0aGlzLkFhPXt9O3RoaXMuaGI9e307dGhpcy53Yj10aGlzLkxhPSExO3RoaXMua2I9YS5yZXBsYWNlKHBIYSxcIl9cIik7dGhpcy5HYj1hO3RoaXMuQmE9Ynx8bnVsbDt0aGlzLllnPWN8fG51bGw7dGhpcy5PYj1lfHxudWxsO3RoaXMuR2E9Znx8bnVsbDshdGhpcy5HYSYmYyYmYy50YXJnZXQmJmMudGFyZ2V0Lm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJih0aGlzLkdhPWMudGFyZ2V0KTt0aGlzLkJiPXRoaXMuUWE9ZHx8RGF0ZS5ub3coKTt0aGlzLm9hLnNldChcIm1haW4tYWN0aW9uZmxvdy1icmFuY2hcIiwxKTtjJiZiJiZjLnR5cGU9PT1cImNsaWNrXCImJnRoaXMuYWN0aW9uKGIpO3FIYS5wdXNoKHRoaXMpO3RoaXMuUmI9KytySGE7YT1RbGEoXCJjcmVhdGVkXCIsdGhpcyk7c0hhIT1udWxsJiZzSGEuZGlzcGF0Y2hFdmVudChhKX07XG5fLm09U2xhLnByb3RvdHlwZTtfLm0uaWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5SYn07Xy5tLmdldFRpY2s9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1cInN0YXJ0XCI/dGhpcy5RYTp0aGlzLlJhW2FdfTtfLm0uZ2V0VHlwZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmtifTtfLm0uRWM9ZnVuY3Rpb24oYSl7dGhpcy5rYj1hLnJlcGxhY2UocEhhLFwiX1wiKTt0aGlzLkdiPWF9O18ubS50aWNrPWZ1bmN0aW9uKGEsYil7dGhpcy5DYSYmdGhpcy5pbShcInRpY2tcIix2b2lkIDAsYSk7dmFyIGM7Yj0oYz1iKSE9bnVsbD9jOnt9O2EgaW4gdGhpcy5SYSYmKHRoaXMuVWFbYV09ITApO2M9Yi50aW1lfHxEYXRlLm5vdygpOyFiLmU3YyYmIWIuV3dlJiZjPnRoaXMuQmImJih0aGlzLkJiPWMpO2Zvcih2YXIgZD1jLXRoaXMuUWEsZT10aGlzLk9hLmxlbmd0aDtlPjAmJnRoaXMuT2FbZS0xXVsxXT5kOyllLS07dGhpcy5PYS5zcGxpY2UoZSwwLFthLGQsYi5lN2NdKTt0aGlzLlJhW2FdPWN9O1xuXy5tLmRvbmU9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMub2EuZ2V0KGEpO2lmKHRoaXMuQ2F8fGQ9PT12b2lkIDApdGhpcy5pbShcImRvbmVcIixhLGIpO2Vsc2V7YiYmdGhpcy50aWNrKGIsYyk7ZC0tO3RoaXMub2Euc2V0KGEsZCk7ZD09PTAmJnRoaXMub2EuZGVsZXRlKGEpO2lmKGE9dGhpcy5vYS5zaXplPT09MClpZihzSGEpe2I9YT1cIlwiO2Zvcih2YXIgZSBpbiB0aGlzLlVhKXRoaXMuVWEuaGFzT3duUHJvcGVydHkoZSkmJihiPWIrYStlLGE9XCJ8XCIpO2ImJih0aGlzLmhiLmR1cD1iKTtlPVFsYShcImJlZm9yZWRvbmVcIix0aGlzKTtpZih0aGlzLmlBLmRpc3BhdGNoRXZlbnQoZSkmJnNIYS5kaXNwYXRjaEV2ZW50KGUpKXtlPVtdO2E9Xy5QYShPYmplY3QuZW50cmllcyh0aGlzLmhiKSk7Zm9yKGI9YS5uZXh0KCk7IWIuZG9uZTtiPWEubmV4dCgpKWM9Xy5QYShiLnZhbHVlKSxiPWMubmV4dCgpLnZhbHVlLGM9Yy5uZXh0KCkudmFsdWUsYj1lbmNvZGVVUklDb21wb25lbnQoYiksYz1cbmVuY29kZVVSSUNvbXBvbmVudChjKS5yZXBsYWNlKC8lN0MvZyxcInxcIiksZS5wdXNoKGIrXCI6XCIrYyk7KGU9ZS5qb2luKFwiLFwiKSkmJih0aGlzLkFhLmNhZD1lKTtlPVFsYShcImRvbmVcIix0aGlzKTthPXNIYS5kaXNwYXRjaEV2ZW50KGUpfWVsc2UgYT0hMX1lbHNlIGE9ITA7YSYmKHRoaXMuQ2E9ITAsZT1xSGEuaW5kZXhPZih0aGlzKSxlIT09LTEmJnFIYS5zcGxpY2UoZSwxKSx0aGlzLkdhPXRoaXMuWWc9dGhpcy5CYT1udWxsLHRoaXMuaUE9UmxhKCksdGhpcy53Yj0hMCl9fTtfLm0uaXNEaXNwb3NlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLndifTtfLm0uUXY9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuQ2EmJnRoaXMuaW0oXCJicmFuY2hcIixhLGIpO2ImJnRoaXMudGljayhiLGMpO3ZhciBkO2I9KGQ9dGhpcy5vYS5nZXQoYSkpIT1udWxsP2Q6MDtiKys7dGhpcy5vYS5zZXQoYSxiKX07Xy5tLnRpbWVycz1mdW5jdGlvbigpe3JldHVybiB0aGlzLk9hfTtcbl8ubS5pbT1mdW5jdGlvbihhLGIsYyl7aWYoc0hhKXt2YXIgZD1RbGEoXCJlcnJvclwiLHRoaXMpO2QuZXJyb3I9YTtkLlF2PWI7ZC50aWNrPWM7ZC5maW5pc2hlZD10aGlzLkNhO3NIYS5kaXNwYXRjaEV2ZW50KGQpfX07XG5fLm0uYWN0aW9uPWZ1bmN0aW9uKGEpe3RoaXMuQ2EmJnRoaXMuaW0oXCJhY3Rpb25cIik7dmFyIGI9W10sYz1udWxsLGQ9bnVsbCxlPW51bGwsZj1udWxsO1VsYShhLGZ1bmN0aW9uKGcpe3ZhciBoOyFnLl9fb2kmJmcuZ2V0QXR0cmlidXRlJiYoZy5fX29pPShoPWcuZ2V0QXR0cmlidXRlKFwib2lcIikpIT1udWxsP2g6dm9pZCAwKTtpZihoPWcuX19vaSliLnVuc2hpZnQoaCksY3x8KGM9Zy5nZXRBdHRyaWJ1dGUoXCJqc2luc3RhbmNlXCIpKTtlfHxkJiZkIT09XCIxXCJ8fChlPWcuZ2V0QXR0cmlidXRlKFwidmVkXCIpKTtmfHwoZj1nLmdldEF0dHJpYnV0ZShcInZldFwiKSk7ZHx8KGQ9Zy5nZXRBdHRyaWJ1dGUoXCJqc3RyYWNrXCIpKX0pO2YmJih0aGlzLkFhLnZldD1mKTtkJiYodGhpcy5BYS5jdD10aGlzLmtiLGIubGVuZ3RoPjAmJnRIYSh0aGlzLGIuam9pbihcIi5cIikpLGMmJihhPWMuY2hhckF0KDApPT09XCIqXCI/TnVtYmVyKGMuc2xpY2UoMSkpOk51bWJlcihjKSx0aGlzLkFhLmNkPWEpLGQhPT1cIjFcIiYmXG4odGhpcy5BYS5laT1kKSxlJiYodGhpcy5BYS52ZWQ9ZSkpfTt2YXIgdEhhPWZ1bmN0aW9uKGEsYil7YS5DYSYmYS5pbShcImV4dHJhZGF0YVwiKTthLmhiLm9pPWIudG9TdHJpbmcoKS5yZXBsYWNlKC9bOjssXFxzXS9nLFwiX1wiKX07Xy5tPVNsYS5wcm90b3R5cGU7Xy5tLks0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQWF9O18ubS5jYWxsYmFjaz1mdW5jdGlvbihhLGIsYyxkKXt0aGlzLlF2KGIsYyk7dmFyIGU9dGhpcztyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZj1fLmxjLmFwcGx5KDAsYXJndW1lbnRzKTt0cnl7cmV0dXJuIGEuY2FsbC5hcHBseShhLFt0aGlzXS5jb25jYXQoXy5tZChmKSkpfWZpbmFsbHl7ZS5kb25lKGIsZCl9fX07Xy5tLm5vZGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5CYX07Xy5tLmV2ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWWd9O18ubS5ldmVudFR5cGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5PYn07Xy5tLnRhcmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkdhfTtcbl8ubS52YWx1ZT1mdW5jdGlvbihhKXtpZih0aGlzLkJhKXtpZihhIGluIHRoaXMuQmEpcmV0dXJuIHRoaXMuQmFbYV07aWYodGhpcy5CYS5nZXRBdHRyaWJ1dGUpcmV0dXJuIHRoaXMuQmEuZ2V0QXR0cmlidXRlKGEpfX07XG52YXIgdUhhPWZ1bmN0aW9uKGEsYil7aWYoIWEuWWcpcmV0dXJuIDA7dmFyIGM9YS5ZZztyZXR1cm4gYy56d2E9PW51bGx8fChiPT09dm9pZCAwfHxiKSYmYy5zJGI/MDooYS5MYT93aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCt3aW5kb3cucGVyZm9ybWFuY2Uubm93KCk6Yy50aW1lU3RhbXApLWMuendhfSx2SGE9ZnVuY3Rpb24oYSl7aWYoIWEuWWcpcmV0dXJuIG51bGw7dmFyIGI9YS5ZZztyZXR1cm4gYi56d2E9PW51bGw/Yi50aW1lU3RhbXA6YS5MYT8oYT13aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0KT9iLnp3YS1hOm51bGw6Yi56d2F9LHFIYT1bXSxzSGE9UmxhKCkscEhhPS9bfi4sPyYtXS9nLHJIYT0wO3ZhciB3SGE9ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGU7U2xhLmNhbGwodGhpcywoZD0oYj1qZShhKSk9PW51bGw/dm9pZCAwOmIubmFtZSkhPW51bGw/ZDpcIlwiLChlPShjPWplKGEpKT09bnVsbD92b2lkIDA6Yy5lbGVtZW50KSE9bnVsbD9lOm51bGwsYS5JRygpLGEuSXEoKSxhLm9hLmV2ZW50VHlwZSxhLm9hLnRhcmdldEVsZW1lbnQpfTtfLkQod0hhLFNsYSk7dmFyIFNyYT1mdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gbmV3IHdIYShhKX19O3ZhciB5SGE7Xy54SGE9d2luZG93LnBlcmZvcm1hbmNlJiZ3aW5kb3cucGVyZm9ybWFuY2Uubm93KCk7eUhhPV8ueEhhP2Z1bmN0aW9uKCl7cmV0dXJuIHdpbmRvdy5wZXJmb3JtYW5jZS5ub3coKX06ZnVuY3Rpb24oKXtyZXR1cm4gRGF0ZS5ub3coKX07Xy56SGE9ZnVuY3Rpb24oKXt9O18uekhhLnByb3RvdHlwZS5zdGFydD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnN0YXJ0VGltZT09bnVsbD8odGhpcy5zdGFydFRpbWU9eUhhKCksdGhpcy5zdGFydERhdGU9RGF0ZS5ub3coKSwhMCk6ITF9O18uekhhLnByb3RvdHlwZS5nZXRTdGFydFRpbWU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zdGFydFRpbWV9O18uekhhLnByb3RvdHlwZS5lbGFwc2VkVGltZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnN0YXJ0VGltZT09bnVsbD8wOk1hdGgucm91bmQoTWF0aC5tYXgoeUhhKCktdGhpcy5zdGFydFRpbWUsMCkpfTtfLlFuPWZ1bmN0aW9uKGEsYixjLGQpe2E9YT09PXZvaWQgMD9cIndlYlwiOmE7Yj1iPT09dm9pZCAwP1wiY3NpXCI6Yjt0aGlzLnJ0PXt9O3RoaXMub2E9bmV3IF8uekhhO3RoaXMuSUI9Xy5nbigoMCxfLmptLnVCKSgpLGMsZCk7dGhpcy5JQi5NYyhcInNcIixhKS5NYyhcImF0eXBcIixiKX07Xy5Rbi5wcm90b3R5cGUuTWM9ZnVuY3Rpb24oYSxiKXt0aGlzLklCLk1jKGEsYik7cmV0dXJuIHRoaXN9O18uUW4ucHJvdG90eXBlLnN0YXJ0PWZ1bmN0aW9uKCl7dGhpcy5vYS5zdGFydCgpO3JldHVybiB0aGlzfTtfLlJuPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYS5PRChiLGEub2EuZWxhcHNlZFRpbWUoKSxjKX07Xy5Rbi5wcm90b3R5cGUuT0Q9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWE7YyYmKGQ9YStcIi1cIitjKTt0aGlzLnJ0W2RdPWI7cmV0dXJuIHRoaXN9O18uUW4ucHJvdG90eXBlLmxvZz1mdW5jdGlvbigpe18uY2ModGhpcy5ydCl8fHRoaXMuTWMoXCJydFwiLF8uVmxhKHRoaXMucnQpKTt0aGlzLklCLmxvZygpfTt2YXIgQkhhO18uQUhhPWZ1bmN0aW9uKGEpe3RoaXMub2E9YX07Xy5BSGEucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub2F9O18uSj1mdW5jdGlvbihhKXtyZXR1cm4gQkhhW2FdfHwoQkhhW2FdPW5ldyBfLkFIYShhKSl9O0JIYT17fTtfLkNIYT1fLkooXCJ3WlZIbGRcIik7Xy5ESGE9Xy5KKFwibkRhOGljXCIpO18uRUhhPV8uSihcIm8wN0haY1wiKTtfLkZIYT1fLkooXCJValFNYWNcIik7dmFyIFBuYSxTSGE7Xy5HSGE9Xy5KKFwidGk2aEdjXCIpO18uSEhhPV8uSihcIlpZSWZGZFwiKTtfLklIYT1fLkooXCJlUXNRQlwiKTtfLkpIYT1fLkooXCJPMWh0Q2JcIik7Xy5LSGE9Xy5KKFwiZzZjSkhkXCIpO18uTEhhPV8uSihcIm90YjI5ZVwiKTtfLk1IYT1fLkooXCJBSG11d2VcIik7Xy5OSGE9Xy5KKFwiTzIycDNlXCIpO18uU249Xy5KKFwiSklidVFjXCIpO18uT0hhPV8uSihcImloNFhFYlwiKTtfLlBIYT1fLkooXCJzUHZqOGVcIik7Xy5RSGE9Xy5KKFwiR3ZuZUhiXCIpO18uUkhhPV8uSihcInJjdVE2YlwiKTtQbmE9Xy5KKFwiZHlSY3BiXCIpO1NIYT1fLkooXCJ1MHBqb2VcIik7dmFyIFRIYTtUSGE9bmV3IFdlYWtNYXA7Xy5sZT1uZXcgV2Vha01hcDt2YXIgYW1hPSExLGdtYT1uZXcgV2Vha01hcDt2YXIgVUhhPVJlZ0V4cChcIl5cXFxcLj8oXFxcXHcrKSg/OlxcXFwoKFtcXFxcd3w9LV0rKVxcXFwpKT8kXCIpLFZIYT1SZWdFeHAoXCJeKHRyaWdnZXIuW1xcXFx3XFxcXC5dKykoPzpcXFxcKChbXFxcXHd8PS1dKylcXFxcKSk/JFwiKTt2YXIgV0hhPWZ1bmN0aW9uKGEsYixjKXt0aGlzLmFjdGlvbj1hO3RoaXMudGFyZ2V0PWJ8fG51bGw7dGhpcy5hcmdzPWN8fG51bGx9O1dIYS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm5cIndpei5BY3Rpb248bmFtZT1cIit0aGlzLmFjdGlvbitcIiwganNuYW1lPVwiK3RoaXMudGFyZ2V0K1wiPlwifTt2YXIgWEhhPXt9LFlIYT1mdW5jdGlvbigpe3RoaXMub2E9W119LFpIYT1mdW5jdGlvbihhKXt2YXIgYj1YSGFbYV07aWYoYilyZXR1cm4gYjt2YXIgYz1hLnN0YXJ0c1dpdGgoXCJ0cmlnZ2VyLlwiKTtiPWEuc3BsaXQoXCIsXCIpO3ZhciBkPW5ldyBZSGE7Yi5mb3JFYWNoKGZ1bmN0aW9uKGUpe2U9KDAsXy5uaCkoZSk7ZT1lLm1hdGNoKGM/VkhhOlVIYSk7dmFyIGY9bnVsbCxnPW51bGw7aWYoZVsyXSlmb3IodmFyIGg9ZVsyXS5zcGxpdChcInxcIiksaz0wO2s8aC5sZW5ndGg7aysrKXt2YXIgbD1oW2tdLnNwbGl0KFwiPVwiKTtsWzFdPyhmfHwoZj17fSksZltsWzBdXT1sWzFdKTpnPWxbMF19ZC5hZGQobmV3IFdIYShlWzFdLGcsZikpfSk7cmV0dXJuIFhIYVthXT1kfTtZSGEucHJvdG90eXBlLmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9hfTtZSGEucHJvdG90eXBlLmFkZD1mdW5jdGlvbihhKXt0aGlzLm9hLnB1c2goYSl9O18ucGU9ZnVuY3Rpb24oYSxiLGMsZCxlKXt0aGlzLnR5cGU9YS50eXBlO3RoaXMuZXZlbnQ9YTt0aGlzLnRhcmdldEVsZW1lbnQ9Yjt0aGlzLkFiPWM7dGhpcy5kYXRhPWEuZGF0YTt0aGlzLnNvdXJjZT1kO3RoaXMub2E9ZT09PXZvaWQgMD9iOmV9O18ucGUucHJvdG90eXBlLmNhc3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc307dmFyICRIYTskSGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLl9fd2l6O2N8fChjPWEuX193aXo9e30pO3JldHVybiBjW2IudG9TdHJpbmcoKV19O18uSW1hPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uZG1hKGEsZnVuY3Rpb24oYyl7cmV0dXJuIF8ubWUoYykmJmMuaGFzQXR0cmlidXRlKFwianNjb250cm9sbGVyXCIpfSxiLCEwKX07dmFyIGFJYT17fTt2YXIgYklhLGVJYSxnSWEsY0lhO2JJYT17fTtfLnVlPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPSgwLF8ubmgpKGEuZ2V0QXR0cmlidXRlKFwianNhY3Rpb25cIil8fFwiXCIpO2M9KDAsXy5oaCkoYyxkfHxudWxsKTtiPWIgaW5zdGFuY2VvZiBBcnJheT9iOltiXTtkPV8uUGEoYik7Zm9yKHZhciBmPWQubmV4dCgpOyFmLmRvbmU7Zj1kLm5leHQoKSl7Zj1mLnZhbHVlO2NJYShlLGYpfHwoZSYmIS87JC8udGVzdChlKSYmKGUrPVwiO1wiKSxlKz1mK1wiOi5DTElFTlRcIixfLmRJYShhLGUpKTt2YXIgZz0kSGEoYSxmKTtnP2cucHVzaChjKTphLl9fd2l6W2ZdPVtjXX1yZXR1cm57ZXQ6YixjYjpjLGVsOmF9fTtfLlRuPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlO3JldHVybiBlPV8udWUoYSxiLGZ1bmN0aW9uKGYpe18udGUoZSk7cmV0dXJuIGMuY2FsbChkLGYpfSxudWxsKX07Xy55ZT1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gXy51ZShhLGIsYyxkKX07XG5fLnRlPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0hMCxjPV8uUGEoYS5ldCksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpe2Q9ZC52YWx1ZTt2YXIgZT0kSGEoYS5lbCxkKTtpZihlKXt2YXIgZj1fLnphKGUsYS5jYik7ZS5sZW5ndGg9PTAmJmVJYShhLmVsLGQpO2I9YiYmZn1lbHNlIGI9ITF9cmV0dXJuIGJ9O18uZklhPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYiBpbiBhLl9fd2l6KWVJYShhLGIpO2EuX193aXo9dm9pZCAwfTtlSWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz0oMCxfLm5oKShhLmdldEF0dHJpYnV0ZShcImpzYWN0aW9uXCIpfHxcIlwiKTtiKz1cIjouQ0xJRU5UXCI7Yz1jLnJlcGxhY2UoYitcIjtcIixcIlwiKTtjPWMucmVwbGFjZShiLFwiXCIpO18uZElhKGEsYyl9O18uZElhPWZ1bmN0aW9uKGEsYil7YS5zZXRBdHRyaWJ1dGUoXCJqc2FjdGlvblwiLGIpO18ua21hKGEpfTtfLlVuPWZ1bmN0aW9uKGEsYixjKXtfLnplKGEsYixjKX07XG5nSWE9ZnVuY3Rpb24oYSxiLGMsZCxlKXtfLnplKGEsYixjLGQsZSl9O18uemU9ZnVuY3Rpb24oYSxiLGMsZCxlKXttSGEoXy54ZShfLmtnKGEpKSxhLGIsYyxkLGUpfTtfLm1mPWZ1bmN0aW9uKGEsYixjLGQsZSl7YT1fLmhJYShhLGIpO18uSGEoYSxmdW5jdGlvbihmKXt2YXIgZz1lO2QmJihnPWd8fHt9LGcuX19zb3VyY2U9ZCk7Xy56ZShmLGIsYywhMSxnKX0pfTtfLmhJYT1mdW5jdGlvbihhLGIpe3ZhciBjPVtdLGQ9ZnVuY3Rpb24oZSl7dmFyIGY9ZnVuY3Rpb24oZyl7Xy5sZS5oYXMoZykmJl8uSGEoXy5sZS5nZXQoZyksZnVuY3Rpb24oaCl7Xy53ZihhLGgpfHxkKGgpfSk7Xy5pSWEoZyxiKSYmYy5wdXNoKGcpfTtfLkhhKGUucXVlcnlTZWxlY3RvckFsbCgnW2pzYWN0aW9uKj1cIicrYisnXCJdLFtqc2NvbnRyb2xsZXJdW19fSVNfT1dORVJdJyksZik7Xy5tZShlKSYmZihlKX07ZChhKTtyZXR1cm4gY307XG5fLmlJYT1mdW5jdGlvbihhLGIpe3ZhciBjPWEuX19qc2FjdGlvbjtyZXR1cm4gYz8hIWNbYl06Y0lhKGEuZ2V0QXR0cmlidXRlKFwianNhY3Rpb25cIiksYil9O2NJYT1mdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybiExO3ZhciBjPWFJYVthXTtpZihjKXJldHVybiEhY1tiXTtjPWJJYVtiXTtjfHwoYz1uZXcgUmVnRXhwKFwiKF5cXFxccypcIitiK1wiXFxcXHMqOnxbXFxcXHM7XVwiK2IrXCJcXFxccyo6KVwiKSxiSWFbYl09Yyk7cmV0dXJuIGMudGVzdChhKX07dmFyIGpJYT1mdW5jdGlvbigpe307aklhLnByb3RvdHlwZS5DYT1mdW5jdGlvbigpe307dmFyIGtJYSxtSWE7a0lhPVtcImNsaWNrXCIsXCJmb2N1c1wiLFwidG91Y2hzdGFydFwiLFwibW91c2Vkb3duXCJdO18ubElhPSEwO21JYT1mdW5jdGlvbihhKXt0aGlzLkdhPWE9PT12b2lkIDA/bnVsbDphO3RoaXMub2E9MDt0aGlzLk9hPSExO3RoaXMuQWE9e307dGhpcy5MYT1nb29nbGUueGpzdT9fLmVkKGdvb2dsZS54anN1KS5WdGIoKTpudWxsO3RoaXMuQmE9W119O18uRChtSWEsaklhKTt2YXIgbklhPWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/ITA6YztpZihiLm5vZGUoKT09bnVsbClyZXR1cm4gMDt2YXIgZD1iLmV2ZW50VHlwZSgpO3JldHVybiBNYXRoLnJvdW5kKGQmJmQmJmQgaW4gYS5BYT9hLkFhW2RdOnVIYShiLGMpKX07XG5tSWEucHJvdG90eXBlLkNhPWZ1bmN0aW9uKGEsYil7aWYoIXRoaXMuT2Epe2lmKGEudGFyZ2V0KCkmJmEuZXZlbnRUeXBlKCk9PT1cImNsaWNrXCIpe3ZhciBjPWEudGFyZ2V0KCk7aWYodGhpcy5CYS5pbmNsdWRlcyhjKSYmXy5sSWEmJmMudGFnTmFtZSE9PVwiVEVYVEFSRUFcIiYmKGMudGFnTmFtZSE9PVwiSU5QVVRcInx8Yy5nZXRBdHRyaWJ1dGUoXCJ0eXBlXCIpIT09XCJ0ZXh0XCIpKXt2YXIgZD10aGlzLkdhfHxfLmREYShjKTtkJiZkLk1jKFwiRFVQTElDQVRFX0pTQUNUSU9OXCIsXCJ0cnVlXCIpLmxvZygpfXRoaXMuQmEucHVzaChjKT4xJiZ0aGlzLkJhLnNoaWZ0KCl9KGM9dGhpcy5vYT49MTApfHwoYS5ub2RlKCk/KGM9YS5HYi5zcGxpdChcIi5cIiksYy5sZW5ndGghPT0yfHxjWzBdIT09XCJmaXJlXCI/Yz0hMTooZD11SGEoYSksdGhpcy5BYVtjWzFdXT1kLGM9ITApKTpjPSExKTtjfHxhLm5vZGUoKT09bnVsbD9jPSExOihjPWEuZXZlbnRUeXBlKCksYz1fLnZhKGtJYSxjKXx8YyYmYyBpbiB0aGlzLkFhP1xuITA6ITEpO2lmKGMpe3RoaXMub2ErKztjPWJ8fG51bGw7ZD1uSWEodGhpcyxhKTt2YXIgZT1uSWEodGhpcyxhLCExKSxmPWEuZXZlbnRUeXBlKCk7Yj1hLm5vZGUoKTt2YXIgZz12SGEoYSk7YT1bXTt0aGlzLkxhJiZhLnB1c2godGhpcy5MYSk7ZyYmYS5wdXNoKFwic3QuXCIrTWF0aC5yb3VuZChnKS50b1N0cmluZygpKTt0aGlzLm9hPD0xJiYoYS5wdXNoKFwidC5cIitkLnRvU3RyaW5nKCkpLGEucHVzaChcImF0LlwiK2UudG9TdHJpbmcoKSkpO3RoaXMub2E+MSYmKGEucHVzaChcInRuaS5cIitkLnRvU3RyaW5nKCkpLGEucHVzaChcImF0bmkuXCIrZS50b1N0cmluZygpKSk7ZiYmYS5wdXNoKFwiZXQuXCIrZik7KGQ9Xy5VYyhiKSkmJmEucHVzaChcInZlLlwiK2QpO2MhPW51bGwmJmEucHVzaChcIm4uXCIrYyk7YS5wdXNoKFwiY24uXCIrdGhpcy5vYSk7Yz1fLmlJYShiLF8uUkhhKTtjIT1udWxsJiZhLnB1c2goXCJpZS5cIisoYz8xOjApKTtiPV8uWmxhKGIsITEsITEsbnVsbCk7YS5wdXNoKFwidmkuXCIrYik7KHRoaXMuR2F8fFxubmV3IF8uUW4oXCJqc2FcIikpLk1jKFwianNpXCIsYS5qb2luKCkpLmxvZygpfX19O3ZhciBGbWE9bmV3IG1JYTtfLnNlPW5ldyBNYXA7Xy5zZS5zZXQoXCJhYi5hc3RjXCIsXy5KKFwid0V5ZGFkXCIpKTtfLnNlLnNldChcImFiLmNoYnhcIixfLkooXCJZYjhyYmRcIikpO18uc2Uuc2V0KFwiYWN0aXZpdHktc2VnbWVudC10b29sdGlwLmhsLWljb24tY2xpY2tcIixfLkooXCJnY2IxWGJcIikpO18uc2Uuc2V0KFwiYWN0aXZpdHktc2VnbWVudC10b29sdGlwLnNwLWljb24tY2xpY2tcIixfLkooXCJHTlpOSWRcIikpO18uc2Uuc2V0KFwiYWN0aXZpdHktc2VnbWVudC10b29sdGlwLnN0YXJ0LWFjdGl2aXR5LXNlbGVjdFwiLF8uSihcInNIOU5mZVwiKSk7Xy5zZS5zZXQoXCJhY3RuLnJkcFwiLF8uSihcIm0xT1liXCIpKTtfLnNlLnNldChcImFkZC1hbGlhcy50b2dnbGUtYWRkcmVzcy1mb2N1c1wiLF8uSihcIkVrYldnZlwiKSk7Xy5zZS5zZXQoXCJhZGQtYWxpYXMudG9nZ2xlLW5pY2tuYW1lLWZvY3VzXCIsXy5KKFwibWx3c1diXCIpKTtfLnNlLnNldChcImFkZHJlc3Mtc2VsZWN0aW9uLmV4aXQtc2VhcmNoXCIsXy5KKFwiQTZEZDBlXCIpKTtcbl8uc2Uuc2V0KFwiYW1wZnAuY2xcIixfLkooXCJZMW1iY1wiKSk7Xy5zZS5zZXQoXCJhbXB2YmMub3BcIixfLkooXCJVTmwyMWVcIikpO18uc2Uuc2V0KFwiYW4uc2VwXCIsXy5KKFwidTVmMk9lXCIpKTtfLnNlLnNldChcImFuLnVmc1wiLF8uSihcImhIS2tPZFwiKSk7Xy5zZS5zZXQoXCJhbi51bmlcIixfLkooXCJvNUJ1M1wiKSk7Xy5zZS5zZXQoXCJhcGcuY1wiLF8uSihcImxUOUVwXCIpKTtfLnNlLnNldChcImFwZy5zZFwiLF8uSihcImVES1NRZVwiKSk7Xy5zZS5zZXQoXCJhcGcuc2xcIixfLkooXCJVOEtoVWJcIikpO18uc2Uuc2V0KFwiYXNycHYuc21cIixfLkooXCJHUjRSbGNcIikpO18uc2Uuc2V0KFwiYXN5bmMudVwiLF8uSihcInN6ak9SXCIpKTtfLnNlLnNldChcImF0Y28uYXN0Y1wiLF8uSihcImtGU1RUZVwiKSk7Xy5zZS5zZXQoXCJhdGNvLmNoYnhcIixfLkooXCJhZ24yRmVcIikpO18uc2Uuc2V0KFwiYXRjby5jb1wiLF8uSihcIkhCS1JFYlwiKSk7Xy5zZS5zZXQoXCJiYXIuYWN0aW9uXCIsXy5KKFwiVFY0R3ZlXCIpKTtfLnNlLnNldChcImJjdC5jYmFcIixfLkooXCJWTThiZ1wiKSk7XG5fLnNlLnNldChcImJjdC5jYmNcIixfLkooXCJoV1Q5SmJcIikpO18uc2Uuc2V0KFwiYmN0LmNiaVwiLF8uSihcIldDdWxXZVwiKSk7Xy5zZS5zZXQoXCJjLmhhbmRsZVRhYlNlbGVjdGlvblwiLF8uSihcIkdnUlplYlwiKSk7Xy5zZS5zZXQoXCJjYXJ0LmF0Y1wiLF8uSihcImVuejFiYlwiKSk7Xy5zZS5zZXQoXCJjYXJ0LmRmY1wiLF8uSihcIkMwZ0drXCIpKTtfLnNlLnNldChcImNhcnQuc3BcIixfLkooXCJrYVh4ZmJcIikpO18uc2Uuc2V0KFwiY3luLm9jYlwiLF8uSihcImZHalNcIikpO18uc2Uuc2V0KFwiZGRseC5zaGFyZVwiLF8uSihcInVtWlZxZVwiKSk7Xy5zZS5zZXQoXCJkZGx4LnRhcFwiLF8uSihcImVEMTUzZVwiKSk7Xy5zZS5zZXQoXCJkZGx4cy5zaGFyZVwiLF8uSihcInJqZ3RsZFwiKSk7Xy5zZS5zZXQoXCJkZGx4cy5zaGFyZUZiXCIsXy5KKFwiZlNkaDliXCIpKTtfLnNlLnNldChcImRkbHhzLnNoYXJlVHdcIixfLkooXCJ5U2JvR1wiKSk7Xy5zZS5zZXQoXCJkZWJ1Zy5hcHBseS1kZWJ1Zy1mbGFnc1wiLF8uSihcIkNnSXpUYlwiKSk7XG5fLnNlLnNldChcImRlYnVnLnJlZnJlc2gtcGF0aC1xdWFsaXR5LW1ldHJpY1wiLF8uSihcIlU4cVVQZFwiKSk7Xy5zZS5zZXQoXCJkZWJ1Zy5yZXNldC1kZWJ1Zy1mbGFnc1wiLF8uSihcIldHRHVRY1wiKSk7Xy5zZS5zZXQoXCJkZWJ1Zy50b2dnbGUtZGVidWctY29uc29sZVwiLF8uSihcInFmQ2o0ZVwiKSk7Xy5zZS5zZXQoXCJkZWxldGUtYWxsLWhpc3RvcnktY29uZmlybS1kaWFsb2cuY2FuY2VsXCIsXy5KKFwiTHRzWDBlXCIpKTtfLnNlLnNldChcImRlbGV0ZS1hbGwtaGlzdG9yeS1jb25maXJtLWRpYWxvZy5kZWxldGVcIixfLkooXCJyOGpyRWVcIikpO18uc2Uuc2V0KFwiZGkubFwiLF8uSihcInlRQmhrZlwiKSk7Xy5zZS5zZXQoXCJkb2IuY2NcIixfLkooXCJwdktJYmVcIikpO18uc2Uuc2V0KFwiZG9iLmNzYlwiLF8uSihcIldtRTJFXCIpKTtfLnNlLnNldChcImRvYi5sXCIsXy5KKFwiYzVId3RlXCIpKTtfLnNlLnNldChcImRvYi5tXCIsXy5KKFwiUE9UWG1mXCIpKTtfLnNlLnNldChcImRvYi5ubnNcIixfLkooXCJGSmxZcmNcIikpO1xuXy5zZS5zZXQoXCJkb2Iuc3NiXCIsXy5KKFwiT2x0SFRiXCIpKTtfLnNlLnNldChcImRvYi51Y2NcIixfLkooXCJvOEtxWmNcIikpO18uc2Uuc2V0KFwiZG9iLnV3dFwiLF8uSihcIldFRkxNZVwiKSk7Xy5zZS5zZXQoXCJkc2F2ZS5kaWNcIixfLkooXCJxNGhPZVwiKSk7Xy5zZS5zZXQoXCJkc2F2ZS5saWNcIixfLkooXCJydXI2cmRcIikpO18uc2Uuc2V0KFwiZHNhdmUubHNcIixfLkooXCJIMzNPSWJcIikpO18uc2Uuc2V0KFwiZHNhdmUubHNjXCIsXy5KKFwiSVVmRnlmXCIpKTtfLnNlLnNldChcImRzYXZlLnJiY1wiLF8uSihcIkZGT0VpZlwiKSk7Xy5zZS5zZXQoXCJkc2F2ZS5yYnRcIixfLkooXCJ2QTAzMWNcIikpO18uc2Uuc2V0KFwiZHNhdmUuc2JzXCIsXy5KKFwiZGJPVUxcIikpO18uc2Uuc2V0KFwiZHNhdmUuc2J1XCIsXy5KKFwiWEJXTk5cIikpO18uc2Uuc2V0KFwiZHNhdmUuc2NsY2RcIixfLkooXCJNSUN3WFwiKSk7Xy5zZS5zZXQoXCJkc2F2ZS5zY2xpY1wiLF8uSihcIm5JaVVqYlwiKSk7Xy5zZS5zZXQoXCJkc2F2ZS5zY2xzXCIsXy5KKFwiRnV1S0ZiXCIpKTtcbl8uc2Uuc2V0KFwiZHNhdmUuc2NubGNcIixfLkooXCJmcFllc2ZcIikpO18uc2Uuc2V0KFwiZHVmMy5iZWZvcmVcIixfLkooXCJwTW9IT2VcIikpO18uc2Uuc2V0KFwiZHVmMy5jZ2RcIixfLkooXCJPU0c3Y2ZcIikpO18uc2Uuc2V0KFwiZHVmMy5jbG9zZVwiLF8uSihcIkV4RDVTXCIpKTtfLnNlLnNldChcImR1ZjMuZFwiLF8uSihcImJCczFLXCIpKTtfLnNlLnNldChcImR1ZjMuZG9uZVwiLF8uSihcImM3OTlWXCIpKTtfLnNlLnNldChcImR1ZjMuaGRyZFwiLF8uSihcInFBN0JtZVwiKSk7Xy5zZS5zZXQoXCJkdWYzLnJkXCIsXy5KKFwiYkhvWXFcIikpO18uc2Uuc2V0KFwiZHVmMy5yZXNlbFwiLF8uSihcIlZhOGRDYlwiKSk7Xy5zZS5zZXQoXCJkdWYzLnJwXCIsXy5KKFwibnFmOXpjXCIpKTtfLnNlLnNldChcImR1ZjMudXJcIixfLkooXCJSSlZYRWJcIikpO18uc2Uuc2V0KFwiZWRpdC1hY3Rpdml0eS1kaWFsb2cuYWN0aXZpdHktc2VsZWN0ZWRcIixfLkooXCJsZ3JnbmJcIikpO18uc2Uuc2V0KFwiZXBiLmRpc21pc3NcIixfLkooXCJ4bjV3SlwiKSk7XG5fLnNlLnNldChcImZhY20uc3BcIixfLkooXCJ2TkxvRGVcIikpO18uc2Uuc2V0KFwiZmxzdC5jbG9zZVwiLF8uSihcIkJJWWtTY1wiKSk7Xy5zZS5zZXQoXCJmb28uYWN0aW9uXCIsXy5KKFwiR1VWZXNiXCIpKTtfLnNlLnNldChcImZvby5iYXJcIixfLkooXCJHVm04MlwiKSk7Xy5zZS5zZXQoXCJnZi5zZlwiLF8uSihcIlljZkpcIikpO18uc2Uuc2V0KFwiZ3hjLnhcIixfLkooXCJaWWdhVmRcIikpO18uc2Uuc2V0KFwiaGVscC1tZW51LmdldC1oZWxwXCIsXy5KKFwidVMza3VcIikpO18uc2Uuc2V0KFwiaGVscC1tZW51LnNlbmQtZmVlZGJhY2tcIixfLkooXCJ5UmVRdmVcIikpO18uc2Uuc2V0KFwiaGd0Lm9wZW5fZGVza3RvcF9jYWxlbmRhclwiLF8uSihcImlySWZJZFwiKSk7Xy5zZS5zZXQoXCJoaXN0b2dyYW0uaGlzdG9ncmFtLXZpc2libGUtZ3JvdXAtbW91c2VvdXRcIixfLkooXCJiT1hhYmJcIikpO18uc2Uuc2V0KFwiaGlzdG9ncmFtLmxlZnQtY29udHJvbFwiLF8uSihcIlhhdHBZZVwiKSk7XG5fLnNlLnNldChcImhpc3RvZ3JhbS5yaWdodC1jb250cm9sXCIsXy5KKFwiV3BmUDNlXCIpKTtfLnNlLnNldChcImhvbWUtd29yay1udWdnZXQuc2VsZWN0LWhvbWVcIixfLkooXCJ2eFVOaGNcIikpO18uc2Uuc2V0KFwiaG9tZS13b3JrLW51Z2dldC5zZWxlY3Qtd29ya1wiLF8uSihcIkhUWk9BXCIpKTtfLnNlLnNldChcImhvdGVscGFja2FnZXMuZmlsbGVkXCIsXy5KKFwiYW81QWJkXCIpKTtfLnNlLnNldChcImljci5ycFwiLF8uSihcIm12Rm9KY1wiKSk7Xy5zZS5zZXQoXCJpZ20ubVwiLF8uSihcIkJxMGlJYlwiKSk7Xy5zZS5zZXQoXCJpbC5kb25lXCIsXy5KKFwiRm5vRXliXCIpKTtfLnNlLnNldChcImlvbS5jbG9zZVwiLF8uSihcImpjaE1YZVwiKSk7Xy5zZS5zZXQoXCJpb20uc2hvd1wiLF8uSihcIlRhQzlSZVwiKSk7Xy5zZS5zZXQoXCJpcmMuYXJiXCIsXy5KKFwiVXBkcjJcIikpO18uc2Uuc2V0KFwiaXJjLmFyZlwiLF8uSihcImtpZVJTYlwiKSk7Xy5zZS5zZXQoXCJpcmMuY2NcIixfLkooXCJOMnNLXCIpKTtfLnNlLnNldChcImlyYy5jbVwiLF8uSihcIkExSW5kZVwiKSk7XG5fLnNlLnNldChcImlyYy5kY1wiLF8uSihcIlFjbzVrZVwiKSk7Xy5zZS5zZXQoXCJpcmMuZGxcIixfLkooXCJqbzVKSVwiKSk7Xy5zZS5zZXQoXCJpcmMuaHJpY1wiLF8uSihcIk0zQlBDXCIpKTtfLnNlLnNldChcImlyYy5pbFwiLF8uSihcIm04R1V4ZFwiKSk7Xy5zZS5zZXQoXCJpcmMuaXB0Y1wiLF8uSihcInZVZUtZZVwiKSk7Xy5zZS5zZXQoXCJpcmMubHBcIixfLkooXCJZa3hld2NcIikpO18uc2Uuc2V0KFwiaXJjLm10XCIsXy5KKFwiQmduZjhjXCIpKTtfLnNlLnNldChcImlyYy5ybFwiLF8uSihcIlpDeUFTXCIpKTtfLnNlLnNldChcImlyYy5ybGtcIixfLkooXCJjZnZRb2JcIikpO18uc2Uuc2V0KFwiaXJjLnNoXCIsXy5KKFwiUmlDcThlXCIpKTtfLnNlLnNldChcImlyYy5zdlwiLF8uSihcIld1UHZiXCIpKTt2YXIgT21hPV8uSihcInhqaFRJZlwiKTtfLnNlLnNldChcImpzYS5iYWNrXCIsT21hKTt2YXIgUG1hPV8uSihcIk8ydnlzZVwiKTtfLnNlLnNldChcImpzYS5nb1wiLFBtYSk7dmFyIFFtYT1fLkooXCJJVktUZmVcIik7Xy5zZS5zZXQoXCJqc2EubG9nXCIsUW1hKTtcbnZhciBSbWE9Xy5KKFwiRXo3Vk1jXCIpO18uc2Uuc2V0KFwianNhLmxvZ1ZlZEFuZEdvXCIsUm1hKTtfLnNlLnNldChcImpzYS50cnVlXCIsXy5KKFwic2JUWE5iXCIpKTtfLnNlLnNldChcImt4LmNcIixfLkooXCJIMkVJNGNcIikpO18uc2Uuc2V0KFwia3guZVwiLF8uSihcIlMwb1lqXCIpKTtfLnNlLnNldChcImt4LnRcIixfLkooXCJua0RFbWJcIikpO18uc2Uuc2V0KFwibGNsX2ZwLmFwcGx5Q2hhbmdlc1wiLF8uSihcIm9iTGJzZFwiKSk7Xy5zZS5zZXQoXCJsY2xfZnAuY2xlYXJcIixfLkooXCJXVVRsTGRcIikpO18uc2Uuc2V0KFwibGNtbC5jXCIsXy5KKFwiejNqdURmXCIpKTtfLnNlLnNldChcImxjbWwub1wiLF8uSihcInM4Y3dsZFwiKSk7Xy5zZS5zZXQoXCJsaGIuYXJcIixfLkooXCJuUkNQSlwiKSk7Xy5zZS5zZXQoXCJsaGIuaG9cIixfLkooXCJzT0FxVmVcIikpO18uc2Uuc2V0KFwibGhiLnByY1wiLF8uSihcImxOS0ZtZlwiKSk7Xy5zZS5zZXQoXCJsbGMuaG1zXCIsXy5KKFwia1NQWTVjXCIpKTtfLnNlLnNldChcImxsYy5oc2FlXCIsXy5KKFwiaHlqcmFjXCIpKTtcbl8uc2Uuc2V0KFwibGxjLmhzZVwiLF8uSihcIlpjMEpoXCIpKTtfLnNlLnNldChcImxsYy5taFwiLF8uSihcInRzZ2hxXCIpKTtfLnNlLnNldChcImxsYy5tc1wiLF8uSihcImw3Y21aXCIpKTtfLnNlLnNldChcImxsYy5wYmNcIixfLkooXCJtV2E3UGRcIikpO18uc2Uuc2V0KFwibGxjLnNiY1wiLF8uSihcImpKNDNSY1wiKSk7Xy5zZS5zZXQoXCJsbGMuc25vXCIsXy5KKFwiTjhXYkllXCIpKTtfLnNlLnNldChcImxsYy5zcG9cIixfLkooXCJwNVBUWFwiKSk7Xy5zZS5zZXQoXCJsbm0uZ2JcIixfLkooXCJ6WUhFTGVcIikpO18uc2Uuc2V0KFwibG5tLm1iXCIsXy5KKFwiRW9PVjdcIikpO18uc2Uuc2V0KFwibG9jYXRpb24taGlzdG9yeS1zZXR0aW5nLm1hbmFnZS1sb2NhdGlvbi1oaXN0b3J5XCIsXy5KKFwicnE0UkFcIikpO18uc2Uuc2V0KFwibHIuYWVcIixfLkooXCJuR1QyV2NcIikpO18uc2Uuc2V0KFwibHIuYWViXCIsXy5KKFwiUHVFMHBkXCIpKTtfLnNlLnNldChcImxyLmFmXCIsXy5KKFwibUZLUklcIikpO18uc2Uuc2V0KFwibHIuYWxcIixfLkooXCJOcWtmaWJcIikpO1xuXy5zZS5zZXQoXCJsci5zZlwiLF8uSihcIndVc3RWZFwiKSk7Xy5zZS5zZXQoXCJsc2YuYWNsXCIsXy5KKFwiQWc2VmtiXCIpKTtfLnNlLnNldChcImxzZi5haHBcIixfLkooXCJlUmt0dGVcIikpO18uc2Uuc2V0KFwibHNmLmFocG1cIixfLkooXCJxd1pZVlwiKSk7Xy5zZS5zZXQoXCJsc2YuYW1sXCIsXy5KKFwiaTF6Y2liXCIpKTtfLnNlLnNldChcImxzZi5hbWxtXCIsXy5KKFwiajY0VWJkXCIpKTtfLnNlLnNldChcImxzZi5hc3BcIixfLkooXCJ4WTFiZWNcIikpO18uc2Uuc2V0KFwibHNmLmFzcG1cIixfLkooXCJXWWZSMGNcIikpO18uc2Uuc2V0KFwibHNmLmNzY1wiLF8uSihcInRaZUxIYlwiKSk7Xy5zZS5zZXQoXCJsc2YuY3NvXCIsXy5KKFwibHNBdXBmXCIpKTtfLnNlLnNldChcImxzZi5jc29kXCIsXy5KKFwibGpnZHFmXCIpKTtfLnNlLnNldChcImxzZi5jc3NcIixfLkooXCJjN1drcmVcIikpO18uc2Uuc2V0KFwibHNmLmNzdVwiLF8uSihcIkIwYmc2YlwiKSk7Xy5zZS5zZXQoXCJsc2Yuc2ZzXCIsXy5KKFwidW1iaWNkXCIpKTtfLnNlLnNldChcImxzZm0uYWNsXCIsXy5KKFwiSjBiZG1cIikpO1xuXy5zZS5zZXQoXCJsc2ZtLmFocFwiLF8uSihcInRTN1VMZVwiKSk7Xy5zZS5zZXQoXCJsc2ZtLmFocG1cIixfLkooXCJ2OUg2eWZcIikpO18uc2Uuc2V0KFwibHNmbS5hbWxcIixfLkooXCJUQm44UVwiKSk7Xy5zZS5zZXQoXCJsc2ZtLmFtbG1cIixfLkooXCJHS2hHdmVcIikpO18uc2Uuc2V0KFwibHNmbS5hc3BcIixfLkooXCJTa29iSWZcIikpO18uc2Uuc2V0KFwibHNmbS5hc3BtXCIsXy5KKFwiUzlmbmdkXCIpKTtfLnNlLnNldChcImxzZm0uY3NiXCIsXy5KKFwiekRJNURlXCIpKTtfLnNlLnNldChcImxzZm0uY3NjXCIsXy5KKFwic0p1eEFjXCIpKTtfLnNlLnNldChcImxzZm0uY3NoXCIsXy5KKFwiblR0VVhkXCIpKTtfLnNlLnNldChcImxzZm0uY3NpXCIsXy5KKFwiRlJkYkFkXCIpKTtfLnNlLnNldChcImxzZm0uY3NvXCIsXy5KKFwiczVjOXljXCIpKTtfLnNlLnNldChcImxzZm0uY3NzXCIsXy5KKFwid3dZTHJlXCIpKTtfLnNlLnNldChcImxzZm0uY3N1XCIsXy5KKFwib1RBWUpjXCIpKTtfLnNlLnNldChcImxzZm0ubGFnXCIsXy5KKFwibzF5cE9kXCIpKTtcbl8uc2Uuc2V0KFwibHNmbS5vc2JcIixfLkooXCJDN2h6SmJcIikpO18uc2Uuc2V0KFwibHNmbS5zZmJcIixfLkooXCJYYjNuRGVcIikpO18uc2Uuc2V0KFwibHNmbS5zZnNcIixfLkooXCJxUXVzbmNcIikpO18uc2Uuc2V0KFwibHNmbS5zc2JcIixfLkooXCJ1eGh0amJcIikpO18uc2Uuc2V0KFwibHNmbS5zc2JiXCIsXy5KKFwicGNKcFZcIikpO18uc2Uuc2V0KFwibHNmbS51cGxcIixfLkooXCJnZ1RqdWJcIikpO18uc2Uuc2V0KFwibHNmbS51cHVcIixfLkooXCJyWHhMQ2NcIikpO18uc2Uuc2V0KFwibHVtLmxcIixfLkooXCJtZ29ZNGVcIikpO18uc2Uuc2V0KFwibHVtLm1cIixfLkooXCJ3Q0hyYWZcIikpO18uc2Uuc2V0KFwibHVtLnJcIixfLkooXCJsYW1naGVcIikpO18uc2Uuc2V0KFwibXBwLnRmcFwiLF8uSihcImZYcFJxY1wiKSk7Xy5zZS5zZXQoXCJuZGIub252XCIsXy5KKFwiRVlZOGtcIikpO18uc2Uuc2V0KFwibm0uY2htXCIsXy5KKFwiaHoxc1hiXCIpKTtfLnNlLnNldChcIm5tLmV4ZFwiLF8uSihcIk1LVTJjZFwiKSk7Xy5zZS5zZXQoXCJubS5vaG1cIixfLkooXCJ3aU1ncFwiKSk7XG5fLnNlLnNldChcIm5tLnRvZ2dsZVwiLF8uSihcInlucUZMYlwiKSk7Xy5zZS5zZXQoXCJucnAubGhcIixfLkooXCJyQUdLbGZcIikpO18uc2Uuc2V0KFwibnJwLmxzXCIsXy5KKFwiRVdJdUtkXCIpKTtfLnNlLnNldChcIm50cC5ma2J4Y2xrXCIsXy5KKFwidW9EY3BcIikpO18uc2Uuc2V0KFwibnVnZ2V0LXJ1bndheS5ydW53YXktbW91c2Utb3ZlclwiLF8uSihcIk4xNm11ZFwiKSk7Xy5zZS5zZXQoXCJudWdnZXQtcnVud2F5LnJ1bndheS1zY3JvbGwtbGVmdFwiLF8uSihcIlVPbWtPXCIpKTtfLnNlLnNldChcIm51Z2dldC1ydW53YXkucnVud2F5LXNjcm9sbC1yaWdodFwiLF8uSihcIlJ1U2xiZFwiKSk7Xy5zZS5zZXQoXCJvZHYuZVwiLF8uSihcIlVqc0lWXCIpKTtfLnNlLnNldChcIm9kdi5oXCIsXy5KKFwiVWlCdDJiXCIpKTtfLnNlLnNldChcIm9kdi5zXCIsXy5KKFwiQWdZQW1mXCIpKTtfLnNlLnNldChcIm9mbXYuaFwiLF8uSihcIkMzT2pCY1wiKSk7Xy5zZS5zZXQoXCJvZm12LnNcIixfLkooXCJkQ2RoVGNcIikpO18uc2Uuc2V0KFwib2Zvdi5lb1wiLF8uSihcIll6RGN3ZFwiKSk7XG5fLnNlLnNldChcIm9mb3YudW9cIixfLkooXCJ4b3ZLRWVcIikpO18uc2Uuc2V0KFwib2Z2LmhcIixfLkooXCJ1UkhPZWNcIikpO18uc2Uuc2V0KFwib2Z2LnNcIixfLkooXCJWbk1TSWVcIikpO18uc2Uuc2V0KFwib2guaGFuZGxlSG91cnNBY3Rpb25cIixfLkooXCJhanFrQmRcIikpO18uc2Uuc2V0KFwib2guc3dhcFwiLF8uSihcIklVVFJ3ZFwiKSk7Xy5zZS5zZXQoXCJvaHYuaFwiLF8uSihcIkU1ZWV6YlwiKSk7Xy5zZS5zZXQoXCJvaHYuc1wiLF8uSihcInJTakc4XCIpKTtfLnNlLnNldChcIm9udi5oXCIsXy5KKFwicUJkSXRmXCIpKTtfLnNlLnNldChcIm9udi5zXCIsXy5KKFwiZG9Nd25cIikpO18uc2Uuc2V0KFwib3Bzdi5lXCIsXy5KKFwiZEdTcGpmXCIpKTtfLnNlLnNldChcIm9wc3YuaFwiLF8uSihcIlpHMTgzZFwiKSk7Xy5zZS5zZXQoXCJvcHN2LnNcIixfLkooXCJJanRLWWRcIikpO18uc2Uuc2V0KFwib3Nvdi5jdVwiLF8uSihcIlUwQ002Y1wiKSk7Xy5zZS5zZXQoXCJvc292LmVcIixfLkooXCJYOUc5dGNcIikpO18uc2Uuc2V0KFwib3Nvdi5saFwiLF8uSihcInhFT1EyZFwiKSk7XG5fLnNlLnNldChcIm9zb3YubHNcIixfLkooXCJqVVBMTVwiKSk7Xy5zZS5zZXQoXCJvc292LnVcIixfLkooXCJBVnVMRWRcIikpO18uc2Uuc2V0KFwicGFnZS5hZGRcIixfLkooXCJyUkpuUmRcIikpO18uc2Uuc2V0KFwicGFnZS5kZWxldGVcIixfLkooXCJ3RVZ6ZGZcIikpO18uc2Uuc2V0KFwicGFnZS5lZGl0XCIsXy5KKFwiU0hwd3pjXCIpKTtfLnNlLnNldChcInBhZ2Uuc2lnbi1pblwiLF8uSihcInYxekR3Y1wiKSk7Xy5zZS5zZXQoXCJwZGQuYnRyXCIsXy5KKFwiQTNvcnZjXCIpKTtfLnNlLnNldChcInBkZC5jY1wiLF8uSihcIlhkRWNqZVwiKSk7Xy5zZS5zZXQoXCJwZGQuY2xcIixfLkooXCJqOThsMmRcIikpO18uc2Uuc2V0KFwicGRkLmVsXCIsXy5KKFwiUXZOOERlXCIpKTtfLnNlLnNldChcInBkZC5ocmJtXCIsXy5KKFwiR0o3ZGFiXCIpKTtfLnNlLnNldChcInBkZC5uYXZcIixfLkooXCJvSG5YUmRcIikpO18uc2Uuc2V0KFwicGRkLm9jY1wiLF8uSihcIklFcTIzY1wiKSk7Xy5zZS5zZXQoXCJwZGQub3NiXCIsXy5KKFwibmRqcm9cIikpO1xuXy5zZS5zZXQoXCJwZGQub3NpXCIsXy5KKFwiZVVmSkplXCIpKTtfLnNlLnNldChcInBkZC5wb3NcIixfLkooXCJ5eWM0amVcIikpO18uc2Uuc2V0KFwicGRkLnByXCIsXy5KKFwicFc4akZlXCIpKTtfLnNlLnNldChcInBkZC5ydG9cIixfLkooXCJaam43RmJcIikpO18uc2Uuc2V0KFwicGRkLnNwZFwiLF8uSihcIlhiUzFFZVwiKSk7Xy5zZS5zZXQoXCJwZGQuc3NyXCIsXy5KKFwielhqVkFmXCIpKTtfLnNlLnNldChcInBkZC50YWxcIixfLkooXCJwc09GY2NcIikpO18uc2Uuc2V0KFwicGRkLnRkXCIsXy5KKFwid0VoVGtlXCIpKTtfLnNlLnNldChcInBkZC51b1wiLF8uSihcIk1DdUFFZVwiKSk7Xy5zZS5zZXQoXCJwZGQudW9zXCIsXy5KKFwidG85enhlXCIpKTtfLnNlLnNldChcInBkZC51clwiLF8uSihcIlZKQWNTXCIpKTtfLnNlLnNldChcInBkai5nb1wiLF8uSihcIkx0SUNsZVwiKSk7Xy5zZS5zZXQoXCJwZGouc3R0XCIsXy5KKFwieXl6bU1kXCIpKTtfLnNlLnNldChcInBkbS5jb1wiLF8uSihcInlVSUJIY1wiKSk7Xy5zZS5zZXQoXCJwZG0uZXNcIixfLkooXCJ1UUVNSGNcIikpO1xuXy5zZS5zZXQoXCJwZG0ubGhcIixfLkooXCJibzRvS2VcIikpO18uc2Uuc2V0KFwicGRtLmxzXCIsXy5KKFwickJ4NUdlXCIpKTtfLnNlLnNldChcInBkbS50dlwiLF8uSihcIkEzalNsZFwiKSk7Xy5zZS5zZXQoXCJwZG0udHZjXCIsXy5KKFwiRVhIdHBiXCIpKTtfLnNlLnNldChcInBkbS51cFwiLF8uSihcImdUY2RoXCIpKTtfLnNlLnNldChcInBkby5jcG9cIixfLkooXCJ0ODVqZmJcIikpO18uc2Uuc2V0KFwicGRvLm9wb1wiLF8uSihcIkl0dGdmYlwiKSk7Xy5zZS5zZXQoXCJwZHBiLnRwYlwiLF8uSihcImxGU3hiZlwiKSk7Xy5zZS5zZXQoXCJwZHBiLnRwYmNcIixfLkooXCJ1Q2VoWlwiKSk7Xy5zZS5zZXQoXCJwZHBnLmFwXCIsXy5KKFwiYW1KRlNiXCIpKTtfLnNlLnNldChcInBkcGcucGNcIixfLkooXCJ1WVR5eGRcIikpO18uc2Uuc2V0KFwicGRwZy5ybXRcIixfLkooXCJ2Q0tycGJcIikpO18uc2Uuc2V0KFwicGR1aS5jY1wiLF8uSihcInNlYWVZZFwiKSk7Xy5zZS5zZXQoXCJwZHVpLmZiXCIsXy5KKFwiVW5mdldkXCIpKTtfLnNlLnNldChcInBkdWkuZmNcIixfLkooXCJ5dXNKTlwiKSk7XG5fLnNlLnNldChcInBkdWkuaGVcIixfLkooXCJlVkc1eGVcIikpO18uc2Uuc2V0KFwicGR1aS5taXNnXCIsXy5KKFwiajJNM25cIikpO18uc2Uuc2V0KFwicGR1aS5tb2JcIixfLkooXCJoTkVDSWZcIikpO18uc2Uuc2V0KFwicGR1aS5tb2NcIixfLkooXCJwVGJxN1wiKSk7Xy5zZS5zZXQoXCJwZHVpLm1vc2dcIixfLkooXCJwU2FIMVwiKSk7Xy5zZS5zZXQoXCJwZHVpLnNlXCIsXy5KKFwidURVdEhiXCIpKTtfLnNlLnNldChcInBkdWkuc2ZcIixfLkooXCJyb2RqcmRcIikpO18uc2Uuc2V0KFwicGR1aS5zbWlcIixfLkooXCJXaTNHOGRcIikpO18uc2Uuc2V0KFwicGR1aS50ZVwiLF8uSihcIks3WHdWZFwiKSk7Xy5zZS5zZXQoXCJwZHVpLnR2XCIsXy5KKFwidU45alhjXCIpKTtfLnNlLnNldChcInBkdWkudHZjXCIsXy5KKFwieWw3RnlkXCIpKTtfLnNlLnNldChcInBkdWkudXBcIixfLkooXCJNd0hIU2RcIikpO18uc2Uuc2V0KFwicGR2ZC5odlwiLF8uSihcInd3UDZnXCIpKTtfLnNlLnNldChcInBkdmQudnRjXCIsXy5KKFwidHVpZ05iXCIpKTtfLnNlLnNldChcInBkdnAuaGNcIixfLkooXCJsM3lTUGVcIikpO1xuXy5zZS5zZXQoXCJwZHZwLmhzXCIsXy5KKFwiS0VOV3RcIikpO18uc2Uuc2V0KFwicGR2cC5vY1wiLF8uSihcIk5BYjUzZFwiKSk7Xy5zZS5zZXQoXCJwZHZwLm9zXCIsXy5KKFwieUZ0WmNiXCIpKTtfLnNlLnNldChcInBsYS5hY1wiLF8uSihcIllqZzdYYlwiKSk7Xy5zZS5zZXQoXCJwbGEuYXNcIixfLkooXCJGZDhtc1wiKSk7Xy5zZS5zZXQoXCJwbGEuYXVcIixfLkooXCJCNzU3VmRcIikpO18uc2Uuc2V0KFwicGxhLmNjXCIsXy5KKFwiYWtkT1llXCIpKTtfLnNlLnNldChcInBsYS5jY29zXCIsXy5KKFwiYnRUUFBiXCIpKTtfLnNlLnNldChcInBsYS5jc1wiLF8uSihcInNTQk9tY1wiKSk7Xy5zZS5zZXQoXCJwbGEuY3R0dFwiLF8uSihcImNLUTYyZFwiKSk7Xy5zZS5zZXQoXCJwbGEuZ29cIixfLkooXCJHMjhOTWNcIikpO18uc2Uuc2V0KFwicGxhLmhudGlcIixfLkooXCJXRlczaWZcIikpO18uc2Uuc2V0KFwicGxhLmpjXCIsXy5KKFwiTXBLcDdiXCIpKTtfLnNlLnNldChcInBsYS5qZVwiLF8uSihcIk9HRFpvY1wiKSk7Xy5zZS5zZXQoXCJwbGEua2VcIixfLkooXCJlYmZzUVwiKSk7XG5fLnNlLnNldChcInBsYS5uYXZcIixfLkooXCJYYlpjVFwiKSk7Xy5zZS5zZXQoXCJwbGEucnVcIixfLkooXCJwZ0Rub1wiKSk7Xy5zZS5zZXQoXCJwbGEuc250aVwiLF8uSihcIkFZb1JBXCIpKTtfLnNlLnNldChcInBsYS50c1wiLF8uSihcImdNaTFMYlwiKSk7Xy5zZS5zZXQoXCJwbGFjZS1oaXN0b3J5LW1vbWVudC5obC1pY29uLWNsaWNrXCIsXy5KKFwicDlwSGRkXCIpKTtfLnNlLnNldChcInBsYWNlLWhpc3RvcnktbW9tZW50LnNwLWljb24tY2xpY2tcIixfLkooXCJCRGFhcWZcIikpO18uc2Uuc2V0KFwicGxhY2Utc2VsZWN0aW9uLmFkZEFsaWFzXCIsXy5KKFwiYUJSbk1lXCIpKTtfLnNlLnNldChcInBsYWNlLXNlbGVjdGlvbi5leGl0LXNlYXJjaFwiLF8uSihcIkxNUzNBY1wiKSk7Xy5zZS5zZXQoXCJwcmVjLm5vcFwiLF8uSihcIk1XcW9NXCIpKTtfLnNlLnNldChcInByZWMudGdcIixfLkooXCJxcWYwblwiKSk7Xy5zZS5zZXQoXCJwcmVmLnNzc1wiLF8uSihcIk84ZDM2YlwiKSk7Xy5zZS5zZXQoXCJwcmVmLnNzdFwiLF8uSihcIkZ5VjFsY1wiKSk7XG5fLnNlLnNldChcInByZXR0eV9kZWJ1Zy5iYWNrXCIsXy5KKFwiaDRZcjNiXCIpKTtfLnNlLnNldChcInByZXR0eV9kZWJ1Zy5jb3B5X3Byb3RvXCIsXy5KKFwicmFpaWhjXCIpKTtfLnNlLnNldChcInByZXR0eV9kZWJ1Zy5mb2xkXCIsXy5KKFwiZTdVanRmXCIpKTtfLnNlLnNldChcInByZXR0eV9kZWJ1Zy5mb2xkX3JlY3Vyc2l2ZVwiLF8uSihcImhPMXlkXCIpKTtfLnNlLnNldChcInByZXR0eV9kZWJ1Zy50b2dnbGVfY2FyZF9kYXRhXCIsXy5KKFwiS01VRXlcIikpO18uc2Uuc2V0KFwicHJldHR5X2RlYnVnLnRvZ2dsZV91bmtub3duXCIsXy5KKFwiYkJKNWRkXCIpKTtfLnNlLnNldChcInBzcnBjLnBjYWNcIixfLkooXCJPVmlEYmJcIikpO18uc2Uuc2V0KFwicHNycGMuc2NhY1wiLF8uSihcIlNDbWJGZFwiKSk7Xy5zZS5zZXQoXCJwdi5vcGVuXCIsXy5KKFwiQk5pdDVkXCIpKTtfLnNlLnNldChcInFpLnF0cFwiLF8uSihcImFBUTh1ZFwiKSk7Xy5zZS5zZXQoXCJyZXZpZXcuY2FkXCIsXy5KKFwiYlpXOTFiXCIpKTtfLnNlLnNldChcInJldmlldy5jcmJcIixfLkooXCJVdktrY2NcIikpO1xuXy5zZS5zZXQoXCJyZXZpZXcuY3RkXCIsXy5KKFwiRmNNN29iXCIpKTtfLnNlLnNldChcInJldmlldy50ZFwiLF8uSihcIkdtb3dEYlwiKSk7Xy5zZS5zZXQoXCJyaXZ2LmNhZFwiLF8uSihcInNFWlMyY1wiKSk7Xy5zZS5zZXQoXCJyaXZ2LmNyYlwiLF8uSihcIkEwd1NPZVwiKSk7Xy5zZS5zZXQoXCJyaXZ2LmN0ZFwiLF8uSihcIlRRZ2V3XCIpKTtfLnNlLnNldChcInJpdnYudGRcIixfLkooXCJrMEF5SGRcIikpO18uc2Uuc2V0KFwicm92LmJcIixfLkooXCJpdVV6V2NcIikpO18uc2Uuc2V0KFwicm92LmNcIixfLkooXCJuQkhWT2JcIikpO18uc2Uuc2V0KFwicm92LmVcIixfLkooXCJjV25pbGVcIikpO18uc2Uuc2V0KFwicm92LmhcIixfLkooXCJzb2NGcGNcIikpO18uc2Uuc2V0KFwicm92LmtcIixfLkooXCJUZENvNGRcIikpO18uc2Uuc2V0KFwicm92LnFcIixfLkooXCJxYUxIWGNcIikpO18uc2Uuc2V0KFwicm92LnNcIixfLkooXCJ3OEtoSWNcIikpO18uc2Uuc2V0KFwicm92LnVcIixfLkooXCJQd0ZSQ1wiKSk7Xy5zZS5zZXQoXCJycHYuY1wiLF8uSihcIlc1anZ4XCIpKTtcbl8uc2Uuc2V0KFwicnB2LmVcIixfLkooXCJuSW1yZ2RcIikpO18uc2Uuc2V0KFwicnB2Lm9cIixfLkooXCJ1WDd1d2NcIikpO18uc2Uuc2V0KFwicnB2LnNcIixfLkooXCJZQk1oQlwiKSk7Xy5zZS5zZXQoXCJycHYueFwiLF8uSihcInhNWTZFXCIpKTtfLnNlLnNldChcInNidWIudFwiLF8uSihcIk9lZERmYlwiKSk7Xy5zZS5zZXQoXCJzZGwuc2ZcIixfLkooXCJPM1U4Z2NcIikpO18uc2Uuc2V0KFwic2VtYW50aWMtcGF0aC1kaWFsb2cuY2FuY2VsXCIsXy5KKFwibUpFMWpjXCIpKTtfLnNlLnNldChcInNlbWFudGljLXBhdGgtZGlhbG9nLmhsLXBsYXlcIixfLkooXCJZMlNDRmJcIikpO18uc2Uuc2V0KFwic2VtYW50aWMtcGF0aC1kaWFsb2cucmVzbmFwXCIsXy5KKFwiaWkyTjNkXCIpKTtfLnNlLnNldChcInNlbWFudGljLXBhdGgtZGlhbG9nLnNhdmVcIixfLkooXCJJWEZXUGNcIikpO18uc2Uuc2V0KFwic2VtYW50aWMtcGF0aC1kaWFsb2cuc2hvdy1pbmZvXCIsXy5KKFwiams0UGJjXCIpKTtcbl8uc2Uuc2V0KFwic2VtYW50aWMtcGF0aC1kaWFsb2cuc3AtaWNvbi1jbGlja1wiLF8uSihcIkVRVVF1XCIpKTtfLnNlLnNldChcInNlbWFudGljLXBhdGgtZGlhbG9nLnVuc25hcFwiLF8uSihcIkE4Y212Y1wiKSk7Xy5zZS5zZXQoXCJzZXR0aW5ncy1tZW51Lm1hbmFnZS1hbGlhc2VzXCIsXy5KKFwibjRKRXNcIikpO18uc2Uuc2V0KFwic2V0dGluZ3MtbWVudS50aW1lbGluZS1zZXR0aW5nc1wiLF8uSihcIlhuTmM3XCIpKTtfLnNlLnNldChcInNldHRpbmdzLW1lbnUudG9nZ2xlLXNob3ctYWxsLXBvaW50c1wiLF8uSihcIkJXSk40YlwiKSk7Xy5zZS5zZXQoXCJzZi5jaGtcIixfLkooXCJKTDlRRGNcIikpO18uc2Uuc2V0KFwic2YubGNrXCIsXy5KKFwia1dseGhjXCIpKTtfLnNlLnNldChcInNncm8uYVwiLF8uSihcIloxU3lkYlwiKSk7Xy5zZS5zZXQoXCJzZ3JvLmFtXCIsXy5KKFwiamZEemFjXCIpKTtfLnNlLnNldChcInNncm8uYXNsXCIsXy5KKFwiTEhWTWZkXCIpKTtfLnNlLnNldChcInNncm8uYXNyXCIsXy5KKFwiUnM3cm5cIikpO1xuXy5zZS5zZXQoXCJzZ3JvLmJcIixfLkooXCJjMjN4WWJcIikpO18uc2Uuc2V0KFwic2dyby5jXCIsXy5KKFwibGJTT21iXCIpKTtfLnNlLnNldChcInNncm8uZW9cIixfLkooXCJnU0VySGNcIikpO18uc2Uuc2V0KFwic2dyby5lclwiLF8uSihcIkxHV1FJZlwiKSk7Xy5zZS5zZXQoXCJzZ3JvLmZcIixfLkooXCJYOGx3eWVcIikpO18uc2Uuc2V0KFwic2dyby5oXCIsXy5KKFwibzNvYTJiXCIpKTtfLnNlLnNldChcInNncm8uaVwiLF8uSihcIkh2R05DZVwiKSk7Xy5zZS5zZXQoXCJzZ3JvLmltXCIsXy5KKFwiWk9Zdm1iXCIpKTtfLnNlLnNldChcInNncm8uaXNsXCIsXy5KKFwicXVaNUVcIikpO18uc2Uuc2V0KFwic2dyby5pc3JcIixfLkooXCJNN2p2ZWRcIikpO18uc2Uuc2V0KFwic2dyby5qXCIsXy5KKFwiUGtIVWpmXCIpKTtfLnNlLnNldChcInNncm8ubGhcIixfLkooXCJTcTZ3eGZcIikpO18uc2Uuc2V0KFwic2dyby5sc1wiLF8uSihcIlZSbnN5Y1wiKSk7Xy5zZS5zZXQoXCJzZ3JvLm1cIixfLkooXCJOV01SS2NcIikpO18uc2Uuc2V0KFwic2dyby5vZFwiLF8uSihcIk9VSVd2Y1wiKSk7XG5fLnNlLnNldChcInNncm8ub21cIixfLkooXCJNMWVxTmRcIikpO18uc2Uuc2V0KFwic2dyby5vblwiLF8uSihcImd4R3dZYlwiKSk7Xy5zZS5zZXQoXCJzZ3JvLm9vXCIsXy5KKFwiWGphcm1jXCIpKTtfLnNlLnNldChcInNncm8ub3BcIixfLkooXCJmWlhFcWVcIikpO18uc2Uuc2V0KFwic2dyby5vclwiLF8uSihcIkZuR3JXY1wiKSk7Xy5zZS5zZXQoXCJzZ3JvLnNcIixfLkooXCJxaTczd2JcIikpO18uc2Uuc2V0KFwic2dyby5zbFwiLF8uSihcIms3aDlEYlwiKSk7Xy5zZS5zZXQoXCJzZ3JvLnNyXCIsXy5KKFwib09US2JkXCIpKTtfLnNlLnNldChcInNncm8udW9cIixfLkooXCJZTDU1cWRcIikpO18uc2Uuc2V0KFwic2dyby51clwiLF8uSihcInVDc3VnZlwiKSk7Xy5zZS5zZXQoXCJzZ3JvLnZcIixfLkooXCJFS01SNWVcIikpO18uc2Uuc2V0KFwic2dyby52bVwiLF8uSihcIlJDRE9LXCIpKTtfLnNlLnNldChcInNncm8udnNsXCIsXy5KKFwiUUlVeUNiXCIpKTtfLnNlLnNldChcInNncm8udnNyXCIsXy5KKFwiR2VUTXdcIikpO18uc2Uuc2V0KFwic2hkci5wYmJcIixfLkooXCJ6RTJkalwiKSk7XG5fLnNlLnNldChcInNoZHIucGJpXCIsXy5KKFwiS0pRS09lXCIpKTtfLnNlLnNldChcInNoZHIuc2V0UHJpY2VcIixfLkooXCJFUW9wSmRcIikpO18uc2Uuc2V0KFwic2hkci5zaG93TW9yZVNpemVzXCIsXy5KKFwibkltY0JlXCIpKTtfLnNlLnNldChcInNoZHIudG9nZ2xlRmV3ZXJcIixfLkooXCJxd1dabGVcIikpO18uc2Uuc2V0KFwic2hkci50b2dnbGVHcm91cEV4cGFuZFwiLF8uSihcInc2clBJY1wiKSk7Xy5zZS5zZXQoXCJzaGRyLnRvZ2dsZU1vcmVcIixfLkooXCJnclEwU2VcIikpO18uc2Uuc2V0KFwic2hzYi5zYlwiLF8uSihcImkwN0lNXCIpKTtfLnNlLnNldChcInNoc2Iuc2llXCIsXy5KKFwidm9aakNkXCIpKTtfLnNlLnNldChcInNoc2IueGJjXCIsXy5KKFwiQXVRak9jXCIpKTtfLnNlLnNldChcInNtcG8uYWJcIixfLkooXCJzZVVxN2NcIikpO18uc2Uuc2V0KFwic21wby5jbFwiLF8uSihcIlZ2STA5Y1wiKSk7Xy5zZS5zZXQoXCJzbXBvLmVsXCIsXy5KKFwia0VDSUZlXCIpKTtfLnNlLnNldChcInNtcG8uam1wXCIsXy5KKFwib0dNc3NjXCIpKTtcbl8uc2Uuc2V0KFwic21wby5saFwiLF8uSihcInRpbUx0XCIpKTtfLnNlLnNldChcInNtcG8ubHNcIixfLkooXCJQaU10RGNcIikpO18uc2Uuc2V0KFwic21wby5vYlwiLF8uSihcIk1IaDlXZVwiKSk7Xy5zZS5zZXQoXCJzbXBvLnNjXCIsXy5KKFwiZUdqQUFcIikpO18uc2Uuc2V0KFwic21wby5zaFwiLF8uSihcIkpUdmxqZVwiKSk7Xy5zZS5zZXQoXCJzbXBvLnNzXCIsXy5KKFwiZ1p5ZlBlXCIpKTtfLnNlLnNldChcInNtcG8udG9wXCIsXy5KKFwid1pTRTBcIikpO18uc2Uuc2V0KFwic21wby52Y1wiLF8uSihcIll3RVQwXCIpKTtfLnNlLnNldChcInNtcG8udmVcIixfLkooXCJheW9uQ2NcIikpO18uc2Uuc2V0KFwic21wby52Z29cIixfLkooXCJ1aW5qRmZcIikpO18uc2Uuc2V0KFwic21wby52bFwiLF8uSihcIlJCZ2pMXCIpKTtfLnNlLnNldChcInNtcG8ud3RhXCIsXy5KKFwiTTdQdHNlXCIpKTtfLnNlLnNldChcInNtcG8ueFwiLF8uSihcImJiY29wXCIpKTtfLnNlLnNldChcInNvbmljLmNsa1wiLF8uSihcInFHTVRJZlwiKSk7Xy5zZS5zZXQoXCJzcG9wLmNcIixfLkooXCJIV3B2TFwiKSk7XG5fLnNlLnNldChcInNwb3AubW92XCIsXy5KKFwiYXZtN2xjXCIpKTtfLnNlLnNldChcInNwb3AudGRcIixfLkooXCJPdml6TVwiKSk7Xy5zZS5zZXQoXCJzcG9wLnhcIixfLkooXCJvdXZUUFwiKSk7Xy5zZS5zZXQoXCJzcnB2LmxhZ1wiLF8uSihcInFsdTFBZlwiKSk7Xy5zZS5zZXQoXCJzcnB2Lm1cIixfLkooXCJPT3dueWZcIikpO18uc2Uuc2V0KFwic3Jwdi5zblwiLF8uSihcImo2aWpaY1wiKSk7Xy5zZS5zZXQoXCJzcnB2LnNwXCIsXy5KKFwidmRwTWNmXCIpKTtfLnNlLnNldChcInNycHYudG9wXCIsXy5KKFwia2NjMmJkXCIpKTtfLnNlLnNldChcInNycHYudHR4XCIsXy5KKFwiVzZJTnZmXCIpKTtfLnNlLnNldChcInNzYXZlLmRkXCIsXy5KKFwicWRrdXVjXCIpKTtfLnNlLnNldChcInNzYXZlLmxzXCIsXy5KKFwiVTdTYmlcIikpO18uc2Uuc2V0KFwic3NhdmUubHZjXCIsXy5KKFwiTlpER3lmXCIpKTtfLnNlLnNldChcInNzYXZlLm1iY1wiLF8uSihcIlRWNjJGZlwiKSk7Xy5zZS5zZXQoXCJzc2F2ZS5ubGNcIixfLkooXCJYaDlodmJcIikpO1xuXy5zZS5zZXQoXCJzc2F2ZS5vY1wiLF8uSihcIk5vZ0JsZVwiKSk7Xy5zZS5zZXQoXCJzc2F2ZS5vZFwiLF8uSihcInZHclJzZFwiKSk7Xy5zZS5zZXQoXCJzc2F2ZS5yYmNcIixfLkooXCJPMUx0UWNcIikpO18uc2Uuc2V0KFwic3NhdmUucmJ0XCIsXy5KKFwiWnp4UnlmXCIpKTtfLnNlLnNldChcInNzYXZlLnNic1wiLF8uSihcImFET0gzYlwiKSk7Xy5zZS5zZXQoXCJzc2F2ZS5zYnVcIixfLkooXCJWd2xmUWVcIikpO18uc2Uuc2V0KFwic3NhdmUuc2xjXCIsXy5KKFwicW9mR3VlXCIpKTtfLnNlLnNldChcInNzbGsuYnRwXCIsXy5KKFwiYlpmeUFiXCIpKTtfLnNlLnNldChcInNzbGsucG9cIixfLkooXCJhOUo2cmNcIikpO18uc2Uuc2V0KFwic3RjLnN0YXJ0aGVscFwiLF8uSihcIkw1V3E5Y1wiKSk7Xy5zZS5zZXQoXCJzdHQuaHNjXCIsXy5KKFwiYnRMSm5kXCIpKTtfLnNlLnNldChcInN0dC5odmNcIixfLkooXCJDamhpZWZcIikpO18uc2Uuc2V0KFwic3Z0LmJcIixfLkooXCJUNkVRRVwiKSk7Xy5zZS5zZXQoXCJzdnQuclwiLF8uSihcInpIbTdrYlwiKSk7XG5fLnNlLnNldChcInQudFwiLF8uSihcImFDVlFVYlwiKSk7Xy5zZS5zZXQoXCJ0ZXN0LmVcIixfLkooXCJ5T2N3eGNcIikpO18uc2Uuc2V0KFwidGVzdC5mXCIsXy5KKFwiSU1BNVJcIikpO18uc2Uuc2V0KFwidGVzdC5sXCIsXy5KKFwiWUs1Uk9iXCIpKTtfLnNlLnNldChcInRlc3QucFwiLF8uSihcImtiekdjZFwiKSk7Xy5zZS5zZXQoXCJ0ZXN0LnNlbGVjdE1lbnVJdGVtXCIsXy5KKFwialVGQlBcIikpO18uc2Uuc2V0KFwidGltZWxpbmUtaHlwZXJsYXBzZS5wbGF5UGF1c2VcIixfLkooXCJmS1hNT2VcIikpO18uc2Uuc2V0KFwidGltZWxpbmUtaHlwZXJsYXBzZS5wcm9ncmVzc2Jhcl9jbGlja1wiLF8uSihcIm1rVG14ZFwiKSk7Xy5zZS5zZXQoXCJ0aW1lbGluZS1zZXR0aW5ncy1kaWFsb2cuY2FuY2VsXCIsXy5KKFwiSEh5cGZlXCIpKTtfLnNlLnNldChcInRpbWVsaW5lLXNldHRpbmdzLWRpYWxvZy5zYXZlXCIsXy5KKFwiVFlKcVBiXCIpKTtfLnNlLnNldChcInRsLnRyXCIsXy5KKFwiYWVCcm5cIikpO1xuXy5zZS5zZXQoXCJ0b3AtcGxhY2VzLW51Z2dldC5jb25maXJtZWQtdmlzaXRzXCIsXy5KKFwiRzMzN2diXCIpKTtfLnNlLnNldChcInRvcC1wbGFjZXMtbnVnZ2V0Lm1vc3QtdmlzaXRlZFwiLF8uSihcImRWNTRxZlwiKSk7Xy5zZS5zZXQoXCJ0b3AtcGxhY2VzLW51Z2dldC5ydW53YXktbW91c2Utb3ZlclwiLF8uSihcIk85M2t3ZVwiKSk7Xy5zZS5zZXQoXCJ0b3AtcGxhY2VzLW51Z2dldC5ydW53YXktc2Nyb2xsLWxlZnRcIixfLkooXCJXMTJPaWJcIikpO18uc2Uuc2V0KFwidG9wLXBsYWNlcy1udWdnZXQucnVud2F5LXNjcm9sbC1yaWdodFwiLF8uSihcInJzdGF6ZFwiKSk7Xy5zZS5zZXQoXCJ0b3AtcGxhY2VzLW51Z2dldC50b2dnbGUtZXhwYW5kZWQtc3RhdGVcIixfLkooXCJ0dWRSYWJcIikpO18uc2Uuc2V0KFwidG9wLXBsYWNlcy1udWdnZXQudW5jb25maXJtZWQtdmlzaXRzXCIsXy5KKFwiSThUY2RiXCIpKTtfLnNlLnNldChcInRvcm1vZC5hZlwiLF8uSihcIkZWVFVtZVwiKSk7Xy5zZS5zZXQoXCJ0b3Jtb2QuY2FmXCIsXy5KKFwiVFdGeDFiXCIpKTtcbl8uc2Uuc2V0KFwidG9ybW9kLm1lY1wiLF8uSihcImUwZ0h0ZFwiKSk7Xy5zZS5zZXQoXCJ0b3Jtb2QudGFmXCIsXy5KKFwiWDBaUzJcIikpO18uc2Uuc2V0KFwidHJhdmVsLmNsb3NlLWRpYWxvZ1wiLF8uSihcIlVwT0FFYlwiKSk7Xy5zZS5zZXQoXCJ0cmV4LnBcIixfLkooXCJBODcwOGJcIikpO18uc2Uuc2V0KFwidHJleC5wZlwiLF8uSihcIkJTaWZjY1wiKSk7Xy5vSWE9Xy5KKFwiaU1NSkRmXCIpO18uc2Uuc2V0KFwidHJleC5yc1wiLF8ub0lhKTtfLnNlLnNldChcInRyZnAucmVjb3JkVmlkZW9DbGlja1wiLF8uSihcImlPUHNMZVwiKSk7Xy5zZS5zZXQoXCJ0cmZwLnNob3dDb21wYXJhdG9yXCIsXy5KKFwiU2MzbXlcIikpO18uc2Uuc2V0KFwidHJmcC5zaG93RGV0YWlsc1wiLF8uSihcInpzeWRNYlwiKSk7Xy5zZS5zZXQoXCJ0cmZwLnNob3dJdGluZXJhcnlMaXN0XCIsXy5KKFwiY2hqeWdkXCIpKTtfLnNlLnNldChcInRyZnAuc2hvd0l0aW5lcmFyeVBhZ2VcIixfLkooXCJNUDZmRGJcIikpO18uc2Uuc2V0KFwidHJmcC5zaG93UGxhblRyaXBcIixfLkooXCJHSjRxb1wiKSk7XG5fLnNlLnNldChcInRyZnAuc2hvd1JlbGF0ZWREZXN0aW5hdGlvblwiLF8uSihcImdKbFF2YlwiKSk7Xy5zZS5zZXQoXCJ0cmZwLnNob3dUb3BTaWdodHNMaXN0XCIsXy5KKFwiZHMxTjNkXCIpKTtfLnNlLnNldChcInRyaXAtZGF5LXJ1bndheS5ydW53YXktbW91c2Utb3ZlclwiLF8uSihcIlprZEdvZlwiKSk7Xy5zZS5zZXQoXCJ0cmlwLWRheS1ydW53YXkucnVud2F5LXNjcm9sbC1sZWZ0XCIsXy5KKFwidnY4UVBcIikpO18uc2Uuc2V0KFwidHJpcC1kYXktcnVud2F5LnJ1bndheS1zY3JvbGwtcmlnaHRcIixfLkooXCJhM3k3YmVcIikpO18uc2Uuc2V0KFwidHJpcC1udWdnZXQuc2hvdy1tb3N0LXJlY2VudC10cmlwXCIsXy5KKFwiVk5MT0RjXCIpKTtfLnNlLnNldChcInRyaXAtbnVnZ2V0LnNob3ctdHJpcHNcIixfLkooXCJxS203UVwiKSk7Xy5zZS5zZXQoXCJ0cmlwLXJ1bndheS5hY3Rpdml0eS1tb3VzZW91dFwiLF8uSihcIlFDdGx6ZlwiKSk7Xy5zZS5zZXQoXCJ0cmlwLXJ1bndheS5hY3Rpdml0eS1tb3VzZW92ZXJcIixfLkooXCJ5YVNrYmVcIikpO1xuXy5zZS5zZXQoXCJ0cmlwLXJ1bndheS5hY3Rpdml0eS1zZWxlY3RcIixfLkooXCJLM0lnRWRcIikpO18uc2Uuc2V0KFwidHJpcC1ydW53YXkuaGVhZGVyLWNhcmQtYmFja1wiLF8uSihcInpJWk51ZVwiKSk7Xy5zZS5zZXQoXCJ0cmlwLXJ1bndheS5ydW53YXktbW91c2Utb3ZlclwiLF8uSihcInhLNnNUXCIpKTtfLnNlLnNldChcInRyaXAtcnVud2F5LnJ1bndheS1zY3JvbGwtbGVmdFwiLF8uSihcIkhCRFpJY1wiKSk7Xy5zZS5zZXQoXCJ0cmlwLXJ1bndheS5ydW53YXktc2Nyb2xsLXJpZ2h0XCIsXy5KKFwiSW5aTjFiXCIpKTtfLnNlLnNldChcInRyc3AudHRpZVwiLF8uSihcIkVhcHRTXCIpKTtfLnNlLnNldChcIndlbGNvbWUuZ290b1wiLF8uSihcImR1YlhXZFwiKSk7Xy5zZS5zZXQoXCJ3ZWxjb21lLm5leHRcIixfLkooXCJJMHNnZlwiKSk7Xy5zZS5zZXQoXCJ3ZWxjb21lLnByZXZcIixfLkooXCJ2M2x2N2RcIikpO18uc2Uuc2V0KFwid2VsY29tZS5zZXR0aW5nc1wiLF8uSihcInBLVWp4ZVwiKSk7Xy5zZS5zZXQoXCJ3ZWxjb21lLnNraXBcIixfLkooXCJ6YUtTRmZcIikpO1xuXy5zZS5zZXQoXCJ3b2IuZGZjXCIsXy5KKFwiQTh3bVhkXCIpKTtfLnNlLnNldChcIndvYi5mXCIsXy5KKFwiQ0ROenNlXCIpKTtfLnNlLnNldChcIndvYi5vd2FcIixfLkooXCJnd3h3MmJcIikpO18uc2Uuc2V0KFwid29iLnNcIixfLkooXCJhb24wRWVcIikpO18uc2Uuc2V0KFwid29iLnRcIixfLkooXCJvOFEyTmNcIikpO18uc2Uuc2V0KFwid29iZi50XCIsXy5KKFwiaUQ0ZUFkXCIpKTt2YXIgcElhPVtcImZvY3VzXCIsXCJibHVyXCIsXCJlcnJvclwiLFwibG9hZFwiLFwidG9nZ2xlXCJdO1xuW10uY29uY2F0KF8ubWQoXCJjbGljayBkYmxjbGljayBmb2N1c2luIGZvY3Vzb3V0IGtleWRvd24ga2V5dXAga2V5cHJlc3MgbW91c2VvdmVyIG1vdXNlb3V0IHN1Ym1pdCB0b3VjaHN0YXJ0IHRvdWNoZW5kIHRvdWNobW92ZSB0b3VjaGNhbmNlbCBhdXhjbGljayBjaGFuZ2UgY29tcG9zaXRpb25zdGFydCBjb21wb3NpdGlvbnVwZGF0ZSBjb21wb3NpdGlvbmVuZCBiZWZvcmVpbnB1dCBpbnB1dCBzZWxlY3QgY29weSBjdXQgcGFzdGUgbW91c2Vkb3duIG1vdXNldXAgd2hlZWwgY29udGV4dG1lbnUgZHJhZ292ZXIgZHJhZ2VudGVyIGRyYWdsZWF2ZSBkcm9wIGRyYWdzdGFydCBkcmFnZW5kIHBvaW50ZXJkb3duIHBvaW50ZXJtb3ZlIHBvaW50ZXJ1cCBwb2ludGVyY2FuY2VsIHBvaW50ZXJvdmVyIHBvaW50ZXJvdXQgZ290cG9pbnRlcmNhcHR1cmUgbG9zdHBvaW50ZXJjYXB0dXJlIGVuZGVkIGxvYWRlZG1ldGFkYXRhIHBhZ2VoaWRlIHBhZ2VzaG93IHZpc2liaWxpdHljaGFuZ2UgYmVmb3JlbWF0Y2hcIi5zcGxpdChcIiBcIikpLF8ubWQocElhKSk7dmFyIHJtYSxFcmEscUlhLEhyYSxEcmEsR3JhLEZyYSxLcmE7cm1hPXR5cGVvZiBuYXZpZ2F0b3IhPT1cInVuZGVmaW5lZFwiJiYvTWFjaW50b3NoLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO0VyYT10eXBlb2YgbmF2aWdhdG9yIT09XCJ1bmRlZmluZWRcIiYmIS9PcGVyYS8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSYmL1dlYktpdC8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtxSWE9dHlwZW9mIG5hdmlnYXRvciE9PVwidW5kZWZpbmVkXCImJiEvT3BlcmF8V2ViS2l0Ly50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpJiYvR2Vja28vLnRlc3QobmF2aWdhdG9yLnByb2R1Y3QpO0hyYT17QToxLElOUFVUOjEsVEVYVEFSRUE6MSxTRUxFQ1Q6MSxCVVRUT046MX07RHJhPXtFbnRlcjoxMyxcIiBcIjozMn07XG5fLklyYT17QToxMyxCVVRUT046MCxDSEVDS0JPWDozMixDT01CT0JPWDoxMyxGSUxFOjAsR1JJRENFTEw6MTMsTElOSzoxMyxMSVNUQk9YOjEzLE1FTlU6MCxNRU5VQkFSOjAsTUVOVUlURU06MCxNRU5VSVRFTUNIRUNLQk9YOjAsTUVOVUlURU1SQURJTzowLE9QVElPTjowLFJBRElPOjMyLFJBRElPR1JPVVA6MzIsUkVTRVQ6MCxTVUJNSVQ6MCxTV0lUQ0g6MzIsVEFCOjAsVFJFRToxMyxUUkVFSVRFTToxM307R3JhPXtDSEVDS0JPWDohMCxGSUxFOiEwLE9QVElPTjohMCxSQURJTzohMH07RnJhPXtDT0xPUjohMCxEQVRFOiEwLERBVEVUSU1FOiEwLFwiREFURVRJTUUtTE9DQUxcIjohMCxFTUFJTDohMCxNT05USDohMCxOVU1CRVI6ITAsUEFTU1dPUkQ6ITAsUkFOR0U6ITAsU0VBUkNIOiEwLFRFTDohMCxURVhUOiEwLFRFWFRBUkVBOiEwLFRJTUU6ITAsVVJMOiEwLFdFRUs6ITB9O1xuS3JhPXtBOiEwLEFSRUE6ITAsQlVUVE9OOiEwLERJQUxPRzohMCxJTUc6ITAsSU5QVVQ6ITAsTElOSzohMCxNRU5VOiEwLE9QVEdST1VQOiEwLE9QVElPTjohMCxQUk9HUkVTUzohMCxTRUxFQ1Q6ITAsVEVYVEFSRUE6ITB9O3ZhciB6bWEsQ21hLERtYTtfLnZtYT1uZXcgTWFwO3ptYT17fTtDbWE9ITE7RG1hPTA7dmFyIGhuYT1fLm5kKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBySWF9KSxySWE9ZnVuY3Rpb24oKXt0aGlzLm9hPVVtYSgpfTtySWEucHJvdG90eXBlLmFkZD1mdW5jdGlvbihhKXt0aGlzLm9hLmFkZChhKX07cklhLnByb3RvdHlwZS5hZGRBbGw9ZnVuY3Rpb24oYSl7YT1fLlBhKGEpO2Zvcih2YXIgYj1hLm5leHQoKTshYi5kb25lO2I9YS5uZXh0KCkpdGhpcy5hZGQoYi52YWx1ZSl9O3JJYS5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm9hLmhhcyhhKX07cklhLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMub2EuY2xlYXIoKX07Xy5zSWE9Xy5PYihmdW5jdGlvbihhKXtyZXR1cm4gaUdhKGEpJiZhLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJmEubmFtZXNwYWNlVVJJPT09XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sXCJ9KTtfLkJlPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5CZSxfLnEpO18uVm49WzAsMSxfLkhdO18uSGU9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLkhlLF8ucSk7Xy5Xbj1bMCwyLF8uSF07Xy5NZT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uTWUsXy5xKTtfLlhuPVswLDMsXy5IXTt2YXIgam5hPV8uUWcoW1wiXCJdKTt2YXIgbG5hLHRJYSxubmE7bG5hPXt9O3RJYT17fTtfLmtuYT0odElhLmluaXQ9W10sdElhLl9lPVtdLHRJYSk7Xy5tbmE9ITE7bm5hPVtdO18ub25hPWZ1bmN0aW9uKGEpe3RyeXt2YXIgYj1sbmFbYV07aWYoYil7dmFyIGM9Yi5pbml0LGQ9Z29vZ2xlLnBtY1thXSxlO2lmKGU9Yyl7dmFyIGY7aWYoIShmPWQpKXt2YXIgZz1sbmFbYV07Zj0hKCFnfHwhZy5fZSl9ZT1mfWUmJihjKGQpLE1hdGgucmFuZG9tKCk8LjAwMSYmXy5TZCgpLk1jKFwiY2FkXCIsXCJmaXJlaW5pdC5cIithK1wiLmNmZy5cIitKU09OLnN0cmluZ2lmeShkKSkubG9nKCkpfX1jYXRjaChoKXtfLmlkKGgse3hnOntjYXVzZTpcIm1pbml0XCIsbWlkOmF9LGxldmVsOjB9KX19O3ZhciB2bmE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IFNldChiSGEoYixmdW5jdGlvbihjKXtyZXR1cm4gYS5oYXMoYyl9KSl9O3ZhciB1SWE9ZnVuY3Rpb24oKXt0aGlzLkFhPUZuYTt0aGlzLkJhPXJBYTt0aGlzLm9hPTA7dGhpcy5xdWV1ZT1bXX0sd0lhPWZ1bmN0aW9uKGEsYil7dmFyIGM9RGF0ZS5ub3coKTtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24oZCxlKXthLnF1ZXVlLnB1c2goZnVuY3Rpb24oKXt2YXIgZixnLGgsaztyZXR1cm4gXy5iaChmdW5jdGlvbihsKXtzd2l0Y2gobC5vYSl7Y2FzZSAxOnJldHVybiBhLm9hKyssZj1EYXRlLm5vdygpLWMsdHlwZW9mKChnPXdpbmRvdy5uYXZpZ2F0b3IpPT1udWxsP3ZvaWQgMDpnLnNlbmRCZWFjb24pPT09XCJmdW5jdGlvblwiJiZmPjIwJiZNYXRoLnJhbmRvbSgpPC4wMSYmbmF2aWdhdG9yLnNlbmRCZWFjb24oXCIvZ2VuXzIwND9jYWQ9bG9hZF9ybGEuXCIrZitcIi5jcy5cIithLkFhK1wiLmljLlwiK2EuQmEsXCJcIiksXy5VZyhsLDIsMyksbC55aWVsZChiKCksNSk7Y2FzZSA1Omg9bC5BYSxkKGgpO2Nhc2UgMzpfLlpnKGwpO2Eub2EtLTt2SWEoYSk7Xy4kZyhsLDApO2JyZWFrO1xuY2FzZSAyOms9Xy5ZZyhsKSxlKGspLGwuTWIoMyl9fSl9KTt2SWEoYSl9KX0sdklhPWZ1bmN0aW9uKGEpe2Eub2E8MTAmJmEucXVldWUubGVuZ3RoPjAmJmEucXVldWUuc2hpZnQoKSgpfTt2YXIgc29hO18ueElhPWZ1bmN0aW9uKGEpe2E9YT09PXZvaWQgMD97Zmx1c2g6ZnVuY3Rpb24oKXt9fTphO25ldyBfLllsKGEpfTtzb2E9ZnVuY3Rpb24oKXtfLnlJYXx8KF8ueUlhPW5ldyBfLnhJYSk7cmV0dXJuIF8ueUlhfTtfLnhJYS5wcm90b3R5cGUubG9nPWZ1bmN0aW9uKCl7fTtfLnhJYS5wcm90b3R5cGUuVno9ZnVuY3Rpb24oYSl7c29hKCkubG9nKFwiSlNfUlVOVElNRV9FUlJPUl9DT1VOVFwiKTsoYT09bnVsbD8wOmEuaW5jbHVkZXMoXCJEZXBlbmRlbmN5IG9uIHVua25vd24gbW9kdWxlXCIpKSYmc29hKCkubG9nKFwiTU9EVUxFX0xPQURfUkVRVUVTVFNfQ09VTlRcIiwhMSl9O3ZhciB6SWE9cEFhfHxxQWF8fG5BYSxGbmE9cEFhPzI1OnFBYT81MDpuQWE/MTAwOm9BYT8yMDA6MCxBSWE9bEFhPzU6MyxCSWE9bEFhPzU6MyxDSWE9ZnVuY3Rpb24oKXt0aGlzLk9iPSExO3RoaXMudmQ9ITA7dGhpcy5DYT0hMTt0aGlzLnFjPW51bGw7dGhpcy5QbD0hMTt0aGlzLndiPXRoaXMuVWE9MDt0aGlzLk9hPW51bGw7dGhpcy5ZYj1cIjEwXCI7Z29vZ2xlLnhqc3V8fF8uaWQoRXJyb3IoXCJrY1wiKSx7bGV2ZWw6MX0pO3RoaXMuU2I9bmV3IHVJYTt0aGlzLlJiPUJuYSgpO3RoaXMuQWE9Z29vZ2xlLnhqc3VzJiZnb29nbGUueGpzdXMubGVuZ3RoPjA/W2dvb2dsZS54anN1XS5jb25jYXQoXy5tZChnb29nbGUueGpzdXMpKTpbZ29vZ2xlLnhqc3VdO3RoaXMuR2I9Xy5lZCh0aGlzLkFhWzBdKTt2YXIgYT1zRGEodGhpcy5HYik7aWYoYT09PVwiMVwifHxhPT09XCIzXCIpdGhpcy5DYT0hMCx0aGlzLlliPVwiMlwiO3ZhciBiOygoYj1nb29nbGUueGpzKT09bnVsbD8wOmIuYmFzZWpzKT90aGlzLmtiPVxuXy5lZChnb29nbGUueGpzLmJhc2Vqcyk6Xy5pZChFcnJvcihcImxjXCIpLHtsZXZlbDptQWE/MTozfSk7dGhpcy5XZz10aGlzLkFhW3RoaXMuQWEubGVuZ3RoLTFdO3RoaXMub2E9Xy5lZCh0aGlzLldnKTt0aGlzLkJhPV8ueWQoKTt0aGlzLnJlcXVlc3RlZE1vZHVsZXM9bmV3IFNldChbXS5jb25jYXQoXy5tZChfLnJEYSh0aGlzLm9hKSksXy5tZChwRGEodGhpcy5vYSkpKSk7dGhpcy5oYj1uZXcgU2V0O3RoaXMuUWE9bmV3IFNldChbXS5jb25jYXQoXy5tZChUbWEodGhpcy5vYSkpKSk7dGhpcy5SYT1uZXcgU2V0O3ZhciBjO3RoaXMuR2E9KChjPWdvb2dsZS54anMpPT1udWxsPzA6Yy5iYXNlY29tYik/Xy5lZChnb29nbGUueGpzLmJhc2Vjb21iKTp0aGlzLm9hLmNsb25lKCk7dmFyIGQsZTt0aGlzLlFhPW5ldyBTZXQoW10uY29uY2F0KF8ubWQodGhpcy5RYSksXy5tZChUbWEodGhpcy5HYSkpLF8ubWQoKGU9KGQ9Z29vZ2xlLnhqcyk9PW51bGw/dm9pZCAwOmQuZXhjbSkhPW51bGw/ZTpcbltdKSkpO3FEYSh0aGlzLkdhLEFycmF5LmZyb20odGhpcy5RYSkpO3VBYSYmXy5obih0aGlzLkdhLFwidWpnXCIsXCIxXCIpO3ZhciBmO18uYmEuZmV0Y2gmJnR5cGVvZiBfRl9pbnN0YWxsQ3NzPT09XCJmdW5jdGlvblwiJiYoKGY9Z29vZ2xlLnhqcyk9PW51bGw/MDpmLmJhc2Vjc3MpJiZFbmEoKSYmKHRoaXMuTGE9Xy5lZChnb29nbGUueGpzLmJhc2Vjc3MpLG9EYSh0aGlzLkxhLEFycmF5LmZyb20odGhpcy5RYSkpKTt0aGlzLlNjPU1hdGgucmFuZG9tKCl9LERJYT1mdW5jdGlvbihhLGIpe3ZhciBjPV8uckRhKF8uZWQoYikpLmZpbHRlcihmdW5jdGlvbihnKXtyZXR1cm4hL14oPzpzeXxlbSlbMC05YS16XXswLDR9JC8udGVzdChnKX0pLGQ9W107aWYoYS53Yjw9MSl7dmFyIGU9W10uY29uY2F0KF8ubWQocERhKGEub2EpKSxfLm1kKF8uckRhKGEub2EpKSk7ZC5wdXNoKFwibGlkcz1cIitlLmpvaW4oXCIsXCIpKTtpZihhLkFhJiZhLkFhLmxlbmd0aD4xKWZvcihlPTA7ZTxhLkFhLmxlbmd0aDtlKyspZC5wdXNoLmFwcGx5KGQsXG5fLm1kKERuYShhLkFhW2VdLFwicFwiK2UpKSk7ZWxzZSBkLnB1c2guYXBwbHkoZCxfLm1kKERuYShhLldnLFwicDFcIikpKX1lPWEuQWEubGVuZ3RoPjE/MTowO3ZhciBmPV8uVUVhPzE6MDtkLnB1c2goXCJzbj1cIitnb29nbGUuc24pO2QucHVzaChcInNwPVwiK2UpO2QucHVzaChcInNzPVwiK2YpO2QucHVzaChcImlkcz1cIitjLmpvaW4oXCIsXCIpKTtkLnB1c2goXCJhbT1cIitfLmdkKGEub2EsXCJhbVwiKSk7ZC5wdXNoKFwiaz1cIitfLmdkKGEub2EsXCJrXCIpKTtkLnB1c2goXCJzPVwiK2Eud2IpO2QucHVzaC5hcHBseShkLF8ubWQoRG5hKGIpKSk7Z29vZ2xlLmxvZyYmZ29vZ2xlLmxvZyhcInBwbVwiLFwiJlwiK2Quam9pbihcIiZcIikpfSxJSWEsSElhLEVJYSxLSWEsTUlhLE5JYSxMSWEsUklhLFNJYSxRSWEsVElhLFBJYSxPSWEsR0lhLEpJYSxGSWEsV0lhLFVJYTtcbkNJYS5wcm90b3R5cGUuRGM9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuemRhPShjPT09dm9pZCAwP3t9OmMpLnpkYTt0aGlzLlVhKys7YT1hLmZpbHRlcihmdW5jdGlvbihkKXtyZXR1cm4hL14oPzpzeXxlbSlbMC05YS16XXswLDR9JC8udGVzdChkKX0pO0VJYSh0aGlzLGEpfTtcbklJYT1mdW5jdGlvbihhKXthLnFjIT1udWxsfHxhLlVhPDF8fChhLnFjPUZJYShhKS50aGVuKGZ1bmN0aW9uKGIpe2ImJmIuaGFzT3duUHJvcGVydHkoXCJtb2R1bGVHcmFwaFwiKSYmKGEuQmEucmViKGIubW9kdWxlR3JhcGgpLEdJYShhLEFycmF5LmZyb20oYS5yZXF1ZXN0ZWRNb2R1bGVzKSxmdW5jdGlvbihjKXthLmhiLmFkZChjLmdldElkKCkpfSxhLnpkYSxmdW5jdGlvbihjKXtyZXR1cm4hYS5oYi5oYXMoYy5nZXRJZCgpKX0pLEdJYShhLEFycmF5LmZyb20oYS5RYSksZnVuY3Rpb24oYyl7YS5SYS5hZGQoYy5nZXRJZCgpKX0sYS56ZGEsZnVuY3Rpb24oYyl7cmV0dXJuIWEuUmEuaGFzKGMuZ2V0SWQoKSl9KSxhLkNhPSEwLHJBYSYmKGEuQmI9cm5hKGZ1bmN0aW9uKGMpe3JldHVybiEoYyBpbiBhLkJhLkFhKXx8YS5CYS5GTihjKS5pc0xvYWRlZCgpfSkpKTtiJiZiLmhhc093blByb3BlcnR5KFwiY2h1bmtUeXBlc1wiKSYmKEhJYShhLGIuY2h1bmtUeXBlcyksYS5DYSYmYS5rYiYmYS5MYSYmXG4oYS5QbD0hMCkpfSkpfTtISWE9ZnVuY3Rpb24oYSxiKXt0cnl7dmFyIGM9YS5CYS5JMmIoKX1jYXRjaChlKXtfLmlkKGUpfWlmKGMhPW51bGwmJmMubGVuZ3RoPjApe2EuT2E9bmV3IFNldDtmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKyliW2RdIT09XCIyXCImJmJbZF0hPT1cIjNcInx8YS5PYS5hZGQoY1tkXSl9fTtcbkVJYT1mdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGcsaCxrLGw7Xy5iaChmdW5jdGlvbihuKXtzd2l0Y2gobi5vYSl7Y2FzZSAxOmlmKCFhLlJifHxhLk9iKXtuLk1iKDIpO2JyZWFrfV8uVWcobiwzKTtyZXR1cm4gbi55aWVsZChhLlJiLDUpO2Nhc2UgNTpfLlhnKG4sNCk7YnJlYWs7Y2FzZSAzOmM9Xy5ZZyhuKSxfLmlkKGMpO2Nhc2UgNDphLk9iPSEwLGEucmVxdWVzdGVkTW9kdWxlcz1uZXcgU2V0KFtdLmNvbmNhdChfLm1kKGEucmVxdWVzdGVkTW9kdWxlcykpLmZpbHRlcihmdW5jdGlvbihyKXtyZXR1cm4gYS5CYS5GTihyKS5pc0xvYWRlZCgpfSkpO2Nhc2UgMjpiPWIuZmlsdGVyKGZ1bmN0aW9uKHIpe3JldHVybiFhLnJlcXVlc3RlZE1vZHVsZXMuaGFzKHIpfSk7ZD1KSWEoYSxiKTtlPWdvb2dsZS54anN1cyYmZ29vZ2xlLnhqc3VzLmxlbmd0aD4wO2Y9IWU7Zz1iLmxlbmd0aD4yMDAmJmEuQmI/dW5hKGQsYS5CYixmdW5jdGlvbihyKXtyZXR1cm4gYS5CYS5GTihyKS5vYX0pOlxudm9pZCAwO0tJYShhLGQsYS5yZXF1ZXN0ZWRNb2R1bGVzLGYsZyk7aD1fLlBhKGQpO2ZvcihrPWgubmV4dCgpOyFrLmRvbmU7az1oLm5leHQoKSlsPWsudmFsdWUsYS5yZXF1ZXN0ZWRNb2R1bGVzLmFkZChsKTtJSWEoYSk7Xy5TZyhuKX19KX07S0lhPWZ1bmN0aW9uKGEsYixjLGQsZSl7ZD1kPT09dm9pZCAwPyEwOmQ7dmFyIGY7YS5QbCYmKGY9TElhKGEsYixlKSk7ZT9Qcm9taXNlLmFsbChlLm1hcChmdW5jdGlvbihnKXtyZXR1cm4gTUlhKGEsZyxjLCExLGYpfSkpOk1JYShhLGIsYyxkLGYpfTtNSWE9ZnVuY3Rpb24oYSxiLGMsZCxlKXtkPWQ9PT12b2lkIDA/ITA6ZDtyZXR1cm4gYS5DYSYmeklhJiZiLmxlbmd0aD5GbmE/R25hKGIsZnVuY3Rpb24oZil7cmV0dXJuIE5JYShhLGYsYywhMSxlKX0pOk5JYShhLGIsYyxkLGUpfTtcbk5JYT1mdW5jdGlvbihhLGIsYyxkLGUpe2Q9ZD09PXZvaWQgMD8hMDpkO3ZhciBmPWUmJmEua2I/YS5rYjphLkdhLGc9T0lhKGEsYixjLGYpO2lmKGcubGVuZ3RoPD00MDQzfHxiLmxlbmd0aD09PTEpcmV0dXJuIHdJYShhLlNiLGZ1bmN0aW9uKCl7cmV0dXJuIFBJYShhLGcsZCxlKX0pO3ZhciBoPWIubGVuZ3RoLzIsaz1iLnNsaWNlKDAsaCk7UElhKGEsT0lhKGEsayxjLGYpLCExLGUpO2s9Xy5QYShrKTtmb3IodmFyIGw9ay5uZXh0KCk7IWwuZG9uZTtsPWsubmV4dCgpKWMuYWRkKGwudmFsdWUpO3JldHVybiBQSWEoYSxPSWEoYSxiLnNsaWNlKGgpLGMsZiksITEsZSl9O0xJYT1mdW5jdGlvbihhLGIsYyl7aWYoYylyZXR1cm4gUHJvbWlzZS5hbGwoYy5tYXAoZnVuY3Rpb24oZCl7ZD1RSWEoYSxkKTtyZXR1cm4gZC5sZW5ndGg+MD9SSWEoYSxkKTpQcm9taXNlLnJlc29sdmUoKX0pKTtiPVFJYShhLGIpO3JldHVybiBiLmxlbmd0aD09PTA/UHJvbWlzZS5yZXNvbHZlKCk6UklhKGEsYil9O1xuUklhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuQ2EmJnpJYSYmYi5sZW5ndGg+Rm5hP0duYShiLGZ1bmN0aW9uKGMpe3JldHVybiBTSWEoYSxjKX0pOlNJYShhLGIpfTtTSWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1PSWEoYSxiLG5ldyBTZXQsYS5MYSwhMCk7aWYoYy5sZW5ndGg8PTQwNDN8fGIubGVuZ3RoPT09MSlyZXR1cm4gVElhKGEsYyk7Yz1iLmxlbmd0aC8yO3ZhciBkPWIuc2xpY2UoMCxjKTtkPVRJYShhLE9JYShhLGQsbmV3IFNldCxhLkxhLCEwKSk7YT1USWEoYSxPSWEoYSxiLnNsaWNlKGMpLG5ldyBTZXQsYS5MYSwhMCkpO3JldHVybiBQcm9taXNlLmFsbChbZCxhXSl9O1FJYT1mdW5jdGlvbihhLGIpe3JldHVybiBhLk9hP2IuZmlsdGVyKGZ1bmN0aW9uKGMpe3JldHVybiBhLk9hLmhhcyhjKSYmIWEuUmEuaGFzKGMpfSk6Yn07XG5USWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1zQWE/QklhOjA7cmV0dXJuIFVJYShhLGIsYykudGhlbihmdW5jdGlvbihkKXtyZXR1cm4gZC50ZXh0KCkudGhlbihmdW5jdGlvbihlKXtlLmxlbmd0aCYmX0ZfaW5zdGFsbENzcyhlKX0pfSkuY2F0Y2goZnVuY3Rpb24oZCl7Xy5pZChFcnJvcihcIm1jYFwiK2MrXCJgXCIrZC5tZXNzYWdlKSx7bGV2ZWw6M30pO3Rocm93IEVycm9yKFwibmNcIik7fSl9O1xuUElhPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihlLGYpe3ZhciBnLGgsaztyZXR1cm4gXy5iaChmdW5jdGlvbihsKXtzd2l0Y2gobC5vYSl7Y2FzZSAxOmlmKCFkKXtsLk1iKDIpO2JyZWFrfWc9Xy51bChcIkxJTktcIik7Xy5laWEoZyxiLFwicHJlbG9hZFwiKTtnLmFzPVwic2NyaXB0XCI7Zy5mZXRjaFByaW9yaXR5PVwibG93XCI7Xy5samEoZyk7Xy5VZyhsLDMpO3JldHVybiBsLnlpZWxkKGQsNSk7Y2FzZSA1Ol8uWGcobCwyKTticmVhaztjYXNlIDM6cmV0dXJuIF8uWWcobCksZSghMSksbC5yZXR1cm4oKTtjYXNlIDI6aD0wLGs9ZnVuY3Rpb24oKXtpZihoPj1BSWEpdEFhJiZmKG5ldyBfLkdDYShcIkZhaWxlZCB0byBsb2FkIHZpYSBzY3JpcHQuXCIpKTtlbHNle2grKzt2YXIgbj1fLnVsKFwiU0NSSVBUXCIpO18uYmwuUmQobixfLnpuYShiKSk7bi5hc3luYz0hIWM7bi5vbmxvYWQ9ZnVuY3Rpb24oKXtzb2EoKS5sb2coXCJNT0RVTEVfTE9BRF9SRVFVRVNUU19DT1VOVFwiLFxuITApO2UoITApO2Eud2IrKzthLlNjPF8uVklhJiZESWEoYSxiKX07dEFhJiYobi5vbmVycm9yPWZ1bmN0aW9uKCl7KDAsXy5xbikoayxsQWE/NTAqTWF0aC5wb3coMixoKStNYXRoLnJhbmRvbSgpKjUwOjApfSk7Z29vZ2xlLmFzP2dvb2dsZS5hcyhuKTpfLmxqYShuKX19LGsoKSxfLlNnKGwpfX0pfSl9O1xuT0lhPWZ1bmN0aW9uKGEsYixjLGQsZSl7ZD1kPT09dm9pZCAwP2EuR2E6ZDtlPWU9PT12b2lkIDA/ITE6ZTtkPWQuY2xvbmUoKTthLkNhPyhjPWIuZmlsdGVyKGZ1bmN0aW9uKGYpe3JldHVybiBhLlJhLmhhcyhmKX0pLmxlbmd0aD09PTAsZT9jJiZvRGEoZCxbXSk6KG9EYShkLFtdKSxjJiZxRGEoZCxbXSkpLF8udERhKGQse30pLF8uaG4oZCxcImRcIixcIjBcIiksZC5CYS54anM9XCJzXCIrKGEuT2E/XCI0XCI6XCIzXCIpKTooeG5hKGIuc29ydCgpKSxvRGEoZCxBcnJheS5mcm9tKGMpKSxfLmhuKGQsXCJkXCIsXCIxXCIpLGEuemRhJiYhZSYmXy50RGEoZCxhLnpkYSksYS5VYSYmKGQuQmEueGpzPVwic1wiK1N0cmluZyhhLlVhPT09MT8xOjIpKSk7JHphP18uaG4oZCxcImJyLWRcIixcIjFcIik6WnphJiZfLmhuKGQsXCJici1kXCIsXCIwXCIpO18uaG4oZCxcIm1cIixiLmpvaW4oXCIsXCIpKTtfLmhuKGQsXCJlZFwiLFwiMVwiKTtyZXR1cm4gZC50b1N0cmluZygpfTtcbkdJYT1mdW5jdGlvbihhLGIsYyxkLGUpe2I9Xy5QYShiKTtmb3IodmFyIGY9Yi5uZXh0KCk7IWYuZG9uZTtmPWIubmV4dCgpKXtmPWYudmFsdWU7dmFyIGc9YS5CYS5GTihmKTtpZighZXx8ZShnKSl7dmFyIGg9Zy5vYXx8W107aWYoZCl7dmFyIGs9W107ZFtmXSYmKGs9T2JqZWN0LmtleXMoZFtmXSkpO2g9aC5jb25jYXQoayl9R0lhKGEsaCxjLGQsZSk7YyhnKX19fTtKSWE9ZnVuY3Rpb24oYSxiKXtpZighYS5DYSlyZXR1cm4gYjt2YXIgYz1bXTtHSWEoYSxiLGZ1bmN0aW9uKGQpe2EuaGIuYWRkKGQuZ2V0SWQoKSk7Yy5wdXNoKGQuZ2V0SWQoKSl9LGEuemRhLGZ1bmN0aW9uKGQpe3JldHVybiFhLmhiLmhhcyhkLmdldElkKCkpJiYhZC5pc0xvYWRlZCgpfSk7cmV0dXJuIGN9O1xuRklhPWZ1bmN0aW9uKGEpe2lmKCFfLmJhLmZldGNoKXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCk7dmFyIGI9YS5HYi5jbG9uZSgpO2RlbGV0ZSBiLm9hLm07ZGVsZXRlIGIub2EuZXhtO2RlbGV0ZSBiLm9hLmVkO18uaG4oYixcImRnXCIsbnVsbCk7Xy5obihiLFwibWRcIixhLlliKTtyZXR1cm4gVUlhKGEsYi50b1N0cmluZygpLGxBYT81OjEpLnRoZW4oZnVuY3Rpb24oYyl7cmV0dXJuIGMuanNvbigpLmNhdGNoKGZ1bmN0aW9uKCl7fSl9KS5jYXRjaChmdW5jdGlvbigpe30pfTtXSWE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gd0lhKGEuU2IsZnVuY3Rpb24oKXtyZXR1cm4gZmV0Y2goYix7Y3JlZGVudGlhbHM6XCJpbmNsdWRlXCJ9KX0pfTtcblVJYT1mdW5jdGlvbihhLGIsYyxkKXtkPWQ9PT12b2lkIDA/MDpkO3JldHVybiBXSWEoYSxiKS5jYXRjaChmdW5jdGlvbihlKXtpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yJiZkPGMpcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGYsZyl7KDAsXy5xbikoZnVuY3Rpb24oKXtVSWEoYSxiLGMsZCsxKS50aGVuKGYsZyl9LGxBYT81MCpNYXRoLnBvdygyLGQpK01hdGgucmFuZG9tKCkqNTA6MCl9KTt0aHJvdyBlO30pfTtfLlZJYT0uMDE7Xy5LbmE9U3ltYm9sKHZvaWQgMCk7dmFyIFhJYT0hMSxZSWE9MDt2YXIgWklhPTAsY0phPWZ1bmN0aW9uKGEsYil7Xy5Day5jYWxsKHRoaXMpO3ZhciBjPXRoaXM7dGhpcy5HYT1hO3RoaXMuQmI9Ynx8bnVsbDt0aGlzLk9nPW51bGw7dGhpcy53Yj1mdW5jdGlvbihkKXtfLlFsKGQpfTt0aGlzLm9hPW5ldyAkSWEodGhpcy5PZyxmdW5jdGlvbigpe3JldHVybiBhSmEoYywwLCExKX0sdGhpcy53Yik7dGhpcy5BYT17fTt0aGlzLlFhPW51bGw7dGhpcy5VYT1uZXcgU2V0O3RoaXMuUmE9dGhpcy5CYT1udWxsO2EuX193aXptYW5hZ2VyPXRoaXM7dGhpcy5DYT1uZXcgXy5ybSh0aGlzKTtfLmJKYSYmdGhpcy5DYS5saXN0ZW4oXy5RZShhKSxcInVubG9hZFwiLHRoaXMuZGlzcG9zZSk7dGhpcy5DYS5saXN0ZW4oXy5RZShhKSxcInNjcm9sbFwiLHRoaXMuR2IpO18uSGcodGhpcyx0aGlzLkNhKX0sb0phLCRJYSxuSmEscUphLGpKYSxpSmE7Xy5EKGNKYSxfLkNrKTtfLmlnPWZ1bmN0aW9uKGEpe3JldHVybiBfLmpvYShhKS5xdigpfTtfLmpvYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5rZyhhKS5fX3dpem1hbmFnZXJ9O1xuY0phLnByb3RvdHlwZS5oYj1mdW5jdGlvbigpe307Y0phLnByb3RvdHlwZS5xdj1mdW5jdGlvbigpe3RoaXMuaGIoKTt2YXIgYT10aGlzLm9hO2Eub2F8fChhLm9hPSEwKTtyZXR1cm4gXy5kSmEodGhpcy5vYSl9O3ZhciBlSmE9ZnVuY3Rpb24oKXt2YXIgYT1fLmpvYSh3aW5kb3cuZG9jdW1lbnQpLGI9YS5vYTtiLm9hfHwoYi5vYT0hMCk7YT1hLm9hO2EuQmE/YS5CYSgpOmEuTGEoKX07Y0phLnByb3RvdHlwZS5BZj1mdW5jdGlvbigpe3JldHVybiB0aGlzLkdhfTtjSmEucHJvdG90eXBlLkdiPWZ1bmN0aW9uKCl7dmFyIGE9dGhpczt0aGlzLkFhJiYodGhpcy5CYXx8KHRoaXMuQmE9Xy52ZCgpKSx0aGlzLlJhJiZ3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMuUmEpLHRoaXMuUmE9d2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXthLkJhJiYoYS5CYS5yZXNvbHZlKCksYS5CYT1udWxsKX0sMjAwKSl9O1xudmFyIGZKYT1mdW5jdGlvbihhLGIpe2lmKCFfLnF3YShhLkJiKSl7dmFyIGM9W107Yi5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciBmPWUuZ2V0QXR0cmlidXRlKFwianNjb250cm9sbGVyXCIpO2YmJiFlLmdldEF0dHJpYnV0ZShcImpzbGF6eVwiKSYmKGU9Xy5lZihmKSkmJiFhLlVhLmhhcyhlKSYmKGMucHVzaChlKSxhLlVhLmFkZChlKSl9KTtpZihjLmxlbmd0aD4wKXt2YXIgZDsoZD1fLnZHYShfLkpkLmdldEluc3RhbmNlKCksYykpPT1udWxsfHxkLnRoZW4odm9pZCAwLGZ1bmN0aW9uKCl7fSl9fX0saW9hPWZ1bmN0aW9uKGEsYil7YS5pc0Rpc3Bvc2VkKCl8fGEuQWFbXy5FYShiKV18fGdKYShhLFtiXSl9LGxKYT1mdW5jdGlvbihhLGIpe3ZhciBjPUFycmF5LmZyb20oYi5xdWVyeVNlbGVjdG9yQWxsKF8uaEphKSk7aWYoYS5PYSl7YT1fLlBhKGEuT2EpO2Zvcih2YXIgZD1hLm5leHQoKTshZC5kb25lO2Q9YS5uZXh0KCkpe2Q9Xy5QYShkLnZhbHVlLnF1ZXJ5U2VsZWN0b3JBbGwoXy5oSmEpKTtcbmZvcih2YXIgZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpYy5wdXNoKGUudmFsdWUpfX1qbWEoYikuZm9yRWFjaChmdW5jdGlvbihnKXtBcnJheS5mcm9tKGcucXVlcnlTZWxlY3RvckFsbChfLmhKYSkpLmZvckVhY2goZnVuY3Rpb24oaCl7cmV0dXJuIGMucHVzaChoKX0pfSk7dmFyIGY9W107WUlhPT09MSYmKGY9QXJyYXkuZnJvbShiLnF1ZXJ5U2VsZWN0b3JBbGwoaUphKSkpO3JldHVybiBfLm9oKGMsZnVuY3Rpb24oZyl7cmV0dXJuIGYuaW5jbHVkZXMoZyk/ITE6Xy5pSWEoZyxfLlJIYSkmJmpKYS50ZXN0KGcuZ2V0QXR0cmlidXRlKFwianNhY3Rpb25cIikpfHxfLmtKYS5zb21lKGZ1bmN0aW9uKGgpe3JldHVybiBnLmhhc0F0dHJpYnV0ZShoKX0pfSl9LGFKYT1mdW5jdGlvbihhLGIsYyl7aWYoYS5pc0Rpc3Bvc2VkKCkpcmV0dXJuIF8uVWwoRXJyb3IoKSk7aWYoYS5CYSlyZXR1cm4gYS5CYS5wcm9taXNlLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gYUphKGEsYixjKX0pO3ZhciBkPVxuXCJ0cmlnZ2VyUmVuZGVyX1wiK1pJYTtTbmEoKSYmKHdpbmRvdy5wZXJmb3JtYW5jZS5tYXJrKGQpLFpJYSsrKTtyZXR1cm4gXy5UZChtSmEoYSxjKSxmdW5jdGlvbigpe1NuYSgpJiYod2luZG93LnBlcmZvcm1hbmNlLm1lYXN1cmUoXCJmY2J5WGVcIixkKSx3aW5kb3cucGVyZm9ybWFuY2UuY2xlYXJNYXJrcyhkKSx3aW5kb3cucGVyZm9ybWFuY2UuY2xlYXJNZWFzdXJlcyhcImZjYnlYZVwiKSl9KX0sbUphPWZ1bmN0aW9uKGEsYil7dmFyIGM9bkphKGEub2EpO2lmKGMmJiFiKXtiPVtdO2Zvcih2YXIgZD1fLlBhKGMudDNhKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSlpZihlPWUudmFsdWUsYS5BZigpLmRvY3VtZW50RWxlbWVudC5jb250YWlucyhlKSliLnB1c2goZSk7ZWxzZSBpZihhLk9hKWZvcih2YXIgZj1fLlBhKGEuT2EpLGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKWlmKGcudmFsdWUuY29udGFpbnMoZSkpe2IucHVzaChlKTticmVha31jLnJlbW92ZWQuZm9yRWFjaChmdW5jdGlvbihrKXthLkxhKGspO1xuXy5IYShsSmEoYSxrKSxmdW5jdGlvbihsKXtyZXR1cm4gYS5MYShsKX0pfSk7cmV0dXJuIGdKYShhLGIpfWM9bEphKGEsYS5HYSk7Yj1bXTt2YXIgaD17fTtmb3IoZD0wO2Q8Yy5sZW5ndGg7ZCsrKWU9Y1tkXSxmPV8uRWEoZSksYS5BYVtmXT9oW2ZdPWU6Yi5wdXNoKGUpO18uWWIoYS5BYSxmdW5jdGlvbihrLGwpe2hbbF18fHRoaXMuTGEoayl9LGEpO3JldHVybiBnSmEoYSxiKX07Y0phLnByb3RvdHlwZS5rYj1mdW5jdGlvbigpe307XG52YXIgZ0phPWZ1bmN0aW9uKGEsYil7YS5rYihiKTtpZighYi5sZW5ndGgpcmV0dXJuIF8uZ2UoKTt2YXIgYz0hMSxkPVtdO2IuZm9yRWFjaChmdW5jdGlvbihlKXtpZihfLmlJYShlLF8uUkhhKXx8Xy5rSmEuc29tZShmdW5jdGlvbihmKXtyZXR1cm4gZS5oYXNBdHRyaWJ1dGUoZil9KSl7aWYoYS5BYVtfLkVhKGUpXSlyZXR1cm47YS5BYVtfLkVhKGUpXT1lfV8uaUlhKGUsUG5hKSYmb0phKGUpO18uaUlhKGUsXy5SSGEpP2QucHVzaChlKTpjPSEwfSk7ZkphKGEsZCk7Yj1wSmEoZCk7aWYoIWN8fHFKYTwwKXJldHVybiBiO2EuUWEmJndpbmRvdy5jbGVhclRpbWVvdXQoYS5RYSk7YS5RYT13aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpe3JldHVybiBmSmEoYSxPYmplY3QudmFsdWVzKGEuQWEpKX0scUphKTtyZXR1cm4gYn0scEphPWZ1bmN0aW9uKGEpe2lmKCFhLmxlbmd0aClyZXR1cm4gXy5nZSgpO3ZhciBiPVNuYSgpO2ImJih3aW5kb3cucGVyZm9ybWFuY2UuY2xlYXJNZWFzdXJlcyhcImtEY1A5YlwiKSxcbndpbmRvdy5wZXJmb3JtYW5jZS5jbGVhck1hcmtzKFwiTzdqUE5iXCIpLHdpbmRvdy5wZXJmb3JtYW5jZS5tYXJrKFwiTzdqUE5iXCIpKTthLmZvckVhY2goZnVuY3Rpb24oYyl7dHJ5e18uemUoYyxfLlJIYSx2b2lkIDAsITEpfWNhdGNoKGQpe3dpbmRvdy5zZXRUaW1lb3V0KGV4YShkKSwwKX19KTtiJiZ3aW5kb3cucGVyZm9ybWFuY2UubWVhc3VyZShcImtEY1A5YlwiLFwiTzdqUE5iXCIpO3JldHVybiBfLmdlKCl9O2NKYS5wcm90b3R5cGUuTGE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5fX3NveTtiJiZiLmRpc3Bvc2UoKTsoYj1fLlJHYShhKSkmJmIuZGlzcG9zZSgpO3JKYShhLl9fanNjb250cm9sbGVyKTtTR2EoYSk7aWYoYj1lb2EoYSkpe2Zvcih2YXIgYyBpbiBiKXJKYShiW2NdKTtnb2EoYSl9KGM9Xy5jbWEoYSkpJiZfLmxlLmhhcyhjKSYmXy56YShfLmxlLmdldChjKSxhKTtkZWxldGUgdGhpcy5BYVtfLkVhKGEpXX07XG52YXIgckphPWZ1bmN0aW9uKGEpe2lmKGEpaWYoYS5vYSl7dmFyIGI9bnVsbDt0cnl7YS5hZGRDYWxsYmFjayhmdW5jdGlvbihjKXtiPWN9KX1jYXRjaChjKXt9YiYmYi5kaXNwb3NlKCl9ZWxzZSBhLmNhbmNlbCgpfTtjSmEucHJvdG90eXBlLlFjPWZ1bmN0aW9uKCl7Xy5Day5wcm90b3R5cGUuUWMuY2FsbCh0aGlzKTtfLlliKHRoaXMuQWEsdGhpcy5MYSx0aGlzKTt0aGlzLkdhPW51bGx9O29KYT1mdW5jdGlvbihhKXthLnNldEF0dHJpYnV0ZT1RbmE7YS5yZW1vdmVBdHRyaWJ1dGU9Um5hfTskSWE9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuT2c9YTt0aGlzLkxhPWI7dGhpcy5PYT1jO3RoaXMuQ2E9W107dGhpcy5HYT1bXTt0aGlzLm9hPSExO3RoaXMuQmE9dGhpcy5BYT1udWxsfTtuSmE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5vYT9udWxsOnt0M2E6YS5DYSxyZW1vdmVkOmEuR2F9O2EuQ2E9W107YS5HYT1bXTthLm9hPSExO3JldHVybiBifTtcbl8uZEphPWZ1bmN0aW9uKGEpe2lmKGEuQWEpcmV0dXJuIGEuQWE7YS5BYT1uZXcgXy5qZihmdW5jdGlvbihiKXt2YXIgYz0hMTthLkJhPWZ1bmN0aW9uKCl7Y3x8KGEuQWE9bnVsbCxhLkJhPW51bGwsYz0hMCxiKGEuTGEoKSkpfTthLk9hKGEuQmEpfSk7YS5BYS56cihmdW5jdGlvbigpe30pO3JldHVybiBhLkFhfTtxSmE9MDtqSmE9bmV3IFJlZ0V4cChcIihcXFxccypcIitfLlJIYStcIlxcXFxzKjpcXFxccyp0cmlnZ2VyKVwiKTtfLmtKYT1bXCJqc2NvbnRyb2xsZXJcIixcImpzbW9kZWxcIixcImpzb3duZXJcIl07Xy5oSmE9Xy5rSmEubWFwKGZ1bmN0aW9uKGEpe3JldHVyblwiW1wiK2ErXCJdXCJ9KS5qb2luKFwiLFwiKSsnLFtqc2FjdGlvbio9XCJ0cmlnZ2VyLlwiXSc7aUphPV8ua0phLm1hcChmdW5jdGlvbihhKXtyZXR1cm5cIltqc25hbWU9Y29GU3hlXSBbXCIrYStcIl1cIn0pLmpvaW4oXCIsXCIpKycsW2pzbmFtZT1jb0ZTeGVdIFtqc2FjdGlvbio9XCJ0cmlnZ2VyLlwiXSc7Xy5iSmE9ITA7Xy5zSmE9U3ltYm9sKFwicGNcIik7dmFyIENwYSx0SmE7Q3BhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uZmYoXy5GcGEpO2E9YS5nZXRBdHRyaWJ1dGUoXCJqc21vZGVsXCIpO2lmKCFhKXJldHVybiExO2E9Xy5jb2EoYSk7Zm9yKHZhciBjPWEubGVuZ3RoLTE7Yz49MDtjLS0pe3ZhciBkPV8uZWYoYVtjXSk7aWYoZG9hKGIsZCkpcmV0dXJuITB9cmV0dXJuITF9O3RKYT0vO1xccyp8XFxzKy87Xy5jb2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGEudHJpbSgpLnNwbGl0KHRKYSkuZmlsdGVyKGZ1bmN0aW9uKGIpe3JldHVybiBiLmxlbmd0aD4wfSl9O18ubG9hPWZ1bmN0aW9uKGEpe18uYWEuY2FsbCh0aGlzLFwiTm8gdmFsaWQgbW9kZWwgZm9yIFwiK2EpO3RoaXMua2V5PWF9O18uRChfLmxvYSxfLmFhKTtfLkVwYSh7bW9kZWw6ZnVuY3Rpb24oYSxiKXt2YXIgYz10a2EoYik7aWYoIWMpdGhyb3cgRXJyb3IoXCJxY2BcIitiKTtyZXR1cm4gYS5QbyhjKX0sVUNhOmZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uYWYoXy5ScGEoYS5nZXREYXRhKGIubmFtZSksYi5aYyxudWxsKSl9fSk7Xy5oZj1mdW5jdGlvbihhLGIsYyxkKXt0aGlzLkJhPWF8fHt9O3RoaXMuSW09Ynx8bnVsbDt0aGlzLkFhPWN8fG51bGw7dGhpcy5vYT1kfHxiJiZiLnVMKCl9O18uaGYucHJvdG90eXBlLmdldENvbnRleHQ9ZnVuY3Rpb24oYSl7dmFyIGI9dUphKHRoaXMsYSk7cmV0dXJuIGI9PW51bGwmJnRoaXMuSW0/dGhpcy5JbS5nZXRDb250ZXh0KGEpOl8uYWYoYil9O18uaGYucHJvdG90eXBlLnhuPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub2F9O18uaGYucHJvdG90eXBlLnVMPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub2F8fHZvaWQgMH07Xy5oZi5wcm90b3R5cGUuZ2V0RGF0YT1mdW5jdGlvbihhKXt2YXIgYj11SmEodGhpcyxhKTtyZXR1cm4gYj09bnVsbCYmdGhpcy5JbT90aGlzLkltLmdldERhdGEoYSk6bmV3IF8uUWMoYSxiKX07dmFyIHVKYT1mdW5jdGlvbihhLGIpe3ZhciBjPWEuQmFbYl07cmV0dXJuIGM9PW51bGwmJmEuQWE/YS5BYShiKTpjfTt2YXIgdkphO18uQz1mdW5jdGlvbihhKXtfLkJuLmNhbGwodGhpcyxhLk5hKTt0aGlzLnlOPWEuV20uZWxlbWVudC5lbCgpO3RoaXMuSzg9YS5XbS5kVjt0aGlzLnFqPW5ldyB2SmE7dGhpcy5STGI9bnVsbDt0aGlzW18uS25hXT1udWxsfTtfLkQoXy5DLF8uQm4pO18uQy5wcm90b3R5cGUudnFiPWZ1bmN0aW9uKCl7dGhpcy5xai5vYSYmKHRoaXMucWoub2EuZGlzcG9zZSgpLHRoaXMucWoub2E9bnVsbCk7dmFyIGE9Xy5jbWEodGhpcy55Tik7YSYmXy5sZS5nZXQoYSkmJl8uemEoXy5sZS5nZXQoYSksdGhpcy5nZXRSb290KCkuZWwoKSk7Xy5Cbi5wcm90b3R5cGUudnFiLmNhbGwodGhpcyl9O18uQy5JYT1mdW5jdGlvbigpe3JldHVybntXbTp7ZFY6ZnVuY3Rpb24oKXtyZXR1cm4gXy5hZih0aGlzLks4KX0sZWxlbWVudDpmdW5jdGlvbigpe3JldHVybiBfLmFmKHRoaXMuZ2V0Um9vdCgpKX19fX07Xy5tPV8uQy5wcm90b3R5cGU7XG5fLm0udG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5td2ErXCJbXCIrXy5FYSh0aGlzLnlOKStcIl1cIn07Xy5tLnhuPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSzgueG4oKX07Xy5tLnVMPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSzgudUwoKX07Xy5tLlltPWZ1bmN0aW9uKCl7cmV0dXJuIF8ua2codGhpcy55Til9O18ubS5nZXRXaW5kb3c9ZnVuY3Rpb24oKXtyZXR1cm4gXy5RZSh0aGlzLlltKCkpfTtfLm0uQ2I9ZnVuY3Rpb24oYSl7cmV0dXJuIF8ud0phKHRoaXMueU4sYSl9O18ud0phPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBfLmpnKE9uYShfLnBnKGEpLGIpKX07Xy5DLnByb3RvdHlwZS5NYT1mdW5jdGlvbihhKXt2YXIgYj10aGlzLkNiKGEpO2lmKGIuc2l6ZSgpPj0xKXJldHVybiBiLkNkKDApO3Rocm93IF8ueEphKHRoaXMsYSk7fTtfLlpuPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uWW4oYSxhLnlOLGIpfTtcbl8uWW49ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPV8ucGcoYik7Yj1bXTtiLnB1c2guYXBwbHkoYixfLmRmKGEuZ2V0Um9vdCgpLmVsKCksZCxjKSk7aWYoYi5sZW5ndGg+MClyZXR1cm4gXy5QbihiWzBdKTtpZihkPV8ubGUuZ2V0KGEuZ2V0Um9vdCgpLmVsKCkpKWZvcih2YXIgZT0wO2U8ZC5sZW5ndGg7ZSsrKXtpZihkW2VdLmdldEF0dHJpYnV0ZShcImpzbmFtZVwiKT09Yyl7Yi5wdXNoKGRbZV0pO2JyZWFrfWIucHVzaC5hcHBseShiLF8uZGYoYS5nZXRSb290KCkuZWwoKSxkW2VdLGMpKX1yZXR1cm4gYi5sZW5ndGg+MD9fLlBuKGJbMF0pOm5ldyBfLmpnKGIpfTtfLnhKYT1mdW5jdGlvbihhLGIpe3JldHVybiBFcnJvcihcInJjYFwiK2IrXCJgXCIrYS5td2EpfTtfLm09Xy5DLnByb3RvdHlwZTtfLm0uZ2V0Um9vdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnFqLnJvb3Q/dGhpcy5xai5yb290OnRoaXMucWoucm9vdD1uZXcgXy5Mbih0aGlzLnlOKX07Xy5tLmdldERhdGE9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZ2V0Um9vdCgpLmdldERhdGEoYSl9O1xuXy5tLkJ6PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmdldFJvb3QoKS5CeihhKX07Xy5tLmdldENvbnRleHQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uSm5hKHRoaXMueU4sYSl9O18ubS5Qbz1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXM7cmV0dXJuIF8udGcoXy5tb2EoYnx8dGhpcy55TixhLHRoaXMudUwoKSksZnVuY3Rpb24oZCl7ZCBpbnN0YW5jZW9mIF8ubG9hJiYoZC5tZXNzYWdlKz1cIiByZXF1ZXN0ZWQgYnkgXCIrYyk7cmV0dXJuIGR9KX07Xy5tLmxkPWZ1bmN0aW9uKGEsYil7aWYoYS50YWdOYW1lKXt2YXIgYz10aGlzLks4LmxkKGEpO2MuYWRkQ2FsbGJhY2soTm5hKTtiJiZjLmFkZENhbGxiYWNrKGIpO3JldHVybiBjfXJldHVybiB0aGlzLkROKGEpLmFkZENhbGxiYWNrKGZ1bmN0aW9uKGQpe2lmKGQubGVuZ3RoPT0wKXRocm93IF8ueEphKHRoaXMsYSk7YiYmYihkWzBdKTtyZXR1cm4gZFswXX0sdGhpcyl9O1xudmFyIHlKYT1mdW5jdGlvbihhLGIsYyxkKXtkPWQ9PT12b2lkIDA/Xy54ZShfLmtnKGEpKTpkO3ZhciBlPVtdLGY9T25hKGEsYyk7aWYoZi5sZW5ndGg9PT0wJiZhLm93bmVyRG9jdW1lbnQucmVhZHlTdGF0ZT09XCJsb2FkaW5nXCIpe3ZhciBnPW5ldyBfLkhkO18uSmsoYS5vd25lckRvY3VtZW50LFwicmVhZHlzdGF0ZWNoYW5nZVwiLGZ1bmN0aW9uKCl7Xy5qbih5SmEoYSxiLGMsZCksZnVuY3Rpb24oayl7Zy5jYWxsYmFjayhrKX0sZnVuY3Rpb24oayl7Zy5SRChrKX0pfSk7cmV0dXJuIGd9Zj1fLlBhKGYpO2Zvcih2YXIgaD1mLm5leHQoKTshaC5kb25lO2g9Zi5uZXh0KCkpZS5wdXNoKGQubGQoaC52YWx1ZSkpO2U9Xy56R2EoZSk7ZS5hZGRDYWxsYmFjayhmdW5jdGlvbihrKXtpZihrLmxlbmd0aClyZXR1cm4gXy56R2Eoay5tYXAoTm5hKSl9KTtyZXR1cm4gZX07XG5fLkMucHJvdG90eXBlLkROPWZ1bmN0aW9uKGEsYil7YT15SmEodGhpcy55Tix0aGlzLnlOLGEsdGhpcy5LOCk7YiYmYS5hZGRDYWxsYmFjayhiKTtyZXR1cm4gYX07Xy5hbz1mdW5jdGlvbihhLGIpe3JldHVybiBhLmxkKGIpLnRoZW4oKX07Xy5DLnByb3RvdHlwZS50cmlnZ2VyPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLnlOLGU9Xy5jbWEodGhpcy55Til8fG51bGw7ZSYmIV8uaUlhKHRoaXMueU4sYSkmJihkPWUpO2QmJl8uemUoZCxhLGIsYyx7X3JldGFyZ2V0OnRoaXMueU4sX19zb3VyY2U6dGhpc30pfTtfLkMucHJvdG90eXBlLm5vdGlmeT1mdW5jdGlvbihhLGIpe18ubWYodGhpcy5nZXRSb290KCkuZWwoKSxhLGIsdGhpcyl9O18uYm89ZnVuY3Rpb24oYSxiLGMpe2EuZ2V0Um9vdCgpLmVsKCk7Yj1iIGluc3RhbmNlb2YgXy5Mbj9iLmVsKCk6YjtfLmhtYShiLGM/Yy5lbCgpOmEuZ2V0Um9vdCgpLmVsKCkpfTtfLkMucHJvdG90eXBlLnF2PWZ1bmN0aW9uKCl7Xy5qb2EoZG9jdW1lbnQpLnF2KCl9O1xudkphPWZ1bmN0aW9uKCl7dGhpcy5vYT10aGlzLkFhPXRoaXMucm9vdD1udWxsfTtfLkw9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPU9iamVjdC5nZXRQcm90b3R5cGVPZihhKTtkJiZkLlBfJiZkLlBfPT1hLlBfP2EuUF89T2JqZWN0LmNyZWF0ZShhLlBfKTphLlBffHwoYS5QXz17fSk7YS5QX1tiXT1jfTtfLkMucHJvdG90eXBlLkRmPWZ1bmN0aW9uKCl7fTtfLkwoXy5DLnByb3RvdHlwZSxcIm5wVDJtZFwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuRGZ9KTtcbl8uRXBhKHtjb250cm9sbGVyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGEubGQob29hKGIpLmpzbmFtZSkuYWRkQ2FsbGJhY2soZnVuY3Rpb24oYyl7cmV0dXJuIGN9KX0sTGQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5ETihvb2EoYikuanNuYW1lKS5hZGRDYWxsYmFjayhmdW5jdGlvbihjKXtyZXR1cm4gY1swXXx8bnVsbH0pfSxjb250cm9sbGVyczpmdW5jdGlvbihhLGIpe3JldHVybiBhLkROKG9vYShiKS5qc25hbWUpLmFkZENhbGxiYWNrKGZ1bmN0aW9uKGMpe3JldHVybiBjfSl9LHJlbmRlcmVyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ubm9hKGIsYSxhLnhuKCkpfX0pO3ZhciB6SmE7ekphPXtQbzpfLm1vYX07Xy4kcmE9ZnVuY3Rpb24oYSxiLGMsZCl7YT1fLkVHYS5jYWxsKHRoaXMsYSx2b2lkIDAsZCl8fHRoaXM7YS5UYz1iO2EuSzg9YzthLnFqPW5ldyB2SmE7YS5vYT1udWxsO3JldHVybiBhfTtfLkQoXy4kcmEsXy5FR2EpO18ubT1fLiRyYS5wcm90b3R5cGU7Xy5tLnhuPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSzgueG4oKX07Xy5tLnVMPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSzgudUwoKX07Xy5tLmdldENvbnRleHQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uSm5hKHRoaXMuVGMsYSl9O18ubS5nZXRSb290PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucWoucm9vdD90aGlzLnFqLnJvb3Q6dGhpcy5xai5yb290PW5ldyBfLkxuKHRoaXMuVGMpfTtfLm0uZ2V0RGF0YT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5nZXRSb290KCkuZ2V0RGF0YShhKX07XG5fLm0uUG89ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzO3JldHVybiBfLnRnKHpKYS5QbyhifHx0aGlzLlRjLGEsdGhpcy51TCgpKSxmdW5jdGlvbihkKXtkIGluc3RhbmNlb2YgXy5sb2EmJihkLm1lc3NhZ2UrPVwiIHJlcXVlc3RlZCBieSBcIitjKTtyZXR1cm4gZH0pfTtfLm0ubGQ9ZnVuY3Rpb24oYSxiKXtpZihhLnRhZ05hbWUpe3ZhciBjPXRoaXMuSzgubGQoYSksZD1jLlF2KCk7Xy5BSmEodGhpcyxmdW5jdGlvbihlKXtyZXR1cm4gZC5hZGRDYWxsYmFjayhmdW5jdGlvbihmKXtyZXR1cm4gTG5hKGYsZSl9KX0pO2ImJmMuYWRkQ2FsbGJhY2soYik7cmV0dXJuIGN9cmV0dXJuIHRoaXMuRE4oYSkuYWRkQ2FsbGJhY2soZnVuY3Rpb24oZSl7aWYoZS5sZW5ndGg9PTApdGhyb3cgRXJyb3IoXCJzY2BcIithK1wiYFwiK3RoaXMpO2ImJmIoZVswXSk7cmV0dXJuIGVbMF19LHRoaXMpfTtcbl8ubS5ETj1mdW5jdGlvbihhLGIpe3ZhciBjPVtdLGQ9dGhpcy5DYihhKSxlPXRoaXMuZ2V0Um9vdCgpLmVsKCk7aWYoZC5zaXplKCk9PTAmJmUub3duZXJEb2N1bWVudC5yZWFkeVN0YXRlPT1cImxvYWRpbmdcIil7dmFyIGY9bmV3IF8uSGQ7Xy5KayhlLm93bmVyRG9jdW1lbnQsXCJyZWFkeXN0YXRlY2hhbmdlXCIsZnVuY3Rpb24oKXtfLmpuKHRoaXMuRE4oYSxiKSxmdW5jdGlvbihoKXtmLmNhbGxiYWNrKGgpfSxmdW5jdGlvbihoKXtmLlJEKGgpfSl9LCExLHRoaXMpO3JldHVybiBmfWQuZWFjaCgoMCxfLmhoKShmdW5jdGlvbihoKXtjLnB1c2godGhpcy5LOC5sZChoKSl9LHRoaXMpKTtkPV8uekdhKGMpO3ZhciBnPWQuUXYoKTtfLkFKYSh0aGlzLGZ1bmN0aW9uKGgpe3JldHVybiBnLmFkZENhbGxiYWNrKGZ1bmN0aW9uKGspe3JldHVybiBfLnpHYShrLm1hcChmdW5jdGlvbihsKXtyZXR1cm4gTG5hKGwsaCl9KSl9KX0pO2ImJmQuYWRkQ2FsbGJhY2soYik7cmV0dXJuIGR9O1xuXy5tLkNiPWZ1bmN0aW9uKGEpe3JldHVybiBfLndKYSh0aGlzLlRjLGEpfTtfLkFKYT1mdW5jdGlvbihhLGIpe2Eub2F8fChhLm9hPVtdKTthLm9hLnB1c2goYil9O3ZhciBCSmE9ZnVuY3Rpb24oKXt5bi5jYWxsKHRoaXMpfTtfLkQoQkphLHluKTtCSmEucHJvdG90eXBlLkZOPWZ1bmN0aW9uKGEpe2EgaW4gdGhpcy5BYXx8KHRoaXMuQWFbYV09bmV3IHhuKFtdLGEpKTtyZXR1cm4gdGhpcy5BYVthXX07dmFyIEFvYT0hMSxFb2E9UHJvbWlzZS5yZXNvbHZlKCksQ0phLHpvYTtfLlhqYShuZXcgQkphKTtDSmE9Xy5uZChmdW5jdGlvbigpe3JldHVybiBuZXcgQ0lhfSk7Xy5wb2E9Xy5uZChmdW5jdGlvbigpe3ZhciBhPV8ueWQoKTthLkxrYyghMCk7dmFyIGI9Q0phKCk7YS5VYT1iO3JldHVybiBhfSk7em9hPWJBYTtfLnVkKFwiZ29vZ2xlLmxvYWRcIixfLnhvYSk7Xy51ZChcImdvb2dsZS5sb2FkQWxsXCIsXy5Hb2EpO18uREphPSExO3ZhciBKb2E7Xy5FSmE9Xy5KKFwiTFlqTmVjXCIpO0pvYT1fLkooXCJzdklhVGRcIik7Xy5GSmE9Xy5HZChcImFSanV4YlwiLFtdKTt2YXIgR0phO0dKYT1mdW5jdGlvbihhKXt0aGlzLmFib3J0PWF9O18uSEphPW5ldyBHSmEoITEpO18uSUphPW5ldyBHSmEoITApO18uY289ZnVuY3Rpb24oYSl7Xy5Ebi5jYWxsKHRoaXMsYS5OYSl9O18uRChfLmNvLF8uRG4pO18uY28uV2E9Xy5Ebi5XYTtfLmNvLklhPV8uRG4uSWE7Xy5jby5wcm90b3R5cGUub2E9ZnVuY3Rpb24oKXtyZXR1cm4gXy5ISmF9O18uY28ucHJvdG90eXBlLkFhPWZ1bmN0aW9uKCl7fTt2YXIgSkphPW5ldyBfLkNkKFwiUnl2YVViXCIsdm9pZCAwLHZvaWQgMCwhMSwhMSk7Xy5GbihKSmEsXy5jbyk7Xy5lbz1mdW5jdGlvbihhKXtfLmNvLmNhbGwodGhpcyxhLk5hKX07Xy5EKF8uZW8sXy5jbyk7Xy5lby5XYT1fLmNvLldhO18uZW8uSWE9Xy5jby5JYTtfLmVvLnByb3RvdHlwZS5vYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLkxvYShiKT9fLklKYTpfLkhKYX07Xy5lby5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oYSl7Xy5Lb2EoYSl9O18uRm4oXy5GSmEsXy5lbyk7dmFyIE5vYT0wLE1vYSxPb2E9Z29vZ2xlLmVyZDt6ZChcInNnWTZaYlwiLFwicmhmUTVjXCIpO3pkKFwidXhNcFVcIixcInJoZlE1Y1wiKTtfLktKYT1fLkdkKFwidXhNcFVcIixbXSk7Xy5MSmE9Xy5HZChcIlUwYVBnZFwiKTt6ZChcIk9UQTNBZVwiLFwiSExvM0VmXCIpO18uZm89Xy5HZChcIk9UQTNBZVwiKTtfLmdvPW5ldyBfLkNkKFwiTEVpa1plXCIsXCJMRWlrWmVcIik7emQoXCJrV2dYZWVcIixcImF3YnJ1ZlwiKTt6ZChcIlBvRXM5YlwiLFwiSmJqTWtmXCIpO18uTUphPV8uR2QoXCJQb0VzOWJcIik7Xy5OSmE9Xy5GZChcIkpiak1rZlwiLFwiUGpwbHVkXCIsXCJCVXNOaVwiLF8uTUphKTt6ZChcIk1saG15XCIsXCJNSDhLd2RcIik7Xy5PSmE9Xy5HZChcIk1saG15XCIsW18uQW5dKTtfLlBKYT1fLkZkKFwiTUg4S3dkXCIsXCJRR1IwZ2RcIixcIlJWdkFnXCIsXy5PSmEpO3pkKFwiQ09RYm1mXCIsXCJ4NjBmaWVcIik7Xy5RSmE9Xy5HZChcIkNPUWJtZlwiKTtfLlJKYT1fLkZkKFwieDYwZmllXCIsXCJ1WTQ5ZmJcIixcInQyWEhRZVwiLF8uUUphKTtfLlNKYT1fLkdkKFwia1dnWGVlXCIsW18uZ28sXy5mbyxfLlJKYSxfLlBKYSxfLk5KYV0pO3pkKFwib3ZLdUxkXCIsXCJpVHN5YWNcIik7Xy5USmE9Xy5HZChcIm92S3VMZFwiLFtfLlNKYSxfLmZvLF8uTEphXSk7Xy5VSmE9Xy5HZChcInNnWTZaYlwiLFtfLktKYSxfLlRKYV0pO25ldyBfLkNkKFwiejcyTU9jXCIsXCJ6NzJNT2NcIik7bmV3IF8uQ2QoXCJJVzhVc2RcIik7bmV3IF8uQ2QoXCJqYkRnR1wiKTtuZXcgXy5DZChcImhkWElpZlwiKTtuZXcgXy5DZChcIkRGRWxYYlwiKTtuZXcgXy5DZChcIlp0VnJIXCIpO18uVkphPW5ldyBfLkNkKFwickptSnJjXCIsXCJySm1KcmNcIik7bmV3IF8uQ2QoXCJmSnV4T2NcIik7bmV3IF8uQ2QoXCJ2azNXY1wiKTtuZXcgXy5DZChcIkl5a3ZFZlwiKTtuZXcgXy5DZChcIk5HbnR3ZlwiKTtuZXcgXy5DZChcIm9mdWFwY1wiKTtuZXcgXy5DZChcIkJXRVR6ZVwiKTtuZXcgXy5DZChcIlptWEFtXCIpO18uaW89bmV3IF8uQ2QoXCJuNzNxd2ZcIixcIm43M3F3ZlwiKTtuZXcgXy5DZChcInpaYTR4Y1wiKTtuZXcgXy5DZChcIkJnZjBpYlwiKTtfLmZnPW5ldyBfLkNkKFwiTXBKd1pjXCIsXCJNcEp3WmNcIik7Xy5aZj1uZXcgXy5DZChcIlVVSnFWZVwiLFwiVVVKcVZlXCIpO18uV0phPW5ldyBfLkNkKFwiR0hBZUFjXCIsXCJHSEFlQWNcIik7Xy5YSmE9bmV3IF8uQ2QoXCJXdDZ2amZcIixcIld0NnZqZlwiKTtfLllKYT1uZXcgXy5DZChcImJ5ZlRPYlwiLFwiYnlmVE9iXCIpO25ldyBfLkNkKFwiVHVEc1pcIik7bmV3IF8uQ2QoXCJvMWJaY2RcIik7bmV3IF8uQ2QoXCJiOHhLdVwiKTtfLlpKYT1uZXcgXy5DZChcImxzalZtY1wiLFwibHNqVm1jXCIpO25ldyBfLkNkKFwicFZieEJjXCIpO25ldyBfLkNkKFwia2xweVllXCIpO25ldyBfLkNkKFwiT1BiSXhiXCIpO25ldyBfLkNkKFwicGc5aEZkXCIpO25ldyBfLkNkKFwiSWFxRDNlXCIpO25ldyBfLkNkKFwiWHB3MW9mXCIpO25ldyBfLkNkKFwidjVCUWxlXCIpO25ldyBfLkNkKFwidGRVa2FmXCIpO25ldyBfLkNkKFwiV1N6aUZmXCIpO25ldyBfLkNkKFwiVUJTZ0dmXCIpO25ldyBfLkNkKFwiV3dHNjdkXCIpO25ldyBfLkNkKFwiSmNjWlJlXCIpO25ldyBfLkNkKFwiYW1ZM1RkXCIpO25ldyBfLkNkKFwiQUJtYTNlXCIpO25ldyBfLkNkKFwiZ1NzaFBiXCIpO25ldyBfLkNkKFwieXU0REFcIik7bmV3IF8uQ2QoXCJKNUsxQWRcIik7bmV3IF8uQ2QoXCJkMFJBR2JcIik7bmV3IF8uQ2QoXCJBekcwa2VcIik7bmV3IF8uQ2QoXCJKNFFXQlwiKTtuZXcgXy5DZChcIm1JVFI1Y1wiKTtuZXcgXy5DZChcIkZFTlpxZVwiKTtuZXcgXy5DZChcInRMbnhxXCIpO18uJEphPV8uRmQoXCJIRHZSZGVcIixcInNQNFZiZVwiLFwid2Rtc1FjXCIpO3pkKFwiVndEekZlXCIsXCJIRHZSZGVcIik7emQoXCJLRzJlWGVcIixcInRmVE44Y1wiKTtfLmFLYT1fLkZkKFwiaVRzeWFjXCIsXCJpbzh0NWRcIixcInJoZlE1Y1wiKTtfLmJLYT1fLkdkKFwiS0cyZVhlXCIsW18uYUthLF8uTEphXSk7Xy5qbz1fLkZkKFwidGZUTjhjXCIsXCJPajQ2NWVcIixcImJhb1dJY1wiLF8uYkthKTtfLmNLYT1fLkZkKFwiSExvM0VmXCIsXCJrTUZwSGRcIixcImhjejIwYlwiKTtfLmRLYT1fLkdkKFwiVndEekZlXCIsW18uam8sXy5jS2EsXy5MSmFdKTt6ZChcIkZsb1dtZlwiLFwiYmhOYVVkXCIpO18uZUthPV8uR2QoXCJGbG9XbWZcIixbXy5hS2EsXy5MSmFdKTtfLmZLYT1fLkZkKFwiYmhOYVVkXCIsXCJFcmw0ZmVcIixcIlAzUVhMXCIsXy5lS2EpO18uZ0thPV8uRmQoXCJpcVowVFwiLFwiYTU2cE5lXCIpO3pkKFwiSkVmQ3diXCIsXCJpcVowVFwiKTtfLmhLYT1fLkdkKFwiSkVmQ3diXCIsW10pO3pkKFwiUnVVcmNmXCIsXCJMM0xyc2RcIik7Xy5IcWE9Xy5HZChcIlJ1VXJjZlwiLFtfLmpvXSk7dmFyIGlLYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKGlLYSxfLnEpO18ubT1pS2EucHJvdG90eXBlO18ubS51M2I9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMTApfTtfLm0uQjdhPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDExKX07Xy5tLk00Yj1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywxMil9O18ubS5ONGI9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMTMpfTtfLm0uTzRiPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDE0KX07Xy5tLlF0Yj1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywxOCl9O18ubS5SdGI9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMTkpfTtfLm0uU3RiPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDIwKX07Xy5tLmV0YT1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywyMSl9O18ubS5aZGE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMjIpfTtcbl8ubS5mdGE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMjMpfTtfLm0uVTNiPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDI0KX07Xy5tLlYzYj1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywyNSl9O18ubS5XM2I9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMjYpfTt2YXIgakthPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoakthLF8ucSk7dmFyIGtLYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKGtLYSxfLnEpO3ZhciBsS2E9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChsS2EsXy5xKTt2YXIgbUthPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQobUthLF8ucSk7dmFyIG5LYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKG5LYSxfLnEpO3ZhciBvS2E9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChvS2EsXy5xKTt2YXIgcEthPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQocEthLF8ucSk7dmFyIHFLYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKHFLYSxfLnEpO3ZhciByS2E9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChyS2EsXy5xKTt2YXIgc0thPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoc0thLF8ucSk7dmFyIHRLYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKHRLYSxfLnEpO3RLYS5wcm90b3R5cGUuTDhhPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDkpfTt2YXIgdUthPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQodUthLF8ucSk7dmFyIHZLYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKHZLYSxfLnEpO3ZhciB3S2E9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRCh3S2EsXy5xKTt2YXIgeEthPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoeEthLF8ucSk7dmFyIHlLYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKHlLYSxfLnEpO3ZhciB6S2E9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRCh6S2EsXy5xKTt6S2EucHJvdG90eXBlLnl0YT1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywxKX07ekthLnByb3RvdHlwZS5zZXRTY2FsZT1mdW5jdGlvbihhKXtyZXR1cm4gXy5EZSh0aGlzLDEsYSl9O3ZhciBBS2E9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChBS2EsXy5xKTt2YXIgQkthPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoQkthLF8ucSk7dmFyIENLYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKENLYSxfLnEpO18uREthPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5ES2EsXy5xKTtfLkRLYS5wcm90b3R5cGUuY2xlYXJDYW52YXM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDI3KX07Xy5rbz1mdW5jdGlvbihhKXtyZXR1cm4gXy5BKGEsMzApfTtfLm09Xy5ES2EucHJvdG90eXBlO18ubS5pOT1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcyw1NCl9O18ubS5oST1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywxMil9O18ubS5QZD1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcyw1KX07Xy5tLndpPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDIpfTtfLm0ucUE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMTEpfTtfLm0uelM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMTMpfTtfLm0uS2M9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMTApfTtfLm0ud0Y9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsNjApfTt2YXIgRUthPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoRUthLF8ucSk7dmFyIEZLYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKEZLYSxfLnEpO18ubG89ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQShhLDEpfTt2YXIgR0thPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoR0thLF8ucSk7dmFyIEhLYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKEhLYSxfLnEpO3ZhciBJS2E9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChJS2EsXy5xKTt2YXIgSkthPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoSkthLF8ucSk7Xy5tPUpLYS5wcm90b3R5cGU7Xy5tLkI3YT1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcyw4KX07Xy5tLnUzYj1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywxMCl9O18ubS5VM2I9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsNTApfTtfLm0uVjNiPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDE0KX07Xy5tLlczYj1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywxNil9O18ubS5ldGE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMjYpfTtfLm0uWmRhPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDI1KX07Xy5tLmZ0YT1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywyNyl9O18ubS5RdGI9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMjApfTtfLm0uUnRiPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDE5KX07XG5fLm0uU3RiPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDIxKX07Xy5tLk00Yj1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywxMjcpfTtfLm0uTjRiPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDEyOCl9O18ubS5PNGI9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMTI5KX07dmFyIEtLYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKEtLYSxfLnEpO18ubW89ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQShhLDQ1KX07dmFyIExLYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKExLYSxfLnEpO3ZhciBNS2E9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChNS2EsXy5xKTtNS2EucHJvdG90eXBlLlFpPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDIpfTtNS2EucHJvdG90eXBlLlRqYT1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcyw0KX07dmFyIE5LYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKE5LYSxfLnEpO3ZhciBPS2E9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChPS2EsXy5xKTt2YXIgUEthPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoUEthLF8ucSk7dmFyIFFLYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKFFLYSxfLnEpO3ZhciBSS2E9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChSS2EsXy5xKTt2YXIgU0thPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoU0thLF8ucSk7U0thLnByb3RvdHlwZS54N2E9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMil9O3ZhciBUS2E9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChUS2EsXy5xKTtUS2EucHJvdG90eXBlLlVkYT1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywxKX07VEthLnByb3RvdHlwZS5RRGE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5paSh0aGlzLDIpfTt2YXIgVUthPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoVUthLF8ucSk7VUthLnByb3RvdHlwZS5RRGE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5paSh0aGlzLDMpfTt2YXIgVkthPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoVkthLF8ucSk7dmFyIFdLYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKFdLYSxfLnEpO3ZhciBYS2E9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChYS2EsXy5xKTt2YXIgWUthPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoWUthLF8ucSk7dmFyIFpLYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKFpLYSxfLnEpO18uJEthPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy4kS2EsXy5xKTt2YXIgYUxhPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoYUxhLF8ucSk7dmFyIGJMYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKGJMYSxfLnEpO2JMYS5wcm90b3R5cGUueDdhPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDE2KX07dmFyIGNMYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKGNMYSxfLnEpO3ZhciBkTGE9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChkTGEsXy5xKTt2YXIgZUxhPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoZUxhLF8ucSk7dmFyIGZMYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKGZMYSxfLnEpO3ZhciBnTGE9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChnTGEsXy5xKTt2YXIgaExhPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoaExhLF8ucSk7aExhLnByb3RvdHlwZS5ZYT1mdW5jdGlvbigpe3JldHVybiBfLm5pKHRoaXMsMSwwKX07dmFyIGlMYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKGlMYSxfLnEpO2lMYS5wcm90b3R5cGUuVm49ZnVuY3Rpb24oKXtyZXR1cm4gXy5uaSh0aGlzLDEsMCl9O3ZhciBqTGE9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChqTGEsXy5xKTtqTGEucHJvdG90eXBlLlBkPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDIxKX07akxhLnByb3RvdHlwZS53aT1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywyMil9O3ZhciBrTGE9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChrTGEsXy5xKTt2YXIgbExhPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQobExhLF8ucSk7bExhLm9iPVsxXTtfLlNwYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uU3BhLF8ucSk7Xy5tTGE9ZnVuY3Rpb24oKXt2YXIgYT1fLlRwYSgpO3JldHVybiBfLkEoYSwxKX07Xy5uTGE9e1VOS05PV046MCxWNWQ6MSx0ZmU6MixxcWU6MyxEbmU6NCxkJGQ6NSxGdGU6Nn07Xy5ubz1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8ubm8sXy5xKTtfLm5vLnByb3RvdHlwZS54Yz1mdW5jdGlvbigpe3JldHVybiBfLmVpKHRoaXMsMil9O18ubm8ucHJvdG90eXBlLnhkPWZ1bmN0aW9uKGEpe3JldHVybiBfLk9pKHRoaXMsMixhKX07Xy5uby5wcm90b3R5cGUuSWM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5laSh0aGlzLDMpfTtfLm5vLnByb3RvdHlwZS5EZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5PaSh0aGlzLDMsYSl9O18ub0xhPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5vTGEsXy5xKTtfLnBMYT1bLTEse31dO18ucUxhPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEsNTAwKX07Xy5EKF8ucUxhLF8ucSk7Xy5xTGEucHJvdG90eXBlLnhpPWZ1bmN0aW9uKCl7cmV0dXJuIF8uaGkodGhpcywxKX07Xy5xTGEucHJvdG90eXBlLmdldERldmljZT1mdW5jdGlvbigpe3JldHVybiBfLmhpKHRoaXMsMil9O18ucUxhLnByb3RvdHlwZS5vYT1mdW5jdGlvbigpe3JldHVybiBfLkdpKHRoaXMsMil9O18ucUxhLnByb3RvdHlwZS5UbD1mdW5jdGlvbigpe3JldHVybiBfLnYodGhpcyxfLm5vLDUpfTt2YXIgckxhPWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYyl7dmFyIGQ9YVtjXTtkIT09dm9pZCAwfHxrQWF8fF8uaWQoRXJyb3IoXCJ2Y2BcIitjKSx7bGV2ZWw6MX0pO3JldHVybiB0eXBlb2YgZD09PVwic3RyaW5nXCImJmQuc3RhcnRzV2l0aChcIiUuQC5cIik/SlNPTi5wYXJzZShcIltcIitkLnN1YnN0cmluZyg0LGQubGVuZ3RoKSk6ZH1PYmplY3Qua2V5cyhhKS5sZW5ndGg+Mzg2JiZfLmlkKEVycm9yKFwid2NcIikse2xldmVsOjF9KTtyZXR1cm57RFhkOmIoXCJlRzhacWZcIiksRVhkOmIoXCJJdk5xemNcIiksek1iOmIoXCJxald3NmNcIiksVVpkOmIoXCJHYnhGbWVcIiksc19kOmIoXCJvSThMSFwiKSx0X2Q6YihcIklYRldQYlwiKSxBTWI6YihcInZTalVaZFwiKSxFc2M6YihcIlA1OVFUY1wiKSx6S2E6YihcImdmcTFJY1wiKSx2X2Q6YihcIkhLekdCYlwiKSx3X2Q6YihcIkI0TFVPY1wiKSx4X2Q6YihcInE5am01ZVwiKSxLX2Q6YihcInpJZm4zZVwiKSxMX2Q6YihcImJzMmRyY1wiKSxNX2Q6YihcImhueXBHYlwiKSxOX2Q6YihcInl5czJ5Y1wiKSxcbkIwYTpiKFwiUmJhejljXCIpLFBfZDpiKFwiU29QbUhkXCIpLFFfZDpiKFwibENDeWtjXCIpLFJfZDpiKFwicm8zSVJlXCIpLHJoYjpiKFwiZWZsY1RkXCIpLFNfZDpiKFwiTmRIUmRlXCIpLFRfZDpiKFwiTWxVSFdjXCIpLFVfZDpiKFwiQ3p4V2pcIiksWV9kOmIoXCJreXFOd2VcIiksZDBkOmIoXCJ1Y2lpNGRcIiksZTBkOmIoXCJHTDJwaWRcIiksZjBkOmIoXCJRUlFZNGJcIiksSHNjOmIoXCJ2d0FuMmRcIikscDBkOmIoXCJXZFdWYmNcIikscTBkOmIoXCJUdjk1bmNcIikscjBkOmIoXCJ1cmxzMWRcIiksczBkOmIoXCJtaGNiWmJcIiksdDBkOmIoXCJvZ21rMGRcIiksdTBkOmIoXCJSSzlhelwiKSx2MGQ6YihcIlQ2MlVIYlwiKSx3MGQ6YihcImpDZWtwYlwiKSxEMGQ6YihcImNUVTU4XCIpLFIwZDpiKFwia1JlclFiXCIpLEpNYjpiKFwib1MwZW5kXCIpLFYwZDpiKFwiQW9JUHVcIiksQjFkOmIoXCJDaWVVUWVcIiksQzFkOmIoXCJIQ01Ka2ZcIiksRDFkOmIoXCJ6TmlORGRcIiksRTFkOmIoXCJFc1dMWVwiKSxGMWQ6YihcIlhQNE5vY1wiKSxxdGM6YihcImpxY3hVXCIpLHJ0YzpiKFwidG9WRUxjXCIpLFxubDJkOmIoXCJWMVRKRWJcIiksbTJkOmIoXCJlYXZOOWNcIiksbjJkOmIoXCJYdUM1VGRcIiksbzJkOmIoXCJpdnlXZWRcIikscDJkOmIoXCJwc21ReWZcIiksejRkOmIoXCJoT2tqTWNcIiksRjBhOmIoXCJxT3B3SmRcIiksRzBhOmIoXCJVbEhsbGJcIiksRUthOmIoXCJvc055WlwiKSxGS2E6YihcIkw2V3lFZlwiKSxFdGM6YihcInRzd1JYZFwiKSxHNGQ6YihcInZxNFJoZlwiKSxIMGE6YihcIm10bXJ0YlwiKSxMNGQ6YihcImhPZGNLYlwiKSxNNGQ6YihcIkt3NDE5ZVwiKSxONGQ6YihcIlUyR1RrXCIpLE80ZDpiKFwiV2dSTG1lXCIpLFA0ZDpiKFwiUWNaeFNkXCIpLFE0ZDpiKFwiZzRUb0RmXCIpLFI0ZDpiKFwiQXNDNE1iXCIpLFM0ZDpiKFwibXViN0ZkXCIpLFQ0ZDpiKFwiejJTUXdmXCIpLEx0YzpiKFwib2I0WTBjXCIpLFU0ZDpiKFwiTTFmazNiXCIpLFY0ZDpiKFwiZ1dJTkNmXCIpLFc0ZDpiKFwiSTZSNWxmXCIpLFg0ZDpiKFwiS0NNWFZiXCIpLFk0ZDpiKFwidnpSdmdiXCIpLFo0ZDpiKFwiSE5Md3pcIiksYTVkOmIoXCJ1RDNMd2NcIiksYjVkOmIoXCJUcURUR2ZcIiksYzVkOmIoXCJtN0VuVGNcIiksXG5kNWQ6YihcImp5RVVYZVwiKSxlNWQ6YihcIlF5elo4ZVwiKSxmNWQ6YihcIkNGZ3NiXCIpLFZNYjpiKFwibFl5ZWxiXCIpLGs1ZDpiKFwidVd4SGhiXCIpLEs2ZDpiKFwibTBSbEtiXCIpLE12OmIoXCJ3RkdLZGNcIiksYnVjOmIoXCJrbGdlcmVcIiksTDZkOmIoXCJnSG83YlwiKSxUemE6YihcIlZCU2M4Y1wiKSxkdWM6YihcIm9YMnIyY1wiKSxhTmI6YihcIldpdFZxZVwiKSxONmQ6YihcIkp1WFJ5YlwiKSxPNmQ6YihcInpzWVpLXCIpLFc2ZDpiKFwiUGk0ZjhkXCIpLFg2ZDpiKFwibk5ITlBjXCIpLHB1YzpiKFwiVkQ0dTFkXCIpLHF1YzpiKFwieHh0aHFmXCIpLEQ4ZDpiKFwiWElIaENiXCIpLEU4ZDpiKFwiVXNWYzhlXCIpLEY4ZDpiKFwiSElNQTRlXCIpLEc4ZDpiKFwiWWpMOUNlXCIpLGFOOmIoXCJ3c1JmSVwiKSxIOGQ6YihcIlVab0EyZVwiKSxJOGQ6YihcInE0OWJ2ZFwiKSxKOGQ6YihcIm0yaHp5XCIpLEs4ZDpiKFwiZlRaVU5jXCIpLEw4ZDpiKFwiWXJUWWFmXCIpLHN1YzpiKFwiV3ZkaEZcIiksTThkOmIoXCJSb2ppeGNcIiksdHVjOmIoXCJRT3V2SWNcIiksUzlkOmIoXCJoaHN5YmZcIiksXG5UOWQ6YihcIlp4bDljZVwiKSxVOWQ6YihcIk9MMngzY1wiKSxWOWQ6YihcIlp1bjNFZlwiKSxZOWQ6YihcIlNPbTRvXCIpLFo5ZDpiKFwibEw0N1hjXCIpLGUkZDpiKFwibDROcGVlXCIpLGgkZDpiKFwidHlDZ3BjXCIpLGkkZDpiKFwiSDdhUnllXCIpLFZ1YzpiKFwiVTZ4UDBcIiksZmFlOmIoXCJBNXRGM2JcIiksUmFlOmIoXCJqMERwU2VcIiksaGNlOmIoXCJOWER2dGZcIikseU5iOmIoXCJMeG1qblwiKSx6TmI6YihcIkZ5ZENDXCIpLGljZTpiKFwieXdoemhcIiksc2NlOmIoXCJFZ1RuZmVcIiksb2VlOmIoXCJrQVVQM2JcIiksSVRjOmIoXCJoZ1dKOGNcIiksVFRjOmIoXCJUeHNUY2ZcIiksZGxiOmIoXCJ2NGlRQ2VcIiksV1RiOmIoXCJPZnFlT2VcIiksYWdlOmIoXCJ6UnBVa1wiKSxVVGM6YihcIlFiWmtsYlwiKSxZYmE6YihcIkZjYjRBXCIpLFZUYzpiKFwiVlJ0WlJlXCIpLGJnZTpiKFwiT21ZbGdlXCIpLGNnZTpiKFwieThIR2dmXCIpLGRnZTpiKFwiUURYVXljXCIpLGVnZTpiKFwiSlFXcXViXCIpLFdUYzpiKFwiblJ3dVpkXCIpLGZnZTpiKFwicnp6eWJjXCIpLFAyYTpiKFwiclpMSkpiXCIpLFxuaGdlOmIoXCJoY0xFdGNcIiksWFRjOmIoXCJHSlFtbWZcIiksWVRjOmIoXCJoRVRJZmJcIiksWlRjOmIoXCJOdE5qdGRcIiksWFRiOmIoXCJ2Q3Nyd1wiKSxZVGI6YihcInA5NDE2Y1wiKSxhVWM6YihcInRvUTd0ZlwiKSxpZ2U6YihcInhnWTFuY1wiKSxiVWM6YihcInAxb2NKYlwiKSxqZ2U6YihcIkZDTGZCZVwiKSxrZ2U6YihcIk1uQzJ6ZlwiKSxsZ2U6YihcIklmZEFBZFwiKSxaVGI6YihcImZQMllvXCIpLGFVYjpiKFwibWtueXVcIiksbWdlOmIoXCJQVWVuVFwiKSxuZ2U6YihcIlowREVLZlwiKSxvZ2U6YihcIm9ISEt3ZlwiKSxjVWM6YihcInhOUHppY1wiKSxwZ2U6YihcIktrUGJ5Y1wiKSxkVWM6YihcInVlenJlXCIpLHFnZTpiKFwiU2tHaVpkXCIpLGZVYzpiKFwiT3hQUnJcIiksZ1VjOmIoXCJ1aUtFVlwiKSx4Z2U6YihcImJoeGpzZFwiKSx5Z2U6YihcIkNvN3RIY1wiKSx6Z2U6YihcInFjdm9xZVwiKSxBZ2U6YihcIkJQbHRmXCIpLEJnZTpiKFwia2NyVW1lXCIpLGJVYjpiKFwibThsOHRkXCIpLENnZTpiKFwiekhzWnRiXCIpLEZnZTpiKFwiemVXdnRmXCIpLFEyYTpiKFwicWRvaW5iXCIpLFxuYWhlOmIoXCJhNHFMbmVcIiksYmhlOmIoXCJSaWZOMmRcIiksY2hlOmIoXCJGcGk3UmNcIiksZGhlOmIoXCJhMnlrYWNcIiksZWhlOmIoXCJNRTROTWNcIiksZmhlOmIoXCJCcFBBY2RcIiksZ2hlOmIoXCJOMHd5WlwiKSxoaGU6YihcImp4WnhuZVwiKSxpaGU6YihcIkNRdk1iZVwiKSxSMmE6YihcImZSa29xXCIpLGtoZTpiKFwiYzRxeWNjXCIpLEZqZTpiKFwiTjk4bWVmXCIpLG1VYjpiKFwiV2tqdU9lXCIpLEdqZTpiKFwibUlqUDZkXCIpLEhqZTpiKFwidUo4WGlkXCIpLFMyYTpiKFwiY1d3cDdiXCIpLElqZTpiKFwiaDZlUVpjXCIpLHFsYjpiKFwiYjBKb2RlXCIpLEpqZTpiKFwibW84Q1dcIiksS2plOmIoXCJDQU03VmNcIiksblViOmIoXCJNb21yTVwiKSxMamU6YihcIlZiOVlKXCIpLE1qZTpiKFwiT1FadnhlXCIpLE5qZTpiKFwiZkkwUDdlXCIpLE9qZTpiKFwiQXNvajBlXCIpLFhqZTpiKFwic0JwVmFjXCIpLFlqZTpiKFwiSmNVR2VlXCIpLFpqZTpiKFwiUG5nUGJiXCIpLGFrZTpiKFwiRU5tUDFjXCIpLGJrZTpiKFwiSTY5emtiXCIpLGNrZTpiKFwiYThVbWRkXCIpLGRrZTpiKFwic2VWYWpkXCIpLFxuWFVjOmIoXCJlc1VndlwiKSxla2U6YihcIktWbXRaY1wiKSxma2U6YihcIk1vQWZ5ZlwiKSxna2U6YihcIkFMTVN3ZVwiKSxZVWM6YihcIlNnbm1sY1wiKSxoa2U6YihcInFrWHZIZFwiKSxpa2U6YihcIlNlelFnZlwiKSxqa2U6YihcIkVKRzR2ZlwiKSxsa2U6YihcIld5dmFSZFwiKSxaVWM6YihcIlJPQW4wZVwiKSxUa2U6YihcInJnSExGXCIpLFlrZTpiKFwiS3pqeEJiXCIpLGNsZTpiKFwiTlE0d3piXCIpLGRsZTpiKFwiVExzcDlkXCIpLHNuZTpiKFwiUzNoc3BjXCIpLG5vZTpiKFwiVGFlN0FcIiksb29lOmIoXCJjNWgyNVwiKSxwb2U6YihcIk1Db3dGZFwiKSx1b2U6YihcIkxBQ1lyZlwiKSx2b2U6YihcInVaTE5GXCIpLExvZTpiKFwid2t1NXNkXCIpLENVYjpiKFwiSmRQT2FmXCIpLE1vZTpiKFwiekJ4VDVcIiksRFViOmIoXCJiRE92SmNcIiksa2lhOmIoXCJaTUlJTWVcIiksTm9lOmIoXCJCMGh1c2JcIiksT29lOmIoXCJvMjhzQmRcIiksTEQ6YihcIm40ZUVJY1wiKSxTb2U6YihcInRxbW9zYlwiKSxhM2E6YihcIkhqTThSXCIpLFFWYzpiKFwiRnFQMUZjXCIpLFJWYzpiKFwiU0FUTk1jXCIpLFxuVW9lOmIoXCJWMEJsdWNcIiksVm9lOmIoXCJYMWJVRWNcIiksV29lOmIoXCJRWmhlR2VcIiksYjNhOmIoXCJMSVlEYWNcIiksWG9lOmIoXCJtTm1yQWJcIiksWW9lOmIoXCJ4MFZDa2NcIiksWm9lOmIoXCJSdnhzeFwiKSxhcGU6YihcInFtY0ptZFwiKSxicGU6YihcIkp1cXhUYlwiKSxUVmM6YihcIkU2R2tqZFwiKSxjcGU6YihcIk1DbEJPZVwiKSxkcGU6YihcIlY2ZWg3Y1wiKSxWVmM6YihcIlp4STdBZlwiKSxXVmM6YihcInNLUE5yY1wiKSxYVmM6YihcIkFnSnpRXCIpLFlWYzpiKFwiRmFnQ2hjXCIpLGVwZTpiKFwidENHSnpcIiksZnBlOmIoXCJvcXg3eWJcIiksWlZjOmIoXCJraG9FUGJcIiksaHBlOmIoXCJTZlNtRFwiKSxhV2M6YihcImF1YXhBXCIpLGxwZTpiKFwicXREbUZjXCIpLGRXYzpiKFwidjQ0clNjXCIpLG5wZTpiKFwiWWt5RFZiXCIpLG9wZTpiKFwiczZrOXRjXCIpLHFwZTpiKFwidGRDNmtkXCIpLHJwZTpiKFwiYXZCTGljXCIpLHRwZTpiKFwiVWpHT3FcIiksdnBlOmIoXCJwV2tvQWJcIiksZVdjOmIoXCJJVWo0WWVcIiksd3BlOmIoXCJLWWkxNmVcIikseHBlOmIoXCJrQnhnYWJcIiksXG55cGU6YihcImxITE10YlwiKSx6cGU6YihcIkVyemx6XCIpLEFwZTpiKFwiS1F3M1FcIiksQnBlOmIoXCJPUUZQZWZcIiksQ3BlOmIoXCJtMTlQNGVcIiksZldjOmIoXCJQNlVyMmJcIiksZ1djOmIoXCJ1aFhQSWNcIiksRHBlOmIoXCJlMTI3U2JcIiksRXBlOmIoXCJlekZkTmRcIiksRnBlOmIoXCJXamE0ZlwiKSxoV2M6YihcImpqYWpJZFwiKSxpV2M6YihcImQxVUx2XCIpLGpXYzpiKFwibFExa1lkXCIpLGtXYzpiKFwiZkF1czZcIiksbFdjOmIoXCJOTkJuZWJcIiksbVdjOmIoXCJNRGk4UmRcIiksbldjOmIoXCJCb0p0eGZcIiksVXBlOmIoXCJaVHVKTmNcIiksWnBlOmIoXCJTbzR3YWVcIiksaHFlOmIoXCJYZ1dRS2RcIiksaXFlOmIoXCJmamM2MVwiKSxOVWI6YihcInkxSFpFZFwiKSxqcWU6YihcInpBS2ZoZlwiKSxBV2M6YihcIkQ4QThoZVwiKSxPVWI6YihcImJtUTdSYlwiKSxCV2M6YihcIm5NUmhKZVwiKSxrcWU6YihcInhUMjhxXCIpLGxxZTpiKFwiS1RrREJcIiksUFViOmIoXCJKeUJvMmNcIiksQ1djOmIoXCJ4REtYclwiKSxEV2M6YihcIkZZQmxnZlwiKSxtcWU6YihcIkZFTG9jZVwiKSxcbm5xZTpiKFwiSHBrUWRjXCIpLG9xZTpiKFwiRnVNZVdcIiksTXJlOmIoXCJiY3o3a2NcIiksTnJlOmIoXCJoVkc1Y2VcIiksT3JlOmIoXCJLQ212NmVcIiksUHJlOmIoXCJJQXR4NWRcIiksUXJlOmIoXCJQSVpkSWRcIikseU1hOmIoXCJWWElvN2RcIiksV1ViOmIoXCJFaUVmWGJcIiksaXRlOmIoXCJJRmtNaGRcIiksanRlOmIoXCJsc0s2cmRcIiksUGo6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFhLYShiKFwiemhrUk9cIikpfSxZTWE6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IF8uU3BhKGIoXCJ3MmJ0QWVcIikpfSxhdXRoVXNlcjpiKFwicHhPNFpkXCIpLE9mOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBfLnFMYShiKFwibVhPWTVkXCIpKX0sY3NwX25vbmNlOmIoXCJTc1E0eFwiKSxrNWM6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGFMYShiKFwiSVlGV2xcIikpfSxBd2U6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFlLYShiKFwiSHQxTzJiXCIpKX0sQndlOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBaS2EoYihcImQ2SjFsZFwiKSl9LHE2YzpmdW5jdGlvbigpe3JldHVybiBuZXcgU0thKGIoXCJPbzNkS2ZcIikpfSxcbmcwYjpmdW5jdGlvbigpe3JldHVybiBuZXcgakxhKGIoXCJ1VUJuRWJcIikpfSx5eGU6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGVMYShiKFwibmZ4RURlXCIpKX0sS2RhOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBkTGEoYihcImF1SXQ4XCIpKX0saW5wdXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IE1LYShiKFwiWVBxamJmXCIpKX0seXNkOmIoXCJNdUpXamRcIiksbGFuZ3VhZ2VDb2RlOmIoXCJHV3NkS2VcIikseFVhOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBQS2EoYihcImZySnFBZFwiKSl9LGxvY2FsZTpiKFwiTjF5Y2FiXCIpLEpROmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBnTGEoYihcIkFCNVh3YlwiKSl9LEJBZTpmdW5jdGlvbigpe3JldHVybiBuZXcgVEthKGIoXCJaOEhMRmZcIikpfSxTJDpmdW5jdGlvbigpe3JldHVybiBuZXcgVUthKGIoXCJ5bWFPSVwiKSl9LG5CZTpmdW5jdGlvbigpe3JldHVybiBuZXcga0xhKGIoXCJmTnBRbWJcIikpfSxxQmU6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFZLYShiKFwiYU1JMm1iXCIpKX0sdkM6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGZMYShiKFwiQlpVRHpjXCIpKX0sXG5XV2E6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFFLYShiKFwidjdRdmRjXCIpKX0scG5hOmIoXCJNZ1VjRGJcIikscnRsOmIoXCJTSXNyVGRcIiksc2Nyb2xsVG9TZWxlY3RlZEl0ZW1JbmxpbmU6YihcImZ5THBEY1wiKSxUSmQ6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGpLYShiKFwiSlBuVHBcIikpfSx2TTpmdW5jdGlvbigpe3JldHVybiBuZXcga0thKGIoXCJaeHRQQ2RcIikpfSx3TTpmdW5jdGlvbigpe3JldHVybiBuZXcgaUthKGIoXCJEd1lSWVwiKSl9LGRDZTpmdW5jdGlvbigpe3JldHVybiBuZXcgbEthKGIoXCJOeXpDd2VcIikpfSxlQ2U6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IG1LYShiKFwic3B6MnFcIikpfSxmQ2U6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IG5LYShiKFwiZ2VpUXhjXCIpKX0sZ0NlOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBvS2EoYihcInhGbWNvZlwiKSl9LEpiOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBfLkRLYShiKFwibERxaW9mXCIpKX0sT1c6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IENLYShiKFwiR3BuejRjXCIpKX0sXG5oQ2U6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHBLYShiKFwia1hWVXpkXCIpKX0sVXM6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHFLYShiKFwiRFQzNFFjXCIpKX0sd2dhOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBFS2EoYihcInNDVTUwZFwiKSl9LGFZYTpmdW5jdGlvbigpe3JldHVybiBuZXcgckthKGIoXCJ3OVppY2NcIikpfSxNZjpmdW5jdGlvbigpe3JldHVybiBuZXcgRkthKGIoXCJJa1NzcmZcIikpfSxpQ2U6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHpLYShiKFwiTVIwdzRcIikpfSxZRmI6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHNLYShiKFwiT0l0TnFmXCIpKX0sakNlOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBBS2EoYihcIkpNeXVIXCIpKX0samViOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB0S2EoYihcImoyRm9TXCIpKX0sWmY6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEdLYShiKFwiZTJ6b1dcIikpfSxaRjpmdW5jdGlvbigpe3JldHVybiBuZXcgSEthKGIoXCJXMUJ0ZVwiKSl9LFZKZDpmdW5jdGlvbigpe3JldHVybiBuZXcgdUthKGIoXCJwYnZzaGZcIikpfSxcbmRJYTpmdW5jdGlvbigpe3JldHVybiBuZXcgdkthKGIoXCJ1OW1lcFwiKSl9LHhnYTpmdW5jdGlvbigpe3JldHVybiBuZXcgd0thKGIoXCJtcnFhUWJcIikpfSxUbTpmdW5jdGlvbigpe3JldHVybiBuZXcgSUthKGIoXCJrN1RxeWVcIikpfSxJbmE6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHhLYShiKFwieTUwTENcIikpfSxIeDpmdW5jdGlvbigpe3JldHVybiBuZXcgSkthKGIoXCJqZlNFa2RcIikpfSxXSmQ6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHlLYShiKFwiR1Z0UG1cIikpfSx4SzpmdW5jdGlvbigpe3JldHVybiBuZXcgQkthKGIoXCJNZXhOdGVcIikpfSxTZDpmdW5jdGlvbigpe3JldHVybiBuZXcgS0thKGIoXCJBYWhjbmZcIikpfSx5Z2E6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IExLYShiKFwiUEZobWVkXCIpKX0sWGE6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGhMYShiKFwibWYxeWlmXCIpKX0sYUdiOmIoXCJCNHBaYmRcIiksQWFhOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBiTGEoYihcImFLWHFHY1wiKSl9LGdHYjpmdW5jdGlvbigpe3JldHVybiBuZXcgUkthKGIoXCJaUDBvaWZcIikpfSxcbmtmOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBfLiRLYShiKFwibzBQOEhmXCIpKX0sWlFkOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBsTGEoYihcInJrRDI1XCIpKX0sVTI6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGNMYShiKFwiV2lMelplXCIpKX0sSURlOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBXS2EoYihcIkFZa0xSZVwiKSl9LHd6YTpiKFwick55dUpjXCIpLFFLOmIoXCJMVTVmR2JcIiksTVdkOmIoXCJnWGtIb2VcIiksS206ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGlMYShiKFwiaGV2b25jXCIpKX0sS0VlOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBOS2EoYihcInNCdmR3YlwiKSl9LFpyYzpmdW5jdGlvbigpe3JldHVybiBuZXcgT0thKGIoXCJ4Y2xqeWJcIikpfX19O3ZhciBzTGE7Xy5jZz1mdW5jdGlvbigpe3ZhciBhPWE9PT12b2lkIDA/d2luZG93LklKX3ZhbHVlczphO2E9YT09PXdpbmRvdy5JSl92YWx1ZXMmJnNMYT9zTGE6c0xhPWE/ckxhKGEpOnt9O3JldHVybiBhfTtfLnRMYT17fTtfLnhnPWZ1bmN0aW9uKGEsYil7dGhpcy5mbj1hO3RoaXMuTGE9YjthLnByb3RvdHlwZS5xYiYmKF8udExhW2EucHJvdG90eXBlLnFiXT10aGlzKX07Xy54Zy5wcm90b3R5cGUuQmE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5mbi5wcm90b3R5cGUucWJ9O18ueGcucHJvdG90eXBlLmdldEluc3RhbmNlPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgdGhpcy5mbihhKX07Xy5ncmE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1udWxsO2EgaW5zdGFuY2VvZiBfLnE/dHlwZW9mIGEucWI9PT1cInN0cmluZ1wiJiYoYz1hLnFiKTphIGluc3RhbmNlb2YgXy54Zz90eXBlb2YgYS5CYT09PVwiZnVuY3Rpb25cIiYmKGM9YS5mbi5wcm90b3R5cGUucWIpOnR5cGVvZiBhLnByb3RvdHlwZS5xYj09PVwic3RyaW5nXCImJihjPWEucHJvdG90eXBlLnFiKTtyZXR1cm4gYiYmIWM/XCJcIjpjfTt2YXIgdUxhO18ucW89ZnVuY3Rpb24oKXtyZXR1cm5cIl9cIn07Xy5ybz17fTtfLnNvPWZ1bmN0aW9uKGEpe2lmKCEoYSBpbnN0YW5jZW9mIF8ucSkpcmV0dXJuXCJcIithO3ZhciBiPV8uZ3JhKGEsITApO3JldHVybiBiPyhfLnJvW2JdfHxfLnFvKShhKTpcInVuc3VwcG9ydGVkXCJ9O18udG89ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPW51bGw/YTpcIlwifTt1TGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVwbGFjZSgvWztcXHNcXHxcXCtcXDBdL2csZnVuY3Rpb24oYil7cmV0dXJuXCJ8XCIrYi5jaGFyQ29kZUF0KDApK1wiK1wifSl9O18udW89ZnVuY3Rpb24oYSl7dmFyIGI9Xy5ncmEoYSk7dHlwZW9mIGE9PT1cImZ1bmN0aW9uXCI/YT1cIlwiOihhPV8uc28oYSksYT11TGEoYSkpO3JldHVybntxYjpiLGlkOmEsSjQ6YitcIjtcIithfX07Xy5DcWE9bmV3IF8uRWsoXCJhXCIpO18udkxhPW5ldyBfLkVrKFwiYlwiKTtfLndMYT1uZXcgXy5FayhcImNcIik7Xy54TGE9ZnVuY3Rpb24oYSxiLGMpe18uRmsuY2FsbCh0aGlzLGEsYik7dGhpcy5ub2RlPWI7dGhpcy5raW5kPWN9O18uRChfLnhMYSxfLkZrKTt2YXIgQUxhLEJMYSxDTGE7Xy56TGE9ZnVuY3Rpb24oYSl7cmV0dXJuKGE9Xy55TGEoYSkuZ2V0QXR0cmlidXRlKFwianNkYXRhXCIpKT8oMCxfLm5oKShhKS5zcGxpdCgvXFxzKy8pOltdfTtBTGE9ZnVuY3Rpb24oYSl7aWYoKGE9YS5nZXRBdHRyaWJ1dGUoXCJqc2RhdGFcIikpJiZhLmluZGV4T2YoXCJkZWZlcnJlZC1cIik9PTApcmV0dXJuKDAsXy5uaCkoYS5zdWJzdHJpbmcoOSkpfTtfLnlMYT1mdW5jdGlvbihhLGIpe3ZhciBjPUFMYShhKTtpZihjKXt2YXIgZDtiJiYoZD1iLnF1ZXJ5U2VsZWN0b3IoXCIjXCIrYykpO2R8fChkPVJvYShhLGMpKTtyZXR1cm4gZH1yZXR1cm4gYX07XG5CTGE9ZnVuY3Rpb24oYSl7dmFyIGI9QUxhKGEpO3JldHVybiBiP25ldyBfLmpmKGZ1bmN0aW9uKGMsZCl7dmFyIGU9ZnVuY3Rpb24oKXtiPUFMYShhKTt2YXIgZj1Sb2EoYSxiKTtmP2MoZi5nZXRBdHRyaWJ1dGUoXCJqc2RhdGFcIikpOndpbmRvdy5kb2N1bWVudC5yZWFkeVN0YXRlPT1cImNvbXBsZXRlXCI/KGY9W1wiVW5hYmxlIHRvIGZpbmQgZGVmZXJyZWQganNkYXRhIHdpdGggaWQ6IFwiK2JdLGEuaGFzQXR0cmlidXRlKFwianNjb250cm9sbGVyXCIpJiZmLnB1c2goXCJqc2NvbnRyb2xsZXI6IFwiK2EuZ2V0QXR0cmlidXRlKFwianNjb250cm9sbGVyXCIpKSxhLmhhc0F0dHJpYnV0ZShcImpzbW9kZWxcIikmJmYucHVzaChcImpzbW9kZWw6IFwiK2EuZ2V0QXR0cmlidXRlKFwianNtb2RlbFwiKSksZChFcnJvcihmLmpvaW4oXCJcXG5cIikpKSk6Xy5XbChlLDUwKX07Xy5XbChlLDUwKX0pOl8uZ2UoYS5nZXRBdHRyaWJ1dGUoXCJqc2RhdGFcIikpfTtcbkNMYT1mdW5jdGlvbihhKXt2YXIgYj1BTGEoYSk7cmV0dXJuIGI/IVJvYShhLGIpOiExfTt2YXIgRHFhLEZMYTtfLldmLnByb3RvdHlwZS5xYj1cInYzQmJtY1wiO18uRExhPXt9O18uRUxhPTA7XG5fLkdMYT1mdW5jdGlvbihhLGIpe2lmKF8uRUxhIT0wJiZhJiYoYS5ub2RlVHlwZT09MXx8YS5ub2RlVHlwZT09MTEpKXt2YXIgYz1fLm1lKGEpP1thXTpbXTsoYj09PXZvaWQgMHx8YikmJl8uQ2EoYyxhLnF1ZXJ5U2VsZWN0b3JBbGwoXCJbanNkYXRhXVwiKSk7Yz1jLmZpbHRlcihmdW5jdGlvbihmKXtmLmhhc0F0dHJpYnV0ZShcImpzZGF0YVwiKT8oZj1mLmdldEF0dHJpYnV0ZShcImpzZGF0YVwiKSxmPSFfLkFlKF8uZ2woZikpKTpmPSExO3JldHVybiBmfSk7dmFyIGQ9Xy5tZShhKT9hOnZvaWQgMCxlPW5ldyBTZXQ7Xy5IYShjLGZ1bmN0aW9uKGYpe3ZhciBnPV8ueUxhKGYsZCkuZ2V0QXR0cmlidXRlKFwianNkYXRhXCIpO2lmKGcpe2c9KDAsXy5uaCkoZykuc3BsaXQoXCIgXCIpLmZpbHRlcihmdW5jdGlvbihsKXtyZXR1cm4hbC5zdGFydHNXaXRoKFwiO3Vuc3VwcG9ydGVkXCIpfSk7dmFyIGg9VEhhLmdldChmKXx8e30saz17fTtnLmZvckVhY2goZnVuY3Rpb24obCl7dmFyIG49RkxhKGwpLmluc3RhbmNlSWQ7XG5fLkRMYVtsXT8oa1tuXT1fLkRMYVtsXSxlLmFkZChsKSk6aFtuXSYmKGtbbl09aFtuXSl9KTtPYmplY3Qua2V5cyhrKS5sZW5ndGghPT0wJiZUSGEuc2V0KGYsayl9fSk7YT1fLlBhKGUpO2ZvcihiPWEubmV4dCgpOyFiLmRvbmU7Yj1hLm5leHQoKSlkZWxldGUgXy5ETGFbYi52YWx1ZV0sXy5FTGEtLX19O0RxYT1mdW5jdGlvbihhKXthLkVyKCkubGlzdGVuKF8uQ3FhLGZ1bmN0aW9uKGIpe3JldHVybiBfLkdMYShiLm5vZGUpfSk7YS5FcigpLmxpc3RlbihfLndMYSxmdW5jdGlvbihiKXtyZXR1cm4gXy5HTGEoYi5ub2RlKX0pfTtcbl8uSExhPWZ1bmN0aW9uKGEsYil7dmFyIGM9RkxhKGIpLmluc3RhbmNlSWQ7aWYoIWMuc3RhcnRzV2l0aChcIiRcIikpcmV0dXJuIG51bGw7dmFyIGQ9VEhhLmdldChhKTtfLkRMYVtiXSYmKGR8fChkPXt9LFRIYS5zZXQoYSxkKSksZFtjXT1fLkRMYVtiXSxkZWxldGUgXy5ETGFbYl0sXy5FTGEtLSk7aWYoIWQpcmV0dXJuIG51bGw7aWYoYT1kW2NdKXJldHVybiBfLmdlKGEpO3Rocm93IEVycm9yKFwieGNgXCIrYik7fTtGTGE9ZnVuY3Rpb24oYSl7YT0oMCxfLm5oKShhKS5zcGxpdCgvOy8pO3JldHVybntxYjphWzBdLG1lc3NhZ2VLZXk6YVswXStcIjtcIithWzFdLGlkOmFbMV0saW5zdGFuY2VJZDphWzJdfX07Xy5FcWE9ITA7emQoXCJzMzlTNFwiLFwiWTlhdEtmXCIpO18uemY9Xy5HZChcInMzOVM0XCIsW18uZmcsXy5aZl0pO18uRnBhPV8uRmQoXCJ4czFHeVwiLFwiVmdkNmhiXCIsXCJqTnJJc2ZcIik7Xy5jcGE9XCJrZXlcIjt2YXIgV29hPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7U29hLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG51bGwpO3ZhciB3cGE9Wm9hKCk7Xy5ycGE9bnVsbDtfLnNwYT1udWxsO3ZhciBwcGE9ZnVuY3Rpb24oYSl7dGhpcy5vYT1bXTt0aGlzLkFhPVtdO3RoaXMubm9kZT1hfTt2YXIgcXBhPXR5cGVvZiBOb2RlIT09XCJ1bmRlZmluZWRcIiYmTm9kZS5wcm90b3R5cGUuZ2V0Um9vdE5vZGV8fGZ1bmN0aW9uKCl7Zm9yKHZhciBhPXRoaXMsYj1hO2E7KWI9YSxhPWEucGFyZW50Tm9kZTtyZXR1cm4gYn07dmFyIGFwYT1mdW5jdGlvbihhLGIpe3RoaXMub2E9bnVsbDt0aGlzLkJhPSExO3RoaXMuQWE9YTt0aGlzLmtleT1iO3RoaXMudGV4dD12b2lkIDB9O3ZhciBncGEsdWYsanBhLGtwYSxpcGEsb3BhO2dwYT1udWxsO3VmPW51bGw7Xy5xZj1udWxsO2pwYT1udWxsO2twYT1bXTtpcGE9ZXBhO29wYT1bXTtfLklMYT11cGEoKTt2YXIgdmY9W10seXBhPTA7dmFyIHhwYT1uZXcgU29hO3ZhciBKTGE9bmV3IFNvYTt2YXIgR3BhPW51bGw7Xy52bz1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhLDEpfTtfLkQoXy52byxfLnEpO3ZhciBLTGE9Xy5QZ2EoXy52byk7dmFyIExMYSxLcGEsTHBhLElwYSxEZixNcGE7TExhPV8uUWcoW1wiZGF0YS1zb3lsb2dnaW5nZnVuY3Rpb24tXCJdKTtLcGE9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuaWQ9YTt0aGlzLmRhdGE9Yjt0aGlzLkZVYT1jfTtMcGE9ZnVuY3Rpb24oYSxiKXt0aGlzLm5hbWU9YTt0aGlzLmFyZ3M9Yn07SXBhPWZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50cz1bXTt0aGlzLm9hPVtdfTtNcGE9W18ucGMoTExhKV07Xy53bz1mdW5jdGlvbihhLGIpe3RoaXMub2E9YTt0aGlzLkFhPWJ8fEtMYSgpfTtfLndvLnByb3RvdHlwZS5nZXRJZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9hfTtfLndvLnByb3RvdHlwZS5nZXRNZXRhZGF0YT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkFhfTtfLndvLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVyblwielNveVZlelwifTtfLk09ZnVuY3Rpb24oYSxiKXt0aGlzLkFhPWE7dGhpcy5vYT1ifTtfLk0ucHJvdG90eXBlLkdtPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQWF9O1xuXy5NLnByb3RvdHlwZS5nZXREYXRhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub2F9O18uTS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm5cInpTb3lWZUR6XCJ9O18uTUxhPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQShfLlRwYSgpLDMsXCIwXCIpfTt2YXIgTkxhO05MYT1fLlFnKFtcInZlLVwiXSk7Xy5PTGE9Xy5wYyhOTGEpO3ZhciBQTGEsVXBhLFJMYSxTTGE7Zm9yKFBMYT17Q0xJQ0s6e3N0cmluZzpcImNsaWNrXCIsUV86XCJjT3VDZ2RcIn0sR0VORVJJQ19DTElDSzp7c3RyaW5nOlwiZ2VuZXJpY19jbGlja1wiLFFfOlwic3pKZ2pjXCJ9LElNUFJFU1NJT046e3N0cmluZzpcImltcHJlc3Npb25cIixRXzpcInhyNmJCXCJ9LEhPVkVSOntzdHJpbmc6XCJob3ZlclwiLFFfOlwiWm1ka0VcIn0sS0VZUFJFU1M6e3N0cmluZzpcImtleXByZXNzXCIsUV86XCJLcjJ3NGJcIn0sS0VZQk9BUkRfRU5URVI6e3N0cmluZzpcImtleWJvYXJkX2VudGVyXCIsUV86XCJTWWhIOWRcIn0sVklTOntzdHJpbmc6XCJ2aXNcIixRXzpcIkhrZ0JzZlwifX0sVXBhPVdwYShQTGEpLF8uUUxhPW5ldyBNYXAsUkxhPV8uUGEoT2JqZWN0LmtleXMoUExhKSksU0xhPVJMYS5uZXh0KCk7IVNMYS5kb25lO1NMYT1STGEubmV4dCgpKXt2YXIgVExhPVNMYS52YWx1ZTtfLlFMYS5zZXQoUExhW1RMYV0uUV8sUExhW1RMYV0uc3RyaW5nKX1cbl8uVUxhPVdwYSh7VFJBQ0s6e3N0cmluZzpcInRyYWNrXCIsUV86XCJ1MDE0TlwifSxJTkRFWDp7c3RyaW5nOlwiaW5kZXhcIixRXzpcImNRWVNQY1wifSxNVVRBQkxFOntzdHJpbmc6XCJtdXRhYmxlXCIsUV86XCJkWUZqN2VcIn0sQ09NUE9ORU5UX0lEOntzdHJpbmc6XCJjaWRcIixRXzpcImNPdXlxXCJ9LFRFU1RfQ09ERTp7c3RyaW5nOlwidGNcIixRXzpcIkRNNkV6ZVwifX0pO3ZhciBWTGE7Xy54bz1mdW5jdGlvbihhLGIpe3ZhciBjPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyksZD1jLnNoaWZ0KCk7aWYodHlwZW9mIGQ9PVwidW5kZWZpbmVkXCIpdGhyb3cgRXJyb3IoXCJDY1wiKTtyZXR1cm4gZC5yZXBsYWNlKC8lKFswXFwtIFxcK10qKShcXGQrKT8oXFwuKFxcZCspKT8oWyVzZmRpdV0pL2csZnVuY3Rpb24oZSxmLGcsaCxrLGwsbixyKXtpZihsPT1cIiVcIilyZXR1cm5cIiVcIjt2YXIgdD1jLnNoaWZ0KCk7aWYodHlwZW9mIHQ9PVwidW5kZWZpbmVkXCIpdGhyb3cgRXJyb3IoXCJEY1wiKTthcmd1bWVudHNbMF09dDtyZXR1cm4gVkxhW2xdLmFwcGx5KG51bGwsYXJndW1lbnRzKX0pfTtcblZMYT17czpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGlzTmFOKGMpfHxjPT1cIlwifHxhLmxlbmd0aD49TnVtYmVyKGMpP2E6YT1iLmluZGV4T2YoXCItXCIsMCk+LTE/YSsoMCxfLkN5YSkoXCIgXCIsTnVtYmVyKGMpLWEubGVuZ3RoKTooMCxfLkN5YSkoXCIgXCIsTnVtYmVyKGMpLWEubGVuZ3RoKSthfSxmOmZ1bmN0aW9uKGEsYixjLGQsZSl7ZD1hLnRvU3RyaW5nKCk7aXNOYU4oZSl8fGU9PVwiXCJ8fChkPXBhcnNlRmxvYXQoYSkudG9GaXhlZChlKSk7dmFyIGY9TnVtYmVyKGEpPDA/XCItXCI6Yi5pbmRleE9mKFwiK1wiKT49MD9cIitcIjpiLmluZGV4T2YoXCIgXCIpPj0wP1wiIFwiOlwiXCI7TnVtYmVyKGEpPj0wJiYoZD1mK2QpO2lmKGlzTmFOKGMpfHxkLmxlbmd0aD49TnVtYmVyKGMpKXJldHVybiBkO2Q9aXNOYU4oZSk/TWF0aC5hYnMoTnVtYmVyKGEpKS50b1N0cmluZygpOk1hdGguYWJzKE51bWJlcihhKSkudG9GaXhlZChlKTthPU51bWJlcihjKS1kLmxlbmd0aC1mLmxlbmd0aDtiLmluZGV4T2YoXCItXCIsMCk+PVxuMD9kPWYrZCsoMCxfLkN5YSkoXCIgXCIsYSk6KGI9Yi5pbmRleE9mKFwiMFwiLDApPj0wP1wiMFwiOlwiIFwiLGQ9ZisoMCxfLkN5YSkoYixhKStkKTtyZXR1cm4gZH0sZDpmdW5jdGlvbihhLGIsYyxkLGUsZixnLGgpe3JldHVybiBWTGEuZihwYXJzZUludChhLDEwKSxiLGMsZCwwLGYsZyxoKX19O1ZMYS5pPVZMYS5kO1ZMYS51PVZMYS5kO18uV0xhPWZ1bmN0aW9uKGEsYil7dGhpcy5HYT1hO3RoaXMuWmk9bnVsbDt0aGlzLkJhPVtdO3RoaXMuQWE9dm9pZCAwO3RoaXMuTGE9dGhpcy5vYT0hMTt0aGlzLkNXYj1udWxsO3RoaXMuQ2E9W107dGhpcy5saGI9Ynx8ITE7dGhpcy5QeWE9bmV3IFNldH07Xy5tPV8uV0xhLnByb3RvdHlwZTtfLm0uZ2V0SUQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5HYX07Xy5tLnNldEluZGV4PWZ1bmN0aW9uKGEpe3RoaXMuWmk9YTtyZXR1cm4gdGhpc307Xy5tLmdldEluZGV4PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWml9O18ubS54RmE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vYX07Xy5tLnNldEF0dHJpYnV0ZT1mdW5jdGlvbihhKXt0aGlzLkNXYj1hO3JldHVybiB0aGlzfTtfLm0uZ2V0QXR0cmlidXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQ1difTtfLm0uY2JiPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmxoYj9fLlZwYShhKTphfTtfLldMYS5wcm90b3R5cGUuaXNNdXRhYmxlPV8uV0xhLnByb3RvdHlwZS54RmE7Xy5YTGE9U3ltYm9sKFwiR2NcIik7Xy5ZTGE9U3ltYm9sKFwiSGNcIik7Xy5aTGE9ITE7dmFyICRMYT1bMCxfLlVqLF8uVGpdO18ueW89ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLnlvLF8ucSk7Xy55by5wcm90b3R5cGUuUnc9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uWGgodGhpcywxLFhwYSxhKX07dmFyIFhwYT1bMSwyXTtfLnpvPVswLFhwYSxbMyw2XSxfLm5rLF8uem0sXy5uayx5QmEsXy5ZaiwyLF8ubmssJExhXTtfLmFNYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uYU1hLF8ucSk7Xy5iTWE9WzAsXy5HXTtfLkFvPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5BbyxfLnEpO18uQW8ucHJvdG90eXBlLklHPWZ1bmN0aW9uKCl7cmV0dXJuIF8uSWYodGhpcyxfLlpjLDEsXy5jTWEpfTtfLmVNYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLiRpKGEsNSxfLmRNYSxiKX07Xy5jTWE9WzEsMyw0XTtfLmRNYT1bMiw1XTtfLmZNYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uZk1hLF8ucSk7Xy5Cbz1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhLDIzMyl9O18uRChfLkJvLF8ucSk7Xy5Cby5wcm90b3R5cGUubUk9ZnVuY3Rpb24oKXtyZXR1cm4gXy5paSh0aGlzLDEpfTtfLkJvLnByb3RvdHlwZS5GWT1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcyw1KX07Xy5Cby5wcm90b3R5cGUuamo9ZnVuY3Rpb24oKXtyZXR1cm4gXy52KHRoaXMsXy55bywxMSl9O18uQm8ucHJvdG90eXBlLnNldFZpc2libGU9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uY2oodGhpcyw2LGEpfTtfLmdNYT1fLldiKF8uQm8pO18uQ289e307Xy5Cby5vYj1bNF07Xy5oTWE9Xy5OYigyNzMsXy5hTWEpO18uQ29bMjczXT1fLmJNYTt2YXIgaU1hPVswLF8uSV07Xy5Db1s4NTJdPWlNYTtfLkRvPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEsMzMxKX07Xy5EKF8uRG8sXy5xKTtfLkRvLnByb3RvdHlwZS5tST1mdW5jdGlvbigpe3JldHVybiBfLmVpKHRoaXMsMSl9O18uak1hPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uT2koYSwzLGIpfTtfLkRvLnByb3RvdHlwZS5GWT1mdW5jdGlvbigpe3JldHVybiBfLkdlKHRoaXMsNSl9O18ua01hPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uRGUoYSw1LGIpfTtfLm09Xy5Eby5wcm90b3R5cGU7Xy5tLnNldFZpc2libGU9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uY2oodGhpcyw2LGEpfTtfLm0uamo9ZnVuY3Rpb24oKXtyZXR1cm4gXy52KHRoaXMsXy55bywxMSl9O18ubS5nZXRJbmRleD1mdW5jdGlvbigpe3JldHVybiBfLmlpKHRoaXMsMTMxLC0xKX07Xy5tLnNldEluZGV4PWZ1bmN0aW9uKGEpe3JldHVybiBfLk9pKHRoaXMsMTMxLGEpfTtfLm0udWU9ZnVuY3Rpb24oYSl7cmV0dXJuIF8udWkodGhpcywyNjAsYSl9O18uRW89e307XG5fLkRvLm9iPVs0LDEwLDMzMCwyNjBdO18uRW9bODUyXT1pTWE7dmFyIGxNYT1bMCxfLmNNYSxfLmRNYSxfLm5rLF8uem0sXy5uayxfLkJtLF8ubmsseUJhLF8uaGssLTFdO3ZhciBtTWE9WzAsbE1hXTt2YXIgbk1hPVstMzMxLF8uRW8sXy5UaiwxLF8uVGosXy5VaixfLkgsXy5JLF8uVGosLTIsXy5VaixfLnpvLDUsXy5ILDM3LF8uSCw1MSxfLmFrLDIyLF8uRyxfLlRqLC0xLDE2LF8uVGosMTYsXy5vaywzNyxfLkgsOCxfLlRqLDE4LG1NYSw3LF8ub2ssMTksXy5laywxOSxfLlRqLDQ5LF8uVWpdO18ub01hPVstMjMzLF8uQ28sXy5UaiwxLF8uVGosXy5VaixfLkgsXy5JLF8uVGosMyxfLnpvLDUsXy5ILDExMixfLkcsMTgsXy5Uaiw4MixtTWFdO3ZhciBicWE7Xy5wTWE9MTticWE9bnVsbDt2YXIgcU1hLHJNYTtxTWE9ZnVuY3Rpb24oYSxiKXtIZmEoYiwxLF8uJGgoYSwxKSk7TnZhKGIsMixfLmZpKGEsMikpO052YShiLDMsXy5maShhLDMpKX07ck1hPWZ1bmN0aW9uKGEsYil7YmdhKGIsMSxfLnYoYSxfLlpjLDEpLHFNYSk7SGZhKGIsMixfLiRoKGEsMikpfTtfLnNNYT1mdW5jdGlvbihhKXt0aGlzLm9hPWF9O18udE1hPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBfLkx2YTthPWEub2E7dmFyIGM9Xy5paShhLDEsLTEpO2MhPW51bGwmJlJmYShiLDEsYyk7Yz1fLmVpKGEsMik7YyE9bnVsbCYmUmZhKGIsMixjKTtfLm1qKGEsNSkmJihjPV8uaWkoYSw1LC0xKSxjIT1udWxsJiZSZmEoYiw1LGMpKTtiZ2EoYiwxMyxfLnYoYSxfLlljLDEzKSxyTWEpO3JldHVyblwiMFwiK18uSmEoXy5NdmEoYiksNCl9O18udU1hPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy51TWEsXy5xKTt2YXIgdk1hPVswLG1NYV07Xy5Hbz1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uR28sXy5xKTtfLkhvPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEsMjIpfTtfLkQoXy5IbyxfLnEpO18uSG8ucHJvdG90eXBlLkJmPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDEpfTtfLklvPWZ1bmN0aW9uKGEpe3JldHVybiBfLkUoYSwzKX07Xy5Kbz1mdW5jdGlvbihhKXtyZXR1cm4gXy5FKGEsNCl9O18uS289ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5PaShhLDgsYil9O18uTG89ZnVuY3Rpb24oYSl7cmV0dXJuIF8ubmkoYSw5LDApfTtfLk1vPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uY2ooYSw5LGIpfTtfLkhvLnByb3RvdHlwZS5qaj1mdW5jdGlvbigpe3JldHVybiBfLnYodGhpcyxfLnlvLDEwKX07Xy5Obz1mdW5jdGlvbihhLGIpe3JldHVybiBfLk1iKGEsXy55bywxMCxiKX07Xy5Iby5wcm90b3R5cGUuSGI9ZnVuY3Rpb24oKXtyZXR1cm4gXy5FKHRoaXMsMTEsITEpfTtfLk9vPWZ1bmN0aW9uKGEpe3JldHVybiBfLnYoYSxfLkRvLDE2KX07XG5fLlBvPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uTWIoYSxfLkRvLDE2LGIpfTtfLkhvLnByb3RvdHlwZS51ZT1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywyMCl9O18uSG8ucHJvdG90eXBlLkZZPWZ1bmN0aW9uKCl7cmV0dXJuIF8udih0aGlzLF8uSGUsMjEpfTt2YXIgd01hPXt9O18uSG8ucHJvdG90eXBlLnFiPVwidlZKRjRlXCI7Xy54TWE9Xy5OYigyMixfLnVNYSk7d01hWzIyXT12TWE7Xy5Rbz1bMCxfLlRqLDEsXy5JXTtfLlJvPVstMjIsd01hLF8uSCxfLkcsLTIsXy5ILDEsXy5JLF8uVGosXy5JLF8uem8sXy5HLF8uVGosXy5RbyxfLlRqLC0xLG5NYSxfLkcsLTEsWzAsXy5ILC0xXSxfLkgsXy5Xbl07dmFyIHlNYSxBTWEsQk1hLEVNYSxGTWE7eU1hPV8uUWcoW1wiXCJdKTtfLnpNYT1uZXcgTWFwKFtbXCJ2aXNpYmxlXCIsMF0sW1wiaGlkZGVuXCIsMV0sW1wicmVwcmVzc2VkX2NvdW50ZXJmYWN0dWFsXCIsM10sW1wicmVwcmVzc2VkX3ByaXZhY3lcIiw0XV0pO0FNYT1uZXcgTWFwKFtbMCwwXSxbMSwxXSxbMiwzXSxbMywyXSxbNCw0XV0pO0JNYT1mdW5jdGlvbihhLGIsYyl7dGhpcy5pbmRleD1hO3RoaXMuQmE9Yjt0aGlzLkFhPWM7dGhpcy5vYT0wfTtfLkNNYT1mdW5jdGlvbigpe3RoaXMuQmE9Xy5wTWErKzt0aGlzLkFhPVtdO3RoaXMub2E9W119O1xuXy5ETWE9ZnVuY3Rpb24oYSxiLGMsZCl7Yz1jfHxuZXcgXy5Ibzt2YXIgZT1fLkdoKGMsXy5EbywxNik/Xy5PaChfLk9oKF8uT2goXy5PaChfLk9oKF8uT2goXy5PaChfLk9oKF8uT2goXy5PbyhjKS5jbG9uZSgpLDE0OSksNCksMjMyKSwzKSwxMSksMTcpLDcpLDUpLDYpOm5ldyBfLkRvO18uT2koZSwxLGIpO2I9bnVsbDthLm9hLmxlbmd0aCYmKGI9YS5vYVthLm9hLmxlbmd0aC0xXSxfLm1lYShhLkFhW2IuaW5kZXhdLDQsXy5jYixhLkFhLmxlbmd0aCkpO2Q9ISEoZHx8YiYmYi5CYSk7aWYoXy50aihjLDkpJiZfLkxvKGMpIT0wKXt2YXIgZj1BTWEuZ2V0KF8uTG8oYykpO2YmJmUuc2V0VmlzaWJsZShmKX1lbHNlIGQmJmUuc2V0VmlzaWJsZSgyKTtfLm1qKGMsOCk/TnVtYmVyKF8uaWkoYyw4KSk+PTAmJihfLmpNYShlLF8uaWkoYyw4KSksYiYmYi5vYSsrKTpiJiYoXy5uaShjLDcsMCk9PTJ8fGIuQWEpJiZfLmpNYShlLGIub2ErKyk7Xy5HaChjLF8ueW8sMTApJiYoXy5hcWEoYy5qaigpKSxcbmI9Yy5qaigpLF8uTWIoZSxfLnlvLDExLGIpKTtfLlZlKGMsMjApJiYoYj1bYy51ZSgpXSxfLmZqKGUsMjYwLGIsdm9pZCAwKSk7KGI9Yy5GWSgpKSYmXy5rTWEoZSwoXy5MZShiKXx8Xy5tYyh5TWEpKS50b1N0cmluZygpKTtfLm1qKGMsMTQpJiYoYj1fLmlpKGMsMTQsLTEpLF8uT2koZSwxNDksYikpO2lmKGMuZ2V0RXh0ZW5zaW9uKF8ueE1hKSE9bnVsbCl7Yj1fLnYoYy5nZXRFeHRlbnNpb24oXy54TWEpLF8uZk1hLDEpO2lmKF8uR2goYixfLkFvLDEpJiYoZj1fLnYoYixfLkFvLDEpLF8ucmooZiw1LF8uZE1hKSkpe3ZhciBnPV8uVmMoXy5BaShmLDUsXy5kTWEpKTtnJiYoZz1uZXcgXy5BbShnLnRKYSgpKSxfLlhoKGYsMixfLmRNYSxnKSl9Xy5NYihlLF8uZk1hLDIzMixiKX1hLm9hLnB1c2gobmV3IEJNYShhLkFhLmxlbmd0aCxkLCEhXy5FKGMsMTgsITEpKSk7Yz0oMCxfLmdNYSkoZS5XYygpKTthLkFhLnB1c2goYyl9O18uQ01hLnByb3RvdHlwZS5idWlsZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkFhfTtcbkVNYT1mdW5jdGlvbihhKXtyZXR1cm4oYT1hLm9hW2Eub2EubGVuZ3RoLTFdKT9hLmluZGV4Oi0xfTtGTWE9ZnVuY3Rpb24oYSl7dmFyIGI9RU1hKGEpO2lmKGI8MClyZXR1cm4tMTthPV8uZWkoYS5BYVtiXSwxKTtyZXR1cm4gYT09bnVsbD8tMTphfTtfLkdNYT1mdW5jdGlvbihhKXt2YXIgYj1FTWEoYSk7aWYoYjwwKXJldHVyblwiXCI7dmFyIGM9YS5BYVtiXSxkPW5ldyBfLkFtO18uekJhKGQsXy5JaShjLDEpKTtpZihfLlpMYSlyZXR1cm4gXy50TWEobmV3IF8uc01hKGQpKTtfLk9pKGQsMSxiKTtfLm1qKGMsMykmJihiPV8uaWkoYywzLC0xKSxfLk9pKGQsNSxiKSk7YT1fLmRxYShhLkJhKTtfLk1iKGQsXy5ZYywxMyxhKTtyZXR1cm4gXy50TWEobmV3IF8uc01hKGQpKX07Xy5ITWE9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSw3KX07Xy5EKF8uSE1hLF8ucSk7Xy5ITWEucHJvdG90eXBlLlJBPWZ1bmN0aW9uKGEpe3JldHVybiBfLk1iKHRoaXMsXy5BbywxLGEpfTtfLkhNYS5wcm90b3R5cGUuZ2V0VHlwZT1mdW5jdGlvbigpe3JldHVybiBfLm5pKHRoaXMsMiwwKX07Xy5ITWEucHJvdG90eXBlLkVjPWZ1bmN0aW9uKGEpe3JldHVybiBfLmNqKHRoaXMsMixhKX07Xy5ITWEucHJvdG90eXBlLllkPWZ1bmN0aW9uKCl7cmV0dXJuIF8uR2kodGhpcywyKX07Xy5JTWE9e307dmFyIEpNYT1bLTcsXy5JTWEsbE1hLF8uSSxsTWEsXy5KaixsTWEsXy5HXTtfLktNYT17fTt2YXIgTE1hPVstMSxfLktNYV07Xy5Tbz1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhLDE3KX07Xy5EKF8uU28sXy5xKTtfLk1NYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLkRlKGEsMTEsYil9O18uU28ucHJvdG90eXBlLm1JPWZ1bmN0aW9uKCl7cmV0dXJuIF8uaWkodGhpcywxLC0xKX07Xy5OTWE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5PaShhLDEsYil9O18uT01hPWZ1bmN0aW9uKGEsYil7Xy5PaShhLDIsYil9O18uU28ucHJvdG90eXBlLmdldEltYWdlVXJsPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDkpfTtfLlNvLnByb3RvdHlwZS5KcT1mdW5jdGlvbigpe3JldHVybiBfLlZlKHRoaXMsOSl9O18uU28ucHJvdG90eXBlLkRvPWZ1bmN0aW9uKCl7cmV0dXJuIF8uRWkodGhpcyw5KX07Xy5Tby5vYj1bMTRdO3ZhciBQTWE9Wy0xNyx7fSxfLlRqLC03LF8uSCwtNCxfLmtrLF8ub01hLExNYSxfLkJtXTt2YXIgUU1hPVswLFswLF8uSV0sXy5QaiwtMSxbMCxbLTE2LHt9LF8uVGosXy5layxfLkgsLTEsXy5UaiwtMSxbMCxfLkpqLF8uSSxbMCxfLkcsXy5UaixfLkgsLTFdLFswLF8uSSxfLnVrLF8uVGosXy5ILF8uSV0sWzAsXy5JLF8uVGosXy51ayxfLkldLFswLF8uRywtMV0sWzAsXy5JXSwxLF8ua2ssWzAsXy5HLC0xLF8uSSxfLlRqLF8uSSxfLlRqXV0sXy5ILF8uSmosWzAsXy5ILF8uRywtMSxfLlRqLC0xXSxfLkksWzAsXy5UaiwtMixfLkddLFswLF8ua2ssWzAsXy5Val1dLFswLF8uRyxfLlRqLC0xXSxbMCxfLkksXy5UaiwtMV1dLFswLFswLF8uSV0sXy5rayxbMCxfLkksXy5Kal1dXSxbMCxfLkksLTEsXy5ILF8uVGosXy5rayxbMCxfLkgsXy5Ual1dXTt2YXIgUk1hPVswLF8uVGosXy5la107dmFyIFNNYT1bMCxfLkksXy5ILF8uR107dmFyIFRNYT1bMCxfLmtrLFJNYSxfLmtrLFNNYSwtMSxfLkldO3ZhciBVTWE9WzAsXy5QaiwtMyxfLkksLTEsXy56bSxfLlBqLF8ua2ssWzAsWzIsMyw0LDVdLF8uSSxfLlJqLC0zXSxfLkhdO3ZhciBWTWE9WzAsXy5ILC0yLF8uVGosLTFdO3ZhciBXTWE9WzAsXy5ILF8uVGosXy5ILF8uVGosXy5ILC0xXTt2YXIgWE1hPVswLF8uUGosLTFdO18uWU1hPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5ZTWEsXy5xKTtfLllNYS5wcm90b3R5cGUuZ2V0UXVlcnk9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsNyl9O18uWU1hLnByb3RvdHlwZS5zZXRRdWVyeT1mdW5jdGlvbihhKXtyZXR1cm4gXy5EZSh0aGlzLDcsYSl9O18uWU1hLnByb3RvdHlwZS5vYT1fLlNiKFswLFFNYSxWTWEsVU1hLFhNYSxUTWEsV01hLF8uSCwtMV0pO18uTGY9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuWV9hPWE7dGhpcy51c2VyQWN0aW9uPWI7dGhpcy5acD1jfTtfLldvPWZ1bmN0aW9uKGEsYixjKXt0aGlzLllfYT1hO3RoaXMuWUc9Yjt0aGlzLm9hPWM9PT12b2lkIDA/ITE6Y307dmFyIFpNYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKFpNYSxfLnEpO18ubT1aTWEucHJvdG90eXBlO18ubS5nZXRLZXk9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMSl9O18ubS5nZXRWYWx1ZT1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywyKX07Xy5tLk9OPWZ1bmN0aW9uKCl7cmV0dXJuIF8uR2UodGhpcywyKX07Xy5tLnNldFZhbHVlPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRlKHRoaXMsMixhKX07Xy5tLmNsZWFyVmFsdWU9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDIpfTtfLiRNYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uJE1hLF8ucSk7Xy5hTmE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5PaShhLDEzLGIpfTtfLmJOYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uYk5hLF8ucSk7Xy5jTmE9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IF8uYk5hO3JldHVybiBfLk1iKGIsXy4kTWEsMixhKX07dmFyIGROYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhLDQpfTtfLkQoZE5hLF8ucSk7Xy5Ybz1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhLDM1KX07Xy5EKF8uWG8sXy5xKTtfLmVOYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLk9pKGEsMTEsYil9O18uWG8ucHJvdG90eXBlLnNldFZhbHVlPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uTGgodGhpcywzLFpNYSxhLGIpfTtfLmZOYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLkRlKGEsOCxiKX07Xy5nTmE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5EZShhLDI0LGIpfTtfLmhOYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLnNiKGEsMjAsYixfLmNiKX07Xy5Yby5vYj1bMywyMCwyN107dmFyIGlOYT1bMCx5QmFdO18uak5hPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5qTmEsXy5xKTtfLmpOYS5vYj1bMV07Xy5Zbz1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uWW8sXy5xKTtfLllvLnByb3RvdHlwZS5Sdz1mdW5jdGlvbihhKXtyZXR1cm4gXy5NYih0aGlzLF8uWWMsMSxhKX07Xy5rTmE9ZnVuY3Rpb24oYSxiKXtfLk1iKGEsXy5ZYywzLGIpfTtfLmxOYT1mdW5jdGlvbihhLGIpe18uTWIoYSxfLlNvLDQsYil9O18uWW8ub2I9WzJdO18uWW8ucHJvdG90eXBlLm9hPV8uU2IoWzAseUJhLF8ua2ssXy5vTWEseUJhLFBNYSxfLkksXy5ILFswLF8ua2ssSk1hXSx5QmEsaU5hXSk7dmFyIG9OYTtfLm5OYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5tTmEoW25ldyBfLldvKGEsMyldKX07Xy5tTmE9ZnVuY3Rpb24oYSl7aWYoIWEubGVuZ3RoKXJldHVyblwiXCI7dmFyIGI9W107YT1fLlBhKGEpO2Zvcih2YXIgYz1hLm5leHQoKTshYy5kb25lO2M9YS5uZXh0KCkpe2M9Yy52YWx1ZTt2YXIgZD1jLllfYTt0eXBlb2YgZD09PVwic3RyaW5nXCImJmIucHVzaChkK1wiLi5cIitvTmEoYy5ZRykrKGMub2E/XCIuMVwiOlwiXCIpKX1yZXR1cm5cIjFcIitiLmpvaW4oXCI7XCIpfTtvTmE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMzpyZXR1cm5cImlcIjtjYXNlIDE6cmV0dXJuXCJzXCI7Y2FzZSAyOnJldHVyblwiaFwiO2RlZmF1bHQ6cmV0dXJuXCJcIn19O3ZhciBwTmEsc05hLHROYSx1TmEseU5hLHpOYTtwTmE9LzxbXj5dKj58JlteO10rOy9nO18ucU5hPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGI/YS5yZXBsYWNlKHBOYSxcIlwiKTphfTtfLnJOYT1SZWdFeHAoXCJbXFx1MDU5MS1cXHUwNmVmXFx1MDZmYS1cXHUwOGZmXFx1MjAwZlxcdWQ4MDItXFx1ZDgwM1xcdWQ4M2EtXFx1ZDgzYlxcdWZiMWQtXFx1ZmRmZlxcdWZlNzAtXFx1ZmVmY11cIik7c05hPVJlZ0V4cChcIltBLVphLXpcXHUwMGMwLVxcdTAwZDZcXHUwMGQ4LVxcdTAwZjZcXHUwMGY4LVxcdTAyYjhcXHUwMzAwLVxcdTA1OTBcXHUwOTAwLVxcdTFmZmZcXHUyMDBlXFx1MmMwMC1cXHVkODAxXFx1ZDgwNC1cXHVkODM5XFx1ZDgzYy1cXHVkYmZmXFx1ZjkwMC1cXHVmYjFjXFx1ZmUwMC1cXHVmZTZmXFx1ZmVmZC1cXHVmZmZmXVwiKTt0TmE9UmVnRXhwKFwiXlteQS1aYS16XFx1MDBjMC1cXHUwMGQ2XFx1MDBkOC1cXHUwMGY2XFx1MDBmOC1cXHUwMmI4XFx1MDMwMC1cXHUwNTkwXFx1MDkwMC1cXHUxZmZmXFx1MjAwZVxcdTJjMDAtXFx1ZDgwMVxcdWQ4MDQtXFx1ZDgzOVxcdWQ4M2MtXFx1ZGJmZlxcdWY5MDAtXFx1ZmIxY1xcdWZlMDAtXFx1ZmU2ZlxcdWZlZmQtXFx1ZmZmZl0qW1xcdTA1OTEtXFx1MDZlZlxcdTA2ZmEtXFx1MDhmZlxcdTIwMGZcXHVkODAyLVxcdWQ4MDNcXHVkODNhLVxcdWQ4M2JcXHVmYjFkLVxcdWZkZmZcXHVmZTcwLVxcdWZlZmNdXCIpO1xudU5hPS9eaHR0cDpcXC9cXC8uKi87Xy52TmE9UmVnRXhwKFwiW0EtWmEtelxcdTAwYzAtXFx1MDBkNlxcdTAwZDgtXFx1MDBmNlxcdTAwZjgtXFx1MDJiOFxcdTAzMDAtXFx1MDU5MFxcdTA5MDAtXFx1MWZmZlxcdTIwMGVcXHUyYzAwLVxcdWQ4MDFcXHVkODA0LVxcdWQ4MzlcXHVkODNjLVxcdWRiZmZcXHVmOTAwLVxcdWZiMWNcXHVmZTAwLVxcdWZlNmZcXHVmZWZkLVxcdWZmZmZdW15cXHUwNTkxLVxcdTA2ZWZcXHUwNmZhLVxcdTA4ZmZcXHUyMDBmXFx1ZDgwMi1cXHVkODAzXFx1ZDgzYS1cXHVkODNiXFx1ZmIxZC1cXHVmZGZmXFx1ZmU3MC1cXHVmZWZjXSokXCIpO18ud05hPVJlZ0V4cChcIltcXHUwNTkxLVxcdTA2ZWZcXHUwNmZhLVxcdTA4ZmZcXHUyMDBmXFx1ZDgwMi1cXHVkODAzXFx1ZDgzYS1cXHVkODNiXFx1ZmIxZC1cXHVmZGZmXFx1ZmU3MC1cXHVmZWZjXVteQS1aYS16XFx1MDBjMC1cXHUwMGQ2XFx1MDBkOC1cXHUwMGY2XFx1MDBmOC1cXHUwMmI4XFx1MDMwMC1cXHUwNTkwXFx1MDkwMC1cXHUxZmZmXFx1MjAwZVxcdTJjMDAtXFx1ZDgwMVxcdWQ4MDQtXFx1ZDgzOVxcdWQ4M2MtXFx1ZGJmZlxcdWY5MDAtXFx1ZmIxY1xcdWZlMDAtXFx1ZmU2ZlxcdWZlZmQtXFx1ZmZmZl0qJFwiKTtcbl8ueE5hPVJlZ0V4cChcIl4oYXJ8Y2tifGR2fGhlfGl3fGZhfG5xb3xwc3xzZHx1Z3x1cnx5aXwuKlstX10oQWRsbXxBcmFifEhlYnJ8Tmtvb3xSb2hnfFRoYWEpKSg/IS4qWy1fXShMYXRufEN5cmwpKCR8LXxfKSkoJHwtfF8pXCIsXCJpXCIpO3lOYT0vXFxzKy87ek5hPS9bXFxkXFx1MDZmMC1cXHUwNmY5XS87Xy5BTmE9ZnVuY3Rpb24oYSxiKXt2YXIgYz0wLGQ9MCxlPSExO2E9Xy5xTmEoYSxiKS5zcGxpdCh5TmEpO2ZvcihiPTA7YjxhLmxlbmd0aDtiKyspe3ZhciBmPWFbYl07dE5hLnRlc3QoXy5xTmEoZikpPyhjKyssZCsrKTp1TmEudGVzdChmKT9lPSEwOnNOYS50ZXN0KF8ucU5hKGYpKT9kKys6ek5hLnRlc3QoZikmJihlPSEwKX1yZXR1cm4gZD09MD9lPzE6MDpjL2Q+LjQ/LTE6MX07dmFyIENOYSxFTmE7Xy5abz17fTtfLkJOYT17fTtDTmE9e307Xy5ETmE9e307Xy4kbz17fTtFTmE9e307Xy5hcD1mdW5jdGlvbigpe3Rocm93IEVycm9yKFwiSWNcIik7fTtfLmFwLnByb3RvdHlwZS5iZGE9bnVsbDtfLmFwLnByb3RvdHlwZS5nZXRDb250ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29udGVudH07Xy5hcC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb250ZW50fTtfLmFwLnByb3RvdHlwZS5BXz1mdW5jdGlvbigpe2lmKHRoaXMueWIhPT1fLlpvKXRocm93IEVycm9yKFwiSmNcIik7cmV0dXJuIF8udyh0aGlzLnRvU3RyaW5nKCkpfTtfLkZOYT1mdW5jdGlvbigpe18uYXAuY2FsbCh0aGlzKX07Xy5taChfLkZOYSxfLmFwKTtfLkZOYS5wcm90b3R5cGUueWI9Xy5abzt2YXIgR05hPWZ1bmN0aW9uKCl7Xy5hcC5jYWxsKHRoaXMpfTtfLm1oKEdOYSxfLmFwKTtHTmEucHJvdG90eXBlLnliPV8uQk5hO0dOYS5wcm90b3R5cGUuYmRhPTE7XG5fLkhOYT1mdW5jdGlvbigpe18uYXAuY2FsbCh0aGlzKX07Xy5taChfLkhOYSxfLmFwKTtfLkhOYS5wcm90b3R5cGUueWI9Q05hO18uSE5hLnByb3RvdHlwZS5iZGE9MTtfLklOYT1mdW5jdGlvbigpe18uYXAuY2FsbCh0aGlzKX07Xy5taChfLklOYSxfLmFwKTtfLklOYS5wcm90b3R5cGUueWI9Xy5ETmE7Xy5JTmEucHJvdG90eXBlLmJkYT0xO18uSk5hPWZ1bmN0aW9uKCl7Xy5hcC5jYWxsKHRoaXMpfTtfLm1oKF8uSk5hLF8uYXApO18uSk5hLnByb3RvdHlwZS55Yj1fLiRvO18uSk5hLnByb3RvdHlwZS5iZGE9MTt2YXIgS05hPWZ1bmN0aW9uKCl7Xy5hcC5jYWxsKHRoaXMpfTtfLm1oKEtOYSxfLmFwKTtLTmEucHJvdG90eXBlLnliPUVOYTtLTmEucHJvdG90eXBlLmJkYT0xO18uUHBhPWZ1bmN0aW9uKCl7dGhpcy5vYT1uZXcgXy5DTWE7dGhpcy5BYT1bXX07Xy5QcGEucHJvdG90eXBlLmVudGVyPWZ1bmN0aW9uKGEpe3RoaXMuQWEucHVzaChhLmlkKTt2YXIgYj1hLmlkO2IhPS0xJiZiIT0tMiYmKGI9YS5kYXRhLGIgaW5zdGFuY2VvZiBfLkhvP18uRE1hKHRoaXMub2EsYS5pZCxiLGEuRlVhKTpfLkRNYSh0aGlzLm9hLGEuaWQsdm9pZCAwLGEuRlVhKSl9O18uUHBhLnByb3RvdHlwZS5Ra2I9ZnVuY3Rpb24oYSl7YSgpfTtfLlBwYS5wcm90b3R5cGUuZXhpdD1mdW5jdGlvbigpe3ZhciBhPXRoaXMuQWEucG9wKCk7YSE9LTEmJmEhPS0yJiZ0aGlzLm9hLm9hLnBvcCgpfTtcbl8uUHBhLnByb3RvdHlwZS5VRD1mdW5jdGlvbihhLGIpe3RyeXtzd2l0Y2goYSl7Y2FzZSBcInVUWktDZVwiOnZhciBjPVN0cmluZyhGTWEodGhpcy5vYSkpO3JldHVybiBiWzBdP2MrYlswXS50b1N0cmluZygpOmM7Y2FzZSBcImhzNHBCYlwiOnZhciBkPWJbMF0udG9TdHJpbmcoKTtyZXR1cm4gU3RyaW5nKEZNYSh0aGlzLm9hKSkrXCI7dmVkOlwiK18uR01hKHRoaXMub2EpK1wiO3RyYWNrOlwiK2Q7Y2FzZSBcIkRuejFqYlwiOnJldHVybiBfLkdNYSh0aGlzLm9hKTtjYXNlIFwibWsxdUFmXCI6dmFyIGU9dGhpcy5vYSxmPUVNYShlKTtpZihmPj0wJiZmPGUuQWEubGVuZ3RoKXt2YXIgZz1uZXcgXy5hTWE7Xy5NZyhnLDEsITApO2UuQWFbZl0udGIoXy5oTWEsZyl9cmV0dXJuIEVNYSh0aGlzLm9hKS50b1N0cmluZygpO2Nhc2UgXCJQVjFyOVwiOmlmKGJbMF1pbnN0YW5jZW9mIF8uSE5hP2JbMF0uZ2V0Q29udGVudCgpOmJbMF0pYTp7dmFyIGg9YlswXS50b1N0cmluZygpLGs9YlsxXXx8ITEsbD1iWzJdO3RyeXt2YXIgbj1cbm5ldyBfLk1tKGgpO24uZ2V0UGF0aCgpIT1cIi9hY2xrXCImJm4uZ2V0UGF0aCgpIT1cIi9wYWdlYWQvYWNsa1wiJiZfLlhtKG4sXCJzYVwiKT09dm9pZCAwJiZfLlZtKG4sXCJzYVwiLFwiWFwiKTt2YXIgcj1fLkdNYSh0aGlzLm9hKTtfLlZtKG4sXCJ2ZWRcIixyKTtrJiZfLlZtKG4sXCJ2ZXRcIixfLm5OYShyKSk7TE5hKG4sbCk7dmFyIHQ9bi50b1N0cmluZygpO3Q9dC5yZXBsYWNlKC8lMkIvaWcsXCIrXCIpO3ZhciB1PXQ9dC5yZXBsYWNlKC8lM0EvaWcsXCI6XCIpO2JyZWFrIGF9Y2F0Y2goQil7fXU9aH1lbHNlIHU9XCJcIjtyZXR1cm4gdTtjYXNlIFwiQU5JMnhjXCI6cmV0dXJuIE1OYSh0aGlzLGJbMF0udG9TdHJpbmcoKSxiWzFdKTtjYXNlIFwidE5KUmllXCI6dmFyIHo9TU5hKHRoaXMsYlswXS50b1N0cmluZygpLGJbMV0pO3JldHVybiB6O2RlZmF1bHQ6cmV0dXJuXCJcIn19Y2F0Y2goQil7cmV0dXJuXCJcIn19O18uTk5hPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5vYTthLm9hPWJ8fG5ldyBfLkNNYTtyZXR1cm4gY307XG5fLlBwYS5wcm90b3R5cGUub0ZiPWZ1bmN0aW9uKCl7Xy5OTmEodGhpcyl9O3ZhciBNTmE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPW5ldyBfLk1tKFwiL3VybD9zYT10JnNvdXJjZT13ZWImcmN0PWpcIik7Yj1PTmEoYik7Xy5WbShkLFwidXJsXCIsYik7Xy5WbShkLFwidmVkXCIsXy5HTWEoYS5vYSkpOyhhPV8uTUxhKCkpJiZhIT09XCIwXCImJl8uVm0oZCxcImF1dGh1c2VyXCIsYSk7TE5hKGQsYyk7Xy5LaWEoe3NldDpmdW5jdGlvbihlLGYpe18uVm0oZCxlLGYpfX0sITEsITEpO3JldHVybiBkLnRvU3RyaW5nKCl9LE9OYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5ZbShfLmJhLmxvY2F0aW9uLm9yaWdpbikucmVzb2x2ZShfLlltKGEpKS50b1N0cmluZygpfSxMTmE9ZnVuY3Rpb24oYSxiKXtiJiZiLmZvckVhY2goZnVuY3Rpb24oYyxkKXtjIT09bnVsbCYmYyE9PXZvaWQgMCYmXy5WbShhLGQsYyl9KX07dmFyIFFOYTtfLlBOYT1mdW5jdGlvbihhKXtfLk5rLmNhbGwodGhpcyk7dGhpcy5BYT1hfHx3aW5kb3c7dGhpcy5CYT1fLlhkKHRoaXMuQWEsXCJyZXNpemVcIix0aGlzLkNhLCExLHRoaXMpO3RoaXMub2E9Xy5wbCh0aGlzLkFhKX07Xy5taChfLlBOYSxfLk5rKTtfLlJOYT1mdW5jdGlvbihhKXthPWF8fHdpbmRvdzt2YXIgYj1fLkVhKGEpO3JldHVybiBRTmFbYl09UU5hW2JdfHxuZXcgXy5QTmEoYSl9O1FOYT17fTtfLlBOYS5wcm90b3R5cGUuZ2V0U2l6ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9hP3RoaXMub2EuY2xvbmUoKTpudWxsfTtfLlBOYS5wcm90b3R5cGUuUWM9ZnVuY3Rpb24oKXtfLlBOYS5PZC5RYy5jYWxsKHRoaXMpO3RoaXMuQmEmJihfLkxrKHRoaXMuQmEpLHRoaXMuQmE9bnVsbCk7dGhpcy5vYT10aGlzLkFhPW51bGx9O18uUE5hLnByb3RvdHlwZS5DYT1mdW5jdGlvbigpe3ZhciBhPV8ucGwodGhpcy5BYSk7Xy5zeWEoYSx0aGlzLm9hKXx8KHRoaXMub2E9YSx0aGlzLmRpc3BhdGNoRXZlbnQoXCJyZXNpemVcIikpfTt2YXIgU05hPWZ1bmN0aW9uKGEpe18uTmsuY2FsbCh0aGlzKTt0aGlzLkJhPWE/YS5nZXRXaW5kb3coKTp3aW5kb3c7dGhpcy5DYT10aGlzLmZ1KCk7dGhpcy5sSD0oMCxfLmhoKSh0aGlzLkdhLHRoaXMpO3RoaXMuQWE9bnVsbDsodGhpcy5vYT10aGlzLkJhLm1hdGNoTWVkaWE/dGhpcy5CYS5tYXRjaE1lZGlhKFwiKG1pbi1yZXNvbHV0aW9uOiAxLjVkcHB4KSwgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS41KVwiKTpudWxsKSYmdHlwZW9mIHRoaXMub2EuYWRkTGlzdGVuZXIhPT1cImZ1bmN0aW9uXCImJnR5cGVvZiB0aGlzLm9hLmFkZEV2ZW50TGlzdGVuZXIhPT1cImZ1bmN0aW9uXCImJih0aGlzLm9hPW51bGwpfTtfLm1oKFNOYSxfLk5rKTtcblNOYS5wcm90b3R5cGUuc3RhcnQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMub2EmJih0eXBlb2YgdGhpcy5vYS5hZGRFdmVudExpc3RlbmVyPT09XCJmdW5jdGlvblwiPyh0aGlzLm9hLmFkZEV2ZW50TGlzdGVuZXIoXCJjaGFuZ2VcIix0aGlzLmxIKSx0aGlzLkFhPWZ1bmN0aW9uKCl7YS5vYS5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2hhbmdlXCIsYS5sSCl9KToodGhpcy5vYS5hZGRMaXN0ZW5lcih0aGlzLmxIKSx0aGlzLkFhPWZ1bmN0aW9uKCl7YS5vYS5yZW1vdmVMaXN0ZW5lcihhLmxIKX0pKX07U05hLnByb3RvdHlwZS5mdT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkJhLmRldmljZVBpeGVsUmF0aW8+PTEuNT8yOjF9O1NOYS5wcm90b3R5cGUuR2E9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmZ1KCk7dGhpcy5DYSE9YSYmKHRoaXMuQ2E9YSx0aGlzLmRpc3BhdGNoRXZlbnQoXCJkXCIpKX07U05hLnByb3RvdHlwZS5RYz1mdW5jdGlvbigpe3RoaXMuQWEmJnRoaXMuQWEoKTtTTmEuT2QuUWMuY2FsbCh0aGlzKX07Xy5jcD1mdW5jdGlvbihhLGIpe18uQ2suY2FsbCh0aGlzKTt0aGlzLkdhPWE7aWYoYil7aWYodGhpcy5CYSl0aHJvdyBFcnJvcihcIktjXCIpO3RoaXMuQmE9Yjt0aGlzLm9hPV8uUGUoYik7dGhpcy5BYT1uZXcgXy5QTmEoXy5RZShiKSk7dGhpcy5BYS5GWWEodGhpcy5HYS5FcigpKTt0aGlzLkNhPW5ldyBTTmEodGhpcy5vYSk7dGhpcy5DYS5zdGFydCgpfX07Xy5taChfLmNwLF8uQ2spO18uQXFhPWZ1bmN0aW9uKGEsYil7Yj1uZXcgXy5jcChhLGIpO2EucmVnaXN0ZXJTZXJ2aWNlKF8uaW8sYil9O18uY3AucHJvdG90eXBlLlltPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQmF9O18uY3AucHJvdG90eXBlLlFjPWZ1bmN0aW9uKCl7dGhpcy5vYT10aGlzLkJhPW51bGw7dGhpcy5BYSYmKHRoaXMuQWEuZGlzcG9zZSgpLHRoaXMuQWE9bnVsbCk7Xy5YYih0aGlzLkNhKTt0aGlzLkNhPW51bGx9O18uQWQoXy5pbyxfLmNwKTt2YXIgWE5hLGJPYSxhT2E7Xy5VTmE9ZnVuY3Rpb24oYSl7Xy5Day5jYWxsKHRoaXMpO3RoaXMuQWE9e307dGhpcy5HYT17fTt0aGlzLkxhPXt9O3RoaXMub2E9e307dGhpcy5CYT17fTt0aGlzLmhiPXt9O3RoaXMuUmE9YT9hLkVyKCk6bmV3IF8uTms7dGhpcy53Yj0hYTt0aGlzLkNhPW51bGw7YSYmKHRoaXMuQ2E9YSx0aGlzLkxhPWEuTGEsdGhpcy5vYT1hLm9hLHRoaXMuR2E9YS5HYSx0aGlzLkJhPWEuQmEpO2E9VE5hKHRoaXMpO3RoaXMhPWEmJihhLk9hP2EuT2EucHVzaCh0aGlzKTphLk9hPVt0aGlzXSl9O18ubWgoXy5VTmEsXy5Dayk7dmFyIFROYT1mdW5jdGlvbihhKXtmb3IoO2EuQ2E7KWE9YS5DYTtyZXR1cm4gYX0sVk5hPWZ1bmN0aW9uKGEsYil7Zm9yKDthOyl7aWYoYT09YilyZXR1cm4hMDthPWEuQ2F9cmV0dXJuITF9O18uVU5hLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5jcmEodGhpcyxhKTtpZihiPT1udWxsKXRocm93IG5ldyBXTmEoYSk7cmV0dXJuIGJ9O1xuWE5hPWZ1bmN0aW9uKGEsYil7cmV0dXJuISghYS5BYVtiXSYmIWEuTGFbYl0pfTtfLmNyYT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1hO2M7Yz1jLkNhKXtpZihjLmlzRGlzcG9zZWQoKSl0aHJvdyBuZXcgRkdhKFtiXSk7aWYoYy5BYVtiXSlyZXR1cm4gYy5BYVtiXVswXTtpZihjLmhiW2JdKWJyZWFrfWlmKGM9YS5MYVtiXSl7Yz1jKGEpO2lmKGM9PW51bGwpdGhyb3cgRXJyb3IoXCJMY2BcIitiKTthLnJlZ2lzdGVyU2VydmljZShiLGMpO3JldHVybiBjfXJldHVybiBudWxsfTtcbl8uQkdhPWZ1bmN0aW9uKGEsYixjKXtpZihhLmlzRGlzcG9zZWQoKSl0aHJvdyBuZXcgRkdhKGIpO3ZhciBkPVlOYShhKSxlPSFjO2M9e307dmFyIGY9W10sZz1bXSxoPXt9O2I9Xy5QYShiKTtmb3IodmFyIGs9Yi5uZXh0KCksbD17fTshay5kb25lO2w9e1FXOnZvaWQgMH0saz1iLm5leHQoKSlpZihsLlFXPWsudmFsdWUsaz1fLmNyYShhLGwuUVcpKXt2YXIgbj1uZXcgXy5IZDtjW2wuUVddPW47ay54QmEmJihORGEobixrLnhCYSgpKSxuLmFkZENhbGxiYWNrKF8uaWgoZnVuY3Rpb24ocil7cmV0dXJuIHJ9LGspKSk7bi5jYWxsYmFjayhrKX1lbHNlIGEuQmFbbC5RV10/KGs9YS5CYVtsLlFXXS5RdigpLGsuYWRkQ2FsbGJhY2soZnVuY3Rpb24ocil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGEuUHViKHIuUVcpfX0obCkpLGNbbC5RV109ayk6KGs9dm9pZCAwLGwuUVcgaW5zdGFuY2VvZiBfLkNkP2s9cEdhKFtsLlFXXSkuV3o6KG49YS5HYVtsLlFXXSkmJihrPVtuXSksIWV8fGsmJlxuay5sZW5ndGg/KGsmJihmLnB1c2guYXBwbHkoZixfLm1kKGspKSxoW2wuUVddPV8ucGEoaykpLGcucHVzaChsLlFXKSk6KGs9bmV3IF8uSGQsY1tsLlFXXT1rLGsuUkQobmV3IFdOYShsLlFXKSkpKTtpZihlKXtpZihmLmxlbmd0aCl7YS5RYSYmZi5maWx0ZXIoZnVuY3Rpb24ocil7cmV0dXJuIUZGYShkLHIpfSkubGVuZ3RoPjAmJmEuUWEucHVzaChuZXcgWk5hKTtlPV8uUGEoZyk7Zm9yKGI9ZS5uZXh0KCk7IWIuZG9uZTtiPWUubmV4dCgpKWI9Yi52YWx1ZSxhLkVyKCkuZGlzcGF0Y2hFdmVudChuZXcgJE5hKFwiZVwiLGIpKTtmPURvYShZTmEoYSksZik7Zz1fLlBhKGcpO2ZvcihlPWcubmV4dCgpOyFlLmRvbmU7ZT1nLm5leHQoKSllPWUudmFsdWUsYj1oW2VdLGw9ZltiXSxsPWwgaW5zdGFuY2VvZiBfLkhkP2wuUXYoKTpfLlJEYShsKSxjW2VdPWwsYU9hKGEsbCxlLGIpfX1lbHNlIGZvcihnPV8uUGEoZyksZT1nLm5leHQoKSxmPXt9OyFlLmRvbmU7Zj17eG9hOnZvaWQgMCxuYmI6dm9pZCAwfSxcbmU9Zy5uZXh0KCkpZi54b2E9ZS52YWx1ZSxmLm5iYj1oW2YueG9hXSxlPW5ldyBfLkhkKGZ1bmN0aW9uKHIpe3JldHVybiBmdW5jdGlvbih0KXt2YXIgdT1yLnhvYSx6PWEub2EmJmEub2FbdV07aWYoeil7Zm9yKHZhciBCPTA7Qjx6Lmxlbmd0aDsrK0IpaWYoeltCXS5YYj09YSYmeltCXS5kPT10KXtfLnhhKHosQik7YnJlYWt9ei5sZW5ndGg9PTAmJmRlbGV0ZSBhLm9hW3VdfX19KGYpKSxjW2YueG9hXT1lLChiPWEub2FbZi54b2FdKXx8KGEub2FbZi54b2FdPWI9W10pLGYubmJiJiZiT2EoYSxlLGYueG9hLGYubmJiKSxlLmFkZENhbGxiYWNrKGZ1bmN0aW9uKHIpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBhLlF1YihyLnhvYSxyLm5iYil9fShmKSksYi5wdXNoKHtYYjphLGQ6ZX0pO3JldHVybiBjfTtcbmJPYT1mdW5jdGlvbihhLGIsYyxkKXtiLmFkZENhbGxiYWNrKGZ1bmN0aW9uKCl7dmFyIGU9WU5hKHRoaXMpO2lmKGUuRk4oZCkuaXNMb2FkZWQoKSlyZXR1cm4gZS5vYTt0aGlzLlFhJiZ0aGlzLlFhLnB1c2gobmV3IFpOYSk7cmV0dXJuIGUubG9hZChkKX0sYSk7Xy50ZyhiLCgwLF8uaGgpKGEuRjRiLGEsYyxkKSl9O2FPYT1mdW5jdGlvbihhLGIsYyxkKXtiLmFkZENhbGxiYWNrKGZ1bmN0aW9uKCl7dGhpcy5FcigpLmRpc3BhdGNoRXZlbnQobmV3ICROYShcImZcIixjKSl9LGEpO18udGcoYiwoMCxfLmhoKShhLkY0YixhLGMsZCkpO2IuYWRkQ2FsbGJhY2soKDAsXy5oaCkoYS5RdWIsYSxjLGQpKX07Xy5tPV8uVU5hLnByb3RvdHlwZTtcbl8ubS5RdWI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLmNyYSh0aGlzLGEpO2lmKGM9PW51bGwpe2lmKHRoaXMuQmFbYV0pcmV0dXJuIGM9dGhpcy5CYVthXS5RdigpLGMuYWRkQ2FsbGJhY2soKDAsXy5oaCkodGhpcy5RdWIsdGhpcyxhLGIpKSxjO2lmKCFiKXRocm93IEVycm9yKFwiTWNgXCIrYSk7dGhyb3cgbmV3IGNPYShhLGIsXCJNb2R1bGUgbG9hZGVkIGJ1dCBzZXJ2aWNlIG9yIGZhY3Rvcnkgbm90IHJlZ2lzdGVyZWQgd2l0aCBhcHAgY29udGV4dHMuXCIpO31yZXR1cm4gYy54QmE/KGI9bmV3IF8uSGQsTkRhKGIsYy54QmEoKSksYi5jYWxsYmFjayhjKSxiLmFkZENhbGxiYWNrKCgwLF8uaGgpKHRoaXMuUHViLHRoaXMsYSkpLGIpOnRoaXMuUHViKGEpfTtfLm0uUHViPWZ1bmN0aW9uKGEpe3RoaXMuQmFbYV0mJmRlbGV0ZSB0aGlzLkJhW2FdO3JldHVybiB0aGlzLmdldChhKX07XG5fLm0uRjRiPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYyBpbnN0YW5jZW9mIF8uRURhP2M6bmV3IGtPYShhLGIsYyl9O18ubS5yZWdpc3RlclNlcnZpY2U9ZnVuY3Rpb24oYSxiLGMpe2lmKHRoaXMuaXNEaXNwb3NlZCgpKWN8fF8uWGIoYik7ZWxzZXt0aGlzLkFhW2FdPVtiLCFjXTtjPW5PYSh0aGlzLHRoaXMsYSk7Zm9yKHZhciBkPTA7ZDxjLmxlbmd0aDtkKyspY1tkXS5jYWxsYmFjayhudWxsKTtkZWxldGUgdGhpcy5HYVthXTthIGluc3RhbmNlb2YgXy5DZCYmXy5BZChhLGIuY29uc3RydWN0b3IpO3JldHVybiBifX07Xy5tLnVucmVnaXN0ZXJTZXJ2aWNlPWZ1bmN0aW9uKGEpe2lmKCF0aGlzLkFhW2FdKXRocm93IEVycm9yKFwiTmNgXCIrYSk7dmFyIGI9dGhpcy5BYVthXTtkZWxldGUgdGhpcy5BYVthXTtiWzFdJiZfLlhiKGJbMF0pfTtcbnZhciBvT2E9ZnVuY3Rpb24oYSxiLGMpe2IgaW5zdGFuY2VvZiBfLkNkJiYoYi5vYT1jKTthLkdhW2JdPWN9LHFPYT1mdW5jdGlvbihhLGIsYyl7YS5MYVtiXT1jO2lmKGM9YS5vYVtiXSl7aWYoYy5sZW5ndGg+MSl7Zm9yKHZhciBkPTA7ZDxjLmxlbmd0aDsrK2QpY1tkXS5pbmRleD1kO2Muc29ydChwT2EpfWZvcig7Yy5sZW5ndGg7KWMuc2hpZnQoKS5kLmNhbGxiYWNrKG51bGwpO2RlbGV0ZSBhLm9hW2JdfX0scE9hPWZ1bmN0aW9uKGEsYil7aWYoYS5YYiE9Yi5YYil7aWYoVk5hKGEuWGIsYi5YYikpcmV0dXJuIDE7aWYoVk5hKGIuWGIsYS5YYikpcmV0dXJuLTF9cmV0dXJuIGEuaW5kZXg8Yi5pbmRleD8tMTphLmluZGV4PT1iLmluZGV4PzA6MX0sbk9hPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1bXSxlPWEub2FbY107ZSYmKF8ucWEoZSxmdW5jdGlvbihmKXtWTmEoZi5YYixiKSYmKGQucHVzaChmLmQpLF8uemEoZSxmKSl9KSxlLmxlbmd0aD09MCYmZGVsZXRlIGEub2FbY10pO3JldHVybiBkfSxcbnJPYT1mdW5jdGlvbihhLGIpe2Eub2EmJl8uWWIoYS5vYSxmdW5jdGlvbihjLGQsZSl7Xy5xYShjLGZ1bmN0aW9uKGYpe2YuWGI9PWImJl8uemEoYyxmKX0pO2MubGVuZ3RoPT0wJiZkZWxldGUgZVtkXX0pfTtfLlVOYS5wcm90b3R5cGUuUWM9ZnVuY3Rpb24oKXtpZihUTmEodGhpcyk9PXRoaXMpe3ZhciBhPXRoaXMuT2E7aWYoYSlmb3IoO2EubGVuZ3RoOylhWzBdLmRpc3Bvc2UoKX1lbHNle2E9VE5hKHRoaXMpLk9hO2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7YisrKWlmKGFbYl09PXRoaXMpe2Euc3BsaWNlKGIsMSk7YnJlYWt9fWZvcih2YXIgYyBpbiB0aGlzLkFhKWE9dGhpcy5BYVtjXSxhWzFdJiZhWzBdLmRpc3Bvc2UmJmFbMF0uZGlzcG9zZSgpO3RoaXMuQWE9bnVsbDt0aGlzLndiJiZ0aGlzLlJhLmRpc3Bvc2UoKTtyT2EodGhpcyx0aGlzKTt0aGlzLm9hPW51bGw7Xy5YYih0aGlzLmtiKTt0aGlzLmhiPXRoaXMua2I9bnVsbDtfLlVOYS5PZC5RYy5jYWxsKHRoaXMpfTtcbl8uVU5hLnByb3RvdHlwZS5Fcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLlJhfTt2YXIgWU5hPWZ1bmN0aW9uKGEpe3JldHVybiBhLlVhP2EuVWE6YS5DYT9ZTmEoYS5DYSk6bnVsbH0sV05hPWZ1bmN0aW9uKGEpe18uYWEuY2FsbCh0aGlzKTt0aGlzLmlkPWE7dGhpcy5tZXNzYWdlPSdTZXJ2aWNlIGZvciBcIicrYSsnXCIgaXMgbm90IHJlZ2lzdGVyZWQnfTtfLm1oKFdOYSxfLmFhKTt2YXIga09hPWZ1bmN0aW9uKGEsYixjKXtfLmFhLmNhbGwodGhpcyk7dGhpcy5Xbz1hO3RoaXMuSkJiPWI7dGhpcy5jYXVzZT1jO3RoaXMubWVzc2FnZT0nTW9kdWxlIFwiJytiKydcIiBmYWlsZWQgdG8gbG9hZCB3aGVuIHJlcXVlc3RpbmcgdGhlIHNlcnZpY2UgXCInK2ErJ1wiIFtjYXVzZTogJytjK1wiXVwiO3RoaXMuc3RhY2s9Yy5zdGFjaytcIlxcbldSQVBQRUQgQlk6XFxuXCIrdGhpcy5zdGFja307Xy5taChrT2EsXy5hYSk7XG52YXIgY09hPWZ1bmN0aW9uKGEsYixjKXtfLmFhLmNhbGwodGhpcyk7dGhpcy5Xbz1hO3RoaXMuSkJiPWI7dGhpcy5tZXNzYWdlPSdDb25maWd1cmF0aW9uIGVycm9yIHdoZW4gbG9hZGluZyB0aGUgbW9kdWxlIFwiJytiKydcIiBmb3IgdGhlIHNlcnZpY2UgXCInK2ErJ1wiOiAnK2N9O18ubWgoY09hLF8uYWEpO3ZhciBaTmE9ZnVuY3Rpb24oKXt3d2EoKX0sJE5hPWZ1bmN0aW9uKGEsYil7Xy5Gay5jYWxsKHRoaXMsYSk7dGhpcy5Xbz1ifTtfLm1oKCROYSxfLkZrKTt2YXIgZnFhPXt9O18uc09hPWZ1bmN0aW9uKGEsYil7dGhpcy5vYT1ifHxfLlBlKCk7dGhpcy5CYT1hfHxudWxsfTtfLm09Xy5zT2EucHJvdG90eXBlO18ubS5ybmE9ZnVuY3Rpb24oYSxiKXt2YXIgYz10T2EodGhpcyk7dmFyIGQ9dGhpcy5vYXx8Xy5QZSgpOyhhPWEoYnx8ZnFhLGMpKSYmYS5rZD9kPWEua2QoKTooYT1fLmdxYShhKSxkPV8uVnlhKGQub2EsYSkpO3RoaXMuejMoZCxfLlpvKTtyZXR1cm4gZH07Xy5tLmtkPWZ1bmN0aW9uKGEsYil7YT1fLmhxYShhLGIsdE9hKHRoaXMpLHRoaXMub2EpO3RoaXMuejMoYSxfLlpvKTtyZXR1cm4gYX07Xy5tLkF1PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD10T2EodGhpcyk7KGI9YihjfHxmcWEsZCkpJiZiLkF1JiZhP2IuQXUoYSk6KGI9Xy5ncWEoYiksXy5PZihhLGIpKTt0aGlzLnozKGEsXy5abyl9O18ubS5yZW5kZXI9ZnVuY3Rpb24oYSxiKXthPWEoYnx8e30sdE9hKHRoaXMpKTt0aGlzLnozKG51bGwsYSBpbnN0YW5jZW9mIF8uYXA/YS55YjpudWxsKTtyZXR1cm4gU3RyaW5nKGEpfTtcbl8ubS5EaD1mdW5jdGlvbihhLGIpe3ZhciBjPXRPYSh0aGlzKTthPWEoYnx8ZnFhLGMpO3JldHVybiBTdHJpbmcoYSl9O18ubS5zSz1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLkZIYShhLGIpfTtfLm0uRkhhPWZ1bmN0aW9uKGEsYil7YT1hKGJ8fHt9LHRPYSh0aGlzKSk7dGhpcy56MyhudWxsLGEueWIpO3JldHVybiBhfTtfLm0uejM9ZnVuY3Rpb24oKXt9O3ZhciB0T2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuQmE/YS5CYS5nZXREYXRhKCk6e319O3ZhciB1T2E9ZnVuY3Rpb24oYSl7dGhpcy5vYT1hO3RoaXMuQWE9Xy5jcmEodGhpcy5vYSxfLlpmKX07dU9hLnByb3RvdHlwZS5nZXREYXRhPWZ1bmN0aW9uKCl7dGhpcy5vYS5pc0Rpc3Bvc2VkKCl8fCh0aGlzLkFhPV8uY3JhKHRoaXMub2EsXy5aZikpO3JldHVybiB0aGlzLkFhP18uZHAodGhpcy5BYSk6e319O18uZXA9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IHVPYShhKTtfLnNPYS5jYWxsKHRoaXMsYixhLmdldChfLmlvKS5vYSk7dGhpcy5BYT1uZXcgXy5Oazt0aGlzLkdhPWJ9O18uRChfLmVwLF8uc09hKTtfLmVwLnByb3RvdHlwZS5nZXREYXRhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuR2EuZ2V0RGF0YSgpfTtfLmVwLnByb3RvdHlwZS5Fcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLkFhfTtfLmVwLnByb3RvdHlwZS56Mz1mdW5jdGlvbihhLGIpe18uc09hLnByb3RvdHlwZS56My5jYWxsKHRoaXMsYSxiKTt0aGlzLkFhLmRpc3BhdGNoRXZlbnQobmV3IF8ueExhKF8uQ3FhLGEsYikpfTtcbl8uQWQoXy5mZyxfLmVwKTtfLnZPYT1mdW5jdGlvbihhKXt0aGlzLm9hPXR5cGVvZiBhPT1cIm51bWJlclwiP2E+MD8xOmE8MD8tMTpudWxsOmE9PW51bGw/bnVsbDphPy0xOjF9O18udk9hLnByb3RvdHlwZS5BYT1fLkFOYTtfLnZPYS5wcm90b3R5cGUubWFyaz1mdW5jdGlvbigpe3N3aXRjaCh0aGlzLm9hKXtjYXNlIDE6cmV0dXJuXCJcXHUyMDBlXCI7Y2FzZSAtMTpyZXR1cm5cIlxcdTIwMGZcIjtkZWZhdWx0OnJldHVyblwiXCJ9fTt2YXIgek9hLEFPYSxCT2EsQ09hLEdPYSxET2EsRU9hLEZPYSxqcWEsa3FhLE1PYSxLT2EsUU9hLFJPYSxaT2EseU9hLCRPYSxVT2EseE9hLGFQYSxPT2EsTk9hLFRPYSxXT2EsU09hLFZPYSxQT2EsYlBhLGNQYSxKT2EsSE9hO18ud09hPWZ1bmN0aW9uKGEpe2lmKGEhPW51bGwpc3dpdGNoKGEuYmRhKXtjYXNlIDE6cmV0dXJuIDE7Y2FzZSAtMTpyZXR1cm4tMTtjYXNlIDA6cmV0dXJuIDB9cmV0dXJuIG51bGx9O18uZ3A9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uZnAoYSxfLlpvKT9hOmEgaW5zdGFuY2VvZiBfLnJjPygwLF8uTikoXy50YyhhKS50b1N0cmluZygpKTooMCxfLk4pKFN0cmluZyhTdHJpbmcoYSkpLnJlcGxhY2UoeE9hLHlPYSksXy53T2EoYSkpfTt6T2E9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihjKXt0aGlzLmNvbnRlbnQ9Y31iLnByb3RvdHlwZT1hLnByb3RvdHlwZTtyZXR1cm4gZnVuY3Rpb24oYyl7cmV0dXJuIG5ldyBiKFN0cmluZyhjKSl9fTtcbl8uTj1mdW5jdGlvbihhKXtmdW5jdGlvbiBiKGMpe3RoaXMuY29udGVudD1jfWIucHJvdG90eXBlPWEucHJvdG90eXBlO3JldHVybiBmdW5jdGlvbihjLGQpe2M9bmV3IGIoU3RyaW5nKGMpKTtkIT09dm9pZCAwJiYoYy5iZGE9ZCk7cmV0dXJuIGN9fShfLkZOYSk7Xy5ocD16T2EoR05hKTtfLmlwPXpPYShfLkhOYSk7Xy5qcD16T2EoXy5JTmEpO18ua3A9ek9hKF8uSk5hKTtfLmxwPXpPYShLTmEpO18ubXA9ZnVuY3Rpb24oYSl7dmFyIGI9U3RyaW5nKGEpO2E9PW51bGw/KGE9XCJfXCIsYj1cIm51bGxcIik6YT10eXBlb2YgYT09PVwibnVtYmVyXCI/XCIjXCI6XCI6XCI7cmV0dXJuXCJcIitiLmxlbmd0aCthK2J9O18ub3A9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGMgaW4gYiljIGluIGF8fChhW2NdPWJbY10pO3JldHVybiBhfTtfLnBwPWZ1bmN0aW9uKGEpe2lmKGE9PW51bGwpdGhyb3cgRXJyb3IoXCJPY1wiKTtyZXR1cm4gYX07XG5fLnJwPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEmJmImJmEudyQmJmIudyQ/YS55YiE9PWIueWI/ITE6YS50b1N0cmluZygpPT09Yi50b1N0cmluZygpOmEgaW5zdGFuY2VvZiBfLmFwJiZiIGluc3RhbmNlb2YgXy5hcD9hLnliIT1iLnliPyExOmEudG9TdHJpbmcoKT09Yi50b1N0cmluZygpOmE9PWJ9O18uc3A9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLmFwPyEhYS5nZXRDb250ZW50KCk6ISFhfTtBT2E9e307Qk9hPXt9O18udHA9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9XCJrZXlfXCIrYStcIjpcIitiLGY9QU9hW2VdO2lmKGY9PT12b2lkIDB8fGM+ZilBT2FbZV09YyxCT2FbZV09ZDtlbHNlIGlmKGM9PWYpdGhyb3cgRXJyb3IoXCJQY2BcIithK1wiYFwiK2IpO307Xy51cD1mdW5jdGlvbihhLGIpe3ZhciBjPUJPYVtcImtleV9cIithK1wiOlwiKyhifHxcIlwiKV07Y3x8Yj09PVwiXCJ8fChjPUJPYVtcImtleV9cIithK1wiOlwiXSk7cmV0dXJuIGM/YzpDT2F9O0NPYT1mdW5jdGlvbigpe3JldHVyblwiXCJ9O1xuXy52cD1mdW5jdGlvbihhKXtpZihhPT1udWxsKXJldHVyblwiXCI7aWYoYSBpbnN0YW5jZW9mIF8ucmMpYT1fLnRjKGEpLnRvU3RyaW5nKCk7ZWxzZSBpZihfLmZwKGEsXy5abykpYT1hLnRvU3RyaW5nKCk7ZWxzZSByZXR1cm4gYTtmb3IodmFyIGI9XCJcIixjPTAsZD1cIlwiLGU9W10sZj0vPCg/OiEtLS4qPy0tfCg/OiF8KFxcLz9bYS16XVtcXHc6LV0qKSkoKD86W14+J1wiXXxcIlteXCJdKlwifCdbXiddKicpKikpPnwkL2dpLGc7Zz1mLmV4ZWMoYSk7KXt2YXIgaD1nWzFdLGs9Z1syXSxsPWcuaW5kZXg7aD1oP2gudG9Mb3dlckNhc2UoKTpudWxsO2lmKGQpZD09PWgmJihkPVwiXCIpO2Vsc2UgaWYoYz1hLnN1YnN0cmluZyhjLGwpLGM9Xy5lbChjKSxET2EoZSl8fChjPWMucmVwbGFjZSgvWyBcXHRcXHJcXG5dKy9nLFwiIFwiKSwvW14gXFx0XFxyXFxuXSQvLnRlc3QoYil8fChjPWMucmVwbGFjZSgvXiAvLFwiXCIpKSksYis9YyxoJiYoL14oc2NyaXB0fHN0eWxlfHRleHRhcmVhfHRpdGxlKSQvLnRlc3QoaCk/ZD1cIi9cIitcbmg6L15iciQvLnRlc3QoaCk/Yis9XCJcXG5cIjpFT2EudGVzdChoKT8vW15cXG5dJC8udGVzdChiKSYmKGIrPVwiXFxuXCIpOi9eKHRkfHRoKSQvLnRlc3QoaCkmJihiKz1cIlxcdFwiKSwhRk9hLnRlc3QoXCI8XCIraCtcIj5cIikpKWlmKGguY2hhckF0KDApPT09XCIvXCIpZm9yKGg9aC5zdWJzdHJpbmcoMSk7ZS5sZW5ndGg+MCYmZS5wb3AoKS50YWchPT1oOyk7ZWxzZSBpZigvXnByZSQvLnRlc3QoaCkpZS5wdXNoKG5ldyBHT2EoaCwhMCkpO2Vsc2V7YTp7aWYoayE9PVwiXCIpZm9yKDtjPUhPYS5leGVjKGspOylpZigvXnN0eWxlJC9pLnRlc3QoY1sxXSkpe2M9Y1syXTtIT2EubGFzdEluZGV4PTA7aWYoYyE9PVwiXCIpe2lmKGMuY2hhckF0KDApPT09XCInXCJ8fGMuY2hhckF0KDApPT09J1wiJyljPWMuc3Vic3RyKDEsYy5sZW5ndGgtMik7Yjp7az12b2lkIDA7Zm9yKHZhciBuPS9bXFx0XFxuXFxyIF0qKFteOjtcXHRcXG5cXHIgXSopW1xcdFxcblxcciBdKjpbXFx0XFxuXFxyIF0qKFteOjtcXHRcXG5cXHIgXSopW1xcdFxcblxcciBdKig/Ojt8JCkvZztrPVxubi5leGVjKGMpOylpZigvXndoaXRlLXNwYWNlJC9pLnRlc3Qoa1sxXSkpe2s9a1syXTtpZigvXihwcmV8cHJlLXdyYXB8YnJlYWstc3BhY2VzKSQvaS50ZXN0KGspKXtrPSEwO2JyZWFrIGJ9aWYoL14obm9ybWFsfG5vd3JhcCkkL2kudGVzdChrKSl7az0hMTticmVhayBifX1rPW51bGx9YnJlYWsgYX1icmVha31rPW51bGx9az09bnVsbCYmKGs9RE9hKGUpKTtlLnB1c2gobmV3IEdPYShoLGspKX1pZighZ1swXSlicmVhaztjPWwrZ1swXS5sZW5ndGh9cmV0dXJuIGIucmVwbGFjZSgvXFx1MDBBMC9nLFwiIFwiKX07R09hPWZ1bmN0aW9uKGEsYil7dGhpcy50YWc9YTt0aGlzLm9hPWJ9O0RPYT1mdW5jdGlvbihhKXt2YXIgYj1hLmxlbmd0aDtyZXR1cm4gYj4wP2FbYi0xXS5vYTohMX07RU9hPS9eXFwvPyhhZGRyZXNzfGJsb2NrcXVvdGV8ZGR8ZGl2fGRsfGR0fGhbMS02XXxocnxsaXxvbHxwfHByZXx0YWJsZXx0cnx1bCkkLztcbl8uSU9hPWZ1bmN0aW9uKGEpe3JldHVybiBfLmZwKGEsXy5abyk/Xy53cChhLmdldENvbnRlbnQoKSk6U3RyaW5nKGEpLnJlcGxhY2UoeE9hLHlPYSl9O0ZPYT1SZWdFeHAoXCJePCg/OmFyZWF8YmFzZXxicnxjb2x8Y29tbWFuZHxlbWJlZHxocnxpbWd8aW5wdXR8a2V5Z2VufGxpbmt8bWV0YXxwYXJhbXxzb3VyY2V8dHJhY2t8d2JyKVxcXFxiXCIpO1xuXy5MT2E9ZnVuY3Rpb24oYSxiKXtpZighYilyZXR1cm4gbHFhKFN0cmluZyhhKSxmdW5jdGlvbigpe3JldHVyblwiXCJ9KS5yZXBsYWNlKEpPYSxcIiZsdDtcIik7YT1TdHJpbmcoYSkucmVwbGFjZSgvXFxbL2csXCImIzkxO1wiKTt2YXIgYz1bXSxkPVtdO2E9bHFhKGEsZnVuY3Rpb24oZixnKXtpZihnJiYoZz1nLnRvTG93ZXJDYXNlKCksYi5oYXNPd25Qcm9wZXJ0eShnKSYmYltnXSkpe3ZhciBoPWMubGVuZ3RoLGs9XCI8L1wiLGw9XCJcIjtpZihmLmNoYXJBdCgxKSE9PVwiL1wiKXtrPVwiPFwiO2Zvcih2YXIgbjtuPUhPYS5leGVjKGYpOylpZihuWzFdJiZuWzFdLnRvTG93ZXJDYXNlKCk9PT1cImRpclwiKXtpZihmPW5bMl0pe2lmKGYuY2hhckF0KDApPT09XCInXCJ8fGYuY2hhckF0KDApPT09J1wiJylmPWYuc3Vic3RyKDEsZi5sZW5ndGgtMik7Zj1mLnRvTG93ZXJDYXNlKCk7aWYoZj09PVwibHRyXCJ8fGY9PT1cInJ0bFwifHxmPT09XCJhdXRvXCIpbD0nIGRpcj1cIicrZisnXCInfWJyZWFrfUhPYS5sYXN0SW5kZXg9MH1jW2hdPVxuaytnK1wiPlwiO2RbaF09bDtyZXR1cm5cIltcIitoK1wiXVwifXJldHVyblwiXCJ9KTthPV8ud3AoYSk7dmFyIGU9S09hKGMpO2E9YS5yZXBsYWNlKC9cXFsoXFxkKylcXF0vZyxmdW5jdGlvbihmLGcpe3JldHVybiBkW2ddJiZjW2ddP2NbZ10uc3Vic3RyKDAsY1tnXS5sZW5ndGgtMSkrZFtnXStcIj5cIjpjW2ddfSk7cmV0dXJuIGErZX07anFhPVJlZ0V4cC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoXCJzdGlja3lcIik7a3FhPW5ldyBSZWdFeHAoKGpxYT9cIlwiOlwiXlwiKStcIig/OiF8Lz8oW2EtekEtWl1bYS16QS1aMC05Oi1dKikpXCIsanFhP1wiZ3lcIjpcImdcIik7TU9hPWZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UoLzxcXC8vZyxcIjxcXFxcL1wiKS5yZXBsYWNlKC9cXF1cXF0+L2csXCJdXVxcXFw+XCIpfTtcbktPYT1mdW5jdGlvbihhKXtmb3IodmFyIGI9W10sYz0wLGQ9YS5sZW5ndGg7YzxkOysrYyl7dmFyIGU9YVtjXTtlLmNoYXJBdCgxKT09XCIvXCI/KGU9Yi5sYXN0SW5kZXhPZihlKSxlPDA/YVtjXT1cIlwiOihhW2NdPWIuc2xpY2UoZSkucmV2ZXJzZSgpLmpvaW4oXCJcIiksYi5sZW5ndGg9ZSkpOmU9PVwiPGxpPlwiJiZiLmxhc3RJbmRleE9mKFwiPC9vbD5cIik8MCYmYi5sYXN0SW5kZXhPZihcIjwvdWw+XCIpPDA/YVtjXT1cIlwiOkZPYS50ZXN0KGUpfHxiLnB1c2goXCI8L1wiK2Uuc3Vic3RyaW5nKDEpKX1yZXR1cm4gYi5yZXZlcnNlKCkuam9pbihcIlwiKX07Xy5PPWZ1bmN0aW9uKGEpe3JldHVybiBfLmZwKGEsXy5abyk/Xy53cChfLkxPYShhLmdldENvbnRlbnQoKSkpOlN0cmluZyhhKS5yZXBsYWNlKHhPYSx5T2EpfTtfLnhwPWZ1bmN0aW9uKGEpe3JldHVybiBfLmZwKGEsXy5abyk/U3RyaW5nKF8uTE9hKGEuZ2V0Q29udGVudCgpKSkucmVwbGFjZShOT2EseU9hKTpTdHJpbmcoYSkucmVwbGFjZShPT2EseU9hKX07XG5fLnlwPWZ1bmN0aW9uKGEpe18uZnAoYSxfLiRvKT9hPWEuZ2V0Q29udGVudCgpOihhPVN0cmluZyhhKSxhPVBPYS50ZXN0KGEpP2E6XCJ6U295elwiKTtyZXR1cm4gYX07Xy56cD1mdW5jdGlvbihhKXtfLmZwKGEsXy4kbykmJihhPWEuZ2V0Q29udGVudCgpKTtyZXR1cm4oYSYmIWEuc3RhcnRzV2l0aChcIiBcIik/XCIgXCI6XCJcIikrYX07UU9hPS9bJygpXS9nO1JPYT1mdW5jdGlvbihhKXtyZXR1cm5cIiVcIithLmNoYXJDb2RlQXQoMCkudG9TdHJpbmcoMTYpfTtfLkFwPWZ1bmN0aW9uKGEpe2E9ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhhKSk7UU9hLmxhc3RJbmRleD0wO3JldHVybiBRT2EudGVzdChhKT9hLnJlcGxhY2UoUU9hLFJPYSk6YX07XG5fLkNwPWZ1bmN0aW9uKGEpe18uZnAoYSxDTmEpfHxfLmZwKGEsXy5ETmEpP2E9Xy5CcChhKTphIGluc3RhbmNlb2YgXy5nYz9hPV8uQnAoXy5pYyhhKSk6YSBpbnN0YW5jZW9mIF8uRmM/YT1fLkJwKF8ueGMoYSkudG9TdHJpbmcoKSk6KGE9U3RyaW5nKGEpLGE9U09hLnRlc3QoYSk/YS5yZXBsYWNlKFRPYSxVT2EpOlwiYWJvdXQ6aW52YWxpZCN6U295elwiKTtyZXR1cm4gYX07Xy5EcD1mdW5jdGlvbihhKXtfLmZwKGEsQ05hKXx8Xy5mcChhLF8uRE5hKT9hPV8uQnAoYSk6YSBpbnN0YW5jZW9mIF8uZ2M/YT1fLkJwKF8uaWMoYSkpOmEgaW5zdGFuY2VvZiBfLkZjP2E9Xy5CcChfLnhjKGEpLnRvU3RyaW5nKCkpOihhPVN0cmluZyhhKSxhPVZPYS50ZXN0KGEpP2EucmVwbGFjZShUT2EsVU9hKTpcImFib3V0OmludmFsaWQjelNveXpcIik7cmV0dXJuIGF9O1xuXy5SPWZ1bmN0aW9uKGEpe18uZnAoYSxFTmEpP2E9TU9hKGEuZ2V0Q29udGVudCgpKTphPT1udWxsP2E9XCJcIjphIGluc3RhbmNlb2YgXy5KeGE/YT1NT2EoXy5LeGEoYSkpOmEgaW5zdGFuY2VvZiBPeGE/YT1NT2EoXy5HaGEoYSkpOihhPVN0cmluZyhhKSxhPVdPYS50ZXN0KGEpP2E6XCJ6U295elwiKTtyZXR1cm4gYX07Xy5YT2E9ZnVuY3Rpb24oKXtyZXR1cm4gXy5sYy5hcHBseSgwLGFyZ3VtZW50cykuZmxhdCgpLmZpbHRlcihmdW5jdGlvbihhKXtyZXR1cm4gXy5zcChhKX0pLmpvaW4oXCI7XCIpfTtfLkdwPWZ1bmN0aW9uKCl7cmV0dXJuIF8ubGMuYXBwbHkoMCxhcmd1bWVudHMpLmZsYXQoKS5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuIGF9KS5qb2luKFwiIFwiKX07XG5fLkhwPWZ1bmN0aW9uKGEpe3ZhciBiPV8ubGMuYXBwbHkoMSxhcmd1bWVudHMpO3JldHVybihiPWE9PT1cImNsYXNzXCI/Xy5HcC5hcHBseShudWxsLF8ubWQoYikpOl8uWE9hLmFwcGx5KG51bGwsXy5tZChiKSkpPygwLF8ua3ApKGErJz1cIicrYisnXCInKTooMCxfLmtwKShcIlwiKX07Xy5KcD1mdW5jdGlvbihhLGIpe3JldHVybiBfLklwKGEsYik+PTB9O18uSXA9ZnVuY3Rpb24oYSxiKXthPV8ucmEoYS5zbGljZSgwKSxmdW5jdGlvbihjKXtyZXR1cm4gYj09PWN9KTtyZXR1cm4gYT09PS0xPy0xOmF9O18uS3A9ZnVuY3Rpb24oKXtyZXR1cm4gXy5sYy5hcHBseSgwLGFyZ3VtZW50cyl9O18uWU9hPXt9O18uTHA9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLndPYShhKTtpZihjIT1udWxsKXJldHVybiBjO2I9Ynx8Xy5mcChhLF8uWm8pO2I9Xy5BTmEoYStcIlwiLGIpO2EhPW51bGwmJmEuYmRhIT09dm9pZCAwJiYoYS5iZGE9Yik7cmV0dXJuIGJ9O1xuXy5NcD1mdW5jdGlvbihhKXt2YXIgYj1fLllPYVsxXXx8KF8uWU9hWzFdPW5ldyBfLnZPYSgxKSksYz1fLncoU3RyaW5nKGEpKTthPV8uTHAoYSwhMCk7YT09bnVsbCYmKGE9Yi5BYShfLnRjKGMpLnRvU3RyaW5nKCksITApKTt2YXIgZD12b2lkIDA7ZD1kfHxkPT12b2lkIDA7dmFyIGUsZj1hIT0wJiZhIT1iLm9hO2Y/KGYmJihlPWE9PS0xP1wicnRsXCI6XCJsdHJcIiksZT1fLlNoYShcInNwYW5cIix7ZGlyOmV9LGMpKTplPWM7Yz1fLnRjKGMpLnRvU3RyaW5nKCk7Yj1kJiYoTnVtYmVyKGEpKk51bWJlcihiLm9hKTwwfHxiLm9hPT0xJiZfLndOYS50ZXN0KF8ucU5hKGMsITApKXx8Yi5vYT09LTEmJl8udk5hLnRlc3QoXy5xTmEoYywhMCkpKT9iLm9hPT0xP1wiXFx1MjAwZVwiOlwiXFx1MjAwZlwiOlwiXCI7ZT1NaGEoW2UsYl0pO3JldHVybiBfLnRjKGUpLnRvU3RyaW5nKCl9O18uZnA9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYSE9bnVsbCYmYS55Yj09PWJ9O1xuWk9hPXtcIlxceDAwXCI6XCImIzA7XCIsXCJcXHRcIjpcIiYjOTtcIixcIlxcblwiOlwiJiMxMDtcIixcIlxcdlwiOlwiJiMxMTtcIixcIlxcZlwiOlwiJiMxMjtcIixcIlxcclwiOlwiJiMxMztcIixcIiBcIjpcIiYjMzI7XCIsJ1wiJzpcIiZxdW90O1wiLFwiJlwiOlwiJmFtcDtcIixcIidcIjpcIiYjMzk7XCIsXCItXCI6XCImIzQ1O1wiLFwiL1wiOlwiJiM0NztcIixcIjxcIjpcIiZsdDtcIixcIj1cIjpcIiYjNjE7XCIsXCI+XCI6XCImZ3Q7XCIsXCJgXCI6XCImIzk2O1wiLFwiXFx1MDA4NVwiOlwiJiMxMzM7XCIsXCJcXHUwMGEwXCI6XCImIzE2MDtcIixcIlxcdTIwMjhcIjpcIiYjODIzMjtcIixcIlxcdTIwMjlcIjpcIiYjODIzMztcIn07eU9hPWZ1bmN0aW9uKGEpe3JldHVybiBaT2FbYV19O1xuJE9hPXtcIlxceDAwXCI6XCIlMDBcIixcIlxcdTAwMDFcIjpcIiUwMVwiLFwiXFx1MDAwMlwiOlwiJTAyXCIsXCJcXHUwMDAzXCI6XCIlMDNcIixcIlxcdTAwMDRcIjpcIiUwNFwiLFwiXFx1MDAwNVwiOlwiJTA1XCIsXCJcXHUwMDA2XCI6XCIlMDZcIixcIlxcdTAwMDdcIjpcIiUwN1wiLFwiXFxiXCI6XCIlMDhcIixcIlxcdFwiOlwiJTA5XCIsXCJcXG5cIjpcIiUwQVwiLFwiXFx2XCI6XCIlMEJcIixcIlxcZlwiOlwiJTBDXCIsXCJcXHJcIjpcIiUwRFwiLFwiXFx1MDAwZVwiOlwiJTBFXCIsXCJcXHUwMDBmXCI6XCIlMEZcIixcIlxcdTAwMTBcIjpcIiUxMFwiLFwiXFx1MDAxMVwiOlwiJTExXCIsXCJcXHUwMDEyXCI6XCIlMTJcIixcIlxcdTAwMTNcIjpcIiUxM1wiLFwiXFx1MDAxNFwiOlwiJTE0XCIsXCJcXHUwMDE1XCI6XCIlMTVcIixcIlxcdTAwMTZcIjpcIiUxNlwiLFwiXFx1MDAxN1wiOlwiJTE3XCIsXCJcXHUwMDE4XCI6XCIlMThcIixcIlxcdTAwMTlcIjpcIiUxOVwiLFwiXFx1MDAxYVwiOlwiJTFBXCIsXCJcXHUwMDFiXCI6XCIlMUJcIixcIlxcdTAwMWNcIjpcIiUxQ1wiLFwiXFx1MDAxZFwiOlwiJTFEXCIsXCJcXHUwMDFlXCI6XCIlMUVcIixcIlxcdTAwMWZcIjpcIiUxRlwiLFwiIFwiOlwiJTIwXCIsJ1wiJzpcIiUyMlwiLFwiJ1wiOlwiJTI3XCIsXCIoXCI6XCIlMjhcIixcIilcIjpcIiUyOVwiLFxuXCI8XCI6XCIlM0NcIixcIj5cIjpcIiUzRVwiLFwiXFxcXFwiOlwiJTVDXCIsXCJ7XCI6XCIlN0JcIixcIn1cIjpcIiU3RFwiLFwiXFx1MDA3ZlwiOlwiJTdGXCIsXCJcXHUwMDg1XCI6XCIlQzIlODVcIixcIlxcdTAwYTBcIjpcIiVDMiVBMFwiLFwiXFx1MjAyOFwiOlwiJUUyJTgwJUE4XCIsXCJcXHUyMDI5XCI6XCIlRTIlODAlQTlcIixcIlxcdWZmMDFcIjpcIiVFRiVCQyU4MVwiLFwiXFx1ZmYwM1wiOlwiJUVGJUJDJTgzXCIsXCJcXHVmZjA0XCI6XCIlRUYlQkMlODRcIixcIlxcdWZmMDZcIjpcIiVFRiVCQyU4NlwiLFwiXFx1ZmYwN1wiOlwiJUVGJUJDJTg3XCIsXCJcXHVmZjA4XCI6XCIlRUYlQkMlODhcIixcIlxcdWZmMDlcIjpcIiVFRiVCQyU4OVwiLFwiXFx1ZmYwYVwiOlwiJUVGJUJDJThBXCIsXCJcXHVmZjBiXCI6XCIlRUYlQkMlOEJcIixcIlxcdWZmMGNcIjpcIiVFRiVCQyU4Q1wiLFwiXFx1ZmYwZlwiOlwiJUVGJUJDJThGXCIsXCJcXHVmZjFhXCI6XCIlRUYlQkMlOUFcIixcIlxcdWZmMWJcIjpcIiVFRiVCQyU5QlwiLFwiXFx1ZmYxZFwiOlwiJUVGJUJDJTlEXCIsXCJcXHVmZjFmXCI6XCIlRUYlQkMlOUZcIixcIlxcdWZmMjBcIjpcIiVFRiVCQyVBMFwiLFwiXFx1ZmYzYlwiOlwiJUVGJUJDJUJCXCIsXG5cIlxcdWZmM2RcIjpcIiVFRiVCQyVCRFwifTtVT2E9ZnVuY3Rpb24oYSl7cmV0dXJuICRPYVthXX07eE9hPS9bXFx4MDBcXHgyMlxceDI2XFx4MjdcXHgzY1xceDNlXS9nO2FQYT0vW1xceDAwXFx4MjJcXHgyN1xceDNjXFx4M2VdL2c7T09hPS9bXFx4MDBcXHgwOS1cXHgwZCBcXHgyMlxceDI2XFx4MjdcXHgyZFxcL1xceDNjLVxceDNlYFxceDg1XFx4YTBcXHUyMDI4XFx1MjAyOV0vZztOT2E9L1tcXHgwMFxceDA5LVxceDBkIFxceDIyXFx4MjdcXHgyZFxcL1xceDNjLVxceDNlYFxceDg1XFx4YTBcXHUyMDI4XFx1MjAyOV0vZztUT2E9L1tcXHgwMC0gXFx4MjJcXHgyNy1cXHgyOVxceDNjXFx4M2VcXFxcXFx4N2JcXHg3ZFxceDdmXFx4ODVcXHhhMFxcdTIwMjhcXHUyMDI5XFx1ZmYwMVxcdWZmMDNcXHVmZjA0XFx1ZmYwNi1cXHVmZjBjXFx1ZmYwZlxcdWZmMWFcXHVmZjFiXFx1ZmYxZFxcdWZmMWZcXHVmZjIwXFx1ZmYzYlxcdWZmM2RdL2c7V09hPS9eKD8hLSooPzpleHByZXNzaW9ufCg/Om1vei0pP2JpbmRpbmcpKSg/Oig/OlsuI10/LT8oPzpbX2EtejAtOS1dKykoPzotW19hLXowLTktXSspKi0/fCg/OmNhbGN8Y3ViaWMtYmV6aWVyfGRyb3Atc2hhZG93fGhzbHxoc2xhfGh1ZS1yb3RhdGV8aW52ZXJ0fGxpbmVhci1ncmFkaWVudHxtYXh8bWlufHJnYnxyZ2JhfHJvdGF0ZXxyb3RhdGVafHRyYW5zbGF0ZXx0cmFuc2xhdGUzZHx0cmFuc2xhdGVYfHRyYW5zbGF0ZVl8dmFyKVxcKCg/Oig/Oig/Oig/OlxcLyg/IVtcXC9cXCpdKSl8KD86XFwqKD8hXFwvKSkpP1stXFx1MDAyMFxcdCwrLiEjJV8wLTlhLXpBLVpdKykqfCg/OmNhbGN8Y3ViaWMtYmV6aWVyfGRyb3Atc2hhZG93fGhzbHxoc2xhfGh1ZS1yb3RhdGV8aW52ZXJ0fGxpbmVhci1ncmFkaWVudHxtYXh8bWlufHJnYnxyZ2JhfHJvdGF0ZXxyb3RhdGVafHRyYW5zbGF0ZXx0cmFuc2xhdGUzZHx0cmFuc2xhdGVYfHRyYW5zbGF0ZVl8dmFyKVxcKCg/Oig/Oig/OlxcLyg/IVtcXC9cXCpdKSl8KD86XFwqKD8hXFwvKSkpP1stXFx1MDAyMFxcdCwrLiEjJV8wLTlhLXpBLVpdKykqXFwpKStcXCl8Wy0rXT8oPzpbMC05XSsoPzpcXC5bMC05XSopP3xcXC5bMC05XSspKD86ZS0/WzAtOV0rKT8oPzpbYS16XXsxLDR9fCUpP3woPzooPzpcXC8oPyFbXFwvXFwqXSkpfCg/OlxcKig/IVxcLykpKXwhaW1wb3J0YW50KSg/OlxccypbLFxcdTAwMjBdXFxzKnwkKSkqJC9pO1xuU09hPS9eKD8hamF2YXNjcmlwdDopKD86W2EtejAtOSsuLV0rOnxbXiY6XFwvPyNdKig/OltcXC8/I118JCkpL2k7Vk9hPS9eW14mOlxcLz8jXSooPzpbXFwvPyNdfCQpfF5odHRwcz86fF5mdHA6fF5kYXRhOmltYWdlXFwvW2EtejAtOSstXSs7YmFzZTY0LFthLXowLTkrXFwvXSs9KiR8XmJsb2I6L2k7UE9hPS9eKD8hb258c3JjfCg/OmFjdGlvbnxhcmNoaXZlfGJhY2tncm91bmR8Y2l0ZXxjbGFzc2lkfGNvZGViYXNlfGNvbnRlbnR8ZGF0YXxkc3luY3xocmVmfGh0dHAtZXF1aXZ8bG9uZ2Rlc2N8c3R5bGV8dXNlbWFwKVxccyokKSg/OlthLXowLTlfJDotXSopJC9pO2JQYT0vXig/IWJhc2V8aWZyYW1lfGxpbmt8bm9mcmFtZXN8bm9zY3JpcHR8b2JqZWN0fHNjcmlwdHxzdHlsZXx0ZXh0YXJlYXx0aXRsZXx4bXApW2EtejAtOV8kOi1dKiQvaTtjUGE9L15bYS16QS1aMC05K1xcL18tXSs9ezAsMn0kLztfLndwPWZ1bmN0aW9uKGEpe3JldHVybiBTdHJpbmcoYSkucmVwbGFjZShhUGEseU9hKX07XG5fLkJwPWZ1bmN0aW9uKGEpe3JldHVybiBTdHJpbmcoYSkucmVwbGFjZShUT2EsVU9hKX07Xy5OcD1mdW5jdGlvbihhKXthPVN0cmluZyhhKTtyZXR1cm4gYlBhLnRlc3QoYSk/YTpcInpTb3l6XCJ9O18uT3A9ZnVuY3Rpb24oYSl7YT1TdHJpbmcoYSk7cmV0dXJuIGNQYS50ZXN0KGEpP2E6XCJ6U295elwifTtKT2E9LzwvZztIT2E9LyhbYS16QS1aXVthLXpBLVowLTk6XFwtXSopW1xcdFxcblxcclxcdTAwMjBdKj1bXFx0XFxuXFxyXFx1MDAyMF0qKFwiW15cIl0qXCJ8J1teJ10qJykvZzt2YXIgZFBhPWZ1bmN0aW9uKCl7fTtfLm09ZFBhLnByb3RvdHlwZTtfLm0uZW50ZXI9ZnVuY3Rpb24oKXt9O18ubS5leGl0PWZ1bmN0aW9uKCl7fTtfLm0uVUQ9ZnVuY3Rpb24oKXtyZXR1cm5cIlwifTtfLm0ub0ZiPWZ1bmN0aW9uKCl7fTtfLm0uUWtiPWZ1bmN0aW9uKGEpe2EoKX07dmFyIEJxYT1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD9uZXcgZFBhOmI7Xy5lcC5jYWxsKHRoaXMsYSk7dGhpcy5PZz1ifHxuZXcgZFBhO3RoaXMuQ2E9dGhpcy5vYS5jcmVhdGVFbGVtZW50KFwiZmFrZS1lbGVtZW50XCIpfTtfLkQoQnFhLF8uZXApO18ubT1CcWEucHJvdG90eXBlO18ubS5ybmE9ZnVuY3Rpb24oYSxiKXtKcGEoKTt0cnl7cmV0dXJuIGVQYSh0aGlzLF8uZXAucHJvdG90eXBlLnJuYS5jYWxsKHRoaXMsYSxiKSl9ZmluYWxseXtEZj1udWxsfX07XG5fLm0ua2Q9ZnVuY3Rpb24oYSxiKXtKcGEoKTt0cnl7cmV0dXJuIGVQYSh0aGlzLF8uZXAucHJvdG90eXBlLmtkLmNhbGwodGhpcyxhLGIpKX1maW5hbGx5e0RmPW51bGx9fTtfLm0uQXU9ZnVuY3Rpb24oYSxiLGMpe0pwYSgpO3RyeXtfLmVwLnByb3RvdHlwZS5BdS5jYWxsKHRoaXMsYSxiLGMpLGVQYSh0aGlzLGEpfWZpbmFsbHl7RGY9bnVsbH19O18ubS5yZW5kZXI9ZnVuY3Rpb24oYSxiKXtKcGEoKTt0cnl7dmFyIGM9YShifHx7fSx0aGlzLmdldERhdGEoKSk7aWYoYyBpbnN0YW5jZW9mIF8uYXApcmV0dXJuIFN0cmluZyhmUGEodGhpcyxjKSk7dGhpcy56MyhudWxsLG51bGwpO3JldHVybiBTdHJpbmcoYyl9ZmluYWxseXtEZj1udWxsfX07XG5fLm0uRkhhPWZ1bmN0aW9uKGEsYil7SnBhKCk7dHJ5e3ZhciBjPWEoYnx8e30sdGhpcy5nZXREYXRhKCkpO2lmKGMueWI9PT1fLlpvKXJldHVybiBfLmVwLnByb3RvdHlwZS56My5jYWxsKHRoaXMsbnVsbCxjLnliKSxmUGEodGhpcyxjKTt0aGlzLnozKG51bGwsYy55Yik7cmV0dXJuIGVQYSh0aGlzLGMpfWZpbmFsbHl7RGY9bnVsbH19O1xudmFyIGVQYT1mdW5jdGlvbihhLGIpe2lmKGIgaW5zdGFuY2VvZiBFbGVtZW50fHxiIGluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudCl7dmFyIGM9YS5PZztpZihiIGluc3RhbmNlb2YgRWxlbWVudClpZihjPU5wYShiLGMpLGIucGFyZW50Tm9kZSE9PW51bGwmJk9wYShiLnBhcmVudE5vZGUsYixjKSxjLmxlbmd0aD09PTEpYj1jWzBdO2Vsc2V7Yj1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Yz1fLlBhKGMpO2Zvcih2YXIgZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpYi5hcHBlbmRDaGlsZChkLnZhbHVlKX1lbHNle2Q9QXJyYXkuZnJvbShiLmNoaWxkTm9kZXMpO2Zvcih2YXIgZT0wO2U8ZC5sZW5ndGg7ZSsrKXt2YXIgZj1kW2VdO2lmKGYgaW5zdGFuY2VvZiBFbGVtZW50KXt2YXIgZz1OcGEoZixjKTtPcGEoYixmLGcpfX19YS5PZyBpbnN0YW5jZW9mIGRQYXx8YS5FcigpLmRpc3BhdGNoRXZlbnQobmV3IF8uRmsoXy52TGEsYikpfXJldHVybiBifSxmUGE9XG5mdW5jdGlvbihhLGIpe2lmKGEuT2cgaW5zdGFuY2VvZiBkUGEpcmV0dXJuIGI7dmFyIGM9YS5DYTtfLkJjKGMsYi5BXygpKTtlUGEoYSxjKTthLnozKG51bGwsXy5abyk7Yj0oMCxfLk4pKGMuaW5uZXJIVE1MKTtjLnRleHRDb250ZW50PVwiXCI7cmV0dXJuIGJ9O18uYWc9ZnVuY3Rpb24oYSl7dGhpcy5vYT1hfHxudWxsO3RoaXMuQmE9ITE7dGhpcy5BYT17fX07Xy5kcD1mdW5jdGlvbihhKXtpZighYS5vYSlyZXR1cm4gbnVsbDtpZighYS5CYSl7Zm9yKHZhciBiIGluIGEub2EpdHlwZW9mIGEub2FbYl09PT1cImZ1bmN0aW9uXCImJihhLkFhW2JdPWEub2FbYl0sYS5vYVtiXT12b2lkIDApO2EuQmE9ITB9Zm9yKHZhciBjIGluIGEuQWEpdHJ5e3ZhciBkPWEuQWFbY10oKTthLm9hW2NdPWQ7ZGVsZXRlIGEuQWFbY119Y2F0Y2goZSl7fXJldHVybiBhLm9hfTtfLkFkKF8uWmYsXy5hZyk7emQoXCJ2ZnVOSmZcIixcIlNGM2dzZFwiKTtfLmdQYT1fLkdkKFwidmZ1TkpmXCIpO18uaFBhPV8uRmQoXCJTRjNnc2RcIixcImlGUXlLZlwiLFwiRUw5ZzlcIixfLmdQYSk7Xy5vcWE9Xy5HZChcIklaVDYzXCIpO18uUHA9Xy5HZChcIlByUFlSZFwiLFtfLm9xYV0pO3pkKFwiUUloRnJcIixcIlNGM2dzZFwiKTt6ZChcInB3NzBHY1wiLFwiSVpuNHhjXCIpO18uaVBhPV8uR2QoXCJwdzcwR2NcIixbXy56Zl0pO18ualBhPV8uRmQoXCJJWm40eGNcIixcIkVWTmhqZlwiLHZvaWQgMCxfLmlQYSxcIkdtRXlDYlwiKTtfLmtQYT1fLkdkKFwiUUloRnJcIixbXy5QcCxfLmpQYV0pO3pkKFwiTlRNWmFjXCIsXCJZOWF0S2ZcIik7Xy5sUGE9Xy5HZChcIk5UTVphY1wiKTtfLlFwPV8uRmQoXCJZOWF0S2ZcIixcIm5BRkwzXCIsXCJHbUV5Q2JcIixfLmxQYSk7dmFyIHlxYT1mdW5jdGlvbigpe3ZhciBhPV8uZmYoXy5RcCk7YS5vYXx8KF8uem4oYSxfLnpmKSxfLnpuKF8uZmYoXy5oUGEpLF8ua1BhKSl9O18ubVBhPV8uRmQoXCJVZ0F0WGVcIixcInJMcGRJZlwiLFwiTDNMcnNkXCIpO3ZhciB0cWE9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRCh0cWEsXy5xKTtfLlJwPWZ1bmN0aW9uKGEsYil7dGhpcy5BYT1hO3RoaXMub2E9Yn07Xy5ScC5wcm90b3R5cGUuWGphPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub2F9O18uUnAucHJvdG90eXBlLmdldElkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQWF9O18uUnAucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQWF9O3ZhciBzUGE7Xy5TcD1uZXcgXy5ScChcInNraXBDYWNoZVwiLCEwKTtfLm5QYT1uZXcgXy5ScChcIm1heFJldHJpZXNcIiwzKTtfLm9QYT1uZXcgXy5ScChcImlzSW5pdGlhbERhdGFcIiwhMCk7Xy5wUGE9bmV3IF8uUnAoXCJiYXRjaElkXCIpO18ucVBhPW5ldyBfLlJwKFwiYmF0Y2hSZXF1ZXN0SWRcIik7Xy5yUGE9bmV3IF8uUnAoXCJleHRlbnNpb25JZFwiKTtzUGE9bmV3IF8uUnAoXCJlZXNUb2tlbnNcIik7Xy5UcD1uZXcgXy5ScChcImZyb250ZW5kTWV0aG9kVHlwZVwiKTtfLnRQYT1uZXcgXy5ScChcInNlcXVlbmNlR3JvdXBcIik7Xy5VcD1uZXcgXy5ScChcInVub2JmdXNjYXRlZFJwY0lkXCIpO18udVBhPW5ldyBfLlJwKFwiZ2VuZXJpY0h0dHBIZWFkZXJcIik7Xy52UGE9bmV3IF8uUnAoXCJyZXRyeUNvdW50XCIsMCk7Xy53UGE9bmV3IF8uUnAoXCJ1cmxQYXJhbXNcIik7Xy54UGE9bmV3IF8uUnAoXCJza2lwTm90aWZ5XCIsITApO3ZhciB5UGE9ZnVuY3Rpb24oYSl7dGhpcy5vYT1hfHx7fX07eVBhLnByb3RvdHlwZS5zZXRPcHRpb249ZnVuY3Rpb24oYSxiKXt0aGlzLm9hW2FdPWJ9O3lQYS5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm9hW2FdfTt5UGEucHJvdG90eXBlLm9BPWZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5rZXlzKHRoaXMub2EpfTtfLnpQYT1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPXRoaXM7Yz1jPT09dm9pZCAwP3t9OmM7ZD1kPT09dm9pZCAwP25ldyB5UGE6ZDt0aGlzLmZfPWE7dGhpcy5BYT1ifHx2b2lkIDA7dGhpcy5zaWRlQ2hhbm5lbD1jO3RoaXMuQW89ZDtlJiZfLkhhKGUsZnVuY3Rpb24oZyl7dmFyIGg9Zy52YWx1ZSE9dm9pZCAwP2cudmFsdWU6Zy5rZXkuWGphKCk7Zi5Bby5zZXRPcHRpb24oZy5rZXkuZ2V0SWQoKSxoKX0sdGhpcyl9O18uelBhLnByb3RvdHlwZS51bT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmZffTtfLnpQYS5wcm90b3R5cGUub2E9ZnVuY3Rpb24oKXtpZih0aGlzLkFhKXt2YXIgYT10aGlzLkFhO2EuejEoKSYmKGE9dGhpcy5BYT1hLmViYSgpKTtyZXR1cm4gYX19O1xuXy5WcD1mdW5jdGlvbihhLGIsYyl7aWYoYi5vYT09PXZvaWQgMCYmYz09PXZvaWQgMCl0aHJvdyBFcnJvcihcIlFjYFwiK2IpO2E9Xy5BUGEoYSk7YS5Bby5zZXRPcHRpb24oYi5nZXRJZCgpLGMhPXZvaWQgMD9jOmIuWGphKCkpO3JldHVybiBhfTtfLldwPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuQW8uZ2V0KGIuZ2V0SWQoKSl9O18uQVBhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uWmIoYS5zaWRlQ2hhbm5lbCxmdW5jdGlvbihnKXtyZXR1cm4gZy5jbG9uZSgpfSksYz1hLkFhO2M9Yz9jLnoxKCk/YzpjLmNsb25lKCk6bnVsbDtmb3IodmFyIGQ9e30sZT1fLlBhKGEuQW8ub0EoKSksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpZj1mLnZhbHVlLGRbZl09YS5Bby5nZXQoZik7cmV0dXJuIG5ldyBfLnpQYShhLmZfLGMsYixuZXcgeVBhKGQpKX07Xy5YcD1bLTEsXy5DbSxmdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPWMuZXh0ZW5zaW9ucyxlPXt9O1FlYShiKSYmYi5vYSE9NDtlPXtuS2I6dm9pZCAwfSlpZihiLkdhPT09MTEpe3ZhciBmPWIuQmE7ZS5uS2I9ITE7JHVhKGIsZnVuY3Rpb24oZyl7cmV0dXJuIGZ1bmN0aW9uKGgsayl7dmFyIGw9Y1toXTtpZighbCl7dmFyIG49ZFtoXTtpZihuKXt2YXIgcj1nZmEobiksdD1PZWEobikuUXZhO2w9Y1toXT1mdW5jdGlvbih1LHosQil7cmV0dXJuIHIobHZhKHosdCxCLCEwKSx1KX19fWw/bChrLGEsaCk6KGcubktiPSEwLGsuQWEub2E9ay5BYS5BYSl9fShlKSk7ZS5uS2ImJldiYShhLFh1YShiLGYpKX1lbHNlIFdiYShhLGRmYShiKSl9LGZ1bmN0aW9uKGEsYil7cmV0dXJuIGZ1bmN0aW9uKGMsZCxlKXtkPUxlYShkLGEpO2QhPW51bGwmJihfLkNiKGMsMSwzKSxfLkNiKGMsMiwwKSxLdmEoYy5vYSxlKSxlPV8uT2ZhKGMsMyksYihkLGMpLF8uUGZhKGMsZSksXy5DYihjLDEsNCkpfX1dO18uQlBhPWZ1bmN0aW9uKGEsYixjKXt0aGlzLmZfPWE7dGhpcy5vYT1iO3RoaXMuQWE9Yz09PXZvaWQgMD9udWxsOmN9O18uQlBhLnByb3RvdHlwZS51bT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmZffTtfLkJQYS5wcm90b3R5cGUuYjE9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9hO3JldHVybiBhJiZhIGluc3RhbmNlb2YgXy5xP2EuZWJhKCk6YX07Xy5RZj1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT10aGlzO3RoaXMuZl89YTt0aGlzLm9JZD1jO3RoaXMuQklkPWI7dGhpcy5BamE9cGFyc2VJbnQoYSwxMCl8fG51bGw7dGhpcy5OcmE9bnVsbDsodGhpcy5QT2E9ZCkmJl8uSGEoZCxmdW5jdGlvbihmKXtfLnJQYT09PWYua2V5P2UuQWphPWYudmFsdWU6c1BhPT09Zi5rZXk/ZS5OcmE9Zi52YWx1ZTpfLlVwPT09Zi5rZXkmJihlLlJEZT1mLnZhbHVlKX0sdGhpcyl9O18ubT1fLlFmLnByb3RvdHlwZTtfLm0uZ2V0TmFtZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmZffTtfLm0ucWthPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQklkfTtfLm0udzViPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub0lkfTtfLm0uZ2V0RGVmYXVsdE9wdGlvbnM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5QT2E/dGhpcy5QT2Euc2xpY2UoKTpbXX07Xy5tLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZl99O1xuXy5tLmdldEluc3RhbmNlPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy56UGEodGhpcyxhLHZvaWQgMCx2b2lkIDAsdGhpcy5QT2EpfTtfLm0uV2k9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IF8uQlBhKHRoaXMsYSxiPT09dm9pZCAwP251bGw6Yil9O18ubS5FUWE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5BamF9O18ubS5tYXRjaGVzPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmZfPT1hLmZffHx0aGlzLkFqYSYmdGhpcy5BamEudG9TdHJpbmcoKT09YS5mX3x8YS5BamEmJmEuQWphLnRvU3RyaW5nKCk9PXRoaXMuZl8/ITA6ITF9O18uQ1BhPXt9O18uWGY9ZnVuY3Rpb24oYSl7Xy5hYS5jYWxsKHRoaXMsYS5nZXRNZXNzYWdlKCkpO3RoaXMuc3RhdHVzPWF9O18uRChfLlhmLF8uYWEpO18uWGYucHJvdG90eXBlLm5hbWU9XCJScGNFcnJvclwiO3ZhciBEUGE9W10uY29uY2F0KF8ubWQoW3JxYSx3cWEsc3FhXSkpLEVQYT1mdW5jdGlvbihhLGIsYyl7Xy5IYShEUGEsZnVuY3Rpb24oZCl7YT1kKGIsYSxjKX0pO3JldHVybiBhfTt2YXIgR1BhPWZ1bmN0aW9uKGEsYil7aWYoXy5hYyhiKS5sZW5ndGg9PT0wKXJldHVybiBudWxsO3ZhciBjPSExO18uWWIoYixmdW5jdGlvbihkKXtGUGEoZCkmJihjPSEwKX0pO3JldHVybiBjP18ueWYoYSx7c2VydmljZTp7dTZhOl8ub3FhfX0pLnRoZW4oZnVuY3Rpb24oZCl7dmFyIGU9ZC5zZXJ2aWNlLnU2YTtyZXR1cm4gXy5YZ2EoYixmdW5jdGlvbihmKXtmPUZQYShmKTtyZXR1cm4hZnx8Zi5sZW5ndGg9PT0wfHxfLnJoKGYsZnVuY3Rpb24oZyl7cmV0dXJuIF8uU2YoZS5nZXQoZyksITEpfSl9KX0pOmJ9LEZQYT1mdW5jdGlvbihhKXt2YXIgYj1hLmtEYTtfLm1xYShhKSYmKGI9YS5tZXRhZGF0YT9hLm1ldGFkYXRhLmtEYTp2b2lkIDApO3JldHVybiBifTtfLkdxYT1mdW5jdGlvbihhLGIpe18uZmYoXy5tUGEpO18ubVBhLkFhLnB1c2goYSk7cmV0dXJuIGZ1bmN0aW9uKGMsZCl7Xy5ZYihkLGZ1bmN0aW9uKGcsaCl7dHlwZW9mIGcubWFrZVJlcXVlc3Q9PT1cImZ1bmN0aW9uXCImJihnPV8uZWMoZyksZFtoXT1nLGcucmVxdWVzdD1nLm1ha2VSZXF1ZXN0LmNhbGwoYykpO2ImJiFnLk9pJiYoZy5PaT1iKX0pO3ZhciBlLGY9Xy55ZihjLHtzZXJ2aWNlOnttNWM6YX19KS5hZGRDYWxsYmFjayhmdW5jdGlvbihnKXtlPWcuc2VydmljZS5tNWM7cmV0dXJuIEdQYShjLGQpfSkudGhlbihmdW5jdGlvbihnKXtyZXR1cm4gZz9lLmV4ZWN1dGUoZyk6Xy5nZSh7fSl9KTtyZXR1cm4gXy5aYihkLGZ1bmN0aW9uKGcsaCl7dmFyIGs9Zi50aGVuKGZ1bmN0aW9uKGwpe3JldHVybiBsW2hdP2xbaF06bnVsbH0pO3JldHVybiBFUGEoayxnLGMpfSl9fTtfLllmPVpvYSgpO3ZhciBIUGE7SFBhPXttYXRjaGVzOmZ1bmN0aW9uKGEsYixjLGQsZSl7cmV0dXJuIGI9PT1jJiYoZD09ZT8hMDp0eXBlb2YgZD09PVwic3RyaW5nXCImJnR5cGVvZiBlPT09XCJzdHJpbmdcIj9kLnN0YXJ0c1dpdGgoZSl8fGUuc3RhcnRzV2l0aChkKTohMSl9fTtfLklQYT11cGEoSFBhKTtfLkpQYT1mdW5jdGlvbihhKXtyZXR1cm4gdHBhKGZ1bmN0aW9uKGIsYyxkKXt2YXIgZT17bmV4dFNpYmxpbmc6Yn07dWY9ZTtjKGQpO18ucWYmJmhwYShiLm5leHRTaWJsaW5nKTtyZXR1cm4gZT09PXVmP251bGw6dWZ9LGEpfShIUGEpO18uWXA9ZnVuY3Rpb24oKXt0aGlzLm9hPVtdO3RoaXMubG9nZ2VyPW51bGx9O18ubT1fLllwLnByb3RvdHlwZTtfLm0ub3Blbj1mdW5jdGlvbihhLGIpe3RoaXMuRkFhKGEsYil9O18ubS5GQWE9ZnVuY3Rpb24oYSxiKXthPV8ubXBhKGEsS1BhKHRoaXMsYikpO3RoaXMubkthKGEpO3JldHVybiBhfTtfLm0uVmE9ZnVuY3Rpb24oYSxiKXthPV8ubXBhKGEsYik7dGhpcy5uS2EoYSl9O1xuXy5tLkFpPWZ1bmN0aW9uKGEsYil7YT10aGlzLlpvKCk7IWF8fGEuX19oYXNCZWVuUmVuZGVyZWR8fGEuaGFzQ2hpbGROb2RlcygpPyh0aGlzLnNraXAoKSx0aGlzLmNsb3NlKCkpOihhLl9faGFzQmVlblJlbmRlcmVkPSEwLGIodGhpcykpfTtfLm0ubkthPWZ1bmN0aW9uKCl7fTtfLm0uU2c9ZnVuY3Rpb24oYSl7dGhpcy5vYS5wdXNoKF8ubXAoYSkpfTtfLm0uYWg9ZnVuY3Rpb24oKXt0aGlzLm9hLnBvcCgpfTtfLm0uRGE9ZnVuY3Rpb24oYSl7dGhpcy5vYVt0aGlzLm9hLmxlbmd0aC0xXT1LUGEodGhpcyxhKX07dmFyIEtQYT1mdW5jdGlvbihhLGIpe2E9YS5vYVthLm9hLmxlbmd0aC0xXXx8XCJcIjtyZXR1cm4gYj09PXZvaWQgMD9hOl8ubXAoYikrYX07Xy5tPV8uWXAucHJvdG90eXBlO1xuXy5tLkZhPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vYVt0aGlzLm9hLmxlbmd0aC0xXXx8XCJcIjtpZihhKXt2YXIgYj1hLm1hdGNoKC9bMC05XSsvKVswXTt0aGlzLm9hW3RoaXMub2EubGVuZ3RoLTFdPWEuc3Vic3RyaW5nKGIubGVuZ3RoKzErTnVtYmVyKGIpKX19O18ubS5jbG9zZT1mdW5jdGlvbigpe18ubnBhKCl9O18ubS5aYT1mdW5jdGlvbigpe3ZhciBhPV8ubnBhKCk7YSYmYS5fX3NveV9wYXRjaF9oYW5kbGVyJiZhLl9fc295X3BhdGNoX2hhbmRsZXIoKX07Xy5tLnRleHQ9ZnVuY3Rpb24oYSl7YSYmQXBhKGEpfTtcbl8ubS5wcmludD1mdW5jdGlvbihhLGIpe2lmKGEgaW5zdGFuY2VvZiBfLkZOYXx8Ynx8YSBpbnN0YW5jZW9mIF8ucmMpe3ZhciBjPWEgaW5zdGFuY2VvZiBfLnJjP18udGMoYSkudG9TdHJpbmcoKTpTdHJpbmcoYSk7aWYoLyZ8PC8udGVzdChjKSlmb3IoYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiaHRtbC1ibG9iXCIpLChjPSgwLF8uTikoYykpJiZjLkF1P2MuQXUoYik6Xy5PZihiLF8uZ3FhKGMpKSxiPUFycmF5LmZyb20oYi5jaGlsZE5vZGVzKSxiPV8uUGEoYiksYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpe2M9Yy52YWx1ZTt2YXIgZD10aGlzLlk0YSgpLGU9dGhpcy5abygpO2MuX19vcmlnaW5hbENvbnRlbnQ9YTtlJiYoZD9kLl9fb3JpZ2luYWxDb250ZW50IT09YSYmZS5pbnNlcnRCZWZvcmUoYyxkKTplLmFwcGVuZENoaWxkKGMpKTt0aGlzLkRDKCl9ZWxzZSB0aGlzLnRleHQoYyl9ZWxzZSBhIT09dm9pZCAwJiYoYSYmYS53JD9hLmludm9rZSh0aGlzKTp0aGlzLnRleHQoU3RyaW5nKGEpKSl9O1xuXy5tLmF0dHI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1vcGE7Yy5wdXNoKGEpO2MucHVzaChiKX07Xy5tLlk0YT1mdW5jdGlvbigpe3JldHVybiBmcGEoKX07Xy5tLnNraXA9ZnVuY3Rpb24oKXt1Zj1fLnFmLmxhc3RDaGlsZH07Xy5tLlpvPWZ1bmN0aW9uKCl7cmV0dXJuIF8ucWZ9O18ubS5EQz1mdW5jdGlvbigpe3VmPWZwYSgpfTtfLm0uRWE9ZnVuY3Rpb24oKXtfLnpwYShfLllmKX07XG5fLm0uS2E9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5ZZjtiPWI9PT12b2lkIDA/d3BhOmI7dmFyIGM9Xy5xZjt2YXIgZD1kcGEoYyk7aWYoIWQuQmEmJihkLkJhPSEwLGEmJmEubGVuZ3RoKSl7dmFyIGU9ZC5vYTtpZihlJiZlLmxlbmd0aCl7Zm9yKGU9MDtlPGEubGVuZ3RoO2UrPTIpSkxhW2FbZV1dPWUrMTtkPWQub2F8fChkLm9hPVVvYSgwKSk7Zm9yKHZhciBmPWU9MDtmPGQubGVuZ3RoO2YrPTIpe3ZhciBnPWRbZl0saD1kW2YrMV0saz1KTGFbZ107az9hW2tdPT09aCYmZGVsZXRlIEpMYVtnXTooZFtlXT1nLGRbZSsxXT1oLGUrPTIpfVRvYShkLGUpO2Zvcih2YXIgbCBpbiBKTGEpJG9hKGMsbCxhW0pMYVtsXV0sYiksZGVsZXRlIEpMYVtsXX1lbHNlIGZvcihsPTA7bDxhLmxlbmd0aDtsKz0yKSRvYShjLGFbbF0sYVtsKzFdLGIpfX07XG5fLm0uZW50ZXI9ZnVuY3Rpb24oYSxiKXt0aGlzLmxvZ2dlciYmdGhpcy5sb2dnZXIuZW50ZXIobmV3IEtwYShhLkdtKCkuZ2V0SWQoKSxhLmdldERhdGEoKSxiKSl9O18ubS5leGl0PWZ1bmN0aW9uKCl7dGhpcy5sb2dnZXImJnRoaXMubG9nZ2VyLmV4aXQoKX07Xy5tLlZjPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBfLkxQYSh0aGlzKX07Xy5tLk5mPWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoXCJSY1wiKTt9O18ubS5NMj1mdW5jdGlvbihhKXt0aGlzLmxvZ2dlcj1hfTtfLm0uUDQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sb2dnZXJ9O18ubS5VYz1mdW5jdGlvbihhKXtpZighdGhpcy5sb2dnZXImJmEpdGhyb3cgRXJyb3IoXCJ6Y1wiKTtyZXR1cm4gYX07Xy5tLlVEPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdGhpcy5sb2dnZXI/dGhpcy5sb2dnZXIuVUQoYSxiKTpjfTtcbl8ubS5EYj1mdW5jdGlvbihhLGIsYyxkKXtiPXRoaXMubG9nZ2VyP3RoaXMubG9nZ2VyLlVEKGIsYyk6ZDt0aGlzLmF0dHIoYSxiKX07XG5fLm0udWY9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3ZhciBnPXRoaXMsaD1iKyh0aGlzLm9hW3RoaXMub2EubGVuZ3RoLTFdfHxcIlwiKSxrPW5ldyBhO2suZGF0YT1kO2sub2E9ZTtrLmtleT1oO2sudGVtcGxhdGU9Zi5iaW5kKGspO2suTTIodGhpcy5QNCgpKTt2YXIgbD0oaD1lJiZlLmluVGVtcGxhdGVDbG9uaW5nKT9udWxsOnRoaXMuRkFhKGMsYiksbj10aGlzLkZBYTt0aGlzLkZBYT1mdW5jdGlvbihyLHQpe2lmKGwpe2lmKHQhPT1iKXRocm93IEVycm9yKFwiU2NcIik7fWVsc2UgbD1uLmNhbGwoZyxyLHQpLGsubm9kZT1sLGwuX19zb3k9aztnLkZBYT1uO3JldHVybiBsfTtoPyhrLnpxKGQpLGsuUWEodGhpcyxkKSk6bD8oYz1sLl9fc295LGMgaW5zdGFuY2VvZiBhJiYoaz1jKSxhPWsuQWxkKGwsZCksay50ZW1wbGF0ZT1mLmJpbmQoayksYT8odGhpcy5za2lwKCksdGhpcy5jbG9zZSgpLHRoaXMuRkFhPW4pOmsuUWEodGhpcyxkKSk6Zi5jYWxsKGssdGhpcyxkLGUpfTtcbl8uTFBhPWZ1bmN0aW9uKGEpe18uWXAuY2FsbCh0aGlzKTt0aGlzLnJlbmRlcmVyPWE7dGhpcy5NMihhLlA0KCkpfTtfLkQoXy5MUGEsXy5ZcCk7Xy5tPV8uTFBhLnByb3RvdHlwZTtfLm0ub3Blbj1mdW5jdGlvbigpe307Xy5tLlZhPWZ1bmN0aW9uKCl7fTtfLm0uQWk9ZnVuY3Rpb24oKXt9O18ubS5jbG9zZT1mdW5jdGlvbigpe307Xy5tLlphPWZ1bmN0aW9uKCl7fTtfLm0udGV4dD1mdW5jdGlvbigpe307Xy5tLmF0dHI9ZnVuY3Rpb24oKXt9O18ubS5ZNGE9ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH07Xy5tLkVhPWZ1bmN0aW9uKCl7fTtfLm0uS2E9ZnVuY3Rpb24oKXt9O18ubS5za2lwPWZ1bmN0aW9uKCl7fTtfLm0ua2V5PWZ1bmN0aW9uKCl7fTtfLm0uWm89ZnVuY3Rpb24oKXt9O18ubS5EQz1mdW5jdGlvbigpe307Xy5tLk5mPWZ1bmN0aW9uKCl7dGhpcy5yZW5kZXJlci5NMih0aGlzLlA0KCkpO3JldHVybiB0aGlzLnJlbmRlcmVyfTt2YXIgSnFhPVtcImpzYWN0aW9uXCIsXCJqc2NvbnRyb2xsZXJcIixcImpzbW9kZWxcIl07dmFyIE1QYT1mdW5jdGlvbihhKXt0aGlzLm9hPWF9O01QYS5wcm90b3R5cGUuSUc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vYS5ldmVudH07TVBhLnByb3RvdHlwZS5nZXRDb250YWluZXI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vYS5laWN9O01QYS5wcm90b3R5cGUuSXE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vYS50aW1lU3RhbXB9O3ZhciBqZT1mdW5jdGlvbihhKXtpZihhPWEub2EuZWlhKXJldHVybntuYW1lOmFbMF0sZWxlbWVudDphWzFdfX07TVBhLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgTVBhKExxYSh0aGlzLm9hKSl9O3ZhciBRcWE9ZnVuY3Rpb24oKXt0aGlzLm9hPVtdfTtRcWEucHJvdG90eXBlLmRpc3BhdGNoPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcpe3ZhciBoPXZvaWQgMDtlJiYoaD17bmFtZTpkLGVsZW1lbnQ6ZX0pO2E9e2V2ZW50VHlwZTphLGV2ZW50OmIsdGFyZ2V0RWxlbWVudDpjLGNvbnRhaW5lcjpnLGFjdGlvbjpoLHRpbWVzdGFtcDpmfTtiPWEuZXZlbnRUeXBlO2M9YS5ldmVudDtkPWEudGFyZ2V0RWxlbWVudDtlPWEuY29udGFpbmVyO2Y9YS50aW1lc3RhbXA7Zz1hLmFjdGlvbjt0aGlzLm9hLnB1c2gobmV3IE1QYSh7ZXZlbnRUeXBlOmIsZXZlbnQ6Yyx0YXJnZXRFbGVtZW50OmQsZWljOmUsdGltZVN0YW1wOmYsZWlhOmc/W2cubmFtZSxnLmVsZW1lbnRdOnZvaWQgMCxlaXJwOmEuR3plLGVpYWNrOmEuRXVlfSkpfTtcbnZhciBTcWE9ZnVuY3Rpb24oYSxiKXthPV8uUGEoYS5vYSk7Zm9yKHZhciBjPWEubmV4dCgpOyFjLmRvbmU7Yz1hLm5leHQoKSl7Yz1jLnZhbHVlO3ZhciBkPXZvaWQgMCxlPXZvaWQgMCxmPXZvaWQgMCxnPXZvaWQgMDtiLmRpc3BhdGNoKGMub2EuZXZlbnRUeXBlLGMuSUcoKSxjLm9hLnRhcmdldEVsZW1lbnQsKGY9KGQ9amUoYykpPT1udWxsP3ZvaWQgMDpkLm5hbWUpIT1udWxsP2Y6XCJcIiwoZz0oZT1qZShjKSk9PW51bGw/dm9pZCAwOmUuZWxlbWVudCkhPW51bGw/ZzpudWxsLGMuSXEoKSxjLmdldENvbnRhaW5lcigpKX19O3ZhciBPcWE9bmV3IE1hcCxScWE9bnVsbDtfLmxnPWZ1bmN0aW9uKCl7Xy5Nayh3aW5kb3csXCJhdHRuX2RvbV91cGRhdGVcIixudWxsKX07dmFyIFdxYSxZcWE7Xy5YcWE9ITE7Xy5WcWE9ITE7V3FhPSExO1lxYT1fLnZkKCk7Xy51ZChcImdvb2dsZS5kcnR5XCIsXy5vZyk7Xy5OUGE9Xy5HZChcIm05b1ZcIixbXSk7Xy5ya2EoXy5OUGEsZnVuY3Rpb24oYSl7YS5zZXRFbmFibGVkKCEwKX0pO18uc2c9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMucHJvbWlzZT1uZXcgUHJvbWlzZShmdW5jdGlvbihiLGMpe2EucmVzb2x2ZT1iO2EucmVqZWN0PWN9KX07dmFyICRxYT1uZXcgTWFwLGFyYT1uZXcgXy5zZztnb29nbGUubXVtPWZ1bmN0aW9uKGEpe2lmKFdFYSYmY2phKGEpKXt2YXIgYj1EZC5nZXRJbnN0YW5jZSgpLGM9Xy5yRGEoXy5lZChhKSkuZmlsdGVyKGZ1bmN0aW9uKGYpe3JldHVybiAkcWEuaGFzKGYpfSk7aWYoYyl7YT1bXTtjPV8uUGEoYyk7Zm9yKHZhciBkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7ZD1kLnZhbHVlO3ZhciBlPU9QYS5pd2QoZCl8fGQ7ZSBpbnN0YW5jZW9mIF8uQ2Q/YS5wdXNoKHVrYShiLGUpKTooZT0kcWEuZ2V0KGQpKSYmXy5xb2EoZCkmJmUucmVzb2x2ZSgpfWI9cEdhKGEpLnNlcnZpY2VzO2I9Xy5QYShiKTtmb3IoYT1iLm5leHQoKTshYS5kb25lO2E9Yi5uZXh0KCkpYT1hLnZhbHVlLChjPWEub2EpJiYoYz0kcWEuZ2V0KGMpKSYmZHJhKGEpJiZjLnJlc29sdmUoKX19fTt2YXIgT1BhPXtpd2Q6ZnVuY3Rpb24oYSl7cmV0dXJuIGRrYS5nZXQoYSl9fTt6ZChcIk9tZ2FJXCIsXCJUVXpvY2ZcIik7Xy5QUGE9Xy5HZChcIk9tZ2FJXCIsW18uZm9dKTt6ZChcImZLVVYzZVwiLFwiVFV6b2NmXCIpO18uUVBhPV8uR2QoXCJmS1VWM2VcIik7emQoXCJhdXJGaWNcIixcIlRVem9jZlwiKTtfLlJQYT1fLkdkKFwiYXVyRmljXCIpO3pkKFwiRUVET1JiXCIsXCJKYmpNa2ZcIik7Xy5TUGE9Xy5HZChcIkVFRE9SYlwiLFtfLlBQYSxfLlFQYSxfLlJQYV0pO3ZhciBVUGE7Xy5UUGE9ZnVuY3Rpb24oYSl7dGhpcy5vYT1uZXcgXy5Kbjt0aGlzLnNpemU9MDthJiZ0aGlzLmFkZEFsbChhKX07VVBhPWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBhO3JldHVybiBiPT1cIm9iamVjdFwiJiZhfHxiPT1cImZ1bmN0aW9uXCI/XCJvXCIrXy5FYShhKTpiLmNoYXJBdCgwKSthfTtfLm09Xy5UUGEucHJvdG90eXBlO18ubS55bj1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9hLnNpemV9O18ubS5hZGQ9ZnVuY3Rpb24oYSl7dGhpcy5vYS5zZXQoVVBhKGEpLGEpO3RoaXMuc2l6ZT10aGlzLm9hLnNpemV9O18ubS5hZGRBbGw9ZnVuY3Rpb24oYSl7YT1fLlBCYShhKTtmb3IodmFyIGI9YS5sZW5ndGgsYz0wO2M8YjtjKyspdGhpcy5hZGQoYVtjXSk7dGhpcy5zaXplPXRoaXMub2Euc2l6ZX07Xy5tLnJlbW92ZUFsbD1mdW5jdGlvbihhKXthPV8uUEJhKGEpO2Zvcih2YXIgYj1hLmxlbmd0aCxjPTA7YzxiO2MrKyl0aGlzLnJlbW92ZShhW2NdKTt0aGlzLnNpemU9dGhpcy5vYS5zaXplfTtcbl8ubS5kZWxldGU9ZnVuY3Rpb24oYSl7YT10aGlzLm9hLnJlbW92ZShVUGEoYSkpO3RoaXMuc2l6ZT10aGlzLm9hLnNpemU7cmV0dXJuIGF9O18ubS5yZW1vdmU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZGVsZXRlKGEpfTtfLm0uY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLm9hLmNsZWFyKCk7dGhpcy5zaXplPTB9O18ubS5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub2Euc2l6ZT09PTB9O18ubS5oYXM9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5vYTthPVVQYShhKTtyZXR1cm4gYi5oYXMoYSl9O18ubS5jb250YWlucz1mdW5jdGlvbihhKXt2YXIgYj10aGlzLm9hO2E9VVBhKGEpO3JldHVybiBiLmhhcyhhKX07Xy5tLll2PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub2EuWXYoKX07Xy5tLnZhbHVlcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9hLnZhbHVlcygpfTtfLm0uY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IF8uVFBhKHRoaXMpfTtcbl8ubS5lcXVhbHM9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMueW4oKT09Xy5PQmEoYSkmJlZQYSh0aGlzLGEpfTt2YXIgVlBhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5PQmEoYik7aWYoYS55bigpPmMpcmV0dXJuITE7IShiIGluc3RhbmNlb2YgXy5UUGEpJiZjPjUmJihiPW5ldyBfLlRQYShiKSk7cmV0dXJuIFNCYShhLGZ1bmN0aW9uKGQpe3ZhciBlPWI7cmV0dXJuIGUuY29udGFpbnMmJnR5cGVvZiBlLmNvbnRhaW5zPT1cImZ1bmN0aW9uXCI/ZS5jb250YWlucyhkKTplLmI0JiZ0eXBlb2YgZS5iND09XCJmdW5jdGlvblwiP2UuYjQoZCk6Xy5CYShlKXx8dHlwZW9mIGU9PT1cInN0cmluZ1wiP18udmEoZSxkKTpfLmJoYShlLGQpfSl9O18uVFBhLnByb3RvdHlwZS5oQj1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9hLmhCKCExKX07Xy5UUGEucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXMoKX07dmFyIFdQYSxYUGEsWVBhLFpQYSxhUWE7V1BhPVtdO1hQYT1bXTtZUGE9ITE7XG5aUGE9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGspe2suUFdkfHwoay5QV2Q9ITAsay5FQ2EmJl8uSGEoQXJyYXkuZnJvbShrLkVDYS52YWx1ZXMoKSksYSksaC5wdXNoKGspKX12YXIgYj17fSxjLGQ7Zm9yKGM9V1BhLmxlbmd0aC0xO2M+PTA7LS1jKXt2YXIgZT1XUGFbY107aWYoZS5tYW5pZmVzdC5zZXJ2aWNlcyl7dmFyIGY9ZS5tYW5pZmVzdC5zZXJ2aWNlcztmb3IoZD1mLmxlbmd0aC0xO2Q+PTA7LS1kKWJbZltkXS5pZF09ZX1pZihlLm1hbmlmZXN0LkFhKWZvcihmPWUubWFuaWZlc3QuQWEsZD1mLmxlbmd0aC0xO2Q+PTA7LS1kKWJbZltkXS5pZF09ZX1mb3IoYz1XUGEubGVuZ3RoLTE7Yz49MDstLWMpe2U9V1BhW2NdO2Y9ZS5tYW5pZmVzdDtpZihmLnJlcXVpcmVzKWZvcihlLkVDYT1uZXcgXy5UUGEsZD1mLnJlcXVpcmVzLmxlbmd0aC0xO2Q+PTA7LS1kKXt2YXIgZz1iW2YucmVxdWlyZXNbZF1dO2cmJmUuRUNhLmFkZChnKX1pZihmLm9hKWZvcihlLkVDYXx8KGUuRUNhPW5ldyBfLlRQYSksXG5kPWYub2EubGVuZ3RoLTE7ZD49MDstLWQpKGc9YltmLm9hW2RdXSkmJmUuRUNhLmFkZChnKX12YXIgaD1bXTtfLkhhKFdQYSxhKTtXUGE9aH07YVFhPWZ1bmN0aW9uKGEpe2lmKCFZUGEpe1pQYSgpO3ZhciBiO2ZvcihiPTA7YjxXUGEubGVuZ3RoOysrYil7dmFyIGM9V1BhW2JdLm1hbmlmZXN0O2Muc2VydmljZXMmJl8uJFBhKGEsYy5zZXJ2aWNlcyk7Yy5jb25maWd1cmUmJmMuY29uZmlndXJlKGEpfWZvcihiPTA7YjxXUGEubGVuZ3RoOysrYiljPVdQYVtiXSxjLm1hbmlmZXN0LmluaXRpYWxpemUmJmMubWFuaWZlc3QuaW5pdGlhbGl6ZShhKTtmb3IoYj0wO2I8WFBhLmxlbmd0aDsrK2IpWFBhW2JdKGEpO1lQYT0hMH19O1xuXy4kUGE9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9e30sZD0wO2Q8Yi5sZW5ndGg7Yz17ZFg6dm9pZCAwfSwrK2QpaWYoYy5kWD1iW2RdLCFYTmEoYSxjLmRYLmlkKSYmIWMuZFguWnplKWlmKGMuZFgubW9kdWxlKW9PYShhLGMuZFguaWQsYy5kWC5tb2R1bGUpO2Vsc2UgaWYoYy5kWC5tdWx0aXBsZSl7dmFyIGU9ZnVuY3Rpb24oZil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyAoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuYXBwbHkoZi5kWC5aYyxbbnVsbF0uY29uY2F0KF8ubWQoXy5sYy5hcHBseSgwLGFyZ3VtZW50cykpKSkpfX0oYyk7cU9hKGEsYy5kWC5pZCxjLmRYLmNhbGxiYWNrfHxlKX1lbHNlIGEucmVnaXN0ZXJTZXJ2aWNlKGMuZFguaWQsYy5kWC5jYWxsYmFjaz9jLmRYLmNhbGxiYWNrKGEpOm5ldyBjLmRYLlpjKGEpKX07Xy5iUWE9bmV3IF8uQ2QoXCJneWNoZ1wiLFwiZ3ljaGdcIixbXy5nb10pO18uY1FhPW5ldyBfLkNkKFwieFVkaXBmXCIsXCJ4VWRpcGZcIik7Xy5kUWE9bmV3IF8uQ2QoXCJVbG1tcmRcIixcIlVsbW1yZFwiLFtfLmJRYV0pO3pkKFwiSk5veGlcIixcIlVnQXRYZVwiKTtfLmVRYT1uZXcgXy5DZChcIk53SDBIXCIsXCJOd0gwSFwiLFtfLmNRYV0pO3pkKFwidzloRHZcIixcIlVnQXRYZVwiKTtfLmZRYT1fLkdkKFwidzloRHZcIixbXy5lUWFdKTtfLmdRYT1fLkdkKFwiSk5veGlcIixbXy5kUWEsXy5mUWFdKTt6ZChcIlp3RGs5ZFwiLFwieGlxRXNlXCIpO18uaFFhPV8uR2QoXCJad0RrOWRcIik7dmFyIGlRYT1fLkZkKFwieGlxRXNlXCIsXCJTTlVuM1wiLFwiRUxwZEplXCIpO18uZnJhPV8uR2QoXCJSTWhCZmVcIixbaVFhXSk7Xy5HcWEoXy5nUWEpO3ZhciBrUWE7Xy5qUWE9ZnVuY3Rpb24oKXt0aGlzLm9hPVtdO3RoaXMuQWE9W119O2tRYT1mdW5jdGlvbihhKXthLm9hLmxlbmd0aD09PTAmJihhLm9hPWEuQWEsYS5vYS5yZXZlcnNlKCksYS5BYT1bXSl9O18ualFhLnByb3RvdHlwZS5lbnF1ZXVlPWZ1bmN0aW9uKGEpe3RoaXMuQWEucHVzaChhKX07Xy5sUWE9ZnVuY3Rpb24oYSl7a1FhKGEpO3JldHVybiBhLm9hLnBvcCgpfTtfLm1RYT1mdW5jdGlvbihhKXtrUWEoYSk7cmV0dXJuIF8ucGEoYS5vYSl9O18ubT1fLmpRYS5wcm90b3R5cGU7Xy5tLnluPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub2EubGVuZ3RoK3RoaXMuQWEubGVuZ3RofTtfLm0uaXNFbXB0eT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9hLmxlbmd0aD09PTAmJnRoaXMuQWEubGVuZ3RoPT09MH07Xy5tLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5vYT1bXTt0aGlzLkFhPVtdfTtcbl8ubS5jb250YWlucz1mdW5jdGlvbihhKXtyZXR1cm4gXy52YSh0aGlzLm9hLGEpfHxfLnZhKHRoaXMuQWEsYSl9O18ubS5yZW1vdmU9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5vYTt2YXIgYz1BcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChiLGEsYi5sZW5ndGgtMSk7Yz49MD8oXy54YShiLGMpLGI9ITApOmI9ITE7cmV0dXJuIGJ8fF8uemEodGhpcy5BYSxhKX07Xy5tLll2PWZ1bmN0aW9uKCl7Zm9yKHZhciBhPVtdLGI9dGhpcy5vYS5sZW5ndGgtMTtiPj0wOy0tYilhLnB1c2godGhpcy5vYVtiXSk7dmFyIGM9dGhpcy5BYS5sZW5ndGg7Zm9yKGI9MDtiPGM7KytiKWEucHVzaCh0aGlzLkFhW2JdKTtyZXR1cm4gYX07dmFyIHBRYSxzUWEsdFFhO18ublFhPXt9O18uWnA9ZnVuY3Rpb24oYSxiLGMpe2IgaW5zdGFuY2VvZiBfLnhnJiYoYj1iLmZuKTtiPV8uZ3JhKGIpO2EgaW5zdGFuY2VvZiBfLnhnJiYoYT1hLmZuKTt2YXIgZD1fLmdyYShhKTtfLm5RYVtkXXx8KF8ublFhW2RdPXt9KTtfLm5RYVtkXVtiXXx8KF8ublFhW2RdW2JdPVtdKTtfLm5RYVtkXVtiXS5wdXNoKHtaYzphLGJJOmN9KX07cFFhPWZ1bmN0aW9uKGEsYil7YT1fLm9RYShhLGIpO3JldHVybiBhLmxlbmd0aD09MD9udWxsOmFbMF0uWmN9O18uclFhPWZ1bmN0aW9uKGEsYixjKXtpZihhLnFiKXtjPWN8fGIuc3BsaXQoXCI7XCIpWzBdO3ZhciBkPWEucWI7aWYoYz09ZCl7aWYoXy51byhhKS5KND09YilyZXR1cm4gYX1lbHNlIGlmKGQ9Xy5vUWEoZCxjKSxkLmxlbmd0aCE9MClyZXR1cm4gXy5xUWEoYSxkLGMsdm9pZCAwKS5tYXBbYl19fTtcbl8ub1FhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5uUWFbYV07aWYoIWMpcmV0dXJuW107dmFyIGQ9Y1tiXTtpZihkKXJldHVybiBkO2NbYl09W107ZD1PYmplY3Qua2V5cyhjKTt2YXIgZT1kLmluZGV4T2YoYSk7ZT49MCYmKGRbZV09ZFtkLmxlbmd0aC0xXSxkW2QubGVuZ3RoLTFdPWEpO2E9Xy5QYShkKTtkPWEubmV4dCgpO2ZvcihlPXt9OyFkLmRvbmU7ZT17QUxiOnZvaWQgMH0sZD1hLm5leHQoKSllLkFMYj1kLnZhbHVlLGQ9Y1tlLkFMYl0sXy5IYShkLGZ1bmN0aW9uKGYpe3JldHVybiBmdW5jdGlvbihnKXt2YXIgaD1fLm9RYShmLkFMYixiKTtfLkhhKGgsZnVuY3Rpb24oayl7Y1tiXS5wdXNoKHtiSTpmdW5jdGlvbihsKXt2YXIgbj1bXTtsPWcuYkkobCk7Zm9yKHZhciByPTA7cjxsLmxlbmd0aDtyKyspbi5wdXNoLmFwcGx5KG4say5iSShsW3JdKSk7cmV0dXJuIG59LFpjOmcuWmN9KX0pfX0oZSkpO3JldHVybiBjW2JdfTtcbl8ucVFhPWZ1bmN0aW9uKGEsYixjLGQpe2EuYzVhfHwoYS5jNWE9e30pO3ZhciBlPWEuYzVhW2NdO2lmKGUmJiFkKXJldHVybiBlO2U9YS5jNWFbY109e3NldDpuZXcgU2V0LG1hcDp7fX07Xy5IYShiLGZ1bmN0aW9uKGYpe2Y9Zi5iSShhKTtmPV8uUGEoZik7Zm9yKHZhciBnPWYubmV4dCgpOyFnLmRvbmU7Zz1mLm5leHQoKSllLnNldC5hZGQoZy52YWx1ZSl9KTtpZihfLnJvW2NdKWZvcihiPV8uUGEoZS5zZXQpLGM9Yi5uZXh0KCk7IWMuZG9uZTtjPWIubmV4dCgpKWM9Yy52YWx1ZSxlLm1hcFtfLnVvKGMpLko0XT1jO3JldHVybiBlfTtzUWE9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LnZhbHVlcyhfLm5RYSkucmVkdWNlKGZ1bmN0aW9uKGEsYil7cmV0dXJuIGErT2JqZWN0LmtleXMoYikubGVuZ3RofSwwKX07XG50UWE9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LmVudHJpZXMoXy5uUWEpLnJlZHVjZShmdW5jdGlvbihhLGIpe3ZhciBjPV8uUGEoYik7Yj1jLm5leHQoKS52YWx1ZTtjPWMubmV4dCgpLnZhbHVlO2Zvcih2YXIgZCBpbiBjKWErPWIrXCIgLT4gXCIrZCtcIlxcblwiO3JldHVybiBhfSxcIlwiKX07dmFyIGlyYT1TeW1ib2woKTtfLmZmKGlRYSk7dmFyIHVRYT1uZXcgXy5JZChpUWEpO3ZhciB3UWEseVFhLHpRYTtfLnZRYT1mdW5jdGlvbihhKXtfLkRuLmNhbGwodGhpcyxhLk5hKTt0aGlzLm9hPWEuc2VydmljZS5RVjt0aGlzLk9nPW51bGx9O18uRChfLnZRYSxfLkRuKTtfLnZRYS5XYT1fLkRuLldhO18udlFhLklhPWZ1bmN0aW9uKCl7cmV0dXJue3NlcnZpY2U6e1FWOnVRYX19fTtfLnZRYS5wcm90b3R5cGUucmVzb2x2ZT1mdW5jdGlvbihhLGIsYyxkKXtkPWQ9PT12b2lkIDA/ITE6ZDthPXdRYSh0aGlzLGEsYiwwKTtyZXR1cm4gYyE9PXZvaWQgMD9hLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIF8ueFFhP2UuRXMoKTplLmViYSgpfSk6YS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBkP2UuRXMoKTplLmNsb25lKCl9KX07XG53UWE9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7Zm9yKHZhciBoPXt9O2ImJmIuZ2V0QXR0cmlidXRlO2g9e3FwYjp2b2lkIDB9KXtpZihDTGEoYikpcmV0dXJuIEJMYShiKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIHdRYShhLGIsYyxkLGUsZixnKX0pO3ZhciBrPV8uekxhKGIpO2gucXBiPV8uZ3JhKGMpO2lmKGcpe3ZhciBsPV8udGEoayxnKTtsIT0tMSYmKGs9ay5zbGljZSgwLGwpKX1sPWsucG9wKCk7aWYoZD09MClmb3IoO2w7KXtmPWw7ZT1fLmtyYShsKTtpZihoLnFwYj09ZS5xYilicmVhaztsPWsucG9wKCk7aWYoIWwpcmV0dXJuIF8uVWwoRXJyb3IoXCIkY2BcIitoLnFwYitcImBcIitlLnFiKSl9aWYoaD1hLm9hLm9hKGIsYyxmKSlyZXR1cm4gaDtoPWI7Yj1fLmtlKGIpO2lmKGwmJihrPXlRYShhLGwsayxoLGIsYyxkLGUsZikpKXJldHVybiBrfXJldHVybiBfLlVsKEVycm9yKFwiYWRgXCIrZitcImBcIisoZSYmZS5xYikrXCJgXCIrc1FhKCkrXCJgXCIrdFFhKCkpKX07XG55UWE9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoLGspe2lmKGcrKz09MCl7aWYoaC5pbnN0YW5jZUlkKXJldHVybiBhLm9hLno3YShoLmluc3RhbmNlSWQpLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIG4/Xy5qcmEobixmKTpjLmxlbmd0aD4wP3lRYShhLGMucG9wKCksYyxkLGUsZixnLGgsayk6d1FhKGEsZSxmLGcsaCxrKX0pfWVsc2UgaWYoYj1fLmtyYShiKSxiLmluc3RhbmNlSWQmJmguaW5zdGFuY2VJZCE9Yi5pbnN0YW5jZUlkKXt2YXIgbD1wUWEoYi5xYixoLnFiKTtsfHxoLnFiIT1iLnFifHxoLmlkIT1iLmlkfHwobD1mKTtpZihsKXJldHVybiB6UWEoYSxkLGssaCxsKS50aGVuKGZ1bmN0aW9uKG4pe3JldHVybiBuP246Yy5sZW5ndGg+MD95UWEodGhpcyxjLnBvcCgpLGMsZCxlLGYsZyxoLGspOndRYSh0aGlzLGUsZixnLGgsayl9LG51bGwsYSl9cmV0dXJuIGMubGVuZ3RoPjA/eVFhKGEsYy5wb3AoKSxjLGQsZSxmLGcsaCxrKTp3UWEoYSxlLGYsZyxoLGspfTtcbnpRYT1mdW5jdGlvbihhLGIsYyxkLGUpe3JldHVybiB3UWEoYSxiLGUsMCx2b2lkIDAsdm9pZCAwLGMpLnRoZW4oZnVuY3Rpb24oZil7cmV0dXJuIF8uclFhKGYsZC5tZXNzYWdlS2V5LGQucWIpfSl9O18ueFFhPSExO18uRm4oXy5mcmEsXy52UWEpO3ZhciBscmEsbXJhLEJRYSxDUWE7Xy5BUWE9ISEoakFhJiZnb29nbGUmJmdvb2dsZS5qZCYmZ29vZ2xlLmpkLm1zJiZnb29nbGUuamQubWQmJmdvb2dsZS5qZC5pbCYmZ29vZ2xlLmpkLmdwKTttcmE9ZnVuY3Rpb24oKXt0aGlzLmNvdW50ZXI9MDt0aGlzLm9hPW5ldyBNYXA7dGhpcy5BYT1mdW5jdGlvbigpe319O0JRYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5BUWE/KDAsZ29vZ2xlLmpkLmlsKSgpOmEuY291bnRlcj4wfTtDUWE9ZnVuY3Rpb24oYSxiKXtpZihfLkFRYSlyZXR1cm4gbmV3IF8uamYoZnVuY3Rpb24oZCl7KDAsZ29vZ2xlLmpkLmdwKShiLGQpfSk7dmFyIGM9Xy5iYS5XX2pkO3JldHVybiBjJiYoYz1jW2JdLCFCUWEoYSl8fGMpP18uZ2UoY3x8bnVsbCk6bmV3IF8uamYoZnVuY3Rpb24oZCl7YS5vYS5zZXQoYixkKX0pfTt6ZChcIng4Y0h2YlwiLFwieGlxRXNlXCIpO3ZhciBEUWE9Xy5HZChcIng4Y0h2YlwiKTtfLkVRYT1uZXcgTWFwO18uRlFhPW5ldyBTZXQ7dmFyIEdRYT1mdW5jdGlvbihhKXtfLkRuLmNhbGwodGhpcyxhLk5hKX07Xy5EKEdRYSxfLkRuKTtHUWEuV2E9Xy5Ebi5XYTtHUWEuSWE9Xy5Ebi5JYTtHUWEucHJvdG90eXBlLno3YT1mdW5jdGlvbihhKXt2YXIgYj1fLm5yYSgpO2IuQWEoKTtyZXR1cm4gQ1FhKGIsYSl9O0dRYS5wcm90b3R5cGUub2E9ZnVuY3Rpb24oYSxiLGMpe2lmKF8uRVFhLmhhcyhjKSYmYS5oYXNBdHRyaWJ1dGUoXCJqc2RhdGFcIikpe3ZhciBkPWEuZ2V0QXR0cmlidXRlKFwianNkYXRhXCIpO2lmKCgwLF8ubmgpKGQpLnNwbGl0KC9cXHMrLykuaW5jbHVkZXMoYykpe3ZhciBlPV8uRVFhLmdldChjKTtfLkVRYS5kZWxldGUoYyk7ZD1USGEuZ2V0KGEpfHx7fTtiPWUgaW5zdGFuY2VvZiBfLnE/ZTpuZXcgYihlKTtkW2NdPWI7VEhhLnNldChhLGQpfX1yZXR1cm4oKGI9VEhhLmdldChhKSkmJmMgaW4gYj9fLmdlKGJbY10pOm51bGwpfHxfLkhMYShhLGMpfTtfLkZuKERRYSxHUWEpO3ZhciBZcmE9ZnVuY3Rpb24oKXt0aGlzLmxvZ2dlcj10aGlzLmxvZ2dlcj1GbWF9O1lyYS5wcm90b3R5cGUuQmJkPWZ1bmN0aW9uKCl7fTtZcmEucHJvdG90eXBlLlB2ZD1mdW5jdGlvbihhLGIsYyxkLGUsZixnLGgsayl7T2JqZWN0LmFzc2lnbihjLHt6d2E6aCxzJGI6a30pO2E9bmV3IFNsYShhLGIsYyxkLGUsZik7YS5MYT0hMDt0aGlzLmxvZ2dlci5DYShhLGcpfTt2YXIgcXJhLHByYTt2YXIgSFFhLElRYT1mdW5jdGlvbigpe3RoaXMuQWE9ZnVuY3Rpb24oKXt9O3RoaXMub2E9bnVsbH0sWHJhPWZ1bmN0aW9uKCl7SFFhfHwoSFFhPW5ldyBJUWEpO3JldHVybiBIUWF9O18ubT1JUWEucHJvdG90eXBlO18ubS5vWWM9ZnVuY3Rpb24oYSxiKXtiP3RoaXMuSEViKGEsYik6dGhpcy5vbWIoYSl9O18ubS5vbWI9ZnVuY3Rpb24oYSxiKXtNcWEoYSxiPT09dm9pZCAwPyExOmIpfTtfLm0uSEViPWZ1bmN0aW9uKGEsYil7VHFhKGEsYil9O18ubS5INWI9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxjPV8uZWYoXy5vcmEoYSkpLGQ9Xy5LZChjLF8ueWQoKS5vYSksZT1uZXcgUHJvbWlzZShmdW5jdGlvbihmLGcpe18uam4oZCxmLGcpfSk7ZS5jYXRjaChmdW5jdGlvbihmKXtiLkFhKFwiRXJyb3IgbG9va2luZyB1cCBzZXJ2aWNlLCBrZXk9XCIrYStcIiwgcmVzb2x2ZWQgc2VydmljZUlkPVwiKyhjK1wiLCBlcnI9XCIrZikpfSk7cmV0dXJuIGV9O1xuXy5tLkQyYj1mdW5jdGlvbigpe2lmKHRoaXMub2EpcmV0dXJuIHRoaXMub2E7dGhyb3cgRXJyb3IoXCJoZFwiKTt9O18ubS5YNmM9ZnVuY3Rpb24oYSl7dGhpcy5CYShhKX07Xy5zcmEoSVFhKTt6ZChcInhRdFpiXCIsXCJZODRSSFwiKTt6ZChcInhRdFpiXCIsXCJySGpwWGRcIik7Xy5KUWE9Xy5HZChcInhRdFpiXCIsW18uQW4sXy54a2FdKTtfLktRYT1fLkZkKFwickhqcFhkXCIsXCJxZGRnS2VcIixcInQ5S3luYlwiLF8uSlFhKTtfLkxRYT1uZXcgXy5JZChfLktRYSk7emQoXCJLbzc4RGZcIixcImtvVUFjY1wiKTt2YXIgTVFhPV8uR2QoXCJLbzc4RGZcIixbXy5LUWFdKTt2YXIgTlFhPWZ1bmN0aW9uKGEpe3RoaXMuc3RhdGU9YX07TlFhLnByb3RvdHlwZS5nZXRJZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnN0YXRlLmlkfTtOUWEucHJvdG90eXBlLnF1Yj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnN0YXRlLnB1c2hJZH07TlFhLnByb3RvdHlwZS5nZXRVcmw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zdGF0ZS51cmx9O05RYS5wcm90b3R5cGUuZ2V0VXNlckRhdGE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zdGF0ZS51c2VyRGF0YX07XG52YXIgT1FhPWZ1bmN0aW9uKGEpe18uRG4uY2FsbCh0aGlzLGEuTmEpO3ZhciBiPXRoaXM7dGhpcy5oaXN0b3J5PWEuc2VydmljZS5oaXN0b3J5O3RoaXMuaUE9ZG9jdW1lbnQuYm9keTt0aGlzLm9hPW5ldyBNYXA7dGhpcy5oaXN0b3J5LmFkZExpc3RlbmVyKGZ1bmN0aW9uKGMsZCxlKXtpZihlLnFPKXtjPV8uUGEoZS5xTyk7ZD1jLm5leHQoKTtmb3IodmFyIGY9e307IWQuZG9uZTtmPXtRQ2I6dm9pZCAwLHhXYTp2b2lkIDB9LGQ9Yy5uZXh0KCkpZi54V2E9ZC52YWx1ZSxiLm9hLmhhcyhmLnhXYS5pZCkmJihmLlFDYj1iLm9hLmdldChmLnhXYS5pZCksZi5RQ2ImJl8uUWwoZnVuY3Rpb24oZyl7cmV0dXJuIGZ1bmN0aW9uKCl7KDAsZy5RQ2IpKGcueFdhLnNhYSl9fShmKSksYi5vYS5kZWxldGUoZi54V2EuaWQpKX1lLnVzZXJJbml0aWF0ZWQmJmIuaUEuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoXCJGV2tjZWNcIikpfSl9O18uRChPUWEsXy5Ebik7T1FhLldhPV8uRG4uV2E7XG5PUWEuSWE9ZnVuY3Rpb24oKXtyZXR1cm57c2VydmljZTp7aGlzdG9yeTpfLkxRYX19fTtfLm09T1FhLnByb3RvdHlwZTtfLm0uRXA9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9dGhpczthPWQ/dGhpcy5oaXN0b3J5LndVKGEsYik6dGhpcy5oaXN0b3J5LkVwKGEsYik7cmV0dXJuIFByb21pc2UucmVzb2x2ZShhLnRoZW4oZnVuY3Rpb24oZil7YyYmZS5vYS5zZXQoZi5pZCxjKTtyZXR1cm4gZi5pZH0pKX07Xy5tLnBvcD1mdW5jdGlvbihhLGIpe2E9Yj90aGlzLmhpc3RvcnkuUzcoYSk6dGhpcy5oaXN0b3J5LnBvcChhKTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGEudGhlbihmdW5jdGlvbihjKXtyZXR1cm4gYz9uZXcgTlFhKGMpOm51bGx9KSl9O18ubS5nZXRTdGF0ZT1mdW5jdGlvbigpe3ZhciBhPXRoaXMuaGlzdG9yeS5nZXRTdGF0ZSgpO3JldHVybiBhP25ldyBOUWEoYSk6bnVsbH07Xy5tLkxpPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaGlzdG9yeS5MaSgpfTtfLm0uRXI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pQX07XG5fLkZuKE1RYSxPUWEpO18uQmcoXCJPTkhObmZcIix7QmJkOlwiZ3lvOG9kXCIsUHZkOlwiQ0t2V2liXCJ9KTtfLkJnKFwibElxZHdjXCIse2Rpc3BhdGNoOlwiaU9OenhmXCJ9KTtfLkJnKFwieGxYUFhlXCIse2dldElkOlwicFR1WWdlXCIscXViOlwicnVhRmNlXCIsZ2V0VXJsOlwidFRUSnZjXCIsZ2V0VXNlckRhdGE6XCJ0R3U1eWNcIn0pO18uQmcoXCJYa3BYRGNcIix7RXA6XCJXWnI2Z2ZcIixwb3A6XCJnRldyRWZcIixnZXRTdGF0ZTpcIlhpTjhEZVwiLExpOlwiYTV3YUtlXCIsRXI6XCJPUzFRVWJcIn0pO18uQmcoXCJYaXNWcVwiLHtvWWM6XCJSa1Y5Z2NcIixvbWI6XCJ1QlBYM2RcIixIRWI6XCJPSHFGZmJcIixINWI6XCJ2bjhpbGRcIixEMmI6XCJ0OWMyQ1wiLFg2YzpcInFLaVFMY1wifSk7XG5fLkJnKFwiQmZMc1BjXCIse2o4YTpcImZpUjhUZFwiLGF0YjpcInM2aXU0ZFwiLHB1YjpcInA4V292ZFwiLHdSYTpcIk5ZbjJQXCIsY3RiOlwiVkpIbTVkXCIsdXRiOlwiYWkxenZiXCIsY3ZiOlwiQXVwMHVcIixkdGI6XCJBd2tEaWNcIixnZXRBbmltYXRpb246XCJmbkJHSGRcIix3OGE6XCJwOGRLTFwiLEF0YTpcImlDTGdQYlwiLEh0YjpcInRvNVV3ZlwiLHBTOlwiaVU1QUVcIixFc2I6XCJRZUJ3emJcIixvdGI6XCJ1VHV2Y1wiLGp2YjpcImIyNnFwZVwiLEt1YjpcInREaGhmYlwiLGs4YTpcIm91UmE4XCIsY3ViOlwiQzI4eTdjXCIsU3ViOlwiTzZmYnhjXCJ9KTtfLkJnKFwiY2VkNWtiXCIse3YzYjpcIlhSRG1nZlwiLEo0YjpcIndKSmR1ZlwiLElHOlwiSU9KY21cIixHMmI6XCJ0Nm1qQ2NcIn0pO18uQmcoXCJnUGFubmJcIix7UmZjOlwiV1ZDYWFjXCIsTVliOlwicWg3aVhkXCIsaXNPcGVuOlwiaVdPNXRkXCJ9KTtfLkJnKFwiZ0dwVDBjXCIse29wZW46XCJGTkZZNmNcIixjbG9zZTpcIlR2RDlQY1wifSk7Xy5CZyhcInZoc3ZWZFwiLHt2UWE6XCJBaWxDTmJcIixkdmI6XCJPZVM4TFwiLHl1YjpcIngzQzNcIn0pO1xuXy5CZyhcIlJ4OGw1XCIse3RoZW46XCJ1ZVdHTWJcIixjYXRjaDpcImZFRUt0Y1wiLGZpbmFsbHk6XCJsbWFZUGJcIn0pO18uQmcoXCJPVGxKUmRcIix7aXNBdmFpbGFibGU6XCJ5RmlTV1wiLG5DOlwiU2F2SHBkXCIsd246XCJiaWxkRGZcIixDcjpcIkhDMlJLYlwiLFlJOlwiRXI5b3VkXCJ9KTtfLkJnKFwicmFOYzJkXCIse1V3ZTpcIlJnUVlGY1wifSk7Xy5CZyhcIk82RHZiZFwiLHtnZXQ6XCJMMzVnVVwiLEFmOlwiR05sNGVlXCJ9KTt6ZChcIktpdVpCZlwiLFwiU0hRVDBcIik7emQoXCJrSFZTVWJcIixcImVOUzlDXCIpO18uUFFhPV8uR2QoXCJrSFZTVWJcIixbXSk7Xy5RUWE9Xy5GZChcImVOUzlDXCIsXCJzVHNETWNcIix2b2lkIDAsXy5QUWEpO18uJHA9Xy5HZChcIkxLNFB5ZVwiLFtfLlFRYV0pO3ZhciBSUWE9Xy5HZChcIktpdVpCZlwiLFtfLiRwXSk7Xy5TUWE9bmV3IF8uSWQoXy5RUWEpO3ZhciB2cmE9bmV3IFNldChcIkdlb2xvY2F0aW9uIEluaXRpYWxpemF0aW9uIFRpbWVzdGFtcCBVaU1vZGVzIENsb2NrIEludGVybmFsSGlzdG9yeVwiLnNwbGl0KFwiIFwiKSk7dmFyIHRyYT1mdW5jdGlvbigpe307dmFyIFRRYTtUUWE9WzNdO18uVVFhPWZ1bmN0aW9uKCl7cmV0dXJuITF9O18uVlFhPWZ1bmN0aW9uKCl7cmV0dXJuITF9O18uYXE9ZnVuY3Rpb24oYSl7Xy5Ebi5jYWxsKHRoaXMsYS5OYSk7dGhpcy5VZj1hLnNlcnZpY2UuVWY7dGhpcy5zdGFjaz1uZXcgV1FhfTtfLkQoXy5hcSxfLkRuKTtfLmFxLldhPV8uRG4uV2E7Xy5hcS5JYT1mdW5jdGlvbigpe3JldHVybntzZXJ2aWNlOntVZjpfLlNRYX19fTtfLm09Xy5hcS5wcm90b3R5cGU7Xy5tLmlzQXZhaWxhYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVWYuaXNBdmFpbGFibGUoKX07Xy5tLm5DPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVWYubkMoKX07Xy5tLnduPWZ1bmN0aW9uKGEpe3JldHVybiBfLlVRYSgpP3RoaXMuc2V0U3RhdGUoYSwwLFwiZW50ZXJCYXNpY01vZGVcIik6dGhpcy5VZi53bigpfTtfLm0uQ3I9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uVVFhKCk/dGhpcy5zZXRTdGF0ZShhLDEsXCJleGl0QmFzaWNNb2RlXCIpOnRoaXMuVWYuQ3IoKX07XG5fLm0uc2V0U3RhdGU9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVhRYSh0aGlzLnN0YWNrKTtkJiZkLm9hPT09YT9kLnN0YXRlIT09YiYmKFRRYS5pbmNsdWRlcyhhKT9kLnN0YXRlPWI6KF8ueHJhKHtzZXJ2aWNlTmFtZTpcIlVJTW9kZXNBcmJpdGVyXCIsbWV0aG9kTmFtZTpjfSxuZXcgXy5sZCgxNCxcIlNpbGsgY29uc3VtZXIgaXMgb3ZlcndyaXRpbmcgc3RhdGUgXCIrYStcIixcIitkLnN0YXRlK1wiLFwiK2IpKSx0aGlzLnN0YWNrLnBvcCgpKSk6dGhpcy5zdGFjay5wdXNoKG5ldyBZUWEoYSxiKSk7cmV0dXJuIFpRYSh0aGlzLGIpfTt2YXIgWlFhPWZ1bmN0aW9uKGEsYil7c3dpdGNoKGIpe2Nhc2UgMDpyZXR1cm4gYS5VZi53bigpO2Nhc2UgMTpyZXR1cm4gYS5VZi5DcigpO2RlZmF1bHQ6Xy5EYyhiLFwic3RhdGUgaGFkIGFuIHVua25vd24gdHlwZVwiKX19O1xuXy5hcS5wcm90b3R5cGUuWUk9ZnVuY3Rpb24oYSl7aWYoIV8uVVFhKCkpcmV0dXJuIHRoaXMuQ3IoYSk7dmFyIGI9WFFhKHRoaXMuc3RhY2spO2lmKGI9PT12b2lkIDApcmV0dXJuIGE9bmV3IF8ubGQoMTMsYStcIiBjYW5ub3QgcmVzdG9yZSBzdGF0ZSBhcyB0aGVyZSBpcyBubyBzdGF0ZSB0byByZXN0b3JlIHRvLlwiKSxfLkVnKHtzZXJ2aWNlTmFtZTpcIlVJTW9kZXNBcmJpdGVyXCIsbWV0aG9kTmFtZTpcInJlc3RvcmVUb1ByZXZpb3VzU3RhdGVcIn0sYSksUHJvbWlzZS5yZWplY3QoYSk7aWYoYi5vYT09PWEpcmV0dXJuIHRoaXMuc3RhY2sucG9wKCksYT10aGlzLnN0YWNrLmdldEN1cnJlbnRTdGF0ZSgpLFpRYSh0aGlzLGEpO2E9bmV3IF8ubGQoMTMsYStcIiBjYW5ub3QgcmVzdG9yZSBzdGF0ZSBhcyBcIitiLm9hK1wiIGhhcyBjb250cm9sLlwiKTtfLkVnKHtzZXJ2aWNlTmFtZTpcIlVJTW9kZXNBcmJpdGVyXCIsbWV0aG9kTmFtZTpcInJlc3RvcmVUb1ByZXZpb3VzU3RhdGVcIn0sYSk7cmV0dXJuIFByb21pc2UucmVqZWN0KGEpfTtcbnZhciBZUWE9ZnVuY3Rpb24oYSxiKXt0aGlzLm9hPWE7dGhpcy5zdGF0ZT1ifSxXUWE9ZnVuY3Rpb24oKXt0aGlzLml0ZW1zPVtdO3RoaXMub2E9Xy5WUWEoKT8wOjF9O1dRYS5wcm90b3R5cGUuZ2V0Q3VycmVudFN0YXRlPWZ1bmN0aW9uKCl7dmFyIGE9WFFhKHRoaXMpO3JldHVybiBhIT09dm9pZCAwP2Euc3RhdGU6dGhpcy5vYX07V1FhLnByb3RvdHlwZS5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXRlbXMubGVuZ3RoPT09MH07dmFyIFhRYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5pc0VtcHR5KCk/dm9pZCAwOmEuaXRlbXNbYS5pdGVtcy5sZW5ndGgtMV19O1dRYS5wcm90b3R5cGUucHVzaD1mdW5jdGlvbihhKXt0aGlzLml0ZW1zLnB1c2goYSl9O1dRYS5wcm90b3R5cGUucG9wPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXRlbXMucG9wKCl9O18uRm4oXy4kcCxfLmFxKTt2YXIgJFFhPWZ1bmN0aW9uKGEpe18uRG4uY2FsbCh0aGlzLGEuTmEpO3RoaXMuQXk9YS5zZXJ2aWNlLkF5fTtfLkQoJFFhLF8uRG4pOyRRYS5XYT1fLkRuLldhOyRRYS5JYT1mdW5jdGlvbigpe3JldHVybntzZXJ2aWNlOntBeTpfLmFxfX19O18ubT0kUWEucHJvdG90eXBlO18ubS5pc0F2YWlsYWJsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkF5LmlzQXZhaWxhYmxlKCl9O18ubS5uQz1mdW5jdGlvbigpe3JldHVybiB0aGlzLkF5Lm5DKCl9O18ubS53bj1mdW5jdGlvbihhKXt2YXIgYj10aGlzO3JldHVybiBfLmJoKGZ1bmN0aW9uKGMpe3JldHVybiBjLnlpZWxkKGIuQXkud24oYSksMCl9KX07Xy5tLkNyPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7cmV0dXJuIF8uYmgoZnVuY3Rpb24oYyl7cmV0dXJuIGMueWllbGQoYi5BeS5DcihhKSwwKX0pfTtcbl8ubS5ZST1mdW5jdGlvbihhKXt2YXIgYj10aGlzO3JldHVybiBfLmJoKGZ1bmN0aW9uKGMpe3JldHVybiBjLnlpZWxkKGIuQXkuWUkoYSksMCl9KX07Xy5GbihSUWEsJFFhKTt6ZChcIkk0Nkh2ZFwiLFwiQm5nbVRkXCIpO3ZhciBhUmE9Xy5HZChcIkk0Nkh2ZFwiLFtdKTt2YXIgYlJhPWZ1bmN0aW9uKGEpe18uRG4uY2FsbCh0aGlzLGEuTmEpfTtfLkQoYlJhLF8uRG4pO2JSYS5XYT1fLkRuLldhO2JSYS5JYT1fLkRuLklhO2JSYS5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHdpbmRvd307YlJhLnByb3RvdHlwZS5BZj1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuZG9jdW1lbnR9O18uRm4oYVJhLGJSYSk7dmFyIGNSYT17fTtjUmEuYT1OUWEucHJvdG90eXBlLmdldElkO2NSYS5iPU5RYS5wcm90b3R5cGUucXViO2NSYS5jPU5RYS5wcm90b3R5cGUuZ2V0VXJsO2NSYS5kPU5RYS5wcm90b3R5cGUuZ2V0VXNlckRhdGE7TlFhLnByb3RvdHlwZS5hPWNSYTt2YXIgZFJhPXt9O2RSYS5hPU9RYS5wcm90b3R5cGUuRXA7ZFJhLmI9T1FhLnByb3RvdHlwZS5wb3A7ZFJhLmM9T1FhLnByb3RvdHlwZS5nZXRTdGF0ZTtkUmEuZD1PUWEucHJvdG90eXBlLkxpO2RSYS5lPU9RYS5wcm90b3R5cGUuRXI7T1FhLnByb3RvdHlwZS5hPWRSYTt2YXIgZVJhPXt9O2VSYS5iPUlRYS5wcm90b3R5cGUub21iO2VSYS5jPUlRYS5wcm90b3R5cGUuSEViO2VSYS5kPUlRYS5wcm90b3R5cGUuSDViO2VSYS5lPUlRYS5wcm90b3R5cGUuRDJiO0lRYS5wcm90b3R5cGUuYT1lUmE7dmFyIGZSYT17fTtmUmEuYT1iUmEucHJvdG90eXBlLmdldDtmUmEuYj1iUmEucHJvdG90eXBlLkFmO2JSYS5wcm90b3R5cGUuYT1mUmE7XG52YXIgZ1JhPXt9O2dSYS5hPSRRYS5wcm90b3R5cGUuaXNBdmFpbGFibGU7Z1JhLmI9JFFhLnByb3RvdHlwZS5uQztnUmEuYz0kUWEucHJvdG90eXBlLnduO2dSYS5kPSRRYS5wcm90b3R5cGUuQ3I7Z1JhLmU9JFFhLnByb3RvdHlwZS5ZSTskUWEucHJvdG90eXBlLmE9Z1JhO18uc3JhKElRYSk7aWYoWElhKXRocm93IEVycm9yKFwiaWRcIik7WElhPSEwO1lJYT0xO3ZhciBCcmE9ZnVuY3Rpb24oYSxiKXt0aGlzLmlQPWE7dGhpcy5VWGM9Yn07Xy5oUmE9ITE7dmFyIGlSYT17fSxqUmE9L1xccyo7XFxzKi8sa1JhPWZ1bmN0aW9uKCl7dmFyIGE9e0JmYjohMH07YT1hPT09dm9pZCAwP3t9OmE7YT1hLkJmYj09PXZvaWQgMD8hMTphLkJmYjt0aGlzLm9hPSExO3RoaXMuQWE9dGhpcy5CYT10aGlzLkNhPXZvaWQgMDt0aGlzLkJmYj1hfTt2YXIgbFJhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yj09PXZvaWQgMD97fTpiO2I9Yy5nQmE7Yz1jLndqYTt0aGlzLkJhPWE7dGhpcy5vYT0hMTt0aGlzLkFhPVtdO3RoaXMuZ0JhPWI7dGhpcy53amE9Y307XG5sUmEucHJvdG90eXBlLmRpc3BhdGNoPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBNUGEoYSksYzsoYz10aGlzLmdCYSkhPW51bGwmJihhLmV2ZW50VHlwZT09PVwiY2xpY2tcIiYmXy5zbWEoYS5ldmVudCk/YS5ldmVudFR5cGU9XCJjbGlja21vZFwiOmMub2EmJmMuQ2EoYSkpO2lmKChjPXRoaXMuZ0JhKSE9bnVsbCYmIWEuZWlyKXtmb3IodmFyIGQ9YS50YXJnZXRFbGVtZW50O2QmJmQhPT1hLmVpYzspe2lmKGQubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSl7dmFyIGU9YyxmPWQsZz1hO3ZhciBoPWY7dmFyIGs9aC5fX2pzYWN0aW9uO2lmKCFrKXt2YXIgbD1oLmdldEF0dHJpYnV0ZShcImpzYWN0aW9uXCIpO2lmKGwpe2s9YUlhW2xdO2lmKCFrKXtrPXt9O2Zvcih2YXIgbj1sLnNwbGl0KGpSYSkscj0wO3I8bi5sZW5ndGg7cisrKXt2YXIgdD1uW3JdO2lmKHQpe3ZhciB1PXQuaW5kZXhPZihcIjpcIiksej11IT09LTEsQj16P3Quc3Vic3RyKDAsdSkudHJpbSgpOlwiY2xpY2tcIjt0PXo/dC5zdWJzdHIodStcbjEpLnRyaW0oKTp0O2tbQl09dH19YUlhW2xdPWt9aC5fX2pzYWN0aW9uPWt9ZWxzZSBrPWlSYSxoLl9fanNhY3Rpb249a31oPWs7az1oW2cuZXZlbnRUeXBlXTtrIT09dm9pZCAwJiYoZy5laWE9W2ssZl0pO2Uub2EmJmUuQWEoZixnLGgpfWlmKGEuZWlhKWJyZWFrO2U9dm9pZCAwOyhmPWQuX19vd25lcik/ZD1mOihmPWQucGFyZW50Tm9kZSxkPShmPT1udWxsP3ZvaWQgMDpmLm5vZGVOYW1lKT09PVwiI2RvY3VtZW50LWZyYWdtZW50XCI/KGU9Zj09bnVsbD92b2lkIDA6Zi5ob3N0KSE9bnVsbD9lOm51bGw6Zil9aWYoZD1hLmVpYSlpZihjLm9hJiZjLkJhKGEpLGMuQmZiJiYoYS5ldmVudFR5cGU9PT1cIm1vdXNlZW50ZXJcInx8YS5ldmVudFR5cGU9PT1cIm1vdXNlbGVhdmVcInx8YS5ldmVudFR5cGU9PT1cInBvaW50ZXJlbnRlclwifHxhLmV2ZW50VHlwZT09PVwicG9pbnRlcmxlYXZlXCIpKWlmKGM9YS5ldmVudCxlPWEuZXZlbnRUeXBlLGY9ZFsxXSxnPWMucmVsYXRlZFRhcmdldCwhKGMudHlwZT09PVxuXCJtb3VzZW92ZXJcIiYmZT09PVwibW91c2VlbnRlclwifHxjLnR5cGU9PT1cIm1vdXNlb3V0XCImJmU9PT1cIm1vdXNlbGVhdmVcInx8Yy50eXBlPT09XCJwb2ludGVyb3ZlclwiJiZlPT09XCJwb2ludGVyZW50ZXJcInx8Yy50eXBlPT09XCJwb2ludGVyb3V0XCImJmU9PT1cInBvaW50ZXJsZWF2ZVwiKXx8ZyYmKGc9PT1mfHxmLmNvbnRhaW5zKGcpKSlhLmVpYT12b2lkIDA7ZWxzZXtjPWEuZXZlbnQ7ZT1kWzFdO2Y9e307Zm9yKHZhciBGIGluIGMpRiE9PVwic3JjRWxlbWVudFwiJiZGIT09XCJ0YXJnZXRcIiYmKGc9RixoPWNbZ10sdHlwZW9mIGghPT1cImZ1bmN0aW9uXCImJihmW2ddPWgpKTtmLnR5cGU9Yy50eXBlPT09XCJtb3VzZW92ZXJcIj9cIm1vdXNlZW50ZXJcIjpjLnR5cGU9PT1cIm1vdXNlb3V0XCI/XCJtb3VzZWxlYXZlXCI6Yy50eXBlPT09XCJwb2ludGVyb3ZlclwiP1wicG9pbnRlcmVudGVyXCI6XCJwb2ludGVybGVhdmVcIjtmLnRhcmdldD1mLnNyY0VsZW1lbnQ9ZTtmLmJ1YmJsZXM9ITE7YS5ldmVudD1mO2EudGFyZ2V0RWxlbWVudD1cbmRbMV19YS5laXI9ITB9KGE9amUoYikpJiZhLmVsZW1lbnQudGFnTmFtZT09PVwiQVwiJiYoYi5vYS5ldmVudFR5cGU9PT1cImNsaWNrXCJ8fGIub2EuZXZlbnRUeXBlPT09XCJjbGlja21vZFwiKSYmcG1hKGIuSUcoKSk7dGhpcy53amEmJmIub2EuZWlycD9tUmEodGhpcyxiKTp0aGlzLkJhKGIpfTt2YXIgbVJhPWZ1bmN0aW9uKGEsYil7YS5BYS5wdXNoKGIpO2Eub2F8fChhLm9hPSEwLFByb21pc2UucmVzb2x2ZSgpLnRoZW4oZnVuY3Rpb24oKXthLm9hPSExO2Eud2phKGEuQWEpfSkpfTt2YXIgblJhPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpczt2YXIgZD1iPT09dm9pZCAwP3t9OmI7Yj1kLmdCYTt2YXIgZT1kLndqYTtkPWQuc3RvcFByb3BhZ2F0aW9uPT09dm9pZCAwPyExOmQuc3RvcFByb3BhZ2F0aW9uO3RoaXMub2E9YTt0aGlzLmFjdGlvbnM9e307dGhpcy5CYT1uZXcgTWFwO3RoaXMud2phPWU7dGhpcy5kVj1uZXcgbFJhKGZ1bmN0aW9uKGYpe2lmKGMuQmEuc2l6ZSl7dmFyIGc9Zi5jbG9uZSgpO2cub2EuZXZlbnRUeXBlPT09XCJjbGlja29ubHlcIiYmKGcub2EuZXZlbnRUeXBlPVwiY2xpY2tcIik7dmFyIGg9Zy5JRygpLGs9Yy5CYS5nZXQoZy5vYS5ldmVudFR5cGUpO2c9ITE7aWYoayl7az1fLlBhKGspO2Zvcih2YXIgbD1rLm5leHQoKTshbC5kb25lO2w9ay5uZXh0KCkpbD1sLnZhbHVlLGwoaCk9PT0hMSYmKGc9ITApfWcmJnBtYShoKX1pZihoPWplKGYpKWlmKGMuc3RvcFByb3BhZ2F0aW9uJiYoIXFJYXx8Zi5vYS50YXJnZXRFbGVtZW50LnRhZ05hbWUhPT1cIklOUFVUXCImJlxuZi5vYS50YXJnZXRFbGVtZW50LnRhZ05hbWUhPT1cIlRFWFRBUkVBXCJ8fGYub2EuZXZlbnRUeXBlIT09XCJmb2N1c1wiKSYmKGc9Zi5JRygpLGcuc3RvcFByb3BhZ2F0aW9uJiZnLnN0b3BQcm9wYWdhdGlvbigpKSxnPXZvaWQgMCxjLm9hJiYoZz1jLm9hKGYpKSxnfHwoZz1jLmFjdGlvbnNbaC5uYW1lXSksZylnKGYpO2Vsc2V7dmFyIG47KG49Yy5BYSk9PW51bGx8fG4ucHVzaChmKX19LHtnQmE6Yix3amE6ZnVuY3Rpb24oZil7Yy5BYT1mO3ZhciBnOyhnPWMud2phKT09bnVsbHx8Zy5jYWxsKGMsYy5BYSxjKX19KTt0aGlzLnN0b3BQcm9wYWdhdGlvbj1kfTtuUmEucHJvdG90eXBlLmRpc3BhdGNoPWZ1bmN0aW9uKGEpe3RoaXMuZFYuZGlzcGF0Y2goYSl9O3ZhciBvUmE9ZnVuY3Rpb24oYSxiKXthLndqYT1ifTt2YXIgcFJhPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCl7ZD1kPT09dm9pZCAwP1RsYTpkO2Y9Zj09PXZvaWQgMD8hMTpmO2c9Zz09PXZvaWQgMD8hMTpnO3RoaXMuVWE9YTt0aGlzLlJhPWI7dGhpcy5YYj1jO3RoaXMuQWE9aDt0aGlzLmxvZ2dlcj1udWxsO3RoaXMuQ2E9W107dGhpcy5wcm9jZXNzb3JzPXt9O3RoaXMub2E9W107dGhpcy5HYT0hMTt0aGlzLlFhPV8uYWYoKTthPW5ldyBrUmE7Z3x8KGEub2E9ITAsYS5DYT1KcmEsYS5CYT1McmEsYS5BYT1NcmEpO3RoaXMuT2E9bmV3IG5SYSh0aGlzLkJhKCkse2dCYTphLHN0b3BQcm9wYWdhdGlvbjpmfSk7b1JhKHRoaXMuT2EsZnVuY3Rpb24oayxsKXtmb3IodmFyIG47bj1rLnNoaWZ0KCk7KW4ub2EuZWlycD0hMSxsLmRpc3BhdGNoKG4ub2EpfSk7Yj1iLkFmKCk7Yi5fX3dpemRpc3BhdGNoZXJfcmVzb2x2ZSYmKGIuX193aXpkaXNwYXRjaGVyX3Jlc29sdmUoKSxkZWxldGUgYi5fX3dpemRpc3BhdGNoZXJfcmVzb2x2ZSk7Yi5fX3dpemRpc3BhdGNoZXI9XG50aGlzO2h8fCh0aGlzLkFhPUNyYShkLGUpKX0seVJhLHhSYSx2UmEselJhLHNSYSx1UmEsdFJhLENSYSx3UmEsQVJhLEJSYTtwUmEucHJvdG90eXBlLnhuPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWGJ9O3BSYS5wcm90b3R5cGUudUw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5YYn07cFJhLnByb3RvdHlwZS50cmlnZ2VyPWZ1bmN0aW9uKGEpe3RoaXMuVWEoYSl9O3ZhciBtSGE9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2I9e3R5cGU6Yyx0YXJnZXQ6YixidWJibGVzOmU9PT12b2lkIDA/ITA6ZX07ZCE9PXZvaWQgMCYmKGIuZGF0YT1kKTtmJiYoYj1PYmplY3QuYXNzaWduKHt9LGIsZikpO2EudHJpZ2dlcihiKX07XG5wUmEucHJvdG90eXBlLk91PWZ1bmN0aW9uKGEpe2lmKGEub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY29udGFpbnMoYSkpe2Zvcih2YXIgYj1fLlBhKHRoaXMuQ2EpLGM9Yi5uZXh0KCk7IWMuZG9uZTtjPWIubmV4dCgpKWlmKGMudmFsdWUuY29udGFpbnMoYSkpcmV0dXJuITE7cmV0dXJuITB9Zm9yKGI9YTtiPWIucGFyZW50Tm9kZTspe2M9dm9pZCAwO2I9KGM9Yi5ob3N0KSE9bnVsbD9jOmI7aWYodGhpcy5DYS5pbmNsdWRlcyhiKSlicmVhaztpZihiPT09YS5vd25lckRvY3VtZW50KXJldHVybiEwfXJldHVybiExfTtcbnBSYS5wcm90b3R5cGUubGQ9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxjPV8uSmQuZ2V0SW5zdGFuY2UoKSxkPWEuZ2V0QXR0cmlidXRlKFwianNjb250cm9sbGVyXCIpO2lmKCFkKXJldHVybiBjPWEuZ2V0QXR0cmlidXRlKFwianNuYW1lXCIpLF8ua29hKEVycm9yKFwiamRgXCIrKGM/XCIgW3dpdGgganNuYW1lICdcIitjK1wiJ11cIjpcIlwiKSkpO3RyeXt2YXIgZT10aGlzLkxhKGQsYSl9Y2F0Y2goayl7cmV0dXJuIF8ua29hKGspfWlmKGUpcmV0dXJuIGUuUXYoKS5hZGRDYWxsYmFjayhmdW5jdGlvbihrKXt2YXIgbD1fLmVmKGQpLG4scj0obj1rLk5kZCk9PW51bGw/dm9pZCAwOm4uY2FsbChrKTtyZXR1cm4gciYmci50b1N0cmluZygpIT09bC50b1N0cmluZygpPyhTR2EoYSksay5kaXNwb3NlKCksYi5sZChhKSk6a30pO3ZhciBmPV8uZWYoZCksZz1uZXcgXy5IZDtTR2EoYSxnKTtpb2EodGhpcy5SYSxhKTt0aGlzLk91KGEpfHwoZy5jYW5jZWwoKSxTR2EoYSkpO3ZhciBoPWZ1bmN0aW9uKGspe2lmKGIuT3UoYSkpe2s9XG5rLmNyZWF0ZShmLGEsYik7dmFyIGw9ITA7ay5hZGRDYWxsYmFjayhmdW5jdGlvbihuKXtsfHxiLk91KGEpP2cuY2FsbGJhY2sobik6KGcuY2FuY2VsKCksU0dhKGEpKX0pO18udGcoayxnLlJELGcpO2w9ITF9ZWxzZSBnLmNhbmNlbCgpLFNHYShhKX07Xy50ZyhfLmZvYShjLGYpLmFkZENhbGxiYWNrKGZ1bmN0aW9uKGspe2goayl9KSxmdW5jdGlvbihrKXtnLlJEKGspfSk7cmV0dXJuIGcuUXYoKX07Xy5xUmE9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9Xy5QYShhLm9hKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7ZD1fLlBhKGIpO2Zvcih2YXIgZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpO31hLm9hLnB1c2guYXBwbHkoYS5vYSxfLm1kKGIpKX07XG55UmE9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3ZhciBnPWplKGIpLmVsZW1lbnQsaD1iLklHKCk7aC56d2E9clJhKGgpO3ZhciBrPXNSYShiKSxsLG49W10uY29uY2F0KF8ubWQoKGw9JEhhKGcsYi5vYS5ldmVudFR5cGUpKSE9bnVsbD9sOltdKSkscj0hIW4mJm4ubGVuZ3RoPjAsdD0hMTtmIT1udWxsJiZmLmlQLlF2KFwid2l6XCIpO2lmKHIpe2w9Xy5QYShuKTtuPWwubmV4dCgpO2Zvcih2YXIgdT17fTshbi5kb25lO3U9e2E3Yjp2b2lkIDB9LG49bC5uZXh0KCkpdS5hN2I9bi52YWx1ZSxjLmFkZENhbGxiYWNrKGZ1bmN0aW9uKEspe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0UmEoYSxiLEsuYTdiLG51bGwsayl9fSh1KSksYy5hZGRDYWxsYmFjayhmdW5jdGlvbihLKXt0PUsoKT09PSEwfHx0fSl9dmFyIHo9Xy5JbWEoZywhMCk7aWYoeil7Zz1aSGEoamUoYikubmFtZSk7dmFyIEI9dVJhKGIsZyx6KTtpZihCLmxlbmd0aCl7dmFyIEY9YS5sZCh6KTtjLmFkZENhbGxiYWNrKGZ1bmN0aW9uKCl7cmV0dXJuIHZSYShhLFxuYixCLHosaCxGLHQsZil9KX1lbHNlIGMuYWRkQ2FsbGJhY2soZnVuY3Rpb24oKXtyP3QmJndSYShhLGIpOndSYShhLGIsITApfSl9ZWxzZSBjLmFkZENhbGxiYWNrKGZ1bmN0aW9uKCl7dCYmd1JhKGEsYiwhMCl9KTtfLnRnKGMsZnVuY3Rpb24oSyl7aWYoSyBpbnN0YW5jZW9mIF8uRURhKXJldHVybiBfLmFmKCk7aWYoeiYmeiE9PWRvY3VtZW50LmJvZHkpe3ZhciBQPWU/aC5kYXRhLmVycm9ycy5zbGljZSgpOltdO3ZhciBRPV8uJGxhKHopO2lmKFEpe2lmKCF4UmEoYSkpdGhyb3cgSztLPXtpeGU6Yi5vYS5ldmVudFR5cGUsWXZlOnouZ2V0QXR0cmlidXRlKFwianNjb250cm9sbGVyXCIpLGVycm9yOkt9O1AucHVzaChLKTtLPW5ldyBfLkhkO3ZhciBVPXt9O1U9KFUuX2RfZXJyPSEwLFUuX3I9SyxVKTtfLnplKFEsU0hhLHtlcnJvcnM6UH0sdm9pZCAwLFUpO1A9S31lbHNlIF8uY2EoSyksUD1fLmFmKCk7cmV0dXJuIFB9dGhyb3cgSzt9KTtLRGEoYyxmdW5jdGlvbigpe2YhPW51bGwmJmYuaVAuZG9uZShcIndpelwiKTtcbmQuY2FsbGJhY2soKX0pfTt4UmE9ZnVuY3Rpb24oYSl7ZG9jdW1lbnQuYm9keSYmIWEuR2EmJihfLnVlKGRvY3VtZW50LmJvZHksU0hhLGZ1bmN0aW9uKGIpe2lmKChiPWIuZGF0YSkmJmIuZXJyb3JzJiZiLmVycm9ycy5sZW5ndGg+MCl0aHJvdyBiLmVycm9yc1swXS5lcnJvcjt9LGEpLGEuR2E9ITApO3JldHVybiBhLkdhfTt2UmE9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoKXtmLm9hJiYoZS5zJGI9ITApO2YuYWRkQ2FsbGJhY2soZnVuY3Rpb24oayl7aWYoaCE9bnVsbCl7dmFyIGw9ZC5nZXRBdHRyaWJ1dGUoXCJqc2NvbnRyb2xsZXJcIiksbjsobj1oLlVYYyk9PW51bGx8fG4uQ2EoaC5pUCxsKX1yZXR1cm4gelJhKGEsayxiLGQsYyxnKX0pO3JldHVybiBmfTtcbnpSYT1mdW5jdGlvbihhLGIsYyxkLGUsZil7dmFyIGc9Yy5JRygpLGg9Xy5hZigpO2guYWRkQ2FsbGJhY2soZnVuY3Rpb24oKXtyZXR1cm4gTm5hKGIpfSk7ZT1fLlBhKGUpO2Zvcih2YXIgaz1lLm5leHQoKSxsPXt9OyFrLmRvbmU7bD17c1ZiOnZvaWQgMCxDb2M6dm9pZCAwfSxrPWUubmV4dCgpKWs9ay52YWx1ZSxsLnNWYj1rLmFjdGlvbixsLkNvYz1rLnRhcmdldCxoLmFkZENhbGxiYWNrKGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbigpe2Zvcih2YXIgcj1uLnNWYix0PXIuYWN0aW9uLHU9bnVsbCx6PWIsQj1udWxsOyFCJiZ6JiYoQj0oei5QX3x8W10pW3RdLHo9ei5jb25zdHJ1Y3Rvci5PZCx6JiZ6LlBfKTspO0ImJih1PUIuY2FsbChiKSk7aWYoIXUpdGhyb3cgRXJyb3IoXCJiY2BcIityLmFjdGlvbitcImBcIitiKTtyZXR1cm4gdFJhKGEsYyx1LGIsbi5Db2MpfX0obCkpLGguYWRkQ2FsbGJhY2soZnVuY3Rpb24obil7Zj1uKCk9PT0hMHx8Zn0pO2guYWRkQ2FsbGJhY2soZnVuY3Rpb24oKXtpZihmJiZcbmcuYnViYmxlcyE9PSExKXt2YXIgbj1BUmEoYSxjLGQpO24hPW51bGwmJmEudHJpZ2dlcihuKX19KTtyZXR1cm4gaH07c1JhPWZ1bmN0aW9uKGEpe3ZhciBiPWEuSUcoKTtyZXR1cm5cIl9yZXRhcmdldFwiaW4gYj9iLl9yZXRhcmdldDphLm9hLnRhcmdldEVsZW1lbnR9O1xudVJhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1bXSxlPWEuSUcoKTtiPWIuZ2V0KCk7Zm9yKHZhciBmPTA7ZjxiLmxlbmd0aDtmKyspe3ZhciBnPWJbZl07aWYoZy5hY3Rpb24hPT1cIkNMSUVOVFwiKXt2YXIgaD1zUmEoYSksaz1udWxsO2lmKGcudGFyZ2V0KXtrPWM7dmFyIGw9aCxuPW51bGw7ZG97dmFyIHI9bC5nZXRBdHRyaWJ1dGUoXCJqc25hbWVcIiksdD1PcmEobCk7aWYoZy50YXJnZXQ9PT1yJiZ0PT09ayl7bj1sO2JyZWFrfWw9Xy4kbGEobCl9d2hpbGUobCYmbCE9PWspO2s9bjtpZighayljb250aW51ZX1nLmFyZ3MmJmcuYXJncy5wcmV2ZW50RGVmYXVsdD09PVwidHJ1ZVwiJiYobj1sPXZvaWQgMCwobj0obD1lKS5wcmV2ZW50RGVmYXVsdCk9PW51bGx8fG4uY2FsbChsKSk7ZC5wdXNoKHthY3Rpb246Zyx0YXJnZXQ6a3x8aH0pfX1yZXR1cm4gZH07XG50UmE9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1iLklHKCk7Yj1qZShiKS5lbGVtZW50O2Uubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERSYmKGU9ZS5wYXJlbnROb2RlKTt2YXIgZz1uZXcgXy5wZShmLG5ldyBfLkxuKGUpLG5ldyBfLkxuKGIpLGYuX19zb3VyY2UsbmV3IF8uTG4oQlJhKGYsZSkpKSxoPVtdO2U9W107Zj1fLlBhKGEub2EpO2ZvcihiPWYubmV4dCgpOyFiLmRvbmU7Yj1mLm5leHQoKSl7Yj1iLnZhbHVlO3ZhciBrPWEucHJvY2Vzc29yc1tiLnRvU3RyaW5nKCldO2s/aC5wdXNoKGspOmUucHVzaChiKX1yZXR1cm4gQ1JhKGEsZSkuYWRkQ2FsbGJhY2soZnVuY3Rpb24obCl7bD1fLlBhKGwpO2Zvcih2YXIgbj1sLm5leHQoKTshbi5kb25lO249bC5uZXh0KCkpaC5wdXNoKG4udmFsdWUpO2lmKGgubGVuZ3RoKXtpZih6cmEoZCxnLGgpKXJldHVybiBmdW5jdGlvbigpe307QXJhKGcsaCl9cmV0dXJuIGMuYmluZChkLGcpfSl9O1xuQ1JhPWZ1bmN0aW9uKGEsYil7dmFyIGM9W107Xy52R2EoXy5KZC5nZXRJbnN0YW5jZSgpLGIpO2I9Xy5QYShiKTtmb3IodmFyIGQ9Yi5uZXh0KCksZT17fTshZC5kb25lO2U9e1p3Yjp2b2lkIDB9LGQ9Yi5uZXh0KCkpZS5ad2I9ZC52YWx1ZSxkPV8uS2QoZS5ad2IsYS5YYikuYWRkQ2FsbGJhY2soZnVuY3Rpb24oZil7cmV0dXJuIGZ1bmN0aW9uKGcpe2EucHJvY2Vzc29yc1tmLlp3Yi50b1N0cmluZygpXT1nfX0oZSkpLGMucHVzaChkKTtyZXR1cm4gXy56R2EoYyl9O3dSYT1mdW5jdGlvbihhLGIsYyl7KGI9QVJhKGEsYix2b2lkIDAsYz09PXZvaWQgMD8hMTpjKSkmJmEudHJpZ2dlcihiKX07XG5BUmE9ZnVuY3Rpb24oYSxiLGMsZCl7ZD1kPT09dm9pZCAwPyExOmQ7dmFyIGU9Yi5JRygpLGY9e30sZztmb3IoZyBpbiBlKXR5cGVvZiBlW2ddIT09XCJmdW5jdGlvblwiJiZnIT09XCJ0YXJnZXRcIiYmZyE9PVwicGF0aFwiJiYoZltnXT1lW2ddKTtjPV8uJGxhKGN8fGplKGIpLmVsZW1lbnQpO2lmKCFjfHwhYS5PdShjKSlyZXR1cm4gbnVsbDtmLnRhcmdldD1jO3ZhciBoO2lmKChoPWUucGF0aCkhPW51bGw/aDplLmNvbXBvc2VkUGF0aCl7dmFyIGs7YT0oaz1lLnBhdGgpIT1udWxsP2s6ZS5jb21wb3NlZFBhdGgoKTtmb3Ioaz0wO2s8YS5sZW5ndGg7aysrKWlmKGFba109PT1jKXtmLnBhdGg9YS5zbGljZShrKTtmLmNvbXBvc2VkUGF0aD1mdW5jdGlvbigpe3JldHVybiBmLnBhdGh9O2JyZWFrfX1mLl9yZXRhcmdldD1zUmEoYik7Zi5fbHQ9ZD9lLl9sdD9lLl9sdDpmLl9yZXRhcmdldDpmLnRhcmdldDtmLl9vcmlnaW5hbEV2ZW50PWU7ZS5wcmV2ZW50RGVmYXVsdCYmKGYuZGVmYXVsdFByZXZlbnRlZD1cbmUuZGVmYXVsdFByZXZlbnRlZHx8ITEsZi5wcmV2ZW50RGVmYXVsdD1QcmEpO2Uuc3RvcFByb3BhZ2F0aW9uJiYoZi5fcHJvcGFnYXRpb25TdG9wcGVkPWUuX3Byb3BhZ2F0aW9uU3RvcHBlZHx8ITEsZi5zdG9wUHJvcGFnYXRpb249UXJhLGYuX2ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZD1lLl9pbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWR8fCExLGYuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uPVJyYSk7cmV0dXJuIGZ9O0JSYT1mdW5jdGlvbihhLGIpe3JldHVybihhPWEuX2x0KSYmIWIuY29udGFpbnMoYSk/YTpifTtcbnBSYS5wcm90b3R5cGUuQmE9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihiKXt2YXIgYzthLkFhJiYoYz1hLkFhKGIpKTt2YXIgZDsoZD1jKSE9bnVsbCYmKGQuaVAuTGE9ITApO3ZhciBlPWM7aWYoIWEuWGJ8fCFhLlhiLmlzRGlzcG9zZWQoKSlpZihkPWplKGIpLmVsZW1lbnQsIWR8fCFfLmhSYXx8KFwiaXNDb25uZWN0ZWRcImluIGQ/ZC5pc0Nvbm5lY3RlZDpfLndmKF8ua2coZCksZCkpKXt2YXIgZj1qZShiKS5uYW1lLGc9Zi5zdWJzdHJpbmcoMCxmLmluZGV4T2YoXCIuXCIpKTtpZihnKWc9PT1cInRyaWdnZXJcIiYmKGU9WkhhKGYpLGU9dVJhKGIsZSxkKSxlPV8uUGEoZSkubmV4dCgpLnZhbHVlKSYmKGU9bmV3IF8uQUhhKGUuYWN0aW9uLmFjdGlvbi5zdWJzdHJpbmcoOCkpLGI9Yi5JRygpLmRhdGEsXy56ZShkLGUsYikpO2Vsc2V7dmFyIGg9KGQ9Yi5JRygpKSYmZC5fZF9lcnI7aD8oZj1fLmFmKCksZz1kLl9yLGRlbGV0ZSBkLl9kX2VycixcbmRlbGV0ZSBkLl9yKTooZj1hLlFhLGc9bmV3IF8uSGQsYS5RYT1fLmFmKCkpO3lSYShhLGIsZixnLGgsZSl9fXZhciBrOyhrPWMpIT1udWxsJiZrLmlQLmRvbmUoXCJtYWluLWFjdGlvbmZsb3ctYnJhbmNoXCIpfX19O3ZhciByUmE9ZnVuY3Rpb24oYSl7YT1hLnRpbWVTdGFtcDtpZihhPT09dm9pZCAwKXJldHVybiBudWxsO3ZhciBiPV8uamgoKTtyZXR1cm4gYT49YiszMTUzNkU2P2EvMUUzOmE+PWItMzE1MzZFNiYmYTxiKzMxNTM2RTY/YTpfLmNoKFwid2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnRcIik/YSt3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydDpudWxsfTtwUmEucHJvdG90eXBlLkxhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGIuX19qc2NvbnRyb2xsZXJ9O3ZhciBVcmE9ZnVuY3Rpb24oYSxiLGMsZCxlKXtwUmEuY2FsbCh0aGlzLGEsYixjLGQsZSk7dmFyIGY9dGhpcztVcWEoZnVuY3Rpb24oZyl7Zi5DYS5wdXNoKF8ucGcoZy5yb290KSl9KX07Xy5EKFVyYSxwUmEpO1xuVXJhLnByb3RvdHlwZS5CYT1mdW5jdGlvbigpe3ZhciBhPXBSYS5wcm90b3R5cGUuQmEuY2FsbCh0aGlzKTtyZXR1cm4gZnVuY3Rpb24oYil7dmFyIGMsZD0oYz1qZShiKSk9PW51bGw/dm9pZCAwOmMuZWxlbWVudDtpZighZClyZXR1cm4gZnVuY3Rpb24oKXt9O2lmKGM9Xy5QcWEoZCkpe3ZhciBlLGYsZyxoO2MuZFYuZGlzcGF0Y2goYi5vYS5ldmVudFR5cGUsYi5JRygpLGIub2EudGFyZ2V0RWxlbWVudCwoZz0oZT1qZShiKSk9PW51bGw/dm9pZCAwOmUubmFtZSkhPW51bGw/ZzpcIlwiLChoPShmPWplKGIpKT09bnVsbD92b2lkIDA6Zi5lbGVtZW50KSE9bnVsbD9oOm51bGwsYi5JcSgpLGIuZ2V0Q29udGFpbmVyKCkpO3JldHVybiBmdW5jdGlvbigpe319aWYoYSlyZXR1cm4gYShiKTt0aHJvdyBFcnJvcihcImtkXCIpO319O1xuVXJhLnByb3RvdHlwZS5MYT1mdW5jdGlvbihhLGIpe2lmKChiPWIuX19qc2NvbnRyb2xsZXIpJiYhKGIgaW5zdGFuY2VvZiBfLkhkKSl0aHJvdyBFcnJvcihcImxkYFwiK2EpO3JldHVybiBifTt2YXIgVHJhPWZ1bmN0aW9uKGEsYil7Y0phLmNhbGwodGhpcyxhLGIpfTtfLkQoVHJhLGNKYSk7VHJhLnByb3RvdHlwZS5rYj1mdW5jdGlvbihhKXtfLlFhYShhLGZ1bmN0aW9uKGIpe3JldHVybiEhXy5QcWEoYil9KX07VHJhLnByb3RvdHlwZS5oYj1mdW5jdGlvbigpe18uTnFhKCl9O3ZhciBkc2E9ZnVuY3Rpb24oKXtfLkNrLmNhbGwodGhpcyk7dGhpcy5YYj1uZXcgXy5VTmF9O18uRChkc2EsXy5zRmEpO2RzYS5wcm90b3R5cGUuaW5pdGlhbGl6ZT1mdW5jdGlvbigpe3ZhciBhPXRoaXM7YVFhKHRoaXMuWGIpO3ZhciBiPSgwLF8ucG9hKSgpO2IuTkdiKHRoaXMuWGIpO3RoaXMuWGIuVWE9YjtmbmEoKTtURWE/VGphKGZ1bmN0aW9uKCl7RFJhKGEpO2VKYSgpO2lBYSYmKFdxYT0hMCxZcWEucmVzb2x2ZSgpKX0pOihoQWF8fERSYSh0aGlzKSxUamEoZnVuY3Rpb24oKXtoQWEmJkRSYShhKTtlSmEoKTtpQWEmJihXcWE9ITAsWXFhLnJlc29sdmUoKSl9KSk7U0ZhKCl9O1xudmFyIERSYT1mdW5jdGlvbihhKXtfLnpuKF8uZmYoaVFhKSxEUWEpO2dvb2dsZS5sbWY9YnJhO18uSmQuZ2V0SW5zdGFuY2UoKS5MYT1mdW5jdGlvbihjLGQpe2lmKCFnb29nbGUuc3R2c2MmJmdvb2dsZS5sbSYmZ29vZ2xlLnBsbSl7Z29vZ2xlLnBsbShkKTtjPXt9O2Zvcih2YXIgZT1fLlBhKGQpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKWY9Zi52YWx1ZSxnb29nbGUuamwmJmdvb2dsZS5qbC51d3A/KCRxYS5oYXMoZil8fCRxYS5zZXQoZixuZXcgXy5zZyksY1tmXT0kcWEuZ2V0KGYpLnByb21pc2UpOmNbZl09YXJhLnByb21pc2V9ZWxzZSBjPW51bGw7cmV0dXJuIGN8fFpxYShkKX07V3JhKGEuWGIpO18uRnFhKHtqc2RhdGE6aHJhfSk7Xy5GcWEoe0FlOmVyYX0pO18uZ28uSW8oW18uWUphLF8uWkphXSxsa2EpO18uem4oXy5mZihfLmFLYSksXy5VSmEpO18uem4oXy5mZihfLmpvKSxfLmJLYSk7Xy56bihfLmZmKF8uZkthKSxfLmVLYSk7Xy56bihfLmZmKF8uJEphKSxfLmRLYSk7XG5fLnpuKF8uZmYoXy5nS2EpLF8uaEthKTtfLnpuKF8uZmYoXy5jS2EpLF8uZm8pO3dBYSYmXy56bihfLmZmKF8uTkphKSxfLlNQYSk7Xy5ESmEmJl8ucVJhKF8ueGUoZG9jdW1lbnQpLFtfLkZKYV0pO2lBYXx8KFdxYT0hMCxZcWEucmVzb2x2ZSgpKTt2YXIgYj1fLmpvYSh3aW5kb3cuZG9jdW1lbnQpO2IuQ2EudW5saXN0ZW4oXy5RZShiLkdhKSxcInVubG9hZFwiLGIuZGlzcG9zZSk7d2luZG93Lndpel9wcm9ncmVzcz1mdW5jdGlvbigpe3JldHVybiBiLnF2KCl9O18uRnFhKHtKZTpic2EsaGRhOl8uSG9hfSk7Z29vZ2xlLmJ1ZHQ9PT12b2lkIDB8fGdvb2dsZS5idWR0PD0wfHx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImJlZm9yZXVubG9hZFwiLFFvYSk7Y3NhKCk7SXFhKCk7IXdpbmRvdy5vbmVycm9yJiZnb29nbGUmJmdvb2dsZS5lcmQmJmdvb2dsZS5lcmQuanNyJiYod2luZG93Lm9uZXJyb3I9UG9hKTtFUmEoKX0sRVJhPWZ1bmN0aW9uKCl7Z29vZ2xlLmZjZT1nSWE7dmFyIGE9Z29vZ2xlLnFjZTtcbmlmKGEhPW51bGwpe2dvb2dsZS5xY2U9bnVsbDthPV8uUGEoYSk7Zm9yKHZhciBiPWEubmV4dCgpOyFiLmRvbmU7Yj1hLm5leHQoKSlnSWEuYXBwbHkodm9pZCAwLGIudmFsdWUpfX07dmFyIEdSYT1mdW5jdGlvbigpe3ZhciBhPW5ldyBGUmE7dGhpcy5BYT17fTt0aGlzLkJhPXt9O3RoaXMuZFY9bnVsbDt0aGlzLm9hPVtdO3RoaXMuQ2E9YX07R1JhLnByb3RvdHlwZS5oYW5kbGVFdmVudD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Yi50YXJnZXQsZT1EYXRlLm5vdygpO0hSYSh0aGlzLHtldmVudFR5cGU6YSxldmVudDpiLHRhcmdldEVsZW1lbnQ6ZCxlaWM6Yyx0aW1lU3RhbXA6ZSxlaWE6dm9pZCAwLGVpcnA6dm9pZCAwLGVpYWNrOnZvaWQgMH0pfTtcbnZhciBIUmE9ZnVuY3Rpb24oYSxiKXtpZihhLmRWKWEuZFYoYik7ZWxzZXtiLmVpcnA9ITA7dmFyIGM7KGM9YS5vYSk9PW51bGx8fGMucHVzaChiKX19LGpzYT1mdW5jdGlvbihhLGIpe2lmKCEoYiBpbiBhLkFhKSYmYS5DYSl7dmFyIGM9ZnVuY3Rpb24oZixnLGgpe2EuaGFuZGxlRXZlbnQoZixnLGgpfTthLkFhW2JdPWM7dmFyIGQ9Yj09PVwibW91c2VlbnRlclwiP1wibW91c2VvdmVyXCI6Yj09PVwibW91c2VsZWF2ZVwiP1wibW91c2VvdXRcIjpiPT09XCJwb2ludGVyZW50ZXJcIj9cInBvaW50ZXJvdmVyXCI6Yj09PVwicG9pbnRlcmxlYXZlXCI/XCJwb2ludGVyb3V0XCI6YjtpZihkIT09Yil7dmFyIGU9YS5CYVtkXXx8W107ZS5wdXNoKGIpO2EuQmFbZF09ZX1hLkNhLmFkZEV2ZW50TGlzdGVuZXIoZCxmdW5jdGlvbihmKXtyZXR1cm4gZnVuY3Rpb24oZyl7YyhiLGcsZil9fSl9fTtHUmEucHJvdG90eXBlLmhhbmRsZXI9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuQWFbYV19O1xuR1JhLnByb3RvdHlwZS5aQj1mdW5jdGlvbigpe3RoaXMuQ2EuWkIoKTt0aGlzLkNhPW51bGw7dGhpcy5BYT17fTt0aGlzLkJhPXt9O3RoaXMuZFY9bnVsbDt0aGlzLm9hPVtdfTtHUmEucHJvdG90eXBlLmVjcmQ9ZnVuY3Rpb24oYSl7dGhpcy5kVj1hO3ZhciBiO2lmKChiPXRoaXMub2EpPT1udWxsPzA6Yi5sZW5ndGgpe2ZvcihhPTA7YTx0aGlzLm9hLmxlbmd0aDthKyspSFJhKHRoaXMsdGhpcy5vYVthXSk7dGhpcy5vYT1udWxsfX07dmFyIElSYT10eXBlb2YgbmF2aWdhdG9yIT09XCJ1bmRlZmluZWRcIiYmL2lQaG9uZXxpUGFkfGlQb2QvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksRlJhPWZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50PXdpbmRvdy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7dGhpcy5vYT1bXX07RlJhLnByb3RvdHlwZS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGEsYil7SVJhJiYodGhpcy5lbGVtZW50LnN0eWxlLmN1cnNvcj1cInBvaW50ZXJcIik7dmFyIGM9dGhpcy5vYSxkPWMucHVzaCxlPXRoaXMuZWxlbWVudDtiPWIodGhpcy5lbGVtZW50KTt2YXIgZj0hMTtwSWEuaW5kZXhPZihhKT49MCYmKGY9ITApO2UuYWRkRXZlbnRMaXN0ZW5lcihhLGIsZik7ZC5jYWxsKGMse2V2ZW50VHlwZTphLGhhbmRsZXI6YixjYXB0dXJlOmZ9KX07XG5GUmEucHJvdG90eXBlLlpCPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPTA7YTx0aGlzLm9hLmxlbmd0aDthKyspe3ZhciBiPXRoaXMuZWxlbWVudCxjPXRoaXMub2FbYV07Yi5yZW1vdmVFdmVudExpc3RlbmVyP2IucmVtb3ZlRXZlbnRMaXN0ZW5lcihjLmV2ZW50VHlwZSxjLmhhbmRsZXIsYy5jYXB0dXJlKTpiLmRldGFjaEV2ZW50JiZiLmRldGFjaEV2ZW50KFwib25cIitjLmV2ZW50VHlwZSxjLmhhbmRsZXIpfXRoaXMub2E9W119O2lmKGdBYSl7Zm9yKHZhciBoc2E9bmV3IEdSYSxKUmE9aHNhLEtSYT1cImNsaWNrIGZvY3VzIGZvY3VzaW4gYmx1ciBmb2N1c291dCBlcnJvciBsb2FkIGF1eGNsaWNrIGNoYW5nZSBjb3B5IGRibGNsaWNrIGJlZm9yZWlucHV0IGlucHV0IGtleXVwIGtleWRvd24ga2V5cHJlc3MgbW91c2Vkb3duIG1vdXNlZW50ZXIgbW91c2VsZWF2ZSBtb3VzZW91dCBtb3VzZW92ZXIgbW91c2V1cCBwYXN0ZSBwb2ludGVyZW50ZXIgcG9pbnRlcmxlYXZlIHRvdWNoc3RhcnQgdG91Y2htb3ZlIHRvdWNoZW5kIHRvdWNoY2FuY2VsIHRyYW5zaXRpb25jYW5jZWwgdHJhbnNpdGlvbmVuZCB0cmFuc2l0aW9ucnVuIHRyYW5zaXRpb25zdGFydCBkcmFnb3ZlciBkcmFnZW50ZXIgZHJhZ2xlYXZlIGRyb3AgZHJhZ3N0YXJ0IGRyYWdlbmQgc3BlZWNoXCIuc3BsaXQoXCIgXCIpLExSYT0wO0xSYTxLUmEubGVuZ3RoO0xSYSsrKWpzYShKUmEsS1JhW0xSYV0pO2pzYShoc2EsXCJfY3VzdG9tXCIpO2lzYSgpO3ZhciBubWE9a3NhKCk7XG5fLmJhLmd3c193aXpiaW5kPW5tYTtvbWEoKTt2YXIgTVJhPWhzYSxmc2E7aWYoZnNhPWZzYT09PXZvaWQgMD93aW5kb3cuX2Vqc2E6ZnNhKXtmb3IodmFyIE5SYT1mc2EucSxPUmE9MDtPUmE8TlJhLmxlbmd0aDtPUmErKyl7dmFyIFBSYT1OUmFbT1JhXSxRUmE9TVJhLFJSYT1QUmEuZXZlbnRUeXBlLFNSYT1bXTtRUmEuQWFbUlJhXSYmU1JhLnB1c2goUlJhKTtRUmEuQmFbUlJhXSYmU1JhLnB1c2guYXBwbHkoU1JhLF8ubWQoUVJhLkJhW1JSYV0pKTtmb3IodmFyIFRSYT1TUmEsVVJhPTA7VVJhPFRSYS5sZW5ndGg7VVJhKyspe3ZhciBWUmE9THFhKFBSYSk7VlJhLmV2ZW50VHlwZT1UUmFbVVJhXTtIUmEoTVJhLFZSYSl9fWZzYSYmKGdzYShmc2EuZXQpLGdzYShmc2EuZXRjLCEwKSk7ZGVsZXRlIHdpbmRvdy5fZWpzYX19Xy5lc2EoKTtfLlNtYSgpO3ZhciBXUmE9e307Xy5xbmEoXCJqc2FcIiwoV1JhLmluaXQ9Xy5IbWEsV1JhKSk7XG5uYXZpZ2F0b3IudmVuZG9yPT09XCJHb29nbGUgSW5jLlwiJiYoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLmN1cnNvcj1cIlwiKTt6ZChcIkdDdmU5ZVwiLFwiUHpXNTlkXCIpO3pkKFwiRlo4d1ZkXCIsXCJQelc1OWRcIik7emQoXCJFNlM0dGNcIixcIlFLV0d6Y1wiKTt6ZChcInllemdJY1wiLFwiRVdwU0hcIik7Xy5YUmE9Xy5HZChcIklQUGNBZVwiLFtdKTtfLmJxPV8uR2QoXCJVRlpoQmNcIixbXy5Bbl0pO18uWVJhPV8uR2QoXCJVU2dGOGRcIixbXy5icV0pO18uWlJhPV8uR2QoXCJNZjN6RWJcIixbXy5ZUmFdKTtfLiRSYT1fLkdkKFwiUXpHNG9kXCIsW18uWVJhLF8uWlJhXSk7emQoXCJhTFVmUFwiLFwiUDdZT1dlXCIpO18uYVNhPV8uR2QoXCJhTFVmUFwiLFtfLkFuXSk7Xy5jcT1fLkZkKFwiUDdZT1dlXCIsXCJ3UWxZdmVcIix2b2lkIDAsXy5hU2EpO18uYlNhPV8uR2QoXCJpejdMaWRcIixbXy4kUmEsXy5jcV0pO3pkKFwiSUlmNWpiXCIsXCJRQUdaeGRcIik7emQoXCJJU0kzZlwiLFwicUFNTGtmXCIpO3pkKFwieTNJNURjXCIsXCJxQU1Ma2ZcIik7emQoXCJzNWd0SWZcIixcInFBTUxrZlwiKTt6ZChcIkZNcUFXXCIsXCJxQU1Ma2ZcIik7emQoXCJwWXNrYWRcIixcInFBTUxrZlwiKTtfLmNTYT1fLkdkKFwiRkNKdlpkXCIsW18uJHBdKTt6ZChcIm9nbUJjZFwiLFwicGo4SUFlXCIpO3pkKFwiQUxKcVdiXCIsXCJrYmE2QVwiKTt6ZChcIlJhZ0RsY1wiLFwiYUlDYVJjXCIpO18uZFNhPV8uR2QoXCJSYWdEbGNcIixbXSk7Xy5lU2E9Xy5GZChcImFJQ2FSY1wiLFwib1VsbnBjXCIsdm9pZCAwLF8uZFNhKTtfLmZTYT1fLkdkKFwiQUxKcVdiXCIsW18uZVNhXSk7Xy5nU2E9Xy5GZChcImtiYTZBXCIsXCJSMmtjOGJcIix2b2lkIDAsXy5mU2EpO18uaFNhPV8uRmQoXCJzYUxCamZcIixcIklUTnVmYlwiKTt2YXIgaVNhPV8uRmQoXCJpNEJuRWZcIixcIkxYQThiXCIpO3pkKFwicTdPZEtkXCIsXCJpNEJuRWZcIik7Xy5qU2E9Xy5HZChcInE3T2RLZFwiLFtdKTtfLnpuKF8uZmYoaVNhKSxfLmpTYSk7Xy5rU2E9Xy5HZChcImltTHJLZVwiLFtdKTtfLmxTYT1fLkZkKFwiRFN4dEpkXCIsXCJETTU1Y1wiLHZvaWQgMCxfLmtTYSk7emQoXCJCTzQzZ2RcIixcImFJQ2FSY1wiKTt6ZChcIng0RllYZVwiLFwidDlLeW5iXCIpO3pkKFwic2lLblFkXCIsXCJPOGsxQ2RcIik7Xy5tU2E9Xy5HZChcInNpS25RZFwiKTtfLm5TYT1fLkZkKFwiTzhrMUNkXCIsXCJ3UjVGUmJcIixcIm9BZVUwY1wiLF8ubVNhKTtfLm9TYT1fLkZkKFwicEI2WnFkXCIsXCJwWGRSWWJcIixcIlBGYlo2XCIpO3pkKFwiaGM2VWJkXCIsXCJ4czFHeVwiKTtfLmRxPV8uR2QoXCJoYzZVYmRcIixbXy5QcCxfLmhQYV0pO3pkKFwiU3BzZlNiXCIsXCJvMDJKaWVcIik7Xy5wU2E9Xy5HZChcIlNwc2ZTYlwiLFtfLlBwLF8uZHEsXy5mZyxfLmlvXSk7Xy5xU2E9Xy5GZChcIm8wMkppZVwiLFwiZElvU0JiXCIsXCJseFYyVWNcIixfLnBTYSk7emQoXCJ6Yk1MM2NcIixcImJxTkpXXCIpO18uZXE9Xy5HZChcInpiTUwzY1wiLFtfLm9TYSxfLnFTYSxfLktRYSxfLm5TYSxfLkFuXSk7Xy5mcT1fLkZkKFwidWlOa2VlXCIsXCJlQkFlU2JcIixcIk1LTGhHY1wiLF8uZXEsXCJCd3VlaFwiKTt6ZChcIkNrNjN0YlwiLFwidWlOa2VlXCIpO18uZ3E9Xy5GZChcImFDWHRSZFwiLFwiWVY1YmVlXCIpO3pkKFwiSXZQWjZkXCIsXCJhQ1h0UmRcIik7emQoXCJJdlBaNmRcIixcIkdOYk9kXCIpO3pkKFwiTWtIeUdkXCIsXCJUNnNUc2ZcIik7Xy5yU2E9Xy5HZChcIk1rSHlHZFwiLFtfLkFuLF8uZnFdKTtfLmhxPV8uRmQoXCJUNnNUc2ZcIixcImtiQW05ZFwiLFwibGhEWTZjXCIsXy5yU2EpO18uaXE9Xy5HZChcIkFOeW4xXCIpO3pkKFwiVTRNektjXCIsXCJYQW1tTmJcIik7Xy5zU2E9Xy5HZChcIlU0TXpLY1wiLFtfLmlxLF8uZnEsXy5icSxfLkFuXSk7Xy5qcT1fLkZkKFwiWEFtbU5iXCIsXCJnOG5reFwiLHZvaWQgMCxfLnNTYSk7Xy50U2E9Xy5HZChcIkl2UFo2ZFwiLFtfLmhxLF8uanEsXy4kcF0pO18uem4oXy5mZihfLmdxKSxfLnRTYSk7Xy51U2E9Xy5GZChcIkdOYk9kXCIsXCJVVnpiOWNcIix2b2lkIDAsdm9pZCAwLFwiRTZkYVplXCIpO3pkKFwiVzBmcGdcIixcImFDWHRSZFwiKTt0cmE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5TZCgpO2EuZm9yRWFjaChmdW5jdGlvbihjLGQpe2IuTWMoZCxjKX0pO2IuTWMoXCJwXCIsXCJnd3NcIik7Yi5sb2coKX07emQoXCJPWFRxRmJcIixcInYzMEF0ZlwiKTtfLmtxPV8uR2QoXCJrUXZsZWZcIixbXy5Bbl0pO3pkKFwiUFpJSU1jXCIsXCJBeTV4amNcIik7Xy52U2E9Xy5HZChcIlBaSUlNY1wiKTtfLndTYT1fLkZkKFwiQXk1eGpjXCIsXCJ2ZlZ3UGRcIixcImc5aXZqZVwiLF8udlNhKTt6ZChcImR0NGcyYlwiLFwiYlR1RzZiXCIpO3pkKFwiVnZMVlFkXCIsXCJiVHVHNmJcIik7Xy54U2E9Xy5HZChcIlZ2TFZRZFwiLFtdKTtfLmxxPV8uRmQoXCJiVHVHNmJcIixcInc5dzg2ZFwiLHZvaWQgMCxfLnhTYSk7emQoXCJGT05FZGZcIixcImNpdHlSXCIpO3pkKFwibExRV0ZlXCIsXCJVNlJEUGVcIik7dmFyIHlTYT1fLkdkKFwibExRV0ZlXCIpO18uelNhPV8uRmQoXCJVNlJEUGVcIixcImR0bDBoZFwiLFwiUW5OektmXCIseVNhKTt6ZChcInRhZlByZlwiLFwiVTZSRFBlXCIpO3pkKFwiUTdCYUVlXCIsXCJhck1BZGZcIik7emQoXCJKaVZMamRcIixcImNpdHlSXCIpO3pkKFwidFJhWmlmXCIsXCJhck1BZGZcIik7emQoXCJUOXk1RGRcIixcImVqSVZYZFwiKTt6ZChcIkZBVWRXXCIsXCJjaXR5UlwiKTt6ZChcIloxUmcwXCIsXCJjaXR5UlwiKTtfLkFTYT1fLkdkKFwiWjFSZzBcIixbXSk7Xy5CU2E9Xy5GZChcImNpdHlSXCIsXCJlSERmbFwiLHZvaWQgMCxfLkFTYSk7emQoXCJkTVprM2VcIixcImZKNTA4ZFwiKTt6ZChcIlR0Y090ZVwiLFwib0FlVTBjXCIpO18uQ1NhPV8uR2QoXCJUdGNPdGVcIixbXSk7emQoXCJKS29LVmVcIixcIlBGYlo2XCIpO3pkKFwiWmdHZzliXCIsXCJseFYyVWNcIik7Xy5EU2E9Xy5HZChcIlpnR2c5YlwiLFtdKTtfLkVTYT1fLkdkKFwiSktvS1ZlXCIsW18uRFNhLF8uJHBdKTt2YXIgRlNhLEdTYTtGU2E9bnVsbDtHU2E9bmV3IFNldChbMV0pO18uSFNhPXtKTGQ6ZnVuY3Rpb24oYSl7RlNhPWE7cmV0dXJuIF8uSFNhfSxSM2I6ZnVuY3Rpb24oKXtyZXR1cm4gRlNhfSxVN2I6ZnVuY3Rpb24oKXtyZXR1cm4gXy5IU2EuUjNiKCkhPW51bGx9LHhMZDpmdW5jdGlvbihhKXtHU2E9bmV3IFNldChhKTtyZXR1cm4gXy5IU2F9LEFiZDpmdW5jdGlvbigpe3JldHVybiBHU2F9fTtfLkhTYS54TGQoWzJdKS5KTGQoXCJ2aWV3XCIpO18uem4oXy5mZihfLnFTYSksXy5EU2EpO18uem4oXy5mZihfLm9TYSksXy5FU2EpO18uem4oXy5mZihfLm5TYSksXy5DU2EpO3pkKFwiVGlhNTdiXCIsXCJjNnhuN2JcIik7Xy5JU2E9Xy5HZChcIlRpYTU3YlwiLFtdKTtfLkpTYT1fLkZkKFwiYzZ4bjdiXCIsXCJLcFJBdWVcIix2b2lkIDAsXy5JU2EpO3pkKFwiZFBGWkhcIixcIkRXNTNEXCIpO18uS1NhPV8uR2QoXCJnc2tCRWNcIixbXy5icSxfLmtxLF8uZXFdKTtfLkxTYT1fLkdkKFwiZFBGWkhcIixbXy5LU2FdKTtfLk1TYT1fLkZkKFwiRFc1M0RcIixcIm5KdzRHZFwiLHZvaWQgMCxfLkxTYSk7emQoXCJOSzBueFwiLFwiRFc1M0RcIik7emQoXCJ4U2t2WWVcIixcImM2eG43YlwiKTt6ZChcIlB5bUNDZVwiLFwid2Y0a0RmXCIpO3pkKFwiY25qRUNmXCIsXCJnY2hFWVwiKTt6ZChcImNuakVDZlwiLFwia2preWtkXCIpO3pkKFwiRHZuN2ZlXCIsXCJ6UEYyMWNcIik7emQoXCJ1SVdrblwiLFwibWpYRVpcIik7emQoXCJ1SVdrblwiLFwibzUwY1JjXCIpO3pkKFwiZDEyVzVjXCIsXCJEV2JkYmNcIik7emQoXCJkMTJXNWNcIixcIndNZDdqY1wiKTt6ZChcIlpvU3ZyY1wiLFwiZXFUOUtcIik7emQoXCJhRDhPRWVcIixcInBPY2VJY1wiKTt6ZChcInMwajdDXCIsXCJLcWhONWRcIik7emQoXCJpU1pJNmJcIixcIkVXcFNIXCIpO3pkKFwiT0lNSHhlXCIsXCJFV3BTSFwiKTt6ZChcInBDa1VpYlwiLFwiR1JlRUNkXCIpO3pkKFwiUVE1MUNlXCIsXCJJUlhBWFwiKTt6ZChcImc0OFA3ZFwiLFwiYlllMTlcIik7emQoXCJYVjY3S2JcIixcImJZZTE5XCIpO3pkKFwid1pHZlFiXCIsXCJiWWUxOVwiKTt6ZChcInpVQm43YlwiLFwiZVRrdGJmXCIpO3pkKFwielVCbjdiXCIsXCJOdGVDMWVcIik7emQoXCJxV3NYT2NcIixcIms1ZEdEZlwiKTt6ZChcImx4QkpaXCIsXCJrNWRHRGZcIik7emQoXCJaYnk4cmZcIixcIms1ZEdEZlwiKTt6ZChcInFXalg1ZVwiLFwiVlZqc2pcIik7emQoXCJCbmltYmRcIixcInhPc1N0ZlwiKTt6ZChcImxIckFKXCIsXCJacHNBbmZcIik7emQoXCJiT0M4dmVcIixcIldQMTI2XCIpO3pkKFwiZVg1dXJlXCIsXCJvVHdWcGRcIik7emQoXCJRRTFid2RcIixcImVUa3RiZlwiKTt6ZChcIlFFMWJ3ZFwiLFwicDc1QWhmXCIpO3pkKFwiQWg3Y0xkXCIsXCJlVGt0YmZcIik7emQoXCJBaDdjTGRcIixcImhYMzNLY1wiKTt6ZChcInZKMWwwXCIsXCJlVGt0YmZcIik7emQoXCJ2SjFsMFwiLFwiTnRlQzFlXCIpO3pkKFwiV09KalpcIixcImVUa3RiZlwiKTt6ZChcIldPSmpaXCIsXCJOdGVDMWVcIik7emQoXCJFVlNpbGVcIixcImVUa3RiZlwiKTt6ZChcImRwTG1xXCIsXCJacHNBbmZcIik7emQoXCJkcExtcVwiLFwidElZVHZiXCIpO3pkKFwiZHBMbXFcIixcIktxaE41ZFwiKTt6ZChcIkRPZWtDZFwiLFwiV0FzQmZlXCIpO3pkKFwiSENwYm9mXCIsXCJMNW00cGVcIik7emQoXCJSajAwVmNcIixcImVUa3RiZlwiKTt6ZChcIkRJZGpkY1wiLFwiRVdwU0hcIik7emQoXCJwZ0NYcWJcIixcIktxaE41ZFwiKTt6ZChcImk5U05CZlwiLFwiZUlEMTBkXCIpO3pkKFwiT1pMZ3VjXCIsXCJNeUxzRGVcIik7emQoXCJLZFhabGRcIixcIloyVlRqZFwiKTt6ZChcIndqcnBCZFwiLFwieU52cUNcIik7emQoXCJ3anJwQmRcIixcIm1KdWpZY1wiKTt6ZChcIkdJWWlnZlwiLFwiZDI3U1FlXCIpO3pkKFwibllDbkVkXCIsXCJEaXlhbWZcIik7emQoXCJhZUNURGZcIixcIkRpeWFtZlwiKTt6ZChcIlQ5Unp6ZFwiLFwiYXdicnVmXCIpO3pkKFwiWmZBb3pcIixcImlUc3lhY1wiKTt6ZChcIkc1c0JsZFwiLFwiYXdicnVmXCIpO3pkKFwieURWVmtiXCIsXCJpVHN5YWNcIik7emQoXCJpdnVsS2VcIixcIk1IOEt3ZFwiKTt6ZChcIlNkY3dIYlwiLFwiQ0JsUnhmXCIpO3pkKFwiU2Rjd0hiXCIsXCJkb0tzNGNcIik7emQoXCJPMUdqemVcIixcIk84azFDZFwiKTt6ZChcIkU2aEJGZlwiLFwidEhFUExcIik7emQoXCJXNTZ5amJcIixcImZlWHYyZFwiKTt6ZChcInNuUk9QZVwiLFwiS0E4eUplXCIpO3pkKFwiVFRUS0JmXCIsXCJFV3BTSFwiKTt6ZChcImxpbXVuXCIsXCJFV3BTSFwiKTt6ZChcImlQOWExZFwiLFwiRVdwU0hcIik7emQoXCJUZFM3ZWVcIixcIkVXcFNIXCIpO3pkKFwiWUlCZXFlXCIsXCJmZVh2MmRcIik7emQoXCJlSHFDRWJcIixcImZlWHYyZFwiKTt6ZChcIlR5OUx2ZFwiLFwiZmVYdjJkXCIpO3pkKFwiTk5jbUJjXCIsXCJqTnJJc2ZcIik7emQoXCJwUmgwRWZcIixcImZlWHYyZFwiKTt6ZChcIktVb0Z1ZlwiLFwiZmVYdjJkXCIpO3pkKFwiUkV0eDZiXCIsXCJmZVh2MmRcIik7emQoXCJiTU5PZmVcIixcImZlWHYyZFwiKTt6ZChcIkU0TWpFZlwiLFwiZmVYdjJkXCIpO3pkKFwiZFhlTWpiXCIsXCJmZVh2MmRcIik7emQoXCJsTXhHUGRcIixcIk1HR2lmZVwiKTt6ZChcImxNeEdQZFwiLFwidEhFUExcIik7Xy5OU2E9Xy5HZChcIm1JM0xGYlwiKTt6ZChcImxhekc3YlwiLFwicUNTWVdlXCIpO18uT1NhPV8uR2QoXCJsYXpHN2JcIixbXy5OU2FdKTtfLm1xPV8uR2QoXCJXcTZseGZcIixbXy5PU2FdKTtfLm5xPV8uR2QoXCJScjVOT2VcIixbXy5mZyxfLm1xXSk7Xy5QU2E9Xy5HZChcIm9BMnFzZFwiLFtfLmZxLF8ubXEsXy5ucSxfLiRwLF8uZmddKTtfLm9xPV8uR2QoXCJ1S2xHYmZcIixbXy5Bbl0pO18uUVNhPV8uR2QoXCJsTXhHUGRcIixbXy5QU2EsXy5vcV0pO18uUlNhPV8uRmQoXCJNR0dpZmVcIixcImRhQjZiZVwiLFwiajIxcUJjXCIsXy5RU2EpO3pkKFwiY1ZCbkFlXCIsXCJmZVh2MmRcIik7emQoXCJwUTZtOGRcIixcImZlWHYyZFwiKTt6ZChcInFDZ2FIYlwiLFwidEhFUExcIik7emQoXCJVSWNVOGJcIixcImZlWHYyZFwiKTt6ZChcInk3Y0dPZVwiLFwiSGdwT2tiXCIpO3pkKFwicmRHRWZjXCIsXCJrbm1sYWNcIik7emQoXCJPMVR6d2NcIixcIkViTFhWY1wiKTtfLlNTYT1fLkdkKFwiTzFUendjXCIpO18uVFNhPV8uRmQoXCJFYkxYVmNcIixcIkZtdjlOY1wiLFwiVUFJcEliXCIsXy5TU2EpO18uVVNhPV8uR2QoXCJyZEdFZmNcIixbXy5UU2FdKTtfLlZTYT1fLkZkKFwia25tbGFjXCIsXCJzWm1kdmNcIix2b2lkIDAsXy5VU2EsXCJIZ3BPa2JcIik7Xy5XU2E9Xy5HZChcInk3Y0dPZVwiLFtfLlZTYV0sXCJ1bGlFWVwiKTtfLlhTYT1fLkdkKFwiWnp4cWRkXCIpO3pkKFwiYnZCQ2tcIixcIkpyYUZGZVwiKTt6ZChcIlFXRU81YlwiLFwiSnJhRkZlXCIpO18uWVNhPV8uR2QoXCJRV0VPNWJcIik7Xy5aU2E9Xy5GZChcIkpyYUZGZVwiLFwiaEs2N3FiXCIsXCJldzlNRmZcIixfLllTYSk7emQoXCJ3ZExBbWVcIixcIkViTFhWY1wiKTt6ZChcIkhZc3Z3XCIsXCJFYkxYVmNcIik7emQoXCJTSk12MWNcIixcIkViTFhWY1wiKTtfLiRTYT1fLkdkKFwiR2NkOVdcIixbXy5mZyxfLlhTYSxfLlpTYV0pO3pkKFwiTTBPNGxlXCIsXCJoUGp6UmJcIik7emQoXCJ0V0ZEZFwiLFwiaFBqelJiXCIpO3pkKFwiTjBjcTBcIixcImUxM3BQYlwiKTt6ZChcIm9vQWRlZVwiLFwidEhFUExcIik7emQoXCJOMGh0UGNcIixcIldRMG14ZlwiKTtfLnBxPV8uR2QoXCJMMUFBa2JcIixbXy5Bbl0pO18uYVRhPV8uR2QoXCJhVzNwWVwiLFtfLnBxXSk7Xy5xcT1fLkdkKFwiZmdqOFJiXCIsW18uaW8sXy5mZyxfLmFUYV0pO18uYlRhPV8uR2QoXCJOMGh0UGNcIixbXy5lcSxfLnFxXSk7emQoXCJpdUhrd1wiLFwiV1EwbXhmXCIpO18uY1RhPV8uR2QoXCJpdUhrd1wiLFtfLmJUYSxfLkFuXSk7Xy5kVGE9Xy5GZChcIldRMG14ZlwiLFwid2hFWmFjXCIsXCJiVDE2cGJcIixfLmNUYSk7emQoXCJoVjIxZmRcIixcIldRMG14ZlwiKTt6ZChcIlFXZmVLZlwiLFwiS0d5WWhmXCIpO18uZVRhPV8uR2QoXCJRV2ZlS2ZcIixbXy4kU2FdKTtfLmZUYT1fLkZkKFwiS0d5WWhmXCIsXCJSNElJSWJcIixcImJoZFcxZFwiLF8uZVRhKTt6ZChcIkY0QW1OYlwiLFwiV1EwbXhmXCIpO3pkKFwiRTZmb3plXCIsXCJmZVh2MmRcIik7emQoXCJzd2Qwb2JcIixcInRIRVBMXCIpO3pkKFwiWkxFdjZkXCIsXCJ0SEVQTFwiKTt6ZChcIkU1YkZzZVwiLFwicUJlWWdjXCIpO18uZ1RhPV8uR2QoXCJFNWJGc2VcIixbXy5XU2FdKTtfLmhUYT1fLkZkKFwicUJlWWdjXCIsXCJCTXhBR2NcIixcImd1UnJ1Y1wiLF8uZ1RhKTt6ZChcIlVWNmh1YlwiLFwicUJlWWdjXCIpO3pkKFwielBKVmhjXCIsXCJmZVh2MmRcIik7emQoXCJKTmR0OWNcIixcImZlWHYyZFwiKTt6ZChcImN5bFBBY1wiLFwiZmVYdjJkXCIpO3pkKFwiWk5LRkdmXCIsXCJ5VWRkOWJcIik7emQoXCJRcXQzR2ZcIixcInl5ZlhlZVwiKTtfLmlUYT1fLkdkKFwiUXF0M0dmXCIsW10pO3pkKFwiT25sWERiXCIsXCJ5eWZYZWVcIik7Xy5qVGE9Xy5GZChcInl5ZlhlZVwiLFwiZExsajJcIix2b2lkIDAsXy5pVGEpO3pkKFwiUWF3a3NjXCIsXCJQelc1OWRcIik7emQoXCJxS3JEeGNcIixcImVxVDlLXCIpO3pkKFwiV24zYUVjXCIsXCJHR05PeGNcIik7Xy5rVGE9Xy5GZChcIkdHTk94Y1wiLFwicktvRzVlXCIpO3pkKFwiZGl6UkdmXCIsXCJaMlZUamRcIik7emQoXCJhOTl3WlwiLFwidUhxN1RlXCIpO3pkKFwia2hrTnBlXCIsXCJ1SHE3VGVcIik7emQoXCJHbzJVaGRcIixcIkVXcFNIXCIpO3pkKFwiZHA2Sk1jXCIsXCJmSEsyT2NcIik7emQoXCJoZGxrUWNcIixcImlxbGREZVwiKTt6ZChcIlhmVzlMZVwiLFwiaXFsZERlXCIpO3pkKFwiSEZlY2dmXCIsXCJpcWxkRGVcIik7emQoXCJoUUlINWRcIixcImlxbGREZVwiKTt6ZChcInl5eGlHY1wiLFwiaXFsZERlXCIpO3pkKFwiR2JxR3JlXCIsXCJpcWxkRGVcIik7Xy5sVGE9Xy5GZChcInlmNm5QY1wiLFwiRVNyUFFjXCIpO3pkKFwibU5USnZjXCIsXCJ5ZjZuUGNcIik7Xy5tVGE9Xy5HZChcIkE0VXJlZlwiLFtdKTtfLm5UYT1fLkdkKFwiV3RkeUFlXCIsW10pO18ub1RhPV8uR2QoXCJtTlRKdmNcIixbXy5jU2EsXy4kUmEsXy5YUmEsXy5iU2EsXy5tVGEsXy5uVGFdKTtfLnpuKF8uZmYoXy5sVGEpLF8ub1RhKTt6ZChcIldIWUlOZVwiLFwibkZHeUxkXCIpO3pkKFwiY0VTRW5mXCIsXCJwT2plT2VcIik7emQoXCJLZ09VZmJcIixcInBPamVPZVwiKTt6ZChcIlhSNkd4ZFwiLFwicE9qZU9lXCIpO3pkKFwiWFI2R3hkXCIsXCJocjEzTFwiKTt6ZChcInBKOGM5Y1wiLFwieUhUcjhcIik7emQoXCJJZFFRcWJcIixcInhkbExSXCIpO3pkKFwiRDFmS0tiXCIsXCJLcWhONWRcIik7emQoXCJGeTFQdlwiLFwiS3FoTjVkXCIpO3pkKFwiclR1QU5lXCIsXCJDdnQ2RmRcIik7emQoXCJOVmxuRVwiLFwiUHlVQ3VmXCIpO3pkKFwiQm9aazhcIixcIkJVNkNPZVwiKTt6ZChcImI1bGh2YlwiLFwiTk84NGdkXCIpO3pkKFwiYjVsaHZiXCIsXCJqMzdiYWZcIik7Xy5wVGE9Xy5GZChcImozN2JhZlwiLFwiSW9HbENmXCIpO3pkKFwiTHdUZEtkXCIsXCJFV3BTSFwiKTt6ZChcIk02WjNOZVwiLFwiRVdwU0hcIik7emQoXCJTVmRiaGRcIixcIlJ6elluY1wiKTt6ZChcIktZZzl0ZVwiLFwicGo4SUFlXCIpO3pkKFwiT1pxR3RlXCIsXCJhemxFM2VcIik7emQoXCJiRk92VGNcIixcImF6bEUzZVwiKTtfLnFUYT1fLkdkKFwiYkZPdlRjXCIsW10pO18uclRhPV8uRmQoXCJhemxFM2VcIixcIktPeGNLXCIsdm9pZCAwLF8ucVRhKTt6ZChcIkVPMTNwZFwiLFwibWE0eEdcIik7emQoXCJoZXpFYmRcIixcImJ3aGhaZVwiKTtfLnNUYT1fLkdkKFwiaGV6RWJkXCIsW18ucHFdKTtfLnRUYT1fLkZkKFwiYndoaFplXCIsXCJHNndVNmVcIix2b2lkIDAsXy5zVGEsXCJYemg3ZGJcIik7emQoXCJoUHlHQmJcIixcImJ3aGhaZVwiKTt6ZChcIlVtM0JYYlwiLFwiRVdwU0hcIik7emQoXCJWZWxpbFwiLFwia0RlYUdcIik7emQoXCJWZWxpbFwiLFwiUWVGSnZmXCIpO3pkKFwiak5GZGlmXCIsXCJrRGVhR1wiKTt6ZChcImpORmRpZlwiLFwiUWVGSnZmXCIpO3pkKFwiaWZYbkRiXCIsXCJRZUZKdmZcIik7emQoXCJvSXJLQmZcIixcInJ3ZjdNXCIpO3pkKFwiU3JNcG9iXCIsXCJacHNBbmZcIik7emQoXCJTck1wb2JcIixcInRJWVR2YlwiKTt6ZChcIkI4YmF3YlwiLFwiZDI3U1FlXCIpO3pkKFwiQUd2b2ljXCIsXCJkMjdTUWVcIik7emQoXCJtZTFES2JcIixcImQyN1NRZVwiKTt6ZChcIkp0bExBZVwiLFwiZDI3U1FlXCIpO3pkKFwicGVHNVwiLFwiRG5vUmxiXCIpO3pkKFwiZXRHUDRjXCIsXCJEbm9SbGJcIik7emQoXCJaWVpkZGRcIixcIkRub1JsYlwiKTt6ZChcIklXTkhyZlwiLFwiUjl3eWZcIik7emQoXCJNVUl5UmRcIixcIlI5d3lmXCIpO3pkKFwiZlJFQzdkXCIsXCJSOXd5ZlwiKTt6ZChcIkNXNUZaZVwiLFwibzUwY1JjXCIpO3pkKFwiVWVmT21iXCIsXCJjeE5Td2JcIik7emQoXCJxWThQRmVcIixcIm1SUXFFXCIpO18udVRhPV8uR2QoXCJxWThQRmVcIik7Xy52VGE9Xy5GZChcIm1SUXFFXCIsXCJ0clpMMGJcIixcIkloMFM4XCIsXy51VGEpO3pkKFwiU2wwcHhkXCIsXCJZUmRlY2RcIik7emQoXCJuRkNscmZcIixcImN4TlN3YlwiKTtfLndUYT1fLkdkKFwibkZDbHJmXCIsW10pO18ueFRhPV8uRmQoXCJjeE5Td2JcIixcImVPM2xzZVwiLHZvaWQgMCxfLndUYSk7emQoXCJRdHB4YmRcIixcIllSZGVjZFwiKTtfLnlUYT1fLkdkKFwiUXRweGJkXCIsW10pO18uelRhPV8uRmQoXCJZUmRlY2RcIixcInphSWdQYlwiLHZvaWQgMCxfLnlUYSk7Xy5BVGE9Xy5GZChcImRhbWtKYlwiLFwiaDNNWW9kXCIsdm9pZCAwLF8uQW4sXCJKajdzTGVcIik7emQoXCJYeTUwemZcIixcIkNNZzVDZVwiKTt6ZChcIkNFRGJHZFwiLFwiVzduekZiXCIpO3pkKFwicng4dXJcIixcIkNNZzVDZVwiKTtfLkJUYT1fLkdkKFwicng4dXJcIixbXSk7Xy5DVGE9Xy5GZChcIkNNZzVDZVwiLFwiWWtRdEFmXCIsdm9pZCAwLF8uQlRhKTt6ZChcImxQSkowY1wiLFwiVzduekZiXCIpO18uRFRhPV8uR2QoXCJsUEpKMGNcIixbXSk7Xy5FVGE9Xy5GZChcIlc3bnpGYlwiLFwidkdyTVpcIix2b2lkIDAsXy5EVGEpO3pkKFwiSE1GRGJiXCIsXCJFS2xmN1wiKTt6ZChcInBieE5wYlwiLFwiQzNIZnBlXCIpO3pkKFwiRzhRVWRiXCIsXCJFS2xmN1wiKTtfLkZUYT1fLkdkKFwiRzhRVWRiXCIsW10pO18uR1RhPV8uRmQoXCJFS2xmN1wiLFwiSE1ERFdlXCIsdm9pZCAwLF8uRlRhKTt6ZChcIlhLaVo5XCIsXCJDM0hmcGVcIik7Xy5IVGE9Xy5HZChcIlhLaVo5XCIsW10pO18uSVRhPV8uRmQoXCJDM0hmcGVcIixcInc0clNkZlwiLHZvaWQgMCxfLkhUYSk7emQoXCJvWnJTTWNcIixcIk5rOWFFY1wiKTt6ZChcIkRIVm5RXCIsXCJOazlhRWNcIik7emQoXCJHcWVXdWZcIixcIk5rOWFFY1wiKTt6ZChcIkVxV0x1XCIsXCJOazlhRWNcIik7emQoXCJobVNZeWJcIixcIk5rOWFFY1wiKTt6ZChcInB2eXdtZFwiLFwiSXo0Z2hiXCIpO3pkKFwieWxBWVZkXCIsXCJCZXVCc2NcIik7emQoXCJ5bEFZVmRcIixcIlBVTUdoZlwiKTt6ZChcIlpBeVpDZVwiLFwiQmV1QnNjXCIpO3pkKFwiWkF5WkNlXCIsXCJQVU1HaGZcIik7emQoXCJFS0lydWVcIixcIkVXcFNIXCIpO3pkKFwieGIzZ2FkXCIsXCJQbnU2OGRcIik7emQoXCJTalpUYWVcIixcIkVXcFNIXCIpO3pkKFwidXluT0VlXCIsXCJFV3BTSFwiKTt6ZChcIkM5YjZEY1wiLFwiRVdwU0hcIik7emQoXCJ6djZqOVwiLFwiQlNEU0ljXCIpO3pkKFwiQUs2eENlXCIsXCJQelc1OWRcIik7emQoXCJuRGZMQWNcIixcIkVXcFNIXCIpO3pkKFwiUjZPN0ZmXCIsXCJFV3BTSFwiKTt6ZChcIm1ObHN6ZVwiLFwicE9qZU9lXCIpO3pkKFwibU5sc3plXCIsXCJocjEzTFwiKTt6ZChcImM2MVFmYlwiLFwiRVdwU0hcIik7emQoXCJmQkZXS2JcIixcIkVXcFNIXCIpO3pkKFwiWUhoTVNjXCIsXCJxQk52RmJcIik7emQoXCJDWDEwZVwiLFwiUHpXNTlkXCIpO3pkKFwiY3ltckVlXCIsXCJQelc1OWRcIik7emQoXCJEZXF4UGRcIixcIkVXcFNIXCIpO3pkKFwiUnpaOGNkXCIsXCJCVTZDT2VcIik7emQoXCJWQ0FudWNcIixcIm1hNHhHXCIpO3pkKFwiRlV4OUZjXCIsXCJSOEhaRWNcIik7emQoXCJrOERGa1wiLFwiWDMxcEtkXCIpO3pkKFwiTjBwdkdjXCIsXCJYMzFwS2RcIik7Xy5KVGE9Xy5HZChcIk4wcHZHY1wiLFtdLFwiVzRDZGZjXCIpO18uS1RhPV8uRmQoXCJYMzFwS2RcIixcIlNocEY2ZVwiLHZvaWQgMCxfLkpUYSk7emQoXCJSWXF1UmJcIixcIkF1WGRtZFwiKTtfLkxUYT1fLkdkKFwiUllxdVJiXCIsW10sXCJNeUljbGVcIik7emQoXCJYWTUxcGVcIixcIlI4SFpFY1wiKTtfLk1UYT1fLkdkKFwiWFk1MXBlXCIsW10sXCJLWWd3N2RcIik7Xy5OVGE9Xy5GZChcIlI4SFpFY1wiLFwiazJReGNiXCIsdm9pZCAwLF8uTVRhKTt6ZChcInlzS0lFZlwiLFwiWDMxcEtkXCIpO18uT1RhPV8uRmQoXCJBdVhkbWRcIixcIklCQURDY1wiLHZvaWQgMCxfLkxUYSk7emQoXCJBUk4wQlwiLFwiUjhIWkVjXCIpO3pkKFwiYTdGdXRcIixcIlgzMXBLZFwiKTtfLlBUYT1fLkZkKFwiSlhXdk9cIixcImNvSjhlXCIpO3pkKFwiS3ZvVzhcIixcIkpYV3ZPXCIpO18uUVRhPV8uRmQoXCJuTVlHMGVcIixcIlU5NnBSZFwiKTt6ZChcIkZzUjA0XCIsXCJuTVlHMGVcIik7emQoXCJvc3FNVmVcIixcIm5NWUcwZVwiKTt6ZChcImZUZkdPXCIsXCJiSWY4aVwiKTtfLlJUYT1fLkdkKFwiZlRmR09cIik7Xy5TVGE9Xy5GZChcImJJZjhpXCIsXCJTTURMNGNcIixcIkxLTjlzZVwiLF8uUlRhLFwib1dPbERiXCIpO18uVFRhPV8uRmQoXCJvV09sRGJcIixcIm9TVU55ZFwiLFwiRDVnaldlXCIsXy5SVGEpO3pkKFwiUzg3V3BkXCIsXCJiMXJSZGNcIik7emQoXCJtSm1ib2RcIixcIk1SNkZTY1wiKTt6ZChcIlQxMXBQZVwiLFwidlZWYURmXCIpO3pkKFwiUGtETjdlXCIsXCJSSVZVUWNcIik7Xy5VVGE9Xy5HZChcIlBrRE43ZVwiLFtdKTtfLlZUYT1fLkZkKFwiUklWVVFjXCIsXCJIb1lWS2JcIix2b2lkIDAsXy5VVGEpO3pkKFwiUEhGUGpiXCIsXCJNanNoZWNcIik7Xy5XVGE9Xy5HZChcIlBIRlBqYlwiLFtdKTtfLlhUYT1fLkZkKFwiTWpzaGVjXCIsXCJaTXZkdlwiLHZvaWQgMCxfLldUYSk7emQoXCJ5R2s0eWZcIixcIm80R2VMY1wiKTt6ZChcImY3Nm11ZVwiLFwiSzJaUGtjXCIpO3pkKFwiZjc2bXVlXCIsXCJYUzJSbWZcIik7emQoXCJnaGluSWRcIixcIk1SNkZTY1wiKTtfLllUYT1fLkdkKFwiZ2hpbklkXCIsW10pO18uWlRhPV8uRmQoXCJNUjZGU2NcIixcImFmMEVKZlwiLHZvaWQgMCxfLllUYSk7emQoXCJwZmRaQ2VcIixcIm9CR251Y1wiKTtfLiRUYT1fLkdkKFwicGZkWkNlXCIsW10pO18uYVVhPV8uRmQoXCJvQkdudWNcIixcIlE2QzVrZlwiLHZvaWQgMCxfLiRUYSk7emQoXCJjbWJuSFwiLFwidlZWYURmXCIpO18uYlVhPV8uR2QoXCJjbWJuSFwiLFtdKTtfLmNVYT1fLkZkKFwidlZWYURmXCIsXCJIcWVYUGRcIix2b2lkIDAsXy5iVWEpO3pkKFwibXBFQVFiXCIsXCJLMlpQa2NcIik7Xy5kVWE9Xy5HZChcIm1wRUFRYlwiLFtdKTtfLmVVYT1fLkZkKFwiSzJaUGtjXCIsXCJPb2hJWWVcIix2b2lkIDAsXy5kVWEpO3pkKFwielBSQ0piXCIsXCJiMXJSZGNcIik7Xy5mVWE9Xy5HZChcInpQUkNKYlwiLFtdKTtfLmdVYT1fLkZkKFwiYjFyUmRjXCIsXCJSRE5CbGZcIix2b2lkIDAsXy5mVWEpO3pkKFwiVXN5T3RjXCIsXCJYUzJSbWZcIik7Xy5oVWE9Xy5HZChcIlVzeU90Y1wiLFtdKTtfLmlVYT1fLkZkKFwiWFMyUm1mXCIsXCJiRFh3UmVcIix2b2lkIDAsXy5oVWEpO18ualVhPV8uR2QoXCJENVptZmRcIixbXy5BVGFdKTt6ZChcIkI4Z0x3ZFwiLFwiRFdiZGJjXCIpO18ua1VhPV8uR2QoXCJCOGdMd2RcIixbXSk7Xy5sVWE9Xy5GZChcIkRXYmRiY1wiLFwiQUxlSmliXCIsdm9pZCAwLF8ua1VhKTt6ZChcIkhuSUQ0YlwiLFwib0JHbnVjXCIpO3pkKFwiSG5JRDRiXCIsXCJaNzNqN2NcIik7emQoXCJVbWdFeWZcIixcInUzVUFuY1wiKTt6ZChcIm1nbnRiXCIsXCJ1M1VBbmNcIik7emQoXCJiYlJOaVwiLFwiZ1VZZUNcIik7emQoXCJYdWl2UWRcIixcImdVWWVDXCIpO3pkKFwidUlCdTBkXCIsXCJQdVI4SlwiKTt6ZChcInVJQnUwZFwiLFwiWjczajdjXCIpO3pkKFwiWVFqVW9lXCIsXCJnVVllQ1wiKTt6ZChcIlA4aGEyY1wiLFwiQXpKYVljXCIpO18ubVVhPV8uR2QoXCJQOGhhMmNcIixbXy56Zl0pO18ublVhPV8uRmQoXCJBekphWWNcIixcIklack5xZVwiLHZvaWQgMCxfLm1VYSk7emQoXCJEc0xqeVwiLFwiZ1VZZUNcIik7emQoXCJNMjVzU1wiLFwiY2tzRk1kXCIpO18ub1VhPV8uR2QoXCJNMjVzU1wiLFtfLmpVYSxfLkVUYV0pO18ucFVhPV8uRmQoXCJja3NGTWRcIixcIkpiTVQzXCIsdm9pZCAwLF8ub1VhKTt6ZChcIkw4S0d4ZVwiLFwiUDRmUVdkXCIpO18ucVVhPV8uR2QoXCJMOEtHeGVcIixbXy5Bbl0pO18ucnE9Xy5GZChcIlA0ZlFXZFwiLFwid1Y1UGpjXCIsdm9pZCAwLF8ucVVhLFwiSmo3c0xlXCIpO3pkKFwicFU4NkhkXCIsXCJ0SEVQTFwiKTt6ZChcIllkWWR5XCIsXCJ0SEVQTFwiKTtfLnJVYT1fLkZkKFwidGtsbThlXCIsXCJoZUhCMVwiKTt6ZChcIkV0WjhDZFwiLFwidGtsbThlXCIpO3pkKFwic0ZjenFcIixcInRrbG04ZVwiKTt6ZChcIlBpUTdGYlwiLFwiaTRCbkVmXCIpO3pkKFwiSnlCRTNlXCIsXCJSY0JtaVwiKTtfLnNVYT1fLkZkKFwiUmNCbWlcIixcImxrcTBBXCIpO3pkKFwiVTJvUnplXCIsXCJmZVh2MmRcIik7emQoXCJzT1hGalwiLFwiTGRVVjFiXCIpO18udFVhPV8uR2QoXCJzT1hGalwiKTtfLnVVYT1fLkZkKFwiTGRVVjFiXCIsXCJvR3RBdWNcIixcImVvNGQxYlwiLF8udFVhKTt6ZChcIkE3ZkNVXCIsXCJVZ0F0WGVcIik7emQoXCJSOVlISmNcIixcIlk4NFJIXCIpO3pkKFwiUjlZSEpjXCIsXCJySGpwWGRcIik7emQoXCJYZDhpVWRcIixcImh0UzY2ZVwiKTtfLnZVYT1fLkdkKFwiWGQ4aVVkXCIsW18uQW5dKTtfLndVYT1fLkZkKFwiaHRTNjZlXCIsXCJKc2JOaGNcIix2b2lkIDAsXy52VWEpO3pkKFwiZDdZU2ZkXCIsXCJySGpwWGRcIik7emQoXCJIVDhYRGVcIixcInVpTmtlZVwiKTt6ZChcIlNNMWxtZFwiLFwidWlOa2VlXCIpO18ueFVhPV8uR2QoXCJTTTFsbWRcIixbXy5LUWFdKTtfLnlVYT1fLkZkKFwiVm5teW9lXCIsXCJ6T3NDUWVcIix2b2lkIDAsdm9pZCAwLFwia29VQWNjXCIpO18uem4oXy5mZihfLnlVYSksTVFhKTtfLnpVYT1fLkZkKFwiU0hRVDBcIixcIktjb2tVYlwiLHZvaWQgMCx2b2lkIDAsXCJ2ckxVRlwiKTtfLnpuKF8uZmYoXy56VWEpLFJRYSk7Xy5BVWE9Xy5GZChcIkJuZ21UZFwiLFwiV0NFS05kXCIsdm9pZCAwLHZvaWQgMCxcImtLbGJnZFwiKTtfLnpuKF8uZmYoXy5BVWEpLGFSYSk7Xy5zcT1mdW5jdGlvbihhLGIpe3JldHVybiBra2EoYSxhLGIsITApfTt6ZChcInpyMWpyYlwiLFwiZEF5Q0ZcIik7Xy5CVWE9Xy5HZChcInpyMWpyYlwiLFtfLmVxXSk7Xy5DVWE9Xy5GZChcImRBeUNGXCIsXCJFbVoyQmZcIixcImFJZTlxYlwiLF8uQlVhKTt6ZChcIlBWbFFPZFwiLFwiQ0JsUnhmXCIpO18uRFVhPV8uR2QoXCJQVmxRT2RcIik7Xy5FVWE9Xy5GZChcIkNCbFJ4ZlwiLFwiTlBLYUtcIixcImFheVlLZFwiLF8uRFVhKTt6ZChcIlhWTU52ZFwiLFwiZG9LczRjXCIpO18uRlVhPV8uR2QoXCJYVk1OdmRcIixbXy5Bbl0pO18uR1VhPV8uRmQoXCJkb0tzNGNcIixcIkxCZ1JMY1wiLFwiYXY1MXRlXCIsXy5GVWEpO3pkKFwiWFRmNGRkXCIsXCJmZVh2MmRcIik7emQoXCJWRG92TmNcIixcImVBS3pVYlwiKTt6ZChcImJtNTF0ZlwiLFwiVFV6b2NmXCIpO18uSFVhPV8uRmQoXCJ4ZTVrSlwiLFwiTWUzMmRkXCIpO3pkKFwiTUVlWWdjXCIsXCJ4ZTVrSlwiKTt6ZChcIlpGdlZXXCIsXCJySnpOdGZcIik7emQoXCJjbDlpaGNcIixcIkNEOURDY1wiKTt6ZChcIlFOWHhxXCIsXCJySnpOdGZcIik7emQoXCJ5SXNnSWVcIixcIkNEOURDY1wiKTt6ZChcIkMwRlBWXCIsXCJySnpOdGZcIik7emQoXCJVZFJWS2JcIixcIkNEOURDY1wiKTt6ZChcImhJam1zY1wiLFwickp6TnRmXCIpO3pkKFwib2VxT3hlXCIsXCJDRDlEQ2NcIik7emQoXCJqM3VIWmJcIixcInJKek50ZlwiKTt6ZChcIklqeVo4ZVwiLFwiQ0Q5RENjXCIpO3pkKFwiTzYyNkZlXCIsXCJWNHRYNGJcIik7emQoXCJPNjI2RmVcIixcInJKek50ZlwiKTt6ZChcInc5QzRkXCIsXCJDRDlEQ2NcIik7emQoXCJnTlV4NWVcIixcInJKek50ZlwiKTt6ZChcIlhMNzFkZlwiLFwiVjR0WDRiXCIpO3pkKFwiWEw3MWRmXCIsXCJ2RHYwN1wiKTt6ZChcIlhueU4yZVwiLFwiRktiUGJlXCIpO3pkKFwiaEFsanNcIixcIkZLYlBiZVwiKTt6ZChcIlBJVmF5YlwiLFwiVjR0WDRiXCIpO3pkKFwiUElWYXliXCIsXCJVUURvcVwiKTt6ZChcIkVLSHZjYlwiLFwiQ0Q5RENjXCIpO3pkKFwiV0QzTTNkXCIsXCJSZ24yQmJcIik7emQoXCJvSnoyOGVcIixcIlY0dFg0YlwiKTt6ZChcIlFWeXNKZVwiLFwiZTEzcFBiXCIpO3pkKFwiUVZ5c0plXCIsXCJmZVh2MmRcIik7emQoXCJRVnlzSmVcIixcIlY0dFg0YlwiKTt6ZChcImJaMG1vZFwiLFwiVjR0WDRiXCIpO3pkKFwiZmViTGVkXCIsXCJWNHRYNGJcIik7emQoXCJhZ1ZwTlwiLFwicUJ5SGtcIik7emQoXCJhZ1ZwTlwiLFwiVjR0WDRiXCIpO3pkKFwiTEJhSnhiXCIsXCJweGFmT2RcIik7emQoXCJQbFdTVFwiLFwiUk1naUZlXCIpO3pkKFwiV096dXFcIixcIllYUml4YlwiKTt6ZChcInZ5RHBGZFwiLFwiZmVYdjJkXCIpO3pkKFwiSzROZ1NcIixcImZlWHYyZFwiKTt6ZChcIk1IMGhKZVwiLFwiZmVYdjJkXCIpO3pkKFwiaThvTlpiXCIsXCJWNHRYNGJcIik7emQoXCJMeFEwUVwiLFwiZmVYdjJkXCIpO3pkKFwiVkJsNUZmXCIsXCJmZVh2MmRcIik7emQoXCJjbnI4MmJcIixcIndwWm5zXCIpO3pkKFwidXU3VU9lXCIsXCJlMTNwUGJcIik7emQoXCJzb0h4ZlwiLFwickp6TnRmXCIpO3pkKFwic29IeGZcIixcIlVRRG9xXCIpO3pkKFwic29IeGZcIixcIlY0dFg0YlwiKTt6ZChcIm5LdUZwYlwiLFwiQ0Q5RENjXCIpO3pkKFwib2dWTnJkXCIsXCJySnpOdGZcIik7emQoXCJ4emJSalwiLFwiUmduMkJiXCIpO3pkKFwidEtIRnhmXCIsXCJlMTNwUGJcIik7emQoXCJldEJQWWJcIixcInZEdjA3XCIpO3pkKFwiZXRCUFliXCIsXCJlMTNwUGJcIik7emQoXCJldEJQWWJcIixcIlY0dFg0YlwiKTt6ZChcIm9JcFFxYlwiLFwiZTEzcFBiXCIpO3pkKFwiRnFrcGNiXCIsXCJlMTNwUGJcIik7emQoXCJsYzFURmZcIixcImUxM3BQYlwiKTt6ZChcImdKekR5Y1wiLFwiRktiUGJlXCIpO3pkKFwiVU11NTJiXCIsXCJWNHRYNGJcIik7emQoXCJEdjRyMGVcIixcImUxM3BQYlwiKTt6ZChcIlBIVUl5YlwiLFwiZTEzcFBiXCIpO3pkKFwiUEhVSXliXCIsXCJmZVh2MmRcIik7emQoXCJQSFVJeWJcIixcIlY0dFg0YlwiKTt6ZChcInl3T1I1Y1wiLFwiVjR0WDRiXCIpO3pkKFwicU5HMEZjXCIsXCJWNHRYNGJcIik7emQoXCJTVTlSc2ZcIixcInFCeUhrXCIpO3pkKFwiU1U5UnNmXCIsXCJlMTNwUGJcIik7emQoXCJTVTlSc2ZcIixcIlY0dFg0YlwiKTt6ZChcIkx2Ylh0ZlwiLFwiZmVYdjJkXCIpO3pkKFwieVJYYm9cIixcImUxM3BQYlwiKTt6ZChcInlSWGJvXCIsXCJWNHRYNGJcIik7emQoXCJmbWtsZmZcIixcIlJNZ2lGZVwiKTt6ZChcInQxc3VsZlwiLFwiZTEzcFBiXCIpO3pkKFwiZkk0VndjXCIsXCJZWFJpeGJcIik7emQoXCJGbzdsdWJcIixcImZlWHYyZFwiKTt6ZChcImVNMUM3ZFwiLFwiZmVYdjJkXCIpO3pkKFwiRUY4cGVcIixcIkVtNFJ0ZFwiKTt6ZChcIkVGOHBlXCIsXCJlMTNwUGJcIik7emQoXCJFRjhwZVwiLFwiVjR0WDRiXCIpO3pkKFwiZTJqbm9lXCIsXCJmZVh2MmRcIik7emQoXCJIbUVtMFwiLFwiZmVYdjJkXCIpO3pkKFwiUDhlYXFjXCIsXCJ3cFpuc1wiKTt6ZChcInVZM052ZFwiLFwiRTlDN1djXCIpO3pkKFwiWXdIR1RkXCIsXCJFOUM3V2NcIik7emQoXCJ1cGR4clwiLFwienhJUWZjXCIpO3pkKFwiZVNaME9jXCIsXCJWMDNEeGVcIik7emQoXCJ1Y0dMTmJcIixcIkxTMUFVYlwiKTtfLklVYT1fLkdkKFwidWNHTE5iXCIsW10pO3pkKFwid1FkMEdcIixcIlYwM0R4ZVwiKTtfLkpVYT1fLkdkKFwid1FkMEdcIixbXSk7Xy5LVWE9Xy5GZChcIlYwM0R4ZVwiLFwiVXlHN0tiXCIsdm9pZCAwLF8uSlVhKTt6ZChcIlpoS0JoZFwiLFwiZko1MDhkXCIpO18uTFVhPV8uRmQoXCJMUzFBVWJcIixcIkxzTmFoYlwiLHZvaWQgMCxfLklVYSk7Xy5NVWE9Xy5GZChcIkhjbGt3YlwiLFwieDlOOWllXCIpO3pkKFwid0pxcnJkXCIsXCJIblUwZ2ZcIik7Xy5OVWE9Xy5HZChcIndKcXJyZFwiLFtdKTtfLkZkKFwiSG5VMGdmXCIsXCJEa2s2Z2VcIix2b2lkIDAsXy5OVWEpO3pkKFwibWc1Q1dcIixcIlBZaVhxZlwiKTtfLk9VYT1fLkdkKFwibWc1Q1dcIixbXSk7emQoXCJ3dzA0RGZcIixcIlBZaVhxZlwiKTtfLlBVYT1fLkZkKFwiUFlpWHFmXCIsXCJwajgybGVcIix2b2lkIDAsXy5PVWEpO3pkKFwid0l0YWRiXCIsXCJkYzlRdGZcIik7Xy5RVWE9Xy5HZChcIndJdGFkYlwiLFtfLnhVYV0pO18uUlVhPV8uRmQoXCJkYzlRdGZcIixcIm9rVWFVZFwiLHZvaWQgMCxfLlFVYSk7emQoXCJLZzFyQmNcIixcImRjOVF0ZlwiKTt6ZChcIlltcnk2XCIsXCJhYk8xemJcIik7Xy5TVWE9Xy5HZChcIlltcnk2XCIsW18uJHBdKTt6ZChcIk5vRUNMYlwiLFwiYWJPMXpiXCIpO18uVFVhPV8uRmQoXCJhYk8xemJcIixcInRINElJZVwiLHZvaWQgMCxfLlNVYSk7emQoXCJuUXplM2RcIixcIlA0ZlFXZFwiKTt6ZChcIlNRUHJ5ZlwiLFwickhyR2diXCIpO3pkKFwieHRLR0dkXCIsXCJmVjhqemNcIik7emQoXCJDNkQ1RmNcIixcImZWOGp6Y1wiKTtfLlVVYT1fLkdkKFwiQzZENUZjXCIsW10pO18uVlVhPV8uRmQoXCJmVjhqemNcIixcInJRU3JhZVwiLHZvaWQgMCxfLlVVYSk7emQoXCJmTU9HZ2VcIixcImZWOGp6Y1wiKTt6ZChcImRDU0NWY1wiLFwiZlY4anpjXCIpO3pkKFwiVHdkd1djXCIsXCJmVjhqemNcIik7emQoXCJMSENhTmRcIixcImZWOGp6Y1wiKTt6ZChcInl4RGZjY1wiLFwiZ1REdTdcIik7emQoXCJtRjdabmNcIixcImdURHU3XCIpO3pkKFwidWV5UEtcIixcImdURHU3XCIpO18uV1VhPV8uR2QoXCJ1ZXlQS1wiLFtdKTtfLlhVYT1fLkZkKFwiZ1REdTdcIixcImtDUXlKXCIsdm9pZCAwLF8uV1VhKTt6ZChcImduMWV5ZVwiLFwidjMwQXRmXCIpO3pkKFwiSkZOWVRkXCIsXCJ2MzBBdGZcIik7emQoXCJJVWZmbWJcIixcInYzMEF0ZlwiKTt6ZChcIlhYV1FpYlwiLFwidjMwQXRmXCIpO3pkKFwibGNya3dlXCIsXCJ2MzBBdGZcIik7emQoXCJoZ1RTcWJcIixcIlp6T0xqZVwiKTt6ZChcIk1YWnQ5ZFwiLFwiWnpPTGplXCIpO18uWVVhPV8uR2QoXCJNWFp0OWRcIixbXSk7Xy5aVWE9Xy5GZChcIlp6T0xqZVwiLFwiRUFCU1pcIix2b2lkIDAsXy5ZVWEpO3pkKFwiclhxeTZlXCIsXCJaek9MamVcIik7emQoXCJjVnBhNGRcIixcIlp6T0xqZVwiKTt6ZChcIkNwV0MyZFwiLFwiWnpPTGplXCIpO3pkKFwielF6Y1hlXCIsXCJrS3VxbVwiKTtfLiRVYT1fLkdkKFwielF6Y1hlXCIsW10pO18uYVZhPV8uRmQoXCJrS3VxbVwiLFwicWF2clhlXCIsdm9pZCAwLF8uJFVhKTt6ZChcImZnMVZRXCIsXCJhSldubWVcIik7emQoXCJMTEVvSmNcIixcImFKV25tZVwiKTtfLmJWYT1fLkdkKFwiTExFb0pjXCIsW10pO18uY1ZhPV8uRmQoXCJhSldubWVcIixcInBOc2wyZFwiLHZvaWQgMCxfLmJWYSk7emQoXCJGazBCcGNcIixcImFKV25tZVwiKTt6ZChcIndKTVBoZVwiLFwiYUpXbm1lXCIpO3pkKFwiZ3NKTE9jXCIsXCJhSldubWVcIik7emQoXCJqOVl1eWNcIixcImFKV25tZVwiKTt6ZChcIlJNNm1kY1wiLFwibXU4dmJmXCIpO18udHE9Xy5zcShcIldWRHlLZVwiLFtdKTt2YXIgZFZhPV8uc3EoXCJSTTZtZGNcIixbXy50cV0pO18uZVZhPV8uR2QoXCJZT1JOMGJcIixbZFZhXSk7Xy5mVmE9Xy5GZChcIm11OHZiZlwiLFwiVHhmVjZkXCIsdm9pZCAwLF8uZVZhKTt6ZChcIlZydURCZFwiLFwiZ0pDNHhjXCIpO3pkKFwiYXVkdmRlXCIsXCJzcG5Vd2VcIik7Xy5nVmE9Xy5HZChcImF1ZHZkZVwiKTtfLmhWYT1fLkZkKFwic3BuVXdlXCIsXCJlQlo1TmRcIixcIlhSQkZ2XCIsXy5nVmEpO3pkKFwib2ZqVmtiXCIsXCJjaXR5UlwiKTt6ZChcInJ3NWpHZFwiLFwiaU9hOUViXCIpO3pkKFwiZXBzNDZkXCIsXCJpT2E5RWJcIik7Xy5pVmE9Xy5HZChcImVwczQ2ZFwiLFtdKTtfLmpWYT1fLkZkKFwiaU9hOUViXCIsXCJVRHJZMWNcIix2b2lkIDAsXy5pVmEpO3pkKFwiVzUwTlZkXCIsXCJpT2E5RWJcIik7emQoXCJ3Y2l5VWVcIixcImlPYTlFYlwiKTt6ZChcInJsSEtGY1wiLFwiTENmYWFjXCIpO3pkKFwiVW9SY2JlXCIsXCJWYjNzWWJcIik7Xy5rVmE9Xy5HZChcIlVvUmNiZVwiKTtfLmxWYT1fLkZkKFwiVmIzc1liXCIsXCJGOW1xdGVcIixcIndXcnl2XCIsXy5rVmEpO3pkKFwiSkpUTlNkXCIsXCJ6NXg2amNcIik7emQoXCJKMUE3T2RcIixcIno1eDZqY1wiKTtfLm1WYT1fLkdkKFwiSjFBN09kXCIsW10pO18ublZhPV8uRmQoXCJ6NXg2amNcIixcIkdsZVpMXCIsdm9pZCAwLF8ubVZhKTt6ZChcInUwaWJBZVwiLFwiamxRbXliXCIpO3pkKFwiQnpubHdlXCIsXCJqbFFteWJcIik7Xy5vVmE9Xy5HZChcIkJ6bmx3ZVwiLFtdKTtfLnBWYT1fLkZkKFwiamxRbXliXCIsXCJOeXQ2aWNcIix2b2lkIDAsXy5vVmEpO3pkKFwiQ0pSWURmXCIsXCJqbFFteWJcIik7emQoXCJzWm55alwiLFwiamxRbXliXCIpO3pkKFwiam4yc0dkXCIsXCJqbFFteWJcIik7emQoXCJlTVZYM2NcIixcIkc0dHYzZFwiKTt6ZChcImFyVHdKXCIsXCJHSlJITlwiKTtfLnFWYT1fLkdkKFwiYXJUd0pcIik7Xy5yVmE9Xy5GZChcIkdKUkhOXCIsXCJhWjYxb2RcIixcIlc1MEd3XCIsXy5xVmEpO3pkKFwibktQTHBjXCIsXCJHNHR2M2RcIik7emQoXCJya2lSa2RcIixcIkc0dHYzZFwiKTt6ZChcImxnZ2JoXCIsXCJHNHR2M2RcIik7emQoXCJPeFY2TmNcIixcIlZmczRxZlwiKTt6ZChcIlFqMHN1Y1wiLFwiVmZzNHFmXCIpO18uc1ZhPV8uR2QoXCJRajBzdWNcIixbXSk7Xy51cT1fLkZkKFwiVmZzNHFmXCIsXCJKWFM4ZmJcIix2b2lkIDAsXy5zVmEpO3pkKFwic0VVVjVcIixcIlZmczRxZlwiKTt6ZChcIms0WG84YlwiLFwiVmZzNHFmXCIpO3pkKFwiT1RVU1BiXCIsXCJWZnM0cWZcIik7emQoXCJ5cW1yb2ZcIixcIlZmczRxZlwiKTt6ZChcInBQSXZpZVwiLFwiVmZzNHFmXCIpO3pkKFwicDRMckNlXCIsXCJWZnM0cWZcIik7emQoXCJrMFQzVWJcIixcIlZmczRxZlwiKTt6ZChcIkpXa09SYlwiLFwiYlR1RzZiXCIpO3pkKFwiWUI3dHBiXCIsXCJiVHVHNmJcIik7emQoXCJGTTVRSmVcIixcImJUdUc2YlwiKTt6ZChcInQxcGZyYlwiLFwiYlR1RzZiXCIpO3pkKFwiZ0tEOTBjXCIsXCJiVHVHNmJcIik7emQoXCJYd2hVRWJcIixcImJUdUc2YlwiKTt6ZChcInY3aEgwYlwiLFwiZU5TOUNcIik7emQoXCJ5aUxnNmVcIixcImVqSVZYZFwiKTtfLnRWYT1fLkdkKFwieWlMZzZlXCIsW10pO18uRmQoXCJlaklWWGRcIixcInFhUzNnZFwiLHZvaWQgMCxfLnRWYSk7Xy51VmE9Xy5GZChcInFDU1lXZVwiLFwiTlNFb1hcIixcIlRyWXIxZFwiLF8uT1NhKTt6ZChcIlFBdnlMZVwiLFwiS3p6YVNjXCIpO18udlZhPV8uR2QoXCJRQXZ5TGVcIik7Xy53VmE9Xy5GZChcIkt6emFTY1wiLFwiWlNINnRjXCIsXCJESWxDb2RcIixfLnZWYSk7emQoXCJmdmpjUGJcIixcIkt6emFTY1wiKTt6ZChcIlVTMUVVXCIsXCJLenphU2NcIik7emQoXCJWQ2VuaGNcIixcInE1MnJuZVwiKTtfLnhWYT1fLkdkKFwiVkNlbmhjXCIpO18ueVZhPV8uRmQoXCJxNTJybmVcIixcInBLSmlYZFwiLFwicUJ4VU1cIixfLnhWYSk7emQoXCJIOGZLamJcIixcInE1MnJuZVwiKTt6ZChcInZtTWhrY1wiLFwicTUycm5lXCIpO3pkKFwiQmd5UFBjXCIsXCJxNTJybmVcIik7emQoXCJaUEdhSWJcIixcIlRwQ0VyZVwiKTtfLnpWYT1fLkdkKFwiWlBHYUliXCIpO18uQVZhPV8uRmQoXCJUcENFcmVcIixcInczYlpDYlwiLFwibVNCUE1jXCIsXy56VmEpO3pkKFwicE5uZ05cIixcIlRwQ0VyZVwiKTt6ZChcIlk0bFQ4ZFwiLFwiVHBDRXJlXCIpO3pkKFwiZVNGQzVjXCIsXCJUcENFcmVcIik7emQoXCJWRnFiclwiLFwiYk9tYlNlXCIpO18uQlZhPV8uR2QoXCJWRnFiclwiKTtfLkNWYT1fLkZkKFwiYk9tYlNlXCIsXCJWR1JmeFwiLFwiaXJ2Z1ViXCIsXy5CVmEpO3pkKFwibVQxeWdlXCIsXCJiT21iU2VcIik7emQoXCJCNmI4NVwiLFwiYk9tYlNlXCIpO3pkKFwiTElhb1pcIixcIkt5RUU2Y1wiKTtfLkRWYT1fLkdkKFwiTElhb1pcIik7Xy5FVmE9Xy5GZChcIkt5RUU2Y1wiLFwiRzBLaFRiXCIsXCJmU2d0eVwiLF8uRFZhKTt6ZChcInlzY1J3ZFwiLFwiS3lFRTZjXCIpO3pkKFwicFB4ZEFkXCIsXCJLeUVFNmNcIik7emQoXCJzYTdscWJcIixcIlh0WjNrY1wiKTtfLkZWYT1fLkdkKFwic2E3bHFiXCIpO18uR1ZhPV8uRmQoXCJYdFoza2NcIixcIlhVZXpaXCIsXCJVOUxhWGVcIixfLkZWYSk7emQoXCJKNUFUdmNcIixcIlh0WjNrY1wiKTt6ZChcIlRQQ2g3YlwiLFwiWHRaM2tjXCIpO3pkKFwiV0hXNkVmXCIsXCJzaXNEZGVcIik7Xy5IVmE9Xy5HZChcIldIVzZFZlwiKTtfLklWYT1fLkZkKFwic2lzRGRlXCIsXCJhQUpFOWNcIixcImc1Q0Q2ZFwiLF8uSFZhKTt6ZChcInJmcjJwZlwiLFwic2lzRGRlXCIpO3pkKFwiTnNpQ1JiXCIsXCJzaXNEZGVcIik7emQoXCJSb2xUWVwiLFwiVXBmdEpmXCIpO18uSlZhPV8uR2QoXCJSb2xUWVwiKTtfLktWYT1fLkZkKFwiVXBmdEpmXCIsXCJWMkhUVGVcIixcInozQWU1Y1wiLF8uSlZhKTt6ZChcInhDc2luZVwiLFwiVXBmdEpmXCIpO3pkKFwiQmtpSHRkXCIsXCJVcGZ0SmZcIik7emQoXCJnM01KbGJcIixcIk9kUWlHYlwiKTtfLkxWYT1fLkdkKFwiZzNNSmxiXCIpO18uTVZhPV8uRmQoXCJPZFFpR2JcIixcIldmbWR1ZVwiLFwiV0JKVzNlXCIsXy5MVmEpO3pkKFwibEpCOVNlXCIsXCJPZFFpR2JcIik7emQoXCJLNlpFYmZcIixcIk9kUWlHYlwiKTt6ZChcImpLR0wyZVwiLFwiQ2Z3a1ZcIik7Xy5OVmE9Xy5HZChcImpLR0wyZVwiKTtfLk9WYT1fLkZkKFwiQ2Z3a1ZcIixcImltcWltZlwiLFwiYWpCVGZiXCIsXy5OVmEpO3pkKFwidmpFd3ViXCIsXCJDZndrVlwiKTt6ZChcIkMwSm9BYlwiLFwiQ2Z3a1ZcIik7emQoXCJoVnFmQlwiLFwiQWcxaDRiXCIpO3pkKFwiZmlkajVkXCIsXCJBZzFoNGJcIik7Xy5QVmE9Xy5HZChcImZpZGo1ZFwiKTtfLlFWYT1fLkZkKFwiQWcxaDRiXCIsXCJCZ1M2bWJcIixcIkU2YVFBYlwiLF8uUFZhKTt6ZChcInpnSnBkY1wiLFwiQWcxaDRiXCIpO3pkKFwiRmlRQ05cIixcIkFnMWg0YlwiKTt6ZChcIlI4Z3QxXCIsXCJBZzFoNGJcIik7emQoXCJtSUJ5dVwiLFwiZTdNMVVkXCIpO3pkKFwiZWtVT1lkXCIsXCJlN00xVWRcIik7Xy5SVmE9Xy5HZChcImVrVU9ZZFwiKTtfLlNWYT1fLkZkKFwiZTdNMVVkXCIsXCJndFZTaVwiLFwibXo1azFcIixfLlJWYSk7emQoXCJJeTE3bWRcIixcImU3TTFVZFwiKTt6ZChcInl2QklYY1wiLFwiZTdNMVVkXCIpO3pkKFwiSlR6eE5jXCIsXCJlTVdDZFwiKTt6ZChcIlpNS2tOXCIsXCJlTVdDZFwiKTtfLlRWYT1fLkdkKFwiWk1La05cIik7Xy5VVmE9Xy5GZChcImVNV0NkXCIsXCJLUXpXaWRcIixcIllxMGh3XCIsXy5UVmEpO3pkKFwiVEFqdnlcIixcImVNV0NkXCIpO3pkKFwiaHdZSTRjXCIsXCJlTVdDZFwiKTt6ZChcIk03SWpJZlwiLFwiUXdBVTBlXCIpO3pkKFwiQ1I3VWZlXCIsXCJRd0FVMGVcIik7Xy5WVmE9Xy5HZChcIkNSN1VmZVwiKTtfLldWYT1fLkZkKFwiUXdBVTBlXCIsXCJSOVVseFwiLFwieFY1T3JmXCIsXy5WVmEpO3pkKFwiUjFFTkZkXCIsXCJRd0FVMGVcIik7emQoXCJHVGFObGNcIixcIlF3QVUwZVwiKTt6ZChcImM0NXIxY1wiLFwiQXk1eGpjXCIpO3pkKFwiZzZaVW9iXCIsXCJBeTV4amNcIik7emQoXCJaN3liUmJcIixcIkU3elZPZFwiKTt6ZChcIkxHREpHYlwiLFwiRTd6Vk9kXCIpO18uWFZhPV8uR2QoXCJMR0RKR2JcIik7Xy5ZVmE9Xy5GZChcIkU3elZPZFwiLFwiVUJLSlpcIixcImNWMEp2ZVwiLF8uWFZhKTt6ZChcIndPMGx1ZlwiLFwiRTd6Vk9kXCIpO3pkKFwieGtjdEpcIixcIkU3elZPZFwiKTt6ZChcIklxanZtZlwiLFwiTm9Cb05kXCIpO3pkKFwiZE5ob2ZiXCIsXCJOb0JvTmRcIik7Xy5aVmE9Xy5HZChcImROaG9mYlwiKTtfLiRWYT1fLkZkKFwiTm9Cb05kXCIsXCJTelFRM2VcIixcIlNLUHduZFwiLF8uWlZhKTt6ZChcIk1DbEVpYlwiLFwiTm9Cb05kXCIpO3pkKFwidm8zWE1cIixcIk5vQm9OZFwiKTt6ZChcIloycUw2YlwiLFwiY0VZQ1BcIik7emQoXCJDcElCamRcIixcImNFWUNQXCIpO18uYVdhPV8uR2QoXCJDcElCamRcIik7Xy5iV2E9Xy5GZChcImNFWUNQXCIsXCJ5c05pTWNcIixcIlU4dFJHYlwiLF8uYVdhKTt6ZChcIndBdU5WYlwiLFwiY0VZQ1BcIik7emQoXCJkYnIyTWNcIixcImNFWUNQXCIpO3pkKFwidm95WWxcIixcIkVEeHZoYlwiKTt6ZChcIkVlc1JzYlwiLFwiRUR4dmhiXCIpO18uY1dhPV8uR2QoXCJFZXNSc2JcIik7Xy5kV2E9Xy5GZChcIkVEeHZoYlwiLFwiVVZtakVkXCIsXCJwOFRIbGNcIixfLmNXYSk7emQoXCJrclJZdGZcIixcIkVEeHZoYlwiKTt6ZChcInNvQVJYYlwiLFwia3BtRGpmXCIpO3pkKFwib3VnOXRlXCIsXCJrcG1EamZcIik7Xy5lV2E9Xy5HZChcIm91Zzl0ZVwiKTtfLmZXYT1fLkZkKFwia3BtRGpmXCIsXCJ6OTdZR2ZcIixcImY3RXpyXCIsXy5lV2EpO3pkKFwibVRGQ1FlXCIsXCJrcG1EamZcIik7emQoXCJ5V0NPNGNcIixcImtwbURqZlwiKTt6ZChcIkdFZEZ3Y1wiLFwibnU2a2NjXCIpO3pkKFwiVGtyQWpmXCIsXCJudTZrY2NcIik7Xy5nV2E9Xy5HZChcIlRrckFqZlwiKTtfLmhXYT1fLkZkKFwibnU2a2NjXCIsXCJBZmVhUFwiLFwiZGhHM3llXCIsXy5nV2EpO3pkKFwiblZHNDZiXCIsXCJudTZrY2NcIik7emQoXCJtTUpsRmJcIixcInNwblV3ZVwiKTt6ZChcIk1rZjVMZVwiLFwic3BuVXdlXCIpO3pkKFwiaDRxelNcIixcInNwblV3ZVwiKTt6ZChcIlZqOWhwZFwiLFwiVTZSRFBlXCIpO3pkKFwiSWwxTTRiXCIsXCJVNlJEUGVcIik7emQoXCJqN2YxdGZcIixcIkl5ZldRYlwiKTt6ZChcIll5Ukx2Y1wiLFwiSXlmV1FiXCIpO18uaVdhPV8uR2QoXCJZeVJMdmNcIik7Xy5qV2E9Xy5GZChcIkl5ZldRYlwiLFwiQ3hYQVdiXCIsXCJqVllRNGVcIixfLmlXYSk7emQoXCJZaG1SQlwiLFwiSXlmV1FiXCIpO3pkKFwib244ZVNjXCIsXCJ3V3RVUWVcIik7emQoXCJLdHpTUWVcIixcIndXdFVRZVwiKTt6ZChcImRkUXl1ZlwiLFwid1d0VVFlXCIpO18ua1dhPV8uR2QoXCJkZFF5dWZcIik7Xy5sV2E9Xy5GZChcIndXdFVRZVwiLFwiVk42akljXCIsXCJyaGZFOWVcIixfLmtXYSk7emQoXCJ2V2ZaOGNcIixcIndXdFVRZVwiKTt6ZChcInRwekhTY1wiLFwia1AxcHpjXCIpO3pkKFwib2tJeDhcIixcImtQMXB6Y1wiKTt6ZChcImFmUjRDZlwiLFwia1AxcHpjXCIpO18ubVdhPV8uR2QoXCJhZlI0Q2ZcIik7Xy5uV2E9Xy5GZChcImtQMXB6Y1wiLFwiWldFVUFcIixcInZGNWh1ZlwiLF8ubVdhKTt6ZChcIktSRFVVYlwiLFwia1AxcHpjXCIpO3pkKFwiRnJ5SWtlXCIsXCJWYjNzWWJcIik7emQoXCJIYlI1Q1wiLFwiVmIzc1liXCIpO3pkKFwiWE15cnNkXCIsXCJWYjNzWWJcIik7emQoXCJoUTk3cmVcIixcIlZiM3NZYlwiKTt6ZChcIlRrcFJmY1wiLFwiZThFUnRiXCIpO3pkKFwiU28xTGFlXCIsXCJlOEVSdGJcIik7emQoXCJjTlRlMFwiLFwiZThFUnRiXCIpO18ub1dhPV8uR2QoXCJjTlRlMFwiKTtfLnBXYT1fLkZkKFwiZThFUnRiXCIsXCJPZ2FnQmVcIixcIlg3cTY1XCIsXy5vV2EpO3pkKFwiaUsyc2JcIixcImU4RVJ0YlwiKTt6ZChcInJLV3VwZFwiLFwiajNRSlNjXCIpO3pkKFwick1GTzBlXCIsXCJqM1FKU2NcIik7emQoXCJLaDF4WWVcIixcImozUUpTY1wiKTtfLnFXYT1fLkdkKFwiS2gxeFllXCIpO18ucldhPV8uRmQoXCJqM1FKU2NcIixcIlNMdHFPXCIsXCJvOW5URmZcIixfLnFXYSk7emQoXCJzb1ZwdGZcIixcImozUUpTY1wiKTt6ZChcImRBcEZqZVwiLFwibTQ0bWhlXCIpO3pkKFwicnNwNWpjXCIsXCJtNDRtaGVcIik7emQoXCJaQ3FQM1wiLFwibTQ0bWhlXCIpO18uc1dhPV8uR2QoXCJaQ3FQM1wiKTtfLnRXYT1fLkZkKFwibTQ0bWhlXCIsXCJ0b3NLdmRcIixcInFiUktNY1wiLF8uc1dhKTt6ZChcIkhMSHp2ZVwiLFwiUmI5U2xmXCIpO3pkKFwiWm9kZkRmXCIsXCJSYjlTbGZcIik7emQoXCJZcXVoVGJcIixcIlJiOVNsZlwiKTtfLnVXYT1fLkdkKFwiWXF1aFRiXCIpO18udldhPV8uRmQoXCJSYjlTbGZcIixcIlZPY2dEZVwiLFwiRlJtYUtlXCIsXy51V2EpO3pkKFwiWWVLYXFcIixcIlJiOVNsZlwiKTt6ZChcIkxNSFlUXCIsXCJ4dE5WOWVcIik7emQoXCJWbDExOFwiLFwieHROVjllXCIpO18ud1dhPV8uR2QoXCJWbDExOFwiKTtfLnhXYT1fLkZkKFwieHROVjllXCIsXCJoc0xzWWNcIixcImhjSWlkY1wiLF8ud1dhKTt6ZChcIk9kbzNPZFwiLFwieHROVjllXCIpO3pkKFwiQVlNZjFjXCIsXCJoZmZmY2VcIik7emQoXCJHZTBEaWJcIixcImhmZmZjZVwiKTt6ZChcInUyVjN1ZFwiLFwiaGZmZmNlXCIpO18ueVdhPV8uR2QoXCJ1MlYzdWRcIik7Xy56V2E9Xy5GZChcImhmZmZjZVwiLFwidXVRa1lcIixcImtuNlVuZlwiLF8ueVdhKTt6ZChcImQ3TlR5XCIsXCJoZmZmY2VcIik7emQoXCJvYVpZV1wiLFwib3oyMTBjXCIpO3pkKFwiamNWT3hkXCIsXCJvejIxMGNcIik7Xy5BV2E9Xy5HZChcImpjVk94ZFwiKTtfLkJXYT1fLkZkKFwib3oyMTBjXCIsXCJXREd5RmVcIixcIkJibWFFZVwiLF8uQVdhKTt6ZChcIm4wZmhiY1wiLFwib3oyMTBjXCIpO3pkKFwibU9HV1pkXCIsXCJvejIxMGNcIik7emQoXCJWUTdZdWZcIixcIm96MjEwY1wiKTt6ZChcIlk2R0pmY1wiLFwiR0RFbTVlXCIpO3pkKFwicUtmdHZjXCIsXCJHREVtNWVcIik7Xy5DV2E9Xy5HZChcInFLZnR2Y1wiKTtfLkRXYT1fLkZkKFwiR0RFbTVlXCIsXCJhQ0o5dGZcIixcIm5LN3RkZVwiLF8uQ1dhKTt6ZChcIk0wVlFiZFwiLFwiR0RFbTVlXCIpO3pkKFwiSjRrZXZiXCIsXCJtUlFxRVwiKTt6ZChcIlJ4QWdOYlwiLFwibVJRcUVcIik7emQoXCJkaGppcGVcIixcIm1SUXFFXCIpO3pkKFwic1hEUXFjXCIsXCJYT09KRVwiKTt6ZChcInpWOWpRY1wiLFwiWE9PSkVcIik7emQoXCJrMFhzQmJcIixcIlhPT0pFXCIpO18uRVdhPV8uR2QoXCJrMFhzQmJcIik7Xy5GV2E9Xy5GZChcIlhPT0pFXCIsXCJWeFEzMmJcIixcImJwdXI0ZVwiLF8uRVdhKTt6ZChcIkR0VVpqY1wiLFwiYkdMN2FjXCIpO3pkKFwiUktmRzVjXCIsXCJiR0w3YWNcIik7Xy5HV2E9Xy5HZChcIlJLZkc1Y1wiKTtfLkhXYT1fLkZkKFwiYkdMN2FjXCIsXCJEVUxxQlwiLFwiVTI4VW9cIixfLkdXYSk7emQoXCJMbmQzbmRcIixcImJHTDdhY1wiKTt6ZChcImE3MHE3YlwiLFwiYkdMN2FjXCIpO3pkKFwiU1p0TnZjXCIsXCJUTmUyd2RcIik7emQoXCJYQWd3N2JcIixcIlROZTJ3ZFwiKTt6ZChcIkRweDZxY1wiLFwiVE5lMndkXCIpO18uSVdhPV8uR2QoXCJEcHg2cWNcIik7Xy5KV2E9Xy5GZChcIlROZTJ3ZFwiLFwiTnA4UWtkXCIsXCJidXhBd2NcIixfLklXYSk7emQoXCJYWTR5eWJcIixcImFVWFlXZFwiKTt6ZChcIkNVd2pmZlwiLFwiYVVYWVdkXCIpO3pkKFwieDVDU3VcIixcImFVWFlXZFwiKTtfLktXYT1fLkdkKFwieDVDU3VcIik7Xy5MV2E9Xy5GZChcImFVWFlXZFwiLFwiUTFPdzdiXCIsXCJta253NGJcIixfLktXYSk7emQoXCJzZkZUbGVcIixcImFVWFlXZFwiKTt6ZChcInJGR1dWZFwiLFwiczJTUHRlXCIpO3pkKFwiRGNET01jXCIsXCJzMlNQdGVcIik7emQoXCJnU1pMSmJcIixcInMyU1B0ZVwiKTtfLk1XYT1fLkdkKFwiZ1NaTEpiXCIpO18uTldhPV8uRmQoXCJzMlNQdGVcIixcImJjUFhTY1wiLFwid1RYbVdjXCIsXy5NV2EpO3pkKFwidVduRm9cIixcIkdKUkhOXCIpO3pkKFwiSDFPbnpiXCIsXCJHSlJITlwiKTt6ZChcIm43aGV5ZlwiLFwibU5nSDBlXCIpO3pkKFwiVmI1M1pjXCIsXCJtTmdIMGVcIik7emQoXCJqMHhyRVwiLFwibU5nSDBlXCIpO18uT1dhPV8uR2QoXCJqMHhyRVwiKTtfLlBXYT1fLkZkKFwibU5nSDBlXCIsXCJxWngyRmNcIixcImhDRlhVYlwiLF8uT1dhKTt6ZChcIm52ODZzXCIsXCJtTmdIMGVcIik7emQoXCJxYlN0QWRcIixcIkFWUEVNXCIpO3pkKFwiZ1Q4cW5kXCIsXCJBVlBFTVwiKTtfLlFXYT1fLkdkKFwiZ1Q4cW5kXCIpO18uUldhPV8uRmQoXCJBVlBFTVwiLFwiY0ZUV2FlXCIsXCJxckxUUVwiLF8uUVdhKTt6ZChcIlFFM2h2ZFwiLFwiQVZQRU1cIik7emQoXCJHNUk2RVwiLFwiQmdrQnVmXCIpO3pkKFwiVE42Yk1lXCIsXCJCZ2tCdWZcIik7Xy5TV2E9Xy5HZChcIlRONmJNZVwiKTtfLlRXYT1fLkZkKFwiQmdrQnVmXCIsXCJnYXViNFwiLFwiSkhTakdjXCIsXy5TV2EpO3pkKFwiS21ubjZiXCIsXCJCZ2tCdWZcIik7emQoXCJTRnN1RWZcIixcIlVJWnM2YlwiKTt6ZChcImtoOTRPY1wiLFwiVUlaczZiXCIpO3pkKFwiTkVXMVFjXCIsXCJVSVpzNmJcIik7Xy5VV2E9Xy5HZChcIk5FVzFRY1wiKTtfLlZXYT1fLkZkKFwiVUlaczZiXCIsXCJ4QmJzcmNcIixcIlBFYW9RZFwiLF8uVVdhKTt6ZChcIkZyY3lKZVwiLFwiVUlaczZiXCIpO3pkKFwiYWhJbjFjXCIsXCJIckhYcWNcIik7emQoXCJsSHBRdGRcIixcIkhySFhxY1wiKTt6ZChcIk9aamJRXCIsXCJIckhYcWNcIik7Xy5XV2E9Xy5HZChcIk9aamJRXCIpO18uWFdhPV8uRmQoXCJIckhYcWNcIixcImV1T1hZXCIsXCJWcG9CRmJcIixfLldXYSk7emQoXCJFMnpsSWZcIixcIkhySFhxY1wiKTt6ZChcInV4Y0VlYlwiLFwiUWtOeGxjXCIpO3pkKFwicXp4ek9iXCIsXCJRa054bGNcIik7Xy5ZV2E9Xy5HZChcInF6eHpPYlwiKTt6ZChcIkxSNjR4XCIsXCJRa054bGNcIik7Xy5aV2E9Xy5GZChcIlFrTnhsY1wiLFwiSXNkV1ZjXCIsXCJUVkJDZmRcIixfLllXYSk7emQoXCJLV0xqcmZcIixcIldJUVNDZlwiKTt6ZChcIlBHZjJSZVwiLFwiV0lRU0NmXCIpO18uJFdhPV8uR2QoXCJQR2YyUmVcIik7emQoXCJIWm5KNlwiLFwiV0lRU0NmXCIpO18uYVhhPV8uRmQoXCJXSVFTQ2ZcIixcIlZzQXFTYlwiLFwiTjh2S2xcIixfLiRXYSk7emQoXCJDNEtPbWNcIixcIlJUZHpMZFwiKTt6ZChcImtLY0k3Y1wiLFwiUlRkekxkXCIpO3pkKFwiekw3MnhmXCIsXCJSVGR6TGRcIik7Xy5iWGE9Xy5HZChcInpMNzJ4ZlwiKTtfLmNYYT1fLkZkKFwiUlRkekxkXCIsXCJEcGNSM2RcIixcIkIyWklxYlwiLF8uYlhhKTt6ZChcInY3NFZhZFwiLFwiUlRkekxkXCIpO3pkKFwiWXpBWm9lXCIsXCJ4elJmaGVcIik7emQoXCJoYmJYSWZcIixcInh6UmZoZVwiKTt6ZChcIkY2MnNHXCIsXCJ4elJmaGVcIik7Xy5kWGE9Xy5HZChcIkY2MnNHXCIpO18uZVhhPV8uRmQoXCJ4elJmaGVcIixcImhqUm82ZVwiLFwibXdla0JcIixfLmRYYSk7emQoXCJKMllJVWRcIixcInh6UmZoZVwiKTt6ZChcIkVoVjIyXCIsXCJRMlVOTmVcIik7emQoXCJXZUhnNFwiLFwiUTJVTk5lXCIpO18uZlhhPV8uR2QoXCJXZUhnNFwiKTt6ZChcIlkyWHVUXCIsXCJRMlVOTmVcIik7Xy5nWGE9Xy5GZChcIlEyVU5OZVwiLFwiRW5sY05kXCIsXCJRRXpUQ2VcIixfLmZYYSk7emQoXCJKWkRncWVcIixcIkhNSllRYlwiKTt6ZChcImJNMlc1ZVwiLFwiSE1KWVFiXCIpO3pkKFwiY1hYMldiXCIsXCJITUpZUWJcIik7Xy5oWGE9Xy5HZChcImNYWDJXYlwiKTtfLmlYYT1fLkZkKFwiSE1KWVFiXCIsXCJCandNY2VcIixcImVRbVNmZlwiLF8uaFhhKTt6ZChcIk8xUnEzXCIsXCJITUpZUWJcIik7emQoXCJRNnROZ2NcIixcIm02SUFLYlwiKTtfLmpYYT1fLkdkKFwiUTZ0TmdjXCIsW10pO18ua1hhPV8uRmQoXCJtNklBS2JcIixcImpZMHpnXCIsdm9pZCAwLF8ualhhKTt6ZChcImh3djl0YlwiLFwibTZJQUtiXCIpO3pkKFwiem1wdEhmXCIsXCJtNklBS2JcIik7emQoXCJFUFJ0OWRcIixcImJmWEhRYlwiKTt6ZChcIlFseXJ5YlwiLFwiS2FobkJiXCIpO3pkKFwia2preWtkXCIsXCJMNUFtcWJcIik7emQoXCJFdEN4OGJcIixcInlTaFQxZFwiKTt6ZChcIlJyUDhqYlwiLFwiSzdOMTRiXCIpO3pkKFwiSXAzRXJjXCIsXCJNRFBYOWVcIik7emQoXCJMOTdtdWRcIixcImtDWFpOYlwiKTt6ZChcImdsc2NWXCIsXCJiZlhIUWJcIik7emQoXCJWWDNsUFwiLFwiS2FobkJiXCIpO3pkKFwiSk8wZEpkXCIsXCJ5U2hUMWRcIik7emQoXCJIY0ZFR2JcIixcIk1EUFg5ZVwiKTt6ZChcIkZrZzdiZFwiLFwia0NYWk5iXCIpO3pkKFwicEVnY3VlXCIsXCJqNk1WYmVcIik7Xy5sWGE9Xy5HZChcImhWMjFmZFwiLFtfLmJUYSxfLmZUYV0pO18ubVhhPV8uR2QoXCJGNEFtTmJcIixbXy5iVGEsXy5CU2FdKTtfLm5YYT1fLkdkKFwieDRGWVhlXCIsW10pO18ub1hhPV8uR2QoXCJFdFo4Q2RcIixbXy5mS2EsXy5ucSxfLmJxLF8uZmcsXy5aZl0pO18ucFhhPV8uR2QoXCJzRmN6cVwiLFtdKTtfLnFYYT1fLkdkKFwiT1pxR3RlXCIsW18uZ28sXy5qb10pO3ZhciByWGE9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuXCJcIjtpZigvXmFib3V0Oig/OmJsYW5rfHNyY2RvYykkLy50ZXN0KGEpKXJldHVybiB3aW5kb3cub3JpZ2lufHxcIlwiO2EuaW5kZXhPZihcImJsb2I6XCIpPT09MCYmKGE9YS5zdWJzdHJpbmcoNSkpO2E9YS5zcGxpdChcIiNcIilbMF0uc3BsaXQoXCI/XCIpWzBdO2E9YS50b0xvd2VyQ2FzZSgpO2EuaW5kZXhPZihcIi8vXCIpPT0wJiYoYT13aW5kb3cubG9jYXRpb24ucHJvdG9jb2wrYSk7L15bXFx3XFwtXSo6XFwvXFwvLy50ZXN0KGEpfHwoYT13aW5kb3cubG9jYXRpb24uaHJlZik7dmFyIGI9YS5zdWJzdHJpbmcoYS5pbmRleE9mKFwiOi8vXCIpKzMpLGM9Yi5pbmRleE9mKFwiL1wiKTtjIT0tMSYmKGI9Yi5zdWJzdHJpbmcoMCxjKSk7Yz1hLnN1YnN0cmluZygwLGEuaW5kZXhPZihcIjovL1wiKSk7aWYoIWMpdGhyb3cgRXJyb3IoXCJvZGBcIithKTtpZihjIT09XCJodHRwXCImJmMhPT1cImh0dHBzXCImJmMhPT1cImNocm9tZS1leHRlbnNpb25cIiYmYyE9PVwibW96LWV4dGVuc2lvblwiJiZcbmMhPT1cImZpbGVcIiYmYyE9PVwiYW5kcm9pZC1hcHBcIiYmYyE9PVwiY2hyb21lLXNlYXJjaFwiJiZjIT09XCJjaHJvbWUtdW50cnVzdGVkXCImJmMhPT1cImNocm9tZVwiJiZjIT09XCJhcHBcIiYmYyE9PVwiZGV2dG9vbHNcIil0aHJvdyBFcnJvcihcInBkYFwiK2MpO2E9XCJcIjt2YXIgZD1iLmluZGV4T2YoXCI6XCIpO2lmKGQhPS0xKXt2YXIgZT1iLnN1YnN0cmluZyhkKzEpO2I9Yi5zdWJzdHJpbmcoMCxkKTtpZihjPT09XCJodHRwXCImJmUhPT1cIjgwXCJ8fGM9PT1cImh0dHBzXCImJmUhPT1cIjQ0M1wiKWE9XCI6XCIrZX1yZXR1cm4gYytcIjovL1wiK2IrYX07dmFyIHNYYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKHNYYSxfLnEpO3ZhciB0WGE9WzEsMiwzXTt2YXIgdVhhPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQodVhhLF8ucSk7dmFyIHZYYT1bMSwyLDNdO3ZhciB3WGE9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRCh3WGEsXy5xKTt3WGEub2I9WzFdO3ZhciB4WGE9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRCh4WGEsXy5xKTt4WGEub2I9WzMsNiw0XTt2YXIgeVhhPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoeVhhLF8ucSk7eVhhLm9iPVsxXTt2YXIgQVhhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1TdHJpbmcoXy5iYS5sb2NhdGlvbi5ocmVmKTtyZXR1cm4gZCYmYSYmYj9bYix6WGEoclhhKGQpLGEsY3x8bnVsbCldLmpvaW4oXCIgXCIpOm51bGx9LHpYYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W10sZT1bXTtpZigoQXJyYXkuaXNBcnJheShjKT8yOjEpPT0xKXJldHVybiBlPVtiLGFdLF8uSGEoZCxmdW5jdGlvbihoKXtlLnB1c2goaCl9KSxCWGEoZS5qb2luKFwiIFwiKSk7dmFyIGY9W10sZz1bXTtfLkhhKGMsZnVuY3Rpb24oaCl7Zy5wdXNoKGgua2V5KTtmLnB1c2goaC52YWx1ZSl9KTtjPU1hdGguZmxvb3IoKG5ldyBEYXRlKS5nZXRUaW1lKCkvMUUzKTtlPWYubGVuZ3RoPT0wP1tjLGIsYV06W2Yuam9pbihcIjpcIiksYyxiLGFdO18uSGEoZCxmdW5jdGlvbihoKXtlLnB1c2goaCl9KTthPUJYYShlLmpvaW4oXCIgXCIpKTthPVtjLGFdO2cubGVuZ3RoPT0wfHxhLnB1c2goZy5qb2luKFwiXCIpKTtyZXR1cm4gYS5qb2luKFwiX1wiKX0sQlhhPWZ1bmN0aW9uKGEpe3ZhciBiPVxubHNhKCk7Yi51cGRhdGUoYSk7cmV0dXJuIGIuZGlnZXN0U3RyaW5nKCkudG9Mb3dlckNhc2UoKX07dmFyIENYYT17fTt2YXIgRFhhLEVYYTtEWGE9ZnVuY3Rpb24oYSl7cmV0dXJuISFDWGEuRlBBX1NBTUVTSVRFX1BIQVNFMl9NT0R8fCEoYT09PXZvaWQgMHx8IWEpfTtFWGE9ZnVuY3Rpb24oYSxiLGMsZCl7KGE9Xy5iYVthXSl8fHR5cGVvZiBkb2N1bWVudD09PVwidW5kZWZpbmVkXCJ8fChhPShuZXcgREVhKGRvY3VtZW50KSkuZ2V0KGIpKTtyZXR1cm4gYT9BWGEoYSxjLGQpOm51bGx9O1xuXy5GWGE9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/ITE6Yjt2YXIgYz1yWGEoU3RyaW5nKF8uYmEubG9jYXRpb24uaHJlZikpLGQ9W107dmFyIGU9YjtlPWU9PT12b2lkIDA/ITE6ZTt2YXIgZj1fLmJhLl9fU0FQSVNJRHx8Xy5iYS5fX0FQSVNJRHx8Xy5iYS5fXzNQU0FQSVNJRHx8Xy5iYS5fX09WRVJSSURFX1NJRDtEWGEoZSkmJihmPWZ8fF8uYmEuX18xUFNBUElTSUQpO2lmKGYpZT0hMDtlbHNle2lmKHR5cGVvZiBkb2N1bWVudCE9PVwidW5kZWZpbmVkXCIpe3ZhciBnPW5ldyBERWEoZG9jdW1lbnQpO2Y9Zy5nZXQoXCJTQVBJU0lEXCIpfHxnLmdldChcIkFQSVNJRFwiKXx8Zy5nZXQoXCJfX1NlY3VyZS0zUEFQSVNJRFwiKTtEWGEoZSkmJihmPWZ8fGcuZ2V0KFwiX19TZWN1cmUtMVBBUElTSURcIikpfWU9ISFmfWUmJihlPShjPWMuaW5kZXhPZihcImh0dHBzOlwiKT09MHx8Yy5pbmRleE9mKFwiY2hyb21lLWV4dGVuc2lvbjpcIik9PTB8fGMuaW5kZXhPZihcImNocm9tZS11bnRydXN0ZWQ6Ly9uZXctdGFiLXBhZ2VcIik9PVxuMHx8Yy5pbmRleE9mKFwibW96LWV4dGVuc2lvbjpcIik9PTApP18uYmEuX19TQVBJU0lEOl8uYmEuX19BUElTSUQsZXx8dHlwZW9mIGRvY3VtZW50PT09XCJ1bmRlZmluZWRcInx8KGU9bmV3IERFYShkb2N1bWVudCksZT1lLmdldChjP1wiU0FQSVNJRFwiOlwiQVBJU0lEXCIpfHxlLmdldChcIl9fU2VjdXJlLTNQQVBJU0lEXCIpKSwoZT1lP0FYYShlLGM/XCJTQVBJU0lESEFTSFwiOlwiQVBJU0lESEFTSFwiLGEpOm51bGwpJiZkLnB1c2goZSksYyYmRFhhKGIpJiYoKGI9RVhhKFwiX18xUFNBUElTSURcIixcIl9fU2VjdXJlLTFQQVBJU0lEXCIsXCJTQVBJU0lEMVBIQVNIXCIsYSkpJiZkLnB1c2goYiksKGE9RVhhKFwiX18zUFNBUElTSURcIixcIl9fU2VjdXJlLTNQQVBJU0lEXCIsXCJTQVBJU0lEM1BIQVNIXCIsYSkpJiZkLnB1c2goYSkpKTtyZXR1cm4gZC5sZW5ndGg9PTA/bnVsbDpkLmpvaW4oXCIgXCIpfTt2YXIgR1hhPWZ1bmN0aW9uKGEsYil7dGhpcy5pbnRlcnZhbE1zPWE7dGhpcy5jYWxsYmFjaz1iO3RoaXMuZW5hYmxlZD0hMTt0aGlzLm9hPWZ1bmN0aW9uKCl7cmV0dXJuIF8uamgoKX07dGhpcy5BYT10aGlzLm9hKCl9O0dYYS5wcm90b3R5cGUuc2V0SW50ZXJ2YWw9ZnVuY3Rpb24oYSl7dGhpcy5pbnRlcnZhbE1zPWE7dGhpcy50aW1lciYmdGhpcy5lbmFibGVkPyh0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpOnRoaXMudGltZXImJnRoaXMuc3RvcCgpfTtHWGEucHJvdG90eXBlLnN0YXJ0PWZ1bmN0aW9uKCl7dmFyIGE9dGhpczt0aGlzLmVuYWJsZWQ9ITA7dGhpcy50aW1lcnx8KHRoaXMudGltZXI9c2V0VGltZW91dChmdW5jdGlvbigpe2EudGljaygpfSx0aGlzLmludGVydmFsTXMpLHRoaXMuQWE9dGhpcy5vYSgpKX07XG5HWGEucHJvdG90eXBlLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmVuYWJsZWQ9ITE7dGhpcy50aW1lciYmKGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnRpbWVyPXZvaWQgMCl9O0dYYS5wcm90b3R5cGUudGljaz1mdW5jdGlvbigpe3ZhciBhPXRoaXM7aWYodGhpcy5lbmFibGVkKXt2YXIgYj1NYXRoLm1heCh0aGlzLm9hKCktdGhpcy5BYSwwKTtiPHRoaXMuaW50ZXJ2YWxNcyouOD90aGlzLnRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXthLnRpY2soKX0sdGhpcy5pbnRlcnZhbE1zLWIpOih0aGlzLnRpbWVyJiYoY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLHRoaXMudGltZXI9dm9pZCAwKSx0aGlzLmNhbGxiYWNrKCksdGhpcy5lbmFibGVkJiYodGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKSl9ZWxzZSB0aGlzLnRpbWVyPXZvaWQgMH07Xy5IWGE9ZnVuY3Rpb24oYSxiLGMsZCl7dGhpcy5DYT1hO3RoaXMuQmE9Yjt0aGlzLm9hPXRoaXMuQWE9YTt0aGlzLkdhPWN8fDA7dGhpcy5MYT1kfHwyfTtfLkhYYS5wcm90b3R5cGUucnBiPTA7Xy5IWGEucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5vYT10aGlzLkFhPXRoaXMuQ2E7dGhpcy5ycGI9MH07Xy5IWGEucHJvdG90eXBlLmdldFZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQWF9O18uSFhhLnByb3RvdHlwZS5xTmE9ZnVuY3Rpb24oKXt0aGlzLm9hPU1hdGgubWluKHRoaXMuQmEsdGhpcy5vYSp0aGlzLkxhKTt0aGlzLkFhPU1hdGgubWluKHRoaXMuQmEsdGhpcy5vYSsodGhpcy5HYT9NYXRoLnJvdW5kKHRoaXMuR2EqKE1hdGgucmFuZG9tKCktLjUpKjIqdGhpcy5vYSk6MCkpO3RoaXMucnBiKyt9O3ZhciBJWGE9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChJWGEsXy5xKTtJWGEucHJvdG90eXBlLk44YT1mdW5jdGlvbigpe3JldHVybiBfLm5pKHRoaXMsMSwwKX07SVhhLnByb3RvdHlwZS5BNWI9ZnVuY3Rpb24oKXtyZXR1cm4gXy5paSh0aGlzLDMpfTt2YXIgSlhhPVswLF8uSSxfLkcsXy5UaiwtMl07dmFyIG9zYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKG9zYSxfLnEpO29zYS5wcm90b3R5cGUuZ2V0VmVyc2lvbj1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywyKX07dmFyIEtYYT1bMCxfLkgsLTFdO3ZhciBMWGE9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChMWGEsXy5xKTt2YXIgcHNhPWZ1bmN0aW9uKGEsYil7Xy5ZaChhLDEsYil9O0xYYS5wcm90b3R5cGUuUG89ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsNil9O0xYYS5vYj1bMV07dmFyIE1YYT1bMCxfLmtrLEtYYSxfLkcsXy5ILC01XTt2YXIgTlhhPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoTlhhLF8ucSk7TlhhLnByb3RvdHlwZS5zZXRMb2NhbGU9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcyw1LGEpfTt2YXIgT1hhPVswLF8uSCwtMSxfLkksXy5ILC0xLF8uSSxfLkgsLTEsTVhhLEpYYV07dmFyIG1zYT1bXCJwbGF0Zm9ybVwiLFwicGxhdGZvcm1WZXJzaW9uXCIsXCJhcmNoaXRlY3R1cmVcIixcIm1vZGVsXCIsXCJ1YUZ1bGxWZXJzaW9uXCJdLHFzYT1uZXcgTFhhLG5zYT1udWxsO3ZhciBQWGE9WzAsXy5ILF8uSSxbMCxfLkddLF8uSCwtMSxfLkksLTFdO3ZhciBRWGE9WzAsXy5JLF8uSCwtMV07dmFyIFJYYT1bMCxfLkgsLTNdO3ZhciBTWGE9WzAsXy5ILC02LF8uSmosXy5Ual07dmFyIFRYYT1bMCxfLkksXy5IXTt2YXIgVVhhPVswLF8uSCxfLkldO3ZhciBWWGE9WzAsXy5ILF8uSV07dmFyIFdYYT1bMCxfLkgsLTYsXy5JLF8uSCwxLF8uSCxfLkcsXy5JLC0xLF8uRyxfLkgsLTIsXy5JLF8uSF07dmFyIFhYYT1bMCxfLkgsLTRdO3ZhciBZWGE9WzAsXy5ILC0zLF8uSmosXy5UaixfLkhdO3ZhciBaWGE9WzAsXy5HLC0zXTt2YXIgJFhhPVswLFswLF8uSSxfLkgsLTEsXy5KaixfLlRqLC0xLF8uSCwtNCxfLmtrLFswLF8uSCwtNF0sLTEsMSxaWGFdLFswLF8uSSxfLkgsLTEsXy5KaixfLlRqLC0xLF8uSCwtNCxaWGFdXTt2YXIgYVlhPVswLF8uSCxfLkksXy5IXTt2YXIgYllhPVswLF8uSCxfLkksXy5ILC0yXTt2YXIgY1lhPVswLF8uSCwxLF8uSCwtNV07dmFyIGRZYT1bMCxfLkksXy5ILC0xLF8uSmosXy5UaiwtMSxfLkgsLTUsXy5rayxbMCxfLkgsLTRdLC0xLF8uRyxbMCxfLkcsLTNdLF8uSV07dmFyIGVZYT1bMCxbMSwyLDMsNCw1LDZdLF8ubmssUFhhLF8ubmssVVhhLF8ubmssVlhhLF8ubmssWzAsXy5JXSxfLm5rLGRZYSxfLm5rLFRYYV07dmFyIGZZYT1bMCxfLkldO3ZhciBnWWE9WzAsXy5JLF8uSCwtOF07dmFyIGhZYT1bMCxfLkgsLTldO3ZhciBpWWE9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChpWWEsXy5xKTtfLkNtWzY2MzIxNjg3XT1bMCxfLkksMSxTWGEsMSxjWWEsXy5ILC0xLGdZYSxSWGEsYllhLE9YYSxfLkpqLFlYYSxRWGEsaFlhLFdYYSwxLGZZYSwxLFhYYSwxLFBYYSxlWWEsVVhhLFZYYSxkWWEsJFhhLFRYYSw1LGFZYV07dmFyIGpZYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhLDE5KX07Xy5EKGpZYSxfLnEpO2pZYS5wcm90b3R5cGUuQ1lhPWZ1bmN0aW9uKGEpe3JldHVybiBfLmNqKHRoaXMsMixhKX07allhLnByb3RvdHlwZS5zZXRTY2hlZHVsZXI9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uY2oodGhpcywxMCxhKX07allhLm9iPVszLDVdO3ZhciBrWWE9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSw4KX07Xy5EKGtZYSxfLnEpO3ZhciBsWWE9Xy5XYihrWWEpO2tZYS5vYj1bNSw2LDddO3ZhciBtWWE9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChtWWEsXy5xKTt2YXIgbllhPV8uTmIoMTc1MjM3Mzc1LG1ZYSk7dmFyIHNZYT1mdW5jdGlvbihhKXtfLkNrLmNhbGwodGhpcyk7dmFyIGI9dGhpczt0aGlzLnRHPVwiXCI7dGhpcy5BYT1bXTt0aGlzLkRjPVwiXCI7dGhpcy5DYT1udWxsO3RoaXMuaGI9dGhpcy5rYj10aGlzLlJhPSExO3RoaXMuU2M9dGhpcy5SYj0tMTt0aGlzLnFjPSExO3RoaXMuZXhwZXJpbWVudElkcz1udWxsO3RoaXMuR2I9dGhpcy5PYj10aGlzLlFhPXRoaXMuR2E9MDt0aGlzLnZkPTE7dGhpcy50aW1lb3V0TWlsbGlzPTA7dGhpcy5TYj0hMTt0aGlzLk4kPWEuTiQ7dGhpcy5Jc2E9YS5Jc2F8fGZ1bmN0aW9uKCl7fTt0aGlzLm9hPW5ldyBvWWEoYS5OJCxhLnhsYSk7dGhpcy5uZXR3b3JrPWEubmV0d29yazt0aGlzLkc2PWEuRzZ8fG51bGw7dGhpcy5VYT1hLnVWZHx8bnVsbDt0aGlzLnlIPWEueUh8fG51bGw7dGhpcy5TT2E9YS5TT2F8fCExO3RoaXMubG9nZ2VyPW51bGw7dGhpcy53aXRoQ3JlZGVudGlhbHM9IWEuQV9iO3RoaXMueGxhPWEueGxhfHwhMTt0aGlzLk9hPSF0aGlzLnhsYSYmXG4hIV8uUWUoKSYmISFfLlFlKCkubmF2aWdhdG9yJiZfLlFlKCkubmF2aWdhdG9yLnNlbmRCZWFjb24hPT12b2lkIDA7dGhpcy5CYj10eXBlb2YgVVJMU2VhcmNoUGFyYW1zIT09XCJ1bmRlZmluZWRcIiYmISEobmV3IFVSTChwWWEoKSkpLnNlYXJjaFBhcmFtcyYmISEobmV3IFVSTChwWWEoKSkpLnNlYXJjaFBhcmFtcy5zZXQ7dmFyIGM9Xy5jaihuZXcgaVlhLDEsMSk7cVlhKHRoaXMub2EsYyk7dGhpcy5MYT1uZXcgXy5IWGEoMUU0LDNFNSwuMSk7YT1yWWEodGhpcyxhLnpCYSk7dGhpcy5CYT1uZXcgR1hhKHRoaXMuTGEuZ2V0VmFsdWUoKSxhKTt0aGlzLlliPW5ldyBHWGEoNkU1LGEpO3RoaXMuU09hfHx0aGlzLlliLnN0YXJ0KCk7dGhpcy54bGF8fChkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwidmlzaWJpbGl0eWNoYW5nZVwiLGZ1bmN0aW9uKCl7ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlPT09XCJoaWRkZW5cIiYmYi53YigpfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcInBhZ2VoaWRlXCIsXG50aGlzLndiLmJpbmQodGhpcykpKX0sdllhLHFZYSx3WWEseVlhLENZYSxFWWEsRFlhO18uRChzWWEsXy5Dayk7dmFyIHJZYT1mdW5jdGlvbihhLGIpe3JldHVybiBhLkJiP2I/ZnVuY3Rpb24oKXtiKCkudGhlbihmdW5jdGlvbigpe2EuZmx1c2goKX0pfTpmdW5jdGlvbigpe2EuZmx1c2goKX06ZnVuY3Rpb24oKXt9fTtzWWEucHJvdG90eXBlLlFjPWZ1bmN0aW9uKCl7dGhpcy53YigpO3RoaXMuQmEuc3RvcCgpO3RoaXMuWWIuc3RvcCgpO18uQ2sucHJvdG90eXBlLlFjLmNhbGwodGhpcyl9O3ZhciB0WWE9ZnVuY3Rpb24oYSl7YS5VYXx8KGEuVWE9cFlhKCkpO3RyeXtyZXR1cm4obmV3IFVSTChhLlVhKSkudG9TdHJpbmcoKX1jYXRjaChiKXtyZXR1cm4obmV3IFVSTChhLlVhLF8uUWUoKS5sb2NhdGlvbi5vcmlnaW4pKS50b1N0cmluZygpfX07XG5zWWEucHJvdG90eXBlLmRpc3BhdGNoPWZ1bmN0aW9uKGEpe3RoaXMuQmImJihhIGluc3RhbmNlb2YgXy5Ybz90aGlzLmxvZyhhKTooYT1fLmZOYShuZXcgXy5YbyxhLldjKCkpLHRoaXMubG9nKGEpKSl9O18udVlhPWZ1bmN0aW9uKGEsYil7Yj8oYS5leHBlcmltZW50SWRzfHwoYS5leHBlcmltZW50SWRzPW5ldyBUemEpLGE9YS5leHBlcmltZW50SWRzLGI9Yi5XYygpLF8uRGUoYSw0LGIpKTphLmV4cGVyaW1lbnRJZHMmJl8uVmYoYS5leHBlcmltZW50SWRzLDQpfTt2WWE9ZnVuY3Rpb24oYSxiKXthLkxhPW5ldyBfLkhYYShiPDE/MTpiLDNFNSwuMSk7YS5CYS5zZXRJbnRlcnZhbChhLkxhLmdldFZhbHVlKCkpfTtcbnNZYS5wcm90b3R5cGUubG9nPWZ1bmN0aW9uKGEpe2lmKHRoaXMuQmIpe2E9YS5jbG9uZSgpO3ZhciBiPXRoaXMudmQrKzthPV8uS2YoYSwyMSxiKTt0aGlzLnRHJiZfLkRlKGEsMjYsdGhpcy50Ryk7aWYoXy5udmEoYSwxKT09bnVsbCl7dmFyIGM9RGF0ZS5ub3coKTtiPWE7Yz1OdW1iZXIuaXNGaW5pdGUoYyk/Yy50b1N0cmluZygpOlwiMFwiO18uU2koYiwxLGMpfV8uZGQoYSwxNSl8fF8uS2YoYSwxNSwobmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCkqNjApO3RoaXMuZXhwZXJpbWVudElkcyYmKGI9YSxjPXRoaXMuZXhwZXJpbWVudElkcy5jbG9uZSgpLF8uTWIoYixUemEsMTYsYykpO2I9dGhpcy5BYS5sZW5ndGgtMUUzKzE7Yj4wJiYodGhpcy5BYS5zcGxpY2UoMCxiKSx0aGlzLkdhKz1iKTt0aGlzLkFhLnB1c2goYSk7dGhpcy5TT2F8fHRoaXMuQmEuZW5hYmxlZHx8dGhpcy5CYS5zdGFydCgpfX07XG5zWWEucHJvdG90eXBlLmZsdXNoPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcztpZih0aGlzLkFhLmxlbmd0aD09PTApYSYmYSgpO2Vsc2UgaWYodGhpcy5TYiYmdGhpcy5PYSl3WWEodGhpcy5vYSwzKSx4WWEodGhpcyk7ZWxzZXt2YXIgZD1EYXRlLm5vdygpO2lmKHRoaXMuU2M+ZCYmdGhpcy5SYjxkKWImJmIoXCJ0aHJvdHRsZWRcIik7ZWxzZXt0aGlzLm5ldHdvcmsmJih0eXBlb2YgdGhpcy5uZXR3b3JrLk44YT09PVwiZnVuY3Rpb25cIj93WWEodGhpcy5vYSx0aGlzLm5ldHdvcmsuTjhhKCkpOndZYSh0aGlzLm9hLDApKTt2YXIgZT10aGlzLm9hLmJ1aWxkKHRoaXMuQWEsdGhpcy5HYSx0aGlzLlFhLHRoaXMuRzYsdGhpcy5PYix0aGlzLkdiKTtkPXt9O3ZhciBmPXRoaXMuSXNhKCk7ZiYmKGQuQXV0aG9yaXphdGlvbj1mKTt2YXIgZz1uZXcgVVJMKHRZYSh0aGlzKSk7dGhpcy55SCYmKGRbXCJYLUdvb2ctQXV0aFVzZXJcIl09dGhpcy55SCxnLnNlYXJjaFBhcmFtcy5zZXQoXCJhdXRodXNlclwiLFxudGhpcy55SCkpO3RoaXMuQ2EmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoZCxcIlgtR29vZy1QYWdlSWRcIix7dmFsdWU6dGhpcy5DYX0pLGcuc2VhcmNoUGFyYW1zLnNldChcInBhZ2VJZFwiLHRoaXMuQ2EpKTtpZihmJiZ0aGlzLkRjPT09ZiliJiZiKFwic3RhbGUtYXV0aC10b2tlblwiKTtlbHNlIGlmKHRoaXMuQWE9W10sdGhpcy5CYS5lbmFibGVkJiZ0aGlzLkJhLnN0b3AoKSx0aGlzLkdhPTAsdGhpcy5SYSlhJiZhKCk7ZWxzZXt2YXIgaD1lLldjKCk7ZD17dXJsOmcudG9TdHJpbmcoKSxib2R5Omgsa3ZlOjEscmVxdWVzdEhlYWRlcnM6ZCxyZXF1ZXN0VHlwZTpcIlBPU1RcIix3aXRoQ3JlZGVudGlhbHM6dGhpcy53aXRoQ3JlZGVudGlhbHMsdGltZW91dE1pbGxpczp0aGlzLnRpbWVvdXRNaWxsaXN9O2c9ZnVuY3Rpb24oayl7Yy5MYS5yZXNldCgpO2MuQmEuc2V0SW50ZXJ2YWwoYy5MYS5nZXRWYWx1ZSgpKTtpZihrKXt2YXIgbD1udWxsO3RyeXt2YXIgbj1KU09OLnN0cmluZ2lmeShKU09OLnBhcnNlKGsucmVwbGFjZShcIildfSdcXG5cIixcblwiXCIpKSk7bD1sWWEobil9Y2F0Y2gocil7fWwmJihrPU51bWJlcihfLmtpKGwsMSxcIi0xXCIpKSxrPjAmJihjLlJiPURhdGUubm93KCksYy5TYz1jLlJiK2spLGw9bC5GcihuWWEpKSYmKGw9Xy5paShsLDEsLTEpLGwhPT0tMSYmKGMucWN8fHZZYShjLGwpKSl9YSYmYSgpO2MuUWE9MH07aD1mdW5jdGlvbihrLGwpe3ZhciBuPV8uUmUoZSxfLlhvLDMsXy5TZSgpKTt2YXIgcj1fLiRoKGUsMTQpO2MuTGEucU5hKCk7Yy5CYS5zZXRJbnRlcnZhbChjLkxhLmdldFZhbHVlKCkpO2s9PT00MDEmJmYmJihjLkRjPWYpO3ImJihjLkdhKz1yKTtsPT09dm9pZCAwJiYobD1jLnVsYShrKSk7bCYmKGMuQWE9bi5jb25jYXQoYy5BYSksYy5TT2F8fGMuQmEuZW5hYmxlZHx8Yy5CYS5zdGFydCgpKTtiJiZiKFwibmV0LXNlbmQtZmFpbGVkXCIsayk7KytjLlFhfTtjLm5ldHdvcmsmJmMubmV0d29yay5zZW5kKGQsZyxoKX19fX07XG5zWWEucHJvdG90eXBlLndiPWZ1bmN0aW9uKCl7dGhpcy5SYXx8KHlZYSh0aGlzLm9hLCEwKSx0aGlzLmtiJiYod1lhKHRoaXMub2EsMykseFlhKHRoaXMpKSx0aGlzLmhiJiYod1lhKHRoaXMub2EsMiksellhKHRoaXMpKSx0aGlzLmZsdXNoKCkseVlhKHRoaXMub2EsITEpKX07XG52YXIgeFlhPWZ1bmN0aW9uKGEpe0FZYShhLDMyLDEwLGZ1bmN0aW9uKGIsYyl7Yj1uZXcgVVJMKGIpO2Iuc2VhcmNoUGFyYW1zLnNldChcImZvcm1hdFwiLFwianNvblwiKTt2YXIgZD0hMTt0cnl7ZD1fLlFlKCkubmF2aWdhdG9yLnNlbmRCZWFjb24oYi50b1N0cmluZygpLGMuV2MoKSl9Y2F0Y2goZSl7fWR8fChhLk9hPSExKTtyZXR1cm4gZH0pfSx6WWE9ZnVuY3Rpb24oYSl7QVlhKGEsNiw1LGZ1bmN0aW9uKGIsYyl7Yj1uZXcgVVJMKGIpO2Iuc2VhcmNoUGFyYW1zLnNldChcImZvcm1hdFwiLFwiYmFzZTY0anNvblwiKTtiLnNlYXJjaFBhcmFtcy5zZXQoXCJwXCIsXy56aChjLldjKCksMykpO2M9Yi50b1N0cmluZygpO2lmKGMubGVuZ3RoPjE1MzYwKXJldHVybiExOyhuZXcgSW1hZ2UpLnNyYz1jO3JldHVybiEwfSl9LEFZYT1mdW5jdGlvbihhLGIsYyxkKXtpZihhLkFhLmxlbmd0aCE9PTApe3ZhciBlPW5ldyBVUkwodFlhKGEpKTtlLnNlYXJjaFBhcmFtcy5kZWxldGUoXCJmb3JtYXRcIik7dmFyIGY9XG5hLklzYSgpO2YmJmUuc2VhcmNoUGFyYW1zLnNldChcImF1dGhcIixmKTtlLnNlYXJjaFBhcmFtcy5zZXQoXCJhdXRodXNlclwiLGEueUh8fFwiMFwiKTtmb3IoZj0wO2Y8YyYmYS5BYS5sZW5ndGg7KytmKXt2YXIgZz1hLkFhLnNsaWNlKDAsYiksaD1hLm9hLmJ1aWxkKGcsYS5HYSxhLlFhLGEuRzYsYS5PYixhLkdiKTtpZighZChlLnRvU3RyaW5nKCksaCkpeysrYS5RYTticmVha31hLkdhPTA7YS5RYT0wO2EuT2I9MDthLkdiPTA7YS5BYT1hLkFhLnNsaWNlKGcubGVuZ3RoKX1hLkJhLmVuYWJsZWQmJmEuQmEuc3RvcCgpfX07c1lhLnByb3RvdHlwZS51bGE9ZnVuY3Rpb24oYSl7cmV0dXJuIDUwMDw9YSYmYTw2MDB8fGE9PT00MDF8fGE9PT0wfTtcbnZhciBwWWE9ZnVuY3Rpb24oKXtyZXR1cm5cImh0dHBzOi8vcGxheS5nb29nbGUuY29tL2xvZz9mb3JtYXQ9anNvbiZoYXNmYXN0PXRydWVcIn0sb1lhPWZ1bmN0aW9uKGEsYil7dGhpcy54bGE9Yj1iPT09dm9pZCAwPyExOmI7dGhpcy51YWNoPXRoaXMubG9jYWxlPW51bGw7dGhpcy5vYT1uZXcgallhO051bWJlci5pc0ludGVnZXIoYSkmJnRoaXMub2EuQ1lhKGEpO2J8fCh0aGlzLmxvY2FsZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKFwibGFuZ1wiKSk7cVlhKHRoaXMsbmV3IGlZYSl9O29ZYS5wcm90b3R5cGUuQ1lhPWZ1bmN0aW9uKGEpe3RoaXMub2EuQ1lhKGEpO3JldHVybiB0aGlzfTtcbnFZYT1mdW5jdGlvbihhLGIpe18uTWIoYS5vYSxpWWEsMSxiKTtfLm5pKGIsMSwwKXx8Xy5jaihiLDEsMSk7YS54bGF8fChiPV8uQllhKGEpLF8uQShiLDUpfHxiLnNldExvY2FsZShhLmxvY2FsZSkpO2EudWFjaCYmKGI9Xy5CWWEoYSksXy52KGIsTFhhLDkpfHxfLk1iKGIsTFhhLDksYS51YWNoKSl9O3dZYT1mdW5jdGlvbihhLGIpe18uR2goQ1lhKGEpLE5YYSwxMSkmJihhPURZYShhKSxfLmNqKGEsMSxiKSl9O3lZYT1mdW5jdGlvbihhLGIpe18uR2goQ1lhKGEpLE5YYSwxMSkmJihhPURZYShhKSxfLk1nKGEsMixiKSl9O0NZYT1mdW5jdGlvbihhKXtyZXR1cm4gXy52KGEub2EsaVlhLDEpfTtcbkVZYT1mdW5jdGlvbihhKXt2YXIgYj1iPT09dm9pZCAwP21zYTpiO3ZhciBjPWEueGxhP3ZvaWQgMDpfLlFlKCk7Yz9yc2EoYyxiKS50aGVuKGZ1bmN0aW9uKGQpe2EudWFjaD1kO2Q9Xy5CWWEoYSk7Xy5NYihkLExYYSw5LGEudWFjaCk7cmV0dXJuITB9KS5jYXRjaChmdW5jdGlvbigpe3JldHVybiExfSk6UHJvbWlzZS5yZXNvbHZlKCExKX07Xy5CWWE9ZnVuY3Rpb24oYSl7YT1DWWEoYSk7dmFyIGI9Xy52KGEsTlhhLDExKTtifHwoYj1uZXcgTlhhLF8uTWIoYSxOWGEsMTEsYikpO3JldHVybiBifTtEWWE9ZnVuY3Rpb24oYSl7YT1fLkJZYShhKTt2YXIgYj1fLnYoYSxJWGEsMTApO2J8fChiPW5ldyBJWGEsXy5NZyhiLDIsITEpLF8uTWIoYSxJWGEsMTAsYikpO3JldHVybiBifTtcbm9ZYS5wcm90b3R5cGUuYnVpbGQ9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2I9Yj09PXZvaWQgMD8wOmI7ZT1lPT09dm9pZCAwPzA6ZTtmPWY9PT12b2lkIDA/MDpmO2M9Yz09PXZvaWQgMD8wOmM7aWYoXy5HaChDWWEodGhpcyksTlhhLDExKSl7dmFyIGc9RFlhKHRoaXMpO18uT2koZywzLGMpfV8uR2goQ1lhKHRoaXMpLE5YYSwxMSkmJihjPURZYSh0aGlzKSxfLk9pKGMsNCxlKSk7Xy5HaChDWWEodGhpcyksTlhhLDExKSYmKGU9RFlhKHRoaXMpLF8uT2koZSw1LGYpKTtmPXRoaXMub2EuY2xvbmUoKTtlPURhdGUubm93KCkudG9TdHJpbmcoKTtmPV8uU2koZiw0LGUpO2E9YS5zbGljZSgpO2E9Xy5ZaChmLDMsYSk7ZCYmKGQ9Xy5hTmEobmV3IF8uJE1hLGQpLGQ9Xy5jTmEoZCksZj1uZXcgZE5hLGQ9Xy5NYihmLF8uYk5hLDEsZCksZD1fLmNqKGQsMiw5KSxfLk1iKGEsZE5hLDE4LGQpKTtiJiZfLktmKGEsMTQsYik7cmV0dXJuIGF9O3ZhciBGWWE9ZnVuY3Rpb24oKXt0aGlzLlBYYz10eXBlb2YgQWJvcnRDb250cm9sbGVyIT09XCJ1bmRlZmluZWRcIn07XG5GWWEucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMsZSxmLGcsaCxrLGwsbixyLHQsdTtyZXR1cm4gXy5iaChmdW5jdGlvbih6KXtzd2l0Y2goei5vYSl7Y2FzZSAxOnJldHVybiBmPShlPWQuUFhjP25ldyBBYm9ydENvbnRyb2xsZXI6dm9pZCAwKT9zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZS5hYm9ydCgpfSxhLnRpbWVvdXRNaWxsaXMpOnZvaWQgMCxfLlVnKHosMiwzKSxnPU9iamVjdC5hc3NpZ24oe30se21ldGhvZDphLnJlcXVlc3RUeXBlLGhlYWRlcnM6T2JqZWN0LmFzc2lnbih7fSxhLnJlcXVlc3RIZWFkZXJzKX0sYS5ib2R5JiZ7Ym9keTphLmJvZHl9LGEud2l0aENyZWRlbnRpYWxzJiZ7Y3JlZGVudGlhbHM6XCJpbmNsdWRlXCJ9LHtzaWduYWw6YS50aW1lb3V0TWlsbGlzJiZlP2Uuc2lnbmFsOm51bGx9KSx6LnlpZWxkKGZldGNoKGEudXJsLGcpLDUpO2Nhc2UgNTpoPXouQWE7aWYoaC5zdGF0dXMhPT0yMDApeyhrPWMpPT1udWxsfHxrKGguc3RhdHVzKTtcbnouTWIoMyk7YnJlYWt9aWYoKGw9Yik9PW51bGwpe3ouTWIoNyk7YnJlYWt9cmV0dXJuIHoueWllbGQoaC50ZXh0KCksOCk7Y2FzZSA4Omwoei5BYSk7Y2FzZSA3OmNhc2UgMzpfLlpnKHopO2NsZWFyVGltZW91dChmKTtfLiRnKHosMCk7YnJlYWs7Y2FzZSAyOm49Xy5ZZyh6KTtzd2l0Y2goKHI9bik9PW51bGw/dm9pZCAwOnIubmFtZSl7Y2FzZSBcIkFib3J0RXJyb3JcIjoodD1jKT09bnVsbHx8dCg0MDgpO2JyZWFrO2RlZmF1bHQ6KHU9Yyk9PW51bGx8fHUoNDAwKX16Lk1iKDMpfX0pfTtGWWEucHJvdG90eXBlLk44YT1mdW5jdGlvbigpe3JldHVybiA0fTtfLktzYT1mdW5jdGlvbihhLGIpe18uQ2suY2FsbCh0aGlzKTt0aGlzLk4kPWE7dGhpcy55SD1iO3RoaXMubTQ9XCJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9sb2c/Zm9ybWF0PWpzb24maGFzZmFzdD10cnVlXCI7dGhpcy5SYT0hMDt0aGlzLm9hPW51bGw7dGhpcy5RYT0hMTt0aGlzLm5ldHdvcms9bnVsbDt0aGlzLnRHPVwiXCI7dGhpcy5BYT10aGlzLkc2PW51bGw7dGhpcy5HYT10aGlzLkxhPSExO3RoaXMuQmE9bnVsbDt0aGlzLk9hPSExO3RoaXMuQ2E9bnVsbH07Xy5EKF8uS3NhLF8uQ2spO18uR1lhPWZ1bmN0aW9uKGEsYil7YS5tND1iO3JldHVybiBhfTtfLkpzYT1mdW5jdGlvbihhLGIpe2EubmV0d29yaz1iO3JldHVybiBhfTtfLkhZYT1mdW5jdGlvbihhLGIpe2EuSXNhPWI7cmV0dXJuIGF9O18uS3NhLnByb3RvdHlwZS5BX2I9ZnVuY3Rpb24oKXt0aGlzLlVhPSEwO3JldHVybiB0aGlzfTtcbl8uS3NhLnByb3RvdHlwZS5idWlsZD1mdW5jdGlvbigpe3RoaXMubmV0d29ya3x8KHRoaXMubmV0d29yaz1uZXcgRllhKTt2YXIgYT1uZXcgc1lhKHtOJDp0aGlzLk4kLElzYTp0aGlzLklzYT90aGlzLklzYTpfLkZYYSx5SDp0aGlzLnlILHVWZDp0aGlzLm00LHhsYTp0aGlzLlFhLFNPYTohMSxBX2I6dGhpcy5VYSx6QmE6dGhpcy56QmEsbmV0d29yazp0aGlzLm5ldHdvcmt9KTtfLkhnKHRoaXMsYSk7dGhpcy5SYXx8KGEuUmE9ITApO2lmKHRoaXMub2Epe3ZhciBiPXRoaXMub2EsYz1fLkJZYShhLm9hKTtfLkRlKGMsNyxiKX10aGlzLnRHJiYoYS50Rz10aGlzLnRHKTt0aGlzLkc2JiYoYS5HNj10aGlzLkc2KTt0aGlzLkNhJiYoYS5DYT10aGlzLkNhKTt0aGlzLkFhJiZfLnVZYShhLHRoaXMuQWEpO3RoaXMuTGEmJihhLmtiPXRoaXMuTGEmJmEuT2EpO3RoaXMuR2EmJihhLmhiPXRoaXMuR2EpO3RoaXMuQmEmJihiPXRoaXMuQmEsYS5xYz0hMCx2WWEoYSxiKSk7dGhpcy5PYSYmKGEuU2I9XG5hLk9hKTtFWWEoYS5vYSk7dGhpcy5uZXR3b3JrLkNZYSYmdGhpcy5uZXR3b3JrLkNZYSh0aGlzLk4kKTt0aGlzLm5ldHdvcmsudE5kJiZ0aGlzLm5ldHdvcmsudE5kKGEpO3JldHVybiBhfTtfLklZYT1mdW5jdGlvbihhLGIsYyxkLGUsZixnKXthPWE9PT12b2lkIDA/LTE6YTtiPWI9PT12b2lkIDA/XCJcIjpiO2M9Yz09PXZvaWQgMD9cIlwiOmM7ZD1kPT09dm9pZCAwPyExOmQ7ZT1lPT09dm9pZCAwP1wiXCI6ZTtfLkNrLmNhbGwodGhpcyk7dGhpcy5OJD1hO3RoaXMudEc9YjtmP2I9ZjooYT1uZXcgXy5Lc2EoYSxcIjBcIiksYS50Rz1iLF8uSGcodGhpcyxhKSxjIT09XCJcIiYmXy5HWWEoYSxjKSxkJiYoYS5RYT0hMCksZSYmKGEub2E9ZSksZyYmXy5Kc2EoYSxnKSxiPWEuYnVpbGQoKSk7dGhpcy50cmFuc3BvcnQ9Yn07Xy5EKF8uSVlhLF8uQ2spO1xuXy5JWWEucHJvdG90eXBlLmZsdXNoPWZ1bmN0aW9uKGEpe2E9YXx8W107aWYoYS5sZW5ndGgpe2Zvcih2YXIgYj1uZXcgeVhhLGM9W10sZD0wO2Q8YS5sZW5ndGg7ZCsrKXt2YXIgZT1hW2RdO3ZhciBmPW5ldyB4WGE7Zj1fLkRlKGYsMSxlLkNhKTtmb3IodmFyIGc9W10saD0wO2g8ZS5maWVsZHMubGVuZ3RoO2grKylnLnB1c2goZS5maWVsZHNbaF0uaGopO2Y9Xy5maihmLDMsZyx2b2lkIDApO2c9W107aD1bXTtmb3IodmFyIGs9Xy5QYShlLm9hLmtleXMoKSksbD1rLm5leHQoKTshbC5kb25lO2w9ay5uZXh0KCkpaC5wdXNoKGwudmFsdWUuc3BsaXQoXCIsXCIpKTtmb3Ioaz0wO2s8aC5sZW5ndGg7aysrKXtsPWhba107dmFyIG49ZS5CYTtmb3IodmFyIHI9ZS5Na2IobCl8fFtdLHQ9W10sdT0wO3U8ci5sZW5ndGg7dSsrKXt2YXIgej1yW3VdLEI9eiYmei5vYTt6PW5ldyB1WGE7c3dpdGNoKG4pe2Nhc2UgMzpCPU51bWJlcihCKTtOdW1iZXIuaXNGaW5pdGUoQikmJl8uenZhKHosMSx2WGEsXG5CKTticmVhaztjYXNlIDI6Xy5BdmEoeiwyLHZYYSxOdW1iZXIoQikpfXQucHVzaCh6KX1uPXQ7Zm9yKHI9MDtyPG4ubGVuZ3RoO3IrKyl7dD1uW3JdO3U9bmV3IHdYYTt0PV8uTWIodSx1WGEsMix0KTt1PWw7ej1bXTtCPVtdO2Zvcih2YXIgRj0wO0Y8ZS5maWVsZHMubGVuZ3RoO0YrKylCLnB1c2goZS5maWVsZHNbRl0uaWopO2ZvcihGPTA7RjxCLmxlbmd0aDtGKyspe3ZhciBLPUJbRl0sUD11W0ZdLFE9bmV3IHNYYTtzd2l0Y2goSyl7Y2FzZSAzOl8uJGkoUSwxLHRYYSxTdHJpbmcoUCkpO2JyZWFrO2Nhc2UgMjpLPU51bWJlcihQKTtOdW1iZXIuaXNGaW5pdGUoSykmJl8ueHZhKFEsMix0WGEsSyk7YnJlYWs7Y2FzZSAxOl8ud3ZhKFEsMyx0WGEsUD09PVwidHJ1ZVwiKX16LnB1c2goUSl9Xy5ZaCh0LDEseik7Zy5wdXNoKHQpfX1fLlloKGYsNCxnKTtjLnB1c2goZik7ZS5jbGVhcigpfV8uWWgoYiwxLGMpO3RoaXMudHJhbnNwb3J0LmRpc3BhdGNoKGIpO3RoaXMudHJhbnNwb3J0LmZsdXNoKCl9fTtfLkpZYT1fLkdkKFwiQ2s2M3RiXCIsW18uS1FhXSk7Xy5LWWE9Xy5HZChcIkZzUjA0XCIsW18uZnFdKTtfLkxZYT1fLkdkKFwiaFB5R0JiXCIsW18uc1RhXSk7Xy5NWWE9Xy5HZChcIkJPNDNnZFwiLFtdKTtfLk5ZYT1fLkdkKFwiVWVmT21iXCIsW18uYnEsXy5tcV0pO18uT1lhPV8uR2QoXCJTbDBweGRcIixbXy5rcV0pO18uUFlhPV8uUWcoW1wiXCJdKTtfLlFZYT1fLlFnKFtcIlwiXSk7Xy5SWWE9Xy5RZyhbXCJcIl0pO18uU1lhPXdpbmRvdy5Qcm94eTtbXS5jb25jYXQoXy5tZChbXSksXy5tZChbXSkpO18uVFlhPV8uUWcoW1wiXCJdKTtfLlVZYT1uZXcgTWFwO18uVllhPW5ldyBNYXA7Xy5XWWE9ITE7Xy5YWWE9ZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCl9O18uWVlhPSExO18uWllhPWZ1bmN0aW9uKGEpe2EoKX07Xy4kWWE9ZnVuY3Rpb24oYSl7YSgpfTtQcm9taXNlLnJlc29sdmUoKTtfLmFaYT1fLkdkKFwiTkswbnhcIixbXSk7Xy5iWmE9Xy5HZChcInZOektIZFwiLFtdKTtfLmNaYT1fLkdkKFwiem1wdEhmXCIsW18uYnEsXy5iWmFdKTtfLmRaYT1fLkdkKFwiRTlNNlVjXCIsW10pO18uZVphPV8uR2QoXCJtYTR4R1wiLFtdKTtfLmZaYT1fLkdkKFwiYjVsaHZiXCIsW18uZVphLF8uZFphXSk7Xy5nWmE9Xy5HZChcIklGcXh4Y1wiLFtdKTtfLmhaYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uaFphLF8ucSk7Xy5oWmEucHJvdG90eXBlLmdldFF1ZXJ5PWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDEpfTtfLmhaYS5wcm90b3R5cGUuc2V0UXVlcnk9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcywxLGEpfTtfLmhaYS5vYj1bNl07Xy5pWmE9Xy5HZChcIk55ZXFNXCIsW18uSlNhXSk7Xy5qWmE9Xy5HZChcIlh5NTB6ZlwiLFtfLmlaYV0pO18ua1phPV8uR2QoXCJDRURiR2RcIixbXy5icV0pO18ubFphPV8uR2QoXCJITUZEYmJcIixbXy5rcV0pO18ubVphPV8uR2QoXCJwYnhOcGJcIixbXy5rcSxfLiRwLF8uQVRhXSk7Xy5uWmE9Xy5HZChcInh0S0dHZFwiLFtdKTtfLm9aYT1fLkdkKFwieXhEZmNjXCIsW10pO18ucFphPV8uR2QoXCJtRjdabmNcIixbXy5vWmFdKTtfLnFaYT1fLkdkKFwiaFZxZkJcIik7Xy5yWmE9Xy5HZChcImduMWV5ZVwiLFtdKTtfLnNaYT1fLkdkKFwiaGdUU3FiXCIsW10pO18udFphPV8uR2QoXCJpRGpUeWJcIixbXSk7Xy51WmE9Xy5HZChcInNvQVJYYlwiKTtfLnZaYT1fLkdkKFwiT3hWNk5jXCIsW10pO18ud1phPV8uR2QoXCJmZzFWUVwiLFtdKTtfLnhaYT1fLkdkKFwicnc1akdkXCIsW10pO18ueVphPV8uR2QoXCJ2N2hIMGJcIixbXSk7Xy56WmE9Xy5HZChcInFYRW9QXCIsW18ueVphXSk7Xy5BWmE9Xy5HZChcIkZyeUlrZVwiKTtfLkJaYT1fLkdkKFwib2FaWVdcIik7Xy5DWmE9Xy5HZChcIkpKVE5TZFwiLFtfLkFuXSk7Xy5EWmE9Xy5HZChcImZ6YzNMZFwiLFtfLkNaYV0pO18uRVphPV8uR2QoXCJKV252TFwiLFtfLkNaYV0pO18uRlphPV8uR2QoXCJPQnBGa2RcIixbXy5FWmFdKTtfLkdaYT1fLkdkKFwidTBpYkFlXCIsW18ucnFdKTtfLkhaYT1fLkdkKFwiRHRVWmpjXCIpO18uSVphPV8uR2QoXCJlTVZYM2NcIixbXSk7Xy5KWmE9Xy5HZChcInNFVVY1XCIsW10pO18uS1phPV8uR2QoXCJKV2tPUmJcIixbXy5Bbl0pO18uTFphPV8uR2QoXCJZQjd0cGJcIixbXSk7Xy5NWmE9Xy5HZChcIndYOExqYlwiLFtfLnlaYV0pO18uTlphPV8uR2QoXCJzNEJkSGVcIixbXy55WmFdKTtfLk9aYT1mdW5jdGlvbihhLGIsYyl7dGhpcy50YXNrPWE7dGhpcy5YJD1iO3RoaXMub2E9Y307Xy5QWmE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBuZXcgXy5PWmEoYSxiLGMpfTtfLlFaYT1mdW5jdGlvbihhKXt0aGlzLnRhc2tzPWEuYkpifTtfLlFaYS5wcm90b3R5cGUuSlZhPWZ1bmN0aW9uKCl7fTtfLlFaYS5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt9O3ZhciBSWmE9e2wxZDoxLG9rZToyLHQ4ZDozLGx1ZTo0LGRtZTo1LHlrZTo2LHVrZTo3LEdYZDo4fTt2YXIgVlphO18uU1phPSEoIXdpbmRvdy5wZXJmb3JtYW5jZXx8IXdpbmRvdy5wZXJmb3JtYW5jZS5ub3cpO18uVFphPSEhKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLm1hcmsmJndpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKTtfLlVaYT1fLlRaYSYmISF3aW5kb3cucGVyZm9ybWFuY2UubWVhc3VyZTtWWmE9d2luZG93LkFib3J0Q29udHJvbGxlciE9bnVsbDtfLldaYT1XZWFrTWFwLnRvU3RyaW5nKCkuaW5kZXhPZihcIltuYXRpdmUgY29kZV1cIikhPT0tMTt2YXIgWFphPWZ1bmN0aW9uKCl7dGhpcy5hYm9ydGVkPSExO3RoaXMub25hYm9ydD1udWxsO3RoaXMudGFyZ2V0PWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQ/ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpOmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIil9O1haYS5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihhLGIsYyl7dGhpcy50YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihhLGIsYyl9O1haYS5wcm90b3R5cGUucmVtb3ZlRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihhLGIsYyl7dGhpcy50YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGIsYyl9O1haYS5wcm90b3R5cGUuZGlzcGF0Y2hFdmVudD1mdW5jdGlvbihhKXtpZih0aGlzLm9uYWJvcnQmJmEudHlwZT09PVwiYWJvcnRcIil0aGlzLm9uYWJvcnQoYSk7cmV0dXJuIHRoaXMudGFyZ2V0LmRpc3BhdGNoRXZlbnQoYSl9O3ZhciBZWmE9ZnVuY3Rpb24oKXt0aGlzLnNpZ25hbD1uZXcgWFphfTtZWmEucHJvdG90eXBlLmFib3J0PWZ1bmN0aW9uKCl7aWYoIXRoaXMuc2lnbmFsLmFib3J0ZWQpe3RoaXMuc2lnbmFsLmFib3J0ZWQ9ITA7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoXCJFdmVudFwiKTthLmluaXRFdmVudChcImFib3J0XCIsITEsITEpO3RoaXMuc2lnbmFsLmRpc3BhdGNoRXZlbnQoYSl9fTt2YXIgdHNhPXt9LFpaYT1WWmE/d2luZG93LkFib3J0Q29udHJvbGxlcjpZWmE7dmFyICRaYT0xLGNfYT1mdW5jdGlvbihhKXt2YXIgYj10aGlzO3ZhciBjPWE9PT12b2lkIDA/e306YTthPWMucHJpb3JpdHk7Yz1jLnNpZ25hbDt0aGlzLnpkPTE7dGhpcy5vYT1uZXcgXy5zZzt0aGlzLnByb21pc2U9dGhpcy5vYS5wcm9taXNlO3RoaXMuaWQ9JFphKys7dGhpcy5wcmlvcml0eT1hO2MmJnNzYShjLGZ1bmN0aW9uKCl7Xy5hX2EoYil8fChfLmJfYShiLDgpLGIub2EucmVqZWN0KHRzYSkpfSl9O2NfYS5wcm90b3R5cGUuYmxvY2s9ZnVuY3Rpb24oKXt0aGlzLnpkIT09MiYmdGhpcy56ZCE9PTR8fF8uYl9hKHRoaXMsMSl9O18uYV9hPWZ1bmN0aW9uKGEpe2E9YS56ZDtyZXR1cm4gYT09PTd8fGE9PT02fHxhPT09OH07Y19hLnByb3RvdHlwZS5leGVjdXRlPWZ1bmN0aW9uKGEpe2E9YT09PXZvaWQgMD8hMTphO18uYl9hKHRoaXMsMyk7KGE9dGhpcy5BYShhKSkmJl8uYl9hKHRoaXMsYSk7cmV0dXJuIHRoaXMuemR9O1xuXy5iX2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLnpkO2EuemQ9YjthLm9uU3RhdGVDaGFuZ2UoYSxiLGMpfTtjX2EucHJvdG90eXBlLmdldFN0YXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuemR9O2NfYS5wcm90b3R5cGUucmVzb2x2ZT1mdW5jdGlvbihhKXtfLmFfYSh0aGlzKXx8KF8uYl9hKHRoaXMsNiksdGhpcy5vYS5yZXNvbHZlKGEpKX07Y19hLnByb3RvdHlwZS5yZWplY3Q9ZnVuY3Rpb24oYSl7Xy5hX2EodGhpcyl8fChfLmJfYSh0aGlzLDcpLHRoaXMub2EucmVqZWN0KGEpKX07Xy5kX2E9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/e306YjtjX2EuY2FsbCh0aGlzLGIpO3RoaXMuY2FsbGJhY2s9YTt0aGlzLmhoYT1iLmhoYTt0aGlzLkozYT1iLkozYX07Xy5EKF8uZF9hLGNfYSk7Xy5kX2EucHJvdG90eXBlLkFhPWZ1bmN0aW9uKCl7dmFyIGE9ITE7dHJ5e3ZhciBiPXRoaXMuY2FsbGJhY2suYXBwbHkodGhpcy5oaGEsdGhpcy5KM2EpfWNhdGNoKGQpe2E9ITA7dmFyIGM9ZH1pZighYSlyZXR1cm4gdGhpcy5CYShiKTt0aGlzLnJlamVjdChjKX07Xy5kX2EucHJvdG90eXBlLkJhPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBQcm9taXNlfHx5emEoYSkpcmV0dXJuIGEudGhlbih0aGlzLnJlc29sdmUuYmluZCh0aGlzKSx0aGlzLnJlamVjdC5iaW5kKHRoaXMpKSw1O3RoaXMucmVzb2x2ZShhKX07dmFyIGVfYT1mdW5jdGlvbihhLGIpe2NfYS5jYWxsKHRoaXMsYik7dGhpcy5pdGVyYXRvcj1hfTtfLkQoZV9hLGNfYSk7ZV9hLnByb3RvdHlwZS5BYT1mdW5jdGlvbihhKXt2YXIgYj0hMTt0cnl7ZG8gdmFyIGM9dGhpcy5pdGVyYXRvci5uZXh0KCkuZG9uZTt3aGlsZSghYyYmYSYmKGE9PT0hMHx8YSgpKSl9Y2F0Y2goZSl7Yj1jPSEwO3ZhciBkPWV9aWYoIWMpcmV0dXJuIDQ7Yj90aGlzLnJlamVjdChkKTp0aGlzLnJlc29sdmUoKX07dmFyIGZfYT1mdW5jdGlvbigpe18uZF9hLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07Xy5EKGZfYSxfLmRfYSk7Zl9hLnByb3RvdHlwZS5CYT1mdW5jdGlvbigpe3RoaXMucmVzb2x2ZSgpfTtfLmdfYT1mdW5jdGlvbihhKXt0aGlzLnZhbHVlPWF9O18uQ3NhPWZ1bmN0aW9uKCl7Xy5RWmEuYXBwbHkodGhpcyxhcmd1bWVudHMpfTtfLkQoXy5Dc2EsXy5RWmEpO18uQ3NhLnByb3RvdHlwZS5rXz1mdW5jdGlvbihhKXt2YXIgYj10aGlzLmxJYihhKTtoX2EodGhpcyxiLGEuZGVsYXksYS5zaWduYWwpO3JldHVybiBiLnByb21pc2V9O3ZhciBoX2E9ZnVuY3Rpb24oYSxiLGMsZCl7aV9hKGEudGFza3MsYik7aWYoYylpZihkKXt2YXIgZT1mdW5jdGlvbigpe3JldHVybiB2b2lkIHdpbmRvdy5jbGVhclRpbWVvdXQoZil9O3NzYShkLGUpO3ZhciBmPXdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZCYmZSYmZC5yZW1vdmVFdmVudExpc3RlbmVyKFwiYWJvcnRcIixlKTthLnJHYShiKX0sYyl9ZWxzZSB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpe3JldHVybiB2b2lkIGEuckdhKGIpfSxjKTtlbHNlIGEuckdhKGIpfTtfLm09Xy5Dc2EucHJvdG90eXBlO1xuXy5tLmxJYj1mdW5jdGlvbihhKXtpZih0eXBlb2YgYT09PVwiZnVuY3Rpb25cIilyZXR1cm4gbmV3IF8uZF9hKGEsdm9pZCAwKTtpZihhLmNhbGxiYWNrKXJldHVybiBuZXcgXy5kX2EoYS5jYWxsYmFjayxhKTt2YXIgYj1hLml0ZXJhdG9yfHxhLmF1ZFtTeW1ib2wuaXRlcmF0b3JdKCk7cmV0dXJuIG5ldyBlX2EoYixhKX07Xy5tLnJHYT1mdW5jdGlvbihhKXthLnpkPT09MSYmXy5iX2EoYSwyKX07Xy5tLnNldFRpbWVvdXQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLmxjLmFwcGx5KDIsYXJndW1lbnRzKTtifHwoYj0wKTt2YXIgZD1uZXcgWlphLGU9ZC5zaWduYWw7Yz1uZXcgZl9hKGEse0ozYTpjLHNpZ25hbDplfSk7Yy5wcm9taXNlLnRoZW4odm9pZCAwLHVzYSk7aF9hKHRoaXMsYyxiLGUpO3JldHVybiBuZXcgXy5nX2EoZCl9O1xuXy5tLnNldEludGVydmFsPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5sYy5hcHBseSgyLGFyZ3VtZW50cyksZD10aGlzO2I8MTAmJihiPTEwKTt2YXIgZT1uZXcgWlphLGY9ZS5zaWduYWwsZz17SjNhOmMsc2lnbmFsOmZ9LGg9ZnVuY3Rpb24oKXtpZighZi5hYm9ydGVkKXt2YXIgaz1uZXcgZl9hKGEsZyk7ay5wcm9taXNlLnRoZW4oaCxoKTtoX2EoZCxrLGIsZil9fTtoKCk7cmV0dXJuIG5ldyBfLmdfYShlKX07Xy5tLmNsZWFyVGltZW91dD1mdW5jdGlvbihhKXthIT1udWxsJiZhLnZhbHVlLmFib3J0KCl9O18ubS5jbGVhckludGVydmFsPWZ1bmN0aW9uKGEpe3RoaXMuY2xlYXJUaW1lb3V0KGEpfTt2YXIgQXNhPWZ1bmN0aW9uKCl7dmFyIGE9dGhpczt0aGlzLkNhPW5ldyBTZXQ7dGhpcy5CYT1uZXcgU2V0O3RoaXMub2E9bmV3IE1hcDtmb3IodmFyIGI9Xy5QYShPYmplY3QudmFsdWVzKFJaYSkpLGM9Yi5uZXh0KCk7IWMuZG9uZTtjPWIubmV4dCgpKWM9Yy52YWx1ZSxjPT09M3x8Yz09PTd8fGM9PT02fHxjPT09OHx8dGhpcy5vYS5zZXQoYyxuZXcgU2V0KTt0aGlzLmhiPXRoaXMub2EuZ2V0KDIpO3RoaXMua2I9dGhpcy5vYS5nZXQoNCk7dGhpcy5BYT1bXTt0aGlzLlFhPWZ1bmN0aW9uKGQsZSxmKXtmPT09Mz9hLkxhPXZvaWQgMDphLm9hLmdldChmKS5kZWxldGUoZCk7aWYoZT09PTMpYS5MYT1kO2Vsc2V7dmFyIGc9YS5vYS5nZXQoZSk7Zz9nLmFkZChkKTphLkJhLmRlbGV0ZShkKX1kPV8uUFphKGQsZSxmKTthLkFhLnB1c2goZCk7al9hKGEpfTt0aGlzLkdhPSExfSxpX2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmdldFN0YXRlKCk7YS5vYS5nZXQoYykuYWRkKGIpO2EuQmEuYWRkKGIpO1xuYi5vblN0YXRlQ2hhbmdlPWEuUWE7Yj1fLlBaYShiLGMsbnVsbCk7YS5BYS5wdXNoKGIpO2pfYShhKX07QXNhLnByb3RvdHlwZS5PYT1mdW5jdGlvbigpe2Zvcih2YXIgYT1fLlBhKF8ubGMuYXBwbHkoMCxhcmd1bWVudHMpKSxiPWEubmV4dCgpOyFiLmRvbmU7Yj1hLm5leHQoKSl0aGlzLkNhLmFkZChiLnZhbHVlKX07QXNhLnByb3RvdHlwZS5VYT1mdW5jdGlvbigpe3ZhciBhPV8ubGMuYXBwbHkoMCxhcmd1bWVudHMpO2lmKCFhLmxlbmd0aClyZXR1cm4gdGhpcy5CYS5zaXplPjA7YT1fLlBhKGEpO2Zvcih2YXIgYj1hLm5leHQoKTshYi5kb25lO2I9YS5uZXh0KCkpaWYodGhpcy5vYS5nZXQoYi52YWx1ZSkuc2l6ZT4wKXJldHVybiEwO3JldHVybiExfTtcbkFzYS5wcm90b3R5cGUuUmE9ZnVuY3Rpb24oKXt2YXIgYT1fLmxjLmFwcGx5KDAsYXJndW1lbnRzKTtpZighYS5sZW5ndGgpcmV0dXJuIEFycmF5LmZyb20odGhpcy5CYSk7dmFyIGI9W107YT1fLlBhKGEpO2Zvcih2YXIgYz1hLm5leHQoKTshYy5kb25lO2M9YS5uZXh0KCkpYz10aGlzLm9hLmdldChjLnZhbHVlKSxjLnNpemU+MCYmKGI9Yi5jb25jYXQuYXBwbHkoYixfLm1kKGMpKSk7cmV0dXJuIGJ9O0FzYS5wcm90b3R5cGUuTzQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5DYX07dmFyIGpfYT1mdW5jdGlvbihhKXshYS5HYSYmYS5BYS5sZW5ndGg+MCYmKGEuR2E9ITAsXy5SbChmdW5jdGlvbigpe2EuR2E9ITE7dmFyIGI9YS5BYTthLkFhPVtdO3ZhciBjPUFycmF5LmZyb20oYS5DYSk7Yz1fLlBhKGMpO2Zvcih2YXIgZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpe2Q9ZC52YWx1ZTt0cnl7ZC5KVmEoYil9Y2F0Y2goZSl7Xy5jYShlKX19al9hKGEpfSkpfTtcbkFzYS5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt9O3ZhciB5c2EsenNhLHdzYSxEc2EsRnNhO3lzYT0hMTtfLkdzYT1uZXcgU2V0O18ua19hPV8uR2QoXCJPWFRxRmJcIixbXy5pcSxfLmtxXSk7Xy5sX2E9Xy5HZChcImR0NGcyYlwiLFtdKTt2YXIgbV9hPV8uc3EoXCJIOGZLamJcIixbXy50cV0pO18ubl9hPV8uR2QoXCJ2bU1oa2NcIixbbV9hXSk7Xy5vX2E9Xy5HZChcIlk0bFQ4ZFwiKTtfLnBfYT1fLkdkKFwiZk1PR2dlXCIsW10pO18ucV9hPV8uR2QoXCJkQ1NDVmNcIixbXSk7Xy5yX2E9Xy5HZChcIkZpUUNOXCIpO18uc19hPV8uR2QoXCJJeTE3bWRcIik7dmFyIHRfYT1fLnNxKFwiSlR6eE5jXCIsW18udHFdKTtfLnVfYT1fLkdkKFwiVEFqdnlcIixbdF9hXSk7Xy52X2E9Xy5HZChcIlIxRU5GZFwiKTtfLndfYT1fLkdkKFwiSVVmZm1iXCIsW10pO18ueF9hPV8uR2QoXCJ3TzBsdWZcIik7Xy55X2E9Xy5HZChcIk1DbEVpYlwiKTtfLnpfYT1fLkdkKFwiclhxeTZlXCIsW10pO18uQV9hPV8uR2QoXCJjVnBhNGRcIixbXSk7Xy5CX2E9Xy5HZChcInZ5YjhuZlwiLFtdKTtfLkNfYT1fLkdkKFwieFhqa21iXCIsW10pO18uRF9hPV8uR2QoXCJ3QXVOVmJcIik7Xy5FX2E9Xy5HZChcIkZrMEJwY1wiLFtdKTtfLkZfYT1fLkdkKFwid0pNUGhlXCIsW10pO18uR19hPV8uR2QoXCJGZUk3MmRcIixbZFZhXSk7Xy5IX2E9Xy5HZChcImRQd0xBXCIsW2RWYV0pO3ZhciBJX2E9Xy5zcShcIm1NSmxGYlwiLFtfLnRxXSk7Xy5KX2E9Xy5HZChcIk1rZjVMZVwiLFtJX2FdKTtfLktfYT1fLkdkKFwiVzUwTlZkXCIsW10pO18uTF9hPV8uR2QoXCJGT05FZGZcIixbXy56U2EsXy5Bbl0pO18uTV9hPW5ldyBfLklkKF8uelNhKTt2YXIgTl9hPWZ1bmN0aW9uKGEpe18uRG4uY2FsbCh0aGlzLGEuTmEpO3RoaXMud2luZG93PWEuc2VydmljZS53aW5kb3cuZ2V0KCk7dGhpcy55eD1hLnNlcnZpY2UueXh9O18uRChOX2EsXy5Ebik7Tl9hLldhPV8uRG4uV2E7Tl9hLklhPWZ1bmN0aW9uKCl7cmV0dXJue3NlcnZpY2U6e3l4Ol8uTV9hLHdpbmRvdzpfLkVufX19O18ubT1OX2EucHJvdG90eXBlO18ubS5pc0F2YWlsYWJsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnl4LmlzQXZhaWxhYmxlKCl9O18ubS5WSj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnl4LlZKKCl9O18ubS5iYWNrPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueXguYmFjaygpfTtfLm0uWlY9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy55eC5aVigpfTtfLm0uZm9yd2FyZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnl4LmZvcndhcmQoKX07Xy5tLlZTPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueXguVlMoKX07Xy5tLmdvPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnl4LmdvKGEpfTtcbl8ubS5hVD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnl4LmFUKCl9O18ubS5wdXNoU3RhdGU9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMueXgucHVzaFN0YXRlKGMpO3RoaXMud2luZG93Lmhpc3RvcnkucHVzaFN0YXRlKGEsYixjKTtyZXR1cm4gZH07Xy5tLnJlcGxhY2VTdGF0ZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy55eC5yZXBsYWNlU3RhdGUoYyk7dGhpcy53aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUoYSxiLGMpO3JldHVybiBkfTtfLkZuKF8uTF9hLE5fYSk7Xy5PX2E9ZnVuY3Rpb24oKXtfLnlyYShFcnJvcihcInRkXCIpKTtyZXR1cm5cIlwifTtfLnlxPWZ1bmN0aW9uKCl7fTtfLlBfYT1mdW5jdGlvbigpe307Xy56cT1mdW5jdGlvbihhKXtyZXR1cm4hIV8uY2goXy5PX2EoYSkpfTtfLlFfYT1mdW5jdGlvbihhLGIsYyl7Xy5DZyhiLGMpO2M9Xy5jaChfLk9fYShhKSk7aWYoIWMpdGhyb3cgYT1fLkJEYShhKSxfLkVnKGIsYSksYTtyZXR1cm4gY307Xy5SX2E9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLlJfYSxfLnEpO18uUl9hLnByb3RvdHlwZS5vYT1fLlNiKFswLF8uVGpdKTtfLlNfYT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uU19hLF8ucSk7Xy5TX2EucHJvdG90eXBlLmdldFVybD1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywxKX07Xy5TX2EucHJvdG90eXBlLkhjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmUodGhpcywxKX07Xy5TX2EucHJvdG90eXBlLm9hPV8uU2IoWzAsXy5IXSk7Xy5UX2E9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLlRfYSxfLnEpO18uVF9hLnByb3RvdHlwZS5nZXRVcmw9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMSl9O18uVF9hLnByb3RvdHlwZS5IYz1mdW5jdGlvbigpe3JldHVybiBfLlZlKHRoaXMsMSl9O18uVF9hLnByb3RvdHlwZS5vYT1fLlNiKFswLF8uSF0pO18uVV9hPV8uR2QoXCJ0YWZQcmZcIik7Xy5mZihfLnpTYSk7Xy5WX2E9ZnVuY3Rpb24oYSl7Xy5Ebi5jYWxsKHRoaXMsYS5OYSl9O18uRChfLlZfYSxfLkRuKTtfLlZfYS5XYT1fLkRuLldhO18uVl9hLklhPV8uRG4uSWE7Xy5tPV8uVl9hLnByb3RvdHlwZTtfLm0uaXNBdmFpbGFibGU9ZnVuY3Rpb24oKXt2YXIgYT1fLnpxKFwic2lsa0ludGVybmFsSGlzdG9yeVNlcnZpY2VcIik7YSYmXy5EZyhcIkludGVybmFsSGlzdG9yeVwiKTtyZXR1cm4gYX07Xy5tLlZKPWZ1bmN0aW9uKCl7cmV0dXJuITF9O18ubS5aVj1mdW5jdGlvbigpe3JldHVybiExfTtfLm0uVlM9ZnVuY3Rpb24oKXtyZXR1cm4hMX07Xy5tLmFUPWZ1bmN0aW9uKCl7cmV0dXJuITF9O1xuXy5tLmJhY2s9ZnVuY3Rpb24oKXtyZXR1cm4gXy5iaChmdW5jdGlvbihhKXtyZXR1cm4gYS55aWVsZChfLnlxKHtzZXJ2aWNlTmFtZTpcInNpbGtJbnRlcm5hbEhpc3RvcnlTZXJ2aWNlXCIsbWV0aG9kTmFtZTpcImJhY2tcIixHZTp7c2VydmljZU5hbWU6XCJJbnRlcm5hbEhpc3RvcnlcIixtZXRob2ROYW1lOlwiYmFja1wifX0pLDApfSl9O18ubS5mb3J3YXJkPWZ1bmN0aW9uKCl7cmV0dXJuIF8uYmgoZnVuY3Rpb24oYSl7cmV0dXJuIGEueWllbGQoXy55cSh7c2VydmljZU5hbWU6XCJzaWxrSW50ZXJuYWxIaXN0b3J5U2VydmljZVwiLG1ldGhvZE5hbWU6XCJmb3J3YXJkXCIsR2U6e3NlcnZpY2VOYW1lOlwiSW50ZXJuYWxIaXN0b3J5XCIsbWV0aG9kTmFtZTpcImZvcndhcmRcIn19KSwwKX0pfTtcbl8ubS5nbz1mdW5jdGlvbihhKXt2YXIgYjtyZXR1cm4gXy5iaChmdW5jdGlvbihjKXtiPW5ldyBfLlJfYTthIT1udWxsJiZfLk9pKGIsMSxhKTtyZXR1cm4gYy55aWVsZChfLnlxKHtzZXJ2aWNlTmFtZTpcInNpbGtJbnRlcm5hbEhpc3RvcnlTZXJ2aWNlXCIsbWV0aG9kTmFtZTpcImdvXCIsVWg6Yi5vYSgpLEdlOntzZXJ2aWNlTmFtZTpcIkludGVybmFsSGlzdG9yeVwiLG1ldGhvZE5hbWU6XCJnb1wifX0pLDApfSl9O18ubS5wdXNoU3RhdGU9ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuIF8uYmgoZnVuY3Rpb24oYyl7Yj1uZXcgXy5TX2E7YSE9bnVsbCYmXy5EZShiLDEsYSk7cmV0dXJuIGMueWllbGQoXy55cSh7c2VydmljZU5hbWU6XCJzaWxrSW50ZXJuYWxIaXN0b3J5U2VydmljZVwiLG1ldGhvZE5hbWU6XCJwdXNoU3RhdGVcIixVaDpiLm9hKCksR2U6e3NlcnZpY2VOYW1lOlwiSW50ZXJuYWxIaXN0b3J5XCIsbWV0aG9kTmFtZTpcInB1c2hTdGF0ZVwifX0pLDApfSl9O1xuXy5tLnJlcGxhY2VTdGF0ZT1mdW5jdGlvbihhKXt2YXIgYjtyZXR1cm4gXy5iaChmdW5jdGlvbihjKXtiPW5ldyBfLlRfYTthIT1udWxsJiZfLkRlKGIsMSxhKTtyZXR1cm4gYy55aWVsZChfLnlxKHtzZXJ2aWNlTmFtZTpcInNpbGtJbnRlcm5hbEhpc3RvcnlTZXJ2aWNlXCIsbWV0aG9kTmFtZTpcInJlcGxhY2VTdGF0ZVwiLFVoOmIub2EoKSxHZTp7c2VydmljZU5hbWU6XCJJbnRlcm5hbEhpc3RvcnlcIixtZXRob2ROYW1lOlwicmVwbGFjZVN0YXRlXCJ9fSksMCl9KX07Xy5GbihfLlVfYSxfLlZfYSk7dmFyIFdfYT1fLnNxKFwib244ZVNjXCIsW18udHFdKTtfLlhfYT1fLkdkKFwiS3R6U1FlXCIsW1dfYV0pO18uWV9hPV8uR2QoXCJva0l4OFwiKTt2YXIgWl9hPV8uR2QoXCJUOXk1RGRcIixbXSk7Xy4kX2E9Xy5HZChcIm5LUExwY1wiLFtaX2FdKTtfLmEwYT1fLkdkKFwiRk01UUplXCIsW1pfYV0pO18uYjBhPV8uR2QoXCJIOGNPZmRcIixbXy55WmFdKTtfLmMwYT1fLkdkKFwiZ2E3WHBkXCIsW18uYjBhXSk7Xy5kMGE9Xy5HZChcIlhNeXJzZFwiKTtfLmUwYT1fLkdkKFwiU28xTGFlXCIpO18uZjBhPV8uR2QoXCJyTUZPMGVcIik7Xy5nMGE9Xy5HZChcInJzcDVqY1wiKTtfLmgwYT1fLkdkKFwiWm9kZkRmXCIpO18uaTBhPV8uR2QoXCJHZTBEaWJcIik7Xy5qMGE9Xy5HZChcIm1PR1daZFwiKTt2YXIgazBhPV8uc3EoXCJKNGtldmJcIixbXy50cV0pO18ubDBhPV8uR2QoXCJSeEFnTmJcIixbazBhXSk7Xy5tMGE9Xy5HZChcInROTjh2XCIsW18uQ1phXSk7Xy5uMGE9Xy5HZChcImYwQ3liZVwiLFtfLm0wYV0pO18ubzBhPV8uR2QoXCJ6VjlqUWNcIik7Xy5wMGE9Xy5HZChcIlhBZ3c3YlwiKTt2YXIgcTBhPV8uc3EoXCJYWTR5eWJcIixbXy50cV0pO18ucjBhPV8uR2QoXCJDVXdqZmZcIixbcTBhXSk7Xy5zMGE9Xy5HZChcIkRjRE9NY1wiKTt2YXIgdDBhPV8uc3EoXCJuN2hleWZcIixbXy50cV0pO18udTBhPV8uR2QoXCJWYjUzWmNcIixbdDBhXSk7Xy52MGE9Xy5HZChcInJraVJrZFwiLFtdKTtfLncwYT1fLkdkKFwiazRYbzhiXCIsW10pO18ueDBhPV8uR2QoXCJPVFVTUGJcIixbXy53MGFdKTtfLnkwYT1fLkdkKFwidDFwZnJiXCIsW10pO18uejBhPV8uR2QoXCJraDk0T2NcIik7Xy5BMGE9Xy5HZChcIlhYV1FpYlwiLFtdKTtfLkIwYT1fLkdkKFwiSkpZZFRlXCIsW18uQ1phXSk7Xy5DMGE9Xy5HZChcImxnZ2JoXCIsW10pO18uRDBhPV8uR2QoXCJ5cW1yb2ZcIixbXy5icSxfLnRxXSk7Xy5FMGE9Xy5HZChcImdLRDkwY1wiLFtdKTtfLkYwYT1fLkdkKFwibEhwUXRkXCIpO18uRzBhPV8uR2QoXCJrS2NJN2NcIik7Xy5IMGE9Xy5HZChcImhiYlhJZlwiKTtfLkkwYT1fLkdkKFwiYk0yVzVlXCIpO18uSjBhPV8uR2QoXCJRN0JhRWVcIixbXSk7dmFyIEswYT1mdW5jdGlvbihhKXtfLkRuLmNhbGwodGhpcyxhLk5hKX07Xy5EKEswYSxfLkRuKTtLMGEuV2E9Xy5Ebi5XYTtLMGEuSWE9Xy5Ebi5JYTtfLm09SzBhLnByb3RvdHlwZTtfLm0uaXNBdmFpbGFibGU9ZnVuY3Rpb24oKXt2YXIgYT1fLnpxKFwiYWdzYV9leHRcIik7YSYmXy5EZyhcIkludGVybmFsSGlzdG9yeVwiKTtyZXR1cm4gYX07Xy5tLlZKPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNBdmFpbGFibGUoKX07Xy5tLmJhY2s9ZnVuY3Rpb24oKXtfLnlxKHtzZXJ2aWNlTmFtZTpcImFnc2FfZXh0XCIsbWV0aG9kTmFtZTpcImdvQmFja1wiLEdlOntzZXJ2aWNlTmFtZTpcIkludGVybmFsSGlzdG9yeVwiLG1ldGhvZE5hbWU6XCJiYWNrXCJ9LGhHOiExfSk7cmV0dXJuIFByb21pc2UucmVzb2x2ZSh2b2lkIDApfTtfLm0uWlY9ZnVuY3Rpb24oKXtyZXR1cm4hMX07Xy5tLmZvcndhcmQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy5OZyhcIkludGVybmFsSGlzdG9yeVwiLFwiZm9yd2FyZFwiKX07Xy5tLlZTPWZ1bmN0aW9uKCl7cmV0dXJuITF9O1xuXy5tLmdvPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTmcoXCJJbnRlcm5hbEhpc3RvcnlcIixcImdvXCIpfTtfLm0uYVQ9ZnVuY3Rpb24oKXtyZXR1cm4hMX07Xy5tLnB1c2hTdGF0ZT1mdW5jdGlvbigpe3JldHVybiBfLk5nKFwiSW50ZXJuYWxIaXN0b3J5XCIsXCJwdXNoU3RhdGVcIil9O18ubS5yZXBsYWNlU3RhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gXy5OZyhcIkludGVybmFsSGlzdG9yeVwiLFwicmVwbGFjZVN0YXRlXCIpfTtfLkZuKF8uSjBhLEswYSk7Xy5MMGE9Xy5HZChcIkppVkxqZFwiLFtfLnpTYSxfLkFuXSk7dmFyIE0wYT1mdW5jdGlvbihhKXtfLkRuLmNhbGwodGhpcyxhLk5hKTt0aGlzLndpbmRvdz1hLnNlcnZpY2Uud2luZG93LmdldCgpO3RoaXMueXg9YS5zZXJ2aWNlLnl4fTtfLkQoTTBhLF8uRG4pO00wYS5XYT1fLkRuLldhO00wYS5JYT1mdW5jdGlvbigpe3JldHVybntzZXJ2aWNlOnt5eDpfLk1fYSx3aW5kb3c6Xy5Fbn19fTtfLm09TTBhLnByb3RvdHlwZTtfLm0uaXNBdmFpbGFibGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy55eC5pc0F2YWlsYWJsZSgpfTtfLm0uVko9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy55eC5WSigpfTtfLm0uYmFjaz1mdW5jdGlvbigpe3JldHVybiB0aGlzLnl4LmJhY2soKX07Xy5tLlpWPWZ1bmN0aW9uKCl7cmV0dXJuITF9O18ubS5mb3J3YXJkPWZ1bmN0aW9uKCl7cmV0dXJuIFByb21pc2UucmVqZWN0KEVycm9yKFwidWRcIikpfTtfLm0uVlM9ZnVuY3Rpb24oKXtyZXR1cm4hMX07Xy5tLmdvPWZ1bmN0aW9uKCl7cmV0dXJuIFByb21pc2UucmVqZWN0KEVycm9yKFwidWRcIikpfTtcbl8ubS5hVD1mdW5jdGlvbigpe3JldHVybiEwfTtfLm0ucHVzaFN0YXRlPWZ1bmN0aW9uKGEsYixjKXt0aGlzLndpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZShhLGIsYyk7cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpfTtfLm0ucmVwbGFjZVN0YXRlPWZ1bmN0aW9uKGEsYixjKXt0aGlzLndpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZShhLGIsYyk7cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpfTtfLkZuKF8uTDBhLE0wYSk7Xy5OMGE9Xy5HZChcInRSYVppZlwiLFtaX2FdKTt2YXIgTzBhO08wYT1fLlFnKFtcIi9ibGFuay5odG1sI1wiXSk7Xy5QMGE9ZnVuY3Rpb24oYSl7Xy5Ebi5jYWxsKHRoaXMsYS5OYSk7dGhpcy54dWE9dGhpcy5pZnJhbWU9bnVsbDt0aGlzLm1lc3NhZ2VzPXt9O3RoaXMuaW5pdCgpfTtfLkQoXy5QMGEsXy5Ebik7Xy5QMGEuV2E9Xy5Ebi5XYTtfLlAwYS5JYT1fLkRuLklhO18ubT1fLlAwYS5wcm90b3R5cGU7Xy5tLmlzQXZhaWxhYmxlPWZ1bmN0aW9uKCl7cmV0dXJuITB9O18ubS5wdXQ9ZnVuY3Rpb24oKXtmb3IodmFyIGE9MDthPGFyZ3VtZW50cy5sZW5ndGgtMTthKz0yKXRoaXMubWVzc2FnZXNbYXJndW1lbnRzW2FdXT1hcmd1bWVudHNbYSsxXX07XG5fLm0uc2VuZD1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5tZXNzYWdlcy5fdD1EYXRlLm5vdygpO3ZhciBiPV8ucnhhKF8uVGsoXCIvYmxhbmsuaHRtbFwiKSx2b2lkIDAsdGhpcy5tZXNzYWdlcyk7dGhpcy54dWE9dGhpcy54dWEudGhlbihmdW5jdGlvbigpe3JldHVybiBuZXcgXy5qZihmdW5jdGlvbihjKXt2YXIgZD1hLmlmcmFtZS5jb250ZW50V2luZG93LmxvY2F0aW9uO2QuaHJlZj09PVwiYWJvdXQ6YmxhbmtcIj9fLkVjKGEuaWZyYW1lLGIpOl8ua2lhKGQsXy5rYyhiLnRvU3RyaW5nKCkpKTtfLldsKGMsMCl9KX0pO3RoaXMubWVzc2FnZXM9e307Xy5DZyh7c2VydmljZU5hbWU6XCJHc2FDb21tdW5pY2F0aW9uXCIsbWV0aG9kTmFtZTpcInNlbmRcIn0pfTtcbl8ubS5pbml0PWZ1bmN0aW9uKCl7dmFyIGE9dGhpczt0aGlzLmlmcmFtZXx8KHRoaXMuaWZyYW1lPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJpZnJhbWVcIiksdGhpcy5pZnJhbWUubmFtZT1cImdzYWZyYW1lXCIsdGhpcy5pZnJhbWUuc3R5bGUuZGlzcGxheT1cIm5vbmVcIixfLkVjKHRoaXMuaWZyYW1lLF8ud2MoTzBhKSksdGhpcy54dWE9bmV3IF8uamYoZnVuY3Rpb24oYil7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhLmlmcmFtZSk7YS5pZnJhbWUuY29udGVudFdpbmRvdy5vbmxvYWQ9YjtfLldsKGIsMjAwKX0pKX07Xy5tLnB1dEFuZFNlbmQ9ZnVuY3Rpb24oYSxiKXt0aGlzLnB1dChhLGIpO3RoaXMuc2VuZCgpfTtfLkZuKFpfYSxfLlAwYSk7dmFyIFEwYT1mdW5jdGlvbihhKXtfLkRuLmNhbGwodGhpcyxhLk5hKTt0aGlzLm9hPWEuc2VydmljZS5NU2F9O18uRChRMGEsXy5Ebik7UTBhLldhPV8uRG4uV2E7UTBhLklhPWZ1bmN0aW9uKCl7cmV0dXJue3NlcnZpY2U6e01TYTpfLlAwYX19fTtfLm09UTBhLnByb3RvdHlwZTtfLm0uaXNBdmFpbGFibGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vYS5pc0F2YWlsYWJsZSgpfTtfLm0uVko9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc0F2YWlsYWJsZSgpfTtfLm0uYmFjaz1mdW5jdGlvbigpe3RoaXMub2EucHV0QW5kU2VuZChcImdvXCIsXCItMVwiKTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHZvaWQgMCl9O18ubS5aVj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzQXZhaWxhYmxlKCl9O18ubS5mb3J3YXJkPWZ1bmN0aW9uKCl7dGhpcy5vYS5wdXRBbmRTZW5kKFwiZ29cIixcIjFcIik7cmV0dXJuIFByb21pc2UucmVzb2x2ZSh2b2lkIDApfTtfLm0uVlM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc0F2YWlsYWJsZSgpfTtcbl8ubS5nbz1mdW5jdGlvbihhKXt0aGlzLm9hLnB1dEFuZFNlbmQoXCJnb1wiLFN0cmluZyhhKSk7cmV0dXJuIFByb21pc2UucmVzb2x2ZSh2b2lkIDApfTtfLm0uYVQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc0F2YWlsYWJsZSgpfTtfLm0ucHVzaFN0YXRlPWZ1bmN0aW9uKGEpe3RoaXMub2EucHV0QW5kU2VuZChcInB1c2hTdGF0ZVwiLGEpO3JldHVybiBQcm9taXNlLnJlc29sdmUodm9pZCAwKX07Xy5tLnJlcGxhY2VTdGF0ZT1mdW5jdGlvbihhKXt0aGlzLm9hLnB1dEFuZFNlbmQoXCJyZXBsYWNlU3RhdGVcIixhKTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHZvaWQgMCl9O18uRm4oXy5OMGEsUTBhKTtfLlIwYT1fLkdkKFwiRkFVZFdcIixbXy56U2EsXy5Bbl0pO3ZhciBTMGE9ZnVuY3Rpb24oYSl7Xy5Ebi5jYWxsKHRoaXMsYS5OYSk7dGhpcy53aW5kb3c9YS5zZXJ2aWNlLndpbmRvdy5nZXQoKTt0aGlzLnl4PWEuc2VydmljZS55eH07Xy5EKFMwYSxfLkRuKTtTMGEuV2E9Xy5Ebi5XYTtTMGEuSWE9ZnVuY3Rpb24oKXtyZXR1cm57c2VydmljZTp7eXg6Xy5NX2Esd2luZG93Ol8uRW59fX07Xy5tPVMwYS5wcm90b3R5cGU7Xy5tLmlzQXZhaWxhYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueXguaXNBdmFpbGFibGUoKX07Xy5tLlZKPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueXguVkooKX07Xy5tLmJhY2s9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLnl4LmJhY2soKTt0aGlzLndpbmRvdy5oaXN0b3J5LmJhY2soKTtyZXR1cm4gYX07Xy5tLlpWPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueXguWlYoKX07Xy5tLmZvcndhcmQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLnl4LmZvcndhcmQoKTt0aGlzLndpbmRvdy5oaXN0b3J5LmZvcndhcmQoKTtyZXR1cm4gYX07XG5fLm0uVlM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy55eC5WUygpfTtfLm0uZ289ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy55eC5nbyhhKTt0aGlzLndpbmRvdy5oaXN0b3J5LmdvKGEpO3JldHVybiBifTtfLm0uYVQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy55eC5hVCgpfTtfLm0ucHVzaFN0YXRlPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLnl4LnB1c2hTdGF0ZShjKTt0aGlzLndpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZShhLGIsYyk7cmV0dXJuIGR9O18ubS5yZXBsYWNlU3RhdGU9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMueXgucmVwbGFjZVN0YXRlKGMpO3RoaXMud2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKGEsYixjKTtyZXR1cm4gZH07Xy5GbihfLlIwYSxTMGEpO18uVDBhPV8uYmEuSlNPTi5zdHJpbmdpZnk7Xy5VMGE9Xy5iYS5KU09OLnBhcnNlO18uVjBhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIDIwMDpjYXNlIDIwMTpjYXNlIDIwMjpjYXNlIDIwNDpjYXNlIDIwNjpjYXNlIDMwNDpjYXNlIDEyMjM6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19O18uVzBhPWZ1bmN0aW9uKCl7fTtfLlcwYS5wcm90b3R5cGUuQWE9bnVsbDtfLlcwYS5wcm90b3R5cGUuZ2V0T3B0aW9ucz1mdW5jdGlvbigpe3JldHVybiB0aGlzLkFhfHwodGhpcy5BYT10aGlzLm9hKCkpfTtfLlgwYT1mdW5jdGlvbigpe3JldHVybiBfLlgwYS5wMWIuTW8oKX07Xy5YMGEuZ2V0T3B0aW9ucz1mdW5jdGlvbigpe3JldHVybiBfLlgwYS5wMWIuZ2V0T3B0aW9ucygpfTtfLlgwYS5HTGQ9ZnVuY3Rpb24oKXtfLlgwYS5wMWI9bmV3IFkwYX07dmFyIFkwYT1mdW5jdGlvbigpe307Xy5taChZMGEsXy5XMGEpO1kwYS5wcm90b3R5cGUuTW89ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFhNTEh0dHBSZXF1ZXN0fTtZMGEucHJvdG90eXBlLm9hPWZ1bmN0aW9uKCl7cmV0dXJue319O18uWDBhLkdMZCgpO3ZhciBaMGEsYTFhO18uQXE9ZnVuY3Rpb24oYSl7Xy5Oay5jYWxsKHRoaXMpO3RoaXMuaGVhZGVycz1uZXcgTWFwO3RoaXMuTHphPWF8fG51bGw7dGhpcy5yaWE9ITE7dGhpcy5raGI9dGhpcy5LZz1udWxsO3RoaXMub2FiPVwiXCI7dGhpcy5nVz0wO3RoaXMueFE9XCJcIjt0aGlzLkF1YT10aGlzLnF4Yj10aGlzLmMkYT10aGlzLnVyYj0hMTt0aGlzLlNmYj0wO3RoaXMuZEc9bnVsbDt0aGlzLk5IYT1cIlwiO3RoaXMuQ0dkPXRoaXMuSGJhPSExO3RoaXMuZm5iPXRoaXMuZEtiPW51bGx9O18ubWgoXy5BcSxfLk5rKTtfLkFxLnByb3RvdHlwZS5PZz1udWxsO1owYT0vXmh0dHBzPyQvaTtfLiQwYT1bXCJQT1NUXCIsXCJQVVRcIl07YTFhPVtdO1xuXy5CcT1mdW5jdGlvbihhLGIsYyxkLGUsZixnKXt2YXIgaD1uZXcgXy5BcTthMWEucHVzaChoKTtiJiZoLmxpc3RlbihcImNvbXBsZXRlXCIsYik7aC5saXN0ZW5PbmNlKFwicmVhZHlcIixoLkswYyk7ZiYmaC5JWWEoZik7ZyYmaC5zZXRXaXRoQ3JlZGVudGlhbHMoZyk7aC5zZW5kKGEsYyxkLGUpO3JldHVybiBofTtfLm09Xy5BcS5wcm90b3R5cGU7Xy5tLkswYz1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpO18uemEoYTFhLHRoaXMpfTtfLm0uSVlhPWZ1bmN0aW9uKGEpe3RoaXMuU2ZiPU1hdGgubWF4KDAsYSl9O18ubS5zZXRSZXNwb25zZVR5cGU9ZnVuY3Rpb24oYSl7dGhpcy5OSGE9YX07Xy5tLnNldFdpdGhDcmVkZW50aWFscz1mdW5jdGlvbihhKXt0aGlzLkhiYT1hfTtfLm0uc2V0VHJ1c3RUb2tlbj1mdW5jdGlvbihhKXt0aGlzLmRLYj1hfTtfLm0uc2V0QXR0cmlidXRpb25SZXBvcnRpbmc9ZnVuY3Rpb24oYSl7dGhpcy5mbmI9YX07XG5fLm0uc2VuZD1mdW5jdGlvbihhLGIsYyxkKXtpZih0aGlzLktnKXRocm93IEVycm9yKFwidmRgXCIrdGhpcy5vYWIrXCJgXCIrYSk7Yj1iP2IudG9VcHBlckNhc2UoKTpcIkdFVFwiO3RoaXMub2FiPWE7dGhpcy54UT1cIlwiO3RoaXMuZ1c9MDt0aGlzLnVyYj0hMTt0aGlzLnJpYT0hMDt0aGlzLktnPXRoaXMuc0NhKCk7dGhpcy5raGI9dGhpcy5MemE/dGhpcy5MemEuZ2V0T3B0aW9ucygpOl8uWDBhLmdldE9wdGlvbnMoKTt0aGlzLktnLm9ucmVhZHlzdGF0ZWNoYW5nZT0oMCxfLmhoKSh0aGlzLnhmYyx0aGlzKTt0aGlzLkNHZCYmXCJvbnByb2dyZXNzXCJpbiB0aGlzLktnJiYodGhpcy5LZy5vbnByb2dyZXNzPSgwLF8uaGgpKGZ1bmN0aW9uKGcpe3RoaXMudmZjKGcsITApfSx0aGlzKSx0aGlzLktnLnVwbG9hZCYmKHRoaXMuS2cudXBsb2FkLm9ucHJvZ3Jlc3M9KDAsXy5oaCkodGhpcy52ZmMsdGhpcykpKTt0cnl7dGhpcy5xeGI9ITAsdGhpcy5LZy5vcGVuKGIsU3RyaW5nKGEpLCEwKSx0aGlzLnF4Yj1cbiExfWNhdGNoKGcpe3RoaXMuaW0oNSxnKTtyZXR1cm59YT1jfHxcIlwiO2M9bmV3IE1hcCh0aGlzLmhlYWRlcnMpO2lmKGQpaWYoT2JqZWN0LmdldFByb3RvdHlwZU9mKGQpPT09T2JqZWN0LnByb3RvdHlwZSlmb3IodmFyIGUgaW4gZCljLnNldChlLGRbZV0pO2Vsc2UgaWYodHlwZW9mIGQua2V5cz09PVwiZnVuY3Rpb25cIiYmdHlwZW9mIGQuZ2V0PT09XCJmdW5jdGlvblwiKXtlPV8uUGEoZC5rZXlzKCkpO2Zvcih2YXIgZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpZj1mLnZhbHVlLGMuc2V0KGYsZC5nZXQoZikpfWVsc2UgdGhyb3cgRXJyb3IoXCJ3ZGBcIitTdHJpbmcoZCkpO2Q9QXJyYXkuZnJvbShjLmtleXMoKSkuZmluZChmdW5jdGlvbihnKXtyZXR1cm5cImNvbnRlbnQtdHlwZVwiPT1nLnRvTG93ZXJDYXNlKCl9KTtlPV8uYmEuRm9ybURhdGEmJmEgaW5zdGFuY2VvZiBfLmJhLkZvcm1EYXRhOyFfLnZhKF8uJDBhLGIpfHxkfHxlfHxjLnNldChcIkNvbnRlbnQtVHlwZVwiLFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLThcIik7XG5iPV8uUGEoYyk7Zm9yKGQ9Yi5uZXh0KCk7IWQuZG9uZTtkPWIubmV4dCgpKWM9Xy5QYShkLnZhbHVlKSxkPWMubmV4dCgpLnZhbHVlLGM9Yy5uZXh0KCkudmFsdWUsdGhpcy5LZy5zZXRSZXF1ZXN0SGVhZGVyKGQsYyk7dGhpcy5OSGEmJih0aGlzLktnLnJlc3BvbnNlVHlwZT10aGlzLk5IYSk7XCJ3aXRoQ3JlZGVudGlhbHNcImluIHRoaXMuS2cmJnRoaXMuS2cud2l0aENyZWRlbnRpYWxzIT09dGhpcy5IYmEmJih0aGlzLktnLndpdGhDcmVkZW50aWFscz10aGlzLkhiYSk7aWYoXCJzZXRUcnVzdFRva2VuXCJpbiB0aGlzLktnJiZ0aGlzLmRLYil0cnl7dGhpcy5LZy5zZXRUcnVzdFRva2VuKHRoaXMuZEtiKX1jYXRjaChnKXt9aWYoXCJzZXRBdHRyaWJ1dGlvblJlcG9ydGluZ1wiaW4gdGhpcy5LZyYmdGhpcy5mbmIpdHJ5e3RoaXMuS2cuc2V0QXR0cmlidXRpb25SZXBvcnRpbmcodGhpcy5mbmIpfWNhdGNoKGcpe310cnl7YjFhKHRoaXMpLHRoaXMuU2ZiPjAmJih0aGlzLmRHPV8uV2wodGhpcy5wVSxcbnRoaXMuU2ZiLHRoaXMpKSx0aGlzLmMkYT0hMCx0aGlzLktnLnNlbmQoYSksdGhpcy5jJGE9ITF9Y2F0Y2goZyl7dGhpcy5pbSg1LGcpfX07Xy5tLnNDYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkx6YT90aGlzLkx6YS5NbygpOl8uWDBhKCl9O18ubS5wVT1mdW5jdGlvbigpe3R5cGVvZiBzdGEhPVwidW5kZWZpbmVkXCImJnRoaXMuS2cmJih0aGlzLnhRPVwiVGltZWQgb3V0IGFmdGVyIFwiK3RoaXMuU2ZiK1wibXMsIGFib3J0aW5nXCIsdGhpcy5nVz04LHRoaXMuZGlzcGF0Y2hFdmVudChcInRpbWVvdXRcIiksdGhpcy5hYm9ydCg4KSl9O18ubS5pbT1mdW5jdGlvbihhLGIpe3RoaXMucmlhPSExO3RoaXMuS2cmJih0aGlzLkF1YT0hMCx0aGlzLktnLmFib3J0KCksdGhpcy5BdWE9ITEpO3RoaXMueFE9Yjt0aGlzLmdXPWE7YzFhKHRoaXMpO2QxYSh0aGlzKX07dmFyIGMxYT1mdW5jdGlvbihhKXthLnVyYnx8KGEudXJiPSEwLGEuZGlzcGF0Y2hFdmVudChcImNvbXBsZXRlXCIpLGEuZGlzcGF0Y2hFdmVudChcImVycm9yXCIpKX07XG5fLkFxLnByb3RvdHlwZS5hYm9ydD1mdW5jdGlvbihhKXt0aGlzLktnJiZ0aGlzLnJpYSYmKHRoaXMucmlhPSExLHRoaXMuQXVhPSEwLHRoaXMuS2cuYWJvcnQoKSx0aGlzLkF1YT0hMSx0aGlzLmdXPWF8fDcsdGhpcy5kaXNwYXRjaEV2ZW50KFwiY29tcGxldGVcIiksdGhpcy5kaXNwYXRjaEV2ZW50KFwiYWJvcnRcIiksZDFhKHRoaXMpKX07Xy5BcS5wcm90b3R5cGUuUWM9ZnVuY3Rpb24oKXt0aGlzLktnJiYodGhpcy5yaWEmJih0aGlzLnJpYT0hMSx0aGlzLkF1YT0hMCx0aGlzLktnLmFib3J0KCksdGhpcy5BdWE9ITEpLGQxYSh0aGlzLCEwKSk7Xy5BcS5PZC5RYy5jYWxsKHRoaXMpfTtfLkFxLnByb3RvdHlwZS54ZmM9ZnVuY3Rpb24oKXt0aGlzLmlzRGlzcG9zZWQoKXx8KHRoaXMucXhifHx0aGlzLmMkYXx8dGhpcy5BdWE/ZTFhKHRoaXMpOnRoaXMuY0NkKCkpfTtfLkFxLnByb3RvdHlwZS5jQ2Q9ZnVuY3Rpb24oKXtlMWEodGhpcyl9O1xudmFyIGUxYT1mdW5jdGlvbihhKXtpZihhLnJpYSYmdHlwZW9mIHN0YSE9XCJ1bmRlZmluZWRcIiYmKCFhLmtoYlsxXXx8YS5mUSgpIT00fHxhLmdldFN0YXR1cygpIT0yKSlpZihhLmMkYSYmYS5mUSgpPT00KV8uV2woYS54ZmMsMCxhKTtlbHNlIGlmKGEuZGlzcGF0Y2hFdmVudChcInJlYWR5c3RhdGVjaGFuZ2VcIiksYS5oSCgpKXthLnJpYT0hMTt0cnl7YS5pc1N1Y2Nlc3MoKT8oYS5kaXNwYXRjaEV2ZW50KFwiY29tcGxldGVcIiksYS5kaXNwYXRjaEV2ZW50KFwic3VjY2Vzc1wiKSk6KGEuZ1c9NixhLnhRPWEuRThhKCkrXCIgW1wiK2EuZ2V0U3RhdHVzKCkrXCJdXCIsYzFhKGEpKX1maW5hbGx5e2QxYShhKX19fTtfLkFxLnByb3RvdHlwZS52ZmM9ZnVuY3Rpb24oYSxiKXt0aGlzLmRpc3BhdGNoRXZlbnQoZjFhKGEsXCJwcm9ncmVzc1wiKSk7dGhpcy5kaXNwYXRjaEV2ZW50KGYxYShhLGI/XCJkb3dubG9hZHByb2dyZXNzXCI6XCJ1cGxvYWRwcm9ncmVzc1wiKSl9O1xudmFyIGYxYT1mdW5jdGlvbihhLGIpe3JldHVybnt0eXBlOmIsbGVuZ3RoQ29tcHV0YWJsZTphLmxlbmd0aENvbXB1dGFibGUsbG9hZGVkOmEubG9hZGVkLHRvdGFsOmEudG90YWx9fSxkMWE9ZnVuY3Rpb24oYSxiKXtpZihhLktnKXtiMWEoYSk7dmFyIGM9YS5LZyxkPWEua2hiWzBdP2Z1bmN0aW9uKCl7fTpudWxsO2EuS2c9bnVsbDthLmtoYj1udWxsO2J8fGEuZGlzcGF0Y2hFdmVudChcInJlYWR5XCIpO3RyeXtjLm9ucmVhZHlzdGF0ZWNoYW5nZT1kfWNhdGNoKGUpe319fSxiMWE9ZnVuY3Rpb24oYSl7YS5kRyYmKF8uWGwoYS5kRyksYS5kRz1udWxsKX07Xy5tPV8uQXEucHJvdG90eXBlO18ubS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5LZ307Xy5tLmhIPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZlEoKT09NH07XG5fLm0uaXNTdWNjZXNzPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nZXRTdGF0dXMoKSxiO2lmKCEoYj1fLlYwYShhKSkpe2lmKGE9YT09PTApYT1fLlZCYShTdHJpbmcodGhpcy5vYWIpKSxhPSFaMGEudGVzdChhKTtiPWF9cmV0dXJuIGJ9O18ubS5mUT1mdW5jdGlvbigpe3JldHVybiB0aGlzLktnP3RoaXMuS2cucmVhZHlTdGF0ZTowfTtfLm0uZ2V0U3RhdHVzPWZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0aGlzLmZRKCk+Mj90aGlzLktnLnN0YXR1czotMX1jYXRjaChhKXtyZXR1cm4tMX19O18ubS5FOGE9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIHRoaXMuZlEoKT4yP3RoaXMuS2cuc3RhdHVzVGV4dDpcIlwifWNhdGNoKGEpe3JldHVyblwiXCJ9fTtfLm0ucXg9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIHRoaXMuS2c/dGhpcy5LZy5yZXNwb25zZVRleHQ6XCJcIn1jYXRjaChhKXtyZXR1cm5cIlwifX07XG5fLkNxPWZ1bmN0aW9uKGEsYil7aWYoYS5LZylyZXR1cm4gYT1hLktnLnJlc3BvbnNlVGV4dCxiJiZhLmluZGV4T2YoYik9PTAmJihhPWEuc3Vic3RyaW5nKGIubGVuZ3RoKSksKDAsXy5VMGEpKGEpfTtfLm09Xy5BcS5wcm90b3R5cGU7Xy5tLldpPWZ1bmN0aW9uKCl7dHJ5e2lmKCF0aGlzLktnKXJldHVybiBudWxsO2lmKFwicmVzcG9uc2VcImluIHRoaXMuS2cpcmV0dXJuIHRoaXMuS2cucmVzcG9uc2U7c3dpdGNoKHRoaXMuTkhhKXtjYXNlIFwiXCI6Y2FzZSBcInRleHRcIjpyZXR1cm4gdGhpcy5LZy5yZXNwb25zZVRleHQ7Y2FzZSBcImFycmF5YnVmZmVyXCI6aWYoXCJtb3pSZXNwb25zZUFycmF5QnVmZmVyXCJpbiB0aGlzLktnKXJldHVybiB0aGlzLktnLm1velJlc3BvbnNlQXJyYXlCdWZmZXJ9cmV0dXJuIG51bGx9Y2F0Y2goYSl7cmV0dXJuIG51bGx9fTtcbl8ubS5nZXRSZXNwb25zZUhlYWRlcj1mdW5jdGlvbihhKXtpZih0aGlzLktnJiZ0aGlzLmhIKCkpcmV0dXJuIGE9dGhpcy5LZy5nZXRSZXNwb25zZUhlYWRlcihhKSxhPT09bnVsbD92b2lkIDA6YX07Xy5tLmdldEFsbFJlc3BvbnNlSGVhZGVycz1mdW5jdGlvbigpe3JldHVybiB0aGlzLktnJiZ0aGlzLmZRKCk+PTI/dGhpcy5LZy5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKXx8XCJcIjpcIlwifTtfLm0udnRhPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPXt9LGI9dGhpcy5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKS5zcGxpdChcIlxcclxcblwiKSxjPTA7YzxiLmxlbmd0aDtjKyspaWYoIV8uQWUoYltjXSkpe3ZhciBkPV8uSm1hKGJbY10sXCI6XCIsMSksZT1kWzBdO2Q9ZFsxXTtpZih0eXBlb2YgZD09PVwic3RyaW5nXCIpe2Q9ZC50cmltKCk7dmFyIGY9YVtlXXx8W107YVtlXT1mO2YucHVzaChkKX19cmV0dXJuIF8uWmIoYSxmdW5jdGlvbihnKXtyZXR1cm4gZy5qb2luKFwiLCBcIil9KX07XG5fLm0uZ2V0TGFzdEVycm9yPWZ1bmN0aW9uKCl7cmV0dXJuIHR5cGVvZiB0aGlzLnhRPT09XCJzdHJpbmdcIj90aGlzLnhROlN0cmluZyh0aGlzLnhRKX07Xy5Mc2E9ZnVuY3Rpb24oKXt9O18uTHNhLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKGEsYixjKXtiPWI9PT12b2lkIDA/ZnVuY3Rpb24oKXt9OmI7Yz1jPT09dm9pZCAwP2Z1bmN0aW9uKCl7fTpjO18uQnEoYS51cmwsZnVuY3Rpb24oZCl7ZD1kLnRhcmdldDtkLmlzU3VjY2VzcygpP2IoZC5xeCgpKTpjKGQuZ2V0U3RhdHVzKCkpfSxhLnJlcXVlc3RUeXBlLGEuYm9keSxhLnJlcXVlc3RIZWFkZXJzLGEudGltZW91dE1pbGxpcyxhLndpdGhDcmVkZW50aWFscyl9O18uTHNhLnByb3RvdHlwZS5OOGE9ZnVuY3Rpb24oKXtyZXR1cm4gMX07dmFyIGsxYSxoMWEsZzFhO18uaTFhPV8ubmQoZnVuY3Rpb24oKXtyZXR1cm4gZzFhKCl8fF8uZ2QoaDFhKCksXCJrXCIpfSk7Xy5qMWE9Xy5uZChmdW5jdGlvbigpe3JldHVybiBoMWEoKS5WdGIoKX0pO2sxYT1fLm5kKGZ1bmN0aW9uKCl7Xy5iYS5fRl9qc1VybHx8KF8uYmEuX0ZfanNVcmw9Z29vZ2xlLnhqc3UpO2lmKF8uYmEuX0ZfanNVcmwpcmV0dXJuIF9GX2pzVXJsfSk7aDFhPV8ubmQoZnVuY3Rpb24oKXtyZXR1cm4gXy5lZChrMWEoKSl9KTtnMWE9Xy5uZChmdW5jdGlvbigpe3JldHVybiBfLkttKGsxYSgpLFwidmVyXCIpfSk7Xy5sMWE9bmV3IE1hcDtfLm0xYT1mdW5jdGlvbihhLGIsYyl7YT1hPT09dm9pZCAwP25ldyBfLk9DYTphO2I9Yj09PXZvaWQgMD9uZXcgTkNhOmI7dGhpcy5CYT1hO3RoaXMuQWE9Yjt0aGlzLkNhPWM9PT12b2lkIDA/ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IE1hcH06Y307Xy5tMWEucHJvdG90eXBlLldjPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2E9Xy5QYShhKTtmb3IodmFyIGM9YS5uZXh0KCk7IWMuZG9uZTtjPWEubmV4dCgpKXt2YXIgZD1fLlBhKGMudmFsdWUpO2M9ZC5uZXh0KCkudmFsdWU7ZD1kLm5leHQoKS52YWx1ZTtiLnB1c2godGhpcy5CYS5XYyh7a2V5OmMsdmFsdWU6ZH0pKX1yZXR1cm4gdGhpcy5BYS5XYyhiKX07XG5fLm0xYS5wcm90b3R5cGUub2E9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5DYSgpO2E9Xy5QYSh0aGlzLkFhLm9hKGEpKTtmb3IodmFyIGM9YS5uZXh0KCk7IWMuZG9uZTtjPWEubmV4dCgpKXt2YXIgZD10aGlzLkJhLm9hKGMudmFsdWUpO2M9ZC5rZXk7ZD1kLnZhbHVlO2IuaGFzKGMpfHxiLnNldChjLGQpfXJldHVybiBifTtfLm4xYT1fLkdkKFwiUFhHdVNkXCIsW18ueVphXSk7Xy5vMWE9bmV3IF8uSWQoXy5CU2EpO18ucDFhPV8uR2QoXCJkTVprM2VcIixbXy5CU2EsXy5Bbl0pO3ZhciBxMWE9ZnVuY3Rpb24oYSl7Xy5Ebi5jYWxsKHRoaXMsYS5OYSk7dGhpcy5vYT1hLnNlcnZpY2UuSlBkO3RoaXMud2luZG93PWEuc2VydmljZS53aW5kb3cuZ2V0KCl9O18uRChxMWEsXy5Ebik7cTFhLldhPV8uRG4uV2E7cTFhLklhPWZ1bmN0aW9uKCl7cmV0dXJue3NlcnZpY2U6e0pQZDpfLm8xYSx3aW5kb3c6Xy5Fbn19fTtfLm09cTFhLnByb3RvdHlwZTtfLm0uUmc9ZnVuY3Rpb24oKXtyZXR1cm4hMX07Xy5tLmJhY2s9ZnVuY3Rpb24oKXt0aGlzLm9hLmlzQXZhaWxhYmxlKCk/dGhpcy5vYS5WSigpP3RoaXMub2EuYmFjaygpOnRoaXMud2luZG93Lmhpc3RvcnkuYmFjaygpOnRoaXMud2luZG93Lmhpc3RvcnkuYmFjaygpfTtfLm0uZm9yd2FyZD1mdW5jdGlvbigpe3RoaXMub2EuaXNBdmFpbGFibGUoKT90aGlzLm9hLlpWKCk/dGhpcy5vYS5mb3J3YXJkKCk6dGhpcy53aW5kb3cuaGlzdG9yeS5mb3J3YXJkKCk6dGhpcy53aW5kb3cuaGlzdG9yeS5mb3J3YXJkKCl9O1xuXy5tLmdvPWZ1bmN0aW9uKGEpe3RoaXMub2EuaXNBdmFpbGFibGUoKT90aGlzLm9hLlZTKCk/dGhpcy5vYS5nbyhhKTp0aGlzLndpbmRvdy5oaXN0b3J5LmdvKGEpOnRoaXMud2luZG93Lmhpc3RvcnkuZ28oYSl9O18ubS5wdXNoU3RhdGU9ZnVuY3Rpb24oYSxiLGMpe2M9Yz09PXZvaWQgMD9cIlwiOmM7dGhpcy5vYS5pc0F2YWlsYWJsZSgpP3RoaXMub2EuYVQoKT90aGlzLm9hLnB1c2hTdGF0ZShhLGIsYyk6dGhpcy53aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGUoYSxiLGMpOnRoaXMud2luZG93Lmhpc3RvcnkucHVzaFN0YXRlKGEsYixjKX07Xy5tLnJlcGxhY2VTdGF0ZT1mdW5jdGlvbihhLGIsYyl7Yz1jPT09dm9pZCAwP1wiXCI6Yzt0aGlzLm9hLmlzQXZhaWxhYmxlKCk/dGhpcy5vYS5hVCgpP3RoaXMub2EucmVwbGFjZVN0YXRlKGEsYixjKTp0aGlzLndpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZShhLGIsYyk6dGhpcy53aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUoYSxiLGMpfTtcbl8ubS5zdGF0ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLndpbmRvdy5oaXN0b3J5LnN0YXRlfTtfLm0uTGk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy53aW5kb3cubG9jYXRpb24uaHJlZn07Xy5GbihfLnAxYSxxMWEpO3ZhciByMWE9ZnVuY3Rpb24oYSl7Xy5Ebi5jYWxsKHRoaXMsYS5OYSl9O18uRChyMWEsXy5Ebik7cjFhLldhPV8uRG4uV2E7cjFhLklhPV8uRG4uSWE7Xy5tPXIxYS5wcm90b3R5cGU7Xy5tLmlzQXZhaWxhYmxlPWZ1bmN0aW9uKCl7cmV0dXJuITF9O18ubS5WSj1mdW5jdGlvbigpe3JldHVybiExfTtfLm0uWlY9ZnVuY3Rpb24oKXtyZXR1cm4hMX07Xy5tLlZTPWZ1bmN0aW9uKCl7cmV0dXJuITF9O18ubS5hVD1mdW5jdGlvbigpe3JldHVybiExfTtfLm0uYmFjaz1mdW5jdGlvbigpe3JldHVybiBfLk5nKFwiSW50ZXJuYWxIaXN0b3J5XCIsXCJiYWNrXCIpfTtfLm0uZm9yd2FyZD1mdW5jdGlvbigpe3JldHVybiBfLk5nKFwiSW50ZXJuYWxIaXN0b3J5XCIsXCJmb3J3YXJkXCIpfTtfLm0uZ289ZnVuY3Rpb24oKXtyZXR1cm4gXy5OZyhcIkludGVybmFsSGlzdG9yeVwiLFwiZ29cIil9O18ubS5wdXNoU3RhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gXy5OZyhcIkludGVybmFsSGlzdG9yeVwiLFwicHVzaFN0YXRlXCIpfTtcbl8ubS5yZXBsYWNlU3RhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gXy5OZyhcIkludGVybmFsSGlzdG9yeVwiLFwicmVwbGFjZVN0YXRlXCIpfTtfLkZuKHlTYSxyMWEpO18uczFhPV8uTnNhO3ZhciB0MWEsdTFhO3QxYT1uZXcgTWFwO3UxYT0obmV3IERhdGUpLmdldFRpbWUoKTtfLnYxYT1mdW5jdGlvbihhLGIpe3ZhciBjPWI9PT12b2lkIDA/e306YjtiPWMuWnJhPT09dm9pZCAwPyExOmMuWnJhO3ZhciBkPWMudUJhPT09dm9pZCAwP1wiQHtyZXN1bHR9XCI6Yy51QmE7Yz1jLmlkPT09dm9pZCAwPyh1MWErKykudG9TdHJpbmcoKTpjLmlkO3RoaXMuY2FsbGJhY2s9YTt0aGlzLmlkPWM7dGhpcy5acmE9Yjt0aGlzLnVCYT1kO3QxYS5zZXQodGhpcy5pZCx0aGlzKX07Xy52MWEucHJvdG90eXBlLmdldElkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaWR9O18udjFhLnByb3RvdHlwZS5leGVjdXRlPWZ1bmN0aW9uKGEpe3RoaXMuWnJhJiZ0aGlzLmRpc3Bvc2UoKTt0aGlzLmNhbGxiYWNrKGEpfTtfLnYxYS5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbigpe3QxYS5kZWxldGUodGhpcy5pZCl9O1xuXy53MWE9ZnVuY3Rpb24oYSxiKXt0MWEuaGFzKGEpPyhhPXQxYS5nZXQoYSksdHlwZW9mIGI9PT1cInN0cmluZ1wiJiZiPT09YS51QmEmJihiPXZvaWQgMCksYS5leGVjdXRlKGIpKTpfLnlyYShuZXcgXy5sZCgzLFwiTm8gY2FsbGJhY2sgZm9yIGdpdmVuIGlkLlwiKSl9O18uYmEuc2lsaz1fLmJhLnNpbGt8fHt9O18uYmEuc2lsay5jYWxsYmFjaz1fLncxYTtfLngxYT1fLkdkKFwiYjVXODVcIixbXy5iWmFdKTtfLnkxYT1fLkdkKFwiaHd2OXRiXCIsW18uSlNhLF8ueDFhXSk7dmFyIHoxYT1fLnNxKFwiZnZqY1BiXCIsW18udHFdKTtfLkExYT1fLkdkKFwiVVMxRVVcIixbejFhXSk7Xy5CMWE9Xy5HZChcIkJneVBQY1wiLFttX2FdKTtfLkMxYT1fLkdkKFwiZVNGQzVjXCIpO18uRDFhPV8uR2QoXCJCNmI4NVwiKTtfLkUxYT1fLkdkKFwicFB4ZEFkXCIpO18uRjFhPV8uR2QoXCJUUENoN2JcIik7Xy5HMWE9Xy5HZChcIk5zaUNSYlwiKTtfLkgxYT1fLkdkKFwiQmtpSHRkXCIpO18uSTFhPV8uR2QoXCJLNlpFYmZcIik7Xy5KMWE9Xy5HZChcIlR3ZHdXY1wiLFtdKTtfLksxYT1fLkdkKFwiQzBKb0FiXCIpO18uTDFhPV8uR2QoXCJSOGd0MVwiKTtfLk0xYT1fLkdkKFwieXZCSVhjXCIpO18uTjFhPV8uR2QoXCJod1lJNGNcIixbdF9hXSk7Xy5PMWE9Xy5HZChcIkdUYU5sY1wiKTtfLlAxYT1fLkdkKFwiZzZaVW9iXCIpO18uUTFhPV8uR2QoXCJ4a2N0SlwiKTtfLlIxYT1fLkdkKFwidm8zWE1cIik7Xy5TMWE9Xy5HZChcIllnQVFUY1wiLFtdKTtfLlQxYT1fLkdkKFwiZGJyMk1jXCIpO18uVTFhPV8uR2QoXCJrclJZdGZcIik7Xy5WMWE9Xy5HZChcInlXQ080Y1wiKTtfLlcxYT1fLkdkKFwiblZHNDZiXCIpO18uWDFhPV8uR2QoXCJnc0pMT2NcIixbXSk7Xy5ZMWE9Xy5HZChcIkcyOUhZZVwiLFtkVmFdKTtfLloxYT1fLkdkKFwiaDRxelNcIixbSV9hXSk7Xy4kMWE9Xy5HZChcIllobVJCXCIpO18uYTJhPV8uR2QoXCJ3Y2l5VWVcIixbXSk7Xy5iMmE9Xy5HZChcIklsMU00YlwiKTtfLmMyYT1fLkdkKFwidldmWjhjXCIsW1dfYV0pO18uZDJhPV8uR2QoXCJLUkRVVWJcIik7Xy5lMmE9Xy5HZChcImhROTdyZVwiKTtfLmYyYT1fLkdkKFwiaUsyc2JcIik7Xy5nMmE9Xy5HZChcInNvVnB0ZlwiKTtfLmgyYT1fLkdkKFwiWWVLYXFcIik7Xy5pMmE9Xy5HZChcIk9kbzNPZFwiKTtfLmoyYT1fLkdkKFwiZDdOVHlcIik7Xy5rMmE9Xy5HZChcIlZRN1l1ZlwiKTtfLmwyYT1fLkdkKFwiTTBWUWJkXCIpO18ubTJhPV8uR2QoXCJkaGppcGVcIixbazBhXSk7Xy5uMmE9Xy5HZChcImxCcDBcIixbXy5DWmFdKTtfLm8yYT1fLkdkKFwiQ0pSWURmXCIsW18ucnFdKTtfLnAyYT1fLkdkKFwiYTcwcTdiXCIpO18ucTJhPV8uR2QoXCJzZkZUbGVcIixbcTBhXSk7Xy5yMmE9Xy5HZChcIm52ODZzXCIsW3QwYV0pO18uczJhPV8uR2QoXCJIMU9uemJcIik7Xy50MmE9Xy5HZChcIlFFM2h2ZFwiKTtfLnUyYT1fLkdkKFwicFBJdmllXCIsW18udHFdKTtfLnYyYT1fLkdkKFwiWHdoVUViXCIsW10pO18udzJhPV8uR2QoXCJLbW5uNmJcIik7Xy54MmE9Xy5HZChcIkZyY3lKZVwiKTtfLnkyYT1fLkdkKFwieGtqR3ZlXCIsW18ueVphXSk7Xy56MmE9Xy5HZChcIkUyemxJZlwiKTt2YXIgQTJhPV8uc3EoXCJ1eGNFZWJcIixbXy50cV0pO18uQjJhPV8uR2QoXCJMUjY0eFwiLFtBMmFdKTtfLkMyYT1fLkdkKFwiSFpuSjZcIik7Xy5EMmE9Xy5HZChcInY3NFZhZFwiKTtfLkUyYT1fLkdkKFwiSjJZSVVkXCIpO18uRjJhPV8uR2QoXCJZMlh1VFwiKTtfLkcyYT1fLkdkKFwiTzFScTNcIik7Xy5IMmE9Xy5HZChcIkp5QkUzZVwiLFtfLkFuXSk7Xy5JMmE9Xy5HZChcIkxIQ2FOZFwiLFtdKTtfLkoyYT1fLkdkKFwid0tkVGxlXCIsW18ucnEsXy5LU2FdKTtfLksyYT1fLkdkKFwiRmRkOG5kXCIsW18uSjJhLF8ubnEsXy5tcV0pO18uTDJhPV8uR2QoXCJiNnZjYmJcIixbXy5wcV0pO18uTTJhPV8uR2QoXCJ0dFEyN1wiLFtfLmZnLF8uam8sXy5LMmEsXy5KMmFdKTtfLk4yYT1fLkdkKFwiU0dwUmNlXCIsW18uZmcsXy5LMmEsXy5MMmEsXy5KMmFdKTtfLk8yYT1fLkdkKFwibGNya3dlXCIsW18uZmcsXy5pcSxfLmpvLF8uSjJhLF8uZXEsXy5OMmEsXy5NMmFdKTtfLlAyYT1fLkdkKFwiQ3BXQzJkXCIsW10pO18uUTJhPV8uR2QoXCJqOVl1eWNcIixbXSk7Xy5SMmE9Xy5HZChcIlp5a3pDZVwiLFtdKTtfLlMyYT1fLkdkKFwiVnJ1REJkXCIsW18uYnEsXy5rcSxfLlIyYV0pO18uVDJhPV8uR2QoXCJvZmpWa2JcIixbXy5Bbl0pO18uVTJhPV8uR2QoXCJybEhLRmNcIixbXy5rcV0pO18uVjJhPV8uR2QoXCJzWm55alwiLFtdKTtfLlcyYT1fLkdkKFwiam4yc0dkXCIsW18ucnFdKTtfLlgyYT1fLkdkKFwicDRMckNlXCIsW10pO18uWTJhPV8uR2QoXCJrMFQzVWJcIixbXy5YMmFdKTt2YXIgWjJhPWZ1bmN0aW9uKCl7fTtfLm09WjJhLnByb3RvdHlwZTtfLm0ua189ZnVuY3Rpb24oYSl7cmV0dXJuIHhzYSgpLmtfKGEpfTtfLm0uc2V0VGltZW91dD1mdW5jdGlvbihhLGIpe3ZhciBjPV8ubGMuYXBwbHkoMixhcmd1bWVudHMpLGQ7cmV0dXJuKGQ9eHNhKCkpLnNldFRpbWVvdXQuYXBwbHkoZCxbYSxiXS5jb25jYXQoXy5tZChjKSkpfTtfLm0uc2V0SW50ZXJ2YWw9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLmxjLmFwcGx5KDIsYXJndW1lbnRzKSxkO3JldHVybihkPXhzYSgpKS5zZXRJbnRlcnZhbC5hcHBseShkLFthLGJdLmNvbmNhdChfLm1kKGMpKSl9O18ubS5jbGVhclRpbWVvdXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHhzYSgpLmNsZWFyVGltZW91dChhKX07Xy5tLmNsZWFySW50ZXJ2YWw9ZnVuY3Rpb24oYSl7cmV0dXJuIHhzYSgpLmNsZWFySW50ZXJ2YWwoYSl9O18uRHE9bmV3IFoyYTtcbl8uem4oXy5mZihfLmRUYSksXy5tWGEpO1xuXy56bihfLmZmKF8uS1FhKSxfLm5YYSk7XG5fLnpuKF8uZmYoXy5yVWEpLF8ucFhhKTtcbl8uem4oXy5mZihfLnJUYSksXy5xWGEpO1xuXy56bihfLmZmKF8uZnEpLF8uSllhKTtcbl8uem4oXy5mZihfLlFUYSksXy5LWWEpO1xuXy5sSWE9ITE7XG52YXIgJDJhPWZ1bmN0aW9uKGEpe2lmKGdvb2dsZS5hZnRxPT09bnVsbCl0cnl7YSgpfWNhdGNoKGIpe2dvb2dsZS5tbChiLCExKX1lbHNlIGdvb2dsZS5hZnRxPWdvb2dsZS5hZnRxfHxbXSxnb29nbGUuYWZ0cS5wdXNoKGEpfTtnb29nbGUuY2FmdD0kMmE7Xy5YWWE9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24oYSl7Z29vZ2xlLnN4KGEpOygwLF8ucW4pKGEsOEUzKX0pfTtfLlpZYT1mdW5jdGlvbihhKXtnb29nbGUucmFpcmRjYj9nb29nbGUucmFpcmRjYihhKTphKCl9O18uJFlhPWZ1bmN0aW9uKGEpeyQyYShhKX07Xy5XWWE9ITA7XG5fLmhSYT0hMDtcblxuXy56bihfLmZmKF8ucFRhKSxfLmZaYSk7XG5cbl8uZjNhPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09Mnx8YT09PTR9O18uZzNhPWZ1bmN0aW9uKGEsYil7cmV0dXJuKGJ8fDEpLShhfHwxKX07Xy5oM2E9T2JqZWN0LnZhbHVlcyh7c2FlOjMsTUVESVVNOjIsd1RjOjF9KS5zb3J0KF8uZzNhKTtcbl8uJGlhPWZ1bmN0aW9uKCl7cmV0dXJuISghZ29vZ2xlLmVyZHx8IWdvb2dsZS5lcmQuanNyKX07XG5fLm0zYT1mdW5jdGlvbihhLGIpe3JldHVyblwicmVxdWVzdElkbGVDYWxsYmFja1wiaW4gd2luZG93P3dpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrKGEsYik6d2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgYz1EYXRlLm5vdygpO2Eoe2RpZFRpbWVvdXQ6ITEsdGltZVJlbWFpbmluZzpmdW5jdGlvbigpe3JldHVybiBNYXRoLm1heCgwLDEwLShEYXRlLm5vdygpLWMpKX19KX0sdHlwZW9mKGI9PW51bGw/dm9pZCAwOmIudGltZW91dCk9PT1cIm51bWJlclwiJiZiLnRpbWVvdXQ+PTA/TWF0aC5taW4oYi50aW1lb3V0LDUwKTo1MCl9O18ubjNhPWZ1bmN0aW9uKGEpe1wiY2FuY2VsSWRsZUNhbGxiYWNrXCJpbiB3aW5kb3cmJndpbmRvdy5jYW5jZWxJZGxlQ2FsbGJhY2soYSk7d2luZG93LmNsZWFyVGltZW91dChhKX07XG5fLm8zYT1mdW5jdGlvbigpe3JldHVybiBfLmJoKGZ1bmN0aW9uKGEpe2lmKFwic2NoZWR1bGVyXCJpbiB3aW5kb3cmJlwieWllbGRcImluIHdpbmRvdy5zY2hlZHVsZXIpcmV0dXJuIGEucmV0dXJuKHdpbmRvdy5zY2hlZHVsZXIueWllbGQoKSk7XCJzY2hlZHVsZXJcImluIHdpbmRvdyYmXCJwb3N0VGFza1wiaW4gd2luZG93LnNjaGVkdWxlciYmd2luZG93LnNjaGVkdWxlci5wb3N0VGFzayhmdW5jdGlvbigpe30se3ByaW9yaXR5OlwidXNlci1ibG9ja2luZ1wifSk7cmV0dXJuIGEucmV0dXJuKG5ldyBQcm9taXNlKGZ1bmN0aW9uKGIpe3dpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YigpfSwwKX0pKX0pfTtcbl8uem4oXy5mZihfLmxxKSxfLmxfYSk7XG52YXIgRDNhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uZzNhKGEucHJpb3JpdHksYi5wcmlvcml0eSl9LEUzYT1mdW5jdGlvbigpe18uUVphLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07Xy5EKEUzYSxfLlFaYSk7RTNhLnByb3RvdHlwZS5KVmE9ZnVuY3Rpb24oYSl7YT1fLlBhKGEpO2Zvcih2YXIgYj1hLm5leHQoKTshYi5kb25lO2I9YS5uZXh0KCkpe2I9Yi52YWx1ZTt2YXIgYz1iLnRhc2s7aWYoXy5mM2EoYi5YJCkmJl8uZjNhKGMuemQpKXt0aGlzLm9hPW51bGw7dGhpcy5CYSgpO2JyZWFrfX19O18uRjNhPWZ1bmN0aW9uKGEpe0UzYS5jYWxsKHRoaXMsYSk7dGhpcy5DYT1hLnNvcnR8fEQzYTt0aGlzLm9hPW51bGx9O18uRChfLkYzYSxFM2EpO1xuXy5GM2EucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24oKXtpZighdGhpcy5vYSl7dmFyIGE9QXJyYXksYj1hLmZyb207dmFyIGM9dGhpcy50YXNrcztjPVtdLmNvbmNhdChfLm1kKGMua2IpLF8ubWQoYy5oYikpO3RoaXMub2E9Yi5jYWxsKGEsYyk7dGhpcy5vYS5zb3J0KHRoaXMuQ2EpfWZvcig7KGE9dGhpcy5vYS5zaGlmdCgpKSYmIV8uZjNhKGEuemQpOyk7Yj0hMTt0aGlzLm9hLmxlbmd0aHx8KHRoaXMub2E9bnVsbCxiPSEwKTtyZXR1cm57dGFzazphLGRvbmU6Yn19O18uRjNhLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe0UzYS5wcm90b3R5cGUucmVzZXQuY2FsbCh0aGlzKX07XG5fLkRKYT0hMDtcbl8uUDNhPWZ1bmN0aW9uKCl7fTtfLlAzYS5wcm90b3R5cGUubG9nPWZ1bmN0aW9uKGEsYil7YT1fLk1pYShhKTt0eXBlb2Ygd2luZG93Lm5hdmlnYXRvci5zZW5kQmVhY29uPT09XCJmdW5jdGlvblwiJiZ3aW5kb3cubmF2aWdhdG9yLnNlbmRCZWFjb24oYSxiPyhuZXcgXy5tMWEpLldjKGIpOnZvaWQgMCl9O1xudmFyIFMzYT1mdW5jdGlvbihhKXt2YXIgYj1iPT09dm9pZCAwPyExOmI7aWYoIWEuc3RhY2spcmV0dXJuIG51bGw7dmFyIGM9YjtjPWM9PT12b2lkIDA/ITE6YztpZihhLnN0YWNrKXtmb3IodmFyIGQ9YS5zdGFjay5zcGxpdChcIlxcblwiKSxlPXt9LGY9MCxnLGg9MDtnPWRbaF07KytoKXtjfHwoZz1nLnJlcGxhY2UoUTNhLFwiOlwiKSk7dmFyIGs9Zy5tYXRjaChSM2EpO2lmKGspe2s9a1sxXTtpZihlW2tdKXZhciBsPWVba107ZWxzZSBsPVwie3tcIitmKysgK1wifX1cIixlW2tdPWw7ZFtoXT1nLnJlcGxhY2UoayxsKX19YS5zdGFjaz1kLmpvaW4oXCJcXG5cIik7Yz1lfWVsc2UgYz17fTtkPWEuc3RhY2s7Yj1iPT09dm9pZCAwPyExOmI7ZT0oZW5jb2RlVVJJQ29tcG9uZW50KFwiXCIpK1wiJnRyYWNlPSZ0dW09XCIrZW5jb2RlVVJJQ29tcG9uZW50KCgwLF8uVDBhKShjKSkpLmxlbmd0aDtiPShiPzQwOTY6MTAyNDApLWU7aWYoYj4wKWZvcihlPWQuc3BsaXQoXCJcXG5cIik7ZW5jb2RlVVJJQ29tcG9uZW50KGQpLmxlbmd0aD5cbmImJmUubGVuZ3RoPjI7KWUucG9wKCksZD1lLmpvaW4oXCJcXG5cIik7YS5zdGFjaz1kO3JldHVybiBjfSxUM2E9ISEoXy5kaFsxN10mMSksVTNhPSEhKF8uZGhbMTddJjIpO3ZhciBWM2E9ISEoXy5kaFsxN10mNCk7dmFyIFIzYT0vKGh0dHBzPzpcXC9cXC8uKj9cXC8uKj8pOlxcZCsvLFEzYT0vXFw/Lio/Oi87dmFyIFczYT1mdW5jdGlvbigpe307VzNhLnByb3RvdHlwZS5sb2c9ZnVuY3Rpb24oYSxiKXtfLkJxKF8uTWlhKGEpLHZvaWQgMCxcIlBPU1RcIixiPyhuZXcgXy5tMWEpLldjKGIpOnZvaWQgMCl9O3ZhciBYM2E9ZnVuY3Rpb24oKXt0aGlzLm9hPXR5cGVvZiB3aW5kb3cubmF2aWdhdG9yLnNlbmRCZWFjb249PT1cImZ1bmN0aW9uXCI/bmV3IF8uUDNhOm5ldyBXM2E7dGhpcy5wYXRoPVwiL2dlbl8yMDRcIn07XG5YM2EucHJvdG90eXBlLk1BYj1mdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9bmV3IE1hcCxkPVkzYShhLFwidHJhY2VcIiksZT0hVDNhJiZZM2EoYSxcImpleHBpZFwiKTtpZihkKXt2YXIgZj1FcnJvcihcInRhXCIpO2Yuc3RhY2s9ZDsoZD1TM2EoZikpJiYhXy5jYyhkKSYmYS5zZXQoXCJ0dW1cIiwoMCxfLlQwYSkoZCkpO2Euc2V0KFwidHJhY2VcIixmLnN0YWNrKX1lJiYoZS5sZW5ndGg+Mzk5MCYmKGU9ZS5zdWJzdHJpbmcoMCwzOTkwKSksYy5zZXQoXCJqZXhwaWRcIixlKSk7dmFyIGc9Xy5MaWEodGhpcy5wYXRoLGEpLGg9TWF0aC5yYW5kb20oKTwuMDE7aCYmKGEuZGVsZXRlKFwidHJhY2VcIiksYS5kZWxldGUoXCJ0dW1cIiksYS5kZWxldGUoXCJlY3R4XCIpLGEuc2V0KFwiZXJyb3JcIixTdHJpbmcoYS5nZXQoXCJlcnJvclwiKSkuc3Vic3RyaW5nKDAsMjAwKSksYS5zZXQoXCJjYWRcIixcInJzcFwiKSxnPV8uTGlhKHRoaXMucGF0aCxhKSk7VTNhJiYobmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoZnVuY3Rpb24oayxsKXtrLmdldEVudHJpZXMoKS5mb3JFYWNoKGZ1bmN0aW9uKG4pe2lmKG4ubmFtZS5pbmNsdWRlcyhnKSl7bj1cbm4ucmVzcG9uc2VTdGF0dXM7aWYobj49NDAwKXt2YXIgcj1TdHJpbmcoYS5nZXQoXCJlcnJvclwiKSkuc3Vic3RyaW5nKDAsMzApO2Iub2EubG9nKGIucGF0aCtcIj9hdHlwPWkmanNlbD0zJmVtc2c9anNlcnJvcl9yZXNwb25zZV9jb2RlX1wiK24rXCImY2FkPXVybF9sZW5ndGguXCIrZy5sZW5ndGgrXCIuZXJyb3Jfc3Vic3RyaW5nLlwiK3IrXCIucmsuXCIrKDAsXy5pMWEpKCkrXCIuc2l6ZS5cIitTdHJpbmcoYS5nZXQoXCJ0cmFjZVwiKSkubGVuZ3RoK1wiLlwiK1N0cmluZyhhLmdldChcInR1bVwiKSkubGVuZ3RoK1wiLlwiKyhoP1wicnNwXCI6XCJiaWdcIikrXCImZWk9XCIrKDAsXy5qbS51QikoKSl9bC5kaXNjb25uZWN0KCl9fSl9KSkub2JzZXJ2ZSh7ZW50cnlUeXBlczpbXCJyZXNvdXJjZVwiXX0pO3RoaXMub2EubG9nKGcsYy5zaXplPjA/Yzp2b2lkIDApfTt2YXIgWTNhPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5nZXQoYik7YS5kZWxldGUoYik7cmV0dXJuIGN9O1xuaWYoVjNhJiZuYXZpZ2F0b3Iuc2VuZEJlYWNvbil7dmFyIFozYT1uZXcgU2V0KFtcIiZlcnJvcj1cIixcIiZlbXNnPVwiXSk7KG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGZ1bmN0aW9uKGEpe2EuZ2V0RW50cmllcygpLmZvckVhY2goZnVuY3Rpb24oYil7dmFyIGM9ITAsZD1iLm5hbWUsZTtmb3IoZSBpbiBaM2EpaWYoZC5pbmNsdWRlcyhlKSl7Yz0hMTticmVha31iPWIucmVzcG9uc2VTdGF0dXM7YyYmYj49NDAwJiYoYz1cIi9nZW5fMjA0P2F0eXA9aSZqc2VsPTMmZW1zZz1nZW5fMjA0X3Jlc3BvbnNlX2NvZGVfXCIrYitcIiZjYWQ9dXJsX2xlbmd0aC5cIitkLmxlbmd0aCtcIi5uYW1lLlwiK2Quc3Vic3RyaW5nKDAsMzAwKS5yZXBsYWNlQWxsKC9bXFw/Jl0vZyxcIixcIikrXCImZWk9XCIrKDAsXy5qbS51QikoKSxuYXZpZ2F0b3Iuc2VuZEJlYWNvbihjLFwiXCIpKX0pfSkpLm9ic2VydmUoe2VudHJ5VHlwZXM6W1wicmVzb3VyY2VcIl19KX07dmFyICQzYT1mdW5jdGlvbigpe3RoaXMuSUI9Xy5TZChuZXcgWDNhKX07XG4kM2EucHJvdG90eXBlLmxvZz1mdW5jdGlvbihhLGIsYyxkKXthPV8udXdhKGEpO3ZhciBlPWdvb2dsZS5lcmQ7dGhpcy5JQi5NYyhcImJ2ZXJcIixTdHJpbmcoZS5idikpO3ZhciBmPWUuZHBmO2YmJnRoaXMuSUIuTWMoXCJkcGZcIixTdHJpbmcoZikpO3RoaXMuSUIuTWMoXCJzcmNwZ1wiLGdvb2dsZS5zbik7dGhpcy5JQi5NYyhcImpzclwiLGQ9PT0xPzE6ZS5qc3IpO3RoaXMuSUIuTWMoXCJlcnJvclwiLGEuaGFzT3duUHJvcGVydHkoXCJtZXNzYWdlXCIpP2EubWVzc2FnZTpcIk5vbkVycm9yT2JqZWN0OiBcIisoYT09bnVsbD92b2lkIDA6YS5tZXNzYWdlKSk7dGhpcy5JQi5NYyhcInRyYWNlXCIsYT09bnVsbD92b2lkIDA6YS5zdGFjayk7dGhpcy5JQi5NYyhcInNjcmlwdFwiLGEuZmlsZU5hbWUpO3RoaXMuSUIuTWMoXCJsaW5lXCIsU3RyaW5nKGEubGluZU51bWJlcikpO3RoaXMuSUIuTWMoXCJvbnNcIixjP1N0cmluZyhjKTpcIjBcIik7dGhpcy5JQi5NYyhcImpzZWxcIixTdHJpbmcoZCkpO2dvb2dsZS5rRVhQSSYmdGhpcy5JQi5NYyhcImpleHBpZFwiLFxuZW5jb2RlVVJJQ29tcG9uZW50KGdvb2dsZS5rRVhQSSkpO2Uuc2QmJmQhPT0zJiZ0aGlzLklCLk1jKFwic2RcIixcIjFcIik7Yz1fLlBhKF8ubDFhLmVudHJpZXMoKSk7Zm9yKGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKWE9Xy5QYShkLnZhbHVlKSxkPWEubmV4dCgpLnZhbHVlLGE9YS5uZXh0KCkudmFsdWUsKGE9YSgpKSYmKGJbZF09YSk7dGhpcy5JQi5NYyhcImVjdHhcIiwoMCxfLlQwYSkoYikpO3RoaXMuSUIubG9nKCl9O18uY24oXy5VQ2EsbmV3ICQzYSk7XG52YXIgYTRhPWZ1bmN0aW9uKGEpe18uRjNhLmNhbGwodGhpcyxhKTt0aGlzLkFhPSExfTtfLkQoYTRhLF8uRjNhKTthNGEucHJvdG90eXBlLkJhPWZ1bmN0aW9uKCl7YjRhKHRoaXMpfTt2YXIgYjRhPWZ1bmN0aW9uKGEpe2EuQWF8fChhLkFhPSEwLF8uUWwoZnVuY3Rpb24oKXthLkFhPSExO3ZhciBiPWEubmV4dCgpLGM9Yi50YXNrO2I9Yi5kb25lO2MmJmMuZXhlY3V0ZSghMCk7Ynx8YjRhKGEpfSkpfTtfLkVzYT1hNGE7XG5fLmFEYT1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cubmF2aWdhdG9yLnNlbmRCZWFjb24hPW51bGw/bmV3IF8uUDNhOm5ldyBfLiRDYX07XG5fLnpuKF8uZmYoXy5zVWEpLF8uSDJhKTtcbl8uVVFhPWZ1bmN0aW9uKCl7cmV0dXJuITB9O1xuXy56bihfLmZmKF8ud1NhKSxfLk8yYSk7XG5fLnpuKF8uZmYoXy5jVmEpLF8uUTJhKTtcbl8uem4oXy5mZihfLmhWYSksXy5TMmEpO1xuXy56bihfLmZmKF8uQlNhKSxfLlQyYSk7XG5fLnpuKF8uZmYoXy5wVmEpLF8uVzJhKTtcbnZhciBBNGE9ZnVuY3Rpb24oKXt9O18ubT1BNGEucHJvdG90eXBlO18ubS5rXz1mdW5jdGlvbihhKXtCNGEoYSk7cmV0dXJuIF8uRHEua18oe2NhbGxiYWNrOmEucGxheSxoaGE6YX0pfTtfLm0uQ2NiPWZ1bmN0aW9uKGEpe0I0YShhKTtyZXR1cm4gXy5EcS5rXyh7Y2FsbGJhY2s6YS5wbGF5LGhoYTphLHByaW9yaXR5OjN9KX07Xy5tLmZsdXNoPWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoXCJ5ZFwiKTt9O18ubS5BR2E9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRHEua18oYSl9O18ubS5oNWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz0hMTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZD1fLmxjLmFwcGx5KDAsYXJndW1lbnRzKTtjfHwoYz0hMCxfLkRxLmtfKGZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQoYz0hMSl9KSxhLmFwcGx5KGIsZCkpfX07XG5fLm0uc2V0VGltZW91dD1mdW5jdGlvbihhLGIpe3JldHVybiBfLkRxLnNldFRpbWVvdXQuYXBwbHkoXy5EcSxbYSxiXS5jb25jYXQoXy5tZChfLmxjLmFwcGx5KDIsYXJndW1lbnRzKSkpKX07Xy5tLmNsZWFyVGltZW91dD1mdW5jdGlvbihhKXtfLkRxLmNsZWFyVGltZW91dChhKX07Xy5tLmNsZWFySW50ZXJ2YWw9ZnVuY3Rpb24oYSl7Xy5EcS5jbGVhckludGVydmFsKGEpfTtfLm0uc2V0SW50ZXJ2YWw9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5EcS5zZXRJbnRlcnZhbC5hcHBseShfLkRxLFthLGJdLmNvbmNhdChfLm1kKF8ubGMuYXBwbHkoMixhcmd1bWVudHMpKSkpfTtcbnZhciBCNGE9ZnVuY3Rpb24oYSl7aWYoIWEuWmthKXt2YXIgYj1hLnBsYXk7YS5wbGF5PWZ1bmN0aW9uKCl7dmFyIGM9Yi5jYWxsKGEpLGQ9YS5YaSgpO2lmKGQhPT1JbmZpbml0eSl7dmFyIGU9d2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXtyZXR1cm4gYS5maW5pc2goKX0sZCk7ZD1mdW5jdGlvbigpe3JldHVybiB2b2lkIHdpbmRvdy5jbGVhclRpbWVvdXQoZSl9O2MudGhlbihkLGQpfXJldHVybiBjfTthLlprYT0hMH19O0E0YS5wcm90b3R5cGUueWllbGQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy5vM2EoKX07QTRhLnByb3RvdHlwZS5yZXF1ZXN0SWRsZUNhbGxiYWNrPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ubTNhKGEsYil9O0E0YS5wcm90b3R5cGUuY2FuY2VsSWRsZUNhbGxiYWNrPWZ1bmN0aW9uKGEpe18ubjNhKGEpfTtfLmNuKF8uYUVhLG5ldyBBNGEpO1xuXy5fTW9kdWxlTWFuYWdlcl9pbml0aWFsaXplPWZ1bmN0aW9uKGEsYil7aWYoIV8ueGQpe2lmKCFfLldqYSlyZXR1cm47Xy5YamEoKDAsXy5XamEpKCkpfV8ueGQucmViKGEsYil9O1xuXy5fTW9kdWxlTWFuYWdlcl9pbml0aWFsaXplKCdkJHF1YW50dW0vdDd4Z0llL3dzOVRsYy9jRXQ5MGIvcWRkZ0tlL3l4VGNoZi8rMjcyLzovL3hRdFpiOiwsMi8vUjlZSEpjOiwzL0tVTTdaL3dyekVYYi9UeENKZmQvV1ZEeUtlLy9WajlocGQ6LC90YWZQcmYvZHRsMGhkL2xMUVdGZS9JbDFNNGIvZUhEZmwvRk9ORWRmOjQvSmlWTGpkOjUvRkFVZFc6Ni9aMVJnMC9kTVprM2U6NS9vZmpWa2IvcWFTM2dkL1Q5eTVEZC95aUxnNmUvUTdCYUVlL3RSYVppZjozL0YycEVoYy9uNzNxd2YvVVVKcVZlL01wSndaYy9uQUZMMy8rMi9OVE1aYWM6Ly9zT1hGajovb0d0QXVjLyszL2J5ZlRPYjovLy86Ly9MRWlrWmU6LCwyLDIvKzIveFVkaXBmOi86Mi8rMy8tMTosLysyL053SDBIOjIsMy8vL2d5Y2hnOiwsLDcvVWxtbXJkOi9ySm1KcmM6MTUvR0hBZUFjL1d0NnZqZjoxNy9sc2pWbWM6MTkvSVpUNjMvVmdkNmhiLysyL1lOakdEZDovaUZReUtmLyszOjMsMi9QclBZUmQ6LDIvKzMvdmZ1TkpmOi8vaGM2VWJkOiwsMiwyLy8vL3EweFRpZjosLCw1LDI5LDIsMiwvckxwZElmL3c5aER2OjI1L0pOb3hpOiwyMS9TTlVuMy9ad0RrOWQ6MzQvUk1oQmZlL1UwYVBnZC9pbzh0NWQvKzIvS0cyZVhlOiwsL09qNDY1ZS8vRmxvV21mOiwyL0VybDRmZS9SdVVyY2Y6NC9Kc2JOaGMvWGQ4aVVkLy9kN1lTZmQ6LDIsOTAvc1A0VmJlLysyL3VsOUdHZDova01GcEhkLy86Ly9DT1FibWY6LC91WTQ5ZmIvKzYvQTdmQ1U6LDYsMywxOC8vOjYsL2JtNTF0ZjosLDMsNSwxNCwsNDAvT1RBM0FlLy9ZUUdBUGI6LCwyMy9QanBsdWQvUUdSMGdkLy8vL2tXZ1hlZTosLCwsLDMsMywzLDE2LDMsMzkvUG9FczliLy8rMjo2LDcxL1ZEb3ZOYzosLDc0Ly93aldZaWY6LDEzLDIzL292S3VMZDo3LDM1LDI4L01saG15L2E1NnBOZS86Nyw0LDcxL0pFZkN3YjovTWUzMmRkLy9NRWVZZ2M6LDMvVndEekZlOjM0LDExLCw0Ly9UOVJ6emQ6LDI0LC8vWmZBb3o6LDIwLDYsNTQvL09tZ2FJOiwyOCwyMiwzL2ZLVVYzZToyLDUzLDM0L2F1ckZpYzo1Ni86OC9HNXNCbGQ6LDcsMTcvOjgveURWVmtiOiw3LDEyL0VFRE9SYjo1LCwvL2l2dWxLZTovczM5UzQ6MTE0L0VtWjJCZi8rMi8vVWFzOUhkOiwsLDc1LDcxL3dSNUZSYi8vLy86L3NpS25RZDosMiwsMTUzL3BYZFJZYi8rMy9lNXFGTGM6LDMsMiwxNTQvZElvU0JiLy9TcHNmU2I6LDkyL1pnR2c5Yi8rNC8rOC8vLTcvLTU6LCwsLysxNTo0Ly02Ly0zLysxMDoyLy0xNDosLDIsLysyMC8rMi8vOi86LDIvLTQ6LDQvKzUvKzIvKzI0OjgvLTIzOi8rMy8rMjU6NS8tMjQ6Ly8tMzosLDIsMi8rNTosNS8rMjoxMC8vKzE5OjExLysyOjMsNS8tMzM6LCwsMi8rMTMvKzE0OjIxLzoyMC86LCwxOC8tMzosMTYsMy8tMzQ6LDQsLDk2Lys2MDoxMS8tMTovKzQvKzIvLzozLzozLzosLCwxMi8rMjoyOS8rNjoxNy8vLTE2OjExLDgvLTE6LDEwLys5OjYvKzI6NiwyNC8rMTAvKzQvLTM6LC8rMTIvOiwxMjIvOjQ0LzovKzE3OjIsMjQvOiwvLTE3Oiw0LDIsMjMsLDIxLDc1LzosMjUvLTY4OiwxMSwsLDIsLysxMS8rNTovLTQ6LzozOS86LC8rNS8vOiwvKzIvKzE4OjQ4LysxNjo0Myw3LDE3LDQvLTEvKzEzOjUxLy01NDosLCwsLCwzLDYwLysyOjcwLDUvKzI1OjIvOjUyLysyOTo2Ni8tMjo2Ny86LC8rMTQ6Miw0Ny8tOTo2My8rMi8tNDosLCwsNSwyLDE0Ly0xMjosMTAvKzI1LysyLy0xOiwsMywxMSw0Ny8rMi8vLyszOjE4OS8vLTM6LC8rNDosMTA3LzoyMS8rMzozNy8tMTosMjMvKzEwOjE5Ni8vLTI6LCwsMiwzLDgsMTkxLys0OjE5OS8tMTosMiwyLDIsMyw4LDE5MS8rMjoyMDEvLTExOiw0LDcsMTcsMTgyLys1OjE4LysxNjoyMDQvLTk6LCw2LDIsNSw4LDgsMTgzLysxMDoyMDYvLTk6LDMsNiw3LDE2LDE4My8rMTE6MjA4Ly0xMDosNSw2LDcsMTYsMTgzLysxMToyMTAvLTEwOiwyMCwyMi8tMTQ6MzEsMTAvKzI1OjIxMy8tMTA6LCwxNSw3LDgsMTkxLysxMToyMTUvLTEwOiwzLDE1LDcsOCwxOTEvKzExOjIxNy8tMjY6LDIwLDcsOCw5LDE4Mi86MzgvKzI3OjIyMC8tMjY6LCwyMiw3LDgsOSwxODIvKzI3OjIyMi8tMTM6LDI1LDIsNSw4LDE5MS8rMTQ6MjI0Ly0zMzosMjcsMyw0LDE5OS8rMjE6MjI2Ly0xOiwsMiwyLDMsMiwyLDMsMiwyLDIsMywyLDIvKzE1OjIyOC86NDUsLDExLDQsNDYvLTM5OiwsLys0MC8vOjQ3Ly96Yk1MM2M6LCwsLCwzOCw0LCw5NCwyLCwzLDIsMiwsLDEwMCw1MCwyL3pyMWpyYjovKzMvKzIvOiwvKzMvL21JM0xGYjozLy8rMy8tMTosLDQvbGF6RzdiOiwzL05TRW9YLysyLysyL21kUjdxOiwsLCwxNTgvOjEzLy9raktkWGU6LCwsMTY3L01JNms3YzozLC8vRUFvU3RkOiw4LC8vQ2s2M3RiOi8vL2VCQWVTYjoyLy8vSFQ4WERlOiwvU00xbG1kOjMsMjgvL092Q1FxZTosNS9Xd2p1ci92Uk52VGU6LDI2LDIvL2J0ZHB2ZDovOjI3Ly9XcTZseGY6LCwyNi9XQ0VLTmQvTDhLR3hlLy9uUXplM2Q6LDIvd1Y1UGpjL2ZhUkZ0ZDoyMDIvKzIvcFU4NkhkOiwyLDUsMjUsMTIzLDQ4Lzo0My96VnRkZ2Y6LDE0LDIzLDE2OC8vWWRZZHk6LDExLDI1LDE3MS90N2pqemI6MjA5LzoxNi9ScjVOT2U6LDE0L3B3NzBHYzoyMDIsMTIvRVZOaGpmLysyL1FJaEZyOiwsMjk1LC9tOW9WLy92N2hIMGI6Ly9xWEVvUDosL3dYOExqYjoyLC9zNEJkSGU6MywvSDhjT2ZkOjQsL2dhN1hwZDova0hWU1ViOjYvUFhHdVNkOjcsL3hrakd2ZTo4LC9zVHNETWMvdjFkYU0vTEs0UHllLy9hTFVmUDovd1FsWXZlL2FSanV4Yi86MTI2Ly91eE1wVTosLDMzMS9Db2dGN2QvLysyOjIwMy86LyszOjE0Ny8rMjAvLTE5Oi86MzQ1LyszLy0yOi8rMy8rMjovLTE6LDIsMi8rMy86LDE0OSwxMS8rNToyMjkvLTIvLTE6LCwyMzIsLys0OjE0Lys1Ly0xOiwxNC8rMjovLTQ6Ly0xOi8rODozLysyOjQvKzI6NC9zZ1k2WmI6LCwsLDUsLDMsMiw2LDMsMiwyLDIzLDExMCwxMzAveDhjSHZiL3pPc0NRZS9Lbzc4RGYvS2Nva1ViL0tpdVpCZi9JNDZIdmQvLy8rMjovLy86LC8tNDosMywyLys1Oi9VaVBoa2I6Lzo5LzosMy94QjJkUWQ6Lzo2LzovQ25UNXdkOi86My9rdHZhbWQ6L0dSU3JTZS9KeEU5MzovZVRWT0MvUkpET0JjOi8rMzoxMi9YRGx0N2Q6LzoxNC9YYnVwWTovOjE2L2EzY1pvYzovOjE4L1FGYlZDOi96MmVGY2MvVVFwVFU6LysyOjIyL2JwZmxIYjovOjI0L0dXcW1iOi86MjYvcHFVeFVjOi86MjgvV3hKNmc6LzozMC9UcmlyYmM6LzozMi9obVpvMWU6LzozNC9DSnVjeGU6LzozNi9TS1pTS2M6LzozOC9YSG82cWU6Lzo0MC96b0Z0NmU6Lzo0Mi9zbUtXSmI6Lzo0NC9ubnExc2M6Lzo0Ni9XYVNSVWI6Lzo0OC9wUWsxZmM6Lzo1MC90T1FVTGQ6Lzo1Mi9oaGNoTGQ6Lzo1NC92YmpkWGM6Lzo1Ni9HWHl6MTovOjU4L20zQWFYZDovOjYwL2hhUEdxZDovOjYyL0QyRFRFZjovOjY0L3c3eXNnOi86NjYvVDNxOFdkOi86NjgvZnBsUXhjOi86NzAveWp3NDU6Lzo3Mi9qQ2UycWY6Lzo3NC92UGk3OWM6L1BxNTA2L0ZYVWR3Oi8rMjo3OC9FUndWYjovOjgwL2VUdjU5ZTovOjgyL2dwTjM0YzovOjg0L2dpeXVlYzovOjg2L0EzZVdEYjovOjg4L2FndlVZZDovOjkwL2pWcUQ3Oi86OTIvTm1SOWpkOi86OTQvR1JKMzJjOi86OTYvcW5nSkJmOi86OTgvVTNPdmNjOi86MTAwL3lmSDJCZDovOjEwMi9CMTd5U2U6LzoxMDQvY0tWMjJjOi86MTA2L3ZocFFOYzovOjEwOC9CMHhyN2I6LzoxMTAvaGZKOWhiOi86MTEyL05ld0VlZDovOjExNC96ak5oTDovOjExNi9kRkRIV2Q6LzoxMTgvVE8wY3NiOi86MTIwL0c0dHBkZTovOjEyMi90Mk1Md2M6LzoxMjQvUTJRSDhiOi86MTI2L0VENmtmZDovOjEyOC9NcmtjQWQ6LzoxMzAvVG5YbEdkOi86MTMyL21MNGhHOi86MTM0L1l1Tk9DYjovOjEzNi9Ed25QZ2Q6LzoxMzgvVTZubEplOi86MTQwL3NVNmVhZjovOjE0Mi9PYTdRcGI6LzoxNDQvYVFGUUZlOi86MTQ2L3dDa3NmYjovOjE0OC9vU2NLZmY6LzoxNTAvZDE5MWJlOi86MTUyL0NsMUhnYjovOjE1NC9rT1NpMGQ6LzoxNTYvQ1g1TElkOi86MTU4L1hUa21aZDovOjE2MC9TNDQwSjovOjE2Mi9zV1hUUGQ6Ly86LzovZGZ2cXdmOi86My9NTFFWQzovOjUvdkpQRnNlOi86Ny9tTTFJOGQ6Lzo5L3BPWVljZTovOjExL29TM3NiZDovOjE3OC9oQVg1ZWU6LzoxODAvTXpiT0VlOi8vOjE4Ni86LCwxNy9BQnhSVmM6L2Z4YTFoYi9DVHdkODovKzIvOi86L1JTbGZsZTovOjE5NS86L1FOdm1uZTovZTJFZnpkL0NXT2ZFOi9LWVh0aGU6MjAwL1ZMNThtOjYvKzIvOiwyMDIvdmhzZnNlOi8vOiwyMDUvb1hSRHpjOi9QRTcyOGI6Mi9jamFQa2IvKzI6LDc4L1U0amF0ZDovOjIxLzovOiw4LDc0LDgwLDUxL25zSnhqYzovOjMwL0tpWGxuZDovOjEwNSwzMCw1MC9XRlJKT2I6LzoyMjEvOjIyMywvb0cwcWVlLysyOiwsLDExLDE3LDYsMTgsNzMsNTYsMTgvWnJYUjhiOi9nMEVrc2UvVEhwbVc6L01hZmpaZS9SVFIzTDovU1FBWkZkL1p1ZHhjYjovT2p0d1FlL01SYjduZjovWFRteHdlL0QxSjZIZTovWWxNY0dlL0Z1UVd5YzovKzcvOiw4OCwyLDE4LDQsNCw1Miw1MiwxNy86MjM2L29PVGlGYzosLy8rNDoyMzkvKzI6MjQwLysyLzosMywxOSwxNywxOSwxOC90REE5Ry9VWDhxZWUvdFc3MTFiL1I2VWtXYi94TUh4NWUvT2s0WE1kOiwsLCwsLDIsLzoyNTcvOiw1NywxMTIvZHUzUTRlOi9iSU1Nb2YveE5Tbnk6LysyOjEyMCwzMCw4L2dLTzMwZTovLzosNTQsMTMsMTkyLzo1NiwxMC95Q2hndGI6LC86NTgsMTksMTgvckwyQVI6LzoyNjYveGt3aTA6LzoyNjcvRm1uRTZiOi86MjY5L1d1SVBuYjovOjI3NC9iWEtQemQ6LzoyNzYvZHlVRW1kOi86Mjc3LC9vTUNvcmI6LzoyNzksL2k1dzBZYzovTXZ0c2Y6NTgva3BBci90elRCNTovamtSUGplOjczL3k2SWhhYjo2MS8rMjoyODcvSGZ4SzlkOi86Mjg5L3JhamNDYzovOjI4OC9BRDZBSWI6Lzo4MSwyMy9WOUdxSmI6LzozMy9ydVhMaGI6LzozNS9QMDlmcGU6LzoyOTYvYTBueUQ6LzoyOTgveWs5eVRiOi86MzAwL0x0TkRUYjovOjMwMi9wZTNnZmI6LzozMDQvbjBlYUNiOi86MzA2L05zRVVHZTovOjk5L0V1QTVaYzovOjk4LzozMTIvOjMwOS86LCwsNTEsMzgsMjIxLysyOjIsMiwxMTUvKzI6MywyLDUxLDY0L1F6cmFaYi9JOUpJamMvbnp1NFVkL2dHWXpnL202YjJQZTosLCwsLCwvSGY2ZzJlOjMyNS9OVDdRcWM6MzI2LyszOjMyMy9uWkJRWWU6L3dRM3cwZToyL0FEYUZoYjozL293MWRBZTo0L0EyaUhSZDo1L0dKV3g5Yjo2L2QyQmZlZDo3L0ZpREROYjo4L3hJcDhuZTo5L3FpeVNjZjoxMC9CR0RHRGU6MTEvYlJZZDZiOjEyL25FRVJPYjoxMy9aaUp1eGY6MTQvZUpURkdjOjE1L1c0Y2k2ZToxNi9sSG9vZzoxNy86MjEwLDgwL2ZOTWh6Oi9CUlZYWmU6Mi9HS0NUZmY6My86MzQ1Ly86LC86LDYxLDYsMjEsNTQsNTIsMzgsOCwyNCw1MiwyL28wajV6YzovSDIzOTJlOjIvOjM0OC86MzUzLzoyLDkyLDUwLDQsMTI0LDgxL0lFZG5MZTosL1lOd1pyOjI3Miw2MC86OTcvUjhBMGNiOi86OTkveGU2c0xlOi86MTY4LDE5L2l5eG5rZTovOjIwOSw0Mi9OWHZFT2U6Ly86LDM2MSwzL29GaWszYzovOjM2Ny9naVZDTGQ6L0FqUlZJZS9BcXpSSGY6L3RFNlJ6ZC9nTzVGcWU6L3BoZWNiYy9YazBjOi9xMjhndmMvSUdvZkVjOiwyLys1OjM3OC9WOVcxYWQ6LzozODAvWTBkcEZjOi9BT1RrdWM6MTYxLzozODMvWE9laE9jOi86Mzg1L2RBbmVrZDovOjM4Ny9vRWFtSjovOjM4OS9SUDZueWY6LzozOTEvdmlmNkhjOi86MzkzL1BvSmo4ZDovOjM5NS9OaFViSGM6LzozOTcvYUQ3ZkVkOi86Mzk5L2hXSmpJZjovZWU5R2xkOjg5L1ViY0hSYjo1NC86NDAzL1VaTndvOi86NDA1L0NWVnA1YzovOjYwLC95MjVxWmI6LzoyNDAsMTY1LDMvOi86LzovWVIzT0FjOi86MjE4LzosMTAxLDI4LDc1LzovZkxpT0NkOi86MjQ5Lzovd29wa1ZjOi86MjUyLzovY0ZwTG1mOi86MTQvOi9ld3hiTmU6Lzo0MzEsLzosMTMvOi9ub1g3cWU6L2dLUThTLysyOi94YW1zOGM6L3pIYTFKYy8rMjovY0ZtUHhjOi86MTI0LDExNy86L0JRVGgzZDovOjI2LDQxMC86L0NOc1FwYjovOjI5LDEwMS86L2h5bHh2ZTovOjI1MC86L0J5N2RlOi86MjUzLDE5Mi86L3JNR0F0YjovOjEzOSwxMTcvOi95eHdmY2U6LzoxNDIsMTE3LzovRHh0aFhjOi86NDQvOi9RdWpWWGM6Lzo0Ny86L0w0aUFxYzovWWpOelIvKzI6L3hQRmFsOi9sWG8xeGIvKzI6L05wblBEZDovcVlCUXNmLysyOi9vRkx1YmI6Lzo1OSwxMDIsMzA4LzovRTBmam5jOi86NjIvOi9jZDdBMmI6Lzo1MiwyNTgsMTY1LzovQmJtOWdiOi86NjgsMTAxLzovVVA3c2lmOi86NzEvOi9qcnhpTWQ6Lzo3NC86L2V1dnhNOi86NzcsMTAxLzovWGt2bWFjOi86ODAvOi9wSXY1SmI6Lzo4My86L01Cdkd6ZDovOjMwNC86L01CcWN5ZjovOjg5LzovUVdUR3BkOi86MzEwLzovVlZVSGk6Lzo5NS86L1ExOGRxYzovOjg1LDQyMC86L0lUTktwOi86MTE2LzovR1ZqZHlkOi86MTA0LzovUTFHNFBjOi86MTA3LDQxMC86L0xCRHZCZDovYnRvdG9mLysyOi9MV0c4N2M6L0NrS0o5LysyOi9VaDRRVGI6LzoxMDMsNDIzLzovVk5WdkxiOi86NTI5LzovcThqdVI6Lzo1MzUvWkdMVVo6Lzo1NDIvOiw1MzcvcnhBS0ljOi86MjgxLDI1OS9Jd2Vza2I6LzozMzcsMjA1LyszOjMzOCwzNywxNjgvKzM6MzMxLDIxMy9PMTlxOC9uTWZMQS9icGxFeGIvVU1rNDVjL2ZuSWhjZTosLCwsLCwvOjU1MC86L2V6OUZGOi86My9pZU5Ia2Y6Lzo0MTQsMzgsNTIvUDhmekVlOi86Mzk4LDQ4LDM0LDEwL3IyNGJSOi86NDE4LDYsMiwzNiwyL2dYbTVMZTovOjM5MywxNjgvOiw1NTgvVXQwVE1jOi86NTYxL1BsQ1RsYzoveGxzTFc6NDg3LDUwL0xGcm4zYi9taElZaGY6L0hJaFFmZS9DYWxBODovKzM6MzEyLDU0L0JRbUpEYzovOjMxNCw1NC9qZ2pGQ2Q6LzozMTYvRHdTNGJiOi86MzE4LDU0L05IQ3BEZDovanRGUUFmL0l5ZVYyOi8rMjozMjIsNTQvSU10THg6LzozNzgvTkZkcHRjOi86MzgwL01hclFBOi86MzI4LDU0L2lueFlFZDovOjMzMCw1NC96RGZOVWU6LzozODYvZ3doazhiOi86NTYsMjc4LDU0LDMyLDE2MC9XeDBaMmQ6Lzo1OTUvWmNPbTBkOi9TcGpvRS9SQmNOeGIvb0RUelNkL3BuaXViZC8vQjJxbFBlOiw4NzkvLy9STElTdWQ6LCw4ODEvKzIvLys0L0hHdjBtZjosLCw4ODQvLysyLy8tMjosLDkzOS9FTmlvcmM6LDMsODg4L1ViZ3A4LyszL1lLMVpwOiwsODkzLy9JalN5WjosOTc2LzoyL3pSVlBlZDosLDQsODkzLysyLzo3L1RPVHpiYjosLDUvKzI6NzE5LDMvTWtIeUdkOiw3MjAvL2tiQW05ZDovQU55bjEvVUZaaEJjLyszL1U0TXpLYzosLCw3MjQvZzhua3gvLy8vLy8rMy9EUHJlRTosLCwsLCwsNSwxNSw4OTEvL2k5U05CZjosOTE5Ly9ncWlCRjosOTIxLys4LzovLTI6Ly02Oi86Ly8rMjozMS8rNS8rMi8rMi8tMzosLys1LyszLy0xMzosLCwzLDUvKzE0L0RoWFBHOiwsNywsLDUsMjMsNzkwLy9MaUJ4UGU6LDkzOS8vSEgyTTBiOiw5NDEvLy9SU284YWY6LCw5NDMvdlBxQ3AvL2x0czNSZTovWVY1YmVlLysyLy9ydEgxYmQ6LCw3NzAsMzI5LysyLzosOTUzL3hSeERsZDovKzIvLzovOiwyLDY3OC8vLysyLy0xOiwsLCw1LDUsNDQsNDA0LDMwNywyMywxNjEvT1pMZ3VjOiw4LDQ5LDcxMC8rMi9CWXdKbGY6NzQ5Ly9MMUFBa2I6LDk1Ny8rMjoxNy8tMTosODAvKzIvLy8vOjEyL1ZFYk5vZTosLCwsLCwyLDIsMiw1MiwzODkvL2VYNXVyZTosLy8vcTAwSVhlOiwsMjAsNzYzLDI1LDE3MS8vZmlBdWZiOiwxNCw2LzozMzMvLzozMC86NS9GaDBsMDosLCwsLDIsMTAsLDQsNiwxMSwzNiwsNi8vKzIvLzosLysyLysyMS8tMjA6LC8rMi8vLy86LC8rMi8vLTI6LCwzLDc2My8rNS86Lys1Ly0zLy8rNy86LDIwLzovLTE0OiwzLCwsLDIsMywzLCwsMyw0NSwxNC8rMTUvLy8vKzQvLTEvLTE6LCwxMCw0LDMsMyw3LC9xY0g5TGM6LDYsLDEyMSw4OTEvKzMvOjc2MS8va2JjZ1FiOiwsLCw0OCwyOSwyMyw2NTgsNjYsMjUsMjM1Ly8vYUo1RnBlOiwsMiw0LDcsMTIzLDg4OS86MTEvOjI1Ly8vQm5pbWJkOiwsLCwxMTUsMjIsNDEwLDQ4MS8vTWFFVWhkOiwsMTIxLy9sb0w4dmI6LysyLzozLy9tczRtWmI6LCwsLDE3LDcsMTA0LDkwOC8vL1ZzcVNDYzosLDEwNDEvLy9nZ1EwWmI6LCw0MCwyOSwxMSw3My9kNkZWWmQvL3liMDhqZjosLzoyL09LczYyOiwsNSwxMDQ0Ly8vTnpVNlY6LCwxMDUyL2lwV0xmZToxMDU1LysyL01iaWYyOiw4MSwxMSw0NzIvKzI6Mi9RVmFVaGY6LCwyLy8vU0pwRDJjOiwsMjEsODQzLDI1LDE3MSw2NC8rNy8tMzosODkyLy8vKzIvKzQvLTM6LDQsOTA1Lys0LzovOjEzNywvOi8vKzM6MTUwLy0xOjE0MCw0ODUvLTE6LCwsNywsLDEzNy9ITE9aeWU6LDQsMiwyLDE0Myw4MjQsMTEsOTEsNjQvKzQvOi9SNTV1Y2U6LDIsMTg3LzoxMjMxL3g0RllYZTova1F2bGVmLy9IUVl3STosLCwxMywxNzksNzgyLDEwOS8vREZmdnA6LDEwODcvL1RTWkVxZDosMTA4OS8vKzMvLTE6LC8rMjoyLzovKzIvKzI6NS86LDIsMi86LzozLCwzLzosLy8vLysyLzoxMDk2Ly0yOjE2L3BmZEhHYjosNCwsLDExMDEvKzQvKzQvLys1Ly8tODosLCwsMTE0LDg4Ny8rNS86Ly04OjMvKzEyLy0xLysyOjIvKzIvLTE6LDMvKzI6NS9EaFBZbWU6NywsNywxMTA5LyszL0diRWRnYjosOCwsMTExNi8rMy9BWTRMZ2U6LDIzNiw3MjAsMTcxLy86MTgwL2RzY2c4ZTosLDQ1LDExNSw3OCw3MjAsNjIsMTA5Ly8rMi9DblNXMmQ6LCw1OTMsNTM5Ly9FYlBLSmY6LDEzMCwxMDA1LysyLy9LYll2VWM6LCw2MDQsNTIzLDEwLy8vV2xOUUdkOiwsMTE0MCwxMDEvKzIvL3BGc2RoZDosLDIsLDQsMiwyNyw5LDkwMiwyNS8vUFVwemc6LDEwOSwxMDM3LzoxNDUsMTMvKzIvLTE6LC8rMi9xU2FwSWI6LCwyNTksODkxLy8vT2FTYVQ6LCwzLDY2LDE3Niw4ODcsMjEvL2ZYTzB4ZTosMiw3MCwxNzAsNiwxNyw4OTEvL25hYlBiYjosNCwxMiwyMzAsMjEvL1pCc0VDZDosMTE2MC8rMi9MUXR3UWU6LDExNjIvL0dVNEdhYjosMTE2NC8vL3pHTG0zYjosLDExNjYvL3VVM3VtYzosMjc4LDg5MS8rMy86LDEyNTEvUWx5cnliOi86My86LDIvTE03d3g6LDIvLy8rNS8tMzovKzQ6LzozLy02OiwsMy8rNzosNi8vOjE1LzosLCwxMi9FUFJ0OWQ6LDE0LzoxMiwxMjU3L3ZOektIZDovOjUvOiwyLDIsMjc5L2tqa3lrZDosMiwyLysyOjgvOiw1LDIvRXRDeDhiOiw1LDIvOjgvYjVXODU6LDcvKzI6MTMvOjIzMSw4MC9SclA4amI6LCwxMSw1OC8vOjEzMS9PZjFySWM6LCwyMiwxMjYwLzoxOS86LDE0LDIsMi9MOTdtdWQ6LDE2LDIvOjMsMTEvOjI5LzosLDIsMTEsMjg3L0lwM0VyYzosMywxMS93ZjRrRGYvKzIvOi86LDE2Mi8vOiwsMywzMjEsNSw4ODYvUHltQ0NlOi86MjUsMjMzLy86LCwyNCwyMzIsNzcveE1jbGdkOiwyNSwyMzIvKzI6MjksMjAvOiwyOCwyMCwyODksODg2L3BFZ2N1ZTosMjgsMjAvOjMsNC86LDIsMywzMzAvdlpyMnJiOiwyLDMvbXBFQVFiOjEzMDkvT29oSVllL0FMZUppYi9COGdMd2Q6MTMxMi8rMzo0Ny8vKzIvL2QxMlc1YzosLCwsNDUsNzUsMjA1L1E2QzVrZi9wZmRaQ2U6MTMxOS8vbFBKSjBjOi92R3JNWi8vKzI6NC8vSG5JRDRiOiwsLDgsLDEzMTQvKzI6NjcvKzI6NjcsMjk1Lzo2OS8vLTM6LCwsLDQ0LDIwLys1Ly0xLysyLyszLy0yOjUvOi8rMy8rNS8tMy8tMS8rMy8rMy8vKzIvLTEvKzI6ODgvLy0yNTo2NiwyMC91SVdrbjosMjMsOSw0NCwzMDcsODg2LysyNjoyNiwxMiw0Mi95b2lwN2U6LC8rMi8vLTI6LC8rMzosMzA2Ly95Y2VIZ2I6LC8vYjFjMjVjOiwzL2I2a25zYi8vLy8vKzI6MjE4Ly0xOiwxMzkyL3kwNVVELys0OiwzLzosMiwzLCwvYW9hVTc6LDExNzcsMTg4LzozMjcvOiwxMTgzLy8vKzIvOiwzOTYvKzI6Mjk5Ly0xOiwsMywyODMvKzQvL0pLb0tWZTozLDQsMiwxMiw2LDExNjEsOTkvOjI5NS9vWEtZTWI6Lys0L05hTmNWZTosLDcsMjc5LDgsMTA4Ny8vT0RBbFdiOiwxMzg0L2dza0JFYzoxNzksNDYsMTE1LDYxLDE5LDczMi9kUEZaSDovbkp3NEdkLy8rMi86LzoyMi8rMzoxOS8rMjo1Ly0xOiwxOCwxOTksNi8rNC8vLTI6LCwsMiwsLDgsMTEsMTQsMTY4LDE0LDk3LDg4OCwyNjMvTkswbng6LDE5MSwyMy91S2xHYmYvKzM6NDUsMiwzMjYvVGlhNTdiOi86MzM3Ly8vOi86LzozMzEsNy8vKzI6MzQwLDMvLy0yOiwsMzIxLyszOiw0LC94U2t2WWU6LDQsNiwyLCwzLCwsMiwsLDMsMyw2LDIyLDIsMTQ4LDE3LDYsOCwxNSw2NSwxMDgsMywxNyw3MjAvS3BSQXVlLysyLy0xOiwxOS8rMjovL055ZXFNOjIsMywxMi8rMi94ZmpNamQ6LCwxMzQzL1E2dE5nYzoxNDI2L2pZMHpnLzoxNjkvaHd2OXRiOiwxMCwxNDAsMjAyLDc2MS8vL3ptcHRIZjosLDIsMTU4LDI4Mi86MTU5Ly8rMjosLDg2LDIsMTEsNCwsMiw1MCwyLDMwOSw4ODYvRHZuN2ZlOiwxNTcsMi9lbGF0RmQ6MTc3LysyLzosMTg2L09yT2VLZDosMTg2LyszOjE3NiwyLDYvLTE6NCw1LDEyNywxMCw4LDE3LysyLy8rMjoxODAsMiw2Ly02OiwsLCwsMiw0LDUsODEsMTIsMjQsNiwxMCw3LDE4L2NuakVDZjosNiw0LDEyOCwxMCw3LDE4Lys3LzovKzIvOi8rMi8rMTgvOi8tMi9HYlJFai8rMjU6LysyMy8vOjIvOiwvLTU4LysxMDMvLTMvOi8rOC8tNy8rMjo2Ly8vOiwvLTExNS8tMTosMjQvKzM6LDI0LysxMTQvLTkvKzExLzovOjYvLTExMzosLDIsLCwzLDMsLCwsMiwxMi8rMTUvYWxUWUNlLzovLy02OjMxLysyOiwzL2tLQlFTYi8rNzovKzIvLy0yOiwsMi8rMzosMy9XcGhqVC8rMzovOi8rNi8tOTosLDE0LDI0Lys0Ly0xNToxMy9ybnZKT2UvKzE3Oi8tMTM6LDIsLCw1LDgsLDExOC9xaU1xSWQvKzE4Oi8rMzA6NTEvKzIvLTE6Mi9kT3dST2UvLTM6LzovLTU6MjksMjgvOi86LDIsMTIsOSw2LDIsMTE2Lys4OjMyLDI4LzovOiw1LDEyLDksNiwyLDExNi8tMzosMyw2LCw1LDQvKzQ6NjQvOi8rMjoyLy0xOiwyMiw5LDEyNC8rMjosMi8vLy8vOjQvOjQvLzosLCwsLDY2LC86MiwsMiw2NywvOiwsNjkvKzIvaVZ4bG1jLzosLysyOjYvLTE6LC8rMjozLDQvKzM6MTUsLzo1MC86LC9IcmtMVGQvLTM6LCwzLCw1LysyOTo1NS86NTMxLzosNTUsMTQsMTEvLTY6NjYvOjY1LDcvKzg6NTQvLTI6LDIsNTAsMjEsMTEvKzM6NTMvOjUxLDI1LDExLy04OiwsLDIsMiwyLDQyLDEzNSwzLCwvKzEwOjUwLDI4LDExLysxMi8tMjo0NiwzNCwxMS8rNDosLDMsLCwyLDQsMjcsMTUwLDMsLC86Nyw3LDIyLDQ2LDExLDk4LDMsLC86MjQsNTksMTEvKzI6LDIxLy0xOiwxNCwzLy0xNjA6LDMsLDMsLDczLDI1LDMvKzg6MTU2MS8tMTosMTM3MS9oSFV1Z2QvY3hVNnJiL2ZacDBlZC8rNDQ6LCwvKzI6NC86NC8rNjosLDcxLDE3L0RjWWVuYi8tMzosOTEvKzg3OjQsLys1OiwzLDIwLDQsNzEsMTEvLTI6MywyNiw3MSwxMS8tOTU6LCwyMDgsMiwsLC8tNTo5OC8rODo5LCw4OC86MTMvKzM6LCw2LDUsODUsMTE4Ly00NjoxMTMvKzEzMjo0LDUsMjcsNzEsMTEvOjQvKzI6LCwyLDUsMjgsMTgxLDMsLC8rMi8tMTQxOiwsMyw0LCwyMyw5OS8rMzoxMjMvKzExMy8tMTA5Oi8vKzExMTovLTExMzosMiw4LDEwMi8tMTosNiwzNC8rNDc6NSw5NCwyMSwxMC86MTMxLzoxMjEsMTEvOjExNiwyOC8rNDU6LDk0LDMsNSwsNi8rNTM6LDQ1LDIsMyw1Ly05NzosMzgvKzk4OjEyNiwxMSw5NiwyLDMsLC8vamNYa21jOjIsLDQsLCwsNiwyNCwxNTU5L0hxZVhQZC9jbWJuSDoxNjA2Ly9rbDJHWWI6LDIsMTYwNS8vSDZ1UUVkOiwyLDQzLDEyMCwxMzY0LDgzL3pQUkNKYjoxNjExL1JETkJsZi8vUzg3V3BkOiwxNjEzL2gzTVlvZC9ENVptZmQ6LDI5Mi8vZVFFenJlOiwsNCw1LDE0MCwxNDksMTMxOC86MiwxMC8vdUVpNGVkOiwsLDEwL2VPM2xzZS9uRkNscmYvLy9uYjUwbjosLDYzNi9yeDh1ci9Za1F0QWYvKzE3Ly0xNTosNDAvKzcvOi8rNC86Ly05OiwyLysyLys4OjEzLyszLzosOS86MjAveUdrNHlmOiwsMiwsLDUsNCw0LDE1NSwxNTIvZ2hpbklkOjE2NDIvYWYwRUpmLys1Ly00Oiw2LDksMTYzLDE0MzYvKzI6OSwxOC8rMzozL21KbWJvZDosLCw0LDEzLDcsMzA1LDIsMy8rMzoyNS9UMTFwUGU6LDIzLDE2MjYvVXN5T3RjOjE2NTEvYkRYd1JlLy8vZjc2bXVlOiwsMTAsMywzMjUsLDEzMTQvL1ZZa3p1OiwzNzYsNzAsMjQ0LDk2Ni86Mzk4LDExODAvWVA0bVVjOi8vOiwyLDM5NywyOTUvQTVJank6LDIvL1p2RlVXZTosNjkyLDcsODg0LysyOjI5MiwyODgsOTMvLzosLDI1MiwxMjAsODMsMTE4LDQzLDgwLzo2MTksODAvL0VrZXZYYjosLCw1NjgsMTAxOS8vYWFCb0FkOiw1NDUsNDEvLzo2ODEsMjIvOjU5MS8vL2RpelJHZjosLCwsLDMwMSwxNzYsNjQsMjQsNzk1LDIzMy8rNC8rMy8rMjozODEvLTE6LysyLysyLy0xOiwsMTcwNC8rMi8tODosLDMsMiwsOTU3Lys5Ly9yMlg0NWI6LCwsNjcwLDkzNy9EMXZqMmQ6MjUsNTgyLDMyLDgxLDg5MS8rNC8vLyszOjE1NDYvKzUvLy86NjUwLDgwLzoxNDI4L1NWZGJoZDosLCwsLCwsLCwxNiw4LCw1MzEsMjgsOSw0Myw2OCwxNyw2NTgsNDAvL1V3dHhRZTosMTM4OSwyMzMvL1B3QmpEOiwxNjI0Ly86L3FkRTJHZjosMywxMywyMywsNTY4L2JTeXZkYzozLDczNSw4OTEvLzovZVRwUEdmOiwyLDQzL1dBc0JmZS9tZzVDVzoyOTIvLzovOjIvKzIvOi8vOjMvOjIsLDIvd3cwNERmOiw2LDI5NC9wajgybGUvL3dKcXJyZDovL0pabVc5ZTosMiwvRGtrNmdlLy86NjYvOjU1Ny86LDY3LDQ4Ny86NjksNDg4LDQvKzIvLysyOjMxOCwxOS86Ly9ET2VrQ2Q6MiwyLCwsLDIsLDMsMiwzMTAsMTgsMjEwLDg4LDEyOCwyNjAsNDYwLDE3MS86MzEvalNBbnpmOiwsMzEvLy9MakE5eWM6LCwxNjYzLy9TWlhzaWY6LDY2MSwxMDA1Lzo0Mi9GUUZOYmM6LDQ0LDEzLDIzLCw1NjgvL1oyQnhYYjosMTY3MC8vYW11UTliOiwxNjcyLzo0OC9BNXl4SmM6LDIsMiw1OSwyMywsNTY4LysyLy0xOi90dVE2dGY6LysyOjMvdVdPYW5kOiwsMTM4LDE2MDQvKzMvOjYvQmxSZGRlOiwsMy8vLy86NSwzL1phS0VvZDosLCwsLDMsNjMsNTAsMjA0LDM5NSw3NzIsMjUsMTcxLDc5Ly9RcnBzTWM6LDMyNiwxMTY3LDI1LDE3MS8vLy86LC8vKzM6NC86MzEzLy86LDUvOiwyLCwsLDMsMTg1LDU3Ni86NDE2LzosMzE5Ly86LCwzMzIsODg2Ly86MzM2LzoxMCwzMDgvKzIvLTE6LDcsMzA2LDEwOCwzLCwsMTIzNC8rMjozMjgvOiwsMiw1LDQsMzA3Lzo5LzosLDUsLCw3NzQvKzI6MTc5Mi8tMTosMjksMTU3My8rMjoyMDUvKzMvLTIvKzMvLTIvZXBZT3g6NSwsMiwxMywxNCwyODgsMTA4LDEzNjUvKzMvOiw3LDI4LDMyNCwxMTUzLDI5NC9xQlNKcmI6LDE1MTIsMjk0LzoyLDM5LDMsNCwzMTIsOTYsMzgzLDg4Ni9DVzVGWmU6LCw0Ni86NSw0Ni86LDIsNTEwLDMyNCw3MjAvbHBzVUFmOiwyLy86LDUxNSwxOCwzMTEsODg2L1k5dDlTYzosNTMzLy86NTQwLzosLDUxOCwyMCwzMDQsNSw4ODYvdW5WNFQ6LDUzOS8vdVBVeUM6LDYzNCwxMTAzLys0Ly0xOiwxODYsOC8tMTosMzQ4LyszOiwxODcvU01xdU9iOi86Mi8rMy9kNUVoSmU6LCwsMzg5LDIyNCwxNjEsODAsOTY5LyszOjUvOjcvKzI6LDYvLTE6LysyOjYvLzosMiw2LC8vengzMFk6LCwyLDQsLDc0Miw4MDgsMTk2Ly8vL2dTWnZkYjosLCw2LDM5NiwzNDksOTEsMjMsODkxL0tIMGxiZjo0MDYsMTM1NC8vKzM6MjAvLzo2OTQvVDFIT3hjOiwsLCw3LCwxMzYsNSwzMjUsMTAzOCwxNDAsMTczLy9mQ3hFRGQ6LzoyLDMsMTgvL1dvM244OiwsLDIsOCwyLDczNiw3L1JKNHRUZDo4ODAsODkxLy8vLy9GR1NJeWU6LCwsLDE4NTIvL0dqMVNIZTosMywyLDE1NzYsMTk2Ly9QUkE4VWQ6LDYsLDE1NzYsMTk2Ly9EZXc0bGQ6LDcsLCw2MzIsMTE0MC8vdVA1akM6LDksMiwxNTc2LDE5Ni8vQVRZMzllOiwxMiwxNTc3LDE5Ni8vOiwxMi9LdE42RmY6LDEyLDUsMjksNzc0LDc3Mi8rMi9kbFJjZmI6LDE3OTAvOjUwL05QUlZQYzosMjcsOCwyLzozMSwxOC86L0xlOWRXZTosMi8vOjQvU2lQdjljOiwsNC9OMzFSaGQ6MTgwMC86MTQvaTFNWFU6LDMwLy9zQmF3Q2I6LDE4ODMvOjIveWZpMXliOiwsMTYwOCwxOTYvLy9jNmhtT2M6LCw3LDQ0Ni86Ny93Q1JQRWU6LDYsMTgwNC86MjUveEN3UUllOiw0MS86MjcsNDIvbThITTc6LDQzLDI1LzoyOS9nT2hEZGM6LDQ1LzozMS9iY0w2bWM6LDMvOjMzLDQyLzo3NTAvOjc1Mi8vOiwsNjAyLDE0OS8vKzI6LDkwOC93UDdnamY6LDIsMywsNS86ODMvSk40dlNkOiw3My86NjcveWdFVjJjOiw2NSwxOCwzOTMsMTM1NC8vUDEwT3dmOiw3OSwzOTksMTE1OCwxOTYvSUpxTk5jLysyL0ZOUWFDYjovbHdHUWdlL3BCWXh5ZDo3MjEvLy86MTgzMS9jTXFaN2M6LCwsNTA4LDIsNiwzMDQsNywxMDEsMjAsODkxLy8vUklTYWhiOiwvLy9HZ3ZleWM6LCwzLDE4NDMvOjEzLzoxODAyLysyOjE2L2NKTWN2ZTosLCwzLDUyMyw0MzIsODkxLDY0Ly9MczJNbWQ6LDcsMTg0Ni8vcmVad0E6LDk2NCw4OTEvL0drQ282YzosMTQsOTI5LDIzLDg5MS86MiwyMi92ckUwS2M6LCw5LDE5MTMvOjI0NCw1LDI3Ly86NiwxMy92S3ZSZmQ6LCwsMywxMy8vLy9iOE9aZmY6LCwsODkwLDExLDUyLDkwLzoyNS9IbWFNcGI6LDMsMjEsMTg0NS8rMTMvLTExOjkzNiw1NzUvLy0yOiwsLDY0LDczMiw5LDEzOCw0MzIsMi8rMTM6Miw3OTgsMTM5LDgsNDI3Ly0xMDosLDE3OSw0LDMwMS86MTgyLDc1OS86Lys1Ojk0MywxMC8tMTosODA0LysyOi8tNDosMyw1LDYsMTA0MSwsLCwsLC8rNy9mRkJNZ2Q6LCw2LDE0LDExLCw3MDksNzIsOTMsODUvOjUwL1JGc0dPZDosMzYsNiwxOTA3LzoyL3BzUGkyZDosLDE5NjYvKzQ6MTk0LDc1OS86LDE2Lzo5NTUsNDQ5Ly8vLTc6LCwsLDEyLDcsNjQsNDE3LDIyNCw5MSw5LDEzOCwyNTIsODcsMjcvOjgwMy8rODoyLzo5NjEsNjU3LyszOjgyMywxMzkvLTI6LDksMTIsNCw0ODMsODczLC86MjcsMTc4LDQsNzU1LyszOjIwLDgsODA2LDk0LDQ1LDQwMCwsLCwsLDIsLzoyMSw4LDczNSw1LDIwNSwzODcsMiwsNS86MjIsOCw0ODMsMzIzLDE1MSw0NTEvKzI6NjkvSkk5Y0RmOiwsLCwsLDIsLCwxOSwxNCwxMiw3LDcsMTg0LDU0NSwxNCwxNyw3LDM4LDEyMywxNyw4OTEvOjQ3L2dxcDAzOiw0NiwyMyw1MTQvLzo3MS9XYTAwdWU6LCw3MSwxODM3Ly86MjUsNDMvV0tmOERmOiwsMiw1LDE2LDQzLDgsMyw1MDMsMiwzNCwyLDc5LDE5NSw3LDk5LDkxMy86NTUvRTZXQ3hkOiw1NCwyMy86NTcvRk1BRjViOiw1NiwxNC8vUEFHamY6LDEwMTAsOTA4Ly9tUG5Hc2Q6LDE5MjAvRVlIVnJlLzozNi9QVkhKTGU6LCwxMSwyMyw1MCw4MTksNywxMDEyLy8veGM5azBiOiwsMTkyNS8vV09uQ0I6LDIsOTIwLDEwMDYvL002UWdCYjosNCwxOTI2Ly8vdVduRm86LCwyMDcyL2FyVHdKOjIvYVo2MW9kLy9IMU9uemI6LDQvL2hzcEREZjosMyw2MTcsMTM5OS8vRW94MzlkOiw5NTAsOTkxL2dIaFNqZDoxMDcwLy9KZklOZGY6LDgzNyw5LDExNzgvOjIvbHhCSlo6LCwyLDE5NDMvLzozL1pieThyZjosLCwyOTUsNTQwLy9FcWR0ZGY6LDE5NTEvL1ZXZVNXOiwxOTUzLy9USk9GamI6LDEwNjQsODkxLy9hNDhTb2Q6LDE1MCw3MjMsMTkzLDg5MS8vL085U3FIYjosLDYxNiwyNTksMTA4NC8vL2E5OXdaOiwsOTQzLDcsMTIxLDg5MS8va2hrTnBlOiw4ODEsMTkzLDg5MS86Mi9YOU9meGY6LC8vVUJYSEk6LDE5NjkvOjIvUjNmaGtiOiwvL3BqRFRGYjosMTA2NS8vKzIvLTE6L2ZnMVZROiwyL3BOc2wyZC9GazBCcGM6NS8rMi93Sk1QaGU6LDQsMi9MTEVvSmM6OC9nc0pMT2M6Myw0LDIvajlZdXljOjksLyszLy8vOjE2L0tneGVOYjosLCwsMTIsMTEsNCw4ODksMTA2LDczLy9sbGxRbGY6LDkwNywxNzYsMTcsODkxLysyLy9uN3F5NmQ6LCwxMTAyLDg5MS8vSFBHdG1kOiwsOTExLDExMC8rMi8rMi8tMTovdUxZSnBjOiwyLDQsMTEwMyw4OTEvKzMveG95MElmOiw4ODUsMTgwLDkzNy8rMy86LysyOjIsMTkxOS8rMjoxOTM5Lys2Ly0xMzosLCwsMTk0OCwyOCw4Lys4OjMvLTc6LCwxOTYwLysxMC8tMjosLzoyLys0OjIvKzEwOiwsMTEwMi86MTQ0LDE3OCw0LDc1NS86MTQ1LDE3OCw0LDc1NS8vbDlUOHJjOiwsLCwxMzcsMjM3LDYsMzQ0LDEyNiwyMzgsMzcsODkxLy93YVpZbDosNSwxMTI1LDg5MS9FOU02VWMvSW9HbENmLy8vQzhIc1A6LCwsMjAyNC8rNS8rMzoxOTYxLzoyMy86MjcwLzoyNS8vKzEyLy0yMjosLCwsLCwsNDEzLDI0NywxMTI1LDE1OCwxMywyLDEzLCwsOCwyNSwsMyw2Ny8rNTo4Ly00OiwsMjUsNjQxLDEzMTAsLDEwOC8rMjIvLTU6LDE3OTAsMTYzLDU3LDc3Lys2Oi86MTUvKzMvLy8rMi8tMTosLDksMTAwOSw3NzgsMTYyLysyOiw5LDE3ODgvLTY6LDQsLDIvLTE6L3ZaeVhjZDosOCwxNC8rMTM6My86L05PODRnZDovLzovKzIvL2dPVFkxOiwsLDMsMjUvbWE0eEcvLyszLzovLTM6LDIzLDM0Lys1OjMvLTQ6LC8rNS86LCwxMSwzL2I1bGh2YjosNywsNiwzMCw0ODMvOjUsMi86OS86Ni86LDIsMjAvOjIsLC86OCwxMSw0Ly9FTzEzcGQ6LCwsLDUsOCwyLDMyLDIsOTIsNjE5LDIyOCwsNjQsNywxMjEvQlU2Q09lLy9lSFJERGQ6Ly9Cb1prODosMTA2MSw3LysyLysyLzoxMTUwLysyOjY5MC8rNDoyMDI5LCw5Ly0xOi8tMTosNSwyMDYxLys2Ly05OiwsMywsLDEwMTYsMTQwLDg2OC8rMTA6NDQ2L1NwNjlPOiwsMzAsNDEyLDY4OCwxMSwxMy9Pdnh0MGM6MjA5My8vL1J6WjhjZDosLDU1NC86NTcvOjIwL25mWjc2YjosLDIsMiwxMywvOjkvVkNBbnVjOiwsNywzMyw0MDEsMzQxLy9nODFNRTosMjE4Mi8vUmRnZG5lOiwxOTA4LDE5Ni8vRjYxdDBlOiwyMTA2L2VBUjRIZi8vbk4yZTFlOiwsMjE3Mi86Mi9uUXE2U2M6LCwxMDI2LDEwODQvLy9mY0RCRToyLDIxMTMvL3FXeDM1OiwxMjI1LDg5MS8vLy8vKzMvOjQ4MywvOi86LDIsOTA5Ly01Oiw0LDI4MC9lWjlYT2Q6LDYsLCwxMjA1LDY4MCwzNywxOTYvSHhiU2NmL1dQMTI2Lys3L2JPQzh2ZTosMiwyMTI4Ly9jNE1FSmY6LDEyNDEsODkxLzo0OTgsNzQ1Ly9CeDhZdDosLDQ5MiwxNjQyLy9kSkJpTWQ6LDEwNTMsMTkzLDg5MS8vTFBlbDNiOiwyMTM5Ly8vL3c0VXlOOiwsLDEyNTAsODkxLy9zQloyZDosMTA2MSwxNzYsOTA4Ly9tbFFoZWI6LDIxNDcvL2FEVkY3OiwyMTQ5Ly9UNVZWOiwyMTUxLy9nZjFKUjosMjE1My8vSENwYm9mOiwyMTU1Ly9GYmFMdGM6LDMxOCw4MjAsNywxMDEyLy9JaUM1eWQ6LzoyLy9BQml1QjosLCw4NjUsMzg0LDkxMS8vV0NVT3JkOiwyMjQ0LzoyLDMvTVNGanZkOiwsMi9EaXlhbWYvOjg1MiwyMTcsLy8rMjo3L25ZQ25FZDosLCw0LDMsMTA1NSwxOTQsNzE3LDI1LDE3MS86OS9hZUNURGY6LDMsNSwzLDEyNDksNzE3LDI1LDE3MS86MTEvUUp1b1JlOiwxMCwxOTY5LDE5Ni8vLy9PNnk4ZWQ6LCwvKzMvOi8vKzIvVkJlM1RiOiwsLDEyMTUsOTU3LDEwLzoyMTc2Ly9BNFVUQ2I6LCwyLDMsMTIxNCw5NjcvYVczcFk6MTIyMS8vd0dNN0pjOiwxMjIzLDk1NywxMC8vVjNkRE9iOiwxMjI1Ly92MlA4Y2M6LDUsNzQzLDY3LysyOjkvRmJiYWtlOiw4LDYvLzo3NTYveURYdXA6LCw5ODUsMTA3LysyOjMvcEEzVk5iOiwvOjE2L1ZYZGZ4ZDosMiwxMyw3MzgsMjM3Lzo3Lzo3NTcsLDIsLDY2LC9NOU9RbmY6LCw1LDIyMDAvKzI6NS9hS3gyVmU6LDQvVVZ6YjljLy9XMGZwZzosL0l2UFo2ZDo5MjEsMjI1LDgzLDI1LDQ3LCw1Ly94TTV2dmY6LDIxMTAsMTY4LzoyMTcyLysyL2hMTEdyZTosLDIxMTIsMTY4LysyLy9NTmJtOGQvOjEwNDQvL29SR21UZS8rMi9PampQRGQ6LDIyODkvTlBLYUsvKzIvUFZsUU9kOi9MQmdSTGMvL1hWTU52ZDosMTAxOCwxMjAzLy9CVmdxdWY6LDUsLy9DSENTbGI6Ly9tenpaemM6LysyLyszL20yWm96ZjosLDIyMzkvOjg0MS8vOjg0MS8rMzo4MzYvKzI6LDc4MCw1My86NSw4MjUsMzIvOjgzMC86ODI4Ly03OiwsLCwyLDgyMiwxMzUsMywsLys5OjgyNy8vOjE2LDIvZm1rbGZmOiwsLCw3LDQsLDIsMi8rMjoyLDI4L2kzb2FPOiwsMjgvUkFublVkOjcxLDIsMTIxNyw3NTEsMjE2Ly8vaTVkeFVkOiwvLzosMy9OMGNxMDosMiwzLy9RcUo4R2Q6LDEyOTYvOjgyMi8rMjo2Ni96cUtPMWI6LCw2NCwyMjAyL2daamhJZjoxMDA1LDEyNTQsMTAvOjgwNSw1Ly9weHEzeDosLDkzLDkxMywxMjY0Ly8vck9EQ3o6LCwyMjczLzoyMjY2LysyOjg1L041THFwYzosLDIsNzAsMTEsNC8vblJUNktlOiw1LDIyNzQvOjgyOC86LDgyNi86LDgyNS86Miw4MjQvKzI6MTUsODA5Ly0xOiwsLDgyMC9mZ2o4UmI6LDEyLCw4NCw1LDMsMTk5Ny8rMy86L094VjZOYzovc0VVVjU6Mi9rNFhvOGI6My9PVFVTUGI6Ly95cW1yb2Y6LDUsMTM4MSwxMDQ4LC9RajBzdWM6Ny9KWFM4ZmIvcFBJdmllOjQsNSwyNDI5LC9wNExyQ2U6MTAvL2swVDNVYjosLzozOC9IZEIzVmI6LDI4LDksMjA2OSwyNSwxNzEvLzosODYwLy8rMjovOi8vOjMxMS8rNDo2LDg1My86ODY4LzovOi9LVGZNZmQvLTU6LCwzLDQvKzY6My8rMjozMTkvLTc6LCwsNiwyLys5LzoxMC8vLy8veVBEaWdiOjUsMiwxMCw2LDMsMyw5LCw3NCw2NzMsNTgwLDc0OSwzNTIvOjIyMjUsMTEsNDMvL292SUJWOiwsMjM5MS8vKzM6Ly0yOiwzMzIvOi8rMjo2LDE5Lzo0L1hIWGtxYjosLCw0LDMvT2w5N3ZjOi8rMTA6OTE0LDMvLTg6LzozMyw2MDUsOSwzMjMsODc4LysyOjM0Lzo2MzQsNywzMDUsLDEwLDk4LDMsLCwxMjM0LzosNjM1LDUsNCwzMDcsMy86NjQ2LDUsMjk3LDExLzosLDIsLDgzNCwxMzUsNDQxLysyOjgsODY0LDIvOiw3LDIyOTYvKzQ6OTc1LzovLzosOTYxLzo0LzosMTQvOjYvLzosNjU3LDMwMiwxMS91MU9SbmYvLTEwOiwsMiwsMiwyLDIsMiw4MjMsMTQwMi8rMTEvLysyLy0xLysyL0dob25mOjYsMjQzMy9wNHJRNC86LzoxNDMzLDg4Ny8rMjoyLy8rMzoyMi8tMjosMTAwMC8rMzoyNC8vOjI2Ly00OiwsLCwyLCwsMTYsNSw4MjQsMTUxLDI5OSw5NTAvRk9PYUdkOiwyNDUwLys2OjI5LzosOTU4LzovOiw5NTcvKzI6LDkwNy9yTEkzZ2MvLTE6LCwzNSw4MjQsMTM5OC9LRGdaMWU6LDI0NTgvKzMvKzQ6OTQyLy8rMTUvOjIxMTUvLysyLysyOjE4ODkvLy8tMzosLCwsODQsOTI1LDU1MSwyLy0yNjo5LCwsMTksMTYsMTEsMjI4Ny8rMy86MjI5MS8rMy86LDkyLDkzNyw4NS8rMzoxNCw4ODEsMTEwLDExLys4Ojk3LysyOTosMi8tMzU6LDYyLDk0NSwxMSwxNCw4NCwzLCwvKzI6NTcvOjU4LysyOjU5Ly0xOiwvLTM6MTAxMy8rMTcvKzI6LDQwMiwzLy8vLy0xMi8rNjo2LDQwMiwzLys5OjI1LDk5NiwxMS8vKzM6MjUvLysyOi86NDE0LDMvLTk6LCwyLCwsLCwsLCwsMTYsNTQsNDQ4LDE5NSwsMzA2LDMsNDU4Ly0yOToxNSwsMywsMywzLCwsMjgsMTcsNCw4MjUsMTIzLDUsMTI2Ny8rMTEvKzI5OjI3L1MzelI2YzosMiwyNDk5LysyLy0xOi9NMWtUNWIvKzM6LCwyNSw2LDE3LDMwLDUsNCw4MjAsMTQ2MS9LUkxFNWM6LDUsMjI5NywyMDQvKzExOjUsMjMzMSwyMSwyNSwxNC8tMzoyMzkyLysxMjoxMDEyL1dUak9kYy8tNzosLDg1LDk0MCw0MCwxMjk0LDEzLysxMTo5MC8vLTY6MjMzMyw0NC8rMjo2LDEwMzksMTEvOiw0LDg2LDg4NSw5NSwyOTkvLTE4OiwyLCwsNCwsMiwyMiwzNiwxMDA0LDEyMzgsNDIsMiwyMCwsLDE4LDIzLDc0L3E0bm9PZTosMTcsMjUwMS8rMjQ6OTcvOiwxMDYwLzo5OS86LCwzOCw0LDMsNTAsODI5LDEzODkvU282T2RlOiwyMiwyNTAxLyszOjIzNzQvLTE6LDIzNTEsNDAsMi8rNjoxMDI5LysyOjEwMDQsLDIsNjcsLy0zOiwxMDUvRVFsMWVlLys1Oi94aDlEa2IvKzI6Ly86LDIsMTAwOCwzLCwsLDYzLzosMiwxMDAzLzosOC8tOToxMSwxMDU2LDExLy01OjIzODkvKzE1Oiw4LDg3LDk3MywxMSwxMzA5LysyOjUsOTgyLzosNC8tMjE6LDIsMiw5LDMsOSw5NjgsMTg3LDIsLCwsMTE4Mi8rMjI6MTIxLzosLDIyLDkyNCwxMzg2L1BsbUVnZDosMjU0NS8rMzoxOC86MTI1LzosOTk5LDIsMTg1LDIsLCwvKzI6MTI3LzosMTIwLDUsMTAsOTE2LysyOjEyOS8tMToyLDEyMCw1LDYsODcxLysyOiwvOjExMDAvLTEwOiwsNSwyLDQsNjAsODg2LDEzODEvdWxBYzEvKzQ6LCwyMzQzL1RsNG9IYjosMjU1OC9ndGpkZ2QvKzEwOiw5OC86MjQ0Nyw1LysyOjIsODUsMTAwNi8vdWdqVjBkLy02OiwsLCwxMyw2NiwyMywzNCw2NDMsMTg2LDE0MTksMTAvTUNubk9kOiwyMzUxLDIxNS9QbXZNQ2I6MTIsMjMzOCwyMTgvKzc6MTQ2LDQ0L1JxVnlvZi86LCw4Niw4ODYsMTM3Ny9nOG5uWWQ6LDI1NzEvKzM6MTk0Ly8tMjosLDE5Myw5MjUvKzM6MTEyNy86LzosMTA4NywxNC8rMjosMTAzNCwyLDcxLDExL2NuWUtLLy0xOiwsNCwxMSwsNDcsMzMsMjMsMzQsODI5LDU2LDk1LDEyNzgsMTQvWlB3M0liOiwyMzU5LDIyMi9ZSXRxTGIvKzQ6LDIsMTAsNSw4LDEzLDIyLDUsMTksNDEsOCwxNywyMjA5L0YzTjNMYzosODMsMjUwMS8rMjoyNDE3LzoyNDE4LysxNzoxMDYyLzosMTYzLDg5MiwzNC8rNToyLy8tNTozLDE2Myw4NzEsNi8tMTc6LCwsMTczLDIyMjcsNzUvOjgyNiwvOjgyNywvOjgyOCwvOi86LDIsLDgxNyw4LDMyNCw1NTksMywzLDMsMywzLDMsMywzLDMsMywzLDMsMywzLDMsMywzLDMsMywzLDMsMywzLDMsMywzLDMsMywzLDMsMywzLDMsMywzLDQsMywzLDMsNC86ODMyLDI5NiwxMS8rMjosMTgwLDY0NywyLCwzLDE4NSw1NzYvKzI6MiwyLDE3OCw2NDcsMiw0LDE4NSw1NzYvOiwsMiwxODAsNDcyLDUwMC86NSwxMjkvOiwsMTA4Lys1OjE4Mi96Q25jdmIvKzEwOi86MiwxMTU3LzosLDExMDUvLTQ6LDE4Ni8rNTozLDEwOTYvOiwyLzosMiwxOTcvLTE0OjEwODgvOiwxMDY1LC8rNDoyNi8rMTE6NSwxMDYwLzosNCwxOTIvbVdjSGNiLy0yMjosLDIsLDEwLDEzLCw0LCwxMzAsOCwzMSwyMzAyLysyMzoxOTgvOiw2MCwxMDEvKzM6MjAwLzoyMjc2LzoyMzYsOTE4LDExL09iYkc3ZC9pemlkYWYvOjIwNS9ha3BNUGMvTmhvRktmOiwsLCwsLCwsMiwxNiwxMSw5LDgzLDIyNzQsMjI3L3Z2TUdpZToyNTU2LysyL3JDY0N4YzovLy9ERlRYYmY6LCwzMTQsNzgwLDU0LDE0MTEvL2R0VDhwZDovLysyLy8rMjo1LDMyNS9QOGVhcWM6LCwsLCwzMTYsOSwyMjMzLysyOjIsMzA2L2Uyam5vZTosLDMxMS8vLy9IbUVtMDosLCw1LCwsMTE4OCwxMzc2L3B4YWZPZDoyNTc1LysyL3V1N1VPZTosOSw3LDMwMCwzLy86MzE4LDMvLzoyLzoyMi9zb0h4ZjosLCwyLCwyNjk0Lzo1Ly9uS3VGcGI6LCwyLDIsMywyNjk0Lzo4LDQyMC9vZ1ZOcmQ6LDUsMiwzLDQxNywyMjc3LzoxMC94emJSajosNywyLDMsMjY5NC9KbnlxcmM6MzUvL0NkVmJtZjovKzMvLy86My8vL1pha2VTZTosLCwsLDQsMyw3LDMzOCwxMjc1LyszLysyOi9IdHA5RGQvKzI6LzosMywxMTc3LDIvOiwzLDM1MSwvOjUwLDMyMC9nSnpEeWM6LCw5LDIsMzcsMzIwLDExMzIsMTIxNCw5LzoyL1BqZ1B5ZTosLy8vRUdOSkZmOiwsMTUxLDI3MSw1LDcyMiwyNDksMjk2LDczMy8rMjoyLDQyNS9pU3ZnNmU6LCw0MTIsMTMvKzI6Mi94N3o0dGM6LC8vOjcvdVkzTnZkOiwsNSw0MTIsMjIwMS86NDM0L1l3SEdUZDosMyw3LDMzNSw4OCwyMjg5LysyOjQvZmlHZGNiOiwzLy9ubFV6MGU6LDE1NDEsMTc2Ly9TTEg5SWM6LDE2NTgsODAvTHNOYWhiL3g5TjlpZS8vZVNaME9jOiwsLDE3MjEvdWNHTE5iL1V5RzdLYi8vWmhLQmhkOiwvd1FkMEcvKzIvOjEyLDIvL0h4dldhYjoyLCw2LDQsMiwxMzEzLDE4MywxNTUsMTEsODIsMzU5LDQ0MiwyMTQvLy9leWVya2M6LC8vOi9KV2tPUmI6L1lCN3RwYjoyL0ZNNVFKZTozLDI3NzEvdDFwZnJiOjQvZ0tEOTBjOjUvVnZMVlFkOjcvdzl3ODZkL1h3aFVFYjo4LysyOjI1NTQvOjQzOS8vOjE3NjkvbjBIQTJiOiwsLCw0MzcsMTA4OCwxNjEsMTA0OS86NC9UeTlMdmQ6LCwyNjU5Lys1OjMxNC8rMjosMTI4MiwxMTAyLzoyLDEyODIvKzY6MTY2LDE1MSw5NjgvKzI6MTY3LDE1MSw5NjgvLTE6MzE5LyszLysxMy8tMTQ6LC8rMi8rMTM6MzU2LDEwMzEvLTI5OjIsLDMsLCwsNiwxMjAsMTg4LDY0OSwxOTAsODksNTIsMTI2OS8rNzoxMiwxMjgyLzoxMy86MzI4LzosMzM4Ly00OjE3OSwxNTEsOTY4Ly0zOjE3LDE2MywxMTE5LDgyOS8tNTosLCwyLCwsMTAsMzA4LDE1LzozNDEsMzIsNTk3LDUsNywxOTMsNTc2LysxODozMzIsOTYxLzozNDUsODcsMi8rMjoxMjU0Ly0xOiw0MzYsMywsMiw4MDksMTQ2LDMsLC8rMzoyLDQzNiwzLCwyLDgwNiwxNDksMywsLy0xOiwsMTQ5LDI4NywyLDc3Mi8rMjosMTUwLzozMzQsNjU3LyszLyszOjE5LDMzOSwxNCwxMDMyLDMsLC92U3VrWmI6MiwsLDUsLCwsMzU5LDcxLDUzNCw2NDQsMTA2MiwxMC8vblRpQUNjOiwzNiw4MTYsMTg0MS86MzQ3LzosMzQ0LDg3Miw1LDgsMzk0Lzo0NDIveXdTb0ZiOiwsNDMsMzk3LDIwNjAsMTk2LysyOjQzNy9nb2NSdmQ6LDQyLDM5NC8rMjozNTMsMzEsMzEvL2FramVXOiwsMTg5LCwyMjQsNzQsOTE0LDEzLDMyNiw3NDksMTAsNDksMjM1Lzo0ODUvZGFuSEEvKzIvOjM1OSwyMDcwLy86MTIyMywvOiwsMTIwOSw2LDkwLDExOC8vOjMsMTIyMi86LCwsMTIxMCw4NC8rMzosMTIwOSwsNywyOCwxODEsMywsLy0xMS8rMTI6NDYxLDMyL2NkR0lCZi86NjIsMTcvL3BSaDBFZjosLDU5LDE4Ly86LDQzLDE0LDM2MCw4NTIvL0tVb0Z1ZjosLDY1LDI0NjEsMjUsNzAsMTAxLzoxMTYvOjM3OC86LzosMTMwNS8rMjozNTIvOiwsMTIzLDEyMzUvKzI6MzUxLDEzMC8vLTU6MywxMjQsOTAwL1JFdHg2YjosOCw0MiwxOSw3LDQ3LDExMDQsMTMxMCwyNSwxNzEvKzYvYk1OT2ZlOiw3OCwyNDYxLDI1LDE3MS8vRTRNakVmOiwyNzM3LDEwMS8vZFhlTWpiOiw4MiwyNDYxLDI1LDE3MS8vLyszLzoxODEzLy8vKzM6MjMxMiw0NCw2OCw2LzoyMjY1LDIwNS86MjA4OSwxMDksMTEyLzoyMjcwLDIwMi86LCwsLCw0MzksNjA0LCw5LDMyMy8tNS8rNi86MTM2MC8rMjgzOjEwNjIsLysyOjEwNjMsLysyOjIxMTIvKzI6LDM2NCw2OTAsODMyLyszOiwyLCwxMDUzLDMzMiw1MDEsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsNDg4LDUwLysyOjIyNzcsMTU0LDUxLzosLDQ1Mi8tNzo1LDE4MjcvLTQ6OCwyMzEsMTgwLDY0NywyLDQsMTg1LDU3Ni8rOS8tMjosLCwzLDM0NSwsNzAsNDUwLDUyMi8rNTosNCwxNiwsLDQwMi86NiwxNS8tMzA1OiwsMTIsLCwsOSwxMzQzLysxMzoyMTksMjA5LDIzLDIsNi8tMTosOTcsMzM5LDEwNDYsMywsLy0yOjk4LDEzMCwxOTIsOSw4MzAsMzksMTAyLDI5OS86NDI0Lys1LysyLys1Ly02OiwsLyszLy8vLTg6LCwsLDM1LzovKzk6Mi86My8rNDM6MTA5MS8rMzoyNjIsMTI5Ly0xOiwsMjU3LDEwOC8rMTQ6MjUwOS86LDIzNDEsMTY1LzoyNTA4LDMvLzosLCwzOTQsNzAxLysyOjIvOiwsMzcwLDIsNzUsMjU1LDM4MSwxMSwxOTEsMTE1Lys5OjI1MTMvdzc3SG4vOiwsMTEwMS86LDQ1Miw2NDcsMTkxLzoyMzUyLDE2NSwzLysyOjExMDYsL0lheWhMYy94aEl1eWQvTlhvWGVlLzosLCwsLDIsNSw2LCw0NzcsOTEzLysyLysxODE6MjUyNy8tMjE2OjI1MjgvOiwyNTI1LzoyLDI1MjUvOjMvKzI6NCwyNTI1Lzo1LDIxODIsNjYsNTkvOjYsMjE4Miw2OSw1NiwyMTgvRkFDWUJkLzosLCwsLCwsNDEzLDg3LDYwNSw5LDMyMy8rMzE6MjUzNy86MjMyNi86LC86My86MTEyNiwvOiwsLDI3LDM5NiwzLDg0LDkyNS8tMzU6ODEzLys4NToyNTQ0LzovKzQ3Ojc2Mi86Mjc0MC8tNTQ6Nzg4Ly0xMTAvOi8rMTY3LzovLTE4NTovKzE4Mi8tMTgzOiwsMywyLCw3NjIsMTcsMzgsMi8rMTgyOjIvKzc6MTEsNzYwLy01OToxMC8tMTIvKzg6LCwsLCw0MjMsMzQ1LDE3Ly0xMDE6NTA5Lys0OjI3NTQvKzI6Mjc5MiwvLTkvKzEwNy8tOTk6LCwsLCwzLDUwNSw1ODIvKzEwNDosNi8rNjoyNTY1Lys1OiwyNDI3LDQsMjAsOCw2LDYvKzI6MjU2Ny86LDI0MjcsMiw0LDIsMTgsOCw2LDYvLTEyOjI0MDQvOjI0MDUvOjI0MDYvOiwsLDIzNzcvKzExOjI1NzMvOjI0MDksMTY4LzosMjU3MSwzLzoyNTc5LzoyNTc0Lzo0LyszOjUvLTE1OjI1ODAvKzE2OjI0MTYvOjI0MTcvOjI0MTgvOjI1ODQvOjI1ODUvOjI1ODYvOjI1ODcvOjI1ODgvOjI1ODkvOjI1OTAvOjI1OTEvKzI2OjE4L0h2a0hBYi86LC9UV3l3Z2QvSzAycjNlL25TOTB1Yy8tMjY6LCwsLDMsLCwsLCwsLCwsLCwsLCwsLDIsMiwsLDIsMiw1NiwzOTksNjk5Ly00OToxOTIyLDQ4NSwyNy9CZ1h3ZGQvKzIzOiwsNCwyLDEzLDgsNy8rMjc6MiwsNCwxNSw4LDcsMjU0OS86MywsMiwsMywxMyw3LCw2Lzo0LCw0LDIsMTMsOCw0LDIvdFJJNWUvQlJNTExjLy00OTosLDUsLDkwLDEwODgsMzMyLys1MjoyLDcvKzI6MjQ0NC8tMTo0Lys0MToxMjAwLDEyMzEsMiwyLDIsMiwyLDIsMiw0LDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIvLTQ6MjYxNS86MjYxNi86MjYxNy8rNDoyNjE4LzoyNjE5LzoyNjIwLzoxMiw3LDIyNTcvOjIyNzcvOjIyNzgvOjIyNzkvOjIyODAvOjIyODEvOjIyODIvOjIyODMvOjIyODQvLTE0NDo5MiwveUZHOWdlLysyOiwsODgvKzEwOjk2LzosOTEvKzI1Ly0xNjoyNjM3LysyOjI2MzcvOjI2MzgvOjI2NDAvOjEyMTUsMTEsMTAzOSwyL3JFQXZyYy9GanZRc2IvUmNCTkovdUR3NE5iL0dReEFDZS8tMTI6LCwsLCwsLCwsLDEyNCwzOTYsODcsNjA1LDMzMi8rOTc6NTIvOjcxLzo3Mi86NzMvOjc0Lzo3NS86NzYvOjc3Lzo3OC86NzkvOjgwLzo4MS86ODIvOiwsLCwsLCwsLCwsLDI0NTMvLTIwNzosMTMsLDExLCwyLDY2LDYsMjQvKzIyNzozNCwyNi86MjY2My8rMjoyNjY0LzoyNjY1LzoyNjY2LzoyNjY3LzoyNjY4LzoyNjY5LzoyNjcwLzoyNjcxLzoyNjcyLzoyNjczLzoyNjc0LzoyNjc1LzoyNjc2LzoyNjc3LzoyNjc4LzoyNjc5LzoyNjgwLzoyNjgxLzoyNjgyLy0xOTosLCwsLCwsLCwsLCwsLCwsLCwsLDEyMzksMzMyL1FseUNwZS9DT2NNbmQvV0JZaDQvVnZTeXVjL0VJQ1g5L1hvNnlqZi9SNGtoOWMvRDFlZG9kL09MSE5BL0VPZllHL0p6cUV6Yi9IV3A0TC9PcUFLR2QvWEcwMnBkL1FUNm95Ly0yMzA6LCwsLCwsLCwsLCwsLCwsLDIxLCwzMiwyLCwsLCwsLCwsLCwsLCwsLCwsMywsLCwzLDM0LDIyLDI3LDUsMzgwLDE2LDE3MTUsMTI3Lys3OToxNTksMjk1LDE4MCw2NDcsMiw0LDE4NSw1NzYvLy86LCwsMTU4LDI4LDM3MSwyLDUsLCw3MSw5NTMvLTgwOjI5NTEvLTEwOi8rMTgvLTI6Mjk1NiwyLys0LyszLzovLTE4OiwxNDksMTA5MSwxNjY4LysyMS86MjczMy8tMTc6LCwsMywsLCwxNDEsMTQsMTQzNSwxMzA4LDEwLDE4LC8rODcvLTg0OjEyLDI5MzEvOiwyLys4NC8rMjosMy8tNjosMi8tOTc6MTQwMiw2NjMvKzEwNDovLTg6LDIsMTcsNzEsMTIwMiw2OTkvKzEwODoxNTgvLTkwLys4Ojg2LDM5NCw4MjYsLzoyMDcxLy0xMDosLCw3OSwxMzIsMzcxLDIsNzYsMiw4MzUsNDEsOTQsMjk5LDE0Mi8tNTk6LDQsLDI0LDE1NiwxNyw3LDQsMzcwLysyMDc6NjYwLy0yODE6MjI2LCwsOSwsLDIsNDYsMywyMywxNiwyNSwyMTMsNDEsMTYsMjksMTEsODY0LysxOC8rMy8rMjc2L2xnTk5IZjozLCw2ODgsMjEyNSwyNSwxNzEvL2ljZDRaZDosNSw2ODgsMzQsMjA3NiwyMTMvOjY2OC86LDEzMTUsMjc3LDU0LzosNjc1LDg2OCwxMDMvKzI6MTYzOS8tMTosLDkvKzI6NywzMTIsNDYsMTMvQWRZUEZiOiwsNSwzMTIsNDQsMTUsNDMwLDIyMTQvL2dsanh1YzosMzY2LDQ0MSwyMDIwLDI1LDE3MS86NDA2L3IxUk5LZDosNDA1Ly9CTWc5U2Q6LCwzNjksMjQ2MS8vSjdXWkhjOiwyNTgsMTE0LDMzNiwyMTI1LDI1LDE3MS86MzkyL2NWQm5BZTosMzkwLys1OjUxMCwxMjkvKzM6NjQxLDg2LDYwNCwxMCwzMTEsOTcsODIwLzosMTMzMiwzMzIsODM5LysyOjEzMzMsLDksMzIzLDgyOSwyLCw1LysxMDo1MzgvLTE1LzosNSwyNTAsLDI1NSwxMDgsMTAyMS8rMzo0LCw2MjEsLDY5LCwyLDgzNSwxMzUsMjI3LDYsNSwyMDMsMTQvRHF6a01lLy04OiwsLDIsNjgxLDUvLzoyNTU0Lys4Ly86MywyNTI1LzosLCw3MzgsNjA0LCwxMCwzMjIvKzM6NTUwLDE1MS8rODo1NTEsMTExOS8tNi8rMzo3MDQvOiwxMywyLDY4MSw1LDEzNSw3NTAsMzk0Ly0yOiwxMS8rNS8tODosLDMsLCwyOS8rOTozODEvOiwzODAsMzI3LDkyOC8vLzovKzI6MzM0LDEyNTUvKzIvLy9wUTZtOGQ6MiwsLCwyLCwyLDgsNSwzODYsMTc4LDE1OCw3OTksMzU2LDk3MCwyNSw3NSwxNSw4MS86NDYwLzo3MjAvOjgyNyw3NDMsNi8rMjoxNTcwLzosLDgyNSw3NDMsMjE0LDMsLC9VSWNVOGI6LDMsLDM4NSw3NCw5MDIsMzExLDExODQsMjExLysyL0duTGg2ZS9xVVlKdmU6LCw1MTMsMjU2MC8vTEJhSnhiOiwxNTkwLDE0ODYvKzM6NTE2LDMyNS9jbnI4MmI6LDM2NywxNDUsLCwsMzI1LDc0NiwxNDg3Ly8vOiwzL0x4UTBROiwyLCw1MDQsMTYwOC8vVkJsNUZmOiw0LDUwOCwsNSwsLDI1NjQvR0k4aDc6NiwyLCw1MDEsLDE1LDE1OTMvOjYsNS86LzoxNTk1LDI3LDcxLDExL082MjZGZTosLDIsNTA0LDQsMjY5NS86NC9uRUlQbmQ6LDIsMyw1MDQsMjY5OS86Ni93OUM0ZDosNCwzLDUwNCwyNjk5Lzo4LDE0LDkxNC9nTlV4NWU6LDYsMywxMSw5MTUsMjI3Ny8vL3NrV3VpYzosLzoxMDYwLysyOjMwNTcvLzozMDU4LDcsMi86LDMwMTQsNi8vOjgsMTA3Mi86MTA2OC86LysyOjEwNzAvLTE6LCwxMDExLysyLzoxMDY0LzoxMDY1LzoxMDgzLzosMTA3MSwsMTk5OC9ZTklGUzosMiwsLCw0LCwsMiwsLCw3NjcsMjgzLDIyLDE5NDAvOjE5LDEwNzIvKzI6MzQ1LysyOi93T1VRajosMiwyLDIsLCwsMTEsMTA1MCwyMi86MTA5NS96Z3J1UWM6LDIsNCwyLCwyLDEwNjEsMjIvL3VKZmlvZjovL2tHcmNiOi9PR1BkQmM6Mi8vcUFaSGllOi8rMzozMjA4Ly0xOiwzMDE4LysyL0lZTTg5OiwsMTY2Niw1NSwxNSwxMDUsMTM2NS8vOi8vV21oMlRiOiwsNCwzMTMxLDgzLy9XNGI3aWM6LDYsMzEzMi9HcndtbGU6MjMyMC9aMTFiSGQ6MjMyMC94c281WWI6MjMyMC9HTFdsZmM6Mjg1Ni9Qa1p5ZmY6Mjg1OS9BenFLZDoyNjkwL2U3dGZyZjoyNjg5L2ozdEN2ZToyNjk0L0twNlpiYjoyNjk5L1ZsZGdxZjoyNzAyL2JFdmJDZDoyNjk5L21sRlFxZjoyODIyL0dJYXdnZDoyNzgzL0xzRFZFZjoyNzgyL21zUGE2OjI3ODcvU25rT2JjOjI4MjAvZ21sTXE6MjgxMy9SYk1YYWY6MjgxOC9DNzRoV2I6MjgyMS9Dc0NWVWM6MjgyNi9tNnV6bDoyODI5L0VFS3dkYzoyODIwL040ZnlTZToyODE1L2RUQ2owZToyODEwL1UyZzYwOjI4MTUvSnRUQ3lkOjI4MjAvZTc3UFJiOjI4MTUvYUY1WXg6MjgxMi9tQ05Ja2Q6Mjg3My95YkxmbmY6Mjg3MC9oRTE3bToyODczL2lvdDJFYzoyODc4L3BlcGIxZDoyODU3L1VuQmxrOjI4NTIvT2FZQXo6Mjg0Ny9sVTN1eWM6Mjg1Mi9TeVdQV2I6Mjg1MS9Pa3psbWQ6Mjg1OC9SMDE4UmU6Mjg2MS9XcWk1MzoyODcyL3k2YkdvYzoyODY3L1RGQ3NVZToyODcwL0VLOWx1YjoyODczL1V0ZU1QYjoyODc4L2FJY2t1ZjoyODgxL1lUVjVIYjoyODI0L0ViS05tOjI4MjEvYUV2WWVjOjI4MjQvUlE1SUhiOjI4MjkvZENvWklkOjI3ODAvSG90aEo6Mjc0Ny90SnZKM2I6Mjc4MC9QZmw2UmQ6Mjc4NS9SNWhoSGQ6Mjc4OC94NmRLaDoyNzUzL0FLTmlCOjI3Nzgva1Zwb3dlOjI3NzUvWGVBWmZmOjI3NzgvQkFwb2dmOjI3ODMvdlFQSkJiOjI3ODYvbXRwQm9mOjI3NzUvUlEzSzdlOjI3NzIvQzhVWEljOjI3NzUvWnpHU3dmOjI3ODAvSDg2dE9iOjI4MjEvTHJkektiOjI4MjQvUk5TakQ6MjgyOS9kR1c2cGM6MjgzMi9QN2xyZWQ6MjgzNS95NVBhYmM6MjgzMC9FbjVYUGM6MjgwOS90OEtpcmI6MjgxMi9mR3ZPWWQ6MjgxNS9oblZJQToyODEwL1BUMTFJYjoyODI1L1prZ0xYZToyODIwL0NlSjZJZDoyODI1L3psM0tLYjoyODMwL2JtV05nYzoyODMzL2ZFRXY1YjoyODI2L3FGQng4YjoyNzg1L3BnajFkZToyNzgyL0JmWFZvYjoyNzg1L2ppVmpXYjoyNzkwL2hvbHpaYzoyNzkzL2l6cDZuZToyNzY2L3MzeDFaYzoyNzY1L3d1aDBWZDoyNzMxL2p6RFFtYjoyNzM0L0JGTDhlYzoyNzI4L2Q5cnBtYy9pVm9EaS9MaHZXS2I6MjQwMS9VV1ZKVGI6MjQwNC9YYkVuUjoyNDA2L1RuSkdLYi9Tbm1FeGYvR3FqMmVjL3pTN1JNYi9laU11RWY6Mjk2Ni8rMy90SXhidjovZ2ZYRUcvekd6d2hjOjMvaHBUV1ZlL1NmSjdRYzoyNDMwL0R2ZVJOOjI1NTUvOjI5NzQsLzoyNTYyLDIxMy8vOjI5NzgvOjI2MjgvR0xHaGlkOiwsLCwsMzkyLDQwLDksMTksMTk0OCwxMzUsMTE0Ly8vSkJzeWRjOiwsMjI5NiwzMzMsMTc5LDE3MCwyLC9KUXBUbToyMjk4LDQ4NSwyNywxNjIsMy9kOGNEOGU6MjY1Ni86Mjk4MC9LMzAzUmM6L2JaNHBXOjI3MzAsMjUyL2laVW01ZS8vYWE2aGpjOi94VlJxUWU6Mjc0NS9Wbk42S2I6Mjc1MC9INzZSSWQ6Mjc0NC8vYWhmd3dmOi9qSVhwVmU6MjgwNi9PNlRCSi9GdnhJeWI6MjU4NC9tM3Y2OjI5OTkvdVNmNzM6Mjc5MC8vWGkxeHhmOiwyNDU5LDEyOSwyMjIvL3p0TnNVOiwyNzk2L2E3RWFHZi9NcnJCM2MvL3Z6cEpZOi92YmplZGUvZnVIaXdkL1RVbGt3Zi8vbjRoQ2xmOi8vLy8vKzIvL2FEOE9FZTosLCwsLCwxMTE3LCwxMDYyLDE5NCwyMiw2OTUsMjUsMTcxLy9ab1N2cmM6LDMyOTQvYno1S2NlOjQ3OS9qZEp4R2Y6NDc5L2cyNE1lYzozODkvOjQ4NC9PVlY1c2I6L0xTQmttZToyL09JZ0tuYzozL3VwUFhxOjQvbXp0ZmZjOjUvY3hOZ2tiOjYvc29hZjFjOjcvYk9KY1ViOjgvVWhYeU9kOjkvR01BVERiOjEwLy9id2l4QWI6LDMzMTAvLy9MeHhqRWQ6LCwxNDcxLDg3NCwzMywyMSwyMiw3MjAsMTcxLy9iNHhDSWI6LDMzMTUvVjJWQjo1MjMvL0RwZW01YzosMTEzOSw1OTEvLy8vL3MwajdDOiwsLCwyLDExNDgsNDQsOCw5ODgsMTYxLDU2LDYsMTgsNjU2LDM3LDIyLDMsMTcxLy8vOiwyMzIyL2lTWkk2YjosMiwzMzI1Ly9PSU1IeGU6LDIsMzMyNy92SktKcGIvOjI4NDkvRHFtT2s6Ly9EaFZRNWM6LDIyMjcsNiwxMTAxL0dSZUVDZC8vKzIvcENrVWliOiwsMzMzNy8rMi8vaHpyelVkOiwsMiwxNDQzLDI0Myw1NDUsOSwyLDkwMCwyNSwxNzEvL1FRNTFDZTosMjEsMTE1MiwxMjU3LDcxNywxOTYvcXpoTVdkOjI4OTQvL2wwU3RYYjosMTE3NiwyMTcwLy9aRHpSYjosNjAsMzI4OC8rMi86MjI4MS86MjQxNi8vKzM6NCwzMjkxLDIvOjIyODUsMTAxMSwyL3RsZlphZTosLCwsLDE0NzIsNTYsNzUyLDEwNzEvLy9lZUNYOGM6LCwzMTYxLDI1LDE3MS8vekduSkljOiwyLDMzNTgvL0I1TkxqZjosNzI0LDgxNSwyODMsNDY5LDU5OCw0NzMsMi8vSzVnRGdkOiwvLzozMDg5Lzo1NzgvS09WZ3lkOiwsLDMsMTY2NSwvZXhZblhlOjMvOjI4MzQsNTQsMTAsMy94aTQyM2M6LzoyODkwLDE5LDE4L0dKUlQ4Oi9iVHRISmU6Mjg0NSw1NywxMTIvTnBrNWJmOjI5NjEsMzAsOC8vbWVYMmVlOiwyMzcyLDEwMDUvL2kySmlGOiw4LDMzNzEvKzIvL1lQUmxuOiwsOCwyLDMzNzEsMTAxLy9lQllQUDosMiwsLDIsMjI3MSw5LDkwMiwyNS8vSDNFbXU6LDE1LDMzNzEvL3ZMZHdBYzosMzE5MiwyNSwxNzEvOjIvcmRmR046LC9DQ3dOSWU6OTMvdTZBQ1BiOjk0Ly8vOiwyMzY3LDI0L3pVQm43YjosMiwxMjMwLDEyNzMsODkxL0Y1ekVNOjI5NDcvKzMvZjd0MFdjOiwxMjI5LDExNjUsMTAwNS9SS0dWWGI6NDgxL210SUVrZTo0ODEvWTJ1QnlkOjQ4MS96czlmOWQ6NDg1L2FnQ09EOjMxMjgvWW1VZWFjOjQ5Mi9QN1lzYmI6NDg0L2gyS3VsYzo0OTMvWmdLY2VlOjQ5Mi9CQ1V4STo0OTQvLy86MTgwOC86MTgwOSw4LzosLCwyMTkyL3lmbU45YzosNCwyNDA2LDcxLDkzNC86MTQ3My9xV3NYT2M6LDE0NzIsMiwxOTQzL0U5ZEo4YzoyNTQ2L1I5V1BtYi9Sb2lGYzo1NzUvWlFOZnhmOjU2OC9reFN0cGM6NTY3L1FETWI4ZTo1NjcvZWw1Rk9iOjU2Ny9tNGJUQWQ6NTc4L2hJZDJuZDo1NTMvYUFzZExiOjU2OS9aejdSWGM6NTc5L1VxSmZ3Yzo1NTQvVTRzdjBjOjU1My9sQmRibGQ6NTU1L0FkZWh0ZTo1NzMvUUJIN3RjOjU3My9ZcmZhdWY6NTg0L0lIbnpzZTo1NzQvV0gzS2hjOjU4NS9PT2RNRmI6NTc1L21qbkI0Yjo1NzcvWExSUjliOjU3Ni9XQWZSNWQ6NTc2L0hYYXBJYjo1NzYvd1BVM3U6NTc2L3EwTzBkZjo1NzYvaTlnSVFjOjU3Ni9xSWxjcmQ6NTc2L3RValpLZDo1NzYvSWpVZU5lOjU3Ni9WVnFUSmU6NjI3L3lwSmFOYjo1NzcvOjMxNzQvTUppelNiOi9SR1g4emY6NTUzL255UVFzZTo1MjgvOjMxNzcvdGJmUnY6LzozMTc5L3IyRThPYzovbnA1ZGZjOjUzMi96Y2x1ZmI6NTU5L2VyMzZVZTo1MzMvTEtpOVFkOjU2MC9uanBRc2Y6NTM0L01tR3dEZDo1NjEva3dGOUdlOjUzNS9oa0NDdWU6NTM1L1k3QmQzYzo1MzUvTHFUTE86NTM1L1ZsUEhnYzo1NjUvS1JTdVJkOjUzNi9pOTM1YWI6NTY2L2poZ3Q2ZTo1NjYvbFVYNFpkOjUzOC9CVTBYZGQ6NTY3L1FpOVlMZDo1MzkvV2lOemdiOjUzOS9nZ1k1M2M6NjA0LDI1NjIvL3FXalg1ZTosMTMwOCwyMTcwLy86MjUyMyw1MTIsMTY1LDMvbjhZTzdlOiwsMzQ4MC8vSm05dE5kOiwyMzc2LDksOTAyLDE5Ni8va21OaHNiOiwzMDM5LDcsNTAsNjAsNTEsMjc4LysyLzovLzoyNDk2LDkwNi8tNDosLCwyMzQwL2ltTHJLZTosMjQ3Mi9ETTU1Yy8rNi9ITlAzY2U6LDM1NzQvbmI1WHZkOiwyLDMvOjMvOi9iUXhNUmU6LDIvOjIvZmE4SDhiOiwsMzQ5OS8vOjY4Miw0MDEsOCw0MDcsMTI0LDgsODA2LDEzOS8rMjoyNTY4LDQzMy8tMTosLDEwODUsMywzMzIsMTkwLDUwMywzMjUvKzI6MTYzMyw4MDYsMTMxLDgsMjkwLDIsMi8rMi93WkdmUWI6LCwsMywxODM1LDc3Ni8vZDUzMVU6LDM1MDkvOjQ3MywxMTQ0Ly9nNDhQN2Q6LCwxODIwLDYyMiwxNDMsMzUsODkxL0hHRnVoYzoxMiwyNjExLDg5MS8vOjMwNDMvOjE2NDQsMTc4LDQsNzU1L1hWNjdLYjosLCwsNjExLDEwMDYsNiw5NjMsMi9lYkZRTGU6My93YkplOGU6MjY5LCwsLCwzOTIsNDAsOSwxOSwxOTQ4LDI0OS96M21WSDoyNjcsMjI5Nyw1MTIsMTcwLDIsL083eFI3ZToyNTY0LDQ4NSwyNywxNjIsMy9QVTF3ZGI6NTgyL0lWWWk5Yzo1ODIvUTJKOUY6NTgyL2lBQjBVZDo1ODIvVFJNUHI6NTgyL0Fxd01nOjU4Mi9uZ2hwNDo1ODIvVmtNVG1mOjU4Mi94dTJOMzo1ODIvYldCc0tkOjU4Mi9SUXQzTGQ6NTgyL0JPZ3BLOjU4Mi9taHVEQmI6NTgyL0ttSDBoYzo1ODIvVk8yNDo1ODIvdlNMT3diOjU4Mi9DUG5Pb2M6NTgyL3VWbFhnZjo1ODIvTkhMRzo1ODIvT2lyUms6NTgyL3NiX3dpei8vVlgzbFA6LysyOjIvcmNXTEZkOiwvOjQvZ2xzY1Y6LDMsMjM2MCwvL1Q0QkFDOiwyMzczLysyOjIsMi9KTzBkSmQ6LCwyL3V6OTM4YzoyMzUxLDIzLDI5NC86NSwyL0ZrZzdiZDosNCwyLzoyLDMvSGNGRUdiOiwsMywyMzQ0LDMwMS8vcWVNZW9lOi8vTGM1RkJjOiwyLy9NTVRUbWQ6LDM2NDMvL3JYUlNoZTosMjAyNSw1LzoyL1oxcExHZDosLy9pVEt3aWM6LDMzNTgvKzIvRXhxdFBlOiwyMDU4LDE1MTMvLysyOjIwNDcvdUlCdTBkOiwsMTQ1Miw1NDksMjIsOCwxNCwyODMsLDksLzoxMCwyMDEwLDUvOjE0NTYsNTcwLzoyLzozLzoyMDI5Lzo3LDUsMi9iYlJOaTosLCwsLDIsNCwsMiw1LDE5OTYsMiwxMywxNiwyMiwyNzIsMTIsMTI0LDExMDYvOjksMjMyOS86MjM0NC9aVjBBczosLDgsMTMsMjAyNiwxNjQsMTI2LDQsMTIsMTIzMC8vencyd3U6LDIwMTQsMjAsMTYsMzAyLDEzMTQvOjIsMTIsNywyMzIyL1VZRDBIOiwsOSwzLDcsMjMyMiw0LDEyLDEyMjAsMTAvOjIwNjMvbXBDa2hkOiwyMDU1LDcsMTUyOC86MTgvZzIyRFRkOiwxNy9Qa0RON2U6MzY3NC9Ib1lWS2IvL3NaWFQwYjosMjA4OCwxNTA4LzozMSwyMzIyLzozNTg5L3hudWkxZDosLDE4LDIsMTAsNSwxOTU3LDU0LDEwLDI5Niw0LDEyNDIvOjEzMzcvVGRDM1djOiw0MCwxMjk2LDEyLCw3MTcsMTYwLzoyLDM0L1VtZ0V5ZjosLDIzLDIsMywsNSw1LDIwMTEsMTAsMTU0Mi8rMzoxNDI4L0k2WURnZDosMTE0NiwyNzAsOSw3MzUsLCw2Myw5MywyLCwsLDE3Ni8vLys0Ly0zOiwvKzQ6NiwxMy92TmszcmI6LCwzLCwxMywyMDE5LDM0LDQyLDI4NSwxMjEzLDQzL3phSWdQYi9RdHB4YmQvTTI1c1M6MjA3OSwyOTQsNywxMzE1L0piTVQzLyszLy0xOi8tMTosNTcsMjE4OS8rMzo0Niw1LDIvOjQvbWdudGI6LCwsMywxNSwyMiw0LDUsMiwyMDE2LDE2LDI5LDUzOSw5NjgvKzI6NTM2L1BJVmF5YjosNTM3LDUwNCw0LDI2OTUvOjUzOC9FS0h2Y2I6LDUzOSwzMjAzLzo1NDAvV0QzTTNkOiw1NDEsNTA0LDEwOTAsMTYwOS86NTUvWHVpdlFkOiw1NCwyMDYwLDE1MTUvOjU3L0JHQXl6ZDosNTYsMjA1OSwxNTE2L0lack5xZS9QOGhhMmM6MjExNyw0MTEsMTEwOC8vWVFqVW9lOiwyLDIwNjEsMzI3LDEyNDUvb0lwUXFiOjEwNTIsMzI1LDMvKzI6MTM3NywzLzovQUI0Nk46LDIvOjMvRlhuQWpiOiw0Ly9jQW9YdmU6LDEwNDUsMTMsMjU4NS9oZ1Y3eWM6LDEwODQsNDAwLzoxNDg3LzoveFJ6akVmOiwyLzozL29qaktRYjosNC86NS9MSm40OGU6LDYvLy9Ec0xqeTosLDIwODEsMzYsMTUsMTUyMS9oQkJkM2U6MiwxMzY3LDc1MSwxNSwyNzksNywxMjM1LDIvKzIvVHBqN1BiOiwxMDU4LDI1OTkvL2dOWXNUYzosMzY1OS8rMi9iVGk4d2M6LDM2NTEsMTAvOjIyMjMvL0ZvN2x1YjosLDM2NjMvL2VNMUM3ZDosMzY2Ni8vL3U4ZlNCZjosLDM2NjgvOjgsMTQxNSwzLDgwNCwxNTQsMywsLzoxNDE0L0VGOHBlOiwsMTA3MiwxNyw0LDIsMzE2LDIyNjAvL1BCVlVCOiwxNDAwLDc5MiwxNDgyLzoxNDE1LDMvZXRCUFliOiwxMDk0LDQsMiwzMTYsMy9pNUg5TjoxNDk0LDIsMjE3MiwxMC86MTQxOCwzL1NVOVJzZjosMTA5Nyw0LDIsMzE2LDMvLy8rMjosMTQyNC9QSFVJeWI6LDIsMywxMDkzLDMsNCwxMSwzMDcsMTI5Mi86MTQyNyw3NS9EdjRyMGU6LDE0MjUsNzUvLzovLy8vLzozNTAxLzozNTAyLy8vLy8vLy86MTY3Ni8vLy8vLy8vLy86MjY1Ni8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vKzIvLTE6LCwsLysyLy86MTQ4Nyw4Ny8vLy8vLy8vLy86LCwvLzovOiwzLDIvLzovLy86LDI3MjAvLy8vLy86LC8vOjE1MTMvLy8vOiwxNy8vOjE2MjQvLy8vLzosLy86LzosMi86LzosMTkvOjIvOjYvOi86LzozNjkwLy86Ly8vLzosLCwvLy8vOi8vLzosLDIsLy8vLy8vLy86NDYvLy8vLy8vLy8vLysyLzovLy8vLy8vOjI4LDQvLy86Mjc2Miw5Ny8vLy86Mjg2My8vLy8vLy8vLy8vLy86Ly8vLy8vLy8vLy8vLzosLy8vLy8vOjIsMzY4My8vOjM5NTcvLzovLzozOTYxLy86LzosMTI3OC8vOjMsMTI5My86NC86NS86Mzk2OS86Ny8vLzozOTczLzozOTc0Ly86Mzk3Ni8vLzosMTYsMTYzMS86LzozOTgxLzozLDEyOTQvLzo1LDEzMDkvOjYvOjcvLzozOTg4LzoxMzU0LDMyMC86LzosMjgvLzoxNS86Mzk5NC8vOjM5OTYvLzovOjM5OTkvOjIyLDE2LDE2MzEvLzo0MDAyLzo0MDAzLy8vOjQwMDYvOjIwLDksMTYsMiwxMjc1Ly86NDAwOS8vOjMzLDE2LzovLy86MjUsMjgsMTYzMS8rMjosMTM0NS8vOjMvOjQxLy86MTAsMjEsMTMyMC86MTEvOjQwMjMvLy8vOjQ5LDE2Lzo1MC86MTM0NC86MTM0NS86NDAzMS86NDAzMi8vOjQwMzQvOjQwMzUvKzI6MTc4MS8rMi86Ly0yOiwyLDE3MjUsNDEsMjE5MS8rMy8vOjQwNDIvLzo0MDQ0Lzo0MDQ1Lzo0MDQ2Lzo0MDQ3Ly86NDA0OS8vKzI6Ly8vLzoxNzEzLzo0MDU2Ly86NDA1OC86NDA1OS8vOi8vOjE5NTkvOjQvLy86LC86NDA2OC86NDA2OS86MTM1My86MTM1NC8vOjQwNzMvLzo0MDc1Ly8rMi86NDA3OC8vOjQwODAvOjQwODEvLzovOi86MywxMzk1LzosLDEzNjcvLy86MjkvLzovOi8vOjMsNDA4LDk2NiwzMiwzODIvOjQwOTUvOjQwOTYvLzosMzcvOjQwOTkvLzovOi86MTM4Ni86NDEwNC86NDEwNS86MTM4OS8vKzIvOjQxMDkvOjMvOi8rMi8vOjcvKzIvLTE6LCwzLysyOjYvLysyOi8vOjQxMjEvLzo0MTIzLy86NDEyNS86NDEyNi86MTQxMC8vOjQxMjkvOjQxMzAvLy86ODMvLzoxODMyLzosLzo0MTM3Lzo0LDQ1MS86NDEzOS86MTQyMy86NDE0MS86NDE0Mi86NTksMTM2Ny86NDE0NC86NDE0NS8vOi86Lzo0MTQ5Lzo0MTUwLy86LzoyLy86MjA1MS8vOi86Ly8rMjovLzosOTYvLzovLzoxODI0Ly8vLysyOiwxMTkvLy86NC86MTI0LzoxMjUvLy8vLy8vLzosMTMyLy8vLzoxMzcvLzo0MTg5LzoxNCw3LDU0LDY1LDEzMzMvOjIyLzoxNDc1LzoxNDMvOjQzLy8vOiwxODY1Ly86Ly86NDIwMS8vOjQyMDMvOjQyMDQvLy8vLzoyMTA1Ly8vLzo0MjEzLy86NDIxNS8vOi8vLzo0MjIwLzozOTUxLy86NDIyMy86MTUwNy8vLy8vLzo0MjMwLy86MTU0NS86MjEyOS86MjEzMC8vLy8vLy8vOjExLy8vLzovLzosLDMsMTkzMi8vOiwyLy8rMi86Mzk4My8vLzovOi86OTkvLy8vLy86Ly8vOjE1NzUvOjE1NzEvLy8vLy8vLzovKzI6LDU5My8rMzosMTkyOC86Mi8rMjoxOTQ0LzosLDMwLzozLDMwLzo2Lzo4Ly8vLzosMjE1LDEzODUvOjE2MTkvLzo0Lzo1LDE2MDIvOjYsMTYwMi86NywyMTUvOjgvOjQyOTYvLzoxMSwxMjYvLzosMTU3OC86MTQvOjE1LDIxNS8vLzosMTcvLzoyMC86NDMwOC8vLzovLy8vOi8vLy8vLzovLy8vLy8vOjExMzMvLzozNzUvLzovOjIvLzo0Ly8vLy8vLy86MTYyNi8vOjIxMC8vLzoxNjMxLzoxNjMyLy8vOi8vLy8vLy86LzoyLy8vOjExODcvOjI5NDQvLy86Ly8vOjIyNjYvLy86MjU1MC86MjU1MS8vLy8vLy8vOi8vLzovOjIsMi86MywyLy86NS8vLy8vOjEwLy8vOi8vLy86MTU4Ly8vLzoxNjg4LzoxNjg5Ly8vOi86LDIzNTgvLy8vLzoxNTkvLy86MjMxNC8vLy8vLzovLzovLy8vLy8vLzovLy8vLy8vLy8vLy8vLy8vOi8vLy8vOi86Mi8vLzosNC86LzoyLy8vOjUvOjYvOjcvLy86Ly8vLy86Ly86Ly8vOjQsMTA3OS86MTA4NC8vOi86Mi86LzoyMzgxLy8vLy86MjM4Ni8vLy8vLy8vOi86Mi86My8vLzovLy86LCwzMzc4Lzo1Ly8vLzo5LzoxMC8vLzovOjE0Ly8vLy8vLzoyOC86MjkvLzozMSw1MzMvOjMyLzo0NTI4Lzo0NTI5Lzo1NjgvOiwxODYwLDMzOS86MTg0Ny86NDUzMy8vOjQ1MzUvOjQ1MzYvLzo0NTM4Ly86NDU0MC8vLy86NDU0NC8vOi8vLy8vLy8vLzosNjY2LCwzLy8vOjQvLy86MzE0OS86MTEwLzo0NTYzLy8vOiwyMzEwLy8vLy86Lzo3Ly8vLzo2LzoyNDczLy8vOiwsNzg3Lzo0NTgxLzozLy86NDU4NC86NiwvOjQ1ODYvOjkvLzoxMC86LCwxMC86MiwsMTAvOjMsLDEwLy8vLzovLy8vOjIyOS8vLy8vLy8vLy8vOi8vLy86LC8vLzo3MTIvLy8vLy86LDcxNi8vOjcxOS8vLy8vLzovOjI5MSwvOiwyLy86MjQxLzoyNDIvLy86OS8vLzovLy8vLzosLzozLy86NCwvOjYvOjYsLy8vLy8vLy8vLy8vLy8vLzosLC86NzI0Ly8vOjcyNy8vLy8vLy86MTUsNzc3LDE4NzEvLzoyNjY1Lzo0NjgzLy86Lzo0Njg2Lzo0Njg3Lzo0Lzo0Njg5Lzo0NjkwLzo0NjkxLzo0NjkyLy8vLy8vOjMzMi8vOjI5OSwzNS8vLy8vOjQ0MzUvLy8vLzozMDksMzUsNDA5Ni8vOjQ3MTIvOjQ3MTMvLzo0NzE1Ly8vLy8vOjQ3MjEvLzovOjMzMTIvOjQ3MjUvLy86MTE1My8vOjIsNi86NDczMS86NC8vOjMzMjIvOjM2OSwxMTkwLy8vLy86Ly8vLy8vLzoyMDMwLy86Ly86LDIsNjYzLDEzNjgvOjQvOjUvOjQvOi86Mi8vOjQsNi86NS8vOjEzLy86LzoyLy86MTgvOjE5Ly86MjA2Ni8vOjIzLy8vOjI2Ly8vLy8vOjIvLy8vOi86LzoyLzozLy86NS86Ni8vOjkvLy8vOjM3MC86MzY4NC86MzcyLzozNzMvLy86Mzc2LzozNzcvOjM3OC8vLzozODEvOjM4Mi86MzgzLDI3LDMyODYvOjQxMSwzMjg2Lzo0MTIsMzI4Ni86NDEzLzozODcsMjcsMzI4Ni86Mzg4Lzo0MTUvLzozODIvLzoxMTg0LzoxMTkwLzoxMTkxLy86MjcxOS86NDgyNC86NDgyNS8vLy8vLy8vLy8vLzo0NTUvLy8vLzo0NDYvLy8vOjI2MDkvLy8vOjk5MiwxNy86NDE2Lzo0MTkvLy86NDIwLDYxMC86MTAzMS8vLy8vOjQ4MCw1NTcvLy86NDkzLzoyNzYxLy8vLy8vLzosNDkwLy8vLzovLy86NDk4Ly86NTAwLy86My8vOjUwNC8vOi8vLzosLDE4Ly8vLy8vOjQ4OTYvLy8vLy86NDkwMi8vLy8vLzoyOC86NTI4Ly8vOjMyLy8vLy86NDU4Lzo0OC86MTAzOCwvLzovOjEwNDEsLy86LDEwNDIsLy86LDUvOi86MywyLDEwNDIvOjkvLzoxMS86MTIvOjgvOjksMTA0NCwvOjEwNTQsMTY0NC86MTMvLzoxNSwxMDQyLy86LDY5LzoyLDUwLDE5Lzo1My86MjgzOS86Mjg0MC8vLy86MTA0MS8vLy8vLy8vLy8vLy86Mjg1Ny86NTgxLDU1Ny8vLy8vLy8vOjEyMDEvLzovLy86NDk3NS8vLzoyLzo0OTc5Ly8vOi8vLy8vLy8vLy8vOiwvLzosMi8vOiw0Lzo2LC86Myw0Lzo2LDIvLy86MTEsLzo4LDQvOjUwMDUvLy8vLy8vOiw0NzczLzoyNjk4LDIvOi86MjMsLzoyMCw0Ly8vLzoyNjg5LzosMjgsMTAzNi86MiwyOCwxMDM2Ly86NCwyOC8vLzozNSwxMDM2LDE2MjUvLy86MzgvOjM5Ly86MTMsMjgsMTAzNi86MTQsMjgsMTAzNi86MTUsMjgsMTAzNi86MTYsMjgsMTAzNi86NDUvLzo1MDM5Lzo1MDQwLzo0ODAzLzovLzoyMzU5Ly86LzoyNzE2Ly86OC8vLzosLDUvOi86MTAvOiwyLzoyLDIvOjUvOjYvOjkvLy86NDc5Mi8vOjQ4MjYvOjUwNjUvOjUwNjYvOjUsMTUvOjUwNjgvOjcsMTUvLzovOjk3Mi86MTM5MC8vOiwvOjUwNzYvOjQvOi86Mi86Niw4OTIvOjEzOTgvLzosLzo1MDg0Lzo0LzovOjIvLy8vLzoxNDQwLy8vLy86Mjc0Mi8vLy8vLy86Ly8vLy8vOiwyLDEwNzEvOjE0MjgvLzo1MTEzLy86NTExNS8vOi86MjQ0OC86MywyNDMxLzo0Ly8vLy8vOjExMy8vLzo0LzosMyw5NDQsMTkyLDEzMDUsMzQzLzo1Ly86NCwzLy8vOiw2LDIvLy86LDMsOSw0Ly86NTE0MS8vOjUxNDMvLzosMTgvOjUxNDYvOjUxNDcvOjUxNDgvOjQ4OTgvOjUxNTAvLzo1MTUyLzozOTg2Lzo1MTU0Ly86Ly86LDIvLy8vLzovOjIvOjU4Ny8vOjUxNjcvOjUxNjgvLy8rMjovOjIsMjkwNS86NDkzNS86MjkwNi8vLy8vLy8vLy8vLy8vOjEyLzoxMi86MTIvOjEyLzoxMi86MTIvOjEyLzoxMi86MTIvOjEyLzoyMDM5LDUvOjIwNDAsNS86MjA0NC8vLzoyMDQ0LDUvOiw0LDE0MzkvOjI4NjkvLzosMi86Ny8vLzoyMDUxLDYvLzovLy8vLzozLzoyLCwyLzoyODgxLDMvOjI4ODIsMy86Mjk4NS86Mjg4NCwzLy8vOi8vLzoyODkwLDMvOjI4OTEsMy8vLy8vLzovOjExMTkvOjI4ODkvKzI6Mjk3NC86Mjk3OS86Mjk4MC86Mjk3Ny86Mjk2NC86Mjk3OS8vKzI6LzoyLzoyOTgzLzoyOTY4LzoyOTg1LDEwLysyOi86LzozLzovLzoxMTc0LzosMTE3MS86Mi8vOjExMDEvLy8vLzo0OTk1Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL19yOiwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLDIsLDIsMywsLCwyLCwsLCwsLCwsMiwsLCwsLCwsLDIsLCwsLCwsNSwyLCwsLCwyLDMsMiwyLCwsLCwsLCwsLCwsLDExLCwsLCwyLCwsLCwsLDIsLCwsMiwyLCwsLCwsLCwsLDIsLCwsLDIsLDIsLCwsLDIsNCwsMiwsLCwsMiwsLCwsLDIsMiwsLDIsLCwsLCwsLCwsLCwsLCwsLDIsLDMsLCwyLCwzLCwyLCwsLCwsLDIsLCwsLCwsMiw0LCwyLDMsLDIsLCwsLCwsLCwsLCwsLCwsLCwsLDIsLCwsLCwyLDIsLCwsLCwsLCwsLCwsLDIsMiwzLCwsLCwsLCwsMiwsLCwyLCwsLDIsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsMiwsLCwsLCwsLCwsLDMsMiwsMiwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLDMsMiwsLCwsMiwsLCwyLCwsMywsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwzLCwsLDIsLCwsLCwsLCwsLCwsLCwyLCwsLCwsLDIsLCwyLDIsLCwsLCwsLDIsLCwsLCwsLCwsMiwsLCwsMiwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwyLCwsLCwsLCwsLCwsLCwsNSwsLCwsLCwsLCwsLCwsLCwsMywsLDIsLCwsLCwsLDIsMiwsLCwsLCwyLCwsLCwsLCwzLCwyLCwsLCwsLCwsLCwsLCwyLCwsLCwzLCwsLCwsLCwzLCwsLCwsLDIsLCwsMiwsLCwsLCwsLCwyLCwsLCwsLCwyLCwsLCwsLCwsLCwsLCwyLCwsLCwsLCwsLCwsLCwsMiwsLCwsLCwsMywyLCwsLDIsMiwsLCwsLCwsLCwsMiwyLCwsLCwyLDIsLCwsMiwsLCwsLCwsMywsLDIsMiwsMiwsLCwsLCwsLCwsLCwyLDIsLCwsLCwzLDIsLCwsLCwsLCwsLCwsMywsLCwsLDQsLDMsLCwsLCwsLCwsMiwzLCwsLCwsLCwsMiwsLCwyLCwsLCwsLDIsLCwsLCwyLCwsLCwsLCwzLCwsLCwsLCwsMiwsLCwsLCwsLCwyLCwsLCwyLCwsMiwsLCwsMiwsLCwyLCwsLCwsLCwsLCwyLCwsLCwsMyw0LCwsLCwsLCwsLCwyLCwsLCwsMywsLCwsMiw0LDIsLCwsLCwsLCwsLDIsLCwsLCwsLCwsLCwsLDIsLCwsLCwsLCwsLCwsLCwsLDIsMiwsLCwsLCwsLCwsLCwyLCwsLCwyLCwsLCwsMiwsLCwsMiwyLDIsMywsLCwyLCwsMywsLCwsLCwsLCwzLCwsLCwsLCwsLCwsLCwsMiwsMywsMywsMiwsLCwsMywsMiwsLCwsMywsLCw1LCwsLCwsLCwsMiwsLCwsMywsLCwyLCwsLCwsLCwsMiwsLCwsLCwsLCwsNCwsLCwsLCwsLCwsLCwsLCwsLCwsMiwsLDIsLCwsLCwsLCwsLCwsMiwsLCwsLDMsMiwsLCwsLCwzLCwsLCwsLCwsLCwsLCwzLDIsMiwzLDIsLCwsNCwsLCwsLCwsLCwyLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCw0LCwsLCwsLCwsLCwsLCwsLCwzLDMsLDYsLDMsLDgsLCwsLDIsLCwsLDMsLCwsMiwsMiwzLDQsLCwsLCwsLCwsNSwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLDIsLCwsLCwsLCwsLCwsLCwsLCwsLCwyLCwsMywyLDQsMywyLDIsMywzLDIsMywyLDIsMywsMiwyLDIsNCwyLDIsNCw0LDIsMiwyLDIsMyw5LDgsNSwyLDYsMiw1LDIsMTAsOCw0LDEzLDMxLDMsMywyLDcsMTUsMiwzLDIsNjEsNiwxMiw1LDQsNCwyLDIsMywyLDExLDIsMiwyLDMsNCw1LDIsMywyLDQsMyw1LDQsNSw1LDIsMywxNiw1LDE1MSwyLDYsOSwxNSwxMSwyLDIsMyw0LDE3LDMsMzMsMiwyLDIsMiwyLDExLDI3MSwyLDIsMTAsMiw1LDIsMTIsNSwyLDQsMywzMCwyNSw0LDgsMiw1LDIwLDcsMiwzLDMsOCw0LDEwLDIyNSwzMiwyMywxMiwyNywyNiwzLDMsMyw5LDIsMTksMiwyLDUsOSwyLDIsMiwyLDIsMiwzLDMsMiwyLDMsMiwxMSwzLDMsMiw1LDIsMiwyLDIsMywxNSw1LDE5LDE1LDIwLDIsMTcsNCwyLDMsMiwyLDE4LDQsNSwyLDMsMiwyLDIsMiw4LDksMiwyLDMsMiwzLDIsMiwyLDIsNCwyLDIsMjEsMTQsNCwyLDgsMiwyLDQsNyw4LDIsMiw4LDIsMiwyLDIsMiwyLDMsNCwzLDMsNSwyLDMsMiwyLDIsMiw5LDEwLDcsMTQsMyw0LDMsMTMsMjUsMiwxMywyLDIsMiwyLDMsMiw1LDI1LDQsMywyLDIsMTIsMTIsNSwyLDYsMyw0LDMsNCwzLDMzLDQsNDYsMTIxLDE4LDIwLDE3LDIsMzQsNjksMywzMCwyLDMsMiwyLDIsMiwzLDIsNSwzLDIsNCwyLDMsMywyLDIsMTYsNywxNSwyLDUsMjAsMiw1LDMsNSwzLDQsNSwzLDUsNCw4LDI2LDcsMyw1LDE5LDYsMywzLDIsMTAsOCwyLDQsMTQsMTMsMyw0LDIsNjcyLDIsMiw0LDExLDMsOCwyMiwsLDMsMiwyLDIsMiwzLDIsMiwzLDIsMiwyLDMsMiwzLDcsMTE1LDMsMiwxMSw4LDMsOSw0LDIsMTEsODIsNi9jcjo0MTcwL2Nkb3M6NDAyMS9jc2llcy9jc2k6NDEyMC9kL2hzbS9lanNhL2pzYS9tdS9hc3luYzozOTA4LDE4NywxMjkvL2Zvb3Q6L2lwdjYvc2YvdmJDNlY6NzMzLDI0NDUsLDg1NSwxNTAsMTA2NC9hc01xSWU6NzMzLDQ1MTYvTFhBOGIvKzQ6MzE1NC86LzozMjEzL1BpUTdGYjosLDEyMzMsNTMxLDE0NDEsMTgwMiwzMDksNDQvcTdPZEtkOjE3NjQvYUwxY0w6MTI5My9jb0o4ZS9sOEF6ZGU6L0t2b1c4OjMxOS9qNENhOWI6L2ZUZkdPOjUyMDIsMi9TTURMNGMvb1NVTnlkL3BIWGdoZC9EcFg2NGQ6MTQzNSwyODA4LDc2MCwzMjYvRXVmaU5iOiwxNDM0LDI1MDgsNDMyLDg5MS8rNC9ZNkdKZmM6LDUxLDUzNTYvcUtmdHZjOjIvYUNKOXRmL00wVlFiZDo0L1oxalB2YjoyLDE0MzgsMzgzMi9oVTFJSGU6MjAzOC9PbGxodGI6MjAzOC86NDczOC9wTXdPRWU6L0xJS3ZHYzoxNDQ0LDI4MjMsMTAxMC94aUt3ejoxNDQ0LDM4MzQvV2NwTmRjOjE0NDQsMjIzOCwxNTk3L0VmUEd1YjoxNDQ0LDE2OTMsMTI1Miw4OTEvU05CVjBkOjE0NDQsMjk0Niw4OTEvUk9hS3hlOjE0NzIsMzg5MC9wajhJQWU6MTQ3NywyODk4L1lGaWNNYzosLDE0NDQsMjgxOC8rMy86LDE4NzMsMzQwMi9SWUtmQjosMTQzOCwzODQ4L010S1dUYzoxNDM5LDI3OTcsMTA1Mi9aM1pDU2M6MTQzOSwxOTE0LDg1MiwxNzYsMTcsNzIwLDE3MS8vYmlmSmNlOiwxNDM5LDUxMywxMzkwLDEwNjIsODg2L01uMjBwZjoxNDQwLDI5NjEsODkxL2Q4Z21UYzozLDE0MzcsMTkwNSw3NTUsMzAyLDUsODg2L1pZa2I5YjoxNDQ4LDI3NjIsMTkzLDg5MS9IcU9VUWM6MTQ0OCwyNzYzLCwxOTIsODkxL0lHcDNxZDoxNTIzLDI4MDUsNTYvLy86Mi9FNlM0dGM6LDE1NTgvLy8rMi86LDUxOTQvKzI6LDIsNDI5MCwxMjEvLTQ6MjY2NiwyOTIvKzUveU1iQnBiOjIsLDQsLDE1NjAsMjQwOSwxNiwxNiwxODMsOTcsMTAxOS86NTAyNS86NDgyNywyMDUvOjQ4NDEsNjEsNDYsMzQsMTYsMzUvelYydjllOiwsLzo0ODMwL29lVFVxOi86NDg0NSwxODkvVk8xNVRkOi8vOjMxOTUvZHBMbXE6LCw0LDE0NDgsNTM4LDQsNSwxMjAwLDk4OCwxNjEsNTYsNiwxNiw3MjAsMTcxLysyOjUyNzUvKzM6MzkxMSwxMzc0LysyMi8tMjE6LysyOjI1MzQsMzk3LCwsNjg5LDksMzIzLDg1NywyLDIsMiwyLzoyOTExLDIxLys1OjI5MzQvKzE0OjQvLy0xOTosLCwsLDE5NTYsOTUwLDUsNTIwLDE4Miw1LDcsMTkzLDU3Ni8rNToyOTM2Ly0yOiw0LCwyOTAzLCwzLDIsLDIsLCwxNiw4Nyw0MTUsMTgzLDEyLCwzMDYsNDYxLys0OjI0MTQsMTIwNiwxNCwsLy0xOiwyLDE5NjIsMzYzLDIsNzksNTAzLDExMyw1OTcsNSwyMDAsNDEsMzkzLDE0Mi8rMjoyNTc5LDEwNTYsMiwsLDQsMTg1LDU3Ni8rMjoyNTc4LDE4MjcvOiwxMCwyNTY3LDM0NSw1MjAsMTgxLzoyMiwyLDIsLCwyNTUwLDQ1Mi86MjEvOjMsMiwyNTcwLDUsMTA0OCw1LzosLCwzMDI5LzozLys0OjIxMDYsLDQ0NSwzOTUsNjkyLCwzMzIvLzosLDExLDE5NjMsMTY1NiwsNSwyMDAvOjI5OTcsMTkwMiwxNjUsMy8rMi9VVGJlRWUvOiwsMzY0NSwzMzEvOjI2ODcvKzc6MjY2OCwyNDUsNzMxLDI0MSwzOTMvLTY6LCwzMDk4LzozMDQ1LDYwNSw5LCwzMjIvOjI1MzcsMjQ4OSw0OS96dkdJYWMvKzI6LC86OCwyOCwyOTUxLDY2MCwzLyszOjUsMzA0NCw1OTcsNSw3LDMsMTkwLysyOjMsMjM1MywxMzA0LDE5MiwxMTcvc2F5dkFmOiwsLDUsNiwsMywsNyw0LDgsMTIzNCw5ODQsNDE0LDI1NSwyMjIzLDQwLDEzNiwzNS9zNWVvY2Y6MTUsMTI1Niw0MDg5L2xpbXVuOjEyNzEsNzYzLDMzMjcvSzNrQ3diOjEwNzgsNDI4NC9IMFlCS2Q6NTksMTAxOSwxMTg2LDMwOTkvSUZxeHhjLy8vL1VlZk9tYjosLCwzODAwLDYsNjUxLDE3LDY5NSwyNS86MjU0MCw3NjgsMjAxNC8vOjMzMDYvU2wwcHhkOiwsLDMyOTgsLCwxMiw3NDQsMjI5LDkxMy9YeTUwemY6NDAzMC9ITUREV2UvRzhRVWRiL0hNRkRiYjo0MjkyL3c0clNkZi9KT2ZLYmY6LDM1OCwyNzQxL1hLaVo5L3BieE5wYjozODQ1LDQ1MS9DRURiR2Q6MTc5NywyMDI5LDMxMSwzMzYvOjU1MjMvSjRrZXZiOiw1NTIyLzoxNzY2L1J4QWdOYjosL3FZOFBGZTo0L3RyWkwwYi9kaGppcGU6NCwvKzI6MzY5NiwvKzI6MzY5NywvKzI6MjQ5OSwxMTg5LCwzMzIsODc0LDIvKzI6LDI0NzgsNjA2LDYxNCwxMTkyLy0zOjMsMzY5MSwyLCwsNCwxODUsNTc2LysyOjMsMzUyMCw2NCw5NSwsNSwxMCw2MzAsMTM2LyszOiwyLDMwODQsNjA5LDE5My8tNzosMiw0LDI3MDAsOTc2LDQyMy8rODo0OTYsNDc4OS9LRU1FNmU6LCw1NDcxL3JGTkh5YzozLDQ5NCwyNzYxLDEwODAsODUwLDQwLDE3MSw2NC9FYk85c2M6NCw0OTMsMzg0Miw4NTAsNDAsMjM1L2doNGZXYzosNDk2LDQ5MDQvKzIvOiwyOTAwLDE5OC86NDQzLDQ4NDkvL09sR1FPOjIsLDMxNTIsOTYxLDEzNjUvRGh3Q1FiL0d2ZFV5YzosNDU2LDQ5NTEvKzgvLTU6LysyNDozOTY2LC86LDksMzA5OCw4NTcvOjMxMDkvOiwvOi8rNjo0Ly0xOjUsMzk2MC8tNDosLCwzOTUyLDQxLysxMTA6MTcsMjkwNCwxMDUzLCwvLy0xMDEvOi8rMjg6MjAvKzY6LC8rMi8tNi8tNzI6LCwsNCwsLDgsMjkwNy8rNDUvOiwxOCwyOTA2LDEwMzAsNTgvLys4Mjo5LDQwMzcvLTgwOi8tOToyMywzNzAyLDMxMiwxMDksMiwsLC8rMTA6NDAxMi8rODA6LDM5NjEvLTgyOiwyLCwyLCwyODY0Ly00NTovKzE2Ly02Lys0Oi8rMzosMi86NC8rODUvOjQwNDgvLTk5LzovKzEwMC8vLTY3OjQ2LDI4OTkvKzQwLyszMS8rMy8vOjQwMzUvOiwsNDMsMzkzNiwvLTQ6LDMsMi8rNS86LDIsMywyLDQwNTUvLTMyLy0zOjM3NTIsMzEyLDExLys5Ly01OjIvOjMvOjQvKzQ6LCwsLDIvOjIsLCwsMi86LC8rMTY6LDksMiw1LDIvKzk6NDA1MC86LDE2LDQzLDM5MTMsMjMsLy8tMzosLDIwLys0OjIsLDEzLDcsNDA1NS8tMTAzLyszMDo0MDczLDI4LzovOi8rMi86LDQwODIsMTEvOjQsNDAwNiwyLDQsNjAsMTE3LDIsLCwvLTM6LCwyLDQwMDMvKzIwOjUxLDcsMTQsNDAxNC8rOC8rNC8tMTosMjAsLCwzLys2OjIsMjAsLCwzLzosLys1Oiw0LDMzLDQwLDM5MzYvOjIsNCwxNiwxNyw0MCwzOTM2LDc5Ly0zNi8rMzc6LDcsNzMsMzkzNi8tMTY6NSw0LDE2LDE3LDQwLDM5MzYvKzE4OjQwNjYsOC8tMTosLCwyLCw1NSwsMzk1NS8rMjo0MDY4LDgvLTIxOiwsMTUvKzI0LyszLysyLy0xOiwsNTIsMTMsLDI5MjgsMTAzMC8rMjQvLTExNDozNjgwLDc1MS86LDM2NzksNzUwLDExMjMvKzI6LDI5Ly0yMTosMywsMywsMTQsLDgsLDQsMjAsLDMsLCwsNCwzOTMxLDE0NTkvKzYvLTQ6LDk2LDQ4Myw0ODA4LDcsMTk5Lys2NTo4NSw1Ly0zOTosOTgsMzkyOSw4Lzo4Nyw1Lys0OjEwOCwyOTA1LDEwNzkvOjEwOSwzOTg0Lys2OjExMCwzOTMwLys5OjQxMTgvLTE0OiwsLDMsMyw1NywxNiwyLDQwMzYvKzI4Ly0xLy0xNDo1LDIsNjIsMTgsMjEvKzE2OjExNiwyOTA1LDEwNzkvLys0OjQxMTksMjgvOi86LDksMzEsMzMsMjMsLDM5NTEsNzkvLTI0OiwzLCwsLCwsMjUsNTMsNDM2NS8rMTEvKzI6NDAzNiwsODgvLTE6LCwxMTUsMzkxNiwyNyw3MSwxMS8tMjosMyw0My8rMTgvOiwyLDQ4Ly86LCwyNSw3OS8rNjIvLTExMDosLDQsMTgsMyw4MC8rMTI2OjQwNDIsMiwyMDYvOiw0MDM5LCwyMDgsMywsLy0yOiw4Niw0MCwyNzAwLDIwNiw5OTksMjcsLDMvLTIvKzUvKzcvLTI0OjE3LDE5Lzo0MTU3LysxOS8vLy0yMDo0LDE4LzoyOC8vLy8vLy8vLysyLys1Ly9YcXZ0SGQ6MTIsLDUsNyw1NjA5L2NFNmJuL3JxYnp1YzovbnZ2NXZkL3pnd3NzZDosMiwxNTAsMTUzLDM0Myw0NjY5LDMwOSwxNi9iNk1rcGM6Lys2L0lxanZtZjosMzY0LDUzNDEvU3pRUTNlLysyLy0xOiw1NjE4LysyOi9NQ2xFaWI6LDUvZE5ob2ZiOjcvdm8zWE06Myw1L0ZVeDlGYzo2NDYvVGtJdUs6L2syUXhjYi9JQkFEQ2MvKzI6MTY5L2s4REZrOiwsLDY0Ny9wOGlrRmM6L1NocEY2ZS9ackZ1dGI6L1JZcXVSYi9NeUljbGU6L1FjbW9aYjo5L3lzS0lFZjo4LDksMiw2MzcvTjBwdkdjL1c0Q2RmYzovWFk1MXBlL0tZZ3c3ZDovSzh2cUNjOjE0L0FSTjBCOjY2MS9BemtYTWI6L2E3RnV0OjE2LCw2NDUsNDA1MC9WOENTYWY6LysyL1E5UEFpZTosNDY1LDI4OTIsMjIzOS8rMjoyNTI5LDM1OSw0NjYsOTU3LDMsLC86NDE3OCwyLzosMzM1MC86NjYsMjQ2Niw4MjEsOTYxLDMsLC9QbFdTVDosLDIsMiw2NjEsMTg2NSw4MTksOCw0LCwyLDIvbVg2Mm9mOjMzMTYsMjI4Ny86MTg2LDMxMzIsMzYvSUU4VmVkOiwsNDAsMTYsMzYsMyw1OTMvempBbTovdzlEemZiOjU2MDcvcG1wOVRiOiw0NCwxNDAsNTA2L3I0cWRBOi9icjVmM2Q6MzMzNiwyMjc0L0g5VzVTOiw0Nyw2NDQvcDJlenNjOi9aRHU3Mzo5LCw0MCwxNiwzNiwsOTEsNDk5L3VuSkFaYjovREFlZko6NSwyOSwzLDE1LDY0Miw1MDAwL3lpc2s4YjovVjl3T3lkOjEwLDQ0LDE0MCw1MDEvUW9LclZkOi86MTUsMTc3LDQwMzIvazJZWUM6LDE2LDQwLDYzOC9aaTU1aWI6L210Y0xFOjEyLDQ3LDYzNy9EeHFZTGM6L3ZuNFlhYzoyMiw0MiwyNywyNiw2MCw1MTEsNDkzNiw3OS9OaHJhRmI6NiwxNiw0MCw2MjYvYThUR29lOi9qbjNwRGQ6MTcsNDcsNjI1L3cyZVlzYjovcXRQZ0FjOjM0NDMvVW1ReUJlOjE1Mi8rMzo0NTI2L1hUZjRkZDosLCw1MzQsMTQ5NiwyMzg2LDEwNDEsMTcyL2JBaVJHYzoyLDE1MCw1NTgsNDkyMy9WNDM5by9pWGIzaGU6LDc0LDEzMSw1MDUsNDkxNCwxMC9OTmdzamM6NzAzL0RkaE5yZjovU1hJcnRjOjIsMjI2LDQ3Niw0NzYyLDE3Mi9WYUJxRmI6L0tJZG9iYy9hbTVYdmM6OTQsLDE4LDU4OSw0OTI5LDEwL1ExNWplOjgwLDYyMSw0OTQxL0phVHZDZjoyNzcsNDQ3Niw3MTYsMywsNCwsMTU1LDYwLDU4L0FBNEpUYzosMTc2NS9JdXVybGY6MTYyLDU0MSwyNjg4L0RCc1dCYzosLDYzLDMsMTUsNzEsNTQ5LDQ5NDMvVWp2MTZjOjIsLDgxLDc1LDU0NCw0OTQ0L3pIQ0twYzoxNTcsNTQ2LDQ5MzUsMTAvKzM6MTk5Ly92SUc1aGQ6Miw0LDQxLDIzLDMsMTUsNzQsNTQzLDI2NTksMjI4Nyw3OS9ieEh6SGI6OTAsNjE1LDI2NzMsMjI3NC9YWjI2UmIvaHBvdU9kOjEwLDYzLDMsMTUsMjYsNTg4LDEyNzcsNTg0LDgzNCwyMjU0L2F3NHJyOjcwNSw0OTUwL05RZzRSZTo5MywxNiwsNSw5LDU4MCw0OTQyLDEwL2ZXSmZnZjoxMTAsLDUvS2tQZUQ6MTkwLDUxNCw0OTQ0LDEwL1hzZnRqYzoxMCw0LCw4MSwxMDcsNTAxLDQ5NTUvb1F0QnJiOjExLDQsLDgxLDkxLDUxNiw0OTU2L3VBeG5WOjEyLDQsLDgxLDEwNSw1MDEsNDk1Ny9pZWUya2M6MTMsNCwsODEsOTAsNTE1LDQ5NTgvcDFiaE5kOjExNiwsNS9XTUFZTGM6MjQsMTEzLDU2Nyw0OTYwLzo1NTk0L1hBbG1OYzosMTY0LDUwOSw1MDUzL0VveTY3OiwyMjYsNDQ3LDQ5OTMvTlI2M0RiOjM0MTEvSjZFbEhlLyszLzosLzovR2tYOGhkOiwyMTIsMjI5LDUyMzEsMi8vKzI6NCwyMDcvLTE6L3Yzd3Z5ZjosMiwyMTEsLDMsMzYxLDUwOTgsMi8rMjoyL3B1WnNmYzosNCwyMTEsLDMsMzYwLDUwOTksMi95MW9QRGU6NCwxOTEsMzg1LDUxMDAsMi96eDVYQmQ6MywxOTIsMzg1LDUxMDEsMi8vSVUwMWZmOiw2LDIxMywsMywzNTcsNTEwMiwyL3dGVGxGOjIsNCwyMTUsLDMsMzU2LDUxMDMsMi9Da0tESmI6OSwyMTEsMzYxLDUxMDQsMi9HRXo3MWQ6OCwyMTIsMzYxLDUxMDUsMi8valBXVTFkOiwxMSwyMTMsLDMsMzUzLDUxMDYsMi9ob3JKTWM6Miw5LDIxNSwsMywzNTIsNTEwNywyLzoxOS9JeWtmU2Q6LDIyOCwzNTQsNTEwOCwyL1dNcUZDYjoyLDIzMCwyMzAsNTIzMCwyL1pmTEpVOjIxLDIwOSwzNTQsNTEwOSwyL1g4N2dTZDoxOSw0NDMsNTIzMiwyL1pGdlZXOjE4LDU2Ny9jbDlpaGM6MTcsNTY4L1FOWHhxOjE3LDU2OC95SXNnSWU6MTcsNTY4L0MwRlBWOjE2LDU2OS9VZFJWS2I6MTYsNTY5L2hJam1zYzoxNiw1Njkvb2VxT3hlOjE2LDU2OS9qM3VIWmI6MTUsNTcwL0lqeVo4ZToxNSw1NzAvS1JaSEJkOjU4NSwyMDQzLDUwMi90S0hGeGY6NTY0LDI4ODIsMy9sYzFURmY6NTYyLDI1NjAsMzI1LDMvL0Zxa3BjYjosNTY1LDI4ODMsMy9palpraWY6Miw1NjQsLDI4ODQsOTksMjE2MC86MjA0LDU0NS9INDRhVWM6LDE2NCwsNSw3LDQwMTIsMTU5Ny9KTmNKRWY6MTY3NiwzODI2L3hXN1huYzo0Nzc3L3RmQ2pZYjosNTI5L1ZZeXhmOjUzMC9pMGtOU2M6NTMwLDQ5OTQvcEtKaVhkLysyOjU4NjAvL0g4ZktqYjosLDU4NTkvdm1NaGtjOi9WQ2VuaGM6NC9CZ3lQUGM6My9TUVByeWY6NSwxMzkwL3c5b2J2YjosNywxMzg3Ly8vOi94dEtHR2Q6LDIvclFTcmFlL2ZNT0dnZTozLDIvOjUvZENTQ1ZjOiw2L0M2RDVGYzo4L1R3ZHdXYzozLDYvTEhDYU5kOjEwLy95eERmY2M6L21GN1puYzova0NReUovdWV5UEs6NC93S2RUbGU6NDQzNCwxMTA4L0ZkZDhuZDosNTUzMiw0MC9iNnZjYmI6NDc3Ny86NTMwMCwxNjUsMy86L1I1ZHdoOiwyLCw3MjQsNTAyMCwxNTQvUjNNaDRkOjcyOCw1MDIxLzo0Ly9YRGlyVmM6LCw1LDIsNzIxLCw1MDIxLDE1NC8vbGlHSUdjOiw2MzAsMjU2MywyNTYwL1FqVWlxYzosNjI0LDUxMjAvOjQzNDYvOiw0MjkxL3Z5RHBGZDosNjIxLDUxMzYvL2NmY25MZTosNiw2MTYsMjU3NywyNTYwLy9LNE5nUzosNjIzLDUxMzgvTUgwaEplOjYyNCwxNDcxLDM2NjgvL1JpSU5XZTosNCw2MjAvLzovaThvTlpiOiwyLDIsLDQsNjE3LDI1NTksNCwyLDEyOTIvLzoyNC9Ba0U2d2U6LCw3NDUsNTAyNC8rMy86Ly0yOiwzNzYwLyszOi86MywzNzM3LDI0LC86Mzc2Ni86LzosMi8rMjozNzY3LysyOjM1LyszOjIxLDIsNDM1MC8tNDosLDQsNSw1LDEwLDEwLDM0OTYsMywzLDIzMiwzMDcsNDE5LDIsLCwvKzIvKzM6NDM5Ni8tMjosMiwzLDEwLDM1MjQsMjMxLCwzMDYvZ2JNVnljOiwyLDUsNCw2LDI1LDcyMCwsMjM4MSwyNjQyLDY0L3R0UTI3OjIsMTEsMjQsNyw1ODA4Lys0OjE3LyszOjM3NzUsLy86MjAsMzc1OS8vUDBWRkFjOjIsLCwsLDc1OCw1MDMwL1NHcFJjZTozLDIsNSw0LDMwLCw1LCw0Mjc5LDU1LDEyMywyLCwsLDIxMC8vYzQ1cjFjOiw1OTcsNTMzOS92ZlZ3UGQvUFpJSU1jOjMvLysyOjM3ODgvOjM3OTAsLzozLDM3ODcvKzI6NC8tMTosLCwsMjkvZzZaVW9iOiw5LysyOjUvZ24xZXllOiwxMS8vSkZOWVRkOiwxMSwxMzMxL0lVZmZtYjo0LDExL1hYV1FpYjo3LDkvOjQwLDM3NjEsLzozODAxLzosLzo0MywzNzYxLC8vOjE3L2xjcmt3ZTosLCwsNiwyLDExLCw0LDIsLDQsNiw5LDQ4NjIvOjQ3LDM3NjAvOjM2LDIvZXhhT0ZkOiwsMjUsNiwsNCwxNSw3NDIsNTAyNy9YTldtRGY6Miw3Nyw3MTkvS2d0OWRjOiwzOSw1LDksLDc0MywyLDMwMDksLDIwMTQsNjQvL2hnVFNxYjovRUFCU1ovclhxeTZlOjMvY1ZwYTRkOjQvTVhadDlkOjUvQ3BXQzJkOjYvcWF2clhlLy96UXpjWGU6L2lEalR5YjoyL3Z5YjhuZjozL3hYamttYjo0L1lnQVFUYzo1L1JNNm1kYzo1OTc5LC9UeGZWNmQvRmVJNzJkOjIvZFB3TEE6My9ZT1JOMGI6NC9HMjlIWWU6NS8rNTo1OTg2L21NSmxGYjosNTk4NS9lQlo1TmQvTWtmNUxlOjIvYXVkdmRlOjQvaDRxelM6NC9aeWt6Q2UvVnJ1REJkOiwxMzcsMzkwNyw3MjMsMTc2LDg2MSw5Ny8rNC9ydzVqR2Q6L1c1ME5WZDoyL1VEclkxYy9lcHM0NmQ6NC93Y2l5VWU6NS8rMi9GcnlJa2U6L0hiUjVDOjIsNjUxLDUzNDgvWE15cnNkOjMvRjltcXRlL1VvUmNiZTo1L2hROTdyZTo2L3JsSEtGYzo0NzgyL0pKVE5TZC8rMi9memMzTGQ6LC9KV252TDoyLC9PQnBGa2Q6L3ROTjh2OjQsL2YwQ3liZTovSkpZZFRlOjYsL0oxQTdPZDo3L0dsZVpML2xCcDA6OSwvKzIvOi91MGliQWU6LDU2NzgvQnpubHdlOjIvTnl0NmljL0NKUllEZjo0LDU2Nzgvc1pueWo6NS9qbjJzR2Q6Niw1Njc4L2VNVlgzYzozOTUzL25LUExwYzozOTU0LDIwNTgvcmtpUmtkOjM5NTUvbGdnYmg6Mzk1Miw0L1pTSDZ0Yy8rMjo2MDMyL2Z2amNQYjosNjAzMS9RQXZ5TGU6Mi9VUzFFVToyL3czYlpDYi8vcE5uZ046LDcwOCw1MzI4Ly8vOiwvWTRsVDhkOiw0L1pQR2FJYjo2L2VTRkM1YzozLDQvVkdSZngvL21UMXlnZTosNzE2LDUzMjkvVkZxYnI6Mi9CNmI4NTozL0cwS2hUYi8veXNjUndkOiw3MjAsNTMzMC9MSWFvWjoyL3BQeGRBZDozL1hVZXpaLysyL0o1QVR2YzosNzI0LDUzMzEvc2E3bHFiOjIvVFBDaDdiOjMvYUFKRTljLy9yZnIycGY6LDcyOCw1MzMyL1dIVzZFZjoyL05zaUNSYjozL1YySFRUZS8veENzaW5lOiw3MzIsNTMzMy9Sb2xUWToyL0JraUh0ZDozL1dmbWR1ZS8vbEpCOVNlOiw3MzYsNTMzNC9nM01KbGI6Mi9LNlpFYmY6My9pbXFpbWYvL3ZqRXd1YjosNzQwLDUzMzUvaktHTDJlOjIvQzBKb0FiOjMvLzozNzIvaFZxZkI6LC96Z0pwZGM6Myw3NDMsNTMzNi9CZ1M2bWIvRmlRQ046NCwvZmlkajVkOjYvUjhndDE6NiwvL21JQnl1Oiw3NTAsNTMzNy9ndFZTaS8vSXkxN21kOiwzL2VrVU9ZZDo1L3l2QklYYzozLDMvOjYwOTUvSlR6eE5jOiw2MDk0L0tReldpZC9UQWp2eToyL1pNS2tOOjQvaHdZSTRjOjQvKzIvWjJxTDZiOiw3NTgsNTM0Mi95c05pTWMvd0F1TlZiOjMvQ3BJQmpkOjQvZGJyMk1jOjUvKzIvdm95WWw6LDc2Myw1MzQzL1VWbWpFZC9FZXNSc2I6My9rclJZdGY6NC8rMi9zb0FSWGI6L21URkNRZToyLDc2Nyw1MzQ0L3o5N1lHZi9vdWc5dGU6NC95V0NPNGM6NS86NTcyOC9HRWRGd2M6LDc3Miw1MzQ1L0FmZWFQL1RrckFqZjozL25WRzQ2Yjo0Ly9qN2YxdGY6LDc3Niw1MzQ2L0N4WEFXYi9ZeVJMdmM6My9ZaG1SQjo0Lzo2MTI4L29uOGVTYzosNjEyNy8vS3R6U1FlOiwvVk42akljL2RkUXl1Zjo1L3ZXZlo4Yzo0LC8vVGtwUmZjOiw3ODUsNTM0OS9TbzFMYWU6Mi9PZ2FnQmUvY05UZTA6NC9pSzJzYjo1Ly9yS1d1cGQ6LDc5MCw1MzUwL3JNRk8wZToyL1NMdHFPL0toMXhZZTo0L3NvVnB0Zjo1Ly9kQXBGamU6LDc5NSw1MzUxL3JzcDVqYzoyL3Rvc0t2ZC9aQ3FQMzo0Ly9ITEh6dmU6LDc5OSw1MzUyLzoxMTUsNTg0OS9ab2RmRGY6LDIvVk9jZ0RlL1lxdWhUYjo1L1llS2FxOjQsMi8rMi9MTUhZVDosODA1LDUzNTMvaHNMc1ljL1ZsMTE4OjMvT2RvM09kOjQvL0FZTWYxYzosODA5LDUzNTQvR2UwRGliOjIvdXVRa1kvdTJWM3VkOjQvZDdOVHk6NS86NDYxLy8vb2FaWVc6LCwvbjBmaGJjOjQsODE0LDUzNTUvbU9HV1pkOjMsLC9XREd5RmUvamNWT3hkOjcvVlE3WXVmOjYsLC8vc1hEUXFjOiw4MjEsNTM1Ny96VjlqUWM6Mi9rMFhzQmI6My9WeFEzMmIvL0R0VVpqYzovTG5kM25kOjIsODI1LDUzNTgvUktmRzVjOjMvRFVMcUIvYTcwcTdiOjUvKzIvU1p0TnZjOiw4MzAsNTM1OS9YQWd3N2I6Mi9EcHg2cWM6My9OcDhRa2QvKzIvckZHV1ZkOiw4MzQsNTM2MC9EY0RPTWM6Mi9nU1pMSmI6My9iY1BYU2MvOjYyMDAvbjdoZXlmOiw2MTk5L1ZiNTNaYzovajB4ckU6My9xWngyRmMvbnY4NnM6NC8vcWJTdEFkOiw4NDQsNTM2MS9nVDhxbmQ6Mi9jRlRXYWUvUUUzaHZkOjQvL0c1STZFOiw4NDgsNTM2Mi9UTjZiTWU6Mi9nYXViNC9LbW5uNmI6NC8vU0ZzdUVmOiw4NTIsNTM2My8va2g5NE9jOiwyL05FVzFRYzo0L0ZyY3lKZTozLDIveEJic3JjLy9haEluMWM6LDg1OCw1MzY0L2xIcFF0ZDoyL09aamJROjMvRTJ6bElmOjQvZXVPWFkvKzIvQzRLT21jOiw4NjIsNTM2Ni9rS2NJN2M6Mi96TDcyeGY6My92NzRWYWQ6NC9EcGNSM2QvKzIvWXpBWm9lOiw4NjcsNTM2Ny9oYmJYSWY6Mi9GNjJzRzozL0oyWUlVZDo0L2hqUm82ZS8rMi9FaFYyMjosODcyLDUzNjgvV2VIZzQ6Mi9ZMlh1VDozL0VubGNOZC8rMy86LzoyLy0zOiwvSlpEZ3FlOiw4NzksNTM2OS8rNS8vLTI6LCwzL2JNMlc1ZTosNC9jWFgyV2I6Ni9PMVJxMzozLDQvQmp3TWNlLyszOjI5NywzLCwyLCwyNCwxMiwsMiwyMTY0LDE1OTUsL09YVHFGYjosMjk5LDksMiwxMSwxNiwzNzY0LDkzMiw2NSw3LDEwNS9kdDRnMmI6MzQ3MywxMDI5LDE1MDgvVHRjT3RlL3EySnR1Zjo1OTEwLDU4LDIzMC8vKzI6Ly86My86NTU4OSwxNTQsNzYsMjkvOjU4NDkvOjU4NTAvQnFRVGpmL2ZRdVJEYi8rMzoyODczL0U5SHV6ZC8rMi86LyszLy86ODE0LDI5MDUsNTI1LDEzLDk1Miw0MTUsMiwyLDIsMiwyLysyMjo0NDQ1LC8tMTk6Mjg4MSwyNTU0LDE2NywyNTYvOjMzODUvKzY6NTQzNyw0MzAvOiwyODgzLDI2NjgvOjU0OTYvKzI6NTU1NC86LDI4NzcsMjgyMSwxNywyLDMwLDExOS9OQzBraGIvcXNiemdiLy0xMDosLCwyLCwyLCwzMzgyLDIzNSw4MjAsMzMyLzo1NjY5LDE5OS8rMTA6NDQ1Nywva2F4MVNlL3VxVUdxYi86LCwsLCwzNzU0LDg3L0R1d0E1Yi93REdQZWMvOiwsMjgsNDQyMy8rMzosMywxNSw2LCwsLCwsODAzLysyOjE4LDgwNi8rMjozNjM3LDgyMywyLCwsNCwxODUsNTc2LysyOjE3Ly0xOiwsLDEwLDgxMywzNDQyLCwxODEsNS8rMjoxMiw0NDUxLDIsLCw0LDE4NSw1NzYvOiwsOCwxOSw4MDQsMjkwOSwxMTMvOjgsNDQ0NCwxNCwsNzY3Ly0yOTosLDYsMzIsNzk2LDI1MjUsNjAsMTE0Nyw1MjUvOjUwOTQvbWFlcnVmOjMwLCwsLDIsLCwsLCwsLCwsMjM5NCwxMzA5LDUyOCwxOTcsNCwzMDEsMzI0LDQxOSwyLDIxNiwyLDMwLDM5Ny8rMzEvaWt0UUxkOiwyNDMxLDE2MTksMjExOC8rMi9RRTFid2Q6MjMxMSw0NjUsMTc5Miw5LDQ4Nyw3OSwxMTksOTA5L0FoN2NMZDoyMzExLDQ2NSwyNDgzLDkxMy9RcXQzR2Y6MTg4Ny9PbmxYRGI6MTg4OCwyNjQzLDMwNCw0NDgsNzIwL2RMbGoyLysyLzo0MzA0LDE3OCw0LDc1NS86LDUyNDkvZlFXNURkOiwyLCwxMjg3LDI3OTgsNzc2LDQyMyw1MSw2NjksMTcxL2FhLzo0OTY4Ly9iY3Q6LC9kYm0vZ2Y6NDMyNC86NTExNi8vYUFkZUZlOiwsMjQ4OCwzNjk4LysyOjQzNjYsNzUyL1M4NHF1YjosLDI0OTMsMTUxNiwzNTUsMjA2LDYxNCwxMTMvR21ISDBjOjI1MDEsMzY5MC86NjkwLDIxNTEsMTQ3MSw5NTIvOjQzNzAsNzUyLysyLzosMjc4MCwyMzA5L0dMR0o0OiwyLCwsMiwsMjQ5MiwzNDQsMTE3MywxMDcyLDE0LDQxLDQ4LDExMy9rVG00QWI6MTAsLDI0ODUsMzcwMS9URnRldWI6MTU1OSwxMjI1LDI1MjMsODkxLysyL2RIWngzZTosMTU1OSwzMzA1LDMxNiwxMDE5L0RVRjZBYzoxNTYwLDM2MzYsMTE0LDg5MS8rNDo2MTQzLDIvKzQvLy03LyszOjQ4MzcvLTQ6LCwsLCwzNDYxLDcwNywxOTU4LDE4LDE0LDk0Lys5Oi8rMjoyLDYxNTcvKzY6NDg0MSwxMzEwLDIvOi8tNjosMiwsMjIsMzUxNywyNDE1LDE1OCw0OS96TjhzRWM6LDE5MjUsMjk3NCwyMjksNzksOTcsMTcsODkxL3c2bzZqYy8rMTA6NjE5OS9SZFZPbWI6LDQ0NTEsMTIvd1E0aldjOiwyMjA0LDI2NDAvOjMyMjQvKzM6NjE0MywyNi8tMTovKzMvKzMvLy0yLy0zOiwsLCwsMiwzMTU4LDcyLDIwOCw0NDgsMjI0OCwxNywxNCwxNC8rNzo0MTkxLy8tMjosLCwzMTIxLDI2MCwxMSwzOTksNSwzODksNjQ2LDEzMDYsLDI0Lys3OjIsMiwzNzk2LDM5MCwxOTUyLDIzLys2Lzo0ODYyLysyLysyOjM1NjQvdzFIYVpiOiwsLCwsLDMxMjYsMTExNSwxOTI4LC86MzUwMi9tT2xWRmY6LDIwODIsMTkyMi95UXNqOWQ6MiwyMDgxLDE1NDQsMjYxMC8rMjo2LDUzMDkvLTE6LDUzMTQvKzI6MTcsMTE3LDMzMzEsNzQzLDIyLDE5NTEsLCwxMiwyMSwzLzoyLysyOjIvOjQvOjEwLysyLy0xOiwsNjM0NS9NME80bGU6LDMsLCwyMDc1LDE5ODcsNjM5LDEzNjYvKzIvL0x6ZGxsOiwsMjA4NS90V0ZEZDoyLCwyLDQsMjA3NSw0L2R6NXFUYjosMjA4MywyL3R1Qzh4ZToyMDgyLysyL3FCaWtZZTosMTgsMjA3MiwzMjU2LDkwOC9Tdng2ZWY6MjA5MS8rMzo1MS8tMjosMTcvKzM6NTMvKzYwOjQyMjkvLTU4OiwzMi8rNTIvKzMvLTU0OiwsMjIsMTgsMTgsLDM5ODEsMTkyLDE5ODYsMjgvKzI6MjAsMi8rMzQvLy8vLy0zNjosLCwsLDkxNCwyMjQ4LDc0OSw1L2ZiNGZVZS9ySzVVaS95V1ZCcWUvWXh3NmhiLys2OiwsLC86Ly86LCw0NTc5LCw3NjcvTkx1Ym8vRmlqbm1jL3YwWGJsYy9KbmhONGQvY0pSOGpmL3gwVjVQYi8rNzosLCwsLC86NDU5NCwvOi86LDIsOSwzODgzLCwsODUsNjA1LDMzMi86Mjk3OC86Myw0NTg5LDIsLCw0LDE4NSw1NzYvOjQ1OTksLysyOjQ2MDAsLzosNDU5NCwyLCwsNCwxODUsNTc2Lzo2MTg4LyszOjM5Lys4OjMxLDUsNDU2MywzMDkvKzI6MzAvOjMwLysyODo0NjA3LC8rMzo0NjA4LC8rMy86LDM5OTUsNjA1LDMzMi8tMTg6LDM0NzYsMzcsNDIxLDY3NywxNjQ3Lys1OjM1MTUsMTA4OCwxMCwzMjIvLTI6LDM5MTIsLDg1LysxMDo0NjE0LC8rMjo0NjE1LC9aeW15aGYvLTY6Ly0xMDosMiwsLDIsMywsMzksOTM3LDI5MjkvKzM6MzMxOCwyLy01Oiw0MTMsLDM4NTkvKzQvKzUvKzEzLy0xNTosLCwsNyw0LDk3NiwsMTk1NywzNjgsMjAsMTc2LDYwLDI4MCw0Miw5LDEwNSwyMjMsMzc0LDUsMTAsMTkwLDEwNywzOTAsNzkvKzE3OjM0OTEvLTM3OiwsNiwxNCwyNyw5MzksMiw5LDI1MzgsMzcsMTA1MCw0LzozMzIzLDE2MjgvLyszOjU4LDIyLys2OjYyMTcvRjFRVGZjOiwsLCwsMjAsLDIsLCwyLCwsLDEwLDgsNiw2LCw0LDYsNCw4ODYsLCw1LDExODIsMTA1NSwxNCwzMTcsMiw5MiwyNDksMTQ3MSw4MCw3OTMsMywzMyw2LDExOCwxNi9LdmZ1aGM6LDcxLDQ2NCwxNCwxNjAzLDQxNzIvKzI3Lzo0NjM1LDExMjYsMiwyLDQsMywyLDIsMiwyLDIsMiw0MywsMTIvKzIvOjQ2MzYsLyszOjMsNDYyNCwxMTMxLDIsMi8rMjosMiwyLDQ0NTUsNjQsOTUsMTQsLCw3NjYvKzM6NDAyMC86NDkxMC86Mi8tNDosLDMsLDMzLDI3LCw4NzYsNDAsMjY5MCwyNjksMTMsMjUsMTcvKzU6Mi8tNDosLDQsMzIsLDkwMywzOCwzMiwyNTk0LDQyLDYsMjcwLDQyNSwyOTMsNC9kaFY1U2U6LDEyLDY5LDQsOTEyLDExNjcsMywxMDUyLDg4NCwxMTUwLDg3Myw0MC9meDlnbGI6MTA1LDIwNjEsMjE5NC8rNjo1MzcxLDgwL1FQUlFIZjosODEsMjUsMTk0Niw0MzY4LyszL3BnQ1hxYjosMjQ3NCw1NDEsNCw1LDU2NSw1LCw2MjEsOCw5ODgsOTksNjIsNTYsNiwxNiw2NTgsMzcsMjIsMTc0Lzo1NDIxLys2OjEwNy8rMjoxMzkvOjE0MC86MTQxLy04OjQsLDEzNSwvKzI6MzI5NSwxNjYxL0hqcTFVYzosLDgsODQsNzAsLDE1NjYsMjQ0MSwxNjksOTkzLDEwMTcvSjR6VHNkOiwyMDYyLDMzOTgvUWF3a3NjOjIwNjMsMzI2MSwxMDI5L1NCVkR1OjE0MCwxOTIzLDg3NywyMDc5LDMwMywxMy8rMTA6NTMyNy8vLTI6LCw2LDE1MCwxMyw0NjAxLDI1MC8rMzoxNzEvL05mdWp3OjIsLDE3MTUsMTc5OCw3MTksMzAyLDY3NSw3Nyw1Miw4NSw0Myw4OTEvcHZ5d21kOjQsNSwxNTEsMywzLDE1NTcsMzMyNCwyOTUvQzZtMlM6NCwxNjUsLDMsLDI0OTEsMTUxOCw1MzcsNiwzNDQsMTQ0LDE0NCwxMTMvSnNNelhkOjI2NjQsMTAyOCwxNzgwLDg5MS9URFBTMGM6MTY1LDI0OTksMzcwMC8rMzoxNTUsMzA5NiwxMDc0Ly0xOiwxNTQsMzA5NiwyLCwyLDEwNjEvKzIvWUNLS0Y6LCwyNjY0LDE2NzUsOTQzLDE5Myw3MjAvL3RJajRmYjosMjY2NSwyNDA5LDM4MSw5MTQvYWJkOjUyNjAvd1owbGNlOjYzNzIvKzIvOi8tMjosMzAzNiwxNzUzLDQ5MiwyMDIsNjU2L3JSTml5ZDosMTA1NywxNjA4LDE3MjMsMTA4LDYsMzIsNTg5LDEwNCwzMSwxMCw0MywxMzYsMTQsNjgxLDIzMywxMDEvUHJUWTM6MiwyNjY2LDIwNTgsNTQ0LDE5Niw5MTEvYmdkOjUyMzAsMjExL2RkbHhzOjUzMzgvKzMvL3AySTJKZTosLDUyNzMsNywvOi9GY0NxQTosNTA5MS95ZlNFVzoyMDMwLDMzMzYsNy9XWHhUQmI6LDIwMjksNDM1Ni9CTkVMOGQ6MjU2NCwyOTMyLDg5MS9BdFV4c2M6MjU2NCwyODY0LDExLDU4LDg5MS8vWW5CWk9iOiwyNTYzLDI5MzUsODkxL2pXVjBwYjoyNTY2LDM4MjUvWlNndUtiL0t0S2d2ZDoxNjg4L0VuZ0hkYzosMTY4NywxODYzLDEyMjQsMTY5OS8rNS8rMjovKzM6MTc0LDUzMDAsODc5LDIzLDMvKzc6Mi86Lzo1NDc3Lzo0MzY5LDMsMjAwOCwzL29TU0k0OiwsLDIsMywyLDQ3LCw4MCw1NywxNDk4LDEyOTUsNjM3LDMzOCw1LDgxOSwzNTEsNDQsMzAzLDY3NywxNTEsMjIsLCwyLCwxMiw0LDIzLDMsMjAvKzkvOjQ0MTgsMjA5Mi9ibEtkMGM6LCw5LDIsMTY4NSw0NzA3Ly9qZWxJZ2U6LDEyLDIsMTY4MSw0NzExLDY0Ly9HektxUmQ6LDE0LDIsNTE2LDExNjQsMjA1OSwxNjQ4LDMxLDI1LDQxLDE3LDg5MSw2NC9HajMydGY6MTY5NywzODIyLDcwOCwxODMvRkNSZnU6MTgsMTY3OSwzNzU0LDExLDU4LDcwNCwxODcvVjJPOXE6MTgsMTY4Niw0NzA4L1ZnQmRFYzo3LDE2OTYsMzgxOSw4OTEva3IwUkNmOjM1NiwxMzQyLDE4NzYsMTA4NCwxNDQsNTI4LDE3NiwxNyw4OTEvR0g5c21mOjE3MDAsMzY5Myw3NjAsMjYyLDY0Ly8vV09Kalo6LCwyNTUzLDQ2NywzMjAwLDE5Ni8vUmowMFZjOiwyNTUzLDM4NjYvUUtaZ1pkOjI1NTIvTmRMbkRmOjI1NTIvKzI6NjMzMi86LDQwOTYvOjQwOTQsMzMyLzovV2N0NDI6LDIsMiwsMjU1MCwxNTM2LDM1LDMsMTU2LDE0MSw2LDk4OSw5MSwyMyw4OTEvQjVUMTFjOjQzNywyLDczOCw5MTEsMTIyNywsMywsMjY3LDc5MiwyMiwxODMxLDI1LysyOjU0NjAsODAvOjYyNy9pRzNabWY6LCwzMTIsMzA3LDEzNDIsMjQ1Miw4ODYsMjM5LDg5MS86NDQyMS86MzU4OSw4MzMvLy8vOjQ3MzIsNjMwLDEzOSw4LDQ0NC86NDU2NSwxNzgsNCw3NTUvOjIvOjMxNiw0MjUxLDEyMyw1NSw0LDYxNiwxMzksOCwxMTUvOjQ1NjgsNDgzLDMxNSw4LDEzMS8vOjQ3NDgsNzU5LzovOjQ1NzIsNzk4LDEzOSwzNTAvOjQ1NzMsNzk4LDEzOSw4LDMzMSwsLCwsLC86NDc1Miw3NTkvKzQ6NDc1Myw3NTkvLTM6LCw0NTc0LDEyMjYvKzg6NDc1NSw3NTkvOiw0NTc3Ly0yOjU1MTYsMjkxLy0yOjU3NDksMTQ2LDYwLDE4LDE5OSwzLys1OjU1MTgvOjU1MTksMjg3Lzo0NTgzLDc5OCwxMzksMjgzLDIvOjMxOTAsOSwyNDQzLDExMSwxMTQsNTMvLTk6NjE3Ny8rMjo2MTE4Ly01OiwsLCwsLCwsLDIsMTQsMjgwLCwyOCw0MjMzLDMsNTAwLDMyMywxMzksNTczLDYsMjgvOiw0MywvKzEzOjQ3NjcsNzU5LzoxMSw0NTU5LDIwLDc5OCw4LDEzOSw1Ny86LCwxMiwzNjg2LDE2OTgsMTk5LDIsMiwyLDIsMiwyLDIsMiwyLDQ5Miw1MC86MzcxMy86NTUzMC86LDM3MTIsLCwyLCwsLDIsMiwsNjU5LDIwMiw4LDQ4MywzMjMsMTM5Lzo0NDMwLDExMDIvcktiV29mLysyOiw0NTk2LDQ4MywzMTUsMTM5LzovRmpqVG9kLysyOiw0NDE3LDE4Miw5MzcvOjQ1NzEsNzU5LDYxMy86NDYwMiwxNzgsNCw3NTUvOjU1NDAsNDk5LDQ4LysyOjQ2MDQsMTc4LDQsNzU1Lzo0NjA1LDE3OCw0LDc1NS8rMi8tMTosNDUsMTIwLDQ0NDIsLDgwNSwxMzgsNjA3LysyOjE3LDExMjYsMjMsMiwyLCwsMzkxOS86Mjk3OCwsMTA4NSwzLDQsMzI4LDE5MCw1MDMvOiwxMTM5LDIxMDcsLzo0NDcwLDE0MSwxNzgsNCwzMDEsMzE1LDEzOS86NTk0OCwxMjYvLzoyMywzNzA0LDE1LDY2Miw2OTMvOiwyMS9leGdhWWU6LDIsLCwsMiwsMiwsLCwsLDIsMywsMiw0LDE1LCwsMiwsLCwsMiwzLCw2LDE4LDI1LDU5NCwxMiwyMDY1LDIwNiw0LDUwMCw2ODQsMTk4LDMwLDkwLDk4LCwzLDIsMjEsMTE5LDkyLDUyLDM1NCwxODksNCw4LDg5LDU3LDMsMTcsOSw0NSwyLDIsMzU3LDIsMyw0L2lmbDo1NDI3LDExL2NTWDlYZToyNzQ5LDIwMDksMTE1LDE0MjIsMTk2Lzo0ODUxL3NvbmljOi90bDoyLys0OjY2MzYvdXhjRWViOiw2NjM1L3F6eHpPYjoyL0xSNjR4OjIvSXNkV1ZjL3NwY2g6LDYxLDI4MjksMTU3MywzMDMsMzY0LDQ0MSwyLDc1MiwxMDMsMTIsLCwxMDcvSFlTQ29mOjI2ODksMTY3OCw0OTIsMTY0Mi9GdTdZbGQ6MjY4OSwzODEzL1ZENFFtZToyNjg4LDE5OTEsMyw3NjksMTA1Mi9sbGk6NTIwMS9SYWdEbGMvKzM6NTM4OC9CTzQzZ2Q6L29VbG5wYy9mY3Q6MTI2NS9kcGY6NDc3NSw0LDMsMTQ3LDIxNSwyODQsMTc5LDcwOCwxNi9tYjRaVWI6NDc3NSw0LDMsMTQ3LDIxNS9YRDdvT2M6MjY3MywzNjQzLDI1LDE3MS9wMWZzcWY6MjY3MywyOTQ5LDg5MS9VSDJkcGI6MjY3MywyMTc0LDU2MSwyOCwyNiw2OS90UGxLaGU6MjY3MywxNzAxLDEyNTAsODkxL1FOTjI2OjI2NzMsMjk1Miw3MzQsMTU3L0Z5a0E5YzoyNjczLDM4NDQvc1lFWDhiOjExMjEsMTU1MiwxNzA0LDQ3NCwzMTMsMjQ4LDIyLDMyLDY5LDkyLDY4MCwyOTQva3luOjM4ODEvYjFTbzJlOjIyNzYsNDI0NCwxMDEvS3dLYUxlOjE3MiwyMDc3LDQyNzIvKzQvOiw1MTg3LDQzLDQwMS8rMi8vOjQ5MjUvQXN0YjRiOjIsMiwxNjcsMjAzMiwzMjk2LDksMTAxOS86MzQ2NywzLDM3NSwsNDMyL0Vtc3QyZTosMjIwMyw0MTE0LDE3NCwzNy9EZlk5TjoyMjA0LDI2NzMsNTQ2LDIxNiw4OTEvd3RuVHRmOjIyMDQsMTY4Ni9Oc3JqMmI6MjIwNCwxNjg3LDE3NTAvakpjVU46MjIwNCw0MzI5Lzo0NTQ3L2c1U0w3ZTosODA4LDEzOTQsMjM1OCwxNSwxNTIsNzIzLDY1LDcsMzMsNSw4Myw4OTEvT3pic1NlOjIyMDMsNDMzMy9KMXQ4N2U6MzA2LDIyMiwxNjc1LDMyNTAsMTkzLDg5MS9aVHgzeGU6MjIwMywzNDQ0LDg5MS9uOEplNWM6MTg0LDIwMTksNDEwMywyMzMvR28yVWhkOjIxOTksMTAxNCwyNDM2LDg5MS9QNE1PSWY6MzYzLDIsMTgzMywyMjUzLDI0OSw5NTAsNzIwLDE3MS8veDVPaGRkOjU1MjQvVzBheDhjOiw2NiwzMDAsLDE4MzQsOTQ3LDEyNTQsNTEsMTA3OCw4NCwzNyw3MjAsMTcxL0VTclBRYy9XdGR5QWUvOjQ0OTkvOi8rMjosNDkzMi86My8rMjovUHNQQWZkOiwyLDMsLDIxODYsNDM1OS8vRU5pcE1lOiw1LDIxOTAsNDM1OC8vKzIvOiw0NDcwLDQ0LDE5ODMvQmtrVzFiOiwyLDIsNCwxNzYyLDI3MzgsMjIsMTExOS86NTY3MC86LDUyODYsMzA0L0E0VXJlZjosNTQzMC9ucVE1ZmU6NDcyMS9JeDdZRWQ6MjksMjE4OSw0NDA5L2RwNkpNYzosLDIyMTYsMzE5NywxMTQ5L3dSbk11YjoyODE1LDM3NTAvbDUxTWllOjI4MTMsMjg2Miw4OTEvR24wUWtlOjI3OTAsMTUxMiwxMjg5LDg1L2YxWWdCZDo0NDIvQlZsaG1kOjQxNCwvOjYyOTIvdThpMUo6Ly9QNG8yZmQ6Lzo2MDkxL2FqbFNyZDovOjYwOTMsMjA1L1NrcnNpYjovOjYwOTUvOjYwNDIsMjU5L3h4QjRjYzosLzo2MzAzL1dIbHRRYjosMi9HNnNnUzo0L3lobndLOjYxMDEsMjA1Lzo2MTAyL2RMeUNSYjosNi86NjMwOS9TN1V3cmM6LDgvOjYzMTEvc1U0WHJlOi86NjMxMy86NjA1NSw1NCwyMDUveFZBUEJlOiwvOjYxMTEsMjA1L1RwV0tkYzovZEk1SWk6NC86NjMxOS9ObHkwa2Q6LDUvdnltQk5iOjcvOjYzMjIvR09XNkViOiw4Lzo2MTE5LDIwNS9LYlZWOWQ6Ly9wVGd0MmQ6LDEyLzo2MzI4L25JYUdrOiwxNC86NjMzMC9UQnJ2TTovOjYxMjcsMjA1L1NNUDNHZTovOjYzMzQvVnhTaENlOi86NjMzNi9aeVVLMmQ6Lzo2MzM4L0JPS3Y2Oi86NjM0MC9RbG40bTovL3F3aWY4Oi8vWDlJMXFiOi9rQ2tmVWI6MTU1Ly9INUt2ZmQ6Lzo2MzQ5L3VMOVRlZTovOjYzNTEvOi9vaWJxbWI6L1BWQ0lWZDo2MzU0L1dEY3FBZTo2MzU1L1JEWnozZTo1L0ZGUDN1ZTo2Lzo3L3o5a2VYOi86NjM2MC9ONmNHM2I6L1FKN0haYzo2MzYyLzoxMi9XQ3JzRGY6LzoxNC9VV2JQZ2M6Ly9tTTFqQmQ6Ly9scE1DNTovL3c0ejJsOi86MjIvVTk4clFjOi9MM3g2a2Y6MjQvS0lwaEg6MjUvRFRyek9iOjI2L0hXTXRyYzoyNy96SW5kZ2Y6MjgvOjI5L1ZSUldnYzovR2FManFiOjMxLzozMi9EMzhjMGQ6LzozNC9HdHAwdmY6Lzo2Mzg3L3ExTzBwZDovOjYzODkvdGRKaVhjOiwyLzo2MTk2L2lBTTNyYzovL0xJNG9MZDovL2pQdk00ZDovL3VVaFRoOi8vbWs4eEJlOi86NjQwMS9zR2NidTovOjY0MDMvZFI2MUplOi86NjQwNS9NSjNBODovL3NWSlFuZTovOjY0MDkvb2FyaWNkOi86NjQxMS9BYzZuSWQ6Ly96ajVTYmM6Lzo2NDE1L2pxcWIwOi86NjQxNy9ENm5nQ2M6Ly9QWDBjUDovOjY0MjEveTBsN21jOiwzODI2Ly9OelBhOGU6Lzo2NDI1L09OWUpzZDovL3BiWWpzZDovVHFFUVZiOjIvOjY0MzAvWFRnRVZjOi86NjQzMi9UemQ0WWM6LDYxMzYvak1EMjNjOjkvOjY0MzUvblRFckdjOi86NjQzNy9pR1B0TGI6Lzo2NDM5L0Zsalo1OiwzODExL1hUaEsxYzoyOTcyLDI3MzAvOjY0NTYvSmdvODliOiwyMzYzLDI3NDAsMTM1NSwzMjYvL01GMzcyZTosLDIsNTAsMTg5MiwzODY5LDE3LDg5MS9QYkhvNGU6MTQ3Myw4MzksMTMwMCwyLDEwOCw5NTMsMjIvUjdGZmxmOjI4NCwyMDI4LDE0MTEsOTEyLDEwMjEsMTA2OS9RYUZTRWI6MjMxMiwxNTcxLDI5MjMvdkdwRk06MTk0OCw0Nzc5L2l3M0NJZC8vLysyL2xtdHVIYzosLCwsMTczLDE2ODMsMzk4MSw3MjAsMTcxLzo2MjMvVTRmZ3JmOiw2MjYsMjMyOCwyODg4LDcyMCwxNzEvcktvRzVlLzozOTAxLDc2OSwxMS9XbjNhRWM6LDI0NDMsMjIyMSwyMTUyLysyLyszLy00OiwsMzM3LDM0MDgsMTAsMTU4LDM5MSwzNTIsMzQzLysxMC8vOjUyNSwxMi8rNDo2Njg1LDIvOjY2OTQvLTgvKzQvOiw2Njk1Lys5LysyLy0zOjQ3MTIvKzQ6NjY1NSwyMy8tMjo2NjUzLDI0LDEyNS8rMTYvLTM6LDY2ODMsMTIsMiwxMC8vOiwvLTQvLTI4OiwsNCwsLCwsLDIsLCwsLCwsMzQxLDE0MiwyNiwxMiwxNiwsODgwLDE3MTUsNjIwLCwxNTAsMzg2LDE3LDEwMywyODIsNDM0LCwyMTksMTI5NSwxMSwyMSwsLDIsLDM4LDgvKzEzOjE0MzgsMjQ4OC8rMjkvLy0xNDo0NzE1LysxNTosNSw0NzUwLzo4LDE0MzUvLTE5Lzo0LDUsLDE0MzUvKzM2OjIvLTE3LysxMy8tMTI6LCw1LysyLysyLzosMjI2Ly0xNToxNywxNDM2LDI0OTYvLTE3OjM5MzEvKzIwLy0xOiwzNy8tMTY6OTc5LDM3OTEvOiw0NzY4LyszMDosOC8tMTk6NjczNS8rMy8rMTg6MzQzNCwxMjYyLDE4NDEsMTg4Lys0OiwxMy8rNjozMS86MjIvLTI6MTMsMzkzOS8tNTE6LCwsLDIsLCwzLDIsMiw2LCw1LCwsLDM3LDE2Niw2LDc3OCwyNjM4LDEzNyw5ODUvKzQ4Oi8rNjoyL0NKOXNLOiwsNTMsMTM2NiwyLDU4MywyNzE2LDEwNjYsMTAwNC9EMzcwMWI6MzAzNSwxNDgsMjM1OCwzMTUsMjksOTU4L3V4Mld4OjMwMzQvWVB4UWFkOjc1LDI5NTgsMzgyNi8rMzo1OTA3Ly86OCw1MTc0LDQ2OCwxMzYvOjMsMjM3LDEwL1ZOeVl6YjosLCwyLDM3MiwyNjYwLDI0NTAsMjk0LDExMSw2NDYsMTYwLy86NTQxMy86NTQxNC86LCwzOTk4LDQ5Niw1OTcsNS8rMzo2NDYsMzYzNiw2NTIsMTYwLDUsNi86LDE0NzUsMjgwMi86NjUyNSwzLzosNTEwOSwvOjUxMTYsLysyOjY1MjksMy86NTg1Myw1MTIsMTY4LzosLCwyLDQyNzksMTM1LDg2LzosNCwyLDE0ODEsMjkwNCw4LDEwNSw1MDEsODIyLzo0MDEwL01OaVFOYzosLDksMywsNiwsMTM5OCwxNjMxLDIwNTEsMzkwLDMzNiw4LDE4LDQ4LDcwMiwyMTEvdEg3NWhjOjkyNiwyMTMxLysyOjE0LDQyLDQ0NTMsNTk3LDUvajd5RWxkOiwsMTUsNywsMzAyOSwzLDI2NzcsOTcsOCw2NiwyMiw2ODAsMjExL1NwRk1YZDozMDU0Lzo1MTI4Ly9yZDdOZ2I6LCwsMiwzLCw5LDMsMzAzNSwyLDMsMjA0OCw2MjksLDE5Miw2ODAsMjExL3llemdJYzozMDc0LDQyMiwyNDM2LDg5MS9tMHhaRGI6MzA1NywzNzY3L0d6OTFiYzo5NSwxOTc2LDQ3NTQvRmtCRXpjOjEwNywxOTQxLDE0ODgsMjE4NCw4Nyw3LDEwNCwxNyw4OTEvTTBoV2hkOjMxMTMsMzcxNC9BN1VMQWQ6NDczMSwyNiwyLDIwL2NOZ2RRYzosMTQ1NywzMzAxL0xkQjlzZDosOTMsMzAyMSwxNjIxLDE5LCwsLDE1LDUsMjksNDgzLDQ1NiwsMTA4My8rNC9wcnN3c2Y6LDMwNzYsMjg2NCw3MjAsMTcxLysyLy91UWpsdmQ6LCwyNzIsNiw2LDI4MDMsMjEyNyw3MTEsOTg4Lzo2NTU1LDQsMy9sOFh2aWU6L3pHbzBxYzoyLy9ZcWJoaWU6Lzo2NTYwL013MjlLYzovOjM1ODUsMjk3Ny90bm5WRGU6Lzo2MzcyLDE5Mi9ibHh1UmI6L0E5QXRSOjM4OCwsNS9HTEdaczozOTUsNjA5OCw2LDI4L1lsdHE3YzozOTIveXUxWUxjOjQzMS9oajVadTo0MzUvd0thMkJkOjQwOTIvU2ZyV1k6NDEwMywsLC9QUzNLdGU6MzgwNy9tWFJPemI6MzgwOC94NGtrb2Q6MzgwOSwyL25ndkJ2OjM4MTAveTc3bUliOjM4MTEvQkY1QldiOjM4MTIsL1hGdjV2OjM4MTMvOjY1ODMvL0tyTkxtOiwvOjY1ODYva0hUNm1jOiwzLy9xeGRjRmY6Ly9jaE1xOWM6Lzo1NjEsNTY4NSwxNzgsMTY1LDQsMy91YnkzYmY6Lzo2MjQ4LDM0OSwvcHRZYVA6Lzo2MjUwLDM0Myw0LDMvUXBaM3JjOi86NjI1MiwzNDksL2VLVXRUYzovOjYyNTQsMzQ3LDMvYk8wVWhjOi86NjI1NiwxNzgsMTY4L01rcXBUOi86NjYwNC91cVBjYjosMjEvL0VoQXFTZDosMjMvOjI1LDYzMjQsNTQvVnRsdVJkOi86NjYxMC9zZjlEaWY6Ly9aTEpscWY6LDI5Lzo2NjE0L0FhbWh6OiwzMS86NjYxNi9mbDVLQmI6LDMzLzo2NjE4L1ZoTmtwZjosMzUvL0xmd2dTOiwzNy86NjYyMi9qSFY1bmU6LDM5Lzo2NjI0L1BaQmNLZTosNDEvOjM2NDYsMjc3NS9JcGhhcWI6LDQzLzo2NDIzL3luVERJOiw0NS86NDcsNjMyNCw1NC9NMEFWMWM6Ly9OZXJ6SjosNDkvOjY0MjksMjA1L1pGNnphZDosNTEvOjYzNzcsMjU5L0lVakx3Oi86NTUsNjMyNCw1NC9rcUltT2I6Lzo2NjQwL2VYY1RJZTosNTcvL2t4YzJkOiw1OS86NjY0NC9VUkk1SWM6LDYxLy9qdXYyTWU6LDYzLzo2NjQ4L2Q4S243ZDosNjUvOjY2NTAvUmZFbHJlOiw2Ny8vekVlQldjOi86NjMwOCwzNDYvYllsOHNlOiw3MS86NjY1Ni95MzBkRGI6LDczLzo2NjU4L3RjYjhWOiw3NS86NjQ1NS9haTY0Y2Y6Ly93OHBrNWU6L0g5ekFrYzoyLzo2MzE5LDE0MSwyMDUvRFhGaXA6Lzo2NjY4LDMvZkVTSE9kOi86NjY3MC9DMnZjWDovL2lWbXhpYy8rMjosLDY2NzEvV2dOb1k6Ly86NjY3Ni9TTXdYQWI6LC86NjY3OC9ZblFlMDovSExEaDVjOjIvOjY2ODEvbGt5VkVlOi86NjQ3OCwyMDUvQlVmYVdiOi86NjQ4MCwyMDUvU0p2MVM6L3g3ZGFZYzo2NDgyLDIwNS9BNE9qd2Y6My9QNFAyWWQ6NC9ORTFQamI6NS9FaHEwYmU6OC9VNnJLbDo5Lzo2NjkzL1p4WGFoZDovck9sWm9kOjIvOjY2OTYvTEYyNUk6Lzo2NDkzLDIwNS9UWFVkdmU6Ly86NjQ5NiwyMDUvZDVtQUJjOiwvOjY3MDMvTmVFVjFjOi86NjcwNS9rWVNobmM6LDQvOjY3MDcvUkJpcDhjOi86NjUyMy9odGtvYWU6L2cxZk9YYy9HaHFwYWU6L2FkbjdOOjUxOS9JdmVWcToxNjM4LC9WWkx5QmU6MTY0MC8rMjo2NTExLDIwNS9LMXI3SWI6Lzo2NzE4L1BUd0FzOi9CSDY2bGY6Mi86NjcyMS9nV1o0UWM6Lzo2NTE4LDIwNS90REpHR2M6Lzo2NzI1L3dpZE1xZTovcmZ1YkY6Mi86NjcyOC9yYTN1aGI6Lzo2NTI1L081bjhGOi8vYVZWaXVlOi8vT0libmhmOi86NjczOC9pTXFGY2Q6Lzo2NDc5LDU0L1g2S29SYzovOjY1MzUsMjA1L2FzV2ZSZDovL1diV01FYzovL1hGRTJtZTovOjY3NDYvdkx3SWFiOi86NjU0My9lckdlU2U6Ly9NNHcwMmM6L3hQUnBSYjoyLzo2NzU4L0U0bUtrZjovL3lHS2ZGYjovcnpMSW5jOjIvOjM3NzQsMjk4MSwzL1ZrT3dUZTovd2I0eWY6Mi9oenBjbmM6My9MZkJmVmU6NC9Ra0g5R2U6NS9FaXdpaWQ6Ni9pblNYaWY6Ny94MXlJVmM6OC9PVmlJQmQ6OS9qSWwyU2U6MTAvQTVtQ3piOjExLzozNzg2LDI5ODEsMy9LQmNSeGI6L0Z2WWhwYjoyL1BPUzRDOjMvbHR5R2xkOjQvQk9RVzE6NS9TenpOQ2Q6Ni9IYjZhYWQ6Ny90NXJSb2I6MjU1Lzo2Nzc5L2xIanhvYzovOjY3ODEvVFdSVDNiOi86Njc4My92NGNOVTovOjY3ODUvbkpKT2FiOi86MzgwMywyNzgyLDIwMi9udTJyWDovOjY1ODQsMjA1L241Z0puYjovL3JNYTdzZTovL0I1Tk9nYzovL3pnYjVuYzovOjM4MjIsMjcxNiwyNTkvUmtoRWFkOi8vYW5obE9iOi8vQXI1SkhjOi90SnJOTWI6Mi86NjU0NSw1NCwzNywxNjgvbXp1VVljOi86Mzc5OSwyODAyLDIwNS91dkU0RmM6L0NWcVlVYjo0Ly93d3N3S2U6Ly9qajBLY2Y6Lzo2ODEwLDMvRHhqMEM6L3k2WXRpYjoyL2w5QjJXZTozL3U4ZTVBYjo0Lzo2NjEzLDIwNi9UQldqSWM6Ly9SQTAwSWY6Lzo2ODE5LDMvUkVrNFJjOi86NjYxOSwyMDUvcFpZbzU6Lzo2ODI2L1hHVngwYjovOjY4MjgvTkFpWEZiOi86NjgzMC9RNEdKUGM6Ly9pdFJWa2U6Ly9URG5reGQ6Ly9OQXNxVWI6Lzo2ODM4Ly9ZeXUzN2Q6LC8vVzJvTW5mOi8vTDdmeUtmOiw1Lzo2ODQ1L3dQWmMwZTosNy86NjY0MiwyMDUvOjY4NDgvTEhudkVjOiwvL1Z4RTNkZjovOjY4NTIvc3BDNG1lOi86NDA4OCwyNzY2L21RRlg5Oiw2NTc0LDkvOjY4NTYvUGJHbFpjOi86Njg1OC9KNFBiQ2U6Lzo2NjU1LDIwNS9sdXlHS2U6Lzo2ODYyL2c1dnVGZDovbzJwVlllOjIvOjY2NjAsMjA1Lzo2ODY2L1Jvb01NYjosL3RRcUtROjIsLzo2NjY0LDIwNS9rY1NtUmI6LDMvTlVrdEhmOjUsL3pGVlV2Yjo2LC8vZDdDZ3NmOi86Njg3NS9oaFByWGQ6Lzo2ODc3L2VXMzhoOi86Njg3OS9NUHBXWmQ6L3ZKZDJhYjoyLy9VaDZQSWI6Lzo2ODg0L1JEUmNEZTovL29VQml3ZjovL2ZYd29rZjovL1ZDUTg0ZTovOjY4OTIvT1RSZG5jOi86Njg5NC96Nkl6NTovZ2JEdWliOjIvQWxOWGI6My9Na1NxSjo0L0FlUnA3OjUvOjY5MDAvSTNPRWI6LDYvVFdtVkhmOjgvOjY5MDMvQktWTlplOi86NjkwNS9nd0piRWI6Lzo2OTA3L3FWMVpxYjovOjY5MDkvZWoyUlo6Lzo2OTExL1ZBYlRIYzovdDJvQnJkOjIvOjY5MTQvRklxSUlmOi86NjY1Nyw1NCwyMDUvWFdnN2xkOi9hSnFEbjoyLy9jU0x0ZGY6LDMvbXVUVWxlOjUvaEdGWExlOjYvdFZsTWZkOjcvdUg0c3BiOjgvZUFlM2djOjkvS3NES3hkOjEwL2VmVnBnZDoxMS9Uc0hidmQ6MTIvTENzcVllOjEzL3d3WENDYjoxNC9tSGE4YWY6MTUvL3d3V1Z0ZjovOjY5MzQvWUY3dkdmOi86NjkzNi90c1dQRjovOjY3MzMsMjA1L1AyWDB1YjovOjY5NDAvZFFtT0ZiOiw1NTEvOjY5NDIvTERWN2w6Ly9ObzRoVGQ6Ly9jM3FweWQ6Lzo2OTQ4L2dadHBBZDovOjY5NTAvTDdSNEI6Ly93S0pGYmM6Lzo2OTU0L3pGTTZiYjovOjY5NTYvUUx3T3M6Lzo2OTU4L0t4WDVKOi86Njc1NSwyMDUvZUtSWDY6Lzo2NzU3LDIwNS9Zc0pUdWU6Lzo2OTY0L2J4REg4ZDovOjY5NjYvRE1veG1mOi86Njk2OC9NTjBGVWI6Lzo2OTcwL2IyR2MxYjovOjY5NzIvU1Vjd0liOi8vd3NvN1lkOi86Njk3Ni90S2RvWWU6L28yaVdhZjozMDMvL2FuSE5uYjovL2ZRN2J1ZDovOjQ3OS92QnlzbmU6LDE3MCw1MzYsMTc3MSwzODcwLDIzLDcyMCwxNzEvLzo0NjgsNTgyNy9GcEZTbWI6LCwyNDcwLDM2NjMsMTIxMC9SRHJxbmY6MiwyOTYxLDMyODYvenY2ajk6LCw0MzEsMTU0OCw0OTIsMzg4MCwyMyw3MjAsMTcxLzo0ODEsMTYsMTEsMzkyNS9LZEhSRTosNDg1LDI5ODQvdXdJbHljOiwzNDY5L0tXOU55OjcxNiwyNzU0LDI2NzEsMTYxLDgwLDk2OS9jRm4zQ2Q6MzQ3MCwyNzg1L1NKb0p3ZToxOTg3LDE0ODMsMjc4Ni8rMjo1NjE2LDQsMiw2NCwyOTEsMTk5L3RMM3RtOiwsLCwsMzQ2Niw2OTIsMjAwNSw5MTEsMTk2L25iOUhSYi8rNjo1MTAsNTAyNS8rNTo1NTM2Ly86LDY2NTUsMzQ2Ly0zOjcwMDMvLTI6LCwyLDUxMCwsMzkzMiw5NTQsNiwxMjUsNTUsMjk4LDcvLTE6NTE5MywxMDIxL0ltdGt3YjosLDUsMjUwOSwyNjA4LDE5NDksMjExLDgzL1NqWlRhZTo4LCw0NDUsMjA2MiwxNDQ3LDI0MzEsNzIwLDE3MS9ZY3ZVRWU6OCwyNDk4LDQ3ODAvKzcvcWw4TWw6LDI1MDIsNDc4NS9lVW5rVTozNTM1LDM3NTQvalN2S25mOjM1MzQsMzc1Ni9kQm5RR2M6MzUwOCwxNjIzLDEyNjksODkxL2NXcDR4OjI1NDAsMzAwMiwzOTYsNDYzLDg5MS8vY01FNlg6LDQ2MiwxMTAsMTk0OCwzODgyLDg5MS8rMy9YcmFzUWI6LDQ2MiwyLDIwODIsMzg1OCw4OTEvU3VxaWdiOjQ2NiwyMDgxLDM4NTksODkxL2V4RFQ4ZDoyNTQ1LDM4NjIsODkxLy9BOWF0NjosODc1LDE1NTYsMzk2MCwxNyw3MjAsMTcxL1ZPVklCZS9VTXZpd2M6MTEyMSwxMzEwLDQ4NzEvV2VlNEhlOjM0NzQsMjg5Mi8vaTZtTXFiOiwsLCw1NzEsMiwxODU4LDMyNTMsNzI2LDcyMC8vanIyaUViOiwyNTE2LDM4OTksODkxLy9Kd0NGR2Q6LDI1LDQ1MiwzNDcsNjk1LDEwMDcsMzQ3MywzNDEsNDAsMzcsODkxL3BFV1Q3ZToyMDgsMjc0OCwzMzg2LDYyLDkwNi9aOVRmSGQ6MjA1LDIzNDgsMzg2Nyw4OTEvem90OTg6MjU1NSwyOTM0LDc1MiwxMzQsLDEwLDM1LDgzMiwyLDU3L2lTQ3M5OjQ3OSwyMDAyLDQ4MzIvaG9zUnk6MjUxMiwzNzg1Lzo1NDAsOSwsMzk0MSw4MTYsNjE1LzosNTQyLDE0LDIxMi9VcEpjWmQ6LDIsNTEsNDI5LDIwMDQsNDgzMC9SNk83RmY6MjQ4NSwxNTA2LDI0MzYsODkxL3h5bE9KZDozMDAxL2JRQ015ZTosMjU1NSw0NzY0L3hKc2ZtZDoxOTEsMjc2Myw0MzY3L3h6Z3ZHZjoxODYsMzM4NSwxNDg2LDg1LDEyODksODkxL2owaGFhYzoyNTYwLDM4NzIsNzIwLDE3MS9zZEgzdjozMTQ3LDMyNjkvWE8ybE5lOiwzMTQ2LDM5NzcvOiw3MjUzLDEyMi8vL01QSkpsYzosLCwyOTg5LDQxNDEsMjUsMTcxL05HbnFYOjI0OTUsMzcwNSwxNjEsODAsODg5Ly86MjAwNCw1LDE4MTksMTA4NiwzMzUsMTkwLDIwLDgwNiwxMzksNDE1LDIsMiwyLDIvKzg6NTYzOCw3NTkvKzY6NTQ1Myw4LDE3OCwzMDUsODk4Lys1OjU5NSw2OSw0MjU2LDMzMiwyMTAsNzk4LDgsMTMxLy04OiwzLDM1MSwyMDksMTUsODQsNTUsNDcxNyw3LDE5Lzo1NjQyLDc1OS8tMjo2LDU3MywxODcsNDg3Nyw2MjAvLTQ6NTY0NCw3NTkvKzc6NTY0NSw3NTkvLTExOiwsLCwxMTcsMzUsMiwyLDksNiwxMywxNSwyLDIsMzEzLDQzODIsNTQzLys3OjU2NDcsNzU5Lys3Ojg3My86NjQwOC86LDEyLDEyMiwxMywzLy0xMzo2NDEwLDUwOSwzMC8tMjo4OTYsMzI3LDQyMzIsMiw5NjIvOiwsODk0LDMsMzEzLCwsMzcxNCw1MjcsNTAzLDMxNSw5LDYzNy8rMTc6NDA2LDQ5NCw0NTY4Ly0xNDosNDA5LysxMzoyMjUsLDYxODkvLTE5OiwsMiwzLDIsLCw1LDIsLDc2LDUsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsNCwyLDIsMiwyMCwzLDIsMTcsMiw0LDIsMiwzLDYsNCwzLCwzLDgsMiwyLDIyLDIsMiwyLDIsNzIsNDcsLDI1LDE2NCwxMjIsMTk0LDYsNDQxOCwxNDMwLDYxLDkvKzIxOjU2NCw0NzM0L1FtcDRMOiwsMjEsNDgsMTcsNDMxLDQ1LDMwMiwxNzA1LDI2MDUsMTAzMCw2NCwxOTMsNzgxLDExMC9wYnQ3MWM6MzMzMyw0MTAyL3JlSjRVZDosMjM2MSw0OTk0Ly9adGVOeWU6LDIsMzMzMi86NzA4MS86LDY5MTMsMTY1Ly9NVGphcGQ6LCwzLDUxLDU3NSwxOTQyLDMxNzIsMjk0LDM4Niw0Niw4OTEvUUNhd0U6MjU3NSwzODk3LDcyMCwxNzEvcjJ6d0FjOjI1MTksNDkyNS8rMi9JV0k1emY6LCw3NywxMywsLDI0MjYsMzczOSwxOTYsMjAsNzIwLDE3MS8vT0dmWmNmOiw4MCwyNDM1LDM4ODQsNTUsMjIsNzIwLDE3MS86NTk5L0NZWE1vYzosODIsNTE2LDE5MjksMTM1MywyMzQxLDEyMjgvYzYxUWZiOiwyNTE2LDM5NDEsMjIsODkxLyszOjY0MzYvOjQ1NTIsMTc0NiwxMzksOC9sZzZFdmI6LCwsMzksNDksMjQzMCwzNzgxL2lwaWRyZToxMTIsMjQxNiwzNzE3LDE2MSw4MCw5NjkvZkJGV0tiOiw4LDgwLDI0MzIsMTMsMTUxNSwyMjIwLDksMTMwLDc3LDY1OCw2MiwxNzEvL1JtSDEyZTosMjUxNiwzODkyLDgwLDk2OS9DeTd2NWI6MjU4NywzNzc1L1hJNnBpZToxNSw3OCwxMywsLDI0MjgsMzczNywxOTYsMjAsNzIwLDE3MS9KTkFXZGU6NiwxMCw3OCwxMywsLDI0MTYsMzc0OSwyMTYsNzIwLDE3MS9qSm5BVmQ6MjU3MSwzNzk0L1E2RVRPYjosMywsOSw4MiwyNDI0LDM5NDksMjMsODkxLzo2Mzc5L3hCR056ZjosMiw1LDI1MTMsMzU1MSw0MDUsOTA4LysyOjQzODMsODEsLCwsNDk5LDMzNiw2OTQsMzE1LDEzOSw4Ly0xOiwxMDMsODI3LDM1MzMsNiwsLC8rMjo1NTE1LDE3OCw0LDc1NS86NTUxNiwxNzgsNCw3NTUvOjU1MDAvKzU6NzExMy8vKzgvLTE6Njg1Nyw1NCwyMDUvLTEyOiwsLCwsNTMsNTc5LDI4NCwxMSwyNiwzNjE2LDkxOSwsMjMsMjY5LDk2Ni8vKzUvKzM6NjQyLDY2OTcsMi86NzEyMS8tMjo2OTE3LDIwNS8rMzo3MTIzLy00OjcxMjQvLTQ6LCwsLCw1NTI1LDc5OCwxMzkvLTE6LDYsLCw2LCwsMTUsNDAsODg2LC9LSUNUU2M6LDM0LDI1MTgsLDQ4NTEvKzE2OjQxNDgvKzI6NjQ0Ly0xOjcxMzAvLTIvLTM6NTcxNSw3NTkvKzI6MjQvLTE6LCwsLCwsMyw4LDIzLDI5LDExLDg1OSw2LDIsNDQxNi9UYXFTM2M6LDM3LDUsNSw5MSw3ODYsNywxNjMzLDM3NDEsMTEwNy8rNi86NDYsNTk4LDMyODIsMTg3Myw0NjgvOjcxMzkvdmEyTmRjOiwsLDIsOCwyOSwyLDgsLDc3LDEzLCw3MTgsNjcsMTYzOCwzNzQzLDExMDcvKzI6NjQ4Mi86NjkzNiwyMDUvOiwsNyw5MjgsMTAsMi9CUGlFVGI6LDUsLDEyNywxNCwsMjQzMSwyMjAzLDU4OSw3MTQsMzE2LDEyOCw2ODAsMjExL3o4TVFYYjo1MiwyNTI3LDQ4NDMvUWpPVkU6NjU5LDE4OTgsMjgxNywyMi9IRlRFVWI6MTEsNDksMjUxNS9QN0JjSWM6NTYsODEyLDE2OTIsMjgxNiwyMi9ROXNUd2Q6MTM5LDUyMywxOTA1LDM4NTUsMTEzLDg5MS86NzE1MS92SjFsMDosMzU2NSw0NjYsMzM5Ni8rNzo2NTA0Lzo2NDk0LDY1NC8tMi8tNTosLCw1ODYsMiwzODYsMzE5LDI4NDksODY2LDMzMSwxOTMsMjQsNjYsMTEyLDMwNSwzMTUsOSwsMTM3Ly8rMzo2NjUvKzY6NjYyMCwxODYsOTIsMTgyLDgsMTIsMiwxMCwyLDQsMzkvKzIvKzI6NjgxMywzNiw1MSwyNTkvLys0OjY5NjYvOjY5NjcvLTEyOjEzMDgvKzk6NzE2NC86NzE2NS8rOTo2OTYxLDIwNS86NzE2Ny8tMTU6MjEwMy8rMTY6NDE4OS86NzE3MC8tMTk6NTc1NCw3NTkvKzIwOjcxNzIvOjcxNzMvOjcxNzQvLzo3MTc2LysxMi8rMjo3MTc4Ly0xOjcxNzkvLTM5OiwsLCwsLCwsLCwsLCwsLCwsOCwzLDEyLDE1LDE2LDM3LDIsMTEsNTczLDI4MSwxMCwyLDE2LCw0NTUxLDk2Lys3Lys1Lys1OjcxODMvKzE0OjY4MzgsMTUxLy0xOjY4MzkvKzI6Njg0MC8rMjo2OTI4LDI1OS8vOjcxODkvLTM6NzE5MC8tNC8rODo3MTkyLy05Ly0xLysxNTo2OTkwLy00OC8rNDc6Njk5Mi8rMi86NzE5OS86NzIwMC8rMjo3MjAxLzo2OTYxLDI0MS8tMi8rMy86NzIwNS8tMzc6NTEsNDg4LDUwNjQsOC8rMy8tMTo3MjA4Ly0yMjosLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLDE4LCwsLCwsLDIsNSwyMCwzOCw0LDIyLDQsNSwsODU5LDcsMiwyLDMsMTcsNiwxOCw0NTE3LDYsMTQvKzIxLyszNzosLDcxNi86NzA1L0RuV1lZYjosLDEyNSw3NywxMywsNzg1LDE2MjgsMzc1MywyMTYsODkxLzoyLDI0MjIsNDk1Ni86MjQyNCwzMDMwLDE5MjcvOjI0MjQsMzAzMSwxOTI3L3AxUVlRZDozNyw0MywsNDksNzgsMTQsMjQxNiwyNjk3LDExMSw5NzcsMTgxLDI2NSw0MTUsMjExLDgzLy86LDEwNDYsNDU3Myw0LDQ4MywzMTUsMTQ3LDMwMi8rMjosMTA2MCw0NzgyLDUsNTgzLDQzNiwsMzI5LysyLy0xOiwsOCwsNjksNTM3MSwxNDgsMi8rMjovVWZmN2tiOiw4Niw1MSw3Nyw3OTksMTYzMCwxNiw0ODQyLysyL003SWpJZjosMjMwNSw1MzM4L1I5VWx4L1IxRU5GZDozL0NSN1VmZTo0L0dUYU5sYzo1L2wxT3diZjo0LDE2MjksMjEwMi8rNi8tMTosNjExNi8rNTo2NDM3LDEzOS8rMjo2NTc3LDQzOC86MTc0LDY2MSwzNzAwLDU1OSw4LDUzOSw0ODMsMjI0LDkxLDgsNTgsODEvKzI6NDY4MC8tMTM6NzI3LysxNDo3MzEsMzE1Ly04OjcvOjgvKzg6NjU4NC8rMjo3MjQzLy0xOjcyNDQvKzI6NzI0NS86NzI0Ni8rMi86NzA0MywyMDUvOjcyNDkvKzM6NzI1MC8tMjo3MDQ2Lzo2OTkzLDU0LDIwNS8rMjo2OTk0LDU0LDIwNS8tNzo3MjU5LysxMjo2OTk2Lzo2NzE5LDI3OCw1NCwxMjIsNjAvLTI6Njk4Miw4LDQ3LDExLDE1NC8rMzoyNTcsNzAwMS8rMjo3MjYxLzo3MDU1Ly8tMzoyNjEsNzAwMS8rNDoyNjIsNzAwMS86NzI2OS8tMTE6MjY0LDY3OTYsMjA1Ly0xLy0yOTosLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwyOCw1NSwzOSwzLDE1LDExLCwxNywsMywsMiwzMiw5LDIsMTEsNSw5LDcsMTM4LDIsMiwyLCwyLDIsMiwyLDEyLDUsMiwyLDMsMiwzLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiw5LDEyLDMsMiwzLDQsMiwyLDIsOCwyLDIsMywyLDIsMywyLDksMiw0LDMsMiwzLDgsMiwxMTYsMjQsMjAsMTAsLDU0LDcsMTIsMiwyLDMsMiwzLDIsMiwyLDIsMiwyLDQsMiwyLDIsMiw2LDYsMiwyLDQwLDksMiwyLDIsMiwyLDIsMiwyLDMsMywyLCwyLDIsMiw0LDIsLDIsMiw0LDE5LDMsNjYsOSw1LCwyLCwzLDIwLDIsMTYxLDI3NjcsNiwxNzMsMTEsNDE1LDMzLDQ1Miw1LDUxMyw0LDMsMTQsMTkxLDI5Miw4MjUsMjg5L3lPZUFzZTosMzYsOTUsNDUsMTYsMywxOSw0NCwxMSw0NDEsMywzMywyNTQsNTcsNTYsNjU1LDQ4MSwxNTIxLDI4NiwxMzQ4LDQ5OSw2LDI4Miw0NSwxNjEsMzMsOSw4Nyw3LDk4LCw3MzksMjM4LDY5L1VTZ0Y4ZDozMSw3MTgsMzMwOSwyMTc2LDI5NCwxMTEvRDZ0aGhjOjk5MSwxNjc0LDI4MzQsMjIvKzQzOjcyNjgsMy8rMi8rMjo2OTI3LDg3LDI1Ni86Njk2NCwzMTAvKzQvLTM6NzI3My86NzI3NCwzLys0OjcwMzcsMzYsMTAvLTEyOiwsLCwsLCwsMjksMTc4LDMsNTQ5LDMxNiwsMiw0LDIxLCwyOTM0LDE2MDkvKzExOjcyODAvLTcvKzU6NzA3NywxMC8rNDo3MjgzLy0xMTosLCwsLDEyNyw5ODMsNDU2NS9RM0VJNWM6LDE1LDE5NCwyMiw0OCwxNywzLDQyOCwzNDcsMTYwNCwzOTE2LDg1OCwxMTAvTjExc1JjOjI0NSwzMDAwLDMzMTQsOTEsMjMsODkxL2NUTVhZOjIwNywyNjA3LDM3NzIsOTc5L2pxVG1FZDoxMDgwLDEwMSwxNjExLDI5MDgsMjgxLDI2MiwzNDQsMTUsNzMvWmgwTlpiOjI3OTIsNDc3NS9qV0huT2Q6MzMxOSw0MjQ5L1h2VHBGOjM4NjIsMzcwNy9Ib1p2bGY6Mzg2NywzNzAzL004SXpEOjE4NjAsMzA3LDE2OTksNzA5LDI4MDAsMTk2LDgzL2FvMzk2ZTozODY2LDIzNzEsMzE2LDUxLDc3LDg5MS9Jc0JCdWM6Mzg2NSwyODE3LDg5MS8rMTI6MjI4LDYwNiwyNjQsMzAsOCwzNDQxLDMsMTA5MywsLDI1LDc5Nyw2NDIsMjAsMiwxMiwyMiwyLDM2LDI5Ni8rMi9GSXRPNWU6LCwxODgsMTAzLDM1MDcsMjE2MCw0NTAsMTgsMTE0OC86ODA2L21ib0lROiw4NywzLDcyLCwxMjcsNzk5LDI3MTAsMzc3OC9nY2xyb2I6ODUxLDE4OTIsMTUxMywzMzIzL0xneFZxZDoyNzQzLDM3NjUsMTgxLDg5MS95ZlpjUGQ6MzE4MSwxMDc3LDMzMjMvOjY2NDUvcW1kRVVlOiwzMTg1Lzo2NjkzLy9EMWZLS2I6LCwsMzE4MiwxMDc4LDQsNDg3LDE3MjUsOSwxMDk4L0Z5MVB2OjIsLDMxODIsMTA3OSw0LDQ4NywxNzI1LDksMTA5OC9OOG1oZWQ6Mjc3NSwzNzQxLDE4MSw4OTEvdnptc1RkOjM4MTcsMjg4MSw4OTEvczJtcGRlOjI4MjMsMzg3Niw3MjAsMTcxL0JBY1ZIYjoyODEwLDM4NjgsMjIsODkxLysyL0VWU2lsZTosMzcyOCw0NjgsMzM5Ni9QZmtTazozODEyLDI4OTEsODkxL3pDYnZHZToxMDQwLDI3OTgsMjg2Niw4OTEvOjczMTUsMy93MjZBQWI6Lzo3MzIwL0hGWFJkZDovOjczMjIvUDI0eGVkOi8vdHFRQXpmOi86NzMyMywzL254UGZjZjovOjczMjgvZWtOekE6Lzo3MzMwL0ZsV3NVZTovOjczMzIvV0tKaGY6L3cxYnNDOjQvOjczMzUvSjNLblliOi86NzMzNy9HeFBVcmQ6Lzo3MzM5L01PT3ljZTovOjczNDEvYzhhTTJjOi86NzM0My9NdkNCZWQ6L2Vab1hpYjoxMy86NzM0Ni9wUE4xZGI6L29mdDhHZToxMS9hdGZkZDoxNC9NMTdyN2I6Ny9QT29CcmM6NS9PdjBrbmU6Nzk2LDMwNTQsMjgxMSw4MCw5NjkvL3I1eXVhZjosLDgzMCwzMTQsMTcxNCwyOTA0LDk3Ny9DOWI2RGM6Mjg0MiwxNDY0LDMzMjcvZUhQTTc6MzI0Miw0MzkyL0MyeUh6OjExNDksMTcxMCwyOTEwLDI4MSw2MDYsODgsODkxLzo3MzU1LDMvOjM1LDIsMiwyLDk4LDE2NCw1MzcsMzU2LDExMTksMjQ4Niw5MzUsMiwyMSwzLysyOjczNjAvLzo3MzYyLy86NzM2NC8vOjczNjYvOjczNjcvLzo3MzY5Lzo3MzY3Lzo3MzcxLzo3MzcyLzo0NjA3LDI3NjYvOjMxNC86NzM3NS86MTIwNiw0NTY3LDgsNDgzLDMyMyw1ODYvOjczNzcvKzI6NzM3OC93Wm9laGY6LCwsLCwsLCwsLCwsLCwsLCwsLCwsNSwsNiwzLDIsMiwyLDIsMywyLDIsMiw5MiwxNzEsMjUsMTM4LDIzLDM1NSwyNDUsNjcsMjEsMjEsLDI2NjQsMTg3OCw3OTcsMjIsMTUsMTQyLDM2LDMxMyw1NzgvQ3lMRnlmOjM0MiwzMywxNywzLDI0MzIsMzIxMiwyODQsMjA1LDQ2LDY1LDEyOCw4OTEvLzo3MzgyL1p5dTZ4ZjosLDI3OTIsMzk3Niw4OTEvamh2YmliOjI3ODksNDg3My8rMi8tMS8rMjo3Mzg3LzosLCwzMTQsMiw1NzAsMzE2LDE3L2JoVkRoYjosMzM1LDQ4LDQ0OCwyMDcwLDEzNzAsMzM5NS9zVnNHMjo4MzMsMjA2OSwzODc1LDg5MS8rNy8tMjo3NDEzLyszOjg5MiwzOTUzLDI1NjkvLTY6NzU4MS86NTY2MywxNzUwLDE3MywxMzcvLTI6LCwsLCw4ODksNjAsMjk3LDM1ODcsMjU3MywsMTgvUFlTdlRjOiw0MDgsMTQ0OSwzLDE2LDksMTIsMTQ3MywyMjkwLDM5Nyw3MDksOTcyL09jbVoxYjosODk0LDIwMjIsMzg2OCw4OTEvKzEwOjcxOTQsMjA1Ly0xOiwzMzIsNTg4LDQ4NjEsMjA1L2FPOGtPZDosMzI1LDIyLDQ4LDI0MDksNDc2NCwxMTAvKzIvLy86NzQwNS86NzQwNi86NzQwNy86Njc1MC8vLzo2NzMxLDY4MC8vOjU4MTgsMTc4LDQsNzU1Lzo3NDE0Lzo3MjEwLDIwNS8vLzo3NDE4Lzo3NDE5Lzo3NDIwLy86NzQyMi86NTYxNywxMTQ4Lys1Ojc0MjQvKzI2Ly0zMDosLDUwLDkwLDIwOSwsMzYsNTcsNSwyOTgsNTE5LDMzMDIsNywzLDIvOjc0MjcvLzo3NDI5LysyOjc0MzEsMy86NzQzMS8rMjo3MDg2LDM0Ni8tMTosLCw0MiwxMiwyMDUsMTE0LysyLzo3NDM5Lzo3NDM2Lzo3NDM3Ly86MTQwOCw2MDMxLy8vOjc0NDIvLy8vOjQ0NDgsMjgxMi86NzQ0Ny86NzQ0OC8vLzo3MjQ2Lzo3NDUyLzo3NDUzLzozNjcsNTQ5Miw5MzcvKzI6NTg2MCwxNzgsNCw3NTUvOjc0NTYvOjcyMTYsMzYsMjA1Ly86Mzg2LDY0MjMvOjc0NjAvOjc0NjQvOjcxMTcvLy8vOjc0NjYvLzo3NDY4Ly9JUFBjQWU6LCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLDQsLCwsMywsLCwsLCwsLCwsLCwsLCwsLCwsLCwyLDE4LCwyMiw0NSw3LDgsMywyOSw0NCwxMTMsNjEsMTksMjkyLDIsMiwyMywyLDI4LDUsMyw0LDksMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIzLDMsMTQ1LDI4LDIsMyw3LDIsMiwyLDIsMiwzLDIsNiwzLDUsMiwxMzIsMTAsMzgsMTEyLDIsOTczLDE4MzYsMjA1LDI2NSwsLDE3NywyLDQsMyw3LDExMDUsNDg5LDE0NSwxMjgsMzAzLDEwLDIsMiwyLDksNzUsNiwyOSw5NCwzMCwxMiw2OCw0LDIwL0tIMzJTZDo4OSw2MDE4LDYvTWYzekViOjIwMywxMzMvUXpHNG9kOiwxMjAxLDQ5MzAvOjMsMTIsNDU0LDksNDQxLDQzLDIzNSw0OTM5LDUxMCwzMSwxODQvaXo3TGlkOiwsNjY0NCw4NzQvRkNKdlpkOjYxMzgsNjExL21OVEp2YzosLDUsMTE4Nyw4LDcvZXgzcnliOjMzOTQsNDM2Mi9Yd3NyTzozMzk0LDQzNjMvcmhZdzFiOjMzOTQsMzE1MCwxMjE0LysyL253S2FRZDosMzM5NCw0MzY1Lzo2NjY4Ly9aWExKSGY6LCwxMjE5LDIwNzksMTEyMywyLDIyMzEsOSwxMDk4LzozLDQ0MjEsMjI0Mi9DMnl6a2Q6LDIsMTIyMCwyMDc4LDMxNTAsMjA3LDExMDcvKzIvL1RVOXlGYzosLDMyOTcsMTEyOSwyNDQ5LDY1OCwyMzMvOjY0NzIvL1E1OVJqZjosLDMyOTksMTEzMCwyMjMzLDksMjA3LDg5MS9GSVM2UWU6MzMwMSwzNTgwLDg5MS86NjY3MywyL2VqV0syOiwzLCwxMzg4LDE5MDksMTEzMiwyMDAyLDIzMSw4LDEwOTkvbExoWXJkOjgsMzI5NCwzNTgyLDg5MS9ocGFmaWQ6MTAsMzI5MiwxMTM0LDIyMzMsOSw5MywxMDA1L1V6YktMZDozMzAyLDQ0NzUvY1hSSUdmOjMzMDIsMzM0NiwxNjEsODAsOTY5L2NGRDJwZDosMzI5OCwzNTg5LDcyMCwxNzEvdlJlMHZlOjM5NzEveXVRQmVjOjE5Ni9LWWc5dGU6MiwsMTI3MSwxMjcsMTA5OCwsODA1LDExNTQsNjgzLDc5OSwyLDE5NSwyLDMwMSwyNiwxOSwxODksNyw4MC9meHo2VTozMzA0LDM1MDMvak1POGRkOjMzMDYsMzQ1OSw3LDEyMSw4OTEvb29wTVNjOjMzMDQsNDQ4MS9WdWhQbGY6MzMwMCw0NDg2L1A0WW4yOjMzMDAvKzIvWlBDZWRlOiwsMTU5NCwxNzA1LDIzMDgsNTMwLDc1OSw4OTEvVmkwcTBjOjIsMzI5OCwyMzY1LDEyMzQsODkxLyszOjY1Nzgvcm1vUUxlOiw0LDMyOTMsMjg0NCwzMyw3MjYsODkxLy8vZXM3NUNjOiwsMjgwLDE4MSw4NDQsMTAsMTEsMTk3NywsMTEzNSw1MTAsMTc1LDU4Miw1MCwyMzAsMzgsNjAzLDE4LDY0LDE0LCw0MywxMTgsMTcsODkxL25vUlI4YzozMzA1LDM2MDAsODkxLyszOjc2MzIvT1pxR3RlOiw3ODYxLDQxL0tPeGNLL2JGT3ZUYy8rMi8tMTosNzc1NC9qMjAzQTosMywzMzA3LDg4NCwxNDI5LDIyMDMvTXNsbnJiOiwzMzEwLDI2NTIsOTA1LDgsMiw5MjYvKzIvL2pvVWlOYjosLDMzMTAsMzYwNCw4OTEvL2FwSXF5ZTosMiwzMzEwLDM2MDUsODkxL0txbkhNYjoyLDMsMzMwOCwxNjUzLDE0NTAsMzc1LDcsMTAxMi86NTkzOCwxNzgsNCw3NTUvdU1DNXBjOiw4LDEwLDMyOTUsMTY3Niw5ODEsOTEzLDIsOTI2LyszOjE2MDgsMzQ2NCwxMzcyLDExMTUvOiw1MTQ1Ly0zOiw1MTQ1LzozLDUxNDQvKzQ6NC86NSw1MTQ0L1BwZk8zYjosLCwsMTU4MiwyNSwyNDk1LDEwNDMsMTYwMCw5NzQvRjh4bVdiOjE0NTQsMTg2NywyNDcyLy9IRlJFNjosMjczOCw0ODcyLDQwL2JMWXROZToyLDMzMjEsNDI4OSw0MC86Nzg1OC8rNjoxMDgwLDUzNzYsMTExNi8tMzovKzI6NzU3NC8tMTosMTQsMTU4My8tMjoxMSwsNzU2Ni8tMTosLDIsMTIsNDk4OS8rNjosNiw3NTcyL2NGZFZFZjosMzMzMCw0NTY1LysyOjQ3NzMsMjgwNiwsMjMyLC8rMjoyMS9IMlI4VmQ6LCwsOSw0LDEwNzgsMiwzNzIsMiwyNywxODM2LDMsMjMyMCw3OTkveERzT2FiOjQ5NzYvSVRnM1RiOjQ5ODYvcWw4WUVlOjQ5ODYveER5b1A6NzI4Ni9DVnZ2MGI6NDk0MC9FODVQYWU6NDk0MC9NYTlYSGM6NDk0MC9Cc3RITTo0OTQwL3R2Zmo0Yzo0OTQwL2s4Z0J1Zjo0OTQwL0VzM2lJZjo0OTQwL091SG9ROjQ5NDAvZWtyY2RjOjcxNjgvOjczMTIvV2ltaWpkOi86NzM2MS86L0c2NUt6Oi86My93b2hXazovOjczMTkvbzVEN3RmOi86Ny9sWmJLTmQ6Lzo3MzIzL3FUdXdBYjovcElzZUI6MTM3Ny9NakEybzo1MDc1L0pMNDNMYjo1MDc1L05LdkkwZTo0OTkxL1dMVUNEZS9mMjZvbjo3MzMwL1ZwOEJ3ZDo3MzMxL0tOYkIwYzoxMzYxLDE5OTEsMzM5Ny9CSDRsT2M6LDMzNTEsNDUxOC9OOHY0ZGM6MzM1MiwzNjA2LDIyLDY1OCwyMzMvOjU4MTEsMTAwOS9YM3NnMGQ6LDMzNTIsMjI3LDQyOTMvOjIsNjk1OSwyMi8vaEZ2TmRkOiwsMzM1MywyMjgsNDI5My9HNndVNmUvaGV6RWJkOjY5MTAvaFB5R0JiOi9VbTNCWGI6NSwxMTM4LDU2MiwzNjYsMTI4NywxMTk1LDI0MTQsMjIsNzIwLDE3MS9OOFExaWI6MzM1OCw0NTIzLyszL1hONHdLZjosMzM1OCwyMzU0LDEyMDIsNzcsODkxL3dSV0pyZTozMzU5LDY1NywzNjM1LDIzMy9BQkplQmI6MTEsMzM0OCwyMzMsMjU2MCwxMTUsMTYxOC9xS3JEeGM6NCwxMTUxLDI0MzksMTE4MCwyMzUsNzgwLDI0LDI0LDIyLDIyMCw3MjMsLDExNSw3NzIvQUJwQzhjOjEyLDMzNDQsMjg4OSw2L0R4MkQ3ZS92U3p3ZGM6LDEzLDMzNDgvUzFEOVdkOjE1LDExNDQsMjIwMywyNDU3LDQyOSw3MjksMjIsODkxL3VxdWxOYjosMzM2MSwxMjM4LDIyNzIsNy9hWDhSNGI6MTE2MSwyMjAxLDQ1MzAvSWRPQXpmOjI2NDAsLDcyMCw5MTEsNzk2LDI4MDEsODgvcldvUVQ6LDU2MSw1MDQsMTQ1NywyLDgzNiwxNDIxLDMsMiwxMDE3LDIwLDE4LDE1Niw2MTMsMjE0LDg3MywxMywxODMvRThDdXNjOjMzNjEsMzM5MywxMTQxL0tXTXVqZTozMzYwL0wzdlgyZDozMzYyLDMzNTMsMjc0LysyOjcxOTQsMTE0LDE0NCwxNjgvYVJHaG9jOiw2NjM3LDM3MC9WMjNRbDosMiwsMzM1OSwyNjQyLDI0Myw0NzIsNzMsOSwxMDk4L0lNdzM4OjMvYUJyMk1jOjMzNjQsNDUzOC9PUHdqRWY6MzM2NCw0NTM5L0lUTnVmYi9aQjdKbWI6LDE1MTUsMjU2MiwzODI3L2ZWYVdMOjQwNzgsMjkzNy86MTM3L3hmbVpNYjosLDMzNjYsMTI1MCwzMjkwL243aDdMYzoyLDMzNjYsMzQzNCw3LDgxLDcsMTIxLDg5MS9zeDNaV2Q6MTQwNCw1MzgzL0RhNGhrZDosMywxMzk5LDE5NjYsMTI1MSwyMTg0LDcsMiw3OSw3LDEyMSw2OTUsMTk2L05EMGttZjo1LDMzNjQsMzIwOCwzMTYsMTE5LDksNzIwLDE3MS9VOVlhcGU6MzM2OSwxMjU0LDIzOTksNzIwLDE3MS8rMi9kWjI1S2M6LDMzNjQsMzY1OSw4OTEvaHlwWUk6MzM3MSw0MzQ0LysyOjQ5MzMvOjY4NDMsMTM5LDgvL3pPdXBTYzosLCwsMTgzLDMwMSwxMjksMjc1NywxMDQxLDIxNSw0NTEsNDIzLDg1LDQzNSwxNDcsOTcsNTQ1LDE0LDIxLDMsMTc4LDY1OCwyMzMvZTBJc0o6MiwyLDMsMzM2NywxNzA4LDUwOCw3NDYsNTY2LDcsMTIxLDcyMCwxNzEvVDB4WHlmOjMzNzMsMzY1OCw4OTEvTWx2ang6NSwsNjE0LDI3NTUsMTcwOSw1MDgsNTgyLDk3LDU0NSwxNCwyMSwzLDUwLDcsODYsMzUsODkxLysyL1drbEI0OiwzMzczLDI5MTAsMzgsOSwzODEsMTg1LDExOSw2NzYsMjMzLzo2MzMyLDU2Ni9lT2JSYjosMzM3NCwzNDQ1LDE5OCw5MDkvLysyL2lmWG5EYjosLDMzNzEsMzIyMiwzMTYsMTI4LDg5MS9Ldlh5cGY6MzM3OCwxNzIyLDgwMCwyNSw3MzIsLDE0MywxNjEsODAsODQyLDk3L3pXbFpJZDozMzcxLDM0NTQsOSwxMDk4L1ZlbGlsOjIsMiwsMjYxMCw3NjQsMTAzNywxODY1LDEwLDYsMzIxLDIwOCw4LDI0LDYsOTUsNiw4LDExLDIxLDIsMjAsMTUsODkxL3FqUHhFZDo3OTI0L2pSaWxKZjosMzY3MS9aTktGR2Y6MzY3MiwzMTUxLDkxMi9GSDI3bDosLDMzODAsMzY2NC9qTkZkaWY6LDYsMiwsMjYxMCw3NjIsMzQ3MywxMjMsMTEsOTQ5L3hZY1pGYjozNjIyLDIyMjksNzcsMTk1Mi91TVdXcjosMTEsMzM2OSwzNTU0LDEwMDUvbEhyQUo6NDYxNSwxMjAwLDEwNzQsNDgsMTEzLDY1OCw2MiwxNzEvR0lZaWdmOiw0MDg1LDI3NDksOS8rNTozNjEsNjY5MS9JN01TWWI6LDM2NDQsMjkyNywzNjcsMTAwNS9qQWJJemQ6MiwzNjQ1LDI5MjYsMTM3Mi93aFNIUmU6LDYsMzM4MS9vSXJLQmY6MzM4Nyw0NTYwL0JUcE9wOjE3LDMzNjksNDU2Mi9pcGdkTmQvRmdYSEplOjQ2NzYsMjc5MSwyMDUvVFpGckhkL0o3MkNqZC9jSWRHR2Y6NzY3NS9Gdlh6a2Y6NzY3Ni9qUWhOYmU6NDA5NiwyOTY4LDg5MS86NzY3OC9QVWtWdmQ6Lzo3NDIxLDI1OS9taU5yMmU6L09aSDl6Yzo3MTQ1LDUzNy9CVlJuUzo0Njg3LDI5OTYvdUpoYkZjOjc2ODQvbmdkTkRmL21oUk91Yzo0Njg4LDI3NDYsMjUyL1FWYWwzOjc0NDMsMzksMjA1L0VaaUZqZTo3NDUxLDIzNy9iZDNWNWQ6NzY4OS9hN2JPVC9UdzhHaTo0NjkzLDI3NDYsMjUyL3M1VmZaYjo3NjkyL25NdnU5ZDo3NjkzL1loRWxxYi9SRkFuUjo3Njk1L2hiMkRsZTo3Njk2L3BBWFgzZDo0NzAxLDI5OTYvWWJoamg6NzQ5MywyMDUvWFVBa0xjOjc2OTkvUGlOckVkL2s0Unh6Yjo3NDk2LDIwNS9LVURLWGI6NzcwMi9tRjg5UGU6NzcwMy9QQ0cyZi94MW9uWGI6NzcwNS9JVFp0SGQ6NzcwNi9PcmtGYmYvcURUcm1kOjQ3MTIvUmN1OEIvSm16b2llOjc3MTAvUHY5ZWJlL0tWSmNrYy86NzQwMyw1MSwyMiwyMzcveUJpQjE6L1RrUVZtZS9HeEVOVTovT2F6SWQ6NDcyMSwyOTk4L1U2MEFCZC9pWFF1NGM6NDcyMywyOTk3L1ltYTd2ZDo2MTQsMjgwOCwzNDMxLDE2OS8rMy8rMi86LDcxMTEvR01WUmNmOiwyLDM0MzAsMzQyMSw3OCwxMTUwL3ZOT205ZTo0LDY4NTksMjAwLDYsNDMvRzFkVjNlOiwsMzQzMi9xeGpSdmQ6MzQyOCwzNjAxLDU4L0R0cUJkOjE2OTAsMTM0LDI0NzEsMjgyMCw4OTEvYkdxOE86MzY2OSwzMTg5LDI1OCw4OTEvaW11cktiOjM2NjksNDMzOS86Ni9jQnJ5cjosMzQzOC9uVFFRbGQ6OCwsMzQyOS9ZS3I5YWU6OSwsMzQyNy94SGlhVWU6MTQsMzQyNyw0NTcyL2F5TTlKZjo1LDM0MzUvRElkamRjOjQxNDgsNTQwLDMzMjcvd2pycEJkOjQxNDIsMjIxNC9LZFhabGQ6NDE2MCw1MTksMTc0MywzMDMsMjg3LDc3MiwyMzMvbm8yMXVjOjM0NDAsMzU3Myw4MDksMTk2L2h1U0RVZDozNDQwLDQ1NzkvTGN1cmZlOjIwLDM0MjAsMzY1OCwzMS9WM0x3bjoyMCwzNDIwLDM0MzYsMTI2LDcsMzYsODUvd09nemk6MzQ0MCwzNjkxLDg5MS9Sc01mUWM6MzQ0MCwzNTU1LDEzNyw4OTEvblBhUXU6MzQ0MCwzNjkzLDg5MS9RemQzaWY6MzY1Nyw0MzY4LyszL0tXTGpyZjosMjgwMSw1MzY1L1BHZjJSZToyL0habko2OjMvVnNBcVNiL0c1YVVZOjM0NDYsMzU4MCwxMTQsODkxL1dSMkRrYjozNDQ2LDM2OTUsODkxLyszOjE2MDgvLTI6LDcwMjgsMTE0LDc4Mi8vKzI6LCw2NTAsNTc2NiwzMjUsMTEyMi86NjkyMy8vLysyOiw2L0lXTkhyZjosMiwsLDM0MzUsMzQ4NCwxMTE3L20xUm84Yjo0MjI4LDI0NzgsMjI5LDE0LDc0LDEyOCw4OTEvKzMvLTI6LDYsMiw2MjM4LDE3OSwyOTAsMzUsMjYyLDE0MC8vcGVHNTosLDQsMiwzNDUwLDEyNjEsMjIxMCwxMTE3L2V0R1A0YzoyLCw0LDY1NiwyNzk1LDEyNjIsMjIxMCwxMTE3L1pZWmRkZDozLCw0LDIsNjU0LDI3OTQsMTI2MywyMjEwLDExMTcvU3JNcG9iOiwsLDM0NTUsMzQ4NCw3LCwxODYvakg2aVllOjE3MDcsMTc1MS9jSE1QV2I6OCwzNDUwLDQ1OTMvKzM6MTMvQjhiYXdiOiwzNDU4LDMzMDEsMjg4LDEwMDUvQUd2b2ljOjE2NzMsMzgsMTc0OCwzNDg4LDcsOTkxLzoxNiw2L3d1VTdwYjosMjc1MSw3MDgsMzAxMSwxNTg1L21lMURLYjozNDYwLDQ1OTcvSnRsTEFlOjYsNywzNDQ2LDMzMDYsMjg4LDEwMDUvYnFldTBkL1E5akxKZDosMzQ2MSwzNzA3LDg5MS8vSjRnYTFiOiw2LDEwLDExLDY1MCwyNzg0LDQ2MDAvS25RZUVjL0hYMnRMZDosMjAsMzQ1Niw0NjY3LzoyOS9NVUl5UmQ6LCwzLDYsMTAsOCwyNzU1LDY4MCwyNjYyLDYyNCwxNywxODIsMTExNy9FYmtTaGYvRzlxSkZiOiwzNDY0LDM3MTIsODkxL2ZSRUM3ZDo0LDQsNiwxMCwyLDE2NzQsMTc2NSwyNjY0LDYyNCwxMzE2L3dJdGFkYjo3ODgzL29rVWFVZC9LZzFyQmM6Mjg4OSw0OTE2LzoxNzIyLDE1Niw0NDYyLDk3LDU4NCwxMTgsNDMvKzI6NjI0OSw5MDgvLTE6LDY0NzIsNDIzLDEyODAvb1pyU01jOiwyLDIsMzQ1NCwyOTc1L1pjaEgwYzoxNzI3LCwxNzI4LDQ2MjEvekhZSEdiOjM0NTksMzYxNCwxMDA1L0Izc0FZZToxNzMwLDE3MzEsMzcyNyw4OTEvKzM6MTczMiwxNDAvRXFXTHU6LDcsMiwzNzAsMzA3NSwxNTc5LDQsMTE2MywyMzgsNDc2LDIzOC86MTc2Miw4NiwzNzk1LDM5MS8rMjoxODc0LDQxNzIsMTkzNSwxMSw1Mi9YUVdVU2I6LCwxNzYwLCw2MywyLDQ4LDE4ODUsMTIyNiwxNDgwLDUzMywxMTQ4LDE2LyszLzoxNzkwLzoxNzkxL1Y1TG1JZTosLCwsMTczNSw4LDQsMTcxNSwyNDQzLDU2MSwxNDA3LDIxMS90WDNwWjoxNzQwLDE3MjYsMzczMiw4OTEvKzI6MTg4My9ESFZuUTosMTUsMiwyLDM0NDcsMjk4Mi9HcWVXdWY6MTksMiwxNzI0LDE3MjIsMjk4My86MTc0Mi9BdFNiOiwxMSwzNDU1LDE1MzAsMjIwNiw2OTgvTlNTSk1kOjcwOTAsMTAwNS9FaHBmeWQ6LDM0NjYvaG1TWXliOjcsMTAsNywyLDE3MjUsMTcxOCwyOTg2L1RvbUtWYjoxMSwsMiwxNzQzLDMsMTcwNiwyNzkxLDk1MCw2OTgvZUtUQTZlOjM0NjYsNDYzMy95amhhdjo3NjQzLDYsMTA0LDgsMTYsMjgvblhpelA6NDQxMiwyNjcwLDcsMTAxMi86NzEwNC9ROXlIYjosMTM3MSwzNjIsMjAsOCwxNjg0LDE1NTgsMjA5NCwxOSwyNiwxMSw1OCw4OTEvdGZUSEVjOjM0NDYsNDY1OC9VMHdnVDozNDQ2LDQ2NTkvT1B1S2VjOjQsLDgsMzQzMywzMDQyLDUxMywyMTQvWXlIZnQ6MTc4NSwxNjYxLDQ3NDEvakVaOWtiOiwyMCwsLDQyLDEzMTIsMzkzLDE2NzYsMjkyOSwxMTUsNTU1L2g1NUJPZDoxNzU0LDE2OTIsNDY2My9rVUN4M2U6MzQ0Niw0NjY0LysyOjEzNjcsMzk5LDgyLDUyNDYsOTU5L2M1Vk96ZTosMzQ0Niw0NjY1L012OHNuYjoyMCwzNDI3L0VmSkdFZTozNDg0LDQ2MzAvOjE3MTUsMTU5LzoxODkzLDYxNzkvS1NxZk9lOiwsNCwxNzE0LDE3MzAsMjQ0NSwxMzMxLDg5MS91c2w2R2M6MzQ1MCw0NjY4L0VuNTJ5ZTozNDUwLDIwMjgvL2V4ZDBkYjosMzQ0OCw0NDMzLy9KUDNHSGQ6LDIsMzQ1MCwzNTg2LDExNjQvYmh3NGRjL2JYYnRjZDozNDI2LDM4MDgsODkxL0hRRVNiYzozNDI2L2g5eXZSYjoxNzgyLDE2NDQsMzA5NCw2MDIsNjgsOTM3L0RTNGluZjoyLDM0MjQsMzQwOSwyODgsMTAwNS9kZjluVy9OYnoya2U6LDM4NjQsMTYyNCwxNzUwL3BhNjdOZTo0MDc0LDExNDQsMTgwLDUxLDczLDM4Myw1MTAsMTUwNS9ZTkpLTDozOTUxLDE5NTksMjI4Ni86MTM3OSwzOTI0LDc4NiwzNywxOTg2Ly86LCwxMzgxLDUyNiw2MTI3LDExLCw1LDQ5Ly9KSEk0Y2I6LCw0LDE5MTYsMTk0OCw4Niw3NjksMTQyNSwxNjIsNzUzLDEzNSwyMCwyNiw4OTEvYmtvUnVjOjksMzg1OCwxNjMwLDE3NTAvZVRiV3ZmOjEwLDE5MTMsMTk0OCwyNjE1LDU0NiwzNiwxMTAsNzAsODkxLys3OjU3OTIvLy01OiwsNTczNiwyMywzNSw5NTcsMTMwMC8rNjo1Nzk1LysyOi8vLTI6LCwzLDU2NTUsNzg1LDI3Ny9zb1h1Uy8rNDosNTY5NSw3NTEsMTkwLy05OjgwNTcsMyw1Lzo0MTQ3LDM3NDcsMTM3LDcsNSwxMSwxODMvKzk6NSw0LDUzNTksLCwyOTIsLDE0NiwyMjQ5LysyOjQsNTA4OCw1OTcsMTIxLDgzMCwxNDE5L3RQNXRuYi8rMzovOjIsNjczNSw4LC86LC8tNDosNTA5NCw2ODEsMzAsNSwyMjUzLy0xNDo2LCwsLDE4NTQsMzg5Nyw0Nyw4MjkvaUFCU2xmOiw1NzMyLDI1MDEvQWpZM25jOjQxNTYsMjg3NCwxNjEsNjEsMTkvZmFkbW5kOjI5ODAsNTA4OCwxNzMvYTNHT3NkOiwsNTA1OSwzMTAxL09uNGNiYjozLDEwLDE4MjcsMjMxNiw5NDUsMzMyLDEyMCw5OTMsMTQzLDEwMyw3MiwxMDg4LDI5NC9QRVhnZGU6LCwyOTgzLDUwMDgvKzIxL0o0ZXlVOiwzLDc3OCwyMjA0L3hFVk1nYzo0NCwyLDE1OTksMTIxOSw2MzIsNDY3MS9BQjE1eWU6NSw0MCwyLDM0NDgsMjAzMi9TRTZmcDo0NiwzNDQ5LDQ0NzgsMTk2LyszOjUzOTYvLTI6Ly8rMjozL0RCb0FiZTosLCw0OCwzNDQ4LDM2MDAsNiwxMzMsMTAsOTI2LDY0L2R2TlZKYjozNDkzLDQ2ODIsNjQvUjMyYUhiOjUzLDM0NDAsMzA2Niw1LDQ3Miw5NDQsMTk2L3l1VzBVZTozNDgzLDMzNTksMzE2LDEwMTkvSWZvTkhjOjU0LDI4MjUsNjA0LDQ2OTUvdDZrdVRlOjU3LDM0MjQsNDY5OC9kMUIxSmM6MzQ4OSwyMDY1LDc1Myw2Niw3ODgsNyw3Niw4LDIsOTI2L0JaZ3hDZDo1OSwsMTg4OSwxNTU2LDQ0MzUsMzA1LDE2LyszOjcyNDYsOCw2ODgvdGN0ckpiOiwsNTgsMzQ0MywzNzU0LDM1LDg5MS8rMjoxMy8tMTosMiw2MiwxNjQ1LDQ2NjgsNDE3LDMxNS8rMjo3MTE3LDE0My9VQ2xXQWQ6LCwyLDM1MDIvZ2NvUk9kOjIsLDQsMzUwNCwzNTcxLDIxNSw4OTEveE5qN2diOjY3LDM0NDMsMzc4OCw4OTEvOjYzMTcsMTc4LDQsNzU1L2laVHRWOiw0LDUsMTczNSwsMTc2NywyODcxLDkxNiw4OTEvZ1ZSd3RlOjE5NjAsMTU0OCw0NzQ4LDE2LysyL2l0R0xKZTosNzAsMzQzNSw0NDkyLDE5Ni9aTllkNmU6MiwsODAzLDkwOSw1LDI5LCwxNzYwLDEyOTAsMTM3NywyMTEsNDE3LDMyMSwxNDMsNzMwLDE5Ni9DYWlSSGI6MzUwOSwzMzY0LDEzMjMvYmFaNmJmOjUsMzUwNiwzNjAyLDEwODQvQjdoZ2ZjOjc1LDM0MzQsNDQ5MywxOTYvZm4zc1RkOjM1MDksMjgxNyw0ODMsMzE1LDYsMTMzLDgsMiw5MjYsNjQvOjgxNjMsMi9FUXlKV2Q6LDc3LDM0MzAsNDY5My9FS0lydWU6MiwyNywyLDQ5LDM0MzAsMjUxNCwxMDM4LDY1LDYsMTMzLDEwLDM1LDg5MSw2NC9MWVhqYmQ6ODAsMzQyNyw0NTAwLDE5Ni96Wm5pcjoxNCw0OTksMTI0NSwsMTc0OCwyNjgwLDIxMCw0MTcsMzIxLDE0Myw5MjYsNjQvc3lMbzdlOjM1MDEsMzY4NSw3LDEwMTIvKzcvLysyLy0xOi8rNDosMiwsMjc2Ny8rNC8tMTosLDMyMjMsNDg3NS8rNi8tMS8rMy86OCw2Nzk4Ly01OiwsLCwyLDIsMjc3MCwzOTI4LDc4LDksMiwxMTQ0Lys4OjkvLTU6LCw3LDU4MTMsODg1LDYsMzAsMiwsNzgsMzIzLys2OjMsNjkyOC86LCw3LDY2OTAvcHpSNEFkOiw4Mjk2LysyOjI3ODQsNTQ4OS86Nyw1NjEyLysyOjc5NDcvLTE6LC8rNTo0LDEyLDUvLTM6LDE1LDMyMjIvKzQ6Myw2L1gyaVFPYzosLDcsODI5Ni86NTI0MCwyNzMyLDE1MC9IRmVjZ2Y6LDM4ODQsMzE5OC9GWlNqTzosMzg3OSwsLCwsL2hkbGtRYzoyMTMwLDE3NTUsMTM1OCwyNzMyLys2Lzo5L1hmVzlMZTosLDcsMjc4OCwxMDkwLDMzMTMsMTU1LDk2NSwyNS9oUUlINWQ6MTUwNSw2MTcsNSwxNzYwLDEzNjAsMjczMi95eXhpR2M6Mzg4NywxMzYxLDE5NjksMTA4Ni9HYnFHcmU6Mzg4NywxMzYyLDI3MzIvKzI6NTI1MCwyNzMyLysyOjUyNTIvLTM6LC8rMjovUnU5MkM6LDExLDM1MTUsMzY4MSwxNDYsODkxL2RhRXdpYzo0LDM1MjMsMzY4MywxMDM2L1RCdmxsYjozLDExLDM1MTMsMzgyOSw4OTEvcnRFRjRiOjQsMTEsMzUxMiwzODMwLDg5MS92VHc5RmM6MzUyNywzODMxLDg5MS8rNDozOSwyLDIsLy0xOiw4L2hteGtWOiwzNTI4LDQ2MTQsMTA5LyszOjExL0hLNlRtYjosMiwxOCwzNTA5LDM2ODcsMTQ3LDY5NCwxOTYvOjEyL0o4b2hpYzosMjIsMzUwOCwzNjg4LDE0Niw4OTEvV0RtczM6MiwyMiwzNTA3LDM4MzUsODkxLy9IQ1N2YWU6LDM1MzEsMjg2MSwxODY2L1hWZmZLYjoyLDM1MzAsNDcyOC86MTgveFlRQmM6LDI4LDM1MDQsMzY5MiwxNDYsODkxL01hb1ZNZDoyLDI4LDM1MDMsMzgzOSw4OTEvL3RwekhTYzosMzA1Nyw1MzQ3Ly86L29rSXg4OiwzL1pXRVVBL2FmUjRDZjo2L0tSRFVVYjo0LDMvbnpjN21kOjMsMywzOTQ1LDQzODUvOjMwL0VzQXBMYzosLDM5LDM1MDIsMzY5NCwsNTcsODgsODkxL3dJV0VpYjozLDM1NDAsMzY5NiwxNDUsODkxL0VPYTZFYjo0LDM1MzksMzY5NywxNDUsODkxL3ZZblZIYzo1LDE4MzYsMTcwMiwzODQzLDc4MiwxMDkvajlueFY6NSwsMzksMzQ5OCwzNjk4LCw1Nyw4OCw4OTEvWVlqYUZlOjYsNDAsMzQ5NywzODQ1LDg5MS91dVJFSmM6MTEsMywzOTQ0LDQzODYvcXNKMHJkOiwyMiw1LDEwLDEyLDM0OTQsMzQxNCw0MzMsNjk0LDE5Ni9BZmpYZmM6MzU0NCwzODQ3LDg5MS9tTkVpdWY6MTU2MiwxNDM1LDU0NywzODQ4LDg5MS9KbGYybGM6MjYsMTcsMzE5OCw0MDY5LDk3NC9VOTZwUmQvb3NxTVZlOjMzMDEsNDgwMi9Gc1IwNDo4MTA0L2hLU2szZTozMjE3LDQ4OTUsL2JveHVIYjo0LDI3ODQsNjIsNDUzLDM2NzMsMTE0MS86ODM5OC9iVHBRTTosNzUsMzI1Miw0MDczLDcxOCwyMzYvL2FPVGc3ZTosLDc3LDMyNTAsNDk2NC9yUTY4bmU6MiwzMzI1LDUwNDcvRERhNDFlOjUsODMsMjc2OCw0NjcsNTAyMiwxNC94a0ZJTWM6NzMyOS9uajY3TDo3Mi86My9DbDhnSWY6LCwsMiw5LDMzMTcsNDAwMCw5NjgvZTJ1VzFlOjMzMzAsNDAwMiw5NjgvRm1UcXFlOjMzMzYsNDk2NS9PYzVFWGU6MTAsLDc1LDMyNDUsMzUwNiwzOTMsMTA3Mi9vcEtQeWQ6NTcxMi9JRk1yZmI6MzMzOCwyMzU4Lys0L3UzTFlGYjosLDEyLDMzMTYvc3JhcmpiOjksODksMzIzNi86OTEsNTUzMiwyODgsMTQ2LCw1MzQsMjEwLDExMSwzMjMvcEZ1QVdlOiwsMiwxMSw5LDY2LDgyMTksMiw3Ny90aGlXVGU6LDMzMzQvKzQ6Myw4NCw1NjE4Ly0xOi90elpCVmI6LDMsMywzMzI5L2RQZG10OjIsMywzLDMzMjgvT09OcEtjOjYsMzMzMC91S0trVGI6NywzMzI5L1ZxREJRYzoxOSw2LDgyLDMyMjksNDk4MSw3OS9HWHJUemM6MjAsNiwzMzEwLDQ5ODIvT2hQdlliOjMzNTAsMjcxNS9VUk1FMmI6MzAsMzIsMzI5NSw0NzY3LDMsMTkzL29GemJSOiwsOTIsMzIzNiw1MDcwL2w1Q0paZTo2NCwzMjIyLDI0MzksMjU5Ny9BUGRjT2M6NTc2Ny9xS0VOMTo1NzMyLyszOjY4MzgvLTE6LyszL2RHendkYjosLDMsMzIwMSwyMDI2LDgsOSw0ODUsMjMsMzI4LDEyNzUvOjI3MzAsNjQsMjkzNCwxMTAxLDc2LzosMjcyOCwsMjUzMCw0NjgsMzUxLzosNSwyNzI3L2hBbGpzOiw1LDQ0MTUsMTMxNywzNiwzMjAsMTEzMiwxMjIzL1hueU4yZTosNDQyMCw0MDIwL05Id01XZTozNTk0LDM4NDksNSw4ODYvbnh5VUdmOjM1OTMsMTE4OSwyNjYyLDUsODg2L2ZNRG8zOjM1OTMsMTE5MCwxNzQ2LDg3MSw4LDIsNDAsODg2L3VIYUpjZjoxODQ1LDE3NTEsMTE4MywxNDQsMTc5NywyNTIsNCw0NzAsODkxL0pxVmFuOjM1OTAsNDc0OC9KZmlQM2I6MTUwOCwyMDc2LDM3NTEsMTEzLDg5MS86ODA2Mi9iQkJlNWM6Lzo4MDY0L0tDRUZDZjovenlUdWJlOjIvOjgwNjcveEtDclpjOi94TzNjd2I6MzU4NywzNDUxLDQxOCw3MjAsMTcxL1dJbVJ4ZTo3MDEvT05LQW9jOjcwMy9Ub2pjVGI6NzAwL2xxOWNoZDo3MDAvQlp2YTRjOjcwMy9CeTJtdTo3MDUsNzA3MC9vN1lLcmI6NzE4L1I5Z0ZLZjo3MTcvZ2E3ZXJiOjcxNCwvZllRME06NzE0LC9sV1h6U2M6NzE1LC90UkY0cjo3MTUsMi9HZG56ZmI6NzIwL2t4Y1dmOjcwOC9pSk8xaGU6NzA2L25DeGVBOjcwOC9pbXhyN2U6NzI1L2s1a09IYzo3MjAsMy9wWFU4bmY6NjY0L1oxemluZDo4MTgvTDhRVmxkOjgxOC9TWFUyNWM6ODEwL3NhSXJCOjgxOS9rcm1iR2Y6ODE5L0U0d2tJZjo4MjAvbllnRGs6ODE5L3ZaRnZqZTo4MTkvU3VaRXZmOjgxNS9MVTJBNzo4MjMvaHFEMXhlOjgyMi9FYzNnbTo4MjAvQU0yb0plOjgyMy9sYUhkQWM6ODI0L0hKbU9tYzo4MjUva2V6SEljOjgyMS9DUVpIUGQ6NjgwLzo4MTAzLDMvZDRYTm5jOi86ODEwNS9zYTlNVjovL1R6Mk1PYjovKzI6MTYwMS9JSWY1amI6LDc0ODIvKzIvOjMvSUZIa2VmOiwsLDE1OTMsMjQ5LDI3NjUsMjQ3MSwyOTQvOjMyMSwxNTAsMTM5OCwzMTE0LDEyODgsNDIsMTEsLCwyNDMsMjA4LDE0LDIsMiw2LDIxNiwzNDcsMjcsODMzLDExMiwyL1o5RkxMYzosMzU2OSw0ODI2L2JtNWROOjIsMTEzMiwyNDM2LDE0MTMsLDE4MDcsNzAwLDkwNi9BY2Q1ZWU6MzU3MCw0ODI4Lzo2NDAvOjQ5ODYsL0JxWW9EZDosLDEwMzAsMTA2LDI0MzQsMzQ5NCwzMTYsMTI4LDY1NSwyMzYvSVNJM2Y6NDYxNi9zNWd0SWY6LDQ2MTUsMzc4MC9rMmZ1aWM6NDYxNSwyODgyLysyLy86MTYzNCw1ODg0Ly9XMmQxWmU6LCwsLCwxMiwyLDQ1OTUvVlprWkFmOiw0NjEzL3BZc2thZDosNjU2LDM5NTcveTNJNURjOjQsMywyLDQ2MDYsOS9GTXFBVzo2LDIsLDQ2MTQsMjgyMS9UTHd6V2U6LCw2LDE4NDYsMTEsMjc1OCwyMTcyLy9uUlVoOWI6LCw0NjIyLDcsLDI1NzEsODMveW1hVHpmOiwzMTIwLDE1MDMsMjkwMiw3MjAsMTcxL0tHZHpJYzo4NDk1LzozMSwyLDIsMzksMywyLDYzNiwyMDcsODcvaGJUSHdmOiwsMywyMywxMTA5LDc5NSwyNzAzL01DRVVTZTozNjYwLDM2NzcsMTkzLDg5MS94YjNnYWQ6MjksMTU5NCwsNTQ4NSwyOTQsMTExLDc1NC9panVDbmQ6ODMxNS9QVXJvZ2Q6LDQsMjcsMTEwOSw3OTUsNjMzMywyMzIvSkN2RFpjOjIsNzExNCwxMzA5L2lzaUlsZjosNDYyNywyOTA3L1VWNmlRZTo3ODkwLDI1Ni91S0R3WWI6Nzg0MCwzMTAvb1A0UXBjL05hWFQwZDosMzY2NywzODQ4LDIzLDg5MS9qSWduMmU6NzY3L1M3MVJEZjo3NjkvcnJIZnk6NzY4L2RDaWdJZjo2ODgveUd5WHZmOjY5MC90Y1Q1V2Q6MTE1NS9JZktSVWQ6MTE1Ny9uZEY2YWQ6MTE1OC9lMno1b2Q6OTE4L3d2Z1lzZTo5MTgvd2xnSm5kOjkxOC9TYUIwazo5MTgvUHBnT3ZmOjEzMTgvbWxRRmVmOjcwOCw2MTEvTFE0S2I6NzA5LDYxMS9ORUdGZmI6MTMyMS9NUm54TTo5MjAvVEROc3ZjOjkxNy9maXd4cDo5MTksL1l3cG42Yzo5MjIvSkVJR2w6OTIxL1lwV3NpZDo5MjcvRlVueHpmOjkyNy9JSXNSOWM6OTIyL3hucG1tZS91eW5PRWU6LDM2ODUsNDc3MC92SkxnSTozNjg2LCwxNDQzLDIzMDgsNywxMjEsODkxL0hBeDVaYzo3OTAwL0lDZEtKZTo3Nzk5LDExNS9xYzQ4QmU6NzIwLDcxOTUvSFlrNnhiOjcyMCw3MzMwL3V3cm5xZjo4MDA5L2tLNWxuOjU2MDEvV25BcWpmOjU1OTYsMi9NQnA5RmI6ODE4Ny9uWWVXU2Q6MTEwNy9JR3JEaWM6MTEwOC95R3JFVWMvQUs2eENlOjM2NzQsMzc2NiwxMDI5L3ptTHM2ZTozNjczLDQ4NzcvVFYwbU46LDc1OSw0MjgsOSw0OTYsMTk4MCwzNjkxLDIxNiw4OTEveGo4T0U6MjE2MywzMjY1LDI0MjAsMTc4LDE2NSw0LDMvWWJ0WmhjOjgxOTIsNCwzL1ppUHRoZjozNjc1LDM5MDgsODkxL1VQT1hyZjozNjc1LDM5MDksODkxL0NpZ3hwYjoxNjc4LDIwMDIsMzQ4MywyOTQsMTExLDkwOC9SQUw0eWQ6MTIxMSw3MDUsMTIsMTc0OCwzMTgyLDMxMCwxMzA5L0VLWVRaOjk0My9xdjlOejo5NDUsL3NNV0E2YjoxMTIwL3c4S0pGZTo3NjY2LDUzNy9IbzB3dGQ6Nzk0NS95ckhBazo3NzQvRzNZRjc6Nzc0L2ZTZDlqZDo3NzcvZnQ1SEJiOjk1MC90eGZRamY6ODE4Ni9od1Z6Yjo5NDgvREtXNTdjOjk0OC9ncVJPTWM6OTQ5L0JUeTVqZTo5NTAvcU5kUnplOjk0OS9oM25xOGM6OTU2L3pTbXNFYzo5NTAvdnhFN2tlOjk1Ni9NSEo4UWQ6OTU4L2dTbTFiOjk1NS9DTWQwc2Y6ODIxL05jMkpFZjo4MjIvY29aeXFkOjc5NS9nSlExVGU6Nzk2L0pWa3pTZDo4MjUvSkdzNE1lOjgyNi9paEFZWWQ6MTM3OS93WEtnZ2M6MTEwMywyL0cxQm84YjoxMTA2L29CNkd2YjoxMTA4L2g4VXd2ZjoxMTA3LC95VHRqZGI6MTA2NS96MkR1bToxMDYyL3FET3VDZDoxMDU2L2h6bjhSYzoxMDM1LysyOjgyMzUveHJyMmRjOi9ZTlJWamM6MTA3MC9lT0V5NWI6MTA2Ni9UckJEUmM6MTA3MC9rN3pzTmQ6MTA2Ny9nemxnb2M6MTAzOS9XSVZLRToxMDQxL3VoNXY5OjEwNjkvY2owN29mOjEwNjEvZUhmZnVkOjEwNTAvQzBSdnFmOjEwNzAvQjVCMWliOjEwNDcvZHJkMHNiOjEwNzMvV0NIdzRjOjEwNzAvSTlRWEY6MTA1My9OVjVCNmQ6MTA1My93c3ptaGI6MTA3NC9jSHpScToxMDUwL1ZQN3FJZjoxMDUwL0ZXZWZiOjEwNTAvb05lMmM6MTA5Ny92MkhTWToxMDk3L0RCclVIZDoxMTAxLDgvSXhPc0I6MTA3OC9oOUtGQmI6MTA3OC9tRVA0QWY6MTA5Ny9aWkRQdjoxMDk3L1ZpeWhGZToxMTAyL3I3akY2ZDoxMTAyL1V0dno4ZToxMDc0L3dpR1NCZDoxMDczL3FHS3JsZDoxMDc0L2FyQlNHYzoxMDgyL21lVXZQZDoxMDg1L2tHRVA3OjEwODAvVHVxNndlOjEwNjMvd3hvclFlOjEwODcvTEk1NEJjOjEwNjYvT3JteHRjOjEwODIvR05mMVg6MTA4NywvRTBoTUpkOjEwODcsMi9LZUpXV2M6MTA4My9GREU4ZmU6ODI2L0s2aUN0OjgyOC9jcUphZmM6ODI3LDc3OC9YM2tXTzo4MzEvZjJGQ0xlOjgzMy9LYVVZcWQ6ODE5L3VKYU81OjgyOC9EVTgyZWI6ODU2L29GbkJQZDo4NzYvZXZwRERjOjg2OC9XNUloczo4NjcvWU9Cb2tmOjg4MC9PbWRRMzo4NzIvQWVlcE9iOjg4NC9oYzlzNWM6ODc3L0NqcmtVZTo4NzkvelpXem1iOjg3Mi9KbzRQZGI6ODc1L1FhbmVIYjo4ODAvYmZFQmFjOjg4MC9oQ3IzZmU6ODg3L2tnZTJkYjo4OTQvVjdUcmhkOjg5NC9qU1VMS2Q6ODM1L1FQWEttZjo4MzcvV2JaYnVlOjgzNC9FWUZIVGI6ODM1L05PZnJ4Yzo4NDQvTGtYR3ZkOjExNjUvZFM0c2tiOjEwODYvYkVUN0ZmOjExNzgvWnZ1c2JkOjExOTEvdHNzZExlOjExOTcvTzZHZUU6MTE5Ni9qRjFNcWU6MTE5Ni9lbjI1bGQ6MTE4Mi93bXFnb2I6MTIwMC9RYThYQzoxMTk2L1VKZUFqZDoxMTg4L3RIWEV1ZTo4MzE3L1Zxb1p2Zjo1NTUyLDI1NjEsMjA1L1N2UHY1Yjo4MDYwLDI1OS9weFRnd2U6ODExNSwyMDUvY0pFeXBkOjU1NTUsMjUwNywyNTkvaklOS2U6ODMyMi9sYWlyNC91OEtyc2MvRllkMUw6ODMyNS9ITFdxa2M6MTExNi9XaXZTV2Q6ODgzL3NqMDYwYjo4ODMvd1loRnlkOjk0OC9DWnpRZmM6ODg0L3pGdk06ODg4L1FNU0ZvZDo4OTAvYjlXWjY6OTUxL2FlYjJQZDo4OTkvZml5UjhjOjg5Ni9nS2hzQ2U6ODk4L09tWmg2OjkwMy9Ua0k5c2Q6ODk4LDc2NS95RmtHbWI6OTAyL01STXVJYjo5MDQvYTgyYU5lOjg5My9rVlRNOGU6ODk1L2Q2MlZCOjk0NC9JOEVnN2Q6OTQ1L0RybUJsZjo5NDYvb1ZCc0k6OTQ3L0x4c0RoYzo5NDgvWUY5eW06OTIwL3BYSkxEZTo4ODkvYVJqdjZiOjg5My9hNmdXZGY6ODM1MS9JbXJNV2U6ODM1Mi90ejBXSjo4MzUzL1VwZ1gxYzo3OTcyLDM4Mi86ODM1NS9NYkgxbmQ6Lzo4MzU3L0tEdnRVYzosNzk3NS9FS0FSRToyLDc5NzUvdzd0eXpmOjUvUzVwcHlmOjgxMDIvOjc2NzEsODAvYlRHa1NkOiwyMDg1LDIxNSwyNTk1LDE2OTAsOTI1LDEyMTAvVWFnWmdlOjQ4OTgvQUxKcVdiOjIxMzUsNTM4NSwsMi9SMmtjOGIvaEdZUUU6NDI4NSwzMjQ3LDkxMiwxOTEvWFRVWldjOjUsODg3LDIsLDMsOTEzLDM5LDI0MzYsMzAyNSwyMTgsMTAsODc0LDIzMy8rMjo3NTI2L1hUOENsZjosLDIsMiwxOTExLDEyLDI5NzEsMTkwNyw5MjgvaXBJc2hkOjIzMywxNjMzLDI5ODksMzc5NC93Nm93OWU6MTA5MywyMTMsMzAsMzEsMjAsNjksNzA2LDE2ODMsNDgwNS9HQjBUdmM6MTM4OCwyNDU1LDM2NzgsMTYxLDgwLDk2OS95U1BKUGU6MTM4NiwyNDYzLDM0NjgsMzE2LDEwMTkvRDFkTkliOjM4NDksNDgwNC9uRGZMQWM6Mzg0OCwxNDc5LDI0MzYsNzIwLDE3MS9MM2U5NGU6MTM0MCw0OSw0MzUsNDMsLDE5LDE5NjAsLDE5NzIsNzY2LDY3NSw1OSwzMTYsMTI4LDcyMCwxNzEvZFloRG5jOjUsMzg0MiwzOTE4LDcyMCwxNzEvQkFvMWJlOjM4NDcsMzg0MSw4MCw5NjkvYXRhTTBkOiwxMjc1LDMsMiwyNTY1LDE0MTcsMjA2MCwyMjgsMTQsNzQsMTI4LDg5MS9ubzNpZWQ6Mzg0NSwzOTIzLDg5MS9ndGcwbzozODQ1LDM3MzEsODg4LDI1LDE3MS95VzhjTWM6Mzg0NSw0ODE2L0REY1lzZDozODQ1LDM5MjYsODkxL3pkcUhHOjM4NDQsMzg5Ny8rMzoxODU3LDUxMDksLDMwMSwxMS86MjUyNSwzMzc3LysyOjI1MjMvLTE6LCwyNTE3LDMzODYsMjM2LDE4Myw0NTAsLDUyMS8rMjoyNTE4LDM2MjYsMTgwLDY0NywyLDQsMTg1LDU3Ni86LCwyNTE0LDE5LDM3MTMsMiw3OC8vKzI6Njk3OCwvKzI6LDU3NzkvOjI1MTcsNDQ1OCwsMzAxLDExLDQ1NS86Mzg1Niw0Njk5LDcsMzYsMTYzLzo3Mjg2L1FjMU44YjosLCwsMiwsNSw2MjIyLDg2LDgsODI2LDQ2LDUsMywsMywyNSw2LDM0LDUsOTExLDU1OC86Mzg1Myw0NzA1LDcsMTk5L0dqUEZlZDosMiw1LDU2MzAsMjcyLDI0OSwxNjMsODM0LDE1OTcvRnlmMUpjOjM4NTksMzczNiw4ODgsMjUsMTcxL2FqVE9qZjozODU5LDMyMzYsMTU4NS9oNHpTOTo0LDMsMTEsMzg0MSwzMjM3LDEzNzQsNDAsMjM1LDE5L0RJenRGZTozODU5LDQ2MjcsMjUsMTcxL05yQnBCZTozODU4LDQ2MjksMTk2Lzo4MjAxLDIwNS9aeG16RWU6Lzo3ODcxL3lwVmc3ZTovOjgyMDUsMjA3L3FsN3FKYjovOjgxNTMvdENnMWplOi86ODI4My9JZlBEbmM6Lzo4Mjk3L0NHdU13ZjovQzY5N2tlOjIvOjg0MDQvSUFGdnNkOi92cUJjYmU6Mi86ODI4OS9nTmtIeTovUmxwVnBiL2xQTzF1ZTovKzI6ODI5MywxMC95bjlGZmQ6Lzo4MjM2LDE5Mi9qSnRTemM6L3JGYktqZTo4Mjc1LDQ0LDU2L0ozam15OjgzNDgsNTgvb3JOTXRkL3JVclJIZDo5MDAsNzksMjEsMTk0LDE3LDE4Niw1MzYsNCwyODYsMTY1NCw0ODM0L0VmUXNPYzo4NDMxLDMvOjI0MDQsNTg2MywxNjUsNCwzL3RqdzA1YzovUkY1R05kOjIveVJid0Y6Mzg3OCwzOTQ3LDg5MS8vL1dIWUlOZTosLDQzNDIsMzQ4NCw2NDUsMjQ2L21abVZjZDo0MzQ0LDI3NTksMjQ1LDExMjIsNiwzMDgvKzQ6ODQ3NC9jRVNFbmY6LCwzLDQzNDAsNDM3Ny8vL3FBeXgyOiwsNSw0MzI5LDM0OTgsODkxL0JJaEFyOjMsNDMzMy9wSjhjOWM6LDIsNDMzMyw0MzkxL3VmRHB2ZTo0MzQ4LDQxMzMvKzIvTHE3WUhlOiwsNywsMywxOTMzLDI0MDMsNDQ2MS86MjU5NC9vWFVrZ2M6LCw0OTUsMzg1MiwzMDk2LDIxNSw2LDE3NSw5LDg4Mi9kdnRGWWQ6NDM0OSwyMjQzLDEyNTAsODkxL1Y5NU1QYjo0LDEyLDcwNjcsNjMyLDcsMTAxMi9tN1VvMWM6Myw0MzQ2L3p1UmV0OjUsLDEyLDIyNTAsMjA4MSwyNTgwLDExMiwzMDUsMjUwLDIzNCwxNSwzOTMsMjEzLDI4NS9sa3cxSmQ6Nyw0MzQyLDQzODgvWFI2R3hkOjQsNDM1MiwzNDkxLDY5NS9LZ09VZmI6MTgsLDIsLDQzMzksMzQ4Nyw4OTEvaE5NN3dlOjIyLDQzMzksMzQ4OCw4OTEvak1hTzJkOjQzNTYsMzQ3OSwxNSw4OTEvbU5sc3plOjEyLDEyLDIyODEsMTU5OCwzNTA0LDI2Niw1MCw5MywzNSw2OTUsMTk2L3BRWEVGYzozNDQsMTAyMCwyNTM5LDMxODQsNTUwLDEwMSw0NCw3MCw2NTUsMjM2Lzo4MjY0LDE5OS86NzA0MywzMzIvOjcwNDQsMzMyLDcyMS86NzA1NCwvOiwsLCwyNDM2LDE2MCwzMjMwLDUyNCw4Ny86NCw3MDM0LDUvOjQsNzAzNSw1LysyOiwsLDEzMDcsMTI4MCw4MjksMiwyNTI2LDM4MywxMTMvOjcwNTksLysyOjcwNjAsLzosNzA1NCwyLCwsNCwxODUsNTc2Lzo3MDYyLC8rMjo3MDYzLC8rMjozNDMyLDIyOTEsNjIxLDEwNSw1OTYsMiwxMSwyLDE5MSwyMTksMywsLDM1MiwxNC86MjI4OSw0MTYyLDYxNCwzMTEsMTIvOiw2NDUwLDU5OCw0LDcsMiwxOTEvOjIyODgsNTE4Ny86LDY3MDUsMzU3LCw0MTAsMywsLy9sTno1dmU6LCwyLDIsLCwsMiwsMjM4LDEwMjEsMTEsLCwsLCwsLCwxMiw0LCwsLCwsLCwyLCwsLCwxMSwyNiw1LCwsLCw0NTUsMywxMzIsNSwsNTA4LDMsMTI4LDgxOSwxMSwzMjg0LDc1OSwxMzY1L3EwSFBuZDoxMjcxLDQxMjUsMTY3MCwsLDQwNiwzNjAsMTAwNS86NzA3MiwvKzI6MjAsLDIyODYsLCw0LDMxMCwzLDMyMjIsMTYxLDIzNSwxMjksODYsMTk1Miw2LDI4LzosMjM0NywyNjkvLTI6LDE0LCwxMzE3LDgsNDY2OS8rMzozLDE2LCwyMzE0LDI3NSwsLDgyMywzLDcsMjUyMSwzOTEsMTA1LDQxNS9pSnZSSDosLDMsMTEsMTI2MCwzNCwsMTYsLDIsLDMsMiw2MzEsNTExLDEyOCwyLDgyNiwxOTY4LDIwNzgsMjE4LDExNDcvenVrcWllOjM3MSwxMDE2LDUsLDksODIsMjQyNSwzNTI3LDMxNiwxMjgsODkxL2xpR1FqYi9SVlgybmU6ODQ5NS9kUW1nQmI6MTM1OC95ZTJmVToyMDQ3LDE4NTksMTU0MiwyNDM2LDcyMCwxNzEvKzIvbEpHQUhmOi93RmpndWM6Mi9EOG55d2U6ODUwMS86ODM3OS9mTmJpYmM6L3Z2dDI3Yi9DMTgyQ2Y6ODUwNS9jT25aQ2U6ODUwNi86ODUwNy93UnZLUWQ6L1pvQXpXZDo4NTA5Lzo4NTEwL011MmR3Oi9RYUlSTWQ6Mi9PVkFKTGQ6My86ODUwOC9WWEN6cWQ6L1lTUjlrYjoyL1VCaHNwZTozL1pWN2toYzo0L0x0eTN4OjUvcjhzc2ZiOjg1MjAva3Q2YXVmOjg1MjEvU3ZDblRlOjg1MjIvSzM1cUtmOjM5MjYsMzg1Niw3LDEwMTIvTzlLbmplOjM5MjYsNDg3Ni9pSWx6cGI6MTEsMTI3OCw4MzcsMTc5NiwzODEyLDUwLDcsODYsMzUsNzgxLDExMC9kaG5HdmU6MTY0LDQ4NzIsMjE0OSw0ODksMTIxMC9yUVI0dmQ6LDE1NywzLDIwODksMjc4NiwzNzQsMTA1LDE2NzQsNTMyLDM1LDMwLDcsMTA0LDkwOC96TEZMUGU6NTAzNiwyNzgyLDk3L3lzUklsZToyMjUyLDI4MTIsMjQyNiwyMTEsMTEwNi92bkRSNDo1MDU2LDM3NTIvYVdHWFA6MjI1NCwyNzg0LDI3NTIsNywxMDQsOTA4L3ozYkRiOjQwNTQsMzg2NSw4OTEvb1FXYnRkOjQ1NzAsMzE4OSwxNjEsODkxL1BDcUNvZToxNDI4LDMwNjQsMzIzNiwxMDg0Ly86NjcyNi9MSEdmRWQ6LCw0NTEzLDMyMTYsMTA4NC9vdzhTQmI6MiwsNDUxMiwzMjE3LDEwODQvSnJleUZkOjMsLDQ1MTEsMzIxOCwxMDg0L3h1RVhrYzozOTQwLDQ5NTgvWUhoTVNjOjM0LDIyMzAsMTY3NywsMjcwNywxMjU3LDkxMy9JWDUzVGI6MjczOSwxNzM3LDMwMzEsNDA1LDE3LDcyMCwxNzEvL0M4ZmZEOiw3MTcwL2tLVmhkYzosNDQxOC9aVUJydToyLDQ0MTcvOjc5MzQvclR1QU5lOiwsNDQxOCwyLDQ0MDQvcjB0VnNiOjYsMTIzOSwzMTc1LDEzMDAsMTAzNiwyMiwyMi9nVEczbjo0NDIwLDQ0MDgvL0RxMllqYjosNDQzMCw0Mzk5LysyL05WbG5FOiwyLDQsNCw0NDEyLDMzMDIsOSw3OSw3LDk5LDkxMywxMzMsMy86NCw3OTM4LDcyMC9VcUd3ZzosMTI1MCwzMTg1LDQzOTgvRUxBc2JiOjQ0NDAsMjU1NC9JZFFRcWI6LDYsNDQzMyw0Mzk2L1haYUl0Yzo0LDIsNDQzNywzNDU3LDI5LDkwOC9GajRhYjo0NDQ1LDM1MDIsNjU4LDIzMy8vajJ6RzhjOi94eDhteWY6ODU2My9XblgwTTo4NTY0L2E3VXJLZjo0LDM5NTksNDg4MC86ODU2Ni9aaHFoRTosMjM1MiwyOTgsMTMxNSwxNDY1LDc2LDE3MzIsNDk5LDE0LDc0LDcsMTIxLDg5MS9HZzQwTTo1MDQxLDI4MzcsOTY4L29XVnJuZTo1MDQwLDM4ODcvL2JwZWM3YjosLDUwMzksMTE2OCwxNzQ5LDg5MS9vZ21CY2Q6MiwsMTA2NywxMjcyLDE1MywxMDcyLCwxNDcxLDE5NzAsMiw1MDMsMjEsMjAsLDE3NiwyLDk3LDEyOCw4OTEvL0NXYlZ2Oiw0NTQ2LDQwNDgsMjU3L2dpcDJXZDoxMTgzLDMzNjQvQzNab1RlOiwyLDExNzYsMzM2NywyMTY3LDI3Myw5NzcsNjU4L3NldTNJZTo0NTQ1LDM0MTksODkxL3MzUXhPYjoxMTg1LDEyMzUsNDAxLDUsMTc5MSwxNTg2LDc4NywyNDcsNDcwLDExMiwzMiwzMSw4Myw3ODIsMTA5Ly9aN3liUmI6LDM2NTcsNTM0MC9VQktKWi8vOi93TzBsdWY6LDQvTEdESkdiOjYveGtjdEo6Myw0Lzo5MDA2L1hZNHl5YjosMTE5Niw3ODA5LzoxMTk4L0NVd2pmZjosL3g1Q1N1OjQvUTFPdzdiL3NmRlRsZTo0LC8vZWREYnZjOiwyLDEwLCw2LDExNzgsMTE0MSwyMjI1LDIxNjgsMTI1MCw4OTEvcWp6QWljOjIxLDExNzksMzM2NywzNDE2LDg5MSw2NC9mcHptYWY6NDU2MSw5MTksMjM3Niw3LDEyMSw4OTEvKzI6MTIwMi9vbGRPMmQ6LDQ1NjEsMzQyNCw4OTEsNjQvT1NSNmdmOjYsMTksMTE3OSwzMzYzLDM0MjAsODkxL0lXS2YyZDozLDIzLDQ1MzcsMzQyNSw4OTEsNjQvV3F1SkNmOjQyNjQsMzcyNSw4OTEvcXQ2SHVjOiw0NTY4LDMyOTMsNy93WVFMZWU6MTAsNDU1OSw0MzEzL2ZUMGFxZTo0MDAxLDQ4ODIvUlUyeThkOjQwL2FJRzRHYzo0MS9FdTNVV2M6NDUyNSwzMjQ4LDExMTMvLy86Mi9lRVpMemI6LCwzOTk1LDQ5MTcvKzIvKzIvVk1vVkljOiwsLDEyMDQsMjc5MiwxMzg5LDE1MCwsNTEwLDQyOCwxMDIyLDMyMywyLDUwLDcsMTIxLDg5MS9BTlRXWDo0NTIzL0ZseTBpZDosMywxMTAwLDM0MTksMjc1NSw3MjYsODkxL0NYMTBlOjQwMDYsMzg2MSwxMDI5L25NYzRuZDo0MDA2LDM4ODcsMTEzLDg5MS9HQ1NiaGQ6NTIwNywyNjYzLDEzNyw4OTEvQTNYeXZmOiw0MDA2L0hFVmh6Yjo0MDA1LDM5MDcvUG42UGRlOjksMzk5Niw0MDA1LDg5MS9jeW1yRWU6NDAwNCwzODY5LDEwMjkvVjZpVXRiOjM5OTYsNDAxNiw4OTEvKzIveXozNjhiOiwzOTk5LDE1NjUsMTQ0NSwyNDMsMzU5LDE4Niw5LDIsMTA5Ni9EZXF4UGQ6MiwzOTk4LDQwMTUsODkxL01ZS0NyOjg2LDI4MDEsMTExMCwzMTcwLDgzMiwxNyw4OTEvdmFXYk5lOjg3LDM5MTAsMzgwNCw5LDc5LDcsMTIxLDg5MS9kWEFtM2Q6ODgsMzkwOSw0OTEyL3dUdXh3Zjo2MTIsNiwzMzA5LDQ5ODMvOjM0NzIvVWFLbWhkOiw1OTEsLDMzMzAsNTA2OC86Miw2ODgsNSw2LDMyMjQsNDg2OSwyMDYvOjYwMyw4NSw2LDIsNiw2OTIyL1ZLbVZ2YzosLDg5ODgvaGVIQjEvOjYzOTYvKzI6LDY1MjQsODYsNjA0LCw4LDMyNCw4NDIsLCwsLCwyLCwzLC86LDM1OTMsMjU4MSwzMzEsMTA1LDU5NiwsNSw2LDcyNy8rMjo3NTMxLy9FdFo4Q2Q6LCwsNjY2LDQ2LDE0MDEsMTE0MSw2NCwzLDk3LDYwLDIzNzEsMzU3LDI0LDEyNCwxMTgwLDQ3Nyw2OTcsMjcyL1YxczR6ZToxMCwzODc1LDM5NTQsODg4LDE5Niw4My9zRmN6cS9KeGluRmQ6MiwzODg0L3MwZkpSYzozODg2LDI0NDcsMi9PQTg5Y2Q6NCwzODgyLDI0MzMsMTY0OCwxMS9TVFlUMmI6NSwzODgxLysyLzoyNjY4LDM5LDQwMDEsMjE3OCwxMC9YNTNRbmI6LCw4MTQsMTc3MCwyMTQ4LDQyNjEvKzM6NzI0MCw4NTAsMi86NzI0MS8rMjo3MjQxLC86NzI0MiwvOjYxODEvOjcyNDQsLzo3MjQ1LC86NzI0NiwvOjcyNDcsLzo3MjQ4LC86NzI0OSwvOjcyNTAsLzo3MjUxLC86NzI1MiwvOjcyNTMsLzo3MjU0LC86NzI1NSwvOjcyNTYsLzo3MjU3LC86NzI1OCwvOjcyNTksLzo3MjYwLC8tMjA6LCwsLCwsLCwsLCwsLCwsLCwsLCwsMTYsMTYxLDMsLDUsNzYsODExLDIsMiwyLDIsMywxMDQwLDQ4MCwyMSwsNyw3LDUsMTM4LDEwLDIsMzMxOSwyMCw0MywyMzQsMiwsMTI4LDY4OSw4LDMyNC8rMjE6NjU2NC8rNjoyMCw2MDIzLDUyMCw4Niw2MDMsMTAsMTA2MywsNCwzMjUvOjYwNDQsNTIwLDg2LDYwMywxMCwxMjA2Lys4OjcyNTUsMTEwNiwsLCwsLC9GdjdKM2MvQUhJUkJmL3M0eVhPZS9VNUtIRS9KNHFuTGUvcnQ2N3NkLy0xOiwsLCwsLDI4MDYsMzc2MC8tOTo3MjY0LDEwLDMyMiw3NTEvKzExOjU1MTAsMiw0LDUxNCwsLCwsLCwsLCwsLDE5LCwsLCwsLCwyNyw1MSwxMTIwLDMzMi94S1d0UmIvLTQxOiwsLCw3LCwsLCwyMiwxNCwxNTgsMiw3MCwyLDIsMTIsMTg2MCw0ODIsMjQsNCwzNSw4NzYsMzYsMTMsNSwxMywyMjg4LCwyLDEwOSwxNCw5NiwyMyw0MCwyMDY3LDIsMiw2LDIsMiwyLDIsMiwyLDUsMiw3MSwyLDIsMiwyLDIsNzYvKzI2OjE5ODEsMiw1Mjg1LDEwLDMyMi86NzI2OSwzMzIvOjcyNzksLy8rMTM6NzI4MSwvOjcyODIsLzo3MjgzLC86MjY4NS86NzI4NSwvOjcyODYsLzo3Mjg3LC86NzI4OCwvOjcyODksLzo3MjkwLC86NjIyNSwzNjUsODcvOjcyODIsLDksMzIzLDc4NC86MjMzLDUsNTk5MC86MTgsMTgzOS9SQk1qd2M6LCwsLCwsLCwsLCwsLCwsLCwsMjA1LDEwLDI0NTIsMiwxMiw4OTcsMiwsMjM0MSwxNjksOTQsLDE3LDQyNywxMDUxLzo2MDk3LDExODksLDksMzIzLDczMiwyLDIsMTU4LDIsMyw0LysyLy0xOiwsOSw5LDI2LDMsMjYxMiwzNTQwLDQ1MCw2MzYsNDE1L0lueGlkZDovKzM6MzYwMy86NjQ2MSwxMTA2LzosNjQ1OCwxMDk1Ly0zOiwyLDE3LDYzNzEsMTE2MywxNTMvVExsR2ViOi92VFZMSWY6NS8rNC91b0s4R2M6LDUwODAvKzkvOi86LysyL3lkb3hRZDosLDUxMTksMzk0OC9zUU1qb2I6Nyw1MDk5LDI5NjYvKzMvcU5HMEZjOiwzODYwLDI1NjksNywxMSwyOCwxNTY0LDk2OC8veXdPUjVjOiwsMzg2MCwyNTY2LDQ5LDI5MCw4MTgvd2cxUDZiOiw0ODA4LDE5NDIsODg0LDE0OTMvd2tZOTZiOjM4NjMsNTE0OS9MdmJYdGY6Mzg2Myw1MTUwL3lSWGJvOjM4NjMsMywyNTYzLDMsNCwzMTgsMywyMzc0LysyLysyOi86LzozL0x4NUdIZTosLDEyLDQ1NTMsNDUzMi86NDQsNzI3NywyLCwsNCwxODUsNTc2LysyOjI2LDUzMjQsOTg0LysyOjUzNTEsMjIyOS8tMzosLCwyLDIyLDM2MDMsMjc4NywxMjE3LDk5L3BPejhuYzosNCw0NTY2LDc4MCwxMDc2LDQsMiwzMzcsOTQxLDQyMi9PcW5JcGI6Miw0NTY5LDE4NDYsMjYwOC8rNDo3NzM3L3FwVmNuYjovVFVyNDBkOjQ1NzIsNDQ1Ni86NzUxMCw5NywxMzMvbm9EZWdkOi86MzcwNywzNjMyLDQwMy9KQmJxaDovcjNQNW9mOjQ2MTcsNDQxNi8rMjo4OTc1LCwvLTE6LDE4LDc0MDIvbWo5a1RjOiw0NjE4LDQ0OTcvdXlQS2dmOjQ1OTQsMjgyNiw1LDQ3Miw2LDI0Myw3MjAvKzIvUHdIZ2JmOiwyLDQ1OTEsMzQ4MSw3Myw5NTUvTHdUZEtkOjQ2MjUsMTA4OCwzMzI3L2JRdkdNZDo0NTk3LDI4MjcsNSw0NzIsNiwyNDMsNzIwL2hlamk0OjM3NTYsODY4LDQ0MTgvV3Z2U046NDYwMSw0NDQyLyszLy8vbERmUzg6LCwsOSw0NjExLDQ0ODgsMTYvKzM6MiwvcjlaTFhkOiw0NjI1LDM1MzIsNzIwLDE3MS8rMjoxMDUsNzI0NiwyLCwsNCwxODUsNTc2Ly86ODEsNzI2MCw1Lzo3LysyOjYsNDU5OCw0MzM4L1puT0VQYzosLCwsLDU5LDIxNzcsNDgzLDI5NjMsNjg3LDI2OCw3MDAsNDIzLDEyNCwxMjQxL0NZdFBqYzoyLCw2LDQ2MjIsNDQyNSw4My90alFTNGI6NCw0NjM0LDQ0ODMsMTYvSFpRQVg6Nyw1MTc5LDQ1NywyNDEwLDcxLDkzNC91cHdEMmI6Miw0NjM3LDM0ODYsNzYwLDE3NC9MMGd3NWU6Myw0NjM2LDM0ODcsNzYwLDE3NC8vYW5lZ2JmOiw0LDQ2MzUsMzUzMSw3MjAsMTcxL3FUMkhqZjoyNyw0NTkwLDQ0NDYvOjQ2LDQ1NjcsNDMzOS90NktQbWM6LDQxLDkwOTgvcldxTUc6NDYxOSw0NDQ3L002WjNOZTozLDI4LDE5LDEyLDQ1NTcsMTEyMSwyNDM2LDcyMCwxNzEsODMvVXNGNTM6MzAsMiw0NTg3LDM1NTgsNzIwLDE3MSw2NC8vSVhLNFlkOiw0NjM5LDI1NTksOTM1LDgsMiw5MjYvOjIsNDYxMSw0MzQ2L0ZrUkxVYjosNDAsMzcwMiwzNjMzLDQwNiwxMzY1L3ozd251YjoyLDI0LDQ2MTgsMzQxMCw3LDEwMTIsODMvRHJoSkFiOjQ2NDIsNDQzMi86NDEsNDU3NCw0MzQ4Lzo4Niw2MjAwLDQ4Myw2MDUsOSwsMzIyLDgxLzo0My9TYU9hemQ6LCwsNTcwNywxMDYwLDU5Nyw1LDcsMywxOTAsMjE2LDEzNjUvRjROYzBjOjQsMjgsNDYxNCw0NDMzLDgzL3c3VVZTYzozLDQ2NTEsNDUwNi9kUTQ3SmQ6NDY1NC9LWjV3SWQ6LCw0NjUyLDI2MDUsNzUyLDIyLDExMiwsOCwyLDkyNi9pT0tZTmI6NDY1MiwzNTQwLDcyMCwxNzEvRWVxOGljOjQ2MjMsNDQ2MS86NDEsNDU4Nyw0MzQ1L25kSkxUYjosNTYsNjc3OCwsOTYwLDEzNjUvKzY6MTQ3LDcyNDEsMiwsLDQsMTg1LDU3Ni86MTQ3LDcyNDIsMiwsLDQsMTg1LDU3Ni8rMjoxNDMsNzI0NywyLCwsNCwxODUsNTc2LzoxNDMsNzI0OCwyLCwsNCwxODUsNTc2LyszOjE0Miw3MjUwLDIsLCw0LDE4NSw1NzYvLTk6MTU5LDcyMzUsMiw1Ly0zOiwsLCwsLDM3LDk2LDIwMCwyNDQwLDIwLDMsMTI5LDMsLDM3NDMsLCw1NDIsMTYwLDUsNi8rMTc6NjA1OCwsNTE2LDE5ODQvOjMzOCw1NzIxLCwxMzI0LDUsNTYyLDYsNS8rMjoyLDEwNCwxOSwxNywzNTYyLDI2MDIsNDUwLDYzNiw0MTUvLzosNDYzNSw0MzUwL09YN1poZDosMiwsMiw0MSwzNjU3LDIwMjcsNjg3LDk2OCw0MjMsMjE2LDksMTE0MC9GMnE2bWU6MiwxMywzOCw0NjEzLDM0MTUsNywxMjEsNzIwLDE3MSw4My86NDY0Niw0MzQzL1d4VVBEZjosNzUsNzczNiwxMzY1L1pRWVBnOjIsNDAsMTcsNDYwOSw0NDM1LDgzL1ZOeXE4Yjo0Myw0NjI1LDQ1MTYvdDhvOUI6LDcsNDY2MCwzMjk3LDE3Niw0NCwyOSw5NTUvVXMxd0c6NTksNDYwOSwzMjk4LDI0OSw3MjAsMTcxL3gxblk1Yjo3Miw0NTk2LDI4MjIsNSw3MjEsNzIwLDE3MS9rN2V5OWI6NzMsNDU5NSwyODIzLDUsNzIxLDcyMCwxNzEva3lzaHZiOjc0LDQ1OTQsMzU1MCw3MjAsMTcxLzoyOTYwLDM3NTYsODcsNjA0LDMyMSwxMiw4ODkvR0lEbU5jOiwxMzksMTcsMzYsMTUyLDE4LDMzNTYsNjgsMjI4OCwyLDI2NywxNiwxNDYyL01zNDhxZDo0NjUzLDQ0NTkvdGRPejZjOjM3L1Q4NGtOYjoxOC93UXBUdWM6Nzk3My9WS2VNOGUvOjI3ODcsMiwyLDM4MDIsNjUzLDY0LDEwOSwsNzY3Ly86LDUyMjAsMzc4Ni8rMy8tMTosMjc5MCwzOTc1LDEwNjYvKzM6Miw0LDc0MDgvLTE6LCwzLCw2NzYxLDgzNCwxNi9pemNOeWQ6LDQsOTE5NC8rMzoxNSw0NDIsNjI0OSw2LDcyLDk1MywxNy8rMjoxODcsMjEzMCw0Mjg1LDE4MCw2NDcsMiw0LDE4NSw1NzYvKzM6Mjg0MCwzNzYzLDE4MCw2NDcsMiw0LDE4NSw1NzYvKzM6MjgyOCwzNzc2LDE4MCw2NDcsMiw0LDE4NSw1NzYvKzU6MjEyLDYzOTEvOjM3NCw2MjMyLDE4MCw2NDcsMiw0LDE4NSw1NzYvLTExOjE5OCw2NDA5LDgyNiw3Ly0yOiwsLCwsLDE3MiwyODYsMywyMzUxLDMzMzYsNDUzLDExMCwsLDcwLDQ3Miw1MDAvKzIxLy0zOi8rMi8rMi86MTM1Lzo0LDE1LDExOCw1MDkxLysyOjc3MjAvOjc2NTQsLzosNjQzMiwxMjA5LDYsOTAsMTE4LzoyMiwxMCw2NzU1LDg1NCw3OCwyLy00OiwsMiwxOCwxNjcsNjI1LDQsMjg5MSwyNTI0LDUxMC8rNjozNTQ1LDQxMjcvOjQsNzYzOCw3LDI4LDE4MSwzLCwvOjQsNiwxMSwzLDY3NjYsODUxLDMzLy0zOiwsLCw2LDIsLDIsOSwzNTg3LDEwMSwyNDM0LDU5Nyw5MzAvdG1uMnJiOiw5LDY3MTIsMjUwMS8rNDozODA2LCwyNTUwLDM2OSw4MCw4MzcsMTM1LysyOjUxOTYsMzg0Mi86MzEsMzU5NCwxODQsMzg0MiwyMTEvOiwsLDI3LDc2MDAsMTgsMTAsMjcvdEtKRFNkOiw5MjI3LyszOjE1My8tMjosNCwxMiw1MjQyLyszOjUsOC86LCwzLDUvbjlSdzBiOiw2NzMxLDI1MDEvKzIvLy86MiwyNy9iVzVSOGQ6LCwyLDE1NCw1MTIwLDM5NjUvKzI6MzgzNCwxOTYyLDM4OCwsMTU5LDM5OSw3LCwsMTA0LDU5OCwxMSwyLCwsNCwxODUsNTc2LzosNjE2NCwyLDg4LDEyMDIsNjk5Lzo1NiwyOTQ4LDgzMiwyOTE3LDEwNSw1OTYsMiw0LyszLy0xLy0xOiwsMjQsMTQ4LDYzOTAsMTE2My8rNDo1MCw0LDc0MDgvKzQ6Njc3MSw5Miw2MDIsNDE5LDMsLC8tMjosLDQsLDIyLDYsLCwsMTYsMjUsNzYzLDE5OTksMzI2MCwzODIsNDM5LDk2MC8rMzoyLDY3NjgvQjkzR2djOiwsMyw2LDE0MSwsNTEzNSwxMjc4LDE4MiwyNDI2L0NIbXdPZTo1Mjg4LDEyOTAsMTcwNiw4OTEvOjE3MS86MTczL3V0NjFTYjosLDgsNSw3NCw1MjAxLDEyOTEsNCwyL0I0bkNOYzoyLDEwLDYsNTI2OCwzMDAyLDg5MS8rMy8vOjYxMDgsMTY2NS86ODUzLDUvLzovOjYvLTc6LCwyLCwsOSwxOTEsNjUwLDI5MzgsNjQvbXlPY0tlOiw4LDYsMTAsMTQ5LDUxMjUsMTQ2My8rMTEvRk1rUFRlOiwyNiw4LDUyNjUsMzg5MCw4My9wWlA3SDozMCw1MjgxL3BEQmI1OjI5LDUyNzEsMjk1NSw5MzcvKzI6NzM1Mi9Id2R5OGQ6LDM1NjIsMTQxMCw2MjIsMTE3MywzMDQsMTAxNiw5MTAsMjUsMTcxL0wzR0M4Yjo1Mjk4LDM4OTcvUEtNanliOjc4LDUyMTksMzAwOCw4OTEvQmI1VGhmOjgsMTYsLDE2Nyw2NzIsMTAzNCwzMzg2LDE0ODcsMjQyNi9wWFdSZzo1Mjg0LDMwMjMsODkxL2dhWFI5OjYwLDQsMTI5LDUwOTEsMzAyNCw4OTEvSG9iRVhkOjUyNDUsMzA2NCw4OTEvb0p6MjhlOjE3LDQwNjAsMjU0Miw0LDI1NzgvdUpSWmRjOjUyNjcsMzA0NCw4OTEvemN4bGNkOjUyNjcsMzA0NSw4OTEvVFZWb0M6MjMsNDQsMTMyLDY3Miw0Mzk2LDEzNDAsMzQzLDIzMzQvcnZRQlY6LDE3LDE0LDg0OSwsNDM4NSwxNTEyL3ZYS3JLYjoxOSwxNCw1MjM0LDE1MTMsMjQyNi9hRWM3QmQ6Myw0OSw1MjE1LDM5NDAsODMvbkNsUndkOjcyLDEzMCw1MDY1LDMwNTAsODkxLysyOjc5MjAvVDVjOFliOi9vT2lVeWI6MjEyLDUxMDUsMzAwMyw4OTEvKzQ6MjEwLzo1OS8rMjosLDMsMjA2LDUxMjQsMjM1NywxNDEwL3ZsdDZNYjosOTI4OS8rMjo3OTI3Ly0xOiwzLCwyMDksNTA4NywyMzk0LDE0MTAvclVNS01kOiw5MjkyLyszOjYyOTUsNDY2LDExNjkvLTE6LDYsLDIwOSw1MDg1LDkxMiwxNDg0LDE0MTAvRkhPTEJiOiw5Mjk1Lys2LzosODEsMTY2LDI2NDUsMzk3NSw4NTQsMjEyLy0zOjIyMi8rNC86LDIsMTAzLDEzNywsNSwzNTg3LDI5OTAvLTY6MjQ1LDY0NTgsMTgwLDY0NywyLDQsMTg1LDU3Ni8tMTosLDIsMTIsNjcsMTIsMTEsNSw1MTk2LDE1MTcsNDgsODM0LDE3LDEzOTMvY2hTanVmOiw2ODAyLDI1MDEvKzg6MTEwLDI3OTAsMzk3NSwxMDY2LzosNzEsMzcsNSw1MjM0LDE1MjcsODM0LDE2LDEzOTQveUZDekVmOiw5MzA2L1FVNEZxLys1Oi86LDc3NDEsMyw3Mi86Myw3NzQ3Ly00OiwsNSw3NC8rNTo0Ly02OiwsNiwxOCw1Niw1MjMyL3AxRndJOiw2ODEzLDI1MDEvKzg6NC8tMTosMiwyNywyMDksNTA3OS9VdDVBVWM6LDY4MTYsMjUwMS8rMjozODUzLDI4NjcsMTgxLDQ3Miw2NCw0MzYsMzA1LDEzNi86LDM4NTIsMzA0OCwzLDgzNS8rNC8tMTosMTA1LDIxLDEzOCwyOCwyNjI0LDg5Niw0MiwyNjgyLDE3MywzNSwxNDcsODU0LDU4LDE1NC8tMTosMiwxOCw4Miw4LDQsLDEwLDUsMzY4MiwxNTA3LDEzODYsMTg2LDgzNCwxNywxMzkzL1V2ZmdJZjosOTMyMy8rNTozLDEwNSw2NzQyLy0xOiwyLDEwMiwxNDMsNTA3MiwxNTI3L1VYczF2YjosNjgyNSwyNTAxLyszOjk3Ly0xOiw0MCwsNTUsMTU0LDUwNTgvdHNxT3djOiw2ODI4LDI1MDEvKzM6MTAwLy0xOiw0MywsNTUsMTU0LDUwNTAvWlF6M2NjOiw2ODMxLDI1MDEvKzI6NTE0LDY0MDIsOTcyLzo1MTQsNjQwMyw5NzIvOiwsNDkzLDEwMCwsMjIzMCwzNDMxLDIwMCw0MiwyMzYsMTEyLCw3Miw0NDgvKzI6MTA2LDM5MC8tMTosLDQ4LCw1NSwxNTQsNTA0Ny92M1p3Q2Q6LDY4MzcsMjUwMS8rMzo3OTc2Ly0xOiw1MiwsMjA5LDUwNDYsMjQzNSwxNDEwL25leXY2ZDosOTM0MS8rNTo4LCw1MTEsODEsMTIyNiw0NDM3LDIwMCwzODMsMiw3OC8rMjo4NCw0NCwyMSwxNjYsMTg4LDE4LDI1OTUsMzQ0MCwzNTgsOTMzLy0xOiw0LDMsNiwzLDMsOSwxNSw3LDMsNy9YNjI5OWM6LDIsMiwzLDYsMywzLDksMTQsOCwzLDMsNTQ1LDQ3NzQsMTE4MSwyODgsMjUwMS9ZSG1RaGM6NDcsLDIsMjE2LCw1MDgzLDE2NjgsMTM2Myw4OTEvb0VnVmdmOjUxLDEwLDE4LDUyNzEvblJsVENmOjgzLDMyLDUyNzgsMjk5MCw4OTEvc2NKaTNkOjUzOTMvak0zWW1kOjEwNyw3LDE1LDE0Myw1MTEzLDE0NjUsOTQ4LCwxMzY1LDE4Ny9SSDZ3RmY6NjQsNTQsMTYwLDUwNzMsMzAzNSw4OTEvKzM6NDIvOi8vdHc0U0pjOiwsNDQsMzk0OSwxNTMsLDI4ODQsNiw5NTUsMiwsLCwxMjgyL2RzQkJhZTozLDQxNDYsMjA1MCw2LDQ5NSwyNjk5L2dSQ0VFYzo0MTQ5LDI1NTIsMjU4MiwxMTcvL1dPenVxOiwsNSw0MTQzLDMvSkgyemM6NDEzMiw1MTU0L3Qxc3VsZjo0MTM1LDI1NzAsMzIyLDMsMjM3NC9WTmNnMWU6NDEzMS9KV1VLWGU6LDgsMzk5NCwxMjgsMjU1OSwyNTk5L3NKaEVUYjo0MTM3LCw1MTUyL3RCdktOYjo0MTM2LDI1NzMsMjU4MiwxMTcvZkk0VndjOjgsNDEyOCwzLDI1OTMsMjU2MC8rMjoxMzMsMjcvOjc1OTEsLDgsMzI0LDU0NCwsLCwsLC8rMjosMTE0LDYwLDE0NCwzOCw2NDAxLDE4Miw5MTMsMjAvKzM6MTE2LDIzNC8tMTosLDMwMCw0MSwzNTIwLysyLy8tNDozLDE1NCw2NTM4L3hIQWJOOiw3LDE0Niw1MjQ0LDEzNjEsMTE2LDU1OSwzODksMTM2NiwxODcvKzUvT011ZVA6LDksMTA0LDMsMTgwLCw1MTA0LDEzMDQsMzQzLDIzMzQvOjEwLDc0MjcsMTU1LCw1LDYvOiw5LDIsMTA3LDE2LDE0OCwyLDYzMzEsLDQzOC9FOXNsWWU6LDIsNTQwMSwzMDExLDg5MS8rMjoxMSwxMTAsOTcvLTE6LDIsOCwyMDQsNzIvYXpoVEplOiw1LDMsMTI3LCw1MjY4LDEyOTYsMTgyLDIyMTUsMjExL1B3dW5FOjU0MDUsMTMwOCwxNzA2LDg5MS9uc3FhZGQ6NCw0LDEyNyw1MjcwLDEzMTMsMi9vUTlYcmM6NCwyLDI5Miw1MTA3LDIzMCw0L2tiQWc3OjEwLDE0OCw1MjQ3LDM5MDgsODMvTTVISUhiOjEyLDUzOTMvKzIvQU9VaTdlOiw1Mzg4LDM5MjcvOjc2MTQvKzI6Mjk2LDIwLDY3NTEsLzoyNSw0OCwxMjYsMTY2LDYzNDksMjUwLy8vOi8rMjoyLDc4MzUsLDU2Ly0xOiwsNzgzMiwsNTksMTIsMTUsMiwxMTYvKzI6MzU0MywxNiwyLDgsNDMzOCwxMzMvUEJ3REpiOiwsNCwsLCwyLCwxMCwyOSw4OCwxNCwxNjcsLDIyLDMyMTYsMTAsMTgyOCwxMjQ1LDc2LDE4MiwxNTM1LDY4MCwyMTEvTXFlMEM6NTM5NywzMDM5LDg5MS9hZ1ZwTjo1LDQxOTgsMjA0OCw0OTUsNCwyLC9XelJhVGI6NTM4NywzMDUxLDg5MS9tNTJpRGQ6MTkzLDEzMSwsNTA3Miw0MDEzL1hwTEVXYjosMTAsOTg3LDksLDQzODAvVXN3YkQ6Miw1Mzg2LDM5NDQvRTFpWmI6MywxMiwxNDUsLDUyMzgsMjYxLDEyNDcvRHhRS3RjOjU0MDIsMzkzMi9US1NBNjoyMCw1MzY5LDM5NDYvRlpIV2dkOjY3LDk5LDMzLDQsNDAsOTAsMjM0LDE4LDI1ODgsNTY1LDE2NTEsODc3LDM4MSw0MzksMjI1MC9ydkU1R2M6NTM4OSwzMDU3LDg5MS9hQlgyVGI6MzMyLCw1MDU2LDM5NDkvZVV0dFE6MjAyLDEzMSw1MDU2LDMwNTksODkxLzo0NiwxNTMsMTg3LDYzNDksMjUwLDkxMy86LDM2LDIxMSw3MSw1OTUzLDM4MCw4My94Y0lSQWM6LDUzOTAsMjc4LDEwNjUvVkM3UVhjOjIsNTM4OSwxMzQ0LDE3MTcsNjgwLDIxMS9TQlljdGU6NzQsNjg0NCwyMy9LdzVneWU6MTI5L1R1N3FFYjoxMjcvT3B0RjRjOjEyNC9VcnRwNGM6MTIzL3ZZczFMYjoxMjMsNjgwMCwyMy9DQ0paTjoxOTkvbk1WdGJmOjExMCw2ODE1LDIzL3pHOWpiYzoxMjIvUTRZMlpjOjExNiw2ODExLDIzL2M1aHRIYzozNS9INHZmNToxMDgva1Ywdm9iOjEwNiw2ODI0LDIzL1RQSHFnYjoxMDQsNjgyNywyMy9pc1hvY2I6MTAyLDY4MzAsMjMveldzbGtiOjk3LDY4MzYsMjMvVVNNdnJlOjk1LysyLy0xOiwyNDEsMjc5MCwzOTc1LDEwNjYvVnBkaVhiOi9McXBmZDozL2I4Y2RuZDo1NDQ4LDM3MjEsMTk2L2xIaGlEYjo0LDIyLDQwLDMwLDEwMSwyNTEsMzU5NCwyMjg4LCw2MDksMjMvQXpDeDBlOjY1LDg5LCw1MiwyNywxMzAsMyw1MDgwLDIzMDMsNSw2NDAsODEsNjk1LDE5Ni8rMjoxODMzLCwsMTM5MCwzLDI4MDgsNTc0LDIzNiw4MjAsMzMyLzo1ODksNzA3NywsOSwsMzIyLzo2ODcxLDE5NS9vdVdoV2IvKzI6LDM4OTcsMjk4OCwxMzEsMTUsOTMwLzosMiw0MDQ2LzosNCwsMzgzLDI3LDYxOTksMzU5LDk3Ni9xdXhoajosMzg4LDYyMTksMTYsMzI1LDIzLDExMTQvWEl5cmY6NDkxMSw0NDY1LysxMjo2OTkwLDg4MS86LDY4OTEsMTA5MS8tMTA6LDYsMzg2OSwyODE0LDgsMTkyLDkyLDMwLDkwMi8rMjosNiw0MDQ0Lzo0MjMsNzI0NiwxNCwvOjM5Nyw3MjczLCw1LDcsMTkzLDU3Ni86MTUsMjkzMywyNzUsLCw4MjIsMzYyNSw1LysyOjY2MzAsLCwsNiwsLCwzMjksMTA1LDU5NiwsNSw3LDE5MywxMDcsNDY5Lys0OjQwNDYsMjU3OCwxNiwsLDQzNS86LDY2MTgvY3BvTjdlOiwyLCwsLCw2LDIwMSwxODcsMjMyLDMsMTMxNSwxMTEwLDE4NjAsMjA0MCwxNzUsNDQ0LDUxNywxMjQsMTA1NCwxODcvOjg1NDYsMi8rMjo2NTI5LDgvLTE6LCw2OTk0Lys5Ly03OiwsNjk2OSwyLDcyMSwsMzAxLDExLzo2MTQzLDg1Niw4Nyw2MTQsMTAyMSwyLDIsODYsNiwxOCwxMyw0NywxMSwxNDQsNCwyMC86LDE2NzQsMjM2NCwyMzUzLDU4MSwyLDc1LDMsODM1LDExNy8rNC8rMi8tMzosLDQsNzIxLDg2OSw3LDk4NywzOTYzLDMyMiwxMjcsMzU2LDMzOCwxOTAsODI5LDIyLDYwMSwyLys1Ly02Lys3OjcwOTMsNjE0LDMxMSwxMi8rMjo1LCw2NDcsNzgsNTg1MCwyOTIsMTczLDE4NTcvLTEwOjMsLCw0LDMsNjQyLDMyNzQsMTE5LDg3MCwxNjk1LDMxLDQwNCwxMDY2LDExNzcvKzY6Nyw4MDA3LyszOjQsNjU2NCw0MjMsNjksMyw2NDQsMTkxLDExOCwxNy96Tk9WQmQ6MiwsOCwyLDEyNCw2MDQsMzE2MCwyNzEyLDI3LDM0Miw2Nyw1NDksMjg1LDEwLDE1ODcvKzI6NTkxOSwyNDkwLDIvOi9oS2JnSzosMTAsMjU4OSw2NDksNzk1LDMzLDg0OSwyNjU5LDEwNyw3LDYyNSwxMiwsNTIsODIzLDE5Ni8rNDoxOSw0MDYwLDI5MDksNzIzLC86MTcsMTY3NCwyMzg5LDI5MDksMTEzLDYwOSwxOTMvKzI6MTEsNjU2NCw0MjMsMTA1LDU5OCw0LDcsMiwxOTEvdDFXeTJjOjIsLDcsNjUxLDE5NDMsMTMwNSwxNDUsMTksOCw4NDgsMTExNSw2NzksODgyLDkxLDQyNiwzNDQsNzM1LDI5NC9NUzdZamM6NTAzOS9GbGVPRGM6LDEyLDIzNyw0MTMsMTk0NSwyMzIyLDE3OTUsMjQ3OCwyMTEvKzI6NjQ4LDIzNTEvOiwxNTQsNTkzLDIyNTEvOiwxMywyNzMsNDU3LDMsODY5LDU0NDUsMzE3LDUxNyw4NDAsNiw0L3Zxc1JIYzosNDM0NSw0OTYwLDE4Ny9qaUgyaS9NR1Z0UGI6LDIsMTYxNSwyNzI5LDUwNzMsMiwyMi9HNVdmN2U6MTgsOSwyLDcyMiwzNTk2LDI3MTgsMzE3LDMzMSwxODYsMTAsODMwLDIyLDU0OCwxODcvaW42MVRiOjU1NDksMzg3My91ejFKamM6MTQwNiw0MTU5Lzo5MTQ2LzovOjIvOiwsNzAzMSwsLCw4NCw5MjUvKzQ6OTE1MC9rYk8xbmMvU1RKSWxkL3NTTnZuZi8tMjosLCwsNDcyLDk2MywyLDE3MDMsOTUxLDIzNzYvKzQ6ODE0NC8vLzo2OTc4LDEwODgvOjgwMjcvOjgwMjgvLy9oY21WWGI6LCwsLCwsLCwsNSw0NDgsMjEzLDMzNDYsOTYsMjI3Niw2OTMsOTMxLys0OjkxNjQvOiw2MTkxLDI5NzAvKzI6OTE2Ni8rOTo5MTY0Lzo2MTk1LDI5NzAvKzI6OTE2Ni86LDYyMDAsMjk2OS86ODQ5MSw2NzcvOjkwMDQsMTY1LDMvOjkxNzAsMy9jQXFHR2UvKzI6LDQvLTE5OjExL3NsZHpEZS8rMzosMTEvZ3IydEpiLysyOi9jSHNlZ2QvKzI6L0NmdndBZS9TZElJRmUvKzExOiwsLDIsMiwyLCwyLCwsMywsNDY3LDI5LCwyMDIsMTkwMywyLDM0LDQ0MTIvKzI6LysyLy0yNjoyOSw3OTcyLDM5My8rMjc6LDcwOTkvLTI6NCwzNzMsMzQxLDEzMTksNjIzLDE0NzcsMywyMDQxLDExOTgvLTI2OiwsMiwyNSwyLDM0NSwzNDIsOTI1LDg3NiwsMTQzLDY0Myw4MTMsMjEsMjY0MCw4ODIsOTQsNDIzL2hOd0I3YjosNDk2Niw0MzkxLDE4Ny9yNzdTaWY6MiwxNjM3LDE3LDMzMTEsMTIxNCwyMzk5LDg5MS9iZzRHZGY6NDk2Nyw0NTA1L3VURG9ZZDo1MjAzLDE2MjkvT2JOemdiOjEzMzcsMzg3MSwzMjYyL2IxcWtHYzozMjU5LDE5NDcsMjg5NywxMzcyLyszNi8tNTo1MjEsMTQ2MCwyMTYyLDksMjkxMiwxMDUsNTk1LDEzLDQ1LDUvOjUyMSwzNjMyLDI5MTIsMTA1LDU5NSwxMy8rMzo3MDI3LysyOjI3MzAsNDcwNSwxOTU4LzosNDcsODE0My8tODosMiwsLCwxMCwsMjUsLDQsNTQsMjEwLDI1MiwxNTAsNjM0LDMwMiwxNDk3LDUsNjQsODcyLDQ1LDE5ODIsNjc5LDgsMjA1LDI1LDU0LDEyLDgxLDUzL1B3VWlCZTosMzA5LDQ2NjcsMjA4MCwyMzE0LDE4Ny9qOXg3OjIsMzA5LDEzNDEsOSw4LDMzMDgsMjA4MSwyMTcxLDI1NSw3OS9DbUFXY2U6Mjk2MywxODE5LDM4MTIsODkxL0cwSGN3ZDo0NDA1LDUwODEvTjRWSGVlOjQ0MDUsMzg2MiwxMjIwLysxMDoxNjYwLDQ0NzQsNTEwLDI3NTYsLzosMjIsMjYsNjcxLDI0MzMsMzY0Nyw0MzgvLTI6LDgsNCw5LCw4MywzLDYyNywyLDkzNCwxMzcsODc1LDQ3OSwsOTY4LDE3LCwxMSwyMzQ5LDI5Miw0MzgsNDQzL3BWZm9WYjosMTA0LDQ4NzgsNDM5NiwxODcvc01LQ1diOjE2NTgsMiwxNywxNjI5LDE2NzUsMjY4OCwyLDY5MSwxMjYsMzUsODAsODMwLDIvam9uUHA6NSw0OTc4LDQ1OTAvKzMvKzM6NzAzNSwxMDEyLCw2OC8vOjcwMzkvLTM6LCwsMjksMzAsLDQwMTUsMzcxNCwyODcvLTEvKzUvUXdFUHdkOjMyOCwxMzQyLDU0MDUsMjIzMS9MMTlaQjozMjksMTM0Miw1NDA1LDIyMzEvT29XcWM6MTMsMTA0LDE1NjMsMzMxNCw0NTA5L1JRZjlpZToxMSwsMiwxMDQsMTU2MywxNjE1LDE2OTYsMTE2MSwzMjU1LDk2L0k1YkFKZTo0NDI2LDQ4OTYsMTc4L1R4S0dFZTo5NTA2L2xrcTBBL05lQkh4OjEwLDk0OTgvWGs4ekllOiw0NDMwL1luUUtSYzoyLDMsNzMyNiwxMjYyLDc2MCwxNDcvWFU4U1NiOiw0NDMwL0tnWmluYzo2LDQ0MjEvcEVXRkFjOjcsNDQyMC9KeUJFM2U6NDIyOC9MU055cGM6MTY5MiwyNzM2LDUwODcvQlBPa2I6NDQyMCwyOTA1LDEwODUvKzMvLTE6LDk0MzIvKzM6OTI0Mi86Mjc1LDY4ODksODgyLzo5MDc1LDE2OSwzLzosODA5Ny8vOiw3MTc1Lzo3MTc3LzosODA2MiwxNzgvOjUsODA0OC86Miw4MDQ1LDE5NCwzLCwvOjcwMzAsMTExOS86LDcxNzksMTA2MS8rNC8tMjoyLDEyLDM4LDcxMjksODI5LDEyMyw1Lzo0LDkyNTEvVElNczljOiwsNCwsMyw0LCw1NTE3LDEyMTksLDI1Myw0OTAsMTkyNyw0NSwxNDIvYkpFWEllOjU0NDcsMTgyMywxMzA0LDk2MS9TYkExbTozL01TYmxwZS9LbTNMd2Q6NzMzOS9HUkFNcmUvbkJrVng6NzMzNC9MT1BnNWM6ODA5MS9nV1R4SmU6ODA4Ni9BVUNHdmM6ODA5Mi93RE5ETjo3Mjc4L1YweFRwYjo4MDg2LyszOjgxMDIsL0l3U1RFZTovOjgxMDQsL2tHRkc4YjovWlR1OXllOjgxNjkvSGVTVVllOjgwOTkvQjI5c2plOjI3L2lGV3V3Zjo3MjA1L0pNVTczZDozMC9ySWs5ZTo4MjY3Ly86LDkyNzgvZmFWbElkOi9udktxYWQ6MzgvVXNPUUhjOjkwNjgvcm1mdlhlOjI0L0hNTVVNZTo3MzYzL29BakVFZDo3Mjk3L1o2Z1JlZDo4MTA1L2o1MWFKZToxOS9LTzFscToxOC9qSnRpaGU6ODE4Ni9EOG9WS2I6ODExNi9DdmVqcGU6NDUvcXVFN0JlOjg5MDgvVktTc3Q6ODkwNy9HUTJzNWM6ODkwNi9iREp6VGI6ODkwNS9TZEZRbGQ6ODkwNC9WUVFVVWM6ODkwMy9nS0xRbmI6ODkwMi9WNTN1b2Q6ODk1Mi9VZFByc2M6ODg5OC9Yc3FISWM6ODg5Ny9GVldob2Y6ODkyNS9NWWNKOWU6ODkyNC9UaUVGSmM6OTA4NC94ckE4b2Y6ODkyMy9jdGJGQ2Q6ODk5NS9OQWNKd2M6ODkwOS9JT3RrUTo4OTAyL05sU01HZDo5MDM0L0FKZGF4Yzo5MDMzL1QzOGE3ZTo5MDkwL1pwRDA4ZTo5MDM5L2h2UFRSYzo5MDQ2L2lDVDFMYzo5MDQ1L2VTMkhPYjo5MDQ0L3FBZ2dBYjo5MDUxL1hBanh5OjkwMzMvYmNFVkw6OTAzMi95Q3pCWmM6OTAzMS93OFNFcmY6ODkwOS9YaGQ4QmU6ODkxMS9tWEkySWU6ODkwNy9UclZrRmI6ODkwOS94ejF1ZWQ6ODkwNi91cEZhSGI6ODkwOC9nS0w1ZGU6ODkwNS9tVHZhTGQ6ODkwNy9wR0NIZmM6ODkwNC96SFM0QmQ6ODkwNi9yWW5yTmU6ODkwMi9rcnk2M2U6ODkwNC9zSWdHOWM6ODg5NS92TlpWajo4ODk3L2dxUjl2Yzo4ODk0L0FETlR5Yzo4ODk2L0p4cXdJZDo4ODkzL2N3RWREYjo4ODk1L2R4NlZmOjg4OTIvY09pdmNjOjg4OTQvYWV0QTVkOjg4OTEvV2hNMkliOjg4OTMvcmkzT246ODg5MC91ZjBQeWM6ODg5Mi9RYm9kTmI6ODg4OS9LaFIwQWI6ODg5MS93S3pJbGU6ODg4OC9ycTl5aGY6ODg5MC9ZcXNwaWI6ODg4Ny95bHFjd2U6ODg4OS9RVGJBRWQ6ODg3Ny9panJhM2M6ODg3OS9CQVZzSGM6ODg4NS93OVY1Z2U6ODg4My9BajBLeGY6ODg3OC91blRhSmI6ODg4MC9zZUtlMGI6ODg3Ny9LZnhwTmI6ODg3OS9aWko4SDo4ODc2L0VHS2ZkZDo4ODc4L1dsQzFrZDo4ODc1L202REhPYjo4ODc3L2FYNEc2Ojg4NzQvY1JZNVdjOjg4NzYvTE5reExlOjg4NzMvbE8zQURlOjg4NzUvV01Jb0FlOjg4NzIvQTNkN0RkOjg4NzQvWHpFVlBiOjg4NzEvYmZ5dERjOjg4NzMvcWxVemFlOjg4NzAvYzJxZ0pjOjg4NzIvZlNlbUJlOjg4NjkvdEhZb3hmOjg4NzEvWGRXQm1kOjg4NjgvdXE0SkRlOjg4NzAvbW5iZFliOjg4NjcvVEloNU86ODg2OS9uM0pDd2Y6ODg2Ni9WbVFDYmY6ODg2OC9obUx3bmM6ODg2Mi9yVERacmI6ODg2NC92YTlpMmU6ODg2MS9jaVVIMWI6ODg2My9hQzVzNWU6ODg1NC9Na1ZxZ2M6ODg1Ni9ZaldiQ2M6ODg2Mi9XRWlXZ2M6ODg2MC9ycUxxWmI6ODg1NS9ZRTdoNmU6ODg1Ny9NOVFya2I6ODg3NS9FUTdNM2M6ODg3Ny9hQUxqcWU6ODk2MS9rakcxRmI6ODk1OS9WcnVQTmI6ODkzMC9rbnM4YjoxNTQvRTZmb3plOjM3OTIsMywxNzA0LDE4ODgsMjA5MSwzLDIyLDE3MS9oanEzYWU6L3J4RmNUZS9sdERGd2Y6LDk2NjYsMTAvKzMvSzk5cVk6LDk2NzgvSmRiejZlOjIsNDUxOCw1MTYwL01xOW4wYzosLDU2MzksMzg1NiwxNzQvcHlGV3dlOiw0NTIyLysyOjcsODIxNy86LDczOTgvZlpVZEhmOiw5NzYxLzozLDgyMzgvOiwyL3d0Yjk0ZTosOTc2NC9RZUJZZmM6OTY3OSwxMC9UNlBPbmY6NDUyOSwyOTczLDM2NSwzNzksLDM3Mi9Lb3JuSWU6NDUyNCw0MjAwLDk1NywxMC9pVFBmTGM6LDQ1MjMvd1BSTnNkOjIsNDUyMi9FY1cwOGM6NDUyNCwyOTgyL2hyVTk6NDUzMywyOTc3L0h0d2JvZDo0NTMzLDI5NzgvRUZOTExiOjQ1MzMsMjk3NiwyMjg5L3FBS0luYzo5Njg4LDEwL0dGYXJ0Zjo5Njg5LDEwLy9lOXVBcmQ6LDk3MDAvcUxZQzllOjIsNDUzNSwyOTYzLDIyMDIvb3UySWpiOjMsOTcwMC8vcmFnc3RkOiw0NTM4LDI5NzgvcHJxcDdkOjIsODczNyw5NTcsMTAvL0FaekhDZjosMjEwLDQzMjYsMjg4Nyw4MC8va1o1TnlkOiwyLDQ1MzUsMjg5MSw5Myw4LDg5MywyLCwsL1dXZW4yOiw0NTM1L1NLQ1pFYjozLDk3MDkvdXBkeHI6LCw0NTM4LDUyNzQvUGRPY01iOjIsLDQ1MzUvRTh3d1ZjOjQ1NDEsNTE3NC8rMi9EWjVURC9ZTUdiUGQ6LCwxODMsMywxMzg1LDUwODYsMTM1OC9GV3FVRWU6Mi8rMi95S1FMOiw3NTE2Ly9sVGlXYWM6LDYwMzUsMzc2Ny9aQVY1VGQ6LDMsNjAzMiwxMzcxLDM0LDksNjc1LDE0Nyw1NywxMzk1L2lkWHZlYjozLDIsNTYxNiwxODE3LDEwMDAsMiwsLC8vL3B0WmJ4YzosLDQ3MzEsMTM4OSwzNTM5LCwsMiwsMTgsNSw0LDk5LDE1LDE5L29uaTNHOjQ3MzMsMjM0My86MTg0LDcyNzYvL2hiMWlmYjosLCwsNDI0LDIxNSwyLDM3LDI3MTQsNSwxMzM0LDIzMDgsNDAyLDQxOSwxNjU3LDU0LzoyMzYsNzAzNSwxODAveGFWb1VjOiw1LDM0MzQsNDAyMCwyMDc4LDE5Ni9Oc2pRRGU6LDQ3MzQvZWhxekZjOjIsNDczMy9PaXdCZmI6OCw0LDQ3MjMsMzM5MCwxNjEyL05hc2RtZjoxMiw1OTUsNDEzMywzNDc2LDE0MTAsMTg3Ly9FenRvYWI6LDEyLDQ3MjQsMTM5NywzNjcwLDE2L09iZDVMZTo0NzM3LDIzNTEvdmI3djFlOiwsOSwsNDI2LDIxNywzNywyNzE0LDUsOTI5LDM5NywyMzE2LDM4NSwxNyw0MTksMTY1Ny9na2E4WmM6Myw3NDY2LDIwNzgsMTk2L1o0WEFaZDosNDM0MSw4LDM4NiwyMzE5LDM4NSw3OTgvek8xNGNjOjIsNDM0MSw4LDM4NSwyMzIwLDM4NSwyMyw3NzUsNTcsMiwvcWdtZlFiOjcsNDcyOSw1MDEwL3JXQlVSOjgsNDcyOCw1MDExL3h6MUFsOjYxNyw0MTI1LDM0ODQsMTQxMCwxODcvaG8yUEdkOjQ2NTcsMjg2MCw3ODkveVNVQWRkOiw0NjU2LDI4MTcsMTE3MCwxMzgsOTY4LDIvUHFTNTNlOjIsNDY1NSwyOTA2LDEwODIvOjM0NjUsNTQ3MS9sVnNNdmY6LDM1Miw4MywyMDcsMTM3LDcsMTIsMTg2LDI2MTIsMzM2NiwxMDg2L1VzTUtBYjozNTg2LDI0NTIsMzcxNi91czBOcWU6MzU4NywyNDUxLDIwOTgsMjg0LDIwNSwxMTEsMTAxOS8rMzo3NzE4LDEwMzIsNzQvLysyOjM2MzYvLysyLy0xOi8tMzosMiwsMTg0MSwxNzk0LDMxMzQsNjU4LDU4MiwxNjY4Ly0zOiw1LC9uSkVhcGU6LDM1OTUsMjQ1MCwzNzE4L3NSakxUYjozNTk3LDI0NDksMzcxOS9kaGd3aGQ6MzU5OCwyNDQ4LDI2MzYsMTkzLDcyMCwxNzEvQ2lsMTFiOjMzMzgsMjcwOCwyNjM3LDE3Niw5MDgvS1dIV2w6MzYwMCwyNDQ2LDM3MjIvRlJEVVhjOjM2MDEsNTM3LDE5MDgsMjYzOSwxOTMsNzIwLDE3MS8rODo2NDkwL29GM2huZTosMTEsMzU5Myw4LDI0MzQsMzU2LDg0OCw4MDksNSwxNzA2L3doTFRaYzoxNSw2MDMyLDM3MjUvOjM2MTYsMzQwNi9HQ3ZlOWU6LDE1LDM3MiwyLDMyMTYsMywyNDM5LDI2OTcsMTAyOS9nZ01qTmQ6MzYwNywyNDQxLDM3MjcvVE1UWWllOjE0LDM1OTQsMjQ0MCwyODE0LDMsMjAsODkxL0ZaOHdWZDozNjA5LDI0MzgsMjcwMSwxMDI5L0c1UmozYjozNjEwLDI0MzcsMzczMS9FQXF5RjozNjExLDI0MzYsMjQ0MCw0MDEsODkxL09IbjNzYzozNjEyLDI0MzUsMjY0OSwxMTAsNjAsMjMsNzIwLDE3MS9ZUzZGb2Y6MzYxMywyNDM0LDE5ODQsMTc1MC9CWXA0dGQ6MjAsMzU5NCwyNDMzLDI3MzAsMTAwNS9uUnNkQmU6MzYxNSwyNDMyLDQwOSwzMzI3L3o3WnZEOjM2MTYsMjQzMCwyNjU0LDE5Myw3MjAsMTcxL2xtRnNyYzoyNCwzNTkzLDI0MjksMzczOS9paFJONmM6NTkzMiw1MTYsMjMzMywxMDA1L3M3SzZ5Zi94NHUwZjovcVY0OFY6MzY2Mi9aRUxpT2M6MzY2Mi9oOVdkN2U6MzY2Mi9PQm9RcWI6MzY2Mi9CQTNNQTozNjYyL1lMb3FyOjM2NjIvWndFOFEvZG9pemc6Lys0OjY1MjMsMjk5Ny9mRFdaYmU6Lzo5NTIyL3pXWXZMYjovOjk1MjMvZG8xbHA6Lzo5NTI1L29jMnBZOiwyLzo5NTI4L0lHSDZRYjovOjkyOTIsMzIsMjA1L0xqSHdIZDosNi86OTMyNiwyMDUvQUpMd1U6LDgvOjkyOTYvYU1ob3hjOiwxMC86OTI5OCwyMzcvc0VBdEZlOi86OTMwMCwzMiwyMDUvWUtyTFg6LDE0Lzo5Mjg3LDE1LDIzNy9hSllaRWY6Lzo5NTM4LDMvWXhjSWxkOi86OTU0My9vM1JEdGM6Lzo5NTQ1L3VvdWtrYjovOjY1NDUsMzAwMi9Nd3RLWGU6L1JuUUVhZi9hZ0FYR2M6LysyOjk1NTEvWHlyMGVlOi86OTU1My9wN2pNTWI6Lzo2NTUzLDMwMDIvOiw5Mjc1L0pZQ3l0Oi96bzJNbS9SVjFRamQ6L1F2TXhCZS92TmFiNWU6LyszOjcvaVlsR1ljOi86NjU2MiwzMDAyL1pmcGxiZDovOjY1NjQsMzAwMi9WbGFCWGM6Lzo2NTY2LDMwMDIvS2xsdTVlOi86NjU2OC9qQURnd2Q6L0xTVm5aYy92R042d2Y6LysyOjk1NzQvV3I0MlpkOi86NjU3NCwzMDAyL1UwZFRHZjovOjk1NzgvaEQ0TGNkOi9DZ05ac2Y6ODgvZEpmazA6NTI5NiwzNDc5LDE5Myw3MjAsMTcxL25MVUdJZjo1Mjk2LDQ2NDQvWjBPdFBjOiw5Nyw1MTk4LDM1NDYsNywxMDEyLDYxL2VUM1NyOjUyOTYsNDU2Ni9wYkZQUWI6NTI5Niw0NTY3Lzo5MzY2LDIxMy8rMTI6OTQxOSwxNjgvaTJSNnlkL20xdHRUZC95YkI2TmQvc0lLMUpiL2VudGZJYy9Eb1hncGIvb3YyYkcvSjVPTXJiL2ppcHBaYi9XNVFvYmMvclBvUW9iLzosLCwsLCwsLCwsLCwsNjM4MywxMDg3LDg3LDYwNSw4LDMyNC86MzM5Myw0NzgyLyszOjkwNiwzMCwxODgsNTk3MSwyNTYsMjIxLy0yOiwxMjcsNzYzLDE4LDEzLCwsLDIwLDIsMTUsMjQ2LDIzNDIsMTAwNiwyMjkxLDIyMTUsNSwxNzMvOjk0MiwyMSwyMjEsMywyLDE4NzIsOCw0ODIsMzAsMzMsODc1LDI1NzMsMjkvdVVCU1FjOiwsMiwsMjEsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDMsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsOCwxNCwyOTcsNDQsNDIsMjEsNTIsMjA3LDE2LDEwOSwxNSw0LCwxMiwyLDUsLDExLDIsMjI2LDIsMiwyLDc0MiwyLDE2NjMsOTM4LDI1ODgsMTQ3OC92eUZWd2U6OTI2NC9ldTRvSWQ6OTAzNS9kZVEyVzo5MDM0L3h2bEozOjkwMzMvckpTeW5lOjkwMzIvaU1xSk5jOjkwMjkvYnVORWQ6OTAyOC94V0NwZGY6OTAyNy9CYkRmRmY6OTAyNi9BSEJ2UWQ6OTAyNS9CTVpvSmQ6OTAyNC9KRTE5YmI6OTI0OS9xNGYzd2M6OTAyNC9odXVEZWQ6NzEzNi92OHJCZGQ6NzE1MC91R3dFS2Y6NzE1MC9PaE5WV2I6NzE1MC9jcmxOWGU6NzE1MC9iV1NhbGY6Mzc3NC9WUnlLYWY6Mzc2My9MN1JLNzozNzYyL3h4OEVzZTozNzYyL3lqTXNMZTozNzYxL2tpbXZtOjM3NjEvRWJXN3FkOjM3NTgvWjF2SU1jOjM3ODIvQXRQcGg6Mzc3OC9wUWpzQmQ6Mzc4Mi9WVlU5SGU6OTQzMC9McEpQYWM6OTA3Mi9Da1V5cmQ6OTA3MS9xOUM2Z2Q6NTI2L3JsZ3ppZDo3MDU2L3d4Z3pHYzo3MDU2L1NDclU3ZDo3MDU5L1BIN2dTOjcwNjEvYUw1NURkOjcwNzMvTTN1cHRlOjcwNjYvbHljQW9jOjcwNzMvSFRyNnNlOjcwNjEvRTY4eFhiOjcwNzMvc01CSjliOjcwNzIvaURVUThlOjcwNjMvc2Ztd0ZlOjcwNzUvdWtQcmtmOjcwNjMvRXBRQnVmOjcwNjUvYTVod3hlOjcwNTkveTZ5V3hmOjcwNjEvR3dOSEdlOjcwNjMvSnhnem9iOjcwNjUvWFgwR3hlOjcwNjcvVDFGaDFiOjcwNjkvS2NWWUljOjcwNjMvbFdYWjNjOjcwNjUvVjloRG9lOjcwODEvYm5yM09jOjU0OS9JcHBkcmY6Mjk1Mi9jZjBCbGY6MTE2MC9KaGR4Q2M6MTQ0L09nVzFTYjoxNDMvUXFOempkOjkzNTcvR2p3bjdjOjkzNTMvbU13QUNmOjkzNTMvalA3Q0xkOjkzNTMvUEk5ZTBjOjk0ODIvV3VDS0NjOjk0MjgvT0NmTURkOjk0MjgvWTRqd0pmOjk0MjcvSXB0d0Q6OTQzNS93YUM0Rjo5NDM1L1V4VlgxZTo5NDIyL2poUlZVZDo5NDE5L2NwSkMyYjo5Mzg3L1ZKUzd4ZDo5Mzg2L3JNeEdLZTo5Mzg1L21XQ0dRZDoxNTcvYkVxcXlkOjE1NC9jYTB4UzoxNTEveERud0NlOjE1NC9LMmRXZmI6MTQ3L3pYeEFDYzoxNDYvUWRtYlpiOjE1My9ENWZub2Q6MTUyL3NMSU04YzoxNjMva2xwb2RmOjE0OC9vV2pqMmI6MTQ3L242RVpHOjIwMTMvUkFQS0RlOjIwMTIvazFLdkRkOjE0OC90VFVzV2Q6MTA4L3ZlN3ZQOjEwOC9zQUtkeWM6NjQ5My9qU1d6OGQ6OTQzNy9OT0J6UWU6OTQzNy9sVmJUVGM6OTQzNi94MUFOb2I6MzQ5My95WVR3aWM6OTY5Ny95VFN1WGI6OTcwMS9DZlM4VWQ6MzE3MC9pN1o4V2M6MzE3Mi9LT3p5QWI6OTQ5OS9pMGw0M2U6OTQ5Ni9jNWFMc2Q6OTM0NS9pakVVdjoxMjk0L05CNjd2YjoxMjkwL0NWelF2ZDoxMjk0L2lOOWc0ZTo5MTc2L3NMU2tRZTo5MzY0L3hyWkRrOjkzNjEvZDYzd2NkOjkzNjEvZmZSSjRiOjkzNTUvQk1FSjhiOjkzNjAvdFNLNnA6OTM1OS9xZmZCc2M6OTUyNS9UdlEwczo5NTIzL0NwRlhqYzo5MTgyL0o0c1JFOjkxODEvdFpBaHVlOjEzMDAvQjUwMHZlOjQ2NDgvVmpxbGJlOjEyOTYvdEFvV1plOjEyOTkvSWVDbFpkOjE3OS9BWXVERGY6MTc2L21rNU9YZDoxNzUvbjhRY0ZlOjE3My9WZjVxNWQ6MTY4L1FMZnhUZDoxNjcvQjVXZXZkOjE2Mi9rYWhSV2I6MTY1L09DSHE3YzoxNjgvcmMzMmJkOjQ2OTgva2R0c1RjOjQ3MDUveHZPQkxlOjQ3MDUvanR0YWg6NDcwNS93TjBxZWU6NDcwNC93a2FmTzo3MDc3L3V4ZTFhZTo3MDc3L3M1NGRuZjo3MDc3L3djVXZSYzo3MDc3L0o0VEw0ZDo3MDc3L2k2QzE1OjcwNzcvaHY3dzVlOjcwNzcveGRGUThkOjcwNzcvZThSb2RjOjcwNzcvWUdDV0xkOjcwNzcvRENNaHJjOjcwNzcvdnpXWnBlOjcwNzcvTEtlVGY6NzA3Ny9VbmtxZWY6NzA3Ny9YV1lmMzo3MDc3L1NicE1rYjo3MDc3L29OUm9SZDo3MDc3L0pZZlkzYjo3MDc3L1RmckVvYzo3MDc3L1EwVEJrZTo3MDc3L24yb2h0ZjoyMDQ3L05saGRKZTo2MTEvSkFHMmJjOjE4OC9kbWxEbmQ6MTg3L1pPQTdvZjoxODYvKzI6ODY2OC8rNi8tNTosLDg1MjEvOjg2NzEvOjg2NzIvOi8rMy8tMjosLDQsODY0OCwxMS9XYWhzSmQ6LDQsLDU0NDAsMjU2Niw1MzMsMTA2LDEyODgsMTg3L1ZUNG93Yzo5L1RaYWhuYjo1L2ZEZ1p0ZjoxMS9wdDN1Mjo3L01TalNVZDoxMC93cjJsUGI6MzMyNiwxMzUxLDE1LDc5LDY3MSwzNjUwLDU3LyszL2VFcVZ1YzosMTMsODUyLDIzNjUsMTQ1Niw3LDc1MCw5LDI1NTQsNTEyLDE1NDAvOjQ2OTAsMTc0OSwyMjM4LzovOjIvOi86LDIvOiwyMCw4MDA1L29sZmI3YzosNiw1NDUyL0hxT0JZYi8rMjosNjQ0NiwyMjIxLDExMywyLCwsLzoyMi9KWnBDY2IvKzI6LCw4Njk2LzozLDI1LDQ1NjQsNDAwNiw3NC8rMjo4Njk4LyszOjE0LDg2NjQsMTEvLTQ6LCwzLDIsNzY2Ny8rMjo4NzAxLzosLDEyLDg1OTcvKzM6MTcvLTE6LCw1LCw3LDczNTgsMTE4NCw0OS9ZbXh5VGI6LDE0LDIwLDU0MzcsNDQ5NiwxODcvZEhEandmOjg2NzMvS0JubGtlOjg2NjgvYk1vRUJmOjg2NzcvbGphZWljOjg2NzkvTUZEZmViOjQ2MTAvd3AxZWpjOjg3MDkva1dDc3NjOjQ2MTEvKzI6ODcxMy9vODJ5aWY6L3drdGcxYzoxNy90TzVrcmU6MTUvcEJxTVdiOjg2NzMvUmg5Vk9kOjIyL0VtdTZGZToyNy9rOVNvV2I6ODY5My91ajB0VGU6ODY4OC9JZWJOMWI6ODY4My9vblJncmQ6ODcyMi9EMzhCSmU6NDYyMy92UUs2Y2I6MzEvWG04UjRkOjMxL0llM3pyZDoyOS9yUXlIYmI6ODY4NC9zcjQySGM6ODY5OC9IOERDVDo4NzAwL1hSVmlhYzozNS9EcEhWY2Y6NDc0MCwzNTUsMTM5MSwyLDIwNzcsMTU0Mi9zSHRhYWQ6NDgyMiwyNzEsMTQzNSwzNTgwLzo0Ny86LDQ1LDE1LDUsODAwNS8rMjo2NCw4NjQ3Lzo2NS8rMzo4NzM4Ly0xOiwzLDIyLDE0LDIsODU1MC8tMTosMiwsMzIsMjkvZFZOZlhlL3o0WHJWOiwsNzAsNTQzNiw0NDk3LDE4Ny9ZU1JVSWM6OCw1MSw1NDQ5LDMyNzIsMzI4LDEwMi9vdDhER2I6NzIvQkphb3BmOjcvRW1JMWM6OS9Vd1ltSWY6NzUvcnNGSmhiOjcvTHpEZU46OSw1MDk4LDUwMTcvVFpyV1ZkOjExLDUwOTYsNTAxOC8rNTo4NzUxLzosNDgsMjgsODU3Nyw3My86ODc1My86LDIvOjY1MTMvamtXcUFmL1djUVlUL2ZPb25rZjosLCwsMiwxNiwyLDY0LDU0MzQsMjU3Miw1MzMsMTM5NCwxODcvcmNrSzNiOjgvcUFjM1VjOjYveEljVXRiOjUvYkVmTkc6NS9EaVRaUDoxMi9QSEZQamIvWk12ZHYvdXR6dnNkOiw1MTI3LDUwMTMvWmM3cXVkOjEyLDUxMTYsMTQzOSwyMzMzLDEyLDEyMzAvVG5xQlJjOjE2LDUxMTEsMTQwMywyMjkwLDQxNSw5MDgvOjg3NjkvdUkyNmtkOiwzMywzMywxMCw2LDEyLDUsNTQzMywyNTczLDUzMywzMywxMzYxLDE4Ny95WnVjZWU6Mi86MTksNTgsLDg2OTYvcGZOOTVlOiw3MCw1LDI3LDU0MzIsMjU3NCw1NjYsMTM2MSwxODcvbHg3OFFjOjIvRWxXbDZkOjMvOjgxLDg2OTUvOjg3NzcsMi86ODc3OC9wbWN3R2M6LCwsNzYsMjYsNTQzNSwzMDkyLDQxLDcsLDEzNjEsMTg3L2hVek12OjMveHZndFM6My9OdVlZVmQ6Ni9TampVVmI6Ni93UExJWDo2L2dmQkRFZDo5Ly86LyszLy0xOi8tMTosMiw5OTE3Lys1LysyLy8tNTosLCw4NjYxLy8rMjozLCwsODY2MS8rNDo4NDcsNzg1NCw1LDIsMTc3LDMsLC8rMjo4NTIsNzgzNSwsNTYvOiw4NTEsNzgyOCwxOCw1LDMsLDE4MCwyLCwsLy0yOiw0LDMsLDEwMjEsLDIyMywzMzg1LDI4MjIsMTQ5LDEwNjAsMzEsMTAzLyszOjE1Ly01OiwsMywsMiw1LDg2NDIvKzY6MiwxMSw1MTAyLDQ5NDQsNywxOTkvczBBWjVlOiwsMTAyNTIvbjlpN0VkLyszOjE4LDIvLTE6LDE5LDk5MTcsMTk2Lys1Ojk1MCw3NzQ3Lzo4Njk3Ly0yOiwsMiw3LDYsODQ0LDg2LDk0LDM2MDgsNDAzMiwyOSwsMTAsMzgsMTAvLTI6LDUsMTAsMyw5ODUsMzY3OCwyNzk0LDExOTAsMTcvOjIxLDEwMjIsNzY0NywxMjYvKzU6NDU5Mi86LCwsNCw1L1RQYjdlZjosMTEsNTExMyw1MTQwL25HcFZ1OjQsNTE0Miw0ODQ5LDE4NiwxMC9hU2JwTWIvKzMvSnhETGJjOiw1MTQ2LDUxNDUvdTZTSjhjOjQ1OTMsNTU0L0QxZVJ2ZTo0L1pNTlhyZToxMDE0OC91bUVDaGU6LDUxNDgveVA5QndmOjUxNDIvaFlGTlpjOjYsMTIsNTEzMSw1MTE1LDE1Ly8vb0g2M2xkOiwsLCwsOSw1MTMxLDUwNDgsMTAvczB1eGlkOjIsNTE0Myw1MDU5L2FBVEhxZC9XZFRKbGQ6MTgvWEw3MWRmOjM0LDUwNTIsMjA0NCw0OTUsNCwyLC9RVnlzSmU6LDI0LDg1NSw0MjAyLDE0NDUsMyw2MDAsMjExMC9mZWJMZWQ6MjUsMTE3NywzODc5LDI1NTAsNywxMSwxNTkyLDk2OC9iWjBtb2Q6LCwxMTk5LDY4MiwzMTk4LDI4ODYvWnZIc2ViOiw1MDgzLDIwMzUsODMyL2IzV3ZsOjI2LDUxMzYsMzk0NCw5MTAsMjUsMTcxL0luSndpZjozLDQsNiw1LDEwLDUsMTAsNDQ1LDEzOTIsMzI4MSwyNDQ0LDM0MywyMDY5LDI1L1JOY1FPZTo4LDExLDksNTEzMyw1MDUzLy9MTlZtTWU6LDUxNjEsNDg1OCwyNSwxNzEvcUV6N0RjOjIsOSw2LDUsOSw0NTU1LDU3NiwxNDU2LDI0OTMsMTEwNi9ZWWN2V2U6MywzNSw1MTI0LDQ4NjAsMTk2L2lCSWxQZTo0OCw1MTI1LDQwODYsMTEsNzUzLDI1LDE2MSwxMC9xaWhkRS92bUVkQ2UvTnlldU5iOiw1MSwyMzczLDI3NTMsNTEwOC9FcmdFSGQ6NTQsNTEwNSw0MTA0LDExLDc1MywyNSwxNjEsMTAvSUtxMXdlOjYwLDUwOTgsNDgyMSwzMDksMTYvZWZjWndiOiwxOCwxMSwyMCw1MTA4LDQ4NzEsMjUsMTYxLDEwL0ZVZmdKZjoyNSwyMCw1LDExLDE0MzYsMzY2OSw1MTI0LDE1L09LbDBRZTosNCwyLDE0LDcsNCwyLDE2LDUxMTAsNSwsNDg2NSwyNSwxNjEsMTAvdTdSNWVlOjU2LDUwMzEsNzksNTA1MiwxMC9PRThTVmQ6NTkzNSwyNTQxLDM5OSwxMzU0L1BtbW1JOjU5MzUsMjU0MC9TZUhzTWI6ODg3NywzOTQsMTEsNTgsODkxL0lTSnZPZDosNTkzNCwyNTA1L3E4N0IwYzo1OTM3LDI1NTAsMTc0Ni8rMy9YcHNnZzosMzU0LDkxNCwzNCw3NjQzLysyOjc0MjEsMzE2LDE1MS9pQ1F4OWQveWc0dERiOiwsNzAzLCw1MzAyLDE2ODAsNTExLDE5MjcsMTg3L1hQR2tNOjQ5MTcsMTA5MCwxMjQ3LDk0NSwxMTMzLDcyNCw4MSwxMSwxNSwyOCwxMTIsMTYvZVBQdmpmLyszLy0xOiw0ODUsMTUxNCwxNDYyLDgsMjEsMiw0MzcsMjcwNSw2MTIsMiwxNDksODA0LDM0MiwxNDM5LDEwLDE5MC96SFVyVmUvKzU6NzQ2MCwxMDg1LDE5My8rMzoxMDgxLDYyNTIsOTEsNywyMywzNjksMzMzLDM3OCw1Ly0yOiwxMDgwLDM4MzIsMjMzMSw2MywxNDMvOjEyODAsMjE2MiwxNDc1LDI1NDUvKzIvKzI6NDg5LzosMTI4NCwyODAyLDgzOCwyOTEyLC8vKzI6MTQ5Miw1ODQ3LDYwNiw5MjUvOiwxNDkxLDIyMTAsNDI0Myw1OTgsMjA0LDExNy9pMHVaZDosMiwsMiwsLDIsMiwyLCwzLDIsMzU2LDQwMCwsNTAsNDEsMiwzLDI4NiwyLDEwNiw2OCwxNTcsMyw2MTQsNDU1LDgsMiwxMDUsNjAsMzc5LDMyMywxMCwzMjQsNDUsLDcsOTUsMTMsLDE4MSwxMiwzMzUsMTIsMzgzLCwzNSwxNCw0LDExLDEwOTYsMTE5NSwyMzUsMTIxLCwyMjUsODcsNTEsMjQ3LDIsMyw1Miw3NTYsOTIsOTU1LDEzMCw4MS9jeWxQQWM6NjAyNCw0MjMxL3pFR2ZmZjo5OTc4L1Iyb3N2Yzo3OTQ0L1pjVWNvYzozOTI2L05Oc3U3YjoyMy9VYmU1aDo3NDQzL3plbUtlYzo3NDQzL1JqMXBMOjgzNi9RM0FDTWM6ODM4L2JJUzc5ZDo4NDAvaUZLaEs6NzgxMC9WOHFISmU6NzM0OS9iRHAzUmQ6NzM1My9hZmFIRmY6NzM1My9WVmZRQWQ6NzM1My9JV25SeWI6NzQ0OC9kV1J4c2M6NzM5OC9ESDJpTWM6NzM3Mi9FbWVTUGU6NzM0Ny9IUHdxTGM6NzM0Ny9pUjVwTmI6NzM3NC9FUGxUSmU6NzM0OC9JeGhpeWY6NzM3NS9ybVQ3UGU6NzM0OS91WGY4MmQ6NzM3Ni9LMU5XQzo3MzQ4L0FEUmE3ZTo3MzQ4L3BmQW13OjczNzgveGxXUVVkOjczNDkvengwZHlkOjczNzkvbzExSlc6NzM3OS9tdVE0TWU6NzM1MS96VWk0VWU6NzM4MC9mY3U0SmQ6NjgzNy9vM1Y0VmQ6NzM1OS94SFRiYmU6NzM1OS9EODlrZGU6NzM1NS9MaXE1U2Q6NzM1NS91N3ZCRmM6NjgzOC9DRVdqN2I6NjgzNy93MlllUGI6NzM3MC9ERGtDWmI6MzE2MC9IbHFQaWQ6MTYxMS9rOGI0SmM6MTYxMC9JZ1dvc2Q6MTYxNS9EZ2Y5Q2MvdEJLOEFlOjk3MjUvVGdBaU1jOjk3MjQvbEpUOHZkOjk3MjEvcGRDc3E6OTczMC9TRkVzcmI6OTcyNS9jREQ4OGM6OTcyMi92OTNoUmQ6MjQ0Ny9mak9OOWU6MjQ1Ni9qcGFTRmI6MjQ1My9kYWpwcmU6MjQ2MS9xZXFuZWQ6MjQ1My9WYnYyTToyNDU4L0VHTjJwYjo3NTI0L2d5NWxHOjc1MjYvSmpXbHJlOjc1MDUvYnJDYWVjOjc1MDkvbTl5VWRiOjc1MDUvbE90NzdjOjc1MTAvRGlhdlBiOjc1MDgvdFJmMTBjOjc1MTEvZEt5Q3lmOjc0MTMvQWNIR2pjOjczODQvc3hZS0djOjc0MTIvT050V2o6NzUzMC9pRXpJd2Y6NzUyNy9pVXpKTGI6MTAwNDgvSEtORjllOjk4NTQvTWkyTEw6NzQ0OC9XUFgzV2Q6NzQzMC93ZjRxczo3NDMyL2FUM1h2Yjo3NDM0L3h5THR5Ojc0MzYvU29lbHA6MTY0My93NG82ZWU6MzIwNC9DMzFIeGI6ODAyMi91ZVlmdWU6NDAwNC9RQnl4TmM6MTAwLy9qbHZ0dWY6LDUwNDIsMTQ3NywyOTEzLDkwNi96ZFRKYmU6NjUyNCwyNzMyLDEwODQvb3RrZHFjOjMsNDQ1NiwyMDY0LDI3MzQsMTA4NC9pZVFMT2I6NjUyNSwxNjc2LDIxNDEvUU1TTFBlOjUsNjUxOCwzODIwL005bWd5Yzo2MDgyLDQyNjIvSlJRVzhiOjU5NzYsMTM4MywxMTQ1LDIyNywsMTUxMSwxMSw0Myw0OCw2NC9nTXAyR2Q6NjUyNSwyOTMwLDg5MS9BODlweWY6NjUyNSwyNzM4LDEwODQvbXNtekhmOjY0OTMsMzg1NS96cFFrVmM6NjEwOSwzMzQ5LDcyMCwxNzEvUVFlOVFiOjYxMDgsMzE1OCwxMDg0L1lSNDcwYzosMTAyLDM0OTksMjUwNi9ON0pUemI6NjEwNyw0MjQ1L3F5TklwZi9HZW91bWU6Mzk4MC9XMTBmdmY6NjEwNywzMjI5LDcsMTAxMi91cHlDUGM6Mzk1MiwyMTQ1LDQyNTkvaldkVGtlOjMsLDM5NDksLDIxNTcsMjAyNiw4ODUsMzE2LDEyOCw4OTEvbTV6elJkOjUsMTEyLDE4Myw1ODExLDI5MTIsMjkxLDI1LDEyOCw4OTEvVVYyWnRmOjYxMDksMTEzMCwyMDM2L0FvTXJCZToxMDM2MC9hbXlNcmU6LDYxMDYvYmhMNk5kOjU5NjAsMTQ0LDE0MjYsMjgzMi9IQVdUTWMveDdpWmNiOiwzLCw2MTA0LDMzNjQsNzIwL09JeFhvZDo2MTA5LDQyNTYvTXpQN3llOjYsNjEwMy9FWU80a2Q6NjExNiw5MTEsMTY4OCw1NDUsOSwyLDc3LDcsMTIxLDcyMCwxNzEvWnlSWXQ6NjQ5My9FRHJVTmM6Mzk2NSwyNTI4L05lbWlDYi9tRFJ6amY6LDIsNjQ5MSwyNzkzLDg5MS9FT3VHUWU6LDEyMCw1OTk5LDQyNTIvQkdXNjljOjYxMTMsOTIwLDE0OTksNzM0LDksMiwyMDUsNzIwLDE3MS9FdFpFdWM6NDAzMiwyMDgxLDQyNjEvVnhoMmliOjYwMDksNDE3MCwyNSwxNzEvQWZtV0JlOjIzMDUsMjc2Niw2NzQsMzMzOCwxODcsODcsMTA2LDkxMy9zS291eGI6NTQ4OCwzODA2LDEwODMvU0M3bFlkOjQyMDIsMTI5MSw0ODg1L1VJbjNkOjI2MTUsMjg3OCwzNzc5LDIxNiw4OTEvcTFBVUxlOjI2MTYsMjg3NywzMjQ1LDYsNTI5LDExMDcvKzI6NDE2MS86NDE2Mi8rODo4MDM1LDIwNzEsMy8rMi9IVkJ1RmMvcm1MakllL0hCVmFZLysxODo0MTE5LCw0ODcyLDExLysyOjgzNDcvLTI5OjMsLCwsLDQxNTYsMzc5OCw3OCw5LDgzNiwzMiwxMDMvOjc0MDMvOjQxNjgvOjE0MzUsNzI2MCwsMzAxLDExLzoxNDA5LDY2NDEsLDgzNywxMzUsNDQxLysyOjksODAzOCwxOTAyLDE2OSwzLys2OjgwNDgvKzIvLTE6LDQxMjgsLDQ5NzkvKzQ6ODA1MSw0NCw4NjAsOTk4LysyOi8tNDosODk3Ni9nMWFiMGQvKzUvLTQ6MiwsNzg2NCwxODcsODkzLys2OjEwMTI3Ly0xOiwyLDIsMTQxNiwyNyw2NjA4LDkyOS8rMi86NzQyMS8rMjoxMSw2LDQsODg2NiwxMjcsNC9zQkcyVmMvKzQvL201NHZmZjozLCwsLCwyLDgsLCwsMiwsOCwsNTAwLDM0OCwsNCwyODMsMTE2LCwyLDksNDUzLDUxMiw4MjQsLDEwOTgsMjI2NSw5MDUsODEsMTc0LDEyLDksLDEyLDI2LDIwMiwxMywxMDMsNSw3LCw5LDQ4LDM1LDEyNDksODcsMTIsODYxLDE4Ny9xUjdpNGM6MTA0MTQvb0EycXNkOjczNTQsMzc5LDI0NzEsMjcsLDEyL0xvUFVqZDo2MjY2LDM5NTQsMjUsMTcxL01NSlBGZjoyLDYyNjQsMzE3Miw5NzkvRlZwbDBiOjMwOTAsLCwzMTQ3LDM5ODMsMjUsMTcxL3RmUXZ3ZTo3OTA2L24zenJIZDoyMjY2L0hxdURiZDo3ODE3Lzo4MDc0LDg5Ni9SbUQzUWI6L2hPcFBxYy9SaEFwemI6OTAwMC9JZTNuN2U6ODk5OS9PYk51MWM6ODk5OC9zcGJBdDo4OTk3L1FOcGpkYjo4OTk3L3draG5LZTo4OTk2L0VLcG9aYjo4OTk2L1lnR3FMYzo4MTExL2ZrS2Z2OjgxMTIvRTBRaDU6NzkwMS9hSDNvSmU6NzkwMS8rMjo4OTAsNzE5OCw4OTYvaWVPSERiOi91TTdhTmU6MzkvbG91WVRlOjM5Lzo0MSw4MDk0LDg1My9lM0tsbGY6L28xOE9SYjozNy9Ydnl2Y2M6ODAxNy9TTmtyV2U6ODA0Mi9XdUpiT2U6NTAvQ295SFdkOjYzL01SSFVWZTo2Mi9mc2U1cmU6NjIvcFRQTHFkOjc5MzYva1Fpc2xjL0RUakxBL0pCS1BrL0hxUkZiZS96S1RGWGU6MjMwMS8rNDoyMzAxLDY3NDYvVDlvRnNkOi9MQVNHMWMva2FpdmRlLyszOjkwNDAsMTEvVW9tTk1iOi9aUU5GemQveUd0a3hlL0pVbDd5Zi9wSnZzUGQvWWpOaEJmOjc4NjIvc2ZBbXVmOjQyL2NvMDM5ZTo5MDQwL3ZHeXcyYzo5MDQwL0E2eU5XZDo5MDQwL1BqR0UwYzo5MDM4L3pFa2hyOjkwMzcvQUYzN2ZiOjc2L05aeGQ2ZDo3OTQyL3RHbDVFZjo3OTQwL2hWcFRJZjo4MDQ5L2FyY0N6OjgwNzQvaWszYUlmOjgyL2UxUnFIYzo2NTEzLDM5NjUvWkwwcjE6NjM5OC9RSzhRTjo2NDAyLDMxMDksODAvVFpYMVZiOiw1MTk0LDEyMDcsMzEwOS9DT2d3RGU6OTMsNjMxMiw5NjQsLDIsMTA2MSwyMi9iOEkwNWUvZ1Z0cWxjOiwyLDY0MDEsNDA4MC93cUt1N2Q6Miw0LDQ2MDEsMTc5NiwzMTc1LDcxMSwxOTYvSmE3TVg6NDYwOCwxNzkzL09zd0ZhZDovUGlYS1NlOiw0MjY2LDIxMzUsMzEyMi8rNS9ZSUJlcWU6LDYzNzIsMzkyMSwyNSwxNzEvbFdMRjViOjc4MjAsODQ4LDIsMTc1Mi8rMjozNzQzLDUzMSw2MTUxLy0xOi92SDRaRWI6LDIsNjQxOCw0MDczL3RlSmV3ZTo2MjIyL1NIWFRHZDosLDUsODEsMzk3Miw0MSwxNzIsMTk0OSwxNjIxLDg5MSwxNDUsMiw1MzEsMTczLDMsMTcsNzgyLDQzLDIyL0VxZFhsYzozOTc0LDIyNDgsMzI1Niw0NSw5NzQvWnpHUjk6OSw2MjEzLDMyOTcsODgsODkxL3FsMnVHYzoxMCw2MjEyLDMzODYsODkxL2JiZmtGZjoxMSw2MjEwLDMzODgsODkxL3R1WjVXYzoxMiw2MjExLDMzODcsODkxL2lidmY1Yi9scWIzSmM6LDQyODUsNjAyMSwyNSw3OCw5My9ad29sRmQ6NjQ4OSwzODE5LDI1LDE3MS8rMjo1MiwsMi9CbzlwaWY6LDIsMzksLCwsMiwsLDIsMzEsMiwyMjY2LDExLDksMzk1NSwxNjUsNDEwLDU0NSwzNzIsNywsNDAsMzMsOTIsMiwxMjksNjgsMzAsNjEsMTE2Nyw4NDgvKzMvd2RMQW1lL08xVHp3YzoyL0hZc3Z3L1NKTXYxYy9GbXY5TmMvc1ptZHZjL3k3Y0dPZS91bGlFWS8rMi8rMi8tMTosL3JkR0VmYzosNiwxMDY2Ni9BNjZab2M6Nyw2MzU1L01NUzl0YzovWnp4cWRkLys0Ly0xLy0xOi9idkJDay9RV0VPNWI6Mi9oSzY3cWIvTUZ0endjL3EzaGUxYy9oVkV0bS9sSkRSOWU6L0djZDlXOiwyLCwsMywzLDEwNjIzLys0Ly9FNWJGc2UvQk14QUdjL1VWNmh1Yi9RV2ZlS2Y6NSwvUjRJSUliL3doRVphYy8vTjBodFBjOiw4MjU1LDIxMzAvaFYyMWZkOiwzLDYvRjRBbU5iOjIsMTA2NzYvaXVIa3c6My9vb0FkZWU6NSwsNjM2NywzOTc4LDI1LDE3MS9lcEVtNWM6NjMxNCw0MjM0L1dYc3F1Yjo2MzE0LDQyMzUvS2p6SW86NjMxNCwyMDU3L0JBVmlTZTosNjMxMyw0MjM3L1VNdTUyYjoyMzk3LDMwMDksMjU2NCw0LDYsMzI0LDMsNzgwLDE0NjUvdk4wVUU6MTYxLDYyMzYsMTA0MywsMiwxMDYxLDIyL0o4anA2YzoxNzIsMTQ1MSw4MTUsMzkxOCw0Mjc4L1ZKak5pZjovV1YwUXpiOjIsNjM1NSw1OTMsMzQ0OS9pUkdsSGI6LysyOjc4NzYvWXl6N1hlOiwsMiwxNzQsNjE4MSwxOTI2LDIsMjA2MS9zQUtmd2M6MiwsMiw2MzU0LDM5OTAsNDAsMTcxLzoxMjUsMzUsMTksLDY1MSw3NDQ0LDM1LDExNzkvZmQ3d3o6LCwxNTYsMTQ4OCwyNjYzLDIwNTAsMTUxNSw0MDEvd3VuU1E6MywxNzksNDEyOCwyMDQ5LDE5MzAvZUkyOHhjOjMsMywsMiwxMTUsMzQsMTAyNCwsNDY1LDQ3MTEsMTU1Miw4LDM1OCwzOCwyMDM4LDQwLDE3MS8rMjo0NzkzLDM3NjAsLzo0Nzc2LDI4NywyOS92ckhvdGM6MiwxMSwxNTUsNDYxMCwxMiwxNTcxLDIxOTIsMjcsMTk4Ny9sd2Rka2Y6NjYwOSwxMzE3LDI2MzIsMTE1L0VGUTc4YzosNjYwOC86OTE5MiwxMzY4L01ibTJXZDosMTA1NzAvWDdVMGNiOjEwNTYyLDEwLy9TZGN3SGI6LDY2MTUsMzU5LDk1Nyw0MTAsNCw0OC9waklDRGU6LDYsNTUzNCwxMDcyLCwxNzI3LDQxLDQsNjQ5LDk2LCwxNDQxLDksMTMsOCwzLDE1LDgsMTIsNCw0LDE1LDYvTzFHanplOjY2MTQsMzk1NSwyLCwxMDEsNTIvOjQ4MzEvaEdqOHk6LDQ4MzIsLDcxNiw1MDI4LDE1NC9Bc2JQb2I6Miw0NzkyLDQsMzcsNzE1LDI3NzgvOjg1NjUvbVVzMWplOiwxNCwxNjM3LDMxMTQsMjYsMTIsNzQ0LDE0MjcsMjY5OSw5NzEvQXJMa05jOjIsMTUsNTUzMiwyLDMwNDQsMjA2Ny9CNnFxZ2Q6L1c1bnIwYjoyLDMsNSw0MTQ0LDYzMiw4LDc1OCwyOTk2LDIwMzYvbE1kRE5jOi9BTkM5dmU6NjU2MSwxMzg0LysyOjgyMzksOTY4LzoxMDU4LDEyLDM4LDY3OTgsMTI4Myw1LDEwNC8vdjdvSWdjOjIsLDEwNTQsNDIwNCwxMzAzLDE3NzUsMiw1MzMsMTYwNCwyNCwxNjMveG0wb3hlOjQvaW9RMnRlOjUvdGxxaEFjLysyOiwxMDEsMzc0OSw0ODYsMzkxNSwzMDMsMTk1MiwyMSwvb0J2Z2lmLy0xOiwsMTQ0NSw2NzUyLDQ2L2VzYnhQZC8rODosMTA3MSw0MTA2LDI5NjIsMTA4LDY0OSwzMzEvLTY6LDEwNSw5NjUsNzE3Nyw5LDk3MSwyOTkvOjEwNzcsNzE3NSwxOTAyLDE2OC8rMzoxMDc4LDkyNDUvOiwzLDEwNjgvKzM6LDMsMTA2Ny92cDJBbWI6LDMsNCwxMDYzLDYsNTU2MSwxNTAzLDIzNTEsMTg3L0piTDhxZTo0L3lTU1ZMYzo2L0JGMzFBZDoxMi9ZYlVpV2Q6MTEvSnI1MjdkOjkvc09vMXc6NywxMDksOTYxLDU0NTkvT0E4d3lkOjgsMTA5LDk2MSw1NDU4L3d4WUlWOjEzLDEwNSw2Mzc4L3F0aGxHYzovQ29RN0o6MTEzNSwxMzkyLCwxNzQ4LDExNjEvKzI6ODk5L3ZlY3RlYy9pektBZGY6LCwxNiw1LDEwNjEsLDEzODcsNDE3OCwzODU1LDE4Ny9BUndzd2I6Mi86ODI3MSwyMDcyLCwvOjUyNzQvTjJFeTliOiwsMjMsMTA2MywsNTU2NCwzODU2LDE4Ny9xVU1oMGQ6My9BU2JZSjo0Lzo0MjI4LysyOjgyNzcvOjYsNTI3MiwyOCwyOTUxLDI3LDk3MS86My9JV3E0RGQ6LCwsMTA5MiwsMjE1LDE5Miw4LDUxNDgsMTUwNiwxMDcsMzE3LDU2NSwxMzYyLDE4Ny9mTmdTOGUvd0VWbEtmOjUyODMvYTZCV1dkOjIvUVFweEFkOjcvKzI6MjQ5OS8rMjoxMDc4LzovWGJKWERjLzo4Mjg5L0d1azhoYzosLCwyLDQ1LDIwNCw4MjcsMjQsMTQwMCw0MDg4LDEwNTEsMzA1LDgsNDMwLDI0MSwxODk4LDI0LDI5LDIsMTMyL3haUTN6YjoyL2FuNlJXYzo0L0N1NnBGYjo0LysyOjgxODksMTA1LDg5Nyw3MS86LDgxNTYsMjQsMTAsMTAyLDg5MiwzNCwxNCw0MCw4NS9UZW5RT2MvOiwsMTExMy86ODI5OC8vSDdaNVhkOjMsMTExMi9lQzVETGM6MTExNi9kcVFod2I6ODE5MC86OTIwMiwsLDIsNjYsL1hVT0huOi9oZDFyVzo4MjAwL3BWZ0NrZToxMTU5L0RyZ21NZToxMy90QUtxcmM6MTAvUWwwWUZkOjgxOTcvZ2lYeEhkOjcvbE4wMjBiOjgyMDYvQUFVVERkOjExNjUvWlA4UDdkOjE5L2R1M1BpOjE4LysyOjIwLDkxMCwyNTQsMTAxLDY1OTUsLCw5OSwxOTMsOTIsMTEzLDMzLDU0NSwyNDEsMTc4LDMsLCwxMTg5L0UzdGthZjosNjQ3OSwzOTczLDQwLDE3MS9oNkVVM2U6MTczNiw0NzQ0LDQwODEsMTY4LDE2LysyL2k0V0tIZDosLDIsMTQ3MCw1MDA3LDM5NzUsNDAsMTcxL2xZeGhZOjIsMTA2NjYvKzI6Nzk0OCwzNzMvdzRkSUFiLy0xOiwsNTQsMTA4MywyNzg2LDM2ODcsNTk0LDEwOSwxMSwzMDYsNTY1LDQwMy9kckg0VWI6LDExMzgsNTU2MiwzODU5LDE4Ny8rMzo4NDUzL1F1SFFVYzozLDExMzgsNTU2MywzNzc0LDE4NiwxMCwyLDc3L2lPOEhOZTo2LysyOjExNTkvKzg6ODM3My8rMjo5Mjg5Ly05OjQ2LDM4OTEsNCw2NjUwLCw0MC9xT2tXRy8tMjosLCwsLDE1MDUvKzUvLTE6ODM3OS8rMjosODE4NCwsMTUwLDk2OCwxMTA0Ly8rMTcvLTE2OjQsODMzNS8rNTo1LDkzMDMvLTE6LDEwLDk5MSw3NDM2LDk2NCwyLCwsLyszOjk0MDUvKzI6LDU3LDkzNDYsMywsLyszOjksODE4NCwxMTE5Ly02OiwsMiwyLDYsOTMsMTc2LDEwMzMsNDA0MC8rMjo4Mjk0LysyOiwyODIsMTI0MS86MTMsLDgyODAsMTAyMi8rMzo0LDgsODM2OCwzNCwzNC86NSw4LDgzNjgvUUV2NDVlL0I3dzlaYzosLCwsLDExLDExNTEsMTUwLDMsMjA3LDUxNDIsMTYwNSwyMzE0LDE4Ny8rMjoyMi9SWEVxWmU6LDI1LDY2NDcsMjg5OSwxNjEsODAsNjc1LDI5My86MTA1MzIvVFZnRVBiOiw2NjczLDM4MzQsMTk2L1VHakZIOjMsMTc3Myw0ODk3LDM5MzAsMTEsMTU1Lzo4NDAyL0d3NVZkZTosLDIsMTAsMTE2MCwzNDAsMjAsNTE0MCwxNjA3LDE0MywyMDcyLDIxMS9jU2lYYWU6MTksNjY1NSwzODIzLDI4OC8rMjozMC9zblJPUGU6LDY2NzQvWHBzODJiOjgsMTUsMTAwNyw1NjQwLDM4NDUvSjFSSFZiOiwyLDcsMjEsMTQ4NywyMSw1MTM3LDI2NjcsMjg1LDg3My9kckNXQ2M6LDUsOSw0OTg1LDQyNywxMjQ4LDMxMzAvdGQ4WTFjOjcsMTAsNjY1OC9RZXdDNDoxNCwyNCwxMDY3Ny9jdW9MZmM6MTMsMiw2NjU5LDM4NDYsMTk2L1VIUGNmZDoxMzQ3L1dqQURkZToxMDM1L0RKaEZyOjEwMzMvc0xhOHljOjM2L0FTNVJCZjo0NC9OamZwTGQ6MzUvWU9iUFA6MjcvVEtyd3pjOjE4L01uMVBWZTozMy9YdFhvcDozOC86ODQyMy91Yld2UmQ6L1RiQ3dlYzo3Mzk3L1ZETkR6OjMxOTUveFlsWXZlOjMxOTgvWVZhSHpjOjMxOTgva2hFU3RjOjEzNjMvYmNCeUViOjEzNjMvd0k0eHFlL3dOTTNzOjEwNjAvZUJyNmllOjEwNTQvWXh4dERmOjEwNTIvVXYzRGdlOjU1L2Ewck0wOjYzL2UyRFVUZTo1NC91ZUdSVWI6NDYvdHlUN0JlOjM3L2NZQnlvZDo1Mi9pVE50NGU6NDYvdnRmUTZkOjY2L2huNWlrZTo1OS9tNDdSamQ6MjEvLzoxMDQ3Mi90NmU1RmQ6LCw2NTU4LDM5OTUsMjUsMTcxLzo3NjkyL2xNeEdQZDosMywzMzQsOTA5MiwzNTcsOTY2L2RhQjZiZS9xQ2dhSGI6MzQwLDYyODIsNDEzMy9ObG9VbGY6MzQxLDYyODEsMjgxMSwxMzIzL2JtQVFIZjo1NDAxLDYsNzE2LDIyODYsMTA1OCwxMTc4LDI1LDI1LDE4LDExOS8rNC9Mb0FQb2UvSzIxZXlkLy0yOiwsLDQ0ODEsMzg4Myw4Nyw2MDUsMzMyLys3OjEwNDgxLzovOjEwNDgzLzovOjEwNDg1LzovOjEwNDg3LDMvOi9Mdkd4eWUvKzI6LzoxMDQ5MS86LzoxMDQ5Ni86LzovOjMvOi86NS86LzoxMDMzNS86MTA1MDQvOiwvOi86MTAzMzkvOiwzLzovOjEwMzQyLzosNi86L0xubVowZS8rMjovZlJOeXRlLysyOi9PckhvaWQvLTM0OiwsMiwyLDMsMyw0LDIsMiwzLDIsMiwyLDIsMiw4MzY5LCw4Niw5MTMvLTI6LDM1LDMyNTAsMTIzMiw5NDksNSwyMDA0LDU2Nyw5LCwyLDMyMSw4LDEwNSw1OTcsNSwzMDcvKzM6Mi9BbGYwdGYvKzM2OiwxMDM1My86MiwxMDM1My86MywxMDM1My86NC86NS86Ni9pamJFZmMvKzI6LDEwNTI1LzoyLDEwNTI1LzozLDEwNTI1LzoxMDUyOS86NSwxMDUyNS86NiwxMDUyNS86MTM5OCw0MzAsLDI2LDIwNSwsMjMxMCwyODYvOiwxNDMxLCw2MTIsMTUsMjMzNywyNTMsMiw4MjMsOSwyNTc2LDksLDMyMywzMDEsNzIxL2JhSlBaLysyOiw1NywxODQxLDIwNzIsNDA4NiwyMzYsMjE2LzosNDAxMSwxNDY2LDMwMzEvUmRyZTQ6LDUsLCwsLCwyLCwsLCwsMiwsNTQ3LDc4Miw1OCwsMTg5MSwyMTYwLDM2LDY4NywxOTQ2LDQzOCw1MzUsMjUxLDU1LDEyMCwyMTgsOTYwLDE4Ny9Bak96R2U6NjE4MywyNDY2LDgsMTI1MSw3MTUsMTk2L1Nxc2ZBZDo1NDY0LDYsNzEzLDIyODksMzA5LDc0OSwxMTc4LDI1LDI1LDE4LDExOS8rMjo4NDczL0xjaU1UYzosMTI4OCwzLDQwNTYvdVU5WE9lOjIvTDVLZVhkOjMvdzVDWmVjL1h3QzdoOiw5OTM0LDcyMCwxNzEvKzIvRlVsd2tjOiwyLDEzNSwxMTU3LDMsNTcyLDY2MDMsMTUsOTE2LysyOjEzMDYsNzE3NSw4OTYvLTE6LDEyOTksOCw1LDcwNjUsNDEzLDU3NiwxMzc2L0U2aEJGZjosMjQyLDEwNTUsNTQsNTUwMCwxNjkyLDM2LDc0NSwxMTEsNDg3LDcxMiwxOTYvTDJQWmpjOjIsMTI5NywsNSw1NTQ5LDE1MTUsOTU3LDI1LDg2LDEyODMsMTg3L1ZnVnlaZDo0L3ZIR09FYjo1LyszOjEzMTIsODA3MS86LDEzMDUsNzA3OCw5ODksMzkvTmRERVRjOiwyNDgsMTA1NSw1NCw1NDMzLDE3NTksMzYsODU2LDExOTksMTA4LDg4L1lVMFhjYzoyLDEzMDMvckFjWXlkOjQvSlVwNU5iOjUvOjEzMTgsOTI0OS90ZnU3VzosMTQsMTI5NCwsNSw1NTQ3LDEyMjYsNDEyLDMwMyw1MzMsMTM5NCwxODcvbkpvRWxmOjIvOjEzMjEsNzE3NS9mR2ZjemQ6LDEzMTEsMyw3MDc4LDEwMjgsMy9HUUpjbmQ6Mi9UdWQzQ2U6My9yMzNjcWM6NjY1NCw0MTk0Lzo1NTIxLCwzLDI1MzIsMzc0LCwzLCw2OSwsNDUwLDM4NywxMzUsNDQxLzo1NDk4LDI4MjgsMTgwLCwyLDgzNSwxMzUvKzgvLTM6LDE0NTEsMzA2NSwxMDExLDQwMzUvLTE6NDU5NiwzNDIxLysyLy01OiwsLDIsLDQ2MSw5ODQsMTU5LDEyOCwxMDMxLDU3MDUsMjUsMTAsMzU4LDI5Myw0LDE2OS8rNjozLDYyMDYsNDUzNS9YbXhZNDosLDEwOTMwLyszOjQwODIsNjczMS8rMTA6MTAzNzIvOiw4MzM2LDEyOSw4Ny8rMjozLDk3OSwzNTc1LDE1NCwzMTczLDE5Mi8tMTI6LCw2NCwzNSwxMzYxLDcsNDI2LDIsMjQsMTgzLDEwLDEyMzcsNzA0LDQ5Niw0MSwsLCwsOTExLDMsMjEwMyw4OTQsMTA2Ni8rMTE6Myw0NTk0LDM3MzksMTA2LDIsNzgsNDQ5Ly00OjEwMywzMjUwLDEyMzMsMjk1Nyw1NjcsOSwsMiwzMjEsMiw2LDcwLDIsOTQyLDI4LDQ0MS86NjksODA1NCwzMjEsMiw1LCw3Miw5NDIsMyw1LDYsNDU1Lys2Ly0xOiw1LDIxOTMsMjM1MCwyLDk5NiwyMzEzLDIyMSw0MSwyMTYsNzc1LDcvKzI6MjExMCw2NDE0LDMsNjQ0LDE5MSwxMTgsMTcvLTE0OiwsMiwsLCw4LDQsLDUxLDQxMCwxMzksODQ1LDEwLDEyNiwxNDAsNDU5LDUsMTE0NSwsMTIwMywsLDE4OSwzMDI0LDMxOCwzMTgsMTA4LDI3MSwyNzgsMjg1Lzo4LDYyMDksNDU0MS8rMzo1NSwxNjg3LDYzNjQsMjM4LDE4Ni9kcXNEaGU6LCwsMTA5NDQvKzExOjE1LDQ2MDEsMjkvKzQvLTI6MiwzLDE0LDYyMTMvKzM6Miw2MSw3Nzc3LCw1MDcsMTczLDE3LyszOjMsNjEsNzc3NywsNTA3LDE3MywxNy8tNToyLDE0LDEwLys0OjMsMywxOSw0NjAsLDk3Nyw3NDMsNTYzMywyNzUsMTEsOSwsMjE1LDEwOCw2NSwxMCwyMjYsNzIxLysyOjMsNCw0NzksLDk3Nyw3NDMsNTYzMywyNzUsMTEsOSwsMjE1LDEwOCw2NSwxMCwyMjYsNzIxLy0zOjIsLDksMTQvWUFiZ3I6LDYsNCwxMDk0Ni8rNDo3Mzg3LDkvRGdQZVljOiwxMCwxOSwxNDQ3LDEzMjQsMTgyMywsNTEsMTU2NCwzNjI1LDEwODMvY09NTDk6NjIzNSwxMTU0L1l0NXJEZjo3LDYyMjgsMTE0OSwzNTAyL3h4dnBBZjoyLCw0LDYyMjgsNDY0MiwxMC8vVjVmOUhkOiwzNyw0NTMwLDE2NzMsNDQ1MiwyNSwxNzEvOjE0ODQsODM5NC95bEFZVmQ6LDIsNSwxMCwxOSwsMiwxNDQ0LDMwODYsMTY3MSwsMzYzMCw4MjMsMjUsMTcxL0g1N2JHZToyMSwyLDYyMTQsNDY0NSwxMC9KR1cxeWQ6OSwzLDEwLDYyMjYsNDYzNSwxMC8rMjo3NTI2LDQ4MCwxMTc3LDUsMjAwLzoyOSw2MjIsMzY1LDMwNzMsNDQ5OCw1NTQsNy8tMjosLDMyLDgsNTYsLDU0NywzLCw4MzUsLDMyMiwzMjksOCwxMjMyLCw3MTAsNDg5LDIwLCwxNzQsNzY2LCwyMjU3LDQxMSw4ODIsNTE3L0JPT1dEZTosMTgsMyw1OCwzLDE3MTksMTAwOSwxNzQ5LDE2OTEsMzcwMCw3MzUsMjk0L1pBeVpDZTo4LDUsMiwxMiwyLDYyMTUsMzYzNSwxMDA5LDEwL25odHJtYjozLDI2LDUzLDYxNjEsMzcxMCw3MzUsMjk0L3JMZDU5YjozOTcsMjM0Niw0MTQzLDI5MzAsMTA3NC8rMzo2NjgzLDQwNjkvOjg1NTQvanM4T2JiOiwsODM2MSwyMyw4LDgzLDI1MDEvc3JuWDM6Myw2OTE0LDEyODYsNDE0LDk4OCwxMDg4LDQwLDE5LDIzNS8rNDoxMDgxNS91RFduejosMTA4MTIvYVZpYmhlOjY5MTkvOjQ2ODQsMzEyMywxMDA0LDE4NTUvOjQ1ODYvR1VEZGNmOiwsLCwyLDI3NDEsNDE3NCwzOTg5LysyLzosMjc2Myw1NjIwLDE3MywxNyw5MTYvOjIxOSwyODIsODAwOC86MiwyNzYwLDUwOTEsNTMyLDE3MywxMCw4NzMvWkdpUWRjL1kzSDlPZTosLCw1LDQ5OSw4NzYsLDI2NCw1Mjc4LDE1NjQsMjUsNCwyMjg1LDE4Ny96UEpWaGM6NjcxMCwxNjY4LDIzNDMsMTMsMTIsMTcxL1RMZHFUL29aSDZrYzosNjcwNiw0MDE2LDI1LDE3MS9wdmc5U2M6MTgsNjY4Myw0MjE5L08xaFg1Yjo0NDIsNTI5Nyw1MTgyL3phbUpEZjoxOTkzLDQ5MzUsMzg5MiwxMSw0OCwxMDcsMTUvL3dZTGZrYzosNjcxNCw0MDU4LDM2LDIyLDE3Mi86ODU3Nyw5NjcvOjg1NzgsOTEzLDYvTXl2SXc6LCwsMiw0LDE1NDEsNTE2NywxNDc3LDQ3LDMsLDcyLDI1NywyMTQyLDQwLDE3MS9iUFE1c2Y6NjcxNywxNjE0LDQsMiwyMzk1LDI1Lzo4NTU4LDY2NS9FcUVsMmU6LDY3MzcsMzk5NiwxOTYvQzB6RGhkOjY4NDgvKzI6MTA4NDIvc2I4azg6LCw3LDE5LDY2ODUsNDIyMC95T3kzNmU6L0tBOUl4ZjoxMiw2Njk4LDQwMjksMjUsMTcxL1BoaGFYYzo2NzEwLDE3MzksMjU2Ny9hMml3aGY6LDEyLDE1NDYsNTE1MSwxNTQ1LDE3MCwsMjAsMjQwLDIsOTU5LDEwOTQsMjUsMTcxL2wwcDBWZTo2NzEwLDE3NDcsMjI4NSwyNSwxNzEvb2MxWDBjOjE1LDE5LDY2NzYsMTcyMywyNTA2L3pWTFNJOjIxOTYvZFZTRDhkOjMwL1hlamhIYzoyNy8rMi95OUxxRmU6LDQwMiw2Mzg0LDMwNzMsODg4LDI1LDE3MS9XUENTSWM6L3NUdFVDOjIyLDY3MTEsNDIxMy9JTWpMMzo2NzM5LDQyMDgvOjQ0Myw3ODk5LDkwLDI5NCw4MzMsMTM1NS9saWl2ZGU6LDI0LDY3MTAsMTYwNiw5MCwxMTk1LDQxNSw2OTcsNDAsMTcxLDY0L0oxWjdkZToyLDI0LDY3MDksMTYwNyw2MywxMjIyLDQxNSw2OTcsNDAsMTcxLDY0L0pOZHQ5YzoyNywyLDQsNjcwMiwxNCwyNTkwLDUyOCw4ODgsMjUsMTcxL3RLNjNFOjU4NTUsNTA5Ny9TV3liQ2M6MjksMTU0Niw1MTYxLDE2NzAsMzYsMjIsMTIwMiwxMjg3L3hYRlJGZTo4NTk3L3RGT2E5Yjo4NTc2L1dBYTVVYzo4NTc4L0h3bVpaYjo4MjMwL2xLbzdEZjo4MjMyL3laZk51OjgyMzAvc0UzcVdiOjM0L3A3YVF4ZDo4NjEyL0RjSTlOOjM3L0NIUzdMYjo4NjExL2dTeFFqOjg2MTAveGJJYk1lOjg1OTUvUkFCQkxlOjg1NjAvUUR3MGZjOjg0MTgvbXpQZ0NkOjg0OTUvQ0hKM2tmOjg1NjIvTDZ5UlZjOjg1OTgvdFZOc05iOjg2MDEvYWV3VmRiOjg2MDAvYUZFMFRkOjg1OTkvSTMwaFk6ODU5Mi92NTJxTzo4NTg2L3Z5aE9TYjo4NTkwL3JkaHZ1L0lHWHphZDo4NTczL1VkNkZQYzo1NjMwL2U1Y2YyYjo4NTQyL01ZNE9VYzo4NTM2L05Yd0FOZTo4NTM1L3Q4VllDZjo4NTI5L0xpUW91Yjo4NTE1L2JteWpOYjo4NTEwL2tvZkljOjg1MDkvdDlLTjlkOjg1MTUvQ21SMW1lOjg1MDgvQkRyeUtmOjg0ODgvaE80RWJiOjg0ODgvTE1Jb1JjOjg0OTEvRlNMa0pkL2lPZ3haYjo4NTg4L2lJMUhwOjg1NjQvQjVhVXNmOjg1NTcvdU1BY1BkOjg1NDkvZXY5NkRkOjg1NDMvbEZRS1M6ODUyOS9LbmZhZGI6ODUyNC9ZdW9SdWI6ODUyMy9La293Y2U6ODUyOS9YQ1YxZ2I6ODUyMi9TV0hNSzo4NTIxL1dOcHZ3Yjo4NTEwL3E4WVNxZTo4NTEwL3BPMFRSYzo4NTA1L0JDWU44Ojg1MDUvSGlaM0lmOjg1MDAvcThudWlkOjY4MjIsMTczMywyMjU4LDI1LDE3MS9xbTF6U2Q6NDc3LDYzNDUsMzk5MiwyNSwxNzEvak4zNXdlOjY4MjIsMTU3NC9LYVYzU2U6NDc5LDYzNDMsMTU3MC9ZbXJ5Ni9Ob0VDTGI6NTgzMCw0OTE1L3RINElJZS9rN2JDWGQ6OTMsMjUwLDE0NzksNDk3MiwxNTc4LDkyLDYsMTQxL0RRZ0tiOjIsOTEsMzgzLDEzNDgsNDk3MCw0MjIzL0NDaHpOOjMsNzIsMTksMiw0LDM3NywxMzQ4LDQ5NjksMTU0MiwxMzEsMywxOCwyNDMsOTk3LDM1Myw3MjYsNDAsMTksMTUyL01FQzJyZDo4NDgwL0pKaDVWOjg1MDUvQ1N4WGNjOjg0ODAvTldvNHVlOjg0OTIvYjg0Umk6ODQ3MC9DNlI0UmI6ODQ4NS94RmF2Yzo4NDkwL1lrazdUZDo4NTExL0o1dkp0ZDo4NDg2L0xXZ0RjZTo4NDg0L2VjTXVJZDo4NDgzL29VOHp1Yzo4NDgyL3hXQUlEYzoyODg5LDQxMzMsMTU4MywyMjMwLDI1LDE2MSwxMC9LbW5Sb2Q6NzA1MC9VMEJhc2U6NzAyMywzOTE3LDkzL05DT3NCYzoyLDE2NTQsMTg1LDEwNDcsNDEzNSwxMjI4LCwsMjkyLDIzOCw1NDIsMzIwLDExNzgsMTE4LDkzLys0Ojg2ODcvLTI6LDI4ODcsNy86MTU1OCwxMzMxLDUwODgsMTM0NCw3LDE2MTYvREVGZmliOiwsNjk2MCwyNjg3LDExNzgsMjExL1RzcEtIYjovcjdlZXQ6MTM0LDI3NDYsMTEsNDE0NCwzNzQ5LDE2MCwxNjAsMTYvQTdCODRjOiwyODk5LDI4NTYsMTI3NiwyNjIwLDExNzgsNDAsMTYxLDEwL2tCdlhiZjosMjg3OCw1LDI4NzIsMTA2MiwyMTYsMTM2NywyMTUsMjI3NC8rMjoxMDkzOC86MTAwNzUsODAvazF1d2llOiwsMTM0LDY4NTksMTM0OSw0MTQsOTc4LDEwLDEwODgsNDAsMTcxLDgzLy8vL3k1REpqOjMsOSwxMjUsMjE3LDEwNywxMDU1LDE1NiwyMDQsMjM2NywyNzU1LDk5MCwzNzIsNiwyNTcsMjksMTIsMTM1LDIxMzgsMTg3L2VwZGpGOjQvem10R0EvQmswOUs6Ni92SmtuZmQvUkE1RndjL2xFZ0FaYzosNDY2LDEwNTUsMTU2LDUzMjUsMjk4MCw5NjAsMTksMTY4L2kzUVUwYjoxODYzLDUxNDAsNDA1My9wYlNlOGU6L2NpUUREYjo0LysyOjg3MTEvOjI4ODkvSGZ4RkdkOiwsNDcxLDEwNTUsMTM0OSwxMiwyODQzLDEyODEsMTMxNyw0OCwxNjcsODAwLDE2MDQsMjQsMTYzL0xBS1hEZDozLDcwMTAsMTQwOC9DYlM5S2U6NC86Mjg5NCw2MTMxLDE5NTIvOjg3MTcvanRTUmFjOiwsNCw0NzIsMTA1NSwxMzQ5LDI4NTUsMTMzOCwxMjYwLDQ4LDE2Nyw4MDAsMTYwNCwxODcvRjdBMXZiOjMsMjg5MSw0MTgxLDEzNTEvbFlJbG5kOjMvLzosMTA5ODEsLDYvL1ZGTHBWZTosLDcwMDgsMTQyMS86NC86ODcyNi9iSHhqd2Y6LCwzLDE0MSwzNDEsMTA1NSw0MzgsNTAzNCwxMzcyLDE3MywyNjUsLDIxMzgsMTg3L1FoZGM0ZToyL1F6SnlJZTozL3I4SXZwZjo3MTA2LDI4NDIsMTYxLDgwLDk2OS9NWlFDQS8rNDoxMSw0MzYsNDQxNSw2MTUxLDIzLy0yOiw0MzMzLDQ0MTUsMjI1MSwzNi8rMzosMTA5OTMsLysxMC8rMTU6LDg3MzUvLTExOiw1NzM2Ly0yOjMsODczNS8rNDo4NzM5L1VXUFRuYy8rMTE6LDk3MTgvL2Y0OWtCZC90czZvVGUvYVFBN2FjL2tWNWVXYy95TjRRc2MvZnIzczBiL2NwRk1FYi9OUTlWeGIvTmVhUXNiL2FWc3dSYi9VOEhrRGQvLTIwOiwsLCwsLCwsLCwsLCwyLCwsMTU1OSw2MDgsMzUyNiwyNzIwLDIxMCwxMCw2NSwyLDMwLDkzMSwyLy02OjIyLys5OiwxOCw1NzI5LDM5NjcvLTEwOjE1LCw5LDkzNzQsMzE3LysyOjExMDI1LyszOjQzNjAvLTEwOiwsLCwyLDIwLDksMTM0MCwyNTQsMTAyLDQ1OCwzNTI0LDI2MTIsLDkxLDIsNDAzLDM1LC8rMTM6ODA5Miw3NjYsNTQyLDMvKzIyOjg2MTEsMTA1NS8rMjo4NDQ5LzosOTY4OS9CbWJCdGMvKzI6LDExLDU3NzgvLTQ6LDIsMiw4MDkzLDE3MjgvLTI6LDYsLDU3NzksNDAzOSwxMTk0L2ZLOEloZDosMzcsLDE1NDUsNTQzNiwxNzc2LDM0LDEzMTEsNzY1L0JYZXd1Zjo0MCw3MTA1LDM3NzcsMjUsMTcxLys3OjEyLDIsLDIwMTIsMTczLDYyMzAsNDM4LC9ZVXZuWmQ6LDIsNzE0My86ODQwMCwyNjgsMTA1LDIwNzQvSjQ4N3NmOiw3MTQ2LDI4NjksOTEwLDI1LDE3MS9jaUtJQjo3MTQ3LDIzNjQsMTQxNiwzOSwxNTcvQjNWN0JkOjcxNDcsMTcxMiwxMTU5LDkxMCwyNSwxNzEvT2lZWG5jOi86MTksNC9pUDlhMWQ6LDcwMzMsNzY3LDMxMzAsMTg2LDEwL0FGTEVzYjoyLDcwMzIsMzg5OCwyNSwxNzEvQk15REhkOjc0MzYsMTgyNSw3ODQsNzksODEyL2JoQms2YjosMzQ1NiwxODQ2LDIxMzUsMjY3MCwxMTUsNjQ0LCwxOCwzMDgvWjZ0TTVjOjc0MzcsMjYzNSw4NjYvTGpEdHJkOjYwOTgvZm0yRk9kOjUxLDIxNTMsNDgzOCwzOTg5LDExLDE1NS9iRWs4NmQ6LDI1LDcwMTMsMTc3NCwyMzIxL1dtbVVnZToyOCw3MDA5LDQxNzgvZ1loN0FiOjEwLDExMTI2L3hoUnUzZToxMSwxOTMzLDUwOTQsMzIwOCw2OTUsMTk2L3BXVk5IOjEyLDIyOTUsNDczMSwzOTA0LDE5Ni9sS0VHQmI6MTMsMTExMjYvYU1QdXk6MTQsMjE5Nyw0ODI4LDE4NzksMTI0NiwxMDQwL0tGWnhROiw3MDM4L3ZVUXZGZToxNiwyMCw3MDAzLDM5MDcsMjUsMTcxL096RVpIYzo2NSwxMzUzLDU2MjAsNDEwNS9HQURBT2U6NzAzOCwzOTEwLDI1LDE3MS86ODc5Nyw4OTYvOiwyOS9jMGU1ZWU6LDY4LDE1NDUsNTQyNCwxNzg4LDM0LDE0NiwxOTMwLDQwLDE3MS96ckp5UWU6MjIsNzAxNiw0MTAwLDEwL2dYRmFvZi8rMi8rMjo4ODAzLy0xOiw0OS9UZFM3ZWU6LDIsMTUsMiw3LDEwLDM4LDE1NDUsMzgyMCwxNjAxLDc4NSw2ODYsMzAsMjkwLDE0MTQvcnh4RDdiOi9rU1pjamM6MjIsMjksNjk5MSwxMzMwLCwyNTcxLDQwLDE3MS9MNWJKQ2U6NzA0MiwxNDczL1RLOTNMZTo3OSw2OTYzLDQxMTUvKzMvOjg0MzgsMjIyLDM5LDE1Niw4ODEvOjg2NjEsMzksMTEyLDQ0Lzo4NzAxLDExMi86NzQsODM2NywyMjIsMTUxLDQ0LDg2MC9jd2pGZWY6LCwsLCwzNywxNCwyLDQxMCw0LDEwMyw4NTUsMjAwLDM2MCw4MSwxNjAsMTYzLDI2MDYsODA3LDEyOTMsOTQ0LDMzNiwsOTMsMjYzLDI5LDEyLDEzNCwyLDQ0MiwxNjk1LDI0LDExLDI1LDEyNy9sYk9VWWM6My9nNVZpQWM6Ni9nSEp2WGU6Ni9BUXpQT2I6NDYvUmVYYlllOjYvYmtvcGs6NDcxMS95MTdUcmU6NDcxNy9WbjYwTGI6NDcxMi9zU1piT2Q6NDcxNS9EdVM5WGQ6MTIvUDlTUURkOjg2L01hRDllOjE2L0JxSmM0ZDoxNi9GODlweTo1Ni9rTDZoNGQ6MTYvOjkxNDAsMTk4Ny86MTY1MSw3MTgxL2NOR1ZGYzosLDQ4NCwxMDcsMTkxLDg2NCwxNTYsMjA0LDI0MjUsNDQ5LCwyMjMyLDk0Nyw0MzYsMjU3LDI5LCwxMDAxLDMyMyw5NjAsMTYsOCw5LDE1NC9sV0cybWY6MTM4LCwxMTEsLDIyLDQsLDY4MjAsMjc3NSwxMzA5L1MyaGFBYzovZnFPOENlOjUsNzAyNCwxMDQzLDIsMTA2MSwyMi9WbWpISmY6NSwxNjQ3L2xnV0paZDo2LDE2NDcvVzU2eWpiOjcxOTQsMTM1Mi8rNjo4ODQwLDIwNzAvLTQ6LDg4MzgsOTI2LDEzOS8rMjoxNjY3LDIsNDE3NCwyOTk5L1BYZFg2ZC8rNDosOTkwNi8tMzosMiwsMTY2Nyw0MTc0LDI4OTIsNjMvKzU6ODg0NiwyMDY3LDMvLTE6MTY3Miw3MTc1L2pIUGtTYy8tODosLCwsNTkxLDExMzgsNzExLDUsMTc5OCw2NDUsMTgsOTQ1LDE4LDQ5LDI5MjAsMTUsNjQ2L0x6U1UwOiwxNjY0LysxMToxMTEzMy8rNi8tMjoxMTA5NSw2Mi8tNTosLCw2LDU2NywxMDk5LDcwNjIsNTEsNjMsODQ1LDEwNyw1LDEzMTMvKzMvOjE3NDEsMjAzLDU5NiwxMjMzLDIxMDMsMjA0MSw3NjMsMTAxLDc5LDI1NSwzOTQsNCwxODUvbXVST01jOiwsLDUsMzQ4LDI0NiwxMDcwLDI2NSwxMTksMjIsMzEzLDIwNzUsNDIxLDMsMjMyMCwxMDE1LDQ1NSwxNjksMTEsMjYwLDIxLDIsMjMsMjMyLDE2OTUsOTYsOTEvKzY6ODg1OC8tMToxNSwxNjY5LDcwNzEsMTAyLDg4Nyw0Mi8rMi8tMzosLCwxNyw2MTYsNzkxMSwzNTUsMjIzMSwxMC8rNDozLDcsODA5LDkxMiw2Nzk3LDM5NiwzNyw4NTQsMTA4LDMsLC9RY3FabGM6LCw4LDIsNzIwMywxNjg4LDIxLDM2LDIwNDAsNDAsOTAsODEvRkFoVVM6NjgwMiwzNTE5LDY5NSwxOTYvbFQxejhiOjY4MDIsNDQxMS9LNGVjZWY6MjYvak9IZWw6MjUvUGpzdTRjOjIyL2JIYTVxYzoyMi92bWl2T2I6MzAvWUt6RzVkOjI5L2tIRnlkOjU5NDUvUnQ2WjdiOjI3L21ueEpaOjE3NzkvdlhDcXJmOjE3NzcvSTNhVW9mOjE3NzkvZE1XOUxjOjE3ODMvclc3QTVlOjQzODMvT2c0c0llOjE3NzgvWWwzV2RiOjE3ODQvbmhiTzI6NDM4OC9JUjRtNWI6MTc4My9Qb3lqSGY6MTc4My9EbFN3UmU6MTc4MS9hVjI3V2Q6MTc4My9SdjhwZ2I6MTc4MS9HUjB5a2U6MTc3NS9tbjNnSGM6MTc3OC9Ia3RWVToxNzgxL3RvMU1EZToxNzg0L3JwQ1VqZTo0NC8rMjozOSw3MjA0LDg5NCwyOTg0LDcsMTAsMTEsMTUsOSwsLDIsLDExLDEwLDEyOC8rMjo4ODkzLzo4ODk0Lzo4NzQ0LDE1MS86ODg5Ni86ODg5Ny86ODg5OC86ODg5OS86ODkwMC86ODkwMS86MTYyLDg3NDAvOjgxNDgsMzAyNyw5LCwsMiwsMTEsNywzL3NiNFZXOiwsLCwsLCwsLCwsLDMyLDExOSwyMzksLDIyMywyMTQsMTI2MywzNjQ1LDE4MywyMjgxLDI2MSwzMDEsMTMsMiwyMiwxNSwyMiw4ODIsNTYsNjcsNSwxMzE1LDE1NC9JWHU2QWY6MTMsNzI0MiwzNzg3LDIxMSw4My9MempxTWM6L3JmWThBOjExL2lVWFFvZToxNC93OUNYMGM6MTQvSTZRcDY6MTMvbjR1dkllOjEzL1VMaUdJZjoxMy9wYWpQUWI6MTMvQ0FXMEtlOjEzL0piZXZqZToxMy9sZ1RMV2M6MjMvY0s2NzBiOjIwL3YyU1E1OjI0L2xSSndZOjIxL25kVlQwZToyMS93OXJ6S2I6MjEvQjRhWERmOjIxL2lTUkhjYzoyMS9IY0VVcGI6MjEsNTk2NSwxMTUwLDE0MzUsNDE0LDEyMDMsODczLDQwLDE5LDE1Miw4My93SEVGdTo4MiwxMjAsNTYsMjk0NCwzOTUzLDM5MTcvZUhxQ0ViOiw3Myw3MDgxLDE0NjYsMzk5LDIyNTQvUGNzRGdkOjY1LDcwOTAsMTgzMywyMDc2LDQwL2oxeUxNYjosNzE1NCw0MTIxL0FHeFFVOjcxNTUsMzAzOCwxNzYsOTA4L1pMRXY2ZDo3MDk1LDE1MzAsOCwyNjQ1L3V3Yzd6Zi9NRkdvbWQ6LDczOCw2MzQ4LDM5OTcsMjUsMTcxL1h1cGhRYjo3NSw3MDExLDM5OTksMjUsMTcxL1l1QUVnYjo3Myw3LDgxMSw2MzkyLDE1MzYsMTIyLDU0LDgwNiw5LDEyNjEsNDAsMTcxLDIvKzU6ODkzNSwyMDcwLzo4OTM2LDIwNzEvOjExMDA3LzoxMTAwOS9sYWo0U2QvalE2Y3ZjOiwsLCwsNzksMTY3MSwsNSwyNTc3LDI5NTAsMTY0NCwzMTcsNTY3LDEzNjAsMTg3L1ZvZmhjZDo3Mjg4LDQwMDEvbkdRR3I6NS92SG5GZWQ6Ny9uWjljUGQ6Ni9rYlJyZzoxMC8vOjE3NzgsNjQ1Ny86OTg3NywxMTQyL1VSYnRCYzosLCwxODIsNzYsMTIyLCwxMzgwLCwxMzgxLDIsNDA4NSwxMDQ2LDQ2OCwzNCw5MCwzOTMsMiw0MTcsMTUwMiw4NywxMDAvVFRUS0JmOjIsLDI1MSwzLDEzMiw1NjIzLDEyMjEsNzM4LDYyNiw2MCwzNTQsOTc4LDEwLDEzNzgvcE9ZZ1E6ODI4My9wTm56aGQ6MjY1L1NHc0NaYzoxOTAvbThpeUVkOjYvREdBU0RkOjMxNjAvQ0tBbHdkOjMxNjAvbUU3Q2NlOjMxNjUvUG12RWk6MTAvOjkwMDMsMTg1OCwxNzAsMi86OTAwNCwxODU4LDE3MCwyL290b2piYi9tNXFlT2I6LCwsOTE3LDg1NywsNTg4LDE0MzQsMzQ5Myw4OTgsNTk1LDM1LCwxMzIsMTEsMzA2LDM0NCw0LDIyNSwzOTQsOTYwLDE4Ny9IZTljdGQ6My9Wald2Rzo1L3lSeE9vZjo1L3B2ZzNEYzo1LyszOjEwODY5LDE2OC8tMTosNjg5LDIzOCw4NTYsMzgzLDI4MTYsMTAxMiwyMjE3LDI2OCw3ODksOCw1NjUsOCwzOTQsOTc5L0M3RmVuZTosMTc4Myw1NTE1LDM5MDYsMTg3L2hUcTdIOjIsMjg0LDEyNiwxMzczLDEzNzAsMjkwOSwxMjM0LDkxNSw0MDQsNDE0LDEyMDMsOTEzLDE5LDE1Mi9xYzY0cGM6NzE4OCwxMDE4LCwyLDEwNjEsMjIsOTQzLDE3Ni9MdFp0RWQ6NS8rMjoxMDg3NSwxNjksMy94VXluR2M6LDQ1MCw2LCwxMzMxLCw1NTExLDE5ODIsMTkyNywxODcvaXFaWEpjOjIsMzk2MywzMzM0LDM4MjgsMjUsMTcxL2VTTlgwYzo0NDc5L1B0dzVDYjo1MDQ5L2x3R01vYy9mV01jMS9taHFLWTo1NTQvZFVxckplOjU0MS9sYmh5a2Y6NTQ1L2RIT1RiOjU1MC91TldWNmM6NTUwL2p5clluLysyOjExMDU2L3FRcUNzYjovSDBvQ1Q6NTYxL3JqZ2MwYjo1MzcvY1ZLdXZiOjUsMTEwNTIvVG1NbUJiOjUzMi9PN3o4Rjo1NjMvTzZoZlo6NTQwL3ZGRWFBZjo5LDExMDUyL3BMU0J1OjUzNS94MXhLamQ6NTY1L3BGS3FaZDo1NDMvazJVYnhjOjEzLDExMDUyL2dUU2toZTo1MzgveXl5dWpmOjU2NS9PZ1F3eGQ6NTQ2L0VpOVhYOjE3LDExMDUyL0twTmFJYjo1NDEvSlF5TjhjOjE4L3M4VlNDOjU2Ny9jeXNRUWU6NTUwL3F4MEllYzoyMiwxMTA1Mi9vMlR3U2I6NTQ1L3RJT1dFOjIzL3lNSmVBOjU2OS96TkpNWGQ6NTU0L09UQ3lHZjoyNywxMTA1Mi90c2Z1QmQ6NTQ5L1JtS1JLYzoyOC9JNTNpQjo1OTkvSndSbnhkOjU5Mi95NWZYQmM6NjAzL280S1ZwZjo1OTgvUnNFNDE6NjAxL0pseGRlZDo1NzgvTklmZ2lmOjU4Mi9RSVJ4Yjo1ODYvbGtNRDNlOjU5MS9hS0lzN2M6NTk0L2JRSmNLZTo1OTcvUjR4SzA6NTgwL0dGMGZrOjU4My9JZ1MyRjo2MTEvUE5Nc2plOjYwNC9Td0p2amI6NjA5L0c1Y0EzYjo2MTYvRHU2RmhiOjYxMy9ndlBBcWY6NjEwL21nOVZTZTo2MS8rMzoxODYwLDcxNzUvLTI6LDE4MCwxMzI2LDM0NywxMywyNzU1LDEzNzEsNDMsMjU2OSwyLCw0MjEsMTcsMjI4MCwxMywxMS86OTM0NiwxOTUyLDQyL0FrRllmOiwsNzU4LDEwOTMsLDI4OCw1MTg1LDE1MzQsMTA0LDIsNjMsMTAsNSwyMjI5LDE4Ny9zUEdEZWM6Miw3MzI5LDE4MzQsMjI4NiwxNi9vY2xJVmI6LDMyNTYsNDA3Myw0MDU4L1BLM3o4OjIsMywzMTMsNDgzLDEwNTUsNDEzOSwzOCwyNiwxMjcwLDQ1NCw5MTcsNiwyNjIsMTEzLDYwOCwxNDg5LDIxMS9qZExqbmY6Ny9UNFRuY2I6Mjg1LDcwNzgsMTM4NywzMC9xTXozUy92NUZOa2UvKzQ6LCw5MDQyLDkyNiw1NC9PdlJMZy9wbGJDTGQ6LCwyNzksMTU4MiwzLDcyMDkvZzBlWGtkOjMxMS9yTU56RTo1ODc3L2dQNDFUYjo1ODc3L3dYMHdZZTozMTYvYmhvS0hkOjMxNC9xcEwxWWU6MjU3L0pmOE12ZDoyNTIvWVFVU1pjOjI5NC9wdEYwSWUvQURLT0I6MzE1L0FydmxuOjMyMS9IRURoQ2Q6MzE2L0Jma2RRYjozMTUvVEw3VEk6MzE1L1BSS1FSOjMxNS9Na0pvVGI6NTg5MC91aXpwNGU6MzE2L2ZNODNhZjozMTYvU1ZtdFFjOjMxNi94RnRLRmM6MzE2L0JYRGtjZTozMTYvTVMyM1E6MzM0L1Vad0U5OjMzMi9xWnN3aGM6MzA3L25Ka05oYzoyNzYvUUdwWXRjOjI3MS9tbmt3ZWY6MzEzL0g4MU90ZDoxOS9kM2JuZWM6MzMvTUpMS3RlOjMzL0RHUE9MYjozMi9weXdiamM6NzI5MC9zRUtQdGYvRDQ3b1RkOiwsMzQsNzI1NSwxNDU3LDQzMSw1NDUsNzk5LDcxMSwyNSwxNzEvc3dkMG9iOjcyNTUsMzk4MCwyNSwxNzEvTWxDak06OTUzLDYyOTksMzAzMSwyNDIsNzExLDE5Ni9zcFlwZmQ6MzE0LDIsNzA2My9zaU9CQ2I6Mjg0LDI0LDQ4LDI5MTMsNzgxLDMzMjksMzE0OCw3MTEsMjUsMTcxLys2OjkwODcsOTA0LzozNTMvaUdaeExjL3ZpZmcyL2Y0dmd3ZC9GaFk0dzosLCwsLDI4MywzOCwxNTgxLDMsMTMxLDMxLDQzNSwxODUsNTk4MSwxNiwzMjUsMjMsODIvVWVwU25iOjYvZU1yNURlOjYvVjUyNUVlOjYvVEQ1cVpkOjkvTndhaEljOjcvc0hKMmpjOjEwL1ZIdlBqYzo4L1lvOVhIZjozMDIsMTMsNyw0OCwxNTQ1LDU0NDEsNzY1LDEwMDYsMzQsMTQ2LDE5MzAsNDAsMTcxL0RyNW1nYjozMjMsNzAxOSwzOTExLDI1LDE3MS9tMU1BODozMjQsNzAxOCwzOTEyLDI1LDE3MS9TWFkyS2Q6MzczLDY5ODIsMzkwMCwyNSwxNzEvd1ZOZ2NjOjMzNiwxNTgzLDU0MjIsMTc5MCwyMjA5LDE4Ny8rMzo5MTA1LzosODk3NC86OTEwNyw5NjgvS1FJaGxkL3VpZjlLZDosLCwxNjAsMTc2MSwsNDE1LDUwOTAsOTcxLDU5MCwxNDUsMjkwLDE5MTksMjQsMTYzL1NIdzN5OjkxMTAvdW81d006ODQwMi9TcnhsOTo4MzkyL3g1eUc3ZTo4Nzg1L2lwN0hTYjoxMDA4OC90Mm90Vzo4NjkxL0gxSkx5Ojg0MjcvS1I2alViOjg0MTMvZ21sajg6ODQxNy9qVElERmI6ODc4OC9Gd3lnTGQvTTQxc0dkOjg4MDYvYUFNUjhjOjg4MDUvak5RRlZkOjg3NzYvdlVaUjU6ODc2NS9OcTk0MWU6ODc1MS9HS3NLMGQ6ODgxMC9iRTNxVWU6ODc5Ny9qUWw5dGY6ODgwMi9BREJWcmI6ODgwMi9ObVRIejo4NDU5L0F5b1diYjoyNC9xRVRLV2I6ODQzMC9WV2c5YWQ6ODgxNS9wREVsbWI6ODU4OS9vTXRqaWQ6ODU4OS9iZjFkcjo4NTg5L0ZTOHNpYzo4NjYyL3hKNFBwZjo4NjM5L2lDSk81ZDo4NjM4L1dTUktqOjg2MzUvdWRTWGljOjg2MDcvdFl1cXFmOjg2MDcvclFPb0ViOjg2MDcvUnNnRTE6ODYwNy9YNWVyOGQ6ODYwNC9Da3dQR2Q6ODYwNC9LcTNpUDo4NjA0L3Z0T2ZnYjo4NjIxL01vcFRMYzo4NTU3L3JSMXNjYzoxMDAxMSwsL3JDZnRLZToxMDAxMS9mOGYxcmM6MjM2MC9pbzgyc2Y6ODc5Mi9xTXlmdToxMDAxNSwsL1lvYXJVZDoxMDAxNiwsL2tXUUZ0ZjoxMDAxOCwvRXRoMVRiOjEwMDE5LC9tOUJMOGM6MTAwMjAsL3d1eldEYjoxMDAyMCwsL1hoQXJQOjEwMDIxLCwvVGRXajFjOjEwMDIyLCwvYlVkT3hmOjEwMDI0LC9zMWM3QmY6MTAwMjUsL2IzSkhXYjoxMDAyNSwsL0dXaWUxZDo4NDU2L3JFOFd1ZTo4NDQ2L2pOakZKYzo4ODM5L0FlOEpiOjEwMTQyL3hHWmFNYzo4NzQ1L2xmYlVuZDo4ODA2L21aS0RCZTo4NDgyL25rYVl6Ojg0NjgvS1gyNmxjOjg0ODAvTm5vZUJlOjg0NzMvWG5DbEI6NzAvd0JvZ1E6ODg0NS9LU0FYOWM6NTcvZWNXWXZkOjg4NjMvdEdCSkNmOjg4NjIvQWVHQXk6ODgzMy9FTFRSVDo4ODIyL0NBM0VlZTo4ODA4L1l3dzZxOjg3MjYvckhDcFJkOjg1MjQvUEs3Rm9kOjg4NjkvcWtGNmdjOjg4NTYvTVlTUW06ODg2MS9hTDNkQmI6ODg2MS9EdE9iV2U6ODUxOC9QejU1NWM6ODMvRjZRYURiOjg0ODkvdmNta3NlOjg4NzMvWjU1TlFlOjg4NzUvUWxkQjhiOjg2L0V1TU5mZi90c1VsaDosNzQxNiwxMDczLDI4NDMsNDAsMTYxLDEwL05OY21CYzo3NDE3LDEwNzQsMzEzNC9LQVduU2U6Myw3NDE0LDEwNzYsMjA4NSw3NTcsNDAsMTcxL08wUWFPZDo0LDc0MTMsMTA4OCwyMDc0LDc1Nyw0MCwxNzEvKzM6OTIwMC8vSWhqZngvOjkyMDMsMjA3MC9yM2pxVDosLCwsOTEzLDQ3LDEwMzEsMjQsNTQ4NiwxNzk2LCw1MzQsNjQ0LDk2MCwxODcvd0ZEVENkOjQsMTEzNCw2MjgzLDMxNjYsOTY2L3JlUk9IOjczNzIsMzk4NiwyNSwxNzEvQ253SnViOi94OTFnaDo2LDczMTIsMzEzMiwxMTA2L3ZOSk00Yzo5L0VSS3FpYjo3L1ZhcGlNZToxMS9iMUVwNmQ6OS86OTIxMy92bUFLV2U6LDIwMjgsMy9KdkxCdGQ6Mi9DVFFVZGY6My86MTEyLDU0MiwxMDQ2NSwxNjgvOjkyMTgvRzJ2SVRjOiwsOTcsMTQsNTQwLDY1LDk3LDIsMTIxNywsMjY0LDI4MDMsNzAsMjI3MiwxMDcyLDMxLDM5LDU4NCwxNiw2MCwxMDUsMTc3LDE5MjcsMTg3L1QxeGRpYzo3NDQ0LDEwNjQsMzA2MC9JV0JOMGI6ODE5L3o1VXV4OjQvQW9KN05jOjgyMS94N1ZPWGQ6Ni9CWWY5Q2I6OC96bTl4eGYvUjlwZGFlOiwyMDQxLCw1NDA3LDEwNjIsNyw3MzUsMjgyLDE5MjcsMTg3L1pKMXJGYzoyLysyOjUxODEvOjIwNTUsNzE3NS94Vkh3dmI6LCwyMDk5LDM4Niw1MDQ4LDEzNTUsMTY0MywxMzgvKzIvOiwxMDE5MS8vZEpSRGNmL2lDRHhaZTosLCwzLCw5NDQsOSwzNiwxMDU1LDU0OTAsMTc5MiwyMTM5LDI0LDE2My9JRmllemU6Ny9aMmNFb2U6OC9LNHh0T2Q6NC94eXk4SWI6NTIxNSwyMzA1LDM5MDQvUkxGRm9mOiwxMDY0LDYsNjQ0OSwzMTg3Lzo1MTkyLzo5MjQzL2pjTWRGYjosLCwyMTExLDM4Niw1MDIyLDEzODEsMTY0MywxMzgvKzM6MjA3MCw3MTc1L0JMZU1ZZS9DdGNvVmQvUm5BTXZjL0ZBZGF6YzosLCwsMyw4LCw5OTMsMTA1NSw1NDY2LDE4MTYsODU2LDEyODMsMjQsMTYzL2RPZjFnZjo1L0FTQlljYzo4L283WE9qYjo2L3o1RU5sOjYvUnFWZ1ViOjkvQ1pNV01kOjcvRFNYblRjOjEzLyszOjkyNTcvSmlqYVpjL0ttM255YzosLDI0LDg5MCwxMDMsMTA1NSwxMzg4LDEzOTIsMzU0LDIzMjcsMTgyMSwxNjMsMzc5LDE1OTcsMjQsMjksMTUsMTE5L053ZVhRYzozL2w5TXIyOjQvKzI6OTIwLDU3LDkzNDYsMywsLzo5MjYzLDE5MDIsMTY5LDMvR2Rqd2FjOiwsMzAsNzA5LDQsMiwsNjYsMTcyLDEwOTMsLDU0MDYsNDAxNCw1MCwxMzcvKzIvVXU2WGVjOiw3MzMzLDQzNjAvbVVkZVliOiw3MzMzLDQwODUsMjUsMTcxL3NpNUc5ZDoyLDczMzIsNDI4Mi9XWU5VeGQ6NCw3MzMwLDQyODMvbHMyNmw6Ny86MjA5Niw3MTc1LzoyMDk3LDcxNzUvczRkMEFmOiwsOTg1LDcsMTA3MCwyNCwsNSw1MzkyLDE2NzIsNDI0LDUzMywxMzk0LDE4Ny9RN0NCSmU6My9kWUNOYmM6My9SbXZpQmM6NS9yTDdxaWM6NS86MjEwMyw3MTc1L2pabGZPYzosNDYsMjA0NywsNTQ2MSwyMDMyLDU2NSwxMzYyLDI0LDE2My90cjlDdmU6Mi8rMjo5MjgxLysyOjIxMDcsNzE3NSw4OTYvLTE6MjEwOCw3MTc1Ly0yOiwsLDE5MTMsMTk0LDU2NSw2NjAyLDUsODg3L3FVUzNrOiwxMDE3LDEwODIsLDUsNTM5MCwxNjEyLDExMSwsNTcsMTMsMiwzMDIsMzM0LDIyNCwxMTAsMTI1OSwxODcvTTVSckxjOjUvVmlyUkNiOjQvSDdHUHlmOjYvU1pNRUdlOjUsMjE1NCw1MzM4LDE0NTEsNywzOTUsMzYsMTIwNSw4MzUvKzY6OTMzNC8tMTo2MjM3LDI5MDQvLTE6LCwyMTIxLDc2OSwxOTYyLDIzNiwzOTcsODExLDIzMjUsNTMxLDEzMSw1LDIyNjMvQUkxeDFlOiw1MzEsMTczMSw2MjcsMjU4OCw4MTksMTIwMywxNDUyLDcsMjQ3MSwyMTEsNzkvZkVhNDFjOjc0OTksMzk1MCwxOTMvKzM6OTE0NCwxOTUsODYwL3VITk43YzosNzQ5OSwzOTQ4LDE5Ni86MTAyMDEvOjkyOTgsNDQvOjYyNDUsMzA5OCw4NjAsNjQvOjkzMDAvOjkxNTAsOTcsNTQvOjEwMjA2LDY0Lzo4OTMwLzo5MzQ3Lzo5MTU0LDE1MSw0NCw4NjAva3lsSHZmOiwsLCwsLCwsLDIsMyw0ODIsMjkwLDQ1NiwxNjAsNzE5LCwyNjQsMTE5LDE3OSwzMDEsMjExOCwzLDI0MDYsMTEyNCwyNzMsMjU2LCw0NiwxNiwyMiw0OCwzMDEsMTg0LDE3NTksMTg3L1ZORWNEYzozL0J3VW05ZToxMS9vYUZyUmI6MTEvQ1IwQzRlOjE5L1o2bFQ1ZToyMS9lTnluRmM6MTMvVXl5S2tlOjEzL2gzMENaYzoxMy90aEpqZToxMC9QdWN2dmM6MTQvYUgycHc6MjIvcWUzeTZjOjE1L3Q5N1RQYjoyMi92SmUwTWU6MjIvTkdmTU9iOjMwL1dKWWN6ZjozMi9iRFVyRWU6MjQvWEVJQXQ6MjQvUnMyRmY6MjQvd0tvbGlkOjIxL3hLQ0EyYjoyNS9INTlGemQ6MzMvV1J5RHZiOjI2LyszOjkzMzAvLTE6OTMzMS8rNTo4OTU5Ly0yOjg5NjAsNDE3LDIwMjcvLTE6ODk2MSw0MTcvWWdYNXBjLy0zOiwsLCwsLDk4OCw1NywyMjYsODc3LDEzLDU1OSw3LDE4LDE2NywxMCw4LDI1OTUsMzM3NSw0MjMsMTUsMzAxLDYxNSwxNCwxMzIzLDQzLDcvdlJJd2RkOiw3NCwxMjE3LDg2MCwsMjY0LDcsMTMwLCw0NjEsNDUyNCwxNzQ4LDQxLDExLDg3MSw4LDM5NCw5NjAsMTg3L3FzdDVzOjc1NDAsMTUwNS9EaERtRWM6Myw5OTMsMTAzLDEwNTUsNTUsOTcsMjg5LDMyMywxOCwyNTg4LDIwMTUsMTQ1OSw4LDI4NCwxNDYsNzg2LDM5MywyNiw4MzUvRVh6MlFjOiw3NTQwLDQyMjYvdk5JVWdjOjc1NDAsMzk1MywyNSwxNzEvVHJNMDdiOjExL0x0WTJhZjo5L1pKTENsOjExL2NUN3lhYzoxMy9heGkxVGM6MTYvZ2wweHZkOjE2L3dMcDZvZjoxNC9pOVpVOGM6MTYvcGR1NXA6MTUvbmZzdkhiOjE5L2VDTWU3ZDoyMi8rOToxMTQyMy86OTA0MCwzNTgsOTI0Ly8tNDoyLCw4MzgsMTMsLDQ2MSwxMjM5LDk5NywxODgxLDMxNjYsNSwyOTYsMTEsMTAsLCwxMywzMjIsOTAsNSw4NzcsNDAyLzoxMDI1NCwxMTczL3FMd0J2ZjosLDk0LDczOSw3LDEzMzEsLDQwNSwxNjA5LDEyMjgsLDIzMDgsMTUxNCw0MDIsNTkzLDYsMTM1NCw5NSwsOTEvTTBnb25mOjY3NSw3MDQ5LDM3ODcsMjUsMTcxL3UwNWtuZjo3NzI0LDM3ODgsMjUsMTcxL2YwQ3ZqOjc3MjQsODczLDEwMTUsMjYsMjIsMjIvUlVvMFk6Niw2NzIsNzA0NiwzMDczLDkxMy91bk5ObjoxMC92QkRMSWU6MTAvajQ5TEdkOjg1NC9DZEE4RDo1NDI4L0JpdjlDZToxNC9mN2VaS2UvUm03WjI6MTUvanlFcmJkOjEzL1ZiNW50ZjoxMTMxLDEwNTUsMzAwNSwyMzc2LDQwNDAsMTg3L2l0eUNwYjo1NTY3LDM3OTgsOTQ1LDEyMS9jUG1taWU6NzAwNCw0NzE3Lys0OjI1MzksODUyLDExOCwyLDUsMzE3MSwzNzQ1LDExNzgvZjJTUmRiOiwxMTc5Ny9Zc1llUmU6MiwyODAyLDYsNjY0LDE0LDcsLDMxOTEsNTExMi9rZ0NNVGM6Njk4MSwzNzI1LDcsMTIxLDg5MS9wOTN5ZGU6Njk4MSwxNjMyLCwyLDEwNjEsMjIvOjIzNDUsLDYzMzMsNSwzNTQsMzgxLDYxMiwyMzEsMjk5L3p3TFB5YjosMTQ3NCw3NzYsNjYsMiwyMywyLDQzMSwzLDI2NTEsLDk2OSw1ODMsMzQ1NiwxMTc4LDE4Ny9SQmJYSmM6MiwxNDc0LDg2NywyLDQzNCwzNjIxLDU4MiwxOTExLDE1NDYsMTE3OCwxODcvKzIvKzQ6MTE0NTAsNiwvOjExNDUxLDMvLTI6MTE0NTIsNiwvTzdlc3VkLy00OiwsLCwsMjc3OCwxMiwyNzAsMTg2Myw0Mjg1LDEyNyw2OTMsMzMyLDgxLDEyNDIvKzI6Mjg0OS8rNjosNjY0Nyw0OTc3L0lkdlJYZDosMiwzMDcxLDYxMzgsMTAzLDgwLDgyMSwxMjQsMjcsMjk5LDExNDcvKzM6MTE0NTgsMy9hTzFUZWQvLTI6LCw5LDI2NDAsMTE2LDMwNCwzMzM5LDM2MTUsNyw0MTksMjE4LzosNjY1MSw0OTc4L2o3dkdMYzosMTE4MTcvKzM6ODg1NywyNDE0LDE1OC8rMjo4NDk0Lzo4NDk1LDM2NCw2LDE5LDIzODksNDAsNjgsMjAsNiwyLDE0LDgvOjExMDg3LDM3OSwzLzoxMTA4OCwzMjEsNjEvOjg1MDIsMjgwMSwxNjUsMy86ODQ5OSwyNzk4LDE3Mi8rMjo4NDkzLDcsMjYyNy8rMzoxMTQ3MS8tMTo4NTAyLDI2MjcsMTc4LDE2NS9EOWFjc2IvQ1UxS29lLy0xMDosLCwsLCwsLCwsLCwzLDUsLDg0MCwsNjQ5LDEwNzksLDc0LDQsMTk1LCwxNDIsMTk0MSw0OTgsMTIsOTQwLDI1LDE5NzksNTE3LDMzLDExNSw2NDAsNjUxLDQsMTA5NS9FdXJOMGM6LDE0LDUsNjg0MCw0OTcyLysxMjoyODY5L0dLM0VoYzosMiw2ODU3LDM4OTUsMTAwNC9DWmZpeWI6Mjg1OCw0MDAyL1Uyb1J6ZTozLDIxLDI4NDksMzgwMCw0ODc3LDIxMSw4My9odlRiRWI6OS9zSEdJeWU6MTEvSnZTRVJlOjIwL1FZUVpwZjoyMC9ucU1WM2I6MjAvV1YyV0ZjOjIwL2Z3N3VUZToyMC9wMUVNeWI6MTkveFdTT25lOjIxL0VZbWJSYjoyMC9GaTdTU2Q6MzkvYlNzRlJiOjQyL2JXMlg4OjQyL2lRdkpqYzozNi9BWFk5QmI6Mjg4OCwzNzk3LDQ4OTUsMTk2L2NucmJXOjEwNDg4L3pKVHVHZjo2ODY5LDQ5MDkvTXF4ZUZmOjc0MDksMzM5NCw4NS8vWFhDT1NiOiw0MTA4LDEyNDksMjA1MCw0MzczLDY0L1hDeEtIYjo2ODc0LDMyOTYsMzIwLDE1Miw2LDI0My9JWXFkRWU6NjcwOCwzOTg1L1FRdnJaZTo0LDIzMTQsMzIsMzYsMTIsMiwsMzMxLDgwLDM1LDE4LDI0NTQsMTA3MCwzNywyOSwyNTMsMjI3MiwxMTUsMjkyLDE0Niw5NjEsMTI0LDEwNTQsMTg3JyxbJ2Nkb3MnLCdoc20nLCdqc2EnLCdJWlQ2MycsJ1lOakdEZCcsJ1ByUFlSZCcsJ21JM0xGYicsJ2xhekc3YicsJ1dxNmx4ZicsJ1JyNU5PZScsJ0NrNjN0YicsJ2VCQWVTYicsJ01rSHlHZCcsJ2tiQW05ZCcsJ1VGWmhCYycsJ3BoZWNiYycsJ0FOeW4xJywnVTRNektjJywnZzhua3gnLCdJdlBaNmQnLCdZVjViZWUnLCd4UnhEbGQnLCdjamFQa2InLCdvRzBxZWUnLCdPWkxndWMnLCdRbHlyeWInLCdMTTd3eCcsJ0VQUnQ5ZCcsJ3ZOektIZCcsJ2tqa3lrZCcsJ0V0Q3g4YicsJ2I1Vzg1JywnTDk3bXVkJywnSXAzRXJjJywnd2Y0a0RmJywnUHltQ0NlJywneE1jbGdkJywncEVnY3VlJywndlpyMnJiJywnRHZuN2ZlJywnT3JPZUtkJywnY25qRUNmJywnWVA0bVVjJywnQTVJanknLCd0dVE2dGYnLCdxQlNKcmInLCdDVzVGWmUnLCdscHNVQWYnLCdZOXQ5U2MnLCd1blY0VCcsJ21iNFpVYicsJ2QnLCdjc2knLCd3czlUbGMnLCdjRXQ5MGInLCdad0RrOWQnLCd4OGNIdmInLCdTTlVuMycsJ1hkOGlVZCcsJ0pzYk5oYycsJ2Q3WVNmZCcsJ3g0RllYZScsJ3FkZGdLZScsJ2tIVlNVYicsJ3NUc0RNYycsJ2xMUVdGZScsJ2R0bDBoZCcsJ29malZrYicsJ2VIRGZsJ10pO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLms5Yj1mdW5jdGlvbigpe3JldHVybiBfLm1hYSYmXy5lYT9fLmVhLm1vYmlsZTohXy5qOWIoKSYmKF8uaGEoXCJpUG9kXCIpfHxfLmhhKFwiaVBob25lXCIpfHxfLmhhKFwiQW5kcm9pZFwiKXx8Xy5oYShcIklFTW9iaWxlXCIpKX07Xy5qOWI9ZnVuY3Rpb24oKXtyZXR1cm4gXy5tYWEmJl8uZWE/IV8uZWEubW9iaWxlJiYoXy5oYShcImlQYWRcIil8fF8uaGEoXCJBbmRyb2lkXCIpfHxfLmhhKFwiU2lsa1wiKSk6Xy5oYShcImlQYWRcIil8fF8uaGEoXCJBbmRyb2lkXCIpJiYhXy5oYShcIk1vYmlsZVwiKXx8Xy5oYShcIlNpbGtcIil9O18uc3k9ZnVuY3Rpb24oKXtyZXR1cm4hXy5rOWIoKSYmIV8uajliKCl9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgbDliO1xuXy50eT1mdW5jdGlvbihhLGIpe3ZhciBjPWE9PT0wP1wiSGVpZ2h0XCI6XCJXaWR0aFwiO2lmKF8uazliKCkmJl8uRGFhKCkpcmV0dXJuIF8uaWEoKT9hPT09MD9fLlFlKCkuaW5uZXJIZWlnaHQ6Xy5RZSgpLmlubmVyV2lkdGg6YT09PTA/TWF0aC5yb3VuZChfLlFlKCkub3V0ZXJIZWlnaHQvKF8uUWUoKS5kZXZpY2VQaXhlbFJhdGlvfHwxKSk6TWF0aC5yb3VuZChfLlFlKCkub3V0ZXJXaWR0aC8oXy5RZSgpLmRldmljZVBpeGVsUmF0aW98fDEpKTtpZihfLmRiYSgpJiZfLkRhYSgpKXtpZihfLndhYSgpKXtiPV8uUWUoKS5vdXRlcldpZHRoO2M9Xy5RZSgpLnNjcmVlbi53aWR0aDt2YXIgZD1fLlFlKCkuc2NyZWVuLmhlaWdodCxlPV8uUWUoKS5kZXZpY2VQaXhlbFJhdGlvOzA8ZSYmZTxOdW1iZXIuTUFYX1ZBTFVFfHwoZT0xKTtmb3IodmFyIGY9bnVsbCxnPWE9PT0wLGg9MDtoPGw5Yi5sZW5ndGg7aCsrKXt2YXIgaz1sOWJbaF0sbD1oJTI/bDliW2gtMV06bDliW2grMV07aWYoXy5ZayhiLGssXG41KSl7Zj1nP2w6azticmVha319Zj09PW51bGwmJihmPWE9PT0xP2M6ZCk7cmV0dXJuIGYvZX1pZihhPT09MSlyZXR1cm4gXy5RZSgpLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5vZmZzZXRXaWR0aDthPXNjcmVlbi5oZWlnaHQvc2NyZWVuLndpZHRoOzA8YSYmYTxOdW1iZXIuTUFYX1ZBTFVFfHwoYT0xKTtiPV8uUWUoKS5vdXRlckhlaWdodC9fLlFlKCkub3V0ZXJXaWR0aDtpZihiPjEmJmE8MXx8YjwxJiZhPjEpYT0xL2E7cmV0dXJuIE1hdGgucm91bmQoXy5RZSgpLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5vZmZzZXRXaWR0aCphKX1yZXR1cm4gYj9fLlFlKCkuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50W1wiY2xpZW50XCIrY106Xy5RZSgpW1wiaW5uZXJcIitjXT9fLlFlKClbXCJpbm5lclwiK2NdOl8uUWUoKS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJl8uUWUoKS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnRbXCJvZmZzZXRcIitjXT9fLlFlKCkuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50W1wib2Zmc2V0XCIrXG5jXTowfTtsOWI9WzYwMCwxMDI0LDgwMCwxMjAwXTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwiY2Rvc1wiKTtcbnZhciBjMGY9ZnVuY3Rpb24oYSxiKXtnb29nbGUubG9nKFwiY2RvYnNlbFwiLFwiJm49XCIrYStcIiZwPVwiK18ucWwoKS55K1wiJnNlPVwiKyRfZitcIiZtd2U9XCIrYTBmK1wiJmtzZT1cIitiMGYrXCImZWQ9XCIrYil9LGUwZj1mdW5jdGlvbigpe2QwZihcImJpd1wiLF8udHkoMSkpO2QwZihcImJpaFwiLF8udHkoMCkpfSxkMGY9ZnVuY3Rpb24oYSxiKXthPWRvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKGEpO2EubGVuZ3RoJiYoYVswXS52YWx1ZT1TdHJpbmcoYikpfSxoMGY9ZnVuY3Rpb24oYSl7YT1hfHx3aW5kb3cuZXZlbnQ7aWYoYT1fLk5sKGEudGFyZ2V0fHxhLnNyY0VsZW1lbnQsXCJBXCIpKXt2YXIgYj1hLmdldEF0dHJpYnV0ZShcImhyZWZcIik7aWYoYil7aWYoL15cXC8oc2VhcmNofGltYWdlcylcXD8vLnRlc3QoYikpe3ZhciBjPXtiaXc6U3RyaW5nKF8udHkoMSkpLGJpaDpTdHJpbmcoXy50eSgwKSl9O2YwZiE9PWcwZiYmKGMuZHByPVN0cmluZyhmMGYpKTtmb3IoZCBpbiBjKWI9Xy5tQ2EoYixkKTt2YXIgZD1cbl8uTW1hKGIsYyl9ZWxzZSBkPWI7Xy5BYyhhLGQpfX19LG4wZj1mdW5jdGlvbigpe2kwZiYmISRfZiYmKCRfZj0hMCxjMGYoXCJzZVwiLFwiXCIpKTtpZihqMGY+MCYmazBmIT1udWxsKWZvcig7azBmLmxlbmd0aD4wOyl7dmFyIGE9azBmWzBdLGI9YSpqMGY7aWYoXy5xbCgpLnk+PWIpazBmLnNoaWZ0KCksZ29vZ2xlLmxvZyhcImNkb3N0XCIsXCImZj1cIithK1wiJnA9XCIrYik7ZWxzZSBicmVha31pZihsMGYhPW51bGwpZm9yKDtsMGYubGVuZ3RoPjA7KWlmKGE9bDBmWzBdLF8ucWwoKS55Pj1hKWwwZi5zaGlmdCgpLGdvb2dsZS5sb2coXCJjZG9zcHRcIixcIiZwPVwiK2ErXCImYmg9XCIrajBmK1wiJmJ3PVwiK20wZik7ZWxzZSBicmVha30sbzBmPWZ1bmN0aW9uKGEpe2E9YXx8d2luZG93LmV2ZW50O2E9YS53aGVlbERlbHRhPDB8fGEuZGV0YWlsPjA7IWEmJl8ucWwoKS55PD0wfHwhaTBmfHxhMGZ8fChhMGY9ITAsYzBmKFwibXdlXCIsYT9cImRvd25cIjpcInVwXCIpKX0scDBmPWZ1bmN0aW9uKGEpe2E9YXx8d2luZG93LmV2ZW50O1xuaWYoIShhLnRhcmdldCYmYS50YXJnZXQgaW5zdGFuY2VvZiBFbGVtZW50JiZhLnRhcmdldC50YWdOYW1lLnRvTG93ZXJDYXNlKCk9PT1cImlucHV0XCIpKXt2YXIgYj1hLmtleUNvZGU9PT0zM3x8YS5rZXlDb2RlPT09MzZ8fGEua2V5Q29kZT09PTM4O2Eua2V5Q29kZSE9PTMyJiZhLmtleUNvZGUhPT0zNCYmYS5rZXlDb2RlIT09MzUmJmEua2V5Q29kZSE9PTQwJiYhYnx8YiYmXy5xbCgpLnk8PTB8fCFpMGZ8fGIwZnx8KGIwZj0hMCxjMGYoXCJrc2VcIixhLmtleUNvZGUudG9TdHJpbmcoKSkpfX0scTBmPWZ1bmN0aW9uKCl7Xy5YZCh3aW5kb3csXCJyZXNpemVcIixmdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKFwicVwiKTthLmxlbmd0aD4wJiZkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09YVswXXx8ZTBmKCl9KTtfLlhkKGRvY3VtZW50LFwiY2xpY2tcIixoMGYpO18uWGQoZG9jdW1lbnQsXCJ0b3VjaHN0YXJ0XCIsaDBmKTtnb29nbGUuaWFkZT0hMTtfLlhkKGRvY3VtZW50LFxuXCJzY3JvbGxcIixuMGYpO18uWGQoZG9jdW1lbnQsXCJtb3VzZXdoZWVsXCIsbzBmKTtfLlhkKGRvY3VtZW50LFwia2V5ZG93blwiLHAwZil9LGcwZj1udWxsLGYwZj1udWxsLGswZj1udWxsLGwwZj1udWxsLGowZj0wLG0wZj0wLGkwZj0hMSwkX2Y9ITEsYTBmPSExLGIwZj0hMSxyMGY9e307XG5fLlllKFwiY2Rvc1wiLChyMGYuaW5pdD1mdW5jdGlvbihhKXtxMGYoKTtlMGYoKTt2YXIgYj13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MTtmMGY9TWF0aC5yb3VuZChiKjEwMCkvMTAwO3ZhciBjPW5hdmlnYXRvci5tYXhUb3VjaFBvaW50c3x8MDtpZihnb29nbGUuc249PT1cIndlYlwifHxnb29nbGUuc249PT1cInByb2R1Y3RzZWFyY2hcInx8Z29vZ2xlLnNuPT09XCJ3ZWJocFwifHxnb29nbGUuc249PT1cImVudHNlYXJjaFwiKXt2YXIgZD1fLnR5KDEpLGU9Xy50eSgwKSxmPWEuZHByfHwxLGc9ZiE9PWIsaD0oYS5tdHB8fDApIT09YztnMGY9ZjtqMGY9ZTttMGY9ZDtrMGY9YS5jZG9zdDtsMGY9YS5jZG9zcHQ7bDBmIT1udWxsJiZnb29nbGUubG9nKFwiY2Rvc3B0XCIsXCImcD0wJmJoPVwiK2UrXCImYnc9XCIrZCk7ZCYmZSYmKGQhPT1hLmJpd3x8ZSE9PWEuYmlofHxnfHxoKSYmZ29vZ2xlLmxvZyhcIlwiLFwiXCIsXy5NaWEoXCIvY2xpZW50XzIwND9hdHlwPWkmYml3PVwiK2QrXCImYmloPVwiK2UrKGc/XCImZHByPVwiK1xuYjpcIlwiKSsoaD9cIiZtdHA9XCIrYzpcIlwiKStcIiZlaT1cIitnb29nbGUua0VJLG5ldyBNYXAsITEsITEpKX1pMGY9YS5jZG9ic2VsO2IwZj1hMGY9JF9mPSExfSxyMGYpKTtcbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJoc21cIik7XG5cbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJqc2FcIik7XG5cbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJJWlQ2M1wiKTtcbnZhciBLOWE9ZnVuY3Rpb24oKXt2YXIgYT1fLnlpYShcIm5ReUFFXCIsd2luZG93KSxiO2lmKChiPV8ueWlhKFwiVFNEdFZcIix3aW5kb3cpKSYmdHlwZW9mIGI9PT1cInN0cmluZ1wiKXt2YXIgYz1fLlJlKF8uekFhKGIsRzlhKSxIOWEsMSxfLlNlKCkpWzBdO2lmKGMpe2I9e307Yz1fLlJlKGMsSTlhLDIsXy5TZSgpKTtjPV8uUGEoYyk7Zm9yKHZhciBkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7ZD1kLnZhbHVlO3ZhciBlPV8uQShkLDcpO3N3aXRjaChfLlNoKGQsSjlhKSl7Y2FzZSAzOmJbZV09Xy54aShkLDMsSjlhKTticmVhaztjYXNlIDI6YltlXT1fLnN2YShkLDIsSjlhKTticmVhaztjYXNlIDQ6YltlXT1fLnR2YShkLDQsSjlhKTticmVhaztjYXNlIDU6YltlXT1fLkFpKGQsNSxKOWEpfX19ZWxzZSBiPXt9fWVsc2UgYj17fTtpZihiJiZPYmplY3Qua2V5cyhiKS5sZW5ndGg+MClmb3IoYz1fLlBhKE9iamVjdC5rZXlzKGIpKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSlkPVxuZC52YWx1ZSxkIGluIGF8fChhW2RdPWJbZF0pO3JldHVybiBhfSxJOWE9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChJOWEsXy5xKTt2YXIgSjlhPVsyLDMsNCw1LDZdO3ZhciBMOWE9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChMOWEsXy5xKTt2YXIgSDlhPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoSDlhLF8ucSk7SDlhLnByb3RvdHlwZS5nZXRJZGVudGlmaWVyPWZ1bmN0aW9uKCl7cmV0dXJuIF8udih0aGlzLEw5YSwxKX07SDlhLm9iPVsyXTt2YXIgTTlhPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoTTlhLF8ucSk7dmFyIEc5YT1fLldiKE05YSk7TTlhLm9iPVsxXTtfLk45YT1mdW5jdGlvbihhKXtfLkRuLmNhbGwodGhpcyxhLk5hKX07Xy5EKF8uTjlhLF8uRG4pO18uTjlhLldhPV8uRG4uV2E7Xy5OOWEuSWE9Xy5Ebi5JYTtfLk45YS5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe3ZhciBiPUs5YSgpW2FdO3JldHVybiBiIT09dm9pZCAwP25ldyBfLlFjKFwiblF5QUUuXCIrYSxiKTpudWxsfTtfLk45YS5wcm90b3R5cGUuZ2V0QWxsPWZ1bmN0aW9uKCl7cmV0dXJuKG5ldyBfLlFjKFwiblF5QUVcIixLOWEoKSkpLm9iamVjdCgpfTtfLkZuKF8ub3FhLF8uTjlhKTtcbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLk85YT1mdW5jdGlvbihhLGIsYyl7aWYoXy5BKGEsMSkuc3BsaXQoXCIvXCIpLnBvcCgpIT1jKWE9bnVsbDtlbHNle3ZhciBkPXR5cGVvZiBiPT09XCJmdW5jdGlvblwiP2I6Yi5jb25zdHJ1Y3RvcjthPWEuSGE7Yj0oMCxfLm5iKShhKTtjPV8ucGIoYSxiLDIpO2lmKGMhPW51bGwmJiEoQXJyYXkuaXNBcnJheShjKXx8dHlwZW9mIGM9PT1cIm9iamVjdFwiJiZfLkxiYShjKSkpdGhyb3cgRXJyb3IoXCJsYWBcIitfLmZjYShjKSk7dmFyIGU9Xy5LY2EoYyxkLCEwLGIpO2lmKCEoZSBpbnN0YW5jZW9mIGQpKXRocm93IEVycm9yKFwibWFgXCIrZS5jb25zdHJ1Y3Rvci5kaXNwbGF5TmFtZStcImBcIitkLmRpc3BsYXlOYW1lKTtkPWImMjt2YXIgZj1fLlZhKGUpO2YmJiFkP2U9ZS5lYmEoKTohZiYmZCYmKGU9ZS5FcygpKTtjIT09ZSYmXy5vYihhLGIsMixlKTthPWV9cmV0dXJuIGF9O18uUnE9bmV3IF8uUnAoXCJjb21wb25lbnRDb25uZWN0ZWRcIik7Xy5TcT1uZXcgXy5ScChcImNvbXBvbmVudERpc2Nvbm5lY3RlZFwiKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwiWU5qR0RkXCIpO1xuXG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIFE5YSxSOWEsUzlhLFU5YSxXOWEsWDlhLFk5YSxiJGEsVjlhLGMkYSxaOWEsZCRhLGUkYSwkOWEsZiRhO1E5YT1mdW5jdGlvbihhKXt2YXIgYj17fSxjO2ZvcihjIGluIGEpe3ZhciBkPWFbY10uT2khPW51bGw/YVtjXS5PaTpcImRhdGFcIjtkIGluIGJ8fChiW2RdPXt9KTtiW2RdW2NdPWFbY119YT17fTtmb3IodmFyIGUgaW4gYilhW2VdPWJbZV07cmV0dXJuIGF9O1I5YT1mdW5jdGlvbihhKXtyZXR1cm4gXy5hdWEoYSxmdW5jdGlvbihiLGMpe3JldHVybiBiW2Mub1ZhXT1jLGJ9LHt9KX07UzlhPWZ1bmN0aW9uKGEsYil7dmFyIGM7YT1fLlBhKCgoYz1hLm1ldGFkYXRhKT09bnVsbD92b2lkIDA6Yy5Bbyl8fFtdKTtmb3IoYz1hLm5leHQoKTshYy5kb25lO2M9YS5uZXh0KCkpaWYoYz1jLnZhbHVlLGMua2V5PT09Yil7Yy52YWx1ZS5ub3RpZnkoMCk7YnJlYWt9fTtcblU5YT1mdW5jdGlvbihhKXt2YXIgYj1hLk1hKCk7cmV0dXJuIGI/KF8uVDlhKGIsbnVsbCksYi5YeUhpOT1udWxsLGEuVGM9bnVsbCwhMCk6ITF9O1c5YT1mdW5jdGlvbigpe3ZhciBhPV8uUmMoXCJ3MmJ0QWVcIik7cmV0dXJuIGEmJmEuUGImJmEuUGIoKT9fLnpBYShhLnN0cmluZygpLFY5YSk6bmV3IF8uU3BhfTtYOWE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5aYihiLGZ1bmN0aW9uKGMpe2M9Xy5YZ2EoYyxmdW5jdGlvbihlLGYpe3JldHVybiBmLmluZGV4T2YoYStcInxcIik9PTB9KTt2YXIgZD17fTtfLlliKGMsZnVuY3Rpb24oZSxmKXtkW2Yuc3Vic3RyaW5nKGYuaW5kZXhPZihcInxcIikrMSldPWV9KTtyZXR1cm4gZH0pfTtZOWE9ZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC5rZXlzKGEpLnJlZHVjZShmdW5jdGlvbihiLGMpe3JldHVybiBifHwhIWFbY119LCExKX07XG5iJGE9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3ZhciBnPXtaMzpifSxoPW5ldyBfLmhmKHtGVnhMa2Y6Z30sYyx2b2lkIDAsZCk7cmV0dXJuIGZ1bmN0aW9uKCl7ZnVuY3Rpb24gayhsKXt2YXIgbj17fSxyPV8uWmIoWjlhKGIpLGZ1bmN0aW9uKHQsdSl7cmV0dXJuIHQudGhlbihmdW5jdGlvbih6KXtyZXR1cm4gei5sZW5ndGghPTF8fCQ5YSh6WzBdKT9fLnhmKHoubWFwKGZ1bmN0aW9uKEIpe3JldHVybiBfLmEkYShCKX0pKS50aGVuKGZ1bmN0aW9uKEIpe25bbC5nZXQodSldPUJ9KTpfLmEkYSh6WzBdKS50aGVuKGZ1bmN0aW9uKEIpe25bbC5nZXQodSldPUJ9KX0pfSk7cmV0dXJuIF8ueGYoXy5hYyhyKSkudGhlbihmdW5jdGlvbigpe3JldHVybiBufSl9Zy5uWWI9ZSBpbnN0YW5jZW9mIF8uamY/ZS50aGVuKGspOmsoZSk7cmV0dXJuIF8ueGYoW2YsZy5uWWJdKS50aGVuKGZ1bmN0aW9uKCl7dmFyIGw9YS5qRWEoKTtyZXR1cm4gXy5ub2EobCxoLGQpfSl9fTtcbl8uVDlhPWZ1bmN0aW9uKGEsYil7YS5fX2NvbXBvbmVudD1ifTtWOWE9Xy5XYihfLlNwYSk7YyRhPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCxrLGwpe3RoaXMuaWQ9YTt0aGlzLkxhPWI7dGhpcy5CYT1jO3RoaXMub1ZhPWQ7dGhpcy5oamE9ZTtlPT09bnVsbCYmYS5nZXROYW1lKCk7dGhpcy5PYT1mO3RoaXMub2E9Z3x8e307dGhpcy5BYT1oO3RoaXMuUmE9azt0aGlzLkNhPWw7dGhpcy5RYT1udWxsO3RoaXMuR2E9ITE7dGhpcy5oYj10aGlzLlVhPXRoaXMuVGM9bnVsbH07WjlhPWZ1bmN0aW9uKGEpe3JldHVybiBfLlpiKGEuQWEsZnVuY3Rpb24oYil7cmV0dXJuIGIgaW5zdGFuY2VvZiBjJGE/Xy5nZShbYl0pOmJ9KX07YyRhLnByb3RvdHlwZS5nZXRQYXJhbXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5MYX07XG5jJGEucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbihhLGIsYyxkLGUsZixnLGgsayxsKXt0aGlzLkxhPWJ8fHRoaXMuTGE7dGhpcy5vVmE9ZHx8dGhpcy5vVmE7dGhpcy5PYT1mfHx0aGlzLk9hO3RoaXMub2E9Z3x8dGhpcy5vYTt0aGlzLmhqYT1lfHx0aGlzLmhqYTt0aGlzLkFhPWh8fHRoaXMuQWE7dGhpcy5SYT1rfHx0aGlzLlJhO3RoaXMuQ2E9bHx8dGhpcy5DYTt0aGlzLkJhPWN8fHRoaXMuQmF9O2QkYT1mdW5jdGlvbihhLGIpe3JldHVybiBiKGEpP18ueGYoT2JqZWN0LnZhbHVlcyhaOWEoYSkpLm1hcChmdW5jdGlvbihjKXtyZXR1cm4gYy50aGVuKGZ1bmN0aW9uKGQpe3JldHVybiBfLnhmKGQubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBkJGEoZSxiKX0pKX0pfSkpOl8uZ2UoITApfTtfLmEkYT1mdW5jdGlvbihhKXthLlVhfHwoYS5VYT1hLmhiKCkpO3JldHVybiBhLlVhfTtcbmUkYT1mdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmO3JldHVybiBfLmJoKGZ1bmN0aW9uKGcpe2lmKGcub2E9PTEpcmV0dXJuIGcueWllbGQoYS5SYSwyKTtpZihnLm9hIT0zKXtiPWcuQWE7Yz1PYmplY3QudmFsdWVzKGIpO2Q9YS5pZC5nZXROYW1lKCk7aWYoIWMubGVuZ3RoKXRocm93IEVycm9yKFwiZGVgXCIrZCk7cmV0dXJuIGcueWllbGQoY1swXSwzKX1lPWcuQWE7aWYoIWUubGVuZ3RoKXRocm93IEVycm9yKFwiZWVgXCIrT2JqZWN0LmtleXMoYilbMF0pO2Y9ZVswXTtyZXR1cm4gZy5yZXR1cm4oZil9KX07YyRhLnByb3RvdHlwZS5NYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLlRjfTskOWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuQ2EmJmEuQ2EuaXp9O1xuZiRhPWZ1bmN0aW9uKGEpe2EuUWF8fChhLlFhPV8ueGYoXy5hYyhhLkFhKSkudGhlbihfLmNiYSkudGhlbihmdW5jdGlvbihiKXtyZXR1cm4gXy54ZihiLm1hcChmdW5jdGlvbihjKXtyZXR1cm4gYy5pZCYmYy5pZC5BRmE/ZSRhKGMpOmN9KSl9KS50aGVuKGZ1bmN0aW9uKGIpe3JldHVybiBSOWEoYil9KSk7cmV0dXJuIGEuUWF9O18uZyRhPWZ1bmN0aW9uKGEsYil7YS5pZC5BRmE/ZSRhKGEpLnRoZW4oZnVuY3Rpb24oZCl7Xy5UOWEoYixkKX0pOl8uVDlhKGIsYSk7YS5UYz1iO2Zvcih2YXIgYyBpbiBhLmhqYSlTOWEoYS5oamFbY10sXy5ScSl9O2MkYS5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbigpe2lmKCF0aGlzLkdhKXt0aGlzLkdhPSEwO2Zvcih2YXIgYSBpbiB0aGlzLmhqYSlTOWEodGhpcy5oamFbYV0sXy5TcSk7ZCRhKHRoaXMsVTlhKX19O2MkYS5wcm90b3R5cGUuaXNEaXNwb3NlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkdhfTtcbnZhciBpJGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLlJHYShhKTtpZihjKXJldHVybiBfLmdlKGMpO2lmKGM9YS5YeUhpOSlyZXR1cm4gYztjPV8ubmUoYSxmdW5jdGlvbihkKXtyZXR1cm4hIWQuYXR0cmlidXRlcyYmISFkLmF0dHJpYnV0ZXMuZ2V0TmFtZWRJdGVtKFwiYy13aXpcIil9KTtpZighY3x8YS5nZXRBdHRyaWJ1dGUoXCJkYXRhLW5vZGUtaW5kZXhcIik9PT1cIjA7MFwiKXJldHVybiBoJGEoYixhKTtiPWkkYShjLGIpO2lmKCFhLmhhc0F0dHJpYnV0ZShcImMtd2l6XCIpKXJldHVybiBiO2I9Yi50aGVuKGZ1bmN0aW9uKGQpe3JldHVybiBmJGEoZCkudGhlbihmdW5jdGlvbihlKXt2YXIgZj1hLmdldEF0dHJpYnV0ZShcImRhdGEtbm9kZS1pbmRleFwiKTtlPWVbZl07aWYoIWUpdGhyb3cgRXJyb3IoXCJmZWBcIitkLmlkK1wiYFwiK2EuZ2V0QXR0cmlidXRlKFwianNyZW5kZXJlclwiKStcImBcIitmKTtfLmckYShlLGEpO3JldHVybiBlfSl9KTtyZXR1cm4gYS5YeUhpOT1ifTt2YXIgaiRhPWZ1bmN0aW9uKGEsYixjKXt0aGlzLm9hPWE7dGhpcy5HYT1jfHx2b2lkIDA7dGhpcy5MYT1ifSxrJGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuR2F8fG5ldyAoYS5vYS5nZXRQYXJhbXMoKS5aYyl9O2okYS5wcm90b3R5cGUuclY9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5SYX07aiRhLnByb3RvdHlwZS5CYT1mdW5jdGlvbihhKXt0aGlzLkNhPWE7cmV0dXJuIHRoaXN9O18ubCRhPWZ1bmN0aW9uKGEsYil7YS5BYT1PYmplY3QuYXNzaWduKGEuQWF8fHt9LGIpO3JldHVybiBhfTtqJGEucHJvdG90eXBlLnhzYT1mdW5jdGlvbigpe3ZhciBhPXRoaXMuQWEmJnRoaXMuQWEuQW98fFtdO2EucHVzaCh7a2V5Ol8uU3AsdmFsdWU6ITB9KTtyZXR1cm4gXy5sJGEodGhpcyx7QW86YX0pfTtfLm0kYT1mdW5jdGlvbihhLGIsYyl7YS5PYT1iO2EuUWE9YztyZXR1cm4gYX07XG5qJGEucHJvdG90eXBlLmZldGNoPWZ1bmN0aW9uKCl7cmV0dXJuIF8uYSRhKF8ubiRhKHRoaXMuTGEsdGhpcy5MYSxbdGhpc10pWzBdKX07Xy5UcT17fTt2YXIgcSRhLHIkYSxwJGEscyRhLHQkYSx3JGEsdiRhLHokYSx4JGEseSRhLHUkYSxoJGE7Xy5VcT1mdW5jdGlvbihhKXtfLkRuLmNhbGwodGhpcyxhLk5hKTt0aGlzLkNhPWEuc2VydmljZS5JcmI7dGhpcy5PZz1udWxsO3RoaXMuQWE9MH07Xy5EKF8uVXEsXy5Ebik7Xy5VcS5XYT1fLkRuLldhO18uVXEuSWE9ZnVuY3Rpb24oKXtyZXR1cm57c2VydmljZTp7SXJiOl8uTjlhfX19O18uVXEucHJvdG90eXBlLnJWPWZ1bmN0aW9uKGEpe3JldHVybiBpJGEoYSx0aGlzKX07Xy5VcS5wcm90b3R5cGUub2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IGokYShhLHRoaXMsYil9O18uVXEucHJvdG90eXBlLmZldGNoPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5BYT0wO2E9Xy5sJGEodGhpcy5vYShhLGMpLkJhKGQpLGUpO2I9Xy5uJGEodGhpcyxiLFthXSlbMF07cmV0dXJuIF8uYSRhKGIpfTtcbl8ubiRhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1fLmNiYShfLnBoKGMsZnVuY3Rpb24oZSl7cmV0dXJuIF8ubyRhKGEsZS5vYSwhMCl9KSk7Xy52R2EoXy5KZC5nZXRJbnN0YW5jZSgpLGQpO2M9Yy5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIHAkYShhLGIsZSxcIjA7MFwiKX0pO2Q9W10uY29uY2F0LmFwcGx5KFtdLF8ubWQoYy5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGUudXJhfSkpKTtxJGEoYSxkLGIpO3JldHVybiBjLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS5aM30pfTtxJGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXIkYShhLGIpLGU9Xy55ZihjLGQpO18uSGEoYixmdW5jdGlvbihmKXtmLnN0YXJ0LmNhbGwodGhpcyxlKX0sYSl9O18uVXEucHJvdG90eXBlLkJhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMub2EoYSxiKX07XG5fLlVxLnByb3RvdHlwZS5SVWE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9Xy5vJGEodGhpcyxhKTtfLnZHYShfLkpkLmdldEluc3RhbmNlKCksZSk7Yz1wJGEodGhpcyxiLHRoaXMuQmEoYSxjKSxcIjA7MFwiKTthPWMuWjM7Yz1jLnVyYTtfLmckYShhLGQpO3ZhciBmPTA7Xy5IYShjLGZ1bmN0aW9uKGgpe18uWWIoaC5xWGEsZnVuY3Rpb24oKXtmKyt9LHRoaXMpfSx0aGlzKTtkPXIkYSh0aGlzLGMpO3ZhciBnPV8ueWYoYixkKTtfLkhhKGMsZnVuY3Rpb24oaCl7aC5zdGFydChnKX0pO3JldHVybiBhfTtyJGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz17fTtfLkhhKGIsZnVuY3Rpb24oZCl7Xy5ZYihkLnFYYSxmdW5jdGlvbihlLGYpe2NbZC5tNGMrXCJ8XCIrZl09ZX0sdGhpcyl9LGEpO3JldHVybiBROWEoYyl9O1xuXy5vJGE9ZnVuY3Rpb24oYSxiLGMpe2M9Yz09PXZvaWQgMD8hMTpjO3ZhciBkPVtdO2MmJmQucHVzaChiLmpFYSgpKTt2YXIgZT1iLml1YigpO2UmJmUubGVuZ3RoPjAmJmUuZm9yRWFjaChmdW5jdGlvbihmKXtyZXR1cm4gdm9pZCBkLnB1c2goZil9KTtiLkFGYXx8Xy5ZYihiLmdldENoaWxkcmVuKCksZnVuY3Rpb24oZil7Zi5yZWN1cnNpdmV8fF8uQ2EoZCxfLm8kYShhLGYuaWQsYykpfSk7cmV0dXJuIGR9O1xucCRhPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9Yy5vYSxnPVc5YSgpLGg9cyRhKGEsYyxnKSxrPWYuZ2V0TmFtZSgpK1wiOlwiK2EuQWErKztrPXQkYShhLGIsaCxjLk9hLGspO3ZhciBsPWsuVVpiO2s9KGs9ay5NWmIpP1trXTpbXTt2YXIgbj17fSxyPV8uZ2UoKSx0PV8uZ2UoKTtpZihmLkFGYSl7cj11JGEoZixsLGMuR2EpO3ZhciB1PXIudGhlbihmdW5jdGlvbihGKXtyZXR1cm4gdiRhKGEsYixjLGcsbCxGLkQwYyl9KTt0PXIudGhlbihmdW5jdGlvbihGKXtyZXR1cm4gRi5GMGN9KTtyPXUudGhlbihmdW5jdGlvbihGKXtPYmplY3QuYXNzaWduKG4sRi5tWWIpO0Y9T2JqZWN0LnZhbHVlcyhuKTtyZXR1cm4gRi5sZW5ndGg9PT0xP0ZbMF0udGhlbihmdW5jdGlvbihLKXtLWzBdLm9WYT1kO3JldHVybiBufSk6Xy5nZShuKX0pO3ZhciB6PXUudGhlbihmdW5jdGlvbihGKXtyZXR1cm4gRi5sWWJ9KTt1LnRoZW4oZnVuY3Rpb24oRil7Ri5qb2IubGVuZ3RoPjAmJnEkYShhLEYuam9iLGIpfSl9ZWxzZSB6PVxudiRhKGEsYixjLGcsbCksT2JqZWN0LmFzc2lnbihuLHoubVliKSxrLnB1c2guYXBwbHkoayxfLm1kKHouam9iKSksej16LmxZYjt2YXIgQj1rJGEoYyk7KHU9Yy5yVigpKT91LnVwZGF0ZSgwLEIsbCxkLGgsZyxjLkNhLG4scixlKTp1PW5ldyBjJGEoZixCLGwsZCxoLGcsYy5DYSxuLHIsZSk7ZT1iJGEoZix1LGIsYS54bigpLHosdCk7dS5oYj1lO3JldHVybntaMzp1LHVyYTprfX07cyRhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD17fSxlPWIub2EudWJkKCk7aWYoXy5jYyhlKSlyZXR1cm4gZDt2YXIgZj1iLlFhfHx7fSxnPWskYShiKSxoPWIuQWE7Xy5ZYihlLGZ1bmN0aW9uKGssbCl7aWYoIWZbbF0pe3ZhciBuPXZvaWQgMDt0eXBlb2Ygaz09PVwiZnVuY3Rpb25cIj9uPWsoZyxjLGgpOm49aztuIT09dm9pZCAwJiYoZFtsXT1uKX19LGEpO3JldHVybiBkfTtcbnQkYT1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPWQ/Xy5nZShkKGIpKTpfLmdlKHt9KTtpZihPYmplY3Qua2V5cyhjKS5sZW5ndGg9PTApcmV0dXJue1VaYjpmLE1aYjpudWxsfTt2YXIgZz17fTtyZXR1cm57VVpiOm5ldyBfLmpmKGZ1bmN0aW9uKGgpe2cucVhhPWM7Zy5tNGM9ZTtnLnN0YXJ0PWZ1bmN0aW9uKGspe2s9ay50aGVuKGZ1bmN0aW9uKGwpe3JldHVybiBYOWEoZSxsKX0pO2goXy54ZihbZixrXSkudGhlbihmdW5jdGlvbihsKXt2YXIgbj1sWzFdLHI9e30sdDtmb3IodCBpbiBuKWZvcih2YXIgdSBpbiBuW3RdKXJbdV09blt0XVt1XTtfLmloYShyLGxbMF0pO3JldHVybiByfSkpfX0sYSksTVpiOmd9fTt3JGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLlpOIT1udWxsP2IuWk46ITA7YT0hYi5rRGF8fF8ucmgoYi5rRGEsZnVuY3Rpb24oZCl7cmV0dXJuIHRoaXMuQ2EuZ2V0KGQpLmJvb2woKX0sYSk7cmV0dXJuIGMmJmF9O1xudiRhPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXt2YXIgZz1uZXcgTWFwLGg9e30saz1bXSxsPWMub2EuZ2V0Q2hpbGRyZW4oKSxuPTEscjtmb3IociBpbiBsKWlmKCFmfHxyPT09Zil7dmFyIHQ9bFtyXSx1PXQubmFtZTtnLnNldCh1LHIpO3ZhciB6PXQuRHAoayRhKGMpLGQsZSk7aWYodyRhKGEseikpe3Q9YTt2YXIgQj1uLEY9YixLPWMuQWE7Yy5vYS5nZXROYW1lKCk7ej16Lml6P3gkYSh0LEYseixCKTp6LnJlY3Vyc2l2ZT95JGEodCxGLHosQik6eiRhKHQsRix6LEIsSyk7dD16LlozO3o9ei51cmE7dCYmKGhbdV09dCxuKz0xLGsucHVzaC5hcHBseShrLF8ubWQoeikpKX19cmV0dXJue21ZYjpoLGpvYjprLGxZYjpnfX07eiRhPWZ1bmN0aW9uKGEsYixjLGQsZSl7ZT1fLm0kYShfLmwkYShhLm9hKGMuaWQsYy5CYyksZSksYy5DdixjLkFrKTthPXAkYShhLGIsZSxkK1wiOzBcIixjKTtyZXR1cm57WjM6Xy5nZShbYS5aM10pLHVyYTphLnVyYX19O1xueCRhPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybntaMzpjLkN2KGEpLnRoZW4oZnVuY3Rpb24oZSl7dmFyIGY9Xy5iYyhlKTtpZihlLm54YSl7dmFyIGc9ZS5ueGF8fFtdO3ZhciBoPV8uTGFhKGYsZnVuY3Rpb24oayl7cmV0dXJuIGVba109PWd9KX1lbHNlIGg9ZlswXSxnPWVbaF18fFtdO3JldHVybiBfLnBoKGcsZnVuY3Rpb24oayxsKXt2YXIgbj1fLlhnYShlLGZ1bmN0aW9uKHIpe3JldHVybiFBcnJheS5pc0FycmF5KHIpfSk7bltoXT1rO2s9Xy5tJGEodGhpcy5vYShjLmlkLGMuQmMpLGZ1bmN0aW9uKCl7cmV0dXJuIG59LGMuQWspO3JldHVybiBwJGEodGhpcyxiLGssZCtcIjtcIitsLGMpLlozfSx0aGlzKX0sdm9pZCAwLGEpLHVyYTpbXX19O3kkYT1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm57WjM6Yy5DdihhKS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBZOWEoZSk/eiRhKGEsYixjLGQpLlozOl8uZ2UoW10pfSksdXJhOltdfX07XG51JGE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBiLnRoZW4oZnVuY3Rpb24oZCl7dmFyIGU9YS5ycmMoZCxjKSxmPWUuSWU7KGQ9YS5pdWIoKSkmJmQubGVuZ3RoPjAmJmYuY29uY2F0KGQubWFwKGZ1bmN0aW9uKGcpe3JldHVybiBnLm9hfSkpO2Q9UHJvbWlzZS5yZXNvbHZlKCk7ZD1fLk5GYShfLnlHYShfLkpkLmdldEluc3RhbmNlKCkpLGYpO2U9T2JqZWN0LmtleXMoZS5OZSk7ZT1lLmxlbmd0aD09PTE/ZVswXTpcIm5vdCBleGlzdFwiO3JldHVybntGMGM6Xy54ZihPYmplY3QudmFsdWVzKGQpKSxEMGM6ZX19KX07XG5oJGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmdldEF0dHJpYnV0ZShcImpzcmVuZGVyZXJcIiksZD1fLmVmKGMpO3JldHVybiBfLmZvYShfLkpkLmdldEluc3RhbmNlKCksZCkudGhlbihmdW5jdGlvbigpe3ZhciBlPV8uUkdhKGIpO2lmKGUpcmV0dXJuIGU7dmFyIGY9Xy5UcVtjXTtlPWIuZ2V0QXR0cmlidXRlKFwiZGF0YS1wXCIpP18uekFhKGIuZ2V0QXR0cmlidXRlKFwiZGF0YS1wXCIpLGZ1bmN0aW9uKGgpe3JldHVybiBfLlZiKGYuZ2V0UGFyYW1zKCkuWmMsaCl9KTpudWxsO3ZhciBnPW5ldyBfLiRyYShfLlBwLGIsXy54ZShfLmtnKGIpKSxfLlVxKTtlPV8ubiRhKHRoaXMsZyxbdGhpcy5vYShmLGUpXSlbMF07Xy5nJGEoZSxiKTtyZXR1cm4gZX0sdm9pZCAwLGEpfTtfLkZuKF8uUHAsXy5VcSk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcIlByUFlSZFwiKTtcbl8uVnE9ZnVuY3Rpb24oYSxiKXtpZighYilyZXR1cm4gYTt2YXIgYz1fLlpiKGIsZnVuY3Rpb24oZCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGR9fSk7cmV0dXJuIF8ubSRhKGEsZnVuY3Rpb24oKXtyZXR1cm4gXy5nZShiKX0sYyl9O1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ucG1iPWZ1bmN0aW9uKGEsYil7Xy5EZShhLDIsYil9O18ucW1iPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5xbWIsXy5xKTtfLnFtYi5wcm90b3R5cGUuUnc9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcywzLGEpfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5ybWI9Xy5HZChcIm1kUjdxXCIsW18uaW8sXy5OU2EsXy51VmFdKTtfLnNtYj1fLkdkKFwia2pLZFhlXCIsW18uZmcsXy5pbyxfLnJtYixfLk5TYV0pO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgd21iLHhtYix5bWIsem1iLEltYixKbWIsT21iLFFtYixSbWIsU21iLFBtYjtfLnRtYj1mdW5jdGlvbihhKXtyZXR1cm4gYT9hIGluc3RhbmNlb2YgXy5Xbz9bYV06YTpbXX07Xy51bWI9ZnVuY3Rpb24oYSxiKXthLkNhLnB1c2goYil9O18udm1iPWZ1bmN0aW9uKGEsYil7dGhpcy5YX2E9YTt0aGlzLmVNYT1ifTt3bWI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5jaihhLDEsYil9O3htYj1mdW5jdGlvbihhLGIpe18uYWooYSw2LGIpfTt5bWI9ZnVuY3Rpb24oYSxiKXtfLmFqKGEsMTgsYil9O3ptYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKHptYixfLnEpO3ptYi5vYj1bMSwyLDNdO3ZhciBBbWI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChBbWIsXy5xKTt2YXIgQm1iPWZ1bmN0aW9uKGEsYil7Xy5aaChhLDIsQW1iLGIpfSxDbWI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChDbWIsXy5xKTtcbnZhciBEbWI9ZnVuY3Rpb24oYSl7Xy5XTGEuY2FsbCh0aGlzLGEpO3RoaXMuUWE9dGhpcy5PYT10aGlzLlJhPW51bGx9O18uRChEbWIsXy5XTGEpO3ZhciBFbWI9ZnVuY3Rpb24oYSxiKXtfLnVtYihhLGZ1bmN0aW9uKGMpe2MgaW5zdGFuY2VvZiBDbWImJiFfLkdlKGMsMykmJl8uRGUoYywzLGIpfSl9O0RtYi5wcm90b3R5cGUuamo9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5PYX07dmFyIEZtYj1mdW5jdGlvbihhLGIpe3RoaXMub2E9YTt0aGlzLnJiPWJ9LEdtYj1mdW5jdGlvbigpe307R21iLnByb3RvdHlwZS5HWmI9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBEbWIoYSl9O1xuR21iLnByb3RvdHlwZS5wbWI9ZnVuY3Rpb24oYSxiLGMpe2I9Yi50cmltKCk7Yz1jLnRyaW0oKTtzd2l0Y2goYil7Y2FzZSBcInZpc2liaWxpdHlcIjphLlJhPWM7YnJlYWs7Y2FzZSBcImZlYXR1cmVfdHJlZV9yZWZcIjpiPW5ldyBfLnlvKEpTT04ucGFyc2UoYykpO18uYXFhKGIpO2EuT2E9YjticmVhaztjYXNlIFwidmVkXCI6RW1iKGEsYyk7YnJlYWs7Y2FzZSBcInZlX2Zvcl9leHRlbnNpb25zXCI6Yj1uZXcgXy5EbyhKU09OLnBhcnNlKGMpKSxhLlFhPWJ9fTtHbWIucHJvdG90eXBlLmVjYT1mdW5jdGlvbigpe307Xy5IbWI9ZnVuY3Rpb24oKXt9O18uSG1iLnByb3RvdHlwZS5Ha2M9ZnVuY3Rpb24oKXt9O0ltYj17aXNjaDoyNH07Sm1iPXsyOjMzMn07Xy5LbWI9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuTWUhPXZvaWQgMCYmKGEuTWUgaW5zdGFuY2VvZiBfLldvfHwhIWEuTWUubGVuZ3RoKX07XG5fLkxtYj1mdW5jdGlvbihhKXtpZihhLnh6YSYmYS54emEuYnVpbGQoKS5sZW5ndGg+MHx8YS5TZSlhPSEwO2Vsc2V7dmFyIGI7aWYoYj1fLkttYihhKSlhPV8udG1iKGEuTWUpLGI9IShhLmxlbmd0aD09MSYmYVswXS5ZRz09Myk7YT1ifXJldHVybiBhfTtfLk1tYj1mdW5jdGlvbihhLGIpe3RoaXMuR2E9bnVsbDt0aGlzLkxhPWE9PT12b2lkIDA/NTphO3RoaXMuQWE9bnVsbDt0aGlzLk9hPWI9PT12b2lkIDA/ITE6Yn07Xy5EKF8uTW1iLF8uSG1iKTtcbl8uTW1iLnByb3RvdHlwZS5vYT1mdW5jdGlvbihhLGIpe3ZhciBjPV8uTm1iO2E6e3ZhciBkPWIuRWhhO2lmKGQmJmQgaW5zdGFuY2VvZiBDbWIpe3ZhciBlPV8uR2UoZCwzKTtpZihlKXthPW5ldyBfLkxmKGUsYS5vYSgpKTticmVhayBhfWU9Xy5laShkLDIpO2Q9Xy5laShkLDEpO2lmKGUhPW51bGwmJmQhPW51bGwpe2E9bmV3IF8uTGYobmV3IEZtYihuZXcgXy52bWIoZCxlKSxhLkFhKCkpLGEub2EoKSk7YnJlYWsgYX19YT12b2lkIDB9cmV0dXJuKGM9Yyh0aGlzLHtTZTphfSkpPyhiLm9hJiZfLmhOYShjLGIub2EpLGMpOm5ldyBfLlhvfTtPbWI9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IF8uWWM7YT1hLkFhfHwoYS5BYT1fLkNBYShfLlJjKFwiWWxsaDNlXCIpLF8uWmMpKTtfLk1iKGIsXy5aYywxLGEpO3JldHVybiBifTtcbl8uTm1iPWZ1bmN0aW9uKGEsYixjLGQpe2lmKCFfLkxtYihiKSlyZXR1cm4gbnVsbDt2YXIgZT1iLnh6YSxmPWIuU2UsZz1iLk1lLGg9Yi5NY2E7ZSYmIWUuYnVpbGQoKS5sZW5ndGgmJihlPXZvaWQgMCk7Zz09dm9pZCAwP2c9W106ZyBpbnN0YW5jZW9mIF8uV28mJihnPVtnXSk7dmFyIGs9bmV3IF8uWG87aD1ofHxuZXcgXy5Tbzt2YXIgbD1uZXcgXy5ZbztfLmtOYShsLE9tYihhKSk7Yj1iLmZJYXx8bnVsbDtpZihlKWwuUncoXy5kcWEoZS5CYSkpO2Vsc2V7dmFyIG49Xy5wTWErKztsLlJ3KF8uZHFhKG4pKTtmJiYoYS5HYT1uKX1lJiYoZT1lLmJ1aWxkKCksXy5ZaChsLDIsZSksYz9nLmxlbmd0aHx8KGc9W25ldyBfLldvKG5ldyBfLnZtYigwKSwzKV0pOmEuR2EmJiFnLmxlbmd0aCYmXy5rTmEobCxfLmRxYShhLkdhKSksZnx8KGcubGVuZ3RoP18uZU5hKGssNSk6Xy5lTmEoayxhLkxhKSkpO2YmJihjPWYuWV9hLGMgaW5zdGFuY2VvZiBGbWI/KF8uTk1hKGgsYy5yYiksXy5PTWEoaCxcbmMub2EuWF9hKSwoYz1jLm9hLmVNYSkmJl8ua05hKGwsXy5kcWEoYykpKTp0eXBlb2YgYz09PVwic3RyaW5nXCImJihiPWJ8fG5ldyBfLllNYSxlPV8udihiLF8ucW1iLDIpfHxuZXcgXy5xbWIsXy5EZShlLDEsYyksXy5NTWEoaCxjKSxfLk1iKGIsXy5xbWIsMixlKSxfLlZmKGwsMykpLGM9Zi5acCxjIT09dm9pZCAwJiZfLk9pKGgsNixjKSxmPWYudXNlckFjdGlvbixmIT09dm9pZCAwJiZfLk9pKGgsMyxmKSk7aWYoZy5sZW5ndGgpaWYoYS5PYSlnPWcucmVkdWNlKGZ1bmN0aW9uKHIsdCl7cmV0dXJuIHIuY29uY2F0KFBtYihhLHQsXy5SZShsLF8uQm8sMixfLlNlKCkpKSl9LFtdKSxnLmxlbmd0aCYmKGY9bmV3IF8uak5hLF8uWWgoZiwxLGcpLF8uTWIobCxfLmpOYSw3LGYpKTtlbHNle2Y9W107Zz1fLlBhKGcpO2ZvcihjPWcubmV4dCgpOyFjLmRvbmU7Yz1nLm5leHQoKSljPWMudmFsdWUsZT1jLllfYSx0eXBlb2YgZT09PVwic3RyaW5nXCI/Zi5wdXNoKGMpOmUgaW5zdGFuY2VvZiBfLnZtYiYmXG4oXy5jaihsLDUsYy5ZRyksXy5PTWEoaCxlLlhfYSksKGM9ZS5lTWEpJiZfLmtOYShsLF8uZHFhKGMpKSk7Zi5sZW5ndGgmJihiPWJ8fG5ldyBfLllNYSxnPV8udihiLF8ucW1iLDIpfHxuZXcgXy5xbWIsXy5wbWIoZyxfLm1OYShmKSksXy5NYihiLF8ucW1iLDIsZykpfWI9UW1iKGIpO18ubE5hKGwsaCk7ZD8oeW1iKGssbC5vYSgpKSxiJiZ4bWIoayxiLm9hKCkpKTooXy5nTmEoayxsLldjKCkpLGImJl8uZk5hKGssYi5XYygpKSk7cmV0dXJuIGt9O18uTW1iLnByb3RvdHlwZS5DYT1mdW5jdGlvbigpe3JldHVybiBuZXcgR21ifTtfLk1tYi5wcm90b3R5cGUuQmE9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IENtYn07Xy5NbWIucHJvdG90eXBlLkdrYz1mdW5jdGlvbihhLGIpe3ZhciBjPWEuTWEoKVtfLlhMYV07YyYmKF8uT2koYiwxLGMuWF9hKSxfLk9pKGIsMixjLmVNYSkpOyhhPV8uV2MoYS5NYSgpLFwidmVkXCIpKSYmXy5EZShiLDMsYSl9O1xuUW1iPWZ1bmN0aW9uKGEpe3ZhciBiPW51bGwsYz1fLkttKHdpbmRvdy5sb2NhdGlvbi5ocmVmLFwidGJtXCIpLGQ9Xy5LbSh3aW5kb3cubG9jYXRpb24uaHJlZixcInVkbVwiKTtjJiYoYj1JbWJbY10pOyFiJiZkJiYoYj1KbWJbZF0pO2ImJihhfHwoYT1uZXcgXy5ZTWEpLGM9Xy52KGEsem1iLDUpfHxuZXcgem1iLF8uTWIoYSx6bWIsNSxjKSxfLlJlKGMsQW1iLDIsXy5TZSgpKS5maW5kKGZ1bmN0aW9uKGUpe3JldHVybiBfLm5pKGUsMSwwKT09PWJ9KXx8Qm1iKGMsd21iKG5ldyBBbWIsYikpKTtyZXR1cm4gYX07XG5SbWI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1uZXcgXy5BbztpZih0eXBlb2YgYj09PVwic3RyaW5nXCIpe3ZhciBkPV8uVmMoYik7aWYoIWQpcmV0dXJuIG51bGw7Xy5WZihkLDIpO18uWGgoYywyLF8uZE1hLGQpfWVsc2UgaWYoYiBpbnN0YW5jZW9mIF8udm1iKXtkPW5ldyBfLkFvO3ZhciBlPW5ldyBfLkFtO18uT2koZSwxLGIuWF9hKTtiLmVNYSE9PXZvaWQgMD8oYT1fLmRxYShiLmVNYSksXy5YaChkLDMsXy5jTWEsYSkpOihhPWEuQWF8fChhLkFhPV8uQ0FhKF8uUmMoXCJZbGxoM2VcIiksXy5aYykpLF8uWGgoZCwxLF8uY01hLGEpKTtfLlhoKGQsMixfLmRNYSxlKX1yZXR1cm4gY307XG5TbWI9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPW5ldyBTZXQsYz0wO2M8YS5sZW5ndGg7YysrKWIuYWRkKGMpO2E9Xy5QYShhKTtmb3IoYz1hLm5leHQoKTshYy5kb25lO2M9YS5uZXh0KCkpXy5zaShjLnZhbHVlLDQsXy5TZSgpKS5mb3JFYWNoKGZ1bmN0aW9uKGQpe2IuZGVsZXRlKGQpfSk7cmV0dXJuW10uY29uY2F0KF8ubWQoYi52YWx1ZXMoKSkpLm1hcChmdW5jdGlvbihkKXt2YXIgZT1uZXcgXy5BbyxmPW5ldyBfLkFtO18uT2koZiwxLGQpO18uWGgoZSwyLF8uZE1hLGYpO3JldHVybiBlfSl9O1BtYj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Um1iKGEsYi5ZX2EpO2lmKCFkKXJldHVybltdO2lmKGIuWUc9PT0zKXt2YXIgZT1TbWIoYyk7cmV0dXJuIGUubWFwKGZ1bmN0aW9uKGYpe3ZhciBnPW5ldyBfLkhNYTtnLkVjKGIuWUcpO2cuUkEoZCk7ZS5sZW5ndGg+MSYmXy5NYihnLF8uQW8sMyxmKTtyZXR1cm4gZ30pfWE9bmV3IF8uSE1hO2EuRWMoYi5ZRyk7YS5SQShkKTtyZXR1cm5bYV19O1xuXy5UbWI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLlRtYixfLnEpO18ucmthKF8uTlNhLGZ1bmN0aW9uKGEpe3ZhciBiPV8uUmMoXCJ6Q2hKb2RcIik7Yj1iLlBiKCk/Xy5DQWEoYixfLlRtYik6dm9pZCAwO2EuQmE9ISFiJiYhIV8uRShiLDEpO2ImJl8uVmUoYiwyKT9hLkFhPV8uQShiLDIpfHxcIlwiOmEuQWE9XCJodHRwczovL3d3dy5nb29nbGUuY29tL2xvZz9mb3JtYXQ9anNvbiZoYXNmYXN0PXRydWVcIjthLk4kPTcwNDthLlFhPW5ldyBfLk1tYjthLkNhPSEwO2EueUg9Xy5kbShfLlJjKFwiUXJ0eEtcIiksXCIwXCIpfSk7Xy5ya2EoXy5zbWIsZnVuY3Rpb24oYSl7cmV0dXJuIGEuaW5pdCgpfSk7Xy5VbWI9ZnVuY3Rpb24oYSl7Xy5Ebi5jYWxsKHRoaXMsYS5OYSk7dGhpcy5vYT10aGlzLk4kPW51bGw7dGhpcy5MYT10aGlzLk9hPXRoaXMuR2E9dGhpcy5SYT10aGlzLlVhPXRoaXMuQ2E9dGhpcy5CYT0hMX07Xy5EKF8uVW1iLF8uRG4pO18uVW1iLldhPV8uRG4uV2E7Xy5VbWIuSWE9Xy5Ebi5JYTtfLkZuKF8uTlNhLF8uVW1iKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwibUkzTEZiXCIpO1xuXG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIFptYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKFptYixfLnEpO18uJG1iPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBabWI7cmV0dXJuIF8uc2IoYiwzLGEsXy5jYil9O1ptYi5vYj1bMSwyLDMsNF07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uYW5iPWZ1bmN0aW9uKCl7fTtfLmFuYi5wcm90b3R5cGUuR1piPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5XTGEoYSl9O18uYW5iLnByb3RvdHlwZS5wbWI9ZnVuY3Rpb24oKXt9O18uYW5iLnByb3RvdHlwZS5lY2E9ZnVuY3Rpb24oKXt9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgYm5iO18uUHQ9ZnVuY3Rpb24oYSxiLGMpe2lmKGEpe3ZhciBkPWFbXy5YTGFdO2lmKGQgaW5zdGFuY2VvZiBfLnZtYilyZXR1cm4gbmV3IF8uV28oZCxiLGMpO2lmKGE9Xy5XYyhhLFwidmVkXCIpKXJldHVybiBuZXcgXy5XbyhhLGIsYyl9fTtibmI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChibmIsXy5xKTt2YXIgY25iPWZ1bmN0aW9uKCl7fTtjbmIucHJvdG90eXBlLm9hPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uaE5hKF8uZk5hKG5ldyBfLlhvLGEuV2MoKSksYi5vYSl9O2NuYi5wcm90b3R5cGUuQ2E9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IF8uYW5ifTtjbmIucHJvdG90eXBlLkJhPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBibmJ9O3ZhciBkbmI9ZnVuY3Rpb24oYSxiLGMsZCl7YT1uZXcgXy5Lc2EoYSxifHxcIjBcIik7YyYmXy5HWWEoYSxjKTtkIT09dm9pZCAwJiYoYS5CYT1NYXRoLm1heChkLDFFMykpO3RoaXMub2E9YS5idWlsZCgpO2M9Xy56aWEoKTtjIT1udWxsJiYodGhpcy5vYS5HNj1jKTtjPV8uUmMoXCJjZmIyaFwiKTtjLlBiKCkmJihjPWMudG9TdHJpbmcoKSxkPV8uQllhKHRoaXMub2Eub2EpLF8uRGUoZCw3LGMpKX07Xy5tPWRuYi5wcm90b3R5cGU7Xy5tLmdldEluc3RhbmNlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub2F9O18ubS5kaXNwYXRjaD1mdW5jdGlvbihhKXt0aGlzLm9hLmRpc3BhdGNoKGEpfTtfLm0uZmx1c2g9ZnVuY3Rpb24oYSxiKXt0aGlzLm9hLmZsdXNoKGEsYil9O18ubS5MaGI9ZnVuY3Rpb24oYSl7dGhpcy5vYS5oYj1hfTtfLm0uTWhiPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMub2E7Yi5rYj1hJiZiLk9hfTtfLm0uSEdiPWZ1bmN0aW9uKGEpe3RoaXMub2EuUmE9YX07Xy5mZihfLnVWYSk7Xy5lbmI9ZnVuY3Rpb24oYSl7Xy5Ebi5jYWxsKHRoaXMsYS5OYSk7YT1hLnNlcnZpY2UuY29uZmlndXJhdGlvbjt2YXIgYj1hLk4kfHwtMTt0aGlzLm9hPWEudHJhbnNwb3J0fHxuZXcgZG5iKGIsYS55SHx8XCIwXCIsYS5BYSxhLmtiKTt0aGlzLm9hLkhHYihhLkJhKTt0aGlzLm9hLk1oYighMSk7dGhpcy5vYS5MaGIoITEpO3RoaXMuQWE9YS5RYXx8bmV3IGNuYn07Xy5EKF8uZW5iLF8uRG4pO18uZW5iLldhPV8uRG4uV2E7Xy5lbmIuSWE9ZnVuY3Rpb24oKXtyZXR1cm57c2VydmljZTp7Y29uZmlndXJhdGlvbjpfLlVtYn19fTtfLkZuKF8uT1NhLF8uZW5iKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwibGF6RzdiXCIpO1xuXG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIG5vYixvb2I7bm9iPWZ1bmN0aW9uKGEpe3RoaXMuQ2E9YX07Xy5TdD1mdW5jdGlvbihhLGIpe2EuU2U9YjtyZXR1cm4gYX07bm9iLnByb3RvdHlwZS5vYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLlN0KHRoaXMsXy5NZihhLGIpKX07bm9iLnByb3RvdHlwZS5BYT1mdW5jdGlvbihhLGIpe2lmKGE9Xy5QdChhLGIpKWI9Xy50bWIodGhpcy5NZSksYi5wdXNoKGEpLHRoaXMuTWU9YjtyZXR1cm4gdGhpc307bm9iLnByb3RvdHlwZS5CYT1mdW5jdGlvbihhKXt0aGlzLk1jYT1hO3JldHVybiB0aGlzfTtub2IucHJvdG90eXBlLmxvZz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5DYSh0aGlzLGEpfTtfLlR0PWZ1bmN0aW9uKGEpe18uRG4uY2FsbCh0aGlzLGEuTmEpO2E9YS5zZXJ2aWNlLnRyYW5zcG9ydDt0aGlzLkxhPWEub2E7dGhpcy5DYT1hLkFhO3RoaXMuR2E9ITF9O18uRChfLlR0LF8uRG4pO18uVHQuV2E9Xy5Ebi5XYTtfLlR0LklhPWZ1bmN0aW9uKCl7cmV0dXJue3NlcnZpY2U6e3RyYW5zcG9ydDpfLmVuYn19fTtcbl8uVHQucHJvdG90eXBlLk9hPWZ1bmN0aW9uKCl7dGhpcy5HYT0hMH07Xy5UdC5wcm90b3R5cGUuQWE9ZnVuY3Rpb24oYSxiKXtvb2IodGhpcyxhLDEsYil9O18uVHQucHJvdG90eXBlLkJhPWZ1bmN0aW9uKGEsYil7b29iKHRoaXMsYSwyLGIpfTtvb2I9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYiBpbnN0YW5jZW9mIEVsZW1lbnR8fF8ubWUoYikpYj1bYl07dmFyIGU9W107Xy5IYShiLGZ1bmN0aW9uKGYpeyhmPV8uUHQoZixjKSkmJmUucHVzaChmKX0pO18uVXQoYSx7TWU6ZSxTZTpkfSl9O18uVXQ9ZnVuY3Rpb24oYSxiLGMpe2M9Yz09PXZvaWQgMD8hMTpjO3ZhciBkPWEuQ2EgaW5zdGFuY2VvZiBfLk1tYj9fLk5tYihhLkNhLGIsdm9pZCAwLCExKTpudWxsO3JldHVybiBkPyhhLkxhLmRpc3BhdGNoKGQpLChjfHxhLkdhJiZiLlNlKSYmYS5MYS5mbHVzaCgpLCEwKTohMX07XG5fLlR0LnByb3RvdHlwZS5vYT1mdW5jdGlvbigpe3ZhciBhPXRoaXM7cmV0dXJuIG5ldyBub2IoZnVuY3Rpb24oYixjKXtyZXR1cm4gXy5VdChhLGIsYyl9KX07Xy5GbihfLm1xLF8uVHQpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5cbl8ucmthKF8ubXEsZnVuY3Rpb24oYSl7YS5PYSgpfSk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcIldxNmx4ZlwiKTtcbl8ucG9iPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuQWEoYiwxKX07Xy5xb2I9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5BYShiLDIpfTtfLnJvYj1mdW5jdGlvbihhLGIpe3ZhciBjPXt9O2Muc3JjPWF8fG51bGw7Yy5zcmNkb2M9dm9pZCAwO2E9e3NhbmRib3g6XCJcIn07dmFyIGQ9e307Zm9yKGcgaW4gYylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYyxnKSYmKGRbZ109Y1tnXSk7Zm9yKHZhciBlIGluIGEpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsZSkmJihkW2VdPWFbZV0pO2lmKGIpZm9yKHZhciBmIGluIGIpaWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsZikpe3ZhciBnPWYudG9Mb3dlckNhc2UoKTtpZihnIGluIGMpdGhyb3cgRXJyb3IoXCJ0YVwiKTtnIGluIGEmJmRlbGV0ZSBkW2ddO2RbZl09YltmXX1yZXR1cm4gXy5WeGEoXCJpZnJhbWVcIixkKX07XG5cbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgSG9iPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5vYT1hO3RoaXMuU2U9Yjt0aGlzLk1lPWM7dGhpcy5NY2E9ZDt0aGlzLmZJYT1lfSxJb2I9ZnVuY3Rpb24oYSxiKXt0aGlzLm91dHB1dD1hO3RoaXMub2E9Yn07dmFyIEpvYjtfLld0PWZ1bmN0aW9uKGEpe18uRG4uY2FsbCh0aGlzLGEuTmEpO3ZhciBiPXRoaXM7dGhpcy5PYT1hLnNlcnZpY2Uua2M7dGhpcy5MYT1hLlhiLnNveTt0aGlzLm9hPSExO3RoaXMuR2E9dGhpcy5BYT10aGlzLkNhPXRoaXMuQmE9dGhpcy5RYT12b2lkIDA7dGhpcy5SYT10aGlzLkxhLkVyKCkubGlzdGVuKF8udkxhLGZ1bmN0aW9uKCl7aWYoIWIub2Epe3ZhciBjPV8uTk5hKF8uSGYoXy5QcGEpKSxkPWIuQ2EsZT1iLkJhLGY9Yi5BYSxnPWIuR2E7Yi5DYT12b2lkIDA7Yi5CYT12b2lkIDA7Yi5BYT12b2lkIDA7Yi5HYT12b2lkIDA7Sm9iKGIse3h6YTpjLFNlOmQsTWU6ZSxNY2E6ZixmSWE6Z30pfX0sITEpfTtfLkQoXy5XdCxfLkRuKTtfLld0LldhPV8uRG4uV2E7Xy5XdC5JYT1mdW5jdGlvbigpe3JldHVybntYYjp7c295Ol8uZXB9LHNlcnZpY2U6e2tjOl8uVHR9fX07XG5fLld0LnByb3RvdHlwZS51Yz1mdW5jdGlvbigpe18uRG4ucHJvdG90eXBlLnVjLmNhbGwodGhpcyk7dGhpcy5MYS5FcigpLktvKHRoaXMuUmEpfTtfLld0LnByb3RvdHlwZS5qZj1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD97fTpiO2I9Yj09PXZvaWQgMD97fTpiO2I9Xy5Lb2IoYik7YT1fLkxvYih0aGlzLGEsYik7Xy5Nb2IodGhpcyxhLm9hKTtyZXR1cm4gYS5vdXRwdXR9O18uS29iPWZ1bmN0aW9uKGEpe3ZhciBiPWE9PT12b2lkIDA/e306YTthPWIuU2U7dmFyIGM9Yi5NZTt2YXIgZD1iLk1jYTtiPWIuZklhO3JldHVybiBuZXcgSG9iKG5ldyBfLkNNYSxhLGMsZCxiKX07Xy5Mb2I9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPV8uTk5hKF8uSGYoXy5QcGEpLGMub2EpO2Eub2E9ITA7dHJ5e3ZhciBlPWIoKTtyZXR1cm4gbmV3IElvYihlLGMpfWZpbmFsbHl7YS5vYT0hMSxfLk5OYShfLkhmKF8uUHBhKSxkKX19O1xuXy5Nb2I9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gSm9iKGEse3h6YTpiLm9hLFNlOmIuU2UsTWU6Yi5NZSxNY2E6Yi5NY2EsZklhOmIuZklhfSl9O0pvYj1mdW5jdGlvbihhLGIpe2lmKCFfLkxtYihiKSlyZXR1cm4hMTtiLnh6YSYmYi54emEuYnVpbGQoKS5sZW5ndGg+MCYmIV8uS21iKGIpJiYoYi5NZT1hLlFhKTtyZXR1cm4gXy5VdChhLk9hLGIsITApfTtfLkZuKF8ubnEsXy5XdCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcIlJyNU5PZVwiKTtcbl8uTm9iPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5QdChfLmVxYShhKSxiLGMpfTtfLk9vYj1mdW5jdGlvbihhLGIsYyl7YS5DYT1iO2EuQmE9YzthLkFhPXZvaWQgMDthLkdhPXZvaWQgMH07Xy5Qb2I9ZnVuY3Rpb24oYSxiLGMpe2M9Yz09PXZvaWQgMD97fTpjO2M9Yz09PXZvaWQgMD97fTpjO2M9Xy5Lb2IoYyk7Yj1fLkxvYihhLGIsYyk7Xy5Nb2IoYSxiLm9hKTtyZXR1cm4gYi5vdXRwdXR9O1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uT3U9bmV3IF8uSWQoXy5ocSk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uZG9iPW5ldyBfLklkKF8uZnEpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLmNvYj1mdW5jdGlvbihhKXtfLkRuLmNhbGwodGhpcyxhLk5hKTt2YXIgYj10aGlzO3RoaXMuZ049YS5zZXJ2aWNlLmdOO3RoaXMuaUE9bmV3IF8uTms7dGhpcy5vYT1uZXcgTWFwO3RoaXMuZ04uYWRkTGlzdGVuZXIoZnVuY3Rpb24oYyxkLGUpe2M9ZS51c2VySW5pdGlhdGVkO2lmKGU9ZS5xTyl7ZT1fLlBhKGUpO3ZhciBmPWUubmV4dCgpO2ZvcihkPXt9OyFmLmRvbmU7ZD17dGZjOnZvaWQgMCxJaGM6dm9pZCAwfSxmPWUubmV4dCgpKXtmPWYudmFsdWU7dmFyIGc9Zi5pZDtkLkloYz1mLnNhYTtiLm9hLmhhcyhnKSYmKGQudGZjPWIub2EuZ2V0KGcpLF8uUWwoZnVuY3Rpb24oaCl7cmV0dXJuIGZ1bmN0aW9uKCl7KDAsaC50ZmMpKGguSWhjKX19KGQpKSxiLm9hLmRlbGV0ZShnKSl9fWMmJmIuaUEuZGlzcGF0Y2hFdmVudChcIkZXa2NlY1wiKX0pfTtfLkQoXy5jb2IsXy5Ebik7Xy5jb2IuV2E9Xy5Ebi5XYTtfLmNvYi5JYT1mdW5jdGlvbigpe3JldHVybntzZXJ2aWNlOntnTjpfLkxRYX19fTtcbl8ubT1fLmNvYi5wcm90b3R5cGU7Xy5tLmdldFN0YXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ04uZ2V0U3RhdGUoKX07Xy5tLkxpPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ04uTGkoKX07Xy5tLkVyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaUF9O18ubS5hZGRMaXN0ZW5lcj1mdW5jdGlvbihhKXt0aGlzLmdOLmFkZExpc3RlbmVyKGEpfTtfLm0uRXA9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj10aGlzO3JldHVybiB0aGlzLlByP3RoaXMuUHIuRXAoYSxiLGMsZCxlKTooZD90aGlzLmdOLndVKGEsYixlKTp0aGlzLmdOLkVwKGEsYixlKSkudGhlbihmdW5jdGlvbihnKXtjJiZmLm9hLnNldChnLmlkLGMpO3JldHVybiBnLmlkfSl9O1xuXy5tLm5hdmlnYXRlPWZ1bmN0aW9uKGEsYil7aWYodGhpcy5QcilyZXR1cm4gdGhpcy5Qci5uYXZpZ2F0ZShhLGIpO2E9dGhpcy5nTi5uYXZpZ2F0ZShhLGIpO2I9YS5maW5pc2hlZDtyZXR1cm57Y29tbWl0dGVkOmEuY29tbWl0dGVkLnRoZW4oZnVuY3Rpb24oYyl7cmV0dXJuIGMuaWR9KSxmaW5pc2hlZDpiPT1udWxsP3ZvaWQgMDpiLnRoZW4oZnVuY3Rpb24oYyl7cmV0dXJuIGMuaWR9KX19O18ubS5wb3A9ZnVuY3Rpb24oYSxiLGMpe2I9Yj09PXZvaWQgMD8hMTpiO2lmKHRoaXMuUHIpcmV0dXJuIHRoaXMuUHIucG9wKGEsYixjKTthPWI/dGhpcy5nTi5TNyhhLGMpOnRoaXMuZ04ucG9wKGEsYyk7cmV0dXJuIF8uZ2UoYSl9O18ubS5vVD1mdW5jdGlvbihhLGIsYyxkLGUpe3JldHVybiB0aGlzLlByP3RoaXMuUHIub1QoYSxiLGMsZCxlKTpudWxsfTtfLm0ubHZjPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLlByP3RoaXMuUHIua3ZjKGEpOm51bGx9O1xuXy5tLkFOZD1mdW5jdGlvbihhKXt0aGlzLlByPWF9O18uRm4oXy5KWWEsXy5jb2IpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJDazYzdGJcIik7XG5cbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJlQkFlU2JcIik7XG5cbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLmZmKF8uZnEpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgbnZiPVsxLDJdLG92Yj1mdW5jdGlvbihhKXtfLkRuLmNhbGwodGhpcyxhLk5hKTt0aGlzLkNhPWEuc2VydmljZS53aW5kb3c7dGhpcy5CYT1hLnNlcnZpY2UuaGlzdG9yeTt0aGlzLkFhPW5ldyBNYXA7dGhpcy5MYT0wO3RoaXMuVWE9dGhpcy5oYj10aGlzLk9hPW51bGw7dGhpcy5SYT0wO3RoaXMud2I9bnVsbDt0aGlzLlFhPTA7dGhpcy5rYj1udWxsO3RoaXMuR2E9MDt0aGlzLm9hPXRoaXMuR2I9bnVsbDt0aGlzLkJiPW5ldyBNYXB9O18uRChvdmIsXy5Ebik7b3ZiLldhPV8uRG4uV2E7b3ZiLklhPWZ1bmN0aW9uKCl7cmV0dXJue3NlcnZpY2U6e3dpbmRvdzpfLkVuLGhpc3Rvcnk6Xy5kb2J9fX07XG5vdmIucHJvdG90eXBlLmxpc3Rlbj1mdW5jdGlvbihhLGIsYyxkLGUsZixnLGgpe3ZhciBrPXRoaXM7Yz1jPT09dm9pZCAwP252YjpjO2Q9ZD09PXZvaWQgMD8hMTpkO2U9ZT09PXZvaWQgMD8hMTplO2Y9Zj09PXZvaWQgMD8hMTpmO3ZhciBsPV8uRWEoYSk7Yz1uZXcgU2V0KGMpO2lmKGUpdGhpcy51bmxpc3RlbihhKTtlbHNlIGlmKHRoaXMuQWEuaGFzKGwpKXRocm93IEVycm9yKFwiRmVcIik7dGhpcy5BYS5zZXQobCx7ZWxlbWVudDphLG9uRGlzbWlzczpiLGV2ZW50VHlwZXM6Y30pO2MuaGFzKDEpJiZwdmIodGhpcyxkLGYpO2MuaGFzKDIpJiYodGhpcy5SYT09PTAmJih0aGlzLndiPV8uWGQodGhpcy5DYS5nZXQoKS5kb2N1bWVudC5ib2R5LFwia2V5ZG93blwiLGZ1bmN0aW9uKG4pe2lmKG4ua2V5Q29kZT09PTI3KXtmb3IodmFyIHI9Xy5QYShrLkFhLnZhbHVlcygpKSx0PXIubmV4dCgpOyF0LmRvbmU7dD1yLm5leHQoKSl0PXQudmFsdWUsdC5ldmVudFR5cGVzLmhhcygyKSYmcXZiKGssXG50LDIsdm9pZCAwLG4pO24uc3RvcFByb3BhZ2F0aW9uKCk7bi5wcmV2ZW50RGVmYXVsdCgpfXJldHVybiBmfSwhMCkpLHRoaXMuUmErKyk7Yy5oYXMoMykmJih0aGlzLlFhPT09MCYmKHRoaXMua2I9Xy5YZCh0aGlzLkNhLmdldCgpLmRvY3VtZW50LmJvZHksXCJmb2N1c1wiLGZ1bmN0aW9uKG4pe2Zvcih2YXIgcj1uLnRhcmdldCx0PV8uUGEoay5BYS52YWx1ZXMoKSksdT10Lm5leHQoKTshdS5kb25lO3U9dC5uZXh0KCkpdT11LnZhbHVlLCF1LmV2ZW50VHlwZXMuaGFzKDMpfHxfLkRhKHIpJiZyLm5vZGVUeXBlPjAmJl8ud2YodS5lbGVtZW50LHIpfHxxdmIoayx1LDMscixuKTtyZXR1cm4gZn0sITApKSx0aGlzLlFhKyspO2MuaGFzKDQpJiYocnZiKHRoaXMpLGE9dGhpcy5BYS5nZXQobCksc3ZiKHRoaXMsYSxnLGgpLHRoaXMuR2ErKyl9O292Yi5wcm90b3R5cGUudW5saXN0ZW49ZnVuY3Rpb24oYSl7KGE9dGhpcy5BYS5nZXQoXy5FYShhKSkpJiZ0dmIodGhpcyxhKX07XG52YXIgdHZiPWZ1bmN0aW9uKGEsYil7YS5BYS5kZWxldGUoXy5FYShiLmVsZW1lbnQpKSYmKGIuZXZlbnRUeXBlcy5oYXMoMSkmJihhLkxhLS0sYS5MYT09PTAmJihhLlVhPyhfLkxrKGEuVWEpLGEuVWE9bnVsbCk6KGEuaGImJihfLkxrKGEuaGIpLGEuaGI9bnVsbCksYS5PYSYmKF8uTGsoYS5PYSksYS5PYT1udWxsKSkpKSxiLmV2ZW50VHlwZXMuaGFzKDIpJiYoYS5SYS0tLGEuUmE9PT0wJiYoXy5MayhhLndiKSxhLndiPW51bGwpKSxiLmV2ZW50VHlwZXMuaGFzKDMpJiYoYS5RYS0tLGEuUWE9PT0wJiYoXy5MayhhLmtiKSxhLmtiPW51bGwpKSxiLmV2ZW50VHlwZXMuaGFzKDQpJiZhLkdhLS0pfTtvdmIucHJvdG90eXBlLmRpc21pc3M9ZnVuY3Rpb24oYSl7KGE9dGhpcy5BYS5nZXQoXy5FYShhKSkpJiZxdmIodGhpcyxhLDApfTtcbnZhciBxdmI9ZnVuY3Rpb24oYSxiLGMsZCxlKXt0cnl7dmFyIGY9Yi5vbkRpc21pc3MoYyxkLGUpfWNhdGNoKGcpe18uY2EoZyl9ZD1mPT09ITE7ZHx8KHR2YihhLGIpLGIuZXZlbnRUeXBlcy5oYXMoNCkmJmMhPT00JiZhLkdhPT09MCYmYS5CYS5wb3AoYS5vYS5sUSkpO3JldHVybiFkfSx1dmI9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9Yi50YXJnZXQsZD1fLlBhKFtdLmNvbmNhdChfLm1kKGEuQWEudmFsdWVzKCkpKS5yZXZlcnNlKCkpLGU9ZC5uZXh0KCk7IWUuZG9uZTtlPWQubmV4dCgpKWlmKGU9ZS52YWx1ZSxlLmV2ZW50VHlwZXMuaGFzKDEpKXtpZighXy53ZihlLmVsZW1lbnQsYykmJnF2YihhLGUsMSxjLGIpKXJldHVybiEwO2JyZWFrfXJldHVybiExfTtvdmIucHJvdG90eXBlLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLkFhLmhhcyhfLkVhKGEpKX07XG52YXIgcHZiPWZ1bmN0aW9uKGEsYixjKXthLkxhPT09MCYmKGI/YS5VYT1fLlhkKGEuQ2EuZ2V0KCkuZG9jdW1lbnQuYm9keSxcIm1vdXNlZG93blwiLGZ1bmN0aW9uKGQpe3V2YihhLGQpfSwhMCk6KF8uendhJiYoYS5oYj1fLlhkKGEuQ2EuZ2V0KCkuZG9jdW1lbnQuYm9keSxcInRvdWNoc3RhcnRcIixmdW5jdGlvbihkKXt1dmIoYSxkKSYmIWMmJihkLnN0b3BQcm9wYWdhdGlvbigpLGQucHJldmVudERlZmF1bHQoKSl9LHtjYXB0dXJlOiEwLHBhc3NpdmU6ITF9KSksYS5PYT1fLlhkKGEuQ2EuZ2V0KCkuZG9jdW1lbnQuYm9keSxcImNsaWNrXCIsZnVuY3Rpb24oZCl7dXZiKGEsZCl9LCEwKSkpO2EuTGErK30scnZiPWZ1bmN0aW9uKGEpe2EuR2J8fChhLkdiPWEuQmEuRXIoKS5saXN0ZW4oXCJGV2tjZWNcIixmdW5jdGlvbihiKXtpZihhLm9hKXt2YXIgYz1hLkJhLmdldFN0YXRlKCk7aWYoYylpZihOdW1iZXIoYy5pZCk9PT1OdW1iZXIoYS5vYS5sUSkpYS5vYS55SGEoKTtlbHNle2M9Xy5QYShhLkFhLnZhbHVlcygpKTtcbmZvcih2YXIgZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpZD1kLnZhbHVlLGQuZXZlbnRUeXBlcy5oYXMoNCkmJnF2YihhLGQsNCx2b2lkIDAsYil9fWVsc2UgaWYoYj12dmIoYSkpaWYoYz1hLkJiLmdldChiKSlhLkJiLmRlbGV0ZShiKSx3dmIoYSxjKX0pKX0sc3ZiPWZ1bmN0aW9uKGEsYixjLGQpe2Eub2EmJiFhLm9hLmxpc3RlbmVyJiYoYS5vYS5saXN0ZW5lcj1iKTt2YXIgZT1hLkJhLmdldFN0YXRlKCkuaWQ7YS5vYSYmYS5vYS5saXN0ZW5lci5lbGVtZW50PT09Yi5lbGVtZW50JiZhLm9hLmxRPT09ZXx8YS5HYSE9PTB8fChlPWEuQmEuZ2V0U3RhdGUoKSxkPU9iamVjdC5hc3NpZ24oe30sZT9lLnVzZXJEYXRhOnZvaWQgMCx7TF9iOmR9KSxhLkJhLkVwKHZvaWQgMCxkKS50aGVuKGZ1bmN0aW9uKGYpe2Eub2E9e2xROmYseUhhOmMsbGlzdGVuZXI6Yn19KSl9O1xub3ZiLnByb3RvdHlwZS5PYj1mdW5jdGlvbihhLGIpe3J2Yih0aGlzKTt2dmIodGhpcyk9PT1iP3d2Yih0aGlzLGEpOnRoaXMuQmIuc2V0KGIsYSl9O3ZhciB3dmI9ZnVuY3Rpb24oYSxiKXthLm9hPXtsUTphLkJhLmdldFN0YXRlKCkuaWQseUhhOmIsbGlzdGVuZXI6bnVsbH07YigpfSx2dmI9ZnVuY3Rpb24oYSl7cmV0dXJuKGE9YS5CYS5nZXRTdGF0ZSgpKSYmKGE9YS51c2VyRGF0YSkmJmEuTF9iP2EuTF9iOm51bGx9O18uRm4oXy5yU2Esb3ZiKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwiTWtIeUdkXCIpO1xuXG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwia2JBbTlkXCIpO1xuXG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwiVUZaaEJjXCIpO1xuXy55dmI9ZnVuY3Rpb24oYSl7YS5PYT0hMDtyZXR1cm4gYX07Xy5RdT1mdW5jdGlvbihhKXtfLkRuLmNhbGwodGhpcyxhLk5hKTt0aGlzLmxvY2F0aW9uPWEuc2VydmljZS53aW5kb3cuZ2V0KCkubG9jYXRpb259O18uRChfLlF1LF8uRG4pO18uUXUuV2E9Xy5Ebi5XYTtfLlF1LklhPWZ1bmN0aW9uKCl7cmV0dXJue3NlcnZpY2U6e3dpbmRvdzpfLkVufX19O18uUXUucHJvdG90eXBlLllpPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubG9jYXRpb24uaHJlZn07Xy56dmI9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubG9jYXRpb24uaGFzaD8oYT1hLmxvY2F0aW9uLmhyZWYsYS5zdWJzdHIoYS5pbmRleE9mKFwiI1wiKSkpOlwiXCJ9O18uUXUucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubG9jYXRpb24udG9TdHJpbmcoKX07Xy5GbihfLmJxLF8uUXUpO1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcInBoZWNiY1wiKTtcblxuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcIkFOeW4xXCIpO1xuXy54dmI9e25hbWU6XCJsdXBhXCJ9O18uUHU9ZnVuY3Rpb24oYSl7Xy5Ebi5jYWxsKHRoaXMsYS5OYSl9O18uRChfLlB1LF8uRG4pO18uUHUuV2E9Xy5Ebi5XYTtfLlB1LklhPV8uRG4uSWE7Xy5QdS5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uWmQoYSxiKX07Xy5QdS5wcm90b3R5cGUuaXNBdmFpbGFibGU9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uR2phKGEpfTtfLkZuKF8uaXEsXy5QdSk7XG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIEN2YixCdmI7Q3ZiPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5SdS5JYS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsZD1jLnNjcm9sbEhlaWdodDthPU1hdGgubWF4KDAsTWF0aC5taW4oYy5zY3JvbGxXaWR0aC1fLlJ1LklhLndpbmRvdy5pbm5lcldpZHRoLGEpKTtiPU1hdGgubWF4KDAsTWF0aC5taW4oZC1fLlJ1LklhLndpbmRvdy5pbm5lckhlaWdodCxiKSk7Yy5zdHlsZS5oZWlnaHQ9ZCtcInB4XCI7Yz1fLlJ1LklhLmRvY3VtZW50LmJvZHkuc3R5bGU7Yy5wb3NpdGlvbj1cImZpeGVkXCI7Yy53aWR0aD1cIjEwMCVcIjtjLmxlZnQ9LWErXCJweFwiO2MudG9wPS1iK1wicHhcIjtBdmImJigwLF8uc24pKEF2Yik7Xy5SdS5JYS53aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lP18uUnUuSWEud2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3JldHVybiB2b2lkIEJ2YihhLGIpfSk6QXZiPSgwLF8ucW4pKGZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgQnZiKGEsYil9LDEwKX07XG5CdmI9ZnVuY3Rpb24oYSxiKXtfLlJ1LklhLndpbmRvdy5zY3JvbGxUbyhhLGIpO0F2Yj1udWxsO18uUnUuSWEuZG9jdW1lbnQuYm9keS5zdHlsZS5wb3NpdGlvbj1cIlwiO18uUnUuSWEuZG9jdW1lbnQuYm9keS5zdHlsZS53aWR0aD1cIlwiO18uUnUuSWEuZG9jdW1lbnQuYm9keS5zdHlsZS5sZWZ0PVwiXCI7Xy5SdS5JYS5kb2N1bWVudC5ib2R5LnN0eWxlLnRvcD1cIlwiO18uUnUuSWEuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLmhlaWdodD1cIlwifTtfLlJ1PXt9O18uUnUuSWE9e3dpbmRvdzp3aW5kb3csZG9jdW1lbnQ6d2luZG93LmRvY3VtZW50fTt2YXIgRHZiPV8ubGEoKSxBdmI9bnVsbDtfLlJ1LmJ5PWZ1bmN0aW9uKGEsYixjKXtpZihhfHxiKUR2Yj8oYz1fLnFsKCksQ3ZiKGMueCthLGMueStiKSk6Yz9fLlJ1LklhLndpbmRvdy5zY3JvbGxCeSh7dG9wOmIsbGVmdDphLGJlaGF2aW9yOlwic21vb3RoXCJ9KTpfLlJ1LklhLndpbmRvdy5zY3JvbGxCeShhLGIpfTtcbl8uUnUudG89ZnVuY3Rpb24oYSxiLGMpe0R2Yj9DdmIoYSxiKTpjP18uUnUuSWEud2luZG93LnNjcm9sbFRvKHt0b3A6YixsZWZ0OmEsYmVoYXZpb3I6XCJzbW9vdGhcIn0pOl8uUnUuSWEud2luZG93LnNjcm9sbFRvKGEsYil9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJVNE16S2NcIik7XG52YXIgRXZiPWZ1bmN0aW9uKGEpe18uRG4uY2FsbCh0aGlzLGEuTmEpO3RoaXMub2E9bnVsbDt0aGlzLndpbmRvdz1hLnNlcnZpY2Uud2luZG93LmdldCgpO3RoaXMuZG9jdW1lbnQ9YS5zZXJ2aWNlLndpbmRvdy5BZigpO3RoaXMuY2FjaGU9YS5zZXJ2aWNlLmNhY2hlO3RoaXMubG9jYXRpb249YS5zZXJ2aWNlLmxvY2F0aW9uO3RoaXMuc3RvcmFnZT10aGlzLmNhY2hlLmdldChcInNcIixfLlNFYSk7dGhpcy5oaXN0b3J5PWEuc2VydmljZS5oaXN0b3J5O3RoaXMuQWE9dGhpcy5oaXN0b3J5LkVyKCkubGlzdGVuKFwiRldrY2VjXCIsZnVuY3Rpb24oKXt9KX07Xy5EKEV2YixfLkRuKTtFdmIuV2E9Xy5Ebi5XYTtFdmIuSWE9ZnVuY3Rpb24oKXtyZXR1cm57c2VydmljZTp7Y2FjaGU6Xy5QdSxoaXN0b3J5Ol8uZG9iLGxvY2F0aW9uOl8uUXUsd2luZG93Ol8uRW59fX07Xy5tPUV2Yi5wcm90b3R5cGU7Xy5tLmJ5PWZ1bmN0aW9uKGEsYixjKXsoMCxfLlJ1LmJ5KShhLGIsYyl9O1xuXy5tLmRpc2FibGU9ZnVuY3Rpb24oKXt0aGlzLm9hfHwodGhpcy5vYT1fLlhkKHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LFwidG91Y2htb3ZlXCIsXy5yd2EpKTtpZighd2luZG93LnZpc3VhbFZpZXdwb3J0fHx3aW5kb3cudmlzdWFsVmlld3BvcnQuc2NhbGU+PTEpdGhpcy5kb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93PVwiaGlkZGVuXCJ9O18ubS5lbmFibGU9ZnVuY3Rpb24oKXt0aGlzLm9hJiYoXy5Mayh0aGlzLm9hKSx0aGlzLm9hPW51bGwpO2lmKCF3aW5kb3cudmlzdWFsVmlld3BvcnR8fHdpbmRvdy52aXN1YWxWaWV3cG9ydC5zY2FsZT49MSl0aGlzLmRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3c9XCJcIn07Xy5tLnY5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3RvcmFnZS5nZXQodGhpcy5sb2NhdGlvbi5ZaSgpKX07Xy5tLkdJZD1mdW5jdGlvbigpe3ZhciBhPXRoaXMudjkoKTthJiZ0aGlzLndpbmRvdy5zY3JvbGxUbyhhLngsYS55KX07XG5fLm0udGdhPWZ1bmN0aW9uKCl7dGhpcy5zdG9yYWdlLnNldCh0aGlzLmxvY2F0aW9uLllpKCksXy5xbCgpKX07Xy5tLnRvPWZ1bmN0aW9uKGEsYixjKXsoMCxfLlJ1LnRvKShhLGIsYyl9O18ubS51Yz1mdW5jdGlvbigpe3RoaXMub2EmJl8uTGsodGhpcy5vYSk7dGhpcy5BYSYmdGhpcy5oaXN0b3J5LkVyKCkuS28odGhpcy5BYSl9O18uRm4oXy5zU2EsRXZiKTtcbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJnOG5reFwiKTtcbl8uU3U9bmV3IF8uSWQoXy5qcSk7XG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5GdmI9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5qbChhKTtpZihiKXJldHVybiBiO2I9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtiLmlkPWE7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChiKTtyZXR1cm4gYn07Xy5UdT1mdW5jdGlvbigpe3JldHVybiBfLkZ2YihcImxiXCIpfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5wQmI9ZnVuY3Rpb24oKXt9O18ucEJiLnByb3RvdHlwZS5idWlsZD1mdW5jdGlvbigpe3ZhciBhPXRoaXM7cmV0dXJue29wZW46ZnVuY3Rpb24oKXtyZXR1cm4gYS5vcGVuKCl9LGNsb3NlOmZ1bmN0aW9uKCl7cmV0dXJuIGEuY2xvc2UoKX19fTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5xQmI9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGIpeygwLF8ucW4pKGZ1bmN0aW9uKCl7Yih2b2lkIDApfSxhKX0pfTtfLnJCYj1mdW5jdGlvbihhLGIsYyxkKXt0aGlzLkNhPWE7dGhpcy5BYT1iO3RoaXMuQmE9Yzt0aGlzLm9hPWR9O18uRChfLnJCYixfLnBCYik7Xy5yQmIucHJvdG90eXBlLm9wZW49ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3JldHVybiBfLmJoKGZ1bmN0aW9uKGIpe3NCYihhLkNhKTtyZXR1cm4gYi55aWVsZChfLnFCYihhLkJhKSwwKX0pfTtfLnJCYi5wcm90b3R5cGUuY2xvc2U9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3JldHVybiBfLmJoKGZ1bmN0aW9uKGIpe3NCYihhLkFhKTtyZXR1cm4gYi55aWVsZChfLnFCYihhLm9hKSwwKX0pfTtcbnZhciBzQmI9ZnVuY3Rpb24oYSl7YT1fLlBhKGEpO2Zvcih2YXIgYj1hLm5leHQoKTshYi5kb25lO2I9YS5uZXh0KCkpYj1iLnZhbHVlLGIuZTc/Yi5lbGVtZW50LmNsYXNzTGlzdC5hZGQoYi5zUCk6Yi5lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoYi5zUCl9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLlBCYj1mdW5jdGlvbihhKXtyZXR1cm4oYT1fLkttKGEsXCJwYWR0XCIpKSYmIS9bXjAtOV0vLnRlc3QoYSk/Xy5obChhKTowfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5vRGI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gQXJyYXkuZnJvbShhLnF1ZXJ5U2VsZWN0b3JBbGwoXCJbdGFiaW5kZXhdLCBhLCBpbnB1dCwgdGV4dGFyZWEsIHNlbGVjdCwgYnV0dG9uXCIpKS5maWx0ZXIoZnVuY3Rpb24oYyl7cmV0dXJuIF8ubkRiKGMsYil9KX07Xy5uRGI9ZnVuY3Rpb24oYSxiKXtpZighKGEgaW5zdGFuY2VvZiBIVE1MRWxlbWVudHx8YSBpbnN0YW5jZW9mIFNWR0VsZW1lbnQpKXJldHVybiExO3ZhciBjPV8uTGwoYSk7Yj09PS0xJiYoY3x8KGM9YS5oYXNBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiKSYmIWEuaGFzQXR0cmlidXRlKFwiZGlzYWJsZWRcIikpKTtpZighYylyZXR1cm4hMTtmb3IoYj1hO2I7Yj1iLnBhcmVudEVsZW1lbnQpaWYoKDAsXy5ubS5nZXRDb21wdXRlZFN0eWxlKShiLFwiZGlzcGxheVwiKT09PVwibm9uZVwiKXJldHVybiExO3JldHVybigwLF8ubm0uZ2V0Q29tcHV0ZWRTdHlsZSkoYSxcInZpc2liaWxpdHlcIik9PT1cImhpZGRlblwiPyExOiEwfTtfLnBEYj1mdW5jdGlvbigpe3RoaXMuQWE9W119O18ucURiPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuQWEuc29tZShmdW5jdGlvbihjKXtyZXR1cm4gYy5lbGVtZW50PT09Yn0pfTtfLnBEYi5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuQWEuZm9yRWFjaCh0aGlzLkdhKTt0aGlzLkFhPVtdfTtfLnJEYj1mdW5jdGlvbihhLGIpe3ZhciBjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7Yy5zZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiLFwiMFwiKTtjLnNldEF0dHJpYnV0ZShcImFyaWEtaGlkZGVuXCIsXCJ0cnVlXCIpO2MuY2xhc3NMaXN0LmFkZChcIlY4ZldIXCIpO2I9Xy5YZChjLFwiZm9jdXNcIixiKTthLkFhLnB1c2goe2VsZW1lbnQ6YyxWbGE6Yn0pO3JldHVybiBjfTtfLnBEYi5wcm90b3R5cGUuR2E9ZnVuY3Rpb24oYSl7YS5lbGVtZW50LnJlbW92ZSgpO18uTGsoYS5WbGEpfTt2YXIgc0RiLHdEYix2RGI7Xy50RGI9ZnVuY3Rpb24oYSl7dGhpcy5DYT1hO3RoaXMub2E9ITE7dGhpcy5CYT1bXTt0aGlzLkFhPW5ldyBzRGIodGhpcy5DYSl9O18udURiPWZ1bmN0aW9uKGEpe2lmKGEub2Epe2EuQWEuZGlzcG9zZSgpO2Zvcih2YXIgYj1fLlBhKGEuQmEpLGM9Yi5uZXh0KCk7IWMuZG9uZTtjPWIubmV4dCgpKXtjPWMudmFsdWU7Yy5TaC5kaXNjb25uZWN0KCk7dmFyIGQ7KGQ9Yy5DeGUpIT1udWxsJiZkLmRpc3Bvc2UoKTtjLlp1ZS5DYSgpfWEuQmEuc3BsaWNlKDApO2Eub2E9ITF9fTtzRGI9ZnVuY3Rpb24oYSl7dGhpcy5BYT1bXTt0aGlzLmNvbnRhaW5lcj1hfTtfLkQoc0RiLF8ucERiKTtcbl8ueERiPWZ1bmN0aW9uKGEpe2lmKHZEYihhKS5sZW5ndGg9PT0wKXRocm93IEVycm9yKFwiZWZcIik7dmFyIGI9Xy5yRGIoYSxmdW5jdGlvbigpe2Eub2E/d0RiKGEub2EsMCk6d0RiKGEsMCl9KTthLmNvbnRhaW5lci5hcHBlbmQoYik7Yj1fLnJEYihhLGZ1bmN0aW9uKCl7YS5CYT93RGIoYS5CYSwxKTp3RGIoYSwxKX0pO2EuY29udGFpbmVyLmNoaWxkcmVuWzBdLmJlZm9yZShiKX07c0RiLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7Xy5wRGIucHJvdG90eXBlLmRpc3Bvc2UuY2FsbCh0aGlzKTt0aGlzLm9hPXRoaXMuQmE9dm9pZCAwfTt3RGI9ZnVuY3Rpb24oYSxiKXt2YXIgYzsoYz1fLnlEYihhLGIpKT09bnVsbHx8Yy5mb2N1cygpfTtfLnlEYj1mdW5jdGlvbihhLGIpe2E9dkRiKGEpO2lmKGEubGVuZ3RoIT09MClyZXR1cm4gYj09PTA/YVswXTphW2EubGVuZ3RoLTFdfTtcbnZEYj1mdW5jdGlvbihhKXtyZXR1cm4gXy5vRGIoYS5jb250YWluZXIsMCkuZmlsdGVyKGZ1bmN0aW9uKGIpe3JldHVybiFfLnFEYihhLGIpfSl9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgSk1iO0pNYj0tMTtfLld3PWZ1bmN0aW9uKCl7fTtfLld3LnByb3RvdHlwZS5nZXRVbmlxdWVJZD1mdW5jdGlvbigpeysrSk1iO3JldHVyblwianN1aWRfXCIrSk1ifTtfLld3LnByb3RvdHlwZS5Rbz1mdW5jdGlvbihhKXsrK0pNYjtyZXR1cm4gYStcIl9cIitKTWJ9O18uV3cucHJvdG90eXBlLlhjPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0VW5pcXVlSWQoKX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBrZWMsbGVjO18uaWVjPWZ1bmN0aW9uKGEpe18uQWxhJiZfLkFsYS5Vc2EoKT09PWEmJihfLkFsYT1udWxsKTtkZWxldGUgXy56bGFbYV19O18uZ3o9ZnVuY3Rpb24oKXt0aGlzLm9hPW51bGx9O18ubT1fLmd6LnByb3RvdHlwZTtfLm0uVzBhPWZ1bmN0aW9uKCl7fTtfLm0uZ2V0U2Nyb2xsVG9wPWZ1bmN0aW9uKCl7cmV0dXJuIDB9O18ubS5nZXRIZWFkZXJQYWRkaW5nSGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIDB9O18ubS5nZXRGb290ZXJQYWRkaW5nSGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIDB9O18ubS5OMWI9ZnVuY3Rpb24oYSxiKXt3aW5kb3cuc2Nyb2xsQnkoYSxiKX07Xy5tLmZpeGVkVWlTY3JvbGxUbz1mdW5jdGlvbihhLGIpe3dpbmRvdy5zY3JvbGxUbyhhLGIpfTtfLm0udCQ9ZnVuY3Rpb24oKXtyZXR1cm4hMX07Xy5tLnNlbmRHZW5lcmljQ2xpZW50RXZlbnQ9ZnVuY3Rpb24oKXt9O18ubS5vcGVuSW5BcHBGdWxsU2NyZWVuPWZ1bmN0aW9uKCl7cmV0dXJuITF9O1xuXy5qZWM9ZnVuY3Rpb24oKXt2YXIgYT1fLmh6O2lmKGEub2EhPT1udWxsKXJldHVybiBhLm9hO2lmKGRvY3VtZW50LmJvZHkpe3ZhciBiPV8ubm0uUzQoZG9jdW1lbnQuYm9keSkudG9wO3JldHVybiBhLm9hPWJ9cmV0dXJuIDB9O18uaHo9bmV3IF8uZ3o7Xy5pej1mdW5jdGlvbihhKXtfLmh6LlcwYShhKX07Xy5qej1mdW5jdGlvbigpe3JldHVybiBfLmh6LmdldFNjcm9sbFRvcCgpfTtfLmt6PWZ1bmN0aW9uKGEsYil7Xy5oei5maXhlZFVpU2Nyb2xsVG8oYSxiKX07bGVjPW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goLyBHU0FcXC8oWy5cXGRdKykvKTtrZWM9bGVjP2xlY1sxXTpcIlwiO18ubWVjPV8uS2MmJl8ubmEoa2VjLFwiNFwiKT49MDtfLm5lYz1fLktjJiZfLm5hKGtlYyxcIjUuMlwiKT49MDtfLm9lYz1fLktjJiZfLm5hKGtlYyxcIjQuM1wiKT49MCYmIShfLm5hKGtlYyxcIjQuNVwiKT49MCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcIkl2UFo2ZFwiKTtcbnZhciBxVWQ9ZnVuY3Rpb24oYSl7aWYoIWRvY3VtZW50LmJvZHkuY29udGFpbnMoYSkpdGhyb3cgRXJyb3IoXCJkZlwiKTt2YXIgYj1BcnJheS5mcm9tKGRvY3VtZW50LmJvZHkucXVlcnlTZWxlY3RvckFsbChcIlt0YWJpbmRleF0sIGEsIGlucHV0LCB0ZXh0YXJlYSwgc2VsZWN0LCBidXR0b25cIikpO2E9Xy5ZYWEoYixhLF8uaHphKTtpZihhPj0wKXJldHVybntTRGI6Yix3OWI6YS0xLHY5YjphKzF9O2E9LWEtMTtyZXR1cm57U0RiOmIsdzliOmEtMSx2OWI6YX19LHJVZD1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgZD1hW2NdO2lmKF8ubkRiKGQsYikpcmV0dXJuIGR9fSxzVWQ9ZnVuY3Rpb24oYSl7dmFyIGI9e307dmFyIGM9Yi50aHJlc2hvbGQ9PT12b2lkIDA/MDpiLnRocmVzaG9sZDtiPWIud3JhcD09PXZvaWQgMD8hMDpiLndyYXA7dmFyIGQ9cVVkKGEpO2E9ZC5TRGI7ZD1kLnY5Yjt2YXIgZT1kPj0wJiZkPGEubGVuZ3RoLGY9ZT9hLnNsaWNlKGQpOlxuW107Zj1yVWQoZixjKTshZiYmYiYmKGI9ZT9hLnNsaWNlKDAsZCk6YSxmPXJVZChiLGMpKTtyZXR1cm4gZn0sdFVkPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPWEubGVuZ3RoLTE7Yz49MDtjLS0pe3ZhciBkPWFbY107aWYoXy5uRGIoZCxiKSlyZXR1cm4gZH19LHVVZD1mdW5jdGlvbihhLGIpe3ZhciBjPWI9PT12b2lkIDA/e306YjtiPWMudGhyZXNob2xkPT09dm9pZCAwPzA6Yy50aHJlc2hvbGQ7Yz1jLndyYXA9PT12b2lkIDA/ITA6Yy53cmFwO3ZhciBkPXFVZChhKTthPWQuU0RiO2Q9ZC53OWI7dmFyIGU9ZD49MCYmZDxhLmxlbmd0aCxmPWU/YS5zbGljZSgwLGQrMSk6W107Zj10VWQoZixiKTshZiYmYyYmKGM9ZT9hLnNsaWNlKGQrMSk6YSxmPXRVZChjLGIpKTtyZXR1cm4gZn0sdlVkPWZ1bmN0aW9uKGEpeygwLF8ucW4pKGZ1bmN0aW9uKCl7dGhyb3cgYTt9LDApfSx3VWQ9ZnVuY3Rpb24oYSxiKXt2YXIgYztyZXR1cm4oYz1hLnJldmVyc2UoKS5maW5kKGZ1bmN0aW9uKGQpe3JldHVybiBkLkJiPT09XG5ifSkpPT1udWxsP3ZvaWQgMDpjLnpJbmRleH0seFVkPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZV9hO2E9YS5DVGQ7cmV0dXJuIGI9PT12b2lkIDB8fGE9PT12b2lkIDA/ITE6YjxhfSx5VWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuVjNjIT09dm9pZCAwfSx6VWQ9e0JlZTowLFgwZDoxLGw4ZDoyLHE5ZDozLFkwZDo0fSxBVWQ9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/e306YjtiPWIuWkNiPT09dm9pZCAwP1wiXCI6Yi5aQ2I7dGhpcy5vdmVybGF5PWE7dGhpcy5aQ2I9Yn07Xy5EKEFVZCxfLnBCYik7QVVkLnByb3RvdHlwZS5vcGVuPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcztyZXR1cm4gXy5iaChmdW5jdGlvbihiKXthLm92ZXJsYXkuc3R5bGUuZGlzcGxheT1hLlpDYjtfLlNnKGIpfSl9O0FVZC5wcm90b3R5cGUuY2xvc2U9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3JldHVybiBfLmJoKGZ1bmN0aW9uKGIpe2Eub3ZlcmxheS5zdHlsZS5kaXNwbGF5PVwibm9uZVwiO18uU2coYil9KX07XG52YXIgQlVkPWZ1bmN0aW9uKGEpe3RoaXMuWkk9YTt2YXIgYjsoYj10aGlzLlpJKT09bnVsbHx8Yi5jbGFzc0xpc3QuYWRkKFwiQUJNRlpcIil9O0JVZC5wcm90b3R5cGUub3Blbj1mdW5jdGlvbigpe3RoaXMuWkkhPT12b2lkIDAmJih0aGlzLm9hPXZvaWQgMCx0aGlzLlpJLmNsYXNzTGlzdC5hZGQoXCJCMDVSQmJcIikpfTtCVWQucHJvdG90eXBlLmNsb3NlPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcztpZih0aGlzLlpJIT09dm9pZCAwKXt0aGlzLlpJLmNsYXNzTGlzdC5yZW1vdmUoXCJCMDVSQmJcIik7dmFyIGI9Xy5xQmIoMTAwKTt0aGlzLm9hPWI7Yi50aGVuKGZ1bmN0aW9uKCl7YS5vYT09PWImJihhLm1vdmUoMCksYS5vYT12b2lkIDApfSl9fTtCVWQucHJvdG90eXBlLm1vdmU9ZnVuY3Rpb24oYSl7dGhpcy5aSSE9PXZvaWQgMCYmYT49MCYmTnVtYmVyLmlzSW50ZWdlcihhKSYmKHRoaXMuWkkuc3R5bGUuekluZGV4PWEudG9TdHJpbmcoKSl9O1xudmFyIENVZD1mdW5jdGlvbihhKXt0aGlzLkFhPWF9O0NVZC5wcm90b3R5cGUuQ2E9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO2lmKHRoaXMub2Epe3ZhciBiPXRoaXMub2EuZ2V0QXR0cmlidXRlKFwiYXJpYS1vd25zXCIpO2I9PT10aGlzLkJhP3RoaXMub2EucmVtb3ZlQXR0cmlidXRlKFwiYXJpYS1vd25zXCIpOmImJnRoaXMub2Euc2V0QXR0cmlidXRlKFwiYXJpYS1vd25zXCIsYi5zcGxpdChcIiBcIikuZmlsdGVyKGZ1bmN0aW9uKGMpe3JldHVybiBjIT09YS5CYX0pLmpvaW4oXCIgXCIpKTt0aGlzLkJhPXRoaXMub2E9dm9pZCAwfX07dmFyIERVZD1bXCIjc2ZjbnRcIixcIi5zZmJnXCIsXCIuc0Jia2xlXCIsXCIjc2VhcmNoZm9ybVwiLFwiI2FwcGJhclwiXTt2YXIgRVVkPWZ1bmN0aW9uKGEpe3ZhciBiPWEubW92ZTthPWEuS1NkO3RoaXMuQWE9W107dGhpcy5vYT1iO3RoaXMuQ2E9YTtiPV8ub0RiKGEsMCk7dGhpcy5CYT1iLmxlbmd0aD4wP2JbYi5sZW5ndGgtMV06Xy5uRGIoYSwwKT9hOnVVZChhLHt3cmFwOiEwfSl9O18uRChFVWQsXy5wRGIpO1xudmFyIEhVZD1mdW5jdGlvbihhLGIpe3ZhciBjLGQ9RlVkKGEpO2QubGVuZ3RoIT09MD9jPWI9PT0wP2RbMF06ZFtkLmxlbmd0aC0xXTpjPWI9PT0wP0dVZChhLGEuQmEpOmEuQmE7dmFyIGU7KGU9Yyk9PW51bGx8fGUuZm9jdXMoKX0sSVVkPWZ1bmN0aW9uKGEpe3ZhciBiPV8uckRiKGEsZnVuY3Rpb24oKXtIVWQoYSwxKX0pLGM9Xy5yRGIoYSxmdW5jdGlvbigpe0hVZChhLDApfSk7YS5DYS5hZnRlcihjLGIpfSxKVWQ9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5yRGIoYSxmdW5jdGlvbigpe2EuQmEuZm9jdXMoKX0pO2Eub2EuY2hpbGRyZW5bMF0uYmVmb3JlKGIpO2I9Xy5yRGIoYSxmdW5jdGlvbigpe3ZhciBjOyhjPUdVZChhLGEuQmEpKT09bnVsbHx8Yy5mb2N1cygpfSk7YS5vYS5hcHBlbmQoYil9LExVZD1mdW5jdGlvbihhKXt2YXIgYj1fLnJEYihhLGZ1bmN0aW9uKCl7S1VkKGEsMCl9KTthLm9hLmFwcGVuZChiKTtiPV8uckRiKGEsZnVuY3Rpb24oKXtLVWQoYSwxKX0pO2Eub2EuY2hpbGRyZW5bMF0uYmVmb3JlKGIpfSxcbkZVZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5vRGIoYS5vYSwwKS5maWx0ZXIoZnVuY3Rpb24oYil7cmV0dXJuIV8ucURiKGEsYil9KX0sS1VkPWZ1bmN0aW9uKGEsYil7aWYoYj09PTApe2ZvcihiPXVVZChhLm9hKTtiJiZfLnFEYihhLGIpOyliPXVVZChiKTthPWJ9ZWxzZXtiPWEub2E7dmFyIGM9RlVkKGEpO2E9R1VkKGEsYy5sZW5ndGghPT0wP2NbYy5sZW5ndGgtMV06Yil9dmFyIGQ7KGQ9YSk9PW51bGx8fGQuZm9jdXMoKX0sR1VkPWZ1bmN0aW9uKGEsYil7Zm9yKGI9c1VkKGIpO2ImJl8ucURiKGEsYik7KWI9c1VkKGIpO3JldHVybiBifTt2YXIgTVVkPWZ1bmN0aW9uKGEsYil7dGhpcy5vdmVybGF5PWE7dGhpcy5SYj0hMTt0aGlzLlJhPXtlbDp2b2lkIDAscHJldmVudFNjcm9sbDohMX07Yi5qOGEoKTt0aGlzLlFhPWIuSHRiKCk7dGhpcy5DYT1iLmF0YigpO3RoaXMud1phPXtkZWZhdWx0OmIud1JhKCkudlFhKCksRFFkOmIud1JhKCkuZHZiKCksZElkOmIud1JhKCkueXViKCl9O3RoaXMuU2I9Yi5jdGIoKTt0aGlzLkJhPXtldmVudFR5cGVzOmIudXRiKCksb0ViOmIucHViKCkseUhhOmIuZHRiKCksV3lhOmIuY3ZiKCl9O3RoaXMuYW5pbWF0aW9uPWIuZ2V0QW5pbWF0aW9uKCk7dmFyIGM9Yi5rOGEoKT09PXZvaWQgMCYmYi5BdGEoKSxkPWIudzhhKCk7ZCE9PTF8fGN8fChkPTApO3RoaXMuQmI9ZDt0aGlzLndiPXtwb3NpdGlvbjphLnN0eWxlLnBvc2l0aW9uLGFhYjphLnN0eWxlLmFhYix6SW5kZXg6YS5zdHlsZS56SW5kZXh9O3RoaXMuT2E9Yi5vdGIoKTt0aGlzLllGPWIuS3ViKCk7dGhpcy5BYT1iLmp2YigpO3RoaXMuVWE9XG5iLmN1YigpO3RoaXMuaGI9Yi5TdWIoKX07dmFyIE5VZD1mdW5jdGlvbihhKXt0aGlzLkdhPWE7dGhpcy5TaD1uZXcgTXV0YXRpb25PYnNlcnZlcigoMCxfLnBuKSh0aGlzLm9uQ2hhbmdlLHRoaXMpKTt0aGlzLkJhPVtdfSxQVWQ9ZnVuY3Rpb24oYSl7YS5vYSE9PXZvaWQgMCYmKGEuU2guZGlzY29ubmVjdCgpLGEuQ2EhPT12b2lkIDAmJihPVWQoYSksYS5DYT12b2lkIDApLGEub2E9dm9pZCAwKX07XG5OVWQucHJvdG90eXBlLm9uQ2hhbmdlPWZ1bmN0aW9uKGEpe3ZhciBiPVFVZCh0aGlzLGEpO2E9Yi5VRGQ7dmFyIGM9Yi5UM2M7Yj1jLmxlbmd0aD4wO3ZhciBkPWEubGVuZ3RoPjA7dGhpcy5CYT10aGlzLkJhLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4hYy5pbmNsdWRlcyhlKX0pO3RoaXMuQmEucHVzaC5hcHBseSh0aGlzLkJhLF8ubWQoYSkpO2ImJnRoaXMuQmEubGVuZ3RoPT09MD9PVWQodGhpcyk6ZCYmdGhpcy5vYSE9PXZvaWQgMCYmKFJVZCh0aGlzLkdhLHRoaXMuQWEpLHRoaXMuR2Eub2E+PTFFNCYmKHRoaXMuQWE9Kyt0aGlzLkdhLm9hKSx0aGlzLm9hLnN0eWxlLnpJbmRleD1cIlwiK3RoaXMuQWEpfTtcbnZhciBRVWQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXSxkPVtdO2I9Xy5QYShiKTtmb3IodmFyIGU9Yi5uZXh0KCk7IWUuZG9uZTtlPWIubmV4dCgpKWU9ZS52YWx1ZSxlLnR5cGU9PT1cImNoaWxkTGlzdFwiJiZlLnRhcmdldD09PWEub2EmJihjLnB1c2guYXBwbHkoYyxfLm1kKGUuYWRkZWROb2RlcykpLGQucHVzaC5hcHBseShkLF8ubWQoZS5yZW1vdmVkTm9kZXMpKSk7cmV0dXJue1VEZDpjLFQzYzpkfX0sT1VkPWZ1bmN0aW9uKGEpe2EuQWEhPT12b2lkIDAmJmEub2EhPT12b2lkIDAmJihSVWQoYS5HYSxhLkFhKSxhLkNhIT09dm9pZCAwJiYoYS5vYS5zdHlsZS56SW5kZXg9YS5DYSksYS5BYT12b2lkIDApfTt2YXIgU1VkPWZ1bmN0aW9uKCl7fSxUVWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uYmgoZnVuY3Rpb24oYil7cmV0dXJuIGIucmV0dXJuKE1hdGgubWF4LmFwcGx5KE1hdGgsXy5tZChhLm1hcChmdW5jdGlvbihjKXtyZXR1cm4gYy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5ib3R0b219KSkpKX0pfSxVVWQ9ZnVuY3Rpb24oYSl7dmFyIGIsYztfLmJoKGZ1bmN0aW9uKGQpe2lmKGQub2E9PTEpe2EuWkk9PT12b2lkIDAmJihhLlpJPV8uS3lhKFwiaTU4TXdcIikpO2lmKCFhLlpJKXJldHVybiBkLnJldHVybigpO2EuQWE9PT12b2lkIDAmJihhLkFhPVtdLmNvbmNhdChfLm1kKGRvY3VtZW50LmJvZHkucXVlcnlTZWxlY3RvckFsbChEVWQuam9pbihcIixcIikpKSkpO2I9YS5BYTthLm9hPWEuWkkuc3R5bGUuaW5zZXQ7cmV0dXJuIGQueWllbGQoVFVkKGIpLDIpfWM9ZC5BYTthLlpJLnN0eWxlLmluc2V0PU1hdGgubWF4KDAsYykudG9TdHJpbmcoKStcInB4IDAgMCAwXCI7Xy5TZyhkKX0pfSxWVWQ9ZnVuY3Rpb24oYSl7YS5aSSYmXG5hLm9hJiYoYS5aSS5zdHlsZS5pbnNldD1hLm9hKX07dmFyIFdVZD1mdW5jdGlvbigpe3RoaXMub2E9dGhpcy5BYT12b2lkIDA7dGhpcy5TaD1uZXcgTXV0YXRpb25PYnNlcnZlcigoMCxfLnBuKSh0aGlzLm9uQ2hhbmdlLHRoaXMpKX0sWFVkPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5xdWVyeVNlbGVjdG9yKFwiI0REZVhoZlwiKTtyZXR1cm4gYz8oYS5BYT1jLGEub2E9YiwhMCk6ITF9LFpVZD1mdW5jdGlvbihhKXthLm9hPT09dm9pZCAwfHxhLkFhPT09dm9pZCAwP1lVZChhKTooYS5CYT1hLm9hLnN0eWxlLnpJbmRleCxhLlNoLm9ic2VydmUoYS5BYSx7Y2hpbGRMaXN0OiEwfSkpfSxZVWQ9ZnVuY3Rpb24oYSl7YS5TaC5kaXNjb25uZWN0KCk7YS5CYSE9PXZvaWQgMCYmKCRVZChhKSxhLkJhPXZvaWQgMCl9O1xuV1VkLnByb3RvdHlwZS5vbkNoYW5nZT1mdW5jdGlvbigpe3RoaXMub2EhPT12b2lkIDAmJnRoaXMuQWEhPT12b2lkIDAmJih0aGlzLkFhLmNoaWxkcmVuLmxlbmd0aD4xP3RoaXMuQWEhPT12b2lkIDAmJnRoaXMub2EhPT12b2lkIDAmJih0aGlzLm9hLnN0eWxlLnpJbmRleD1cIjEzMFwiKTokVWQodGhpcykpfTt2YXIgJFVkPWZ1bmN0aW9uKGEpe2EuQWEhPT12b2lkIDAmJmEub2EhPT12b2lkIDAmJmEuQmEhPT12b2lkIDAmJihhLm9hLnN0eWxlLnpJbmRleD1hLkJhKX07dmFyIGFWZD1mdW5jdGlvbigpe3RoaXMuQWE9bmV3IFNldDt0aGlzLm9hPTk5OTl9LFJVZD1mdW5jdGlvbihhLGIpe2lmKCEoYj09PXZvaWQgMHx8YjwxRTQpKWlmKGI9PT1hLm9hKWZvcihhLm9hLS07YS5BYS5oYXMoYS5vYSk7KWEuQWEuZGVsZXRlKGEub2EpLGEub2EtLTtlbHNlIGEuQWEuYWRkKGIpfTt2YXIgY1ZkPWZ1bmN0aW9uKCl7dmFyIGE9Xy5qbChcInNabXQzYlwiKTthfHwoYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLGEuaWQ9XCJzWm10M2JcIixhLmNsYXNzTGlzdC5hZGQoXCJmcC1uaFwiKSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpKTt0aGlzLk13PWE7YT1fLmpsKFwiaTU4TXdcIik7aWYoIWEpe2lmKGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKSlhLmlkPVwiaTU4TXdcIjt0aGlzLk13LmFwcGVuZENoaWxkKGEpO2E9YSE9bnVsbD9hOnZvaWQgMH10aGlzLkJhPW5ldyBCVWQoYSk7dGhpcy51bmlxdWVJZFNlcnZpY2U9bmV3IF8uV3c7dGhpcy5vYT1fLktjfHxfLnlBYXx8Xy5uaWE/dm9pZCAwOm5ldyBTVWQ7YT1uZXcgYVZkO3RoaXMuTGE9bmV3IGJWZChhKTt0aGlzLkNhPW5ldyBOVWQoYSk7dGhpcy5BYT1uZXcgV1VkfSxnVmQ9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZixnLGgsaztyZXR1cm4gXy5iaChmdW5jdGlvbihsKXtpZihsLm9hPT0xKXtmPWI7Zz1cbmYuR1o7aD1mLnk4O2s9Zi5vcHRpb25zO3ZhciBuPWEuTGE7dmFyIHI9Yi55ODt2YXIgdD1iLkdaO3ZhciB1PWIub3B0aW9ucztyPXI9PW51bGw/dm9pZCAwOnIuekluZGV4O3IhPT12b2lkIDAmJihSVWQobi5vYSxyLm92ZXJsYXkpLFJVZChuLm9hLHIuWkkpKTt0JiYodT09bnVsbD8wOnUuQXRhKCkpJiYocj12b2lkIDAsKHU9dT09bnVsbD92b2lkIDA6dS5rOGEoKSk/bj11OihyPXQmJnQuQmI9PT0xPysrbi5vYS5vYTp2b2lkIDAsbj0rK24ub2Eub2EpLHQuekluZGV4PXtvdmVybGF5Om4sWkk6cn0pOyh0PWIub3B0aW9ucykmJnQudzhhKCk9PT0xJiZ0LkF0YSgpPT09ITEmJnZVZChFcnJvcihcImJqXCIpKTt0PWIuRUs7dT1iLkdaO249Yi55ODt2YXIgeixCO3U9e05WYTp1PT1udWxsP3ZvaWQgMDooej11LnpJbmRleCk9PW51bGw/dm9pZCAwOnouWkksVjNjOm49PW51bGw/dm9pZCAwOihCPW4uekluZGV4KT09bnVsbD92b2lkIDA6Qi5aSX07dmFyIEY7dS5lX2E9KEY9d1VkKHQsMSkpPT1cbm51bGw/dm9pZCAwOkYuWkk7dmFyIEs7dS5DVGQ9KEs9d1VkKHQsMikpPT1udWxsP3ZvaWQgMDpLLm92ZXJsYXk7Yz15VWQodSkmJnUuTlZhPT09dm9pZCAwJiYodS5lX2E9PT12b2lkIDB8fHhVZCh1KSl8fCF5VWQodSkmJnUuTlZhIT09dm9pZCAwJiZ4VWQodSk/ITA6ITE7ZD1hLkdhKHUpO2U9dS5OVmEhPT12b2lkIDA/IXlVZCh1KTp5VWQodSkmJnUuZV9hIT09dm9pZCAwJiZ4VWQodSk/ITA6ITE7YyYmYS5CYS5jbG9zZSgpO3JldHVybiBoPT09dm9pZCAwP2wuTWIoMik6bC55aWVsZChkVmQoaCksMil9ZVZkKGEsYik7ZCE9PXZvaWQgMCYmYS5CYS5tb3ZlKGQpO2ZWZChhLGIpO2UmJmEuQmEub3BlbigpO3JldHVybiBrJiZnP2wueWllbGQoYS5xY2EoZyxrKSwwKTpsLk1iKDApfSl9O2NWZC5wcm90b3R5cGUuR2E9ZnVuY3Rpb24oYSl7aWYoYS5OVmEhPT12b2lkIDApcmV0dXJuIGEuTlZhO2lmKHlVZChhKSYmYS5lX2EhPT12b2lkIDApcmV0dXJuIGEuZV9hfTtcbnZhciBmVmQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLkdaO3ZhciBkPWIuRUs7aWYoKGM9PW51bGw/dm9pZCAwOmMuekluZGV4KSE9PXZvaWQgMCl7Yj1jLm92ZXJsYXk7Yy5vYT1iLnBhcmVudEVsZW1lbnQ7aWYoIWMuQ2Epe3ZhciBlO2MuT2I9KGU9Yi5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKSE9bnVsbD9lOmMub2F9ZT1fLm5tLmdldENvbXB1dGVkU3R5bGUoYixcInBvc2l0aW9uXCIpO2UhPT1cImZpeGVkXCImJmUhPT1cImFic29sdXRlXCImJih2VWQoRXJyb3IoXCJjalwiKSksYi5zdHlsZS5wb3NpdGlvbj1cImZpeGVkXCIpO2Iuc3R5bGUuekluZGV4PWMuekluZGV4Lm92ZXJsYXkudG9TdHJpbmcoKTtiLnN0eWxlLmFhYj1cImlzb2xhdGVcIjthLk13LmFwcGVuZENoaWxkKGIpO2Eub2EmJiFjLlFhJiZVVWQoYS5vYSk7YS5Ndy5vZmZzZXRIZWlnaHQ7ZC5zb21lKGZ1bmN0aW9uKGYpe3JldHVybiBmLm9hIT09dm9pZCAwfSl8fChjPWEuQ2EpPT1udWxsfHwoYy5vYSE9PXZvaWQgMCYmUFVkKGMpLGMub2E9XG5fLlR1KCksYy5DYT1jLm9hLnN0eWxlLnpJbmRleCxjLlNoLm9ic2VydmUoYy5vYSx7Y2hpbGRMaXN0OiEwfSkpO1hVZChhLkFhLGIpJiZaVWQoYS5BYSl9fSxlVmQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnk4O2I9Yi5FSztpZigoYz09bnVsbD92b2lkIDA6Yy5vYSkhPT12b2lkIDApe3ZhciBkPWMub3ZlcmxheTtkLnN0eWxlLnBvc2l0aW9uPWMud2IucG9zaXRpb247ZC5zdHlsZS5hYWI9Yy53Yi5hYWI7ZC5zdHlsZS56SW5kZXg9Yy53Yi56SW5kZXg7YS5Ndy5yZW1vdmVDaGlsZChkKTtjLm9hLmFwcGVuZENoaWxkKGMub3ZlcmxheSk7Yy5DYXx8aFZkKGMpO2Eub2EmJiFjLlFhJiZWVWQoYS5vYSk7aWYoIWIuc29tZShmdW5jdGlvbihmKXtyZXR1cm4gZi5vYSE9PXZvaWQgMH0pKXt2YXIgZTsoZT1hLkNhKT09bnVsbHx8UFVkKGUpfVhVZChhLkFhLGQpJiZZVWQoYS5BYSl9fSxoVmQ9ZnVuY3Rpb24oYSl7dmFyIGI7KGI9YS5HYik9PW51bGx8fGIuQ2EoKTt2YXIgYzsoYz1hLmtiKSE9XG5udWxsJiZjLmRpc3Bvc2UoKX07Y1ZkLnByb3RvdHlwZS5xY2E9ZnVuY3Rpb24oYSxiKXt2YXIgYztyZXR1cm4gXy5iaChmdW5jdGlvbihkKXthLmFuaW1hdGlvbj0oYz1iLmdldEFuaW1hdGlvbigpKSE9bnVsbD9jOm5ldyBBVWQoYS5vdmVybGF5KTtyZXR1cm4gZC55aWVsZChhLmFuaW1hdGlvbi5vcGVuKCksMCl9KX07dmFyIGRWZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5iaChmdW5jdGlvbihiKXtyZXR1cm4gYi55aWVsZChhLmFuaW1hdGlvbi5jbG9zZSgpLDApfSl9LGJWZD1mdW5jdGlvbihhKXt0aGlzLm9hPWF9O3ZhciBpVmQ9ZnVuY3Rpb24oKXt9O18ubT1pVmQucHJvdG90eXBlO18ubS5JQ2E9ZnVuY3Rpb24oYSl7YS5HYSE9PXZvaWQgMCYmdlVkKEVycm9yKFwiZGpcIikpO3ZhciBiPXtsNmE6YS5vdmVybGF5fTt2YXIgYz1iLmw2YTtiPWIudTBhPT09dm9pZCAwP2RvY3VtZW50LmJvZHk6Yi51MGE7dmFyIGQ9W107aWYoYi5jb250YWlucyhjKSlmb3IoO2MmJmMhPT1iO2M9Yy5wYXJlbnRFbGVtZW50KXt2YXIgZT12b2lkIDAsZj12b2lkIDAsZz1fLlBhKChmPShlPWMucGFyZW50RWxlbWVudCk9PW51bGw/dm9pZCAwOmUuY2hpbGRyZW4pIT1udWxsP2Y6W10pO2ZvcihlPWcubmV4dCgpOyFlLmRvbmU7ZT1nLm5leHQoKSllPWUudmFsdWUsZSE9PWMmJmpWZChlLGQpfWVsc2UgalZkKGIsZCk7YS5HYT1kfTtfLm0uT0hhPWZ1bmN0aW9uKGEpe3ZhciBiO2E9Xy5QYSgoYj1hLkdhKSE9bnVsbD9iOltdKTtmb3IoYj1hLm5leHQoKTshYi5kb25lO2I9YS5uZXh0KCkpYi52YWx1ZS5yZW1vdmVBdHRyaWJ1dGUoXCJhcmlhLWhpZGRlblwiKX07XG5fLm0ubnJhPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZ0RiO2E9YS5Ib2I7dmFyIGM9YS5vYSE9PXZvaWQgMDtpZihiLm9hIT09dm9pZCAwJiZjKXt2YXIgZDtiLkdhPShkPWEuR2EpIT1udWxsP2Q6W107ZD1iLkdhLmluZGV4T2YoYi5vdmVybGF5KTtkIT09LTEmJihiLkdhLnNwbGljZShkLDEpLGIub3ZlcmxheS5yZW1vdmVBdHRyaWJ1dGUoXCJhcmlhLWhpZGRlblwiKSl9ZWxzZSB0aGlzLk9IYShhKSx0aGlzLklDYShiKX07Xy5tLnhkYj1mdW5jdGlvbihhKXt2YXIgYj1hLlZEZDthPWEuRUs7dmFyIGM9Yi5vdmVybGF5O2MuZ2V0QXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIik9PT1cInRydWVcIiYma1ZkKGMsYSkmJihiLlJiPSEwLGMucmVtb3ZlQXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIikpfTtfLm0uU2RiPWZ1bmN0aW9uKGEpe3ZhciBiPWEuVTNjO2E9YS5FSztiLlJiJiZrVmQoYi5vdmVybGF5LGEpJiZiLm92ZXJsYXkuc2V0QXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIixcInRydWVcIil9O1xudmFyIGtWZD1mdW5jdGlvbihhLGIpe3JldHVybiBiLm1hcChmdW5jdGlvbihjKXtyZXR1cm4gYy5HYX0pLmZpbHRlcihmdW5jdGlvbihjKXtyZXR1cm4gYyE9PXZvaWQgMH0pLmZsYXQoKS5pbmNsdWRlcyhhKX0salZkPWZ1bmN0aW9uKGEsYil7YS5pZCE9PVwic1ptdDNiXCImJmEuZ2V0QXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIikhPT1cInRydWVcIiYmKGEuc2V0QXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIixcInRydWVcIiksYi5wdXNoKGEpKX07dmFyIGxWZD1mdW5jdGlvbigpe307Xy5tPWxWZC5wcm90b3R5cGU7Xy5tLklDYT1mdW5jdGlvbihhKXthLkxhPW5ldyBfLnREYihhLm92ZXJsYXkpO3RyeXt2YXIgYj1hLkxhO2Iub2F8fChfLnhEYihiLkFhKSxiLm9hPSEwKX1jYXRjaChjKXthLkxhPXZvaWQgMH19O18ubS5PSGE9ZnVuY3Rpb24oYSl7dmFyIGI7KGI9YS5MYSk9PW51bGx8fF8udURiKGIpfTtfLm0ubnJhPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZ0RiO3RoaXMuT0hhKGEuSG9iKTt0aGlzLklDYShiKX07Xy5tLnhkYj1mdW5jdGlvbigpe307Xy5tLlNkYj1mdW5jdGlvbigpe307dmFyIG1WZD1mdW5jdGlvbihhKXt0aGlzLkpqPWF9O18ubT1tVmQucHJvdG90eXBlO18ubS5JQ2E9ZnVuY3Rpb24oYSxiKXthPWIuaG5iO2IuVlNhJiZ0aGlzLkpqLmRpc2FibGUoKTtiPV8uUGEoYSk7Zm9yKGE9Yi5uZXh0KCk7IWEuZG9uZTthPWIubmV4dCgpKWE9YS52YWx1ZSxhLllGJiYoYS5ZYj1hLllGLnN0eWxlLm92ZXJmbG93WCxhLnFjPWEuWUYuc3R5bGUub3ZlcmZsb3dZLGEuWUYuc3R5bGUub3ZlcmZsb3c9XCJoaWRkZW5cIil9O18ubS5PSGE9ZnVuY3Rpb24oYSxiKXthPWIuaG5iO2IuVlNhJiZ0aGlzLkpqLmVuYWJsZSgpO2I9Xy5QYShhKTtmb3IoYT1iLm5leHQoKTshYS5kb25lO2E9Yi5uZXh0KCkpaWYoYT1hLnZhbHVlLGEuWUYpe3ZhciBjPXZvaWQgMDthLllGLnN0eWxlLm92ZXJmbG93WD0oYz1hLlliKSE9bnVsbD9jOlwiXCI7Yz12b2lkIDA7YS5ZRi5zdHlsZS5vdmVyZmxvd1k9KGM9YS5xYykhPW51bGw/YzpcIlwifX07Xy5tLm5yYT1mdW5jdGlvbigpe307Xy5tLnhkYj1mdW5jdGlvbigpe307XG5fLm0uU2RiPWZ1bmN0aW9uKCl7fTt2YXIgblZkPWZ1bmN0aW9uKGEpe3RoaXMucW49YX07Xy5tPW5WZC5wcm90b3R5cGU7Xy5tLklDYT1mdW5jdGlvbihhLGIpe2IuVlNhJiZ0aGlzLnFuLmlzQXZhaWxhYmxlKCkmJmEuUWEmJih0aGlzLnFuLnduKDU4KSxiPV8uanooKStfLmh6LmdldEhlYWRlclBhZGRpbmdIZWlnaHQoKSx3aW5kb3cuc2Nyb2xsWTxiJiYoYS5YZmE9d2luZG93LnNjcm9sbFksXy5reigwLGIpKSx0aGlzLm9hPV8uWGQoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LFwic2Nyb2xsXCIsXy5yd2EpKX07Xy5tLk9IYT1mdW5jdGlvbihhLGIpe2IuVlNhJiZ0aGlzLnFuLmlzQXZhaWxhYmxlKCkmJmEuUWEmJih0aGlzLnFuLllJKDU4KSxhLlhmYSE9PXZvaWQgMCYmXy5reigwLGEuWGZhKSx0aGlzLm9hJiZfLkxrKHRoaXMub2EpLHRoaXMub2E9dm9pZCAwKX07Xy5tLm5yYT1mdW5jdGlvbihhKXthLmdEYi5YZmE9YS5Ib2IuWGZhfTtfLm0ueGRiPWZ1bmN0aW9uKCl7fTtfLm0uU2RiPWZ1bmN0aW9uKCl7fTt2YXIgb1ZkPWZ1bmN0aW9uKGEpe3RoaXMub2E9YX0scFZkPWZ1bmN0aW9uKGEpe3JldHVyblwic3RhY2tfbm9uX2Rlc2NlbmRhbnQ6IFdoaWxlIGEgbW9kYWwgb3ZlcmxheSB3YXMgb3BlbiwgYXR0ZW1wdGVkIHRvIFwiKygoYT09PTI/XCJvcGVuIGEgc3RhY2tlZCBvdmVybGF5IHRoYXQgaXMgbm90IGl0cyBkZXNjZW5kYW50IGluIHRoZSBET01cIjpcInJlcGxhY2UgYW4gb3ZlcmxheSBzdGFja2VkIG9uIHRvcCBvZiBpdCB3aXRoIGFuIG92ZXJsYXkgdGhhdCBpcyBub3QgaXRzIGRlc2NlbmRhbnQgaW4gdGhlIERPTVwiKStcIi4gRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyBlcnJvciwgc2VlIGdvL292ZXJsYXktc2VydmljZS1lcnJvcnMjc3RhY2stbm9uLWRlc2NlbmRhbnQuXFxuXFxuXCIpfSxyVmQ9ZnVuY3Rpb24oYSl7dmFyIGI9cVZkKGEpO3JldHVybiBiIT09LTE/e2huYjphLnNsaWNlKGIpLFZTYTohMX06e2huYjphLFZTYTohMH19LHFWZD1mdW5jdGlvbihhKXtyZXR1cm4gYS5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIGIuQ2F9KS5sYXN0SW5kZXhPZighMCl9LFxuc1ZkPWZ1bmN0aW9uKGEsYil7dmFyIGM9cVZkKGIpO3JldHVybiBjPT09LTE/ITE6IWIuc2xpY2UoYykuc29tZShmdW5jdGlvbihkKXtyZXR1cm4gZC5vdmVybGF5LmNvbnRhaW5zKGEpfSl9LHRWZD1mdW5jdGlvbihhLGIpe3JldHVybiBiIGluc3RhbmNlb2YgTVVkJiZiLm9hIT09dm9pZCAwJiZzVmQoYi5vYSxhKX07dmFyIHVWZD1mdW5jdGlvbihhLGIsYyl7dGhpcy5vbkRpc21pc3M9YTt0aGlzLkxwPWI7dGhpcy5PYz1jfTtcbnVWZC5wcm90b3R5cGUuUGg9ZnVuY3Rpb24oYSl7dmFyIGI9YS55ODt2YXIgYz1hLkVLO3ZhciBkPWEuSzE7YiYmdGhpcy5McC51bmxpc3RlbihiLm92ZXJsYXkpO2I9Xy5QYShkKTtmb3IoZD1iLm5leHQoKTshZC5kb25lO2Q9Yi5uZXh0KCkpZD1kLnZhbHVlLGQ8MHx8ZD49Yy5sZW5ndGh8fHRoaXMuTHAudW5saXN0ZW4oY1tkXS5vdmVybGF5KTtkPWEuR1o7dmFyIGU9YS55ODtjPWEuSzE7Yj1hLkVLO2lmKCFhLktfYil7aWYoZSl7ZT1fLlBhKGUuQmEuZXZlbnRUeXBlcyk7Zm9yKHZhciBmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSl7Zj1mLnZhbHVlO2E6e3ZhciBnPWI7Zm9yKHZhciBoPWcubGVuZ3RoLTE7aD49MDtoLS0paWYoZ1toXS5CYS5ldmVudFR5cGVzLmluY2x1ZGVzKGYpKXtnPWg7YnJlYWsgYX1nPS0xfWNbZl09Z319aWYoZClmb3IoZD1fLlBhKGQuQmEuZXZlbnRUeXBlcyksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpY1tlLnZhbHVlXT1iLmxlbmd0aH1jPVxuYS5HWjtiPWEuRUs7ZD1hLksxO2E9Yi5jb25jYXQoYz9bY106W10pO2lmKGEubGVuZ3RoIT09MClmb3IoYz12VmQoe0sxOmQsQ1FkOmF9KSxjPV8uUGEoYy5lbnRyaWVzKCkpLGI9Yy5uZXh0KCk7IWIuZG9uZTtiPWMubmV4dCgpKWQ9Xy5QYShiLnZhbHVlKSxiPWQubmV4dCgpLnZhbHVlLGQ9ZC5uZXh0KCkudmFsdWUsd1ZkKHRoaXMsYVtiXSxkKX07XG52YXIgeVZkPWZ1bmN0aW9uKGEsYil7Yj1iIT1udWxsP2I6eFZkO3ZhciBjPWIuSnJhLGQ9Yi5aT2EsZT1iLkxDYTtiPXt2M2I6ZnVuY3Rpb24oKXtyZXR1cm4gY30sSjRiOmZ1bmN0aW9uKCl7cmV0dXJuIGQhPW51bGw/ZDp2b2lkIDB9LElHOmZ1bmN0aW9uKCl7cmV0dXJuIGV9LEcyYjpmdW5jdGlvbigpe3JldHVybiBQcm9taXNlLnJlc29sdmUoKX19O3RyeXt2YXIgZj1hLlNiKGIpfWNhdGNoKGcpe2Y9ITF9cmV0dXJuIGZ9LEFWZD1mdW5jdGlvbihhLGIsYyxkLGUsZil7dmFyIGc9ZS5KcmE7dmFyIGg9ZS5aT2E7dmFyIGs9ZS5MQ2E7dmFyIGw7cmV0dXJuIF8uYmgoZnVuY3Rpb24obil7aWYobi5vYT09MSlyZXR1cm4gbi55aWVsZCh6VmQoYSxiLm92ZXJsYXksYyxkLHtKcmE6ZyxaT2E6aH0pLDIpO2w9bi5BYTtyZXR1cm4gbD09PS0xPyhhLlBoKHtFSzpjLEsxOmQsS19iOjB9KSxuLnJldHVybigpKTpuLnJldHVybihmKGNbbF0ub3ZlcmxheSx7SnJhOmcsWk9hOmgsTENhOmt9KSl9KX0sXG52VmQ9ZnVuY3Rpb24oYSl7dmFyIGI9YS5LMTt2YXIgYz1hLkNRZDthPW5ldyBNYXA7dmFyIGQ9WzEsMiwzXSxlPWNbYy5sZW5ndGgtMV0uQmEuZXZlbnRUeXBlcy5maWx0ZXIoZnVuY3Rpb24oayl7cmV0dXJuIWQuaW5jbHVkZXMoayl9KTthLnNldChjLmxlbmd0aC0xLGUpO2M9Xy5QYShkKTtmb3IoZT1jLm5leHQoKTshZS5kb25lO2U9Yy5uZXh0KCkpe2U9ZS52YWx1ZTt2YXIgZj1iW2VdO2lmKCEoZjwwKSl7dmFyIGc9dm9pZCAwLGg9KGc9YS5nZXQoZikpIT1udWxsP2c6W107aC5wdXNoKGUpO2Euc2V0KGYsaCl9fXJldHVybiBhfSx3VmQ9ZnVuY3Rpb24oYSxiLGMpe2MubGVuZ3RoIT09MCYmKGMuaW5jbHVkZXMoNCkmJkJWZChiKSxiLmhiJiZiLlVhPT09dm9pZCAwJiZ2VWQoRXJyb3IoXCJnalwiKSksYS5McC5saXN0ZW4oYi5vdmVybGF5LGZ1bmN0aW9uKGQsZSxmKXtpZihkPT09MClyZXR1cm4gdlVkKEVycm9yKFwiZWpcIikpLCExO3RyeXthLm9uRGlzbWlzcyhiLHtKcmE6ZCxaT2E6ZSxcbkxDYTpmfSl9Y2F0Y2goZyl7dlVkKGcpfXJldHVybiEwfSxjLGEuT2MsITEsYi5CYS5vRWIsYi5CYS55SGEsYi5CYS5XeWEpKX0sQlZkPWZ1bmN0aW9uKGEpe3ZhciBiPWEuQmE7Yi55SGEhPT12b2lkIDAmJmIuV3lhIT09dm9pZCAwJiZiLld5YS5sZW5ndGghPT0wfHx2VWQoRXJyb3IoXCJmamBcIithLm92ZXJsYXkrXCJgXCIrYi5XeWErXCJgXCIrYi55SGEpKX0selZkPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9ZS5KcmE7dmFyIGc9ZS5aT2E7dmFyIGgsaztyZXR1cm4gXy5iaChmdW5jdGlvbihsKXtoPWNbZFtmXV07aWYoaD09PXZvaWQgMHx8aC5vdmVybGF5IT09YilyZXR1cm4gbC5yZXR1cm4oLTEpO3N3aXRjaChmKXtjYXNlIDE6cmV0dXJuIGwucmV0dXJuKG5ldyBQcm9taXNlKGZ1bmN0aW9uKG4peygwLF8ucW4pKGZ1bmN0aW9uKCl7bihDVmQoe1NXYjpnLHN0YWNrOmMsTENhOmZ9KSl9LDApfSkpO2Nhc2UgMzpyZXR1cm4gbC5yZXR1cm4oQ1ZkKHtTV2I6ZyxzdGFjazpjLExDYTpmfSkpO1xuY2FzZSAyOnJldHVybiBsLnJldHVybihkW2ZdKTtjYXNlIDQ6cmV0dXJuIGs9Y1tjLmxlbmd0aC0xXS5vdmVybGF5LGwucmV0dXJuKGI9PT1rP2MubGVuZ3RoLTE6LTEpO2RlZmF1bHQ6dGhyb3cgRXJyb3IoXCJoamBcIitmKTt9fSl9LENWZD1mdW5jdGlvbihhKXt2YXIgYj1hLlNXYjt2YXIgYz1hLnN0YWNrO3ZhciBkPWEuTENhO2lmKCEoYiBpbnN0YW5jZW9mIEVsZW1lbnQpKXJldHVybi0xO2E9LTE7Zm9yKHZhciBlPWMubGVuZ3RoLTE7ZT49MCYmIV8ud2YoY1tlXS5vdmVybGF5LGIpO2UtLSl7dmFyIGY9YixnPWNbZV07aWYoZy5VYSYmXy53ZihnLlVhLGYpKXtiPWNbZV07Yi5oYiYmYi5vdmVybGF5LnNldEF0dHJpYnV0ZShcImRhdGEtaW5vXCIsXCJcIik7YT1jW2VdLmhiP2U6YTticmVha312YXIgaD1nPXZvaWQgMDtmPWQhPT0zPyExOihnPShoPWNbZV0ua2IpPT1udWxsP3ZvaWQgMDpfLnFEYihoLGIpKSE9bnVsbD9nOiExO2lmKGYpYnJlYWs7RFZkKGNbZV0sZCkmJihhPWUpO2lmKGNbZV0uQ2EpYnJlYWt9cmV0dXJuIGF9LFxuRFZkPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGI9PT0xP1sxLDNdLnNvbWUoZnVuY3Rpb24oYyl7cmV0dXJuIGEuQmEuZXZlbnRUeXBlcy5pbmNsdWRlcyhjKX0pOmEuQmEuZXZlbnRUeXBlcy5pbmNsdWRlcygzKX0seFZkPXtKcmE6MH07Xy5FVmQ9ZnVuY3Rpb24oYSl7Xy5Ebi5jYWxsKHRoaXMsYS5OYSk7dGhpcy5PYz1fLmltKF8uUmMoXCJMVklYWGJcIiksXy5uTGEsMSk9PT0xO3RoaXMuQmE9bmV3IGNWZDt0aGlzLnN0YWNrPVtdO3RoaXMuSzE9QXJyYXkoT2JqZWN0LnZhbHVlcyh6VWQpLmxlbmd0aCk7dGhpcy5BYT1uZXcgdVZkKHRoaXMuR2EuYmluZCh0aGlzKSxhLnNlcnZpY2UuZGlzbWlzcyx0aGlzLk9jKTt0aGlzLksxLmZpbGwoLTEpO3RoaXMuQ2E9bmV3IG9WZChbbmV3IGlWZCxuZXcgbFZkLG5ldyBtVmQoYS5zZXJ2aWNlLkpqKSxuZXcgblZkKGEuc2VydmljZS5VZildKX07Xy5EKF8uRVZkLF8uRG4pO18uRVZkLldhPV8uRG4uV2E7dmFyIEZWZD1mdW5jdGlvbihhKXtyZXR1cm4gYS5zdGFjay5sZW5ndGg+MD9hLnN0YWNrW2Euc3RhY2subGVuZ3RoLTFdOnZvaWQgMH07Xy5FVmQuSWE9ZnVuY3Rpb24oKXtyZXR1cm57c2VydmljZTp7ZGlzbWlzczpfLk91LEpqOl8uU3UsVWY6Xy5hcX19fTtfLm09Xy5FVmQucHJvdG90eXBlO1xuXy5tLm9wZW49ZnVuY3Rpb24oYSxiKXtyZXR1cm4gR1ZkKHRoaXMsYSxiLmJ1aWxkKCkpfTtfLm0uY2xvc2U9ZnVuY3Rpb24oYSl7SFZkKHRoaXMsYSl9O18ubS5pc09wZW49ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuc3RhY2suc29tZShmdW5jdGlvbihiKXtyZXR1cm4gYi5vdmVybGF5PT09YX0pfTtfLm0uUmZjPWZ1bmN0aW9uKGEsYil7cmV0dXJuIEdWZCh0aGlzLGEsYil9O18ubS5NWWI9ZnVuY3Rpb24oYSl7SFZkKHRoaXMsYSl9O1xudmFyIEdWZD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIElWZChhLGZ1bmN0aW9uKCl7dmFyIGQsZTtyZXR1cm4gXy5iaChmdW5jdGlvbihmKXtpZihhLmlzT3BlbihiKSlyZXR1cm4gZi5yZXR1cm4oKTtpZihiLmhhc0F0dHJpYnV0ZShcImRhdGEtaW5vXCIpKXJldHVybiBiLnJlbW92ZUF0dHJpYnV0ZShcImRhdGEtaW5vXCIpLGYucmV0dXJuKCk7dmFyIGc9ZD1KVmQoYSxjKSxoPWEuRUsoYS5zdGFjayxkKTtpZighYy5BdGEoKSYmc1ZkKGIsaCkpdGhyb3cgRXJyb3IocFZkKGcpKTtpZihkPT09MyYmKGU9eVZkKEZWZChhKSksIWUmJihnPWQ9MixoPWEuRUsoYS5zdGFjayxkKSwhYy5BdGEoKSYmc1ZkKGIsaCkpKSl0aHJvdyBFcnJvcihwVmQoZykpO3JldHVybiBmLnlpZWxkKEtWZChhLGQsYixjKSwwKX0pfSl9LEhWZD1mdW5jdGlvbihhLGIpe0lWZChhLGZ1bmN0aW9uKCl7cmV0dXJuIF8uYmgoZnVuY3Rpb24oYyl7cmV0dXJuIGMueWllbGQoTFZkKGEsYiksMCl9KX0pfSxMVmQ9ZnVuY3Rpb24oYSxcbmIsYyl7dmFyIGQ7cmV0dXJuIF8uYmgoZnVuY3Rpb24oZSl7ZD1NVmQoYSxiKTtyZXR1cm4gZD09PS0xP2UucmV0dXJuKCk6ZS55aWVsZChOVmQoYSxkLGMpLDApfSl9O18uRVZkLnByb3RvdHlwZS5HYT1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXM7SVZkKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gXy5iaChmdW5jdGlvbihkKXtyZXR1cm4gZC55aWVsZChBVmQoYy5BYSxhLGMuc3RhY2ssYy5LMSxiLGZ1bmN0aW9uKGUsZil7cmV0dXJuIF8uYmgoZnVuY3Rpb24oZyl7cmV0dXJuIGcueWllbGQoTFZkKGMsZSxmKSwwKX0pfSksMCl9KX0pfTtcbnZhciBOVmQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGU7cmV0dXJuIF8uYmgoZnVuY3Rpb24oZil7Zi5vYT09MSYmKGQ9YS5zdGFjay5sZW5ndGgtMSk7aWYoZi5vYSE9Myl7aWYoIShkPj1iKSlyZXR1cm4gZi5NYigwKTtlPXlWZChhLnN0YWNrW2RdLGMpO3JldHVybiBlP2YueWllbGQoS1ZkKGEsMSksMyk6KGEuQWEuUGgoe0VLOmEuc3RhY2ssSzE6YS5LMSxLX2I6MX0pLGYuTWIoMCkpfWQtLTtyZXR1cm4gZi5NYigyKX0pfSxLVmQ9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixnLGgsayxsLG47cmV0dXJuIF8uYmgoZnVuY3Rpb24ocil7aWYoci5vYT09MSl7ZT1iIT09MTtmPWI9PT0xfHxiPT09MztnPWU/bmV3IE1VZChjLGQpOnZvaWQgMDtoPWY/RlZkKGEpOnZvaWQgMDtrPWEuRUsoYS5zdGFjayxiKTtsPXt0cmFuc2l0aW9uOmIsR1o6Zyx5ODpoLG9wdGlvbnM6ZCxFSzprLEsxOmEuSzF9O3ZhciB0O3ZhciB1PWwuR1o7KHQ9bC55OCkmJiF0LkNhJiYodC5XZz1fLndmKHQub3ZlcmxheSxcbmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpKTt1JiZ1Lk9hPT09MSYmKHUuUmE9e2VsOmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQscHJldmVudFNjcm9sbDohdS5DYXx8KHQ9PW51bGw/MDp0LlJhLnByZXZlbnRTY3JvbGwpPyEwOiExfSk7cmV0dXJuIHIueWllbGQoZ1ZkKGEuQmEsbCksMil9dmFyIHo9bC5HWjt2YXIgQj1sLkVLO2lmKHomJnouQWE9PT12b2lkIDAmJnRWZChCLHopKXt2YXIgRj1xVmQoQik7aWYoRiE9PS0xKXtCPUJbRl07dmFyIEs7KEY9KEs9Qi5MYSk9PW51bGw/dm9pZCAwOl8ueURiKEsuQWEsMSkpP3ouQWE9Rjp6LkFhPUIub3ZlcmxheX19aWYoej1sLkdaKWlmKEs9ei5vdmVybGF5LEY9ei5vYSxGIT09dm9pZCAwJiZ6Lk9iIT09dm9pZCAwKXtLLmlkPUsuaWR8fGEuQmEudW5pcXVlSWRTZXJ2aWNlLlFvKFwib3N1aWRcIik7ei5QbD1LLmlkO3ZhciBQO0I9KFA9ei5BYSkhPW51bGw/UDp6Lk9iO3ZhciBRLFU7UD0oVT0oUT16LkFhKT09bnVsbD92b2lkIDA6US5wYXJlbnRFbGVtZW50KSE9XG5udWxsP1U6Rjt6LkdiPW5ldyBDVWQoSyk7UT16LkdiO1Eub2EmJlEuQ2EoKTtpZighUS5BYS5pZCl0aHJvdyBFcnJvcihcImNmXCIpO1EuQmE9US5BYS5pZDt2YXIgbWE7VT0obWE9KHQ9UC5nZXRBdHRyaWJ1dGUoXCJhcmlhLW93bnNcIikpPT1udWxsP3ZvaWQgMDp0LnNwbGl0KFwiIFwiKSkhPW51bGw/bWE6W107VS5pbmNsdWRlcyhRLkFhLmlkKXx8KFUucHVzaChRLkFhLmlkKSxQLnNldEF0dHJpYnV0ZShcImFyaWEtb3duc1wiLFUuam9pbihcIiBcIikpLFEub2E9UCk7ei5rYj1uZXcgRVVkKHttb3ZlOkssS1NkOkJ9KTt0PXoua2I7aWYodC5vYS5jaGlsZHJlbi5sZW5ndGg9PT0wKXRocm93IEVycm9yKFwiJGlcIik7aWYoIXQuQmEpdGhyb3cgRXJyb3IoXCJhalwiKTtJVWQodCk7SlVkKHQpO0xVZCh0KX1RPWEuQ2E7VT1sLkdaO3Q9bC55ODttYT1sLkVLO2lmKHRWZChtYSxVKSlmb3IoUD1xVmQobWEpLHo9Xy5QYShRLm9hKSxLPXoubmV4dCgpOyFLLmRvbmU7Sz16Lm5leHQoKSlLLnZhbHVlLnhkYih7VkRkOlUsXG5FSzptYSxaWGM6bWFbUF19KTtpZih0VmQobWEsdCkpZm9yKFU9cVZkKG1hKSxRPV8uUGEoUS5vYSksUD1RLm5leHQoKTshUC5kb25lO1A9US5uZXh0KCkpUC52YWx1ZS5TZGIoe1UzYzp0LEVLOm1hLFpYYzptYVtVXX0pO1E9YS5DYTt0PWwuR1o7bWE9bC55ODtVPWwuRUs7dD0odD09bnVsbD8wOnQuQ2EpP3Q6dm9pZCAwO21hPShtYT09bnVsbD8wOm1hLkNhKT9tYTp2b2lkIDA7aWYodCYmIW1hKWZvcihtYT1yVmQoVSksUT1fLlBhKFEub2EpLFU9US5uZXh0KCk7IVUuZG9uZTtVPVEubmV4dCgpKVUudmFsdWUuSUNhKHQsbWEpO2Vsc2UgaWYoIXQmJm1hKWZvcih0PXJWZChVKSxRPV8uUGEoUS5vYSksVT1RLm5leHQoKTshVS5kb25lO1U9US5uZXh0KCkpVS52YWx1ZS5PSGEobWEsdCk7ZWxzZSBpZih0JiZtYSlmb3IoUT1fLlBhKFEub2EpLFU9US5uZXh0KCk7IVUuZG9uZTtVPVEubmV4dCgpKVUudmFsdWUubnJhKHtnRGI6dCxIb2I6bWF9KTthLkFhLlBoKGwpO21hPWwudHJhbnNpdGlvbjtcblE9bC5HWjtVPWwueTg7dD17ZWw6dm9pZCAwLHByZXZlbnRTY3JvbGw6ITF9O1UmJihVLk9hPT09MT90PVUuUmE6KHQ9VS5PYT09PTMsVS5XZz9VLkFhPyhQPV8ubkRiKFUuQWEsMCksdD10P1A/VS5BYTp1VWQoVS5BYSk6c1VkKFUuQWEpKTp0PXQ/dVVkKFUub3ZlcmxheSk6c1VkKFUub3ZlcmxheSk6dD12b2lkIDAsdD17ZWw6dCxwcmV2ZW50U2Nyb2xsOiEwfSkpO1EmJm1hPT09MyYmdC5lbCYmKFEuUmE9dCk7YTp7bWE9bC5HWjtRPWwub3B0aW9ucztpZihtYSl7aWYoUD1VPVE9PW51bGw/dm9pZCAwOlEucFMoKSlfLndmKG1hLm92ZXJsYXksVSk/Xy5uRGIoVSwtMSk/UD0hMDoodlVkKEVycm9yKFwia2pgXCIrVS5vdXRlckhUTUwpKSxQPSExKToodlVkKEVycm9yKFwiampgXCIrVS5vdXRlckhUTUwrXCJgXCIrbWEub3ZlcmxheSkpLFA9ITEpO2lmKFApe3U9VTticmVhayBhfWlmKG1hLk9hPT09MSYmbWEuQ2Epe1E9KHU9UT09bnVsbD92b2lkIDA6US5Fc2IoKSkhPW51bGw/dTohMTttYS5MYT9cbnU9Xy55RGIobWEuTGEuQWEsMCk6KHU9Xy5vRGIobWEub3ZlcmxheSwtMSksdT11Lmxlbmd0aD4wP3VbMF06dm9pZCAwKTt1fHwoUXx8dlVkKEVycm9yKFwiaWpcIikpLG1hLm92ZXJsYXkudGFiSW5kZXg9LTEsdT1tYS5vdmVybGF5KTticmVhayBhfX11PXZvaWQgMH11P3UuZm9jdXMoKTp0LmVsJiZ0LmVsLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOnQucHJldmVudFNjcm9sbH0pO2YmJihuPWEuc3RhY2sucG9wKCksbiE9PWgmJnZVZChFcnJvcihcImxqXCIpKSk7ZSYmYS5zdGFjay5wdXNoKGcpO18uU2cocil9KX0sSlZkPWZ1bmN0aW9uKGEsYil7YT1GVmQoYSk7aWYoYT09PXZvaWQgMClyZXR1cm4gMDthPWEud1phO2I9Yi5qOGEoKTtpZihiIT09MCl7aWYoYS5EUWQuaW5jbHVkZXMoYikpcmV0dXJuIDI7aWYoYS5kSWQuaW5jbHVkZXMoYikpcmV0dXJuIDN9c3dpdGNoKGEuZGVmYXVsdCl7Y2FzZSAyOnJldHVybiAzO2Nhc2UgMTpyZXR1cm4gMjtkZWZhdWx0OnJldHVybiAyfX0sSVZkPWZ1bmN0aW9uKGEsXG5iKXt2YXIgYz1uZXcgXy5zZyxkPWEub2E7YS5vYT1jLnByb21pc2U7Yy5wcm9taXNlLmZpbmFsbHkoZnVuY3Rpb24oKXthLm9hPT09Yy5wcm9taXNlJiYoYS5vYT12b2lkIDApfSk7ZD9kLmZpbmFsbHkoZnVuY3Rpb24oKXtyZXR1cm4gYy5yZXNvbHZlKGIoKSl9KTpjLnJlc29sdmUoYigpKTtyZXR1cm4gYy5wcm9taXNlfTtfLkVWZC5wcm90b3R5cGUuRUs9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj09PTF8fGI9PT0zP2Euc2xpY2UoMCwtMSk6YX07dmFyIE1WZD1mdW5jdGlvbihhLGIpe3JldHVybiBhLnN0YWNrLmZpbmRJbmRleChmdW5jdGlvbihjKXtyZXR1cm4gYy5vdmVybGF5PT09Yn0pfTtfLkZuKF8udFNhLF8uRVZkKTtcbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJZVjViZWVcIik7XG5fLmR3PW5ldyBfLklkKF8uZ3EpO1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBvY2IscGNiLHFjYixyY2Isc2NiLHRjYix1Y2IsdmNiLHdjYix5Y2IsemNiLENjYixGY2IsR2NiLE1jYixOY2IsT2NiLFBjYjtfLmhjYj1mdW5jdGlvbihhLGIpe2EubGVuZ3RoJiYoYiU9YS5sZW5ndGgsYj4wP0FycmF5LnByb3RvdHlwZS51bnNoaWZ0LmFwcGx5KGEsYS5zcGxpY2UoLWIsYikpOmI8MCYmQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkoYSxhLnNwbGljZSgwLC1iKSkpO3JldHVybiBhfTtfLmljYj1mdW5jdGlvbihhLGIpe3ZhciBjPWEucGFyZW50RWxlbWVudDtjIT09bnVsbCYmXy5iaWEoYyk7YS5vdXRlckhUTUw9Xy50YyhiKX07XG5fLmpjYj1mdW5jdGlvbihhLGIsYyxkKXtiPU9iamVjdC5hc3NpZ24oe30se190eXBlOmJ9LHt0eXBlOmIsZGF0YTpjLHRoYTpkfSk7dHJ5e3ZhciBlPWRvY3VtZW50LmNyZWF0ZUV2ZW50KFwiQ3VzdG9tRXZlbnRcIik7ZS5pbml0Q3VzdG9tRXZlbnQoXCJfY3VzdG9tXCIsITAsITEsYil9Y2F0Y2goZil7ZT1kb2N1bWVudC5jcmVhdGVFdmVudChcIkhUTUxFdmVudHNcIiksZS5pbml0RXZlbnQoXCJfY3VzdG9tXCIsITAsITEpLGUuZGV0YWlsPWJ9YS5kaXNwYXRjaEV2ZW50KGUpfTtfLmtjYj1mdW5jdGlvbihhLGIsYyxkKXtfLnVtYSgpJiZfLnZtYS5nZXQoYSkmJihhPV8uc2UuZ2V0KGEpLCFjJiZiJiYoYz1fLnZlKGIpKSxfLnplKGJ8fGRvY3VtZW50LmJvZHksYSx7ZWxlbWVudDpiLGRhdGFzZXQ6YyxldmVudDpkLGlQOnZvaWQgMCxYeGI6ITB9KSl9O18ubGNiPWZ1bmN0aW9uKGEsYil7YT1fLnNlLmdldChhKTtfLnplKGRvY3VtZW50LmJvZHksYSx7ZmhiOmIsWHhiOiEwfSl9O1xuXy5tY2I9ZnVuY3Rpb24oYSl7cmV0dXJuIGEucHJldmlvdXNFbGVtZW50U2libGluZyE9PXZvaWQgMD9hLnByZXZpb3VzRWxlbWVudFNpYmxpbmc6Xy5XeWEoYS5wcmV2aW91c1NpYmxpbmcsITEpfTtfLm5jYj1mdW5jdGlvbihhLGIsYyl7Xy5PZ2EoYSxjKTtyZXR1cm4gXy51YihhLDIsXy53ZWEoYiksXy5MYSgpKX07b2NiPVtbXSxbXV07cGNiPTA7cWNiPSExO3JjYj0wO3NjYj1mdW5jdGlvbigpe3FjYj0hMTt2YXIgYT1vY2JbcGNiXSxiPWEubGVuZ3RoO3BjYj0ocGNiKzEpJTI7Zm9yKHZhciBjLGQ9MDtkPGI7KytkKXtjPWFbZF07dmFyIGU9Yy5Vd2Q7Yy5QJGE9ITE7ZS5iSSYmZS5iSS5hcHBseShlLmNvbnRleHQsYy5hcmdzKX1mb3IoZD0wO2Q8YjsrK2QpYz1hW2RdLGU9Yy5ZeGQsYy5QJGE9ITEsZS5iSSYmZS5iSS5hcHBseShlLmNvbnRleHQsYy5hcmdzKSxjLnN0YXRlPXt9O2EubGVuZ3RoPTB9O1xudGNiPWZ1bmN0aW9uKGEsYil7dmFyIGM9cmNiKyssZD17VXdkOntpZDpjLGJJOmEubWVhc3VyZSxjb250ZXh0OmJ9LFl4ZDp7aWQ6YyxiSTphLnpjLGNvbnRleHQ6Yn0sc3RhdGU6e30sYXJnczp2b2lkIDAsUCRhOiExfTtyZXR1cm4gZnVuY3Rpb24oKXthcmd1bWVudHMubGVuZ3RoPjA/KGQuYXJnc3x8KGQuYXJncz1bXSksZC5hcmdzLmxlbmd0aD0wLGQuYXJncy5wdXNoLmFwcGx5KGQuYXJncyxhcmd1bWVudHMpLGQuYXJncy5wdXNoKGQuc3RhdGUpKTpkLmFyZ3MmJmQuYXJncy5sZW5ndGghPTA/KGQuYXJnc1swXT1kLnN0YXRlLGQuYXJncy5sZW5ndGg9MSk6ZC5hcmdzPVtkLnN0YXRlXTtkLlAkYXx8KGQuUCRhPSEwLG9jYltwY2JdLnB1c2goZCkpO3FjYnx8KHFjYj0hMCx3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHNjYikpfX07dWNiPWZ1bmN0aW9uKGEsYil7dGhpcy5UYz1hO3RoaXMuQWE9Yn07XG52Y2I9ZnVuY3Rpb24oYSxiKXthLnlkfHwoYS55ZD1uZXcgdWNiKGEuVGMsYS5vYSkpO2E9YS55ZDtpZihiKXthLm9hfHwoYS5vYT1bXSk7Yj1hLkFhLmdldENoaWxkcmVuKGEuQWEuQWYoKS5ib2R5KTtmb3IodmFyIGM9MDtjPGIubGVuZ3RoO2MrKyl7dmFyIGQ9YltjXTtkPT1hLlRjfHxfLlNBYShkLFwiaGlkZGVuXCIpfHwoXy5wbShkLFwiaGlkZGVuXCIsITApLGEub2EucHVzaChkKSl9fWVsc2UgaWYoYS5vYSl7Zm9yKGM9MDtjPGEub2EubGVuZ3RoO2MrKylfLnFtKGEub2FbY10sXCJoaWRkZW5cIik7YS5vYT1udWxsfX07d2NiPWZ1bmN0aW9uKGEpe2E9YS5vYS5BZigpO3JldHVybiBfLnBsKF8uUWUoYSl8fHdpbmRvdyl9O18ueGNiPWZ1bmN0aW9uKGEsYil7YS5HQmI9YjtpZihhLk91KCkpe3ZhciBjPWEub2EsZD1hLk9kYSgpLGU9YS5sUDtiPyhlJiZjLlM5YihlLGEuTWEoKSksYy5TOWIoZCxhLk1hKCkpKTooYy5IMmEoZSksYy5IMmEoZCkpfWEuaXNWaXNpYmxlKCkmJnZjYihhLGIpfTtcbnljYj1mdW5jdGlvbihhLGIpe3RoaXMudHlwZT1cImRpYWxvZ3NlbGVjdFwiO3RoaXMua2V5PWE7dGhpcy5jYXB0aW9uPWJ9O18ubWgoeWNiLF8uRmspO3pjYj1mdW5jdGlvbihhKXtpZihhLmxTYSl7dmFyIGI9YS5BYSxjPWImJmIuQWE7Yz8oYj1iLmdldChjKSxhLmRpc3BhdGNoRXZlbnQobmV3IHljYihjLGIpKSYmYS5zZXRWaXNpYmxlKCExKSk6YS5zZXRWaXNpYmxlKCExKX19O18uQWNiPWZ1bmN0aW9uKGEsYil7Yi5mb3JFYWNoKGZ1bmN0aW9uKGMsZCl7YS5NYyhkLGMpfSk7cmV0dXJuIGF9O18uQmNiPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuTmxbYl0mJmEuTmxbYl18fG51bGx9O18uZ3I9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuTmwuc2xpY2UoKX07Xy5ocj1mdW5jdGlvbihhKXtpZihhLk5sLmxlbmd0aD4wKXJldHVybiBfLmdIYShhLk5sWzBdKX07XG5fLmlyPWZ1bmN0aW9uKGEsYil7YS5lYWNoKGZ1bmN0aW9uKGMpe3ZhciBkPWMudHlwZTtzd2l0Y2godHlwZW9mIGQ9PT1cInN0cmluZ1wiJiZkLnRvTG93ZXJDYXNlKCkpe2Nhc2UgXCJjaGVja2JveFwiOmNhc2UgXCJyYWRpb1wiOmMuY2hlY2tlZD1iO2JyZWFrO2Nhc2UgXCJzZWxlY3Qtb25lXCI6Yy5zZWxlY3RlZEluZGV4PS0xO2lmKHR5cGVvZiBiPT09XCJzdHJpbmdcIilmb3IodmFyIGU9MDtkPWMub3B0aW9uc1tlXTtlKyspaWYoZC52YWx1ZT09Yil7ZC5zZWxlY3RlZD0hMDticmVha31icmVhaztjYXNlIFwic2VsZWN0LW11bHRpcGxlXCI6ZD1iO3R5cGVvZiBkPT09XCJzdHJpbmdcIiYmKGQ9W2RdKTtmb3IodmFyIGY9MDtlPWMub3B0aW9uc1tmXTtmKyspaWYoZS5zZWxlY3RlZD0hMSxkKWZvcih2YXIgZyxoPTA7Zz1kW2hdO2grKyllLnZhbHVlPT1nJiYoZS5zZWxlY3RlZD0hMCk7YnJlYWs7ZGVmYXVsdDpjLnZhbHVlPWIhPW51bGw/YjpcIlwifX0pfTtcbkNjYj1mdW5jdGlvbihhKXt0aGlzLkFhPWE7dGhpcy5vYT1uZXcgXy5IZDt0aGlzLnU1PW51bGx9O0NjYi5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbihhKXt0aGlzLnU1fHwodGhpcy51NT1fLk1EYShuZXcgXy5NbmEodGhpcy5BYS5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIGIoYSl9KSksdGhpcy5vYSkpO3JldHVybiB0aGlzLnU1fTtDY2IucHJvdG90eXBlLmRvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vYX07dmFyIERjYj1mdW5jdGlvbihhKXtfLkNrLmNhbGwodGhpcyk7dGhpcy5vYT1bXTt0aGlzLkFhPWEub3duZXJEb2N1bWVudC5ib2R5fTtfLkQoRGNiLF8uQ2spO0RjYi5wcm90b3R5cGUuUWM9ZnVuY3Rpb24oKXtmb3IodmFyIGE9dGhpcy5vYSxiPTA7YjxhLmxlbmd0aDtiKyspXy50ZShhW2JdKTt0aGlzLm9hPVtdO18uQ2sucHJvdG90eXBlLlFjLmNhbGwodGhpcyl9O1xuRGNiLnByb3RvdHlwZS5saXN0ZW49ZnVuY3Rpb24oYSxiLGMpe2E9Xy51ZSh0aGlzLkFhLGEsYixjKTt0aGlzLm9hLnB1c2goYSk7cmV0dXJuIGF9O0RjYi5wcm90b3R5cGUubGlzdGVuT25jZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcyxlO3JldHVybiBlPXRoaXMubGlzdGVuKGEsZnVuY3Rpb24oKXtkLktvKGUpO2U9bnVsbDtiLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sYyl9O0RjYi5wcm90b3R5cGUuS289ZnVuY3Rpb24oYSl7dmFyIGI9Xy50ZShhKTtyZXR1cm4gYj1fLnphKHRoaXMub2EsYSkmJmJ9O18uRWNiPWZ1bmN0aW9uKGEpe3ZhciBiPWEucWouQWE7Ynx8KGI9YS5xai5BYT1uZXcgRGNiKGEueU4pLF8uSGcoYSxiKSk7cmV0dXJuIGJ9O18uanI9ZnVuY3Rpb24oYSl7cmV0dXJuIGEucWoub2E/YS5xai5vYTphLnFqLm9hPW5ldyBfLnJtKGEpfTtcbkZjYj1mdW5jdGlvbihhLGIpe2ImJihhW18uS25hXT1uZXcgQ2NiKGIpLGFbXy5LbmFdLmRvbmUoKS5hZGRDYWxsYmFjayhmdW5jdGlvbigpe2FbXy5LbmFdPW51bGx9KSl9O0djYj1mdW5jdGlvbihhLGIpe3ZhciBjPV8ucGcoYSksZD1fLmtnKGMpO3JldHVybiBuZXcgXy5qZihmdW5jdGlvbihlKXsoZnVuY3Rpb24gZygpe3ZhciBoPV8ud0phKGMsYik7aC5zaXplKCk+MHx8ZC5yZWFkeVN0YXRlPT1cImNvbXBsZXRlXCI/ZShoKTpfLldsKGcsNTApfSkoKX0pfTtfLkhjYj1mdW5jdGlvbihhLGIpe3JldHVybiBHY2IoYS55TixiKS50aGVuKGZ1bmN0aW9uKGMpe2lmKGMuc2l6ZSgpPjApcmV0dXJuIGMuQ2QoMCk7dGhyb3cgXy54SmEoYSxiKTt9KX07Xy5scj1mdW5jdGlvbihhLGIsYyl7Yj1fLnBnKGIpO3JldHVybiBuZXcgXy5qZyhfLmRmKGEueU4sYixjKSl9O1xuXy5tcj1mdW5jdGlvbihhLGIsYyl7Yj1fLnBnKGIpO2I9Xy5scihhLGIsYyk7aWYoYi5zaXplKCk+PTEpcmV0dXJuIGIuQ2QoMCk7dGhyb3cgXy54SmEoYSxjKTt9O18uSWNiPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uTW4oYSwnW2pzbmFtZT1cIicrYisnXCJdJyl9O18uSmNiPWZ1bmN0aW9uKGEpe2EuQWE9bnVsbDtpZihhLmhOKXtpZihhLkFhKXt2YXIgYj1hLkFhO2IuVGM9YS5oTjtiLnJlbmRlcigpfWVsc2UgXy5PZihhLmhOLF8uVWspO18ubm0uVmIoYS5oTiwhIWEuQWEpfX07Xy5LY2I9ZnVuY3Rpb24oYSxiKXthLmxTYT1iO2EuY1ImJl8ubm0uVmIoYS5jUixhLmxTYSl9O18uTGNiPWZ1bmN0aW9uKGEsYil7YS5ZM2E9YjthLk1hKCkmJihiPWEuT2RhKCkpJiZfLm5tLnNldE9wYWNpdHkoYixhLlkzYSl9O01jYj1mdW5jdGlvbihhLGIpe2EubFAmJl8ubm0uVmIoYS5sUCxiKTthLktYJiZfLm5tLlZiKGEuS1gsYik7Xy5ubS5WYihhLk1hKCksYik7Xy5ubS5WYihhLm83LGIpfTtcbk5jYj1mdW5jdGlvbihhKXthLm83fHwoYS5vNz1hLm9hLmNyZWF0ZUVsZW1lbnQoXCJTUEFOXCIpLF8ubm0uVmIoYS5vNywhMSksXy5JbChhLm83LCEwKSxhLm83LnN0eWxlLnBvc2l0aW9uPVwiYWJzb2x1dGVcIil9O09jYj1mdW5jdGlvbihhKXtpZihhLmRoJiYhYS5sUCl7dmFyIGI9YS5vYS5YayhcIklGUkFNRVwiLHtmcmFtZWJvcmRlcjowLHN0eWxlOlwiYm9yZGVyOjA7dmVydGljYWwtYWxpZ246Ym90dG9tO1wifSk7Yi5zcmM9Xy54YyhfLmlCYSkudG9TdHJpbmcoKTthLmxQPWI7YS5sUC5jbGFzc05hbWU9YS5kTWEoKStcIi1iZ1wiO18ubm0uVmIoYS5sUCwhMSk7Xy5ubS5zZXRPcGFjaXR5KGEubFAsMCl9YS5LWHx8KGEuS1g9YS5vYS5YayhcIkRJVlwiLGEuZE1hKCkrXCItYmdcIiksXy5ubS5WYihhLktYLCExKSl9O1xuUGNiPWZ1bmN0aW9uKGEsYil7Xy50bS5jYWxsKHRoaXMsYik7dGhpcy5kaD0hIWE7dGhpcy5MYT1udWxsO3RoaXMuQmU9dGNiKHt6Yzp0aGlzLkxkYn0sdGhpcyk7dGNiKHt6Yzp0aGlzLmpxY30sdGhpcyl9O18ubWgoUGNiLF8udG0pO18ubT1QY2IucHJvdG90eXBlO18ubS5Oa2I9bnVsbDtfLm0uSTJhPSExO18ubS5LWD1udWxsO18ubS5sUD1udWxsO18ubS5vNz1udWxsO18ubS5rbmI9ITE7Xy5tLmRNYT1mdW5jdGlvbigpe3JldHVyblwiZ29vZy1tb2RhbHBvcHVwXCJ9O18ubS5PZGE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5LWH07Xy5tLmdCPWZ1bmN0aW9uKCl7UGNiLk9kLmdCLmNhbGwodGhpcyk7dmFyIGE9dGhpcy5NYSgpLGI9KDAsXy5uaCkodGhpcy5kTWEoKSkuc3BsaXQoXCIgXCIpO18ua20uYWRkQWxsKGEsYik7Xy5JbChhLCEwKTtfLm5tLlZiKGEsITEpO09jYih0aGlzKTtOY2IodGhpcyl9O18ubS5lamM9ZnVuY3Rpb24oKXt0aGlzLmtuYj0hMX07XG5fLm0uYk1hPWZ1bmN0aW9uKGEpe3JldHVybiEhYSYmYS50YWdOYW1lPT1cIkRJVlwifTtfLm0ua0Y9ZnVuY3Rpb24oYSl7UGNiLk9kLmtGLmNhbGwodGhpcyxhKTthPSgwLF8ubmgpKHRoaXMuZE1hKCkpLnNwbGl0KFwiIFwiKTtfLmttLmFkZEFsbCh0aGlzLk1hKCksYSk7T2NiKHRoaXMpO05jYih0aGlzKTtfLklsKHRoaXMuTWEoKSwhMCk7Xy5ubS5WYih0aGlzLk1hKCksITEpfTtfLm0uWnM9ZnVuY3Rpb24oKXt0aGlzLmxQJiZfLnpsKHRoaXMubFAsdGhpcy5NYSgpKTtfLnpsKHRoaXMuS1gsdGhpcy5NYSgpKTtQY2IuT2QuWnMuY2FsbCh0aGlzKTtfLkFsKHRoaXMubzcsdGhpcy5NYSgpKTt0aGlzLk5rYj1uZXcgXy5qQmEodGhpcy5vYS5BZigpKTtfLnVtKHRoaXMpLmxpc3Rlbih0aGlzLk5rYixcImZvY3VzaW5cIix0aGlzLm9uRm9jdXMpO3ZjYih0aGlzLCExKX07XG5fLm0ubUI9ZnVuY3Rpb24oKXt0aGlzLmlzVmlzaWJsZSgpJiZ0aGlzLnNldFZpc2libGUoITEpO18uWGIodGhpcy5Oa2IpO1BjYi5PZC5tQi5jYWxsKHRoaXMpO18uQ2wodGhpcy5sUCk7Xy5DbCh0aGlzLktYKTtfLkNsKHRoaXMubzcpfTtcbl8ubS5zZXRWaXNpYmxlPWZ1bmN0aW9uKGEpe2lmKGEhPXRoaXMuSTJhKWlmKHRoaXMuVWEmJnRoaXMuVWEuc3RvcCgpLHRoaXMuQmImJnRoaXMuQmIuc3RvcCgpLHRoaXMuUWEmJnRoaXMuUWEuc3RvcCgpLHRoaXMua2ImJnRoaXMua2Iuc3RvcCgpLHRoaXMuT3UoKSYmdmNiKHRoaXMsYSksYSl7aWYodGhpcy5kaXNwYXRjaEV2ZW50KFwiYmVmb3Jlc2hvd1wiKSl7dHJ5e3RoaXMuTGE9dGhpcy5vYS5BZigpLmFjdGl2ZUVsZW1lbnR9Y2F0Y2goZSl7fXRoaXMuanFjKCk7Xy51bSh0aGlzKS5saXN0ZW4odGhpcy5vYS5nZXRXaW5kb3coKSxcInJlc2l6ZVwiLHRoaXMuTGRiKS5saXN0ZW4odGhpcy5vYS5nZXRXaW5kb3coKSxcIm9yaWVudGF0aW9uY2hhbmdlXCIsdGhpcy5CZSk7TWNiKHRoaXMsITApO3RoaXMuZm9jdXMoKTt0aGlzLkkyYT0hMDtpZih0aGlzLlVhJiZ0aGlzLkJiKV8uSmsodGhpcy5VYSxcImVuZFwiLHRoaXMub25TaG93LCExLHRoaXMpLHRoaXMuQmIucGxheSgpLHRoaXMuVWEucGxheSgpO1xuZWxzZSB0aGlzLm9uU2hvdygpfX1lbHNlIGlmKHRoaXMuZGlzcGF0Y2hFdmVudChcImJlZm9yZWhpZGVcIikpe18udW0odGhpcykudW5saXN0ZW4odGhpcy5vYS5nZXRXaW5kb3coKSxcInJlc2l6ZVwiLHRoaXMuTGRiKS51bmxpc3Rlbih0aGlzLm9hLmdldFdpbmRvdygpLFwib3JpZW50YXRpb25jaGFuZ2VcIix0aGlzLkJlKTt0aGlzLkkyYT0hMTt0aGlzLlFhJiZ0aGlzLmtiPyhfLkprKHRoaXMuUWEsXCJlbmRcIix0aGlzLnNFLCExLHRoaXMpLHRoaXMua2IucGxheSgpLHRoaXMuUWEucGxheSgpKTp0aGlzLnNFKCk7YTp7dHJ5e3ZhciBiPXRoaXMub2EsYz1iLkFmKCkuYm9keSxkPWIuQWYoKS5hY3RpdmVFbGVtZW50fHxjO2lmKCF0aGlzLkxhfHx0aGlzLkxhPT1jKXt0aGlzLkxhPW51bGw7YnJlYWsgYX0oZD09Y3x8Yi5jb250YWlucyh0aGlzLk1hKCksZCkpJiZ0aGlzLkxhLmZvY3VzKCl9Y2F0Y2goZSl7fXRoaXMuTGE9bnVsbH19fTtfLm0uanFjPWZ1bmN0aW9uKCl7dGhpcy5MZGIoKTt0aGlzLnJlcG9zaXRpb24oKX07XG5fLm0ub25TaG93PWZ1bmN0aW9uKCl7dGhpcy5kaXNwYXRjaEV2ZW50KFwic2hvd1wiKX07Xy5tLnNFPWZ1bmN0aW9uKCl7TWNiKHRoaXMsITEpO3RoaXMuZGlzcGF0Y2hFdmVudChcImhpZGVcIil9O18ubS5pc1Zpc2libGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5JMmF9O18ubS5mb2N1cz1mdW5jdGlvbigpe3RoaXMuUTFiKCl9O1xuXy5tLkxkYj1mdW5jdGlvbigpe3RoaXMubFAmJl8ubm0uVmIodGhpcy5sUCwhMSk7dGhpcy5LWCYmXy5ubS5WYih0aGlzLktYLCExKTt2YXIgYT10aGlzLm9hLkFmKCk7dmFyIGI9d2NiKHRoaXMpO3ZhciBjPU1hdGgubWF4KGIud2lkdGgsTWF0aC5tYXgoYS5ib2R5LnNjcm9sbFdpZHRoLGEuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFdpZHRoKSk7YT1NYXRoLm1heChiLmhlaWdodCxNYXRoLm1heChhLmJvZHkuc2Nyb2xsSGVpZ2h0LGEuZG9jdW1lbnRFbGVtZW50LnNjcm9sbEhlaWdodCkpO3RoaXMubFAmJihfLm5tLlZiKHRoaXMubFAsITApLF8ubm0uc2V0U2l6ZSh0aGlzLmxQLGMsYSkpO3RoaXMuS1gmJihfLm5tLlZiKHRoaXMuS1gsITApLF8ubm0uc2V0U2l6ZSh0aGlzLktYLGMsYSkpfTtcbl8ubS5yZXBvc2l0aW9uPWZ1bmN0aW9uKCl7aWYoXy5ubS5XamEodGhpcy5NYSgpKT09XCJmaXhlZFwiKXZhciBhPTAsYj0wO2Vsc2UgYj1fLlJ5YSh0aGlzLm9hLm9hKSxhPWIueCxiPWIueTt2YXIgYz1fLm5tLmdldFNpemUodGhpcy5NYSgpKTt2YXIgZD13Y2IodGhpcyk7YT1NYXRoLm1heChhK2Qud2lkdGgvMi1jLndpZHRoLzIsMCk7Yj1NYXRoLm1heChiK2QuaGVpZ2h0LzItYy5oZWlnaHQvMiwwKTtfLm5tLnNldFBvc2l0aW9uKHRoaXMuTWEoKSxhLGIpO18ubm0uc2V0UG9zaXRpb24odGhpcy5vNyxhLGIpfTtfLm0ub25Gb2N1cz1mdW5jdGlvbihhKXt0aGlzLmtuYj90aGlzLmVqYygpOmEudGFyZ2V0PT10aGlzLm83JiZfLldsKHRoaXMuUTFiLDAsdGhpcyl9O18ubS5RMWI9ZnVuY3Rpb24oKXt0cnl7dGhpcy5NYSgpLmZvY3VzKCl9Y2F0Y2goYSl7fX07XG5fLm0uUWM9ZnVuY3Rpb24oKXtfLlhiKHRoaXMuVWEpO3RoaXMuVWE9bnVsbDtfLlhiKHRoaXMuUWEpO3RoaXMuUWE9bnVsbDtfLlhiKHRoaXMuQmIpO3RoaXMuQmI9bnVsbDtfLlhiKHRoaXMua2IpO3RoaXMua2I9bnVsbDtQY2IuT2QuUWMuY2FsbCh0aGlzKX07Xy5RY2I9ZnVuY3Rpb24oYSxiKXt2YXIgYz0oMCxfLm5oKShhLkJhK1wiLXRpdGxlLWRyYWdnYWJsZVwiKS5zcGxpdChcIiBcIik7YS5NYSgpJiYoYj9fLmttLmFkZEFsbChhLmdYLGMpOl8ua20ucmVtb3ZlQWxsKGEuZ1gsYykpO2ImJiFhLlhiYT8oYj1uZXcgXy5zbShhLk1hKCksYS5nWCksYS5YYmE9YixfLmttLmFkZEFsbChhLmdYLGMpLF8uWGQoYS5YYmEsXCJzdGFydFwiLGEuQUxkLCExLGEpLF8uWGQoYS5YYmEsXCJkcmFnXCIsYS5mOWEsITEsYSkpOiFiJiZhLlhiYSYmKGEuWGJhLmRpc3Bvc2UoKSxhLlhiYT1udWxsKX07XG5fLm9yPWZ1bmN0aW9uKGEsYixjKXtQY2IuY2FsbCh0aGlzLGIsYyk7dGhpcy5CYT1hfHxcIm1vZGFsLWRpYWxvZ1wiO3RoaXMuQWE9Xy55bShfLnltKG5ldyBfLnhtLF8uc0JhLCEwKSxfLnRCYSwhMSwhMCl9O18ubWgoXy5vcixQY2IpO18ubT1fLm9yLnByb3RvdHlwZTtfLm0uT2tiPSEwO18ubS5sU2E9ITA7Xy5tLkdCYj0hMDtfLm0uQlRiPSEwO18ubS5ZM2E9LjU7Xy5tLkoyYT1cIlwiO18ubS5ScGE9bnVsbDtfLm0uWGJhPW51bGw7Xy5tLkFUYj0hMTtfLm0uZ1g9bnVsbDtfLm0uaFg9bnVsbDtfLm0uVlphPW51bGw7Xy5tLmNSPW51bGw7Xy5tLnkzPW51bGw7Xy5tLmhOPW51bGw7Xy5tLmRNYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkJhfTtfLm0uc2V0VGl0bGU9ZnVuY3Rpb24oYSl7dGhpcy5KMmE9YTt0aGlzLmhYJiZfLkhsKHRoaXMuaFgsYSl9O18ubS5nZXRUaXRsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkoyYX07XG5fLm0ucV89ZnVuY3Rpb24oYSl7YSBpbnN0YW5jZW9mIF8ucmN8fChhPV8uaXFhKGEpLGE9Xy53KF8udGMoYSkudG9TdHJpbmcoKS5yZXBsYWNlKC8oXFxyXFxufFxccnxcXG4pL2csXCI8YnI+XCIpKSk7dGhpcy5ScGE9YTt0aGlzLnkzJiZfLk9mKHRoaXMueTMsYSl9O18ubS5nZXRDb250ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUnBhIT1udWxsP18udGModGhpcy5ScGEpLnRvU3RyaW5nKCk6XCJcIn07Xy5tLnpVPWZ1bmN0aW9uKCl7dGhpcy5NYSgpfHx0aGlzLnJlbmRlcigpO3JldHVybiB0aGlzLnkzfTtfLm0uT2RhPWZ1bmN0aW9uKCl7dGhpcy5NYSgpfHx0aGlzLnJlbmRlcigpO3JldHVybiBfLm9yLk9kLk9kYS5jYWxsKHRoaXMpfTtfLm0uZjlhPWZ1bmN0aW9uKCl7fTtcbl8ubS5nQj1mdW5jdGlvbigpe18ub3IuT2QuZ0IuY2FsbCh0aGlzKTt2YXIgYT10aGlzLk1hKCksYj10aGlzLm9hO3RoaXMuVlphPXRoaXMuZ2V0SWQoKTt2YXIgYz10aGlzLmdldElkKCkrXCIuY29udGVudEVsXCI7dGhpcy5nWD1iLlhrKFwiRElWXCIsdGhpcy5CYStcIi10aXRsZVwiLHRoaXMuaFg9Yi5YayhcIlNQQU5cIix7Y2xhc3NOYW1lOnRoaXMuQmErXCItdGl0bGUtdGV4dFwiLGlkOnRoaXMuVlphfSx0aGlzLkoyYSksdGhpcy5jUj1iLlhrKFwiU1BBTlwiLHRoaXMuQmErXCItdGl0bGUtY2xvc2VcIikpO18ud2woYSx0aGlzLmdYLHRoaXMueTM9Yi5YayhcIkRJVlwiLHtjbGFzc05hbWU6dGhpcy5CYStcIi1jb250ZW50XCIsaWQ6Y30pLHRoaXMuaE49Yi5YayhcIkRJVlwiLHRoaXMuQmErXCItYnV0dG9uc1wiKSk7Xy5vbSh0aGlzLmhYLFwiaGVhZGluZ1wiKTtfLm9tKHRoaXMuY1IsXCJidXR0b25cIik7Xy5JbCh0aGlzLmNSLCEwKTtfLlZBYSh0aGlzLmNSLFwiQ2xvc2VcIik7Xy5vbShhLFwiZGlhbG9nXCIpO18ucG0oYSxcImxhYmVsbGVkYnlcIixcbnRoaXMuVlphfHxcIlwiKTt0aGlzLlJwYSYmXy5PZih0aGlzLnkzLHRoaXMuUnBhKTtfLm5tLlZiKHRoaXMuY1IsdGhpcy5sU2EpO3RoaXMuQWEmJihhPXRoaXMuQWEsYS5UYz10aGlzLmhOLGEucmVuZGVyKCkpO18ubm0uVmIodGhpcy5oTiwhIXRoaXMuQWEpO18uTGNiKHRoaXMsdGhpcy5ZM2EpfTtcbl8ubS5rRj1mdW5jdGlvbihhKXtfLm9yLk9kLmtGLmNhbGwodGhpcyxhKTthPXRoaXMuTWEoKTt2YXIgYj10aGlzLkJhK1wiLWNvbnRlbnRcIjt0aGlzLnkzPV8ubWwobnVsbCxiLGEpWzBdO3RoaXMueTN8fCh0aGlzLnkzPXRoaXMub2EuWGsoXCJESVZcIixiKSx0aGlzLlJwYSYmXy5PZih0aGlzLnkzLHRoaXMuUnBhKSxhLmFwcGVuZENoaWxkKHRoaXMueTMpKTtiPXRoaXMuQmErXCItdGl0bGVcIjt2YXIgYz10aGlzLkJhK1wiLXRpdGxlLXRleHRcIixkPXRoaXMuQmErXCItdGl0bGUtY2xvc2VcIjsodGhpcy5nWD1fLm1sKG51bGwsYixhKVswXSk/KHRoaXMuaFg9Xy5tbChudWxsLGMsdGhpcy5nWClbMF0sdGhpcy5jUj1fLm1sKG51bGwsZCx0aGlzLmdYKVswXSk6KHRoaXMuZ1g9dGhpcy5vYS5YayhcIkRJVlwiLGIpLGEuaW5zZXJ0QmVmb3JlKHRoaXMuZ1gsdGhpcy55MykpO3RoaXMuaFg/KHRoaXMuSjJhPV8uTWwodGhpcy5oWCksdGhpcy5oWC5pZHx8KHRoaXMuaFguaWQ9dGhpcy5nZXRJZCgpKSk6KHRoaXMuaFg9XG5fLnRsKFwiU1BBTlwiLHtjbGFzc05hbWU6YyxpZDp0aGlzLmdldElkKCl9KSx0aGlzLmdYLmFwcGVuZENoaWxkKHRoaXMuaFgpKTt0aGlzLlZaYT10aGlzLmhYLmlkO18ucG0oYSxcImxhYmVsbGVkYnlcIix0aGlzLlZaYXx8XCJcIik7dGhpcy5jUnx8KHRoaXMuY1I9dGhpcy5vYS5YayhcIlNQQU5cIixkKSx0aGlzLmdYLmFwcGVuZENoaWxkKHRoaXMuY1IpKTtfLm5tLlZiKHRoaXMuY1IsdGhpcy5sU2EpO2I9dGhpcy5CYStcIi1idXR0b25zXCI7aWYodGhpcy5oTj1fLm1sKG51bGwsYixhKVswXSl7aWYoYT10aGlzLkFhPW5ldyBfLnhtKHRoaXMub2EpLChiPXRoaXMuaE4pJiZiLm5vZGVUeXBlPT0xKXthLlRjPWI7Yj1fLmxsKFwiQlVUVE9OXCIsYS5UYyk7Yz0wO2Zvcih2YXIgZSxmO2Q9YltjXTtjKyspaWYoZT1kLm5hbWV8fGQuaWQsZj1fLk1sKGQpfHxkLnZhbHVlLGUpe3ZhciBnPWM9PTA7YS5zZXQoZSxmLGcsZC5uYW1lPT1cImNhbmNlbFwiKTtnJiZfLmttLmFkZChkLFwiZ29vZy1idXR0b25zZXQtZGVmYXVsdFwiKX19fWVsc2UgdGhpcy5oTj1cbnRoaXMub2EuWGsoXCJESVZcIixiKSxhLmFwcGVuZENoaWxkKHRoaXMuaE4pLHRoaXMuQWEmJihhPXRoaXMuQWEsYS5UYz10aGlzLmhOLGEucmVuZGVyKCkpLF8ubm0uVmIodGhpcy5oTiwhIXRoaXMuQWEpO18uTGNiKHRoaXMsdGhpcy5ZM2EpfTtfLm0uWnM9ZnVuY3Rpb24oKXtfLm9yLk9kLlpzLmNhbGwodGhpcyk7Xy51bSh0aGlzKS5saXN0ZW4odGhpcy5NYSgpLFwia2V5ZG93blwiLHRoaXMuQ1RiKS5saXN0ZW4odGhpcy5NYSgpLFwia2V5cHJlc3NcIix0aGlzLkNUYik7Xy51bSh0aGlzKS5saXN0ZW4odGhpcy5oTixcImNsaWNrXCIsdGhpcy5tVGMpO18uUWNiKHRoaXMsdGhpcy5CVGIpO18udW0odGhpcykubGlzdGVuKHRoaXMuY1IsXCJjbGlja1wiLHRoaXMuUkNkKTt2YXIgYT10aGlzLk1hKCk7Xy5vbShhLFwiZGlhbG9nXCIpO3RoaXMuaFguaWQhPT1cIlwiJiZfLnBtKGEsXCJsYWJlbGxlZGJ5XCIsdGhpcy5oWC5pZCk7dGhpcy5HQmJ8fF8ueGNiKHRoaXMsITEpfTtcbl8ubS5tQj1mdW5jdGlvbigpe3RoaXMuaXNWaXNpYmxlKCkmJnRoaXMuc2V0VmlzaWJsZSghMSk7Xy5RY2IodGhpcywhMSk7Xy5vci5PZC5tQi5jYWxsKHRoaXMpfTtfLm0uc2V0VmlzaWJsZT1mdW5jdGlvbihhKXthIT10aGlzLmlzVmlzaWJsZSgpJiYodGhpcy5PdSgpfHx0aGlzLnJlbmRlcigpLF8ub3IuT2Quc2V0VmlzaWJsZS5jYWxsKHRoaXMsYSkpfTtfLm0ub25TaG93PWZ1bmN0aW9uKCl7Xy5vci5PZC5vblNob3cuY2FsbCh0aGlzKTt0aGlzLmRpc3BhdGNoRXZlbnQoXCJhZnRlcnNob3dcIil9O18ubS5zRT1mdW5jdGlvbigpe18ub3IuT2Quc0UuY2FsbCh0aGlzKTt0aGlzLmRpc3BhdGNoRXZlbnQoXCJhZnRlcmhpZGVcIik7dGhpcy5BVGImJnRoaXMuZGlzcG9zZSgpfTtcbl8ubS5BTGQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9hLkFmKCksYj1fLnBsKF8uUWUoYSl8fHdpbmRvdyksYz1NYXRoLm1heChhLmJvZHkuc2Nyb2xsV2lkdGgsYi53aWR0aCk7YT1NYXRoLm1heChhLmJvZHkuc2Nyb2xsSGVpZ2h0LGIuaGVpZ2h0KTt2YXIgZD1fLm5tLmdldFNpemUodGhpcy5NYSgpKTtfLm5tLldqYSh0aGlzLk1hKCkpPT1cImZpeGVkXCI/dGhpcy5YYmEuT2E9bmV3IF8ubW0oMCwwLE1hdGgubWF4KDAsYi53aWR0aC1kLndpZHRoKSxNYXRoLm1heCgwLGIuaGVpZ2h0LWQuaGVpZ2h0KSk6dGhpcy5YYmEuT2E9bmV3IF8ubW0oMCwwLGMtZC53aWR0aCxhLWQuaGVpZ2h0KX07Xy5tLlJDZD1mdW5jdGlvbigpe3pjYih0aGlzKX07Xy5tLndZYT1mdW5jdGlvbihhKXt0aGlzLkFUYj1hfTtfLm0uUWM9ZnVuY3Rpb24oKXt0aGlzLmhOPXRoaXMuY1I9bnVsbDtfLm9yLk9kLlFjLmNhbGwodGhpcyl9O1xuXy5tLm1UYz1mdW5jdGlvbihhKXthOntmb3IoYT1hLnRhcmdldDthIT1udWxsJiZhIT10aGlzLmhOOyl7aWYoYS50YWdOYW1lPT1cIkJVVFRPTlwiKWJyZWFrIGE7YT1hLnBhcmVudE5vZGV9YT1udWxsfWlmKGEmJiFhLmRpc2FibGVkKXthPWEubmFtZTt2YXIgYj10aGlzLkFhLmdldChhKTt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IHljYihhLGIpKSYmdGhpcy5zZXRWaXNpYmxlKCExKX19O1xuXy5tLkNUYj1mdW5jdGlvbihhKXt2YXIgYj0hMSxjPSExLGQ9dGhpcy5BYSxlPWEudGFyZ2V0O2lmKGEudHlwZT09XCJrZXlkb3duXCIpaWYodGhpcy5Pa2ImJmEua2V5Q29kZT09Mjcpe3ZhciBmPWQmJmQuQWE7ZT1lLnRhZ05hbWU9PVwiU0VMRUNUXCImJiFlLmRpc2FibGVkO2YmJiFlPyhjPSEwLGI9ZC5nZXQoZiksYj10aGlzLmRpc3BhdGNoRXZlbnQobmV3IHljYihmLGIpKSk6ZXx8KGI9ITApfWVsc2V7aWYoYS5rZXlDb2RlPT05JiZhLnNoaWZ0S2V5JiZlPT10aGlzLk1hKCkpe3RoaXMua25iPSEwO3RyeXt0aGlzLm83LmZvY3VzKCl9Y2F0Y2gobil7fV8uV2wodGhpcy5lamMsMCx0aGlzKX19ZWxzZSBpZihhLmtleUNvZGU9PTEzKXtpZihlLnRhZ05hbWU9PVwiQlVUVE9OXCImJiFlLmRpc2FibGVkKWY9ZS5uYW1lO2Vsc2UgaWYoZT09dGhpcy5jUil6Y2IodGhpcyk7ZWxzZSBpZihkKXt2YXIgZz1kLnZRYSgpLGg7aWYoaD1nKWE6e2g9Xy5sbChcIkJVVFRPTlwiLGQuVGMpO2Zvcih2YXIgaz1cbjAsbDtsPWhba107aysrKWlmKGwubmFtZT09Z3x8bC5pZD09Zyl7aD1sO2JyZWFrIGF9aD1udWxsfWU9KGUudGFnTmFtZT09XCJURVhUQVJFQVwifHxlLnRhZ05hbWU9PVwiU0VMRUNUXCJ8fGUudGFnTmFtZT09XCJBXCIpJiYhZS5kaXNhYmxlZDshaHx8aC5kaXNhYmxlZHx8ZXx8KGY9Zyl9ZiYmZCYmKGM9ITAsYj10aGlzLmRpc3BhdGNoRXZlbnQobmV3IHljYihmLFN0cmluZyhkLmdldChmKSkpKSl9ZWxzZSBlIT10aGlzLmNSfHxhLmtleUNvZGUhPTMyJiZhLmtleSE9XCIgXCJ8fHpjYih0aGlzKTtpZihifHxjKWEuc3RvcFByb3BhZ2F0aW9uKCksYS5wcmV2ZW50RGVmYXVsdCgpO2ImJnRoaXMuc2V0VmlzaWJsZSghMSl9O18uUmNiPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0wLGU9ZnVuY3Rpb24oKXtkPTB9O3JldHVybiBmdW5jdGlvbihmKXtkfHwoZD1fLmJhLnNldFRpbWVvdXQoZSxiKSxhLmFwcGx5KGMsYXJndW1lbnRzKSl9fTtcbl8uU2NiPWZ1bmN0aW9uKGEsYil7cmV0dXJuKGE9Xy5vbChhLGIpKT9hOm51bGx9O18uVGNiPWZ1bmN0aW9uKGEpe3JldHVybiBhLmxhc3RFbGVtZW50Q2hpbGQhPT12b2lkIDA/YS5sYXN0RWxlbWVudENoaWxkOl8uV3lhKGEubGFzdENoaWxkLCExKX07Xy5VY2I9ZnVuY3Rpb24oYSl7aWYoYS5ub2RlVHlwZT09OSlyZXR1cm5bYS5kb2N1bWVudEVsZW1lbnRdO3ZhciBiPVtdO2ZvcihhPWEubGFzdEVsZW1lbnRDaGlsZDthO2E9YS5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKWIucHVzaChhKTtyZXR1cm4gYn07Xy5WY2I9ZnVuY3Rpb24oYSxiKXtmb3IoYT1fLlVjYihhKTthLmxlbmd0aD4wOyl7dmFyIGM9YS5wb3AoKTtpZihiKGMpKXJldHVybiBjO2ZvcihjPWMubGFzdEVsZW1lbnRDaGlsZDtjO2M9Yy5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKWEucHVzaChjKX1yZXR1cm4gbnVsbH07Xy5XY2I9ZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3JldHVybiBiIT1hfX07XG5fLlhjYj1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uamc/YS5lbCgpOmF9O18uWWNiPWZ1bmN0aW9uKGEsYil7c3dpdGNoKF8uQU5hKGIpKXtjYXNlIDE6YS5kaXIhPT1cImx0clwiJiYoYS5kaXI9XCJsdHJcIik7YnJlYWs7Y2FzZSAtMTphLmRpciE9PVwicnRsXCImJihhLmRpcj1cInJ0bFwiKTticmVhaztkZWZhdWx0OmEucmVtb3ZlQXR0cmlidXRlKFwiZGlyXCIpfX07Xy5wcj1mdW5jdGlvbihhLGIpe18uQ0dhKGIpO2IucHJvdG90eXBlLlBffHwoYi5wcm90b3R5cGUuUF89e30pO2EmJihfLkpkLmdldEluc3RhbmNlKCkucmVnaXN0ZXIoYSxiKSxiLmNyZWF0ZT1mdW5jdGlvbihjLGQsZSl7dmFyIGY9bmV3IF8uJHJhKGMsZCxlLGIpO3JldHVybiBfLmdmKGMsYixmKS5hZGRDYWxsYmFjayhmdW5jdGlvbihnKXtGY2IoZyxmLm9hKX0pfSl9O18ucXI9ZnVuY3Rpb24oYSl7Xy5wcih2b2lkIDAsYSl9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLm5CYj1fLkdkKFwieFJ4RGxkXCIsW10pO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgb0JiPWZ1bmN0aW9uKGEpe18uQy5jYWxsKHRoaXMsYS5OYSk7dGhpcy5oYW5kbGVyPW51bGx9O18uRChvQmIsXy5DKTtvQmIuSWE9Xy5DLklhO29CYi5wcm90b3R5cGUub2E9ZnVuY3Rpb24oKXt0aGlzLmhhbmRsZXImJnRoaXMuaGFuZGxlcigpfTtfLkwob0JiLnByb3RvdHlwZSxcIkd0VXpyYlwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub2F9KTtfLnByKF8ubkJiLG9CYik7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcInhSeERsZFwiKTtcblxuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciB2ZGI7dmRiPWZ1bmN0aW9uKGEpe2lmKF8ubGUuaGFzKGEpKXt2YXIgYj1fLmtnKGEpO18uUWFhKF8ubGUuZ2V0KGEpLGZ1bmN0aW9uKGMpe3JldHVybiFfLndmKGIuYm9keSxjKX0pO2Euc2V0QXR0cmlidXRlKFwiX19JU19PV05FUlwiLF8ubGUuZ2V0KGEpLmxlbmd0aD4wKX19O18ud2RiPWZ1bmN0aW9uKGEsYil7YS5fX3NveV9wYXRjaF9oYW5kbGVyPWJ9O18ueGRiPWZ1bmN0aW9uKGEpe3JldHVybiBNYXRoLm1pbihhLndpZHRoLGEuaGVpZ2h0KX07Xy55ZGI9ZnVuY3Rpb24oYSl7dmRiKGEuZ2V0Um9vdCgpLmVsKCkpfTt2YXIgemRiPTE7dmFyIEFkYixCZGIsQ2RiLERkYixFZGIsRmRiLEdkYixJZGIsSmRiLEtkYixNZGIsTGRiO1xuKGZ1bmN0aW9uKCl7Zm9yKHZhciBhPVtcIm1zXCIsXCJtb3pcIixcIndlYmtpdFwiLFwib1wiXSxiPTA7YjxhLmxlbmd0aCYmIXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU7KytiKXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU9d2luZG93W2FbYl0rXCJSZXF1ZXN0QW5pbWF0aW9uRnJhbWVcIl0sd2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lPXdpbmRvd1thW2JdK1wiQ2FuY2VsQW5pbWF0aW9uRnJhbWVcIl18fHdpbmRvd1thW2JdK1wiQ2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lXCJdO2lmKCF3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKXt2YXIgYz0wO3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU9ZnVuY3Rpb24oZCl7dmFyIGU9KG5ldyBEYXRlKS5nZXRUaW1lKCksZj1NYXRoLm1heCgwLDE2LShlLWMpKTtjPWUrZjtyZXR1cm4gd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXtkKGUrZil9LGYpfTt3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWV8fCh3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWU9XG5mdW5jdGlvbihkKXtjbGVhclRpbWVvdXQoZCl9KX19KSgpO18udHI9ZnVuY3Rpb24oKXt9O0FkYj1bW10sW11dO0JkYj0wO0NkYj1uZXcgU2V0O0RkYj1udWxsO0VkYj0wO0ZkYj0wO0dkYj0wO18uSGRiPTA7SWRiPTA7SmRiPWZ1bmN0aW9uKGEsYil7dGhpcy5vYT10aGlzLkJhPXZvaWQgMDt0aGlzLkNhPSExO3RoaXMuQWE9d2luZG93O3RoaXMuR2E9Yjt0aGlzLkxhPWF9O18ubT1KZGIucHJvdG90eXBlO18ubS5tZWFzdXJlPWZ1bmN0aW9uKGEpe3RoaXMuQmE9YTtyZXR1cm4gdGhpc307Xy5tLnpjPWZ1bmN0aW9uKGEpe3RoaXMub2E9YTtyZXR1cm4gdGhpc307Xy5tLkdsPWZ1bmN0aW9uKCl7dGhpcy5DYT0hMDtyZXR1cm4gdGhpc307Xy5tLndpbmRvdz1mdW5jdGlvbihhKXt0aGlzLkFhPWE7cmV0dXJuIHRoaXN9O1xuXy5tLmJ1aWxkPWZ1bmN0aW9uKCl7cmV0dXJuIEtkYih7bWVhc3VyZTp0aGlzLkJhLHpjOnRoaXMub2EsUlFkOnRoaXMuTGEsd2luZG93OnRoaXMuQWEsR2w6dGhpcy5DYX0sdGhpcy5HYSl9O18udXI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IEpkYihiP2I6Xy50cixhKX07XG5LZGI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1JZGIrKyxkPU1hdGgubWF4KGEubWVhc3VyZT9hLm1lYXN1cmUubGVuZ3RoOjAsYS56Yz9hLnpjLmxlbmd0aDowKSxlPXtpZDpjLGxkYzphLm1lYXN1cmUsUWRjOmEuemMsY29udGV4dDpiLGFyZ3M6W119LGY9ZTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZz1mLlloIT09MDtnJiYoZj1PYmplY3QuYXNzaWduKHtZaDowfSxlKSk7Ynx8KGYuY29udGV4dD10aGlzKTtmLmFyZ3M9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtkPmFyZ3VtZW50cy5sZW5ndGgmJmYuYXJncy5wdXNoKG5ldyBhLlJRZCk7ZyYmKGc9QmRiLCFhLkdsfHxfLkhkYj09MHx8YS5tZWFzdXJlJiZfLkhkYiE9MXx8KGc9KGcrMSklMiksQWRiW2ddLnB1c2goZikpO3JldHVybiBMZGIoYS53aW5kb3cpfX07XG5NZGI9ZnVuY3Rpb24oYSxiKXt2YXIgYz17fTtfLkhkYj0xO2Zvcih2YXIgZD0wO2Q8YS5sZW5ndGg7KytkKXt2YXIgZT1hW2RdO2UuYXJnc1tlLmFyZ3MubGVuZ3RoLTFdJiYoZS5hcmdzW2UuYXJncy5sZW5ndGgtMV0ubm93PWIpO2lmKGUubGRjKXtlLlloPTE7dHJ5e2UubGRjLmFwcGx5KGUuY29udGV4dCxlLmFyZ3MpfWNhdGNoKGYpe2NbZF09ITAsXy5jYShmKX19fV8uSGRiPTI7Zm9yKGQ9MDtkPGEubGVuZ3RoOysrZClpZihlPWFbZF0sZS5hcmdzW2UuYXJncy5sZW5ndGgtMV0mJihlLmFyZ3NbZS5hcmdzLmxlbmd0aC0xXS5ub3c9YiksIWNbZF0mJmUuUWRjKXtlLlloPTI7dHJ5e2UuUWRjLmFwcGx5KGUuY29udGV4dCxlLmFyZ3MpfWNhdGNoKGYpe18uY2EoZil9fUVkYj4wJiZiPjEmJihhPWItRWRiLGE8NTAwJiYoemRiKyssYT4xMDAmJkZkYisrLEdkYjxhJiYoR2RiPWEpKSk7RWRiPUNkYi5zaXplJiZiPjE/YjowfTtcbkxkYj1mdW5jdGlvbihhKXtpZighQ2RiLmhhcyhhKSl7Q2RiLnNpemV8fChEZGI9bmV3IF8uc2cpO0NkYi5hZGQoYSk7dmFyIGI9RGRiLnJlc29sdmU7YS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oYyl7Q2RiLmNsZWFyKCk7dmFyIGQ9QWRiW0JkYl07QmRiPShCZGIrMSklMjt0cnl7TWRiKGQsYyl9ZmluYWxseXtfLkhkYj0wLGQubGVuZ3RoPTB9YigpfSl9cmV0dXJuIERkYi5wcm9taXNlfTtfLk5kYj1mdW5jdGlvbihhLGIpe3ZhciBjPV8uSGRiO3RyeXtyZXR1cm4gXy5IZGI9MixhLmFwcGx5KGIpfWZpbmFsbHl7Xy5IZGI9Y319O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgdm5iLHluYix3bmI7dm5iPWZ1bmN0aW9uKGEsYil7YS5zZXRBdHRyaWJ1dGUoXCJzYW5kYm94XCIsXCJcIik7Zm9yKHZhciBjPTA7YzxiLmxlbmd0aDtjKyspYS5zYW5kYm94LnN1cHBvcnRzJiYhYS5zYW5kYm94LnN1cHBvcnRzKGJbY10pfHxhLnNhbmRib3guYWRkKGJbY10pfTtcbl8ueG5iPWZ1bmN0aW9uKGEsYixjKXthLnJlbW92ZUF0dHJpYnV0ZShcInNyY2RvY1wiKTtzd2l0Y2goYil7Y2FzZSAwOmlmKGMgaW5zdGFuY2VvZiBfLkZjKXRocm93IG5ldyB3bmIoXCJUcnVzdGVkUmVzb3VyY2VVcmxcIiwwKTt2bmIoYSxbXSk7Yj1fLnZoYShjKTtiIT09dm9pZCAwJiYoYS5zcmM9Yik7YnJlYWs7Y2FzZSAxOmlmKCEoYyBpbnN0YW5jZW9mIF8uRmMpKXRocm93IG5ldyB3bmIodHlwZW9mIGMsMSk7dm5iKGEsXCJhbGxvdy1zYW1lLW9yaWdpbiBhbGxvdy1zY3JpcHRzIGFsbG93LWZvcm1zIGFsbG93LXBvcHVwcyBhbGxvdy1wb3B1cHMtdG8tZXNjYXBlLXNhbmRib3ggYWxsb3ctc3RvcmFnZS1hY2Nlc3MtYnktdXNlci1hY3RpdmF0aW9uXCIuc3BsaXQoXCIgXCIpKTtfLkVjKGEsYyk7YnJlYWs7Y2FzZSAyOmlmKGMgaW5zdGFuY2VvZiBfLkZjKXRocm93IG5ldyB3bmIoXCJUcnVzdGVkUmVzb3VyY2VVcmxcIiwyKTt2bmIoYSxcImFsbG93LXNhbWUtb3JpZ2luIGFsbG93LXNjcmlwdHMgYWxsb3ctZm9ybXMgYWxsb3ctcG9wdXBzIGFsbG93LXBvcHVwcy10by1lc2NhcGUtc2FuZGJveCBhbGxvdy1zdG9yYWdlLWFjY2Vzcy1ieS11c2VyLWFjdGl2YXRpb25cIi5zcGxpdChcIiBcIikpO1xuYj1fLnZoYShjKTtiIT09dm9pZCAwJiYoYS5zcmM9Yik7YnJlYWs7ZGVmYXVsdDpfLkRjKGIpfX07eW5iPXt3OWQ6MCxqN2Q6MSxrN2Q6MiwwOlwiRk9STUFUVEVEX0hUTUxfQ09OVEVOVFwiLDE6XCJFTUJFRERFRF9JTlRFUk5BTF9DT05URU5UXCIsMjpcIkVNQkVEREVEX1RSVVNURURfRVhURVJOQUxfQ09OVEVOVFwifTt3bmI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1FcnJvci5jYWxsKHRoaXMsYStcIiBjYW5ub3QgYmUgdXNlZCB3aXRoIGludGVudCBcIit5bmJbYl0pO3RoaXMubWVzc2FnZT1jLm1lc3NhZ2U7XCJzdGFja1wiaW4gYyYmKHRoaXMuc3RhY2s9Yy5zdGFjayk7dGhpcy50eXBlPWE7dGhpcy5pbnRlbnQ9Yjt0aGlzLm5hbWU9XCJUeXBlQ2Fubm90QmVVc2VkV2l0aEludGVudEVycm9yXCJ9O18uRCh3bmIsRXJyb3IpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJjamFQa2JcIik7XG5cbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJvRzBxZWVcIik7XG5cbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgdEJiO3RCYj1mdW5jdGlvbigpe3RoaXMub2E9MDt0aGlzLk9hPVtdO3RoaXMuTGE9W107dGhpcy5DYT1mdW5jdGlvbigpe3JldHVybiEwfTt0aGlzLkdhPVsxLDJdO3RoaXMuUWE9MDt0aGlzLkFhPSExfTtfLnVCYj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Yz09PXZvaWQgMD97fTpjO2M9ZC5zdGFjaz09PXZvaWQgMD9bXTpkLnN0YWNrO2Q9ZC5yZXBsYWNlPT09dm9pZCAwP1tdOmQucmVwbGFjZTthLm9hPWI7YS5PYT1jIT1udWxsP2M6W107YS5MYT1kIT1udWxsP2Q6W107cmV0dXJuIGF9O18udkJiPWZ1bmN0aW9uKGEsYil7YS5DYT1mdW5jdGlvbihjKXtjPXtldmVudFR5cGU6Yy52M2IoKSxub2RlOmMuSjRiKCksZXZlbnQ6Yy5JRygpLEx1ZTpjLkcyYigpfTtyZXR1cm4gYihjKX07cmV0dXJuIGF9O18ud0JiPWZ1bmN0aW9uKGEsYil7YS5HYT1iO3JldHVybiBhfTtfLnhCYj1mdW5jdGlvbihhLGIpe2EuYW5pbWF0aW9uPWIuYnVpbGQoKTtyZXR1cm4gYX07XG5fLnlCYj1mdW5jdGlvbihhLGIpe2EuQWE9YjtyZXR1cm4gYX07Xy56QmI9ZnVuY3Rpb24oYSxiKXthLkJhPWI7cmV0dXJuIGF9O18uQUJiPWZ1bmN0aW9uKCl7dEJiLmFwcGx5KHRoaXMsYXJndW1lbnRzKTt0aGlzLm9hPTE7dGhpcy5BYT0hMDt0aGlzLlJhPSExfTtfLkQoXy5BQmIsdEJiKTtfLkJCYj1mdW5jdGlvbihhLGIpe2EuUWE9YjtyZXR1cm4gYX07Xy5DQmI9ZnVuY3Rpb24oYSl7YS5SYT0hMDtyZXR1cm4gYX07XG5fLkFCYi5wcm90b3R5cGUuYnVpbGQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3JldHVybntqOGE6ZnVuY3Rpb24oKXtyZXR1cm4gMH0sYXRiOmZ1bmN0aW9uKCl7cmV0dXJuITB9LHB1YjpmdW5jdGlvbigpe3JldHVybiExfSx3UmE6ZnVuY3Rpb24oKXtyZXR1cm57dlFhOmZ1bmN0aW9uKCl7cmV0dXJuIGEub2F9LGR2YjpmdW5jdGlvbigpe3JldHVybiBhLk9hfSx5dWI6ZnVuY3Rpb24oKXtyZXR1cm4gYS5MYX19fSxjdGI6ZnVuY3Rpb24oKXtyZXR1cm4gYS5DYX0sdXRiOmZ1bmN0aW9uKCl7cmV0dXJuIGEuR2F9LGN2YjpmdW5jdGlvbigpe3JldHVybiBhLmtifSxkdGI6ZnVuY3Rpb24oKXtyZXR1cm4gYS5VYX0sZ2V0QW5pbWF0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIGEuYW5pbWF0aW9ufSx3OGE6ZnVuY3Rpb24oKXtyZXR1cm4gYS5RYX0sQXRhOmZ1bmN0aW9uKCl7cmV0dXJuIGEuQWF9LEh0YjpmdW5jdGlvbigpe3JldHVybiEwfSxwUzpmdW5jdGlvbigpe3JldHVybiBhLkJhfSxqdmI6ZnVuY3Rpb24oKXt9LFxuRXNiOmZ1bmN0aW9uKCl7cmV0dXJuIGEuUmF9LEt1YjpmdW5jdGlvbigpe3JldHVybiBhLllGfSxvdGI6ZnVuY3Rpb24oKXtyZXR1cm4gMX0sazhhOmZ1bmN0aW9uKCl7cmV0dXJuIGEuaGJ9LGN1YjpmdW5jdGlvbigpe30sU3ViOmZ1bmN0aW9uKCl7cmV0dXJuITF9fX07Xy5EQmI9ZnVuY3Rpb24oKXt0QmIuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMub2E9Mjt0aGlzLkFhPSExO3RoaXMuQmE9dm9pZCAwO3RoaXMuUmE9Mjt0aGlzLm9FYj0hMH07Xy5EKF8uREJiLHRCYik7Xy5FQmI9ZnVuY3Rpb24oYSl7YS5SYT0xO3JldHVybiBhfTtcbl8uREJiLnByb3RvdHlwZS5idWlsZD1mdW5jdGlvbigpe3ZhciBhPXRoaXM7cmV0dXJue2o4YTpmdW5jdGlvbigpe3JldHVybiAwfSxhdGI6ZnVuY3Rpb24oKXtyZXR1cm4hMX0scHViOmZ1bmN0aW9uKCl7cmV0dXJuIGEub0VifSx3UmE6ZnVuY3Rpb24oKXtyZXR1cm57dlFhOmZ1bmN0aW9uKCl7cmV0dXJuIGEub2F9LGR2YjpmdW5jdGlvbigpe3JldHVybiBhLk9hfSx5dWI6ZnVuY3Rpb24oKXtyZXR1cm4gYS5MYX19fSxjdGI6ZnVuY3Rpb24oKXtyZXR1cm4gYS5DYX0sdXRiOmZ1bmN0aW9uKCl7cmV0dXJuIGEuR2F9LGN2YjpmdW5jdGlvbigpe3JldHVybiBhLmtifSxkdGI6ZnVuY3Rpb24oKXtyZXR1cm4gYS5VYX0sZ2V0QW5pbWF0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIGEuYW5pbWF0aW9ufSx3OGE6ZnVuY3Rpb24oKXtyZXR1cm4gMH0sQXRhOmZ1bmN0aW9uKCl7cmV0dXJuIGEuQWF9LEh0YjpmdW5jdGlvbigpe3JldHVybiEwfSxwUzpmdW5jdGlvbigpe3JldHVybiBhLkJhfSxFc2I6ZnVuY3Rpb24oKXtyZXR1cm4hMH0sXG5qdmI6ZnVuY3Rpb24oKXtyZXR1cm4gYS5CYn0sS3ViOmZ1bmN0aW9uKCl7cmV0dXJuIGEuWUZ9LG90YjpmdW5jdGlvbigpe3JldHVybiBhLlJhfSxrOGE6ZnVuY3Rpb24oKXtyZXR1cm4gYS5oYn0sY3ViOmZ1bmN0aW9uKCl7cmV0dXJuIGEud2J9LFN1YjpmdW5jdGlvbigpe3JldHVybiExfX19O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLkZCYj1fLkdkKFwiT1pMZ3VjXCIsW18uaHEsXy5ncSxfLm1xXSk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uR0JiPV8uSihcIk1ING12ZlwiKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIEhCYj1mdW5jdGlvbihhLGIpe2EuaGFuZGxlcj1ifSxJQmI9Xy5KKFwic0ZyY2plXCIpLEpCYj1fLkooXCJoclloNGVcIik7dmFyIEtCYixMQmI7Xy5ndz1udWxsO0tCYj1udWxsO0xCYj0wO18uaHc9ZnVuY3Rpb24oYSl7Xy5DLmNhbGwodGhpcyxhLk5hKTt2YXIgYj10aGlzO3RoaXMuUmE9ITE7dGhpcy5CYT10aGlzLm9hPTA7dGhpcy5pc0luaXRpYWxpemVkPXRoaXMuTGE9ITE7dGhpcy5zbmFja2Jhcj10aGlzLk1hKFwiTmc1N25jXCIpLkViKCk7Xy5ibyh0aGlzLHRoaXMuc25hY2tiYXIpO3RoaXMuQWE9dGhpcy5NYShcInNNNU1OYlwiKS5FYigpO3RoaXMuT2E9dGhpcy5BYS5wYXJlbnRFbGVtZW50O3RoaXMudGltZW91dD02RTM7dGhpcy5VYT1fLk5mKHRoaXMuZ2V0Um9vdCgpLmVsKCksXCJkaXNtaXNzXCIpO3RoaXMuUWE9Xy5OZih0aGlzLmdldFJvb3QoKS5lbCgpLFwicG9wdXBOb3RpZmljYXRpb25Nb2RlXCIpO3RoaXMuR2E9YS5zZXJ2aWNlLmRpc21pc3M7dGhpcy5UYj1hLnNlcnZpY2UuVGI7dGhpcy5DYT10aGlzLmdldERhdGEoXCJvc1wiKS5QYigpO3RoaXMuRWw9YS5zZXJ2aWNlLm92ZXJsYXk7Xy51cih0aGlzKS56Yyh0aGlzLmhiKS5idWlsZCgpKCk7TEJiKys7dGhpcy5nZXRSb290KCkuZmluZChcImctc25hY2tiYXItYWN0aW9uXCIpLmVhY2goZnVuY3Rpb24oYyl7Yy5nZXRBdHRyaWJ1dGUoXCJqc2NvbnRyb2xsZXJcIikhPVxubnVsbCYmKF8uYW8oYixjKS50aGVuKGZ1bmN0aW9uKGQpe0hCYihkLGZ1bmN0aW9uKCl7Yi5hY3RpdmF0ZShjKX0pfSksYi5SYT0hMCxiLnNldFRpbWVvdXQobnVsbCkpfSl9O18uRChfLmh3LF8uQyk7Xy5ody5JYT1mdW5jdGlvbigpe3JldHVybntzZXJ2aWNlOntkaXNtaXNzOl8uT3Usb3ZlcmxheTpfLmR3LFRiOl8uVHR9fX07Xy5tPV8uaHcucHJvdG90eXBlO18ubS5hY3RpdmF0ZT1mdW5jdGlvbihhKXt0aGlzLkxhPSEwO3RoaXMuZGlzbWlzcygpO18uemUodGhpcy5zbmFja2JhcixJQmIse0FiOmF9KTt0aGlzLkxhPSExfTtfLm0uZGlzbWlzcz1mdW5jdGlvbigpe2lmKHRoaXMuQ2EpdGhpcy5FbC5jbG9zZSh0aGlzLkFhKTtlbHNlIGlmKHRoaXMuR2EuaGFzTGlzdGVuZXIodGhpcy5zbmFja2JhcikpdGhpcy5HYS5kaXNtaXNzKHRoaXMuc25hY2tiYXIpO2Vsc2UgdGhpcy5vbkRpc21pc3MoKX07XG5fLm0ub25EaXNtaXNzPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcztpZih0aGlzIT09Xy5ndylyZXR1cm4hMDt0aGlzLm9hJiYoY2xlYXJUaW1lb3V0KHRoaXMub2EpLHRoaXMub2E9MCk7Xy5ndz1udWxsO18ua20ucmVtb3ZlKHRoaXMuc25hY2tiYXIsXCJVZXdQTWRcIik7dGhpcy5RYXx8Xy5rbS5hZGQodGhpcy5zbmFja2JhcixcInJUWVROYlwiKTt0aGlzLkxhfHxfLnplKHRoaXMuc25hY2tiYXIsSkJiKTt0aGlzLlRiLkJhKHRoaXMuc25hY2tiYXIpO3RoaXMuQmE9d2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXthLkJhPTA7YS5RYXx8Xy5rbS5yZW1vdmUoYS5zbmFja2JhcixcInJUWVROYlwiKTthLk9hLmFwcGVuZENoaWxkKGEuc25hY2tiYXIpfSw0MDApO3JldHVybiEwfTtfLm0uc2V0VGltZW91dD1mdW5jdGlvbihhKXt0aGlzLnRpbWVvdXQ9dGhpcy5SYT9udWxsOmF9O18ubS5zaG93PWZ1bmN0aW9uKGEpe3RoaXMuQ2E/TUJiKHRoaXMsYSk6TkJiKHRoaXMsYSl9O1xudmFyIE5CYj1mdW5jdGlvbihhLGIpe2EhPT1fLmd3JiYoYS5oYigpLGEudHJpZ2dlcihfLkdCYix7Y29udGFpbmVyOktCYn0pLF8uZ3cmJl8uZ3cuZGlzbWlzcygpLF8uZ3c9YSxhLkJhJiYoY2xlYXJUaW1lb3V0KGEuQmEpLGEuQmE9MCksXy5ubS5YaChLQmIpfHxfLm5tLlZiKEtCYiwhMCksYS5BYS5hcHBlbmRDaGlsZChhLnNuYWNrYmFyKSxfLmttLnJlbW92ZShhLnNuYWNrYmFyLFwiclRZVE5iXCIpLF8ua20uYWRkKGEuc25hY2tiYXIsXCJVZXdQTWRcIiksYS50aW1lb3V0IT09bnVsbD8oYS5vYT13aW5kb3cuc2V0VGltZW91dChhLmRpc21pc3MuYmluZChhKSxhLnRpbWVvdXQpLGEuVWEmJmEuR2EubGlzdGVuKGEuc25hY2tiYXIsZnVuY3Rpb24oKXthLm9uRGlzbWlzcygpfSx2b2lkIDAsdm9pZCAwLHZvaWQgMCwhMCkpOmEuR2EubGlzdGVuKGEuc25hY2tiYXIsZnVuY3Rpb24oKXthLm9uRGlzbWlzcygpfSksYj1iJiZiIGluc3RhbmNlb2YgRWxlbWVudD9fLk1mKGIsMik6dm9pZCAwLFxuYS5UYi5BYShhLnNuYWNrYmFyLGIpKX0sTUJiPWZ1bmN0aW9uKGEsYil7aWYoYSE9PV8uZ3cpe3ZhciBjPWEuZ2V0QW5pbWF0aW9uKCk7Xy5ndyYmXy5ndy5kaXNtaXNzKCk7Xy5ndz1hO2EuQmEmJihjbGVhclRpbWVvdXQoYS5CYSksYS5CYT0wKTtjPV8ueUJiKF8udkJiKF8ueEJiKG5ldyBfLkRCYixjKSxmdW5jdGlvbigpe2lmKGEuQ2Epe2E9PT1fLmd3JiYoYS5vYSYmKGNsZWFyVGltZW91dChhLm9hKSxhLm9hPTApLF8uZ3c9bnVsbCxhLkxhfHxfLnplKGEuc25hY2tiYXIsSkJiKSxhLlRiLkJhKGEuc25hY2tiYXIpLGEuQmE9MCk7dmFyIGQ9ITB9ZWxzZSBkPSExO3JldHVybiBkfSksITApO2EuVWF8fGEudGltZW91dD09PW51bGx8fF8ud0JiKGMsW10pO2EuRWwub3BlbihhLkFhLGMpO2EudGltZW91dCE9PW51bGwmJihhLm9hPXdpbmRvdy5zZXRUaW1lb3V0KGEuZGlzbWlzcy5iaW5kKGEpLGEudGltZW91dCkpO2I9YiYmYiBpbnN0YW5jZW9mIEVsZW1lbnQ/Xy5NZihiLDIpOnZvaWQgMDtcbmEuVGIuQWEoYS5zbmFja2JhcixiKX19O18uaHcucHJvdG90eXBlLmdldEFuaW1hdGlvbj1mdW5jdGlvbigpe3JldHVybiBuZXcgXy5yQmIoW3tlbGVtZW50OnRoaXMuc25hY2tiYXIsc1A6XCJVZXdQTWRcIixlNzohMH0se2VsZW1lbnQ6dGhpcy5zbmFja2JhcixzUDpcInJUWVROYlwiLGU3OiExfV0sW3tlbGVtZW50OnRoaXMuc25hY2tiYXIsc1A6XCJVZXdQTWRcIixlNzohMX0se2VsZW1lbnQ6dGhpcy5zbmFja2JhcixzUDpcInJUWVROYlwiLGU3OiF0aGlzLlFhfV0sNTAwLDQwMCl9O1xuXy5ody5wcm90b3R5cGUudWM9ZnVuY3Rpb24oKXtpZih0aGlzLmlzSW5pdGlhbGl6ZWQpe3RoaXMub2EmJihjbGVhclRpbWVvdXQodGhpcy5vYSksdGhpcy5vYT0wKTt0aGlzLmRpc21pc3MoKTtpZih0aGlzLkNhKUxCYi0tO2Vsc2UgaWYodGhpcy5BYT09PXRoaXMuc25hY2tiYXIucGFyZW50Tm9kZSYmdGhpcy5BYS5yZW1vdmVDaGlsZCh0aGlzLnNuYWNrYmFyKSxLQmIucmVtb3ZlQ2hpbGQodGhpcy5BYSksdGhpcy5zbmFja2Jhci5hcHBlbmRDaGlsZCh0aGlzLkFhKSxMQmItLSxMQmI9PT0wKXt2YXIgYT1LQmI7YS5wYXJlbnRFbGVtZW50JiZhLnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQoYSk7S0JiPW51bGx9Xy5DLnByb3RvdHlwZS51Yy5jYWxsKHRoaXMpfX07XG5fLmh3LnByb3RvdHlwZS5oYj1mdW5jdGlvbigpe2lmKCF0aGlzLkNhJiYhdGhpcy5pc0luaXRpYWxpemVkKXt0aGlzLmlzSW5pdGlhbGl6ZWQ9ITA7aWYoIUtCYil7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTthLmlkPVwic25iY1wiO2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYSk7S0JiPWF9dGhpcy5PYS5hcHBlbmRDaGlsZCh0aGlzLnNuYWNrYmFyKTtLQmIuYXBwZW5kQ2hpbGQodGhpcy5BYSk7dGhpcy5PYS5hcHBlbmRDaGlsZCh0aGlzLkFhLmNsb25lTm9kZSghMCkpfX07Xy5ody5wcm90b3R5cGUua2I9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zbmFja2Jhcn07Xy5MKF8uaHcucHJvdG90eXBlLFwiYk5RSjFjXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5rYn0pO18uTChfLmh3LnByb3RvdHlwZSxcIms0SXNlYlwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudWN9KTtfLkwoXy5ody5wcm90b3R5cGUsXCJJWXRCeWJcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLmRpc21pc3N9KTtcbl8ucHIoXy5GQmIsXy5odyk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcIk9aTGd1Y1wiKTtcbl8uT0JiPWZ1bmN0aW9uKCl7Xy5ndyYmXy5ndy5kaXNtaXNzKCl9O1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uYXNhPWZ1bmN0aW9uKGEsYixjLGQpe2E9Xy5FR2EuY2FsbCh0aGlzLGEsYyxkKXx8dGhpczthLlRjPWI7YS5BYT1udWxsO2Eub2E9bmV3IE1hcDthLkNhPSExO3JldHVybiBhfTtfLkQoXy5hc2EsXy5FR2EpO18ubT1fLmFzYS5wcm90b3R5cGU7Xy5tLmdldENvbnRleHQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uSm5hKHRoaXMuVGMsYSl9O18ubS5nZXREYXRhPWZ1bmN0aW9uKGEpe3RoaXMuQWF8fCh0aGlzLkFhPW5ldyBfLkxuKHRoaXMuVGMpKTtyZXR1cm4gdGhpcy5BYS5nZXREYXRhKGEpfTtfLm0uR0diPWZ1bmN0aW9uKGEsYixjKXt0aGlzLm9hLnNldChhLHtoYW5kbGVyOmIsekZiOmM9PT12b2lkIDA/ITE6Y30pfTtfLm0uUG89ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzO3JldHVybiBfLnRnKF8ubW9hKGJ8fHRoaXMuVGMsYSx0aGlzLnVMKCksdGhpcy5rZXkpLGZ1bmN0aW9uKGQpe2QgaW5zdGFuY2VvZiBfLmxvYSYmKGQubWVzc2FnZSs9XCIgcmVxdWVzdGVkIGJ5IFwiK2MpO3JldHVybiBkfSl9O1xuXy5tLldHPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVGN9O18ubS5nZXRJZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmtleStcIltcIitfLkVhKHRoaXMuVGMpK1wiXVwifTtfLldxPWZ1bmN0aW9uKGEsYil7Xy5DR2EoYik7YSYmKF8uSmQuZ2V0SW5zdGFuY2UoKS5yZWdpc3RlcihhLGIpLGIuY3JlYXRlPWZ1bmN0aW9uKGMsZCxlKXt2YXIgZj1uZXcgXy5hc2EoYyxkLGUsYik7cmV0dXJuIF8uZ2YoYyxiLGYpLmFkZENhbGxiYWNrKGZ1bmN0aW9uKGcpe2YuQ2E9ITA7Zm9yKHZhciBoPV8uUGEoZi5vYS5rZXlzKCkpLGs9aC5uZXh0KCk7IWsuZG9uZTtrPWgubmV4dCgpKXtrPWsudmFsdWU7dmFyIGw9Zi5vYS5nZXQoayk7Zy5HR2IoayxsLmhhbmRsZXIsbC56RmIpfXJldHVybiBnfSl9KX07Xy5LZz1mdW5jdGlvbihhKXtfLkJuLmNhbGwodGhpcyxhLk5hKTt0aGlzLlRjPWEuV20uZWxlbWVudDt0aGlzLkxhPW51bGw7dGhpcy5aaj1uZXcgTWFwfTtfLkQoXy5LZyxfLkJuKTtfLktnLklhPWZ1bmN0aW9uKCl7cmV0dXJue1dtOntlbGVtZW50OmZ1bmN0aW9uKCl7cmV0dXJuIF8uYWYodGhpcy5XRygpKX19fX07XG5fLm09Xy5LZy5wcm90b3R5cGU7Xy5tLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXdhK1wiW1wiK18uRWEodGhpcy5UYykrXCJdXCJ9O18ubS5nZXRDb250ZXh0PWZ1bmN0aW9uKGEpe3JldHVybiBfLkpuYSh0aGlzLlRjLGEpfTtfLm0uZ2V0RGF0YT1mdW5jdGlvbihhKXt0aGlzLkxhfHwodGhpcy5MYT1uZXcgXy5Mbih0aGlzLlRjKSk7cmV0dXJuIHRoaXMuTGEuZ2V0RGF0YShhKX07Xy5tLkJ6PWZ1bmN0aW9uKGEpe3RoaXMuTGF8fCh0aGlzLkxhPW5ldyBfLkxuKHRoaXMuVGMpKTtyZXR1cm4gdGhpcy5MYS5CeihhKX07Xy5tLmdldElkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudG9TdHJpbmcoKX07Xy5tLm5vdGlmeT1mdW5jdGlvbihhLGIpe18ubWYodGhpcy5UYyxhLGIsdGhpcyl9O18ubS5XRz1mdW5jdGlvbigpe3JldHVybiB0aGlzLlRjfTtcbl8ubS5Qbz1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXM7cmV0dXJuIF8udGcoXy5tb2EoYnx8dGhpcy5UYyxhLHRoaXMudUwoKSx0aGlzLm13YSksZnVuY3Rpb24oZCl7ZCBpbnN0YW5jZW9mIF8ubG9hJiYoZC5tZXNzYWdlKz1cIiByZXF1ZXN0ZWQgYnkgXCIrYyk7cmV0dXJuIGR9KX07Xy5tLkdHYj1mdW5jdGlvbihhLGIsYyl7dGhpcy5aai5zZXQoYSx7aGFuZGxlcjpiLHpGYjpjPT09dm9pZCAwPyExOmN9KX07Xy5tLlRzYj1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5aai5nZXQoYSl9O18ubS5saXN0ZW49ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLnVlKHRoaXMuVGMsYSxiLGMpfTtfLm0ubGlzdGVuT25jZT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uVG4odGhpcy5UYyxhLGIsYyl9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLno1Yj1fLkdkKFwiUWx5cnliXCIpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLkE1Yj1mdW5jdGlvbihhKXtfLktnLmNhbGwodGhpcyxhLk5hKTt0aGlzLm9hPW5ldyBNYXB9O18uRChfLkE1YixfLktnKTtfLkE1Yi5JYT1fLktnLklhO18uQTViLnByb3RvdHlwZS52eT1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMub2EuZ2V0KGEpfHxuZXcgU2V0O2MuYWRkKGIpO3RoaXMub2Euc2V0KGEsYyl9O18uQTViLnByb3RvdHlwZS5Wcj1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD97fTpiO2lmKHRoaXMub2EuZ2V0KGEpKXthPV8uUGEodGhpcy5vYS5nZXQoYSkpO2Zvcih2YXIgYz1hLm5leHQoKTshYy5kb25lO2M9YS5uZXh0KCkpYz1jLnZhbHVlLGMoYil9fTtfLldxKF8uejViLF8uQTViKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwiUWx5cnliXCIpO1xuXG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5CNWI9Xy5HZChcIkxNN3d4XCIsW18uejViXSk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uRDViPWZ1bmN0aW9uKGEpe18uS2cuY2FsbCh0aGlzLGEuTmEpO3ZhciBiPXRoaXM7dGhpcy5BYT10aGlzLm9hPSExO3RoaXMuQmE9bnVsbDt0aGlzLmV2ZW50cz1hLm1vZGVsLmV2ZW50czthPWZ1bmN0aW9uKCl7Xy5DNWIoYiwhMSl9O3RoaXMuZXZlbnRzLnZ5KDEsYSk7dGhpcy5ldmVudHMudnkoMyxhKX07Xy5EKF8uRDViLF8uS2cpO18uRDViLklhPWZ1bmN0aW9uKCl7cmV0dXJue21vZGVsOntldmVudHM6Xy5BNWJ9fX07Xy5DNWI9ZnVuY3Rpb24oYSxiKXthLm9hJiYoYiYmYS5ldmVudHMuVnIoOCx7fSksYS5vYT0hMSxfLkxrKGEuQmEpLGEuQmE9bnVsbCl9O18uV3EoXy5CNWIsXy5ENWIpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJMTTd3eFwiKTtcblxuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uRTViPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5FNWIsXy5xKTtfLm09Xy5FNWIucHJvdG90eXBlO18ubS5iTj1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywxKX07Xy5tLmtHPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDMpfTtfLm0uU1A9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsNCl9O18ubS5aND1mdW5jdGlvbigpe3JldHVybiBfLkUodGhpcyw2KX07Xy5tLnAzYj1mdW5jdGlvbigpe3JldHVybiBfLkUodGhpcyw3KX07Xy5tLnR2Yj1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywxMil9O18ubS51QWE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMTMpfTtfLm0uUnc9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcywxMyxhKX07Xy5tLlRMYT1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywxNSl9O18ubS5vZGQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy5paSh0aGlzLDE5KX07Xy5tLnBkZD1mdW5jdGlvbigpe3JldHVybiBfLmlpKHRoaXMsMjApfTtcbl8ubS5mUmE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMjMpfTtfLm0ucWNkPWZ1bmN0aW9uKCl7cmV0dXJuIF8uRSh0aGlzLDI0KX07Xy5tLm5lZD1mdW5jdGlvbigpe3JldHVybiBfLmlpKHRoaXMsMjcpfTtfLm0uWTRiPWZ1bmN0aW9uKCl7cmV0dXJuIF8uRSh0aGlzLDI4KX07Xy5tLkdnZD1mdW5jdGlvbigpe3JldHVybiBfLmlpKHRoaXMsMjkpfTtfLm0uRGJkPWZ1bmN0aW9uKCl7cmV0dXJuIF8uJGModGhpcywzMCl9O18ubS5SbWQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy5kZCh0aGlzLDMwKX07Xy5tLkViZD1mdW5jdGlvbigpe3JldHVybiBfLm1pKHRoaXMsMzEpfTtfLm0uU21kPWZ1bmN0aW9uKCl7cmV0dXJuIF8ucGoodGhpcywzMSl9O18ubS5tNGI9ZnVuY3Rpb24oKXtyZXR1cm4gXy5FKHRoaXMsMzIpfTtfLm0ubGZkPWZ1bmN0aW9uKCl7cmV0dXJuIF8uRSh0aGlzLDMzKX07Xy5tLkdmZD1mdW5jdGlvbigpe3JldHVybiBfLkUodGhpcywzNil9O1xuXy5tLkIzYj1mdW5jdGlvbigpe3JldHVybiBfLkUodGhpcywzNyl9O18ubS5QNWI9ZnVuY3Rpb24oKXtyZXR1cm4gXy5FKHRoaXMsMzgpfTtfLm0uRmZkPWZ1bmN0aW9uKCl7cmV0dXJuIF8uRSh0aGlzLDQzKX07Xy5tLkQzYj1mdW5jdGlvbigpe3JldHVybiBfLkUodGhpcyw0NCl9O18ubS5MYmQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy5FKHRoaXMsNDUpfTtfLm0uUWRkPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDQ2KX07Xy5tLkMzYj1mdW5jdGlvbigpe3JldHVybiBfLkUodGhpcyw1Mil9O18ubS52ZmQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy5FKHRoaXMsNTMpfTtfLm0uV3ViPWZ1bmN0aW9uKCl7cmV0dXJuIF8uRSh0aGlzLDU0KX07Xy5tLndmZD1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcyw1NSl9O18ubS5YdWI9ZnVuY3Rpb24oKXtyZXR1cm4gXy5zaSh0aGlzLDU2LF8uU2UoKSl9O18ubS5ZdWI9ZnVuY3Rpb24oKXtyZXR1cm4gXy5vdmEodGhpcyw1NyxfLlNlKCkpfTtcbl8ubS5WdWI9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsNTgpfTtfLm0ucWRkPWZ1bmN0aW9uKCl7cmV0dXJuIF8uaWkodGhpcyw2Mil9O18ubS5MZmQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy5paSh0aGlzLDYzKX07Xy5tLmE4YT1mdW5jdGlvbigpe3JldHVybiBfLkUodGhpcyw2NSl9O18ubS5PY2Q9ZnVuY3Rpb24oKXtyZXR1cm4gXy5FKHRoaXMsNjYpfTtfLm0uS2ZkPWZ1bmN0aW9uKCl7cmV0dXJuIF8uaWkodGhpcyw2OCl9O18ubS5rZ2Q9ZnVuY3Rpb24oKXtyZXR1cm4gXy5FKHRoaXMsODMpfTtfLm0uUmRkPWZ1bmN0aW9uKCl7cmV0dXJuIF8uRSh0aGlzLDg1KX07Xy5tLlV0Yj1mdW5jdGlvbigpe3JldHVybiBfLkUodGhpcyw4Nil9O18ubS5GZ2Q9ZnVuY3Rpb24oKXtyZXR1cm4gXy5paSh0aGlzLDExMSl9O18ubS5GYmQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy5FKHRoaXMsMTEyKX07XG5fLkU1Yi5vYj1bNDAsNTYsNTcsNzAsNzIsNzQsNzYsNzgsODAsODIsOTAsOTIsOTQsOTgsMTAyLDEwNCwxMDYsMTEwLDExNSwxMTZdO18uRTViLnByb3RvdHlwZS5xYj1cIk11SUV2ZFwiO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgRjViPVswLF8uSSxfLkgsWzAsXy5KaixfLkgsXy5KaixfLkcsXy5ILC0xLDEsXy5KaixfLkgsLTFdLF8uSCwtMSxfLnFrXTt2YXIgRzViPVswLF8ucWssLTRdO3ZhciBINWI9WzAsXy5Ual07dmFyIEk1Yj1bMCxfLkcsLTJdO3ZhciBKNWI9WzAsXy5HLC0xLF8uVGosXy5HXTt2YXIgSzViPVswLF8ucWssMSxfLnFrLC0xXTt2YXIgTDViPVswLFswLF8uVGpdLC0xXTt2YXIgTTViPVswLF8uSCxfLkcsXy5Ual07dmFyIE41Yj1bMCxfLkksXy5ILF8uVGosLTFdO3ZhciBPNWI9WzAsXy5xaywtMl07dmFyIFA1Yj1bMCxfLnFrLC0xXTt2YXIgUTViPVswLF8uSCwtMl07dmFyIFI1Yj1bMCxfLkFqLF8ucWssLTNdO3ZhciBTNWI9WzAsXy5xaywtMixfLkgsXy5xaywtMl07dmFyIFQ1Yj1bMCxfLlRqLFM1YixfLkcsXy5UaixfLmtrLFswLF8uRywtMixfLnFrLC0xXSxfLlRqLC0xMyxfLkksWzAsXy5UaiwtNixfLkpqXSwtMSxfLlFqLF8uRyxfLlRqXTt2YXIgVTViPVswLF8uRywtMV07dmFyIFY1Yj1bMCxfLlRqLC0yXTt2YXIgVzViPVswLF8uRyxfLlRqLC00LF8uJGxdO3ZhciBYNWI9WzAsXy5UaiwtNV07dmFyIFk1Yj1bMCxfLkhdO3ZhciBaNWI9WzAsXy5yayxfLnFrLF8uVGosXy5xa107dmFyICQ1Yj1bMCxfLnFrLC0xLF8uSF07dmFyIGE2Yj1bMCxfLkgsLTFdO3ZhciBiNmI9WzAsXy5JLC0xLF8uSCxfLkcsLTEsXy5UaiwtMV07dmFyIGM2Yj1bMCxfLlRqLC00XTt2YXIgZDZiPVswLF8uVGosXy5xayxfLnJrLF8uVGosXy5JLF8uVGosLTEsXy5rayxGNWIsXy5JLFI1YixiNmIsXy5xayxfLkgsXy5UaixRNWIsXy5ILC0xLF8ucWssLTEsWTViLF8uSCw1LF8ucWssXy5JLGM2YixXNWJdO3ZhciBlNmI9WzAsXy5xaywtMixfLkksXy5xayxfLmJ3YSxfLnFrLF8uSCxfLnFrLC0xLF8uSCxfLkksLTEsXy5rayxkNmJdO3ZhciBmNmI9WzAsXy5xayxlNmIsXy5xayxfLkksXy5xaywtMixhNmIsXy5raywkNWIsXy5rayxkNmJdO3ZhciBnNmI9WzAsXy5HLF8ucWssLTRdO3ZhciBoNmI9WzAsXy5ILC0zXTt2YXIgaTZiPVswLF8uSCxfLmtrLGQ2Yl07dmFyIGo2Yj1bMCxfLkcsXy5KaixfLlRqXTt2YXIgazZiPVswLF8uSCxfLlRqLF8uSmosXy5ILC0xLF8uSmosXy5HXTt2YXIgbDZiPVswLF8uRywtMl07dmFyIG02Yj1bMCxfLkcsLTIsXy5UaixfLkcsXy5Ual07dmFyIG42Yj1bMCxfLnFrLF8ucmssXy5IXTt2YXIgbzZiPVswLFsxXSxfLm5rLFswLF8uSCxfLkcsXy5UaiwtMyxfLkgsLTJdLF8uSF07dmFyIHA2Yj1bMCxfLnFrLC00XTt2YXIgcTZiPVswLF8ua2ssWzAsXy5xayxfLnJrLF8uSmpdLF8uVGpdO3ZhciByNmI9WzAsXy5UaiwtMSxfLkpqLC0yLF8uVGosLTFdO18uczZiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5zNmIsXy5xKTtfLnM2Yi5wcm90b3R5cGUuekg9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uY2oodGhpcywyMyxhKX07Xy5zNmIucHJvdG90eXBlLmNKPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRlKHRoaXMsNCxhKX07Xy5zNmIucHJvdG90eXBlLlpqYT1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywyNil9O18uczZiLnByb3RvdHlwZS5nZXRDb250ZXh0PWZ1bmN0aW9uKCl7cmV0dXJuIF8ubmkodGhpcywzOSwwKX07Xy5zNmIub2I9WzEwMywzMSw2LDY5LDQwLDYwLDU3LDc5LDk0LDgzLDg3LDkwLDkxLDk5LDEwNCwxMDUsMTEwLDEwOV07Xy50NmI9WzAsXy5JLF8uSCxNNWIsXy5ILGQ2YixfLmtrLGQ2YixfLkcsXy5xaywtMTIsXy5ILF8ucWssXy5JLF8ucWssLTEsXy5ILGc2YixJNWIsXy5JLC0xLF8udWssXy5xayxfLkgsXy5xaywtMyxfLkcsXy5JLF8ua2ssZDZiLF8uSCwtMSxfLkcsXy5xaywtMTAsVDViLF8ucWssXy5rayxaNWIsXy5xayxQNWIsXy5rayxONWIsMSxfLnFrLC0yLHI2YixfLnFrLC0xLEc1YixfLmtrLGk2YixfLnFrLC0xLF8uSCxLNWIsXy5QaixYNWIsbDZiLF8ucWssLTEsXy5rayxuNmIsbTZiLEw1YixfLmFrLF8ua2ssVjViLF8ucWssSDViLEo1YixfLmtrLGo2YixfLkcsXy5KaixfLmtrLG82YixfLmtrLGs2YixfLkcscTZiLF8uV3ZhLFU1YixfLkksLTEsXy5xayxfLnZrLF8uSCxTNWIsLTEsXy5rayxPNWIsXy5rayxlNmIsXy5rayxmNmIsXy5ILF8uRywtMSxfLmtrLHA2YixfLmtrLGY2YixfLnFrLF8uRyxoNmIsXy5ILF8uSSxfLnFrXTtfLnM2Yi5wcm90b3R5cGUub2E9Xy5TYihfLnQ2Yik7Xy5DbVsxMzUyOTM4NjFdPV8udDZiO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgdjZiLHU2YjtfLnc2Yj1mdW5jdGlvbihhKXtyZXR1cm4gXy5lbCgoMCxfLm5oKShhLnJlcGxhY2UodTZiLGZ1bmN0aW9uKGIsYyl7cmV0dXJuIHY2Yi50ZXN0KGMpP1wiXCI6XCIgXCJ9KS5yZXBsYWNlKC9bXFx0XFxuIF0rL2csXCIgXCIpKSl9O3Y2Yj0vXig/OmFiYnJ8YWNyb255bXxhZGRyZXNzfGJ8ZW18aXxzbWFsbHxzdHJvbmd8c3VbYnBdfHUpJC9pO3U2Yj0vPFshXFwvXT8oW2EtejAtOV0rKShbXFwvIF1bXj5dKik/Pi9naTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5oeT1mdW5jdGlvbihhKXthLnN0b3BQcm9wYWdhdGlvbigpO2Euc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uJiZhLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO2EucHJldmVudERlZmF1bHQoKX07Xy55NmI9ZnVuY3Rpb24oKXt2YXIgYT1fLmNoKFwiZ29vZ2xlLnBtYy5zYl93aXoub25mXCIpO3JldHVybiBhPygwLF8ueDZiKShfLkJoKGEpKTpudWxsfTtfLno2Yj1mdW5jdGlvbihhLGIpe2lmKGE9PT1iKXJldHVybiEwO2I9Xy5jaChcImdvb2dsZS5wbWMuc2Jfd2l6LnNjcVwiKXx8XCJcIjtyZXR1cm4gYiE9PVwiXCImJmE9PT1ifTtfLkE2Yj1mdW5jdGlvbihhKXtyZXR1cm4gXy56ZyhcInN1Z2dlc3Rpb25cIithK1wiaW5uZXJUZXh0Q29udGFpbmVyXCIpfTt2YXIgQjZiPVswLF8uSCxfLmtrLFswLF8uSCxbMCxfLkRqLC0xXV0sXy5rayxbMCxfLkhdLF8ua2ssWzAsXy5rayxbMCxfLkgsXy5rayxbMCxfLkgsLTEsWzAsXy5EaixfLkpqLF8uRGosLTEsXy5IXV0sXy5Ual0sXy5Ual0sWzAsXy5ILC0xXSxfLkgsXy5rayxbMCxfLkgsXy5JLF8uRGosLTFdXTtfLkNtWzQyMzI5Njk2M109QjZiO3ZhciBDNmI9WzAsXy5IXTtfLkQ2Yj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uRDZiLF8ucSk7Xy5ENmIub2I9WzFdO3ZhciBFNmI9WzAsXy5rayxDNmIsXy5xa107Xy5GNmI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLkY2YixfLnEpO18uRjZiLm9iPVsxLDMsNSw2XTt2YXIgRzZiPVswLF8uUWosXy5HLF8uU3ZhLF8uSCxfLmVrLF8ua2ssRTZiLEI2Yl07Xy5GNmIucHJvdG90eXBlLm9hPV8uU2IoRzZiKTtfLng2Yj1fLlFiKF8uRjZiLEc2Yik7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uSDZiPWZ1bmN0aW9uKCl7dGhpcy5xdWVyeT1cIlwiO3RoaXMucGFyYW1ldGVycz1uZXcgTWFwfTtfLkk2Yj1mdW5jdGlvbihhKXt2YXIgYj1uZXcgXy5INmI7Yi5Kaz1hO3JldHVybiBifTtfLkg2Yi5wcm90b3R5cGUuc2V0UXVlcnk9ZnVuY3Rpb24oYSl7dGhpcy5xdWVyeT1hO3JldHVybiB0aGlzfTtfLko2Yj1mdW5jdGlvbihhKXthLmVmYj0hMTtyZXR1cm4gYX07Xy5INmIucHJvdG90eXBlLnpIPWZ1bmN0aW9uKGEpe3RoaXMuSzI9YTtyZXR1cm4gdGhpc307XG5fLkg2Yi5wcm90b3R5cGUuYnVpbGQ9ZnVuY3Rpb24oKXtpZih0aGlzLkprKXt0aGlzLkZzJiYodGhpcy5wYXJhbWV0ZXJzPW5ldyBNYXAoW1tcInZlZFwiLHRoaXMuRnNdXSkpO3RoaXMucXVlcnk9dGhpcy5xdWVyeT90aGlzLnF1ZXJ5OnRoaXMuSmsuQWEoKTt0aGlzLnBhcmFtZXRlcnM9dGhpcy5wYXJhbWV0ZXJzLnNpemUhPT0wP3RoaXMucGFyYW1ldGVyczp0aGlzLkprLkdhKCk7dmFyIGE7dGhpcy5lZmI9KGE9dGhpcy5lZmIpIT1udWxsP2E6dGhpcy5Kay5vYSgpLmluY2x1ZGVzKDE0Myl9dmFyIGIsYyxkLGUsZjtyZXR1cm57cXVlcnk6dGhpcy5xdWVyeSxwYXJhbWV0ZXJzOnRoaXMucGFyYW1ldGVycyxlZmI6KGI9dGhpcy5lZmIpIT1udWxsP2I6ITEsSms6KGM9dGhpcy5KaykhPW51bGw/YzpudWxsLEsyOnRoaXMuSzIsc29iOihkPXRoaXMuc29iKSE9bnVsbD9kOm51bGwsRnM6KGU9dGhpcy5GcykhPW51bGw/ZTpudWxsLGVHYjooZj10aGlzLmVHYikhPW51bGw/ZjpudWxsfX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBMNmI7Xy5LNmI9ZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVwbGFjZSgvW1xcc1xceGEwXSsvZyxcIiBcIikucmVwbGFjZSgvXlxccysvZyxcIlwiKS50b0xvY2FsZUxvd2VyQ2FzZSgpfTtMNmI9ZnVuY3Rpb24oYSl7dGhpcy5CYT1hfTtMNmIucHJvdG90eXBlLkFhPWZ1bmN0aW9uKCl7cmV0dXJuIF8udzZiKHRoaXMuQmFbMF18fFwiXCIpfTtfLk02Yj1mdW5jdGlvbihhKXtyZXR1cm4gXy5peShhLFwiemlcIixcIlwiKX07TDZiLnByb3RvdHlwZS5nZXREZXNjcmlwdGlvbj1mdW5jdGlvbigpe3JldHVybiBfLml5KHRoaXMsXCJ6YWZcIixcIlwiKX07TDZiLnByb3RvdHlwZS5nZXRUeXBlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQmFbMV18fDB9O0w2Yi5wcm90b3R5cGUub2E9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5CYVsyXXx8W119O0w2Yi5wcm90b3R5cGUuZ2V0UGFyYW1ldGVycz1mdW5jdGlvbigpe3JldHVybiBfLmVjKHRoaXMuQmFbM10pfHx7fX07XG5fLml5PWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4oYS5CYVszXXx8e30pW2JdfHxjfTtMNmIucHJvdG90eXBlLk5RYT1mdW5jdGlvbigpe3JldHVybiBfLml5KHRoaXMsXCJ6ZlwiLDQzKX07Xy5ONmI9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uaXkoYSxcInpsXCIsLTEpfTtMNmIucHJvdG90eXBlLkNhPWZ1bmN0aW9uKCl7cmV0dXJuIF8uaXkodGhpcyxcInpvXCIsXCJcIil9O0w2Yi5wcm90b3R5cGUuR2E9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IE1hcChPYmplY3QuZW50cmllcyhfLml5KHRoaXMsXCJ6cFwiLHt9KSkpfTtfLk82Yj1mdW5jdGlvbihhKXtyZXR1cm4gXy5peShhLFwienNcIixcIlwiKX07Xy5QNmI9ZnVuY3Rpb24oKXt0aGlzLkFhPVwiXCI7dGhpcy5Xaz1udWxsO3RoaXMub2E9W107dGhpcy5SST17fX07XG5fLlE2Yj1mdW5jdGlvbihhKXt2YXIgYj1uZXcgXy5QNmI7Yi5BYT1hLkJhWzBdfHxcIlwiO2IuV2s9YS5nZXRUeXBlKCk7Yi5vYT1BcnJheS5mcm9tKGEub2EoKSk7Yi5SST1hLmdldFBhcmFtZXRlcnMoKTtyZXR1cm4gYn07Xy5tPV8uUDZiLnByb3RvdHlwZTtfLm0uRmM9ZnVuY3Rpb24oYSxiLGMsZCl7Yz1jPT09dm9pZCAwP1wiXCI6YztpZighYyYmKGQ9PT12b2lkIDA/MDpkKSlyZXR1cm4gdGhpcy5BYT1iP18uZGwoYSk6YSx0aGlzO2Q9Yj9fLmRsKGMpOmM7YT1hLnNsaWNlKGMubGVuZ3RoKTtiPWI/Xy5kbChhKTphO3RoaXMuQWE9ZCsoYj9cIjxiPlwiK2IrXCI8L2I+XCI6XCJcIik7cmV0dXJuIHRoaXN9O18ubS5FYz1mdW5jdGlvbihhKXt0aGlzLldrPWE7cmV0dXJuIHRoaXN9O18ubS5Ub2E9ZnVuY3Rpb24oKXt0aGlzLm9hLnB1c2guYXBwbHkodGhpcy5vYSxfLm1kKF8ubGMuYXBwbHkoMCxhcmd1bWVudHMpKSk7cmV0dXJuIHRoaXN9O1xuXy5tLkdpYz1mdW5jdGlvbigpe3ZhciBhPXRoaXM7Xy5sYy5hcHBseSgwLGFyZ3VtZW50cykuZm9yRWFjaChmdW5jdGlvbihiKXtiPWEub2EuaW5kZXhPZihiKTtiPi0xJiZhLm9hLnNwbGljZShiLDEpfSk7cmV0dXJuIHRoaXN9O18ubS5idWlsZD1mdW5jdGlvbigpe3ZhciBhPXt9O2FbMF09dGhpcy5BYTt0aGlzLldrIT09bnVsbCYmKGFbMV09dGhpcy5Xayk7dGhpcy5vYSYmKGFbMl09QXJyYXkuZnJvbShuZXcgU2V0KHRoaXMub2EpKSk7dGhpcy5SSSYmKGFbM109dGhpcy5SSSk7cmV0dXJuIG5ldyBMNmIoYSl9O1xuXy5SNmI9ZnVuY3Rpb24oYSxiLGMpe3RoaXMucXVlcnk9YTt0aGlzLkxhPWI7dGhpcy5mRz1jPT09dm9pZCAwPzA6Yzt0aGlzLnRpbWVzdGFtcD1EYXRlLm5vdygpO3RoaXMudXJpPW5ldyBfLk1tO3RoaXMuR2E9bmV3IF8uTW07dGhpcy5CYT10aGlzLmZvcmNlZD0hMTt0aGlzLmhlYWRlcnM9bmV3IE1hcDt0aGlzLkFhPV8uSzZiKGEpO2E9TWF0aC5taW4oYix0aGlzLnF1ZXJ5Lmxlbmd0aCk7aWYodGhpcy5xdWVyeSl7Yj10aGlzLnF1ZXJ5LnN1YnN0cmluZygwLGEpO2M9Xy5QYShiLnNwbGl0KC9bXlxcc10rLykpO2Zvcih2YXIgZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpYS09TWF0aC5tYXgoZC52YWx1ZS5sZW5ndGgtMSwwKTtiLm1hdGNoKC9eXFxzKy8pJiZhLS19dGhpcy5PYT1hfTtfLlI2Yi5wcm90b3R5cGUuZ2V0UXVlcnk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5xdWVyeX07Xy5SNmIucHJvdG90eXBlLklxPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudGltZXN0YW1wfTtcbl8uUzZiPWZ1bmN0aW9uKGEsYil7YS51cmk9YjthLkdhPWIuY2xvbmUoKX07Xy5SNmIucHJvdG90eXBlLm9hPWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/ITE6YztfLlZtKHRoaXMudXJpLGEsYik7YyYmXy5WbSh0aGlzLkdhLGEsYil9O18uUjZiLnByb3RvdHlwZS5DYT1mdW5jdGlvbigpe3RoaXMuZm9yY2VkPSEwfTt2YXIgVDZiO1Q2Yj1mdW5jdGlvbihhKXt0aGlzLm9hPU9iamVjdC5hc3NpZ24oe30sYS5hKTt0aGlzLkFhPXt9O3RoaXMuQWEuYT10aGlzLm9hfTtfLlU2Yj1mdW5jdGlvbihhLGIpe3JldHVybiBhLm9hJiZhLm9hW2JdJiZhLm9hW2JdWzBdfTtfLmp5PWZ1bmN0aW9uKGEsYixjLGQsZSxmKXthPWE9PT12b2lkIDA/W106YTtiPWI9PT12b2lkIDA/bmV3IE1hcDpiO3RoaXMueXI9YTt0aGlzLlJJPWI7dGhpcy5vRmE9Yz09PXZvaWQgMD8hMDpjO3RoaXMuQWE9ZD09PXZvaWQgMD8hMTpkO3RoaXMuQ2E9Zj09PXZvaWQgMD8hMTpmO3RoaXMuQmE9ZT09PXZvaWQgMD8hMTplfTtcbl8uVjZiPWZ1bmN0aW9uKGEsYixjKXtiPWI9PT12b2lkIDA/ITA6YjtjPWM9PT12b2lkIDA/ITE6Yzt2YXIgZD1kPT09dm9pZCAwPyExOmQ7dmFyIGU9ZT09PXZvaWQgMD8hMTplO3ZhciBmPShhWzBdfHxbXSkubWFwKGZ1bmN0aW9uKGcpe3JldHVybiBuZXcgTDZiKGcpfSk7YT1uZXcgTWFwKE9iamVjdC5lbnRyaWVzKGFbMV18fHt9KSk7cmV0dXJuIG5ldyBfLmp5KGYsYSxiLGMsZCxlKX07Xy5qeS5wcm90b3R5cGUudnA9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy55ci5zbGljZSgpfTtfLmp5LnByb3RvdHlwZS5vYT1mdW5jdGlvbihhLGIpe2E9dGhpcy5SSS5nZXQoYSk7cmV0dXJuIGE9PT12b2lkIDA/YjphfTtfLmp5LnByb3RvdHlwZS5nZXRQYXJhbWV0ZXJzPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXAodGhpcy5SSSl9O18uankucHJvdG90eXBlLnkkYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9GYX07Xy5reT1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IFQ2YihhLm9hKFwiYWdcIix7fSkpfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIFc2YjtfLlg2Yj1mdW5jdGlvbihhKXt2YXIgYj1mdW5jdGlvbihjKXtjLnBlcnNpc3RlZCYmYSgpfTtXNmIucHVzaChiKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInBhZ2VzaG93XCIsYil9O18uWTZiPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBVUkxTZWFyY2hQYXJhbXM7YT1fLlBhKGEuZW50cmllcygpKTtmb3IodmFyIGM9YS5uZXh0KCk7IWMuZG9uZTtjPWEubmV4dCgpKXt2YXIgZD1fLlBhKGMudmFsdWUpO2M9ZC5uZXh0KCkudmFsdWU7ZD1kLm5leHQoKS52YWx1ZTtiLmFwcGVuZChjLGQpfXJldHVybiBiLnRvU3RyaW5nKCl9O18uWjZiPWZ1bmN0aW9uKGEsYil7YS5zZXQoXCJvcGlcIixiKTthPVwiL2dlbl8yMDQ/XCIrXy5ZNmIoYSk7KGI9d2luZG93Lm5hdmlnYXRvcikmJmIuc2VuZEJlYWNvbj9iLnNlbmRCZWFjb24oYSxcIlwiKTooYj1uZXcgSW1hZ2UsYi5zcmM9YSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGIpKX07XG5fLiQ2Yj1mdW5jdGlvbihhKXthPV8uWG0oYS51cmksXCJvZnBcIil8fFwiXCI7cmV0dXJuIF8uRSgoMCxfLng2YikoXy5CaChhKSksMil9O18uYTdiPWZ1bmN0aW9uKGEpe3JldHVybiBfLml5KGEsXCJ6aFwiLGEuQmFbMF18fFwiXCIpfTtfLmI3Yj1mdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRUeXBlKCk9PTM1fHxhLmdldFR5cGUoKT09NDF8fGEub2EoKS5pbmNsdWRlcygzOSl9O18uYzdiPWZ1bmN0aW9uKGEsYixjKXthLlJJW2JdPWM7cmV0dXJuIGF9O18uZDdiPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHBhcnNlSW50KGEub2EmJmEub2FbYl0mJmEub2FbYl1bM10sMTApfHwwfTtfLmU3Yj1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgXy5qeShiLGEuUkksYS5vRmEsYS5BYSxhLkJhKX07VzZiPVtdO3ZhciBmN2I9ZnVuY3Rpb24oKXt9O2Y3Yi5wcm90b3R5cGUuWnlhPWZ1bmN0aW9uKCl7fTtmN2IucHJvdG90eXBlLm9hPWZ1bmN0aW9uKCl7fTtfLkwoZjdiLnByb3RvdHlwZSxcIkFWc25sYlwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub2F9KTt2YXIgZzdiPWZ1bmN0aW9uKCl7fTtfLm09ZzdiLnByb3RvdHlwZTtfLm0uRXdjPWZ1bmN0aW9uKCl7fTtfLm0uRndjPWZ1bmN0aW9uKCl7fTtfLm0uRHdjPWZ1bmN0aW9uKCl7fTtfLm0uR3djPWZ1bmN0aW9uKCl7fTtfLm0uc2VhcmNoPWZ1bmN0aW9uKCl7fTtfLm0uZ2V0RGF0YT1mdW5jdGlvbigpe307Xy5MKGc3Yi5wcm90b3R5cGUsXCJHMGpnWWRcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLnNlYXJjaH0pO18uTChnN2IucHJvdG90eXBlLFwiajNiSm5iXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5Hd2N9KTtfLkwoZzdiLnByb3RvdHlwZSxcImpJM3d6ZlwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuRHdjfSk7Xy5MKGc3Yi5wcm90b3R5cGUsXCJkRnlRRWZcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLkZ3Y30pO18uTChnN2IucHJvdG90eXBlLFwiZDNzUUxkXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5Fd2N9KTtfLmx5PWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5seSxfLnEpO18ubXk9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5PaShhLDEsYil9O18uaDdiPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uRGUoYSwyLGIpfTt2YXIgbnk7bnk9ZnVuY3Rpb24oKXtPYmplY3QuZnJlZXplJiZPYmplY3QuZnJlZXplKHRoaXMpfTtfLmk3Yj1uZXcgbnk7Xy5qN2I9bmV3IG55O18uazdiPW5ldyBueTtfLmw3Yj1uZXcgbnk7Xy5tN2I9bmV3IG55O18ubjdiPW5ldyBueTtfLm83Yj1uZXcgbnk7Xy5wN2I9bmV3IG55O18ucTdiPW5ldyBueTtuZXcgbnk7Xy5yN2I9bmV3IG55O25ldyBueTtfLnM3Yj1uZXcgbnk7bmV3IG55O18ub3k9ZnVuY3Rpb24oKXt0aGlzLmtiPVtdO3RoaXMuTGE9W107dGhpcy5BYT1bXTt0aGlzLkNhPVtdO3RoaXMuQmE9W107dGhpcy5SYT1bXTt0aGlzLkdhPVtdO3RoaXMuaGI9W107dGhpcy5VYT1bXTt0aGlzLm9hPVtdO3RoaXMuT2E9bmV3IE1hcDt0aGlzLlFhPW5ldyBNYXB9O18ubT1fLm95LnByb3RvdHlwZTtcbl8ubS5nOD1mdW5jdGlvbigpe2Zvcih2YXIgYT10aGlzLGI9Xy5QYShfLmxjLmFwcGx5KDAsYXJndW1lbnRzKSksYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpYz1jLnZhbHVlLHRoaXMuRVguYXBwbHkodGhpcyxfLm1kKGMua2IpKSx0aGlzLllfLmFwcGx5KHRoaXMsXy5tZChjLkNhKSksdGhpcy5JVmIuYXBwbHkodGhpcyxfLm1kKGMuQmEpKSx0aGlzLnRZYy5hcHBseSh0aGlzLF8ubWQoYy5SYSkpLHRoaXMudGlhLmFwcGx5KHRoaXMsXy5tZChjLkdhKSksdGhpcy50Ui5hcHBseSh0aGlzLF8ubWQoYy5oYikpLHRoaXMuS1ZiLmFwcGx5KHRoaXMsXy5tZChjLlVhKSksdGhpcy5jcWEuYXBwbHkodGhpcyxfLm1kKGMub2EpKSx0aGlzLk5NYS5hcHBseSh0aGlzLF8ubWQoYy5BYSkpLGMuTGEuZm9yRWFjaChmdW5jdGlvbihkKXt0N2IoYS5MYSxbe3R5cGU6ZC50eXBlLG01YTpkLm01YX1dKX0pLGMuUWEuZm9yRWFjaChmdW5jdGlvbihkLGUpe3JldHVybiBfLnU3YihhLGUsZCl9KSxcbmMuT2EuZm9yRWFjaChmdW5jdGlvbihkLGUpe3JldHVybiBfLnY3YihhLGUsZCl9KX07Xy5tLkVYPWZ1bmN0aW9uKCl7dDdiKHRoaXMua2IsXy5sYy5hcHBseSgwLGFyZ3VtZW50cykpfTtfLm0uTk1hPWZ1bmN0aW9uKCl7dzdiKHRoaXMuQWEsXy5sYy5hcHBseSgwLGFyZ3VtZW50cykpfTtfLm0uWV89ZnVuY3Rpb24oKXt0N2IodGhpcy5DYSxfLmxjLmFwcGx5KDAsYXJndW1lbnRzKSl9O18ubS5JVmI9ZnVuY3Rpb24oKXt3N2IodGhpcy5CYSxfLmxjLmFwcGx5KDAsYXJndW1lbnRzKSl9O18ubS50WWM9ZnVuY3Rpb24oKXt3N2IodGhpcy5SYSxfLmxjLmFwcGx5KDAsYXJndW1lbnRzKSl9O18ubS50aWE9ZnVuY3Rpb24oKXt3N2IodGhpcy5HYSxfLmxjLmFwcGx5KDAsYXJndW1lbnRzKSl9O18ubS50Uj1mdW5jdGlvbigpe3c3Yih0aGlzLmhiLF8ubGMuYXBwbHkoMCxhcmd1bWVudHMpKX07Xy5tLktWYj1mdW5jdGlvbigpe3c3Yih0aGlzLlVhLF8ubGMuYXBwbHkoMCxhcmd1bWVudHMpKX07XG5fLm0uY3FhPWZ1bmN0aW9uKCl7dDdiKHRoaXMub2EsXy5sYy5hcHBseSgwLGFyZ3VtZW50cykpfTtfLnU3Yj1mdW5jdGlvbihhLGIsYyl7YS5RYS5oYXMoYil8fGEuUWEuc2V0KGIsYyl9O18udjdiPWZ1bmN0aW9uKGEsYixjKXthLk9hLmhhcyhiKXx8YS5PYS5zZXQoYixjKX07Xy5veS5wcm90b3R5cGUuZ2V0QWxsPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQ2EuY29uY2F0KHRoaXMua2IsdGhpcy5CYSx0aGlzLlJhLHRoaXMuR2EsdGhpcy5oYix0aGlzLlVhLHRoaXMub2EsdGhpcy5BYSx0aGlzLkxhLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gYS5tNWF9KSxBcnJheS5mcm9tKHRoaXMuUWEudmFsdWVzKCkpLEFycmF5LmZyb20odGhpcy5PYS52YWx1ZXMoKSkpfTtfLm95LnByb3RvdHlwZS5Wc2E9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuUWEuZ2V0KGEpfHxudWxsfTtfLm95LnByb3RvdHlwZS5Tc2E9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuT2EuZ2V0KGEpfHxudWxsfTtcbnZhciB3N2I9ZnVuY3Rpb24oYSxiKXtiPXg3YihhLGIpO2I9Xy5QYShiKTtmb3IodmFyIGM9Yi5uZXh0KCk7IWMuZG9uZTtjPWIubmV4dCgpKXtjPWMudmFsdWU7dmFyIGQsZT1hO2ZvcihkPTA7ZDxlLmxlbmd0aCYmIShjLkhxKCk+ZVtkXS5IcSgpKTtkKyspO2Euc3BsaWNlKGQsMCxjKX19LHQ3Yj1mdW5jdGlvbihhLGIpe2EucHVzaC5hcHBseShhLF8ubWQoeDdiKGEsYikpKX0seDdiPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGIuZmlsdGVyKGZ1bmN0aW9uKGMpe3JldHVybiFhLmluY2x1ZGVzKGMpfSl9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLnk3Yj1mdW5jdGlvbihhLGIpe3JldHVybiBfLk9pKGEsMyxiKX07Xy56N2I9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5zYihhLDMsYixfLm1jYSl9O18uQTdiPWZ1bmN0aW9uKGEsYil7Xy5ZaChhLDEwMyxiKX07Xy5CN2I9ZnVuY3Rpb24oYSxiKXtfLkRlKGEsMixiKX07Xy5DN2I9ZnVuY3Rpb24oYSxiKXtfLkRlKGEsMzMsYil9O18uRDdiPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uaGooYSwzMSxiKX07Xy5FN2I9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5RaShhLDksYil9O18uRjdiPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uUWkoYSwxMCxiKX07Xy5HN2I9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5RaShhLDExLGIpfTtfLkg3Yj1mdW5jdGlvbihhLGIpe3JldHVybiBfLlFpKGEsMTQsYil9O18uSTdiPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uUWkoYSwxNSxiKX07Xy5KN2I9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5RaShhLDI1LGIpfTtcbl8uSzdiPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uUWkoYSwxOCxiKX07Xy5MN2I9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5RaShhLDE5LGIpfTtfLk03Yj1mdW5jdGlvbihhLGIpe3JldHVybiBfLlFpKGEsMjAsYil9O18uTjdiPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uRGUoYSwyMSxiKX07Xy5PN2I9ZnVuY3Rpb24oYSl7dHJ5e3JldHVybiBhLkdhLnRvU3RyaW5nKCl9Y2F0Y2goYil7cmV0dXJuXCJcIn19O18uUDdiPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHBhcnNlSW50KGEub2EmJmEub2FbYl0mJmEub2FbYl1bMl0sMTApfHwwfTtfLlE3Yj1mdW5jdGlvbihhKXt2YXIgYj17MDpbXX07YS55ci5mb3JFYWNoKGZ1bmN0aW9uKGMpe3JldHVybiBiWzBdLnB1c2goYy5CYSl9KTtiWzFdPXt9O2EuUkkuZm9yRWFjaChmdW5jdGlvbihjLGQpe3JldHVybiBiWzFdW2RdPWN9KTtyZXR1cm4gYn07Xy5SN2I9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLlI3YixfLnEpO18ubT1fLlI3Yi5wcm90b3R5cGU7XG5fLm0uZ2V0SW5kZXg9ZnVuY3Rpb24oKXtyZXR1cm4gXy5paSh0aGlzLDEsLTEpfTtfLm0uc2V0SW5kZXg9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uT2kodGhpcywxLGEpfTtfLm0uZ2V0VHlwZT1mdW5jdGlvbigpe3JldHVybiBfLmFkKHRoaXMsMil9O18ubS5FYz1mdW5jdGlvbihhKXtyZXR1cm4gXy5RaSh0aGlzLDIsYSl9O18ubS5ZZD1mdW5jdGlvbigpe3JldHVybiBfLkpmKHRoaXMsMil9O18ubS5YRz1mdW5jdGlvbihhKXtyZXR1cm4gXy5xYih0aGlzLDMsXy5nYixfLlNlKGEpKX07Xy5tLnhpPWZ1bmN0aW9uKCl7cmV0dXJuIF8ubmkodGhpcyw1LDApfTtfLm0uZ2V0VGl0bGU9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMTYpfTtfLm0uc2V0VGl0bGU9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcywxNixhKX07Xy5tLkdkPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmUodGhpcywxNil9O18ubS5nZXRVcmw9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMTcpfTtcbl8ubS5IYz1mdW5jdGlvbigpe3JldHVybiBfLlZlKHRoaXMsMTcpfTtfLm0uY2thPWZ1bmN0aW9uKCl7cmV0dXJuIF8uYWQodGhpcywyNyl9O18ubS5Ia2E9ZnVuY3Rpb24oKXtyZXR1cm4gXy5vaih0aGlzLDI3KX07Xy5SN2Iub2I9WzMsOF07Xy5TN2I9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLlM3YixfLnEpO18uUzdiLnByb3RvdHlwZS5ja2E9ZnVuY3Rpb24oKXtyZXR1cm4gXy5hZCh0aGlzLDEpfTtfLlM3Yi5wcm90b3R5cGUuSGthPWZ1bmN0aW9uKCl7cmV0dXJuIF8ub2oodGhpcywxKX07Xy5UN2I9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLlQ3YixfLnEpO18uVDdiLnByb3RvdHlwZS5nZXRUeXBlPWZ1bmN0aW9uKCl7cmV0dXJuIF8ubmkodGhpcywxLDEpfTtfLlQ3Yi5wcm90b3R5cGUuRWM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uY2oodGhpcywxLGEpfTtfLlQ3Yi5wcm90b3R5cGUuWWQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy5HaSh0aGlzLDEpfTtcbl8uVTdiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5VN2IsXy5xKTtfLlU3Yi5wcm90b3R5cGUuZ2V0SWQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMSl9O18uVjdiPWZ1bmN0aW9uKGEsYil7Xy5NYihhLF8uVTdiLDMsYil9O18uVzdiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5XN2IsXy5xKTtfLlc3Yi5wcm90b3R5cGUuY2thPWZ1bmN0aW9uKCl7cmV0dXJuIF8uZmkodGhpcywxKX07Xy5XN2IucHJvdG90eXBlLkhrYT1mdW5jdGlvbigpe3JldHVybiBfLm9qKHRoaXMsMSl9O18uWDdiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5YN2IsXy5xKTtfLlg3Yi5wcm90b3R5cGUuZ2V0VHlwZT1mdW5jdGlvbigpe3JldHVybiBfLmZpKHRoaXMsMSl9O18uWDdiLnByb3RvdHlwZS5FYz1mdW5jdGlvbihhKXtyZXR1cm4gXy5RaSh0aGlzLDEsYSl9O18uWDdiLnByb3RvdHlwZS5ZZD1mdW5jdGlvbigpe3JldHVybiBfLkpmKHRoaXMsMSl9O1xuXy5YN2IucHJvdG90eXBlLlhHPWZ1bmN0aW9uKGEpe3JldHVybiBfLnFiKHRoaXMsMixfLmdiLF8uU2UoYSkpfTtfLlk3Yj1mdW5jdGlvbihhLGIpe3JldHVybiBfLnNiKGEsMixiLF8ubWNhKX07Xy5YN2IucHJvdG90eXBlLmNrYT1mdW5jdGlvbigpe3JldHVybiBfLmZpKHRoaXMsMyl9O18uWDdiLnByb3RvdHlwZS5Ia2E9ZnVuY3Rpb24oKXtyZXR1cm4gXy5vaih0aGlzLDMpfTtfLlg3Yi5vYj1bMl07Xy5YN2IucHJvdG90eXBlLm9hPV8uU2IoWzAsXy5xayxfLnJrLF8ucWtdKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5aN2I9ZnVuY3Rpb24oYSl7dGhpcy5kZXBlbmRlbmNpZXM9YX07Xy5aN2IucHJvdG90eXBlLmdldD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5kZXBlbmRlbmNpZXMuZ2V0KGEpfHxudWxsfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy4kN2I9Xy5HZChcIkVQUnQ5ZFwiLFtfLno1Yl0pO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgYjhiLGU4YjtfLmE4Yj1mdW5jdGlvbihhKXtyZXR1cm4gXy50aShhLDExNSxfLlNlKCkpfTtiOGI9e3ByYTpmdW5jdGlvbigpe3JldHVybltdfX07Xy5jOGI9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuY29uZmlndXJlfTtfLmQ4Yj1mdW5jdGlvbihhKXtyZXR1cm4gYS5Jb307ZThiPWZ1bmN0aW9uKGEpe3JldHVybiBhLnJlc2V0fTtfLnB5PWZ1bmN0aW9uKGEpe18uS2cuY2FsbCh0aGlzLGEuTmEpO3ZhciBiPXRoaXM7dGhpcy5vYT1uZXcgXy5veTt0aGlzLkJhPW5ldyBNYXA7dGhpcy5DYT1hLm1vZGVsLks4Yzt0aGlzLkFhKF8uaTdiLHRoaXMuQ2EpO18uWDZiKGZ1bmN0aW9uKCl7cmV0dXJuIGIucmVzZXQoKX0pfTtfLkQoXy5weSxfLktnKTtfLnB5LklhPWZ1bmN0aW9uKCl7cmV0dXJue21vZGVsOntLOGM6Xy5BNWJ9fX07Xy5weS5wcm90b3R5cGUuQWE9ZnVuY3Rpb24oYSxiKXt0aGlzLkJhLmhhcyhhKTt0aGlzLkJhLnNldChhLGIpfTtcbl8ucHkucHJvdG90eXBlLmluaXRpYWxpemU9ZnVuY3Rpb24oYSxiKXt0aGlzLm9hPWE7dGhpcy5ZS2EoXy5jOGIsYik7ZjhiKHRoaXMpO3RoaXMuQ2EuVnIoMTApfTt2YXIgZjhiPWZ1bmN0aW9uKGEpe2Eub2EuTGEuZm9yRWFjaChmdW5jdGlvbihiKXthLkFhKGIudHlwZSxiLm01YSl9KTthLllLYShfLmQ4YixuZXcgXy5aN2IoYS5CYSkpfTtfLm09Xy5weS5wcm90b3R5cGU7Xy5tLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5ZS2EoZThiKX07Xy5tLnU2PWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPV8uUGEodGhpcy5vYS5vYSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpZC52YWx1ZS51NihhLGIpfTtcbl8ubS5oTWI9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPV8uUGEodGhpcy5vYS5vYSksYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpYy52YWx1ZS5aamEoKS5mb3JFYWNoKGZ1bmN0aW9uKGQpe3ZhciBlPW5ldyBfLlQ3YixmPV8uSWkoZCwxKTtfLk9pKGUsNCxmKTtmPV8uRWkoZCwyKTtfLkRlKGUsMixmKTtkPV8uSWkoZCwzKTtfLk9pKGUsMyxkKTtfLlpoKGEsNjAsXy5UN2IsZSl9KX07Xy5tLmtJPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1fLlBhKHRoaXMub2EuaGIpLGM9Yi5uZXh0KCk7IWMuZG9uZTtjPWIubmV4dCgpKWlmKGM9Yy52YWx1ZSxjLmZQKGEpKXJldHVybiBjO3JldHVybiBudWxsfTtfLm0uTzNiPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1fLlBhKHRoaXMub2EuVWEpLGM9Yi5uZXh0KCk7IWMuZG9uZTtjPWIubmV4dCgpKWlmKGM9Yy52YWx1ZSxjLkFmYihhKSlyZXR1cm4gYztyZXR1cm4gbnVsbH07XG5fLm0uSFFhPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0xLGM9Xy5QYSh0aGlzLm9hLkNhKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSlkPWQudmFsdWUuYlEoYSksZD5iJiYoYj1kKTtyZXR1cm4gYn07Xy5tLm80PWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPV8uUGEodGhpcy5vYS5HYSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpYT1kLnZhbHVlLnQwKGEsYik7cmV0dXJuIGF9O18ubS5BS2I9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9Xy5QYSh0aGlzLm9hLkJhKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSlkLnZhbHVlLnVwZGF0ZShhLGIpfTtfLm0uQXNiPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1fLlBhKHRoaXMub2EuQmEpLGM9Yi5uZXh0KCk7IWMuZG9uZTtjPWIubmV4dCgpKWlmKGM9Yy52YWx1ZS5nZXQoYSkpcmV0dXJuIGM7cmV0dXJuIG51bGx9O1xuXy5tLlJYYT1mdW5jdGlvbihhKXtmb3IodmFyIGI9Xy5QYSh0aGlzLm9hLlJhKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSlhPWMudmFsdWUuWEYoYSk7cmV0dXJuIGF9O18ubS5Wc2E9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMub2EuVnNhKGEpfHx0aGlzLm9hLlZzYSgtMSl8fGI4Yn07Xy5tLlNzYT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5vYS5Tc2EoYSl8fHRoaXMub2EuU3NhKC0xKXx8YjhifTtfLm0uaGVhPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1fLlBhKHRoaXMub2EuQWEpLGM9Yi5uZXh0KCk7IWMuZG9uZTtjPWIubmV4dCgpKWlmKGM9Yy52YWx1ZS5oZWEoYSkpcmV0dXJuIGM7cmV0dXJuIG51bGx9O18ubS5sbWI9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPV8uUGEodGhpcy5vYS5BYSksYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpaWYoYz1jLnZhbHVlLllzYihhLnZwKCkpKXJldHVybiBiPWEudnAoKSxiLnB1c2goYyksXy5lN2IoYSxiKTtyZXR1cm4gYX07XG5fLm0uWUthPWZ1bmN0aW9uKGEpe3ZhciBiPV8ubGMuYXBwbHkoMSxhcmd1bWVudHMpLGM9dGhpcy5vYS5nZXRBbGwoKTtpZihjLmxlbmd0aCE9PTApe2M9Xy5QYShjKTtmb3IodmFyIGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKXtkPWQudmFsdWU7dmFyIGU9YShkKTtpZihlIT09dm9pZCAwKXRyeXtlLmFwcGx5KGQsYil9Y2F0Y2goZil7fX19fTtfLldxKF8uJDdiLF8ucHkpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJFUFJ0OWRcIik7XG5cbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLmc4Yj1mdW5jdGlvbihhKXtfLktnLmNhbGwodGhpcyxhLk5hKTt0aGlzLkhlPW5ldyBfLkU1Yjt0aGlzLm9hPVtdfTtfLkQoXy5nOGIsXy5LZyk7Xy5nOGIuSWE9Xy5LZy5JYTtfLmg4Yj1mdW5jdGlvbihhLGIpe2Eub2EucHVzaChiKX07Xy5XcShfLmJaYSxfLmc4Yik7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcInZOektIZFwiKTtcblxuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uaThiPV8uR2QoXCJramt5a2RcIixbXy5icSxfLiQ3YixfLmJaYV0pO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgcXk9ZnVuY3Rpb24oYSl7cmV0dXJuIF8udGkoYSwxMTYsXy5TZSgpKX0sajhiPXtIVGI6MSxXYWU6Mix4amU6MyxQYWU6NCxXZGU6NSxLc2U6NyxsY2U6OCx5amU6OSxuY2U6MTAsdGRlOjExLG05ZDoxMyxNdGU6MTQseDlkOjE4LEFaZDoxNSx4VWI6MjgsbjlkOjMxLHRyZTozMix2MWQ6MzMsUyRkOjM0LG1VYzoxMixmZGU6MjQsZ2RlOjI2LEFjZToyNyxtMWQ6MzYsVnNlOjM3LFdzZTozOCxwbmU6Mzksa2xlOjQzLFVzZTo0NCxxZWU6NDUsb25lOjQ3LFRzZTo0OCwxOlwiTE9DQUxcIiwyOlwiSU1BR0VTXCIsMzpcIlBST0RVQ1RTXCIsNDpcIkhVTUFOX1ZPSUNFU1wiLDU6XCJMT0RHSU5HXCIsNzpcIlZJREVPU1wiLDg6XCJKT0JTXCIsOTpcIlBST0RVQ1RTX0NPTVBBUklTT05fU0lURVNcIiwxMDpcIkpPQlNfQ09NUEFSSVNPTl9TSVRFU1wiLDExOlwiTE9DQUxfQU5EX1RSQVZFTF9DT01QQVJJU09OX1NJVEVTXCIsMTM6XCJGTElHSFRTX0FJUkxJTkVfU0lURVNcIiwxNDpcIldFQl9PTkxZXCIsMTg6XCJGT1JVTVNcIiwxNTpcIkFUVFJBQ1RJT05TXCIsXG4yODpcIlNIT1BQSU5HXCIsMzE6XCJGTElHSFRTX0NPTVBBUklTT05fU0lURVNcIiwzMjpcIlRSQUlOU1wiLDMzOlwiQlVTRVNcIiwzNDpcIkdST1VORF9UUkFOU1BPUlRBVElPTl9DT01QQVJJU09OX1NJVEVTXCIsMTI6XCJORVdTXCIsMjQ6XCJMRU5TX01VTFRJTU9EQUxcIiwyNjpcIkxFTlNfVU5JTU9EQUxcIiwyNzpcIktJRF9GUklFTkRMWV9TRUFSQ0hcIiwzNjpcIkJPT0tTXCIsMzc6XCJWSVNVQUxfUFJPRFVDVFNcIiwzODpcIlZJU1VBTF9WSURFT1NcIiwzOTpcIlNIT1JUX1ZJREVPU1wiLDQzOlwiU0FDQ1wiLDQ0OlwiVklTVUFMX01BVENIRVNcIiw0NTpcIk1BR0lfQUlcIiw0NzpcIlNIT1BQSU5HX1dFQl9DTFVTVEVSXCIsNDg6XCJWSVNVQUxfRVhBQ1RfTUFUQ0hFU1wifTtfLmw4Yj1mdW5jdGlvbihhKXtfLktnLmNhbGwodGhpcyxhLk5hKTt2YXIgYj10aGlzO3RoaXMuS25hPXRoaXMuUWE9bnVsbDt0aGlzLk9hPW5ldyBNYXA7dGhpcy5HYT1uZXcgTWFwO3RoaXMuQ2E9bmV3IE1hcDt0aGlzLlJhPW5ldyBTZXQ7dGhpcy5vZD1hLnNlcnZpY2Uub2Q7YS5tb2RlbC5Cby5BYShfLm43Yix0aGlzKTt2YXIgYz1hLm1vZGVsLnd0O3RoaXMuSGU9Yy5IZTtfLmg4YihjLGZ1bmN0aW9uKCl7Yi5IZT1jLkhlO2lmKF8uRShiLkhlLDY5KSl7dmFyIGQ9W251bGwsXy50aShiLkhlLDcwLF8uU2UoKSldLGU9WzEsXy50aShiLkhlLDcyLF8uU2UoKSldLGY9WzIsXy50aShiLkhlLDc0LF8uU2UoKSldLGc9WzMsXy50aShiLkhlLDc2LF8uU2UoKSldLGg9WzQsXy50aShiLkhlLDc4LF8uU2UoKSldLGs9WzUsXy50aShiLkhlLDgwLF8uU2UoKSldLGw9WzcsXy50aShiLkhlLDk4LF8uU2UoKSldLG49WzgsXy50aShiLkhlLDEwMixfLlNlKCkpXSxyPVs5LF8udGkoYi5IZSw5MCxcbl8uU2UoKSldLHQ9WzEwLF8udGkoYi5IZSw5MixfLlNlKCkpXSx1PVsxMSxfLnRpKGIuSGUsOTQsXy5TZSgpKV0sej1bMTMsXy50aShiLkhlLDgyLF8uU2UoKSldLEI9WzI0LF8uYThiKGIuSGUpXSxGPVsyNixfLmE4YihiLkhlKV0sSz1bMjgsXy50aShiLkhlLDExMCxfLlNlKCkpXSxQPVszMSxfLnRpKGIuSGUsMTA0LF8uU2UoKSldO3ZhciBRPV8udGkoYi5IZSwxMDYsXy5TZSgpKTtkPVtkLGUsZixnLGgsayxsLG4scix0LHUseixCLEYsSyxQLFszNCxRXSxbMzcsXy5hOGIoYi5IZSldLFs0NCxfLmE4YihiLkhlKV0sWzQ4LF8uYThiKGIuSGUpXSxbMTQscXkoYi5IZSldLFsxOCxxeShiLkhlKV0sWzE1LHF5KGIuSGUpXSxbMzIscXkoYi5IZSldLFszMyxxeShiLkhlKV0sWzEyLHF5KGIuSGUpXSxbMjcscXkoYi5IZSldLFszNixxeShiLkhlKV0sWzM4LHF5KGIuSGUpXSxbMzkscXkoYi5IZSldLFs0MyxxeShiLkhlKV0sWzQ1LHF5KGIuSGUpXSxbNDcscXkoYi5IZSldXTtkPV8uUGEoZCk7XG5mb3IoZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpZj1fLlBhKGUudmFsdWUpLGU9Zi5uZXh0KCkudmFsdWUsZj1mLm5leHQoKS52YWx1ZSxoPV8uUGEoZiksZj1oLm5leHQoKS52YWx1ZSxnPWgubmV4dCgpLnZhbHVlLGg9aC5uZXh0KCkudmFsdWUsYi5PYS5zZXQoZSxmKSxiLkdhLnNldChlLGcpLGIuQ2Euc2V0KGUsaCk7Xy5rOGIoYil9fSl9O18uRChfLmw4YixfLktnKTtfLmw4Yi5JYT1mdW5jdGlvbigpe3JldHVybntzZXJ2aWNlOntvZDpfLlF1fSxtb2RlbDp7Qm86Xy5weSx3dDpfLmc4Yn19fTtfLmw4Yi5wcm90b3R5cGUub2E9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5LbmEhPT1udWxsfTtfLms4Yj1mdW5jdGlvbihhKXthLlFhPW51bGw7dmFyIGI9bmV3IFVSTFNlYXJjaFBhcmFtcyhhLm9kLmxvY2F0aW9uLnNlYXJjaCk7Yi5oYXMoXCJ1ZG1cIikmJihiPU51bWJlcihiLmdldChcInVkbVwiKSksYiBpbiBqOGImJihhLlFhPWIpKTtfLm04YihhLGEuUWEpfTtcbl8ubThiPWZ1bmN0aW9uKGEsYil7aWYoYS5LbmEhPT1iKWZvcihhLktuYT1iLGE9Xy5QYShhLlJhKSxiPWEubmV4dCgpOyFiLmRvbmU7Yj1hLm5leHQoKSliLnZhbHVlLkZmYygpfTtfLmw4Yi5wcm90b3R5cGUuQmE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5FKHRoaXMuSGUsNjkpP3RoaXMuT2EuZ2V0KHRoaXMuS25hKXx8dGhpcy5PYS5nZXQobnVsbCk6XCJcIn07Xy5sOGIucHJvdG90eXBlLlVhPWZ1bmN0aW9uKCl7cmV0dXJuIF8uRSh0aGlzLkhlLDY5KT90aGlzLkdhLmdldCh0aGlzLktuYSl8fHRoaXMuR2EuZ2V0KG51bGwpOlwiXCJ9O18ubDhiLnByb3RvdHlwZS5BYT1mdW5jdGlvbigpe3JldHVybiBfLkUodGhpcy5IZSw2OSk/dGhpcy5DYS5nZXQodGhpcy5LbmEpfHx0aGlzLkNhLmdldChudWxsKTpcIlwifTtfLldxKF8uaThiLF8ubDhiKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwia2preWtkXCIpO1xuXG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5uOGI9Xy5HZChcIkV0Q3g4YlwiLFtfLmJaYSxfLiQ3Yl0pO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgbzhiLHA4YixxOGIscjhiLHY4Yix3OGIseDhiO284Yj1mdW5jdGlvbihhLGIpe3JldHVybiBfLlFpKGEsMzUsYil9O3A4Yj1mdW5jdGlvbihhLGIpe3JldHVybiBfLlFpKGEsNTEsYil9O3E4Yj1mdW5jdGlvbihhLGIpe3JldHVybiBfLkRlKGEsMTE0LGIpfTtyOGI9ZnVuY3Rpb24oYSxiKXtfLlFpKGEsMTE2LGIpfTtfLnM4Yj1bMCwxLDIsMyw0LDUsNSw2LDYsNiw3LDcsNyw3LDcsOCw4LDgsOCw4XTtfLnQ4Yj1fLnM4Yi5sZW5ndGgqMTAwLTE7Xy51OGI9Xy5zOGJbXy5zOGIubGVuZ3RoLTFdKzE7djhiPVswLDEsMiwzLDQsNCw1LDUsNiw2LDYsNyw3LDcsNyw3LDcsNyw3LDcsNyw4LDgsOCw4LDgsOCw4LDgsOCw4XTt3OGI9djhiLmxlbmd0aCoxMDAtMTt4OGI9djhiW3Y4Yi5sZW5ndGgtMV0rMTtcbl8ucnk9ZnVuY3Rpb24oYSl7Xy5LZy5jYWxsKHRoaXMsYS5OYSk7dGhpcy5Vaz1fLlNmKHRoaXMuZ2V0RGF0YShcImVmYXFsXCIpLCExKTt0aGlzLlJiPXRoaXMuQ2E9LTE7dGhpcy5RYT1udWxsO3RoaXMuRGM9dGhpcy5TYj10aGlzLldkPXRoaXMuaGI9MDt0aGlzLkNmPUFycmF5KF8udThiKzEpLmZpbGwoMCk7dGhpcy5vYT10aGlzLkJiPTA7dGhpcy5JZD1uZXcgU2V0O3RoaXMuT2I9dGhpcy52ZD10aGlzLnlkPXRoaXMuUmE9MDt5OGIodGhpcyk7dGhpcy5PYT10aGlzLlVhPTA7dGhpcy5HYT1bXTt0aGlzLktqPWEubW9kZWwud3Q7dGhpcy5kaD1hLm1vZGVsLkJvO3RoaXMuZGguQWEoXy5qN2IsdGhpcyk7dGhpcy5CYT1uZXcgTWFwO3RoaXMuQWE9W107dGhpcy5rYj1uZXcgTWFwO3RoaXMud2I9W107dGhpcy5TYz10aGlzLkdiPW51bGw7dGhpcy5CZT1uZXcgTWFwO3RoaXMudGY9dGhpcy5xYz10aGlzLlliPTA7dGhpcy54aj1BcnJheSh4OGIrMSkuZmlsbCgwKTt0aGlzLkNnPW51bGx9O1xuXy5EKF8ucnksXy5LZyk7Xy5yeS5JYT1mdW5jdGlvbigpe3JldHVybnttb2RlbDp7d3Q6Xy5nOGIsQm86Xy5weX19fTt2YXIgeThiPWZ1bmN0aW9uKGEpe18uWDZiKGZ1bmN0aW9uKCl7cmV0dXJuIGEuc1hhKCl9KX07Xy5tPV8ucnkucHJvdG90eXBlO18ubS5zWGE9ZnVuY3Rpb24oKXt0aGlzLlJiPXRoaXMuQ2E9LTE7dGhpcy5RYT1udWxsO3RoaXMuU2I9dGhpcy5XZD10aGlzLmhiPTA7dGhpcy5DZj1BcnJheShfLnU4YisxKS5maWxsKDApO3RoaXMub2E9dGhpcy5CYj0wO3RoaXMuSWQuY2xlYXIoKTt0aGlzLk9hPXRoaXMuT2I9dGhpcy5VYT10aGlzLnZkPXRoaXMueWQ9dGhpcy5SYT0wO3RoaXMuR2E9W107dGhpcy5HYj1udWxsO3RoaXMuQWE9W107dGhpcy5CYS5jbGVhcigpO3RoaXMud2I9W107dGhpcy5rYi5jbGVhcigpO3RoaXMucWM9MDt0aGlzLnhqPUFycmF5KHg4YisxKS5maWxsKDApO3RoaXMuRGM9dGhpcy50Zj10aGlzLlliPTB9O1xuXy5tLm45PWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuS2ouSGUsYz10aGlzLnp0YShhKTtjPV8uSmEoYy5vYSgpLDQpO2E9bmV3IE1hcChbW1wib3FcIixhXSxbXCJnc19scFwiLGNdLFtcInNjbGllbnRcIixiLmJOKCldXSk7dGhpcy5DZz09PTE4JiZhLnNldChcImdzX2l2c1wiLFwiMVwiKTtyZXR1cm4gYX07XG5fLm0uenRhPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuS2ouSGU7YT1fLkQ3YihfLks3YihfLko3YihfLkk3YihfLkg3YihfLkw3YihfLk03YihfLk43YihfLkU3YihfLkc3YihfLkY3YigobmV3IF8uczZiKS5jSihhKS56SCh0aGlzLkNnKSx0aGlzLm1SYSh0aGlzLmhiKSksdGhpcy5tUmEodGhpcy5XZCkpLHRoaXMub2E9PT0wPzA6RGF0ZS5ub3coKS10aGlzLm9hKSx6OGIodGhpcy5DZikpLHRoaXMuU2IpLHRoaXMuQmIpLHRoaXMuUmEpLHRoaXMueWQpLHRoaXMudmQpLHRoaXMuT2IpLEFycmF5LmZyb20odGhpcy5JZC52YWx1ZXMoKSkpO3RoaXMuQ2EhPT0tMSYmXy5RaShhLDM3LHRoaXMuQ2EpO3RoaXMuUmIhPT0tMSYmXy5RaShhLDk4LHRoaXMuUmIpO3RoaXMuT2EhPT0wJiZfLlY3YihhLF8ueTdiKG5ldyBfLlU3Yix0aGlzLk9hKSk7Xy5BN2IoYSx0aGlzLndiLm1hcChmdW5jdGlvbihkKXt2YXIgZT1uZXcgXy5TN2I7dmFyIGY9Xy5KZihkLDEpO2U9Xy5RaShlLDEsZik7Xy5vaihkLFxuMikmJihmPV8uZmkoZCwyKSxfLlFpKGUsMixmKSk7Xy5vaihkLDMpJiYoZD1fLmZpKGQsMyksXy5RaShlLDMsZCkpO3JldHVybiBlfSkpO3ZhciBjPXRoaXMuQWEubWFwKGZ1bmN0aW9uKGQpe3ZhciBlPV8uejdiKChuZXcgXy5SN2IpLkVjKGQuWWQoKSksZC5YRygpKTtkLkhrYSgpJiYoZD1kLmNrYSgpLF8uUWkoZSwyNyxkKSk7cmV0dXJuIGV9KTtfLlloKGEsNixjKTt0aGlzLlFhIT09bnVsbCYmKHRoaXMuVWs/Yz1jW3RoaXMuUWFdLmNsb25lKCk6KGM9bmV3IF8uUjdiLHRoaXMuU2MmJl8uejdiKGMsXy5zaSh0aGlzLlNjLDQsXy5TZSgpKSkpLGMuc2V0SW5kZXgodGhpcy5RYSksXy5NYihhLF8uUjdiLDUsYykpO0E4Yih0aGlzKTtjPUFycmF5LmZyb20odGhpcy5CYS52YWx1ZXMoKSkubWFwKGZ1bmN0aW9uKGQpe3ZhciBlPV8uejdiKChuZXcgXy5SN2IpLkVjKGQuZ2V0VHlwZSgpKSxkLlhHKCkpO2QuSGthKCkmJihkPWQuY2thKCksXy5RaShlLDI3LGQpKTtyZXR1cm4gZX0pO18uWWgoYSxcbjQwLGMpO3RoaXMuR2ImJl8uY2ooYSw5Nyx0aGlzLkdiKTtfLkI3YihhLGIuYk4oKSk7Xy5WZShiLDIpJiZfLkEoYiwyKSE9PVwiXCImJl8uQzdiKGEsXy5BKGIsMikpO3I4YihvOGIocThiKHA4YihfLlFpKGEsMzYsdGhpcy5xYyksdGhpcy5ZYiksejhiKHRoaXMueGopKSx0aGlzLnRmKSx0aGlzLkRjKTtiPXRoaXMuR2EubWFwKGZ1bmN0aW9uKGQpe3ZhciBlPW5ldyBfLlQ3YixmPV8uSWkoZCwxKTtfLk9pKGUsNCxmKTtmPV8uRWkoZCwyKTtfLkRlKGUsMixmKTtkPV8uSWkoZCwzKTtfLk9pKGUsMyxkKTtyZXR1cm4gZX0pO18uWWgoYSw2MCxiKTt0aGlzLmRoLmhNYihhKTtyZXR1cm4gYX07XG5fLm0uaEJiPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi52cCgpLGQ9Yy5sZW5ndGg7YS5nZXRRdWVyeSgpLnRyaW0oKXx8KHRoaXMuQ2E9ZCx0aGlzLlliPT09MCYmKHRoaXMuWWI9RGF0ZS5ub3coKS1hLklxKCkpKTtpZihkPjApe3ZhciBlPURhdGUubm93KCktYS5JcSgpOysrdGhpcy54altlPnc4Yj94OGI6djhiW01hdGguZmxvb3IoZS8xMDApXV07dGhpcy5xYys9ZTsrK3RoaXMudGZ9aWYoZT1kPjApZT1jWzBdLGU9ZS5vYSgpLmluY2x1ZGVzKDQzMil8fGUub2EoKS5pbmNsdWRlcyg3MSk7ZSYmKHRoaXMuUmI9ZCk7ZD1fLmt5KGIpO3RoaXMuQWE9W107Yz1fLlBhKGMpO2ZvcihlPWMubmV4dCgpOyFlLmRvbmU7ZT1jLm5leHQoKSl7dmFyIGY9ZS52YWx1ZTtlPV8uWTdiKChuZXcgXy5YN2IpLkVjKGYuZ2V0VHlwZSgpKSxmLm9hKCkpO3ZhciBnPV8uTjZiKGYpO2Y9Xy5kN2IoZCxnKTtnPV8uUDdiKGQsZyk7dmFyIGg9ZitcIi1cIitnO2lmKGghPT1cIjAtMFwiKWlmKHRoaXMua2IuaGFzKGgpKWY9XG5lLGc9dGhpcy5rYi5nZXQoaCksXy5RaShmLDMsZyk7ZWxzZXt2YXIgaz10aGlzLndiLmxlbmd0aCsxO18uUWkoZSwzLGspO3RoaXMua2Iuc2V0KGgsayk7aD1uZXcgXy5XN2I7Xy5RaShoLDEsayk7ZyE9PTAmJl8uUWkoaCwyLGcpO2YhPT0wJiZfLlFpKGgsMyxmKTt0aGlzLndiLnB1c2goaCl9dGhpcy5CYS5oYXMoXy5KYShlLm9hKCkpKXx8dGhpcy5CYS5zZXQoXy5KYShlLm9hKCkpLGUpO3RoaXMuQWEucHVzaChlKX1kPV8uUGEodGhpcy5CZS5lbnRyaWVzKCkpO2ZvcihjPWQubmV4dCgpOyFjLmRvbmU7Yz1kLm5leHQoKSllPV8uUGEoYy52YWx1ZSksYz1lLm5leHQoKS52YWx1ZSxlPWUubmV4dCgpLnZhbHVlLChjPXRoaXMuQWFbY10pJiZfLlk3YihjLFtdLmNvbmNhdChfLm1kKGMuWEcoKSksXy5tZChlKSkpO3RoaXMuQmUuY2xlYXIoKTt0aGlzLmRoLnU2KGEsYil9O18ubS52WWE9ZnVuY3Rpb24oYSl7dGhpcy5RYT1hfTtfLm0uT2tjPWZ1bmN0aW9uKGEpe3RoaXMuU2M9YX07XG5fLm0ueWxjPWZ1bmN0aW9uKGEsYil7Yi5zaXplIT09MCYmdGhpcy5CZS5zZXQoYSxiKX07Xy5tLndLYj1mdW5jdGlvbigpe3ZhciBhPURhdGUubm93KCk7dGhpcy5oYj09PTAmJih0aGlzLmhiPWEpO3RoaXMuV2Q9YX07dmFyIHo4Yj1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPTAsZD0tMTthPV8uUGEoYSk7Zm9yKHZhciBlPWEubmV4dCgpOyFlLmRvbmU7ZT1hLm5leHQoKSlpZihlPWUudmFsdWUsKytkLGU9PT0wKWMrKztlbHNle3ZhciBmPVwiXCI7Yz09PTE/Zj1cIjAuXCI6Yz4xJiYoZj1kK1wiLVwiKTtiLnB1c2goZitlKTtjPTB9cmV0dXJuIGIuam9pbihcIi5cIil9O18ubT1fLnJ5LnByb3RvdHlwZTtfLm0ubVJhPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm9hPT09MD8wOk1hdGgubWF4KGEtdGhpcy5vYSwwKX07Xy5tLnhLYj1mdW5jdGlvbihhKXthLm9hKFwiZVwiLCExKT8odGhpcy5PYT10aGlzLlVhPjA/MzoxLHRoaXMuVWErKyk6dGhpcy5PYT10aGlzLlVhPjA/MjowfTtfLm0uZmNhPWZ1bmN0aW9uKGEpe3RoaXMuSWQuYWRkKGEpfTtcbl8ubS5KeGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1uZXcgXy5seTtfLm15KGMsYSk7dHlwZW9mIGI9PT1cIm51bWJlclwiP18uT2koYywzLGIpOl8uaDdiKGMsYik7dGhpcy5HYS5wdXNoKGMpfTtfLm0uWWtjPWZ1bmN0aW9uKGEsYil7dGhpcy5HYT1fLm9oKHRoaXMuR2EsZnVuY3Rpb24oYyl7cmV0dXJuIF8uZWkoYywxKSE9PWF9KTt0aGlzLkp4YShhLGIpfTt2YXIgQThiPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1fLlBhKGEuQWEpLGM9Yi5uZXh0KCk7IWMuZG9uZTtjPWIubmV4dCgpKWM9Xy5KYShjLnZhbHVlLm9hKCkpLGEuQmEuaGFzKGMpJiZhLkJhLmRlbGV0ZShjKX07Xy5yeS5wcm90b3R5cGUuekg9ZnVuY3Rpb24oYSl7dGhpcy5DZz1hfTtfLldxKF8ubjhiLF8ucnkpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJFdEN4OGJcIik7XG5cbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgQjhiPW5ldyBmdW5jdGlvbigpe3RoaXMub2E9bmV3IE1hcH07Xy5DOGI9ZnVuY3Rpb24oYSl7Xy5LZy5jYWxsKHRoaXMsYS5OYSk7dGhpcy5IZT1udWxsO3RoaXMub2E9YS5BZS5IZTt0aGlzLnd0PWEubW9kZWwud3Q7YT1fLmRtKHRoaXMuZ2V0RGF0YShcInNiS2V5XCIpLFwiXCIpO0I4Yi5vYS5oYXMoYSkmJkI4Yi5vYS5nZXQoYSkhPT1cIlwifHxCOGIub2Euc2V0KGEsXCJcIik7dGhpcy5lR2I9YX07Xy5EKF8uQzhiLF8uS2cpO18uQzhiLklhPWZ1bmN0aW9uKCl7cmV0dXJue0FlOntIZTpfLkU1Yn0sbW9kZWw6e3d0Ol8uZzhifX19O18uRDhiPWZ1bmN0aW9uKGEpe3ZhciBiPWI9PT12b2lkIDA/bnVsbDpiO2EuSGU9YS5vYXx8Xy5ScGEoXy5SYyhhLmVHYiksXy5FNWIsYik7Yj1hLnd0O2IuSGU9YS5IZTthPV8uUGEoYi5vYSk7Zm9yKGI9YS5uZXh0KCk7IWIuZG9uZTtiPWEubmV4dCgpKWI9Yi52YWx1ZSxiKCl9O18uV3EoXy54MWEsXy5DOGIpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJiNVc4NVwiKTtcblxuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uTThiPV8uR2QoXCJMOTdtdWRcIixbXy4kN2IsXy5iWmFdKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIE44YjtOOGI9W1wiXCIsXCJpXCIsXCJzaFwiXTtfLlA4Yj1mdW5jdGlvbihhKXtfLktnLmNhbGwodGhpcyxhLk5hKTt2YXIgYj10aGlzO3RoaXMuVXY9dGhpcy5vYT1udWxsO3RoaXMuc3RvcmFnZT1uZXcgXy52RWE7dGhpcy53dD1hLm1vZGVsLnd0O3RoaXMuSGU9dGhpcy53dC5IZTt0aGlzLmlzRW5hYmxlZD10aGlzLnN0b3JhZ2UuaXNBdmFpbGFibGUoKSYmXy5FKHRoaXMuSGUsODQsITApO18uaDhiKHRoaXMud3QsZnVuY3Rpb24oKXtiLkhlPWIud3QuSGU7TzhiKGIpO2IuSGUuVXRiKCkmJl8ueWYoYix7bW9kZWw6e1V2Ol8uaThifX0pLnRoZW4oZnVuY3Rpb24oYyl7Yi5Vdj1jLm1vZGVsLlV2fSkuY2F0Y2goZnVuY3Rpb24oKXt9KTtiLmlzRW5hYmxlZCYmKGIuaXNFbmFibGVkPV8uRShiLkhlLDg0LCEwKSl9KTthLm1vZGVsLkJvLkFhKF8ubDdiLHRoaXMpfTtfLkQoXy5QOGIsXy5LZyk7Xy5QOGIuSWE9ZnVuY3Rpb24oKXtyZXR1cm57bW9kZWw6e0JvOl8ucHksd3Q6Xy5nOGJ9fX07XG52YXIgUThiPWZ1bmN0aW9uKGEpe3ZhciBiLGMsZD0oYz0oYj1hLlV2KT09bnVsbD92b2lkIDA6Yi5CYSgpKSE9bnVsbD9jOlwiXCIsZTtyZXR1cm4oYT0oZT1fLmE4YihhLkhlKSk9PW51bGw/dm9pZCAwOmVbMF0pJiZkPT09YT8hMTohMH07Xy5QOGIucHJvdG90eXBlLmdldD1mdW5jdGlvbihhKXtpZighUThiKHRoaXMpKXJldHVybiBudWxsO2lmKFI4Yih0aGlzKSlyZXR1cm4gdGhpcy5vYTtpZih0aGlzLmlzRW5hYmxlZCl7YT1TOGIodGhpcyxhKTt2YXIgYj1udWxsO3RyeXtiPXRoaXMuc3RvcmFnZS5nZXQoYSl9Y2F0Y2goYyl7cmV0dXJuIG51bGx9aWYoYT1iPygwLF8uVTBhKShiKTpudWxsKXJldHVybiBfLlY2YihhLCEwLCEwKX1yZXR1cm4gbnVsbH07XG5fLlA4Yi5wcm90b3R5cGUucHV0PWZ1bmN0aW9uKGEsYil7aWYodGhpcy5pc0VuYWJsZWQmJlE4Yih0aGlzKSlpZihSOGIodGhpcykpdGhpcy5vYT1fLlY2YihiLCEwLCEwKTtlbHNle2E9UzhiKHRoaXMsYSk7dHJ5e3RoaXMuc3RvcmFnZS5zZXQoYSwoMCxfLlQwYSkoYikpfWNhdGNoKGMpe319fTtfLlA4Yi5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oYSl7aWYodGhpcy5pc0VuYWJsZWQpaWYoXy5FKHRoaXMuSGUsNjEpKVQ4Yih0aGlzLDAsYSk7ZWxzZXthPVM4Yih0aGlzLGEpO3RyeXt0aGlzLnN0b3JhZ2UucmVtb3ZlKGEpfWNhdGNoKGIpe319fTtcbnZhciBTOGI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVThiKGEpP1wic2Jfd2l6LnpwYy5cIithLlV2LkJhKCkrXCIuXCIrYS5Vdi5BYSgpOl8uRShhLkhlLDYxKT9cInNiX3dpei56cGMuXCIrYS5IZS5iTigpK1wiLlwiK2I6XCJzYl93aXouenBjLlwiK2J9LFU4Yj1mdW5jdGlvbihhKXtyZXR1cm4gYS5IZS5VdGIoKSYmYS5VdiE9PW51bGwmJmEuVXYub2EoKX0sUjhiPWZ1bmN0aW9uKGEpe3JldHVybiBfLkUoYS5IZSw1OSkmJmEuSGUuU1AoKT09PVwiXCImJmEuSGUua0coKSE9PVwiXCJ9LE84Yj1mdW5jdGlvbihhKXtpZihhLmlzRW5hYmxlZCl7dmFyIGI9bnVsbDt0cnl7Yj1hLnN0b3JhZ2UuZ2V0KFwic2Jfd2l6LnVlaFwiKX1jYXRjaChmKXt9dmFyIGM9YS5IZS50dmIoKTtpZihiIT09YylpZihfLkUoYS5IZSw2MSkpVDhiKGEsMSk7ZWxzZSBmb3IodmFyIGQ9Xy5QYShOOGIpLGU9ZC5uZXh0KCk7IWUuZG9uZTtlPWQubmV4dCgpKWEuY2xlYXIoZS52YWx1ZSk7dHJ5e2M/YS5zdG9yYWdlLnNldChcInNiX3dpei51ZWhcIixcbmMpOmImJmEuc3RvcmFnZS5yZW1vdmUoXCJzYl93aXoudWVoXCIpfWNhdGNoKGYpe319fSxUOGI9ZnVuY3Rpb24oYSxiLGMpe2M9Yz09PXZvaWQgMD9cIlwiOmM7Zm9yKHZhciBkPVtdLGU9Xy5QYShhLnN0b3JhZ2UpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKXN3aXRjaChmPWYudmFsdWUsYil7Y2FzZSAwOnZhciBnPVU4YihhKT9hLlV2LkFhKCk6YztmLnN0YXJ0c1dpdGgoXCJzYl93aXouenBjLlwiKSYmZi5lbmRzV2l0aChcIi5cIitnKSYmZC5wdXNoKGYpO2JyZWFrO2Nhc2UgMTpmLmluY2x1ZGVzKFwic2Jfd2l6LnpwY1wiKSYmZC5wdXNoKGYpO2JyZWFrO2RlZmF1bHQ6Xy5EYyhiKX1iPV8uUGEoZCk7Zm9yKGM9Yi5uZXh0KCk7IWMuZG9uZTtjPWIubmV4dCgpKWEuc3RvcmFnZS5yZW1vdmUoYy52YWx1ZSl9O18uUDhiLnByb3RvdHlwZS5pc0F2YWlsYWJsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzRW5hYmxlZH07Xy5XcShfLk04YixfLlA4Yik7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcIkw5N211ZFwiKTtcblxuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uVjhiPV8uR2QoXCJJcDNFcmNcIixbXy5icSxfLiQ3YixfLno1YixfLmJaYSxfLm44YixfLk04Yl0pO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgVzhiO18uWDhiPWZ1bmN0aW9uKGEsYil7dGhpcy5LZz1hO3RoaXMuU3I9Yjt0aGlzLkFhPSExO3RoaXMub2E9bnVsbDtXOGIodGhpcyl9O1c4Yj1mdW5jdGlvbihhKXthLm9hPW5ldyBfLnJtKGEpO2Eub2EubGlzdGVuKGEuS2csXCJyZWFkeXN0YXRlY2hhbmdlXCIsZnVuY3Rpb24oYil7aWYoYS5LZz09Yi50YXJnZXQmJihiPWEuS2cuZlEoKSwhKGI8MykpKXt2YXIgYz1udWxsO3RyeXtjPV8uQ3EoYS5LZyxcIildfSdcIil9Y2F0Y2goZCl7fWlmKGIhPTN8fGMpYyYmIWEuQWEmJihhLkFhPSEwLGEuU3IoKSksYj09NCYmKGEuQWF8fGEuU3IoKSxhLmNsZWFyKCkpfX0pfTtfLlg4Yi5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLm9hLnJlbW92ZUFsbCgpO2lmKHRoaXMuS2cpe3ZhciBhPXRoaXMuS2c7dGhpcy5LZz1udWxsO2EuYWJvcnQoKTthLmRpc3Bvc2UoKX19O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgWThiLFo4YjtZOGI9ZnVuY3Rpb24oYSl7YS5DYT1NYXRoLm1heChhLkNhLDApfTtaOGI9ZnVuY3Rpb24oYSl7YS5vYT09PTAmJihhLm9hPURhdGUubm93KCkpfTtcbl8uYTliPWZ1bmN0aW9uKGEpe18uS2cuY2FsbCh0aGlzLGEuTmEpO3ZhciBiPXRoaXM7dGhpcy5Vdj12b2lkIDA7dGhpcy5PYT0hMTt0aGlzLmhiPTA7dGhpcy5SYT0tMTt0aGlzLnNlc3Npb25JZD1cIlwiO3RoaXMuQWE9dGhpcy5CYT1udWxsO3RoaXMuQ2E9W107dGhpcy5HYT1bXTt0aGlzLk1IYT1uZXcgTWFwO3RoaXMuUWE9dGhpcy5VYTt0aGlzLm9kPWEuc2VydmljZS5sb2NhdGlvbjt0aGlzLm9hPWEubW9kZWwuQm87dGhpcy5ldmVudHM9YS5tb2RlbC5ldmVudHM7dGhpcy53dD1hLm1vZGVsLnd0O3RoaXMuRmQ9YS5tb2RlbC5GZDt0aGlzLk1oYT1hLm1vZGVsLk1oYTt0aGlzLkhlPXRoaXMud3QuSGU7JDhiKHRoaXMpO18uaDhiKHRoaXMud3QsZnVuY3Rpb24oKXskOGIoYik7Xy5UZChfLnlmKGIse21vZGVsOntVdjpfLmk4Yn19KS50aGVuKGZ1bmN0aW9uKGMpe2IuVXY9Yy5tb2RlbC5Vdn0pLmNhdGNoKGZ1bmN0aW9uKCl7Yi5Vdj1udWxsfSksZnVuY3Rpb24oKXtmb3IodmFyIGM9XG5fLlBhKGIuQ2EpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKWQ9ZC52YWx1ZSxiLnlHKGQucmVxdWVzdCxkLmhhbmRsZXIpO2IuQ2EubGVuZ3RoPTB9KX0pO2EubW9kZWwuQm8uQWEoXy5rN2IsdGhpcyl9O18uRChfLmE5YixfLktnKTtfLmE5Yi5JYT1mdW5jdGlvbigpe3JldHVybntzZXJ2aWNlOntsb2NhdGlvbjpfLlF1fSxtb2RlbDp7Qm86Xy5weSxldmVudHM6Xy5BNWIsd3Q6Xy5nOGIsRmQ6Xy5yeSxNaGE6Xy5QOGJ9fX07Xy5hOWIucHJvdG90eXBlLmluaXRpYWxpemU9ZnVuY3Rpb24oYSl7dGhpcy5RYT1hfTtcbl8uYTliLnByb3RvdHlwZS55Rz1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXM7YS5mRz09PTAmJlo4Yih0aGlzLkZkKTtpZih0aGlzLk9hJiZ0aGlzLlV2IT09dm9pZCAwKXtiOWIodGhpcyxhKTt2YXIgZD10aGlzLm9hLkhRYShhKTtpZihkPT09MylfLks2YihhLmdldFF1ZXJ5KCkpPT09XCJcIiYmYS5mRz09PTAmJmIoYSxuZXcgXy5qeSk7ZWxzZXt2YXIgZT1hLmdldFF1ZXJ5KCksZj10aGlzLkhlO2UudHJpbSgpfHxhLmZHIT09MHx8WThiKHRoaXMuRmQpO2Y9Zi5rRygpO18uSzZiKGYpIT09XCJcIiYmXy56NmIoZSxmKSYmYS5mRz09PTAmJih0aGlzLkZkLkdiPTEpO3ZhciBnPWEuZkc9PT0xPy0yOnRoaXMuaGIrKztlPWM5Yih0aGlzLGEsZyxiKTtpZighZXx8YS5mb3JjZWQpe2lmKCFlJiYoZT1kOWIodGhpcyxhLGcsYikpJiYhYS5mb3JjZWR8fCFlJiYoZT1lOWIodGhpcyxhLGIpKSYmIWEuZm9yY2VkKXJldHVybjtlPV8uaWkodGhpcy5IZSwxMTQsLTEpO2lmKGQ9PT0yJiZlPjAmJih0aGlzLkFhIT09XG5udWxsJiZjbGVhclRpbWVvdXQodGhpcy5BYSksdGhpcy5BYT1udWxsLGQ9dGhpcy5CYSE9PW51bGw/RGF0ZS5ub3coKS10aGlzLkJhOkluZmluaXR5LGQ8ZSkpe3RoaXMuQWE9c2V0VGltZW91dChmdW5jdGlvbigpe2Y5YihjLGEsZyxiKTtjLkJhPURhdGUubm93KCl9LGUtZCk7cmV0dXJufWY5Yih0aGlzLGEsZyxiKTt0aGlzLkJhPURhdGUubm93KCl9fX1lbHNlIHRoaXMuQ2EucHVzaCh7cmVxdWVzdDphLGhhbmRsZXI6Yn0pfTtcbnZhciBiOWI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLkhlLGQ9Xy5FKGMsOCwhMCk/Yi5BYTpiLmdldFF1ZXJ5KCksZT1fLkUoYyw4LCEwKT9iLk9hOmIuTGEsZj1fLkUoYywxMTcpP1wiL2NvbXBsZXRlL3NcIjpcIi9jb21wbGV0ZS9zZWFyY2hcIixnPV8uWG0oYi51cmksXCJnc19wY3J0XCIpLGg9bmV3IF8uTW0oXy5BKGMsMTYpKTtmPV8uUm0oXy5RbShfLlBtKF8uTm0obmV3IF8uTW0saC5BYXx8XCJcIiksaC5FcSgpfHxcIlwiKSxoLkNhfHxcIlwiKSxmKTtfLlM2YihiLGYpO2Iub2EoXCJxXCIsZCwhMCk7Yi5vYShcImNwXCIsZSwhMCk7YS5VdiYmYS5Vdi5vYSgpP2Iub2EoXCJjbGllbnRcIixhLlV2LkJhKCksITApOmIub2EoXCJjbGllbnRcIixjLmJOKCkpO2Iub2EoXCJ4c3NpXCIsXCJ0XCIpO2MuYThhKCkmJmIub2EoXCJnc19wY3J0XCIsZywhMSk7YS5VdiYmYS5Vdi5vYSgpPyhkPWEuVXYuVWEoKSkmJmIub2EoXCJnc19yaVwiLGQsITApOihkPV8uQShjLDIpKSYmYi5vYShcImdzX3JpXCIsZCk7YS5VdiYmYS5Vdi5vYSgpPyhkPVxuYS5Vdi5BYSgpKSYmYi5vYShcImRzXCIsZCwhMCk6KGQ9Yy5TUCgpKSYmYi5vYShcImRzXCIsZCwhMCk7Yy5UTGEoKSYmYi5vYShcImhsXCIsYy5UTGEoKSk7Xy5taihjLDE0KSYmYi5vYShcImF1dGh1c2VyXCIsXy5paShjLDE0KSk7Yy5rRygpJiZiLm9hKFwicHFcIixjLmtHKCksITApO2Euc2Vzc2lvbklkJiZiLm9hKFwicHNpXCIsYS5zZXNzaW9uSWQpO2E9bmV3IFVSTFNlYXJjaFBhcmFtcyhhLm9kLmxvY2F0aW9uLnNlYXJjaCk7YS5oYXMoXCJlc3JjaFwiKSYmYi5vYShcImVzcmNoXCIsYS5nZXQoXCJlc3JjaFwiKSl9LGM5Yj1mdW5jdGlvbihhLGIsYyxkKXtpZihiLkFhfHxiLmZHPT09MXx8IWc5YihhLGMpKXJldHVybiExO2M9YS5IZS5aNCgpP2EuTWhhLmdldChhLkhlLlNQKCkpOm51bGw7KGI9aDliKGEsYixjLGQsITApKSYmYyYmYS5GZC5SYSsrO3JldHVybiBifSxkOWI9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ISFiLkFhfHwhYS5NaGEuaXNBdmFpbGFibGUoKSxmPV8uTzdiKGIpO3JldHVybiBlJiZhLk1IYS5oYXMoZikmJlxuZzliKGEsYyk/KGEuRmQuUmErKyxoOWIoYSxiLGEuTUhhLmdldChmKSxkLCEwKSwhMCk6ITF9LGU5Yj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5vYS5Bc2IoYik7cmV0dXJuIGQmJihkLnZwKCkubGVuZ3RoPjB8fGQuQ2EpPyhhLkZkLnlkKyssaDliKGEsYixkLGMsITEpLCEwKTohMX0sZjliPWZ1bmN0aW9uKGEsYixjLGQpe2Zvcig7YS5HYS5sZW5ndGg+PTQ7KWEuR2Euc2hpZnQoKS5jbGVhcigpO2EuUWEoYikudGhlbihmdW5jdGlvbihlKXtpZihiLmZHIT09MSYmZSl7dmFyIGY9YS5GZCxnPURhdGUubm93KCktYi5JcSgpOysrZi5DZltnPl8udDhiP18udThiOl8uczhiW01hdGguZmxvb3IoZy8xMDApXV07Zi5TYis9ZztmLkJiPU1hdGgubWF4KGYuQmIsZyl9KGY9ZzliKGEsYykpfHxhLkZkLk9iKys7dHJ5e2YmJmg5YihhLGIsZSxkLCExKSxhLm9hLkFLYihlLGIpfWNhdGNoKGgpe319KS5jYXRjaChmdW5jdGlvbihlKXtnOWIoYSxjKXx8YS5GZC5PYisrO2UubWVzc2FnZT09PVwiY29ubmVjdGlvblJlamVjdGVkXCImJlxuYS5GZC52ZCsrfSl9O18uYTliLnByb3RvdHlwZS5VYT1mdW5jdGlvbihhKXt2YXIgYj10aGlzO3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihjLGQpe3ZhciBlPW5ldyBfLkFxO2Uuc2V0V2l0aENyZWRlbnRpYWxzKCEwKTthLmhlYWRlcnMuZm9yRWFjaChmdW5jdGlvbihnLGgpe3JldHVybiBlLmhlYWRlcnMuc2V0KGgsZyl9KTt2YXIgZj1uZXcgXy5YOGIoZSxmdW5jdGlvbigpe2lmKGUuaXNTdWNjZXNzKCkpdHJ5e3ZhciBnPV8uQ3EoZSxcIildfSdcIil8fHt9LGg9Xy5WNmIoZyk7aWYoYS5mRyE9PTEmJmgpe3ZhciBrPWIuRmQsbD0obmV3IEJsb2IoW2UucXgoKV0pKS5zaXplO2suRGMrPWx9YyhoKX1jYXRjaChuKXtkKG4pfWVsc2UgZChFcnJvcihcIlpmXCIpKX0pO2IuR2EucHVzaChmKTtlLnNlbmQoYS51cmkudG9TdHJpbmcoKSl9KX07XG52YXIgaDliPWZ1bmN0aW9uKGEsYixjLGQsZSl7ZT1lPT09dm9pZCAwPyExOmU7dmFyIGY9Y3x8bmV3IF8uank7aWYoIWUpe3ZhciBnPWY9YS5SWGEoYixmKTtpZihnLnkkYSgpKXt2YXIgaD0hYi5BYTtoJiZhLkhlLlo0KCk/YS5NaGEucHV0KGEuSGUuU1AoKSxfLlE3YihnKSk6aHx8YS5NSGEuc2V0KF8uTzdiKGIpLG5ldyBfLmp5KGcudnAoKSxnLmdldFBhcmFtZXRlcnMoKSwhMCwhMCkpfX1pZihiLkJhKXJldHVybiEwO2Y9YS5vNChiLGYpO3JldHVybiBiLkFhfHwhZXx8Y3x8IWEuSGUuWjQoKT8oZChiLGYpLGIuQmE9ITApOiExfTtfLmE5Yi5wcm90b3R5cGUubzQ9ZnVuY3Rpb24oYSxiKXthPXRoaXMub2EubzQoYixhKTtyZXR1cm4gdGhpcy5vYS5sbWIoYSl9O18uYTliLnByb3RvdHlwZS5SWGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5vYS5SWGEoYixhKX07XG5fLmE5Yi5wcm90b3R5cGUuQ3JhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzO2lmKGEuZ2V0VHlwZSgpPT09NDEpdGhpcy5ldmVudHMuVnIoMixhLkFhKCkpLHRoaXMuWGlhKCksYyghMCk7ZWxzZXt2YXIgZT1fLml5KGEsXCJkdVwiKTtpZihlKXtpZihfLkEodGhpcy5IZSwyMikpe2U9Xy5peShhLFwiZHVcIik7aWYoZS5pbmRleE9mKFwiL2NvbXBsZXRlL2RlbGV0ZWl0ZW1zP1wiKT09PTApZm9yKHZhciBmPWUuc2xpY2UoMjIpLnNwbGl0KFwiJlwiKSxnPTA7ZzxmLmxlbmd0aDtnKyspaWYoZltnXS5pbmRleE9mKFwiZGVsdG9rPVwiKT09PTApe2U9ZGVjb2RlVVJJQ29tcG9uZW50KGZbZ10uc2xpY2UoNykpO2JyZWFrfWU9Xy5BKHRoaXMuSGUsMjIpLnJlcGxhY2UoXCIkQ0xJRU5UXCIsZW5jb2RlVVJJQ29tcG9uZW50KHRoaXMuSGUuYk4oKSkpLnJlcGxhY2UoXCIkREVMUVVFUllcIixlbmNvZGVVUklDb21wb25lbnQoYS5BYSgpKSkucmVwbGFjZShcIiRERUxUT0tcIixlbmNvZGVVUklDb21wb25lbnQoZSkpLnJlcGxhY2UoXCIkR1NfUklcIixcbmVuY29kZVVSSUNvbXBvbmVudChfLkEodGhpcy5IZSwyKSkpO18uaWkodGhpcy5IZSwxNCk+MCYmKGUrPVwiJmF1dGh1c2VyPVwiK18uaWkodGhpcy5IZSwxNCkpfXZhciBoPW5ldyBfLkFxO2guc2V0V2l0aENyZWRlbnRpYWxzKCEwKTtuZXcgXy5YOGIoaCxmdW5jdGlvbigpe2gmJmguaXNTdWNjZXNzKCk/KGQuZXZlbnRzLlZyKDIsYS5BYSgpKSxkLlhpYSgpLGQuTWhhLmNsZWFyKGIpLGMoITApKTpjKCExKX0pO2guc2VuZChlKX1lbHNlIGMoITEpfX07dmFyIGc5Yj1mdW5jdGlvbihhLGIpe2lmKGI9PT0tMilyZXR1cm4hMDtpZihiPGEuUmEpcmV0dXJuITE7YS5SYT1iO3JldHVybiEwfSwkOGI9ZnVuY3Rpb24oYSl7YS5IZT1hLnd0LkhlOyFhLk9hJiZhLkhlLmJOKCkmJihhLk9hPSEwLGEuc2Vzc2lvbklkPWEuSGUudUFhKCkrXCIuXCIrRGF0ZS5ub3coKSxhLkhlLlo0KCl8fGEuTWhhLmNsZWFyKGEuSGUuU1AoKSkpfTtfLmE5Yi5wcm90b3R5cGUuWGlhPWZ1bmN0aW9uKCl7dGhpcy5NSGEuY2xlYXIoKX07XG5fLldxKF8uVjhiLF8uYTliKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwiSXAzRXJjXCIpO1xuXG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwid2Y0a0RmXCIpO1xuXy5pOWI9bmV3IF8uYW47XG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5jcj1bMCxfLk1qLF8uWGpdO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLnNhYj1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uYWQoYSxfLkhoKGEsYyxiKSl9O18udGFiPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPWEuc2VhcmNoKF8uakNhKSxkPTAsZSxmPVtdOyhlPV8uaUNhKGEsZCxiLGMpKT49MDspe2Q9YS5pbmRleE9mKFwiJlwiLGUpO2lmKGQ8MHx8ZD5jKWQ9YztlKz1iLmxlbmd0aCsxO2YucHVzaChfLnd5YShhLnNsaWNlKGUsTWF0aC5tYXgoZCwwKSkpKX1yZXR1cm4gZn07Xy5kcj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uZHIsXy5xKTtfLmRyLnByb3RvdHlwZS5nZXRTZWNvbmRzPWZ1bmN0aW9uKCl7cmV0dXJuIF8uJGModGhpcywxKX07Xy5kci5wcm90b3R5cGUub2E9ZnVuY3Rpb24oKXtyZXR1cm4gXy4kYyh0aGlzLDEpfTtfLmRyLnByb3RvdHlwZS5zZXRTZWNvbmRzPWZ1bmN0aW9uKGEpe3JldHVybiBfLnl2YSh0aGlzLDEsYSl9O18uZHIucHJvdG90eXBlLkFhPWZ1bmN0aW9uKCl7cmV0dXJuIF8uaWkodGhpcywyKX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uQXNiPV8uSihcIkFnaHNmXCIpO18uQnNiPV8uSihcIlIzWXJqXCIpO18uQ3NiPV8uSihcIkRrcE0wYlwiKTtfLkRzYj1fLkooXCJJUU9hdmRcIik7Xy5Fc2I9Xy5KKFwiWHpaWlBlXCIpO18uRnNiPV8uSihcImlIZDlVXCIpO18uR3NiPV8uSihcImY1aEVIZVwiKTtfLkhzYj1fLkooXCJOT2c5TFwiKTtfLklzYj1fLkooXCJ1R29Ja2RcIik7Xy5Kc2I9Xy5KKFwiZ1ZTVWNiXCIpO18uS3NiPV8uSihcIlIyYzVPXCIpO18uTHNiPV8uSihcInZteFViXCIpO18uTXNiPV8uSihcIlEzdldQZFwiKTtfLk5zYj1fLkooXCJuVHpmcGZcIik7Xy5Pc2I9Xy5KKFwicWlDa0pkXCIpO18uUHNiPV8uSihcIllNRkMzXCIpO18ud3U9Xy5KKFwiaEJFSVZiXCIpO18uUXNiPV8uSihcInpMZEx3XCIpO18uUnNiPV8uSihcIlRDcWoyYlwiKTtfLlNzYj1fLkooXCJIOW11VmRcIik7Xy5Uc2I9Xy5KKFwiZGp5UENmXCIpO18uVXNiPV8uSihcImU3V2NxZlwiKTtfLlZzYj1fLkooXCJsZHlJeWVcIik7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBhdGIsYnRiO2F0Yj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9bmV3IF8uWm0oXCJcIixfLktDYSk7WnNiKG5ldyAkc2IoZnVuY3Rpb24oKXtyZXR1cm4gZH0pLGEpO2MoZCxiKTtyZXR1cm4gYn07YnRiPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IF8uWm0oXCJcIixfLktDYSk7YihhLGMpO3JldHVybihuZXcgJHNiKGZ1bmN0aW9uKCl7cmV0dXJuIGN9KSkuV2MoYyl9O18uY3RiPWZ1bmN0aW9uKGEpe3JldHVybiBhP1wiMVwiOlwiMFwifTtfLmR0Yj1mdW5jdGlvbihhKXtyZXR1cm4gYT09XCIxXCJ9O3ZhciBldGI9ZnVuY3Rpb24oKXt9O2V0Yi5wcm90b3R5cGUuV2M9ZnVuY3Rpb24oYSl7dmFyIGI9W107YT1fLlBhKGEpO2Zvcih2YXIgYz1hLm5leHQoKTshYy5kb25lO2M9YS5uZXh0KCkpYi5wdXNoKGMudmFsdWUpO3JldHVybiBiLmpvaW4oXCIsXCIpfTtldGIucHJvdG90eXBlLm9hPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0vKD86XnxbXmBdKSg/Oig/OmBgKSopLC8sYz1iLmV4ZWMoYSksZD1bXTtjIT09bnVsbDspYz1jLmluZGV4K2NbMF0ubGVuZ3RoLGQucHVzaChhLnN1YnN0cmluZygwLGMtMSkpLGE9YS5zdWJzdHJpbmcoYyksYz1iLmV4ZWMoYSk7ZC5wdXNoKGEpO3JldHVybiBkfTt2YXIgZnRiPWZ1bmN0aW9uKCl7fTtmdGIucHJvdG90eXBlLldjPWZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UoL2AvZyxcImBgXCIpLnJlcGxhY2UoLywvZyxcImAsXCIpfTtcbmZ0Yi5wcm90b3R5cGUub2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVwbGFjZSgvYCwvZyxcIixcIikucmVwbGFjZSgvYGAvZyxcImBcIil9O3ZhciBndGI9ZnVuY3Rpb24oKXt0aGlzLkJhPW5ldyBldGI7dGhpcy5BYT1uZXcgZnRifTtndGIucHJvdG90eXBlLldjPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2E9Xy5QYShhKTtmb3IodmFyIGM9YS5uZXh0KCk7IWMuZG9uZTtjPWEubmV4dCgpKWIucHVzaCh0aGlzLkFhLldjKGMudmFsdWUpKTtyZXR1cm4gdGhpcy5CYS5XYyhiKX07Z3RiLnByb3RvdHlwZS5vYT1mdW5jdGlvbihhKXt2YXIgYj1bXTthPV8uUGEodGhpcy5CYS5vYShhKSk7Zm9yKHZhciBjPWEubmV4dCgpOyFjLmRvbmU7Yz1hLm5leHQoKSliLnB1c2godGhpcy5BYS5vYShjLnZhbHVlKSk7cmV0dXJuIGJ9O18uaHRiPW5ldyBndGI7dmFyICRzYj1mdW5jdGlvbihhKXt0aGlzLm9hPW5ldyBfLm0xYShuZXcgXy5PQ2EoXCI6XCIpLF8uaHRiLkJhLGE9PT12b2lkIDA/ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IE1hcH06YSl9OyRzYi5wcm90b3R5cGUuV2M9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IE1hcDthPV8uUGEoYSk7Zm9yKHZhciBjPWEubmV4dCgpOyFjLmRvbmU7Yz1hLm5leHQoKSl7dmFyIGQ9Xy5QYShjLnZhbHVlKTtjPWQubmV4dCgpLnZhbHVlO2Q9ZC5uZXh0KCkudmFsdWU7Yi5zZXQoYyxfLmh0Yi5BYS5XYyhkKSl9cmV0dXJuIHRoaXMub2EuV2MoYil9O3ZhciBac2I9ZnVuY3Rpb24oYSxiKXthPWEub2Eub2EoYik7Yj1fLlBhKGEpO2Zvcih2YXIgYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpe3ZhciBkPV8uUGEoYy52YWx1ZSk7Yz1kLm5leHQoKS52YWx1ZTtkPWQubmV4dCgpLnZhbHVlO2Euc2V0KGMsXy5odGIuQWEub2EoZCkpfX07dmFyIGp0YjtfLml0Yj1mdW5jdGlvbihhKXtyZXR1cm4gYS50b1N0cmluZygpfTtqdGI9ZnVuY3Rpb24oYSl7cmV0dXJuIE51bWJlcihhKX07Xy55dT1mdW5jdGlvbihhLGIpe3RoaXMub2E9YTt0aGlzLkFhPWJ9O18uenU9ZnVuY3Rpb24oYSxiLGMsZCxlKXtiPWEub2EuZ2V0KGIpO2IhPT12b2lkIDA/Yy5jYWxsKGEuQWEsZChiKSk6ZS5jYWxsKGEuQWEpfTtfLmt0Yj1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1bXTtiPWEub2EuZ2V0QWxsKGIpO2IubGVuZ3RoIT0wJiYoYj1fLmh0Yi5vYShiLmpvaW4oXCIsXCIpKSk7Yj1fLlBhKGIpO2Zvcih2YXIgZj1iLm5leHQoKTshZi5kb25lO2Y9Yi5uZXh0KCkpZS5wdXNoKGQoZi52YWx1ZSkpO2MuY2FsbChhLkFhLGUpfTtfLkF1PWZ1bmN0aW9uKGEsYixjLGQpe18uenUoYSxiLGMsXy5keGEsZCl9O18uQnU9ZnVuY3Rpb24oYSxiLGMsZCl7Xy56dShhLGIsYyxqdGIsZCl9O18ubHRiPWZ1bmN0aW9uKGEsYixjKXtfLmt0YihhLGIsYyxqdGIpfTtfLkN1PWZ1bmN0aW9uKGEsYixjLGQpe18uenUoYSxiLGMsXy5kdGIsZCl9O1xuXy5tdGI9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe18uenUoYSxiLGMsZnVuY3Rpb24oZyl7cmV0dXJuIGF0YihnLG5ldyBkLGUuV3ZhKX0sZil9O18ubnRiPWZ1bmN0aW9uKGEsYixjLGQsZSl7Yi5jYWxsKGEuQWEpPyhiPWMuY2FsbChhLkFhKSxhLm9hLnNldChlLGQoYikpKTphLm9hLmRlbGV0ZShlKX07Xy5vdGI9ZnVuY3Rpb24oYSxiLGMsZCl7YS5vYS5kZWxldGUoZCk7dmFyIGU9Yi5jYWxsKGEuQWEpO2lmKGUubGVuZ3RoKXtiPVtdO2U9Xy5QYShlKTtmb3IodmFyIGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKWIucHVzaChjKGYudmFsdWUpKTthLm9hLmFwcGVuZChkLF8uaHRiLldjKGIpKX1lbHNlIGEub2EuZGVsZXRlKGQpfTtfLkR1PWZ1bmN0aW9uKGEsYixjLGQpe18ubnRiKGEsYixjLF8uZHhhLGQpfTtfLkV1PWZ1bmN0aW9uKGEsYixjLGQpe18ubnRiKGEsYixjLF8uaXRiLGQpfTtfLkd1PWZ1bmN0aW9uKGEsYixjLGQpe18ubnRiKGEsYixjLF8uY3RiLGQpfTtcbl8ucHRiPWZ1bmN0aW9uKGEsYixjLGQsZSl7Xy5udGIoYSxiLGMsZnVuY3Rpb24oZil7cmV0dXJuIGJ0YihmLGQuWHZhKX0sZSl9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLkh1PWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEsMSl9O18uRChfLkh1LF8ucSk7Xy5xdGI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5NYihhLF8uSHUsMTUsYil9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgT3RiO18ucnRiPWZ1bmN0aW9uKGEpe3JldHVybiBhP18uVWMoYSl8fF8uVWMoYS5xdWVyeVNlbGVjdG9yKFwiW2RhdGEtdmVkXVwiKSk6XCJcIn07XG5PdGI9ZnVuY3Rpb24oYSl7dmFyIGI9YS5BYzt2YXIgYz1hLlpwO3ZhciBkPWEudXNlckFjdGlvbjt2YXIgZT1hLkl2Yjt2YXIgZj1hLmRhdGE7dmFyIGcsaCxrLGwsbixyLHQ7cmV0dXJuIF8uYmgoZnVuY3Rpb24odSl7aWYodS5vYT09MSlyZXR1cm4gc3RiP3UuTWIoMik6dS55aWVsZChfLktkKF8ubXEsXy55ZCgpLm9hKSwzKTt1Lm9hIT0yJiYoc3RiPXUuQWEpO2c9c3RiLm9hKCk7YiYmKGc9Zy5vYShiLGQpKTtpZihjfHxmKXtoPW5ldyBfLlNvO2MmJl8uT2koaCw2LGMpO2lmKGYpe3R0YihmKTt2YXIgej1uZXcgXy5UYyhcIlwiKSxCO2ZvcihCIGluIGYpei5zZWFyY2hQYXJhbXMuc2V0KEIsZltCXSk7az16O2w9bmV3IHV0Yjt6PW5ldyBfLnl1KGsuc2VhcmNoUGFyYW1zLGwpO18uQXUoeixcImN0XCIsbC5XTGQsbC5FMWMpO18uQXUoeixcImNhZFwiLGwuVkxkLGwuRDFjKTtfLkF1KHosXCJ1cmxcIixsLkZ2YyxsLnZ2Yyk7Xy5BdSh6LFwibWlkXCIsbC5CdmMsbC5ydmMpO18uQXUoeixcImZ1blwiLGwuRUxkLFxubC5wMWMpO18uQnUoeixcImFsdGltYWdlc3NlZW5cIixsLmZMZCxsLlIwYyk7Xy5CdSh6LFwiYXV0b3N3aXBlc1wiLGwua0xkLGwuVjBjKTtfLkF1KHosXCJwcmVkaWNhdGVcIixsLnZOZCxsLmUzYyk7Xy5BdSh6LFwiZmlsdGVydGV4dFwiLGwuRExkLGwubjFjKTtfLkF1KHosXCJjc2hpZFwiLGwucExkLGwuWjBjKTtfLkN1KHosXCJjbGRcIixsLmhNZCxsLlExYyk7Xy5DdSh6LFwiZmxiXCIsbC5pTWQsbC5SMWMpO18uQnUoeixcImpsXCIsbC5qTWQsbC5TMWMpO18uQnUoeixcImxnZFwiLGwuTk1kLGwueTJjKTtfLkJ1KHosXCJtbHRcIixsLmtNZCxsLlQxYyk7Xy5CdSh6LFwibHRkXCIsbC5NTWQsbC54MmMpO18uQ3UoeixcImx2Y1wiLGwubE1kLGwuVTFjKTtfLkN1KHosXCJwb3pcIixsLm1NZCxsLlYxYyk7Xy5DdSh6LFwicW9wXCIsbC5uTWQsbC5XMWMpO18uQ3UoeixcIm10bFwiLGwub01kLGwuWDFjKTtfLkJ1KHosXCJ6bGRcIixsLk9NZCxsLnoyYyk7Xy5BdSh6LFwiYWdzYWNcIixsLmVMZCxsLk8wYyk7Xy56dSh6LFwicG50c3RcIixsLktNZCxcbnZ0YixsLnYyYyk7Xy5CdSh6LFwicG50ZmNcIixsLkpNZCxsLnUyYyk7Xy5BdSh6LFwicG50ZVwiLGwuSU1kLGwudDJjKTtfLkF1KHosXCJzZmNcIixsLmFOZCxsLkoyYyk7Xy5CdSh6LFwiaXFpZHhcIixsLk1MZCxsLngxYyk7Xy5BdSh6LFwic2VnbWVudF90ZXh0XCIsbC5STGQsbC5BMWMpO18uQXUoeixcImNydXN0XCIsbC52TGQsbC5lMWMpO18uQ3UoeixcInNjYXNcIixsLlJNZCxsLkQyYyk7Xy5BdSh6LFwiZHNxXCIsbC5HTmQsbC5wM2MpO18uQXUoeixcImRkcVwiLGwuRk5kLGwubzNjKTtfLkF1KHosXCJwcm92XCIsbC5YTGQsbC5GMWMpO18uQXUoeixcInNlcnZcIixsLllMZCxsLkcxYyk7Xy5BdSh6LFwidHJcIixsLlpMZCxsLkgxYyk7Xy5BdSh6LFwid2VicFwiLGwuYU1kLGwuSTFjKTtfLnp1KHosXCJmcGNcIixsLkF2Yyx3dGIsbC5xdmMpO18uQnUoeixcInNpZHhcIixsLkVOZCxsLm4zYyk7Xy5CdSh6LFwiYmlkeFwiLGwuQk5kLGwuazNjKTtfLkJ1KHosXCJpZHhcIixsLkNOZCxsLmwzYyk7Xy5CdSh6LFwic3RtdFwiLGwuRE5kLGwubTNjKTtcbl8uQXUoeixcIml0ZW1cIixsLnlMZCxsLmgxYyk7Xy56dSh6LFwiYWN0aW9uXCIsbC56TGQseHRiLGwuaTFjKTtfLkF1KHosXCJobFwiLGwueXZjLGwub3ZjKTtfLnp1KHosXCJhZnRlclwiLGwuak5kLHl0YixsLlMyYyk7Xy5CdSh6LFwiY3N0XCIsbC5uTmQsbC5XMmMpO18uenUoeixcImludGVyYWN0aW9uXCIsbC5sTmQsenRiLGwuVTJjKTtfLkF1KHosXCJsYW5nXCIsbC5oTmQsbC5RMmMpO18uQXUoeixcInNsXCIsbC5tTmQsbC5WMmMpO18uQXUoeixcInRsXCIsbC5zZXRUcmFuc2xhdGlvblRhcmdldExhbmd1YWdlLGwuY2xlYXJUcmFuc2xhdGlvblRhcmdldExhbmd1YWdlKTtfLnp1KHosXCJzdHBcIixsLmlOZCxBdGIsbC5SMmMpO18uQnUoeixcInFsXCIsbC5rTmQsbC5UMmMpO18uenUoeixcImV2ZW50XCIsbC5wTmQsQnRiLGwuWTJjKTtfLnp1KHosXCJzcGtyXCIsbC5xTmQsQ3RiLGwuWjJjKTtfLkJ1KHosXCJ0ZXh0bGVuXCIsbC5yTmQsbC5hM2MpO18uQnUoeixcInRpbWVcIixsLm9OZCxsLlgyYyk7Xy56dSh6LFwidm9pY2VcIixsLnNOZCxcbkR0YixsLmIzYyk7Xy5BdSh6LFwibGVpXCIsbC5lTWQsbC5OMWMpO18uQXUoeixcImNpZFwiLGwueU1kLGwubTJjKTtfLkF1KHosXCJvaWRcIixsLkJNZCxsLnAyYyk7Xy5DdSh6LFwic3Vic2NyaWJlZFwiLGwuQ01kLGwucTJjKTtfLkJ1KHosXCJjYXRlZ29yeWlkXCIsbC56TWQsbC5uMmMpO18uenUoeixcIm1va2FzXCIsbC5BTWQsRXRiLGwubzJjKTtfLmt0Yih6LFwidG9wUHJvZHVjdElkc1wiLGwuRE1kLF8uZHhhKTtfLkF1KHosXCJhcWlkXCIsbC53dmMsbC5tdmMpO18uQnUoeixcImFyZnBpXCIsbC5oTGQsbC5UMGMpO18uQnUoeixcImFyZnNpaVwiLGwuaUxkLGwuVTBjKTtfLkN1KHosXCJhcmZiYWNcIixsLmdMZCxsLlMwYyk7Xy5CdSh6LFwiYXV0aHVzZXJcIixsLnh2YyxsLm52Yyk7Xy5DdSh6LFwiaXNOYXRpb25hbE1hcFwiLGwuUExkLGwueTFjKTtfLkJ1KHosXCJyYWRpdXNcIixsLnVMZCxsLmQxYyk7Xy5BdSh6LFwic2FianRpXCIsbC5LTGQsbC5zMWMpO18uenUoeixcInZ3ZFwiLGwuek5kLEZ0YixsLmozYyk7Xy56dSh6LFwidnBwXCIsXG5sLnlOZCxHdGIsbC5pM2MpO18uenUoeixcInN0bFwiLGwuRHZjLEh0YixsLnR2Yyk7Xy56dSh6LFwicHJudWlkXCIsbC5MTWQsSXRiLGwudzJjKTtfLkN1KHosXCJqYmRfcGRhX3NcIixsLlFMZCxsLnoxYyk7Xy5BdSh6LFwiZXZlbnRkYXRlXCIsbC5CTGQsbC5sMWMpO18uQXUoeixcImV2ZW50bmFtZVwiLGwuenZjLGwucHZjKTtfLkJ1KHosXCJjZG90XCIsbC5zTGQsbC5jMWMpO18uQXUoeixcIm1za2JcIixsLnBNZCxsLloxYyk7Xy5BdSh6LFwic2hkZWJcIixsLlVMZCxsLkMxYyk7Xy56dSh6LFwibWZsXCIsbC5mTWQsSnRiLGwuTzFjKTtfLmx0Yih6LFwicmJpc2RwXCIsbC5QTWQpO18uenUoeixcImxwbFwiLGwuY01kLEt0YixsLk0xYyk7Xy5DdSh6LFwiaWxzX2h1aVwiLGwuSExkLGwucTFjKTtfLkJ1KHosXCJpbHNfbm9pXCIsbC5xTWQsbC5lMmMpO18uQXUoeixcImlsc19vZGxcIixsLnNNZCxsLmcyYyk7Xy5BdSh6LFwiaWxzX3NyY2xcIixsLmJOZCxsLksyYyk7Xy5BdSh6LFwiaWxzX3RyZ3RsXCIsbC5lTmQsbC5PMmMpO18uQXUoeixcblwiaWxzY19jZGxcIixsLndMZCxsLmcxYyk7Xy5DdSh6LFwiaWxzY19odWlcIixsLklMZCxsLnIxYyk7Xy5CdSh6LFwiaWxzY19ub2lcIixsLnJNZCxsLmYyYyk7Xy5BdSh6LFwiaWxzY19vZGxcIixsLnRNZCxsLmgyYyk7Xy5BdSh6LFwic291cmNlXCIsbC5FdmMsbC51dmMpO18uQnUoeixcInVkbVwiLGwuQ3ZjLGwuc3ZjKTtfLnp1KHosXCJtcnRcIixsLmdNZCxMdGIsbC5QMWMpO18ucXRiKGgsKG5ldyBfLkh1KS50YihNdGIsbCkpfWc9Zy5CYShoKX1pZihlKWZvcihuPV8uUGEoZSkscj1uLm5leHQoKTshci5kb25lO3I9bi5uZXh0KCkpdD1yLnZhbHVlLGc9Zy5BYSh0LmVsZW1lbnQsTnRiW3QudHlwZV0pO2cubG9nKCk7Xy5TZyh1KX0pfTtfLlB0Yj1mdW5jdGlvbihhLGIpeyhuZXcgXy5qZyhbYl0pKS5hcHBlbmQoYSl9O3ZhciBRdGI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChRdGIsXy5xKTt2YXIgUnRiPVswLF8uSWosLTEsXy5Bal07dmFyIFN0Yj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKFN0YixfLnEpO1N0Yi5vYj1bMV07dmFyIFR0Yj1bMCxfLmtrLFJ0Yl07dmFyIFV0Yj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKFV0YixfLnEpO1V0Yi5vYj1bMV07dmFyIFZ0Yj1bMCxfLnZrXTt2YXIgV3RiPVswLDEsXy5JLF8uSF07dmFyIFh0Yj1bMCxfLkksLTEsXy5HXTt2YXIgWXRiPVswLF8uSSxfLlBqLF8uR107dmFyIFp0Yj1bMCxfLkpqLC0xLF8uR107dmFyICR0Yj1bMCxYdGIsWnRiLF8ua2ssWXRiXTt2YXIgYXViPVswLF8uSSwxLF8uR107dmFyIGJ1Yj1bMCxfLlBqLC04LF8uSV07dmFyIGN1Yj1bMCxfLkksLTEsXy5KaiwtMl07dmFyIGR1Yj1bMCxjdWIsXy5JLF8ua2ssY3ViXTtfLmV1Yj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uZXViLF8ucSk7Xy5ldWIucHJvdG90eXBlLmdldFBsYXllclR5cGU9ZnVuY3Rpb24oKXtyZXR1cm4gXy5uaSh0aGlzLDUsMCl9O18uZXViLnByb3RvdHlwZS5Da2E9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsNil9O18uZXViLnByb3RvdHlwZS5nZXRWaWRlb1VybD1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcyw3KX07Xy5ldWIucHJvdG90eXBlLnllYT1mdW5jdGlvbigpe3JldHVybiBfLlZlKHRoaXMsNyl9O3ZhciBmdWI9WzAsYnViLGR1YixhdWIsXy5KaixfLkksXy5ILC0xLDEsJHRiLFd0YixfLkksXy5HLF8uSCxfLkddO18uZXViLnByb3RvdHlwZS5vYT1fLlNiKGZ1Yik7dmFyIGd1Yj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKGd1YixfLnEpO18uaHViPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5odWIsXy5xKTt2YXIgaXViPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoaXViLF8ucSk7aXViLnByb3RvdHlwZS5xeD1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywzKX07aXViLnByb3RvdHlwZS5zZXRSZXNwb25zZVR5cGU9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uY2oodGhpcyw0LGEpfTtpdWIucHJvdG90eXBlLmdldFF1ZXJ5PWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDUpfTtpdWIucHJvdG90eXBlLnNldFF1ZXJ5PWZ1bmN0aW9uKGEpe3JldHVybiBfLkRlKHRoaXMsNSxhKX07aXViLm9iPVs2LDEwLDExLDEyLDcsOF07dmFyIGp1Yj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKGp1YixfLnEpO2p1Yi5wcm90b3R5cGUudWU9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMil9O18ua3ViPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5rdWIsXy5xKTtfLmx1Yj1bMSwyLDNdO3ZhciB1dGI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRCh1dGIsXy5xKTtfLm09dXRiLnByb3RvdHlwZTtfLm0uV0xkPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRlKHRoaXMsMSxhKX07Xy5tLkUxYz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsMSl9O18ubS5WTGQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcywyLGEpfTtfLm0uRDFjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcywyKX07Xy5tLmdldFVybD1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywzKX07Xy5tLkZ2Yz1mdW5jdGlvbihhKXtyZXR1cm4gXy5EZSh0aGlzLDMsYSl9O18ubS52dmM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDMpfTtfLm0uSGM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZSh0aGlzLDMpfTtfLm0udWU9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsNCl9O18ubS5CdmM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcyw0LGEpfTtcbl8ubS5ydmM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDQpfTtfLm0uRUxkPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRlKHRoaXMsNSxhKX07Xy5tLnAxYz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsNSl9O18ubS5mTGQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uT2kodGhpcyw2LGEpfTtfLm0uUjBjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcyw2KX07Xy5tLmtMZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5PaSh0aGlzLDcsYSl9O18ubS5WMGM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDcpfTtfLm0udk5kPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRlKHRoaXMsOCxhKX07Xy5tLmUzYz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsOCl9O18ubS5ETGQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcyw5LGEpfTtfLm0ubjFjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcyw5KX07Xy5tLnBMZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5EZSh0aGlzLDEwLGEpfTtcbl8ubS5aMGM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDEwKX07Xy5tLmhNZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5NZyh0aGlzLDExLGEpfTtfLm0uUTFjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcywxMSl9O18ubS5pTWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uTWcodGhpcywxMixhKX07Xy5tLlIxYz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsMTIpfTtfLm0uak1kPWZ1bmN0aW9uKGEpe3JldHVybiBfLldpKHRoaXMsMTMsYSl9O18ubS5TMWM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDEzKX07Xy5tLk5NZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5XaSh0aGlzLDE0LGEpfTtfLm0ueTJjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcywxNCl9O18ubS5rTWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uV2kodGhpcywxNSxhKX07Xy5tLlQxYz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsMTUpfTtcbl8ubS5NTWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uV2kodGhpcywxNixhKX07Xy5tLngyYz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsMTYpfTtfLm0ubE1kPWZ1bmN0aW9uKGEpe3JldHVybiBfLk1nKHRoaXMsMTcsYSl9O18ubS5VMWM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDE3KX07Xy5tLm1NZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5NZyh0aGlzLDE4LGEpfTtfLm0uVjFjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcywxOCl9O18ubS5uTWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uTWcodGhpcywxOSxhKX07Xy5tLlcxYz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsMTkpfTtfLm0ub01kPWZ1bmN0aW9uKGEpe3JldHVybiBfLk1nKHRoaXMsMjAsYSl9O18ubS5YMWM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDIwKX07Xy5tLk9NZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5PaSh0aGlzLDIxLGEpfTtcbl8ubS56MmM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDIxKX07Xy5tLmVMZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5EZSh0aGlzLDIyLGEpfTtfLm0uTzBjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcywyMil9O18ubS5LTWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uY2oodGhpcywyMyxhKX07Xy5tLnYyYz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsMjMpfTtfLm0uSk1kPWZ1bmN0aW9uKGEpe3JldHVybiBfLk9pKHRoaXMsMjQsYSl9O18ubS51MmM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDI0KX07Xy5tLklNZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5EZSh0aGlzLDI1LGEpfTtfLm0udDJjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcywyNSl9O18ubS5hTmQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcywyNixhKX07Xy5tLkoyYz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsMjYpfTtcbl8ubS5NTGQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uT2kodGhpcywyNyxhKX07Xy5tLngxYz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsMjcpfTtfLm0uUkxkPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRlKHRoaXMsMjgsYSl9O18ubS5BMWM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDI4KX07Xy5tLnZMZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5EZSh0aGlzLDI5LGEpfTtfLm0uZTFjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcywyOSl9O18ubS5STWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uTWcodGhpcywzMCxhKX07Xy5tLkQyYz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsMzApfTtfLm0uR05kPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRlKHRoaXMsMzEsYSl9O18ubS5wM2M9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDMxKX07Xy5tLkZOZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5EZSh0aGlzLDMyLGEpfTtcbl8ubS5vM2M9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDMyKX07Xy5tLlhMZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5EZSh0aGlzLDMzLGEpfTtfLm0uRjFjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcywzMyl9O18ubS5ZTGQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcywzNCxhKX07Xy5tLkcxYz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsMzQpfTtfLm0uWkxkPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRlKHRoaXMsMzUsYSl9O18ubS5IMWM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDM1KX07Xy5tLmFNZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5EZSh0aGlzLDM2LGEpfTtfLm0uSTFjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcywzNil9O18ubS5BdmM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uY2oodGhpcywzNyxhKX07Xy5tLnF2Yz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsMzcpfTtcbl8ubS5FTmQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uT2kodGhpcywzOCxhKX07Xy5tLm4zYz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsMzgpfTtfLm0uQk5kPWZ1bmN0aW9uKGEpe3JldHVybiBfLk9pKHRoaXMsMzksYSl9O18ubS5rM2M9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDM5KX07Xy5tLkNOZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5PaSh0aGlzLDQwLGEpfTtfLm0ubDNjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcyw0MCl9O18ubS5ETmQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uT2kodGhpcyw0MSxhKX07Xy5tLm0zYz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsNDEpfTtfLm0ueUxkPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRlKHRoaXMsNDIsYSl9O18ubS5oMWM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDQyKX07Xy5tLnpMZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5jaih0aGlzLDQzLGEpfTtcbl8ubS5pMWM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDQzKX07Xy5tLnl2Yz1mdW5jdGlvbihhKXtyZXR1cm4gXy5EZSh0aGlzLDQ0LGEpfTtfLm0ub3ZjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcyw0NCl9O18ubS5qTmQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uY2oodGhpcyw0NSxhKX07Xy5tLlMyYz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsNDUpfTtfLm0ubk5kPWZ1bmN0aW9uKGEpe3JldHVybiBfLk9pKHRoaXMsNDYsYSl9O18ubS5XMmM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDQ2KX07Xy5tLmxOZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5jaih0aGlzLDQ3LGEpfTtfLm0uVTJjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcyw0Nyl9O18ubS5oTmQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcyw0OCxhKX07Xy5tLlEyYz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsNDgpfTtcbl8ubS5tTmQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcyw0OSxhKX07Xy5tLlYyYz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsNDkpfTtfLm0uc2V0VHJhbnNsYXRpb25UYXJnZXRMYW5ndWFnZT1mdW5jdGlvbihhKXtyZXR1cm4gXy5EZSh0aGlzLDUwLGEpfTtfLm0uY2xlYXJUcmFuc2xhdGlvblRhcmdldExhbmd1YWdlPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcyw1MCl9O18ubS5pTmQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uY2oodGhpcyw1MSxhKX07Xy5tLlIyYz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsNTEpfTtfLm0ua05kPWZ1bmN0aW9uKGEpe3JldHVybiBfLk9pKHRoaXMsNTIsYSl9O18ubS5UMmM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDUyKX07Xy5tLnBOZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5jaih0aGlzLDUzLGEpfTtfLm0uWTJjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcyw1Myl9O1xuXy5tLnFOZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5jaih0aGlzLDU0LGEpfTtfLm0uWjJjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcyw1NCl9O18ubS5yTmQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uT2kodGhpcyw1NSxhKX07Xy5tLmEzYz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsNTUpfTtfLm0ub05kPWZ1bmN0aW9uKGEpe3JldHVybiBfLk9pKHRoaXMsNTYsYSl9O18ubS5YMmM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDU2KX07Xy5tLnNOZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5jaih0aGlzLDU3LGEpfTtfLm0uYjNjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcyw1Nyl9O18ubS5lTWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcyw1OCxhKX07Xy5tLk4xYz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsNTgpfTtfLm0ueU1kPWZ1bmN0aW9uKGEpe3JldHVybiBfLlZpKHRoaXMsNTksYSl9O1xuXy5tLm0yYz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsNTkpfTtfLm0uQk1kPWZ1bmN0aW9uKGEpe3JldHVybiBfLlZpKHRoaXMsNjAsYSl9O18ubS5wMmM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDYwKX07Xy5tLkNNZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5NZyh0aGlzLDYxLGEpfTtfLm0ucTJjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcyw2MSl9O18ubS56TWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uT2kodGhpcyw2MixhKX07Xy5tLm4yYz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsNjIpfTtfLm0uQU1kPWZ1bmN0aW9uKGEpe3JldHVybiBfLk1iKHRoaXMsU3RiLDYzLGEpfTtfLm0ubzJjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcyw2Myl9O18ubS5ETWQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5zYih0aGlzLDY0LGEsXy5BY2EsYil9O18ubS53dmM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcyw2NSxhKX07XG5fLm0ubXZjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcyw2NSl9O18ubS5oTGQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uT2kodGhpcyw2NixhKX07Xy5tLlQwYz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsNjYpfTtfLm0uaUxkPWZ1bmN0aW9uKGEpe3JldHVybiBfLk9pKHRoaXMsNjcsYSl9O18ubS5VMGM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDY3KX07Xy5tLmdMZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5NZyh0aGlzLDgwLGEpfTtfLm0uUzBjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcyw4MCl9O18ubS54dmM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uT2kodGhpcyw2OCxhKX07Xy5tLm52Yz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsNjgpfTtfLm0uUExkPWZ1bmN0aW9uKGEpe3JldHVybiBfLk1nKHRoaXMsNjksYSl9O18ubS55MWM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDY5KX07XG5fLm0udUxkPWZ1bmN0aW9uKGEpe3JldHVybiBfLk9pKHRoaXMsNzAsYSl9O18ubS5kMWM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDcwKX07Xy5tLktMZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5EZSh0aGlzLDcxLGEpfTtfLm0uczFjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcyw3MSl9O18ubS56TmQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uTWIodGhpcyxfLmV1Yiw3MixhKX07Xy5tLmozYz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsNzIpfTtfLm0ueU5kPWZ1bmN0aW9uKGEpe3JldHVybiBfLk1iKHRoaXMsXy5rdWIsNzMsYSl9O18ubS5pM2M9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDczKX07Xy5tLkR2Yz1mdW5jdGlvbihhKXtyZXR1cm4gXy5NYih0aGlzLGd1Yiw3NCxhKX07Xy5tLnR2Yz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsNzQpfTtfLm0uTE1kPWZ1bmN0aW9uKGEpe3JldHVybiBfLk1iKHRoaXMsVXRiLDc1LGEpfTtcbl8ubS53MmM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDc1KX07Xy5tLlFMZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5NZyh0aGlzLDc2LGEpfTtfLm0uejFjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcyw3Nil9O18ubS5CTGQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcyw3NyxhKX07Xy5tLmwxYz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsNzcpfTtfLm0uenZjPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRlKHRoaXMsNzgsYSl9O18ubS5wdmM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDc4KX07Xy5tLnNMZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5PaSh0aGlzLDc5LGEpfTtfLm0uYzFjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcyw3OSl9O18ubS5wTWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcyw4MSxhKX07Xy5tLloxYz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsODEpfTtcbl8ubS5VTGQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcyw4MixhKX07Xy5tLkMxYz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsODIpfTtfLm0uZk1kPWZ1bmN0aW9uKGEpe3JldHVybiBfLk1iKHRoaXMsaXViLDgzLGEpfTtfLm0uTzFjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcyw4Myl9O18ubS5QTWQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5zYih0aGlzLDg0LGEsXy5jYixiKX07Xy5tLmNNZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5NYih0aGlzLF8uaHViLDg1LGEpfTtfLm0uTTFjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcyw4NSl9O18ubS5ITGQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uTWcodGhpcyw4NixhKX07Xy5tLnExYz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsODYpfTtfLm0ucU1kPWZ1bmN0aW9uKGEpe3JldHVybiBfLk9pKHRoaXMsODcsYSl9O18ubS5lMmM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDg3KX07XG5fLm0uc01kPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRlKHRoaXMsODgsYSl9O18ubS5nMmM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDg4KX07Xy5tLmJOZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5EZSh0aGlzLDg5LGEpfTtfLm0uSzJjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcyw4OSl9O18ubS5lTmQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcyw5MCxhKX07Xy5tLk8yYz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsOTApfTtfLm0ud0xkPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRlKHRoaXMsOTEsYSl9O18ubS5nMWM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDkxKX07Xy5tLklMZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5NZyh0aGlzLDkyLGEpfTtfLm0ucjFjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcyw5Mil9O18ubS5yTWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uT2kodGhpcyw5MyxhKX07XG5fLm0uZjJjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcyw5Myl9O18ubS50TWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcyw5NCxhKX07Xy5tLmgyYz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsOTQpfTtfLm0ueGk9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsOTUpfTtfLm0uRXZjPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRlKHRoaXMsOTUsYSl9O18ubS51dmM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDk1KX07Xy5tLkN2Yz1mdW5jdGlvbihhKXtyZXR1cm4gXy5PaSh0aGlzLDk2LGEpfTtfLm0uc3ZjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcyw5Nil9O18ubS5nTWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uTWIodGhpcyxqdWIsOTcsYSl9O18ubS5QMWM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDk3KX07dXRiLm9iPVs2NCw4NF07dmFyIG11Yj1bMCxfLlRqXTt2YXIgbnViPVswLF8uSSwyLFswLFsyLDMsN10sXy5ILF8ubmssWzAsXy5KaixfLkksXy5HLC0zXSxfLk5qLDMsXy54a10sMSxfLkhdO3ZhciBvdWI9WzAsWzEsMl0sXy5oayxfLm5rLFswLFszLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1XSxfLkgsLTEsXy5OaiwtMyxfLmhrLF8ubmssWzAsXy5Lal0sXy5uayxbMCxfLktqXSxfLnhrLC0xLF8uQ2osXy5oayxfLkNqLF8uWWpdXTt2YXIgcHViPVswLF8ua2ssWzAsbnViLF8ua2ssWzAsXy5JLDEsXy5EaiwtMSxvdWJdXV07dmFyIHF1Yj1bMCxudWIsXy5JLF8uS2pdO3ZhciBydWI9WzAsXy5rayxbMCxfLkgscHViLG11YixfLmtrLHF1Yl1dO3ZhciBzdWI9WzAsWzAsWzAscnViLF8ua2ssWzAsXy5ILC0xXV0sWzAscnViLFswLF8ua2ssWzAsWzEsMiwzLDQsNSw2LDcsOCw5LDEwXSxfLm5rLFswLF8uSSxudWIsb3ViLF8uSV0sXy5uayxbMCxudWIsb3ViXSxfLm5rLFswLG51Yl0sXy5uayxbMF0sXy5uayxbMCxudWIsb3ViLF8uSV0sXy5uayxbMCxudWIsXy5JXSxfLm5rLFswLHF1Yl0sXy5uayxbMF0sXy5uayxbMCxbMSwyXSxfLm5rLFswLF8ua2ssbnViXSxfLm5rLFswLHB1Yl1dLF8ubmssWzBdXSwxLFswLG11Yl1dLF8uQWosXy5IXV1dO3ZhciB0dWI9WzAsXy5JLF8uRyxfLkksLTEsXy5xaywtMSxfLkksXy5HLC0xLF8uSSxfLmNyLC0xXTtfLmh1Yi5wcm90b3R5cGUub2E9Xy5TYih0dWIpO3ZhciB1dWI9WzAsXy5JLF8uSCwtMSxfLkksXy5ILF8udWssXy5rayxbMCxfLkgsXy5JXSxfLmVrLF8uSCxfLnVrLC0yLF8uSSxfLkhdO3ZhciB2dWI9WzAsXy5ILC0xXTt2YXIgd3ViPVswLF8ubHViLF8ubmssWzAsXy5UaixfLkpqLC0xXSxfLm5rLFswLF8uSSxfLkpqLF8uVGpdLF8uZGtdO18ua3ViLnByb3RvdHlwZS5vYT1fLlNiKHd1Yik7dmFyIE10Yj1fLk5iKDExOSx1dGIpO18uS01hWzExOV09WzAsXy5ILC00LF8uVGosLTEsXy5ILC0yLF8uRywtMSxfLkRqLC0zLF8uRywtMyxfLlRqLF8uSCxfLkksXy5UaixfLkgsLTEsXy5UaixfLkgsLTEsXy5HLF8uSCwtNSxfLkksXy5UaiwtMyxfLkgsXy5JLF8uSCxfLkksXy5UaixfLkksXy5ILC0yLF8uSSxfLlRqLF8uSSwtMSxfLlRqLC0xLF8uSSxfLkgsXy5PaiwtMSxfLkcsXy5UaixUdGIsXy5UdmEsXy5ILF8uVGosLTIsXy5HLF8uVGosXy5ILGZ1Yix3dWIsc3ViLFZ0YixfLkcsXy5ILC0xLF8uVGosXy5HLF8uSCwtMSx1dWIsXy5Waix0dWIsXy5HLF8uVGosXy5ILC0zLF8uRyxfLlRqLF8uSCwtMSxfLlRqLHZ1Yl07dmFyIHh1Yj1fLlFiKFV0YixWdGIpO3ZhciB4dGI9ZnVuY3Rpb24oYSl7cmV0dXJue3NlbGVjdDoxLGRlc2VsZWN0OjJ9W2FdfTt2YXIgd3RiPWZ1bmN0aW9uKGEpe3JldHVybnt3ZWJocDoxfVthXX07dmFyIHZ0Yj1mdW5jdGlvbihhKXtyZXR1cm57c3VjY2VzczoxLGVycm9yOjJ9W2FdfTt2YXIgeXRiPWZ1bmN0aW9uKGEpe3JldHVybntpbml0OjEsdHRzX29uOjIsZmVtX3R0c19vbjozLG1hc190dHNfb246NCxzcmNfdHRzX29uOjUsdHRzX29mZjo2LGZlbV90dHNfb2ZmOjcsbWFzX3R0c19vZmY6OCxzcmNfdHRzX29mZjo5LGNsZWFyX3NvdXJjZToxMCx0b29fbG9uZzoxMSxlcnJvcjoxMixjb3B5X3RhcmdldDoxMyxzd2FwOjE0LGxhbmdfY2hhbmdlOjE1LHN1Z2dlc3Q6MTYsaWdub3JlU3BlbGxpbmc6MTcsc291cmNlX2VkaXQ6MTgsdm9pY2Vfb246MTksdm9pY2Vfb2ZmOjIwLGxlbnNfb3BlbjoyMSxsZW5zX2ZhaWw6MjIsZWRpdDoyMyxlZGl0X2NhbmNlbDoyNCxwaWNrX2JpbGluZ3VhbDoyNSxhc3Npc3RhbnRfY2hpcDoyNn1bYV19O3ZhciBBdGI9ZnVuY3Rpb24oYSl7cmV0dXJue3JnbHI6MSxyY250OjIsc3JjaDozfVthXX07dmFyIHp0Yj1mdW5jdGlvbihhKXtyZXR1cm57ZWRpdDoxLHZvaWNlOjJ9W2FdfTt2YXIgQ3RiPWZ1bmN0aW9uKGEpe3JldHVybnt0Z3Q6MSx0Z3RfZmVtOjIsdGd0X21hczozLHNyYzo0fVthXX07dmFyIEJ0Yj1mdW5jdGlvbihhKXtyZXR1cm57dHRzc3RhcnQ6MSx0dHNzdG9wOjIsdHRzcGxheXN0YXJ0OjN9W2FdfTt2YXIgRHRiPWZ1bmN0aW9uKGEpe3JldHVybntzdGFydDoxLHN0b3A6MixvbnN0YXJ0OjMsbm9pbnB1dDo0LG9uc3BlZWNoc3RhcnQ6NSxhYm9ydDo2fVthXX07dmFyIHl1Yj1fLlFiKF8uaHViLHR1Yik7dmFyIEt0Yj1mdW5jdGlvbihhKXtyZXR1cm4geXViKGEpfTt2YXIgenViPV8uUWIoaXViLHV1Yik7dmFyIEp0Yj1mdW5jdGlvbihhKXtyZXR1cm4genViKGEpfTt2YXIgQXViPV8uUWIoanViLHZ1Yik7dmFyIEx0Yj1mdW5jdGlvbihhKXtyZXR1cm4gQXViKGEpfTt2YXIgRXRiPWZ1bmN0aW9uKGEpe3ZhciBiPV8uaHRiLm9hKGEpO2E9W107Zm9yKHZhciBjPTA7YzxiLmxlbmd0aDtjKz0zKXt2YXIgZD1hLGU9ZC5wdXNoO3ZhciBmPW5ldyBRdGI7Zj1fLlNpKGYsMSxiW2NdKTtmPV8uU2koZiwyLGJbYysxXSk7Zj1fLldpKGYsMyxOdW1iZXIoYltjKzJdKSk7ZS5jYWxsKGQsZil9Yj1uZXcgU3RiO3JldHVybiBfLlloKGIsMSxhKX07dmFyIEl0Yj1mdW5jdGlvbihhKXtyZXR1cm4geHViKGEpfTt2YXIgQnViPV8uUWIoZ3ViLHN1Yik7dmFyIEh0Yj1mdW5jdGlvbihhKXtyZXR1cm4gQnViKGEpfTt2YXIgQ3ViPV8uUWIoXy5rdWIsd3ViKTt2YXIgR3RiPWZ1bmN0aW9uKGEpe3JldHVybiBDdWIoYSl9O3ZhciBEdWI9Xy5RYihfLmV1YixmdWIpO3ZhciBGdGI9ZnVuY3Rpb24oYSl7cmV0dXJuIER1YihhKX07dmFyIEV1YixGdWIsc3RiLEd1YixOdGIsSHViLHR0YjtfLkl1PWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwP3t9OmI7cmV0dXJuIEV1Yih7QWM6Yi5BYyxacDpiLlpwLHVzZXJBY3Rpb246Yi51c2VyQWN0aW9uLEl2YjphLGRhdGE6Yi5kYXRhLG1vYTpiLm1vYX0pfTtfLkp1PWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwP3t9OmI7cmV0dXJuIEV1Yih7QWM6YSxacDpiLlpwLHVzZXJBY3Rpb246Yi51c2VyQWN0aW9uLGRhdGE6Yi5kYXRhLG1vYTpiLm1vYX0pfTtFdWI9T3RiO0Z1Yj1PdGI7R3ViPXt9O050Yj0oR3ViLnNob3c9MSxHdWIuaGlkZT0yLEd1Yi5pbnNlcnQ9MyxHdWJbXCJkZWR1cGUtaW5zZXJ0XCJdPTQsR3ViLmNvcHk9NSxHdWIpO0h1Yj1uZXcgU2V0KFwiY3QgY2FkIHVybCBtaWQgZnVuIGFsdGltYWdlc3NlZW4gYXV0b3N3aXBlcyBwcmVkaWNhdGUgZmlsdGVydGV4dCBjc2hpZCBjbGQgZmxiIGpsIGxnZCBtbHQgbHRkIGx2YyBwb3ogcW9wIG10bCB6bGQgYWdzYWMgcG50c3QgcG50ZmMgcG50ZSBzZmMgaXFpZHggc2VnbWVudF90ZXh0IGNydXN0IHNjYXMgZHNxIGRkcSBwcm92IHNlcnYgdHIgd2VicCBmcGMgc2lkeCBiaWR4IGlkeCBzdG10IGl0ZW0gYWN0aW9uIGhsIGFmdGVyIGNzdCBpbnRlcmFjdGlvbiBsYW5nIHNsIHRsIHN0cCBxbCBldmVudCBzcGtyIHRleHRsZW4gdGltZSB2b2ljZSBsZWkgY2lkIG9pZCBzdWJzY3JpYmVkIGNhdGVnb3J5aWQgbW9rYXMgdG9wUHJvZHVjdElkcyBhcWlkIGFyZnBpIGFyZnNpaSBhcmZiYWMgYXV0aHVzZXIgaXNOYXRpb25hbE1hcCByYWRpdXMgc2FianRpIHZ3ZCB2cHAgc3RsIHBybnVpZCBqYmRfcGRhX3MgZXZlbnRkYXRlIGV2ZW50bmFtZSBjZG90IG1za2Igc2hkZWIgbWZsIHJiaXNkcCBscGwgaWxzX2h1aSBpbHNfbm9pIGlsc19vZGwgaWxzX3NyY2wgaWxzX3RyZ3RsIGlsc2NfY2RsIGlsc2NfaHVpIGlsc2Nfbm9pIGlsc2Nfb2RsIHNvdXJjZSB1ZG0gbXJ0XCIuc3BsaXQoXCIgXCIpKTtcbnR0Yj1mdW5jdGlvbihhKXt2YXIgYj1bXSxjO2ZvcihjIGluIGEpSHViLmhhcyhjKXx8Yi5wdXNoKGMpO2IubGVuZ3RoPjAmJl8uaWQoRXJyb3IoXCJFZWBcIitiKSl9O18udGphPWZ1bmN0aW9uKGEpe3JldHVybiBfLmduKGEpfTtFdWI9ZnVuY3Rpb24oYSl7aWYoYS5tb2EpcmV0dXJuIEZ1YihhKTthLmRhdGEmJnR0YihhLmRhdGEpO3JldHVybiBfLnJqYShhKX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uUUxiPWZ1bmN0aW9uKCl7cmV0dXJuIF8ubm0ud2ooZG9jdW1lbnQuYm9keXx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KX07Xy5STGI9ZnVuY3Rpb24oYSl7dmFyIGI9cGFyc2VGbG9hdChfLm5tLmdldENvbXB1dGVkU3R5bGUoYSxcImhlaWdodFwiKSk7aWYoKGlzTmFOKGIpfHxiPT09MCkmJmEub2Zmc2V0SGVpZ2h0KXtiPV8ubm0uUzQoYSk7dmFyIGM9Xy5ubS5TamEoYSk7Yj1hLm9mZnNldEhlaWdodC1iLnRvcC1iLmJvdHRvbS1jLnRvcC1jLmJvdHRvbX1yZXR1cm4gaXNOYU4oYil8fGI8MD8wOmJ9O18uU0xiPWZ1bmN0aW9uKGEpe3ZhciBiPXBhcnNlRmxvYXQoXy5ubS5nZXRDb21wdXRlZFN0eWxlKGEsXCJ3aWR0aFwiKSk7aWYoKGlzTmFOKGIpfHxiPT09MCkmJmEub2Zmc2V0V2lkdGgpe2I9Xy5ubS5TNChhKTt2YXIgYz1fLm5tLlNqYShhKTtiPWEub2Zmc2V0V2lkdGgtYi5sZWZ0LWIucmlnaHQtYy5sZWZ0LWMucmlnaHR9cmV0dXJuIGlzTmFOKGIpfHxiPDA/MDpifTtcbl8uVExiPWZ1bmN0aW9uKGEpe2EhPW51bGwmJl8ubm0uWGgoYSkmJl8ud2gmJihhLnN0eWxlLmRpc3BsYXk9XCJub25lXCIsXy5idWEoYS5vZmZzZXRIZWlnaHQpLGEuc3R5bGUuZGlzcGxheT1cIlwiKX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBtOWI7Xy5uOWI9ZnVuY3Rpb24oYSxiKXt0aGlzLlVhPWI7dGhpcy5hbGlnbm1lbnQ9MDt0aGlzLkNhPXRoaXMuR2E9dGhpcy5RYT10aGlzLkJhPXRoaXMub2E9dGhpcy5BYT1udWxsO3RoaXMuUmE9ITE7dGhpcy50YXJnZXRFbGVtZW50PWE7dGhpcy5PYT1mdW5jdGlvbigpe3JldHVybiEwfTt0aGlzLkxhPV8uUG4oZG9jdW1lbnQuYm9keSkuZ2V0RGF0YShcImR0XCIpLmJvb2woITEpO2EuZ2V0QXR0cmlidXRlKFwiYXJpYS1sYWJlbFwiKT09bnVsbCYmYS5zZXRBdHRyaWJ1dGUoXCJhcmlhLWxhYmVsXCIsYik7bTliKHRoaXMpfTtcbm05Yj1mdW5jdGlvbihhKXthLkFhPWZ1bmN0aW9uKCl7cmV0dXJuIG85YihhKX07YS5vYT1mdW5jdGlvbigpe3JldHVybiBwOWIoYSl9O18uWGQoYS50YXJnZXRFbGVtZW50LFwibW91c2VvdmVyXCIsYS5BYSk7Xy5YZChhLnRhcmdldEVsZW1lbnQsXCJtb3VzZW91dFwiLGEub2EpO18uWGQoYS50YXJnZXRFbGVtZW50LFwiZm9jdXNcIixhLkFhKTtfLlhkKGEudGFyZ2V0RWxlbWVudCxcImZvY3VzaW5cIixhLkFhKTtfLlhkKGEudGFyZ2V0RWxlbWVudCxcImJsdXJcIixhLm9hKTtfLlhkKGEudGFyZ2V0RWxlbWVudCxcImZvY3Vzb3V0XCIsYS5vYSk7Xy5YZChhLnRhcmdldEVsZW1lbnQsXCJtb3VzZWRvd25cIixhLm9hKTtfLlhkKGEudGFyZ2V0RWxlbWVudCxcImNsaWNrXCIsYS5vYSk7Xy5YZChhLnRhcmdldEVsZW1lbnQsXCJrZXlkb3duXCIsYS5vYSk7Xy5YZChhLnRhcmdldEVsZW1lbnQsXCJjb250ZXh0bWVudVwiLGEub2EpfTtcbl8ubjliLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5SYXx8KHRoaXMuUmE9ITAsd2luZG93LmNsZWFyVGltZW91dCh0aGlzLkdhKSx3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMuQ2EpLHE5Yih0aGlzKSxfLktrKHRoaXMudGFyZ2V0RWxlbWVudCxcIm1vdXNlb3ZlclwiLHRoaXMuQWEpLF8uS2sodGhpcy50YXJnZXRFbGVtZW50LFwibW91c2VvdXRcIix0aGlzLm9hKSxfLktrKHRoaXMudGFyZ2V0RWxlbWVudCxcImZvY3VzXCIsdGhpcy5BYSksXy5Layh0aGlzLnRhcmdldEVsZW1lbnQsXCJmb2N1c2luXCIsdGhpcy5BYSksXy5Layh0aGlzLnRhcmdldEVsZW1lbnQsXCJibHVyXCIsdGhpcy5vYSksXy5Layh0aGlzLnRhcmdldEVsZW1lbnQsXCJmb2N1c291dFwiLHRoaXMub2EpLF8uS2sodGhpcy50YXJnZXRFbGVtZW50LFwibW91c2Vkb3duXCIsdGhpcy5vYSksXy5Layh0aGlzLnRhcmdldEVsZW1lbnQsXCJjbGlja1wiLHRoaXMub2EpLF8uS2sodGhpcy50YXJnZXRFbGVtZW50LFwia2V5ZG93blwiLFxudGhpcy5vYSksXy5Layh0aGlzLnRhcmdldEVsZW1lbnQsXCJjb250ZXh0bWVudVwiLHRoaXMub2EpLHRoaXMuT2E9dGhpcy5vYT10aGlzLkFhPXRoaXMudGFyZ2V0RWxlbWVudD1udWxsKX07XG52YXIgbzliPWZ1bmN0aW9uKGEpe2EuT2EmJmEuT2EoKSYmYS5HYT09bnVsbCYmKHdpbmRvdy5jbGVhclRpbWVvdXQoYS5DYSksYS5DYT1udWxsLGEuR2E9d2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXtpZighXy53Zihkb2N1bWVudCxhLnRhcmdldEVsZW1lbnQpKWEuZGVzdHJveSgpO2Vsc2UgaWYoIWEuQmEpe3ZhciBiPV8udGwoXCJESVZcIix2b2lkIDAsYS5VYSksYz1cImJhY2tncm91bmQ6XCIrYS5RaSgpK1wiO2JvcmRlcjoxcHggc29saWQ7Ym9yZGVyLWNvbG9yOlwiKyhhLkxhP1wiIzNjNDA0M1wiOlwiI2ZmZlwiKStcIjtib3gtc2hhZG93OjFweCAycHggNHB4IHJnYmEoMCwwLDAsMC4yKTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6XCIrKGEuTGE/XCIjYmRjMWM2XCI6XCIjZmZmXCIpK1wiO2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6Ym9sZDtoZWlnaHQ6MjlweDtsZWZ0OjA7bGluZS1oZWlnaHQ6MjlweDtwYWRkaW5nOjAgMTBweDtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt0b3A6MDt0cmFuc2l0aW9uOm9wYWNpdHkgMC4xM3M7d2hpdGUtc3BhY2U6bm93cmFwO3Zpc2liaWxpdHk6aGlkZGVuO3otaW5kZXg6MjAwMDtcIjtfLmRiYSgpP1xuYys9XCItd2Via2l0LWJveC1zaGFkb3c6MHB4IDFweCA0cHggcmdiYSgwLDAsMCwwLjIpOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IDAuMTNzO1wiOl8uZWJhKCk/Yys9XCItbW96LWJveC1zaGFkb3c6MHB4IDFweCA0cHggcmdiYSgwLDAsMCwwLjIpOy1tb3otYm94LXNpemluZzpib3JkZXItYm94Oy1tb3otdHJhbnNpdGlvbjpvcGFjaXR5IDAuMTNzO1wiOl8uaGEoXCJQcmVzdG9cIikmJihjKz1cIi1vLXRyYW5zaXRpb246b3BhY2l0eSAwLjEzcztcIik7Yi5zdHlsZS5jc3NUZXh0PWM7YS5CYT1iO2M9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtjLnN0eWxlLmNzc1RleHQ9XCJib3JkZXI6NnB4IHNvbGlkO2JvcmRlci1jb2xvcjpcIisoYS5MYT9cIiMzYzQwNDNcIjpcIiNmZmZcIikrXCIgdHJhbnNwYXJlbnQ7Ym9yZGVyLXRvcC13aWR0aDowO2NvbnRlbnQ6Jyc7ZGlzcGxheTpibG9jaztmb250LXNpemU6MHB4O2hlaWdodDowO2xpbmUtaGVpZ2h0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOi02cHg7d2lkdGg6MDtcIjtcbnZhciBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7ZC5zdHlsZS5jc3NUZXh0PWMuc3R5bGUuY3NzVGV4dDtkLnN0eWxlLnRvcD1cIjFweFwiO2Quc3R5bGUubGVmdD1cIi02cHhcIjtkLnN0eWxlLmJvcmRlckNvbG9yPWEuUWkoKStcIiB0cmFuc3BhcmVudFwiO2MuYXBwZW5kQ2hpbGQoZCk7KGEuUWE9YykmJmIuYXBwZW5kQ2hpbGQoYyk7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChiKTtjPWEudGFyZ2V0RWxlbWVudDt2YXIgZT1fLm5tLkxKKGMpLGY9Yy5vZmZzZXRXaWR0aCxnPWUueCxoPWEuQmEub2Zmc2V0V2lkdGg7ZD17bGVmdDowLHRvcDowLGJTZDplLngscERlOmUueX07aWYoYS5hbGlnbm1lbnQ9PT0wKXtkLmxlZnQ9Zi8yLWgvMitnO3ZhciBrPV8udHkoMSwhMCk7ZC5sZWZ0K2g+az9kLmxlZnQ9ZytmLWgrMTpkLmxlZnQ8MCYmKGQubGVmdD1nLTEpfWVsc2Ugaz1fLlFMYigpLGQubGVmdD1hLmFsaWdubWVudD09PTN8fGEuYWxpZ25tZW50PT09MSYmaz9nK2YtaCsxOmctXG4xO2QudG9wPWUueStjLm9mZnNldEhlaWdodCs1O2Y9YS5CYTtmLnN0eWxlLmxlZnQ9ZC5sZWZ0K1wicHhcIjtmLnN0eWxlLnRvcD1kLnRvcCtcInB4XCI7ZT1hLlFhO2EuYWxpZ25tZW50PT09MD9lLnN0eWxlLmxlZnQ9ZC5iU2QrYy5vZmZzZXRXaWR0aC8yLWYub2Zmc2V0TGVmdC0xLTYrXCJweFwiOihjPV8uUUxiKCksYS5hbGlnbm1lbnQ9PT0zfHxhLmFsaWdubWVudD09PTEmJmM/ZS5zdHlsZS5yaWdodD1cIjE4cHhcIjplLnN0eWxlLmxlZnQ9XCIxOHB4XCIpO2Iuc3R5bGUudmlzaWJpbGl0eT1cInZpc2libGVcIjthLkdhPW51bGx9fSwxMzApKX0scDliPWZ1bmN0aW9uKGEpe2EuQ2E9PW51bGwmJih3aW5kb3cuY2xlYXJUaW1lb3V0KGEuR2EpLGEuR2E9bnVsbCxhLkNhPXdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIHE5YihhKX0sMTMwKSl9O18ubjliLnByb3RvdHlwZS5nZXRNZXNzYWdlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVWF9O1xuXy5uOWIucHJvdG90eXBlLlFpPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTGE/XCIjMjAyMTI0XCI6XCIjMmQyZDJkXCJ9O3ZhciBxOWI9ZnVuY3Rpb24oYSl7YS5CYSYmKF8uQ2woYS5CYSksYS5CYT1udWxsLGEuUWE9bnVsbCxhLkNhPW51bGwsXy53Zihkb2N1bWVudCxhLnRhcmdldEVsZW1lbnQpfHxhLmRlc3Ryb3koKSl9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLnI5Yj1fLkdkKFwiUHltQ0NlXCIsW10pO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLnV5PWZ1bmN0aW9uKGEpe18uQy5jYWxsKHRoaXMsYS5OYSk7dmFyIGI9dGhpczt0aGlzLnY0YT1fLlpuKHRoaXMsXCJwa2phc2JcIik7dGhpcy5zZXBhcmF0b3I9Xy5abih0aGlzLFwiczFWYVJlXCIpOyh0aGlzLm9hPV8uaTliLk9oKGZ1bmN0aW9uKGMpe3JldHVybiBuZXcgYyhiKX0pKT90aGlzLm9hLnEkYSgpOnRoaXMucSRhKCl9O18uRChfLnV5LF8uQyk7Xy51eS5JYT1fLkMuSWE7Xy51eS5wcm90b3R5cGUucSRhPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nZXRSb290KCkuUGMoXCJhcmlhLWxhYmVsXCIpLGI9Xy5abih0aGlzLFwiaXRWcUtlXCIpLmVsKCk7YSYmYiYmbmV3IF8ubjliKGIsYSl9O18udXkucHJvdG90eXBlLkFhPWZ1bmN0aW9uKGEpe18uSnUoYS5BYi5lbCgpKTt0aGlzLnRyaWdnZXIoXy5Bc2IpfTtfLnV5LnByb3RvdHlwZS5CYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnY0YX07Xy51eS5wcm90b3R5cGUucVJhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2VwYXJhdG9yfTtcbl8uTChfLnV5LnByb3RvdHlwZSxcIlc2ZWJOXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5xUmF9KTtfLkwoXy51eS5wcm90b3R5cGUsXCJmS2xRSGZcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLkJhfSk7Xy5MKF8udXkucHJvdG90eXBlLFwiQVZzbmxiXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5BYX0pO18uTChfLnV5LnByb3RvdHlwZSxcIkdNMVlmYlwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucSRhfSk7Xy5wcihfLnI5YixfLnV5KTtcbnZhciBzOWI9ZnVuY3Rpb24oYSl7dGhpcy5vYT1hfTtzOWIucHJvdG90eXBlLnEkYT1mdW5jdGlvbigpe3ZhciBhPXRoaXMub2EudjRhLlBjKFwiYXJpYS1sYWJlbFwiKTtpZighYSlyZXR1cm4gbnVsbDt2YXIgYj10aGlzLm9hLnY0YS5lbCgpO3JldHVybiBhJiZiP25ldyBfLm45YihiLGEpOm51bGx9O3M5Yi5wcm90b3R5cGUuZVRkPWZ1bmN0aW9uKGEpe3RoaXMub2EudjRhLnRvZ2dsZUNsYXNzKFwiTTJ2VjNcIixhKTt0aGlzLm9hLnFSYSgpLnRvZ2dsZUNsYXNzKFwiTTJ2VjNcIixhKX07Xy5ibihfLmk5YixzOWIpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJQeW1DQ2VcIik7XG5cbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLnQ5Yj1fLkdkKFwieE1jbGdkXCIsW18uRkJiLF8uejViLF8ubjhiXSk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciB1OWI9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgNjE6cmV0dXJuIDE4NztjYXNlIDU5OnJldHVybiAxODY7Y2FzZSAxNzM6cmV0dXJuIDE4OTtjYXNlIDIyNDpyZXR1cm4gOTE7Y2FzZSAwOnJldHVybiAyMjQ7ZGVmYXVsdDpyZXR1cm4gYX19LHY5Yj1mdW5jdGlvbihhKXtpZihfLnZoKWE9dTliKGEpO2Vsc2UgaWYoXy54aCYmXy53aClzd2l0Y2goYSl7Y2FzZSA5MzphPTkxfXJldHVybiBhfSx3OWI9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2lmKF8ueGgmJmUpcmV0dXJuIF8uV0FhKGEpO2lmKGUmJiFkKXJldHVybiExO2lmKCFfLnZoKXt0eXBlb2YgYj09PVwibnVtYmVyXCImJihiPXY5YihiKSk7dmFyIGc9Yj09MTd8fGI9PTE4fHxfLnhoJiZiPT05MTtpZigoIWN8fF8ueGgpJiZnfHxfLnhoJiZiPT0xNiYmKGR8fGYpKXJldHVybiExfWlmKF8ud2gmJmQmJmMpc3dpdGNoKGEpe2Nhc2UgMjIwOmNhc2UgMjE5OmNhc2UgMjIxOmNhc2UgMTkyOmNhc2UgMTg2OmNhc2UgMTg5OmNhc2UgMTg3OmNhc2UgMTg4OmNhc2UgMTkwOmNhc2UgMTkxOmNhc2UgMTkyOmNhc2UgMjIyOnJldHVybiExfXN3aXRjaChhKXtjYXNlIDEzOnJldHVybiBfLnZoP1xuZnx8ZT8hMTohKGMmJmQpOiEwO2Nhc2UgMjc6cmV0dXJuIV8ud2gmJiFfLnZofXJldHVybiBfLnZoJiYoZHx8ZXx8Zik/ITE6Xy5XQWEoYSl9LHg5Yj1mdW5jdGlvbihhLGIsYyxkKXtfLklrLmNhbGwodGhpcyxkKTt0aGlzLnR5cGU9XCJrZXlcIjt0aGlzLmtleUNvZGU9YTt0aGlzLmNoYXJDb2RlPWI7dGhpcy5yZXBlYXQ9Y307Xy5taCh4OWIsXy5Jayk7Xy52eT1mdW5jdGlvbihhLGIpe18uTmsuY2FsbCh0aGlzKTthJiZ0aGlzLmF0dGFjaChhLGIpfTtfLm1oKF8udnksXy5Oayk7Xy5tPV8udnkucHJvdG90eXBlO18ubS5UYz1udWxsO18ubS5mYWI9bnVsbDtfLm0uUHpiPW51bGw7Xy5tLmdhYj1udWxsO18ubS5oVz0tMTtfLm0uUWxhPS0xO18ubS5LbWI9ITE7XG52YXIgeTliPXszOjEzLDEyOjE0NCw2MzIzMjozOCw2MzIzMzo0MCw2MzIzNDozNyw2MzIzNTozOSw2MzIzNjoxMTIsNjMyMzc6MTEzLDYzMjM4OjExNCw2MzIzOToxMTUsNjMyNDA6MTE2LDYzMjQxOjExNyw2MzI0MjoxMTgsNjMyNDM6MTE5LDYzMjQ0OjEyMCw2MzI0NToxMjEsNjMyNDY6MTIyLDYzMjQ3OjEyMyw2MzI0ODo0NCw2MzI3Mjo0Niw2MzI3MzozNiw2MzI3NTozNSw2MzI3NjozMyw2MzI3NzozNCw2MzI4OToxNDQsNjMzMDI6NDV9LHo5Yj17VXA6MzgsRG93bjo0MCxMZWZ0OjM3LFJpZ2h0OjM5LEVudGVyOjEzLEYxOjExMixGMjoxMTMsRjM6MTE0LEY0OjExNSxGNToxMTYsRjY6MTE3LEY3OjExOCxGODoxMTksRjk6MTIwLEYxMDoxMjEsRjExOjEyMixGMTI6MTIzLFwiVSswMDdGXCI6NDYsSG9tZTozNixFbmQ6MzUsUGFnZVVwOjMzLFBhZ2VEb3duOjM0LEluc2VydDo0NX0sQTliPV8ueGgmJl8udmg7Xy5tPV8udnkucHJvdG90eXBlO1xuXy5tLkh3Yz1mdW5jdGlvbihhKXtfLndoJiYodGhpcy5oVz09MTcmJiFhLmN0cmxLZXl8fHRoaXMuaFc9PTE4JiYhYS5hbHRLZXl8fF8ueGgmJnRoaXMuaFc9PTkxJiYhYS5tZXRhS2V5KSYmKHRoaXMuUWxhPXRoaXMuaFc9LTEpO3RoaXMuaFc9PS0xJiYoYS5jdHJsS2V5JiZhLmtleUNvZGUhPTE3P3RoaXMuaFc9MTc6YS5hbHRLZXkmJmEua2V5Q29kZSE9MTg/dGhpcy5oVz0xODphLm1ldGFLZXkmJmEua2V5Q29kZSE9OTEmJih0aGlzLmhXPTkxKSk7dzliKGEua2V5Q29kZSx0aGlzLmhXLGEuc2hpZnRLZXksYS5jdHJsS2V5LGEuYWx0S2V5LGEubWV0YUtleSk/KHRoaXMuUWxhPXY5YihhLmtleUNvZGUpLEE5YiYmKHRoaXMuS21iPWEuYWx0S2V5KSk6dGhpcy5oYW5kbGVFdmVudChhKX07Xy5tLnlqZD1mdW5jdGlvbihhKXt0aGlzLlFsYT10aGlzLmhXPS0xO3RoaXMuS21iPWEuYWx0S2V5fTtcbl8ubS5oYW5kbGVFdmVudD1mdW5jdGlvbihhKXt2YXIgYj1hLllnLGM9Yi5hbHRLZXk7aWYoXy53aCYmYS50eXBlPT1cImtleXByZXNzXCIpe3ZhciBkPXRoaXMuUWxhO3ZhciBlPWIuY2hhckNvZGU+PTAmJmIuY2hhckNvZGU8NjMyMzImJl8uV0FhKGQpP2IuY2hhckNvZGU6MH1lbHNlIGEudHlwZT09XCJrZXlwcmVzc1wiPyhBOWImJihjPXRoaXMuS21iKSxiLmtleUNvZGU9PWIuY2hhckNvZGU/Yi5rZXlDb2RlPDMyPyhkPWIua2V5Q29kZSxlPTApOihkPXRoaXMuUWxhLGU9Yi5jaGFyQ29kZSk6KGQ9Yi5rZXlDb2RlfHx0aGlzLlFsYSxlPWIuY2hhckNvZGV8fDApKTooZD1iLmtleUNvZGV8fHRoaXMuUWxhLGU9Yi5jaGFyQ29kZXx8MCksXy54aCYmZT09NjMmJmQ9PTIyNCYmKGQ9MTkxKTt2YXIgZj1kPXY5YihkKTtkP2Q+PTYzMjMyJiZkIGluIHk5Yj9mPXk5YltkXTpkPT0yNSYmYS5zaGlmdEtleSYmKGY9OSk6Yi5rZXlJZGVudGlmaWVyJiZiLmtleUlkZW50aWZpZXIgaW4gejliJiYoZj1cbno5YltiLmtleUlkZW50aWZpZXJdKTtpZighXy52aHx8YS50eXBlIT1cImtleXByZXNzXCJ8fHc5YihmLHRoaXMuaFcsYS5zaGlmdEtleSxhLmN0cmxLZXksYyxhLm1ldGFLZXkpKWE9Zj09dGhpcy5oVyx0aGlzLmhXPWYsYj1uZXcgeDliKGYsZSxhLGIpLGIuYWx0S2V5PWMsdGhpcy5kaXNwYXRjaEV2ZW50KGIpfTtfLm0uTWE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5UY307Xy5tLmF0dGFjaD1mdW5jdGlvbihhLGIpe3RoaXMuZ2FiJiZ0aGlzLmRldGFjaCgpO3RoaXMuVGM9YTt0aGlzLmZhYj1fLlhkKHRoaXMuVGMsXCJrZXlwcmVzc1wiLHRoaXMsYik7dGhpcy5QemI9Xy5YZCh0aGlzLlRjLFwia2V5ZG93blwiLHRoaXMuSHdjLGIsdGhpcyk7dGhpcy5nYWI9Xy5YZCh0aGlzLlRjLFwia2V5dXBcIix0aGlzLnlqZCxiLHRoaXMpfTtcbl8ubS5kZXRhY2g9ZnVuY3Rpb24oKXt0aGlzLmZhYiYmKF8uTGsodGhpcy5mYWIpLF8uTGsodGhpcy5QemIpLF8uTGsodGhpcy5nYWIpLHRoaXMuZ2FiPXRoaXMuUHpiPXRoaXMuZmFiPW51bGwpO3RoaXMuVGM9bnVsbDt0aGlzLlFsYT10aGlzLmhXPS0xfTtfLm0uUWM9ZnVuY3Rpb24oKXtfLnZ5Lk9kLlFjLmNhbGwodGhpcyk7dGhpcy5kZXRhY2goKX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uQjliPWZ1bmN0aW9uKGEpe18uQy5jYWxsKHRoaXMsYS5OYSk7dmFyIGI9dGhpczt0aGlzLkRsPW51bGw7dGhpcy5DYT1mdW5jdGlvbigpe2IuUTMuV0thKCl9O3RoaXMub2E9ITE7dGhpcy5ldmVudHM9YS5tb2RlbC5ldmVudHM7dGhpcy5GZD1hLm1vZGVsLkZkO3RoaXMuUTM9YS5jb250cm9sbGVycy5idWJibGVbMF18fG51bGw7dGhpcy5Ycz1hLmNvbnRyb2xsZXJzLnNuYWNrYmFyWzBdfHxudWxsO3RoaXMuUTMmJnRoaXMuZXZlbnRzLnZ5KDUsdGhpcy5DYSl9O18uRChfLkI5YixfLkMpO18uQjliLklhPWZ1bmN0aW9uKCl7cmV0dXJue3ByZWxvYWQ6e3NuYWNrYmFyOl8uaHd9LG1vZGVsOntldmVudHM6Xy5BNWIsRmQ6Xy5yeX0sY29udHJvbGxlcnM6e2J1YmJsZTpcIk4zZnFYY1wiLHNuYWNrYmFyOlwibkg5MWhlXCJ9fX07XG5fLkI5Yi5wcm90b3R5cGUuSkdiPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7dGhpcy5EbD1hO18uWGQobmV3IF8udnkoZG9jdW1lbnQpLFwia2V5XCIsZnVuY3Rpb24oYyl7YTppZighQzliKCkpe2Zvcih2YXIgZD1fLmtsKFwicmNudFwiKTtkJiZkIT09ZG9jdW1lbnQuYm9keTspe2lmKF8uU0FhKGQsXCJoaWRkZW5cIikpYnJlYWsgYTtkPWQucGFyZW50RWxlbWVudH1pZigoYy5rZXkmJmMua2V5Lmxlbmd0aD09PTE/Yy5rZXk6Yy5jaGFyQ29kZT9TdHJpbmcuZnJvbUNoYXJDb2RlKGMuY2hhckNvZGUpOl8uV0FhKGMua2V5Q29kZSk/U3RyaW5nLmZyb21DaGFyQ29kZShjLmtleUNvZGUpOm51bGwpIT09XCIvXCJ8fGMuY3RybEtleXx8Yy5hbHRLZXl8fGMubWV0YUtleSl7aWYoZD0hYi5vYSl7ZD1jLmtleUNvZGU9PT00Nnx8Yy5rZXlDb2RlPT09ODt2YXIgZT1jLmN0cmxLZXl8fGMuYWx0S2V5fHxjLm1ldGFLZXk7ZD0oYy5rZXlDb2RlIT09MzImJl8uV0FhKGMua2V5Q29kZSl8fGQpJiYhZX1kJiZiLlhzJiZcbihiLm9hPSEwLGIuWHMuc2hvdygpKX1lbHNlIGMucHJldmVudERlZmF1bHQoKSxjPWIuRGwuem4oKS5sZW5ndGgsYi5EbC52digpLnNldFNlbGVjdGlvblJhbmdlKGMsYyksYi5EbC5mb2N1cygpLGIudHJpZ2dlcihfLkRzYiwwKSxiLkRsLnZ2KCkuc2Nyb2xsVG9wPWIuRGwudnYoKS5zY3JvbGxIZWlnaHQsYi5GZC5KeGEoNDEsXCIxXCIpfX0pfTtfLkI5Yi5wcm90b3R5cGUuQWE9ZnVuY3Rpb24oYSl7IXRoaXMuUTN8fHRoaXMuRGwmJnRoaXMuRGwuUGsoKXx8dGhpcy5RMy5tZmMoYSl9O18uQjliLnByb3RvdHlwZS5CYT1mdW5jdGlvbihhKXt0aGlzLlEzJiZ0aGlzLlEzLm5mYyhhKX07dmFyIEM5Yj1mdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7cmV0dXJuIGE/YS5ub2RlTmFtZT09PVwiSU5QVVRcIj8oYT1hLnR5cGUsYT09PVwidGV4dFwifHxhPT09XCJudW1iZXJcIik6YS5ub2RlTmFtZT09PVwiVEVYVEFSRUFcIjohMX07XG5fLkwoXy5COWIucHJvdG90eXBlLFwiRzdHU2JkXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5CYX0pO18uTChfLkI5Yi5wcm90b3R5cGUsXCJRYmhNc2VcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLkFhfSk7Xy5wcihfLnQ5YixfLkI5Yik7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcInhNY2xnZFwiKTtcblxuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uRDliPV8uR2QoXCJwRWdjdWVcIixbXy5uOGIsXy5CNWIsXy4kN2JdKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIEU5YixGOWIsRzliO0U5Yj1bXCJiZWZvcmV1bmxvYWRcIixcInBhZ2VoaWRlXCJdO0Y5Yj1mdW5jdGlvbihhKXthLkJhPV8uWGQoXy5RZSgpLEU5YixmdW5jdGlvbigpe2EuQWF8fChfLkM1YihhLCEwKSxhLkFhPSEwLHNldFRpbWVvdXQoZnVuY3Rpb24oKXthLkFhPSExfSwxRTMpKX0pfTtHOWI9ZnVuY3Rpb24oYSl7YS5vYXx8KGEub2E9ITAsRjliKGEpLGEuZXZlbnRzLlZyKDEyKSl9O18ud3k9ZnVuY3Rpb24oYSl7Xy5DLmNhbGwodGhpcyxhLk5hKTt2YXIgYj10aGlzO3RoaXMuRTc9dGhpcy56bigpO3RoaXMuQmE9dGhpcy56bigpO3RoaXMuR2E9YS5tb2RlbC5PWGM7dGhpcy5DYT1hLm1vZGVsLkZkO3RoaXMuT2E9YS5tb2RlbC5Cbzt0aGlzLlFhPWRvY3VtZW50O18uWDZiKGZ1bmN0aW9uKCl7Yi5mamMoKX0pO3RoaXMudnY9Xy5Payh0aGlzLnZ2LmJpbmQodGhpcykpO3RoaXMuT2EuQWEoXy5wN2IsdGhpcyl9O18uRChfLnd5LF8uQyk7XG5fLnd5LklhPWZ1bmN0aW9uKCl7cmV0dXJue21vZGVsOntGZDpfLnJ5LE9YYzpfLkQ1YixCbzpfLnB5fSxMZDp7RkJlOlwib2ZoOWlkXCJ9fX07Xy5tPV8ud3kucHJvdG90eXBlO18ubS5Jd2M9ZnVuY3Rpb24oKXt0aGlzLkNhLmZjYSgyKX07Xy5tLlIwYT1mdW5jdGlvbihhKXthLmV2ZW50LnRhcmdldD09PXRoaXMudnYoKSYmKHRoaXMudHJpZ2dlcihfLkRzYiwwKSxHOWIodGhpcy5HYSkpfTtfLm0uUTBhPWZ1bmN0aW9uKCl7dGhpcy50cmlnZ2VyKF8uRXNiKX07Xy5tLlpLYT1mdW5jdGlvbihhLGIsYyl7YT1hPT09dm9pZCAwPyEwOmE7Yj1iPT09dm9pZCAwPyEwOmI7Yz1jPT09dm9pZCAwPyExOmM7RzliKHRoaXMuR2EpO2lmKHRoaXMuRTchPT10aGlzLnpuKCl8fGMpdGhpcy5DYS5mY2EoMSksYSYmdGhpcy5DYS53S2IoKSxiJiYodGhpcy5FNz10aGlzLnpuKCkpLHRoaXMudHJpZ2dlcihfLkNzYil9O18ubS56bj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnZ2KCkudmFsdWV9O1xuXy5tLnZ2PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0Um9vdCgpLmZpbmQoXCJbbmFtZT1xXVwiKS5lbCgpfTtfLm0uVGhiPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudnYoKS5zZWxlY3Rpb25FbmR9O18ubS55UWM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5FN307Xy5tLlBrPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudnYoKT09PXRoaXMuUWEuYWN0aXZlRWxlbWVudH07Xy5tLmZvY3VzPWZ1bmN0aW9uKCl7dGhpcy52digpLmZvY3VzKCl9O18ubS5ibHVyPWZ1bmN0aW9uKCl7dGhpcy52digpLmJsdXIoKX07Xy5tLklwYT1mdW5jdGlvbihhLGIsYyxkKXtiPWI9PT12b2lkIDA/ITE6YjtjPWM9PT12b2lkIDA/ITA6YztkPWQ9PT12b2lkIDA/ITA6ZDt2YXIgZT1lPT09dm9pZCAwPyEwOmU7dmFyIGY9YSE9PXRoaXMudnYoKS52YWx1ZTt0aGlzLnZ2KCkudmFsdWU9YTshZHx8IWImJmZ8fCh0aGlzLkU3PWEpO2J8fChlJiZ0aGlzLmZvY3VzKCksZiYmdGhpcy5aS2EoYyxkLGYpKX07XG5fLm0uZmpjPWZ1bmN0aW9uKCl7dGhpcy52digpLnZhbHVlPXRoaXMuQmF9O18uTChfLnd5LnByb3RvdHlwZSxcImpzYjE2ZFwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmpjfSk7Xy5MKF8ud3kucHJvdG90eXBlLFwiTzIycDNlXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ibHVyfSk7Xy5MKF8ud3kucHJvdG90eXBlLFwiQUhtdXdlXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5mb2N1c30pO18uTChfLnd5LnByb3RvdHlwZSxcInUzYlc0ZVwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUGt9KTtfLkwoXy53eS5wcm90b3R5cGUsXCJjWHBmalwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueVFjfSk7Xy5MKF8ud3kucHJvdG90eXBlLFwialRDMnZkXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5UaGJ9KTtfLkwoXy53eS5wcm90b3R5cGUsXCJiQUR4aVwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudnZ9KTtfLkwoXy53eS5wcm90b3R5cGUsXCJXQk1DR1wiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuem59KTtcbl8uTChfLnd5LnByb3RvdHlwZSxcImQzc1FMZFwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWkthfSk7Xy5MKF8ud3kucHJvdG90eXBlLFwiakkzd3pmXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RMGF9KTtfLkwoXy53eS5wcm90b3R5cGUsXCJkRnlRRWZcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLlIwYX0pO18uTChfLnd5LnByb3RvdHlwZSxcInB1eTI5ZFwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSXdjfSk7Xy5wcihfLkQ5YixfLnd5KTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwicEVnY3VlXCIpO1xuXG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5IOWI9Xy5HZChcInZacjJyYlwiLFtfLnQ5YixfLkQ5Yl0pO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgSzliO18uSTliPV8uUWcoW1wiYXJpYS1cIl0pO18uSjliPV8uUWcoW1wiYXJpYS1cIl0pO0s5Yj0vPHNlPiguKj8pPFxcL3NlPi9nO18ueHk9ZnVuY3Rpb24oYSl7Xy53eS5jYWxsKHRoaXMsYS5OYSk7dGhpcy5BYT1udWxsO3RoaXMuUmxhPWEuY29udHJvbGxlcnMuUmxhWzBdfHxudWxsO3RoaXMuTGE9dGhpcy5NYShcInZkTHN3XCIpLmVsKCk7dGhpcy5SbGEmJnRoaXMuUmxhLkpHYih0aGlzKTt0aGlzLlVhPV8uU2YodGhpcy5nZXREYXRhKFwiaHBtZGVcIiksITEpO3RoaXMubWF4TGluZXM9Xy5TYyh0aGlzLmdldERhdGEoXCJtbnJcIiksNSk7dGhpcy5SYT1wYXJzZUludChnZXRDb21wdXRlZFN0eWxlKHRoaXMudnYoKSkuZ2V0UHJvcGVydHlWYWx1ZShcImxpbmUtaGVpZ2h0XCIpLDEwKTt0aGlzLnZ2KCkudmFsdWV8fHRoaXMuSXBhKFwiXCIpfTtfLkQoXy54eSxfLnd5KTtfLnh5LklhPWZ1bmN0aW9uKCl7cmV0dXJue3ByZWxvYWQ6e1d6ZTpfLkI5Yn0sY29udHJvbGxlcnM6e1JsYTpcImFKeUdSXCJ9fX07XG5fLm09Xy54eS5wcm90b3R5cGU7Xy5tLklwYT1mdW5jdGlvbihhLGIsYyxkKXtiPWI9PT12b2lkIDA/ITE6YjtjPWM9PT12b2lkIDA/ITA6YztkPWQ9PT12b2lkIDA/ITA6ZDt2YXIgZT1hIT09dGhpcy56bigpO2ImJih0aGlzLkU3PT09YSYmdGhpcy5BYT9fLkw5Yih0aGlzLHRoaXMuQWEpOnRoaXMub2EoKSk7Xy53eS5wcm90b3R5cGUuSXBhLmNhbGwodGhpcyxhLGIsYyxkKTtiJiZ0aGlzLlFoYSgpO2J8fGV8fCFkfHwodGhpcy5BYT1udWxsKX07Xy5tLlpLYT1mdW5jdGlvbihhLGIsYyl7YT1hPT09dm9pZCAwPyEwOmE7Yj1iPT09dm9pZCAwPyEwOmI7Yz1jPT09dm9pZCAwPyExOmM7aWYodGhpcy5FNyE9PXRoaXMuem4oKXx8Yyl0aGlzLm9hKCksdGhpcy5RaGEoKSxfLnd5LnByb3RvdHlwZS5aS2EuY2FsbCh0aGlzLGEsYixjKX07XG5fLm0uUWhhPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy52digpO2Euc3R5bGUuaGVpZ2h0PVwiMFwiO3ZhciBiPU1hdGgubWluKE1hdGguZmxvb3IoYS5zY3JvbGxIZWlnaHQvdGhpcy5SYSksdGhpcy5tYXhMaW5lcyk7YS5yb3dzIT09YiYmKGEucm93cz1iLHRoaXMudHJpZ2dlcihfLlNzYixiPjEpKTthLnN0eWxlLmhlaWdodD1cIlwiO3RoaXMuVWEmJnRoaXMudHJpZ2dlcihfLlVzYixhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCl9O18ubS5SMGE9ZnVuY3Rpb24oKXt9O18ubS5RMGE9ZnVuY3Rpb24oYSl7Xy5Nayh3aW5kb3csXCJhdHRuX3Jlc3VtZVwiLG51bGwpO3RoaXMudnYoKS5zY3JvbGxUb3A9MDtfLnd5LnByb3RvdHlwZS5RMGEuY2FsbCh0aGlzLGEpfTtfLm0uQmQ9ZnVuY3Rpb24oYSl7dGhpcy52digpJiZfLkp1KHRoaXMudnYoKSk7Xy5Nayh3aW5kb3csXCJhdHRuX3BhdXNlXCIsbnVsbCk7Xy53eS5wcm90b3R5cGUuUjBhLmNhbGwodGhpcyxhKX07XG5fLm0uWHZiPWZ1bmN0aW9uKGEpe3RoaXMuUGsoKSYmdGhpcy5CZChhKX07Xy5MOWI9ZnVuY3Rpb24oYSxiKXtpZihhLkFhPWIpYj1iLnJlcGxhY2UoSzliLFwiPHNwYW4+JDE8L3NwYW4+XCIpLF8uQmMoYS5MYSxfLnVjKGIpKX07Xy54eS5wcm90b3R5cGUub2E9ZnVuY3Rpb24oKXt0aGlzLkxhLnRleHRDb250ZW50PVwiXCJ9O18ueHkucHJvdG90eXBlLm9uTW91c2VFbnRlcj1mdW5jdGlvbihhKXt0aGlzLlJsYSYmdGhpcy5SbGEuQWEoYSl9O18ueHkucHJvdG90eXBlLm9uTW91c2VMZWF2ZT1mdW5jdGlvbihhKXt0aGlzLlJsYSYmdGhpcy5SbGEuQmEoYSl9O18ueHkucHJvdG90eXBlLnZ2PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0Um9vdCgpLmZpbmQoXCJbbmFtZT1xXVwiKS5lbCgpfTtfLkwoXy54eS5wcm90b3R5cGUsXCJiQUR4aVwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudnZ9KTtfLkwoXy54eS5wcm90b3R5cGUsXCJpRkhabmZcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLm9uTW91c2VMZWF2ZX0pO1xuXy5MKF8ueHkucHJvdG90eXBlLFwiTUpFS01lXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vbk1vdXNlRW50ZXJ9KTtfLkwoXy54eS5wcm90b3R5cGUsXCJtZDJ1bWVcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLm9hfSk7Xy5MKF8ueHkucHJvdG90eXBlLFwic043b2xjXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5YdmJ9KTtfLkwoXy54eS5wcm90b3R5cGUsXCJoNU0xMmVcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLkJkfSk7Xy5MKF8ueHkucHJvdG90eXBlLFwiakkzd3pmXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RMGF9KTtfLkwoXy54eS5wcm90b3R5cGUsXCJkRnlRRWZcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLlIwYX0pO18uTChfLnh5LnByb3RvdHlwZSxcImxLT1RaY1wiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUWhhfSk7Xy5MKF8ueHkucHJvdG90eXBlLFwiZDNzUUxkXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5aS2F9KTtfLnByKF8uSDliLF8ueHkpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJ2WnIycmJcIik7XG5cbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLm0kYj1mdW5jdGlvbihhKXthPWEuY2xvbmVOb2RlKCEwKTthLnJlbW92ZUF0dHJpYnV0ZShcImlkXCIpO3JldHVybiBhfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5BeT1mdW5jdGlvbihhLGIsYyxkLGUpe3RoaXMuaW5kZXg9YTt0aGlzLkprPWI7dGhpcy5vYT1jPT09dm9pZCAwPzE6Yzt0aGlzLkFhPWQ9PT12b2lkIDA/XCJcIjpkO3RoaXMuQmE9ZT09PXZvaWQgMD9cIlwiOmV9O18uQXkucHJvdG90eXBlLmdldEluZGV4PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW5kZXh9O18uQXkucHJvdG90eXBlLkNhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQWE/dGhpcy5BYTp0aGlzLmluZGV4IT09LTE/Xy5BNmIodGhpcy5pbmRleCk6XCJcIn07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBvJGI9ZnVuY3Rpb24oKXt9O18ubT1vJGIucHJvdG90eXBlO18ubS5uZXh0PWZ1bmN0aW9uKCl7cmV0dXJuITB9O18ubS5wcmV2aW91cz1mdW5jdGlvbigpe3JldHVybiEwfTtfLm0udXA9ZnVuY3Rpb24oKXtyZXR1cm4hMH07Xy5tLnhOPWZ1bmN0aW9uKCl7cmV0dXJuITB9O18ubS5lbnRlcj1mdW5jdGlvbigpe307Xy5tLmV4aXQ9ZnVuY3Rpb24oKXt9O18ucCRiPWZ1bmN0aW9uKGEsYixjKXtiPWI9PT12b2lkIDA/bmV3IG8kYjpiO3RoaXMuQWE9YTt0aGlzLm9hPWI7dGhpcy5jbGVhcj1jPT09dm9pZCAwP2Z1bmN0aW9uKCl7fTpjfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5UJGI9ISEoXy5kaFsyOF0+PjI5JjEpO18uVSRiPSEhKF8uZGhbMjldJjEpO18uViRiPSEhKF8uZGhbMjldJjQpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLkZhYz1EYXRlLm5vdygpO18uR2FjPWZ1bmN0aW9uKGEpe3RoaXMub2E9bmV3IF8udkVhO3RoaXMuQWE9XCJcIjt0aGlzLkJhPWE9PT12b2lkIDA/ITE6YTt0aGlzLkxhPSExO3RoaXMuR2E9W107dGhpcy5DYT1bXX07Xy5HYWMucHJvdG90eXBlLmNvbmZpZ3VyZT1mdW5jdGlvbihhKXt0aGlzLkFhPWEudHZiKCk7dGhpcy5MYT1IYWMoYSk7dGhpcy5HYT1hLlh1YigpO3RoaXMuQ2E9YS5ZdWIoKX07dmFyIEhhYz1mdW5jdGlvbihhKXtyZXR1cm4gYS5tNGIoKSYmYS5YdWIoKS5sZW5ndGg9PWEuWXViKCkubGVuZ3RoJiYhYS5YdWIoKS5zb21lKGZ1bmN0aW9uKGIpe3JldHVybiBiPDB9KSYmIWEuWXViKCkuc29tZShmdW5jdGlvbihiKXtyZXR1cm4gYjwwfSl9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLlFhYz1mdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRUeXBlKCk9PT0xNzkmJmEub2EoKS5pbmNsdWRlcyg1MTcpfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy52bWM9Xy5HZChcIkR2bjdmZVwiLFtfLngxYSxfLno1YixfLm44YixfLiQ3Yl0pO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLndtYz1fLkooXCJrUHpFT1wiKTtfLnhtYz1fLkooXCJxakx4UmNcIik7Xy55bWM9Xy5KKFwidzhmMWZjXCIpO18uem1jPV8uSihcImtxMnd4ZlwiKTtfLkFtYz1fLkooXCJjdXYycWJcIik7Xy5CbWM9Xy5KKFwiaWlBV0tiXCIpO18uQ21jPV8uSihcImh3TzlHZFwiKTtfLkRtYz1fLkooXCJCcWJUYmVcIik7Xy5FbWM9Xy5KKFwiYUlKQWRmXCIpO18uRm1jPV8uSihcIkdIdGZ0XCIpO18uR21jPV8uSihcImtZQUtyZlwiKTtfLkhtYz1fLkooXCJod2hSUmVcIik7Xy5JbWM9Xy5KKFwiV055RVJkXCIpO18uSm1jPV8uSihcImtWQkNWZFwiKTtfLkttYz1fLkooXCJKMHFuQmNcIik7Xy5MbWM9Xy5KKFwiSHlFWUZjXCIpO18uTW1jPV8uSihcIkxJbUFsY1wiKTtfLk5tYz1fLkooXCJ6WHhnTWNcIik7Xy5PbWM9Xy5KKFwicTBGM3JcIik7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBRbWMsUm1jLFNtYztfLlBtYz1mdW5jdGlvbihhLGIpe3JldHVybiBfLlA3YihfLmt5KGEpLF8uTjZiKGIpKT09PTF9O1FtYz1mdW5jdGlvbihhLGIpe3JldHVybiBwYXJzZUludChhLm9hJiZhLm9hW2JdJiZhLm9hW2JdWzFdLDEwKXx8MH07Um1jPVszNSwzMCwzMyw0MV07U21jPVszOSwxMCwyMSw2MDRdO18udno9ZnVuY3Rpb24oYSl7Xy5DLmNhbGwodGhpcyxhLk5hKTt2YXIgYj10aGlzO3RoaXMuZXZlbnRzPWEubW9kZWwuZXZlbnRzO3RoaXMuRmQ9YS5tb2RlbC5GZDt0aGlzLkJvPWEubW9kZWwuQm87dGhpcy5SYT10aGlzLmdldFJvb3QoKTt0aGlzLnlkPXRoaXMuQ2IoXCJlcmt2UWVcIik7dGhpcy5CZT10aGlzLkNiKFwidG92RWliXCIpO3RoaXMucWM9dGhpcy5DYihcIlJqUHVWYlwiKTt0aGlzLnZkPXRoaXMuQ2IoXCJWbGNMQWVcIik7dGhpcy5TYj10aGlzLkNiKFwiSlV5cFZcIik7dGhpcy5XZD10aGlzLkNiKFwibGg4N2tlXCIpO3RoaXMud2I9ITE7dGhpcy5SYj10aGlzLkJhPXRoaXMuVWE9bnVsbDt0aGlzLkdhPVtdO3RoaXMuQWE9W107dGhpcy5DYT1bXTt0aGlzLkxhPXRoaXMua2I9dGhpcy5vYT0tMTt0aGlzLmhiPTA7dGhpcy5PYT10aGlzLlFhPS0xO18uRDhiKGEubW9kZWwuSGUpO3RoaXMuSGU9YS5tb2RlbC5IZS5IZTt0aGlzLlNjPW5ldyBfLkdhYzt0aGlzLlNjLmNvbmZpZ3VyZSh0aGlzLkhlKTtcbnRoaXMuQm8uQWEoXy5xN2IsdGhpcyk7dGhpcy5HYj1uZXcgTWFwO3RoaXMuWWI9e2hCYTpbXSxZcGE6MH07dGhpcy5EYz17aEJhOltdLFlwYTowfTt0aGlzLkJiPW5ldyBNYXA7dGhpcy5PYj0hMTt0aGlzLlJhLmVsKCkuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNlbW92ZVwiLGZ1bmN0aW9uKCl7Yi5PYj0hMX0pfTtfLkQoXy52eixfLkMpO18udnouSWE9ZnVuY3Rpb24oKXtyZXR1cm57bW9kZWw6e0hlOl8uQzhiLGV2ZW50czpfLkE1YixGZDpfLnJ5LEJvOl8ucHl9fX07XG5fLnZ6LnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oYSxiKXtUbWModGhpcyk7dGhpcy5PYT0tMTt2YXIgYz1iLm9hKFwiYXBcIixcIlwiKSxkPSEhYzt0aGlzLlJhLnRvZ2dsZUNsYXNzKFwiUzNuRm5kXCIsZCk7dGhpcy50cmlnZ2VyKF8uS3NiLGQpO3RoaXMucWMudG9nZ2xlKGQpO3RoaXMudmQudG9nZ2xlKCFkKTt0aGlzLlNiLnRvZ2dsZSghZCk7dGhpcy5XZC50b2dnbGUoIWQpO3ZhciBlPWU9PT12b2lkIDA/XCIxNnB4XCI6ZTtjPyhkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksZC5zdHlsZS5wb3NpdGlvbj1cImFic29sdXRlXCIsZC5zdHlsZS53aGl0ZVNwYWNlPVwicHJlXCIsZC5zdHlsZS5mb250PWUrXCIgYXJpYWwsc2Fucy1zZXJpZlwiLGM9Xy51YyhjKSxfLkJjKGQsYyksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkKSxjPU1hdGgucm91bmQoZC5vZmZzZXRXaWR0aCksZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChkKSxkPWMpOmQ9MDt0aGlzLnFjLnNldFN0eWxlKFwid2lkdGhcIixcbmQrXCJweFwiKTt0aGlzLmtiPS0xO1VtYyh0aGlzLGEsYixiLnZwKCkpO3RoaXMuQXcoISF0aGlzLkFhLmxlbmd0aCk7dGhpcy5SYj1hfTtcbnZhciBVbWM9ZnVuY3Rpb24oYSxiLGMsZCxlKXtlPWU9PT12b2lkIDA/ITE6ZTthLkFhLmxlbmd0aD1kLmxlbmd0aDthLkNhLmxlbmd0aD1kLmxlbmd0aDthLkdhLmxlbmd0aD1kLmxlbmd0aDthLkxhPS0xO2EuaGI9MDtmb3IodmFyIGY9YS55ZC5lbCgpLGc9YS5CZS5lbCgpLGg9ITEsaz1udWxsLGw9MDtsPGQubGVuZ3RoO2wrKyl7dmFyIG49ZFtsXSxyPV8uUG1jKGMsbik7IWgmJnImJmEudHJpZ2dlcihfLk5zYiwhMCk7aD1yfHxoO3J8fChhLlFhPWwpO3ZhciB0PXI/ZzpmLHU9cj9hLkRjOmEuWWI7aWYocnx8IWUpe3I9YTt2YXIgej1iLEI9YyxGPWwsSz1fLk42YihuKTtpZihrJiZrLmdyb3VwSWQ9PT1LKXQ9aztlbHNle2smJmsuV2goKTtrPXIuQm8uVnNhKEspLnByYSh6LEIsSyk7ej1yLkJvLlNzYShLKS5wcmEoeixCLEspO3ZhciBQPVFtYyhfLmt5KEIpLEspO0I9cjt2YXIgUT11LmhCYVt1LllwYV07USYmUS5hTGEoKT09PVB8fChRPShRPUIuR2IuZ2V0KFApKSYmUS5sZW5ndGg/XG5RLnBvcCgpOkIuQm8uTzNiKFApLmxwYihLLGsseiksdS5oQmEuc3BsaWNlKHUuWXBhLDAsUSksXy5CbCh0LFEucm9vdEVsZW1lbnQsdS5ZcGEpKTt1LllwYSsrO1EuaW5pdGlhbGl6ZShLLGsseik7dD1RfXU9ci5Cby5rSShuKTtLPXQudVljKHUsbixGKTt1PUsudmlldztLPUsuVzliO3IuQWFbRl09bjtyLkNhW0ZdPXU7ci5HYVtGXT1LO2s9dH19ayYmay5XaCgpO2V8fFZtYyhhLGEuWWIpO1ZtYyhhLGEuRGMpO2EuQmE9YztjPV8uZTdiKGMsZCk7YS5GZC5oQmIoYixjKTthLkZkLnhLYihjKTtofHxhLnRyaWdnZXIoXy5Oc2IsITEpO2EuZXZlbnRzLlZyKDkse3Jlc3BvbnNlOmMscmVxdWVzdDpifSk7Yj1iLmdldFF1ZXJ5KCk7Yz1oPSExO2ZvcihkPTA7ZDxhLkFhLmxlbmd0aCYmZDxhLkNhLmxlbmd0aDtkKyspe2U9YS5BYVtkXTtmPW5ldyBfLkxuKGEuQ2FbZF0pO2E6aWYoUm1jLmluY2x1ZGVzKGUuZ2V0VHlwZSgpKSlnPSExO2Vsc2V7Zz1lLm9hKCk7bD1fLlBhKFNtYyk7Zm9yKHI9XG5sLm5leHQoKTshci5kb25lO3I9bC5uZXh0KCkpaWYoZy5pbmNsdWRlcyhyLnZhbHVlKSl7Zz0hMTticmVhayBhfWc9ITB9aHx8KGg9Zyk7bD1XbWMoYSxlLGIpO2lmKGYuaGFzQ2xhc3MoXCJQWlBabGZcIikhPT1nfHxfLmNtKGYuZ2V0RGF0YShcImVudGl0eW5hbWVcIikpIT09Xy5hN2IoZSl8fF8uY20oZi5nZXREYXRhKFwicHNkXCIpKSE9PWwpYz0hMDtmLnRvZ2dsZUNsYXNzKFwiUFpQWmxmXCIsZyk7Zi5zZXREYXRhKFwiZW50aXR5bmFtZVwiLF8uYTdiKGUpKTtmLnNldERhdGEoXCJwc2RcIixsKX1hLlNiLnRvZ2dsZShoKTtjJiZhLlJhLmhhc0NsYXNzKFwiaTFlV3BiXCIpJiZfLm1mKGRvY3VtZW50LF8ueW1jKX0sVm1jPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPWIuaEJhLmxlbmd0aC0xO2M+PWIuWXBhO2MtLSl7dmFyIGQ9Yi5oQmFbY10sZT1kLmFMYSgpO2EuR2IuZ2V0KGUpfHxhLkdiLnNldChlLFtdKTthLkdiLmdldChlKS5wdXNoKGQpO2IuaEJhLnNwbGljZShjLDEpO18uQ2woZC5yb290RWxlbWVudCl9Yi5ZcGE9XG4wfTtfLm09Xy52ei5wcm90b3R5cGU7Xy5tLkF3PWZ1bmN0aW9uKGEpe2EhPT10aGlzLndiJiZ0aGlzLnRyaWdnZXIoXy5Mc2IsYSk7dGhpcy5VYSYmKCgwLF8uc24pKHRoaXMuVWEpLHRoaXMuVWE9bnVsbCk7dGhpcy53Yj1hO3RoaXMuZ2V0Um9vdCgpLnRvZ2dsZShhKX07Xy5tLmVmPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMud2J9O18ubS5DRWE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5PYSE9PS0xfTtfLm0uTm5jPWZ1bmN0aW9uKCl7dmFyIGE9dGhpczt0aGlzLk9iPSEwO3RoaXMuVWF8fCh0aGlzLlVhPSgwLF8ucW4pKGZ1bmN0aW9uKCl7YS5BdyghMSl9LDVFMykpfTtfLm0uSndjPWZ1bmN0aW9uKGEpe2E9YS5kYXRhO2lmKGEub2E9PT0wJiZ0aGlzLk9iKXJldHVybiEwO2E9YS5nZXRJbmRleCgpO3RoaXMub2EhPT1hJiZYbWModGhpcyxhKTtyZXR1cm4hMH07Xy5tLlhqZD1mdW5jdGlvbigpe1RtYyh0aGlzKX07Xy5tLldqZD1mdW5jdGlvbigpe3RoaXMuT2I9ITF9O1xuXy5tLlZqZD1mdW5jdGlvbigpe1RtYyh0aGlzKX07Xy5tLnJFZD1mdW5jdGlvbihhKXt0aGlzLlJhLnNldFN0eWxlKFwidG9wXCIsYS5kYXRhK1wicHhcIil9O1xuXy5tLmxEPWZ1bmN0aW9uKGEpe2lmKHRoaXMuQWEubGVuZ3RoJiYoXy5WJGI/dGhpcy5nZXRSb290KCkuRWIoKS5tYXRjaGVzKFwiLnNiZmMgKlwiKTp0aGlzLmdldFJvb3QoKS5wYXJlbnQoKS5oYXNDbGFzcyhcInNiZmNcIikpKXthPWEuZGF0YTt2YXIgYj1hLmV2ZW50O3N3aXRjaChiLmtleUNvZGUpe2Nhc2UgMzg6dGhpcy5CYSE9PW51bGwmJih0aGlzLm9hPT09LTE/WW1jKHRoaXMsdGhpcy5oYj09PTA/dGhpcy5RYTp0aGlzLkFhLmxlbmd0aC0xLDM4KTp0aGlzLkdhW3RoaXMub2FdLm9hLnVwKCkmJihfLlBtYyh0aGlzLkJhLHRoaXMuQWFbdGhpcy5vYV0pP1ltYyh0aGlzLHRoaXMuTGEtMT09PXRoaXMuUWE/LTE6dGhpcy5MYS0xLDM4KTpZbWModGhpcyx0aGlzLm9hLTEsMzgpKSk7YnJlYWs7Y2FzZSA0MDp0aGlzLkJhIT09bnVsbCYmKHRoaXMub2E9PT0tMT9ZbWModGhpcyx0aGlzLmhiPT09MD90aGlzLm9hKzE6dGhpcy5RYSsxLDQwKTp0aGlzLkdhW3RoaXMub2FdLm9hLnhOKCkmJlxuKF8uUG1jKHRoaXMuQmEsdGhpcy5BYVt0aGlzLm9hXSk/WW1jKHRoaXMsdGhpcy5MYSsxLDQwKTpZbWModGhpcyx0aGlzLmtiPT09dGhpcy5RYT8tMTp0aGlzLmtiKzEsNDApKSk7YnJlYWs7Y2FzZSAzNzp0aGlzLkNFYSgpJiYoWm1jKHRoaXMsITEpLGIucHJldmVudERlZmF1bHQoKSk7YnJlYWs7Y2FzZSAzOTp0aGlzLkNFYSgpJiYoWm1jKHRoaXMsITApLGIucHJldmVudERlZmF1bHQoKSk7YnJlYWs7Y2FzZSAyNzpUbWModGhpcyk7dGhpcy5PYT0tMTticmVhaztjYXNlIDEzOnRoaXMuQ0VhKCkmJihiPW5ldyBfLkxuKHRoaXMuQ2FbdGhpcy5PYV0pLHRoaXMuUmEuaGFzQ2xhc3MoXCJpMWVXcGJcIikmJmIuaGFzQ2xhc3MoXCJQWlBabGZcIik/Xy5NbihiLFwiLmdtbFNWYlwiKS5jbGljaygpOnRoaXMuR2FbdGhpcy5PYV0uQWEuQmQoYSkpfX19O1xudmFyIFptYz1mdW5jdGlvbihhLGIpe2lmKGEuQmEhPT1udWxsJiZhLm9hIT09LTEpe3ZhciBjPWEuR2FbYS5vYV0ub2E7aWYoYj9jLm5leHQoKTpjLnByZXZpb3VzKCkpe2M9YS5CYTt2YXIgZD0tMSxlPS0xLGY9Xy5ONmIoYS5BYVthLm9hXSk7aWYoZiE9PS0xJiZRbWMoXy5reShjKSxmKT09PTEpZm9yKHZhciBnPTA7ZzxjLnZwKCkubGVuZ3RoO2crKylfLk42YihjLnZwKClbZ10pPT09ZiYmKGU9ZyxkPT09LTEmJihkPWcpKTtjPVtkLGVdO2Q9Xy5QYShjKTtjPWQubmV4dCgpLnZhbHVlO2Q9ZC5uZXh0KCkudmFsdWU7aWYoYyE9PS0xJiZkIT09LTEpe2lmKGImJmEub2E8ZCl7WW1jKGEsYS5vYSsxKTtyZXR1cm59aWYoIWImJmEub2E+Yyl7WW1jKGEsYS5vYS0xKTtyZXR1cm59fV8uUG1jKGEuQmEsYS5BYVthLm9hXSk/WW1jKGEsYS5rYik6WW1jKGEsYS5MYT09PS0xP2EuUWErMTphLkxhKX19fSxZbWM9ZnVuY3Rpb24oYSxiLGMpe2Eud2ImJihiPC0xP2I9YS5DYS5sZW5ndGgtMTpiPj1cbmEuQ2EubGVuZ3RoJiYoYj0tMSksYiE9PS0xJiZfLlFhYyhhLkFhW2JdKSYmKGIrPWItYS5vYT4wPzE6LTEpLGEuT2E9YixYbWMoYSxiKSxhLm9hPT09LTEmJihiPWEuZ2V0Um9vdCgpLnBhcmVudCgpLmVsKCkpJiZfLnplKGIsXy53dSxuZXcgXy5BeSgtMSkpLGEub2EhPT0tMSYmYS5HYVthLm9hXS5vYS5lbnRlcihjKSl9LFhtYz1mdW5jdGlvbihhLGIpeyRtYyhhLGIpO2Eub2EhPT0tMSYmYS5HYVthLm9hXS5vYS5leGl0KCk7YW5jKGEsYS5vYSwhMSk7YS5vYT1iO2IhPT0tMSYmYS5CYSYmKF8uUG1jKGEuQmEsYS5BYVtiXSk/KGEuaGI9MSxhLkxhPWIpOihhLmhiPTAsYS5rYj1iKSxhbmMoYSxiLCEwKSl9LGFuYz1mdW5jdGlvbihhLGIsYyl7YjwwfHxiPj1hLkNhLmxlbmd0aHx8KG5ldyBfLkxuKGEuQ2FbYl0pKS50b2dnbGVDbGFzcyhcInNiaGxcIixjKX07Xy52ei5wcm90b3R5cGUuQzdhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQmF8fG5ldyBfLmp5fTtcbnZhciBUbWM9ZnVuY3Rpb24oYSl7aWYoYS5vYSE9PS0xKXt2YXIgYjsoYj1hLkdhW2Eub2FdLm9hKT09bnVsbHx8Yi5leGl0KCk7aWYoYj1hLkJiLmdldChhLm9hKSkoMCxfLnNuKShiKSxhLkJiLmRlbGV0ZShhLm9hKTsoMCxfLnFuKShmdW5jdGlvbigpe3ZhciBjPWEuQzdhKCk7Yy52cCgpLmxlbmd0aCYmYS5vYT09PS0xJiYhYm5jKGEuQWEsYy52cCgpKSYmKGEuQWE9Yy52cCgpLFVtYyhhLGEuUmIsYyxhLkFhKSl9LDMwMCl9YW5jKGEsYS5vYSwhMSk7YS5vYT0tMTsoYj1hLmdldFJvb3QoKS5wYXJlbnQoKS5lbCgpKSYmXy5VbihiLF8ud3UsbmV3IF8uQXkoLTEsdm9pZCAwLDIpKX0sV21jPWZ1bmN0aW9uKGEsYixjKXthPXtzY3V0aV91aV92ZXJzaW9uOlwiMlwiLHF1ZXJ5OmMscHE6YS5IZS5rRygpLGNob2ljZXNfc2M6Yi5BYSgpLFwic3VnZ2VzdGlvbi10eXBlX3NjXCI6Yi5nZXRUeXBlKCkudG9TdHJpbmcoKSxcInN1Z2dlc3Rpb24tc3VidHlwZXNfc2NcIjpiLm9hKCkuam9pbihcIiBcIil9O1xucmV0dXJuIE9iamVjdC5lbnRyaWVzKGEpLm1hcChmdW5jdGlvbihkKXt2YXIgZT1fLlBhKGQpO2Q9ZS5uZXh0KCkudmFsdWU7ZT1lLm5leHQoKS52YWx1ZTtyZXR1cm4gZCtcIn46JlwiK2V9KS5qb2luKFwifjsmXCIpfTtfLnZ6LnByb3RvdHlwZS5JZD1mdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9dGhpcy5CYS52cCgpLmZpbHRlcihmdW5jdGlvbihmLGcpe3JldHVybiFhLmRhdGEuQlJkKGYsZyl9KSxkPW5ldyBfLlI2YihcIlwiLDApLGU9bmV3IF8uankoYyx0aGlzLkJhLmdldFBhcmFtZXRlcnMoKSk7KDAsXy5xbikoZnVuY3Rpb24oKXtyZXR1cm4gYi5yZW5kZXIoZCxlKX0sMCl9O1xudmFyICRtYz1mdW5jdGlvbihhLGIpe2lmKGIhPT1hLm9hJiZiIT09LTEpe3ZhciBjPWEuQWFbYl07Yy5vYSgpLmluY2x1ZGVzKDY2Myl8fGEuQmIuc2V0KGIsKDAsXy5xbikoZnVuY3Rpb24oKXthLkJiLmRlbGV0ZShiKTt2YXIgZD1hLkFhLmZpbmRJbmRleChmdW5jdGlvbihmKXtyZXR1cm4gZi5vYSgpLmluY2x1ZGVzKDY2Myl9KTtpZihkIT09Yil7dmFyIGU9YS5Cby5oZWEoYyk7ZSYmKGQ+LTE/YS5BYVtkXT1lOmEuQWEucHVzaChlKSk7KGV8fGQhPT0tMSkmJlVtYyhhLGEuUmIsYS5DN2EoKSxlP2EuQWE6YS5BYS5zbGljZSgwLGEuQWEubGVuZ3RoLTEpLCEwKX19LDMwMCkpfX0sYm5jPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEubGVuZ3RoPT09Yi5sZW5ndGgmJmEuZXZlcnkoZnVuY3Rpb24oYyxkKXtyZXR1cm4gYz09PWJbZF19KX07Xy52ei5wcm90b3R5cGUuaGVhPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9O18uTChfLnZ6LnByb3RvdHlwZSxcIkNtVk9nY1wiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSWR9KTtcbl8uTChfLnZ6LnByb3RvdHlwZSxcIlpoRUdUZFwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQzdhfSk7Xy5MKF8udnoucHJvdG90eXBlLFwiVktzc1RiXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sRH0pO18uTChfLnZ6LnByb3RvdHlwZSxcImswMlFZXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yRWR9KTtfLkwoXy52ei5wcm90b3R5cGUsXCJNV2Zpa2JcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLlZqZH0pO18uTChfLnZ6LnByb3RvdHlwZSxcImVCY2djY1wiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuV2pkfSk7Xy5MKF8udnoucHJvdG90eXBlLFwiSXR6RENkXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5YamR9KTtfLkwoXy52ei5wcm90b3R5cGUsXCJuVVo5bGVcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLkp3Y30pO18uTChfLnZ6LnByb3RvdHlwZSxcIlVmVVFFZVwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTm5jfSk7Xy5MKF8udnoucHJvdG90eXBlLFwiRHkwbElmXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5DRWF9KTtcbl8uTChfLnZ6LnByb3RvdHlwZSxcIkZWS3pBYlwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWZ9KTtfLnByKF8udm1jLF8udnopO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJEdm43ZmVcIik7XG5cbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLmNuYz1fLkdkKFwiT3JPZUtkXCIpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLmRuYz1mdW5jdGlvbihhKXtfLkRuLmNhbGwodGhpcyxhLk5hKTt0aGlzLm9hPW5ldyBNYXB9O18uRChfLmRuYyxfLkRuKTtfLmRuYy5XYT1fLkRuLldhO18uZG5jLklhPV8uRG4uSWE7Xy5GbihfLmNuYyxfLmRuYyk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcIk9yT2VLZFwiKTtcblxuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uUTliPV8uR2QoXCJkMTJXNWNcIixbXy5icSxfLiQ3Yl0pO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgVnhiO18ud3Y9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5ETihiKS50aGVuKCl9O1xuVnhiPXtSTWI6ezFFMzp7b3RoZXI6XCIwS1wifSwxRTQ6e290aGVyOlwiMDBLXCJ9LDFFNTp7b3RoZXI6XCIwMDBLXCJ9LDFFNjp7b3RoZXI6XCIwTVwifSwxRTc6e290aGVyOlwiMDBNXCJ9LDFFODp7b3RoZXI6XCIwMDBNXCJ9LDFFOTp7b3RoZXI6XCIwQlwifSwxRTEwOntvdGhlcjpcIjAwQlwifSwxRTExOntvdGhlcjpcIjAwMEJcIn0sMUUxMjp7b3RoZXI6XCIwVFwifSwxRTEzOntvdGhlcjpcIjAwVFwifSwxRTE0OntvdGhlcjpcIjAwMFRcIn19LHl0Yzp7MUUzOntvdGhlcjpcIjAgdGhvdXNhbmRcIn0sMUU0OntvdGhlcjpcIjAwIHRob3VzYW5kXCJ9LDFFNTp7b3RoZXI6XCIwMDAgdGhvdXNhbmRcIn0sMUU2OntvdGhlcjpcIjAgbWlsbGlvblwifSwxRTc6e290aGVyOlwiMDAgbWlsbGlvblwifSwxRTg6e290aGVyOlwiMDAwIG1pbGxpb25cIn0sMUU5OntvdGhlcjpcIjAgYmlsbGlvblwifSwxRTEwOntvdGhlcjpcIjAwIGJpbGxpb25cIn0sMUUxMTp7b3RoZXI6XCIwMDAgYmlsbGlvblwifSwxRTEyOntvdGhlcjpcIjAgdHJpbGxpb25cIn0sMUUxMzp7b3RoZXI6XCIwMCB0cmlsbGlvblwifSxcbjFFMTQ6e290aGVyOlwiMDAwIHRyaWxsaW9uXCJ9fX07Xy5XeGI9VnhiO18uV3hiPVZ4YjtfLlh4Yj17QUVEOlsyLFwiZGhcIixcIlxcdTA2MmYuXFx1MDYyNS5cIl0sQUxMOlswLFwiTGVrXCIsXCJMZWtcIl0sQVVEOlsyLFwiJFwiLFwiQVUkXCJdLEJEVDpbMixcIlxcdTA5ZjNcIixcIlRrXCJdLEJHTjpbMixcImxldlwiLFwibGV2XCJdLEJSTDpbMixcIlIkXCIsXCJSJFwiXSxDQUQ6WzIsXCIkXCIsXCJDJFwiXSxDREY6WzIsXCJGckNEXCIsXCJDREZcIl0sQ0hGOlsyLFwiQ0hGXCIsXCJDSEZcIl0sQ0xQOlswLFwiJFwiLFwiQ0wkXCJdLENOWTpbMixcIlxcdTAwYTVcIixcIlJNQlxcdTAwYTVcIl0sQ09QOlszMixcIiRcIixcIkNPTCRcIl0sQ1JDOlswLFwiXFx1MjBhMVwiLFwiQ1JcXHUyMGExXCJdLENaSzpbNTAsXCJLXFx1MDEwZFwiLFwiS1xcdTAxMGRcIl0sREtLOls1MCxcImtyLlwiLFwia3IuXCJdLERPUDpbMixcIlJEJFwiLFwiUkQkXCJdLEVHUDpbMixcIlxcdTAwYTNcIixcIkxFXCJdLEVUQjpbMixcIkJpcnJcIixcIkJpcnJcIl0sRVVSOlsyLFwiXFx1MjBhY1wiLFwiXFx1MjBhY1wiXSxHQlA6WzIsXCJcXHUwMGEzXCIsXCJHQlxcdTAwYTNcIl0sSEtEOlsyLFwiJFwiLFwiSEskXCJdLEhSSzpbMixcImtuXCIsXCJrblwiXSxIVUY6WzM0LFwiRnRcIixcblwiRnRcIl0sSURSOlswLFwiUnBcIixcIlJwXCJdLElMUzpbMzQsXCJcXHUyMGFhXCIsXCJJTFxcdTIwYWFcIl0sSU5SOlsyLFwiXFx1MjBiOVwiLFwiUnNcIl0sSVJSOlswLFwiUmlhbFwiLFwiSVJSXCJdLElTSzpbMCxcImtyXCIsXCJrclwiXSxKTUQ6WzIsXCIkXCIsXCJKQSRcIl0sSlBZOlswLFwiXFx1MDBhNVwiLFwiSlBcXHUwMGE1XCJdLEtSVzpbMCxcIlxcdTIwYTlcIixcIktSXFx1MjBhOVwiXSxMS1I6WzIsXCJSc1wiLFwiU0xSc1wiXSxMVEw6WzIsXCJMdFwiLFwiTHRcIl0sTU5UOlswLFwiXFx1MjBhZVwiLFwiTU5cXHUyMGFlXCJdLE1WUjpbMixcIlJmXCIsXCJNVlJcIl0sTVhOOlsyLFwiJFwiLFwiTWV4JFwiXSxNWVI6WzIsXCJSTVwiLFwiUk1cIl0sTk9LOls1MCxcImtyXCIsXCJOT2tyXCJdLFBBQjpbMixcIkIvLlwiLFwiQi8uXCJdLFBFTjpbMixcIlMvLlwiLFwiUy8uXCJdLFBIUDpbMixcIlxcdTIwYjFcIixcIlBIUFwiXSxQS1I6WzAsXCJSc1wiLFwiUEtScy5cIl0sUExOOls1MCxcInpcXHUwMTQyXCIsXCJ6XFx1MDE0MlwiXSxST046WzIsXCJST05cIixcIlJPTlwiXSxSU0Q6WzAsXCJkaW5cIixcIlJTRFwiXSxSVUI6WzUwLFwiXFx1MjBiZFwiLFxuXCJSVUJcIl0sU0FSOlsyLFwiU0FSXCIsXCJTQVJcIl0sU0VLOls1MCxcImtyXCIsXCJrclwiXSxTR0Q6WzIsXCIkXCIsXCJTJFwiXSxUSEI6WzIsXCJcXHUwZTNmXCIsXCJUSEJcIl0sVFJZOlsyLFwiXFx1MjBiYVwiLFwiVFJZXCJdLFRXRDpbMixcIiRcIixcIk5UJFwiXSxUWlM6WzAsXCJUU2hcIixcIlRTaFwiXSxVQUg6WzIsXCJcXHUwNDMzXFx1MDQ0MFxcdTA0M2QuXCIsXCJVQUhcIl0sVVNEOlsyLFwiJFwiLFwiVVMkXCJdLFVZVTpbMixcIiRcIixcIiRVXCJdLFZORDpbNDgsXCJcXHUyMGFiXCIsXCJWTlxcdTIwYWJcIl0sWUVSOlswLFwiUmlhbFwiLFwiUmlhbFwiXSxaQVI6WzIsXCJSXCIsXCJaQVJcIl19O3ZhciBZeGI7WXhiPXtERUNJTUFMX1NFUDpcIi5cIixHUk9VUF9TRVA6XCIsXCIsalViOlwiJVwiLEpsYjpcIjBcIixMVWM6XCIrXCIsVFRiOlwiLVwiLGROYjpcIkVcIixrVWI6XCJcXHUyMDMwXCIsSGhiOlwiXFx1MjIxZVwiLGlVYzpcIk5hTlwiLERFQ0lNQUxfUEFUVEVSTjpcIiMsIyMwLiMjI1wiLHNWYzpcIiNFMFwiLEpVYzpcIiMsIyMwJVwiLFRNYjpcIlxcdTAwYTQjLCMjMC4wMFwiLEhLYTpcIlVTRFwifTtfLnh2PVl4YjtfLnh2PVl4Yjt2YXIgWnhiLCR4Yjtcbl8ueXY9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO2lmKGQ9Yil7YTppZihiJiZiLmxlbmd0aD09PTMpe2ZvcihkPTA7ZDwzO2QrKyl7dmFyIGU9YltkXTtpZihlPFwiQVwifHxlPlwiWlwiJiZlPFwiYVwifHxlPlwielwiKXtkPSExO2JyZWFrIGF9fWQ9ITB9ZWxzZSBkPSExO2Q9IWR9aWYoZCl0aHJvdyBuZXcgVHlwZUVycm9yKFwiSGVcIik7dGhpcy5PYj10aGlzLlBsPSExO3RoaXMua2I9Yj9iLnRvVXBwZXJDYXNlKCk6bnVsbDt0aGlzLnFjPWN8fDA7dGhpcy53Yj00MDt0aGlzLkNhPTE7dGhpcy5VYT0wO3RoaXMub2E9Mzt0aGlzLkdiPXRoaXMuQmE9MDt0aGlzLldnPSExO3RoaXMuQmI9dGhpcy5RYT1cIlwiO3RoaXMuR2E9Xy54di5UVGI7dGhpcy5SYT1cIlwiO3RoaXMuQWE9MTt0aGlzLk9hPSExO3RoaXMuTGE9W107dGhpcy5SYj10aGlzLlNiPSExO3RoaXMuaGI9MDt0aGlzLlliPXR5cGVvZiBhPT09XCJzdHJpbmdcIj9hOlwiXCI7aWYodHlwZW9mIGE9PT1cIm51bWJlclwiKXN3aXRjaChhKXtjYXNlIDE6WnhiKHRoaXMsXy54di5ERUNJTUFMX1BBVFRFUk4pO1xuYnJlYWs7Y2FzZSAyOlp4Yih0aGlzLF8ueHYuc1ZjKTticmVhaztjYXNlIDM6WnhiKHRoaXMsXy54di5KVWMpO2JyZWFrO2Nhc2UgNDphPV8ueHYuVE1iO2I9W1wiMFwiXTtpZihjPV8uWHhiW3RoaXMua2J8fF8ueHYuSEthXSl7Yz1jWzBdJjc7aWYoYz4wKWZvcihiLnB1c2goXCIuXCIpLGQ9MDtkPGM7ZCsrKWIucHVzaChcIjBcIik7YT1hLnJlcGxhY2UoLzAuMDAvZyxiLmpvaW4oXCJcIikpfVp4Yih0aGlzLGEpO2JyZWFrO2Nhc2UgNTokeGIodGhpcywxKTticmVhaztjYXNlIDY6JHhiKHRoaXMsMik7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcihcIktlXCIpO31lbHNlIFp4Yih0aGlzLGEpfTtfLmF5Yj1mdW5jdGlvbihhLGIpe2lmKGEuVWE+MCYmYj4wKXRocm93IEVycm9yKFwiSWVcIik7YS5PYj1hLk9ifHxiIT1hLkJhO2EuQmE9YjtyZXR1cm4gYX07Xy5ieWI9ZnVuY3Rpb24oYSxiKXtpZihiPjMwOCl0aHJvdyBFcnJvcihcIkplYFwiK2IpO2EuT2I9YS5PYnx8YiE9YS5vYTthLm9hPWI7cmV0dXJuIGF9O1xuXy5jeWI9ZnVuY3Rpb24oYSxiKXtpZihhLkJhPjAmJmI+PTApdGhyb3cgRXJyb3IoXCJJZVwiKTthLlBsPWIhPT1hLlVhO2EuVWE9Yn07XG5aeGI9ZnVuY3Rpb24oYSxiKXthLlliPWIucmVwbGFjZSgvIC9nLFwiXFx1MDBhMFwiKTt2YXIgYz1bMF07YS5RYT1keWIoYSxiLGMpO2Zvcih2YXIgZD1jWzBdLGU9LTEsZj0wLGc9MCxoPTAsaz0tMSxsPWIubGVuZ3RoLG49ITA7Y1swXTxsJiZuO2NbMF0rKylzd2l0Y2goYi5jaGFyQXQoY1swXSkpe2Nhc2UgXCIjXCI6Zz4wP2grKzpmKys7az49MCYmZTwwJiZrKys7YnJlYWs7Y2FzZSBcIjBcIjppZihoPjApdGhyb3cgRXJyb3IoXCJTZWBcIitiKTtnKys7az49MCYmZTwwJiZrKys7YnJlYWs7Y2FzZSBcIixcIjprPjAmJmEuTGEucHVzaChrKTtrPTA7YnJlYWs7Y2FzZSBcIi5cIjppZihlPj0wKXRocm93IEVycm9yKFwiVGVgXCIrYik7ZT1mK2craDticmVhaztjYXNlIFwiRVwiOmlmKGEuUmIpdGhyb3cgRXJyb3IoXCJVZWBcIitiKTthLlJiPSEwO2EuR2I9MDtjWzBdKzE8bCYmYi5jaGFyQXQoY1swXSsxKT09XCIrXCImJihjWzBdKyssYS5XZz0hMCk7Zm9yKDtjWzBdKzE8bCYmYi5jaGFyQXQoY1swXSsxKT09XCIwXCI7KWNbMF0rKyxcbmEuR2IrKztpZihmK2c8MXx8YS5HYjwxKXRocm93IEVycm9yKFwiVmVgXCIrYik7bj0hMTticmVhaztkZWZhdWx0OmNbMF0tLSxuPSExfWc9PTAmJmY+MCYmZT49MCYmKGc9ZSxnPT0wJiZnKyssaD1mLWcsZj1nLTEsZz0xKTtpZihlPDAmJmg+MHx8ZT49MCYmKGU8Znx8ZT5mK2cpfHxrPT0wKXRocm93IEVycm9yKFwiV2VgXCIrYik7aD1mK2craDthLm9hPWU+PTA/aC1lOjA7ZT49MCYmKGEuQmE9ZitnLWUsYS5CYTwwJiYoYS5CYT0wKSk7YS5DYT0oZT49MD9lOmgpLWY7YS5SYiYmKGEud2I9ZithLkNhLGEub2E9PTAmJmEuQ2E9PTAmJihhLkNhPTEpKTthLkxhLnB1c2goTWF0aC5tYXgoMCxrKSk7YS5TYj1lPT0wfHxlPT1oO2Q9Y1swXS1kO2EuQmI9ZHliKGEsYixjKTtjWzBdPGIubGVuZ3RoJiZiLmNoYXJBdChjWzBdKT09XCI7XCI/KGNbMF0rKyxhLkFhIT0xJiYoYS5PYT0hMCksYS5HYT1keWIoYSxiLGMpLGNbMF0rPWQsYS5SYT1keWIoYSxiLGMpKTooYS5HYSs9YS5RYSxhLlJhKz1hLkJiKX07XG4keGI9ZnVuY3Rpb24oYSxiKXthLmhiPWI7WnhiKGEsXy54di5ERUNJTUFMX1BBVFRFUk4pO18uYXliKGEsMCk7Xy5ieWIoYSwyKTtfLmN5YihhLDIpfTtcbl8ueXYucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKGEsYil7Yj1ifHxbMF07aWYodGhpcy5oYiE9PTApdGhyb3cgRXJyb3IoXCJMZVwiKTthPWEucmVwbGFjZSgvIHxcXHUyMDJmL2csXCJcXHUwMGEwXCIpO3ZhciBjPWEuaW5kZXhPZih0aGlzLlFhLGJbMF0pPT1iWzBdLGQ9YS5pbmRleE9mKHRoaXMuR2EsYlswXSk9PWJbMF07YyYmZCYmKHRoaXMuUWEubGVuZ3RoPnRoaXMuR2EubGVuZ3RoP2Q9ITE6dGhpcy5RYS5sZW5ndGg8dGhpcy5HYS5sZW5ndGgmJihjPSExKSk7Yz9iWzBdKz10aGlzLlFhLmxlbmd0aDpkJiYoYlswXSs9dGhpcy5HYS5sZW5ndGgpO2lmKGEuaW5kZXhPZihfLnh2LkhoYixiWzBdKT09YlswXSl7YlswXSs9Xy54di5IaGIubGVuZ3RoO3ZhciBlPUluZmluaXR5fWVsc2V7ZT1hO3ZhciBmPSExLGc9ITEsaD0hMSxrPS0xLGw9MSxuPV8ueHYuREVDSU1BTF9TRVAscj1fLnh2LkdST1VQX1NFUCx0PV8ueHYuZE5iO2lmKHRoaXMuaGIhPTApdGhyb3cgRXJyb3IoXCJNZVwiKTtyPXIucmVwbGFjZSgvXFx1MjAyZi9nLFxuXCJcXHUwMGEwXCIpO2Zvcih2YXIgdT1cIlwiO2JbMF08ZS5sZW5ndGg7YlswXSsrKXt2YXIgej1lLmNoYXJBdChiWzBdKSxCPWV5Yih6KTtpZihCPj0wJiZCPD05KXUrPUIsaD0hMDtlbHNlIGlmKHo9PW4uY2hhckF0KDApKXtpZihmfHxnKWJyZWFrO3UrPVwiLlwiO2Y9ITB9ZWxzZSBpZih6PT1yLmNoYXJBdCgwKSYmKFwiXFx1MDBhMFwiIT1yLmNoYXJBdCgwKXx8YlswXSsxPGUubGVuZ3RoJiZleWIoZS5jaGFyQXQoYlswXSsxKSk+PTApKXtpZihmfHxnKWJyZWFrfWVsc2UgaWYoej09dC5jaGFyQXQoMCkpe2lmKGcpYnJlYWs7dSs9XCJFXCI7Zz0hMDtrPWJbMF19ZWxzZSBpZih6PT1cIitcInx8ej09XCItXCIpe2lmKGgmJmshPWJbMF0tMSlicmVhazt1Kz16fWVsc2UgaWYodGhpcy5BYT09MSYmej09Xy54di5qVWIuY2hhckF0KDApKXtpZihsIT0xKWJyZWFrO2w9MTAwO2lmKGgpe2JbMF0rKzticmVha319ZWxzZSBpZih0aGlzLkFhPT0xJiZ6PT1fLnh2LmtVYi5jaGFyQXQoMCkpe2lmKGwhPTEpYnJlYWs7bD1cbjFFMztpZihoKXtiWzBdKys7YnJlYWt9fWVsc2UgYnJlYWt9dGhpcy5BYSE9MSYmKGw9dGhpcy5BYSk7ZT1wYXJzZUZsb2F0KHUpL2x9aWYoYyl7aWYoYS5pbmRleE9mKHRoaXMuQmIsYlswXSkhPWJbMF0pcmV0dXJuIE5hTjtiWzBdKz10aGlzLkJiLmxlbmd0aH1lbHNlIGlmKGQpe2lmKGEuaW5kZXhPZih0aGlzLlJhLGJbMF0pIT1iWzBdKXJldHVybiBOYU47YlswXSs9dGhpcy5SYS5sZW5ndGh9cmV0dXJuIGQ/LWU6ZX07XG5fLnl2LnByb3RvdHlwZS5mb3JtYXQ9ZnVuY3Rpb24oYSl7aWYodGhpcy5CYT50aGlzLm9hKXRocm93IEVycm9yKFwiUGVcIik7aWYoaXNOYU4oYSkpcmV0dXJuIF8ueHYuaVVjO3ZhciBiPVtdO3ZhciBjPWE7aWYodGhpcy5oYj09MCljPWZ5YjtlbHNle2M9TWF0aC5hYnMoYyk7dmFyIGQ9Z3liKHRoaXMsYzw9MT8wOmh5YihjKSkueHFiO2M9Z3liKHRoaXMsZCtoeWIoaXliKHRoaXMsenYoYywtZCkpLlU5YikpfWE9enYoYSwtYy54cWIpOyhkPWE8MHx8YT09MCYmMS9hPDApP2MuWEJiP2IucHVzaChjLlhCYik6KGIucHVzaChjLnByZWZpeCksYi5wdXNoKHRoaXMuR2EpKTooYi5wdXNoKGMucHJlZml4KSxiLnB1c2godGhpcy5RYSkpO2lmKGlzRmluaXRlKGEpKWlmKGEqPWQ/LTE6MSxhKj10aGlzLkFhLHRoaXMuUmIpe3ZhciBlPWE7aWYoZT09MClqeWIodGhpcyxlLHRoaXMuQ2EsYiksa3liKHRoaXMsMCxiKTtlbHNle3ZhciBmPU1hdGguZmxvb3IoTWF0aC5sb2coZSkvTWF0aC5sb2coMTApK1xuMkUtMTUpO2U9enYoZSwtZik7dmFyIGc9dGhpcy5DYTt0aGlzLndiPjEmJnRoaXMud2I+dGhpcy5DYT8oZz1mJXRoaXMud2IsZzwwJiYoZz10aGlzLndiK2cpLGU9enYoZSxnKSxmLT1nLGc9MSk6dGhpcy5DYTwxPyhmKyssZT16dihlLC0xKSk6KGYtPXRoaXMuQ2EtMSxlPXp2KGUsdGhpcy5DYS0xKSk7anliKHRoaXMsZSxnLGIpO2t5Yih0aGlzLGYsYil9fWVsc2UganliKHRoaXMsYSx0aGlzLkNhLGIpO2Vsc2UgYi5wdXNoKF8ueHYuSGhiKTtkP2MuWUJiP2IucHVzaChjLllCYik6KGlzRmluaXRlKGEpJiZiLnB1c2goYy5zdWZmaXgpLGIucHVzaCh0aGlzLlJhKSk6KGlzRmluaXRlKGEpJiZiLnB1c2goYy5zdWZmaXgpLGIucHVzaCh0aGlzLkJiKSk7cmV0dXJuIGIuam9pbihcIlwiKX07XG52YXIgaXliPWZ1bmN0aW9uKGEsYil7dmFyIGM9enYoYixhLm9hKTthLlVhPjAmJihjPWx5YihjLGEuVWEsYS5vYSkpO2M9TWF0aC5yb3VuZChjKTtpc0Zpbml0ZShjKT8oYj1NYXRoLmZsb29yKHp2KGMsLWEub2EpKSxhPU1hdGguZmxvb3IoYy16dihiLGEub2EpKSk6YT0wO3JldHVybntVOWI6Yix2JGM6YX19LGp5Yj1mdW5jdGlvbihhLGIsYyxkKXtpZihhLkJhPmEub2EpdGhyb3cgRXJyb3IoXCJQZVwiKTtkfHwoZD1bXSk7Yj1peWIoYSxiKTt2YXIgZT1iLlU5YixmPWIudiRjLGc9YS5CYT4wfHxmPjB8fCExO2I9YS5CYTtnJiYoYj1hLkJhKTtmb3IodmFyIGg9XCJcIixrPWU7az4xRTIwOyloPVwiMFwiK2gsaz1NYXRoLnJvdW5kKHp2KGssLTEpKTtoPWsraDt2YXIgbD1fLnh2LkRFQ0lNQUxfU0VQO2s9Xy54di5KbGIuY29kZVBvaW50QXQoMCk7dmFyIG49aC5sZW5ndGgscj0wO2lmKGU+MHx8Yz4wKXtmb3IoZT1uO2U8YztlKyspZC5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KGspKTtpZihhLkxhLmxlbmd0aD49XG4yKWZvcihjPTE7YzxhLkxhLmxlbmd0aDtjKyspcis9YS5MYVtjXTtjPW4tcjtpZihjPjApe2U9YS5MYTtyPW49MDtmb3IodmFyIHQsdT1fLnh2LkdST1VQX1NFUCx6PWgubGVuZ3RoLEI9MDtCPHo7QisrKWlmKGQucHVzaChTdHJpbmcuZnJvbUNvZGVQb2ludChrK051bWJlcihoLmNoYXJBdChCKSkpKSx6LUI+MSlpZih0PWVbcl0sQjxjKXt2YXIgRj1jLUI7KHQ9PT0xfHx0PjAmJkYldD09PTEpJiZkLnB1c2godSl9ZWxzZSByPGUubGVuZ3RoJiYoQj09PWM/cis9MTp0PT09Qi1jLW4rMSYmKGQucHVzaCh1KSxuKz10LHIrPTEpKX1lbHNle2M9aDtoPWEuTGE7ZT1fLnh2LkdST1VQX1NFUDt0PWMubGVuZ3RoO3U9W107Zm9yKG49aC5sZW5ndGgtMTtuPj0wJiZ0PjA7bi0tKXtyPWhbbl07Zm9yKHo9MDt6PHImJnQtei0xPj0wO3orKyl1LnB1c2goU3RyaW5nLmZyb21Db2RlUG9pbnQoaytOdW1iZXIoYy5jaGFyQXQodC16LTEpKSkpO3QtPXI7dD4wJiZ1LnB1c2goZSl9ZC5wdXNoLmFwcGx5KGQsXG51LnJldmVyc2UoKSl9fWVsc2UgZ3x8ZC5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KGspKTsoYS5TYnx8ZykmJmQucHVzaChsKTtmPVN0cmluZyhmKTtnPWYuc3BsaXQoXCJlK1wiKTtnLmxlbmd0aD09MiYmKGY9U3RyaW5nKGx5YihwYXJzZUZsb2F0KGdbMF0pLGEuVWEsMSkpLGY9Zi5yZXBsYWNlKFwiLlwiLFwiXCIpLGYrPSgwLF8uQ3lhKShcIjBcIixwYXJzZUludChnWzFdLDEwKS1mLmxlbmd0aCsxKSk7YS5vYSsxPmYubGVuZ3RoJiYoZj1cIjFcIisoMCxfLkN5YSkoXCIwXCIsYS5vYS1mLmxlbmd0aCkrZik7Zm9yKGE9Zi5sZW5ndGg7Zi5jaGFyQXQoYS0xKT09XCIwXCImJmE+YisxOylhLS07Zm9yKGI9MTtiPGE7YisrKWQucHVzaChTdHJpbmcuZnJvbUNvZGVQb2ludChrK051bWJlcihmLmNoYXJBdChiKSkpKX0sa3liPWZ1bmN0aW9uKGEsYixjKXtjLnB1c2goXy54di5kTmIpO2I8MD8oYj0tYixjLnB1c2goXy54di5UVGIpKTphLldnJiZjLnB1c2goXy54di5MVWMpO2I9XCJcIitiO2Zvcih2YXIgZD1fLnh2LkpsYixcbmU9Yi5sZW5ndGg7ZTxhLkdiO2UrKyljLnB1c2goZCk7YT1kLmNvZGVQb2ludEF0KDApLW15Yjtmb3IoZD0wO2Q8Yi5sZW5ndGg7ZCsrKWMucHVzaChTdHJpbmcuZnJvbUNvZGVQb2ludChhK2IuY29kZVBvaW50QXQoZCkpKX0sZXliPWZ1bmN0aW9uKGEpe2E9YS5jb2RlUG9pbnRBdCgwKTtpZig0ODw9YSYmYTw1OClyZXR1cm4gYS00ODt2YXIgYj1fLnh2LkpsYi5jb2RlUG9pbnRBdCgwKTtyZXR1cm4gYjw9YSYmYTxiKzEwP2EtYjotMX0sbXliPVwiMFwiLmNvZGVQb2ludEF0KDApLGR5Yj1mdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPVwiXCIsZT0hMSxmPWIubGVuZ3RoO2NbMF08ZjtjWzBdKyspe3ZhciBnPWIuY2hhckF0KGNbMF0pO2lmKGc9PVwiJ1wiKWNbMF0rMTxmJiZiLmNoYXJBdChjWzBdKzEpPT1cIidcIj8oY1swXSsrLGQrPVwiJ1wiKTplPSFlO2Vsc2UgaWYoZSlkKz1nO2Vsc2Ugc3dpdGNoKGcpe2Nhc2UgXCIjXCI6Y2FzZSBcIjBcIjpjYXNlIFwiLFwiOmNhc2UgXCIuXCI6Y2FzZSBcIjtcIjpyZXR1cm4gZDtcbmNhc2UgXCJcXHUwMGE0XCI6aWYoY1swXSsxPGYmJmIuY2hhckF0KGNbMF0rMSk9PVwiXFx1MDBhNFwiKWNbMF0rKyxkKz1hLmtifHxfLnh2LkhLYTtlbHNlIHN3aXRjaChhLnFjKXtjYXNlIDA6Zz1hLmtifHxfLnh2LkhLYTtnPWcgaW4gXy5YeGI/Xy5YeGJbZ11bMV06ZztkKz1nO2JyZWFrO2Nhc2UgMjpnPWEua2J8fF8ueHYuSEthO3ZhciBoPV8uWHhiW2ddO2QrPWg/Zz09aFsxXT9nOmcrXCIgXCIraFsxXTpnO2JyZWFrO2Nhc2UgMTpnPWEua2J8fF8ueHYuSEthLGQrPWcgaW4gXy5YeGI/Xy5YeGJbZ11bMl06Z31icmVhaztjYXNlIFwiJVwiOmlmKCFhLk9hJiZhLkFhIT0xKXRocm93IEVycm9yKFwiUWVcIik7aWYoYS5PYSYmYS5BYSE9MTAwKXRocm93IEVycm9yKFwiUmVcIik7YS5BYT0xMDA7YS5PYT0hMTtkKz1fLnh2LmpVYjticmVhaztjYXNlIFwiXFx1MjAzMFwiOmlmKCFhLk9hJiZhLkFhIT0xKXRocm93IEVycm9yKFwiUWVcIik7aWYoYS5PYSYmYS5BYSE9MUUzKXRocm93IEVycm9yKFwiUmVcIik7YS5BYT0xRTM7XG5hLk9hPSExO2QrPV8ueHYua1ViO2JyZWFrO2RlZmF1bHQ6ZCs9Z319cmV0dXJuIGR9LGZ5Yj17eHFiOjAsWEJiOlwiXCIsWUJiOlwiXCIscHJlZml4OlwiXCIsc3VmZml4OlwiXCJ9LGd5Yj1mdW5jdGlvbihhLGIpe2E9YS5oYj09MT9fLld4Yi5STWI6Xy5XeGIueXRjO2E9PW51bGwmJihhPV8uV3hiLlJNYik7aWYoYjwzKXJldHVybiBmeWI7Yj1NYXRoLm1pbigxNCxiKTt2YXIgYz1hW3p2KDEsYildO2ZvcigtLWI7IWMmJmI+PTM7KWM9YVt6digxLGIpXSxiLS07aWYoIWMpcmV0dXJuIGZ5YjtjPWMub3RoZXI7dmFyIGQ9YT1cIlwiLGU9Yy5pbmRleE9mKFwiO1wiKTtlPj0wJiYoYz1jLnN1YnN0cmluZygwLGUpLGU9Yy5zdWJzdHJpbmcoZSsxKSkmJihkPS8oW14wXSopKDArKSguKikvLmV4ZWMoZSksYT1kWzFdLGQ9ZFszXSk7cmV0dXJuIGMmJmMhPVwiMFwiPyhjPS8oW14wXSopKDArKSguKikvLmV4ZWMoYykpP3t4cWI6YisxLShjWzJdLmxlbmd0aC0xKSxYQmI6YSxZQmI6ZCxwcmVmaXg6Y1sxXSxzdWZmaXg6Y1szXX06XG5meWI6ZnlifSxoeWI9ZnVuY3Rpb24oYSl7aWYoIWlzRmluaXRlKGEpKXJldHVybiBhPjA/YTowO2Zvcih2YXIgYj0wOyhhLz0xMCk+PTE7KWIrKztyZXR1cm4gYn0senY9ZnVuY3Rpb24oYSxiKXtpZighYXx8IWlzRmluaXRlKGEpfHxiPT0wKXJldHVybiBhO2E9U3RyaW5nKGEpLnNwbGl0KFwiZVwiKTtyZXR1cm4gcGFyc2VGbG9hdChhWzBdK1wiZVwiKyhwYXJzZUludChhWzFdfHwwLDEwKStiKSl9LG55Yj1mdW5jdGlvbihhLGIpe3JldHVybiBhJiZpc0Zpbml0ZShhKT96dihNYXRoLnJvdW5kKHp2KGEsYikpLC1iKTphfSxseWI9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhKXJldHVybiBhO2I9Yi1oeWIoYSktMTtyZXR1cm4gYjwtYz9ueWIoYSwtYyk6bnliKGEsYil9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgb3liO18uQXY9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQShhLDMzKX07b3liPWZ1bmN0aW9uKGEsYil7dmFyIGM9YXwwO2lmKHZvaWQgMD09PWIpe2I9TWF0aDt2YXIgZD1iLm1pbixlPWErXCJcIixmPWUuaW5kZXhPZihcIi5cIik7Yj1kLmNhbGwoYixmPT09LTE/MDplLmxlbmd0aC1mLTEsMyl9ZD1NYXRoLnBvdygxMCxiKTthPXt2OmIsZjooYSpkfDApJWR9O3JldHVybiBjPT0xJiZhLnY9PTA/XCJvbmVcIjpcIm90aGVyXCJ9O18uQnY9b3liO18uQnY9b3liO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgSE5iPWZ1bmN0aW9uKGEpe3JldHVybiBhJTEwPT0xJiZhJTEwMCE9MTE/XCJvbmVcIjphJTEwPT0yJiZhJTEwMCE9MTI/XCJ0d29cIjphJTEwPT0zJiZhJTEwMCE9MTM/XCJmZXdcIjpcIm90aGVyXCJ9LElOYj1ITmI7SU5iPUhOYjt2YXIgSk5iLEtOYixMTmIsTU5iLE5OYixPTmIsUE5iLFFOYjtfLmZ4PWZ1bmN0aW9uKGEpe3RoaXMuQmE9YTt0aGlzLkFhPXRoaXMub2E9dGhpcy5HYT1udWxsO2E9Xy54djt2YXIgYj1fLld4YjtpZihKTmIhPT1hfHxLTmIhPT1iKUpOYj1hLEtOYj1iLExOYj1uZXcgXy55digxKTt0aGlzLkxhPUxOYn07Sk5iPW51bGw7S05iPW51bGw7TE5iPW51bGw7TU5iPVJlZ0V4cChcIicoW3t9I10uKj8pJ1wiLFwiZ1wiKTtOTmI9UmVnRXhwKFwiJydcIixcImdcIik7Xy5meC5wcm90b3R5cGUuZm9ybWF0PWZ1bmN0aW9uKGEpe3JldHVybiBPTmIodGhpcyxhLCExKX07Xy5neD1mdW5jdGlvbihhLGIpe3JldHVybiBPTmIoYSxiLCEwKX07XG5PTmI9ZnVuY3Rpb24oYSxiLGMpe2EudTUoKTtpZighYS5BYXx8YS5BYS5sZW5ndGg9PTApcmV0dXJuXCJcIjthLm9hPV8uQWEoYS5HYSk7dmFyIGQ9W107UE5iKGEsYS5BYSxiLGMsZCk7Zm9yKGI9ZC5qb2luKFwiXCIpO2Eub2EubGVuZ3RoPjA7KWI9Yi5yZXBsYWNlKGEuQ2EoYS5vYSksU3RyaW5nKGEub2EucG9wKCkpLnJlcGxhY2UoXCIkXCIsXCIkJCQkXCIpKTtyZXR1cm4gYn07XG5QTmI9ZnVuY3Rpb24oYSxiLGMsZCxlKXtmb3IodmFyIGY9MDtmPGIubGVuZ3RoO2YrKylzd2l0Y2goYltmXS50eXBlKXtjYXNlIDQ6ZS5wdXNoKGJbZl0udmFsdWUpO2JyZWFrO2Nhc2UgMzp2YXIgZz1iW2ZdLnZhbHVlLGg9YSxrPWUsbD1jW2ddO2w9PT12b2lkIDA/ay5wdXNoKFwiVW5kZWZpbmVkIHBhcmFtZXRlciAtIFwiK2cpOihoLm9hLnB1c2gobCksay5wdXNoKGguQ2EoaC5vYSkpKTticmVhaztjYXNlIDI6Zz1iW2ZdLnZhbHVlO2g9YTtrPWM7bD1kO3ZhciBuPWUscj1nLkszYTtrW3JdPT09dm9pZCAwP24ucHVzaChcIlVuZGVmaW5lZCBwYXJhbWV0ZXIgLSBcIityKToocj1nW2tbcl1dLHI9PT12b2lkIDAmJihyPWcub3RoZXIpLFBOYihoLHIsayxsLG4pKTticmVhaztjYXNlIDA6Zz1iW2ZdLnZhbHVlO1FOYihhLGcsYyxfLkJ2LGQsZSk7YnJlYWs7Y2FzZSAxOmc9YltmXS52YWx1ZSxRTmIoYSxnLGMsSU5iLGQsZSl9fTtcblFOYj1mdW5jdGlvbihhLGIsYyxkLGUsZil7dmFyIGc9Yi5LM2EsaD1iLnJXYixrPStjW2ddO2lzTmFOKGspP2YucHVzaChcIlVuZGVmaW5lZCBvciBpbnZhbGlkIHBhcmFtZXRlciAtIFwiK2cpOihoPWstaCxnPWJbY1tnXV0sZz09PXZvaWQgMCYmKGQ9ZChNYXRoLmFicyhoKSksZz1iW2RdLGc9PT12b2lkIDAmJihnPWIub3RoZXIpKSxiPVtdLFBOYihhLGcsYyxlLGIpLGM9Yi5qb2luKFwiXCIpLGU/Zi5wdXNoKGMpOihhPWEuTGEuZm9ybWF0KGgpLGYucHVzaChjLnJlcGxhY2UoLyMvZyxhKSkpKX07Xy5meC5wcm90b3R5cGUudTU9ZnVuY3Rpb24oKXtpZih0aGlzLkJhKXt0aGlzLkdhPVtdO3ZhciBhPVJOYih0aGlzLHRoaXMuQmEpO3RoaXMuQWE9U05iKHRoaXMsYSk7dGhpcy5CYT1udWxsfX07XG52YXIgUk5iPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5HYSxkPSgwLF8uaGgpKGEuQ2EsYSk7Yj1iLnJlcGxhY2UoTk5iLGZ1bmN0aW9uKCl7Yy5wdXNoKFwiJ1wiKTtyZXR1cm4gZChjKX0pO3JldHVybiBiPWIucmVwbGFjZShNTmIsZnVuY3Rpb24oZSxmKXtjLnB1c2goZik7cmV0dXJuIGQoYyl9KX0sVE5iPWZ1bmN0aW9uKGEpe3ZhciBiPTAsYz1bXSxkPVtdLGU9L1t7fV0vZztlLmxhc3RJbmRleD0wO2Zvcih2YXIgZjtmPWUuZXhlYyhhKTspe3ZhciBnPWYuaW5kZXg7ZlswXT09XCJ9XCI/KGMucG9wKCksYy5sZW5ndGg9PTAmJihmPXt0eXBlOjF9LGYudmFsdWU9YS5zdWJzdHJpbmcoYixnKSxkLnB1c2goZiksYj1nKzEpKTooYy5sZW5ndGg9PTAmJihiPWEuc3Vic3RyaW5nKGIsZyksYiE9XCJcIiYmZC5wdXNoKHt0eXBlOjAsdmFsdWU6Yn0pLGI9ZysxKSxjLnB1c2goXCJ7XCIpKX1iPWEuc3Vic3RyaW5nKGIpO2IhPVwiXCImJmQucHVzaCh7dHlwZTowLHZhbHVlOmJ9KTtyZXR1cm4gZH0sVU5iPS9eXFxzKihcXHcrKVxccyosXFxzKnBsdXJhbFxccyosKD86XFxzKm9mZnNldDooXFxkKykpPy8sXG5WTmI9L15cXHMqKFxcdyspXFxzKixcXHMqc2VsZWN0b3JkaW5hbFxccyosLyxXTmI9L15cXHMqKFxcdyspXFxzKixcXHMqc2VsZWN0XFxzKiwvLFNOYj1mdW5jdGlvbihhLGIpe3ZhciBjPVtdO2I9VE5iKGIpO2Zvcih2YXIgZD0wO2Q8Yi5sZW5ndGg7ZCsrKXt2YXIgZT17fTtpZigwPT1iW2RdLnR5cGUpZS50eXBlPTQsZS52YWx1ZT1iW2RdLnZhbHVlO2Vsc2UgaWYoMT09YltkXS50eXBlKXt2YXIgZj1iW2RdLnZhbHVlO3N3aXRjaChVTmIudGVzdChmKT8wOlZOYi50ZXN0KGYpPzE6V05iLnRlc3QoZik/MjovXlxccypcXHcrXFxzKi8udGVzdChmKT8zOjUpe2Nhc2UgMjplLnR5cGU9MjtlLnZhbHVlPVhOYihhLGJbZF0udmFsdWUpO2JyZWFrO2Nhc2UgMDplLnR5cGU9MDtlLnZhbHVlPVlOYihhLGJbZF0udmFsdWUpO2JyZWFrO2Nhc2UgMTplLnR5cGU9MTtlLnZhbHVlPVpOYihhLGJbZF0udmFsdWUpO2JyZWFrO2Nhc2UgMzplLnR5cGU9MyxlLnZhbHVlPWJbZF0udmFsdWV9fWMucHVzaChlKX1yZXR1cm4gY30sXG5YTmI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1cIlwiO2I9Yi5yZXBsYWNlKFdOYixmdW5jdGlvbihoLGspe2M9aztyZXR1cm5cIlwifSk7dmFyIGQ9e307ZC5LM2E9YztiPVROYihiKTtmb3IodmFyIGU9MDtlPGIubGVuZ3RoOyl7dmFyIGY9YltlXS52YWx1ZTtlKys7dmFyIGc7MT09YltlXS50eXBlJiYoZz1TTmIoYSxiW2VdLnZhbHVlKSk7ZFtmLnJlcGxhY2UoL1xccy9nLFwiXCIpXT1nO2UrK31yZXR1cm4gZH0sWU5iPWZ1bmN0aW9uKGEsYil7dmFyIGM9XCJcIixkPTA7Yj1iLnJlcGxhY2UoVU5iLGZ1bmN0aW9uKGssbCxuKXtjPWw7biYmKGQ9cGFyc2VJbnQobiwxMCkpO3JldHVyblwiXCJ9KTt2YXIgZT17fTtlLkszYT1jO2UucldiPWQ7Yj1UTmIoYik7Zm9yKHZhciBmPTA7ZjxiLmxlbmd0aDspe3ZhciBnPWJbZl0udmFsdWU7ZisrO3ZhciBoOzE9PWJbZl0udHlwZSYmKGg9U05iKGEsYltmXS52YWx1ZSkpO2VbZy5yZXBsYWNlKC9cXHMqKD86PSk/KFxcdyspXFxzKi8sXCIkMVwiKV09aDtmKyt9cmV0dXJuIGV9LFxuWk5iPWZ1bmN0aW9uKGEsYil7dmFyIGM9XCJcIjtiPWIucmVwbGFjZShWTmIsZnVuY3Rpb24oaCxrKXtjPWs7cmV0dXJuXCJcIn0pO3ZhciBkPXt9O2QuSzNhPWM7ZC5yV2I9MDtiPVROYihiKTtmb3IodmFyIGU9MDtlPGIubGVuZ3RoOyl7dmFyIGY9YltlXS52YWx1ZTtlKys7aWYoMT09YltlXS50eXBlKXZhciBnPVNOYihhLGJbZV0udmFsdWUpO2RbZi5yZXBsYWNlKC9cXHMqKD86PSk/KFxcdyspXFxzKi8sXCIkMVwiKV09ZztlKyt9cmV0dXJuIGR9O18uZngucHJvdG90eXBlLkNhPWZ1bmN0aW9uKGEpe3JldHVyblwiXFx1ZmRkZl9cIisoYS5sZW5ndGgtMSkudG9TdHJpbmcoMTApK1wiX1wifTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xubmV3IF8uZngoXCJZb3Ugc2VhcmNoZWQgZm9yIHRoaXMgYmVmb3JlLiBEZWxldGluZyA8Yj57cXVlcnl9PC9iPiBmcm9tIHlvdXIgaGlzdG9yeSB3aWxsIHBlcm1hbmVudGx5IHJlbW92ZSBpdCBmcm9tIHlvdXIgYWNjb3VudCBhY3Jvc3MgYWxsIHlvdXIgZGV2aWNlcy5cIik7bmV3IF8uZngoXCJZb3Ugc2VhcmNoZWQgZm9yIHRoaXMgYmVmb3JlLiBEZWxldGluZyA8Yj57cXVlcnl9PC9iPiBmcm9tIHlvdXIgaGlzdG9yeSB3aWxsIHBlcm1hbmVudGx5IHJlbW92ZSBpdCBmcm9tIHlvdXIgZGV2aWNlLlwiKTsobmV3IF8uZngoJzxhIGhyZWY9XCJ7dXJsfVwiIHRhcmdldD1cIl9ibGFua1wiPkxlYXJuIG1vcmU8L2E+JykpLmZvcm1hdCh7dXJsOlwiaHR0cHM6Ly9zdXBwb3J0Lmdvb2dsZS5jb20vd2Vic2VhcmNoL2Fuc3dlci8xMDYyMzBcIn0pO25ldyBfLmZ4KFwiRGVsZXRlIHtzdWdnZXN0aW9uVGV4dH0gZnJvbSBzZWFyY2ggaGlzdG9yeVwiKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5uJGI9ZnVuY3Rpb24oYSxiLGMsZCl7dGhpcy5lbD1hO3RoaXMuSms9Yjt0aGlzLmluZGV4PWM7dGhpcy5GZD1kO18uZklhKHRoaXMuZWwpO18udWUodGhpcy5lbCxcImNsaWNrXCIsdGhpcy5CZCx0aGlzKX07Xy5uJGIucHJvdG90eXBlLkJkPWZ1bmN0aW9uKGEpe3RoaXMuRmQmJnRoaXMuRmQudllhKHRoaXMuaW5kZXgpO3ZhciBiPXRoaXMuSmsuQ2EoKT9fLkZzYjpfLkdzYixjPWEuZXZlbnQsZD1fLkk2Yih0aGlzLkprKS56SChjJiZjLmtleUNvZGU9PT0xMz8zOnRoaXMuSmsub2EoKS5pbmNsdWRlcyg0NDEpPzI2OjEpO2Quc29iPXRoaXMuaW5kZXg7dmFyIGUsZjthPShmPShlPWEuZGF0YSk9PW51bGw/dm9pZCAwOmUuUnlhKSE9bnVsbD9mOnZvaWQgMDtkLkZzPWE7ZT10aGlzLmVsO2Q9ZC5idWlsZCgpO18uemUoZSxiLGQpO18uaHkoYyl9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLnEkYj1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5GZD1udWxsO3RoaXMudGVtcGxhdGU9Xy5PayhmdW5jdGlvbigpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChhLkR0YSgpKX0pfTtfLnEkYi5wcm90b3R5cGUuSW89ZnVuY3Rpb24oYSl7dGhpcy5GZD1hLmdldChfLmo3Yil9O18ucSRiLnByb3RvdHlwZS5mUD1mdW5jdGlvbigpe3JldHVybiEwfTtfLnEkYi5wcm90b3R5cGUuUzViPWZ1bmN0aW9uKCl7cmV0dXJuIF8ubSRiKHRoaXMudGVtcGxhdGUoKSl9O18ucSRiLnByb3RvdHlwZS5EdGE9ZnVuY3Rpb24oKXtyZXR1cm5cIlwifTtfLkJ5PWZ1bmN0aW9uKGEsYixjLGQpe18ubiRiLmNhbGwodGhpcyxhLGIsYyxkKTt0aGlzLkxhPXZvaWQgMDt0aGlzLkdhPSExO18udWUodGhpcy5lbCxcIm1vdXNlb3ZlclwiLHRoaXMuVW9hLHRoaXMpO3IkYih0aGlzKX07Xy5EKF8uQnksXy5uJGIpO3ZhciByJGI9ZnVuY3Rpb24oYSl7dmFyIGI9YS5lbC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwiQVFaOVZkXCIpWzBdO2ImJihfLmZJYShiKSxhLkd1YihhLkprKSE9PTAmJl8uUG4oYikuZWYoKSYmKGIuc2V0QXR0cmlidXRlKFwiaWRcIixfLnpnKFwic3VnZ2VzdGlvblwiK2EuaW5kZXgrXCJhY3Rpb25CdG5cIikpLF8udWUoYixcImNsaWNrXCIsZnVuY3Rpb24oYyl7Xy5oeShjLmV2ZW50KTtzJGIoYSl9LGEpLF8udWUoYixcImNvbnRleHRtZW51XCIsZnVuY3Rpb24oYyl7Yy5ldmVudCYmXy5oeShjLmV2ZW50KX0pLGEuTGE9YikpfTtfLm09Xy5CeS5wcm90b3R5cGU7Xy5tLkd1Yj1mdW5jdGlvbihhKXtyZXR1cm4gXy5iN2IoYSk/MTowfTtcbl8ubS5lbnRlcj1mdW5jdGlvbigpe3RoaXMuZWwuc2Nyb2xsSW50b1ZpZXcoITEpO18uemUodGhpcy5lbCxfLnd1LG5ldyBfLkF5KHRoaXMuaW5kZXgsdGhpcy5KaykpfTtfLm0uZXhpdD1mdW5jdGlvbigpe3QkYih0aGlzKX07Xy5tLm5leHQ9ZnVuY3Rpb24oKXtpZighdGhpcy5MYSlyZXR1cm4hMDtpZih0aGlzLkdhKXJldHVybiB0JGIodGhpcyksITA7dGhpcy5HYT0hMDt2YXIgYTsoYT10aGlzLkxhKT09bnVsbHx8YS5jbGFzc0xpc3QuYWRkKFwiTHZxelJcIik7YT10aGlzLmVsO3ZhciBiPW5ldyBfLkF5KHRoaXMuaW5kZXgsdGhpcy5KaywxLF8uemcoXCJzdWdnZXN0aW9uXCIrdGhpcy5pbmRleCtcImFjdGlvbkJ0blwiKSk7Xy56ZShhLF8ud3UsYik7cmV0dXJuITF9O18ubS5wcmV2aW91cz1mdW5jdGlvbigpe3JldHVybiB0aGlzLkxhP3RoaXMuR2E/KHQkYih0aGlzKSxfLnplKHRoaXMuZWwsXy53dSxuZXcgXy5BeSh0aGlzLmluZGV4LHRoaXMuSmspKSwhMSk6ITA6ITB9O1xudmFyIHQkYj1mdW5jdGlvbihhKXthLkdhPSExO3ZhciBiOyhiPWEuTGEpPT1udWxsfHxiLmNsYXNzTGlzdC5yZW1vdmUoXCJMdnF6UlwiKX07Xy5CeS5wcm90b3R5cGUudXA9ZnVuY3Rpb24oKXtyZXR1cm4hMH07Xy5CeS5wcm90b3R5cGUueE49ZnVuY3Rpb24oKXtyZXR1cm4hMH07Xy5CeS5wcm90b3R5cGUuVW9hPWZ1bmN0aW9uKCl7Xy56ZSh0aGlzLmVsLF8ud3UsbmV3IF8uQXkodGhpcy5pbmRleCx0aGlzLkprLDApKX07Xy5CeS5wcm90b3R5cGUuQmQ9ZnVuY3Rpb24oYSl7dGhpcy5HYSYmYS5ldmVudC5rZXlDb2RlPT09MTM/KHMkYih0aGlzKSxfLnplKHRoaXMuZWwsXy53dSxuZXcgXy5BeSgtMSkpKTpfLm4kYi5wcm90b3R5cGUuQmQuY2FsbCh0aGlzLGEpfTt2YXIgcyRiPWZ1bmN0aW9uKGEpe3ZhciBiPXtKazphLkprLEVqYzphLkd1YihhLkprKSx6WmE6Xy5QbihhLmVsKX07Xy56ZShhLmVsLF8uSHNiLGIsITEpfTtfLnUkYj1bXTtfLkN5PWZ1bmN0aW9uKCl7Xy5xJGIuYXBwbHkodGhpcyxhcmd1bWVudHMpfTtfLkQoXy5DeSxfLnEkYik7Xy5tPV8uQ3kucHJvdG90eXBlO18ubS5Wb2E9ZnVuY3Rpb24oKXtyZXR1cm4gMX07Xy5tLkR0YT1mdW5jdGlvbigpe3JldHVyblwiWU1YZVwifTtcbl8ubS5yZW5kZXI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPV8uUG4oYSk7Xy5NbihfLk1uKGQsXCIucGNUa1NjXCIpLFwiLndNNlc3ZFwiKS5yZW1vdmVDbGFzcyhcIm11c19wY1wiKTt2YXIgZT1fLk1uKF8uTW4oZCxcIi5wY1RrU2NcIiksXCIud002VzdkXCIpLGY9dGhpcy5WUWEoYiksZz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiU1BBTlwiLnRvU3RyaW5nKCkpO2UuZW1wdHkoKS5hcHBlbmQoZyk7Zj1mP18udWMoZik6Xy5VaztfLkJjKGcsZik7ZS50b2dnbGVDbGFzcyhcIldnZ1FHZFwiLF8uYjdiKGIpKTtkLnJlbW92ZUNsYXNzKFwidEtoTExiXCIpO2U9Xy5NbihkLFwiLnNiaWNcIik7dGhpcy5CWWEoZSxiKTtlPV8uTW4oZCxcIi5DbEo5WWJcIik7ZS5lbCgpJiYoKGc9dGhpcy5XUWEoYikpPyh0aGlzLkxGYihlLGcpLGUuc2hvdygpKTplLmhpZGUoKSk7ZC50b2dnbGVDbGFzcyhcInNicmVcIix0aGlzLkQkYShiKSk7dGhpcy5pZGMoZCxiKTsoZT1hLnF1ZXJ5U2VsZWN0b3IoXCIuZ0poMThiXCIpKSYmdGhpcy5rbGMoZSk7XG5kLnRvZ2dsZUNsYXNzKFwieU1BRWNmXCIsYi5vYSgpLmluY2x1ZGVzKDM1Nil8fGIub2EoKS5pbmNsdWRlcyg1MTYpKTt0aGlzLlVoYihkLGIsYyk7ZD1fLlBhKF8udSRiKTtmb3IoZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpZT1lLnZhbHVlLGUoYSxiLGMpO3JldHVybiB0aGlzLkZ0YihhLGIsYyl9O18ubS5GdGI9ZnVuY3Rpb24oYSxiLGMpe2E9bmV3IF8uQnkoYSxiLGMsdGhpcy5GZCk7cmV0dXJuIG5ldyBfLnAkYihhLGEpfTtcbl8ubS5CWWE9ZnVuY3Rpb24oYSxiKXtfLmpIYShhLFwic2JpY1wiKTt2YXIgYz1iLk5RYSgpLGQ9dGhpcy5hQWEoYik7aWYoZCl7YS5lbCgpLnNldEF0dHJpYnV0ZShcImRhdGEtc3JjXCIsZCk7dmFyIGU9Xy5peShiLFwienlcIiwtMSk7Yj1uZXcgSW1hZ2U7YS5hZGRDbGFzcyhcInZZT2tiZVwiKTtfLlhkKGIsXCJsb2FkXCIsZnVuY3Rpb24oKXthLlBjKFwiZGF0YS1zcmNcIik9PT1kJiYoZT4wP2Euc2V0U3R5bGUoXCJiYWNrZ3JvdW5kXCIsXCJuby1yZXBlYXQgY2VudGVyL1wiK2UudG9TdHJpbmcoKStcInB4IHVybChcIisoZCtcIilcIikpOmEuc2V0U3R5bGUoXCJiYWNrZ3JvdW5kLWltYWdlXCIsXCJ1cmwoXCIrZCtcIilcIikpfSk7Xy5YZChiLFwiZXJyb3JcIixmdW5jdGlvbigpe2EuUGMoXCJkYXRhLXNyY1wiKT09PWQmJihhLnNldFN0eWxlKFwiYmFja2dyb3VuZFwiLFwiXCIpLGEuc2V0U3R5bGUoXCJiYWNrZ3JvdW5kLWltYWdlXCIsXCJcIiksYS5hZGRDbGFzcyhcInNiXCIrYykpfSk7Yi5zcmM9ZH1lbHNlIF8uZ2coYSxcImRhdGEtc3JjXCIpLFxuYS5zZXRTdHlsZShcImJhY2tncm91bmRcIixcIlwiKSxhLnNldFN0eWxlKFwiYmFja2dyb3VuZC1pbWFnZVwiLFwiXCIpLGEuYWRkQ2xhc3MoXCJzYlwiK2MpfTtfLm0uRCRhPWZ1bmN0aW9uKGEpe3JldHVybiBhLmdldFR5cGUoKT09PTQ2fTtfLm0uTEZiPWZ1bmN0aW9uKGEsYil7dmFyIGM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcIlNQQU5cIi50b1N0cmluZygpKTthLmVtcHR5KCkuYXBwZW5kKGMpO2E9Yj9fLnVjKGIpOl8uVWs7Xy5CYyhjLGEpfTtfLm0ua2xjPWZ1bmN0aW9uKGEpe2EuaGlkZGVuPSEwO18ueGwoYSl9O18ubS5IcT1mdW5jdGlvbigpe3JldHVybiAwfTtfLm0uaWRjPWZ1bmN0aW9uKGEsYil7YT1fLk1uKGEsXCIuQVFaOVZkXCIpO2EudG9nZ2xlKF8uYjdiKGIpKTtfLmI3YihiKSYmKF8uTW4oYSxcIi5zYmFpXCIpLmVsKCkuY2xhc3NOYW1lPVwic2JhaSBKQ0hwY2JcIixhLmVsKCkuc2V0QXR0cmlidXRlKFwiYXJpYS1sYWJlbFwiLFwiRGVsZXRlIGZyb20gaGlzdG9yeVwiKSl9O18ubS5hQWE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uTzZiKGEpfTtcbl8ubS5WUWE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uYTdiKGEpfTtfLm0uV1FhPWZ1bmN0aW9uKGEpe3JldHVybiBfLk02YihhKX07Xy5tLlVoYj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Xy5NbihfLk1uKGEsXCIucGNUa1NjXCIpLFwiLndNNlc3ZFwiKS5lbCgpLGU9Xy5NbihfLk1uKGEsXCIucGNUa1NjXCIpLFwiLkNsSjlZYlwiKS5lbCgpO2lmKGE9Xy5NbihhLFwiLmxublZTZVwiKS5lbCgpKWEuc2V0QXR0cmlidXRlKFwiaWRcIixfLkE2YihjKSksYS5zZXRBdHRyaWJ1dGUoXCJhcmlhLWxhYmVsXCIsYi5BYSgpKSxhLnNldEF0dHJpYnV0ZShcImFyaWEtZGVzY3JpcHRpb25cIixfLk02YihiKSk7ZCYmXy5vbShkLFwicHJlc2VudGF0aW9uXCIpO2UmJl8ub20oZSxcInByZXNlbnRhdGlvblwiKX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBZJGI7Xy5YJGI9WzEsMiwzLDQsNV07WSRiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoWSRiLF8ucSk7dmFyIFokYj1fLldiKFkkYiksJCRiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoJCRiLF8ucSk7Xy5IeT1mdW5jdGlvbihhKXthPV8uaXkoYSxcInphaFwiKTt0cnl7dmFyIGI7cmV0dXJuKChiPVokYihhKSk9PW51bGw/dm9pZCAwOl8udihiLCQkYiwxKSl8fG5ldyAkJGJ9Y2F0Y2goYyl7fX07Xy5JeT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uSXksXy5xKTtfLm09Xy5JeS5wcm90b3R5cGU7Xy5tLmdldFVybD1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywxKX07Xy5tLkhjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmUodGhpcywxKX07Xy5tLmdldFR5cGU9ZnVuY3Rpb24oKXtyZXR1cm4gXy5uaSh0aGlzLDIsMCl9O18ubS5FYz1mdW5jdGlvbihhKXtyZXR1cm4gXy5jaih0aGlzLDIsYSl9O1xuXy5tLllkPWZ1bmN0aW9uKCl7cmV0dXJuIF8uR2kodGhpcywyKX07Xy5hYWM9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLmFhYyxfLnEpO18uYWFjLnByb3RvdHlwZS5ZYz1mdW5jdGlvbigpe3JldHVybiBfLnYodGhpcyxfLkl5LDMpfTtfLmFhYy5wcm90b3R5cGUuT2s9ZnVuY3Rpb24oKXtyZXR1cm4gXy5HaCh0aGlzLF8uSXksMyl9O3ZhciBiYWM9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChiYWMsXy5xKTtfLm09YmFjLnByb3RvdHlwZTtfLm0uWmI9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMil9O18ubS5GYz1mdW5jdGlvbihhKXtyZXR1cm4gXy5EZSh0aGlzLDIsYSl9O18ubS5ZZj1mdW5jdGlvbigpe3JldHVybiBfLlZlKHRoaXMsMil9O18ubS5laz1mdW5jdGlvbigpe3JldHVybiBfLm5pKHRoaXMsMywwKX07Xy5tLmNsZWFyQ29sb3I9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDMpfTtcbl8ubS5JY2Q9ZnVuY3Rpb24oKXtyZXR1cm4gXy5FKHRoaXMsNSl9O18ubS5pZ2Q9ZnVuY3Rpb24oKXtyZXR1cm4gXy5uaSh0aGlzLDcsMCl9O18ubS5aYmQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy53aSh0aGlzLDksXy5TZSgpKX07YmFjLm9iPVs5XTtfLkp5PWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5KeSxfLnEpO18uSnkucHJvdG90eXBlLlpiPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDEpfTtfLkp5LnByb3RvdHlwZS5GYz1mdW5jdGlvbihhKXtyZXR1cm4gXy5EZSh0aGlzLDEsYSl9O18uSnkucHJvdG90eXBlLllmPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmUodGhpcywxKX07Xy5KeS5wcm90b3R5cGUub2E9ZnVuY3Rpb24oKXtyZXR1cm4gXy5SZSh0aGlzLGJhYywyLF8uU2UoKSl9O18uSnkub2I9WzJdO18uY2FjPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5jYWMsXy5xKTtcbl8uY2FjLnByb3RvdHlwZS5Ycj1mdW5jdGlvbigpe3JldHVybiBfLnYodGhpcyxfLkp5LDcpfTtfLmNhYy5vYj1bNl07Xy5kYWM9ZnVuY3Rpb24oKXtfLkJ5LmFwcGx5KHRoaXMsYXJndW1lbnRzKX07Xy5EKF8uZGFjLF8uQnkpO18uZGFjLnByb3RvdHlwZS5HdWI9ZnVuY3Rpb24oKXtyZXR1cm4gMH07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uZWFjPWZ1bmN0aW9uKCl7dHJ5e18uQ3kuY2FsbCh0aGlzKX1jYXRjaChhKXt9fTtfLkQoXy5lYWMsXy5DeSk7Xy5tPV8uZWFjLnByb3RvdHlwZTtfLm0uRnRiPWZ1bmN0aW9uKGEsYixjKXthPW5ldyBfLmRhYyhhLGIsYyx0aGlzLkZkKTtyZXR1cm4gbmV3IF8ucCRiKGEsYSl9O18ubS5IcT1mdW5jdGlvbigpe3JldHVybiAxNn07Xy5tLmZQPWZ1bmN0aW9uKGEpe3JldHVybiBhLm9hKCkuaW5jbHVkZXMoNDU2KXx8YS5nZXRUeXBlKCk9PT0xNzR9O18ubS5Wb2E9ZnVuY3Rpb24oKXtyZXR1cm4gNn07Xy5tLkR0YT1mdW5jdGlvbigpe3JldHVyblwiVE40ckZmXCJ9O18ubS5pZGM9ZnVuY3Rpb24oKXt9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLllhYz1mdW5jdGlvbihhLGIsYyxkLGUsZil7dmFyIGc9W107Z1swXT1jO2dbMl09cGFyc2VJbnQoZD09PXZvaWQgMD8wOmQsMTApLnRvU3RyaW5nKCk7Z1szXT1wYXJzZUludChlPT09dm9pZCAwPzA6ZSwxMCkudG9TdHJpbmcoKTtnWzFdPXBhcnNlSW50KGY9PT12b2lkIDA/MDpmLDEwKS50b1N0cmluZygpO2Eub2FbcGFyc2VJbnQoYiwxMCldPWd9O18uWmFjPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IE1hcChhLlJJKTtjLnNldChcImFnXCIsYi5BYSk7cmV0dXJuIG5ldyBfLmp5KGEueXIsYyxhLm9GYSxhLkFhLGEuQmEpfTtfLk95PW5ldyBfLm95O1xudmFyIHdiYz1bMzA4LDY3XSx4YmM9WzMwOCw0MzldLHpiYz1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5PYj10aGlzLkdhPW51bGw7dGhpcy5zdG9yYWdlPW5ldyBfLnZFYTt0aGlzLkg4PVwiXCI7dGhpcy50aW1lVG9MaXZlPTA7dGhpcy5HYj0hMTt0aGlzLlJhPTA7dGhpcy5oYj10aGlzLlFhPXRoaXMua2I9dGhpcy5BYT10aGlzLk9hPXRoaXMuTGE9ITE7dGhpcy5vYT1udWxsO3RoaXMuVWE9dGhpcy5DYT0hMTt0aGlzLkJiPXRoaXMuQmE9MDt0aGlzLndiPWZ1bmN0aW9uKGIpe3liYyhhLGIucXVlcnkpfX07XG56YmMucHJvdG90eXBlLmNvbmZpZ3VyZT1mdW5jdGlvbihhKXt0aGlzLkg4PWEuU1AoKTt0aGlzLnRpbWVUb0xpdmU9YS5uZWQoKTt0aGlzLkdiPWEucDNiKCk7dGhpcy5SYT1hLkdnZCgpO3RoaXMuTGE9YS5tNGIoKTt0aGlzLk9hPWEuT2NkKCk7dGhpcy5BYT1hLkdmZCgpO3RoaXMua2I9YS5QNWIoKTt0aGlzLlFhPWEuRmZkKCk7dGhpcy5oYj1hLkMzYigpO3RoaXMuQ2E9YS5EM2IoKTt0aGlzLlVhPWEuQjNiKCk7dGhpcy5CYT1hLkZnZCgpO3RoaXMub2E9YS5rRygpO3RoaXMuc3RvcmFnZS5pc0F2YWlsYWJsZSgpJiZ0aGlzLm9hJiYoQWJjKHRoaXMpJiYodGhpcy5RYSYmdGhpcy5zdG9yYWdlLnNldChcInNiX3dpei5zcl9kaVwiLEJiYyh0aGlzKSksdGhpcy5zdG9yYWdlLnNldChcInNiX3dpei5zY19wcVwiLHRoaXMuQWE/Xy5jaChcImdvb2dsZS5wbWMuc2Jfd2l6LnNjcVwiKTpcIlwiKSkseWJjKHRoaXMsdGhpcy5vYSkpOyF0aGlzLnN0b3JhZ2UuaXNBdmFpbGFibGUoKXx8QWJjKHRoaXMpJiZcbnRoaXMudGltZVRvTGl2ZSE9PTAmJiFDYmModGhpcyl8fCh0aGlzLnN0b3JhZ2UucmVtb3ZlKFwic2Jfd2l6LnBxXCIpLHRoaXMuc3RvcmFnZS5yZW1vdmUoXCJzYl93aXoucHFfdG1faHBcIiksdGhpcy5BYSYmdGhpcy5zdG9yYWdlLnJlbW92ZShcInNiX3dpei5zY19wcVwiKSx0aGlzLlFhJiZ0aGlzLnN0b3JhZ2UucmVtb3ZlKFwic2Jfd2l6LnNyX2RpXCIpKX07emJjLnByb3RvdHlwZS5Jbz1mdW5jdGlvbihhKXt0aGlzLkdhPWEuZ2V0KF8ubDdiKTt0aGlzLk9iPWEuZ2V0KF8uazdiKTtpZihhPWEuZ2V0KF8uaTdiKSlhLnZ5KDMsdGhpcy53YiksYS52eSgxLHRoaXMud2IpfTtcbnZhciBBYmM9ZnVuY3Rpb24oYSl7cmV0dXJuKGEuQ2F8fGEuVWEpJiYoYS5MYXx8YS5PYSl9LHliYz1mdW5jdGlvbihhLGIpe2Euc3RvcmFnZS5pc0F2YWlsYWJsZSgpJiYoQWJjKGEpJiZiJiYoYS5zdG9yYWdlLnNldChcInNiX3dpei5wcVwiLGIpLGEuc3RvcmFnZS5zZXQoXCJzYl93aXoucHFfdG1faHBcIixEYXRlLm5vdygpLnRvU3RyaW5nKCkpKSxhLkJhPjAmJihhLkJiPURhdGUubm93KCkpLGEuaGImJmEuc3RvcmFnZS5zZXQoXCJzYl93aXoucHFfdG1fc3JwXCIsRGF0ZS5ub3coKS50b1N0cmluZygpKSl9LENiYz1mdW5jdGlvbihhKXtpZighYS5zdG9yYWdlLmlzQXZhaWxhYmxlKCkpcmV0dXJuITA7dmFyIGI9RGJjKGEsITApO3JldHVybiBiPT09bnVsbHx8Yj5hLnRpbWVUb0xpdmV9LERiYz1mdW5jdGlvbihhLGIpe3JldHVybiBhLnN0b3JhZ2UuaXNBdmFpbGFibGUoKT8oYT1iP2Euc3RvcmFnZS5nZXQoXCJzYl93aXoucHFfdG1faHBcIik6YS5zdG9yYWdlLmdldChcInNiX3dpei5wcV90bV9zcnBcIikpP1xuRGF0ZS5ub3coKS1OdW1iZXIoYSk6bnVsbDpudWxsfSxFYmM9ZnVuY3Rpb24oYSl7dmFyIGI9W10sYz1bXSxkPVtdO2E9Xy5QYShhKTtmb3IodmFyIGU9YS5uZXh0KCk7IWUuZG9uZTtlPWEubmV4dCgpKWU9ZS52YWx1ZSxlLm9hKCkuaW5jbHVkZXMoMzkpP2IucHVzaChlKTplLmdldFR5cGUoKT09PTQxP2MucHVzaChlKTpkLnB1c2goZSk7cmV0dXJue3VFZDpiLGQ2YzpjLG1FZDpkfX0sRmJjPWZ1bmN0aW9uKGEsYixjLGQpe2E9YS5tYXAoZnVuY3Rpb24oZil7cmV0dXJuIF8uYzdiKF8uUTZiKGYpLFwiemxcIixkKS5idWlsZCgpfSk7dmFyIGU9Xy5reShjKTtfLllhYyhlLGQsXCJSZWNlbnQgU2VhcmNoZXNcIik7cmV0dXJuIF8uWmFjKF8uZTdiKGMsYi5jb25jYXQoYSkpLGUpfTtcbnpiYy5wcm90b3R5cGUubzQ9ZnVuY3Rpb24oYSxiKXtpZih0aGlzLkJhPjAmJnRoaXMub2EmJiFiJiZHYmMoYSkpe2lmKERhdGUubm93KCktTnVtYmVyKHRoaXMuQmIpPnRoaXMuQmEpcmV0dXJuIGE7Yj1hLnZwKCk7dmFyIGM9RWJjKGIpO2I9Yy51RWQ7dmFyIGQ9Yy5kNmM7Yz1jLm1FZDtyZXR1cm4gYi5sZW5ndGg+MD9GYmMoYixjLGEsNSk6ZC5sZW5ndGg+MD9GYmMoZCxjLGEsNDAwMjYpOmF9cmV0dXJuIHRoaXMuR2ImJiFiJiZ0aGlzLlJhIT09LTEmJkdiYyhhKT8oZD1hLnZwKCksYj1kLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRUeXBlKCk9PT00MX0pLGQ9ZC5zbGljZShiLmxlbmd0aCksbmV3IF8uankoYi5zbGljZSgwLHRoaXMuUmEpLmNvbmNhdChkKSxhLmdldFBhcmFtZXRlcnMoKSkpOiFiJiZ0aGlzLkNhJiZhLkFhJiZhLm9hKFwiZVwiLCExKSYmQ2JjKHRoaXMpP25ldyBfLmp5KGEudnAoKSxhLmdldFBhcmFtZXRlcnMoKS5zZXQoXCJlXCIsITEpKTphfTtcbnZhciBHYmM9ZnVuY3Rpb24oYSl7cmV0dXJuIGEudnAoKS5zb21lKGZ1bmN0aW9uKGIpe3ZhciBjPWIub2EoKTtiPV8uUGEoW3hiYyx3YmNdKTtmb3IodmFyIGQ9Yi5uZXh0KCk7IWQuZG9uZTtkPWIubmV4dCgpKWlmKGQudmFsdWUuZXZlcnkoZnVuY3Rpb24oZSl7cmV0dXJuIGMuaW5jbHVkZXMoZSl9KSlyZXR1cm4hMDtyZXR1cm4hMX0pfSxCYmM9ZnVuY3Rpb24oYSl7cmV0dXJuIGEub2E/Xy5jaChcImdvb2dsZS5wbWMuc2Jfd2l6Lnpwc1wiKTphLnN0b3JhZ2UuaXNBdmFpbGFibGUoKT9hLnN0b3JhZ2UuZ2V0KFwic2Jfd2l6LnNyX2RpXCIpfHxcIlwiOlwiXCJ9O3piYy5wcm90b3R5cGUuWGlhPWZ1bmN0aW9uKCl7dGhpcy5PYi5YaWEoKX07dmFyIEhiYz1mdW5jdGlvbigpe3RoaXMub2E9MH07SGJjLnByb3RvdHlwZS5aamE9ZnVuY3Rpb24oKXt2YXIgYT1bXTt0aGlzLm9hPjAmJmEucHVzaChfLmg3YihfLm15KG5ldyBfLmx5LDY0KSx0aGlzLm9hLnRvU3RyaW5nKCkpKTtyZXR1cm4gYX07SGJjLnByb3RvdHlwZS51Nj1mdW5jdGlvbigpe307SGJjLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMub2E9MH07dmFyIEtiYz1mdW5jdGlvbigpe3ZhciBhPUliYzt0aGlzLm9hPUpiYzt0aGlzLk9hPWE7dGhpcy5BYT1udWxsO3RoaXMuTGE9dGhpcy5CYT10aGlzLlFhPXRoaXMuUmE9dGhpcy5HYT10aGlzLkNhPSExfTtLYmMucHJvdG90eXBlLmNvbmZpZ3VyZT1mdW5jdGlvbihhKXt0aGlzLkFhPWEua0coKTt0aGlzLkdhPWEuQjNiKCk7dGhpcy5SYT1hLmxmZCgpO3RoaXMuUWE9YS5QNWIoKTt0aGlzLkJhPWEuRDNiKCk7dGhpcy5MYT1hLkMzYigpfTtcbktiYy5wcm90b3R5cGUuYlE9ZnVuY3Rpb24oYSl7aWYoQWJjKHRoaXMub2EpJiYhdGhpcy5BYSlpZihDYmModGhpcy5vYSkpe2lmKHRoaXMuQ2Epe3RoaXMuQ2E9ITE7dmFyIGI9dGhpcy5vYTt2YXIgYz1iLkdhLmdldChiLkg4KTtjIT1udWxsJiZHYmMoYykmJmIuR2EuY2xlYXIoYi5IOCk7dGhpcy5vYS5YaWEoKX19ZWxzZXtjPXRoaXMub2E7Yj0hMTt2YXIgZD1cIlwiO2lmKGMuc3RvcmFnZS5pc0F2YWlsYWJsZSgpJiYoZD1jLnN0b3JhZ2UuZ2V0KFwic2Jfd2l6LnBxXCIpfHxcIlwiLGMuQWEpKXt2YXIgZT1jLnN0b3JhZ2UuZ2V0KFwic2Jfd2l6LnNjX3BxXCIpfHxcIlwiO2UmJihiPSEwKTtkPWMua2I/ZDplfHxkfWM9ZDtiJiYodGhpcy5PYS5vYT0xKTtiPWEuZ2V0UXVlcnkoKTtjJiYoIWImJnRoaXMuQmF8fGImJnRoaXMuR2EpJiYoYS5vYShcInBxXCIsYyksTGJjKHRoaXMsYSkpO3RoaXMuQ2E9ITA7TWJjKHRoaXMsYSl9aWYodGhpcy5BYSlpZihiPWEuZ2V0UXVlcnkoKSwoYj0hdGhpcy5CYXx8Yil8fFxuKGI9dGhpcy5vYSxiPWIuTGF8fGIuT2EpLGIpe2lmKGI9dGhpcy5vYS5BYT9fLmNoKFwiZ29vZ2xlLnBtYy5zYl93aXouc2NxXCIpOlwiXCIpdGhpcy5PYS5vYT0xLHRoaXMuUWF8fGEub2EoXCJwcVwiLGIpO01iYyh0aGlzLGEpO0xiYyh0aGlzLGEpfWVsc2UgYj1uZXcgXy5NbShhLnVyaS50b1N0cmluZygpKSxiLm9hLnJlbW92ZShcInBxXCIpLF8uUzZiKGEsYik7cmV0dXJuIDF9O3ZhciBNYmM9ZnVuY3Rpb24oYSxiKXshYi5nZXRRdWVyeSgpJiZhLlJhJiYoYT1CYmMoYS5vYSkpJiZiLm9hKFwib2ZwXCIsYSl9LExiYz1mdW5jdGlvbihhLGIpe2EuTGEmJihhPURiYyhhLm9hLCFhLkFhKSkmJmIub2EoXCJwcV9zZWNcIixNYXRoLnJvdW5kKGEvMUUzKSl9O3ZhciBOYmM9ZnVuY3Rpb24oKXt0aGlzLm9hPUpiY307TmJjLnByb3RvdHlwZS5IcT1mdW5jdGlvbigpe3JldHVybiA1MH07TmJjLnByb3RvdHlwZS50MD1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm9hLm80KGEsYi5nZXRRdWVyeSgpKX07dmFyIEliYz1uZXcgSGJjLEpiYz1uZXcgemJjO18uT3kuY3FhKEliYyk7Xy5PeS5FWChKYmMpO18uT3kuWV8obmV3IEtiYyk7Xy5PeS50aWEobmV3IE5iYyk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uaW1jPSEhKF8uZGhbMzJdJjEpO18uam1jPSEhKF8uZGhbMzJdJjIpO18ua21jPSEhKF8uZGhbMzJdJjQpO18ubG1jPSEhKF8uZGhbMzJdJjgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgZW5jO18uZm5jPWZ1bmN0aW9uKCl7dmFyIGE9bmV3IF8ub3k7YS5FWChuZXcgZW5jKTtyZXR1cm4gYX07Xy5nbmM9ZnVuY3Rpb24oYSxiKXtiPV8uUGEoYi5lbnRyaWVzKCkpO2Zvcih2YXIgYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpe3ZhciBkPV8uUGEoYy52YWx1ZSk7Yz1kLm5leHQoKS52YWx1ZTtkPWQubmV4dCgpLnZhbHVlO3ZhciBlPWEucXVlcnlTZWxlY3RvcignaW5wdXRbbmFtZT1cIicrYysnXCJdJyk7aWYoZSllLnZhbHVlPWQ7ZWxzZXtlPWE7dmFyIGY9ZS5hcHBlbmRDaGlsZCxnPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiKTtnLnR5cGU9XCJoaWRkZW5cIjtnLm5hbWU9YztnLnZhbHVlPWQ7Zi5jYWxsKGUsZyl9fX07XG5lbmM9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuQmE9dGhpcy5HYT10aGlzLm9hPXRoaXMuQWE9bnVsbDt0aGlzLkNhPVwiXCI7dGhpcy5MYT1mdW5jdGlvbigpe2Eub2EuekgoMjIpO3ZhciBiPWEuQmEuem4oKS5yZXBsYWNlKC8uL2csXCIqXCIpO2I9YS5vYS5uOShiKTtiLnNldChcImVpXCIsYS5BYSk7Xy5aNmIoYixhLkNhKX19O2VuYy5wcm90b3R5cGUuY29uZmlndXJlPWZ1bmN0aW9uKGEpe3RoaXMuQWE9YS51QWEoKTt0aGlzLkNhPWEuZlJhKCl9O2VuYy5wcm90b3R5cGUuSW89ZnVuY3Rpb24oYSl7dGhpcy5vYT1hLmdldChfLmo3Yik7dGhpcy5CYT1hLmdldChfLnA3Yik7dGhpcy5HYT1hLmdldChfLmk3Yik7dGhpcy5HYS52eSg4LHRoaXMuTGEpfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5obmM9Xy5HZChcImNuakVDZlwiLFtfLnI5YixfLkg5YixfLnZtYyxfLmNuYyxfLmJxLF8uJDdiLF8uejViLF8uaThiLF8ubjhiLF8uVjhiLF8ueDFhXSk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uaW5jPV8uSihcIlJFWTlMXCIpO18uam5jPV8uSihcIm5wa1hEZVwiKTtfLmtuYz1fLkooXCJBTXJ1Q2VcIik7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ubG5jPWZ1bmN0aW9uKCl7XCJvcHRpb25hbE1vZGVsXCJpbiBfLm5HYXx8Xy5FcGEoe09JOmZ1bmN0aW9uKGEsYil7aWYoIShiIGluc3RhbmNlb2YgXy5DZCkpaWYoYiBpbnN0YW5jZW9mIF8uSWQpYj1iLm9hO2Vsc2UgdGhyb3cgRXJyb3IoXCJpaGBcIitiKTtyZXR1cm4gYS5QbyhiKS50aGVuKGZ1bmN0aW9uKGMpe3JldHVybiBjfSxmdW5jdGlvbihjKXtpZihjIGluc3RhbmNlb2YgXy5sb2EpcmV0dXJuIG51bGw7dGhyb3cgYzt9KX19KX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ud3o9bmV3IF8ub3k7XG52YXIgbW5jPWZ1bmN0aW9uKCl7dGhpcy5vYT1uZXcgTWFwfTttbmMucHJvdG90eXBlLlpqYT1mdW5jdGlvbigpe2Zvcih2YXIgYT1bXSxiPV8uUGEodGhpcy5vYSksYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpYz1fLlBhKGMudmFsdWUpLGMubmV4dCgpLGM9Yy5uZXh0KCkudmFsdWUsYS5wdXNoKGMpO3JldHVybiBhfTtcbm1uYy5wcm90b3R5cGUudTY9ZnVuY3Rpb24oYSxiKXthPWIub2EoXCJhdFwiLFtdKTthPV8uUGEoYSk7Zm9yKGI9YS5uZXh0KCk7IWIuZG9uZTtiPWEubmV4dCgpKXt2YXIgYz1iLnZhbHVlO2I9Y1tcIjRcIl07aWYoY1tcIjJcIl0pe3ZhciBkPWNbXCIyXCJdO2lmKHRoaXMub2EuaGFzKGIpKV8uR2UodGhpcy5vYS5nZXQoYiksMik7ZWxzZXt2YXIgZT1uZXcgXy5seTtfLm15KGUsYik7Xy5oN2IoZSxkLnJlcGxhY2UoLzovZ2ksXCIsXCIpKTt0aGlzLm9hLnNldChiLGUpfX1jW1wiM1wiXSYmKGM9Y1tcIjNcIl0sdGhpcy5vYS5oYXMoYik/Xy5laSh0aGlzLm9hLmdldChiKSwzKTooZD1uZXcgXy5seSxfLm15KGQsYiksXy5PaShkLDMsYyksdGhpcy5vYS5zZXQoYixkKSkpfX07bW5jLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMub2EuY2xlYXIoKX07Xy53ei5jcWEobmV3IG1uYyk7XG52YXIgdG5jPVtcIm51bVwiLFwibmV3d2luZG93XCJdLHVuYz1mdW5jdGlvbigpe307dW5jLnByb3RvdHlwZS5iUT1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInRvcGhmXCIpO2lmKGIpe2I9Xy5QYShfLmxsKFwiSU5QVVRcIixiKSk7Zm9yKHZhciBjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSl7dmFyIGQ9Yy52YWx1ZTtjPWQubmFtZTtkPWQudmFsdWU7YyYmZCYmdG5jLmluY2x1ZGVzKGMpJiZhLm9hKGMsZCl9fXJldHVybiAxfTtfLnd6LllfKG5ldyB1bmMpO1xudmFyIHZuYz1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5vYT1uZXcgXy52RWE7dGhpcy5BYT0wO3RoaXMuQmE9ZnVuY3Rpb24oKXtpZihhLm9hLmlzQXZhaWxhYmxlKCkpe3ZhciBiPU51bWJlcihhLm9hLmdldChcInNiX3dpei5xY1wiKSk7YS5vYS5zZXQoXCJzYl93aXoucWNcIixpc05hTihiKT9cIjFcIjpTdHJpbmcoYisxKSl9fX07dm5jLnByb3RvdHlwZS5jb25maWd1cmU9ZnVuY3Rpb24oYSl7dGhpcy5BYT1fLmlpKGEsMjEpfTt2bmMucHJvdG90eXBlLklvPWZ1bmN0aW9uKGEpe2lmKGE9YS5nZXQoXy5pN2IpKWEudnkoMyx0aGlzLkJhKSxhLnZ5KDEsdGhpcy5CYSl9O3ZhciB4bmM9ZnVuY3Rpb24oKXt0aGlzLm9hPXduY307eG5jLnByb3RvdHlwZS5iUT1mdW5jdGlvbihhKXt2YXIgYj10aGlzLm9hO2lmKGIub2EuaXNBdmFpbGFibGUoKSl7dmFyIGM9TnVtYmVyKGIub2EuZ2V0KFwic2Jfd2l6LnFjXCIpKTtjPWlzTmFOKGMpPzA6Y31lbHNlIGM9MDsoYzxiLkFhfHxiLkFhPT09LTEpJiZhLmdldFF1ZXJ5KCkubGVuZ3RoPT09MCYmYS5vYShcIm5vbHNidFwiLFwiMVwiKTtyZXR1cm4gMX07dmFyIHduYz1uZXcgdm5jO18ud3ouRVgod25jKTtfLnd6LllfKG5ldyB4bmMpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgWm5jPWZ1bmN0aW9uKGEsYil7aWYoYS5zdGFydHNXaXRoKGIpKXt2YXIgYz1hLmxlbmd0aD09PWIubGVuZ3RoP1wiXCI6XCI8Yj5cIitfLmRsKGEuc3Vic3RyaW5nKGIubGVuZ3RoKSkrXCI8L2I+XCI7cmV0dXJuIF8uZGwoYikrY31iPWIuc3BsaXQoXCIgXCIpO2M9XCJcIjt2YXIgZD0hMCxlPSExO2E9Xy5QYShhLnNwbGl0KFwiIFwiKSk7Zm9yKHZhciBmPWEubmV4dCgpLGc9e307IWYuZG9uZTtnPXtKSWI6dm9pZCAwfSxmPWEubmV4dCgpKWcuSkliPWYudmFsdWUsZHx8KGMrPVwiIFwiKSxiLmZpbmQoZnVuY3Rpb24oaCl7cmV0dXJuIGZ1bmN0aW9uKGspe3JldHVybiBrPT09aC5KSWJ9fShnKSk/ZSYmKGMrPVwiPC9iPlwiLGU9ITEpOmV8fChjKz1cIjxiPlwiLGU9ITApLGMrPV8uZGwoZy5KSWIpLGQ9ITE7ZSYmKGMrPVwiPC9iPlwiKTtyZXR1cm4gY30sYW9jPWZ1bmN0aW9uKGEpe3ZhciBiPV8ueTZiKCk7cmV0dXJuIGI/KGI9Xy5SZShiLF8uRDZiLDYsXy5TZSgpKS5maW5kKGZ1bmN0aW9uKGMpe3JldHVybiBfLmFkKGMsXG4yKT09PTcxfSkpP18uUmUoYiwkbmMsMSxfLlNlKCkpLm1hcChmdW5jdGlvbihjKXtyZXR1cm4gWm5jKF8uQShjLDEpLGEpfSk6W106Xy5jaChcImdvb2dsZS5wbWMuc2Jfd2l6LnJmc1wiKXx8W119LGJvYz1mdW5jdGlvbihhKXtyZXR1cm4oYT1hLmdldEF0dHJpYnV0ZShcImRhdGEtdmlldy10eXBlXCIpKSYmTnVtYmVyKGEpP051bWJlcihhKTowfSxjb2M9ZnVuY3Rpb24oYSxiKXthLm9hP2Eub2EuZVRkKGIpOmEuZ2V0Um9vdCgpLnRvZ2dsZUNsYXNzKFwiTTJ2VjNcIixiKX0sZG9jPWZ1bmN0aW9uKGEsYil7YS5CYT1ifSwkbmM9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRCgkbmMsXy5xKTt2YXIgZW9jPWZ1bmN0aW9uKGEpe3RoaXMuQmE9YTt0aGlzLkFhPW5ldyBNYXA7dGhpcy5vYT0wfTtlb2MucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5vYT0wfTtcbnZhciBmb2M9ZnVuY3Rpb24oYSxiLGMsZCl7dGhpcy5RYT1kO3RoaXMucm9vdEVsZW1lbnQ9dGhpcy5qcGIoKTt0aGlzLlJhPXRoaXMucm9vdEVsZW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcIkc0M2Y3ZVwiKVswXTt0aGlzLkNhPW5ldyBlb2ModGhpcy5SYSk7dGhpcy5BYT10aGlzLk9hPTA7dGhpcy5ncm91cElkPWE7dGhpcy5HYT1iO3RoaXMuTGE9Yzt0aGlzLm9hPVtdO3RoaXMuQmE9W119O18ubT1mb2MucHJvdG90eXBlO18ubS5qcGI9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLlFhLmNsb25lTm9kZSghMCk7YS5yZW1vdmVBdHRyaWJ1dGUoXCJqc25hbWVcIik7YS5yZW1vdmVBdHRyaWJ1dGUoXCJpZFwiKTtyZXR1cm4gYX07Xy5tLmFMYT1mdW5jdGlvbigpe307XG5fLm0udVljPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLkNhO3ZhciBlPXRoaXMuT2ErKyxmPWEuVm9hKCksZz1kLkJhLmNoaWxkcmVuW2Qub2FdO2lmKGcmJmJvYyhnKT09PWYpZC5vYSsrLGQ9ZztlbHNle3ZhciBoO2Y9KGg9ZC5BYS5nZXQoZikpPT1udWxsP3ZvaWQgMDpoLnBvcCgpO2g9ZiE9PXZvaWQgMD9mOmEuUzViKCk7Xy5CbChkLkJhLGgsZSk7ZC5vYSsrO2Q9aH1hPWEucmVuZGVyKGQsYixjKTtiPXtKazpiLHZpZXc6ZCxXOWI6YX07dGhpcy5CYS5wdXNoKGIpO3JldHVybiBifTtcbl8ubS5pbml0aWFsaXplPWZ1bmN0aW9uKGEsYixjKXt0aGlzLkFhPXRoaXMuT2E9MDt0aGlzLkNhLnJlc2V0KCk7dGhpcy5ncm91cElkPWE7dGhpcy5HYT1iO2Zvcih0aGlzLkxhPWM7dGhpcy5vYS5sZW5ndGg7KV8uQ2wodGhpcy5vYS5zaGlmdCgpKTthPV8uUGEodGhpcy5CYSk7Zm9yKGI9YS5uZXh0KCk7IWIuZG9uZTtiPWEubmV4dCgpKWIudmFsdWUuVzliLmNsZWFyKCk7dGhpcy5CYS5sZW5ndGg9MDtnb2ModGhpcyx0aGlzLkdhKX07Xy5tLldoPWZ1bmN0aW9uKCl7dGhpcy5BYSsrO2dvYyh0aGlzLHRoaXMuTGEpO2Zvcih2YXIgYT10aGlzLkNhLGI9YS5CYS5jaGlsZHJlbixjPWIubGVuZ3RoLTE7Yz49YS5vYTtjLS0pe3ZhciBkPWJbY10sZT1ib2MoZCk7YS5BYS5nZXQoZSl8fGEuQWEuc2V0KGUsW10pO2EuQWEuZ2V0KGUpLnB1c2goZCk7Xy5DbChkKX19O1xudmFyIGdvYz1mdW5jdGlvbihhLGIpe2I9Xy5QYShiKTtmb3IodmFyIGM9Yi5uZXh0KCk7IWMuZG9uZTtjPWIubmV4dCgpKWM9Yy52YWx1ZSxfLkJsKGEucm9vdEVsZW1lbnQsYyxhLkFhKyspLGEub2EucHVzaChjKX0saG9jPSEhKF8uZGhbMjhdPj4yNSYxKTt2YXIgam9jPWZ1bmN0aW9uKGEpe3ZhciBiPWlvYyhcImltZ1wiLFwibXVzX2lsX2kgbXVzX2l0XCIrYS50KTtiLnNyYz1hLmQ7cmV0dXJuIGJ9LGlvYz1mdW5jdGlvbihhLGIpe2E9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChhKTtiJiYoYS5jbGFzc05hbWU9Yik7cmV0dXJuIGF9LGtvYz1mdW5jdGlvbihhLGIpe2I9aW9jKFwic3BhblwiLGIpO2IuY2xhc3NOYW1lKz1cIiBtdXNfdHRcIithLnR0O18uQmMoYixfLnVjKGEudCkpO2lmKGE9YS5sbil7dmFyIGM9Yi5zdHlsZTtjLm92ZXJmbG93PVwiaGlkZGVuXCI7Yy5kaXNwbGF5PVwiYmxvY2tcIjtjLnNldFByb3BlcnR5KFwibGluZS1oZWlnaHRcIixcIjEuMmVtXCIpO2Muc2V0UHJvcGVydHkoXCJtYXgtaGVpZ2h0XCIsYSoxLjIrXCJlbVwiKTtjLmRpc3BsYXk9XCItd2Via2l0LWJveFwiO2Muc2V0UHJvcGVydHkoXCItd2Via2l0LWxpbmUtY2xhbXBcIixhKTtjLnNldFByb3BlcnR5KFwiLXdlYmtpdC1ib3gtb3JpZW50XCIsXCJ2ZXJ0aWNhbFwiKX1yZXR1cm4gYn07dmFyIGxvYz1mdW5jdGlvbigpe18uQ3kuYXBwbHkodGhpcyxhcmd1bWVudHMpfTtfLkQobG9jLF8uQ3kpO18ubT1sb2MucHJvdG90eXBlO1xuXy5tLnJlbmRlcj1mdW5jdGlvbihhLGIsYyl7Xy5DeS5wcm90b3R5cGUucmVuZGVyLmNhbGwodGhpcyxhLGIsYyk7dmFyIGQ9Xy5NbihfLk1uKF8uUG4oYSksXCIucGNUa1NjXCIpLFwiLndNNlc3ZFwiKTthOnt2YXIgZT1kLmVsKCk7ZS50ZXh0Q29udGVudD1cIlwiO3ZhciBmPV8uaXkoYixcImFuc2FcIik7aWYoZiYmKGY9Zi5sKSYmZi5sZW5ndGgpe2Y9Xy5QYShmKTtmb3IodmFyIGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKXt2YXIgaD1nLnZhbHVlLmlsO2lmKCFoKWJyZWFrIGE7Zz1lO3ZhciBrPWcuYXBwZW5kQ2hpbGQsbD1pb2MoXCJkaXZcIixcIm11c19pbFwiKSxuPWguaSxyPWguaXA9PW51bGw/MDpoLmlwLHQ9aC50O2lmKHQpZm9yKHZhciB1PTA7dTx0Lmxlbmd0aDt1Kyspe2lmKG4mJnU9PT1yKXt2YXIgej1qb2Mobik7bC5hcHBlbmRDaGlsZCh6KX16PWtvYyh0W3VdLFwibXVzX2lsX3RcIik7bC5hcHBlbmRDaGlsZCh6KX1uJiZ0Lmxlbmd0aDw9ciYmKG49am9jKG4pLGwuYXBwZW5kQ2hpbGQobikpO1xuaWYobj1oLmF0KW49a29jKG4sXCJtdXNfaWxfYXRcIiksbC5hcHBlbmRDaGlsZChuKTtpZihuPWguc3Qpbj1rb2MobixcIm11c19pbF9zdFwiKSxsLmFwcGVuZENoaWxkKG4pOyhoPWguYWwpJiZsLnNldEF0dHJpYnV0ZShcImFyaWEtbGFiZWxcIixoKTtrLmNhbGwoZyxsKX1iLk5RYSgpfX1kLnRvZ2dsZUNsYXNzKFwibXVzX3BjXCIsITApO2E9bmV3IF8uQnkoYSxiLGMsdGhpcy5GZCk7cmV0dXJuIG5ldyBfLnAkYihhLGEpfTtfLm0uZlA9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uaXkoYSxcImFuc2FcIiwhMSl9O18ubS5IcT1mdW5jdGlvbigpe3JldHVybiA2MH07Xy5tLlZvYT1mdW5jdGlvbigpe3JldHVybiA4fTtfLm0uRHRhPWZ1bmN0aW9uKCl7cmV0dXJuXCJtaXRHeWJcIn07dmFyIG1vYz1mdW5jdGlvbigpe307bW9jLnByb3RvdHlwZS5iUT1mdW5jdGlvbihhKXthLm9hKFwiZHByXCIsXy5wemEoKSk7cmV0dXJuIDF9O3ZhciBub2M9ZnVuY3Rpb24oKXt0aGlzLm9hPW51bGx9O25vYy5wcm90b3R5cGUuSW89ZnVuY3Rpb24oYSl7dGhpcy5vYT1hLmdldChfLnE3Yil9O25vYy5wcm90b3R5cGUuYlE9ZnVuY3Rpb24oYSl7aWYoIXRoaXMub2EpcmV0dXJuIDE7dmFyIGI9dGhpcy5vYS5DN2EoKS5vYShcImlcIixcIlwiKTtiJiZhLm9hKFwiZ3NfbXNzXCIsYik7cmV0dXJuIDF9O3ZhciBvb2M9ZnVuY3Rpb24oKXt0aGlzLm9hPSExfTtvb2MucHJvdG90eXBlLmNvbmZpZ3VyZT1mdW5jdGlvbihhKXt0aGlzLm9hPWEuWjQoKXx8YS5wM2IoKX07b29jLnByb3RvdHlwZS5iUT1mdW5jdGlvbihhKXtyZXR1cm4gYS5BYS5sZW5ndGghPT0wfHx0aGlzLm9hPzE6M307dmFyIHBvYz1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5Odz1cIlwiO3RoaXMuZW5hYmxlZD0hMDt0aGlzLm9hPWZ1bmN0aW9uKCl7YS5lbmFibGVkPSExfX07Xy5tPXBvYy5wcm90b3R5cGU7Xy5tLmNvbmZpZ3VyZT1mdW5jdGlvbihhKXt0aGlzLk53PWEua0coKTt0aGlzLmVuYWJsZWQ9Xy5FKGEsMjYpJiZfLkUoYSwzNCl9O18ubS5Jbz1mdW5jdGlvbihhKXsoYT1hLmdldChfLmk3YikpJiZhLnZ5KDIsdGhpcy5vYSl9O18ubS5IcT1mdW5jdGlvbigpe3JldHVybiAxfTtcbl8ubS5nZXQ9ZnVuY3Rpb24oYSl7YT1hLmdldFF1ZXJ5KCk7cmV0dXJuIHRoaXMuZW5hYmxlZCYmXy56NmIoYSx0aGlzLk53KSYmKGE9YW9jKGEpLGEubGVuZ3RoPjApPyhhPWEubWFwKGZ1bmN0aW9uKGIpe3ZhciBjPWM9PT12b2lkIDA/ITE6YztiPShuZXcgXy5QNmIpLkZjKGIsITEsYikuRWMoMCkuVG9hKDcxKTtjJiZiLlRvYSg0MzIpO3JldHVybiBiLmJ1aWxkKCl9KSxuZXcgXy5qeShhLG5ldyBNYXAsITEsITEsITApKTpudWxsfTtfLm0udXBkYXRlPWZ1bmN0aW9uKGEsYil7YSYmYi5mRyE9PTEmJih0aGlzLmVuYWJsZWQ9ITEpfTt2YXIgcW9jPWZ1bmN0aW9uKGEpe3RoaXMub2E9YX07cW9jLnByb3RvdHlwZS5wcmE9ZnVuY3Rpb24oYSxiLGMpe2E9Xy5VNmIoXy5reShiKSxjKTtpZighYSlyZXR1cm5bXTt0cnl7dmFyIGQ9dGhpcy5vYSgpfWNhdGNoKGUpe3JldHVybltdfWlmKCFkKXJldHVybltdO2E9Xy51YyhhKTtfLkJjKGQsYSk7cmV0dXJuW2RdfTt2YXIgcm9jPWZ1bmN0aW9uKCl7Zm9jLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07Xy5EKHJvYyxmb2MpO3JvYy5wcm90b3R5cGUuanBiPWZ1bmN0aW9uKCl7dmFyIGE9Zm9jLnByb3RvdHlwZS5qcGIuY2FsbCh0aGlzKTthLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJHNDNmN2VcIilbMF0uY2xhc3NMaXN0LmFkZChcIlllNGpmY1wiKTtyZXR1cm4gYX07cm9jLnByb3RvdHlwZS5hTGE9ZnVuY3Rpb24oKXtyZXR1cm4gMX07dmFyIHNvYz1mdW5jdGlvbigpe3RoaXMub2E9bnVsbH07c29jLnByb3RvdHlwZS5Jbz1mdW5jdGlvbihhKXt0aGlzLm9hPWEuZ2V0KF8ucTdiKX07c29jLnByb3RvdHlwZS5scGI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMub2EuQ2IoXCJFODBlOWVcIikuZWwoKTtyZXR1cm4gbmV3IHJvYyhhLGIsYyxkKX07c29jLnByb3RvdHlwZS5BZmI9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT0xfTtzb2MucHJvdG90eXBlLkhxPWZ1bmN0aW9uKCl7cmV0dXJuIDEwfTt2YXIgdG9jPWZ1bmN0aW9uKCl7Zm9jLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07Xy5EKHRvYyxmb2MpO3RvYy5wcm90b3R5cGUuYUxhPWZ1bmN0aW9uKCl7cmV0dXJuLTJ9O3ZhciB1b2M9ZnVuY3Rpb24oKXt0aGlzLm9hPW51bGx9O3VvYy5wcm90b3R5cGUuSW89ZnVuY3Rpb24oYSl7dGhpcy5vYT1hLmdldChfLnE3Yil9O3VvYy5wcm90b3R5cGUubHBiPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLm9hLkNiKFwiWGlURjJlXCIpLmVsKCk7cmV0dXJuIG5ldyB0b2MoYSxiLGMsZCl9O3VvYy5wcm90b3R5cGUuQWZiPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09LTJ9O3VvYy5wcm90b3R5cGUuSHE9ZnVuY3Rpb24oKXtyZXR1cm4gMjB9O3ZhciB2b2M9ZnVuY3Rpb24oKXtmb2MuYXBwbHkodGhpcyxhcmd1bWVudHMpfTtfLkQodm9jLGZvYyk7dm9jLnByb3RvdHlwZS5hTGE9ZnVuY3Rpb24oKXtyZXR1cm4gMH07dmFyIHdvYz1mdW5jdGlvbigpe3RoaXMub2E9bnVsbH07d29jLnByb3RvdHlwZS5Jbz1mdW5jdGlvbihhKXt0aGlzLm9hPWEuZ2V0KF8ucTdiKX07d29jLnByb3RvdHlwZS5scGI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMub2EuQ2IoXCJFODBlOWVcIikuZWwoKTtyZXR1cm4gbmV3IHZvYyhhLGIsYyxkKX07d29jLnByb3RvdHlwZS5BZmI9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT0wfTt3b2MucHJvdG90eXBlLkhxPWZ1bmN0aW9uKCl7cmV0dXJuIDB9O3ZhciB4b2M9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuQWE9bnVsbDt0aGlzLm9hPSExO3RoaXMuQ2E9ZnVuY3Rpb24oKXtpZihhLkJhLlo0KCkpe3ZhciBiPW5ldyBfLlI2YihcIlwiLDAsMSk7YS5vYSYmYi5vYShcImdzX3BjcnRcIiwyLCExKTtiLkNhKCk7Yi5CYT0hMDthLkFhLnlHKGIsXy5jeGEpfX19O3hvYy5wcm90b3R5cGUuY29uZmlndXJlPWZ1bmN0aW9uKGEpe3RoaXMuQmE9YTt0aGlzLm9hPWEuYThhKCl9O3hvYy5wcm90b3R5cGUuSW89ZnVuY3Rpb24oYSl7dGhpcy5BYT1hLmdldChfLms3Yik7YS5nZXQoXy5pN2IpLnZ5KDEwLHRoaXMuQ2EpfTt2YXIgeW9jPWZ1bmN0aW9uKGEpe3RoaXMuSGU9YX0sem9jPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBfLm95O2IuZzgoXy5mbmMoKSk7YS5IZS5ZNGIoKSYmYi5FWChuZXcgeG9jKTtiLllfKG5ldyBvb2MsbmV3IG5vYyk7Yi5JVmIobmV3IHBvYyk7Yi5ZXyhuZXcgbW9jKTtiLnRSKG5ldyBfLkN5KTtiLnRSKG5ldyBsb2MpO2IudFIobmV3IF8uZWFjKTtiLktWYihuZXcgd29jLG5ldyBzb2MsbmV3IHVvYyk7Xy51N2IoYiwtMSxuZXcgcW9jKGZ1bmN0aW9uKCl7cmV0dXJuIF8ubSRiKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwieW5ScmljXCIpKX0pKTtyZXR1cm4gYn07dmFyIEJvYyxDb2MsRG9jLE5vYztfLkFvYz1bXTtCb2M9W1wiZ05PODliXCIsXCJUZzdMWmRcIl07Q29jPW5ldyBTZXQoXCJwcm1kIHEgc3RpY2sgdGJhcyBybHN0IGh0c1wiLnNwbGl0KFwiIFwiKSk7RG9jPVtdO18uRW9jPSExO18uRm9jPSExO18uR29jPVtdO18ubG5jKCk7XG52YXIgeHo9ZnVuY3Rpb24oYSl7Xy5DLmNhbGwodGhpcyxhLk5hKTt2YXIgYj10aGlzO3RoaXMua2I9dGhpcy53Yj10aGlzLlFhPXRoaXMuT2E9dGhpcy5DYT0hMTt0aGlzLkxhPTA7dGhpcy5vYT0hMTthLnNlcnZpY2UuaUtkLm9hLnNldChcIlwiLGEubW9kZWwuZXZlbnRzKTt0aGlzLkJvPWEubW9kZWwuQm87dGhpcy5ldmVudHM9YS5tb2RlbC5ldmVudHM7dGhpcy5Vdj1hLm1vZGVsLlV2O3RoaXMuRmQ9YS5tb2RlbC5GZDt0aGlzLmFSPWEubW9kZWwuYVI7Xy5EOGIoYS5tb2RlbC5IZSk7dGhpcy5IZT1hLm1vZGVsLkhlLkhlO18uRSh0aGlzLkhlLDY5KSYmdGhpcy5Vdi5SYS5hZGQodGhpcyk7dGhpcy5BYT1hLkxkLkd1ZDt0aGlzLmlaPWEuT0kuaVo7dGhpcy5EbD1hLmNvbnRyb2xsZXIuRGw7dGhpcy5HQz1hLmNvbnRyb2xsZXIuR0M7dGhpcy5SUj1hLmNvbnRyb2xsZXJzLlJSWzBdfHxudWxsO3RoaXMuZm9ybT10aGlzLmdldFJvb3QoKS5jbG9zZXN0KF8uVkdhKFwiZm9ybVwiKSkuRWIoKTtcbnRoaXMuQmE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIiN0b3BoZlwiKTt2YXIgYzsoYz1hLkxkLlJXZCk9PW51bGx8fGMuRkxkKGZ1bmN0aW9uKCl7cmV0dXJuIGIuRGwuem4oKX0pO3ZhciBkOyhkPWEuTGQuSkdkKT09bnVsbHx8ZC5KR2IodGhpcy5EbCk7dGhpcy5PYj1fLlNmKHRoaXMuZ2V0RGF0YShcImJpYm9lXCIpLCExKTt0aGlzLkdiPV8uU2YodGhpcy5nZXREYXRhKFwiYWx0XCIpLCExKTt0aGlzLndiPXRoaXMuZ2V0RGF0YShcIjIwNFwiKS5QYigpO3RoaXMuVWE9Xy5TZih0aGlzLmdldERhdGEoXCJocFwiKSwhMSk7SG9jKHRoaXMpO18uRSh0aGlzLkhlLDk1KSYmdGhpcy5mb3JtLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsXy5iYS5zYm1saGYpO18uWGQoZG9jdW1lbnQsXCJjbGlja1wiLGZ1bmN0aW9uKGgpe2ZvcihoPWgudGFyZ2V0O2gmJmghPT1kb2N1bWVudDspe2lmKGg9PT1iLmdldFJvb3QoKS5lbCgpKXJldHVybjtoPWguX19vd25lcj9oLl9fb3duZXI6aC5wYXJlbnROb2RlfWIuR0MuQXcoITEpO1xuYi5ldmVudHMuVnIoMTQsMyl9LCEwKTtfLlhkKGRvY3VtZW50LFwia2V5ZG93blwiLGZ1bmN0aW9uKGgpe3JldHVybiBiLmxEKGgpfSk7dGhpcy5HYT1bXTtfLmhnKHRoaXMuZ2V0Um9vdCgpLGZ1bmN0aW9uKGgpe2Zvcih2YXIgaz1fLlBhKEJvYyksbD1rLm5leHQoKTshbC5kb25lO2w9ay5uZXh0KCkpaC5maW5kKFwiLlwiK2wudmFsdWUpLmVhY2goZnVuY3Rpb24obil7cmV0dXJuIGIuR2EucHVzaChuKX0pfSk7dGhpcy5HYS5mb3JFYWNoKGZ1bmN0aW9uKGgpe2guYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsZnVuY3Rpb24obCl7SW9jKGIsbCxoKX0pO2lmKGIuR2Ipe3ZhciBrPWguZ2V0QXR0cmlidXRlKFwiYXJpYS1sYWJlbFwiKTtrJiZuZXcgXy5uOWIoaCxrKX19KTt2YXIgZT1fLk1uKHRoaXMuZ2V0Um9vdCgpLFwiLlJObXBYY1wiKS5lbCgpO2UmJmUuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsZnVuY3Rpb24oKXt2YXIgaD1uZXcgTWFwKFtbXCJ2ZWRcIixfLlVjKGUpXV0pO18uZ25jKGIuZm9ybSxcbmgpfSk7KGM9Xy5Nbih0aGlzLmdldFJvb3QoKSxcIiNnYnFmYmJcIikuZWwoKSkmJmMuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsZnVuY3Rpb24oKXt2YXIgaD1iLmZvcm0ucXVlcnlTZWxlY3RvcihcImlucHV0W3R5cGU9aGlkZGVuXVtuYW1lPWlmbHNpZ11cIik7aCYmaC52YWx1ZSYmYi5EbC56bigpJiYoaC5kaXNhYmxlZD0hMSl9KTsoYz1fLlpuKHRoaXMsXCJ1Rk1Pb2ZcIikuZWwoKSkmJmMuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsZnVuY3Rpb24oaCl7Yi5EbC5mb2N1cygpO2hvYyYmKGguZGF0YT0wLGIuUmEobmV3IF8ucGUoaCxiLmdldFJvb3QoKSxiLmdldFJvb3QoKSkpKX0pO2RvYyh0aGlzLkRsLHRoaXMuSGUua0coKSk7dmFyIGY7KGY9dGhpcy5pWik9PW51bGx8fGYuZk5kKGZ1bmN0aW9uKCl7cmV0dXJuIGIuRGwuem4oKX0pO3RoaXMuUlImJmNvYyh0aGlzLlJSLCEhdGhpcy5EbC56bigpKTtfLlg2YihmdW5jdGlvbigpe3ZhciBoPWIuZm9ybS5xdWVyeVNlbGVjdG9yQWxsKFwiaW5wdXRbdHlwZT1oaWRkZW5dXCIpO1xuaWYoaCl7aD1fLlBhKGgpO2Zvcih2YXIgaz1oLm5leHQoKTshay5kb25lO2s9aC5uZXh0KCkpaz1rLnZhbHVlLGsucGFyZW50Tm9kZSE9PWIuQmEmJmIuZm9ybS5yZW1vdmVDaGlsZChrKX1iLkdDLkF3KCExKTtiLkRsLm9hKCl9KTt0aGlzLmhiKCk7aWYoKG5ldyBVUkxTZWFyY2hQYXJhbXMoYS5zZXJ2aWNlLm9kLmxvY2F0aW9uLnNlYXJjaCkpLmhhcyhcIm9sdWRcIikpe3ZhciBnOyhnPWEuTGQuSHVkKT09bnVsbHx8Zy5QeGIoMil9Zj1fLlBhKF8uR29jKTtmb3IoZz1mLm5leHQoKTshZy5kb25lO2c9Zi5uZXh0KCkpZz1nLnZhbHVlLGcodGhpcyxhKTtfLkdvYz1bXX07Xy5EKHh6LF8uQyk7XG54ei5JYT1mdW5jdGlvbigpe3JldHVybntwcmVsb2FkOntSUjpfLnV5LERsOl8ueHksR0M6Xy52en0sc2VydmljZTp7aUtkOl8uZG5jLG9kOl8uUXV9LG1vZGVsOntCbzpfLnB5LGV2ZW50czpfLkE1YixVdjpfLmw4YixGZDpfLnJ5LGFSOl8uYTliLEhlOl8uQzhifSxPSTp7aVo6Xy5ROWJ9LGNvbnRyb2xsZXI6e0RsOlwiZ0xGeWZcIixHQzpcIlVVYlQ5XCJ9LGNvbnRyb2xsZXJzOntSUjpcIlJQMHhvYlwifSxMZDp7SHVkOlwiUjVtZ3lcIixSV2Q6XCJGN3VxSWVcIixKR2Q6XCJSb01ZbWJcIixHdWQ6XCJ0bzFtemNcIn19fTt4ei5wcm90b3R5cGUuaGI9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO18uRSh0aGlzLkhlLDQ3KSYmXy55Zih0aGlzLHttb2RlbDp7ZUhhOl8ua1hhfX0pLnRoZW4oZnVuY3Rpb24oYil7YS5lSGE9Yi5tb2RlbC5lSGE7YS5lSGEucmVnaXN0ZXIoYSl9KX07XG52YXIgSm9jPWZ1bmN0aW9uKGEsYixjLGQsZSl7YS5EbC5JcGEoYixjPT09dm9pZCAwPyExOmMsZD09PXZvaWQgMD8hMDpkLGU9PT12b2lkIDA/ITA6ZSk7YS5SUiYmY29jKGEuUlIsISFiKX07Xy5tPXh6LnByb3RvdHlwZTtfLm0ualZkPWZ1bmN0aW9uKGEpe0pvYyh0aGlzLGEuZGF0YSwhMCk7dGhpcy5EbC5CYT1hLmRhdGF9O1xuXy5tLmtRZD1mdW5jdGlvbihhKXt2YXIgYjtpZihhPT1udWxsPzA6KGI9YS5kYXRhKT09bnVsbD8wOmIudXJsKXt2YXIgYz1hLmRhdGEudXJsLGQ9bmV3IE1hcCxlPW5ldyBTZXQoW10uY29uY2F0KF8ubWQodGhpcy5CYS5jaGlsZHJlbikpLm1hcChmdW5jdGlvbihnKXtyZXR1cm4gZy5nZXRBdHRyaWJ1dGUoXCJuYW1lXCIpfSkpO18uZUZhLmZvckVhY2goZnVuY3Rpb24oZyl7aWYoIUNvYy5oYXMoZykpe3ZhciBoPV8uS20oYyxnKTsoZS5oYXMoZyl8fGghPT1udWxsKSYmZC5zZXQoZyxoIT1udWxsP2g6XCJcIil9fSk7Xy5nbmModGhpcy5CYSxkKX12YXIgZjtfLkUodGhpcy5IZSw2NykmJihhPT1udWxsPzA6KGY9YS5kYXRhKT09bnVsbD8wOmYucXVlcnkpJiZfLkRlKHRoaXMuSGUsMyxhLmRhdGEucXVlcnkpO18uRSh0aGlzLkhlLDY5KSYmXy5rOGIodGhpcy5Vdil9O1xuXy5tLk53Yz1mdW5jdGlvbihhKXtpZihhLmRhdGEuZWkpe3ZhciBiPW5ldyBNYXA7Yi5zZXQoXCJlaVwiLGEuZGF0YS5laSk7Xy5nbmModGhpcy5CYSxiKX1fLkUodGhpcy5IZSw2NykmJih0aGlzLlpCKCksYT10aGlzLkJvLGEuWUthKF8uYzhiLHRoaXMuSGUpLGEuWUthKF8uZDhiLG5ldyBfLlo3YihhLkJhKSksdGhpcy5ldmVudHMuVnIoMTApKX07XG5fLm0ueUc9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzO2I9Yj09PXZvaWQgMD8wOmI7dGhpcy5vYT90aGlzLkdDLkF3KCExKToodGhpcy5HQy5ObmMoKSx0aGlzLmFSLnlHKG5ldyBfLlI2YihhLHRoaXMuRGwuVGhiKCksYiksZnVuY3Rpb24oZCxlKXtpZihjLm9hJiYhXy56NmIoZC5nZXRRdWVyeSgpLGMuSGUua0coKSkpYy5HQy5BdyghMSk7ZWxzZSBpZihjLkRsLnpuKCkuc3RhcnRzV2l0aChkLmdldFF1ZXJ5KCkpJiZjLkRsLlBrKCkmJighXy5FKGMuSGUsNDcpfHwhYy5RYSkmJihjLkdDLnJlbmRlcihkLGUpLF8uTDliKGMuRGwsZS5vYShcInBcIixcIlwiKSksXy5FKGMuSGUsNDcpKSl7dmFyIGY9Xy5NbihjLmdldFJvb3QoKSxcIi5UZzdMWmRcIikuZWwoKTtmPV8uVWMoZik7dmFyIGc7KGc9Yy5lSGEpPT1udWxsfHxnLm9CYihkLGUsZil9fSkpfTtfLm0udG9nZ2xlQ2xhc3M9ZnVuY3Rpb24oYSxiKXt0aGlzLmdldFJvb3QoKS50b2dnbGVDbGFzcyhhLGIpfTtcbl8ubS5uOT1mdW5jdGlvbihhKXt0aGlzLkZkLnpIKGEpO3JldHVybiB0aGlzLkZkLm45KHRoaXMuRGwuRTcpfTtfLm0uWkI9ZnVuY3Rpb24oKXt0aGlzLkZkLnNYYSgpO3RoaXMuQm8ucmVzZXQoKTt0aGlzLk9hPXRoaXMuQ2E9ITF9O18ubS5Ld2M9ZnVuY3Rpb24oKXt0aGlzLkFhJiZ0aGlzLmlaJiYhdGhpcy5EbC56bigpJiYodGhpcy5pWi54WWIoKSxfLm04Yih0aGlzLlV2LG51bGwpLHRoaXMuRGwuZm9jdXMoKSxLb2ModGhpcywwKSk7Sm9jKHRoaXMsXCJcIiwhMSwhMSl9O18ubS5QTmI9ZnVuY3Rpb24oYSl7dGhpcy5nZXRSb290KCkuYWRkQ2xhc3MoXCJzYmZjXCIpO3RoaXMuRGwuUWhhKCk7dGhpcy5ldmVudHMuVnIoNyk7dGhpcy5RYT0hMTtLb2ModGhpcyxhLmRhdGF8fDApfTtcbnZhciBLb2M9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLkRsLnpuKCk7YS55RyhjLGIpO2EuQWEmJmEuRGwuem4oKSYmYS5BYS5HYSgpOyFhLk9hJiZhLkRsLnZ2KCkmJmEuRGwuem4oKSYmKF8uSnUoYS5EbC52digpKSxhLk9hPSEwKTthLlJSJiYoY29jKGEuUlIsISFjKSxhLm9hJiZhLkRsLlFoYSgpKX07eHoucHJvdG90eXBlLlJhPWZ1bmN0aW9uKGEpe3RoaXMuZ2V0Um9vdCgpLmFkZENsYXNzKFwic2JmY1wiKTt2YXIgYj10aGlzLkRsLnpuKCksYz1iPT09dGhpcy5IZS5rRygpfHwhIWImJl8uRSh0aGlzLkhlLDI1KTtiJiYhY3x8dGhpcy5QTmIoYSk7dGhpcy5ldmVudHMuVnIoNSk7dGhpcy5EbC5RaGEoKTtyZXR1cm4gXy5Gb2N9O3h6LnByb3RvdHlwZS5CYj1mdW5jdGlvbigpe3RoaXMuZ2V0Um9vdCgpLnJlbW92ZUNsYXNzKFwic2JmY1wiKTt0aGlzLmV2ZW50cy5Wcig2KTtpZighdGhpcy5VYXx8dGhpcy5rYil0aGlzLkRsLnZ2KCkucm93cz0xLHRoaXMub2E9ITE7cmV0dXJuIF8uRm9jfTtcbnh6LnByb3RvdHlwZS5SYj1mdW5jdGlvbihhKXt0aGlzLmtiPWE9YS5kYXRhO3ZhciBiPXRoaXMuZ2V0Um9vdCgpLmhhc0NsYXNzKFwic2JmY1wiKTthPyh0aGlzLkdDLkF3KCExKSxifHwodGhpcy5EbC52digpLnJvd3M9MSx0aGlzLm9hPSExKSk6YXx8KHRoaXMuZ2V0Um9vdCgpLmFkZENsYXNzKFwic2JmY1wiKSx0aGlzLkRsLlFoYSgpLHRoaXMuZ2V0Um9vdCgpLnRvZ2dsZUNsYXNzKFwic2JmY1wiLGIpKX07eHoucHJvdG90eXBlLnJlZGlyZWN0PWZ1bmN0aW9uKGEpe3ZhciBiPWEuZGF0YS5Kay5DYSgpLGM9dGhpcy5uOSgxKSxkPXRoaXMuZXZlbnRzLGU9YS5kYXRhO2UuSzI9PT0xP2QuVnIoMyxlKTpkLlZyKDEsZSk7Yis9XCImXCIrXy5ZNmIoYyk7YS5kYXRhLnBhcmFtZXRlcnMmJmEuZGF0YS5wYXJhbWV0ZXJzLmhhcyhcInZlZFwiKSYmKGIrPVwiJnZlZD1cIithLmRhdGEucGFyYW1ldGVycy5nZXQoXCJ2ZWRcIikpO18ucWQoYik7dGhpcy5aQigpfTtcbnZhciBJb2M9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuRGwuem4oKTtfLmh5KGIpO2I9bmV3IE1hcChbW1widmVkXCIsXy5VYyhjKV1dKTthLkNhJiZiLnNldChcInVhY3RcIixcIjVcIik7Xy5nbmMoYS5mb3JtLGIpO0xvYyhhLChuZXcgXy5INmIpLnpIKGEuQ2E/MzoxMikuc2V0UXVlcnkoZCkuYnVpbGQoKSxjKX0sTG9jPWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlPSEoKGQ9YS5pWik9PW51bGx8fCFkLmU3YigpKTtpZihfLks2YihiLnF1ZXJ5KSE9PVwiXCJ8fGUpe2Q9YS5ldmVudHM7Yi5LMj09PTE/ZC5WcigzLGIpOmQuVnIoMSxiKTtkPWEubjkoYi5LMik7Xy5nbmMoYS5mb3JtLGQpO3ZhciBmO2lmKChmPWEuZUhhKT09bnVsbD8wOmYucEJiKGMsYixhLm45KGIuSzIpKSlhLkdDLkF3KCExKTtlbHNle2lmKGEud2Ipe3ZhciBnO2M9KGc9YS5IZS51QWEoKSkhPW51bGw/ZzpcInVuYXZhaWxhYmxlXCI7Xy5aNmIobmV3IE1hcChbW1wiY2xpZW50XCIsYS5IZS5iTigpXSxbXCJzYnFmc3RhcnRcIixcIjJcIl0sW1wiZWlcIixcbmNdXSksYS5IZS5mUmEoKSl9ZT8oSm9jKGEsYi5xdWVyeSwhMCwhMCwhMSksYS5pWi5DYShiKSxhLkdDLkF3KCExKSk6YS5mb3JtLnN1Ym1pdCgpfWEuUWE9ITA7YS5aQigpfWVsc2UgYj1hLm45KGIuSzIpLF8uZ25jKGEuZm9ybSxiKX07Xy5tPXh6LnByb3RvdHlwZTtfLm0uc2VhcmNoPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZGF0YS5xdWVyeXx8XCJcIjtfLmduYyh0aGlzLmZvcm0sYS5kYXRhLnBhcmFtZXRlcnMpO0pvYyh0aGlzLGIsITAsITAsITEpO3RoaXMuR0MuQXcoITEpO0xvYyh0aGlzLGEuZGF0YSl9O18ubS5lSmQ9ZnVuY3Rpb24oYSl7dmFyIGI9YS5kYXRhLkprO2lmKGIpc3dpdGNoKGEuZGF0YS5FamMpe2Nhc2UgMTpiPXtKazphLmRhdGEuSmsselphOmEuZGF0YS56WmF9O2E9YS50YXJnZXRFbGVtZW50LmVsKCk7Xy56ZShhLF8uSXNiLGIsITEpO2JyZWFrO2Nhc2UgMjp0aGlzLkZkLmZjYSg1KTtKb2ModGhpcyxiLkFhKCkrXCIgXCIpO2JyZWFrO2Nhc2UgMDpicmVhaztkZWZhdWx0Ol8uRGMoYS5kYXRhLkVqYyl9fTtcbl8ubS5DcmE9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpczt0aGlzLkRsLmZvY3VzKCk7dmFyIGM9YS5kYXRhLkprO2EuZGF0YS56WmEuaGFzQ2xhc3MoXCJ0S2hMTGJcIil8fChhLmRhdGEuelphLmFkZENsYXNzKFwidEtoTExiXCIpLHRoaXMuYVIuQ3JhKGMsdGhpcy5IZS5TUCgpLGZ1bmN0aW9uKGQpe2Q/Yi55RyhiLkRsLnpuKCkpOl8ubWYoYi5nZXRSb290KCkuZWwoKSxfLkpzYil9KSl9O18ubS5Pd2M9ZnVuY3Rpb24oYSl7KGE9YS5kYXRhKT9Nb2ModGhpcywxKTp0aGlzLkxhPT09MSYmTW9jKHRoaXMsMCk7Tm9jfHx0aGlzLmdldFJvb3QoKS50b2dnbGVDbGFzcyhcImVtY2F2XCIsYSk7dGhpcy5ldmVudHMuVnIoNCxhKTtfLkNjKFtfLnBjKF8uSTliKV0sdGhpcy5EbC52digpLFwiYXJpYS1leHBhbmRlZFwiLGE/XCJ0cnVlXCI6XCJmYWxzZVwiKTtyZXR1cm4gXy5Fb2N9O18ubS5KT2Q9ZnVuY3Rpb24oKXtOb2MmJk1vYyh0aGlzLDIpfTtcbl8ubS5UOGM9ZnVuY3Rpb24oYSl7YT1hLmRhdGE7aWYodGhpcy5VYSYmIWEpcmV0dXJuITE7dGhpcy5nZXRSb290KCkudG9nZ2xlQ2xhc3MoXCJwRDRxVGRcIixhKTt0aGlzLkRsLlFoYSgpO3JldHVybiExfTtfLm0uRFJkPWZ1bmN0aW9uKGEpe2E9YS5kYXRhO3RoaXMuZ2V0Um9vdCgpLnRvZ2dsZUNsYXNzKFwiZW1jYXRcIixhKX07Xy5tLnZUZD1mdW5jdGlvbihhKXt0aGlzLkdDLkF3KGEuZGF0YXx8ITEpfTtfLm0uWjNjPWZ1bmN0aW9uKCl7TW9jKHRoaXMsMCl9O1xudmFyIE1vYz1mdW5jdGlvbihhLGIpe2EuTGE9YjtpZihOb2Mpc3dpdGNoKGIpe2Nhc2UgMTphLmdldFJvb3QoKS5hZGRDbGFzcyhcImVtY2F2XCIpO2EuZ2V0Um9vdCgpLnJlbW92ZUNsYXNzKFwiQmdQUHJjXCIpO2JyZWFrO2Nhc2UgMjphLmdldFJvb3QoKS5yZW1vdmVDbGFzcyhcImVtY2F2XCIpO2EuZ2V0Um9vdCgpLmFkZENsYXNzKFwiQmdQUHJjXCIpO2JyZWFrO2Nhc2UgMDphLmdldFJvb3QoKS5yZW1vdmVDbGFzcyhcImVtY2F2XCIpO2EuZ2V0Um9vdCgpLnJlbW92ZUNsYXNzKFwiQmdQUHJjXCIpO2JyZWFrO2RlZmF1bHQ6Xy5EYyhiKX19O18ubT14ei5wcm90b3R5cGU7Xy5tLnJiZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkxhfTtfLm0uZXhpdD1mdW5jdGlvbihhKXt0aGlzLmV2ZW50cy5WcigxNCxhLmRhdGEpfTtcbl8ubS5Md2M9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGEuZGF0YSE9PVwibnVtYmVyXCIpe2E9YS5kYXRhO3ZhciBiO18uQ2MoW18ucGMoXy5KOWIpXSx0aGlzLkRsLnZ2KCksXCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnRcIiwoYj1hPT1udWxsP3ZvaWQgMDphLkNhKCkpIT1udWxsP2I6XCJcIik7aWYoYT09bnVsbD8wOmEub2EhPT0wJiZhLm9hIT09MiliPShhPT1udWxsP3ZvaWQgMDphLm9hPT09MD9cIlwiOmEuQmE/YS5CYTphLkprP2EuSmsuQWEoKTpcIlwiKXx8XCJcIix0aGlzLkRsLklwYShifHx0aGlzLkRsLkU3LCEwLCExLCExKTtyZXR1cm4gXy5pbWN8fHZvaWQgMH19O18ubS5Nd2M9ZnVuY3Rpb24oYSl7dGhpcy5EbC5JcGEoYS5kYXRhfHx0aGlzLkRsLkU3LCEwLCExLCExKX07Xy5tLlpqZD1mdW5jdGlvbihhKXt0aGlzLm9hPWEuZGF0YTshdGhpcy5vYXx8dGhpcy5HQy5DRWEoKXx8Xy56NmIodGhpcy5EbC56bigpLHRoaXMuSGUua0coKSl8fHRoaXMuR0MuQXcoITEpfTtcbl8ubS5sRD1mdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9YS5ZZyxkPW5ldyBfLnBlKGMsbmV3IF8uTG4oYy50YXJnZXQpLHRoaXMuZ2V0Um9vdCgpKTtfLm1mKHRoaXMuZ2V0Um9vdCgpLmVsKCksXy5Qc2IsZCk7aWYodGhpcy5EbC5QaygpJiYhXy5Bb2MubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlKGEsYil9KS5zb21lKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpc3dpdGNoKGEua2V5Q29kZSl7Y2FzZSAzODppZih0aGlzLm9hKWJyZWFrO2EucHJldmVudERlZmF1bHQoKTt0aGlzLkdDLmVmKCl8fHRoaXMuRGwuWHZiKGQpO2JyZWFrO2Nhc2UgNDA6aWYodGhpcy5vYSlicmVhazt0aGlzLkdDLmVmKCl8fHRoaXMuRGwuWHZiKGQpO2JyZWFrO2Nhc2UgMjc6Xy5oeShjKTt0aGlzLkdDLkF3KCExKTt0aGlzLk9iJiZ0aGlzLkRsLmJsdXIoKTt0aGlzLmV2ZW50cy5WcigxNCwxKTticmVhaztjYXNlIDEzOmlmKGEuc2hpZnRLZXkpYnJlYWs7dGhpcy5HQy5DRWEoKT9fLmh5KGMpOih0aGlzLkNhPVxuITAsXy5oeShjKSx0aGlzLkdhLmxlbmd0aD4wP0lvYyh0aGlzLGMsdGhpcy5HYVswXSk6dGhpcy5mb3JtLnN1Ym1pdCgpKTticmVhaztjYXNlIDk6dGhpcy5HQy5BdyghMSk7dGhpcy5ldmVudHMuVnIoMTQsMik7YnJlYWs7Y2FzZSA4OnRoaXMuQWEmJiF0aGlzLkRsLnpuKCkmJih0aGlzLkFhLkNhKCksS29jKHRoaXMsMCkpfX07Xy5tLkZmYz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuVXYuS25hO18uZ25jKHRoaXMuQmEsbmV3IE1hcChbW1widWRtXCIsKGE9PW51bGw/dm9pZCAwOmEudG9TdHJpbmcoKSl8fFwiXCJdXSkpfTt2YXIgSG9jPWZ1bmN0aW9uKGEpe3ZhciBiPXpvYyhuZXcgeW9jKGEuSGUpKTtiLmc4LmFwcGx5KGIsXy5tZChEb2MpKTtiLmc4KF8uT3kpO2IuZzgoXy53eik7YS5Cby5BYShfLnI3YixhKTthLkJvLmluaXRpYWxpemUoYixhLkhlKX07Xy5MKHh6LnByb3RvdHlwZSxcIkVCb0hhY1wiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuRmZjfSk7XG5fLkwoeHoucHJvdG90eXBlLFwiSjRlNmxiXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5aamR9KTtfLkwoeHoucHJvdG90eXBlLFwiZWFHQlNcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLk13Y30pO18uTCh4ei5wcm90b3R5cGUsXCJuVVo5bGVcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLkx3Y30pO18uTCh4ei5wcm90b3R5cGUsXCJTTklKVGRcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLmV4aXR9KTtfLkwoeHoucHJvdG90eXBlLFwiUWZ3b3hmXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yYmR9KTtfLkwoeHoucHJvdG90eXBlLFwiaWhZYVdjXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5aM2N9KTtfLkwoeHoucHJvdG90eXBlLFwiQU5kaWRjXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52VGR9KTtfLkwoeHoucHJvdG90eXBlLFwiTHVSdWdmXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5EUmR9KTtfLkwoeHoucHJvdG90eXBlLFwiWVBSYXdiXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5UOGN9KTtcbl8uTCh4ei5wcm90b3R5cGUsXCJGdFd4cWJcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLkpPZH0pO18uTCh4ei5wcm90b3R5cGUsXCJqM2JKbmJcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLk93Y30pO18uTCh4ei5wcm90b3R5cGUsXCJlcFVva2JcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLkNyYX0pO18uTCh4ei5wcm90b3R5cGUsXCJITGdoM1wiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZUpkfSk7Xy5MKHh6LnByb3RvdHlwZSxcIkcwamdZZFwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2VhcmNofSk7Xy5MKHh6LnByb3RvdHlwZSxcIlE3Q25yY1wiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmVkaXJlY3R9KTtfLkwoeHoucHJvdG90eXBlLFwibk1lVUpmXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5SYn0pO18uTCh4ei5wcm90b3R5cGUsXCJqSTN3emZcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLkJifSk7Xy5MKHh6LnByb3RvdHlwZSxcImRGeVFFZlwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUmF9KTtcbl8uTCh4ei5wcm90b3R5cGUsXCJkM3NRTGRcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLlBOYn0pO18uTCh4ei5wcm90b3R5cGUsXCJBVnNubGJcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLkt3Y30pO18uTCh4ei5wcm90b3R5cGUsXCJtVnc2bmJcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLk53Y30pO18uTCh4ei5wcm90b3R5cGUsXCJkdXdmR1wiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMua1FkfSk7Xy5MKHh6LnByb3RvdHlwZSxcInczV3NtY1wiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMualZkfSk7Xy5MKHh6LnByb3RvdHlwZSxcIllEbERPYlwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaGJ9KTtfLk9vYz1mdW5jdGlvbigpe0RvYy5wdXNoLmFwcGx5KERvYyxfLm1kKF8ubGMuYXBwbHkoMCxhcmd1bWVudHMpKSl9O05vYz1fLlQkYjtfLnByKF8uaG5jLHh6KTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwiY25qRUNmXCIpO1xuXG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5QQT1mdW5jdGlvbihhKXtfLkMuY2FsbCh0aGlzLGEuTmEpO3RoaXMucm9vdD10aGlzLmdldFJvb3QoKTt0aGlzLkFhPXRoaXMuQ2IoXCJHajdpbmVcIik7dGhpcy5DYT10aGlzLkNiKFwiTzUyMExcIik7Xy51ZSh0aGlzLkNhLmVsKCksXCJjbGlja1wiLHRoaXMub2EsdGhpcyl9O18uRChfLlBBLF8uQyk7Xy5QQS5JYT1fLkMuSWE7Xy5QQS5wcm90b3R5cGUuaGlnaGxpZ2h0PWZ1bmN0aW9uKCl7dGhpcy5BYS50b2dnbGVDbGFzcyhcInBITlV3YlwiLCEwKTt2YXIgYT10aGlzLkFhLkViKCk7YSYmYS5mb2N1cygpfTtfLlBBLnByb3RvdHlwZS5CYT1mdW5jdGlvbigpe3RoaXMuQWEudG9nZ2xlQ2xhc3MoXCJwSE5Vd2JcIiwhMSl9O18uUEEucHJvdG90eXBlLm9hPWZ1bmN0aW9uKGEpe18uaHkoYS5ldmVudCk7dGhpcy5yb290LmhpZGUoKX07Xy5MKF8uUEEucHJvdG90eXBlLFwiZzU2aTRlXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vYX0pO18uTChfLlBBLnByb3RvdHlwZSxcImVRc1FCXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5CYX0pO1xuXy5MKF8uUEEucHJvdG90eXBlLFwic241NFFcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLmhpZ2hsaWdodH0pO18ucXIoXy5QQSk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcIllQNG1VY1wiKTtcblxuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciB3RWM9Xy5zcShcIllQNG1VY1wiLFtdKTtfLnhFYz1fLkdkKFwiQTVJanlcIixbd0VjXSk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciB5RWM9ZnVuY3Rpb24oYSl7Xy5QQS5jYWxsKHRoaXMsYS5OYSl9O18uRCh5RWMsXy5QQSk7eUVjLklhPV8uUEEuSWE7eUVjLnByb3RvdHlwZS5HYT1mdW5jdGlvbigpe3JldHVyblwicEhOVXdiXCJ9O3lFYy5wcm90b3R5cGUuSkdiPWZ1bmN0aW9uKGEpe3RoaXMueHg9YX07eUVjLnByb3RvdHlwZS5vYT1mdW5jdGlvbihhKXtfLlBBLnByb3RvdHlwZS5vYS5jYWxsKHRoaXMsYSk7dmFyIGI7KGI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcImlucHV0W25hbWU9dGJzXVwiKSk9PW51bGx8fGIucmVtb3ZlKCk7dmFyIGM7aWYoYT0oYz10aGlzLnh4KT09bnVsbD92b2lkIDA6Yy56bigpKXRoaXMudHJpZ2dlcihfLkdzYixfLko2YigobmV3IF8uSDZiKS5zZXRRdWVyeShhKSkuekgoMSkuYnVpbGQoKSk7ZWxzZXt2YXIgZDsoZD10aGlzLnh4KT09bnVsbHx8ZC52digpLmZvY3VzKCl9fTtfLkwoeUVjLnByb3RvdHlwZSxcImc1Nmk0ZVwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub2F9KTtcbl8uTCh5RWMucHJvdG90eXBlLFwiTjFRZlwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuR2F9KTtfLnByKF8ueEVjLHlFYyk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcIkE1SWp5XCIpO1xuXG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5FT2M9Xy5HZChcInR1UTZ0ZlwiLFtdKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIEZPYz1mdW5jdGlvbihhKXt0aGlzLm9hPWE7dGhpcy5vYS5BYShcIi9jbGllbnRfc3RyZWFtei9sZW5zX3NlYXJjaC9sZW5zX3Rvb2xfbWlzc2luZ19kZXBlbmRlbmNpZXNcIil9O0ZPYy5wcm90b3R5cGUuU2o9ZnVuY3Rpb24oKXt0aGlzLm9hLm9hKFwiL2NsaWVudF9zdHJlYW16L2xlbnNfc2VhcmNoL2xlbnNfdG9vbF9taXNzaW5nX2RlcGVuZGVuY2llc1wiKX07dmFyIEdPYz1mdW5jdGlvbihhKXt0aGlzLm9hPWE7dGhpcy5vYS5BYShcIi9jbGllbnRfc3RyZWFtei9sZW5zX3NlYXJjaC9sZW5zX3Rvb2xfbWlzc2luZ19pbnNlcnRpb25fcG9pbnRcIil9O0dPYy5wcm90b3R5cGUuU2o9ZnVuY3Rpb24oKXt0aGlzLm9hLm9hKFwiL2NsaWVudF9zdHJlYW16L2xlbnNfc2VhcmNoL2xlbnNfdG9vbF9taXNzaW5nX2luc2VydGlvbl9wb2ludFwiKX07dmFyIEhPYz1mdW5jdGlvbihhKXt0aGlzLm9hPWE7dGhpcy5vYS5BYShcIi9jbGllbnRfc3RyZWFtei9sZW5zX3NlYXJjaC9sZW5zX3Rvb2xfbWlzc2luZ19jbGllbnRfYWRhcHRlcl9jb250cm9sbGVyXCIpfTtcbkhPYy5wcm90b3R5cGUuU2o9ZnVuY3Rpb24oKXt0aGlzLm9hLm9hKFwiL2NsaWVudF9zdHJlYW16L2xlbnNfc2VhcmNoL2xlbnNfdG9vbF9taXNzaW5nX2NsaWVudF9hZGFwdGVyX2NvbnRyb2xsZXJcIil9O3ZhciBJT2M9ZnVuY3Rpb24oYSl7dGhpcy5vYT1hO3RoaXMub2EuQ2EoXCIvY2xpZW50X3N0cmVhbXovbGVuc19zZWFyY2gvaW1hZ2VfcHJvY2Vzc29yX2lucHV0X2ZpbGVfc2l6ZVwiLHtpajozLGhqOlwiaW5wdXRfbWltZV90eXBlXCJ9LHtpajoxLGhqOlwiaGFzX3RyYW5zcGFyZW5jeVwifSl9O0lPYy5wcm90b3R5cGUueXU9ZnVuY3Rpb24oYSxiLGMpe3RoaXMub2EueXUoXCIvY2xpZW50X3N0cmVhbXovbGVuc19zZWFyY2gvaW1hZ2VfcHJvY2Vzc29yX2lucHV0X2ZpbGVfc2l6ZVwiLGEsYixjKX07XG52YXIgSk9jPWZ1bmN0aW9uKGEpe3RoaXMub2E9YTt0aGlzLm9hLkNhKFwiL2NsaWVudF9zdHJlYW16L2xlbnNfc2VhcmNoL2ltYWdlX3Byb2Nlc3Nvcl9wcm9jZXNzZWRfZmlsZV9zaXplXCIse2lqOjMsaGo6XCJpbnB1dF9taW1lX3R5cGVcIn0se2lqOjMsaGo6XCJwcm9jZXNzZWRfbWltZV90eXBlXCJ9LHtpajoxLGhqOlwid2FzX21vZGlmaWVkXCJ9LHtpajoxLGhqOlwiaGFzX3RyYW5zcGFyZW5jeVwifSx7aWo6MSxoajpcImxhcmdlcl90aGFuX29yaWdpbmFsXCJ9KX07Sk9jLnByb3RvdHlwZS55dT1mdW5jdGlvbihhLGIsYyxkLGUsZil7dGhpcy5vYS55dShcIi9jbGllbnRfc3RyZWFtei9sZW5zX3NlYXJjaC9pbWFnZV9wcm9jZXNzb3JfcHJvY2Vzc2VkX2ZpbGVfc2l6ZVwiLGEsYixjLGQsZSxmKX07XG52YXIgS09jPWZ1bmN0aW9uKGEpe3RoaXMub2E9YTt0aGlzLm9hLkNhKFwiL2NsaWVudF9zdHJlYW16L2xlbnNfc2VhcmNoL2ltYWdlX3Byb2Nlc3Nvcl9vdXRwdXRfZmlsZV9zaXplXCIse2lqOjMsaGo6XCJpbnB1dF9taW1lX3R5cGVcIn0se2lqOjMsaGo6XCJvdXRwdXRfbWltZV90eXBlXCJ9LHtpajoxLGhqOlwid2FzX21vZGlmaWVkXCJ9LHtpajoxLGhqOlwiaGFzX3RyYW5zcGFyZW5jeVwifSl9O0tPYy5wcm90b3R5cGUueXU9ZnVuY3Rpb24oYSxiLGMsZCxlKXt0aGlzLm9hLnl1KFwiL2NsaWVudF9zdHJlYW16L2xlbnNfc2VhcmNoL2ltYWdlX3Byb2Nlc3Nvcl9vdXRwdXRfZmlsZV9zaXplXCIsYSxiLGMsZCxlKX07dmFyIExPYz1mdW5jdGlvbihhKXt0aGlzLm9hPWE7dGhpcy5vYS5BYShcIi9jbGllbnRfc3RyZWFtei9sZW5zX3NlYXJjaC9mdWxsX3F1YWxpdHlfaW1hZ2VfdXBsb2FkX2F0dGVtcHRfY291bnRcIix7aWo6MixoajpcImJ1Y2tldGVkX2J5dGVzX2xlbmd0aFwifSl9O1xuTE9jLnByb3RvdHlwZS5Taj1mdW5jdGlvbihhKXt0aGlzLm9hLm9hKFwiL2NsaWVudF9zdHJlYW16L2xlbnNfc2VhcmNoL2Z1bGxfcXVhbGl0eV9pbWFnZV91cGxvYWRfYXR0ZW1wdF9jb3VudFwiLGEpfTtfLk1PYz1mdW5jdGlvbihhKXtfLkRuLmNhbGwodGhpcyxhLk5hKTt0aGlzLkFhPW5ldyBfLklZYSgxOTYyLFwiU1RSRUFNWl9MRU5TX1NFQVJDSFwiKTt0aGlzLm9hPW5ldyBfLllsKHRoaXMuQWEpO3RoaXMuUWE9bmV3IEZPYyh0aGlzLm9hKTt0aGlzLlJhPW5ldyBHT2ModGhpcy5vYSk7dGhpcy5PYT1uZXcgSE9jKHRoaXMub2EpO3RoaXMuQ2E9bmV3IElPYyh0aGlzLm9hKTt0aGlzLkxhPW5ldyBKT2ModGhpcy5vYSk7dGhpcy5HYT1uZXcgS09jKHRoaXMub2EpO3RoaXMuQmE9bmV3IExPYyh0aGlzLm9hKX07Xy5EKF8uTU9jLF8uRG4pO18uTU9jLldhPV8uRG4uV2E7Xy5NT2MuSWE9Xy5Ebi5JYTtfLkZuKF8uRU9jLF8uTU9jKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwidHVRNnRmXCIpO1xuXG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5ZcT1fLkdkKFwicTB4VGlmXCIsW18uUXAsXy5QcCxfLnVVYV0pO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLnR0PWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgaWliKGEpfTtfLnV0PWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy51dCxfLnEpO3ZhciBpaWI9ZnVuY3Rpb24oYSl7dGhpcy5PYT1hLlFlfHwhMTt0aGlzLm9hPWEubmFtZTt0aGlzLkxhPWEuS2U7dGhpcy5DYT1hLmRhdGE7dGhpcy5CYT1hLmNoaWxkcmVuO3RoaXMuQWE9YS5YZTthLnBhcmFtcz90eXBlb2YgYS5wYXJhbXM9PT1cImZ1bmN0aW9uXCImJihhLnBhcmFtcz17WmM6YS5wYXJhbXN9KTphLnBhcmFtcz17WmM6Xy51dH07dGhpcy5HYT1hLnBhcmFtczt0aGlzLlJhPWEuV2V8fGZ1bmN0aW9uKCl7cmV0dXJue3ZhcmlhbnQ6bnVsbCxJZTpbXSxOZTpbXX19O3RoaXMuQUZhPWEuUXNkfHwhMTt0aGlzLlFhPWEuVmV8fHt9fTtfLm09aWliLnByb3RvdHlwZTtfLm0uZ2V0TmFtZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9hfTtfLm0uakVhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTGF9O1xuXy5tLnJyYz1mdW5jdGlvbihhLGIpe2lmKCF0aGlzLkFGYSlyZXR1cm57dmFyaWFudDpudWxsLEllOltdLE5lOltdfTtiPXRoaXMuUmEoYSxiKTtmb3IodmFyIGM9Xy5QYShPYmplY3Qua2V5cyhiLk5lKSksZD1jLm5leHQoKSxlPXt9OyFkLmRvbmU7ZT17VWlhOnZvaWQgMCxhRmI6dm9pZCAwLGlvYjp2b2lkIDB9LGQ9Yy5uZXh0KCkpe2Q9ZC52YWx1ZTtlLmlvYj1iLk5lW2RdO2Q9dGhpcy5RYVtkXXx8e307ZS5VaWE9e307Zm9yKHZhciBmPSExLGc9Xy5QYShPYmplY3Qua2V5cyhkKSksaD1nLm5leHQoKTshaC5kb25lO2g9Zy5uZXh0KCkpaD1oLnZhbHVlLGUuVWlhW2hdPWRbaF0oYSksQXJyYXkuaXNBcnJheShlLlVpYVtoXSkmJihmPSEwKTtmPyhlLmFGYj1PYmplY3Qua2V5cyhlLlVpYSkuZmluZChmdW5jdGlvbihrKXtyZXR1cm4gZnVuY3Rpb24obCl7cmV0dXJuIEFycmF5LmlzQXJyYXkoay5VaWFbbF0pfX0oZSkpLGU9ZS5VaWFbZS5hRmJdLm1hcChmdW5jdGlvbihrKXtyZXR1cm4gZnVuY3Rpb24obCl7dmFyIG49XG5PYmplY3QuYXNzaWduKHt9LGsuVWlhKTtuW2suYUZiXT1sO3JldHVybigwLGsuaW9iKShuLHZvaWQgMCkuSWV9fShlKSksYi5JZS5wdXNoLmFwcGx5KGIuSWUsXy5tZChlKSkpOmIuSWUucHVzaC5hcHBseShiLkllLF8ubWQoKDAsZS5pb2IpKGUuVWlhLHZvaWQgMCkuSWUpKX1yZXR1cm4gYn07Xy5tLlFzZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkFGYX07Xy5tLnViZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkNhfHx7fX07Xy5tLmdldENoaWxkcmVuPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQmF8fHt9fTtfLm0uZ2V0UGFyYW1zPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuR2F9O18ubS5pdWI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5BYT90aGlzLkFhOm51bGx9O18ubS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVyblwiQ29tcG9uZW50SWQ8XCIrdGhpcy5vYStcIj5cIn07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uTk9jPV8uR2QoXCJ1V09hbmRcIixbXy5qbyxfLkVPY10pO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLlRPYz1fLkdkKFwiQmxSZGRlXCIsW18uRU9jXSk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ub1BjPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5vUGMsXy5xKTtfLm9QYy5vYj1bNF07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ucFBjPV8uR2QoXCJaYUtFb2RcIixbXy5kcSxfLnBxLF8ubXEsXy5UT2MsXy5OT2NdKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5NUWM9Xy5HZChcImVwWU94XCIsW18uWXFdKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5OUWM9Xy50dCh7UWU6ITEsbmFtZTpcIkl3SkNBZVwiLEtlOl8uTVFjLHBhcmFtczp7WmM6Xy5vUGN9LFhlOltdLGRhdGE6e30sV2U6ZnVuY3Rpb24oKXtyZXR1cm57dmFyaWFudDpudWxsLEllOltdLE5lOnt9fX0sVmU6e30sY2hpbGRyZW46e319KTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5oUmM9Xy5HZChcInFCU0pyYlwiLFtfLlBwLF8ubnFdKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5pUmM9ZnVuY3Rpb24oYSl7Xy5Ebi5jYWxsKHRoaXMsYS5OYSk7dmFyIGI9dGhpcy5jaj1hLnNlcnZpY2UuY29tcG9uZW50O18udkdhKF8uSmQuZ2V0SW5zdGFuY2UoKSxfLm8kYShiLF8uTlFjLCEwKSk7dGhpcy5RZj1hLnNlcnZpY2UueGZ9O18uRChfLmlSYyxfLkRuKTtfLmlSYy5XYT1fLkRuLldhO18uaVJjLklhPWZ1bmN0aW9uKCl7cmV0dXJue3NlcnZpY2U6e2NvbXBvbmVudDpfLlVxLHhmOl8uV3R9fX07Xy5pUmMucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcyxlO3JldHVybiBfLmJoKGZ1bmN0aW9uKGYpe2lmKGQucGFyZW50RWxlbWVudCYmZC5vYSl7aWYoKGU9ZC5wYXJlbnRFbGVtZW50PT09YSYmZC5vYT09PWIpJiZkLkFhKXJldHVybiBmLnJldHVybihkLkFhKTtpZihlKXJldHVybiBkLkFhPWpSYyhkLGMpLGYucmV0dXJuKGQuQWEpO3Rocm93IEVycm9yKFwiWGhcIik7fWQucGFyZW50RWxlbWVudD1hO2Qub2E9YjtkLkFhPWpSYyhkLGMpO3JldHVybiBmLnJldHVybihkLkFhKX0pfTtcbnZhciBqUmM9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkO3JldHVybiBfLmJoKGZ1bmN0aW9uKGUpe2lmKGUub2E9PTEpe2lmKCFhLnBhcmVudEVsZW1lbnR8fCFhLm9hKXRocm93IEVycm9yKFwiWWhcIik7cmV0dXJuIGUueWllbGQoYS5jai5vYShfLk5RYyxiKS5mZXRjaCgpLDIpfWlmKGUub2EhPTMpcmV0dXJuIGM9ZS5BYSxkPWEuUWYuamYoZnVuY3Rpb24oKXtyZXR1cm4gYy5yZW5kZXIoKX0se01lOl8uUHQoYS5wYXJlbnRFbGVtZW50LDMsITApfSksYS5wYXJlbnRFbGVtZW50LmFwcGVuZENoaWxkKGQpLF8uYm8oYS5vYSxkKSxlLnlpZWxkKF8uYW8oYS5vYSxkKSwzKTthLkJhPWUuQWE7YS5CYS5hZGRPbkRpc3Bvc2VDYWxsYmFjayhmdW5jdGlvbigpe2EuQWE9dm9pZCAwO2EucGFyZW50RWxlbWVudD12b2lkIDA7YS5vYT12b2lkIDA7YS5CYT12b2lkIDB9KTtkLnNldEF0dHJpYnV0ZShcImRlY29kZS1kYXRhLXZlZFwiLFwiMVwiKTtfLmxnKCk7Xy5TZyhlKX0pfTtcbl8uaVJjLnByb3RvdHlwZS5vcGVuRGlhbG9nPWZ1bmN0aW9uKGEpe3ZhciBiOyhiPXRoaXMuQmEpPT1udWxsfHxiLm9wZW5EaWFsb2coYSl9O18uaVJjLnByb3RvdHlwZS5jbG9zZURpYWxvZz1mdW5jdGlvbigpe3ZhciBhOyhhPXRoaXMuQmEpPT1udWxsfHxhLmNsb3NlRGlhbG9nKCl9O18uRm4oXy5oUmMsXy5pUmMpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJxQlNKcmJcIik7XG5cbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLlNPYz1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uU09jLF8ucSk7Xy5TT2MucHJvdG90eXBlLkJsPWZ1bmN0aW9uKCl7cmV0dXJuIF8uRSh0aGlzLDEpfTtfLlNPYy5wcm90b3R5cGUuc2V0RW5hYmxlZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5NZyh0aGlzLDEsYSl9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgV09jLFlPYztXT2M9ZnVuY3Rpb24oYSxiKXtiPV8ucmEoYSxiKTtyZXR1cm4gYj49MD8oXy54YShhLGIpLCEwKTohMX07Xy5YT2M9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc3BsaXQoXCJcXG5cIikuZmlsdGVyKGZ1bmN0aW9uKGIpe3JldHVybiFiLnN0YXJ0c1dpdGgoXCIjXCIpfSl9O1lPYz1mdW5jdGlvbigpe3RoaXMuY2xlYXIoKX07WU9jLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuQWE9MDt0aGlzLm9hPW5ldyBNYXB9O1lPYy5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXt2YXIgYT1uZXcgWU9jO1pPYyhhLHRoaXMpO3JldHVybiBhfTtZT2MucHJvdG90eXBlLmFkZD1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMub2EuZ2V0KGEpO2N8fHRoaXMub2Euc2V0KGEsYz1bXSk7Yy5wdXNoKGIpO3RoaXMuQWErK307dmFyIFpPYz1mdW5jdGlvbihhLGIpeyRPYyhiKS5mb3JFYWNoKGZ1bmN0aW9uKGMpe3RoaXMuYWRkKGNbMF0sY1sxXSl9LGEpfTtfLm09WU9jLnByb3RvdHlwZTtcbl8ubS5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuKGE9dGhpcy5vYS5nZXQoYSkpP18uQWEoYSk6W119O18ubS5yZW1vdmU9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLm9hLmdldChhKTtpZighYylyZXR1cm4hMTt2YXIgZD1XT2MoYyxmdW5jdGlvbihlKXtyZXR1cm4gT2JqZWN0LmlzKGIsZSl9KTtkJiYodGhpcy5BYS0tLGMubGVuZ3RoPT0wJiZ0aGlzLm9hLmRlbGV0ZShhKSk7cmV0dXJuIGR9O18ubS5yZW1vdmVBbGw9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5vYS5nZXQoYSk7cmV0dXJuIHRoaXMub2EuZGVsZXRlKGEpPyh0aGlzLkFhLT1iLmxlbmd0aCwhMCk6ITF9O18ubS5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuQWF9O18ubS55bj1mdW5jdGlvbigpe3JldHVybiB0aGlzLkFhfTt2YXIgYVBjPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEub0EoKS5pbmNsdWRlcyhiKX07WU9jLnByb3RvdHlwZS5iND1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ZdigpLmluY2x1ZGVzKGEpfTtcbllPYy5wcm90b3R5cGUub0E9ZnVuY3Rpb24oKXtyZXR1cm5bXS5jb25jYXQoXy5tZCh0aGlzLm9hLmtleXMoKSkpfTtZT2MucHJvdG90eXBlLll2PWZ1bmN0aW9uKCl7cmV0dXJuIF8uY2JhKFtdLmNvbmNhdChfLm1kKHRoaXMub2EudmFsdWVzKCkpKSl9O3ZhciAkT2M9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWEub0EoKSxjPVtdLGQ9MDtkPGIubGVuZ3RoO2QrKylmb3IodmFyIGU9YltkXSxmPWEuZ2V0KGUpLGc9MDtnPGYubGVuZ3RoO2crKyljLnB1c2goW2UsZltnXV0pO3JldHVybiBjfTtZT2MucHJvdG90eXBlLkFhPTA7dmFyIGJQYz1mdW5jdGlvbigpe3RoaXMuaGFuZGxlcnM9bmV3IFlPYzt0aGlzLlpkPVtdO3RoaXMub2E9bnVsbH07YlBjLnByb3RvdHlwZS5saXN0ZW49ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXM7YVBjKHRoaXMuaGFuZGxlcnMsYil8fHRoaXMuWmQucHVzaChfLlhkKGEsYixmdW5jdGlvbihlKXtyZXR1cm4gZC5lbnF1ZXVlKGUpfSkpO3RoaXMuaGFuZGxlcnMuYWRkKGIsYyl9O2JQYy5wcm90b3R5cGUuUWg9ZnVuY3Rpb24oKXtmb3IodmFyIGE9Xy5QYSh0aGlzLlpkKSxiPWEubmV4dCgpOyFiLmRvbmU7Yj1hLm5leHQoKSlfLkxrKGIudmFsdWUpO3RoaXMuWmQ9W107dGhpcy5oYW5kbGVycy5jbGVhcigpO3RoaXMub2E9bnVsbH07XG5iUGMucHJvdG90eXBlLmVucXVldWU9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxjO3JldHVybiBfLmJoKGZ1bmN0aW9uKGQpe2lmKCFiLm9hKXJldHVybiBiLm9hPWIuaGFuZGxlRXZlbnQoYSksZC5yZXR1cm4oKTtjPWIub2E7Yi5vYT1mdW5jdGlvbigpe3JldHVybiBfLmJoKGZ1bmN0aW9uKGUpe3JldHVybiBlLm9hPT0xP2UueWllbGQoYywyKTplLnlpZWxkKGIuaGFuZGxlRXZlbnQoYSksMCl9KX0oKTtfLlNnKGQpfSl9O2JQYy5wcm90b3R5cGUuaGFuZGxlRXZlbnQ9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxjLGQsZSxmO3JldHVybiBfLmJoKGZ1bmN0aW9uKGcpe2cub2E9PTEmJihjPWIuaGFuZGxlcnMuZ2V0KGEudHlwZSksZD1fLlBhKGMpLGU9ZC5uZXh0KCkpO2lmKGcub2EhPTMpe2lmKGUuZG9uZSlyZXR1cm4gZy5NYigwKTtmPWUudmFsdWU7cmV0dXJuIGcueWllbGQoZihhKSwzKX1lPWQubmV4dCgpO3JldHVybiBnLk1iKDIpfSl9O3ZhciBjUGMsZlBjO2NQYz1mdW5jdGlvbihhKXt0aGlzLmV2ZW50PWF9O18uZFBjPWZ1bmN0aW9uKGEpe3JldHVybiBhLmV2ZW50LmRhdGFUcmFuc2Zlcj9hLmV2ZW50LmRhdGFUcmFuc2ZlcjpudWxsfTtjUGMucHJvdG90eXBlLlZQPWZ1bmN0aW9uKCl7dmFyIGE9Xy5kUGModGhpcyk7aWYoIWEpcmV0dXJuIG51bGw7YT1hLmdldERhdGEoXCJ0ZXh0L2h0bWxcIik7cmV0dXJuIGE9PT1cIlwiP251bGw6Xy4kaGEuWEYoYSl9O2NQYy5wcm90b3R5cGUuTGthPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLlZQKCl9O1xuXy5lUGM9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIHdpbmRvdy5ET01QYXJzZXIhPT1cImZ1bmN0aW9uXCIpcmV0dXJuW107dmFyIGI9bmV3IERPTVBhcnNlcjthPWEuVlAoKTtpZighYSlyZXR1cm5bXTtiPWIucGFyc2VGcm9tU3RyaW5nKF8udGMoYSksXCJ0ZXh0L2h0bWxcIikucXVlcnlTZWxlY3RvcihcImltZ1wiKTt2YXIgYztiJiYoYz1iLmdldEF0dHJpYnV0ZShcInNyY1wiKSk7cmV0dXJuIGM/Xy5YT2MoYyk6W119O2ZQYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IGNQYyhhLllnKX07dmFyIG1QYz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpczt0aGlzLk9oPWI7dGhpcy5wcmV2ZW50RGVmYXVsdD1jO3RoaXMub2E9MDtiPXt9O3RoaXMuQWE9KGIuZHJhZ2VudGVyPWZ1bmN0aW9uKGYpe3JldHVybiBnUGMoZCxmKX0sYi5kcmFnc3RhcnQ9ZnVuY3Rpb24oZil7cmV0dXJuIGhQYyhkLGYpfSxiLmRyYWdvdmVyPWZ1bmN0aW9uKGYpe3JldHVybiBpUGMoZCxmKX0sYi5kcmFnZW5kPWZ1bmN0aW9uKGYpe3JldHVybiBqUGMoZCxmKX0sYi5kcmFnbGVhdmU9ZnVuY3Rpb24oZil7cmV0dXJuIGtQYyhkLGYpfSxiLmRyb3A9ZnVuY3Rpb24oZil7cmV0dXJuIGxQYyhkLGYpfSxiKTt0aGlzLlpkPW5ldyBiUGM7Yj1fLlBhKE9iamVjdC5lbnRyaWVzKHRoaXMuQWEpKTtjPWIubmV4dCgpO2Zvcih2YXIgZT17fTshYy5kb25lO2U9e3hyYjp2b2lkIDB9LGM9Yi5uZXh0KCkpZS54cmI9Yy52YWx1ZSx0aGlzLlpkLmxpc3RlbihhLGUueHJiWzBdLGZ1bmN0aW9uKGYpe3JldHVybiBmdW5jdGlvbihnKXtkLnByZXZlbnREZWZhdWx0JiZcbmcucHJldmVudERlZmF1bHQoKTtyZXR1cm4gZi54cmJbMV0oZyl9fShlKSl9LGdQYyxoUGMsaVBjLGpQYyxrUGMsbFBjO21QYy5wcm90b3R5cGUuUWg9ZnVuY3Rpb24oKXt0aGlzLlpkLlFoKCl9O2dQYz1mdW5jdGlvbihhLGIpe3ZhciBjLGQ7cmV0dXJuIF8uYmgoZnVuY3Rpb24oZSl7YS5vYSs9MTtyZXR1cm4gYS5vYSE9PTE/ZS5NYigwKTplLnlpZWxkKChkPShjPWEuT2gpLm9uRHJhZ0VudGVyKT09bnVsbD92b2lkIDA6ZC5jYWxsKGMsZlBjKGIpKSwwKX0pfTtoUGM9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkO3JldHVybiBfLmJoKGZ1bmN0aW9uKGUpe2Eub2ErPTE7cmV0dXJuIGEub2EhPT0xP2UuTWIoMCk6ZS55aWVsZCgoZD0oYz1hLk9oKS5vbkRyYWdTdGFydCk9PW51bGw/dm9pZCAwOmQuY2FsbChjLGZQYyhiKSksMCl9KX07XG5pUGM9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkO3JldHVybiBfLmJoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnlpZWxkKChkPShjPWEuT2gpLm9uRHJhZ092ZXIpPT1udWxsP3ZvaWQgMDpkLmNhbGwoYyxmUGMoYikpLDApfSl9O2pQYz1mdW5jdGlvbihhLGIpe3ZhciBjLGQ7cmV0dXJuIF8uYmgoZnVuY3Rpb24oZSl7LS1hLm9hO3JldHVybiBhLm9hIT09MD9lLk1iKDApOmUueWllbGQoKGQ9KGM9YS5PaCkub25EcmFnRW5kKT09bnVsbD92b2lkIDA6ZC5jYWxsKGMsZlBjKGIpKSwwKX0pfTtrUGM9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkO3JldHVybiBfLmJoKGZ1bmN0aW9uKGUpey0tYS5vYTtyZXR1cm4gYS5vYSE9PTA/ZS5NYigwKTplLnlpZWxkKChkPShjPWEuT2gpLm9uRHJhZ0xlYXZlKT09bnVsbD92b2lkIDA6ZC5jYWxsKGMsZlBjKGIpKSwwKX0pfTtcbmxQYz1mdW5jdGlvbihhLGIpe3ZhciBjLGQ7cmV0dXJuIF8uYmgoZnVuY3Rpb24oZSl7YS5vYT0wO3JldHVybiBlLnlpZWxkKChkPShjPWEuT2gpLm9uRHJvcCk9PW51bGw/dm9pZCAwOmQuY2FsbChjLGZQYyhiKSksMCl9KX07Xy5uUGM9ZnVuY3Rpb24oYSxiLGMpe2M9Yz09PXZvaWQgMD8hMTpjO3JldHVybiBfLkJhYShcIkZpcmVmb3hcIik8PTU2P251bGw6bmV3IG1QYyhhLGIsYyl9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIga1JjLGxSYyxtUmM7a1JjPWZ1bmN0aW9uKGEpe3JldHVybihhPV8uZFBjKGEpKT9hLnR5cGVzJiZhLnR5cGVzLmluY2x1ZGVzKFwiRmlsZXNcIik6ITF9O2xSYz1mdW5jdGlvbihhKXtpZighYS5ldmVudC50YXJnZXQpcmV0dXJuITE7dmFyIGI9YS5ldmVudC50YXJnZXQ7aWYoYi50YWdOYW1lPT09XCJJTUdcIiYmYi5nZXRBdHRyaWJ1dGUoXCJkcmFnZ2FibGVcIikhPT1cImZhbHNlXCIpcmV0dXJuITA7dmFyIGMsZD0oYz1iLnF1ZXJ5U2VsZWN0b3IpPT1udWxsP3ZvaWQgMDpjLmNhbGwoYixcImltZ1wiKTtpZighZHx8ZC5nZXRBdHRyaWJ1dGUoXCJkcmFnZ2FibGVcIik9PT1cImZhbHNlXCIpcmV0dXJuITE7Yj1kLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2M9YS5ldmVudC5jbGllbnRYO2lmKGM8Yi5sZWZ0fHxjPj1iLnJpZ2h0KXJldHVybiExO2E9YS5ldmVudC5jbGllbnRZO3JldHVybiBhPGIudG9wfHxhPj1iLmJvdHRvbT8hMTohMH07XG5tUmM9ZnVuY3Rpb24oYSl7cmV0dXJuISFhLnBhcmVudEVsZW1lbnQmJiEhYS5vYSYmISFhLkJhfTtcbl8ucFJjPWZ1bmN0aW9uKGEpe18uQy5jYWxsKHRoaXMsYS5OYSk7dmFyIGI9dGhpczt0aGlzLkNhPVtdO3RoaXMub2E9dGhpcy5kZXBlbmRlbmNpZXM9bnVsbDt0aGlzLkRvYT1hLnNlcnZpY2UuRG9hO3RoaXMuZVQ9YS5zZXJ2aWNlLmVUO3RoaXMuR2E9Xy5uUGMoZG9jdW1lbnQse29uRHJhZ0VudGVyOmZ1bmN0aW9uKGMpe3JldHVybiBuUmMoYixjKX0sb25EcmFnU3RhcnQ6ZnVuY3Rpb24oYyl7cmV0dXJuIG5SYyhiLGMpfSxvbkRyYWdFbmQ6ZnVuY3Rpb24oYyl7cmV0dXJuIG9SYyhiLGMpfSxvbkRyYWdMZWF2ZTpmdW5jdGlvbihjKXtyZXR1cm4gb1JjKGIsYyl9fSk7dGhpcy5tb2RlPV8uU2YodGhpcy5nZXREYXRhKFwiaXNJbWFnZXNNb2RlXCIpLCExKT8yOjE7dGhpcy5DYT1fLkZBYSh0aGlzLmdldERhdGEoXCJwcm9wYWdhdGVkRXhwZXJpbWVudElkc1wiKSkubWFwKGZ1bmN0aW9uKGMpe3RyeXtyZXR1cm4gXy5nbShjKX1jYXRjaChkKXtyZXR1cm4gbnVsbH19KS5maWx0ZXIoZnVuY3Rpb24oYyl7cmV0dXJuIGMhPT1udWxsfSk7XG50aGlzLlJhPV8uU2YodGhpcy5nZXREYXRhKFwiaW1hZ2VQcm9jZXNzb3JFbmFibGVkXCIpLCExKTt0aGlzLlVhPV8uY20odGhpcy5nZXREYXRhKFwicHJlZmVycmVkTWltZVR5cGVcIikpO3RoaXMuTGE9Xy5kbSh0aGlzLmdldERhdGEoXCJiYXNlTGVuc1VybFwiKSxcImh0dHBzOi8vbGVucy5nb29nbGUuY29tXCIpO3RoaXMuUWE9Xy5TZih0aGlzLmdldERhdGEoXCJlbmFibGVVcGxvYWRGdWxsUXVhbGl0eUltYWdlXCIpLCExKTt0aGlzLm1vZGU9PT0yP18ud3ouRVgodGhpcyk6Xy5PeS5FWCh0aGlzKX07Xy5EKF8ucFJjLF8uQyk7Xy5wUmMuSWE9ZnVuY3Rpb24oKXtyZXR1cm57c2VydmljZTp7ZVQ6Xy5NT2MsRG9hOl8uaVJjfX19O18ubT1fLnBSYy5wcm90b3R5cGU7Xy5tLklvPWZ1bmN0aW9uKGEpe3RoaXMuZGVwZW5kZW5jaWVzPWF9O18ubS51Yz1mdW5jdGlvbigpe3ZhciBhOyhhPXRoaXMuR2EpPT1udWxsfHxhLlFoKCk7Xy5DLnByb3RvdHlwZS51Yy5jYWxsKHRoaXMpfTtcbl8ubS5CZD1mdW5jdGlvbihhKXthJiZhLmV2ZW50JiYoYS5ldmVudC5wcmV2ZW50RGVmYXVsdCgpLGEuZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkpO21SYyh0aGlzLkRvYSk/dGhpcy5vcGVuRGlhbG9nKDEpOnRoaXMuUHhiKDEpfTtfLm0ub3BlbkRpYWxvZz1mdW5jdGlvbihhKXt0aGlzLkRvYS5vcGVuRGlhbG9nKGEpO3RoaXMudHJpZ2dlcihfLk9zYiwhMSk7c3dpdGNoKGEpe2Nhc2UgMTp0aGlzLkFhKCk7YnJlYWs7Y2FzZSAwOnRoaXMuQmEoKTticmVhaztjYXNlIDI6YnJlYWs7Y2FzZSAzOnRocm93IEVycm9yKFwiWmhcIik7ZGVmYXVsdDpfLkRjKGEsXCJNaXNzaW5nIE9wZW5FdmVudFR5cGUgY2FzZVwiKX19O1xuXy5tLlB4Yj1mdW5jdGlvbihhKXt2YXIgYj10aGlzLGMsZCxlO3JldHVybiBfLmJoKGZ1bmN0aW9uKGYpe2lmKGYub2E9PTEpe2lmKGIuZGVwZW5kZW5jaWVzKWlmKGIub2F8fChiLm9hPWIuZGVwZW5kZW5jaWVzLmdldChiLk9hKSksYi5vYSl2YXIgZz1iLm9hO2Vsc2UgZz1iLmVULGcuT2EuU2ooKSxnLm9hLkJhKCksZz1udWxsO2Vsc2UgZz1iLmVULGcuUWEuU2ooKSxnLm9hLkJhKCksZz1udWxsO2M9ZztpZighYylyZXR1cm4gZi5yZXR1cm4oKTtlPShkPWMuQ2IoXCJtdmFLN2RcIikpPT1udWxsP3ZvaWQgMDpkLmVsKCk7cmV0dXJuIGU/Zi55aWVsZChiLkRvYS5yZW5kZXIoZSxjLGIuclhiKCkpLDIpOihnPWIuZVQsZy5SYS5TaigpLGcub2EuQmEoKSxmLnJldHVybigpKX1iLm9wZW5EaWFsb2coYSk7Xy5TZyhmKX0pfTtcbl8ubS5yWGI9ZnVuY3Rpb24oKXt2YXIgYT0obmV3IF8uU09jKS5zZXRFbmFibGVkKHRoaXMuUmEpO2E9Xy5EZShhLDUsdGhpcy5VYSk7dmFyIGI9bmV3IF8ub1BjO2I9Xy5jaihiLDYsdGhpcy5tb2RlKTtiPV8uc2IoYiw0LHRoaXMuQ2EsXy5jYik7YT1fLk1iKGIsXy5TT2MsNyxhKTthPV8uRGUoYSwxNCx0aGlzLkxhKTtyZXR1cm4gXy5NZyhhLDE3LHRoaXMuUWEpfTtcbnZhciBuUmM9ZnVuY3Rpb24oYSxiKXt2YXIgYztyZXR1cm4gXy5iaChmdW5jdGlvbihkKXtjPV8uZVBjKGIpLmxlbmd0aD4wJiYoYi5ldmVudC50eXBlIT09XCJkcmFnc3RhcnRcInx8bFJjKGIpKTtpZihrUmMoYil8fGMpcmV0dXJuIGQucmV0dXJuKG5ldyBQcm9taXNlKGZ1bmN0aW9uKGUpe3dpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIF8uYmgoZnVuY3Rpb24oZil7aWYoZi5vYT09MSlyZXR1cm4gbVJjKGEuRG9hKT8oYS5vcGVuRGlhbG9nKDApLGYuTWIoMikpOmYueWllbGQoYS5QeGIoMCksMik7ZSgpO18uU2coZil9KX0sMCl9KSk7Xy5TZyhkKX0pfSxvUmM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5iaChmdW5jdGlvbihjKXt2YXIgZDtkPShkPV8uZFBjKGIpKT8oZD1kLmRyb3BFZmZlY3QpP2QhPT1cIm5vbmVcIjohMTohMTtpZihkKXJldHVybiBjLnJldHVybigpO3ZhciBlLGY7KChmPShlPWEuRG9hLkJhKT09bnVsbD92b2lkIDA6ZS5CYSkhPW51bGw/ZjozKT09PTAmJlxuYS5Eb2EuY2xvc2VEaWFsb2coKTtfLlNnKGMpfSl9O18uTChfLnBSYy5wcm90b3R5cGUsXCJHeUM3S2NcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLnJYYn0pO18uTChfLnBSYy5wcm90b3R5cGUsXCJoNU0xMmVcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLkJkfSk7Xy5MKF8ucFJjLnByb3RvdHlwZSxcIms0SXNlYlwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudWN9KTtfLnFyKF8ucFJjKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwiQ1c1RlplXCIpO1xuXG5cblxuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBxUmM9Xy5zcShcIkNXNUZaZVwiLFtfLkVPYyxfLmhSY10pO18uclJjPV8uR2QoXCJscHNVQWZcIixbcVJjXSk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBzUmM9ZnVuY3Rpb24oYSl7Xy5wUmMuY2FsbCh0aGlzLGEuTmEpO3RoaXMuT2E9Xy5yN2I7dGhpcy5yb290PXRoaXMuZ2V0Um9vdCgpO2lmKGE9dGhpcy5yb290LlBjKFwiYXJpYS1sYWJlbFwiKSl7dmFyIGI9bmV3IF8ubjliKHRoaXMucm9vdC5lbCgpLGEpO3RoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soZnVuY3Rpb24oKXtiLmRlc3Ryb3koKX0pfX07Xy5EKHNSYyxfLnBSYyk7c1JjLklhPV8ucFJjLklhO3NSYy5wcm90b3R5cGUuQWE9ZnVuY3Rpb24oKXtfLkp1KHRoaXMuZ2V0Um9vdCgpLmVsKCkse3VzZXJBY3Rpb246M30pfTtzUmMucHJvdG90eXBlLkJhPWZ1bmN0aW9uKCl7Xy5KdSh0aGlzLmdldFJvb3QoKS5lbCgpLHt1c2VyQWN0aW9uOjMwfSl9O18uTChzUmMucHJvdG90eXBlLFwiUk5QSE9cIixmdW5jdGlvbigpe3JldHVybiB0aGlzLkJhfSk7Xy5MKHNSYy5wcm90b3R5cGUsXCJobUhEb2VcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLkFhfSk7Xy5wcihfLnJSYyxzUmMpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJscHNVQWZcIik7XG5cbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLnRSYz1fLkdkKFwiWTl0OVNjXCIsW18ueDFhXSk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciB1UmM9Xy5RZyhbXCIvdGV4dGlucHV0YXNzaXN0YW50L1wiLFwiL1wiLFwiX3RpYS5qc1wiXSksdlJjPWZ1bmN0aW9uKGEpe18uQy5jYWxsKHRoaXMsYS5OYSk7dGhpcy5vYT0hMTtfLkQ4YihhLm1vZGVsLkhlKTt0aGlzLkhlPWEubW9kZWwuSGUuSGU7dGhpcy5yb290PXRoaXMuZ2V0Um9vdCgpOyhhPXRoaXMucm9vdC5QYyhcImFyaWEtbGFiZWxcIikpJiZuZXcgXy5uOWIodGhpcy5nZXRSb290KCkuZWwoKSxhKTt0aGlzLmljb249dGhpcy5DYihcIkp5SXBkZlwiKTtfLk9uKHRoaXMuaWNvbixcInRpYV9wcm9wZXJ0eVwiLHRoaXMuSGUuU1AoKT09PVwiaVwiP1wiaW1hZ2VzXCI6XCJ3ZWJcIil9O18uRCh2UmMsXy5DKTt2UmMuSWE9ZnVuY3Rpb24oKXtyZXR1cm57bW9kZWw6e0hlOl8uQzhifX19O1xudlJjLnByb3RvdHlwZS5CZD1mdW5jdGlvbihhKXt2YXIgYj10aGlzLmljb24uRWIoKSxjPWIub25jbGljazt0aGlzLm9hP2MmJmMuY2FsbChiLGEuZXZlbnQpOihhPV8uaWkodGhpcy5IZSw5LDExKSxiPV8uQSh0aGlzLkhlLDEwKSxjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIiksXy5ibC5SZChjLF8ud2ModVJjLGEsYikpLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYyksdGhpcy5vYT0hMCk7dGhpcy50cmlnZ2VyKF8uT3NiLCExKX07Xy5MKHZSYy5wcm90b3R5cGUsXCJoNU0xMmVcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLkJkfSk7Xy5wcihfLnRSYyx2UmMpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJZOXQ5U2NcIik7XG5cbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLnhSYz1mdW5jdGlvbihhLGIpe18ud1JjKGEsYil9O18ud1JjPWZ1bmN0aW9uKGEsYil7eVJjW2FdPXlSY1thXXx8W107eVJjW2FdLnB1c2goW2IsITFdKX07Xy56UmM9ZnVuY3Rpb24oYSxiKXtpZihhPXlSY1thXSlmb3IodmFyIGM9MDtjPGEubGVuZ3RoOysrYylpZihhW2NdWzBdPT09Yil7Xy54YShhLGMpO2JyZWFrfX07Xy5BUmM9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/W106Yjt2YXIgYz12b2lkIDA7aWYoYSBpbiB5UmMpe3ZhciBkPXlSY1thXS5zbGljZSgwKTtkPV8uUGEoZCk7Zm9yKHZhciBlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSl7dmFyIGY9Xy5QYShlLnZhbHVlKTtlPWYubmV4dCgpLnZhbHVlOyhmPWYubmV4dCgpLnZhbHVlKSYmXy56UmMoYSxlKTt0cnl7Yz1lLmFwcGx5KG51bGwsYil9Y2F0Y2goZyl7Xy5pZChnLHtsZXZlbDowLHhnOntnbXM6U3RyaW5nKGEpfX0pO2NvbnRpbnVlfWlmKGM9PT0hMSlicmVha319fTtcbl8ubkM9e01UYjoxMjYsTlRiOjEyMSxNVGM6MTIwLE9UYjoxNDEsUFRiOjEyOCxuZmU6MTgzLE0yYTo2MCxvZmU6MTEscGZlOjIyLFprYjoxNDAsUlRiOjEzNixRVGI6MTM4LFNUYjoxMzcsYWxiOjkzfTt2YXIgeVJjPXt9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLkJSYz1fLkdkKFwidW5WNFRcIixbXy5uOGJdKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIENSYz1mdW5jdGlvbihhKXt0cnl7YSgpfWNhdGNoKGIpe18uaWQoYix7bGV2ZWw6MX0pfX0sRVJjPWZ1bmN0aW9uKGEpe18uQy5jYWxsKHRoaXMsYS5OYSk7dmFyIGI9dGhpczt0aGlzLkFhPXRoaXMub2E9XCJcIjt0aGlzLkJhPWZ1bmN0aW9uKCl7cmV0dXJuXCJcIn07dGhpcy5yb290PXRoaXMuZ2V0Um9vdCgpO3RoaXMuRmQ9YS5tb2RlbC5GZDt0aGlzLnN0YXRlPTE7KGE9dGhpcy5yb290LlBjKFwiYXJpYS1sYWJlbFwiKSkmJm5ldyBfLm45Yih0aGlzLnJvb3QuZWwoKSxhKTtfLnhSYyhfLm5DLk5UYixmdW5jdGlvbihjLGQpe0NSYyhmdW5jdGlvbigpe2Iuc3RhdGU9PT0xJiYoYi5BYT1cIlwiLGIub2E9XCJcIixiLkZkLmZjYSg2KSxiLnRyaWdnZXIoXy5Hc2IsXy5KNmIoKG5ldyBfLkg2Yikuc2V0UXVlcnkoYykpLnpIKGQpLmJ1aWxkKCkpKX0pfSk7Xy54UmMoXy5uQy5SVGIsZnVuY3Rpb24oKXtyZXR1cm4gYi5DYX0pO18ueFJjKF8ubkMuTVRiLGZ1bmN0aW9uKCl7cmV0dXJuIERSYyhiKX0pO1xuXy54UmMoXy5uQy5TVGIsZnVuY3Rpb24oKXtiLnN0YXRlPT09MSYmYi5BYSE9PVwiXCI/RFJjKGIpOmIuc3RhdGU9PT0tMSYmKGIuc3RhdGU9MSxiLnJvb3QudG9nZ2xlKCEwKSl9KTtfLnhSYyhfLm5DLlFUYixmdW5jdGlvbigpe2Iuc3RhdGU9LTE7Yi5yb290LnRvZ2dsZSghMSl9KX07Xy5EKEVSYyxfLkMpO0VSYy5JYT1mdW5jdGlvbigpe3JldHVybnttb2RlbDp7RmQ6Xy5yeX19fTtFUmMucHJvdG90eXBlLkZMZD1mdW5jdGlvbihhKXt0aGlzLkJhPWF9O3ZhciBEUmM9ZnVuY3Rpb24oYSl7YS5zdGF0ZT09PTEmJmEuQWEhPT1cIlwiJiYoYS50cmlnZ2VyKF8uQXNiKSxhLm9hIT09XCJcIiYmKGEudHJpZ2dlcihfLlFzYixhLm9hKSxhLnRyaWdnZXIoXy5Hc2IsXy5KNmIoKG5ldyBfLkg2Yikuc2V0UXVlcnkoYS5vYSkpLnpIKDIwKS5idWlsZCgpKSksYS5BYT1cIlwiLGEub2E9XCJcIil9O0VSYy5wcm90b3R5cGUuQ2E9ZnVuY3Rpb24oYSl7dGhpcy5zdGF0ZT09PTEmJih0aGlzLkFhPWEpfTtcbkVSYy5wcm90b3R5cGUuQmQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO0NSYyhmdW5jdGlvbigpe18uSnUoYS5yb290LmVsKCkse1pwOjB9KTtpZihhLnN0YXRlPT09MSl7Xy5BUmMoXy5uQy5aa2IpO2EudHJpZ2dlcihfLk9zYiwhMSk7YS5vYT1hLkJhKCk7dmFyIGI9YS5nZXRXaW5kb3coKS5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInNwY2hcIik7Xy5lbihiLFwiY2xpY2tlZFwiLFwiMVwiKX19KX07Xy5MKEVSYy5wcm90b3R5cGUsXCJoNU0xMmVcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLkJkfSk7Xy5wcihfLkJSYyxFUmMpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJ1blY0VFwiKTtcblxuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcIm1iNFpVYlwiKTtcblxuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcImRcIik7XG52YXIgdzBmPWZ1bmN0aW9uKGEpe3ZhciBiPWdvb2dsZS5sbSxjPWdvb2dsZS5sbWY7YT1hPT09dm9pZCAwP1tdOmE7dmFyIGQ9Z29vZ2xlLmpsJiZnb29nbGUuamwudXdwLGU9W107aWYoYi5sZW5ndGgpe3ZhciBmPSEwO2EubGVuZ3RoJiYoZT1hLmZpbHRlcihmdW5jdGlvbihnKXtyZXR1cm4hKDAsXy5wb2EpKCkuRk4oZykuaXNMb2FkZWQoKX0pLGUubGVuZ3RoJiYoXy5Gb2EoZSxmLCExLCExLGQ/Yzp2b2lkIDApLGY9ITEpKTtfLkZvYShiLGYsITAsITAsYyl9fSx5MGY9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFwiW2pzY29udHJvbGxlcl1cIik7Xy54MGYmJl8uTnFhKCk7dmFyIGI9W107YT1fLlBhKGEpO2Zvcih2YXIgYz1hLm5leHQoKTshYy5kb25lO2M9YS5uZXh0KCkpaWYoYz1jLnZhbHVlLCFfLlBxYShjKSl7dmFyIGQ9Yy5nZXRBdHRyaWJ1dGUoXCJqc2NvbnRyb2xsZXJcIik7ZD9kPV8ucm9hKGQpP2Q6bnVsbDpkPW51bGw7ZCYmYi5wdXNoKHtyb290OmMsXG5KQmI6ZH0pfXJldHVybiBifSx6MGY9ZnVuY3Rpb24oKXt2YXIgYT15MGYoKS5maWx0ZXIoZnVuY3Rpb24oYil7cmV0dXJuKF8uVkVhfHxfLmlJYShiLnJvb3QsXy5SSGEpKSYmXy5abGEoYi5yb290LCExLCExLG51bGwpJjF9KS5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIGIuSkJifSk7cmV0dXJuIFByb21pc2UucmVzb2x2ZShbXS5jb25jYXQoXy5tZChuZXcgU2V0KGEpKSkpfSxDMGY9ZnVuY3Rpb24oKXtnb29nbGUuanNsbT00O3JldHVybiBBMGYoKS50aGVuKGZ1bmN0aW9uKCl7aWYoZ29vZ2xlLnBtYyl7Zm9yKHZhciBhPV8uUGEoXy5rbmEuaW5pdCksYj1hLm5leHQoKTshYi5kb25lO2I9YS5uZXh0KCkpXy5vbmEoYi52YWx1ZSk7Xy5tbmE9ITB9QjBmKCk7Xy52QWEmJmdvb2dsZS5wbWN8fChfLk9qYSgpLF8uUWphKCkpfSl9LEIwZj1mdW5jdGlvbigpe2dvb2dsZS5wbG09ZnVuY3Rpb24oYSl7cmV0dXJuIF8uR29hKGEpfTtkZWxldGUgZ29vZ2xlLmxtO2RlbGV0ZSBnb29nbGUubG1mfSxcbkQwZj1mdW5jdGlvbihhKXtyZXR1cm4gXy5yb2EoYSkmJiFfLnFvYShhKX0sRTBmPWZ1bmN0aW9uKCl7cmV0dXJuKGdvb2dsZS5sbSYmZ29vZ2xlLmxtLmxlbmd0aD9fLlVFYT96MGYoKTpQcm9taXNlLnJlc29sdmUoW10pOlByb21pc2UucmVzb2x2ZShbXSkpLnRoZW4oZnVuY3Rpb24oYSl7YT1hLmZpbHRlcihEMGYpO2EubGVuZ3RoPjAmJlwicEhYZ2hkXCJpbiBnb29nbGUucG1jJiZhLnB1c2goXCJwSFhnaGRcIik7cmV0dXJuIGF9KX0sQTBmPWZ1bmN0aW9uKCl7cmV0dXJuIGdvb2dsZS5sbSYmZ29vZ2xlLmxtLmxlbmd0aD9FMGYoKS50aGVuKGZ1bmN0aW9uKGEpe3cwZihhKTtCMGYoKX0pOlByb21pc2UucmVzb2x2ZSgpfSxGMGY9ZnVuY3Rpb24oKXtpZihnb29nbGUubHEpe2Zvcih2YXIgYT1fLlBhKGdvb2dsZS5scSksYj1hLm5leHQoKTshYi5kb25lO2I9YS5uZXh0KCkpe2I9Yi52YWx1ZTt2YXIgYz1iWzBdLGQ9YlsxXTtiLmxlbmd0aD09PTM/Xy54b2EoY1swXSxkLGJbMl0pOl8uR29hKGMsXG5kKX1kZWxldGUgZ29vZ2xlLmxxfX0sRzBmPWZ1bmN0aW9uKCl7RjBmKCk7aWYoIWdvb2dsZS5wbWMpcmV0dXJuIF8uaWQoRXJyb3IoXCJCbFwiKSx7bGV2ZWw6M30pLGdvb2dsZS5kaT1mdW5jdGlvbigpe18uaWQoRXJyb3IoXCJDbFwiKSx7bGV2ZWw6M30pO3JldHVybiBHMGYoKX0sUHJvbWlzZS5yZXNvbHZlKCk7ZGVsZXRlIGdvb2dsZS5kaTtyZXR1cm4gQzBmKCl9O18ueDBmPSExOyhmdW5jdGlvbihhKXtfLnZBYSYmKGdvb2dsZS5wbWM/KF8uT2phKCksXy5RamEoKSk6Xy5pZChFcnJvcihcIkRsXCIpLHtsZXZlbDozfSkpO18uU2phJiZfLlNqYS5yZXNvbHZlKCk7Xy5SamE/Xy5SamEucHJvbWlzZS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGEoKX0pOmEoKX0pKEcwZik7XG5fLngwZj0hMDtcbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgWmhiLCRoYjtfLmJpYj1mdW5jdGlvbihhKXt0aGlzLnVybD1uZXcgXy52bGEoYSk7YT1fLlBhKHRoaXMudXJsLnNlYXJjaFBhcmFtcy5rZXlzKCkpO2Zvcih2YXIgYj1hLm5leHQoKTshYi5kb25lO2I9YS5uZXh0KCkpdGhpcy51cmwub2EuZGVsZXRlKGIudmFsdWUpfTtfLnJ0PWZ1bmN0aW9uKCl7dmFyIGE9Xy5RZSgpLmxvY2F0aW9uLmhyZWY7WmhiIT09YSYmKFpoYj1hLCRoYj1uZXcgXy5iaWIoWmhiKSk7cmV0dXJuICRoYn07Xy5jaWI9ZnVuY3Rpb24oYSl7dmFyIGI7aWYoYj1hIT09XCIvXCIpYj1fLlhFYS5oYXMoYSl8fF8uWUVhLmhhcyhhKTtyZXR1cm4gYn07Xy5zdD1mdW5jdGlvbigpe3ZhciBhPV8ucnQoKTtyZXR1cm4gbmV3IGRpYihhLnRvU3RyaW5nKCkpfTtfLm09Xy5iaWIucHJvdG90eXBlO18ubS5oYXM9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1cIi9cIj8hMDpfLmNpYihhKT90aGlzLnVybC5zZWFyY2hQYXJhbXMuaGFzKGEpOnRoaXMudXJsLm9hLmhhcyhhKX07XG5fLm0uZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiBhPT09XCIvXCI/dGhpcy5wYXRobmFtZSgpOl8uY2liKGEpP3RoaXMudXJsLnNlYXJjaFBhcmFtcy5nZXQoYSk6dGhpcy51cmwub2EuZ2V0KGEpfTtfLm0ucHJvdG9jb2w9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy51cmwucHJvdG9jb2x9O18ubS5wYXRobmFtZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnVybC5wYXRobmFtZX07Xy5tLnRvU3RyaW5nPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnVybC50b1N0cmluZyhhPT09dm9pZCAwPyExOmEpfTtcbl8ubS5lcXVhbHM9ZnVuY3Rpb24oYSxiKXtpZihiIT09dm9pZCAwJiYhYiYmKHRoaXMudXJsLnByb3RvY29sIT09YS51cmwucHJvdG9jb2x8fHRoaXMudXJsLmhvc3RuYW1lIT09YS51cmwuaG9zdG5hbWUpfHx0aGlzLnVybC5wYXRobmFtZSE9PWEudXJsLnBhdGhuYW1lfHx0aGlzLnVybC5zZWFyY2hQYXJhbXMuc2l6ZSgpIT09YS51cmwuc2VhcmNoUGFyYW1zLnNpemUoKXx8dGhpcy51cmwub2Euc2l6ZSgpIT09YS51cmwub2Euc2l6ZSgpKXJldHVybiExO2E9Xy5QYShhKTtmb3IoYj1hLm5leHQoKTshYi5kb25lO2I9YS5uZXh0KCkpe2I9Xy5QYShiLnZhbHVlKTt2YXIgYz1iLm5leHQoKS52YWx1ZTtpZihiLm5leHQoKS52YWx1ZSE9PXRoaXMuZ2V0KGMpKXJldHVybiExfXJldHVybiEwfTtcbl8uYmliLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7dmFyIGE9W107YS5wdXNoKFtcIi9cIix0aGlzLnVybC5wYXRobmFtZV0pO2Zvcih2YXIgYj1fLlBhKHRoaXMudXJsLnNlYXJjaFBhcmFtcyksYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpe3ZhciBkPV8uUGEoYy52YWx1ZSk7Yz1kLm5leHQoKS52YWx1ZTtkPWQubmV4dCgpLnZhbHVlO18uY2liKGMpJiZhLnB1c2goW2MsZF0pfWI9Xy5QYSh0aGlzLnVybC5vYSk7Zm9yKGM9Yi5uZXh0KCk7IWMuZG9uZTtjPWIubmV4dCgpKWEucHVzaChjLnZhbHVlKTtyZXR1cm4gYVtTeW1ib2wuaXRlcmF0b3JdKCl9O3ZhciBkaWI9ZnVuY3Rpb24oYSl7Xy5iaWIuY2FsbCh0aGlzLGEpfTtfLkQoZGliLF8uYmliKTtcbmRpYi5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7YT09PVwiL1wiP3RoaXMudXJsLnBhdGhuYW1lPWI6Xy5jaWIoYSk/dGhpcy51cmwuc2VhcmNoUGFyYW1zLnNldChhLGIpOnRoaXMudXJsLm9hLnNldChhLGIpO3JldHVybiB0aGlzfTtkaWIucHJvdG90eXBlLmRlbGV0ZT1mdW5jdGlvbihhKXthPT09XCIvXCI/dGhpcy51cmwucGF0aG5hbWU9XCIvXCI6Xy5jaWIoYSk/dGhpcy51cmwuc2VhcmNoUGFyYW1zLmRlbGV0ZShhKTp0aGlzLnVybC5vYS5kZWxldGUoYSk7cmV0dXJuIHRoaXN9O2RpYi5wcm90b3R5cGUuZ2V0VXJsPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudXJsfTtaaGI9Xy5RZSgpLmxvY2F0aW9uLmhyZWY7Xy5haWI9JGhiPW5ldyBfLmJpYihaaGIpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgUEViLFFFYjtfLk5FYj17cmVlOlwibWFkXCIsdWVlOlwibWRnXCIsdmVlOlwibWZjXCIseGVlOlwibXNxXCIseWVlOlwibXVsXCJ9O18uT0ViPWZ1bmN0aW9uKGEsYixjKXt0aGlzLlNpPWE7dGhpcy5hNGE9Yjt0aGlzLnRhcmdldD1jO3RoaXMub2E9dGhpcy5DYT10aGlzLkdhPTA7dGhpcy5BYT10aGlzLkJhPSExfTtcbl8uUkViPWZ1bmN0aW9uKGEsYil7Xy5abGEoYiwhMSwhMCxudWxsKSYxJiZQRWIoYSxiKTtiPV8uUGEoYi5nZXRFbGVtZW50c0J5VGFnTmFtZShcImltZ1wiKSk7Zm9yKHZhciBjPWIubmV4dCgpLGQ9e307IWMuZG9uZTtkPXtWYmM6dm9pZCAwLFYwYjp2b2lkIDAsZ3piOnZvaWQgMH0sYz1iLm5leHQoKSl7Yz1jLnZhbHVlOysrYS5DYTt2YXIgZT10eXBlb2YgYy5zcmMhPT1cInN0cmluZ1wifHwhYy5zcmMsZj0hIWMuZ2V0QXR0cmlidXRlKFwiZGF0YS1ic3JjXCIpO2U9KGV8fGMuY29tcGxldGUpJiYhYy5nZXRBdHRyaWJ1dGUoXCJkYXRhLWRlZmVycmVkXCIpJiYhZjtjLnJlbW92ZUF0dHJpYnV0ZShcImRhdGEtZGVmZXJyZWRcIik7dmFyIGc9Yy5oYXNBdHRyaWJ1dGUoXCJkYXRhLW5vYWZ0XCIpO2QuZ3piPSEhKF8uWmxhKGMsZiwhMCxudWxsKSYxKTshZyYmZC5nemImJisrYS5HYTtlfHxnPysrYS5vYTooZT1fLnZkKCksZj1lLnJlc29sdmUsZT1lLnByb21pc2UsZC5WYmM9Xy5YZChjLFwibG9hZFwiLGYpLFxuZC5WMGI9Xy5YZChjLFwiZXJyb3JcIixmKSxlLnRoZW4oZnVuY3Rpb24oaCl7cmV0dXJuIGZ1bmN0aW9uKGspe18uTGsoaC5WYmMpO18uTGsoaC5WMGIpO2s9ay50YXJnZXQ7dmFyIGw9aC5nemI7KythLm9hO2wmJlBFYihhLGspO2EuQmEmJlFFYihhKX19KGQpKSl9fTtfLlNFYj1mdW5jdGlvbihhLGIpe2EuQmE9ITA7YS5BYXx8UEViKGEsYik7Xy5SbihhLlNpLFwiYWNydFwiKTtRRWIoYSl9O1xuUEViPWZ1bmN0aW9uKGEsYil7YS5BYT0hMDtfLlJuKGEuU2ksXCJhYWZ0XCIpO2lmKGEudGFyZ2V0KXt2YXIgYz1hLnRhcmdldC5lbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCJbZGF0YS1zdWJ0cmVlXVwiKTtjPV8uUGEoYyk7Zm9yKHZhciBkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSlpZihkPWQudmFsdWUsZCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KXt2YXIgZT1kLmRhdGFzZXQuc3VidHJlZTtPYmplY3QudmFsdWVzKF8uTkViKS5pbmNsdWRlcyhlKTtlJiYoZC5jb250YWlucyhiKXx8Yi5jb250YWlucyhkKSkmJihfLlJuKGEuU2ksXCJzYWZ0XCIsZSksXy5SbihhLlNpLFwic2FydFwiLGUpKX19fTtcblFFYj1mdW5jdGlvbihhKXt2YXIgYixjLGQ7Xy5iaChmdW5jdGlvbihlKXtpZihlLm9hPT0xKXtpZihhLm9hIT09YS5DYSlyZXR1cm4gZS5yZXR1cm4oKTthLlNpLk1jKFwiaW1hXCIsU3RyaW5nKGEuR2EpKTthLlNpLk1jKFwiaW1uXCIsU3RyaW5nKGEub2EpKTtiPV8uUGEoT2JqZWN0LmtleXMoXy5URWIpKTtmb3IoYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpZD1jLnZhbHVlLGEuU2kuTWMoZCxfLlRFYltkXSgpKTtfLlJuKGEuU2ksXCJhcnRcIik7cmV0dXJuIGEuYTRhP2UueWllbGQoYS5hNGEoYS5TaSksMik6ZS5NYigyKX1hLlNpLmxvZygpO18uU2coZSl9KX07Xy5URWI9e307XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ub1RiPWZ1bmN0aW9uKCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKX07Xy5wVGI9ZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5xVGI9ZnVuY3Rpb24oYSl7dHlwZW9mIGE9PT1cInN0cmluZ1wiJiYoYT1fLmpsKGEpKTtpZihhKXJldHVybiBfLm5tLmdldENvbXB1dGVkU3R5bGUoYSxcImRpc3BsYXlcIikhPT1cIm5vbmVcIiYmXy5ubS5nZXRDb21wdXRlZFN0eWxlKGEsXCJ2aXNpYmlsaXR5XCIpIT09XCJoaWRkZW5cIiYmYS5vZmZzZXRIZWlnaHQ+MH07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBzVGIsdFRiO18uclRiPVwicGVyZm9ybWFuY2VcImluIHdpbmRvdyYmXCJtYXJrXCJpbiBwZXJmb3JtYW5jZSYmXCJ0aW1lT3JpZ2luXCJpbiBwZXJmb3JtYW5jZSYmXCJnZXRFbnRyaWVzQnlUeXBlXCJpbiBwZXJmb3JtYW5jZTtzVGI9ZnVuY3Rpb24oKXt0aGlzLm9hPTB9O18udVRiPWZ1bmN0aW9uKCl7dFRifHwodFRiPW5ldyBzVGIpO3JldHVybiB0VGJ9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLnZUYj1fLkooXCJYbUdSeGJcIik7Xy53VGI9Xy5KKFwibVc5ZHhkXCIpO18ueFRiPV8uSihcImpQazJ1ZVwiKTtfLnlUYj1fLkooXCJvY0RTdmRcIik7Xy56VGI9Xy5KKFwiUjZTbHljXCIpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgRFRiLEVUYixGVGIsR1RiLEhUYixJVGIsSlRiLEtUYixOVGIsTVRiLE9UYixSVGIsU1RiLFdUYixYVGIsYVViLGNVYixkVWIsZVViLGZVYixoVWIsaVViLGxVYixtVWIsa1ViLHJVYixuVWIsdlViLHRVYix1VWIsQlViLExVYixOVWIsT1ViLFhVYixVVWIsd1ViO18uQ1RiPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbigpe3ZhciBiPV8ubGMuYXBwbHkoMCxhcmd1bWVudHMpO3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihjKXtfLkFUYj9jKGEuYXBwbHkobnVsbCxfLm1kKGIpKSk6Xy5CVGIucHVzaChmdW5jdGlvbigpe2MoYS5hcHBseShudWxsLF8ubWQoYikpKX0pfSl9fTtEVGI9ZnVuY3Rpb24oYSl7YT1fLmpsKGEpO2lmKF8ucVRiKGEpKXt2YXIgYj1fLm5tLnZTKGEpO3JldHVybiBhLm9mZnNldEhlaWdodCtiLnRvcCtiLmJvdHRvbX1yZXR1cm4gMH07XG5FVGI9ZnVuY3Rpb24oYSl7dmFyIGI9YS5xdWVyeVNlbGVjdG9yKFwiI0pDTUVoZVwiKTtifHwoYj1hLnF1ZXJ5U2VsZWN0b3IoXCIjdHZjYXBcIikpO3JldHVybiBifTtGVGI9ZnVuY3Rpb24oYSxiKXt2YXIgYz0wO2E9Xy5ubChcInZjc3hcIixifHxFVGIoYSkpO2ZvcihiPTA7YjxhLmxlbmd0aDsrK2Ipe2MrPURUYihhW2JdKTtmb3IodmFyIGQ9Xy5ubChcInZjaVwiLGFbYl0pLGU9MDtlPGQubGVuZ3RoOysrZSljLT1EVGIoZFtlXSl9cmV0dXJuIGN9O0dUYj1mdW5jdGlvbihhLGIsYyxkKXtjPShjPShkPShkPT09dm9pZCAwPzA6ZCk/Yy5xdWVyeVNlbGVjdG9yKFwiI2F0dmNhcFwiKTpudWxsKT9kOkVUYihjKSkmJlwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0XCJpbiBjP2MuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wK3dpbmRvdy5zY3JvbGxZOjA7cmV0dXJuIGEtYy1ifTtcbkhUYj1mdW5jdGlvbihhKXtyZXR1cm5cImdldEJvdW5kaW5nQ2xpZW50UmVjdFwiaW4gYT9hLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCt3aW5kb3cuc2Nyb2xsWTowfTtcbklUYj1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT17dW5iOjAscG9hOjAsdWhhOjAsc3hiOjAsVG9iOjB9LGY9Xy5qbChcImdzclwiKSxnPSExO2YmJihnPSEhZi5xdWVyeVNlbGVjdG9yKFwiI3JzbyAjdHZjYXBcIil8fCEhZi5xdWVyeVNlbGVjdG9yKFwiLk04T2dJZSAjYXR2Y2FwXCIpKTtpZihnKXtnPXtwb2E6MCx1aGE6MH07dmFyIGg9Yz0wLGs9Zi5xdWVyeVNlbGVjdG9yKFwiI2F0dmNhcFwiKTtpZihrJiZrLmhhc0F0dHJpYnV0ZShcImRhdGEtaWF0dmNhcFwiKSYmay5oYXNDaGlsZE5vZGVzKCkpe3ZhciBsPWYucXVlcnlTZWxlY3RvcihcIiNjZW50ZXJfY29sXCIpO2wmJihsPUhUYihsKS1IVGIoayksaCs9bC1GVGIoaykpfWE6e2Y9Zi5xdWVyeVNlbGVjdG9yQWxsKFwiW2lkPXR2Y2FwXVwiKTtpZihmLmxlbmd0aCE9PTApZm9yKGY9Xy5QYShmKSxrPWYubmV4dCgpOyFrLmRvbmU7az1mLm5leHQoKSlpZihrPWsudmFsdWUsay5jaGlsZEVsZW1lbnRDb3VudD4wKXtmPWs7YnJlYWsgYX1mPW51bGx9aWYoZil7Zj1cbmYucGFyZW50RWxlbWVudDtrPSExO2lmKGYpe2Zvcig7Zi5wYXJlbnRFbGVtZW50IT09bnVsbDspe2lmKGYucGFyZW50RWxlbWVudC5pZD09PVwicnNvXCIpe2s9ITA7YnJlYWt9Zj1mLnBhcmVudEVsZW1lbnR9Zj1rP2Y6bnVsbH1lbHNlIGY9bnVsbDtmJiYoaz1mLm5leHRFbGVtZW50U2libGluZyxrPWs9PT1udWxsPzA6TWF0aC5tYXgoMCxIVGIoayktSFRiKGYpKSxjKz1rLGgrPWstRlRiKGYpKX1nLnBvYT1jO2cudWhhPWh9ZWxzZSBnPXtwb2E6MCx1aGE6MH0sYz1jJiZcImdldEJvdW5kaW5nQ2xpZW50UmVjdFwiaW4gYz9jLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCt3aW5kb3cuc2Nyb2xsWTowLGs9KGY9YS5xdWVyeVNlbGVjdG9yKFwiI2F0dmNhcFwiKSkmJmYuaGFzQXR0cmlidXRlKFwiZGF0YS1pYXR2Y2FwXCIpJiZmLmhhc0NoaWxkTm9kZXMoKSxoPUZUYihhKSxrPyhmPShrPUVUYihhKSk/RlRiKGEsaykrRlRiKGEsZik6aCxmPUdUYihjLGYsYSwhMCksZy51aGE9Zik6KGY9R1RiKGMsXG5oLGEpLGcudWhhPWYpLChmPWEucXVlcnlTZWxlY3RvcihcIiN0YWRzXCIpKT8oZj1cImdldEJvdW5kaW5nQ2xpZW50UmVjdFwiaW4gZj9mLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCt3aW5kb3cuc2Nyb2xsWTowLGM9Yy1mLWgpOmM9MCxnLnBvYT1jO2UudWhhPWcudWhhO2UucG9hPWcucG9hO2ImJihiPWIucXVlcnlTZWxlY3RvcihcIiN0YWRzYlwiKSxiPU1hdGgucm91bmQoRFRiKGIpKSxlLnVuYj1iKTtkJiYoZD1kLnF1ZXJ5U2VsZWN0b3IoXCIjSGJLVjJjXCIpLGQ9TWF0aC5yb3VuZChEVGIoZCkpLGUuc3hiPWQpOyhhPWEucXVlcnlTZWxlY3RvcihcIiNiR21scWNcIikpJiZcImdldEJvdW5kaW5nQ2xpZW50UmVjdFwiaW4gYSYmKGUuVG9iPWEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0KTtyZXR1cm4gZX07SlRiPWZ1bmN0aW9uKGEpe3JldHVybiBBcnJheS5mcm9tKGRvY3VtZW50LmJvZHkucXVlcnlTZWxlY3RvckFsbChcIi5cIithKSkuZmluZChmdW5jdGlvbihiKXtyZXR1cm4hIV8ucVRiKGIpfSl9O1xuS1RiPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2EudWhhJiZiLnB1c2goXCJ0di5cIithLnVoYSk7YS5wb2EmJmIucHVzaChcInQuXCIrYS5wb2EpO2EudW5iJiZiLnB1c2goXCJiLlwiK2EudW5iKTthLnN4YiYmYi5wdXNoKFwiaXN2LlwiK2Euc3hiKTthLlRvYiYmYi5wdXNoKFwidGN1LlwiK2EuVG9iKTtyZXR1cm4gYi5qb2luKFwiLFwiKX07Xy5MVGI9ZnVuY3Rpb24oKXt2YXIgYT1KVGIoXCJ3dEY2b2RcIik7aWYoIWEpcmV0dXJuIGE9Xy5qbChcIk9kcDVEZVwiKXx8Xy5qbChcInJzb1wiKSxLVGIoSVRiKGRvY3VtZW50LmJvZHksZG9jdW1lbnQuYm9keSxhLGRvY3VtZW50LmJvZHkpKTt2YXIgYj1KVGIoXCJ5aTh6SGZcIiksYz1KVGIoXCJIYUV0RmZcIik7YT1JVGIoYSxiLGMsbnVsbCk7cmV0dXJuIEtUYihhKX07XG5OVGI9ZnVuY3Rpb24oKXt2YXIgYTtyZXR1cm4gXy5iaChmdW5jdGlvbihiKXt2YXIgYz1cIlwiLGQ9ZG9jdW1lbnQuYm9keS5xdWVyeVNlbGVjdG9yKCdbZWxlbWVudHRpbWluZz1cImxvZ29cIl0nKTtpZihkKXt2YXIgZT1kLnRhZ05hbWU7ZT09PVwiRElWXCI/Yz1fLm5tLmdldENvbXB1dGVkU3R5bGUoZCxcImJhY2tncm91bmRJbWFnZVwiKS5zbGljZSg1LC0yKXx8XCJcIjplPT09XCJJTUdcIiYmKGM9ZC5zcmMpfXJldHVybihhPWMpP2IueWllbGQoTVRiKGEpLDApOmIucmV0dXJuKCl9KX07XG5NVGI9ZnVuY3Rpb24oYSl7dmFyIGI9T1RiO3JldHVybiBfLmJoKGZ1bmN0aW9uKGMpe3JldHVybiBjLnlpZWxkKG5ldyBQcm9taXNlKGZ1bmN0aW9uKGQpe3RyeXtpZihQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoXCJyZXNvdXJjZVwiKSl7dmFyIGU9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoZnVuY3Rpb24oZil7YihmLGEpO2UuZGlzY29ubmVjdCgpO2QoKX0pO2Uub2JzZXJ2ZSh7dHlwZTpcInJlc291cmNlXCIsYnVmZmVyZWQ6ITB9KX1lbHNlIGQoKX1jYXRjaChmKXtkKCl9fSksMCl9KX07XG5PVGI9ZnVuY3Rpb24oYSxiKXthPWEuZ2V0RW50cmllcygpLmZpbHRlcihmdW5jdGlvbihjKXtyZXR1cm4gYy5uYW1lLmluY2x1ZGVzKGIpfSk7YS5sZW5ndGghPT0wJiYoYT1hWzBdLGdvb2dsZS50aWNrKFwibG9hZFwiLFwibGx0XCIsTWF0aC5mbG9vcihhLnJlc3BvbnNlRW5kK3dpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0KSksKGEudHJhbnNmZXJTaXplPjA/MDphLmRlY29kZWRCb2R5U2l6ZT4wfHxhLmR1cmF0aW9uJiZhLmR1cmF0aW9uPDMwKSYmZ29vZ2xlLmMuZShcImxvYWRcIixcImxpY1wiLFwiMVwiKSl9O18uUFRiPWZ1bmN0aW9uKGEsYil7YT1hLnQ7cmV0dXJuIGImJmE/YVtiXXx8bnVsbDpudWxsfTtfLlFUYj1mdW5jdGlvbihhLGIpe3ZhciBjPWEudDtyZXR1cm4gYyYmKGE9Xy5QVGIoYSxiKSxjPWMuc3RhcnQsYSE9bnVsbCYmYyE9bnVsbCk/Yj09PVwicXN1YnRzXCI/Yy1hOk1hdGgubWF4KGEtYywwKTpudWxsfTtcblJUYj1mdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmLGcsaCxrLGwsbixyO3JldHVybiBfLmJoKGZ1bmN0aW9uKHQpe2lmKHQub2E9PTEpe2I9Xy5RZSgpO2lmKGM9Yi5uYXZpZ2F0b3ImJmIubmF2aWdhdG9yLmNvbm5lY3Rpb24pe2U9Yy50eXBlO2ZvcihmIGluIGMpaWYoZiE9PVwidHlwZVwiJiZjW2ZdPT09ZSl7ZD1mO2JyZWFrfWQ9PT12b2lkIDAmJihkPWUpO2MuZG93bmxpbmtNYXghPT12b2lkIDAmJmEuTWMoXCJkbG1cIixTdHJpbmcoYy5kb3dubGlua01heCkpfXJldHVybiB0LnlpZWxkKFByb21pc2UuYWxsKFtfLm9UYigpLF8ucFRiKCldKSwyKX1nPXQuQWE7aD1fLlBhKGcpO2s9aC5uZXh0KCkudmFsdWU7bD1oLm5leHQoKS52YWx1ZTtuPWs7cj1sO24hPW51bGwmJihkPW4pO3IhPW51bGwmJmEuTWMoXCJudHlwXCIsU3RyaW5nKHIpKTtkIT09dm9pZCAwJiZhLk1jKFwiY29ublwiLFN0cmluZyhkKSk7Xy5TZyh0KX0pfTtcblNUYj1mdW5jdGlvbihhLGIpe3ZhciBjPWIudDtmb3IoZiBpbiBjKWlmKGYhPT1cInN0YXJ0XCIpe3ZhciBkPWYsZT1fLlFUYihiLGQpO2UhPW51bGwmJmEuT0QoZCxlKX1cIndzcnRcImluIGImJmEuT0QoXCJ3c3J0XCIsXCJwcnNcImluIGM/MDpiLndzcnQpO2lmKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyl7Yj1fLlBhKFtbXCJjb25uZWN0RW5kXCIsXCJjb25uZWN0U3RhcnRcIixcImNzdFwiXSxbXCJkb21haW5Mb29rdXBFbmRcIixcImRvbWFpbkxvb2t1cFN0YXJ0XCIsXCJkbnN0XCJdLFtcInJlZGlyZWN0RW5kXCIsXCJyZWRpcmVjdFN0YXJ0XCIsXCJyZHh0XCJdLFtcInJlc3BvbnNlRW5kXCIsXCJyZXF1ZXN0U3RhcnRcIixcInJxc3RcIl0sW1wicmVzcG9uc2VFbmRcIixcInJlc3BvbnNlU3RhcnRcIixcInJzcHRcIl0sW1wiY29ubmVjdEVuZFwiLFwic2VjdXJlQ29ubmVjdGlvblN0YXJ0XCIsXCJzc2x0XCJdLFtcInJlcXVlc3RTdGFydFwiLFwibmF2aWdhdGlvblN0YXJ0XCIsXCJycXN0dFwiXSxbXCJmZXRjaFN0YXJ0XCIsXCJuYXZpZ2F0aW9uU3RhcnRcIixcblwidW50XCJdLFtcInVubG9hZEV2ZW50RW5kXCIsXCJ1bmxvYWRFdmVudFN0YXJ0XCIsXCJwcHVudFwiXSxbXCJjb25uZWN0U3RhcnRcIixcIm5hdmlnYXRpb25TdGFydFwiLFwiY3N0dFwiXSxbXCJkb21JbnRlcmFjdGl2ZVwiLFwibmF2aWdhdGlvblN0YXJ0XCIsXCJkaXRcIl1dKTtmb3IoYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpe3ZhciBmPV8uUGEoYy52YWx1ZSk7ZD1mLm5leHQoKS52YWx1ZTtjPWYubmV4dCgpLnZhbHVlO2Y9Zi5uZXh0KCkudmFsdWU7d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZ1tjXSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZ1tkXSYmYS5PRChmLHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmdbZF0td2luZG93LnBlcmZvcm1hbmNlLnRpbWluZ1tjXSl9d2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoXCJuYXZpZ2F0aW9uXCIpJiZ3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZShcIm5hdmlnYXRpb25cIikubGVuZ3RoPjAmJihiPXdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKFwibmF2aWdhdGlvblwiKVswXSxcbmEuTWMoXCJjYlwiLFN0cmluZyhiLmVuY29kZWRCb2R5U2l6ZSkpLGEuTWMoXCJ1Y2JcIixTdHJpbmcoYi5kZWNvZGVkQm9keVNpemUpKSl9fTtcbldUYj1mdW5jdGlvbihhLGIsYyxkKXtiPWI9PT12b2lkIDA/XCJhbGxcIjpiO2M9Yz09PXZvaWQgMD9nb29nbGUuc246Yzt2YXIgZSxmLGcsaDtyZXR1cm4gXy5iaChmdW5jdGlvbihrKXtzd2l0Y2goay5vYSl7Y2FzZSAxOmlmKCFUVGIpe2suTWIoMik7YnJlYWt9cmV0dXJuIGsueWllbGQoTlRiKCksMik7Y2FzZSAyOmU9Xy5QYShVVGIpLGY9ZS5uZXh0KCk7Y2FzZSA0OmlmKGYuZG9uZSl7aD1uZXcgXy5RbihjLFwiY3NpXCIsZCk7aC5NYyhcInRcIixiKTt2YXIgbD1oLG49YS5lLHI7Zm9yKHIgaW4gbilsLk1jKHIsbltyXSk7d2luZG93LnBhcmVudCE9PXdpbmRvdyYmaC5NYyhcIndpZlwiLFwiMVwiKTtyZXR1cm4gay55aWVsZChSVGIoaCksOCl9Zz1mLnZhbHVlO3JldHVybiBrLnlpZWxkKGcoYSksNSk7Y2FzZSA1OmY9ZS5uZXh0KCk7ay5NYig0KTticmVhaztjYXNlIDg6aWYoZ29vZ2xlLnRpbWVycyl7dmFyIHQ9cj1uPWw9MCx1PTAsej0wLEI9MCxGPTAsSz0wLFA9MCxRPTAsVT0wLG1hPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaW1nXCIpLFxuamE9bmV3IFNldChBcnJheS5mcm9tKGRvY3VtZW50LmJvZHkucXVlcnlTZWxlY3RvckFsbChcIi5sb2dvIGEgPiBpbWcsIC5TUjNaWCBpbWdcIikpKSx1YT1uZXcgU2V0KEFycmF5LmZyb20oZG9jdW1lbnQuYm9keS5xdWVyeVNlbGVjdG9yQWxsKFwiLklvcm1LIGltZ1wiKSkpLHNhPW5ldyBTZXQoZ29vZ2xlLmxkaWV8fFtdKTttYT1fLlBhKG1hKTtmb3IodmFyIEZhPW1hLm5leHQoKTshRmEuZG9uZTtGYT1tYS5uZXh0KCkpe0ZhPUZhLnZhbHVlO2lmKHNhLnNpemU+MCl7dmFyIHdhPUZhLmRhdGFzZXQuaWlkfHxGYS5pZCx5YT1zYS5oYXMod2EpO051bWJlcihGYS5nZXRBdHRyaWJ1dGUoXCJkYXRhLWF0ZlwiKSkmMSYmeWEmJigrK24sZ29vZ2xlLnBpbSYmd2EmJmdvb2dsZS5waW1bd2FdJiYrK3IpfWlmKCEoRmEuaGFzQXR0cmlidXRlKFwiZGF0YS1ub2FmdFwiKXx8RmEuaWQ9PT1cIm1kbG9nb1wifHxqYS5oYXMoRmEpfHx1YS5oYXMoRmEpfHxfLmttLmNvbnRhaW5zKEZhLFwiZXFBMnJlXCIpfHxfLmttLmNvbnRhaW5zKEZhLFxuXCJYTm81QWJcIikpKXt3YT1GYS5oYXNBdHRyaWJ1dGUoXCJkYXRhLWRlZmVycmVkXCIpO2lmKEZhLmhhc0F0dHJpYnV0ZShcImRhdGEtYXRmXCIpKXt5YT1OdW1iZXIoRmEuZ2V0QXR0cmlidXRlKFwiZGF0YS1hdGZcIikpO3ZhciAkYT15YT09PTAsV2E9eWEmOCxhYj15YSYxLHRiPSFhYiYmeWEmNCxmYj1GYS5kYXRhc2V0LmlpZHx8RmEuaWQ7ZmI9Z29vZ2xlLmxkaSYmZmImJmdvb2dsZS5sZGlbZmJdO3ZhciBVYT1GYS5oYXNBdHRyaWJ1dGUoXCJkYXRhLWx6eV9cIik7IXRifHx3YXx8VWF8fCsrVTtpZighd2EmJiFVYSYmRmEuc3JjLnN0YXJ0c1dpdGgoXCJkYXRhOlwiKSljb250aW51ZTshYWJ8fHdhJiYhZmJ8fCsrbDthYiYmRmEuaGFzQXR0cmlidXRlKFwiZGF0YS1kZWZlXCIpJiYrK1E7d2EmJihhYiYmZmImJisrRix0YiYmIWZiJiYrK0spOyRhfHxXYT9VYXx8KCsrdSxXYSYmdGI/KytCOldhJiYhdGImJisreik6d2F8fCsrdDtVYSYmeWEmMSYmKytQfUZhLnJlbW92ZUF0dHJpYnV0ZShcImRhdGEtZGVmZXJyZWRcIik7XG5GYS5yZW1vdmVBdHRyaWJ1dGUoXCJkYXRhLWx6eV9cIil9fWguTWMoXCJpbWVcIixTdHJpbmcobCkpO2guTWMoXCJpbWVhZVwiLFN0cmluZyhuKSk7aC5NYyhcImltZWFwXCIsU3RyaW5nKHIpKTtoLk1jKFwiaW1leFwiLFN0cmluZyh0KSk7aC5NYyhcImltZWhcIixTdHJpbmcodSkpO2guTWMoXCJpbWVoYVwiLFN0cmluZyh6KSk7aC5NYyhcImltZWhiXCIsU3RyaW5nKEIpKTtoLk1jKFwiaW1lYVwiLFN0cmluZyhGKSk7aC5NYyhcImltZWJcIixTdHJpbmcoSykpO2guTWMoXCJpbWVsXCIsU3RyaW5nKFApKTtoLk1jKFwiaW1lZFwiLFN0cmluZyhRKSk7aC5NYyhcImltZWViXCIsU3RyaW5nKFUpKTtsPV8ucWwoKS55O2guTWMoXCJzY3BcIixTdHJpbmcoTWF0aC5mbG9vcihsKSkpO2lmKG49Xy5vbChcIm9VQWNQZFwiKSluPW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaC5NYyhcImZsZFwiLFN0cmluZyhNYXRoLmZsb29yKG4udG9wK2wpKSl9U1RiKGgsYSk7ZGVsZXRlIGEudC5zdGFydDtsPV8uUGEoT2JqZWN0LmtleXMoXy5WVGIpKTtmb3Iobj1cbmwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSluPW4udmFsdWUsaC5NYyhuLF8uVlRiW25dKCkpO3JldHVybiBrLnJldHVybihoKX19KX07WFRiPWZ1bmN0aW9uKGEpe2lmKGEpaWYoXy5wZCgpLmdldFZpc2liaWxpdHlTdGF0ZSgpPT09XCJwcmVyZW5kZXJcIil7dmFyIGI9ITEsYz1mdW5jdGlvbigpe2lmKCFiKXthLk1jKFwicHJlcmVuZGVyXCIsXCIxXCIpO2lmKF8ucGQoKS5nZXRWaXNpYmlsaXR5U3RhdGUoKT09PVwicHJlcmVuZGVyXCIpdmFyIGQ9ITE7ZWxzZSBhLmxvZygpLGQ9ITA7ZCYmKGI9ITAsXy5LayhfLnBkKCksXCJ2aXNpYmlsaXR5Y2hhbmdlXCIsYykpfX07Xy5YZChfLnBkKCksXCJ2aXNpYmlsaXR5Y2hhbmdlXCIsYyl9ZWxzZSBhLmxvZygpfTtfLllUYj1mdW5jdGlvbihhLGIsYyl7Yj1iPT09dm9pZCAwP2dvb2dsZS5zbjpiO2I9bmV3IF8uUW4oYixcImNzaVwiKTtmb3IodmFyIGQgaW4gYSliLk1jKGQsYVtkXSk7YyYmU1RiKGIsYyk7Yi5sb2coKX07XG5hVWI9ZnVuY3Rpb24oKXt2YXIgYT1aVGIsYj0kVGIsYz17fTthJiYoYy51amhzPU1hdGgucm91bmQoYS51c2VkSlNIZWFwU2l6ZS8xRTYpLGMudGpocz1NYXRoLnJvdW5kKGEudG90YWxKU0hlYXBTaXplLzFFNiksYy5qaHNsPU1hdGgucm91bmQoYS5qc0hlYXBTaXplTGltaXQvMUU2KSk7YiYmKGMuZG09TWF0aC5mbG9vcihiKSk7cmV0dXJuIF8uVmxhKGMpfTtjVWI9ZnVuY3Rpb24oKXt2YXIgYT17fSxiPWJVYi5lbnRyaWVzKCksYz1iLmxlbmd0aDthLm5lPWMudG9TdHJpbmcoKTtjPjAmJihiPWJbMF0uaWQpJiYhL1teLWEtejAtOV0vaS50ZXN0KGIpJiYoYS5mZWlkPWIpO3JldHVybiBfLlZsYShhKX07XG5kVWI9ZnVuY3Rpb24oKXt2YXIgYT1fLlFlKCk7aWYoYS5uYXZpZ2F0b3ImJmEubmF2aWdhdG9yLmNvbm5lY3Rpb24pe2E9YS5uYXZpZ2F0b3IuY29ubmVjdGlvbjt2YXIgYj17fTtiLmRsPU1hdGguZmxvb3IoYS5kb3dubGluayoxRTMpO2IuZWN0PWEuZWZmZWN0aXZlVHlwZTtiLnJ0dD1hLnJ0dDtyZXR1cm4gXy5WbGEoYil9cmV0dXJuXCJcIn07ZVViPWZ1bmN0aW9uKCl7cmV0dXJuXCJhYyBkb2JzIGZwc3RhdGUgaW1ncmMgaXAgb3Nob3AgcmVmcSBzaWUgc3MgdHJleCB2aGlkIHZpZXdcIi5zcGxpdChcIiBcIikuZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiBsb2NhdGlvbi5oYXNoLmluZGV4T2YoYSk+LTF9KS5qb2luKFwiLFwiKX07ZlViPWZ1bmN0aW9uKCl7dmFyIGE9TnVtYmVyKHdpbmRvdy5uYXZpZ2F0b3ImJndpbmRvdy5uYXZpZ2F0b3IuaGFyZHdhcmVDb25jdXJyZW5jeSk7cmV0dXJuIGE/Xy5WbGEoe2hjOmF9KTpcIlwifTtcbmhVYj1mdW5jdGlvbigpe3ZhciBhPW5ldyBfLlFuKGdvb2dsZS5zbiksYj1cInVua25vd25cIjtpZihnVWIpYj1cImJhY2tfZm9yd2FyZF9jYWNoZVwiO2Vsc2V7dmFyIGM9d2luZG93LnBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlJiZwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKFwibmF2aWdhdGlvblwiKVswXTtjJiYoYj1jLmFjdGl2YXRpb25TdGFydD9cInByZXJlbmRlclwiOmMudHlwZSl9cmV0dXJuIGEuTWMoXCJudFwiLGIpfTtpVWI9ZnVuY3Rpb24oYSxiKXthLmZvckVhY2goZnVuY3Rpb24oYyl7aWYoIShnb29nbGUuYy5maDxjLnN0YXJ0VGltZSkpe3ZhciBkPVN0cmluZyhNYXRoLmZsb29yKGMuc3RhcnRUaW1lKSk7Yz1TdHJpbmcoTWF0aC5mbG9vcihjLnByb2Nlc3NpbmdTdGFydC1jLnN0YXJ0VGltZSkpO2hVYigpLk1jKFwidFwiLFwiZmlcIikuTWMoXCJzdFwiLGQpLk1jKFwiZmlkXCIsYykubG9nKCl9fSk7YS5sZW5ndGg+MCYmYi5kaXNjb25uZWN0KCl9O1xubFViPWZ1bmN0aW9uKCl7dmFyIGE9alViLGI9YS50YWtlUmVjb3JkcygpLGM9bnVsbDtiLmxlbmd0aD4wJiYoYz1iW2IubGVuZ3RoLTFdLnN0YXJ0VGltZSk7YS5kaXNjb25uZWN0KCk7YyYmYzxnb29nbGUuYy5maCYma1ViKFwibGNwXCIsYyl9O21VYj1mdW5jdGlvbigpe3ZhciBhPXBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUmJnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoXCJmaXJzdC1jb250ZW50ZnVsLXBhaW50XCIpWzBdO2EmJmEuc3RhcnRUaW1lPGdvb2dsZS5jLmZoJiZrVWIoXCJmY3BcIixhLnN0YXJ0VGltZSl9O2tVYj1mdW5jdGlvbihhLGIpe3dpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmZ29vZ2xlLnRpY2soXCJsb2FkXCIsYSxNYXRoLmZsb29yKHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0K2IpKX07XG5yVWI9ZnVuY3Rpb24oYSl7YS5mb3JFYWNoKGZ1bmN0aW9uKGIpe2E6aWYoIWIuaGFkUmVjZW50SW5wdXQpe3ZhciBjPWIuc3RhcnRUaW1lO2lmKGdvb2dsZS5odCYmYz49Z29vZ2xlLmh0KWlmKGdvb2dsZS5mdWh0KXtpZihjPD1nb29nbGUuZnVodClicmVhayBhfWVsc2UgaWYoZG9jdW1lbnQuYm9keS5zdHlsZS5vcGFjaXR5IT09XCJcIilicmVhayBhO0Z4Lmxlbmd0aD4wJiYoYz1GeFswXSwoYi5zdGFydFRpbWUtRnhbRngubGVuZ3RoLTFdLnN0YXJ0VGltZT49MUUzfHxiLnN0YXJ0VGltZS1jLnN0YXJ0VGltZT49NUUzKSYmblViKCkpO0Z4LnB1c2goYik7b1ViKz1iLnZhbHVlO29VYj5wVWImJihwVWI9b1ViKX19KTtxVWJ8fChhLmxlbmd0aD4wJiZnb29nbGUuYy5lKFwibG9hZFwiLFwiY2xzXCIsU3RyaW5nKHBVYikpLHFVYj0hMCl9O1xublViPWZ1bmN0aW9uKCl7aWYoRngubGVuZ3RoIT09MCl7aWYoc1ViPC4wMSl7dmFyIGE9aFViKCkuTWMoXCJ0XCIsXCJsc2JcIikuTWMoXCJsc2JsXCIsU3RyaW5nKEZ4Lmxlbmd0aCkpLk1jKFwibHNic1wiLFN0cmluZyhvVWIpKSxiPUZ4WzBdLmxhc3RJbnB1dFRpbWU7Yj4wJiZhLk1jKFwidHNsaVwiLFN0cmluZyhGeFswXS5zdGFydFRpbWUtYikpO2lmKG9VYj4uMSl7Yj1GeC5yZWR1Y2UoZnVuY3Rpb24oZCxlKXtyZXR1cm4gZC52YWx1ZT5lLnZhbHVlP2Q6ZX0pO3ZhciBjOyhiPT1udWxsP3ZvaWQgMDooYz1iLnNvdXJjZXMpPT1udWxsP3ZvaWQgMDpjLmxlbmd0aCk+MCYmKGM9Yi5zb3VyY2VzLnJlZHVjZShmdW5jdGlvbihkLGUpe3JldHVybiBkLm5vZGUmJmQucHJldmlvdXNSZWN0LndpZHRoKmQucHJldmlvdXNSZWN0LmhlaWdodD5lLnByZXZpb3VzUmVjdC53aWR0aCplLnByZXZpb3VzUmVjdC5oZWlnaHQ/ZDplfSksYy5ub2RlJiZ0VWIoYSxiLnN0YXJ0VGltZSxjLm5vZGUpKX1hLmxvZygpfUZ4PVxuW107b1ViPTB9fTt2VWI9ZnVuY3Rpb24oYSl7YS5mb3JFYWNoKGZ1bmN0aW9uKGIpe3VVYihiKX0pfTt0VWI9ZnVuY3Rpb24oYSxiLGMpe2lmKF8ubWUoYykpe3ZhciBkPV8ua20uZ2V0KGMpO2QubGVuZ3RoPjAmJmEuTWMoXCJ0Z1wiLGMudGFnTmFtZS50b0xvd2VyQ2FzZSgpK1wiLlwiK0FycmF5LmZyb20oZCkuam9pbihcIi5cIikpOyhjPV8uVWMoYykpJiYoYz1fLlZjKGMpKSYmXy5taihjLDIpJiZhLk1jKFwidmV0XCIsU3RyaW5nKF8uaWkoYywyKSkpOyhjPXdVYigpLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gcGVyZm9ybWFuY2UudGltZU9yaWdpbitlLnN0YXJ0VGltZTw9YiYmKCFlLmVuZFRpbWV8fGI8PXBlcmZvcm1hbmNlLnRpbWVPcmlnaW4rZS5lbmRUaW1lKX0pLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS5uYW1lfSkuam9pbihcIixcIikpJiZhLk1jKFwiZnRcIixjKX19O1xudVViPWZ1bmN0aW9uKGEpe2lmKGEuaW50ZXJhY3Rpb25JZCl7eFViPU1hdGgubWluKHhVYixhLmludGVyYWN0aW9uSWQpO3lVYj1NYXRoLm1heCh5VWIsYS5pbnRlcmFjdGlvbklkKTt2YXIgYj16VWJbYS5pbnRlcmFjdGlvbklkXTtpZihifHxBVWIubGVuZ3RoPDEwfHxhLmR1cmF0aW9uPkFVYltBVWIubGVuZ3RoLTFdLmR1cmF0aW9uKWI/Yi5kdXJhdGlvbj1NYXRoLm1heChiLmR1cmF0aW9uLGEuZHVyYXRpb24pOihiPXtpZDphLmludGVyYWN0aW9uSWQsZHVyYXRpb246YS5kdXJhdGlvbn0sQVViLnB1c2goYikselViW2IuaWRdPWIpLEFVYi5zb3J0KGZ1bmN0aW9uKGUsZil7cmV0dXJuIGYuZHVyYXRpb24tZS5kdXJhdGlvbn0pLEFVYi5zcGxpY2UoMTApLmZvckVhY2goZnVuY3Rpb24oZSl7ZGVsZXRlIHpVYltlLmlkXX0pO2lmKHNVYjwuMDEmJmEuZHVyYXRpb24+MjAwKXtiPWEucHJvY2Vzc2luZ1N0YXJ0LWEuc3RhcnRUaW1lO3ZhciBjPWEucHJvY2Vzc2luZ0VuZC1hLnByb2Nlc3NpbmdTdGFydCxcbmQ9TWF0aC5tYXgoYS5zdGFydFRpbWUrYS5kdXJhdGlvbixhLnByb2Nlc3NpbmdFbmQpLWEucHJvY2Vzc2luZ0VuZDtiPWhVYigpLk1jKFwidFwiLFwic2lcIikuTWMoXCJldFwiLGEubmFtZSkuTWMoXCJpaVwiLFN0cmluZyhhLmludGVyYWN0aW9uSWQpKS5NYyhcImlkXCIsU3RyaW5nKE1hdGguZmxvb3IoYikpKS5NYyhcInB0XCIsU3RyaW5nKE1hdGguZmxvb3IoYykpKS5NYyhcInBkXCIsU3RyaW5nKE1hdGguZmxvb3IoZCkpKTthLnRhcmdldCYmdFViKGIsYS5zdGFydFRpbWUsYS50YXJnZXQpO2IubG9nKCl9fX07QlViPWZ1bmN0aW9uKCl7aWYod2luZG93LnBlcmZvcm1hbmNlJiZcImludGVyYWN0aW9uQ291bnRcImluIHBlcmZvcm1hbmNlKXt2YXIgYT1wZXJmb3JtYW5jZS5vYTtpZih0eXBlb2YgYT09PVwibnVtYmVyXCIpcmV0dXJuIGF9cmV0dXJuIHhVYiE9PUluZmluaXR5JiZ5VWIhPT0tMT8oeVViLXhVYikvNysxOjB9O1xuTFViPWZ1bmN0aW9uKGEpe2E9Xy5QYShhKTtmb3IodmFyIGI9YS5uZXh0KCk7IWIuZG9uZTtiPWEubmV4dCgpKWlmKGI9Yi52YWx1ZSxiLmR1cmF0aW9uPj01MCl7aFViKCkuTWMoXCJ0XCIsXCJsZmRcIikuTWMoXCJiZFwiLFN0cmluZyhiLmJsb2NraW5nRHVyYXRpb24pKS5NYyhcImRcIixTdHJpbmcoYi5kdXJhdGlvbikpLk1jKFwiZGRcIixTdHJpbmcoYi5kZXNpcmVkUmVuZGVyU3RhcnQ/TWF0aC5tYXgoMCxiLmRlc2lyZWRSZW5kZXJTdGFydC1iLnN0YXJ0VGltZSk6MCkpLk1jKFwicmRcIixTdHJpbmcoYi5zdHlsZUFuZExheW91dFN0YXJ0JiZiLnJlbmRlclN0YXJ0P01hdGgubWF4KDAsYi5zdHlsZUFuZExheW91dFN0YXJ0LWIucmVuZGVyU3RhcnQpOjApKS5sb2coKTtiLnNjcmlwdHMuZm9yRWFjaChmdW5jdGlvbihmKXt2YXIgZz1mLmludm9rZXJ8fGYubmFtZXx8XCJcIixoPWYuaW52b2tlclR5cGV8fGYudHlwZTtoVWIoKS5NYyhcInRcIixcImxmc1wiKS5NYyhcInNjXCIsZW5jb2RlVVJJQ29tcG9uZW50KGcpK1xuXCJ8XCIraCtcInxcIitmLmR1cmF0aW9uK1wifFwiK2VuY29kZVVSSUNvbXBvbmVudChmLnNvdXJjZUxvY2F0aW9ufHxcIlwiKSkubG9nKCl9KTt2YXIgYz1iLmRlc2lyZWRSZW5kZXJTdGFydD9NYXRoLm1heCgwLGIuZGVzaXJlZFJlbmRlclN0YXJ0LWIuc3RhcnRUaW1lKTowLGQ9Yi5zdHlsZUFuZExheW91dFN0YXJ0JiZiLnJlbmRlclN0YXJ0P01hdGgubWF4KDAsYi5zdHlsZUFuZExheW91dFN0YXJ0LWIucmVuZGVyU3RhcnQpOjA7Yi5ibG9ja2luZ0R1cmF0aW9uJiZiLmJsb2NraW5nRHVyYXRpb24+Q1ViJiYoQ1ViPWIuYmxvY2tpbmdEdXJhdGlvbik7Yi5kdXJhdGlvbj5EVWImJihEVWI9Yi5kdXJhdGlvbik7Yz5FVWImJihFVWI9Yyk7ZD5GVWImJihGVWI9ZCk7dmFyIGU9dm9pZCAwO0dVYis9KGU9Yi5ibG9ja2luZ0R1cmF0aW9uKSE9bnVsbD9lOjA7SFViKz1iLmR1cmF0aW9uO0lVYis9YztKVWIrPWQ7S1ViKyt9fTtcbk5VYj1mdW5jdGlvbihhKXthLnBlcnNpc3RlZCYmKGdVYj0hMCxNVWI9QlViKCksQVViPVtdKX07T1ViPWZ1bmN0aW9uKGEsYil7dHJ5e2lmKFwiUGVyZm9ybWFuY2VPYnNlcnZlclwiaW4gd2luZG93JiZQZXJmb3JtYW5jZU9ic2VydmVyLnByb3RvdHlwZS50YWtlUmVjb3JkcyYmUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzJiZQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoYSkpe3ZhciBjPW5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGIpO2I9e3R5cGU6YSxidWZmZXJlZDohMH07YT09PVwiZXZlbnRcIiYmKGIuZHVyYXRpb25UaHJlc2hvbGQ9MTYpO2Mub2JzZXJ2ZShiKTtyZXR1cm4gY319Y2F0Y2goZCl7fX07XG5YVWI9ZnVuY3Rpb24oKXtyZXR1cm4gXy5iaChmdW5jdGlvbihhKXsoalViPU9VYihcImxhcmdlc3QtY29udGVudGZ1bC1wYWludFwiLGZ1bmN0aW9uKCl7fSkpJiZsVWIoKTttVWIoKTsoUFViPU9VYihcImxheW91dC1zaGlmdFwiLGZ1bmN0aW9uKGIpe3JVYihiLmdldEVudHJpZXMoKSl9KSkmJnJVYihQVWIudGFrZVJlY29yZHMoKSk7KFFVYj1PVWIoXCJmaXJzdC1pbnB1dFwiLGZ1bmN0aW9uKGIsYyl7aVViKGIuZ2V0RW50cmllcygpLGMpfSkpJiZpVWIoUVViLnRha2VSZWNvcmRzKCksUVViKTsoUlViPXNVYjwwP09VYihcImxvbmctYW5pbWF0aW9uLWZyYW1lXCIsZnVuY3Rpb24oYil7TFViKGIuZ2V0RW50cmllcygpKX0pOnZvaWQgMCkmJkxVYihSVWIudGFrZVJlY29yZHMoKSk7KFNVYj1PVWIoXCJldmVudFwiLGZ1bmN0aW9uKGIpe3ZVYihiLmdldEVudHJpZXMoKSl9KSkmJnZVYihTVWIudGFrZVJlY29yZHMoKSk7aWYoUFVifHxRVWJ8fFNVYnx8UlViKVRVYj1fLlhkKF8ucGQoKSxcInZpc2liaWxpdHljaGFuZ2VcIixcbmZ1bmN0aW9uKCl7ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlPT09XCJoaWRkZW5cIiYmVVViKCl9LCEwKSxWVWI9Xy5YZCh3aW5kb3csXCJwYWdlc2hvd1wiLE5VYiksV1ViPV8udWUod2luZG93LmRvY3VtZW50LmJvZHksXy56VGIsZnVuY3Rpb24oKXtnb29nbGUuc3R2c2MmJihVVWIoKSxQVWImJlBVYi5kaXNjb25uZWN0KCksUVViJiZRVWIuZGlzY29ubmVjdCgpLFNVYiYmU1ViLmRpc2Nvbm5lY3QoKSxSVWImJlJVYi5kaXNjb25uZWN0KCksXy5MayhWVWIpLF8uTGsoVFViKSxfLnRlKFdVYikpfSk7Xy5TZyhhKX0pfTtcblVVYj1mdW5jdGlvbigpe1BVYiYmKHJVYihQVWIudGFrZVJlY29yZHMoKSksRngubGVuZ3RoPjAmJm5VYigpKTtRVWImJmlVYihRVWIudGFrZVJlY29yZHMoKSxRVWIpO2lmKFNVYiYmKHZVYihTVWIudGFrZVJlY29yZHMoKSksc1ViPC4wMSkpe3ZhciBhPUJVYigpLU1VYjtpZihhIT09MCl7dmFyIGI9MDtBVWIubGVuZ3RoPjAmJihiPUFVYltNYXRoLm1pbihBVWIubGVuZ3RoLTEsTWF0aC5mbG9vcihhKigxLS45OCkpKV0uZHVyYXRpb24pO2hVYigpLk1jKFwidFwiLFwicGhcIikuTWMoXCJpbnBcIixTdHJpbmcoTWF0aC5mbG9vcihiKSkpLk1jKFwiaWNcIixTdHJpbmcoYSkpLk1jKFwibGljXCIsU3RyaW5nKEFVYi5sZW5ndGgpKS5sb2coKX19UlViJiZLVWIhPT0wJiYoaFViKCkuTWMoXCJ0XCIsXCJsZmFcIikuTWMoXCJtYmRcIixTdHJpbmcoTWF0aC5mbG9vcihDVWIpKSkuTWMoXCJhYmRcIixTdHJpbmcoTWF0aC5mbG9vcihHVWIvS1ViKSkpLk1jKFwibWRcIixTdHJpbmcoTWF0aC5mbG9vcihEVWIpKSkuTWMoXCJhZFwiLFxuU3RyaW5nKE1hdGguZmxvb3IoSFViL0tVYikpKS5NYyhcIm1kZFwiLFN0cmluZyhNYXRoLmZsb29yKEVVYikpKS5NYyhcImFkZFwiLFN0cmluZyhNYXRoLmZsb29yKElVYi9LVWIpKSkuTWMoXCJtcmRcIixTdHJpbmcoTWF0aC5mbG9vcihGVWIpKSkuTWMoXCJhcmRcIixTdHJpbmcoTWF0aC5mbG9vcihKVWIvS1ViKSkpLk1jKFwibmxcIixTdHJpbmcoS1ViKSkubG9nKCksS1ViPUpVYj1GVWI9SVViPUVVYj1IVWI9RFViPUdVYj1DVWI9MCl9O1xud1ViPWZ1bmN0aW9uKCl7Xy51VGIoKTtpZighXy5yVGIpcmV0dXJuW107dmFyIGE9bmV3IE1hcDtwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKFwibWFya1wiKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe3ZhciBjPWIubmFtZS5tYXRjaChcIl5mZWF0dXJlLXRhc2stKC4qKS0oXFxcXGQrKS0oc3RhcnR8ZW5kKSRcIik7aWYoYyl7dmFyIGQ9Y1sxXSxlPWQrXCItXCIrY1syXTtjPWNbM107Yz09PVwic3RhcnRcIj9hLnNldChlLHtuYW1lOmQsc3RhcnRUaW1lOmIuc3RhcnRUaW1lfSk6Yz09PVwiZW5kXCImJihkPWEuZ2V0KGUpKSYmKGQuZW5kVGltZT1iLnN0YXJ0VGltZSl9fSk7cmV0dXJuW10uY29uY2F0KF8ubWQoYS52YWx1ZXMoKSkpfTtfLkJUYj1bXTtfLkFUYj0hMTt2YXIgVVRiLFlVYixaVWI7Xy5WVGI9e307VVRiPVtdO1lVYj1fLkNUYihmdW5jdGlvbihhLGIsYyxkKXt2YXIgZTtyZXR1cm4gXy5iaChmdW5jdGlvbihmKXtpZihmLm9hPT0xKXJldHVybiBlPVhUYixmLnlpZWxkKFdUYihhLGMsYixkKSwyKTtlKGYuQWEpO18uU2coZil9KX0pO1pVYj1fLkNUYihmdW5jdGlvbihhLGIsYyxkKXthPWE9PT12b2lkIDA/Z29vZ2xlLnRpbWVycy5sb2FkOmE7Yj1iPT09dm9pZCAwP1wiYWxsXCI6Yjt2YXIgZSxmLGc7cmV0dXJuIF8uYmgoZnVuY3Rpb24oaCl7ZT1fLnJ0KCk7Zj1lLmdldChcImFnc2Fia1wiKTtpZihmPT09XCIxXCIpcmV0dXJuIGgucmV0dXJuKCk7aWYoIWEudClyZXR1cm4gaC5NYigwKTtfLkJpYSgpfHwoZz1lLmdldChcInFzZFwiKSkmJmcubWF0Y2goXCJeWzAtOV0rJFwiKSYmKGEuZS5xc2Q9Zyk7YS5lLmFkaD1fLkxUYigpO3JldHVybiBoLnlpZWxkKFlVYihhLGMsYixkKSwwKX0pfSk7Xy51ZChcImdvb2dsZS5yZXBvcnRcIixZVWIpO1xuXy51ZChcImdvb2dsZS5jc2lSZXBvcnRcIixaVWIpO3ZhciBUVGI9Xy5hQWE7dmFyIFpUYj13aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS5tZW1vcnksJFRiPXdpbmRvdy5uYXZpZ2F0b3ImJndpbmRvdy5uYXZpZ2F0b3IuZGV2aWNlTWVtb3J5O2lmKFpUYnx8JFRiKV8uVEViLm1lbT1mdW5jdGlvbigpe3JldHVybiBhVWIoKX0sXy5WVGIubWVtPWZ1bmN0aW9uKCl7cmV0dXJuIGFVYigpfTt2YXIgYlViPXdpbmRvdy5uYXZpZ2F0aW9uO2JVYiYmKF8uVEViLm52PWZ1bmN0aW9uKCl7cmV0dXJuIGNVYigpfSxfLlZUYi5udj1mdW5jdGlvbigpe3JldHVybiBjVWIoKX0pO18uY0FhJiYoXy5WVGIubmV0PWRVYik7Xy5URWIuaHA9ZnVuY3Rpb24oKXtyZXR1cm4gZVViKCl9O18uVlRiLmhwPWZ1bmN0aW9uKCl7cmV0dXJuIGVVYigpfTt3aW5kb3cubmF2aWdhdG9yJiZ3aW5kb3cubmF2aWdhdG9yLmhhcmR3YXJlQ29uY3VycmVuY3kmJihfLlZUYi5zeXM9ZlViKTt2YXIgalViLFBVYixRVWIsUlViLFNVYixUVWIsVlViLFdVYixzVWI9TWF0aC5yYW5kb20oKSxDVWI9MCxHVWI9MCxEVWI9MCxIVWI9MCxFVWI9MCxJVWI9MCxGVWI9MCxKVWI9MCxLVWI9MCxGeD1bXSxvVWI9MCxwVWI9MCxxVWI9ITEseFViPUluZmluaXR5LHlVYj0tMSxNVWI9MCxBVWI9W10selViPXt9LGdVYj0hMTtfLmRBYSYmVVRiLnB1c2goWFViKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXG5fLlZUYi5wPWZ1bmN0aW9uKCl7dmFyIGE9e307YS5icz0oISFnb29nbGUuYnMpLnRvU3RyaW5nKCk7cmV0dXJuIF8uVmxhKGEpfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwiY3NpXCIpO1xudmFyIHMwZj1mdW5jdGlvbigpe2lmKCEoXy5CaWEoKXx8d2luZG93Ll9jc2M9PT1cImFnc2FcIiYmd2luZG93Ll9jc2hpZHx8XCJwcnNcImluIGdvb2dsZS50aW1lcnMubG9hZC5tKSl7dmFyIGEsYj1fLnJ0KCkuZ2V0KFwicXN1YnRzXCIpO2ImJmIubWF0Y2goXCJeWzAtOV0rJFwiKSYmKGE9TnVtYmVyKGIpKTthJiZhPD1EYXRlLm5vdygpJiZnb29nbGUudGljayhcImxvYWRcIixcInFzdWJ0c1wiLGEpfX0sdTBmPWZ1bmN0aW9uKCl7aWYoZ29vZ2xlLmMpe2dvb2dsZS50aWNrKFwibG9hZFwiLFwieGpzZWVcIik7czBmKCk7dmFyIGE9RGF0ZS5ub3coKTtfLkNUYihmdW5jdGlvbigpe3QwZnx8KGdvb2dsZS50aWNrKFwibG9hZFwiLFwieGpzXCIsYSksXy5OamEoKSl9KSgpfX0sdDBmPSExO2lmKF8uY2goXCJnb29nbGUucG1jLmNzaVwiKSl7dTBmKCk7Xy5jaChcImdvb2dsZS5wbWMuY3NpXCIpLnNwbSYmKHQwZj0hMCk7Xy5BVGI9ITA7Zm9yKHZhciB2MGY9MDt2MGY8Xy5CVGIubGVuZ3RoO3YwZisrKV8uQlRiW3YwZl0oKX07XG5cbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJ3czlUbGNcIik7XG5cbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJjRXQ5MGJcIik7XG5cbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgdjdhLHc3YSxBN2E7djdhPWZ1bmN0aW9uKGEsYil7aWYoQXJyYXkuaXNBcnJheShhKSl7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspe3ZhciBkPWFbY107aWYoIShkPT1udWxsfHxkIGluc3RhbmNlb2YgQXJyYXkmJmQubGVuZ3RoPT0wKSl7dmFyIGU9W107djdhKGQsZSk7ZS5sZW5ndGgmJmIucHVzaChiLmxlbmd0aD9cIixcIjpcIntcIixjK1wiXCIsXCI6XCIsZS5qb2luKFwiXCIpKX19Yi5sZW5ndGgmJmIucHVzaChcIn1cIil9ZWxzZSBfLkRhKGEpP3c3YShhLGIpOmIucHVzaChKU09OLnN0cmluZ2lmeShhKSl9O1xudzdhPWZ1bmN0aW9uKGEsYil7aWYoT2JqZWN0LmtleXMpdmFyIGM9T2JqZWN0LmtleXMoYSk7ZWxzZXtjPVtdO2Zvcih2YXIgZCBpbiBhKWMucHVzaChkKX1jLnNvcnQoZnVuY3Rpb24oZyxoKXtyZXR1cm4gXy5YYWEoL1teMC05XS8udGVzdChnKT9nOnBhcnNlSW50KGcsMTApLC9bXjAtOV0vLnRlc3QoaCk/aDpwYXJzZUludChoLDEwKSl9KTtmb3IoZD0wO2Q8Yy5sZW5ndGg7ZCsrKXt2YXIgZT1hW2NbZF1dO2lmKCEoZT09bnVsbHx8ZSBpbnN0YW5jZW9mIEFycmF5JiZlLmxlbmd0aD09MCkpe3ZhciBmPVtdO3Y3YShlLGYpO2YubGVuZ3RoJiZiLnB1c2goYi5sZW5ndGg/XCIsXCI6XCJ7XCIsY1tkXSxcIjpcIixmLmpvaW4oXCJcIikpfX1iLmxlbmd0aCYmYi5wdXNoKFwifVwiKX07Xy56N2E9ZnVuY3Rpb24oYSxiKXtiPV8ueDdhKGIpO3ZhciBjPVtdO3Y3YSh7aWQ6Xy55N2EoYSkscmVxdWVzdDpiP2IudEphKCk6W119LGMpO3JldHVybiBjLmpvaW4oXCJcIil9O1xuXy55N2E9ZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhLkFqYT09PVwibnVtYmVyXCI/YS5BamEudG9TdHJpbmcoKTphLmZffTtBN2E9e307Xy54N2E9ZnVuY3Rpb24oYSl7aWYoIWF8fCFhLnFiKXJldHVybiBhO3ZhciBiPUE3YVthLnFiXTtyZXR1cm4gYj9iLlh1ZT8oYT1hLmNsb25lKCksYi50dmUoYSksYSk6YTphfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwiWndEazlkXCIpO1xuXy5NJGE9ZnVuY3Rpb24oYSl7Xy5Ebi5jYWxsKHRoaXMsYS5OYSl9O18uRChfLk0kYSxfLkRuKTtfLk0kYS5XYT1fLkRuLldhO18uTSRhLklhPV8uRG4uSWE7Xy5NJGEucHJvdG90eXBlLno3YT1mdW5jdGlvbihhKXtyZXR1cm4gXy55Zih0aGlzLHtYYjp7UVY6Xy5jUWF9fSkudGhlbihmdW5jdGlvbihiKXt2YXIgYz13aW5kb3cuX3dqZGQsZD13aW5kb3cuX3dqZGM7cmV0dXJuIWMmJmQ/bmV3IF8uamYoZnVuY3Rpb24oZSl7d2luZG93Ll93amRjPWZ1bmN0aW9uKGYpe2QoZik7ZShOJGEoZixiLGEpKX19KTpOJGEoYyxiLGEpfSl9O3ZhciBOJGE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybihhPWEmJmFbY10pP2E6Yi5YYi5RVi56N2EoYyl9O18uTSRhLnByb3RvdHlwZS5vYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uSExhKGEsYyl9O18uRm4oXy5oUWEsXy5NJGEpO1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcIng4Y0h2YlwiKTtcblxuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcIlNOVW4zXCIpO1xuXG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5FcT1mdW5jdGlvbihhKXt0aGlzLm9hPWF9O18uRXEucHJvdG90eXBlLnhuPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub2EueG4oKX07Xy5FcS5wcm90b3R5cGUudUw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vYS51TCgpfTtfLkVxLnByb3RvdHlwZS5nZXRDb250ZXh0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm9hLmdldENvbnRleHQoYSl9O18uRXEucHJvdG90eXBlLmdldERhdGE9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMub2EuZ2V0RGF0YShhKX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcIlhkOGlVZFwiKTtcbnZhciBqYWI9ZnVuY3Rpb24oYSl7Xy5Ebi5jYWxsKHRoaXMsYS5OYSk7dGhpcy5sb2dnZXI9bnVsbDt0aGlzLlVTYT0hMTt0aGlzLndpbmRvdz1hLnNlcnZpY2Uud2luZG93LmdldCgpO3RoaXMubmF2aWdhdGlvbj10aGlzLndpbmRvdy5uYXZpZ2F0aW9uO2lhYih0aGlzKX07Xy5EKGphYixfLkRuKTtqYWIuV2E9Xy5Ebi5XYTtqYWIuSWE9ZnVuY3Rpb24oKXtyZXR1cm57c2VydmljZTp7d2luZG93Ol8uRW59fX07XG52YXIgaWFiPWZ1bmN0aW9uKGEpe3ZhciBiPWEud2luZG93Lmhpc3RvcnkucHVzaFN0YXRlLmJpbmQoYS53aW5kb3cuaGlzdG9yeSksYz1hLndpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZS5iaW5kKGEud2luZG93Lmhpc3RvcnkpO2Eud2luZG93Lmhpc3RvcnkucHVzaFN0YXRlPWZ1bmN0aW9uKGQsZSxmKXthLlVTYT0hMDtiKGQsZSxmKTthLlVTYT0hMX07YS53aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGU9ZnVuY3Rpb24oZCxlLGYpe2EuVVNhPSEwO2MoZCxlLGYpO2EuVVNhPSExfX07Xy5tPWphYi5wcm90b3R5cGU7Xy5tLmVudHJpZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5uYXZpZ2F0aW9uLmVudHJpZXMoKX07Xy5tLm5hdmlnYXRlPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMubmF2aWdhdGlvbi5uYXZpZ2F0ZShhLGIpfTtfLm0udHJhdmVyc2VUbz1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm5hdmlnYXRpb24udHJhdmVyc2VUbyhhLGIpfTtcbl8ubS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGEsYixjKXt0aGlzLm5hdmlnYXRpb24uYWRkRXZlbnRMaXN0ZW5lcihhLGIsYyl9O18ubS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGEsYixjKXt0aGlzLm5hdmlnYXRpb24ucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGIsYyl9O18ubS5kaXNwYXRjaEV2ZW50PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm5hdmlnYXRpb24uZGlzcGF0Y2hFdmVudChhKX07Xy5PZy5PYmplY3QuZGVmaW5lUHJvcGVydGllcyhqYWIucHJvdG90eXBlLHtjdXJyZW50RW50cnk6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5hdmlnYXRpb24uY3VycmVudEVudHJ5fX19KTtfLkZuKF8udlVhLGphYik7XG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwiSnNiTmhjXCIpO1xuXy5oYWI9bmV3IF8uSWQoXy53VWEpO1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ua2FiPV8uR2QoXCJkN1lTZmRcIixbXy53VWEsXy5Bbl0pO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJkN1lTZmRcIik7XG52YXIgbGFiPWZ1bmN0aW9uKGEpe2lmKCFhfHxhLmlkPT1udWxsfHxhLmtleT09bnVsbClyZXR1cm4gbnVsbDt2YXIgYj17aWQ6YS5pZCxwdXNoSWQ6YS5rZXl9O2lmKGEudXJsKXRyeXt2YXIgYz1uZXcgVVJMKGEudXJsKTtiLnVybD1jLnBhdGhuYW1lK2Muc2VhcmNoK2MuaGFzaH1jYXRjaChlKXt9dHJ5e3ZhciBkPWEuZ2V0U3RhdGUoKX1jYXRjaChlKXt9ZCYmKGIudXNlckRhdGE9ZCk7cmV0dXJuIGJ9LG1hYj17fSxvYWI9ZnVuY3Rpb24oYSl7Xy5Ebi5jYWxsKHRoaXMsYS5OYSk7dmFyIGI9dGhpczt0aGlzLm9hPWEuc2VydmljZS5ieWQ7dGhpcy5aZD1uZXcgU2V0O3RoaXMuQWE9dm9pZCAwO3RoaXMuQmE9ITE7dGhpcy5pbmZvPXZvaWQgMDt2YXIgYz1mdW5jdGlvbihlKXtuYWIoYixlKX07dGhpcy5vYS5hZGRFdmVudExpc3RlbmVyKFwibmF2aWdhdGVcIixjKTt2YXIgZD1mdW5jdGlvbihlKXtpZihiLmluZm8hPT1tYWIpe3ZhciBmPSExLGc9bnVsbCxoLGssbD0oaz0oaD1lLmZyb20pPT1cbm51bGw/dm9pZCAwOmguaW5kZXgpIT1udWxsP2s6LTEsbixyO2g9KHI9KG49Yi5vYS5jdXJyZW50RW50cnkpPT1udWxsP3ZvaWQgMDpuLmluZGV4KSE9bnVsbD9yOi0xO2lmKGg+PTAmJmw+PTApaWYoaD5sKWY9ITA7ZWxzZSBpZihoPGwpZm9yKGc9W10sbj1fLlBhKGIub2EuZW50cmllcygpKSxyPW4ubmV4dCgpOyFyLmRvbmU7cj1uLm5leHQoKSlyPXIudmFsdWUsci5pbmRleDw9bCYmci5pbmRleD5oJiZnLnB1c2goe2lkOnIuaWQscHVzaElkOnIua2V5LHNhYTpyLmluZGV4IT09aCsxfSk7ZS5uYXZpZ2F0aW9uVHlwZT09PVwicmVwbGFjZVwiJiZlLmZyb20mJihnPWUuZnJvbSxnPVt7aWQ6Zy5pZCxwdXNoSWQ6Zy5rZXksc2FhOiEwfV0pO2w9IWIuaW5mbzt2YXIgdCx1O2g9bD9uZXcgXy5FcShiKToodT0odD1iLmluZm8pPT1udWxsP3ZvaWQgMDp0LnNvdXJjZSkhPW51bGw/dTpiO2Y9e3VzZXJJbml0aWF0ZWQ6bCxpRTpmLHNvdXJjZTpofTtnJiYoZi5xTz1nKTtnPV8uUGEoYi5aZCk7XG5mb3IodD1nLm5leHQoKTshdC5kb25lO3Q9Zy5uZXh0KCkpdD10LnZhbHVlLHQobGFiKGIub2EuY3VycmVudEVudHJ5KSxsYWIoZS5mcm9tKSxmKX19O3RoaXMub2EuYWRkRXZlbnRMaXN0ZW5lcihcImN1cnJlbnRlbnRyeWNoYW5nZVwiLGQpO3RoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soZnVuY3Rpb24oKXtiLm9hLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJuYXZpZ2F0ZVwiLGMpO2Iub2EucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImN1cnJlbnRlbnRyeWNoYW5nZVwiLGQpfSk7YS5zZXJ2aWNlLndpbmRvdy5nZXQoKS5hZGRFdmVudExpc3RlbmVyKFwicGFnZXNob3dcIixmdW5jdGlvbigpe2IuQmE9ITF9KX07Xy5EKG9hYixfLkRuKTtvYWIuV2E9Xy5Ebi5XYTtvYWIuSWE9ZnVuY3Rpb24oKXtyZXR1cm57c2VydmljZTp7YnlkOl8uaGFiLHdpbmRvdzpfLkVufX19O18ubT1vYWIucHJvdG90eXBlO18ubS5nZXRTdGF0ZT1mdW5jdGlvbigpe3JldHVybiBsYWIodGhpcy5vYS5jdXJyZW50RW50cnkpfTtcbl8ubS5maW5kPWZ1bmN0aW9uKGEpe3ZhciBiLGM9KGI9dGhpcy5vYS5jdXJyZW50RW50cnkpPT1udWxsP3ZvaWQgMDpiLmluZGV4O2ZvcihiPXRoaXMub2EuZW50cmllcygpO2M+PTA7Yy0tKXt2YXIgZD1iW2NdO2lmKGQuc2FtZURvY3VtZW50JiYoZD1sYWIoZCkpJiZhKGQpKXJldHVybiBkfXJldHVybiBudWxsfTtfLm0uRXA9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB0aGlzLm5hdmlnYXRlKGEse3VzZXJEYXRhOmIsc291cmNlOmM9PT12b2lkIDA/dGhpczpjLGhpc3Rvcnk6XCJwdXNoXCJ9KS5jb21taXR0ZWR9O18ubS53VT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIHRoaXMubmF2aWdhdGUoYSx7dXNlckRhdGE6Yixzb3VyY2U6Yz09PXZvaWQgMD90aGlzOmMsaGlzdG9yeTpcInJlcGxhY2VcIn0pLmNvbW1pdHRlZH07XG5fLm0ubmF2aWdhdGU9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzO2E9YT09PXZvaWQgMD90aGlzLkxpKCk6YTt2YXIgZCxlLGYsZz17c291cmNlOihkPWI9PW51bGw/dm9pZCAwOmIuc291cmNlKSE9bnVsbD9kOnRoaXMsaW50ZXJjZXB0OihlPWI9PW51bGw/dm9pZCAwOmIuaW50ZXJjZXB0KSE9bnVsbD9lOiEwLGZvY3VzUmVzZXQ6KGY9Yj09bnVsbD92b2lkIDA6Yi5mb2N1c1Jlc2V0KSE9bnVsbD9mOlwibWFudWFsXCIsc2Nyb2xsOmI9PW51bGw/dm9pZCAwOmIuc2Nyb2xsfTtpZigoYj09bnVsbD92b2lkIDA6Yi5oaXN0b3J5KT09PVwiYXV0b1wiKXRocm93IEVycm9yKFwibWVcIik7dmFyIGg9Yj09bnVsbD92b2lkIDA6Yi5oaXN0b3J5O18uQmFhKFwiQ2hyb21pdW1cIik+PTExMj9ofHwoaD1cInB1c2hcIik6aD09PVwicHVzaFwiJiYoaD12b2lkIDApO3ZhciBrPWZ1bmN0aW9uKCl7dmFyIHI9Yy5vYS5uYXZpZ2F0ZShhLHtzdGF0ZTpiPT1udWxsP3ZvaWQgMDpiLnVzZXJEYXRhLGluZm86ZyxoaXN0b3J5Omh9KSxcbnQ9ci5maW5pc2hlZDtyZXR1cm57Y29tbWl0dGVkOnIuY29tbWl0dGVkLnRoZW4oZnVuY3Rpb24odSl7cmV0dXJuIGxhYih1KX0pLGZpbmlzaGVkOnQudGhlbihmdW5jdGlvbih1KXtyZXR1cm4gbGFiKHUpfSl9fTtpZih0aGlzLkFhKXt2YXIgbDtkPW5ldyBQcm9taXNlKGZ1bmN0aW9uKHIpe2w9cn0pO3ZhciBuO2U9bmV3IFByb21pc2UoZnVuY3Rpb24ocil7bj1yfSk7dGhpcy5BYS50aGVuKGZ1bmN0aW9uKCl7dmFyIHI9aygpLHQ9ci5maW5pc2hlZDtsKHIuY29tbWl0dGVkKTtuKHQpfSk7cmV0dXJue2NvbW1pdHRlZDpkLGZpbmlzaGVkOmV9fXJldHVybiBrKCl9O1xuXy5tLnBvcD1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD90aGlzOmI7Zm9yKHZhciBjPXRoaXMub2EuZW50cmllcygpLGQ9MDtkPGMubGVuZ3RoO2QrKylpZihjW2RdLmlkPT09YSlyZXR1cm4gZD09PTA/Xy5VbChFcnJvcihcIm5lXCIpKTp0aGlzLnRyYXZlcnNlVG8oY1tkLTFdLmtleSx7aW5mbzp7c291cmNlOmJ9fSk7cmV0dXJuIF8uVWwoRXJyb3IoXCJvZVwiKSl9O18ubS5TNz1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD90aGlzOmI7Zm9yKHZhciBjPV8uUGEodGhpcy5vYS5lbnRyaWVzKCkpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKWlmKGQ9ZC52YWx1ZSxkLmlkPT09YSlyZXR1cm4gdGhpcy50cmF2ZXJzZVRvKGQua2V5LHtpbmZvOntzb3VyY2U6Yn19KTtyZXR1cm4gXy5VbChFcnJvcihcIm9lXCIpKX07XG5fLm0udHJhdmVyc2VUbz1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMsZCxlLGYsZyxoO3JldHVybiBfLmJoKGZ1bmN0aW9uKGspe3N3aXRjaChrLm9hKXtjYXNlIDE6aWYoYy5CYSlyZXR1cm4gZD1Qcm9taXNlLnJlamVjdChFcnJvcihcInBlXCIpKSxkLmNhdGNoKGZ1bmN0aW9uKCl7fSksay5yZXR1cm4oZCk7Zj1uZXcgUHJvbWlzZShmdW5jdGlvbihsKXtlPWx9KTtnPWMuQWE7Yy5BYT1mO2lmKCFnKXtrLk1iKDIpO2JyZWFrfXJldHVybiBrLnlpZWxkKGcsMik7Y2FzZSAyOnJldHVybiBfLldnKGssNCksay55aWVsZChjLm9hLnRyYXZlcnNlVG8oYSxiKS5jb21taXR0ZWQsNik7Y2FzZSA2OnJldHVybiBoPWsuQWEsay5yZXR1cm4obGFiKGgpKTtjYXNlIDQ6Xy5aZyhrKSxlKCksYy5BYT09PWYmJihjLkFhPXZvaWQgMCksXy4kZyhrLDApfX0pfTtfLm0uTGk9ZnVuY3Rpb24oKXt2YXIgYTtyZXR1cm4oYT10aGlzLm9hLmN1cnJlbnRFbnRyeSk9PW51bGw/dm9pZCAwOmEudXJsfTtcbl8ubS5hZGRMaXN0ZW5lcj1mdW5jdGlvbihhKXt0aGlzLlpkLmFkZChhKX07Xy5tLnJlbW92ZUxpc3RlbmVyPWZ1bmN0aW9uKGEpe3RoaXMuWmQuZGVsZXRlKGEpfTt2YXIgbmFiPWZ1bmN0aW9uKGEsYil7aWYoYS5vYS5VU2EpYS5pbmZvPW1hYjtlbHNle2EuaW5mbz1iLmluZm87dmFyIGM7aWYoYi5jYW5JbnRlcmNlcHQmJigoYz1iLmluZm8pPT1udWxsPzA6Yy5pbnRlcmNlcHQpKXt2YXIgZCxlO2IuaW50ZXJjZXB0KHtoYW5kbGVyOmZ1bmN0aW9uKCl7dmFyIGY7cmV0dXJuKGY9Yi5pbmZvKT09bnVsbD92b2lkIDA6Zi5pbnRlcmNlcHR9LGZvY3VzUmVzZXQ6KGQ9Yi5pbmZvKT09bnVsbD92b2lkIDA6ZC5mb2N1c1Jlc2V0LHNjcm9sbDooZT1iLmluZm8pPT1udWxsP3ZvaWQgMDplLnNjcm9sbH0pfWVsc2UgYi5uYXZpZ2F0aW9uVHlwZSE9PVwicHVzaFwifHxiLmRlc3RpbmF0aW9uLnNhbWVEb2N1bWVudHx8KGEuQmE9ITApfX07Xy5GbihfLmthYixvYWIpO1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBvUmIscVJiLHJSYixwUmIsc1JiLHRSYjtvUmI9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5SZCgpO2lmKGImJmIubWV0YWRhdGEpe3ZhciBjPWIubWV0YWRhdGE7Yj1jLnN0YWNrSW5kZXg7Yz1fLnNsYShjLnN0YWNrSWQpO2Zvcih2YXIgZD1iO2Q+PTAmJmQ8Yy5sZW5ndGg7LS1kKXt2YXIgZT1fLkFrYShfLnJsYS5nZXQoU3RyaW5nKGNbZF0pKSk7aWYoZSYmYShlKSlyZXR1cm57ZGlyZWN0aW9uOmQtYixlbnRyeTplfX19cmV0dXJuIG51bGx9O3FSYj1mdW5jdGlvbihhKXt2YXIgYj17fSxjPWEudXJsLGQ9YS5zdGF0ZTthPWEubWV0YWRhdGE7Yi5pZD1TdHJpbmcoYT9hLmVudHJ5SWQ6LTEpO2IucHVzaElkPVN0cmluZyhhP2EucHVzaElkOi0xKTtiLnVybD1jO2lmKGM9cFJiKGQpKWIudXNlckRhdGE9YztyZXR1cm4gYn07XG5yUmI9ZnVuY3Rpb24oYSl7aWYoIWEubWV0YWRhdGEpcmV0dXJuITE7dmFyIGI9YS5tZXRhZGF0YTthPWIuc3RhY2tJbmRleDtiPV8uc2xhKGIuc3RhY2tJZCk7cmV0dXJuIGE+PTAmJmE8Yi5sZW5ndGh9O3BSYj1mdW5jdGlvbihhKXtyZXR1cm4gXy5EYShhKSYmXy5EYShhLnd1ZCk/YS53dWQ6dm9pZCAwfTtzUmI9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5SZCgpLnN0YXRlO2I9Xy5EYShiKT9PYmplY3QuYXNzaWduKHt9LGIpOnt9O2E9PT12b2lkIDA/ZGVsZXRlIGIud3VkOmIud3VkPWE7cmV0dXJuIGJ9O3RSYj1mdW5jdGlvbihhKXthLnRoZW4odm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9KTtyZXR1cm4gYX07Xy5weD1mdW5jdGlvbihhKXtfLkRuLmNhbGwodGhpcyxhLk5hKTt0aGlzLm9hPW5ldyBNYXB9O18uRChfLnB4LF8uRG4pO18ucHguV2E9Xy5Ebi5XYTtfLnB4LklhPV8uRG4uSWE7Xy5tPV8ucHgucHJvdG90eXBlO18ubS5nZXRTdGF0ZT1mdW5jdGlvbigpe3JldHVybiBxUmIoXy5SZCgpKX07XG5fLm0uZmluZD1mdW5jdGlvbihhKXt2YXIgYj1vUmIoZnVuY3Rpb24oYyl7cmV0dXJuIGEocVJiKGMpKX0pO2lmKGIpcmV0dXJuIHFSYihiLmVudHJ5KTtiPV8uUmQoKTtyZXR1cm4gclJiKGIpP251bGw6KGI9cVJiKGIpLGEoYik/YjpudWxsKX07Xy5tLm5hdmlnYXRlPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwP3t9OmI7cmV0dXJuIGIuaGlzdG9yeT09PVwicmVwbGFjZVwiP3tjb21taXR0ZWQ6dGhpcy53VShhLGIudXNlckRhdGEsYi5zb3VyY2UpfTp7Y29tbWl0dGVkOnRoaXMuRXAoYSxiLnVzZXJEYXRhLGIuc291cmNlKX19O18ubS5FcD1mdW5jdGlvbihhLGIsYyl7YT1hPT09dm9pZCAwP18uUmQoKS51cmw6YTtiPWI9PT12b2lkIDA/cFJiKF8uUmQoKS5zdGF0ZSk6YjtiPXNSYihiKTtjPXtzb3VyY2U6Y307Yz1jPT09dm9pZCAwP3t9OmM7cmV0dXJuIF8uZ2xhKHtzdGF0ZTpiLHVybDphLHJlcGxhY2U6ITF9LHtPWjpjLk9aLGhZOmMuaFksc291cmNlOmMuc291cmNlfSkudGhlbihxUmIpfTtcbl8ubS53VT1mdW5jdGlvbihhLGIsYyl7YT1hPT09dm9pZCAwP18uUmQoKS51cmw6YTtiPWI9PT12b2lkIDA/cFJiKF8uUmQoKS5zdGF0ZSk6YjtyZXR1cm4gXy5obGEoc1JiKGIpLGEse3NvdXJjZTpjfSkudGhlbihxUmIpfTtfLm0ucG9wPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRSYihfLmxsYShmdW5jdGlvbigpe3ZhciBjPW9SYihmdW5jdGlvbihkKXtyZXR1cm4hIWQubWV0YWRhdGEmJmQubWV0YWRhdGEuZW50cnlJZD09PU51bWJlcihhKX0pO3JldHVybiBjP2MuZGlyZWN0aW9uLTE6bnVsbH0se3NvdXJjZTpifSkudGhlbihxUmIpKX07Xy5tLlM3PWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRSYihfLmxsYShmdW5jdGlvbigpe3ZhciBjPW9SYihmdW5jdGlvbihkKXtyZXR1cm4hIWQubWV0YWRhdGEmJmQubWV0YWRhdGEuZW50cnlJZD09PU51bWJlcihhKX0pO3JldHVybiBjP2MuZGlyZWN0aW9uOm51bGx9LHtzb3VyY2U6Yn0pLnRoZW4ocVJiKSl9O1xuXy5tLkxpPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTGQ/Xy5MZC5MaSgpOl8uT2QubG9jYXRpb24uaHJlZn07XG5fLm0uYWRkTGlzdGVuZXI9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcztpZighdGhpcy5vYS5oYXMoYSkpe3ZhciBjPWZ1bmN0aW9uKGQsZSxmKXtpZighZi5mSWQpe2Y9e3VzZXJJbml0aWF0ZWQ6Zi51c2VySW5pdGlhdGVkLHNvdXJjZTpmLnNvdXJjZSE9PXZvaWQgMD9mLnNvdXJjZTpmLnVzZXJJbml0aWF0ZWQ/bmV3IF8uRXEoYik6Yn07aWYoZC5tZXRhZGF0YSYmZS5tZXRhZGF0YSYmZC5tZXRhZGF0YS5zdGFja0lkPT09ZS5tZXRhZGF0YS5zdGFja0lkKWlmKGQubWV0YWRhdGEucHVzaElkPT09ZS5tZXRhZGF0YS5wdXNoSWQpZi5xTz1be2lkOlN0cmluZyhkLm1ldGFkYXRhLnB1c2hJZCksc2FhOiExfV07ZWxzZSBpZihkLm1ldGFkYXRhLnB1c2hJZDxlLm1ldGFkYXRhLnB1c2hJZCl7Zm9yKHZhciBnPVtdLGg9Xy5zbGEoZC5tZXRhZGF0YS5zdGFja0lkKSxrPWQubWV0YWRhdGEuc3RhY2tJbmRleCxsPWUubWV0YWRhdGEuc3RhY2tJbmRleDtsPmsmJmw+PTAmJmw8aC5sZW5ndGg7bC0tKXt2YXIgbj1cbl8uQWthKF8ucmxhLmdldChTdHJpbmcoaFtsXSkpKTtuJiZuLm1ldGFkYXRhJiZnLnB1c2goe2lkOlN0cmluZyhuLm1ldGFkYXRhLmVudHJ5SWQpLHNhYTpsPmsrMX0pfWYucU89Z31kLm1ldGFkYXRhJiZlLm1ldGFkYXRhJiYoZi5pRT1kLm1ldGFkYXRhLnN0YWNrSW5kZXg+PWUubWV0YWRhdGEuc3RhY2tJbmRleCk7YShxUmIoZCkscVJiKGUpLGYpfX07dGhpcy5vYS5zZXQoYSxjKTtfLlZrYShjLCEwKX19O18ubS5yZW1vdmVMaXN0ZW5lcj1mdW5jdGlvbihhKXtpZih0aGlzLm9hLmhhcyhhKSl7dmFyIGI9dGhpcy5vYS5nZXQoYSk7Xy5Ra2EuZGVsZXRlKGIpO18uUmthLmRlbGV0ZShiKTt0aGlzLm9hLmRlbGV0ZShhKX19O18uRm4oXy5uWGEsXy5weCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcIng0RllYZVwiKTtcblxuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcInFkZGdLZVwiKTtcblxuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uZmYoXy5RUWEpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJrSFZTVWJcIik7XG52YXIgc3BiPWZ1bmN0aW9uKGEpe18uRG4uY2FsbCh0aGlzLGEuTmEpfTtfLkQoc3BiLF8uRG4pO3NwYi5XYT1fLkRuLldhO3NwYi5JYT1fLkRuLklhO3NwYi5wcm90b3R5cGUuaXNBdmFpbGFibGU9ZnVuY3Rpb24oKXtyZXR1cm4hMX07c3BiLnByb3RvdHlwZS53bj1mdW5jdGlvbigpe3JldHVybiBfLk5nKFwidWltXCIsXCJlYm1cIil9O3NwYi5wcm90b3R5cGUuQ3I9ZnVuY3Rpb24oKXtyZXR1cm4gXy5OZyhcInVpbVwiLFwieGJtXCIpfTtzcGIucHJvdG90eXBlLm5DPWZ1bmN0aW9uKCl7cmV0dXJuITF9O18uRm4oXy5QUWEsc3BiKTtcbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJzVHNETWNcIik7XG5cbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJsTFFXRmVcIik7XG5cbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJkdGwwaGRcIik7XG5cbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJvZmpWa2JcIik7XG52YXIgcjVhPWZ1bmN0aW9uKGEpe18uRG4uY2FsbCh0aGlzLGEuTmEpO3RoaXMud2luZG93PWEuc2VydmljZS53aW5kb3cuZ2V0KCl9O18uRChyNWEsXy5Ebik7cjVhLldhPV8uRG4uV2E7cjVhLklhPWZ1bmN0aW9uKCl7cmV0dXJue3NlcnZpY2U6e3dpbmRvdzpfLkVufX19O18ubT1yNWEucHJvdG90eXBlO18ubS5pc0F2YWlsYWJsZT1mdW5jdGlvbigpe3JldHVybiEwfTtfLm0uVko9ZnVuY3Rpb24oKXtyZXR1cm4hMH07Xy5tLmJhY2s9ZnVuY3Rpb24oKXt0aGlzLndpbmRvdy5oaXN0b3J5LmJhY2soKTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCl9O18ubS5aVj1mdW5jdGlvbigpe3JldHVybiEwfTtfLm0uZm9yd2FyZD1mdW5jdGlvbigpe3RoaXMud2luZG93Lmhpc3RvcnkuZm9yd2FyZCgpO3JldHVybiBQcm9taXNlLnJlc29sdmUoKX07Xy5tLlZTPWZ1bmN0aW9uKCl7cmV0dXJuITB9O18ubS5nbz1mdW5jdGlvbihhKXt0aGlzLndpbmRvdy5oaXN0b3J5LmdvKGEpO3JldHVybiBQcm9taXNlLnJlc29sdmUoKX07XG5fLm0uYVQ9ZnVuY3Rpb24oKXtyZXR1cm4hMH07Xy5tLnB1c2hTdGF0ZT1mdW5jdGlvbihhLGIsYyl7dGhpcy53aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGUoYSxiLGMpO3JldHVybiBQcm9taXNlLnJlc29sdmUoKX07Xy5tLnJlcGxhY2VTdGF0ZT1mdW5jdGlvbihhLGIsYyl7dGhpcy53aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUoYSxiLGMpO3JldHVybiBQcm9taXNlLnJlc29sdmUoKX07Xy5GbihfLlQyYSxyNWEpO1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcImVIRGZsXCIpO1xuXG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxufSkodGhpcy5faGQpO1xuLy8gR29vZ2xlIEluYy5cbiJ9LCAiaGVhZGVyc1NpemUiOiAwLCAiYm9keVNpemUiOiAzNDEwNDksICJyZWRpcmVjdFVSTCI6ICIiLCAiX3RyYW5zZmVyU2l6ZSI6IDM0MTA0OX0sICJjYWNoZSI6IHt9LCAidGltaW5ncyI6IHsiZG5zIjogLTEsICJjb25uZWN0IjogLTEsICJzc2wiOiAtMSwgInNlbmQiOiAwLCAid2FpdCI6IDI2LjI5NiwgInJlY2VpdmUiOiA2NC43MTF9LCAicGFnZXJlZiI6ICJwYWdlQDJlN2FjZTk1NWE2NzczZWNmZDJlOThlZjJmZGNiNzA0IiwgInNlcnZlcklQQWRkcmVzcyI6ICJbMmEwMDoxNDUwOjQwMDE6ODA4OjoyMDA0XSIsICJfc2VydmVyUG9ydCI6IDQ0MywgIl9zZWN1cml0eURldGFpbHMiOiB7InByb3RvY29sIjogIlFVSUMiLCAic3ViamVjdE5hbWUiOiAiKi5nb29nbGUuY29tIiwgImlzc3VlciI6ICJXUjIiLCAidmFsaWRGcm9tIjogMTcyMjM0Mjc3MywgInZhbGlkVG8iOiAxNzI5NjAwMzcyfX0sIHsic3RhcnRlZERhdGVUaW1lIjogIjIwMjQtMDgtMDFUMTI6MzM6MTEuMzk5WiIsICJ0aW1lIjogNzAuMTI0LCAicmVxdWVzdCI6IHsibWV0aG9kIjogIkdFVCIsICJ1cmwiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9sb2dvcy9kb29kbGVzLzIwMjQvcGFyaXMtZ2FtZXMtc3VyZmluZy02NzUzNjUxODM3MTEwNTI4LjMtbGF3LmdpZiIsICJodHRwVmVyc2lvbiI6ICJoMyIsICJjb29raWVzIjogW3sibmFtZSI6ICJBRUMiLCAidmFsdWUiOiAiQVZZQjdjcmF2OTRZTS1mZko2U2ppNFE3ekxtV2ktQmE0R29iSl85ck9RZzlqSHlvdTBvNnVFcFdYcjgifSwgeyJuYW1lIjogIl9fU2VjdXJlLUVOSUQiLCAidmFsdWUiOiAiMjEuU0U9Wk5NaEljXzI3eDRtb3BmWWd3bnJkTF9OUzJSZTZMTno1OS0ycl9Sa08xMVBIbmx3b291b1pDQ1Y5RElpNHp0UVNCVDRhNm5oTzBMcWpyYUJ4eEQ5cllLU01sZVlqSGxmZmFURE4tNTJkaWM2d3YzaVhSM19nc251ZEVxQ2NEVTR2eGNVOW1BQUNsWVZQSTVZaUszTkZNMXlEc0hCUHA4REU1ajVXTThHd0xXdE5wTlBuNGo2OVNuUkdJNF9TZkZjZ2JQeXMwX282MS1WeWlFVl91cEZoRm1uZ1RfcUQwN2EifV0sICJoZWFkZXJzIjogW3sibmFtZSI6ICI6YXV0aG9yaXR5IiwgInZhbHVlIjogInd3dy5nb29nbGUuY29tIn0sIHsibmFtZSI6ICI6bWV0aG9kIiwgInZhbHVlIjogIkdFVCJ9LCB7Im5hbWUiOiAiOnBhdGgiLCAidmFsdWUiOiAiL2xvZ29zL2Rvb2RsZXMvMjAyNC9wYXJpcy1nYW1lcy1zdXJmaW5nLTY3NTM2NTE4MzcxMTA1MjguMy1sYXcuZ2lmIn0sIHsibmFtZSI6ICI6c2NoZW1lIiwgInZhbHVlIjogImh0dHBzIn0sIHsibmFtZSI6ICJhY2NlcHQiLCAidmFsdWUiOiAiaW1hZ2UvYXZpZixpbWFnZS93ZWJwLGltYWdlL2FwbmcsaW1hZ2Uvc3ZnK3htbCxpbWFnZS8qLCovKjtxPTAuOCJ9LCB7Im5hbWUiOiAiYWNjZXB0LWVuY29kaW5nIiwgInZhbHVlIjogImd6aXAsIGRlZmxhdGUsIGJyLCB6c3RkIn0sIHsibmFtZSI6ICJhY2NlcHQtbGFuZ3VhZ2UiLCAidmFsdWUiOiAiZW4tVVMsZW47cT0wLjkifSwgeyJuYW1lIjogImNvb2tpZSIsICJ2YWx1ZSI6ICJBRUM9QVZZQjdjcmF2OTRZTS1mZko2U2ppNFE3ekxtV2ktQmE0R29iSl85ck9RZzlqSHlvdTBvNnVFcFdYcjg7IF9fU2VjdXJlLUVOSUQ9MjEuU0U9Wk5NaEljXzI3eDRtb3BmWWd3bnJkTF9OUzJSZTZMTno1OS0ycl9Sa08xMVBIbmx3b291b1pDQ1Y5RElpNHp0UVNCVDRhNm5oTzBMcWpyYUJ4eEQ5cllLU01sZVlqSGxmZmFURE4tNTJkaWM2d3YzaVhSM19nc251ZEVxQ2NEVTR2eGNVOW1BQUNsWVZQSTVZaUszTkZNMXlEc0hCUHA4REU1ajVXTThHd0xXdE5wTlBuNGo2OVNuUkdJNF9TZkZjZ2JQeXMwX282MS1WeWlFVl91cEZoRm1uZ1RfcUQwN2EifSwgeyJuYW1lIjogInByaW9yaXR5IiwgInZhbHVlIjogInU9MiwgaSJ9LCB7Im5hbWUiOiAicmVmZXJlciIsICJ2YWx1ZSI6ICJodHRwczovL3d3dy5nb29nbGUuY29tLyJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhIiwgInZhbHVlIjogIlwiQ2hyb21pdW1cIjt2PVwiMTI3XCIsIFwiTm90KUE7QnJhbmRcIjt2PVwiOTlcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLWFyY2giLCAidmFsdWUiOiAiXCJ4NjRcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLWJpdG5lc3MiLCAidmFsdWUiOiAiXCI2NFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtZnVsbC12ZXJzaW9uIiwgInZhbHVlIjogIlwiMTI3LjAuNjUzMy4xN1wiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtZnVsbC12ZXJzaW9uLWxpc3QiLCAidmFsdWUiOiAiXCJDaHJvbWl1bVwiO3Y9XCIxMjcuMC42NTMzLjE3XCIsIFwiTm90KUE7QnJhbmRcIjt2PVwiOTkuMC4wLjBcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLW1vYmlsZSIsICJ2YWx1ZSI6ICI/MCJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLW1vZGVsIiwgInZhbHVlIjogIlwiXCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1wbGF0Zm9ybSIsICJ2YWx1ZSI6ICJcIldpbmRvd3NcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXBsYXRmb3JtLXZlcnNpb24iLCAidmFsdWUiOiAiXCIxMC4wXCIifSwgeyJuYW1lIjogInNlYy1jaC11YS13b3c2NCIsICJ2YWx1ZSI6ICI/MCJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLWRlc3QiLCAidmFsdWUiOiAiaW1hZ2UifSwgeyJuYW1lIjogInNlYy1mZXRjaC1tb2RlIiwgInZhbHVlIjogIm5vLWNvcnMifSwgeyJuYW1lIjogInNlYy1mZXRjaC1zaXRlIiwgInZhbHVlIjogInNhbWUtb3JpZ2luIn0sIHsibmFtZSI6ICJ1c2VyLWFnZW50IiwgInZhbHVlIjogIk1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IFdpbjY0OyB4NjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS8xMjcuMC42NTMzLjE3IFNhZmFyaS81MzcuMzYifV0sICJxdWVyeVN0cmluZyI6IFtdLCAiaGVhZGVyc1NpemUiOiAxMzAwLCAiYm9keVNpemUiOiAwfSwgInJlc3BvbnNlIjogeyJzdGF0dXMiOiAyMDAsICJzdGF0dXNUZXh0IjogIiIsICJodHRwVmVyc2lvbiI6ICJoMyIsICJjb29raWVzIjogW10sICJoZWFkZXJzIjogW3sibmFtZSI6ICJhY2NlcHQtcmFuZ2VzIiwgInZhbHVlIjogImJ5dGVzIn0sIHsibmFtZSI6ICJhZ2UiLCAidmFsdWUiOiAiOTAxNTAifSwgeyJuYW1lIjogImFsdC1zdmMiLCAidmFsdWUiOiAiaDM9XCI6NDQzXCI7IG1hPTI1OTIwMDAsaDMtMjk9XCI6NDQzXCI7IG1hPTI1OTIwMDAifSwgeyJuYW1lIjogImNhY2hlLWNvbnRyb2wiLCAidmFsdWUiOiAicHVibGljLCBtYXgtYWdlPTMxNTM2MDAwIn0sIHsibmFtZSI6ICJjb250ZW50LWxlbmd0aCIsICJ2YWx1ZSI6ICIyOTg5NzYifSwgeyJuYW1lIjogImNvbnRlbnQtdHlwZSIsICJ2YWx1ZSI6ICJpbWFnZS9naWYifSwgeyJuYW1lIjogImNyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5LXJlcG9ydC1vbmx5IiwgInZhbHVlIjogInNhbWUtb3JpZ2luOyByZXBvcnQtdG89XCJkb29kbGUtZW5nXCIifSwgeyJuYW1lIjogImNyb3NzLW9yaWdpbi1yZXNvdXJjZS1wb2xpY3kiLCAidmFsdWUiOiAiY3Jvc3Mtb3JpZ2luIn0sIHsibmFtZSI6ICJkYXRlIiwgInZhbHVlIjogIldlZCwgMzEgSnVsIDIwMjQgMTE6MzA6NDEgR01UIn0sIHsibmFtZSI6ICJleHBpcmVzIiwgInZhbHVlIjogIlRodSwgMzEgSnVsIDIwMjUgMTE6MzA6NDEgR01UIn0sIHsibmFtZSI6ICJsYXN0LW1vZGlmaWVkIiwgInZhbHVlIjogIkZyaSwgMTkgSnVsIDIwMjQgMDA6Mzg6NDYgR01UIn0sIHsibmFtZSI6ICJyZXBvcnQtdG8iLCAidmFsdWUiOiAie1wiZ3JvdXBcIjpcImRvb2RsZS1lbmdcIixcIm1heF9hZ2VcIjoyNTkyMDAwLFwiZW5kcG9pbnRzXCI6W3tcInVybFwiOlwiaHR0cHM6Ly9jc3Aud2l0aGdvb2dsZS5jb20vY3NwL3JlcG9ydC10by9kb29kbGUtZW5nXCJ9XX0ifSwgeyJuYW1lIjogInNlcnZlciIsICJ2YWx1ZSI6ICJzZmZlIn0sIHsibmFtZSI6ICJ4LWNvbnRlbnQtdHlwZS1vcHRpb25zIiwgInZhbHVlIjogIm5vc25pZmYifSwgeyJuYW1lIjogIngteHNzLXByb3RlY3Rpb24iLCAidmFsdWUiOiAiMCJ9XSwgImNvbnRlbnQiOiB7InNpemUiOiAyOTg5NzYsICJtaW1lVHlwZSI6ICJpbWFnZS9naWYiLCAiY29tcHJlc3Npb24iOiAwLCAidGV4dCI6ICJSMGxHT0RsaDlBSElBT1ovQUpSOUxzYWtKdG5hcGEzTzZOSENqMHh1a0d1S3A3emVuSnUzMFZSRkNDaFFFZXYzLzlqcTlsaVBNL2ozN01IUnJYaXJWbWFZUmI3WThIUm5NV1dyTW9HNFhPZnYvK25vdjNkeFNkclh4dWpvM1VrM0JHVlVFYVhXaEtYTmhVWnVLdkRjd2RucHhTOVZmSzdXbENDSUdyZTdyZTd2NkdsWUtJcW92NVN3ZkkyVWc0aUthYjY0bkRJcEJHT1lOMUpQS1hoa0ZGWnlSckdrZFEwc0FuT3NTV3VuUXUvMzZ2ZnV5d01GQWNETmdKYkZlT3IzMjl6ZTAzV1pXRTFvZDI5NGR2YnYyTGl0ZDh6WHhxM05rY0cxZi9qMzNXU0pSR2lLRFg2YnRqQXRLY25LdWtkTVR6K0xDZGFEWDZlNG0yZUJWcXlWYTZTcWx2ZnY3Yld0bHJySW9WaUdQU1FWQWNqWDQzVzFTMWFlTHNEbXFLRzhmbTVTUjBsWmFrdHZEbXVVVDRLbVpyM25uREk1UVhTWFJlYjN6Vjg0TUx6TDJ2ajN6ZGJPdllXRFc4ZldqL0czcXh3aEpteGNYN3lhb3BTSVV4TVVGaWdkRy8zYjQ0S2tJRmlvVGUvdjkybTJYMnUxT2YvLzl2ZjM5L1QvLy9mLzgvZjMvLy8zOGYvLy93QUFBQ0gvQzA1RlZGTkRRVkJGTWk0d0F3RUFBQUFoK1FRRkF3Qi9BQ3dBQUFBQTlBSElBQUFILzRCK2dvT0VoWWFIaUltS2k0eU5qbytRa1pLVGxKV1dsNWlabXB1Y25aNmZvS0dpbzZTbHBxZW9xYXFycksydXI3Q3hzck8wdGJhM3VMbTZ1N3k5dnIvQXdjTER4TVhHeDhqSnlzdk16YzdPZUhsNU50VFUwbnQ0MmRuUDNOM2UzOGQ1SmlZYVd1WUhEd2NqNit3akIrL3c4Zkx6OUFkYUlmajUrdnY4L2Y3L0FBUHF1MEN3b01HREJRR1MyVE1vanhJaFRyWnNHVEpFNGtTTEVwMVV4TWl4bzhRVUlFTlNlVUJTU0FnYjRGS3FQTFhIeG80UTV5aktwTml1cHMyWk9IUHFIREpDallDZlFJTUtIVXEwcU5HalNKTXFCZW96UkI1QlBLSjhVUENoU29NSVdCdGMxY3BWYTRTdVlMbTZHTlBBaFl1d1lZMzBBSk9DU2dnVGVQOVd5cDFMQ1krTkVDUkh6TFRKdDYvZnYzMkhMQjFNdUxCaHBSZWUrdUd4UWdIVktsaGRZSjA4MmF3UnlsaU5tTjFzRm5NRXpxQTVONmhpdGNFWE1HQ0c4RkJNdDdWclFUWTBDRkZIRTdEdDJ6VnI5d1hUNDdEdjM4Q0xobkFnU01rVHgxVXhYM1p4T1VLUHo1OGxWOTRjblhya3pKSkRVMDkrbG11RUwxVDh0SFFROTdYNVozdE00TldMdTczN2RVUFlldkNib2dlVnBUNkQ2dysrUTdHUTQxUkZBRUVFelgxbXhHV2FTU2VkZ1ZpTm9aMWxrU2w0SUdpYVBhY0FaS0JGOElFU2ZtaWd4b2ZEblNkaU9EdG9RUnRQZXMzMzNvbzFiUUdTRGg3bzBJTVJXOURYRzFKYnpBaEdmdnYxdUZTSWZtUUE0QWZPMVlEVmM1bE4xOXovZ2hOT2x5R0J5eDM1WElLY1JWREZoUkZhcG9BUWZvU2dSZzRDZkNpQUJxeU5hS1l1c1FtaEY0cnd5Y2ZpbTBQb1VKOFJYL1NRd2haZzBFZ2ZHRWFwQVVZVlBXeFJoV0NHaVJrVWp6NEtSOXhpYVNCM0pBUklHbmxkbGdwU2xoMkJuR21XWlhRQ1F2Q2toZ3B3Q3QwSEg1amd4d1ZoZ3ZtaEdnZUVzRU41WjhZYXkxMGo2QUNqVFNtQXNjVUJIckFwMFp1M3hXaHJyajE4WVVSOVgvd1ZLRkZEUFBGRkNnZHNZY1I5aGFvS3BnRFhKanFVcTFBMUZxQ0FXRUVxNlhUT0pUbEdaWloydGhtVnpFR1ptWkhaZFFZcVpBVnErSVFmZVlTNXFwanczSU9TckFDbmtrY0ljZHBxY0R2eGdUR0NCM21tc0k2ME5kN0VKckJiR0d4eC81NHpSc3hYZkVNMTJ3TTc5U0ZLV0E0K2tmd2xZU2NmaXRRTjNTSlhCUVFEVG9aa0JHTkFjRzVrTlV4WjdxVVIxRENnZFFrbW1WbVVremFud0JOUE1DalpCekg0NFVBT1VCdktxajM5a2xGbXdNdWdJUU1WVjgvNlFNVVdHNnppQ0tqaHlkWVhQSG53aGNhNVRmd20yR0hMMlVNVllJeHQwMFJCRFhGc096M2NlSmlZaGc0RzllQWZEaTdjVTNrNDRWZ01YNFE3YnM5UzVoenpaRCtEbTJRUE1ZKzI0R1NYVldHRVZhSktkOWxVS29RcWJ3UkgrMkVDNGF1U0hPZEUvVHFWaXdsS29ORTExb2V3Z0FFSENTU0FBUXV6NUNHRW5IRmJ6TTRYZGRiSTFnRkQyQW5ZRURIMnlxS3d4YWZ3ckE1L0VTcUEzbXg3UU9OUWFsQkVyZisyUDVHTUxlSFlpaXpBdjBMRU1NTUhtUHNNY3c5alBHYy96RkthTzZVTE1jdnJ3dHhEU0VGWnluV1Z6NURLU2hCNkhPcWVVQUxUZGNZSXFiTkIxQXBYT0R0VnpCMVZzNFVKb0RBQkRuQmdBbEF3RmU0T2tRY29iS0IzdlR1aERHQmhBeUZRcjNnSGUxakVtc2VUUUFIbWhiZUNubnRnR0RhNzJlUUFQMWxiaTc3d2svRGxDQ1IxV2hiNXdsUkVOV3doUHlLN0FFUHk0SzNUekE5eWtMdk1sUHAyUHlUQjdGei9ldzY4c0VLYVBWRGhLZ2VDRGxhbzhybnFlRVlCS2hBQ2xqQjFwZkNzcm5BbUU4QVd2bkFPZW1oaEI3UFF3QVJPZUFJT25HQURFK0RCQ0F1Umh6Y2dNZ01hMEFBUG9OQTdOTFRDQmwrejFSYWcwQVFvM0NuL2JteGpCOE5HNER5LzRGQnNZdnVMQjJiSXcxVCtSUUJVQ09VSUpxS0dYT2xxSXVzNFFLNldDTDZpaUxCOVZQbENCV0FHZ1Jvd2lXWnFyQi9sdkRpZ3Zqa0hjMnI4QUJqODhJVUdJQWhjTTFJQWFocVhvT1ZJUndGS3NNRUJJM01sTHUzQVpGOFNrL1hxRVkrVHhHSUZHOEJBQ1NLcGdTZ2tnQU1aV09RZ1pCRFBxMFdobjZzSWdjVzIwSVNDR2xRR2Nkdk5zN0pYdlJRTTFHM3Q4RjdFVHRsREZ2SEVSVDdVQzJwNHFaUVFUTkZiRVJqbUYvR25xY3ZrREpreU81S21ZdmFjZG4wRkt4OUlRUjZxSUMrZmtWRUJWQkFDR0dqV1RkRnR5UTh4K0lCTHkrbUhjMFl0Qjc4Q3d4ZkN3TTUyL29zVmFFakFCRVE0aUtpZWdLcTQvOHRBQWs2UUJ6emNBQVFDQUlJZ0Joa2VWSmpnQVE0MUdDZEJzSVltdExVSkNIWGxUV1lZQkZ6T2NndW56TldMd29hd2lVRk1IUlExR0VTQnRURGVwRUFMSEVVS0dRU2hnUmhRaFpqRmhPemtqaVNnbVRrSFVqMFlGd1ErNXlDaG9jNEpKdmdBZ2lUMW5La0lRUWdmd0YrOERGZ3FQenlCU05JaHFnMWE5d1ZTeFlCeFRHMXFPMjlYaWpRa2dFTjlBQ3NJeE1xQ0JLeHdoQTQ0d1FrMFFJQUFPTmU1QlBBREN6YndCbFFJTkd3RVplc2Eya29FRURRaHJiY0NqQXlJUUlRbURFRUdCUVd2cmRiQ3c3UkpKTHg2U1lHZUZnWTNpMldVWW4xTGdmb1NLNVIvVVlFcVBhaUFTQ0V3WUdKNnBtOXBkSnlCZXpZM1NHMnVqaVl3UXY4eEp3TXYwNFkyd0RIVEZPcGlFQmZIWHNlMFJUVlpiWHNRd0JnWVFiZnp1QWVzVEtHQkUwd2dEMEFnd25NRFFJUWJUR0VESE1MZGRNYzc0K2NXUVFNYlNJTXBiREFDOVdxU2syc0FnWktWREZmNy9tV1RTbjRyVzZGZ01mWWFiSysyb2tqWTlHcXJQS2tJZXNLeUs4SmtFSVRCWmc4MTJ1UHY0ZkNWZ2dzUldMSXdHeWJtUEtYR2NrR0hPVmNrTFJXcWNGTEl1YUNjSmhDbVRmME00aGk4YkxMblNoMGVQTndaMlpJc0JURzFoeFlZaG1JL0F2SVVhT0JBZFp2YjR3QVE0QVFZV0xHczNwQ0FUaitYQUR3SWNpbENVTit3b1pjSVNXWnJRVnQ5MzNVRW9RbEwzcTZTZzJBd0szZjVOUFlObTJHTEJRWWRvT1ltN0JnQ0ZJTC9vQmUzcnFITTduSFJiNklXbkF2NEFROU9JTldiSlR0bk9FZXViMGFDRERZbEYxTWhIUHBtTVAxQUpKK3doUVZiU1FFeGVJb0tpTVJTelBVQWpoMHFuYnNjeTZVaStLa0s4SXVIaVNwdGFWTmtnQU5wNklPcG5RdUFxMkpOQXh3QXdNS2Rpd2Jxam9MSVJnNGJGTGFMYTFtMzJsYTFIb0piM1pwcktodTcyTVBxRzhvdHBsN3JPYlErZGhKaVgyNU5oR1hIK3RudWFkNFdsUElsa2cwT2ZiN1JnT3FPODdJQ0U1Tis4K3VpaERGYldTTFpHVkpYTWtFSitNeFNtSEk0RDAvd1FMaWdDY0Y3K1VFSkNvRG11V3BRQWRSeDZRSnlGRGVvK2cxcHRjVGdzQVJuNXdnNklDZXNncUxGR0JEQXhBUEFnU2hnalo5N0R3QS9weUFLLzFhMzBsWlFJRUJCbzl5RTl2TGwxcnBtY3BPTmJUQ2xGbnZsWFM0MmVQdFcrV0xKa2gzWlhRTUJjdjM1N1BWdHYwSHgrYytMbUszQ0FCTHM4RE02WlBzMmU1ODVFM00xcThGVTdoY3VwdVVoQlZVWUptWlM1MW93TkxOK05iaFNDcTZ0QVhvYkNYTVYrTUtXOEJDQ3RFOEd4RVg0a3oxeUdYZDZ6TjE3VmVpQVIwV1Jod2xNUU1ZVGh3RlhBK2JiVGdOQTRzN0ZBSTVCZ1ljSEhQN0tuRFJvRXo0dTEyUjNYTmJlMVVrc3gzbHlFemJYa3l2RDhnVVdnenkxWm11eHRtVGt4U0pLaFhybFV6NnJBaFRtVXhoQ1J3V2l0VzF3QmxscVFVeGo4RGxKaHo5aE4zc1FJSDNoc1FKTFJ4a1E1QVJPd3ppU1ZRRXYyQ0ZBUlhXVWMvOGxQT0FBYWdCMlJ1QWdMZ0JpTzRBbkE5ZDk5VEIzd0tjREhUQWZJU0FLdXlNRHp3Vi9Nd1lBSEtCSXNpSUZIZFJwQ1NDRnZKTlBubUFDQVhSLzJDVURhY1YvOE9WL1M3WjRzdFo1NEtWVVZkWURsYWQ1eDNKbER2TVhrTGRkc05ZRUQ4QWlCOUEzUjBHQmhuRnAyZWFCSDBoTUpIaDBBUUl6UGxNQlRCTUNZMUF6Y1Fad0tHRm9sSkZaVi9JQWZsQUVNaGhaQTFKT2V5QUFmZ0JwVjhGU3ZxY0JPZEI4cVFWVFAwVUdGYkFGUldpRUpsS0V5UElGSFZDTFM5aUVvTEFDVy9oY0VkZGpBSkFBd0NNclBPQkJ2c2dCTXlaVmRwY0pHbUNHWW5oLzkwVUU2RlZRTWtBQWJaVldDSGd4S3lkZjZtVkJCS2dEcGNjTzZQVldIRWYvQUlUMVBmeFZCSUlRQlFwQWlCOG9JQUFuWVhOR0tqczFld3JnQkU1d00yOFdkdGRHaVozaU02U3lCdzdRV0JMR1lBTmlXanpvQjNJMElKRFNNNm1ETFh0d0hDSUZZZ0sxSzBiNERoNHdJOUJ5QUxWbEJJeGppeDZ3aEZvQUNzVUZBMUZvakZOb1hBRERBd2xBa2pQV2l3eG5jWjB3UE0wNGt3L2xGeExSQVVHd2JJR1ZlYjJHZVFWWUxNYmpGeUwzVmh0M0EwVEFiTUJpUGZ5RkVsU2tBRVpRWUxJSE0zUVRLSW9JUVhlQ1B6QXpGVkxRQXpUZ1JkTFhiMDl3YUlqWU5IZGhhQk5HVEZPaEFUWWdBSGpBQTZFaVlKQUNBZkRtQjlqaUFNZEJZQlZBVkNGUWtmRFFBNkpsTEgzekFUcWdrVDNna1VzNG1BelJDUkJua3M3bC81SU1oNUt5b2xVcytWeWx4b3UveFFsNFVHUTB1Wm0ya2h2U1kwcnY5VUtvMFdWd0dEZW9BWlFnQnhoSFNRU3o1Rll5OEkyNWdSSHRzRFljeFRKWTU1UWVBRmxsOTVTU1pRUWZzQUlnTVNBUXBBQTg4QVg0SXlEMWFBSXhjRVZqUUNwNEVKQmhhV0NicFFETFJ3WVhFSmJPVkRQMzFqVG5OSWxpbVpYMzRwRC9GWUpmMlNWOHFaRXhzQ3NtNHBmUXNvUWU4SkV3OHA1TGVBQzhaUW0rSllVd01Ka0I4SXRRa0pJck9ZV01HUUJTVlorU2tBZERVQUV3OUY3RGdtVTBhVGVybEpxM2dZMXlNb2ZGVXl5bHFRTVFwUnZ3WVd2TDFoN1cwemRKRkNoMXdrc2hFQmNxTUFQUFFrekRCSEFZRm1mUzV3UXJZSHhacVFBcmtBZHpkdjlUc3ZFQkltVWsxTmtoSWZBRVQzay9FSVNKQWhBQ0tsQUZqNGdWUEhvdklaQURZdlZhSjRVNTllZ0hYNEoyQVpKTm1QaUtCS2NGWVBBQkhqQndreFlEU2xpTDcvbWVJRmVMMlBOVW1xQUUvOGx3QVNxZ3h4VXJLaW1GZkNlRnY1aGptaUFFUS9BQVFrQlBmcW9CNHpBT2Y2b0JEeUFUeE9PTUx5Um1RaW1odm1hYVZhQ0FaMGdUVG9FSExaRUhPeUFFV21CbXQzRUFSZ1J6ZkxKRVR3Rjd1Z2tCdXpkZ3cwUXE3Uk5ucUtNQXN2R1V3OVNjOStJRXdrUk0wa2VrUHhxQ1NFY3FwaUlBRjFBQ3FTZ3BYVWVYWU9KYW9VSXpGaUlFZTBBeUQrQ1dMME1EUStvSFdrcHdSZ0FHcjlnQmNHaUw3Z2tqWkhxWUk2Q21tWkFHQVFyL0EzVEtBWEY2SmxwbHB3SHFPNkkyS3dURGpEelVnTWwyTWJaMGVLT0pQZkF4QkZvUUd5V3dBaS9BSlVKUUFrcVFBVHZBUENzQ1JMMUVQaWdocWlKMXFnb1FCU2tnV1ZmaUJDclFBR2hKbzM2Z0FpR1ZqeXM0cXdSR0t0TEFxOWdwUDZUYU5EeUlkanBxWjFlaUFzSzZmSXB6Sk5HSFV5YmdJaDhBVk90WUFmY1dIdEZhYVRSU2hIT0hyV1FxTEI4cG4zVFhyWnpBcHBNSkFQckpBZjBwS3hXSG4vZzVmNS9BQTdWVEFsR0FBVlk3QWNvMUFWYTd0Uk13QlZOZ2hZT0FTUm5YU3IzeW5wcEtQVnpVakhpMUprSmdBa0tRQmk5Z0JTK1FCcWFTQVVxQUFTMlFCaG1RcWNsMkcvekZJMEtYQjZVYVo0eW9BQ1V3QkpCVkE5SVgvd09oUlV4WHdxcCtzSFFFaGpwQ0Z3T2RBak05dWdOcVFBYlJDVm5hNUFka29BWVhvQVE2ZXB4VHNRSlVxbFNMb1FBRk5KMUNZQU8rMlFONzBCZ1lOcVU1cTF0YWdGY0hnSzBmeWJ0a0dwOWxHclJFdXduMytWeml5b3ZWeGJTVjJaaFJxR3Fhb0FGS01BVmFlMGhXMEFMV2U3MWJkUUxYdTcwdFVMMG53QVh5cEFSUGdVa0ZzNWxtaHJZWCtxNTQxU3REY0FBdGhMZDVHMDVPczRQWlVBSXRzQUVtY0FBVnRURXFGeWo1OFFCVTRBUlJvQUlFWE1CUjRBVGpreFFwVTZLM3liRU1tMVBjWmxwT0VId3o2bmZ0czdBZjRIVW1CaWxsOTFOZWNwMHZrMW5UR1I1aFlxWGRCaW9sWUtNeHhSQ0dkaTREc2lWN29BT0NlYWtLSVA5TTl3YUR0NnRiUGZ1elB1dWVQaXlmUXB1bW16Q01qSW0weG91NnNzS214c3VGSENCMG1aQnExV3U5b0lZQmJSQUZhS0FFdFNOQ2Rvc0dWNHpGYUtBQ0dNQUZYS0M5Y3Z1MXNFRXdtNWxSTHpTMmNmTmxEMEFOSzJDOWV1c0FRRUFRUDNFQklIQUJRSkFCV3J1TUNjVVhGdkVGTWVBREJmQURCU0FDaUp6SUl1QURpZXdES29EQUNud3RLRkVDTXhBREMwdXFPUFY3a1BWdUttdVdGZUJZSHpESnZHbXpPQ1VJSmtaN1RQT2NIM0lEblN1VkN0Q0VYN0lGY2hSZ1RRZkRRMUFGS2JCWXIrV2l4R2tEQjhBV1RrRXFMenNFMEZxUlM0aW1QZnl6OE5tNzBmT3oyRU9na1RBRnUraGNrd2tEUWlZcjlzU0xVWmdBMGFVSkt2RC9BMXdzQkY2NENKU3FEWWVnQWhNUXR5MHd0NWFFTDRWNnFJYzNOcXNVamJ6bWpXTG9BUWNBU0dqd0FubkxBemFBeDNsOEFTeGdFQ0J3QXl4Z0JSaWdBVzM4UXdGa0FJeGNBQkFkMFJJdEFoQ05CQ2hnQUljc0FqL2dCRWNCTmJ5NnVxa1ZaNWdNZzFRZ296QWpmUjhnUENGOWI2WHNCeXVRc1RRWXluZ1FXcGZibzZhb0JrV1FOTVBrTS9EMm5Ea3dCbHZ3a0dvaFAybnB5L0xWaEZJeFRERnRxVlJ6QUhoUU9oYUN3MGJZdTcrYnpHVjZtQjdKek55NkNYMUFoVkhJa2pEd1lyS3lBaVo1dk02MWhlaVlDWEF4Q01HRkJoY3dEa0JBRGlDUUFRZXhaSG1zQVVDd0tBMmhCQ3JBQlJzZ3QybkFKWDV3RjNIQ3hxa2tjZ1dWLzRkRTBJd3BnSWxTRU1jdG9BUjRnTWNHd1FJRHJXUUZBUUluWUFWb0lKTk9CaDhwNE5BVWJRQW9NQUNtZmRxb2pRQVhYUUFHWU5vSVlBQ0liQUFQd0VSQ0lTYlM0Rmh3MmJFenNBVWRBZ1k3N1krbEhKWUNOaFZlWndKaXlZajNzZ09OcGFvL2xTcDJLWmIzTmsxRklDMEhzQWRCUldla210SUR5eXRPblpBQ0JuQjFRQWJ4c0FOdUtVMEtrS1hkdDhNK1M5VlV6Y09IQ2NUWmlvdVpJQUNPeVpJTmw0ekpnQVpRa0FZWWtBWlVnTitJRUFYd3g1Z3JhVzFxVFFRRUFCUUVzT0FNVGdEa3hlQzhHdENadldRRW9RRjByQUVYOEdNcUFBVitiUVVuVUFLRGNGYndERW9kNEZhSzEzRk5zTmlISjh0ZnR3RXQ0TFVUd0tzSDRmKzFCQ0hoRjBBQWVXc0R4VE1DVG9EUmkwemFBeUFCUWo3a1JGN2tBNEFFQllBQVFvNEFoMXdBVkpDQlFnRklpdVBBcERNTlR2Qm1QRlhEaTVGYUw3c2xLSUZhU2kyWGtsMEVwS3ZVenBrSEp2UGNobGpLRjhBYjFUMXZ4NWs2ZXdrUGUrQ1dJY1dJOFRibjd4Q1NqVkdlT1V3UFZuM01hS3FFN1IyMHpjek03M2xwbUlBSFFURE5SaHdBYjFBSGo2QUJVNUFHYVFBRkpTQUZ0MkFDdnJVQm5rNUl3WGdJZ0ZwVjFBeC9NTUFCb0pnSmViRGcvYzBDRGI3ZzVQVUcwd2poQ0VIUUZFNFFVREMzZW93RzhGVEdJbVFDbW1tR1VDQnJ6bFpRclpRQ1EyQURlWkFHTFlBQlBGQUVOeUFERTJEakYwRGpkUTBFYWJBQkdyREdLcEQvMFFXQUJFRmU1T0l1QVFnUTdrUE81SzB0NUVpQXlDcWdQazNJckF1TE9pcDdBeUhRb3BEaUdJclVwUXhiQWtVQVNQS2wxQUNYQjVFa1IyWitMNkg3SmM5TjFPcEdwVFJ5QUdUZzNSMThMNi9vRklZMjNFMmpwY3J1UGsvUVZYOCtEK3ROZDRUKzNsZXR6Qy9rd3hnS3pZK0FCMURna3NkTEFLeWhBZXNxQ0ZSMEFpaDBRaE9BcDdJZ1NDZUVBVEtRQVZQd0FyMURlSWVBQVdJdEJTZXdueXpKQVRDUTZ2UE40Ry93QWljdzY3QWVCRUh3NmdsZTZ3ZHhBeGtnQTFaTEFEZEEyUmVnTlhHN0FTcmd4QSt3a3h2SFZ0MVZVQ1lIUXlQd2Rmek1BbWhBQlFSeEE1Zis5UVVoQURLQTlVb1FCV0E0TENydzBBYWc1T05lK0s5Ti8vaERQZ0FRSGU0b3dNZ3FNQlFaSDFQTXphUVhjSTloUGhWMlJDUjVDVzlyaVJKUE1HY1YwSkEzUVBDa1RNS0RZNWNVaTdrZllCYzVjQ3l0SWtmQzlMSVNMM0N1cGFONFhzeTA3d2NQRUpLKzNIMGZEM0ptT3FhQzdwSEFEN3p1R1pLYTRBQjFpdlFCQUFOQ3J3UlZlQWhTZ0FHOTh3WllEQVUwRDR5MDRFZ0pBT0tEa0FGQWY1bUd3RThjc3ZKODE1Z1RZT0NaY09NTkxnTlB6L05XYi9YVWZoQjZUL1JwVU5Eem53RXM0RnQ1Q3dnYWZuZ2hIam82VzRlSE1rMk5heUFnYTFDS2lvazZJWDVLTFMwcWZsUXNGNkVDRXdLaGtCY3JJS0dyb1doK2ZpTTZLajRpQlNnREVya1NBN3k4dXIrNkNMYkFBd1VGd1FVaUtnTE1hdjhDZms0S0tSVVFGVjhLVDNrWEFpRmZFTjhWVlROZ2VOQWZGVDBLQ2lYYmZqem4xZWxDRGpraFFnb1YxZ29hOURuK0RrK001THNXeFUrSUhHQ01IQWhoNG9QQUNoRVVkTkp5b0dKRlBDVVVWUHZ3QkkvRmlpTTZqSGpBdzQ4SkxTSXBmbHo1TVdTSGx4NDh2TlFoYythaGx6Z05IWXBKRTZaTUQ1aGVDUjFLdEdoUlBDd1NBQWdBb09rRUUzN1NuSUJhOUUyQ0JGQ0dtckRLUVpEUnIyRERpaDJxZ1VPQ0RLLzZDTlZ3SXNIVG9tVmxTT0VBQU1iU0RSTzhqdDNyZ0lEZnYzL2ZUSmlRUmdiZ3c2VllpWktSQmdNVUFUY3lRQUdsZU5XTkN4ZzJxY2p6U29pSEZKUjBqQW15NWxHa0pxRVZDZEswWVFVL0FsUXNZNWlpT0ZYL1pSWlVYcVdnWlF0WHJnRW9EQmdiYmdBRkF0L0VDaGdnWmdDNU1HWE5kdVQ1QUlZYU9teCtkcWk1UUtXSzlZalovT1NKRVFIQ0J3VXhOTlRMNUwxYWxSZ0djMXhRY2k1Y0REenEvZVd3RWZDYkVRVksrTEZGRlY5VXNZVVc0MzFRelgrNXFXUVJHVHdvOEVVRkhPM3hFVXhOdlBFR0VROEUwWVFNSTdBa1lrVTQwUlJUQnovWnRKTWhLdnAwSW9vMDdiRFhqSDRrQlVNQWRuSEFRaDRueUdCVVVnbE1JUlFlblBueHhnWkMwcWpra242Z3NVRldRQVFnSlFpdm9IR1ZqMFZoc0lLTk1NQ1F3QXBGTXZsVkJuOUJFWVJoZ01rQXhRUnZCRUhFWVFTVUFva0FMRXl4d2dwVFVIYUJLZ0tra1ZobHF0eWdSR1l2cEZHU0h4b00vd0hhSVc4OEFzQmtiSWFXd2hhcmJSS2dCbnZTSmtwanRWV0d4Z21Db0NDQ0QwZzRKNXdJbzNiaHc2cW8xbEljY3I4cEI4d3V2eFFqZ2hQTStLRkNERHBVWTk0SEpoVEJEQms5Z0pQT0MxQTVRRjg0NmxBaGdCb3lQdUZDUGhBb1FBVWVPVUJMUlgzUytQR0FmbW9BOU5BSEh6amd3QkE2OUJEREJ4N3dodyt6UWxpNGtoWit4SUJQaFJiaEJJVnBSRGl5eGhZaGpyalNDRFhGVkJPS0tPcEVTY0VlSEVDd2lTd2FNa0k1WW80NUFRZGRUb0JCV2E0UUpjVUVDYVR4U2w5U1BtUENDU0pYclBKWE1teWd3UTFTeGt6QUsybmdGYVpRam1IQWdWa1RURGFGREZOUXRUSVFCTWpRTXdGRVFBRVlFVVF3ZzBZUVVMK3BKaFJ2c1A4QVJSbytvMUhaS2hta2tjSFdwb1FTeEF0V2JHRG9JQ01zQ3NZYkFCQmgxUXFJTEF3VkN5MXNFT0FGTW9TQ0p3c3JZSUFCQVoyeUFzSUVKZFJoZ0FqTjVXSUdDc240WUVBS1RxUVFrQkZQUE1FcXFnVWdBSXd3eTgxYXF3SExrR0ZDREZ0ODg2c05EakJ6d1FQZVVYTmVnRHNVMFo4Q002aHdnVE0yNEdFRU9CL0VrTWV6T2V5aEFqd0ErcUdHUDF2MElBUjUrWFFid2dFVWZUWkNDQ3RvUktFQzhZcUlSeFFhY1VSR3ZoNHdRZ0FrYXpSQlBoRWRDTXhTQnpyWUJCT01pc0R2VS9vSHNQOFRUWW9jc0xKUUdiREFnaEpXT3dFSExzYUNDUVNJS0VwSUFBZEtFcVdZQldCbUt6akJ6ZmEzTWlna1FBTU9qTmt6ZUhDVkF3ci81V1FYTXdzRzByQXpzK0JGTHhVVFFNdmU0QmNaQkNGT0dkQ0FDWVNtamFJUllXcFFrSUVxd0ZZWkdXQ0FoNHFSd1NaYUVDQThQRUFSRlFBRHVsSkRrOXlsb1FVYjY4T2VWaEFLeVV4bWEzMVNETXF1NElQTUtZNXhQdmhCQ2p3UW9oVDBBQXhvN0lFYTEvZ0RXaUJoY3lKNG8rZCtZUVlCNEVFRjFkbklCK2JCakZLa29BYjVlSjBmYkNDQWJWWGdQMC9RamhyVXNJZDNVQXRBTzhoV0RnQnlqZ2g4SUEvMFVFTUt2ckNGZHdna0hRL3d5RWNvb29VVUtLQUgxOVBBRGtRRUlRVlk4Z25QYzFnSHRsQ2FKcGptZkRsNGlmcGFVckNiRUV4aEZXaFlTQlFXc0lmSlpDZUtDSXJLa3JLQkFYSUFBMGE3Q2dZbWtLU2hIQ2tyL3c3SW9KUXVBSVVUU0lHQzRJVENDektnVFNuTnJHWnZJSXFWU3FoQURMQ0FCeG9vSUFhRUppWU5JQTBEU1h1RERJRHd6YUhjREE4OFlCcGcvZ1RFVU54QUJua3I2QVZ1d0FLeXZhQklOdGpCQXg3d0dTWU9nVWdZc0FJRzhvQ0hIVkpSb1ZPQUFpdE9NQUZSb2VBM1NDaEFHQmQxaUNGczRRdEcrQUlZdHJCSU5SeEFEU01Zd2l3NkZ3d1JuSFNPdWhDQ0VDYTFvRDJTb1kvY2VNaC9uREJJYnBDbldncmdnUUQ4WWNjSDFJY2pxVHZlSkdQZ0hZNzRZYW81K01JSXdyQ0hKNXpEQ0IrSXFJaTBzQVZwVkFBOUJsbXJIOHpLa1ZpNnhFTzJKRjhqZ2dDVGdPMFNKTU9rbjB0MndrdVIrRlVuOE90SnUxWkdoUk5BUVFONTRQL0Jtc3l5c3dTa2t5eG00VUVSeXZsQUdYZ1RuQlFzb0FBNEd3QWdsR0FEVXhtS0JYZDJnaFdneFovOXJGZ2Uvc0swS2FDaEhIbVlBaGU0Y0lMZW9td0toOG9ER2dhcVVGYmN3SjBLNWROa01oQ0ZFcngyRUJvSWdRNVlPZ1RPcU1BS0lzUERaZEFBdE9LdVFHdWhPTUVMaElNQUJDQ2hCSXZyQVVzWE5vSXRnQ0VnWUZpa0pMTzFCY1FCQXdrKzBCd3hqQk1yQStUalAwSWdneitjRVlJVVJBQWlFbWxxSWM4aERpZGNRRC9QQ01naDkvRXNyWXJyclU3QWxqL0FVSkVkbURVRlhuVVFTM3IzMXZ1SStDTjdVSUk2bkJETGwrRFZscVo1aEF4eTh0ZS9EaUVtME50bExIU2lNSW50YjRKNW9JTE96Skphb1V4aEF4andBd0gvU090RGlvRldaV2hJdzVJNVN3UU5kRkFvZVFBWkIxcDd0VGRNSWJiN0E4R2IvSEtCVitUMkJTMUl3QXNLUmJVMXQrQUVKWGhGQnNZc2dCMFdkeHNKTGU1bFh0Q2FGNXdBQTByd3loNUNzSVZKMmNBUEdZQWlvcWxBaEwxdGpRVVkrQk1MOGp5QkZpeGhWRCt3QWc3YThJb2pNcEVtSXlCWVFucHd2SnBtS3dWeEJJWndaalVBNGZnR0FTSjRRa1JpVStGblpXQkMxVnFCSDRTbGhoRElPaDFQSUlPcE1mSFVkUWhZUDVQODlRZFVPZUFlTkN3RTBRQXhGVlk1SWkxd3BLMGxrSmZEWEJJaUxVaGhWMEpReVV0c2VZUHlCYUhPa1lBQ1RrUlNZL1dOUUkxajFMR0prR2t3SFFnQnREeVltcDBxeTRLaDFBd0tEYVJ5VnA2OC96SU5ZSUMwVWdJQ0JwQWtGQXNxMEN4WFNRQ1NKeWltMmZwRkNZZjJRd25JWnRrM2ZXMGIyeGdiRkRuenREY1J0TGhVMEZSeFQ5Q0NLVVNtbTNXalpra0dqUWtldFFHVGZtRUJlQ3VUZ1NUZ1lKeWhtSUxMTWJNSk1jUkIwMWI0Z1hDanNJTlBJNEtNb1I1UWZPVXJ5UitJUUwreGttT3RaSldMdzhWQUNiZnJvek1NL05Zbk9FQ1JhckRxcnpSUTYwbU96anhQTUFIVi95SHJDTUJucXNkRG94YTBzSzB2TFB2RW83eUdQS2k5N25YVHl3L2ZBMGtIb0dETEQzMG9CNDNZd3Z6YUxhSVJhRUc5MGZOcjVSZW1nMkR5UkFjVVo1S1ZIcDRBa3ZMTUsxbE93SEFSRG9WcUVyeGlHRmlLQTIra3dTTVBmUFJwQUNBYU1zQ0REUDhJSFp4a0lzQnJEWjdteDF3Z0E2WDQwMEd4MW9JSllITE00N3Z6S3FSYzNNd0U0UVoySmtCbXlvYUIxK2FCdDNuUXhrSlB6b29vNEVEVG1oSTYwYTNBL3ZPL2dBVkZ5TVFKYkxEZTBBQXMxR2t6d2hheXBWVi9kQkZXQ0pCZnN5SU0rbFVNQmxCcllsY0ZjQmNDMjdCSUFxQUNWVkFGMkhNNzh2VU05QkVCTHlCVkE2WWZBR0ZKS3RBUE9XQUU3K0VCZktjT1BSQkwxZFpXQ25CSld1QVNoWWNUSVVCdDRBTTFQd0UxUWZBaWh0QXdsTGQzRmRFREJHSUVROUJ1Q29NL3lIUUlLRlF4R21CYkdxQUJQS0FFYU1BQ0o5QWFyd0JDR0JRelRaRkJNUEJjcnljbUs4QUJHWlFBdEJjQVJNQURadk1LRmpSd1crZ0hEdkFtMzVUL1d4dlFBaXZRUnc4d0JRS3dKUzRVVXBFR0FsQXdjZ0xnRjhrbmZSY0FhUVYxVUJwMUdZcHhBd1JRTTFiUWNuNFFCUzZEQjFVMFFzaDFHMGhIR1dxeUFpM1Fma253QWlyWGlGeXdCNVpBQ1p2MEJXZTBCVU9RVXpKVlUxcWxTYlZ3WHdVQUs3a1FIRDJsQWpYVlIyQlFCUnlCVklzVUFqSHdIdzhnYktXMkhnK3dnazZ3aXNnR0VMaW9nVG13QlViUUFXZlVBVnFnRGtINFZ5c1FBOW4yUyt0Mk1DaWllYkwwZ2pOeE1ESEJqUUxqQVZ1d0JRZXdTWXBTQlRyb2JqcFJBVTZuQS9xVGhvaUNBWjlWRmlzQU0xSUNBRXJoUUFBd0FXQW1qelJpSmJLWGp4c3drRmFTWkUzaVFXbUlCZ0xRaGhuMUFrRndmTXhRTkJHcEJHb2kvd09nQUFMTWtBWldvRFVDcFRxQU9JbGJjd05UMEh4MmhrVjdTRVFxVUJLaU1CdmI4RkdWTVFVdkVBV3IwRGNib0drdDBBWVpZSWdnQUFTSmxtUkRlQWlqaUVZeU5WTmZFQVB6eFg4NW9BS3BwZ3NHNkRuRm9RdUg0eXpPOEN6bkVRTVY1b0FDTUl3ZjRBUkZVR3BhZFdoYk1BTlBBRlliZUR3ZWhsWCtFQVpnOEFVNW9RVTg4QURySm80V0VRSTJZQ0V1UklOQmtFTk5BQVhhT0RBTU14TXcwVDdoV0dPVDhoazk4QUVIb2dWZ3NJN2ppRVR0ODJtTEpZOVNzQ1B1Z0JXakpTVTdrMEVjY0ZrQXVTUU9jQUpoS0NWZW9rRXZnQUZPQnBBT2dBYWNrUWNaZFFKMTFrY0lKUUE1SkFwMUpnb2dRQUJJMWhkSUV5Y25HUW9Fb1A4bml1RS9ZSE5RTFNCU0NtV2NEK1VIZTRJWkxxY0tNRmxRSEhsKzMyV0lxd0FDTEZjU1M1UWFiYWxFYWxCb0tRQUdTWWxzVm9kMUVoQ0E1cGtMd3ZCcWlGT0xiZlVCVmFtS1pFQUZweVJzODNVOEllQUFWUEFFL1lkcy9uQURUd0FnQWxDT0h2QUZidGxYQnFHTmRHa1JJeUFEcGtFQWpEYytrVEJqT2FGNU9YRS83Y00rQ0xPZ0g1RUNsc2VEWU1DaExER0VQT2FPb1ZFQnl2U1pIQVFGUkpDUCsyaUZDYUNRbjBrakxaTkJBRkNRNXZRQ3pqZWpmcUFXaU1aeWtiWW5FeWtEZlppSXduY0JmaWdLVTFBQ1NpQUZ0SlVZR1lBR2FLQUVKYUFDUDRBRVdLb0NLc0NrVHZpYnByQUNRV0tkQ3ZVR1ZyQUNRS0FLQktCeWVDUC9uRHdrQUVMSEFtSzZDaXdYWjlKMW1FTndwME13VVpHekJTRVFBb2tSQWkrekE1aXlBN0ZqQTR4am5xczJLd2FnZFVnZ0F1eVFmS1QyTEdMbkROLzVBUDJKYk5CaWx2N3BEeGRnQWp5d0F3VUNVeUtZb2R2b2pld21Jck5rUHFjQkNhemFCQmVxQXhaYWVEZmhJbi9WWHZOQ2VlalNZem5JZVljd0FqemFKSllWTTVzNWV5ZmdBTCtxSkJ3MG1nRUFoakZEVXY4b0ZuakFYV2xRR0ZJQVhIdWhBV2lXWjVDUUFSalpod0t3bDN3U0p5eWdBa2xnQlFGQ05Dd1FCVm9xSENwRkM2MHlLcGN6S3Nhd3FNNWxDb094YzRvaEFQZ3FDZ1RBY2huNW04UjVaM2FHZkg1WWFRY2txQ2FRY1VZUmVtQ1JVc2hSREQvMUMrdlpYMStCL3dkN1lMRjdZQU4zR1ZHRTJyRVgwS2QrcW92QWcyeDlLb0prOUJKZ2tBSXVVbmdGUXo4cklSTmIwQWlOd0tybWhqQUZZNkhhaURCOXRVdHNkU0NVeDB1a3lqNDk0WFFLK3hXQnBnRlFrRU5LUUU5N2tVQnY0S0xLaWhYSHVpUTF3NWtKSUt3Yk5TT1Z1WEFiMExVbndFR2dJaGJZMmdKKzBwd2FtVVhic0pGMVppZGtBd2VheGdWMUVBVnQ5Szd6dXFqR1VWNERZQWJBY1NydjZpb3FBRTJYb1FRcklBUDRDcUg1NmhkNzZISktBSGFBY21mTW9KR0FnV1p4TmhSU29BRVpjTG1ZSzZXWEMwQkNCMEJSQ2hzcDl3bUxHd1ZObVFzcDVaUzZNQXltcXd3WXlRS1l5M3M4RUx1eE8wTU1heFM0WlFJN2dMczdFQUpEMEFPV3gvK3lCdk1pM3FpRCtHYy9qQUJqTkt0dUo5S3lnQ204Ny9OWGJLVURnRmRqUXdnL0owSUpRbXR2WVhGa2VRSnhxQlVGUnhnV0dmQ2kramlRQVlBQkNYQW9VenNqNjhTUE9Cb0FISkF5WTFGQUc1QUE3aFM3bkhGa25ta1VZeXNEYjNDYnR6a0ZrWlo4ekJBRUoyQUZic3QrVnBBRVhTU3Z4WEVjc0RoSEE0QUF3WkVNZmFzQzRFV2Jmck5ESU1tdkxkUUNNc0JRYktvbWovWW4zZ3E1ZnpFMkc2T0dUNk1oL2RnbE1Ed1lHVE1ZRStBVU5FekROZ3dBdElCMUVLdWVjc1E0VGxrQVhUQUJNRnpFUlZ6REk2UWhWTk0wbUF0UHRXc1VHZHV4SWRDQ254ZTgyUWdqMTV0WDVYWkxhMENoODRNd0E2T3pMM0dLN1dhclAxc1JQSkgvRHd1enZJZGdvdTQ0TVYvQkF3UDBUVXlJQm11aVFGREF0Ri9CRnJJSEExNElvL3U3dm50Uk13TjVvN1QzVEdQQkEya2djYTVoRkN1d0FmMjJzT0xGTkJod3RtZXJKbjE0dVNwMGt3b2NCMkxnS3E4U3dVRGxPUk9jVXNweE9EN0FEZ3VsaHhQd203a0pHRy9RQXVlR1VLdkFBb1ZCZmlEQUFnOHdrWERpRjAvMFVLbVROR29DZlFOVnBMcllud1FRak5raUFFNWdYN3B3dXJ2Z1JjV0FkWTJxQXY2cklkaWN6ZHBjRjBZTUE0T0J6VG1rdVUzTUEzcE1GQnlyQVdSQUViOFV2QWVqQTR4UVorWHpDUDBpQStEWXNpNDdNR2VjenhjU2xJckFZNURaZVRHeXNEcWp2bGltQkJPQVdwRWNGbklzZXhqalFEdEQwSUk4RnFNMy81QUtwSm55YTdSUkdDUmdRWVpGNWs4WThBTE1rRU5GQ2dKZlU1dXFJMFNkL01tTENvdG1VRjRvZ0tVR0VOTVFQTXBPbVZLM2tBd0ZvTW8za0FaVXhNc0R0WWQvYzA4RUVBUjNBampJaDFTOURDZEVjTUJ0WUFKRWN4aVZvUVRrQjRnWFlIVm1FTVQ2eFRpNGdBVExnUXRtZ0RpQVdLUkxzNWN1M00xRmpBSGc3THE4cHdHcE9SUjR3TEd4bElNNmtiUTV0QzgzY0NZSm80MHZvczk4TFRBcmtobzg4WG1wY1hoRXdRSWJFTWhrc2NoWThjUmxzUlRsR3pOZW9tc1JyU1NML01jNGNyWHdLOWxmd1V3ci9BcG5palFteHhablVSUXFBTkxNTU1BbmpLUVppVGVaeUg0cS9iQVV6TlVXM0xlWW94eWlmSjdPTVF5aUlnSTB1ZjhORUpuVVVQQ0dhQUxhU2lQV1NYM2N3YzBKa2RYTEp4Y25WRjBaemF4MUVpQ0xETUFBd3pDeERMQUFoOE80ejcwMXI1eHpUSk8wUTQzTlJCekRTcXdFdkZlN0hOdUNJWkdoVzhCNFRjRE9PU3NUZlgzR0R3T3JRRHUwMkV1WVR1Y0JGRmN6dENFQUgza0JUc1lDSEdBMnRjdkhPR0xaK3JoQWs2MGthR0FXWWJpUENZQWxSbUVsRzFBUXIzQURMVnBPTlNPamVSQ0gyNUFHYjVDMmo1dkxPeFFFclcwRmJMQUVMZDRHemNVSEtoRFRQL0FES2hBRlFwZmo2V3FsdkZFcXN5S0xUbWtBbXZNY1VhQ1JWd01ubS94bXg3M2t4MTFwTDZBRTBaclVVOTNkckpBQnhuRFZ2OUVjRnJBQXdjRUFFbEFjRExEbFgyMDdWRjdtUlVyL05ScFMzbDJpeEdwdEFtMDlDRGFRQjdqN1BPMFZtWkg1RXdaenovVzlTM0lkUHhaeFRQTld2Y0g3YWVGTFFrSEFXUUpRSkR5d2NKcGRGQit6RkYwaXJGTDc0RW9DcGk5SzRUSXFGSEs4QVpNTEJCM09XVGVLaGxNWW5OTmEzQnBKMGh1cENpcXV3S3l1d0ZCVWhzYmRtMy9SaCtQYUJiVVFzVklwM2NXQUM3YWlBa0o5R01sOUFrdys3TENjQUdUYkJ5YXc1RjVhNXF6UXFEL2wxVmV3NVZkUUFGZXdBTUpnQWRodTNUNndyOHhPNVNpTTV0emNKUUNneE1MSEEyOCtDTHZyTUJGanZacUhmeU9pU3pxRzU2RW10SU8rRTRPMXh2anVkSVE5aGFLSmNBRmdSMzRnQlFBT0ZoaHdJM1JCbXFVWHZwUWVGcUpOZTVFZXRrWGgvNXFjL2dwVFpyNVl5SEJEOGRUUkI4QjlSQUQvU3pldDN1b1lzSmNzTndWNVFNeTl2Q1l0d0NxdnVIWG02YkRubVF4UjRQR0hVVE5LbmlaSmkvS0hvU0dIc2RSbEV5REJ4OXhtcmpROHBBVE9MQUZoYmdGSlh4d0xZTjFtc0FCYkxpcTk3ZTJuME8ySHl6VGtYY1J2a0xSb3dBTSs2ay9wZmdCeTdaalllS29rOGo1NnpxQ0R5YzZKcGQ4cEFrenpGdmVBRFk5RWtYcWtkWVZFRUg5NXNNaGFPQlF5c0JRSHI0OGF2ZkFRRGpLT2ZTT0kvUXJjT3doVEJnTWJRRm9QVFJRSU5ldkh4d1h2RnlkL1FUWWhyMm1jeU11VnhnTkREZHJFYkJWdW9UUlRnTk93QXMxUzJUbWk0Z1BhUjZRZWIreG1rOElhTWpWU2R0eHBNUHB2YVA4b0dpLzBZTFBzckRvbmZuRzJTTzBYVnAzMDJJNEMxWDd0QzhEVlVMOEFYLzBEU0RYOWZaUUJweDQyL0dyMXhWV2sxeHp1R3FKekdmQ3NKaEJkMitZU3k4c2lJUklMVjh3Uzk5M1BLMUp2UldnaWJSOGFnczFFdmtvVUZtVHhrUDJpWlFZSWVSTVRlWDZHaDM1b0FBRXdBUUVjSERLSWs1U1ZscGVZbVpNYUp4d0JBREFBRTNpVUdnbHZmbjFFampBYmpZNndzQWtZbEN3dkJBSUV1RkE0T0dXNlVBSXZjRmJGeG5BdGFRUkV6TXdFR0NWb1FjMUVNbEJ2VU5hNjJ3UXFJZ1lTNFJJREJVamlFZ2dGQStFR0lqNGJVR2tKTFFscFJOeEIzQVRLK3ZyM0JFRk9XSG1ocEUrdWZ0d0VLRnpJRUJkRGhmME9JdFRsRGNVQ0N4ai9GNkJBc09CS2dTc0x6UGk0Z3RHQ2dTNHlna3h6TmhIWE5vZ09GNEtZZWFHbXpaczRjK3JVZVZER0cxQXdRcjE1d3lLREJsS0hIR2dRTXNLRGpxZFBPK2p3MEVGcUJhb2RQRkE5d1BYQWlLbFF3NGF0NmhRc1ZLcGx4VUtWcXZac0lVUm9FcnlLQlF2U29nQWcvR2pnTUtXU0VnNmdQaVZnb2FtdzRjT1ZNa0NCb3NIUWlnU3NBTkNpdE9LRkZEOUJXTG1pRzR0REFrbUlwQWlJSjNGWXNTQVhna0FoWnN6WUN5ckxxQkY1SXlNTkdtWXFxMEZwcVN1S0NIUGlVS2dUTndERnVuRUZSTHpZc0dIQ2JtNUVubk03SVlPM3JqUXRXcWd3Y2NINlJKWGdaWWhmUFBRbkFBQS8wNk12Zi80OEJoRUZTbG9JaWVSaUFZNG1MYzVIL3lBQ2c2Z0o3WmxuM25uWWlDZkRQOTQ5dE5PQ0RPSUV3amJYdkJIVUJFUVpoUWdlSml6bFZBVlRvVlZXVmxsTnhkVlhIS2JWMWxOb2lmVmhWaWFlZGVKVE8wd2l4UWtKM01VWkFBbDQ0a2hlVTNEUTJDUm9BTllJRENlWVlJZ1NNbER4Rm1KTU51a0hDd2trc0FFSEsvREFRNDJNd0pBR0pUeHNRQmdCbXMzRm1XY24vSGlJQnJwZ3dBMFVWdUJnQlFFUFFORkNhMWJBa1FRVTNVMmpTMjBZUURIQkZCTHA2UStDMjZqZ3czSGhsSFBPb3Z6NUFBV2gyN0JBNHh2Y3ZDQmRQMEZnc0VFTEdDZ0JCRUpCcEtTU05RT2FOOGlwN1FVNEZIb0UwaFpxTnFLSytvTUlabHlFMFJVR01MQUFFZ1lZWWtZQmZBVExRQUVxTEFQZXNmOHBrWnJlVHdBR0NBVjRrT29EMDBNQ2dORGd0VGNCSXdvTUZCS1F3WktHMkJEQ0VDaDZHQlZiSVU3RklWc3ZwdFVpaWk5MmVHSUlsRXlSbzQxMEFRQUpMRUQ0NFZ3cFFTM0NBUlJQWWhCbFBlQTZxVEFtSzJ3d3l3UlRRbkZDSTVEME5Va2FKL2doZ0NNQWJNYVpJNTV4Z0FZbHVRaWdqRVFyaUlFbkMzUFN1UUpFQndLVVJwOEVRTUZGQnYvY3c1SjNQb0FqVGpxSUxpcEJPMUh3OWtZTEoyeGpLVUl5VEpCZHAwVkl0STAxcWE3bnFvSEhDdXFkZHhYWmlwRUJWL2doVWgxKzFGRUFENGNnVWZUVytveDZUWHVvb3Zkc3RMdzlaQzIyREFvd0cxQzBaV0FrSWlhRTBKU0xVSEdvUTRud2JoanZpWWlEVllIaGl3dFJDUlQvVWVJYkM0NDZCdUhIWDJZYWtnY0dnRDB5UlJwVHJqQkJqcDB2ckRvbEpzZ3dzaFE5NWtoeEFpTWpZb29TUmNpaTQ4Y2NiSEJDN1pNY05FRjFMeTBVeEp4dzRKQU1FVEJWazBhM283V2dSR3pMK0VRM1F0NEVyYWpRNFpEemd5NGdTSzJMQUc5WThkelMyd1R4eGd0ekVtVFFSTmV6TFg5TExId2ozNjVtK0dIQ1NJWVlnTUFoREpqZS9GcENoRkd4aDF2cEVWVSs1QWNSQWVCdEp4bW8yUnNtSUJRcThHQkplQkJjVk1MeU9NaE5SU3BhT1p4WnhPSkJGVG5sWFlTRDNBRXNJWVBLZlV3d3J5Q0FIL3BFaVRmVVNGK1Rhb3dVV0FDODFma1FFeG9BM1FrZU1ZRy9IVUppZnFnTFpENEdneWk5SVhXSEdFMGFMalUraUdBQS93TXlVQUVMTGlDUjZEam5IOWpwQ3d1YXNRd0s3WXgrUGdCT09JUVR0RVdod0FBMHFVbjRRSkNCbWhEQWQ3cVl3RDE4d3I0V2JHQUZhT0FPYjg2NE5aakVCQ0VIWVVnRzZNaEZheFhBQnd4QUJBSlFZSWo3R0FJQnZmSURIM1lWaGZBOVpJQXRBVStFbU1VcVYybk5Pako1SUU1eUFRVyt5ZUJiaHdqY0NFalV3UTZXUzRSUEthRmFVTGk0dER6dUtTTzRoQklnRmpyT05QRXVOMURDQ1M2RENDaWRad0luSU13UHAza1lLUVJSWDVNNVJCNDR3SUtOZldJRGxtT0VsRTVRZ2t2a29XWU9rVllpdWRpODZDeEdGL2NRQ0MwaWlKdG1uT0JSZ2pybE5uNHduTzdkaDN2aXVBSVg2N2dURExSQVBEUHI0d2tBcVlFK2RNYzc4Zityb2dQeGRqZThJVUVFWVRzRXJneUJCQ1FZd2lNTTRNTjhrUENEblZSVWp0V1NTVU1NT1VnRG9nY0R6UUpBTnZRNUVZVlVkQ0hYZXBBTWdDSlRORERURDNzZ1F3ZzJaTGhmdm9oRHVsd2NCMGw0dUE1NllBL21oSUpuUWpHbTNSVmhBdEk4UkZ4QW9RUWpVdk9ybWxnQkREaXdKVVFvNFFYZURJREhZSUVqMzhuQXE1U1Fna3R3NDVMeEllUWVxdEdhRE9TWkJ4TVU4SzhxSWNCZVkrTU1Ram5ETnlnNGh3RjhkZzRFSUVBY2RUd3BUbzczZ2dTODRBVnBZQUhhL09DQUNMSXRvdEpxU1FObElsaHFNUVFFdnZuZkllcGdBTEtad1FBWEdSWitGb0FBSHhEMEFvOVNwVTVvOHNtV3FzWlV6WHJXQWtVTGtkMDg4RUd0REJqL0ZBSUp1QWVVeFphNVpDcDBWYVRVVzdZRnJwVElRQnFtYWptNU9FS3daVDBFRHdCVFJMQ2FWeE4vaWNURkpzQldNZW5MZHl5QUlpV0FNSnNEcldRYkJWeUpiTVNqbW4rOFlWTXE0R3hzb0JWWTZneXlHVDRvUUdQN0daeCtHaUFLT2VHdG5BaFNCRHlRd2dFUEFxVjFwckEyVUJLeUgxUDRqU0g0MEwvOE1jQU1HVEZBZmVaakJoR1VZQ2JrZThORWRkc2dUN0tVZ0NwWlZYQnBHaEdiNGkyQ3lRMUZWeWNSdUE3VU1wZEdqVzUxR1pkVXFHQzNFaHFnbkhmYkc0c3loWWFDNFQydmxrdEJveDdtNFFSM3dWRXNXcEVBS0R3Wnl1bzdnWjZhRVo1WGpjcSs2cXZaQ2JLekFqL2dBU0Q1aGRaMWtvWmYvT3FNR2Q1NHJEOFQvM3NPY2hCYU9KS0ZjYzA0bFljVnFLQVF0MkViQzZKQTZTaE1RWDRjcnZRVVFPc2RGdlJza3luR1QwazBFcC81WEVFRXhZSW5na3AyV2hvdnlNYmlBOVZ2UllFZUhrZmt1RFVEaFhOZ2VRZzhhTUFEU1E3MmtwTk1RbUlYamw2R1FZUEJpdm1KdVhCQUNaT3dvY1cyVEcxdFRzQkhpTGlTTEd6VXV3bEErekFnbUFZMmNqT044RVFIQTI3RGpaODI5VWNTQTRHLy9JVldkRjVBUmovTEpnaHBWQ3hqeGJGWWYyclJRVXE3UlJCZU1BRzBvWUdBVVREVUl3dkE4QUowb1FBLzZEQTNPUHlEQkl2ZzRoajN3UTlVSVBFQk12eCtLRmp4cUgvRkFGTkRISlN0ZG5XRWUzdlhVUDNFUDI4WUxuRnJiQk5XZ3FLblhoMXE0YVpidVA5NE5kbllSdFVDWXZMUVFpeUI3QzR3SUJnaXByQ0JiMWU3MmlZNDNXWU53UUlkaVJsa0czakRtUytCaHBTNEV6ZFowMW1vQ3VpbmVXUm5BNCsyc3pSQ05TcjlNdU1FOWpnUVh1ZFdXQ0pFZ2NGQVk1U0RmZENuaVdaNEdWa2YzNmJRNXRsdEpOd0hpQy9BUmhDd2ppdGNBUUZScURqREVjL1A1Q1RZZjQ3TnZHTU5ZSGtmY0p6U1U4aDBwU1BmOEliYmIrU3dsWThGUEZJckJraUE0UnBHWkNwVmJoTWJEN0tWQkpMNVJOQlFMWW9LOXVaVDZGd0ltbnBrWENxMXlSR293aGVRYkxoZ01rbVpSdGNYeDdKcENCbDQ2ZWxQTndHTk1vQ0lGZWpJNkZHYU5tS1VFS3BCZUwzdDlkUU5CcFp6ZGpvYkFnOWRYNG44M2Y3ZmNvUC9QVGNzSVVLKy9TbG94UW9hQlNLZ0JDendNbHkwRFVkRFBCY3dCUzN3QW81MlJSUHdBNXhITEFoZ0JnQWxBVmVBQmtvUUJiekNjSmpYUnR3ekFFakFjQmczZ2lOWWVxVW5jaVpYY3FwM0g2NDNORDR3ZXFQSEFyR25UajVHZXd2UkVqNUJHMnhUZzllU0N4TkVJU3p3Rmpzd0FyVlVmTldsUzFWZ0JCWHdCVlZ3WkJVd0JFNmlBZkx3Q3FFREFFV0NDUCtWVmRpblpWRkhPNGlBQVkxd2RUblNRNGp4REJnUWMyeFhiam40Qmhod0FuM2tSNXRDRDNWbUNDWmdmOGJ5WjRWMUNuODFLTlZRSGZ5a2IwS2pZdjRVQlRjZ0FDdWdEK3hEUEFKd0F3cDRBbE9nQkU2QUFpaGdCbzVYZ1paNGlSVTRBSTRWY3J5Q2VZNjFEZ053L3dYaGNBVm1nQUNxTnl3Z2NUK0N1QTRYUllJWkIzRlJJSU16S0hzcGQxeXgxZy9YSUZ6RUpWa0xJZ0JCQUh6TUpDN2t3bk5ONVhOaDBRTk4rQlJmc0h5L2RCVUpZeGg1UURsaFNJVlQ1d2VrbzRWYldCZ2FrQUVaY0VHRnNWMmRBNGFQc0FnSk1BSHlaUmpYY0g4K3NYNW1seDFuRjRmTklWeEtjQmwrcFdkL1JRMjY4QUp2a0g0SVFnU2FvZ3paSXc0aEtEUnZKQTRNRno0NkNFL044UkkxUVFTY1lnaVlHSkVTT1pHV3FDc1d3QUFsdHdEM2NZb0R1VWJmb0htYk9Ia1hSeXlXTm9zSlVqTEhGVDUzZFEyRFVHdWl4WXNtTlJ1aDhFcElzUU1IUUh3bFJHeEZSWHhHMEFNaUJBRk5DQUZJcFFNMnNERDJJakNMY0FMVmFQOHYzS2NKZWFBQlBLQUJ6L2hWSnNBQ29CTWxIRUFoWk1nNjFUaEQ1UGdJblRJRlErRjBoOEVDV1FNeDdwaVc3YmVBYVZBZHpMQlhLMEFLNUNkdkE3Wm1FMkFQNVNZb050UUNsRUlBcWZVekRCWU9lU2NCRnlXRDhUQSsyREZjRGxRdGNzSjlET0NCRkJtWmtya29TR0NLNFRBZkJvQUNHRmtTRE1CR2d2a05tWWdBSVpnYzhBRnhud2VEcUxrQ2JmQUNTL0FDWXZDYVhJQUJLNkI3UFZhTE8zR0wwYkV0TGxsVHZrY0VOeWNEUCtJQUdsUjh4T2xCeUJnRFlNQ1RScUI4SFJRamlMRkQyWkFCVlhjZVE5S1U3M2VPMnNRQ3p3TUpKekE4WFRsTnlzUWNCOE1jRGdNRlUya0pncEFsT0hKdDRwa0E0cWNKZUJBZGNEWkI3R2IvV1pjMUNGbUhickpCQU5CRUdQVW9iM25XRER1VmZuSzJnSStDQzFUd0c4U2hlSXRDRG9MR0g4V1NLZi93QW1wU1BKNjBBWlB4bUpPNW9aYzRBSkNaS0FxMkRpVlhrQktBa1lMNVQrT1FZQjlhYUpOa2VxNUlnbXpRQzNheUJCc1hCVzNBQmpHS0F5OUFQRHNJa3l2bkQ4d1NDZ2VLU0Q3cUlOM3hnMUJnblRid0FOUGxRYlVFQmhYUWsxOWdCTVFYQTFScUJCQndPTWdHalFZam5qQUZHSjRBQTJTcENUeWdLUTREQ1pBUUplYjVWZmFDb2QwSWxVb1FEMUtTQnQ5cENkcW5MMDNrR2M0UkJSQ0RDdFdrS1paMVQ4eVFpL2hYUUJSYVFPZjNscFppSklLVlgzbUdmMmxHRFJKREQvWXdQaGVBQmdtbVdNQ3hFWWxDYU42ei93d1l3QXlZSlRXOXQwaHlnallMc0tJY3VxRWVXb0VNZHh6cklCempzQTRHNEtFb1NnNGkwSDhTcVlrZ0daSkp3QVpMRUFWQ2NHWTg4QVBKd3dXWE5qODgySXZpb3hyL3NZODFOV08zZVRlakFRcHZvQVJ2OFdzN0NUa2RsSVJWRUFOQ2lhV0hBNVFjRWdGWldnRmJxbzJlSVFNRDZCbHlFUW93Z0kyWGdBZFZoNkZRWUVGV3dnTTlncUZieHlRdHRBR2d3U1dBK3A2V2tBRnl3UUZORkUzWnlnTDl5anJ4Y0ZuTDBaWUFpaHYvSlZ6MlYwQnNDRzA4QUdkNWlYOEVzRDQxa3dic3N3RW5rMUlPbEFFTVI0SGh3Q3NyNnpPQ0NLSnB3cCsza0JBT05FY0NVQThmcGFxcktqUTZhNG50b0t1RE9UU1B0VDFESXdLRVJodzllLzhPSjJhc2JLQUNVNGNIUUFBQ0I3Y05EYVVYUDRBRGNKQmdEYmNFUzVCZ0VaZXNzc2VMRlFWalVxTStNSldRc3ZkQU1wa0cxamw4d2ZaTFFIazRWZUNUUnRXTTVubzRLNFFZM0hnbWxDTWtBMU1ZSmtBNmpqaVZaWXFoMkhrWTQ3VUJGbE9JNElNVWZwQUJKM0I5bVJBWGFZb0Jod3U0QVlvZGVrUnVZRWNFQk9lb0szRWcvNUlIMWNCMmdLVmZFdU0wYkRrTjFESVRqNFFvbUhTaXJNaFloU2t6Q1FBcEs0VmJHOUFZR3JxenU1cTAzTk1PUjRzYy9lYy9oSG0wN2FCRzNRTzg0WEMxY0xBQ1pPTUhlZkFncXJFWTFyc1lLVUVBYURBRlM0QURZbkFTYkpBRTNzdDVJNmtDWUJ1MnUxVnpYYVErQUJKekxZRUd0MVY3RWZiL3NjUHpGaVpBSWp0WEFlU3FBOHVJazBYWVFjNm5PbFdYcG42S0NaOERzRDhGQkRMaEFINGdCWm9Tc0ViWkhINEFBaCtURjRhZ0FSTXdoNWhBQlRreUN6KzFNQnJRc1FQM0F1UUdvSmRGYm42aUp5OWdNVjBuS3AxYmJxVERsekhEYWhMaFFEOUxIT0RBQUI3eFdDUXFBUUJZTkhNR3JkeGdMUUxBQXQxMEFTeGdCZEJtQWN6cnUwMThEaGVsdkE0YUhPYlFxaXNMbWh1S0FHS0FBMjN3TnhHa0xOaHd2ZGRiRkhUMEFqaXdCRjFRVG13QVNab29IQmYzQStlTHZ0d29SMk5yU05Vd1FUSkZYRE5HVUROeE56TkJCQk5BQUVha0FWL2h2ejFaaklpTWs0Y1R3S3FUWGppYkNTYUFBZFBtQUdCQ0Z3VFFCM0dCQWVkcEdIaEEvenFYOWtJQmNNbUh3QUxtaUFsUWtnQlc1a01iMjNZREJ3OTM2S2dUOXFoUTBFMEVrQUJSUUljS2xKZFF3STVJTTZTbXhSQ0JOcXMrcklJTW1nN2pnQTRpOEFOenRoc0xWQTBFY0FIVzhnQzRnTVRKSUwxUDdMdVRDWUQ3OW5wSEc3dU1BaC9YakE1d0FBZmxwRC91NUNkeElBWkprQVJoYkwxQjhGUHdaOFkvb0RGWjI2QWhtTXdsV1RlOUI4M1dvbWpzQkIydDVMNmk1U0IrYkJNT2NRRkxZZ05hUUh4eWU2Ny82NlFWd01pcVl5K3prQWxpdVNRVURNb1hjRzJYQzhrMGtobWc3QWo5b2hlUGJBa1VQYVlMY3dFRzRuVkI3S2dBSVc0TG1JYjl1QUZjWU03SllsOXZNR2ZaY1FKQ3ZGSUNzRWlLVmhFWU9kUXBoZ1FNZ1A5Skl1b1JTOENYemVvUS9id1FMNUF4Zm5ETTJGelYzS1BOaS9LeTQxQ3I0OEI0eUJ5WXhHR0pLT0M5UDZJWTF2c0c1SndIZGFBQ2NDREdVeWNFallFRzR2c3NPTEROM2VQRzhNRnhzdGdTa1hXeW8rVkplMTBOb05WN2NVUVRkY1FRMXpBRmIyRURSRmlFek9mWWhRT0YwMlJER09DNHBhQmVocEJXb0d3d2RYb1llU0FQNGZReEYrQVlranM1bjJFWTB2bUluWjBCSEVzRVFaeUd1cUFTcisxMUx5RURENmtCWHNlR0U5Qkg1Y2lqaHZSSkRKRmFYck42dXRKUkM4QUFZRVBNWFJESUNHR1Z6S01RWEhRQkoxRFRVeDNPRkduRm1JamRQd01mbExsdnhpdTB5SkdySDFpQktHQW5aSE5PMkpzU1NSQmdjZ0FDY3JBRVNXRC9EWXZSR0NiUXZYQnd5ekxnSnVMYmZ4NG9tcVRwdFJ3SHR2Y3dSakdoYU5CZEV6ZkdhZFhDVzM3SEVMTUJHTUYzd1kwTlhVN29oQjZBbmp3Z2dENEZ1TkIwWm5nQU9rWnlaeUVOQzBUUzBabkFBdUEwNHJBZ0FKdmpPMC9XaGRZcFRBWnpNQnp3QnM4WWYvYjMycVk3RFZDd0tjSUZLYlpOQzBDZ0dydWRIYWo4S0lsMFl6ZFl3eVZndEY2RFAzekFLL1pSSzErREV2OVFiZzRoUURZMUUyNVlDRlJ0MVR3N2tkcjltWUVwcXdaSmFKa1ozc09MaVdPTkE5QW1CZTYwZmhzZ3ZsT3dCazF3NTF5QUF3QWczNDF4dGIyQUF6emdBQlBRQ3o5UWFCKzZlWStFY1FYd1lNUWoyTVd6bUdTN21GTWpVOUV5cEpiNklDd0hETndTL3dTYkZRSkcrTkJoY2VHVW9HenUydHNmYkFuWGFBa292aVdrcStJZ1EzMEtzeGU3MHhsVUZRc3NUam9RZkFnRzY0V1hZQUkyNURCUkF1eVdDeVFLTkJzeDNXYXpzU2xxUmpkeVFnc2wwRWUrSTlDMXFVNEVJSU81NEJzb0NPVnZ0QUFhS1dydG9JdGpkOUEyZGVCdWVCbGZmdDF0cE4zV0xUVDhFWmpHekc4dUN4ekpLOHowVHBESmM4dXRrdzE1emdhdnlRWnd3QVYzTHI1WWF5bU00UWR0OE9kYzdBY0UwQUoxM2FEWmplai9yUUp5SjNZc1lUY0luZ3V6UVNIRDFWK0VZckxGVTFkNkF3WGNBcHgrWUFOR2hsUW9yNU1SWFF1bDdxN05zWldUWURCS0p5TlM1d0FnelZiTXhsYTIvRU1Hd3p0U2t2TUVvQVNvakYyN0h2L2prOEFERUZNUFNzQURHUkFGTTE3QWhpQlk0YkVwYUNoS0JvVTB0alpuQWJZQ0ozQ0d3aFV6ZGZYb1lWL0VZQzhEMy9Ea0JtQUdmSkFPM0o2WkY3RXJJdURDcTlaN1c5NGR2cE96a3pubVl5N21sbGhiN3M1Z0hVbWk3UUFPcmFyMzRXQUdNZG9HRFN6ZmI4REZmNE1HY2NERkFwOEVUUkFIempFeUtvRHdiRkFIUU5ENGNHQWNodDQ5VkwzMzZJRFhjRXhZTDYwbkp2dlRLT1dMNXJFYjBVRlhxbmFENlpRUUR5SWhFMUE3dEdSTE9Wa0JlWHNtZW5xdFRNK25Ea093V0poMWxjQjBiM0FCZERGV1VTSW1ySkFBUnE4d0tBNzlPajhsK1BKZnVTNjlhWkFHNThrRGtUc0IwOTlDSW9NSWdpVXFjNlptTHRlRzNWa1VRQ0QvQlFXb0Q5YlhBdVgwMG9pcVo0TWlOWGk0UVBVRENBWUxGb1FMQmxjTENBVUxoa2lEQ3lnaVVVUkJRVVFaQWdRRUFpQWduQmVnTEMwWWZuNFNBeEtwcXFlcnJhNnZzS3FvclFPenJ3TUZCYmFuQlFpcUtBV3BLQWJDSXJxMXlLY0lDTFkvT0hBOGZnUlFVRElUT05Gb2JrM2NUVW5QR0UxY1NWQkVmaWJmT004YURqSXZ6MkppcU1qenRhN0pxd2dHSWlJL01rUUFBMW9pc29rVEp4QVhNbmdpUUFRS0FBQnZCbFppR0xDZ0p3R1pNR3JTR0dUQ0JCa2EvTmdZVWFGa1NSMG9LNlNzSUtTVXl4VUpKa1J6NlNmUEZBNEpwdERjaVdZQ21wMStwRXc0RWFCb1VSZzRZUUF3eWhSQUFneDVnRXFkU2pNUGhnMUxtVEtGa1NCQi85WUFSRTV3Q0xrelQxU3BRamVrT1ZzS2lJQ2lPTlBRekZDSnlKc1dHMlRJcVBibURaRVZLbEtvaUJHbFpSOFFtalRkM2NERFFSQVpsU0kvdHFTM0xpV0FsZ1l5dEtTSmhROERmQVlST3NSSEVSODl3eDRoa0FSd1k2Wk5vREI2dXBDbXhRUS9DMmJ0UXNXQXdhNVlxZW9CeDBjTEZpNFJ2bVQxVXFVSWxhSlVxNC9aRzdDUFh3RVVxYjYxOGFPQkdqVU1PRlNBYUZLR1M3Zno0dUpRKzhsalNaSWtQN2hUaTRNakFRN3M5RTdwbmhmOGQzQWsvUHdRQkVXdFRaVFlRUmQwa2drbE1yd0JVV1lFMVdVSkN4aHBsSmhyQXRnRncwZFNjT2VCU1NmcG9CSktaSlhDQTA1TEVRQ0NBelNoY1VJQ1NsQ0ZoMVJUSkFDRlVRRGd4UC9CVjFvRmdGT01WQVVwVlFZbzlvZ2pCeHZBZ0dOZVF0S2t3VlVydUlUSFcxc2xjRUtKR1FCMDF3c1JWVWFKQXovRThJQVFKVVFSd3dkUktDRkVIemNROElKdGZnZ0FXV1J6U21hblhrUkFscWRFQkJFd2hRZ0d1TVNIQlFhWTRJY2lwWmdoaUFXSmlEQUZFWjhvV0pCQm00RHdwazY1OVJlY0JJU3dBdHdxK1lFS0tqNjIySE5QQWNpMVlrQnl2TXlqaXdTcitjQU1LaWo0SUFJU0NBQWpBZ29JUEJOTlE5NUI4VTBjY09CZ0hqZGxsTkZOR1Mvc0JjVlBOWjAxalF6ZzRjQkdQZlJrK3ltbysvaWdRa0FDdGRZYVJna1dOSkZERTFRRExpV1p3WGJodTRwTm9KUVNVWVVnNGtrbWliZ0RUVFZ5b0JVQlFMaEVaQUlzTk9uL2toUmk0WmdBQjBvYWVaU05Ca2RjQ2d0ZDhkaWpVLzRXWmFXaFRlS1J4Z2FrdEdXa1V3bEE2d2NQUWRTV0FHUjFQc1pESGpITThNRVdJWVJRd2hNS3pCQ0RFeHBFMFVJVWVFeFdpVjR0dDJ4SkduN1pHU0ZCVWV4S1V4MEcxSEZvb0g1Y1FiVWZab2hBaFd3S1RUb3BSakswME1KUG1ZcEtpRythYmh0cTJ2M3RkdytvcUxLYWlnSFlCYmNjZGE2bVNoMmdpRERDUUM1ZDRMQ0VmTUZTTTA0YzZCVnJYaG5rQkF2d2pPYzRLOE0zK0dXcmJkcHI1NE9xdDVOWU5xQzRrTDZHRWJneUFEREJHNGtKaEdkRzhCNVl1cndBVUZHdmlDdXBaQU5OYnlUUXNGWUN1SVRHd2pNMVNYRldUdTN1TUF4cXNTVnhrelY2NWJCUlNDNkYvN3hPVGY3K0Fsa2dQTjlWd1NaTzBNSUxVTkJKSndzcnhxeEFGQjdvTU1JREtzd2dzeEl2WjhDeW5VS0xIeGtHa2xXbUNkUEkwV1NDQVZIUlJ5bXM1cElyRkVBSm43RFFKakRobWhQZ0pScG8yeFFET2pVcS85eERONk5xVytaa0FiZFVyUUlKU0ZBT2Z1b21nYmhKWUI4b1lCUWhHSlcxWWtVSldJWGJTeExPZzRGaXhTRUo0Q3NjTmVqa25UVnc0VDc2eVk4UVNVVWNWK2pLR0Q1WVFUVlN0eG1DQUVTQm5IRUlBTXFCbVlEOFE0R3RZOGdiUEFLRE4veGtEMEtnSGUyVWh3SGRPWXdBa0pQQkJxTFVKS3NrQUM3T2UxNEFrSWVCRGkxUFlsUW9raHdCZ0pVQXhFUjVVM2tEay95UXZlZmhoSHQreU1BR1RwQVordjFqRS85NWFOOE1YdkNGa25qQUNUR2J3Uk5NSUFVTktLRXkrWlBNbnU0SHJxSEpnQ0lxNko5TEdBQkFQNkFBQ1FNc2dFc3NJSVNNdk9aQUY2bVVBMitEQjFiWVk0SVc4SlNvYUZFcUMyclFjc0xob0NwTXVJcGhyT0k2cmtEaGFsQWdtaFV1UUE4R1VJY1NnS0JENzhpQUMzQjRUenJLZ0lFM09LdWJNVndERkhEZ2d5QUtwNWpKTU5Wd2NwVUxmaGlqQUQ5UVFmZ2dSQW1HYklKQVFkamlnd2dna1FHNUpvdWFlTjJHb0JBTkd3ekJKRVBZU1JrdHhoUWl6QWhoWTJtU0VzeklnUjN0RVNkUUFPUWRtOFNEQ1d6QW84L2pJd0M0RXJ5cG1LQ2poZ0lDam96RWxReTR4QVQ3cEY5a0RvUUhKWHpBZlI4d1NRaWNrRE1GcUtBVWFBRC9aZjBrMUVnTWdNNFM1bVRJQ2tSZ0J0RlV6UUI2OEFNU3FGbTFBa1JsVUVKQUF4WVBaQkNNdk1BS21Fb0dNSU5wUVhteXJZaXlRT1owaUVPY2ZjZ05Wc1JZSmdsVkFTQUQrTUFSS3l4RUNYN3dEV2hNQTUzVW1FQ3hjQkFIREZRRHNkMTB3eHJXRUU2NTdnYVorc2tzMjRLekRDVFVreDgreUNjVkljUVpUVkJHaWptTkRFR3dxTURYTkVoZUg1bVJ2U293Z3AxQTRZMGpLd29CU3FGRzZnWHB0am5LMlBPNGtwT1JHcmVrWFVFcFRYVzNNaUZOWVFOUThBTWVvSWRiclRqRlpIa1lwU1A3UkZBQ1hNQUJLM0NmQWlCUWtpRlFJWk14aUlyOGpHWktPemtWWEpxQXdodWc4SUlsRkdDdEMxQVVJOHh3QlJiZWx4QjhrTm9GL3pMQndBdWhnUWNhNEVFR3BoQ0ZPdVNoTjcxWklRT0VTY3pod0JXZW1DWGlMT3phQ24wOGM2L0ZBRlJnR2NXQXdPSEFDamhJZ2duT2ljNjk5T1d4a0kzc1pIL29pM2lHeXJKemJkczg2WW1xZnZ5akxuanFFN3NDT2dFQS9GaVU3N3FsWFM3VUVYbTlJU1I0MElJV2RySUM0VllwS3lEZ0RnY21JTktxeUFzcEtVWEt3aEJwM0R0S1FRWXYyc0RDS0RySGhaMkFZMUxSd0l0c1NpV01qV3dEdnBVR2V5ZHpJUXhzQkE5QytLa0NJbEFCTEZUZ0FlR2RaSXhRQnNvOVYySUNseUhJWGs2d2dSYWM0QWVBTFlRK3F1bGZCaXlnSmlVUWdnWU9xZ2swbUdERWpCangyVFFiQzdmS2M0TURtQlcyVE9YWlhCUmdWWjdpY0Q3eW12OEthSGJZR0o0ZThSSnd3Q1h3TEtFN01VNTJzaWVyVGh3UVE2NnN0aXd4THhkRVVPbURIeXJ3SEdXY1NLY3RScVNSZFduZGtpOWtGeWVmUlhsNW1JQ1ZGYmE3cUt3QXowR2lXRWNwdWxLY0xPd05MUzN6U0RVd0JReWttV0VXczNlZWQwS3hGNWhndWtWUjZaM3puRlNkUGpJeGFiaFFFZkNRU1NNSXRRVHVtMEVKdUxOVVVXb0pkZE40QTZWYkVKTUJSYUdxMWtSQXBqVk50Uks4UUdkOUlIVUdKQXpobXRkOFU4TmhOYzUxTEFzREZNQUhkYlBjUHVpV0s4OGFZQmJNN1BrcURCQkNXZ0NLMHd1SUFnNGNDNFVmdHVHd3lzNjZEbVhBN0RUZ0lJUTR0dkV4aFdtNXQ3cDZIejhvVUNOTFdRa29lQVIxa1M0dFFpOWtEUmoveUVDazZWNDM5SVRiT3hrOGhTcHVWRzdDaVhzQ0RNZ2czL3JXdHdiUWtMc05iQ0FBRHpGS1Y3Z2N5QTNjcHBDUTcyT1B1QUtrVW1qQTBlK0srSVV1QURQM1ZhRWtFQWlCRW5LbThaUE42ZHNBb1VZYVhwQ0FGOWhlYkRFcHg0VlFqUUpxanZnS1pubUNlSlZ3Z1lPaVlkWGIrdFIrTGh0WHR2R0tBWkdvbkQxOFhsVkdNTUpxeDBoNmNJNnVDZ1B3V2ptTHN1WVA0UERpZDNCQjYrZ3ZuR1FuMndabjQ5aWR2dFRXWEdkZDdiRVhRMEFDMGJhZEJBcnVjTTg5TVVHd1VsQUFaeTZSQnRXbEZSMWxGT1pRQWd0VElqdXhVV2FVY0hPa1poakFBZzZZZUJoSUV6eXdGeHJ3TVI1Rk1pWlRGVkRpQjBSZ0ZGekJaakJ3UFU3Qy8xNlFFWG9IRWhaUklra0tVQkpZUUFZOHdIb2Jsd0Y5c1lNbjhBS1ZKalo0OFFLbm8zdmNSUUJSZ0FnUnRnQmJ4V21sUUZReW93QXhFQ2V1TVhNV3dBUEpkd3RqVnlyd0Z3c3FkMDIxc2d1UmdBQ2Nwa0s0cG4xell3dmU5d3E1Z0dvbFlFTXZBQjZOazM3cHgydyt4RTd1RkhhWVZVSEhaQ3A1S0FHUlVBRC9nQmtEb1YxemdpN2xJQ0V0bURxbmxFVnYwRVdBNUhmSEUwY0JBQVFhOENPQnREQkh3UUVuZ0FieWd3WmRsb0dncUlFc2NGSnR4a1k3SVdjYkFEUk1nUk1PbzRrRStIbU9aRkFKQlhMVDhJTnBVQWRSQUZRbVlZTXRNQU1LMEJJcWdCZEFLRGEybHk3aFV4RVY0U2U3TW1FVFpBaGlTQWhTb3dIQ053TmdVUDhCQ3VBRVUrSWFoTUFEWm5DRkYxUjIvREYvWktjcHI0UUlCZEIwdFpBTGF6Vml2VkZDSHZSQnRvQUUzN2RNL3hWWUM4QUFQcEJpNEtFZWNxaDE0NUFFWlFBRmExQUdkb2lIZUtpSEdRWi8rYUVyM2xKS1EwWS9wbU5rb2NRWmo0RlFBZlVHZ0RROHkvVVZBcEJ1QkJObll2RVFDWkFHUEdCSG9YaVNVcEVIR1pBQkNKWTdDL01VSW5VaUcxQUNONkF3ZXFjeGNrRVRlTUFDUnJPSWlkR0N1U00yampjS2VUQ05wMGRlcWpkOGZnQVR0b2MwNWlTSVRDVVFCSkJLWU1jcGhtQUdFOFFIZmtBRk9STURZS0FEVmZBQ2VWQjhHcUVCRmpCaHljZDhHdVkyMUxhSEF3QU1yNVJYQXdBZ3ZxZHFoZkEzNy9nTHJBSU1hbGlQZ2FYL0J5cUFBMm5nZGVUWGoxblhGeE9nSGNTQ0F1OW5rUFBYbURmR0g2ZUFCTFlTV3RtR0dYdTJGNmJ6bERwVmhPVFdna0J4SXNiRGJncUlCMlVVWFVDeFVTZkFGVEpoQWdsR2dDaDVrajNSRlF1REFSMTFteGVZU0YwaFZrc3ltZ2tIYndUWGs1NHBBeDh6akpiM0JsTlFsTDVJYUNXeEEwcVFjVEZDVUFXbFU0K3hMbE1WZEJKZ1FBakFBRE9TaXpQZ0JCOWlqVkY0U3p4d2xtb1RqbkhsVnZHWFdYbG9ZN1dBQUQ2UUMzYmpBNGhnbHhKbWhuNjRsNi9TQ3Vxb2FndFFBaW4yUTFObm1PaG5EZW9nQm5mb21CbUdRV0ZYYlVOa0J0Y21BajZRUkN6WVNBS1ZXa3ZWR2hReE5KM25FbFp4a3o1aVpRNVFSbWtBT2Z5eU1CMkYvd0cyMlZFbmNIZXhlWktWbUZ4aWtWd2Q5WkU4MFJVOFFBQkx3bWF1Q0JRTlJ6OE1NV2svdUFGdk9GOURRd0E4SUY0ZzRweEZKUVE3eVY1UUNhUS9zQ3R3TXdBMUlYd3ZBSjZHQmdFYWwxMENnQVptR1V4cG1VejF0M09QQ1k1OG1DMnZWQXdHWUorQmhaZkpFV3U4SWsvQTRCLzk2Wi9Pb0E3R1FxQUZlZ0k0OEFNSnFxQm9HcWlDU2lyNjBHT1dTWjBOOFhaelVqU05OaEF5WUZOQVVTTThhbVUzWUlCUVVSWmxWS01MNHhHME9YQXZxbTg4MEJWcEFLWThRQVZwb0NOLzlJQmRrUUZWNGpCckpCVW1vS0syVjZ1Mmx3QkF1RWhwZ0tGSGluRXpjSG9WUUY0T1lBTkZsUWNPb0YyeCtKQkJNS1Z5bzNKUklYd3hFQUtGVnY4U0g2QUFKbUFHTEZDZUZIUUxyd1pYMGVZZkM3cVd2OUZYWTJpWEpxUUk5dlI5ZkVrTGQrcWZaaEFGemhDSGZKcDFWckFFaGVxWWhEcEVCcGtQbmhVZ3ZCb2hGMHFkSFFjU3NycWFHMmtVSUFBVG1Vb1RHMlZ2R0RBRkpXa0NMR0JTcUJtcUdhZ0VIV29pYm9jVEc4ZXd1N21LTjRrVGlIY09sZUJ0YnpCNzViU0RoeWl3TXBDdzdsTUROT2dCZnVDcjZRVUNqZm9ZbVRrMHRoS25Fc0FBZkZCNlR5Q3Q1QldzTXhBRldsV2ZhR2tjWW5kQjNLcUhtaUovemdGQ1crVUw1T3FtaGJBUGJ3a295NEJDdjNCMHZhY2JhK2ltMTJRQmJDQ1k4MG9OTE5aTmFJWURzbmF2MEphdkRkcWcyMmNyQXFJMGJjZW9BdHRlc09rU2ZrZi9iNUpJQUxtenNBVm9KVjRFRkZLZ0JDWnBzU2VKVTRPSk5DUzZFeG5RRlNVSVBiN0pSekpBRlFUZ2FIbDdKMFJ3Zzc1b0VqUVFVWkowVklRNE5OUXBBOGJBSHhaUUV6RVR0Q0JTQWRXYUJ6eHdYMG1MaGZyYXRNcDBXZkhrbG05cEsvWVVuNmhTQVAxbHRZWndIU0xtTjdsZ0M1RmdIYlBBSytVNllucVFqK0F6WDN4S1RzRXloTmQ3SDI3N2ZuQzd2WHlZQ21ZQUlJQjR1Z0didHpMQUFpYTZFeWFnYmhjamlVUkFvdWw3SWhNd0JWQXdtQ3NRZ29vYnFsRGdlQW1nWnJpcGdUanhCcXZvbTFhU3VEdVJ1YWVyVk9ZTEFrNWdlcUQ3QUhsUVZLNnB3SjFaQ2FrVURLandhVFlRTXlvZ0JLL2JBOS9wU3NGZ0hEalhyVzMxLzczZmlLYkpFQjBJY0FVdWZBVVJXcGYyQ1FtMmhsOEFraHlyY1FnR2xGY3FaTFVzOUExYzhHS0dlUTNHS0YrTUZTd3lVQVp3MExiN0NtMXA2cjNTdHJ1SzRBT2E2M2JwWXI0WlMzQ1NDRDA4TWdITlJSTisxMUdPNTNnbjhJbjVDNHJJSmdNcjhDSTRrV2ZydThWYkRIa2xFeVR5NDNEN2c3UG1Td1FPSUdoRFcyZzI0ejVQNEFlZnRMbVJNYVY1RlJVbUVETktRQWF2Qzd0aW1RZnlpYnNuTEs3cSthMWxWMjM3Y0FXaFlYMkRzQThGNE1PRUFDQW9Wd2haQTNicXlBaDFLZ0YrNDJuUGU1ZGlNS0RVbTM1cmEwNThvUTVsc0lQdjBFNVFUTWxOdk11NFFNVjBValNieWJJalN4TlYxaU9DOXlKazVrYjNOZ1VzTUFWWmZQL0dGbXNDTUFHVE5GRkd4aU40VGtGbXNrckJrZW9FSC9BQ1Q2QUVlYUs1a2ZxY3YvcTZPNUJvR3pkS21ydXN5NmlWR2hBekpiQUQwMm9TWE9vRVZRTW9UTnQ4VHd1MWx5eU85bGRNdC9hOERMQlZvRXdvZm5rMjhpbktxb0VjYytsejV6aktkbm1QUGdBSEtockw2UGNHT0hETGIxQkRLYWFuNm1DdnZxeXZKUzJvNkxvQ21zdC9zV2pBUVBHaFdxRVVxempIQW9NVFBpSE5PRTBqRzBNVHQyVmw2N2JUUWtKUWRRSVpKdkJ5WFdrQzYzVzZRYkFId2plREpvRUZPbEI2Q3RBWUhlZElPNnVWZWZCVEpXQURqUXk3Q2hBU2tTQ1hXcWhadXZ0T0pqMm83UmxydDlMS3FZWnExa2NJVi9CMHFtWlhCYTFwZ0dJZG40VUV3VmIvMFhvd2Zsd1NMQm9kWTllZ3AzRHdBKzNYQmFHRkJDY2QwSXV0b04zeUxReGl1bzlocEp4cnhpNUJNY1lUZVFrWEU0bExCU0RqMGptTjArbDJ1UzNTRmF1NEZZTWtKSFJSTlBOY3ROQ0tZTWlhUHhjZ0JPNWpjVTg5QWttcU0zNXdBU3hETkVRVEdWQUFiS3hidEh1Z0EzMXNFbERvQjN3d2RBbzVUSnVTT2JObTF0Rk5xUG94VGExc256Q01BRmlaWDdzeWhwQmdETWdoR28xaURGalpHMmFBS2dhd2puOVpBbXp3RVlYVFdGcUhBVnl3QkczUUJqZTBWNDBOME52YnZaYUZydDdTU0VwVkRaSXRBOUg4MGw3OEZUQ3dPMXhoaXFVZ0JSVVkyaER1UCtsYkV3Y3VlUXJ6WmdZRGkvbERBT0gxQVg3UXdBcUFCejFGd1k5Ui96QS9GVlFnUWdOL3JFbmNvV0JLd0FJUENSQ3BkQVhEZlZRZVlHZ2ZITUtzZEN0TCt6Wm4vWmpQbmRiOUxkY0p2ZVBweWdCWkk4T2tiQjM0RlN2MWVaZEQ1NTk2WUFadzRONXVaM2djelNWQ1hEZzcrR0p1NEFaY3dBWS9FTjM1cmNMNGVxWnZpMHo5R2xxT3RrTkRVOHhBZ2RrbXVEdVdXQllSZnVkVVVTTzdFMGZUVXdxV1hST3hUZUF2dHdKN29BSGhuQTNlSEFSOTBENU8vYnArTUkwYk4ySUp4Z01JWmdIYVhSUGhkVlJEUUFOZHJRQUtFQlh1eUpnb2ZKQm16dDhhZEllNVlpc1ViYlZEMTFuR0VBa3J0MElHUk9UK0Zlc2toaXA5WTMxWFVBSmlFQWQ3a2NSSk1GOVpMbDlkWHV6VW13WmMwQVpKMEFYTFYrWW56ZitldTh5UUs5Qi9SQlkra01FaUJ1T1JXWkhnbTAxNWVJNlNDWllCYVBEaVlQcm5CVnRkS0dVbHNwc0c2V0xaUDBvblJDQkpQYkFEZGZCeU1aSlVQUWtDdVYxSklJSUZENkFCUldVRDk2amVaME1Xd3JkeFdvRGpyeHNCTXhBbHZvRXEwcWN0elZnSTVybUZseU5FOWVlZXlIQkUxakc4WXB2RGpMSmZQYmJRRE4zZDdEakQwT2RwVnhBRnlyNVkvUGhEdEV5WVJkcE5ILzBDNlhDZ1hmQUR2RkpCdnN6ZnptNlFFZW9QNHVOMlVTVWtQSkFHRHk3blByTHRObnBIZWVCSlNzQ1NHckMzT1kwR2FTQVdZK3g0V3dZRjlMSThhclR0UzhGSFU0QUc5Z1lqY1NZREpVQVhqc1FDNWdNQldwRGJHNGZ2Rys0SEo5N1ZOdUNyVVJML0N3eFFDcmxvdE5MYTFkWTRBeUhCQ3hCdE9UNnJrd21Hc1VMQUE2R0JsdTRacU9rSlQzNkkxejMyakt3dUFrOU9ZdFZoK1lGRmw5ZHRUWDR6V0src3AvQXgrcmJzSGU4d0ErcHdRN1VxVG90VjJDcnd5b3NGRDU4eHAvSDM4L250b0hoNGJmOHRHVzRIQUJlZ0FTeUF2d1dvWmpZQzAwc1BGeE1BMmxRaHNTdWdiclRacVJWbzdpZVpCN2RGeG1rUUJmVEw3bU44MHhGakFna3pSMHF5WlFOVG8wWTdxVnAvT3V6RmxUSlRBVWs1QXluZ0IzSS9OT2JRMUkwTTFZL3VpeG9BZmY0QkNIbCtKVE1yZmhvVkVCV0xqQlZqTTFGK0RCSUlJZ1VJQTVrRERIeCtQQ1ZwTVI4Zkx5MHpwek1LTVNvOGZwSVNtcHF3c1ptekE3YXgvd2dGSWdnTXZtWm1EQmJEeE1NTHh3d0ZCY0xGQ3d3R2xzWEdWd1pYMHMzSUpTcGljRGc0YkVzcVNobzJPME1LY04xY1VGQnAzU1FrQ2pQZTlEaHdxZkIyT21BNEtnOHFiWkxVWXlPbXl3OGtLRERob3NXd29jT0hzU1FzaEVqUm9TNFJVSUlRQ2NMeHpRa01IRFpnY0VYU1ZaNEpIQ1lrU0JCRlNZSUFBVGpBQkpDQVJjbWJPUDNJQ0puZ1JCb29NcVpBQVpsZ3c0UldPWk1xWFdveWpWRW9HYVRjeE1OakNvYVZNa3d3SlRsbEE0QUFOQU1rZ1BJR0s1cXhKZlBJd0tDaHhKc0pHeEp3eUJoRVJsMGlUazRacWJCSHlTa1ZmdERJc010UlJoRkNDc1kwV29RbGhBbDVUL3dZS0lCQ29rUUxmb1RNaU9Gbmp3NHNpeGw5bVAvUlNtS2xBclVzbUZDaVlyU0NVUjlpdklnZG8vYm9VeXN5dUdKUWtlRkVhQ2dXRUR0MnpZSXpZTUNVTVpQMnpNQzFZM3IwRURlMlFJOEZNeXFXZFBzV2J0eU9FQ00rVTZCd1p6dzZMaSs2ellBSHp4c2NCZXpqSzVpUFEwRURPeDBlT0ZteFJHQzlid1VkbEpBc0V2Vm1JRVVUSFVoUkFUN1V4UkVBSFBTVXhoUWFzSkFHVXE1SU1RRVVHbHpGZ1JJVEFBQWhUQ2tKc3BVZkdhU1J3SVpvYUhXVEJrcDR4QUVhSjlhWUZCNHE2b1lUSGkrbTBjSUpMUERJMUVrdjBRVGhHeEcrNFFvUEp2cVJoMU1uTkRuRlNuUFZOVmdRRHVTbEFBMGVESUpiWUlPRnFRRVA4dXhWQVdpTjRLRkNLaHJrb1lzQnNFamdodzJ6Q2VJQm1xSC9SVEJEWkdiY2dvSWxETlNoeEJNdnZQQkVDVXE0NkNRUEd1emdxQ3RDL0NEUG5xM3djWVdDdCtDaVhISFNMSENSQ0piNDRNTVZ3bkhhNlE5SnRQRURDbGRJdDhBVlViVEJoamZncUZBQ0QrQ0pOOTU0ZC9UYXF3dnplTE5lZlBqRUI0ODg5MnhYWHhia1ZhQ0REaW1vOEVOL3l0SkRrRUZJS0ZSTHBwZytsR0MzRlZWaWx3dzBKWkNHQmlTeHNNR0hKYlhweVFrSnJKQUdEUFNDbFlBU0o1b0FoVnhvTk9rSEhrS21CUVVIT3Rwb01CNWxJWFVEQVRBMUhBQUJBb0FncEF3YmlJU2hVbWQ5eGNIR0twMmdLRWw1dkxIQkNlaTZBb1FER2FqRXdSdEJzTUFEQXd2a0VjTU1WVlF3UkI1NXpRQllCbFFvZ1FhVGZzejhRV2dWLzlDZ1JkQ0YrTUZITWdZTVVJZk1NNkQ3QUExRUx5S1BCZ3dnSUJFU0JqQ2doR3dxQ0lISGR5TjQ0TUd6aTBDQUJSWVFiS0dGRFU2V2NKc0tndkRtMExkeFZtSkFxYVo2NmdNQ1YxenhLUUo4bTJxTUdQYlF1a1FYM01DUmFoUWxQSENBRGhXVXR5c0ZEVFJReFFmenpaZUVQUFNnZ2tybjhNVXp3ejN3Qll2RGVzeGVUZ0VXenc2aG43UUJWVXRyZ0FnbHBIV2NCVzRMN3U4R0ZxQUNFVmVkRUVVZVFKUTBKUWNYYzlVVFNCeDhGZStKVTV4Z3Nja0NFRUJFQUVGd0h3QVJBampnQ2hRbk5HOHdVMTNaZE1QMkRyY1Brd0E4Wm1EOWpGdEJzVUVBTU1nVm9RdzVkZVV4U1VXQUNRRnU0QlMyQ01jWGZPREJLV3FBaGFQbExQOHkxaW1WSDU2UUNxSXBZa3luRUlJZlhsV0FLL2doTDA3d1F3andGSm9hSk8xU20vRGFDbGFnQkJ1RTRHeHFZOXZhU0pnMlJlakFBd2ZnZ1JOZU1JTVBsT1ozZndxTzRZWnhDVmN0d0F5NzJOc1FoN09FR1RRQU5wM3J3UU5HMEFGZFVTQUxtMU5BRWs2WGpuU2NZb3Z1Nlp6b1RuZTYvNnhPak1VaVFSWjY1YnBkM1dGdHp4cUJFSlJRZ2hXMFFReXpNaU1jMkpBRU1TeEJWQVpBUXU1UVFFamRJUUFUd0V0a0pncGdBQ2RzakFVWGVKL3lWdVF2azZEa0JCdkRIOG5xaDVWT0FJRmg3bXNmL1B3d0FReFU4bnhKT2NrTFRBREtVSVpTQUU1eUNydElvb0UzRk14SktLSEp4alo1RXhOWXJ3UWtBVUg3ZEhtRlNWakdEeXYvNk9FaVF1Q0hOZTBwRHdzNEpoVXF5QWdJMUlBR0VJQ0FEdndRaFQzNVlSaG1TT0JtRGxFMTBjeEFON2RRalFwV3dJTTlIT0JNYkN1bkJkZW1UU0ZRY0FaSzBBTVFSU0JFdzExaEdjMHdnd0hNc01UaGxDQUpYUlJkRWo3UU9qZWlZd2FmKzBBVk11Y0M4dmpLQmFONWo3RTJHby81b0tLTFhrekZCekpuVVY5WjduS3dxOEFXUm5BQUo2UUFESnc3aGUzTStKOHVzdUVIaWt6a24zNlFBQmkwandEaSt4Y0dObUFUbkN5UEF6Q2dDYjVBTm9XaWtzUitKOERYSjEwWlNpSVVnV0kwUWlWVE1yQWk5bEhWbFNCbzVycUFPYjROR0tJa0dVRHF4c3lWRTRxbGdTU3RkRmorVkdBWmlUQUFha09yUUFqeWNFL0FYSUVTRE5CTS8yTFNWalFHRm0wSVNOTU5BL1FnTXdYa0FRK2ZrZWRyWHJHQUtCd3FNMmVTcDJZWDQ0RnU0dE51Q3FLRUNKQlF1T0l3QUFrRTdWUkJtM0VGNUNBQUJiU2IxV3VZMExvc3JOR2tKM1Zkcno1Z2o5Sng5TGNrZ0NJWTdmSEYxNHkwQWJ6QzNLUVV3Q3ZjamlkelZkZ2M1MGhIT2loK0k2ZUpOTUFMb2hmS0c3Z2lyUk9ReWsxNHNERzFRdUZGRzNOUnlJekNnejdFOWF2dGt3RmF0TG9VZGZuVWxTS0M3dzBvbG9BcHVNSXA1NzBKQy9TWEFQNzFFbDZ0Y0FCVmFUSUJNOVJWQWpIam9TSXFZSUk4L09BVXdLd0VFaDR6Z3dnc2dtb2Zac1FPbEdDb1BHQ21teVhJdzUza3FhY1FldUlKVWFoRENIUUE0czBtSWdJUk1FSVdTZi8zQlVWNGdBcGJMQUc0TkZ4YTB5NW50WDA3aHBLcnc0QW9hTWM5YWJTdGJkdDR1VHRrUVNBS2tMS1d0enpsNXZwS3VZN3pIQmU5T0Z5UlpxNEJMcWhvbFhITDVsMWxJUjdwYUJwMmZ4ZUZubElWbG42d24zOXZRcVFJWVNCZ3JqQUJTbHFSaDZGT1FBQUMrR3ArcVpxU2o5Rlh3QnU0YnlqajB0T3ZmRFZDTm5IS1dXOGlYMHdiMVNqL1VyUmNTdkJnT2VWbGFMQnp4Y3pPK1U4UGpzYkRFTUJtSWlaTUF4MllZQVV2Q0dFZUZQQUVQRXhOcy9OcFV4UldJSVFkZUNDYk5vYkFkTWVvZ0NVc0lhYXBVTUFETktDQUY0RDJGaENSQUc4UTRBTWxJdm5iNEQ3R0ZVb3dyVHl1TG8xcWJLaHVlUXVIS3VTV3l2RG1WUVBrd2R6LzhtU09jMG5ZSWhmMUNOSjdmS0NOdG1YQ3NiYlRCVVRPR1Z3cXNETlZ3MG9Ga1p6eUtpc3FXYnN3MlNZVldScS9NSWlRd2tPWkV2RStHaWM4U01ERlE1bnhvc2hsNU8yTEVCcTZNcEwrUllnS09ORzBIOTQ3VExrZzBqS2JnSm9pc05DbFhmZXdEc2JKdzJocUZtdHNVaTNXRmFqQkFZU2dnaGp3TlFZbWVFRFJKOHdJTkpsd0JiZU9BbmlLVmtPcU42SUhNZkNvb1NEbkJDVUlnUWQ4V0lBZlZxT0NTVDFoVFVyNGxtOHN3QnNEakFyY2VQLzJraG1nalNXWUczWEdvbTJYNzlDQWVUQTMzb2gzNDd6aDhHODJzOUVGWjQ0dWJDWS8waXZhVmo3QlNzTGY1SDd3aXF4ZzQ2NTBBSGtUY0V0WFhDVU5qdjR1SlQrUDhvWUIvNkRrY2tucXBRMzhjWnljUkNid2ZYM0cxMVV2OS9XRUJSdVQrRTI2c21kYWhrUUplTWg5VHd3dWk4eHM1c01QOEZMU0JERXpEeStpQm1kU0c5V3V5Y3duckVBQlBIam56aGVqTmtXTVJnV3NlQ2NOYWp6clJvd0IycWxRQVJXRVFQK2xoQUFDS2VBaFB2bGdJR0hBQWdtOFVHUjVONENHbzJRTWdCMWRnRkNoNDF2eElXWHk0QUx2bG5oVWRnZFZjQThORUlHTzV6cFNobm1xd3daZGdBTFkxbm5BazNDNGQyZCs0QlMwWjBrVG9CUmRNUmdpNXo2NlYxNnlwM3hMVlh1ZjFucnd4Uk16MkRBOUFTOU8xVXNjOEZZbE1XQlJrbWhmbFQ4WTRCQU1NRUV6UUd2ZGgyR3ExbUVmZGswZkJoY3Q4Q082RVFVcXNBUHhWRFdLUVA4RHFmQUVJNUIwSHpaaFZLZHNrekpHWTJRb1NtQWkwWVJ6d3FBRWJiZ0EvV2NCc0tBM0JKaUg0VllkMTBGdWVMU0FETWdlVWlhQmlWY2VDb0FEL3pZZVhKWUZBdmRiSGxVdFNkQUZUZE03SWdnOEtKQko4T1VITElkZXhUY1ZLZ0lTa2dZV0VISnk4T1UrSldLRE9hRUJFWUtEaWdaN2txWkxiSlVVTWhCZ0pMRUNHL0JXN05ONzdaTS9hU0FMRWJGMnI1RUk2MmNEZWNCREN0QW1QRlFGMlRSMUZUQUJWbEFHN0ZBR0xWQUNlR0FDWEJjYVNMY0lvL0VGMmNkK2FSTUJWYkJjdFJFRDN2Y0U0MmdicVBBQ3JQQk5DNkZ0bkVjTC9wY0pBRWdxbkhKa2VuaVAxQ0VkV1ZOdXluSUtnU2lJWEthQldzWUVCQWtQVERBZndNWC9VWlB5SDVGb0FOcFNpZGlGQUpqa1NqTUlCQ0gzUDdUMEJoNDNYbXYxaWhHQ1ZLeDRoQnZRaWFoWUVpN3hncVVJZ3pyNEZlV0NrVGtCYUNjNGtza0hFM0xCY1J3QWdrcklUVTI0TnJXV0J5VUFHU2JBUXhIQU50ckhRQnRRQm1zQUFrb0pCUzJRQm1jaWExMlhkRWVuVEl5d2Zvd1FBVEgxR2oyUUFpTkFCdit5QnpZQWs1a1JCYmVoQUNyZ0FQejNPN0FRajVtZ05hWVZKL2c0Uk1aa2o2YmlDN053aHlnd0xRb0laZEdXa0g3NWw2UWpVLzlCRU4wR2d1OElrZURDZWpDSWtnSkFKRmxGRW1LWkxpdHhYNk9JVkNsSmN1WnlTaVhwQ2xOU2s1YzVUUG16THZaQ01EWXlWRHh3QXp3WWlqT1JBQmh3YlF5UkI3djJBVmhBL3pXMWhqUjdNaG9Od0g2enVRRmNrSlJLQ1FJWVlBVVJZSldOY0UwMWdIMFZNQjlldHdqdnQxeFY0R0ZtY3pabzR5elFrZ0pERUFJbGd3ZE9jRThLVUFJV0FDNTNhWWUrbUNsMUZSRjBPUXkrd0FCL1pSbStVRkRxaVF2YVpqanE2UzJtZ1FJRzRIY3pKVHJVdFovVXBZWXpSUStPc3dRL1lBQURFb0tJS1lJUzRCS3FhUy8zUlFSK1VCWS95QlQ3NGxPVkdaSzU1MmVhdVpuanN4SW8rWmtPQXlGZVFSTzB5QlI0Y0JXc2xKcnVBd01iY0Y1eXQ0U0UwQUNnRVdzSEVKU2pZMWd4VURFYjhBSWowd1JyNEp0QllBVjdZWVkwZ0FVdVlIU0xnR09FVlFGWTZZOVZnSnpIT2FRek5KdlpOSnRGeWpZNk1BUTdBQ21yOWdRbzlQODc0b2twZG1WTTc2aHQ2Vm1tZGlsM1pNb002WG1ZRVhHSEpaQ1hqSk1FYlBDZk5GV242Y0FHZk9SSFBqQ2doTVI4RVhHZ2xXZ0JVakNSTlNkcGVFQXhFYW9VdmhROUdiZURIZ29XK1JOeEdyb1VPMEVsRnFwODVXVStMNGtTZGNBK05MR2dFYUliZFFBUjFLY0FSUU1hTkJBQ25xVUFMbkJOcFZBR1hCQ3JGZE1FUEFvQ0JGQUdWakFCVlRscnhJbHMyS1FJWTBCdkgyQjlSYk4rWm1pR1VsbE5NMVFCSHNCTWZxQUU4aEFEWGRvdEV2Q2xnSHF0Q3VJTXVmQmFnc1ExUC9DdDREcWczVHF1ZlhwSTJIcXVkN09ocmJkeE4wQjhOU0pmamZxb0h3cDdiREdwVElFR2FhQngzQ1d2TUJHcFNuSWlHSEFDUU9CNlhyR0x0eWovSkZuVEVBanhyRktJZmR4bmpCR0FSVlp3QXI4SkFrVFFBbVZBcXdDd0FWZFlCbU9BcW1ZWVR6UlFBOVpVTks3eEFTREdObFF6bTVtVmZWYm5qVlhIck13a0JVSlRCMnphRUd5SnJqbzdkemQ3TjVTNHMwQ3JDWFh3WFpqb01FVXJBQU5XZzB1aGlxVElyNituY1Jnd0JSbHFyemVSSWhvWGU1Y2FTdVZTZWttUkJoT0Ftak5Sc0E3REx5V1JJTXBRQjNYd0FsV0FCU1JyVFRyZ0Z6UkRBMVZnQlR6cW15Q3dCclRhQkRCd2hWQUFBQzB3Qm1lb0NFVUhZdUdvQUdaQ215cmJDUFMwZmxhWmpWV3pOb2pGVjV1UkJ6MUxDOE13cGtGYmljS1F1UWVYSUg3YWVVdjRWQjFLSWlWSUFDWEFQQ2RTRmd0YWlrOTd0UmpBQWxOTC83VTV3UU5Rb0JJckVSZElsWEc1bTFRaWdvUG1FcGszOFJiQ0ZMWWp0N0gvU2hKMTRLZTZVQUJER3dWYlVnT3RTZ05aTUFJVVpLb1E0QlcwaXJkNXU3MUVjTGRsOEFLSlVKV01lMDBRTUI5VlFKdFZxVGJZZUNiSHVhdWFCUUdJTlVGdzhBUjBHRnFaWUEzV3lyblhXcTJWcTcvKys0c1RWNEtrMnpCRVVEMnBoeE5wMVhxOUt5TDBzakVOZkxVOThRWnRLTHRhSlFVcnR3SnZnQUVUY0FJbkVDSzJTMmtFWnFrMDhRYkFTeEpSOEFLdHRMRWpsejlLdXh1MG9HR2RRQ1lOVUZoRFNqWEtpUVZHOENNbklJMVdZQVVBa0xkMk8xVFZ4TDVQT20vblM0WGtPN0xXZEt5TFFVSTRobU9iWXdURSttRWVvQlV6OHdUZkNaN0Q4UCsvZ0FwaHJzbkZZQXdSYW5jVEZtZTBBdndXc2ZzdVNhVzc1VlZlSERvQmJ3QUFHbHhLYndBRlV6QU9GTHlaVXFBQkpvQUhLYk1pVUtBRTBDTWg4N0pXRy9BR0Iwd1NaL0doWWt1VExsbTJzUkJFWXh3RGF6dUZJNHRtMTRURFJmRWplWHNDTUFERWEvQzlqREcrRVhDY0RlQ3dyYXF5TzJkTnY5cXlpOUFEa2xkdGF1aVBFbVY5b0xGWFBLUUNhVG1lRlVHbVlZeWdkUGZMd3Z3UW9TdGdvR2VaRFRNQlFxZ1U4dE5UOUlJQjhzS2hRQklqai9RdlVwREdlV3lEU2hBaFVHQUNIYUp4YjFBeW55UUFLY0plU2hGeUYyY2tCSHU4ZkJZTEFFZzRuUkIySzBzRHJmcWtzWGFjV0pBRzI5c0VmcnU5MGpnR1ZqbStzVGFiNnpmL215U2JkTWY1aFN2ckxGc1pkbWs0eTdQOEFST0dCU01BdDBxUXhiNVRoNU1BcHNNY0M4THd4UjB0ekhLU2lrVWJFNkhJQVNsb1ZLT21BUUp3QVVJaXlDc0JKQ2d5VkZCUXd0bGNrbWxWWUd0bnUxR1ZGTDdVRTVycUpKNDh0aGVYUDRtS3ZKcndKNFNqZHZKTW05ZkV1S3hNc2lld3p6QmdCU0c2QVVCYXJOdDMwRVZUZnNaWnBFL0t1QlZnQlBPaGYvNzRHdU80QW1VbmgzTWtoK1k0S1huVkdIQ0xOY0FUbjhZVTBnZFNyZm1idVorYlNIM2RFUDBiQzUzUXRSMkt6Q1JDVnYyekVpUUpNdksxRWpiaEFEUjkwM25zRkVKWUZxd3BmRGlCQmhGU1BsMHJ3SVdOdWtwaE4wb3RIRUd6SmRqMDFPT2J5Vlh3dzNucnQwWncvNk1KOEFJQWpYMEZQYktKd0xiSXVYNWhQYkkwc0FVaFlBTk5SNDZJUW44YTRDNG5va016OHhvZVpnTVVGQVAxQ3p6NFMzZDNqZGVBL2RIVVRkMllvUlR5ZFhHR0RTR1k3VHp6cFJUQTF4UG9NbnBCTGRrMitIbTZRU1M4dEJTYURkU0pMVmVXUmhPbXRCUjRjQ21WSUVSSU01ekdPcklHbldZWXhRSGJhd1hnUzM1RkNhVTFUTkR4aEhSVWN3QjdFR2htUjM4U1huK3VnSjdTWGFiRGNBVkRPd2lUVWdVZXNBZTVETkpnYW85cityTmhiRmVYZTkxNFhjeEpjUmFTdG9NdzBISXFIZDVMTVNVYnNGVGs4OTNvallwNUlIRlR3QUdMM2VJUkVsNDRvUUVkdW1nYnUybExBUXVNUk5vejR3SzNYVmpIV2MvUW13QmxjT1V0OFA4Q0F3MVBTUHpWWVozUVZzbTJ0VFltZEJSMkVEMERocUpCZW5DZXc4QTFvZXVUMVR0L3FUQ3RpVVNtOVRqZG5Dc0J4VVFNRzYzaVljeDhMTzdUaElvL1JwdlNya0FGSzZIa1MvRWtHT0FpZUxDUk8wN0JPcTdkS3dFRkQvZmlsSG5qSjVJSEEwQkl3OENFVlJxK2JKczVWSW81UmxBb2gxc0RON29CVFNybXVHMmMvbjJOenBJQ1QrQWFyOUVBWXdDOVh6QUdFZkFGaERJcE1aQmlBbWdjeE5Ba0pjQkRWTEFtTVJEWUNHSVp4VVNYSlc3aTNnS21kczduek02NUJ2ZlhkNE9ZMmIwVitkb3dBa3lhTHdJdlJGNGplSUROa1o3dWZDWXlIUERkVTlJdytkT3ZDWUFVWTdJVWVnQ1hTQU9qakt2YkxwQUZyWnBtWDE3UURaRC9zVkJRQmpGZzBEVThwTHZOdGhFZ0NyZmVBRHVISm5qeXExdndCTUNlQjN5d1dvUGRUYTB4QTlxT29CTHg3RXRrcGlRdnBtbks1bllaMGg5L3JpdFBDMk9jU2hvd01TOEJGaVVJQUJOd1N2N0R0ZXErOHlXWkIxQncxRVkrM3pOZklqN1B6VG1SQjJnZ2grYTYzNjhPdlM3QXR2MmVCZnlPejJxREFWeWdsR3ZBQld0YjIvaDhuTWRwQkp3elVYaWl5dVFINjRzUWpwc0JOM1EzOG1iQTRWRVFBemlaNTJHSzRlQm1wdXQ1N1g3ZThoQXBCR2lBQnBEdUN0K01BYnJoRWwrUmNlQnU2SDRnQlZOdzNqemYrRlQ3N1RRcFBXK2xJa1Z4OHlWUkZYRFJFeHp3QWhQQUdqUGc5ZEVMOEU2UFpnVTlCa2F3RnpXQUFWRHdtMFN3L3dFRzdmWEdPdVV6L05SU3ozV09tNlFobGpieThBTDQ0cDZYNENRbWR0MmxWbXArRHFoNlR4RjZqd0Fxc01FVDBERXkwQzhsZ1FhVU5pTkJqeitVMmU2T24vMk96MVdXeGwxalFURnpBUlVra1NLVlB3VVpZQUk4c0JNajh3SmE1ckRRbXdXbjdQUmozUUk5dkFFeGNBS3JqL1Vud0xZb0N3Z1ZORFV1TkEwdVdGZ1FOVFNETlJCWU5CV0tGWlVWRUJDVmtwYVZDak1LUEg0V282U2xGZ3RtSWdZTWZuNVhBN0N4c3JPMHRiYTN1TG02dTd5OXZyKzVDTURES2ljSmIwb2FHa3BRSEFrVExIaXRlQ3hUYWM4Wkp3QUJITnZjSzYzaDR1UGs1ZWJuNk9ucTYrenQ3dVJwSEFFQk1QSWM4UWxVNDFRSkNXa3M1S1NzMk1DaEN2K2hHZzBZMWNqaVFpRWhGd2syUUNHQ1lZT1ZNa1RXZ0NEeUlrYUxNaHVNRUVwWWcxQUVTWU1nSkJ6RThsSWlHcGtFWWFtVTZKS25EelpFbVNLMWdFRUJFY0lHdkJwR3RLalJvMGlUS2lXS0FFT0NFMHJJYVlCeVlzTWJhZUh5cEpHSUFRQUFlUUcraG5wSHRxelpzMmpUWmtpd0RVQUNiczdlakVQRFFTSzZLQnVlTVhMQk4ySERRUzZ5Zk5qUUJJVGhOVkJhdEdpeUJvQVZ3aUJrYkdnUTZlRWhGeEFjOGEweE03UG5ScGtBejJ3SndaTVRQM2wybnJwaVFOWFMxN0JqeTU1ZEsrZ3ZCQk1TWU5Cd1RzTUV1K0kwY09DZ0RRQ01lUnlncEYzT3ZEbFpFOHFrbU9CaHd1eUt0d0hZT3VPUVFaeUQzK0M4M3dBaDRFS3JLWG4vVHpUazI3RGszaXhWSUJzR2NRT0tGUmhOeXB4Z2JMaU1sNUthQWVpZURrT0VvQUYwSVF5eGhVeVpST0pDSlNmQlZFRUVuMVMzZ0NsWElDR0NDQVhRNXVHSElNSmkyMndqSG9XQU1SaFU1NEFBSUZ3QUJGYXQ4R0JNVk9KQTBZOXh4OEZ3QW05bFNTRUZhbm5rNGR5UVJJcUR4aHNUbkhCQ2tzU2x3VU1lUDdZanhRbkhjVkNQYmtLR2c5NEpXVjVBd0R4Z0JrQ0VBMzZnbDhBSFdTaUUyV1lMTmJEQkJJeEJVUVlHYXpSaDU1MXJFTURGQzJrMmhFVkptVFdVQW8vbG1IQkFUSnBVVmtoTVZjendoRFNtdExZaGgwaUVhT21sSHBaWUcyMGw0cVpiSFg1Y0VPWThCRnpRUnlzc1lHbGtBdDEwazEwSjcrUkJEUVpKMGpyQi93VC9WRmZrcm1laDRWUkVlYjJaV3dJeXhDUERXT3VzRlZZM3g0aGpRbFVBaFRycXFDRDRnUmNIN1QzRVhrbnd0YkNCUlJzQWNLZWQ0bFkxQVFRTU1YUlFJelJvc1U0SWwwZ0lVMGtSSVByQkRLZGRTTW9WWnBpQmdLUUdZQ3F3QkF5Y2tzZUZERWlRbEFSWFhLR3dVWm9Lak10MUU5VGh3SmZUemtPRU5IZzRGVzByR3B6UUtqY3F0Sk1IR21tY1FORlRHRGpUVHo4VFRKRWxyelN2TTRVemVXR2dSQVpQNXFHTUgwcjhwaHNMTTZOakl6Y3dKRENGT0VvazhNS1BRR1E4YWhBM1hEUEJRd3hkVmxKRERTZ21iaFBHMlduRjJJU0JrVVhXZkRsU0FhR3Q5QUVFZVNDUUdVNElpanppU0VLWlFBTEJKN3lac3NEZkZxQ3dZZitsSDBaTUd3TUw4SEdPQlE4UEk0RUY0dkRCd0N5R3Y0WkE1VWtoTUJ3QkFrZ2RKZ0d0Uk9HUE9IbTBESU54RStpYWpnWXk1SmFjRkhsUTU0Y0dHV1RRK3N0cHFGN3o3dVRJOFBJS3lKcGpZODQwb3BQSEJGYjJnNFk0NklWSGhPZlREdGNBQlRSc2RuY1dGTHhBMkowZmtYdDZDd21jelZCZ2hXQ1dVemczWVB3NUVPRnNBVm9rZ2pEQ0VoYU5QcUdUYW56MGE0WUZXYVkyMUdzTUt4Z0RFdGE0cFRCQWNlSzV3QTJBY0twV1dHQVlyQ2pIQTJWRHNJSlpZSUFPb3h4c0pLQUN0a0J2Vk93VHpnU0s5Z1pXSmExNDV6Q0JES3FpbStDUkl3OHNHTllFMk1ZNzNxRWhJbEJwaFFNY0FBUWczT0NIUUNqQ2kyWjNIZUtsbzJuL3cwbEFkOElCaFExRXdROVIrMkNZM1BJR0hiUUhNRFdnUUJhNkJvQTY1Y2NLNDJvQ1I2eUFKall4cEFJeks4THpQQ2VBVm9RQUpaRm94RXIyUW9ON2hjS0NwRUNnOGY1bkZJTHBjUng4WUp4U1FJVSs5WDFPYm56NFJRVE5NVGxkakFoekIwUUhIdzUyd1lRVkpTakN1TUx4d0NKRlV2bmhXU01VUndtZGtZWjBtQ0FLTE1RQXJQekFReC8rY0lGRmtGc2VoaWVYR3RiUUJMbkpuUitLWU1pTUVVRUFSZEJBRkNyaWorV2RZNVFKUU9GV250aTVUb0xKSDNsNFFIditnaEFhYUs4TUlGRk1HSnRna1RLNlFHdUVpdUlIMlplSEdIeUFNalFZWDBQNnhCa0YyRTlmRnZpak9pWllsRVdtSXc5OEhBWWhXZG5MYWQyZ0ZYbm8vNFVFdlBPbE5yYUNBWmo3UmRIYXdiaUUza0lZa0Z2TGNadzVEenhJQVhuQnU4WlRYRWk2S2Z5R0F5dFFnZ25TdDBiUFZjc1BMRERHeDJ4Sk04bHd5US9OZE9Zdkx6Q0ZpSERnRFRRTUJ5NzdzYlJ3VkFRY0pYV21NNktpZ1Mxb2tSQm5DOHdISXZLQktuVHZUaWV3UWdzT2tkUXRQaUFjRG5EbVNlLzFpV3d4NGhBSCtjSU1ZRFVLZWZyQmJSY29qOXpFVVllaUxGU0hhUlhBUDhYUnlHRkFUb2ZPYkdCZGMvRkg5WjIwa1E3VnhRTEcwY29lR2hZSU95U0hCQUpMaXl1RTR6cmVvQ2dRUXBhQWxiYXNzdWRRd3E4d2dJYjBVVlJNWkVKUEtGbEtzNG9vcDUrZlRScEJWbW9rWi9RVU5SVXA1YlMrQXIya2xiSVZRaGpEWnY4Q2N6WXRudTBESHprQlNLUmFoVFFSd2hCZ0VFZE1wemFxSXJSQ0NUR1lnWFFWUUpLdnVnY0xDbmhCSHZnZ1R5RDAwNkRpb0tjdkJpc09QQWdncUFFSWdnQmdKTjVlT0JhZzZQV2MzTnByaS9maUZVeWc4OE1DZ0tFcEJDelN2UEVkRlJGTzJvcEUrZ0lCRXRnbkQ0WlQyNG1HNlFJTFZwbzRuRkxMRjVhUVZaSDlMSmlBOEt3RUdKTzBSUkxPQmpLQVdnM1RveDlRMEIwVG44R2owbTBBQTM2WUZnd0lBcjJucU00R0hzRENGaHR3dGtQd1dEQVc4VllDZnR6amtvUWdISDNJR0FIK3VhSjVFQmcxVHZpQUoyYndBZmNJaUg1akpVZUpBMENBdFI3MEYzY05oemlWREtPOThrSWNxQVZtRVdJS1hnUG5Jc3hRL0J4QWxUTC9zK1YrRUx4K01QTkRIemVPVkRsNHRqY2ExUVdhaGxsVTJiZ2NHWENLcTB3OHJTSXNFOFM3YXRvSnRnd21IQTNuMGxZYXp1bVc5UlNaallNSC9VaERscTZUQUEyZzF5MEorUE9vaGpxT0hlaGdpK3BDaVBnYVVJVXFFRmw4Q0ttQU9FQXdxaTZQb3c5ZWRwWVM3cVdBOHNudkVmZ2FCNlhGQktOV0ZEQVg5bTNGbUtXV1gyZjdJc3lpNnJXWCt4REx5TzJpYUdNbVFqaVVndWJQbXNlQmpoeUFQY054alF4UDBSbXFEa0I5bnNLakNDdG5IQnBZQWJ5OVVvOU1ZMXJUbTRZZUVYeFhZVWc3eDBZVHFHMC84dkl5VFYvNlNxeTZ0RzQrakJxTlJ1dUdUdXducXVNOUR3QnNRQWJsQ0VFS1hNQ0VQdkZXZkNqbkxVS0dVRzR3LytHWmtWY2dMMEJWSU4xQ0FBZ21UOUNkbmJuY3l5ZUxvaGRGeTRPU3AwVmdOK3Rpb09IbzVjdk5FVkJkakNQYzRWanNVWkRlaW1VTE9CejBIY0RsWXNHQXQvcmhvcHdjMVZkWWxiRnNOQXUyckFwZUhxWmdESWVic0I0d2lMdkVHNzdvakxrbGRRWWZVcXJDUHEyOG5NNHJIelNPeTE0R2habkphQVBoS2QxVGRuN2lWRXR0ZE9iUXdCQWc4TTBHM0JybG1EOXkyMFlWYkhMc2wrdmlXSUYwRFZLSUN0UkFDTjRSc055V0srNXg4SUxxcmJDenJ4MkFYdWQrZVJlTEZIcVlsbTZPck04QzltY05VK3Y5SVBWTDJ0UHFuTCs5Qm9YaTlSaFp5ZTdiOGFYdlBOeUtEci9XRHp6NFZjVC9EajJ2ZUFYZW5uTUxCcHFmOTdKRTJQL2RVMFIvSjhmZWp4U0Znd2N5VUYycU5oQUVxVzA4WTg0WUN4NnNrUVlaekV6eWxHZDVsemRyTlRBejRkWnNua2M1Zk5ZS05EY0RCdkZWbWhkN3lSY092QVltd2FabnRXQlBXU1ZuU0daSTFXWjB1TEJQMDJaNzZ2QnN0UUI4U1JZbTRaQlBtL0pReHhjbVFIQUJMbUpZTzdTQkFkQkFKamdBQ3hnalVQQUdNa0FvTm9KK1k4ZHhZcEliTUJZT1NyQlNTckFkVnFKK1V1U0U4NUEwOTFaK3pYRU5STWhvWXBkRUdNQlJJRk1YYVZCaTl5ZDJIOWNLMHhjUklJZHZEMUFCbFhkNURhQnI0WkJ0bm9RT0dDZ1U0VkFDMGxWbE16RXplRUF0V2dZbWN4VU9uL2RtdXpZcURSUU9SVENCZWZadEZJaUk2T0I3djBkWW80SVZWOEQvV0xiZ1grSVFWSVZJRHQ3RlBubTJkVHBJTUF0MVVTL2pmcHMwVytBbk5VVGdERTlrRGl5d0hWQ0loWldXZGxUb0hPY0hpMkpuYVpqR0tqOVlEalp5RE9IWEQvSEdBUk9BQjhmREt2MXdob1VpQkRyUUpnTFlBRnVnWEJ3b1NSZ29BVm1pQkhjWUFUb2dEdE9HZ0RDRlgrU2dpRWtYalVqR2g2M1FWcnFnUjNhV2lZeTBDd2dRYmF3MGdYUFlDd2dBWjBIVmVSSWtBUVREUCtjZ0JVNGhNcGpWTk80MmhOQ1RHenVDYU5md2IzRUhlTFlZSm5VeGhiUElIRFhsZUFzNVk2bjJieEozQXF6MVNjTUNoYWpHZHdHd0FXaGdBc05CQlJtQUJ0ejRRZ21pQXhQQ0JGY1ZEc3ZGZStXUUJ3VzBkWGRWQWxPV1hDNjVlK1Z3QTJBUy93UUltSU96VUY2ajhvZVhLSTdCTUFEUUdDYnFXQTd4S0NKYTU0NDJPQTl5ZzFBUGhVbGFKeUtZRkdaN0dDYjJTQTVtbFVJWk1CVVNsZ2FxRm9aU1l3eUY1aXpORUhHWEpqSnhSM1lMT1hiajk1QkRVZ0oxVVhmT0pIamhFZ0J2OEVzb2s0dkdlQXcwUkJmQUNEMTN1V3E1UXh3cTFnNG1JQVM2NDRIazRDVUVVQ3FSWTRMVUdDTlBFQU9uRVk1K1dBNVJTWUlIaFkvNDJEQU00ekFFSXc2SHlKWGxFRlREbDJlaStacXZHVzEyaG9DU1NabWhDWnU0dVlQM0JTWU54RGlpYVpxeG1adWoyVEI2U0lpOHdnSWJ3QUlhNEVHeHlKeFM0eklPK1Z3RTZUS1hoZ0VzY0FGcUlBTnZBQmZjbDFvb1JuNTBhUlk4TUN4NGFYZFg4djh0VDZFRVJTQU5KWUE4TDNNQ2FmQUdWT0VNSjBCeFFPTXlWOWg0VStSaFRzR0ZaaEZVMVhaV3ZVUUFKOWtPOVdnT0pYVnVaZ0dINlhXU3ZkU1Y2akNiV1RHZ0Jib09VZG1hUTdLVllFSUVCRUFFSHJwZXplRTdhTkFNWVpJMDVmbHVLTlpzZURCOXlURUZVSUFCYVBrVS91Y0hlQUFFYTlrUFRSaDRWOElCMXhlZXpwRUhLeFFSMitkOWNRZHhUeEdmTEtBckpxQlJISUFCVVJDV0xOQXlFc2NCOWttWUdCWit6bENpRTFCQzlva1drRGtOYVhZV0tUZ1BQbWtPNmdPVDdNQjY1bUJubkVnV0VrcWpBWWFtNmhDVkFacWhIK1J6WjVFR0V5QTZrZlVWcndoeDBla0h2WGhwRXhCL0pvQUd0L01NeGNNRFU3QUNsL1YyZjRmL2l6anFKRDVLTXhwZ0RUSDZMZWlKbzRWS1E0cW5xQ3YyTWpqNkRBdkZBeHAxcFZLVE5KSDFGR2ZISEY4YVoxSURvZWxBcCtjUVV4ajZEc3RWcDR2NFlHYlJTMWpCazdGcUZyUzZLeG9xTlVSNUZpR0RQQTVXRDkzbk10QkFEamYwRkVrRU15MFdCUzdUcFJtQUpLSzZyU3dqQTB0VXFidERPOVV3QmNXQ0FXbXdBbE9RQVY1WFU4VFJZaGQyQWpLQUJyWGpLM01KcmFjYWNMTzFBUk5sb3R6UkhHcXFRODlESDRhRXArd3dyT1hBb0V2WkRpOXBEdE9tb08vZ3E3czVMUTdyRGdaTEpNVWFBQUtRc1JrN3NXZGhJd3kyTEI1WmFTNkRrVjZIQmpHakFUekFBMHFnVVNlQUxLS2pLZ0dCQmk2YUJ2M0hBbFN3TXprRnJ1Q3EvMUhJdUJiKzRLbFJVZzdVTUN5cDVvVE9zQTFKOHd4QjY2V1JHQTU0Z0JWakpxZm9NR2E2S21Zd2VCWUR5N0NDMXF2R3FVUGxnUWVHSkxYblVMRjJxb0pGWXBmRGdiUW4ybkhVQ1FVNW14WGtrRkxBZ1JxdTQ1ODZlN2ZzMEVRY1FDaDVzQUtGMXlOUjJuRHE1eFk1RW1wTGF4WjI1blZrMnc2cEdZZWV5YXRjQ3lZRUM2dGd3ckhzMEVzSjI3aGNaaFpqaXJHOGNyRUppeFpMS0RMZngzR0NCek83YUg1UThLMWw4aWFMaWJld3F3NUEycVhMOFpkQ21xTWx5aGFvTmdFb1ZCWjJabzk0VUg4YUk2emlPQTZhSzdhMUdpYkhhclZoTXJucThLQkNLM3huSWJ3QjRMeHBBYnJPSVFYV1dyUUptWDVHYXAySHV4elVZTGV4Vy8rK0lBWi9sOFZ3M1VrUGNoZHFVQUFGTEVDK1pncENDTnFUeEx1aDV3Q3NqdXVta0VzTytqc1B5M3U1OUx1YVNsa1d4V3E5YUhHeDRDbTdhRkFOdDlPRUFjZHZnOWVrcTd2QTVudkJwUE9WNWNzRExQQUc2YXUrWHdHWU9Jb0JuaWJBVjB2QXZGa1duUnNBelplclo3R3c1Y0Nta2J0aDgwdkRaSEhBNTFDaDYzQ3h5SnFvRFNjeVZtS2tyTEtsOGF2REdIekVTSndPZU1BRE10dURldm9Db21xUlpxaXdBOXlIbGZ1ZnpWdkQ4NEM4NXZDL1FXQU8weUtyNk5CTGJhcHNXVXdXWXphNWgyaTVCcXFhT1p5d29zaVcwOW9QUzNLdU1qQUZ5V0RCU2J6SGZIeFA0b3FwM0NwaGFWckY0eEJVQ0p5OGJpd08veHNBYkd5aG83TC9kRHYzd29SY2xGZE1GdjhMQXNCV2c2ZHlNV0tDRmtFbEpBNVFCTEx5dEtGOEEwUVFCSjMzcVZGTXdrcUFCaHFneDMwY3k3TE1EaHBRQWl1Z3AwUU15MzVRZ1JZWXZmMzdEb3ZNWlp6WVpGMkx4Y0lYTjBCd1h0TlN0WU1jSnFEcHRPVDREdE1HUFY5OEZnQXFSYngzcVhxYUJ2RDd0clA4emVCc0Zubnd1dW5BeS9PZ2pualFCNHZjeUVwTWJRSEd6TzFnenAzRXp1bGdaOCtjem90OHlESDVXV0k4eGhxMk1lZWd5K0U4MEFROUpQTHNvWlBwb2NZcXlSUWwwRUpMdlozVXorZkFvR0xDb1IwYVlOVnJ6SjMwek83QWVOQkRvQVVkMGlLZGQ5TWMwVXpiU1dWOEZzSHNPU2t0ell4R3orZUFmSjNNMEJTbHp5Tjkwemlkd3hZbGZXZlh1MndFRUxwbFFkRyt4TkV1YldJQnZBNHJ2Y3dTZlE0N1RXMUduTk5RSGRYdUFMYWZ4Y1hxNENWU1k5WHR3TW0rSkFCQTNRNVUvVmtnTGF3S1pGaXhsQWVaL05UcmtNd2EyOVlhYXhpSUpkVnlQZGRvNFRZOUpFUVgwQ0k5ZEFObHZkUmduY3dXSFRjMDR5VnJ4S0VYb05idFlOZEJGSU42N1VOOTNkSjBIZG1TUGRrMzdRQmZUZG1ZbmRtYXZkbWMzZG1lL2RtZ0hkcWlQZHFrWGRxbWZkcW9uZHFxdmRxczNkcXUvZHF3SGR1eVBkdTBYZHUyZmR1NFBTU0JBQUFoK1FRRkF3Qi9BQ3dBQUFBQUFRQUJBQUFIQTRCL2dRQWgrUVFGQXdCL0FDd0FBQUFBQVFBQkFBQUhBNEIvZ1FBaCtRUUZBd0IvQUN6K0FFc0Fkd0JCQUFBSC80Qi9nb09FaFlhSGlJbURGNHdYZndLUWlwS1RsSldXbDVoL055QlRLMmxMUzIwWUsxQi9qcG1vcWFxcmd6Y1phWEU0T0VsdFAyMUpjRGhzS3F5OXZyK0RHUmNDS25Gc1B5VThmc3ZMSmlWaU9HSlVONFEzcDhEWTJZY1ljSEFxZWN4U0dpQVpJRkorZkNyZExOUTNVeGhVMnZMWkFqSkpPRDhteldoQlVQNy9STkFBVVNJR1RwUXpLdTVob0RhdjRTb0JLMllKV2FiaHo3K0xGd09DZUlHanpSSWVYYmd3ZEVqeTBwUWZIY0ZKSWVJUFE1a3lHRERLQUxFTUR4RXJPSGpnZWZGQ1FNbWZsbkIwQVdkQ2hyODNjV3F4T1dIVUh4cG15NkIwRkJDSEM5Q3JpbERBV1FKT1ExTVpHM2o5dVFMbnpUOE5mdkxZMHRDSEl3WWNhZjk4WXAxTHFLQStEZjVreUhpVHhJU2NOV3ZLTVBWWEVlV2ZKWDRJNU1MaG8wQUJ1blM3NEZEaHB5aVVOeTlhV0dHenBvbm5NbVVGb2Iwbks0cWZ0MklNT0g0TUdTaVNXWFVjOUh1VEswbkJPSjRYdzhId2h5YnBhSDV1c2huQVFJS0UxajhIc01HaEpEZ1VHYUNiKzNHRDQ2VXNMbHppL0huYVJoWU9PQ1pBVE1DeEJBVUM1RCtSQ1BLRDk3a1Z4SExjZUc1UzVydm5KQUNJNEJHaU96eVVXSnNOZ0o1REVpd3gyUjhFbENKREMwdmdRVjhiODBGNFgweFBLUUVLTDJoQThWWVN3dzA0andUSzVlUkFLUmFOSjBZc1Z2M0IyM3hKV0FRRlRWQ3g5SjlRSHNwakhBTEFvZUdpUHlma1VrWVRncFR4QnhkTkpERkJVMUNnY1E3L2UvNEUwUjBLTldaam5BU3YvUkRjanY4a01SOTlmOFJSeGd1bFhDUkRFRUUwUlFSMVNCd1hwUzhER01jQVNpVUFnV1ZlSjVUUlJodFc0YkJCVEdGaWRKRWJic0RSeFpScjltSWNDdEFJb2VPYy9zUWl5MjVJQ3VMblA0QnhPRUNiaGFxUzVnQkx4TkVORDBRTU1pa1hMNXp3QnBMK1NEb3BZRzM4Z1lDQUFtYWFpUWdJbk1nWEhCbklRSWlmZXFGS29xZ1kvUUVZZFFhQUtHc3FZdnlSeG45SlpGQkluNU9tZW9pWXcrSlFiS3pIVm1LQkJYK3dVUlp0WWhCZ1NMUVhUVUpFdFQ4WW15MGwyeTZBZ0FpemNER0xydE1HKzZzaTJBRW1sUTlxcnF2SXR1MWVVUUEwY1hpYVNKOFdJVUp2SVdXMEtOVVNJR0xyN3lFQVc4QkEvd0Urd1BIQ1BXbXM4c0liaHpUYzNhQ1hUa3h4eFJZWEFPOEw5ZkdHaWd3bjRBRHl1SjdDOFdySkpoZUNjc29pTEJlTHk2akF3Y1hDaE1qQTBYQTQ1MHpJemdJWGdJQmtPTHp3Y28rRnZERXpGREZEZktuRVN2OVI4UUptaUZBQUF3dVVBSWQybVJnZHg4SnZSSjNYSDlhQ3FHN1hnMVFzTUFyYjZ0RmR4NW04aFlGZVNPRXd3VDlXMkx3MTNUcnYzRzRVT0tTWXlUMXgzSVBMQzJXT3grL2hpQyt0T05nNHhHRTFLbHcwZklLVHM3UXd5OVpKWnk2STRoWXNvTUlzZjh4OFNhOHlzRnBHUVNoRXpMWHFYbk9Mc2g2dk8zNEppYlVERnRqbHFQTnV5T1kvSkFWMEpha082d1lYU0tPK08rK3M2L0hEYm9USWpzZy9md0FLUmY4U1NTQ2dPK2JLYTk3dUFucVk0VG5ibmgvOE9hREZzSUhFcThZbG43NGhDeXh3UlFrcVlNT1JsSFVrMm1EQWF0NURZT3lnNElidDRRQnUzVnFDRHd5QUJDZ1o1dy85UWx6Ly9GZUNIeFJFRmxZUUJHMEtpQVBlSVBDRU0wdERHWXhSQWlWRTRRZEx3SVYzdmlPR0xsRFFQQmdrRkFhUHRjRXJJR0VKaTZGRkZMcGdCYjJRVHk4Yk9tRFYwc0FGR2M0QUIxL1FRUWUwRUlJUUNNR0ZLbWpEaVdaSXd5Nzg0SVlJT00rVTFEUkdRVnhRaDRNb295K3VvQUpvNktJTkpSQkNDQTdRZ1E5MDdtZitrRmN1NEpBRWxqWE1VN0tZQVFsSWdJTVpVT0NRaDhSQ0JhU29CUzA4b0FSUldNR2R4TEFjTHNLQkRiWlpRaGQ4NElNdkd1RC9CNkQwcEFGRytRTk8rcUFMb0NoUEJpL0J2aXQwb1pKSldJRVFlS0FGRDFRQWtRMTQ0bmRjZEE4NzZ0STdjSmlCQWdZNXlCbkFJUXNVdUFNaWw1bklDaXh5QkNIZ3dSV244RUtQaUFFWDNlQ2lOcmY1S0dQNklCT3QvTUZ5anFHRUhZUkFCelJnNWlGZFVJVXFDQzBOSEJGa0lYRXdUR0xha3dRS2dOc2dxNkRPZmg2U0JvdlVnVUIxNElFUjZBQU1DRTFCRkJiS1VJYjJ3QWhHK0VJREp0b0FGN2dnQzRURWdma3EwVDh6ZEljOHlRaEJCN0RnVDBUZTRRNEtlT0FEaHltTGV0NFRuOGFFMnd6K1lNaVMyclNrSjgycFRuTnFVbVZpOUlucG9rUkhKUU9ITmdpQkRDTzRaVDkzeWxNRkJMT2V3bndwVEF0SmdzVU1rd2szL3pVcEJUNmdnS3g2bFFJWVRXbmM2bGFJRGY1QkQxY3dFQnRXb0lRREtEV1pQSFhCUkt2d2dicitRUUY0eFN0Tlo4QlhZZVl6cjA0dDVCK0tLVWhpbnRTbXl2eEFMajZBV0o2V05LeFBaRVB1NnJZQUh5QkJpMkxJckdiWklBWVZQRUFIeWtRa083bHF6QmxtY3hZS0lGOFMrc3JYdlo1MmhuOElKbXZ4V29XS1doU3VQUDNBVEx2SzFNTk90SzRLWUd3L01VcUNKOExobXhtMEdCc1V3RnJXZnNDV3pHU3VNWjlhMTlvMjRKQU5FRVFEY2tyY2x3cUNtSCtWN2t3WEE4eHU4RlcxaS9FcllGZkwxMjY0VjVqTUpDNXpaZEdGamVxTUFXd1FMbTRkUzRGQjFLQUJ0VVhtVHBkNVVqditJUXVoQmF0VUYweUNRVlJVc2JPb0svOVhVMHUrdktxMnduaVZjRVVQZVZnRkQzSytOTEplSWE0QXdkZ09vcS8xWkVJV2tBbFhkZjVCblhmSUpRNzBDOVlzRUlMQmcxUXhoN2Nhek93S29yZEE3bkJvczhBRThNSWh0bDNJbmZWU3h5MUJJQUFKb1B3REtEOFlWV0t1ZUptSVdHWktlYnZNRlRQaEVDcG1NVFB2NElJdEo3Ty9MMzR4bHRXTVpTTGJVNnpITmQrUzBTZUlCUnlpaDFIbzFIZUUrZDBHSHpnUkhGWXNITFo3MDBFd2s4MGNic0NSQ2UxVkw3OVpsNm1SODV6cExBbHU5WThCSmJqRklQSkppQyt2MkJCblR1a0hWREhtTXNPaHE0L3RMbmgxeVlZa3QyblNsM3BWSmdCMlZndVlRUVdkVW9TZi93elh1dDVoRlFTTzhhblZ2R0kzMzVPNWkyazFFbURCUGVkZU5KbURNR1JESVRoOTR3WVgrOU9vdUhheEc0QmpaSHRIMmVZNzM2VC9jRDFXV0hvQkRMaDFGM0FoaUVLcXQ5bzRqcmU4OFFsaVdYRDJCeWg0TmJOTGxycDVXRm9QdG9aeURMMEZ0MER5TmE5OW52YzkrM3hYdnM0UWswdkE5NzVGWE82cnRFa0NaakFEQUQzb0xXN0t0cmtnN3l0NWdjbFpHK2I3NGhPSGxiL3lod0FVb09DRnFMd21HN3psM3ByYmZPYTIyU1FZOVMzdWNaTzdheVdUd0FJc2dQSlloL0hvU0VkNjBWTk82ZjFaZ01TRFlIcks5MmZ4Zm1NbEVBQWgrUVFGQXdCL0FDeGZBQ1FBMlFCK0FBQUgvNEIvZ29PRWhZYUhpSW1LaTR5TmpvK0hWRTVSS2lvR2w0Uk9WQUlDa0o2Zm9LR2lvNlNsb0QwK0lxb2loNncrS2xRUG5LYTB0YmEzdUxVakIwTXFCWCtzQ01Jb3hFakdTQWFwSWo0R1RyTzUwTkhTMDZNakl4NEd3Q0lGU0g4UzNoTGg0dUVJeGdVRklqK2JuZFR0N3UvUjFpay9xZ1VvQ0g4RGx3VUdTQ2dEaGNTaE9JZE9oU3g0Q0JNcWRLUkRoNGNVNkxqaEd6U2czTDV0M1FKS1FFQ3dnQThuT1JhS0hKbFFSNG9VT3B6OHNRZHdVYmxsS0RUcXMyY2dIUldTT0hQbTBxSENodzhFRWxxQ0U1ZElud2dEUW9jaUtZQ2dab0diT3FOSy9UUUUxYmFZZ3l6Mk82WUl4YmFrNHBJTjhGcUEzZFN6YUF2bDRYaFYwRmhDcS85VUNXSktsQkNDcjI0QmZ1UDN4NnNCczJrRDYxUnk1WmNQckUwSG5WTUI1cytUSjRJZUl6QXpJSndoVm02eC91RUlFTW5SUDBBRWl4Nko0UzR6Z0d5WHFkaHlxUEVnTUdDY0lFZ3E2TEFnSkJQL1lESnF3TS9vM3doZlpFTTZWNjdyUmlPRzVQaFJnUFlmSk4vMFRkVFhzcVptNE5paFRWZ3BBZ1VEQ1dSVmlGcmVYT08zY29OUVFMOHRRbnoyOTdqRWlJbEQ3QncrTGFGQ2txZHR1Vy91Zk4vbzlrY1A4QlZJaXhWVy9HRkZISUprUUFzekFRcENGSFdDM0JPaGdSaWFBb2NnUk55U3dsRVhFblVQUmYxbGFDSmE0bVUwU0YyRWxIamlpMUg5Y2gyTEE3UlVZa3dxd1NnSUNDQWdBa0lHUC81eEF3RTZrcklGWGl2Mmh3RC9WblZKY0U2UmY0Qnd3WlFYQ0NBREJsRkVZVUJIS2ppaFJJOVFnbElDaUMwR1NDRTRXZjJSSTRZRUVFQUVBVklxVVVJVXlQZ2d5Q3JNb0ZPUEFWRW9FYVlubnFFUUlWQUIraU5oZnhzeFlDQWVMRkR5Z3c5UlhPREVLdWRjc3RVLzVLQ3daVzEvUlBHbkkxTWcyVmRsZ25DVVY0UlhLTUZDZGd6K1lFQVg5Znl5a1RDekdiTGtrdUtNdGVrZlBtUnd3YWVLQUlBQm1ac0pHaDFUaHc1aVJob3d3UEJiRW5kdTAwK3RqY3drQWhKNmhUTldSRXI4Q3V3aFJHYlQwZ0RZQm5nSkF4WllVT01nU3VTUUF4U0NpYkdOak5SV3BGNUd4bUI2WVQ1TGRaZWtVVWVoNGUyM2hTaHhiYUdFOWxVQXVndVlFZE0zNENseFEyRFFMdkdmLzZibllPWVRJZnhnV2dodkVRYlYxRElsREV6d0lGdTIxSlJsQXhSZ3hnSVdNSkFOT1B5WUxOV0NWaVF4ekpibjJQbURDbEd3MEdnbHZxU1NpRmNhcllST0ZDQUFSckRCZ2dwaUFGRGU5QVB6QXVVRUpVRXlhSXdXQnh2eUpmRURIb3NRMEdoNis5NDE4NkZMTFUza3lZcVY5NXdCRE5ROVVMb1dYSUdVQkF4NEZTbHdNZ2l5S2lPQi8vR0RHU3oyNVcrU1BFUDZOdHppVGRTVW9ndGM0Y01WTUZzdzlSK1ZiMk56bUFRb2dmaUY0cmJZTWlaUk9BMXNGQ0NHWXdEbU1mK3lnQ0JtRUpMTm10OFNRRmtoekpUSkVVZXZ3UDBIQ3o0c2JNRUNJeDUvU2VZeUM0SjFPa0VJTC9jZ21CMjY5ZFFpZExIQnlXLzgwY1VmbURmY3pmL3hkNmVML0NBTS9DSThyd2JzT3pPMUtQaEFydUdGRTZ4Q2R6QmZNWDdEQlZ4aHZvQis4SU5uMWplRnpSU2lmZjV4QzB2TzhiaHZzZUFvTUh2T0ZUaFhCOW54Z1ErYW15RDR0ckUrVjExb1hmT1RXamY4SnJ3ZmdJOXpLS2hkQUprU3dOc01JZy9vS0NEY29qQzlvVHhuSXByS3h6WUU4RGtvU2VwYWV2aURHYm9SUUgvVVFZTWEvSU1BV2RIRE1CRVBnZFlybGx0bTVwbS9FUXdFNS9DTkNReVFod0NXZ3dFVHFVTTJ2UGdaNFlrSExPZkpDSVZhVmdCZm5jd1hkWkFhRHdKNEJRVFVBUVVCOUlNQnpNQ0hobmxPZUt4YjIxRE9OTFh6aUFCM0JOTWdFbFRvbXpvZ29ZdCswRXhoZktBRTFYMnFlRUloQ200cVJEVUJOVEgvVEVqd0loN3pLTUFyWExCMmd0QmNwOVozdnhsRloxeWsya3oxQ0diQ0JmaGhpSC9BMndJV21iOFRLbTU5ZjVBQnNXeFlwbjJkekNlWTB4dmV5SWVDMlZsZ0VCYTRDekFOTjcyNnJBdE4weFFCQWhiQUFDU2d5M3hObWQwdW04bUFsazJUZFpxcFVZQ1dsS3hCdU9kYmQwSEM3THlKTnlHdUxURkJVWi93dWdlaFVuVXlNZGdVa0NXTGRKZUZJYzkvNmZxRHpQaG13SmJJU0hpZFlJN0tqTFdabWRVRkg1NzZWc3N1aHpXRTRxMlFRYkZkWDRCNXhsSlJsRUpOMGlld0FLTE5ocjBzWFhYcmg0VFc1aGRqQW10TTA0SE9zUUJTbVFCdDdaM2Z1dFptRUlDMzcyaEtISWFTSlJUaEJyWG90TzlZQ0ZCVWlWUWxQSEVONEp1Sy8xclplU2pDRDV2KzZRSm82Q2QxanZYU2tBcENDVzJDbXo0WmNJVzY1V052L0NKRTFPQUdnckJDc1pENWNOa0NHcVlaTTZUMVc5a296MVdGWVM2cWJTUkpYdjNUQTRvSE1aQzJiSnN4NjhZMy9OcWhiM1ZqZWxtVDJseUxtZGdpZ1lCNEJkRGFIbWZuSk1ncVNrSUQrTUVMMUNxVXpQYmxxVFljaC9EQ3VyQ1l2blFsa0MwVk9mNlFoQk44S3lZL1NkTTZRK3RUaUtrVGJnSWd3RGtZdHNoY3BpKzNJTDNMRDZKSE1HMVNCSXFjS2E0M211S2NUeEdoZU15dFhleHlpeFUvVHJkK2YwcEZPb21UMTA0cUtSK09FSWFKd1B0TUZDQTBmWng3NWtRcTU0TWZFQUc5VUdyWjRxUkd0Y2RxMTREL01VUkxCbEpEK0pqUWZ4S0VxZjllOVlzK0JsSVhXQVBXelZ4bDVSWXpIY2FZc2kxb2FETjB2NWM5NTJWODROVkxHMVpoSDFRV21Pb3hsN0hHWWlhK1VHUko5K2dwQW54eW5RS0pSNE92MDRNZjBoZSsyZjNoZ2lzNTJWNlNnbzlDNlpSY0xPUEhndEdoamVZRXBTSXdBdklWNkZpQU92aEdpQ0lkM0tlMnRoN2hWdWlwWS9YR1NvTGlsSHVNRENteGZKR2krR0NBT2ZxaE1MYzhSRTBRQ1NVeVgyaGxwWUx0NWhSakZPK0ljd0UxQVlvZ1RhU29QTkF0Z0VPc3cwUjR3RVgyWkJSWXJnMzBPbldxbS8vd282WFBkTjVkdkdPbkU0bG5qbUwwc2gvcWNFUUUrSWJTZ2xpaUV6NzVvdU5tWmFrOTdUVEtnSkhiUVR3UHVDK0NsUm4wb0RjK2tGSVlBYVQwQWk3LzJGYlJ2RklSTm9Kdk1RbHhwbVFaUURNak5ESWhucWVuNzUxSUJKZ3pRemJTWmV3VUpoczdGV255SW1yVVUzWWpsdHJzdGJhS3V0RnJYM3ZtS0daSW9vRUVRQTlUNGxLWG93Vnppa2V6NDJYQUdSRmFHd2NJZStxKy8xZ0dHZWt4b0NIUzE5TEt3YUVNR2VvM0grUUxjQk9mRmpnMVVRVjBhS1BPV2RFcTEvNXBlTWkra2NNS1pkaDVmc25jQXJ4dElPSnhOSVc1VE9qcnRQMmVMUW1LNUd4V1JqMW0vQnlWSjBsaDZjSGZ0aTBIYnBsL0hFUDlPK2d5WmFadjdFQXNWNW5jU0VRNm9vcURMNVhBSzkrTTNHSys3Wm9ZSUhQL3c1Q24rbWNCNzB3ZGxSaGlkNXhyaEE3NzFxMXViUG1IYm95ZUxNNjQvT3krTm9NcVRGelAveE0xWnl6ZlRLaWFURlR5UTFsbnI0VFFRMEVCMG1DUFdjL3Zzc3lsdmJmeGRCajlva2FKWndRZS9ob1lyY0MzSW1XY09EOG1LTGR2SEVQdmc1U2JOTXZlMGlMOVltM2YvSElpTk1BRFB3bm0zcFJTdEFoTWZBaTN3cHQ2MjJneVZFczFTeFF1TEJFTVdNSWZNUDRlRlNsSzkxMVJQRnJhYklZaGRyMTRvV2JFYkNMaVpxY3cvTEhNVjJnaE9yL3R1NGdCUGk5M0JCTENQeFVKZUNicWUvVWpLK1RaQ0cyYW5YSjc1Um1TTlJaMkVoTnFRMytNRUhKZEFDM1lvVTJkaFFnOUZoWGd3WGxvZHp6QThCd1JwQWpXd1F3TTRFekhJM2loSldDcjhBOGM5QWhNdDJpLzBXQ01JRWJkaFJON3dWSExsRkJrd1g2ejQxWjB4Z3hObC85S0VoWmMvamNYYkdTQm5MTUlNZ040N3hGYTJNY0lZUFNBSXVFVmtJV0FuVk43enRNM1BQTTZJYmRvNXVNVXc4Y0hIUmdvNTJBR3RGSjFoK0NGQllLQ1NPZ2lVcEVNSHFWNjEySmszS1FuR2ZNa2ExZ0lGdGgxenZROHlMQUt0VUZVWVhJNW5wQUhjbGQvYkJSNmhvQU9SS2diUjlGV2ZTTVhTZ2ROeDFNWXRmZUJ0WUVSR2FGTlFUUk5oK0J1WitFa1RhZDltOGQvejVOTFY0TThyQkNIakJnendFQjQrdWN5SFdpSmk1QmlGZEdDQzhGeVd3SnFuQ2dJZmFOQjZRT0R5NVFOcWNlSWpvaUtYakY4UFBjSDcxY2tjUVFLNEhGNFVURVFlR2dBeTNRSWJIZ0ZFSlJ6NXVPSS9TT0h6NU9EVXJPSXJNZ0lXNk9DQ2dFUUllZi9EM3J5VXJYWWZ2Z1RmdURFYThQSVA1cmhSd3RUaVNleUFHWTRDcFVoWlRreGdYcFZPUkhSZ1Fqb1BJSWdlZHlvZzd2RWVZU2dTOXBXa0FZZ2p5OXlCZlVvQ2kyaklndFJHWFdERHJEelROWklmTDRXVGNnd2kveG5DTEdqamFrRWVZT2dCMTZCQWpUM0l2UjRUYUp3V3ZpQUF2OElEeExRaUd0WVQveGprTDZtTjlWVEQrY29DRmRnQnV4M0NFbXdJV0Z5WmJESUNId1FJREVSays4d2szaVhqb3BYT1plUVJQQjREOTBYUDR3d2pJclFBcUtobFkxUUdMTVJsSjdBbE8rQUxpN0pER2puYTRZZ2pYU1RrR1p3RHBoek1rdFJCdy9nQ1NsemhJM0FBOGVZRTNWeklaNWhqb213U3o2d2l0QUVqMktwSTZieENUd2dlQW4yL3dpMU0zQWpnUzU2NW93OTZUeWVBV0Z5T0Rsd1kwb2E0QWs4VUFCZTJRaDdPUkl6Q1dJcjBVeGtDVDRwRkpNaytTMUM0QWZIUXphUUVBV0hDUnlTcVdDS0E0YUdFSnJBbEFjWjZBbXlpU0dtK0RHa3dnKzgyWTNJaVFoNW8yRHJzbU53bDV6UXFRakxTWnc4aFFDNkdaM1ltVXJzaDRtVlVabXBLUktWV0VlQ3dBWkVtWjIxY0pzcmdvbnd4WDdQT0Ewd3BWQjNGNS95S1ZXRGxHNUk4QU1wMlFnYzBabm1pVDRXc0MvcUtSU0ltSGp0Q1pJeFdLRFNXVGNPbVJkeTE2RHF5Wno1SUJRUXA0SGcxcDhIT1p3VWNaVFd3emQzWjR0MzU1Q0lFcCtJSlZ2UTVxQVArZ2kyUmdqNTVvVVFoSmZZK1UwZnhKSW5JNlBlc0ZjYmdmOC94NW1jZUJPakdnb2pKeW9CM0NSMnFPbWkwVG1UNmNLak0rb2M2SGtKNlpJSEZyb2lPd3BMTkJwZ05OcUJnd0tEVHdxbFI1cWhQUnAzTk9vL25XY1B2NW1sUnZxZlhQb25ENG9QR0lveVovZWRSUXFqMUhhaUdmS2phem9JUzRHZUdWSUMwMkNXUENxbjJmR0hoQUNtaUdCT0o4Sld6U1lOZHhjekVXS2lYUm9WZ0VvSTZKSllGWUdaQmxLUUx1T0VHbGtLZFROMVpzS29qK3FvRGRvaWdxb0lZZW1tb2dGR2hCbDQyL0NjcGNDaGlmY2RFZXFwbjVvUWpBcXBPMW90U3ZnYlpQTjBiWmg4T1JvS2ZETjFYQ3FySnVvSWpUcXNEbHA4aWhxZE1yTU5jVmtJd2RtcXdWcW56RW1zMW5xdHhPb054cGVsTVZNVFBwQ3BPb2ljQzJYYW9jYUtyZWFhckJKQ29MbktpdG00VGRESXFyVXdyUWpvbFBGNW5kVHBxWWtnRG9uS3FWazZDR0RwbGNkekY0MFpyL3RTcGpFNG53anJWZU1nQVFONm9ESFRsK3VhbkZJQWtBWXFpbC9YbE9Hd3J3NjdzUndMVTkveGtQMEtDYzhZZnk2NHNBajdvUXNMc2lIN0Nib0VnZ05iSUMrN3NxR3dpODBucytacFBtUkJMVFpyb2RKNExYNjZzOGdwbFlKaWxrRGJuNzhLdElFQUFDSDVCQVVEQUg4QUxGWUFTUUFmQVVJQUFBZi9nSCtDZzRTRmhvZUlpWXFMakkyT2o1Q1JrcE9VaHdJQ2drUkVRWDl2bForZ29hS2pwS1dtcDU5RUsya1lMMkl2R0dreWZ3U290cmU0dWJxN3VEZFViWEE0Y0VzL1AwdHN3VWxRbUx6TnpzL1EwYUkzR1Q5d1NUOGxKbjdjM0NZcU9EaGNoWmZTNXVmbzZiWnBjR0lsM1g0bUlCa1pJSDErUEcwNEwzOFh0Qy84MUFrY1NMRGdvQXNzeE1ENTB3MElnU0JRSWthVVFRUU5pQ2hza2loQkkwWU1qaWtnRElvY1NUSlhHaHhMTkhEalFVU0d4SmNTQ1lCUUVpZU9tQ2gxNEV3cHliT256MGtuZjNEVEFCSEtoQk1uQ2tGaElZVWJFQ2c0eFBnaG9QT24xYXRZL3doWWdVT29IdzBUSjdBeEZzZlRvS2JkK21EQThVWUdEaFpaLytQS0xUZ0ZYQnR1SUNKMmlpT0UyNDhrcy80RThmT254SkkyZFVERWdiTUJUcTI1a0NOTHc1RWtqNSs4VUdRRW1iRGs4cG8xWldkeE1zRW0zRjJvT0RCSVhzMWFsOGQzWUtHOGVkRjR5Wm9tdU9NRTVDUWtYRGdlUU1yOFVkRzZ1UEZSQmxENmtUTHJUVGcycGNzMGFXTkZXSncvTXZyd0VCUk9oUjhvZjlnY0gwOGVFZ0poMjRtQWI1RUVqWjg2WE1URkNkZWt6QXNvR3VxSS82T2N3QXNjMElsUTNvQUVFdUxESDNkbEFCNS9VZmdoeDIxdC9KR0VoTGdwUTRBZlVYRFhtWHJCeExHRUJBV0dTTjZFSlFqMlIwUTRxQ0JGRTF6Z2hsc2JMaW9EQlFnWXR0RUdEMzZvTjRFd1hZam9ZM0VJaEZmSElCRWxBVWNiODBYSTR2ODRmM0FCV0VRcWRTUEZpVkFFZzhLUFdFcDJaWVJFRmhrT2szL01KOGgxVkVLQmhoUjVPQ0FJRkVRSWwrV2Jja253d3g4TkJsWW1Ca2swSVVnVFNlQlFSaElUQkNhUkRJUXV1SVkrVjhLcDZFOFNMSUdERWhvb2xWa1M0NmpHM3d0cDZMWG1TMnV1NFVaWGkvSTBnS0lJTU5BbkQ0OHB0Wlp2VnJTMUlDR2NZdmRaRWhPR090S29EREF3S3BZRElCRWVVWVpJTkZzUzk3blVpQXlmNlJPa3JRV05hb0VGRWd3QW9vZ0NEakNoR0pFaU1sR2hyeTR5eXhwUStjcnNRTTVhd0FDSTB4WVlwQVMrUmhWU0lqQTk0c1lmbnVLQVJMcmpSalBBcmd3OGU2NEUrQllvTFFyaGRKSHFJUkk5TW9HaFVCa1FjTDdOZ0pqcnMrYnUrK1AvdmdBUFVOb1Nka0x5eGdTSG5KREV2T0IyOVRERXRsZ2hTQjc5VXN6QUZkSCtjWEo1MGU2TFJEaUFUV0xGUW9iSThNSVM5Sjdrdzh3b2grTFBJQzJVd0lmTC93SXNjNVlGK0NDQ0dIL0FBWWRaa0pTQkF3QUl2d0dIRzRmaTRIRFJweEJ3Q1FFeVRLREVBaFlJQXZEYjZNSlpnQUVHQklOREdwTEE4WUt4TXJ5UmhGbFZyckFHRjNBc1MvWW9aaWRPZ0JJTUNBSXozT2dTWFdDL2VrUVJqS1dRTUFaUjMvTnhMY2lSYXlUQnhxNkhoMExBNldmendMYk1rTHNkS3NWNmdCUFFJekpvM2FUV09NUWgybHFDZXloNTZZNG9mb2tHendKUDhRSlhVRFpKbitHODBDY0diMkFBUnh6MWpnMThKUUlvVG9BSjVsNVA4Yk1lNFExSi8wUnZsRC9MZk9GY2Qram8xMzl5U2ZZQzlOdDQrN0JIZ1FPWGo4UjZJZ1lyL0FFMmFPMzdCT29FZ0FaL0JYQVFGbGlBR1hKWHZ2SEJCQXBCK014bjByQUUwaDF3RVJrb3gra0lrQUh1ZGUrQ2Y2Q1lSMTdRd1B6QjVIK2VTZ0lDTEFqQ1EvaWhaYmxxbVFGYm1FQVVpS0EwbURQaFJEN2pCamNrWVdndFhFUU1FV2l1K1FWUkVBVVFRUUdXRUFjTTVKQVJMNWxYRDhzZ0Jvc2RNUkZ3dTJJaDlDQUlFWWpnQjlFaEJOWVdBWVVlcWtCMEsyU2QwOTZtUmFkcFVSQUxpT01WZkZBYTM0QkpFRWtRWHlMS1Y4WVZCQU1PeU1pSUdKYlFoUjhZQUFrb1FJSGhudlpHRUxHUWJIS01RaGQ4dzRZMmlDRm5mMUJObGJoUXZqRjJvditUZ3JER0NwUlFnbUlzNFpMbzg0MHcyRURJSHlBU0FldUszQ0IrOThZUUxZQ0xwYlJiRWxRZ0JENlF4bEpKS0VORTREQ09UaHJURTFCSXd3dlExd01kZUtBREI5Q0NGa0lnQkNXUVVnWEdFTU5pVkxsS01SUVNDWWhVcE9FZ2w4V0J6SUpRNk94WUxTRVJSd1dlRVdlOHRBRVpEcUNES3VBQWd0S1R5UFNlcUpjMk1HOEdNL2pERExKQWdZSWFGQXNWMElFT09qQ0NhVmF6QkZIQTVpbVJ3YzF3QUpKV0dNMG9ScGZnQXdNdzhobm9QTVFtMWhtSkFxQWdDaDZoREM4MW9BVWRZTUdnSC9BVFB5YVVUTi9vaGd0Y2NONDJjVEFERXBCQUFUUEFBUWsrMEFDREd2V29GRUJvUWhjNmdpRTR3UWxSZ09vS2pMRUVJMW50cWxqL3RacHZxUFlNSGdTQkNrcklBQS9HR2tNR21PQUtKSDJFRDFJNkZpSFlJQVE2cUFGU3MyQzMxRVFrUGdwUVFFWGhNQU1GK0pRRVFSVkdVQlZ3QjZRYTlyQkpWV29GRnZ0U3hHWWhDejhGMENKNXdUMjJmZTk0WmtqcklwRDNnM0FzSVFwNXNNRUlHbnRZRjN3QXFHV0lIbjk4R295ZS90V25RT1dwQXV6bVY4UWF0TEJWU01JTWltcGJ4TjRoQzB5QUxRNytzRUlyTmlOWGp5Tm5valJyQ0FsWW9MUDNFOEllNEhwWVFkemh1dGZGUWt6RjVOclgvbFdnUFAyRFQvdjZYVVBjbGdKVkNDb2NQbkJZN0JiV3NNQ0ZyU0M2a0RIajhzSUMwaUtuQk14Z1JPWVN3Z3lsK1FFUGJIQUEwaG9WdTM5b1FBTStjRm9GR0NrYy9CR0cvMkJud05lNkF2UVBlYzJ3WDEzQTRVRmdOd3NmQ09vTTJPdmU5N3Bnd1hrZDhWRWhDMXU3L1dCZk1JYXhmMGNDRGpFb2dRd2VvTUdCN3lBSUZGUFlvbnlkUVJJeUROQWlHL25JRkI3RWNGWDVSNnNWV1pWRDFpaEF0UnFPdnJyZ0R4U0lMMndEdXdRVTFDekdqendXb1dZY2lsdnFvWjE2dUpKSHV2QUFIUnlZQW4rb0FsRHRCZ2NINDZ3QjFyMHVaQVhoMDBPOFZyemZqUzBPRk1EZ0ROUEswQmpWTUlNVjNBQVhYUGNQTE41eU9NU0FCRERIK0JCd1VVUVFPRUZtVUREQURLQU90UmtLVUpvWVZPQ29DLzd4TlQ1UUJSZFFvTEI0RGlxVzM1dGw3OXE2dkgwV1JCWVNQRnZDbHBqSHZ5N3hIeDRkYVVsVHhnRFNzclI5Ti84ZEJCa0FJUkY0cXdNRE5EQldIdVFoRW54Z25jelFTbEp3WkpYQ002Z0NyZUdzMTFVWEZidEhMZXdIclBZQldoZjcxcmNtNkcwYkFGQThHeFRMOTY3dXUvVTY2VW9yZTFRV0JNK21aWEF3UlBCQmh0bU9CRnFkMXJaMUxtQUpJMmF3eEJkZFVFSW8rTlhqTnFvZ0NscFl2YmJicUx2MnMzZmxuVzRLelBianZTM29ZMStyZ0FqRG9Rc28rTGVNQ3pHQmdiTUFSNHhvR3JjNy9ZZ0ZUTEtpdnVscHlJZE5hM3pmZXhBSGptbkxqWjVsNEJxQ0NZL3RMWStIMjFzdEd6c3FCaWp1dnhYQnBnSmFZT2VLMEZVbENzRGNaNW1oR0Q5UUFSSkt3SFl6cUFBWjVJVTB2aHN4N3dzelBlVkhoN1BHNmIzYnVRYjNyM04ramcrOC9HWC9aUy9pRGNSclhKaDVUb3AyT3Q3eG4zNm5iRWtBOWNmUy9kVkFKUVRlRDNGVUxCT2F4NURlTjUyWGtQWDZicjBSL1dYOExTN0wrZ1Rxd1FKbi8yZGUvL3JZb1JmQ3FBQzlNaWptdW5LV0J6WXFQMEJBNFUrditwOTg3NVlXS0NYelpPdFgydGNlNmNPdVFSTHdISXJhMnpxdmRmMWh6R1Z1c2NVcm9nUk9zMi94bjFFODVMc2RhTDdoYTE0QjdkUEtSeDNPbEhqczM3MGJlSndOUHRreUI0VVphRG4rWmh4UGpxV2tFRXpXVit2SGZxL2xmcldYZ08zWGUvUlhmOElnQmord2ZkdzNjLzFuSE9VSGdEL1FCUUxJVFFDbFlaQ2dZUURGVGRmUUJVaWdkZjhXSk41WGdSYVlRTzNFQUFpQUJBYWdnY2dRWVVCWGd6YjRnTiswV2tMREIyWXFhQ3RXaEg4SWdBSXdtSUduSkRyUWdReFpCVWlDMUFVKzRFcUtoSCtuSjM0OU9DNjdrakhSRWkwckJFc0lZQVpYWUFaYWFJS21aM2k3a29KVGVEZ0FSem9Nc0FDNnduMS9JSVZseUZ3RDhDeGtLQkNCQUFBaCtRUUZBd0IvQUN3QUFBQUFBUUFCQUFBSEE0Qi9nUUFoK1FRRkF3Qi9BQ3dBQUFBQUFRQUJBQUFIQTRCL2dRQWgrUVFGQXdCL0FDeGZBQ1FBRndHQkFBQUgvNEIvZ29PRWhZYUhpSW1LaTR5TmpvK0dLV29DbEpXVUQ1Z1BBcENjblo2Zm9LR2lvNlNscG9WZ1BVODlUbFJSS2o4L0JiTUZQZ1ZVbDFRUHA3eTl2ci9Bd2NLREkwNndQaUxKeWJQS0luOEdWRUloS2lJK0tydkQyZHJiM04yZFF5bC9CWUlpQlFZR0tBZ0lBd01JS0NnRzR4THpBeWdGMVZIZSt2djgvYVhnQm55UU00Zmd6N3lEOHdqWk16QUFJWUo3QnJiNG0waXg0a1F3QVoyVlN6ZEFFRUtFSFFmVks0andpb0ZxUXl5cVhNbVNsNHA3eWY0Z2FVUnYzU0dROXdwZ2E4bXpwODlES1Y0dU0xQ1FuYnFRNmdvV2tsQ3ZvU0YxOUU3cS9FbTFxc284S1pDSnJCZFBHUzFsUkEyTmxGQm9BRHA2RUsycVhjdHRnZ2t6OS8rZUZVVFF0WnlCV0hkLzNGV21sTkJZajJSbElpRTc0RjQrdG9nVDg0cUN4Qm5EUHcrVFdYTXk0b0NITHoweTkvZ1RBMWtCRklhWUJrNG9DRjdwUHo2bzdGRE11blduTmdiRUlaQmdyNXFLRkRvOC9Ca0JabEJtUWorU3hWNUttdlFmMEU0RjRYSE52RGtpREtBSFI3YUdHOUtXNERkSEYwY1N1ekJrNStDYm4vZ3poYUZaRVFaSzZORFJTYzJmNEFZQ2kxUnFuT3hNQk02Y2hOL1BlZ09jTmcrSm9ZSWZmK3pFaVh2d3lTY0lFcUFaeEZSRFpuVjBrZzhWOEdkaFltSjBzWUlVUW9pQ29ETmxmZWFnT3daOVY1Z0lUM3h3NFlvc0x2TERJUWo0UUpJRVNIVEVWR2tpZEtIRUJTMzIyTkltcDZpUnc0dUd4QlBTTzRiY280TC9lejQyeWFKdVlwa2ppRmxQVmVNRWtFNVNkY0dXUEY3QVFwYWRvQ0NDVWpNVmlSNlRZRTdFNHg4Z1pLREVIMmxrZ01hY2FIREpaWnFIbUNGVElWS0tOU1V5dUdDSjV6WlR5QkJGRk9mSU1vczRQalFxMEE5Uk9GR0NFbWlBc0tVZ0dRd2FXMS9rOUZWbVBZS2NoQUtCZ3dLRHd4OVd0SEhGTWNnb000Z3p0TVRLVEV6bUlGRUNGV2tNZXBoOEV2VDVqSTFoNGVjREN3U1Ura3NjWWl6aDZqalBNTmpnT3V4RUs2MDZ0Y1gwaHdwckR0cWdRVEVDTzRocHo0Z3dnYkcraUFHck9TaXdNMlU3MG9iMlVXbjNDRlRBam1tcThjQ2lnQlZRNWpwUlRWbEFGQVFRUVc0cFZpUXh5R3lRd2ZOVk0rYUVSTWk3ZjdTanJ3Ulg4SkNCL3dwUmdKQmxDVXZaWStOQkZwUVo4UlYzRGh5S0ZWYlV5STdDa3ZrUXl3OHF4Q3hVclF3NmZKRERNYUl3anhrbi9aRHBvRXdWUUZKREZpd3dOS2JabXZ5SkZYKzBBVTh5WFNCeEtCRkVFR0QxMVFLZ1VRS2lqWmJES1ZOOVBUVGJQR0xPaTJkSEljY1hzUVFXL0hGRkFUYitZWVlUUHlzTkNySmkvUEZDQzJtUStvZkFnZ0QrUnlVRXFQQ0gxdytudTVXREV1QTNUckUrcWpEWUh3d3NBQmM5Z1MxQUZBTU1XUEMyM2IxTTBRZ1VmeVRRQmpMRGlhUTRjYlNKUUtTUGNsNUJ1UVVNRkdER1BKd1hqUUlTQzFoUTlGMmc5eE5GTlp4Q2h2REQ4N3d0Z2dyajltaTFucDB2Z0lRWkRQeXhnTnlXRytDN0lBVzlHZncrMURBN1NQL2pEbk92YytQSnRPQ2oxVXBJMExrRlpzaGV0Qm04MTI3RzlXNy9zY0wzL0F3dlZuS0RJTW84VHRLRkhnSGdEd0I0dysxOHR6M2ZNY0FBbFNOSzd3YlJoUVB5VHgvQjJSWmdOa2lYaHNUSUdqNkNnZzl1OTRmdGxmQjNadEFEQW5qbk96MmdSbkFYNUFZTGJGRys0Z1JtZHdOY1hwTjhzSzBHNm00bW5PTURId1NocDhQRXNCdlVFTmtHamZPZGdveERVQ3NxUVBVWXlNRHNEY0lQcEtyRGV5QjNSRzRJcEN6MENVeFJ4Q0VDS3ZpSVkvZnozUUw0c0lBMXZzMEVnc0JpSVpTZ01XMjhBUU1ZU01NYi9oQUVHQTZNR21WNVRISDJsTG9lWmNBSHZCT2lIUC9naHp6WUxvNW0wT0lnakFnTUFRU2hEVWxJQWh4d3dFazR0T0QvQlFoVUdndkd3U2tEeklRZUh0eVVNMEJRUnhhTlk0aU1KQlVXQzZrTy9EMERHQnFUZ1Jod0FJY2t0Q0VLU2xEQ0NuNnd5emhnNEE4eUlJUUYwMlM0UWp5a0lXUWhTVmpHd2JFZXlVS1NpMXlRQVhwblJjb0pBZzIrdU1FRE1BQ0hKWlJBQTFoTVp6cFZzRWt1WUNrSWFVaW15UW9ER3JMVUUwbU5VY0VOZWtRTjJjWHlEM3l3QUIvc3dVRFp5UTUvb3VORkJzZ3BoaEtrVXdvZ0NCalYwS0FCUEdpZ0RUaDRBUXNzbVFRY3BBR0twVHBIaVU0Wk1jaVVJNkVzb2dab3FDZ0lvMG14YlcyNzMzY29PWW9iVUtHakEvSURIa0JBQkNqNDlLYy90Um83a3pBRk1VUmhDYUJVbXNkQ1ZiNFRSU0ZYTEVKZDcweG9QVE9Jd0orYS93T041ZDVqaWd1bzRGUTgwR2tHZ3ZCVGVRckNwMEg0QXhDSzhBWmVLc0VQU0MyVlFPUXpBQmt0cUhnbmljSStXMVFPS3JhdHFpTFFVMmxpWXdFRmtRSUtPRmhDSHZ3Z2haNUNZUUl0c0VJWkNrRUVkUllCQXpqUTV3YVdzRmRtZnNjaitqcU5NOUZ6S1ZjVzRBb3cvYXZsQW9zL3VIaWtrS0tRQVJ6RW9FVVR5SUIwQUdCREZFclFoY2tPQWcwRTBzQmJnVkFHSEVBaERtM29MSmhZSUFLUlNVQ2tDeXFFR1d5UmdWWmVhQ1pwNU53Z3JKckdCY2hPS2RFWkJRSGl3QVk0Mm5ZUVNZaENPc1hRUERiOVFRbWJiSU1mV0FBSE9KREhXUEx3aURnVWNROWl0VWhNQ09qZFBMdzdHNkZ4amdIMjVONmVSTEdFOS81QkNzbVVaLzhTZUlBR043aWhEUzFJSmhRMDFnVk80cUFFZU1Dc0dFQmFxc2JCelJDS080a0svTWdmTVVId0lBeWdINDBnMUpFK0ZlYkVvTWliZlBPUTFqZHN3QXFjaEVJVGh0elJ5VUloQTNBVkJBN0U0QWNDV0FFT0xDNngyRUxsa1JvZFozbGN2SkRqUkRPUEZYSTVnTXpxMVpoQWdRTDdkZ2h5Y1Voc0czWTUyVTMyc2d4UUlJQWZYb2NESHR3QXN5K1FnVm1ORlRTbGpFMG1CUkhURDdKc0ljZDlqQ2xxTTg1U255c0NEWEtpZ0M5Q0ErbU82VkEvckNHVFhEaFZHWnFRQkF3RXdRL2Urd01PbENBRktIUTBEbkQ0WXBiYUpDSm9pdWhtTkFJTmZsNjNvc0w0d0dabTRSZHA4QVBlNW9KaWs0Sklxd3dtNndjNXVHSElUY0JBSEF6LzFvUXluQUFLd0dYbkg1S2dBU0JBb2EyYUJGR1dCSENCM1FvaWdyR0JzUVcyVlFCYVgrakdIUm5iYzQ5Q21ybytDejJmbUVtRE5TQUlHWndBRGhwd1F4azIvUWRrQzZJTUUvQXBFUHlnQVNIQU1WUEQ1bVh4bXNUdERLQk5lcWNjUVBUQ3BwOHYxWnFVdHl4Umc5b2Qyb2o1Q2hJU0VJamh1QWdGSzhRaHpiNzlReHk0SUlnNDdCRUtNa0JuTnE5OUtqd0pnQUFDNElIRWk0WUVKRENBSFJNM1NFZk1zT2NMa2ZLNU5nS1hjYUFyRHRnNlFnSzc1RUVmQ0hIdElqZEJFQmlOdzdUSGMxWW9FR0ZPa0pPQkcrQlFRSnZuL09IcFFERGJpa1lTSXU2dFJiSFJXVmdhTnh4MUxRakgrT0tFR2VEQWhqeUFrK3BCNERyV1JaMkUvMmRUSGFqMVhrTVo0RkMrSnVGY0FFTFkrZld1TUVYT0dZMXluQXY1TVZrVW04RXdTT2lwT3g0S2JoMnFBdHdJRXFESlcxb0xjZTA0bElFTHhmM0RDZDdnVTliWFhoQnVXRU1hY09Cb3gvOWdNTy9yWEFrWGdBSXo4SUZuVTdXQUFmYkhvc2JFaHk3Y1NwM091RGZtWjVpKzhZallGbWphSUlWRHdCeXpuY1RBYlJ1UmV6ZmdvT3prTXFIdVVvaDhOVHE5eGVpaCs1UUVPWDJQTndnSmNNTithTkpCdHZkWWwrcTNoVWN3UnpxTUFBVnU4QWRyTUcybElrV0NvSDdTazBKME1VR2FZMjc4c1dVUkVqR1BBUmtPMHljZTAzaE54V1ZrazFsLzUzMHdwMkdNOEhJSHFIaU1oeWV5OEQ1K1JYd3BCQThUSkFpRHRucUZSa055WWY4UVlhR0JyOFVzQUlZOENPRVI3SEFRS0pCWmhHWjdCTGdJWEFBSFNZV0FaY0FHK21kTjQrQlhhb1FFQ0tBSFpvQUNVMVU5ZzhZaTVUTjN4OEU5OUNFT0hmR0RVNUlVNm1ZajBmSmNPQkFGTnZnSUw2QjFoakFCT01CeVRvZ0R4NU1sTGFoSWZzQkdiUlFXUWhTSWZGQUxKQVllNkNZVDk3UXY5UEdEdkhaM3pUQVlnZEVSUTJnQUh0VUpkTmlFaENBRGRKaUN4VlYvV1RJTFdwUk9jZVFIcVpOTjRsQ0k0VUY2dThNdG43SXRqUmdqeDZNdjczQVBneEVTSVVFamRjZ0pNcEFFY1ZCMFhmY2ZDTmhSbnRna1FXQUx5eUdLc1hSYW8wZ3E4WUNLemdFdTBDZC9KU1VTcldZUU0rRnpiZVJkdFFBaGpOTTRPR0F3a0NBRHl4Yi9CTW1FUjRQZ1U4QzRCc2lDSnpMUUJRWXdSTWpZU01ySVNGZmdOd1ZRS1R3UmhhQkFKZEpJSmY3U0hlcHdDRWJUYUtna0xXekFOT0VvQ0Njd0FTL3dqZkprYjhiMUIyT0hmbUNDSHR3MFJHejBCM1Z3V29HSUF0VWpDSkswRWlNUk1mcjRDT29TSWRMNEt6M29MMHJVVWxjUWYvWWdEck5nQUp1MFI1QmdhaDdtVWJlbGlUaFFCZ2xvZmo5Z1dEN3lBczJWZktyMU5xamxPd2JnVDRNQUJDckJhUEZSa28zUVFRRTBHOURIVkQwWUV0cnpWNFJRTythd0RGL0JCaml3ZVkvZ1UyL3dCaDJGQVhmVWtIR1FlMytBV0wzbkk4ekZRZ3pVVWc4UmZFakFsZm1vYTZlbkNBNWpNMmI0RExJbU1qdElHNlIzRHNLSENPVkFQUWRtL3daTGtJdGxXVlkyNldGSmtIc0p5QVZKSUpVWE1nV05acFF0UlZCdHN3QisweFBhOFNDTDhDQW42VUcrdGlESVFRaUYyWWk1WmdpMEF4R1ZNd2hGY3dWc0lJYzMrVk1Zd0FWY01BRVlZSmtJYUYrNk1pWmJxRnF4TVlOczBTNkhBRTBQVXBBQjlDMzFKQityZ3o3MVpFcUZNRC9pVUp1Rm9BYy9NSmFkQUZSNkJnVkJzQWJtQ1NkNU15aUdFMkMwODVHVTh4bXd0SnpUNkNDczAyWG5RQlFiZUNTblJGZmpVeGluNUhTNlk1eUVrSTBXOEZXVFpaT2ZZSURuT1czMXhJS1FnVGxHWXdZeDRwNklJVVpIVVJhcDFBeGpRaFluQVY0MVloUHVFbHJQVlFCY2VadTJVRDNaeUFBbFFFeHNJR3E1aUtDZHNHZVpObHVJTklZK0l2OFFDSU03K0NrN05HVVZkTmNxMVJBVzBuSVN6UlUvY0hHWTFVZWtRZHA0QXhSdVFHU2J5amNtQkdJR0tpQUdiaVlHa0tJRWo2bEhvbUJoYlhBdG1MUkpPTUFHN3RpZ1F1a2NSTkFvTTRKb1pER2FiREY2ZGlFSThaSXU3RUNMVjVDTngrY01OTkpvTWxFT29WSU9OVVFqVG5wVnRpUTdRdk1EWWpsYktxQUVHckFEV3RBQk9rQURDdEJwWk5rSkI3aUVQYUFGWkxBREdwQUJVWUJKbk1RR1dHcUY5QWtlNGNNckt4U2ZpWEFGVExrU1pZTUFsZE5HRm9BZkc5b1lXbWhMQytKejF6Z0F6aENyc3dxbzQ1TmdyU05UQzRDRlZzcEx2NlFCTmhBQ0hWQUJOVUFCMEVvQmQ2QUF4alFJZDNTQ3RIZUFTd0FIRFhBSDBJb0ZGZUQvQVFjUUFpR2dCSi9hVWJ3a0JqVjZFTXl4QXZHbmE0OWdaUzFSQzNmcVZ3T0ZIdmpCTzRrd2JvaElxRlZrVmEySlNnWWhKaW0wQUx5RnJPZEVCZ2NRcWRIYXNCVFFBQzVuVm1rQUIxQjFDR2Q1bG9Ld1MweVFCVm5nc05GYUFUcFFHVnREVEZlNnJtUnhwbFR4SXA2M2NJdUFZMDhwSnRaRGhiTTVDejV3cDRwUUVMR3hsVlNrT1NmR2w5WVlXRmZ3bUVtZ0FqeXdBeU5RQVI3cnNUTXdBY24wQmx3Z0EyMmxsaGM3dFJnTEJSaEFUS2VpQUNSQUFoMmJ0TkY2QitFNkJGdWdBbUhLUzJ5d0JPaWdiaWpMRWdJaGR3T1FCNUFnUGkvYm1WUTFmS0JSRGhRS0k5YkhRclk1a0FVaHFrdkFReEluSnR0cVRocHdBRWpydGRKNi93ZU1Xd1Z3UUlCd3dMUlJTenBVKzVaL2dBRU4yVWt6QUFja01BTUtvTGhKQzdZNmtBSmdnQUZpSUphOGxBUmxPa2JzU3A5TXBBOHlnS08wQVVlTzRFaHlTeEhxSWlaYXFKZURjQVdla2JlaGVUMERXUXU5NTEyTjVnTUswQUFLTUFOajJnWGIyZ1lsRUFJZVFBUFF5cmlNQzYwdTRBSU5zTDBmOEFGVlFLM0k5QUpKa0V5N0Z3Y3ZjRXkxbHdhOW1XYWM5QWN6MExrZXBnQmRDN3JWU3dGZGV3ZmdDZ0dxc0FTODJFbHN3QVpKb0s0dTAzTUUvQTdwb0E5a2hZT3F5Z2d2K1g3OWtEdDYwcEo5R3hzTTJJQzN5YW9Nb0VKa3BJWFpXVHMrQUFlZTJ3QVArd0VLMEFKR2NMUU4yd0FrckFEdUs2WWVKcWFFMTFGTTJ6UTVlZjl5SitmQ2c2QzFDc0JKNzh1MWYwQy9kK0FDeTVzRW9RdXVGZEFEMzd1OG01dVRUQnlxRktrSXkyRUs0Zk8yZWdkdkUrRStMdWhkR1NlUWVsTEJSY01BTTdFTW4zY1BIRXdJczNrNFA5QUZTZUM1SCtBQzF4dXR5cnU1TTVBRUN0QzkzdHNBekp1OEQrdkN1V0pxN3J2RVRLeGtMTHkxblV2SUpMQUlkNkM4bktUSFFHeTkyTnNBVlZBRmR0eTlDckM4T0JDVWpOQWhwVkFIT0l1cmpjQUgrREdNM3BBN0RwUjVaRkd6K3hvUDdsazc2TUVkNGtQR25rdzdSS1FITG9RQ3h6b0RJcHpDSW15OXZId0hmN0RET0ZBRjNsb0ZlRndHbU91K2hrd0NsY3pDZ0h3cUlGekpmN0MxZ3RETGpQc0hpZ3dISDVBRjFTd0lYcHNJdkd6L3Yxdkx2RWtneW9mUW82QXdVS0RRR0N5YkRlN0RRSm4zTU9yc3lSYk1BS2cxZk9wY05KVGpXcUlpejNKS1ZiR1JMQ0RNdFIzcnJRMXJDSW1jeDR2N0FlMzd5OUVzellWQXlNemN6UFUxQTU1Yng5NzdBY3lMQXg4Z3dsbVF2Ujd0MGRzYjBnMWdDTkhLc1Z0cnlhbTJEdzdjQ1BHd0QydEhPNUdZYnRSaXhZZWdSZzFZTzdDbGpiUW96OVd6VGJ5TEJNYjZ5eVN3c2RDcUNOQ3EwRVFNclVyTXdvaGd5SU1nelphY0JDUk0wUzZjazFYZHhGZzkwb05BQVRXUUJRMmQwYW1XaDkzQUE2RHdjY1BBcElRaGhLblROVEtGQ0cxa1BTOVp4ZzE0ZVVXWm5iN3IwNStKUFJQMHpGdnIxWVFRclQ5Y3ZRMEF3b3ZycmNsODJJaE4vOGhaOEFGd3dNSytUQUhhdTcyUnJDS1RYTm1VN2IyUlBOSysvQWNjeXdUaExHcGlZSVZyNnhOMUpjSEFjQVY5dVJRWTJIUXRYUTQyV3dnRXBnNzAzSm5acVh4YlhBaDRPOWVqbDVRV2dJV1AyY00rSE5paG13VVU3Y2JSNnRtSm5kajNtd1VzL0FFRVhiM1VITjNVUEFoK0hjM0xDOXFtclJib3M4NjkwRGtJaGdnTklTWmxzZ0FNVUJBMFBRaGd6REJ3c1UxNTR0WldwYk8vNHdNdVdEUUxnS2c0QU56enE3Z0tBQWZDWE5LTndMRWU2OHVuUXI4RVh0MkNvTXoyVlU3Wi9hYlZGd3hzODg1THNZWUJZYk5xSkR1ckdVRE93S284MHlnVmZBZ0NvWmZheUo1cXRFSXkyenNxMEtLZTI5Yy9MTnhGTGEwSzdkd095N0V5UHYvalFGd0Y5KzBDTEE2NmdXM2doc0FHZGpVSzlNWVBnbVVrZWNzTEQ1NEkwTlFRZVhkQ1dpeWd4b3NBZnRoR1lpS2dzTjBZYlgxQ3RGUGlNdHRDREhEaXZLUzFBcjNpRG5zSENsMEZCSjYwZjEyOUxzQzgzZW9JV1hESU9Ud0RnbEJPSzkwSjVQMTVuVERhamNBRDNhRXZidHJkaFFYZWE5Z3JIYzdrTG9ZL2QvbUNaVlBrYnVOelpyemxrTzVYZXREbDZKcmlQa3dCTEQ2dEJuUG1nRTNTd3IzRFdwMElidzdudjh5OEdmc0RZajBLa2JIZ2ljQUhkdmNKNTVBODJSRG96V2wzVGtHb1prdzUwMk9YVTBpRmphR3ZoaERMa1Q3c0REVHBSK1ZobGs3amZ4REVXMDIvaS9DMWxieloxSjBGeUIzbk5ZZWxxOE1MQUNhYVpnVC9jZ0RVQ2JTZERkcFY2MDIxN1FJNTEwaUpxd3pVMG81QTdPNU8zMmJ3QStoNjMyQnV5QnhiQ2cyTDQ1dzk2ZzVkeVdJNlc2aWUxcitRbEtER0NWZUFBcndMQ1JDa0g4UGdPMmY2NnYxWjEvdXFsTUJ1eHZUOENPLys3c1dxb2o2QXV2UmU3NFM4c1RJZUNpYnQxSldjMGMxcmhTZlo4SXpPd0l6MENYeWd5ZG1nQlB3Y0xYNGlEZ2xmMndkZjB6a1BDajZrOFpPK29zZTYwSldjM01rczQwWnZ5Q2Z2d21lTER0Q2tGcTM2RXprUDhlMjlDS0hKRFQvdjd0bDRCVkhnQTBuZzhUeE0wY3NNOGthL3pGVE54S0w2ZTBuZVJiNUE5VW5DblN5UjljUk8za1lCRHo0Z0JsK1AxWHEvOTN5WEJFdndleHhoODVySjlwN2c5a1hTLy9NV2tmR0ZKUzJNVHkxMzRRTkxFUG1TUC9sZDRESjQwWFBwQUMwM00vaUVId3FHenljUVZCWEVqcHFNei9pa1gvb2ZVZnFsMy9tOE1QV2FPUURVVXhFSTF2S1VnOFVIaG5tcW4vdTZIeTJVdC92enlmcWx3RFpDK2ZteTZRaHFSL3ZvUGU1UHQ0YWhvZnBsc1M2N0gvMlZRL3Evdncvc0VKSjR3alpSVDVLRDM4NTFhUWljSXkzS2ozbW12SWJJRHd3ckw0bmM3L3l6Y3dXY3Z3MERnT2RBSTh2L3cvbTRjMkMzWDVEU2t0cTZEd2dNZ2xkL2hZYUhpSW1LaTR5SkE0K0pEQllTalpXV2w0cVFCWFdZblo2Zm9KaVNtWThEb2Flb3FhZVFpQklXREtxeHBBVUZGckszdUo0U0M1U09wYm5Bd1plL2lKS3d3cW1QQlFZTHlQL093YStreE0vVXVheUlGdEhWb0JMTHpkdmdvYTRNdlllbGorWGg2cGpUaHBLVDYrekw4ZlNXeHNmbTUvWDd2cWF0MmZqNE1hb2xzR0NoZHdFTG5mTm5jSjJwYTRjQU5oeVljR0k4Qm9Ta1FiUklyWjA3YlJ3UElSQmg1bHRJZnVrVWVqd0piT1VmWXl3VEdZalp5UStmUHhsampldm5rdWFxalg5Y2dhUXBBWVVJQkNaOUtyS3d3SXdJQTZNTU1mWHpTY0s3bEF0N0txMmtMOUdWVnlsOW9rQ3l0WkVmQm1ZU1pzdVdSNXlrbkNxek1pekxhR0Vpb1dHVnpxV2JLSThlVzFMWEFrUlEwWkpWc0R5MTB1MXE2REJndm45TUZZYThWUENma1Vpc2h2cUtPQjlqbW9vUE9aNWNkZ0JweWk4RloxdGc0R2lwMDR4R2t5c25OMlRqN1VvTUZsaUFpN3AzSmRXMnJ2Z29zQkIySThjQXIxQ3k2NWs1TXJsWk1lWDFUYjF5dGo4TGpLTElhdHd3d255SW9JdVBybkg4N2Vyb1pka29aR3VCY09MUTZabWZUMStyaFB2SzArdFh4VnJFOXZQUFhESElmVnpWSjk1ZFZnbnlqbURkN2VjZ0lndU1aTUNCMWVTbUdrYjNKVGhiaGh3cTJJdUdDb1lZSW5BQWVmamdpWjQ0VlFBQzhZR1Q0WWdreHJqYWg3ckpDRnlJMDZHb0l5TkkrRWRoUVJ4MktDSTVoV2lvWEpBWkVzTEhrbTN0NkdRbkRMRFlJb29XTlBua2xWVk5pZVdXWERLeXdFSlczZFRsbUdRMjlscVphS0w1U0lOcHRybWZJRzZpR1FnQUlma0VCUU1BZndBc0FBQUFBQUVBQVFBQUJ3T0FmNEVBSWZrRUJRTUFmd0FzVndCSUFDRUJQZ0FBQi8rQWY0S0RoSVdHaDRpSmlvdU1qWTZQa0pHU2s1U0pBRzhZRXhneVFVU1ZuNkNob3FPa3BhYW5sUVFDQkdsL1ZvSndPTEpXTDI5dnFMaTV1cnU4dmJnQ2Z5QUNHSDl3U1cxUlFqeEtVU3BpT0hIRXQzOFR0cjdYMk5uYTI1TVhOeUFxU1d3cVBJUjRnbjUrS3JFWXdFUkJFeS9jOC9UMTlxamVVM0U0UDNWL2ZnNHlFUGpEaVFnQkVIMTR0TUhSamdBWE5qaUMzSnRJc2FMRlFSZThwY0d4aEVjNkV3UmtISUlDaFFpYUtEamFZUGpCQTg2S2l6Qmp5dHdsUUFDSWhTbytEdndEaFNBaEtESXlTTUVEQWdNT01YNUE0SUFDYktiVHAxQWpFWENJSTBxNkREeWhKSWxqNWNRZ2tpRFErUUZ5b2lxUnFsSFRxbDByU05YR25INy8wUENVVVdhSkVpVmlKb2dFNnNCUG5pZ2w0bHFCTXdFSEZiYUlFOE1VQUlWZk9ybEEzOFRSOEtjUG1qaTMrUHBaNkxnblI4V2dROCtMUXRwWUhqOFplcEk4Z2ZSUEV6ZGxYZ1FoS2NVRW5EK3llQUFwZzBQRkJkSEFnKzhTSVFKaVlBMGtNY1RCSGNlTmF5NnhUdEMyamJzemppUi9tZ3JmenYwVEFnUUdPT2FSSWdPSzBTUS9maVRCd1lXTHJEOUpYa0FCd1FjNzdpUjgwSlI5a2FabjkvOEFOaUxCQU90NVJBUlFjU1J4R2g1dUpNRUZiemcwMFFSbUJQZ1JoU0E0d0ZGSGFzekJjV0dBSUlZb2lBUVNoTGVFSDhnaCtJTWZhd2dpSVJkeGNDRmhORkJvNE1jUGJNQ1JFeHJtWFhlYmlFQUNTQ0p1T1JGQWtneEpMS0ZCL3hNT0ZqTGpHMENaNE1jZk52cHhJQlQ3ZElGQWtGeHVSeUpFUFBUeGxWRnh4TUtGYTY0OGg5MlJsUDFqd2x4R29kRGxuS0lOSUFFQ3hzVDFsWGxKd0hIbWl6aVUwVVlTMDJUbFNVZ2t1ZUVHRGdiUTZXaGlKQ0tCUXhkVy9nVFVNYTQxd1pzeGhZNEVoUnRyeENHR0JJK1dtaGFKUC9BalppSEpMVmZHUHRFd2t1Z2E3aUZBcXFrVURUQUFyb1NRNkVOVlliRktranl5WUNmU0lpVDlzVVpqQnR6S2F6MjdNbURCSDNiaU9pUU9KZXpFS2srMmRJcnNwMnU0QWNjU3owNWtnUVVNL0VFcWljN09TV0o0SlhpQ1NMS04rQWVVc3FFdTBXNjUyNXhMN2JyclBvb3F0aEtCa3V3RTk2NFI2cWo4emlOdHdPeWE2aXNjTEVSeXBQOGhVQlNHZ1hNS3g4Rkd3LzFLZ082SUpPcGFxcDBTZFBIakl5UzlRU2lyZERXbnJMaHdiQWx5TnRMK0c3R3BLS2ZhaWlOSHJ1Y3RRVVp4TEM0Yk50K3NTd3VDNENGQnVnTU91ZTlFU0dBVEtRN3lBQTNGRzFpWDU5OGdHeG1OZ3c5VEsxMktWMVA0c1VDNjFJSk1JZ3BIc2J3MURtOEVJUU5kWmN3MUFSeWdoc3RvMldhUDBzSUxlWnp6eDdTN2dqd0FBdEJFY2d0L0dLd256NlhZS2J3Q0RpZ0FIamdvVTd4UUFnTlBJNjYwQ0NnOE0vUWlMN3dYU3hKM0Y5YUt3Zzl0amdvQlZ3d3BMZHRLRjFEQU0yMUlna2wveE1TeFQ5NzR4a0cyN0tVSUlNU0FmOXcrU09LbThyR0FIZ3RjVVlJUHNjUXRpZGQ4TmluSXNqVWpuMHIvSWNwSGV5N3V2RnFnQndNbC9DQUdITWEwNFF3T1AwdVNiSG5PNFZ2R0QwT0s3NGdBU3NoQUJpNkFCZ0ZtQUExWGFONzVHb2FDS0N5QkRXd1F3dzlLb0FRaEhLQURIOENhd1k2bHJNYXdZUWtHa0pQbS9HY0NEWnpyaENjVXhBa1prRUJjVGM4TTd6UEdCSGtRZ2hIb0FBc1V5S0VMWnNBUWE5anZVOTlyVUJUVUl3czJkQUVKVytxZi93UlJCd1k0OFlsUWJGNExCekZDQUUzdkR3aFFXUkpVSUlRZGhNQURPTXloR01VNEF6alV6MkpRVUppaWtxQUFENFRBQkR5WVFodjJjUjBmaUxDS0Rhc2R1L2FveERtaG9HcUVZRUE0Mk5BR0pXZ2dCQjBJNHhnWG1VTUZPSWdZa0tEWEdtY2dSaHJvUUFzMnlJTVNYaElMT0lqQi93QTJ3eU91VU1iSGZmVXhRRDdvZ2dHcXhyWXVSSkNMSWJnaEk4ZElpQnplWVFaV0lFYkxKcUNJbHQzQ0RTcUl3d3hJa0lWRjFxQUNIZEFDR1lUUXZ1b1lFUW03T3VVU2czUW5PQ2hnQmhFVXcvdVNFQVV0Z0hHTUxtaEFPQnRBem5LTzB3VVUrSUN4NEFRSEgxcEtFRkJ5d3dyZ1J3SUZFTE1RWThTQ0RrWndnQktvb0EwUThlUVBVSkJFVVpiTG9NSDVBQVh1MElBUHpPQ2hWYWpBR0IxYVJ2aGxUeFlXdFNnUE41RXh2ZURtaklXQTBodmE4QkJaeUlJRUpFakVHTzlRQVE4TXdRa3JJRmVHeE9BREpFWVRvWFRDYVdna2dJSWxQRlNoZHdncUl4dFFoWElhTllNektHbzVGYkFjR2J6QmpDSmh5TmZnU1pJMHZHQTVNLzlRd0h0UWVrOUcyQklMRmREQlMxV3doRDdoSUlJMVJRRDBDbUV5aTNBUUZ6b1ZEVFFYaHdSWFdyT294UlNqSUdqNUIxditvWXgvQ09vZG1GcWVKSlRoYmthQlF4a3cwSW8zcEFFRFhPaVRJQlR3aDJ2YWs2dFo4T29kS0ZDRmF4YVRwVHJRQVJoNkVBTXhtQlVPSCt5Q0lGQkFVSlJWSzJEWktOZ2ZPcUVFSHBqaER6NllKaUowUjV3Q2dOSUF6OENCQWk2Ymhiek9jcUVVb0t3Q0ZxcFY0VWtWQ3ZMZ1lZWnVzN0xxUEhTNEtmMERTaG5CVUFYRVlnWWZxT1ZYSzFDQkhsVGhBOWVjQVNFZ21LUXUrR0NWU0pDVEw0SkEzN3Y5b2JZV1dNQUNidnNKUU1iMVB3UkZnUThLSUFFa2lNQUFKVmdDRG9hSlV1UE84ZzUvaFlQL09HK1RJWkh1QTZYRGZXaFdMMXZaaDJZUERqOXRRR1lGQytGQnFMTVlDbWhBWUZXYXc4QUtkWnlUZmVoN1RDcmZYWERDYmtGUUFnTVdNSzIzNlhZUit1V0RHUTU4WVAwdUlBcnJ1U3d4R2RsWE1XcTFBWnh0d0F3V3V4NzFDb0tyV003eWRqTlVSb3htOVFORmhVVldvZXhpN3BaNHJ4UVFoR0FwMEFDVThqQUpTZE9GRWpqQkFnMnNUWStSK2pFa2ZIQUZIdWZYQXFteUprcVpZSWhGYXJVS1FRMXZkUmloNVN4Z0I4b05oUS84M29PYjRYNEF6T1VjaEFzMnZlay9rUE84S2g3RUlyT0E0VmlJSWM2NndFT09GNmpuVC9qNVhBdEFnQWlXQUdMTUhzS1dXdjNBWnErWmhBYmNJYk9MWUVKeGtmdGtFdWVRcUplK0p2d2MvMkZTNFc1MmpNVXQ5VkdROE45S21PQmNVNlJpcXlNeExWaWpRQVJYTUlPQ0dVeE1ZS09adVRnSTc1cWhYZHgyRC92QnVIRUJoRmRxYkFxTWs2aUZ1RFNteWRsa01aSzZudElWUStiK2U3ZGpzU0FQa0pqV3RrZHh3Z0tBbTNvbGVFWldCMjF1TVE0MjNlYys3bkhQWFVaNWkxcmpMVWJFczVGTGdTd3dnYXZTWGNMQUswRUVJckNBQlZSUUFyY1hUb3B6SVFFSkorUnhGSjRoNkFaWFBKMks3amZJOVlyUDVNTEIzSk5ncE1tNWVrMVpkQ0Z6b05DQXRJeHNnU25SZkI2dmhyVUZlaXFMaVRlNHljOHUraXdYa1VQMWJqWVNTdiszdE9IdzlFY1VZUkY4a0tJVDQxNkphbDI5RWlqTStYNS9rRDJ2dnp2Tm9raXpOVVB1MWY5Ulk3bnBSL2tCcWtYQkFEc05vRkYxLzRNLzd2Nkp2TU5hRDFkd29FbTlMbXlrZjRLaHdnVThpOW1OWlI1NjhvaVNxRyt3RkxGMXlsUEU4dm5WcnhuSTJuY2x0eHNVZDhoZzBEL3U3MmhuR2ZGYTJ0a2o2aXVEaXJsK0xiQ1BmZlVjQ0pHdUs3bmNubjlFcVB2dGJ1Myt2c3RudFdPMUFVQmYvRTcrK0dwSmZ1d3hqd1Fmdkcvenp5ODNKRFo3K3lzZkh2RkZSSDIxQnlHRUhZOU00ZUJIUHV3Ymp6THdkTUdzemtkWmc3QmQ3bGFBeFRXQTc0ZDlHV0pFSWFRdTgwY0lWekF5K1NjYWVUY2d1bktCQXdJZTVuZFJYRFpjQWtnSXYrZUJNbVpTcUxVRVA0QkVEbWdLU1NOOEU1Z1lGbkFyRnhpRE1ZZ0FLUEFEWFNBR0g5TTNDTTIyZ0dKZ2dpZ29UYWV3UnkwWUlETG9lSFpDZzBoZ0FLbTBCRXpZaEV6b1hqN3dBeUdrVnR6d2dFT29GbXNWQ1JCamhaTVFDQUFoK1FRRkF3Qi9BQ3dBQUFBQUFRQUJBQUFIQTRCL2dRQWgrUVFGQXdCL0FDeGdBQ1FBNndDQkFBQUgvNEIvZ29PRWhZYUhpSW1LaTR5TmpvK0ZXNE1QVkU1UktwaVpVVTVVa0o2Zm9LR2lvNlNscG94Zk1UNEZQd1VpcjdBaVByQStLazUvQXFlNnU3eTl2citHQjBNcEJyTUZ4OGlDeDMvSFNDZ0dybjgvVHJuQTF0ZlkyYnpEeFNJRkJpZ0Q0dU9DNGdqUDMrWUdJbjhHRDlydzhmTHpnazdRc3VBREV2dUxFZ05JQlJBSVF1Q3FBSlVjOUJJcVhBZ3FoWXBvQlpEbzQ1ZEk0Q0IrNlFRaFlhZENEY09QSUVPbStPT0RtUUVFRkJraE9GbG93TEVCZ2xDVVZGRXRwTTJiMkhTUVpCWk93cDk5NHY2STIrZlRFRUVVTFk4VkpmaUhKczZuVUUvNUdWU2dKMUIwQlFhQlE2RHYwTGVXQnJyK3NhZ2lxdG16ams1bzhJUFVoOFNmRXY5V3VwTFZ4WWZkVnliREdmcmFNbVU5dElBREV5cFJ4d0FoQ1daUXVQSmhJSVdURkUrTUdIbnk1TzRmYnhZSEVUUnNpS2hRQXpUSkNCNGROYzJWa29JUUsvYnhZK1NmQTY3L2dDblU0OGNzSklVUWlNRGRtUi9pbXFTRGc1d1E4K2UvQXF4ak0xSXpZb2dLeHJsRklPME5WNGdRNGRnWlFrT0FBRW1KeEQyVU8wS29ab3NJem9PUStNZzhhQUFLZ2Y3NFpwOFBiNG1zSDFad3RER2xKc1h1UXRBYzVrK0FQK24yQkgwSVlpTkdISC9nWU1VUGVhQkJDa0k1L0NBQ2V4cGQ1Sk5MaHUyelRnd0podmdMRG9Ld3dFc09xOENVQ0Q4RXdjY2hjQ0xHYU1vRkovYkhUQ0c4cFZiVU02bnBWcGFNUUVhVlExazU5bFlVT0hDdDAwbi9rSkJjUUNPVHdGUjRJU0VJb0FiWFFBWEFGTmQ1VUVLU0FScG9LRkdDQ2o4Z1lTWW1KU2loQkJvZ2RPbUpEWXF4UjZCbjdlQzJ6MFlsUE9rbUlTeGNvZ0kweU0wU3l5QzBIR09BZHhrSTB1YWVpUGdCa0lwQ1ZhVWpsbHB5NkNZY0RYSlJSeFNDc0tQTU40ZSt4OTBBWnJpSDNtV3ZmS01DQm93aW9rUVUvNldYbFhGRlNYcW5DRDh5YVlVVlNheXkwMVpERVNYc3NER2QycWtLRXJaS3lBUUF6SktaUzlOMVIxVnFMblZCWEpCeGlDSElxVDRONjFjaUEzUm42RG8rbEtBc0lRSTR3YVdzNVFTa0RId1NiS1NDRERKbXk2V1dSSm5CSFFwbUd1Q3ZRSkN1ZUZ3NEJlVjU3aDhYV0doR2UyUEZsS1ZQaHVsanhyb2lpc0VsLzFIaDhudFBMTEFvRTlhM1k2a1lsNlFvc0JPRm5xMnFtNk1FUERMQVFGVStQY3pBQXVzb0lTSWJTK0RjUmhRbDhQR25BVC84b0VJVVV4UmRkSjlrR2lOUlVZUHdTQzFMVEVXeGFLc1pIR05HdHpBTllNRUN6ekFnQVRnTWJIMVpyaUx1YWtVTEdHeFFDQUdEc04wMkN5cDB3UlBUMjY3TVROWlpsVVdFc2hzaDVROWlWMng5UlFGWGpGV0FCUmI4d1FCSnlRWUp4U2N0b0pabEllN0tDbFBVNXlweHNVK0loMjBCa2krYnNVQk1JbkI2TUNOVEZCUXdRQUJ5VnJJUEJMRGFxc0tDSUc0QkNvVXpzelVTQm96K3g4SS9uTjRJQVNwUUhHbVJCS2xvbUE5cXQxbzhDcjV2L2Q0ZmcxK3hnQmsrRkk2NEFWM1FLL3dpQk1CYXBQOWlrTHJYbFV0L3ZLQXNCdDRrTHNqMVNDeGdnYnVmUS8vSEFyckovcjBpeFBzUWNFU0ZvQk03SHNlb0lDak1kOVF6d09KNDV3Yy9tS0VBZklqZ3k4aTJ2ME1RZ0FEUTBjemtCRVFJMCsySmVOSkJZRHV1NEVBZjFNRVBkU2dBRHdUaHFBb3lBb1QvSzlLa1hCSTh0N21KQmNaYkFCTE00QWNUWkc5YkZ2RURBMnptUWtXd3dDMkVJRjhBaWZJTUVFd05TaUM0QUhJWTBNQUducU9CRFJzTFovaWdRdzhXMFJBRWFNWC9NSFFsQ1Z6aEFqQmkwZ1UyUXNLcEpQQVBqdUxONEJqQWg5MEY3NHNXNU5SMHRLS2hnY0FsQXlqckVxellVNWc2L0s1M0ZuaFo3ZkRuZzBUaDBSQkU4QlVpK0tIRXIzbXhTMU9JRlIrMnRUQUdtTUgvZllkNjM4Uks4TVJIQ3FKNFpKemhyRmhXZ0ZJeTZZZ0c0Q0xpYUlZQStibVBhMzl3WCtFb2FNby9CQUdKaDZDSXY0elRGRVlSNEJqdXV4Ky9jb200KzNVeWNZTzdZeThIUVlRb2JEQ0xrMHFlaDN5Z1B5ak5LcG5YTTR6dG9GbUFUa3BnR2RNa1JDU0xOS3NydFFNK0pTT2lteUtDd0FYTWNaeTVESWpYMnBIT3RiV0NFTU4wWnlqakU0VWI3RWxmeVZRYzRXd0pTdHpBUkliVFRBTU0yZVZPSG1HRVVSS1lXU0p6dVlDQTRKTUJkZ0pvUC8vQXRrRnFSaWp1VE41UE5tSWlOOFVybDV4ckJ3cGNacnMvSUNWZ3hwcG1KM0lFRTcveHd5WHc4ZEdlemxrQWZ5anVkaDF5MlQ0RWtoa3JqUlFOa3Z6SlFLZkhFK093WXFoWi96bWZUV2NGazdBQXRSd2pKVVRWeXBrYTNxMlVNd01sNmxEWHdSNlZBcEVaU0tCYldQL1FKdjh0aFROTTJSWmNXT3JTZGV4UkdUOTVxek9PTk5kdFRRa29nbURBNEZEQ3o1K1U3SkpBaXRkdUtJSStTdkpHTEJCTkp5cUZvbytaSWc1bU45S0hicVRKSkphMUl5WHQxQ0pjbHVLTmdFM3plWXB6bWVkb2hvVEZDU1dqZzF2Q25wRFNvU1B4TkN4QzRjcFlXaHZXUVk3T2RsZVltWmtVUnozUEZjQmFiaEpJVmlpeXNxL0JoeVV3bWRKSVN4QkNadXJRREh3dzYveEV0NzN1UmZkdUZGR01qbXlGSkpkSVI2Nm1GRi8wdnJ2SjNuVzBsb1NDUWhDNkpOMkpUQ3RKSFFwbHArTGFDSkR0U1FibnFhY0J3RXVRQll6T2ZuL1lpUDhNOWd1bEtqMXNLZTJNMTNTZHRnNER3UGNpZlR3WURuczNDSm9WcnNHaml4L3BvckEzS0tGdklyV3lDQ3VMUTZqVVVtdFVIMVlXTExtb2xTdndnU0I4ME1NelJvZS8wcldZU2U2RlY2UXVvdExNU0Jjc3NMRFY5ekpwZ0NyVzF3UitJRWdEelVEaUlrK0JVWWRsbW94ZGtyV1RyaWMxTXRuTk9WeVIyVmJCQ2dWWS9FTWhzMndZUDF5aHlsc1d3WkxjRk9adFRTYytBQU51a2djMFFnY3Y0R1VYeXJHYlREb0lFeGdnRDZwOW95QUtKMDhrdTBMSkViNEl0SVNDZ201ZCttdlMyWnJ0cm5jZVJVT0pDSnNkQkFNZWJWTTV0dE1DMTluVHBTdXFJVnY1NWpMdmtRNHp4L2s1N1FibHIwd2l3Z3BFUUY1b0drQVBqckxmNENEL1hjZnJwREVrcG40RVc5MHBJRnQzYXlQRlVISHRScTJiVHYrMHpUSmFRZ0VXTjBzdU8zaGhXM3NnTXpjSkZUclJhWkpnbGV1MDMzMFJTVlgwRmNZYXB6MUxIUmVTZUtwTEp5RHQvVmF5YTJlT3V4QWF1QW1NQTV0S1FnQUVHU2NwaWsrMEM3SnovcGxGM3BoWkljYXBTSmF4NDFCSmNGUDRGbFppYWRVVWYxVkdpMmNHQUEwZkFGc3I1M2tQdi9oeVRvcHZDRDFmNDgzS0Uyd0lqaHZxUEZkQXRzQ0JkTUZtdmc4RlNERTY5U0NORmtpOWh3RWxBL2JYeW1sb0I5ODVTMG1lVkR0RUZsQTZ5WWNRK0N3SXlYOGdCa3gxS1h5Rm82a09rNjcwNEhSbkFVSjJxazB2eE5CWmZvNnhOdDhXMXpuajljTnRmSlo2WUlBUHhDQzMvMEhvMWsxZm5pbm5hR2xMUTJhSFg5WURZTHZHeld2YktmVXlNaTdLVzg2cW8xb2R2QkJXTHd1SkRxOHNJdDAyY1lZSkc3dXgwOU9xbUZVaklhejhxQldwb1gxUWRhc2h6b3B0MzNjRkZXaExFSlZXMWdwc1NzekJLUTRQOHhsSHVGWlIxUGhrcis2VnAzM25XY2JZcllxc1ZvZGdnelQrWUlMdmhWSFhoSmdjMHhHUkI1S0R4TFg3U0s0LytNV1A4OGllMTRwMDBUbTQ0bDhsdXZNWUlzU2pBYlZMaVBFandnVDZBbTBaUlZQNjVpM1lWbmQvTno5ak1US3c0R0ZNTkN0TE1EMUVOWFJGSkFQT2dsaC9zSHFLa0ZQeEFCTUV5SEZLeFFEL0VDb29jWUJ0QjNvUkEwUXI4VjYyeDRIYWwwNzA4akN1OVJUQjhvR2RzMC9LbC85bWhYSVoxSE9DQUZJVm51SmdMM05oSHFjQWhYVktvU1VCK1JjU1FYRlVpZVF5Vi9CdTQ3QWxBWEVGVm5nRkJHZFRTMWdJaXFGN3Q3UVJLT0VUZGpFSVZUQlNFelo4SGVKL051R0JzcVVJUURFVTYrQmpWWmRMbkpGUWc5Qk1pTE1SNUNWS2srVVNsR2N1SkRKU0d1Qlh1L2NVc2xVVU05Z2VHTU1oUzVoSXptQ0hzcGQ2U2plRWtrVmVlakJhTHpnRENMSUh1cEJJbDZhQmpjQmIyUkJ0eWpjUjVyQWJqYmcxOG5PSHF1aGdpRk00aUpSUTB4YUxSUllnZHZGNzJSRklwQUFUbndjSmhzR0J2SkNJN1ZHS1FTRmEzWFVJTmJWdFdJZ0FaakF6Q3dNOVNzYzEza0Izc3lRUTN0Q01HelVmTFhVS0x5ZHRtYVlMbDhjSXBxai9mTU1ZTGp5SGpNbVVTT3ZRZ0o2a2hkRTRNZXl3ZTBYMmZPNFRlSEtqaVJVRWJvb3dGYTdRamFBd2dORldEdU9ZR2dLWk1iTWdPb2lRamgzR0hSc0JoUEhUZG9PVFlMZjBRQTlaQ0MvREJvRjRoSVNRWFoyMmkrRzRJaTJoSldBbERvcUJGOTZRT3dtWU9BSmhBSzM0UUtuaU9ZU0FhTkI0aDU2VFVGc0RkUTFYV0xOR0NoK0pDRU94Q0oyRkY4ZndDdmdGZHJ4bUdDaDVQNnRHbEt2b2NMSEhpajQ0UzFzb0kxQW5qS05RT2FSZ2g0WkFqajVwRHJQbU1tYlFqQWxvYUlvVU5vUndhT3R3T0FsbFR3WVFPRVlabFZvSkpkRGdqNkR3WktVUWExMUpEdUFpRG41MVhLb0lpWWNXbHI5ekRHWnBrZjV5Z3FLbWRNbjRkOEpoLzJDTGtBZWJFVmlrVURJMjFndDZDWlRpUUpoUVdWT3p4QXhSWmhmV281VzgxblBJR0NQN1VJaU93QWN2QTR5TndBRHd3VHVvYVpsTkNKUmJRbUtibVRoYlV5VUlZSVVFd1pSeHVaaks0alhwOXdsK1lFK0VFd3BYSUE0dWt3MnppWmxSbDMvSjJFd0lvQWVHNXBLeFdKckNJNXdCaVk3ZzlRa1o0QWY2RUplKzBKemkrSnlrV1R1SkJVNWM5a25pV1VFOEVDNE1nSmVOOEowTW9BZWg0RFVMQUZtK0lJSld1WlZib20ySkFGS2ZCSHJNOUJTSFZnSVVtQTI2Z1FUZEJ3bDUwSjZNNEFjcnBBMGwwSitJc0tCVEdaT3hlUlpTYVU5UlFIYmFrQUhWNDBhUDRBUWtDaGdidWdoVndwb2JSeHE4Vm5WWGdLQi84SUsvVUFkaTgvOEphaWdqWFpVOUVDb2M3OWVoOW1RR3ZLU1JwQUNHR2VxalAxcDVnWWRTUkdvS3VzR1NQV29XeTdsdFNRcC9uaEEyUjNvNjIza0liRFNWS1FvTXdKbVNpU01PZ2ZPanNxVlk2YWRvNUptZUZyQ2xlM0tabnRCd1hpTVdWQnFsWVlvSXdsbVRWVHFsRjJHRFBla0ljSm9hblNNSU9Yb3dnZm9JRytJdHlwZFI3eWRiVVVnVU5paWVhTnFFakdxbVNVa2RqaW1PYThwTWl6TUFYOW9xaC9vSnhGaUtQNkZVUDhWWm5YR21xc2Fua3lSYk43aFAyQkNxWWRPcEExQ281N0twVFZxT2VMcFIvMENYb0lxcnVScXF6TFFoeCtCNCt3T3NUUnFxRXRCTTRWS3NMc1NWdVZxT2lUaXJBN0Vib0NnODBCcXN5b280TzNLTXovcVQwU3IvcklNS2UwVlpSTWc2VXNJS2swMkRUUWh5QzdwZ29ZK1VydHlhUlB4SEgxVjBDc0lhci9MYXB0RXhrL09SU0J1Rm1sZGdySUNhcmFaa3NLcVdTUERGaUFoaW56NFlZUW9FQ2doYlFSTmJxb2VXQ0VnbklsTVpQWGx3b29Ud0JQeTZsUldyTENPN3JOa0liMjc2citPMFNSNXJQYkFxc3ZucVlpUHJPZHNwWEc0U2ZlWW5DT3paT1I4MnF2Q0tJQ1U3cm84VWZWalpNSldxc0hsSmpDNm1DTE9hc294U2VhUUdqQU5vZVdvNnNxVkZzOU1FdFlpV2szQlJreStiSUtUcUNaWDZxUlgwb25kbVBHNm9wMS9iQ0VyYmdUNXJ0WjFCdGYzRWExZXdFZDd3Q1VlTHRHejd0bnpyc3dYWnQ0Qjdyb2RncW1GMWxMRWdlV0xMcUUycGdxbUJDN2gvMjdoaEc2MmVVSGRYRUpZcmlMYVFRRytpQUxrcTByaUxsd2RaS3JuNytLS3VXREt4SWlNTGNLMUxsRnhySzdwaXVySmhtYlBXWUFFUkpEOW5lcnU0bTd2aGFFWldtTEorTUpxdTJ5aDZTcnNlbXhBTnBKcG5XcVcySTNFQVc3eUxJRVNhRzd4bmFUdXFHeUtoZXdqWEc3eUlVNzNTTzFjUjFMMm1FQWdBSWZrRUJRTUFmd0FzQkFGSUFIWUFQZ0FBQi8rQWY0S0RoSVdHaDRpSmhSTnZNa0dLa0pHU2s1U1ZsQVIvVUMrQ2NIRnNnamh4RTM5dmxxYW5xS21GQW44eVNUaHNTeXAvSm5WQ0pTdHNPQzBZaGpLcXdNR3FGemRLR0hCTFNuV0RmbjE0Z25VL2NIQXlyRVJ2U1NmQzI5eVJGeGRwZjBrbGduNUFhQ3hCTWpKRUJDQjRTa3R3S3dLdWJFbmQrZnFDRndKaU9EL3kvUEVEQWhNaUdlNSs0UGlUTEFxY2ZSQ0ZYVkNTaEkyU2dTQ0lESUpTQ0FvUkRYL3lvSG1CUTRXZkZYQU1SbHhwaW9nbmtIa01BckFTUjlRdlFUSUVsa1BqaWNBRU5pQllDcDFFZ0VCRm1CcWhRSW1qNGhhYlhwa3crZUd4b29RZktEZzJ0QkJ6WTZqWFJBUUVjTUZ4TVU5U0dTZmFET3lqSW80Z0tKai9ORHdrVzJRVERobGR2K29sTkdWRnlUOTROTDR0RTBYT255Wk40RFQ2UThSUGxFRkwvTENZcG5MdlhoRi80Smp3ZzBuVDNES0NtdUNEMDZ2eFkxQkMra3pBd2NXeVpRVC9US0xKUkZMdGp6OVdSR2ZtRWdlRGpENDhCZ0gwRXlRT2pqWnRicnBtS1FHSnVEOUFNcjNCc1dLZ25EWngyangweTJVREZEUisxUDQ1N29kSXI0ZExXQzFmS1dGSlNjblNjUWp4NDJaUWt6SkplclhCbDdQT2ZqRkM0QkVFRkVuQVljVW42NjAwQUJ3NDhPREFXMWlwZ0FadmgzQlJoZ3h3RGFTVENZS1Vnb01CQmlRWUVRSi9pT0hIYkRpZEVBcHVvU1hoMW4yalpQTFJUakpXSkdKRXpRMG4yRnNUMUdTZmNYK1VBUm9oSGhFaEdCUnJ0SUVELzRrMzZpT0JEemlVZ0lkeUcrRVRtbkZ4YkFJSlIyNEExS1NUN2drUmxDOHZQRlFHZ3krVUVnbEhhOFFoeHBmNVNQQVBENVVSYVNVT0ozQWt5UzlKTGdrbk54SVVxTUVqaU9pcDVpUjhkb21FQkg4S0UyZ1NJSFVEUlgxL0tOcW9vMGx3dFEwVUdNVHhobUJkL3NEb3BhcEl3SVlZS0ZhaVowZFFsQkVIcFYxMk1TcXBxQXdnRHBXU2NLb2xrVXBSOThjYVdDMUJhNmtGV3FLVUZRK3hDb1VWclFHTGd3K3pEbXNKQTFCQ05Ra1VhZUR3d2swVFFBV0ZLODFtaTRLMHFDRFFCV3VWeUlBQkRoZzhzdTYyU2tFQlI3TmN3TUVrdVlrd1VNQWZBNkJnUUJjTWpyZHJydE50OE1ZeDdHS29ycTlybE1HR3JmZ2Fzb0FlZjhBMkRmOE9jQ1RSeGcrM1dVbEpxNkNncWM0Yk5BblNwcXdSRTdMQUFtYjhvSXZHVWFDaHdRNGhIS0RERElvWit3Y1hFMmlpTFVsd3dBb0hDaElVamUvRURLZ2dCaHhpcUpDQkNUdG8wVUVGTkZCZzlRZnNuckpPSnBuTlMybWZiSFJoQUlsRlJ3dW5IZ3k0ekVZYkpZU2doUWRZV0MyMzNBMDhwd3BIcTFZcVJoUS92SUpERWwwZ2dZRFJyZzJBeE9FbytEQ0l5M0U4TWNUVWMwYys5d3haMzAzb3Ixd29jQUFaSnZBd1JSdTZNUDNEdUlSNzljTU1IK0NNdzkrcHgxQkIzSkpIUGdnRkRVd1RUaXFUbW55NjNEVG9NQUxuUWlqTllOaUMvMUg2UG95eU1VTURXZEQrZ1FJZjNIRkg1QTFVYjMwRExnd2kvUjNabDNHb0tjcTFwVUQvODVGajBjRUJJUWp4dWQ5aWpHNzhTai80SUlieUNsUkJ3ZlJXdTREek5OUE00RC9PLy9PZkFoUWdNQzU4NzFxRDBJNy9TRUMrMkdGQkIxcmdnUkorOEE5WStJQjBaZ3RHMlNTQUFBUG9BZ2NmWUNBRmF2Q0JFbGJoZXRXam5BSWFVTUxuNGVOdmF1TFU3YlpVS1NWUkRnY01GRVRzNWxhQkVZUkFDU3FRQnl5V01EYmpIZThVL1VMQkFNcFdnQzUwYkFZTXpNTDJJc2M5QmVCQUFkdVRuZ0tHbEFrWnZDQUplVHZFR3lZMWx0VkJNWWVHMkNFRnNGQUJIV3doQ3Z0WlhSSjhVRHdqb2tJRUlpakFFaVdBQWdUb1lRRlhjSThDU0NEQzJOMEJhd3FRV3hYaWdMY1grT1lGYmtuRUdOT3doS1VKWWdhQ0lFRWtxSmlGNWoxdy93Uk9DR0xveEVESHdUSHFpSWdRZ1FHdWNJVUNHS0JvRmxpQUJXSnBBWVdjc1pCVXpFd2k3NkNBVGFDRmtWNVVUQmc3aElFekxZUUVBMFFGQlJRQUJ5eks3UTV0M0VJS1lyQTBqQUhPQUgwMFlnWUxzVElVNkZFQ0syTUFBMWFtaHhLOFlwQWtZTUxzbmxtN0dWQUFEbVVJd2h0SVE1dFFPRElOdDJ2REZ6bXhPampNSUpsUzNCNGlwRWM3WmphemdWUmtJeGg2OElFV01NaWFTL2dCRXJJNWlPTXRRQkFJTUp3QkNsQUFKSmdCYVVwcUppR3pvTU0vV08wT2YvQWZnMGJ6bGxkZ2NuV3JJd1E2TlpsU21Qb1RlaWZNbmtCWnlFeU1LY0FGS0MyRUlRbktVOVgxOHg1TFdJSVBCbmNJekhDMEFIaEV3amdYRUFWZDNIS2QrZjhMMkhqY3dxbVUva0dUQkRRRUljZWFCU3NTVUFGSjJGLy9CdmpRZjM3Z2ZuL0lZaFlKTVRlVDNvK29WWGhlQzNBMkhqYmM2eEFNK0lNWm9Hb0FCbGdBYlVxNjRranB5ajEvVnFFS2NIZ0JiMEJJVWtoMFVtNVdiQUJCYVpmWEFXS1NmL3liUVJJR0NMMFduckI2TGtpdGFuVTR0eXhtQVptdytDc2lMbW9BVmM1eVplYkV3UzByYTlJN05PQ0t5eHlFTzYzV3llSVdkNGQzS0JCQzVVb0JGMVR2RHlVY1lCTFNlakdZV3RlNk04Z2VWbCtyQU1vdGdhbVVFTUVWWkhuWXRKbHhzWFpGS1E3c2QxWVhxREYySnJXci8rVEdXc25KZFlyTmRXNEQ4dHBDMDlhM2s4aWtIQnNXWllrclNIV1dDTmFER2R5ajJCelMxNzJDQ0dyL2ZXVjNDT0plVWNKMnBXK0czM3ZYKytLUEFsbGdRb0JYMXdYd21nTEJLRjVaRkNxSVR2Sk5ieHVIQkNHR0ZmSGUyZjMzdFNQR2dSaUlGZ3dML0FIRnRLenE2bHBzTlc3d0VnZDEyOGJjY0p4ak1SQ1lHejRHTXRwVThNRXpkcEliRlBBcU1KWXNZa0wyVk1mT2dRaVFaNG0yRlp1eHhieE5SWE12ckV6aU1ybTcvZXpDdUlReTVsZ3VvQVFBT3pOWnIyeUsrMkV0eVpSWThsZVJhY1hWc1dHcGU2bnp4SzRRUkpqK2M2Wm9ERFFGUGdEaFJFU3V1SU9HczZFRDk3N2xqSGxsTEJPZW93YzQxaWhpbXNaWnBtdVJqYXZPVEJzVkZweEdwYWVCRE9vclJLRUxmalBqbzB2TjYxN3pHaEZlN3U1Y01FWkt3Y242UzdTZW1BWE1jc0MzYWw3M2Y2UWw3VmdQRWRidVluSThoaVpsSDQ5TnEwL1gyZ3hkNk1JU0tuTGRjcHViRUVjbDVkaHN0YzJVRGVMVEVoakFFZ2VBQUJTZ0FBa0c4SUVQeEMyR2Z2djczMHZvZ2c4TU1OR01Db0xiN2thRWp3VWg3NGJQMitGRjI2Tzh5NVp3b1RnY1lvUXdMTU14dnBkQUFBQWgrUVFGQXdCL0FDd0FBQUFBQVFBQkFBQUhBNEIvZ1FBaCtRUUZBd0IvQUN4WEFDUUFJd0dFQUFBSC80Qi9nb09FaFlhSGlJbUtpNHlOam8rUFZFNVJLaW9HbDRST1ZBSUNrSjZmb0tHaW82U2xwcWVvanowK0lxMGloNjgrS2xRUG5LbTN1TG02dTd5OWppTUhReW9GZjY4SXh5akpTTXRJQnF3aVBnWk90cjdWMXRmWTJiZ2pJeDRHeFNJRlNIOFM1QkxuNk9jSXl3VUZJaitibmRyejlQWDIxZHdwUDYwRktBaC9BeTRWTUlBRXhZQkM2RkMwYzZlaTFyMkhFQ05LVEtSRGg0Y1U3c1Q5R3pSZ25jQnc0eEJLUUxDd2dBOG5PU2FxWE1teW1vNFVLWFE0K2RQdjRLSjEwRkNJRE5qUHdEc3FMWU1LSFFwS2h3b2ZQaEJJc0drT1hhS0FJZ3d3Yllxa0FBS2ZCWUFTM2NxVjY1QlY0WFFPOGtpUW1TSVU0YWFpY3pZQWJRRjVYZi9qeW9XWWgyUllRVzBKdVdvbHlLcFRRZ2pTNGoxWWJ1QWZ0QWJnemwzTTJKZVNLOFI4aUwwNnFKMEtNSCtlUEJHa0dZR1pBZWNNdmNJcjlnL0pnMGlpL2dIU3VMVnJWQmdDUnp0b0Y1cUtMWWN3RHdJRHhnbUNxWUlrQzBLeThROG1xQWI4dkY3TzNOT0xiMUw3OHRYZGFNU1FIRDhLQVArRHBGekFqUUZ0K2l6ZHZMejVRUk5vaWtEQlFJSmJGYUt3YXhkWmJ0MGdGTjJIaTRCL3ZuOTVNV0xFa1V3Ny8yZ1JTa3J5QVJmYVljVUJWSTV4Zi9UZzM0U3ZXV0hGSDFiRUlVZ0dwMFR6b0NCT2hTZUlQeDlTYUtKcmNBaEN4QzBwUkZXaVUvNXd0T0NKTk5iNENId2hEZklYSVRQYTZPT1BoaEJEM280RDJEU2pUak1CU1JUL0NDQWdBa0lHVC81eEF3RktIcktGWURvdWlJQllmMG5RVHBWRGdYREJtQmNJSUFNR1VVUmhRRWtxT0tGRWsyQU9Vb0tMUEQ0b29qbGovWkZrbkJBUlFBQVJCSWlwUkFsUk5PT0RJSzVFNHc0L0JrU2hCSitwb2ZDaFVnOFdCT0tDSXpIQTV6MTRzRURKRHo1RWNZRVRyclJ6U1ZrR3FZUENtc0g5RVFXWVUyQjVHR2lDa0RUWWgxY293Y0ttMm1qNGd3RmQ4RVBNU01mOFpzaVdXNkxURnF0LytKREJCVUFDZ0FHZHBrbnFuVldYRG1KR0dqREF3S3MxU1NBYURrSEdOc0tUQ0VnUWRrNWJHU2tCclk5VWZtUFRBT2srZUFrREZsaFE1Q0JLNUpBREZOL3lJa1k0UXBiYkVYNGhMWk5xaVFCVnRWNldVRVdGeHJzMktvRnUvNldVSGxZQXZndVlvVk01N2lseFE4QzZoTHRFZzZ1Mk14cFNoQXlVYWlISWZialVWZENVUUhHTmE5cDBWV2dERkdER0FoWXc4STA1QTkxTThpa1pXcEVFTW11MmMrZ1BLa1RCZ3FlVkRNTktJbWlKUkpNN1VZQ2dtSWtXU3lxSUFVcVJReERRQzZ5emxBVE9vSEgwTG5Hd0FXQVNQK0N4Q0FHZTNzZHdZRU5mV2hYWFZOcllqazNOTUdDNFF2bGFjSVZVRWpDQWxxaHY4eUtESUxzeU12a2ZQNWl4NDJFUFo5bDBxSUhUQ045R1YybTZ3QlUrWEFHMEJXVC9jWG80UmtmZXB4S2FseWd2anoxakVzWFhFMGJoNGprR3FCNDBNUXNJWWdZaDMrd3ArMFFFZkZaSU5IV1NSSklzTmJMZ3c4WVdMQkJqOXBlc0xyUWdhYjhUeFAveUxNMm5WNTFza3kxQ0Z4dWMrTVlmWGZ5aGVzZmpaSTk0dnRvUHdnQXg1TFBrWVNGREt4Y0tmRUF2ekYzT1JDcFlEOUN1VUwrT0ZlQUsrSU9RSC95UW12NnRaQXFtQVdBNVlnU1FtclFqZEJSaVFWU0F4cDBydUs0T3hPTURIMWhuUXZtRnc0SXErVldKOWxYQXNZM2pjVFg2Z2Z4Y2g0TGpUZEFxRXh6T0lQTGdEZ3pDTUNKUk1OK2x5a0djRWNrckhBS0luWGxHaFM0OS9NRU00NWhnUWVyUXdoYitnWUt2a0tJdUFKQ2VONWd4Q0NzNjRoK3Nad0NaaFdaTGVCbGFhaUJuSWhDMFF6a21NRUFlSnJnT0JteWtEdC9nbzJxc0lRQUNwT0VGRzdBQ0hPQmdoUllrQUFOSGhJOWE2aE1TRWZXc0FNODYwVERxTURZZVRQRC9DZ2lvQXdvbTZBY0RtSUVQSFlPZEx3cUpBVGpnUUc0L29NUVN4SkNpUDZSbkVBQUFBTUJJNXJ1K05lVk9aS3VQQ0pSbm9oWWl3WWZLcVFNUzl1aUgwa0RHQjByZzNTa3VjSU1MeUNBT2NQaUJFa3dnaUNEK3dRVHd3UUVHcUJTRUlFQWhEVys3SGxPYzBrUUcyZXNQWWp3UEV2ZzRTbEpTOEFvcVBKNGdXT2VxWFZqekQzQllBVGNuQ0FRUW9JRUFhQUNCQS96QWd6Ymc0QVYrRWdBRzRvQ0JOSDRyZ1VQeXpyeG9aWnJSbkVpSEMvQURGditRdUFVY2M0RTc1Snd1THBBQkx1Q2dEUnI0b2hUUU1ENURFQUVOYUZBQkhKSkFBQXdzWVFsSmtDYVlaRUN0cHREblIwaFIzZUlTWno4VUZNOENnN0JBWUhBUlJTVWtBUTRsLy9paUNRaHd3RUpBQVFvRXlBQVFBQmFITnZCQkJSbzZXbmJXdWFCOTRlbEhJa0RBQWhpQUJIemg3eXJGTTZsVEdkQXpYUGdwYnA3MEE1V2c4SVl5bE9FRXUvekRWMk1xQ0NCZ0FBY3F3QU1Hd25VMDM1V21TQStDNDFzRndSOEtCUVlKeGF0cjRxN1lOOG9zaFgrcElNQlZoVERCd0VFaERsQUQ2aURBK2tVL3hGUURTY0NCREY0Z2hwRUY3SDMvTTAzWlRETzBHWDFEcU0wSnpNYTBCOEY4L1VGb2pjdWdUWVIwQ2dJSTRBVTRZRzBlQnJ2YkpkUldEQk9ZSEJUUTRJYzZkSUVOUC9BREJySDVBOTkrcXhOcnJaVzFpTHZFV3ZXVFFqMUxYZHFhbTdoZ0xnVjVoekZGRktiZ1VCWDRJUThya29FTWdoQ0hFdlJoRFd0WUFmOWx4K3NIL3VBZ0NuaHdLUnhBR0RCSnlwZG4wZWtTYWlkMGtMaDI3R2Y1TWh4QlFOUTN4REFzRkNMQVFiZ0VxMWd1SkNFT2tIWERINXBRQmh5Y1FMRUU4SU1PQlpFRXdjSWhEcFU3MnB6QTA1MXJIUVEwRDJKYlp5bUVMdUVtcmoyclFvZWxPdHJHVXFDQURUZ29nUi9jQm9VTnZGSU11ZVZDRTNLTGd6K1VBYXgrV01FZ2NLQ0VJdHl5a0VjTG0zZmFlQzBFYUdwR3VzSVpRQVpnVjAzdHJENGNHY2lMUGNFQUg3elV0b3A5QTJUM0tJY3lXS0VOZjVCeEV5Z2FCRHc4U2hBWDdzTnJaWnlFSUNEM1J4ZEF3Ly9DY3kwVS8xY1FTdkFUalZETGdDc1lEaUNNYXhnaHhEYUtBWUJaQ1g1SThBbmdVQWM4ckdFUVRWaGtHNXIvd0lVWFVQZ0hPSWkyZzgrRUEyeDY5MXNHRFc0d08vaXpqcFhHRExLbTBEZm1RK2hqMkt0c0k4blNvaC9obmo4VW1iRXltQUFPZUxBR0xuREJFTXgrZ1dLbDhJY1NSQTNTVUFnWEhBNFZzQWRjRDJUKzdabGNnemFPY29EYm92NFpoeExWTmpaZW8yL2RqWkFBdE5QcldpaFlnUTA5VGl1UE1iMW1ERXd1Q1B6dXB0dGtJR2t4a0F3RTFpdkEya3haUEM4dFhGTWdHc0FQOUgyaWllZm5NSHcyYWpwRUlZRXUwTGtQaFhoZnRaSDloemd3dTMyRGtBRWFUR0FDRFlqWERYQ0lIOGxVdlRFVm81Z21DNitWT3R6OTR3bnBKQ2w1eXF6TW93d3l6QktkRGNTRzAyeGx3SVV5TUwzYWRsOEVGTlpRQmpoc0IweUZiQWZIamtuUy8vMkYzYitCK1VGTnFWeWNnS2lkbzZFWlNYUkM4WThpY3pqU2NlQkNHN2pneWlUY2NoR1RTd01PeUxNcElseHY4TWNiWHRqRmtrckZkeFVVUFZJSkt5NDdlWVd6M2I1L1A4UXhDdkdQSlNBZEVaOS82QjllZndnbzZGakhCQS9ZNmFHS2d1YnV6M1ZRM2NqcGZQQURJaEFmRWlEN2IrN3AwYlBPamExc3RzOVdCaHRrQ0pzb0JGdjN3Y0VQR0h1SXliM2dCWkIwaFBIL3NJWWt1SnhrT29SZ0NWUHNNeElXWjM4RlFBQ0xGd3JyOGx3QW9STGVaeHk4Tml4NFlTZVM4V0pEcDF4S2RCaVE1VGFLb0dDTk1BRnZJQVB6VjI5d1FINThra0Evd3gwL3d3Zk5nbUlkb3o4bUFYR3d0eFROZFlCQ2dSLzJZaTF0WVNlR3dSRmI0djhQVUlZQXMxY0lLSEJobHhjS2FiWkw5Y1lHMjZjazhORkN3YU1IZnJBLzgxTThmNkJDTkZFSzZ5SUJLYVlTaFRFVi8xQXBUVVl2UERNUTV1Y080S0FkTXpOYzZSY0ZBMGdLMkpWM0hnaUNtNktFVi9CSkJWQUh5bkZGQUpaa25yQUFVRVpvUVhPRTg4QTJQMmRmRDVKbFM1RnJoVkdJWVhFTVBpRVZvS0VnQmdCWm4vQlZpWkJiT3NSM28vYzJtc0lIQmhCWWtDRlNoK0FUeEFRSmpXaUZVT1dIMmdDSUpiSXp0UkowclZNWlVNRWVlYlVBUHZFYlJ2SWhQNGhwbmtCWTcyTUlMSWNEZHJjR1lqQjZHRmNsbXBJSEJzQUFFNFJGZGJBUlBLQkgrdkVxb2RDSStNSlhMRUZ4WTlGbHB0Rmt4dEVnQTJGaVVBVStnU0VwUlZML0xMOHhFanVWaTFDd1UrSjFRRjkxWlBRWE4yYTRLZkRoU1lCRWgrWEZSUWlnSE0zWVRhbmhCUEdrQ0tQb1hLWTREMjUzalI4Q1pkczRDTi9nallRUVBqcGhFbnVoRWU3NENGLzFXR253VlFDemk4TVhCeTUzYkVzd2pFQVNMR2FnQjR2REIvWjBEQlBVakF1Z1FyWW1DdnN5amJxZ1VRQUpJakNvYm9Sd0o5bGlBS1Z4UTFEWWtNckZLTkRCQ2dXd1NCclpDUEdHQTFDZ1lQSm1jbDhsYVpqbUJ1b0hra0FpQXFwakJ0K1FMeWJaUXlsNUNyUUNrN2pRRVZ1NENFV3loMjVsVkJ3eGVUbVpJK01RZGcyWkdsRmhCaHl6QUtmakUyQVdmNC93UG1XQUFla0JCeGg1bEFBREJUZ1FpSnNpQVB1QVR5TlZValJuaHlhSUNFRm8venhaUWxKQlU1T293SVBRd0lpSXNEYnBRRU5ReGpDdG1DM05jQjhaVkFqRFkyS3JJNWNMb0FjbUZZejM1Z2t1RlcwNHdKY0s1bkVhNG9GakdUQ0Z5UWU3aDVnamlIT015Vkpva0FFNGxRSEN5UU9HZ3krUUdaa0RhUzVUNFpZWEF4eVlSU3pGZ3BEdUJFQm1HQnFyY2gvZVYxSm9BVnFtcVRqKzlnTkxBR2J1Rm9sbTlBYVBsUVR2NTBvNnRnWng0QU5MOFdSbHFTVFdvMTg5ZEp6R29UcUxnQVlhd0ZUOE9WcUZweW5KS1paTVVaeVJ1U2JpQ0RPRitBejhRSVBjd1puVnVVR29oUlpPZFp5bjB3NjI1bS9oNlpwd3dBWkwwQVpYVlpTZUVHL1lGQWRsc0o2QUtSbGorWjd4Q1NRUHhGeE1KVFJlaEFnOGNHWEZXWnlDWVA4NFhoU2dPUWVEUmtLZy9QbG55c0pXZGxFU2kyS1oyS2lRRDJvYVpGZ09JMFJTY3FrSEJnQWd0QlJ0U2JBRUtsQUNRbUFDRTdRSGNzWnpvekIvZ2xCL0dpb0dQMEFpQmJpaUp2SXFEMlFCN1BHaStvUUlHc0FETjVvT2RMbzVuNkF1NUdBNC9XazRFbkFGYlpXaUhORjl6VmVqZG1FUXh1R2dicVNrT3hnVnFIazZVYkFFMGNhUlAxQUNHb0FIZTdBRElYQUFIcUFERllBRk5UQURML1VISUFvSkI3UUdiZEFHUEZBQ1B6Q2xyN2tFT3JrdW1sa2oydEVXZHVWY2VwSUlKcEF2ZmxxbmRrb09qRkNiNWFDblAxcHJzVGNWejNrcDR5R1hoS0FIeW5VUUV6Z3JpU285WXNBR2NKY0ViUUNlMFNZR0txQUVHbUFEWktBRkhsRC9BVFJBQVJRd0NPUktyak9RSXFNcWYyNEFZVzZ3QW5DUUFpR3dCeE5VQjBxZ0FrdmdTcS9VQldUVGlFL1djNE5XcTR6Z0I1R1pDbTRsckNuV0hyNktFREF6anMxd094MHhTSWF3UDhGREUwYkNIUXBUaTRVb0JqT2dBSXVrcndFbEJEdWdCUjBncnVkNnNpaDdyak9RQkJoZ2w2UjZiRzd3QTNDZ0FIOUFBblNnQXlNd3J4TmtBa3F3QXNING1tTFFyKzg1YU9kQkRIMWpWM1dZQ0Jwd2F3S2FuSDFhcXdWTHRJY3dsczlaSk16SkQwcmhFeU40Q0V4N2xvT0F0WGpTTXpqd0FYZHdCeWRMQTV4S0FWbXd0aWxMcm1YN3RuQ3JBRlpnbDRTbGQ0bmxCZzZsQURSTEFpUXdDRFJRQVI2Z0JUdUFCd3hGWURqMlNpZ0txNE9tLzZORGtTT2FrclJuSVpXT0FCcTEycldTU1pQdnFhS1lCUlg5WUFaWTFBck9VQURmeUFpL2tSSCtRRE5MZWc2T3RrZ3owTEY2MndEbitnR3QyN29mKzdHenU3SkprQVEwR3djYktBaFFNRkhycWxpNzlENXVjRzhlMjJaOGl3aFlVQUVkTUs4OHU2clJsblhFc1RadWhhWnhrWUNQSUpnY3NiM21NbzA0OTY4UVE3V1lTYlhra0JvdGFwcG13QmVnMVFoeHRZaW1JNWVwMFhCdHdRcVgwQVViQ25jNGtBWGs2Z0lOMEw4TlVBVWZFTUFmb0FEUnBnQkprSzc2YW5KL29KY0xqQVBvbEFqbENRVjVWOEExeXdTTVVBTTZjQUE3WUFNOEVBVnQ0RXB3NEtybENLdXhlcjN4NkFpa054aU11d2lZUXJVdXpDTnV3UUNyRTBHdkFQOWFvNHNJNHhFTk1neVpxU1J6M2VjS3Y2SERWNUN2SktDL1pldTJjUHNIQkt3QVpmc0g1Um9IVGJuQURleXlnbUJHaXBVR1hJQk5vUHFhZ3BDOGpWQ3VGSUFGR1V3R1FrQmdiSllFaVV2QzhMbkMxYkI0T3ZTc2pBQkl4Z3FmcWRCMkhLVUloYUZmL2NrNUcyTUl4WE5ybWhnTlZBbUZWMllTLzlDK2ZYRkpwNGs1TTF2RUoxc0lkL0FCT0RBRERWQzJCang4U1ZBR1FYQW03b1lCYjRDUmhKVUdrK1ZLTmV1eE05QzNmS3UvNVhvSTVPckVLQ3NJeStzQlE1QUNIaHB0c0pRcUxseWJhMHdQNWZRSG0yeFJNZ2U1ak9CSERNUEd2OXFJTkxrSWFMRndOK3c2VjlBS2NqVUljNVV5QTdFNG9DdWEzQk1PSW5CS01od3A3V0QvQnJzbnM2ZnN5T2RLQ0hmZ0FybEZ0alRyYnVJa0NQZVdJa2VXdXpjR2FpQ2JJZ3FReWhSZ3R1Vzh6eWRidGxrd3dBMWdDTXM3QmpIQVptZFdwa3Jocjdsc3pLTFF5NXNzQTFveE5wL1FIbmJDQ3l2c0RQdzFzZTZ3dnE2elA4SkNNTVhBMFZGVlBLRDdWT0hUREs3UUZ6OXdWWHhMenF0TUNFdmNBTFVFQis4VGNHMm1BT21xb1IwN0NEaTl4UUExQTM5UUJiRDd0aWo3dGk3d0FXZnNBcTg4Q0UxY0JUZzlwdnhxcGlTTURlTlRUZ3FtQlBseVBLbVRoK1FMa05ickNKS0xPNExubjRYZ0RnYlFrNHRvYTQ3REZ3cEVDUGdER1NibXBQb2tsTXNRSEFqZ1VPTmN4RFhReW9RZ3lRcHcxQi93QjF4d1NPNUdBUmFzQ0MwdC84a3ptOU92dWRNTjRBSm0yd0FERE5SdDlnR1EzYllwYTlST3ZjWFJXNlcvVWhBTURRcEU4TkJCa0FGelJRcTFLWllMeThKZmpYM3VJRHpON0RyeG0xZFRsVDNab3oydmdDNDllWnlhc3MwbW5iN2hBSmU3L1FkNm9GTncwTktxek5kL2NNNnQyd0JZUUFnNFVNbUUwTkxJdmJaWnNOeCtIZG1URGJLdEc3MDBXOGx3Rzk2WWpjUjM4QWY4TzhENjJtYlI1a3U5Z0VZS3hnSWFjTm9COWdrbTJCR202SlZQTWJSRUIzVHV3TXl4N1RndHREOTZ6RlFMeWQ2UUNkY2phRCt0c0xXQzhNeWlTNUtRbXRmSlRRZ1VRTE9CbmE0elFMYWVFTWs0d01UTFhkNS9JTms0bmQ2dkNRZXRxN3NLSU1BZlVBVWg3cjh1OE9Jd2JzNUgzUCsvSkFDcTkrY0xlWkFCTWtBRUxKQUJWM2lqQktnUXJlMDZmdkJVbDZuZm82QVFLVzBBVEhVSVVQZzZaMzJjMlFQWER5U2E0VFBJQ3RuV2J1MjVVQ1dYYU5YaGZNc0VFeTRJZDFBRk0xdk9vTURoVldDMk1sN2UvQ3ZpZWt1N3Jqbm5kRTduZ1gyeWEwc0N4M3N5WVMwSXZReHJuc0FEK3htMXBNQTJjUHdKU0M0S1BvRXVTdTdiWk8zSDRVaEMrNVE5aHh6TkRXa0cvU0RONmR2SGZuekRKQWx0amV6U0x5M1pwWEFIQkx6bUwyMEk0ZDNFTU82L1ZmRHFBS3ppQWF6VTVKb0ZmUHZVMlJSN2xyTmczQnJiaTlDRXZGa0tvQUdHcGhEc3NPY1czVWJsTXV6clVNaXNXaDVWMldPK3dWNVNQV2xTVGRvSWNta0dFWDdQb2s3LzVxZEF3Tkk5Q3F1KzZtcDc2MXVjRkgwK0NHZ0EwWnBDNkk2d3E2alFNemt5Q2h4U0NxKzlPdktURVF3T1BsTDFzQnM5M1B2azBmanAxb1ZnN1pidUNIS0pBTUhZc2FtYzNLbE9DcmtGMmFpUXNyYXU1MXZjQlJZSENYSTI2QUFLOEl2QUIzOFJvNUNBYy8rQUFyNnVEWjgxdzY2RDZlRVE3SFBwVWZ4Z3E0WndCWERaQ0F4UTg1OVFQRkh3czl3dTVrdE5DdWthMEtSQThSWC8xRGlBOGFzZENoYVE3ak9QekNmLzhZTklVaEF4RWdya24zTlpzZUN6NmY3Z3VRUEVDQjZQQ0YrUDhQMldyNVBNN1d5YnNxRkFBVUE5Q25pZTUzeTd4UVBuaGxHbllCem9DNUR4RzhZT0NrOC9Eeng0MW1RTjhNOThqTldPNlMwS0VYSjUvd1UvQUdhVFhOMXRDd29wRHVKZjNQWVZmK3Y2U2pjbnpJdDRNelVSTFpaVlVRY1A0QWs1STh5TndBT2NGQlNwZ1dKUGIxSStzTU1qdmVsNVh3K255UUNQQ3NJTVg4Um5QOTZpTU41cU8vbDZidlJaOXpHTkVBVjZjTnV1MHdpeThRazhrTDV5endqSHM1Z3NjUW1QWHZDcG9YK2lXVG9yY2ZqNHFxKzEzL0Mzci92ZWo5bHUzOUpHMzZvTjV3bTdHaHBoWHdqNHhINk93QU1Ga1A2S1VQb3RNUkw5SU9tSWNBVTl4T3p3YncrbUNRaFhVVXRzT0lZek13b0tKSXlOakV4WmtWa1VsSlNTbDVKTWpvMktNNGFHU1Q1SUNCSi9wcWVvcWFta3BhcXVwa0orRmd0NHI3WlJETGE2dTd5OXZyMG9JbGU4QzcvR3g4aXBDOHNNQ1A4L1lvV2ZjSW1LbTliWG00b0tpSjg0Y0VsZEJpaC9yY21tSmNsNUN4Ykp0ZWJ2OE1lbEJRYkY4ZmY0dlF3U0EvMG9CajZXUUdNRHA1czNSQWdUS3ZSazBKdVlKVDlHa1N1WDcwKy9paGd6YWxTRndJZVpqU0RoTWVoSGNnQS9WQWlRQU95eUpBa2JnbkJpeXB6SkpzbERIeXFpb0VDQllHTEluMENESmh1QVlKaFFrQmJZN2N1bGFsL0prcTRrU0MySG9LclZxMVVuU3JDZ2grbUFvMkREaWpWbE11a3JkbU4vV1dEZ2xLUUV0Z3l1OEh0S0VobFVXMmJUNnQyNzhTdFRWRW56L2t5YUM2N2h3MnkxbnFKN0YxOWpWd3dzVUFTTG9JQUd2cGp2ZlRWMUJXN2d6MmMvaSs2MU5tNHJ4b3gxWGJ5WXNhNnR5SC9ER2hDV3VYYi94cWx2NFpveUxGZXFxZHlKZitQMnJScjE1cjJ1WDhFZWkwQkVQVCsybzB1ZkRpODVaTUdVUmFCWVJyMjc5KytxckRmRmZyVHlkZ3ZRd2F0Zm4xbjhlTFJpRFJoSW1vZTkvZnRoM2FkYXp0ekhsWFg0QlNpZ1JvK3BzbFZzWWhWdzNvQU1OdmlPZnFoRVpsUmE4Z0hvNElVWUZuZmNLMXZCbHhZU0JVU1dJVG9abG1nUmhLZEVKa0ZQZWcxUVFJWnhkV1lpaGdXT2grQllSRjNob1lBTElDRkNBV2JzdUlBWjlzeW9YbzM3bWNXaVhnZ01JS0tEelRCUXBDbEQvdmlSa2Q0aG1ZcU9rdFZtVW9hMXhMWUFBd1g4aU1DVXFzUndFcGI1b1hnS2w1T3htUmtEc3hYd255cnVuTklrYTNMK3BHV0VTY1hacDE1cnplWVJtbitRLzRjQ1hZTzI1bWFLZ1RaYTJ3TE5pWENtSzBPbThsVnFrc2J6NXlrZDN0aXBYbGNVY0trcXN6UzNKQ3FvaldyTVUvcEU2aXBtVWxEcFNsSUxCR09Bb0NjeU9xc3RzUElTMlZxL2dnZWFkcjhCeTJteHZUNzZ4N0NpTW10YllGV2FTczQ2K3lqcjY2eWZrZ010cjlMVzl0bHNxTHdWMkQ1VGhSZHN1SHIrTnV4YTRMS2JHYTdCbUxxaHQrK1dsaTJyZk1wckxtSHh5aHZkRlNLSWdBU0VFblFtV3JRQ2Jwdk11WElSSmZCNkMxd2hqcmtNZzVydU93cXpKWlZ4SU4rMUxta2pKOE5Id0JOVGgraGVmRWdXc25Ga2tWVEhNWHgwMjh1RUtlZjg3STQvell4TWZUb0hYUkVmOWdHM3I5Qkk2N1d4eGhueklndGh3U1V0OVViNkdocjJXV3hTM29QeTFGekhVelZpRkVsQWROZGtkd2QwMmNZRUFnQWgrUVFGQXdCL0FDd0FBQUFBQVFBQkFBQUhBNEIvZ1FBaCtRUUZBd0IvQUN3QUFBQUFBUUFCQUFBSEE0Qi9nUUFoK1FRRkF3Qi9BQ3dIQVVnQWN3QS9BQUFILzRCL2dvT0VoWWFIaUlnQWY0c3lRWW1Ra1pLVGxKV1doZ1IvUkVGQk1tK2ZBQUJ2akplbHBxZW9oSmtFckFJQ1JESlFhUmdZYVcrTG82bTZ1N3dYZnlBQ0lCY0NLbUp3T0hCc1lrazR5QzlCbVgrZnZOVFZraGZZTnhsVEwzQkxLa284Zkg1K1FpVS9memdZZjZ5c2o5YncxdGp6SzNCd1B6ems1SDBtVW5qa1BKYmdlTkd1VmJ5RHFZUmxvOExzaHdaeWVUUVE2Q1JJQmhFMFV2eW9HT2hLd0lvazZ4Q0t2TlFLQ2c0eFFzaVptR2dJaWtzb1JBaE1VWlpCeFpJa1NVYnFuTlF1RFk0dWVmdzRJT0R5ellrSnVWN0N6QUFDaU1rNGJlcW9TSEpqcDFWTXJWYmdhS015bHNzNGY1YkV3ZUFWSnJrL2ZrQ2N3RkVDendtcVYvL2ovb2xDMThuR0plUTBlSlZSNWdjNUpXQmZac2liRDAwY09BUmFMUEVsOTZxSXh6alltRWpyVWthc0pEeWtySkd6NUlSWEVINUtzTUdod3M4YkhCdHdwQkhRZUNlQzF3aVlsYUFNNVUwWks4blFOTm45cDRYWGgyTFM0ZUFCZ2xrU0ZxMTFTbGd1b1FzT3Z4cUtJbHNpTU1sdVpxaGRBdkdUczFucDAxd0VSRXQra0RrS1pDYndlRzNCNXFFZmsyWEtOT01TSDhyZzRNM3dac0xoNHc5eTh2RXc1NXhmYUx6MG5COXl1UEhIT3ZMQmNSMFVCUGdoWEdSMWdEQkJaTW9BR0tBRUF4ekRnM3AvZk5XRkZIK1U4UWR2WEdCdzNSc3lTSkdIR1BuNVVTQXpMY0NoSVR6TG5ZY1hHb0pBSWNPRllzU3gxVzV0dExGYkV6bEJ3WUwvSDNtVUVNVmtSRUNCQVE1eGlDSEJqZFVzOXdOcGZoQXhpRXNuSE1QRmlVMmtzMXNabmdrU29UNVN2SFFNT2xqeXdweEFRcEJJaUkrMkhZa2tEdlM5VUFnUkdXZ0FCRkV3Y2NIR0FISEt5U0ViY0t6VUVoUkpsRUVMRjgwa01RRWtMNjNSQmh3SUpMckxjaDBtWVlJTWowN1pESlZwa0lxcFMydVloSVNudWl5SGdEZEFKRkxiQzBuNHFlcWpVSVRvNHhwdXdOSEZsYkNla3VOelBFSmkyYTZIdk9TckcydXNrUVFieEJaYnlyRXFlTG1MVWxCQXV3WVhuRlpyYlNVRFNHQUFEaXN3bTRwUzNvTDdoN2pqVHFLbGFwZTRkRWdaTDNqMVI3VGdJZ0J2dkpHVWU5NllsamdiNGlCVHZ1SGp2dExpNEMvQTVFcUF4RUNWbFBWbC82OS95QkJIRWpJb0dLMlFEME5NaWNRblZWS0d3cjRxbGZGdDNVYnJSbVNJaWt5SkFRamdrSk1rZk9IZ2F5eHhnRFZJTjRLNC9OeS9NZ3Rpd2RFTFdHQ0FDQ2drQVVjdWtjREJNWjVnK1ZrWldGNUc2eE1LUkk5cndCOUhXd0MyQlFzc29NY1ZJaFF3V2tpUjRHQ2lVYWY2Nk9PbEJQUExhZEUraVBCSDBtV1h6WUFaVWZ3QTQ2a0VSOExNTVZReWc4RWJhYnhBcGNjZkQvdEh6TVVpL1ljSUJ1aWh4d0pYQkc2TVBXSXM4UU5kVWsveVJoSWJqMm5xcVVsZ0hHMnYvZzRnKyt3QW9pQkkwa2liOFJnQ0pmd0JJeHhpakM2RUJqdUVvRVVIRmN6QTV5VExxcG9HRjF4TWtJYnIwWllCQnhLeHo0NG81VmFWS3dFQ2FZZHROdjhTWWpBSy9BOUtFRStHRmpwVVVBZ0ZNOWdJZGNXVy9ScHRxNGMxRXp3SzVXcS92VTRGOEJjRHdHY0FzMW1nQkYyQUExU213SVBpamFBQ05FakVIUm9BaHpKZ3JGNnN1cDhia3BDK0VyUUJPMnp3QWY5QVJUdnVXVU1FVXB0V01wYlFCYWN0b1FSQ0lNTUREMEdCR3Rxd2huOW9RS1Q4MUNOSzJNdGxHMVJBQlVZUWdqM2tnUWRSV01JeDJOQUY3REduaENiVVJSZis0QVV2S0VBQnlyUFpBOWlIaFJ0NjhZczN2SU1Da3BBVUthMHFVMjV3dzBkbUlJZ3MvS0VHRmREQkNMU2doQ2kwWVRUZW9Ca0p0VGU1WGNDb0FYY0k1QjBvMElBYVlFRVFOblJCRGh2QVNFYldVSkNRSEdQS2FoT0g2WEdMVzlMb2xoczJ4Y1kva0lEL0NZYkFnZzRPOEFBN0hrNE1OT3NmSDZOb2ljSEJZUVlLK0VBRHZQZ0hGNHh4QnJpTW56M3NnY3NrWFBFUEgzaGFMQ2JnbVRmQUlTU1gvSVF5MDlnR0hPQlNFQ1FnQVNRcTRJRUhPT0VIMkVHbHY1N29QZHBaNGxVaUNOMHg0S0NBVDJiQmhsbHdnUXNhMmNnUDZPeUt0N1JaeGpBZ1RKK0VTSm1qd0dkdDBvRE5VN0V4bXRLVUJCWThRTWRpVk9vSDI5emovMHJSS1JINkFKWWtPT2NnS1hDSUNTcnZBM2Y0d3gxUVZ4czQ1T3RITnNQQUpWM3lQR2F3c1JrekFPZ25KWEhEQ2h3Z0JFS3d5UktiNkQwTytXK2hyWHhsTk05cFEwUUVjd2FBVklBZ21qRUtLTWluVWlscUEvVEtnQjBjbEZNQjVGUnBSSHRLaUM4R3NnR3kveHdpVE8ySXgvM2Q5S3V5aThUWC9tQ1BjazcxaG9XdzZCK3FRQUdvL2lFT0NrdURQVWlBeFZQWkZYRzR2S0pVZVVwTEd3cVNBbFZRUURNK01BaFJqc0NhUDFCaVpKTFFCUU9nSUtFa3RDa3JEVEdhbEo0Vmg0Wm9LdzR3U3NnL3ZJQUxRakpyTkEwUnpTdG1rYXk0bENVRklQbklRVGFnQ24rQXFqTS80QUphQ2dJTGNkeUNDbUxndEdaSXJRcy9RTUpqRVNBN20wNENoVTZOcG0wSmNRZDNLaUNRRTJKakZxUktYWUFLRnBaL2lCOHlZRWxZUm40QWk3eU01U3duQ3NZdzRyWUdXSzNyWGRtZ2pFNU40Z3BYRUlobCtZclpRVXp3bFRXSXJTOFYyY1lzTUtHNktoWHNjKyt3enU5cTE2N3liRUJ0V3d2SkJqZDR0WUtzNWY5ckRYelMvbENpYkNvNGhsbXpRTjYwdWlCK2dJUXVJckpBNGhLN1VhTU4wSmxmb1Z0Z0NwOXFselB3WlN3L1FPTWFFd0tlRkJWRUlDa3czYnF5Z1d1V09KdHpra3RpdEJZQ2xoazl4WDJUUUZYN1JuaWRWZmd1Rm5HNVN3VDc5cFd3cEdnTnB4dk5MRTdSRkdVcndlL0tXV1FqVTRQQXIxeHRqaVhvNEVHbzg4M3ExUEdPZVF6UUxJb0J5S2hZd0IrUVVGa3lmN0VhQkFieElPR3g1ZjkydVJsc0dDc3Y5TUFBRmZSNXAvUmQ4eTRFelF0MGdySzBXYnhIeUtyQmFQSTFRN1JsYm5JcWxEZkxVOXlReEo3RU5LSVIyclZGLzZFRWlvVm9OSmtRYVVtWG9nV0V2UVE2M1JqZ0xKN2thNjIyUnRuTTBFOW5pamFpdGE3dlFVcWxERTFNK3pxRXRtdU4yVjU5UjVUS0dxQW1UcmFaRWZubi9vS1NFTDMyZFdSRStLNGJtWTBCNTJqcUsvVUs0RDlrKzkwbVBrU0FUWXU0VTdGaENZNFZSTENscldmQWRZRlJkODByUEk4TjRIbWI5cGxEZlhFU3hPQ0RmQzlIWkhxK0VnS1FZSUF1TEtQZVZzNjR4bCtjaklWM29lR1BmZGZEaTJZSWNTRUFCVWlndUE5OFFKMld1L3psTFBUQkQzN2dXQlNZZ1FIbDFqZkpVekh5ZnhHcmEvdW1SaUFBQUNINUJBVURBSDhBTEY4QUpBQUNBWVlBQUFmL2dIK0NnNFNGaG9lSWlZcUxqSTJPajRZcGFnS1VsWlFQbUE4Q2tKeWRucCtnb2FLanBLV0xZRDFQUFU1VVVTby9Qd1d5QlQ0RlZKZFVENmE3dkwyK3Y4Q2pJMDZ2UGlMSHg3TElJbjhHVkVJaEtpSStLcnJCMTlqWjJ0dUpReWwvQllJaUJRWUdLQWdJQXdNSUtDZ0c0Ukx4QXlnRjAxSGMrUG42KzQvZUJqN2l5Q0g0RTY5Z1BFTDBEQXd3aUtDZWdTMzhJa3FjZUEzTVAyYmp6ZzBRWk5EZ3hrSHpCaHE4WW1EYUVJb29VNnFFcEtMZXNUOUlHc2xMZDhoanZRTFdWdXJjaVRKRnkyUUdCcXBEOXhIZHdFSVM1aTAwaEU1ZVNadzhvMHJsbGllRk1aRHozaUdiaFN5b29aQVNDZzB3SjgvaDFMTm9kMDB3WWFaZXM0RUkvN1NPTXdDTDdnKzZ5STRTQXNzeExFd2tZUWZVdTVlMnNHRk9VWkF3VS9pbjRURnFUa1ljOFBDbGgrVWVmMklZSzREQ1VGSy9Cd1c1RS8zSEI1VWRoMU9yTnRUR0FEZ0VFdWhOVTVGQ2g0Yy9JOEFNc2t6b3h6SFhTRU9IL3RONXFTQThxNU9ueHRBWnNHTnF0U0Z0OFYwVHRIQWtyZ1UzVnM3OTdJay9VeFNPRldHZ2hBNGRuZFQ4OFczQUw4aWp3OFBHUk1ETVNmZjdQRGZBYWROUWpBby9mK1RFaVhyc3VTY0lFcDBSbE5SQ1kyMVVrZzhWNENlaFRtSjBzWUlVUW9oQ0lETmljYVlnT3dSdEo1Z0lUM3d3NFlrb0N2TERJUWo0SUpJRVNHeVVsR2dpZEtIRUJTbm1tTThtdTZpUnc0cUd2UE5STzRiVW80SjZPaWFaM1A5dFg1RWp5RmhNVGVNRWowcnFjOEdWT0Y3QVFwV2hvQ0RDVVRFRlNSNlNYUHFDNHg4Z1pLREVIMmxrZ01hYmFHQ0paWm1MbUFGVElVNSs5YVF4dDFCSlp5aFR5QkJGRk9YRUlnczRQaVFLMEE5Uk9GR0NFbWlBY0tVZ0dmeEppR3Q2aWFOWG1QTUlVaElLQUZyNkNBNS9XTkhHRmNVWWc4d2d6TXppcWpJdmtZTkVDVlNrSWFvZ2hMa25RWjdOeU9nVmZUNndRTUN0amNRaHhoS3JodE1NZ2dtbW84NnowS0lqMjB0L3FIQW1zUWtTMUtLdmc0eldqQWdURU11SUdLMlNnNEk2VDY0RHJXY2RpVllQUUFYY0tLb2FEeHphVndGaHB1UFVrd1ZFUVFBUjRoNWlSUktEd05hWU8xd3RRODVIaExUN3h6cjRTbkFGRHhtb0VBWC9DSCtXZ0JROU1oWmtRWmdQWHpGbndJTllZVVdNNmlEOG1BK3cvS0RDeXovSmlpRERCVEhjSWdyeG1GSFNENVVTbTFRQklpMWt3UUpCVTNvdHlhWCswWVk3eDNTQnhLQkVFRUhBMUZRTGdFWUpoQ1k2VHFaSjZkVVFiUEY0R2UrdEczM2Mzc01TV1BESEZRWEkrSWNaVHZTTXRDREdpdkhIQ3kya0Vlb2ZBQXZTOXgrVkVLRENIMXMzZkM1V0NrcEFYempEY3FrQ1lIOHdzRUJiOHZpMVFGQU1NR0FCMjNNdk1rVWpVUHlSUUJ2R0FBZlM0Y0hGSmdLUVhMcDVSZVFXTUZDQUdmRmtQalFLU0N4Z3dkQjBkVzVLRk5OazJwakJEY2ZEdGdncWhGdmwxSFpxdmdBU1pqRHd4d0p2VDI3QTdvSU10S2J2cEVpajdDQ0tNNXc5Lzg2S0g5TUNsMU1ySVlIbUZwangrdEJtNUM2N0dkU3YvY2NLM0pjQy9GZkdEUkpVUENYcFFwVUE4QWNBdklGMnU4UGU3aGhnQU1rRlJYZUQ2QUlCOHpjSzMyU3JMeGlNeTBKYVJBMHVRY0VIdFBzRDlrVElPelBvQVFHNTI1MGVTdk0zQ29LQ0JiVVFuM0Q4Z2pzQUlxOU1Qc2lXQW04WGs4enhnUStDc0JOaFhCZ0thWUFNZzhQWnprREM0U2NkRlVCNkNVeWc5UWJoaDFEVllUMk5JeUlvQUNJVytQaEZLT0FRQVJXNHBESDY3VzRCZkZnQUd0bG1Ba0ZVc1JCS3dKZ1dQeUVOc1RCR09IY3lYWlV5NElQYy9mQ05mL0JESG1iblJqTmNjUkJEbkdNbldCQ09UQmtnSnZMWUlLYVlBUUk1SmlrY1FBeGtxS3FvUjNUVXIvOFppZ1RGNEFyUmtJV0VSU1JlQ1lmR3FoU0xRd0x5UUFiUTNSUWpKd2cwaExJVWd1bE1XSFJKSk1XbzRBWlZrc2JyTlBrSFBsaUFEL1JJNE90ZVY3L1AzWklVNVFnUkpCL1dtSEU0TTBuUzZFd1VCVUcwSjZwTmJmVGJUaUtmQ1FxT2VVcDhJNHFDclpKVU90Mk5jSHBtRU1Fd0w5ZVp5YTJIbkowQWlIc0c0S0lEQ2E4a1VRQ21rc1lSUmJYQlV3UjJFbzFyTEdBZ2ZENWljSHJaVlpndW1EM3lUT3FTQmJqQ053MDZPWVRXcnkwYzBhTkRHOEVDRVlCTUF0RThVQ0hNVUlzTVdESkhNVEZqNWdZUlR6TXU0SFZIYWM1SUh3RVBqb0JERWZVUWxwSzhoQURkeGVPbXNBRmE1aGl3eSt6ZGFhZWRVRnpiREhHNGtxaWdoU24vOGxJREM4S0ErTUdJUVJ2SmsyQ21DbFZJU1BVb3dQa3FjWkNYeFJ3dDdqUHhRQ0ZjL2Flc1hYMnByR1lWekZIQUJwT0JlT2tIYlUzUjRqcVdsTE1OeDV3b0ZRRkY4VXFJTkhuSWxCNnFHWXc2UXgvVzZVZ3dQcURaV1BRVkd2cmsxS1NNUllRQUxoQ0ZWVHJRTlZ5MVFMWUtZTmtjalhVallFTXBVVUxEejJhUko3U2l2VUFHeXZZOFNBN0FlVjZ6ejVZdTIwaFFoaWhCdE1VWHYwU0tXOEFSUUFBOCtPM1FrSUFFQnFnRHVBVFppQmxrVUtWR29sUkczaHBPU3NIQjNPWlNJcm9pWE1BNW1KcTJvWWtraUhoVGttdHc1aFhGQVFkZEJ5S3J2Wm83aU9jS1FBalNwZDRWb0pnNW9rVXVjeEx3QVFia0M1UEpadGQweEVOQi8yWTlWWUFaOFZjUUJQZ0JZTmludWZTaXdBeDgwSms3TFdBQS9DVkpNZTJKaTdaTWg3T0tvclhDNGt2RVl2RTV3dHVaVU1SbkxPK0p0R3JmSjkyeHhRL3pFRXphRnVPYW5LT2hpbnlpSUdyOFBCUEdCWUtYYXkySzN0cWdoekdtTVF6TEU4ZGlqRTY0SWxtTHNXQmZRZFZyUW5kQVVFVUVDSUtPV2pUVitub0Z5eUZWRmxHTFp4Q09xT1BMWUE1SFFjK0lCQVRvd1F3b2NLZjBBSnNrOGRXWE9ObUREemcyTXVjbkdTVzJNc0x2TThQOFJ6K2tVWTFlK2FHbStVQ0xKcDdvdFREaFpiN2dNMmZQNW5jWmdQRkxrVU1waXl0V2NaTitNTjByd2VIcGxPQjMxWStZTU82MHhhbHNtYnBGeE1OWE8rb0JtSTlzUk5KekRFSXRrUC96YWpmNklhUE9EdFU3YW8wUGhxMExmRW1FaEs5UnEySnFndVN4QklsSmRkVjRVMW93S0hFRlVhUU11bUFBSURZN2tJTWNwaCt1c0xjQ1JJb2J6M3BTWDVZcTVvTGkrUkZRNnJHVnY1MGRkQnlDYUlxTjVMUGtRUm9Ya2tlV1FFempIK3FRVVUyalFIcUNPT1ExakUwSWZ1KzVxOUZiNmhXeURmQmpLMFRndllvenY0N0l6U3VRSnpiaG1FVmpMT3pDRjVoMHhCeGxtMFozWjRCaERnSUl2YmoyZ2ZzZFJaRXpBTVV6d25Vak5PZy8ySFE3NVFRUmtxZmVPUWpaa1NNWkNTTWZFVXVhd2dSeXN5RWNSb0pCZ3k3cHBYNThxVjlXVjgwWVlXM3dOYm9abEFYWm0yTXo0WEowR0JIakNIbm1ISU96QWJDQmdsTlFMTTY1bVV6L3RTMWdiNyt3WFVHWHlyK1BITVE2QzFyRWd0QjFaL3FBREVIZTloUjhUTDFaUThUT0laSWJ4QUwwWVBWMExJR0N3Q3ZxQWpucW1qTURRN29KUkRCdGtZM0J2dFFzMzRjdzVZSVU3cjl1NmRJOXFDdWZMaDlaQ1BpQkkvU0dXQUljbHU5Q2lPcHVwb0tRSFFveUdZemZzamZiU3dITms3eHNTc3BqTzNWeExVZFFzandrU080VGZJS0JKSE52aDFERUY2SU5ZSjc1WjRobWhoWmhQQnRLRDh5eG9kVVJhQm5IS0Z3bVNjdndKV0ZSRWprVkl6VEJMc3FGVWdVd2RrUEROdDh6VWdCaE1MVXpmcTh6VHRtUWJ2dTNlLzVIZStHbkt0UGdGZEJTRWlibFBtMVJkM2YxTFk5eFpkZ1dUVEJDUzFYbkEzQkFLanRGQklueUlvVVYveGJ1bDRHcWRudVJwM1Rkc2huQThTN25vZzdFZGdYa0ZtTE1BQ09LQlJQajRDbmpJRU1vMVVPSzRYTzQ1VDI2Z2tMVWx3ZzhZSVdrY0dlUnBDdi9WZ2hpZ3dDU28wWVdRQjhFcUJpQjlra0hVbDNpTmdETWNJWnBHSVZ1OXdkL2x3UnNBQWRLdzE4cjhIS2M5UWd4VWdxN1YyZmd3d20wZ0lRRmhVemtZWGx1V0h6TjRTV0tlRWJ4ZEVFeFlTSi9jRDRYZGsrQTBXZUlDSVJtdFhzK05ZYUlvRHJUczJlZkp3cytnSVNLTUJDdWNUMWpKblh4SUdXYkNCRDBOUUI1QUFrUm1CS3FFMmhVZHp1RW8yU3QyQXo0NG5ydVJZQ3orSGViS0FoQklBTVRHQnR0NUFpRHRJc3A0U1crZUFoWHNCbjN0MlRUUXowSVJ3dUxkVk1tcGY4NER6TVBQOUFGZjRjRE00QmJMSENDRzdHRmpPQnlPallSQThGeWc4QTd4M2VQRDNnRkEzWkNZUlJveFNjN1lmUWJwdlFndEZnbXlGRUtIZFUydVFnSjhUU1BFdUVnaVdCUHdqZzBSMGM0NDRCNTlRQ1FoUEI1aEhNT0VqWlZKc1VBZjZhTWxwSWhwdUNLajhnSWZPQloyMWdkcExnTDU3YUtpVUJpd2hnNURvRWQzN09SanhnN1FUUTlTbGdTMXlOTFYyQTNsb0tCb1dDUGdnaENqQkFZK01DRVJYVUlDNlJSNmFVWUNEQTBrUU5TbjdLU2d0Q0FZK2NhcXpoaS9vaFhFTGtJNzlBSXVKY05ScUZWTlltVklpUTdJbFZ1eExhUzBoTkxZM2NncnJjZFpUbEhQQUFLdkZLVFVIWU5oVFVJV2hOT2lLQkcwK055SExsa0JuYi9jOFdYalhaSmVHOVRDT3JGREgyNWpJckFUMHJKRDFCQ0RtYzVEcXhJbVZkZ0ZBeWdtRDFKWXNabENPT0FjYmREazNnaVR5dUVtYVZvYWhTeEVGNFNKZ3ZBQUFOeFc0VndkQXJURnJGMENBbGxDQjFsT3J6akF5LzVGN0s1Q0c4M0VTZ1ZsaVIwVTRURGNpV3hObGVnTTRseWs0WUFFSGRaYmxHWlhpaDBsOXpFbFVvU2s4Q1FVRUtTblBxd0VQc1ZuYS96SmQ3b2NnaHdhV3JrSmZCSm5JcGhtQjFYZkc2Sk5HTXhZMmdaQ2p5UUhmaXlnK3NaRDdLd2pXZWtWZlVEZG1NbU51cDVCZFhsQ09KSkxLcEZiSjNBQjdUSENlVmdQQ3F4RlBMa2htcHpkQW5WVFNSVVVJcVJPd2MzVWtSMWVHT1VWK2FKZDR2NW9TMjZvdW1sLzNNaXluUFVpRmM3NXdmYjh3aFhnQUlWK2dnTlpCODZrUlNPMlpZa3BxSUI2WVdoNVpPZDhEb0cyZ2g4Z0pJN2dTNE51QWk3RTZSU09hVDBLRUNEb0FCbDRxVDR3VlEvcWFYVFl4aGRnd1RvdUp6YWtEWVk5MFRrdVJxVEp3L2U0cWJBb0RudWNUMFNNbm4rRjZPaFFJTW0yVng2T2dqa29KNkdzVHQrNm4vYVFCU2JXS2hQRWowb3dWU0lHam5ydzNnSGhoWFFZcWI0dDZGNEpWME41YVdHd0Y2VlduWFE1d2gxNmhrZENJclJsNXZha0phNU53QWFGMHBwMDFEcnMwMmphbDNQY3FwRHgxNExWNnJZQUtldjZxa2hNZ0NZUjA0TVZSMzh4bmdLeDMvb3RLcldWNXI2QUtYWUFLdFZad0ZZT3F1S1ZLdDBzam5EdW1xYVkvK0VXVXBPa0ZxZXlkcXA0SXF0Z2hHY05IYXVTWEozNk5xbEJFRU9jMHBFT3dlb3FzR3QzK29aUHJtdU85VmVPaUlCcnJxdm8wcXQ0K3BRbDVvaXdyb04xaHA5N3FxZERxVTVuSG9mRW90dkd3b2IxRW9mK2psU3Q4cGV5dEZlK1BxRkRVdDFudElkbG1ZLytyQnpzZU94aGRHeCtkQ3dCRUd0QkZHanF3RS81QUd2NlRXbHZIQ3JSU2Q3SWN1RDdQT3pvNUJ2NGpNUWlrcFZtMWtZZnRCVkx4bEZEUm1zaW5kMkpNY05FaU5tRTJ1eHRHZTA3cm9YOTVFSGVuQ1hIMmVHMnpBU1VSdDdQaHVqSVZzNy9YYTExUWF6SFNZODFBU3NOYnRObHJjK0VWRVFBMFowcUxpc2ZIdDlsMXEyUFN1MHZDQjBIU2VxVHlLM2hxRzNsL1AvSmJ1cUVseTFyS2dZdVdZcmN1bG1hekFyc0lLYkhIdTJOakcwcVduUkVhQ2J1UzhMc3pHTHVDaXlUWlZaaEo2THA1cTZhbWt6c0paaUE5eDRVNTI3cXF4THVPQWpPV3hMTEl1cnVveWFlWnVJdTllNnRRR0RjT0podTc4YldoMklDRUZyY0VnVFQwQmpmVmNnZE5CS3JCUmtiTXRMU3JBVE82S0xJbXg0WFNURVZFVld2ZFk3TjdaYmlyRzNIYjZqbS94bnRSN2JVTlZMUWJyNkxBbDRDQnpXdlFHN3FwS2phYlBXZUt4cW9mLzdsdmliSkF2d3B3end0SVRLQ1BXN3JZMzdxcWI3SjNCTFJPRExDWDRndUFnc0Zkbkx1b3pBcTZsaHJlcEFwbytncnNLcndjb3h2L0dMT0tJUXdDU2NyK1NMVG9hN3dpVERCd1BzQ1BVS0hNUGNZVXlTZTYyandBY1BiTU9Hc2JSOU8yRGdBNCtlQU1JNkVRZ0FJZmtFQlFNQWZ3QXNWZ0JKQUNRQlFnQUFCLytBZjRLRGhJV0doNGlKaW91TWpZNlBrSkdTazVTUEFIOFlFd0NYbFoyZW42Q2hvcU9rcGFFRXFLbEVRVUZRYjV1bXNiS3p0TFcydHdJQ2Y2bTh2UVJFdDhIQ3c4VEZwaGZJeWNnQ1ZDeS92Y2JSMHRQVXhzbzNGeXhwU1hEZDNXSVlNaXk2aEFUVjUranA2b25LeUN3L1luQkpQeXBSSlNWUmJXdzRjR2tnSUx0U3JSdElzS0F3QXJrRVhJZ2lCZ2ViSDBMOFNKdzRVY2dTSEV0QUpNdGxzS1BIajU5VXZjQllnbzlFUEJwQXFFSURST0lQSEdJVWFrUUdzcWJObTRWU0NaRFJMWXJFUGlwYlFZRXlhQ2dSZ0NWd3ZFaDJRd0JBbkZDakRveENOY3BMTVR3a2dwQXg5TTJKQ1lTR0RwVkJvQVFjTGhjRVlJQ3pSS3JidDlUL1JJaG91S1NPbnp6bXVzWVJJeWJPRzBGaWlXUUFBU1RObnpZdjJyU0Jrd0d1NDhlMkVDQjR1U1NQSHcxY3hjWlJJVkZGRXNCUUNGQkVJOGpuaWpqa0lLdGVEVXFDQkNUOHNvSVErK2JOQkRGK3BJRElrT1R2VUEwU1RkVDVRM1RGalEwdldDdGZMc2sxQ241Sy9NeDIxUUlIamo5TDFqVFpuaVRjVUNsK1ZMQVJvd0ZJQ3poUWNHQkl6Ynk5KzBLdUczSnVQRFFPbTNwdHJqZkJrQVNIWHlneTRNR0RJRGkwNFlkaGNPQWd3bnNNTXVnYWJFbmtJWVVnTW1DQVF3WVN5VkdHZW5GWUYwY2NVQVRoUnhRRXdsRUhHbkQ4WVFBS0RiYkluR3QvNE1CWlhqS2N3SVlmY2pRaGlJN1dsZEZFZDhCRVlaMTFTaFJSeGg4SVNEQ0EvNHRNcWlZQkFuQ3dVUWNRaEZnWXhZOWMvTEZkR1Q0MlVVWTREdkF3SkE1SzRQRUdEajR3ME9TYWprbGdBQTQvK0dGT1VmMVpsK1YyZVA2SXdSOW8rUEdTZFVJQUFVV0hZdnpBNXFGUXhZZERvSWRNRUVjYmVHNklRUk50ZlBhSERBN2tvVUlibktFQkJSYzRuSWNBb3V1NEpnR3A4QTBRWlI3QUdBSkZsOXpod0FVWGZnMUNBQjRVRWVFS0hGYXdNY0NwcUZaektyREIvdkVyQWdVV2dZZ01TY1RCUlJzYit0ZWJESVFFb1lFRGVFd0hSWDhHRkV2TnI2Yit5Z0FEU3lJNndBQ3dSVEhuSVc4azZDRUdmeTBiQkhGRUhWbXV0OUtBdTZRRkZoaUxxZ1ErNEZEQ3ZJcHc4VUtXMURJeUZMN25oQ3NCditRR0t3RTNMREFpdy8vRmp3QjRHQTZqTWx6TXFlTHlTeXlxVUNaQnNDZGlBZVlHY1RnZzRiRXh2LzdCcjcvRkRzQkdIQW1qdlBEQ2Y2enM4c3VrUFBYSEMxWVFVcTZhTTk4YnJLcHhaSnpJR3krSXBYSFBmeGdLdENobzhLQUJEeGxNRVVVZGVmd3hMZ1A5V3FDbTBzRkMyYlRGOUNZQ0J3WkVRYkh5R3VraE1mTFZsS0JoQXI5OEw3QUEzM3dQY3U3TGNLeTlDQmNuOEJ3M1VaZCtSaTNqYTZTQkF3cDM0KzBJT1Jud1BmYm00NHJOUU9XV0k5SmZFanRMUFFnY0wzQ1Y4QnI1MlIwNkpMbVlBN0dwdE5kdXFyY1dMSERGSHd0S0lNWWZoaTBMYXRTTHB3emdDVGk4TWRUS2Y2elJIK1d2TzRLUUFJMzl3WVB0dHY4QmVwT0E4N3NBQWlJWUlFSC9GNWdrd3V4MVVpZEIrbGhuSnBFWjgyNUUyWEgwaTZDU0M3ODhtSUU5c2R1N2lNRGYzWU5ZQVFxQWdvYnNhVmtqQ1FkWFJ2S0NJSEJsTFhEd3plcnExai82L2VFQzB5T0FCc3dXT2grSUxZQ0FNNEJjQWxZR25obWlYZjZKZzd2VTF5ei8rSVp4elN0RGl0Qm1RVUlJSUJVODRPQWlCc2M5Zm9rUUJRQUVvUVVLRUQ0R0dKQTRpSUNhRmVTQmdSTzR5MW1MWTk0YTFvQWRKUTJPaHRIREF5clFzTUYrb1FvSjRpUFdBbVMyQURPSW9BQmtFNkx1Zk9DREsramhDbkFvWWJ3T2tUT00xZVpTS2hQRUZGY3d1WFA1OFlwWXZOb1ZxSkREbVIyaWdxeDVFdVVrZ0FJUm1DR0lERURDSTlXNEFDU0lBQVYrNEpjSzNtYkNTR2hzLzRwVGhJTVByUGpIVXZyeGRRejRtNW9rZGk3bk9ES0l1WU9sMy94bXRnS0tvUXRMWUFNYkVyU1hRc0JRWWFDY0loZkVZTXBpbHRKeW5ZUFBvV3BueWYvSjBtOTZzTUFWU3FDQ0pYRERPbEZLd2hMYThJUENnYVVvblR3RXo0SUpCVEVnd0pqb3ZDTDlZTVFtWmpxU0FWZElwZCttV2MxOVdFZWJQNGlDRURSZ0dZbXNnSFNnZVpYeXdra3ZzY2dBbEc3b3BnSFNXVXhTSHZObE1FTGtlMHpGZ0VZT3NBQStRTUlQcm9tREpIQktDU2FZQ0I1MkVBSXRqRUFIVlVBUDQ3Z2dnM2JCcTZCUzI5bEIzVURUeFZpSERWMUFRcElZaWs2UThSQXFySkRCR1VVaDBmZUlZUWsvK0lFQkNzQzdlR0N6VUVvQWpoLzJRQVl0ZUVBSEZmL0FBZ1cydXRVWmxNR0JqdHFUaGRKUW16a1NvcXcwVFNnM29wQ0JLQ3doUVd6UnFXdDRha29sR2V1bkgyRUZLMVJRdzBiQVlRWXpHQk0vbHFDQ3FOcWdxaDNBS2cwT3dWVUtGQzROWUptQUE1RUh0N0phMXJKeWMwTmJCbUVITGV4QkF5V3dLVnNNY001dzBWVmZnWnpHQlNoME1ZejlRYThyNktzaVJvU0RCbERBQlEyb2dnSm04QVNUS3BhcmltaXNBb1lFSXFMMDV3OWNTRU5NYVlNQkxpeWhRMy9ZN1NCb1VJRVJrRUVEVTNqclBYOGcxN255MUtIb0ZFUnFaYkcxRENpQkJhdDRiUkNJUUFTK3loWVJDMkFJTndEN0FRcGtvYkZiYllCKzk4dmZCcmpBQllPNEF3WCt3QTNpV1Fpdy9FZ0NGekNnbU9hMkVBY3pPSjMvQWtoQTRTejhZYXM2MElJTlFLc1BiQzVoUmFkdEpVL0ZLNHhNQW01clBOQ2FCWDcyM2tQTTB3QkhUY0lNU0hCZnJuNEFzRGpPOFpCbUlHUEFKa0VCZjVoQkhKcWJvZ21USUxDQ0haSTNyS09BM2VKZ3dqWG1hZzJxR3dJZUtLR2E3b0pEb1hRS0x2Q0crSS9Cc01FQ3htVkl6V21neFk5NGlaR2pqTjhCLzZFS1NGYUFmcXZ3Z1NiWFNjbUFiYktlbzR0Z0NDTTVSVSt1Y0p1NWlnVWRqQ0FFUWlnQlBOelYwUzZzcUxTMCt6SmVIMEV3MFVDaWRtaWVoTjlVQU9FMUR4cTREVkRBWHo5d2h6djhvZFEzbm9HZUFldU52ODRnUWFxbU1BbGdiV1FLWDNpcnR4NTBvUTlBQml2WGMwemo4Y0dqL2VoZGhrcGlYZzVzMVNNVy84RE9URk5DRDJhNFNLelozT1pUUi9mSldURDFxVTF0YWxsVHVNbXM3a2FlbSt6dENqTVd1S1VlOEF3K1VBRVBhSUVNSmtqMENyckFEUUk1NUpiQ1JnSUtJTjNLN1RuQllucVZnYktjTFF5L2xVRGFFMllDdFJ0N2FqampnTlNIeUVLNXZRM3VWNHRiMVZEbWRxa0RiR29YNkJiV1ZRQnVvVHZ3YmcwSXdRbFdzV2FTczNuVUxnaWJFSzBOZ2dNV2dZYVlXeXNTWTd4aVVRbGVDSU5mQkE1clh2aUFUVDFjQldUYkVCS2Z1TktkYkoxWEIxa0JINmpDZm5WcjhTUjhvQUdNd0FJV0txQURyT0tXemswT2NqZkc1TUUvL0lVRlBFZ2xJekpBQlRRbytoUEQ0YmtrL0dhR0xzQmExbGtRK2gwYWtLQXFhQnZwVEZDNnQ1blFnUC8rS0FEc01oNzdtS0R1WHdCdnU5U1FoendoR2h2NVV1ZWRCRTYyRkFZMG9Fb0c4SUVSZmpDRDNLY3h6eC9zSTlZVnByYUFod3R4UmVUOTlhOFhoS2svOEZjWFNENjNINmh6eFhQTWV4NnJUODZmNW1yU25jd1dGZ2tpbnJRYlBVZ1dvQWNHZUticHRjNDdmdXZzNWtyY3dRV3Zib0NBWlYvNWp1ODM5K0FQL3dkY0VQeWtJM2tlOHhPRUNtcTNTdVYvUkE5L0NLMjdVRS9qKzBJZXY1MWcvZDhYMGYzSUR6b0xnY2QwWW1COGh5QjY3aGNWekhjRkt0QVEwSWQzUWpkb2puQUhIL0JraFJCOEZpaDhTWWQ1UThJRzNhSUlKWENBYmpGTFpyQ0FPMVpyOWZlQUY0aGZFdGhSS1hpQmwvZHRTQVlUSGJnSTUzUXY0d1dDQkNISmdpUllnb01uZlMwNGFIdW5BT1QzZ3hpWWdVem5FRDdBSWtWVmd6ZUlneDR4WmtnQ1k0ejJWeVo0Z2tTNFZlbjJneThJZ3pHSVU5MFZDVTNvaERlQkFDamdBMDVWZ2xVSWU3RDNmMnJZaGx1SWVic1ZneDJWaElLd2MySTRVV0tEQUJvbEJ2YTBZeGduZUlDNGRLc21od21XVTZOaWgzZllUbitBQWloZ0FQVEdhR1BpYXIwM2lZcTNjdHFVVVllSWlJbUlMNUlCUmo3UUJYeTRTMGsyaWtyR0J0clVCVXExYjVzSWdzQWlHWXlJQkxBWWk3S29iNHdvR2RxalBacTRpbWcyTExrb0M0RUFBQ0g1QkFVREFIOEFMQUFBQUFBQkFBRUFBQWNEZ0grQkFDSDVCQVVEQUg4QUxBQUFBQUFCQUFFQUFBY0RnSCtCQUNINUJBVURBSDhBTEdBQUpBQVlBWW9BQUFmL2dIK0NnNFNGaG9lSWlZcUxqSTJPajRWYmd3OVVUbEVxbUpsUlRsU1FucCtnb2FLanBLV21wNmlFWHpFK0JUOEZJckd5SWo2eVBpcE9md0twdkwyK3Y4REJ3b0lIUXlrR3RRWEt5NExLZjhwSUtBYXdmejlPdThQWjJ0dmMzWi9HeUNJRkJpZ0Q1dWVDNWdqUzQrb0dJbjhHRDk3MDlmYjNxRTdUdE9RREV2K0xKQXhBVWdDQklBU3dDbERKZ2EraHc0Y05VNmlnVmdDSlA0Q0pEQTRDMkU0UUVuZ3ExRUFjU2JJa3J4Ui9mRHd6Z0FBakl3UXNDdzFRTmtBUUNwVXFzSm5jeWJNbkloMHBuNVdUOE9lZnVUL20vaEUxaEJDRlRHVkxFZjdKNmJPcVZaSitCaFVZYXBSZGdVSGtFUGc3TkU2bWdiRi9OS3E0eXJadHR4TWEvL3c0OVdHeHFBU1lzR2gxOGNFMzFzcHloc3JLZENrb2w5dkRpSHVWcUdPQWtBUXpLR0Q1TUpEQ1NZb25Sb3c4ZWRMM2p6aU5neEEyTnFRVXFZR2NaQktyWGcwcXpSV1ZnaDVIOXZFRDVaOER0ditBS2RUalJ5MGtoUkNJQUU0YTRHT2RySk1yUHpUQlp0R0JCV2puWnFSbXhCQVZrNE9MY0ZyY3JoQWh5OE9MbjRZQUFaSVNrSHRNZDhSUXpSWVJvd2NoOFFGNjBBQVVCZ1VLRnM4LzhSSmFQMWlCUXh1bXFKSENjSVZNNDVoQUNoWWwzQlA5UmVpV0dISDhnWU1WUCtTQkJpa001ZkNEQ1BWNXRCRlJNelgyenpzeFNLaWlWVGdJd2dJdk9iUlNVeUlBSVpSZmljaXRxR05KRjhCbzRET0ZFQmZiVXRMRUp0eGFPeWFaWlA4T2F3bFozRkxrMlBWT0owcVNkRUdQVlpyaUlZaUVJQUNiWFFjVlVOTmQ4R1ZKVWdab29LRkVDU3I4Z01TYm1KU2doQkpvZ0dCbUlqWkVWbCtEcGNVRDNEOGZsWURsbmQyd2NJa0swMFJYeXl5RDJLS01BZWRsSUlpZGhQcEIwSXhJYlRWa21HT1dTT2d3Y0ZqSVJSMVJDQUpQTStOQWlsOTVBNWh4WDN5ZXhUS09DaGg4cWtRVUNNcjMxWE5MYVFxb0NFaCsrb3NWVmlUUlNsQmhKYVhVc3N6YUJLdXBLbXhvNWdRQTFBTGFUTnlacDFWc00zWFJuTEM5eENHR0lMQVN4U3hoaVF4ZzNxUHYrRkRDblFJNFVhYXU2UlRVVEg0U2ZLU0NET0NpSW02Wll5cGxSbmtvdkduQXdRWmhTaU4wNVNRa2FKWVhmR2lHZlduWkpDYi9VWTM1WThhOC9aWWlScGxLcVZ2d1ByUEkwc3haNktZMTQxMmFvZ0JQRklNbUthK1FFaFRKQUFOYkVYVXhBd3U4bzBUSHBMQ3hoTkJ0UkZFQ0g0Z2E4TU1QS2tReHhkTlBHOXBtTWhZdE5VaVIzTVlrVlJTVUpwbUJNbWFZVzlNQUZpd2dEUU1Ta01OQTJaNEZDL1FveEZyUkFnWWJGRUxBSUhmanpZSUtYUWhsTmJrMFB6UDJWMnNSb2VSSFRnbjAyQlZsWDFIQUZXa1ZZSUVGZnpDUWtyUnZtd0xGSnkzQUptWWg5dXBhMDlaVktnRXlVWk92YlVHVU9KdXhnRTBpbEpyNVBWTWtwREJCQ1k3bXNnOEUxSnFreElKTWJnRUtrRDlUTmhJR3ZQN0h4RC9Namc4QktuQ2NxWk1JemRpWUQzVW5HVDBLeXBlTjN4K09YN0dBL3hrK1FENjVBVjN3Njd3OUJPRHFaR1NZM2pmV1RIKzhvQ1FHNGxBdXlQaElMR0NCdmF2ajNoOFdJQnpmcmE4ZTBQT0J3aXBTaUQ3QlkzTTdDb0xFbEFjK0ExZ09lWDd3Z3hrS3dJY080c3h0Qit3R0FRaVFuZEI4YmtHRWtKMk9vTGNkQ3NiakNocjBRUjM4VUljQzhFQVFsZ3JoUFZpNFFDZHRhaWJOeTl1S1dDQzlCU0RCREg0d1FmbklwUkUvTU9Cbk9xd0hDK2hDQ1BnMVVDblNBRUhYSkFTQ0MwU0hBUm5NNERveVdMRzBqSVlQUmxSaEZMbEJnRmNzTUVSZ2tzQVZMcENqQ0YzZ0l6RE1TZ1gvWUNuaU9JNEJmRGhlODlZb3dsSnhCeXdqT29oZE1oQXpGZUdxUG95cHcvS1Nad0djQlkrQVBwQVVJYmxCaEdNaEF2OGdWa3liR2xVMGhWenhnVndUWTRBWjlBZXAvVzJzQkZ2YzVEQ2lCOGNmN3FwbUJZaGxoS1pvQURST3JtY0k4Si8relBZSC9VRU9oTm9Bd1M0RXNBc2hBaTBJVkR3RVJnNzJuS25zaUFESzBOOEFDMWJNeVEwd2xaUnozQ0MzMGFNcm1mTUN5bVFtTTUxNUp5SkU0WVJsM0ZUMVR1UURBMHBvVjlvY1gyT0VGODRDcEZJQ3ppRG5PUWM2MEhRS3E1Tk8yaFdZNHBFZmwwRnhSUldoNEFMK3lNOWlGZ1J0OGRDR0FMcEkwSTRPVkZodFZHZzhSalBOUDgwa0NqZlEwY0MwV2JuSENaT1Z3S21KRDM4eFFnS29VNHZxOU9nNS85RElIYVdCaC9SYWFKRTRzaU1KOEt5U3hWeEFRU3JLZ0Q4UjRsbXBxT2tJaVpDR0Y4VGhxbkgvZ0lNWTJyQUNHUWlBamw4MTV5REVlczAvUERJMFNGbG85WXJ5a1JldEtGL0ZSRjA4VUhBejRmM0JLUXFES2lxaXdOY1Z2QUFPY0ZoQ0c1aUdpU2dNRGJBWVlNRUlkYUZPWFhTeFNwMFFVazBTQjVDWjVPZElPZ0pvQVFSU3VlR1o2R2IvTUFob3Z0U0xXTEFCQjNCb1F3bE1FTWJXWmxBRFA4QkJIRllnMWRwdVZFbG84R1JSV2xrempmZ0tpSm45eXZ6dXVxdWFuTVd5NlFBR0VzUVEyQ2l3Tm9NbTBBQWFwa3FBT3VIQkR5VTRMUVpxVzFzbGZjMmZzVUVlVzBmRFc4MW05aDMxV1NzVG40R0V2L1dpTVVsNGx4L3d3QU1DRUVFR1VNaXZmdk1yQXdJQUlRTnR3SUVZSHFXQ05rQmhzVXF5a3dLak1ocXBrTXN1Ylgzci96c08yWXlpckRjYVVPTEZBUHJXQmhQd0VRUkJ5TzhiWHZDQ0NleFh2NElnd29ad3dJWUNpQ0VKYklDRENoUmJKZlRhWlVZTWNGeExNbG9VbDQyU1Ava2FEa2JvQjByaW9HV21veGlBR0hBUWhheElJVy81amNNUy9rQ2hONXc0QTFMNFF4OUEwQnd4L0lCVU9EaFZsV2lKRkgvUWRYSTVBNUkvaERQT0NOVXNIaTRSS1V6c0VoVnhLQ3dVU3NaQkNUS29TU2pJSUFobElGQUdmWkFFL09hWEFHVE1JQWcyZ0lNTUZPRUZTUmhJbHJaWHVadXBybWRJc0J4U2pPcTRLYS9JS1NhQ2ttVFBnaFN4cE1YT3BNanpEK1pMZ00yOUFRTVltRUFjTkNBSE45ZzZEbGJPTHdneVdHQWwrR0VLZjBnQ0VhelFCZmZ1NkpHdkU5NFZlUC8ycHNxQlQzVUY4TmFLRFBJVmpOQXNiZm1KU1UyNEpJbzh0eUVQZVNEQzVqQ0FBOVJhS0ExTmFNSWYyZ0NIRXhnYUNINVFRYm4vb0lRaW5BQUhTY0JCZTQyOW9oSzBzSnRHTkFNZnhQcy8xNTB2ZmRNV0hFWWlNeVJmUldrbTIrRzNJM3lBN3p6NFFkeFFlQU1PbGlBRUV3aUJRR1ZvUXI1Uis0TDhTc0VQSTkrNEgxZ0FCeHo0WUZsVmNsLzNBbjdLNUNrMW1JMkNRaEJVUk8yTGJFdEtKbXFscWRyYkNIUWhvT1Y3UmdOL0o0QURIdmhCQ2lCb1FobTR3SVZ5eDZFSmNUQXh2Rk1PQncwQTRkNzc3dE9PWkFBZmlScEE0QWhad09zRStJZVAvQmtpNTRoNzNFSGhwWXRGUmFINXFqYlczbUVBaVZ0NFUwOFZjQjZrb0YvL0dUQmRDRkhuUXJyWERkZzJxSHNEVUVDREh3SmNiaHdvb1E5UVlQRkZqSklrSWladkVEMkRYTnBmMXovWVJjRnczWkE3T2d4aDZadUJnbjZidjFkc0dINVhRb2lETk9vU2k5K1h2T2RXUS9BUGNHQkRHVnFlN3VJWG53c2wxeklQVGx0dUlmUkJCaS9BOXhMNlhpVmVvaEVzVitBRFF2aWdCMm04am9DeFF6MHdWRitJMXF1T24ralhOQ1FnanE5TWJXU3RvS0gyUWdmd0Rsa2x6aEFvWUhFZVRJQmlRYnlCMGFsVmZHVndkZWtXQnhqQUw0aW1BUVcyWjNhaWNYQmdCV0xnZC8xUlNnWVFSalhIV2dpUlFXYndlZUFIYk9OSENLMkhmdWxuZnVvbmdZckFKUzZoRWZveE5tamxBNnVFTmpjeEhPc0FDMDV5RkxIVkJuNFEvMkw1UlFoQjhBS0tWM3h4MENJaVp6K0RJSG10WlRqUVYyNHZkMmVPdEIxazlBZVI1QWR6NWdkWFVJRWFLQUpVa21wM1psUjFKWUtWMUhwMFJpSkhVV1pqK0Frb0NDWGNvUjhKUTJyc3h5QXZwSFlMZ0RNbzZIcC9zQVJNcGdIOVJ3Z1lBQWRjQUd0bFlIVko4QzJFUUFRZ1lBSW1vRWwvb0hGSklCWk1LQ0ZuTlFnbVlBQjVZRWFDVUlXREFEa1BOUXAvNDRWZ2FCOXpWMmFKOUhlZndINExSVFBZZ2hRb1lDNncwQklUVmpiQ016N3dRUlRudDJSQzRIdS9Sd2pSVjNsd01BRnY4QWZxc3dnNzUzSUMwWWo5UVFSa05nZ01JSWwzNVVjS1pRSGdVUXFxRXp4ZldJTGt0eEVqUWhpcjl3bXJLRlFqNGl2RzRSbjRzUjNkaFA5K05vYU1iTUFHUExCZmlJQUJKTVlGdmdnSmJ2QUg0aktNU1VJRUt5QUNCaGRPQnFBSGxpSkFqak9KZ1FRZWRSUUtsaU9HMlRna1M3RVU1M0F1dzNpUWoyQmpLZk1QM21ndUg0RU1wU2VOdnlRY3FRaEtHNWNCZVhnSU1oQ1NqTENEZzdBR2Z6Qjgva0NNL2JFRUJXQTV2N1NCYWpjeFpiTkIzWFJLdlZDR3NaR1QxMmdVQzdrc200ZVRqcEZjN2dXUkVha3BRaFVMejhKUEV4V0xkMEZsQTJKb3Q1Z0lVWGtJSkNrREpobGc3YVdTNG5FQ2JUWkFjMlpYNDlPU2hhQUJ2UUJ6M0xKNXd4Z3lQV2t1OFlRSUJMRU1MSkdRbnFHQ3hnWlFhVmdqNHNBemhjQlBsbFF6OE5BRkc2ZU9oZkNMZzBDU2lLQ084ZmdIbWRkM1dobi9IdTB6TWFDbkxXQUpFM3BVbGk3aGsybnBrOUpVV2RQZ0F4VDJWUENCSHdVakdBREZiWnk1RVVKWEdnTlFkb2JBbDQ4Q0gxZFFBdmgyWW9YQUJYR1FCSVZwbUllNWd5YXBtRGpBbUVreVF0NjBQeWpnRk1NSlBwTVlETXh5RVE1Slp6SnhOUWpBQUM3em1XbmpUM0NvZGxVb0pxUzRVS1MyV3lTRkVmdEJDQldWRUFhaEI3S1pCTFE1Q05FSEIvWWptUDVuVCtwb2xZS1FCdnJHV2RjVUJaQlRWMFprbk1jSkRDSERrNnNuZG8xZ0hndlFmYVIxVnlEeVVyKzBPanRtbWxDeU10VGtuTThnT1h2SlQ0NkRqOThubTNHUW5vSUFCeFVTQlB5Q1g0WEFkTjlDbTI3UW0xVlhGMGtDYkhTRk9zQWtUSklrREdvSmxLSlFNT0xELzBEMTBwSmUrSVZFNGFBZXNUTGlKYUhLb0g0WVNUa2JJNVlEZEFXQWxXdTZHWVFsTmdGY1VBWW10b04rTm9DQ0lKaUpHV3pKcFQxdHQybVUweGhyWTVQWllJS2pTRndqSXg4dHRLTmxZMGs3K1QwV0U0cGZRYVRvQno1YklWSDVsZ2J1bVlncFYyNHZBSlYrWmxWK2FnaHVFQ3Bac2dLMXgxbU9Vemw0b0JweFYzZWJwUi9sbzZBaXlLWUkyVnRFY2tMZ2VRZ1ZkUWdMRUZzWWNHSzNPR0w0OXFtZ0dnZDlxcHVFa0hrL29BY1l0VUlmOHBtZms1eUlFRzRENlJDcVZ6QUFBUjlxS2p5V2RDUHJ3SWlnaEttOW9xTkZ5bEpNZ1FNbHA0NjNDQWU0eVMrM3lIU0tHYTJDUUpqdTJCSXAweDhTeEcyRUlLdUlZQUptNEZZbDBmK1F5cUlVRmFtZ0Zmby9hY0V5c3RCM1dJUjNKREtrMnJTcHJRaytnSlVHVEJxcU9NQUZPemNJSVVsdWZib0k0dEtZNGlFRDFzSjVmeUNtaTFBODRab1U1dkVtK0JGa2xHU3NoTkF6YWNWUU1CRngveUFOOTNGL015RTVMTldmRmZWTEpjQ3NHY2VoK2VZN2IvQUd0b21zaDVDbGYwQ2ZxVmdsL0hJeEFtc1ZjaGVEanVJWjROT2ZoakFOTHJNL2NVZ1RXQ1FMSjRRZndpU2VkcldqZWlCdlhNQ2hpUmlFZ0ZWdXpKb0doSGtJYXdBSGZUTnBhaVlCTHBRWUN5a2NCWEVGWW5zRmMzWlhYWXQvenJBMisvTVIxdW9aQmlDMmd1R0t1N3FyUmlRR3NMWTV0NWhmRTBCaUUxQXJWU3NJV2JvR2ExQUdubFlsRXBSUkVzQ3RqSnIvRk8rUWZkZFpUS01oc2QzVVRSOWhjSzRrWkIzTE0yWnpNV3AzTTJvM3QwcFpvQXV3QkhGd0FsY0txaUVwa29vZ3VJTExCV0pRalN1U3JYUWxIc000RG1kYlNkRmdyRjRJcHNlSk01dFZ1ZjREZm1LQlBOQ1FqMTU0bmFvVUJUL3dZbjYyWHk5QXFubWFtMUFndUg5Z2EyVWdCb3lvZWpScUQzdVFDZ1FMSWdqYkNKOVpFdW95SExkYk52NHpDTDhFaDVNRE9SRUxtZ1lSc2VCWGY4c1FDNWttVE1ockJzbzdOSlhYQXYyWFgreUpZcUI2WW9ucEJtMlFCSzhycnRwTGh2ZlFVNk93T1VnS0NZMUJmU1pSdm16WG1zZlp2dVZoQmp3ek1keHpuR1lqRGdtYWtiTEN3VGV6UWZEQkFIb3dVY29yQmpFbU5EOFFCV3NDQnhnQS82SVlZSUQ4RXNBcGEyV0ZzTU4vc0FLMnRnSkJpRzgvZ0IvYWU4VGJPd3pnaWcvdmdHUU5jUTdDOFhtYUdxL0pPQXNXNU1GSGU3bndJTGZnRjZtL3RNTHYwQVVIREZoTDhBTWx3QU41c0FjN29BVWo4QVhJbWdZa0dtS0thR1U3WE1jN1hMSnVNRFEvZ0FZcXNBUXRGMWdzZ2NSeWx4eTF4QWhaQVF2amV3OWpvdzR4NkRxSUVLOThWeDRmc1JYbTI1OFhXZzJPdkR3UlZUYXNpZ0EvY0ZwSnNBUXFvQVFtb01aYTBBRVZnQVVVc01wWjBISldwMSs1eUljWWNLOFpsd1lZd0FWSkVBZW5SUUowTUFJN2dBY21vQVEvTUhMR1VnNUpJY2hIMFp6OXNXMHhhNnRsRmhsK0lRNEtpN1RlRkwvb0c1YXlFbzNJQ0F0TEpqVDRXZjg1QlNxZGJjQUdvU3pER3JER3FJd0ZoTERLN1B3SENxQUFKQXNGYVJBcUNqQURWbmViU1pEUFdWVnVNekFERnFJQUpFQUNXWUFGT2pBQ0lXQURWOURIZit4bFhLSEFja2VQZzh3ZjIvakU2ZUNYOEtBTXNZQnoxQ3c4alRITmNWaC93V1NzSDRFREg5QUFDb0JhWXFBQ1pyQzhYcVlFUEJBQ0hhQUQ2bHdJZDFEVE5uM1RXUEFCeVBwWExSTFE5b3dEL2R6UGdqQUQ3OXpQL0V6VUFzM09XTkFCSWJBSGRTRE1TNGJTUmF4N0RvM0VudGdOMGxtem5oQTZUNndPMjNqQ0hIeXVjR2hKYWd0NlZleXhFMXVGY0tBQVdaQUZURkRQQ2hBREtsQUNJVEFDTXMzT3Erd0NEYkRYRGZBQmZ1M1hWZkRYZm4zU2xZY0Q3MXpVZ3hELzBBcndCL2JzemhiQ3o0S1FCZTBzQ0RTZ0F3ZEFCanNnQkZGd3dGS2JCRjJRTElwVDFWWTloa2xjQ2o2TEN2S255RnhZWmhPV2JPaXJ1M0ZvQmhPelFjUmFmZ2ZEczJWVEFrT0QxQUtOQlJWd0IzaTl5aC9BMklBVjFNWXR0WWh0M0RQZ3lxaGwzSzY4MW44UTBQd00wQUV0MmNHOXlwUmRBUVd0Qld6U0JoUlNlV3dnQnJRUkRkYXFscUlkMFlxZ3VwQ1FCNkp4Q2k0alV2UWdBWFpsRGtPcXZuUDZTODlBdEh3aFBoSTdwNFVRazMzTUJyeHQzWGp0QWxYQTF5Nnd5amZ0QWtrd0EwbndBUlJ3MDNmd0Iwd1EwSXBkMU12ZDNQMTgySUpnNFFSKzNkZnQyenFnQXltUUFpdlFCa3V3cDh3cTNtNnlLajNKbk9LcUNIU0MvOGFmd0FjNG8xZU93QUQ1Z1R4RTZnM3lqVkZyeHByMm5iU1loQUJpaXhBWm5iNFlMTGxBT3o0QlR0UUEzZGJXYmRNZ1RnRi9jQWN1OEFHQUJlRjRuUVVXL3VVVzdzNzF2TnlBQlFjYlRnSUpMdUhzTE9GWlFOeE1NT0VpN2dGZ0FBWUZsdUxNTGJYaHZRUjc4UU9ROGliWm13aDZJTGVmNEFjVDlUaWhjQVhtUUlmMnNEYnFadzdUMmJWMk5ia0lzTUl4Q1F2dk82K01BSWRYc0Z6VFRkMVNYdVZyL2dkYVBnTU5BTnlzRE9hb0R1WkZyWXRtbmdRSzROZDdQUWlMM2MvTXl1WFhmUWNpcmdOemJnUWZvQUF0UU91RlhkaXZXOW9ESktDUE1Ea0M5d2taNEFmK3dPVGNBRm95OGVpWVhreUNVTmJmZEhZOEd3b0Z1andCM3YvcDFkM1dvRDdoOER6Y3dQMEhYcDdxNkI3UUpsMXVEejdtZnh6c1JGM1NmN0RtRW03cTJGM3ZmN0RYVE9ETy9yeHhXbjBYRFBDTWpyRHNLa3lRWFB0aldDMnhRWDZSaWRCVXEvVGZrNHNLYXNlcVp0RHRRUDNPMy83aGE5NEFaZzdoZytEVzZXN2hUTkRtTmIzdUN1QUN3SzNYZ2Qzcjd2N2N4ZTNncm43WVZXRGxoOURtUG0waGdWWEloeUFjU09CaDYrM3NobnhEK0NEZkVzZnpaOHQ2UFo0TlkxMEN5L3ZjQS83cENrNEJKNzNZTlMvbFZuOElkOUFBOXZ3QnBvN3ZmNkRYZmYzWGg1M1ArY3oxaUVBQzhHd2hTZkFET244SUdSQStsZWtJVGhEM2lHSHRoS0FPSmNRSVFEOE1tdDdDVGsvZEdYOEhWZEFDQ1k3ZG9ERC80VHF0QUpPTjlmVXU0ZVllM1lsZHp4M2FCVTdsQ1hYQU5wK2d1SWVCVkRKeEZNakFPRmNCaDh1ejJWekgyeGtQNHArUTlXWSs3elR2Q0cxZDRTUkFDSklQZk5QWDlsRmtBZE9jRGtmQnRrZnZFeFBQN1YxUStvRC83Vlh1Q0JNK0E4UHQraFZPQ0doUENGcUY0N0lVUExuUHdGR2M3VmRoT1hxZ0I4QXYvR0FPOWFCdStJVUE2b2tRKzFRL0NHeEErYllmL1p4LzkyT0lSNzJmOU1JUTZWTTgzd1BBT09oTDhVakEyVklMNVdBT0NFeFpnMWtVaG9lSWhvU0VmNDJOSkpBa0Nnb3pjSTQ0YkVzR0tJNFNqcCtnb2FLanBLV21wNmlwcXFBTUZxQVNBN0dPQ0tNTXNKNk9GcnF1cHJ1b3RoS3R1OFBFRmd3TXI4ZTdDd3NXL3hJb0JsMWljRGpWT0RNemt3cVJrWUtMM09DU2s5aWdtR0ovbTUycm9YbnI3dS93OGJYT29MRUQ2Z01TK3Z2MitjTEZ4eGhjMlJmc242NWFBMlg5Q1Zac21NQlMraGJpaXVVSkFUUnBiS2haMjRpdG8wZVBsajVaWTVOa2lROGtLR2c1dWlmdnp3QmtMV1BLbkFsS0Y4eVZMT3YxMjNtdjRENlhMbk4yQ25nem9LbUN3Z0xpY3Fmd0V3TWVDSkFZK09GRFdoSTJHZUZvM2NvVnE1Z2xYWDVzU2trcVg4eFk3V2lxWGV0TzJOS2dRdG5LbGRjMDE0S2xubkFoMk11Mzc5NTNkZUVOUURtM3NPR2F1dDdhTzh3NDFlSlBFaGJjUFBwV2NGekFCUXJVYWN4WnJZUmRpZ04zSGkyNjFlaWdMUWNneUx6NXRHdDRueE96N1BlNjgvOWpSd3p1a2hiZDZGZ3FCQ0tROEtsTmZGVnNlbzF1RjUrci9NOFZZNmViNTZwTUNvVUlGQXVXYXo4S0d1Zmw3V2ZyMG9JZW5mZWZ5YWFRaUVDUUhiejdaSWsvMFg1UE4vQm45SXpuaThKZi9ZOUsrdTg0Y1ZncnRzaTNFNENyNk5mSWMvemw5MTF2RFlwaTNYOElxdUxIaFFNcVUyQnlQRDFZb1lLOUlWZWVoeUtlQWh4MnZGUjRpakhRb1hkRmF6SXBzOHVHSGZJRW9JMmRNUGphUGRKQm1HQUJCclNuNGlsNi9IRlFLRkpGK0E1U00zcFNZNGZGMWVoVWQ2N3hhTjVuMUptQ0FpZERxaUlrS08xWmtJY2ZhekUwbzNkUFNvbUtoNk9rdVo4eFdYSW15M2NEUUVmaEtYbDFLUk14dzVFNWt6NUptWkxtb0lRV3VsaEJDSnIvMTBoa0V0ejVHNXQ2b2dLUUdXd2RaNVJqaG1hSzQwSUd4VWxjajdrb0dlbGhBQlhncUV4bXByaW9NVVJkc2VhZ3BPd1RFREVidWdjcUxiNk4rbG94QzVnaGdnR0dSUVJaUTZ3U1pld3hjUklrd1JXekFvU3NwNStDR3FKL3VwN0dLd01GckVlY3JESVM2NjIzejBKcks0aXNsRmd0WjhRc2NJVUJ2MWFvTEZMSEN2U3V1RGRLZTU0dXJwNDdHakZYcUNkQ0FmcWFjcXFlbTVicnpNQUJ5MFVNdXlJMFhBQVNDVWVjSEZ6bWpSZWZ4STAxczhzVlpwaUJBTVBBWXF4dlA3UThlQnk5SXN2a1I3ck0vR0ZkY0R5bVREQzV3OElwYzJQZTh0R3hHV0xlM0tXOUM5bmtjMk4rR0dRQkgzNE8vVFBDd3c2bmRNYTdPUDMwcUpBYVZabjAxS1FlN1U0ZFZXTmRtOVJlRzhZSDJHR1hiZmJaYUtldDl0cHN0MzFXWjJtNUxUZDRETGlabktpU2RqMzMzbUxiN1JLTThhRE05K0NFRjI3NDRZaW5yYVJaaVRldUloK3FYckVBSHhwLzZmZ2ZnUUFBSWZrRUJRTUFmd0FzQUFBQUFBRUFBUUFBQndPQWY0RUFJZmtFQlFNQWZ3QXNWZ0JRQUI4Qk93QUFCLytBZjRLRGhJV0doNGlKaW91TWpZNlBrSkdTazVTSkJKY0NBb01DSUpXZW42Q2hvcU9rcGFhZWw2bXFxWDhDQktld3NiS3p0TFd3VVZPcnVxcTJ2YjYvd01HaElzUWlQajRyS2pKRXU2ekN6OURSMHJFSTFTZytZamphY0hCSlNYRmlMeXU3MCtYbTUraUhEQWhJUzJ4SmJTb2xRaG9tR2tJclA5bHNYUVgrLzRKKzRIcVZycURCZzZZa0lCRURoODBQSlg0aStzSFR4NEdVUGhKTHNNRUJwNENCZng0TEVDdndad3JDa3loVE1rSWdhRW1KUHhHbGdFQkRSSVpOS0RaWmdPaFRSd1ViT0NnWVNCaUt4QUFDRkNSVktsMmE4Z2NPTVVvRTVhRXBBNHJWcTFnRkVmbkRvZzBjQXdyRnhNR0JZaWpUczJqTkRjaTJJbzhnTkRMLy9rQjVrOFJLaXhkWXJmNGhndVlQRUJBbmNDeHBnMFlJRGlSbTB5cGU3R3RBRWpnbEltb1laRFhPanhJbHVpVEpTMEFpVERSbC9wVEFFN2VzQk1hb1U1OUNzVkZJUkRSUS90Z004bUpKeEQ1OXhKeW9haFZJUkNWUlhCT3dBb2ZBaVQ4RGtxdGV6cndTQ2pnNG92akpReUQybXhkbHl1QlFJYWZKSHpkZXI4cVE0aWVLTmh5ajArQ0lZNlhMMEFITlVjT1BEd21GTnVsU2lNVG1nb09ObU1kd2NPRWRGMk1sOFFaT2VmaVJ4SGxKNUFIQ2drbVlNWlFFeXRGM0Zud01NRENmaFlrNGhrTWIwd1ZoMVJ1Q21mRGFnaGhvdDE0WmNWaEYzb0xuUlFZRkRra004RjV5RzNLSUVud1dXRURoYVRvZWdnUkhHdmhSSFU0WTRBRFIveHB1Tk5GRUcwMk1CWWVUWlp3QVJRWitPSFhlRDBhK2dJTVB5VkZZWVpBSThXaUJoam1TS1lnRVMrREFKUWhYL1VIaUQyc1FLS0IzZjNDQmdaTi80QlZFSHlaa280MEtmMVEzMW45STRLaG1Pc3BKd0VDUFFnRzU2Q0JYUU1lREh5TEdKc2dFNStGd1p4TmxmUHJIQkhGMWxrY1V5ZVNSaDRpY0x2akRtSk5PYzFxR1BWcndSNGF4RHNLQUNrLzVBYWRlZzF3WGg1UEVDa0psRW5JSlFrQ0NFazBtaUpRb3dKcnJMMVpJOVdpdHVFNWJTQmZia1Fic0lISEZBYVdUL05HWXhBdUd5RUNBQnV3R0lVZ1FiYmdwcHFUYXluSUJJUzJVd0FlMmtTWldMd1BaS1BHcnBvVEl3RjhjQ0d2endnUnZQTExHSDE5U2lGeTlzeENRQ2Y4Qk1reWd4QUsyL2pIaGhHbE91eEVQK24xYkNBWnhjRk5HR2pZOUlnT1QzWWhKY1N3VzEweUFFZ3dJY3NYSFp2bXI3UURkYUJCbklwckdGY25MYTJoWGxyUXpoNUxLeFR4dzdESFBhell0aUdDd21XekkwSkc0OGJCNllERnRkU1UyWjZKQmoyTXJrazBidkJHOE5kZHZJK0wxZHhHTG5YWWtycmh5aVFsbjNvMUlBVU9La1JVaWVnMU9DTnlDSUMwWERtSDcvVWttZVQrYXMrT0hsTEJlWG9UblpaWFJnbVRWc0NCZVArelVEeEpUUGdrbUFxQUJxZW1IbUhHNTRZVm9iaFVHaDhmNUFyTGZQWnpuZGtLeDNrZ0dtUlI2U1FaODkrMDdJUXRVQ3NlQmlNZU9GWXExYXdySEM0ci9zV0FVZW5SOGZDTFhabmp0NnRzam53My9CckFmc2ptbngzVStkTVk0L0tHN0d6SFRHejRoR2x4eGhmYVFUajcvSUF2d2loZm01cnNLd3RRSE96aWtZUkFyaU5qK0VHRUFHL2xzZ2NpclZJdXk0cmJvVGE5dFVFZ0Q3Z1lSQnk0TWdqOUxnNkFoYkNUQ1JDeGdmQUFNSUJUaWtBUU1qdVZ6c3VuZ0lPQWdocENWTUJHbnNhSHZGbEFDYnFTQmVjMERGMzlrVXhVdkxZOHljR2lESUxnQUI1YmM4SW1PMElQcldnVEVDdFpPT3l3Y0MwY0lrYVRZUUFFT2lJbFZYR3hDUnM1QmtSUzErb01aa2xBR0RKQXZXWlN4NGd0U1pvVVQ4SWRVTW5pREZlTHdzRGlBWlZGa1BBUVIzSFhHVDlUcWtEM1N3eFhZSUVQMU9iSVFuSXVMRmN3Rm5SK3NzSEZCNGtFUXFLQ0VEUERnLzVQZVk0QUpybERJU2lDeVZndFlRUGE2OEQrc25HQUNjdkdpMW1KcFBlaUl5eXRoc3h0eitNYXhVMXBnQVdZb3BTQWVwWWhmVHM0QXFFeGw4c3lnQXMyVWdUY1k0QUpPV0NpbndzbHVFRzV3Z3dvSXhBWUVpQWxIdWt4TmhuYkdzNkdnUUpnRzZLWDJCbkhJQlRCQUpBekluaG1pb0Evb25PY05OcGtBSE42SXNMbTg0WjhOQStnLzVYUWdONndBV1J4SlFoY01FSzF2S2tvUU9rU0xCUnhZVGpQd1FKZ29VQ2ZhVHBsS1JSYmdCKzdRQmp6a0lZUjRNWXhURXhEUkc3aUJnUU1KRktBalNnTVh2T0VtSHBUZ0J6RHF6MEliQ2s3bFBGU1lIRUtBSGpTYVRIbXFJS1JzV0lJS2xNQURHK3hBQ3gzUVFSVTZOVUVvSktsOWNmOTRnUnUzNnNhWjJuTUdFR09ERGtKZ0F6L3dJQXB0eUdsU0dlck5udm8wb3JVSUpGQkZZWi9MbUNHZXlreWxHZHF4a2FTcVFBaDV3TU5UZFlBRkNoaldzQTFRZ0FKbXNKbTV4T0VQQ2lEQkREcEZXVGhBZHJHVC9RTUpTTkNBQ25oQUMyU3dnVTNUZWg0YS9nQUZDQWlUUStIRFdyaENnZ1dMQ0FJaDV4cUtFOEpCQWR4Z1F4dEtjSVdiUHNhdlY4akRIc2h3QU1JZWxnSjNTRzV5RFh1SER6eEZMTzNickdSbm9OanFWbmNHTTRBRGRnZUJneGxrd2JCL3dJSU9EckNEUFBCZ0N2WGNoaGg4Z0lUVTNzaXRib1VvSTJRYkJCa0FJUkVIckFNRE5QQkpIcmlsRWhJZ1pTa1pBSWNQM0NFTEpGZ3NSK0NnMUJMd0lBUmE4RUQvQlFwNzNEODBvQW9mK0FCbXVjRU55aTQ0dTlnRmEzYWhRMTNwMnZPMmd2aHVJVHhMMWp4b29BUkhWZXQ2a1lCYUIrTG92VDk5NjhSaUkxdDFNWUlQMy91RUJOWjV4aEpndHNRSytFQUZvRnFCT3h5M0FScmVNRGV3bXdURlRyYkFEYmh3bEswYll1eWVHTHRXTHJGMFZYeGNDZ2lpQnVJZGdSWjJ3RjhscUtBTjBOWEdPNWJnZ3gvUUdMV3B0WkdlVmR2VGxOYVhCWmRpUkwvMFIxdEttQUVGelZ5UWRoVkxndThlOWc1VlVHeUdzK3lDUHlnM3VYLzRRSFlWNEFJblMzZXppTGd1ZEtZTTFzaCs5OUpsTGpNTlBEdUNFSVJBQ0VLQWNSdVdJQlo3Y29RTjcwaUNHSmJRaFdQODROZEdVUTRVK05JakFTK0MwSVd1UkY3Vi85aE16V2lqeEZsdzlLV2RiT1pDM01IQ0N6SXdCYUl0WFVlRWVSdGcva0FWR3NCY0NyaEF5N2hWQUhqRFd3RWRlRUROV3FDQ0UxSmdCQTIzd01zZVBzOFNsUE9HcytYTXRZTzRhTEpIb1V3OWlBYW40STVzbzZPZDZtb0xJcmtmNkVZRE1KMEZKblE3RVV4Z2VIT2hVMlVBY1ppbTIwaHlwMUZkNW1sZitnOVphQUFUQktHQVFleDdQc2dlT0RSVXFjYjBkbGZobTJWNHd5M3Rnc2wrWU4wb2ozYTBDVkhoUVZ3YnR6T1krTGt6dk5ndk05WWJpaFZFaHFmK0FYSTdYQkFyRjRSa0JRRUhIOGo4Sk1xOFFoUkMrbXhHNTF6bmoyNXVkOGxkaVRzMFlFSHFudllmbGg1bGIzaloxcVg5T2NvSmtXREw5c2NIVGlSRUNjd1N6dit2KzBLWkRJQXgyYnNyNXMxbVhPTXVTSUtCUHdGcGJrejg2cFkyK2JYbjdvTE9uenZMZ3lBQlpNSEtrU1UwVUg2Q2tKRGhENEw0ZWVMVTF0VEYrZG5SanZsSEhCMEhQNis5SWE2OWJhR0hmckZYNDBkN1BiWjZ4aWp6RDcwRjZVWVNMbnZSQzczb3R0Znc1ZzF4OWF4cmZmUXpUQUo3V1lMNjRodC9hbXBFYTV5ZkhmdFBCOTMzaDEwRXRSMCtkRU9JdnVrem5MRjd2VCtwVkY3QjlXSlkvbm5BM0h4QytONy9XWUFJb2dkWmZ3QldoTkFRUzJCbnFVVi9Nd01rcDRFQ0J1QURYWkIvZVBjSDJzVi8xcFdCaG1CWkcrZ2ZDNFVFRExnOXAzRWE3SUFFdnphQnVOWmgrZFlwaE9BTll2QUhYZ2VDSVhoR0VyQUFmREFJMVhBTUZDaXdnenpZZytjVURJRUFBQ0g1QkFVREFIOEFMQUFBQUFBQkFBRUFBQWNEZ0grQkFDSDVCQVVEQUg4QUxGOEFKQUFZQVlvQUFBZi9nSCtDZzRTRmhvZUlpWXFMakkyT2o0ZFVUbEVxS2dhWGhFNVVBZ0tRbnArZ29hS2pwS1dtcDZpRVBUNGlyU0tIcno0cVZBK2NxYmU0dWJxN3ZMMkRJd2RES2dWL3J3akhLTWxJeTBnR3JDSStCazYydnRYVzE5alpvQ01qSGdiRklnVklmeExrRXVmbzV3akxCUVVpUDV1ZDJ2UDA5ZmFuM0NrL3JRVW9DSDhETGhVd2dBVEZnRUxvVUxSenA2TFd2WWNRSTBMVW9jTkRDbmZpL2cwYXNFNWd1SEVJSlNCWVdNQ0hreHdTVTZwY2lVdEhpaFE2blB6cGQzRFJPbWdvUWdic1orQWRGWlpBZ3dwbHBFT0ZEeDhJSk5RMGh5NVJRQkVHbGpKRlVnQkJ6d0kvaDJyZHVuTElxbkE1QjNVa3lFd1JpbkJTMFRrYmNMYUFQSzV3LytObXl6TVNyQ0MyaEZ5MUVsUzFLU0VFYU84ZUxEZnd6MWtEYitVcVhweEt5UlZpUHNKYUhkUk9CWmcvVDU0SXlvekF6SUJ6aGw3ZERmdG41RUVrVVA4QVljeTZOU2dNZ0tNZHJBdE54WlpEbHdlQkFlTUVnVlJCa1FVaDBmZ0gwMU1EZmx3clg1N294YmVvZlBmbWJqUmlTSTRmQlg3L1FWSXVvTWFBTlh1U1prN2U5WVNaSWxBd2tOQldoYWpyMlVPV1d6Y0lCWGZoSXR5WDM4OWFqSmc0eWJUemp4YWhvQVRmYjZBWlJoeEE1UlQzUncvOFJTaVhGVmI4WVVVY2dtUndTalFOQ3RJVWVJTDQwNkdFSk1ZRmh5QkUzSklDVkNNMjVjOUdDWllvNDR5S3VBZlNJSDRSRWlPTlBQWTRrMkU2eGpoQVRUSG1KSk9QRW9FQUF2OGlJR1RRNUI4M0VJQmtJbHNFaG1PQ0NJVGxsd1R0VEJrUkNCZUVlWUVBTW1BUVJSUUdrS1NDRTBvczZXVWhKYkFZNUYzUW1TUFdIMGUraVEwQkJCQkJBSmhLbEJCRk16NEk0a28wN3ZCalFCUks2SWtmQ2gwbTFXQkJIaVlvRWdPT1ZvTUhDNVQ4NEVNVUZ6amhTanVYa0dXUU9paWtDZHdmVWVnNWhaV0dmU2JJU0lKMWVJVVNMR1NxQzRZL0dOQUZQOFNJZEl4dmhtU1pKVHBzcWZxSER4bGNNQ1VBR01oWkdxVGRWVlhwSUdha0FRTU11cWFTaEtIaEVFUnNJenVKZ01SZzU3Q0ZrUkxPK2lqbE56VU5jRzZEbHpCZ2dRVkREcUpFRGpsQTBXMHBZb1JEakQveFpybU1jQVY5TmlKQVZLVjM1Vk5Rb2RGdWowcVlPNm4vcElZVllPOENadVJVRG50SzNQRHZLTjh1c1dDcTdZaDJGQ0VEblZySWNSMHFaUlUwSlV6TVk1bzFXUVhhQUFXWXNZQUZESHhqemtBMmp3ekpoVllrZ1V5YTdSVDZnd3BSc01CcEpjT3drc2haSWMza1RoUWdKQ1pqeFpBS1lrQlM1QkQwOHdMcktDV0JNMmdZVFVvY2JQaVh4QTk0TEVJQXAvVXRESmpRbFZLMXRaUTl0bE5UTXd3VXJ0QzlGbHdSbFFRTW5BV3EyNlhJSUVpdWpFait4dzltNUdpWXcxY3kvU25nTkxxbmtWV1lMbkNGRDFmOGJNSFlmNWdlVHRHUVgwT0FFcG1QQ0srT1BHTVNoZGNrUnNIaU9RYWtEalF4Q3doaUJpSGY1Qm03TmdSNFZrZzBRWTQwa2l3OHN1Q0R4aFlzOEdMMmw2Z2V0Q0JvdnhQRS8vTDF4SmRYa0d1UExVSVhHOHo0eGg5ZC9KRTZ4K05rZi9pOTJnL0NBREhrMThOaElVSWJGd3A4SUsvTFdVNUdLa2pQejY1UVA0NFY0QXI0YzVBZi9JQ2EvdEZqQ3FVQllEbGVCQkNhdEFOMEpXSUJWSDYyblN1MHJnN0U0d01mVm1kQytZWERndlBvMVlqeVZVQ3hqY054UFBxQi9GcUhndU5Oc0NvVEZNNGc4dUFPRE1JUUcxRXdYNlhLTVp3UXdTc2NBb0RkZmtKbExqMzh3UXpqbUdCQjZ0RENGdjZCZ3ErUTRoRjFZVDBEeEF3MFdhSVRmaDRuSXhDMEl6a21NRUFlSnJnT0JtaWtEdCtnWTJyR2VBMzNwR1UrSUFFUnp3clFyQmtOb3c1aTQ4RUVyNENBT3FCZ2duNHdnQm40d0xIWDhkRWF2dU1iVTBCVUhMSUJSdjk1TW1vaEVueVluRG9nWVk1K0lNMWpmS0FFM2wweUY5ZGJTbE9hcUNCNi9VR00vRUVDSFI4SlNRcGVRWVhIRThUcVdQWEthaVJ3UER1TGw2eEtJNW9aNlhBQmZzRGlIeEMzZ0ZFdWNJZWJLMlkxWkNBdHBzZ0hTVWRKbmVJUVp6OFVGTThDZzdBQVlMUlpEZXpJTWtINXNoT1NSSUNBQlRBQUNmYkNuMVdLVjAxek1vQm43UFNGNzBnenBBYWxVWjZDMEUrSkFJT0U0dUVUY1ZmazIyU1V3citBNnVKOS95c04yVW9qdEJoOXc1WGxBWXpHdEFmQmUvMGhhSXpMWUUwR1p0RmNkTUtkczZJV1I1YzRLMktXaUdlb1ExdEpFVGUyZENFUFNDM05oUjlqdWpQb2JLbWlKRG9JUFRubXMzc1ZqaUFlNHR0aEZoWlVVOFRwTzl6L3FkWkJGQlpWaFpiSVhCcEYzSHBTaFE1S01kT01WYjBGMkxwanhtb2hBRk14d3RYTkFES0FmR0pLWi9QWnlFQ29tbFpSWEFBTi93TlB0WnFxRkgzeGlVWVZaY0FWQ2dlUXhUR01FR0hycXlsQUFGaTBkbkt3QytBWWFjeHcyQko5SXo1MVBRYTl5Q2FTSy9GVnNxQjR3UFUrMWxPSzFoTm80eWdIWjFOVW9uRW9NVzFpaXl6Nk9oUlAxRUlDQk5ZcmdOb2tXVHd1dlJaVEhockFEMTVnanlFNTE3bUNRY1Z0NzJPWXRub3pIWWJZS25SOXF3akFhdXlwVFozSmEyZWxqajhrNFFUV2VHNXZlNUVUcE56Sm9NSnRFR2lVSXF1RE9MVndqQldNZG53ckFBSzBZMk9qbk9iK3h0dGF3UHhnZkxoNHJpSHdtMDl5QW8zQjVOaXYveWZvdVJITG1rYStIN09LVkJoTVR2eHk5eEJFdUI2QWp6ZTg4WWFsa2djKzRDalVxNy9DT2ZpKytOMFJRRGJFdWNiR3F5L1hVdWxHOWxzNE14eFB3cElWTVRwUlVOTDl0UTZkR2pHZEQzNUFCQldUQXI4T2hyQ2RGTXlnZEZqNXRJdmdXWTB2MjhHTllpbURoOWl1UXF6MVlVTG9FSUlsZEdyUFNFaWMvUldBQUFnV1JWMWZqRno5T3ZmS01sNWluaCt4WlFORU5saDNhZEFBSWtOVjdJbzBPMWp1YXdKOXRoMmY4V0ZaVGVXWS9rcEMyMUo0ZU1jS3cyNlFQbE5RUFB2VUZQYWhGN1hZSXVqQzBEQkxCRk1ISzhaVDVqKzRwNFhCMDRNZjlqZS80djFCaFQvU2hhYjFmT1huV25tWk0vWUVZYVR5ajBsbFZWNDdHNGh6RmYveUNuNXcraGl0UGdTc3I3RElBdFFoT1ZmOEtlVnlrYTVNZTdvNzBOMlM1aHl4TnVyV3RFRmtWWXBqQ2FOdXNCeWpKMUZaNW9LaWpTaytHRUNSZm5oTU5BL1JFMUErdWRQZHp2UnVNWnlLY285SVo3T3lMdXNvOHhUMThITUJQZkhOWURSSjd6L2t3UUFNbUNBVzY2QVJIc2h4amFlNGd0cDI3ZTA5NndLM1lyRndWanZKc29pVEVIeUFnWlJ6bHhEdGhQNUJrWGk4dGgvcXdFVUVKTWZqZ2dDakUzQXBDaXZmbzZCL3NXeVZXUzYyWW94M0VPSExTVWxFY0tLYS84b01lbEFjSDNwNWpBbDZmQUVxWEd6Qnh6MEtjQ3VDU01FMkxTRTRlUzAvRCtLR3RpWkUrTnd4RXdQQW9lclJGa0hxelBDTmUyMjloMTZIQzBlS25lWC9UbS9YbXhYK1kzRnVOSTZuUXgwMVVERUQwTzRoQWFlV1NBRDcrS1UwcVVuY2JEOWFLd2hnaFd3a1BISmthWGZjQzc5V00rb0Q1a0xzYjZtWkxRSGxHN3dlQ1dXZUQ5RG1QS1BydkpXZXRJSTd2K24wc0k3QjFWb0NjS04yU2xWOXRneSt3Nml1bWc5aEhPMC92UnpyNWJTSDB6UnA4T0l1bHpUSi9HWHFmZ1kvUnIyZGhmWDBTaGxidmpubGZqcTlQMS8yRURrSDdYbS9uQWVTdE1QQlc4ekhUSCtsdXBBa1VmRldIT2FIZkdoa1BzNG5kL0NtT3RrVFRCTEJPR0xsUmEzUktnOWtBZXJSWVF6SUdMNjJZKzVBWkF4V0Z3WWhnTWQzUnFWaGdDTUVkV2JRQ293V1FURzBYZ2d4ZmZVM0pCVUlVWGppR3AxV0tlS1JXWVNnL3djaWRSQktGQ0xBaGc2bU1TdXZnRTdnZ3hvYUF4Rm1kSGlHSUgxT2xXaGJRUXhEMG1DTWdHMURNUll6eGhGN3RHQURZVUxtdzBUTDhJR2JaRDdyaElCTDlSQml3R0tMNElCQTQ0UkFRUXg4azA5VW1BaVhCaFNRTnlwSjBST01kZ2o1VldHRHdBL0Y1bFpDV0FqYWM0U01VWG1XdHhnM2dpbHhlRFZzYUE5WDBVTlkxQXJPVUFCRXlBaStnUkgrTURPSWxpNWt0azcwUjMrS29ZWVcwSWdwd1h5T1lHNHFJUUZHV0d1VjlBb04xUWowQkcrbGsxbW9FVnRzVVNnNXNUZVZXQjVxQ0lwQ1FVK2tDRmxCMFJZTW9JRFpVd3piOFhLSklCN1JVSXpaVjBuQ3BXV3VZQkF2OUFoUmdBTnhJWVZjMFlPTmdFZEFSZzlJVnhMQzQvOWdtME9JY25kUzllWU1QWkU2d3FSbTdoV0xmREZJeDlnNmkyQUJTS1VWZFZWNzJ5Z0JpN2dJZGhTTTF1QmlnUEZhdTlnNlY5QUs5UVIxamNNMHdlTjdGSWMvVnlFQ2sxU01xREZtWmpBc0VJZ0lkaVFYMzdnU0ZOY0k2d0dRdThDRUVJazZNa2dJci9lS3JmTjZBaU13eGFDUzZWUThrbmhPNGRNTXJnQWNDRkNRTlVjSXFPTUplVUJsOU9CaU1LWTEybGdJN21BQWNRZHZpOVU0ZTZGQWhJQS9qMUdHQ3dnY0h3RVNaYmlUcDZDRTJDQ0toUk16N2pDT2hsQk41c0pQNjVROTJhTTl6UWFUMlRkNUVrbVRKeGdPWnVDTTU0aVZwUEJvSE5HUnVpWldNVk5kN2tDUU90azRMYlEvT2VWZzM1Q0Y2WlE0N3BDQ2FObVdoSEQva0FaZ1JYUXBDTDdZQ095UkhYaVpsVm16Rk15MkZ3WkFUb2RnYTY2RGxHdVpQVkg1UUlXUVBZRGhmb053ZzhXQ0FsNFZtYUN3TnR5NEN5Skhlc1h4ZTV2WlZDYUZDRkdualBya2ROelhPbFpCSE5BNG1YK0FJZHkxQUNZSENwK2hiTlZnTC9xNGhHM2hNNmFERWNXb2svVDRCenJvbEUrWlBVWklmMUhBQmw2bEIyZHhJN0FwY2lKNWR1TGdDNVhYbFV2b1hGK3BPdktERVhrSWRlclVER2t5bG9jd1BLcTVDQVlnQmpRSG00TEFCMlRuQ2NqMUR5aUFuYWpRbms2aERtTUpVUTRVRHJ4bk9qM1JoK0d3bTRad0JYSHBDTWhaVlo4SENWZFFmS0JBb0NFeVRiMWdMNmNGWFRHbmdPQ2pPUGtIUGlmWUQ1M1JNWVd5Q01HSi81VVoyUWlQa1gybG9LQzNNSXFJc0YyaGg1UW5lYU9PS1pldFl3YnR3STRDR21aVVVRY1A0QWxMMm8rTXdBT0loQTE3K0RMcmhScTZtUWpWNUFOSU9rM0YyYVNIRUJ1ZndBTW5PRytQY0R3ZjJndjN3bGNzS0RhZGlhRmhpUnBvZHBxa1E2YUk4RXNhNEFrOFlHMmhjS1hXb0FRM1NsZmFJUkw5b0l6UzFrUFlpWU42V2doQzRBZlpVemVRRUFYR3VSTFlHYWZMbDZOaCthZytxYWlQUUttc29hbmtVSGVGNnFuYVJLcXo0Z01YaUtvQnBhb0FnUUNjNnFya2s2a2QrUmwwK3BSQ2tWa1cwREcra2dSNFI2dTNVSGxVQmF0M2NWS0c0Smx1T25rTTFxek5pbmgwSlRPcFVxTWhWUUI5cWllVmw2TmFtVjJEc0pRTnBxekordjlpSjZrSUR5WnlkcVplYUJpa3hpb1h4TEdPanNLZzJiV3VoNUFPVXNaZzZDbGZVc1lVdTZhdTZDcXZrTkFGQVNvVWFEUkNWTm9qOWhKbTI1b3BHU2dXUHBZU0tMcWlwOG9qRXFDY0NPdXZQTEt0RE1BSGw2b054RG9TNW1RQkJjc2preGV2Q2ZzbW1ucUlFWUdpeFRHbmVmQ3VhMGl5U0tld2NacFA2VWtLcXFxeW9TYzhtUUtkb0ppdUpodW5ocml4dVhDemxaaW9QbXF3S0l0cEZyc2YycldmSTVzTjMzaXdjZ3FxYjZKWS9McTA1Skd3MEFtT2lpQzEyNEU5eXdGL3AxQ3NKWnRVbXJxMTh3Q3I5bkpqeTZGWVltY0s4THAyUG11Mmg1cTBVQnUxZGNZUmQ4b1lZdGt6QmNreEVZc0lhcmd3L1hxWmlnR1VqZm15NE5qL2tVQTZLM1BtR25ZVXBra0tsN0ZwTHhsWnVJYUxqNGpySVcvYVhHcGJrTURXR25Vem9hOVhGWUdyQ0E0WW5VcGJ0b0tubFdwNER4S1hkZ2p4dERNU05PSEFwSVFncW81UVpJUTd0MERCdWpwaVZ3K3h1VFYxTDdPNkgwRFRFNng2bzdsS2JuWVZrcXVMdGRYUXI0eHduY2Q3dDEzYnZCSVNQbGNwaUswcWJOK3FXT0NtbFlYTEM1aEx2SUlMRVUyYkNFSGJJNCtSa01rYVBtcjZDYjBvdDFwNnZ2aDd0ZmlMcmhpNFZZSTdyaklpQmVEanRHaXBkTml3dndpY3dPeDdEdWE2RmF5TE9EWExINTVwaXJtd2xPaFplQWxjdmlIQllWR211YkFLd2QxQ1RURTZ2N2h3blIxMnJ6SG1hVEhtSWM3YXd0L2FZU3Zzd1pyNkQySkZqc0pJUWs0VmVnM293TUhpMnNQWkkxL0c2TU5pRmNNT2JLamZLRllqZ3o5dE1TNlVoMmN0aksrRmM2OVhaa0lxeEFjdHk1SG95N2wyMnkwSGFTN0F1eGdXY01Xam1zVTB2TVc2UXFHUWdyYkNhcWhPS0x5eGM3cW9Hb1dOc0hWMnVjWjhOQUJpYk1lK0JjZDYzTWQrL01lQUhNaUNQTWlFWE1pR2ZNaUluTWlLUEJUZnlNU0xQREtxTzhWakZBZ0FJZmtFQlFNQWZ3QXMvZ0JTQUhVQU9nQUFCLytBZjRLRGhJV0doNGlKZnl0dEwwc3ZZcEZjR0N0QmlwZVltWnFibkpoc09EaHdTVXMvS2xGdGJKODRMektkcnErd3NZSW9CVWxzUzFGQ0puNjh2Ync4UDNBNFhGT3l4c2ZHREdiQmJDbzh2WGhBSUdnRTFRUi9mWDRhUDM5d1BvUkxTOS9JNU9XRlA2RXJkYng1SUFSQlVQSHk4VEpCQkdoVFMzOWlCbDFzU1RqRW1CdUlESUVZSEcxMitjbEFRQWFVTnhEbnhmc3pNUU9JREM5d0xPbFN3ZzhiSHd3R0VCenBDZ0VjT0IzOW1DQWliMEljTVVtU3ZDa1VSQW8wTkJsLytCSGdUWUpQa2tBeG9RaW9nVmVHZVc5UTVxbWpBczVFUWM5NENTbUtCaUNVSURnTStKUVF0T3NoRktMVzVTRkFyMTRTRlg3a2dKQ3pKSWxEUVVYL1RTd0pGZVdQREJ4V0FDTFlLdEtyVndaRGNTanhJNFVsRkF3dk5nQ2NzcWFKWXk0NEFEaUVVaFFkS0J3OEhFd0E5V01yVjc5ZWtRaUxvdEtoRE1oc0lyR0J3OFV4d0ZBdm9Qd3AydWJ5bnpaK0NMVEl1aFcwVnhHZ2NFdVovQWFoUWpSeEVMNU8wdVRQQkNoby9LaXd6YVlPa09Kd1VBejQ3SnRrZ1lOd25wR0ZJbVB6TXpSdUhEc1dCQWRERXk1Sm9CQlIrYnFiQmdjeU1zS0oxTGM3d1FMQzRLYkJQQmpnb0FJSVRaVFJXbk4vTlBkWUhQRkV4ME5iU2VnMElCVEpKWUFEQ2hMMDV4OHlFZ3dWbmgrR3lmWUhRSEVJczJDQ1pRaVNJQ3NSc3BNSEwyVEpVQ0FPYkd6bjRZZkdTSURPRXRyTU13aDhjYWpubUlvSnhqY1Avd0ZBNE1HTENaUEpBQkNIQSt6SVl5d1NBTFFDaWZJUTBncHo2MkVnVEJ4SnhOYmxJRUdrT1JrVWEwQkdwWlZYbGpUQUowb0FJYVNYWElnU0V5aGxZUERHbW9aSUpNTWFmK0RnUTRkd3hybUpHRXVBeDhONEpob3lnVENDWUVEZW5ZcTRzY1lhb2xTWnFLS0tMTURBWEhqaGtBU1VaeHJTU2tSclBuV0pwbTNpc05lbm9DWXkxd3R2RkxqRWhaRm0waXNtbTY0QkJXOVYxcXJKQWxIZ1lDa1VrTFVCS1VtRGJwb0dEa2dnYW13bUN3UVRVVVpjWURvUXJHdlVab0NuMTJZaVlod3ZGS2prcitZRSt3ZGtoeFpiN2lWSW5HaHFnUkM2NmdxN1E4WlVobXhsR0dydHZKY1U0QU1PYVV3THh4djZkc0t2SUJCTkFGQWJLV3BISy8vQmdoaUFnS21RS1pzcUp4OFhNdEZtQVNGNk1jWjhXQVpLdHcxajRxM0lFOGx3QWc2ZG5ZenhId3NzWUVZVTZLeTc3OE9FekdQRkV1VGVqTWtDZXZ6eFNSb3R1L3hVS3czTEk3T3M4aHFOaVI0SHg4YXd3MC8xMmVVRURNK3pHUXBXYjZJelFGeEVCRFRNTGVId1hEekZ4VUVSUFMyV3pZbW9CMWs2MDlvd1QvMG5lY1hoVUFaRWIyUTBqdDNITXVCRGUzNDJqUWpjZ2tNa3BxbVhnVUkwNG5mckVReXVUODEwaVlrazQ5RE5EMjM4MFlVUFB5QmhNK2FENkZFQ0d4TzhOVWdjeTJhQ0FSZEx0RUZ4RWh6K3hQb2xGZ1QvUjlKd3hCN1BCQmpJVUJ5dWV4dENlRVJ1dU1FRkd6L29XUFh2aEJRUWZNNDVYMUdDR0hHWVZvYi9UQSt0OHBEbmg4U1RCaGR0Sk5IRmRpYVR1M3F0d1Z0Z3hoVjZMSERGS2QyQWtpOWtmMU5ZdXJZbWtUOGc1aldnRUVNWC9vQ0N2ZkRGVXlLWm56bk1VQUFVV09BUTljTlp6aGhRZ2g4YzVESVYrcUFnL2lXYmpNeEFFR1Q2d3d0ZUVKTWtDQ01VcFFCUG9VSWhCaDhZb0lFNml0LzFnRksvblBXd1hnYlFvS2hLb0FJeHZQQVdLbENDQm15d2d5RW80Q1REVUo4d1NFQ0NQOHhBZElTQXd3d1VRRVU3NkFBTUJucUFDdHBYdWRSMElYVTQxS0VnZGtnTzd2blFBZ3RBZ1FqTW9ETVY5QTlIUzBpaUJuWVFnaEhvQUFzVW9NQWZCUGxFTHJ4QUdET2dvaUJBQVljL1VQR1JWRlNBSkhHZ2dBYllvUU1QY01JSzJsSTVVSmdSLzQwSThOUUQyL2lESkxUaEJ5akFYODdNMEE5VklMRUVQT2pqSHdjWlNBcmM0WmEzZE1FVkJaRklTUDZCaTVDTVpEZG04TUpmWnNHV0ZkQ0JEbEtnZ2grMDVZVmxWR0RxUW9tb0RuR2xQMnhNeEFMQTQ4bU5HSkZNYlloQ0NSNXdBQjFVNEE2MURHUURHbENGRDBoU0VFbFF3QlZCTVlONjJsTVFrb3drTWJkWVJkdVE0SmkxRkFRV2xEbUVURGF6ZmRDOERCdE1oOFlHT2hCK0hTSUVOdnV6Z0NYTW9BRWZ5S2drRmRDREI0eWdBN01VUkJiKzhJRVRFZk1rSjZsbkV1WUpCd1g4MHA3MTFHSkM2VWtJZmxJeEM3Y01KQzExZWdjc0RGUUhJeENDRWtyQUNER29vcE53K0FlamZHQkRKQ0FCQlZDTktnS21Hc29CTEtBRUx2OU1xVDJUOEFHQTF2SU9UNXhCUEQ5UWhYVzY0QSs0dklNTFBrQk1ZUHF5RUJ1MUowcTFxb0FQck5PV2FiMkRJQVFaeUlGV1lBc2pPSUFUVWdBR2Q4YTBrNGpGSW50T1FqMlI2TThNa0VVQUNnNzZpYm95QWFCWndHbGVFWEhMRDRUQ3JXOU5SRWJkdVZKUVdGR3NkYlZyQXdLSnpnYkljNHM2SGNRdEJiSE9LclRUblJ2TmJXcmRxVFNLdWpGbmVtQkFGSmJ3UWkyNk5iT1pEYWdoN3BBRmdDZ0F1ZEE5QkUvVCtnZlhpa0tTSzUycldFOW94YnF1c3dFdWNFRTY4WnJYdk5ZeUN5UjQ0aC9HZFRUOWRYQUpSNjBuYUpPclhFSGN3Yk53cUFJNllYRUgxOEpXcitzazdVcFBpdGpGcHZRRE9qMXZGcGpnU1BYaVlJSHpjeVAvQjFVQTM4c1kxNWVYcFc5L3I2aUEyTDZpdjA5RXNGN0xTd0VYZk5lMm8wMXhTU21BWEVIb3MxQko4QUVDak1FOVphaWdDeTY4akUwZktkTE15dE1GZXBYRkhhcWd4UVlFbVJEbDFhc2dCNWtJN3VLb0M5b1pDSEQvWUlZT0dsWEgrWHdyY3RQNTRWL2lBTUU5aHU2Q1ExdUlSczdRZmV6bHpraUFLeW96VVBpb09KQnZNS3Y0aHhZUHdzTmlab0tlcWNpRUxBY1RFWFRtN3BtN29ERUpEdVFuQ0VDQ0Q0d0tUUzF1RWJSMFBzU2N5WXdJbHhKekVKNnM0UTBORFJxdVNOWUE4SjFwbk8ycFcwNEl1aENNSE1VUGJqampQNmpaYW9oR2dRRiswQVdZckNheGlrMkVhWk9xVkhHc0dxcWh4TjRtcG9vQ3B5SmgxajlZdFFxYUUya0FZenNicW4rWXFyQzlrclJEdkJvMGdRQUFJZmtFQlFNQWZ3QXNBQUFBQUFFQUFRQUFCd09BZjRFQUlma0VCUU1BZndBc1Z3QWtBQ1lCZ1FBQUIvK0FmNEtEaElXR2g0aUppb3VNalk2UGppbHFBcFNWbEErWUR3S1FuSjJlbjZDaG9xT2twYWFmWUQxUFBVNVVVU28vUHdXekJUNEZWSmRVRDZlOHZiNi93TUhDblNOT3NENGl5Y216eWlKL0JsUkNJU29pUGlxN3c5bmEyOXpkd0VNcGZ3V0NJZ1VHQmlnSUNBTURDQ2dvQnVNUzh3TW9CZFZSM3ZyNy9QM2Q0QVo4a0RPSDRNKzhnL01JMlRNd0FDR0Nld2EyK0p0SXNhSkZSbUFDT2l1WGJvQWdoQWc5RHFwWEVPRVZBOVdHWEZ6SnNpVTNGZmVTL1VIU2lONjZReUh2RmNEbXNxZlBuNTFTd0Z4bW9DQTdkU0xWRlN3a29WNURRK3Jvb2R3SnRLclZxMy95cEVBMnNsNDhaYlNVRlRWRVVrS2hBZWpvUWNUS3RpM0ZDU2Ivek54N1ZoREIxM0lHWXVYOWtWZlpVa0psUDVxZGljVHNnSHY1M0NwZXJDMEtFbWNNL3p4TVpzM0ppQU1ldnZUWTNPTlBER1FGVUJocU9qaWhJSGluLy9pZ3NvT3g2OWVtMmhnUWgwQ0N2V29xVXVqdzhHY0VtRUdiQ2YxSU5wdXBhZE4vUkQ4VmhBZTI4K2VjTUlndVBObWFia2hiaHVNc2ZSeko3TU9Tb1lzZmIrakVueWtNMFlvd1VFS0hqazVxL2d3M01IamtVdVJtYVNKdzVvUzgvL0Vid05IR1EyS280TWNmUEhFUzMzejFDWUtFYUFZMTFSQmFIcUhrUXdYL1pRaWRHRjJzSUlVUW9pem96Rm1oUmVpT1FlRWRKc0lUSDJqbzRvdWMvSEFJQWo2VUpBRVNIalYxbWdoZEtIRUJqRUJpdGNrcGF1UWdveUh4aVBTTy95SDNxQkJma0ZCRytRZHZaSmtqQ0ZwUVZlUEVrRks2ZHNHWFAxN0FRcGVPb0NEQ1VqUWh1ZDZUWlA3MDR4OGdaS0RFSDJsa2dNYWRhSUFKWnB1RG1ERlRJVmFTZFNVeXVIREpaMFZUeUJCRkZPZklNb3M0UGtRcTBBOVJPRkdDRW1pQThLVWdHWFE1MjEvay9KVm1QWUtnaE1LQmgrNkR3eDlXdEhIRk1jZ29NNGd6dE5US2pFem1JRkVDRldsMG1WaDlFZ1Q2VEk1ajdlY0RDd1NrcWs4Y1lpd2g2empQUEFqaE91eFVhNjA2dDhuMGh3cHZkZ21oUVRRU093aHF6NGd3Z2JMZWlFR3JPU2l3YzJVNzFvNEcwbW4zQ0ZTQWoxR3E4Y0NqZ2hXUTVqcFNYVmxBRkFRUWdXNDJWaVF4U0cyU3dSTldNK2FJUk1pOGY3VGpyLzhFVi9DUWdRcFJnQkJrQ1V6WmsrTkJGcVJaOFJWN0hneU1GVmJneUk3RGxQa1F5dzhxMUR4VXJnOUtmSkRFTktJd2p4a28vZEJwbDAwVlVGSkRGaXh3TktmZHF1eUxGWCswQVU4eVhTQ3hLQkZFRUtEMTFnS2dVUUtqa1pZRGFsTi9QVlRiUEdiZUs2VkhKZE5Yc1FRVy9IRkZBVG4rWVlZVFF6djlDN05pL1BGQ0MybWcrb2ZCZ2hEK1J5VUVxUENIMkJPMzIxV0VFdXczVHJJdnFsRFlId3dzSUJjOWd5MVFGQU1NV0RDMzN0MU0wUWdVZnlUUUJqTEZqZVM0Y2JhSmNPU0xkbDZCdVFVTUZHREdQS0FualFJU0MxaVFkRjZrOXhSRk5hQkt4dkRFODh3dGdncm51cWkxbjZFdmdJUVpEUHl4Z04yYUd5QzhJQVhOV1h6L1M5UkFPMGprRW9QdmMrVEp0UENpMWtwSUVMb0ZadGlldEJuQTUyN0c5bkwvc2NMNExqa2VXWll6aUtMTUF5VmRjQkVBL2dDQU4reE9lTjhUSGdNTWtMbWlCRzhRWFZnZ0FGa3luRzhKNW9OMmFRaU5yUEVpS1BoZ2QzLzRYZ3FIWndZOUlBQjR3dE9EYWd5M1FZdXd3QmJwTzg1Z2ZuZkE1OEhJQjkrS29POW9Bam8rOEVFUWZrcE1EUzlDRFpOOUVEbmhLY2c0RFBXZkFtUVBnaERzM2lEOGdLbzZ5SWR5UzdTSVFNNXluOEVZUlJ3aW9NS0xRTFkvNFMyQUR3dDQ0OXhNSUFndUZrSUpIZ3RqUmFoeGxzZ2M1MCt0YzFFR2ZBQThJOXJ4RDM3SWcrN3FhQVl2RGtLSmVwd0lDOFlCS2dQUWhCNGkvSlF6UUpESERJM2ovNGlJUkJVWEE2a08vajBqa2haUlhDRWUwaEN6bEdRczR3Q1ppMlRoeUVNNnlBREIweUxtQklHR1llanBjSlJBSlNNT0l4cXpGSE5KajFIQkRWeEVEZHVGOGc5OHNBQWY3QUZCMjltT2Y2WUR4ZzFBTUlVVnBHRUpTMmdEQmxhQXVxWUpzeERuUU5FbEt5YVpjbVF6UTlRUURSWUZvVFFyeGkxdSt3c1BKRTl4Z3d5a0lRNDR3RUVTMnZDRE5pUUJEamhnZ3lyUGFRaVJsU3A5S29wQ3J6TEV1dUNwVUh0bUVJRXpQU2NhemNtSEZ4bTRnQUJVRUFjMi9LQUVQT0NpU2sxUUFqSGdRQXhVV09ZZ2JtQk8wZ21rUGdPb2tZT1NoNUlveURSRDVjQmkzREFxQWorZFpqWVdhTkFwTUFBSE9LZ2dEeXFWZ2diaUJBSXArSUVQS3Y5b0tndVdlWU1wWUVDTkcxVGNYNEtWSmcrQ2J6MmI4bVFCcm5EUG9XcXVxUHlUeTBjQ09Rb0J5Q0FKT1BpQkNiaG9BalFFQVFxQURTd1IwQUFFSllnQkRsRTRnd3J3aW9HZkZvOEZJakNaQk5McG9FS1l3UllaNktSL2FOSkcwUFVKcmttejNWS21Rd29CckVDZ1F1Q2lCdjRRMk5hMmRyQWdlQUVPMnJBRUhuU0JDNDR0bmp3K0lnNUYzQU5aR2pJVEFvSTNqd1Zjb1RaR0F4MERqQW0rUDRsaUNqK1lMVlNsUUFUQVlxQU1aY0NBYTJVQUFpN2lnUWhXd0FFUDhQQ0NGMUN4aHBHalcwTXI5RHdha3NkTUZEd0lBL0Izb3dsNUpGQ0hVYThvY05BRnFKcEFCb0I5UXh3SXlvWVRBQml3YUZBcEY2RXdXd0hFZ1F2Q1RPLy9Vb3BUMytROEQ0eitrUnhwNXZIQ0RSY1FXc0U2VXloUUFJY2xRRlVEQjViQkJsUjVCVGk4SWJBYVNHUkJOZEFIMldJQUIyazQ3d2FMdHBTenphUWdadm9CaHNranVaRTF4VzNJY2Voa1JXQldUaHgycnhvQXJBeGs4SVlrbUVBT2ExaERHUXdNMk5WRzl3OUw4QU1CRUlvRFc1aVBkSEVxVVN0THRMTWJpV1kvcy92UFlYeWdNN1FBekRUN0dXMWtoK211UW5RQkJ3YjZMeFRlOERjcnNHRU5UVWgwR1Z3c2lCampOYUJSOE1PTnhSQVBmcEZPQUJlSWdpd3JPQnY1V3VCYkJZZ3pSZUpWaXZ4NjVHeVRSWXBwY2pxdDlYd0NDUUt0Z3dQKytnYUVKdUd3Y1VnMG1lR0FBVGo1NGRFdjlRTjQyVENBNVNyVmFaak9BTnVzLzNmSllpZXRiUDBaVXphc1JlMzA5UUk4QmFGd2NqNVlNWDhKTEpCUXJOajhjSGNsTnVCQUNjS0dnZ3dXalc0L3VBRUgyQTBvRjdnUWh6OGt1QTBCeFFFY1RBQ0NDZUJnQ2VrQW9BQUlJQUFlT0p2WkRHQkg5WlptQmhrRWc5U0M4S3h5Snc3QmhJZjdFNVNjYkk3SWhSektpb091dkVWSXhMUG5YRDlFV2QxV0NMTWMzSkRvSnBSQjM0bE9BZ0NJZ0FjaDdKcmZVQUNvb2EyTjdJSXZPeDNHZG1OSmtQZzNVMUI3RU1vVnFsQW5UdkpUek1ablk0bGNjZm84RS8zeXl5d2hXZlhFbGdEb1B4QUFkVEpvd1JMdzRQSTJ0TnpzTWRkdWdwVUFUc1doQVFvM1RnS3h4MGR3QVFqaDRISzdJdWlVaGpuUVNjQUh2UjVGK3BLT08vK21adzhrRXJMV1FkNFdpdGtVNWtFR3dSTDRka2puVWhWQVI0SkJQRWdHWUc0ZU9BQjFyUFczR0FBSzRULzB1dVVLQTJ4M0ZWemRuUE4zZ3dUNFFXSG1GN29VTGdBRlp1QUQwQ3hxQVFQOFR4UWVHVGU1QlZOdGFtT1NLYVI0REgzc0FxN1crZXlzRTc2OFNDNGVvWFJFTHRpOWJPMEpFRnFHSmdpaURIL2dRaE9TTUlFRFF3RU5WalU1WUlPQTd5WnZVSVcrYStIdTNRaHlUN0FOZDVoa0IrTGZCYm5TOUFLK1VuY2xmdlI4M1FZaFNFQTNQQmNoNTJOOXNQWUR3c1phcnBVRUxlZHlmeEFIWmZBQ3FOTmFNaEFFUVhCZ1JQQnVsN05CVmlRSThHYzlMV1FYRitRNW92WUpFaVFoaTNjK0ZKTU5Ha1loRlJNWmtpRXhnU0wvTXRZR1VSdkdBTkZWQWtBQWdScDRBbVhRQm0wQVlUaXdBZHFWZ2E3VldtN2dCbkRRQlM5SU9ySWdmRm1FZTNvQUR4Y2tDRUlXQktId1BhMlVFQ0xIRHpTaVhsRTNGamM0VjlBaVhNd3poaHVHQWk0bEJMMGtoSzBGVUFIRmErWW5DRTBZV0ZrbWQvbzNQckt3UWtKbFBRaWdCMmFBQWhhVlBVSVdDcUdEZFpCakVla1RkZHVtUEx5bFhteDRKVXFCYXZvM0FFc1FCMDNGQTRhemgxendBaWZ3QnVZSFdIcTRoMW5XQm1tWWdNcFNoWVowVlhIa09RVmhSTGJJQjdXZ1k0MlFWTU8zTTY2b0Q2WTJFOGYwTC9mQmhubm1JREdSRElWaEdBTXdlbFVHQnhuZ2NJUFFoRk4yaXFBM2phNzFCMW4yYnZUeGk2a3lDMTZrVW5Yay93ZXRZMHZpb0l1TlVIdGhlR3dVVVhtL0F5Nmo4aTNIU0NQTDR5L3ZjQStGVVNGMGtuTkprRGQ2U0lkN2lBZ2F1STA0MEkzRkV3UzIwQnppR0Vwck5ZNm9FZy9vZUFqdTh3ZDRJRCtSSjRZc0lZK2R4bnpzTkJKcVpoQTBnUVNaRTBkelEyZno0QU11Vm10aU1HUUFHWkNMUUFRRStRT1lwemN5MEFVR2NFUUxtVWdOaVVoWElEZ0ZrQ21PWUI1VDRBY0xRSExlQ0h5OGdDVUJXSU1lK1IzcWNBaEt3MlJvSTFCY0lGRFNhQWhOeUZxTk1HOVp4bUErd0k0SHN4NjVkRVJ3OUFkMXNGYTJpQUpONTBpTzBBSXZrQWZOa1VJZGVRb2tVVEZIMlFqdVFpRkxPU3hxS0RCT05BaFhzQjYyWVFBdUZRZWVtQWhNcUpXSGNKV0VVUDhHcWZkdkVrSTZMeEJadk9kV2M4Tld3bU1BempRSVFjZ0lVL0FDSmJCYzZ0Z0xTMmFRb1JCQ0JWUWJITW1YQnBFa3BYSlJTRGNMS0ZFT09QQUNlRFZSbi9BQ2IzQUlqb2x2VWtoMWRnbWNFUWVXL2dGWk1BUkI5UFFRdEljRVF3VUpCSEFGQ1JFNlRYZHRkemFUaVNBeE9uT0p6L0JtSm9PR3RsRjU1MUI3Z3lCQk1hRTdMUlp2Z2RjSk1uQUNPTENiV09tSmNFQXRFRlZ0U0NkQk1ESUZURmFaOUVSTmNiTUFndk1JZHFjajBqa1NwSmw1d2prYThhSi8rMkV5a0JlSjkzR01kbFlJNUxrZUkvbG5BSldlblFBSFhNQ1lneUFEc2tWc0I2cDRpaWMvTGFnaHh6TmNFdVJXczdHRmpEQmtkaGQ4OXFrTkVIY1d2cGgvQlRUL0xzVlVINi9EUHNWa1NSTDZWbGFVU3d6d1o3WHBDZXNKQjRYd0J1NEpCZXk1QklsM0NNVTNmYlJubCtRaFZzSGpXUkVYR3FDVUNBS2dCQmtRVW1qd3BiVnpPOE1ubzNNWmJpQmhGK2R3RTRLZ1grK0lISFhtYlpObENMNXpKcndYUnlVQUIvV21uaThRQjFmNUJyVXBaWDlRa0tUaGpjWDNFVk42b0s0aEkyZlRFRXBqQmpReW5ZWmdBaHFnZFBBblFadTVEV2FFRkdlUlNjMXdKbWFCRXFPRkkyeHFISElhRDgwWldyWmdoUmFnQi9pR201QndZeGd3WlFLR0F4TVFXRllRbjlXQ2wvUnBFRk1xSGdMQk1MeFRGQU5nTy90RUNIVmdlQk9IT1ptS0l0a2dkYkZTRFdOaExiTjVQVmNnRitBcFl1VkNHVFlJZytsMEk3dEUvNEs5bDU5S3R3QlJnQU9sMXdsNEZRZDRkVkF2MElIKzlwVzc2Z2lIYWhBdGVKZFdRUVNSWWlOSFpoYi9lUWpRcVhuVTkzQ0ZnQUtnVVJ6MTBpN3NnSTlYTUl1NjV3dzN3bVF6VVE2bFVnNDVkQ09kOWhnTjJ5Zml3S3IzZ3dOeG9LU2V3QVdPZVFMc0oxQXRJRkJIeHdtOStxdXZVVDdBOGtKYm1naFhzSTVqQ0lQQ3dEdTlJemtJTUpMQnN4K2craGlJYUVvT0lwSWhPUURPTUpJV1VHUTRlMHh3UllJTWNEMkNPSWdxOEZKLzRKNlFVSTB5c0lwbGNGZytNNi8yUjJwd2czK3ZzUUtDZVdlUGdDUDhFSHhXYUZ5MTBMQkNOVTNyc2FCRUs2SFRZU1p3NjBZWjlTM0hGenY1TkFoeEpLNVRhMXd1bGE2UUFIcGJtMlZhSnYrdk04cXlLK3V5aWlFamo1YzhqS0JmaVVDY1lhdXpTMmRzWnFJOWxwbzdzK0FERzVzSTJmWU01ZXFhOHhLeHcxVzNoRENJS0NFR0E0V2hwNE02MitnR1hBQ2lLd3NLdWF0Y2pDRVFVRGNBZVFBSlo0WVRwU1lTdEFjNkFRc3Nab0tJc09rN2l6T0NpcEJ0L3NLaXp3YXFtdmNZMkhNRm1YTUlTM2NQRXZBRHZFWUlXQ3VRcVBpRVVKQUVTVkFidlFwOGtZbXZMaUdOTWhDc3RrRkhqcUJJdzNzK2RObDNXSW9JQ2JHOExFb0lWd0Fha3RxZjJ4T1Z0ZEJreGhWWmtTTVpDUEVZdGNBNDNKdEZrR29HSWZ1bklZdVlJdnVFSk1VR1NIQm5qZnNKeDhjV1hpZ0lRVUFFU3NBRGwxVjVNOHNJZ1ZsL3ZhQmNnL0dMclZSWjNPdi9PUjA3bnFGMUJkcnJRbWlFaUJLYU8yaEVISzAwRlE5eUQzOXJDQ1JwQmlyQUJ1VkhKK1ZYYXhpZ3BPTXJ4VmNMQlc0QXZxdXlLbXl3QkQ1Z1NUbnFyS0NBdWNNUWw0L0FnUjNvY0NlY05FQUt2SnlRVVdraXhxSWd4c2FuSXk2TVVUZHNlMUc3T09VQWVmZmd3NjBMeEV6bURqaTBPQ0laUjdrVFNMTjRCU1h3QTRjVlVGQnp0WER3eERqUWExSmN5ZTZaQm1WUVVwY1NCVCt3QkFlVmIvckdJVjdNci83M0V5RHlDQnZZZ1VHZ0JKa1ROMmp6REt5N0NIeXdId1FJRElaNnFHWWh1b25RZTlDTE9SRGhIZWJUeDNVN2ZIN3lSaG1GRXQ1alViZlhQeVNKQkV0QVpnTVZCVjFnQlZPR3ZsTVdkMUdjcEduQUJaODhBemp3L3dVNjBBRmFFQUloSUFSSzhBcHRNSHFnSE1wZHdCY1A4cFJ1K0lKaWlLWlRlQXJIcWdoS3NJRXNvQUZGbWJ6ZyttcmFXZ3AraDVmNUI1eXFHOHVZZWsvV2N5Wkpnemx5WlNxeExBNFhOUnVpZTZjRm9jTXE0RklKMVFZbElBMEgwQUVmQUxJWENsaFZpVkJ3a0FRdmdGMUo0SWtCTlFNa1FBSTRNQU1VTU5NempRVVZFTTVhb0FVUDhEVXJZSVJpWUc3ckRBZHNjR3RMMEFXUndoZDdvUmZuMENpUzBnWGdCSEJ3TEF4NHNNb3hTZ2gxekFqeFlBcnlzMXk4R3NJTGd5MnVoZ2h1QkxYQ1FrOXpnNCtzbXoyNDFKd09zb1VMNEVKaW9ORkpzQUpDd0FOYTRBRVZRTk1ONE0zNkJvRjRGZEo4blc5d01BTUs4Tkl2UFFOd2tQOEZGSEFITk4zWU5WMEJOejBDSWNBRDVqd0ZuRXhic050VVpMYk9uTjNaZ3cwSFk5UVBKaUE4eldvUVBBQUtaYTI3QTYwSVN1VXVwU0Y1cW9FTVI0ekVCUnlZZmt5Q2ZFZVpFaHJBYTcyZmRrTlBlbkFGV0F3SFA2QUVPeEFDT2tBRGpqM1RMbEFGVmFDaGFTQmJMaDNUT0ZEWWhuM2RKS0FBZy9yU1ZiRGMzajNUTkhEVDd1RWVIakFDT2dBRzZKMENpN0xlN04wRFJtQUVYOUFBOHQwQUx1QUNXUURUT0xBOG9WQ05nc0FDd2ZzSWJGMXFoRVFLcTMyZEJBU2xzMkVPV1YwT28wc0l4cVVVREdEYnc5eDdwM1FJNVVCeXZpTzZlcUE1K1BadktCVUNIWUFGMzAzVGQzQUhDcERGZjFEWUFXWGQySjNkaUQyb00vQUhNajMvNGpRKzRpVis0emgrNHlUTzJQZnR6VEpKQ2xqREFpeEFCZUlENEx6QVBwVExnb3Z3d1ZjU08ybFNsQVVSMW9RUXRSQWpGN2gwQ0VhRnhNYzhucDVqUldid1p3SWlCR1F3QW5udDNUbXU0d293Mk5aTjJDM3U0akZOQW1SVzJFeFE0eVJPQVIrZ0FIU2U1eFJ3M3lkT3FLU2dBZFVUUnhid3I5NmduYUZ3eW9pUXV6Z1JFQnZyUnJheloxYnRERG9NTkpIU3k0WWdFS2txTjdxejRkdGppQWJBZFd5d0FrcHdBR1crMkRydUF2SmRCUit3NmltdUFLNnUzVE1RNjdIdTZxM3U2Z2dWNDRmdDBvWmQ0alRPMkIrQVVCL1E2em8rNG56dXpXeFF5NHhRQkxMTXJFVVVDZ2NPQ1VhVkpKS2FsSXBLbzVhMlFzYTFPTU9sUFlHSi93QndOSXRtWXFkSWpMMzhrelNFMUFWeG5lNXh6UVlGOGdBNndOZzAzZHgzanRpZzNGUUJsUVFLZ0w1SklPdXhMdU9JdmRuNTlnZUR6ZSt1WGdYMFhkK21ydU1mRU9ONGZ1YThMdCtycmdEQjd0MzNUUUxlRE5wZ0xOQVRnZzZld0l4c0NRazg4QjMrUXVqVWZwUnJadWx1QkYvOG81eURtRGJUTGpjaU9aNE13QVlLd08vOC9nRjQ3ZGcxLysrRXZlb0czd0F6M1FDQzBBQTNYdkV0TGdpR3JkMnVMdXNDSDlSTkZldjZUbWFFL2VxdXZ1K3hydGxQaitlTlhmRTFIMUJkb04rTndJSGN4UWlmaG8rZHdBZlY4dktOY0E3Tk0yMzQraFFhUmJSeEU3VkdWVTlUQzBHUEFUeFErY2RzTVBFSlArd1VNQWcxMEFBR3I5ZzUzdi9ZSlI3U2Y1QUY4TDduYmY3NEpEQUk5UDNyQXJYcWQ1N3Y2UHZxK3A3NXJtNzU5RDNUdk83NEw5MzFyNmZvaVNEMk1pQnRpeUJjL2dsV2owQWFvSkNmTXVxK0ZjUDZlMjk3bHluM21YbS9pR0E3cXlMd2d5RHIxczBFV2FEWXByN2NmN0RjZDdEWE9PRDNlNTRGaEFENUwwMzhvRy9uZ3kzMGd1RHcyaC82OEo0RlRKRDBTQnFGWDd1K2lBQUFISmpHSDArend1TUhSZTRJVjRBQ0FRNEpGTlFmdzVCd3ROOFV1cjNMbWFuM1B3d0lWMytEaElXRkZvUUlTRDgvZjR4aWNEZ3pDaVNWSkZsWkZKb1Vob1NiRkFvNENoUjNuNWhNblg5TW1KK2JkeTZobzZXRG5LMjB0bGxNbGlTaE9IQStDQklEdzhURXFZWkNEQXNXREgvL2lNZUh6ZERRZ243VDAzeEMxOXZjaENVRDNZUERmd1hQMEJZV1Z5aXA2T0YvQzZrTDhsZFJTM0crazRPVmcxblFtbmNmNE1CcFVLcVZyVnViL3JTNjB3RE9INElHSTFJNHRVdkJEQnc0eEJnSVZxemp1R3RYbUxrYjJVa1F5Wk1vRFVramFXWWJJbmdwdWIxY3dLQkVteVNFRkJoQ2hha1RLVkE0UHFSY0NBdk9LSWtUcyt5cVpCRWpteTRvQmdqelNBd0J1RzBJQ0VuWUdyT3IxNjlnQ3lnRDZ4VWRJajBXektpd040MEVvWDZrQUg2NEUvUFRIWVpHRlNiTnRaVFhqRWc0bmlLaFN2aHF0NjFjeVNwZXpEaVZBWE9OVXo1YmNLWEVqeVZzRE9rMHRBK1RaNVNlUXpmb1cvRXZ4c0Jka0FTYldoaWM0WEFTSXN1ZUhkYkEvMHJhS0djeVVIdlQ0UjlKa3hSczFrZTZ1UEhqdkpxZVppUG1SMVRXcmY5OHhFMjkrclhZS0FlWXVXMDlGUU1KM0FzeEdKL29jaEtCdnpIT1dDOThNM0xqeFA5WXZMZzh5UkxuclQxSzc4Ni9meUZqa25YekhYamJqQmZlTkt4aFZ3aDAwd21EZ0NJL2RDRUdHNENkZGhvYzYyV280WWJyVlhnaGMxMFlFSlZVREJLMm4yekQxT0hmaXFrQWlCSjRaa0ZHeUhqRmtEZWpnVnNSUTJCMVVsV0ZBaElHUkxpRUdFbXdRYUZBU0NhSnBKRkppTkdGRDBpVVlJWlZVNVZJbFRnbnZjYk5BRWlzdytLWDRreVgwbFlHbHZsSGpoNEo4eDloQnBwRTNUakRDSVBtQUEvV2FlZWRKQTZ6QUZyNWllbVZuOU9NVTRDS1lINEphS0dJSHYvVFoyRU1NT01pYlk4R09rQUI1U1M2WXFTV1pycE5wTVNnb3lDUGg3WTRxUUV3YWRwZHFLYW1TZ2ltWjdiRDMxU3dGVUNxcXRZVlErdXRZUjdhNklHUVR2ZGdvTExpQ2lxcXdocktxZ1NlOXVmbnA4ZFVXbXl2VWoyYkthdk9pS1RzYThvdzI0bFkwdmJhYmFMVU5pcGpyZGlPYXdnQ0lwaFI2cmV6YWNudXNNZUlxeTJvV1EzU0tEY0d2R3VJSDN6ODRXWlgxT3JMbUszZUpYdXBZY2p5cWhVS0lpQ3c3cmNXTEdDR0NMWkJGckUxN25Ra2NMdmhNak12dVRNeVUrODBQMjc4aHgrN2NSZGpIbGtHYkhMTG9ZSkhFNWpUaWR1TnUrL21nZFloTVlyTTZ4TVd6S3Z4eXlrUm5BcXkxckpvakZUb0tQemZIMDRMM1BNZjZDTC9zYU1oVjlEMDhkQkUzMngwSi9JYUt0MUhZZDhjOWJmaXhyaUFBUTBUdzUwWk1YNG5xbjVkS3hvdzBtZS8rUkhlZFovVU15SlgrRkJBUjdkbEJXUFRXNXZZOTZyVDdQb3hmd1NidGJqZmtpL0E4SWcxSGoyZVdYTGI3ZkxraHo4T09ZQmxUeDZPRFlPOEZQamdpbmRDSnVlaWY4czFiT0xtVGU1SFRac2UwOW9pWUQ3N01ZY2pQaExkdDBjSEcrelRrdTRxenJwZnN3QzZCaFJHZTl5eHI3cm85Ymxlbng5SjR5V0dxR3ZEV0pWNjBNMmpOSEVCVmwxSjB1dkxlSzI5OGUrcnY3alJJZGxlZmlkSTlDNzltTjdIOUg3MnJZbE54UEx3c0xweERXbjNRd2tEMGllL3lTMmdYd2lTd0JXNjl5N3dOY2hnQ1Z4ZjY2eGpBVDd3WFdFWlpRcWhDRWRJd1ROZDRZVFZLNFFmcGxaQk9obW1kQmtjeVFJNkFoNElnc2tQL0FyaDMzWkl2bFkxQ21QaFFCbGk5QVhDTTUxcEdSSVlXUXhId2hyN2ZhdUEzSUNpd09wQUhpVXVjWGdEY09JVnQ4akZlR214aXpFTUJBQWgrUVFGQXdCL0FDd0FBQUFBQVFBQkFBQUhBNEIvZ1FBaCtRUUZBd0IvQUN3QUFBQUFBUUFCQUFBSEE0Qi9nUUFoK1FRRkF3Qi9BQ3orQUVrQWR3QkJBQUFILzRCL2dvT0VoWWFIaUltRUFnS0NSRVJCZjIrS2xKV1dsNWlabW45RUsya1lMMkl2R0dreWZ3U2JxYXFycklRM1ZHMXdPSEJMUHo5TGJMSkpVSTJ0dnIvQWdqY1pQM0JKUHlVbWZzdkxKaW80T0Z5RmpNSFYxb3BwY0dJbHpING1JQmtaSUgxK1BHMDRMMzhYcHkvcDErL1dGeXhpY0gvTVFBUkJVUHY3TWtSb0lLS3dTYUlFalJneE9LYUFnTWZRVnhvY1N6UXM0MEZFQnIrTC9BaUFVQkluanBnb2RlQk1hVWhTMWNNZnl6VG9nekxoeElsQ1VGaElXUVlFQ2c0eGZnaUlMTW56a29BVk9GRDYwZEJ2QXB0YmNTWU5tc21zRHdZY2IyVGdZTkd6YXFJcHo5b3NBN0ZQVWh3aHkzNGtNZlVuaUo4L0paYTBxUU1pRHB3TmNQOVFXWjFiQ0VlU1BINjRRcEVSWk1LU3ZHdldKRFVWeVFRYmFGcHQ0c0JBdDdFZ2hOeUlRbm56QXU2U05VMHl4M0VYU1FnMGFEeUFsUG1qd2pGZEF4RDlTREgxQmhxYncyV2F0TEV5Szg0ZkdYMTRDSUttd2crVVAyeE1XMFV3U3plUjN5MlNvUEZUaDB1ME9OQ2FsSGtCUlVPZDRIOVNFM2lCNDdVSTRTVjkvTkdhNFhmMktIN2tZRzd6SjBuN3pMc0krSW15Kys5eFdYR1dTQURmMEgySnNuL3NnNE1LVWpUQlJXYVp0WUhnTGxDQU1GOGJiZkRneDNFVHpOSUZmd3doQUZ3ZGcreVRCQnh0UU1lZWdkTDh3Y1ZZKzBqRWpCUUJRaUVMQ2hqQ0F5TjdIWG9JVFlsL1FDZUliUzFDZ1lZVWVUZ2dDQlJFakJiak94TDg4QWYvZW1UMWlFRVNUUWpTUkJJNGxKSEVCR1R4SThPVzVxMXhEb3hIVmlQQkVqZ29vUUZNZXlVaERXUFp2WkJHVjBOZU5PUWFiZ1FWcHBoVThpQVhURTk5WmtWVTVoRWk1MjJCSmVIZW5iOUlnQVJ3S2huQ0QyVkpVR2VSSlRJRWRvNkdpSzR5d0I4RHVDZkdtWWowdzJXZ2xKaXloazJMWnJxS290bUpzVkFpR0dIaXhoOTA0b0RFZnFwdU1vQUVLRURUeFo2SDhJUEpCRjNhWkFDdXVWNHl3TElTREhEWUVrMW04c1lFaDV5UXhLeW5Cb1Zzc3BVd3l5czBZNlZpUlQyR3lQRENFclErNU1PMjNGS3k3QUNMd2dHSFVwbVVnUU1Bd2I0Qmh4dGU0bkJzdTVjVUlMQUluNld4Q1J3dlRDckRHMGtvNWVJS2EzQUJCNllBQjF6QS80V0xIYnlCUGd0RGg2OGdJSzZSQkJ1YlZtd0pBeWd6OEl3N21NaGdyNG4yNGhBSFlVOUJuQis3SmlOaXdjNExYR0ZYS2xSQzh3S1ZHTHlCQVJ4eDFQcHZ6cFRzN0RSQ0JtZXl6eHRVbXdJZE5MWjVTVExUbGppdFJ4UTQwSWpKb0FGaXNNSWYvQXJHZFNZV0xHQ0d6RlJMalJFVVFRUVdXQnBMbEx4MkpUeWY4MExjWTJPVU5wMUpJS0QzM29yd2ZBWFJtMXhVS1oxdUpMRXU0cGUwallRSVM4U0JBWnVYWERTckcyNlVJY2F5bEZleWdCNW1pQ0RDRDdBUlFpOGxVSUN1d3NpRy95SEI3ZnZoWHZvQ3ZGOFJCVUtmNFNoSUVsRW5RblhzSzhnQ1J5NERpYkZFRno4WWdBUUtLRkJzZThXOVI5SEZaMG0wSVVhNGZ6RG1JdjhYVkw4dVNmbUNGTE9DRWlYWXNzVDNWMzgyQ3h2UC96QTlBaHJlYmp1eU9GdDFPbHJGQUpjS2hNQUh3N0FwQ1dYWUJ4eWtVYjRHVGdJS2FYakIxWHFnQXc5MDRBQmEwRUlJaEtBRTlxbmdGbUp3aS96bUp3Ym9JV0Y2MWFNWTdsYW92M2Zvd1cyekU2QVFiRUNHQStpZ0NqaWcyOUg0Z1RUT3hXazhRWnZCRFA0d2d5eFE0SWhJeEVJRmRLQ0REb3hBZ3h3c1FSUSsrTDVjakJBYXl6T1VGcmVveFNYNHdBRFhZNFVGREZDQTM4bFFBMXJRQVJhUStJRXFwY005RVB6TVpyakFoYUdKRUFjeklBRUpGREFESEpEZ0F3MUFvaUFIU1FFbExyR0pJeGlDRTV3UUJVYXU0QlpMK0pDOEprbEplWDFHREt0b1c4OTg0Sm9mekREL0JEcW9BU0d6SUF0b1lHQWZ6bEdBQXE0SWh4a29RSThrNk9NcytxaUFPeER5bHJnc3BDRXJ3TXMxNWpJTFdkaGpkNnlYQ2JkeEVpSlJ5SU1OUnVCTFhMcmdBM3dzZzlHeW8wZFo1QkdXZXVRakhoVlF5bGZtRW9tMnJFSVNaaERJYitieURsbGdRalp4OEFmRGtRNFRlbURBRHhBamhEMkFFcGVDdUlNKzlZbUZOdXJvbXRpRUpSSHgrQWM5dWxLZ2hnQW5CYXJRUnpoOEFKZjd0T1V0MDVsTlFYVGhkdS9DeEJYTWNKZ2Y4TUFHQjJpbUlQZjVod1kwNEFQUVZNQ0hvSkdkV2N4eUJxMHNKUjZIcU1xYXZ0SUZPQjNFUHJQd2dUN080S0VSbGFnTFRxcktudzR5bU5rczVRL2V4ZFRESWFJQXp4Q0RFc2pnQVJxTTlBNkMveUFxVExIWXloa2tvYVpDREt0WXh3clRRYkJUZnNxVFYxamw5MVV1Q3RHUzBIQ2xDLzVBQVlwbVU1WkxRRUd6bXVwVVFmQ09kM3BBQWtLNjhBQWRqSlFDZjZnQ0gwc0pCNVdDcXdINTFHY3dCYUhIUTJDem9BTFZKZzRVZ05LYUdzcXpXclFwU2szYUFCZm84dzlJdlNzMHhJQUV2bVowRUJaQWdRaVFZSWJhbXFFRTI0dEJCUVo1MHEwYTR3TlZjQUVGYkFuWlB0SlZvblVOcUhJUldsbEJaS0drM0t4bFVMRTYzYUQrNGJTcFZhMWRETEFyMXpyMUdaWE14UXlxZ0Z6RXJ2SzNnZHpuSUczNUFYbDlBTG5aWGU1eWpRak9CZ2dSc2tpa2EzN3hHZDlWcnJhMTN1VlVJUmF3aFBHaTlNQ2pQU0loVERyYzhncFNFRWUwNWY4cTN5dkk1MW8yb1BSZEx3VzRTV0Z6SGhHWTJGUkFTK0hRQlJSNDk3VUQzdDRWUDVOSEMxOFh1ZnJON3lCRzJrWVJ4N2l1NlRRRUU0QnBUcXl5MDV4MjFlNU5ET0RPQU92TUFtYXd4UTlVZ0lRU09Oa01LaER2SzFHclgwdlVWNGdROWpBaElYemprdDUzbE9xRTVXSmQ0d085N3RYSWl2aXJtdFhNQUNnSDhaVTdCcWFWaDh0SFFtajVFSU9rSzJleGl0citNbllKUk1ib2lTdm50RUlYK25SSUZrdGNWUWxMWUxxNEVJSVU0bHhiTVVvUWgxaVdOL2tCQXM0OGFHQWNXZzhXYUYvUXR2bktSanQ2eHRldFFSSWc2d3RISzFlVk1wV2NpVTlNdXI0R1kyZC9RRFNVMGZXWlZxb1NzM3FNTTQ4UnF3cGdoam1nWXdaWG1idXIyK21xT08ydlYyZ2ZQZERxeWw4REc1dkNkclMyZzIxcFpHc1dpMkw0d2F4cGpXSzY0UHAwUFd1ZjkyVEs0bXBiK3hJMkZlSUlqZEVGSkJUWnV4cXl0WEQydzRDL3Roa0ZCdWlDR0hMUjBoVWIvT0N6S0tFQlNuQUZCcERiWkV6bDFGNFJnQUlrR09BSFhYamZ5RjZUaTBvdXIzbGQ4SUg5cXJjckJ2QmhBUTV2cWlEZVNibVNZYlJaelRJYy9tWk84M3NMbXFrN2M3aUFkMTQ2ZDNGS2IrVE82RHNaWUFFRzBDVVFBQ0g1QkFVREFIOEFMR0FBSkFBakFZUUFBQWYvZ0grQ2c0U0Zob2VJaVlxTGpJMk9qNFZiZ3c5VVRsRXFtSmxSVGxTUW5wK2dvYUtqcEtXbXA2aVBYekUrQlQ4RklyR3lJajZ5UGlwT2Z3S3B2TDIrdjhEQndvMEhReWtHdFFYS3k0TEtmOHBJS0Fhd2Z6OU91OFBaMnR2YzNiekd5Q0lGQmlnRDV1ZUM1Z2pTNCtvR0luOEdEOTcwOWZiMzJrN1R0T1FERXYrTEpBeEFVZ0NCSUFTd0NsREpnYStodzRjUUVhVlFRYTBBRW44QUV4a2NCTENkSUNUd1ZLaUpTTEtreVdFcC92aDRaZ0JCUmtZSVdoWWFvR3lBSUJRclZXQTd5Yk9uejBjNlZENHJKK0hQUDNOL3pQMHJhZ2doaXBuS21DTDhvL09uMWF0Vy9Rd3FRUFFvdXdLRHlDSHdkMmpjVEFOay8yeFVnYld0VzRjbi96VDRlZXJqb2xFSk1XSFI2dUtqYnl5VzVReVpuZmxTVUs2M2lCTnJLMUhIQUNFSlpsREE4bUVnaFpNVVQ0d1llZkxFN3g5eEd3Y2hkR3hvYVZJRE9za29YczBhVlpvckt3VkJsdXpqUjhvL0IyNy9BVk9veDQ5YVNBb2hFQkc4TkVESU8xc3JYLzVvd2syakF3dlUxczFJellnaEtpZ0xGL0hVK0YwaFFwaUxINDlvR2dJRVNFcEU3a0hkRVVNMVcwU1FIb1RFUitoQkExQVlGRGlZdkgvbVM5RHlneFU0dEdHS0dpa1FWOGcwanduRW9GSERQZkhmaEsySkVjY2ZPRmp4UXg1b2tNSlFEaitJY045SEhCVkZrMlAvdkJNRGhTd21ob01nTFBDU1F5czJKUUlRUXZ1ZG1GeUxQRnAxZ1l3SVBsTkljYkl4Slkxc3c3SFY0LytTVEJLU0ExdEVHc2NVT1hlOTAwbVRQdjZJNVNnZ2lrZ0lBckhkZFZBQk51RWwzNVpXWllBR0drcVVvTUlQU01TSlNRbEtLSUVHQ0dnYVlvTms5ejFvV2p6Qi9RTlNDVnJtNlJBTGw2Z3dqWFMxekRLSUxjb1lrRjRHZ3VDNXBSOEUxWmdVVjBXT1dlYUpodFlEQjRaYzFCR0ZJUEEwTTQ2aytwMDNnQm41emZkWkxPT29nQUdhU2tTaElIMWdRY2NVcDRLS29HU28zRmhoUlJLdENDV1dVa3MxNit4TnNxS3FRb2ROVGdCQUxhSFIxQjE2VzhsR1V4Zk9FYXROSEdJSUltdFJ6aGFXeUFEb1JmcU9EeVZnS1lBVFovS2FUa0hON0NjQlNDcklJSzR3NUo1WjVsSm1uSWRDbkFZa2JKQ21Oa1pYVGtLRU1ubEJpR2JncDliL1RXUVc1WmcvWnRUNzd5OWluTGtVdXdmdk00c3N6YUNscmxvMTRzVXBDdkJFVVNpUDlCSXB3WkVNTU1CVlVSa3pzTUE3U256c0N4dExFTjFHRkNYd29hZ0JQL3lnUWhSVFJCMDFvbThtY3hGVGd4enByVXhUUldFcGp4a29Zd2E2TmcxZ3dRTFNNQ0FCT1F5Yy9kbXdRdmRpckJVdFlMQkJJUVFNa3JmZUxLalF4VkJZbTJ2ek0yV0R4UllSUFlMMGxFQ1FYWEgyRlFWY29WWUJGbGp3QndNcVVSczNNRkI4MGtKc1pCYUNMNjgyZGIya0VpSVhWWG5iRmxDcHN4a0wzQ1RDcVp1WE5FVkNEQk8wSUdrdyswREFyVHhTTEVqbEZxQWcrVE5uSTJGQTdIOVUvRVB0SmhHZ2dzZWJSb2xRalk3NWNEZVAwNlBBL05uNi9RSDUveFVMbU9HRDVKVWIwSVcvMEpORWdLNVJTcVpwZm1UUjlNY0xQV0lnanVXQ2xJL0VBaGJBVit1ODk0Y0ZEQWQ0N1l1STlIekFNSXNVNGsvdzZGeUxna0F4NW9uUEFKaFRuaC84WUlZQzhPR0RPb05iQWgxQ0FBSm9SelNoYXhBaGFNY2k2WEhIZ3ZHNEFnZDlVQWMvMUtFQVBCQUVwa1pZRWhjMk1FcWRvc256OWtZaEZsQnZBVWd3Z3g5TWNENXpiY1FQREFnYUR5UENncm9RUW40UFhJbzBRUEMxLzREZ0F0Smh3QVkzdUk0Tlhrd3RwT0VERWxrNHhZWVE0QlVOSEpHWUpIQ0ZDK3pJUHhjQWlReTFjc0UvWUtvNGtHTUFINUwzdkRhUzhGVGRDVXVKRG5LWERNeHNRcnE2VDJQcTBMemxXVUJud3pPZ0R5aGx5SVlRSWY5WmlBQUlGdGZHeGdsTllWZDhNRmZGR0dBRy9rbXFmeDByUVJjN1dZL3B5VEdJdmJwWkFXYnBueW9hUUkyVit4a0NBTWcvdFAyQmY1SVRJUzNwRVFRckhpSWpDWU1PVlZwRUFHWHdyNEFITzJibENyaEt5MEd1a011MEJ4R2lrTUl6ZHVwNktmSUJBdi9UcTJ1V3p6SEU4MllCVmlrQlo0VHpIcCtNVXEvRUZJLzl3RXlLRkxLSUJSY1F5SGdlc3lCcWk4Yzk4ZkhHZmNhRE5OQU1GRTJpY0FNV0ZleWFsNHNjTVYwWkhKc0FjYUhjU0lNUDdjWFBJM1drUlJMdzJTV1B1WUNDR0pRQmdTSkV0RUNhamJ4RlVqUko0ZWYxakFLU0dGRm9YOGRVWFR4UWtEUGkvZUVwREpzcFRiUFJDU0xaWkhFQW9jbCtrc1NpZWhaQUlKZi9LeDZLY3ZZUGc0UW1URXZsQmhwQWFaUlgzbXdqd0JKaVZjRlN2NlAyeWlab2tXbzZ3a3FQc00xVE5zcmpLV25NYXRXcXZ1TStPM1hpTTVBUU9McHlBMDhNbEFwcHBtS3V1L1NVRytkQWh6RFd4aDNSR1VXdzBaaVNJLzVrMkZIODlTNDFZZ0RrWEtKUW84Q3NsS21JTEZJSWtiTXNya3dVK3lKT1J1d255dUtrNWFPZERZWXRrK0lQb2xadVowTHl4M0RBK1l1Y0diZW94Q3RzTDI0V2o1YzROQ1oza1lvNEdDWWx6dWJXRTkyN25IR0RLU25NSlNXbGtGdUNMd1p3M05aMktsM3BRc1ZUVURRbHA2SWxLV05SeTNRM3E5enJOaUtTc1NQZUZYd1dwOHVKajNVRkFOY3Buc1ZiMVo0RHZhOGxoVUhBa2hHYnJXMC9NckdKLzVjQ1lsMzdPcUlFTDlRbUVzM0FoN3dHRUhicFcxOHBBb2RnQWplb1dhbFlNRVl3VmlSZ1VZa20zS212aFUwQnYrOXRPSlhMYStrd0h3V0ZJSXhDSUJpcGNIcWpLd3dWTzdkSTBWd2JrV1RiaUFUUEdCRXlrTTlBRGNCaGhDd2dkZ1Q4QTBoazRHTlNZQTZyS01ZSG1ESW1sWDN1aThGYWU0Y0JaSHpaVGozWkVVWmMzaUIrSmprcngrNS9zb3NDNGdiTVpucllMOGo1a28xa252TW9oM3JMVlgxK015SjhxY2F3WElFUENPR0RIcVFST3dQT2JzLytnYkcrTnNXUm5ZWm13V2VSQmJBVS9ZaFRHbUNNT0RhQkh4Q3lRVFBJMmRKVGFKR1hYcklSL3BRTnAvWVJOSERXQVF2Y2tob1J1a0tCR2Y4d3lWVTd4ZzlYT0hXclJmOXdKUXJOZWtyZDRjL0MzcXRwQjhYd3lndlFtWWdTL2VzLzNIUVFKakJBSHRBb2lHUVBRbklBelRRc05xMWxqbWdyS1NoQTE3b3BpNEt6RWE5ODh1RTJxWW13MjBFd1FOeEhCZVErTFJBZUZxMjdwQ1VDMW5FK281L0t4cE40bisxMklvaXdBaEdBMkpzRzBBT21DQWk1Y1E4eVBIZDhpTDRaOGRtVi9VUGg2QUlKTXZBOHZIc1BKOTRTVDhRU0NvQzVZTHI2eWhVN1d3ZTFtVXFUL0tuQ0Q1eHJZVXR1Y2s2Vk5CYlJpaWRCOHowQU5zUzhFQ2NnYmdHaGE5VHkwYndRR29nSW9JdHlTMElRWkJrdFlVcFJKbHowYU45SUhENHJSRHd4aVpkeWxXUzFMWXhDeGViTXJhckhoSTg4bWUwMGZKRElCY2xIUHdjYlREM0picUwvK1NpNVNDYVNzaUhXSGluaUtCVWZ6R29oQWJiWlB4UThoZkxpRy9kSmtLSXAvVEFBWm4wdjZ6eXhmZVZrazBuVGJuNXZXU0dha2Y0UXdxQUo2YnBEL0JIWi83eFBja1ZGNHVVeGJ4SzRiNWNCNkZuQXBNRjZWQkZ0TkppdEl5M2h6ZFd5YUJMNUdaUlRlendoWjNFWTlyNzJHWWtxZGRzU2E2S3FUcGpFcEdSRGJwMVRvMnozNFpnN0dQa2NlQythUDV4NFhQMU1yWmxpRjcwaVhsWGVIWVJCTzNaMXE2aTJ6WmVVZjRnQkpkOWxPWTdSTmowSGVYT0VYR3VuTmxkd0ZHNVZNdlR4UXU5M2I1aFVJdjhRUGl6bVptQWhnQThuUGx4aGZUNFJXV0lIZnlOSEVpdHdWTklFT1plREIvV0FEa1hCZ1BBbld1cWlXbU4yVmZ4eC96N0g5MzRYaUhoblpTUXAxSHFIWUZDcm9SU3J0WFluU0VJaEVucWhvM21Ja0FkemwxcWh4VHFyazFES1ZWZ0dkakFBSVI4VmlINWdrU1ByTUJZcmhrWDhwQXh0MDNKR2hRaG5JM1U4UVh0S1FZV1hsSVQzUUVFVFJnaE9pQWdtVURDOFFFZHdtSDl3TnhNa0NHUUgxaXdxZDN6U0YwQnE0VEt5c0daYVpHWW1Zb2JYUklSRGVHVnN1SGxHYUJUN1pZSS9JUVBZQW9GL2tJQ0s4SGlnNEE5VWFGNXpGWFJBSm9oR0tGeHhFZzB1VVlpOFZ3Zy9VMzR0RVJNeGxvRm9ZWG1YUlJPVWcxR3hTQWpDeDBySzFCTkhvU2twcFlrODRTOFpzMzNiUUY0Qk9GY01VNHdIaGhFR1pnNDRNUXZKQWcrT2cxR0dNQTB3MHovWlZoTmFKUDlxTmFJZnhQUUlYZUIwaUNGWnNpR0pKc0VXYkNVQkl1Z1EyVmVOY0hkZ3cxRVFWN0NQVndCZFJ6V1BWK1FNWjFoQUlPRVNZMmNBK3pnWTl1YU9pcUNPYnNGbXJDT0gyc0JsS1lnaWR3Z1JaSk1XaW5CZzcvQm9wSGRNcE1HTkxhZE5JQUZpc0NSYnZPZ3phQk02VjVZelZ5YVNTK0prRGFFQjcwQlViVWg3c3NFSVFEWU9JbmhKMGNDTkZYaUFtS2N6VjFXU0FHUnBZNUZYRmdFN1Y3WWx6RGdLZTRBS2w3UnVvTmdJNjVVTlQ3a0k3RUljUFhrMkFLUi9Ydm1TRmlBNWxvUlJuMVdXbHZZTzBLY1hTSEE4Uy9WSXBHQVQvUWNKamlHSytQR0huaUNSMy9WeUFKbUcydFNQQ0dBR1BsTXgzb041YUNNT3hoZE1CaUVPZ3RuL05wRERCcU1TVmo1MUNxRkhsKzJtbFcwV0VIZzVpdXFnZUVNWWlmODJDeGhFbU9kNGt2Q1FmNWFtZzMrZ0I5VVFtVS9YQ0w2MkNGb0JDNVZwQ0cwamdJZmdocU5RTnVwd2piQ2podnFuWnVjQkVsekJsYnhIZlpZRVN3SUZrSy81Q3hJR2M0bXdBSDZRWDZFRVpISEpXNUx4RitMZ2xxOW5WQVpoQUdIWlFiVENPcXhGbTE4NVBHM0RtczNKRFFkSEN0WlpDcjMxRjhvUUN6dlduZkhrR055WmJlK1FtRU5DZ1dDcEI3SFpuSitYbGFJd09sNEduK3B3Y0RsakJvSjVpTmlHU1FQWlA2SFppNFdRYkF5Z252MmpCOE80bm1GaGRLWUFhcVhBU1hGcERqV1pYMTRKbE5uR29NMERpYmFaTUwvSW9GRW9DSldZV3pMNWhLT1IvNW1pQURPR2RnL25ZSVpnYVZEQjlBeWkxaGZrSTVJZnlLRWxncHVOd0FjNlk1ZUxBSHg2cGFUMklGeWVpWWJiZERaZ2dnRDdpQkQwZVo2SGVBZ2ZFSE5xOHcvYzZRalRPVDZoY0FYbVlJb1BZWTBaWnA4amlRQjZnRzNpV1paRGlLU3NCWFNOVURrYzlna1o0QWYrQUpPekIzbzlxWCtDRUtIdjFFcUNpcWVGd0FQc3dnQUY1d2gvZXFHaG9EWUxnRnF6WnlZc2x3Z3cxVXF5cUUyTTJnakRnUVFtNEFsNXNLaU00QWM1MUJPanlweitKcVdoS3FuamczZU80QVMwU2g1ZzRxU0dHcXVoVUFkdTh3a1hLUjV3ZFQ2b3lxc3pWcEN1R2pldVdSb3JaYXlpeW9YRkdoRXc5RGNRNFRPdzZxejlTVDZJY0syLzRKZUxGNlJxWS84VEpSQUZiYkFFU2ZBTGNESVdiUGFMMkhvSVhSZXVnY09RbnhtdGwvTVBjTmlGVmZoQUtpbGFabEFDQWZvSnRjZXBGcUNYcHhDc2htUWk2VUtDOXpxRE5MZ1VNaWlvTkxoYXg0aXZvcVVJWWNZTDdIZ0l0L21DM0dwSTlnaURYQlZWdkZVYXgvV3FIWnRTeUdWY0JJc0tHV3ViemVvTjVtQ3c3YW9ZTFZzSTVPbG4wVEN6ekZHenJNV3VXS2tNNHFlelJiaVpOdXV6d3NBdVFDdTByTUd6UGR1eEk0b0lvMXFWU3RzV0FSdEtMd3NNVDBtb1U1c1lUT3R2WTNtMFJJdXNXL3NXWGR1TzlQcTBoL0FVc3VjV2h4R3JWYnV0QTd1MnBrQzB4U2UzVnpGR2JsdTJXZVcwQ1BxVWZIbTJKM0ZKSzRXYlZ4QzB2L2EyR3J0TmRqdi9va1I3SXNuNkU2ekpyc3JEdDJHRnVJZXdqU3Y3Q0dXcmk4b0JrTitUQjdjNkNER0FWU0JsdVlhQXVaT0Z1Q1NHby8veGNLbDBxMkpJb0Fsa3VrVTdzRmpac2xmTE1pekNnekY2VkFibXNYcDdxSldUdVpyYnNqNVRwanpDZ3dhYVU5WElRN1Q3R0t2VGpIZ3BBWXJMSk8rSGI0OW5qNXZ6ZjR3UWtkS0xseHRydlE4WGpoYTNrYzByTHR6N3BORUxXZE9idThtcmRNbkdaRG1KQ05xTEpyK3J2dTQ3REpJVkdtMUR2Ry94Y0ZjQUV1THdHQUNVVVBSN3Zrenl2TExCT2diY0RjYWJ2N3Q3bjdQQWZ1Wm5na0IzdjhSU2E2WG92NkZndk5sbVRqMXlmRmZBb0xaSVBlYlhoL0ZIQ01IYkl4TWJoendLZHdZUnZsamlCK1A3bkpJd3N5dWxrWWxydHh3WURBcnc5NERzOHNKL2FLMkdncTk4QUtNNnFhZVBrSWtoKzdGT0hMRHB1NmRSREFwOHdNRnptN0ZFYkNoUTVMcWhTdytEcElwUHpMMlJaYmhMcXNDT2dMeCs5clpzbWljYkpiWEFFS0hEUU1hT0lMT0pFYmZsVnp1VjQ4YkFvTWNsZ2JJcFBCNkwyeU1mdEJwQ2xsS2pRTU5WU0xsanF4Z0JXRjQ3N0crUHE1T0xiTDNsVlY0a3hzZVRYRHQwYkdHQkFBQWgrUVFGQXdCL0FDeFhBRWdBSHdGQkFBQUgvNEIvZ29PRWhZYUhpSW1LaTR5TmpvK1FrWktUbElodkdCaHBiMzlCUkpXZm9LR2lvNlNscHFlVUFrRnRTVWx3T0xCd0xTOS9BS2kzdUxtNnU3eTNJSDh5WWpod1NXMVJTa29yUDhKeEdNQ0V0cjNTMDlUVjFwSTNEeGh3U3lVYWZ1RGg0Q3F2WEFLRFFXa3kxK3p0N3UrbkdkdGlKZUZTSUFSRSttZ2FlQnB0T0Y2d1VKVUVSNXB6OEJJcVhNand6dzBxQlZXQXd3T0NDSlNMR0RFU0lFQXV5UlF4VVpiUWFraXlwTWxjRjFUZytNUERENTRNUVRDdUczUXh5QjhnUmQ0TVUrSkg1TW1mUUlOT2dvSmpTUjQvVWl4Q21kRENTcGxDUk1RVndZQkR4WTBOUzI0STNjcTFLekE0WXVyOE1TRURTaTAyVVVwMGVUb0lqWjgvR3Y5NEFpbURBMHFjTmxxOTZ0MjdrRUFjTmliR3p2eVRKRW80TVJNRy9WTHlxbzBmRm5EZy9KbkN0N0psZGt2K0tQa2paZDNNSkR6UXVISFRwc1U2S0wrNndNSlJBZzlWTVFndnk1Nk5TOHdmeDNsc3Z0bGdCUmFVSnNBTFBvV1NvYWNnSEdMOEVMQUN4eFB0NTlCRG9aQXM1QThCUVhHS3RoSDI5Qld4TWxBSStQa3hDQWVQRzFSZnlCZ2N2YjM3UlYzK2tFZGoxbGs5UDJ0YWNWbFpwa2tTREVINHNkbHhTa2dCUlVGeHdPSERld3cyU01ncmd0Z2t3MU4reU9FR2NFMWdFRWNTZnpSUnhnbFF1RVVPWVJvQUFZVk9yb2pnNElydUlmRkhaaG9JSXNNSmNHamdSaG45ZFFpY0lHVk1jQkVRZm1nZ1JHQVpBRU1YSEFpd3FDVC9iUklzcUlKMU5Ga1JSM1pzL1JFSEY5aHRBb1VNMzRCRGswNUxoaW1iQk1MdzBBY2hKd3JYaENBQXhVSFlDVFJCUVFRYWFGd0hqQnR3eENmbW5ucVpBUWNiZWFCUkNCUkJ3RGxJRzMvZ2tBU0lhR1lrNHhwbHdERUFuNVJ1aGNJZnR0azA2QnR4bE1FRlhYK2M4TVpGZzVJcWlCdHJwSUhEcFpVdUpJRUVyUkp5YVJ0U0hMSWxWYkZnVUZZanFMcUJnNTZ4dmdQcnE1Tk9XdW1sUC94aWExbVliR2tXSTFDNDhjY2FoQVdiRUxGL01QQ0hzWHRLZ0VKVmdpSnkwWHAvUEt1SWx0SkNLcW0xN2hCN2hRVVdiTXZucTkrcVlLZTRwaTdDQlJ3alRWc0dHOXl5V3cyeEVzQ3JMWjhERENDQkFUaEVvU2trTDdocHlBUTRZT2t2L3c0SXdDcndOQXNvTE1FQURGakFRTUJoSnJ5d1FaSlEzQzhoTWxDY0xsMG9hTHl4TkFvckRLKzhsVXFBUk1XUnlKQkVIT3pGQ1FlaSthMHE4OHk4MUJ6eXlLMitpb0NpUFc4WXhEcVlDRTEwSExZaFRmUEhCY2RMc3BqRXNtRkZ6NEtjTU1FTGlzNDBZMTEvNEFtczFyc2tuSzNJd1g1c3dDdWJRSExnYWdhVjFUSU9aVkRyNnc5SHczMkx3bk1mSENzS0lvaFFrRE42bi9qRzQ1ZWdIUWVxNWE1cWVDWDNHbUxHSUsvK1lURE9zUnB3eGM0clF5dFQzcXNsZ1NxMVhDVHg5ZWFORUhCQkJtamdubnNHR2ZEQXdPL3h3a3YzN0h4YXNBQURiRWdjK1VVWWNNSEZCQmk4UHExa3RFdkNqL0RZWnkrSXlOb1MzNm9lUCtBQStmL3lXNVlWeEJyby81RkcxdFUvd29Qd3Y4Zi91eUMvWHpHSTk0Z1UzcDRlQ3l4Z2dVcFB5UnNsb3BVK3dseEtmKzB6aEFaNFFMOVhPZkNCRHB6WjhReUFBQWFVWUJsc1NCVFBCQ2dKOXV3SExENUFRcEwrZ01EMm1RQmVWNEFnQkExUndpVXRRQTkvTUlNS3hPQWRNZnpnR0Vzd0NBY25NUnBFcVlBVnI4QUJHN3BnZ0FPU01JSFpVbHoxWHZpSEM3SmhHR0pRZ1JJMHNBTXRkRUFITkZEQWY4WW5DV250cXdkYUlNTU9OSkNCS0xBQ0ZteXdvUWhKMk1KZ2FlQUtuMXRFd3ZESG92NWQ0UWNGR1ZvVU5HQ0RFSFNnQWpXZ2dDQXBjQWNGTkdNUWwyREVHMFlsclNYQW9RRjNFQ1FXS3VDQkE0UWdCRW93WTBHZ0dNS01oUTcvaVJ2cm4xcUcwUVp2a09FQVdCeWtLaW5RZ0RpOFlUQnBnRU1hRXJISVJRcENHRXpJUWhaV09jZ0s2R0FFQnloQkZKWlJ3MDZHcm8zQjRoWWRvMU1BUStqQkREbE1nZ3A0c0lNUlZJQ1h2SnpCQk5ieEJpN0lRQ2NZcUtVNGExa3VEQ3hqSlFvZ0FRbDJpYzFCM29HU1E5akNEMTB4RERZc29ZaWUvQ1M3NWlnbXNJaUJEYzM4Z3g0WTBBWnVlT01BMTJ3bkllL0EwQ3JBNFZsdzJDWTR6VExPY3YwQkEyaUx4UXpnUUlJWktFQ2gySHluRGxJQUJnejhNeFpKSUNJS2tqU3BDTEx4aVAxVElqc2U5cVJSeUUxdVlXS0RBaHFnZ0JrSXNRdkw2RVlJUEVBRFFUS1VvWUowZ1FzYXdOUVBmS0FLaGdUR0M1S3dEbFhGNFFYTy95QlZHcHFYSFZqOFlRWWRYWTBDMkFsU28xS0FuWGVZSkFSNjhJUWwvQ3dXYkdCREVzVGdBeC84QUFsNHhldEtFVERDYXdUQkpsTnpUaW1XMlo1THNjR2pEV0RsQjNwcUJHdXFzZ0dMVmNCWGc3aWFJQ2FxRlRqWTVtMzROcVVwVVhZUTZWUUFMTUM2emorVTlRNHU2R2tTUWpySkN2UUFxajNkS045bWk4YTNTZU92bkZnUEZVUm4wMWhkSVFwZFNJSkhQK0FDcEE2U3B4dWRRUklVNE5Tbk5zQ25PMlVsWldkNW9LL0tkcmJIa2F3Nk83cGRFaXppRGp5RlJYUlBlOVNrTnFBS1ZXaXVVeFhRVXh3UWJocUFuWm9NbEFDdk9MYUhzS1hnbng0c1lBQTJ2R0lHaVgxc1lvOUs0RHY4UWJRNHFFSWtxL0RjTW1EMHE5MGxBZjk3Slh2ZGxjREJvOXIxN2g4S3pOQS9oQmNPSDhoQ2h3WFJ6a1FRK0t6cTlHa1NZallOSXNnM0NCazRIaWdsVVlBZk9CS3N1aVRrS2cwQlh1Z3U5QU5lUGZBZnRtdUk3Vks0d3BHWkFZYWRtbDZmNHVBRGljMkNVcWM4WmFaYXVRR0dHS1F1MWRsZUJWV2pFK3RoZ1Faa1BHTko2T0dadGtsbkxnV3BDRUVDZWJXQ2pLMWtFZEhkUWFqendDcGVySklweXpjKzAvYlBXQjRFQldxUWhTR0hkUmcreU5nMDhwQUJHUkNCQlJrWVhaa2xBUy8vL2VIQzZTd3RJUVpwV3FNMjRNSUxqV1NFUjAzcTdXYmhBM0NRcklFcHNGU21vdmNEZjFDdnJHSE5aUFJpMmNCLzBDVVRVcHdvTVlnUW1ZckFyU0FHNUQ0VCtFK21rM1pFOXA3L21VUFNhbHFoZDhpQ2tvczd5RjJYdXRSb3pZSmtQeEJKZDNMNDJ4d2VSS0VGSWVFWjlOcEZvVmhQRUtZWUwwaFlvSUxJVHJZZ0ZpQ0lkMlh2M3NaYlFCUUs0bXl5S2xRQmNGQ3dsaHVSNDFVYWVDVmxUZmk0N1F6d1N5OEIzYUZBZ3d5b29DMjZ5ZHNVL3NPM3h2Mm5nZ3g2VkoyRnBrQ25PVTFJSUhON2xicE11Y3BQV3dVY3pNQUZJeTlycHhkK0NEWWttaFFyZ012b0JrRHZUOWp2NHFMVHVOQ0ZOOUNPRHlQVHVqUnR6RXVlNElSamM5TkdkWUZQSWVtSUxHaFlFRDBWQkRjTWdBc0xBUHNSN2I3NDBNY09yNkp2OHVPbEZia3FDOGtocDNNNnl5TVhiYUFUWWZXcnQvZVdQMUEwSk5hekhuTUJmUnBrRC94QVE3SWEvN1N2Zk1Nd0o3SE0yMnhVOXVKYTNGbXdObWg5aW5jVTROY1FNaUFBQ3phLzI3OVRJL0NCNzU4WjhGajRUSGMzNmFKUVplSzNUT1FEQXp3V05sVDA1UTBSaGYzMjd3ODlaOFRYUGM4STBJUCtoUmIwd1JOSHk5NVI1ekxsbjJBOWtkbnI1SitLOEthaFNHRUVjODk3ZDl6TTk4WWI2QVZwV0ZuWFh6dkNLZjkrZDVsUFdYc1cwV09tOEdUMVMzSjkzL2R2QWIvRjRHeVZqT0hpaTUvTHpLOHdHdFhvc2RsRG9nVHJCeFR0OTN2dnh3Qm1NRXh1NVY5L3RvQUwrQ2RKc0FSM3RWSnpWQ3hKNDM4QkNIalloejN2RjFOWElFd3E4QU50c0FRaU9JSWoyQVYyOVFNL1lBQjZ4VmNtUXl6R1lvRVh5Q0Q0Qmp5aDkzNW41blVUMkRtQ0RwU0RQQWlETVNnbU56TXA5cVp4OGlOOUtkU0RTTWlEcFBPRFpSWXk4TU1BSDVPRVVwaURTOGlFZi9lQzhrS0JVa2dJT0pVUWdRQUFJZmtFQlFNQWZ3QXNBQUFBQUFFQUFRQUFCd09BZjRFQUlma0VCUU1BZndBc0FBQUFBQUVBQVFBQUJ3T0FmNEVBSWZrRUJRTUFmd0FzWHdBa0FDVUJpUUFBQi8rQWY0S0RoSVdHaDRpSmlvdU1qWTZQaDFST1VTb3FCcGVFVGxRQ0FwQ2VuNkNob3FPa3BhYW5xSjQ5UGlLdElvZXZQaXBVRDV5cHQ3aTV1cnU4dlpBakIwTXFCWCt2Q01jb3lVakxTQWFzSWo0R1RyYSsxZGJYMk5tNkl5TWVCc1VpQlVoL0V1UVM1K2puQ01zRkJTSS9tNTNhOC9UMTl0ZmNLVCt0QlNnSWZ3TXVGVENBQk1XQVF1aFF0SE9ub3RhOWh4QWpTbHlrUTRlSEZPN0UvUnMwWUozQWNPTVFTa0N3c0lBUEp6a21xbHpKOHBxT0ZDbDBPUG5UNytDaWRkQlFpQXpZejhBN0tpMkRDaDBxU29jS0h6NFFTTEJwRGwyaWdDSU1NRzJLcEFBQ253V0FFdDNLdGV1ZklhdkM2Unpra1NBelJTakNUVVhuYkVEYUF2TC92TXFkK3pBUFNiR0MzQkp5MVVxUVZhZUVFS2pOZTdEY3dEOXBEY1NseTdoeEx5VlhpUGtZZTNWUU94Vmcvang1SW1nekFqTUR6aGw2bFhmc0g1SUhrVVQ5QThTeDY5ZW5NQWlPZHZBdU5CVmJEbVVlQkFhTUV3UlRCVTBXaEdUakgweFFEZmlCemJ3NXBCZmZwUHJ0dTd2UmlDRTVmaFFJL2dkSnVZQWJBOXIwYWRxNStmT0NKdEFVZ1lLQmhMY3FSR1hmTHJMY3VrRW92Qk1YRVIrOWYrZGlpQkZITXUzOG8wVW9LYzBYbkdpSUdRZFFPY2Y5MGNOL0ZMNW1oUlYvV0JHSElCbWNFZzJFZ2pnbG5pRCtnRmpoaWE3QklRZ1J0NlFRbFlsTytjTVJneWpXYUtNajhZVTBDR0NFMEhqamowQVdRa3g1UEE1Z0U0MDZ6UlRrLzFZZ2dJQUlDQmxBK2NjTkJDeHB5QmFEN2NnZ0FtTUJKa0U3VmhJRndnVmtYaUNBREJoRUVZVUJKYW5naEJKT2hpbElDUy8yQ09HSTVwRDFoNUp5UmtRQUFVUVFNS1lTSlVUUmpBK0N1QktOTy93WUVJVVNjcXFHQW9oS1FWaFFpQXlPeEVDZkQrSEJBaVUvK0JERkJVNjQwczRsWmhta0RncHNDdmRIRkZaT2tTVmlvUWxDRW1FZ1hxRUVDNXpPcytFUEJuVEJEekVqSFFPY0lWeHlpWTVicmY3aFF3WVhBQWtBQm5XZU51bDNWbUU2aUJscHdBQkRyOWNra1dnNEJCM2JDRThpSUZIWU9XNWxwRVMwTjFiNWpVMERxQXZoSlF4WVlJR1JneWlSUXc1UWdOdUxHT0VNYVc1SCtZVzBqS29tQWxRVmUxcENGUlVhOE5xb1JQKzZsbGFLV0FINUxtQ0dUdVc4cDhRTkF1OGk3aElPc3RvT2FVZ1JNcENxaFNRSDRsSlhRVk5DeFRXeWFkTlZvZzFRZ0JrTFdNREFOK1lNaEhQSnFHaG9SUkxJc05rT29qK29FQVVMbjFZeURDdUpwQ1VTVGU1RUFjSmlGVjQ4cVNBR0tFVU9RVUV2c001U0VqaURCdEs4eE1GR2dFbjhnTWNpQkh5S1g4T0NFWTFwVlYxWGFXTTdOalhEd09FSzZXdkJGVkpKd0VCYW84TGRpd3lDOE1vSTVYLzhZQWFQaUVHc3BkT2lDbzVpZkJ0ZHRla0NWL2h3UmRBV2xQMEg2dUVjTGJtZlNteHU0cnc5K294SkZHRC9GOFdMNXhpd3V0REVMQ0NJR1lSOHcrZnNLaEVBV2lIUjJFa1NTYkxVeUlJUEhGdXdnSXphWDhMNjBJS28vVTcvRU15M1JOOWVkclpkdGdoZGJIRGlHMzkwOGNmcUhvK2pmZUw2Ymo4SUE4U1UzOUtIaFNDYXVWRGdnM3BsRG5NVlVnRjdnbllGKzNtc0FGZklYNFQ4NEFmVitJOGxVemhOQU1zaEk0RFVwQjJpb3hBTG9oSzA3bHpoZFhVb0hoLzQwTG9Uemk4Y0Yxd0pzRXpFTHdPU2JSeVFxOUVQNXZjNkZDQ1BnbGFoSUhFR2tRZDNaRENHRW9uQytUQlZqdUtRYUY3aEVJRHN6RU9xZE9uaEQyWVlCd1VMVWdjWHV2QVBGWHpGRkhjQmdEZGdZQUlZa0VFUVdJVEVQMXpQQURNVERaZnlRalRWUks1Q0lHakhja3hnZ0R4UWNCME0yRWdkdnZISDFmU0NBQUlnUUJveUpBZzQ0T0NSVm5qQkcrQVh3L2lzeFQ0aEdaSFBDZ0N0RXcyai93NWs0d0VGcjRDQU9xQ0FnbjR3Z0JuNDRMSFk2YUlUWDhQQUgrQ1FoRFpFUVFnOFVBSWx4SUNET01pU2toT1lwT1IrNTdlbTRLbHM5aEhCOGlya1FpVDhjRGwxUUlJZi9XQ2F5UGhBQ2IwcnhRVnVBQUlWSklFTkt1QUJJZTRHUmorb3dKRVk2QVFSZ2pDQkY4d09lMHh4aWhNYmRLOC9qUEU4U1BqaktWRlp3U3VzRUhtQ2FOMnJjTEhOS2NRQkJ6OEFwUjhja0lFcXFURlFJT2dERDlxQWczUVNnQXRzd0FINTRLWkFJbjJIWHJVNkRXbE90TU1GK0NHTGYxRGNBcHpKUUI1MjdoWmt1a0VhY0xBRVVmckJCQVJBSUNHZ0FBVWlvQ0VLT0dnREJuN0FBemlzUUhJeXFGWlQ2dk1qcEt5T2NZcTdId3FNWjRGQldFQXdxZi9nQkFnb3FnSUs0bFFRQWRNcEZHU1FBU25nQVFRWXdJRVkvQUFDSEVBaG01elNUandaeEs4OC9VZ0VDRmdBQTVDUXIveGR4WGdyblNvRGZKYUtQM0VCQjFHZ1lJZDRtb1E0V09FRWcrQnBuQ2dJaEJNZ2xnaUluZDN2VEdNa0NNM1Jyb0xvRDRVRWd3VGo4VlZ4V1BSYlpaYlNQMU1nY3FaZDljUGJ4bHFHSlNoQkNXS1lBT1hHNmdBLzVDRUtKWkN0RmVBd0FSeG9CV253QStCcHpIWWFvdEhvRzNCdGptQTR0cjBJNnVzUFEzT2NCbTB5SkZNSUFBb0lwZUJzWmZDR09HamdEMzFBUXh6Z3gxcy9VRFM4QWFQcDdEb2hWMXRkcTdsTXROVkFLZVF6MWFuTnVvcEQ1bEtTaHhoU3FDa0t0UFJqQmdMRzB4T3M5UTlOY0VQL0dWNFFCSjVLd1FRcWVpUVBnRkFHSEtqZ25weXlwSDE3SmgwdnRmWS9COEdyeDRDbXI4TVJKRVIrUzB6RFBOR0tqQVpYQXp6RndJWjY2UVlJYzhHUko3QXdodi93eUIvNEFiemlpbTZmNkJRZTcyRHJJS0dCVU50RWF3MGpXZmthNlZxdTR0ekRLblJjU3FSd0ZNVXhERURUUEVoQkJsQklhOTEra0FRY2NPR3dPUGhERWw0QUJSRHdRVnhFVGdJZjBHRFpGNlFoWUhBVDIzZmdpQzBFYklwR3UrS0ZsYThzaU1OdDZocnpHa0JmTjhVeiszQmtJRE4reEZMYUxFb2lqRFVPU2ZBakh0eVFCQzUwR0FkTmFNSjZDZUFIV0JFWkRuVllNSkhqQUFkWEMrd0NhQUNnZUxERjRnRUxRZ2wvNG9Xamh6M3NUT3VpdFF5NHd1RUEvOUk0aHhGaWJLQUlIazM5Z09OUEcza05na2cxRitMQWhWVDdFZ29hOE1NUDJBQ0hycUloelRoSWdvcVFCb0pjaC9rNFp2TVowRHhtR2pNRUd4ZkVQdHhIcld6c1czeURQcEkreHIzTU5oSXQ5WHNSb3ZHd0h3akFVeGtrWVFrYWFFS3BDK0h0TjR6VkJNc0p0eDg4RFlXRGRzRkI0SG9BOWtJbVlKL2xWV2pqS0llOTJaaUxSZk03SFNIcnhUaVd1RGF5UVR0OUIwL0VPVExLZ3o1RU5xMjBkak9FR2RrRUxvaXI0ZWNGb3duK01OYTBsZ2RjSUxoZUFkaW1TdU45NmVTUEpzY0FmdUJPWE1EY1IvT2d1WDRRUStpbHB1TVRvVUVBTFdVYjJUU3Jtd3NRTGpvT3l0Q0dKRkNTNlQzOVEwNTU2Z1kzNEtDWUFzczF4MXpNWXYrYW5OeFc2cEF6WkhYeDliTmJReWRKMFpObnB5N2xrSFgyRStkQUFnNjZzUEdkanJXV2NlOHdMZTkrQ0w2dklRNWl5SG1RRXRtT2pqa3pwZnc3dklBRjg0T05VZ2l2SEhrM2FpcFBqcXR3aHhIbitBRkNmVjZJSEcrb0RBZjFKU05NZjFqbUNvd0kySE05OG9oMytMRzBzdlk2UFE4ck9Dc2REekozU3dCeHhERXc1UVBFeHNuelVIRG5JOFdWL2RJSGJBM2dmWGZKb2w5VkZGaVhmNityNmtaUTU0TWZFS0g5emVFem5rTTI4ZllYMnFKQklCY3pKRklnZVlJREpSQkNrY1YwazBSNmkyQjZiZ0FIU3lBNU94UkJKdFJpUDFOQ3hzRS9CVUFBdHVjZkEzZ2MwRVlzZVhFbmt6RmpaemRkOUNGdEpjQnloc0JUamdCb1kvWC9CMnR3ZWt1Z2VrR2lRRURUSFVEREI4N0NZaDZ6UHlaQmd6V1NIL2R5TFc1eEo0ZkJFVnppRDFHR0FOdUhLY0pYQWlVWUNqWTRBVG00ZzZqbmcwQVNIeTRrUEhyZ0IveERQOGJ6Qnl0RUV5ZGlHRlB4RDViaVpQWFNNd05oRXdyeEN2d1FHaDN4ZlJMZ0EzQmdPWS9RY0RWWVhCalFZMkRJQnN4VGhsY3dTZ1ZRQjh1QlJRUW1pT2pSTm1Pblh4RFNaVXZSYklheGlXSXhabEhSV2ZSeURsMndib01JQlc5Z2Q4VW5BOGlIaUJjSUJ3a0lMcHZDQndaZ1U1RnhVb2ZnRThzMEVYWDFlNDFnaVNiQ003WlNkcTVqR1ZEUkhvQzFBRDRCSEVkaURzSzNTRGY0ZVRoQWdYK0FKampnaW5EQUJySFlLNXVTQndiQUFCU1VSWFd3L3hFODBFZjdZV3Yxd0JTTGxqNmhVSE5rb1h0T0JtOHVzNHdsRkQ2Q01TbEdZaXprZ0FJNDBIV053Rk52MEk5b0JtaURNRk91aUFNK0lJWS9FaCtpTkVpUTZBZDEwRVVJc0J6bEtBaGg1QVFnaGd1TWRpU09RMnhScFM4S1NRaVg5NDRnRW1YeVNEYkZjSGlESUQ0NllSSjgwUTVxZFlvQitRWkJJQU9zV0FaTUp3TVRBQWR1c0lOK0ozOENJeXhtb0FlTXd3ZjhkQXdVVkk0THNFTEtWZzMwUWdqRDlwRmJKalRMQm5ZY0VTTGh4NDY1ZDBrb09BZzR0SWFFSUQ3dVFCT29zaDY5NUFudzQyY1kwR2J1OUhuaXNvTXJnQU0zVnpJaXNEcG04QTM2WXBRK2xKUlZ4bWpZZFRoUzJXS0hjd1YzWWl3NTkzSit5VGw0b2kwdk52OUVLcm1TcWhFVlp0QXhDNEE2QmdBSGNFQ05pL0FDanpSTDZXYVR4YlZJTzRoUmtpTUErK0JQS0tWU1ZTZUpSTmh5ZGZXWGZSVlZ4WFlJdGNFS3RPR0xiSk1PTlJSbERWT00ydElNK0tGQmhzQS9Lc1k2MnJNQWVyQUFYUkJVbjJCR2Z5WkxjWEJRT0ttRHA1ZVFHbGlYZkRCK3FobUVXYmNMZ1BtUmptWUlqT1lqUHRFSzNoRWNuVlVzeG1LUzlCUkF6aWNhcklJZkp4ZytpY0U2bFlrNkpmQURZdUJJWWdBS0ErbDJFeWNJOEFlTDFSQ1NFWEU5L3VWREtYVmR3Z09XdWlCcHN1a2VkUFdhV21Kd29zRW0rQmd6bS9nTS9PQ0UzZEdiNzhsQnJaVVdVeFdXcVZPWHlja0ErYm1mdExRRUtzQkwwUGdKTm9obVBVYWRaZkQvQTFZcEN2eENJL25pSGhSS0ZCQlVYYklwUEw0Z2FSSUtkclVpWlN2SW0xR1dwTXN5VjNkUkVvd2lGUWNCbFBBV1I2ZHhQdlVabHFxQkJGZWdBbDNBQm5QekF5V2dCRUp3QUIzd0FmMUlDamtvb09ERkJrdGdBQ0JEQ3Z0V0NKTm1vUFVBS3hCa0FlMGhtd0RsbERvSEVGQzJhRERuY29ReGtvTHFEdlkzYkhkaEVNY0JvbGlLR2lSQ1FvTkFsQ0lnQnVwV055WEFBeUV3QWpxQUJSUVFxaTR3QXhVbFRESUtCVFc2QnFRV0JXejJTR3pRQlU2VW8rZGlxUHZUWW5oS0Q5dmhGckZaVlh1aURTSWlxRXZCaHk2M0lDTEpuc0d6UUE2cUI5TjFFRXRFSWlIVkZKSXFVaW1Gbkg5UUFyeVVCQ3RnQmlZUUFoNEFxcUg2cmQ4Ni93TndFS09ld0ZNK1NXb0s0QUVoWUFJOE1BVnRjRkRwTmh5eUdxakNTcUdUdGhYRVlDU3h5UWgrd0t1cFFGZFBHcXhaMlFobEVYNGRZVWpET1JBbmRENU50REFjeVZvNzh3cDY1VTFzOEFOS29BRWgwQUhlQ3E0Y0c2b0tVR3F5QkFrMitBZDlsd1F6OEswMG9BTmFZQU41b0FSSDVVaHdJQWJGS0liQk9xdzcwcU8zYWczRTREZDlGWW1Lc0d5cGtKN0JpcVdRRUptbW9oUStFWVNIQUxTNU53ajhJSWZsNEFOczRFUllOVzVpb0FKQ0VBS2YyckhnU2dpaGVnY3pZQVd5QkpEcWtRZ0FDVDl1b0FKeE1BTWtrQVVjV3dNVjBBRmFRQVpDa0o5RWhnT3ZxaTZncFFqRCtwcldsYlBXb0NPYjRyTm9BYmdJSWJRK2NxdFk0ZjlEV2RRS3psQUEvbm9UQXRnUG9MZ2Q2Z0FIQ3RBQ2N5TUc1SllFVWFBRjNRcXVMdEFBbzlzQXBudTZwZXNDRlBBQjdKZVRHSkNaMURpeUZ1Y0dLNENaSktBQWJWc0k0SW9GT2dBTUphQUNiWkJSTWZzRE1qS3ZIR0d6NUNBMFFUR2ZqbkNKZERxMFdKbXpFcUFhUVhxZlp0QVhwZFVJZU9VVDMvZzZsZG1sdmZjQ0ZIQUhEZkFCTTNDK1ZWQUI0R3ErNG9xWmp2UklPT0MrN2t1cWFRUUZFNkJiUkVhdWhXQnhiOUFHR0FXL09FQUNKSkFJNEhvSEZlQUJRK0FFSzVDQjhTc0dQbEFjNi9JVTZ4Z2k3dEVTZUlXblR5Y1I3eEVPREdDYzJsTU0zVkdQaVVBZTBkREJDOXBLVXpjQVlRb0hNL0FCZC9EQ2Q5Q3hEVkFGcDF2L3cybzZBelI4dWdxd0llUTFycFJUVVFRcENCWUhCV253QWhzeUF3clFtUUtjdTR6d3RWaFFBVHFRd0Nxd0JPcUd0dzRNd1loQXEwR3hRODNhQ0lQa2kvZGdHUDRsbFozRE1ZWmdQTXRHaTlGUWwydTRaU1pCUFFqd0E2V0l1Ui9RQUc3N3JZTFF0WC93dFg4Z3JuOEF3enVNWmtsUUJqYVpWbkJRQmhpd1NHK1FCaGhnZE91bUFIK2dBRWk4eEV5c0NPTkxBVlVneVc1cndCVUJCajBRQTVnS3MzQXFQNGhCaGV3U2M0YmJDMU5IdUl3UVNLbThDMmx4Y3BIN09sZlFDbm0xa28vak5NSlRub0NYUDFnaEFrUEpBSHFBQkp6N1NBcUF1MjE3eDF4N3laQ3NBT09ieE5FSnhPblh4NCtFbWJORUNJOTB2c2M4d0g4Z3dJeEEvNzRLNEVndDdMVk9YQUVWMEFOVjhBR1NQQU9FSUtZUDF3WFJzREFyOFdpQTF3Z1MyaExPQUdBSm15NXJxRmVNc2pKZ3dzK0Y4TUdPYTUrazVSUDdpUU5zSzhES3pMVjMwTWR3UUxvWmxwbW9lRkFDZk16bmk4VElITW5uKzc0czNNSjIvTWN3VEFpc08wc0swQUIvVE1DaEt0SXhYTHFDc002ZENiOFpEQkdxNHdrTDBKSEFaN3kzd0ZyWmMxMkc0QTRHQUpiY3EyeVAweGNMUkFqNUV4bTRWMVVvbkJGSU1HNDRnTXh0MjdGNy9LMUozQUNZM0FBemdNaHR4czZDUU1sZ0RkYXZKcTdWak1RZlFNT05oTVJZTGRMZi9OQ0RzTklzVFFFTklNQ2t5alROSVFGNkJYd0RXNkR1TUR5ei9EcGRDbGhZcFQzSHFUVUNiVlV0VnY4TVFhZzkxeHNPazRtY0RMQ2NtQ3ZBVEdBSUhKdkVWZkRDSHlBSW5ia0lZWjBGNG9MVjVTdG5tTm5aVWEwQUgzRFdwenNJTHREYXJmMEhwcHZPS1AzVzRKb0ZGODJmMjJnUE04MElSQ2dCejdNSWZza0xITVFtS29aYWRtcC9qV1lTZmgxZ3hWRFArcUxVaTcwOXJjQmlTUzBDNnJiUWxVek9kNURFTGt3Qmtwd0VEWEFIV2NBSVRKQUZtK3pkT0JEZU1CeXFNNXpha216TmpRREFDaEREdFczYnQ4dWZ6aXNSM1FrSkk1R3Jpa0RZcitNTGVkZ1hCaEJWaDlEUHRSelVDNXJVR2ZGRkFTVStiRHdJNUZGQ1VXVUdWMkFHUzZEUVMyemU1UHpNT0xEWjYxM2Y1ajNpRFYzQVJPWUNEMTNBTUV6ZnBUdkRoWkRhcW0yNlZmMy9yZll0eVk4a0J2ZGxEeHJ3MTZQUU5sMXNEK1ZaRUl4QzNUeHVqd3ZrcjM2VmtnNzZPbWJRRHl0NXZXWWNVQ3AxbjlhcTBNaGMzclR0NFpzOTQ4dTh6SGtjcXVLSzRsbmU1WWxBMzVkTUFWbkFCRXRNcWpTVjQvYUFodVJ3Q3FGeGh4Q3h3UitJT2huUndUeStoc3A2MUVpdFBkVGJuVk1PbVpTSzJCOFpORkhBUzVQTjBPUDk1YWs5NWwyT3g3cnIzWERRNktIUXNXbSt4RGErZVhQNUVJVDV5cGVtSXcvUjE2d3pQeG1odEN0NVZjMUEzTmxyQ01RVDRVaGRDQ3VsWXE2KzRQbkRweGx1NVJ0ZTFmUTk2Vnk3Q0dEK3h4VGdDWmh1MzdjZHYxMncyL2ZBQjV3RENvLzJEeWhRNU5sQVdzYko1SGx1b2o3aHRPSGcwNFp3LytIN2pRZ01NSm1KRUppVmFRWS84TDZUbk15U1hnckRqcmx3M2NRY2EreTN5K1ppOEFPNURSRlh3SWVpd093a2tsSjFmby9WVHN1WDhFVW83QTltOERHSXNnaExyZ2dMNytwU2laeFhFQVc1cnVza1VONldUZ3JrRzlYRGJzbnhMdStrR3JPd3VoV1JBUnpmL2duU1BnOVdHTlRHSGVDRmtPQW1IRDVOSHFUWFFPN2xQc1hvTHRVamp2RnF1dVVkSHFvakh0YWIvbkhOM2d2MThvZ1A0QWs2dzhxTndBT2dGQlNxUWQySnNGSSs4UElQRHVVbHp3dUJlWnlvSS9FWmxjMVNuY3dYRHdtelBlTWszczFnL2Q2dTJvTDBNQnVmd0FQWGUrK0tnRHl0eVJLWHNQSm5yQm9jT05DbU13OVpyL1VxcXAvdlMvRWJIdmFMRU1NNS8vL1ZsSXpSQUp5M2NYNFAvcFIwajhBREJkRHdYaXdVL1QxVkozOEZQclRubEQvemZYK2ZFUS80OEt2UmhPRE5KSDc2SEk3NG1vNzIxZnlxY3JxMzlDQUUvYm9BNVBRSVVYRDF6SkVXRG80SW5UOFJmYS8xSHVNTUNRMi9MSHpNa0Z3SVoyLzg1d3ZBMmJnRVB4Q3JvSjRLZVNEQ2tGRDc1MkVZQ3Q0Y3Z6OVlmTWdsY3N5NWpnREE4VHMzemcvOWJUUVJWdmluNXlHYnd6cTBYSElvWGJBRThqLy84Zy9QL1NlbjVuSzg1OCtMQ0FBSVYzK0RoSVdHaDRpSmlvdU1oUllXZnd3U0RJaVNBNWVZbUkyR0VuK2RFcDJHbXB1a3BhYW5xS21xcTR3REVvK0prS3l6alJZTWxwaVR0MWNTbWI2MGlaZkF3OFRGeHNkL0E1R0hqN0QveUk2MmtiZlQxTlNlb0lTK3Y4L0J3dHlNQ0FVYTMrVGxqY3FEVjlQTjdMSHM3NXUyREx5RDJ2Ym8zY240NXRuZWg2SGZESWdReEsrZ3dVU2dRRm1UdGl2aElGMjNDQ1djMk9yZXZvT2xSaGxpSUlzYkFoRUdGdmpCU0xLa3laT3JOQmJpU080amlnVUxVTXFjU1JPbFNrSXN2NFY3YVdGa3paOUFneHE3T2NoWlFBT1A4Z2hkeXJRcEthS3ZLTFgwY1dWQlI2ZFlzeTRsR2lsYXVRSTh0WW9kUzVNclI0QkhyWkpkeTlZZ1VRUlIrU0Vwa0xNdG9SSjI4d0xMeE93cXVRRUY5QTZhcDA2dzRWTmM0L0liZ09DS1g3SUxrSWdvWU1idkFqTXhEMnV1SjJ3ZmdqK1AwTFljVUxjdEF3UU1NaE82UE5uTTVzTjhDMzBPZmRDVi8yRTh5MVl6S0RBWmdlclhiV052aFBTWjIwWGdHd1VXcUhvSU4vS3N3bGMrUnVidmVWRUdBbjFnN212ZGFYU0pDMFJUcjI1OXdVY1J2aEZkN3I2VnF5ZXYzelFkUjM2bFFIcG01dEd6Ly9uOW9ZVUZVdjFGbm5WU0RQSWJJWThzZ0FKSTR1MkhVWCtlcENhSk9hTzg0cUE3andpRVFqMFhQdWdlUnhZMCtJd21pbldJWUlKbTlLYVBleVlPbzAwaUlFcUFRSEVDS2xOaWk2QTFJMUFoRnMySDR5Ym8ySFBJWnlCT3VKZ3dyMHpYWVlJTEZrQmVqejcraUlpUUNEVkRDWTNHcmZoZWlGSVdjb1VJSWtpRGpXZ1dkYWtJQTc0Z0VHV1JJbzZJNUNNRW1ibkFGUVo4eHNlZGZ2alV6WUJtT2hLbEliYTA2YVl5cVhIWnA0R0hJbmdUb0NKcWx2VG1vb2t1Qm1taVdFWTZsaCtDTHFJVWROdTg5cWVsWTkxMFNaeXBXUEFpcUtoaWhDYVVQSDRLWktxd210UkxqendxR2V1dFRmR1JhVEVINHNwVXBjRHg4UTQ4ZzlsYUNoK1QrdXBVSGNENVVjMDBoVDNFQnkya0tpdFVrdk4wa3F5MTNHS2xrSlhkaGl0V0hmdndLYTZaZ1FBQUlma0VCUU1BZndBc0FBQUFBQUVBQVFBQUJ3T0FmNEVBSWZrRUJRTUFmd0FzVmdCSUFDUUJQZ0FBQi8rQWY0S0RoSVdHaDRpSmlvdU1qWTZQa0pHU2s1U09FMjh5UVpXYm5KMmVuNkNob3FPZUJIOVFMNEp3Y1d5Q09IRVRmMitrdExXMnQ3aTV1QUovTWtrNGJFc3FmeVoxUWlVcmJEZ3RHSVl5dXREUjB0UFVteGMzU2hod1MwcDFnMzU5ZUlKMVAzQndNcnhFYjBrbjFlN3Y4UEcyRnhkcGYwa2xnbjVBYUN4Qk1qS0lFQUNCUjhrU09Dc0UrR0tUUko3RGh4QWpJcm9nUUF5T0gzbisrQUZoQ3BHTWdUOXcvT0VXQlk3RWt5aFRScnVnSkFrYkpScEJFQmtFcFJBVUlocis1RUh6QW9jS1B5dmdkRlJKdEtqUlNrUlk1Y3pURVlDVk9MQ2VDWktSVVI4YVZnUW1zQUZ4dEt2WHI0VUlFSEM1ZENZVUtIRlVIR1BUN0pRcFB6ei9WcFR3QXdYSGhoWmlib0RkeXpjbEFRRmNjTURNWTFiR2lUWWErNmlJSXdpS0tRMG1CUmRKaFVPRzNyNllNOE9ic3NMbkh6d3pHNWVKSXVkUGt5WndNUDBoNGlmS29DVitXSmdicXJtMjdWd2kvc0F4NGNjVXFzaGxCRFZwQ0tjWmE5ZXVoUFNaZ0lQTDdlZlFSeUd3K0JQTnFaNklmL3l4TWx3M2x6Z1laUFRoTWVpaW55QnhjTFJwSXpXNisvZVBKQ0M1OXdmSXFUYzRWbWlVMHlaT0c1T01jYkVCRkdqNGdkZ2Y2dmxCUkRNbUxjRUxmQkJHYUlnRVMvZ1UyMzA0Q09HSEc0TTBVVVlTemJUUkVGVjFpQ2lHRUhnRUFVVVNjRmpSaW9Rd1NqZ0FIRGp3NEVCamRhbUF4bmVIY0ZHR0RJNXBWSlVKZ3N5Q2d3RUd4S2prLzNzSS9DR0dIOVpOZGNJcjJ3bVhCR01leG5JS1RsWnQ2ZEtTWUVJbm4zbWhOVFlCVkIybTkwY1p3UkZ5RXhHaFFiRkdHemcwR2VhZG1VbmdBdzRsNE5FZVRRMEpsMTRjcVN4U2t4c1g0YWtvWHhSbXlKVXpMNWhVQm8wdnpNSklUV3ZFSWNhaW5Ib2xnVVU4ME9abW9EaWNVRk1qejh4Wlo2Y29TZUFxcXhLd3FJRW1pSnhxcVNPcElvcUVCS3hHeEN1dnNDYVJSRTZoUU1IaEg3cjIrdEFBcnJyS0xBTU1ES0JvckhsOUFnVUdjYndSR3FJL0FLdHNQTXhLSUswRkZ2d2hMWjRTc0NGR2xKQ2NhaE1VWmNSeExLSmRlUHV0TzgweVMyNjBpMHFieEorTlhGdW9tMmZsOThjYWRTMXhMenk4UGt1dXZlaXlHTWxaVnBqMEx2OFVWamlITUE0K1FMeXdOTXorUWE2NW5BN0F3SjV0T1FKRkdqaThJTlVFYlVIaGk4WXNvL0J4TFkvKzhZSVZoSnpMZ01qbG5xdW9EMzhnRVpKemo4aUFBUTRZYUxLMHkyZEJBWWZHWE1CaDU4MmlvTUdEQmp4a01FVVVkV1FFTFFQbFd2Q3owRXNXWUVBQklvaWhqRWd0dDR2ZkJtOW93elNRU2h1OFJobHNvSTExSjJpWVFPN2dDeXd3K09DRERPQjNqRjEwNFRZT2NJalJ4ZzhoQmZvSXZLNVErczhiVHdtU2FiMS9jL0pnQm9PUGJUcTBmMERyc1lSNi9OR0ZNbkFrMFVZVWFHaXdRd2dINkRCRGFoUC93Y1VFcUxUY0V4enp3b0ZDczZGUElvQUFwdXpiN1BQUUl3L2pBbm93b01JdllxaVFnUWs3YU5GQkJUUlFJUDcvQjB4UEF0QXB1azE5cktwc2RHRkFrOUludjhoZkFtUWdDQS9SUi8vSDZyYjlURWoxUDJBREc5cFFnaEJvd1FOWUVKOENGZGdBK215aUp1NUNsaGlpOElOZjRDQUpYVUFDQWw0bFAwU0laWG5rNG9FWjh1Y3QvbW5HQjBoSVlaSUdFY0E0UEdFSTMxdWdEQmM0Zy9JOWtGWUg0NElDRGtBR0UvQmdDbTJBblJoK1lETU9kdkFDOUNPQUJzeTJLREhNNEFPN3c4RUZvUmlEQ2lSd2hqSWNCQVVhWUE1N1ZNSlludnZCREJSSUF4Mk1vSWRDVUlFWWFOUStEZTdQaE1waW5saDR3TVJGS080OU01cEJBN0t3eFE4bzRBTjN1SU1NRzBESVFqYkFCWU1JNUIwUVdZWmJTYUk5aTFFQUgyV0loUTRjSUFSQ0FLSUZoMWhFck9GQi95eTFHeG1ubHVBRHQ4MUFBVldnZ0NERjU0TGRtY01jTTRqbDdtUVpTd1VvQUVFdjRJSWpWVGFJLzhTU0JKUEVJaFowb0FVZUtPRUhGZ0dHRDRvSXgwU1U2ejNHcEtNb0o2U2tBUlNBV1Fnd0FJMXc4QUZnVXFBR0h3aG5GUXhKeUJvcW9BSGg5R05ETG1pcGEzblJVTWlpVXcxeEFFeEJZSEdCRlJoQkNKU2dnb01BWXdudmUyTXpZMVM2VG9tckFCdVVBQUpFMEFYdEpHRUd3TXlDSW1XNFNBWGdRQUdLREtRQzJuUUtHYndnQ1JFOHhCdU1GUmdwUXJTZWhyZ25CYkJRQVIxc0lRb2lrbUlTVUdnbkk0YXBqb1FZcUhzR2dBSWZGT0I0Q3pWQTRhNVFJUVdRd0p0WXZBUDVGS0RBS3NRQmdpOEl6d3NZazRpUnBtRUphLzhVeEF3RVFRSkdVRFFMZkJ6bUNKelFUeUhTOUZVMnZWTmFZOFEyRWJnVkJRTVFRUUhJWmJpUW5CU3BGTlVOVSsrZ2dGUVk1cWtlVFUxSWk0U0JTWW1FQkxha0JBVVVBQWVNS3ZBT0xkMUNDbUt3UnNoaDBBQW9nTjlhSVlMRFQ2QVZUN25CYkFHdU9Wb0xGSTU2SmZpRlVVbkFCQzArbG90amhFTVpndkNHNGx6bkZWRk5neGZiOEZGVlNCRU9wN3lsUkJXSmlFQnVrYkdORFNaRldRcUdIbnlnQmR1TTNSSitnSVRNNWxTbnVBaUNkclVEQ3V6Q2h3OS9XTUFmUklDQzBab0JBZWk5UXZYbzFOaWpac0dlZnhEZkhmNFFTeG9ScHpHLzJLb1VwVWlJMVhhVnZ2c0Y3aC9IaVVqaW9wT3hrRk9BQytaYmlLUWE5OEJSL0MzL1E1WkF5ZzIrUTd2YWxRSFJLTEc0bTduVnJUNUFBUFdpb0l5N3VwYVZOSElGWTY1RjN6OTA5WmFHT0txTXMyRFJXeXJnb2E4VU1JSnhjTW9QcVBJUEdjMG9JUllZWDFVK3VBcCtiTUh1RU1TR3E4MWpLZ0E1M3g4d1BOaEhkSGhoR3k1YVcwVzhYaW11OXIxYVhDUndxMUFGT09ReVBSOEFzeUxBcWtDTE5zQzRXMFN5TGJlYVkxZ213WlovVE9jNENlbUNQdnZabmd2TWFCWVFDd3duMjRKckdWQUNDNGlnQ2UzQ2FSZ2Q3SVI0RFNBQ29acDJBYW5sOFl6RDNJQ0xMbllRWXhRZldFYzk2bnZlZ1VYS0RUSUZYRURJUDRUVGxzSnk1WDVuVGVzWklQTEVnMVpBRFpkZzRWejQ0WEFXNEJvUHRtWUJRMGVhRTNNZEhBQk4vK3BlUU04WEI2bTBzUXRVaXNYNEZqbVdDZ1QwRElNODBWV3p1Z0ZJVHFlZXRRMVd4TmFRRGJ1S2hnMFdBQzFSbHM0YngvNkVHWUJ0QVQyWW9VSVhiWGEycHkwSUJtczdpNGNROVVYOVhlUnNGNXphUnViMktpbVFCU2FZVzRwZDZEVWxhRVVBUDBBQ2V2R21CYjNwdW9Bb0pQUEw4cVhBSjVUS1RZSXJndHBhSlBlZ0g0NERNUnlQRTQwT1NDUVdzTm1NaTZKc2h6TWNpYjNzWHZHQmdxODRhT0FuRnJoeWxvc2gzWXR3QWlNeWtlRWkyQndsT0ZlMjlkNTJVckNDUXVSYjVRVFJIWDdVSFI5OUVWRU93bzBVZ1lZb0E0UllqeER2SFVQMmRJM1R1M29lTittWDFWeUpWUTljc2FJdXVxNS8yd1diTFdJV0xPQUJBOFM3aVA4TVVFRUpXcXZLeFVuMkIzaTMzZTNBTGx3SnVyRE5VODdZNnBKUUpmbUUvZ2lpdXhpeEZwVWlHMExzQ0F4b3dIRFFBdThpOUhEcFp6NCtKUnVuM2hYNnVkL2d5aGlsbmFmQUIvaWRDQm1PK3ZON0YzMEc5d2VKS3pEZ2VZMmcrZXU3UXUvVG1rR04yK1N4TFc5UGFyb0hYT1JEOWptcFd3djhDQU5qK0RWWGhBcWc1Ny9sUTZmNVE0V3BCVTFxKzl1Ny8vMjNSMFRYZFIwWnlJbmhyTjQ5aEJuTXI2VElVNDhCS0dBQVhjQWl0TVpqdFlSbjAzZFVod0JqdXBaMSs2VXV5NVJRbjVBUC9MY2toeE10ektJNENCQ0FQckFFTGxHQUlFaHJoQ0JoOS9jKzBwSi9qb0FBZHlRSVYxYUJlR1F1aXBPQjRyS0JLSUFFQnVBRFB0QTVCVmdsQmp6WWd6MjRCRjNnQXdaUVhTb29DT0hYQ1NxNGdpNTRKK2NTZzA0b0xrOEloVEVZUDlYUWdrdUlKMDY0T05LeWhWWm9DNEVBQUNINUJBVURBSDhBTEFBQUFBQUJBQUVBQUFjRGdIK0JBQ0g1QkFVREFIOEFMRjhBSkFBbEFZb0FBQWYvZ0grQ2c0U0Zob2VJaVlxTGpJMk9qNFlwYWdLVWxaUVBtQThDa0p5ZG5wK2dvYUtqcEtXbW5tQTlUejFPVkZFcVB6OEZzd1UrQlZTWFZBK252TDIrdjhEQndwd2pUckErSXNuSnM4b2lmd1pVUWlFcUlqNHF1OFBaMnR2YzNiOURLWDhGZ2lJRkJnWW9DQWdEQXdnb0tBYmpFdk1ES0FYVlVkNzYrL3o5M09BR2ZKQXpoK0RQdklQekNOa3pNQUFoZ25zR3R2aWJTTEdpeFVWZ0Fqb3JsMjZBSUlRSVBRNnFWeERoRlFQVmhseGN5YkxsTmhYM2t2MUIwb2pldWtNaDd4WEE1cktuejUrY1VzQmNacUFnTzNVaTFSVXNKS0ZlUTBQcTZLSGNDYlNxMWF0NVVpQWJXUytlTWxyS2lob2lLYUhRQUhUMElGNWR5OWJpQkJObS8rNDlLNGpBYXprRHNmRCt3S3RzS1NHeUg4dk9SRkoyd0wxOGJSTXI1aFlGaVRPR2Z4NG1zK1preEFFUFgzcG83dkVuQnJJQ0tBdzFGWnhRRUR6VGYzeFEyYkc0dFd0ZWJReUlReURCWGpVVktYUjQrRE1DekNETmhINGtrODIwZE9rL29aOEt3dk82dVhOUEdFSVRsbXd0TjZRdHduR1NObzVFdHVISXo4T0xSM1RpenhTR1owVVlLS0ZEUnljMWY0UWJFRHh5NmZHeU5CRTRjeksrZi84TmNMVHhrQmdxK1BFSFQ1ekFKeDk5Z2lBUm1rRk5OWFNXUnlqNVVJRi9HSW9uUmhjclNDR0VLQW82WXhab0VMcGpFSGlHaWZERUJ4bTI2S0luUHh5Q2dBOGxTWUNFUjAyWkprSVhTbHp3NG85c2JYS0tHam5FYUVnOElyMWp5UDg5S3NBSDVKTlFEckxiV09ZSWNoWlUxVGdoWkpTdVhlQ2xqeGV3d09VaktJaXdGRTFIcXVma21ELzUrQWNJR1NqeFJ4b1pvR0VuR2w5K3lTWWhac3hVU0pWaldZa01MbHZ1V2RFVU1rUVJ4VG15ekNLT0Q1QUs5RU1VVHBTZ0JCb2dlQ2xJQm1QSzVoYzVmcUZaanlBb29XQ2dvZnZnOEljVmJWeHhERExLRE9JTUxiUXlJNU01U0pSQVJScGpJa2FmQklBK2c2Tlkrdm5BQWdHbzZoT0hHRXZFT3M0ekRqNjREanZVVnF1T2JUTDlvWUtiWXo1bzBJekREbkxhTXlKTWtLdzNZc3hxRGdyc1dObE90YUtCWk5vOUFoWFFZNVJxUE9Cb1lBV2d1WTVVVmhZUUJRRkVuSnVORlVrTVFsdGs4SURWakRraUVTTHZIKzMwSzhIL0ZUeGtvRUlVSUR4WkFsUDI0SGlRQldoU2ZJV2VCZ05qaFJVM3N0UHdaRDdFOG9NS05BK0ZxNE1SSHhUeGpDak1Zd1pLUDNBNlpsTUZsTlNRQlFzWXZTbTNLZnRpeFI5dHdKTk1GMGdvU2dRUkJHU3R0UUJvbExBb3BPVjgycFJmRDlFMlQ1bjJjdWtSeWZOUkxJRUZmMXhSQUk1L21PR0UwRTMvc3F3WWY3elFRaHFuL2xHd0lJUC9VUWtCS3Z3UnRzVHNjZ1doQlBxTmcreUxLaEQyQndNTHhFV1BZQXNVeFFBREZzaWRkemRUTkFMRkh3bTBnUXh4SXpWZVhHMGlHUGxpblZkY2JnRURCWmd4eitkSW80REVBaFlnamRmb1BVVlJ6YWVSTFN6eFBIS0xvSUs1TG1iZEorZ0xJR0VHQTM4c1VIZm1CZ1F2U0VGeUV0OFMvelhQRGdKNXhOLzNESGt5TGJ5WXRSSVNnRzZCR2JVamJjYnZ1SnVoZmR4L3JDQytTOFliaTNJR1VaUjVvS1FMTGdMQUh3RHdCdDBGejN2Qlk0QUJNRmNVNEEyaUN3cjhIMHVFNDYzQWVMQXVEWm1STlY0RUJSL283Zy9lUTZId3pLQUhCUHd1ZUhwSVRlRTBhQkVXMkFKOXhoR003d3pvdkIvNXdGc1E3QjFOUHNjSFBnaWlUNGloNFVXb1VUSVBIZ2M4QlJsSG9UQlVBT3c5OElIY0c0UWZUbFdIK0V4T2lSWVJpRm5zSXhpamlFTUVWSGpSeC9RWHZBWHdZUUZ1bEpzSkJMSEZRaWloWTJDc0NEWE1BaG5qK0lsMUxzcUFEMzVYeERyK3dROTV5QjBkemRERlFTUXhqeE5od1RnK1pRQ2EwQ09Fbm5JR0NQQ1lvWEVZOGYrUXA5b2lJTld4djJkQTBpS0pLOFJER2xLV2tvaGxIQjl6a1N3YWFjZ0dHUUI0V2J5Y0lOQndTcGNZSmpSbEFhYVNIS09DRzdpSUdyVUQ1Ui80WUFFKzJPT0J0YXZkL2tyWHk1YWM0MFNXcEZoa3lrSE5ERkVqTkZjVVJOS3FDRGU0NlE4OGo2eW1SVUpHS3ZTbEtBcTh5dERxZ0pmQzdKbEJCTW5zWEdneUZ4OTFUa1FnOUJrQWpScUVQSlJFd1pndEtzY1Y0V1pQRWZUSk5MS3hBSVA4eVkvRStRVllhT3JnOTlTanFVNFc0QXJsWkdqbUhMcS91SHdFa0JUVkJ3dEVVRElKWExOQmhUQ0RMVExBU2YvUWhJMmZHOFE5MmJpQTJpMUZPaW5saHp3K0lnNUYzT05ZTFNvVEFvQTNqNTdTcG1pZlkwQXd2K2Vub0U0RWNuUC9NMFRqVUtLQ0dmYW5UQk04Q0FQdVp5TUplUVJRaHNtcVZmdUIxYVVRcDZ6SWNkNFh0VEV4WVVSdU5QTndJVjRKK0N4Z21XbXRiRFhNVXN3Mms0S1U2UWR6N1FWSWZ2VkVZRVJPWkUxcDIzSFk2VklSYUJTd3dZQVRpVmhKSXAzWktEVDZrUjB3Rmx2WFlCakdCems3eTc5S281K2ZzaFN6MmhEQUJhSVFTd3JLUnF3VzhGWUJSTXNMMGdibUlObElxMGZNNWxLa2xFYWcwbElQYkdON2dReXNyWHFXSEFEMXlNWWZNZjNDdDkzNFRrSGVpaHdQVXF4ZkFVUHBjbjBoQUFJSWdBZlNSUm9Ta01BQWRrelhJQjR4Z3d4Y05FbVg0bWhjeDNtcE9NUTczbDVRQXIwb1hFQTZwUG8ycEpYa2lINXJrV3g2SmhiSUVhZGREVkxyLzc3Nit3dnpDa0FJNmRYZUZhejR1YVJkN25NUzhBRUdGRHlUejhLWGRjcERBV3BKVllBY1VkZ1hCUGdCWWVRSHVnQ2p3QXg4K0JrOUxXQUEvMlhJTWZPcHk3ZFkxN09OdXJYRjZFdkVaVi9NaVJUMmpvVTZiaU4vL1ZHdEtrT1lFMkIxc0pYNldPVHZQZ2dKYzBzeVR0SXhVU1l2b29xQ2NITDFXRmdYQzNhT3Q5dXc4cFVKRWRXY2R1S3VFNklZWkNJVE1VQ0ZMTW51eEd1WnpZd0lXY2h2b1FKbUlUd3NLQWpFQmtFWVZpNUVuUSs5MEFkaWp4TXp5bXFEeGNMbmt6NUxxYVFGTG53YlMraEV5RUtGaUVZQ0F2UmdCaFRRRTN1SU5TMmRvMXJwSzA3YXppZmlCUG9hM04za0VUV3JTZ1ZkZTVWQ1hCeTFhODZsTm9TaEMvL3BoemZDVVN4RmpEWWZhakhGVHlBN2ZyeXI5YVFmVnhnSXcwdlhzL0NJZ3d6aXUrL1pSNm5iTEFtWW0wRVl3ZUFJMThrK3hDeTZ1TVZRK29GMXRSUkh0VDNCSUcxSDlTL2Z2cklmUWJIaWNrTk9WTjVxYldSb0pKaCt2ZU1laEJHSlIyZ2NiME1Fd1JiTXFUY2QvZkRSalo4cUh2dm1oUHpTZkR0Y1IramJSUDB0ZzZqMWlYRUpXY3ZhSE1sbURVSVQ5c0t4cDdXUUVMZEZYWEZCeUtBTEJqQ2l4ZytaeUdUNjRRcUJLd0NtU29HOWJyTjhlYVJ4RnlzOVcyVlJYQW5tVndvdnhkUnhpS1JaOXBMVTRublBGWGRMcEJueGpYK293MGVqallKTHA3MFgxMDY1eWs4dUlUSkgyaFBIWmdqTWhlWHBnRFZSbkZkUVQyM2lJWWovSlhSQkRIQVl1eUJld05JZGkxUnVJQTJlQVpJNUNDQW9sdWNSQ3NuVVdZNlMrU0FiMDN1ZXk5NzM3RksxZG8raGRBWUxHK0NncWo4a1RQR0NXT2tMSHlqT2g5QVlDYWp2N1gyb1BuVjZJR0sxTGxaRXhIS0dibEtCdG1TY3JzMkt6MUhqUWxoQWpLMnZHK3dKTVFYTE9sNmN6NFRiQWdKMzNaQ0FQVjRUM1U2RUZrRjNpb1h3dFExS0RpR1NyM0RWSGdMeGdxQjhmOFFNRk9NdE5ZSWlsUTJqUjdzNXVvdEU3SXlBY21haE02ejBkS1prR3NCRUg2N1RGRDkwT1g4SEpkVkNhaTVoVWNDRGE3aURBcDhVREFUNGVaM2dFVGtUZmc1eERrWFJaMGxpU1FGbFBnTlFEY2hSUG1NU2R2VFhFakZpTmcyUk5HWXdJMjQzRElNVy93cGxoQlJtZ1VuTllDWmxnUkkvZFNNM0lScWlCUWVKWnlobTlZSVhJUkFMc3pzaldEdnBaQlVPQml2VklCYlZnaElzUlQ5eHNYeC9SUzZURVhvZndRYUM0QUpORTNZK1FRU1FVaU9SVlJiY3h4WXFkaGVDUUMvc3dnNFFkd1UzbDJQT1lDT1dOUlBsUUNybGdFTS8wQVZrbURkVk56N2w4Q3N1bElHSmNBVnAxQkpvZ3dDWUEwY1dvQjlBNkJpdVZrb053bDQxbDRLWFE0bVBaVDVUOVFkOGM0WUdlQkVySUhpcjlRZzIxeEsxZ0ljTDVVenFvUisva3dpNU5STmxBb3R0ZEUvZWNrbVhnd0ppSUVZR2M0b1dFU09Fb1dxY2dHWXJBVHZabzIyMDRBTjRxQWpiOVF5VjFqbFpKUzk4YUFadmlDckVTQkVDd1dBRGtBZVF3UCtDRmdFN3JsWlBOcVk0eXBnSTI5VXYrMmRnUUVoYWpuRTlHNVpLMDZjSU11Q0V0VEZIanBCSTVMaE8xcGQ3ZzNBRm4zR0RLSlE5MnVOMXRYQlpQY1ZTa0JNWkNPRVl0UkEyRDNXUGlDQURnYmhNa0JCNFV6WVJCZkdBYWRZNTR1QjJiWFFGSnNrQUxYUkdydVo4dUhOR3c4RktVK0VnOTJBR0FrbFJ6R0VLNUJPT25IQlBIVWxsQjloMWZhS01TTU1BTkxFTTQzWVBLMGtJdHpNT2x1VU9ONlE0TnJjQXVOT1R2ZlFocHVBL3Q4UUpmS0FmUzBabENRR050aGdQYm9jNzZ0RWQ1WU9VbW9oQ2w5WW5ic1NUNm9FMGJSUWE4cGRTVTdnUGpvRTg1WGlYYVVseURBQlNBWGFYU0hNNUpsVXFlem1IOVNRYjBMaGpIbGFSRmxuL0NDRHBDSVRIRWtvQlZyWVltR29aTElESERMVW9hYyt3ZnczaW1RVnhUbzFaQ0JvQUNwaDVWVm1YR3NnZ21sMlhrSUdYbENGWkVJM25mQVJaZHRnbmZZUWdZTTVRbUtPSmQ0TjBFVmRpRG9SWER0RllDRTZsRG4xcGZjN0hZejlaQ09Wd2FiMERsbitDVDd6Wm01Q3dQbmk1RHcxUkptZ2lsYklwWGtUNU1IR1JsWWJBbUxuSms0TWdQRDVna0lOaG5hVlFmQlRoVW9tcFFqMEZsWVdBRW5GekJUOERLZXRvQ0FLUmV6aTNWTEdKZTRZQVI1Z1ZCSSsyRHcrRkpPeXBEdzB4WWZSWk8yYmltbWJpYkhCVUpoTmFvUE80bHdiWlJtYldOVC9RbFlvd2w1N0FBOTdSTDl2b29QTXdDemNZbCtxeFA3YUhhR2pUb0ZmQVhvNVEvNVBMNVFkeGdYNlF3QWNjK0FqbndEekFXUmJVcVpRTytGRGpoR3BYNUJpYmFad1RVWXJub2xUYjk0aVBNQnFnb0p3c1VROFpXcUFoQ1htYStFQ1J5UkpOZ1FJeEVuMTdFbmwrRUQ2UGNBVW9nS09ReVFEOElhWXAyS1NIQUtaMG1tWjkyUkx0WlMwR3NBU0Z5Q2EzNHdtMWs2S053QWRXMlJMdFVnQnVtcDZoczJUb2FCRjdXbVcrcDA0a09oN21XYWZac3hiK0J5ODU2Sjc3VUVYVm1SaWIybzJlU2hIZDh4eWorcU9sNmcvbTBLQnJFVHlweW9TcjJnOERjRDBWSVZXdWVqbllabWU0ZG5lejZoS0xLbW03d3dqL1ZxVm95QlJ5Wm9nRDBFaitGRC9oWkFpZlV5M3dWbWRnRnovbklxdWxNQURqRmxTN2Myc1FJbWZCWi85K2NoWlZsZm9qQS9RTGljcXN2N29ucXBxdGFSV3M2MnF1MkRvS2RraWU4Y29tN1ZvS3dHS3Y5eG9scFBwaDJYcWEvZm9rL3lwUnA2Q29BNnMyUDVxcm45Q2ZDZXNpQXNpWnBxQWZyUG13RU11RThGWUtWRmtWemNZL0Zwc0kvNHBDbmNwdlVyb1k5cU1lelJlU2hEcXJIcml3REFzSzVkWWFmakJXSGZwQTR0aXZMZnVDYnpPeW9EQ3ZWWkVIZXBCN2xjWUFrbml2eDNZSUF4Q28yUmtLRTljZkM3Vk5NL2FyN1NvQkMvQ1F2aUJkNFVGcFVtWW0xUEt5aWhleWFnbEpsUlkzTnlTdDd2bXZCWkd4U2hST3VsbUhadHVZRVN0cGNMTzB4R01EYVpZOUJCbG15VHA5aDRnSW9NT3pIZWl6ejlFNWxpVm5na3RoY1V0bndWUFByajJicitIaGRlaXh0MS9idDNJclVYU0xkNDRiSHZkVU5JWTdkam43b3dYeFFJQ3JhNWtiSHBqWXVaNUxMV2FFRTZMTEM0bWJJVVJydUZWM3VCUkZ1YUlSUWFNTENhL2JJbElGcnNKbUFUZHJabUJyRUJFRWQ4T2JJWERUdS9IRGlLWFdEalhSVEZkYnVoZ1NxSm5LdDR4Z0FTdTdWdXdRcW9oUUI3UnJWY3c3WG1yN3NlUmJ2dVo3dm5uMHZhRVF2T1dydm13UnFaS0x0YUpnQWU0N3EvQ2FHRDRxdXlPaHJwK1F1eXhiZFl5THZrb2t1UUxjUzNuQUlGd25IZ3g3cmdYOFA4eEVDSGo0Umg2NlZvRUFBQ0g1QkFVREFIOEFMQWNCU0FCekFENEFBQWYvZ0grQ2c0U0Zob2VJaGdBVGYyK09RVVNKa3BPVWxaYVhtSVlDQkdrdkcxWTRjRll0Q1JpWnA2aXBxcG9FR0hBNGJHSS9VU3BMWW5DQ2pJTUFBRkNydjhDcEZ6Y1hNbkZ3UDBvbWduNStnaVlxZnpnWUJIOUJRVkJwd2R2Y2s4Vi9jQ3ZMelVBZ2FBUm9JQTUrUEcwNEx3UUVBaGh4R0pIZCtOd1hHVnc0YlJwLy9FaEJFK1FRRVRSb1ZNQkowbXJKa2lRQzhrbGNKZUNDa2lSd1NnUTBRVUFHSWloUUNHUUE0aXRPR3o0cTRreGNpU3BlSERZOG1sV0Q4cVpNbVJPK0JJRUVLQWdJQmh3cThHQkl3ckxvSlFJWWhjalVHZWRITGFJNnF6VURxQ0VKRGhrdnhOd3d5aFdSdkJjNGxPYVppWFZKUUQ5aUpuaUVnc1pQblM1cy8zNzRtZkxuMkkrdFhmTUtpakxGblFvL2VTTEprQkVrVG9rK2E5YXNnTXJXVHpScFVmRDBnMU5OcjJVUk9JajZtY2tsU1J5Z2J2NDBLWVBqeEorUWZuNE1TcklaVGh3V2x2V2lZSU9qaEI4MHB6ZkFFbU9WU3hPck9QNlVRYjFpRUE0bFJYUnRpbTJVZ1E5L2ZnRFNCSnJIajV3eVZ0cElTOUtrWGhBOFNveEg2UVBsYzVJa1FTSXluemlBdGhJL2drL0FxWU5uemFBbWNPQzBhY0xsUmVNZk9BUjRtQXcvSFdQV2VoSkpnTUlmclBFa3d3UTQ4TEFHRjF3WXd0OExwMG54UndrcVJCSGRhVVRCNFFPQ0NRSW9WMlVnV2NFR2FTcUpWb1oydjJIZ1VSQWFNb09iREcvZ0lBYUpDWFp4WEIrRnZDRk5pNkxWeGQ4R2hNaUFodjhKSm1pd2xodHdkTUZqUGhLd01SOEloVUFoQXhkbDNEZGtsNU5Bc1VZWmNBd3daVGNJTUxpWklUVEZ3VVViWEx5U2hDNlRlSlFHRGd1ZXVVMmFTd0NKQ0ozdi9PRlJtS0dGTnFLZXdhQ0F3dzg4SGVMUkN5K1lZZ2tVb2EyUnhJNklBcU9vQ3JoSk1sZ2xFN3doQTZWL1RBaEhtcG11b21nVWxRSFRXMDRUc21GbXFxcXNXdEEyWUlGcEtxcTBuaUtCQVVDZEFsSWlWcWsySnA2OXBxS29kcG5RSktRaE9PTFE1UnBpNENsQnNxY2dzRkN6VUN5MDFxQ25kYXZTR2k4aGNDMjJtR2hMWkNVZy9aUUdTTDQ4SzJnY085cTN4TG5vSGxLQUlBVVVZSUM1N2VFZ2J5VVA0cUJsd1RLQ2xLTjJiaXlLYjc2REdQQ0hDUDMySzRML0NDaElzTVEwbVFoWkJnYU13QUZ2d2I1QWdRTVNEMk5yQVFNRlhGeUFHUXhZc0xJWkxhTUFiSVdaOUJOZ0tBZERZY1c0Y1E0Z3RNb3lyOXl5QVJib29ZY0ZWNVFRUlJmNTRRSVZKczYrOFZNU2tMNVNhUncrU0RDMDBMTmFob0FJZjBqd0t4S0NGRzNCQWxlSVlFRFR0ZEFXNEVKTHRJSFJ3Sms4ZUV3Y1pWUnFzZzhvZ08wMTJMRVZnUEt2ZzZ5OXdBSU1HTUNHbFFFbXNZUUtKUWhoUWpON0ZJZmhMNlFLWXVuT2NNaUNncmxtbXptMFVSTDRhellTQlN5Z0I5dFJMUEVLRzB2OFVJSUdlT3l4UXdnSGVLQkRCVmpVTUlNL2phZ0M3aHB0dE1GRENUL2NNdmNTQm1ROHVPbGhVK2s0RzBrODNzVVBHK3U0Z2hJYTJFQ0cveFllVkVBREJSUU1najc2TStDQzl5V1VKdWJHQ25Da0VNSWV6ZFNoUkMydndOTEZ2d01ZM0IrcXh3Mk56VUFCVVh0Rk9JU3dBeTEwd0h6cmk2QUUxemVESkdCQVVubXpqeHQrQUFjRi9JRUVkTkRCQ083WERCTW9ZUVhWQ29VWUFDakEwd1dqUFY2NHd4MGlTSVBmVVNBTE9Kd2crbVRJd3g0cXdBb1lwRW1ZY3ZJSE43aERBUjRrQVFrR1FZTUtlRUFMTzhBRE8vcnlHVmdBTG9BdGRDRXF0SldmR1J3UWlRMVkzd2U4Nk1VRWRwR001MG1DQitNZ0twM1E0MzA2eVltUTNGQWhCQVpIaVlqQVFnVTZjRDhUTm05dVhVQUN3QVE0UUFKV1lnQklzSmtQYm1FbE9HUUJmUzVvZ0NRYlVJVVBXUElEQ2dpUUFwTFF2djdKNlA4UElBTWxEclNSQ0VlOEFRcGcwdVFIbVVDSkd1amdBRHV3QVEraTBBWUZRZzhCV0p3ZTlUTEJnRUdZZ1pNa2VLUU1kOWpEUDJSU0FUTDhRL3Jpb0RCUWloS0RnM0RFYWRMQWhXTU1MeFNDd0dNbDBrY0JMTHlTREVMb0MzQ1NjRVd6NmJLUWhwekV2bWlqZ0dCR3NCQjMrQUFPWnRBQUdXNVNVRWtvUXhBSXhDQU1uQkplYjBqRFVGN3hRUVRPWUlsS2ZHVDZEb0UrWlVwUUVIcjB3QkJTWUxjQXhlSUhnZE1sMkV5SHpra1lvRm9IZGVmNkNIRUhGMWpsQTNmd0lJTTQ5b2NLNGNJMWFXeFJLT2FHaTNhNmM0WWp6V2tFWlpnRlREYkFFSG9jUXd5QXN4dU1EbktqU1BXb0NLeWtSSkV1bEJESGJBQXV3Q0VrS0ZqRm1PMy9BOTBCQjZFQUx3WUlIRFA0UXhYQ3lFTUo4dEFGSHhpbkN4NDZpR1JXb2F1Z0U4UC9SbWZPNlZIaVpUNEthVEJyMEZCQ3lGTUJhUDFBU3p2QklBcXdVaEpObFdjSHN4cUtyVGJBQlROc0FDYkRHcHdQUUZhSEV6enJXNjg1TjhuOXdBQ0pUT2NoOUtBUU9EUlZvWDM5UTBtOTJBQXNFQUlIOVNSRVUwK0x3eXlvOXErUm5Xei80T0RWVUhpd25qME1MbWFKZVljL1JCS1QvUXRPZ0NSbUNUMWNZV042UlMwaEtPQkJ3Ylp2QmlqTlJEeHhnRXpWRnZjUGt1MXFja1BCMndvaThaSWZxQUo0SittQzlycVhwTU9VSkFtR2g2bExMQzRsM0ZVaUU2UXJpRHRVb1lNalJjVjJxekJEK0JZM2t1RkZZaGwzeHVBR04xaXdFY1FoL3duc3VBUnpuY0s1QU9wZ1F0OHBDTWtDSTZVNElQQlREUkhjWkxwM2tsVkljU1hSYThtMW9pOExTb1FyTXN5V2lzV1pBYm8yUmUxQ3Z3dU1UTVoyRlNVdThRMWpmRTBmV1BnWGkwTUFTSE9zWTI1WUJiTGNtQ0NNSjN6TkxtU3NHd3Y0UXhSU2FOUDlzdlVYN2Z2cEw2UThaYmppd01wbGswaVdTeUM3ZVRKWmg2bWdRRmhYRVdFSksvR2FJdUlWU3haM2hSL0lMYm82RG5BbUZKQmRTMGl3dHJPMVkyWitjT1N1dUk0QnNWUGdBUk9hdytHT09CT1d0bk9NelJ5bEJhVk1MM3I0QXdLYTE3OUowN2JTbGs3MWNEVk5aTkF0QVcyZlJwRFpFR0NBSmNodG5sK2M3V3ozVzl0RDEvYlhPR1NDcmpmTjJjejRRSkN4VGhVS21saDM2OFlpMGFiRGpyYTBuOTNienM0MXpSQXpoQ0p0OGJqeE5wYU00QTUzdFJrY3V0b0pzbXpKenJZZ1VvWUFKQmpBQjExNFNMZk5hRWJzaVdFSlB2aHNJdE5FWTNXcm9xNkRRSURBQjA1d2dhUGJFS0lGUmlBQUFDSDVCQVVEQUg4QUxBQUFBQUFCQUFFQUFBY0RnSCtCQUNINUJBVURBSDhBTEZZQUpBQWtBWW9BQUFmL2dIK0NnNFNGaG9lSWlZcUxqSTJPajQ5Ymd3OVVUbEVxbUpsUlRsU1FucCtnb2FLanBLV21wNmlRWHpFK0JUOEZJckd5SWo2eVBpcE9md0twdkwyK3Y4REJ3bzRIUXlrR3RRWEt5NExLZjhwSUtBYXdmejlPdThQWjJ0dmMzYjNHeUNJRkJpZ0Q1dWVDNWdqUzQrb0dJbjhHRDk3MDlmYjMyMDdUdE9RREV2K0xKQXhBVWdDQklBU3dDbERKZ2EraHc0Y1FFNlZRUWEwQUVuOEFFeGtjQkxDZElDVHdWS2lKU0xLa3lXd3Avdmg0WmdCQlJrWUlXaFlhb0d5QUlCUXJWV0E3eWJPblQwZzZWRDRySitIUFAzTi96UDByYWdnaGlwbkttQ0w4by9PbjFhdFgvUXdxUVBRb3V3S0R5Q0h3ZDJqY1RBTmsvMnhVZ2JXdDI0Y24velQ0ZWVyam9sRUpNV0hSNnVLamJ5eVc1UXlabmZsU1VLNjNpQk52SzFISEFDRUpabERBOG1FZ2haTVVUNHdZZWZMRTd4OXhHd2NoZEd4b2FWSURPc2tvWHMwNlZab3JLd1ZCbHV6alI4by9CMjcvQVZPb3g0OWFTQW9oRUJHOE5FRElPMXNyWHc1cHdrMmpBd3ZVMXMxSXpZZ2hLaWdMRi9IVStGMGhRcGlMSDU5b0dnSUVTRXBFN2tIZEVVTTFXMFNRSG9URVIraEJBMUFZRkRpWXZIL3hTOUR5Z3hVNHRHR0tHaWtRVjhnMGp3bkVvRkhEUGZIZmhNcUpFY2NmT0ZqeFF4NW9rTUpRRGorSWNOOUhIQlZGazJQL3ZCTURoU3dxaG9NZ0xQQ1NReXMySlFJUVF2dWRtRnlMUEY1MWdZd0lQbE5JY2JJeEpZMXN3N0hWNC8rU1RCYVNBMXRFR3NjVU9YZTkwMG1UUHY2STVTZ2dpa2dJQXJIZGRWQUJOdUVsMzVaWFpZQUdHa3FVb01JUFNNU0pTUWxLS0lFR0NHZ2FZb05rOXoxb1dqekIvUU5TQ1ZybStSQUxsNmd3alhTMXpES0lMY29Za0Y0R2d1QzVwUjhFMVpnVVYwV09XZWFKaHRvREI0WmMxQkdGSVBBME00NmsrcDAzZ0JuNXpmZFpMT09vZ0FHYVNrU2hJSDFnUWNjVXA0S0tvR1NvM1ZoaFJSS3RDQ1dXVWtzMTYreE5zcUtxUW9kTlRnQkFMYUhSMUIxNlc4bEdVeGZPRWJ0TkhHSUlJbXRSemhhV3lBRG9SZnFPRHlWZ0tZQVRaL0thVGtITjdDY0JTQ3JJSU80dzVKNVo1bEptbklkQ25BWWtiSkNtTmtaWFRrS0VNbmxCaUdiZ3A5Yi9UV1FXNVpnL1p0VDdMekJpbkxrVXV3ZnZNNHNzemFDbHJsbzE0c1VwQ3ZCRVVTaVA5Qklwd1pFTU1NQlZVUmt6c01BN1NuejhDeHRMRU4xR0ZDWHdvYWdCUC95Z1FoUlRSQjAxb204bWN4RlRneHpwclV4VFJXRXBqeGtvWXdhNk5nMWd3UUxTTUNBQk9ReWMvZG13UXZ0aXJCVXRZTEJCSVFRTWtyZmVMS2pReFZCWW0ydnpNMldEeFJZUlBZTDBsRUNRWFhIMkZRVmNvVllCRmxqd0J3TXFVUnQzTUZCODBrSnNaQmFDTDY4MmRiMmtFaUlYVlhuYkZsQ3BzeGtMM0NUQ3FadWJORVZDREJPMElHa3crMERBclR4U0xFamxGcUFnK1RObkkyRkE3SDlVL0VQdEp4R2dnc2ViUm9sUWpZNzVjRGVQMDZQQS9ObjYvUUg1L3hVTG1PR0Q1SlViMElXLzBKZEVnSzVSU3FacGZtVFI5TWNMUFdJZ2p1V0NsSS9FQWhiQVYrdTg5NGNGREFkNDdTT0o5SHpBTUlzVTRrL3c2RnlMZ2tBeDVvblBBSmhUbmgvOFlJWUM4T0dET29OYkFoOUNBQUpvUnpTaGF4QWhhTWNpNlhISGd2RzRBZ2Q5VUFjLzFLRUFQQkFFcGtab0VoYzJNRXFkb3NuejlrWWhGbEJ2QVVnd2d4OU1jRDV6YmNRUERBZ2FEMG5DZ3JvUVFuNFBYSW8wUVBDMS80RGdBdEpod0FZM3VJNE5Ya3d0cE9FREVsbTREUUQ4d1kweUNNSVVDVUdBVnpSd1JHS1N3QlV1c0NQL1hBQWtNdFRLQmYrQXFlSkFqZ0Y4U043enRKRTNJZ1FoQ0RKNGd5UUJBSUEzdkpHSDcvdERkOEpTb29QY0pmOERNNXVRcnU3VG1EbzBiM2tXME5ud0RPZ0RTZ2tqYnlVa2dBQUVRQVFaUUNFTkdNQkFHdDdnUmtzbWtBakpRZ1JBc0xnMk5rNW9DcnZpZzdrcXhnQXo4RTlTL2V0WUNicklpeCtCUUFCZkZJQUt4QUFISE1DQkRXSklBZzY4K1lJZzdFMlN0WnNlSG9QWXE1c1ZnSnIrcWFJQjFGaTVueUVBZ1B4RDJ4LzRKemtSVnZNQ0Y3aEJCcWJ3QWpnc1FRVks0QUVmTmlpRUVqd1BCN2VLSlFIa0tMUWdXUEVRR1VrWWRLalNJZ0lvZzM4RlBOZytLMWRBWmxvT2NvdnNCVUJYdWdJNHdPRUhQQmlqSC9wZ0FpbmdZWU04V0FJT1hpQlJXUXFOQ0ZGSTRSazdkYjBVK1FDQi8ra1ZTTXZuR09LZHRBRE1sSUF6ZVBGRmdONkFDdUwvL0lGYy9KQUhEVXlVZlRJZ0FocWs0QWNWN0hTV0FsaEJFcEJLTEdCR3FWZGlpc2QrWUNaRkNsbkVnZ3M0cEZQM1dSQzF4ZU1YSlJRQUZIQWdCaUZzMEFRVE5RUVVGZ3NGSWhCZ0N1RE1nQXFXa0lRa0NLMk9jSTBIYVRJYUtKcEU0UVlzS2hoSUx4YzVmRDR6T0RZQjRpbGltUVljZENFUGZuQUFBUmI3aGhOTXdKZU1iV3dHUUFDRXdjYWhEWFZRUVJKQUs2NDArTkJlY1QxU1Ixb2tBWitsY3A4TEtNaGVHUkFvUWtSckZMRk1hNEVPYTh2RlhtZ0pjY0JBZHh0clJqK0E0QVE0S0FFZVRqRGNmK1Z0bEtKSlNseXZaeFNReEloQys5cW42dUtCZ3B3UlQ1UHk1YVFwb2tCZ0o1aDFDUnZVUUhkbFVJWWZiRkFKRjJKcy93WVNIRk0weEFFT0JHakJFa0lacWs0UXlTYUxBd2hOOXBNa0ZrbTFBQUs1WFBGUWxMTi9HQ1EwWVRLRkxIREFCaE9ZZDdFeXNHVVNlQ0NGTmNoaENTZm9MZ2o4VUFJMjRFQUZmbmdERGphQWd6VDAwVkJvQ0taUm9IbXpqUUJMaUNZR1MvMDAyU3Vib0dYRTZVREZlYzRqemhMY0dBcHZLSU1Wdm9tR0pyajVEeTNvcmx6S05VNGVnRUNjU2Jqdng4SUdWZGtvcjc2a29mS0pUZnlPKzlEWGljOUFRdUJLMGF3dTRNREJHcUN0TjVlZzB5UzRXWnhMWGl3US9HRFpjU0paeVZ3UUFCSEZoU2NHU29VMFV6SFhYZXlMMzNkc3NobEdRWFEwcG1RS0xYclRCSGpvYmd2WXNOWEJscUVNNCtUQ3I2RXdZVHJqQU1GNXc4Rks5UDhzcmtMZnBVWU1nSnhML21vVW1CbHpQUHNpVGtic044emlwRVcxb0ZpS294Mk1Cc1krMmc5eWNNTWZiZ1ZzT0Z3YUNnVFF5amhwWEFjUVRJREc0QlNhT3BQaWovNVdibWRDOHNkd1V1cWZtOFhqSlptTnlWMmtJbzc1TWF3UlIra21EM0w5Qis5MlFRcC9LTU1mM3N3RkRGejZEVEtRUWg3RU1FNEVsMXVjTFJqVng3cDN1Wnl4N21kSXdGeFNtZ3U1SmR6akhEaXZFVkpLOFJRVVRlbkRhRW5LV05UU2NFT1VEUjAydXRteC9VQXRLTWpnM2hZcWtKdmIwQVkzTjhHeVVHQUJWMHNRQlJzVEFRb1l3QUc1Rm0yb1VjYU9lRmZ3V1p3dUp6N1dGUUJjMnNqNXc0RmhFTEJreEdacjI0OU1iT0lsbTZ6TzVUTG45OXovOFlQL0kvc0JjWUpZN0FtNnlZV05Od0ZEYmk1RGtBVVI3ekZLZ2JIZEpEaXhTdkRDa1NMUkRIejRjd0JobDc3MStRTG5oZ0M4VTRrSGVNeWxXQlIxeHdqR2lnUXNLdEdFTzFoVFBlc0QzeUFKNkZRSUdDZUUwOU5zOWF2alFOajRJd1FSTXFBQklNeTJzVnhndzl6TFRwenZmVjZaeTR2dVBSOEZCWXFTSXVlRGNQbnEvKzV5ZFUzL0U3RkhlSkUwdWpZaWFUc2Qwd2Q4RmdmQUJqZ2dWckZRU0VJWmNzbUZjU1loWElqQVdHdlFCbkN3VG5raUEvS0JWd1lBZWdpeEFMRkRRSDhBRW5HRUN1TG5WUEluSnFnM2MrblNMS0FBSmhrakZYQzFMM2FuTmU5Z0FHVEhFZnltTGhHWEJDYkFQc0lIZHZNbWRtbmdnZ0c0V0dzd1dPQ1cveWRHdER5RDhET1MwNEN4OHoreUV3V0lKd29Ed0RvV1NBaHl0NEVuK0N5ZllEOFk4U3NiNFU3UDhTaVo1UzJ1d2hTRGh4Y0dCUVNKZ0dZdmtBVDRRNE12MkRrNHRnWnVBQWRkY0lKb0lrOXFGQlpYd0FjSXdRZDZJQTJ4WTBDelU0U2pVSUVweGl3YzJDRCs0SWNiZUg2S2NIdjZzaWtjUVYraEVYdm9NQUR2UUN1THM0VW84R2lhZ3dnNVJvYUZ3RmdWQndWdXNBWnJrQVJzd0laYmdrd0dNRWJZWjJNSXNVRm13SU40T0FXbjRIZXBoQzZCdzRSSGNRN09raFlCOWdsZThoSlRTQk5sRTEvMm9SUTRRUnpyQUF0UmtoSC9NSWtxb0llaWtGdWM2SWxjVUlDaTJDUzZnZ0ptOUFlbDVBY0s1d2RYVUlxcUtBSlhFZ3BJMGY5Y3EzTWNBaEdGdENoNEE4TVVmNmlMaDhoZjNvSXZqbGc0ZmVjWUJrQStEcWd6SW5LTzg3TTJPTEFDbUJnS3VkV0pheENOc1NZdThEVUlKbUFBZVlCR2d0Q05neUE1ZGZVSlJlRmZxeU9JdGxnWVRyZ3lvMkNJY1dVejJwSVVLSUF1c09BU3JuWTJ4Rk0rOG1FaXNrZDRUZVlKaTNVSVpmQUMzZlVIMENpTjRrSUUreForREtsSmhnUlhGaEFla0dBRmdwQUhTSmhLVjhBNDdZaU9IUGtMSlpsY0pRSXN4L0VaK3NFZEk3VjZ6c1p2UlRLSmpRY0ptbGh4Z3hCMmIrQjBOdm1KT0RCdGJiVUNJa0I2SjJVQWVvQXBCQVE1RFpsSTRmRmtnekF6TFpBMHU5ZU9UaGh1cHVCc0svTVBVb2t1SUlFTVFqZzhLVGtjSXlsaTZ5RC9EVHYxQ09NMUNESDVCeklRQjBrZ0Ercm1pWEZ3bHRQSUpFdFFBSmhUVDZ2b2dCVnpOaDAwVXNxMENMSWthaytuQkFCVUpCejRKNkx3SjdLSlVXRzJhSUFabUp5U1hMRVFMVTZWVnl1SkY3TVNDeVJYTG81UUJtTzVpYmxGbVdyMmpHaElZNFRZSkNlZ2VRYlVWQ1JWUHFCWkNCcHdDTExVblFTZ0JES1hsTS9TbEo0UWhiRm1nTHl5REMzQmpwOHhoV1FuVmQxaEdzTUJtakIwbGFrMGd2QWdLZEZnQURoZ1dZekFZQytDWTFBUUJ4Y3lDQVVsQ0o3b0JvLzJENnRqS085VE1UM0lMZjlWbllLa0NOa2xhanp3bXVraUc2bGdHbzRvSGE5bVhmS2hId2N6R0ZMbEpSZzRIKzBIbTBtUmdJWmdnWkVpSDQ3amdBNllCSERnLzB1TEFBZVhPWHdYZ2o4NGRpR0k0NG10dFpoSTZGZFlVa0lrMVQ4bzhCUkpLajROcVpxaXRwb2EwS1REb0NuNndRQXdFNkpyQTFVMDZvRGRTQ1llR1ZkQk4yV2JsUkg5UVFnd0Nob0xvQWMwV2prNnhWYUlnQU1hVjF2ejVuUk81eHhkZVpOVGFKR3grSG84OGo2UzQxOUl4S1JVdWdpaUZxVUVZQUxQUlEvb3NhWTRVUWd3YzArckIwRHIyWjZkRWc4dG8xRUxweXFqWlo4V0FEbVJBMFZtRUFYUFk2UEIxZ2ppMUUxaUowNFk4QVpwOEFKaWw1bWF1WVlCOWc5Rnluc3M0b3I5cFRyMmhFK201QWhvSlV0dGc2dmRjRERrNDBEM0Fwcmo5M2RGZ2FKMzF6Si90cW5Qa0oyZWVqWjZjQVVpc0FSdHdFMHVKUVpMOEFNRXB2K2pqZkFHU1dDWmpSZDJNWmdFRXVTSm5lTVNjbWNVUlhvOExBSWxNMmM1anRFMnFka0lnU1VBYU5DZzlnQmlYQkd0RWZoQ3kxcFBxbFFpeVJnYWt0RkpRbktVMXNvQThaS3FZZ0N1UXFBQk94QUNXdEFCRlRBRHg5Y0lsOGcrYWNBRlhEQUJhYkN1bmxnR2NJQUU3b3A2WlZLa25ka2FLd0JnS1FZNWw0TUhpNUFCcy9RSHNaUUJpcnFvOVlCekhvaGkvSEUrcHJXc0J3dWJWV1lrS2RRc3l2Qnllc0FBVWRBRjlUZXhTbUN4WktBRk9sQUJoVUFCTXpBcU9BcVpPZVowbnNpdUZ6Wk9FMHNVNE5keTVmZ2ZkV1NWaEJBNlQ0b0lSa2wrU1hoek9YY3dBQ0VmQlF1akZ5TVE2ekFXc29kRjdHS3IwN0NtRmxBQ1Vzc0dSOFAvQXhjN0FoVkFBNGx3QncwQUIyVWdRVEJwZzJQckJrbFF0U1hRQnBqR0JqN1FGUm5JT2tZcUhoU0Vvb1FRdDRyZ09JUHdkdzNCajRLWWJhajBYMmo2YjJyaE1ySmdnbG9FRmxpcW81WEZCa1RUQlRhNkJGTWdCR1RndUlkQUFjcTd2TXI3QncyZ2Y4a0hsbzBRa3dtcXVRcFFBU01RQW51UUJ6d1FCVXZRVFd6UUJTbzdNa3JCZXVNaEE5aHlGSUtRcjRxZ011UlpEK2VJRjNFU0RTNVJtUGlVQ0Q4VFlDMFJFN2lYakdnaEdUamdCVjZnQUFyQXNmMzVBRmlMQmN5N3dBek12SGVnQUVtQVcyQ25DTTZJaG02Z1ZqTWdDRm53QnpWUUFUb3dBbHFRSzIxZ1pBYTFudkdMaE9MaEx4a1RuWWlBaXc5eHQ0MFNDOGtDRDQ3VC82a0x3aFdwa284MW9VVzBRSEl1Y0FkQWZBY1UwQUExZ0FXQ3NMd3U0THdOc01STHJMeEIvTVFRckp4b0ZnY2w2NHpPK0FkajZRWnVRSUFaL0Fja3dBU0dnQVU2Y0FBUEVBV2U2MDFpMEJLQlNJNnB4TUpYd1JaYUpnSDFPWnU1eUEyMk9KOEljQVY2ZkFVS3AwbHpES25PMERiOUF4SXUwYXozcUFMZEJBY3pvQUFmMEFBTC9BY3VBTUV6TU1sZDYxSXVOY2xKUU1CLzhBRTNha3NURUdSdkFBZkFZOFdTVk1wYTNBWTRNTW1DUUFJa29BZ1Y0QUVQNEFRL2dHbHBYTWhJV0l0dWJCSVU5RmNTb0xxS1lZdnZFSWRkdWsra1ljTWpOVklnUVhyUnBHMDBRWjkxS0FJLzBBVmlZR1FLOE1WWnNMeFo0QUl1d01STS9BRXZRdi9Ba3R5ZmxJa0JuZHhhRlZmS2xvVE9hSllHc3p4dkdjektyY3dJV09BQklieE4vdmNEQ05CaXNGdkhKT0V2SDV0anA5dGY0bkdPNHpESHFSUU5uYnFzOTlxa09vTml5UXhBZUdnT2tpRUNZckRJSkhETlFrd0JoeUM1SFBzQmQvQUhkMUN1YUFZSE5QbDAvWWtCVnJ4WUlTdE9HVHhPTXdEUFg4d0l6RnNCQnhBQ1FqQlo0Q3UrVVNoM3Y4Z0xlK0FKbDNnSWpvUXQ3TnNJSVZvUzdGSjlMM28ycjRtWVhWbzVrak83SW1vUXM0dUg3ekN0c0pES3JIek55NHNJbkR3RERmREFnakJPbGdRRndPWi9IZGNHSWxzR21JWUQxYXdBY0ZETk1NM1ZHazBJREF6RURkREkyR3ZUWmt6Q1o4dlRnRjBLSEpZSVBCQUVWS0FFR2NEL0E0b05lQ1lnT2RRS0NmWjRFdXJRZVlkQXV5UEZ4d2hnQmo1VE1kN1RwR2dqRGlLQ1R3YjBHVkRsY2gza1VuSk4xODFMQ0J6OUIxVkFBWEQ5QjNFd2xtbmdVaVJRd0RFNGI2bzZ5UVFNMHhmZHdIK3d2RUZNQVZXZ0FPUDBBWU1neGlNUXl6L3d2VFNXQkYwZ0ZyY1lpRHNYQ3N6R0NJcGF0TDhKb2FEZ0dEbUlEK2N3SER4WTJTQ1ZTby9ZbTgza3g1N2RNZkFRZUhoSXRQbkVBQVpnWkMvOTIxMXRDTENOQXg0OXhQZkRCWnNwMTZ4c0NLeE13QWI4QjRvOEE0MU1BVS9zeEVMY0FGWHdCM0NkeWgvZ0FvOHNDRmpnd1Z1Z0FqRmdxdDRFM1hEU0trcFIzY09RTStLWkxrZmRDRm9CQ3lmK3I0SzNEclVBTzRoUTNpVjQveDRnZ2NQL1E2V1FrNEQ1MUVFM1hnanl6VTF1emNvVnp0cmVyQUJBakNFdS9RZFo0TnRNRHMvR3ZjaC8wTFhldE1qSXZjUWZVTUNYek1pT25ORU43TUFYWGdONWpkc3grRTNnaEo2K1lBRk1TVEE1QkFwOE41SXZ6RzhURFEvaUlLKzFTMUpVemRUWVNTdXNRd2o2Mk5tdGk4S3RtMWNvWUFZNlZkK3FYZGVESUxtS1hBTVFuc2xKck1GWndBUk5EdFBHYmVSM3NNMVhMdVc1YlZrTlFPRU0vc1NnRHVvS0hzU1E3T0NaM3RJeHBoaFBDUkg5OWhmS0VBdmJWK2ZFNHhoMHZnRHlEZXROVFI4RTI3cVd6ZXQzaU1oQmZ0RmNYZ2lYM3JWaGZlU0lrQVhLdnV3YkROSU44Q0xDZmVTWWZ1cTZmY21aek1nZmtPM2FUZ2pnalAvb1FFd0JTNDdiYk9EbVFKMWpvSUNsdWV3Sm85TVE0ZjJVT1dNR21sMElLYW5ES2tZSXR2NE9sRE5hZVhXUG83Vlg4ZzVTMStwb1FhN3N6R3NJaS96Um9hRG9TWERmaVU3cTIxd0ZWMTdBazJ6SnVUMU9sN3pJR3EyOFM4N0tCdnczaDNEZGh2QklvekFOSzk2QlF2TEM1dUJxWjhmVUNXM3I4TjQ4VFd2RDhtMEFoWXFTVGRycnZHN3ZDMUFDSkJmWEYzM29xWERwaXF6Z2lJNElvWTd3a0t6TlN2L293dzN1OEd6QVlrRHVndkJJa09TRmlKQUcyTWdBR3FEWVBPRExqSkFIbzJFVWRBNEtNSE9GZHR2TWdUZCtudmNNc3NBbzVHUERxL2VpbGYwSVFVamYxWHpvUlU4S3hRNEhZWjMzcGFEeGtzN3g0OFFHMTlVNWp5VC9BNk9HQ0h5QWhGN1BDSXMvRGhKZ3pJekFBUHVoUE1UNnIyWXkzb2o1WDJjREpubk14M29ocWVRdCthYnd0Q3BnOTFzTjlLZGc3RWcvQ3RnTXhnTnV3QytGbG9Rd0FZZlBBakUxK1V0eCtZdmdCM2tWT2FGd0JlYVFNeVFoMFpUTjYveGo1MnhLbXJBZzFYSXZERStMQkNRWDdEOC81S1BBc1k0Y0NzeXI3RjRjKzRPUHo2TFlXUDM2cVkyZ051K2JDSlVEZXA4d1lmNUErdUNkcFFiZHVvSWd5TkcwZ0lYcURYcndCeVhnM0JZTkNDUWtURmtVaG9kL2lZcUxqSTEvTFIrT2tvcUhXVmwvZ29JS016aWRZZ1ovRXBPSmJ4b1dESDhEbzRzOEVnZ01RcXVNR1g0TWVyS1NEQklMVWJpK3Y3Z0RyaUpJQzZzTVNHWVdqTVlXLzh2QTBMOExDMlkvU1owekNwa2tsb2ZlRk5IQWxwZVltak9jbld3K0tNQ28wUWpFSnRCNXorRitQT0g1K2ZERnNnenUrZ0lDVzNDclJCczIyTEp0NHphdTBMZHZqQjZDUzJTSkNhTnRtOUNsV3hkS0lLNE1Wd3BjOFFQTkNVbVBLRk0yUXVBREZLNTZLbU0ySXNpZ2hMVk9PT0JrMDdZdzA1K0dRSU02d3FoZ0V4eWM2WllZWU5jeFdna0pvZ2Fvd2xYSGdyRm9lV1JxRGFqS2dJOHJNTGVLbmVUTTJUUUxacUswU1hJVXA4NmRSWG4ybkVzaWJzWVppcERDU1NLbUpUdW9BczJJR2t1NHNENGtJaEJjTmN5NHJHT3JaNitVUVBKakNWdWttRE5yemd5SERSc3hYZndpQ0FXWXNlblRwdUVaY0lZNjVqOUZqMk9iSmFobkdmOENGRWlRZVBXeHBMZnYzOEJELy9peEZBV0MwWU9idGw3T2ZDdmlLNHNaQVRSZGxxempWQVBBeW5iMjc5OFZxTjhsbFU2dWFERDU1dWpUTXg3dFNKZXdSZGRYVmZjSGxjSDIySzhYU2ZqbitOOTU5YVpsQmVDQTRVUUYxWUVTU0NYVmZ0dDE5OTJCL01YWENBUGZTWlVJZy9kUk9BcGdwUkVZRUh1K0REQ2RoeVNHcU9DSkNvYmlIMkNxV01qSWZ0MHBFdU9HM1hIblg0bW1kU2lMVkFMaTZPT1BRQUpvMzMrU0RJQUVVMEVtcWVTU1lrbGdBWkdPREZCQUFYVXdhZVdWV0VJelpEQUlURmxsbG1DR0dhU0w3VDNwQ3o5OGlLbm1tZ1NTT1dGWW82QWdBZ3JSc1dubm5ZeE5sUXVja3lDbUdKNkFCaXFXbm1YK3dnNklhenIvSWVpaU1ibjVKcUZ4Sm1hbkg1UXlhcWxBamtvMzRpancwTW1ubGFlYzhzZUlWM3g1NmFsUlF0cUltU0VXWUVDZFdkN0NXaU82YllycXBTbE9ZaDgwS0NDNUpxeUpYR1ZCSGlmZGFpa0NGcXA2b2FqQWlBSWxvSStsV2F5eGVKN295R2pPWEJFT3NxZmlad2ExZ1dhNmlIMmZnbXRkZndVZ2FpNllMU3BiSG5mcitoSWJOU0s0RkcrWXlZbzMzNzJqek10QUFaTHltMld1a3BUMXJNQi9QTGJBRlFiVWkvQ1YxcDU3c01DUFhZR1lDQVU4YkNXSzF5Yk1uYm9hSi9KWXd5S1VYQUFTSWYvWXJyaXd3WnZ5VEk1ZFlZWVpDSkJzNzh0dFJ1eUlreTdqdklnZkNwOGxKekUrRDhoeHgyWFo2dk45Zk16OGJkSHBLVGd4dVVvWFRZMktZM3hNQ3pWNlVsVzlTTlpwdXV2ekFzK2t1WFdiUFo2dGp6Tm1xdzBnc0c0RHcwZmJjZGR0OTkxNDU2MzMzbnozN2ZmZmdBY3UrT0NFRjI3NDRZMXlLamJpakI5REhvTGc0UjBJQUNINUJBVURBSDhBTEFBQUFBQUJBQUVBQUFjRGdIK0JBQ0g1QkFVREFIOEFMQUFBQUFBQkFBRUFBQWNEZ0grQkFDSDVCQVVEQUg4QUxORUFTUUNwQUZBQUFBZi9nSCtDZzRTRmhvZUlpWXFMakkyTEFIOFlFd0NRanBhWG1KbWFtNXlaQkorZ1JFRkJVRytVbmFpcHFxdXNoZ0lDZjZDeXN3UkVyYmU0dWJwL0Y3Mit2UUpVTExXenU4Ykh5STIvTnhjc2FVbHcwZEZpR0RJc3NJUUV5ZHZjckwrOUxEOWljRWsvS2xFbEpWRnRiRGh3YVNBZ3NhRGQ5ZmFYQks4Q0YxRmlPR3cvaFBnWlNKQ2drQ1U0bG9EdzllcWV3NGVIUXIxSVdJTFBRRHdhUUlSQ0EyVGdEeHhpOWkzc0JiSGtQVkFDWkVTTE1yQ1BSbEpRb0F5S1NVUmVDUnd2Zk4wUUlNK2tUMlJSZ2tiNUtJYkhRQkF5WXI0NU1ZRlF6Smd5Q0pTQXcrV0NBQXh3bHZ6Y2FreUVDSDlMNnZqSm8wMXBIREZpNHJ3UjlKUklCaEJBLzlMOGFmT2lUUnM0R2JqcWJZVUF3Y2NsZWZ4b1NQbzBqb3FCS3BLd2hVS2dJQnBCTEZmRXdiYTNNaWNKRXBDNE13cmk2WnMzRThUNGtRSWlRNUsxTVRVTU5GSG5qOHdWTnphOHNFeGJFMllVN3BUNDZWeXFCUTRjZjVhc2FVSThTYldZVXZ5b1lDTkdBNUFXY0tEZ3dFQzV0dlZGbVAwZHpoc3pEcHR6YllBM3daQUVoMW9vTXZEd0VJU2pqUis1Y0hDSXVFNWZFV2JOU2ZKSUVTUURBNDRNQThsUnhuUngvQlpISEZBRTRVY1U3TUZSQnhwdy9HRUFDdlZWYUFobWYrQndXRmt5bk1DR0gzSTBJWWlJdjVYUmhIRzJSUEhiYjBvVVVjWWZDRWd3Z0lVMC9pRUJBbkN3VVFjUWhQZ1h4WWxjL0VGY0dTWTJVVVkxRHZDd0l2OE9TdUR4Qmc0K01GQWpqUklZZ01NUGZtZ3pVM20vQlVuY2x5ZGk4QWNhZm56MG14QkFRRkdnR0Q5TVdWOTJPS0I1eUFSeHRQSGxnQmcwMFlaaWY4amdRQjRxdEhFWUdsQndnUU4wQ0xoNW5ZdzU1bUdMSVZBVVdSd09YSENoMWlBRTRGRVFFYVhBWVFVYkEwaWdLRzBERElCQWUwVWdJa01TY1hEUnhvRG1uU1lESVVGbzRBQWV2RUZSbmdHajFsYXFabEZvZWNnYjhSbUl3VnFxQnVHYVRDL08yQ3R0RXZpQVF3bktLc0xGQzBIT3lraE16OUluQVRRc01DTER1SmFnTnhjT2lYWmJHWTVKVkl2S1UyeTU0Um9PU0toYjJRQnN4S0h0dTl4eSs0ZTg5ZHFyRndwd3hGRnVJbSs4OEpTNS8vN1Jwc0Jjeldld3VNc21BZ2YvQmpKQkllOGEwaUVoS3NSY1Rid0lGeWY0bTdGTWZTbzJLOHBycElFRGhTRC9aQUVialpTWFJMOExEd0xIQzBscHUwWjRBY2RzandVTFdHRDBIM29JSXBlcWhpcDhNcnpvbllEREd6SEorOGNhNWFId3NkREppR0JHMFVhSHZVQ2JZcXBhM3JJeEpYRXpWRThtUVpqVmJ1U1lMdGU3RUczR0h3VXdFUGJlQzZnd1hTSXlURlJOVWhPOUVFUlNXTUdCbXM4ZGIwMTNLM3RiY0VVQktJQWQrUUkzbGVHdkljU2FGMGV4YXJOcUhtb29YMTFHaE00K3JrcmtyTGR1TkFQK2lGbDZJUWxiUVE0R0p4VGI2c2xXcjdGR2NES1cra2ZxcWllQ29ZMEYvS0gzSDY0M0wvWVZjR2lPN0NIN2t2dFpuL0VLNHZzS0w1ZnF2ZkRDRjE4SS8yYmtEMUJBM3M2enZzRDY3QnV0d3NXYlkyS3U3NzdENFVQdzMrZnZ2ZmlDb0JDcWpPZExIOUhhZHdVemxDQlFZbUFERytKemxrTE1iaEZRb0ovdnVDQUcvVmt3ZjhYelNnSCtod0lFV0U1czY5T0Q1QTY0Qkdpc0tBNUpXRUliZmxDd3Bzd2tmb2Z3bHdTaElBWUVYUENHNEh2YzVBeUFHYUtCY0gxWElHRTdmcFBDSDBSQkNCb0l6RUJXY0xQRlJJcHFNRVFiVk9qbkJoWWFBSWNXeE4vMzZGWUFDVEJnZlVaYlFCQi9ZRUljSkVGUVNqQUJRZkN3Z3hCb1lRUTZxRUowVU1ZRkdSRHJXRkpjV01aa3NBWTMrUEV1djJGREY1QVFJeXppY0JERUc5VUNvdEFGTmhtQVZ6NVl3ampjd1NZbHFNWVBleUNERmp5Z2d3cGdnZjhDb0FUbERNcHdPRHFKeVQ5cCtNejBDS0ZLUDFZUkdsSElRQlNXRUorc0VCSXpocnpnOE1LbktBYXdJUWt6V05Kdktxa0JHMml5QTUya3dTRkNTWUdDcGFFcEV6aWMxRENteW1wV1UyTnUwTW9nN0tDRlBXaWdCSURNaWdGc1dMNWMvbytYVTFxQVpocEFBUmMwb0FvS21NRVQzcGpNVUNxQ21RbzRJYmZPeG9VMDZORXpHT0RDRWdyMGgzZ09nZ1lWR0FFWk5EQUZXaEx4QjdmRXBTRzFlRU5CSkhJcmkweWdPMmJ3QVFwa2dabWdiSUJJUjByU0JyakFCWU80QXdYK0FBMm4rV2NHd1NRSEZ6QmdsNENLRGdjejBKa0NTTURUTFB3QmxEclFnZzIreVk3ZmlOTi81Z3lWSVMxYW1RVWtUUVEvK0FFYlprQ0NqNGJ5QXpEL3phcFdWelFEWU1JMENRcjR3d3ppRU5BSTdaUUV3UlRtaXFUeEd3WEVFd2M3dFdvb2E1RFFFUEJBQ1Nwd0tDVWhTazZKSnRXQzFrbmFSODRxVjVDdTlBOVZTS3NDUkZxRkQ3aVZTMnVGcVZzblcxQ1kvc2F5N3NnUVlRMGJTaXpvWUFRaEVFSUp4RkVzTTNaaFFuMHQ1MSt0c3o2L3pXQ3puQVhsSHhxZ0FEaHc5QTUzK0FOdXNmcGF0OEpVR3JhZFFYeGV5MU1TRFBlc1BQMnBiR05MQWM4ZWdBeDN6ZXNRQXlrR0g2RFdlMzQ5NUhYMFlBYUVFTGV3aHRWdFFlR2FoZHpxTnJlNUxTNVBmU3ZjYUVqV3JlcnQ2VEx0aWR1VmNyUUNIdEFDR1V3ZzJoVjBBUnJzK1ljWXVtQmRKSFR3blArajBmcEs0TjJkTWdHOHpOUnQvMkp4OEFIekZpSUw4VlV2ZTZYeDNxcWlGN2NwemEwTDREbmNLdGpUc3gzUXJ3YUU0SVNobEZDdE9VcUNHSlpBWUY3VmFNRUlnUU5oSWJ6UzNPWlRBZVUxQklZelRPUzNYalpDci8xQUZVWUt6L1ltNFFNTllBUVdzRkFCSFhUU25ZMTFxMWlqc1NRZnVHbDladWpDY0l1YkJSN2ZvUUh4cVlLRkw4d0VJcXVYQ1Ewb2p3S3lERXd1TDBrQlVENnBJSERMNXo2dm1abCt2a09aU2ZCV1BuMVpqRkxGS1hMTERGS1Y1clBDaXlpenBDVzk1ejk4d0xZdTRQTnNHK3RZOW1yMTAxMVYyMktaQzhvaHZ6VXJNRk9rSGhpUW1Nc3VHcnlPUFN3bjd1QUM0VFpBcFhzTzlCL2NLZElQK1ByWHdIWUJjNGVjMW5MTVRWMUpBMmV4aVAvYjA0L3lHYVNkZVBTYUZSSG9Qbk0yQzIwMnNoaFNIVE9uWGtFRi9uQTFtWG5NV1VmYzRRTndMUVNwMSszUklSTjZSV3l3Y1NLazFDMzJtUUhjWEVWdVZSbk43bldmMjR6OUp2V2cxNXRXa01qYmVCYWd0N3JzRGU3U01wdW5EeVozdjgrc0FHRUhQSlNTTHE2Ui8rRURDamtPRVhyNytNS0JPTXZwMmxiZis1WjRiT3NiOElFVHZPQ0NqS2dqUWs0MzlnVlJ1a3ZxYlh3blBlbHI4L3puTGlkMFBBdHV4bzRMUXVTTG9MbnFRaWhHRkloanVwZlZ1WnVubnVISkRsMlk1Qmhrb3BEZWlBRW92WGg2bzdlb1VJQUNBL3kzdEVzS0xxalhibWNZcDlBSGhMUVIxeThoQVF2TUhXUjFWN2doK29JRUEvaWdrUXBFdTFwaC9FdStHdjhBdFhXN084Z1M3b2lQOVlYc1NJaTg1Q2R2WUxMM3hVWnlQMGJkRlM4d3lXMUNWTWZqeXRmcHR2bVlHWTN6ejFwZXpLNXdldExibld0MXR3RHNGNkQzbUhteDl1ckt1L2pDanZyNmhKMS9OdUo5N3kwVCsrRUxqUFd2WTBEb3ZmVjc0RjlJYjN0amdQVEp0eGZNUU4vNHBKZSs2NmFQL1Z0STRBclFUM2ozeFVlKzcycy9jdEpYUHZVYmdYM3JoMS84em1jRitjRC8vdTJuLy83M0wvLzk3VC8rK052Ry9mc25RT2gzZjFld2Z2NjNGZVdYZ0FaNGdKWVFDQUFoK1FRRkF3Qi9BQ3hmQUNRQUhnRi9BQUFILzRCL2dvT0VoWWFIaUltS2k0eU5qbytIVkU1Uktpb0dsNFJPVkFJQ2tKNmZvS0dpbzZTbHBxZW9pajArSXEwaWg2OCtLbFFQbkttM3VMbTZ1N3k5aVNNSFF5b0ZmNjhJeHlqSlNNdElCcXdpUGdaT3RyN1YxdGZZMmFZakl4NEd4U0lGU0g4UzVCTG42T2NJeXdVRklqK2JuZHJ6OVBYMnV0d3BQNjBGS0FoL0F5NFZNSUFFeFlCQzZGQzBjNmVpMXIySEVDTktKS1JEaDRjVTdzVDlHelJnbmNCdzR4QktRTEN3Z0E4bk9TYXFYTWxTbDQ0VUtYUTQrZFB2NEtKMTBGQ0lETmpQd0RzcUxZTUtIZXBJaHdvZlBoQklzR2tPWGFLQUlnd3diWXFrQUFLZkJZQVMzY28xNkpCVjRYUU84a2lRbVNJVTRhYWljellBYlFGNVhmL2p5cVdYaDJSWVFXMEp1V29seUtwVFFnalM0ajFZYnVBZnRBYmd6bDNNT0plU0s4UjhpTDA2cUowS01IK2VQQkdrR1lHWkFlY012Y0lyOWcvSmcwaWkvZ0hTdUxYclVSZ0NSenRvRjVxS0xZY3dEd0lEeGdtQ3FZSWtDMEt5OFE4bXFBYjh2RjdPbk5HTGIxTDc4dFhkYU1TUUhEOEtBUCtEcEZ6QWpRRnQraXpkdkh6ekNUUkZvR0Fnd2EwS1VkaTFpeXkzYmhDSzdzTkZ2RGZQZjdrWU1YRWswODQvV29TU1VuekFoWFpZY1FDVlk5d2ZQZlFuWVdOV1dQR0hGWEVJa3NFcDBUZ29pRlBoQ2VLUGh4T1d5QmdjZ2hCeFN3cFJrZWlVUHh3cGFPS01ORGJ5WGtpRC9FV0lqRFgyNkNNaHhKQ240d0EyeWFqVFREKzJCQUwvQ0lpQWtJR1RmOXhBUUpLSWJDRllqZ29pSU5aZkVyUkRKVXNnWENEbUJRTElnRUVVVVJoUWtncE9LTUhrbDRTVTBPS09Eb1pvemxoL0lBbG5QUVFRUUFRQllTcFJRaFROK0NDSUs5RzR3NDhCVVNpeEozZnFlYWlVZ3dWOXFPQklERHlxRFI0c1VQS0REMUZjNElRcjdWeFNsa0hxb0tCbWNIOUVBZWNVVng0R21pQWtEZWJoRlVxd29HazFHZjVnUUJmOEVEUFNNYjhab3FXVzZMUzE2aDgrWkhCQmtnQmdNS2RwS0lRMmdGV1dEbUpHR2pEQXNPc3VTUndhRGtIRk5zS1RDRWdRZGs1YkdTbnhySTlUZm1QVEFPazZlQWtERmxoQTVDQks1SkFERk4vZUlrWTRRWmJiMFgwaExZTXFpUUJWcFI2V1VFV0Z4cnM5S29FdS82V1RIbFlBdmd1WW9WTTU3U2x4UThDb2hMc0VnNnEyTXhwU1FCcUFhaUhJZWJqVVZkQ1VRSEdOYXRwMGxiVUZtTEdBQlF4OFk4NUFONU1zQ29aV0pJR01tdTBZK29NS1ViRFFhU1hEc0pJSVdpTFI1RTRVSUNobW9zWFZDbUtBVXVRUTlQTUM2eXdsZ1ROb0dKMUtIR3o4bDhRUGVDeENRS2YyTVJ5WTBKWld0ZldVUGJaalV6TU1GSzVRdmhaY0laVUVES0FWcXR1M3lDQ0lyb3hJL3NjUFp1aDQyTU5ZTWcwcTREUyt0OUZWbVM1d2hROVgvR3pCMkgrWUhrN1JrTk5EZ0JLWmt5anZqdGRpRW9YWEUwYlI0amtHcEE0ME1Rc0lZZ1loMytnWit6MEVmRlpJTkhTU1JKSXNOYkxndzhZV0xBQmo5cGVvSHJRZ2FMOFR4UC95RWNtbkY1MXJqeTFDRnh2TStNWWZYZnlSZXNmalpIOTR2dG9Qd2dBeDVFZlVZU0ZDS3hjS2ZFQ3Z5MW5PUkNwUXo4K3VVTCtPRmVBSytIdVFIL3lRbXY1QlpBcW1BV0E1WUFTUW1yUURkQ1ZpUVZSK3hwMHJ0SzRPeE9NREgxWm5Rdm1GdzRJUDhSV0o5bFZBc1kzRGNUWDZnZnhhaDRMalRkQXFFeHpPSVBMZ0RnekNzQjVSTUorbHlrRWNFY2tySEFLQW5YbEVoUzQ5L01FTTQ1aGdRZXJRd2hiK2dZS3ZrT0lScTJFOUE4Z3NORnJDaTlCUzh6Z1RnYUFkeWpHQkFmSXd3WFV3WUNOMStFWWRWVE5HZXJ4SExmUUpTWWl1VlFCbnpXZ1lkUkFiRHlaNEJRVFVBUVVUOUlNQnpNQ0hqcjJ1ai9Qd0hkK2FZcWV4MFVmL0JNb3pVUXVSNEVQbDFBRUpkUFJEYVNEakF5WHdEcE8rdUI1VG5OTEVCZG5yRDJMa0R4THFDTWxJVXZBS0tqeWVJRmJYS2xocUk0RkM4czY4Wm1XYTBjeElod3Z3QXhiL2dMZ0ZrSEtCTzl5Y01iVWhnMmsxWlQ0L1FrcnFGSWM0KzZHZ2VCWVloQVVDczAxdFpHZVdDdHJYblg0a0FnUXNnQUZJd0JmK3JsSThhNTZUQWRkcVp6WjhWeG9pT1NpTjh4VEVma29VR0NRVUw1K0l1eUxmS0xNVS9nbTBHdS83bjJuSVpocWh5ZWdicnl4UFlEYW1QUWptNnc5Qlkxd0diUktraS9xaUUrK2tWYlhvNDlFc0ZiTkUxMElkMmt5S09FOHVCWG1IY1drMS9paFRhMFdIU3hhZDBFSHEyVEdmNWF0d0JQa1EzeERETUtIaVFrN2cvK21PZCtRREdnZXRiYUVsUXRkR0VjY2VWYUdqVXMwMG8xVjVBVGJ2bUhHckNNaVVqSEtGTTRBTVFKK1oyaGw5T0RLUXFxNzFGQmRBdy8vQ3MxV24vbFFRU3VnVGpTektnQ3NVRGlDTGF4Z2h3cllJSW0zbnI0b0FnV0RWYWh5eVhjdG5IU3VOR1JRYkVjdGVWaFRmNE9vZE9lcEpjaFJIYzVoRnhRT3VCektmWHN1ZVFCdEhPVWFyb21xWTlyZW5SY1U0bEpnMnNWRVdmV2VFbVQ2QkJwRFladFo2QlZEYkpJdlhKZHhtNmtNRCtNRUxkbUZhUWp5MmNPQXRIRm03aWdyaTR1Y3diLzFtT2d3QnNyODhOcmpPL1lOZ053WlZwOUlFdDdSU3h4K1NjSUpUL0ZaLzRpMm5nTU43M1ZUb0pDbDRPbWgwdlFveWc1S2pLV3FyVS85OEd5RUFBclNEWTZTazV2N3c2OVBBL0dCOHBKZ0tlSjlLWUxtbVl5bS9CWkZmUFZGUGpuRDJOQXgyYlhTd2RHTFlUdmdRUkxnZWhvODNQUHlLeFpJZlBpQW9EckpjNWxvS3VDbEdNVUk0eERuSXpzc3YyVm9wbGc2aERnYmQyQkE2VGljS1RMcS8xcVZ6STZiendRK0lJT1JQRUxsdzYwSnhqUWNENFEvaDRscE43aXhjWTV4Qks4T01IQXJCMXBVUG9VTUlsdkNwUFNOaGNmWlhBQUtBV0JRb05tamhBTGxlYk1UWlpRNFNGbDdxSkptcXJuZWtTdHd6SVJMb00rNzRqQS9NY21ySDlHZVMzcFpDYmVoYnlYM3NOZE8yMU1rd0hOR1NQN3FLQUZhUVI5T0RlRThMZzZjSFAreHZmc1g3Z3dwcE1xUENUT1VmbE5JcXZYai9ObU9GdklJZm9Pa0lSM0Z0aUYxZmdaRUZxSU55cmdoVXlrbG9iZWVsMVlQUnU2N0lGbVlwV1BFSHphUVNiV29qSWxOOE1NQWkvUUFaYVI3Q0o2RTBEN2hKdEROYXBaZDFsWUhLZXZxNUFKLzhwa2dyM25PbThtQUFCa3dRaTNYWUNBL21tQjlYTVRUY0hUMm9WanZiTXFhbUUzeUJxUmFSaUZVcytQNzFQWXZNbzdiOVVBY3VJa0E1RXhjRUdKMlF5K1U0ZUN5Y2JWQTVBUDRnanhNaWZEb3h5VjdFMGU0ckE4c01lbEFjSDN4NWpBbE9mQUVxZE94UWxLbUlJalUzMVM0R3BIRktjOE5nLzN5a3J4Z0lKZ3lsSFFTZzZNb2lTSjBadnBHdnBmZlE2VjJSOXJpZll0QkUwNWdRZHNwV1ZJV0kzNStuSmlwbTROZ0NUT2VULzdHZDNiZnk5RzdDWFNPQWZRQnptdFdjTHJkQlRaUmFRNFBkaUlod3NnNVNkNGJ4L0U3TnNFOEdEYkUvcHFxdW1xdFRUN2lzQVZ6OVBiVS9qdWZETWFpSlA4a1hlQ3MrYVVWM2dGTjNrdjlHUVNNQzRMUkRveXI3eEJsOGlEbjlTZE5weVFLdzRScW1UWFJYOGJwNHVWaFBwejJrZlRxRDUzVzVxRW5rTUVQM00valJhdTU0ZnZnYnRDaGF6dm56MDZWZCtSOFhCR1JFOEh4c0lMbEllTFhyY2g1WTBuSUd6WXR4MFY3ckFrOTJVUktLZ25rNUp6Ym9aeHJtazN3L1Yzanc5M1hRRUQvemdHUWZrbitKTnhldThrQVdzQjcrSjB5TkVYMGNBV2RiRmw1MllSREdjWDdKZFJvaU1rS0RZRWtpMEdubDlJTHp0MGtWMkhya2tQOS9ycUVkYlZGa2dwQnZjbEYzbGpJZWcwY0llakJTQjVGcHNuSkdJMkUrN0JSLzFoUU90MmNJdVdjRzhWY1BGa2dPVDNWWWkwRU1STEpjakxCdFEwRVd6ZFVSZkVSNkEyRkM1c05FQ29Od0ZhVXp6Z1ErQnRkOVA0Y1dVamdST0tpRGNrRU1mS05QWXBnSTRDVVVmMGNxU3VFVG5YWUlqNFYzZk1NUHlBWlh0QktIUExReGlIQlBpb0lBVnFRUy82V0ZRRk45TFlFam1mS0hWOE9KOXBCdVpvQkZyZUFNQlhDRml2QWJHYUZ1V05GVkZUVTZyekNGVTFpSEl2QWZYYkFFTEpHSHJ4Y1h4K2NJR0RjUkVwQWEvRGQ0TU1nZGRJZ0k5VlI0cFRONHFhRmJiV0VvT3JFM3FyZ0lPQ0FJY0ZCL0xaR0pLSldJWEZGUG9sZ0l0eWIvRWUwaGhjcFhQSy9nVU5VSVFPb1JEUXlBVHRsakJ1RlFVWHRoRUMra1ZFcG1jaTJoaEl5UVIvbzRENFdoVXdLbVpYZFlDTVh6V1BFV0RlODNUSUNHWVBYVVJOclJEZ3R3aWZ3eGdJMFJYYUM0Q0hjVWp0cUFGcmlsaXE3RFZDL1lPRXdUUExsbmc3VVhEakZJUVQvUUJXTFFra2tCVmhYWkdqYllDT3pCa2RuZ0REeUZodWdTYkpRWUxBUlREQTVWQ05rRERnYVFqTzRXQ3FqakNYblFYY0pJU0dCb0NPNXdsSU5RZUk3Vk9IeWhRSVNBUC9ObmlVbUpoUmxJanU0Z1BOVVloVU1aUHRSME50cnpiRU9wVHE4WGc1ZVlCSEF3QXkzd2xiNEFhaDN4ajlld1FXcmljU2RWQ0kzVFF2c2prT1gwRFdmb2x2UFhhZmRrQUdLZy80MTJ5UWkxNkFqdHdZTVM0V3g4WVFBemFBZytlUVV1V0U2bWt4RUFtSmFCc1pDdE14NlAyUXRydzQvMWtIc0ZvU2hPOVplSEFIUWt4SkJvVXd6MlpKQm0wQTh2S0krU2VKcmd3eU1oMWlVemRnL2xHR2lmYVk3ckdHeEhxSlZibVQzRWVIdlY1SFZSU0pXK0tYL0FPUXJYZ2lNUE1aYXFJejhaY1lndnVFN04wSmR0U1pTbGx6cEVhWkNwY1p2VktXdzI1Z25YOVE4b3NJN2EwRkNuMXpxNVdaRGdvempPeEErd1dRaFhFSGcyS2FET1JYbVFjQVZkcFplR3dBY09vaFAwbVEwam9VQVIxVHFLRXp5N0dSYWU0VEdHc2doSU9Za1RGcHFOQUJtL0VabWU4S0R6VUd0SE9hR3RVMjFSOFk2NzJRN28yWjZIUUMvWjlnQ2VJUDg0R2NrSVBKQklRWkVhcjVrSTF1UURMcXBPelVlaTdTa2JuOEFEOG1obmpuQThCcm9TbDZDaW1wa2Fma2FVcENPamlRQk1HdUFKUEZBQUhkcVBRbEVZNTJTaVY5QkR5Zm1sN1NrRWZwQTlkUU1KVVdDa3IxR09JS3FaV0FvS2VUQ2JudENtRXpJUWFGcW5zVlZySUxnY0ZPbW51NGdBYzlvVko4VWVCYVlIZXBBcFB5QUdoMGVvOWdBYS83bVZRZ0UwN0JGOUJBWTA5U0dwOTBCa2hwQ1p2UEI2SlZhcUp1WWg5N2N2ZmRvWUpMR2wyOFFVVjFsa1V0cWNBMW1waUlDcFYxQW5xZXFVaUVCRENqb1V3ZVVUaHlwUTZSQmVnaEJldVhvcHhycEVqVVozOTBjbFlmbUlSNW1qbmdwTGxtVXNDclNxMVdwQjExb0lKREdtMUxyL3JVZWtaRlNJbVJhUUIrTGFUdDI2VWJRaWtPbjZxZ2xTR1dQNnJzYVVnZTlvTHlsS3I5WXFZdkZYRmZpeUhDV2dyOURYRWE3SFY4dlJXRkluc0w2UWVCSmdaQUJocUNaS0ZGSFlNeUFKbmdwYkNvbUhMM2RFSzNjVnNVUnhSME42b1QxenNSakxGUG9VZnN0Uk43ZjNrMWFoclNUYnF6VFVzQTQ3STBFVERqRktDSHI2c2s5aFZ6YWhUempaR0VEakV6NWdzUXlwczR6UXJUSUxwK1VSUGlLcG1ZRnF0SWJnbExNcVNpMTdDTmtUR0V4cXRFN3BzejBpQmVCanRmYmpUVkE3R1BMVWk1b3lnNytvdGQxNnNsY0hKOVhFbTFtcnNKdzNjamFSTHo4N0lZVUppVkRMcXhDa3RENkNQMjVSTG1xN3JqTHJOcHlKTHV0NnNYUExJckIyYXpTRVZ5MGFxN2FDeTdWdTQ3TDArak55UlE0L014SmpDMHVQRmJkL0VBZ0FJZmtFQlFNQWZ3QXNWd0JNQUNFQlFBQUFCLytBZjRLRGhJV0doNGlKaW91TWpZNlBrSkdTazVTTUlBSi9BcGdFbFoyZW42Q2hvcU9rcGFBWGZ4ZXFxNWVhbXB5bXNiS3p0TFcyczZ1NXVxeWF0NzYvd01IQ29BSWd1OGU3dzhyTHpNMjJCTkN1SUswQ3lMbXB6dG5hMjl5SDBOOUVhUzl4NUhGd1ltMHJNdFdhMTRLcjNmSHk4N1ZSOWlzdmNIQkxiVDhxLzFHV3NOR0hnUVcwVEs0eUdhUEhzS0hEU1NKRXNNRUJwMDBKRTM0eWF0U280UWVPT0N1K2lZd0c0cUhKa3lqL0lCR3pMd3JHakNZMG9JRkdoQUFhRUhqOGxKaUlZZVRJbEVDRGNqUHdKMG1KUDM3dzhDQkFSQWFVcDFDZnlpQUFKRU1iSEdJS0ZEQ2dvZzJVZzBMRGlnMDJvTXVmTmlhUWdnank5TTJMRnhQL29rSVZSQVROSHh4c0NvaEpNbENGd2JHQUE4Y2FJQVpIRkQ5L3BNQjZHbWZKSHpGeDNzak5JT1ZQSHhBVEh2K29Fd1dIQ01HZ1EzOGlqS05FeGd5Q29NZ0lVcVlOVWo4K2tqaDlTaURqYXhBYmNHUW84aUxKQUNTaWd3dHZSUHBIVWdKUS9yekJnR0ZDSEExeTNFaVBEQlZFeHE1Sy9Fd3BTc1JLRnduRHc0c25STHBObmp4RWttUEFRZkZ1bWlaTnpzSTVNUnVJSHhYcy95Z3BjZ0pIRWh4SVNBRGVlQVFHNTROL2VmaVJIaFJ2NExDRUVDWUk0Vm9aVGZ4SDBRdFBTZUdIaFE3NndRSWNPUGdnb0lBRmxoZ1lBaUNhaG9aVUUrREFneDlTZ05CRUdWeHd3VjRjVGNRUmwzMGN3cUVCRVAwRk9PS0FKbkpqZ1FYa0ZYbUkvd0ZZNVNFRlZESzBLSVNNWE1BblgwWHhiUUFGR241Y3hSNE9TdlFCQlY0REREbUFrdG9jeVFCNFpaS0k1aUNGbVlaY2NvTEF3VVlaSU1LbnA1NWNZR2daRHhPeEowUWZNcnpnM3hJR0VQa21NMGYrVWVZZkpDcXFKQXA0NVdIQ1hJSzhrUnVXOEpXQkkzeHhZQ0RESDdWcDBKVnBKVFVJaHhWaVNMcW9NQXhZQU42c2JyN3FVUnQrc1BVVUlVRzhVS1dlY2VEd1I0VXZFTUxsUmtUOFVTaDdJcDc1cWpDeVdzQ0FJQ01PNE95clN4aW1BYWFFWUFBSEY4eVZjV01TbVJWQ0JBZ21tSUJhcHY0aFlPMnp3OFRxNkpEd0NsS1lFSFBTV1lpaFg4SXh3UnZLTmhMRVhjMWVXKzhzTFFpQ2h3VFRTdEFtcEFlendRWVBVU0dDd2Y5YlhBVDhpQnQveE5IcXV3ZlBjc0lmVS9peHdMU09oanpJZ1V0a3dPMGhNc1RNeUs2RHJQRUhubVVhckRJcExieVFCeDZDSUtsenZkbTJNWnUraWlDTkNNMHkySHhWZ0VQdkRNb1VMNVN3cHJ4UlA2c0hwVXRVWE1pb2hkQzg5RndjL3pGbW9sbG5MVFVqQkZ4Qllxd29TNzFBQ2Y3SlZRZ1hjU1F4eU11SHpHV3oyVGlndmJZb0Fnamg4Qjl3RDZMMm0zUFg3YlVnaHNKUjdPUEtZVUJJeFUwTGtnYUFodzh1Q1N5REZINW1yTko2L2tmamNkZzlDQnh4L0JIRXFFNFYwbUs1ZHJ2eHQ0MUlMRzQ2SVFJb2tVRUdGNkR4ZXdab1hJRzRtcnVmZm9VK2tyMGNMRndUY0ZGR1hMdXE1bWxxbUpaZGxDQzY3eDdUa2VDREg3VC9tc1luYnk4T2FWRCtCb2ZzdlhDMGF1TzhiNGdiY0pqUFNCME01Sy8vL29pWFA0aXJPMXRBdGpBZ0Y2UzV4VDhFTEdBYzNDZTJzSVhJZm9wdzI1QW1DRUZERkFaREZVTWFIUFEyS3FTMXlHd2dGQVRZQkpHeENpTGlDbTJhb0tScVpUb2tDWUlpYVdoZUF4dkVoWUVOSW1icmNkOGlQTlk5RS9wd2ZJMUN3Qjhpc2tFR3FhNG9PTENjY3Q2QU54d1VhMzZFMkJ3S0FQaERSVkR4V2VIN1EvZ3NZSUNJSUtBelhEaWljb0tsRC9ac01BMGpSTVFhNEdDV0trTGlpbWphb2h5UGRBVWZpTUFBRmxqQVNwaVRIS1E5WlFKdm1ZRGwwamdJN2ExaERXVnd6S3RnSndzNGlzY0FLQ2hFSGsrM2dEbUdqd0ZhWVlBZTlDREFPSXpNLzJ3RmpKbk1GSEhJUTNKQkROWktaUS9IWWtQWEVVRUpQTkFBVWR4b0NENHdRSThpUUlGV3pJQ0FYbDdCa25sY2dCNFljQVV6Uk9FSGUxRk5WRjZRUU1ydDdTbUgvSU4weWlBR2Q2bnltcUlKZ2pabEJzczhTcXNBb0hCa2lZNjBBQVNJQUFsZGpFaEVmSUFBOEMzZ25TY3o1ZzhFOHFVV1lPb3BrcHRMQWVWU05qZTBJUW1vZE5nMXNabktzYXptZFVGUXdpMlJKS0JWR21JQkxLeFhKZk5vQmhFVXdJNEZRQUlTQ3VCRlRsN2htR0lZQ0J1VzhJTW9LS0VFY01EQTZ6QVFxbEhsOHcwd1ZScE1BYllDNmF3Z1dQNzVBUXFzT2RDZWdnd29TbGdOQ3pSd01na0tLSkswTE1SRUYxQlJpNXJobG5yZ29najRrUVI5a0xRRVBQL0l3eDUyb0lVUmZNR0phWmdkV3hxVUJNbk05S3d6TmFJYkJQSUROS2hnQ1NEYWh3RjQ2dE9DQmdVUENVVmVVaEhoQXpZZ1FBK0NXQUFLSW1JR1B3d1RBVCtZU0JLV29BSWxtR0NyV3VoQUJiQkFnY3BtQVVRM2dncS92b1VCR2JZbERSamdRaExpTUJFUzBHRUVPOENEQ1pUd0F3c2x3UWNvU0tWQTYzb211ekxFQkhRMGhEanRWNWlSUnNGL1FveENHOWl3V0pOcWdLdVN4UUloS3N2Y1B5aEFBVVdFUWhycXA0QVozQ2h2U2NpdU9kZ3pneG5jUlFFa0lFRVdzS0NERVlUQUJsZDRhMXpGb05NVTBsYWdqbEpsTEVRcENCYmtBUkl1M0dzaWNQQ0JCaWlBSW1JUWd3aDhzQVQyd2pJRUhkQ0JjZ3R4aHdZNytNRlkrSUQvRS9NaHJQQmFGd2ZkN2E0Z1p2RGM3bktYdytKbExoWTZFSUk5MUlHMWhRR3dUdDNWVU5yS2wzc09aUVFSaU1BQ0ZsQkJDWkhJcjM0TndRQTJLQ0FMV1dCQ2RSVVFBeFdVSUFRalVEQnpLK3VDQmppNUFSK0ljcFNySU9Vby8vZExPSGh1aHdjUlhnWDh3YnJPdlF0M0JaR0Y1Z3FDQmpvNEFCbDJJQVRoV21pRFhZQWtpOXZrWW9JNjY2ZU4wRUNzNEdrQnhPd1lGQ1VRQ0lqRmk0VUszR0hKbGYzQWwvV1I0VWFiY2N1Tm5nRm1LZEpvek1MQnkrSGxMbmpEVzJaRVYvYk1GU2l2RmtyUUZjaDhpUTFpOE1FUGtMRFRDVnBydHJRdFJCRVd3WWYrQ2FqV2xYalVuOTlwaHJleVlkQ2RYcklMcXZCa0YxVDJ3UzVJd2d5Uy8vQUJDano0RG45Z1FuaTczR0ZKVTdxN1doYkV0SVB0YVU4WFdnYzZTRUVLVnRDR0piQnZnNmxlOVU1NTJ0QjJ2L2dSREVoaDNDUnhwanI4ZVJEdzdMV2dueXRlSUIrN3dkMm13Qi91NElJUDZLUFpTODdDdEJjK2JlZFdWOUw2Z0FPMlNXRHNaelAzMlZsWU5CT2cvVzBQZ0FFTVhUSDNwTTJJNmlWMFFkVUcwQ2dTZUNxSWJaYmszc3FBNXhWV291bE5BNW5iM1lhMndXZlFnRU5ibHVGQVozaUgreVh4SkNnZ3lrNGVoSmU3dTBHRWUvb08zOWJCeDQzd0FRVzBnT2xZeGpJcTM3Vk5HYkNnRnJPRWVTS0UrUWQ5QjRyRE52ZDN3S0VOWFVVZitnOEtEN3Jjdyt0ZjlqRDc0WEhOT29mNys0ZUxQOXZubi83N0g1ek1CUC9uZXRkQnpnS0FOcnRwYjdFMzQ1M0ROSHZOT2ExMlJOK2hBUkp2OWlDQ1BQZHBNeUhqRGE2N0FseHc2Q1pUdWVwNHR6U2psMjEwTFZkQjRJZkl1SVh2c2c4aERrSUlDNTJXamgzUERIZ3lvQVRJdERTd2IzNXhDdnpYeTdHL3VmSVBjWG5yZnNEbmd2OURrNkVzWlMxbk43dlBSd1FKb0h1WEpQekE5b1Q0NWJ4NTN3MlpnMVQ0bTZaOEZ1NVFoUllZKzlPVDBIbVd6Y3o4dno4YjduOGdBWmVyVzZjdUFBZUE0RGNpNUNjUDhGUjJidFl2ZzZaKzNTWUpseWR4ZlFkN2pnQmswcVovU3VkZGZ5Qlg0R2RGQWppQURBRjVaYWNDWGRBakNVaDVBZWNJMERZRGloYUIwa1lJMjBjSTV4QjJqckJiSE1nTndvUWt2ZlpQQ0ppamZnb1ljRXQyQ0R5WUNQcUhmSVBBQnY2WGdUTklJQUpDVEFoZ0FQUmtSbWpIY0o5SGZEeG9XY3FYY1N3NGJSMVdQeTgwVXBEMFAwZTRLQU5pVEQ3QUVsaUdiZndHaFZYWWVWcW1ZWVNBRjJMd0IxMUlMVjhZTXBxRUpBaUFBZ2JRQlNFMWNtVVlhWDRvYVlWd2FvdmxBNnhtaEhNSVFYZUlUai9nQTNySUZ3TVJjWkFZY1JJakJpYjNBNUMwVTRjb2RyTWlDTDNVaVo3WWlaa1lpb2NRVWNNUUNBQWgrUVFGQXdCL0FDd0FBQUFBQVFBQkFBQUhBNEIvZ1FBaCtRUUZBd0IvQUN6S0FIa0FiZ0FrQUFBSC80Qi9nb09DQTRTSGlJbUtpNHlOam8rUWtaS1RsSldXamdNU0RBeVhuWjZma2hJV0MxZWdwcWVub3B1b3JLMlVEQmFjcnJPMGk1c1N0Ym02ZjdDN3ZyT2l1TC9EcDcySUE0YkV5cEd4eDVuTDBJNFdwWWZJeWRIWWlOUE8xOW5lZjgzVnlOL2t4b01TMXVTN0tBWmR0aGJDZytucXVjanhpUmJoOHQzMHMrT0hESGdnNEpYdjNyeCsvdmlCV3lBc0h6eENCeEdpaXZoSHdnSlpGUjBhL0NmeEZNZEI1Z1NKS3BqTW1zS09saWd5WUlobzVNTkNIMUdtakhsRjN5R1g4U2pLbEJSeG9NMldzRjdDakxtekVVVlZqMkF4MkdpeUtLT21oR3BpZExSSmFVNlRPbVZDSlFUclh0S2crWllPeFlvVklWbENFcVJlMHJUSm9WaXljR3VKRG92TFZhTXBUUTcxeGQyYk5kSEpwM3NUV1dVbEFlOVBibndUSzE1Y2NaVXlsMVVqTFo0Y1dDUllvY1FNVzdnWnF5b0Rha1lUTHlyTTluSXNyOHNLYzg3cjFyUHJxcWhGa2s1YmxYWFlXN0Vsa3E1dHU3ZHYyN2h6TzNVMHUvQnJ6MWVLcXg2K2JDQ3hRQUFoK1FRRkF3Qi9BQ3hmQUNRQUpBR0JBQUFILzRCL2dvT0VoWWFIaUltS2k0eU5qbytHS1dvQ2xKV1VENWdQQXBDY25aNmZvS0dpbzZTbHBwMWdQVTg5VGxSUktqOC9CYk1GUGdWVWwxUVBwN3k5dnIvQXdjS1FJMDZ3UGlMSnliUEtJbjhHVkVJaEtpSStLcnZEMmRyYjNOMitReWwvQllJaUJRWUdLQWdJQXdNSUtDZ0c0eEx6QXlnRjFWSGUrdnY4L2R2Z0JueVFNNGZnejd5RDh3alpNekFBSVlKN0JyYjRtMGl4b2tWRllBSTZLNWR1Z0NDRUNEME9xbGNRNFJVRDFZWmNYTW15cFRZVjk1TDlRZEtJM3JwREllOFZ3T2F5cDgrZmtGTEFYR2FnSUR0MUl0VVZMQ1NoWGtORDZ1aWgzQW0wcWxXcmVWSWdHMWt2bmpKYXlvb2FJaW1oMEFCMDlDQmVYY3UyNGdRVFp2L3VQU3VJd0dzNUE3SHcvc0NyYkNraHNoL0x6a1JTZHNDOWZHMFRLOTRXQllremhuOGVKclBtWk1RQkQxOTZhTzd4SndheUFpZ01OUldjVUJBODAzOThVTm14dUxYclUyME1pRU1nd1Y0MUZTbDBlUGd6QXN3Z3pZUitKSlBOdEhUcFA2R2ZDc0x6dXJuelRoaENFNVpzTFRla0xjSnhramFPUkxiaHlNL0RpejkwNHM4VWhtZEZHQ2loUTBjbk5YK0VHeEE4Y3VueHNqUVJPSE15dnYvNERYQzA4WkFZS3ZqeEIwK2N3Q2NmZllJZ0VacEJUVFYwbGtjbytWQ0JmeGlHSjBZWEswZ2hoQ2dLT21NV2FCQzZZeEI0aG9ud3hBY1p0dWhpSno4Y2dvQVBKVW1BaEVkTm1TWkNGMHBjOE9LUGEyMXlpaG81eEdoSVBDSzlZOGovUFNyQUIrU1RVQXF5MjFqbUNISVdWTlU0SVdTVXJWM2dwWThYc01EbEl5aUlzQlJOUjZybjVKZysrZmdIQ0JrbzhVY2FHYUJoSnhwZmZza21JV2JNVkVpVlkxbUpEQzViN2tuUkZESkVFY1U1c3N3aWpnK1FDdlJERkU2VW9BUWFJSGdwU0Faanl1WVhPWDZoV1k4Z0tLRmdvS0g2NFBDSEZXMWNjUXd5eWd6aURDMjBNaU9UT1VpVVFFVWFZeUpHbndTQVBvT2pXUHI1d0FJQnFIb1RoeGhMeERyT013NCt1QTQ3MUZhcmptMHkvYUdDbTJNK2FOQ013dzV5MmpNaVRKQnNOMkxNYWc0SzdGalpUcldpZ1dUYVBRSVYwR09VYWp6Z2FHQUZvTG1PVkZZV0VBVUJSSnc3akJWSkRFSmJaUENBMVl3NUloRWk3eC90OUN2Qi94VThaS0JDRkNBOFdRSlQ5dUI0a0FWb1VueUZuZ2IvWW9VVk43TFQ4R1EreFBLRENqUVBoYXVERVI4VThZd296R01HU2o5d09tWlRCWlRVa0FVTEdMMHB0eW4zWXNVZmJjQ1RUQmRJS0VvRUVRUmtyYlVBYUpTd0tLVGxmTnFVWHcvUk5rK1o5bkxwRWNuelVTeUJCWDljVVFDT2Y1amhoTkJOKzdLc0dIKzgwRUlhcC81UnNDQ0QvMUVKQVNyOEViYkU3SElGb1FUNmpZUHNpeW9ROWdjREM4UkZqMkFMRk1VQUF4YkluVGMzVXpRQ3hSOEp0SUVNY1NNMVhseHRJaGo1WXAxWFhHNEJBd1dZTWMvblNLT0F4QUlXSUkzWDZDNUZVYzJua1MwczhUeHlpNkNDdVM1bTNTZm9DeUJoQmdOL0xGQjM1Z1lFTDBoQmNoTFBFdjgxenc0Q2VjVGY5d3g1TWkyOG1MVVNFb0J1Z1JtMUkyM0c3N2lib1gzY2Y2d2dma3ZHRzR0eUJsR1VlYUNrQ3k0Q3dCOEE4QWJkQmM5N3dXT0FBVEJYRk9BTm9nc0svTjlLaE9PdHdIaXdMZzJaa1RWZUJBVWY2TzRQM2tPaDhNeWdCd1Q4TG5oNlNFM2hORmdSRnRnQ2ZjWVJqTzhNNkx3ZitjQmJFT3dkVFQ3SEJ6NElvaytJb2FGRnFGRXlEeDRIUEFVWlI2RXdWQURzUGZDQjNCdUVIMDVWaC9oTVRva1ZFWWhaN0NNWW80aERCRlI0MGNmMEY3d0Y4R0VCYnBTYkNRU3h4VUlvb1dOZ3BBZzF6QUlaNC9pSmRTN0tnQTkrVjhRNi9zRVBlY2dkSGMzUXhVRWtNWS8rWU1FNFBtVUFtdEFqaEo1eUJnandtS0Z4R1BIL2tLZmFJaURWc2I5blFMSWlpU3ZFUXhwU2xwS0laUndmYzVFc0dtbklCaGtBZUZtOG5DRFFjTXFXR0NZMFpRR21raHlqZ2h1NGlCcTFBK1VmK0dBQlB0ampnYldyM2Y1SzEwdVduT05FbHFSWVpNcEJ6UXhSSXpSWEZFVFNxZ2czdU9rUFBJK3Naa1ZDUmlyMHBTZ0t2TXJRNm9DWHd1eVpRUVRKN0Z4b01oY2ZkZnBESVBRWkFJMGFoRHlVUk1HWUxTckhGZUZtVHhIMHlUU3lzUUNEL0xtUHhQa0ZXR2pxNFBmVW82bE9GdUFLNVdSbzVoeTZ2N2g4QkpERDJOcVdCTURKUExKQUJDV1R3RFViVkFnejJDSURMZTBQVGRqNHVVSGNrNDBMcU4xU3BLTU5yUm4xcUliN29nYmw4UkZ4S09JZXgycFJtUkFBdkhrRWxUWkYvL3NjQTRMNVBUOEpJd3BUT0twWWpWcE55TTNORUkxRGlRcG0ySjh5VGZBZ0RMaWZqU1RrRVVBWjVxeS9hQWFrVnFBQ0dXQnRyRm5ycFZtWFFweTVJc2Q1U3UxUDVFWXpEeGN5bG9EUEFwYVplcUVVRlBoQUREaklMQnpna0lRa0xPc0ZLeGpyS1ltMkZMUE5wQ0JsK2tGaXh4TTVrVFdsYmNkaHAweEZvTkZSTU1DRlMyQkRFdHFnZ2hJSVFRTW0wSUFRVnZBRHpMS2hDN1Y2MXFUQ21qSTRrWWlWSk5LWmpVS2pIOWx0bzFydEVvWmhmSkN6cy95ck5Qb1pLa3daY1JEeUlrRU1jR0RERDVTd3hTM2lvUThPa0VJZjJsc0NOdUFBRHVhZ2xWM0cwVTFEQ2VBQ1VZZ2xCV1VEVnd0NHF3RFc5UVYyMFhjNTdDM3ZpYUs0cS85SHpDWlRwSlJHb05KU1R5bVdzb1NQYlZFS0lFQURFV1JBWWlpUW1BVWc2RU1kVk1BR09LQmdxL1Bvamp2S2Q2Ny9abUJ0MWJQa0FLaEhOdjZJS1JoYURmSVZKOXFMN3hTa3NNanhJTVg2RlRDVXhnc2hKeXJFRDNBZ2h2RGxRY1F5Z0lLV3Q4eGx3djJCQlcyQXczek9Hd2NjcUM5bEFpQ0FBSGl3WTZRaEFRa01ZQWVQRGVJUk04amdGenNPc29NaDlEaVFRTGtVazVRcGpzWjFuSm1LdzhtSlNBaURCb0RaRmVSaGwzZUd3aHVTWUlVV3ZJRExXaFljTDRFQWdoUGdZQWx0UUlNUWNFQVlJdnQzelRoT0I0emJXSklqK3MwVUUxdHd0ZnhjWGw3SXBtZGlnUnh4c2pzVHZPNXJFWDhlU1JMZ1VJSXRhbUFRV283REQwci9VSUl1SkFIVEJHanZJZEZRaGorVUFBOTNQclBCMUN3QUliUlplMWV3NHVlUzF1Q3QrZ0FEcEdBUXJmMzg1RnFYUWphRWNSQ2RXYWM4eTRva0hqbnFCQXJzSzRRdG91RjBKQTdDQzVhd3hUNzBRUXdueUxLV2diQkZKVVNoM3dTd0Fod0lVQjVxTlkwQVB5Q00vRUNId2dXZ3dBeDgrQms5TFdBQS80a2lRaE16MzhUYy9Rdkh6S2N1MzJKZHp6WksyQUxrZXhFZFJBRWNjQkFGUkJMZ2RHOTRRUm5LZ0FNVnlLRUpmM0JEbUxjc0F5bjRJUXFaeGNHMTA0Q0RPRmloQy9UUVlBcDd4MEtSdHhIUm44QmVqb0xORDdmcTJrcDluUG1TSDRTRXVURVlKK2tJWm1aN0xnVWluSTRMT0dDREdJWU5CeTRnblF0bFRzSWJUSndIL3o4a0llcEp5QU1JRHA4RTNWMnlhVlVVeE5hcng4SzZXTEJ6Q1I0RmhQMngyQWxSRERLUmlSaWdRc1pnZHpLMktZZHZBeUtEb09VM2ZOb0UvajQ4Qm9oZTlUTEVRY3RPUDN6VWl3MEZIQ1NCbGZBNmx5emt0MUNQc3hBZUZoU0Vhb09Bb1JtZE5kZGlDZjFKbnpYVkI5Y2E1VE81cndiODhITVRZd0FIN0YyREc1clFoRFkwb2N4d0lIOFpUZ0NGRFBoaHlsSC9BZmRmZ0FQdTB2WHRiSktGQ291UEJBVG93UXdvUUUvWW8xb1pnajY1bG1USjAxUm5WWDFXb2hRVWhpUHNJQUZMZ0FQeUJ3SmI5Z2V1OXdOckFIaCtoM1Ivd0FVWVFINTlBd1ZCMEFjbWdGbVpsVGcvVjJaNzF6TDROeWJEVjBoKzhFWndKQlpGZElOOFVQOExVeVFlRWpZVHd1UXY5bEY5NGRVZ01aRU1wV1lsMzdKelBPQUhySGM2Z2pBQlVZY0RIZGdFWlRDRmZ6QUJkeFp0ZVJBRmZKVUhlY0I2VUhoNFA4QnJ5VElMWFNSdG9NUTZ0U1FPT3pnZTNJVWNsdVJDVnVJdFF6Z2p5dE12NzNBUGhDRVNGRUpsZm1DQm1UWUlRUmNINUZlSWdxQitDZU9FQkZCNDdYVnNnb0IrN1BLQ1hCSUV0c0FjYUxoRkgwVkhoaFFQYlJnZWRFaGdNS2ROSS9GY0JrRVRjQVpIUVZVTEVnSWhYVkIwMkJhSWczQm5jV0IrNUlkM3ZwY0VMMkFJTWtBQUd0Q0x6UGNIUWRBR0ZJaDl5U0lEWFdBQVJuU0ppWlJNZm5BRmdWTUFtT0lTa3ZnSlYzSjJuemVLM3FFT2g1QTB0SFZKakFaK2dPaUVoQ0QvQTNnWEIrYVlXUzh3QVcvd0NHdndCL1dYSTlNSUplcUJTMGIwUm45UUJ4OTFneTgyQ0kyMEVpUkJNZkhZQ08weUlkWW9MTk1YTUUwa1RsZWdIclV4RGdXd1dUeGdkN0JZQ0JnUUI1dFZCbWxBWW84Z0ErTEhXUkZpTUM4QVV5TW5VbklEVXNGakFNazBDRUJ3RWJNMUh3RzVDQ0JFUUxRUmlnWnBFRWhDS3ZVMENMaGpEc3RRQUw2bkFSZVlDRTU0WjV6QWtXdEFkRDFEaGt5aGxCanlVaS8wUU9MMEVCdUhCQXpWRSsraU00d1FNVG5EZ005QVhTVVRmYlh4aHVmQWNZaFFEbjFTQXAvMmJ4TnBDRUhKQ1c3UWpsVG5rdE1ZZ2FZbUhsTkFXeU1wVHM4RU53c1FPRDJ4SFIrcENCRXlrQ0UwWGcyU0hJUUFsa1BvWFlady96c1FnVGw2QUhWdG9IRGl5Slp0YVptSThKWko5NDVNYVJhRCtaS0tZVHhVRlVFaUpSdkp4eGJCTnhZNkEzeThKblBBUkIrdXN6N0FWRW1GWUQvaWdEblpnNVppMEdXSWtHbThTUWlYS1FoRytRZTk1NUtPZ0YxOHhtZWRlUlVXQlR3OUpRaTRnd0tmaEpxaW1Kd3FkeEIxY1E0M0lRaDQ1VHZXMlYxTUpsT042WEZtc2orWlUzV1kxcHVZcG1WRUtRaGR0bzZDOEpidE9HVS9jSE1DQ1MrQ2NUdDdwaGd4WWpZTmtUUm1NQ1A3eVJabGhCUm1nVW5OWUNabGdSSkRkU1BiV1J6aEdROVZpVFJYWUF0N2RwNjM5NXVGc0o1YWhtN0lkb0V2a0RCSjE0NGZTSUhMcVFpejloRVB0RldLSVJBTHN6dEZNUUMxazA1V29XdXdVdjhOWWxFdEtBRlQ5Qk1YWWpsWjVESVpvS2R5MTJRanVpUjVKSWVYZ3hCVW16VjR3Ym1oWENaN3dCbUljUEFDdy9rSGgyZWNuaENCMlhWRkxMb1dSQUFwTmZKYVplR1hiR0ZaZDhHZDFSQ0pLWUlFVjRDS0llY01Oa0piTTFFT3BGSU9PR1FqQk9ZWWIrcFR0MWtJQzRCWkdLQ2hoOENlVUZnZTdobVVNZ0NGZjBDaWJnQUhZbkNpeHptWThlT2xkZGtTNVBNckxqU2RpWUUyQ0lBNWNHUUIrcUdnamhHQXBkUWdjR2FLQStBTW9DcXFlS3B5U1FZNzU0UkNER0E5cDVvOUtvQURsNWFlaGJwbDVwaW9HZ29IOGRRLzcwZ0sxREoyNGJhaWwzb1JLOENRMy9VSU4rSVN0ZkNtQytWTTZxRWZ2NU1JQnVhRCtEUnlJK1V0anlmL3E2Y0tSNGJBcEJsNmdaVTVwVkJRcFpRSkJXa2dvb01RQjF3d0NIaVhsS1h3ZUI5QmZGL2FFekVTYjhqRENIakZrbVdTUFFzVlFiVGdBMzJhQ0VmMkRBWGJPV2NsTDNOS1ZiZTZqWUxLcTcwS0JYR1FCTzFhWnZENUJ6SWdyNE1BcWFBSkNSWm5QdUhrRXdLQmF3UHdhSTlBWXhZQk93R1lrNzJqT0pHbkNFZldMNmVKTk9HMWJvNXhQZUUyc1lTd0FDV3dXV25ncEU4YWkzam5zVmxHZjNEUXNldmFCb0xBQlhEd3I1cVhDUEt6clAwUUJETGdvclV4UjQ2UVNDNXJFV1VTczRkUW9lVXdvSHlwUGR4WUM3VVZWREFGT1pHQkVJNVJDNHVqQ1ArSG5rYWJybE5LZEJsYlp2ZEZDTjkzT3V0cU9keXdlUmRoVTIvSXFZeXcvNUJnTnhFRmtaQ0RJRHgvaXFSQmRRWGgxa0puRklDMWlUdG5OQnlzTkJVT2NnK3pXcHR0WkFaSlVBWVlNS2pFT2FXRzhBSVdhUVVuZ0hkWUtBTnZZQVZ4MEk1eDBEYXZ3UnlsTUZKenc3S1BjRStRV3hFVWtnajhWTE5JVTZ1S1V3N3lkZythU3dpT3FUanBZRmxuQlZPZ2lqdXNVN0FQcEFkWHdBWWdtNmpnV3dqdGVXZFdjSXM3OXdNWXE2V3U4U0dtRUJxM3hBbDhvQjlxWnhHc2xCb3AyWmp4c0dlNG94N2RVVDdPZTZ1M2MwVFpFNmNvMFQzMDVIRnhNNUpZdEFCNllBRmRzS3RjZGdMbTRwdHJTWnluTTJ4VjF3WmhKcGNqMnhNMEdnckQ2d2lPUWJVVUViRkFHMEVnMVhFampEU1hZMUtsQXJUaVVFK3lnYkRlV3Y4UWJJUTBxSGdGWnFBQ3psWUdDb2NCWEdCaUdZdUJGTHllZytBR2JxQUNnTWNHdENGcjU5SzRqQkFQTFZGWkdvWUliU1I1MkF1b2NxT0hFNHU5SXpjSVQ4bHFEcVVId0dNR1VWQmNPeGQxYjBCaUV3QUhxbXVPa3ZZR2NyeU9jeXpIR0RoNGJyQUNDWE5mU1hDTTdQS1p2TmJCejhFRG9CQXNKWHdsZ2dBMm8xdXVhcnVRenl0NTVDYVNobENodHdTVm9YSERTS01IWTZzQ3VaVlp1OVZiUWlDTTZnaUZFOEI2YjdCWkdEQjRkVHpIclpjR1hOQlpGTWdESmZBRHVwZDNmbngvRmxleS95TlFJYndQVjJJT1Vsd09DUnUwVjZBVURPRElBRXh5cG5RSTZuRkZIa2ZERER3L0xKWlpjYkFFS3FBRVBHQURPNkFGSGFBRFZSRC9oZWY2ZmFvU0J5K1F1dWFjdXErY3hqUGdqbXlnQXlGZ0EzN0FBMUhRQnJYTUJrdUFEazI4WUFBNU91dER3dDdRRUdXQ0pndHdXNHJqWkxYNk1ISHh2b2J3VUlBYUJXendCMTF3UFdTc0IyMTN6RWpReVd6UUJnK1hCM2l3elRxQUJSUVEwaUhkQUFxZ0FEUHdiSklXQjMrZ0FDUXdBMUg0MG5DdzBpYnQwbjlBQWlUUUFCWGdBVnBBQmpZZ3kvUWNkWkQ2QXgzQm1ybTh6NmpDbFJNaFV6U3NRa0dsT0FtSkVuR2p3d0Zob1lrZ0VGVVpxRGlnQUJLWDBTVndCVCtnVytsbHpWZVFCM3RBQmdmdzBTSk5BWGV3MW1zZDBuZndBVlFtQm1WVzB6WTlBek5RMG5pTjEzWU5CM1k5Q0Rnd0Exa1EwbitBQlRwd0FEdVFCend3L3dWb3JGbGlNRWpmSld0T1hKMUFOcURjOEZCSVF0bmVFRHpBUW1OdFZEdmxtVDBMaVFBMENFZGw4dG1BMnJPbHhBQnc4QUYza0FVa1lOTDNWYzI5eFFNaG9BVWVVQUVnbmRaLzBBQlY4QUVmTU5PYnRWa3ZmVjk4emRkOVBRUENmZGMyVFFKcERBY0tJQWlCWFFnNS9jNTVvQUVsd01uMTNOZ084dGgwcWMvdXNzK0NqS0xvNEFsWXl3Zzg0QjM5WXFiN2NCQ3pzSjl0NUZiN0k1WEZoemFZZlFWd1ZnZ2xNTlBLclFBZlVBSGNYQUYza05ZTjhOdkF2VmwyblFRbDdkS3IzUUM4VGVCNWJkY1EzdHgybmVES3ZkelJuZFlVSUFnMVFOZ2pvQVU3b0FFOG9BUXEwQVp5SFhXNnRRUXhFeTFJSVNHVUNzaWpZR0I2MkFsOElQK3BVVHdmRjNNUlQ5R3QwSHM1MWhPVjQ2QzlqcEd0NVhvSUFNakRoOGZYSlUwQ2dTM1NkMUFGSmUzYkRPNENmOERXYS8wSEg0RGNDdUFDQWI3Y05vMEllcjF6QnI3T0xCM1lWSTdoR0U0RE9UMENJUkFDUWlBRTE5MEdTeURYYVh4ZmJLQmJTY0FzWFFBcE1oT2o0WDBJVTlXWGFRUUpvd0VLU3NvUzlXRGFnQXJKSlhtcUR5VEZqNENLMnJQRFhlQnNtYVhjV2JEa1ZCN2dHVjRJZDdEYmg4ZmFGSERweSswSUZLNVpFLzRCVmRBQWJrMEJMdERnQ3VEY2dqM1lGYUFiSGE0RlZPQUVLV0FFdjkwQ2V6M2NVYmNFTlA0SUp1a0g0U1BzS0ZDVm5UQkIvTUVTVFNISjJucVNRZzY5eHd3S3FCaERzNng3U0c3VGw3N2tHRTcvQ0d2OUFaelZBRldlQlV3dzZvbkFCSmV1MXVEdWV3ckFkOEVOeTVyRjMxcGU1aGllNlZUK0IxblFBRXdnQ004dENNRGU1MWFNMll0N1NKL0FCK3pyUzl5SjdJY1FQRmRRV3lwa0NneGNONHY5MXl4dDRkemU3WGZnQWk3OUFiR083OXVlQllTZzI0UFE2YTgrQStMZTZyNXQwaEorMHAxVjBvTGcyekQvQWFxKzZZT3c3NExRMG9JQUIySlVFZmZySHd5dHJkbXpEVGtjQloxYzZVbXU3ZW1lMXQvKzE2b09DbmZRQUllbkFHcDk3eWhQNEoyMTEzTU8xQnlQNzRUdzJqR2Rkd05GVVo1UVJURHNENmpJQU5kZDlIOWQ0VGFON3VtZThVbkEycUxRNUpzbDdqUXZDUFplNVgvZ0FuelA5d3plQUlOQUFpdTl6dmQxendNay8vYkpydkFzY2ZabVRNdHpmdGNWYi9GSjMvR2NRUEk0d1BGM2p3aWRIdXJiSHZnbUxRaTIzSDlSaHZpZllBNEN2L2g2RUVOWE1NdHFqK1NSMytYYkx2S1A4TllLME9tSGNQYzJmL09ESDdKSjROaWpUL3FnTUFEWFV4RmJkZnJGanoyaFdzd0c0R3haUCtHdjcvR2RMOUtMb09rMGYrbUhJUGdxSDdMYS9TL0F6d3VLandnd2R2bzYrWnlPUUttaUVkbm13ekFCSVFiMkZZWE96K1dDUHdpZFR3aldmLzM4L2dmclRBaGhuWEVQQ2doL2dvT0VoWWFIZ3dNRGRZaU5qbytRa1pLVGxJOFNEQmFaRm9jTURJcUtuWVNkblJJU241ZVZxWWVsRW44b0JqNWRZbXh3T0xZNGYzQXp1d3E5dnI4S2huQ0hjR3hpWFFaSXFzdUNBLzlJS016UjB0UFVocVdqMkgrbG45eW1oTnpnbzFmVnFhMnRDRWhJUHoreWJMUzF0L0h4aEVsSlluOCtmOHJrcW9wL0JZejRDUnhJc0tEQmFSSVc4Qm1Fb0NHS2h4QWpQanc0VFZHQkFwc29hdHpJc2FQSGo4c3NHbGdBc3FUSmt5aFRNcE5RWUtUS2x6Qmp5dVRuNzlDQWxqTno2dHpKczlBQVJ4aDdDaDFLMU9PblJnVVlGRjNLdEduRm40Z1FpREJEMHFuVnExZ04xV3hrSUtzZ1B3dkhlUjNMOHlnaUNTaEVJS2hxMWNJQ015SU1ZQ0xrMWcvWnV5ZTVPVUt4RDZzZkJtYVUwdFdVQjYvaGptWWRRZldhUjA5R1FabzBNVUFnK0xCbGZxWVNDMnIxN1U5bHc1RTNTVVdDNnJMcHAxc2hmMjYyMml1bTBBc01xUDNVK3JTbmJVaDZSUzBRYXp2MHBpcytDb1M3VFR5U1ptMlovaUFnSHZuUGdyUW93QTJvWGJ4NjdrR1lxQisyQWRrNWNPSFNVMWNmZjF5Q0JlMjJZNHVJSG42OCsyWTFsd3ZDeE5uOUFxa0d3b3QvZi90NGR2NS93RlVBQXZvQmFKMTREQ3lnbEh6dUliR2Vmb3NaZUZwaXkvMW40R1FRU3RpZlpnbWlWMXhtMG1sbzIzV2VLU2lpYytCY3N0Q0psb0VqaW9mamdRZ2ppMWhKc0Z5RU5INHpYWTd2TWNoaUtEem1HQWdBSWZrRUJRTUFmd0FzQUFBQUFBRUFBUUFBQndPQWY0RUFJZmtFQlFNQWZ3QXNWd0JTQUJ3QlRnQUFCLytBZjRLRGhJV0doNGlKaW91TWpZNlBrSkdTazVTREsyMHZTeTlpbkZ3WUswR1ZvcU9rcGFhbnFLbXFqMnc0T0hCSlN6OHFVVzFzclRndk1xdTh2YjYvd01HbUtBVkpiRXRSUWlaK3pNM01QRDl3T0Z4VHd0YlgyTm5ha0F4bTBXd3FQTTE0UUNCb0JPZ0VmMzErR2o5L2NENkVTMHZ5Mi9mNCtmcVVQNjhyZGN6eWdDQVFCSXJCZ3dabEJDR0Fac3FTUDJJTWRHR1RCSWVZZlJnemFzeUhRQXlPTnN2OFpDQWdBOHFia3dnTi9sR1pBVVNHRnppV2RDbmhoNDBQQmdNMjZ0ekpFeFVDT0hCbytqRkI1T0NFT0dLU0pIbFRLSWlVY1doZy92QWpJSjZFcXoyemF0MnFDSVZGRGN3eUlId1RORThkRlhCVUNoTEhUQWhZTkJYL29RVEJZZUNxQks1NDgvWkVBUXRnSGdJSkZTWlI0VWNPQ0RsTGtwUVVCTmJFa2xkUi9zakFZYVVpQXJzNTlXcmVmTThyRGlWK3BCU0ZndUhGaG9wVDFqUlp6UVVIZ0pKUXdQWnpoWU9IZ3dtdWZ0aTl5N24zSWF5K1N5RXdJQzNLMEpJeVdyUGh4QVlPbDlVVlg3MkE4Z2RzRzlwLzJ2Z2gwSUt1M2VEZ0JkMjltak56K0VoSVhHbVhBdnZOeDVCbzRueU1ucVRKbndsUTBQaFJnWjFOSFNEdXdZSENBTHlkNXh0NWZ6RHdoM2tHTWlKQlAzQ0lBeGdVTXVBbURocHVyTGFhSUhCZzBBUVhTVUJCeEZEUndhT0JBekxBQkFjbkREYVlGM2xYV0dEQmdpNDJJa0ZGMm1tQUVBWTRxQUJDRTJVOFo5OGY5ckVXaDBINjhaQlkveEpUNlFpRmZBbmdnSUlFTGRiWUUza1N5S2lnbFl0SWdNQXI0b3hHM1I4VnhTR05rRUNXSVFpUXVpQVpVQjdNQUNZRGp6aXdRV0NWWEdxMEFJRlVNbUFCVG5rcThtQk03U0EwQ0loeGFMamFtVUNHaUJBQlFPREJqQW13eVZEUmxBUGdHU2hHZDJZNW82YWJrb25EQ242SVNjZ3U5VzJJZ1RSeEpESGRRWVFFSVN0c1VLelJHcWFnaG9yUG5YNENxbXNoQ3JhaUJCQ0duc29GTEVxNVVnWUdiOUJxU0VveXJQRUhEajVRbWV1djJYUXFJNDNZQ21LQUR4NUZPT0dZaGt3Z2pTQVlVRmlzSW02c3NRWXNtVjdiclRXWkp2am52SUxnWWdVT1NWQUs2eUc3b0VTcldvdTBheXNPbDhtTDd5OEUycnZsdkkrOThBYVBTemhKYnY4akZ6UGk3aHBRZUZmdndxbW9nNGdaZzJDbEpiZS9MaEFGRHVsQzBWb2I0L0lTcmJ0cDRJQ0V0U0NqUXNBRkdhRFJzODhaWk1BREEwVFBLT085Q2plNFFEUW93Y1RGdXFrWXZNWjFCc1Nic3lsb2FIRDAxbHdMOHFlQ1NidTRRQW5OeGZFQ2o0NW1qTXJHZjdSVzdjZFhpOExEMFVUWFRiUWdSRjh4U05oVzZvRkVLMG53ZUNUQmtxaDlxRkpsVUZjR3RUakhUWWtHUE9DOTIrVGZPVDVJQVI2bFVUTWNieEFlaWVHQ25EUUJqbVlPeUxmbGhKZ2c0eFdVNzJaSWdWY1h3RzlyTFAvN3VlZUVxSVNiUmRhZWp2b2Y5LzRleVd5dVBJMzdJbEFYQXFzTUorQ2dtKysvODZEM0lsWUxMOGdDWmtUUlQ5cUZnNTc3UVZZc1ViMy85ZVR6c29BZWY3U1N4dkhJcTdXTDV3Y3hqekRjNVU5aUh2VDQ2dUZETGlaNWo4aS95NExWQkRxSEVOeWdvSDZpR0I4Q0NZRzlpbkFCSmY3N25sRndnQitEdUNjT0swbUlta0FXQ2xYVWkzN1hBQ0ZlRnNBQWo2U0xLUkg4bnZ5YVJTSDM0S0FNSjNrRFRPeUJMVm45SVFneVlNRWZDb0FLL0oyaWFDVFREQWw5MENGbXNlOFFGbnpoU1ZiRkw5cTRRbncxREFVT1pVQ0ZVaGhBRUQ0c2hRU0tKcU1GVEUrSWVvaUd4TlRDRk9RSlluYzRnTWNQMnZDSEx2amdCMGpJb2w2a09FVWx5QWdCNE9IaTF4NjJHVDJRYlFLTEdVUWNXdFlJREhCaENXMW9RNnVtQkJ4c0VXR0tRY2dBQ1lPelJib3hBSFo1T2RvZjBBY0hRQnBrL3dJWWtJRjdKSVpDUThRUUpXNXdBeGZZOElNN2lUQlFRU0NDREhLb2dVa2VpRzY4ZVNWUEZtQ0JCZmpTaXlVUVF4eVFVNGFsbUlSL0owbUVRZExBaFRZa29RdDhpcGZWNUppVlBHUkFCa1JnUVFaT3Rwa1dZWVdhb3BpUkkzb3BpQ3Zvd1l1MWdJY3JCdGNhRm03dWJKM0xJS3hLRXgxWGlLRUxmMERCWlRBalRaUnR4SWFDVUVJa2VLQzE0RzJHZFpyQ3BEWUt3TWRCYU5LWEJoQUJFbjdnRWRvd3FhS0NTQngxWURJRFFiVHFEeTk0Z1ZLU0lJMVh6Q0pjMDNxRkdIeGdBSDEyU3BxNjNNWXNnNkFFclVYQ0QzZnJUYThVbW85ZW1rRUVCdGphQXI3MWgxOHlvQVFxd0VXZGxxQ0NtdHBnQjBOUUFGQ21zVXhwa0lBRWYvK1lRUm9KQVljWktPQ3FkdEFCR0hyMEFCVTQwNG5MNlFJY1hkcTdqOFgwRjJpZ29vSU1xcXNzRVUyaHZidUhGd3RnQmw1MkVRRW9zSUFaVktCT2ZqRzFwanNJd1FoMGdBVUtVT0FQajVVcUYxNGdqUmxjVlJDdWdNTWZyc3JacXlyZ3N6aFFRQVBzMElFSE9HRUZpWEdpSzlLNlZnVEVpNS9YV0VGMXRIU1ZCWWhDQWwvTWlsMFRFVTF0TEMwSmJmaEJGTXpweXl1VXdCYXJaV29KZUtCWXhrTFdzUlM0ZzNTbDZ3S3RDc0t5bmYzRFZ6dnJXWGpNb0tUYXpVSjBLNkFESGFSQUJUOUlURW5SZWs4NHV0WmFWTHJML2NCNUNBdndGQklmRTZkVy9IVGZmdm8yWE1udGdoaUFBdHdvbE9BQkI5QkJCZTRBWGNjMm9BRlYrTUQvWndXUkJBVm8xUlV6eUxDR0JmRlp6MzdYcTFqRkRnbkVDMTFCWUtHOFF6QXRlcDI1WHRxd29ZMXIxZWMrK1VRbFFzeDNFTE9jWlFwQlpsOUVLREFiQzFqQ0RCcndnU0ovVmdFOWVNQUlPdUJjUVdUaER4OGcwM2VCQXBRTUorSENjRkNBZGpXYzRhNjJHTU9FQVBGVnN5QmR4ejdYekhmQXdvbDFNQUloS0tFRWx4Q0RVcDBJQjRxSW9SNHNSUUlTVU1EblBpUGd6NjRkZ0F3SXdJSkNWOUY2T1RYRWo0RmNBcEpXV2NOSitBQ0pvWHNIcWM2Z3doK293b05kOElmcDNzRUZIL2p1ZHJOYmlDTnJtTXFQVnNBSEhoeGRUOTlCRUk5MTdJa3JzSVVSSE1BSktRQ0RoTHVzMmw1dmxVTkFZZVVBb3FDSFh0cld0citURVUvZi8zb05MNXJoMllCZGNTdFV6UVFTWjRITXJrYUVkRC93aWxHVE9oRkZsdkNWWFpIVlM2dDYxUTF3TElNYllHR3ZtbmtRMGhYRWc2c1FZUWtmK2Q3bmxuRDZjc0s2N3lEYmNrcjR0NDJaalkxZkdsd1BESWpDRWtyYTFWRmYrOW9sTnNRZHNsQVJCVHo4NG9kQXM2Zi93RzVZZlBiS3FMNTBSN09xNmdjM3dBVXVhSENyWGUxcTZHYUJCRkw5UTlYK3NNLzY2WGZnSXdSbWVwV2FZVzlEUE9LQ3VBTzM0VkFGQmxQaUR1eDI5NnNmTE80clQ3blh3Szd5Qjh6czhpd3dZYk14eHdFK00xT0NCZnFZdnNJdytGRlZzQVNsTmp5NzFmNDUwcldxZ0hkUEF1bFNuZnFyV1U0QkY1aWMzdUhPZTVRcDhIQkJlSGhhU2ZBQkhyL3VkZjhzZ2gzSXZ1eUdDcnBBVXRxSW1iTk92cmFGWGZCcVVkeWhDbDF0UU9VSndmSlhQeGF5aVJoNW5ib3dvTUk3Z3VCYzhTWDZqRXRSbm5lWTFBOXY4TnUxaTRPcFIvN2lWdjkySVRTYjBtZk8vTDVldi9uZURvK1J1UnAzOFhQdU9YZXgrb2UrRDhMdHVHZUM5Sy9LaE5kekZ4SE1IM252dTJBQTE1cGVVRDB1Qk9vUGhCVUVJQUZjemFGTlY3M3FiZVlmWXZtNlI0U1d2enVJMWE2MHBjUy9XcFp5YS9qODY1Ym1LR0FBWmZkbE9NQmwrQVlKMmxjSW1SVUxQOUJTZ3dkODMvYzZkRFY4L3JjVjVSZUFQeUJneGtDQTVMWUk1RlpuZGxZUERjaG4zaGVCb3VBbmgrQmZ2L05uS0tCblNHQUFQeENEQnFBQzZHVUFMbmlEZkViL2M0Tm5ncXNnQVF1d2JJc1dONHZHQUFqM0d6eG9EUlBZZitQM0s2L0VUVWU0RFhhbFVEQUZnZGd5aE1yMmhQalFLdzIxSUNxWU00dm1LVnVJaGRqZ0owa0lVMTdJaGZXVmhHS1lEUXpBZnhTNGhDNFNoTDJ5aGhzaGhVRzRLWEtvaG5SNEQ3c2xmbWFvSzEvb2hIdTRENVVVZm0vWWhRMkNpT1gwSjFRNGlGRG9KL3dIVTRyWUczOUlDSjdTaUk2SUQ1VjBTWW9taWVHQmlJV1lpWGdSSTR6b2g1T29FM2Y0T21RWWhxSjRKYXQ0U1FVaWlSV1lRSjY0Q0F6QVMyN1lpbmhSaUZyQ09sejRZN0k0aTc4WWpPT0hpYnBvZ2F1SWN3TkhqTXlvUzgzSWpNY1lnYzg0amRTWUNIYmhpOUZvT1ZlUU40MzBkZFFZaksrelJYWERUalY2bUkzemNvdGMwNFoyVVRldGN4WHNLQjUyRTQveFNJNWE4bzdtaURyck9JNzB1STlkeEJzK3lJLzBhRGZHZUkvQzA0N3l5SWwvSUk3cTJJNTZ3d2NPbVFjRUdaR05ZQUVRR1RlQkFBQWgrUVFGQXdCL0FDd0FBQUFBQVFBQkFBQUhBNEIvZ1FBaCtRUUZBd0IvQUN4Z0FDUUFKQUdKQUFBSC80Qi9nb09FaFlhSGlJbUtpNHlOam8rRlc0TVBWRTVSS3BpWlVVNVVrSjZmb0tHaW82U2xwcWVva0Y4eFBnVS9CU0t4c2lJK3NqNHFUbjhDcWJ5OXZyL0F3Y0tPQjBNcEJyVUZ5c3VDeW4vS1NDZ0dzSDgvVHJ2RDJkcmIzTjI5eHNnaUJRWW9BK2JuZ3VZSTB1UHFCaUovQmcvZTlQWDI5OXRPMDdUa0F4TC9peVFNUUZJQWdTQUVzQXBReVlHdm9jT0hFQk9sVUVHdEFCSi9BQk1aSEFTd25TQWs4RlNvaVVpeXBNbHNLZjc0ZUdZQVFVWkdDRm9XR3FCc2dDQVVLMVZnTzhtenAwOUlPbFErS3lmaHp6OXpmOHo5SzJvSUlZcVp5cGdpL0tQenA5V3JWLzBNS2tEMEtMc0NnOGdoOEhkbzNFd0RaUDlzVklHMXJkdUhKLzgwK0hucTQ2SlJDVEZoMGVyaW8yOHNsdVVNbVozNVVsQ3V0NGdUYnl0Unh3QWhDV1pRd1BKaElJV1RGRStNR0hueXhPOGZjUnNISVhSc2FHbFNBenJKS0Y3Tk9sV2FLeXNGUVpiczQwZktQd2R1L3dGVHFNZVBXa2dLSVJBUnZEUkF5RHRiSzE4T2FjSk5vd01MMU5iTlNNMklJU29vQ3hmeDFQaGRJVUtZaXgrZmFCb0NCRWhLUk81QjNSRkROVnRFa0I2RXhFZm9RUU5RR0JRNG1MeC84VXZROG9NVk9MUmhpaG9wRUZmSU5JOEp4S0JSd3ozeDM0VEtpUkhISHpoWThVTWVhSkRDVUE0L2lIRGZSeHdWUlpOai83d1RBNFVzS29hRElDendra01yTmlVQ0VFTDduWmhjaXp4ZWRZR01DRDVUU0hHeU1TV05iTU94MWVQL2trd1drZ05iUkJySEZEbDN2ZE5Ka3o3K2lPVW9JSXBJQ0FLeDNYVlFBVGJoSmQrV1YyV0FCaHBLbEtEQ0QwakVpVWtKU2lpQkJnaG9HbUtEWlBjOWFGbzh3ZjBEVWdsYTV2a1FDNWVvTUkxMHRjd3lpQzNLR0pCZUJvTGd1YVVmQk5XWUZGZEZqbG5taVliYUF3ZUdYTlFSaFNEd05ET09wUHFkTjRBWitjMzNXU3pqcUlBQm1rcEVvU0I5WUVISEZLZUNpcUJrcU4xWVlVVVNyUWdsbGxKTE5ldnNUYktpcWtLSFRVNEFRQzJoMGRRZGVsdkpSbE1YemhHN1RSeGlDQ0pyVWM0V2xzZ0E2RVg2amc4bFlDbUFFMmZ5bWs1Qnpld25BVWdxeUNEdU1PU2VXZVpTWnB5SFFwd0dKR3lRcGpaR1YwNUNoREo1UVlobTRLZlcvMDFrRnVXWVAyYlUreTh3WXB5NUZMc0g3ek9MTE0yZ3BhNWFOZUxGS1Fyd1JGRW9qL1FTS2NHUkREREFWVkVaTTdEQU8wcDgvQXNiU3hEZFJoUWw4S0dvQVQvOG9FSVVVMFFkTmFKdkpuTVJVNE1jNmExTVUwVmhLWThaS0dNR3VqWU5ZTUVDMGpBZ0FUa01uUDNac0VMN1lxd1ZMV0N3UVNFRURKSzMzaXlvME1WUVdKdHI4ek5sZzhVV0VUMkM5SlJBa0YxeDloVUZYS0ZXQVJaWThBY0RLbEViZHpCUWZOSkNiR1FXZ2krdk5uVzlwQklpRjFWNTJ4WlFxYk1aQzl3a3dxbWJtelJGUWd3VHRDQnBNUHRBd0swOFVpeEk1UmFnSVBrelp5TmhRT3gvVlB4RDdTY1JvSUxIbTBhSlVJMk8rWEEzajlPandQelordjBCK2Y4VkM1amhnK1NWRzlDRnY5Q1hSSUN1VVVxbWFYNWswZlRIQ3oxaUlJN2xncFNQeEFJV3dGZnJ2UGVIQlF3SGVPMGppZlI4d0RDTEZPSlA4T2hjaTRKQU1lYUp6d0NZVTU0Zi9HQ0dBdkRoZ3pxRFd3SWZRZ0FDYUVjMG9Xc1FJV2pISXVseHg0THh1QUlIZlZBSFA5U2hBRHdRQktaR2FCSVhOakJLbmFMSjgvWkdJUlpRYndGSU1JTWZUSEErYzIzRUR3d0lHZzlKd29LNkVFSitEMXlLTkVEd3RmK0E0QUxTWWNBR043aU9EVjVNTGFUaEF4SlpPRVdIRU9BVkRSeVJtQ1J3aFF2c3lEOFhBSWtNdFhMQlAyQ3FPSkJqQUIrUzk3dzJrdkJVM1FsTGlRNXlsd3pNYkVLNnVrOWo2dEM4NVZsQVo4TXpvQThvWlVpSEVDSC9XWWdBQ0JiWHhzWUpUV0ZYZkRCWHhSaGdCdjVKcW44ZEswRVhPMm1QNmNreGlMMjZXUUZtNlo4cUdrQ05sZnNaQWdESVA3VDlnWCtTRXlFdDZ4RUVLeDRpSXdtRERsVmFSQUJsOEsrQUJ6dG01UXE0U3N0QnJwREx2QWNSb3BEQ00zYnFlaW55QVFMLzA2dHJsczh4eFBObUFWWXBBV2VFRXgrZmpGS3Z4QlNQL2NCTWloU3lpQVVYRU1oNEhyTWdhb3ZIUFJ2eXhuM0dnelRRREJSTm9uQURGaFhzbXBlTEhERmRHUnliQUhHaDNVaUREKzNGenlOMXBFVVM4TmtsajdtQWdoaVVBWUVpUkxSQXFvMjhSVkkwU2VIbjlZd0NraGhSYUYvSFZGMDhVSkF6NHYzaEtReWJLVTIxMFFraTJXUnhBS0hKZnBMRW9ub1dRQ0NYL3lzZWluTDJENE9FSmt4TDdRWWFRR21VVjk1c0k4QVNZamZPZ1pSaDFETXBKanBxcjJ5Q0ZxbW1JNnoxQ05zOFphTThucExHckZZTkJsdmJlcm1jWldOdFhrS2hwbVJpa2NEaHRSdDRZcUJVU0RNVmM5MmxwOEhJbVdZM3kxVzN2aU9SelRDS0UvOFFqU2s5MWh2djBGZU5HQUE1bHlqVUtEQXI1U2s0MjluQk90WVgreUpPUnV3bnl1S2s1YU9uRllZdGsrSVBvbFp1WjBMeXgzREEyWXZCTXF0Wm9nWEd6ZUx4RW9mRzVDNVNFUWZEZ2d1TTdoVzJxR2VURk9iZ3l0b0NMQUczNmJMSFUxQTBKYWVpSlNsalVZdDJ1VHVNU01hT2VGZndXWnd1Sno3V0ZRQmMwazNYbjdKaEVMQmt4R1pyMjQ5TWJKSlkrZ0tqQkMvVUp2OFN6Y0NIdmdZUWR1bGJINFVLakJHTUZRbFlWS0lKZDI3cllGVEE3M3NUVHVYeVdqck1SMEVoQ0JQaWNIV0xGTTIxRVVtM2paaHVpU0VoQS9rTTFBQVVSc2dDWWtkQTBvcEFCakQrRDVneUpwVjk3c3ZBV251SEFVZ3NtMEdZZ1EwN2hvUVJsemVJbjBsT3lMSDduK3lpZ0xqLzJBOGp2OXFJTHAvektJZDZ5MVZVenZJaWZLbkdzRnlCRHdqaGd4NmtFVHNEenE3TS9oR3h2amJGa1oyR3BzQm5rUVduNU95SlV4cGdqQ28yZ1I4UXNrRXpjTm5QVTJpUmwxNmlacHFVRGFmMmtRMU9pTE1PV0lDVzBZelFGUXJNK0lkSlR0b3hmcmpDb3lzdGdpdFJhTk5UNmc1L0Z2WmVRVHNvaGtOZWdNNytpMnBIM0hRUUpqQkFIdEQvS0FoWkQwSnlBQTAwTEFaTldvNW9LeWtvUU5lMEVZdUNzeEd2ZkNJWVZiRVhRWVRoRG9JQnlqNHFJUGRwZ2ZDd2FOb2xMUkd3anZNWi9YQkhtOS9XZ3dGZU5HNUZFR0VGSXNDd053MmdCMHdSRUhMTEhtUjQ3dmlRT0VNaXRmeHMwTHpSQlJKa2lIbDRaeXZCRDVMUWIwWXNvUUNZQzZhbGgxeXhzM1ZRbTZrMHlaOEcvTXk3T2hiaUxKZk5vak1DTStvSmdnRi82emdqVHNEY0FsN1hxT1VEZVNFMEVCRTBpL2FXaENESU1sckNsS0lrZG1YMTFQV054T0V6bllQaWZSWHJNcmVBSGhNKzhzUTBBNWlHRDA0ZEZ2bm81MkNEcWVmVFRUUWZHeGZKUkQ2Mit0VUpzTTMrb2VBcGRSZmZzbjJpS2Ywd0FHYW5YdHM4Z3oxay8xbVRTZENkaWtmTG9vbmRsQm5LNFQyTWd1U0tpa1M4NTkwdDZGbkFuc0Y2VkJGdE5KaXRjKzNhemJWNGlHYkVtb2FBQTcrWGc1U1h0RTF0aE8xSnBvbXFPbUVTazVLSk9SajVISGd2a01jem5wMGRQV2xiMXRmR1AwUG9oQkEyNTFkam90aG45WktRZndpVTRHbzV4N1F0NVloNUtsZUtiMlR2L1Q2ZXduWm9zOExuNGNTRFpid1kxNE15V2VOY1FyQXVvVDFad1ZHbENibkw0VUV4YkYzeVZmbHp2czkvSDVNbDhnLzZZU1FwZEhxSGtISGpZU0lDZ1E3bnRqbzg4VWIzUmdpaHMzZUlrQWZvVnhMT2RUQUFJUi9mOTM5Z2tTUHJNQllkaGtYOHBBeHRnM0hCUkI0TDJINnk4WHJSUnc4VTFHQ0RRSUdKY0FWWlZ4SXIrUDljd1dKSlJrVUl4UE9CTGlNTFU2WkZUbVlpSm5oTkJtVm16cVVwam1NQkw5Z05Nb0F0UnlFSTJLY0lTdFZ3U29FZWNUS0FGVWRNaWZBek9kVlBNVEZpQW9nV2R5ZGFORUU1R0hWNUU3S0VzckZTSk9FdkdiTmRpVEZZb3dZcG55RStiTGdnWEpFcVF6WnNhRlp6ODNWVXc3U0hQVEpZSEFGL0VNRVdZT0VQTUZTSFdRZ2FWekNKVjNCZFIvV0loaUFaNTFkTUlPRVNUbWNBa3pnWTNwYUVXTUpXSjRGa2JJRWlOSWgvUy9FT2QwWjR4MFFhR0RVSTIxUTVJSUZoc0tSYmFlZ3phQk02ZjhpTHM4Z2t6aGNSUktBQm4zV0JyTUU2SjRLSmx4UU5zOWlCMXBkM3c1WmJHT1puWTlGWEZpRndlTFVIcUhCY0lsS0ZqVUIyRUxIL09zTnhjVDU0TmdCRWkrZzRaSlVqT1R3b1UxN0NnMzcyRHNlbkYwaFFkV0gxU0tSUU1jajNjSzlsRXV3U1lRZVlkKzE0SG1iZ014WGpmZTRFTTlOR1RBYjBHZk9rV1Iwa0h5ZTRWRDUxQ3VMb0NJNEJYQTF4RHNQQlpRTkppK2cyQ3hpVWtGNllpL0NBZm43V2Y4V0VidkVRakhKSEg2Q2dGYWFHZ1FLeERyVUFPNGlBaEZKMkhpRFJoLzl6ZVpEalk4WFVRVUZaQ0RvakF1UVRrNm5BWU5uMkVHV1RIM29Ca2NkVENBWmxFQWF3amhOSmRaZVhsTjRua2oyWVNYK0hqT05tQXBoSUN2QUdFY1gxRjhvUUN5MTJqdkhrR0ZWWlFDUHBlYk9vT09tSWdzRW9iUEZpZFJaZ0VHU0psa2puRFI0SmJ6bGpCZ2RwbGNIMGg1dVkvM3dqcVliSkoydU9BNWZCS0FiaUpuZlRrSkdnZ0doUWFRNmZkVi9vK0l6Q2hwak5jNFNHZ0c1WkdZeDZvQWVQcUhtSGdHV25SWWVNa0FlamdaSGlvSmJtWUlMcWFGQXBxQmZpMEJma0U0eS9kd2luSmx2MDlRK0J1UWg4b0ROWDJBZ01zQi9LazV6MG9GeHh0NXUxcUVrSU1Ja0k0Wlo1cVpnd3FYTnE4dzl6NlFoK1FGQ1JFd3BYWUE2R1ZYVDVJWkM3aVhGcXdab2tCd3Z2YUFqZmFYWGgrWVNLU1dHZmtBRis0QS8zaVEvdFdXUStTSXMzNTA2VzFrb0J5cFNGd0FONHdRRHU1Z2oreVFCNkVBcHFzd0RHMlpGbVlvNklBRk90VkFpZ3lhQ1BVSTRtNEFsNXNLQ0s0QWM1MUJQbGVKWklLWjBpS3FIajQzV080QVEwU3Y4ZVlOS2NWaG1qcEZBSGJ2TUpxeWdlZEhVK0tNcWpKZGFKTG1xa2N2YVJobWdTTjZpa3lxRkhMZ3FqdmhDV2hqQmtyUG1jUDNCZWx3bWxiWUYwc0JjNHBKZ0lWcG9JNGNrNkhmaDdYRVZZS0xDbEhHY29RV3BJQ3Vnc2JKVlNhYXBaVjlBczRGV201NWFuYldXbmFYcEo0L2tZMFlVbUEwQ2xiYlNFcHBoUytabFR3OGlvNi9sZEFhRlpxOU5aSTJRT2NlcWxXVFlRbXFtcERwYUd1T2VwY3NZdXloQ3FvcHBsNVFpT3ArcGdnSmVrcS9wWVNQcXFXZllVZytrV2h5R3JKUUV6dFlvVlk0U3JKVEVjWDZrWWw3UlN5SGdGcHVxcjNMQ01yRkdoaGhpZHlFb1BaNmdjTHZvOWVYQ2p6OXFVRDFTb0UvSjdxV1N0MXpvS3d4alBYeFR5ZjAvNnJlQTZqRHppZ2J0cXJveUFEckk1cnI4SGJqcktydTJLcml6eWZlRW5nL1FLQ1F3b0FVVzZIUEVxYXphM3I0K0FEdjZLcUFBYlQxY0FFcmRKc0o5Z3NIQ1lybkU1Qzd6bnNJMEFzZis2SEo5bmd3WHpEZ05yc1lRUWxXVlNPZnFwSEg0UXIreFljeHdKc3NRMXNoWXdxQzBTcUh5QW1PWEtzdW1BRkNwVnNzd0JSZHpxclRhTEh5T0xzQk95VWFyNnN5TlVPVVZydERNaE5CK2t0RTc3dEZBYnRWSzdHdXM2dFhGenJGWkxMUDRxcUVVaHRGbmJJOGhKUEY3N3RTMVNCd3hqcjJRTENvRUFBQ0g1QkFVREFIOEFMUDRBU3dCM0FFRUFBQWYvZ0grQ2c0U0Zob2VJaVlNWGpCZC9BcENLa3BPVWxaYVhtSDgzSUZNcmFVdExiUmdyVUgrT21haXBxcXVETnhscGNUZzRTVzAvYlVsd09Hd3FyTDIrdjRNWkZ3SXFjV3cvSlR4K3k4c21KV0k0WWxRM2hEZW53TmpaaHhod2NDcDV6RklhSUJrZ1VuNThLdDBzMURkVEdGVGE4dGtDTWtrNFB5Yk5hRUZRL3Y5RTBBQlJJZ1pPbERNcTdtR2dOcS9oS2dFclpnbFpwdUhQdjRzWEE0SjRnYVBORWg1ZHVEQjBTUExTbEI4ZHdVa2g0ZzlEbVRJWU1Nb0FzUXdQRVNzNGVPQjU4VUpBeVorV2NIUUJaMEtHdnpkeGFyRTVZZFFmR21iTG9IUVVFSWNMMEt1S1VNQlpBazVEVXhrYmVQMjVBdWZOUHcxKzh0alMwSWNqQmh4cC8zeGluVXVvb0Q0Ti9tVEllSlBFaEp3MWE4b3c5VmNSNVo4bGZnamt3dUdqUUFHNmRMdmdVT0duS0pRM0wxcFlZYk9taWVjeVpRV2h2U2NyaXArM1lndzRmZ3daS0pKWmRSejBlNU1yU2NFNG5oZkR3ZkNISnVsb2ZtNnlHY0JBZ29UV1B3ZXd3YUVrT0JRWm9KdjdjWVBqcFN3dVhPTDhlZHBHRmc0NEprQk13TEVFQlFMa1A1RUk4b1AzdVJYRWN0eDRibExtdStja0FJamdFYUk3UEpSWW13MkFua01TTERIWkh3U1VJa01MUytCQlh4dnpRWGhmVEU4cEFRb3ZhRUR4VmhMRERUaVBCTXJsNUVBcEZvMG5SaXhXL2NIYmZFbFlCQVZOVUxIMG4xQWV5bU1jQXNDaDRhSS9KK1JTUmhPQ2xQRUhGMDBrTVVGVFVLQnhEdjk3L2dUUkhRbzFabU9jQksvOUVOeU8veVF4SDMxL3hGSEdDNlZjSkVNUVFUUkZCSFZJSEJlbEx3TVl4d0JLSlFDQlpWNG5sTkZHRzFiaHNFRk1ZV0owa1J0dXdOSEZsR3YyWWh3SzBBaWg0NXoreENMTGJrZ0s0dWMvZ0hFNFFKdUZxcExtQUV2RTBRMFBSQXd5S1Jjdm5QQUdrdjVJT2lsZ2JmeUJnSUFDWnBxSkNBaWN5QmNjR2NoQWlKOTZvVXFpcUJqOUFSaDFCb0FvYXlwaS9KSEdmMGxrVUVpZms2WjZpSmpENGxCc3JNZFdZb0VGZjdCUkZtMWlFR0JJdEJkTlFrUzFQeGliTFNYYkxvQ0FDTE53TVl1dTB3YjdxeUxZQVNhVkQycXVxOGkyN1Y1UkFEUnhlSnBJbnhZaFFtOGhaYlFvMVJJZ1l1dnZJUUJid0VEL0FUN0E4Y0k5YWF6eXdodUhOTnpkb0pkT1RISEZGaGNBN3d2MThZYUtEQ2ZnQVBLNG5zTHhhc2ttRjRKeXlpSXNGNHZMcU1EQnhjS0V5TURSY0RqblRNak9BaGVBZ0dRNHZQQnlqNFc4TVRNVU1VTjhxY1JLLzFIeEFtYUlVQUFEQzVRQWgzYVpHQjNId205RW5kY2Yxb0tvYnRlRFZDd3dDdHZxMFYzSG1ieUZnVjVJNFREQlAxYll2RFhkT3UvY2JoUTRwSmpKUFhIY2c4c0xaWTdINytHSUw2MDQyRGpFWVRVcVhEUjhncE96dERETDFrbGp4ZTB2aWx1d2dBcXovREh6SmIzS3dHb1pCYUVRTWRlWkM3S3QxeFhyQWJ2amw1Qm9PMkNCWFk1Njd5ZWp2TUFQU1FGZFNhckR1c0VGMHFqenpuenJldnl3R3lHekkvTFAveCtBUXBGRUVnanNqam56aWJlN2dCNW1lTTYyNXdkL0RtZ3hiQ0R4cW5ITHMzL0lBZ3U0UWdsVXdJWWpLZXRJdE1HQTFjSzNRTmxCd1EzZXd3SGN1clVFSHhnQUNWQXl6aC82aFRnQUJyQUVQeWlJTEt3Z0NOb2dFQWU4V2FBS1o1YUdNaGlqQkVxSXdnK1dnQXZ2ZkVjTVhiaWdlVFpJcUEwZXk0TlhRTUlTRmtPTEtIVEJDbm81bjE0MnBNQ3FwWUVMTlp3QkRyNmdndzVvSVFRaEVFSU1WZENHRTlud2hsMzRnUTRSY0o0cHFjbU1ndEJnRHdlQlJsOWNRUVhRMEVVYlNpQ0VFQnlnQXgvbzNNLzhJYTljd0NFSkxHdVlwMlF4QXhLUUFBY3pvSUFpRlltRkNsUlJDMXA0UUFtaXNJSTdpV0U1WDRRREcyeXpoQzc0d1A4SFlqVEFEMFlaU2dPWThnZWY5RUVYUUZFZURsN2lmVmZvQWlhVHNBSWg4RUFMSHFqQUloc2d4ZSs0NkI1NTdLVjM0REFEQlJqU2tET0FReFlvY0lkRk9wT1JGWERrQ0VMQUF5MU9RWVllRVFNdXV2SEZibnJ6VWNuMFFTWmcrWVBsSEVNSk93aUJEbWp3VEVXNm9BcFZFRm9hT0ZKSVJPTEFtTWZNSndrVUFEZERWcUdkQUZVa0RSeXBnNExxd0FNajBBRVlGcHFDS0RqMG9RL3RnUkdNOElVR1dMUUJMbkJCRmc2SmcvUlZBb0JtNkE1NWtoR0NEbUFob0l1OHd4MFVJRUVKR2xNVytOVG5QcE1KdHhuOElaRW96U2xLVmNyVG52STBwYzNjcUJUVFJRbVFTZ1lPYlJBQ0dVYWdTNEQ2OUtjS0lDWStpeW5UbVNLU0JJdi9NU1lUZEpwU0NueEFBVndOS3dVMnl0SzQxYTBRSHZ5REhxNWdJRGFzUUFrSGFDb3pmK29DaTFiaEEzajlnd0wydXRlYnp1Q3Z4ZVFuWDZPS3lEOGdzNURIVkdsT20vbUJYSHhnc1Q5RktWbWx5QWJkMVcwQlBrQkNGOFhBMmM2eVFRd3FlSUFPbXJuSWQzNDFtVGJrNWl3VWNMNGtBUGF2ZmxXdERmOUF6TmZ1dFFvWXplaGNmL29CbTRMMXFZcTFLRjRWOEZpQWJwUUVVb1NET0Rsb01UWW80TFd2L1VBdW4vbmNaRW9WcjdodGdDSWJJSWdHOFBTNE1oWEVNUVZiWFpzdVpwamQrR3RyRnhQWXdicjJyOTJJYnpHZmVkem55cUlMSHRVWkE5aFEzTjFHbGdLRHFFRURjTHRNbnpwVHBYbjhReFpJTzlhcU9wZ0VnOEJvLzJObmdkZXZzdlo4ZkcwdGh2ZGFZWXdxVXJFTk5xUjlhWlM5UWx4aGdyUWRCR0R4eVlRc0xIT3U3ZnhETysvQVN4ejBkNnhaSU1TRERkbmlEM3VWbU53VkJIQ0hER0xTWm9FSjQ0VURiYnVndSt5bGJuV3VRc0lvL3pCS0VWTDFtQzUySmlLY3lkTGZPdFBGVERoRWkxLzh6RHU0b012TUJMQ01aYXhsTm12NXlQa3NxM0xUNStUMUNXSUIvd1BnRmFMUXFlOFVVN3dRVm5BaVB0eFlPSGhYcDRONHBwcy8zQUFsSHpxc1lJNXpMMU5ENXpyYldSTGNBaUFEU25DTFFmQ1RFR0Yyc1NIU3pOSVBxS0xNWjRZRFdDVUwzdkgya2cxTWJwT2xML1dxVEFCTXJSWXdnd282cFloQUMzcXVlTDNES2c1TVkxV3oyY1Z3MXVkekY4b0RheVRNdXM2OVdOMEhaOGlHUW54YXh4Qkd0cWhSb1cxa04yREh5L1pPczlPblBrdi9RWHVzeVBRQ0dLRHJMdUJDRUloc0w3WjNUTzk2NzNQRXN2anNEMUFnNjJlWExIWHp5TFFlY2kxbEdub0xib1Q4SzE4QmJXOTlBbHF2ZjdYaEpwZXdiMytYR04xWGFaTUV6R0NHQVliUVc5K3NMWFJIRHRqekR2T3pPZVMzeGkwT0szL3hEd0VvUUlJb1Y2bE5ObmdydmpqUHVjMXQ0OGt4OXJ2YzVqNTMxLzR0YS83Um1veElSL29Wcm1BR01xNmM1ZjN6bnlLZUxZRUZXQURxVWcrNElTNk5sVUFBQUNINUJBVURBSDhBTExrQWJRQ1NBRFlBQUFmL2dIK0NnNFNGaG9jRGhSSVNWd3dTaDVDUmtwT1VsWmFYbUptQ2l3eWRGcCtmQzQrYXBLV21wNmlGaVo2Z241Mk9ESWtHcWJTMXRxWURBNXdNclJhZGk3ZkJ3c09TdVlLOHZwMVhpNlBFenMvQ3E2K1N3TWJRMTlpWXI2T0prTHFMM2RuaTQ0Yk4zcm01NE9IazdObnJodWp4aWUvdDliUy9sZC95OXZ6QkV2aVUwa213MW94ZXY0UDVBRVl5OThjWVE0UVFNeWs4OXpDaVJWTVdKc1c3eVBHVWtHSWJPNHE4aFc2a1NaTFdUcW84bFhLbHkwd3RYOHFrRk12Z3pKdUZTdGpFeWZOWXo1OUFnd29kU3JUb29JcEdWWlpNS25NcDA0aElTcGc1dC9PcE13UllEeTNRay9HYzFYRk9DL0ZpRUNuczEyZG1CMzFDS2lqbVdXSnArUDlJK0tReDd0dGFJY1g2Q21qM0xzdTRjeTJ3SllSdXNGOU5kbDFkY25zWUYrTS95SEExZG13VG1lR3lqeWRqZm15WmNtYk5oTzJPdlp5dnIrYThpaGdzSUt2cGlXQkVxRS8zRGN5YTFKWFZTUGMxMW4yb3N5a3pyUnpCbGxkVmFHeEN0Rk1oa0l2TVYyN2luMzlXSGUyUGxmUE4wWTMrVyt1TUV5amhRM2xmMnI0WEczbFhwRU1maHdhZE9LYkExOG1kajgrM3ZYMzdiZS9yZHkvUlVmcnUyeTNRVlgzNzdaZGZnZTFwQjB3cUNGcUQ0Q01XTEpESEFxRDFzd0Fma3l6U0NIaDNXY0FISHdLK0l1S0lKSkk0Q2lOWExJT0pINzFVS0lnZmZ2QXhZaTgwZ25LaUx4YjRrWWtmL3Yzbm9pVVVhaEtrT0lFQUFDSDVCQVVEQUg4QUxGWUFKQUF1QVlrQUFBZi9nSCtDZzRTRmhvZUlpWXFMakkyT2o1QlVUbEVxS2dhWGhFNVVBZ0tRbnArZ29hS2pwS1dtcDZpblBUNGlyU0tIcno0cVZBK2NxYmU0dWJxN3ZMMm1Jd2RES2dWL3J3akhLTWxJeTBnR3JDSStCazYydnRYVzE5aloyU01qSGdiRklnVklmeExrRXVmbzV3akxCUVVpUDV1ZDJ2UDA5ZmIzZjl3cFA2MEZLQWgvQmx3cVlBQUppZ0dGMEtGbzUwNUZMWHdRSTBxYytFaUhEZzhwM0lrRE9HakF1b0hoeGlXVWdJQmhBUjlPY2xCY3liSWxQUjBwVXVodzhzY2Z3a1hyb0tFWUtkQ2ZnWGRVWEFvZFN2U1VEaFUrZkNDUWNOTWN1a1FDUlJobzZoUkpBUVEvQ3dRdHlyV3JWME5EVm9YYk9laGpRV2FLVUlTamlzN1pBTFVGLytSOW5VdDNaWjZTWXdXOUplU3FsYUNyVHdraFdLc1hZVG1DZjlRYWtGdTNzZU5zU3E0UTgwRVc2NkIyS3NEOGVmSkVFR2NFWmdhY00vUktMOWsvSlJFaWtmb0h5T1BYc0hWaEdCd05JVjVvS3JZYzBqd0lEQmduQ0tnS29pd0lDY2MvbUtJYThCTzd1Zk5STDc1Ti9ldVhkNk1SUTNMOEtDRDhENUp5QWprS3ZQbno5UFB6NkJGTnFDa0NCUU1KY0ZXSTBzNTlaTGwxZzFCOEx5NUNmdnIvQVA0aGhoaHhKTk1PUUZxRW9oSjl3bzJXMkhFQmxZUGNIejBFYU9GelZsanhoeFZ4Q0pMQktkRklLTWhUNHdueWo0Z1hwdWdjSElJUWNVc0tVcUg0MUQ4ZE9hamlqVGg2SXA5SWd3UkdpSTA1Qmlra0lzU1k1K01BTjltNEUvOU5ROVlGQWdpSWdKQ0JsSC9jUUVDVGhHeEJXSThPSWtCV1lCSzBneVZkSUZ4ZzVnVUN5SUJCRkZFWVlKSUtUaWdCNVpnbHhQaWpoQ1dhVTlZZlRJNHBGQUVFRUVGQW1VcVVFRVV6UGdqaVNqVHU5R05BRkVwZ3VSb0tJaTRsb1VFak9rZ1NBMzYyaEFjTGxQemdReFFYT09GS081ZWNkWkE2S0xnNTNCOVJERG5GbG9tSkpraEpoWWw0aFJJc2RDcFJoejhZMEVVL3hKQjBUSENHZU9rbE9tKzUrb2NQR1Z5UUl3QVkySWthcGVCZGxla2dacVFCQXd5KzNwT0VvdUVVaEd3alBZbUFoR0hudktXUkV0TGVlT1UzTncyd3JvU1hNR0NCQlVnT29rUU9PVUFSN2p4aWhGUGt1UjdwSjlJeXE2SVlrRlh0Y1JtVlZHakVxNkwvRXVwZWFtbGlCZWk3Z0JrN2xRT2ZFamNNbk0yNFMwRFlhanVsSlVVSVFhc1dvcHlJVEdFRlRRa1dwK2ptVFZpTk5rQUJaaXhnQVFQZm1FTlF6aWIzd3FFVlNTRGpaanVKL3FCQ0ZDeUFXc2t3ckNTaTFrZzF1Uk1GQ0l3RmlER2xnaGl3RkRrRkNiM0FPa3hKNEF3YVNXc1RCeHNESnZFREhvc1FBR3ArRGc5V2RLWldlWDJsaXUzYzFBd0RpQyswcndWWFRDVUJBMnFSR3ZjOE1nalNLeU9WLy9HREdUNG1GakdYVDQ4NitJWHljWVFWcHd0YzRjTVZRbHRnOWgrcGg0UDA1SDhxd1RtSzlQNzRNeVpSaFAxZkZER2VZd0RyUXhPemdDQm1FUEpObjdRWFJVQm9oVVJ6WjBrbHlaSWlDejUwYk1FQ05HNS9TZXRFQzdMMi96dEJOTzlWZlh6ZDZiYlpJblN4Z1lWdi9OSEZINngvUE03Mml1L0wvU0FNRUdPK1Z5RXFSTkhPaFFJZjJFdHptUXVRQ3RvanRDdmM3Mk1GdUlMK0p1UUhQNnptZjEyWkFtb0VXQTRhQmNRbTdSZ2RnRmdnRmFGNTV3cXdxNFB4K01BSDE2R1FmdUhBSUZlQ2hhSitIYkJzNDRoY2luNUFQOWloSUhrVnZFb0Zpek9JUExoRGd6SWNTaFRRbDZseUdNZEU5QXFIQUdiM25GS3BTdzkvTU1NNEttaVFPcnp3aFgrdzRDdW9tRVNKWU04QU5CdU5sL1JTdE5WSUxrQWdhQWR6VEdDQVBGUndIUXpnU0IyK2NVZldWSU1hUkNCQytlSlh4a1hJaHkzM0VVbUpmbGFBYUZsb0dIVW9HdzhxZUFVRTFBRUZGZlNEQWN6QWg0L0p6djhYUkZoQkdqRHdBakc4QUFOcHFKd0lDMWtJNFAzTktYa3kyMzFFd0x3QXZSQUpRR1JPSFpCZ1J6K2NSakkrVUlMdlRuRURLclFCRGppQXd4Sis4SU1sc0FHWlNZRENNRm41TENZKzVZa1B3dGNmeUhnZUpOd1JrNW0wNEJWWW1EeEJ1QTVXdWJoQkJuNEFCN3VWd0FUaDlJTUpWSUFESEhDaEVOUW81QUtOQko1NjJRbzFwYkVRRHhmZ0J5MytZWEVMd0dVRGUrZzVYYVFCRG1Jb1FUaE5JS1VwOWNFUFBHZ0REbDZ3elQ4UTRBVWNaYVVNck9VVSsrQW9LYXhyM09Md2g0TGpXV0FRRmhqTUxTN0FBakd3S0pOQUlFQVFvTUJUbnNxQUNHZ0FRUlRZa0FRbG9HRkFPSmpDbk1xNG5hWUVwbDk2d3BFSUVMQUFCaUJCWC9yL3c4cnhFdHBTQnZ6c0ZtbkF3UkkwVUVFZUVFRUdQVTFyVHdlbGhEakVRUXhScUFNY2tGaEk0SjBHU1JKYVkxUUY0UjhBRFFZSng3dnE0ckw0Tjhzd3hYK25DT3NQS3FpQm5VSmhBaWM0UVNHZ3dBSXBWQkFJVU1DQkdQeEFnTG15TW40QlJNM1pVRk0wRzMxam1zMFpUTWU0SjhGOS9ZRm9qOXZnVFlwVUNnR3NBQWVMOVlNR2ZEb0JOalF6RG9RVWhHVXoyUWNNNE9BTk1zREI1Y3JZaWFiZUNsdWtiZUt0MEFtZ242MXViYTFkbkN5Wm9yekVrR0lLOUd4REJVSEEweis4SVE1Q3FPQVBrcEM1SURDbkJFdG9ReDFBRUFjNGJBQU9xMHppSVovcnMrbUFDYkgvUWNoVVB4YTBmU0d1SUNQNm0ySWM5Z2tjSk1HTzVJV0Mvd3lDTUlFbCtBRUVhMWdEY0N0WFBoT3dvWjdpelN3T01FQk5RZFJKUE4vSkZrSkVJeUczOWRVYTZXRHdMdFFsMnNXOXAxWG93QlJBMFRnS01lQkFvcnVGd2h0ZWNOOGxyS0VKU0k1RFNNc25oSHJXa3dkQUtNTWZYbHpJc1lFSGpkbENBS2RzeEN0ZXhEaU5NdDRGdlFhQVZVNzE3RDRkSVVpWUcyRUFzZnBCQ3BWN1F6M1o4T0V5TktFTlZraG1oMlRRQng0SW9wNHE4SVBBMkZEaUM2QWhnT1BKVm9HNUt3Z2xBTXJMWDA0SE5oRExnQ3NnTGlDT2V4Z2h5QVlLQkNUVHowUVFXQXVTZ0FZLzFJRUw5b3hEUFp0UWhoZEFRUU4xSVBRZjNQeFJITkE1b0RJRXdhRjVqSnl6L1N4b0h6dU5HUjZOaTBnM0VVaTgrRVo5eVA5OERIeWRqU1JjV3ZNaUVpWGVEQWhzMWxId2d4eU8zSVkvakNzSlNJNG1BZndRcTFsYk9OVElqTU1TcEIyM0IyUlBaTnY5R1ZXSE5vNXlETnRGdWpDMk5zYkJSTGFWamRQcVl6Y2l4bFdDUDVTUHB6aFFnUlNhd0FVa0k3a05EbzhtRkVCQTdqYTBZWktobmtBeTUxZEdFR0N2QUczYjVQSENORzlPaldnQVB3aHBnUHE5bjhSZ3VhU1M5Z1JBMkJCSlFmQTBDWEJvZzZxN3pmQjcvb0VMN09VcFdUTXBoVC93RkpubWtlR2hPM2JnQXRkazNyZFNoN2NsKzUrZEtHVlBlUVY1aTBXRzEwL3NwTnVENkdrUzZ1bnpQNmhhRUIweU9rL1JJSVU4T01EbVJKQXlLd1ZBZ0haNERKY0g3Ui9VdHp1WUg1UXZRRlB0Q0s5VHMzWC9jbUNsTzR1UUFBK3puY0NlWWdEY2dtakMyTXVRaEFsa3JxY3l5UHkxMTZEUnBHT1FDTm03ZS9LS0IzV3llTkx2Q1VRUEsrNDZuUStPdGtzQmNjUXh5TEVFSENoQkE1T1ZjQkx1U2VKWnZ5QU41YlY1V20yK0JqZmdscHFoZnlrS1d0cy8yTDJVSTZuendRL09lb3JPNGVObm55dWJyd0d6clExQ3lCQTNXY2hWR0RCMkh1VFg2TVoxc2hXUWUyMUNEUDhQTXNod0VzYkZTaDVLOElRR0Jwb0pqOU8vQXVqVUZDTERFdG1ISEp4V0xIcUJKNVRCWUpLbVd0d3hEbXpRV0liUVUwT1dCSzZHVm8wUWY1eUhBOStIUVFzVU5ONFJOSHp3TEFYMk1meHpFdmcyQ2l6V0xvL2pWUzJoSC9pQ0xXK0JKNGpSRVY3eUR5eUdBS3MzL3dEaklnYTRod2crcFhudHR3aVZzd2FaeFNQNnhWRERvd2QrMEQvMWN6eC93RUkxZ1Fvc2hoQ3VoWGpaY0JoVUFSQ1hrbUwyNGpNRUVYN3VBQTdjVVROTE1RNmF0VlNIb0ZhUDRBWi9VSHc0MEhLRjlFTERRMGtGVUFmTWtVWGR0Vnlpd0N3U1lHQldlSVVGZ1NKYUNFWHRrbW1Id1JSWjhRODJNeFdpSVJvb1VFOWRjSDVoRjN5Tk1BR2JsMW04VmtpY3dnY0dNRWwrSUJrRmRRZy9VVXVmQUI2UHN5OENkdzF1QTRla2xWY3Y5enFYRVJYdXNWVUw4QlBCTVlVZnRnU3A5d2h2c0I2R2NBSkp3SVpFaUZ1cG1EU2NrZ2NHd0FBVnBFVjF3QkU4VUVmOFVXNG9XQTVWT0JIK1ZoYURsMks5OWpLMmFFTGlNeGlVZ2lUMlV2OVA3QVVLVnNBaWhpQURMN0FFYlJoV1BsQ000U0lmazdSSGRtaHFYb1FBelBHTWdpQkdUc0JOZjdCVUw2QWhIU0VJbkZLTkU5RjEyQ2dpTExhTlpWTU1VRGNJNDdNVEp5RUNZdkFIY0FBSHdmVUlaWUFEQUpDR2J3QUhicENCbVNoRHcySUdldEE0ZkJCT3gxQldCckFBTEdScGk0QUdQS0FCUEpBQlV4QlhlZkJhaVBOU1F4TjdxZEJQaXBBa1BobHRoSkFuMjJJQXA1RkRUa2dJNDlNb0JHRUF5SVFEYWZBSmNQQUNGaWdEYjVBRWhBUUZjTEFDYThBRmNMQ0JHQ1FDckdNRzM3QXZLZmxEWmZVSWFHQUNLN1U5cmJOU0hmR0hvT0FSZ3hpVWVNVVVVRlZTZ29kSXlNRWo0L0NRRUxrYVVtRUcrcUlIVVlCTXZRY0o5clgvVTFpcGFoMHBDRG0zQmtuQUJuUVpOd0xBRCtOa1VBZ2xjbmdZZ29nZ0R4bGdZNGhUbXFXcGsvQW9jNnhRRzFiWU51bGdReWtvUUJBeUdzMlFIeHRrQ1AwellIR3BCL1NrY280Z0F4djVjeHVKQTNIQVljYmxsZXFXbXI2aW1Yd3dlNTNwZ1NZWG1uUjNVRU1UYWRhcEN6L1JDdDhoSEhsNUxNZXdrTmtrbTJua2N2a3hnT0tqR0hHcFAxZmdZS0F3ZHZYMEFtT0hBVytBQVhBUUIyNDRrcnh3bVY2QlBkZjFROVQ1VXNPemxJaEFBSnp3SVgvQUE5WXBhY29KQ200U2pqS0RpTS9RRHpEb0hRNGpTMXpDTWVYWlVreXBPbVNabm92alkxTUpDVHoxQmlSYU9hcFdUeDNDZVpacERlSUlubzhSUWF5MVVrUURSZ05Lb0FLdy95ODhjRHRmMWlPK0lETE00bFFrb1JFbTBRcU1pQndWT2xwNmtob21Va0pNK1JNdCtaYjdncGc0QUhhUDhIN290d0ovRUpJYWxnM2l5R2lORVNzUlpBSHVJYVBsaEFnWFlLTUVvQUU5ZVpCZE9wZnVzSHltaVJjSFlhVGllYUZLNmprdENaRm0wQW9lT0ZnSDlUSEVTYUlpcWxaUUVBUVpsbUZwc0FUNmlRdU51SmQxd1IxdmdWV3V4U2VKUUhlQXdnTnJpcGRjQ3A3Q3cwQUNxZ2VxaFJCTVpDTC81QlIzS2xNdkpUNnIwVEdIOEtFYkphaFZxbFphV254TnM2aTUwS2FOUVF4SUlxbU1nQWVBZ2dacW1xb1R3UUFna3h3QjRUZUkwRC9EVXhOQ3lReHpDa3ZvSTFOTk9tQ3R5ajBpOEdHTEdhcytsV0Z1NEFaSjhJNzIwUCtpdGpvUnhQQTNXSFdIaXNBRFNvQ3BrMm9JQzRvS2F4T2g0YkFVUCtHQmgzQnBSZmszL2FDRldYWXJ1T1pEckpxc0dyRUVjWUFCMmNvSWFjV0czVm9HWXVDbzlOQ2lkTUVqbklLdWFXRmpMTEdxUDZSRlJKbzl3b29UMk9jUHg1QVZLU2h2L3ZwYWhSQ2RoZ0NxcnZBRGRVWUlHYWtJVU5DdEtsQ1p5S0tneU9ZTDRqZ1g1dWtJU0pDcFBIb1BiaE1PVGVoSnJ3QllqVEJWVG9vNkM1QlFOTVlVQmVSZGZ0T3hpTEMwMGZkaFRsWjJncEFFSVpvSUpCcXpLNEJNY1BCTVJDVUdTOUFGd1dJUUhqUWl2WkN6WGpGVkMrcDVlMVVQY01FQTZYazhSZXVOaVZBZTBVQzMxT2xKSUlkOXJuQVFNYVFJUzNzRlVkQUZUc1lHYlNEL0J1WDRCeVRHbFZ4QW9pOHJ1WVRFVGl0UUtNeTBCSXg3b2s2V1RHeFF0ajlnRUxNM0dqYnlyblJSUGp3MHFvMndSMzVwdXFod0dOY0ZwWjRUc0V5cGswL29ERC9CT3VhVWYxZUh0SC9CU05zalBoQ0pSU1hBVHVTb0FrTEFCeDdXZTBsUUJrZDNUNVJMdVVhWEJpOXdvajF3RVIxd0FGcWdCU0VnQkVwUUtDclFUQVFTbFU0V3RtSmd0Z3lqaU5HMm82OFJCTzZidWhKQXNZeVFSdzdqdXJlZ0Z2TW10YkZEcmVJRE9VOHpQTm41U24yYkZTTEFTWFE3S2UxZ0JzZlNoR1l3czhjckJEWkFCZ2VnQTFXQUE0VktuejFWbndkYlhtM2duak13QTM4d0ExbEFBU1Jjd2xoUUFSYlJBU1BBdmQ1cktPR3J1Yy9VdWVWTFZQTlgvOE0yUEg5TElEMzJPdy91Njc0eWtDZ0MzQWp2c2NOaXRqcCtTZ2k1YWJTd2s1c0dZekRGb01Rd1piZE11ajEvbFoybDRROVI0R01PaHJ3YW9BVTZnQVVsL0FFNDBHcmVOcjFPcG1SY3dBWHdXVi8xTkFNa1FBSUtNQU00UUFJZjBBQWxmTWQ0VEFFbmpNSTZvTUpENEFTVE1Ba3IwRXhMZ0hNWGVjaUlmSkZPVnBFdEVTK1o5OGlDME1NQ3N6cWVrQWNRT3hHSHBUM3QrakpNV2paU1lXbVE0eGNNUkFqcTZRNVU5YWZseEFyaWdBUStvTVcrQmNFaG9BTTFrTWRaUUw0WXdGT29wZ0FLSU1QSk5BTUs4TVlrSU1lOWpBTUtjQWQ1Zk16SXJNZDdYQUhNRE1iSm5BVlpBTWUySnBZUlFaTVp3Q3VDWkhCQkVFaFVCZ2xzUy84UllkS2htNnlxNnJKVnFLbzIxdnJFQW1xeEJleFNSS3QvVi9BRDliUUVVWkFITmpBQ3pvek1MdkFCY1Z3Rzh6bHJiNHhNYmd6TWJ4ekhPT0RMVWZuTHlWekN4bHdGU1RBRGRyelF5WHdIV2NBRUJZMERxUEhORStFSGIwbVRQRENUTVFVS0llZ1I0MW9OSGVRbUEzYkUvTE44QkhrU3hMTlMzK0JIcE13NDd0Q24xaW9DNVNEUFV5b0VleERMeUN3SWR4RFVRWTBGWW54MkEwM1F3QnpDQi8wSGIrekxTVzBJREUwQlZTREhjUEFCeUN6VXhuek1GVjNRZ3RBRjdlS3dFV0VEVllWVnV6czBOVmVLQ3dIV2N0c29yMkFBY21rSVRoZzdlYnBTcWFNUk5QcW5nOUdoZzFBZVp2QmhQOEFETm5BQStYekhRdjBIRGRBQUg4RC96d3FBYy9VMGE4blV5ek1BQjVIdFpCLzhCN3A4MmIvc0FwbzlDRUtkQlI4Z3h6TmcxVmlkMVM2QTJMb2MybmdjelFVZGxUOGdyaHFOQzM4M2JwQVFZOVczTXhLUm5RYlJLQVUyemt3SmpuaWJWUTRwb0xCakJ2NmdwK0ZBVDJLZ0JHVGdBVFJBMkhjZ0NLWTkyY2trMlRPUUJKZjl3ZGlkM2RvZDJZT0EwWjBMdGhlSjNaMXIzVGY4d1lyY3hncmdBbjlBQVZ0ZDBNSzhCT0hvMnJ4UVBrSHdVNTZ3QU5ZbkNxTHhoUkFCSCtFQWJKSVJEblFydGNMN0J5cXJvVFBOdExUYnQzcWdCMVNyQjJyaFkxM3dBRHBBMkJUd0IxVVF4MUVKQjR0TmpnMEExRUVkellMd3hvZEEwRXlkMUFaTnpJbDkyZlBINGpXTTJZbDkyQTNnL3dKQi9RZXE3ZDcxSkFicjR0cHEvUWlrbUk0OUxBTkY0QWxYY0xQNkxRNFM0UTR2VFQ4YVlhOFFHVlBOZ05KUVRNcTVxYnY4WXdaWW51WEUvV0V4VUFGNGpOaVQzVTRmVUFVdVFBSEcvT0Z5dk41WnpkNUkzZVpQVGVLQ2tBV0dyUUFjUHRvMWJ1ZWovUWMxZnVNNDdtQ093K01sUFFpUEhBUnZwd2hvOE1pWjE0T1BnTjgyWkxvbUJ4QW9RT0R6OEZkeE9kd2FnYktwOHhPRDBBKzhMUWhYWUppRlFFK0pITmt6VUFWcmZ1RzdMT1oyTE5SNGJNd2ZjSkVmc09aODd1WnVQc0lNM1FBZi9PRWx2TjY3L3RPenZzczV2dU04UHBTUUVEOHN3QU44dXdnWlFBVkd4UU01NlFsNmlSQm5EUWw4SUNFN0llbmFRQklNNUtlWnZ2K3M0ck9uSUl2bFQ3c0l3cjBBU3hEYWlaM3VNVTdDaEhEWVpuN3FkeXdJSkd6TXV4enJkeXpuSlk3VXR0N3FGRURuOWk3UkpBek5CSzBBamcwSFhYQVFnTjdqallBQkdpQTBpQU9haXFBSGNJbnRpaUFad1lHeW9VRHhreDRObFY3Z2hIQUZVcEhzbGc2ampyQUFpTXZMbEUwQytLN25hODdydXo0SWhDM0dCTy95N0YzUmhzQUUwQ3pSejQzUkV0M2VmYTVaWnBQd2dZNElsaFp6NU80ZGRmZ0FuckF6OHRzSVBERHRLN0VhdTUwSUNlVURJby9LQXQ0SSsySUd6Q1ExU0ZBQ1lOL0F6K1RVTnM3cmpYRHJsVTN6QVAveUZ4N3Z1QTdSdEd6UndLemhjNWFBMFQ3c3BxQUNNWWJ4aUVBYm41Q2pnUWNLeVFQeEszRUpLbDMvQ0V4N2Y0VVFVOG00NkZUNytGUkxyQTU4MEwrTTg5Qjg5bVlleDRTdzlvZUF4K3V0QUxFZTU3Kys0VXNRYndsL0MyVks1SHlnNkk3QUF3VWczSThBOWVCY0VpMmw4VmZ3UTVLK3RKQUFwVkM2QUJMUDlSNnN5OEFNelN0ZkNIZjh3ZXBOQ3JRczhBTXZ6SnIxQTBzaDlBby9DZ1huQ2VtMVBYZ0RDVkhBOTg2aEZuZDlDTEN2QzNRdDhjWHJucFQveThOUC9EQ3Y1eldRQkI5ZUNzVGY1cnBNdnQrSzhFSlA3TGR3aXdQSkNIa0FDQXNXZjRTRmhvZUdlSWlMakkyT2o1Q1JoeEovQlFZTGtwbWFqUmFEQzNvV1ppcExmemltY0RNS0NuOGtyU1JNV2JGWkZCU2JockZNcnJvS00zQ21PRWsrS0FNU0E4Ykh5TGJLZndqSC84dlAwTkhTa0FnK1p0UFlpSjBXQzkxWEpUOWl2citvcXF1c3VxMndzdXl4NnU3cEpLb3p2emh3WWovRHlQdjcyWkVEL2dJS0hIaG9BSUlyQkFOMit0TnR3YmNmWGNUVk16VWpsVGxONW5qUnF3Y25TUmNremZnaFEvQUhZTUtUS0ZNS0pMWncwU0NWbWpvMVhNQUFBUklERWRuQUtUV3hwOCtmOTdvWUtIR0ZnY2hrTUpNcVhib0pJQU50MjFKMmVzcWdxdFdyVi85UW9sVFNXREdES0c1Q1hDSW1DWnV6T3VHb1hYczJpWmd1UG40Z1FkRk1BZ00rTlBrUk1zWTBFNElDR3ZvS1hsbW9hTlZ0aUJraFh2enlrWVdxVjdnZTFjdG9uNFJpbUEwYVJNQzVjMmRrbC9sTkJXalM1R0JKQmtRZ1BNMmE0T1hMV2Y5Y2pYeVprUDlkcTRWZTYzNDAyYlF0MHFaN0orTXIrM0ZyV3doRVhQSnp2TG56NTlDWkprZlJMYnIxNjlpemIvcEwzUUp6N2VERGk0OXV3RUNuUE9QVHExK2Z0Tm9WUWV6ank1OHZyVUIzK3ZqejYyZFVIdjcrL3dES2gwUUJERFEyWHdrQkpzamVBQVhreDhBVlJTa29vWGdHWFdIZ2Vnc2dJVUlCWmx5NGdCbVlUQ2hpYTgwVVNGOU5ESVJZeUljYlhqUGlpNElSazU4aVQ2M0lRQUViSXFBaWpEejJPQkFEcVJYd0hpS0srR2pra1RFQktZSTFPeExTRXBKUVJvbklBc21Kb09NaUgwcXA1WlpYRkhDbE5sUmF1ZVdZUmtwQlNKTk9jb09DY2x5UjZTTnhiaVltQWdwdUd1bE1uREtaa1dPZFBkNkpaeWVwOGRrbm5IZ3VzS2FYdmdsVHFpQlNnbDRoZ2doSStLbG9nSXp5NlpBQktOaGwzS1NVU2lvb21wd0M2R21vcEpacTZxbW9wcXJxcXF5MjZ1cXJzTVlxYTNpSnptcHJkQmZlcW10U2VxMjI2Njh3aVFUc3NDbmwwU1l6SkJFN1lTQUFJZmtFQlFNQWZ3QXNBQUFBQUFFQUFRQUFCd09BZjRFQUlma0VCUU1BZndBc0FBQUFBQUVBQVFBQUJ3T0FmNEVBSWZrRUJRTUFmd0FzckFCSUFNb0FZQUFBQi8rQWY0S0RoSVdHaDRpSmlvdU1qWTZQalc4WUdHbHZmMEZFa0pxYm5KMmVuNkNoaWdKQmJVbEpjRGlxY0MwdmZ3Q2lzYkt6dExXZElIOHlZamh3U1cxUlNrb3JQN3R4R0xtRXNMYkx6TTNPaXpjUEdIQkxKUnArMk5uWUtxbGNBb05CYVRMUDVPWG1vaG5UWWlYWlVpQUVSUEZvR25nYWJUZ3ZMS1JKT0duZjV3QURDaXgwZ3dvL0ZkandnQ0FDcGFGRGh3UUljRXN5UlV5VUphNEdhdHo0N0lJS0hIOTQrTUdUSVlqRGNZTWFCdmtEcE1nYlhrcjhZT1JJcytZc0tEaVc1UEVqaFNHVUNTMnNsQ2xFUkZzUkREaFUzTml3NUliTnAxQTF5WUFqcHM0ZkV6S2d2R0lUcFVTWG9ZUFErUG1qSVNhUU1qaWd4R25qTktyYnQ0Yi9DTVJoWStJcXlqOUpvbVFUTTJFUUxpV3AydmhoQVFmT255bHdFeWRlOGtmSkh5bmpVQ2JoZ2NhTm16WXR4a0hCMVVVVmpoSjRrSXI1cDdpMFRURi9CT2RaK1dhREZWVlFtc2ptTnhSS0JwbUNjSWp4UThBS25FeW1nMjlFWVZqSUh3S0M0dVJzczJ0b3FsNWxvQkR3ODJNUURoNDNrTDZRY1ZlNDkzSmQvbFJIby9VWU96OXJUbkVCV2FaSkVneEIvRGpPclVRS0ZINXg0UGo0enY5WktrRXJ5VENVSDNLNElWc1RHTVNSeEI5TmxIRUNGR0p4ZzVjR1FFRHhFaW9pOUtlaExVajh3WmdHZ3Nod0Fod2F1RkZHZXd6S0prZ1pFelFFaEI4YUNGRlhCcm1nQlFjQ0crWVlpd1Q3cVhCY1NsYkVvUnhZZjhUQlJYS1dRQ0hEL3pYWXBQU1NqbENHSXNFdVBQUkJpSVcwTlNISVBYSGdkVUpLVUJDQkJockk1ZUlHSE9GRnFlWW1ac0RCUmg1b0ZBSkZFRjhPMHNZZk9DVHg0SlVQaGJoR0dYQU1zT2FnanFEd0Iyb3J5ZmxHSEdWd2dkWWZKN3pSa0p5VEN1TEdHbW5nWUNpaG5DWmlhQnRTSEtJa1VxdGdrRlVqbDdxQlE1cWR0anFJQkliK2dJdW9XVTJpcEZhTVFPSEdIMnZnNWVxdmY4Q2FWSnlJTk1UZEg3Z3FrdVN1ZndZS2JLY1NDS3RDbWNWV3VnZ1hjR1RFYXhsc0NQb3NvUU5JWUFBT1VTUUt5UXRkR2pJQkRrZHVpd01DRW55NzVnRGhqcHZHSnV0cVM0Z002ektMRmdyeHlxdG10Q2l3SzFVU2NYUUhKaHgzcHFkcHdBTHJpTURFQlM4SWlmOE1DZ1l4emlRTE54d0hhaEdyS2NMSU9LVDdDRW9uVFBCQ25paUptTllmWjdJYU1wUUdHSkNLSlpEYzUxay9XZkdMUXhtOXF2b0R4RE52dU1BQ2VpeUJ3ekU1Vy9nR1B4aElzbkljbHlLcmFkRlJXckJBRlBnMGJTek9uaVZ4YWE5Y0pPRnR4UFFTMGlGL0ZsakFBQnNtUC9JUUJseHdNUUVHWS9OcUdOcG5NK0MzMnh2cThjUFNtenpFM1p4ckpQNUhHaUJ6S3FpMzNrcmdOd050Vnc3NGQwY3ZZTUZIUStIY2lhNks0MlVvMFZFS0dtMndmMXZ1TmdNU1hIRzZhWmt6VUFJeGJPQnBzT2ViZExjZVZUNGdnV093L05GcitoK3BXKzYzNjZTZkRSZlNmNWloZ2hqUGlmRURNRXBYQW9wbGQ2cGdTaW80c05HRkFhTURuMWovMnNSVFhybmY4Wkl1L2lEQ0k3QTJWR2I4d0FZdllxaWdoQVk3YU5HQkRqUW84QjdUbk5nVnRucWdCVExzUUFNWmlJSXBWTUVHNmZrdVdPcmpTT3ZNMXpZR3NFOTVoQkFldmFKRkx5UmtxQ1pJTXdBYjVzZXdLR2pBQmlIb1FBVnFRSUVXVXVBT0NqREdJQ1RCaURkSWFsZExnRU1EN3RCQ0xGVEFBd2NJUVFpVW9FQiswSzkzOEhyZFFNSkZRYjlsMEJEcDI2QUd3elVBQXdBa2duODRtbGQ0MFFacmtPRUEvSE9oR0NuUWdEaTg0UzVwZ01POUVHRkRHd3BpRjB6SVFoYkc2TUlLNkdBRUJ5aEJGSWdSUFNTZURvdk1HQURsblBpSHh4R0NneHFVUUxnVUtUeEJ2SzhjN2l1QUZRbWhCek1vTFFrcTRNRU9SbEFCT3RKeC93WVRHTWNidUNDRGwwU3RqYWgwSXhRd1FBeVFLSUFFSkppakoxMTRoeDhPWVF2YVF3VXYyTEFFOENWUmlRTjVIU09uU0Q1QkFMSVpiSEJUN1FSUmdOUlF3eG9INk9Rc1gzaUhhbFlCRHJpQ1F5aE5xWlZVSXVzUEdGalpLbVlBQnhMTVFBSFQ5R1F0ZFpBQ01HQkFEUFBqUlJLK2h3SWNtVTZZNlR2bUo2SVlMcmlJUVFFTlVNQU1lTkVGNkhXaEJDSHdBQTFhV00xcXR0QUZMbWlBUkQvd2dTckVNQmN2U01JNE1oV0hGeHhqVW1tZ20zSlU4WWNabU5NekNwQmxPaGxLQVZuZXdZY1E2TUVUbG9Dd1ZZd3dDV0x3Z1E5K2dJU2U5aFFGUVAyZExLUm9UTGY0QUFmbmJBQVpQNkNBRmhpQmsySnNBRk1WVUZMdWVZWjdlUDg2QlE1Q21acWRDVWxJVmgzRUt4V2dDcFBHOGc4cnZZTUxCSm9FZGZxd0FqMndxRURKdWJPNk1sQm1vY0FnWEFvUWhTNGs0WndmY0lGRFhSaFFjczRnQ1FxZ2FFVWJNRkNBa3RHcTk3cFBTZWxhMTl4UUZaYm14Q3dKRm5HSGdLckNzV2x0NkVNYlVJVXFLSmFpQ2hBb0RvWld5R0p1UXA5UTBZTWVaRGM0SElDV3NFcHRxRzd2OEFleTRxQUtQS3dDWThzUXpwSnFsZ1NwcFNwbFFRS0hjMTUyczMvWWJUWC80Rms0ZkNBTDB4WEVMQk9oMjViQ2NxQkpBRmdoMTZjSVJrWkpEMjlNcGtubCtNSXhHcUt6amFYbUIwamEyejlnMWhDWVZlNXlDek1ENTFMVXRBUEZ3UWVVbWdXSUd0akFFazF3QXd6aFFqbkNVclg2SWNUL0lCZEJSYjNxcUpsbVFNMHI0OWhDUmJSd3ZtMXQ0VnlwaWdqTkRnS1d2UVV2VS90cjFaMjEySzR3WHZBZ0tGQ0RMTmozcEx6d0Fid0dzUUEvTE9BUEZrQUVJbHQxdENBMzk1Vm5KWVFMMGNyUUJqU1htanc4cnBTbmpOa3NmQUFPVk9VdEJTSXEwZEorNEErbkRmT1gvMXZhQmZQMkQzSmt3bmZ4SkFiZndSYUtyaDBVQlN1cE5MTW1lWnAzeUVKL0JldENOVk9aeWk3TkFsVS93RU5hU3ZmUTBoMkVqUVdCM0JtdytaR2NzR0NPdEthNXRpMmdRd2FvdEtXM3hnODdxM1NhQ29BRGNCdmNDUGFPa2JjZ1dhbXFGMzNpVVArQkdwRG1CSTBtclRxdGVSQUJtcTZjNWxSUXUzUEMwc1lVWVBLU1h6aGZRbzlSanNoT2RscXIvNEJVRndoN3BVeG05U0hZb0dPc0ZhTFc1ek1EQldzOVcxN3pBc2x5Uk91emlmMWJWWHRTeVF4MXdVQjM2SWdzUUZjUUFoVUVOU1pwN1d0ajI5TDN0bHkzamVqcnN3WmJqREJja0xtWHpHQmhrMVhHaVhEM3UxWDd4aC9zdU42R3lMZkV1YzJBaTNpbTM4cU9yck8xQzIwUE16UzFaMVowRnZ3czFvRTJIQVVXaHZnZ0pzNXlYUzhnZmtaRUtwSTFHMjVSaUhIakRyNXZiME85Q3VudE9PVXFGMFRMaDY2MTJaYkFCL0dVK2N3eEcwZGtmeUxuOTAxdGdMdlhCZCtsRGVoQmQwVGJnRXgwcE5FV2VsZmQrWitQaSt5eGExYnFWdVVsK0JhWjlWcHNuZWlVWHNBVjlnalB1dmJYdWFrMWUzNmx2bHdHT25DUldHKzdLTjdlOWYvWW1XR1BTNmc3akJlL2VEY2xZUWs4cmFjR3h5dDRjc0JkZFVlVExRTW9ab0FmK0dBSm9BKzk2THV3MHgvOHdBQS9uZGdHaHl4MFNWZStIQkpuM2JiUE44d0tFM1AxMGFyOTdmWEtnQVc0L3ZYbU9GK3dFams1MSszKytNaWZmQ0syRG55YVFDNzUwQ2RtYXh1WkNNcTl1Zm5tdVBwNEgzZjhET3FWK29pWU1QWi9CZjVEaUgvOHJTcS9JY3lIZmxlcHZ4RHNiNy9qNHJ4KzVzdC9VTytILytYdXJ5YmxDM24vL0ZjNjlLZC9WeENBL1RlQWgyUi9CcGdqL2hkK0ZpQUJRcldBL2RHQTVnZUFFaGc4K1NkaFd4ZUJGeGdjRkhnSVY5QTIxNmNSTWFCSUhYaEJDRWdJSWZpQXdZRUFHU2gvSDFoL0xCZ2NLRGRGQVJpRE1qalRnczQzZlRoWWVUMzRLaFhFZ0xjSGZEYklDT2FqZzNDeGUyMVhoSXRnUHIvbkhZQ2toTlltZlUwWWhCb2lBWnJET29rZ2hTSHpnNmhUUVVnWUZaSkRlN2xuQ0ZRWWRMOHpobUE0S0pLemJaT1RQQ2s0TTJyb05tSDRIUk9rT2s4b2hGNjRDT2RqZkJ3SUxMbFhoNE53QllQRU9yb1hmVVhJaEkxZ0FZcklDWHdnaU9QSEJ3K0lpRlNvUVZZQkNYeXdoNHhRZ0FGSU9lWndpWnFRQnljSUNud2dIRzJJUHFNWVRNQUVRWGtJQ1g1d1BvU1Vpc3V3T3BOVFBBRFllMUlpaThGWGk3eW9oYTlTaXJvb0hLSVlqSDhRQ0FBaCtRUUZBd0IvQUN4ZkFDUUEwQUNCQUFBSC80Qi9nb09FaFlhSGlJbUtpNHlOam8rR0tXb0NsSldVRDVnUEFwQ2NuWjZmb0tHaW80eGdQVTg5VGxSUktqOC9CYkFGUGdWVWwxUVBwTG02dTd5OW5pTk9yVDRpeE1Td3hTSi9CbFJDSVNvaVBpcTR2dFRWMXRlTlF5bC9CWUlpQlFZR0tBZ0lBd01JS0NnRzNSTHRBeWdGMEZIWTlQWDJwTm9HUHQ3Z0NIL3RBTnNSZ21kZ1FFQUU4UXhzdWNld29jTkNZUFFsK3padWdLQ0FBUzBPZXVjdjRCVUQwSVk4SEVteW1vcDR4UDRnYWVTdTNLR004UXBNSzBtelpxY1VKNDBaOEdlT25FWnkvZ3BKZUdmUUVEbDNJR1hhWE1vVVVaNFV3emErVzFjc1ZyR2RoamhLS0RSQW5MdUVUY011bldEQ1REeGwvaEJRL1diQVZkc2ZiZitMQlNXazllSldsVWkyRG9nM1Q2emZrVkdRSkN2NEJ5R3hhRTVHSFBEd3BZZmpIbjlpREN1QXd0RFF1d0lGcWRQOHh3ZVZIWDlEMjJ0amdCc0NDZkNncVVpaHc4T2ZFV0FHT1NiMGcxaHBvWmt6LzZsY1ZCQWUwY0N0WWFpYzEzQTAxcEMyMUg2Sk9UZVMwbnNMQjUrKzY4U2ZLUVc3aWpCUVFvZU9UbXIrMURad2QyTlEzVnRYSWtqbWhMcjdVUnZndEVFb1JvV2ZQek01aFI5ZlhoQ1N5djhNWlZCWEZvSGtRd1h2SlJpS0dGMnNJSVVRb3V5WERGZVVCWWpPUDlMdEpjSVRIeWpvSVUwL0hJS0FEeDFKZ0lSRlEya21RaGRLWFBEaGk0eHNzb3NhT1lSb3lEb2FwV05JUENxRUIrT1A5cmlXRlRpQ2RHVVVORTdJQ09UL0lCYzA2ZUlGTEN4SkRRb2lCTFhTamR2NW1LQ0xmNENRZ1JKL3BKRUJHbVNpNGFTVFVvWmloa3FGRUpsVmtjUFVvcVJvVThnUVJSVGh2QUlMTno3MHVjOFBVVGhSZ2hKb2dOQ2tJQm1rQ1VscGMza3oxNVh2Q0FJU0N2ZUZoY01mVnJSeGhURERGRE5JTXJHRWVreEs0Q0JSQWhWcEtQcElYK1ZKNEtZeUtHSzFuZzhzRUJCV0hHSXM0V2szeXZ3SFlEbm1CQ3NzT2FtbDlJY0tYS3JxQ0lEL2pCanJJSnNwSThJRVlZa0JLamdvbUZQa09jSmFocEZtOGV4VFFJdktMcUxHQTN2YVZjQ1Y1U0JWWkFGUkVFQ0VUVllrTWNocGhhbGpGVExnYUVUSXQzK2NzNjRFVi9DUWdRcFJnRkF1SWlVSUJRK0tBRmx3WmNCWG9GbVMveFZXbkdpT3ZvZjU0TW9QS29TY1U2bi8rUXVRdnlPaTBJNFpJUDJRNk1LTERGVkFSd1pac0FETmlDWkxraFYvdEtFT01WMGdjU2NSUkJCZzlORUNvRkVDbm4xKzAraFFjeUYwV2p0VWpndHpJaFpKVEY3QUVsand4eFVGb1BpSEdVNjhUQk91WXZ6eFFndHBWUHJIdklMQS9VY2xCS2p3aDlQL1ppdFZnQktzMTQydFZ3dWlRbDUvTUxDQVdlN2N0Y0JPRERCZ0FkaWhUZEVJRkg4azBNWXd0MjJrTjI2b2lXQmo0SCtNZVVYaEZqQlFnQm50Tkc0ekNrZ3NZSUhOYlVrWkJUU05Gb2J2disyQUxZSUsxQVp1OUpxT0w0Q0VHUXo4c2NEWWh4dnd1aUQrZ0xua003d08wcmUvekt2Y056RXRnRzYwRWhJNGJvRVpvOXRzUnYvcnBwdHgvTmQvckpEbTdGbjFOc2hPN1lEVVJlQUEvQUhBRzZpL3Z2enJEQmhnK0U2dUcwUVg2aWVsMmpETExnaFVpMEZHRkEzUVFjRUhxUHZEOGlRSU96UG9BUUd0ZTUwZU9pTTNJTEZnRnRUTHpWMVlGNy9kZ2E0enpOcmY2bGJTT0Q3d1FSQnI2b3VVbmpFeEJPcEdPdjdveHB3V1ZvRGk2VTkveVJ1RUh5cFZCL0VBVGtyNzRNcDU3c0lUYm9pQUNxQnJtUGxldHdBK0xLQ0tZRE9CSUlaWUNDVW9iSVlUMmdoaGNzT216QVV1QXo1b25RdTUrQWMvNU9GMFd6UkRFUWNod3lXeG9CdU5Nc0JLM0xGQVJpVURCRitFV1RkZTJNWktEZEdNNURpZk1sUmx0MElneENCYjZRaFd1dEd3d0wxaWptejBqd0ZjRjhUQ0NRTC9EWUhiUzJXMk1rb2RDVVlGTndqY00wWlh5RC93d1FKOGdJZitSamU2ODBrdWNPSEEwQjREVnBodjNCSm16NmpNRHdWeHN4NTZ6V3ZtazA0ZEYvWXdTVkZQUTFGSUZjd3c1N29KR3M4TUltRGw0aXB6T1BFb2F4L2xHUUNKL0ZNN2tFUWhsVmY3eGcrOWRrMFJyRWt6cGJGQWZ4Umx0N200NmtvSFpONTJEaVhJQWx6aG1PdzhuRHZQWjVhTG1ERk5MQkRCeENTUVMvOFV3Z3l6eUVBZ3k3V1NLVFp1RU5pYzRnSkdGeFRpS0lzZEYrR0dJdUpScTZ0UkNRR3VhOGRHVHpPenhqR0FsTXhqMDlYNkZqWkQ2QTBrS3VpZ3NxamtQNEF3WUh3bUdwQkYzTFNYbXNLTXBrRzVUVkIzczdzamxzdHZsMmtIQnFQNlBsNjVxa296LzkxTFVLYW1FbjlRNlFkT1ZaYmZJRGFVcmVtbW1Rd1ZRVDUvNUtVS1FiSkNKek5SWmRienVZWHR4UWNtNjBxN01yT2VqaXBVVVFLNFFCUXErYi9TK05RQ3pDcEFYY3RWVkl0TWphRSt5WXc0ZjdVZFZRVTJBMWtUM2g0SEVMeW90U2RLZHNYaklqRUVJTW11NjEwSC9aRUFDQ0FBSG5EV1praEFBZ1BNMGRsL1dNUU1NZ2djSGhtS29tanBwcUhjU0sxcVc1dlpjYnkwYXpickNBelhkclhTcUF3cmZidU50dnhqMUhSSmliVUNFTUpyajNjRkh6YnVab1ZybkFSOGdJSG1xa1N1dHMzYzdWQ0FWMGtWSUVYWC9VRmV2T2M0Q1M0QUJXYmdBOHVxYVFFRHFBOW1naUdQV3BxVk9aWHBNNm52cFY0aTFqcWRDYTdPZ3Z1bG92OXdGY1hUNkJacGpBWU9XSVZVRWpZRnYyUWM4L3hMRHdYaFlPRlpVQzBCWE54aVZRVlZBZ1dNTUlYeGw1c2VwdUJuUmpYRVlubUY5OVo1WHd1cUk0Q0NBR3NRRmphaW1rSVhLekUyS0s5T2lydUFYTVFjT001eE45WkpSU1FnUUE5bVFFRTFpd2RXbUZFUHVydGgzbm00WVJFbUZ3a29qMFhSZElHajR6WDZ3WXBYeElvTDU4d0hXZXhRVVkxVlNTblpkUjRtOTVXNnlNakxYVHdjR2xnVWNZaUc5RVBtTXNtTk82dXF2YXhyRnFTWTllY1IzVzVkNlloSFhqUmlFWXZVTUN4Qm1NVnZFTDFGUC9pejFKVmFoNlBURkswQlc1aVhHM0hyUDFZaTJ5dHVWQllENGx2ZlFpT0RMaGpnaGFSdTR4dFo2WWNydUswQWhmSUxvVVAvWWFSWEd3bTFBU1BISVc2bVZqNEtpdzA4ODh0Mk9QbENLLzZoRHY2Y013cUtKNGc1Tm9VakFWczJKTFJGb0ZmRFNzbnYrclR4cnJBZDFIUWpGcUo1Z1VMNUcxQ3cvZk4xQm1EbElJREFsTFNTUjkyT1VPRDdUak5nWnlwWkk4cGpKeUZNQnc1aldJVU5mMGxvQnZWSFRJVFFGd2tTVi9aZTRhc0lmNW5Nek1xWTY4U1FqSnIyaHFPK2lQZ0c4VnhxaGlYOGdRdGltWUphK1UxTVdYcHRBVzREenNrUWJ0dGdwZnQ2RS9zUHJDVjFuai9yMVJDbFM0amhDTEhSdjh3T3Bmd0xhR21BL0o1dUhRS1NBckwyKzZBMXl2SnM3bnFqMUdNaHhNZU5xVk9ubnE2N3FDQk1od0pDS3Noazg4U0lXc0xoRWtFWU5kSzZ5ZXRwR1FyMS8vdFdTWkhUQ2RIVURISXpNNHlJM0FwaW9rKzQwa2RrVkdrcklPbm9pZnFPbThHdlErSTJ1OElzSUUrZGZlQXJkVHNad09pV0dSeXBTdVF3V0JFV1NCUUtQck80SEt2U2dyMkM0MmRZRmc0QzRGVUtlbkNJMEtjU2xYVXJ3bmNQZTluaWQyaGt5eHlhdm9LdDlac01FNmxWSmQrUTFEZENhS0xlWjFPUm81dFpncURYS2d6YVBSRlhnS0pZcW9ZQXcxM1JBdXU1dkdDMGpIaThNSURXQTBpRysrRy9mZW5CdEhQSkJFTmlBQWNLc2dMMXRsZVBVR3RpSVF2U3QwNnh0QjNyMFRxSmdGaDY5bjFBaEUyODhXUzk1VTRiOUNNaGtoZFd4Z2tqMWhTZFl6eFVGbld3NEFQU3B3aitVQm9SOTBPTFkxUmdOMnZ1SkhBdnNnL1BOZjhBZVFBSjBWTndWS0psMW1SZmxmRU5wQ2NpeXJBdVhKZGN1SmNyUHBBdERFQWxOdmNqTW1CNnFLRkZqdkJHUGNnVVA4aDFoQ0I2UkxoMnhuTTgxQ1lMYTdWUmFwVkVnNEJ4TnRjR1FDSUQvWGQrakVCdkUwWVQvaUJ2SkxZNGJmZDdvWGNGM1hWQlRxUmxhMmM2ZjBDQVRmRWJ1Z0E5T3NnSjJEU0hKVkVnaWRCTkkyZ3o5M2MzMzZCMDhRQ0loQkIxZDdOaUpRRWh1cUErbThRSmZMQWVHYllVa05RWk5yaDI2d0I1cHJNZHp4RTlsMWgvcFFOREpJWUNBL2dITTBBU3JQY1FnbEU3UzJGOUtIVUkvUE5QOXRXTE5sTTRCVFVwOVRjSUJUQkJlUGdIVVFna2R1Z0k2eUFXUU1GVEUzaU1FbVE2QjNWcm1yYU14Yk5KSWFmL0VoMElKQm9BQ3E5U0UyVTFDRTBUZ05NbWh2U0dpWGZvRC91MmRxSW5qajAzTmllMENPSTBqUTloSk9CUWpkK3dnb1d3VXVUQUFQRW9pLzAxV29id2hVS29ndnVZQ05mamkvL1lPVmV5QUF4QWo2bDFmL3hpRnFGb0NPOWtDQUtWT2JEakEwVW9IaGdYa1NoSEV3eWxnc2REUmFQelY0UUFFbDl6QlN6VEp5TjRDUHNRY3JjV2pQYUZRZVBZRUVFd1pBL3hUamh5a2c1aEVOWkZRVlYzZVBOV0pYQjJSVlRpbEFVcEdPNDRDRVZJUlNXaE5EL0FZSXVRaXA3QUE5Q3hMc21YbE8wQUM2UkhSVHgxUGg3SFkxV0RsRmNnVzQ0UWxBemhCMlloazVEQUIydm1DZUdRTzB4UkZOK1hpWVV6UEIwM1pWUW1HQklva3NwM2VINmcvMzZQY0JtZ3NITmk4UTVVV1pCMzZHK0lwei9WQ0NULzVnZk84d2hYZ0FKMFNZME0wQjVoTVJUMW1JMzlsWmlaaUpCU01vdWRNRHBsMlFoODRJbVRPVlNqcVllaEtZeTVTUk81YUE5Z3FTb2hPWUhHNHg0K1lDOFJTUTg5dEl3dk1sdm5vQTQrSUFiSW1aeTlvRHhTSWlEQ1luVFUyUXZnZ0pUdThUclltWjFFdDUyZk1BREVZeE12NVoyRjB6MHVOWGVRSjU3a2FRMjlPWEdwd3dqdCtaakJFbUxocVoyUFlBN21GcCtpMEQzRFpBaU5JeXh5NTU3aWhaM2RZeE1Eb0hRQW1ndXA0MUx0YVczQ1FuTHBKcDZjMVRqQldRL2FVZ0QvK2FBZ2lnalExNHdoV3FJaXVoY2ZhYUlxS2ozZ3dKd3JDcUlvK3FJeTZuZnpPYVBibWIyVE5ocWk2M0dWT1FxaWpEZ2RiNFkrUFFvS25lT1RDaUkrMndGemR6aWJRMnBUL2dpa1A1V1Yrck9EVGNxUFFKSUhlaEJ5VkphUjZqbWtGdEdsSDdKT3ZUUmZWZnAxWVBvZU93WkVtUmNzWjFxbUwwSmxYK01EUGNXbWJyb3d3MlI0YytHY2JWcW43MkVESkRadklHUVE5TFdYZktvb2k2TlcyZmxTNDFtb0hrSnQyWUdoaktvczJEUXpHTHFva1pvZzgxZXBsbnFwN3BHUm1zcXB5cktmL0FtcWFiSUEyZGs5Y0VpcVM0S2RlNnFxSGtKYnJnb3pCMXFuZ1FBQUlma0VCUU1BZndBc1ZnQklBQ0lCUGdBQUIvK0FmNEtEaElXR2g0aUppb3VNalk2UGtKR1NrNVNLQUc4WUV4Z3lRVVNWbjZDaG9xT2twYWFubndRQ0JHbC9Wb0p3T0xKV0wyOXZxTGk1dXJ1OHZia0NmeUFDR0g5d1NXMVJRanhLVVNwaU9ISEV0MzhUdHI3WDJObmEyNVFYTnlBcVNXd3FQSVI0Z241K0tyRVl3RVJCRXkvYzgvVDE5cmplVTNFNFAzVi9mZzR5RVBqRGlRZ0JFSDE0dE1IUmpnQVhOamlDM0p0SXNhSkZRaGU4cGNHeGhFYzZFd1JrSElJQ2hRaWFLRGphWVBqQkE4NktpekJqeXVRbFFBQ0loU28rRHZ3RGhTQWhLREl5U01FREFnTU9NWDVBNElBQ2JLYlRwMUFsRVhDSUkwcTZERHloSklsajVjUWdraURRK1FGeW9pcVJxbEhUcWwwN1NOWEduSDcvMFBDVVVXYUpFaVZpSm9nRTZzQlBuaWdsNGxxQk13RUhGYmFJRThjVUFJVmZPcmxBMzhUUjhLY1BtamkzK1BwWjZMZ25SOFdnUTlPTFF0cFlIajhaZXBJOGdmUlBFemRsWGdRaEtjVUVuRCt5ZUFBcGcwUEZCZEhBZy9NU0lRSmlZQTBrTWNUQkhjZU5heTZ4VHRDMmpic3pqaVIvbWdyZnpoMFVBZ1FHT09hUklnT0swU1EvZmlUQndZV0xyRDlKWGtBQndRYzc3aVI4MEpSOWthWm45LzhBT2lMQkFPdDVSQVJRY1NSeEdoNXVKTUVGYnpnMDBRUm1CUGdSaFNBNHdGRkhhc3pCY1dHQUlJWTRpQVFTaExlRUg4Z2grSU1mYXdnaUlSZHhjQ0ZoTkZCbzRNY1BiTUNSRXhybVhYZWJpRUFHU0NKdU9SRkFrZ3hKTEtGQi94TU9GakxqRzBDWjRNY2ZOdnB4SUJUN2RJRkFrRnh5UnlKRVBQVHhsVkZ4eE1LRmE2NDhoOTJSbFAxandseEdvZERsbk1BTklBRUN4c1QxbFhsSndISG1pemlVMFVZUzAyVGxTVWdrdWVFR0RnYlE2YWhpSkNLQlF4ZFcvZ1RVTWE0MXdac3hoWTRFaFJ0cnhDR0dCSStXcWhhSlAvQWpaaUhKTFZmR1B0RXdrdWdhN2lGQXFxbTR6a1NpRDFXRnhTcEo4c2lDblVpTGtQVEhHbzBaY0d1dUZ3MkE2NUE0bExBVHF6elowbW14bjY3aEJoeExNQXVUc3d3dzRLeWpKSVpYZ2llSUdOdUlmMEFkRytvU3kzcDdqN01XV0RCZ3ZGeWlHcTFFb0JnN1FidHJoRHFxdkJQUmF3RURwT0liNUs1d3NCREprWVpBVVJnR3pnVWNCLzhiQk5NendMZ00xSXZ3a0hUYUtVRVhQejVDMGh1RXNrcFhjOGR1QzhlV0dXdERhcmoxSHJ4eHFTS24yb29qUjY1M0xVRkdWYnd0R3pESHZNc3JmK1RSY2MwTVhESGdId3AzR1NrTzh2QU14UnRVbCtmZklCc0pqWU1QVVJzZHltK0R0RkFDSDB4L1BHVFkrVXFBd2xFbVg0M0RHMEhJUUZjWmMwMEFCNmphTXNxMjJKU29zb29NRXlpeGdBV0NrS2g0d3N3T2dBQTBrZHpDSHdicnlYTXBkZ0d2Z0FNS2Z3TU9pU3FnRTZBRUE0STR2WGpDblhNcEFnclAvTHpJQysvRmtvVGRoYlVTOEVPZWp6S1Y0QVR3Y0RqVXB5ZE9jQUVGUE5PR0pKajBSMHdjKytEdGJoeGc1dzVLNkRWcFVDL2dmQ3lneHdKWGxPQkRMSEJMb2pYL24wMEtndXpMMG4reXlpcFRtWEN3MkJib3dVQUpQNGdCaHpGdE9JUER6cElZVzU1ejdpckREMENXUGtuVVpIMGRJNTNSVUJDRkpiQ0JEV0w0UVFtVUlJUURkT0FEVk9zWHNZN1ZHRFlzd1FCeVNsMEIyeUk0TkhpTVlOb3pnLzJNSVVFZWhHQUVPc0FDQldib2doa3d4QnI5KzVUNUdoUUY5Y2lDRFYxQXdwWUlPTUkvWktBbWY5aGRCdHozUG1acDd3OElJRmtTVkNDRUhZVEFBektjb1JhMU9BTTQ4TzloVUFpWW9wS2dBQStFd0FROG1FSWI5bkVkSDRSUWhON3l3OUxDdGJRVE9nb0ZTQ2dFQThMQmhqWW9RUU1oNkVBV3QwaklHU3JBUWNTQWhMckdPQU10MGtBSFdyQkJIcFR3a2xqQVFRd0dnQmtjVFhVRkJmN0IvMk9lbkpNUHVtQ0FQQ3F3Q3hDa1lnaGlXTWd0RW1LR2Q1aUJGWWh4c2drbzRtUzNjSU1LNGpBREVtU0JrRFdvUUFlMFFBWWgwSzg2UUVTQ3M0aElNSkZ0RWtCM2dvTUNaZ0JCTWRndkNWSFFBaGEzNklJR2RMTUI0QXpuTjExQWdROE1DMDV3d0tHbEJBRWxONnpnZmlSUWdDOExzVVVzNkdBRUJ5aUJDdG9Ba1V2K0FBVkRmS2FJN0NTdkQxRGdEZzM0d0F3V1dvVUtiRkdoWGJ3ZitHUWhVWW5hY0JNUzB3dHV2bGdJS0wyaERRK1JoU3hJUUlKRWJQRU9GZkRBRUp5d2dtNWxTQXcrRU9JeUJacXZQNHdMU0c1YndrSU5lb2VlRnJJQlZRaW5VREU0ZzZDR1V3SExrY0VidkNnU2hteU5uU1JKd3d1V013TUZ2SWVrOC85a0JDeXhVQUVkckZRRlMrZ1REaUFZVXdUY3RCQTNLMkppbE9rNEpLQlNta0g5cFJZRjRjby93UElQWGZ4RFQrK0ExUElrb1F4Mk13b2N5b0NCVnJ3aERSamdRcDhFb1lBL1RGT2VXTTJDVnU5QWdTcE04NWNvMVlFT3dOQ0RHSWhCckhEd1lCY0VnUUtBaW95Z2pOT0dTT3pHV3A3NFFLMklJQjV4Q3BCSkF6d0RCd3FBYkJiazJzcURVcUN4Q2ppb1Zabm5WQ2pJdzRZWnVrM0pxclBRM0piMER5UmxCRUlWRUlzWmZPQ1ZXNjFBQlhwUWhROU1jd2FFZUdDU3V1Q0RVaUpCVHRkb3JTSFFCZHRFQUJRRlBpaUFCSkFnQWdPVVlBazQ2Q1ZKZWR2S08rQVZEdDY4VFlZOHVnK1M1bmFoVllXc1l4Y0tQampzdEFHUzNhdi9md2Roem1Jb29BRjZOZWtNOWVyVGJ6SjJvZThSS1hwM3dZTWdVRUVKR2VDQml1bklnRG9VcmIyR1dNQUMrR0NHK3RaWHhndUl3bm9nNjh0QzJsV0xWbTFBWlJzd0E4S3VCN3lDd0txU2x4emRESFdSb2xYOVFGQmhVVlVoYzFpNkU2WXJCUVN4VndvMGdLUTJUTUtMZGVHK3c5WHN6SHdZTVl3WDRZTXJtUGx3cVpJbVNabGdDRUphdFFvOXZXNTFHTUhrTEdCSHlBbUZ6LzNlZzV2Y2ZrREs0UnlFQ3hhOTZEK0FzN3NZSGdRaHMyRGdXSWhoekxzSWwrbE9WNkkxTzhMTTlWb0FBa1N3QkFkSDloQ3d0T29IS0R2TkpEVGdEcEpkQkJOMjY5c2dTM2lHUUQzME5PL25DSkhpbHJKYjNHMmxqNElFbW9MQ0FzNDhuUm5LLytIcFJpQXUxQ2dRd1JYTWdGLzkrakxXV2hZdURxN2I1V0R2OXR1MDdpOXVYT0Rmazk2YUF0OEVhaUVPaldody9saUxsSTRuY3NYQU9XTTNleUkxSzRDMHQxZUNaMVIxenRqV0lsKzNuZTNlOWpiYlhTUzNwQTIrWVVRQTI3Y1V5QUlUc0lyY0pkUWJGT3E5OXpicWhRUWsxT3h3VVhpR25QY2I4SExxK2QwTW55czlmd3NIYkUraWtCTEg2alJsMFFYT05jSmhpZ2dDdnpSZUQxQ0gyZ0lvd0c5K2VTeFpXRFo4NGExY3hBekJTOWxJd0R6ZXc0WkR6Um1oODdvQklSR3RxQU1ETk1BRHJ1Y2hFbndBSHRTdXdITktuUG5qQ3pEREQ4RDM3MnVyUEJSYmx1YlJsVDVwSmMvOEtEL0E5RWorb0hNWlRDc1JmR0RBQWhpUXgvOUpLTzZUWmEvRTJVT3RoeXMwVUtSdG43WExQNEZRM0c1WkVVOVhzZzB2R1VSSVRLRHZMUEFJSXhpZzk4UnJZL0VXd0xFWndNcDJvdThXRkhmQTRNbVJQc052TS9udVdqcThJazFTTDdLYlBpMm9UNzJNSGU5QXlQUDQycE4vUktUZkRXN29Mbm5YUDNTanZmL3dCdXVSN3F5L2gwcndoZDk0SlBqQWZzWmY4dXNmUWRsdkQrTDVkLzloNTZjL2lGQm1IekhCRjVmSXdOTUZzY29pd1lTSUxyajNQMzdueXh6NkZBVkVJQ1IyN3ljdlp6Y2dHNU9BQXdJZTN6ZFJUcFpialZVSTZIZGd5Q1ZTSHZRRFFrU0FwVkFDUTVKV0JaZ1k5aUlJQ1RpQ0k0Z0FLUEFEWFNBR0dOTUl2cFloRUxRRUdEaEV2R0FHN1BlQlVFR0NkcklrTVhlQ1J3WXdTa3Z3ZzBENGcrVGxBejhBUW1aRkNEVm9nekdEZlpEQU9NelVDNEVBQUNINUJBVURBSDhBTEFBQUFBQUJBQUVBQUFjRGdIK0JBQ0g1QkFVREFIOEFMSjhBWWdEQ0FFZ0FBQWYvZ0grQ2c0U0Zob2VJaVlxRkF3T0Nqb3VSa3BPVWxaYVhtSm1hZzVCL2pZMkVFcUthU0p1bXA2aXBxcHlnbm9LaURMRU1GclMxdEJLcnVicTd2SldRblgreXM3WVdER1ptd2xlanZjek56cHVmbmJMRXRiSlhES1dFd00vYzNkNlByY0d4MU1LNDMrZm82WVhqeExLR242KzQ1dXIwOWFnRHc3U3hvdWJ3aGN0LytBRzBSN0JnSkh3TUJCcVM5K3FSaEFIOElEN2NackNpUlU2SmNJR0tKakZpdElzZ1F3N2k1NnJSeElrY1JhcFV1YXlqeVkwclk2NDBLY3JreUhreWMxWThxWENrenA4WGEwSnNpQk9vMGFOSWt5cGR5clNwMDZkUW94WkN3R0FSU1c4VXBScjBZU2FTUnExZ2Vma0xTeGFWaFFVVy9pd295N2F0Mjdkdy8rUEtuVXUzcnQyN2VQUHEzY3UzcjkrL21oSUMzZ1RucDRSaWcwOFZEVGxyY2VKSlkxYzJmcHdwc3NqSmJnVnpDeWNTbndYSFlCa3NxUHJNTXNqRG9MVWVKdTNNZEVPRG4rRWlMczE1MEt5ZHNkMWF1TEs1dHFEYkZUR1hSZDA3Sy9DS3Q5Z2ViKzM3RDYyTFY1S0hKVjU4NFd5TGg5T0NsVEM2bSt0WnJMSEhVbjJkdHZIY2pJdWxOZ29lcTI4RXEyTktBRC9RYVBiMXV6NFdlcDR6dXI2RStJbFhYblhXaFNmVGZPM3NVeDlCc0Vqbm5pUEFJT0FjZW9heFF3NkE5RWh3VFRVQjVtZVpoQTRtSmRBMStWU2o0SUtJZEJqS2ZDVnFobzUrNjZRbDRYYWlrRWpOaGNMa0NDQXMwOXk0anowd0VySWNYUHpvZU9PUkpscHpWZEZCUVk2MGdJcVpGTkRjU2dKVnVXUk1UWTQwb0M0b1pFblpLVjRlMXAxNVUzNXBTWmlpdWVoZEoxbVp1WWlYd1lTWVRrcHVLc0pSbThOSWdNQ016c1RDMnp0M3V2YlhMM2NhSXVFd2FqNlRUNkxnQkZwbVhvRm1WTTBmZkhhRDRIK2pGT1ZvbTNZeHdCRUNuQ0lLWlMraThXR3FIMzdZS1NoZUZuQzZINlBwNUZHbkpBWWVBcXBjK1BoVnFVNStqRXFJckRJVk91dURqQXp3WnlhdDBqbHNMcDV1eXRtamtDM3JERXFPYXFPZHRDcng0ZXNtYTJIYkRCOUlYanNrSm56VTZ1MHFmdWpvSjJzUzhISEtzU3NGQWdBaCtRUUZBd0IvQUN4Z0FDUUFHZ0dCQUFBSC80Qi9nb09FaFlhSGlJbUtpNHlOam8rRlc0TVBWRTVSS3BpWlVVNVVrSjZmb0tHaW82U2xwcWVvaGw4eFBnVS9CU0t4c2lJK3NqNHFUbjhDcWJ5OXZyL0F3Y0tFQjBNcEJyVUZ5c3VDeW4vS1NDZ0dzSDgvVHJ2RDJkcmIzTjJoeHNnaUJRWW9BK2JuZ3VZSTB1UHFCaUovQmcvZTlQWDI5N3hPMDdUa0F4TC9peVFNUUZJQWdTQUVzQXBReVlHdm9jT0hEMU9vb0ZZQWlUK0FpUXdPQXRoT0VCSjRLdFJBSEVteXBLOFVmM3c4TTRBQUl5TUVMQXNOVURaQUVBcVZLckNaM01tenB5SWRLWitWay9Ebm43ay81djRSTllRUWhVeGxTeEgreWVtenFsV1RmZ1lWR0dxVVhZRkI1QkQ0T3pST3BvR3hmelNxdU1xMkxiMFRHdi84T1BWaHNhZ0VtTEJvZGZIQk45Yktjb2JLeW5RcEtKZmJ3NGgvbGFoamdKQUVNeWhnK1RDUXdrbUtKMGFNUEhuUzk0ODRqWU1RTmpha0ZLbUJuR1FTcTE0dEtzMFZsWUllUi9ieEErV2ZBN2IvZ0NuVTQwY3RKSVVRaUFCT0d1QmpuYXlUSzA4MHdXYlJnUVZvNTJha1pzUVFGWk9EaTNCYTNLNFFJY3ZEaXhjMERRRUNKQ1VnOTVqdWlLR2FMU0pHRDBMaUEvU2dBU2dNQ2hROHZuL2lKYlQ4WUFVT2JaaWlSZ3JERlRLTll3SXRXSlJ3VC9nbm9WdGl4UEVIRGxiOGtBY2FwRENVd3c4aTJPZlJSa1ROMU5nLzc4UXc0WXBXNFNBSUM3emswRXBOaVFDRWtING1Jc2ZpamlWZEVPT0J6eFJDWEd4TFNST2JjR3Z4cUNUL2p6bXNOV1J4UzVGajF6dWRMTm1qajFhVzhtR0loQ0FBbTEwSEZWRFRYZkZsV1ZJR2FLQ2hSQWtxL0lERW01aVVvSVFTYUlCZ0ppSTJSR2FmZzZYRkE5dy9INVdBNVozZXNIQ0pDdE5FVjhzc2c5aWlqQUhvWlNDSW5YZjZRUkNOU0cxRlpKaGpta2hvTm5CY3lFVWRVUWdDVHpQalFKcWZlUU9ZZ1o5OG5zVXlqZ29ZRUtwRUZBbk85OVZ6UzJrS3FBaEpmZ3FNRlZZazBVcFFZU1dsMUxMTTJnU3JxU3B3bU9VRUFOUUMya3pjbmFkVmJETjEwWnl3dnNRaEJubU8yZFVzSXdPYzkrZzdQcFJncGdCT2xLbHJPZ1UxbzU4RUg2a2dBN2lwaUZ2bW1FcVpZUjRLYnhwZ3NFR1kxZ2hkT1FrSmF1VUZJSnB4WDFvMmlVbFUvMlArbUNFdnY2YUlVYVpTNlJLOHp5eXlOSE1XWVFmUmVKZW1LTUFUeGFBOHhqdWtCRVl5d01CV1JGbk13QUx2S01GeEtXd3NFWFFiVVpUQUI2SUcvUENEQ2xGTTRiVFRocmFaakVWTERXSWt0ekZKRlFXbFBHYWdqQmxFQ1lTVUJRdEl3NEFFNURCQXRtZkIva3dLc1ZhMGdNRUdoUkF3aU4xM3M2QkNGMEpWVGQ3TXo5UTAwMVIvRUtIa1IwNEo5TmdWWkY5UndCVnBGV0NCQlg4d2tKSzBicDhDeFNjdHdDWm1JZlhxV3BQV1N5cnhNVkdUcTIyQmxEZWJzWUJOSXBTYU9UNVRKSlF3UVFxTzFySVBCTlRLWThTQ1RHNEJDcEEvUXpZU0JyeitoOFEvek40UUFTcHNuT21UQ05IWW1BOTA4eGc5Q3NxVG5kOGZqbCt4Z1A4WlBrQSt1UUZkN092OFBRVGcrbVJrbU9JMzF1QXZLSW1CT0pRTE1qNFNDMWhRNytyYys4TUNoT083OWRrRGVqNUlXRVVLMFNkNGJHNUhRWWlZOHNCbkFNc2h6dzkrTUVNQitNREJtN1hOZ040Z0FBR3lFNXJQTVlnUXNtTVI5TFl6d1hoY0lZTStxSU1mNmxBQUhnakNVaURFeHdvVitLUk56YVI1ZUZzUkM2UzNBQ1NZd1E4bUtCOTVOT0lIQnZnc2gvWmdBVjBJQVQ4R0trVWFJT0NhaEVCd2dlZ3dBSU1ZWEFjR0taYVcwZkNoaUNuMHhnVGVJSU1nT0k4QXIxQ2dpTUFrZ1N0Y1FFZit1Y0JIWHBnVkN2N0JVc1J4SEFQNGNMem1EY051VUtqZkgrQVFCellJQWdkeGFNNGJmdGErUDNBSExDUTZpRjB5QUxNSjRjci9Qb3lwdy9LU1o0R2JCVytBUHBBVU1IWWhneVRnSUdock1VRWRoRkNDRmJBQkIzSXpoUHJNUklSaklRSWdWVVJiR2ljMGhWenhnVHdTWTRBWjhnY3AvV21zQkZwRXhRVnVvQVFNd0dFSlNoRGxEZnVBQjBIVTRRZHdnSU1NZGtHRU55VGhCSitLM2h4OXVDdWFGU0NhL3BHaUFjNDRPWjRob0gvNUs5c2Y4Z2U1RDU3aUFoZEl3eCtTNEs0L0FnRU5MQWlDREdSQUJBS0FBQTlLV0FJY1ZpQ0FWckloQ1o4S3doUVBnUkdEUFlkd0tsUkcvZ1JJc0gxT1RvREpwSnpqREptS080b0JCeHI2SXdpQ3FFdUgvc0JGMkl4Q3FBaEZoQ2lZa0l5YnFoNktmRkJBQ2UxcXBPTnJqUEJVV29Ca1NzQVpMVlZDRXRqZ016K0F3SENDLzNqZ0lLQkFCQTM4WVVNdndJRUsvTEFDT05BMFM3MTgwcTdBRkEvOXRPeUpLNnJJQkJjZ3lLWHVzeUJuaTBjdmlOQklyK1lCYndDd1Fod2l1VXNaNUdFUWZrQkRJd2t3QVRiQWMwbHdYR3M4UnRQUlA4MGtDamRna2NCR1dybkg0Wk9ad0tsSkQwa2h3cW42MVhCUWdFSWNWRUJMTnZnT0NuYnpBdzlXVUFJL1FBRUhHMmlCR0RKN3B6VHNjRjVzTlJKSGRpU0JuWlZ5bndzb2lGMFo4Q2RDUENzVUJCQUFGM0Rnc3p5Z1ZnWW5LSkFmK3FBQ0MvMEJ0bi9RUUtpb1c0VDY0VUFHdkRXVDNUNFpHcVN3dFhwRitRaU1Wb1N2ZmFJdUhpaXdtZkFzNlY1TWxtSUtLeERySC9DQTFlK1dJUXB5K0VNVG1nQUhOaGJPRHlsY2d2OGZXQkRPczVxcEUwT3FTZUlBTWhQOUlJbEZUeTJBMk5RbVhKdjl3eUNnK1JJcDRBRUhFL2dCa1M4WWJ4a0UwUVNNd3FGV1JJRHdJSEFnaEQ1TUFBZGNBQmNhZkZtVVp0Sk1JNzc2SVlpL01qOUw3cW9tWitsd09rNkJnSmVPbFVPSkpGQTEvbUNGR2krU0MzSEFnQXo2WU1OSC9zQVBRWWdEZ2Rxd3l5eDVyYW14UVY1OFIyUGtFSVA0SGZhQjd4S2ZnUVMva2FLK0dBWENkOStBZ3hYOFVRNXRpRU1iUW1VaExtd0FDbWp3UTRFdTFBWS9FS0ZXb1ZvQ0hubGtwd1JHWlRSU0lkZXY1aXNodEcwSGRFWFpjelNpVkFvSkxFR3NFeDQwai8zZ2hrRTBvUXhKcUZVYk1HcllPdXhhREVMQVF4Q2drQVE0V01HUmhNS3pYV2oveEFESHRVU3ZSV25aTU1lRHIrRmdaSERBSkE1YVJ2dUpBY0FCQnp4d1FGWnZHeTB3SDRJTFpaQUJlUDF3MkQrWVFCQ1R4SUZINzZST3BQZ2p2NVBEV1pEOElSeVcrb2RtOFhDSlpHRmlyb09JSTJHZU1JZ1lFanNJN0VLU3l6Uk9nb1Z1L1MydWV2V1BXQ2JDVklXMXZjclpUSFU4UTRMbGtGSmN4eTJCUlU0NVVaUXlmQmFraUNVdEJ3OEZ2bUJxYVVKQVlRS0R0YldhLzFDR0dkdWNDRURQNmhyYWdJTjFLdW1UcnhQZUZYYjJwc3FCVDNVRjhOYUtEUElWak13TWJmcUpTVTI0QkFvSitBQUhKY0JEbTdPS1VScXJPUTZLVk1UbTNBRFRUNVdBaFNZdG9objRJR2YvdWU1ODZadDY0REFTR1NMNVNrb3oyWTZmSGVGcS94NC9WZ1l4NXZtM1h6QkpSbXh1RGVMNmxQdTZKL2RqSmkrNTkyd1VGTndvSWFwZlpGdFRPbEV6VGRYblJoQkdBaS9sZ1lYSi9zZ1RhSFVSK3hwNjBRa2xnL2pNMVFCelI4Z0NYaGZBUDN5a2pSUHlrc1dpc2xaOFZmMXE3ekRBNERlU3lZMFVXd09jUDhRREcrK0kyTE85OUdZYVl2SUd3VFBJNmY1MS9JTmRGQXJjbjhGZHBGY2FjYWR6R2lWWmJyRnErVVZKUWhJdWpnb28xUG9QMXllVVBNOElsaXZ3QVNGOG9BZlM4RG9ERkR2a054NkJkeStac2hId0JScFVaeGF5NEN1a2tRUzdwVGtZRUFkdmdGVnM5d1B3eHlMRlpBQmdaSGt1aGhBWVpBYmJWNEJUc0NOYzRoTHBOeE9DMDE3MUVSczNNUnpyQUF2Y0pnRnNJUDhHbVBNSXI3ZFZVRkFHY1hCL2JOY0ZIYmdpdUlJQ1kvUUhvZVFIQk9jSFZ3Q0NKU2dDVmJJaUt4Z2wzTEVmQ05OeUNkZ2dMclI3QzNBekllSm5OWkVFWStkNEdKQjJQbmhiaHJZR3QzVnlkOEplZzJBQ0JuQllCT2RIZ2dBNWNPVWZDY2hXTTRNdFNJRUNZUU1MTGZFT0tFQTJ3ak0rOGVGbkVsQnNucEJhVnJCVE51ZUlRY2FHT09BRFJTZ2hSRkJ2ZzhBQWMyaEpnYlJXRmdBZUxDS0l3VVVpdm1JY25wRWZwN1pVd3FOczlsWTVYMWRVanBjR09QQUM2ak1CcjlWS2swaUxsMlFsUkxBQ0luQjNLbVVBZW1BcEFlUTRoMFZJNExGcCtHQXpwNkJzS0dNWHB4ZzJINEVNNFJjOGh5Z2NnTWhoQ05BRlFBWUpNb0FCT0lEL0FXNGtqcmFZV2xBQUI1UElCWEJnZER1eUJBVmdPZlZrZ3Jzbk1XU2pRU1oxVENhUk9vUXdjcjgwWlg0R2pkSDRWRmRZSkxId0xFdjFoZkh3S2wzd2JSZUNobzVIYUJ2d0J0WTBqdW9Xam9YMkIydFFCbXlBY0VweUF2NG1RQVMzWCtNVGo0VkFmdzZ4TEdQaGpoNnhET1B3YktuR2RRT3BLUVVuSFBIWVFzaWxCeFpRWmVHRUEzQ1FCRzJnTkFQVmlEN25rN1dvVUc4Z1dJSUFlVVI0Siswak1keW5MU1FKRTMzVUUvTXpEVDdRaTg0VkgvbEJNSUx4VkRKWkl2S0JOc1JSR2dOZ2U0VlFqejl3UzBBWkJXaWdBVHNRQWdlZ0F6UFFZSTM0QjF3d0FWbjJBbUVGQjBJSUI5dDRpZjBoUWllbFB5amdGSVVKUHUxbWxWYUQvd0FNMERKYWlUWk41WVc3OTRSaXNvZHMxWEpGUmxrWXdSOExvQWNNb0FKaUFBZGlvQUlaWUFJN29BVWRVQUUwUUFHdStRSGpDQW9MOVYyTHBJNzNKM3RzMEFVeDBTY3FGQVdRbzE5RmhKaUo2UmJuOFprM1VRZ3RjMCtzMkQ4c1FSUmhTUjRxTTI5OUlsSi9BSnByeVFadFVBSWhvQVVlZ0FXdStaM2YyUUJET1FxYjgzcHVJQVpSOEFPdWhBTkowQVZJMEJLQ3lSb3BtRitvWTAvNHBFMklRVERpczBEMEVvK3NLRHdtNWhucHR4UjFNV2Z6NFhzM1laSnJHUWRQTUFTckNaNFFDcDR6RUp2a0dYMXJ3QVVLY0FCa1lBSThNQVZ0Y0V1aytRTWI1aDlPUW5LVTB4aHFvNCtJb1dGYklXY2V3VUwvZVlpbVJDTC84RDBWSS84SVB6QURIMUNYT01DZU94b0RGZUNkRVFxaGcwQUJEUkJPQWlVSzlyZVVPZnFkTktBREk3Q2hRaUNhMzVhYjc4bFd5bUZvaVZNVGpsTTUzWlFZNTVBdXJTQmkrMUUrbnhXak0wb2tOUXFUZmZjSGJEQUREWkFGUnZvQkN2QUJkM0FIRU5vQWVycW5EZUFDZzNDbmQrQ25aVUI5bjdCTDNhVUFjZ3FoV05BQkJ4QUNRdUNoNnlrR0lwcHFyQUZIcDBZSW43T1loNkNwSlJHbTVrQXdBQkVmTWNxS3BvUWo2eUFXbjFkRnZpRUdiNm9BVlVBQmVPcWFMbENYNFJST00zQ3JkWW1ydDZvQUN2Q1FYRUNvanFCVmkzYXJKSkNvUTRvRk9xQUZQS0FFUC9CU3I1U1ZXT29XRWNSMWhNQ3BpY0JaRUNFUVljb3MxWGltaFNBOFg5SC9FZ2doQzhwM1JWV25GREJ4U3pqd0FjVktBVFh3QWZCYUJYeXFweE9xQUEwQXIzU0tVZXpaZUZDQUFVbTZDR3RIZEJPS0E4VXFDRU1LbmhVd0FpR2dCQ29nVWErMEJMc1pqVHdoQTlaaUZJS2dvb3J3WE5tYUZPZnhKdmxSYmFTRXJZVEFNLzNGRWpBaGVEVjZGb2Q1ZmxIWFBFa3dBOFdhQllBS29ZR3FBRGlnQUlCNnB3cmdjOStGZUVuUWc0YndCdlkzWFQwS3N3VnJDQWRMQVZoUUFUcXdCVkd3YXoxcUxGY2FyU2F4THhiamtTc2FwalBvS0o0QlBzTnBDTlBRTXZyemhUUnhSUkY0RWZtaEIzVDFhZ3BBQXUwNnBIY0Ftd3J3blZVUUIrWDVBbUwyQXQ2RkNFS2JCa3N3bW9Jd0E0SkFBb3hBczFrZ3A4ZzZBazdRLzdBZ0tnWjBBWjlVNnhCcndXUVNnSk5aeTIrZmNRV2Fld1YxMkh1SkVCbGZvVGI2OHhHUUd4K2FPdzcvWUlpR2VGTkcrN1kwdTBoemV3Y0tVRC9ZWmJlSTEyQkErd2NVV1FZT1NRSzhHZ29Vb0FCd2dMUGZlUWRNdXdVcEVBT2o2WlB0R1JZRjF4QVJwRmNTWUsyWGEycitSNW43TkJvaWExSW05UkYzNTB6V05oTTNXVFlXczNzMnMzdDZVQUt1MUxZa3dBUkZXcnhIT2dNVUFBZGxFQVJ2Y0dQZkZWWm81NjlKMmdZdlVIYmY1cE16OExzeUM2aUljS2RHS3J6RGE2dzB1N1JnMEFNZjBBSUIvSk5MNENZMnVpbmIwRVlna2wvaW9hM2pZTG1sRkEzWUdxTW9tcGczSTJMZTJ6OEZLQmJJQXcydUE1cEVON3h1bXdVRysvOEhybmtIZjNDcjMyWmpaSWNEZ3R1alBVb0k3RXU0T1F6RWNEREFIeUN2Zm1yQTl5cThQcWtBTG9ERGhRQzNDTnpFUE5xamNIQlJTN0FFOVhHSmU1QUtHaFVpR05zSVd0bXB3bkdOaEZCUC9UTUlhcng3a3dNNUlidVZCaEd5QmZnT3o2QU1zU0J5dXhjRnQ5UzY3eXVyRG5raEZ0S3ZPZndIaE51cmh1QzJpcHdGTnR1ckN2Q3l0WHJFdkJyQVNBeXJmNUN6T1VzSTRHbkRzRnJGVlVDbkxWQ1hGOElHTFBrSG5UUUtKZ0E1SnVrSmpjRnRENUV1Y0hjSSs0V05uSXNBWnJBekVzTTlpVmsyNGhBaStEUkFudEZVSDZkQjhhRTJNTnlqN0V2RFJScW9SMXdGVlFBSEx3Qm02NnJNaW5DNDMybXpEWURBUnZySnZDcTRrV3ovcTBuQXEzV0tyL0txcHk1d3p1aHNzT0NaczFuZ3U2OVV5cVJXQ3VNakNvUVluOTF3RHNLeGZiSThVcVgwRHVTcVRKYUVUOXluTWZEZ2p3Vm9waVBGaWFKS05ndWd2ajY4eU12Y0FEY2J2SU1ndjY1NXVCaU4wUWQ3QjhYR3dKaE1BUzZncDM4QXI3d3FmN1FLeENpZDBqUGdwMy9jemdvd29Vc0FrOXBReG8yUUZiQkEwL1lnT09vd2c2NkRDUHljZk9ieEVWc3hIQUk5Q0k1amUvbWtRZnlEcldBb1BwTmpuVVU3dytxTXd6andxbzdzQWtrN3BEYk15YmY2bmVvY29aZzhzeUFkMGczd3lmaEt6bDk5dUw0N29XeUFmVmF4ZFlENHl2WVdHWDRoRHNYenJmczF4d3hka3JLaU92MTQwMnNjUEtyRFdZMGpjcXlvQjJidy8ybzNLOVZlamRXQ0lNVmZUYVNIY05FM0M5bWM3TldYbmRXZEhOYXhTZ0Zad0FScjNhTmRJTk5YUVlvUWNXOStnY2Urak5kTDFSaDNMVUFLN2N2WWlqaUJiVkpmRzNjeHVzZk9tc3czVEFHbkVMZnJhdG1La05WRm10YnRITm80SUFaeEhReVBpYldrRURvTmdjK2thRE5tY011czdZV21KTHJjcDlDU3cxbDBaUUNNazhhekxONXNiTnYxWkFGOGpNd3o3SnFvSUxzNElKNm5BSjdIamR4aTROYkNFTGFvOElDdmJBNkVtSFFNUGNKZldOM0xvd3phM1k4Rzg3V3F5OCszemIxcGJONFdBSm9xb0s1R2U3aW80TnVDU3dyeURkcHU2OFRKN2NxTlVHYWVrQWVpY1FvdDAzNzNjQTRFenNhc0dIZlBFSUY4NGRTR3NPTGZLdi9Ma0JDam9Ca0Z6anJBTTB6Tm9nRFNsUTI4RnozZkw0M0ZYWURUamlBODFMc0lmSEF6eWhjS0RLQWZ5T09QMFUwbStveU4rMFUyWG9JQW1qdXVzcjNQMjRzS3VkM1FEVm0wUTR6Um9BQ3JzQW5manlEZmh1eTdOdHVqYkJDRGYvWVBVdTRJZmtCWGp4TUtWMkFPempnU254ckxLcDQvSjRVQWFsdVBzQkRITVo0TnVhMEhWOUN3UUR6QVEzeTBhMDRCSCtEWWlRQ2hacjdoQS90SzdrbXBwSEEyRXNzSWt6TjNuNUFCZnVBUFh4N2RrQW5DNVYwNVNHV0N5NVRxM1BDZlhtZ0dWUHJvdktySU1Xdm13KzNibXN6ZUdlMitiZjdTQWN6cGYyTFBqc0FEZDhFQW91Z0lwczRBZXVEa2xUdHREb0c1YUl3SXpMVk1hY25nRDBILzY1VVpCVjJ3bmtVTDZicGU3dVplN29pdzRjUitJVDdwdU84WjZxVnd4dThHQ1hrZzY0c2dXejV4eHBackNIMStGV0d1azJhUW5zdXIwcnNxenJudXRvZUF5Qzk5NFVDY2cxa0p1Y0dRQWVGVGxZN2dCQlNQZ0Y2aXNUVE9GcU42aUY1NEJXYlFCVjJ3QkZPVjBpWi84b1NBeFE3UEVtUENEWFd3TnArUTVPR0JET0VkSGgyZjI5b3FFT3NnTW53eDhtTHc4MEFmOUV1d0Y2cnljcEVMUmNOQXV2dWVHRGVQcHZibXFkcDZEa2F4cmZDTzlQV1F6d3R1RmYzZTlQOVo1K2tRcG9id2drZGg5U1N4UjB2djljSXczakZ1VitiQU9FMXZNMWZ3RDNGUDl2NWhkR2VERmxadTc3YmRDS0ErMkc5ZjU4WGw5d0dxOTRjaDgwaGYveUxNRXZYKzRQZEw5WEZ4cnhUNlpWZUgwR3phR2h1TVQ2cXYzUjFWenhvRGdQWjBmeCtlNnFsRllXSWM5b29NOUhIKytIRUI4WEdwRTZBY1l3NkcvL215WHc4RFllU3pmL3YzckF6NGlmdThmODhJVVFDNzMvdkNudzFuUE1iRGYveS9zT3JJdi96QW9QVE0vL3k4NEJTbHpCYUdBZjNpa1p6S0FVYldMeDdhV051SVVVckhWZWRYRVB6Yi85WWZ6QnJSdnVCUlh2NXVjWmpMc2ZUZGt3Y1h6LzQ3RVRZN3dvckhOUC8wUHhKR0R3aC9nb09FaFlhSGlJbUtpNHlERm8rUURHYU5sSldXbDVpWm1wdWNuWjZmb0grUWtRVUlvYWVvcWFxcnJLMm5vNDhMWmlJR3JyYTN1TG02dTRXd0Znc01CU0ttdk1YR3g4akpqcU1MVjJFR3RNclIwdFBVbTdCWFNDSWlCZFhkM3QvZHNNL2EyMGpnNStqcHRndWpWMlptQ09PMTZ2VDE5cGgrc0F2N2Z5amFLUGNDQ2h5NHpKY0ZQdThtRVZ6SThKd2ZCckQ0K0dsSXNhSTNkby80V056SVVWckdqaUJEOHVLalVhVEpVSUVBQUNINUJBVURBSDhBTEFBQUFBQUJBQUVBQUFjRGdIK0JBQ0g1QkFVREFIOEFMRmNBU0FBakFXWUFBQWYvZ0grQ2c0U0Zob2VJaVlxTGpJMk9qNUNSa3BPVWlBQVRmMithUVVTVm5wK2dvYUtqcEtXbW93SUVhUzhiVm5Cd1ZpMEpHS2UxdHJlNHVicTdmNmtZY0Roc1lqOVJLa3RpY0lLWWd3QUFVTHpRMGRMVDFKQVhOeGN5Y1hBL1NpYUNmbjZDSmlwL09CZ0VmMEZCVUduVjcvRHg4cWJaZjNBcjMrRkFJR2dFYUNBTy9QQm9nK01GQVFJQ01NVEIwR21ldzRjUUkxN0l3QVZIR3cxLy9FaEJFK1FRRVRSb1ZNQkpRZ0REa2lWSkJFUmN5YktsTGdFWGxDU0JVeUtqQ1FJeUVFR0JRaUFEa0dkeDJ2QlJFY2VsMGFOSVBSMk13NFpIdUhSUTNwUXBjK0tab0owWUJRSEJnRU1GSGd4Smtvb2RTOVlRZ1psQ25sNk44OE5ZMkt2cC84SmgxSkFFaDR3WFltNlUzY3VYSmNJWE9OTG1nWHAzU1VZL1lpYmtoSUxHVDUwdWJINzRtZkpuMncrOWZUTnJyaFpsQ2tFVmZ2SjBraUVqU0p3U2ZkYXNXZkdXc1o5eTVxTGdxUWduM2ViYnVIZUp3QkhXRDFRdVNlSjBkZk9uU1JrY0ovN3c5UE5qVUJMZmNPS3d5RTI5ZWlrVWJIQ1U4SU5HK1laZ1l1cHlhVklYeDU4eXkxY013cUdreUxKVTF1UExqOFRBaDBVL0dLTjJ6ZU5IVGhrcmJaaVRSQk1MQllHSEV1dEYwUWNVd2lXUlJCQXF6U2ZoaElVTWtKMFNmb3gyQWh4MTRMSEdJRTI4MGtZVFhMemcyZzg0cElpYURGeHRZeGlGTUVvb0FRcC9QSmVWREJQZ3dNTWFYSEJoQ0lrdktDZkZIeVdvRUFWK3lvVUZoLzhQTVRZWm53UW9TbWJiVGxhd2NWeFJ4WlVSSUhrWTVCVEVrT0IwSjhNYk9Jamg1Sm5VU2RBRmUzMFU4b1k1V0JaWEdZa2JFQ0lER2lhWW9NRmlic0RSQlpxQWJpWUJHeHlDVUFnVU1uQlJCb2h3THJvSUZHdVVBY2NBZ1ZhNkZ3STErbVpJVkhGdzBRWVh3Q1N4ekNJNXBZRURqWlpDTkFDbHFScUM2Ukp0SWpKcVFYL2s5Q2h4eERIWjZqeVVNbURCSHdOSTRNbXF4QmE3S2xrbzRQQkRWb2ZrOU1JTHREZ0NCWEZySkdIbXJ2TllZQUVEZndncndiZUtHRXZzSVF5VVd5NnlYWFduQ0dtTlRQQ0dETlArd1NNY21HSUxqN2JBZXV2dElPSVdZbTY1MmdZc3NMYmNUZ051Sk1sR1lSc280bG5GSXh1czJrdU5yL3QrSzBIL3NZVDhPL0RBLzVvN2lMRFNtTEd0SThmK2tYQkhvZ0RtNkx6MVNoeU5CUktNYk93ZzVtNU04TC9kV2d4c3lSaXpGT3k1M1JyUWxTUTdKVkpYYzVHZTZ2STB2dVlMTHNBY2U4eHZ6eVhuTEFqSVJ2azZjcklCUmhMVm00YU1pY09pYTRoeEt0WkwyOUtDSUhoSXdLM2JHMHZkYmI4ZmY2enoxQkc3Qks0RUNJemtOUlFqTFdhcmNvQVh0UVpUQ0tDZHRpbkpUZUhIQWdVUDRDdlFPNDlMeU4wZ0Uydng1ak9MWlVCbGtPekVWUm83UFFOMnJYR1krZUVTaWk5ZVNnc3Y1SUdISUwreTJubmQzVjdPdWVhY1cxejFRMWVJa0RNQ0JvaGd2RDJuTjRJakRvZ3UzK1ZPWkFib2hyS3R1eTdLRkMrVXdBRGN3Q0t5K2Nlcjd1NjcvK1c1dDRRdkF3VVVNS1B4QmlDQmd0blJQdkptR1JoZ0FrZnB5ejhEQlE1SVZHLzlKd1M0d3ROR1ZvaTc1ZXhid1FvZjV3NXhNSlp3TEgxSUVBRVNycUFIUGZnQkNUandVU1Fxa2lJYzNJODBVTENDNFVCRnZ2K0JRZ0JDdU5nZkpzZXZBdmJ1WXIrN1dnT05Zck1GV0tBQUlpZ0FDa29RaFIrZ0pCbHZDWjBtM3NDVkpEd0xHTlNLZ3c5Z1dEa1RQbUpoZ2tCaHJ3akdRQVFpc0djR0pNdkFGc0JGQmlBQUdhOUlFUnpZc0lRMnpDUjVrY0RSTnVKUUJtcnR6d2NvMEZ6UG5HZ0lBU2doQXhtNEFCcndtQUUwWEdHRlZQVGVGV01vbHMxSm9BQ0RzQUFYSVZlQ0h5RERnMGxZZ2dwS0lBUVRoR01QNmduU0orSWxpR3AxRVA4T3cwQkI0aEM0TXpyK1FVODIrOVVmQXNhQVB5N0NmMlB4blFRTVVJQUY2R0VCVjRqQ0VvQUJ5aCtVUUFONDJNTU9RbkFBRCtpZ0FsaW93UXdza29sS0RHNE5iV2dERHhyNVNBOHV3UUFvR0dRcHJWZUhqblZzaGE3RW5YVW94VGN4c0NFSmJHQkRHM3lZSWpHc1FBa2FzQUVadE9DQkN0Q0FBaFFZQkQ3eE9ZTmtvUEVSMDFLTkcxWUFoeFNFWUEvaHFJTVNqQUdNWUhUQkFBaElJS1h5NWpJekdOS1FnSkxBRW1hZ2dGZUU4UjVDMklFV09tRFBmWnIwcFB1Y1FSSXdFRDlJeU9CRGJ2Z0JIQlR3QnhMUVFRY2pPR2c0VEtDRUZaak5nMktBcUVTM3VTc1RtR0dVRjNWaGs5amdoVHZjd2FRME9DWUZza0JWbE9MVHFWai96YW9DckJDL3FEektLbjl3QTBFVVFGTVNrR0FRTktpQUI3U3dBendJeERQQ0NRWWNnOFhFRXBweVFranc2QXoyU3RZRzdQTURlOTJyUi9VYVdBY2xnYVp4ZU5kVkZQTFBxMWpsVFc3d1VVZk5ZMVpFWUtFQ0hUZ29UeDBweGk0Z0lYRkRKYXJMWURrZkNSckFCMTB3SnpDeWdFOFhOT0MxRGFqQ0IyYjdBUVdrU0FGSjZHZER1L1NIK3ZVV0IrNUl4QkNoNEtqYjFwUUpqS2lCRGc2d0F4dndJQXB0NE9VMUl6cStZeEV5VUtTZEVMY1dBTTVka29DMVRyMXFWdjlnV3dVNDlRLzVqQVAwZXZ2YmxncENFOHBKQXhlMnNVd1BDcUt5amNnbkJiQ3dYRElJd1RQbFNjSmNxenZSNjhZakp6bFJqeW15ZXlaRi9nRkZDdml1LzBrTGNZY1A0R0FHRFhBcWJtdVZoRElFZ1VVMXdzQWJTaGVWTklBRkdEWHQ2QXpPYWxiVzV2TVErRVR2U1FWeFdROE1JUVZtVEpFd2ZoQkhHUGFyd0JUVkJjclVRUVFsOEVBRG43dXJKNjRna2hWTGVKK0V1SU1MNnZLQk85QzBSdWNRaEkrU0VSM0RZc21EWWt4R2hDWDhWQ2liMmFST3pVSnRHMkNJeTQ0aEJ1VUJENDlCNjJPNjVXSWRIODZKa1JXNUxVU0Nnc0hZRXVWTXpQcmtGeE9pdkExSUJ2S1NaQjRGOVBPVEhCMkVvK3RyanhuOG9RcCt4ZXBKc2VxQ0R3VFlCVE1leEhtcjRPaFBpdUdob3R4ZGtFOVJtZzhIUVFrTXNHSE9WZzBKQXdEYVlDMjV3cHFjL04wYXhKZ1FGbFpBcHovd0J5NnNva1lVUUs0aUNQOXQ0WmsrMm9PUmJvQUxudHFBMmxyYVBCK1l0bFZSeW1sUzExZU1rZnhCKytLb0N5V1VoZ1VhZ0p3QUxZYXFTaUNCMXRaRHdnSkVBZ2RDdS9qWGY1RHlYaHVBQlVMZ0lNT0VJTFM5cVpxRmZBZWIydFp1S0J6MktrYWFaamlyRU4rMmVPL3dCOWZXdHFIbVNWR1NjWUdIVndlU0VFaFFNaW4wY0lVbFhOamVVTlluVFluZHp4bFVPUklWeG9GNTgwM3hQMVRiMFJqMzRNSlZTbGJhZnFBS05vZXRDNFpPOUNpSDk3VWtXT2ExZEdFQ2JZVlRuQ0lIeFIrNVNCU1ptNVVKOXhaMUZXYWFja25FdkFwUE5UckZYWHR6c2dxMmcyaFBlOXFKYlZLcWttQ3lTMGljUzluMUJ4YmtBUktxbkErOGtVSnlGTTIweFJNV1JMVkJZV1gvSElEZDBJYUErSG1KRHRzcU9GNjJQcDh0cVBHWkJiT1dtaHN6YkFRUmlNQUNGbEFCUVZGdkNSZk5ZSEtPQWo3bE5RZUZiUUh1Q2NVcmZxcVdyNjhQNUI0SkRmaHFrUllRUjZ0K3RyM05jUEdMRng1elZidk9NQnhNZXhRb3JmemI2OXVGYkNhaUNJdmdBemkvSlgxUDNOb29NZFBXOVkzQzNTajhkTXhZRC9Vbitzbm1UeVJmK2FYR1FmUExWd2tHME5WdHc2cURvTGExL2FSd3R3UzdESDZMN3gxNFNWREEwcDdRZG01blZ2VzFKQzJUQ09zZ0E0YnlDRThIS0N3MEgxeDBCVCtRSFNlM2YxWTFDUXJ3Y281d1VnUW5jSlBGR3o5QWU0cVFnREl3SFhSVUx2WEhGN2JFQUxyRVM2YjNYY01uY1pVZ2NWT2xmSmFYZm41Qy95T0FCZ0Ryc0dmeTF3aDdSeUZOY3lZUnlGQXA4b0w3RjRNMHVJVGJOb0NFbG43V0ZITDFKd1N4TmpKNXR6Z3hrNEs0c1VpNXRBUVVlR0VjTldZQ2QzVUV4MzgxV0labHlBUmplSVBmeGhzKzhGbGErQWRYUUVCT05JUVY0aVNMeEFCRjRvVm90M0JrSllackdJaUIrSWNNOTBsSmdHcnNSd2t0azBWcFE0ZDRBeWg1YUFZOWRBenBsSFBRRmxpWW1JbUZtSGFndEFRLzhGbFdNd3JmOHo4VzBJQk5aQ20yVkFnSWdBU24xUVVvVVltREZZdGpaQzFMNEFQaTVqNllrbm1rRUllQVVvcUdZRmYyTW9wL2dBREVXSXpHU0l5aFNBaEJHSHFVNElpQ0FJenpRVG1YWTRyTW1EVlhPRGNHRmgvQUdHdlVXSTBzUVRFVmtvM2pSUDlJYzFnd3U3Q00zcWdJSC9lTTZKZ2JoUFNBdWhBczZkaCsycWVNNGxnZGhJUXZ2SENQODZpTzlmaUlGR0pYRWdBNTBNQ1AvZWc5QVlNMjBJaVBRV2FINTlpT0Iya0kyUWN6dHJPUXVHRlhzY2FMazdDUTBoaVJFcG1RQUttTk1WU08wYkNRTU9PUmlqQ1JXR09SbVZGQ21PS004V2hnNW9pUzNxTTFDc21TWkNHUU1Ja0xjMlFJTTBtVGlEQTVOOW1UWlVHVUpDa04yZGlSUUVrdUFOTjc3R2huU0VHVWdLU1JsV0NSSjdtVWl3QTFCSk01NGdLVnZISTczWEtVSlhtS1B2bVRXSmtJYnFPVnZkZVZiUGtPYlVreklJbVVaRmxBVjNtV2p3QTNySVEzYkxtWEpCTUplN2xxUWxrTjFuVUlBekF5QjJpWGpmQXRXbU9XNGZqL2w0NzVtSkJKVGtvcEQrSTRrSHlEbUpRd2tYTERDSkhabVYzNU1WcnpqdzdCa2p1Sm1aQ0FsOWNZTXgzVGpZM0psNEtVbHFHNWxhcGlZSmd5bWFZNUNaazNrVkhqVFIzalA0WjBCVFVUTnloSWxhY2dsUm56SzRkNW13dW1tRnFaU3M2WlNzTkpuREhKa3VDb25OVndVYnhwTHV1R1VXTmhuSERwaTlaSkZza1psV0I1bkRBem51SFpqMEJHbTZza211bEprOFdDS2JTbWtvajVidDFqbCtWSmwvUm5taFp3ZDRpSms5bkhtTzk1a0FPQW5uUlpmUU42bHN1WWV3bDZDSFVBa2YySW9BMDZvUlJhb1JaNm9SaWFDeEQ2Q2Y2Wm9idmlmcTRKTEFLS2R4dnFvZkxCQjMvSkx6OW9mU2Jhb2k3Nm9qQ2FOZUVpblRHYUtueHdESVZYc0FCOFlFTU9kbGVCQUFBaCtRUUZBd0IvQUN3QUFBQUFBUUFCQUFBSEE0Qi9nUUFoK1FRRkF3Qi9BQ3hmQUNRQTJBQitBQUFILzRCL2dvT0VoWWFIaUltS2k0eU5qbytIVkU1Uktpb0dsNFJPVkFJQ2tKNmZvS0dpbzZTbG56MCtJcW9paDZ3K0tsUVBuS2EwdGJhM3VMUWpCME1xQlgrc0NNSW94RWpHU0FhcElqNEdUck81ME5IUzA2SWpJeDRHd0NJRlNIOFMzaExoNHVFSXhnVUZJaitibmRUdDd1L1ExaWsvcWdVb0NIOERsd1VHU0NnRGhjU2hPSWRPaFN4NENCTXFiS1JEaDRjVTZMamhHelNnM0w1dDNRSktRRUN3Z0E4bk9SYUtISWxRUjRvVU9wejhzUWR3VWJsbEtEVHFzMmNnSFJXU09IUGkwcUhDaHc4RUVscUNFNWRJbndnRFFvY2lLWUNnWm9HYk9xTks5VFFFMWJhWWd5ejJPNllJeGJhazRwSU44RnFBM2RTemFBbmw0WGhWMEZoQ3EvOVVDV0pLbEJDQ3IyNEJmdVAzeDZzQnMya0Q1MVJ5NVpjUHJFMEhuVk1CNXMrVEo0SWVJekF6SUp3aFZtNngvdUVJRU1uUlAwQUVpeGFKNFM0emdHeVhxZGh5cVBFZ01HQ2NJRWdxNkxBZ0pCUC9ZREpxd00vbzMvQmVaRU02VjY3clJpT0c1UGhSZ1BZZkpOLzBUZFRYc3FabTROaHpUVmdwQWdVRENXUlZpRnJlWE9PM2NvTlFRTDh0UW56Mjk3ZkVpSWxEN0J3K0xhRkNrcWR0dVcvdWZOL285a2NQOEJWb2loVlcvR0ZGSElKa1FBc3pBUXBDRkhXQzNCT2hnUmlXQW9jZ1JOeVN3bEVYRW5VUFJmMWxhT0paNG1VMFNGMkVsSGppaXpyOWNoMkxBN1JVWWt3cXdmZ0hDQ0FnQWtJR1AvNXhBd0U2a3JJRlhpdjJod0QvVm5WSmNFNlJJRndnNVFVQ3lJQkJGRkVZMEpFS1RpalJZNUdobEFCaWl3RlNDRTVXZitSb0lBRUVFRUZBbEVxVUVBVXlQZ2l5Q2pQbzFHTkFGRXFBK1lsbktFUUlWSUQrU05qZlJnd1VpQWNMbFB6Z1F4UVhPTEhLT1pkczlRODVLR2haMng5UitQbklGRWoyVlprZ0hPVVY0UlZLc0lBZGd6OFkwRVU5djJ3a3pHeUdMTG1rT0dOcCtvY1BHVnpnNlNJQVlERG1ab0ZHeDVTaGc1aVJCZ3d3akphRW5kdjBRMnNqTTRtQWhGN2hqQldSRXI3K2lnaVIyYlEwd0xVQlhzS0FCUmJVT0lnU09lUUFSV0JpYkNQanRCV3BsNUV4bDE2WXoxTGRKV25VVVdoMDY2MGhTbGhMNktCOUZYRHVBbWJFOUExNFN0eVExck5ML0pmcC96bVkrVVFJUDVjV3dsdUVRVFcxVEFrQ0QweUlsaTAxWmRrQUJaaXhnQVVNWkFNT1B5Vkh0YUFWU1F5ajVUbDEvcUJDRkN3d1dva3ZxU1RpbFVZcm9STUZDSUNaWEhDZ2doZ0FsRGY5dkx4QU9VRkprQXdhb3NYQmhueEovSURISWdRd21wNitkOGxzNkZKS0Uybnl4dVU5WndBRGRBK0VyZ1ZYSUNVQkExNUIrcHNNZ3FqS0NPQi8vR0FHaTMzMW0rVE9qN3I5OWgvaVRkUlVvZ3RjNGNNVkwxc2c5UitWYjFNem1BUW9jZmlGNGJiSU1pWlJOTzF0RkNDR1l3RG1NUCt5Z0NCbW5Kem0yd1JRVmdnelpITEUwU3VQLzhHQ0R3cGJzTUNJeGwrU2VjeUNYSjFPRUkvSFBRaG1obW90dFFoZGJQRDJHMzkwOFFmbURIZGp2UC9kNkI0L0NBTy9CQTloSVRKUGk0SVA0eFpPdU1rcWRQZnlGZUl6WE1BVjVRdm9oeCtlQ2Q0VU5zTytiNHdvSHl3NWgrTUd4b0tqdk93NVYrQmNIV1RIQno1b0xvTGYyMGJ3V25VaGRjVXZhdDNvMndhL3h6a1UxTzUvVFBuZmJRYVJCM1FNOEcxUmtONVFuak9SVE9Wakd3TDRISmdpWlMwOS9NRU0zZmlmUCtxQVFReitBWUNzMENHWWhtY0FrRmxtU1c2Um1XZjhaaklRbk1NM0pqQkFIdjVYRGdaTXBBN1o0T0puSGljZXNKd25JeFJpV1FGNjlUWmYxQ0ZxUFBqZkZSQlFCeFQ4enc4R01BTWZHT2E1eDdGT2JVTXhrOVRPSXdJMXZRMkRTRGloYitxQWhDMzZRVE9GOFlFU1ZPY3A0Z21GS0xpcDBOUUVwRVEvSVlIL2kzYThJd0N2VU1IYUNVSnpuQXBlL1dZVUhYR05halBVTTlrUE9PY0hJUDdoYmd0STVQMUltTGpnL1VFR3c1b2htZlQxTnA5Z0xtOTNHeDhLWm1lQlFWamdMcjRzblBUcW9xNHpSUk1ZQ0ZnQUE1QndydkkxWlhhNVhDWURXQlpOMW1tbVJnR0NvalVGNFo2QjNRVUpzK1BtM1g2b3RzUUVKWDJQNDk3Nk5yUEp4S3d6RzVRczBsMFVkanorb2VzUE1kc2JBVnNpbzhkMWdqa3BLOVptWkZZWGZIUnFZQ3k3M05VTWVyZEJCc1YyMTZGZlBrZ2xVUW8xQ1ovZUFvZ0lzbWtHbDZHTGJ2MlFrTnI4UXN4ZmlXazYwREVXUUNvVElLMjFjMkRXNHVmZHZwTXBjUlFLbGswTTN0T2kwMFJqSVNCUkpVcFY4TUkxZ0c0bVNtWG4vNkVJUDJycXB3dWdZWDNVTVpaTFB5b0lKYkFwZXVlN0F0M3lvYmQ5RVFKcWJ3UEJWNU9xbTZteHpHVU0wNHdaempxd2JKU25xc0lvMTlRMmtpU3UrdWtCeEh1WVIxbVdUWmgxNHh0NzdkREF1aUU5ckVVTnJzTTBySTVBTUx3Q1pDMlBzM05TWXhNbG9RSDg0QVhSRTRwbCs5TFVHWTdqY1Y5VkdFeGR1cExHa29vY2YwakNDUVlXazUrZ0taMmU3ZW5EMFBrMkFSRGdIQXRMNUMzUloxdVAzdVVIMERQWlNpbENWODRJMXh0TmNZNm5pRUM4NU5ZdWRyYkZDaCtoTzc5S0tvNnQ0cUlMc2hicUNHRmtxTHZOUklGQjBjZTVaazZrY2o3NEFSSEtDeWFXbmJldVRyMHVBZjlqaUpZTTVGZ0dtaVgvSVBqU2xqMHdOK2dyQVA4Qm91dXQveG9BcnJGeVM1a09ROHpYRGxTRzc2bWZ5NTdqTWo3c3lxVU1PNTlISkJ0TjlaU3JXR01wMDFaTHU2Ujc4QlFCcVFocGlIbjVPajM0QVgzZ205MGZLcmlTdCswbEtmZ2dWRTdIdFRKK2tIWWdyS2hIWlNxeXlReGg4SFZ5TEVBZGZQTkQyd251VjFwYnoyOHIxTlN3ZW1NbDMzREtQVVNHbEZlZUtGRjhNRUFjL1ZDWVdoNmlKb2IwVTVndnBESlN0WFp6aWpHS2Q4QzVnSnJNcGlYR0UzS0JFcFdIdWYwUGlIV1lDQSsweUo2TGVtdTFmazVuVHV1Nk1VTS9zSGwzQ1ZTTlpxWGQwWWduam1EY3NoL3FRRVFFK0diU2drQ2lFenI1SXVKbWhhNEFTbk51c3JIU1Q0TzZYeDZKaTBRMkJKeFhtVUVQZWVPREtJWC84YjlKTDZDQ2FoVk5LeFZobzVFT2t4Qm1RdGFGQnhGQ1JRL0NlZWhZU2FWMnRSSmlBMGNFbURORE50Q2xiQk0yR3p0VVBqTzEwUm1VYWdvemltYlVqWXE2WVZ0QzVGSVZlVnpZQWlwWEV6WUFSd0QwSUtVdGNRbmFMcHQ0TkRoZVJwc1JrYlZ4ZUpDbitnSTBzcENSSGdJYUFuMjl6dHpBd1lrRU1XQW40WHh3TDhOSFRGcmcxRVFWMEtFTnZXY2xESjVxTXVOVnRvd05LL1RmNW5tbEd5UEhHK1FFd1FZY0FHZDRHalhoTFEvNk9tOW5SMHVpOWxoUWtpRnNHRDhINTA1TVdIcnM1Ky9DN084UEpWREJFb3Flb2YwVk5Ka3hNMkoySG9hclMyNGtJaDBCdUxwd0hiV2NueWR1ZnZHMkhnd2duMEVZUFVPZDJwOEZ2SU4yLzFOaXFFYTJ6b2QvNVVzM3VySGxIN3JCZXBJMlU1Nk5IRVVQM2pZNmc0clVuTEYwODZDM3l4QzlEV1dkZ1JOQ0R3TUZDSWc3VnIxU0VSME96eXJFVDNYMGl4cDluaEYwaGpneVNsZVJNWDZjSHhHTTJ6ZU9BZmxBOHIwUWYvZldMOVRXVFM0blFnTlhLSFZVUENOc29OUmt4SWRZSzdiVlZvOGtHd3NISDdqbWM4NTN4RVpnRmkxcWJpbjFrMUdBWmpaaU5oRlpzMU13TGdFZkpQOFBDbmhjengwaDVyTkl3RE5tTjNKbUlCZncxQWdyVlJOend6a0Q1eG1QTlJaMWtnMWRBQWNHOXpZcnBWbUlvR002QVI3YndBQ1oweitzQUUvdWx3ald3UXdjdUhSODVGbit0UXF6d1RzRE0wc2d4Z2hnSkgwanNSY2FsVXdIUlJZdDkvOXRDQVZueVZBVG1ITktEZVpiQnpnWGFyUUFQdlFINWdZbW51VjhqZUJGRmlnU1h0RllJZGc4VjZBSzJmUnRmTE16ci9OeWdHU0NUaUVDZXNTQmdISU9aaUFNWmpCTG50S0ZUZWdpVXBFTUhQVjcxaUprMnBRbkdQTWtjVmdJeHFNTkJzQk16b01NcXpBWGFGZ2tsK01KQzVBdE1xZ1E5MVE4b0ZjSTZMQ0hnNENBYXNVM2NzRjF6bVE4aGRGcnQ1Uml1NElSR2ZFVGJTQitCV1p2VXVFazZKWTVodkJ2QmVnOG1aaG9SM09IbFFnendEQml4ak9BMjJBR0pmaUlSM2dpR01nSUpsWVJoNGdRQnFRbHZUWlBoY0EzR0lRK05aaE12S2FHNkhLSnNuZzhxb0I5Z2xDRjdRY2pPUWdKNE5GNVVRRmxjbUVBeVhRSWNsaUZqcGovVEpVVEVXcVhpWGRSaW85SWljN1VVbE1JaWxyemdpTHhjdjZRSnk2MWlLY1lhcjdtVGRqa2RQcWpHU2Q0amMzempxTmhBV3c0Q3BYQkQ3L1lEaHJvWU9XNGdiN21iNEtBZXV3SWhQK21NSVNBUzRyMmI0NElJMWR3a0tMQU1pcUNFK2dBTzgxMGlRNVdDQytqRmVoUWdJWVFPK3FZa1NycEdWY0lJM3d3SWFKQVd2aUFBZ1NaRUowRGdnZWxQeHZZZFRVeFBkdUFqNFJ3QmJiWWhFdFpKTkZIVnFCd2t4VnlTem5oUmZaRGpBVDNPdDgyZ1BZd0dRMVRKNHZnZElvZ2xpZFNHTE1oa0ovUWt5S0JZM3RJakp4akNPSjRpNXhqQnVmd2d5bTFGSFh3QUo2QU1rem9DRHp3Um9IaEdmZVlDTG5rQTNLWmlWeUpsanBpR3AvQS93TURTR0NQVURzUGgzN2VpSlQrNWhrTGhvZVRjMGg4b0FHZXdBTUZRSmFOQUpocHNSZkxwSmJUYUVJOWFYb0RJd1IrWUR4akF3bFJvSmd3NGhYbkNJNkwrUU1tQndsNUVKR1BFSnVlc2hjZCtUYmZnWGlaQXBhZ1NBczRabmdETTA2SWgwNExtWnlPVUJHM21SMEg5UjFvV1p6UGlYalNhUXVWWVptbkpCZ3dvNTNvMUhnZnVaM1BLVy9kYVFvQUlaRGZPQTB2dFlPTk41LzBlVy9vbVo0dVVRQ2V1WjRoT1FpUitIbnYrWkkyR0tDS01KNGZtUmYzdVozenBuaU80SVA4aVF2ak1KK0NNSjhmZVNnU1dqMnZOVzhKaWd0cHN3QjkrYUFnNmhMMkk1b2hXcUoyWVE4djg2RW11cUpSVTVsNXdLSXdhaGMxR0tNMHVoS25XYWFqTWFvOHFJbWo2N2tVNS9JaUpjQ2p0MEJPYjNZRjBTYWt0RUNkT3pvYUYya0c3OGd3Sklxa2lIQ1dTem9hWG5TWWMxbUxVZ29KYnBZaFk1T0RjN2dOTmJtbDNSa3oyMkNYaEFDY1pQbzJNRk1UUGlDTmxiaW13ZU04bUhpS3pDbW5BMk9XWkdrOGR3R1plRm9rVXRBOGgxQStOUFduNHZlTisyZW9Kb05MWE9tbml1b3R5aGhMai9vNGhDcW0wVG1wSGdsejNJbXBiME53Z1hJdXRNbXBSUktsU0JvSUFDSDVCQVVEQUg4QUxBY0JTQUJ6QUQ4QUFBZi9nSCtDZzRTRmhvZUlpQUIvaXpKQmlaQ1JrcE9VbFphR0JIOUVRVUV5YjU4QUFHK01sNldtcDZpRW1RU3NBZ0pFTWxCcEdCaHBiNHVqcWJxN3ZCZC9JQUlnRndJcVluQTRjR3hpU1RqSUwwR1pmNSs4MU5XU0Y5ZzNHVk12Y0VzcVNqeDhmbjVDSlQ5L09CaC9yS3lQMXZEVzJQTXJjSEEvUE9Ua2ZTWlNlT1E4bHVCNDBhNVZ2SU9waEdXand1eUhCbko1TkJEb0pFZ0dFVFJTL0tnWTZFckFpaVRyRUlxODFBb0tEakZDeUptWWFBaUtTeWhFQ0V4UmxrSEZraVJKUnVxYzFDNE5qaTU1L0RnZzRQTE5pUW01WHNMTUFBS0l5VGh0NnFoSWNtT25WVXl0VnVCb296S1d5emgvbHNUQjRCVW11VDkrUUp6QVVRTFBDYXBYLytQK2lVTFh5Y1lsNURSNGxWSG1CemtsWUY5bXlKc1BUUnc0QkZvczhTWDNxb2pIT05pWVNPdFNScXdrUEtTc2tiUGtoRmNRZmtxd3dhSEN6eHNjRzNDa0VkQjRKNExYQ0ppVm9BemxUUmtyeWRBMDJmMm5oZGVIWXRMaDRBR0NXUklXclhWS1dDNmhDdzYvR29vaVd5SXd5VzVtcUYwQzhaT3pXZW5UWEFSRVMzNlFPUXBrSnZCNGJjSG1vUitUWmNvMDR4SWZ5dURnemZCbXd1SGpEM0x5OFREbm5GOW92UFNjSDNLNDhjYzY4c0Z4SFJRRStDRmNaSFdBTUVGa3lnQVlvQVFESE1PRGVuOTgxWVVVZjVUeEIyOWNZSERkR3pKSWtZY1krZmxSSURNdHdLRWhQTXVkaHhjYWdrQWh3NFZpeExIVmJtMjBzVnNUT1VIQmd2OGZlWlFReFdSRVFJRUJEbkdJSWNHTjFTejNBMmwrRURHSVN5Y2N3OFdKVGFTeld4bWVDUktoUGxLOGRBdzZXUExDbkVCQ2tFaUlqN1lkaVNRTzlMMVFDQkVaYUFBRVVUQnh3Y1lBY2NySklSdHdyTlFTRkVtVVFRc1h6U1F4QVNRdnJkRUdIQWdrdXN0eUhTWmhnZ3lQVHRrTWxXbVFpcWxMYTVpRWhLZTZMSWVBTjBBa1V0c0xTZmlwNnFOUWhPampHbTdBMGNXVnNKNlM0M004UW1MWnJvZTg1S3NiYTZ5UkJCdkVGbHZLc1NwNHVZdFNVRUM3QmhlY1ZtdHRKUU5JWUFBT0t6Q2JpbExlZ3Z1SHVPTk9vcVZxbDdoMFNCa3ZlUFZIdE9BaUFHKzhrWlI3M3BpV09CdmlJRk8rNGVPKzB1TGdMOERrU29ERVFKV1U5V1gvcjMvSUVFY1NNaWdZclpBUFEweUp4Q2RWVW9iQ3ZpcVY4VzNkUnV0R1pJaUtUSWtCQ09DUWt5Ujg0ZUJyTEhHQU5VZzNncmo4M0w4eUMyTEIwUXRZWUlBSUtDUUJSeTZSd01FeG5tRDVXUmxZWGtickV3cEVqMnZBSDBkYkFMWUZDeXlneHhVaUZEQmFTSkhnWUtKUnAvcm80NlVFODh0cDBUNkk4RWZTWlpmTmdCbFIvQURqcVFSSHdzd3hWREtEd1J0cHZFQ2x4eDhQKzBmTXhTTDlod2dHNktISEFsY0Vib3c5WWl6eEExMVNUL0pHRWh1UGFlcXBTV0FjYmEvK0RpRDc3QUNpSUVqU1NKdnhHQUlsL0FFakhHS01Mb1FHTzRTZ1JRY1Z6TURuSk11cW1nWVhYRXlRaHV2UmxzRUdDckhQamlqbFZwVXJBUUpwaDIwMi94SmlNQXI4RDBvUVQ0WVdPbFJRQ0FVejJBaDF4WmI5R20ycmh5RVRQQXJsYXIrOVRnWHdGd1BBWndDeldhQUVYWUFEVktiQWcrS05vQUkwU01RZEdnQ0hNbUNzWHF5Nm54dVNrTDRTdEFFN2JQQUIvMEJGTys1WlF3UlNtMVl5bHRBRnB5MmhCRUlnd3dNUFFZRWEyckNHZjJoQXBQelVJMHJZeTJVYlZFQUZSaENDUGVTQkIxRll3akhZMEFVaytJdUUyek9oTHJyd0J5OTRRUUVLVUo3TkhzQStMTnp3aTJDODRSMFVrSVNrU0dsVm1YS0RHejR5QTBGazRRODFxSUFPUnFBRkpVU2hEYVB4QnMyZ1dNSmR3S2dCZHdqa0hTalFnQnBnUVJBMmRFRU9HOEJJUnRaUWtKQWtZOHBxRTRmcGNZdGIwdWlXR3piVnhqK1FnUDhKaHNDQ0RnN3dnRHNlVGd3MDY1LzJKcGVLd2NGaEJncjRRQU8rK0FjWGtIRUd1SXlmUGV5Qnl5Umc4UThmZUZvc0p1Q1pOOEFoSkpmOGhETFYyQVljNEZJUUpDQUJKQ3JnZ1FjNDRRZllRZVVUU1FqRlM3eEtCS0U3Qmh3VThNa3MyREFMTG5CQkl4djVBWjFoOFpZMnl4Z0doT21URUNsekZQZXNUUnF3ZWFvMlJsT2Frc0NDQitwWWpFcjlZSnNjNm1NcE9pVkNIOENTQk9ZY0pBVU9NVUhsZmVBT2Y3Z0Q2bW9EaDN6OXlHWVl1S1JMbnNlTU5qWmpCdi84cENSdVdJRURoRUFJTmxsaUU3MlhVUCt4OGhMR1FDbEViNGlJWU00QWtBb1FSRE5HQVFYNVZDcEZiWUJlR2JDREEzSXFZSndwM1NrT0NRSEdRRFpBbGtQL2ZPa2Q4N2cvLzNsMWxaRDQyaC9zUVU2cDJyQVFGZjFERlNqdzFEL0VRV0Zwc0FjSnNuaXF1aUlPbDFpTXFqbkIrQWNiQ3BJQ1ZWQkFNejR3Q0ZHT3dKby9VR0pra3RBRkEyQ1BPZHlrblNSR285TzlUdlY5Z3Iwb0lmL3dBaTRJcWF6Uk5FUTBzYWpGc2VKU2xoU0E1Q01IMllBcS9PR3B6dnlBQzJncENDekljUXNxaUlIVG1pRzFMdndBQ2RoRGdPd1NPZ2tVTmpXYXRDWEVIZHFwZ0VCT3FJMVppS3AwL3lsWVdQNGhmc2lBSldFWitZRXM4aktXczVSb0dNVm8yeHBjbGE1MlpZTXlPaldKSzF4QklKVk5yaUFtK01vYXZOYVhpblJqRnBndzNaUUt0cmwzVUdkM3NWdlhlRFpndHF1RnBJSVZuRnBCMXJLMUF6WnAvMzhvVVRZVkhLT3NXUkF2V2wwUVAwQTZGeEZaQ0xHSTM1alJCdWpNcjg0VmNJUlB0Y3NaK0RLV0g0aXhqQW54em9uT2Q1RFJwZXYxdW9hSXN6bm51Q0htYVNGZ2lkRlQwRGNKWjFXdWc5VlpoZTVtRVplN0xEQnZYd25MaWRZd3V0SFVJaFZOVWJZUy9JNmNRUll5TlFMOHl0VGFXSUlMSGtRNjE1ek9HMHNVeXlUUW9oaTRsb29GL0FFSmxBVXpYOGZNWVRnQThzelV1REovczl3TU5vaVZGM3BnZ0FyeUhNMHdKNWtYSFM2eUxzNEp5dEZxOFI0aHEwYWl5ZGNNMERyNnNxbFEzaXhQY2NNUWU5TFNoVDRvajNlaGh6K1VRTEVQalNZVExQdG9VN1NBc0pjNDV4djlxOFdUZkczVjFTaWJHZmpwVE5CQ2xOWmlQb2lJb2FCcDZWNkgwSGF0TVp1cjhYalNXUDl6eE1qZTh5RENPSWdRZzVJUXZPNTFaRVQ0cmh1WmpRSG5ZT29yODlyZlAyRDczU00raEg5Smk3aFRzV0VKamhVRXNCdFR0ajhBcmd1TXNpdGUzMm5zL3M2YnRNOFVLb3VUSUFZZjVIczVJclB6bFJDQUJBTjBZUm4xbHJMR041NWVaWFRCNGRoN0Y4U0xaZ2h4SVFBRlNLaTREM3hBblphNy9PVXM5TUVQZnVEWTRKWmIzeVJQeGNqL1JheDlqeVFRQUNINUJBVURBSDhBTElFQVdBRDJBRllBQUFmL2dIK0NnNFNGaG9lSWlZcUxqSTJPajVDSEF3T1JsWmFYbUptYW00K1RucDZDazV5amhaU2ZwS2lwcXF1WG42S3NxNVFXRmd5MXRZT2dzTHE3dkoyNWhMWU1zOE96d1F4L0VwUzlqY0hFdHN2UTBidS90c1REeGhJU3BkS01yNFcxWm1aL3l0emw1cEhOenMvSTJxZmoyZkR4MmVlUzVMajArUG1IMXJlNHJ2THdEc25UUjdDZ1FVUHJ4bjBDV0NqYmdHUVBBY0t6QjgzZHdZc0dUOFVqSkhHaUoza1A3M0g3dFdnZXhwT3dOaXB6R0xIalBJMG1ONWFqaUlna3lwdXFJTWI3YUZMUVFIWTRGY2tNU3JTVlMxd01pMVpDUUZPcFU2RUJmUTU5U3JYcXJwOVdzMnJkeWpWbHNhNWd3MTZTSUt5WU5yRm8weUlpVzVhV1E3VncvOVZtYTlzdnJsMnhaSzlkdWN1M0tCd2tRdW1lN1V2NEpJNlN0Y3dXWGx3MXIxdkdrSlZLdUJhNU1rN0hGZ1piM216UThUSE8zVUF2YXl1NlhtbG9kVThQU294QXRldGViSWN0ZUUyYlZlSml0VFRYM28wSmMyN2V3RGROVmh5OGVDV0tMNDByZDNRbDJkcmwwQkVKWTZBN3VuVkRrMzgzdEhtZFh2V1QyUk5GYk4wZG4vYWd3cjRyREZrZTM1VlpSVFBYOU5iK1hJRS9lNG1tSnNTOVB1OVozOUhuSHo1MUVLWEViSWIwUjk2QXRGbGdHb1AxQ1FpaGRSSk9DRjJGRmpiNElHMFNEcEJlVThaTlZoMkdvbkhId0FMcWhXaEJmdnlSeUptSkt4YTBvR1MwMUFQaWl4S21WMUJQU2dsajQ0MldTUmhlUVRvNkpRR0tQNm9HNC85bkJJbElWWTBKV2dSYWhWOFJLZDlUMlkyNDBKUTVBaWdOaVVVK05SMlQvdlMzR0hmRGtia01tQTVhVlphYTY3bG9seWxOVmZtbElqNW14UUNMcFVoWldIL1RtUU5rbmwxcEtXZGFnRUk1MHFBV0FFa2puSzQ0Q2hhYWRpNktKNXhXT2FaYnBJZFc1YWNnNzFGM2pweFhocFVYbjNHNk11bW53NlhZaTVtQ0VJcFdYcUwycWVwV2ZqcUdEMU9tcktVb1hPODkxdUtuR01IYTBKdjVFTnZhTEtqQzVSbDFnM0Y2a2JTTG5CaWpQaTZXeFJobXREU1hxcTIzc3NKcHBJNjRXcEZDUWxXNkxiTCtnRHZ1dXhqQ0s2OVZvb0E0WEp2THlhdnZ2ckRDNHkxUnhnNWpMbWhYMU5LY3VmekNpeDFidHprVEZMR0RDQnljdGM0Y3pMQjhTN2FjeGJBeEhGdHpUY1lBSy92SE5UUHVCazg2SHFjc204WUxxS3h5TUFNWFJLZUxsUG5YRWNlMU1td3hRSHZ4NFhNZVZJV0xYYzBaYm1JQjBGb0pUY2l5NmhZZDVDVG1zdXMwanBnYXdvY2ZmSXd6OVl0SWI2MGNnbDZITGZiWVpKZHQ5dGxvcDYzMjJteTM3VFlzUURMMU5tRzFTaFZQczdVRkFnQWgrUVFGQXdCL0FDeFhBQ1FBSXdHQkFBQUgvNEIvZ29PRWhZYUhpSW1LaTR5TmpvK09LV29DbEpXVUQ1Z1BBcENjblo2Zm9LR2lvNlNscHB4Z1BVODlUbFJSS2o4L0JiTUZQZ1ZVbDFRUHA3eTl2ci9Bd2NLUEkwNndQaUxKeWJQS0luOEdWRUloS2lJK0tydkQyZHJiM04yOVF5bC9CWUlpQlFZR0tBZ0lBd01JS0NnRzR4THpBeWdGMVZIZSt2djgvZHJnQm55UU00Zmd6N3lEOHdqWk16QUFJWUo3QnJiNG0waXhvc1ZFWUFJNks1ZHVnQ0NFQ0QwT3FsY1E0UlVEMVlaY1hNbXlaVFlWOTVMOVFkS0kzcnBESWU4VndPYXlwOCtmajFMQVhHYWdJRHQxSXRVVkxDU2hYa05ENnVpaDNBbTBxdFdxZVZJZ0cxa3ZuakpheW9vYUlpbWgwQUIwOUNCZVhjdVc0Z1FUWnYvdVBTdUl3R3M1QTdIdy9zQ3JiQ2toc2gvTHprUlNkc0M5ZkcwVEs5WVdCWWt6aG44ZUpyUG1aTVFCRDE5NmFPN3hKd2F5QWlnTU5SV2NVQkE4MDM5OFVObXh1TFZyVTIwTWlFTWd3VjQxRlNsMGVQZ3pBc3dnellSK0pKUE50SFRwUDZHZkNzTHp1cmx6VGhoQ0U1WnNMVGVrTGNKeGtqYU9STGJoeU0vRGl6ZDA0czhVaG1kRkdDaWhRMGNuTlgrRUd4QThjdW54c2pRUk9ITXl2ci80RFhDMDhaQVlLdmp4QjArY3dDY2ZmWUlnRVpwQlRUVjBsa2NvK1ZDQmZ4ZytKMFlYSzBnaGhDZ0tPbU1XYUJDNll4QjRob253eEFjWnR1Z2lKejhjZ29BUEpVbUFoRWRObVNaQ0YwcGM4T0tQVjIxeWlobzV4R2hJUENLOVk4ai9QU3JBQitTVFVQNngyMWptQ0hJV1ZOVTRJV1NVaTEzZ3BZOFhzTURsSXlpSXNCUk5SNnJuNUpnOStmZ0hDQmtvOFVjYUdhQmhKeHBmZnNrbUlXYk1WRWlWWTFtSkRDNWI3am5SRkRKRUVjVTVzc3dpamcrUUN2UkRGRTZVb0FRYUlIZ3BTQVpqeXVZWE9YNmhXWThnS0tGZ29LSGU0UENIRlcxY2NRd3l5Z3ppREMyME1pT1RPVWlVUUVVYVl5Skdud1NBUG9PaldQcjV3QUlCcUhZVGh4aEx4RHJPTXc0K3VBNDcxRmFyam0weS9hR0NtMk0rYU5DTXd3NXkyak1pVEpBc04yTE1hZzRLN0ZqWlRyV2lnV1RhUFFJVjBHT1VhanpnYUdBRm9MbU9WRllXRUFVQlJKd3JqQlZKREVKYlpQQ0ExWXc1SWhFaTd4L3Q5Q3ZCL3hVOFpLQkNGQ0E4V1FKVDl1QjRrQVZvVW55Rm5nYjdZb1VWTjdMVDhHUSt4UEtEQ2pRUGhhdURFUjhVOFl3b3pHTUdTajl3T21aVEJaVFVrQVVMR0wwcHR5bnpZc1VmYmNDVFRCZElLRW9FRVFSa3JiVUFhSlN3S0tUbGZOcVVYdy9STmsrWjluTHBFY256VVN5QkJYOWNVUUNPZjVqaGhOQk45N0tzR0grODBFSWFwLzVSc0NDRC8xRUpBU3I4RWJiRTdISUZvUVQ2allQc2l5b1E5Z2NEQzhSRmoyQUxGTVVBQXhiSW5mYzJVelFDeFI4SnRJRU1jU00xWGx4dEloajVZcDFYWEc0QkF3V1lNYy9uU0tPQXhBSVdJSTNYNkMxRlVjMm5rUzBzOFR4eWk2Q0N1UzVtM1Nmb0N5QmhCZ04vTEZCMzVnWUVMMGhCY2hLL0V2ODF6dzRDZWNUZjl3eDVNaTI4bUxVU0VvQnVnUm0xSTIzRzc3aWJvWDNjZjZ3Z1BrdkdHNHR5QmxHVWVhQ2tDeTRDd0I4QThBYmRCYzk3d1dPQUFUQlhGT0FOb2dzSy9OOUZoT090d0hpd0xnMlprVFZlQkFVZjZPNFAza09oOE15Z0J3VDhMbmg2U0UzaE5FZ1JGdGdDZmNZUmpPOE02THdmK2NCYkVPd2RUVDdIQno0SW9rK0lvV0ZGcUZFeUR4NEhQQVVaUjZFd1ZBRHNQZkNCM0J1RUgwNVZoL2hNVG9rVUVZaFo3Q01ZbzRoREJGUjQwY2YwRjd3RjhHRUJicFNiQ1FTeHhVSW9vV05nbkFnMXpBSVo0L2lKZFM3S2dBOStWOFE2L3NFUGVjZ2RIYzNReFVFa1VSOEt4TUFFQUpEQi83RmdISjh5QUUzb0VVSlBPUVAvQkhqTTBEaU1lTWhUYlJHUTZ0amZNN3loTmEwUklRaEJnTUliS1BtL3hCWGlJUTBwUzBuRU1vNlB1VWdXalRSa2d3d0F2Q3hlVGhCbzBBWWwvdERLWnJaeWhqUTBUR2pLTWswbE9VWUZOM0FSTldwWHlqL3d3UUo4c01jRGExZTcvWlZ1R0huS2t3Q29jQ3lzdFRLUHBKSU5mazdra2NpZE0wUFVDTTBWQlpHMEtzSU5idm9EenlPQmthY2JoQ2tOU1lDRFFoVXFCZ3pJZ0FWVC9PTG9Ra1lxOUtVb0NyekswT3FBbDhMc21VRUUzT3hjYURJWG4yQ2tNMHcvRUFNY2tqQ3pLSlRBYTIxZ0F3N2drQVpRTWxOckJoTUlmUVpBb3dZaER5VlJ5R2FMeW5GRnVIbFVCSDB5ald3c3dDQmZFS0FTRjRpQ0dIREFoaDhJWVl0WS84MnFFSmFBZ3lWa3lrdkxQRmZpL0FJc05IWHdlK3JSbENnTGNJVi9HalZ6U04xZlhENEN5RjY0OGdWZExRRWZ0b2dIRFlEQWxXZ0F3aFovZ0FNeENPQUNYMlhhbmxnZ2dwSko0QnlEYUdMZGJKR0JVUHFISm16ODNDQSt5c1lGMUc0cDByRnIxZ1FnQTRWR1lZdDkrR3Nzb1hBNlFiQ1dDQjByQVE1ZThLVWJDTUN5ZTVMSFI4U2hpSHNjcTBWbFFnRHc1dUZaMmhUdGN3eWc1dmY4ZEFwRktZcXdZdURCRmtFZ0E5YSs0UVRRY3kxcm9TQURBcFFBRGx5NGdBQXdBSWNsakE1eWN6TkU0MUNpQW1pT3Awd1RQQWdEN21jakNYa0VVSVpKN3ltU01kVWwxQUdSeUxMdTN1THdCdTFDZ1FpVkJRS3YydkNDTnJRQkRuZ3pHUDk2bDBLYytpTEhlUkx0VCtSR013OFhjcGlBendLV21VNmhEc0l1SVE5KzBFQjF0eHVIQXZsQkJRbjdBMnNKa05Way91RzBLNGpERkpORnRLV1liU1lGS2RNUE1qeWV5SW1zS1cwN0RrVWZLNEt6aG1JZVNKaXBkRUd3M1RlOFlRSmk4SU1VNEpTRUFyTldBMXMwUVJkUHQ0SWJiT0FGeVlJVGlYSkpJcDNaS0RUNmtSMkdET09EbkozbFg2WFJEMmdiVzRxenpWUUpmcUN5TEZ1QUExVXRZUTFOU0hRU0hNcGFLYnlZRFdMUUFCQmFBQWNvNEFBRE80N1NZVjBxQ0FyS2MzY1c4RllCNU95Zi9OYnpJRVhCczZDa3BaNCtTMkNxQmVJVWErUEFobzIxUVZWTndFQVNjRUJnN3VLQkI0TEFRUnY4d0NzNDRFQkVxRHBzQnRiL1ZyMU5Eb0I2Wk9PUG1PYU15VldlNkVHbE1ZeW9ndlZrRytFZ0NYbVFnaUJrZ0FFY1pHQ0xjaWpEcGVOUTZEakVBUXBCOEFOaVpsb0hOTURoR1U3bWtnQ2V5b05uSXcwSlNHQUFPNkJ0RUkrWVFRWXV3dVJqY1RTdTQwQldFTndHUlVKd1VLQUF5K0FFYlBDREhKb2dDSTRYdWd4TldIVEJvbERvUWl1aENHV0lUSTZTTFlCK28zQUI2VWp1MjVCV2tpUDZyVVd5NlpsWUlFZWNkalZJdi9zU0JlVGd3SVk2QUlFUTVZNUN5TG53aDBTWEFlUk5LSU5ESGNDRGt1TkFDWGg0QXc1OGdEMVVQVlVBUXZDMzlxNWd4YzhsN1hLZms0QVBNSUR6bWJ5NTRLeFRIZ3JxVEtvQ3JGemlCc0RCRC93Z1VTanN1dEJNVDdUZ1E4NTIvelQ0Z2JDRkZnSVFvTUJ1TVpCNlRBVDRBV0hrQjdxWG84QU1mUGdaUnkxZ0FQK05ncE1zY2N4ODZ2SXQxdlVNclJTMk8vb1NZWi9pVEZYeGg1aEFITm9nZUhWam9BbHRpTEVNSEpBSEZiU2hRR2lBQWhkd1FHbmtKU3VGdldPaDV0dFkxMCtVNVNBc2dTL1ByZFRIMDFPTVJET1oyK3JIVWh2bFNXd0FSTStEZTJVTWRVWGpnQXRjSVBBZ0NJQ0hyQkpCbG5Dd0Foc0dtTnV1STc5NkxLeUxCVHYzZUU4ODJ5VWJOaUVVQXhtUkVUR0FFaktyWjFFYzFsUWhKR3hGZ0FneWtBUnh3QVZ0b0c2ODFtVUlOd2hCb0FFT2dBZUM1bmM0MEh4aklndnlVMVF3eDBMd1lFR0NNR1JCOEdSSEUwRVhNU1BwdFhOaVVZQjA5U3pCdGY4OENQRVI3TkJVRkRNQVVUWXdpZkFHeHRadUdGQmdFTmlDclBVSEtiZDlJemdPUmRWR1NJQUFlbUFHS01CUjJETmszZFlRb0pOY0Y0RStPNGNjMzlONjZaV0RWcUlVWnBNakVZSVRQb0FESmRDQ2lzQUZMOEIwR2JnSVM5ZzBKRmhJZnZCR2NDUVdSZlNIZkZBTG1kWUlDNUJML2lad0syRnFNMUZOL21JZk9haG5QOWNNaENFWVR2Z1JDVFZ0aWlBRG12Z0kzQVUxT0dCOFl6SUxYWVJWZE9RSHJDTk00akNJalNBaE0wY3hMVUYzdnZNdG91SXRrRGdqeXRNdjczQVBoQ0VTSHVGekNyTlNjQ2dLMitWYWJpQmpPQ0JaWXhJRXRzQWNwRmhLYkZXS3B4SVBxc2dJRXRLRmxlZ1B0Q2hQcE9lS0k3Rm1Ca0VUQVFkSG5sWC9DeEx5T05CbkpXd1FCM1VZQ3NONGg4V0lqRndpQTExZ0FFYlVqSWowaklkMEJZRlRBSmppZjZQaFBkZjRDUUhwZjlyWWM2eGpHTjZoRG9lUU5FM0dTZFJDRDFZQ0IzSEFpVVA0QXR2VmlYOVFqUDNISmVwUlRFYjBSbjlRQjJ6MWh5alFkU0VKQ3UzU2hhZEFFajg0Q3UweUlkTlhVVGNZTU1qb1dlcFJHK05BQ3lwWFR4TFpDQWgzaDRjQUJ4aHdPbEJRakd0Z2FaWmpLQy9RV0p2M1ZuTFRWc0ZqQU53MENFZkhDVStoa3FiQVpQTXhrSXdBUWdSRUc5c29MRGNvRXQxalZJU0FPK2F3REE2alBuL1FrNHpBQlNkd2gwVFpXaEg0Qno4cENHdVFCamlRYjFIQ1dDLzBRUHowRUpTSEJHWnBDRVMyV2VaVEZqRElsWkR3L3k0NlE0MGpZVDVtaUcrUlVUSTFXQnQwZHc2Vmh3amxjRDNJSlJrOU13QnMwQWk3bGdSTGVKR3QxWll2VUYwWnVBYTNCbzlSTWdWTjFwVDhKRTV3c3dDQlk1Z1hVQ2QxZ2dZWjhKczhnRnh1ZFR2Y21KV0JzWWFLRUNFdkdVSjgxaURKUVFpWENZbDNaZ2kzQXhHWVV3ak5ReHQ4azFHSElBUERaNUZ6Mlk0WGh3TnZ3RnJGK0FkcnNHdld0eWZHSTF3UjlGYXlvWUtKZ0FZYUVJVlJLQWkzZ3oyTUdRcndjZ2k1RkNFT1NVRGlNazMwNFRyck0wMmFWQWoySXc2WUU0VU1PUjhJeEhZUXVHc3l0bDFKWUpxc0pRTmFsd1FyZHA1dVFIU2dHQ1ZqQlR5YTFXbWdRVXFKd0FNUGhGd3MybWtNTUpYN3laL0YrVVRteUhQbmNQOFRFSmNrbTdSVDVxTnRCdEY4dldNbVRYbEZhSWtDVXlXaDNZbFhEbFZkZVBVQ1FWQmQ1QVVIWHRhYVNPbURYQklqWnRNUVNXTUdNMktTaDZBQndIWTVJREdtVmlvTVpZUVVadEZKeldBbVpZRVNvSFVqT0ZvYy9mS2pCV0NXU0hNRnRsQ0M5b2tTMVlBRFpRQ1VoVUNFdkJZSFJYaWhFc2hyWHBhYWExQUc5eGFqR3FWeUVDSkI2MUE3QTBVSUpoQThWMENtNXlneDJjQnpzRklOWWxFdGZHbzlWeEFYbVRsaTVESVpCSmlZa0dVang2UkNuRGViOXZsQTFubWtNb1lJYi9BQ1ZyQlNHSEFDUlRpQmMzbWVhN0FHZjdBRXlsbWNVRUlFa0ZJalNGWVd1WGtJeE5rU2MzY1hFRmNON01JT3VuZ0Y0cGg1em1BalRUWVQ1VUQvS3VXQVF6WXlIOTZxclMvM1VmNDBxNTRGS1ZlZ0IxY0FCMytLaE4wNUNKdG9aWFpKakhpNUJpdXdsOVZDTFMwSkpPVHpLeTZFb2lrNmxZa0FzTnlBTmdpQU9YQmtBZnJCcG81eGhhclVJQUVIamdQZ0RBNExzZU9hbU81d05uRzFvdFl6cEZoVVBVM21COEdqQWtJSnFKRFFpY002ckhEZ0E4cjVyelRySWl0d2s2cm1DRGZpRXJXZ3JVVVZUdXFoSDcrVENLRzJpQ0MxZVhEVlFRQUtPMnhVc2xja2ppUnFwQnV5Qkd6QUJzYTJMSVdRbW93QUJTODdyRndnQmpRYnR2K2FJVEZDR0ZQSUNmcGxGcEhaRGJDVFBmYUpsajFic1ZDeFNtWDV0RWhTbzFBbXBFMHBqbm9RT2lXZ0FrdVFVSVZHZEVtd0JHM3dBeEtaWFJXcS83V0hjSWRkQ3dWaU1DMWlPN25JK2h3Q29YTURrQWVRVUQ1LzRZdmVBRHRYMkZHV3B6aFZ0QWdGRVE4dk5BZzB4NlprNmhqWFEzYmllQVYvUzdVbFY3aVRJZ1FhZ0dKYnRBS21hV0JsVUo0c3U3Z1orckp1Z0xqb01iazBPN01LMnhvdCtLUUNRUnNvTUVlT2tFaWN1NXpZS0t1SGdLZmw0S1VvbEQzYXc1QzE0R1EyT1IxdXN6dG9Nd3VEOUFPQysyMi9wd1FtZ0ZWNHNBTWhvQVVqb0FOVlVHbXR4UVVhS3BTSmlwcW5LUU5yNEFZQy9HQ0Z4Z1pVUXh2SW04QnJheFd3OUFkUHlnS202aEVHeXdoWDBHcC9VUkY5QXB2Q3c2Q3FlNmRYUUhZdGRFWlhxS0M0YzBZaXdDeDVvVGduWElSdzRIaEtBR1orc0Fka29BVWVvUDhERllBRkZKRERPVHdEWmZDa3NzZDI1WllHVmthdmhEREVBbHk4Q1JVRkdSQUZTMkJzNVRXRkRwbkFOYnU4d3NBY250REFUeW9EVkFCWGM2TzVrUEJSUGJjU3RTT0MvTlFucGZ0eURFQVR5K0FnSWl5MzFhazQ2UUFITXpBRFZqZFRTNkFDTDJ3RE05d0JOa3dEaDZEREZDQ1JhV0F1RS9Da0ozQnBzalRFaWp6RVJla0c1alVJZHFBRmU2QUJKVURBNVZVVS95bkZENG1jdy9BaG5kQzhXYXdFd1hPNmNzc0lmS0FmNjNrUlplRURDS3VnOFdDU3VLTWUzVkUrOXpEQ2hCQ3RaaUJ2T05BQUZPQUNEVkFGQ2pBRFQwQy9mYXpEaWdESUNsQnk3M1k2Rk1vRmFlQy8xb1VCWExBRTdQWUh3VHdJTkZBQkkwQUdHakFGVFZ6L2FDd0Z4VkU4dWNvcnRsWXlDcFhhQ0sra2lVR1FBUXVBUGJEWkNJNFJvaFBocmNJRnJiZlRWaTgzejBoek9YTlZLcVVNY1hBalZRazF4eDlBQVZrQXlEbmNBQXpkMEE3ZEFDN2dBb053QnhUd0J3a0ZudVUyeHpPVkJGeUFBUTRtelllS0F6TXdDSENnQUNSdzBsbndCem1zQTFwZ0E1UWNVNE83Qk9pZ3lROHB4ZWZNRFVGQUJKcklBaHJ3enFRQ0N2SHdoZlYwTFJhTXovdFRuWFUxanJwWXl0aERURWpqV1FiQUxFa3dBeVNRMERyOEFYT2MxVnBkY2pNdzFYT2NCQXJ3QnpNUUI5SjhieVpOQW5SY3h5VzNVSVdtQU1HTUF5WnQxVHBjQTlvY0FqeWdCSURMd280M2habE0wNVNiRFhtUUFUSkFCQ3lRQVRBb0NHSHEvd2tSNXc5SU5naGdFMUNJQUVmWlU4RzJqSjlueDVRS2lxZE9YWnQxRXg5d2pkSUtEY2lDVUFWcHJRQU1YUVVmNE5aL3Q5Wno3TmF1YmMwYUxkSnBmVytmWGRXaHJjTllvQU1qRUFKQ1VBSXBWWVRmTm84ZEFSSitUY1dNME1DQ0VENlB3QVAxR2EwdU9VaGZLQnZtRU5UbGdLNkZVRnpxOEtLenFhQ2NaMjJHc0wyV1BYZmF1Z0FxSU5KbkxkZTMvUWNOb0FCeS9BRjNjQWQvOE41WVBRT3VQY2NMSmNjellHejBmZElrb045bmZkSXFuY01CZnR1NWZRQmtjTmVBSzFNbEIyaytnQTZTTzg3bS9BanMvTUtGMlFoK1VLS2tzRDcwM0EwTlVTWm84czRGVWRTRGtNWVBFeGZFZEFoSlpRaHd4VHJDdzNXQ1VJVmN0ZC9vSGYvYThXM05jSjBGOEIzZjhBM2YvSDNTYm0zZkN0WGFidDNqS1AzSHh2emVGVDBESDFBQkhxQUZaR0FDdmIwQ1haQlF3VVpWRzlMZ0RvSm5QVmltaW9BR1dseDJFekdaOVJ3UTZOcEd0ZE9jQk9RTUgvd3prSExHaHlBUWhUbU85L3h5TG1TV2NGUUNNVzdTVEREam9uMEhwSTBEN24wSVdVRGtQZjdqK1IzazlCM1hPLzdlRXczZkxnRE0rbDBGeHB6YkhlRGtHaUFFVGhBRlB4QzRhazI0ek5JRkRjNEovdFBjWFJmUWtOREtqNUJVU01LOSs5QVFRYWRDbnFVNDkyeVRDTUNIY0ZRbVFxcmlyc3ZVM0YzS2Q4NVZKWTNTZkY3UjhKM01Db0RqaGpEb2hMN3NiMTFvK1MzV0N2QUJWZERRd0h6b1NmQUJEY0FJV0lBRkZkRC9IaFhneTZqdDFtS3RVRlluUnB6QVZBUElsOExBQTk3Ukw4L2E2dk13QzE3YVJ2QzFQNEpwZ21qRDZuRVRjSTVRNFlRQVIyYlFCZnJOMzFrdzdIZlFBTVpXQlRtZTdFeXc3RDNPQkEyd2F3b1E3bE5ON2xZWDdSQXQwVHIrM2h6UDhZUUF5QjMvM2dWUEFtK3RlNXBZWFkwUWFycllDWHp3ZjBCdHJxamVEMDl4dExkOE9kWVRtRkFZaFk0eHRDcHVDbkIwQlQ4Z1Uvc3Q3QXBOMGNrYzZJcFE4RXF2OUlJQTN4OGd4eTdnOGIvOEFhbHQ2RnA5OVYxOW9hWjkyNENzN0c5ZFhnL1NYU3d3OW1uRUNNR0ZtMlgvQ1BIajc0K3czU3hSRDduZTh5LzNsQlg3UUVHZERRdWdCd3dBWTg3KzN3V3YwS2xkMGFGd0J5NlEzdzFBLzlGTkgvS08zdEJVMy9pTy93RXV3UFVJZmRKcHpWS2ZFZ1Y5SzltbWpwM0I0d2ZLN1FoWGdBRHYvZ2dUeEI4czBSU1lUYlJSeWZPMy9LTGRFRU9WWElSRFg5VUp6ZkVLSFFwSHYvQ0xvUGdkZjl0WjBQRE5MZ1o4bWFuUXQvbXQ3d20xTS9xTndBZWUzQkx0VXFlTGdLbjVKcnJja1BldU1sVjlUL0REbnQ2TmNBY2ZBTmVGSVBuaXI4TWo3K01MVHNiZlE2UEJFUFBpa2VKRW16MHRJWTVtb0FMWWI5NDlydlRqbi84VTRQM2ZCZ2dVZ29PRWhZYUNXVmtraXdvek9JOWlCbitUbEpXVEpaYVptcHVjblo2Zm9LR2lvd1VNQzZPb3FhcC9DNjFtS21LUGp6TUtpNHRNaVllNmhuY05DaTY3dTRtS2pJNlBiRDRvZnhLakEvOERxOURSMHRPZkJoYlUyTklMREFNSUJtSndzbkMwdG92RHdZZDNkK2lFaWVXTnhqaHNYVWdJRXN6WitmcjcyUVVHRFB3Q2JySmdRWUt6Z3doUS9BQW5Dd2V0V3VXR1NjeHlhS0xGWWUvZ05VeVNiQkkrZ1NCRGlyUTB3QXpBa1o4WVNEaXBTU1dEbHlkZlVqcDRrQmtDSkF2Wk5IVDRzSnpQbjBBWktSZzZJOTRqT0Vub0lWaUdzcWxUa05kQXFWeVpVcVlvZzg0K1VzSks4eGtxWmloUUdPaVNKTnhPSE9PS3FsM0xGbzdaczBpWCtLaTNUR3MrWjNXZTZoVzVraURCbHR3T1dwMEVjMnBObG5zL0liaHB3RWVYSlVuWXZEMUxHUTZiSkV1Ni9EQ0FZbW5UQVVpVUpSN043MTVobUhXN1p2VTZTYlhnbDFkSWc1Snd5a3ovUWhSSWN1dmVIVHJzWXFiM25qcjdVeUN2N09QSWsrZGpGbHk1Sm1jRkNrUjFUcjI2OWV1aG9CczRoYjI3OSsvT0pmampEcjY4K2ZNaEIvaER6NzY5KzJuUzM4dWZUMTlUcWZyNDg3TkhJTUlNZWYwQUJtaWRKUFA1d2NjZnNRbW9ZSGdvaUlEQWYraFpzSUFaSXZ3ejNSOFMrckhnaG5yaFZpQURKbG5pbHdWNWNHamlTS3pKbDRjZUY0NUlFQU1JSUhiaWpOUThJeU4rTHY3Qkh4SlUwZWpqTkFQY0tCOERMa3BvZ0lPQy9hamtrcGtVaWFBUEJYUWxKSk5VbWpnaUt3MmlvTnFVVlhZSm9BMlRYTFBBRlZDNk5weVhhSnE0d0pGYXVwYm1td3N1d0o4QlpxWUk1NTMxVVZnQUFtYmk2U2QrU0lqUXBwdC9Gdm9lakhVYUpLcW9lMXgxdGVpajZDM1ExVW9IUW1vcGVGeHhlZW1tMURtakthZWdJamRZcVBRRkFnQWgrUVFGQXdCL0FDd0FBQUFBQVFBQkFBQUhBNEIvZ1FBaCtRUUZBd0IvQUN3QUFBQUFBUUFCQUFBSEE0Qi9nUUFoK1FRRkF3Qi9BQ3lDQUV3QSt3QlhBQUFILzRCL2dvT0VoWWFIaUltS2k0eU5qbytRa1pLSUlBSi9BcFlFazV1Y25aNmZvS0dpbzRjWGZ4ZW9xWldZbUpxa3I3Q3hzck8waXFtM3VLcVl0Ynk5dnIrL0FpQzV4TG5BeDhqSnlvNEV6YXdncXdMRnQ2ZkwxdGZZczgzYlJHa3ZjZUJ4Y0dKdEt6TFNtTlNDcWRudDd1K09VZklyTDNCd1MyMC9LdnRSUzJ6MkdGZzB1OFRxMGpCNENCUENFeUdDRFE0NGJVcVk4RU94WWtVTlAzREVXYkd0b3pNUUNrT0tSSVpFekwwb0V5bWEwSUNtR1JFQ2FFRGc4VlBDSVFhUEhrZnEzQ25Md0o4a0pmNzR3Y09EQUJFWlVKSXFUU3FEQUpBTWJYQ0lLVkRBZ0lvMlVBYnkzTXIxMElDdmpBWjArZFBHaEZBUVFaSytlZkZpd2xLbGd2K0lvUG1EZzAwQk1VbitxUkRZbGV0WHNIMFZEUkNESTRxZlAxSmNKWTJ6NUkrWU9HL2VacER5cHcrSUNZNS8xSW1DUTBSZ2QzOUQvK1VwUVVLaEFRd3NxR2J3WjRDaHdUaEtVTXdnQ0lxTUlHWGFDUFhqSXduU3BBUW83Z2F4QVVlR0lpK1NERUR5V1Zsb1FneFlSNThlWGJVRkJnTktKelJkV3Z1ZjZLMVBFLzR4bEFDVVAyOHdZSmdRUjRNY04vQWhLd1ZCOGFvU1AxTitFckhTeFhUelhxSU5NcDExQkZwSEhXc0ljZGRkZHY2NWhnaHNiZVNSQnhIbllZRERRM1NsMFVRVFpNRnh3bTlBK0tIQ2hYOG9VY1FKT0NTQkF4TGUvU2VMZzRJTWVOMkJySFczb0dqZHRlWWZOamIyMkNJaFBxU1loeDhVUXZFR0Rrc0lZWUwvRUxxVjBZU0tENzJRbEJSK1FJbWtIeXpBZ1lNUE5yb1lpMnVwR1RoSWFhS1ZTU2FNZ3V5WXpZOWpTb0FDQW9VZ29LVnNhREExQVE0OCtDRUZDRTJVd1FVWEY4YlJSQnh1aFdnbEhCb0FnU0tMWFhwSkNwZzFTaENhajRLQTFhaWFJbm1INlNBR1NKV0hGRXJKY0tjUWZIS3hZWWNRY2JnQkZHajRFZFdGT0NqUkJ4UjFNVWltbzZSSW1oMERrdjVJS2E2SkVDYWJlZWNKQWdjYlpXaTU0YkxMY2lGbFpUdzRkS0VRZmNqd1FvcExHTEFwc0o4TWNFV2F0ckxKYlNJbzFKV0hDWEFKOGtaeHFXNVlocUFieG9HQkRIOEVwOEZWc29GMEpCeFdpTEh0dUoxWUFEQW5HYlhoUjFwSkVSTEVDNll1R3djT2Z6ejVBaUd0V2tURS94L1dYc2dsbWdOM2ZNd1NoV21RTGlFWXdNR0ZlbVVFbWdSbWhSQUJnZ2ttMEtadWlnZ0E1dkhOdnhBbUJMSEZGbkl0ckhCTThBYkdqUVJCMThZYzQ2eTBMR3l3d2NOU2lHREFGaGRFUCtMR0gzSDRhL1BTWEwrQ0FKSVpqSHlJREdRemt2QWdhL3lSYkhaSmQrMjJKNTIyOFZ2UGl0Q055Tmt5cEIwVmkyMi83YmNraEMwQmRTSDBGbkwyM1hCZC9RZXQyajVIQ0dyLy9pMzVIMlowa2VKYmhYQVJSeEtEaUgwSVhHa3Zqa1BqWlFxNDJ1U29ENkxIMTBsZ1BzaTFjRXc4dUxvWUVBSjEzb0trc2FLdWYvSE9ZSmk4cGk3NUFpVm81THF4Y2Z3UkJMMUlGWElueTVpN0VUcWdTTUJZSm1BU0FOOWEzOElQdk1BVjlrUW05di9EYlUzQVJSbHVKV3pidTdXbHEvaFBsYjVXK2gvWm43NTE5eDR2b0dJYXM2Tm41WVV2bUp0dHZpRkFRN2dCRG91NFhwcTBoeitsTFNBakdIZ0wzZGFTb2doS01BNEJQSnpodGhTVytVbGdOWkpxb0Zkd1ZUd3BRWTF1Y09BY3ZlaDJwOFc1VUJDRkV3VFZJREUvQm9xd1RRT0NVMThFMWlrNHBFRjhHandTRjR3MkNMSlpLSUNMeUJyM0h1UzREMTRuY20rRFZJRyt0eFVDL1dFQlptREk1WUI0T0JYVkRqMXYwQndPSm1aQVF1Z09CVkJrb3VOc0dNWGZoY2xBd1J1SkZhZG9BQkVnZ1ROY09CNTZIbWFQQzZVd0RURkV4QnJnTUJaT0JDaEc0T2thWUlBWG5TdmtTQ2NGaXVSMUNpQUNCT2loSk9vNUQ5MlNNZ0cyVEtEL2RvRWN4UHZXc0lZeU5LWmJ1Z3BQRkw4ekhVV0lDeGc2cEI5ei91QURFUlFBQVpLTUpBSVFzQUE5TEdBSmNUaEIrOTVDdHJJcGdwU2s1SUlZNWllSk0wbHVPZzFLQklOaWVRd1JHSUJCUGlrQUVsQkFTVE1zUUpJTENPYzN6UkNGSCtERk5rdDVnUVg3MTdta2tQSVA4Q21ER0dwMnZmczFJbzAzU3lPT1FwZ01GUGlnQU11eEl3UEN5WUNxV0VlY0MyQUFPWC9nRDFpMUlGMUppUjFjSlBnV3hibWhEVWxZcHU4VU9Kb2JQazR3Q2t4R09QbVF4VG9hd0FMZlJDa0tSTUFBWDE2aG5HTDRCeHVXOElNb0tLRUVjTURBOGpBZ0wzcEo5QTFBdFJ0UWg3WUMrS3pnWVNuNndadnF5ZFRVUlFlZk90cm9NZ3lRVXBUVzBRZFgvMGhwTHhFZ2doLzB4aDQwTFFFUDhyQ0hIV2hoQkY4WVl4cWVsNVlqSlNFeVE0M3JVSTBFQlRmNDR3ZG9VTUVTdEhRUEE5Q1RxUjM5Vy9iaW1FQUdZUStxc1BDQkdMSXFpQVdzRkFuaDFBTURTdUFEaHlSaENTcFFnZ25LcW9VT1ZBQUxGQWh0RnJRVUtLWDh6R1FZNEtLUjBvQUJMaVFoRGc0aEFSMUdzQU04bUVBSlA0QlNFbnlBZ3Q0QkZpeUJIUmhxQ0lzSVRGbnFHb1NaYVJTdW9BZEJYTUVDS0dnREd5NXJVdzJZMWJOWUlFUm90L3NIQlNnZ2hVbEpBd0lWTUlOQWJTNEo2QlhIaFdZd0E3b29nQVFreUFJV2REQ0NFTmpnQ25ybHF4aVVhaXZBcHZLUWpucHFZUkY3REJ4OG9BRUtlTWdTdWlDQ0xpeGh2MHJnUWY4SU9xQ0Q3QmJpRGhqT3NJYXg4SUV4MWdOaThDMHZEdGpMWGtITXdMdnNYZStKNDd0ZExIUWdCSHVvQTI0Sjg1RDlMdlZNdjdXWlBic2lNSkR1R0JzNFVFQVdzc0FFOGlvZ0Jpb29RUWhHVU9IdGh0WUZEWWh5QXo1QVpTcFhvY3BVVGpDc2d1eGQ4ZzRDdmdyNFEzbTdTNWYxQ2lJTDNCVUVEWFJ3QURMc1FBaFJ3S2dmazlBRkE5ellzRGtlRFdCKy9BNGgrSmpQMStoQ1RGY2NYeXhVNEE1T0R1MEh4R3dQRWp2YWp5Z1dzNk5KKzVCSlEvb1A4RjN2ZStHTDVrU0hWczBWb0s4V1NuQ1Z4OENLRFdMd3dRKzJpWUFlZldXajlmeFBjQldDUmIyeWdkQ2RkcklMcWlCbEY0Uld3eTVJd2d5UzhBRUthUGdPZjJBQ2ZNSC9qT0laOEpYRVhSYkVzblB0YVU4YldnYzZTRUVLVnRDR0pmd3ZoYWxlOVp2K1NxWnlPMjRRZitteFNHWk42M0Nhd2RZbmZ1K1FPNTNoYWxQZ0QzZHd3UWZzVVd3bloySFpBRjkyZDhucmJIdkFnYjN2OWZXeHQzdnNMRENhQ2NpK3RnZkFBSWFyZUp2U2ZrVDFnbFZ0QUNSNC9LK25RYzFPQUowUWNWNmhKSnJlOUx6dHpmQS83SHNHRFVDMGFBTk84NENqR0dnSFQ0SUNxQnpsUVlTWnZTbnN0NmZ2Y0cwZFVOd0lIMUJBQzRDKzVTMHY4MzdaR2ZrU1I5Skx5dGs2NVp3ZU1zdVIvZDFGSS9vUC82NjUyT0dMNEFzUm0rQjhiZnFKRC93SGhoOWI1cDkrK3graXpJVHV0aGRKYlVPQnVrT0NuYW52SkxJS3ZmcUl2WnQxLzJvenZBRUhML1lnaUR6MlpUUEI0Umd1dXdKY2dHZ29Yem5wYUNldHdkbUwzaTRyb0FyM1BvVERRMHlYZTFDekx5WHdlMWZFT1ZsemFoN1hLLzgxQlJJY1p0SFArL2FIdUVNRHl2c0JtY3Y5RDFDZWNwVzdqRjcwOWg0UkpQZ3VYWkx3ZzlOL0JrSGVDK2RMWGU5SFFoZitEbFZvZ2E4L1BRbGtkMWdCYWM3OTI0OE5ka3gvMmN0L0lDUnpDT3hSWklpVGNuRStsUFhqcTNWUFMwTDNCMjk3NkIweFpHV1RnQkRvMTFmTzEzNGlFVmxXMXdYeXQyblRabmpodHdqSU5nT0x4bi9LUmdqSlJ3amo0Qk1FK0IrOUpGa0lZQUFOVlgwS1dIZ3M1MlNId0hLSjhIKzFOd2hzMEFWSU1JRGp3bjc1OUFjbzRJSFNVbW1FQjNDUEYvOTdJM2g3UTFZSUFJZGlDQ1FJZFpFdEtEQW1PTU51cU9NZk15aG9HSWR3TjRpRFBOaDRYVlppaEZBWFl2QUhkbWFFWElPRStHTWFDTENFTVlWeFcrWm9aRGhwaFhCcWwrVURyTll0c2taeUh2V0ZTR0FBWGlWb2VmRVBCbmVIQnRjMFlyQmdQMkJuYi9JS2JyaHVxcGVCRFRJQXUzU0loM2dGVjJBR0x2Z2xnYWdRWEppQjhzTXgzWUZTMEFjZ2p3aUpnNWlCU09oRXg1Qkt6WEZ1a3VnVlNKZ2FsNGlKTUxKTGZTR0tvNGh1bmFnYU1BZ0s5eE9MMmRBN3JSaHlmWE02eDdBMUEwV0wySkNKK01PRllaSU12TGgzb2RpS3dnaUx4R2lJcHVNbGtTZzhyR2c2RnVDTHNnZ2pIM1NLZ1FGZ0RSU05NZkpFeTJBenB0aUlYY0gvalg5RGp0bVRVTllBanFyeEdVOHdqYVQ0akVjWWlVNkVqY0NnWi9QWUhGbEZYSTlEamgyampZVVFKdFFvaTl2aklBRFpIR1pBSVBwWUtTSFZqL0tvaSttSVBRNFpHSEJTUHlDa1JzekVMVXRraWdFcENvNWpIY0F5V0FZU09mNllUd1g1aXgxVmtoOUprZDdvS0NQSkNCUkpqODdSVVJINWdtKzBrbzl3a2J5UVo1RGdSRFpwa291MGpxclVNU3JaazMrV1o3K2xrRWFaWTVMd1ZCczVDcTd4RnpVakNNcllOYVdSR3Qva0NFbXBsQU9abGZ3WWlvSDFYRENwTkkva0NWbUpsTDlsR2lpVkJ3c2dYT2ZtaWJjSURBdkFCNHRRR2xjZ1lPTzRsV015bGJkb0FYekFCOTlFSTRBWm1OQ1VKb3JvU0pEZ0J3V1NqWVlJSXlqNUxwYUdRQkY4Y0NDNUZFbitjWTBXY0JpSHlTdXZwQk4vU1QvMDgwMFNJSTZPR1FwcktRbWw2U2gxQUI3aUdBZ0FJZmtFQlFNQWZ3QXNZQUFrQU13QWdRQUFCLytBZjRLRGhJV0doNGlKaW91TWpZNlBoVnVERDFST1VTcVltVkZPVkpDZW42Q2hvcU9rcFlaZk1UNEZQd1VpcnE4aVBxOCtLazUvQXFhNXVydTh2WTBIUXlrR3NnWEZ4b0xGZjhWSUtBYXRmejlPdUw3VTFkYlhpTUhESWdVR0tBUGc0WUxnQ00zZDVBWWlmd1lQMk83djhLSk96ckhlQXhMNGl4SURTQVVJZ2doYUZhQ1NJNTdCZ3doVHFIaFdBTW05ZkluK0RjcDNUaEFTZFNyVUlOekkwVmVLUHo2VUdVQUFrUkdDa1lVR0ZCc2dDRVZJRmRNNnlwenBTUWRJWmQ4ay9NRUg3Zzg0ZkRvTkJVU1JzbGpRZ0g5ZzBseks5SkNmUVFWeThqUlhZSkEzQlBjT2RVdHBJT3NmaVNxYWlxVjVRb01mb2o0YzdwUndzbFdzTGo3LzRyb1MrYzNRMXBRbEJka2F5eGRoaVRvR0NFa3dnNktWRHdNcG5LUjRZc1RJa3lkeS8zQ1RPQ2hnWUVOQWZScUFTYWF2WjNkcHJvUVVOTGl3ang4Zi94eEkvUWRNb1I0L1pDRXBoRURFYk16NUJzZjh6THZYaEpZNytSVTR6WnFSbWhGRFZCeW1MWUlvN3JWQ2hQU2V2c3NaQWdSSVNoRHVVZHhSUVRWYlJGd2VoTVFINVVFRFVQemJkNWU2KzFCTFl2MndncU9OS1RVcGJCZHlKbmdmLzUyMVBmSGVnSjZJRWNjZk9GanhReDVva0ZKUURqK0ljSjVGRStta1VtRDRwQk1EZ1J3MmdvTWdMUENTZ3lvc0paSlBRT3RkdUZ1SExCcHlnWWo0S1ZQSWJhUUYxUXhwdFlYVjRvN3U1QkFXamJnRjVjMWE2WFRpM2dVdjhoZ1AvNFFTRW9MQWFHc0JWQUJMYklrM1lBWm9vS0ZFQ1NyOGdNU1htSlNnaEJKb2dLQ2tLVFlVZHQ1L21hMHpHejRYbFpBa1h5eGNvb0l6dzhrQ3l5Q3pGR05BZGhrSVl1YVpudmpSVDRrK1JWV2psRlJleUJRY0NISlJSeFNDcUlOTU4zK3FkOTBBWnFRM25tU3VkS01DQm9SNm9rUVUrcEZYVlhCQktRcW5DRHJPWklVVlNhaHkwMVUvQWFYcnJpMTlXcWtLRFpiYXlBUUF5RUtaU3M1aEJ4VnBLblh4bTB4eGlDSElwenJ0bWxjaUEyRG5aem8rbENCc0l3STRZYVdxNC9pRHpIb1NYS1NDREJ4RmF5V1ZRSmx4SFFwZkdtRHZQNGlhS053M0FzbjVyU0lYUkdnR2VsKzFOS1ZPZ2QxanhyZ0lpV0VsVU5uU1N3OHNyeURUMWYrMVg1WElscUlvcUJQRm5QOGFJaTZORXR6SUFBTlI2WFF3QXd1a293UkNiQ3dSY3h0UmxNREhuUWI4OElNS1VVemhzODkxZGttTVEwRU5jaU96S0NFVnhhQWhGNUpCTVdaVXk5SUFGaXpRREFNU2VNTkExWkxGaXRDc1ZyU0F3UWFGRURDSTJXZXpvRUlYT0JVOUxjbktURjFWV0VRMFBXTnpySnB4UmRWWEZIREZWd1ZZWU1FZkRJQVVyRXhRZk5MQ2FGTVdZcTZxTENsdGR5RktQS3lUNEZ0Yk1DVEtaaXpRa2dpVXNqaUZRUG4yczk5bEhmdEFBS21UQ3lLd0lJSmJnTUxmeWxTTmhBR2Uvekh3RHpzU29BTERpUUlaVUltQitVQjI2MGsxbDN2VjZ2M1I5eFVMbU9IRDM0SWIwQVc3TFJLQUtwQ0ZJWnBlVmlyOThRTC84bjlnd00zZ2drU1B4QUlXbUtzNUNwNHZVQnZyMlN1WGIwT0Z0S2xPNHEwSElYRHV6ak5BNFc3bkJ6K1lvUUI4U0NES3ZOWWhBaEJnT1pWcFhIOElFYnJKK1U1NWhEREFGUXpvZ3pyNG9RNEY0SUVnREhXbUM5NFBTSXRTQ2UvUVpqY1dBRzhCU0RDREgwd3d2V2xKeEE4TWVKbVNXSkFXUW5RdmYwQnBCZ2lZRmpJUVhHQTREQ2hnQWN0UndJSjk1VEo4Z0dFRnM4ZUsrMDBvU2hLNHdnVlc5SzhMWEdTRFR3bmdId3gxbTc0eGdBKzI0eDJQdFBjSDUxaWxRZ0JaU3daQTFqUlVuUWN3ZGRBZDdpeUFNdGpKendlQjRoRVJiSVdJZlB3d2ExTnMyaFJTeFlkcERZd0Jaa0RmbjlLM3NCSVFrVVcvdTJJS1YxV3lBbHp5LzE4OE5FQVVCZGN5QkxBUGZWYjdBL3IreGtBV0JhR0hoNENJdllLVGxOWVJvQmpvKzRQVlpoTTdYVDV5Y0gxVG95Q2pJRUVuTG1wNEdmSUIvVUsycWx4R0x6Q3hBMllCSGltQlpKeHBrRUJhVlpUV3NaNk82ZEJ1RFFIZ0Fzd1lUVlg2QTJ2cktCVUJXSkhCeThqeVRTcUp3ZzBtSjY5Y0VzNXZwNVRrYkZpQ3doYWx3WVRrMnVhTktOSTZDYkNNajZwY2dEL0t5WUEzWlZCSlpyTmpaWHl5emVIdDVDSWhzbHU2VkhtNWRhRGdaTDBrU3I1ODFhSk8wSWdsUk1tTVN0YVRvOGxWc3dEN0lKenNNSFF5ZlB5RE1sQlNFaG9JdVpOSmxrd2lybEtoUzZzQ3ZqYXVpaVZkV2VrNGhQVzBhWkxtZGhlOWpFOWY2dEowbk1laU52OVVCaExjUmlneitjQXJKNUhTRzErVjBaQmxEVytFcUlxUS9zRU1JUW5McW1zcEVRUDZScEowN3FSamlSUld1bXdEa2ZBWjhqWmU2ZWVPTXVtVGUzeFVjQ21UMFQxcUk4eC9sV3dkSmRIbUU5ZHlGRzdrcTBXL0k4ckpRRnExUHhYT0p3YnQyeEltUnhRTUNlbWtYZkVKVnI1aTJUUFowWE94dXdMTHZrUTQ1Mld1QU02eTJ6L1VHaFNTWlcwOUtHRkprNVJVQWd5U01vWjhnR3I3T2xlOTYrazJiaEFwVEkxY05TU1ZOSWVySGRyZThtQm9oa2JpVHFHbTVCTVVndEMwM1Q1a1dVVEMwQ1FydGRWR1lLd3BNaENQT0EzUTNZQXN3SFB3czRnSVpFRGVrRDNwWUVmUlpyclVlclIwR0FDN0U0R2paMXlJdTBHMDdHLzI5ZHovK2o0WGhicUZMSHdQYVpWRU9na2NQa21XV1p0Q01KME9FMFdyWElFUEFlR0RIcG9SdjlwVXVHbldSVmVpSm1KUnl1eVdLNjl3Vlc4V2FRQWxldGNFZmdoSUFjM1FZUG1KWUFxdGExSkpOcXlTcVUzVVBLUnhpVzNLMFFyQmpnVlZLR2ppSC9BWTVNRDQ0UW85SHJJSWpHUTNKUXZKT2V6QlYycGo3SjkxUU8rK0tKT1FpSmtpMFVHWXdBQjVtS3dZQmZHM2IvNHJ4dHNrR2JKOGdvSnF0WUlrNlVCQjFXSVhQZkhNbVNaRUlPd2dHSURuTnBaUm14YVF6dVFPTGRBS3VTbzNrbEVQM3FJWk83aFNkQ3hFV0lFSW1BdE1BK2pCVVBudFc1N1JLQjB1THVYUmo0QXJ4dkR4NldwZFpCZ1RoaDJqYTFOb1E0NWxDUVVvSENtSi8zemZnVlh0Z0txMFFDUDUwcVkyRlhLcFhOWDFyaFVsVUZmNEtwcmpkRFJiL2lDdHBweWdzYm9NYXkramwreENhS0FwR2Q2Sk1SSFJEMk9NSkNnNkdlNjIwWHdpYnJDc0VOSHNZOG5Vd2JhbWFHOWdEbGJXdWs4U1JzK28xQmsrY09OK3hLTWVldDJsbXZxMjBIaXlkaHVWeXRjUUFmZVRlSzdnTFlNVFFIQU9SZ0ZSVU03blBQTUdVZXBoUU1jazN0TnAzdmZtWUo0U29MZVoycDY2RXlMdElVUTVCU0tSa2pORmUzOERLUXhYem5JQ1lXY0JLODVwR3lXVVQxSnFycTRabjViR1prblpTOWt6MnJGdFJlZjZndVNQWHE2VXA4eGpoK2dGUGZ5Vks5bWtqbDFOSmJQaDNtb01xbDFYUnJ1RjNzdUY3WjB2UHdMdDRBS3p0ZjlwY3dpbFVjSDdIeTRDdjdnenVvOFZ3a2Z6REtiZ3FueFcyTDNzVzM3N3NvSTIwckp2aE1NRGk4S1JMVlhBbEQzVHEzcmNJVjhqeWRmVnFCcHIxU0hLMlp0MW9oVXFMSEU1SXZKdytiSGdRN2I3b0ZjK3hPTjRVdmN4UmVYQXlubC91TTFpYkEzelRUK0VKamZpditFU1F2ZUp1QUxDeHdKdWEvMjY2Z0JIN0ZjMjlvb0RCMUhBRm5KK0xtbVBpQ3RBaWlZeU1CWlBCR0Y0UlpDVUpueXNLUVA0a1NtU2ZELzZoZEF5cHpZU0ozRmRrdGNWS2lkdktoRTQ5Z1NBZkxjQUpmQitNc0V1QjNOWm94Y09VdFlua3VFOERwaEJVV0VwY0xZU1FaUmpKYUllcCtRSXNhTUhyWVFRWVVGVUVnQkFGN2hZazNFRk5IZ0ZZZFZHTUhqL0NJVmhlYWgwRVNTUmJ4clVONWV4YU95WENPQTJnVUVRRmhpQ2ZURjRWaWQyYzdBMWhMTTNPSUp6RWN4RlNYeTFnQ3hqTlkwRFoxdjRkWWpBTlROQkJCcVFhTDNISS90d0lUbW9TZzJsYU9GSGFvVFhkQ2dEVTFiSVBrYUdGVkRWRUt5MkNHZm9DWHVnQzRnbElmWFhDRFEzRnRsaUcydElTdXd6Q0lwNFg0THpOM3RrVDNBVmlVYVdEbnJuRmtqd2I5VkFSNlF3TUgrWGEzWmxpSWU0ZVNEWGRJOTRIV2JBTWdQVGVNN1VNWWQyU3ZJakdkTzBXUWNFUEw1UVZxWlFpS0JvWlRJUkRyWFJZRlBJaUpRR0N3SzBpaWVJaGVyZ1RMV1Jlb01EZFFMWUJmWXhIYnlvQ0UvUkNycklFVk5ERGxJMmRyUEhpQVoySFJmeGdlc1QvMzE5d3cwL3NIMEhOSTZWZ1c1MkkxeUZ0aFRaV0JoendRMjA4NGFEOHc4R1VEWE41aFp3WjA5eFpnZ0x3REo2MElkOVlRSnJTQXFjeGhTR05SZkY0QXJoeFhmUkZCajFxRXZEU0hWZmR4R0dJQVlxWUFZL1VHNjhZUUgvUUpDajhEZ3o0WXVjZGpKbWtJcHZlSE45OUh3T05vd01TQWpqWkFBU3lDTE9jSTJnY0dQd0NBNkpCbHY2K0hWVkEwa0RjMEJ3WndpVWxvOUFDWUdqcFpDZmtBZVdrUXV1cUpEZzRIeU1TR3JSNWpsdXdRMXhBVDFnYUpVQjJCVDRJSktLd0Fjb2MzK093QURyY1R0aWVSQXlDSXpRUjRWL2hBQTBHQkFPdVlpbENJWk5nVFcvOXdsK01FNStFd3BYQUE0bkl4YmdNSE01MkV2UjloVjZjSE8xR1ArSjNjZ2Jlb2xyWVdnQjNmVUpHZUFIOTRDWE5KRWVHQVJ3akNnSUx1bEw5TldCN3NFRGJNRUFtdVlJbDhrQWVoQUtXTE1BZWJXWlZSSnNpZEJRa2ZTVnBPa2V0WUVFSnVBSmVhQ1pqZUFISXZRWnUzbVFoVENZLzVJQno5TndqdUFFelBrdFQyS1dJTmMwZFNDR3ZnbGo2ekE5d0VrKzNQa0pQbWljM1JtZWovQ0x1UW1aNkVPWmE1TUU0bGtOWDJTY2Era0xpRG1GdlFRT2U2T1BBMmtHU05BRzZybWV1ekI5V09NVjBNY0k4YWtJZXBrNXhSZHdaMmhRQnVxSVFjR0UvQmtLRm1JdHBHZFF4YmRaVjZBcm5EV2doREJYYVVnYUJ1cDRjNlVJdVZFMEEvQ2VEK29KcEplaVBhR2dLbFZZbUxGWmw3ZForckJabUROM29BRFlEZzU2b2pwcUNQeUFrenU2b3d1b2RqODZwT01RRUFVZ3BFUTZwTHM1aUVtcW80YlpwRVQ2blZBNnBFUXhmUVN5RjFNcUNoMWpwZStoUkZrcUNzUm1seDNDUndoMWhsZUFwRjk2Q0dxNEk2M1pnV3FacG9xUWdFcGluTXVUQjg4SnAvSW1tVHhDYW8xMHAxKzZXbmF6ZXR1SHA4aXplaVJKcUlGS2FvMG1uWWg2Sm5FWGtBblpxQ0dqcUdCbWk1SmFLcVIyQlJmQkRaZmFOSEFJQzI3WHFhVlNkZG9uTCtsZ3FhTGFJbjZncUk3WU1hbVNxa3B5b0h5UWtvTUtxNnI2b2RMbXA3YTZJL25FcEx0S0tJTGpxNzk2SmdsMHFZRUFBQ0g1QkFVREFIOEFMRllBVUFBZkFUc0FBQWYvZ0grQ2c0U0Zob2VJaVlxTGpJMk9qNUNSa3BPVWlRU1hBZ0tEQWlDVm5wK2dvYUtqcEtXbW5wZXBxcWwvQWdTbnNMR3lzN1Mxc0ZGVHE3cXF0cjIrdjhEQm9TTEVJajQrS3lveVJMdXN3cy9RMGRLeENOVW9QbUk0Mm5Cd1NVbHhZaThydTlQbDV1Zm9od3dJU0V0c1NXMHFKVUlhSmhwQ0t6L1piRjBGL3YrQ2Z1QjZsYTZnd1lPbUpDQVJBNGZORHlWK0l2ckIwOGVCbEQ0U1M3REJBYWVBZ1g4ZUN4QXI4R2NLd3BNb1V6SkNJR2hKaVQ4UnBZQkFRMFNHVFNnMldZRG9VMGNGR3pnb0dFZ1lpc1FBQWhRa1ZTcGRtdklIRGpGS0JPV2hLUU9LMWF0WUJSSDV3NklOSEFNS3hjVEJnV0lvMDdOb3pRM0l0aUtQSURReS8vNUFlWlBFU29zWFdLMytJWUxtRHhBUUozQXNhWU5HQ0E0a1p0TXFYdXhyUUJJNEpTSnFHR1Exem84U0pib2t5VXRBSWt3MFpmNlV3Qk8zckFUR3FGT2ZRckZSU0VRMFVQN1lEUEppU2NRK2ZjU2NxR29WU0VRbFVWd1RzQUtId0lrL0E1S3JYczY4RWdvNE9LTDR5VU1nOXBzWFpjcmdVQ0dueVI4M1hxL0trT0luaWpZY285UGdpR09seTlBQnpSY3ppRDhKaFRicFVvakU1b0tEalpqSGNIRGhIUmRqSmZFR1RubjRrY1I1U2VRQndvSkptREdVQk1yUngxUnk4Rm5ZaUdNNHRERmRFRmE5SVpnSnJ5MklnWGJybFJHSFZlUXRlRjVrVU9DUXhBRHZZYWhoU2hOU0tBRURER1I0b3lGSWNLU0JIOVhoaEFFT0VLM2hSdjhUVGJUUnhGaHdNRm5HQ1ZCazRJZFQ1LzFBNUFzNCtKQWNoUlgrZUJDTkZQNWhnUVhJaVZtSUJFdmdvQ1VJVi8waDRnOXJFQ2lnZDM5d2dRR1RmK0FWUkI4bVpLT05DbjlVTjlaL1NOaW9aa0VUMG5obWo0c09JZ0VDMFBIZ0I0aXhDVExCZVRqYzJVUVpudjR4UVZ5ZDVSRkZNbm5rQWVLbUMvNFFacVRtbkVZakEyZWVCdXNnQmp6bEI1eDZEWEpkSEV3R0s0aVVTY2dsQ0FFSlNqU1pJRkNpOE9xdDA5Qm9KcG8rM3RyRmRxVDFPa2hjY1RqSkpIOHlKdkdDSVRJUW9NRzVRUWdTUkJ0dWdta3J0TFIwSXNnTFZoQ1M0WHhucGdrdkE5a293V3VtaE1qQVh4d0VhL1BDQkc4OHNzWWZYWlpaTGJ5d29NR0RCanhrTUVYL0ZIVzR4U090WnM3MzhLMGI4YUNmdG9WZ0VBYzNaYVJoMHlNeUtOa05tQkRMZ29ZSlo5YTh3QUkxMXp6SXM3Y08wSTBHY1NhU2FWeVJ0THlHZG1YeEhMTW5tdnlSUWMwYlI4M2pIenkrdTdRZ2dzRkdzaUZCUitMR3d1cUJwZlRWa21UeXlxTTVwcTAyMlg5azB3WnZBSFBkdGR5SWZQMWR3Mk96N1FnQm1XUWdDQTlxcjIzMTBnVUVLVVpXaU9pRk9DRnpDMkswWERpSXJYY2xtQWh3Smc4U0JpN3A1SUtVc0Y1ZWllZGxGZEdDWkpXd0lGOHY3TlFQWlhJT3lRVjh1NktCQmZPNTNvZ1pueTllaU9oV1ljQjRuQzhVKzkzQ2VicVp0KzJHdUhJSkQ3UXpjank4QzF6QnpZR043NDZWaWI5bkNzY0xqLyt4b09USU4wS0Uvd0Jvekk1bStJd3NrQTBHdWg4eStxYkhsUjYwREp2K1Fid2JjSWp4UFBvbW1NRUM4L2s2eE9EQ3R3QVY0QUF2b0hQZlZRZ21QOTNCSVEyRFdFSEQwTmNJSkZ3Qlo3V2o0Q0tpQjRjVlpTVnUyZHNlM0tDUUJ1RU5JZzVjR0FSL2txYkJSVXh0VFMwOGhQcHd3TDcyWlM4T1NSamhXRTRuR3hRT0luOGZpeUVqRWlQRVFTeWdCTnhJQS9XcXR5Myt5S1lxWElJREQ2RUFoellJZ2d0d1lNblMwdldEVVpobGdFWFVBKzVXdEVRUS9rNDdPQndMUndoeHBOaFFFVEZiREVJUXV1akZJaHBDWjJaSVFoa3d3RDVqVWNhTUx6aVpGVTdBbjFISjRBMVdpTVBDNGdDV21NbFJqakx3Z1IxTGtiTks2dUVLYlBDaC9EWlpDTkxGeGY4SzRZTE9ENkRBeU5iZDZBS09zOG5LL3ZCSU0wNnlFcFcwMlFMMFlJRXVJQkFySjVpQVhOeTR0VjE2RHpyZDhvclk5b2NhaW1WQUNTd2dRcnJrU0FRaUVPcVY2amdmSWl5d2dOb1pRSlkzdTRJWlZLQ1pNdkFHQTF6QUNRN2xwRGplRGNJTmJsQUJnZGlBQURCaGlKaHA4VU1sS2NhRGlWbEFpOUFraEFGd0ZrQkM1S3lhSW1FQUxjMFFCWDFBNXp4dnNNa0U0TkJIZ3MzbERSQk5XRVFoS3FjRHVXRUZ4ZUpJRXJwZ0FHZTVVMUg2UW8wTnFrbXI4MEZ0V2ZrY0JBcjRxYk5ZM3V5U0JmaUJPN1FCRDNrSWdWMEkyOVFFUVBRR2JtRGdRQk9OYUlqU3dBVnZ1SWtISmZpQmkvckRVWSsrVXprZ2xVYTZDdVVIU0tRdHBZci9RSUFlV1ByUFdWcGdtek5sd3hKVW9BUWUyR0FIV3VpQURxckFLUTlDNFVnNCtFTWNYc0RIdXZLeHFBZWRBY1BZb0lNUTJNQVBQSWhDRzVZcTFvNjI4NmxRRFdJdmxybU1TRERBbzFoRmhIMHVZd2FCM3V5eVptakhSc1NxQWlIa0FROW8xUUVXS0VCYTBqWkFBUXFZd1dibUVvYy9LSUFFTStDVWJPSGcydFRHOWc4a0lFRURLdUFCTFpEQkJrZ2Q3SG55OXdNVUlPQkxINFdQY2hVckNTY3dRZ2FQbEVFUklpc0s5Y0ZCQWR4Z1F4dEtjSVdrUG9helY4akRIc2h3QU5HV2xnSjNTRzk2U1h1SER6eEZMSEhOTFd4bmdOcjYxbmNHTTRBRGZnZUJneGxrZ2JSL3dJSU9EckNEUFBCZ0NnYmRoaGg4Z0lUajFnaXhpQlVFLzNPM05Sc0hMQUl1cXBRQlNpY2hMZW95QUE0ZnVFTVdTSkJhanNCaHJDWGdRUWkwNElFS2pQYThmMmhBRlQ3d0FkdHlneHV5TlhGKzhhdlgvRUtIdnZJOTZIVUY4ZDlDOE5hdmVkQkFDVlN3Qk1JdUdBbkdKUk9HSGd6U3hLWXBZZjlqd0FJWWtRRXFLRUZpYnZGRUhhamJPZHNDV1FFZnFFQmFLM0NIOHphZ3hqYm1CbjZUZ05yWWdyZ0JNb2F6ZlhtTVh5SGp0ODVBbG0rUnowc0JRZFJBd0NQUXdnNG9wZ1FWdEFHKzJuakhFbnp3QXlnYjk3ZzB5alJ5bjRvQkRXQ1FBWHhnQkMzNVNXWlJtQUVGM0Z5UWZsRkxnditXOWc1VlFDMk44ZXlDUDZnM3ZYLzRRSDRWNElJMnl6ZTNpTGd2ZE9TczE5Zis5OWFFSmpRTmVQODdnaENFUUFoQ1dISWJsaUNXZzNLRURlOUlnaGlXMElWai9PRGJSbEhPRllReW9VWnN1ZFNqdU95V3Q5a0Z6V2dEeUZsdzlhM2JYT2hDM0NIR0N3b3hCZUl0WDBjQWVodC8va0FWR3NCZUNyZ2d6OWhWQUlBRFhBRWRlQ0RSV3FDQ0UxSmdoQnEzb004NVBzOFNsS09DdEdWUUVWZEE5eWt1cXdmUktCWGdyMjExdkpOZGIwR2s5d1BkYUFDdXM4Q0VmaWVDQ1N0dkwzVG9ES0FiRzNVYmFPNDFzZ2s5NzF2L0lRc05ZSUlnRkRDSWpXZklEQ0pQeHl6L1lJWUU5emZsdVYwNXkyM3RndGgrWU9GSGozZThDUUhqUWR3YnV6T1ErY0ZwbkZvL3E5WWJxQlVFamVmK0FZSzNYQkJLRndSc0JRRUhTUkxpSlZFdnlHV3ZFSVgvbWI2YjFWblgrcXZiMjErQ1YrSU9EVmlRd3VmOWg3WEQyUnQ5dHZad3YzNTBRcENZdHYzeEFUNEhnZW1kQmY0Y2wyWEFrZzNmMzBEbkZ1YzVkMEVTUXZ3SldITkQ1bmUzZGRIdlhYa1grUDdnZUI0RUNWeXJWNDRzd1FBZExnU21KM3g2YWFTZW9FcTFObjJ4bm5qRjUvNFJaOGZCMTY5dmlIdnZXK3pDVHkzVytOSGdQNERSWHMxWHlXWC8wRjJaYmdUbDFCKysyTXVPL1JyejNoQjN6N3ZlaWYvREpEQ1lKZWVYZnFpeFpXWkJVSSttUnU4MmZiOFdkdUJYV290QWJ5MDNkb1l3ZkczM1EwL21ZQUlJTGRrRWZXTHdmdWZ4Wi9GSENPQW5nbG1BQ01QblduK2dWNFRRRUV0UWFjZVZnV3hqSzZlQkFnYmdBMTNRZ1pyM1BRZjZCWUwyMVlPR1FGcy82QjhjaFFRd0tFU25jUnJzZ0FRLzBBWFVobTA0bG5IblVRamVJQVovSUVsRVdJUlJoNFRXZ0FKYzJJVmVDSFhCRUFnQUlma0VCUU1BZndBc0FBQUFBQUVBQVFBQUJ3T0FmNEVBSWZrRUJRTUFmd0FzckFCV0FOY0FVZ0FBQi8rQWY0S0RoSVdHaDM4RGlvdUlqWTZQa0pHT0VwU1NscGVZbVpxYmg0dU1oQXdNaFpTVm5LYW5xS21xcTZxaHJxRVdzUllTckxXU3BLUi90TGE4dmFvRHI2R0RsYmpGdWI2OXhNakx6SS9GZ3A3UkE4Ykh6YXk0MXRuWnU0TFV4b2JmMnVMajVKaTA0Y1BQdXFYbDdlN3ZoK2VsMlBEMTl2Zng5UGo3L1AzKy93QURDaHhJc0tEQmd3Z1RLbHpJc0tIRGh4QWpTcHhJc2FJdkNZb3NOaHFnY1p3aWRoVXpkbXczelpORWtYOWNXUkExVWx5MGRkMW9vZHpIa1dPaWJpcGx4V0xaMHFYSlhTdDUwb1FwQVpiT29CS3VnT3lwemRNdUNiSVljQ3ZIaUpaUm5hR1VUcjNKbEdSSm0xaTNXaE41RmFrdWNJVmVkbldKOFNPRHNOci9rcjZOT21nbW9XaVUxSzV0K3BHajNLaGlhMDJiRy9RdTJyWnRGeUZHOEFmSjNuRjViZW9pTE5VWHNNSTNKYS9ET3kyeDVzZnZQblhUV1c2ZU5OR2c3UVVXTkhjMXNuTWZVenRjT3Jaa045bTRPWDNPdlJlMU9kNjQvVVpxQzd4NHlwV1B2aG9IdnNEUGdqOFdFRVZlVG4yUzNlcllCd25OemowRDkrL2d3NHNmVDc2OCtmUG8wNnRmejc2OSsvZnc0OHVmVDcrK2ZWVkpsdHhmaUFPU0dRdlA3WmNRQ2dndzFzaGNBaUprMG9HeEpIaVFiNFlnNkdCQkVCYnkxbmFDN1RiaEpndEtoOXd5R202WVNZV2dXSEFGaU5lSmVBbUp3elNJb29xNnNjamFMQVphRmlLTXljbDRISWEyNklpaklSMGlnbUNOdlFUNTQwWStYaEdMLzJ1citNaEpEQml4WitRaFNzNnlqR2Vqc0lLQWs5aE5HZUdTelJqNVlTb29TRU9lbDE5YXlZeVJEQ3h3NGkrSm1Ba2Vtb1JBTmVhYWR0bjVCNUcvbkZhZFhvNjBsZzJiZDJwaWhpT24zZGdiblNVV2l1ZG5VUEY0Q1JMY3VKYW9iSElHdXBOSEl0WDRGcFBtTExDU3BYNHVtbUtkYzFYRzZXY1gxbElVWU5YVUJTaHVCcjY2RTZnMnNycUFLSHlxVWhSaFFha3FxNkpyMlRxcU82SXgxbW96ZjJFRlVhYWFSS1hVQUwzeU5WT2JrbDRaYXlaWFhDaVZaNG1HSzlLc2oxaEFMaVo4NEZyYnRidE94TWNzNG9vTHpTSjFvTXVvSkcrR0ZxUXdCcjJWVGIyWjVDRVJqVnd4eEFkQnY0YWlMa0xWRnJzVUpkbEc0a2RVL0I1cFNoaXdyemlyWFlDbUxHeXhKUmdISTZ3dUIzK01qOEFiQmdJQUlma0VCUU1BZndBc1h3QWtBQlVCZmdBQUIvK0FmNEtEaElXR2g0aUppb3VNalk2UGgxUk9VU29xQnBlRVRsUUNBcENlbjZDaG9xT2twYWFucUg4OVBpS3RJb2V2UGlwVUQ1eXB0N2k1dXJ1OHZTTUhReW9GZjY4SXhpaklTTXBJQnF3aVBnWk90cjNVMWRiWDJLTWpJeDRHeENJRlNIOFM0eExtNStZSXlnVUZJaitibmRueTgvVDFxZHNwUDYwRktBaC9BNWNLR0VDQ1lrQ2hjeWpZdFZOUnk1N0RoeEFqNnREaElVVzdjUDRHRFZBWEVKeTRneElRS0N6Z3cwbU9pQ2hUcXN5bEkwVUtIVTcrOERPNFNOMHpGQ0FCOGpQZ2pzcktuMENETnRLaHdvY1BCQkpvbGp1WENLQUlBMHFYSWltQWdHY0JuMEt6YWwwNVpCVTRuSU00RGx5bUNBVzRxT2VhRFRCYklON1d0M0QvcytVUitWWFFXa0t1V2dtaXlwUVFnck4yRFpJVCtNZXNBYmR4RXl0T3BlVEtNQjlncXc1aXB3TE1ueWRQQkdGR1lHYUFPVU92N0lMOUk5SWdrcWQvZ0N4ZXpSb1Voci9RRE5KOXBtTExJY3VEd0lCeGdpQ3FJTWlDa0dUOGc4bXBBVCt0a3l0UDlNSWIxTDE2Y1RjYU1TVEhqd0srL3lBaEJ6QWpRSm84Unk4ZjMzcUNUQkVvR0VoZ3EwS1VkZXdneWFrYmhHSjdjQkh0eWV0ZkxVWk1IR1RzK0tORktDZTk1OXRuaFEzM0R6bkVxYkxmZzNGWlljVWZWc1FoU0FhblFNT2dJRXg5SjBnL0cwSW9JbHh3Q0VMRUxTazhGU0pUL1dpRTRJZ3d4cWhJZXg4TjBoY2hMOHFvNDQ0eUZZYmppd1BROUNKT01mRUlFUWdnSUFKQy93WkwvbkVEQVVZcXNnVmdOaUtJQUZoOVNjQk9sQStCY01HWEZ3Z2dBd1pSUkdIQVNDbzRvVVNTWEJwU2dvby8ydlZjT1dIOVVXU2IxaEJBQUJFRWVLbEVDVkV3NDRNZ3JrRFR6ajRHUktFRW5vT2Noc0tHU0RGSUVJY0loc1FBbzczZ3dRSWxQL2dReFFWT3VNTE9KV01WbEE0S1ovNzJSeFNNVGtGbFlaNEpJbEpnRzE2aEJBdVk0bUxoRHdaMHNjOHdJUm5UbXlGWFhubk9XcW4rNFVNR0YzQUpBQVp3a3ZZb2QxUlJPb2daYWNBQVE2Nm5KRUVvT0FNTjI0aE9JaUFobURsclhhUkVzMFpDNlExTkE1akw0Q1VNV0dCQmtJTW9rVU1PVUhBN2loamdETk1QdkZjcUV4eEJub1g0ejFUb1ZlblVVMml3eTZNUzVVb2FhZjloQmRTN2dCazRrYk9lRWpmNEc0cTNTeWlJS2p1aEdVV0lRS1lXWXR5R1NWWDFUQWtTNzNnbVRWVjlOa0FCWml4Z0FRUGVsQ05RelNJN1VxRVZTUnh6Smp1RC9xQkNGQ3hzV29rd3JDUmlGa2d5dFJNRkNJakZTUEdqZ2hpQTFEZ0QrYnlBT2tsSjBBd2FSWXNTQnh2OUpmRURIb3NRc0NsOUN2OFZOS1ZUYVEwbGorelF4QXdEaENka3J3VlhRQ1VCQTJaOTJ2WW9NZ2lDS3lPUi8vR0RHVGNXMW5DVlMzdjZ0NDd0WlZUVnBRdGM0Y01WUGxzZzloK2xnMFAwNDlVUW9BVG1JYjZMNDg2WVJOSDFpRkdvYUk0QnFQODh6QUtDbUVHSU4zZkNqZzBCblJVQ3pZOGlpU1RMaml6NGtMRUZDN1NJL1NXcEF5M0kyZTRFb2Z6L1BQRGg5YVBhWW92UXhRWXl2dkZIRjMrZ3ZyRTQyQnR1Yi9hRE1ERE0rUE5vV0VqUTRrS0JEK0psdWNyRlNBWG84ZGtWNkxleEFsemhmZzN5Z3g5T3d6OTVUSUUwL3lOSGkvNHhFM1o4RGtZc2VJclB0SE1GMXRWaGVIemdnK3BLR0Q5d1ZEQWJ2QW9SdmdnWU5uRTBia2MvaUIvclVHQThDVkpGZ3NFWlJCN2FjY0VYV2lNSzVhTVVPWVR6b1hlQlF3Q3YydytveXFXSFA1aEJIQklrU0IxWXlNSS9UUEFWVVRRaUxxcG5BSmg5NWtweXVvL2pZZ1FDZGlESEJBYklnd1RWd1lDTTFNRWJjMFNOR0t2UkhyVEk1eU1lMmxrQm1DVWpZZFFoYkR5UTRCVVFVQWNVU05BUEJqQURIemJtdWoxU28zZDdXNHFIaURPMnZ5UXYvMFlzUkVJUGtWTUhKTWpSRDZOeGpBK1VzRHRMM3NKNlNtRUtFeE0wcnorRThVRkltS01qSHpuQks2VFFlSUpRM2FwYzJRc0Vpa2RuOElvVmFVSWpveHd1d0E5WC9NUGhGaUJLQmVwUWM4VHNoUXlpdFpUNFJNa29xRXZjNGVxSEF1SlpZQkFXK0VzMmUzR2RXQ0lJWDNTS2tnZ1FzQUFHSUtGZTk2c0s4YWhaVGdic2JKMjg2TjFvZ3NRZ05NWlRFUG1CMFYrUVFMeDdIczZLZTVOTVV2WUhVRnk0ejMra0dSdHBndllpYjdSU1AzL0pXUFllYUs4L0FHMXhHS1NKd0NwNmkwNjBVMWJUMnFnU1pUVk1HTzNzZEdjajZlSEVocTdqK1lpbHQrZ2pUSFgybkN4UmRFUUdtZWZHZW1ZdndnMkVRM3N6ak1KME1ZeW5zZUNEYmY5N2szZTJReTJESkF5cUNZVlJ1VEo2T1BXZzZoeVRXbVlaZHlHc3FoektCejhvRTUvYTlqWHVsSkZhQ0xqVWkyNWxzMzhNQUorWHlwbDhOQ0tRcVpJQ0hZaE55c2xhWVpRdGNlc0NhUERmZDZqRjFLVGtTMDg2b2lnRHJrQzRmeWh1WVlRQUd5b1NTOXAwdUZVaFBacE1sRUFRMmJWeWtySUwyTmhveklCWkdIa0RQbjgxeHJ6R0ZwSXFHUllVcFExdVlxOUFYSmhsSjBZUHNKN0hlRHBSZXY1TUhPU2c3WWxnSkk0a29pMXNvajNmYnlHUjJJUUpON2hMeVJFYnExZUF0RVdTZUZweTdxVTROSUFmdkNDelNybHVZZTdhVFhTTW9yUUUvYTUreFJ1anlHYk1xVXlWaVhObGxZNC9KT0VFTU1MSlVlcFUwUEl5NkROSlVTYi9jSS9sWFhSdFJGZ1YzbTlQZFNRQUFyQkRZNktVcHY0R3pOeS8vRUI4TVpxblJseGJtZ2Q3ckNySGJVUnBVZFdGSk1CdENUZ1dReEw2czRRZlJBcGQ0T1VSRWF3SFl1TUpiOEJnb2VTSkRRZ2hWZ3gwVGp2VHFKWCs0UWhqK0JaZFNQaUJqbnVzS0I3VVFZSjU0SUVRbFBBRE5zQkJERnpOY09aMlJPUnpvb0NrK21QZE9UTlNPcmdTZ2NuNzJkbm13amEyS0x1WXBnb3lCRTBTVWkxMElNQUhiSkJiQ1U3cEJ5bG9BQTFvMEJNYVFDQUZQSmdnQ2t2QXdSSzgyMTdJOExlWjhUc25FdURNc3hFT1IzOEZJQUNLUjdSbjRvZ1dXSFpoMEFBOGJRajdoaFE3YUJVREc5cWdCQW4yQVFSNkNnSVVoazNzWWhNaDBsTllBaHVnLy9LREpYUUJCejc0OUFGRjBEUHQ5SXdQeW1McXh2SkhrdWthcVQ3em10WmFaRTBZalZ4cFlPbHc4amdRc0FRNHRFRURFZ1FCRVloOWdnMlVZUUxGSnZheE5RQ0VYNXNIRGo4d1FSL2lzSVMwV1haSDdXRWg4UFRnQi8zSmozaC9TR0ZxWVRTWXFQaERVbW5tS2dmbmxKQlg3TU16RnlhSE44UWdCQWxxNEVURGZrTWNmbENDRXZ3Z0NXOG90Z3dZTFVjSHVHOEpBaUFDdENNTVR4NHAvQXFLTE1DWGkrZlR5WWxJYmZaaGNCUFI5ZG5CSk1VcS9aQVpWR0kxZ0dlM0lROS9NTUhmWk1EMUZ2eWcwWEtRd3crc1VHd0NTTEFFT201REhmQ0FBUnkwWUFNNGVGU1FlcjZqUy9IQkFJbjBnMk9nZVFpZWZISS9TQTlSem1SRjMvL1ZUY1lwNmRubkFualNtNUNJQVFkdFFBN2JCUEdDSk1UQkNqaFF3Um9Hd1FVY3ZJRFlaamNCRzNCQWVqSGtvUWlkeDhGZGVSNmxTK1hCQUF5UTRCWHJrQkVleEZHTk1aSXY0UXVxY2NQdmhmRWovTjVmSG9VQ09PRGc2M21ZOXgvU0FBZUFQNjBOSmNJQTlFbHZlUXhBZ1FoKzRBSHB0NzhDUHhBQTdqOUFCOTBQK0lkRTN2SExmcWpERmhHQUhOc0w0b3RPdU9WeUNPb1gxeTVJNU1QeGhsTFBPUWp3SVdQMGtkY0h5aWNEY1FBSGlTUUZjckFHYlZBR1RaQUVwTWVBYldBaFdlY0hiYkI5T0pBRWZxQUJmeEFIbWdaWGM4Y2p2bUlHZXBBNGZNQkx4aUJCdHJjQUtjUlpXY0VkTVdZWEhFSmw1ME1JbTJRdEJqQWFOZ1QvY1lRQVBnWHdlR3p3WlFRd2JIOGdBM0FuQkdqUUJHWEFCVTJ3aEUzQUJVcTRoSEVBQUg5QUJIS2tBcnJHQmlyZ0IyeGlmSEMzSFM4SUlTS0FPbWJnRGZaU2dqeUVnbkJ4WWVPd0NITm5ZZTRrUTNOaWd6VWlEZ08yZzZjaEFzYVhoUmtnaElPUUJIREFnWER3aEUzSWdFdklCZDRpQ0VFQUJCSmtBdWgzSW1PQ0EzREFCa2d4ZmlJaUFQcmdTOUUwVGVkbFJSRzNGWWYyREZPSENBWkhZWDYxWnI1SEo4eEFIeGhrQ1ByakRwQ29BWDBnQTN3NENBRHdBbkhBaEZCNGdVaFlCb2JRSjBBQUJJODJDRzdnZ0hKSGlTSnlpWHhnWlpwWWJldjFGbmRZTWI2UlgyM1ZlQXdDSXYralVYU0NLdlRSYXQ5akZpandBNXJtZmNSVy93aVJrd1JKMkFaY1VBYlVkd0lZOEFneW9JREh4M295VWowNHhVUFNWRkxBbzRPSmNTWnk1ekpQNXd6N0lHN2FvVEE4VlNVWXM0M2x0SU1NSUFKaVVHYVpKd1hqZUFodlVBYkdCNGxsOEFaNHhnaHVzQVp1RUlsejk0WDc0VUFqTlU1QTAwV0tJWDd1UkJjamNTaWhhSDk4Wmtha1VUNkdvWVBFODJ5UVNIb2xnQVlSZVFpUjh3YnVrNUg5Z2doQnVaRi8wSGxlQ0pMandTb09aQUhwUVpMQXhCb2Z1U0ZCMGc1dlJqaUVReGNGUVJ3RWlZMW5KSk1pbEQrWnhnVnB3SHh3a0FIQ05vdWZFSlNITUd6dnVIbFFBRzNHT0NMWXNSYjRWRkoya2h6NVJTbmhFVnVFb0FjaFpSQko5Q0VTZGc2bElTdXZ3SDhMb0FJNGtBYkQxdjkyU1RBRitRWUtPMmtJVVBDT2d2Q1c0UmVYRURJTVFWS1hqSUFIdFJVVVlrRmxHNkZIckNnUUpWUStTNlFNV2FsSjVhTk8vWWNDRi9nQ0w5QjJiSkJ2YXVrSXhaWUl3N1lHbS9jSEZWaHdnTk1nZ29CUHlLRUlHc0FEaXlJVXo3Z1BTTUVUMVhZSW5VV0RlK09jZEJKbGhsa0kxRFI2Y2NCOE9HQjl1K2tKYUdrSUU1Q0VYTkF2Nmxod1NLa2ZOWElweDdrSUtHQ1hQd0YxWm5CRnJkQU1CY0Ivak5BYkZ4RjFWc0ZwMWJKTUp0V1hDSUFENThtQmJSQ1o0b21XcytpVEdQQUNnY2lCNXJLZTQ4R05qb0FFK3FrU0VuQWFJaGxibFBRS0ROVUk4OFFUc01jNnNYVWEwTFVXZzRJVGVwT2g5ZlI0Zm9nRFlvQ2JDNXFiTzhuL2xtK0FlV0t3WFNJeVR6eUtDT0tSRXVzQkRneVFPaEFFb3NHWENPRUJEVVY2ajVSVVhucm1DZ1hoUXRySkFGcjJlSERBbURUYUNEUWFucGVaY21kR29lUVJtSTF3UjJLS0RZT0JVK05VVW16UmpQMW5VbmJYRER5Qk9zSFVWQ1RoRHlPNkY0S0VQZC9UZnd1Z0I4OTJucEdabTR1QW03TTRqcFU1QVhIM295RXBBZS9aQ0hYRXFQUmdGczZWb2F4ekJhMUFULzNIT0VzRFBEeGhtblc2ZU9CQWJYeFFwSTdDRG1ZZ0xDYkpPbVlBaVZxNnBWd0tCUk9RQlBtR1lETFhka25YVjU2Z0hwSTZEODJnVTZkWkxoQlhUNGVDTWxzaXJJWEFwL2RwVHVERERLN3dHd2hncVZFd2V0WVhjMTdLQ1AzeWgvMVNtUUNBQTFhQWtVTUkvd1V0QUFlQkZpT240d2w1OEpFYUtraWVhUWp0WUFBNlNLS2N4VGg2a1VDRWNEK09vVlRTdEczSzRoRWZvYStETUlMdGhnRStPWjUvWUxDRkVBZHhnSkV5OEFiZTRxMWxVQVp3QndjMVVrRWZ1QkphRW9hcFl3alVoS3pnczYvWWt6MGVGNkxvMUZURVVHM1lZd2I3WUFaTnVvTjFlazU2Z0hZSHhvZENxS0FTV1lBS2l3TnhzSUFYdUdOSDBhdU1nbTBiY2FiVW9FRm5zbi95bVQ5dlZwd2tFVHpqcEgrWlZLZjVpcklpUzIzNmlLbjVlVTdUeEFCTEFIUDVwbkpwY0xEYmFxamoyQVk0eGdWTDhBZExNQzA5UmJTc2NVakFsUkNhS1E4ZHB4Y0dNRTZITUt5WUNxLzNpSzhYc2FyWTh4Y2FPd2g3V2JJV1VKLzNFMXQ2WVA4QllyQUJsUWtGR0hDUkRXdWdVT0NUN2lPMkRScHpidUFHWmdzWkgvbTVNNlE4YWtPbTl2Q3BCSEVvVEpXMDJqbDhTWnBQeEtDcE8yZ0cvSUNZS25zOUpYVS9lcEM3REdBR1VmQUROWVlEYnhBRU1zQUZmMkI5ajFnR1dtcTV5dXVUYVlBQlhLQ3drU2cydmRHR29BdTZxN0VBMGdZS25pRVFicHNMUTFwcXBYTVJSV3FwZmZvSGZtbXY5NG85SE9xbTAyU2syb0VhSVJ0YmlOTzd5a1o2Y0pBRUR2aUhITWdGc2dnRjZ0aDhjWkNFMHVlOFhQQUNaVkNBQnRZR2p3ZUpmeENKU3dBTndwRmYxWHV4YzVzU1Y1QzluN0F6RmVzUTdlQzA4WE1SMGRsLzZjUU1SMHV5eWRxS0xHUk9hM28vWmlHQ2lGTUNhdXVBT0FBM2JhRC9LRUlRQWxyd0FUTXdBOGFucGFsSEFncWdBRE5nZ1hEQXd6djhCeVJBQjNhZ0ErMFdCVTdRYkRJTWlYRFRCVDlBRU5QTGM1OGJZVm1CdlJYTUNPdmxEL0VKRVF2bHZnMUVwRHVZT015MEQ2bzdDRmZBc3ZIRHN2SHJvYkYxUlNwUVk4MlhCRnltQkRkOEFCNmdBeFZ3QnhSd0I0Sk1BWUpnZVlLZ0FDU1F5Q1R3Qnpnd0E0aXN5SW9zeEVLTUF3cndBWGJnQVI3Z0JDb0F4Ulc1ZmZmN3dBT0JiaFEyUTByUnhkVWdqNkRBQjlVb1RSQVJFZ24wVUpkNkNWMzBwUDFRbndMRUNQc0Vqb25Xa1AwQUtGcG1abmk4QWxGQUJkdmd4MzlNQWNpTXpGblFBTXpNekIvUXlZaXNBRWk4eU5NTXlVSzh3OUpzZ1NTUUJjaDhCMWhRL3dFVm9Cc3I4QVBOcG11ZExNVmlRTVZXekdsQXRtRmVwUkZFcTQrUDRCaTk0YWFoUUw3MmNHandDc3VzWXdoNzI3S3N5ZzUwbWdnTEFJNGZFTVNPYk1ReFVBbGIwTWM2Z0FXQ3NNeC84QUVIclFCSnNNTVkzY2t6OEFjWXpjTkZuTkVaVFhvYlRjM1luTWhaQU1qSS9BY3AvUWNWTUJFVHNRVmxzc2xkMjN5ZXZNdnZBMWVsRW5Wek43MUJNcjBYS25RUDRBazM4NmlPNEdYTWFiVnIzSDlJNEFNQXZhKzFhOC9hYVFaWDJORXprQVFmMEFDQ2pOTElYTkZKRU1RVS9RRlYwTXdONEFJTmNOQVhEY21RZk1oQmpOQlVUZFVUemN3dTBNMVpUY2dxcmRKMzBOSTZzQVY2N1FRcDhBUUh2Y1BuYklIMnl3YUVYZGlGdldOUmUvOElzUEVKUEtDeTVlb0l4b050UUhFSi9NeXhwL0ZBaHBCT0phb0k5VlNmWmxBQ0tGQUp2aXNHamx6SllaMEZxQjNJV2IzYWhTRElMdkRNSTQzV2lhd0lURkFGVlVEUlFXeDhITDNibFV6UmNFMEJEWEROQ3RBQXJTM0lna0RXRFdEYnQvM1Z6TjNjUTN5SWpPQkxHZ2dKUEZBQTh2d0ljQXNVSWNFUFNYb0lWOEJEK015WGpTREhjcXdIZFdTMk1kcklqZ3pKcUozYWRFMElkL0FIQ2xERUg2RE03WjBGaFpETWRMM2FkNUFGT3V6SXVIM05nTDNSakd4Z1hrM1JoaERXTHZBSC9EM0lGSURhVEFERVBMeTJqRkJ5MkVNM2tCQUZVSzBmWnJHcWVkc0xIcnBaSlZESHVtYS9wYTNJN1YzY0xqRGZMZEFBSy8wSjhWM1dqb3ovMVlMdzRNMzhCMVV3MGZKdDBSZmQxbFpkQXlyOTRLZ3RDQ1J3eFBjTEhJNlFCOTM5Q0JnT0lZUEJ0eEZCM20xTXZ6SDYwVUZNelJGZDR3MXcwUzRBeUtNQXlCL0EwV0V1Q0t4OUNQR3QzKzJONWRmY3dKSFlCUkVNVkg3aEEwKzVFaDVxVWxjdzRnck1Cb05BNElhQTVmaHRDdmY3NS9kOTN4RXUyNG1NMEJYWndHelFZNjBKNXk2REFCNE9GT0p0VXNhakFncGNJZ1dPemRJOENMTTk2SjRPNFlZKzI2RXUyMnZOdzBTODZGWHMwOTI3UjU2UjFLejhFNHBuQVNGUkg2TnRab3hzNHFXOTFxTys2MEM4MW14dDZvSWRpWGpzQTFiY3RxdE9UQVlCMVhqYkN5WnJsYzcrN0oxMUl3VDFrVmRpQUw3YnRXWVcySUs5N2R4Ty84VEN2bU1QYkFuci9MbCs1UWtpTWQzcnBCVHpXcGZMbnRrclhObUo4RE9iSldzVFRPNU44WUdDQVhMQ2dnejF3UXprL084QS8rOWpzUXdFRVhXTjE1bUxxNjZsTUtlT0hoK0xZNVhGYVpVWFhDbk9mbVZySm1qMUxncnZuTVZZak1XY1Z1K2ZleW4raEFwNjgwd056eVZlQmZMVml3MnNlOTBuenkybXJBc2lVVTRXUU5RdmYvT2ZRTmtXZ0hVNDMvT2ZjR2pCNC9OQ0R3bmNqYzlEZi9UL3M4OUl2L1NJTUJYMXNod3d6UFJ4OFUvS3NWa3NLUFZ2c1JHWXpSb2R5ek9XdWpFdWovWDUvRmRHRHhkMTFOU3NDZzV6THZZUElXR3RRVGR1U3F6Z0FMdHNQL1JBQXc0RFRRaE5YdmR3L2pNOEllZlg3ZXA4bjAzZ0E3QlJQVWI0RFUvUExoKzRLb2I0RlNVRjVadXM5Y05Oam4veVQydWhsUTlVMDFTN2o1MzVGWFg1bm4vekxEejN4eDc2eW9PcDVYS3hwZzlVcFhPRGkvTXpxKy9vWVIvN3BSQUlBQ0g1QkFVREFIOEFMQUFBQUFBQkFBRUFBQWNEZ0grQkFDSDVCQVVEQUg4QUxGWUFWQUF1QVZrQUFBZi9nSCtDZzRTRmhvZUlpWXFMakkyT2lnT1JrWStVbFphWG1KbWFtNXlkbnArVmtwS0RES1dncDZpUENIOEdxYTZ2c0xHWnBiUzFwUkt5dVpnb1AwdGl2NzlkUGdZb2YwaTZ5TW5LbXJhM2Y2SUR1TXZUaEFNR1NVbGliU29sUWtvcVAyMXdjRDVtRE5UbzZlblFrUkx1NzMvUzZya0d2MjFUSm43NmZuME9mZnAxVkxDQjg0TVFBaVFENWlsYzJPbWRRNGJUa0NRaHlFT2ZsQXdFZ3NpQXdsRUdBUUlnMFB5QUkyYlZEekU0V2tGY3lmS1J3NWZ5V29JeXM0U2dCajhPTWhEWnlMR256eUJvUUxDSUEyZkpDaE5pZk1oY3lyUnBNZ1JzNGlqUmg2Ym5pU1Iva3J6eENTWERQanhFck1EUmNDTk9RYWRvMDZyVmhLQm9QaWxFL3pxZVdDSkVReFN0UFlub005SE56eFE0U2FEZ09KWndyV0ZraFErRFFsRTBqeDhRRzJWc2pNT2p6eG81YlRZRTRVakFENDhrT1A1RXdmTUdCeHcyb2hTcmRwV3dWT0xWdThiZHpNQVJRQklyWXQwMDJWMEdCeGRCbmFQZ0dBNkhSNUVYS1JtTWdzMmNVMElMRmlSRWEyNEpLbzRTZnFwQ21ZQmppWW9vUzBJM2lXTzZUSmsvUWZ5VUdENWNoWjhnVmxDN2UwMjl2cVBuRmhqZ2ltbC8wWkkvUC9oQkcwY0U2U09IRzJWd3djVndYRFJSeGdsUUFKRUhTc09KNFFjQkFPREFoaGhkME5mZmg0Tk04Z2NEME9ubkRvaVFTRkRNV0hsc0pBZ09QK1RSQkJjWTdEWmpnek8rQUVVUWVQRHdYeEpSWEFnRmNtSk5oeUtLdUpRQ1hmOStJanBYbUljUVJTUEJEemkwVVlnTXlDMUIzbStDbEdGakVoaHdSTVEvZk9qakFFOXc0TkRGa2YxWklVZ2VKQzdKd0JYU3hSTktpTXNKQW85TWtvQ21CQjR5L09FVEZ5M0EwWWFOdjNsWnhndUNkb1NHQmhvQVFZQ1liZUN3U3BOc3JuVUJJUzJVd0llY0pwN0lueUhMRmVaT00wc3VPYXBDQ0JSUWdBZ2E4b0ZHb3oxSmxrU0Rmemo0Qnh4bFRNQVJyVnh4dElZYkFOYVpxV0VFQ0NBQUFUSk1vTVFDRnVqNWtwMmtDdkphTGFtbVNpSXRlNjRrZ3Fzb0xZR0hJTUZDZ2NFNGFlSlF4bFk4QVJ2c0dtdkVJWVowbUI2N1ZMTDRFcURFT1gvUU9lMkoxdVpKUzdhZ3pzbmZLa3daNEFNMk1ONUFTTEJ2blBEQ0MySDZORWovdVZESUFPOXZLT1JwcjB3Zkpic3NEOURHTTYyZEFpdVpiUzJyUWlrVEFqOVlnUUVHT0VReDY4TmNTY1pUVDRZRXEvRWFmNlJrN01jZ0x5dXlCdEE1b3JLMnBoU3lITUNDcUxRVUVtYjhFU1p5SlJCUkNCVHVCdHNJdk1QQ09EUXNxeEs5eUxKR0UyQkNmb3dNRUdlSm9RYnNJZFFuczNTRkR5SmN3VUJVR0lDV0NNWmNOekxCSC9DNmdZTVBaV2N5Q2RUYjBtdDJJOHFpdlcwamJvYzY2bjU2V2l2ZE8xSWFDWkVGQ3hnZ2dnRUxMR0FHR3ppQWhzSGZqUXBLeVJ0SmxMR0dZRXZNNXdrdUhvOVlZdUtQQXljeUdpVlM0akxLQ1VIekVqUXNtUzZDQ0daQXEwZWxDekthU2JQbkhmTENyWWZYNjJScXBPemUreUFaS1B0SC84Z1pyTTAySnZBVUgwMDc3TkRIT3pXZ0kvRnRuQXVvZ0FOeVdHVkM4d21KZ0FZSEFybmJCTzdvaGFrNDhldHhmakRnMHM1bkNZQkppVjZPRzk1U1FDYzZCRUJyU1YwWVRoemVrQWtybENGUWcrQWd1WkFqQnU1OWdvREkwNVAzekVhTFFjQk5jUTlzeHlDZ3Bob1VGT0J0MEZsQUNjS3p1a3VVQmdOQkVJUU1hRll4TElrdGdKNW9YMkt1QUozM2ZlZ2htb0FnRkROSG5md1F6QUo2TUlPNk1wR0VEYjdoRGNqQndSc2tBNFg0bVBBVjdWUGhBVDlHdzB6TXgwaVk2ODhWVXdXYU5HU2lER0tCUXh5NEFJY1h2QUVBR3hnTUFYV1J3bmpvNTN1R3dCMGlHVEZIME5uUGk1ajRJZ2VCUmhUeUdHQ1F5VGpqSWplSmlUa3lvUDhBcVJOaEp0eFFPQVQ5QUlYYWcwVXFWeElvbmVtTWt3dTVJZ1BNMEFVRjlmQVJ2L3FaR3hEVUlWUktzSGV2TkFRUmdvaStYOEtTRXRsYWdCK3VFRHM3Q3VJTmcxdkVyM2JwQmk0azRaU2NReUlpZVJBRUtpZ2hBendJWnkxTWNBVk1MR0JFaDFSRXQ0NTVpTks1a3dFbEVNTUVKUE9ITWFZQkRta1FwU0VrQ1FVM3JJQThSZW5DRDVDQUFnQjY3cGhydXlEQlRPZkdCYXdSRVlwa0p5SGN1WUFybEVBRlM1aUl1aVR6aGpqTTg0ZjFsS1JJdjJndUJZbEJCUmdWUXhlSmN4b09EYlNncTZqYngwcmhMNWdVQTMxVmE5c3FFVG1NUDVnQkNWMllDR0FBdElJK0NpSU9MNUFNemNDa3ozcW1BUU5sSU04TXhsR0JEb3pnQUEvL0VBSVZuQUNPTnZpQ0tHa2F4NFlFK2dOaUZKUVFvZ0lZVEI1Q3Q1Wlk0SUV2TVVjbUVMWUkwRVhybkp0MDV4Vk9NcEVrR0NVS1ZCaEJCM1NBaGJDT295ZTltWUZwc0lHTk9CQmxPRE5RQUFrVWdBTUZVT0N5bDhWQ0JTcWdBeDEwd0FOYlNFRUtVTnBWbGFLTE9HeEliVFo4NFF0Zy9HSUpzSVd0U3JHUjJ0VCtnSzRTUGFZN3phQUNNWnpHTzBvSXdRRUlpOW5MVm1FR1U0MERSMmcyQXhLWUJyTElqYXhrU1VCZHlqWTNDOFhOYm5FMTY5a0RhRUVJRDNpQUU2SVFoUlhFNEx5d3pRWTJacXRleDg0Z0NkRlZnSHpsYXhvRU9QRVN3Y3d0VTVDZ2h5dW9vSzl0NkVZSU9sQUI3UmIzRG5kd2dSNUJVMW5uNHFDNTFJMXcvNFFWTU5VL0lMZXlCczR3WnUrd1lTeDQyTU9iNVd4blI5elpDbmdZd1NoR01BVW0yeDFNc0dBUlFTQ21mcWx4em1nSmdxS2wwNE1nZXFISEh3UjN1RmpJYm9xSGpPQVBUSFVHZjZBdWNpVXM0U1BUMXpTU3hhNkdEM3lIQmlqZ0ExUE9zbmF6d0dKeVZDTEdHZ0ZDSXV4WUJ3Wm9JSnc4eUVNbCtHQ3llSlJ6eHNqazF4WG1UT2NybUlGS2JQRE9FQWk4WVE2N29BRU5xTUlIUGpEZkpNZzNLeFNPcnFJdEhOOTBSWGF5U0pZd2tWRjhXUlZYZ2NJS2NBR0hLVEJwRldjNUMwd2dnV0xWWkY5S2NDM0dIbUVFSDk3RzVrcVU4MFEyaG5NalFPZlZKZFMydG1rU1F4UzJRTnpMTm1EUWlZNnVvZWVyZ0hFb29BcUNIclFnRHYvOWgyQkhkeEJIUnU0NGtDdmZRVnQ3MElDK3RDQm04QUZBZXp2WmhGWUFOcENiQkJka053dm9oclJwZkZEcVNrd0ExU3lvQ0NOQzlXWlp5d0owWWxDQXQvY05hQThmMkFYaFZzQWZ1bTF1SWxQZ0E0Sm9nSXJUemVTR2t5REpFVzUydFVjTkdFVkxlOW9XVnpRMnFqM29LalFBc3d5bjhIRFljTnV4bVpvSXdMTkF2UldobkV3VXdONlZBRjFOM3R1Q1A5UTh2aVJBdDg0cm5lSXBjN2pZTTFENHBrRU5jWWMzSE4wcS9qVnlxeUNJT3hTaUJobnVOQVVZcm03VGRBRWhhWHdkMHM1aFRKZ3ZRK1dIUUNsZjRTRGRDTzg4dTRYWXNBc29tK2xOWDFiblRJaTczSm1nY3lrTGVlMWsvNE9uS2ZBSExiK2R5eE9tK0JJTVlGLy9KWGE5RUEvMWVscmVlZEdNRG1UWmorQjdsU2NpOENrYnd1Y0hoNE8rL1E3M0NZdGNRNE1Ib0M4THFYaDdKYTEwczR6Q1NSNXZpSWRmbnROM09PNEhuSTRKdnZjWjc1WXRidDFETGVGREV5Y3BDQm05SkF5S2lSS2NhS2VsbjJDc0svclQxYWNwRWE2dk8zWTNNZldkVzdrQmdHOTRvdE5GRWg4Z29mQ0cxNlFsekhEZjVLZGwrYW52aFJnZUR3Y0xTMXpnZ2pDNi9PYy9mL2xPbFQyQVdjSVBDc3ErOEt2UC9EQVhhMy9BZkZHZ0FsNlZCQVBCSGc4V1g4UkdmOVJGQ01RV2JQZzNWc1BBZi83SFBZY0hnTGtsZ1BvUkNRaUFBaWlnQWo3Z0N3ZzRFT21pZ0NpWWdnb29WcXRWVnQ5M2dVcWtnVEpJT1dqVmZ3andnVWlRLzRNRzhBTTh1SU04K0lNdVNGQXdCWVBzTUlOR3VBbFA4Z3pQMEE0b1JFQlNSSVRGSXpjUWRZUlUrQW1ZUWgvYWRBaElSQ0pWMklVcnNZVUM2SVZpaUE1Z09JWm1TSWFwbERSbnVJYVpwRDBTd0VCc0dJZG9sRXFUSTRkMm1BcGdXSDUzdUllVW96MzJCWWQ4R0lpWUlINXFLSWlHYUFsSTlJYUpkNGlNbUFpajhCcXIwRVNOT0ltUWtEdVJHQjJVbUlta1VvYTRoUW9acUltY0pINjZrd3ZJQjRySEpJb1NzQUI2Q0VPZmFJcG1JNHJ4QUloNE9BbXQ2SXJIZ29xZ3M0aWVXSXEyK0Rpb3lBQU90WXFzcUVJQVdJdm1CNHR4SW95YU1BcUtlSXl3T0lORmVBakplSU9rdURpeTZIWGhkNHh5STM2cllFREtPSXh2R0liMjVyNGgvb2VOMFhnSTRjZzJuWWlIUzVnUTRmaU52WU1DdHhCSGVKSjErcVVjb2dCQWllQ05iZWlPMExGeTlvWUFmRENRWmVJSGxjaUxpL1JXanBBZjhEaU13SWlKdmNoQ2pLQ1AwMkNOdWtpSmJnTm42eGlSbWVBSDhLaG1hSEdPL1dHTUhIa2Y5UklKQUJseklsbVN1WVdQMllnbnpzR1NwU2Q4SGpNQTRpaVRiTWdIRFdrSmVJV1RiSEVzbjlKSTNjTUpxK2FUbjFBSElKSkF6VEFuQnlRQnJhWUpLV21VTGxFaWRESWlVam1KcHlJblY5bUlkZkFhQ0xtVjB4QUlBQ0g1QkFVREFIOEFMQUFBQUFBQkFBRUFBQWNEZ0grQkFDSDVCQVVEQUg4QUxGOEFKQUFZQVlFQUFBZi9nSCtDZzRTRmhvZUlpWXFMakkyT2o0WXBhZ0tVbFpRUG1BOENrSnlkbnArZ29hS2pwS1dtaG1BOVR6MU9WRkVxUHo4RnN3VStCVlNYVkErbnZMMit2OERCd29RalRyQStJc25KczhvaWZ3WlVRaUVxSWo0cXU4UFoydHZjM1o1REtYOEZnaUlGQmdZb0NBZ0RBd2dvS0FiakV2TURLQVhWVWQ3NisvejlwdUFHZkpBemgrRFB2SVB6Q05rek1BQWhnbnNHdHZpYlNMRWlSVEFCblpWTE4wQVFRb1FkQjlVcmlQQ0tnV3BETEtwY3liS1hpbnZKL2lCcFJHL2RJWkQzQ21CcnliT25UMFFwWGk0elVKQ2R1cERxQ2hhU1VLK2hJWFgwVHVyOFNiWHF5andwa0ltc0YwOFpMV1ZFRFkyVVVHZ0FPbm9RcmFwZDIyMkNDVFAzLzU0VlJOQzFuSUZZZDMvY1ZhYVUwRmlQWkdVaUlUdmdYajYyaUJQM2lvTEVHY00vRDVOWmN6TGlnSWN2UFRMMytCTURXUUVVaHBnR1RpZ0lYdWsvUHFqc1VNeTZ0YWMyQnNRaGtHQ3Ztb29VT2p6OEdRRm1VR1pDUDVMRlhrcWE5Qi9RVGdYaGNjMjhlU0lNb0FkSHRvWWIwcGJnTjBjWFJ4SzdNR1RuNEoyZitET0ZvVmtSQmtybzBORkp6Wi9nQmdLTFZHcWM3RXdFenB5RTM5OTZBNXcyRDRtaGdoOS83TVNKZS9ESkp3Z1NvQm5FVkVObWRYU1NEeFh3WjZGaVluU3hnaFJDaUlLZ00yVjk1cUE3Qm4xWG1BaFBmSERoaWl3eThzTWhDUGhBa2dSSWRNUlVhU0owb2NRRkxmYkkweWFucUpIRGk0YkVFOUk3aHR5amd2OTdQamJab201aW1TT0lXVTlWNHdTUVRsWjF3Wlk4WHNCQ2xwMmdJSUpTTXhXSkhwTmdVc1RqSHlCa29NUWZhV1NBeHB4b2NNbGxtb2VZSVZNaFVvbzFKVEs0WUlrbk4xUElFRVVVNThneWl6ZytOQ3JRRDFFNFVZSVNhSUN3cFNBWkRCcGJYK1QwVldZOWdweUVBb0dEQm9QREgxYTBjY1V4eUNnemlETzB4TXBNVE9ZZ1VRSVZhUXg2bUh3UzlQbU1qV0hoNXdNTEJKUUtUQnhpTE9IcU9NOHcyT0E2N0VRcnJUcTF4ZlNIQ21zTzJxQkJNUUk3aUduUGlEQ0JzYitJQWFzNUtMQXpaVHZTaHZaUmFmY0lWTUNPYWFyeHdLS0FGVkRtT2xGTldVQVVCQkJCcmlsV0pESEliSkRCODFVejVvUkV5THQvdEtPdkJGZndrSUgvQ2xHQWtHVUpTOWxqNDBFV2xCbnhGWGNPTElvVlZ0VElqc0tTK1JETER5ckVMRlN0RERwOGtNTXhvakNQR1NmOWtPbWdUQlZBVWtNV0xEQTBwdG1hRElvVmY3UUJUekpkSUhFb0VVUVFZUFhWQXFCUkFxS05sc01wVTMwOU5OczhZczZMWjBjaHh4ZXhCQmI4Y1VVQk52NWhoaE0vS3gwS3NtTDg4VUlMYVpENmg4Q0NBUDVISlFTbzhJZlhENmU3bFlNUzREZE9zVDZxTU5nZkRDd0FGejJCTFVBVUF3eFk4TGJkdmt6UkNCUi9KTkFHTXNPSnBEaHh0SWxBcEk5eVhrRzVCUXdVWU1ZOG5CZU5BaElMV0ZEMFhhRDdFMFUxbkVLRzhNUHp2QzJDQ3VQMmFMV2VuUytBaEJrTS9MR0EzSlliNExzZ0JiMFpQRC9VTUR0SS8rTU9jNjl6NDhtMDRLUFZTa2pRdVFWbXlGNjBHYnpYYnNiMWJ2K3h3dmY5REM5V2NvTWd5anhPMG9VZUFlQVBBSGpEN1h5M1BkOHh3QUNWSTBydkJ0R0ZBL0p2SDhIWkZtQTJTSmVHeE1nYVBvS0NEMjczaCsyVjhIZG0wQU1DZU9jN1BhQkdjQmZzQmd0c1ViN2lCR1ozQTF4ZWszeXdyUWJxYmlhYzR3TWZCS0dudzhUUUc5UVEyUWFOODUyQ2pFTlFLeXBBOVJqSXdPd053ZytrcXNON0lIZkViZ2lrTFBRSlRGSEVJUUlxK0loajkvUGRBdml3Z0RXK3pRU0N3R0lobEtBeGJid2hnWDk0d3grQzhEMXFsT1V4eGRsVDZucVVBUi93VG9oeS9JTWY4bUM3T0pwQmk0TXdJakFFUUlRMGNDRUpjWWdESE9EUWdoZE1BUDhBRmpRWkM4YkJLUVBNaEI0ZTNKUXpRRkJIRm8xamlJb2tGUllIcVE3OFBVTVlMR2dESEhEQXkxN0NnUTA0Z0lNWTBrQUVHU2pOY0lWNFNFUElRcEt3aklOalBaSUZKQk81SUFQMHpvcVVFd1FhZ1BHRFhmSlNERzJJd3FSNFlJSW9MSUdYWERoaVlVQkRGbllpcVRFcXVFR1BxQ0c3V1A2QkR4YmdnejBZS0R2WjRVOTB2TGdCRlpMQVN6YjhnQWRZVEtoQ2VYRE9GMEFSZE9jbzBTa2pCcGx5QUpSRjFBQU5GUVZoTkNtMnJXMzMrNDRrU1hHREtld1NEaW93UVVLbGtJR0FVYTFxTjhpQUdIQ0FnUmg2TEZUbE8xRVVjc1VpMVBYT2hOWXpnd2pxcVRuUVdPNDlwN2lBREhqWkJRMWdNUTlvS0NZVXBrclZxaEwwQi9ML0hKaEE1RE1BR1Myb2VDZUpRbFpaVkE0cXRpMm9JdEJUYVdKakFRV1ZBZ3E4L0FFV3BZQUdHVlQxcm5mTjVERy80eEY5blNhWjZMbVVLd3R3aFkrZTFYSnB4UjljUERMSVVjaGdsM0wxQXhyd1N0bXFsZ0FIYVJocnFWZ2dBcEZKSUtJTEtvUVpiSkdCVmw1b0ptbmszQ0NFbXNZRnlFNHAwU0VGRkhiWmhrWCtnYW9Ud0VCbDc5cUhGZURnb3NhU2gwZkVvWWg3RUt0RllrSkE3K2JoMnRrSWpYTU1hQ2YzOWpRS1lJcUJEeVlJQWxXVGdNa2s3SmFxSUxoc0doNUtyc2JCelJDS080a0tZR2doTVVId0lBeWdINDBnMUpFK0ZlYThvWmdwSElRQUJLcks0QVZ5TmNFU1RsRFZQMmpBQkNDZzZudHc4QUwyRHN5OFNobk8vM3lQc3p3dVhzaHhvcG5IQ2pNY1FHYjFha3lpSU9pQXRBc0FETHdoQ1NhUWdoeFc0TjJwQnFFUENiMHRGSUp3VGh3czRRVXlJQytlZ3FhVXNjbWtJR0w2Z1lVdDVMaVBNVVZ0eHJucFowV2d3VTRnQUFkSjhBTUJvRURRYjRLZ0NWaHVNUlRRb0ZBcDJQVU5hYmpDRmVwUWdpUVVFRTl0RXRFeVJYUXpHb0VHUDY5YlVXRjhZRE96OElzMCtJRnRaMFBoQXh4RW9ROVFlQUVPVmhBRlhiWUJ5MXlJd3h1bUNnS0ZTaGtLRTJBQkhvcHdBd2NzWVFtREVzQUZ4Q21JQ01ZR3ZoYllWZ0hpZktIN2RtUnNuejBLYWJyNkxQU0FZZ0Nick1PVXJSQlpLWlFCQjAyb2NvdFZxdERKVGdBS1Z3dENISTZYSmsxbkFHM1NPK1VBb3Y4WE52MThTYzZrdkdXSkdyUnF2MGJNVjJIQ3dROEEvUVljS0VFS2JrQTBGM2k1eXhjRXdRRUpQWEFlWkhDQ04xeHRBNWpPTkFFRXdJTmxGdzBKU0dBQU81aHRrSTZZd1pndEl1Vm5iUVF1NDRCV0hJMkZSSi9Oa0dBb01NME5aVGgwRThZZGh5Wm9FZ3BTd0dJMzJWQUNBcHhnQWdMd3VCaktWMng2SXpzZDBXVmIwVWhDeEwyMUtEWTZDMHZqaHFPdUJlRVhYNTVJQWh1a29OMUFCeE1IWmNCeUV5UmVCamo4UWFWQzhDVVVNREFCQWdpYTFHQ2F0d0NFWU8vclhXR0tuRE1hNVRnbkFSL1VsRVd4R1F5RCtwMjY0NkdBenFFcXdJMDQ4ZVEyOUplcUw0QkQwTEVjY1N6cmxjc3E2Q1ZOcVJ3SFhzYTdWQVQ0d1dEZTE3bi9FaTRBQldiZ0E4OSthZ0VEN0k5RmpZa1BYYmlWT3AxeEQ4VFBVRHZKRWFGQkZQaDV5Z3FlTzVhaFBIRUc3MUYvZW4rRERQcitCeWk3bFZ3bTFGMEtGNi9HaFBQSHZUT2ZFaUF0ZiswR0lRRnVtdzlOT2dMekF4eWdvZWVrbzdMRTI0Q0RPSXdiRG5xRXdnMmljS28veEFFS01zQmtHZnpqZzllRFNZcUNpTDMwVWtpWENXb082dnZCY0lRaTloaklPS3hQSGlONVRqTk1GZ21JZ1EyVEpkMXQyUTNsS21leURIcDBXMFFBVFgvQUJYYjFCeWNRY2tHd0Flam5KTEx3UG1aMWVDa0VEeE1rQ0VMR1J4ZEdRM0poRUdIaGZvekZMTW1GUEFqaEVleFFmL2FYQkZNbUNGWjFLbkR3YTlnM1ZUSUdCWW1tWlc4QUI4QW1BQUFnL3diZTF5U3ljRUlSaUFRSW9BZG1nQUkvVlQxQ3hpTGxJM1BId1QzMElRNGRFWUpUa2hTb1ppUFJNZzlpSUFaY2RGY1lZR0oyZFZjeGVGZnNCZ2RKOEFKc29FUnA4b0NJNUFkczFFWmhJVVJ1eUFlMW9HUE9ZV295NFU3N1FoOGhtR2MyMXd5REVSZ2RVWUt3aG9XRDhGMWV1RnQvZ0FITU54akIxeVN6b0VVeEZrdXBRMDNpSUlmZ2dYYTd3eTJmc2kxNkdDUEhveS92Y0ErS09DVnJnd0RDaElHRU9GVW5rRWx4NElKNE5RRnQ0QVp3MEdSZ0VnUzJzQnlQaUVXRUZVZUpGQStVMkJ5YStHbVRSMUVpb1dZR01SUDUxa2F1VlFzUXdqaE13UVliVUFpVkpRTVk4SDh2WUFVNHNHaGVXQVp1NEFiVU5TZ3kwQVVHTUVTM3lQOUk5ZVFIVitBM0JWQXBMQUZVcGtBbHVjZCt3OWdkNm5BSVJzTmtxQ1F0YkdBd2hGQlo0L0ZyTW1CTXBsY0lyZ2duUzJnczZIRk5ROFJHZjFBSGhPV0dLRkE5Z2dCSkt4RmYxRE1JOWZRSjZoSWg3L2dySCtndlptZzlWNEFldENFSXRHQUFjQkFIaDZDRkJuT0FmNUI5U1FCd2c2Q05CWWdEc2dnS05yU0RLdkVDbmNWNGgvVTJoZVU3Qm5DUmdnQUVLc0VBa2ZjZ2k5Z0lIUlJBc3hHTUhNbUIrS1U5WjBVSXRXTU95L0FWSjRrSVhtZ0lKMkIwaFBBR1hMQUdmMEJRdk5jSkpwZ3czUEVEanVJeUpkSVNuTVZDRE1SUkQwRjRTRENWUFhGbmE2Y0lEbU16VVBnTWJ5WXlIVWdiYUhjT2hZY0k1VUE5MEdVR2JPQ1ZLUW4vZzRkd0Frd3pDUCtWQm12Z0JzRUVMWkNRRUZ5eEJNQ2tkNTZwTmkweEJVekdreHkxVDIyekFIN1RFOXJ4SUl1QWxIL29RWHUySU1oQkNJR3BoM1ptQ0xRREVaVkRSWHJRWndISUNTOFFCekI1WXR5WUJqaWdnelZIRXdPQUJFdmdUY2pTQmpBVEJVcWdCRTRnS1d3QW1pd3hQTXJsUUljVkd4WElGdTF5Q012MElQY1lRTi9DVHZLeE91akRUcVpVQ1BORFhEdzVQM0NBWTV6Z2twSVpjV3V3QnJmV2ZjbVpDTzNVQlNlMUJDckFBM3lBUlRzUUFrT2dBelNRQlJUUUFMSFlFNGF6bmFyVmFaOEJTK0FwakE3Q09ocDJEa1R4ZmtkeVNsdzFQb1Z4U2dtbk95Qm1WaTNrQTVGcENHOHdIb0tRQk0wakNQTTVDTlBvQnZuWi8zZUttSlRjOGdQQTlCOUtrQWQrc0FjaDRBRTA0QUpNY0tSSTZnVTRjR1k4OFNKajB4QkdZd1l4QXBHSklVWkhVUmFwMUF4alFoWW5BVnMxWWhQdTRsZWZWUUJUV1RSWFlBdFRoS0t1eFFaZlZ3aDlwM29ZRUpEODk1dHg4QVA1NlZzUjA1OUxFU083SkFaUlVBZCtzQU5EUUFNTmdLU0dlcVJLeWdadDJSSUNnVEM0MDZHeU0xSldNWE90VWcxaElTMG4wVm54QXhlRGlYbVphcWtrTjBDZkJrU0RBSlNqNllNUjJBWDZXQWhXWUc3V2h3TW5FQVF5MEczZTFaSVRrQVQ1dVFZekZSOTY2aEVJMEFWK3B3UitZQU5EVUFOZW9BQ0h5Z1FLZ0t4TTRBVzdWSk1XUVFTTk1pTkhSaGFweVJablp4Y2tXUTNwd2c2Z2VBWElxUDk0emtBalRDWVQ1UkFxNVZCRE5ES3FRMlZMZWdKK3BVcEZyaVVHMEZjSXF3Y0hxVWh1dVdVRjBFYzZOV2lqYnVCYmJMQ01lOXBuUzRvR05uQUFOSUNreTJxb1hqQUR6TW9Fa0lXVG5kWVA0Y01ySzJTaGlTQm1QRkUyQ0ZBNWJXUUIrTEdsalVHRXRyUWcrV2FNQStBTUlDdXk2VG8rMHRVNklWVkNSam16NFNldnhXZGl2eWtJZ3NaTEJlTkx1a1U2Y2RBR2xla0dWNFdVNC9NTXU3UUVTckFET3BBRmh3b0hYc0N3T0JDeE02QnRWTEVDSW5sbmoxQWpQRkVMNEdwVytvUWUrTUU3aVJCcWRkaXVWU1JVMjRKS0JpRW1ObXM5SjN1eks0Y0Q0L0lHZUZzSUp6Q0dlb1FCWERBdWNNY0YyK2dHejZjek5ZUUNNeVVHSlJEL0FoV1FyTW9LQjBoNnRSR3JBRXRhRlM4aWRzWERDUGlsRXExalBTaWFtN1BnQStDcUNBVVJHMUlwcjBiQ2pQWFhHTW8xdDRoUU5GMkFrb2VZQkhqN20vOElrekFKQlhzN3VNOEhaWmpaT01BS0IxRmdBanJndUVjS3NjY3J0VW1LQTJ5UXVZeDZIQU9YQjVBZ1Bwd3JKa1RJanJwek9QQ2FDS1dyTDkrNWNsdjZFZlBRR05SemRhNUxDQXlVQkMwUUJEWElCUmp3QXJXTENMV2JCbkN3QW03d0EzM1h2QVhFVGtxcmJSb3dBbEJydkJJN3RUTXdBNGNhVEdYWkV6TFFxTFFCUjQ3QVNOU3JFdGI3bllSd3B1VkFwZUVudDliak9EeGtDSzdWV1kwREdRalJHTFdBT0lwUU5ET1ZCQ2VKdDNId0FubFV1ekFjdjF3Z29EWEcvd1l4aHdPRGdiakhpUVloVUFQSmVxd0Z2RWs0VU1CVmE2aFhpNTA5b1YwYXFMR01FSksyUnhFRjhaSGhwem5pUUtWcUpHWlhwMEprUklUdVdUdGtKQnpMSkJVTWNnOXg2OEZSNEUwVG9FZUNScnN2SE1OZ2hnR1kxRXRMd0MvRmh3TEZKN3dhMExnT2U3VytwTUtlcWJ5VSt3TVVLd3JMWVFyaE13RFNDd2xDOWNRVElTR0pjRlR3V2pSR2VUamxNSGIzd01YbzY4Vk01ZzRhMkZrZ1d6dU1QTVZtVUdZMVZZTkpJQVpXNEw1cDhNYnY2OGU5VklaVjJHZkExQVk4NEFHSCtyREJKS0Jtd0FNUHNBVkg0QVhIMmdMZWRMV0NIQXdkVWdwMVVMcm5xd2g4a0djWVRCSExLTHBuR3c5VVdqdm93UjNpYzhselN6dEVaRDNpZXY4UzJ2TlRoNWMvNkt1bUM1QUVaUURIZnNZQUJydEozcVIzWm1aajVEa0E1OFJ4V2hEQWlIcTFTYUFDVHJVREhsQUJjekFIUnpEUUJIMnN2SlRBaTJFSytnUUtTREJDUEVHdXluVUlEbFJZaHNlNlJVTTVpeVVxeTB5bVV4a2Jvc3Q0V3Fjbm54dUJ6T2QzUmVOYTNTVEVZaWdHUE1RVWNOQUZCMkdTMnNZRHhldXd3YVFDZVlBSER6QUd2M3dFQVMzUUJPM1RjNkNrT0lERVBoSEtpeEFQTFpFVTduVzJGMDJ6MkFhU3pHQzJoVkE5MW1TWE1rSEIrSkZHSTExRlY5QUZHYktiRnFBSFlnS0VISUU1QnFCdGpaTzRTbkRQaDBxNVMrQlVBZ0RVQlAzVGRoM1FBKzJzT0p5bjB0SXV5YW1qd2NBRG9CRFYvbkJrZzlBMVpVei9DRzBFa3FkYXFscTNrKzU1cGxkZG1uSVRyeFRHMVYxZFJTSExRRlU1aGRJQ0R6RnkwOFNickpSYld6dXdCVDlkMTNSOTEzVTlBMHZnbW4wZDI5R3lGbDBseGZ4QUplYWcxT1V3dW9YUVhPckFBQ0dKeWZGcXVvWVp5WWNudWloNkQyR2IyVjFkaitZaDJ6U2lxRzFnQWlHQXoxUXJWeUZ3MTZ5dDJxa2QwR0RRdkxJZDNuMWRGZWpqdlByUUVHWE5VUXhRRUs1VzFZM2hGWEJoVFhtQ0NJaVZPci9qQXhESVFQakczUHc5QzlBUzJ6cWNCRXBnQTdaTTJuN21CM005QnprUUFpR1FBOXM5ME5wOUJGdmdCMjBBMCtJZDNtdlJseFB4V1I5OVFxNTFPR1o0RW01ekJUelRLTnRyQ0FKaGw4bFlFRlcwUXArNzJmemQxVWZSLzlmQUs5b2pVS2dHWGdKK29BWVZFQUpBbWxBMmdOcmFyZDFlSUFSK29BSGdmZUhqN1FnYTBBOXFaU1RQdkE4TmdYTWVManRqY2owZmpBQnIyRVppY3VVZVRMN1g0MFA1WFVVeFh1WlVGRjAwSGlNV1dBZGs0TU9PUzdrNm5nTTBZQU5ZVkFjLzBBV1JKZVJEL3ROZUVBV0x0QVQ4cWVTejNRZ0xZSlRRMnBxaXdBUGRvUy9YS3VYek1Bc1lyRWJ1aFQ5ekdZRmxFK1Z1azIrb2F1YWN6dHl1MlRnK1FGczhzQWNGenJCSTJucCtyZ1p6RUFKUFZXTi9zQVIxWUFON2J0ZEhjR2xKd0dLQzNxdWtDNHFkd0FlNi9nam5rRHdxNFJUdGlyNlVNejF5T1E2ZjJ4aFUzZHQwMituUS9ybjZCaUVvQUt3NDBBWkNRT0E0ZnVwL2dQK28xN0xqRXA1UWVhZDNLK0FIRGo3ckFVMjVOaVlHaGl2ZVlYTGxmbUJHbVFsQW5kRFlLMUVQWHU3QlUreVRKOHRBU24zQzBSN3c4Z28yUDFCbHRCd0NOWjJzTXpDMVNscGJEeERRYXZCVU02VjNTK0FISm9EdWVNMUwzQ1hJc1MwS1Ara0gzdk1JVjRBQ1dBMEpFS1FmTE1FVWtPM1VqZGZzcFFyY2pBRHRNTTdwYmFRSEl2c0RFNy9QUXFBRkZVSUllM3lrWXBnSFFpRFVyTzRIUFBET0dnK2tIb0R4UjdCTGJMQUVGaDZlb3NETm5TQTdqZTRJZkhETUxhRXVaTG9JdmpQeUVsM3lyMnZtOFZWWU0vL2lOUTgvaGRhWlExc0NRdUFCMXUyNHlEc0QrK1VBUWowSFR1VUhsK1daT0lCUUNZN3VSbWRReUltaC9TQ1VGNkwvVmlkc1BjSmdWaXFRanlvQXJzZ1krY2g0QlNXZ0FtM1FtVkRXQm02dkJSQWd3SWFxQUFZTTUzNEFBWGNmQW5qZ0I5VEg5d2lWM1Jpdnp5dWdxRjNVQzFLMHpQdlFObVVXVEYyQU1TV3crMUh3QTIyd0JLNHNUT0drQkNGd0FIcnMrWVlxdFVvNklDbHc5NnVPUlJxQTlMeTAraGcvQnkxd25DckFtTEYvQ3RyREV0ZlQrSHpmUzBtd0JKQXluUStnQXhYZzVzai8xZ1o4N2VhdTNSNlFVRFhXUzJJQXBObnQvTnA5L1RHai9kc1BDSCtDZzRTRmhvVUZCZ3lIakkyT2o0NTZEQ3BzT0hCTFVWUk9LVU5hSXhVMVdVeWpwS1dtcDE0NE16aEpmamx6YzBleXNITWhmbjVDYklNNEpiZHFzYlRCdEMydGJVdC9FaEtReTh6Ti84N1AwTkdRQTJhTDB0ZU1EQkxXZnd1U0ttSndNd3BlcCtibm8xNWVDak16ZzNBOEFrZXdzck56TkRhM1BHMXRLMEszZmlvQUV4Wk1BUnNUU1g0STRvYXRvY09IRUp0WllLWnRHeVFHR0oxSkdNQlIyU0FMQy82ZzhGSEowamgxNWN5aFZNQnVCaHdjT01Rc3djR21pd0VFSWVyRjBnbXJRajZBUUgvTjhVS3dJSnd4WWxBSThzaU1ZNTJJVUtOS0xiVE5ndFdKaGpCeTVKaHhFRWFNeWJaYWhLZ014UTh4SldHcVhjc1dKaHcyWXJwY01hUDBENE02UGo3WXMwZXJnZ0E4UURWc2dmV0NhRkZZWHVCVU1UQW9XYk1CU09wT25VeTVZYkt2bUpGdDNDcDJBQ0hPb0w5ZWlWZ1d5UThmcUZPci9tRUFTV1FFU3hsT05DQWl4di9oWUJWeWVNZ3htTmE4MjBQaGRFSGhVVnRUendXZVZsN092TGx6UjQ2VE1XMDBmUkNTQWwyZWpBSE8vWFlWTVl3L1ZtL0VzVUFCck0vVHExL1BIaGxEUWdpdWkvQmhwTHQ5V0VaOEZJQXQ2QXA2Wkk2VVowQkk3UlZvNElFUUdkZUlmRjNFVU45OVJZMFJnd2o3TldZQlErOFpJa0VpQkNMbzRZY2dVbmZoSXlnWVVNQjgya0VJaTRRaWlJQUVJUkpZVllpQ2pBeVFTSWc0NW1oZ2RURm1hRWg4Sjg3bjRIWUVqV0drRVUvNDBHSUJablFZb3dYVitXakllVHBXYVNWelYvREl3SVhqRllKQWllYTEySVZxcUhYUjRueUp3RGFSTmx0YU1OcU15eFFnNVpWMDFobk5XSVg0WnhWWWozeUpoSW5tQldwQWF5akFWdFVmVjFuLzlTWWhORGFDZ0FoTjJpbnBwTkJBeWNnMmJYYlZESCtEZUJhaklGZjVxQ2trNFZGcWlCOTgvTEdvcVhadXFaNDFYUzQwSjFVb2lJQkFoNnlDWklZSWl2d0hraCtzNm1oVnJPeU42QXdLTHdZN2lCOE1WRk5Jb25rb2k2T3h5bm9tN1NCNTZPRnJvaGNpTU91MTREcm4yYmZLY3Z2SG8wamdHZTY2NmcxQUxxVnRKcm9BYlFoczlTNjcrT1liRWJjVFhhRmZhUG9HTFBCVWlYWlRLd3FndVR2d3dneExZd09vM2ZoYlFNSmJOV3p4eGMzTUt3TENGR1BzOGNlR0xQQ29BUlJ6QlBMSkgrKzZuN3NNWE1FWnlqQmZqTVRHWENIS1pjdzRNOHhBdldMRm0vUFBBbThXR3E1QUZ3M3VBcUJ0RTYzUlRJY3I5TDFOUjAxbnpWSlhCeTN0cUZZTEhBZ0FJZmtFQlFNQWZ3QXNBQUFBQUFFQUFRQUFCd09BZjRFQUlma0VCUU1BZndBc253QlVBT1VBV2dBQUIvK0FmNEtEaElXR2g0aUdFb3VMaVk2UGtKR1NrNVNWbHBlWW1acU1qSU9kbXFDaG9xT2twYWFSbkttTnA2eXRycSt3bDZvU2dxbXh0N2k1dXFTenU3Ni93TUhDdzhURnhzZkl5Y3JMek0zT3o5RFIwcUlEMWRiWEE5UGEyNVhZMW9jTTRlSGM1T1YvM29YaTRSYnM3ZTRXREwrY2pyVG01ZGVFNnUvdjZ1S2V2d3pnU2NwbWo1dTRmZXo2L1puMzdWeERYL1VlU1FnbmdVM0JaL0FDOHZNM0NKdWdhcDdxUlhUR1lNR1ZpODAwSmh4WEM5Mi9XcDgrZ3NSa1FOZElsTTA4RXZwVXoxcXFBUkowNGh5NkM5L09XanM1WFF1S0FrRlFvVVNqMm96NVZDblFSVDVySHBYSzlSWlZSa0NyL2V4SzF0aFByRE9UM2l6TGphQlpyR2ovRzhaa0MrdGtyS1ZySWNaMVN4ZmlBb0d3ZlBJVmxyZnZyb250R0JRbUZUYXQ0Y2VJRUNlOEt4YXk1Y2dUSmZ5QUU5am81YytEYjNuK1RGclh3OUtvUlR0T3picTE2OWV3WTh1ZS9RckZZc0swdVlsQWtMdTM3OS9BZ3dzZlRyeTQ4ZVBJa3l0ZnpyeTU4K2ZRbzB1ZlRyMjY5ZXZZczJ2ZnpyMjc5Ky9ndzRzZlQ3NjgrVnRkL2hqZ0RTN2VlWElvVmcreWNQdDlNNnlJM05zbnFuOC9TcGIrUlhOVkl1d0VDRTAycCtWajRJRU9oVllMZlFzK0E1S0RBd2pFWG9US3lMZlRBaEpjaUNFeUNSWUMySWZKaENnSWJ3Q1NhTXhvaGdUMGg0Y3FCZ05WaXhDV29tR01qN0NZRGp0Mk1YWWpqb2k0UkNOOU1JSmlvaVpIYW9lZ25vNG4vdEZPZlpZa21ZbVEzRjNEbTRNTFBXa0trNkY0OHcyVzBNMVlpQVFKUWRtTmxKVW9aZ2hRQVFXVVIzWm9ram1pano5ZTRrZVpnL0RSM1FCRkhrS21ucWVnaVFrODdDd2dIcGp6K1dHT29aWFVnYWgwZ0FJcDZhU1VxdmhvS1cvT2RtbEJESGo1MEFEOURicHBhaFpJeFllbmFRMVFSeWhtWG9aT2o1V0NTR1dzeHVReEVnSjljdW9JVUxRT3cwZXBnMXl4QUI5L1djQW9jNEVBQUNINUJBVURBSDhBTEZjQUpBQVpBWUVBQUFmL2dIK0NnNFNGaG9lSWlZcUxqSTJPajQ1Ymd3OVVUbEVxbUpsUlRsU1FucCtnb2FLanBLV21wNmlGWHpFK0JUOEZJckd5SWo2eVBpcE9md0twdkwyK3Y4REJ3b01IUXlrR3RRWEt5NExLZjhwSUtBYXdmejlPdThQWjJ0dmMzYURHeUNJRkJpZ0Q1dWVDNWdqUzQrb0dJbjhHRDk3MDlmYjNxVTdUdE9RREV2K0xKQXhBVWdDQklBU3dDbERKZ2EraHc0Y09VNmlnVmdDSlA0Q0pEQTRDMkU0UUVuZ3ExRUFjU2JKa3J4Ui9mRHd6Z0FBakl3UXNDdzFRTmtBUUNwVXFzSm5jeWJObkloMHBuNVdUOE9lZnVUL20vaEUxaEJDRlRHVkxFZjdKNmJPcTFaSitCaFVZYXBSZGdVSGtFUGc3TkU2bWdiRi9OS3E0eXJhdHR4TWEvL3c0OVdHeHFBU1lzR2gxOGNFMzFzcHloc3JLZENrb2w5dkRpSDJWcUdPQWtBUXpLR0Q1TUpEQ1NZb25Sb3c4ZWRMM2p6aU5neEEyTnFRVXFZR2NaQktyWGgwcXpSV1ZnaDVIOXZFRDVaOER0ditBS2RUalJ5MGtoUkNJQUU0YTRHT2RySk1yUnpUQlp0R0JCV2puWnFSbXhCQVZrNE9MY0ZyY3JoQWh5OE9MajFjUUFaSVNrSHRNZDhSUXpSWVJvd2NoOFFGNjBBQVVCZ1VLSHM4ZjhSSmFQMWlCUXh1bXFKSENjSVZNNDVoQUNoWWwzQlA5UmRpV0dISDhnWU1WUCtTQkJpa001ZkNEQ1BWNXRCRlJNelgyenpzeFNLaGlWVGdJd2dJdk9iUlNVeUlBSVpSZmljaXRxQ05KRjhCbzRET0ZFQmZiVXRMRUp0eGFPeWFwWS84T2F3bFozRkxrMlBWT0owcnkyR09WcFhnSUlpRUl3R2JYUVFYVWRCZDhXSktVQVJwb0tGR0NDajhnNFNZbUpTaWhCQm9nbEltSURaSFYxMkJwOFFEM3owY2xYR2xuTnl4Y29zSTAwZFV5eXlDMktHUEFlUmtJVXFlZGZoQTBJMUpiRFFtbW1DVU9PZ3djRm5KUlJ4U0N3TlBNT0kvaWg0QlladHdYbjJleGpLTUNCb01xRVFXQzhuMzEzRktaL2lrQ2twNytZb1VWU2JRU1ZGaEpLYVhzc2phOVdxb0tHMkk1QVFDMWdEWVRkK1pwRmR0TVhUUVhiQzl4aUNISXEwUXRTMWdpQTVqbjZEcytsRkNtQUU2UW1XczZCVFdUbndRZnFTRER0NmlFUzZhWVNwbXhLZ3B1R21Dd1FaZlNDRjA1Q1FWYTVRVWZtbUZmV2phRlNWVC9ZLzZZSVMrL3BZaEJwbExwRXJ6UExMSTBjOWE1YWMxNFY2WW93Qk9Gb0R2R0s2UUVSVExBd0ZaRVdjekFBdThvd1RFcGJDd1JkQnRSbE1ESG9RYjg4SU1LVVV6aHROT0ZzcG1NUlVzTlV1UzJNVWtWeGFRN1pxQ01HZVhXTklBRkMwakRnQVRrTUVDMlo4RCtQTXF3VnJTQXdRYUZFRENJM1hlem9FSVhRbFU5N3N6UGlQM1ZXa1FrK1pGVEFqMTJCZGxYRkhCRldnVllZTUVmREtRVXJkdW1RUEZKQzdDRldVaTl1ZGFrdFpKS2ZFeVU1R3BiRU9YTlppeGdrd2lrWW43UEZBa2xURkNDbzdYc0F3RzA3aGl4SUpKYmdNTGp6NUNOaEFHdS95SHhEN0xqUTRBS0cyUHFKRUl6TnVZRDNUdENqMEx5Wk9QM1IrTlhMR0NHL3crUFMyNUFGL3MyYnc4QnR6b1oyYVgzalRYVEh5OGtpWUU0a3dzaVBoSUxXRkN2NnR2N3d3S0UwenYxMWVONVBraFlSUXJCSjNob1RrZEJpRmp5dm1lQXloM1BEMzR3UXdINHdNR2J0YzJBM1NBQUFiSVRHczh0aUJDeFc5SHp0alBCZUZ3aGd6Nm9neC9xVUFBZUNLSlNJTHpIQ2hYb0pFM05oSGw0VXhFTG9yY0FKSmpCRHlZZzM3ZzA0Z2NHK0N5SDlXQUJYUWp4UGdZcVJSb2c0RnFFUUhDQjZEQUFneGhjQndZcGxwYlI4S0dJS2N3R0FLYjFCd0Q4SVgyeUk4QXJGQmlpTDBuZ0NoZklVWDh1OEpFWFpvV0NmNmdVY1JySEFENFlqM25DRUtFaWlSQ0VJTWpnRFFCNEF3YTg5VFAyL1lFN1lCblJRZXlTQVpoSjZQOVc5V0ZNSFpTSFBBdmNESGdEOUVHa2dDRUFBU2p5bGE5a1pCQWV5REVpR0FzUkFLa2kydElvb1NuZ2lnL2praGdEekpDL1IrbFBZeVhRWWlvdXdFd1F0TEtWc0h5bDdLQlhSeC9xaW1ZRlVHWi9wR2lBTTBxT1p3am9YLzdLOW9mOFBlNkRwbUNtT3RlNVRtYytVNW8vQzhJVUQ0RVJnejFuS2pvaWdETHlKMENDbFZOeUFoVG01QnFIU0ZTdzg2QUliV1lyM1VhRUtKaVFqSnFpM29sOFVNQUk2WXFmNG10TThBWmFBR0ZLd0Jtb2FDVVgxM21EQzl5Z3BCbm81RWtUK2pOYk9rbFhYNHBIZmxyMlJCVlZaSUlMSU9SR3kxbVFzOFdERjdDRTVoOHdzQVF4SkNFT1NIMkJDcWhnMG5XNlRZNHdqY2RvNnVtbm1VVGhCaXYvRWhnL0tlYzRjUllUT0RYcElTbWlLUU11d0FFSGFFMHJITVFnQnJRbVlRVUNZQ2UvMHJERGVjVzBTQnpSa1FSMlpzcHlMcUFnTzJXQW53amhyRkM4VWdCRTRJSmF4ZkNERWdpQkJ6TDBBdzkrd0FZY3hJRUllU1NBSHN0a04xQ0dCaWt4cFY1UlB2SWlGZUdybktlTEJ3cHNGcnhMZ2phVHBZaUNiSjN3ZzdQaVlBa2xpQXNHOGVBQUlHakFCQTdBUXg1VVlGa1p3UE5iblJCU1RSQUhrSm5rNTBncittZ0JCRUk1NFpuSVp2OHdDR2k4TklwWlZQYTJRaGpqSHpKQUFEaEM0YnhFSUVBYWNBQ0hGU2lTWTJpNFpWR01TVE9OOU9xSDBmMksvQzZwcTVxY3hibnBPTVdxRU5CV09FUUJnMUxJQUJIT1Mwc0dNL2lSYUUzdi8zSHQ1TFdPeHVaNG94ME5mYVViM1hmVVI3UkxmQVlTL0VZS283U1ZEZUdWQWdFY2ZONUJzTGpGTWxncm9rQTZxRG9sTUNxamtjcTQ3RUphMDc0RGs4MG9Tb2lqQWFWU0NLU3RTWWdMR2hnTVNRY0w0c1dhdTBFVWJydU1xTnJKdzNhWkVRTWExNUtmRnFWbHZCd1B2b2FEa2ZubGtqaG9FYXNuQkpJRUhDUVpEeXVHZ2d3bWtJU2pZcURGZjREeUh3aFFoN1dlelNqQm9pWlMvTEZheWVFTVNQNFFUa0g3UTdONHVDU3FNTEZMVk1TUk1FaEl3QWZzRlVJZlppbG5EQ1FCc2lWSUFvc0pBQVFUOElEQkRVVXIxZmlsUGNyWkxIVThRMExsa0xMWHhpMWhSVTR4RVpTVWV4YWtpQ1V0bEE0RkFzNGFCVHpNRWdOY0FFQWNTdi9RQnpTc0lRa1RhREhlTUxoa09hY0JEbXZkUzZYTEJFclhCZThLTzNNVDViNlh1Z0owUzBVRytRcEdab2EyL01Ta0psc0N4UTl3MEFVL0VPRU5TYkNRaGR3Z2lDYVU0UVV5MEp3R0Fnbkd3a0VoRFR6UVFCN3k4QU54QmFzRUxQeG5FYzNBQnd6N3IzWG1ReCs2QTRlUnlBeXBWMUdheVhaSTNJZ0JWSllIZFNvREhFckFnMUJYeU45d0VMV2NwVUJ3YWtNQkFHa29hVnhad0ladFY2bDkzSnM0TUpIMzEzQXlDZ3BCSU1WUlRKTHVpMmhMU2lZeVpxbEczQWlYTktZTmZrZzZIRlRnQnluVUNRNWNLRU5hUlUyRXJJQ3g2MURBQUFaZXlibHZ5UUErT0RVQXhSR3lBTmNGOEE4ZmtVSFNSVkVUdGRGNkpGMnlXRlJnaWkvL2RWL3RIUVlnK1VZMEtRaHhDV0ZTT0lpQ0hKclFoSDViS0FsaVAwSFpNU2lFRmF4QUE3eDdnU0pmSUFhZlYybUl5QnNFeng1SGQ5Zng3M1ZSS053b1VDZGtQdUZqZmhmaGxVYXc2UnhHV2ZrNXEwSUxJUVlROHp6c1BRbHdXRUxNS2QrRXNGUGV6VVRBZzJSQjlRY3hCT0VOdWdnQzhsdGkraVJ4ODR4Z3VRSWZFTUlIUFVqRGRRT0VuZXhEQWRDeEdNY2hJcjhYcGpZaVd0QTBQY0FEZUVlc0VIY3BGT0JBQlZyVVpuSFFCc3hIZ00rM0FUSWdCWDZ3QW1tRkF4TWdBeTl3QW1jRkI5d1hMTDVrQUdBMGRDYmdCd2lCUVdhUWV1azNCYU9nTnVVaWFTU3hKUzZ4ZXpNaE5wL2xBeEx6WmIreERyRGdKSmVHQTBLd2ZtK1Uvd1RNMXdSdFJubGkxeHhvNEFkdDBJQVlFQVJpbDFZb29IZy90eDNpSlVvYzJCaCtjQVVZNklFaVFDV2ZZQUVTMEZmbnNIUWpnWUpRd2gzNmdUQzlGbittNFVKMXR3QTNFMitDVUdlblZnaEp3QVhNRndjNEVIWnVOZ2g5UUZ4cDlRWXlJSUViY0ZSaTBHV2U0bG1EWUFJR2tBZGxKQWhTT0FpUFUxT2Y0SGU1TjJzUVFZYnJ0aEhYZ2hSSldCU3cwQkkvUmpiQkl6N3djVHBYY0Z0TFZnZ1l3RjV4TUlGMUZtMm9WZ0pwZFFLQ2dBRnhvRmtFOEFhbHA0UTZRZ1NDTmdnTVVJaVhORWd3WlFIZ0FRa3RJQWg0c0ZkRmtUbzdrWWwzTlNLOThuN2JJUnhPc1ZIQmcyVnBNU0E0T0FnVE1JSDFBMlhuTlFIL1JnaEo4QUxwUmY4RWNVQjFka0lFS3lBQ0dEZFFCcUFIbFJKQWpXT0loZ1FlbTNVSXJqZ0Zmb0NHNmFBMk5zTUx0Z2dKV0lZeS85Q001ZklSeVBCNndOT0owSmhkT1BBRGUzY0kyTGN2REpabm1vTm5oQUFGYjRCVVNMVm9kcklFQlZBNTMvU0JkU2N4WktOQi93Uk13dmdDZVlBSHdQTmEzZmNKZkdKNzlCUmdKQmFRQXBrcGR4VUx6ckpST2ZXSitQSi9jSlFJVGdaSmJ6Q1JGd2tGRStBRzRRS0pTamNqNkZBVko4Q1JBNlJSQUNVK0gxa0lBOGNJVS9BQ0pYQTJqdGdMdVNkazFVUUlCTEVNTExFVVJCRnZOd21HTlNJT08xTUlHM1ZLTk5OV2FVQkxpdkJJWllCVVoxVUdka21SeUxZR1plQndvQ0EyWXJNc1cvaGFKc0UrTDZnLzJkTC9XbFA1UjVCQUFGY0FFUHdJREtXUmY5RUJaSVFGSC9oQk1JTHhVV3BKSXZHQk5zUnhtWEJuQ0hIcEtPYUdBM2ZXQ0Z3UUJ5L3dCckw1QWpqZ1JpNTJYbVh3Qjg4bW1JOXdGQUt4aFlsakZGdjRrczVEQUFDbFB5Z1FqZngwQllib0NRSWdCTlJWbVFIR0MvMkhBQXpRTXBxSk5oMTFoblVuaFdGQ2hqSFZhL00xVlJpeEg0U3dVd2xoQnF6SUJSYUpDQzlRQm5wSUNIRHdBZzAyWjIyd0JtNlFmUDlvQ1A3UW44TVpuQUNhT0R2QlBvL0RXa1drbkZ1MUNFRWtDTS9aZDdTbkRlYXhBT2JIWFpjRUlsNzFUYXJUWmFFNUxpcGpUeWI0REpFRGx4dlZPT3FvQjFjd24wYUpDTmkzQ0F5V0JHNndCdXUxQlB1SmY4TjVEc3FpL3c3SnVRNTRONVlOSVlLcmRUcmdKRTZqcEFnQ29BUXBkUUZva0ZKblVxQVB5ZzBFRXo0TFJDOGZLWTNCZzEyZXNYdExVUmNaTmlTOGNwWG4yVm9hODVGb3lBWUkySmUzZWFhRGNGUXVObWU1dVFhSzVRTk1lUWcxQ3B4M2dRUS8wQVZzZ0cxcFpTRm9KYU1tMFNTME5qbU5vVFlvaVFnbW9BRlVlcHhWU2p6Y3NGeGJnV0Vld1VLSitrMm5OQ0wvNEQwVnczaGZ3WlRTK0QxYmtUeHNZQVVwZXBRczltUXlVR2UzR1FkUXNBWnJJSWRxWmg5SlFhY3cwUVZ0eGw1SnNBUnQ4QU1yd0RTWUVBVnR3QVl6U2c4cjRGclUxVGlVdzVLS1VBZXZ0cXl2UmptTUdodmFzSVdCTjEzNlFUNFhTcVdWeXFYMVJTUW1WSjZIc0ZPRlVQOUVyTm1ldDFtUlJlbGc4MG1SRU1nRnVna0Y3TVdqL3lrUUtFQlpiclVFVVNBRWtiVURJVEFDT29BRk5aQUZOWENyd1JwQ0g2S1pudE9jaUpBSFlHTXVNa2tQTlVvd0FBRWZrNXFhRkNNUTZ5QVdUbGRGTWFVTWZ2ZFByWFVJQ3lBR0xSQndmWWx2ZDdhSFZuQ3VNbENLdEhKZXlxYWJnRWx2SkJjMjB2b0RiUVlIYlRBRmNiRUhPeUFFT2tBRFdTQUlUREMwUXpzRGJBQ0lJeEZCYWpnSUNHdW9Bc093SklZeXd2Q2JOcW9zQm5taEl1by9hYkV5c3BCNFYwUjRKTUt4L0FTdWhwQlRiQUFBb3lwMkFCQndaM1d1VUhDS1QvYTJLOENxK1lrRG1wa09Oam9RQmRZR2krRUhPK0FCRVpBRlJEc0lYa0MwVERBRGNIQ0pKU0gvQTlVQ2FIOVFxSXBRV0JEeG0zWHFKdmd4WnFXVW9JVEFNNi9GRWpBeGNwZDZGc2twWkRNUk9WdDFuTjlxZnJlV29oc0FCN0pacTI4RUJXMzJnSEsyQVZ4QXQwc2dzOE1IbkFoQXIzR2dBaHF3QnlGUUFVRTdBd293dUgvZ0JjWTd0RjZnYWp5eEx4WkRuS0F3c0trd25EY3hDOFlDRDR1anVZUzFGYVpTZHpjamVEUWpDeWFFSCtMMENDWEFCckZacXJScFc3WjFpampnaW5KMkFrbEF0OHhEZlhpYnQ3V0ZBMktRVzFvQUFRM3dCOHdMQjhnN0F6TlF1RXpRdkRpUWVEeXhGdm9sQVMxa1pBNmJGTUpSRUZkd3dWY1FhWmNVd1lZUUdaczZUaC9SRW1scEFCY3NHSnhJdG9oZ3RpZWdPVzdiWXNnSEJ4dndCaE9BVlBrVy8zQno1cUp1a01OeStBTy9PV2o5dWI5dG9BUWhvQU5CT3doRks4Q0NvQUE0TUFORTI3eUpTNzNic0M5Nk42d20wclNqQU1WZ21SVHZJSDdjV1U2andiMEFKVGtmZ1hISFJHYWx1ek5sNHpuZ2k4YmN1N2xkQUhDU3RJMUZTWkVVZVY0eVFMSjVOc001N0FZcklJZjhpN0d4Q3NSS0lBUTBJTUNHUzdSd1VMaC9NQU00Y0x5SXZNQllEQXdQR1FSRW9BUUo5Mk54eWhxL09RNGNiRXJSa0tDSk9xaW9HNzVqaG5IcEp4WVlWaEhybU1LaFdJUVorUUpwd0FXeU9jZDZKcHZYdGdKdW9BSnR0Y0NDMEFWVWF3Q1YxUVpDRUFJMGNNaUhyQUJNZkxnSGJMaU03QU9SekFoNzRBbU41RWo3WXNtY21JWUlBTG1OQUdUUExBenBNdjhjblV3Mi9UTUkzM1NHa3ZNNG1idVpCcEc1NmZjT0lKb1hzc2JCeDhSZVpXQUZlWllHY1FDZnN5eWJmN0RQc2drRkw4Q2ViVENCaldFUVl2QW53ZndkeFh6SVhxQUF5R3pBY0dDOGdvREFSWXNERkdwUWtLQjNqaFFFU3NCWFdmWU1tY3dJalNHNThEY21kNGVhcUh2T3EySUdPeU14MjRPNlpTTU9GdnBOQmlFT0xHMHpHZ1FmSFhzSTg0WldhVkNVOVpNRVArM1AveXhKcjFraGFDVUdpT01VWFVCZ3R5WEVDOTNFakt4V2JQQmREYmpNelF3TXBlVUlTcUIzTEtBQmFEaVpEZXNKamZHcXQ2Y09wL210WTd1THMxQkJMbjIrWlF3UGtKaCsxanBPdXhnUGJTeEFWeEFGU1ZDVXRKSUVBdzJiYXFkMlhGQS9mangyM0VIL2FPekZ2eVV3dklZOHRFcHNXVzJnQW9QOEFGc3dCbDZRMlFyUUFnS3l5QTNaemIxZ2JFclFwUElCQ2xrQkMzZDdENFFaTXJYUU9vZ3d0b2kzS2gvaHZmeUR1cDRLZCtPa1FiVmRDR2tZUG9tZ0J3d0FCN0I1VmtpZ0IxR3d5dzNZZ0hBUU5IOXdheFRjQlRqQUJsSGcySThkMlZ6Z0JEYUFCeUZ3MllKd0JONzkzWUpBbTlVd0VpWnd6cVRCZDU2aHVBMUJtSkhoRitMd3JPVGNXdXNzemxZWks4aW9pNmc5enNDVE9xZWJVN0xHQ0VPSVZqK0Fmc3JUdTExUVZMa2FEZnRnMFViUjB6L2dzMFpjMFczQUEzNnczV09RdkVjd0J4citCOStkNFJydUJXZDEwYVJ3eCtuREFsYThDSGs5Q3NvWWllTUxEOG9RQzBiM3BSdlYveGpQaW9iNkYwNEplamo2N2JHYWk2R05zQ1pwUk4vY3laMEVCZ2RuSWNnZVFBak1HOTBsNEFka1VBRWQ3dDBiYmdoejROMWVrQUNmalFwRVFBUXN3QUpVd0lpTmNKM1Mrd21nczk3cW9JdzR6ZEpaZTRhbnROTUN4TmFtdTdsU3VEZ3kzdU1wSHE1MWw3V1RxZ2NhSXpRRElnUUhVTVJDeXdSS3ZBUjFzQWNlb09GelVBaUwzdDJHSU9VZ2pnb2FvRGJtREptT01BMnBMV3hBOGhEbjhHUGVKczZnaklabUlERWFOS1dHc0lzR1lOdCs5YkVlcTlha01MRVdvQWNXRUFWbnRRUktzQU5Bb2VTSCszOVpvZUVWc0FVZVVBR04zdDNnVFFpS1hnRWFVQ3dEV3dTTEFFeGI5Zy9hekFoNUlCclFPZ290ODN2MmNBNGNHOTg3OWY5TnowQytmQkUrZHM3cTVQeXR2akNwRXNvQUtsQlovVHZFaGxDMGJORGtha0FET2FBQjBwY1YxSzBJR240RUllQUhTa0NCcU1BQWovZ0pmSEF6alRHa25zQUErWEU4SVYwUGlaYldDZGxhWk5NbENIREJDQUhqT3k3aitFQ2wzYm0vdUdVQ3VZN0VnejREWWhBWFc3QUZOb0JCbzFJMGZvQUhrcUR2YytBRlNvQkJiZURMaTlCSU1xQk45UFFQOE4wSStRZytvWEFGNXRDUEkyRU8yQm5CSHd0UUNLQUhaNWpUNll5YUc5K0pzbDRDMFAzVU96QUVnczRFeVd2SWE3V1NGVkFCaGpoRHR5WUlTMkFDZUZBQml4RHp1TG9FNjg2amY0RHpNckRWaXZCbnp5dzVGUGNKR2VBSC9uRG4yWDcwVU4rUzFhVjZIMGhNZkU4UDVXei9BV1pBcjNEdzRPNWVDTXJMOVVtUUIzc2c3Q0ZBY01NNkNMZFY0V2svQjVHOUJFbkF3SWNBQUkxa3pRaXZDRHlRTGd3UWpJNlE5d3lnQjZGd05nc1FaaVV0SEFpWkNJSkZUT0g2VDcyZzZvNVF6cktlK0xWcXIwSXdBalZ3Q0ZxdkFBSzgzTCtGOWpUZ0FJRmtBbXhBQ05FdFF5K1BDUHVPVm12bHA0Z2dCSHdGa28xQSt5YmdDWGxRK0lnZ1dUNUIrL0xNMnczZkMrYXMrNHBRbFJLSytMNzZYV0pBMlFkQXZJbUF6QUpzdER3QUNEWi9neFdEZmlXRGlYODRRbjRoaXBDRGMwYzRsVzFza1lwWEZneVpubjhaVndWWGZwK2VUcVdtcXF1c3JhNlJDRDRHclJhdnRwby9LbGNMdkJhK3Y3V0tDeFpYSlQ5TG1EaHhTeXBLL3c4NldhcE1jRjVNTTNDTlkwZURXNlYrUDVFNEpYNTVoWjl6YzNDVlAzQUluKzZERXZLc2RSWUx0Mzk1K1B2OC9BTi9CbnhzNmtjd0VoSTJPTVQ4S01IQUhxOEZETXlZS2FHaWpaaGtPTmlJV1ZIaXdZRUswVmdwbUdFTmpoSThZTFp4TTZRaVhCUnk1anloczRMamp3b2NLRlRKbTFld3A4K2Z0cENJUUhBUGFMOTdLaEFtWENKR1RKSWttQWJCMGJqa1I1UVNWRHhVcUdITEM1dy9Da3ppcWFCU2txQS9HcjRtcXFRRXBpbDBNeEtXd0NuQlZGMmplUFBxUlNEQ2dDKzkrL1F3UUNLbUVnNDRWWC9rd3VwUmE0MlF0NmFORkxlbkVMby9LajBZV3FFSVI1cy9mbXhNS2dzSlhZc2tQRlMwKzNNWHNPdlhlSVh1OHRRSnR2K2lYMy8wL0NuaEl3a2NCVEZjMUtCQUFYTGtRUXJDRHNJUkJjOFltV3BZUG1WV0I3U0FTVjVrem1uQnhvL0Z1anh0aXg5L0MxNGtCaElHdFA0RGJCWHVWZWdsTkFUbThFcVVTNVZtekZEZ3BSb1RKcDRBbUlnQ2Y4d3dDRlIvd0NHR0QwanNNVWQyTXVXUVNCNzZHUExJZzZRcGdrNVlGWWlCUkNMcnJWSWhlU1M2VnBkNk84a3p3SXJxelVjZkp3d3djRVdLTWRKSDI0d3J4dVBpTDd6b1lZRVp4N0NoVGlKd0ZHbGtrWjVNdGNRZktDQ0J3RDk4ekJJSmFYTnM4VWdpZnV3ZzRTUUVhdWNGRGxVVThFZU9JWm95UUcwbHB1a2FpMnl5eVZxTU80MDU1aitReUJjam1uZnFkS2N2Y0lhSFFKTS9kTkhGSDRJT091Z2Y0SHovbU5NZjdxQUpZaUxQdlZYSUZoWEVOSWNxNkhqVnhZYzVPcXJLaWlPcUtlcW9wTWF6VDVtRElCQ1FEMDlFK2hNNlZmUTF5SXJ5dVRJQUVvdVdxdXV1dk40eWdLb0ZpTUNxcS8zTU1VWU1zczRwZ1FVbm12ckpBQVVVVUYydjFGYXJxNmVRRElDQ0FjRU91NCt4VDNTUkxLMS95ZmtIdG9uOEd1MjAxcmJyTG1Db29wcXV0dHdLRzRNUnhIN3kzQk0rL0ZHQUFmQ1FXMjZucHZDRkJCL3ZKcXl3VDU2ZXlZbThzLzZLUkwzQytoRERFeGhuL0VRTVB2aHc2QjlPcGl1Zkw3WEtXYkluS0lpQVFsRUx0K3l5S3d6UUtmSjhNc3JMSmdJVFI1dUltTkZHYTRBQkg1NmI1eUFQSy9JUGVxWUlSZFRMVERkTm15Y3R1Z2duMUN3aS8yRDExVmF6T09kc2lpQnQ5Sm5vS3BLVGVVNHI0a1RaTG9mTlpweXZ5SnpxbkNoS01HTW1VYStTTXRsbys2RTMyZ3JYRlRaZ1duc2lEN09zOExWeU1HVnp3c201a0Z6Qkx0K2xYa0Z0ekczL3kzTFp1cFVMeWNSL1EwNWlqbWlqa0N2a2x3dERkQjZwZUs1Nm11Q3RiZ3A5Q0tmdSt1eXVQVWw3SkM5R2RQdnV2TU9XZXdGNDl5Nzg4UHU4dUlBWnlSS3YvUEtzR005QXNNRXpMLzMwOUMxd2hRSEpUNis5OVBSZElaUUlZbTR2UHZQMFlTL0MrUVVFUGY3NnZBL3p5eFVTcVhxK2xPelg3N29mMWZlU3NnanEyKzgvM3kvNkJSOGtZb2IvR1pCdm5RQUdIMlIzd0FZMmJSaURRSmdESjRnMlgwaVFnaGhrR2g4dW1FSElCUUVDQUNINUJBVURBSDhBTEFBQUFBQUJBQUVBQUFjRGdIK0JBQ0g1QkFVREFIOEFMQUFBQUFBQkFBRUFBQWNEZ0grQkFDSDVCQVVEQUg4QUxJTUFXQUQwQUZZQUFBZi9nSCtDZzRTRmhvZUlpWXFMakkyT2o1Q0ZBd09SbFphWG1KbWFtNDJUbnA2Q2s1eWprbitmcEtpcHFxdVZuNktzcTVRV0ZneTF0WU9nc0xxN3ZKMjVoTFlNczhPendReC9FcFM5amNIRXQ4dlEwYkMvdHNURHhoSVNwZEtMcjRYQnB0emk0NUhOenJhQzJhYTVBOW51Nytya2l0N3k5ZmFGMXMraHJ2RHVoL0QzRWlrTFNIQWN1bjJlK2hYSzFtNVN2M2NEcGRFclNKSGdxWGVFSHJyN0JLOGRMbkVJSmxZY1NRNmpNb2J0TlBxN0dBOGp5V1FlU2NxRUJST2l3M2pwWE9LY2lVZ0NBcDVBTjZWOGlFdGgwS05JZTdsRXRqU3AwNmU4QUVLZFNyV3FWYVhGcm1yZGlrbUNzR0xhdUlvZG04anJWMW9NeWFxbEduR2gxMnZILzliS1Jab3NtYUszeFJqWW5jdVhwS3UyR1Jrc1dIQUZTZC9ESS84Q0pwUUVzZVBFcHhKMWVVeTVzdVhMbUROcjNzeTVzK2ZQb0VPTEhrMjZ0T25UcUZPclhzMjZ0ZXZYc0dQTG5rMjdOaVFrWVczcjNzMjd0Ky9md0lNTEgwNjh1UEhqeUpNclg4Njh1ZStmemp2dmpJNVpXRzdxbHlWWXVJNjlzdlh1Yy9jZStnNStyY2hCd3NyTFhZemVnbnJ6aXRLL0gzdStQZnY1VXlmRkhiOGYvOVg2ZzJ6bm4xYS9qT2ZlZ0ZhRlJBbDcydldISUZTUkZmTFRMRmM4V0JXQWYzeGxJWVRyM0pYVmhrK0p3dUF3SUlhSTRURGNsVGhUaEllZ3FPSlJyaHd5WVRIUXZlalhPaWQrYUtOTU1mWjB6WTRyc2tqSWpMUUF5YU5EaTN6bG9ER1JGZzJ3NUNGOCtNRkhPRXhTTkVBZVZWNjFRSlpjZHVubGwyQ0dLZWFZWkphNTQzMS9oR1RtUFhwbEJFK0ZxQVVDQUNINUJBVURBSDhBTEY4QUpBQVNBWDRBQUFmL2dIK0NnNFNGaG9lSWlZcUxqSTJPajRkVVRsRXFLZ2FYaEU1VUFnS1FucCtnb2FLanBLV21wNlk5UGlLc0lvZXVQaXBVRDV5b3RyZTR1YnE3dklVakIwTXFCWCt1Q01Zb3lFaktTQWFySWo0R1RyVzkxTlhXMTlpZ0l5TWVCc1FpQlVoL0V1TVM1dWZtQ01vRkJTSS9tNTNaOHZQMDlhYmJLVCtzQlNnSWZ3T1hDaGhBZ21KQW9YTW8yTFZUUWN1ZXc0Y1FIZXJRNFNGRnUzRCtCZzFRRnhDY3VJTVNFQ2dzNE1OSmpvZ29VNnEwcFNORkNoMU8vdkF6dUVqZE14UWdBZkl6NEk3S3lwOUFneXJTb2NLSER3UVNhSlk3bHdpZ0NBTktseUlwZ0lCbkFaOUNzMnBGT1VRVk9KeURPQTVjcGdnRnVLam5tZzB3V3lEZTFyZHcvNjNsRWZsVjBGcENyVmdKb3NxVUVJS3pkZzJTRS9qSHJBRzNjUk1yTnFYa3lqQWZZS3NPWXFjQ3pKOG5Ud1JoUm1CbWdEbERydXlDL1NQU0lKS25mNEFzWHMwYUVvYS8wQXpTZmFaaXl5SExnOENBY1lJZ3FpRElncEJrL0lQSnFRRS9yWk1yTi9UQ0c5UzllbkUzR2pFa3g0OEN2djhnSVFjd0kwQ2FQRWN2SDc5NGdrd1JLQmhJWUt0Q2xIWHNJTW1wRzRSaWUzQVI3Y25yVHl4R1RCeGs3UGlqUlNnbnZlZmJaNFVOOXc4NXhQM1J3MzRRYm1XRkZYOVlFWWNnR1p3Q0RZT0NNUFdkSVAxd0dPR0lXc0VoQ0JHM3BQQ1VpRXoxb3hHQ0pNWW80eUh0ZlRSSVg0VEFPT09PTXc0akhvNEQwQVFqVGpIeDZCQUlJQ0FDUXY4R1MvNXhBd0ZHTHJJRllEY2lpQUJZZlVuQVRwVDJnSERCbHhjSUlBTUdVVVJod0VncU9LRkVrbHdlVXNLS09UTDRZVGxoL1ZGa205UVFRQUFSQkhpcFJBbFJNT09ESUsxQTA4NCtCa1NoQko2RW5JWUNoMGd4U0ZDSENJYkVBS083NE1FQ0pULzRFTVVGVHJUQ3ppVmpGWlFPQ21mKzlrY1VtRTVCWldHZUNTSlNZQnhlb1FRTG1OcHk0UThHZExIUE1DRVowNXNoVjE1NXpscXAvdUZEQmhlMENRQUdjSkwyS0hkVVVUcUlHV25BQUVPdXBTUkJLRGdERGR1SVRpSWdJWmc1YTEya1JMTlJRdWtOVFFPWXkrQWxERmhnUVpDREtKRkREbEJ3RzRvWTRQZ283a2IxZmFTTXFTTCtNeFY2VlRyMUZCcnNHcWxFdVpKR1dsai9BZlV1WUFaTzVLeW54QTMrZnVMdEVncWl5azVvUmhFaWtLbUZHTWRoVWxVOVUwTEVQSjVKVTFXZkRWQ0FHUXRZd0lBMzVRaEVjOGlNV0doRkVzZWN5YzZnUDZnUUJRdWJWaUxNS29tWUJaSk03VVFCQW1JeVR2eW9JQVlnTmM1QVBTK2dUbElTTklNRzBhREV3VVovU2Z5QXh5SUViRXBmd244QlRlbFVXVU5wSkRzME1jUEE0QW5aYThFVlVFbkFnRm1mc2gyS0RJTGd5Z2prZi94Z0JvNkZNVnlsMHA3NnZXTjdHVlYxNlFKWCtIQkZ6eGFFL1FmcDRBenRlQzhFS0hHNWlPL21xRE1tVVhCTlloUXJtbVBBNlQ0UHM0QWdaaERpeloydlcwTkFaNFZBRTZkSUlzWENJd3MrWUd6QkFpNWVmd25xUHd0aXRqdEJKSjhOLzN4NHhabDIyQ0owc2NHTWIvelJ4UituYXl6TzlZWGJpLzBnREF3amZqWWJGZ0swdUNqd1Fid3FSemtacVFBOVBidkMvRFJXZ0N2WXIwRis4TU5wOW9lTktaREdmK1J3MFQ5bXdnN1B4WWdGVCttWmRxNnd1am9Janc5OFNCMEo0UWNPQ2w2RFZ5TEMxd0RCSmc3RzhlZ0g4RnNkQ29vWFFhcEVNRGlEeUVNN0xPaENha1NCZkpRaWgzQkE5QzV3Q01CMSt3RlZ1ZlR3QnpPSUk0SUVxY01LVi9nSENib0Npa1cwQmZVTThMTFBYTWt1UUR0TjQyUUVBbllneHdRR3lFTUUxY0dBak5UQkczTkVUUmg3MFI2MHlPY2pIOUpaQVpnMUkySFVBV3c4aU9BVkVGQUhGRVRRRHdZd0F4ODAxcm85OG9KM2VsdktuTUltSHhFZ1QvOUdLMFFDRDVGVEJ5VEkwUStqY1l3UGxLQTdTNktpZWtwaHloSVROSzgvZ0JGQ1NKaWpJeDhwd1N1Z3NIaUNTTjJxWExtTEEvNklPL0NLRldsQ015TWNMc0FQVnZ5RDRSWWd5Z1RtTUhQRTNJVU1vcldVK0hESktLZERuT0hvaDRMaFdXQVFGdmhMTlM1d2d3eFFBV3BRMndUSVFuYWRXQ0lJWDNUaWtnZ1FzQUFHSUtGZTlxdks4S2haVGdib2pCZDlBZ0d1NG9DRGhqbzBEdSs0cFpGNE41b2dNZWlNK1JSRWZtTDBGeVFNNzUrR3E2TGVKSk1VL2VtQ0NCaTQwQi9pa0FRdS9PQUhiUmdFRGpEQXJmYjFqelJpSXczUVlPU05WdXJuTHhqRG5nUHQ5WWVmS2U2Q05QSFJMZlNFQVJPeG9RMHNNQUVlSGptSUtIZ3JDUjcvNUZJbjZpbXJhZWswaWJJYVpveDBaanF6RGRWd25FeUs4UXB6aXlpSVFhTnlES0lKTlBBSEtVaEJFREgxVngrN21yUG5aTW1rSkRMSVBqWEdNM3NOYmlBZDBwdGhFamFLdHdwaVVZeUEwZ3RPaEtrM2VXYzcxREtJWnhpVXRvM0dxRnc0Tlp4NlVIV09TUzJUakxmd2JDT2dBSUEvSklHSWJmSWFkOGhJTFFSY0NrYTNxdGsvQmdEUVMrRk1QaG9SQ0dNL0lZRWwvRUVNUEFnRkZOakFCc0R5NkFKbzZOOTNxRlZZdFQ1V1R6c3lLUU91TUxoL0pFNWhoUGphS0NRd3FDWGtvUkJRNkZjajBLQ0J0MlZ5UnlDSUxtcUpJemFkOFV4am96RURkbVBrRGZqdzFoanpFbHRJcWpUY1I2eEhFSFhvd3lEU1c2RXlxSGNSZmxnQy94eDR5NlVIVks5amFkVVpQMzBtRG5Mb0YwVXhFZ2NTendZMjhacXZ3STJRUUJKd3dBTUhMQmdLRUZYQ0QrRFFQa0tBWUUrRGtFRWVScVpCK0ZLdkFHaUw1UEMwdE9GTGRXZ0FQNWhzajVSQzRzTFF0cHZvQ0FWNS85QWV5S1UzQ0Mvb1FoN2tVQ0Z2Q1VJR2MwTXZDSmFBQXppVVdUd3lpaTdHRGx0WW1XeFlWdWx3N1FsaWhKT2oxT21pUU9ac3h5d2FDbkVZOXc5UWVNTUprdkFDTHdzaUNYQlFiMVlIZ1lFMlhNRUVRakQwakFSQUFIWmtUSlRTek4rYjAvcVhINFJQUnZ2VXlIeExvK2R4VkNVN2lEQnloeHdyaURkWTRXMHJMb01ndVBDSG1RS2Fyb1NnS3hSZXdJSWJnT0FHZitZUkVhcDM2ZUlGNzgxZ29hU25DLzhZb1ZWVTlEa2J6S21WL3VFSU13RHpnbC8rd3d2Z1FOYzF0TUVLVFNBRURyZ2dnN3NTd2c4eTJQV24zNEFESEJxSjJPZEV3VkR6dDdwelpvUjBQdmdCRVppOUg1MXBEbXoxNVl1MUxxZ2dRZ1JKTUFraG56ZEtNQWdyc0ZvUU5DVkVFb0p3M2ovd29BMXQ0QUVhK3ZWcHQzRUpodzRjb1dGM0pzTGg1SzhBQlBnMGlmNU5IUEVDeXk1eWdneGpvd3hVK1BpRDJ5QnV3Ui9hVUlad0Q0TFdLLzFEdWYvUTNrTnYvQTlCSU1BTGNHQWpIaDJRWjlyaEdSK1VWVmlONFk4a0lJNVNmZVkxcmJYSWlUQWF1VkkvTm9zQVo0TnQ1NFJvNmgvZzRQTS90RDBKU1lCQ2toZytpQlVFNGFxTWFzOEtmNmNIUCtRdmZzUDdBd3BsTXFQL3dVVEZINUxDYkx4eUpoQ2FKTVFWKy9ETVJuTDZQcm92MkxVL1Yya1RUUFFIS0ZrZTgvNVR0WkgyZmdWRkZxQU95S25pV2lVM29yVFo1ODVNUk5kM0I1TVVxL1FqWmxDUnZMZ2htK09sMDFydFpXaURTcEh1QnlFUTRnVkI0SUpEeS96ZUhWMktEd1pJcEI4Y0E4MUQ4T1NUKzNHOWlIQW1xeWVyYmpKT1NjOUFGOENUM3ZoR0RJdCtnNWtiV3V1R3lub1FhT0FER3dTQmd6ZklnTjB2d01BYkp0QnVMbDBxRHdiQUFCRmtSWFdRRVR3UVIvZkJLaHoxZXQxM1VaaEZYeXBUZmlMa1BYL3hLRUZpREUxbkNHK0FhSEZ3QW0vd2dZYUFCbTNRVUVBbkNIRkFPVllRYklWa2NYNXdSNmpYZ2xxRUFNaHhnSUxnUlU0Z1VjckIvMmRoTVY4TFFnN2YxeUNEZFU2RDhEMDRRUktzOEZaNWhRZ1BwZ2dnU0FobXRuWklZeVMrWWdaNmdEaDh3RXZHRUVFSHVBQW94RjFaZ1V5S0lDVFVaajRHQjIzV1lnQ2pVVU9CUndqZjB3NHlFUkNnOXdodmdBRVJod2h6U0dzNFlHSTdJZ0tuWXdiZVlDOVh1RU5hQ0JlVE53NkxjSERvZ2svZEpHcCtSQncySWc1dnhvYW44UlJtVUM5VkNBY251Rm9ZZ0dqc3AyU0djQUp1c0hOTWgyTDdJUUQ2NEV2Uk5FMUNwbnBUcHhWbDl3eTVod2hvZ3c0eXRGa0o4NE4wd2d6MGdXMkZrRCtEaFRvK3d3WVUwZ2plTW1jbXFHMGF5QVZyOEFkbGtJZWt1QitueUFmR0lFMzJzNHFpcHhVOHdRcmI0UnNXRlN6Q3Nsa2drbE9Ed1A5SlZlSms5TUZ5M21NWXdIZzl4VE9NaStBdEQwWTVuTGRnSjlBdmE5Q01ldmhCNElROXhrWlV2N09HaVhFbUZ0Z3l0ZWNNKzlCMTJuR0w0dmdaQ1hHTzVjU0dwY09INnhoNDd2Z0p6VmhqcmFhTWY3QUdjUUFIQmRjanB5TnY0L1F6WEJRWEhYTXM5a1FYSTNFb3NjaURBRmRHcEVFKzZzaUdQR0VBNjJnL1lvQURTd2dKUzRlUnU2WmVhZkFIS2pnanJOSkFGcEFlSTNsdHEzRnd5clJiN1NCdmd6TTRkRkVReEtHUU1Ga2FJQkpDUTJnR3JBQjE0N1E2UDFCL29BQUZGOGxvWmJDTW1PZHVVWUlkYXdGUVJHVW55ZEdObEJJZUN3Q1FlZ0JVQm9GRUlOS1U1NENWeXlSTlEzZ2FHSU1JU3NrSVN5Z0RLMVpqVUJCM2doRC9pb3d5REVIaWxvd3dmYTdJRExXekVYcGtDUG56T3pJaGhzdEFsWnBFUHVwRWs0T2xDRmF3azRhUVhwNllYcGo0WlNlZ2tXZzNsRDNTSUlJQVVLbVhDQnB3QmFpV0VwTW9La2pCRTFCM0NOMVZob093RDRoWFc3TENUT2s0bUtuV0JUZ2dkSWJnTFRRVkJEVDFBcEFqQTgxb2pCdm9tSVBBZ0VaaUk1ZHltMlh4akE1aGU5WTJpYzFRQUVMSUNMMXhFYmRuRmJhb1ljbFpWTDJZQ044akFtS0FrWVBBVUlDbWRuSHdnWk1WQi8yeWF4Z3BhMkt3bTUrRlpvN2duU2toQVlJSmVKVGtDaDdWQ1B0VWs2TlRsNmZSWVdzeEtEaVJOK3ZaQ0R6Um1wOVlheVlTQit2RGZrbUFrVW1vV3Zva2pvK2dvQkd4SHVEQUFCTkpETm94LzRHSkVCN1FRS1BVU0VsQTVtK3RVQkF0OUFpT0FRY3BlZ2k3UmlHeXRwZ1FONkN2aVpidTlqNGYxNW1lY0VjSWFnK0RVVmJqUkZSc2NZMnJVMVRQMXd3OGNUckJOSEoyVnFGN0lValg0ejJMY0NtSjlnZHpHSlRvdFFqdjl3ZktKd2h3NEFQa0NTRkFKcDZNVUVkN09nOW1zV0VmdWpwWHdBcjhOSVNMb3pTL2s0M3ZWWTNnSUFLU1JLT093ZzVtSUN3bGFRalgwd1U2dDJ0eFFJZVBnQUZsRUlyYzZXNXNjS1dQTUk5YjBYeC9xaU1wMFF4bnBabnRNS0dyNDRzQkV6REVRS3ZvTkR5c1lKUFM5RDNNMEFxL2dRQ0Z1cXRrVm1nemhRRTQ0SWxNNkdEY3FSMy9BQWZ6NXdoTTRBWGlOZ2d6d0FSd1lUcWVzQUNKcUJJbFpmODliMWtJN2VDcllQTVUzTFU0ZW9GQWhHQS9qbEdhN1BnYkh2RVJwWGtJQ3hBRm5QY0NEL2FwZ0thQi9Wb0dYRENQQ3NJR01Fb0lUS0FBZ3lDdGNLZXFNNEN3Z2FXSURkb093Rk9zMUZRdUE2Vk8xM005MkFONXVrcU5Qa01NWGhtaE84T2piTGdJSmNBR05KVlhaRFpyTzRkeFhNQUZoU1p1UCtBYno1a0lYakFEZjZCelVTQUVQQkFQUitDRTlDY1VCYnNJVTdjUnFKb05HWFFtUVRpdStDTnZ0VWtTRTR0V3hOQjg5dkt1SVdzV2tncVFoNnFleFRxRUN5QUdSdnFjZENkcGhvQUQzZ0lISGhtb1REQURjTEFFbjdjSVhtQWlEQm9SWHVvSTY4R1dLUEY0ZW1FQVgya0lnY2M2dmpwT3BITVJtWG85ZnlHUjQ4aXU3V3IvYlYzTGh2aTZkcDVWQWpqVUgrN2pQbUxBbGtaNnRJS2dBS3I2Q1hBd3Q2eVJObnBabnRxb3Q0WEZ0SVZBaERnYVVNU1FxR3hvQnZ5d2xUTnFyNDJidWxkZ0JtU2FDSHBnQVFFaUFjNUpyVGliQ0hQQUNFZEFJUmw0RFJiZ3FxUGdHWTBIRVRKS2NvTTdvemhhc245d2w0cUxUdGNqbUtJM1RXdFlzZVphRGNqZ0dUK3dCR3BwczhjbENMWVJDa2V3WWk1NkRWZWd2S0tnTThkYkR4S0xPdkJ6RWNFNWhPbGttYk1La09qa2k3bUxUcWw3R3E1ckRiSkh0b2ZBdWVYN0J4VlFBY01MQ1Rwd1hBK0hEWHlBT2FCZ1pQNkFBcldMRFIwRmpLc0R1N003aElqRFRQdUF1b053dTNXcm1aV0lEUXNBRUkwUXQ0WldBUUt3QjZtMy93ZHFRQU9PNEFWMHBRRTR3S3JWb0p2RENRb1ZEQ0tBK1JBaGdVQWhaYWlYd0VVKzJnL1dGa0NNNEwrS0lNVVI0UVUxK3djZVVBRXVKZ2lXdHdlTzhBS1dKNXZXNEJqVVdBb2JMQTlsWjVOSi9LV0ZjS2dCMkwydzIwQlVyQlZKcUFoWHZBVnpZQU9Ka0FmcHV3aXNsZ1NhMnhSVFVRY1A0QW5zVUhxZndBT0hGQlNuY2JyMmlRUStRTExCNUtNcHJCekJ1OFZxc0FnNzBBaWNKd1pzTUwrUEFCdUp6SlVmV1cyQ0Z4U1hzTVorZXhvaFZ3anBGSUFSTWdOeHdBTjYvQWNQWEFxZW1BU0RRZ3EraEd1UHdBT25Gd3FMREJRaHdRL1Rhd2hYc0VOZFc1Y2pFZ2NaUWdoaHBnaVpEQWtJREFsQzRBZlhFODJPRUFXVnZCeG1rZitwOWhveUZhRE5pS0FCdCt3SVE5c0llWERNamtETytqRVkzOHMyZEdldGdsQUJGYWNJRG9ERDJhUUxaVmVZM0hMRmYvQ3pneEFDakJCbUFvMElPaWNJcHhySTJiUVI0TXcyUC92QTQ3d0llMUFCZjBEUGlXQmNVWENxWTdqUGh5Z0JKaHhNOUxDR2VjV3Nwb0RSaG5EUWhYQVNpbUFDZ21EU2hhQUFMNEFIWFFBMGd1SFJoMGlmcnF6S3VtQllZQnFWcWdiS284QitndkFEQ09BQVl5QUtmbkFTQ29EU2g0QmNTNEJQNmtFc0JlREwrNndVNmVxV2ZhdXBXN3JWaXVBejJ5VW5UTW1VNkpMT25nQU5vNUY2SDdBSUZuM1BYV1FDbmZBQ0NaMEluQnNEbVRUVi9zT0hPSzBJNkFEVXRSbVY3MXNwZnAxRVVSYUdZejNXcUZEL3JKRGNCUzdRQ0Z1UUEycVFBeFl0Q0NxTjBHR1ZJNFdRTjgrMDEzaXlYWWt3REVhZ0MwYXd5eHBoaUg2QlFIUE0yVEZpVUlvZ0RxUjlDblB3QksrOUlLSW5HOFpzQVg2cTJqSnlLYWc2SEYwUUE2VlFQVTBYS3l6aWczeHJBVzZ0MnhFU0ZlZGtYWW1nRHM1MXpvZ3dCa1lRMnQzWk1nYmhwU1JVZHNDajNDU0MxeDF5UFFhbHVXRGhBMUxxQXpHUTN1cWRNcjVpY0FZWEs0VjYwekpSVG1mczNheFJ0d0NsbXdmWENQVVJFRnRpVXQ1Z1dvZk5XeVlNMHVPb3h2WWRJU0E5YzRienZvak4xeENMQ0xZWWxUN2RNanF0SGRhekhHK2I0SlVNMG9ZMU9BemRDRm85T0FtREw4a2JYTXV4WFY2WTREZmlNN3RwRGdDVkRaRjVtVGdHaHdDdHZCb1Z1ek9GcWpHcFRVejdyUkwxa3FtOVVTL0pVVWVTN0QxY3VUTXNuaExnYlhDQm1oVnpJM3I5ZEJFRnZPUlczcVpXRWNDRDRNNVh6dUkrd3hNK2tML1kyK1ZrZnA5VnZwVmtUdWFPY2VhVC9CZWxuT2FxYlc1VWJEK0xCZWQyN3JIbmhJNTNidVhUbE9SdnZ1ZjJQVTQ4QWVod1R1ZmdJQzZFM3VXSFdpNC9udWhMVGpwb3FEZ2Y2K2hXM3VPVWZndUJBQUFoK1FRRkF3Qi9BQ3hYQUZ3QTJBQTlBQUFILzRCL2dvT0VoWWFIaUltS2k0eU5pQklTQXdPT2xKV1dsNWlabXB1Y25ZSVNmNUNnbnFTbHBxZW9xWlFEREtxdXI3Q3hzb2FSRWhhM3JiTzZ1N3k5aDVBREVnd1dES08reDhqSnBBdkJrY01NazhyUzA5U053Y0czZjlIVjNOM1UxOC9iM3VQa3U5ZTJGdHJsNit5dmtuL1A3Zkx6cE1Id3hQVDUrb01FaVdhRGtQN2dVcmV2SURzQ0Z6S2dVYmd3UXdZZURDS211NFZQbk1HTDNOQm9vTWl4b3lCaXJTeGlIQ21OQjhXSUtDTUtpbmhsa0VpU01IMXA0TEZTbE0yYk1YTlNNM0hyeWsyY2hZenBIS29MSDlHajQxUXVrdlFTcWRPblVLTWUydFpVcXRWVVRLOXFIUlFFNjZSM1c2MEc2UnBFQmhGVVZjTVNIZnVuckF3cXB2L1NxbDNiMXEyU1cvOHlnWjI3bFlqYklCa1c1T0pMK0ZJUUlqSmtzTkFndUxCalNua3ltR1dSWWVCanJXd0ZLYkhFWTZQUnkxb1RCMUd5MFpJZnBhQzFvbm5iNm5QcTE0UlcvUEVjY2dHbmxyQ2hXaENhTzJ6aXhGQjZDeGNrZ3dDTDQzQ0g1NDZpeDhJQzI3YVZ3L1lwNms5MDZWUFZJZ2lJWFZFeHRTVzZMN0kxZU81ZThTdDNvMzg5alBmNnd1M2ZYMmFsWHY1alcrN3R6NjB2MVFBS0JQcjl3aDlVRWpRV29DSHhSWVhmZ1lmY2t0OVF3ekI0eUJVT1ByV2doTFJrZzFTQjVXRklpREFkeGtTZWg5NFI4MkJCOFpDb2lEQW1uaWdQT2k2cU9BaUZ1QlFUWXpjc2hpamppc053aEZKMU9MSTQ0STZPZ05qUlNUWW1JOEU3RlQyYVNDUW5OakhaSkpJMmNzZklqVUVaZVJLV1Qyb2lpcFJISHBuU21EK0trbEtZSUhIWlpTcG1qb25tbXlDaFJKMmFheUx6MDArd0JBSUFJZmtFQlFNQWZ3QXNBQUFBQUFFQUFRQUFCd09BZjRFQUlma0VCUU1BZndBc2dRQldBUHdBVFFBQUIvK0FmNEtEaElXR2g0aUppb3VNalk2UGtJOERrNUdWbHBlWW1acWJrWk9VbktDaG9xT2twYWFHbnFtZXA2UVNFb1VEREJhekRIOERyTGk1dXAycmd3eTF2OEcvc3hZTUE2NjdsYSt1eUgrL3RzblIwcWVxdnNQRTJMVEMwNDdMek1ldjBOemo1SnEzMXJMRndzL00zNnJNdHVIbGcrMzF6ZlA0K1llMzZiVDBFcW9DdXZwRVQ5Ky9RNjRRSVBnano2RERjZnhxRGZSa1R4Q2xkb0lhUGpSMGI5RENqU0NuQVR6R0FHREhpaUZUcWx3NWFNQ1ZqT0Rnc1p4SlU2V0Ztamh6NnR6SnM2ZlBuMENEQ2gxS3RLalJvMGlUS2wzS2RGY3FXQ1diU3UwWjhKd3pmMU96MWt3MWNwS3JkRkcxaWxWWjlad0VXUXVLalYwYnN1eXJLeVgxVkxDZHU5R3JCQVFHL3JDaHl6ZmszcjZBUWJZSlRMaXc0Y09JRTZkRVVrdXg0OGVRSTB1ZVRMbXk1Y3VZTTJ2ZXpMbXo1OCtnUTRzZVRicjAzSkUzVFY5R0VFdjE1YnhXWGN1ZURYZ0I3ZHU0Yyt2ZXpidTM3OS9BZ3dzZm5pZzI4YjRFai9QdHBad3U4K1pzUjBKM1RsRGhkSzNKR1Y3UG1wekJBbzNiazNaUEhaN3BwSTlYeXpjbEtFR3QrcVVFWlRGQS85NW8vRm4xeFZNNmhqVS8wVnU5cEFPZWYwRDEwcDU3QkE3MTFCL0VKUGhmZ0xNTTZDQlBDL1kzNFU4THBtUFJoUlRhY3Q0NUVYS0lJWE5YSUNpaVR0VmtoTitKS0hySVhvZ3NvamdBYTc3QUdHTk9hVW5FVUZwMzNRalVNL1FaRWdnQUlma0VCUU1BZndBc1h3QWtBQk1CZ1FBQUIvK0FmNEtEaElXR2g0aUppb3VNalk2UGhpbHFBcFNWbEErWUR3S1FuSjJlbjZDaG9xT2twYVovWUQxUFBVNVVVU28vUHdXekJUNEZWSmRVRDZlOHZiNi93TUhCSTA2d1BpTEl5TFBKSW44R1ZFSWhLaUkrS3J2QzJObmEyOXlmUXlsL0JZSWlCUVlHS0FnSUF3TUlLQ2dHNGhMeUF5Z0YxRkhkK2ZyNy9LYmZCajdHbFVQd1I1NUJlWVRxR1Jod0VJRTlBMXY2U1p4SWNTSVlnTTNJb1JzZzZPQkJqb1BvRVR4NHhRQzFJUlZUcWx6SlM0VTlaSCtRTkpxbjd0Qkhld1d1c2R6SnMrZWhGQzZWR1NDNExoM0lkQVFMU2FESDBGQzZlU1p6K3B4S05XV2VGTWRDMG9PWGpGYXlvWVpFU2lnMDROeThoMVhUcXQwMndZUVplODcvQ0NMZ1NzNUFMTHMvN0NaTFNraHN4N0V4a1l3ZFlBL2Yyc09JVDBWQjBtemhINGZJcWprWmNjRERseDZZZS95SmNhd0FDa05MQVNNVTlJNzBIeDlVZGlSZXpacFRHd1BoRUVpb1IwMUZDaDBlL293QU13Z3pvUi9JWUNzZFBmclA1NmFDOExSZXp2d1FocytDSVZlN0RXa0xjSnVpaVNPQlRmaHg4Ky9MVC95WnNyQ3NDQU1sZE9qb3BPWVBjQU9BUXlZdFBsWW1nbVpPd090UHZBRk9HNGRpcU9ESEh6cHgwdDU3OFFtQ3hHY0ZMY1ZRV1J5WjVFTUYrMVY0bUJoZHJDQ0ZFS0ljMkF4Wm5qWFlUa0hlRVNiQ0V4OVlxT0tLaXZ4d0NBSStqQ1FCRWh3dFJab0lYU2h4QVlzOHJyVEpLV3JrNEtJaDhJRGtqaUgycU5CZS80OU1xcGhiV09VSVVwWlQxRGp4WTVNOVhhRGxqaGV3Z0tVbktJaVFsRXhFbnJma2wvenMrQWNJR1NqeFJ4b1pvQ0VuR2x0dWlTWWlac1JVU0pSaFNYa01MbGZlaWMwVU1rUVJoVG15ekJLT0Q0d0c5RU1VVHBTZ0JCb2dhQ2xJQm9JNjR4MGhZZzVDSmoyQ21JVENnSm55Z3NNZlZyUnhoVEhISkROSU03VEV1Z3hNNVNCUkFoVnBaR3BZZkJMdzZVeU5ZTjNuQXdzRWxIcEtIR0lzNGFvNHppeklvRHJyUkN0dE9yVEI5SWNLYW1iS1lFRXdBanRJYWM2SU1JR3hwb2dCYXprb3JDTWxPOUtDNWhGcDlnUlVnSTUzcXZHQW9uOFZRS1k2VUVsWlFCUUVFRUZ1S0ZZa01ZaHNqNzNqRlRQbGdFVEl1Myt3bzY4RVYvQ1FnZjhLVVlEd1pRbEsxVk9qUVJhUUdmRVZkZzdjaVJWVzBMaU93cEg1RU1zUEtzUWNWSzBMT215UXd6Q2lJSThaSnYyQWFhWkxGVEFTUXhZc01QU2wyWm9NaVJWL3RQRU9NbDBnWVNnUlJCQmc5ZFVDb0ZIQ29ZeVN3MWRCN0J3c3RFRmh6aXNvUnlIREY3RUVGdnh4UlFFMS9tR0dFejhyelFteVl2enhRZ3Rwa1BxSHdJSUEva2NsQktqd2g5Y1BwNnRWZ3hMY0owNnhUS29nMkI4TUxQRFdQSUF0TUJRRERGand0dDJsVE5FSUZIOGswTVl4d29XaytIQ3ppVEFrazNGZVFia0ZEQlJnaGp5Y0Y0MENFZ3RZVUxSZG9PY1RCVFZmUDRid3cvSzhMWUlLNC9ab2RaNmRMNENFR1F6OHNZRGNsaHZndXlBRXVSazhOOU13TzBqLzR3NXpyM1BqeUxUQXBOVktTTkM1QldiSVhyUVp2TmR1eHZWdS83SEM5OTBNSHhaeWd4aUtQRXpTaFI0QjRBOEFlTVB0ZkxjOTN6SEFBSlViU3U4RzBZVUQ4bThid05uV1h6WTRGNGJBcUJwTWdvSVBidmVIN1pYd2QyYlFBd0o0NXpzOW5FWndGOFFHQzJ4UlB1SUFabmNEWEY2VGZMQ3RCdXBPSnB6akF4OEVrU2ZEeERBYjB4RFpCb3ZqSFlLSUkxQXJLa0QxR01qQTdBM0NENlNxZzNzZ2QwUnNCSVFzOHdFTVVjSWhBaW93aVdQMzg5MEMrTENBTmI3TkJJTEFZaUdVb0xFdUNtTWFaSEVNY2ZTVXVoNWx3QWU4RTZJYy8rQ0hQTmd1am1iUTRpQ01hRWRnc0VBY1h6T0FUT2JoUWRqY1owMTFaSkU0aGtoSVVtR3gvNC9wd0orbUdubEhwOEFOSVNNQml6ZzQxaU5aS0hLUUNqSkE3NnhJT1VHZ2daVGRJTXhueHJMTEl6RkdCVGZvMFRSazE4ay84TUVDZktnSEEyVW5PL3lKRHBmY01BZUpKaG14eDVEam1TeWF4bWVvS0FpalNiRnRiYnVmZHhnSlRXeDRMRlRsTTFFVWNzVWkxUFhPaE5Zemd3aUlxYm5QV000OTJMakJCVzZnend4a1lKLzZ0RnRBNGpPQUdDbW9lQ2FKUWpCNVJBNHF0aTJlSXNnVGFXQmpnUVQ1Z2hJRWtNRWZsaUNHSk1UaG95OVFBUlgyYVRMRDhhVlhaTklnOTg1aktVMFc0QXJnZktqbElvcS90M1NrajcyUUFSZmdJQWdjK0JRSGNNaWJJSkt3djRHeFFBUWlrNEEwRlZRSU05Z2lBNWxVa1V6U3lMbEJ5RE9OQy8rUVhWS2d3d3NCRUlFTHB3S3FHSDVRQWlId1FKSHVZY01mNGdERFRNV2pJK0ZRaEQySXhhTXdJYUIzOHNpcWJJVEdPUWJ3a250Nk9zVVBlTHJSRW1oZ0VIaHdBQkQrWUFJSENNSnczMnNjM0F5aE9KT29vSzBWQ2hNRURjSUErczNvUVJ6aEUyRW1Xd3ExQ29KRGpCQVlPNHRxTXNrbVJUaWZOYzd5dUtnaXg0VkdIaXU4YlFDWjFhdE9LWVlUTW5qREgzQ0FXYUFSSmlteXFROUJ3dlFEMmxySWNSOWJpdHFLYzA2bGlrQ2xuaGhBM3RpQTJrN0lJS2c0YlJLYlFzU1FYdTBTY3d1eTV1dFdSQmdmMkt3cy9Cck5mYmFLVkZGbzl3OUpPQ3doM21CQlJ0d2dDamhZZ3Zpd0pJQUxSSUdWRVlRTlp5MndyUUtzVjBXajVVai9jcFZxbE5FVTlGbm5DY1VBRFBZSERTaEhFRElZbDBjeDBJZzZCTld2ZHlwd0J0QW12VWtPSUhwOFFVQit2TVJlU0k3eXJ3M3kxNmQ4NVFrZkFGVUlmUmlFRERDUWhMT1dJQW1rSXdRUVRNQ0RRUkFCd0RFQklKTUVRQUFCOE9ERlJVTUNFaGl3RGhpRFRXNGE1UkVrbFZvamNCVm5xZUVJN3lNUXdGTjhCT0VQR09BQ0FPSlFnajdjTWduTit3TUIvQ2JrTk1BaHFGMXc3NWNvY2VVU0xnQWRmbVZiMFVaQ3hMM3hDRFk2QTB2amhLTXVCWkVXWDU1d1VRSC84SVlrL1BSVWd5akRDOEtzWDBPa2dRY2F5RU1lSHN5aktndEFDRmkrM2hXbXlEbWpVWTV6RXZBQmlWa0VHOEdrVjdvSHU2R2duVkVBRzNGaUFLWVZSQm5nLzFBQ0hodzVEc3JHTCtsa0lJVkMzQklBYWRCbmdXbU1KUUw4UUREdjY1eWhVV0FHUHZEc25SWXdBR3VsZXA1SmN5dDFPbHZwYTR0ZHZrUm9NSFZ2aG9PQTF0UUVPSENCRUVnbUFwLy9JQVVvWUFBRGtDTkFDNzZZS1JQcUxvWG5WcU9hOTZOWmQwZE1qL0dPV0loaUFyZDYyd1FkZ01sYmQzRkF6aVlVNGdRQ1ArMEtWcUFCQXBBWWNpOFFLcHFrS0FpSFN5K0ZjNW1nNWxpOUg5dEM2T0pIY1JpZlBGYnZkTjUyTVBqTnc1dnh1MUU0Y0RqYXcvMmJjbmhBV0RFRVFiZ0NDRUlTNEZBOEpzbmlmUTQ5ZEFyZk1VRkJOSGZwejZWaFhBb0Nsc2VBUktuTXNpdnlEdEtSZGR6d1dvU0Fnc0hpMElaQjlMMm5HNkMyL2dneEFmOFp2T0FQaEJXVUxFNFlkaVFnUUE5bVFNRTdxOWRjRnBWUDBzYmgzbnpDd1JHNVN3a3BFNjVScFFQU1hSRC93ZVJEQlhVWlFIM0x2d3RpMXdteGFDdWxLRWcvc0xHTllCR2k3dmxRQ3lqdUo4SXg2ZVcrNWlQMytWcWFHWUlCVEwyTFhBaTljOEhrVFlBMkYxWS9DQ2owQWJLQ2VJTU1UZ0NIRFhoVURGMFhjd0cwaUVWUCtpRjFzQXlIN3lzazZOMXg2MVBiTWo2TWpxY3ZkOWhETUNBcDN4SnVXUWdNQURVT1BPVjBlRVlJUkZBQ29IWUNVR0J3Y1ZCbEJQQUdZdUJ4S3hJRXRxQWM1UmRIZnZCU0ZrZ3E4TEIrK2hGL0NqWVhVdElYNUZVUU1yRmxiWlJWdGZBZ2pCTitnekFCY0FCVUw1Q0FTWlozRXlCcU02ZzNnQlAvQjByRUl6TFFCUVl3UkJWSVNJWkVUSDV3Qlg1VEFKVENFeENvWVI5SWFhbERHTnlSRG9kZ05OZEZTU3VEVDRrZ1hJeVFnSVh3VVd2MUEwdW9JdWN4UzBQRVJuOVFCeStsZXloUVBZS0FWaW9oRWhFVGhvK2dMaEJpY2I5eVU4eENHRHRvUFZmUWJ2VVFEbkNCZlk0QUJmeWxDRkF3QVc3d0IyTEFaVmp5QWtpRmJqTDFOakRsT3daQVRJT3dXQ2xoWGZBaGg0M1FRUUVrR3lDSVRuZ0lFdHJ6VUlSUU8rV2dETE93QkRpUUJqZVlDTUZWQmgvRlUyV0FDSEgyQjJVZ0JzWTJFOHR4VkN6RVFOM2tFT0dHQkthb2hQRzFpNG5nTURiamVjN3dHU3YwaVIyQkFvSm1EdUtHQ09SQVBaV0RBamdBZTR2d2I0Y25DSWZYWDlWWC93YUptQVFQeUluNk1RWFhCWW5kcEV4dHN3QUR0eFBaNFNDTDRDQjA2RUgxcFNESFFRaHRoejVFMFhhRVFEc1BVVG1Db0FjYzgyK01jSGhhK0FkSjlvMUNOZ0Y5NXdad3NBVEl5Q1BEYzFjT0pGT3dVWGFIMFM2SFVGNE9Zb1VCOUMzbjlTMXZkeCs3SkVtRk1EL2hRSkNGNEpDZGtBUklsbmRKa0locEVHQ3lsMDJQMFR0VkpRaTFnd0tjMUpIVnRFRnpoMXZtTUJSQ1p5U1RSRkRqbzRkc1p3aTZJeWFpNUpOc0VIaWY0RkV6R0dLMStBZi94bkJONGlMSnhSQkdZd1l3d29hSklVWkdRUmFWeEF4aU1oWW1zVlUwVWhQdW9pOXNWd0NtV0RSWFlBdG1PUWdXd0FaVzhJcU9JQU15T1lOUUVBZEpCbTE3eUNNQmdUQzRnLytVc2tOT2FURnByVUlOWUNFdEpvRlU4Zk1XMCtoYmwwbVo5VFpBQ2daRWZKbHU2M2dJaVptRmVRY0hNUWhpTDRDUWdNa2tSTUFvTWlKZFl4R1BhaUdOZFNFSThaSXU2M0IvVjNDQzV0WU1NM0pkTVVFT29VSU9OVFFqb1RsUG9wUW5OSmNJTFJCbXNIZ0NUQU5pL3JkclVEQm5pWWlMZjdCcFdCSSt2TEpDUVprSVBHQ0pLMUUyQ0ZBNWJXUUI5OUdXakNGNVV4a1lERkNDQTlBTTZzbWV5RGsrZjlVNjRsUkM4OW1maG1BNWFnV1l0WGhBVU1CVGIwQTZoUWtIU1ZhWTYyWWM2S2dmSzlCdThmVUlOTUlUdGZDYkRwVk01M0VmdkpNSURCWjh6RmxGOHJRdGxGUVFZUUtnMWhPZmZMa0FFdEJSZ05rZm5PWnBjQ1lEZXZmL0I0WDNCekt3QVFpNVVkMlpreXppSXI3R2dvbEFXaXJST3RialVBNUVDejd3bTRwQUVMQlJpbFNrT1pQMUxzTjVWeXlLQ0F2d0F6Z0FrNE53ZUMrSWVLY0NnSCtBZ0lQd2REeTNROFpCWm5rQUNRT1dpV0VpZWZBMGJvZnpuSWtBcGZyQ2tZdldsaDRoRDR4QlBiT1dwWVNRVld3d0FhL1phVHkxQVRnS2JaeW1VU0ZXazRLd25Xa2FnVEt3bUxNQlI0NWdTRythRW5IS2tZU1FsK1N3bHlXMG90YmpPRHdVb0gwWUhZOXhFSXhSQzRpakNOY3phbkQyQWdzNUNMVjZDSXlxUDR3S2ZoSDZIU3lnbVJ3eG5velFoeE0zRVFSeG1yL1RrcU9aVlZjd2F5cEVScEsza3JWRFJzRlJYbEd4SVBhZ29vTjZCZHZJYVhId0FtblEvNk9NNEdmN2czM0MwUVZBeWdrekFBd2ZSZ296QlRkdENnbnlWS3dTRVNHSmNFL1BXVFR6ZVRqa2tGNzJFSzBCT2EzWDFRNXFoMVRxV1R2RmFqbEFWUVlGQXdWcEVBZGJ1UWhRMEpvM2FFazRJSE9NNEFVS1FBaUpod05lQUF5bE53cFFLcWlKd0Fjb21hNzdVRjZuWVo0ckNROW1XVHZuc1IzaTg2L3hTVHRFWkQzQmFSTGE4MDZIbGorSVlBRmNLZ2hwc0pCSmtDdTN5cEJ3dGxaeEFHcVpSMEZFS2doZXNLNDlCUWRzd0FaTU8xeFMyd3VRR1FxbjJRaU04YlQ5Y0tWWjZrQXdaV2hmV3pTVVkxT2lJcWgyYVlxdzBhVG9abXNTcFFoUmtBVEN0V3R0UUZna2RuQmM4QUllZGJWSmtIR0RrSGlIb0FCamVpMUtJQVRYOFAreGcxQ2RXY3NUOUxvSThMQVRTS0ZaSUlxMi9zbGpmTGdNSDFvSTFTTkx4UmdUbmtvUTJsb0llc0FBY1BDdFBFVW1HRnNJVHVlREcxV1JpV0M0T01BRitlRUlMM0FxWU1nVFRmWUptaXNSd0NZSVhWTzZnOUJHZkZpYUxVb1FqN2lTZVFtNjdTZzNoWEJvelVDeU5kY0dZYlZlOHBRc2d3QkkvSUlFT0lDdWpqQURWOXNKT0RCczMxRlFYYXNQVTFJT2swc09UaHE5VjRBVUROQ0hBRHVhVVdxTitYcG9UWW9rek1rSUZsQUNHR09LVkpoOEg3RU9QOEFHMkhVSVhqQytoWEFFR1pzQVdOZ2MvbGdSREJFbVpMSUFES0M4NFRXZkRQTVdzblFJY3h1OTg5cWlBQ0dxZ1NFS3N3QXQwc0lSMFJLNWY3Q3hTeUFJVCtJSmMrRC9CWEJRYWN6QmpCT2hWSEI3UWxsMU9EdG9FbTV6QlR6REtIWnFDQUZSakNoNFZ6Vm5OTVFZb05UYmlTcTh3b09RYklrZ3ZvTDRCMXZnQVJRQ0NSU1NCRjRaQ2lnckRCSlZKQ2FzdnIweVlHb2tPMUo1dkFod2UyMFVKbTBjdlgvS29xS3FScjdnVnl0c2Q0L0FCRE9RYkRTUUF4NFdSeUhReFl4d0JDSHdCMHJBZGFOUUZnbmNDTDJLQ0R6QUhmcGltL2xRWHJPd2wycWtXZmdqakdGWE5tZDhCVnZtQ0tGckN2Wm9kK3dReG9uZ3g0T3dCVnRnQTR1RVdJN2dCZDdUbmFIQVlQZlhDWHlBdzU1Z0RzbnpobVBSdjN4Sk9kTVRqT0tncENHenZBRXFFVndXTFV1QkJESDhDSWxYQVJVUXI0ZUFCNGFzQ05IOEIyd0F0b3RnLzFmd2FFYVFFQnFnZ0x3clFROXpITDFOTElsVHlVQ1RLNDhQSW8yZFFGaDdJQWlKckFqM3ZBZ2J1MUZKNE1LTE1JbCtVTXVPY0FVb1VNcVBBRUczdXhKTG9jdy9TNG1kRzdBc1N4R25TdzgrWU1YU3pBWWFnS2swVUFvT0xBamFLd28yMndteVk4bU13QWNoKzRhNmFkQUI2VGtKUEtlYzZwMmZ3QWE5ZTBXTWtNK09ZTkhkRU5FVkVzSS9hejNrc2dVa1BRaDVrTTJkV0U2Y0lFVlJmQ2ZlMDlGYUhOU0NNTlJHTFF6YVl6ZUVPd2VFQU11TEVLOVdmY1dEZ0FPUEhOV0lVQTVudkE5SnZRMVczZEVlNE5RMmNOYUxZREFxd01oZzdRZ0RRRDBWNFZmVnVBOWJiUWhuZ2dnL3dyaUkwQUpzNEFkdElITzhITmM5M1FpSk52L1dwOWlUam1DUHNnZlR2UUJJZTVEWG5SQUNWdTBGVEkwSWNGQUJZakE1QlhIRzYrQ0dVZTArM0dRSW5DTXRqSDFydU9iWWlxMFNuSlRaaHhBUmZMWURPWERXKzV3SUMxd0ZBOFkySDVsZWh2MFhmUlhjRGJMSEtxZ1Z4TjFYT3IwUHNtY1NNVEFHamVBQlcwRE5lVTNaaU1DNFNzVGJhaGtPb3YzYlBGSTlZUmdRVC9BTFZmQWhmVkhLdldtWDNJMGxyUjBxaDhNTFl4QUQ1QjBTMk4wWFVGalc2ZDBjTUlXTzIrSUQ0UzBLWFpCaDlCM1NjZGdSNVdEZjk4MGNiU083WVFFdWcrRGNpekFIWStEZzdBMGF2a05RS0FhRkIyNTVnMUMyak9nSVpHSXRNZkFFSWo3aVR4QURwd0hUWGRjVW50TVhLSmJTR1Y0aFNEYytEcVQvNElvZ3M3WEFLS2N4Q09LZ2tvamdQaVZrbmtSRENFZjg0aEpzQWJ4TTJwUkRqM01vaFl5d3dqNWU0V1JSU3l0RnZFVE9HaFZlYjVPWTVFcHVDaStHUHd4VVBWK0RaUmJsejFOaGV6Nzc0Z1RwY2JqelBrbk9DeFRUVnprcDVvbVR6b2d4UCtkeDE0Ym0xSGJVT1dOc0VKZU01d21SdmxYaEI1MTF4d3hrelZWZXI0b1F5VDZSQjNwUWpFcWF3ZXVkNlB6QUVaT2VHQTVsVGVCRzZUdnhZdm9CZGxYMGx0Rnk2WndlMTBycU5qU0UycVZPNmR3a3ZieXA2cXYrNGxqOWpublpjY1FkNjVTdU9kZEYzSXlPNjlCRWhlVng2NzVPNVBJa05Mdys3RlgrbnJ6ZTY4amVTQm04N00xZTVhZnNrZEgrNGd2ZzVBd2dyTlYrMy9aSUV1cmJIZ3JialNWZDl1MmNudHJramcyQkFBQWgrUVFGQXdCL0FDektBSGtBYmdBa0FBQUgvNEIvZ29PQ0E0U0hpSW1LaTR5TmpvK1FrWktUbEpXV2pnTVNEQXlYblo2ZmtoSVdvNkNscHFhaURCS25ySzJVREJhY3JyTzBpNXVydGJtNnNMcTl0YUs0dnNLbnZJZ0Roc1BKazdIR21jclBrQlpYemNqUTFvclMxTmZiaU15SHg5WGMzTVdERXVEaTZMREJoY2ZvMXo4cUNIK2pzb1B0N3JrL1NFaUlESHFjc0N5c080ZVBGa0ZCb2tnSkdpV1EwTUdDckI3TzgvWW5ZVU43OXlDZXlvandUejJFRE0yeDQ2alJrOFNQaEN3R2sxalNrc1FyRkErcHhCaXVKU1dXTVJGcEdqV1FwYzFHQncxcFFxa0lsaXFINEVqK3BGWlRFRkZibTJLdFRPcXpaZEorQ2lORlpYajBEOVd2U3JsOVRRbXpLNldoQWFWNkJRdjJHbHRDYVdqWGRkckpsU2JidTVDYUFzV0wxV3dwQ1hTZklyMUx1TEJocWhVM1BiTzRTWENpdzVENUptWjRVUmxkQ3pKak5XWXdEVlBoUllEUlVsYTdEWERtMGZRMnEyNHN0MXhvQ1ZjYW85YXNxblhKMExKbjY5N050YmJ0cFpCZUExNjkrWXB3MDhDaHlVc1dDQUFoK1FRRkF3Qi9BQ3hXQUZZQUxRRk9BQUFILzRCL2dvT0VoWWFIaUltS2k0eU5qb29Ea1pLUGxKV1doeEtabDV1Y25aNmZvS0dpaFpLVGhBd01oWm1hbzYydXI3Q3hzck9qcUxhb0Zya1dFclN6cTZ0L3ZMM0R4TVhHa0xlb2c1cS96Y0RIbnN6UTA5VFZuODJDcGRvRHpzL1dsci9mNHVQa2hNS0MzYzZHNnVYdDd1L3Z2T3pMMk1HczhQajUrdFR5NStIN0FBTUs1Q2R2b01HRENIMnQ0b1pxUU1LSEVDTTY0aWJCWWE0L0RpVnEzQmh4b1lSY0RESnlIRWtTSUMrR3VjNlZYTW5TSGJjL0YwV09NOUN5NWtBUWcxNVlJWlF4VlV5YlFJTzJRc05EQTQ4TVU2TFV5ZlBIbGdXWXFXUUtuVXIxRVJvVHVuSXRXSkQxWWphcFZmTkZDaHRMZ0tBTXVwTGRhc3BBSlZtQWtmL3V2UVVsUUFBQm1CYmFwcHMzZHgrM1VuMDdFYWliUVJDUHZjRGNCdllyU2E0WkJJc1hFUmdzSUJjUE0rbVdSVTZJQU1rUFFuQTJJN3BBbVlDR3ZLSlhKam4wT1hVaHU1TjVvRjQwMWpWSkJWMVNMY1l6R2MzcHA3YmY4bGpRTnZBVktySzlyZ3R1RTBIVzRuTVpjTlhOL0swRUJta1ZDMVdtcWpwUUF5by82aEl0MS90VTdMc0NTek5QdHZ5K0lFRmtpQ2dnU2p2Nys4Zmd3MWVCdi8vQkM0TElJS0NBZ3VpM2duOElDbVJVQmtxd1FFUVFmOEJIQkJIOEpXaGhQbjUwWlJRUFJWbUF4SVVndm1NRGNlZ0prcFlHSWFZSUM0Ui9FT0FISmZXb0tPTXJFTVpIUkNVTHVEZmpqb3c0d1lnTStzbFFCSTlFdGpKZ0VBNHNnc2Jra1VHZ1NNa0NHRG4wVXBGRnZ2RUhDenhJeDBnR1ZLQlJRbXVkMUVGbGtSaG9NQjBEZkREaWh4bGp0dm5KRlhycDZPYWNvcWpRREhWMDVpa0ttM3IyNlVvSmZnWXFDZ0sxWVNUb29aVVFXaWlpakQ0Q1ZxT1FSaXJwcEpSV2F1bWxtR2FxNmFhY2R1cnBwNGN1Q21xZ2o0NUtweW1tOWlscXFxZVd5aXFWcUw0NkoyQ3l1aGxyclVWV2RLdDl1RjVJNnlDejlacmlyNEpJZDRXd0t1NTZFV1RJK25vcmRuZzJtNkN5MFVycm55bk1OcFdldFJZK0d5eTMxNG9xWFNyWmduc2ZxcEJCYXk2Q3hJNjdicmlMdXZzdWZ0cWNVdTI4ek8wQ21hdjRnbGl1SVlFQUFDSDVCQVVEQUg4QUxBQUFBQUFCQUFFQUFBY0RnSCtCQUNINUJBVURBSDhBTEdBQUpBQVRBWUVBQUFmL2dIK0NnNFNGaG9lSWlZcUxqSTJPajRWYmd3OVVUbEVxbUpsUlRsU1FucCtnb2FLanBLV21wNmRmTVQ0RlB3VWlzTEVpUHJFK0trNS9BcWk3dkwyK3Y4REJoUWRES1FhMEJjbktnc2wveVVnb0JxOS9QMDY2d3RqWjJ0dmNvTVhISWdVR0tBUGw1b0xsQ05IaTZRWWlmd1lQM2ZQMDlmYW9UdEt6NHdNUy9vc1NCaUFwZ0VBUWdsY0ZxT1M0eDdDaFE0WXBWRXdyZ0tUZnYwUUZCLzFqSndqSk94VnFIb29jU1hKWGlqOCtuQmxBY0pFUmdwV0ZCaVFiSUFoRlNoWFhTdXJjeWZPUURwVE95RW40NDYvY24zTCtoaG82aUNKbU1xVUgvK0RzU2JXcVNEK0RDZ2d0dXE3QW9IRUkraDBTRjlPQTJEOFpWVmhkeTNiYkNRMSsvNXI2cUVoVXdzdFhzN3I0MkF0TEpUbERaR08yRklTcnJlSER1MHJVTVVCSWdoa1VyM3dZU09Fa3hSTWpScDQ4NGZzblhNWkJCeGtiU25yVUFFNHlpRk9yOXBUbVNrcEJqaUg3K0hIeXo0SGFmOEFVNnZHREZwSkNDRVQ4SHYzUGNjN1Z5Sk1YbWxDVHFNQUNzM0V6VWpOaWlBckp3RVUwSlY1WGlCRGw0SlZMUTRBQVNZbkhQYVE3V3FobWl3alJnNUQ0K0R4b0FJcUNBUU9IMzI5NHlhd2ZWdURRaGlscXBDQmNJZEkwRmxDQ1JBWDNCSDhRcmlWR0hIL2dZTVVQZWFCQnlrSTUvQ0FDZlIxcE5KUk1qUG5qVGd3UnB0Z1REb0t3d0VzT3JOQ1V5RDhINFVmaWNTcm1LTklGTHhib1RDSER3YVpVTkxBRnA1YU9TT2FZZy85YVFSS24xRGgxdWROSmtnNWR3Q09WcDNUNElTRUl2RmFYUVFYUVpOZDdXRHFVQVJwb0tGR0NDajhnNFNZbUpTaWhCQm9nbEttSURaRFJ4eUJwOFB6bWowY2xYR2xuTml4Y29vSTAwTkVpeXlDMUpHT0FlUmtJVXVlZ2YvZ3hrSXhIYVNVa21HS1NTS2t2Y0ZUSVJSMVJDUElPTStJOGVoOTVBNWhoSDN5ZHdTS09DaGg4cWtRVUI4Ym5sWE5LYWZxbkNFZCtpb29WVmlUQkNsQmdJWlhVc3N6V0JLdXBLbWhvNXdRQTBQS1pUTnVWbHhWc01uWEJuTENteENHR0lMQU94ZXhnaVF4UW5xUHUrRkRDb0FJNFFhYXU2QkRFREg0U2VLU0NET0NPSWk2WllpWmxCbmtvdUduQXdRVmhPdU56NUNBVWFKa1hlR2hHZldqVkZPYi9VSXoxWThhOC9ZSWlCcGxKcVZ1d1ByTEV3b3haNktJbG8xMmFvdkJPRklJbUtXK1FFaERKQUFOYURYVXhBd3U0bzBUSG43Q3hoTkJ0UkZFQ0g0Y2E4TU1QS2tReHhkTlBGOG9tTWhVcE5RaVIzTUlVVlJTVEpwbEJNbWFZUzlNQUZpd1FEUU1Tak1OQTJaMEZDN1FueEZyUkFnWWJGRUxBSUhmanpZSUtYUVJsTmJrME96TzJWMm9SUWFWSFRRWGsyQlZsWDFIQUZXZ1ZZSUVGZnpDQWtyUnZod0xGSnkyOEZtWWg5dXBLMDlaWUtnSHlVSk92YlFHVU9KdXhRRTBpbEpwNU4xTWdwUEJBQ0lybXNnOEUxSnFreElKTWJnRUtrRHRUTmhJR3ZQN0h4RC9NUGc4QktuQ2NhWk1IeWNpWUQzVW5HVDBLeXBkOTN4K09YN0dBL3hrK1FENjVBVjN3Nnp3M0JPRGFKR1NZMmllV1RIKzhRQ1VHNFZBdXlQaElMR0NCdmF2ajNoOFdFQnpmclc4YjBQT0J3aWhTQ0Q2OVkzTklDb0xFbEFjK0ExZ09lWDd3Z3hrS3dJY080c3h0QjhRR0FRaUFIZEI4VGtHRWtKMk9vS2NkQ3NMakNocjBRUjM4VUljQzhFQVFsZ3BoTjFpNHdDWnRTaWJOeTF1T1dDQzlCU0RCREg0d1FmbklsUkUvTU9Cbk90d0dDK1pDQ1BnMU1DblJBRUhYVWdTQ0MwQ0hBUm5Nb0RveVdERzBpSVlQUmxSaEZJVkJBRmNzRUVSZmtzQVZMb0NqQ0YzQUl6REVTZ1VyNVNaQk9JNEJmRGhlODlZb3dsSnQ1eXNpTWtoZE1oQXpGZUdLUG91cHcvS1Nad0djQlkrQVBvZ1VJWVZCaEdNaDR2OGZWa3liR2xVMGhWenhnVndUWTRBWjlQZW8vVzJzQkZ2Y3BDK2lCOGNmN3FwbUJZaGxoS1pvQURST3JtY0k4Si8relBZSC9VRU9oTExzUlJDb2VJaUxITXc1VWtFU0FaS2h2d0VXckppVEcyQXFLZWU0UVNiekYwU0l3Z25MdUtucW1jZ0hCa3pScnFvNVBzWUlqNXNGU0tVRW1pR01DOXdnQTFSZ2dUNVpRQVVCM0NCem5XelNycjRFRC95NERJbzVvZ2dGRi9ESGR4YVRJR2lEUnpBSW9FVVh4UUVIR00xb0hINUFoVVorcW8wRGhZZG9uT2tubVVUaG56a2FXRFVyOXpoaHN2STNOUEVoTDRpQUFRcjlJUTVKNE1MU0JpUUlIS1R6VTJuZ0liMElTcVNOSUVrQ1BLdGtNUmRBRUljeXdFK0VlRllwUm9pQlVMR2hEU3ovTUFFZXdqaUlLQ1RoRDBrUUlxWHU5a2pRSElXZzFTT0tSMXlVbzN3VkUzWHdRTUhOaFBlSHBpaE1xcVNJd3Jpa2tnYzkvaUVQSnREQUg2UWdCVUh3dEdPZENCSk5FdmNQbWVESFNEcWFad0VDVXJuaGxlaG0vaWpJWjd4MGlyMytBYUdLdUp2OS9tQTRZYUhCazBScFpjMHk0aXNnUnRZcjg2dnJybWhpRnNlaTR4ZklYQVFVQUFEV0tRanJhL0dFRGZMVUtoclZTamF5N3FCUFdwbm9EQ1Q4elJRU1dNSWZ4SEJEVUVDQkRXd0lhWm5xcEVDb2lDWXE1S3JMV3R2cWprTXlneWpNaGNhVG9KdVNKZVNoRUZDQUlDUFFvQUUyaUFHdlNVcHVYV1RFQU1leFJLSkVjZGtvK1pNdjRWeUVmcUFjemxsaytvbWFDYUlPZlJoRS8zei9ZSVV5eUZjUmZsZ0NIQVpndVVIUjhpajlrT3ZrY3ZhamZnVEhteEZ5c0FGYUV0S1gxQVVxNFZDWUp5U1FCQnp3d0FFU2hzSkdsZkFET0x5aEVDQWdRR24vSUlNOGZIVUozN1BUOWlwM005WDFEQWtkN2tkL0N5RGRIRFdsUkU5U3JGbU9FaGEweERnVUVyZ0prZjhRM3lDOG9BdDVrQU9GdnlvSUdlREJFRkFBd1JKd0FBYzZtemRKajN5ZDhLN0FzejVhanM4ajlsYU9DdUtWaTlBc2JmaUJDVTIyQklyZlZCa0tiemhCRWw3QVprRWtBUTRRRkNzaE1OQ0dLNWhBQ0pYR1VnbGFpRTBqbW9FUHcvMmY2ODZYdmtFTDdpS1FFWkt2b0NRVDdUeTNFUkx3N0IvZVlBWDcxcmdNZ3VCQ2hXb0ZCY0VTUXJCUWVBRUxidjhBZ2h0VXVVenU2NTZwVDVrOHBnYVRVVkFJZ29vSWJaRnRSYWxFclRTVmMzRnR0Yy93NndWd0VPd2EybUNGSmhBQ0IxeVFRV0VKNFFjWkpGdmJ1OFlCaXBNa2cvY3MxQUNuUHNnQ1hpZkFQM2hFQnZpT1VKY3VCcFdCNXF2UVdIUEhpbWVVeVBDK1N4QlcwUFVmZnBxRUlMejNEenhvUXh0NGdJYk40VHNPYkJnVUVaTTNpSjVCVHVDdjZ4L3NvakJrQ05IUElyM0tDQzZid3lqdE9vZFZ0eTVJdWt2YmdqKzBvUXp1SG9Td2Iwcmt3dGJYMGlYL1F4QUk4QUljTUZoSHZFVGpWNjdBaDRQd1FRL1JlQjBCWTFkei90UWFYNW5TU0ZvL1EraXl4TUpYVVRYNnBrTUZoNlQvd2U1SlNFS2MvM0J4UWF3Z0NGOE50WjFLYVlEL01GTGJCSDQ0U0FiTndQS3grMVpIVzJxSnptVXlOclBPQnpZMkVZNDZYdUhEdnZWZEVKdXJOQmRzMm9SUS9lRnVueGM4UERxTUpWeWhnSXgvaUdUaUdlT0hLeFIrOFNLWVVvNGkvNlR0NUNkaFd6NzdnbDQ0OEFYZzdFTi93d0ZvaVZ4MVlWZjFEMlZvZzAybDdvZnZET0lGUWVCQ1J1bU1YMGN5V2hBbU1NQjdYYnhIUDM0MlIyY25LTTJ3ZFJRVW1Pc1ZMQ2x2MllRM3Z2ZjhUUXlhM25XZE1Wb2hqQUo3RUdqQUJ5bFhJVzhnQTIrQUF5K0FBVzh3QWZxR0pVVHdZWVBBQU9KWFY4UGhPSU5nQWRhWFVMekhjM1hoSzhYUkdmZWhIZGowVHF2RGFIZFdDRzl3YVhGd0FtL1Fnb2FBQm0yQVVVc25DSEdnUGxid2JFaEMvd1FySUFLcnhrMEdvQWVXSWtDTzgxNkI5QjExOUJDM0JncjZsVEwrNElIbTRoSEhJSFBCUTMvQjRYNUtjVmlIY0dHSjRJS0VVR2QvQUFkSlVFc3FzZ1FGWURtL3hIZ0ROekZsczBIWWRFbzZ3U2Q4OGttMzlWeEx5SVNhUWxTdzhDenZ4RkQyNTJDcXR3aHZnQUUvaFlJWUlHdzQ0SDVZY2dMN1JrRHVsRTNqVTRhRllHd1BnWFBvSllhNm9nd3JvUlJEd1doMjZIczBFZzQ4VXdqdlpFazE4dzQxMkFoUWdBR1h4bitqWlFnbjRBWkdaM1ZKbUNMdE16RXRweTEweFloK3RST2tNUURTNEFNblNDN3ZjUjhGRXhqenhJa2pBaDlwTXh5OTZHK0dNSXFPOGg1d1lBV084RlVuTUFnVTBvcUQ4QVpjc0FiUWQ0aXpHQ0VqbFA5Tis0TUNUVUdPNFBOeFBZRXA5OEVBTG5ObmFSTlB4VGR3dGhjbTZVZFFXNVphSTNVUitrRUlEb1VRWmpBeDFNZ0lYeVZmNm1ONkVuWUNtN01HWlFDT1dOSStrRE5YUm5TTzZHZ1k1YkVBWU1kWmRmVWhMdlZMcS9OZnlFZ3VLL05NTDRZcUt6V0NrK000UEtnSEdDY0tEZmxqMjlpTmY3QUdjUUFIbGhnaHZpVlhxQU5Nd2lSSnFWRXc0c05BOVZLR0pDZzhtTlVaT3FjVWRFRmNRdElya09pUGRMVXhrTGdBWW9BRFd2Z0lWUWVUWlBZQ0VKUUdmNENEMm1Od1J5RUJsTU1ZYStPR2lMRllXakZjSGRGQ1JVbC9saVFpL3BCa3NsVnhYc0Y2S0FsUEFyUUFQNEFEV2drSlVQQ1NnNEFCWmVDTllFVU5kcklDZFFWTkZzai9BRytXR3VhZ0xxd3dXZmxSUGgxWmxISFpsS3MxSkNmRWo0ZmdVSVpnaTQ1d1lUSlFZekFKQlhvbkNMQTRLRzBrZ29Ud09lcDRDSGxBQkVmb0VKRlpEZ1h6RCsveGxpUm9TVGFpRG1IUmJWWkVVTW13TmxOSVY0aXdCRlp3bGZDVmJEa0dCellsQXljZ2szSUhsaEhrSVhBVW00ZGdBbWJBVmlVUkVKSEpMRkRZa2FJNFltakJNckd3WWxqa2NDTlNuTlVFbW9qQUl1cERDRjlWSzBGUUt5L0FMekxRa05lNGEwbXdtdkVSamhFaUE5WlNGSUtBbG90UVBOK0pGT1hoSnZkUllKUjBrb1RRTTJkVlVDOWhhM05wRnVhSVhqSWhPU3RWa2FLb0IyYlFCbjlKZ3l5U2lxRVNCeTFvUDNHd09jbW1sY0FtQmpLR0pQeHlNVE9hLzVhUm1YbU4waG5nQTZJSW9oV25NbkE0dzNDbEtDc3ljaC9DOUFoWE1DR0hjSTEwZGxOMXczOUpvSldIbFZ0VW9oYXdKUUV1QkprTTZobFg4S1ZYUUg0Rmx3aVFjWmZENUJFc3NZa0c4S1dCTVgvd2lRaVRzd1F0VUtLZ3h3WFVDR3lvS1FnWTRLTFRhWmlEMURkMklrRVNKUUhheWFYOTRBNWNONC9GSkJvU2lrM1k1QkdyNWtvRzFxRThZemFmSTZTVjJxaUZnQUpXdVdzWTRKWHd0UWovOXdmYUp3aHc0QU1DQ2lFU3BCMTRtUnpnS1E1YldreFBoUUluK1pabWlZNURXbUNyTm5aaE1Wd1UwWU53dWdBK1VIVEpGZ2VDK0FpRUNZc0FPa2hzY0tPZmdKQzlzQWU3UUtBZmdxQ05FSXdqb1M3Q0VhdS81RDhYV0RiRmwvK1M4SkNrWDdFbEVUcDI3dUFNeVFBTFVCYXJselJubE9aVEdJQ0FqZkFHRmdhZ1lqa0FjRENBamNBRVh2QnVnekFEVEFBTUhqVUttL09Va01BWTNjY1E2VUJxbjRtT0tVa2Vac0F6RThNOTZHZzI0Y0NSdjFRUTRUQ3hON05CNzJHY2g3QUFVV0I2WEltTnhHWUlQN1k1WmNBRkNFa2ZiSUN0ZzhBRUNqQUkrNXAzMERvRE5lc0wzc2tRakhGMUROdXdMUGV3RnlpQnNtQkJGVXV1MnRRWHJEZDJsamxNRWdnUG1qb0lKY0FHdGNKVGN4WnNSaWR5WE1BRmxJYVEraVpqTEpJSVhqQURmMUIwVVNBRVBIQU5SOUNGUFVVVk41a0lXUEVLTWtzUFk1TU9tZWM2Y0hxQkVrY2VIZ0drL1ZPUktrbEpycVJRSjNsODRwTUlBeWYvQm1ESUloZjNoejFGWjJ4QVovL1Zyek1BQjB2d2VZdmdCYUV5YnZ1eGFJaG9teUFHR1gwUkRnb0tsZGxVRUFZQXJvOG9LNnBEQ01kbnNVV0xuSmQwQlZDMkNDUkxkMjVUQWt2aldVd3pFSDBobzQ2Z0FORDZySjRiSHZDWHJVV3FyckJ3YmFnclBJeHh1c2JuRGhvTEpHNzVyVDdxa1l6QVVHYVF1SmMwaitEN09wTzdiNGpBQkdhYkNIUEFDRWRBalVDTERlN29yS01RT2cxaERnZXhKUjg3c2VYSnVwWWtzdnRqdEI0Nm9iYkhPTS83akZQckNMd3BQSHFnQXZiRkNQKzZWNUlRQ2tkUVk1VTdEOUpRdDU3UWRpSlJEdVdsWitCYXE4WVhrTXZqbm9ZZ2dhdnJ3YlJMdTFCSkNnZHNBWHBnQVFOMkNNUzdieFZRQWVrTC93ay9JUVlhRndveU1KK1BrQWVoY1FvdTQzUDNVQTdGaWIxMDlVdk84SFo3SVQ0U1NvTFArSm0rd0pzWXlRQldXZ2ljVzJrVklBQjdvRWQ3b0FZMDRBaGVJRmdhZ0FNTDJ3aHp3Z09GeWdoOGdETmxyQWdNZ0IvSTA2cERQQ1pEZTV6WlZEWmRnZ0JmV3IvVlM4QUZuQTFGU1kva2l3aGVNTFovNEFFVmdHT0MwSGZTMmdndjBIZldDUWt0ckxTUDRBY005VGloY0FYbGNETWtnWnNPaTcxVGlCWjZVSHdnRzZGUWZBOTcyTUlsQUtpUmJBaUd2QVZ6WUFPSmtBY1B2QWllbFFUdzJ3Z0xFSWVRTURtbjlna1o0QWY5OE1mMllCK2ZmSUhJWEZrdHgzaXJSTXoxME1GbU1NaUxjTDZLSEJLS3NBT05ZSHBpd0FidDZ3aDJ3ZjhBR2RnSXdjd0FMQWtLYUVPeU9tRmkyN29JVDdWS2hjREJKWUdSRmhETmtEdk5jY0FEc3Z3SE5Wd0tyV2dzcFJBY1NHQUNucEFIem93SWZsQmRQQUhRN2xvSW5Nd1dVWUNGb0JBSG1qUUlqNmtJMXZ3STlld0lHUkErdTlnSVR0RFIvTkVsYlJ3OC9WSUJGWjBJR3JEUGptREJqRkFIYlBNSmFRd2V0RlUrQlMxcWd2Q3ZnbEFCTVUwSUR2REYzeFFNYUxyUWxHTElmOUMyZ3hBQ2pQQ1lSbzBJUlNjSXpmclRrQkFjSlN3U05ZME5iVnZESnIwSWUxQUJmNERUaVNCZFVmRFVVUDBJZUxUUWNpd01LUHdhTzVzTlMxMElDNkVJQWwwL2lxQUFMNEFIWFREU1k4MGxpSUEyWjJISGpJRENpWUEyU0ZXVVhRWFJ2UEFEQ09EL0FHTWdDbjZ3RUFyZzFZaEFYVXRnRkNBMnkzbk5vZWNTbnFxRG1UZHpCY3N5VjI4S3U1NU4yWU5OZ2dQWHdxSTVDbCtsa1hyMEFZdkExYkdaUkxyd0FrMmRDTVFiQTdDQ0ZJZkFZWmROQ0xmNTIwU0JXWTFWMlEzVVpLelhaQURSWktrajJLbjZDRGNxSDEzZ0FvMndCVG1nQmpuQTFZTFExa3l0U1BXQlZMczlBRHZkMnlweTF0dGlCTDlnQkJvcENBMGRFOUFnM3M3ekcrbE5Dbk93R2JzZFVZYlFvVDdwM2toQzNrc3hDRjJBSXFUQUNneEdscnQ5RUFXUTMvcDlWTGtNR3JoRENDcU5DR09BR1lUQVlFYUJsNVFOME5hYTRPQkJXVVZMMlNzdENENEFxRDRRQXlSZTRudnhCMTF3S3JkMTN4eDJrZ05RUE84bzFCcXUveG9Nb0M0UmFBR2E3T0dQTURLSTRoVUQ5Yk15aXhScjh6Y3YzbUZCUGVQOFVlTmtveEhjZEE0enB1T09JT1J2RlJOS3RaaHh5eGFGZ2VUcnplVDZBNTRMTGdxYUxhdlAxZUoyc1pGWGJoVmNoZVJsVStPak1WZGVEdVdsY0E3K1k5KytyYVdzVjRYZXFocVZwRlN0ZWdVSUR0WDlCZWN4SWVpb01JdmxVT1gxVXNlcHdaSSthbkFXaE9TZDdOMmJ5dEpyc2REZDAxZVEzaFBtZ2lRa2VFb2duZWtPMFdVNWdwbXBEZXFtN3NkR0tiK252dXA1dVliU3crcWdIc2pIZCthdzN0dW1iWHV2WHV0cS9rNjJLeXU2ZnVva1NMMnkwczIvbnRjZGVRVUJlYUc1WHV6aTdRZW1QWEREdzY3TVB1TUh6QWNCV2VyVDN0dE8xT21mbmhYdDd1MVNHZTd0MUc0QjRTN3VHdDVCNXQ0TmdRQUFJZmtFQlFNQWZ3QXN3UUJ5QUg4QUxnQUFCLytBZjRLRGhJV0dBd04vRWhLR2pZNlBrSkdTazVTVmxuOE1tUllXbDUyZW42Q2hpcHFibXd5aXFLbXFuYVFXbWFlTXE3S3pzeElNcFpteHRMdThvaEs0c1ltQ3VyM0Z4b1hDZzR0L3ljZk96NEpYRXMyRXhORFh1N2NNMXRqZHZiKzVodE9JMU43bW5lQ1BBNHVJNSs2ZXQ5eUM1T1h2OXBFVzhzenQ5LzJUbVk3SStSc0lhWk04ZmdRVEdsS3lvSkZBaFJBSmNUcFVMNkxGUVFndmFzUlljU1BFakI3OVRVVFdNYVM1WDl4QW1uejM2d3JGa2l0cEdVRGhLTjNMbU1mRzFUT0NhU1FoZWppTGpZTWtZY0hCaDBGcERTM0V3S2dnVnc2QkpxMVZ6OVF3VnlucDZac0tyOXl0ZklPMG5TS0psQ3VvZFEwTC9ZSks2T3ZZbjFMTXpYWktwUEtQVlVNTVhFWXRLN2VTU2x0c0kyV3QyMWNkdGJjK0g5bUVHN2R3STMxck1VMENESll4UFpoQkd3KzZnaFhkTGIwY0x4T09lVm1jd1ZDQXQ3M1VqRk16NVZXY08xc2VQWkN2WXJkSzNXN1RKUnB6dDk2U21sb0F6WXV5S1duNytQYjJmWFk1NjVyWUtML2RSOWE1OVlyWHJUc09uYjM3ZGNXTGtNZThra25hMW5uZW5ZdXo5YW9VTHB6QzNlZGR4SDQzL2Z1dll0Vi94WisvZS9uNVRVV2ZmLzhWV0tCVGlpeGc0SUt1QkxoZFRmY04ySjlxbzVRWDRYMHU4YUZoSGc5aVl3R0gzZ1FDQUNINUJBVURBSDhBTEtVQVZBRGZBRmtBQUFmL2dIK0NnNFNGaG9lSUE0cUtpSTJPajVDUmtwT1VsWmFYbUptSmk0eUNESithb2FLanBLV21wNGlmcXF1ZkVxaXZzTEd5czVHc3JYK2NBNjYwdkwyK3Y1ZTVpaExFeFgrN3dNbkt5N0xGenN6UTBkS3h6dFhJMDlqWjJ0dmMzZDdmNE9IaTQrVGw1dWZvNmVycjdPM3U3L0R4OHZQMDlmYjMrUG42Ky96OS92OEFBd29jbU84YXdZT1lFS0F3eE1BQ0F3bWRFRXFVaENPVkJZY0dKMm84dE1KUlE0d2JRMEpLc3VUYVJ3WWlVeUpDQUhIQUlBa1hINnFjK1FkRnkwV0RybHpNU0ZPak1KZkhIUGFrbWV1bHpLRXpPU0ZkaWdzbzA2ZFFvMHFkU3JXcTFhdFlzMnJkeXJXcjE2OWd3NG9kUzdhczJiTm8wNnBkeTdhdDI3ZHdlZVBLblV1M3J0MjdlUFBxM2N1M3I5Ky9nQU1MSGt5NDhEaW5oclZGVER3TkorUEdqQkEvWHVaNE1qVEhNQzFUWmdRVHBXWmdPRHQvQnMzNTR1aGVMa1B2UEkyNnRJVXJySG5oWkxEQUFzL1lxRXA3eHMyN251VGV3SU1MWjR4Z2VMSTZ4bEhCZEhqRjFlN2twSWg5RkFxOVZCM0VpNnRuQ2dRQUlma0VCUU1BZndBc1ZnQWtBQjBCZmdBQUIvK0FmNEtEaElXR2g0aUppb3VNalk2UGtGUk9VU29xQnBlRVRsUUNBcENlbjZDaG9xT2twYWFucUlrOVBpS3RJb2V2UGlwVUQ1eXB0N2k1dXJ1OHZZZ2pCME1xQlgrdkNNY295VWpMU0Fhc0lqNEdUcmErMWRiWDJObWxJeU1lQnNVaUJVaC9FdVFTNStqbkNNc0ZCU0kvbTUzYTgvVDE5cm5jS1QrdEJTZ0lmd011RlRDQUJNV0FRdWhRdEhPbm90YTloeEFqU2h5a1E0ZUhGTzdFL1JzMFlKM0FjT01RU2tDd3NJQVBKemttcWx6Sk1wZU9GQ2wwT1BuVDcrQ2lkZEJRaUF6WXo4QTdLaTJEQ2gzYVNJY0tIejRRU0xCcERsMmlnQ0lNTUcyS3BBQUNud1dBRXQzS3RlV1FWZUYwRHZKSWtKa2lGT0dtb25NMkFHMEJlVjMvNDhxZGw0ZGtXRUZ0Q2JscUpjaXFVMElJMHVJOVdHN2dIN1FHNE01ZHpCaVhraXZFZklpOU9xaWRDakIvbmp3UnBCbUJtUUhuREwzQ0svWVB5WU5Jb3Y0QjByaTFhMUVZQWtjN2FCZWFpaTJITUE4Q0E4WUpncW1DSkF0Q3N2RVBKcWdHL0x4ZXpuelJpMjlTKy9MVjNXakVrQncvQ2dEL2c2UmN3STBCYmZvczNidzg4d2swUmFCZ0lNR3RDbEhZdFlzc3QyNFFpdTdEUmJ3M3ovKzFHREZ4Sk5QT1AxcUVrbEo4d0lWMldIRUFsV1BjSHozMEp5RmpWbGp4aHhWeENKTEJLZEU0S0loVDRRbmlqNGNUbHJnWUhJSVFjVXNLVVpIb2xEOGNLV2ppakRReThsNUlnL3hGaUl3MTl1aGpaWWZ0S09NQU5zbW8wMHcvc2dRQy93aUlnSkNCazMvY1FFQ1NpR3doV0k0S0lpRFdYeEswUStWS0lGd2c1Z1VDeUlCQkZGRVlVSklLVGlqQjVKZUVsTkNpa0hoRlo4NVlmeUFKSnowRUVFQUVBV0VxVVVJVXpmZ2dpQ3ZSdU1PUEFWRW9zU2QzNm5tb2xJTUZmYWpnU0F3OG1nMGVMRkR5Z3c5UlhPQ0VLKzFjVXBaQjZxQ2dabkIvUkFIbkZGY2VCcG9nSkEzbTRSVktzS0NwTHhuK1lFQVgvQkF6MGpHL0dhS2xsdWkwdGVvZlBtUndRWklBWURDbmFTaUVOb0JWbGc1aVJob3d3TENyTGtrY0dnNUJ4VGJDa3doSUVIWk9XeGtwOGF5UFUzNWowd0RwT25nSkF4WllRT1FnU3VTUUF4VGZwaUpHT01UNE02K1d5d3hYRUdna0FsU1ZlbGhDRlJVYTcvYW9CUCs2bEU1NldBSDRMbUNHVHVXMHA4UU5BWjhTN2hJTXF0ck9hRWdSTWhDcWhTRG40VkpYUVZOQ3hUV3FhZE5WMWhaZ3hnSVdNUENOT1FQaFhISW9HRnFSQkRKcXRtUG9EeXBFd1VLbmxRekRTaUpvaVVTVE8xR0FvSmlKRjFjcmlBRktrVU1RMEF1c3M1UUV6cUJ4TkNweHNQRmZFai9nc1FnQm5kclhjR0JEVzFvVjExUDIySTVOelRCZ3VFTDVXbkNGVkJJd2dGYW9iNmNpZ3lDNk1qTDVIeitZb2VOaEVHUFpOS2lCMC9qZVJsZGx1c0FWUGx3QnRBVmsvM0Y2T0VaSFBnOEJTbWhPb3J3N1hvdEpGRjlQR0VXTDV4aWdldERFTENDSUdZUjhvNmZzOWhEd1dTSFJDRWtTU2JMVXlJSVBIRnV3QUl6YVg3SzYwSUtrL1U3L0VNeERKSjllUXJKTnRnaGRiRERqRzM5MDhZZnFIbytqUGVMNWJqOElBOFNVRDFHSGhSaGF1VkRnQTNwaDduSW1Vb0Y2Z0hZRiszbXNBRmZJMzRQODRJZlUrTzhoVXpCTkFNc0JJNERVcEIyaEt4RUxvZ0kwN2x6QmRYVW9IaC80d0xvVHppOGNGN3lIcjBpMEx3T09iUnlQcTlFUDV1YzZGQ0NQZ2xhaDRIQUdrUWQzWkRDRzlJakMrU3hWRHVLSVNGN2hFRURzekNNcWRPbmhEMllZQndVTFVnY1h1dkFQRlh6RkZKSG9pK3NaWUdhaDBWS2Q4Z001RTRHZ0hjb3hnUUh5UU1GMU1HQWpkZmhHSFZWRHhubThSeTMwQ1VtSXJsVUFaODFvR0hVWUd3OG9lQVVFMUFFRkZQU0RBY3pBQjQvQnJvL2ErRjNmbWhJaTQ1UXQvekRMTTVFTGtmQkQ1ZFFCQ1hUMFEya2c0d01sOUE2VHZjQWVVNXppeEFYWjZ3OWo1QThTNmdqSlNGYndDaXRFbmlCWTF5cFlaa09CNUxIV3ZHWmxtdEhNYUljTDhFTVcvNUM0QlpDU2dUemtuREd6SVlOcE5XVStQMEtLNmhhWHVQdWh3SGdXR0lRRkFsT05HMXpnQnU3TWdMUGdtY3VTWldlV0N0clhuWDRrQWdRc2dBRkl3RmYrcm1JOGE1NlRBZGZpQlNjSU1Ma2xpQ0VKY1lqb0MyYnhUdi85cmpSRWNwQWE5eW1JL1pRb01FZ3dYa0FUaDhXK1VXWXAvZE9GRExpQW9qL2c0S1U0Z0lNWUJwR0VGWlFQZmdBMFRkbE1NelFaZmVPVjVRa014N1lYd1h6OVFXaU4wNkJOQ25ZTEFSQ0JDemh3cVV4L1VBSWg4Q0NSZ3YvNEFSditFQWNWUmE0VDk2UlZ0ZWpUMHl3VnMwVFhTbDNhaXBvNHNxMHJlVUZLeFE5YXVvUVNhR0FRZUhBQWEwemdnSTVlOEk5aXRWWjB1SlRTQ1Iya254NzdXYjRNUjVBUDlRMHhEUnZGVmdVaGhFYW9LQTJDc0duazVBU2U3bmhIUGd4enJFZExoQzZkSm80OXFrSkhwWnA1eGx1NENoSXlnQjhPdkhxMHNIbm5qSjlGUUtaa2xLdWNBV1FBQXMwVXorakRrWUZFOWhNRG1Da2JLZ3NLR2NoMGs3dTZBQm9BR0o3UEtuWXAvT29UalZMS2dDc1lEaUNNY3hnaHhEYUs1UDRoQ1hjbHhCc0E0SWdiUkFFSFN5aXNwa0F3M2RaNjByb0w4RmhwektEZEVuMER0SGZjcVZ2SlVaek5JVGRjZjlDQTNRUWhBL1JBRkFPTnFJUC9UTmxUc2dkZ0wyUnVSYWsvZ3phT2N2Q1h0aElheHhMVk5qYnlwdSs0anZCQlRJWFFoMEdZS1FsWExVRVNBRVlJSUppQUI0TWd3bnU1dzh6NVhxOEFhNXVrOGJxMDRVeDlhQUEvZU1GMm1VTGl3K0QybStrSUJRSlE1Q3J5WVlBTEFJaERDZnJndGlTZ1J4QUVVRTRoWkpBR09NaTBDd1g4MW5RNXhsakYwbVREdEZMSGVVOVFJcDBrQlU4YUJiS0RRck9VSG50aWgvTDd3eHVTQU5Pb0RxSU1MN2hjZWcyUkJoNW9JQTk1Mk9HdUJFQ0FkblNNbE5Ua0g1d3pISmdma005RS9lU0lmVSt6NTVCZFpUdm1tcXdneWdDSEV2QkF4aG42UXhuT0N6QVpTS0VRYmdOQUd0d3B4Y3J0aWdqWXV6VHlpQWRuc1ZqUzB3anNEeXN3LzJxbmErM1VyS2creERFRzBUZnl3VUVGeWdGQkUrREFCVUxNbUFoaUhvUVVvSUFCREFTT0FDMHcxTGVDblU0VUZKVi9ya3ZuUms3bmd4OFFJZG1saURZOXJ0VzVzWlhOMmFXbWxRYWZJcUlCQ1dLbXpIWHBhd2ZSaEVLY0FOeVVYY0VLTkVBQUNBZnVCVE1OMkE0amFNTEYrcXlFeGVGZkFRandhVk1jeEhENjFrYS9qVU5lWWVIRlFRT1FUR1NqTEZUUW5qY1BuejRaSEJDOGFrRkVsUWgyNDBGTHhSQUUrQWtnQ0VtQUE0TTBwY0NmY2VkbmZHQ1dZajIyUDVPQW1CUUh5ZGZhV25JZmU0MjFMVEEzREVlMFpEQjFMRnRFZnhndEZNSVZoellNd3UwKzM0Q3QvNkJaUVV4QUJrcHU2ZEhlNDBMaDZjRVAvS09mOGY2d1F2K2FwQ0xyUVF2WlF3b3psWDlReXJQMDZwbWRGUElLZm9DbUl6czFWTUlaL0llR0M0TFFxemEwMitBdUNBZ1h3c1RmNnZzVkdGbUFPb2habUdQN2c2OUJvYy9nR3BnZWJNTVBucCs0cnZBV1ppbFk4VWZOcEhKNWIrT1lFR3ZuUXNPYmtDRXVsTUhRZjRCQ0gwYjdCaG1jQUE0YmdLZ1lscTZwVFBIQkFJdjBBMlNrZVFpZmhCSVM1VERjYWZVSmtkeVRpR2UwZW5McktnT1Y5UlIwQVQ3NURYQ1c0TFpDWUNDbWNZQWlPK2RsaEVBRUpXQm9Kd0FGNUJZSEJFQnBieUFHS1pja21aSUhCc0FBRkpSRmRiQVJQREJIYkFRSkZ2SUhlU0JRaTNVRjJJVmk5TkJrOGFkUm51VkpMcE4vSlJRK2dWRXRSREp0aWpBQmNCQlRMNkQvZ0RTR2ZCT0FhRHY0QnkvZ1ZYR0FJNC95SG91VVI2N25CM1hRUlFpZ0hCc29DR0hrQlBXRU15MVFBaXkwV096aEZDYTRiMzRHZnk5WER2UDNJSWlWVG9NZ1BqcGhFcTZBT1lvQVA0eWdnSVVRVVZ6MUF4SFlJOEJpQm5xd09IemdTOGRBUVJ1NEFDdmtYWGV6VUEybUJDK1lEbngyQzk2UmNrVUNFT0FrYW9ERWNvT0FRNE5IQ09MakRqUnhDZkl6V28wQUJldWxDRkF3QVc3d0IyS0FVQUVqQXFwakJ0K1FMM25vUTN6NENBMzRpclJqWkNSb2lCeGxjdE8yaGIvRk1FU0NUelJrSjluU1dFTUVaNVNZR2xGaEJ2aWlCNjZTQmorWUNMRlZCaEdGSXJOMkNGY21hMktBWFpvaUFQc0FUTk5VVFVLR1JZVEhDSDNTZ0pURy93TWxaSWg3aGdzSXdBcXpFVzFya3c0MXhEQU5FNFozMGd6Mk1YQ0Z3RCtJdFRvTGNJQ214d2pkcG1TQ29HVHNWUWhRVUFhaG1BUVFPSWM2WklwOE1HM2M2SFJHRm9oOXdna2FZRlRaNEJPdDBCM0FrVkhEUWl5aFpVc0J0Rk4zb2lyMnNYTGhneGlya3o4bDhBZmR4Z2hLeG9iUkY1QmpOZ0Z1NXdad3NBVFcrQ2pYbzFZK1JFMUdKVHlUdUFpVVJtbDlZZ0pCVXc5cUlvTXhBM3pQd0E5Znh4M3hLSktob1JBbGVVNlVpRHFtbUpMYUk1T2hrQVF6aG54SkVJcHBBRis0K0NNUVJGVGxKRFJmeEFpY01KVDRFcEhaRURMSmdrOTJVUktLUW56R0VaVm9aQnJuZzVLVTZCTUdvSlhweEFCc0lIZGRHUWM3MkdEUjJHM3F0djhycmdKQkZyQWVhUWw3NENpT2FMQllEN0dMUFVZazd1QnVobU00ZG1FUWVSbVNlM2thSWtKQ1pXZ0dyZUIwNVVSTmJHQUZ5K2dJTXVDVk93Z0ZpQ2tJR1VLRXU2SWRiU0dDWkhoK2c1QUJ0aENPR1dDVVJ3a1JIR2twNDVGZmhLQUhRblVRU3lRaVBZWU9wdGxNMUZTR3FjRXhpS0NiaXdDVDBRY0hPY2hnTDlDU3Nma3R4RUFrSXNnSWdJZUZ2Z21YOWtBV2pOZ1JmR1FJL0NNOE5MR0l6Q0NhbkhRKzdQU1hpSlVJWXRBQytHWUkxdmVCZjJBbU9HQjZVSkJsb1NocjhWTXl4TkEzQWhWdWlLQUJuNmxPUWVPZTlrQ01wS0lVUHVGMGgvQmRoQkFRZzhBUGpwZGJ0T0pNSjZtZGlNQUFQZ0FIYnhDYnM4WmVVSUFpTVJyL2ZRRklZN1paZDlKNU5EaVNLUlNLTlZHMkVzRm5CbG5VQ3M1UUFHVElDTCtSRWNLSEZmRG9iQ2w2VlBlWUNPTHpVTEc1QVRZS2VoZ2dBMnYzQjNkM29CdlFrbit3QlBGVGx2eEVIbyt3Z2lzaEFka3BlSmIwQ2lIVkNQMEVtS2FUWDZuUllXMWhLRHJCTjB2YUNBWWdCdUI1Q0hrWFZUZklWU2lTZ0RRMUNKSVdPZjJFcHFlWENONVJEMjdCQUZwcFBITDZnb2t3SHRGZ3FUNXBTVURHYjY1Z0VERDBDRmZRQlhBd0FlVTVhQ2ppUGhNUWE5VjNvQk1RbG9MUW9JMEtvUXBKQ0htVXEzR1pWc05UVHUwV0RocHFQTi8xZmRHUWxjUGtjWGRXcDMxQlNGdnBPb3ZBQUVrQWtCandBdDRwQ05kcUNMRkdkN0cyZmJ6YUhKTWovd1BpT3E2VklRRkJHcTBpT1JIck5JWi82anBYMEFyK1ZJYU8welRDZzVIUWxUOVlJUUtVWkttcG9SQStReXhyYVFpbms2Q0NGZ2N2a0Faa3lnaGxabE1lTlRSZEFLbUxNQU5iUWE2R1FBU2ZCbDJOa0lVc2dYK3BRMUwzNkE1ejZqcjRTREFFVXd3aHEwNllpcHJhQTFJWXlUSUkwSzZwR1ZObG9EUlFrQVp4RUkyTEFBWGorWVBmZ0FBNGtIR040QVVLUUFoNmh3TmVNQlE4RUFSVW9BUVp3QU5PKzVrTVlBSW5sRHFla0FlYXlSS1c1ckdGNEE2QlNXMVI0VjJPd3hjTFJBajVBeG4vcVQzQ3hBcmlFQkwvZVFnVzhBT0dsZ1l3bVFTWWxhMEFBMkVSQlgzazBRWGNWd2hlSUxFK0J3ZHN3QWJRNTFLQUd4UkdLWmpWUlArWm5yQ0xMTkVsV1dtUnc0Z3VCY1ZPMnFNOTIxTjVKK3VUUjZtdjZCU25QdU9wbExnSVVaQUU4SU1CZ291cXBmY0g1Y1lGTHdCUkwwVlRxUGNIZW5jSUNoQlZHYUlDU2lBRUR5QUlSenNJSDNpNExHRTRzMmlPYXVvSVVkY1IzOW9MVTZrbTdBcXpqdU5DL0tOV3dQb044NG1oWnN1YW1ldTVoUEN1U2dxemc2QUhEQUFIQm9zaUlRRzBoOEFHWFdBQU41bVRpM0M3T01BRndJa0lMeEJWY3NnUyttS081MkNNb2RBZXZDa1JsTWNYQnRDYUFocys3OXExNVhRNkdSR3dLOXNLcXVPMVZrbTJSZ3ErWk5zR1VZVUR0Mm9HLzlBRlp1cDJ3RUlPT3ZHd2pqQURoZnNKT0pCbU5NSTIwWGtQR0ZrUWlxSllraXV3TWFpcEExWC9EUEZLaVdiUUQ2a3BySWVncVlwZ0FTVVFOUlFzQ0hwZ0FRYW5WY2Q3Q0Y1UXdvVndCSXpnQlFtZ2hpb2xycUN3QUR5Q2RWM2lpL2JRSHVId013b3NyRDVjaGtROHc0V1FQOWtKbDlVMGlkYUVtdGFRREpxSnNZWXd0R2I2Qng0Z0NuUGdCWERBZm84d2U0Y1FCQ1VIQ3JPSUN0ZkNuZlhnRHI4NlB4a0JvbVc0VHMzZ3ZKdXJUdmo0d0dSYkNHdDh3OWJRZTQxQXdwcTRCUjVRQVo3Z3lVblFtSXpneDBFZ0E2eUJDSmhWQnd5Z0FVN0xBM25nQ1h5Z2hRSDdDRWIyRHlnd3hOZ0FVaW5wT2puTXcyVzRPTTdFRHpIY3ZmekxDQXhRek5hd0FDVEtDRXd3QTZwR0EycGdBMFFVQXA3Y0NFY1FBbjhnQkVxM2lYL2d4eklRLzBLSXdBY2lHSFdlY0FXaGhjdUpFTXRvaDg2WFBNTWVlenFYOEVXZzZnOUdTa0NNRUpTTGdNOFMwY3lEc0FXNFVRYy8wQVlyNEhvZzZBaEhTd2xMRUdpTE1BSGV6QUtMWk16b01NdU1BQm0vb2FHZndNNjVIQTI3SEQ2R2NNQ2l5OHZ0SU1seVFYcUtvSGVldkFjYVFHaFJ0UVJKaUFmVnJBaEhjSU1ZekFaOWF3aFFRQVNYcVRnWlN5K3QxN3VRTURqbnlnaFhKUlNwQWNOV2lnUSs4TkhVQktvV3ZSd3R0UWVDZ00wV0RIM1lwaHpZekFndDBGRmlBTWVHOEFZVm1TbTVLaHVmd0FPcVdkT01nRHprekJLWG9MVUNteG9jVjhhbDB4K0Nxd0VtSUFnMGdBY2FJTk9Ec0FTUlpOQ0MwQVkvTU1mR0hBckF0R2lPd0FNRm9QL1Bqb0JWTFRFUy9SREdoWEFGUGdTK3pOa2ZiSEI4ZytBSFNoQzdOSlZLZjNEVmpiQUVVVkM3dHlBRWZxQTlDL1lJVWREVXpJRVdFazNKdTdJRmZ2QmVoY3NHSmlCRWVmRFNpN0FFbTIzV2NhSk1qcEFIa04wSXFjMGZoZEcxdFNVSVRpd0lzbjJBaFpzRWZaM2JqdEFHanVJSW1yTk5pSkNPalBzb3RUc0hoT0FBSnFEWGZ4M2RndURkaWVETUdyRFpTWXpkajlBUnI3MHIzcjNjSHVBSEpYQ29ncUFFUXZRSE5oRGZpakFEWXVBSEtyRE43QzBLb0RITTZrUVBrd2gzQUZrTjVtMElhdkFIU3ZBREVvN2YrUzBQdjRzSUxjQUdmdEFHNkR2Z3RFZWxaY3pXdW9DWlVDdWkzQkZMU0xBSERhNmVGQm9DM3UwRnk1MEljRkQvQVdLZ2V4OENDU1JoMkpqRUZHRHJteUtPb2NENjQyNUx2RENubVpxNUx1dnRDYXBHQ09RYzQxVUNSb1N3QXprUTMwT3JDRXRjQmZKMVZCRHJFKytOM2VrQXRZSUF0Y1g3SVdET1JFUDZGRVp1NUtlQWFqNFJBMlBRQ0I2d0JSVlFBUTIrNG9qd3V6Yk9pS3hkQ0h3VFRSNWVJNU82Q0p1UkMxWHdDaEx3cHlmbkNET3MySC9PSCt6QkZCcUtpc1Z3QzJNUUE2UHhUeU5xNGpmeDJCWVExSTFlSG8rK1AwMWRHajR3NktNQUxOK1FWQnd4QURydENHdHRBYS84NlJNUzZNbUtZc3BTQ0crK0NITXdCcmtlZTRoUTRCQ2Jqc01qNitZeEZmb3lTd1p1Q0d3N0dqR2dHYzZ1R1RIQUxBcHRqNFpRNEhBNWg1eE83Qk9DTHprSjg3SEQ4VGt0MDVnUlNzZ2pTaVF4L0pHYkdwZ1lyZTFiRVZtTDViaTBSNFBJUlNSRmhSRHNYQlg0c2h3clNleTBIdVpZQ09MVmtGRVJoT21aVG9xS2tGQ3YwVjJBU095aHZpTkd0dTZta0ZTbnRaUVdVSmJ1RGZFYm01MW0wSzRldytneDFPOGQzZVdJaUdJU1lNV05VTkVZUDd5NmhjK2d1dDNzYmc5NnpBaCsxaGgyQTVmL2xCR1cvUEk2L3dsQ0V3NGlqVmM3SC9TSkVEUSs0UU9LaktGQ24vU1VIQmh0UzhrdXIvUTdUOUdLM2NDK0RmV2ZmbXZRYWdqNUExbFczL1ZrUzFJbTZmVkt2N2poVVBWaXorN2w1Qk5uTC9aYlgvYkx1L1ovL3E3b0F1OXduL1R3WEMxdldmZFE3L0Y2bndxQkFBQWgrUVFGQXdCL0FDd0FBQUFBQVFBQkFBQUhBNEIvZ1FBaCtRUUZBd0IvQUN5NUFHMEFrQUEyQUFBSC80Qi9nb09FaFlhSEE0VVNFZ3htS0llUWtaS1RsSldXbDVpWml3eWNGcDRMQ0Q2Wm82U2xwcWVUaVoyZXJKd01TS2l4c3JPMEE0bU1ES3llbkl1Q0JyVEF3Y0tSdG9LNUZxNVhpeExEemM3T3FxNlN2Yy9WMXFXdXpIK0prQU9MajlmaDRwSGF4TGEyMU9QcTZ0emQ1K2NTN2V2endMeVYzdkh2OVB2QnVPV1M2UEx4R3pocmdMMXBoWXI5SThodzFFRnpDeHRLUEdVaDFibUpHRThKQWFndm8wZGdGeitLckZWc3BFbFVKVStxSEpWeXBjdEtERnErbkFtcGhEeWFPQTB4eU1tenA4K2ZRSU1LSFJSeDZNbVFSbGNpVFhwVUp0T1JUcDllRTVWcHFkUnF0aENRaW5wMW1GVkxIYnMyQzF2MXExaFpNYU5LdUtMVm9yZXpJT0xOL3JHd1lDY2xybkJMeVQyMk5lOHBnWWVPRlhYcmw5Uk91em85RFhhTHQzQkNoWWdINVdLd0dLeGN4OXZrTXFxYjZZbUZvdTl1RmlhcmFCZXBLM1VIaHg1Tm1wRGdVbVowVVVZVXVqSFExa1JObTlMS3FKWHEyclo1aW5hTnJMS21WY1hOWFdiYSsvT3dUYjZGcmo2dSsxbnpYY1lOMVdZSGZMb2xDZEhGWFU5K3I3djU4NExPcXdmdWtISjJaOUFYVkN5L3ZuNzYrdWFGTHBPRnZ5UitablRsc1FCbSt5ekF4eVNMWFBIUVZSYnd3WWQ4cmtRbzRZUVRhclBXRmNwZzRvY3U4em5taHg5OFNNamhpS3hZaUl3RmZtVGloM3Z2RVhqSmdLUEFlRTBnQUNINUJBVURBSDhBTEtVQVZBRGZBRmtBQUFmL2dIK0NnNFNGaG9lSUVvcUtpSTJPajVDUmtwT1VsWmFYbUptSmk0eUNpNXFnb2FLanBLV21tNXlwcDZ1c3JhNnZrcW1kcXJDMXRyZTRtTElTdWIyK3Y4REJ3c1BFeGNiSHlNbkt5OHpOenMvUTBkTFQxTlhXMTlqWjJ0dmMzZDdmNE9IaTQrVGw1dWZvNmVycjdPM3U3L0R4NlFQeTlhY0QrQU9kOXZ5WitSTDArZ25FcEMvZndJT1YvaUZjR0NrZlBvWVFHem1NU0xHUXdZb1kvMXpNeUxHang0OGdRNG9jU2JLa3laTW9VNnBjeWJLbFMwczZiSWg1U2EzQ254MTRNTDFvVTRLbU5BOGxWQWp4UTlRU0Rody8ydmg4VnFFRUhCeHNUQkQxSXloUEpDODQvaVJ4dXJTWms2ZUNsRXlsZENUckh5VmRtVlZZY2xSUWliR1Vwc3oyVExzc2lkay9iK0ZLYWhHV3JySUtkZ2RGbVVwMVVsazJHdndtMDhGMlVON0NsT0NvOEROWGNiRUtVZHIrNGFGM0Vwd2xsQzBmeS9IamFCZkNsNUtJVnFZa2l0U2lxN3VwaVUyN3R1M2J1SFByM3MyN3QrL2Z3SU1MSDA2OHVQSGp5Sk1yWDg2OE9ibUh6b2x0akE1c09uVmYxcS9ubXFnZGUvYnV0YmlEeC9WOXZQbno2Tk9yWHg4dUlQdGNGdDZ2Y3Zqd2l2eDc5TjNmSDVXSDF5QUVDT3czU2lBQUlma0VCUU1BZndBc1h3QWtBQlFCZ1FBQUIvK0FmNEtEaElXR2g0aUppb3VNalk2UGhpbHFBcFNWbEErWUR3S1FuSjJlbjZDaG9xT2twYWFDWUQxUFBVNVVVU28vUHdXekJUNEZWSmRVRDZlOHZiNi93TUhDSTA2d1BpTEl5TFBKSW44R1ZFSWhLaUkrS3J2QzJObmEyOXlnUXlsL0JZSWlCUVlHS0FnSUF3TUlLQ2dHNGhMeUF5Z0YxRkhkK2ZyNy9LZmZCajdHbFVQd1I1NUJlWVRxR1Jod0VJRTlBMXY2U1p4SWtTSVlnTTNJb1JzZzZPQkJqb1BvRVR4NHhRQzFJUlZUcWx6WlM0VTlaSCtRTkpxbjd0Qkhld1d1c2R6SnN5ZWlGQzZWR1NDNExoM0lkQVFMU2FESDBGQzZlU1p6K3B4S1ZXV2VGTWRDMG9PWGpGYXlvWVpFU2lnMDROeThoMVhUcXVVMndZUVplODcvQ0NMZ1NzNUFMTHMvN0NaTFNraHN4N0V4a1l3ZFlBL2Yyc09JZVVWQjBtemhINGZJcWprWmNjRERseDZZZS95SmNhd0FDa05MQVNNVTlJNzBIeDlVZGlSZXpicFRHd1BoRUVpb1IwMUZDaDBlL293QU13Z3pvUi9JWUNzZFBmclA1NmFDOExSZXpod1JocytDSVZlN0RXa0xjSnVpaVNPQlRmaHg4Ky9NVC95WnNyQ3NDQU1sZE9qb3BPWVBjQU9BUXlZdFBsWW1nbVpPd090ZnZRRk9HNGRpcU9ESEh6cHgwdDU3OFFtQ3hHY0ZMY1ZRV1J5WjVFTUYrMVdJbUJoZHJDQ0ZFS0ljMkF4Wm5qWFlUa0hlRVNiQ0V4OVlxT0tLaS94d0NBSStqQ1FCRWh3dFJab0lYU2h4QVlzOHNyVEpLV3JrNEtJaDhJRGtqaUgycU5CZS80OU1ycGhiV09VSVVwWlQxRGp4WTVNK1hhRGxqaGV3Z0tVbktJaVFsRXhFbnJma2wvM3MrQWNJR1NqeFJ4b1pvQ0VuR2x0dWlTWWlac1JVU0pSaFNYa01MbGZlbWMwVU1rUVJoVG15ekJLT0Q0d0c5RU1VVHBTZ0JCb2dhQ2xJQm9JNjR4MGhZZzVDSmoyQ21JVENnSm4yZ3NNZlZyUnhoVEhISkROSU03VEV1Z3hNNVNCUkFoVnBaR3BZZkJMdzZVeU5ZTjNuQXdzRWxNcExIR0lzNGFvNHppeklvRHJyUkN0dE9yVEI5SWNLYW1iS1lFRXdBanRJYWM2SU1JR3hwNGdCYXprb3JDTWxPOUtDNWhGcDlnUlVnSTUzcXZHQW9uOFZRS1k2VUVsWlFCUUVFRUd1S0ZZa01ZaHNqNzNqRlRQbGdFVEl1Myt3bzY4RVYvQ1FnZjhLVVlEd1pRbEsxVk9qUVJhUUdmRVZkZzdzaVJWVzBMaU93cEg1RU1zUEtzUWNWSzBMT215UXd6Q2lJSThaSnYyQWFhWkxGVEFTUXhZc01QU2wyWnJNaVJWL3RQRU9NbDBnWVNnUlJCQmc5ZFVDb0ZIQ29ZeVN3MWRCN0J3c3RFRmh6aXNvUnlIREY3RUVGdnh4UlFFMS9tR0dFejhyM1FteVl2enhRZ3Rwa1BxSHdJSUEva2NsQktqd2g5Y1BwNnRWZ3hMY0owNnhUS29nMkI4TUxQRFdQSUF0TUJRRERGand0dDJtVE5FSUZIOGswTVl4d29XaytIQ3ppVEFrazNGZVFia0ZEQlJnaGp5Y0Y0MENFZ3RZVUxSZG9Pc1RCVFZmUDRid3cvSzhMWUlLNC9ab2RaNmRMNENFR1F6OHNZRGNsaHZndXlBRXVSbDhOOU13TzBqLzR3NXpyM1BqeUxUQXBOVktTTkM1QldiSVhyUVp2TmR1eHZWdS83SEM5L2tNSHhaeWd4aUtQRXpTaFI0QjRBOEFlTVB0ZkxjOTN6SEFBSlViU3U4RzBZVUQ4bzhid05uV1h6WTRGNGJBcUJwTWdvSVBidmVIN1pYd2QyYlFBd0o0NXpzOW5FWndGOHdHQzJ4UlB1SUFabmNEWEY2VGZMQ3RCdXBPSnB6akF4OEVrU2ZEeEZBYjB4RFpCb3ZqSFlLSUkxQXJLa0QxR01qQTdBM0NENlNxZzNzZ2Q4UnNCSVFzOHdFTVVjSWhBaW93aVdQMzg5MEMrTENBTmI3TkJJTEFZaUdVb0xFdVltTWFaSEVNY2ZTVXVoNWx3QWU4RTZJYy8rQ0hQTmd1am1iUTRpQ01hTWRnc0VBY1h6T0FUT2JoUWRqY1owMTFaSkU0aGtoSVVtR3gvNC9wd0orbUdubEhwOEFOSVNNQml6ZzQxaU5aS0hLUUNqSkE3NnhJT1VHZ2daVDVJTXhueHJMTEl6RkdCVGZvMFRSazE4ay84TUVDZktnSEEyVW5PL3lKRHBmZE1BZUpKaG14eDVEam1TeWF4bWVvS0FpalNiRnRiYnVmZHhnSnpXeDRMRlRsTTFFVWNzVWkxUFhPaE5Zemd3aUlxYm5QV000OTJMakFEVEpBQlJiNGt3VzRDS2JkQWhLZkFjUklRY1V6U1JRRXlpSnlVTEZ0OFJSQm5rZ0RHd3NreUJjRUFBRUl2QlFISEhqMG8zSDRBUldTWml6RDhhVlhaTklnOTg1aktVMFc0QXJnaEtqbEpJcS90M1NrajcwZ0FnYmlJSWc0SklFTHNXakRJSENBQWFXeFFBUWlrNEEwRlZRSU05Z2lBNWxVa1V6U3lMbEJ5RE9OQy8rUVhWS2d3d3VyWVFBT2YyQkRHMWhnQWp4ZzBXOVJNRmdTdUdpc2VIUWtISXF3QjdGNEZDWUU5RTRlV1pXTjBEakhBRjV5VDArbmlFTGVycFVIditYQkJCcjRneFNrSUFpaDhxOXhjRE9FNGt5aUFoaGFLRXdRTkFnRDZEZWpCM0dFVDRTSmJDa0crd2Z2TGFKWUx3Z2M2Q0NiRk9GMDFqakxZNnVGSEJjYWVheXd0Z0ZrVnE4NmRRckRRUUlLQjB3Q05nY1d0S1RJcGo0RUNkTVBaRnNoeDMxc0tXb3J6am1WS2dLVmVrSUNTL2lER0hqd0NTaXdnUTNpUXhPYlFzU1FYdTBTY3d1eTV1dFdSQmdmMkt3cy9Cck5mYmFLVkZGSUlDQkx5RU1ob0VDNlJxQkJBMndRQTA2YkpJQUxSSUdWRVlTTlppMndyUUtzVjBXaDVjai9jWlZxbE5FWTlGbm5DY1ZzQkZHSFBneUN2NmdxUTM4WDRZY2x3R0VBMWJ0VGdUT0FOdWxORXNWRjR3c0M4dU1sOWtKeWxINXRrTDgrNWF2ckpnRUhQSERBaDZFUVVpWDhBQTV2S0FRSUFqWUlHZVRCWUV0QUI1b0VRQUFCOEFER0xtYkFPcUozTkRQSW9FZVFWR3FOd0ZXY3BZWmp3SSs0NzdYKzhHWCtCdUVGWGNpREhGQmxNRUhJUURuN0JjRVNjQUFIUGx1WFI1UzRjZ2tYZ0k2K3NpM0dKSkxiM25nRUc1MkJwWEhDVVplQ1JJc3ZUOGdrdTMrQXdodE9rSVFYMUZrUVNZQkRmNWtyQ0F5b3lnUkMrSFNUcWl3QUlXRFpiVlBrbk5Fb3g3bjdGcFZGc0JGTWVxRjdzQnU2TjFRRnNCRW5KRURhUDd6QkNnSCtjUmtFLzhHRlB4QTEwNGtsUkdLaDhBSVczQUFFTjhEMGx3andBOEc4cjNPRFJvRVorTUN6ZDFyQUFQdGpFV1BnTXhkdXBVNW5LMjF0c011WENBM3k1Y3N2Z0VOaTE5QUdLelNCRURqZ2dnd1lTd2cveUlEYVFSREVHM0R3NER1WlVIY3BMTGNhMGJ3ZnpFSmFTbnFFZDhSQ0ZCTzQwZHNtNkFBTWJGaUpxbUwvNGRhRFNFSVE5UHNISHJTaERUeEFBK2tTL29jNHNDRlRVaFRFdzZXWHdybE1VSE1OM3c5dElSUXh4enpHWVh6eUdMM1RXZHV4RUVUZmdGTmZHOHJ3NzBFMHUrWnNaaXlBUVMzelB3U0JBQy9BZ1JLeEpJdjNQWlRRS1h6SEJBV3hYSnJQbG9aeEtRaFlqbjVUWnRVVmVRZnB5RHBFM2pSQ2ZQVVBjS2o2SHdTZmhQOGtRRUZqSk5kZkVOUnFMRm1jOE94SVFJQWV6SUNDZDFadnVTd3EzNk9OdzczNWhJTWpkNWNTVWlaY0kwa1hNUEdaL3NPbnVjRFR3WVAxRDhWS3ZLcERsZUl2bFYyUWZtQmpHOEVpeE43em9SWlEzRStFWTlMTGZjM243dk9kTkRNRUF4aDY0OEMwZGc1N3MvOWVoamEwM3V0KzROQWdYaEFFTG55VXp4UjNxUmJQR2tjL3BBNlc0UWgraFg2OU8yNTlhbHZKaDlIeDlPVU9ld2dHSk9VVEEzUGYwR2VQT3R1anl6WUlhTUFITitkc2J5QURDL2NDR1BBR0U4QndYeElFdHFBYzVOZEpMMVYrcEFJUDZxY2Y0Tkp1RjFkTklVRmVCU0VUU0ZBNWJmUTI3bVVqQmxFOGhmQUdvUllISi9BR01HZ0lhTkFHSG5WMVBmVmxxS0wvYlV3aUExMWdBRU0wZ1lWVWdZUjBCWDVUQUpUQ0V4OG5DbFBTZ1ZQaUw5eVJEb2RnTk5WRlNTdlRkNGt3WW9vUWc0VFFaNENYQkNySUkrY3hTMFBFUm45UUJ5L1ZleWhRZTRxMEVpSVJNVW5JQ2VvQ0lSMzRLM1czWTRhUVZlY3hHK0t3REtySENXK0FBU2gzQ0gvWWJEaWdjVTN5QWtobGJqTDFOakRsT3daQVRJTUFCQ3BCWGZEeGhvL1FRUUVrRysyR1RuVUhFdG9EVVlSUU8rV2dETE1RRUhHQWc0c0FCUmdRYXY2WFdvZHdBbTdRTkdKM1VUeHlWQ3pFUU4za0VOK0dCS0NJaFBFbGJJcmdNRFlUZXM3d0dTdVVpUjJCQXI5bUR1Q0dDT1JBUFoxekJYREFOSTFnTU9MUlUzcGpDRy9BQld2d0IyVlFpTFRJSWxOUS8xMksyRTNLMURZTDREYzlrUjBPc2dnT0VvY2VWRjhLY2h5RU1IZm9ReFJ6UndpMDh4Q1ZZMVdvVW8ycFoyZUM4SG9mZGdLa3N3YmZhSWhNTWp4MjVVQXlCUnRyZHhqdGNnamw1U0JVR0VEZmNsN2ZBaExvczB1U1ZBanpFdzc5V0FqVTZBbmZtR1NEc0kzZHVBWnhBQWRmbUUyUDBUdFZKUWkxZ3dLY0pKRWVxR040WjF2bU1CUklaeVNUVkZEalF4aVROR0M2SXlhaTFFMWlnQU5ZQ0FsaGg1S1o5Z0w5bFNzNjJDUXVjbHdNWVRSbUFDTzFoeGhpWkJSa1VVbk1JQ1pqWVJKYlJTTTE0Uzc2SW5jRkFJcEZjd1cyMEpYZDlBTTRBSlcvZFpLRGdBRmwwSTE5R0hROEVoQUlnenMrS1R2a2xCYVExaXJVQUJiU1loSklGZjgvYjdHTXZNV1lpVWx2QTZSZ1FEUUlqa2lPaHpCUmpvQ0ZNdkJqS0FrRmhpY0lzU2dvUk1Bb01nSmRZNkdPaDZHTWRTRUk4Wkl1NjJCL1Y5QkdheVJQSVZoZE1VRU9vVUlPTlRRamxqbFBvcFFuT1ljSVMyQUZUV2tJL09XS21RWUZjTkI2TW5BQzNOaFlmMUNWa1VNT3ZMSkNONWtJVndDSksrRTRsR09iRm5BZlpNa1lsWmVVZ2NFQUlqZ0F6VUNDNCttYjQrTlhyU05PSmFTZTlIbUhaa0JVcUpoeUorZDFSZlVDWHlZRDMzaU5MRmlhbmhLT0xMSUNlUmhmajBBakxKRlZ0VkNiRDVWTTUzRWZ2Sk1JREVaOHdsbEY4clF0bEZRUVlYS2Yxb09lbURsVFltQ1hQWFVxcWdoV2NRQ0RxUlVIcEVOdFVMbHNZbUNKSytML0lycjJrb2tnV2lzUkpyZjRVS0lZb1NSS0NBUUJHNTlJUlpvVFdlOHlJMGc1cEZFSUc5ZEhDT0xCWnpXM0FmK25lbERwV0d0V0tnSGhhQVBBY280UVhpblJPcFVIVCtGMk9NV1pDRVdxTHhFWlkyVHBFZkxBR05SekJTT0pvUXdnQmttQW9vSUFCVnpBTk1zbW1xVVdvOUxKbDBOU1FIY2lBNEE1RzNEa0NJWWtwaWtSSm1WNkNIQkpEbktKanRjamhiVmdYWGdZSFk5eEVJeFJDNGlqQ0lUMmVuL0lUb1NRbklVUWdIL2dmUVBwQXdpcUlrRWdRcEcxbll4d0JSbTJFd1F4ZGlVS0cybXFSdDFKcHlwRVJwVUhrclZEUnNGUlhsR3hJUFlnb3ZxNEFENmdQdFFXQjRENENIb1ppd1k2Skd4Z280OUFrTDZBWjZVUVBsL0svd255Rkg0U0VTR0pjRS9GV1RUcWVUamtrRjcyTUt6NldLelYxUTV3aDFRa1dEdmhWelI3NW1sRWhRRTR3SnhaS0dJR3FpY0RBQWNGMkFoTTRBVUFOd2d6d0FUQm9IMmtVQWRGNnFTSndBZjNvWkFVVVY2bjRaMGdDUSsxVnp2bnNSM2k4NjdvU1R0RVpEM2tkaDduVVRScTlCa2NTd2dMRUFXdko1V0RJSzBCU1FoSlJqcGx3QVVFK1RWczhHZUV3QVFLTUFnR1czamNPZ05EK3d1RkNRckpCQXFNb2FNU3dhUjJkUWdPQkZPRDlyUkZRemsySlNwTzJwYWdDQnMrSUtGcVJCQ2NtUWdsd0FaRlJZTkpzR2ZNMWpRdnh3VmM0R2tBOXdQT3B3aGVNQU4vb0Q1UklBUTg4Q05Ic0lXQ2NDcFRRYTZMQUErNFNpMjNTclZaVy8rZlBXWTliMk4vSkZvOXN0U0xNUkdSM3NHc2hkQkdZZ0FIUC9ZSHJEUjdoWUFEYXd0NHg4TUlUREFEY0xBRXFHZTNZRFU1UE1GZG45QzRVZHVFcDNFTW1Ec0liZVM0bWxtaUJKR0lJQW1YazJ1T2NwTzVZV0k5aXhDellBVUh2c1U5WXRDOGViTUVQaUJKc3NtNTJqb0lDc0N0blFBSHJnc2VCcVdyL1RBbDVXQzQ1RkNiZDNnRlNNRUF0Z3F2bUhsdW8yUUlsS3B6aEJhMlNDS2NqSkJWOFNOS1VzaDhIOEVRWFlBRGhDc0lwNnNJYzhBSVI4QTAzc3NhOTFnUkRPR2ozY1FBdlR0ZzZza3dieUZMbTRrSU01VTZ2K01EY2hrWW9qQUwwQ0l0TmZJRFMrQ1hoS0N3Z3hVUm4zQUVQMWE2ekVHTUU2RlVZWHM5dm5vNFkyZi9FbTV6QlR6REtHbHFDQUhSaXhBNnRZTzJRcFE3b3FKZ0ZDQXNhWDI0Q05mN1lCVlFBUU1NQ1I0Z1pDWUhDdEcyRHhOVkpCdXNEd3hSYVNlVVZZY3p0WGlJQUxyWFJtR0NsSGNvcDVFTGtvdkxDMzExeEFERUNGN0F1WVFRQWdPQ0IzaXdBMnBBQTQ2Z3NEblN2cUN3QU9vSnRPNG9DanpBSGZyQ212dFFYclBRbFMwYmh0enpUVWhhTmxsOEJTUG9DRU5jQ3UrNGQrendSWEFzdUgvZ0FUcmdKdEQzQjBMV0NFa3JDTmJaQ1pCeHdJckFCMGpzQ2VhUVBDclJGUFNMbVpRelBia29EZy9sTzR4eG9YY29FVm9XTFV1QkJLbWNDSjc4QjNPUUg0bUF3bytRQk5XN0NIV1ZqbVlFQ2FFQkNydkxodEVjaGZETGlFbkpRSWE3L3hPaFFRK2MvQWg0UzhxQ0FBNktVTVdOVUFKSndNcVAwSWgrTU1xMWlnS1g3QWdRcE13cnNSUytpNkdPNk12eCtySVRvUWRhcG93SEN3a3pFQWM4WUFQQTBBYUdLZ29tMndteWc4aU93QWNReXhMcTBwYUw0RHRYOEdkbStxZ04vUWx4VURlUGNDYnJYTkQ2QU5EN1ViYUlnSTZORkFKUC9BaUNYRTQ3V3FkS3cwb0tLd2dVd2dnMjhOS0trRzR5L1FuYVl6ZkgvTGVDTUFmTG13aDRSdFNJTUFORGNtSS96UW5sa01YN1FMSDU4TGRQek15SnNBY1VjdE9KSUZSUmtLMVBEUWtEUUQwVjBWZk51QTlLWFFnNXNMcUVzS2dBYXdnS3NBUmtzQVQvRzlhR1VNK0dZR2hTSFlvejZRanZTSXNmM1FzL2dBQU9NQWFnNEFjNThQOEhDc0RWaUxCZFMvREtTYmdPYS9qVTdzTk5lUjNNVzlhVmZHVm93cnpYK3dDNmhDUUlLYUlJRkFLbWhHUUNtN0JvaW5DOU1UQmdyeXdsNldYWGY3SFpmTlVnYmd5TWJ1akdmSVhTRllFRVB0QUZMdEFJVzVBRFFaTFRmNURXaUtBK1I5ZFhJWEZSRnozWnN0MGpOa09MNG1BRXYyQUVBVUUwUXBrZ3M0blIwZDBqZ3pFK2lDQVQ0MHdLYy9BRWlmclFVbUpSZlVFWUZQemRQQkxlamNBWFhSQURvMkFMUUtUZUhUSEV2ZkxlOEwwaTdsTkROSWtJS3lTbVBJMElZMkFFMXUwcGdnQlRjb2xpRyt6ZS85MGo3RjBJek8wSXZ5MElQaEFESE43aGpQSUhYZkFoVWhLTWJJT2czajNoK21Fem52UE05YllkOEtBbzRwTnJNZjMzTUxXME9MRHAyU2lPR0s5Y1BSY09DdTBZQ2szUmkwaDhIN2ViNDRtaFpSYmVOc0dzeFZ2VzBRTkFwL1hJSExtWFB4TmVQWlNaWWhNcEROSVNhMkg1MEswRHhJa3hQK2R4MW9NbTBZM1VPWmFZNVZyT0VZQjhVZXJRMGUzWEduNndXWlhLUUtZTlRUaXVEMHhrNGM3ZEhIbWdCNzI0eXc2YzUwYit2VFcrSHc5bFRkNVc2RDJCWXZwaGRsVmtsdEZDNkl3dTI3dnNOalMwNVpXKzZkeEVhTlYxeEpTKzZUS3QwQ1hrdUpudXhxSys2WnJ6NmFpZTZvd3VoZVhSNnE1dTVQSWtORzdNNHJQKzArWjU2N2llNitYa3dMenU2NHlleVdvdTdDaStBQ0RzUHJScTdCUCtqcUhPN0dHOVpkQXU2bjA5N2RzUUNBQWgrUVFGQXdCL0FDeFhBRndBQUFGTUFBQUgvNEIvZ29PRWhZYUhpSW1LaTR5TmlBTURqcEtUbEpXV2w1aVptcHVjbHBFTUZuOERFcDJscHFlb3FhcXJqaFlXREgra0VyT3N0YmEzdUxtbHJxS3lzcnJBd2NMRHRhQy9zNlRFeXN2TXpZa1dFcStDeUpETzF0Zll1cUM5eU5uZTMrQ1lMWUo0RXJBU283L1pTT0h0N29rbmYxTitDN0NpNy9qNTd5MHZlWGlDb1NMcEcwalEyWlFYSlJpWUMxaXdvY05nQks3UUFtWHZvY1dMcWdRSVFmZUg0aUNCbktxQnhFanlHNEZDR2orNXF0aXBtaUFHTUtXVm5MbE1nSklNR1M2Z3daa0J6WldPS3pORkVpalFYRXhYU0ZuU1hJckxoQWFrVUVQOVNmb1RVeVJhUnFPK1VpZ3hHZE92dHVyQUhFc1dGb09xZzd3cWduUzFJNmlvTVArN2dwMExyQ3V5dTJvbnVUeTZVbUVzUTNucENrNlZEbTllV28wa1hIa2JWSkJMUTJ3aFNVQXh1SEsyVVl4aEVobzVMWmJreUp3dGkwNFYrQkZGZTBNSjBZcU1iaGJiMGJCWGxiYUVHQjNvMTdFRnk2ZzErNUlzeWJsRkJ4a1VoSWdTSG1iKytHajN1WFB3dVVHaXk5aDkzTUtDQmNrenNmdTdLdlJ6c0RLa0IxSENZRUdvV1pScjRhYjkzYktTOEN3MDFMTXJZVHVydG94c3Q4K05aM3hqWUI2dHBkOSt1Wm5nQ2xwcDJiSUFQVk1oNHBwM0JBNDAzVzUvc0pESEpGSjlNMkNFRHhGQkJBc3NVS0VFSlJsK294U0hCR2tBeW5YbStWRlNCaWk2VThRaWZIUzBHQU0xV3RWYmpEd3l3c0FvQXhnZzFCOTE5R2lrSU5LQndJai9CZWtkNldRbTBzbkF3cE5VcmdKQWROVVZXZVdXcGdoUm5qUWxjaW5tSlZmSU5PYVptU0NRRm1Kb3RqbkpYVzdHS2NtT2N0WnA1NTE0NXFubm5uejI2ZWVmZ0FZcTZLQ0VGbXJvVWdNZzBPU2hXNjdIS0pXT0htTEdXUkErS2xwa2kxaEhwNldDWWFwSWdKem01bWtpYi8yaFpxaWpqWnBJbWRDSUdRTkhicXFLQ0t1YjhvaEFwSTNpYXNoYnRmS0l3bTI1UHZhcEs3M21ab0JmaHd3RnJKT3lIaEtObVVZaWtOUmF0MVVhSEdpTjhMcmxRdEJDVmkyQjJQcjRuNWpJY3Bmc3Q2S0dPMnkzYlVwZ1hybmVMbnVwcnFxOUJhK2MzTDRDWnlIeWZuZHF2dmZpbVZWU01PVkZMMndBRjF1bllveU4rMUMvbFZDRnpxbUg3a3ZtVm1rUFZxdnhzdW8yWWtISGx2Q2hNS3FWOEFITnhpZ1R4WmFXa3ZEUmJDVUlranpKTnJpd1BNbUZNaXVUb3p0R0ZaeHpROTJvWms0bWZoQjg0cy9YYkZVV1ZDeVZ0OG5JU0N1amRGaytwN1Z6MUlMaEhGc2dBQ0g1QkFVREFIOEFMQUFBQUFBQkFBRUFBQWNEZ0grQkFDSDVCQVVEQUg4QUxBQUFBQUFCQUFFQUFBY0RnSCtCQUNINUJBVURBSDhBTEdBQUpBQVRBWUVBQUFmL2dIK0NnNFNGaG9lSWlZcUxqSTJPajRWYmd3OVVUbEVxbUpsUlRsU1FucCtnb2FLanBLV21wNmRmTVQ0RlB3VWlzTEVpUHJFK0trNS9BcWk3dkwyK3Y4REJoUWRES1FhMEJjbktnc2wveVVnb0JxOS9QMDY2d3RqWjJ0dmNvTVhISWdVR0tBUGw1b0xsQ05IaTZRWWlmd1lQM2ZQMDlmYW9UdEt6NHdNUy9vc1NCaUFwZ0VBUWdsY0ZxT1M0eDdDaFE0WXBWRXdyZ0tUZnYwUUZCLzFqSndqSk94VnFIb29jU1hKWGlqOCtuQmxBY0pFUmdwV0ZCaVFiSUFoRlNoWFhTdXJjeWZPUURwVE95RW40NDYvY24zTCtoaG82aUNKbU1xVUgvK0RzU2JXcVNEK0RDZ2d0dXE3QW9IRUkraDBTRjlPQTJEOFpWVmhkeTNiYkNRMSsvNXI2cUVoVXdzdFhzN3I0MkF0TEpUbERaR08yRklTcnJlSER1MHJVTVVCSWdoa1VyM3dZU09Fa3hSTWpScDQ4NGZzblhNWkJCeGtiU25yVUFFNHlpRk9yOXBUbVNrcEJqaUg3K0hIeXo0SGFmOEFVNnZHREZwSkNDRVQ4SHYzUGNjN1Z5Sk1YbWxDVHFNQUNzM0V6VWpOaWlBckp3RVUwSlY1WGlCRGw0SlZMUTRBQVNZbkhQYVE3V3FobWl3alJnNUQ0K0R4b0FJcUNBUU9IMzI5NHlhd2ZWdURRaGlscXBDQmNJZEkwRmxDQ1JBWDNCSDhRcmlWR0hIL2dZTVVQZWFCQnlrSTUvQ0FDZlIxcE5KUk1qUG5qVGd3UnB0Z1REb0t3d0VzT3JOQ1V5RDhINFVmaWNTcm1LTklGTHhib1RDSER3YVpVTkxBRnA1YU9TT2FZZy85YVFSS24xRGgxdWROSmtnNWR3Q09WcDNUNElTRUl2RmFYUVFYUVpOZDdXRHFVQVJwb0tGR0NDajhnNFNZbUpTaWhCQm9nbEttSURaRFJ4eUJwOFB6bWowY2xYR2xuTml4Y29vSTAwTkVpeXlDMUpHT0FlUmtJVXVlZ2YvZ3hrSXhIYVNVa21HS1NTS2t2Y0ZUSVJSMVJDUElPTStJOGVoOTVBNWhoSDN5ZHdTS09DaGg4cWtRVUI4Ym5sWE5LYWZxbkNFZCtpb29WVmlUQkNsQmdJWlhVc3N6V0JLdXBLbWhvNXdRQTBQS1pUTnVWbHhWc01uWEJuTENteENHR0lMQU94ZXhnaVF4UW5xUHUrRkRDb0FJNFFhYXU2QkRFREg0U2VLU0NET0NPSWk2WllpWmxCbmtvdUduQXdRVmhPdU56NUNBVWFKa1hlR2hHZldqVkZPYi9VSXoxWThhOC9ZSWlCcGxKcVZ1d1ByTEV3b3haNktJbG8xMmFvdkJPRklJbUtXK1FFaERKQUFOYURYVXhBd3U0bzBUSG43Q3hoTkJ0UkZFQ0g0Y2E4TU1QS2tReHhkTlBGOG9tTWhVcE5RaVIzTUlVVlJTVEpwbEJNbWFZUzlNQUZpd1FEUU1Tak1OQTJaMEZDN1FueEZyUkFnWWJGRUxBSUhmanpZSUtYUVJsTmJrME96TzJWMm9SUWFWSFRRWGsyQlZsWDFIQUZXZ1ZZSUVGZnpDQWtyUnZod0xGSnkyOEZtWWg5dXBLMDlaWUtnSHlVSk92YlFHVU9KdXhRRTBpbEpwNU4xTWdwUEJBQ0lybXNnOEUxSnFreElKTWJnRUtrRHRUTmhJR3ZQN0h4RC9NUGc4QktuQ2NhWk1IeWNpWUQzVW5HVDBLeXBkOTN4K09YN0dBL3hrK1FENjVBVjN3Nnp3M0JPRGFKR1NZMmllV1RIKzhRQ1VHNFZBdXlQaElMR0NCdmF2ajNoOFdFQnpmclc4YjBQT0J3aWhTQ0Q2OVkzTklDb0xFbEFjK0ExZ09lWDd3Z3hrS3dJY080c3h0QjhRR0FRaUFIZEI4VGtHRWtKMk9vS2NkQ3NMakNocjBRUjM4VUljQzhFQVFsZ3BoTjFpNHdDWnRTaWJOeTF1T1dDQzlCU0RCREg0d1FmbklsUkUvTU9Cbk90d0dDK1pDQ1BnMU1DblJBRUhYVWdTQ0MwQ0hBUm5Nb0RveVdERzBpSVlQUmxSaEZJVkJBRmNzRUVSZmtzQVZMb0NqQ0YzQUl6REVTZ1VyNVNaQk9JNEJmRGhlODlZb3dsSnQ1eXNpTWtoZE1oQXpGZUdLUG91cHcvS1Nad0djQlkrQVBvZ1VJWVZCaEdNaDR2OGZWa3liR2xVMGhWenhnVndUWTRBWjlQZW8vVzJzQkZ2Y3BDK2lCOGNmN3FwbUJZaGxoS1pvQURST3JtY0k4Si8relBZSC9VRU9oTExzUlJDb2VJaUxITXc1VWtFU0FaS2h2d0VXckppVEcyQXFLZWU0UVNiekYwU0l3Z25MdUtucW1jZ0hCa3pScnFvNVBzWUlqNXNGU0tVRW1pR01HMXpnQnZiTUFDUHgyVWh3ZGJKSnUvb1NQUERqTWlqbWlDSVVYTUFmMzFsTWdxQU5Ic0VRZ0FBSXdLOGxpQ0VKY2Nqb0MxUkFoWHNDclkwQmhZZG9uT2tubVVUaEJqb2FXRFVyOXpoaHN2STNOUEVoTDJUQWhWQlZDQWM0aGNPNEJKR0VGWFFzRFR5a2wwQ0p0QkVrU1lCbmxTem1BZ2pDVUFiNGlSRFBLb1VBaU1BRkZ1RkFwei8vS0lFUWVDQkpRZnlBRFgrSWcrR0VkYmRIZ3VZb0FxMGVVVHppb2h6bHE1aW9nd2NLYmlhOFB6UkZZVkVseFE5c3VvUVNhR0FRZUhBQUVQNWdBZ2NJQXBtZjZrU1FhSks0ZjhnRVAwYlMwVHdMRUpES0RhOUVOL05IUVQ3anBWT0FWUkRmWVlUaDBpQUlud29MRFo0a1NpdHJsaEZmQVZHeVhwbWZYWGRGRTdNOEZoMi9HQ1VqWlBDR0NvMlZVbCtMSjJ5UXQxYlJySGF5a25VSGZkVEtSR2NnNFcrbUdNQzQyQkRhVDhoQXAzbE5VcDBVQ0JYUlJJVmNkV0dyVzkxeFNHWVFwYm5RZUZKMHg1V0V2eExpRFFCd3hBMmlnSU1saExSTXlxMkxqQmpnT0paQWxDZ3UwKzErOGlXY2k5QVBsTU01aTB3L01ZQWtDRUlEZUJpRS93eVlnOUYwSnFJT09uM29vR2g1bEg3TWRYSTUrMUUvZ3VQTkNOVU1IaTBKNlV2cUFwVndLTXdUUHJpcUVQb2dZUXdrZ2FzbFNBSUVCd0VFRTl4UUVPRmtVZFUyckozSzNVeDFQVU9DNVk1eVZNY3RRVWROS2RHVEZtdVdvNFFGTFM0T0JRSkNWYW9nL0FFRFhBQkFIRXJRQncwbDRWdC9JSUFlQ1NHRE5NQkJwM3A1TVpJZStUcmhYWUZuZmJUY25VSHNyUndWeENzWG9WbmE4QU1UbW13SkZNM3IyeC9la0FTYzRwUVFaWGlCK3R4cmlEVHdRQU41eUVPSnFWU0NGbUxUaUdiZ0EzSC81N3J6cGMvUGdyc0laSVRrS3lqSlJEdlFiY1FBUGl1SU1zQ2hCRHpJTVlYK1VJWS82UGdQTXBCQ0lUUUVnRFRZVXdBWGFHdVozUC9YUFZDZk1ubExEU2Fqb09EbEZQM1pJdHVLVW9sYWFhcm5OcUlsOFBFeUhGU0FGUkEwQVE1Y0lJU09pYkJtUVVnQkNoakFRTjRJMERrN3llQTlDVFZBcUEreWdOY0o4QThla1VHMUk5U2xpMEVsb1BrQ05OYmNZWUJZYXlTUmdoaFhkWEV3eWlZVTRnVHNCdTBLVnFDQjNxVlpFQy9ZYVptSW1MeEI5QXh5L0g1ZC8yQVhoZDlDaUg0VzZWVkdjTmtjUnQzWE9heUtOVTJTa0lkcU8zZ0pjSER3SUhwZG9UOFFJY0k4c0trWWd0QmJBUVFoQ1hDb3BZNTRpY2F2WElFUEIrR0RIcUx4T2dMR3p1WDhlVFcrTXFVUnRYN216MldKaGErcUdNMUJRTUhCY1JpUUlPUmVvUTBFK3crbUZjUUVaR0EvbTFLcWxBWUk0N05ONElmL2cyVFFEQ1gzK2hTUXRLV1d6RndtWXp2cmZHQmpFK0dvNHhVK1RFbDFCY0V2aS9PVVJid0d2WWJvL21WRG9NRGhPY0lWQ3NqNGgwZ1duakYrdUVMZ0R5K0NLZVdvOFUvYVRuNFNWbVd4TCtpRi9WNEF6ajcwdHhzWDR1MWNzSGdUS01TRk1vRCtEMURvZzl2ZUlJTVR3R0VER0JXRDFCMTVhRUdZd0FCNU1LTWY0UU01ZzBaSTdBS2xHYmFPY25xaXZJSWw1QzJiOE1iM25yOHRBWE9Ed01CVjR4Q3FvSitaRUVSUUFxQjNBbEFBYjNGQUFCUDFCbUlnWnlwQ0JCdzJDQXdBZm5ZMUhJNHpDQmF3ZWVxRWV6VlhGNzVTSEoxeEgwWDJUc0tUWDR3d0FYQndWUzlRZ0R2bWRoTVFhU3Y0QW1NVkJ3dVdJa1N3QWlKUWF0eGsvd0I2WUNrQzVEamhGMGpmVVVjUGdYcWVrRjhwNHc4ZGFDNGVjUXdyRnp6ekZ4eW5aeGZVb0FpOXhRZ0ZXQWdaRlZZL3dJQXFZbCtXODB1STEyOFRVelliaEUybnBCTjh3aWVmaEZ2UVpZUkhxQ2xEQlF2UDhrNEtWWDl2aFZpS0FBWHdsWWNUNEFaL0lBWU13SVVSY2dLYlJrRHVsRTNqVXdCTE5naVU1aEF4ZDE3YjF4SEtJQTcrZFY2SDlvYTZSeVBod0RPRjhFNldWRFBqa2dZcm1BaThWUVlaRlNwRVp3aGd4bXRpVUZsVTBqNFRZM0xhVWxlRzJHNW9xQlFESUEwK1VGNVE5UjczVVRDQk1VK1hPQ0x3a1RiRFFSb0RnRytHNEltT1VnQmRnQU1XbGdqcFpqOGc5d2Z4ZFh4bDRJZEpzSUNDQ0NFamxFMzdnd0pOQWYrTzRCTitiSEVmRE9BeXZKZzI4UlI4L1NaN1lZSitBbFZscWpWU0Y2RWZoTUJRQ0dFRzc1SnVqR0EvVlFoOTFjaG1FekFnYmdBSFMrQ0tTZEkra0VOWFJqU081R2dZNWJFQVc5ZFpkdlVoTHZWTHErTmZ3MGd1Sy9OTUxJWXFLNFZOZHZZS1pxQUhBd2tLU2ZCcmJwY0VmcGdHOVVXRUViSjRjNFU2d0NSTVhZVVlCU00rREZRdmlpaUN3cE5ablRGelNrRVh4U1VrdmFLSW5WaFhHNk9Jd3NjR2RoY0tHTFZqRTBaMDZXYVJTTUlrVEVZNWpMRTJaNGdZaktVVnhOVVJMUVNVODJkSkl1SVAzMk14RU9jVmkwaVMyZVE0QW1RQmJHQUZvK2dJTXJDU093WUZjUUJCRkRLREt1SlRpVU1URmNnQUVRYVc1cUF1ckVCWitWSC9QaGtKbEdpSmxLdzFKQ2QwajRmQVVJWUFtSWNRa05BSEJ5bkllUy9najNlNWtCN0NpNTlqam9pUUI3R29FNGxaRGdYekQrOWhsaUpvU1RhaURtR0JiVllrVU1td05rNVlWNGdnQmkyZ1BxUjRBbFpRWTlBb0NGQWdabjdJYTMrZ2FGZ2lRZDAzQ0tpSkNDWXdNRHNSRUluSkxFdVlrVXY1UDJqQk1ySFFjRmlFY0NPeW05V0VtWWR3Qld3QUFIZlphL0VGQmFIeUJwdkRsM0FBUVh5WmR6WFJqUkFpQTlaU0ZJTHdsWXFRWFE2Qm5YYmhKdERBRXRzWmtZWFFNMmcxVUM4QmEycHBGdUo0WGpJaE9TdWxvUG00ZFV0d2x4c1FuNDMyWlRMd2RuK3dkOEMyQWY3NEIwL1dCVElaSWZ4eU1mcTVGcTFaZVkzU0dlQ0RvVkNsL3hXbjBtODRZM0ExbzNZeWNoL0M5QWdsd0FiVVdBaDl4eUluR0ZhaFFvQ0RJSFJUK0NscUVWc1M0RUtwWVE1alFoQlhrS1ZYc0dKMlJhV20xd3k4T1VBZXdSSkQ4UjVaR2hqeWg1NklvRkJzd0tTR3dHaWhVamNUc0d2VUIyd1Q0SktDc0p5YmhpUUM1MU1sTXAycVlhWHVjSFh1V0V5aU1aSk9pRTBlVVdxdVZHQVZ5ak5tOHprNkNxbUlhZ2hkSUdsZjlnS2NLUWliYWdpN2huZTdwbjB2dWg4YVFGNXZtUnpZS1E1ZVdrblFNSkptMlpYa3VLTUVWbXBlRnhiRVJSRTR1S1pYY0p4dkVBY3ZrQVlueWdodTVsUEJJaG9xYWdvekFBeDdnQXFWOUg0QTJnaFJ4aFBxSWh5cldqYitZNEhXMm0rVEF6bVV0Rkw1MWExZTUvOE96cEFNc0tCa1h1cEtWMVVHeFFJRmFSQUhxWmlIb2JtQ2pJRUFPQ0J5ak9BRkNrQUlmb2NEWGdBTS9UUUtOS0dVUmZoZkpURmlubmFaNUxpdDVHRUdQRE14M0VPT1poTU9HUGxMQlJFT0RIc3pHL1FlWWJxTVB3QjZhUkNRU1VCYW5ibzV0WkpSejFkZVhSQ0pmK0FGeVNvSVY4VUdiUEI4RmRLeXZhQnNwc0NMa01BWW1ta1A1aEFjSllld0ZoaUJzbUJCRGh1a2pmb09pK2gxampsTUVRZ1BsWnBDU2RCYnZ0TUdObFVyOGNZRkw0QlJNcHNFN2FldmlxQUFMRUloS3FBRVFpQVBLMHNJeGZrSE5Mc1RPNHNJV1BFS09Ic1BZNU1PbGVjNmlIQ2VERWNlSG9Hai9ST1Jqb052dzdSQmZWc0l3eWMraWFBSERBQUh2aHIvS3NOaHI0WUFCMkFWazZQNkIyQ0xBMXhRR0kzd0FpeXloV0gzZ1N1NkRYTUxHWDBSRHNYVG5aUlRFQWFRclJtN2lSRTVmQThidEw1NVNWZWdaSXRnQVcxZ1ZTVTJNRC9RQlUvV0JtMnlEaUtBQXo3d3VZSXdBekw3Q2NJN3VXenhmaVBoWVgxQnJoaHB1dWNEUG9RZ2ZPNHdzVUJTbHRpS29SckpDQmF3SmxGd251NDR2djJHQUdMZ2Q0dmdCY2RiQ0Vkd3J3bndwUFNRanNyN0NLSFRFRDNMdkJqTHNOMFpmSmEwc1FNa3RCWmF2YkxIT1BrWXU5aEtDcklwUEhxd01VKzJDUG5hd0I0Z0NuUGdCWEJnRlBRZ0RYR3JaVC95RU9aQVhuVm1yYTRxZkdZd01SdjBrNFlRZ2FrYndyRnJ3QWM4Q2dsc0FYcGdBVkdBdm9oZy83d2d0QVVlVUFHZW9BTTJBQlNsa0RLTWtBZWhjVjZrNERJM3g3UGxzSnZiVzFlLzVBeHF0eGZpZzZnaXVJeVg2UXV5U1pFTWdJZUZ3QVF6UUd0L29BWTdVQ2wra0FjaG9NT04wTDV0OEM0cSsyMUg5UWw4Z0RNQ3lnZ01nQi9JYzZweU95WS8yNXZaVkRaZGdnQlplaEN3RUV5VnlzTHpBSlR2dUtlSXdNV0RnTVB2Z29HQW1najlPZ2pPQ1FwbzR3K2wrd2grb0ZDUEV3cFhVQTQzUXhLdWViRGJtNmdJb0FmQmw3SGRXc1gzUUljeFhBS0sxc0NMZ0w0VjhDNkpZTWFQRUhXalVNbkV1NHdXRUdxZmtBRiswQTlQYTcvcXVLb1dLQWdiMjA2ck5Nd01BY0ptZ01peExBakwrZ2VZaXdnaEFBbEtJQVp4M0FnOG9DNE1nUCtCaXdETURJQ1NsRHlsQW1hL1k5S0VpZUJVcTdTZzJGUVNGTm5MUCtDa2tBQzVHbUFDd1BBRHNDd0t3WUVFK0F3SmVjRE1pK0FIUDhZVC9YeXVoR3ZIUFJFRnBBY0tiRkRRajNETmp6RERwSkFCNFdPTGpPQUVHTDBmWGJMTngweEllV0RManJER2kxQUhiUE1Kanh3ZXRWVStBajBvVU5TK2d2QVRRU3pTaWFERjM4UUlZNHJRbElLK2N6QUlGWERPaEdDT1BaMElDT215R1h6VGlPQ3pObG9QTGIwTlBRM1RDN0VJSnZEVWkrQmdLb0RMU1AwSWVJVFFDaDBNQnZ3YSthb05RMjBJYW1CK2huQU5rWXdJTGNBR2Z0QUdqcHZWTG9FSWFITVdldXk5UzAyNC9xQTY2TW5Rd1RBWGV6RFdueEFDUGUwRk1FM1VGU0FHM2hiL3hIQk5vZWVTblhvOW16ZHpCY3RDVjJwS0NQeUZuYkR4Mkw4VXo2dHBDaVYyaG9XTkNKTFFianVRQTA4ZDFwQ01BMVd3Sy95bENBUFExVGZkbXJKTkZKbmxXQjAyR2tlMmlFY0dFRWVXT3JxOEM0TnhJbVBRQ0I2d0JSVlFBV01OMklnUXlUQmxBVllqWitXUTBvdWRJNWhpT1hLV0VnL2lDMVZ3S3NMY0dLY3FFRWM5M1JBaTJSQVlpSWZBR0tlQ0NtTVFBKytBRkVtbEVkK2RERGtwM2ptaVljRkR4S1kzQ0Q2UTNhUFFCUUFqQVJINTJtK3BMdkpOMzBoaTNocHgwZ3I5S29VdzNJc3dCMlBnNE9DVjE1UHpOMlJ6cXYzOHJBWU9JYzc5WXViajNJb3dISDN4QnpHZ0dTYXVHU2ppQTVPTUgwRVpFMnNEWGNXODRmWGQvK0drZ0R6SnNCYzR2aTNjMWhpSFlCUjJuTk15UHVOelRRcnFraEVEY01tUTRNa2dYZ2hOUWRKV1VjMGJEbDJjaU9Db0FOdnA4dHBMamc2TUZaMnFFVVpCRHVBdmRsUTBYZy9sd0RoWmpsdFk5cnFxVVVsSmRhcFhNTit4WGJEQ1BPQkg4Y2trb3ROcmdaSTJXc2R3UGIvYVlNRkw4ZHBERXQ1dGdkRGRrd2NiSGVRa1lTNUlJb0tubE9pSzdoQlhsaU9RMmRtUmZ1bUtBSm4xaSttY2JycU42dEdkdnVHRzdNU1dIdXFZTG9JSzVRNXRhK3IwTFlLekt5dXNidW9pZUwyeXN1cXhEdGNaZVFVai9LRFNjK3N5N2dlb3JxMHVreXUrSHVRSnpBY2pYT3JGTHQ1TzVPaVF2dXowN1ZJYUR1MlJQam5UVHUySzNrSFlUZytCQUFBaCtRUUZBd0IvQUN5Z0FHSUF3UUJJQUFBSC80Qi9nb09FaFlhSGlJbUtoQU1EZ282TGtaS1RsSldXbDVpWm1vK0RqWTJFRXFHYm82U2xwcWVrbnB4L29ReXVyeGF4c2hLb3RiYTN1SlNRa0lLdkRMTEFGcjZ1b3JuR3g4aWFucnl3d2JHdlY3U3J5ZFRWMW9hcXZhN092dEtGamQ3WDR1UEkyOEd2MkorczRlVHQ3cWNEdjdMRXhkbWczcUg1Ny92OGx2RU0rZGl4R2tod2dBU0RvUkNxNjhld0lTSmVobWg5V29Zd0gwV0hHRE1XMHVjSW5FZUtFQWxxSE1td25rV0RFMG1xWEFrdW9jRkJ4VmJLeEhpd1lreVJNM00yZENtTmxrQ2RRSU1LSFVxMHFOR2pTSk1xWGJvSVNTUjlUS05xUXZFVDFKK1FVck9hc3FlMTZ5Z0xDeXo4V2VDMXJObXphTk9xWGN1MnJkdTNjUC9qeXAxTHQ2N2R1M2dYTWNpTFZvSXd2bVovVlFXOFZEQmhyNFlQWjQxblliRGlvMzRkUHpiYUdLMEJGQWpzUmo0clljRmV1NG05YnI0YlN6TFNYLzFFT0x4U3V1dG92SDdGWnUzOCtSMktLN1YzdXBMcU4vZXhBb3JBbW03M0M2RFM0dFlRS00rODhTOUpDY1Z2Qm8wOUhCWFhRYkZtc240R3NIby82TTZ0WFJmVVd5ZDRZSytnN2p6dkhWN0tRWmxiQTRVdWoxdDNkeEp3ejJ2dmZxR2crSlVWRlJCdTljMURqM1NKOE5kS2djYVJzOHdocURFWFZUNEVPbVBmTU1NRTVJdUZ3alRvem9PR29MWldQaGh5YUdLSDBLakhENGdiTGNDZldRSEZxS0pLTERibjIyUXkxUWdUV0RjZUl5R09tT2hJSGdPZXZUaUtBYnhnQldTVklrTDJJbDg3RnkxNUNFaUl5Q09CY3UrQTFDUmV1MUJaU0dieWVOaVBsbHZPcFdXQzgvenhJemxVNFhRVm1YY3hRQkVDU2pvcGpKRzUrT0dISW1YQ1pVR2RodHdwNVVvOWZnbm9Zb1crdGFaTWZ1Q1p4MHhlRG5yTWRZMWNzY21mVVVwYWlweGtjdVZmSm9kcXVrbE5uVElpbTZnWThZRW5KbVNoZWdzZkp3NGk0aVo4Sk9xcUpuNWc2QXB1TVBGQmlxVXlCUUlBSWZrRUJRTUFmd0FzVndCY0FJUUFLUUFBQi8rQWY0S0RoSVdHaDRpSmlvdU1qWWdTRW82U2s1U1ZscGVLa1pBRGY1eVluNkNob3BrU25BeWRvNm1xcTQ2YlZ4WVdxS3l6dEt1YkVyQ250YnU4bHdzRG13d1dESjY5eHNlTHdNQ3dzc2pPejRMS3dzVFExY2pLdUxIRjF0eTBBNmJEM2VMZWtkUGo1NDRFaVdhRGtIKzV6ZWp5aFFRWEdXajMrQmtaUEF6K3NiRENiWnRIRUkyR2dBZ1RDaHAyYWlEQmVUd0MrcHZvVDVDL0s0TWNQa1NuZ1lkRlNDQkRndHhJa3BBSldGZEVpalFVcVNUQmlpNWpLdEp3aFYyeWJ6Sno2dHlwcUpoR25odS8vUVNLS2NnZ0ZhbHc0aVFxS29qUklES0lzQnJLbEpMVFAxQmxVSGszaW1wVnExaXpLb0ZsODVPdWgxNVhFY2thSk1PQ3MxOXU1UVVoSWtNR0N3MXY0ODdMa3lFcWl3enc5TEs2S2tnSkpSNG1Gb1FUUEt0dUVDVUhLVmxBQUpQeEtqUmFUeTIyUEc3Rm40TUNGNERDeUhtVWhaYWlZcFZHVkxjdWxOWG9aQkJnUVhzcmJIRlI5RmhZSUZwMEk5UzNWNlVjNlR0NE5RVHVqSXNyb1p6ZzB1Yk9BZ0VBSWZrRUJRTUFmd0FzQUFBQUFBRUFBUUFBQndPQWY0RUFJZmtFQlFNQWZ3QXNYd0FrQUJRQmZnQUFCLytBZjRLRGhJV0doNGlKaW91TWpZNlBoMVJPVVNvcUJwZUVUbFFDQXBDZW42Q2hvcU9rcGFhbnFEMCtJcXdpaDY0K0tsUVBuS2kydDdpNXVydThoeU1IUXlvRmY2NEl4aWpJU01wSUJxc2lQZ1pPdGIzVTFkYlgyS0lqSXg0R3hDSUZTSDhTNHhMbTUrWUl5Z1VGSWorYm5kbnk4L1QxcU5zcFA2d0ZLQWgvQTVjS0dFQ0NZa0NoY3lqWXRWTkJ5NTdEaHhBaDZ0RGhJVVc3Y1A0R0RWQVhFSnk0Z3hJUUtDemd3MG1PaUNoVHFzU2xJMFVLSFU3KzhETzRTTjB6RkNBQjhqUGdqc3JLbjBDRE10S2h3b2NQQkJKb2xqdVhDS0FJQTBxWElpbUFnR2NCbjBLemFsVTVSQlU0bklNNERseW1DQVc0cU9lYURUQmJJTjdXdDNEL3NlVVIrVlhRV2tLdFdBbWl5cFFRZ3JOMkRaSVQrTWVzQWJkeEV5dEdwZVRLTUI5Z3F3NWlwd0xNbnlkUEJHRkdZR2FBT1VPdTdJTDlJOUlna3FkL2dDeGV6Zm9UaHIvUUROSjlwbUxMSWN1RHdJQnhnaUNxSU1pQ2tHVDhnOG1wQVQrdGt5dEg5TUliMUwxNmNUY2FNU1RIandLKy95QWhCekFqUUpvOFJ5OGZ6M3FDVEJFb0dFaGdxMEtVZGV3Z3lha2JoR0o3Y0JIdHlldGZMRVpNSEdUcytLTkZLQ2U5NTl0bmhRMzNEem5FL2RIRGZoRENaWVVWZjFnUmh5QVpuQUlOZzRJdzlaMGcvWEFZNFlodndTRUlFYmVrOEpTSVRQV2pFWUlreGloakl1MTlORWhmaE1BNDQ0NDhEaU1lamdQUUJDTk9NZkVJRVFnZ0lBSkMvd1pML25FREFVWXVzZ1ZnTnlLSUFGaDlTY0JPbEErQmNNR1hGd2dnQXdaUlJHSEFTQ280b1VTU1hCNVN3b281TXZoaE9XSDlVV1NiMWhCQUFCRUVlS2xFQ1ZFdzQ0TWdyVURUemo0R1JLRUVub1NjaGdLSFNERklVSWNJaHNRQW83M2d3UUlsUC9nUXhRVk90TUxPSldNVmxBNEtaLzcyUnhTWVRrRmxZWjRKSWxKZ0hGNmhCQXVZNG5MaER3WjBzYzh3SVJuVG15RlhYbm5PV3FuKzRVTUdGN1FKQUFad2t2WW9kMVJST29nWmFjQUFRNjZuSkVFb09BTU4yNGhPSWlBaG1EbHJYYVJFczFGQzZRMU5BNWpMNENVTVdHQkJrSU1va1VNT1VIQTdpaGpnK0NqdVJ2VjlwSXlwSXY0ekZYcFZPdlVVR3V3YXFVUzVra1phV1A4QjlTNWdCazdrcktmRURmNkc0dTBTQ3FMS1RtaEdFU0tRcVlVWXgyRlNWVDFUUXNROG5rbFRWWjhOVUlBWkMxakFnRGZsQ0VSenlJNVlhRVVTeDV6SnpxQS9xQkFGQzV0V0lzd3FpWmdGa2t6dFJBRUNZakpPL0tnZ0JpQTF6a0E5TDZCT1VoSTBnd2JSb3NUQlJuOUovSURISWdSc1NsL0Nmd0ZONlZSWlEya2tPelF4dzhEZ0NkbHJ3UlZRU2NDQVdaK3lQWW9NZ3VES0NPUi8vR0FHam9VeFhLWFNudnE5WTNzWlZYWHBBbGY0Y0VYUEZvVDlCK25nRE8xNE5RUW9jYm1JNythb015WlJjRTFpRkN1YVk4RHBQZyt6Z0NCbUVPTE5uYTlqUTBCbmhVQVRwMGdpeGNJakN6NWdiTUVDTGw1L0Nlby9DMksyTzBFa1B3Ly9mSGpGbVhiWUluU3h3WXh2L05IRkg2ZHJMTTcxaGR1TC9TQU1EQ1ArUEJzV0FyUzRLUEJCdkNwSE9SbXBBRDA5dThMOE5GYUFLOWl2UVg3d3cybjJKNDhwa01aLzVIRFJQMmJDRHMvRmlBVlA2WmwycnJDNk9naVBEM3hJSFFuaEJ3NEtab05YSXNMWEFNRW1Ec2J4NkFmd1d4MEtpaGRCcWtRd09JUElRenNzNkVKclJJRjhsQ0tIY0VEMExuQUl3SFg3QVZXNTlQQUhNNGdqZ2dTcHd3cFgrQWNKdWdLS1JjUUY5UXp3c3M5Y3lTNUFPMDNqWkFRQ2RpREhCQWJJUXdUVndZQ00xTUViYzBSTkdLdlJIclRJNXlNZjBsa0JtRFVqWWRRQmJEeUk0QlVRVUFjVVJOQVBCakFESHpUV3VqMVNnM2Q2VzhxY3dpWWZFU0JQLzBZclJBSVBrVk1ISk1qUkQ2TnhqQStVb0R0TDNxSjZTbUhLRWhNMHJ6K0FFVUpJbUtNakh5bkJLNkN3ZUlKSTNhcGMyWXNEL29nNzhJb1ZhVUl6SXh3dXdBOVcvSVBoRmlES0JPWXdjOFRzaFF5aXRaVDRjTWtvcDBPYzRlaUhndUZaWUJBVytFczFMbkNEREZBQmFsRGJCTWpZZHAxWUlnaGZkT0tTQ0JDd0FBWWdvVjcycThyd3FGbE9CdWlNRjMwQ0FhN2lnSU9HT2pRTzc3Z2xsM2czbWlBeDZJejVGRVIrWXZRWEpBenZuNGFyb3Q0a2t4VDk2WUlJR0xqUUgrS1FCQzc4NEFkdEdBUU9NQkN5OXZXUE5HSWpEZEJnNUkxVzZ1Y3ZHTU9lQSszMWg1OHA3b0kwOGRFdDlJUUJFN0doRFN3d0FSNGVPWWdvZUNzSkh2L0VVeWZxS2F0cDZUU0pzaHBtakhSbU9yTU4xWENjVElyeENuT0xLSWhCbzNJTW9nazA4QWNwU0VFUU1TVmFIN3Vhcytka3lhUWtNc2crTmNZemV3MXVJQjNTbTJFUzlxOThOUUpLTHpnUnQ5N2tuZTFReXlDZVlWRGFOaHFqY3VIVWNPcEIxVGttdFV3eTNvS3pqWUFDQVA2UUJDSXl5bXZjSVNPMUVIQXBHTjJxWnY4WUFFQXZoVFA1YUVRZ2pQMkVCSmJ3QnpId0lCUlFZQU1iQUJ1bEM2Q2hmOStoVm1IVktnZ2w2R2xISm1YQUZRYjNqOFFwakJCZkc0VUVCcldFUEJRQ0N2MXFCQm8wOExaTUdna0V6elV0Y2NTbU01NXBiRFJtdUc2TXZBRWYzUnBqWG1JTFNaV0MrNGoxQ0tJT2ZSZ0VlaXRVaHZRdXdnOUxnSVAvYnZIMGdPcDFMSzA2NDZmUHhFR08vS0lvUnVKQTR0bkFGbDd6RWJnUkVrZ0NEbmpnQUFWREFhSksrQUVjMmtjSUVPeHBFRExJdzhnMCtGN3FGUUJ0a1J5ZWxqUjhxUTRONEFlUm5aR0k3Vk1ZMlhZVEhhRVk3eC9hQXpuMEJ1RUZYY2lESENya0xVSElZRzduQmNFU2NBQUhNb3RuUjgvRjJHRUxLeE1OeXlvZHJEMUJqSEJ5bERwZDlNZWE3WmhGUXlFTzR2NEJDbTg0UVJKZTBHVkJKQUVPNmMzcUlERFFoaXVZUUFpRjVwRUFDTUNPaklsU212bHpjMXIvOG9Qd3lXaWZHcEZ2YWZJOGpxcGtCOFZ2SGNRYnJQQTJGWmRCRUZ6NHcwei9URmRDMEJVS0wyREJEVUJ3QXo5SGlRalZzM1R4Z3VkbXNGQ3kwd1dNMENvcS8vcWNEZWJVU3Y5d2hESHE1T1UvdkFBT2RGMURHNnpRQkVMZ2dBc3l1Q3NoL0NBRFhIdjZEVGpBNFRldFY1aWg1bTkxNTh3STZYendBeUlrZXo4NjB4elk2TXNYYTExUVFZYWdTVUtxMWFBU0RNSUtxVjUwSVpJUUJQUCtnUWR0YUFNUDBOQXZUN3NOVHpoMDRBZ051ek1SRGlkL0JTQ0FwMG1rYitLRUYxaDJrUk5rR0F0bG9NTEhIOWorY0F2KzBJWXlkSHNRc1Y3cEg4TDlCL1lhbXVKL0NBSUJYb0FERzBYcGdEelREcy80b0t6Q2FneC9KUGx3bE9venIybXRSVTZFMGNpVitwRlpCQ3diYkRRblJGUC9BSWViLzhIc1NVZ0NGSkprOEVHc0lBaFh6VlY3VnZnN1BmZ2hmL0ViM2g5UUtKTVpEU1lxL3BDVVplT1ZNLytCQ0x3ZDM4QU96SEw2dnJZcm1MVTRWMmtUVFBRSEtEa2U4djRyY3B2b2ZnVkZGcUFPeUtuaVdpVTNvclF4T2F3TUVtMVN2RHVZMVgvRkdEeUJpbWVpZ29ORkVVSUdSSS8xMk12UUJwVUczUTlDSU1RTGdzQUZoNUxadlVhNkZCOE1rRWcvT0FhYWgrREpKL2RqZWhIaFRGWk9WdDFrbkpLZWdTNkFKNzN4alJnVS9ZWXlOMVRXRFgzMUlOREFCellJQWdkdmtBRzZYNENCTjB3ZzNYaTZWQjRNd0lBSVdyRU9HY0VEY1hRZnJNSlJwNmRURjJWWjg2VXk0Q2RDM3ZNWGp4SWt4bUIwaHZBR2h4WUhKL0FHR21nSWFOQUdEWlZ6Z2hBSGxHTUZ2c1lqN1pGSWR3UjZmbEFIV29RQXlDR0FndUJGVGlCUnlyRm5ZU0ZmQzBML0R0clhJSU4xVG9Qd1BUaEJFcXp3Vm5tRkNBNm1DQnRJQ0dWR2RrakRKYjVpQm5xQU9IekFTOFlRUVFLNEFDaTBYVUxoZytPZ0NFSVNiZVpEQ0hOaUxRWXdHaldrZDRUd1BZZ25FS2tTYVkzd0JoaEFVNGtBaDdHR0F5Vm1KQ0p3T21iZ0RmWXloVHRraFhDeEVmKzFDRUdTV1lVNFlHTFliR1JvSStMZ1ptbDRHazloQnZVU2hYQWdncW1GQVlkMmZrbG1DQ2ZnQmpSWGRDY1dJUUtnRDc0VVRkTVVaS0xIZEZrUkVxc1FHNmMyRHBsMUxKZ1ZpLzZqSUovQkRQUnhRWWFRUDRPRk9qN0RCaFRTQ040aVp5Rm9iUlhJQld2d0IyVmdoNkVZSWFUSUI5TjJpa21uZVZ2QkU2eXdIYjVoVWNFaUxKa0ZJamsxQ0p4VUpVMUcveDhsNXoyRzRZdlhVenpCdUFqZTRtQ1VRM2tLZGdMOXNnYkxlSWN6UWoxbHRVUFNSRlMvZzRhSmNTWVIyREtyNXd6N1lIWGFrVERoYUMwSlFZN2xsSWFsazRmb3FIZnIrQW5MU0dPQzhBYkkrQWRyRUFkd0FIQTljam9vY0ZZKzh6dUwwVEd5V0NWME1SS0hJbnZFZ1pEZmFFYmtjNDVwR0h2b2FEOWlnQU5IQ0FsRVo1RzRsbDVwOEFjbHlDT3Mwa0FXa0I3anhBREF4QnFGcUV5NTFRNGhPVGlEUXhjRjBaSzFXRWFrRVpNaDlJTm13QXBKTjA2cjh3UHdCd3BRVUpHTFZnYkpDSG5xMWliWXNSWUFSVlIya2h6YVNDbmhzUUQrcUFkQVpSQklCQ0pNZVE2bElTdXV3SVhVQkE3VVNBaEptVnEzcDJJMEJnVnFKd2llbVA4cnd4QWtiY2tJZnNDRlFTRVcwYllSZXJTTEFrRkM1S05FQnlNazZFSSs2alNUZzZVSVZwQ1Rob0JlbTRoZWxlaGxKNUNSWVJlVVBkSWdnZ0JRb2FjSTNDVVVrQ2dxU01FVFNYY0l1UmxxZzdBUGdUZGJmbGtJMklNeGljQUFYWUFETzJjSTNrSlRRVUJUTHdBNU1yQ014R2lCalRrSUJ4Z2xObklwdDFrV3plZ1FWckZEVnNRS3pWQUFsS2tJdlhFUi9SQXppaGVhb2VNS2d6bVlhZmdYSWlBR0Zqa0lEUFZuWXhjSEdoaFpjZEF2dUdhUnJ5WUdyemdqNWVnSTNZa1NFbkFhRFVTWGRMbVZydUJSamJCUHNUYzZkSGthSExZV2c0SVRlYk9laThBVHJjbUpzbVlpY2JBKzU1Y0VGbG1FcUlVbit6U2VobkJtRHNvV0RCRC9rY1NnSFE2WUNPRUJEVGU2ajVUMFkvbldDZ1hSUW8vZ0dIREFvb2VBYXhUeWFvb3BDQmhBb0s5NWx1cjJQaGduRXdtS0NIZVVwZlV3R0dVMVRrUmxvNFl3UE55MWZOQUFrY0hFY1hXR29Yc2hTTmZqUFl0d0tZajJCM0Q0aytlMUNPcjNCOFVuQ0hEZ0F6SWFJVDhXbm94UVIzOHFEMmFoWWV2Sk9xWHBQWXVqTkw5amplNWxQMVloQXBKMG80N0NEbVlnTEZ4MENOZlRCVE9IYTNFUWg0K0FBV1hnaWR1cGJtekFwWTRBajFwUlpNZzNxRHFTRXMxd1ZwcFpMbnJYVDRkeU1sdGlxNFh3cHVocFR0L0RESzN3R3dnZ29zRzBBR05HYURPRkFUaXdpVWpZWU51cEhmOEFCKzduQ0V6Z0JkNDJDRFBBQklsaE9wNndBSXFqL3g0cVVWTFc0NWFGMEE0R2dJYXh0MTJMb3hjSVJBajI0eGlsbVk2LzRSRWZzYWhqR2dXVTl3SU9GcXAvVm9IL1dnWmNBSThLd2dZMFdnaE1vQUNEUUsxcHg2b3pvTEF5SWdIOXBLcnlvQ1VRYWE0L3lLRURwVTdYY3ozWTR3cThpazZHUlF4ZFNVbmdJSW4rdURxTFVBSnNRRk41Tldhd1JuTVJ4d1ZjUUdqZTlnTys0WnlKNEFVejhBY3pGd1ZDd0FQeGNBUksrSDVhY2JDTXdIUVN3RHdPMm1UdGdLZ2l1amdybEQ5Zk9rN2VrSmtpSzY4bGF4YVU2bzlYQUE0WWk1d0xJQVpKNnB4dDU0YUZnQVBlQWdjZCthZE1NQU53c0FTWHR3aGVZQ0lOaWhMMjZRZ2hzWllva1JERGFnQmVPYWJlODdYcHVvL3hlaEdiS2szZmcvK21ZUE91OEdvR1ptQ3NhYWl2Wk1kWkpZQkQvZUUrN2lNR2E1bWtGUHNIQ3NDcW53QUhkNHNOR2lDNVVXWXpLR0dOQkhFb2hSVzI5NGxBWEJoUXhNQlB5R2tHL0tDVmdua0lPNm9JcEdNR3A2TUllbUFCQVNJQnpXbXRQWnNJYzhBSVIwQWhGSmdOZDllRnB1QVpoZ2NSNjNHeWRDbXZRV1dzZW1lWGppdXlnYW1jSXV1eEdadVYxb0FNbnZFRFM1Q1dPMXRjZ21BYm9YQUVLdmFOOG5BRnNUb0tPdk84OWRBT3dITk8ydnViUDVoT3pIQW1JZHVydkJpODhJcWNwMkc3MTRBdUJvQzJoaEM2N1BzSEZWQUJ5d3NKSHRCaUNUY1BmSUE1b0ZCay9vQUNxSXNOSGVXTHE0Tzd1L3VEaU1OTSt3QzdnbkFGa3RnSVNKbTN1N0QvQUFEUkNIVWJhU0dBSEhpQUJ6dWdCalRnQ05qYUJZdnlxdGR3QmJNbkNoME1JdEprdlJCb3dxdURPQ1RwUFZ2SkQ1eXhNWU95Q0NucnUwRGhCVHI3Qng2Z0E0dGllNFBRWW8wQXNZSWdtOWpnR0wxQnc1QXd3dkxnZGVrYVVuQmFDSVQ3bzFUTURnaWNHRVdvQ0YvOEIzTXdmWVFBdjQrUUJKL3JoVk5SQncvZ0NUWWpxSTNBQTRjVUZLZnh1b2xBVFQ2QXg4ZGF4VzZjSE1scnhpbXdDTFhtQ0NXUUJQcnJDYkR4Q1R5d2xSN3BDTVdqaWo5eENYVE11NmVoY2IwcU9oRXlBM0hBQXphd0MyMWdwYVhnUzZIc0NEeFFBRnZzQ0pFTUZJTlJUaU44QlR2RXZjVzhISEdRSVo2Z0JwREFzcVVnQkpPNUFHRDJDRkd3eWNseC83Mkp5N3V1RkFJWC9BaElDd2w1MEx1UHNNMGpJaERQbkN0dGg2MkNVQUdOWUFQbHJBZ3JrRTJpNEhXRjZTOS9UTFNDTUFjdmFnaGdCdENJTUFQcUptSDZEQWtiRWM1c1E3UVhUTWlKc0FmMExNK0pFRk5Sa0tvTHpkQVM0TUpOUEE5b21GZk8yZ3NHWFFnNU1MZUZZQUtDTU5LRm9BQkxRQVpMc0ZNYjdRZ0dZWitCeXdzakM1VlF5WjI5OEFNSTRBQmpJQXArY0JJS1lOR0lZRnhMZ0MvaWlnZ2lFY3pacEJUczJwWTMzYXRnT3RXSjREUGFKU2RMdVpUb2NzNmdrRW1oOXdHTFFNOE9GNE1tMEFrdk1IT0tFTG94QURTNmRXSTg0ZEF6blVUaG1wczZiYitWb3RNREJtVmV1TlZialFvZEhSVkk0QU5kNEFLTnNBVTVvUDhHT1VEUGdsRFNpS0RXM3VIR2VmTk1jNDBuM0hFSXcyQUV1bUFFV2Z3UHdjbVV5MVJPNzF6WitLWVVoNE1JNHREWnB6QUhUOURabm1FQkhDSVlZY0VQUGVQSXBFMTlTSXcvb3owY1hSQURwVkE5Z0VRTzFDamI0QWk0RmxEV3R4MGhTNDAvbUpiYnhESVZoWERQaURBR1JxRFp1VmlJTnpxWUF3RGJmdkdseVUwaWczTWc5VkpVaXdBV2hQMGJNWkRlNnAweXZrSUk0ODFkUGlPUTNLMHl5dnpkcFhjdjJhRTRoak9lOVJFUVcySlMza0JhYVdwWWpGWFRockE5Y0d6ZnJIRk9oM2dJaFpvVWgrekJHbEV2akRVVjQ2MGNLRTNhU2xFdlNJeFAyYkRLdWhYZkFjZGNxNkZkV3ZqZEhsNVU4VTFkOWdDWi9kUXlkb0VBdEx5VUd1RWJ1YmM3Mmk1MElQYzdEMEhpUUFtRFQyMmM0RmxSUjVoTXhTZXI0RUF4aXkreUhITkRqYmdLRGd5TTVQYXd5c2xuRlhzOENPd3M1Vm9lVEQvekRBQXNzbHNlNWcvSUNsR2VodjBzNWtqT3hzVjhQWDlCNVdoZTJlSzI1dlREVFcrTzVsNjVvSFd1NWROVXhXNmU1L1p0dGN6azUySnVQMnlSNG9LKzVWOUxuOHQ5NkZKT09xcURRcTdNNkkwdTZka1FDQUFoK1FRRkF3Qi9BQ3llQUYwQXpRQlJBQUFILzRCL2dvT0VoWWFIaUltS2Z3T05qbzhEaTVLVGxKV1dsNWlabXB1SmtJNkhES0dobktTbHBxZW9xWU9laGFLaEZyQ3hzaFlNcXBRU3VCSzJ1N3k3a0lTdXM3T3Vvb082dllrTXRNak16WnJIb3NLd3hIKzV1cCtNMk02Rng0c1NvOXZocXNIRHhhdVBnbzNHeDkzaW1BczhjTzd6bk9XMWdoS3N4dXU0aE5yMEFBUDJBcGZ0WDdWKzFkSTFzcGJybDhDSEVFMDUzSmVRSDY1SERDOGFqTWl4NHlWcnhoWTJIREJTblQrUEtGTk95bVdScE1pR2g5cXBuRWt6cGpXUytVd1NZbGxUWmFTZU52TnB4TVlUYU0wQjk0enVIUHBUcVZOQkRCWXNlNHFQcXRWQnlxYkp2TW9WNkxkWURMWjJIYXVTSWRtemFOT3FYY3UycmR1M2NQL2p5cDFMdDY3ZHU4alE0ZDI3YVNQZnY1TUdJQUJNMkJLS3dvaXBOazNNdUxIalR0K1NQdDZtUXdOTkNSWVdYSmw4U2NDZVRScjhtQ2hMU3pMblJSVnMrUEdqNlVVSlB5cmdkRm44VUpucDA0bTIvQW05Mm84R0ZUOUsvUGs4U1l3U0hEZzhoaEtMRzVHYTNyN1pJTWZ4NDgrT1NYQ3FJejhNVVZuelNqUlU5MVl4SGJrS1NqUGtJZmNCRVRQejc0Znc5TTZUcER3T09IVUVTUElpQ0htUzdoWWNvaE44ZzhpM21oRDJJYWZFZFl2TUFjZDA4ancwbFQ4a0VWaElIcjJWa0NBT0plQkJneVJXUUFpUkJac1Y0dGQzSWZRV2ozMXdoRVlKSEhDd3djYUlKVkpJRzRFVkdPakhEL2FkUjBrTFhmRGdvNFMzblFqZmZEd2l0MFQvSHBXMDBJWWZiVVRrM1U1R2ZwY0RJVHhFRVFXVGwyalFoWlFXeUZTbFhTb01WdGcwSnQ0STF3OUlJR0VJQTNyY3RsZFc3WXlwMWthd01CWkxuUVBDWlJCbUZSV0dHU3g4cXNsV24zK01FbUJpZzRiNWsxNXZhYk5aVk8vMVlnQWlCQVhVYURkMmR2WG5oTnNnVWVFaFlVYTA2VG1Ha29Xbm5NdzBFaFVvbFlyelZhbW9wbXJWbndBWnlXcEF0aFhhS1UyUUNuTEZvckhhZ2loV3UvTDZTbGkxQmd1VXM0blM2bzZSMGlxWGxWWUtlVEpSUi9yZ00yeXl2VVJ5NG5LWFJZT3R0dWdLbEM1V2U5SWo3ckhWVkZ2VHJHaG1pKzY5bE5ncUlMNXYwbEpzdU9JS0NLcFJ1R1FGN3IwSUo2eXd0dFZreXEydEVpd2dnWmxVTldwTzFtQUxaN3h1dzdMOEswNlZBMXRGTHplbGlWS2pJZ29ua291NVlIa2N6b21ET1R3V1FzWklVekl4eERESDBCVXN5eUlLelEvREMxV0FGTWUxOGlzMko2MzBja0FEQ3kwdzh2NlZFYzZ1WEpHUnl4dzl6UzZKRmlKU3RGUGR0a0xvMTEzZldoQzhnN1ZMRDlsbDkrWElZSWFlU28rb24ramJkaWRhNDRNdFBTaDhwUXlYZDJNeTVxRGdCdDZUWUN0WndJZmhhTmx0QVd0TzFXRTM0NGdzVHZubG1HZXUrZWFUbndMNDV0c3dnUEFxaFV0aVFlZWdtOExINk9uVVVRcldxY2N1Kyt3cEpUc3E3VWJ4c2Fpd0MvQWhWV2FNQlFJQUlma0VCUU1BZndBc0FBQUFBQUVBQVFBQUJ3T0FmNEVBSWZrRUJRTUFmd0FzVmdBa0FCb0JnUUFBQi8rQWY0S0RoSVdHaDRpSmlvdU1qWTZQanlscUFwU1ZsQStZRHdLUW5KMmVuNkNob3FPa3BhYUlZRDFQUFU1VVVTby9Qd1d6QlQ0RlZKZFVENmU4dmI2L3dNSENoaU5Pc0Q0aXljbXp5aUovQmxSQ0lTb2lQaXE3dzluYTI5emRvRU1wZndXQ0lnVUdCaWdJQ0FNRENDZ29CdU1TOHdNb0JkVlIzdnI3L1AyODRBWjhrRE9INE0rOGcvTUkyVE13QUNHQ2V3YTIrSnRJc2FKRk1BR2RsVXMzUUJCQ2hCMEgxU3VJOElxQmFrTXNxbHpKOHBlS2U4bitJR2xFYjkwaGtQY0tZR3ZKczZkUFJTbGVMak5Ra0oyNmtPb0tGcEpRcjZFaGRmUk82dnhKdFdyTFBDbVFpYXdYVHhrdFpVUU5qWlJRYUFBNmVoQ3RxbDJyYjRJSk0vZi9uaFZFMExXY2dWaDNmOXhWcHBUUVdJOWtaU0loTytCZVByYUlFLytLZ3NRWnd6OFBrMWx6TXVLQWh5ODlNdmY0RXdOWkFSU0dtQVpPS0FoZTZUOCtxT3hRekxvMXFEWUd4Q0dRWUsrYWloUTZQUHdaQVdaUVprSS9rc1ZlU3ByMEg5Qk9CZUZ4emJ6NUlneWdCMGUyaGh2U2x1QTNSeGRIRXJzd1pPZmd3NS80TTRXaFdSRUdTdWpRMFVuTm4rQUdBb3RVYXB6c1RBVE9uSVRmejN3RG5EWVBpYUdDSDMvc3hJbDc4TWtuQ0JLZ0djUlVRMloxZEpJUEZmQm5ZV3RpZExHQ0ZFS0lncUF6WlgzbW9Ec0dmVmVZQ0U5OGNPR0tMRHJ5d3lFSStFQ1NCRWgweEZScEluU2h4QVV0OXVqVEpxZW9rY09MaHNRVDBqdUczS09DLzNzK051bWpibUtaSTRoWlQxWGpCSkJPcW5YQmxqeGV3RUtXbmFBZ2dsSXpGWWtlazJCYXhPTWZJR1NneEI5cFpJREduR2h3eVdXYWg1Z2hVeUZTaWpVbE1yaGdpYWMzVThnUVJSVG55REtMT0Q0MEt0QVBVVGhSZ2hKb2dMQ2xJQmtNR2x0ZjVQUlZaajJDbklRQ2dZTU9nOE1mVnJSeHhUSElLRE9JTTdURXlreE01aUJSQWhWcERIcVlmQkwwK1l5TlllSG5Bd3NFbENwTUhHSXM0ZW80enpEWTREcnNSQ3V0T3JYRjlJY0thdzdhb0VFeEFqdUlhYytJTUlHeHdZZ0Jxemtvc0RObE85S0c5bEZwOXdoVXdJNXBxdkhBb29BVlVPWTZVVTFaUUJRRUVFRXVMMVlrTWNoc2tNSHpWVFBtaEVUSXUzKzBvNjhFVi9DUWdmOEtVWUNRWlFsTDJXUGpRUmFVR2ZFVmR3NU1paFZXMU1pT3dwTDVFTXNQS3NRc1ZLME1PbnlRd3pHaU1JOFpKLzJRNmFCTUZVQlNReFlzTURTbTJab3NpaFYvdEFGUE1sMGdjU2dSUkJCZzlkVUNvRkVDb28yV3d5bFRmVDAwMnp4aXpvdG5SeUhIRjdFRUZ2eHhSUUUyL21HR0V6OHJQUXF5WXZ6eFFndHBrUHFId0lJQS9rY2xCS2p3aDljUHA3dVZneExnTjA2eFBxb3cyQjhNTEFBWFBZRXRRQlFEREZqd3R0M0FUTkVJRkg4azBBWXl3NG1rT0hHMGlVQ2tqM0plUWJrRkRCUmd4anljRjQwQ0VndFlVUFJkb0ZNVVJUV2NRb2J3dy9POExZSUs0L1pvdFo2ZEw0Q0VHUXo4c1lEY2xodmd1eUFGdlJtOFA5UXdPMGovNHc1enIzUGp5YlRnbzlWS1NOQzVCV2JJWHJRWnZOZHV4dlZ1LzdIQzl4TU5MMVp5Z3lES1BFN1NoUjRCNEE4QWVNUHRmTGM5M3pIQUFKVWpTdThHMFlVRDhxOGZ3ZGtXWURaSWw0YkV5Qm8rZ29JUGJ2ZUg3Wlh3ZDJiUUF3SjQ1enM5b0Vad0Y5UUhDMnhSdnVJRVpuY0RYRjZUZkxDdEJ1cHVKcHpqQXg4RW9hZkR4SEFmMUJEWkJvM3puWUtNUTFBcktrRDFHTWpBN0EzQ0Q2U3F3M3NnZDBSOUNLUXM5QWxNVWNRaEFpcjRpR1AzODkwQytMQ0FOYjdOQklMQVlpR1VvTEV1ZW9NYVpYbE1jZmFVdWg1bHdBZThFNkljLytDSFBOZ3VqbWJRNGlDTWFFZHVzR0FjbkRMQVRPamh3VTA1QXdSMVpORTRoa2hJVW1HeC80L3F3Tjh6R3FrUHd4WGlJUTBoQzBuQ01nNk85VWdXaWh6a2dnelFPeXRTVGhCb0lPVkVDZ01hc3ZRU1NZMVJ3UTE2UkEzWmRmSVBmTEFBSCt6QlFObkpEbitpMDZVL3psR2lTVVlNTXVXSUpvdW9BUm9xQ3NKb1VteGIyKzczSFVaS1V4OGVDMVg1VGhTRlhMRUlkYjB6b2ZYTUlBSmphZzQwbG52UE1HNXdnUnZ3TXdNWjZDYy9qeWdRK1F4QVJnc3Eza21pTU13V2xZT0tiWnVuQ1BSVW10aFlRRUcrb0FRQlpQQ0hKWWdoQ1hFSTZRdFVRSVYrWHRCd2ZlbFZtVFRJUGZSY1NwTUZ1SUk0STJxNWllSVBMaDdwWXk5a3dBVTRDQUlIUU1VQkhQSW1pQ1RzajM4c0VJSElKRUROQlJYQ0RMYklRQ1l2TkpNMGNtNFE5UDlNNHdKa3A1VG84RUlBUk9EQ3FZUXFoaCtVUUFnOFVPUjcyUENIT01EUWJ2THdpRGdVY1E5aXRVaE1DT2pkUExZNkc2RnhqZ0crNU42ZVR2RURuM2EwQkJvWUJCNGNBSVEvbU1BQmdqQ2xIUnNITjBNbzdpUXFlQ3QveEFUQmd6Q0FmalNDVUVmNlZKaktsb0t0Z3VnUUl3VG16cU5la0xKS0dVNW9qN004TGw3SWNhS1p4d3B6RzBCbTlXcE12REFuSTJUd2hqL2dRTE4yQzVwU3hpYVRnb2pwQjdhMWtPTSt4aFMxR1NlZFRCVUJTejB4Z0x5eFFiV2RrTUZRZFZxcU5va29sU0s2R1kxQWc1L1hyYWd3UHJDWldmaEZHdngwVmFtaTZPNGZrcEJZUXJ6QmdveTRRUlJ3c0FUeEdVc0FGNGlDS3lNWUc4OWFZRnNGY08vL2hVcmJrYkV4OVNpa09laXowQk9LQVJqc0R4cFlqaUJrTUM2UVlxQVJkUmdxWUUyRzRBeWdUWHFUSEVEMHdxYWZMNzBYa3FNc1VZTXlyQzkva1JjU1BoQ3FFUG93Q0JsZ0lBbHBMVUVTU0VjSUlKaUFCNE1nd29CbEFzQkJDWUFBQXVDQmpJdUdCQ1F3Z0Iwek5raEh6TURSRmtHU3FUWUNsM0dhS280Zk93SUJQczFIRVA2QUFTNEFJQTRsNkVNdWs5QzhQeERBYjBWT0F4eUcyb1g0a29zU1dpN2hBdElCV0xZVmpTUkUzRnVMWXFPenNEUnVPT3Bha0dueDVZa1hGZkFQYjBoQ1VFODFpREs4b016OU5VUWFlS0NCUE9SQndtbkNzZ0NFc09YclhXR0tuRE1hNVRnbkFSK2NtRVd4R1F5RHhKeTY0NkhBME04b3dJMDQvekVBMUFxaURIQW9BUStVSElkbjc1ZDBNcEJDSVhJSmdEVHdFOEUyTmhZQmZqQ1k5M1ZPMFNnd0F4OTRGazhMR01DMVZFWFBwYm1WT3AyMU5MYktMbDhpTkppNk9jTmhRR3hxQWh5NFFJZ2xFd0hRZjVBQ0ZEQ0FBY2dSb0FWZnRKc0pkWmRDZHF2UnphQTRpRW80TysrSTZkSGVFUk9SVE9DbTc1dWtJekI1QXk4T3pObUVRcHpnNEtsZHdRbzBRSUFUUSs0RlJCMllGQVV4Y2VtbGtDNFQxQnlzTTE0aWxlQTJRaDVIaXNQNjVERjlyek8zaE5sdkh1YTgzNDdDNGNQV051N2Zsc01EdzRvaENNVVZRQkNTQUlmaURVb1c3NFBvb2xNSWp3a0tBcnBVQjBVcU1jZTVrbnNqUnBXMWRGZ2dFeEttTWd1dnlFT0lSMUo1R3YvSi9nRUtCb3RER3dheCtKOXVJTnY2SThRRVpQQ0NQeGhXYWJJNG9kcVJnQUE5bUFFRjhhd2VkRW1SU3JSZGxDTGxzL1J4dUVjZmNYUUU4Rk5LaW9WdGxHbUJnSGZFZjJoNVVVbGRCbExuc3ZHQytMVkNNSW9udEF2U0QyeHNZMWlFeUh3KzFBS0tubmdRMFdoWEVRckw1SmY3b2cvZzdhdnBaZ3dtTVBwR2NpRVF6NFdXTjZIYVhPajlJS0RRQjhPL1FRWW5nTU1HUUNvR3M2ZHBGbHJFb2lmOWtEcFppZ1A2bkVBV0NjRkFLMkZvdThNdG43SXQzQmNqeDZNdjczQVBneEVTYUhNRkJKWkxoWUFCUWhVSFBuVjFmRVlJUkZBQ3BIWUNVTEJ3Y1lCbEJQQUdZbUIzVGhJRXRyQWMraGRIZmhCVE1FZ3E4UUNBNFFFdWRFSC9iMVBpRitkbEVEUGhaVzIwVmJVQUlZeERVWWd3QVhBZ1ZDOHdna3hHQ0ZBd0FhYldoSG9ET0hHZ1JHa2lBMTFnQUVQMGdvUmtTTWJrQjFmZ053VlFLWXFRU1MvQU5DSWhDRlBVQ3lvb2R3MldneDRuRWxMU0R2Wm5OTnBGU1N1alQ0bFFYSXd3Z29VUVVtMzFBMjNZSk9oUlMwUEVSbjlRQnpIRmZDaFFQWUtnVm9pQUJxeG1NVk1RQlhXUUI3dDJiclJEZko4d0VoRXppSTZnTGhIU2NiK1NVOHhTR0Zab1BWY2diL1lnRG5GaGVLUHpYNHJ3aEc3d0IyTHdaY2J5QWtyVmJqVDFOakxsT3daZ1RJUFFXSWFBQmlhZ2Ryd29UNWttQ3RrVkg2RElDQjBVUUxNQmg2Vm9FRVlTS3ZJMENMVmpEc3N3QzB1QUEya2doWWxBLzF4bEVGSStWUWFJVUdkL1VBWmlzR3lEa2xRc1JJRFc4eERtaGdRUmRRaEFrZ0VNOUZmOGVGVzh4b2IwNVk2SjREQTJBM3ZQd0Y0aXMzZTBZV2puY0c2SVVBN1VVemtvZ0FQQ3R3Z0VWM21DVUhrQXRuNWxVSXRKa0lMUHlDSlRvRjI4K0UzTTFEWUxnSENFb0ZFbjFHZ2Y4WkpNUkFyYThTQ0xJSDBkd1E3b0l6TERsbnIwd1gzelpRaTBBeEdWSXdoNndERUV4d2lWeDRlSGw1R0ZRR0tMNXdad3NBU2NtQ1hEazFjT1JGT3g0WGFKSUdzL3d3TXcrUzVUYVFydGNnaHpoNVBTRjBEZjBrdnlzVHJvMDB1U1ZBanpJdzVEV1FnWTZRbEpzR1JPbUFTMW1BWUVSakhHZ2xLOWMxVnErQm1jdEpXeTVqczhjRHN3T1Q3RGNQK1Q0NE5SSDBFWDUyQVRnbUJhQjJnYzh0VmpUQVdVaXpZbW9xU0diUEI0bndCU1RVaGk2UGdIQkJkeHBmSWlZOU1RUm1NR01lS0lpSEFCc2tZQUdrQjlGU0ZHUjFFV2xkUU1ZMElXSjlGVk5VS1p4S0daOFhDUFJYTUZ0aUNiZzJBQmJHQUY0dWdJTW5DWFRRZ0ZjY0JrMVphS2FTSVFDSU03UkRFQXNpTmNnM0JsVnNNRHVLa0l5eGdNbDlZcTFSQVcwbklTU2hVL2NNR1F3QlV1a3ZFWXlFTk5OSEpMUE9kdUpIa0kycm1IVGdnSFN6aGlMM0NVMFRrb1JOQW9NMUpkWktHU2hJQUhWb01HdDNtUEZIRnNkbEdaMVpBdTdBQ0JWeENFNitZTU5LSmRNbEVPb1ZJT05VUWpEZFlZSDRwVmNxa0lMVkJtNDNnQ2FQZ0hSa2Iva1lJQUJYZFdpK3Y0QjUvMmwrWEFLeXRVbUlsd0JWUmdudG40TU9qa05aWFRSaGFBSDcvWkdLRDNtWUxCQUQ4NEFNN1FwRStLb28rNWVxMURUaVZrcFdCcUNKYkRWdEdKamdjRUJUNzFCcVJqblhEQVpOWUpiOGNSa2l5eUF2SkdYNDhBaE9kWkViWHdvUkMxVE9pQkg3eVRDQTkyZmZYVWJqVzFMWlJrRUdJeXB0WkRwYzI1QUJMd1VkSHBINkFtYW5RbUE0ajNCNU5ub3h0d2xCM2xvMkhwSkM4aWJQWkhWNEtwcFB6UU90WURVUTVFQ3o3UW9vbFFFTEdoUFdwM2pXRFpHSGtGcVlpd0FEK0FBM1ZKQ0pXWGhKWjNLaHI0QnlJNENGZzNkS1VpRUpVMkFKajRDQWJXcGFzcUpxQ1hqYnB6T0R1bkNMU3FMMXI1YUw4Si81T05RVDIzeHF1RXNGVnNNQUVKR21vK3RRR2NXbTJneGxFa3BwZUN3S1BNbWlWQklBUGNTUnR3NUFpR1pHQUpNYXJhWUsxYVNRaktXUTdNV1VLUE9vL2x3RU5rdW9yU0FSa0kwUmkxZ0RpS2NEMm5SbWN2b0pTRHdMR0hBSy82QTYvMVI2Y1dFZ1Q1eXFWRXlnaXJxRk1DdXcwRkVhQy84Nkw5dVZWWGNHc3FSRWFnQjVlMVEwYkNrVXBTd1NEMzRLam5Tb0VuOWdaeDhBSnBBS3FNSUdqN0kxbkQwUVV0MndnendBMGlGZ29tYTdMaEE2MmNRRThZNXc4U2tnajV0SzFGWTZXSFV3N0RkZzg1U3doQmVUanBjR3lWcFZSTldqc1laemxDVlFZRkF3VnBFQWVudVFoUWNLQlN1Q2s0a0hPTTRBVUtRQWlYaHdOZXdBMjN0LzhJYXlJRGp1dTRnbkMxKzBOTG5NQUgrQUZ5RmtGNHNVcW84U0NidFlNZTNDRSthRXVsdUtrbmE4UzE2RkUwYWdRYXdnaVV2eW9JYWFDVVNaQXJIcnVVSnhaU3BMWjZGSFNxZytBRlUvdFRjTUFHYkpDN3h2VzcyU0NlaWFBQkZxTUVMRUFFYzJheVZBT0xrS0NyUERHaWVYVUlEaVJUaXFhclJVTTVPQ1VxNWxvQThoUWJzWXFvQldHRWlSQUZTVkJjdjlZR2huVmlETWNGTHdCU3hKc0VtQ3NJbDNjSUNtQ3MxNklFUW9BTmlUc0lhR2k4RnVFSEVLVzhQTUJxSVFNSzhkQVNTY0ZaaE5xOVllb3IzL1EyRUFpcDFVTkxGaW9UQlh1KzVrcVVEQUFIUit0VFpTSzRoWEIxV2RoUkFxa0krNHNEWEtBZmp2QUNweUtJRm1IL0F3dVFPeEcxajZuV0NSUThFZFUxQ0YwanRPZDZQVnYxbjVGYUVMc0lsOHFwd1NZcE40WFFtZGF6Q0JiUUJtUGxYdlNVTEVETWVRMkJCRGdBdFk0d0E4VGJDVGlBYkx4QWRYOEdDUkF6Q2djVm9QdEFKZWJRd09VZ3EwT2JGQXl3aW1uYm5PNldZNGFBc0R5M2FKdkxKNGZLQ0JaUUFoaHpqM2I0ZlNEQkRqL0FCdHQxQ0Y0UXhvVndCSU9iQUhwNENzOHJBOGgxc1RFWkN1akR1OTNRRUdKU0pqZU14T1JscFF3REY1UnJDT2g3cmx3YnFRR1JzSUloQ3JNQUxkSnlrK3pRdFlKUXVFc2dDRkRpQ1hQZ0JYQ1Fub3NBdzRvZ0ExY3JBMFhnRHdicHd3SFJvbW9rTy9oRkNDZmhObGZBTTQyeXJZY2dFQllxaE5lcmFDdTAvOEVMR3dwSFVjdkw2R3lKQU1hd3VBVWVVQ0dRVUNGSm9KcUk4TGhCQUZtS2dBYnlIQVE3M0FqWEk0cFJteWVoQWpldzdBMisweXNHOXN5SGM3MUZqQURKMTBaaTRwbGtPcTRZREpjU3pBdUFSYzVWdGdoTU1BUE9SZ001a0ZoWWxBY2h3TTZNY0FRaDhBY2M0OG5GeFFJOE1KZUtrQUZVb0RVLzBNaU5FQktRK0FnODBCMzZBcUhlY0JDendKeXJXNGpjRTA1VTFKblliTEJlNWdqZ1hBbzJDU0V4NGdnWlRRZ1NjUWgra0FPTkVNQWdLSldKZ0FFYUVKZ01rTEpTRFJmUkRBbDhJTXljY0E3Sm94Sk9FY2pOU1RuVDgwMFBvWGxVMUJpRFNxYis4R1hSd2hSSXNNdVBjSGtWUUFNMlFBajZwd0Z0OEFNaXJRaHQ0QWY1VVA5MmluQnJnc2NJZUpXU1pvVEdGdzBKUnJ3UzllRFFkSzFvdnZpWkROVEFMU0VhOVFEUGpXQllleUFJSlgxRit2ZXJPQkFEakRBSENxQUVydFMxS3ZBUkFXMEl2K2dIM3ZNSVY0QUNTZTBJRUVUTUtzRVVTUnpCN2piWGFsdkhMS0VIWDNaczVyelhiS0FCL2ZvSDBUcURmckRMUWpVR2c3c0Uzdk9qaUxES1NGM2JpeUE3T3MwSWZMQzRhRjJadlkzSHU0Mjk2ZDBQS01EZG5zQUdVQWJZcVAzUkJnTlU3cVFJUi9Cdmd0RGNodUJLMjlDNkYrTGRRQm5GeHJJRmZxTi9oZlJoQkZiWWlhQUNodVhKMEpLRzU1UWtMSzAwM2lQSmdvRGc5YjNnUHlVRzdMRUljTERJV3NldDBWTGhpcUE5ZHBPL2MwQUlmMDNkMVcxY2djdi9IaTJlQ0ZiZ1VVQjF2MlNKNG5RRlFSYnh3ZDdRNGhydUFRbWUyakxlZUJxT0NETlFWcWNDYVR6T1hkUlRFWURsa01GUXVJaFE0NGFBSmdvT2drQjFWQUdjQ00rTnhYTDE1SjdRM29UUWFPQ3RqYWxLRTNkdENQQTlDbVNYeFh1QTVZM3cwZC80QWpUd0IxNlE1SWdBQnhVZ0JwTkRzcDlZMHhYdVB0NWtDSFVYTFd2T2ozam9QaXZCVnRWTUNKekU1NGNnRVlBV0FtQWc1RmFlQ0k5Y0JlSWo2QU13YkdRT0dQMTRWWGdvTFFKcDBXREdPUUsrcW0xVUNDY1JBOWpOQ0I2d0JSVlFBVmhPNTRnUXdDSWpZNkU0V29RKzZpMHlxZ0x4Qkw5UUJTQXlKWTYrZ3dOWldtWXU3QmFDaTRjUUc4bGVDbU1RQTlWT05BYUZub1dSLzhyUS9sNE8welluZmdqYjRnUEdMZ3Bkd0dIS25vMituZ2k5NHUzZmJpSExSanR0YzVaa0NTNkRNT3VLTUFkam9POWk0V2dXMnU2STBPM3gzaUxnZWViMVB1NklVQ2JXRWdOUDhQQVEvd1NzN1FQY1Rjc044VDdMdmpacGp0NEZmeUVydGhUbWRnVXJES0R4VUF1TmdocURNQTV2dVdzczcwRGd0NE10VzlRZER4N2c3VDVwOTQvb3FRNHFtNHdmN3hkcmpnajRJY1F6enh3WEJZb2Fad29ISWZLSWtQR05nTXRWZ1h6NU0vUUdRVHNLNzhPblJ4T1B6UnJ6Z3g1VXJtampMVTNhSytqQ1VQV05jSUN0NFFlZmxiQlVOTjFTdnhaaXp4TjVvQWNXNnFvTWdBQWIzL2FaeTUvN0FWSFlWRzU0WHhVQzN4eHBWMFhCcWVoL2YyVDRhc3YzeWtseWhvLzRpTzlObmNtaDBuTDNqai9xTDQ2U2k2L3FiMS81UEs0NTJxWHFuSS80ZG1nZUZoMzZoMDlQUWdQNnB2LzNVcXI1cS8vM2RlLzZydy83UzAzV3N6LzBiVlBSN3VQVnR6L3p1QW5rdmQveDdBRDh3Vi93UDEvOHZoQUlBQ0g1QkFVREFIOEFMQUFBQUFBQkFBRUFBQWNEZ0grQkFDSDVCQVVEQUg4QUxJSUFXQUQxQUZZQUFBZi9nSCtDZzRTRmhvZUlpWXFMakkyT2o1Q0dBd09SbFphWG1KbWFtNDZUbnA2Q2s1eWpoWlNmcEtpcHFxdVduNktzcTVRV0ZneTF0WU9nc0xxN3ZKMjVoTFlNczhPendReC9FcFM5amNIRXRzdlEwYXl1ZzdiRXc4WVNFcVhTaksrRnRRaG1mOHJkNXVlUjFzN1B5TnVuNU5yeDh0cm9oNi9sOWZuNnBjTFl0N2l1NXNVN05HK2Z3WU1JRGQzYUJsQmdJVzBEa2tVVUdBOGZ0SGVJTENiYzJPdmJJSWFDS0ZiME5DOGlMbk8vT0txc1I0L1F4RWtpNVpFRE5iQmR5MjRhN1psY3lUTVZ2cEl3Yjlwc0tiU25JUWtJakNyVkZQRVlzb2tnb2RaY0Npa3AxYXVXTEpBYkNoS3IxNis5aW9JZFM3YXMyVlFTaXAxZHk5YVNoSDYwLzdxMm5VdVgwRnU0RENEVzNRczJaOGkzL3ZnS3Bwb3NtU0xBeGZMNkhjeFluNnZGYnhjc3VJS2tzZVdOanhmL1NYSzVNMmFNaDdwNEhrMjZ0T25UcUZPclhzMWFxY2ZXc0pmVnNqQXV0dTFWZDRkTnZzMTcxT3pFVG5zTGQ0czM3L0RqYnJFeGZJMjhPVGU3N3B4TFQzVEZNTUhwMkt2RnpjNzlLQzNqRDFOMlB5ZDNaZHJna3ZTT1B5ZXN2TXIyR2NXdmo5WnZxUVgzTXpYUDV5VnM2VDlKek8wWERRSitLRFdMZXdFS2FKc1NDK2lrbjRLc2FRVWdoTjBsU09GeEZsNG9YSVlhcWlaaEtROTJhRnBhNVhHSUdoc1hwblVGZ0NHV2hrSmxQVmxGR0MwT3hsYUxpZnFJMVZOL0xMYlltWFdHRklBUWZJUXRnS0I4cURHZ0VmOERDOVJtRUlsWTBkaWpqNHdOZ040Z2FoMUU1SXpndWZRSmZwM0JwTkNCMGdBNUpwZ3JDZk1mUUVpRytWcEVXVVpqSVk5ZTlYTmxmamp1MWVZc0tDbENaNTByT3BnblhVb2VNc3c1bXYxSlZvbHQ4aVhLbldvaW1xZ0ZWS3AwM3BTVjlzVmNXbEtpWkdVaWE0NkZtRnlaWmVvYWtsZHNKK2tpOTdVRldLQnNQcllXTlE5dDZlbWtkUUhXWmF5TlVnVWFNdlhWZzRBb2ZsM0tWNnFxOG1vcVRua2lkaWV6QVNZMUM2eDhPWnRYVkxJbWxCa2pURnBBYlQwWkJtc1pZc1ZVaDZkRnBlcFNLcTJNb0huUlRJZkY2Wm16WG9LNDdyMEo0bnV2cGxzUmRLaHorZ1lzY0NMeG1IdXFac080aTlvVnRWVG5yc0Q3UG5UWGI4NFk5V3VTSVFrTDE2MHpEazhja3kwTVRXek15TmY0VTR2Qys3QkxpTFRGeU1oYlBNMlVMRE14Um9hMHdNd3pCNE95UWFiMGlzMThJbzBNM3NRZEM3UWlIMGpuNFpYS0QvMHNJaVlXS0UwVzA0T3czR2xQWmo0OUNrbUwyRW5WQWhkcjNjcW5qUERoQngvOUtpVVIyV0pqTW9EVWd6M2JOaVFOem0zMzNYam5yZmZlZlBmdDk5K0FCeTU0aDVvTk8zamNYUm1OWENBQUlma0VCUU1BZndBc0FBQUFBQUVBQVFBQUJ3T0FmNEVBSWZrRUJRTUFmd0FzWUFBa0FBa0JnUUFBQi8rQWY0S0RoSVdHaDRpSmlvdU1qWTZQaFZ1REQxUk9VU3FZbVZGT1ZKQ2VuNkNob3FPa3BhYW5rRjh4UGdVL0JTS3dzU0krc1Q0cVRuOENxTHU4dmI2L3dMd0hReWtHdEFYSXlZTElmOGhJS0FhdmZ6OU91c0hYMk5uYTI0L0V4aUlGQmlnRDVPV0M1QWpRNGVnR0luOEdEOXp5OC9UMW8wN1JzK0lERXYyTEVnT1FGRUFnQ01HckFsUnkyRnZJc0tHOEZDcWtGVURDejE4aWdvUDhyUk9FeEowS05RNURpaHc1S3NVZkg4ME1JTERJQ0lIS1FnT1FEUkNFQXFVS2F5Uno2dHo1UjhmSlp1TWsvT2xIN2crNWZrSU5HVVFCRTFsU2czOXU4cHhLdFo2ZlFRV0NFbFZYWUpBNEJQd09oWU5wSU93ZmpDcXFxbDM3NjRRR1Awei9mVkFjS3NIbHExbGRmT2lGbFhLY29iRXdXUXJDeGJhd1lWRWw2aGdnSk1FTWlsYytES1J3a3VLSkVTTlBudXo5QXc3aklJT0xEU0UxYXVBbW1jT29VeXRLY3dXbG9NYVBmZnd3K2VjQTdUOWdDdlg0UVF0SklRUWlmSXYyMXhpbjZ1T3FKOUFjR3JDQTdOdU0xSXdZb2lMeWJ4Rk1oOU1WSWdTNWQ5VFJFQ0JBVXNKeEQraU9GS3JaSWlMMElDUStQQThhZ0lJZ1FNRGY4MU5kTXV1SEZSeHRtS0pHQ3NFVkVnMWpBQjA0RkhCUDZPZmdUbUxFOFFjT1Z2eVFCeHFrS0pURER5TEl4MUZHUXNXMFdEL3R4UERnaVNQaElBZ0x2T1RBeWt5SitHT1FmU0lhaCtLTjlselE0b0RORkNMY2EwbEI4eHB3YWVGb3BJTTVwUFhqLzNCSmlVTlhPNTBjS2M4Rk9rcTV5NFlkRW9LQWEzUVZWTUJNZGJWbnBUd1pvSUdHRWlXbzhBTVNiR0pTZ2hKS29BSENtSXpZOEpoOENvNzJqbS85ZEZSQ2xYVHl3c0lsS2tUakhDMnlERklMTWdhUWw0RWdjd1k2aUI4Q3dXaFVWa0I2Q2FhSWtwSUN4NFJjMUJHRklPNHNFMDZqOVlrM2dCbjB1Y2NaTE9Hb2dFR25naWdSUllIdmRjVmNVcGoyS1VLUnRINWloUlZKc1BMVFYwY2hwZXl5TkxsS3Fnb1lTam9CQUxSNEZsTjI0MkgxV2t4ZEtCY3NKSEdJSVlpclFpMHJXQ0lEak1kb096NlUwS2tBVG9pWjZ6a0RMV09mQkIycElNTzNqWVFySnBoSW1TRWVDbXdhWURCQmxzYlkzRGdIL1Jub0JSeWFNZDlaTkgwcDFQOWkvSmdoTDcrS2lDRW1VdWtTbkk4c3NTeFQxcmxud1ZnWHBpaTRFd1dnVnNiN293UkNNc0JBVmtKWnpNQUM3U2pCY1NKc0xCRjBHMUdVd0VlaEJ2endnd3BSVE9HMDA0T3FlUXhGU1EwaTVMWXZRUlZGcEZabWdJd1o1YzQwZ0FVTFFNT0FCT0l3UURabndQNk15TEJXdElEQkJvVVFNSWpkZDdPZ1FoZEFWVDN1ek0ySTNWVmFSSXpaRVZNQU5YWUYyVmNVY01WWkJWaGd3UjhNbkJTdDI0dEE4VWtMcm4xWlNMMjV6cVExblVwOExKVGthbHZnNU0xbUxFQ1RDS05pL3NzVUJ5VXNrSUdodGV3REFiTmFHYkVna2x1QXd1UE5rSTJFQWE3L0lmRVBzZ05EZ0FvYlg3cWtRVEF1NWdQZFZrS1BRdkprMS9kSDQxY3NZSWIvRDQ5TGJrQVgremJ2Q3dHM0x2bVlwZlNGRmRNZkw0eUpBVGlUQ3lJK0VndFlVSy9xMi92REFvRFRPL1gxNG5rK1NOaEVDcUVuZDJoT1NrR0lXUEsrWjRES0hjOFBmakJEQWZqQXdadTF6WUNvSUFBQnJQTVp6eUdJRUxFNzB2T3dNOEYzWENHRFBxaURIK3BRQUI0SWdsSWcvTVVLRmJpa1RNV0VlWGd6RWd1aXR3QWttTUVQSmlEZnVERGlCd2I0TEllOVlJRmNDUEUrQmlJRkdpRGcybzFBY0FIbk1BQ0RHRXdIQmlsMmx0RHdvWWdwaE9JcENPQUtCWHFvU3hLNHdnVnNoS0lMZE9TRlY2SGdIeWdsbk1ZeGdBL0dZNTRhUXppcTdIZ0ZSQVdoU3daZ2hxTmJ5VWN4ZFZBZThpeHdNK0FOMEFlUEd1UXBpR0FzUlBpai80cG9TeU9PcG9BclBveExZZ3d3US80YXBUK05sVUNMbWh3RjlON29RMTNSckFDd1JKRVVEWEJHeWZFTUFmM0xYOW4ra0wvSGZUQ1dvZ2pDRkE5aEVZTXhKeXBTSWdBeThpZEFnaEZUY2dKRTVlUWFKMGhra29JSVVUQWhHVE5GUFJMNW9JQTMwaFUxeGJlWTRHMnpBS2lVQURPdWNZRWJaSUFLTE1nbkM2Z2dnQnRJaXBOTDBsV1gzbUdmbGozUlNCT1o0QUw4NkU1aUR1UnM3d2dHQWJMSW9qamc0S0lZamNNUHFNQklJN0ZSb084SVRUUDVGSk1vK05OSUFxTW01UndYekZYNlppWTk1QVVSTUNDaFA4UWhDVnhRV29BRWdRTjBHaWtOTzV6WFFJV2tFU2xKWUdlVUpPWUNCdEpRQnZDSkVNNHFoUWd4OENrMnRJRUZKdi9BQXhnSEVZVWsvQ0VKUWNTUjNSejVHYU1NbEhwRDZRaUxqSVF2WXA3dUhTaXdXZkQrd0pTRVJaVVVVUkJYVlBLUXh6L2t3UVFhK0lNVXBDQ0luWTZwRXorYUNlTDhFUlA3RU9sSThpd0FRQ2dudkJIWnJCOEU4UXlYVHFIWFB4eFVFWGFyM3g4S2R5UTBkSElvcktRWlJucjFROGgyUlg1MDFkVk15dExZYy96aW1Ka0R3RmVuY0NTdndmTTF4MHRyYUZJYldjaTJRejVvWFdJemtPQTNVMGhnQ1g4UWd3MUJBUVUyc0FHa0o1cFRBcDhTR3FpTWl5NXFaV3M3RExtTW9TajNHVTF5TGtxV2tJZENRT0dCakVDREJ0Z2docnZxNTdoMGdSRURHcmVTaUE2bFphSjhFTDZDWTVINWZWSTRab25wSjJnbWlEcjBZUkR2L1lQL0Zjb0FYMFg0WVFsd0dFRGxialJMby9BanJwTERXWS80QVp4dW9vakJCbUFKU0YxQ2w2ZUFJMkdla0VBU2NNQURCMEFZQ2hwVndnL2c4SVpDZ0lBQXBQMkREUExnMVNWNEQwWGFvNXpOVXNjekpHeVlIL3N0QUhTTnhKUVJOU214WlRFS1dNN3k0bEJJd0NaQy9zTjdnL0NDTHVSQkRoTDJxaUJrZ0FkRFFBRUVTOEFCSE9STVh2MDQwblhCdThMTzJFUzU3Nld1QU4weUVrRzZZcEdab2MwK0w1bEpsa0RobXlsRDRRMG5TTUlMMUN5SUpNRGhnV0VsQkFiYWNBVVRDSUhTRHlvQkM2OVpSRFB3SWJqK2E1MzUwQ2Zvd0Zua01VRHFsWk5pZ3AzbWVwSXhuZjNERzZ4QTN4bVhRUkJjbU5Dc29CQllRZ1FXQ2k5Z3dRMUEvM0NES1orb2Zkd3J0U21SdDFSZ0tnb0tRY0RSb0N1aXJTZU5pSldrWW00amJHWmV6K3pyQlhBSTdCcmFZSVVtRUFJSFhKQUJZUW5oQnhrZ085dTZ4b0dKOVNPRDlpalVBS1kyeUFKY0Y4QS9kRVFHK0ViUmxpejJGSUhpaTlCWGEwZUttVmxnbGl6R1hZS3dRcTcvNE5Na0JLRzlmK0JCRzlyQUF6Um9EdDl4WU1PTmhvaThRZkRzY1FKM0hmOWVGNFVnbjJoK0ZlRVZSbTY1SEVWaGx6bXFTb3FsQ0pKdTByYmdEMjBvZzdzSEVXeWJDcG13ODYyMHlmOFFCQUs4QUFjSy9zNHV6K2lWSy9EQklIelFBelJjTjBEWTJmeEJ0TDdYcFRLQ1ZzOE1taXl4NkJWVWthN3BUOEZoNlgvQWV4S1M4T1kvWUZ3UUt3aUNWMEdOSXY5U0dnQ00wemFCSHd5Q1FUTzB2T3k4UFZLV1dMTHptSWl0clBGNVRVMkNrNDVYOUpCdmZ4ZUU1aWpOaFpvMjRWTi9zRnZvQ2YrT0RUL29WaWdZNHg4Z3VmakYrT0VLaDIrOENLSmtwTWszS1R2M1FWaVcwNTRnRnc1OEFUZnJrTjl3OEZraFh6M1lWUDFER2RwUVU2cjdvVHVEZUVFUXVJQlJPZHNYT1dRZGhBa00wRjRXNjFFUWoycysybCtoZG9ObjVGcEdRVUc1Mkk4MjdKQXRlT0pyajkvRWtHbGR6L21pRTNKUnZ6WUlhTUFIS2pjaGJ5QURiNEFETDRBQmJ6QUIrdllnUk5CaGc4QUE1RWRYZlNSUUZvQjlDT1Y3UFVjWHZVSWNuRkVmMkhGTjdxUTZpMVpuaGZBR2xoWUhKL0FHTUdnSWFOQUdGOVYwZ2hBSDZXUC9CYzZXSDBTd0FpS2dhdHRrQUhwQUtRSFVPTzBGU04xQlJ5RmhhNkNBWHlqVER5RllMaDFoRERNSFBQZ0hIUEtYRklaMUNCV1dDREZJQ0hQMkIzQ1FCTFNFSEV0UUFKWGpTNDQzY0JKRE5ocDBUYWFrRTNxaUo3ZG1WczNsaEUrSUtVTUZDODdpVGd1bGZ3ekdlb3Z3QmhqZ1V5dUlBY0dHQS9MM0lDZXdid1BVVHRna1BtaFlDTVVXRWpsWGJvc2dFTW1nRWtraEZJdVdoOEFuSStDd000WGdUcFZFTSs2QWc0MEFCUmhnYVFBb1dvWndBbTZBZEZqSGhNZkJQaExqY3RreVY0L1lWenN4R2dNUURUNmdndVBTSHZWQk1JQWhUNThZSXU2Qk5zSUJqUDVtQ0tiSUtPMEJCMWJnQ0Y1MUFvTWdJYkE0Q0cvQUJXc2dmWXBvLzR1cUlVTFlwRDhvd0JUbitEMGdOeFdXVWg4TTBESjFoamJ3ZEh3RGgzdGZrbmFaOGc0cTQwd3RaaktIMEZBSFlRWVNjNDJNNEZYd2xUNm9CMkVub0RsclVBYmorQ0RzOHpoeVZVVHF1STZHTVI0TElIYWJSVmNkMGxLK3BEcjl0WXpqMG84aVpSSFRWSXJ1MURnL3FBY1pKd29RMldQZUNJNS9zQVp4QUFkbGVCeThGVmVuODB2QkZFbXBRVERoczBEMGdvWW5HRHlYeFJrN2x4UnpJVnhBd2l1VFNBZ05wVEdUdUFCaWdBTmQrQWhYSjVOaTlnSVBsQVovc0lQNm9TUkdJUUdUc3hocUU0ZW9vVmhaRVZ3Y3dVSkhpWCtWQkNMOWNHU3hoVWc5NG5vbWlFMk5FMEFMOEFNNHdKV1FBQVV4T1FnWVVBYmgrRlhUZ0NJclFQOVh6OVE0bE5ObXFWRU82Y0lLa25VZjVBT1NSem1YVDZsYVFXSkNLQm1RYzJVSXVlZ0lGU1lETXlhVFVNQjNnakNMTjhKR0pVZ0ludE9PaDVBSFJLQ0VEa0daNUVBdy90QWVjWG1DbFVRajZRQVczRlpGQTRVTWFtT0ZvM2tJUzJBRldlbGV5SFpqY0ZCVE1uQUNORWwzWXBrZkViUm9oRUNiaDJBQ1pyQldPUUVRbExrc1V3aVNLdWsvWjdFeXNaQmlWK1J3SVlLYzFOUlFpYUFpNlVNSVhqVXJRVEFyTDdBdk1nQ1IycWhyU2VDYTcwR09xaUVEMVVJVWdxQ1dpMEE4NDNrVTQ4RW05VEZnazZSU2hjQXpaa1ZRTGxGcmRWa1c2V2hlTVJFNUtvV1JwYWdIWnRBR2dubURLc0tLbnhJSE1GZy9jYUE1eU1hVnZ5WUdNSmIvSC90aU1UZTZscFM1ZVl2Q0dkOURvZ2FTRmFVeWNEZkRjS2dJS3pCU0g4SDBDRmNRSVllZ2pYSm1VM1FEZ0VuQWxZYUZXdzZTRnE4bEFTMDBtUkRhR1Zjd3BsZGdmZ1dYQ0kvUkZja3BRQjJ4RXA1b0FHTUtHUGRIbjRrZ09VdlFBaWtxZWx4d2piKzJtb0tBQVRKcW5Za3BTSHlESWhFVVVSTGduWk9KRk8zZ2RmWklUS0Zob1ZaNFRSMmhhcTFFWUNHNk0yWGpPVWFxcVpKcUNDaUFsYnFHQVdEcFhvc3dnSC9BZllJQUJ6NWdvS214blhHbEg2a2pJbDlLVEU2RkFoWWFsMmk1amtjNllLcFdkbUFSWEJNQmhJaEFOajV3ZE1nV0I0WDRDSWM1aXdRcVNHeXdvNSt3a0tHd0I3dUFvQjNDb0kxQWpDR0JPc0JSaFZKSi96YjlNd2krZEh5Uzh6Z1ZDbFZaVXFGbDF3N05nQXl3NEdTMWFrbHhObWs5aFFFTTJBaHZRR0VFNm40REFBY0gyQWhNNEFYdk5nZ3p3QVNrMEZHam9EbFJDUW1MOFgwTmtTNmpKcHJ6YVFGbGlnQm1zRE1Tc3ozcldEYmc4SkcrUkJEZ2tMRTJvMEh0c2FhR3NBQlJnSHBldVkzRFpnZzlwamxsd0FVTEtSOXN3SzJEd0FRS01BZ0F1M2ZVT2dNN0t3cml5UkNMa1hVTVVRN0EwWEtpU2E0V0tBc1Z0TEZOZXFudTRIcGxsNW5DWklIdjhLbUVVQUpzTUNzN0ZXZkFoblFqeHdWY01Ha0xxVzh3cGlLSjRBVXo4QWRIRndWQ3dBUFdjQVJneUZNT2taTVcxZ3l4T1JMOEVESzAwRHJGU3E0U0p4NGRRYVQ4ZzVFc09VbXRsUDlRRnBwODRaTUlBeWNHWTZnaUdDZUlQQ1ZuYkNCbi9TV3dNd0FIU3hCNmkrQUZueUp1aDZGb2k1aWJIdllZZkFFT0RocXUyRVFRQmlDdWtnZ3JxVU1JeWNleFRMdWNTblVGVHJZSUttdDNiVk1DU3ROWlN5TVFmR0dqanFBQTFEcXRwR3NZN01lM1NmcXVzR0J0cmhzOGk5RzZ5TmNPSU9zamNFbXV1bXVGNCtxN1YyQUdqMnRKOW5pK3JwTzUrNFlJVE5DMmlUQUhqSEFFMTJpMHB4Q1Awam9Lb0JPeDZQQzhKWnV4NlhsOGxZU3lBdFMwSWtvSUN3V25JL3E5MTBRS3Z4azhlcUFDOU1VSUJLdFhraEFLUnpCam0vc0wwWUN6bi9CMmxrZ080NFZuNHBxcnlFZVF5aU9maG1DQnNVdkN5Nm5BQ3p3S0RXd0JlbUFCQVhiL0NNcTdieFZRQWZBTENUNGhCaHVuQ0RKd240K1FCNkJ4Q2kzemMvWlFEc2pwdlEzbFMzb0xLM29SUHBKNmd0SVlrTDd3bXh2SkFGcGFDS0pMYVJVZ0FOYUtCM2hnQW1wQUE0N2dCWUVsQkZqWENISENBNHJLQ0h4d00vUzdDQXhnSDhlamwwY2JKa3Fybk5oRU5sdUNBR05xRU5NYnZ1bkpFRWQ1ait1TENGNmd0b0pRQVRabUNKTEpDTjJZb1lrd3cxRUxDWDZ3VUk0VENsZEFEdVRHdC9ReHNVdzhxUWlnQjhkbnN1bGF4UXZoaHpOY0FvV2FuWWZBeUZ1d3c0bFF3WXNBWFdrUnJZeXdBSFFJQ1pKamFwK1FBWDdBRDFvYnNmSllxL01wQ0NqTFRxcFV6SVk4Y0JaZ0JvbThDTzc3eUNDaENJWjRDRmFRU1k3WkNIWEIvd0FjMkFqQ3pBQXVDUXBubzdJNlFXTEJNYSsyYTBRV0tzSTVzWkhSL0FPV1M4MXh3QU0ySUFoejhNaUtBQUdNb0FDRitoT044SzBtNEFsNTRNeUw0QWZUeFJQZnlzNjJpOGRVRVFWYkNBcHh3TTJDRU1tSllDS2h5d2FWSzg3ZzQ0dU40QVFnL1NCYkFyRlN5VEVWZ05HSUlBYTBqQWgwUzBXTlVBZHI4d2x2bkIrelJUNEkzU2tZUjdDTlhOUDRXUUhlZEFwdDZ0Q2R3c2gvOE5LQ0VBS1BnTlNJc0ZQUmVyK3hsTFJDYWc4NXZRMTB1OE1welFnK3dkT0pJRWoxSE5SM3hNNFFmUTI2NnhwQm13MU1UUWdLb1FoUmdBWDBvd2dLMEFhUlpOTGVWSVpuWXhaOHpBZ3VuTUw5a0RwMEt0SEI4QU1JNEFCaklBcHRvQkFLd1AvVksyMENYVkFVZ3VEVG1oUWk1bEtlZmcyY05uTUZ5aUpYZEZvSSswV2VyMUhaNVRyRHBka0xlZlFCaXdEVXRKa0hKUkFQQ1hCMGNBMEhNZUFxR2hiVTZLS2J1amtVbDhWWUhpWWFTK1o2Uy9ZUFM0WTZaNE15dXdBZlhXQUVqYkFGT2FBR09iQUZRSDNVak9EYThrRU9rRTNibUlQY3ZtQUVIV2tVejJEZFVOUlcyMDBLYzZBWmh4Q2lRT25kT2VRWlhhRFJvOEFLTVpVdXlIRGU2SjNldDBNSUxZMElZM0FaaEdDMDM2cXQ4dzFGMmVFRGhlb0RNVkRnQnE0WGY5QUZwYkt0b3Z6ZnlDUXlodElWQWxXMEhMemZIK25nMXUzWi84QUlUSUczaFVFWUdHNFlMZVBoYTdGVklWNFlXRWpJcUVGSlNZWEhWeURmSnk0U3RJcUxIQzQ1MVhjYzR6bnhvZC9CenR6RFZ6aStoT1oxSkNkb1NpUDk0L0t3WlVheW1hTnQ1RXkrbWZuTDVEOSt5QnBEMTFCdTNZZWNmQ1JlNWJSOWdnY2NQVnFPNFNmSXU3RHk1VGgrZ3RvTEszTk01c2dFa3VNck1OcEw1V3F1Um43QTVkRGNNcmdTNStqZHdIeEFrRXVPNTBIZFJFTmU1SDV1M1MzbDM0UCszNUpqNkljKzN4eTA2TmNRQ0FBaCtRUUZBd0IvQUN4V0FGWUFKd0ZOQUFBSC80Qi9nb09FaFlhSGlJbUtpNHlOam8rUWtaS1RoQU9XbEppWm1wdWNuWjZmaUphWG9LU2xwcWVvcWFxUm9xMmlxNTBTRW9VRERCYTNESDhEc0x5OXZyK0NyWVFNdWNUR3hMY1dEQU95d0kyenNzMS94THJPMXRmWWpxNkR4c25leWNlNTJZZlEwY3l6MWVQcTY5bTczTWpLNGJuUjVxN1J1dWpqOVB2NTdQNy9xWGJaQWpkSWxxdURCdDBWOUNldEVEMkFFQ042RWtqTW9BUkwvSUx0ZXZpbm4wU0hIaitLSFBtc0ZUcUZIZmVSaEJSeXBjdVhIWGZkdW5nUHBzMmJPQjlKd0FVdHA4K2ZPVWNOWkZBVHFOR2pIMmZCVXpZS3FkT24yS3dJeWpNUTE1V0xIYUZxM1pycUFxRVdKZmlBSTNxdkpkZXphQ2NSRUNDQWdJd0pTdjhXV0JDVTBXemF1M2dScmQxTFFJbTRxeW9iNWwwbnJCTFJ3YVVJS0daTGdJZmNsQnp0SXJaMlVPSFF5WjM0c3RWd0M3TkxreVlsREpYc1dWSGJ0b3BOS0N2OXNySTcwUmJraW1QdGlPMXBXN05wZjY0ODYwb0pGYm9iTFJhQUJsZndteGdsSUREd2g4M3hSQm5ZL2xGTUlJUHExYzl4T3MrdWFPaFM3THhRcHJ4eW1EdWtOdVlQYWJoeVphNGdYTGxoeWVybWJRSHA5UGdYR1RoM254VEZiL0VRdGN3ZnpPVm5JQ3Y5ZFhLSmFGWEJKOWlCcENBUjMzR3ppSWVKVVBBeEFGaUNFSGFJRFVYVUpOSk1VeDRpSnNNZk1xU29Ja25HbkpRSWZ4YVdlTmFLaGhBUnhFaWsyWE5SakRKQ3hVTVFWQ2lSQVE5RUhtUENGU0x4cU5IL1FlbjBtSlpxY2dFWW14bnNWTlRJT2RzNE9Sa3hHKzZEZ2pvTTlwZmNLUGtvcWVWVEZ2QzNqeGs4dEdPbEloNHRlT2FjcWJ6NUlqTjBQa1dqVSs3ZFNXS2VJckd3U0JBM1FpV0VJbGtDS2hHaFFjZ0FSQ0pwL0ZFSEF4b1F5VU1lbWlDWjVKK0tRZ1RGSDRUS1FBQWpmRlNWQ1hOOVN2UktweDlORUNvTFBQakJDRm1pcGNVcHF3QkJRVVJ4Rm1pNnlJUmIzWXJyUDI5d2xvdVpoTFNKMWpMSURxc09zTHFWMEt5ejFIb0NiYlhybEREaXROaDIrNGdaSEhvcjdyamtQcklMdHpLR0c1d1hoR1hWNmFvZTRvRERPdVVwQ20rSFBoanc1VGoxMHVMa3ZSQ21Xb2dMd0pnbHJJRUhtNmRodXdZbm5CN0ErUTFvaUNVSTlNSk0vMjRvUVF5aHc4OGRPekhIRS9WVVVENDcvcXR4Y0NqTmhkV1M2R3B5eVlTK3dvdEF4UjBXbGwyL095MHdvTTJFU0hBRnpaUmtqS2ZBR3czeXA3cXNpWUwwc29jTWRBWFBnOFIyTFNPVkRXVElUcFdneElCOUpZS00yRTRoWWYzSFZWbGFIWFEwOUUwb1VOYkRDQ3hqeTB3ZndzeFlFZyswTkRmZTJLblJIeGIwUXpIZVo1NDgyVTRTNi9MS2ZKMU5NMU5BdGZSS2kwS0VCdzUxYWE5TUxnaHVkMGRpaTY5R1c2WU0wRnBhanBubzArak1TNzk3WDU2NGgwLzBMVGZwdGdxK0Uzak9WRDc3MU9sZG9YUERnbXVWcUNGMlgzTXVocTdMYUViZUxibDJGdW0zajdOcTh6MVdEQnRQb1NnUGxabVlPNzlxTW5reUNJNWR2Nk0xZmJqbW9CUVdQS0NJVTI5VStNOWNSdGoydENzNnZmcm1zcys0YTcxZi9UMDc1aWNPZDRmelUwYUM4RWRBL0xHc2dBajhYMFhJVno3RERRQUI3bGljdHhEM21Dc2xNSUVIdkNEc2NHS3o5dUJ1V0VYSmhBYmRjY0ZaeENZUEMvQ2R6V1pYTHBFc2dBK0xrQVY1VUVlUzRUVmxkZ3dVbHdYNHdBZlp5T09IUUh5VHo5Z1RMajk4QXprUDlGenhXc2dKUC9paFZNZVFrcFRRUVRnTHlBb1NmcURWVFdTVEZRbklSVGxNL0VjS0pURkdvMHdxRjZBelJDQUFBQ0g1QkFVREFIOEFMQUFBQUFBQkFBRUFBQWNEZ0grQkFDSDVCQVVEQUg4QUxBQUFBQUFCQUFFQUFBY0RnSCtCQUNINUJBVURBSDhBTEY4QUpBQUpBWDRBQUFmL2dIK0NnNFNGaG9lSWlZcUxqSTJPajRkVVRsRXFLZ2FYaEU1VUFnS1FucCtnb2FLanBLV21wNUE5UGlLc0lvZXVQaXBVRDV5b3RyZTR1YnE3dUNNSFF5b0ZmNjRJeFNqSFNNbElCcXNpUGdaT3RielQxTlhXMTVBakl4NEd3eUlGU0g4UzRoTGw1dVVJeVFVRklqK2JuZGp4OHZQMG90b3BQNndGS0FoL0E1Y0ZEQ0JCTWFDUU9SVHIyS21nVmEraHc0ZnlkT2p3a0lJZHVINkRCcVFEK0MyY1FRa0lFaGJ3NFNRSHhKTW9VNUxTa1NLRkRpZC85aFZjbE00WmlvLy85aGxvUjBXbHo1OUFDK2xRNGNNSEFna3p5WmxMOUUrRWdhUktrUlJBc0xOQXo2QllzOVlib3VyYnpVRWJCU3BUaE9JYlZIUE1CcFF0QUUrcjI3ZTYvL0tFOUNwSUxhRldyQVJOWFVvSWdkbTZCY2NGL0ZQV1FGdTRpQk9EVW5KRm1JK3ZWQWV0VXdIbXo1TW5naTRqTURPZ25DRlhkYi8rQ1ZrUWlkTS9RQlNyWHEwSWc5OW5CZWM2VTdIbFVPVkJZTUE0UVFCVjBHTkJTREQrd2RUVWdCL1d5Sk8vNlBaVWI5N2JqVVlNeWZHalFPOC9TTWI5dy9odjVrN1J5Y08vblJCVEJBb0dFdGFxRUVYZCtzZHg2UWFoeUE1Y3hIcngrTFdLRVJQbjJMcCtXb1JpVW51OWVVYVljUDZNTTl3ZlBlVG5JRkJXV1BHSEZYRUlrc0Vwenlnb3lGTGRDY0tQaGcrRytCTWNnaEJ4U3dwT2diZ1VQeGtaS09LTE1CS3lua2VEOEVXSWl6SG1LS0l3NE5rNHdFd3UzZ1NUanRpQUFBSWlJR1NRNVA4Zk54QkFaQ05iL0ZXamdRaDh4WmNFNnp4NURRZ1hkSG1CQURKZ0VFVVVCb2lrZ2hOS0hLbGxJaVdrZUtPQ0haSUQxaDlEcm5rTEFRUVFRUUNYU3BRUXhUSStDTkxLTSt6b1kwQVVTdGhwaUdrb2FIaVVnZ050YUNCSURDaDZDaDRzVVBLREQxRmM0RVFyNjF3aUZrSG9vRkNtYjM5RVlha2dVMGhKV0dlQ2hBU1lobGNvd2NLcW9WVDRnd0ZkNkNNTVNNWHdaa2lWVlpxajFxbC8rSkRCQllvQ2dJR2JveldxM1ZTU0RtSkdHakRBZ0Nza1NRajZqVURDTnBLVENFZ0VWbzVhRmluQjdKcE9kalBUQU9VcWVBa0RGbGp3NHlCSzVKQURGTnN5SXNZM1BJYXIwWHdlSlVNcWlQNUlaZDZVVFRtRnhycGFLa0V1cEk4U1ZnRC92UXVZY2RNNDZTbHhRNytLZExzRWdxYXVBMXBSaEFSRWFpSEZhWWdVVmM2VUFQR1RaYzVFbFdjREZHREdBaFl3MEEwNUFjME1NaUVVV3BHRU1XV3VFK2dQS2tUQlFxYVZCTE5LSW1WOUZCTTdVWUJ3V0k0U055cUlBVWVKSXhEUEM2U0RsQVRNb0RIMEluR3dzVjhTUCtDeENBR1p5b2V3WHo5TEtoWFdUbXE1emt6TE1DQTRRdlZhY01WVEVqQlFWcWRyTXlLRElMYzZMc2dQWnRoSTJNSlRKczFwMzBTdWh4RlZsUzV3aFE5WDhHd0IySCtJL28zUWphTkNnQktWZytqdWpUbGpFc1hXTUVhUllqa0dsTjZ6TUFzSVlnWWgzZFRaT2k0RWNGYklNMitHRkZJc1Q3TGd3OFVXTE1CaTlaZVk3ck1nWmJjVHhQRzd1SGZYLzV0b2d5MUNGeHZvK01ZZlhmeFJlc2JoVkU5NHZkWVB3b0F3NE8rU1lTRS9oNHVDRC9ENnd3OGVweU1WbUlkblY0aGZ4Z3B3QmZvdHlBOStNRTMrZERHRjBmQnZIQ3p5aDB6V3dia1lzY0FwUE1QT0ZWSlhCK0R4Z1Erbkc2SDd2akhCWE93S1JQY0s0TmZDc2Jnbi9jQjlxVVBCOENBNEZRZ0NaeEI1WUVjRlcyaUxLSWhQVXVNSWpvZmM5UTBCc081Qm5pS1hIdjVnaG5CQWNDQjFVS0VLL3hCQlZ6eVJpS0dRbmdGYzVwa3ExZVZucG1GY2prQ3dqdU9Zd0FCNWdHQTZHSUNST25SRGpxY0JJeXJXY3hiNGVLUkRPU3ZBc2dwWWdEcDhqUWNRdkFJQzZvQUNDUHJCQUdiZ1E4WldwOGRUNkM1dlNva1QyT0FqQXVQbFNQK0ZTTmpoY2VxQWhEajZRVFNOOFlFU2NGZEpVRXd2S1V0UjRvSGs5WWN2aGdnSmNteWtJeU40aFJNT1R4Q25TMVVyVFdIQUhtbm5YYkFhRFdoMGRNTUYrS0dLZnlqY0FrS0pRQnhlYnBpbWtBRzBsUEllT3hXbGRJY3JuUHhRRUR3TERNSUNmcW5HRFM1d2czVm1ZRm50dE9XTHFnTkxBOTFMVG5ZU0FRSVd3QUFrMEl0K1ZBbmVOTW5KZ0p6eGdoTUVlTndTeEpDRU9EajBCYkpncDVaMEo1b2ZLY2lNK0JURWZXTGtGeVFFejUrRm8yTGVJb01VL09sQ0Jsd2cwUjl3d0ZJY3dFRU1nMGpDQ3A2MHZ2Mk5KbXlqK1ptTHVzRktCL25sWXRacllMMys0TFBFV1hBbVBMcUZBSWpBQlJ5czlLVS9LSUVRZUdESXliSGhEM0gvTUZHT09rSFBXRWtycDBpTWxUQmpsRFBTbFUyb2hkc2tVb2hIbUZ2OFFLVkxLSUVHQm9FSEI2VEdCQTdRNkpyNDZGV2NOZWRLSm9WUlFmU1pzWjNWUzNBQzJWRGVDb093VVZ4VkVFSm9oSW5TSUlpWjVxaE4zTW5PdEFyU0dRV2hiYU14SXRkTkM0Y2VVNWtqVXNvYzR5MVVCUWtackE4SFdvVlIxN1F6eG1raG9GSXVzaFhOL0RHQWYxYnFadkRKU0VBYSs0a0J3SlFOa1FXRkRGNktTU2lpWVgvZG1aWmgxeW9JSmVDSlNDWmx3QlVFNXcvRUpZd1FYaHVGY2YrUWhMa1M0ZzBBY01RTm9vQ0RKUVRXUVNCNHJtcUhFN2FjN1N4am9qSERkV1BVRGZmMHRoanlDaHRJcGtUY1J3eWdXMy9RZ053RUlRUHlOQlFEamFqRC8wdlI4NklIVEk5amFzM1pQbnNXam5Ib043WXZDc2NSemZhMThKS3Z3STN3Z1V1RjBJZEJoQ2tKVkMxQkV2aEZDQ0NZZ0FlRElBSjdzWk5NK0VxdkFHZURaUEN3dE9GS2JXZ0FQM2dCZHBOQ1lzTFVscHZuQ0FVQ1NLU3E3MkdBQ3dDSVF3bjZvTFlra0VjUUJEaE9JV1NRQmppOHRBc0FETkZ6TDRaWXc4Wmt3N0ZDQjNsUEVLT2JHR1ZPRndXeVp6bG0wVkRjc0gxL2VFTVNXdXJVUVpUaEJRUTByeUhTd0FNTjVDRVBOM3lRQUFpd0RveUZNcHIzZzdOYS9mS0Q3K1ZJbnhtWkwybjJMQTZxWEVkY2p4VkVHZUJRQWg3SXVFSi9LQU41K1NVREtSUkNiUUJJd3pxZEdMa0hFV0Y2bGg3ZTcrRDhsVWwybW9BdldrVkZtLytqUVp4U3lSK09LTVlnOHZZOU9LamdPQ0JvQWh5NFFJZ1pFMEhNZzVBQ0ZEQ0FnYjRSb0FXQkNoR3d6WWtDb2Q0dmRlYkVpT2g4OEFNaUlEdEVPY1BjMStxN2wycFpFRUdHbUFsQ3FQVUhtQ1ozcGF3ZFJCTUtjWUp2UTNZRks5QUFBU0RjdHhmQVZFUTNiS0FJRDZ1ekVBcm5mZ1VnZ0tkaHBPL2hoUGRYZFlIVFl4b2I1Wi82bDd4NThMVEk0SUJnVlF2Q3FVU1FHdzlVS29ZZ3JFOEFRVWdDSEFDZUh3UHVERHM3NDBPeURKc3grNDBFeEUrYWo3eWtwUlk0RFNZalZlSkhaeEdnYkEvOUFiUlE2RlljMmpBSXN0OThBN1grZzJVRk1RRVpLRm1sTUZxUENudW5Cei9jNzMzQis4TUpZNklqd1VDbEg1RFNMTHh3RmhEL2diUERHOVo1R1U0RGRYQUcvMkhoZ2hpMHFndXROck1MQXNLRk1IR0k1bjZGUkJaU3pMLzgyaDk2TFNLMDBRZlBTenlYZHdXRGxLcndBMlpQNlF4VVlGeUlzSE5oNFUyb0VCZktVT2cvUUtFUG9IMkRERTRBaHcwMFZBeEV6MCtsK0dBQVJQcWhNYzg4eEU0OCtTRFRnK2htc1hveTZpVFRsUE1JZEFFNzRVMXZscUMyUW1EQXBYRWdFYzI5VEFnaWxLRFFKNERDdU9OQWdFbS9RUXluRmsrbDhtQUFCa0N3aW5XQUVUd0FSL1dSY0MvU1pObDNVWnBGWHlrVGZpSEVQWDdSS0Q4aWJZb3dBWERnVWk4Z2Z6UkdDRkF3QVllMmdYL3dBbG9WQnpSU2RIK0FTSFpVQnhCVUIxbUVBTWN4Z0lMUVJVNGdUK0hSWjJBeFh3a3kvdzdidHlDRVpVNkQwRDAzTVJLdElFQ0tzRDZNSUgrRjRGQlk5UVA1aHh5OVlnWjZjRGg4c0V2RkFFRUR1QUFudEYxWmNVeUtBQ1RRUmo2RUVDZlZZZ0NpUVVONVJ3amRjM2dCd1N0ZjV3bFFnRjZLMElGdVVIQUZKU0lpVURwbTBBMzFNb1U2WklWd29SR0F0d2cvMGxtRFNHQmh5R3hqU0NQaEFHZG9hQnBPWVFiMG9nZXFrZ1lnbUFpdVZRWU9SU0t5ZGdoWEZtdGlRRjJOZ0dJcElRRDUwRXZRSkUxQ1JrVjY1eFpjNXd5eGh3aG5jdzR4MUZrSXM0TnlzZ3p5WVVHR2NEK0VaVG9MOEg2WXh3amNwbVNDb0dUcFZYdGxNSWRKZ0g5TnlCcWx5QWZTaG9wSFoyUnZzUk9za0IyOVlWSEFFaXlkNVNFNE5XM2Y2Qm1tSXY4ZkpjYzloV0U2OUZNQ2Y4QnRqS0JrUnVoN3hUaG1FMEIyYmdBSFN3Q0srQ0U5WnFWRDBUUlV2WE9HaVZFbUVzZ3lyZGNNK2tCMTJGR0w0WWhCSmxVVzVJU0dvM09INkZnOThSZ0tTVEJqSEpnRWM1Z0c3U1dLeU1GQVFTVk9Qck5GaU1FeHhsSlBjeUVTaGZLS09MaHZaRFFhNG5PT2FMZ1RCakNSNXNRQWJJQjJGaGtIRzloZ204aHQ2ZllncXNKQUZuQWVJaGw2cXpHSVBmWWo3TkJ1Z2lNNGMwRVF3NkdRTDBrYUhnSkNQMmdHckhCMDRoUk5iR0FGbGVnSU1uQ1JHd2dGUENrSUZWS0NEMklkYXZGUFEwVW55YUdOa3ZJZEN3Q1FldkJUQlhGRUh0Smo1bUNWeWhSTlAyZ2FGNE1JYXJrSTcraDdjSkNCRFBZQzdCai9saUVpREQvaWxvd0Fia0hCQUJwREhQNkFONGh3UDcwVEUxNm9ERktaU2VLVFRqTkpXSWtnQmkxd2I0Y3dmQkxDWU9lSGVWQ1FaWE1ZYSt6eklzS1FOLzlFbVp2SlhVQlJOZ2I1RFVleEUwZDNDTHdaYW9PZ0Q0Qm5XN0d5VE9ZNG1KdnBBM0R3Qm1FcGEra0ZCU1FpbmI2WGZqUm1sbXUzbHpCQ0k1V2ltNGlnZVQ0aG1EcFVSYXpBREFYZ2c0ekFHeGJ4ZWxWQml4cTJuRVJWQ05Sb0NOM0RVR0c1QWRjcGVSZ2dBMkgzQjIzM0J6S3dBZXo0QjB2QVBoNkpIT1hvQ0tmbkUyanpEWGczU2E3Z1VZMmdUelFaT25WcEdoMm1Gb0Z5RTNqRG5vMWdBR0tRbUlmd2RrNTFnVmhGSXZFWFU0TVFhWi8yalk4QUhpcXhGZ3d3LzVIQlU2RVBtQWpmOFF3MzJvK1RCR1Q1MWdvRXdVS1BjQVZkQUFjVDRKaUNSaUxwTXdHd0pud0VPZ0VhS1FpekNhTzIyWXlIWUVkYVNnK0NZVmJpTkZRMmlwOUV0WHpNc0JPbEEwd2NkMmNZcWhlQlJKR3Bzd2dNa0FURWlBRXZjSmlDZ0tlR0FHdHFCMnZJMTZXc0FXVGlxUWgwdEtEMFVCWWJKcUtwY3dXc3NFOC9xRGhKMHp2VzJGejBVeFVpRUVrM3lpanJZQWJCUXBMNGVRVTRBR0Z2RUFjdmtBWUh5Z2hsTmxNYjlUTmRZS2lNTUFNLzBWeU5nQjZ1S2cvTWdGYTd5QTRXbWpxOENEQUFNd3k3ZWs0NWlwWFYwMUhXZURJSW9LaFo2VkpsWURSUWtBWnhzSW1MQUFXTUNZTGRnQUE0Y0hHTjRBVUtRQWh3aHdOZTRQOFRwT01KZWFDVUtsRlMxUE9XaGNBT05UbHRUckZkaXBNWEIwUUk5Tk1ZcGxrOXY3UUs0T0FScG5rSUZ2QURoWllHNzVnRWxLV24vQUpoRHRWNzRORUZ5VWNJWGdDck53Y0hiTUFHdmJkU0VCdVg5M1N1N09BN3lqcE41Q0pRNlZROTFXTTlydkN4OUhwWXc4Q1ZGS296UDRxR2l4QUZTYkErR0NDeFNYcDVmMEJ1WFBBQ0RjVlNNVVdlY0hjSUN1QlVGYUlDU2lBRUR5QUk0VG9JclhteGlxRjBHZ0dvMTRCQlpkS0Q2bW8vN1NZSTl3T200dFFOZVhTeTlxcXlaWEdwQU1tbzY2bXNnNkFIREFBSHBFb2lIcUd0aDhBR1hXQUE5b2lQaWhDME9NQUYxSmNJTCtCVVROZ1E5d2tKNmNHV0tJRVFRMmdBWFVtbWkwcXMwbVQvcnd4VUNNWEtDbW42TmZOS3IyWmdCbVpMcjIzZ1ZEaUFwWnpLUGdsS2RyMGlEamZScW80d0F4WDdDVGlRWm9tQk5ucnBFTlk0RUlWaVdGVmJDRUM0b3dBMURJNktobWF3RDFuNURYL0xQWmZydUNYUU5NSDdCM3BnQWY4aFFHeEFvNGpnQmFkYkNFZkFDRjZRQUVUSUN3dUFJNlRRR1lVSEVlbnhEZmZGdURkcXRubDNsNU43VHRVam1QY3BUV2Zvc2UxcURjZWdsTEpxQ04yYW9IL2dBYUl3QjE0QUJ4bWJDMWVBdmVJRkRpaXhzYWJqUGhZeG5EK0lUc3N3dGNGS3I3d1l1ZWRFdTZhUnU5YWdlbzFndXFEMUIxdmdBUlhnQ1J1Y0JFR3BDM3hnT2FCZ1pQMkFBc1Y3RFIyRmpxbXp1NzRMa1R0eG5OOHd1NE53QlpBNC82czFmQTBMOEErTndBUXprR28wa0FOekJVRjVFQUliM0FoSEVBSi9VQUpEQndsSzV3bFhRSWloRU1KZWQ4SVRISUVxdktpWHNFVkJ5ZytWK3orTUFKQ0xBTVlvd2NPRXNBVTJjQWlEZWdoSld5TkgrZ21Od1J1Lyt3bFVqQTFjVjVNaHhUMkd3S2o5dDc2N0M1S3FZWG1LQUhjVlFBT0xVTVNMUUhhcXNzU01BQytGZExTUThEZHByQWhVaFJXbUlidUpNRTArMExMQUZLUnhMQjRxdFFlQ2dNU0tFQU9Ob0FDSklucnQ2UXlmd0FOYTJiQ01NRHhOSEt1R0s4T0JlWWZLaWs3OUp5SVNxd0VtSUFnMGtBZU1NQWJTUzcrMTZRaTlwR2lPd0FNRklNYU9VRlZBQVJMN3NLT0hjQVU2Skw3TUxCNXNnR09FRU1tRFFGbUxjUDhFMWlZSXFhWUlRdUFIMWJOZ2p4QUZuWXdmWmVHcGgzRE5kcklGM0N3SVMyRElpREFIaGVES2hKQUgwdndJNkJ3aWd0RytyWFBLMFNzSTh1d3ZPb0JOcHNCMVNBa3lQNHZQZzNER2pnRFJpVUMvT01DOENxMFI3dHc0K0Z6UUhqRFBmN0RCQlgyYTRxelByZFFadEF5WTgzQ0daa2VNMVVEUmhhQUdpN0FDK0x6R2g5QUNiREJYeEt6UUFWZWZqbnZIdklDeVQvbVVnMUNZdCtBRFNMQUhNTzBKTDBESVhqRFNpQUFIRlNBRzlCRVN5SnpSTS95VVlaclNXMzI0aTlBejJnVW5TcW1VNTRMUnA5REVVSDBJdFVHWklRQUdIZDJ0aXVDOFZXQlNhTXJUakhBT1E0MjFUOW0vazVMWFNCUmxYVGpXWTgwTE94RUR3c3dJSHJEL0JSVlFBWE1BMFV1dHhqK1VXczVrMXhNVUtKaVJDMVhBbkZZTXo1VGRMMXg3QzJNUUE4d0prK1JrQVNEZDJhc2lHajV3MmFQUUs3SjZDZlVDektnOVFjZFNDSWV0Q0hNd0JyZTlJSWZBZGI0ejI4T1VGMzhRQTVkUjNKZEJ5ajRBYUdLVkNORTh4OEM5TnN1Z05DZ1RsTGRwMU5Kbng4K05UWUJvQ2xKQkwrS2hqdG1OR0FZVkh0cWxoZUg5RmhydDNMMHBtSlpMdXdaODNpY0J4K29ORkhTa3lkeWpsVG9EM3luUlk4Z2hOL2ZKVHhZaHdmbzk0RmhiRlE1TVZ3U2UzVDJ6RXo3dzNtcWE0TS9kUGYzcTNoRCszRy9Nekk5cjBoVk9STFlXcDRaQVA0eTE0ZkRkbFEwcTRxZ3RUZml0NFNZK1RGczcyaXMrMnlBT25GRDdHZUtWeEtqa1VvZzBQdHVpUTRhSjB6TTVEdHljL2VPaUVBZ0FJZmtFQlFNQWZ3QXNyQUJXQU5jQVVnQUFCLytBZjRLRGhJV0doMzhEaW91SWpZNlBrSkdPRXBTU2xwZVltWnFiaDR1TWhBd01oWlNWbkthbnFLbXFxNnFocnFFV3NSWVNyTFdTcEtSL3RMYTh2YW9EcjZHRGxiakZ1YjY5eE1qTHpJL0ZncDdSQThiSHpheTQxdG5adTRMVXhvYmYydUxqNUppMDRjUFB1cVhsN2U3dmgrZVYwK3Z3OXZmNGlOWDUvUDMrL3dBRENoeElzS0RCZ3dnVEtseklzS0hEaHhBalNweElzYUxGWllvdWFzeW5pSjNGaklPUWJCUTN6ZE5Fa0g5Y1dSQTFrdVFpajJZUUNCeVFDRm8zbGJKaXNXdzVEZ0dTSDRUZ3pLd25BVmJPbFF3a1hQSEkwMXFTUTBBNVpxUmxOR2VvcGR4c052V25vTXRPYlNDcklqMEhydEFpbjF2eDhWaVFWSnRTQmxiL0I2RTA2NG1TSWlRaTB0NURZRFVycjJsd2RYNmxPVXBYeDJnU0JoalF5NitvckxhOWdDRzFTYmdicmJyVEVuOFN5UmllZ2F3U2NwWXJwVmxhWlYyZEF3YjIyK3hjeDlRUG1WbzczQTIyYlU2bmJ6UCtwSW0xN3JRMGZZT2IrL3MyM0srZE5CY3Z2c0RQZ2o4VzlDbGZUdDBaOGVyWUN5SFB6djFQaHU3Z3c0c2ZUNzY4K2ZQbzA2dGZ6NzY5Ky9mdzQ4dWZULzg2ZlkxRjd6Y05yVDlaUHY3OXNTSktidThNRUYyQXEyeFhJSUFJcG5LRkJRU1dvOGhLY2tYWW9DWFJKUVpQYUxQSUJaa2g5alZZMllNcFdXZ1dXcXpRWThFVmhBQWpYRTBYRGdOak56cHA2QWh2aC9oZ2ppZ3J0c2dnaUNIcUY5cGNqcVUwSFYwbVFuUEYveFVSSXNaamh5Mm0xRWlRL2NWaTR5QVBScGZVa1NZNVlnRmJpQUR6SEhRNi9TR1RoMUIya3FSK0REeEhJQ1ZHR1prSWpvY2NOOGtWcnZnbTJZdDB4Z2pYaTVaZDFxZDJzWmlKRzF5UGRCbWpKb01Xa2lXZ2thdzVwNlNjeEhDbGVvbzI4dWd5cGVVR0tTWUlOQ3BlcG9pczFneXBGS3FDZ2pUbGtWcXFsYWZTMlNhTHYwenFLbmEzamxMbWJNUnhhR2d0cGxHcVZ6U1JtTW9yY1hiNkVteHh4RUlTbUlMSTBCa2F0SnZ3YVJwc3JEN3k3RGlmbkpsU21xaElzTUJLMW1ZTG5LZzMxVWlPckttdTRsaU4rMERUckc1bnZrdXVoTWlDNmUwMVl1V0paSEgyZnJndVNqSWx5OHhiUjFHTGtMbWFQTGJVQVB0eWkyT2JDdnVDRFdBbmVJN1ZhYkFjZ3pSdkpCRG1hZ2tmbng1N0dzVVU4VEZMeHgzTHEwZ2RtUEFoc2lXMEZwaXBNQWNoYWczTW1lUXgwU3d5Q1JzUUh3VVY1VzlGRVRNV0w1eW0rUEVZem92V2dsUXdjUTNTWnJoUk16TjFNS0dBUm5UV0F2a2NkU0FBSWZrRUJRTUFmd0FzVndCY0FHd0FLZ0FBQi8rQWY0S0RoSVdHaDRpSmlvdU1qWWdEQTQ2U2s1U1Zsb2FSREJaL0F4S1huNkNoa3hZV0RIK2VFcW1pcTZ5aHBKeW9xSzJ6dEkyYXNxbWV0YnU4Z3hZU3BZSzVrTDNGdTVxd3VjYkxvaTJDZUJLbUVwMnl6TmFWSjM5VGZndW1uTmZnbHkwdmVYaUNtNUhoNm81VEx5VU0wZWpyODRzRVY2cWEzdlQ3aGdKQzAzL3lEVXJIRHh5QlF2NHlrZEpYOEpvQUpSa3lYRUFUTVFPYUt3RVhOZ3huUWdPcGp4L1BMY1M0RVZ3ZEJpaFRxZ3hJY3BDdWtzYnU1WnFwQ3VhNks5Um92aFMyMDZiUG4vdDZBcVVuZEdnaEdYK1E4aXBxOUUrUVFVR0lLT0dod1VEVFpVR3l5a0E2MWNLQ1VnVldNYjBxUTJzUUpReStuZ0pvYVVITnE0cHlsSlJsb2FHYnpGUW80QmJEYzFhalhuQW1TTFYwK1pmUlZxVXM4b3dxZklrSUVSWXNxQ2lodElreEpRMmFGbWkyNE1keXFDS0wrTEJNSmZwVEo4K0xHT1JrU0NsU25iOWFRYUEycGxVR2kyVldDd1BJMnZYMWJGNUMwZ2FyL0p2V2xXREZleUZ3K1RiNXJKbk9kNDJOL2lrUUFDSDVCQVVEQUg4QUxBQUFBQUFCQUFFQUFBY0RnSCtCQUNINUJBVURBSDhBTEY4QUpBQUpBWUVBQUFmL2dIK0NnNFNGaG9lSWlZcUxqSTJPajRZcGFnS1VsWlFQbUE4Q2tKeWRucCtnb2FLanBLV2RZRDFQUFU1VVVTby9Qd1d5QlQ0RlZKZFVENmE3dkwyK3Y4QytJMDZ2UGlMSHg3TElJbjhHVkVJaEtpSStLcnJCMTlqWjJ0dVFReWwvQllJaUJRWUdLQWdJQXdNSUtDZ0c0Ukx4QXlnRjAxSGMrUG42KzZIZUJqN2l5Q0g0RTY5Z1BFTDBEQXd3aUtDZWdTMzhJa3FjbUEvTVAyYmp6ZzBRWk5EZ3hrSHpCaHE4WW1EYUVJb29VNm9VcGFMZXNUOUlHc2xMZDhoanZRTFdWdXJjeWZOUGlwYkpEQXhVaCs0anVvR0ZKTXhiYUFpZHZKSTRlMHFkdWk5UENtTWc1NzFETmd1WlVFTWhKUlFhWUU2ZVE2cG8wLzZhWU1KTXZXWUQveEZzSFdjQVZ0MGZkWkVoSlJTV28xaVlTTVFPcUhkUHJlSERvS0lnWWFid1Q4TmoxSnlNT09EaFM0L0xQZjdFTUZZQWhTR2xmdzhLY2pmNmp3OHFPeENyWHEyb2pRRndDQ1RRbTZZaWhRNFBmMGFBR1hTWjBJOWpyNU9LRnYzSE0xTkJlRmdyWDQ3QmMrREgxR3hEMnZLN1p1amhTRjRQZHJ5OCsrRVRmNllvSkN2Q1FBa2RPanFwK2ZQYndGK1FTSW1MalltQW1SUHYrTkZ1Z05PbW9SZ1ZmdnlSRXlmcnRmZWVJRWg0UnBCU0M1RzFVVWsrVkpEZmhGT0owY1VLVWdnaFNvSE1qTlhaZ3V3UXhOMWdJanp4QVlVb3BtaklENGNnNElOSUVpQ3hrVktqaWRDRkVoZW9xS05FbSt5aVJnNHNHdkxPUiswWVVvOEs2KzJvSlA5K3VJRkZqaUJrTlRXTkV6MHVTZEVGV09aNEFRdFdnb0tDQ0VqRkpHUjVTWGFaVFk1L2dKQ0JFbitra1FFYWNLS1JaWlptS21JR1RJVThDUmFVeHR4U1paMjdUQ0ZERkZHVUU0c3M0UGlnS0VBL1JPRkVDVXFnQVFLV2dtUUE2Q0N2N1NYT1htTE9JMGhKS0FSNEtTZzQvR0ZGRzFjVVl3d3lnekF6eTZ2S3ZFUU9FaVZRa2Nhb2Z4VDJuZ1I2TmpQalYvWDV3QUlCdUhvU2h4aExzQnBPTXdrcW1JNDYwRWFMem13di9hRUNtcmdxU0pDTHZ3NUNXak1pVEZCc0oySzRTZzRLNmtDNVRyU2ZkVFJhUFFBVmdPT2xhanlBcUY4RmlKbk9VMUFXRUFVQlJJemJpQlZKREJLYlkrNTB0UXc1SHhIaTdoL3I1Q3ZCRlR4a29FTC9GQ0RVV1VKUzlNeFlrQVZpUW53Rm5RSW5Zb1VWTXFxVE1HUSt3UEtEQ2pBRE5XdUNEUmZVc0lzb3hHTkdTVDlZaXF0U0JZaTBrQVVMQ0YwcHRpVWZZc1VmYmJoelRCZElFRW9FRVFSVWJiVUFhSlJRcUtMamFLclVYZzNGRnMrWDhvNjZFY2p1UVN5QkJYOWNVY0NNZjVqaGhNOUpJM0tzR0grODBFSWFvdjRSc0NCLy8xRUpBU3I4MGJYRDZHYTFvQVQxaFVPc2xTb0U5Z2NEQzdnbHoxOExDTVVBQXhhNFhUY25VelFDeFI4SnRHRk1jQ0FsTHB4c0lnUnA1WnRYVEc0QkF3V1lFYy9tUktPQXhBSVdFRjNYNThCRU1ZMm1qaDNzY0R4dWk2Q0N1RXRXZlNmbkN5QmhCZ04vTEJCMzVRYjBMc2hBYkFMdml6VExEc0o0LzhQYjU4ejRNUzFZV2JVU0VuQnVnUm14RTIzRzdyU2JZWDNiZjZ6Zy9TL0NnM1VjcG1JclNSZVdCSUEvQU9BTnR1dWQ5bnJIQUFOUVRpaThHMFFYQ3JpL1h2eEdXMzdKb0Z3VzRpSnFXQWtLUHJEZEg3UTNRdCtaUVE4STJGM3Y5R0Nhd0ZYUUZDeW9CZm1HOHhmZHhhTWtoYk9TRDdTMXdOekZaSE44NElNZzdsU1lGKzVDR2lITElIRzRNNUJ3L0VsSEJhQ2VBaFdJdlVINFFWUjFZTS9qakdnS2dJd2xQbjhaQ2poRVFBVXJiY3grdlZzQUh4YWdScmVaUUJCWExJUVNNc2JGVWtoakxJMFpEcDVRdDZRTStHQjNRWXpqSC95UWg5ckIwUXhaSEVRUjZ6Z0tGb1JEVXdhSWlUdzRtQ2xtZ0lDT093cUhFQWNwcWl2eUVmOGQ5MnNHSTAyUlEwSTBaQ0ZpRWNsWHdyR3hKY1Vpa1lKRWtBRjRWOFhKQ1FJTm8vekZZRHdqRmw0V2FURXF1TUdTcEJFN1R2NkJEeGJnQXowVUdMdlkzUzkwdWZSRk9VUWtTWWc1Wmh6UTNKRTBQRE5GUVJRdGlteGptLzI0czhob21xSmpueUlmaWFKd3F4MmRqbmNrcko0WlJGRE16SG1tY3V6QnhnVnVrQUVxc09DZkxMaUZNT3NFa1BjTTRFVUlJbDVKb2pEUUhZMWppbXlUcHdqdU5KclhXT0JBdmlEQUpia1VCeHg0OUtOeCtBRVZrS2Frd3UyRlYyTEM0UGJLUTZsTUZ1QUs0WXhvNVNaNlA3ZHdoSSs5SUFJRzRpQ0lPQ1NCQzdCb3d5QndnQUV6c1VBRUlaUEFOQkZVQ0RQVUlnT1lWRkZNMExpNVFjd1RqUXYvaUIxU25NT0xxbUVBRG45Z1F4dFlZQUk4WExGdlVTaFlFcmFvSkhod0JCeUtxTWV3bFBRbEJQQXVIbG1OVGRBMng0QmViZzlQdTRnQzNxeVZoNzdsd1FRYStJTVVwQ0FJb2Y3c2xJWklIQTVkbUtJdk9iQWdESmhmakJxMEVUME41bTJtR093ZnVyY0lZcjBBY0lCaVhOQSt4UkVaRlVkNWJFMVI0MEFUanhUU0ZsUEw0aFdZZUZGS1IwQ2hnRW5JcHBXQWhoU3h3V1FnWC9wQmJGSFVPSThwSlczRVFhZFNSYUJTVDBoZ0NYOFFBdzgrQVFVMnNDRjhLRkxUaDFENUladkZ5RFAxY1oyT0J1T0RtcEZsWDZLcHoxYVJLZ29KQUdRSmVTZ0VGRWJYQ0RSb2dBMWl3R2wrQkhDQktMVHlnYS9CckFXMFZRRDFxdWl6R3hHYi8xS0xJcHFET3FzOG9aQ05JT3JRaDBIczExUmw0TzhpL0xBRU9BeUFlaWtpY0FiT0ZqMUpucGhvWUxzUGw5YjdTRkdLU0VFVnpsZS9CQXdKQ1NRQkJ6eHdnSWVoRUZJbC9BQU9ieWdFQ0FBMkNCbmtvV0JMT0FlS0JFQUFBZkRneFMxbWdEcWdaelF6eUdCSmoxVHFqTDVGbktXQ2c4ZU9zSysxL3ZEbC9RYmhCVjNJZ3h4TVZUQkJ5Q0E1K2dYQkVuQUFCejVYdHp1VXVQSUlGM0NPdnE0TnhpS0ttOTZVOUpxY2ZZVnh3VWtYZ2tBTER2QnlJaWJZL1FNVTNuQ0NKTHlnem9KSUFoejR1MXhCWUFCVkpoQUNxUE5UWlFFSUFjdHRrK0xtaWphNXpkbTNxRHQ2VFdBU1JKQW9iYStHN2YxVUFXakVDUW1JOWc5dnNBS0FmLzljQmtGdzRROUUxWFJpQ1pGWUtMeUFCVGNBd1EweVRTRUMvQ0F3N3VQY29GRmdCajdzREo0V01JRCtkclFZOThobFc2akwyVXFSOGc1aUx3S0RlL255QytDUTJEVzB3UXBOSUFRT3VDQUR4aExDRHpLd2RoQUU4UVljT0RoRkpNemRDYytkUmpSUHlMS1FobEllNVEyeEQ4SGtiZVJEaEd5TTk1cFdtdXJZZjhEMUlKSVFoUHorZ1FkdGFBTVAwREM2aGY4aERteUFJb29qSHIwVHlpV0NtWHM0aFdicklJZzF4akVOMDFQSFFxNU8ycWJ5RC96K1cvcmFVSWFBRCtMWk4yY3pZLzhiYXByL0lRZ0VlQUVPa2ppaFdMZ1Bvb1Erb1RzaUtBamwybHkyTW9RTFFiNkM5SnN1cTY3SE13aEgxUEdYMXpqVzFHQ0ZnOVgvTVBqL0pDUUJDaGt6ZWY2Q29GWWx4YUtFYUVjQ0F2UmdCaFRBazNySzNSSDVIbDJjN2NVSEhCdkJPNVNPSXVFWlNYcUFpdGYwSDBETkJaNFNIcXgvSUpiaVYvMHBGRlBJN0lIMHd4clorSlVnK3A0UHRIZ2loU0FNRTEvcUt6NTRsKytrbHhHWXY0UWNCNlMxczlpZi9kVS9sS0VOcnYrNkh6UTBpQmNFZ1FzZjViUEZsU09MTEo0VmpuNUFYU3pCSVh3VUJWdDMyK3FVdHBUdkl1UGxxeDMxQ014SHlDZUc1YjZoeng0RmJSN1ZiSU9BQm55UWM5RDJCakxRY0MrQUFXOHdBUTVISVVGUUM4bHhmcHowVXVnbkt1L1FmaGRuTUFuMmJ0WUVFdU5GRURHQkJKVERSbTdUWGpSU0VNUlRDRzhnYW5Gd0FtOHdnNGFBQm0zZ1VWalgvMU5mWmlyY2hoOHkwQVVHSUVRV1NFZ1lPRWhYMERjRklDazhFWEtqRUNVWlozUWlxQjNvY0FoRlExMlRwREpNb3dnaXBnZzBTQWg5Qm5WSjBJTGRVUjYwSkVScjlBZDE4RksraHdLMmwwZ3JFUklRdzRTZGtDNE84b1MrWW5mOVFuYlZjd1hsSVJ2aG9BeXJ4d2x2Z0FFcWR3aUQrR3c0d0hINThRSkloVzR5NVRZdzFUc0dVRXlEQUFRcU1WM3VJWWVRc0VFQVpJZEhwMVNVbGowUlJRaTBRdzdKSUFzQUVRYzd1QWhRZ0FHaUZvQ25kUWduNEFaTU0zWVkxUjFIcFVJSzVFME5FVzVJTUlwTENGLzJsZ2dOVXpPaTF3em9GVEowSnh2QlZnN2loZ2pqTUQyY2N3VndzRFNOVUREZzBWTjVZd2h2d0FWcllIMkplSXZMTWY4RjFPV0kzclJNYkxNQWZVTVZOcU9KNHNNdWZGY2ZJY05ybXhjZnl2ZGVoakE3RGtFNVZtVXExNmg2ZGlZSXNPZGhKekE2YTFBRzRVZ2h3bU5YRENSVHI4RjJoOEV1aDRCS0RIS0ZtT0l0dlBRZXFuTSt2QlJKaFNBLzRNQ1BoV0NObm9DUVNUWUkzZmlOYXhBSGNDQ0d5MkZTdkZOVmdrQTdLTEJKcWxFekdOVVJjbEVPTkNFSWxBWi94T0ZlT3FaVStVaG9ZQkpLM2lRR09MQ0ZrQ0IySjZscEw4QmZ0OUtEK2NFaVlyTVFSV01HTG1KN2lCRkdSVEVXbExRTVlDSVdKYkZWTXRLVHdqR1U3ekNLUkhNRnRjQ1YzdlFET1BDVWtBQUZKamtJR0ZBRzN4aUlRdGNkQUhFd3R5TVVBeEE3NVlRV3RYVVJrUEVWMFZJU1NBWC9QMjdSakxzRkxva1pjamVVWUQ4MENKSllqb2RBVWI1RkNETHdZeWNKQlljbkNMU29Ja1NnS0REeVhHS3hqb2VCQXB3UkhQQ0NMdXFRZjFmQVJtbzBUeVJJWFRBeERwOHlEak1VSTVaSlQ2RjBKMUdVQ0V0Z0JVeHBDUHNWaTVvR0JYRGdlakp3QXQ3WVdIOUFsZmdCUHJ1U1FqYXBHbVNEQUNmSU8vVXhsb3RoZVVnSkdBeFFnZ1BBRENkb0FjMGxQbjdGT3VNMFF1Y1puNFpRT1VTMWlpdVhjbDlYVkMvd1pUS0FrTm40Z3FVNUNKSkRJU3ZRaC9EMUNLNjFFN1JRbXhDbFRPVWhqK1ZKQ0F0V2ZNSkpSZk9rTFpORUVGOUNuOVV6b1lJZ1B5SWdCblRaVTZYU2ltQVZCek40V25Fd090YjJsTTBtQnU2b0hDeXlheTZaL3dpVWRvbGZVajBReFVDejRBTzFxUWdEOFJxaU9FV1pBMXJ1RWlOSENhSlUrQnJaUndqZ3dXYzN0d0VDdUhwUCtYZTlsU0lBNFdnRDRIS09ZR2tvd1RxV0YwL2paampGS2FUTmtDOFFDV05qMlJIeHNCalRjd1VpbVFpekl3WkpVS0tDQUFWY3NEVE5KcHFtNXFMU3VaZEJNa0FvRWdReThKZXk4VWFPVUVoZ2loSmZNcWFINEpiakFKZnBhRDFWU0F2VmxWVkl4VGlPWVJDTFFRdUhvd2lFQm51RDJFNkVrSnlGUUlCL0FINEM2UVBpdUJ4T0ZXemJ5UWg4T0g0Uk1SQjZHS0taRTVLWTJaWlhJS2NvTkVhVzk1RzBNMGJBZ1VwUWtTRDE0S0VVdWdBK2tEN1dGZ2VFK0FoNVNZc0RHaVJzTUtPUE1KQ2ZnR2VrTUZOdjQvK2xqakJQdVVvUkQ1SUkrSFNtUkhPZWhqTU92RllQdzBxaHhVcGQ3QkIzU0hXQ3RHTnhSTE5ubjBaVUdJQUR6TW1GSVRhZ2VESUFjSUNBamNBRVhpQndnekFEVENBSzNGY0tuakZMbk1BSDlhR0lLSUZLcGtHSitmZ090a2M3NVpFZDRRT3Y1VGs3UTFROTVsWWU1VUUwYWVRWkhGc0lDeEFGc0JlVmd5Q3RBRWtJU1RZNlpjQUZBNmtwYlBCbmhNQUVDakFJQjJ0NDNEb0RRNXNZdTFDdWpiQVlOeW9SU21wWGg4QkFNRFZvVGtzMGsyTlRvTUtrQlJCUHJ3R2s2RVpybkprSUpjQUdSWFdEU2JCbnpzWTBNY2NGWFBCcEF2Y0R6NmNJWGpBRGY1QStVU0FFUE5BalIrQ0ZnbEFxRTJHcml2QU9PM0VVbGtXbldDdWZ2ZUwvVFc2VGZ4TktQYk1FakRBQmtkekJyREM3QUdJQUJ6LzJCNjFFZTRXQUEya0xkY2JEQ0V3d0EzQ3dCS2xIdDJCVm9QdXdYWit3dUJQeFhJUEFOWlk3Q0d5MGg1cUptYlRXaUIvcGxwRjdqbkVEc3p2S3BMWXJzMURYV3dnZ0JzcUxOMHZnQTVFa201cXJyWU9nQU56YUNYREF1bXB4VUV5ckQxRkNEb1E3RGtFS3MxZHdGQXpBaC9IYXEwUUtqZXBLYUVCcUpNTEpDRmtGUDZGVWhjM25FUXZSQlRnZ3VIOVF1b293QjR4d0JFdXp2VHR4UGsvTERRdnhKV0t5QUF3d0VCaFdDT2U1TUc1QnNZWXd0b1F3VTZqak96NEFsNEFoQ3JMd0xORXlJeit3QkgxSkNBczdXQkR4Q1Vmd1k2T0xGc2NZdS84UXBHa1VPL1JGQ0NYUi96WlhzRE9LY3FhSEFCREFtRlZCY3o4dzlvdjFTYnlPVUJRZkxHbUJ1QWpVNjJBVlVBSCtDd25wb2J5UElKUDZRRkZEb3NIY3l5dmdGY09HSTdXYWlnQzd4MFpmY3BUMUNhZVArNUdKeXd0OWRjVC93d2hlb0xtRFVBRUNzQWQvZ0FkNFlBSnFRQU9PNEFXSkpRUmo1d2hrQWJTTDhLcVB3QVBha1Mrc3VRL2twY01sWkpRUzNJdG9SelpZZkFVbTZBaVNhd29NQWkxZjQwVnVETGlDVUFGQ1pnamV1Z2dCRzRKME9oc0NmQWg4Z01TZVVBN0lveEpNOGI2WU9UblN3NHZoMEtNZ3c3djFLUkZhcHNrRGdBVFdxUWlldkFWUG5BZ252QWpZVlRqWnlnaDFwWTVsMUdOdHpBbTUrNGJOVElXNkNvbElxVUNFTzhBTjRwcWRZUCszZnhES1pZSUloV2d5ZENQSWhCQ0pmaEI5alhBRktIREpqK0JBOTZFVFNxSExpS0ROdTVPUDVhc1RlcUJscm9td2tEQURjY0FETmlBSWN4REtpZ0FCaktBQWhHb2Fsb3pGdERwSW44QUhFYXNUNmRLMWk5QTc3ankxOER3UktORFFueEFIZElNY2pCQURic3dHbllzTkw1c2lGRHkxMVNNd0ZUREtpQ0FHeFl3SWZZc1E1b1FJVVVURW85SktDL3ZKNG9vSVNTQWhPVTBLMmZNNW52d0hOeTBJSWZBSVM0MElqclhNUlcwa0RwUVNQTTBOZmZ2RU1jMEk2ZkhUaVJBa1NTQzlvelFBMDRNU2ZmV00rL0RVaEpBRGl4QUZXTENOaWFBQWJaQkYraHROSFcwSWhnYlJwRWpGTXFISmhnRFNGb1FBRGpBR29OQUdiSzBBWGozLzB5YlFCWFE0QUc0NDFRUnhkdkM4T2RIQzEzeGxhSnFzMXlvaEtpZWlDQklpcm5sUUFycVFBT21qQ05RYkE2anp5K2djVGJkejJWVjFoZEV5akd5OFpadXowaXFCQkQ3UUJTN1FDRnVRQXoreUJVU3Qxb2RRMmtoeDBZOE4yWjhURGtid0MwYkF5WEVvQzNlTjNPTVNFODVOQ25Qd0JOVTlteElzM2Z1ekYxMWcwcUpRQzNySUs5dk4zZDJOQkpaVzA0Z3dCa2F3M0FTS0NJTlIxK1l0TUFxUzI0TGdBekdRMy9xdEtIL1FCUjBDSll1QTBmT2RTN3BURHJCeWtiejJwWm85NFB2RElFTzA0RUpLVXd5TzNJVGNDUExkRTdxSFB4TnVtTlc4R2lMcVFNQklOSW04NFI2ZHlsUGhCNWxGcVFvVTFDUXVFV0pORlhtZ0J5RU9pRkVMRE9FdGZnMGJZZU9JQVZIWEJHNDNIaEVuTmlHU1hYRmdBaTA2L3VOMTFLTnQ0N3hydkdWSWJ0N2RaSlI3MGN0SC91VDdVOUFqdEljeXRCRGh4c3BXRHRtWlExMGZ2TVpmenQxVk9CNXNYT2JTUFU5Qk05dHFMdDNqT2Rzdi91WVZ0TUJ5VHVmU25ja2ZqT2ZTdlFBZjNENnp5dWM1bmNsVkx1aEc1T1NHYnQ1OG5laW1FQWdBSWZrRUJRTUFmd0FzbndCSUFPVUFaUUFBQi8rQWY0S0RoSVdHaDRpSmlvdU1qWTZQa0lVeWhSZ1lhVzkvUVpHYm5KMmVuNkNob3FPQ0FuOHJYRWx4Y1RpdFNTY1lBS1N6dExXMnQ3aURGMzlwcksyL2NFdHdPSEF2TWtTNXljckx6TFUzTEdLL2JHMHFKVW9tZmhvL2JEaHhNcWJONGVMajVJTXJyWEEvU25WKzdYaDlVbmp0S3QyYTVmZjQrYUp0clcwODdYNmtvQWtpbzZDTUlBUnVuSXREUUovRGh4QVBnZUNIUTBXN1BCbUlRTm5Jc2FPTUNUaVdSQnhKRWgvRktIN3daQWpTc1dYTEZ6aFlsSnhKTXhtR1ZpVUMvbkhKa3lPSUpXSkExQnhLRkpTQW16aFFncEN4Y1VLWkNUMDdnaENDQTBQUnExZ2JUVkV4ckkwZk5CeFBKUG1SNUVYTFl4bzNFbENDZzRzQWNGbi80OHI5d3kxSkhyQlFtTWE1SWlqSkd5aUNpRWhwbDViSUQySnBKczBOTjZCeDQ4V1J1SlVBQXVYTmlSTXYydVJaczZhTVZVR0Qyd0VSQklYTEh6RkxsbnlHVE11eDQwRU1Zck4yaENLa0h5SnZodlZ6MDZRSmx4T1RnZ0JzMS9ETkNqN3QrS0NlVFN1MjgrZXhKVEJmMUFWSENSQlFXb2dSSXVRd0Y5OXhrZ2dpTU55UFVBd3Jicnk5OGFMTDlGRFFvLzl4UFVENiswTUk0Q1M1L2NaNndEWGljZkZMR1grZ1VWNGVNc1JDd0lKdnNHSEdmYUhRMTVnRUZGYjRoMzBRQ29KRVJVVlVCc2NWYS9UV0d5dmhWV1dnSDNtVUVJVUpCRXh3d29KRXhHRUFoaGxHVXVHTk5UTGlBdzVDRUxCUk1HM0UwVVp2WE1TQlFSTTRuSEFpL3owaEVZREJDd0lRa1VRWEZ1Ykl5WTFZMG1obEVrbVl3TlFmSUhYVDJ5QzlKVWxlSGtuOFlwcFpyRkJKb1pWdzJvSUFEajlndHhNVVRvbllCaHhFVmlWREh6ejhnc01FUWZpQ2d4ZzR4cW1vS0NqOFVZS1BkNzVSaG9nQ0RnbUhGUnVCb0lGdVZRVlJCakFJdkxub3FKLzg4SWNTaW5FVUJ4Y1lCUGxIbW5CZ3NGRVFHbkJEVEY0di9DR0RwR3lFU3Vxdm0walFCUnRLQUhZbkZDY0krc29FZjNGRXhCSTRnTW5VR3d5OWhZRjdXZ0tyTFNMQ0p0RVFhUndWbVlTc1RIRVVLUVpRbWJ0QlhodjRzTzI3aTBnZ2hoamZEaEtWdVZHOW9jb2Zic0xycnlFU3NFRXZJZmRXVmttelBHSGd4aDhvU1BEWXY2UThQRUJSOVFXY2hQOWk5cnEwNndhY3l0clNIeWVzNEFZY0RWTTRNY1NRbkR6ZmE0TlVPUlNGU2JSd3lGa1l3RkhHR3ppdjhyR2thN2lCQXhJT1A0enlJU3lmVE9GekZpU3RkTkxaa2xTZkdIRXNncWVSaWlVSUI3aTZudkRER2lzd0hIUXRvczUxc3NwL0lMMjBCUXlZWWNaelY0Uk5Vd0VHTE9ITkloaGdjdXdmY05nOVNCbHVyQ0ZneVdSRDhxWjAwajJHUUZ5dXdSYmIyVW83ZHdVRFNCUVNlRTBGaU1DR0ZZNjAxTjlxZjJEQUJXZXNoQ3AwSXhhaWdJUVBRQ1hCQmh5czYrY3JUU3lYdmZqWnp6VU5XV3htUktOM0lpNWhJc3NndWZhTUF4djFqWjdJbXdnWU1LeWcrczNyUEE0TkV6WDcwczRad3ZMZ2l5V3RSd2x0U1EyWXNWQUFnSVAvM3ZweXhnK1ZzUitmZkRURUxLR0NFanhvVUljSkdvU2dndzVEOURyZi9yYVhNd0FEMUdOQWxkSW5pTEJoS1M1SzAwTVhNSGNJbk8zRU1vUDRDQncyMHBldGRRWUhNekplSVNpRWdpNE1ZeHJYOE1NZXlIQ0FGTlFnQzB4SUlSTm1nS2lnL1E5dFg4dkgvd1Rvc3BaZHFJQ0NLRjZGS3FaQm9pUnRBV2JJMnlGV2tiWHhEU0k4Ry9sSUVqZ3pNamdnZ0lBMlJFSTA0TkNHRSsxZ0JCQkFvUXEzT0FNbm1zd3hBSVRoUXlabnc4ZlFCMHYwa1l2U0ZyQ0VYQldpUDRUQ214RmxrS3gwL1NGcTVzTUIralFvSFFOd2d3MHFZSWY5cXJERkZIcEJBU3FjQVFaZHlMSXdDakFpRnByWWhDWXBvZWtzclFCQ0pFUi9YcUN2Vmt6Zy93L2lpME1TWC9DNW5vVXVob1ZBUXByaW9JSTg3TUFETG1DQ0YyWlFTQVhNd0FzcFZFQklUTVpJUWpqU0lhS3FXTkMrUmtaTEx1QUtiT0JrSWFCZ0tOME1JdzUvK1VnY21NaVBKYmlRRUJKQVFUUllhWUlRUUdDTENrQ2tDaFVBQjF3eVFaZGlLSjZFaENhQnBEM3lIaFA2SW9iY2xpTUxzTkVzT05NYkZEQVFCNXU5QVFPcU9BRkg5UFVITjdpQks5RDdZZ0VSc0NNNHFJQUhJNGhsSVc5cHlCbk1ZQkJlR0o0TzF4bTdLekJ0SE1OTUZBNUpsWitOcElFTERqd1d3Z3pDa1NTa3dhQXI4TVVTSHRiSFlmd0FvbG9zNUN3TmlZT0xEcUlWRGVPaHhDcDVJYlNCZEpnNDdCK2N1dEFDbHBRbERYVkRXTy8rOG9Ja0dGUkFkUDl5RHdvbUpnRUVSRU1NU2doQkRRb0p6b3RtVkFHRVVPUVBRcHErTkJid25VTVRod1grZ0lPcTVvMmZWc21uQS9XS3N5U29ZQVhzVzJ1akRDQ0l3emhVQXpvZ3F5d1BTVTRGbkpVSmhmQ0JQRkZKaU1URjlSNzIzRkFyVVBxcXF2eUJyL244YkNyUzFJb1pTU0J5QmtBQk4vd3hnZ2JVVXBHQ0V0UU0wUG9ITDV4R3FGQWNSQTh2MjR3ZmxtQWJhZkRRNmp5RENaeEJsUXRsTUZSSWdpb0JBeHhxZUNVUWF5MWJNUTBWcUNBS2FWREFCbHJBS1hTcTg1cTFJQ3h2UTdGR1BZZ2hWMm1LUWdtNG9aOVZjTW9WYkNDZVl5UndHRG9Kb1FMVHBhSVMrTENIQjJ4aERrY0ljSUJ0YTRWV0FNMnRjbUpFRGNkYmlLV3g4UmRpc0lEL0hoZ1FCV0V3VHd3L2FOaXdKc1F2SENTaEJBZklxU3k3K0FNTitDRUVXd2p3SEZZc1lBSFBvUVhERTkxdVJlR0RCOFZyZnd4R3hCcHpKN0FyTEVCN1Z4QkJBVXlIZ2lmV0p6OXNvSkFCaHZGUS9HNHhvMkw0aHdER2NBUXZxSGpGTFA0RGxvK0ExaVJZRnA0enp2RWEwV2JQTmFKQUJDWDdZbU44VUdSb0xVRUlJWjV1Ry9qZ2dQKzIrQWdzUG9LV3NVd0lPRWcyek1vbzh4OFdrT05FTUc2dWMyVkFBUXBnNURQK29iNnRUT3dXLzZCTHI0UUF3RmpPdEo0RExJZ1ZDMExQTVpBdm9BdXRqN01ad2dCRVZlVWYybEMvc2FwUUVMcTBpQUJXdkFVMWVDRFRjL2lEaTNOTmlBcVlJQWtaSERXcDhhRTBCV2NUV2grMmdaTmYvMDNwcFBoQkRYTVF3QTRBWW9NY0dDTFRnempDQS95d1hnUVBleTVkYldnckQrQmFaamNiSldxb2dBMytVQjQvd0tYVGZQNTBUcUt3eU54K215amhic1VQVExDRFpaOFRvODZHdGdiWVhaNG8vQUFNdkViRUVieENEMnZhKzk0bGtVNEg5YzBETXZpN3RyVE5xS3puWUcyQURHSlRkZlYwSWhUQUErNkp1cGdRZjhpUC80Q0FIMHp4QjBMd1ppRmhMYzVnbkhqRklmRDRJTmpTaWpHSS9CQmVVQWRRSDU3eVVCQjZFd3RJK2pFTndENi93dG5WS1N3RUxWY0loMjVpZWRwK0tBVDNXaEdEbnh2aUNFbWdONTI4WFhSUk1JQXZTVitFMHBOK2hkK1Nsb29sRUlJT1JHeUljRUlXQjA3d2c4OVhiSU4yRkVMc0lhbUExd2x4aFA4NFJHRVlLeU42MlNHUnRDc3NnUTAvS01HZzEwNzVLNWpCNEdMUXpUVGlmZ0FhelB3UXRNem9DdnlRQWp3TG91OVpKd1Rna3lENGhCdUNsY09ZcWVJWDd3anExWGNzSmNoOTdsWFFoaVVrZ1ZOSmFJTjZoVENDQ3RCOTVJakVnVmRTekdmVS8vMFhTWURBNE5PNnAwT1JuZmFjV0pvZXpBQXRZc1IyZUdLZ1JoU1VRUHdLUUQzcWk5anBhZHlON1Q5c08vVTdoMzRGVkl5SUZ2aitVR3JHUGlnUS9jTUZSSUd1aDdJQ1R1QUVVZkFBNVhkQ24rY0lGdFZGVnVkMU5PQUE4Q2NJUEtBYllqQi9wdWQ2Z21CLzlPQUQ2cVIvNUhVMlB5WjVjREJiNWtSV2ozQklGaVVvSlVBR2VBWmdlc1pyVytCM2c1QUg3SU1CTGhodmhLRC9BR0pRQjNDQUJKUGtnYVBBZi9ZRVJHU0JEaVRvQmJZRmRFZ1lUbDMwQzhMQUJrdVFZWHR3ZzNxMlo0S1FBeEg0QjRlWEJDdG1aVGc0Q0FvUUIyQWdCa1pHV1VENENiVlRJU2dRTjdieWZXNElERWtnQmlyQUFFWDJQMzVnQUI5QWYvQTJDRnV3QTRTQUIvOEZZQXFRYTlQbkJWWVFBNmpHWWJxRmNtZjRDR1kwWHdOZ09qL2dBMTNnQTVaNGlaYjRBd2FBQkNoUWgvL2pRbWRuQUNMUWRiejJoWC9nQVdxUUF4N1FlbncyZmJVRkIxMndWWTNCQUpYRmlJM1lDUktDUm1yV1MxZEFObzJCQWdYZ0EwOHdCb3VBYXlLSGdZTlFCV0xnZzJCVWk3ZG9DeXJ6aUl3NEFIeEJOSkVqQWo1Z0JLTXdCbDFRQUFJMElYTlZXYzg0LzBZU1FJdUxJQUtoTUFaUElHUStCbzdtS0FnTVlJdmptQXoyTVl2aGVBZ1NOd2pDR0FucTJBVWlnR29MRUkvdGRJK0MwSXZ6ZUE4WVlvL1Z5QWpvK0FkUDhBWEVhQWhqTUFaR0VBTStJQUpDdGxYdGRIWWZsVVAvNDR2eWVKQ2k4RCtMT0RFd3BGUU1Zd0RCaUk1ZDBKSXVlWkVZdVdpcFZURmgxSkVya3kzQ0pwS2ZNSXNKT1NFMVNVT0tnQUJyS0Y2Q1lBQ2J5SWtJOEVRMXVUVDEySXpPcUpPNUFJNjE2QmlQNDA1d3hRamV0cFJHbFhnOEtUa2hDWlU3T1FCYldaSmZGZ2xRTkpEclZJN3Y2SkZmQ1phNFdCOWp5WlpFNVFoUUZDcG9rNHNXb0NXejU1YWc4QmhyYVQwNXlaWTRKZ2lIWTVPS0VKaDhPUkpseVhKL1lQK1loNW1ZWXBOYkFNU1l1TkNXa0ZrTGl3bVBCRm1abG5tWm81Q1pGN0lBS0RtU2lPa0lCVkNhOHdpYVJmV1gwR2hHdENDTHFObUlvTmxPQWJrTWUvbVd0eW1idVZXT0FUbWFwR2swbXprTFF0T1pSYWVhWWVTYm4va1lHMm1icWtsN2Mxa0l4NW1Vek1sVmNXbDJaMGMwSEVXYzhESTJ6MG1ZWmVOT3lQbWJSUldjOE5FNFRaT2RzZmtyNjNROGpVT1pVWmw0NHhtZWd2T1RRS21YSE1WZzhlZ2FUNVFJamlTZkVhS2NqWmNNRExBQWZGQ2dNb2dJelFreEZ2Q1ZZc1FZZnZsai9za0plWENRckdrSSswa09BRnFoaTBHUzQzVTQ0K1VIRVNvSUUwb3gxemNkMnJrdEJOUVlDNWw5M2VtWjRaQ2Y2UG1VTyttaUQ4Rkk2NmxEVytSSm8zUEJCeUhhQ1VmSFlCNEtKM3h3YU1XbW1hSEFCeHJLVzNWUUkzNFFIN0h4T0MzREI2R3dvcGMxa0djbkhVbXFvL2R4Tk8ycHBYRlNCeURwcGU4UkNBQWgrUVFGQXdCL0FDd2VBVWNBUlFCSkFBQUgvNEIvZ29PRWhZUkVSSWFLaTR5TmpvK0RHQ2N2RTVVWU1vbVFtcHVjUzNBNE9JTTRMU2VjcHFlRElIOHFnM0ZKYlQ4L2JVbC9vWDlCcUxtTnFtaHRmM0JjVXhwNGZzVi9lU1ZpZjBrc3VzNkdOeXh4ZjJ3OHhvSU9Ebjk5Z2ovTG1jL1BVOU5kR284Z0w4c0M0Ym9YcktaUTZUODM3S2dydnlWL2Zwc3lYUFdvTXVEb1F2TWp5WVYva0FnUW9KV1BFSlFKYjJRNEl1QkhHVUpIVWFaNDgrWXdEaHM0RXdwQkdVbEl3MGNDZjlaZFZDU0NHcDlCVUpiOTBCTUZCNFpCTWt4b1FDUHhqd3lUT01SZ0FMZVNVSmMvVVFTTmxQRkdqQWxCU1dnSlFqUEluQ0NVYkpMZ2tGcDBFQUpCZUlKQXdSQ25SUXVPZjhyQWlRbmw2U0NxVVArNC9Lanpwd1NPbzEyN0VjS0FJeXVjT0UwRXdZSHo1aFllUWxMK3hCTnc0UUlCSEMzelNoRERKby9pSkdJU3U0bmpieEFjQUVUMUVZbVhLWjJFdkg4Ry9QR2xlRlVoZ1FMVG90UVg1WWNRRUtSOTRrRGIxVUJkbzJtNEJFNHJWZURzaGtsdy95R0NWWFhlQVI5NUNKS1JicG1pYVprc3JwS1I1RTExMUlPV0ZPS0NvM09UTW9LYWdQempvQTZiUWNYQkYzb0hFNWdoTHRNRVZZVC81L3NmRlBJbFJZZ01aZUJRQmhld3hXSExIeFN4aHNNSlFVd0F5bUM3b1FiSEZJYThFUnRVY2R4VVZVT0VTWVJER2dRUWNRSWNYeFcxQkJ2TlpGZ0dlcTBaTWtVU2NZVFV5aHRCdk1DR2N5dDVFdE0vb0ZBRDRFcXErYmdKQmx6WXFBai9Cc0g5SVY1UnF2bUFRMkdPUUFHQVZvM0V0Y1lhcnFBbUpaV014Tk9mSUJJU1ZnZ0dIanFKMmhKVFB0TGRJQkhpb0tSaUw3anhoNTE0NWRWbUl3RDhTQWdPL2hXMlJtdThyU1RHbnFkOEo4TUpIUGt5WkZkSHBXbktkMitVTVNpWEtPYTF3QlVnOWJSSllhWDRkQUpyTVdtWDF3LzVaUWttRkcvSUtVaGhkcTcyaHcveTFTS3BaN1NNMU9GMEJWTDVRcG9LUGlxZnA0TGNsRTRRTnlXQlMyRlN2YkZCcklLWUNoNGJBQ2lDbm8yRWxkSm1UR0FLaEVTdFVLVmhDRmR4cEJNS0hHbjZZMmVoNFBsZ0JaVitLbFpHSEJ2STIxOUVnOFRLa1cveW1lSHFHMHdXSXNQQWlsVDZJM21DSVhFYWFnWGdBRVUvdTI3QzJwTStpRWNyLzNoSFRYQkNlYjlBZ3FRYjBBcnkxY1diZU9HRktTbitrZW9mblJVY1R4c0lFdUljeWJXR2xFWWNuOUNTQnBWdnBKRUdCaStreXRVZzc3bnBUVklyZUtIQUgxWnM0c2NTNkUxVFFoUUM0VEFZYkJ0YWpZUENtbmdoRUFaQytIRVlJeTBJSXF3aDlDMnh3QjlYK01ER2dyV3dJWVlQS1B5QUF3b0xOOExFMG45STk4Z2NmNXk4QkkrRldNQkFHMkw4d0lBZ2E1dEJDQklvcENpQko0UXZ3c1FNZjJUZ3lCR0xkSkYzNFF1RWJvRW1LTnoxQ0JNYkdnSzRJd3BVV004QVA5Q3N5TW5odklCRHl1RklhNGpYaEZUd1J3VytiN0pGSGtzTVhpdm1oSVN3eng5NGhMQUZKRjVvcnNUZDRBNnlPaXIreWNkM1NuK0V3TWp6alhpUkovOTRUQlFDL2lKTEJNK0kwS2doLzgvU1F0UnFWVDFlaUtHRUlQd1cxUkRua0NSeC9TS3A2d3E3ZHVBSU52eFBFUnZTSFVLOHdMOC96SThSNm1NRVI1NVVsQ00wOEE5cWNJUUNDekVEanNnT05YTjRvQ0dXb0lQQU5VSUY5MkNYTXdJNENQNVZZR3lLV0VFRlROYUlIeEFQZDg4d2dCa3NZNGdHZWdDR2hGaENEdjZ3QWRvdG9nMUMrTUhuNmhHRFB3RHVnb3p3UXdhRWdBVUZsSTBSQ2hESTJkanhyUThhWWdzNUVJQUFjbERDUDBEUkVHWHpBUTR2WW9TVkhHRjhSVUdCQVM0MmhucDRrVWh5L0VNWGZOREdYQUFPanFpcFhDNW9WWURxTGFLUWdtampHT280aURvYTRRa2tNOEFhRGZrSEJIeXJBQVVRUVdRR0FjaEpVbElNWmdoQXdaQU1rTC9JUFNJUUFDSDVCQVVEQUg4QUxGY0FKQUFWQVlFQUFBZi9nSCtDZzRTRmhvZUlpWXFMakkyT2o0NWJndzlVVGxFcW1KbFJUbFNRbnArZ29hS2pwS1dtcDZoL1h6RStCVDhGSXJHeUlqNnlQaXBPZndLcHZMMit2OERCd1FkREtRYTFCY25LZ3NsL3lVZ29CckIvUDA2N3d0aloydHZjb3NYSElnVUdLQVBsNW9MbENOSGk2UVlpZndZUDNmUDA5ZmE4VHRLMDR3TVMvb3NTQmlBcGdFQVFBbGdGcU9TNHg3Q2hRNGNwVkV3cmdLVGZ2MFFGQi8xakp3akpPeFZxSG9vY1NiSlhpajgrbkJsQWNKRVJncFdGQmlRYklBaEZTaFhYU3VyY3lUT1JEcFRPeUVuNDQ2L2NuM0wraGhvNmlDSm1NcVVILytEc1NiVXFTVCtEQ2dndHVxN0FvSEVJK2gwU0Y5T0EyRDhaVlZoZHk3YmJDUTErLzVyNnFFaFV3a3RZdExyNDJCdExKVGxEWkdPMkZKU3JyZUhEdlVyVU1VQklnaGtVc0h3WVNPRWt4Uk1qUnA0ODRmc25YTVpCQnhrYlNuclVBRTR5aUZPckJwWG1Ta3BCamlINytISHl6NEhhZjhBVTZ2R2pGcEpDQ0VUOEh2M1BjYzdWeUpNZm1sQ1RxTUFDczNFelVqTmlpQXJKd0VVMEpWNVhpQkRsNE1OTFE0QUFTWW5IUGFRN1dxaG1pd2pSZzVENCtEeG9BSXFDQVFPSDM0OTRDYTBmVnVEUWhpbHFwQ0JjSWRJMEZsQ0NSQVgzQkg4UXRpVkdISC9nWU1VUGVhQkJ5a0k1L0NBQ2ZSMXBOSlJNalBualRnd1JwbGdWRG9Ld3dFc09yZENVeUQ4SDRVZmljU3JtU05JRkx4Ym9UQ0hEd2FaVU5MQUZwNWFPU0NLWmcvOWFRUktuMURoMXVkTkpraUpkd0NPVnAzVDRJU0VJdkZhWFFRWFFaTmQ3V0lxVUFScG9LRkdDQ2o4ZzRTWW1KU2loQkJvZ2xLbUlEWkRSeHlCcDhQem1qMGNsWEdubk5peGNvb0kwME5VeXl5QzJKR09BZVJrSVV1ZWdmL2d4a0l4SGFTVWttR0tTU0Nrd2NGVElSUjFSQ1BJT00rSThlaDk1QTVoaEgzeWR4U0tPQ2hoOHFrUVVCOGJubFhOS2FmcW5DRWQreW9zVlZpVFJDbEJnSVpYVXNzeldCS3VwS21obzV3UUExUEtaVE51Vmx4VnNNblhCbkxDb3hDR0dJTEFPeGV4Z2lReFFucVB1K0ZEQ29BSTRRYWF1NkJERURINFNlS1NDRE9DV0lpNlpZaVpsQm5rb3VHbkF3UVZoT3VOejVDQVVhSmtYZUdoR2ZXalZGT2IvVUl6MVk4YTgvWW9pQnBsSnFWdXdQclBJd294WjZLSWxvMTJhb3ZCT0ZJSW1LVytRRWhESkFBTmFEWFV4QXd1NG8wVEhvYkN4aE5CdFJGRUNINGNhOE1NUEtrUXh4ZE5QRjhvbU1oVXBOUWlSM01JVVZSU1RKcGxCTW1hWVM5TUFGaXdRRFFNU2pNTkEyWjBGQ3pRb3hGclJBZ1liRkVMQUlIZmp6WUlLWFFSbE5iazBPek8yVjJvUlFhVkhUUVhrMkJWbFgxSEFGV2dWWUlFRmZ6Q0FrclJ2andMRkp5MjhGbVloOXVwSzA5WllLZ0h5VUpPdmJRR1VPSnV4UUUwaWxKbzVQVk1ncFBCQUNJcm1zZzhFMUpxa3hJSk1iZ0VLa0R0VE5oSUd2UDdIeEQvTVhnOEJLbkNjYVpNSHljaVlEM1VuR1QwS3lwZDkzeCtPWDdHQS94aytRRDY1QVYzdzYvdzhCT0RhSkdTWTJpZVdUSCs4UUNVRzRWQXV5UGhJTEdDQnZhdmozaDhXRUJ6ZnJhOGIwUE9Cd2loU0NENjlZM05JQ29MRWxBYytBMWdPZVg3d2d4a0t3SWNPNHN4dEI5UUdBUWlBSGRCOFRrR0VrSjJPb0tjZENzTGpDaHIwUVIzOFVJY0M4RUFRbGdvaFBWaTR3Q1p0U2liTnkxdU9XQ0M5QlNEQkRINHdRZm5JbFJFL01PQm5PdXdHQytaQ0NQZzFNQ25SQUVIWFVnU0NDMENIQVJuTW9Eb3lXREcwaUlZUFJsUmhGTE5CZ0Zjc0VFUmZrc0FWTG9DakNGM0FJekRFU2dVcjVTWkJPSTRCZkRoZTg5WW93bEp0NXlzaU1raGRNaEF6RmVHS1BvdXB3L0tTWndHY0JZK0FQb2dVSWJOQmhHTWg0djhmVmt5YkdsVTBoVnp4Z1Z3VFk0QVo5UGVvL1cyc0JGdmNKRENpQjhjZjdxcG1CWWhsaEtab0FEUk9ybWNJOEovK3pQWUgvVUVPaExMOFJSQ29lSWlMSE13NVVrRVNBWktodndFV3JKaVRHMkFxS2VlNFFTWXpHRVNJd2duTHVLbnFtY2dIQmt6UnJxbzVQc1lJajVzRlNLVUVtdkZOWVhTeVNidjZFanp3NHpJbzVvZ2lGRnpBSDk5WlRJS2dEUjcxeEVZYjh3a1AwVGpUVHpLSndnMTBOTEJxVnU1eHdtVGxiMmppdzRUeUlnMDhwSmMraWJRUkpFbUFaNVVzNWdJSVFsQUcrSWtRei9Mb0tlNzJTTkFjUlovVkk0cEhYSlNqZkJVVGRmQkF3YzJFOTRlbUtDeW1NajFGSjRKRWs4VDlReWI0TVpLTzVsbUFnRlJ1ZUNYL3Vway9DdklaTHlXVkYyandKRkZhV2JPTStBcUlVL1hLL0lxNks1cVlCYXJvK09vdnZoWlAyQ0JQcDZJaEsxV242Zzc2NUpTSnprREMzK1RLaXpvcEVDcWlpUXE1NnJMVG5ycmprTXdnQ21DaDhTVEM5cUt2ZFpFUkF4ekhFb1FTeFdXajVFKytoSE1SK29GeU9HZnBxR1ZKUWN1ajlFT29rOHZaai9vUkhHOUdxR2J3YUFsRFgxSVhxSVJEWWFzVnhmWXFkelBWOVF3SmxqdktTUjIzQkIwMXBVUlBZcXBaamhJV3RQdzJ1S1Y0NU91RWR3V2U5ZEZ5M1kydHQzSlVFSzljaEdacHd3OU1hTElsN0k2aUJDM0VwaEhOd0llNy9zOTE1MHNmZVFWM0VjZ0l5VmRRa29sMkJ1dGVTTGl2ZS9NOVpmSldHa3hHUVNFSXBFalovMFBLYTVGdFJhbEVyVFNWWUJzaFlleks0RDBCTlFCOUQ3S0Exd253RHg2UkFZUkZZUzZyQXBjaFhib1lWUEtaTC9OaXpSMEdJTEJHRWxsZ1FoQXhlWVBvR2VSSS9Mcit3UzRLaGh0RlVTcDMwNGZRenlLOXlnZ3VtOE1vaG5LTFZUcnU4Ujk0aWNhdlhJRVBCK0dESHFMeE9nTEdMc21oS0FyaktQZGlld2dZWDVuU1NFNC9VOTZ5eU1KWFdpNUVLUTBRUmdXYndBOEh5YUFaZ0d6bUtTaFpjYW5UeVpaYUltV1pqTTJtODRHTlRZU2pEbGlvdHNlNFFnRVoveEJKUURQR0QxZmdzNkJGTUtWUExNQWlBMWdiQTlyY2tFVS9hVHY1U2RoMDM3eWdGNVo0QVRqN1VKYXhXOU5CbU1BQWVUQ2pIK0VET1g5K29oLzl5Q2FyM2Y4TUN6aWpXQ1BZT2dvS3pOWHN0R21uYk1JYjMzdDJ2Vm9pdEhZUURBQjJVWWZqdUVGWTREdWlRTGFxbDMyUFpvOVVSTDRxVG1mdW94MXN2bk4xN1dYM1Y0bXdBaEhnbDVzRzBJT2xCT2k0WUFmeU8zVnNCTElsb0d4VTNPd1VtRTJaUCtKdExvOGN3OGpCeTNad3B2MlBjUlY0Q1FXdzNDOEhYZUtKbFcyRDJEeGx1bW1pNmxRa0d0eUtVSXFZRU9ScUFzOFQxa09LeGJQZUtkQnQyK1VQYkNqd0NXdzdRTjRTZFh3aEw0UUdqajJVbHFOaVdXS3BKU0VHb295VktHVW83Wlc0cG5wcjNaQzcwTjZWdFBFN211dmU5azBzeU5vNitrdjBlQWdoR3VMc1gwcTB2cGxlR3VoQUZxYnZ1VS9CQWpQUHJJOElQbWtiRG1rR0FHTC9RN3dUWitKNHp4WGdIdHdSWm5OL0tHaks0OEVYYkVRUTRBSm5PaE1hTXNCNUhoU1hjc0t6M053OWdhbjdNTUJsZDA5YlBHOWQ0bENINmMyYmdzZktuc2wxbFJ5Q29BakpDQU9DanQzMlFXNm9ScFQ4NUJPQkJnM2MrL2o2cTZUb2hWR2VCWXpacTBYOVVFWi91YnJPK3AxY3MzZm9SYWhaaUhzN3p0OWZ4NjZoaFlvNllBcFRrb3JnUWVpTFcxeEIzS3g0VGNaR3djVEh3SHFGSFBuS3g3cVVsVUlYdkFxcFYwbEhDQVMxTVFGSUNOOWlXVXlpWEpUREdHdWpjb2lnQVRkVU9lZHlMdlBRVkZweFZ4M1JRdmhYTnBZa0l2N3dQUmJEWTE2UlhCbEhWSTV6WW9PQVRoQkVXQ3RRVk5CVWJneUFCNHRnQXBOekJSUElKNDJSL3czbW9DNnRVRlg1VVQ3VGQzd2QrSDlsTlNRbnRIMjNSMVNJZ0d0ZGtFNUoxVWIxUmdpZlUzbUlrQWNQcHhNN1dBNEY4dy92c1lHaDV4VTJvZzVoVVdGV3BFL0pzRFlsT0h6ZFp3RkxRQ0dXSlVIdFJRaFVxQWlNaHdqbndBMEJzWVBNWW5IVHQ0Yi9neFlzSXdzNWhrVTBOaUpuV0UwRWhRaDZvQUtoY2dodmtBVDFKQVBXc21SLzRJQ0tnRlFQa1lkMjRTYlF3Qko4cUlhRTBETk50aEl2TVdBZmFCYVJKMWt5SVRrV0JZcm10bnNleGwranAzQVUwdzFaT0dtTjBobmc0NHBmb1JXblVtS0lCMlV1SXlzeWNoL0M5QWdsMElpcnBSWnFKUUhoZDJ4R1VRL21NQ1lFY1FYV2VBVzhWVlRQV0VYTmdJWUQ1QkVzZ1hVR1lQK05nWUZ0aWFnSUMvQXVoQVZoS3FZV0pUS0gwT2hhOXpDTjd2QmxyRmRNb21GUjVnWjZGdUFSK09WS3BMV0tQR00ybndPTUE2bVBpSEFGeXBoUVFRQmhRU0FEUktBQmowV0NvekNMMkpDSDRoQitsUVFOK29oOEREaDVpRGRhK0dWbVlYRlhGUEZ2YTdRSG9kQ1FmL0NRTWtBRnNmVWhsdGdJa0dXUjI2QXV3cUdSWmVNLys4aDZOUWdQeC9nVlcwSkpaUk1jN3VBTXlSQUx5TFdObWROSWp1Q1FMcWtFa3pNeEJmZ0lqSUZjV0lpVEtPaUgrNGlOQ0dBR1BETXgzRE41WmhNTzB2ZExCUkVPWUhrekcvUWUzZ2dLQTdLUWZ4QXFQeUIxaHNGVG5rQUVMaGtFR1lCckxoZ0tqOFZ0MHBnT2haZUVyK2dPZ3FoSzJraVdHL1AvRGlSb1prQTRUT0VHRHdqNUNMaDJCU1dRbVYxQUM2dnlLVUZBQkRJZ0F5eWdBWDc1YkorQUZiQndkd3d4TnVrd2FhNkRDSWlJWStUaEViN1lQOFAzZlpUa1NnQ2xqN2ttUHFId1N5WG1FU1V6S0htUUFSREpBaG53Y2hVNWI0SjVrNjRGR1gwUkR2QW5nRVJWRUFhd2swZ25LNnBEQ0xrMmxxK29oSmQwQlZqNW02SDNLQVRqRG1KQWRvYkJrb0pnYkkzQUF5YmdQeFJKQ3U0bUVxL1ZGMGtwZlg0b1BJd3huYmlHbU1Ha2o0akRrMmxvZU5oR25qeDNhM3FnQndZZ2wyd1Jta0dnQk1iM0NRaHdoYWdRT2cxaERnZXhKV3dKbG41NGE1YjBsZ01VYnZsalVRSTFqcTBJbnZ0SUNzam5mR2JRTjZtQkJpOHBjdlBaQ05LZy81cWlVR2RPVmc2UHRWMDcyWkc0WmdZVHMwSDNad2poZHAxQUNwNHF1cUtqY0cvT2R3VkVaeGd0YUh5VkZCQk1XWVdoUVJUVENRb3VZMlh6V0E1bnVJOEU5VXZPY0dkN0lUNEllVytHZDN1K2tLQlE2cUNwWVFFdFZxT013QWM0NDA2Z3dBRDRnVHgwS28xakFtUmltazFGT1IvV3VLRm5tWVNWeVEzWVNUNVZFWnFodVlLS2dEYitzS1dONEFjQzlUaWhjQVhsWUtFN2lucGZwNFRaaEFCNmNHdHRTWlJzZWcrdGgwdzhJUU1Fd0FLdVdtcVJpb09RTUpVejJRZ1o0QWZKdGhQMkVWL2RaMjd1eDA2RHRrcUoyaEJJUUhhOFZ4VlJvQWM3T1VEdmFSY01nRzZPY0tzTW9BZWhnRFlMRUZvT1FWczV1UWd1dFVxRjRLUFlaZitEcEhHbG9DRWNKdUFKZVRDc2pPQUhFY2dUd1lGeGtkcW5CUmFPa0pBQjRjTjJqdUFFK0FvaFhZS0phNXBuaEtDT25sQUhiUE1KOExnZmJsVSs2cXBsY3hlTlh3V081TnBqTnZsVlJzbUxKUUdub2FBQXEwbXBQWVpIMnlpdnY3Q2toS0FDSGxjS09NQWk5d0N5MkNWMWFITVdCYm9JSW5zSWtxbzZHK2g4NDBNS1MxQkNLUXNKQjV0TUkzSXVla2l6OTFaYzR1b1BRM1dPaGJCWmVRZ2JRaXVFTmxnS0tYVVBIWFlJcVdaWldYaTFSS0ZWVHlXUERjUis0TWFwemZSNXluZFFwMEMyVXZzSTVkQ3pBSXNjS29zTnFkYWM5UUVOYThzZnErWm1ERWNJTGt1MXlZQitjNnNhbUxJMmNPdHk4dmczY3BRdUIxRUFmTnUzaHpIL1dPdkdEWnVLa0J4YnJraFFxNHE3Rm1aTEZLbHpoNzBRalFjbHAzaDd1WWJncVpXTEdKQURYS3F6YWp0NENqdG9PU0kzV0hlckNCQTd1b2dSdFlTd1pwWlRGQTdMWWhaS3UvVUJ0cUZMVHNoUkdEM0dNNGdndEczN0NGZDRVTmRDRXdzYmZYYlpGbUdVWjV2VlprYnJ1Nkh3dlAwQXVDNmhnYXRSU1NrMW4xZVF1RW1WdXlsYm1vdEFJaEZMRmRUcWlud3F1OEpRdUk2UWlzcXhqZDJUQi92cXZ2UmdMa2h5YjZkMHYvaTdEZFdWSTBKWWgvK0xYVUtJb1FVY1hNZW5iZjZhd0I2MXdMbjJ2QTVjVDA0YWF0SXp3Vi9sZmNMcHBSZ3NVL2VHbUxKeWFSMmNUTk8zZUFPRG1BMDh3bXZrQjA1YVl0RVhoU3FjVUJ2SUIwSktIc0F4dkVsT3hMLytlOFBmbEZHVXk4TVBiQUUvRE1RSjFVRkVYQXFCQUFBaCtRUUZBd0IvQUN3QUFBQUFBUUFCQUFBSEE0Qi9nUUFoK1FRRkF3Qi9BQ3lnQUZRQTVBQmFBQUFILzRCL2dvT0VoWWFIaUlVU2k0dUpqbytRa1pLVGxKV1dsNWlabVl5TWc1MmFvS0dpbzZTbHBwQ2NxWTJucksydXI3Q1dxaEtDcWJHM3VMbTZvN083dnIvQXdjTER4TVhHeDhqSnlzdk16YzdQME5IU21BUFYxdGNEMDlyYmxOaldod3poNGR6azVkNkY0dUVXNit6dEZnekFxK1h6aWRpRTZlN3U2ZUtldjJidmtyTFJrMGJyajdoODYvYjk0ZlRuVzBPSHl3Wkk0RGV3R1Q1OUZBWFplK2lwWU1GbkRDem8rVkZ4R1VaNHRjNzFxL1ZKWTdWb0Uwc3VHK2NTSWt1UE5XZHRsTWt6MTg1YVFEc3l1cFpLNHFLWFBaUHVZcGpTNkZHbjExWXFuWXFySlNlSjFZb2Vra2UxNjYyaVR3VVNhdW5WM0xHaFlaR1NMZnZxeWkyaUgvL2pwV1ViVE1JQ2dMQ3NTUkFyTEM3ZGVDRVQrajJGRmVuZnc0Z21XdUN6QUVVc3ZZZ2pnME93Qk5kUHlaaDFSYzNNMmFmaHpxQmYyUXhOdXJUcDA2aFRxMTZOeWNCZzFyQVRJZUVidTdidDI3aHo2OTdOdTdmdjM4Q0RDeDlPdkxqeDQ4aVRLMS9PdkxuejU5Q2pTNTlPdmJyMTY3RU1ZUGNhZytOMnFnaG9mKy81dVpEYjhlVDJsaDhVOGpWNmFLUFpXM2lmbnVzOStrcm40OWRHYy8vQXpmN05rMDE4Z3VnWG9ETURyaWRJZXdjKzg1SjREUUdFUUlQTUtPakpBaEpNU0tFeUJBNkMxNGJKZERoaGZ5QWFBeUE0ODJsWTRqQ1hvV09CZTVsWXVLSWpKeG9TMkhta2REZ2pJaXJadUU2R3BlaTQ0eUFKaXZnSE96QlNJK04ra0VSYU15R0VDeUZwU28ydHpOYVFjeTJPSmRpVVFwcGlRUjdQZFNsQlFvUjFPZVFBS2pveUpoK3NtTW1rUnBCWTRNZGhkVUNwSEp0djVxbm5udlRaZVFxWXFmbFpFZ1BlQURnQVNwcFlJR2hvQnZMRVI2RVFEVkJIS0VsbWRnNk9mQlpUYUtiSDVCRVhBbW5LaE9naEVuRUtEQitOWHJFQVkrc3NRRndnQURzPSIsICJlbmNvZGluZyI6ICJiYXNlNjQifSwgImhlYWRlcnNTaXplIjogMCwgImJvZHlTaXplIjogMjk5MDQ0LCAicmVkaXJlY3RVUkwiOiAiIiwgIl90cmFuc2ZlclNpemUiOiAyOTkwNDR9LCAiY2FjaGUiOiB7fSwgInRpbWluZ3MiOiB7ImRucyI6IC0xLCAiY29ubmVjdCI6IC0xLCAic3NsIjogLTEsICJzZW5kIjogMCwgIndhaXQiOiAzMS41NDMsICJyZWNlaXZlIjogMzguNTgxfSwgInBhZ2VyZWYiOiAicGFnZUAyZTdhY2U5NTVhNjc3M2VjZmQyZTk4ZWYyZmRjYjcwNCIsICJzZXJ2ZXJJUEFkZHJlc3MiOiAiWzJhMDA6MTQ1MDo0MDAxOjgwODo6MjAwNF0iLCAiX3NlcnZlclBvcnQiOiA0NDMsICJfc2VjdXJpdHlEZXRhaWxzIjogeyJwcm90b2NvbCI6ICJRVUlDIiwgInN1YmplY3ROYW1lIjogIiouZ29vZ2xlLmNvbSIsICJpc3N1ZXIiOiAiV1IyIiwgInZhbGlkRnJvbSI6IDE3MjIzNDI3NzMsICJ2YWxpZFRvIjogMTcyOTYwMDM3Mn19LCB7InN0YXJ0ZWREYXRlVGltZSI6ICIyMDI0LTA4LTAxVDEyOjMzOjExLjM5OVoiLCAidGltZSI6IDY1LjU0LCAicmVxdWVzdCI6IHsibWV0aG9kIjogIkdFVCIsICJ1cmwiOiAiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kvcHJvZHVjdGxvZ29zL2dvb2dsZWcvdjYvMjRweC5zdmciLCAiaHR0cFZlcnNpb24iOiAiSFRUUC8yLjAiLCAiY29va2llcyI6IFtdLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiOmF1dGhvcml0eSIsICJ2YWx1ZSI6ICJmb250cy5nc3RhdGljLmNvbSJ9LCB7Im5hbWUiOiAiOm1ldGhvZCIsICJ2YWx1ZSI6ICJHRVQifSwgeyJuYW1lIjogIjpwYXRoIiwgInZhbHVlIjogIi9zL2kvcHJvZHVjdGxvZ29zL2dvb2dsZWcvdjYvMjRweC5zdmcifSwgeyJuYW1lIjogIjpzY2hlbWUiLCAidmFsdWUiOiAiaHR0cHMifSwgeyJuYW1lIjogImFjY2VwdCIsICJ2YWx1ZSI6ICJpbWFnZS9hdmlmLGltYWdlL3dlYnAsaW1hZ2UvYXBuZyxpbWFnZS9zdmcreG1sLGltYWdlLyosKi8qO3E9MC44In0sIHsibmFtZSI6ICJhY2NlcHQtZW5jb2RpbmciLCAidmFsdWUiOiAiZ3ppcCwgZGVmbGF0ZSwgYnIsIHpzdGQifSwgeyJuYW1lIjogImFjY2VwdC1sYW5ndWFnZSIsICJ2YWx1ZSI6ICJlbi1VUyxlbjtxPTAuOSJ9LCB7Im5hbWUiOiAicHJpb3JpdHkiLCAidmFsdWUiOiAidT0yLCBpIn0sIHsibmFtZSI6ICJyZWZlcmVyIiwgInZhbHVlIjogImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEiLCAidmFsdWUiOiAiXCJDaHJvbWl1bVwiO3Y9XCIxMjdcIiwgXCJOb3QpQTtCcmFuZFwiO3Y9XCI5OVwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtbW9iaWxlIiwgInZhbHVlIjogIj8wIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtcGxhdGZvcm0iLCAidmFsdWUiOiAiXCJXaW5kb3dzXCIifSwgeyJuYW1lIjogInNlYy1mZXRjaC1kZXN0IiwgInZhbHVlIjogImltYWdlIn0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtbW9kZSIsICJ2YWx1ZSI6ICJuby1jb3JzIn0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtc2l0ZSIsICJ2YWx1ZSI6ICJjcm9zcy1zaXRlIn0sIHsibmFtZSI6ICJ1c2VyLWFnZW50IiwgInZhbHVlIjogIk1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IFdpbjY0OyB4NjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS8xMjcuMC42NTMzLjE3IFNhZmFyaS81MzcuMzYifV0sICJxdWVyeVN0cmluZyI6IFtdLCAiaGVhZGVyc1NpemUiOiA2NzEsICJib2R5U2l6ZSI6IDB9LCAicmVzcG9uc2UiOiB7InN0YXR1cyI6IDIwMCwgInN0YXR1c1RleHQiOiAiIiwgImh0dHBWZXJzaW9uIjogIkhUVFAvMi4wIiwgImNvb2tpZXMiOiBbXSwgImhlYWRlcnMiOiBbeyJuYW1lIjogImFjY2VwdC1yYW5nZXMiLCAidmFsdWUiOiAiYnl0ZXMifSwgeyJuYW1lIjogImFjY2Vzcy1jb250cm9sLWFsbG93LW9yaWdpbiIsICJ2YWx1ZSI6ICIqIn0sIHsibmFtZSI6ICJhZ2UiLCAidmFsdWUiOiAiMjMyNzU5In0sIHsibmFtZSI6ICJhbHQtc3ZjIiwgInZhbHVlIjogImgzPVwiOjQ0M1wiOyBtYT0yNTkyMDAwLGgzLTI5PVwiOjQ0M1wiOyBtYT0yNTkyMDAwIn0sIHsibmFtZSI6ICJjYWNoZS1jb250cm9sIiwgInZhbHVlIjogInB1YmxpYywgbWF4LWFnZT0zMTUzNjAwMCJ9LCB7Im5hbWUiOiAiY29udGVudC1lbmNvZGluZyIsICJ2YWx1ZSI6ICJnemlwIn0sIHsibmFtZSI6ICJjb250ZW50LWxlbmd0aCIsICJ2YWx1ZSI6ICI0MzgifSwgeyJuYW1lIjogImNvbnRlbnQtc2VjdXJpdHktcG9saWN5LXJlcG9ydC1vbmx5IiwgInZhbHVlIjogInJlcXVpcmUtdHJ1c3RlZC10eXBlcy1mb3IgJ3NjcmlwdCc7IHJlcG9ydC11cmkgaHR0cHM6Ly9jc3Aud2l0aGdvb2dsZS5jb20vY3NwL2FwcHMtdGhlbWVzIn0sIHsibmFtZSI6ICJjb250ZW50LXR5cGUiLCAidmFsdWUiOiAiaW1hZ2Uvc3ZnK3htbCJ9LCB7Im5hbWUiOiAiY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kiLCAidmFsdWUiOiAic2FtZS1vcmlnaW47IHJlcG9ydC10bz1cImFwcHMtdGhlbWVzXCIifSwgeyJuYW1lIjogImNyb3NzLW9yaWdpbi1yZXNvdXJjZS1wb2xpY3kiLCAidmFsdWUiOiAiY3Jvc3Mtb3JpZ2luIn0sIHsibmFtZSI6ICJkYXRlIiwgInZhbHVlIjogIk1vbiwgMjkgSnVsIDIwMjQgMTk6NTM6NTIgR01UIn0sIHsibmFtZSI6ICJleHBpcmVzIiwgInZhbHVlIjogIlR1ZSwgMjkgSnVsIDIwMjUgMTk6NTM6NTIgR01UIn0sIHsibmFtZSI6ICJsYXN0LW1vZGlmaWVkIiwgInZhbHVlIjogIldlZCwgMjAgQXByIDIwMjIgMTc6MTc6MzAgR01UIn0sIHsibmFtZSI6ICJyZXBvcnQtdG8iLCAidmFsdWUiOiAie1wiZ3JvdXBcIjpcImFwcHMtdGhlbWVzXCIsXCJtYXhfYWdlXCI6MjU5MjAwMCxcImVuZHBvaW50c1wiOlt7XCJ1cmxcIjpcImh0dHBzOi8vY3NwLndpdGhnb29nbGUuY29tL2NzcC9yZXBvcnQtdG8vYXBwcy10aGVtZXNcIn1dfSJ9LCB7Im5hbWUiOiAic2VydmVyIiwgInZhbHVlIjogInNmZmUifSwgeyJuYW1lIjogInZhcnkiLCAidmFsdWUiOiAiQWNjZXB0LUVuY29kaW5nIn0sIHsibmFtZSI6ICJ4LWNvbnRlbnQtdHlwZS1vcHRpb25zIiwgInZhbHVlIjogIm5vc25pZmYifSwgeyJuYW1lIjogIngteHNzLXByb3RlY3Rpb24iLCAidmFsdWUiOiAiMCJ9XSwgImNvbnRlbnQiOiB7InNpemUiOiA3NDIsICJtaW1lVHlwZSI6ICJpbWFnZS9zdmcreG1sIiwgImNvbXByZXNzaW9uIjogMCwgInRleHQiOiAiPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgd2lkdGg9XCIyNFwiPjxwYXRoIGQ9XCJNMjIuNTYgMTIuMjVjMC0uNzgtLjA3LTEuNTMtLjItMi4yNUgxMnY0LjI2aDUuOTJjLS4yNiAxLjM3LTEuMDQgMi41My0yLjIxIDMuMzF2Mi43N2gzLjU3YzIuMDgtMS45MiAzLjI4LTQuNzQgMy4yOC04LjA5elwiIGZpbGw9XCIjNDI4NUY0XCIvPjxwYXRoIGQ9XCJNMTIgMjNjMi45NyAwIDUuNDYtLjk4IDcuMjgtMi42NmwtMy41Ny0yLjc3Yy0uOTguNjYtMi4yMyAxLjA2LTMuNzEgMS4wNi0yLjg2IDAtNS4yOS0xLjkzLTYuMTYtNC41M0gyLjE4djIuODRDMy45OSAyMC41MyA3LjcgMjMgMTIgMjN6XCIgZmlsbD1cIiMzNEE4NTNcIi8+PHBhdGggZD1cIk01Ljg0IDE0LjA5Yy0uMjItLjY2LS4zNS0xLjM2LS4zNS0yLjA5cy4xMy0xLjQzLjM1LTIuMDlWNy4wN0gyLjE4QzEuNDMgOC41NSAxIDEwLjIyIDEgMTJzLjQzIDMuNDUgMS4xOCA0LjkzbDIuODUtMi4yMi44MS0uNjJ6XCIgZmlsbD1cIiNGQkJDMDVcIi8+PHBhdGggZD1cIk0xMiA1LjM4YzEuNjIgMCAzLjA2LjU2IDQuMjEgMS42NGwzLjE1LTMuMTVDMTcuNDUgMi4wOSAxNC45NyAxIDEyIDEgNy43IDEgMy45OSAzLjQ3IDIuMTggNy4wN2wzLjY2IDIuODRjLjg3LTIuNiAzLjMtNC41MyA2LjE2LTQuNTN6XCIgZmlsbD1cIiNFQTQzMzVcIi8+PHBhdGggZD1cIk0xIDFoMjJ2MjJIMXpcIiBmaWxsPVwibm9uZVwiLz48L3N2Zz4ifSwgImhlYWRlcnNTaXplIjogMCwgImJvZHlTaXplIjogOTczLCAicmVkaXJlY3RVUkwiOiAiIiwgIl90cmFuc2ZlclNpemUiOiA5NzN9LCAiY2FjaGUiOiB7fSwgInRpbWluZ3MiOiB7ImRucyI6IDAuMDM5LCAiY29ubmVjdCI6IDI5LjY5NywgInNzbCI6IDI0Ljc2NCwgInNlbmQiOiAwLCAid2FpdCI6IDYuODQzLCAicmVjZWl2ZSI6IDQuMTk3fSwgInBhZ2VyZWYiOiAicGFnZUAyZTdhY2U5NTVhNjc3M2VjZmQyZTk4ZWYyZmRjYjcwNCIsICJzZXJ2ZXJJUEFkZHJlc3MiOiAiWzJhMDA6MTQ1MDo0MDAxOjgyZjo6MjAwM10iLCAiX3NlcnZlclBvcnQiOiA0NDMsICJfc2VjdXJpdHlEZXRhaWxzIjogeyJwcm90b2NvbCI6ICJUTFMgMS4zIiwgInN1YmplY3ROYW1lIjogIiouZ3N0YXRpYy5jb20iLCAiaXNzdWVyIjogIldSMiIsICJ2YWxpZEZyb20iOiAxNzIyMzQzNzcwLCAidmFsaWRUbyI6IDE3Mjk2MDEzNjl9fSwgeyJzdGFydGVkRGF0ZVRpbWUiOiAiMjAyNC0wOC0wMVQxMjozMzoxMS41MjBaIiwgInRpbWUiOiAyOC40NjcsICJyZXF1ZXN0IjogeyJtZXRob2QiOiAiR0VUIiwgInVybCI6ICJodHRwczovL3d3dy5nb29nbGUuY29tL2ltYWdlcy9zZWFyY2hib3gvZGVza3RvcF9zZWFyY2hib3hfc3ByaXRlczMxOF9oci53ZWJwIiwgImh0dHBWZXJzaW9uIjogImgzIiwgImNvb2tpZXMiOiBbeyJuYW1lIjogIkFFQyIsICJ2YWx1ZSI6ICJBVllCN2NyYXY5NFlNLWZmSjZTamk0UTd6TG1XaS1CYTRHb2JKXzlyT1FnOWpIeW91MG82dUVwV1hyOCJ9LCB7Im5hbWUiOiAiX19TZWN1cmUtRU5JRCIsICJ2YWx1ZSI6ICIyMS5TRT1aTk1oSWNfMjd4NG1vcGZZZ3ducmRMX05TMlJlNkxOejU5LTJyX1JrTzExUEhubHdvb3VvWkNDVjlESWk0enRRU0JUNGE2bmhPMExxanJhQnh4RDlyWUtTTWxlWWpIbGZmYVRETi01MmRpYzZ3djNpWFIzX2dzbnVkRXFDY0RVNHZ4Y1U5bUFBQ2xZVlBJNVlpSzNORk0xeURzSEJQcDhERTVqNVdNOEd3TFd0TnBOUG40ajY5U25SR0k0X1NmRmNnYlB5czBfbzYxLVZ5aUVWX3VwRmhGbW5nVF9xRDA3YSJ9XSwgImhlYWRlcnMiOiBbeyJuYW1lIjogIjphdXRob3JpdHkiLCAidmFsdWUiOiAid3d3Lmdvb2dsZS5jb20ifSwgeyJuYW1lIjogIjptZXRob2QiLCAidmFsdWUiOiAiR0VUIn0sIHsibmFtZSI6ICI6cGF0aCIsICJ2YWx1ZSI6ICIvaW1hZ2VzL3NlYXJjaGJveC9kZXNrdG9wX3NlYXJjaGJveF9zcHJpdGVzMzE4X2hyLndlYnAifSwgeyJuYW1lIjogIjpzY2hlbWUiLCAidmFsdWUiOiAiaHR0cHMifSwgeyJuYW1lIjogImFjY2VwdCIsICJ2YWx1ZSI6ICJpbWFnZS9hdmlmLGltYWdlL3dlYnAsaW1hZ2UvYXBuZyxpbWFnZS9zdmcreG1sLGltYWdlLyosKi8qO3E9MC44In0sIHsibmFtZSI6ICJhY2NlcHQtZW5jb2RpbmciLCAidmFsdWUiOiAiZ3ppcCwgZGVmbGF0ZSwgYnIsIHpzdGQifSwgeyJuYW1lIjogImFjY2VwdC1sYW5ndWFnZSIsICJ2YWx1ZSI6ICJlbi1VUyxlbjtxPTAuOSJ9LCB7Im5hbWUiOiAiY29va2llIiwgInZhbHVlIjogIkFFQz1BVllCN2NyYXY5NFlNLWZmSjZTamk0UTd6TG1XaS1CYTRHb2JKXzlyT1FnOWpIeW91MG82dUVwV1hyODsgX19TZWN1cmUtRU5JRD0yMS5TRT1aTk1oSWNfMjd4NG1vcGZZZ3ducmRMX05TMlJlNkxOejU5LTJyX1JrTzExUEhubHdvb3VvWkNDVjlESWk0enRRU0JUNGE2bmhPMExxanJhQnh4RDlyWUtTTWxlWWpIbGZmYVRETi01MmRpYzZ3djNpWFIzX2dzbnVkRXFDY0RVNHZ4Y1U5bUFBQ2xZVlBJNVlpSzNORk0xeURzSEJQcDhERTVqNVdNOEd3TFd0TnBOUG40ajY5U25SR0k0X1NmRmNnYlB5czBfbzYxLVZ5aUVWX3VwRmhGbW5nVF9xRDA3YSJ9LCB7Im5hbWUiOiAicHJpb3JpdHkiLCAidmFsdWUiOiAiaSJ9LCB7Im5hbWUiOiAicmVmZXJlciIsICJ2YWx1ZSI6ICJodHRwczovL3d3dy5nb29nbGUuY29tLyJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhIiwgInZhbHVlIjogIlwiQ2hyb21pdW1cIjt2PVwiMTI3XCIsIFwiTm90KUE7QnJhbmRcIjt2PVwiOTlcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLWFyY2giLCAidmFsdWUiOiAiXCJ4NjRcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLWJpdG5lc3MiLCAidmFsdWUiOiAiXCI2NFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtZnVsbC12ZXJzaW9uIiwgInZhbHVlIjogIlwiMTI3LjAuNjUzMy4xN1wiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtZnVsbC12ZXJzaW9uLWxpc3QiLCAidmFsdWUiOiAiXCJDaHJvbWl1bVwiO3Y9XCIxMjcuMC42NTMzLjE3XCIsIFwiTm90KUE7QnJhbmRcIjt2PVwiOTkuMC4wLjBcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLW1vYmlsZSIsICJ2YWx1ZSI6ICI/MCJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLW1vZGVsIiwgInZhbHVlIjogIlwiXCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1wbGF0Zm9ybSIsICJ2YWx1ZSI6ICJcIldpbmRvd3NcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXBsYXRmb3JtLXZlcnNpb24iLCAidmFsdWUiOiAiXCIxMC4wXCIifSwgeyJuYW1lIjogInNlYy1jaC11YS13b3c2NCIsICJ2YWx1ZSI6ICI/MCJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLWRlc3QiLCAidmFsdWUiOiAiaW1hZ2UifSwgeyJuYW1lIjogInNlYy1mZXRjaC1tb2RlIiwgInZhbHVlIjogIm5vLWNvcnMifSwgeyJuYW1lIjogInNlYy1mZXRjaC1zaXRlIiwgInZhbHVlIjogInNhbWUtb3JpZ2luIn0sIHsibmFtZSI6ICJ1c2VyLWFnZW50IiwgInZhbHVlIjogIk1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IFdpbjY0OyB4NjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS8xMjcuMC42NTMzLjE3IFNhZmFyaS81MzcuMzYifV0sICJxdWVyeVN0cmluZyI6IFtdLCAiaGVhZGVyc1NpemUiOiAxMjcxLCAiYm9keVNpemUiOiAwfSwgInJlc3BvbnNlIjogeyJzdGF0dXMiOiAyMDAsICJzdGF0dXNUZXh0IjogIiIsICJodHRwVmVyc2lvbiI6ICJoMyIsICJjb29raWVzIjogW10sICJoZWFkZXJzIjogW3sibmFtZSI6ICJhY2NlcHQtcmFuZ2VzIiwgInZhbHVlIjogImJ5dGVzIn0sIHsibmFtZSI6ICJhbHQtc3ZjIiwgInZhbHVlIjogImgzPVwiOjQ0M1wiOyBtYT0yNTkyMDAwLGgzLTI5PVwiOjQ0M1wiOyBtYT0yNTkyMDAwIn0sIHsibmFtZSI6ICJjYWNoZS1jb250cm9sIiwgInZhbHVlIjogInByaXZhdGUsIG1heC1hZ2U9MzE1MzYwMDAifSwgeyJuYW1lIjogImNvbnRlbnQtbGVuZ3RoIiwgInZhbHVlIjogIjY2MCJ9LCB7Im5hbWUiOiAiY29udGVudC10eXBlIiwgInZhbHVlIjogImltYWdlL3dlYnAifSwgeyJuYW1lIjogImNyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5LXJlcG9ydC1vbmx5IiwgInZhbHVlIjogInNhbWUtb3JpZ2luOyByZXBvcnQtdG89XCJzdGF0aWMtb24tYmlndGFibGVcIiJ9LCB7Im5hbWUiOiAiY3Jvc3Mtb3JpZ2luLXJlc291cmNlLXBvbGljeSIsICJ2YWx1ZSI6ICJjcm9zcy1vcmlnaW4ifSwgeyJuYW1lIjogImRhdGUiLCAidmFsdWUiOiAiVGh1LCAwMSBBdWcgMjAyNCAxMjozMzoxMSBHTVQifSwgeyJuYW1lIjogImV4cGlyZXMiLCAidmFsdWUiOiAiVGh1LCAwMSBBdWcgMjAyNCAxMjozMzoxMSBHTVQifSwgeyJuYW1lIjogImxhc3QtbW9kaWZpZWQiLCAidmFsdWUiOiAiV2VkLCAyMiBBcHIgMjAyMCAyMjowMDowMCBHTVQifSwgeyJuYW1lIjogInJlcG9ydC10byIsICJ2YWx1ZSI6ICJ7XCJncm91cFwiOlwic3RhdGljLW9uLWJpZ3RhYmxlXCIsXCJtYXhfYWdlXCI6MjU5MjAwMCxcImVuZHBvaW50c1wiOlt7XCJ1cmxcIjpcImh0dHBzOi8vY3NwLndpdGhnb29nbGUuY29tL2NzcC9yZXBvcnQtdG8vc3RhdGljLW9uLWJpZ3RhYmxlXCJ9XX0ifSwgeyJuYW1lIjogInNlcnZlciIsICJ2YWx1ZSI6ICJzZmZlIn0sIHsibmFtZSI6ICJ4LWNvbnRlbnQtdHlwZS1vcHRpb25zIiwgInZhbHVlIjogIm5vc25pZmYifSwgeyJuYW1lIjogIngteHNzLXByb3RlY3Rpb24iLCAidmFsdWUiOiAiMCJ9XSwgImNvbnRlbnQiOiB7InNpemUiOiA2NjAsICJtaW1lVHlwZSI6ICJpbWFnZS93ZWJwIiwgImNvbXByZXNzaW9uIjogMCwgInRleHQiOiAiVWtsR1Jvd0NBQUJYUlVKUVZsQTRUSUFDQUFBdko4QWVFTlZJZHJZOWJwWDd2d3E3QjdoUjZ0aWZtV0hsNkNoU2RneHZxOXBWbUJ6Ry91cUttV3dZdG0wYnB2OGYzTnIwQmpCczJ6WnNydTFtMmd5eDdRbWtrRUUvUWdoRG1FRVpsTUV5YUFhZFFXY3doQkFPNFVjNEIyNGpLVks2YXZGNG9PYStVSjVHNWM1Sk84eFBlS0hueDgvMUhEY3Q5OGpQWWxpZUwrdkFYY1dJbHE4enk3Z2NWSUNyaytHaU5iZTZBWGp1ck5yMlJ5NURDYW9aNExjbDRuVURqaG41RkhVdmwxKzBQZkN5bEppOEVEd2hjUVpjaHZnSE9RTDMzckxDRlZ6M3Bob0hjRG9VdkZENE5COWhVd0JPS1p3K3NENFlyaUlHMjRNNW1lQldhQ0NucXRDQW5tNXZxY2ZNRld5Sk1iSy9Jelp3WEdPRjZqSVVyVDRIM1QwNHVLd0EzK1hSOFFlQTY4dVhSbEMzWHZhaXlvMFRLeS84Zmd1bXF2VHI4R2h6R2NwRWprcHQyK0d3dFRubytxRnk2d21yOHFCMEtnOUlndVYrVkY1ODFOTGIyT2RzTGg5c0VKbnJrdlg0bFdobEhQUjladGJEdWJYelpJQ05JcnVsQXRaTGlZYm1KakdTaklLakdKcUxCY21hbEllemtNQVJ1KytYdzNCcy8xQm0vU1Uya2JUWWh6SlloUDFKb1F2cFpWaFJLQlZMNS9LcU1TVmp2Y04zalhQeWhaMWY0YVRSa3ZOZlMyQkxsREY5RXA5RTEwVTlxWW1XUEJ1RGVYUk54N0R4UHY1eEo3QmwwRXdKZmlTL21KdGluSUk3YTRwTkNJQWU5cGQwWEUvU0VtMkhTZWxmdlJCR3dhYWtmeWVwMStyYXBMVEV5clFiZWhaZERMQjFQMzRQd1ZEdWVrcE5pZmtnYTVLcDAzQitPZGI4Uk91WDF1ZnlJcjlhYkNRL1p0VFdtaXNma0w5YzhGQm4xL1lsN2ZjYU93eGJVajVPRWlQY1Y4SmxqK0pBY1FjSUhpam1FTUh2WFNaL0FnMGRsdUpMbVFPNXY1cnR5RCt2ZkFkNkVCNG8zeEhsT2ladEFWYk9RK2NueHAvQUQwUmU0MUtldTZvQSIsICJlbmNvZGluZyI6ICJiYXNlNjQifSwgImhlYWRlcnNTaXplIjogMCwgImJvZHlTaXplIjogNjgyLCAicmVkaXJlY3RVUkwiOiAiIiwgIl90cmFuc2ZlclNpemUiOiA2ODJ9LCAiY2FjaGUiOiB7fSwgInRpbWluZ3MiOiB7ImRucyI6IC0xLCAiY29ubmVjdCI6IC0xLCAic3NsIjogLTEsICJzZW5kIjogMCwgIndhaXQiOiAyNC42NCwgInJlY2VpdmUiOiAzLjgyN30sICJwYWdlcmVmIjogInBhZ2VAMmU3YWNlOTU1YTY3NzNlY2ZkMmU5OGVmMmZkY2I3MDQiLCAic2VydmVySVBBZGRyZXNzIjogIlsyYTAwOjE0NTA6NDAwMTo4MDg6OjIwMDRdIiwgIl9zZXJ2ZXJQb3J0IjogNDQzLCAiX3NlY3VyaXR5RGV0YWlscyI6IHsicHJvdG9jb2wiOiAiUVVJQyIsICJzdWJqZWN0TmFtZSI6ICIqLmdvb2dsZS5jb20iLCAiaXNzdWVyIjogIldSMiIsICJ2YWxpZEZyb20iOiAxNzIyMzQyNzczLCAidmFsaWRUbyI6IDE3Mjk2MDAzNzJ9fSwgeyJzdGFydGVkRGF0ZVRpbWUiOiAiMjAyNC0wOC0wMVQxMjozMzoxMS41NzZaIiwgInRpbWUiOiAzNy42NzMsICJyZXF1ZXN0IjogeyJtZXRob2QiOiAiUE9TVCIsICJ1cmwiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9nZW5fMjA0P2VpPWg0Q3JadnlMQzVPZmktZ1Bfb3FKLVF3JnZldD0xMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRaEpBSENDQS4ucyZibD1OUXpiJnM9d2ViaHAmZ2w9bHUmcGM9U0VBUkNIX0hPTUVQQUdFJmlzTW9iaWxlPWZhbHNlIiwgImh0dHBWZXJzaW9uIjogImgzIiwgImNvb2tpZXMiOiBbeyJuYW1lIjogIkFFQyIsICJ2YWx1ZSI6ICJBVllCN2NyYXY5NFlNLWZmSjZTamk0UTd6TG1XaS1CYTRHb2JKXzlyT1FnOWpIeW91MG82dUVwV1hyOCJ9LCB7Im5hbWUiOiAiX19TZWN1cmUtRU5JRCIsICJ2YWx1ZSI6ICIyMS5TRT1aTk1oSWNfMjd4NG1vcGZZZ3ducmRMX05TMlJlNkxOejU5LTJyX1JrTzExUEhubHdvb3VvWkNDVjlESWk0enRRU0JUNGE2bmhPMExxanJhQnh4RDlyWUtTTWxlWWpIbGZmYVRETi01MmRpYzZ3djNpWFIzX2dzbnVkRXFDY0RVNHZ4Y1U5bUFBQ2xZVlBJNVlpSzNORk0xeURzSEJQcDhERTVqNVdNOEd3TFd0TnBOUG40ajY5U25SR0k0X1NmRmNnYlB5czBfbzYxLVZ5aUVWX3VwRmhGbW5nVF9xRDA3YSJ9XSwgImhlYWRlcnMiOiBbeyJuYW1lIjogIjphdXRob3JpdHkiLCAidmFsdWUiOiAid3d3Lmdvb2dsZS5jb20ifSwgeyJuYW1lIjogIjptZXRob2QiLCAidmFsdWUiOiAiUE9TVCJ9LCB7Im5hbWUiOiAiOnBhdGgiLCAidmFsdWUiOiAiL2dlbl8yMDQ/ZWk9aDRDclp2eUxDNU9maS1nUF9vcUotUXcmdmV0PTEwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFoSkFIQ0NBLi5zJmJsPU5RemImcz13ZWJocCZnbD1sdSZwYz1TRUFSQ0hfSE9NRVBBR0UmaXNNb2JpbGU9ZmFsc2UifSwgeyJuYW1lIjogIjpzY2hlbWUiLCAidmFsdWUiOiAiaHR0cHMifSwgeyJuYW1lIjogImFjY2VwdCIsICJ2YWx1ZSI6ICIqLyoifSwgeyJuYW1lIjogImFjY2VwdC1lbmNvZGluZyIsICJ2YWx1ZSI6ICJnemlwLCBkZWZsYXRlLCBiciwgenN0ZCJ9LCB7Im5hbWUiOiAiYWNjZXB0LWxhbmd1YWdlIiwgInZhbHVlIjogImVuLVVTLGVuO3E9MC45In0sIHsibmFtZSI6ICJjb250ZW50LWxlbmd0aCIsICJ2YWx1ZSI6ICIwIn0sIHsibmFtZSI6ICJjb250ZW50LXR5cGUiLCAidmFsdWUiOiAidGV4dC9wbGFpbjtjaGFyc2V0PVVURi04In0sIHsibmFtZSI6ICJjb29raWUiLCAidmFsdWUiOiAiQUVDPUFWWUI3Y3Jhdjk0WU0tZmZKNlNqaTRRN3pMbVdpLUJhNEdvYkpfOXJPUWc5akh5b3UwbzZ1RXBXWHI4OyBfX1NlY3VyZS1FTklEPTIxLlNFPVpOTWhJY18yN3g0bW9wZllnd25yZExfTlMyUmU2TE56NTktMnJfUmtPMTFQSG5sd29vdW9aQ0NWOURJaTR6dFFTQlQ0YTZuaE8wTHFqcmFCeHhEOXJZS1NNbGVZakhsZmZhVEROLTUyZGljNnd2M2lYUjNfZ3NudWRFcUNjRFU0dnhjVTltQUFDbFlWUEk1WWlLM05GTTF5RHNIQlBwOERFNWo1V004R3dMV3ROcE5QbjRqNjlTblJHSTRfU2ZGY2diUHlzMF9vNjEtVnlpRVZfdXBGaEZtbmdUX3FEMDdhIn0sIHsibmFtZSI6ICJvcmlnaW4iLCAidmFsdWUiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbSJ9LCB7Im5hbWUiOiAicHJpb3JpdHkiLCAidmFsdWUiOiAidT00LCBpIn0sIHsibmFtZSI6ICJyZWZlcmVyIiwgInZhbHVlIjogImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEiLCAidmFsdWUiOiAiXCJDaHJvbWl1bVwiO3Y9XCIxMjdcIiwgXCJOb3QpQTtCcmFuZFwiO3Y9XCI5OVwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtYXJjaCIsICJ2YWx1ZSI6ICJcIng2NFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtYml0bmVzcyIsICJ2YWx1ZSI6ICJcIjY0XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1mdWxsLXZlcnNpb24iLCAidmFsdWUiOiAiXCIxMjcuMC42NTMzLjE3XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1mdWxsLXZlcnNpb24tbGlzdCIsICJ2YWx1ZSI6ICJcIkNocm9taXVtXCI7dj1cIjEyNy4wLjY1MzMuMTdcIiwgXCJOb3QpQTtCcmFuZFwiO3Y9XCI5OS4wLjAuMFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtbW9iaWxlIiwgInZhbHVlIjogIj8wIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtbW9kZWwiLCAidmFsdWUiOiAiXCJcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXBsYXRmb3JtIiwgInZhbHVlIjogIlwiV2luZG93c1wiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtcGxhdGZvcm0tdmVyc2lvbiIsICJ2YWx1ZSI6ICJcIjEwLjBcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXdvdzY0IiwgInZhbHVlIjogIj8wIn0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtZGVzdCIsICJ2YWx1ZSI6ICJlbXB0eSJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLW1vZGUiLCAidmFsdWUiOiAibm8tY29ycyJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLXNpdGUiLCAidmFsdWUiOiAic2FtZS1vcmlnaW4ifSwgeyJuYW1lIjogInVzZXItYWdlbnQiLCAidmFsdWUiOiAiTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEyNy4wLjY1MzMuMTcgU2FmYXJpLzUzNy4zNiJ9XSwgInF1ZXJ5U3RyaW5nIjogW3sibmFtZSI6ICJlaSIsICJ2YWx1ZSI6ICJoNENyWnZ5TEM1T2ZpLWdQX29xSi1RdyJ9LCB7Im5hbWUiOiAidmV0IiwgInZhbHVlIjogIjEwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFoSkFIQ0NBLi5zIn0sIHsibmFtZSI6ICJibCIsICJ2YWx1ZSI6ICJOUXpiIn0sIHsibmFtZSI6ICJzIiwgInZhbHVlIjogIndlYmhwIn0sIHsibmFtZSI6ICJnbCIsICJ2YWx1ZSI6ICJsdSJ9LCB7Im5hbWUiOiAicGMiLCAidmFsdWUiOiAiU0VBUkNIX0hPTUVQQUdFIn0sIHsibmFtZSI6ICJpc01vYmlsZSIsICJ2YWx1ZSI6ICJmYWxzZSJ9XSwgImhlYWRlcnNTaXplIjogMTM0OCwgImJvZHlTaXplIjogMH0sICJyZXNwb25zZSI6IHsic3RhdHVzIjogMjA0LCAic3RhdHVzVGV4dCI6ICIiLCAiaHR0cFZlcnNpb24iOiAiaDMiLCAiY29va2llcyI6IFtdLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiYWx0LXN2YyIsICJ2YWx1ZSI6ICJoMz1cIjo0NDNcIjsgbWE9MjU5MjAwMCxoMy0yOT1cIjo0NDNcIjsgbWE9MjU5MjAwMCJ9LCB7Im5hbWUiOiAiY29udGVudC1sZW5ndGgiLCAidmFsdWUiOiAiMCJ9LCB7Im5hbWUiOiAiY29udGVudC1zZWN1cml0eS1wb2xpY3kiLCAidmFsdWUiOiAib2JqZWN0LXNyYyAnbm9uZSc7YmFzZS11cmkgJ3NlbGYnO3NjcmlwdC1zcmMgJ25vbmNlLURkMDVIZnQzbWdwU2NSRmVhcUR0WlEnICdzdHJpY3QtZHluYW1pYycgJ3JlcG9ydC1zYW1wbGUnICd1bnNhZmUtZXZhbCcgJ3Vuc2FmZS1pbmxpbmUnIGh0dHBzOiBodHRwOjtyZXBvcnQtdXJpIGh0dHBzOi8vY3NwLndpdGhnb29nbGUuY29tL2NzcC9nd3Mvb3RoZXIifSwgeyJuYW1lIjogImNvbnRlbnQtdHlwZSIsICJ2YWx1ZSI6ICJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgifSwgeyJuYW1lIjogImNyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5IiwgInZhbHVlIjogInNhbWUtb3JpZ2luLWFsbG93LXBvcHVwczsgcmVwb3J0LXRvPVwiZ3dzXCIifSwgeyJuYW1lIjogImRhdGUiLCAidmFsdWUiOiAiVGh1LCAwMSBBdWcgMjAyNCAxMjozMzoxMSBHTVQifSwgeyJuYW1lIjogInBlcm1pc3Npb25zLXBvbGljeSIsICJ2YWx1ZSI6ICJ1bmxvYWQ9KCkifSwgeyJuYW1lIjogInJlcG9ydC10byIsICJ2YWx1ZSI6ICJ7XCJncm91cFwiOlwiZ3dzXCIsXCJtYXhfYWdlXCI6MjU5MjAwMCxcImVuZHBvaW50c1wiOlt7XCJ1cmxcIjpcImh0dHBzOi8vY3NwLndpdGhnb29nbGUuY29tL2NzcC9yZXBvcnQtdG8vZ3dzL290aGVyXCJ9XX0ifSwgeyJuYW1lIjogInNlcnZlciIsICJ2YWx1ZSI6ICJnd3MifSwgeyJuYW1lIjogIngtZnJhbWUtb3B0aW9ucyIsICJ2YWx1ZSI6ICJTQU1FT1JJR0lOIn0sIHsibmFtZSI6ICJ4LXhzcy1wcm90ZWN0aW9uIiwgInZhbHVlIjogIjAifV0sICJjb250ZW50IjogeyJzaXplIjogMCwgIm1pbWVUeXBlIjogInRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIsICJjb21wcmVzc2lvbiI6IDAsICJ0ZXh0IjogIiJ9LCAiaGVhZGVyc1NpemUiOiAwLCAiYm9keVNpemUiOiAxNywgInJlZGlyZWN0VVJMIjogIiIsICJfdHJhbnNmZXJTaXplIjogMTd9LCAiY2FjaGUiOiB7fSwgInRpbWluZ3MiOiB7ImRucyI6IC0xLCAiY29ubmVjdCI6IC0xLCAic3NsIjogLTEsICJzZW5kIjogMCwgIndhaXQiOiAyOC4zOTMsICJyZWNlaXZlIjogOS4yOH0sICJwYWdlcmVmIjogInBhZ2VAMmU3YWNlOTU1YTY3NzNlY2ZkMmU5OGVmMmZkY2I3MDQiLCAic2VydmVySVBBZGRyZXNzIjogIlsyYTAwOjE0NTA6NDAwMTo4MDg6OjIwMDRdIiwgIl9zZXJ2ZXJQb3J0IjogNDQzLCAiX3NlY3VyaXR5RGV0YWlscyI6IHsicHJvdG9jb2wiOiAiUVVJQyIsICJzdWJqZWN0TmFtZSI6ICIqLmdvb2dsZS5jb20iLCAiaXNzdWVyIjogIldSMiIsICJ2YWxpZEZyb20iOiAxNzIyMzQyNzczLCAidmFsaWRUbyI6IDE3Mjk2MDAzNzJ9fSwgeyJzdGFydGVkRGF0ZVRpbWUiOiAiMjAyNC0wOC0wMVQxMjozMzoxMS41NzhaIiwgInRpbWUiOiAzMi4xOTgsICJyZXF1ZXN0IjogeyJtZXRob2QiOiAiR0VUIiwgInVybCI6ICJodHRwczovL3d3dy5nb29nbGUuY29tL2dlbl8yMDQ/YXR5cD1pJmN0PWJ4anMmY2FkPSZiPTAmZWk9aDRDclp2eUxDNU9maS1nUF9vcUotUXcmeng9MTcyMjUxNTU5MTUzMSZvcGk9ODk5Nzg0NDkiLCAiaHR0cFZlcnNpb24iOiAiaDMiLCAiY29va2llcyI6IFt7Im5hbWUiOiAiQUVDIiwgInZhbHVlIjogIkFWWUI3Y3Jhdjk0WU0tZmZKNlNqaTRRN3pMbVdpLUJhNEdvYkpfOXJPUWc5akh5b3UwbzZ1RXBXWHI4In0sIHsibmFtZSI6ICJfX1NlY3VyZS1FTklEIiwgInZhbHVlIjogIjIxLlNFPVpOTWhJY18yN3g0bW9wZllnd25yZExfTlMyUmU2TE56NTktMnJfUmtPMTFQSG5sd29vdW9aQ0NWOURJaTR6dFFTQlQ0YTZuaE8wTHFqcmFCeHhEOXJZS1NNbGVZakhsZmZhVEROLTUyZGljNnd2M2lYUjNfZ3NudWRFcUNjRFU0dnhjVTltQUFDbFlWUEk1WWlLM05GTTF5RHNIQlBwOERFNWo1V004R3dMV3ROcE5QbjRqNjlTblJHSTRfU2ZGY2diUHlzMF9vNjEtVnlpRVZfdXBGaEZtbmdUX3FEMDdhIn1dLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiOmF1dGhvcml0eSIsICJ2YWx1ZSI6ICJ3d3cuZ29vZ2xlLmNvbSJ9LCB7Im5hbWUiOiAiOm1ldGhvZCIsICJ2YWx1ZSI6ICJHRVQifSwgeyJuYW1lIjogIjpwYXRoIiwgInZhbHVlIjogIi9nZW5fMjA0P2F0eXA9aSZjdD1ieGpzJmNhZD0mYj0wJmVpPWg0Q3JadnlMQzVPZmktZ1Bfb3FKLVF3Jnp4PTE3MjI1MTU1OTE1MzEmb3BpPTg5OTc4NDQ5In0sIHsibmFtZSI6ICI6c2NoZW1lIiwgInZhbHVlIjogImh0dHBzIn0sIHsibmFtZSI6ICJhY2NlcHQiLCAidmFsdWUiOiAiaW1hZ2UvYXZpZixpbWFnZS93ZWJwLGltYWdlL2FwbmcsaW1hZ2Uvc3ZnK3htbCxpbWFnZS8qLCovKjtxPTAuOCJ9LCB7Im5hbWUiOiAiYWNjZXB0LWVuY29kaW5nIiwgInZhbHVlIjogImd6aXAsIGRlZmxhdGUsIGJyLCB6c3RkIn0sIHsibmFtZSI6ICJhY2NlcHQtbGFuZ3VhZ2UiLCAidmFsdWUiOiAiZW4tVVMsZW47cT0wLjkifSwgeyJuYW1lIjogImNvb2tpZSIsICJ2YWx1ZSI6ICJBRUM9QVZZQjdjcmF2OTRZTS1mZko2U2ppNFE3ekxtV2ktQmE0R29iSl85ck9RZzlqSHlvdTBvNnVFcFdYcjg7IF9fU2VjdXJlLUVOSUQ9MjEuU0U9Wk5NaEljXzI3eDRtb3BmWWd3bnJkTF9OUzJSZTZMTno1OS0ycl9Sa08xMVBIbmx3b291b1pDQ1Y5RElpNHp0UVNCVDRhNm5oTzBMcWpyYUJ4eEQ5cllLU01sZVlqSGxmZmFURE4tNTJkaWM2d3YzaVhSM19nc251ZEVxQ2NEVTR2eGNVOW1BQUNsWVZQSTVZaUszTkZNMXlEc0hCUHA4REU1ajVXTThHd0xXdE5wTlBuNGo2OVNuUkdJNF9TZkZjZ2JQeXMwX282MS1WeWlFVl91cEZoRm1uZ1RfcUQwN2EifSwgeyJuYW1lIjogInByaW9yaXR5IiwgInZhbHVlIjogImkifSwgeyJuYW1lIjogInJlZmVyZXIiLCAidmFsdWUiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8ifSwgeyJuYW1lIjogInNlYy1jaC11YSIsICJ2YWx1ZSI6ICJcIkNocm9taXVtXCI7dj1cIjEyN1wiLCBcIk5vdClBO0JyYW5kXCI7dj1cIjk5XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1hcmNoIiwgInZhbHVlIjogIlwieDY0XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1iaXRuZXNzIiwgInZhbHVlIjogIlwiNjRcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLWZ1bGwtdmVyc2lvbiIsICJ2YWx1ZSI6ICJcIjEyNy4wLjY1MzMuMTdcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLWZ1bGwtdmVyc2lvbi1saXN0IiwgInZhbHVlIjogIlwiQ2hyb21pdW1cIjt2PVwiMTI3LjAuNjUzMy4xN1wiLCBcIk5vdClBO0JyYW5kXCI7dj1cIjk5LjAuMC4wXCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1tb2JpbGUiLCAidmFsdWUiOiAiPzAifSwgeyJuYW1lIjogInNlYy1jaC11YS1tb2RlbCIsICJ2YWx1ZSI6ICJcIlwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtcGxhdGZvcm0iLCAidmFsdWUiOiAiXCJXaW5kb3dzXCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1wbGF0Zm9ybS12ZXJzaW9uIiwgInZhbHVlIjogIlwiMTAuMFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtd293NjQiLCAidmFsdWUiOiAiPzAifSwgeyJuYW1lIjogInNlYy1mZXRjaC1kZXN0IiwgInZhbHVlIjogImltYWdlIn0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtbW9kZSIsICJ2YWx1ZSI6ICJuby1jb3JzIn0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtc2l0ZSIsICJ2YWx1ZSI6ICJzYW1lLW9yaWdpbiJ9LCB7Im5hbWUiOiAidXNlci1hZ2VudCIsICJ2YWx1ZSI6ICJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTI3LjAuNjUzMy4xNyBTYWZhcmkvNTM3LjM2In1dLCAicXVlcnlTdHJpbmciOiBbeyJuYW1lIjogImF0eXAiLCAidmFsdWUiOiAiaSJ9LCB7Im5hbWUiOiAiY3QiLCAidmFsdWUiOiAiYnhqcyJ9LCB7Im5hbWUiOiAiY2FkIiwgInZhbHVlIjogIiJ9LCB7Im5hbWUiOiAiYiIsICJ2YWx1ZSI6ICIwIn0sIHsibmFtZSI6ICJlaSIsICJ2YWx1ZSI6ICJoNENyWnZ5TEM1T2ZpLWdQX29xSi1RdyJ9LCB7Im5hbWUiOiAiengiLCAidmFsdWUiOiAiMTcyMjUxNTU5MTUzMSJ9LCB7Im5hbWUiOiAib3BpIiwgInZhbHVlIjogIjg5OTc4NDQ5In1dLCAiaGVhZGVyc1NpemUiOiAxMjYwLCAiYm9keVNpemUiOiAwfSwgInJlc3BvbnNlIjogeyJzdGF0dXMiOiAyMDQsICJzdGF0dXNUZXh0IjogIiIsICJodHRwVmVyc2lvbiI6ICJoMyIsICJjb29raWVzIjogW10sICJoZWFkZXJzIjogW3sibmFtZSI6ICJhbHQtc3ZjIiwgInZhbHVlIjogImgzPVwiOjQ0M1wiOyBtYT0yNTkyMDAwLGgzLTI5PVwiOjQ0M1wiOyBtYT0yNTkyMDAwIn0sIHsibmFtZSI6ICJjb250ZW50LWxlbmd0aCIsICJ2YWx1ZSI6ICIwIn0sIHsibmFtZSI6ICJjb250ZW50LXNlY3VyaXR5LXBvbGljeSIsICJ2YWx1ZSI6ICJvYmplY3Qtc3JjICdub25lJztiYXNlLXVyaSAnc2VsZic7c2NyaXB0LXNyYyAnbm9uY2UtRThQRWxhYzhHZFNLOGk3RlRUT3BuQScgJ3N0cmljdC1keW5hbWljJyAncmVwb3J0LXNhbXBsZScgJ3Vuc2FmZS1ldmFsJyAndW5zYWZlLWlubGluZScgaHR0cHM6IGh0dHA6O3JlcG9ydC11cmkgaHR0cHM6Ly9jc3Aud2l0aGdvb2dsZS5jb20vY3NwL2d3cy9vdGhlciJ9LCB7Im5hbWUiOiAiY29udGVudC10eXBlIiwgInZhbHVlIjogInRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCJ9LCB7Im5hbWUiOiAiY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kiLCAidmFsdWUiOiAic2FtZS1vcmlnaW4tYWxsb3ctcG9wdXBzOyByZXBvcnQtdG89XCJnd3NcIiJ9LCB7Im5hbWUiOiAiZGF0ZSIsICJ2YWx1ZSI6ICJUaHUsIDAxIEF1ZyAyMDI0IDEyOjMzOjExIEdNVCJ9LCB7Im5hbWUiOiAicGVybWlzc2lvbnMtcG9saWN5IiwgInZhbHVlIjogInVubG9hZD0oKSJ9LCB7Im5hbWUiOiAicmVwb3J0LXRvIiwgInZhbHVlIjogIntcImdyb3VwXCI6XCJnd3NcIixcIm1heF9hZ2VcIjoyNTkyMDAwLFwiZW5kcG9pbnRzXCI6W3tcInVybFwiOlwiaHR0cHM6Ly9jc3Aud2l0aGdvb2dsZS5jb20vY3NwL3JlcG9ydC10by9nd3Mvb3RoZXJcIn1dfSJ9LCB7Im5hbWUiOiAic2VydmVyIiwgInZhbHVlIjogImd3cyJ9LCB7Im5hbWUiOiAieC1mcmFtZS1vcHRpb25zIiwgInZhbHVlIjogIlNBTUVPUklHSU4ifSwgeyJuYW1lIjogIngteHNzLXByb3RlY3Rpb24iLCAidmFsdWUiOiAiMCJ9XSwgImNvbnRlbnQiOiB7InNpemUiOiAwLCAibWltZVR5cGUiOiAidGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiwgImNvbXByZXNzaW9uIjogMCwgInRleHQiOiAiIn0sICJoZWFkZXJzU2l6ZSI6IDAsICJib2R5U2l6ZSI6IDE3LCAicmVkaXJlY3RVUkwiOiAiIiwgIl90cmFuc2ZlclNpemUiOiAxN30sICJjYWNoZSI6IHt9LCAidGltaW5ncyI6IHsiZG5zIjogLTEsICJjb25uZWN0IjogLTEsICJzc2wiOiAtMSwgInNlbmQiOiAwLCAid2FpdCI6IDI5LjcyNiwgInJlY2VpdmUiOiAyLjQ3Mn0sICJwYWdlcmVmIjogInBhZ2VAMmU3YWNlOTU1YTY3NzNlY2ZkMmU5OGVmMmZkY2I3MDQiLCAic2VydmVySVBBZGRyZXNzIjogIlsyYTAwOjE0NTA6NDAwMTo4MDg6OjIwMDRdIiwgIl9zZXJ2ZXJQb3J0IjogNDQzLCAiX3NlY3VyaXR5RGV0YWlscyI6IHsicHJvdG9jb2wiOiAiUVVJQyIsICJzdWJqZWN0TmFtZSI6ICIqLmdvb2dsZS5jb20iLCAiaXNzdWVyIjogIldSMiIsICJ2YWxpZEZyb20iOiAxNzIyMzQyNzczLCAidmFsaWRUbyI6IDE3Mjk2MDAzNzJ9fSwgeyJzdGFydGVkRGF0ZVRpbWUiOiAiMjAyNC0wOC0wMVQxMjozMzoxMS42MDNaIiwgInRpbWUiOiAyMS43NTA5OTk5OTk5OTk5OTgsICJyZXF1ZXN0IjogeyJtZXRob2QiOiAiR0VUIiwgInVybCI6ICJodHRwczovL3d3dy5nc3RhdGljLmNvbS9vZy9fL2pzL2s9b2cucXRtLmVuX1VTLkZ0bFZkeG1Ea1cwLjIwMTkuTy9ydD1qL209cWFicixxX2RucCxxY3dpZCxxYXBpZCxxYWxkLHFhZHMscV9kZy9leG09cWFhdyxxYWRkLHFhaWQscWVpbixxaGF3LHFoYmEscWhicixxaGNoLHFoZ2EscWhpZCxxaGluL2Q9MS9lZD0xL3JzPUFBMllyVHYtTTVsNlBkTlFYOElsUWpUSkc4T2pvcV9MZkEiLCAiaHR0cFZlcnNpb24iOiAiSFRUUC8yLjAiLCAiY29va2llcyI6IFtdLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiOmF1dGhvcml0eSIsICJ2YWx1ZSI6ICJ3d3cuZ3N0YXRpYy5jb20ifSwgeyJuYW1lIjogIjptZXRob2QiLCAidmFsdWUiOiAiR0VUIn0sIHsibmFtZSI6ICI6cGF0aCIsICJ2YWx1ZSI6ICIvb2cvXy9qcy9rPW9nLnF0bS5lbl9VUy5GdGxWZHhtRGtXMC4yMDE5Lk8vcnQ9ai9tPXFhYnIscV9kbnAscWN3aWQscWFwaWQscWFsZCxxYWRzLHFfZGcvZXhtPXFhYXcscWFkZCxxYWlkLHFlaW4scWhhdyxxaGJhLHFoYnIscWhjaCxxaGdhLHFoaWQscWhpbi9kPTEvZWQ9MS9ycz1BQTJZclR2LU01bDZQZE5RWDhJbFFqVEpHOE9qb3FfTGZBIn0sIHsibmFtZSI6ICI6c2NoZW1lIiwgInZhbHVlIjogImh0dHBzIn0sIHsibmFtZSI6ICJhY2NlcHQiLCAidmFsdWUiOiAiKi8qIn0sIHsibmFtZSI6ICJhY2NlcHQtZW5jb2RpbmciLCAidmFsdWUiOiAiZ3ppcCwgZGVmbGF0ZSwgYnIsIHpzdGQifSwgeyJuYW1lIjogImFjY2VwdC1sYW5ndWFnZSIsICJ2YWx1ZSI6ICJlbi1VUyxlbjtxPTAuOSJ9LCB7Im5hbWUiOiAicmVmZXJlciIsICJ2YWx1ZSI6ICJodHRwczovL3d3dy5nb29nbGUuY29tLyJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhIiwgInZhbHVlIjogIlwiQ2hyb21pdW1cIjt2PVwiMTI3XCIsIFwiTm90KUE7QnJhbmRcIjt2PVwiOTlcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLW1vYmlsZSIsICJ2YWx1ZSI6ICI/MCJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXBsYXRmb3JtIiwgInZhbHVlIjogIlwiV2luZG93c1wiIn0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtZGVzdCIsICJ2YWx1ZSI6ICJzY3JpcHQifSwgeyJuYW1lIjogInNlYy1mZXRjaC1tb2RlIiwgInZhbHVlIjogIm5vLWNvcnMifSwgeyJuYW1lIjogInNlYy1mZXRjaC1zaXRlIiwgInZhbHVlIjogImNyb3NzLXNpdGUifSwgeyJuYW1lIjogInVzZXItYWdlbnQiLCAidmFsdWUiOiAiTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEyNy4wLjY1MzMuMTcgU2FmYXJpLzUzNy4zNiJ9XSwgInF1ZXJ5U3RyaW5nIjogW10sICJoZWFkZXJzU2l6ZSI6IDkwMywgImJvZHlTaXplIjogMH0sICJyZXNwb25zZSI6IHsic3RhdHVzIjogMjAwLCAic3RhdHVzVGV4dCI6ICIiLCAiaHR0cFZlcnNpb24iOiAiSFRUUC8yLjAiLCAiY29va2llcyI6IFtdLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiYWNjZXB0LXJhbmdlcyIsICJ2YWx1ZSI6ICJieXRlcyJ9LCB7Im5hbWUiOiAiYWdlIiwgInZhbHVlIjogIjMyNjUxIn0sIHsibmFtZSI6ICJhbHQtc3ZjIiwgInZhbHVlIjogImgzPVwiOjQ0M1wiOyBtYT0yNTkyMDAwLGgzLTI5PVwiOjQ0M1wiOyBtYT0yNTkyMDAwIn0sIHsibmFtZSI6ICJjYWNoZS1jb250cm9sIiwgInZhbHVlIjogInB1YmxpYywgbWF4LWFnZT0zMTUzNjAwMCJ9LCB7Im5hbWUiOiAiY29udGVudC1lbmNvZGluZyIsICJ2YWx1ZSI6ICJnemlwIn0sIHsibmFtZSI6ICJjb250ZW50LWxlbmd0aCIsICJ2YWx1ZSI6ICI3ODk5OSJ9LCB7Im5hbWUiOiAiY29udGVudC1zZWN1cml0eS1wb2xpY3ktcmVwb3J0LW9ubHkiLCAidmFsdWUiOiAicmVxdWlyZS10cnVzdGVkLXR5cGVzLWZvciAnc2NyaXB0JzsgcmVwb3J0LXVyaSBodHRwczovL2NzcC53aXRoZ29vZ2xlLmNvbS9jc3Avb25lLWdvb2dsZS1lbmcifSwgeyJuYW1lIjogImNvbnRlbnQtdHlwZSIsICJ2YWx1ZSI6ICJ0ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9VVRGLTgifSwgeyJuYW1lIjogImNyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5IiwgInZhbHVlIjogInNhbWUtb3JpZ2luOyByZXBvcnQtdG89XCJvbmUtZ29vZ2xlLWVuZ1wiIn0sIHsibmFtZSI6ICJjcm9zcy1vcmlnaW4tcmVzb3VyY2UtcG9saWN5IiwgInZhbHVlIjogImNyb3NzLW9yaWdpbiJ9LCB7Im5hbWUiOiAiZGF0ZSIsICJ2YWx1ZSI6ICJUaHUsIDAxIEF1ZyAyMDI0IDAzOjI5OjAwIEdNVCJ9LCB7Im5hbWUiOiAiZXhwaXJlcyIsICJ2YWx1ZSI6ICJGcmksIDAxIEF1ZyAyMDI1IDAzOjI5OjAwIEdNVCJ9LCB7Im5hbWUiOiAibGFzdC1tb2RpZmllZCIsICJ2YWx1ZSI6ICJNb24sIDI5IEp1bCAyMDI0IDAxOjMyOjQ1IEdNVCJ9LCB7Im5hbWUiOiAicmVwb3J0LXRvIiwgInZhbHVlIjogIntcImdyb3VwXCI6XCJvbmUtZ29vZ2xlLWVuZ1wiLFwibWF4X2FnZVwiOjI1OTIwMDAsXCJlbmRwb2ludHNcIjpbe1widXJsXCI6XCJodHRwczovL2NzcC53aXRoZ29vZ2xlLmNvbS9jc3AvcmVwb3J0LXRvL29uZS1nb29nbGUtZW5nXCJ9XX0ifSwgeyJuYW1lIjogInNlcnZlciIsICJ2YWx1ZSI6ICJzZmZlIn0sIHsibmFtZSI6ICJ2YXJ5IiwgInZhbHVlIjogIkFjY2VwdC1FbmNvZGluZywgT3JpZ2luIn0sIHsibmFtZSI6ICJ4LWNvbnRlbnQtdHlwZS1vcHRpb25zIiwgInZhbHVlIjogIm5vc25pZmYifSwgeyJuYW1lIjogIngteHNzLXByb3RlY3Rpb24iLCAidmFsdWUiOiAiMCJ9XSwgImNvbnRlbnQiOiB7InNpemUiOiAyMTgzODksICJtaW1lVHlwZSI6ICJ0ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9VVRGLTgiLCAiY29tcHJlc3Npb24iOiAxMzkyMTQsICJ0ZXh0IjogInRoaXMuZ2Jhcl89dGhpcy5nYmFyX3x8e307KGZ1bmN0aW9uKF8pe3ZhciB3aW5kb3c9dGhpcztcbnRyeXtcbl8udWU9ZnVuY3Rpb24oYSl7cmV0dXJuIF8ueWQoYSkmJmEubm9kZVR5cGU9PTF9O18udmU9ZnVuY3Rpb24oYSxiKXtpZihcInRleHRDb250ZW50XCJpbiBhKWEudGV4dENvbnRlbnQ9YjtlbHNlIGlmKGEubm9kZVR5cGU9PTMpYS5kYXRhPVN0cmluZyhiKTtlbHNlIGlmKGEuZmlyc3RDaGlsZCYmYS5maXJzdENoaWxkLm5vZGVUeXBlPT0zKXtmb3IoO2EubGFzdENoaWxkIT1hLmZpcnN0Q2hpbGQ7KWEucmVtb3ZlQ2hpbGQoYS5sYXN0Q2hpbGQpO2EuZmlyc3RDaGlsZC5kYXRhPVN0cmluZyhiKX1lbHNlIF8uc2UoYSksYS5hcHBlbmRDaGlsZChfLnRlKGEpLmNyZWF0ZVRleHROb2RlKFN0cmluZyhiKSkpfTt2YXIgd2U7Xy54ZT1mdW5jdGlvbihhLGIsYyl7QXJyYXkuaXNBcnJheShjKSYmKGM9Yy5qb2luKFwiIFwiKSk7dmFyIGQ9XCJhcmlhLVwiK2I7Yz09PVwiXCJ8fGM9PXZvaWQgMD8od2V8fCh3ZT17YXRvbWljOiExLGF1dG9jb21wbGV0ZTpcIm5vbmVcIixkcm9wZWZmZWN0Olwibm9uZVwiLGhhc3BvcHVwOiExLGxpdmU6XCJvZmZcIixtdWx0aWxpbmU6ITEsbXVsdGlzZWxlY3RhYmxlOiExLG9yaWVudGF0aW9uOlwidmVydGljYWxcIixyZWFkb25seTohMSxyZWxldmFudDpcImFkZGl0aW9ucyB0ZXh0XCIscmVxdWlyZWQ6ITEsc29ydDpcIm5vbmVcIixidXN5OiExLGRpc2FibGVkOiExLGhpZGRlbjohMSxpbnZhbGlkOlwiZmFsc2VcIn0pLGM9d2UsYiBpbiBjP2Euc2V0QXR0cmlidXRlKGQsY1tiXSk6YS5yZW1vdmVBdHRyaWJ1dGUoZCkpOmEuc2V0QXR0cmlidXRlKGQsYyl9O3ZhciBCZTtfLkFlPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZihfLmNjJiZlKXJldHVybiBfLnllKGEpO2lmKGUmJiFkKXJldHVybiExO2lmKCFfLmFjKXt0eXBlb2YgYj09PVwibnVtYmVyXCImJihiPV8uemUoYikpO3ZhciBnPWI9PTE3fHxiPT0xOHx8Xy5jYyYmYj09OTE7aWYoKCFjfHxfLmNjKSYmZ3x8Xy5jYyYmYj09MTYmJihkfHxmKSlyZXR1cm4hMX1pZihfLmJjJiZkJiZjKXN3aXRjaChhKXtjYXNlIDIyMDpjYXNlIDIxOTpjYXNlIDIyMTpjYXNlIDE5MjpjYXNlIDE4NjpjYXNlIDE4OTpjYXNlIDE4NzpjYXNlIDE4ODpjYXNlIDE5MDpjYXNlIDE5MTpjYXNlIDE5MjpjYXNlIDIyMjpyZXR1cm4hMX1zd2l0Y2goYSl7Y2FzZSAxMzpyZXR1cm4gXy5hYz9mfHxlPyExOiEoYyYmZCk6ITA7Y2FzZSAyNzpyZXR1cm4hXy5iYyYmIV8uYWN9cmV0dXJuIF8uYWMmJihkfHxlfHxmKT8hMTpfLnllKGEpfTtcbl8ueWU9ZnVuY3Rpb24oYSl7aWYoYT49NDgmJmE8PTU3fHxhPj05NiYmYTw9MTA2fHxhPj02NSYmYTw9OTB8fF8uYmMmJmE9PTApcmV0dXJuITA7c3dpdGNoKGEpe2Nhc2UgMzI6Y2FzZSA0MzpjYXNlIDYzOmNhc2UgNjQ6Y2FzZSAxMDc6Y2FzZSAxMDk6Y2FzZSAxMTA6Y2FzZSAxMTE6Y2FzZSAxODY6Y2FzZSA1OTpjYXNlIDE4OTpjYXNlIDE4NzpjYXNlIDYxOmNhc2UgMTg4OmNhc2UgMTkwOmNhc2UgMTkxOmNhc2UgMTkyOmNhc2UgMjIyOmNhc2UgMjE5OmNhc2UgMjIwOmNhc2UgMjIxOmNhc2UgMTYzOmNhc2UgNTg6cmV0dXJuITA7Y2FzZSAxNzM6Y2FzZSAxNzE6cmV0dXJuIF8uYWM7ZGVmYXVsdDpyZXR1cm4hMX19O18uemU9ZnVuY3Rpb24oYSl7aWYoXy5hYylhPUJlKGEpO2Vsc2UgaWYoXy5jYyYmXy5iYylzd2l0Y2goYSl7Y2FzZSA5MzphPTkxfXJldHVybiBhfTtcbkJlPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIDYxOnJldHVybiAxODc7Y2FzZSA1OTpyZXR1cm4gMTg2O2Nhc2UgMTczOnJldHVybiAxODk7Y2FzZSAyMjQ6cmV0dXJuIDkxO2Nhc2UgMDpyZXR1cm4gMjI0O2RlZmF1bHQ6cmV0dXJuIGF9fTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIENlLERlLEVlO0NlPWZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgYS5jbGFzc05hbWU9PVwic3RyaW5nXCI/YS5jbGFzc05hbWU6YS5nZXRBdHRyaWJ1dGUmJmEuZ2V0QXR0cmlidXRlKFwiY2xhc3NcIil8fFwiXCJ9O0RlPWZ1bmN0aW9uKGEpe3JldHVybiBhLmNsYXNzTGlzdD9hLmNsYXNzTGlzdDpDZShhKS5tYXRjaCgvXFxTKy9nKXx8W119O0VlPWZ1bmN0aW9uKGEsYil7dHlwZW9mIGEuY2xhc3NOYW1lPT1cInN0cmluZ1wiP2EuY2xhc3NOYW1lPWI6YS5zZXRBdHRyaWJ1dGUmJmEuc2V0QXR0cmlidXRlKFwiY2xhc3NcIixiKX07Xy5WPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuY2xhc3NMaXN0P2EuY2xhc3NMaXN0LmNvbnRhaW5zKGIpOl8udGEoRGUoYSksYil9O18uRmU9ZnVuY3Rpb24oYSxiKXtpZihhLmNsYXNzTGlzdClhLmNsYXNzTGlzdC5hZGQoYik7ZWxzZSBpZighXy5WKGEsYikpe3ZhciBjPUNlKGEpO0VlKGEsYysoYy5sZW5ndGg+MD9cIiBcIitiOmIpKX19O1xuXy5HZT1mdW5jdGlvbihhLGIpe2lmKGEuY2xhc3NMaXN0KUFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoYixmdW5jdGlvbihlKXtfLkZlKGEsZSl9KTtlbHNle3ZhciBjPXt9O0FycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoRGUoYSksZnVuY3Rpb24oZSl7Y1tlXT0hMH0pO0FycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoYixmdW5jdGlvbihlKXtjW2VdPSEwfSk7Yj1cIlwiO2Zvcih2YXIgZCBpbiBjKWIrPWIubGVuZ3RoPjA/XCIgXCIrZDpkO0VlKGEsYil9fTtfLkhlPWZ1bmN0aW9uKGEsYil7YS5jbGFzc0xpc3Q/YS5jbGFzc0xpc3QucmVtb3ZlKGIpOl8uVihhLGIpJiZFZShhLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChEZShhKSxmdW5jdGlvbihjKXtyZXR1cm4gYyE9Yn0pLmpvaW4oXCIgXCIpKX07XG5fLkllPWZ1bmN0aW9uKGEsYil7YS5jbGFzc0xpc3Q/QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChiLGZ1bmN0aW9uKGMpe18uSGUoYSxjKX0pOkVlKGEsQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKERlKGEpLGZ1bmN0aW9uKGMpe3JldHVybiFfLnRhKGIsYyl9KS5qb2luKFwiIFwiKSl9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLkplPWNsYXNzIGV4dGVuZHMgXy5Re2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBNZTtfLktlPWZ1bmN0aW9uKGEsYil7Yj1fLnNhKGEsYik7bGV0IGM7KGM9Yj49MCkmJkFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChhLGIsMSk7cmV0dXJuIGN9O18uTGU9ZnVuY3Rpb24oYSxiLGMpe2Zvcihjb25zdCBkIGluIGEpYi5jYWxsKGMsYVtkXSxkLGEpfTtNZT1mdW5jdGlvbihhLGIpe2Zvcihjb25zdCBjIGluIGEpaWYoYi5jYWxsKHZvaWQgMCxhW2NdLGMsYSkpcmV0dXJuITA7cmV0dXJuITF9O18uTmU9ZnVuY3Rpb24oYSxiKXt0cnl7cmV0dXJuIF8uWGIoYVtiXSksITB9Y2F0Y2goYyl7fXJldHVybiExfTtfLlBlPWZ1bmN0aW9uKGEsYil7dGhpcy50eXBlPVwiZnVuY3Rpb25cIj09dHlwZW9mIF8uT2UmJmEgaW5zdGFuY2VvZiBfLk9lP1N0cmluZyhhKTphO3RoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1iO3RoaXMuZGVmYXVsdFByZXZlbnRlZD10aGlzLmk9ITF9O18uUGUucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpe3RoaXMuaT0hMH07XG5fLlBlLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMuZGVmYXVsdFByZXZlbnRlZD0hMH07Xy5RZT1mdW5jdGlvbihhLGIpe18uUGUuY2FsbCh0aGlzLGE/YS50eXBlOlwiXCIpO3RoaXMucmVsYXRlZFRhcmdldD10aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy50YXJnZXQ9bnVsbDt0aGlzLmJ1dHRvbj10aGlzLnNjcmVlblk9dGhpcy5zY3JlZW5YPXRoaXMuY2xpZW50WT10aGlzLmNsaWVudFg9dGhpcy5vZmZzZXRZPXRoaXMub2Zmc2V0WD0wO3RoaXMua2V5PVwiXCI7dGhpcy5jaGFyQ29kZT10aGlzLmtleUNvZGU9MDt0aGlzLm1ldGFLZXk9dGhpcy5zaGlmdEtleT10aGlzLmFsdEtleT10aGlzLmN0cmxLZXk9ITE7dGhpcy5zdGF0ZT1udWxsO3RoaXMucG9pbnRlcklkPTA7dGhpcy5wb2ludGVyVHlwZT1cIlwiO3RoaXMudGltZVN0YW1wPTA7dGhpcy5XYj1udWxsO2EmJnRoaXMuaW5pdChhLGIpfTtfLkMoXy5RZSxfLlBlKTt2YXIgUmU9ezI6XCJ0b3VjaFwiLDM6XCJwZW5cIiw0OlwibW91c2VcIn07XG5fLlFlLnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy50eXBlPWEudHlwZSxkPWEuY2hhbmdlZFRvdWNoZXMmJmEuY2hhbmdlZFRvdWNoZXMubGVuZ3RoP2EuY2hhbmdlZFRvdWNoZXNbMF06bnVsbDt0aGlzLnRhcmdldD1hLnRhcmdldHx8YS5zcmNFbGVtZW50O3RoaXMuY3VycmVudFRhcmdldD1iOyhiPWEucmVsYXRlZFRhcmdldCk/Xy5hYyYmKF8uTmUoYixcIm5vZGVOYW1lXCIpfHwoYj1udWxsKSk6Yz09XCJtb3VzZW92ZXJcIj9iPWEuZnJvbUVsZW1lbnQ6Yz09XCJtb3VzZW91dFwiJiYoYj1hLnRvRWxlbWVudCk7dGhpcy5yZWxhdGVkVGFyZ2V0PWI7ZD8odGhpcy5jbGllbnRYPWQuY2xpZW50WCE9PXZvaWQgMD9kLmNsaWVudFg6ZC5wYWdlWCx0aGlzLmNsaWVudFk9ZC5jbGllbnRZIT09dm9pZCAwP2QuY2xpZW50WTpkLnBhZ2VZLHRoaXMuc2NyZWVuWD1kLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPWQuc2NyZWVuWXx8MCk6KHRoaXMub2Zmc2V0WD1fLmJjfHxhLm9mZnNldFghPT1cbnZvaWQgMD9hLm9mZnNldFg6YS5sYXllclgsdGhpcy5vZmZzZXRZPV8uYmN8fGEub2Zmc2V0WSE9PXZvaWQgMD9hLm9mZnNldFk6YS5sYXllclksdGhpcy5jbGllbnRYPWEuY2xpZW50WCE9PXZvaWQgMD9hLmNsaWVudFg6YS5wYWdlWCx0aGlzLmNsaWVudFk9YS5jbGllbnRZIT09dm9pZCAwP2EuY2xpZW50WTphLnBhZ2VZLHRoaXMuc2NyZWVuWD1hLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPWEuc2NyZWVuWXx8MCk7dGhpcy5idXR0b249YS5idXR0b247dGhpcy5rZXlDb2RlPWEua2V5Q29kZXx8MDt0aGlzLmtleT1hLmtleXx8XCJcIjt0aGlzLmNoYXJDb2RlPWEuY2hhckNvZGV8fChjPT1cImtleXByZXNzXCI/YS5rZXlDb2RlOjApO3RoaXMuY3RybEtleT1hLmN0cmxLZXk7dGhpcy5hbHRLZXk9YS5hbHRLZXk7dGhpcy5zaGlmdEtleT1hLnNoaWZ0S2V5O3RoaXMubWV0YUtleT1hLm1ldGFLZXk7dGhpcy5wb2ludGVySWQ9YS5wb2ludGVySWR8fDA7dGhpcy5wb2ludGVyVHlwZT10eXBlb2YgYS5wb2ludGVyVHlwZT09PVxuXCJzdHJpbmdcIj9hLnBvaW50ZXJUeXBlOlJlW2EucG9pbnRlclR5cGVdfHxcIlwiO3RoaXMuc3RhdGU9YS5zdGF0ZTt0aGlzLnRpbWVTdGFtcD1hLnRpbWVTdGFtcDt0aGlzLldiPWE7YS5kZWZhdWx0UHJldmVudGVkJiZfLlFlLlcucHJldmVudERlZmF1bHQuY2FsbCh0aGlzKX07Xy5RZS5wcm90b3R5cGUuc3RvcFByb3BhZ2F0aW9uPWZ1bmN0aW9uKCl7Xy5RZS5XLnN0b3BQcm9wYWdhdGlvbi5jYWxsKHRoaXMpO3RoaXMuV2Iuc3RvcFByb3BhZ2F0aW9uP3RoaXMuV2Iuc3RvcFByb3BhZ2F0aW9uKCk6dGhpcy5XYi5jYW5jZWxCdWJibGU9ITB9O18uUWUucHJvdG90eXBlLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKCl7Xy5RZS5XLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyk7dmFyIGE9dGhpcy5XYjthLnByZXZlbnREZWZhdWx0P2EucHJldmVudERlZmF1bHQoKTphLnJldHVyblZhbHVlPSExfTtfLlFlLnByb3RvdHlwZS5uYj1mdW5jdGlvbigpe3JldHVybiB0aGlzLldifTtfLlNlPVwiY2xvc3VyZV9saXN0ZW5hYmxlX1wiKyhNYXRoLnJhbmRvbSgpKjFFNnwwKTtfLlRlPWZ1bmN0aW9uKGEpe3JldHVybiEoIWF8fCFhW18uU2VdKX07dmFyIFVlPTA7dmFyIFZlO1ZlPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5saXN0ZW5lcj1hO3RoaXMucHJveHk9bnVsbDt0aGlzLnNyYz1iO3RoaXMudHlwZT1jO3RoaXMuY2FwdHVyZT0hIWQ7dGhpcy56ZD1lO3RoaXMua2V5PSsrVWU7dGhpcy5mZD10aGlzLnFkPSExfTtfLldlPWZ1bmN0aW9uKGEpe2EuZmQ9ITA7YS5saXN0ZW5lcj1udWxsO2EucHJveHk9bnVsbDthLnNyYz1udWxsO2EuemQ9bnVsbH07Xy5YZT1mdW5jdGlvbihhKXt0aGlzLnNyYz1hO3RoaXMuaT17fTt0aGlzLmo9MH07Xy5YZS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YS50b1N0cmluZygpO2E9dGhpcy5pW2ZdO2F8fChhPXRoaXMuaVtmXT1bXSx0aGlzLmorKyk7dmFyIGc9WWUoYSxiLGQsZSk7Zz4tMT8oYj1hW2ddLGN8fChiLnFkPSExKSk6KGI9bmV3IFZlKGIsdGhpcy5zcmMsZiwhIWQsZSksYi5xZD1jLGEucHVzaChiKSk7cmV0dXJuIGJ9O18uWGUucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbihhLGIsYyxkKXthPWEudG9TdHJpbmcoKTtpZighKGEgaW4gdGhpcy5pKSlyZXR1cm4hMTt2YXIgZT10aGlzLmlbYV07Yj1ZZShlLGIsYyxkKTtyZXR1cm4gYj4tMT8oXy5XZShlW2JdKSxBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwoZSxiLDEpLGUubGVuZ3RoPT0wJiYoZGVsZXRlIHRoaXMuaVthXSx0aGlzLmotLSksITApOiExfTtcbl8uWmU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnR5cGU7aWYoIShjIGluIGEuaSkpcmV0dXJuITE7dmFyIGQ9Xy5LZShhLmlbY10sYik7ZCYmKF8uV2UoYiksYS5pW2NdLmxlbmd0aD09MCYmKGRlbGV0ZSBhLmlbY10sYS5qLS0pKTtyZXR1cm4gZH07Xy5YZS5wcm90b3R5cGUud2Q9ZnVuY3Rpb24oYSxiKXthPXRoaXMuaVthLnRvU3RyaW5nKCldO3ZhciBjPVtdO2lmKGEpZm9yKHZhciBkPTA7ZDxhLmxlbmd0aDsrK2Qpe3ZhciBlPWFbZF07ZS5jYXB0dXJlPT1iJiZjLnB1c2goZSl9cmV0dXJuIGN9O18uWGUucHJvdG90eXBlLlhjPWZ1bmN0aW9uKGEsYixjLGQpe2E9dGhpcy5pW2EudG9TdHJpbmcoKV07dmFyIGU9LTE7YSYmKGU9WWUoYSxiLGMsZCkpO3JldHVybiBlPi0xP2FbZV06bnVsbH07XG5fLlhlLnByb3RvdHlwZS5oYXNMaXN0ZW5lcj1mdW5jdGlvbihhLGIpe3ZhciBjPWEhPT12b2lkIDAsZD1jP2EudG9TdHJpbmcoKTpcIlwiLGU9YiE9PXZvaWQgMDtyZXR1cm4gTWUodGhpcy5pLGZ1bmN0aW9uKGYpe2Zvcih2YXIgZz0wO2c8Zi5sZW5ndGg7KytnKWlmKCEoYyYmZltnXS50eXBlIT1kfHxlJiZmW2ddLmNhcHR1cmUhPWIpKXJldHVybiEwO3JldHVybiExfSl9O3ZhciBZZT1mdW5jdGlvbihhLGIsYyxkKXtmb3IodmFyIGU9MDtlPGEubGVuZ3RoOysrZSl7dmFyIGY9YVtlXTtpZighZi5mZCYmZi5saXN0ZW5lcj09YiYmZi5jYXB0dXJlPT0hIWMmJmYuemQ9PWQpcmV0dXJuIGV9cmV0dXJuLTF9O3ZhciAkZSxhZixiZixmZixoZixqZixrZixuZjskZT1cImNsb3N1cmVfbG1fXCIrKE1hdGgucmFuZG9tKCkqMUU2fDApO2FmPXt9O2JmPTA7Xy5kZj1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKGQmJmQub25jZSlyZXR1cm4gXy5jZihhLGIsYyxkLGUpO2lmKEFycmF5LmlzQXJyYXkoYikpe2Zvcih2YXIgZj0wO2Y8Yi5sZW5ndGg7ZisrKV8uZGYoYSxiW2ZdLGMsZCxlKTtyZXR1cm4gbnVsbH1jPV8uZWYoYyk7cmV0dXJuIF8uVGUoYSk/YS5saXN0ZW4oYixjLF8ueWQoZCk/ISFkLmNhcHR1cmU6ISFkLGUpOmZmKGEsYixjLCExLGQsZSl9O1xuZmY9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2lmKCFiKXRocm93IEVycm9yKFwiSFwiKTt2YXIgZz1fLnlkKGUpPyEhZS5jYXB0dXJlOiEhZSxoPV8uZ2YoYSk7aHx8KGFbJGVdPWg9bmV3IF8uWGUoYSkpO2M9aC5hZGQoYixjLGQsZyxmKTtpZihjLnByb3h5KXJldHVybiBjO2Q9aGYoKTtjLnByb3h5PWQ7ZC5zcmM9YTtkLmxpc3RlbmVyPWM7aWYoYS5hZGRFdmVudExpc3RlbmVyKWU9PT12b2lkIDAmJihlPSExKSxhLmFkZEV2ZW50TGlzdGVuZXIoYi50b1N0cmluZygpLGQsZSk7ZWxzZSBpZihhLmF0dGFjaEV2ZW50KWEuYXR0YWNoRXZlbnQoamYoYi50b1N0cmluZygpKSxkKTtlbHNlIGlmKGEuYWRkTGlzdGVuZXImJmEucmVtb3ZlTGlzdGVuZXIpYS5hZGRMaXN0ZW5lcihkKTtlbHNlIHRocm93IEVycm9yKFwiSVwiKTtiZisrO3JldHVybiBjfTtoZj1mdW5jdGlvbigpe2NvbnN0IGE9a2YsYj1mdW5jdGlvbihjKXtyZXR1cm4gYS5jYWxsKGIuc3JjLGIubGlzdGVuZXIsYyl9O3JldHVybiBifTtcbl8uY2Y9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihBcnJheS5pc0FycmF5KGIpKXtmb3IodmFyIGY9MDtmPGIubGVuZ3RoO2YrKylfLmNmKGEsYltmXSxjLGQsZSk7cmV0dXJuIG51bGx9Yz1fLmVmKGMpO3JldHVybiBfLlRlKGEpP2EuSmEoYixjLF8ueWQoZCk/ISFkLmNhcHR1cmU6ISFkLGUpOmZmKGEsYixjLCEwLGQsZSl9O18ubGY9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihBcnJheS5pc0FycmF5KGIpKWZvcih2YXIgZj0wO2Y8Yi5sZW5ndGg7ZisrKV8ubGYoYSxiW2ZdLGMsZCxlKTtlbHNlIGQ9Xy55ZChkKT8hIWQuY2FwdHVyZTohIWQsYz1fLmVmKGMpLF8uVGUoYSk/YS5JYShiLGMsZCxlKTphJiYoYT1fLmdmKGEpKSYmKGI9YS5YYyhiLGMsZCxlKSkmJl8ubWYoYil9O1xuXy5tZj1mdW5jdGlvbihhKXtpZih0eXBlb2YgYT09PVwibnVtYmVyXCJ8fCFhfHxhLmZkKXJldHVybiExO3ZhciBiPWEuc3JjO2lmKF8uVGUoYikpcmV0dXJuIGIuSmQoYSk7dmFyIGM9YS50eXBlLGQ9YS5wcm94eTtiLnJlbW92ZUV2ZW50TGlzdGVuZXI/Yi5yZW1vdmVFdmVudExpc3RlbmVyKGMsZCxhLmNhcHR1cmUpOmIuZGV0YWNoRXZlbnQ/Yi5kZXRhY2hFdmVudChqZihjKSxkKTpiLmFkZExpc3RlbmVyJiZiLnJlbW92ZUxpc3RlbmVyJiZiLnJlbW92ZUxpc3RlbmVyKGQpO2JmLS07KGM9Xy5nZihiKSk/KF8uWmUoYyxhKSxjLmo9PTAmJihjLnNyYz1udWxsLGJbJGVdPW51bGwpKTpfLldlKGEpO3JldHVybiEwfTtqZj1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbiBhZj9hZlthXTphZlthXT1cIm9uXCIrYX07XG5rZj1mdW5jdGlvbihhLGIpe2lmKGEuZmQpYT0hMDtlbHNle2I9bmV3IF8uUWUoYix0aGlzKTt2YXIgYz1hLmxpc3RlbmVyLGQ9YS56ZHx8YS5zcmM7YS5xZCYmXy5tZihhKTthPWMuY2FsbChkLGIpfXJldHVybiBhfTtfLmdmPWZ1bmN0aW9uKGEpe2E9YVskZV07cmV0dXJuIGEgaW5zdGFuY2VvZiBfLlhlP2E6bnVsbH07bmY9XCJfX2Nsb3N1cmVfZXZlbnRzX2ZuX1wiKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApO18uZWY9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGE9PT1cImZ1bmN0aW9uXCIpcmV0dXJuIGE7YVtuZl18fChhW25mXT1mdW5jdGlvbihiKXtyZXR1cm4gYS5oYW5kbGVFdmVudChiKX0pO3JldHVybiBhW25mXX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBwZj1mdW5jdGlvbigpe30scWY9ZnVuY3Rpb24oYSxiKXthLnYoYik7YS5qPDEwMCYmKGEuaisrLGIubmV4dD1hLmksYS5pPWIpfSxyZj1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMubz1hO3RoaXMudj1iO3RoaXMuaj0wO3RoaXMuaT1udWxsfWdldCgpe2xldCBhO3RoaXMuaj4wPyh0aGlzLmotLSxhPXRoaXMuaSx0aGlzLmk9YS5uZXh0LGEubmV4dD1udWxsKTphPXRoaXMubygpO3JldHVybiBhfX07dmFyIHNmLHRmPWZ1bmN0aW9uKCl7dmFyIGE9Xy50Lk1lc3NhZ2VDaGFubmVsO3R5cGVvZiBhPT09XCJ1bmRlZmluZWRcIiYmdHlwZW9mIHdpbmRvdyE9PVwidW5kZWZpbmVkXCImJndpbmRvdy5wb3N0TWVzc2FnZSYmd2luZG93LmFkZEV2ZW50TGlzdGVuZXImJiFfLnUoXCJQcmVzdG9cIikmJihhPWZ1bmN0aW9uKCl7dmFyIGU9Xy5yZShcIklGUkFNRVwiKTtlLnN0eWxlLmRpc3BsYXk9XCJub25lXCI7ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFwcGVuZENoaWxkKGUpO3ZhciBmPWUuY29udGVudFdpbmRvdztlPWYuZG9jdW1lbnQ7ZS5vcGVuKCk7ZS5jbG9zZSgpO3ZhciBnPVwiY2FsbEltbWVkaWF0ZVwiK01hdGgucmFuZG9tKCksaD1mLmxvY2F0aW9uLnByb3RvY29sPT1cImZpbGU6XCI/XCIqXCI6Zi5sb2NhdGlvbi5wcm90b2NvbCtcIi8vXCIrZi5sb2NhdGlvbi5ob3N0O2U9KDAsXy56KShmdW5jdGlvbihrKXtpZigoaD09XCIqXCJ8fGsub3JpZ2luPT1oKSYmay5kYXRhPT1nKXRoaXMucG9ydDEub25tZXNzYWdlKCl9LFxudGhpcyk7Zi5hZGRFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLGUsITEpO3RoaXMucG9ydDE9e307dGhpcy5wb3J0Mj17cG9zdE1lc3NhZ2U6ZnVuY3Rpb24oKXtmLnBvc3RNZXNzYWdlKGcsaCl9fX0pO2lmKHR5cGVvZiBhIT09XCJ1bmRlZmluZWRcIil7dmFyIGI9bmV3IGEsYz17fSxkPWM7Yi5wb3J0MS5vbm1lc3NhZ2U9ZnVuY3Rpb24oKXtpZihjLm5leHQhPT12b2lkIDApe2M9Yy5uZXh0O3ZhciBlPWMuQWU7Yy5BZT1udWxsO2UoKX19O3JldHVybiBmdW5jdGlvbihlKXtkLm5leHQ9e0FlOmV9O2Q9ZC5uZXh0O2IucG9ydDIucG9zdE1lc3NhZ2UoMCl9fXJldHVybiBmdW5jdGlvbihlKXtfLnQuc2V0VGltZW91dChlLDApfX07dmFyIHZmPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPXRoaXMuaT1udWxsfWFkZChhLGIpe2NvbnN0IGM9dWYuZ2V0KCk7Yy5zZXQoYSxiKTt0aGlzLmo/dGhpcy5qLm5leHQ9Yzp0aGlzLmk9Yzt0aGlzLmo9Y31yZW1vdmUoKXtsZXQgYT1udWxsO3RoaXMuaSYmKGE9dGhpcy5pLHRoaXMuaT10aGlzLmkubmV4dCx0aGlzLml8fCh0aGlzLmo9bnVsbCksYS5uZXh0PW51bGwpO3JldHVybiBhfX0sdWY9bmV3IHJmKCgpPT5uZXcgd2YsYT0+YS5yZXNldCgpKSx3Zj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMubmV4dD10aGlzLnNjb3BlPXRoaXMuaT1udWxsfXNldChhLGIpe3RoaXMuaT1hO3RoaXMuc2NvcGU9Yjt0aGlzLm5leHQ9bnVsbH1yZXNldCgpe3RoaXMubmV4dD10aGlzLnNjb3BlPXRoaXMuaT1udWxsfX07dmFyIHhmLHlmPSExLHpmPW5ldyB2ZixCZj0oYSxiKT0+e3hmfHxBZigpO3lmfHwoeGYoKSx5Zj0hMCk7emYuYWRkKGEsYil9LEFmPSgpPT57aWYoXy50LlByb21pc2UmJl8udC5Qcm9taXNlLnJlc29sdmUpe2NvbnN0IGE9Xy50LlByb21pc2UucmVzb2x2ZSh2b2lkIDApO3hmPSgpPT57YS50aGVuKENmKX19ZWxzZSB4Zj0oKT0+e3ZhciBhPUNmO3R5cGVvZiBfLnQuc2V0SW1tZWRpYXRlIT09XCJmdW5jdGlvblwifHxfLnQuV2luZG93JiZfLnQuV2luZG93LnByb3RvdHlwZSYmXy50LldpbmRvdy5wcm90b3R5cGUuc2V0SW1tZWRpYXRlPT1fLnQuc2V0SW1tZWRpYXRlPyhzZnx8KHNmPXRmKCkpLHNmKGEpKTpfLnQuc2V0SW1tZWRpYXRlKGEpfX0sQ2Y9KCk9PntsZXQgYTtmb3IoO2E9emYucmVtb3ZlKCk7KXt0cnl7YS5pLmNhbGwoYS5zY29wZSl9Y2F0Y2goYil7Xy5iYShiKX1xZih1ZixhKX15Zj0hMX07Xy5EZj1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4hMTt0cnl7cmV0dXJuISFhLiRnb29nX1RoZW5hYmxlfWNhdGNoKGIpe3JldHVybiExfX07dmFyIEdmLE5mLFNmLFJmLFRmO18uRmY9ZnVuY3Rpb24oYSl7dGhpcy5pPTA7dGhpcy5DPXZvaWQgMDt0aGlzLnY9dGhpcy5qPXRoaXMubz1udWxsO3RoaXMuQT10aGlzLkI9ITE7aWYoYSE9cGYpdHJ5e3ZhciBiPXRoaXM7YS5jYWxsKHZvaWQgMCxmdW5jdGlvbihjKXtFZihiLDIsYyl9LGZ1bmN0aW9uKGMpe0VmKGIsMyxjKX0pfWNhdGNoKGMpe0VmKHRoaXMsMyxjKX19O0dmPWZ1bmN0aW9uKCl7dGhpcy5uZXh0PXRoaXMubz10aGlzLmo9dGhpcy52PXRoaXMuaT1udWxsO3RoaXMuQT0hMX07R2YucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5vPXRoaXMuaj10aGlzLnY9dGhpcy5pPW51bGw7dGhpcy5BPSExfTt2YXIgSGY9bmV3IHJmKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBHZn0sZnVuY3Rpb24oYSl7YS5yZXNldCgpfSksSWY9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPUhmLmdldCgpO2Qudj1hO2Quaj1iO2Qubz1jO3JldHVybiBkfTtcbl8uRmYucHJvdG90eXBlLnRoZW49ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBKZih0aGlzLHR5cGVvZiBhPT09XCJmdW5jdGlvblwiP2E6bnVsbCx0eXBlb2YgYj09PVwiZnVuY3Rpb25cIj9iOm51bGwsYyl9O18uRmYucHJvdG90eXBlLiRnb29nX1RoZW5hYmxlPSEwO18uRmYucHJvdG90eXBlLkQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gSmYodGhpcyxudWxsLGEsYil9O18uRmYucHJvdG90eXBlLmNhdGNoPV8uRmYucHJvdG90eXBlLkQ7Xy5GZi5wcm90b3R5cGUuY2FuY2VsPWZ1bmN0aW9uKGEpe2lmKHRoaXMuaT09MCl7dmFyIGI9bmV3IF8uS2YoYSk7QmYoZnVuY3Rpb24oKXtMZih0aGlzLGIpfSx0aGlzKX19O1xudmFyIExmPWZ1bmN0aW9uKGEsYil7aWYoYS5pPT0wKWlmKGEubyl7dmFyIGM9YS5vO2lmKGMuail7Zm9yKHZhciBkPTAsZT1udWxsLGY9bnVsbCxnPWMuajtnJiYoZy5BfHwoZCsrLGcuaT09YSYmKGU9ZyksIShlJiZkPjEpKSk7Zz1nLm5leHQpZXx8KGY9Zyk7ZSYmKGMuaT09MCYmZD09MT9MZihjLGIpOihmPyhkPWYsZC5uZXh0PT1jLnYmJihjLnY9ZCksZC5uZXh0PWQubmV4dC5uZXh0KTpNZihjKSxOZihjLGUsMyxiKSkpfWEubz1udWxsfWVsc2UgRWYoYSwzLGIpfSxQZj1mdW5jdGlvbihhLGIpe2Euanx8YS5pIT0yJiZhLmkhPTN8fE9mKGEpO2Eudj9hLnYubmV4dD1iOmEuaj1iO2Eudj1ifSxKZj1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1JZihudWxsLG51bGwsbnVsbCk7ZS5pPW5ldyBfLkZmKGZ1bmN0aW9uKGYsZyl7ZS52PWI/ZnVuY3Rpb24oaCl7dHJ5e3ZhciBrPWIuY2FsbChkLGgpO2Yoayl9Y2F0Y2gobCl7ZyhsKX19OmY7ZS5qPWM/ZnVuY3Rpb24oaCl7dHJ5e3ZhciBrPVxuYy5jYWxsKGQsaCk7az09PXZvaWQgMCYmaCBpbnN0YW5jZW9mIF8uS2Y/ZyhoKTpmKGspfWNhdGNoKGwpe2cobCl9fTpnfSk7ZS5pLm89YTtQZihhLGUpO3JldHVybiBlLml9O18uRmYucHJvdG90eXBlLkc9ZnVuY3Rpb24oYSl7dGhpcy5pPTA7RWYodGhpcywyLGEpfTtfLkZmLnByb3RvdHlwZS5KPWZ1bmN0aW9uKGEpe3RoaXMuaT0wO0VmKHRoaXMsMyxhKX07XG52YXIgRWY9ZnVuY3Rpb24oYSxiLGMpe2lmKGEuaT09MCl7YT09PWMmJihiPTMsYz1uZXcgVHlwZUVycm9yKFwiSlwiKSk7YS5pPTE7YTp7dmFyIGQ9YyxlPWEuRyxmPWEuSjtpZihkIGluc3RhbmNlb2YgXy5GZil7UGYoZCxJZihlfHxwZixmfHxudWxsLGEpKTt2YXIgZz0hMH1lbHNlIGlmKF8uRGYoZCkpZC50aGVuKGUsZixhKSxnPSEwO2Vsc2V7aWYoXy55ZChkKSl0cnl7dmFyIGg9ZC50aGVuO2lmKHR5cGVvZiBoPT09XCJmdW5jdGlvblwiKXtRZihkLGgsZSxmLGEpO2c9ITA7YnJlYWsgYX19Y2F0Y2goayl7Zi5jYWxsKGEsayk7Zz0hMDticmVhayBhfWc9ITF9fWd8fChhLkM9YyxhLmk9YixhLm89bnVsbCxPZihhKSxiIT0zfHxjIGluc3RhbmNlb2YgXy5LZnx8UmYoYSxjKSl9fSxRZj1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPSExLGc9ZnVuY3Rpb24oayl7Znx8KGY9ITAsYy5jYWxsKGUsaykpfSxoPWZ1bmN0aW9uKGspe2Z8fChmPSEwLGQuY2FsbChlLGspKX07dHJ5e2IuY2FsbChhLFxuZyxoKX1jYXRjaChrKXtoKGspfX0sT2Y9ZnVuY3Rpb24oYSl7YS5CfHwoYS5CPSEwLEJmKGEuRixhKSl9LE1mPWZ1bmN0aW9uKGEpe3ZhciBiPW51bGw7YS5qJiYoYj1hLmosYS5qPWIubmV4dCxiLm5leHQ9bnVsbCk7YS5qfHwoYS52PW51bGwpO3JldHVybiBifTtfLkZmLnByb3RvdHlwZS5GPWZ1bmN0aW9uKCl7Zm9yKHZhciBhO2E9TWYodGhpcyk7KU5mKHRoaXMsYSx0aGlzLmksdGhpcy5DKTt0aGlzLkI9ITF9O05mPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGM9PTMmJmIuaiYmIWIuQSlmb3IoO2EmJmEuQTthPWEubylhLkE9ITE7aWYoYi5pKWIuaS5vPW51bGwsU2YoYixjLGQpO2Vsc2UgdHJ5e2IuQT9iLnYuY2FsbChiLm8pOlNmKGIsYyxkKX1jYXRjaChlKXtUZi5jYWxsKG51bGwsZSl9cWYoSGYsYil9O1NmPWZ1bmN0aW9uKGEsYixjKXtiPT0yP2Eudi5jYWxsKGEubyxjKTphLmomJmEuai5jYWxsKGEubyxjKX07XG5SZj1mdW5jdGlvbihhLGIpe2EuQT0hMDtCZihmdW5jdGlvbigpe2EuQSYmVGYuY2FsbChudWxsLGIpfSl9O1RmPV8uYmE7Xy5LZj1mdW5jdGlvbihhKXtfLmFhLmNhbGwodGhpcyxhKX07Xy5DKF8uS2YsXy5hYSk7Xy5LZi5wcm90b3R5cGUubmFtZT1cImNhbmNlbFwiO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgYmcsV2YsZWcsamcsbmc7Xy5VZj1mdW5jdGlvbihhKXthJiZ0eXBlb2YgYS5kaXNwb3NlPT1cImZ1bmN0aW9uXCImJmEuZGlzcG9zZSgpfTtfLlZmPWZ1bmN0aW9uKGEsYil7Yj09dm9pZCAwJiYoYj0wKTtyZXR1cm4gYSE9bnVsbD9hOmJ9O18uWGY9ZnVuY3Rpb24oYSxiKXtsZXQgYyxkO2ZvcihsZXQgZT0xO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspe2Q9YXJndW1lbnRzW2VdO2ZvcihjIGluIGQpYVtjXT1kW2NdO2ZvcihsZXQgZj0wO2Y8V2YubGVuZ3RoO2YrKyljPVdmW2ZdLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChkLGMpJiYoYVtjXT1kW2NdKX19O18uWWY9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5LYShhKTtyZXR1cm4gYj09XCJhcnJheVwifHxiPT1cIm9iamVjdFwiJiZ0eXBlb2YgYS5sZW5ndGg9PVwibnVtYmVyXCJ9O18uWmY9ZnVuY3Rpb24oYSxiKXthLnZhP2IoKTooYS5lYXx8KGEuZWE9W10pLGEuZWEucHVzaChiKSl9O1xuXy4kZj1mdW5jdGlvbihhLGIpe18uWmYoYSxfLk5kKF8uVWYsYikpfTtfLmFnPWZ1bmN0aW9uKGEpe3ZhciBiPTAsYztmb3IoYyBpbiBhLmkpe2Zvcih2YXIgZD1hLmlbY10sZT0wO2U8ZC5sZW5ndGg7ZSsrKSsrYixfLldlKGRbZV0pO2RlbGV0ZSBhLmlbY107YS5qLS19fTtfLmNnPWZ1bmN0aW9uKGEpe3JldHVybi9eW1xcc1xceGEwXSokLy50ZXN0KGEpfTtXZj1cImNvbnN0cnVjdG9yIGhhc093blByb3BlcnR5IGlzUHJvdG90eXBlT2YgcHJvcGVydHlJc0VudW1lcmFibGUgdG9Mb2NhbGVTdHJpbmcgdG9TdHJpbmcgdmFsdWVPZlwiLnNwbGl0KFwiIFwiKTtfLmRnPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHR5cGVvZiBiPT09XCJzdHJpbmdcIj9hLmdldEVsZW1lbnRCeUlkKGIpOmJ9O1xuZWc9e2NlbGxwYWRkaW5nOlwiY2VsbFBhZGRpbmdcIixjZWxsc3BhY2luZzpcImNlbGxTcGFjaW5nXCIsY29sc3BhbjpcImNvbFNwYW5cIixmcmFtZWJvcmRlcjpcImZyYW1lQm9yZGVyXCIsaGVpZ2h0OlwiaGVpZ2h0XCIsbWF4bGVuZ3RoOlwibWF4TGVuZ3RoXCIsbm9uY2U6XCJub25jZVwiLHJvbGU6XCJyb2xlXCIscm93c3BhbjpcInJvd1NwYW5cIix0eXBlOlwidHlwZVwiLHVzZW1hcDpcInVzZU1hcFwiLHZhbGlnbjpcInZBbGlnblwiLHdpZHRoOlwid2lkdGhcIn07Xy5mZz1mdW5jdGlvbihhLGIpe18uTGUoYixmdW5jdGlvbihjLGQpe2Q9PVwic3R5bGVcIj9hLnN0eWxlLmNzc1RleHQ9YzpkPT1cImNsYXNzXCI/YS5jbGFzc05hbWU9YzpkPT1cImZvclwiP2EuaHRtbEZvcj1jOmVnLmhhc093blByb3BlcnR5KGQpP2Euc2V0QXR0cmlidXRlKGVnW2RdLGMpOl8uVmQoZCxcImFyaWEtXCIpfHxfLlZkKGQsXCJkYXRhLVwiKT9hLnNldEF0dHJpYnV0ZShkLGMpOmFbZF09Y30pfTtcbl8uZ2c9ZnVuY3Rpb24oYSl7YT1hLmRvY3VtZW50O2E9YS5jb21wYXRNb2RlPT1cIkNTUzFDb21wYXRcIj9hLmRvY3VtZW50RWxlbWVudDphLmJvZHk7cmV0dXJuIG5ldyBfLm9lKGEuY2xpZW50V2lkdGgsYS5jbGllbnRIZWlnaHQpfTtfLmhnPWZ1bmN0aW9uKGEpe3JldHVybiBhLnBhcmVudFdpbmRvd3x8YS5kZWZhdWx0Vmlld307Xy5pZz1mdW5jdGlvbihhKXtyZXR1cm4gYT9fLmhnKGEpOndpbmRvd307XG5qZz1mdW5jdGlvbihhLGIsYyl7ZnVuY3Rpb24gZChoKXtoJiZiLmFwcGVuZENoaWxkKHR5cGVvZiBoPT09XCJzdHJpbmdcIj9hLmNyZWF0ZVRleHROb2RlKGgpOmgpfWZvcih2YXIgZT0yO2U8Yy5sZW5ndGg7ZSsrKXt2YXIgZj1jW2VdO2lmKCFfLllmKGYpfHxfLnlkKGYpJiZmLm5vZGVUeXBlPjApZChmKTtlbHNle2E6e2lmKGYmJnR5cGVvZiBmLmxlbmd0aD09XCJudW1iZXJcIil7aWYoXy55ZChmKSl7dmFyIGc9dHlwZW9mIGYuaXRlbT09XCJmdW5jdGlvblwifHx0eXBlb2YgZi5pdGVtPT1cInN0cmluZ1wiO2JyZWFrIGF9aWYodHlwZW9mIGY9PT1cImZ1bmN0aW9uXCIpe2c9dHlwZW9mIGYuaXRlbT09XCJmdW5jdGlvblwiO2JyZWFrIGF9fWc9ITF9Xy5XYihnP18uRGQoZik6ZixkKX19fTtcbl8ua2c9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iWzFdLGQ9Xy5xZShhLFN0cmluZyhiWzBdKSk7YyYmKHR5cGVvZiBjPT09XCJzdHJpbmdcIj9kLmNsYXNzTmFtZT1jOkFycmF5LmlzQXJyYXkoYyk/ZC5jbGFzc05hbWU9Yy5qb2luKFwiIFwiKTpfLmZnKGQsYykpO2IubGVuZ3RoPjImJmpnKGEsZCxiKTtyZXR1cm4gZH07Xy5sZz1mdW5jdGlvbihhKXtyZXR1cm4gYSYmYS5wYXJlbnROb2RlP2EucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChhKTpudWxsfTtfLm1nPWZ1bmN0aW9uKGEsYil7aWYoIWF8fCFiKXJldHVybiExO2lmKGEuY29udGFpbnMmJmIubm9kZVR5cGU9PTEpcmV0dXJuIGE9PWJ8fGEuY29udGFpbnMoYik7aWYodHlwZW9mIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24hPVwidW5kZWZpbmVkXCIpcmV0dXJuIGE9PWJ8fCEhKGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikmMTYpO2Zvcig7YiYmYSE9YjspYj1iLnBhcmVudE5vZGU7cmV0dXJuIGI9PWF9O1xubmc9ZnVuY3Rpb24oYSl7dGhpcy5pPWF8fF8udC5kb2N1bWVudHx8ZG9jdW1lbnR9O18ubj1uZy5wcm90b3R5cGU7Xy5uLkg9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uZGcodGhpcy5pLGEpfTtfLm4uZWI9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLmtnKHRoaXMuaSxhcmd1bWVudHMpfTtfLm4uYXBwZW5kQ2hpbGQ9ZnVuY3Rpb24oYSxiKXthLmFwcGVuZENoaWxkKGIpfTtfLm4ucWU9Xy5zZTtfLm4uS2Y9Xy5sZztfLm4uSmY9Xy5tZztfLm9nPWZ1bmN0aW9uKGEpe3JldHVybiBhP25ldyBuZyhfLnRlKGEpKTpiZ3x8KGJnPW5ldyBuZyl9O18uVz1mdW5jdGlvbigpe18uUi5jYWxsKHRoaXMpO3RoaXMuWmE9bmV3IF8uWGUodGhpcyk7dGhpcy5lZz10aGlzO3RoaXMuZWQ9bnVsbH07Xy5DKF8uVyxfLlIpO18uVy5wcm90b3R5cGVbXy5TZV09ITA7Xy5uPV8uVy5wcm90b3R5cGU7Xy5uLktnPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWR9O18ubi56Yz1mdW5jdGlvbihhKXt0aGlzLmVkPWF9O1xuXy5uLmFkZEV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5kZih0aGlzLGEsYixjLGQpfTtfLm4ucmVtb3ZlRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihhLGIsYyxkKXtfLmxmKHRoaXMsYSxiLGMsZCl9O1xuXy5uLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24oYSl7dmFyIGIsYz10aGlzLmVkO2lmKGMpZm9yKGI9W107YztjPWMuZWQpYi5wdXNoKGMpO2M9dGhpcy5lZzt2YXIgZD1hLnR5cGV8fGE7aWYodHlwZW9mIGE9PT1cInN0cmluZ1wiKWE9bmV3IF8uUGUoYSxjKTtlbHNlIGlmKGEgaW5zdGFuY2VvZiBfLlBlKWEudGFyZ2V0PWEudGFyZ2V0fHxjO2Vsc2V7dmFyIGU9YTthPW5ldyBfLlBlKGQsYyk7Xy5YZihhLGUpfWU9ITA7aWYoYilmb3IodmFyIGY9Yi5sZW5ndGgtMTshYS5pJiZmPj0wO2YtLSl7dmFyIGc9YS5jdXJyZW50VGFyZ2V0PWJbZl07ZT1wZyhnLGQsITAsYSkmJmV9YS5pfHwoZz1hLmN1cnJlbnRUYXJnZXQ9YyxlPXBnKGcsZCwhMCxhKSYmZSxhLml8fChlPXBnKGcsZCwhMSxhKSYmZSkpO2lmKGIpZm9yKGY9MDshYS5pJiZmPGIubGVuZ3RoO2YrKylnPWEuY3VycmVudFRhcmdldD1iW2ZdLGU9cGcoZyxkLCExLGEpJiZlO3JldHVybiBlfTtcbl8ubi5SPWZ1bmN0aW9uKCl7Xy5XLlcuUi5jYWxsKHRoaXMpO3RoaXMuWmEmJl8uYWcodGhpcy5aYSk7dGhpcy5lZD1udWxsfTtfLm4ubGlzdGVuPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLlphLmFkZChTdHJpbmcoYSksYiwhMSxjLGQpfTtfLm4uSmE9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIHRoaXMuWmEuYWRkKFN0cmluZyhhKSxiLCEwLGMsZCl9O18ubi5JYT1mdW5jdGlvbihhLGIsYyxkKXt0aGlzLlphLnJlbW92ZShTdHJpbmcoYSksYixjLGQpfTtfLm4uSmQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uWmUodGhpcy5aYSxhKX07XG52YXIgcGc9ZnVuY3Rpb24oYSxiLGMsZCl7Yj1hLlphLmlbU3RyaW5nKGIpXTtpZighYilyZXR1cm4hMDtiPWIuY29uY2F0KCk7Zm9yKHZhciBlPSEwLGY9MDtmPGIubGVuZ3RoOysrZil7dmFyIGc9YltmXTtpZihnJiYhZy5mZCYmZy5jYXB0dXJlPT1jKXt2YXIgaD1nLmxpc3RlbmVyLGs9Zy56ZHx8Zy5zcmM7Zy5xZCYmYS5KZChnKTtlPWguY2FsbChrLGQpIT09ITEmJmV9fXJldHVybiBlJiYhZC5kZWZhdWx0UHJldmVudGVkfTtfLlcucHJvdG90eXBlLndkPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuWmEud2QoU3RyaW5nKGEpLGIpfTtfLlcucHJvdG90eXBlLlhjPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLlphLlhjKFN0cmluZyhhKSxiLGMsZCl9O18uVy5wcm90b3R5cGUuaGFzTGlzdGVuZXI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5aYS5oYXNMaXN0ZW5lcihhIT09dm9pZCAwP1N0cmluZyhhKTp2b2lkIDAsYil9O18ucWc9ZnVuY3Rpb24oYSxiKXtfLlcuY2FsbCh0aGlzKTt0aGlzLmo9YXx8MTt0aGlzLmk9Ynx8Xy50O3RoaXMubz0oMCxfLnopKHRoaXMuR2gsdGhpcyk7dGhpcy52PURhdGUubm93KCl9O18uQyhfLnFnLF8uVyk7Xy5uPV8ucWcucHJvdG90eXBlO18ubi5mYz0hMTtfLm4uZmI9bnVsbDtfLm4uR2g9ZnVuY3Rpb24oKXtpZih0aGlzLmZjKXt2YXIgYT1EYXRlLm5vdygpLXRoaXMudjthPjAmJmE8dGhpcy5qKi44P3RoaXMuZmI9dGhpcy5pLnNldFRpbWVvdXQodGhpcy5vLHRoaXMuai1hKToodGhpcy5mYiYmKHRoaXMuaS5jbGVhclRpbWVvdXQodGhpcy5mYiksdGhpcy5mYj1udWxsKSx0aGlzLmRpc3BhdGNoRXZlbnQoXCJ0aWNrXCIpLHRoaXMuZmMmJih0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpKX19O18ubi5zdGFydD1mdW5jdGlvbigpe3RoaXMuZmM9ITA7dGhpcy5mYnx8KHRoaXMuZmI9dGhpcy5pLnNldFRpbWVvdXQodGhpcy5vLHRoaXMuaiksdGhpcy52PURhdGUubm93KCkpfTtcbl8ubi5zdG9wPWZ1bmN0aW9uKCl7dGhpcy5mYz0hMTt0aGlzLmZiJiYodGhpcy5pLmNsZWFyVGltZW91dCh0aGlzLmZiKSx0aGlzLmZiPW51bGwpfTtfLm4uUj1mdW5jdGlvbigpe18ucWcuVy5SLmNhbGwodGhpcyk7dGhpcy5zdG9wKCk7ZGVsZXRlIHRoaXMuaX07Xy5yZz1mdW5jdGlvbihhLGIsYyl7aWYodHlwZW9mIGE9PT1cImZ1bmN0aW9uXCIpYyYmKGE9KDAsXy56KShhLGMpKTtlbHNlIGlmKGEmJnR5cGVvZiBhLmhhbmRsZUV2ZW50PT1cImZ1bmN0aW9uXCIpYT0oMCxfLnopKGEuaGFuZGxlRXZlbnQsYSk7ZWxzZSB0aHJvdyBFcnJvcihcIktcIik7cmV0dXJuIE51bWJlcihiKT4yMTQ3NDgzNjQ3Py0xOl8udC5zZXRUaW1lb3V0KGEsYnx8MCl9O18uc2c9ZnVuY3Rpb24oYSl7Xy50LmNsZWFyVGltZW91dChhKX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8udGc9ZnVuY3Rpb24oYSl7Xy5SLmNhbGwodGhpcyk7dGhpcy5MPWE7dGhpcy5KPXt9fTtfLkMoXy50ZyxfLlIpO3ZhciB1Zz1bXTtfLnRnLnByb3RvdHlwZS5saXN0ZW49ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIHZnKHRoaXMsYSxiLGMsZCl9O18udGcucHJvdG90eXBlLnY9ZnVuY3Rpb24oYSxiLGMsZCxlKXtyZXR1cm4gdmcodGhpcyxhLGIsYyxkLGUpfTt2YXIgdmc9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe0FycmF5LmlzQXJyYXkoYyl8fChjJiYodWdbMF09Yy50b1N0cmluZygpKSxjPXVnKTtmb3IodmFyIGc9MDtnPGMubGVuZ3RoO2crKyl7dmFyIGg9Xy5kZihiLGNbZ10sZHx8YS5oYW5kbGVFdmVudCxlfHwhMSxmfHxhLkx8fGEpO2lmKCFoKWJyZWFrO2EuSltoLmtleV09aH1yZXR1cm4gYX07Xy50Zy5wcm90b3R5cGUuSmE9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIHdnKHRoaXMsYSxiLGMsZCl9O1xudmFyIHdnPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZihBcnJheS5pc0FycmF5KGMpKWZvcih2YXIgZz0wO2c8Yy5sZW5ndGg7ZysrKXdnKGEsYixjW2ddLGQsZSxmKTtlbHNle2I9Xy5jZihiLGMsZHx8YS5oYW5kbGVFdmVudCxlLGZ8fGEuTHx8YSk7aWYoIWIpcmV0dXJuIGE7YS5KW2Iua2V5XT1ifXJldHVybiBhfTtfLnRnLnByb3RvdHlwZS5JYT1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKEFycmF5LmlzQXJyYXkoYikpZm9yKHZhciBmPTA7ZjxiLmxlbmd0aDtmKyspdGhpcy5JYShhLGJbZl0sYyxkLGUpO2Vsc2UgYz1jfHx0aGlzLmhhbmRsZUV2ZW50LGQ9Xy55ZChkKT8hIWQuY2FwdHVyZTohIWQsZT1lfHx0aGlzLkx8fHRoaXMsYz1fLmVmKGMpLGQ9ISFkLGI9Xy5UZShhKT9hLlhjKGIsYyxkLGUpOmE/KGE9Xy5nZihhKSk/YS5YYyhiLGMsZCxlKTpudWxsOm51bGwsYiYmKF8ubWYoYiksZGVsZXRlIHRoaXMuSltiLmtleV0pfTtcbl8ueGc9ZnVuY3Rpb24oYSl7Xy5MZShhLkosZnVuY3Rpb24oYixjKXt0aGlzLkouaGFzT3duUHJvcGVydHkoYykmJl8ubWYoYil9LGEpO2EuSj17fX07Xy50Zy5wcm90b3R5cGUuUj1mdW5jdGlvbigpe18udGcuVy5SLmNhbGwodGhpcyk7Xy54Zyh0aGlzKX07Xy50Zy5wcm90b3R5cGUuaGFuZGxlRXZlbnQ9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcihcIkxcIik7fTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIEFnO18ueWc9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLm9lKGEud2lkdGgsYS5oZWlnaHQpfTtfLnpnPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PWI/ITA6YSYmYj9hLndpZHRoPT1iLndpZHRoJiZhLmhlaWdodD09Yi5oZWlnaHQ6ITF9O0FnPWZ1bmN0aW9uKGEpe3JldHVybiBTdHJpbmcoYSkucmVwbGFjZSgvXFwtKFthLXpdKS9nLGZ1bmN0aW9uKGIsYyl7cmV0dXJuIGMudG9VcHBlckNhc2UoKX0pfTtfLkJnPWZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UoUmVnRXhwKFwiKF58W1xcXFxzXSspKFthLXpdKVwiLFwiZ1wiKSxmdW5jdGlvbihiLGMsZCl7cmV0dXJuIGMrZC50b1VwcGVyQ2FzZSgpfSl9O18uQ2c9ZnVuY3Rpb24oKXtyZXR1cm4gXy5iYz9cIldlYmtpdFwiOl8uYWM/XCJNb3pcIjpfLlpiP1wibXNcIjpudWxsfTt2YXIgRWcsRGc7Xy5YPWZ1bmN0aW9uKGEsYixjKXtpZih0eXBlb2YgYj09PVwic3RyaW5nXCIpKGI9RGcoYSxiKSkmJihhLnN0eWxlW2JdPWMpO2Vsc2UgZm9yKHZhciBkIGluIGIpe2M9YTt2YXIgZT1iW2RdLGY9RGcoYyxkKTtmJiYoYy5zdHlsZVtmXT1lKX19O0VnPXt9O0RnPWZ1bmN0aW9uKGEsYil7dmFyIGM9RWdbYl07aWYoIWMpe3ZhciBkPUFnKGIpO2M9ZDthLnN0eWxlW2RdPT09dm9pZCAwJiYoZD1fLkNnKCkrXy5CZyhkKSxhLnN0eWxlW2RdIT09dm9pZCAwJiYoYz1kKSk7RWdbYl09Y31yZXR1cm4gY307Xy5GZz1mdW5jdGlvbihhLGIpe3ZhciBjPWEuc3R5bGVbQWcoYildO3JldHVybiB0eXBlb2YgYyE9PVwidW5kZWZpbmVkXCI/YzphLnN0eWxlW0RnKGEsYildfHxcIlwifTtcbl8uR2c9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLnRlKGEpO3JldHVybiBjLmRlZmF1bHRWaWV3JiZjLmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUmJihhPWMuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShhLG51bGwpKT9hW2JdfHxhLmdldFByb3BlcnR5VmFsdWUoYil8fFwiXCI6XCJcIn07Xy5IZz1mdW5jdGlvbihhLGIpe3JldHVybiBfLkdnKGEsYil8fChhLmN1cnJlbnRTdHlsZT9hLmN1cnJlbnRTdHlsZVtiXTpudWxsKXx8YS5zdHlsZSYmYS5zdHlsZVtiXX07Xy5JZz1mdW5jdGlvbihhKXt0cnl7cmV0dXJuIGEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9Y2F0Y2goYil7cmV0dXJue2xlZnQ6MCx0b3A6MCxyaWdodDowLGJvdHRvbTowfX19O1xuXy5LZz1mdW5jdGlvbihhKXt2YXIgYj1fLkpnO2lmKF8uSGcoYSxcImRpc3BsYXlcIikhPVwibm9uZVwiKXJldHVybiBiKGEpO3ZhciBjPWEuc3R5bGUsZD1jLmRpc3BsYXksZT1jLnZpc2liaWxpdHksZj1jLnBvc2l0aW9uO2MudmlzaWJpbGl0eT1cImhpZGRlblwiO2MucG9zaXRpb249XCJhYnNvbHV0ZVwiO2MuZGlzcGxheT1cImlubGluZVwiO2E9YihhKTtjLmRpc3BsYXk9ZDtjLnBvc2l0aW9uPWY7Yy52aXNpYmlsaXR5PWU7cmV0dXJuIGF9O18uSmc9ZnVuY3Rpb24oYSl7dmFyIGI9YS5vZmZzZXRXaWR0aCxjPWEub2Zmc2V0SGVpZ2h0LGQ9Xy5iYyYmIWImJiFjO3JldHVybihiPT09dm9pZCAwfHxkKSYmYS5nZXRCb3VuZGluZ0NsaWVudFJlY3Q/KGE9Xy5JZyhhKSxuZXcgXy5vZShhLnJpZ2h0LWEubGVmdCxhLmJvdHRvbS1hLnRvcCkpOm5ldyBfLm9lKGIsYyl9O18uTGc9ZnVuY3Rpb24oYSxiKXthLnN0eWxlLmRpc3BsYXk9Yj9cIlwiOlwibm9uZVwifTtcbl8uTWc9Xy5hYz9cIk1velVzZXJTZWxlY3RcIjpfLmJjfHxfLiRiP1wiV2Via2l0VXNlclNlbGVjdFwiOm51bGw7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBOZyxQZztOZz1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8PTI/QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYSxiKTpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhLGIsYyl9O18uT2c9ZnVuY3Rpb24oYSxiLGMsZCl7QXJyYXkucHJvdG90eXBlLnNwbGljZS5hcHBseShhLE5nKGFyZ3VtZW50cywxKSl9O1BnPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEhPT1udWxsJiZiIGluIGE/YVtiXTp2b2lkIDB9O18uUWc9ZnVuY3Rpb24oKXt9O18uUWcucmM9dm9pZCAwO18uUWcuaT1mdW5jdGlvbigpe3JldHVybiBfLlFnLnJjP18uUWcucmM6Xy5RZy5yYz1uZXcgXy5RZ307Xy5RZy5wcm90b3R5cGUuaT0wO18uUmc9ZnVuY3Rpb24oYSl7cmV0dXJuXCI6XCIrKGEuaSsrKS50b1N0cmluZygzNil9O3ZhciBTZztfLlRnPWZ1bmN0aW9uKGEpe18uVy5jYWxsKHRoaXMpO3RoaXMubz1hfHxfLm9nKCk7dGhpcy5kYT1TZzt0aGlzLlM9bnVsbDt0aGlzLnlhPSExO3RoaXMuaT1udWxsO3RoaXMuSj12b2lkIDA7dGhpcy5GPXRoaXMuQT10aGlzLmo9dGhpcy5CPW51bGw7dGhpcy5BYT0hMX07Xy5DKF8uVGcsXy5XKTtfLlRnLnByb3RvdHlwZS5hYj1fLlFnLmkoKTtTZz1udWxsO18uVWc9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuU3x8KGEuUz1fLlJnKGEuYWIpKX07Xy5UZy5wcm90b3R5cGUuSD1mdW5jdGlvbigpe3JldHVybiB0aGlzLml9O3ZhciBWZz1mdW5jdGlvbihhLGIpe2lmKGE9PWIpdGhyb3cgRXJyb3IoXCJOXCIpO3ZhciBjO2lmKGM9YiYmYS5qJiZhLlMpe2M9YS5qO3ZhciBkPWEuUztjPWMuRiYmZD9QZyhjLkYsZCl8fG51bGw6bnVsbH1pZihjJiZhLmohPWIpdGhyb3cgRXJyb3IoXCJOXCIpO2Euaj1iO18uVGcuVy56Yy5jYWxsKGEsYil9O1xuXy5UZy5wcm90b3R5cGUuemM9ZnVuY3Rpb24oYSl7aWYodGhpcy5qJiZ0aGlzLmohPWEpdGhyb3cgRXJyb3IoXCJPXCIpO18uVGcuVy56Yy5jYWxsKHRoaXMsYSl9O18uVGcucHJvdG90eXBlLmhjPWZ1bmN0aW9uKCl7dGhpcy5pPV8ucWUodGhpcy5vLmksXCJESVZcIil9O18uVGcucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbihhKXtXZyh0aGlzLGEpfTt2YXIgV2c9ZnVuY3Rpb24oYSxiLGMpe2lmKGEueWEpdGhyb3cgRXJyb3IoXCJQXCIpO2EuaXx8YS5oYygpO2I/Yi5pbnNlcnRCZWZvcmUoYS5pLGN8fG51bGwpOmEuby5pLmJvZHkuYXBwZW5kQ2hpbGQoYS5pKTthLmomJiFhLmoueWF8fGEuTWEoKX07Xy5uPV8uVGcucHJvdG90eXBlO18ubi5WYz1mdW5jdGlvbihhKXt0aGlzLmk9YX07Xy5uLk1hPWZ1bmN0aW9uKCl7dGhpcy55YT0hMDtfLlhnKHRoaXMsZnVuY3Rpb24oYSl7IWEueWEmJmEuSCgpJiZhLk1hKCl9KX07XG5fLm4ubWI9ZnVuY3Rpb24oKXtfLlhnKHRoaXMsZnVuY3Rpb24oYSl7YS55YSYmYS5tYigpfSk7dGhpcy5KJiZfLnhnKHRoaXMuSik7dGhpcy55YT0hMX07Xy5uLlI9ZnVuY3Rpb24oKXt0aGlzLnlhJiZ0aGlzLm1iKCk7dGhpcy5KJiYodGhpcy5KLmRpc3Bvc2UoKSxkZWxldGUgdGhpcy5KKTtfLlhnKHRoaXMsZnVuY3Rpb24oYSl7YS5kaXNwb3NlKCl9KTshdGhpcy5BYSYmdGhpcy5pJiZfLmxnKHRoaXMuaSk7dGhpcy5qPXRoaXMuQj10aGlzLmk9dGhpcy5GPXRoaXMuQT1udWxsO18uVGcuVy5SLmNhbGwodGhpcyl9O1xuXy5uLm1jPWZ1bmN0aW9uKGEsYixjKXtpZihhLnlhJiYoY3x8IXRoaXMueWEpKXRocm93IEVycm9yKFwiUFwiKTtpZihiPDB8fGI+Xy5ZZyh0aGlzKSl0aHJvdyBFcnJvcihcIlJcIik7dGhpcy5GJiZ0aGlzLkF8fCh0aGlzLkY9e30sdGhpcy5BPVtdKTtpZihhLmo9PXRoaXMpe3ZhciBkPXRoaXMuRixlPV8uVWcoYSk7ZFtlXT1hO18uS2UodGhpcy5BLGEpfWVsc2V7ZD10aGlzLkY7ZT1fLlVnKGEpO2lmKGQhPT1udWxsJiZlIGluIGQpdGhyb3cgRXJyb3IoXCJDYFwiK2UpO2RbZV09YX1WZyhhLHRoaXMpO18uT2codGhpcy5BLGIsMCxhKTthLnlhJiZ0aGlzLnlhJiZhLmo9PXRoaXM/KGM9dGhpcy5pLChjLmNoaWxkTm9kZXNbYl18fG51bGwpIT1hLkgoKSYmKGEuSCgpLnBhcmVudEVsZW1lbnQ9PWMmJmMucmVtb3ZlQ2hpbGQoYS5IKCkpLGI9Yy5jaGlsZE5vZGVzW2JdfHxudWxsLGMuaW5zZXJ0QmVmb3JlKGEuSCgpLGIpKSk6Yz8odGhpcy5pfHx0aGlzLmhjKCksYj1fLlpnKHRoaXMsYisxKSxXZyhhLFxudGhpcy5pLGI/Yi5pOm51bGwpKTp0aGlzLnlhJiYhYS55YSYmYS5pJiZhLmkucGFyZW50Tm9kZSYmYS5pLnBhcmVudE5vZGUubm9kZVR5cGU9PTEmJmEuTWEoKX07Xy5ZZz1mdW5jdGlvbihhKXtyZXR1cm4gYS5BP2EuQS5sZW5ndGg6MH07Xy5aZz1mdW5jdGlvbihhLGIpe3JldHVybiBhLkE/YS5BW2JdfHxudWxsOm51bGx9O18uWGc9ZnVuY3Rpb24oYSxiLGMpe2EuQSYmYS5BLmZvckVhY2goYixjKX07Xy5UZy5wcm90b3R5cGUuTmM9ZnVuY3Rpb24oYSxiKXtpZihhKXt2YXIgYz10eXBlb2YgYT09PVwic3RyaW5nXCI/YTpfLlVnKGEpO2E9dGhpcy5GJiZjP1BnKHRoaXMuRixjKXx8bnVsbDpudWxsO2lmKGMmJmEpe3ZhciBkPXRoaXMuRjtjIGluIGQmJmRlbGV0ZSBkW2NdO18uS2UodGhpcy5BLGEpO2ImJihhLm1iKCksYS5pJiZfLmxnKGEuaSkpO1ZnKGEsbnVsbCl9fWlmKCFhKXRocm93IEVycm9yKFwiU1wiKTtyZXR1cm4gYX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciAkZzskZz1mdW5jdGlvbihhLGIsYyl7aWYoYS5qKXJldHVybiBudWxsO2lmKGMgaW5zdGFuY2VvZiBBcnJheSl7dmFyIGQ9bnVsbDtmb3IodmFyIGUgb2YgYykoYz0kZyhhLGIsZSkpJiYoZD1jKTtyZXR1cm4gZH1kPW51bGw7YS5pJiZhLmkudHlwZT09YyYmYS5BPT1iJiYoZD1hLmksYS5pPW51bGwpO2lmKGU9Yi5kYXRhc2V0LmVxaWQpZGVsZXRlIGIuZGF0YXNldC5lcWlkLChlPWEuQltlXSk/Yi5yZW1vdmVFdmVudExpc3RlbmVyP2IucmVtb3ZlRXZlbnRMaXN0ZW5lcihjLGUsITEpOmIuZGV0YWNoRXZlbnQmJmIuZGV0YWNoRXZlbnQoXCJvblwiK2MsZSk6YS5vLmxvZyhFcnJvcihcIkFgXCIrYikpO3JldHVybiBkfTtfLmFoPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGEsYixjKX07Xy5iaD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGZ1bmN0aW9uKCl7dHJ5e3JldHVybiBiLmFwcGx5KGMsYXJndW1lbnRzKX1jYXRjaChkKXthLmxvZyhkKX19fTtfLmRoPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtkPV8uYmgoYSxkLGYpO2E9Xy5kZihiLGMsZCxlLGYpO18uY2goYixjKTtyZXR1cm4gYX07Xy5jaD1mdW5jdGlvbihhLGIpe2lmKGEgaW5zdGFuY2VvZiBFbGVtZW50JiYoYj0kZyhfLkJkKFwiZXFcIiksYSxifHxbXSkpKWlmKF8uWmImJmIgaW5zdGFuY2VvZiBNb3VzZUV2ZW50JiZhLmRpc3BhdGNoRXZlbnQpe3ZhciBjPWRvY3VtZW50LmNyZWF0ZUV2ZW50KFwiTW91c2VFdmVudFwiKTtjLmluaXRNb3VzZUV2ZW50KGIudHlwZSwhMCwhMCxiLnZpZXcsYi5kZXRhaWwsYi5zY3JlZW5YLGIuc2NyZWVuWSxiLmNsaWVudFgsYi5jbGllbnRZLGIuY3RybEtleSxiLmFsdEtleSxiLnNoaWZ0S2V5LGIubWV0YUtleSxiLmJ1dHRvbixiLnJlbGF0ZWRUYXJnZXQpO2EuZGlzcGF0Y2hFdmVudChjKX1lbHNlIGEuZGlzcGF0Y2hFdmVudCYmYS5kaXNwYXRjaEV2ZW50KGIpfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIGVoO2VoPWZ1bmN0aW9uKGEpe3JldHVybiBBcnJheS5pc0FycmF5KGEpP18uYWgoYSxlaCk6dHlwZW9mIGE9PT1cInN0cmluZ1wiP2E6YT9hLnRvU3RyaW5nKCk6YX07XG5fLmZoPWNsYXNzIGV4dGVuZHMgXy50Z3tjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKGIpO3RoaXMuQz1hO3RoaXMudGE9Ynx8dGhpc31saXN0ZW4oYSxiLGMsZCl7aWYoYyl7aWYodHlwZW9mIGMhPVwiZnVuY3Rpb25cIil0aHJvdyBuZXcgVHlwZUVycm9yKFwiVFwiKTtjPV8uYmgodGhpcy5DLGMsdGhpcy50YSk7Yz1zdXBlci5saXN0ZW4oYSxiLGMsZCk7Xy5jaChhLGVoKGIpKTtyZXR1cm4gY31yZXR1cm4gc3VwZXIubGlzdGVuKGEsYixjLGQpfXYoYSxiLGMsZCxlKXtpZihjKXtpZih0eXBlb2YgYyE9XCJmdW5jdGlvblwiKXRocm93IG5ldyBUeXBlRXJyb3IoXCJUXCIpO2M9Xy5iaCh0aGlzLkMsYyxlfHx0aGlzLnRhKTtjPXN1cGVyLnYoYSxiLGMsZCxlKTtfLmNoKGEsZWgoYikpO3JldHVybiBjfXJldHVybiBzdXBlci52KGEsYixjLGQsZSl9SmEoYSxiLGMsZCl7aWYoYyl7aWYodHlwZW9mIGMhPVwiZnVuY3Rpb25cIil0aHJvdyBuZXcgVHlwZUVycm9yKFwiVFwiKTtjPV8uYmgodGhpcy5DLGMsdGhpcy50YSk7XG5jPXN1cGVyLkphKGEsYixjLGQpO18uY2goYSxlaChiKSk7cmV0dXJuIGN9cmV0dXJuIHN1cGVyLkphKGEsYixjLGQpfX07Xy5naD1jbGFzcyBleHRlbmRzIF8uZmh7Y29uc3RydWN0b3IoYSxiKXtzdXBlcihiKTt0aGlzLmo9YX1IKCl7cmV0dXJuIHRoaXMuan1SKCl7dGhpcy5qPW51bGw7c3VwZXIuUigpfX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uaGg9Y2xhc3MgZXh0ZW5kcyBfLmdoe2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEsXy5QYyl9fTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5paD1mdW5jdGlvbihhLGIpe2I9Xy5NZChiKTtiIT09dm9pZCAwJiYoYS5ocmVmPWIpfTtfLmtoPWZ1bmN0aW9uKGEsYixjKXtfLmpoLmxpc3RlbihiLGMsdm9pZCAwLGEuTHx8YSxhKX07Xy5saD1mdW5jdGlvbihhLGIpe3ZhciBjPWJ8fGRvY3VtZW50O3JldHVybiBjLnF1ZXJ5U2VsZWN0b3JBbGwmJmMucXVlcnlTZWxlY3Rvcj9jLnF1ZXJ5U2VsZWN0b3JBbGwoXCIuXCIrYSk6Xy5wZShkb2N1bWVudCxhLGIpfTtfLm5oPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPTA7YTspe2lmKGIoYSkpcmV0dXJuIGE7YT1hLnBhcmVudE5vZGU7YysrfXJldHVybiBudWxsfTtfLm9oPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGI/Xy5uaChhLGZ1bmN0aW9uKGMpe3JldHVybiFifHx0eXBlb2YgYy5jbGFzc05hbWU9PT1cInN0cmluZ1wiJiZfLnRhKGMuY2xhc3NOYW1lLnNwbGl0KC9cXHMrLyksYil9KTpudWxsfTt2YXIgcGgscWg7cGg9ZnVuY3Rpb24oKXt9O18uamg9bmV3IHBoO3FoPVtcImNsaWNrXCIsXCJrZXlkb3duXCIsXCJrZXl1cFwiXTtwaC5wcm90b3R5cGUubGlzdGVuPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9ZnVuY3Rpb24oZyl7dmFyIGg9Xy5lZihiKSxrPV8udWUoZy50YXJnZXQpP2cudGFyZ2V0LmdldEF0dHJpYnV0ZShcInJvbGVcIil8fG51bGw6bnVsbDtnLnR5cGUhPVwiY2xpY2tcInx8Zy5XYi5idXR0b24hPTB8fF8uY2MmJmcuY3RybEtleT9nLmtleUNvZGUhPTEzJiZnLmtleUNvZGUhPTN8fGcudHlwZT09XCJrZXl1cFwiP2cua2V5Q29kZSE9MzJ8fGshPVwiYnV0dG9uXCImJmshPVwidGFiXCImJmshPVwicmFkaW9cInx8KGcudHlwZT09XCJrZXl1cFwiJiZoLmNhbGwoZCxnKSxnLnByZXZlbnREZWZhdWx0KCkpOihnLnR5cGU9XCJrZXlwcmVzc1wiLGguY2FsbChkLGcpKTpoLmNhbGwoZCxnKX07Zi5rYj1iO2YueWg9ZDtlP2UubGlzdGVuKGEscWgsZixjKTpfLmRmKGEscWgsZixjKX07XG5waC5wcm90b3R5cGUuSWE9ZnVuY3Rpb24oYSxiLGMsZCxlKXtmb3IodmFyIGYsZz0wO2Y9cWhbZ107ZysrKXt2YXIgaD1hO3ZhciBrPWY7dmFyIGw9ISFjO2s9Xy5UZShoKT9oLndkKGssbCk6aD8oaD1fLmdmKGgpKT9oLndkKGssbCk6W106W107Zm9yKGg9MDtsPWtbaF07aCsrKXt2YXIgbT1sLmxpc3RlbmVyO2lmKG0ua2I9PWImJm0ueWg9PWQpe2U/ZS5JYShhLGYsbC5saXN0ZW5lcixjLGQpOl8ubGYoYSxmLGwubGlzdGVuZXIsYyxkKTticmVha319fX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uWT1mdW5jdGlvbihhLGIsYyl7Yz9fLkZlKGEsYik6Xy5IZShhLGIpfTtfLnJoPWZ1bmN0aW9uKGEpe3JldHVybiBhLmNoaWxkcmVuIT12b2lkIDA/YS5jaGlsZHJlbjpBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoYS5jaGlsZE5vZGVzLGZ1bmN0aW9uKGIpe3JldHVybiBiLm5vZGVUeXBlPT0xfSl9O18uc2g9IV8uWmImJiFfLm5hKCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8udGg9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PW51bGw/XCJcIjpTdHJpbmcoYSl9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgemgsSmgsS2gsTGgsTWgsT2gsUWgsUmgsQWgsU2gsQmgseWgsVGgsVWgsVmgsV2gsWGgsWWgsWmgsJGgsYWksYmksY2ksZGksZWksZmksZ2ksaGk7emg9ZnVuY3Rpb24oYSl7cmV0dXJuIF8ubmgoYSxmdW5jdGlvbihiKXtyZXR1cm4gYi5ub2RlVHlwZT09MSYmeWgoYixcImhpZGRlblwiKT09XCJ0cnVlXCJ9KSE9bnVsbH07Xy5DaD1mdW5jdGlvbihhKXtyZXR1cm4gYT9BaChhLGZ1bmN0aW9uKGIpe3JldHVybiBiLm5vZGVUeXBlPT0xJiZCaChiKSYmIXpoKGIpfSk6W119O18uRGg9ZnVuY3Rpb24oYSxiKXthJiZiJiZfLmloKGEsYS5ocmVmLnJlcGxhY2UoLyhbPyZdKGNvbnRpbnVlfGZvbGxvd3VwKT0pW14mXSovZyxcIiQxXCIrZW5jb2RlVVJJQ29tcG9uZW50KGIpKSl9O1xuXy5JaD1mdW5jdGlvbigpe18uQShcImdiYXIuSVwiLF8uRWgpO18uRWgucHJvdG90eXBlLmlhPV8uRWgucHJvdG90eXBlLlM7Xy5FaC5wcm90b3R5cGUuaWI9Xy5FaC5wcm90b3R5cGUuSDtfLkVoLnByb3RvdHlwZS5pYz1fLkVoLnByb3RvdHlwZS50YTtfLkEoXCJnYmFyLkpcIixfLkZoKTtfLkZoLnByb3RvdHlwZS5qYT1fLkZoLnByb3RvdHlwZS5VO18uRmgucHJvdG90eXBlLmpiPV8uRmgucHJvdG90eXBlLlQ7Xy5BKFwiZ2Jhci5LXCIsXy5HaCk7Xy5BKFwiZ2Jhci5MXCIsXy5IaCk7Xy5IaC5wcm90b3R5cGUubGE9Xy5IaC5wcm90b3R5cGUuan07Smg9ZnVuY3Rpb24oYSxiKXtiLnhhPWIudHlwZTtiLnhiPWIudGFyZ2V0O3JldHVybiBhLmNhbGwodGhpcyxiKX07S2g9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMpe3RoaXMuaj1hO3RoaXMuaT17fTthPTA7Zm9yKHZhciBkPWIubGVuZ3RoO2E8ZDthKyspdGhpcy5pW2JbYV1dPSEwO3RoaXMubz1jO3RoaXMudj1fLnR9fTtcbkxoPWZ1bmN0aW9uKGEsYixjKXthPV8uVShcImdiX0VjXCIsYS5IKCkpO2lmKGIhPVwiXCJ8fGMhPVwiXCIpXy5WKGEsXCJnYl9JYVwiKT9fLkZnKGEsXCJiYWNrZ3JvdW5kLWltYWdlXCIpIT1cIlwiJiYoYj1jIT1cIlwiP2M6YixfLlgoYSxcImJhY2tncm91bmQtaW1hZ2VcIixcInVybCgnXCIrYitcIicpXCIpLGE9Xy5VKFwiZ2JfRGNcIixhKSxhIT09bnVsbCYmYS50YWdOYW1lPT1cIklNR1wiJiYoYS5zcmM9YikpOmEudGFnTmFtZT09XCJJTUdcIiYmKGEuc3JjPWIhPVwiXCI/YjpjLGIhPWMmJihjPWMhPVwiXCI/YytcIiAyeCBcIjpcIlwiLGIhPVwiXCImJihjPWMrKGM9PVwiXCI/XCJcIjpcIixcIikrKGIrXCIgMXhcIikpLGEuc2V0QXR0cmlidXRlKFwic3Jjc2V0XCIsYykpKX07TWg9ZnVuY3Rpb24oYSxiLGMpe18uUi5jYWxsKHRoaXMpO3RoaXMua2I9YTt0aGlzLm89Ynx8MDt0aGlzLmk9Yzt0aGlzLmo9KDAsXy56KSh0aGlzLkxmLHRoaXMpfTtfLkMoTWgsXy5SKTtfLm49TWgucHJvdG90eXBlO18ubi5PYz0wO1xuXy5uLlI9ZnVuY3Rpb24oKXtNaC5XLlIuY2FsbCh0aGlzKTt0aGlzLnN0b3AoKTtkZWxldGUgdGhpcy5rYjtkZWxldGUgdGhpcy5pfTtfLm4uc3RhcnQ9ZnVuY3Rpb24oYSl7dGhpcy5zdG9wKCk7dGhpcy5PYz1fLnJnKHRoaXMuaixhIT09dm9pZCAwP2E6dGhpcy5vKX07Xy5uLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmlzQWN0aXZlKCkmJl8uc2codGhpcy5PYyk7dGhpcy5PYz0wfTtfLm4uaXNBY3RpdmU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5PYyE9MH07Xy5uLkxmPWZ1bmN0aW9uKCl7dGhpcy5PYz0wO3RoaXMua2ImJnRoaXMua2IuY2FsbCh0aGlzLmkpfTtfLk5oPWZ1bmN0aW9uKGEsYil7YiYmXy52aChhKSYmYiE9Xy52aChhKSYmXy52aChhKS5QKCExKTthLnY9Yn07XG5PaD1mdW5jdGlvbihhKXt2YXIgYj1fLmdkLmkoKSxjPVtcImFzbFwiXTtpZihjLmxlbmd0aCE9YS5sZW5ndGgpdGhyb3cgbmV3IF8uYWE7dmFyIGQ9W107Zm9yKGxldCBmPTAsZz1jLmxlbmd0aDtmPGc7ZisrKXt2YXIgZT1jW2ZdO2IuaVtlXXx8ZC5wdXNoKGUpfWlmKGQubGVuZ3RoPT0wKXtkPWMubGVuZ3RoO2U9QXJyYXkoZCk7Zm9yKGxldCBmPTA7ZjxkO2YrKyllW2ZdPWIuaVtjW2ZdXTthLmFwcGx5KF8udCxlKX1lbHNle2E9bmV3IEtoKGMsZCxhKTtmb3IobGV0IGY9MCxnPWQubGVuZ3RoO2Y8ZztmKyspYz1kW2ZdLChlPWIualtjXSl8fChiLmpbY109ZT1bXSksZS5wdXNoKGEpfX07Xy5QaD1mdW5jdGlvbihhKXtyZXR1cm4gU3RyaW5nKGEpLnJlcGxhY2UoLyhbQS1aXSkvZyxcIi0kMVwiKS50b0xvd2VyQ2FzZSgpfTtcblFoPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGEhPW51bGwpZm9yKGE9YS5maXJzdENoaWxkO2E7KXtpZihiKGEpJiYoYy5wdXNoKGEpLGQpfHxRaChhLGIsYyxkKSlyZXR1cm4hMDthPWEubmV4dFNpYmxpbmd9cmV0dXJuITF9O1JoPWZ1bmN0aW9uKGEsYil7dmFyIGM9W107cmV0dXJuIFFoKGEsYixjLCEwKT9jWzBdOnZvaWQgMH07QWg9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtRaChhLGIsYywhMSk7cmV0dXJuIGN9O1NoPWZ1bmN0aW9uKGEpe2E9YS50YWJJbmRleDtyZXR1cm4gdHlwZW9mIGE9PT1cIm51bWJlclwiJiZhPj0wJiZhPDMyNzY4fTtcbkJoPWZ1bmN0aW9uKGEpe3JldHVybiBhLnRhZ05hbWU9PVwiQVwiJiZhLmhhc0F0dHJpYnV0ZShcImhyZWZcIil8fGEudGFnTmFtZT09XCJJTlBVVFwifHxhLnRhZ05hbWU9PVwiVEVYVEFSRUFcInx8YS50YWdOYW1lPT1cIlNFTEVDVFwifHxhLnRhZ05hbWU9PVwiQlVUVE9OXCI/IWEuZGlzYWJsZWQmJighYS5oYXNBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiKXx8U2goYSkpOmEuaGFzQXR0cmlidXRlKFwidGFiaW5kZXhcIikmJlNoKGEpfTt5aD1mdW5jdGlvbihhLGIpe2E9YS5nZXRBdHRyaWJ1dGUoXCJhcmlhLVwiK2IpO3JldHVybiBhPT1udWxsfHxhPT12b2lkIDA/XCJcIjpTdHJpbmcoYSl9O1RoPWZ1bmN0aW9uKGEpe2Euanx8KGEuaj1fLmRmKGEuaSxcImtleWRvd25cIixhLm8sITEsYSkpfTtVaD1mdW5jdGlvbihhKXthLmomJihfLm1mKGEuaiksYS5qPW51bGwpfTtWaD1mdW5jdGlvbihhKXtVaChhKTtfLlkoYS5pLFwiZ2JfTlwiLCExKX07XG5XaD1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmk9YTt0aGlzLmo9bnVsbH1vKGEpe2Eua2V5Q29kZSE9OXx8Xy5WKHRoaXMuaSxcImdiX05cIil8fChfLlkodGhpcy5pLFwiZ2JfTlwiLCEwKSxVaCh0aGlzKSl9fTtfLkVoPWNsYXNzIGV4dGVuZHMgXy5Xe2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoKTt0aGlzLnY9YTtiJiYodGhpcy52LmlkPWIpfUgoKXtyZXR1cm4gdGhpcy52fVMoKXtyZXR1cm4gdGhpcy52LmlkfXRhKCl7bGV0IGE9dGhpcy52LmlkO2F8fChhPVwiZ2IkXCIrXy5SZyhfLlFnLmkoKSksdGhpcy52LmlkPWEpO3JldHVybiBhfVIoKXtfLmxnKHRoaXMudik7c3VwZXIuUigpfX07Xy5FaC5wcm90b3R5cGUuSz1mdW5jdGlvbigpe3JldHVybiB0aGlzLkgoKX07WGg9ZnVuY3Rpb24oYSl7cmV0dXJuIFJoKGEsZnVuY3Rpb24oYil7cmV0dXJuIF8udWUoYikmJkJoKGIpfSl9O1loPWZ1bmN0aW9uKGEpeyhhPVhoKGEpKSYmYS5mb2N1cygpfTtcblpoPXt5aTpcImdiX0phXCIsUGk6XCJnYl9vZFwiLFdoOlwiZ2JfU2NcIn07Xy5GaD1jbGFzcyBleHRlbmRzIF8uRWh7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSk7dGhpcy5BPVtdO3RoaXMuRD17fX1VKGEpe2xldCBiPXRoaXMuRFthXTtpZihiKXJldHVybiBiO2NvbnN0IGM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYSk7aWYoYylmb3IobGV0IGQ9MCxlPXRoaXMuQS5sZW5ndGg7ZDxlOysrZClpZihiPXRoaXMuQVtkXSxiLkgoKT09YylyZXR1cm4gdGhpcy5EW2FdPWI7cmV0dXJuIG51bGx9VCgpe2ZvcihsZXQgYT0wLGI9dGhpcy5BLmxlbmd0aDthPGI7YSsrKXRoaXMuQVthXS5kaXNwb3NlKCk7dGhpcy5EPXt9O3RoaXMuQT1bXX19O1xuJGg9ZnVuY3Rpb24oYSl7dmFyIGI7aWYoYj1hIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpYj0vLVthLXpdLy50ZXN0KFwib2dvYm1cIik/ITE6Xy5zaCYmYS5kYXRhc2V0P1wib2dvYm1cImluIGEuZGF0YXNldDphLmhhc0F0dHJpYnV0ZT9hLmhhc0F0dHJpYnV0ZShcImRhdGEtXCIrXy5QaChcIm9nb2JtXCIpKTohIWEuZ2V0QXR0cmlidXRlKFwiZGF0YS1cIitfLlBoKFwib2dvYm1cIikpO3JldHVybiBifTthaT1cImNsaWNrIG1vdXNlZG93biBzY3JvbGwgdG91Y2hzdGFydCB3aGVlbCBrZXlkb3duXCIuc3BsaXQoXCIgXCIpO2JpPWNsYXNze307XG5jaT1mdW5jdGlvbihhKXtfLmtoKGEuaixhLkgoKSxhLmRhKTthLkgoKS5hZGRFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLGZ1bmN0aW9uKGMpe2Mua2V5Q29kZT09MzImJmMucHJldmVudERlZmF1bHQoKX0pO2Euai5saXN0ZW4oYS5pLFwia2V5ZG93blwiLGEua2EpO2Euai5saXN0ZW4oYS5pLFwia2V5dXBcIixhLnVhKTtjb25zdCBiPW5ldyBNYXA7Yi5zZXQoXCJjbG9zZVwiLFwiY2JjXCIpO2Iuc2V0KFwiYmFja1wiLFwiYmJjXCIpO2IuZm9yRWFjaCgoYyxkKT0+e18ua2goYS5qLGEuQy5nZXQoZCksZnVuY3Rpb24oKXt0aGlzLmRpc3BhdGNoRXZlbnQoYyl9KX0pO2lmKF8uVihhLmksXCJnYl9KYVwiKXx8Xy5WKGEuaSxcImdiX29kXCIpKWEuai5saXN0ZW4od2luZG93LFwicmVzaXplXCIsYS5OKSxhLk4oKTtfLlYoYS5pLFwiZ2JfTmNcIil8fGEuai5KYSh3aW5kb3csXCJ0b3VjaHN0YXJ0XCIsKCk9PntfLlgoYS5pLFwib3ZlcmZsb3cteVwiLFwiYXV0b1wiKX0pfTtcbmRpPWZ1bmN0aW9uKGEpe2Euai5JYShkb2N1bWVudC5ib2R5LGFpLGEuTSwhMSxhKTthLmouSWEoZG9jdW1lbnQuYm9keSxcImZvY3VzaW5cIixhLkwpfTtlaT1mdW5jdGlvbihhLGIpeyhhPWEuQy5nZXQoYikpJiZfLkhlKGEsXCJnYl9tXCIpfTtmaT1mdW5jdGlvbihhKXthLkMuZm9yRWFjaChiPT57Xy5GZShiLFwiZ2JfbVwiKX0pfTtnaT1mdW5jdGlvbihhKXtyZXR1cm4hXy5WKGEuaSxcImdiX1JjXCIpfHxfLlYoYS5pLFwiZ2JfSmFcIil8fF8uVihhLmksXCJnYl9vZFwiKX07XG5oaT1jbGFzcyBleHRlbmRzIF8uRmh7Y29uc3RydWN0b3IoYSxiLGMsZCxlKXtjb25zdCBmPWEuZ2V0KFwibWVudVwiKTtzdXBlcihmKTt0aGlzLmk9Yjt0aGlzLk89Zjt0aGlzLkM9YTt0aGlzLlY9YS5nZXQoXCJiYWNrXCIpO3RoaXMuQj1fLlUoXCJnYl9JY1wiKTt0aGlzLkc9Yzt0aGlzLkY9Xy5VKFwiZ2JfVGNcIix0aGlzLmkpO3RoaXMuSj1uZXcgV2godGhpcy5GKTt0aGlzLkFhPVtdO3RoaXMucWE9ZHx8ITE7dGhpcy5QPWV8fCExO3RoaXMuaj1uZXcgXy50Zyh0aGlzKTtjaSh0aGlzKX1SKCl7c3VwZXIuUigpO2RpKHRoaXMpfUsoKXtyZXR1cm4gdGhpcy5GfVgoKXtyZXR1cm4gXy5VKFwiZ2JfVWRcIix0aGlzLmkpfWZhKGEpe18uWSh0aGlzLmksXCJnYl9SY1wiLGE9PTEpO3RoaXMuZGlzcGF0Y2hFdmVudChcIm1zY1wiKX1nZXRTdHlsZSgpe3JldHVybiBnaSh0aGlzKT8wOjF9RmEoYSl7dGhpcy5CfHwodGhpcy5CPV8uVShcImdiX0ljXCIpKTt0aGlzLkImJmEmJl8udmUodGhpcy5CLGEpfWlzVmlzaWJsZShhKXtyZXR1cm4oYT1cbnRoaXMuQy5nZXQoYSkpPyFfLlYoYSxcImdiX21cIik6ITF9b3BlbihhKXt0aGlzLkd8fChhJiZfLlgodGhpcy5pLFwidHJhbnNpdGlvblwiLFwibm9uZVwiKSx0aGlzLmRpc3BhdGNoRXZlbnQoXCJiZWZvcmVzaG93XCIpLF8uRmUodGhpcy5pLFwiZ2JfRWFcIiksXy54ZSh0aGlzLkgoKSxcImV4cGFuZGVkXCIsITApLFloKHRoaXMuRiksVGgodGhpcy5KKSx0aGlzLmRpc3BhdGNoRXZlbnQoXCJvcGVuXCIpLHRoaXMuai52KGRvY3VtZW50LmJvZHksYWksdGhpcy5NLCEwLHRoaXMpLHRoaXMuai5saXN0ZW4oZG9jdW1lbnQuYm9keSxcImZvY3VzaW5cIix0aGlzLkwpLGEmJl8ucmcoZnVuY3Rpb24oKXtfLlgodGhpcy5pLFwidHJhbnNpdGlvblwiLFwiXCIpfSwwLHRoaXMpKX1EYShhKXt0aGlzLkcmJl8ueGUodGhpcy5IKCksXCJleHBhbmRlZFwiLGEpfWNsb3NlKGEpe3RoaXMuR3x8KGEmJl8uWCh0aGlzLmksXCJ0cmFuc2l0aW9uXCIsXCJub25lXCIpLF8uSGUodGhpcy5pLFwiZ2JfRWFcIiksXy54ZSh0aGlzLkgoKSxcImV4cGFuZGVkXCIsXG4hMSksZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09dGhpcy5IKCkmJnRoaXMuSCgpLmJsdXIoKSxWaCh0aGlzLkopLHRoaXMuZGlzcGF0Y2hFdmVudChcImNsb3NlXCIpLGRpKHRoaXMpLGEmJl8ucmcoZnVuY3Rpb24oKXtfLlgodGhpcy5pLFwidHJhbnNpdGlvblwiLFwiXCIpfSwwLHRoaXMpKX1vKCl7cmV0dXJuIF8uVih0aGlzLmksXCJnYl9FYVwiKX1OKCl7Y29uc3QgYT13aW5kb3cudmlzdWFsVmlld3BvcnQ/d2luZG93LnZpc3VhbFZpZXdwb3J0LmhlaWdodDp3aW5kb3cuaW5uZXJIZWlnaHQ7YSYmXy5YKHRoaXMuaSxcImhlaWdodFwiLGBjYWxjKCR7YX1weCAtIDEwMCUpYCl9ZGEoKXt0aGlzLmRpc3BhdGNoRXZlbnQoXCJtYmNcIik7aWYoIXRoaXMuRyl7aWYodGhpcy5vKCkpe3RoaXMuY2xvc2UoKTt2YXIgYT0hMH1lbHNlIHRoaXMub3BlbigpLGE9ITE7YSYmdGhpcy5IKCkuZm9jdXMoKX19dWEoYSl7YS5rZXlDb2RlPT09OSYmdGhpcy5vKCkmJihhPXRoaXMuSixfLlkoYS5pLFwiZ2JfTlwiLCEwKSxVaChhKSl9a2EoYSl7YTp7aWYoYS5rZXlDb2RlPT1cbjM2fHxhLmtleUNvZGU9PTM1KXt2YXIgYj1fLkNoKHRoaXMuaSk7aWYoYi5sZW5ndGg+MCl7dmFyIGM9YltiLmxlbmd0aC0xXTthLmtleUNvZGU9PTM2JiYoYz0hZ2kodGhpcykmJmIubGVuZ3RoPjE/YlsxXTpiWzBdKTtjLmZvY3VzKCk7YS5wcmV2ZW50RGVmYXVsdCgpO2JyZWFrIGF9fWEua2V5Q29kZSE9Mjd8fHRoaXMucWEmJiFnaSh0aGlzKXx8KHRoaXMuY2xvc2UoKSx0aGlzLk8hPW51bGwmJnRoaXMuTy5mb2N1cygpKX1hLmtleUNvZGU9PT05JiZ0aGlzLm8oKSYmZ2kodGhpcykmJihiPWEudGFyZ2V0LGM9Xy5DaCh0aGlzLmkpLGMubGVuZ3RoPjAmJihiPT1jWzBdJiZhLnNoaWZ0S2V5PyhjW2MubGVuZ3RoLTFdLmZvY3VzKCksYS5wcmV2ZW50RGVmYXVsdCgpKTpiIT1jW2MubGVuZ3RoLTFdfHxhLnNoaWZ0S2V5fHwoY1swXS5mb2N1cygpLGEucHJldmVudERlZmF1bHQoKSkpKX1NKGEpe3RoaXMubygpJiZhLnRhcmdldCBpbnN0YW5jZW9mIE5vZGUmJiEoIWdpKHRoaXMpfHx0aGlzLlAmJlxuXy5uaChhLnRhcmdldCwkaCkpJiYoYS50eXBlPT1cImtleWRvd25cIj9hLmtleUNvZGU9PTI3JiYoYS5wcmV2ZW50RGVmYXVsdCgpLGEuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5jbG9zZSgpLHRoaXMuSCgpLmZvY3VzKCkpOl8ub2goYS50YXJnZXQsXCJnYl9XXCIpfHxfLm9oKGEudGFyZ2V0LFwiZ2JfRmNcIil8fF8ubWcodGhpcy5pLGEudGFyZ2V0KXx8KGEudHlwZT09XCJ0b3VjaHN0YXJ0XCImJihhLnByZXZlbnREZWZhdWx0KCksYS5zdG9wUHJvcGFnYXRpb24oKSksdGhpcy5jbG9zZSgpKSl9TCgpe3RoaXMubygpJiYoIWdpKHRoaXMpfHxkb2N1bWVudC5hY3RpdmVFbGVtZW50LnRhZ05hbWUhPVwiSUZSQU1FXCImJih0aGlzLlAmJl8ubmgoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCwkaCl8fF8ub2goZG9jdW1lbnQuYWN0aXZlRWxlbWVudCxcImdiX01jXCIpfHxfLm9oKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsXCJnYl9XXCIpfHxZaCh0aGlzLkYpKSl9aGEoKXt0aGlzLkFhLnB1c2gobmV3IGJpKX19O1xuXy5HaD1jbGFzcyBleHRlbmRzIF8uRWh7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSk7Xy5qaC5saXN0ZW4oYSx0aGlzLmksITEsdGhpcyl9aShhKXt0aGlzLmRpc3BhdGNoRXZlbnQoXCJjbGlja1wiKXx8YS5wcmV2ZW50RGVmYXVsdCgpfX07dmFyIGlpPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5pPW51bGx9WmMoKXtyZXR1cm4gdGhpcy5pfX07dmFyIGppPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLmk9YTt0aGlzLmo9Yjt0aGlzLm89Y3x8Xy50fX07dmFyIGtpPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaT1bXTt0aGlzLnY9YXx8dGhpc31qKGEsYixjKXt0aGlzLkEoYSxiLGMpO3RoaXMuaS5wdXNoKG5ldyBqaShhLGIsYykpfUEoYSxiLGMpe2M9Y3x8Xy50O2Zvcih2YXIgZD0wLGU9dGhpcy5pLmxlbmd0aDtkPGU7ZCsrKXt2YXIgZj10aGlzLmlbZF07aWYoZi5pPT1hJiZmLmo9PWImJmYubz09Yyl7dGhpcy5pLnNwbGljZShkLDEpO2JyZWFrfX19byhhKXthLmk9dGhpcy52O2Zvcih2YXIgYj0wLGM9dGhpcy5pLmxlbmd0aDtiPGM7YisrKXt2YXIgZD10aGlzLmlbYl07ZC5pPT1cImNhdGNcIiYmZC5qLmNhbGwoZC5vLGEpfX19O3ZhciBtaT1mdW5jdGlvbihhLGIpe18uVy5jYWxsKHRoaXMpO3RoaXMuaT1hO3RoaXMubz1saSh0aGlzLmkpO3RoaXMuQz1ifHwxMDA7dGhpcy52PV8uZGYoYSxcInJlc2l6ZVwiLHRoaXMuQSwhMSx0aGlzKX07Xy5DKG1pLF8uVyk7bWkucHJvdG90eXBlLlI9ZnVuY3Rpb24oKXtfLm1mKHRoaXMudik7bWkuVy5SLmNhbGwodGhpcyl9O21pLnByb3RvdHlwZS5BPWZ1bmN0aW9uKCl7dGhpcy5qfHwodGhpcy5qPW5ldyBNaCh0aGlzLkIsdGhpcy5DLHRoaXMpLF8uJGYodGhpcyx0aGlzLmopKTt0aGlzLmouc3RhcnQoKX07XG5taS5wcm90b3R5cGUuQj1mdW5jdGlvbigpe2lmKCF0aGlzLmkuaXNEaXNwb3NlZCgpKXt2YXIgYT10aGlzLm8sYj1saSh0aGlzLmkpO3RoaXMubz1iO2lmKGEpe3ZhciBjPSExO2Eud2lkdGghPWIud2lkdGgmJih0aGlzLmRpc3BhdGNoRXZlbnQoXCJiXCIpLGM9ITApO2EuaGVpZ2h0IT1iLmhlaWdodCYmKHRoaXMuZGlzcGF0Y2hFdmVudChcImFcIiksYz0hMCk7YyYmdGhpcy5kaXNwYXRjaEV2ZW50KFwicmVzaXplXCIpfWVsc2UgdGhpcy5kaXNwYXRjaEV2ZW50KFwiYVwiKSx0aGlzLmRpc3BhdGNoRXZlbnQoXCJiXCIpLHRoaXMuZGlzcGF0Y2hFdmVudChcInJlc2l6ZVwiKX19O3ZhciBuaT1mdW5jdGlvbihhKXtfLlcuY2FsbCh0aGlzKTt0aGlzLmo9YXx8d2luZG93O3RoaXMubz1fLmRmKHRoaXMuaixcInJlc2l6ZVwiLHRoaXMudiwhMSx0aGlzKTt0aGlzLmk9Xy5nZyh0aGlzLmp8fHdpbmRvdyl9O18uQyhuaSxfLlcpO3ZhciBwaT1mdW5jdGlvbigpe3ZhciBhPXdpbmRvdyxiPV8uU2QoYSk7cmV0dXJuIG9pW2JdPW9pW2JdfHxuZXcgbmkoYSl9LG9pPXt9LGxpPWZ1bmN0aW9uKGEpe3JldHVybiBhLmk/Xy55ZyhhLmkpOm51bGx9O25pLnByb3RvdHlwZS5SPWZ1bmN0aW9uKCl7bmkuVy5SLmNhbGwodGhpcyk7dGhpcy5vJiYoXy5tZih0aGlzLm8pLHRoaXMubz1udWxsKTt0aGlzLmk9dGhpcy5qPW51bGx9O25pLnByb3RvdHlwZS52PWZ1bmN0aW9uKCl7dmFyIGE9Xy5nZyh0aGlzLmp8fHdpbmRvdyk7Xy56ZyhhLHRoaXMuaSl8fCh0aGlzLmk9YSx0aGlzLmRpc3BhdGNoRXZlbnQoXCJyZXNpemVcIikpfTt2YXIgcWk9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MCxkPWIubGVuZ3RoLTEsZT1iWzBdO2M8ZDspe2lmKGE8PWUubWF4KXJldHVybiBlLmlkO2U9YlsrK2NdfXJldHVybiBiW2RdLmlkfSxyaT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMudj1uZXcga2kodGhpcyk7dGhpcy5EPWE7dGhpcy5CPWI7dGhpcy5pPXFpKGEub2Zmc2V0V2lkdGgsdGhpcy5CKTt0aGlzLkY9bmV3IG1pKHBpKCksMTApO18uZGYodGhpcy5GLFwiYlwiLGZ1bmN0aW9uKCl7d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZT93aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgwLF8ueikodGhpcy5DLHRoaXMpKTp0aGlzLkMoKX0sITEsdGhpcyl9Qygpe3ZhciBhPXFpKHRoaXMuRC5vZmZzZXRXaWR0aCx0aGlzLkIpO2EhPXRoaXMuaSYmKHRoaXMuaT1hLHRoaXMubyhuZXcgaWkpKX1qKGEsYixjKXt0aGlzLnYuaihhLGIsYyl9QShhLGIpe3RoaXMudi5BKGEsYil9byhhKXt0aGlzLnYubyhhKX19O18uSGg9Y2xhc3MgZXh0ZW5kcyBfLkVoe2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpO18uZGYoYSxcImNsaWNrXCIsdGhpcy5pLCExLHRoaXMpfWooKXt2YXIgYT10aGlzLkgoKS5nZXRBdHRyaWJ1dGUoXCJhcmlhLXByZXNzZWRcIik7cmV0dXJuKGE9PW51bGw/YTp0eXBlb2YgYT09PVwiYm9vbGVhblwiP2E6YT09XCJ0cnVlXCIpfHwhMX1pKGEpe2E9YS5jdXJyZW50VGFyZ2V0O3ZhciBiPXloKGEsXCJwcmVzc2VkXCIpO18uY2coXy50aChiKSl8fGI9PVwidHJ1ZVwifHxiPT1cImZhbHNlXCI/Xy54ZShhLFwicHJlc3NlZFwiLGI9PVwidHJ1ZVwiP1wiZmFsc2VcIjpcInRydWVcIik6YS5yZW1vdmVBdHRyaWJ1dGUoXCJhcmlhLXByZXNzZWRcIik7dGhpcy5kaXNwYXRjaEV2ZW50KFwiY2xpY2tcIil9fTt2YXIgc2ksdGksdWksdmksRWksQmksRmksR2ksQ2ksd2kseGkseWksQWksRGksSWksWixKaTtzaT1mdW5jdGlvbihhLGIpe2lmKGE9Xy5VKGI/XCJnYl80ZFwiOlwiZ2JfNWRcIixhLm8pKXt2YXIgYz1hLm9mZnNldFdpZHRoO18uV2IoYS5jaGlsZHJlbixmdW5jdGlvbihkKXtfLlYoZCxcImdiX21cIikmJihjLT1kLm9mZnNldFdpZHRoKX0pO3JldHVybiBjfXJldHVybiAwfTt0aT1mdW5jdGlvbihhLGIpe2Eudj09bnVsbD9hLk0ubG9nKEVycm9yKFwiYWFcIikpOmEuVj9hLk0ubG9nKEVycm9yKFwiYmFcIikpOmEuRGE9YjwwPzA6Yn07dWk9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPTMyMCxlPV8uVmYoXy5QZChhLmosMjkpLDApO2U+MCYmKGQ9ZSk7ZT1kKzIqTWF0aC5tYXgoYixjKTtiPWQrYitjO3JldHVybiBlIT1iJiZhLlY/W3tpZDoxLG1heDpifSx7aWQ6MixtYXg6ZX0se2lkOjN9XTpbe2lkOjEsbWF4OmJ9LHtpZDozfV19O1xudmk9ZnVuY3Rpb24oYSl7dmFyIGI9Xy4kYy5pKCk7YS5EfHxiLmkucmVqZWN0KEVycm9yKFwiV1wiKSk7Xy53KF8uSShhLmosNykpfHxiLkQucmVqZWN0KEVycm9yKFwiWFwiKSk7Xy53KF8uSShhLmosMTIpKXx8Yi5CLnJlamVjdChFcnJvcihcIllcIikpO18udyhfLkkoYS5qLDEzKSl8fGIuQy5yZWplY3QoRXJyb3IoXCJaXCIpKX07XG5FaT1mdW5jdGlvbihhLGIpeyFhLmkmJmEuRCYmd2koYSk7YS5pJiYhYS5OJiZhLkcoXCJkZWZhdWx0XCIpO2EuaSYmYS5MYiYmYS5HKFwibm9uZVwiKTt4aShhKTtpZihhLk1iKWEuSz0hMDtlbHNlIGlmKGEuTmIpYS5LPSExO2Vsc2UgaWYoYS5YKWEuSz0hMDtlbHNlIGlmKGEuVClhLks9ITE7ZWxzZXt2YXIgYz1iPT09XCJnYl9KYVwiLGQ9Xy53KF8uSShhLmosNSksITEpLGU9Xy53KF8uSShhLmosNyksITEpO2EuSz0hKGMmJihkfHxlKSl9Yz1iPT1cImdiX0phXCI7ZD1iPT1cImdiX29kXCI7YS5LYiYmYS5TJiZfLlkoYS5TLFwiZ2JfbVwiLGN8fGQpO2U9eWkoYSxiKTthLmkmJmU/Xy56aShhKXx8YS5PPT1udWxsfHwoZT1fLlUoXCJnYl9YY1wiKSxhLk8ucGFyZW50Tm9kZSE9ZSYmZS5pbnNlcnRCZWZvcmUoYS5PLGUuY2hpbGROb2Rlc1swXXx8bnVsbCksXy5GZShhLkEsXCJnYl92ZFwiKSxhLmZhKCksYS5kaXNwYXRjaEV2ZW50KFwidXBpXCIpKTpfLnppKGEpJiZhLkQmJmEuTyE9bnVsbCYmKGU9YS5MZCxlLmluc2VydEJlZm9yZShhLk8sXG5lLmNoaWxkTm9kZXNbMF18fG51bGwpLF8uSGUoYS5BLFwiZ2JfdmRcIiksYS5mYSgpLGEuZGlzcGF0Y2hFdmVudChcInVwb1wiKSk7Xy5LKGEuaiw0NCkmJiFhLlgmJiFfLksoYS5qLDEwKSYmQWkoYSkubGVuZ3RoPjEmJmEuUyYmYS5BJiYoXy5ZKGEuUyxcImdiX21cIixjKSxfLlkoYS5BLFwiZ2JfdmRcIixjKSk7aWYoYS5DJiYhYS5YKXtlPWEuQy5IKCk7dmFyIGY9IWEuVDtfLlkoZSxcImdiX21cIiwhZik7ZiYmQmkoYSxhLkspfWEuaSYmKGEuaS5pc1Zpc2libGUoXCJtZW51XCIpfHxhLmkuaXNWaXNpYmxlKFwiYmFja1wiKSkmJiFnaShhLmkpJiYoYS51YT1hLmkubygpKTtlPV8udWgoWmgpO18uSWUoYS5vLGUpO18uRmUoYS5vLGIpO18uSShhLmosNyk7aWYoYS5WJiZhLkIhPW51bGwpaWYoYiE9XCJnYl9TY1wiKV8uWChhLkIsXCJtaW4td2lkdGhcIixcIlwiKSxfLlgoYS5BLFwibWluLXdpZHRoXCIsXCJcIik7ZWxzZXtmPV8uS2coYS5CKS53aWR0aDt2YXIgZz1fLktnKGEuQSkud2lkdGg7Zj1NYXRoLm1heChmLGcpO18uWChhLkIsXG5cIm1pbi13aWR0aFwiLGYrXCJweFwiKTtfLlgoYS5BLFwibWluLXdpZHRoXCIsZitcInB4XCIpfWM/YS5QfHwoYS5QPSEwLENpKGEsYS5QKSk6KGEuUD0hMSxhLmhhKCkpO2EudiE9bnVsbCYmKF8uWShhLnYsXCJnYl9LZVwiLCFjJiYhZCksXy5ZKGEudixcImdiX0plXCIsY3x8ZCkpO2EuaSYmKGM9YS5pLmksXy5JZShjLGUpLF8uRmUoYyxiKSxnaShhLmkpP18uVShcImdiX3pkXCIpLmFwcGVuZENoaWxkKGMpOmEuby5hcHBlbmRDaGlsZChjKSxhLmkuaXNWaXNpYmxlKFwibWVudVwiKXx8YS5pLmlzVmlzaWJsZShcImJhY2tcIikpJiYoYj0hZ2koYS5pKSxjPWEuaS5vKCksYiYmIWMmJmEudWE/YS5pLm9wZW4oKTohYiYmYyYmYS5pLmNsb3NlKCkpO0RpKGEpfTtCaT1mdW5jdGlvbihhLGIpe2NvbnN0IGM9Xy5VKFwiZ2JfRWNcIixhLkMuSCgpKTtfLlkoYyxcImdiX21cIiwhYik7YT1fLlUoXCJnYl9nZFwiLGEuQy5IKCkpO2EhPW51bGwmJl8uWShhLFwiZ2JfVGRcIiwhYil9O1xuRmk9ZnVuY3Rpb24oYSl7YT1hLmRhWzBdO3JldHVybiBhLmNsYXNzTGlzdC5jb250YWlucyhcImdiX0hjXCIpPzE6YS5jbGFzc0xpc3QuY29udGFpbnMoXCJnYl9EZFwiKT8yOjB9O0dpPWZ1bmN0aW9uKGEsYil7aWYoYS5DKXtpZihiPT0yKXtiPV8ueChfLkooYS5qLDI0KSxcIlwiKTt2YXIgYz1fLngoXy5KKGEuaiwyNyksXCJcIil9ZWxzZSBiPT0xPyhiPV8ueChfLkooYS5qLDIzKSxcIlwiKSxjPV8ueChfLkooYS5qLDI2KSxcIlwiKSk6KGI9Xy54KF8uSihhLmosMjIpLFwiXCIpLGM9Xy54KF8uSihhLmosMjUpLFwiXCIpKTtiPT1cIlwiJiZjPT1cIlwifHxMaChhLkMsYixjKX19O18uSGk9ZnVuY3Rpb24oYSxiLGMpe2EuaSYmKGdpKGEuaSkmJihjPWI9ITEpLGE9ZG9jdW1lbnQuYm9keSxfLlkoYSxcImdiX1pkXCIsYiksXy5ZKGEsXCJnYl9YZFwiLGMpKX07XG5DaT1mdW5jdGlvbihhLGIpe2lmKF8uSyhhLmosNykmJighYS5QfHxiKSl7aWYoYS5WKXt2YXIgYz1fLlUoXCJnYl80ZFwiLGEubyk7aWYoYyl7dmFyIGQ9Xy5VKFwiZ2JfNWRcIixhLm8pLGU9YS5GLmkhPVwiZ2JfU2NcInx8Yj9cIlwiOmEuUWIrXCJweFwiO18uWChjLFwibWluLXdpZHRoXCIsZSk7Xy5YKGQsXCJtaW4td2lkdGhcIixlKX19Xy5WKGEudixcImdiX3RlXCIpIT1iJiYoXy5ZKGEudixcImdiX3RlXCIsYiksYj9hLmRpc3BhdGNoRXZlbnQoXCJzZmlcIik6YS5kaXNwYXRjaEV2ZW50KFwic2Z1XCIpLF8uWShfLlUoXCJnYl9NZFwiLGEudiksXCJnYl90ZVwiLGIpKX19O1xud2k9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5VKFwiZ2JfTWNcIik7aWYoYil7dmFyIGM9bmV3IE1hcDtjLnNldChcIm1lbnVcIixfLlUoXCJnYl9GY1wiLGEubykpO2Muc2V0KFwiYmFja1wiLF8uVShcImdiX0pjXCIpKTtjLnNldChcImNsb3NlXCIsXy5VKFwiZ2JfS2NcIikpO3ZhciBkPSExO2MuZm9yRWFjaChlPT57ZXx8KGEuTS5sb2coRXJyb3IoXCJVXCIpKSxkPSEwKX0pO2lmKCFkKXthLmk9bmV3IGhpKGMsYixfLncoXy5JKGEuaiwxNiksITEpLF8udyhfLkkoYS5qLDkpLCExKSxfLncoXy5JKGEuaiwzMyksITEpKTthLmkubGlzdGVuKFwib3BlblwiLGEuSWIsITEsYSk7YS5pLmxpc3RlbihcImNsb3NlXCIsYS5IYiwhMSxhKTthLmkubGlzdGVuKFwibXNjXCIsYS5KYiwhMSxhKTtzd2l0Y2goXy5TKGEuaiwzMikpe2Nhc2UgMTphLkcoXCJiYWNrXCIpO2JyZWFrO2Nhc2UgMjphLkcoXCJjbG9zZVwiKTticmVhaztjYXNlIDM6YS5HKFwibm9uZVwiKTticmVhaztkZWZhdWx0OmEuRyhcImRlZmF1bHRcIil9Xy5JaCgpO18uQShcImdiYXIuQ1wiLFxuaGkpO2hpLnByb3RvdHlwZS5jYT1oaS5wcm90b3R5cGUuSztoaS5wcm90b3R5cGUuY2M9aGkucHJvdG90eXBlLmhhO2hpLnByb3RvdHlwZS5jZD1oaS5wcm90b3R5cGUuZmE7aGkucHJvdG90eXBlLmNmPWhpLnByb3RvdHlwZS5vcGVuO2hpLnByb3RvdHlwZS5jZz1oaS5wcm90b3R5cGUuY2xvc2U7aGkucHJvdG90eXBlLmNoPWhpLnByb3RvdHlwZS5nZXRTdHlsZTtoaS5wcm90b3R5cGUuY2s9aGkucHJvdG90eXBlLm87aGkucHJvdG90eXBlLmNsPWhpLnByb3RvdHlwZS5EYTtoaS5wcm90b3R5cGUuY209aGkucHJvdG90eXBlLlg7aGkucHJvdG90eXBlLmNuPWhpLnByb3RvdHlwZS5GYTtfLiRjLmkoKS5pLnJlc29sdmUoYS5pKX19ZWxzZSBhLk0ubG9nKEVycm9yKFwiVlwiKSl9O3hpPWZ1bmN0aW9uKGEpe2EuQiE9bnVsbCYmKGEuRi5pPT1cImdiX0phXCI/Xy5YKGEuQixcIm1pbi13aWR0aFwiLFwiXCIpOmEuRGEhPW51bGwmJl8uWChhLkIsXCJtaW4td2lkdGhcIixhLkRhK1wicHhcIikpfTtcbnlpPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yj09XCJnYl9KYVwiO2I9Yj09XCJnYl9vZFwiO3ZhciBkPV8udyhfLkkoYS5qLDUpLCExKSxlPV8udyhfLkkoYS5qLDIpLCExKTtyZXR1cm4hKF8udyhfLkkoYS5qLDEwKSwhMSl8fGEuWHx8Xy53KF8uSShhLmosNDQpLCExKSkmJmUmJihjfHxiJiYoZHx8YS5UKSl9O0FpPWZ1bmN0aW9uKGEpe3ZhciBiPV8uVShcImdiXzRkXCIsYS5vKSxjPV8uVShcImdiXzVkXCIsYS5vKSxkPVtdO2ImJl8uV2IoYi5jaGlsZHJlbixmdW5jdGlvbihlKXtkLnB1c2goZSl9KTtfLncoXy5JKGEuaiw3KSwhMSkmJihhPV8uVShcImdiX3RlXCIsYS52KSkmJihhPV8uVShcImdiX3ZlXCIsYSksYS5qPSEwLGQucHVzaChhKSk7YyYmXy5XYihjLmNoaWxkcmVuLGZ1bmN0aW9uKGUpe2QucHVzaChlKX0pO3JldHVybiBkfTtEaT1mdW5jdGlvbihhKXt2YXIgYj1hLm8ub2Zmc2V0SGVpZ2h0K1wicHhcIjthLkFhIT1iJiYoYS5BYT1iLGEuUGEmJihhLlBhLnN0eWxlLmhlaWdodD1iKSxhLmRpc3BhdGNoRXZlbnQoXCJyZXNpemVcIikpfTtcbl8uemk9ZnVuY3Rpb24oYSl7cmV0dXJuISFhLmkmJl8uVihhLkEsXCJnYl92ZFwiKX07SWk9ZnVuY3Rpb24oYSxiKXtfLkllKGEsW1wiZ2JfRGRcIixcImdiX0hjXCJdKTtiPT0xP18uRmUoYSxcImdiX0hjXCIpOmI9PTImJl8uRmUoYSxcImdiX0RkXCIpfTtcblo9Y2xhc3MgZXh0ZW5kcyBfLld7Y29uc3RydWN0b3IoYSxiLGMsZCl7c3VwZXIoKTt0aGlzLm89YTtfLkhlKHRoaXMubyxcImdiX2hkXCIpO3RoaXMuaj1iO3RoaXMuTT1jO3RoaXMuQWE9XCJcIjt0aGlzLlBhPWQ7dGhpcy5DPXRoaXMuaT1udWxsO3RoaXMudWE9dGhpcy5OPXRoaXMuSz0hMTt0aGlzLlg9Xy53KF8uSSh0aGlzLmosMTYpLCExKTt0aGlzLmFiPW5ldyBfLnRnKHRoaXMpO3RoaXMucWE9Xy5VKFwiZ2JfNmNcIix0aGlzLm8pO3RoaXMuUz1fLlUoXCJnYl9rXCIsdGhpcy5vKTt0aGlzLlQ9Xy53KF8uSShiLDYpLCExKTt0aGlzLlNiPV8uVShcImdiX2FkXCIsdGhpcy5xYSk7dGhpcy5EPV8uVShcImdiX2pkXCIsdGhpcy5vKTt0aGlzLkw9Xy5VKFwiZ2JfcmRcIix0aGlzLm8pO3RoaXMuQT1fLlUoXCJnYl91ZFwiLHRoaXMubyk7dGhpcy5PPV8uVShcImdiX1pjXCIsdGhpcy5vKTt0aGlzLkxkPV8uVShcImdiX0xkXCIsdGhpcy5vKTt0aGlzLkI9Xy5VKFwiZ2JfOGNcIix0aGlzLm8pO3RoaXMudj1fLlUoXCJnYl90ZFwiLFxudGhpcy5vKTt0aGlzLmRhPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKF8ubGgoXCJnYl9jZFwiLHRoaXMubykpO3RoaXMuUD0hMTt0aGlzLmxiPV8udyhfLkkodGhpcy5qLDQ4KSwhMSk7dGhpcy5NYj1fLncoXy5JKHRoaXMuaiwxOSksITEpO3RoaXMuTGI9Xy53KF8uSSh0aGlzLmosMjApLCExKTt0aGlzLktiPV8udyhfLkkodGhpcy5qLDQ1KSwhMSk7dGhpcy5OYj1fLncoXy5JKHRoaXMuaiw0NiksITEpO2E9c2kodGhpcywhMCk7Yj1zaSh0aGlzLCExKTt0aGlzLlFiPU1hdGgubWF4KGEsYik7dGhpcy5WPV8uSSh0aGlzLmosMTUpO2M9Xy5WZihfLlBkKHRoaXMuaiwzMCksMCk7YyE9MCYmdGkodGhpcyxjKTthPXVpKHRoaXMsYSxiKTt0aGlzLkY9bmV3IHJpKGRvY3VtZW50LmJvZHksSmkpO3RoaXMueWI9Xy54KF8uSih0aGlzLmosMzcpKTt0aGlzLndiPV8ueChfLkoodGhpcy5qLDM4KSk7Xy5WKHRoaXMubyxcImdiX2RkXCIpO3RoaXMubGM9Xy53KF8uSSh0aGlzLmosMzkpKTt0aGlzLlBiPVxuXy53KF8uSSh0aGlzLmosMSksITEpO3RoaXMuT2I9Xy53KF8uSSh0aGlzLmosNDApLCExKTt2aSh0aGlzKTtFaSh0aGlzLHRoaXMuRi5pKTt0aGlzLkYuaihcImNhdGNcIix0aGlzLkdiLHRoaXMpO18uSyh0aGlzLmosOCkmJmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJzY3JvbGxcIiwoMCxfLnopKGZ1bmN0aW9uKCl7Xy5ZKHRoaXMubyxcImdiX2xkXCIsd2luZG93LnNjcm9sbFk+MCl9LHRoaXMpKTt0aGlzLnYhPW51bGwmJl8uSyh0aGlzLmosNykmJih0aGlzLmthPW5ldyByaSh0aGlzLnYsYSksdGhpcy5rYS5qKFwiY2F0Y1wiLHRoaXMuaGEsdGhpcyksdGhpcy5oYSgpKTt0aGlzLko9bnVsbDtpZih0aGlzLlU9Xy5VKFwiZ2JfeGFcIix0aGlzLm8pKXRoaXMuSj1fLlUoXCJnYl9JYVwiLHRoaXMuVSksdGhpcy5hYi52KHRoaXMuSixcImVycm9yXCIsdGhpcy5GYiwhMSx0aGlzKX1GYigpe3RoaXMuSiE9bnVsbCYmKHRoaXMuSi5zcmM9XCJodHRwczovL3d3dy5nc3RhdGljLmNvbS9pbWFnZXMvaWNvbnMvbWF0ZXJpYWwvc3lzdGVtLzF4L2Jyb2tlbl9pbWFnZV9ncmV5NjAwXzE4ZHAucG5nXCIsXG50aGlzLkouc3Jjc2V0PVwiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2ljb25zL21hdGVyaWFsL3N5c3RlbS8xeC9icm9rZW5faW1hZ2VfZ3JleTYwMF8xOGRwLnBuZyAxeCwgaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2ljb25zL21hdGVyaWFsL3N5c3RlbS8yeC9icm9rZW5faW1hZ2VfZ3JleTYwMF8xOGRwLnBuZyAyeFwiLF8uWCh0aGlzLkosXCJ3aWR0aFwiLFwiYXV0b1wiKSxfLkZlKHRoaXMuSi5wYXJlbnRFbGVtZW50LFwiZ2JfSGFcIikpfUgoKXtyZXR1cm4gdGhpcy5vfVJjKGEpe3RoaXMuQz1hO0JpKHRoaXMsdGhpcy5LKTthPUZpKHRoaXMpO2EhPTAmJkdpKHRoaXMsYSl9U2MoYSxiKXt0aGlzLkMmJkxoKHRoaXMuQyxhLGIpfVhhKGEpe3RoaXMuRmEoYXx8dGhpcy5sYz8xOjApO18uVih0aGlzLkgoKSxcImdiX0NkXCIpfHx0aGlzLnRhKGE/dGhpcy55Yjp0aGlzLndiKTtfLlkodGhpcy5IKCksXCJnYl9pXCIsYSk7Y29uc3QgYj1fLlUoXCJnYl9lZFwiKTtiIT1udWxsJiZfLlkoYixcblwiZ2JfaVwiLGEpO3RoaXMuaSYmdGhpcy5PYiYmXy5ZKHRoaXMuaS5pLFwiZ2JfUWNcIixhKTt0aGlzLlUmJl8uWSh0aGlzLlUsXCJnYl9pXCIsYSk7Xy5CZChcImRkXCIpLlhhKGEpfVVjKGEpe3RoaXMucWEmJihfLnZlKHRoaXMuU2IsYXx8XCJcIiksXy5ZKHRoaXMucWEsXCJnYl9tXCIsIWEpLHRoaXMuVD0hIWEsRWkodGhpcyx0aGlzLkYuaSkpfXViKCl7cmV0dXJuIF8uVShcImdiX1VkXCIsdGhpcy5EKX1oYSgpe2lmKHRoaXMua2EhPW51bGwpe3ZhciBhPXRoaXMua2EuaTthPT0zP0NpKHRoaXMsITEpOmE9PTE/Q2kodGhpcywhMCk6Q2kodGhpcyx0aGlzLkYuaT09XCJnYl9TY1wiKX19R2IoKXtFaSh0aGlzLHRoaXMuRi5pKTt0aGlzLmkmJl8uSGkodGhpcyx0aGlzLmkubygpLCExKTt0aGlzLmRpc3BhdGNoRXZlbnQoXCJmZmNcIil9SWIoKXtfLkhpKHRoaXMsITAsITApfUhiKCl7Xy5IaSh0aGlzLCExLCEwKX1KYigpe3ZhciBhPWdpKHRoaXMuaSksYj10aGlzLmkuaTthP18uVShcImdiX3pkXCIpLmFwcGVuZENoaWxkKGIpOlxudGhpcy5vLmFwcGVuZENoaWxkKGIpfUcoYSl7dmFyIGI9ITE7c3dpdGNoKGEpe2Nhc2UgXCJiYWNrXCI6dGhpcy5OPSEwO2ZpKHRoaXMuaSk7ZWkodGhpcy5pLFwiYmFja1wiKTtiPSEwO2JyZWFrO2Nhc2UgXCJjbG9zZVwiOnRoaXMuTj0hMDtmaSh0aGlzLmkpO2VpKHRoaXMuaSxcImNsb3NlXCIpO2I9ITA7YnJlYWs7Y2FzZSBcImRlZmF1bHRcIjp0aGlzLk49ITE7eWkodGhpcyx0aGlzLkYuaSl8fHRoaXMuUGI/KHRoaXMuaSYmIXRoaXMuaS5pc1Zpc2libGUoXCJtZW51XCIpJiYoZmkodGhpcy5pKSxlaSh0aGlzLmksXCJtZW51XCIpKSxiPSEwKToodGhpcy5pJiZ0aGlzLmkuaXNWaXNpYmxlKFwiYmFja1wiKSYmZmkodGhpcy5pKSx0aGlzLmkmJnRoaXMuaS5pc1Zpc2libGUoXCJtZW51XCIpPyhhPXRoaXMuaSxhLmNsb3NlKCksXy5GZShhLkgoKSxcImdiX21cIiksIV8uVihhLlYsXCJnYl9tXCIpJiZfLkhlKGEuSCgpLFwiZ2JfTGNcIikpOihhPV8uVShcImdiX0ZjXCIsdGhpcy5vKSkmJl8uRmUoYSxcImdiX21cIiksYj0hMSk7YnJlYWs7XG5jYXNlIFwibm9uZVwiOnRoaXMuTj0hMCxmaSh0aGlzLmkpLGI9ITF9dGhpcy5CIT1udWxsJiZfLlkodGhpcy5CLFwiZ2JfOWNcIixiKX10Yigpe3JldHVybiB0aGlzLm8ub2Zmc2V0SGVpZ2h0fVJiKCl7dGhpcy5MJiZEaSh0aGlzKX1BYigpe2lmKCF0aGlzLkwpe3ZhciBhPV8ucmUoXCJESVZcIik7Xy5HZShhLFtcImdiX3JkXCIsXCJnYl9jZFwiXSk7SWkoYSxGaSh0aGlzKSk7YS5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9dGhpcy5vLnN0eWxlLmJhY2tncm91bmRDb2xvcjt0aGlzLmRhLnB1c2goYSk7dmFyIGI9dGhpcy5EO2IucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLGIubmV4dFNpYmxpbmcpO3RoaXMuTD1hfXJldHVybiB0aGlzLkx9VGIoKXtfLmxnKHRoaXMuTCk7dGhpcy5MPW51bGw7RGkodGhpcyl9RmEoYSl7YT09MiYmKGE9MCk7Zm9yKHZhciBiPTA7Yjx0aGlzLmRhLmxlbmd0aDtiKyspSWkodGhpcy5kYVtiXSxhKTtHaSh0aGlzLGEpfXRhKGEpe3RoaXMuby5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9XG5hfXJiKCl7cmV0dXJuIHRoaXMuby5zdHlsZS5iYWNrZ3JvdW5kQ29sb3J9ZmEoKXt2YXIgYT1fLkJkKFwiZGRcIik7Xy52aChhKSYmXy52aChhKS5QKCExKTtfLk5oKGEsbnVsbCl9UWMoYSl7dGkodGhpcyxhLTgtMTApO3hpKHRoaXMpfVRjKGEpe18uWShfLlUoXCJnYl95Y1wiLHRoaXMuRCksXCJnYl9tXCIsIWEpfXZiKGEpe3RoaXMubGImJl8uWSh0aGlzLkgoKSxcImdiX21cIiwhYSl9SmMoKXtPaChhPT57YSYmYS5KYygpfSl9a2MoYSl7YSYmKF8uRGgoXy5VKFwiZ2JfZWRcIiksYSksXy4kYy5pKCkuai50aGVuKGI9PnZvaWQgYi5HZChhKSkpfX07Smk9W3tpZDpcImdiX0phXCIsbWF4OjU5OX0se2lkOlwiZ2Jfb2RcIixtYXg6MTAyM30se2lkOlwiZ2JfU2NcIn1dO3ZhciBLaTtfLlcucHJvdG90eXBlLnphPV8uTmQoZnVuY3Rpb24oYSxiLGMsZCxlKXtyZXR1cm4gYS5jYWxsKHRoaXMsYixfLk5kKEpoLGMpLGQsZSl9LF8uVy5wcm90b3R5cGUubGlzdGVuKTtfLlcucHJvdG90eXBlLnpiPV8uVy5wcm90b3R5cGUuS2c7dmFyIExpPV8uVShcImdiX2hhXCIpO1xuaWYoTGk9PW51bGwpS2k9bnVsbDtlbHNle3ZhciBNaT1fLkYoXy5hZCxfLkplLDYpfHxuZXcgXy5KZSxOaT1uZXcgWihMaSxNaSxfLlBjLF8uVShcImdiX21kXCIpKTtfLkEoXCJnYmFyLlBcIixaKTtaLnByb3RvdHlwZS5wYT1aLnByb3RvdHlwZS50YjtaLnByb3RvdHlwZS5wYj1aLnByb3RvdHlwZS5VYztaLnByb3RvdHlwZS5wYz1aLnByb3RvdHlwZS5GYTtaLnByb3RvdHlwZS5wZD1aLnByb3RvdHlwZS50YTtaLnByb3RvdHlwZS5wZT1aLnByb3RvdHlwZS5BYjtaLnByb3RvdHlwZS5wZj1aLnByb3RvdHlwZS5SYjtaLnByb3RvdHlwZS5wZz1aLnByb3RvdHlwZS5UYjtaLnByb3RvdHlwZS5waD1aLnByb3RvdHlwZS51YjtaLnByb3RvdHlwZS5waT1aLnByb3RvdHlwZS5mYTtaLnByb3RvdHlwZS5waj1aLnByb3RvdHlwZS5RYztaLnByb3RvdHlwZS5waz1aLnByb3RvdHlwZS5UYztaLnByb3RvdHlwZS5wbD1aLnByb3RvdHlwZS5rYztaLnByb3RvdHlwZS5wbT1aLnByb3RvdHlwZS5HO1oucHJvdG90eXBlLnBuPVxuWi5wcm90b3R5cGUucmI7Wi5wcm90b3R5cGUucG89Wi5wcm90b3R5cGUuU2M7Wi5wcm90b3R5cGUucHA9Wi5wcm90b3R5cGUuWGE7Wi5wcm90b3R5cGUucHE9Wi5wcm90b3R5cGUuSmM7Wi5wcm90b3R5cGUucHI9Wi5wcm90b3R5cGUudmI7Xy4kYy5pKCkudi5yZXNvbHZlKE5pKTtLaT1OaX1fLk9pPUtpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgb2oscmoscGo7b2o9ZnVuY3Rpb24oKXtfLklhKCl9O3JqPWZ1bmN0aW9uKGEsYil7KHBqfHwocGo9bmV3IFdlYWtNYXApKS5zZXQoYSxiKTsoXy5xanx8KF8ucWo9bmV3IFdlYWtNYXApKS5zZXQoYixhKX07Xy5zaj1mdW5jdGlvbihhLGIsYyxkKXthPV8ucmIoYSxiLGMsZCk7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/YTpfLnljfTtfLnRqPWZ1bmN0aW9uKGEsYil7YT0oMiZiP2F8MjphJi0zKXwzMjtyZXR1cm4gYSY9LTIwNDl9O18udWo9ZnVuY3Rpb24oYSxiKXthPT09MCYmKGE9Xy50aihhLGIpKTtyZXR1cm4gYXwxfTtfLnZqPWZ1bmN0aW9uKGEpe3JldHVybiEhKDImYSkmJiEhKDQmYSl8fCEhKDIwNDgmYSl9O18ud2o9ZnVuY3Rpb24oYSxiLGMpezMyJmImJmN8fChhJj0tMzMpO3JldHVybiBhfTtcbl8uemo9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7dmFyIGg9ISEoMiZiKTtlPWg/MTplO2Y9ISFmO2cmJihnPSFoKTtoPV8uc2ooYSxiLGQpO3ZhciBrPWhbXy52XXwwLGw9ISEoNCZrKTtpZighbCl7az1fLnVqKGssYik7dmFyIG09aCxwPWIscjsocj0hISgyJmspKSYmKHB8PTIpO2xldCB5PSFyLEQ9ITAsRT0wLEc9MDtmb3IoO0U8bS5sZW5ndGg7RSsrKXtjb25zdCBCPV8uUmEobVtFXSxjLHApO2lmKEIgaW5zdGFuY2VvZiBjKXtpZighcil7Y29uc3QgamE9Xy54YShCLm1hKTt5JiYoeT0hamEpO0QmJihEPWphKX1tW0crK109Qn19RzxFJiYobS5sZW5ndGg9Ryk7a3w9NDtrPUQ/a3wxNjprJi0xNztrPXk/a3w4OmsmLTk7bVtfLnZdPWs7ciYmT2JqZWN0LmZyZWV6ZShtKX1pZihnJiYhKDgma3x8IWgubGVuZ3RoJiYoZT09PTF8fGU9PT00JiYzMiZrKSkpe18udmooaykmJihoPV8ud2EoaCksaz1fLnRqKGssYiksYj1fLnFiKGEsYixkLGgpKTtjPWg7Zz1rO2ZvcihtPTA7bTxjLmxlbmd0aDttKyspaz1cbmNbbV0scD1fLmRiKGspLGshPT1wJiYoY1ttXT1wKTtnfD04O2c9Yy5sZW5ndGg/ZyYtMTc6Z3wxNjtrPWNbXy52XT1nfWxldCBxO2U9PT0xfHxlPT09NCYmMzImaz9fLnZqKGspfHwoYj1rLGt8PSFoLmxlbmd0aHx8MTYmayYmKCFsfHwzMiZrKT8yOjIwNDgsayE9PWImJihoW18udl09ayksT2JqZWN0LmZyZWV6ZShoKSk6KGw9ZSE9PTU/ITE6ISEoMzImayl8fF8udmooayl8fCEhXy54aihoKSwoZT09PTJ8fGwpJiZfLnZqKGspJiYoaD1fLndhKGgpLGs9Xy50aihrLGIpLGs9Xy53aihrLGIsZiksaFtfLnZdPWssYj1fLnFiKGEsYixkLGgpKSxfLnZqKGspfHwoYT1rLGs9Xy53aihrLGIsZiksayE9PWEmJihoW18udl09aykpLGwmJihxPV8ueWooaCkpKTtyZXR1cm4gcXx8aH07cGo9dm9pZCAwO18ueGo9ZnVuY3Rpb24oYSl7bGV0IGI7cmV0dXJuKGI9cGopPT1udWxsP3ZvaWQgMDpiLmdldChhKX07Xy5xaj12b2lkIDA7XG5fLnlqPWZ1bmN0aW9uKGEpe2xldCBiPV8ueGooYSk7aWYoYilyZXR1cm4gYjtpZihNYXRoLnJhbmRvbSgpPi4wMXx8dHlwZW9mIFByb3h5IT09XCJmdW5jdGlvblwiKXJldHVybiBhO2I9bmV3IFByb3h5KGEse3NldChjLGQsZSl7b2ooKTtjW2RdPWU7cmV0dXJuITB9fSk7cmooYSxiKTtyZXR1cm4gYn07Xy5Baj1mdW5jdGlvbihhKXtyZXR1cm4gYT09PV8uQWM/MjpfLlFiPzU6Mn07Xy5Caj1mdW5jdGlvbihhLGIsYyxkKXthPWEubWE7Y29uc3QgZT1hW18udl07cmV0dXJuIF8uemooYSxlLGIsYyxkLCExLCEoMiZlKSl9O18uQ2o9UmVnRXhwKFwiXig/OihbXjovPyMuXSspOik/KD86Ly8oPzooW15cXFxcXFxcXC8/I10qKUApPyhbXlxcXFxcXFxcLz8jXSo/KSg/OjooWzAtOV0rKSk/KD89W1xcXFxcXFxcLz8jXXwkKSk/KFtePyNdKyk/KD86XFxcXD8oW14jXSopKT8oPzojKFtcXFxcc1xcXFxTXSopKT8kXCIpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgRGosR2osSGosSWosSmosS2osTGosTmosT2osUGosUWosWGosRWosRmosTWosZmssaGssaWssa2ssbGssbms7RGo9ZnVuY3Rpb24oKXtyZXR1cm4gdHlwZW9mIEJpZ0ludD09PVwiZnVuY3Rpb25cIn07R2o9ZnVuY3Rpb24oYSl7Y29uc3QgYj1hPj4+MDtFaj1iO0ZqPShhLWIpLzQyOTQ5NjcyOTY+Pj4wfTtIaj1mdW5jdGlvbihhLGIpe2I9fmI7YT9hPX5hKzE6Yis9MTtyZXR1cm5bYSxiXX07SWo9ZnVuY3Rpb24oYSl7aWYoYTwwKXtHaigtYSk7Y29uc3QgW2IsY109SGooRWosRmopO0VqPWI+Pj4wO0ZqPWM+Pj4wfWVsc2UgR2ooYSl9O0pqPWZ1bmN0aW9uKGEpe2E9U3RyaW5nKGEpO3JldHVyblwiMDAwMDAwMFwiLnNsaWNlKGEubGVuZ3RoKSthfTtcbktqPWZ1bmN0aW9uKGEsYil7Yj4+Pj0wO2E+Pj49MDtpZihiPD0yMDk3MTUxKXZhciBjPVwiXCIrKDQyOTQ5NjcyOTYqYithKTtlbHNlIERqKCk/Yz1cIlwiKyhCaWdJbnQoYik8PEJpZ0ludCgzMil8QmlnSW50KGEpKTooYz0oYT4+PjI0fGI8PDgpJjE2Nzc3MjE1LGI9Yj4+MTYmNjU1MzUsYT0oYSYxNjc3NzIxNSkrYyo2Nzc3MjE2K2IqNjcxMDY1NixjKz1iKjgxNDc0OTcsYio9MixhPj0xRTcmJihjKz1hLzFFNz4+PjAsYSU9MUU3KSxjPj0xRTcmJihiKz1jLzFFNz4+PjAsYyU9MUU3KSxjPWIrSmooYykrSmooYSkpO3JldHVybiBjfTtMaj1mdW5jdGlvbigpe3ZhciBhPUVqLGI9Rmo7aWYoYiYyMTQ3NDgzNjQ4KWlmKERqKCkpYT1cIlwiKyhCaWdJbnQoYnwwKTw8QmlnSW50KDMyKXxCaWdJbnQoYT4+PjApKTtlbHNle2NvbnN0IFtjLGRdPUhqKGEsYik7YT1cIi1cIitLaihjLGQpfWVsc2UgYT1LaihhLGIpO3JldHVybiBhfTtcbk5qPWZ1bmN0aW9uKGEpe2NvbnN0IGI9dHlwZW9mIGE7cmV0dXJuIGI9PT1cIm51bWJlclwiP051bWJlci5pc0Zpbml0ZShhKTpiIT09XCJzdHJpbmdcIj8hMTpNai50ZXN0KGEpfTtPaj1mdW5jdGlvbihhKXtyZXR1cm4gYVswXT09PVwiLVwiP2EubGVuZ3RoPDIwPyEwOmEubGVuZ3RoPT09MjAmJk51bWJlcihhLnN1YnN0cmluZygwLDcpKT4tOTIyMzM3OmEubGVuZ3RoPDE5PyEwOmEubGVuZ3RoPT09MTkmJk51bWJlcihhLnN1YnN0cmluZygwLDYpKTw5MjIzMzd9O1xuUGo9ZnVuY3Rpb24oYSl7dmFyIGI9TWF0aC50cnVuYyhOdW1iZXIoYSkpO2lmKE51bWJlci5pc1NhZmVJbnRlZ2VyKGIpKXJldHVybiBTdHJpbmcoYik7Yj1hLmluZGV4T2YoXCIuXCIpO2IhPT0tMSYmKGE9YS5zdWJzdHJpbmcoMCxiKSk7aWYoIU9qKGEpKXtpZihhLmxlbmd0aDwxNilJaihOdW1iZXIoYSkpO2Vsc2UgaWYoRGooKSlhPUJpZ0ludChhKSxFaj1OdW1iZXIoYSZCaWdJbnQoNDI5NDk2NzI5NSkpPj4+MCxGaj1OdW1iZXIoYT4+QmlnSW50KDMyKSZCaWdJbnQoNDI5NDk2NzI5NSkpO2Vsc2V7Yj0rKGFbMF09PT1cIi1cIik7Rmo9RWo9MDtjb25zdCBjPWEubGVuZ3RoO2ZvcihsZXQgZD1iLGU9KGMtYiklNitiO2U8PWM7ZD1lLGUrPTYpe2NvbnN0IGY9TnVtYmVyKGEuc2xpY2UoZCxlKSk7RmoqPTFFNjtFaj1FaioxRTYrZjtFaj49NDI5NDk2NzI5NiYmKEZqKz1NYXRoLnRydW5jKEVqLzQyOTQ5NjcyOTYpLEZqPj4+PTAsRWo+Pj49MCl9aWYoYil7Y29uc3QgW2QsZV09SGooRWosRmopO1xuRWo9ZDtGaj1lfX1hPUxqKCl9cmV0dXJuIGF9O1FqPWZ1bmN0aW9uKGEpe2E9TWF0aC50cnVuYyhhKTtpZighTnVtYmVyLmlzU2FmZUludGVnZXIoYSkpe0lqKGEpO3ZhciBiPUVqLGM9Rmo7aWYoYT1jJjIxNDc0ODM2NDgpYj1+YisxPj4+MCxjPX5jPj4+MCxiPT0wJiYoYz1jKzE+Pj4wKTtiPWMqNDI5NDk2NzI5NisoYj4+PjApO2E9YT8tYjpifXJldHVybiBhfTtfLlJqPWZ1bmN0aW9uKGEpe2lmKGEhPW51bGwpe3ZhciBiPSEhYjtpZighTmooYSkpdGhyb3cgXy5KYShcImludDY0XCIpO3R5cGVvZiBhPT09XCJzdHJpbmdcIj9hPVBqKGEpOmI/KGE9TWF0aC50cnVuYyhhKSxOdW1iZXIuaXNTYWZlSW50ZWdlcihhKT9hPVN0cmluZyhhKTooYj1TdHJpbmcoYSksT2ooYik/YT1iOihJaihhKSxhPUxqKCkpKSk6YT1RaihhKX1yZXR1cm4gYX07Xy5Taj1mdW5jdGlvbihhKXtjb25zdCBiPWEubWE7cmV0dXJuIF8uVGEoYS5jb25zdHJ1Y3RvcixfLmNiKGIsYltfLnZdLCExKSl9O1xuXy5Uaj1mdW5jdGlvbihhLGIsYyxkKXtpZighKDQmYikpcmV0dXJuITA7aWYoYz09bnVsbClyZXR1cm4hMTshZCYmYz09PTAmJig0MDk2JmJ8fDgxOTImYikmJihhLmNvbnN0cnVjdG9yW18ueGNdPShhLmNvbnN0cnVjdG9yW18ueGNdfDApKzEpPDUmJl8uSWEoKTtyZXR1cm4gYz09PTA/ITE6IShjJmIpfTtcbl8uVWo9ZnVuY3Rpb24oYSxiLGMsZCl7Y29uc3QgZT1hLm1hO2xldCBmPWVbXy52XTtjb25zdCBnPTImZj8xOmI7ZD0hIWQ7Yj1fLnNqKGUsZiwxLGMpO3ZhciBoPWJbXy52XXwwO2lmKF8uVGooYSxoLHZvaWQgMCxkKSl7aWYoNCZofHxPYmplY3QuaXNGcm96ZW4oYikpYj1fLndhKGIpLGg9Xy50aihoLGYpLGY9Xy5xYihlLGYsMSxiLGMpO2xldCBsPWE9MDtmb3IoO2E8Yi5sZW5ndGg7YSsrKXtjb25zdCBtPV8uUGEoYlthXSk7bSE9bnVsbCYmKGJbbCsrXT1tKX1sPGEmJihiLmxlbmd0aD1sKTtoPV8udWooaCxmKTtoPShofDIwKSYtNDA5NztoJj0tODE5MztiW18udl09aDsyJmgmJk9iamVjdC5mcmVlemUoYil9bGV0IGs7Zz09PTF8fGc9PT00JiYzMiZoP18udmooaCl8fChkPWgsaHw9MixoIT09ZCYmKGJbXy52XT1oKSxPYmplY3QuZnJlZXplKGIpKTooYT1nIT09NT8hMTohISgzMiZoKXx8Xy52aihoKXx8ISFfLnhqKGIpLChnPT09Mnx8YSkmJl8udmooaCkmJihiPV8ud2EoYiksaD1cbl8udGooaCxmKSxoPV8ud2ooaCxmLGQpLGJbXy52XT1oLGY9Xy5xYihlLGYsMSxiLGMpKSxfLnZqKGgpfHwoYz1oLGg9Xy53aihoLGYsZCksaCE9PWMmJihiW18udl09aCkpLGEmJihrPV8ueWooYikpKTtyZXR1cm4ga3x8Yn07Xy5Waj1mdW5jdGlvbihhKXtpZih0eXBlb2YgYSE9PVwibnVtYmVyXCIpdGhyb3cgXy5KYShcInVpbnQzMlwiKTtpZighTnVtYmVyLmlzRmluaXRlKGEpKXRocm93IF8uSmEoXCJ1aW50MzJcIik7cmV0dXJuIGE+Pj4wfTtfLldqPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57aWYoYj09bnVsbHx8Yj09XCJcIiliPW5ldyBhO2Vsc2V7Yj1KU09OLnBhcnNlKGIpO2lmKCFBcnJheS5pc0FycmF5KGIpKXRocm93IEVycm9yKFwieVwiKTtiW18udl18PTMyO2I9Xy5UYShhLGIpfXJldHVybiBifX07XG5Yaj1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXtlWzBdPTE3MzI1ODQxOTM7ZVsxXT00MDIzMjMzNDE3O2VbMl09MjU2MjM4MzEwMjtlWzNdPTI3MTczMzg3ODtlWzRdPTMyODUzNzc1MjA7bT1sPTB9ZnVuY3Rpb24gYihwKXtmb3IodmFyIHI9ZyxxPTA7cTw2NDtxKz00KXJbcS80XT1wW3FdPDwyNHxwW3ErMV08PDE2fHBbcSsyXTw8OHxwW3ErM107Zm9yKHE9MTY7cTw4MDtxKyspcD1yW3EtM11ecltxLThdXnJbcS0xNF1ecltxLTE2XSxyW3FdPShwPDwxfHA+Pj4zMSkmNDI5NDk2NzI5NTtwPWVbMF07dmFyIHk9ZVsxXSxEPWVbMl0sRT1lWzNdLEc9ZVs0XTtmb3IocT0wO3E8ODA7cSsrKXtpZihxPDQwKWlmKHE8MjApe3ZhciBCPUVeeSYoRF5FKTt2YXIgamE9MTUxODUwMDI0OX1lbHNlIEI9eV5EXkUsamE9MTg1OTc3NTM5MztlbHNlIHE8NjA/KEI9eSZEfEUmKHl8RCksamE9MjQwMDk1OTcwOCk6KEI9eV5EXkUsamE9MzM5NTQ2OTc4Mik7Qj0oKHA8PDV8cD4+PjI3KSY0Mjk0OTY3Mjk1KStcbkIrRytqYStyW3FdJjQyOTQ5NjcyOTU7Rz1FO0U9RDtEPSh5PDwzMHx5Pj4+MikmNDI5NDk2NzI5NTt5PXA7cD1CfWVbMF09ZVswXStwJjQyOTQ5NjcyOTU7ZVsxXT1lWzFdK3kmNDI5NDk2NzI5NTtlWzJdPWVbMl0rRCY0Mjk0OTY3Mjk1O2VbM109ZVszXStFJjQyOTQ5NjcyOTU7ZVs0XT1lWzRdK0cmNDI5NDk2NzI5NX1mdW5jdGlvbiBjKHAscil7aWYodHlwZW9mIHA9PT1cInN0cmluZ1wiKXtwPXVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChwKSk7Zm9yKHZhciBxPVtdLHk9MCxEPXAubGVuZ3RoO3k8RDsrK3kpcS5wdXNoKHAuY2hhckNvZGVBdCh5KSk7cD1xfXJ8fChyPXAubGVuZ3RoKTtxPTA7aWYobD09MClmb3IoO3ErNjQ8cjspYihwLnNsaWNlKHEscSs2NCkpLHErPTY0LG0rPTY0O2Zvcig7cTxyOylpZihmW2wrK109cFtxKytdLG0rKyxsPT02NClmb3IobD0wLGIoZik7cSs2NDxyOyliKHAuc2xpY2UocSxxKzY0KSkscSs9NjQsbSs9NjR9ZnVuY3Rpb24gZCgpe3ZhciBwPVtdLFxucj1tKjg7bDw1Nj9jKGgsNTYtbCk6YyhoLDY0LShsLTU2KSk7Zm9yKHZhciBxPTYzO3E+PTU2O3EtLSlmW3FdPXImMjU1LHI+Pj49ODtiKGYpO2ZvcihxPXI9MDtxPDU7cSsrKWZvcih2YXIgeT0yNDt5Pj0wO3ktPTgpcFtyKytdPWVbcV0+PnkmMjU1O3JldHVybiBwfWZvcih2YXIgZT1bXSxmPVtdLGc9W10saD1bMTI4XSxrPTE7azw2NDsrK2spaFtrXT0wO3ZhciBsLG07YSgpO3JldHVybntyZXNldDphLHVwZGF0ZTpjLGRpZ2VzdDpkLGRpZ2VzdFN0cmluZzpmdW5jdGlvbigpe2Zvcih2YXIgcD1kKCkscj1cIlwiLHE9MDtxPHAubGVuZ3RoO3ErKylyKz1cIjAxMjM0NTY3ODlBQkNERUZcIi5jaGFyQXQoTWF0aC5mbG9vcihwW3FdLzE2KSkrXCIwMTIzNDU2Nzg5QUJDREVGXCIuY2hhckF0KHBbcV0lMTYpO3JldHVybiByfX19O1xuXy5kaz1mdW5jdGlvbihhLGI9WWope2lmKCFaail7dmFyIGM7YT0oYz1hLm5hdmlnYXRvcik9PW51bGw/dm9pZCAwOmMudXNlckFnZW50RGF0YTtpZighYXx8dHlwZW9mIGEuZ2V0SGlnaEVudHJvcHlWYWx1ZXMhPT1cImZ1bmN0aW9uXCJ8fGEuYnJhbmRzJiZ0eXBlb2YgYS5icmFuZHMubWFwIT09XCJmdW5jdGlvblwiKXJldHVybiBQcm9taXNlLnJlamVjdChFcnJvcihcImphXCIpKTtjPShhLmJyYW5kc3x8W10pLm1hcChlPT57dmFyIGY9bmV3IGFrO2Y9Xy5PKGYsMSxlLmJyYW5kKTtyZXR1cm4gXy5PKGYsMixlLnZlcnNpb24pfSk7YmsoXy5NKGNrLDIsYS5tb2JpbGUpLGMpO1pqPWEuZ2V0SGlnaEVudHJvcHlWYWx1ZXMoYil9Y29uc3QgZD1uZXcgU2V0KGIpO3JldHVybiBaai50aGVuKGU9Pntjb25zdCBmPV8uU2ooY2spO2QuaGFzKFwicGxhdGZvcm1cIikmJl8uTyhmLDMsZS5wbGF0Zm9ybSk7ZC5oYXMoXCJwbGF0Zm9ybVZlcnNpb25cIikmJl8uTyhmLDQsZS5wbGF0Zm9ybVZlcnNpb24pO2QuaGFzKFwiYXJjaGl0ZWN0dXJlXCIpJiZcbl8uTyhmLDUsZS5hcmNoaXRlY3R1cmUpO2QuaGFzKFwibW9kZWxcIikmJl8uTyhmLDYsZS5tb2RlbCk7ZC5oYXMoXCJ1YUZ1bGxWZXJzaW9uXCIpJiZfLk8oZiw3LGUudWFGdWxsVmVyc2lvbik7cmV0dXJuIGZ9KS5jYXRjaCgoKT0+Xy5TaihjaykpfTtFaj0wO0ZqPTA7TWo9L14tPyhbMS05XVswLTldKnwwKShcXC5bMC05XSspPyQvO18uZWs9ZnVuY3Rpb24oYSl7bGV0IGI7cmV0dXJuKChiPV8ucWopPT1udWxsP3ZvaWQgMDpiLmdldChhKSl8fGF9O2ZrPWNsYXNze2NvbnN0cnVjdG9yKGEpe3ZhciBiPV8uRjt0aGlzLmk9YTt0aGlzLmo9Yjt0aGlzLmRlZmF1bHRWYWx1ZT12b2lkIDB9fTtfLmdrPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5FYyhhLGIsXy5SaihjKSl9O2hrPXt9O2lrPW51bGw7XG5fLmprPWZ1bmN0aW9uKGEsYixjKXtjb25zdCBkPWEubWE7bGV0IGU9ZFtfLnZdO18uRWEoZSk7aWYoYz09bnVsbClyZXR1cm4gXy5xYihkLGUsYiksYTtjPV8uZWsoYyk7bGV0IGY9Y1tfLnZdfDAsZz1mO2NvbnN0IGg9ISEoMiZmKXx8ISEoMjA0OCZmKSxrPWh8fE9iamVjdC5pc0Zyb3plbihjKSxsPSFrJiYodm9pZCAwPT09Xy5CY3x8ITEpO2xldCBtPSEwLHA9ITA7Zm9yKGxldCBxPTA7cTxjLmxlbmd0aDtxKyspe3ZhciByPWNbcV07aHx8KHI9Xy54YShyLm1hKSxtJiYobT0hcikscCYmKHA9cikpfWh8fChmfD01LGY9bT9mfDg6ZiYtOSxmPXA/ZnwxNjpmJi0xNyk7aWYobHx8ayYmZiE9PWcpYz1fLndhKGMpLGc9MCxmPV8udGooZixlKSxmPV8ud2ooZixlLCEwKTtmIT09ZyYmKGNbXy52XT1mKTtfLnFiKGQsZSxiLGMpO3JldHVybiBhfTtcbmtrPWZ1bmN0aW9uKGEsYil7YT1fLkRjKGEsYik7dmFyIGM7YT09bnVsbD9jPWE6TmooYSk/dHlwZW9mIGE9PT1cIm51bWJlclwiP2M9UWooYSk6Yz1QaihhKTpjPXZvaWQgMDtyZXR1cm4gY307bGs9ZnVuY3Rpb24oYSl7YT1fLkRjKGEsMSk7YT1hPT1udWxsP2E6TmooYSk/dHlwZW9mIGE9PT1cInN0cmluZ1wiP1BqKGEpOlFqKGEpOnZvaWQgMDtyZXR1cm4gYX07Xy5taz1mdW5jdGlvbihhKXthPWEubWF0Y2goXy5DailbMV18fG51bGw7IWEmJl8udC5zZWxmJiZfLnQuc2VsZi5sb2NhdGlvbiYmKGE9Xy50LnNlbGYubG9jYXRpb24ucHJvdG9jb2wuc2xpY2UoMCwtMSkpO3JldHVybiBhP2EudG9Mb3dlckNhc2UoKTpcIlwifTtuaz1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCl9fTtuay5vYT1bMl07dmFyIG9rPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVyblwiXCI7aWYoL15hYm91dDooPzpibGFua3xzcmNkb2MpJC8udGVzdChhKSlyZXR1cm4gd2luZG93Lm9yaWdpbnx8XCJcIjthLmluZGV4T2YoXCJibG9iOlwiKT09PTAmJihhPWEuc3Vic3RyaW5nKDUpKTthPWEuc3BsaXQoXCIjXCIpWzBdLnNwbGl0KFwiP1wiKVswXTthPWEudG9Mb3dlckNhc2UoKTthLmluZGV4T2YoXCIvL1wiKT09MCYmKGE9d2luZG93LmxvY2F0aW9uLnByb3RvY29sK2EpOy9eW1xcd1xcLV0qOlxcL1xcLy8udGVzdChhKXx8KGE9d2luZG93LmxvY2F0aW9uLmhyZWYpO3ZhciBiPWEuc3Vic3RyaW5nKGEuaW5kZXhPZihcIjovL1wiKSszKSxjPWIuaW5kZXhPZihcIi9cIik7YyE9LTEmJihiPWIuc3Vic3RyaW5nKDAsYykpO2M9YS5zdWJzdHJpbmcoMCxhLmluZGV4T2YoXCI6Ly9cIikpO2lmKCFjKXRocm93IEVycm9yKFwiZmFgXCIrYSk7aWYoYyE9PVwiaHR0cFwiJiZjIT09XCJodHRwc1wiJiZjIT09XCJjaHJvbWUtZXh0ZW5zaW9uXCImJmMhPT1cIm1vei1leHRlbnNpb25cIiYmXG5jIT09XCJmaWxlXCImJmMhPT1cImFuZHJvaWQtYXBwXCImJmMhPT1cImNocm9tZS1zZWFyY2hcIiYmYyE9PVwiY2hyb21lLXVudHJ1c3RlZFwiJiZjIT09XCJjaHJvbWVcIiYmYyE9PVwiYXBwXCImJmMhPT1cImRldnRvb2xzXCIpdGhyb3cgRXJyb3IoXCJnYWBcIitjKTthPVwiXCI7dmFyIGQ9Yi5pbmRleE9mKFwiOlwiKTtpZihkIT0tMSl7dmFyIGU9Yi5zdWJzdHJpbmcoZCsxKTtiPWIuc3Vic3RyaW5nKDAsZCk7aWYoYz09PVwiaHR0cFwiJiZlIT09XCI4MFwifHxjPT09XCJodHRwc1wiJiZlIT09XCI0NDNcIilhPVwiOlwiK2V9cmV0dXJuIGMrXCI6Ly9cIitiK2F9O3ZhciBxaz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9U3RyaW5nKF8udC5sb2NhdGlvbi5ocmVmKTtyZXR1cm4gZCYmYSYmYj9bYixwayhvayhkKSxhLGN8fG51bGwpXS5qb2luKFwiIFwiKTpudWxsfSxwaz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W10sZT1bXTtpZigoQXJyYXkuaXNBcnJheShjKT8yOjEpPT0xKXJldHVybiBlPVtiLGFdLF8uV2IoZCxmdW5jdGlvbihoKXtlLnB1c2goaCl9KSxyayhlLmpvaW4oXCIgXCIpKTt2YXIgZj1bXSxnPVtdO18uV2IoYyxmdW5jdGlvbihoKXtnLnB1c2goaC5rZXkpO2YucHVzaChoLnZhbHVlKX0pO2M9TWF0aC5mbG9vcigobmV3IERhdGUpLmdldFRpbWUoKS8xRTMpO2U9Zi5sZW5ndGg9PTA/W2MsYixhXTpbZi5qb2luKFwiOlwiKSxjLGIsYV07Xy5XYihkLGZ1bmN0aW9uKGgpe2UucHVzaChoKX0pO2E9cmsoZS5qb2luKFwiIFwiKSk7YT1bYyxhXTtnLmxlbmd0aD09MHx8YS5wdXNoKGcuam9pbihcIlwiKSk7cmV0dXJuIGEuam9pbihcIl9cIil9LHJrPWZ1bmN0aW9uKGEpe3ZhciBiPVxuWGooKTtiLnVwZGF0ZShhKTtyZXR1cm4gYi5kaWdlc3RTdHJpbmcoKS50b0xvd2VyQ2FzZSgpfTt2YXIgc2s9e307dmFyIHRrPWZ1bmN0aW9uKGEpe3RoaXMuaT1hfHx7Y29va2llOlwiXCJ9fSx1aztfLm49dGsucHJvdG90eXBlO1xuXy5uLnNldD1mdW5jdGlvbihhLGIsYyl7bGV0IGQsZSxmLGc9ITEsaDt0eXBlb2YgYz09PVwib2JqZWN0XCImJihoPWMuRGosZz1jLkZqfHwhMSxmPWMuZG9tYWlufHx2b2lkIDAsZT1jLnBhdGh8fHZvaWQgMCxkPWMuRGQpO2lmKC9bOz1cXHNdLy50ZXN0KGEpKXRocm93IEVycm9yKFwiaGFgXCIrYSk7aWYoL1s7XFxyXFxuXS8udGVzdChiKSl0aHJvdyBFcnJvcihcImlhYFwiK2IpO2Q9PT12b2lkIDAmJihkPS0xKTt0aGlzLmkuY29va2llPWErXCI9XCIrYisoZj9cIjtkb21haW49XCIrZjpcIlwiKSsoZT9cIjtwYXRoPVwiK2U6XCJcIikrKGQ8MD9cIlwiOmQ9PTA/XCI7ZXhwaXJlcz1cIisobmV3IERhdGUoMTk3MCwxLDEpKS50b1VUQ1N0cmluZygpOlwiO2V4cGlyZXM9XCIrKG5ldyBEYXRlKERhdGUubm93KCkrZCoxRTMpKS50b1VUQ1N0cmluZygpKSsoZz9cIjtzZWN1cmVcIjpcIlwiKSsoaCE9bnVsbD9cIjtzYW1lc2l0ZT1cIitoOlwiXCIpfTtcbl8ubi5nZXQ9ZnVuY3Rpb24oYSxiKXtjb25zdCBjPWErXCI9XCIsZD0odGhpcy5pLmNvb2tpZXx8XCJcIikuc3BsaXQoXCI7XCIpO2ZvcihsZXQgZT0wLGY7ZTxkLmxlbmd0aDtlKyspe2Y9ZFtlXS50cmltKCk7aWYoZi5sYXN0SW5kZXhPZihjLDApPT0wKXJldHVybiBmLnNsaWNlKGMubGVuZ3RoKTtpZihmPT1hKXJldHVyblwiXCJ9cmV0dXJuIGJ9O18ubi5yZW1vdmU9ZnVuY3Rpb24oYSxiLGMpe2NvbnN0IGQ9dGhpcy5nZXQoYSkhPT12b2lkIDA7dGhpcy5zZXQoYSxcIlwiLHtEZDowLHBhdGg6Yixkb21haW46Y30pO3JldHVybiBkfTtfLm4ub2I9ZnVuY3Rpb24oKXtyZXR1cm4gdWsodGhpcykua2V5c307Xy5uLlNhPWZ1bmN0aW9uKCl7cmV0dXJuIHVrKHRoaXMpLnZhbHVlc307Xy5uLkViPWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuaS5jb29raWV9O18ubi5jbGVhcj1mdW5jdGlvbigpe2NvbnN0IGE9dWsodGhpcykua2V5cztmb3IobGV0IGI9YS5sZW5ndGgtMTtiPj0wO2ItLSl0aGlzLnJlbW92ZShhW2JdKX07XG51az1mdW5jdGlvbihhKXthPShhLmkuY29va2llfHxcIlwiKS5zcGxpdChcIjtcIik7Y29uc3QgYj1bXSxjPVtdO2xldCBkLGU7Zm9yKGxldCBmPTA7ZjxhLmxlbmd0aDtmKyspZT1hW2ZdLnRyaW0oKSxkPWUuaW5kZXhPZihcIj1cIiksZD09LTE/KGIucHVzaChcIlwiKSxjLnB1c2goZSkpOihiLnB1c2goZS5zdWJzdHJpbmcoMCxkKSksYy5wdXNoKGUuc3Vic3RyaW5nKGQrMSkpKTtyZXR1cm57a2V5czpiLHZhbHVlczpjfX07Xy52az1uZXcgdGsodHlwZW9mIGRvY3VtZW50PT1cInVuZGVmaW5lZFwiP251bGw6ZG9jdW1lbnQpO3ZhciB3ayx4ayx5azt3az1mdW5jdGlvbihhPSExKXtyZXR1cm4hIXNrLkZQQV9TQU1FU0lURV9QSEFTRTJfTU9EfHwhIWF9O3hrPWZ1bmN0aW9uKGE9ITEpe2xldCBiPV8udC5fX1NBUElTSUR8fF8udC5fX0FQSVNJRHx8Xy50Ll9fM1BTQVBJU0lEfHxfLnQuX19PVkVSUklERV9TSUQ7d2soYSkmJihiPWJ8fF8udC5fXzFQU0FQSVNJRCk7aWYoYilyZXR1cm4hMDtpZih0eXBlb2YgZG9jdW1lbnQhPT1cInVuZGVmaW5lZFwiKXtjb25zdCBjPW5ldyB0ayhkb2N1bWVudCk7Yj1jLmdldChcIlNBUElTSURcIil8fGMuZ2V0KFwiQVBJU0lEXCIpfHxjLmdldChcIl9fU2VjdXJlLTNQQVBJU0lEXCIpO3drKGEpJiYoYj1ifHxjLmdldChcIl9fU2VjdXJlLTFQQVBJU0lEXCIpKX1yZXR1cm4hIWJ9O3lrPWZ1bmN0aW9uKGEsYixjLGQpeyhhPV8udFthXSl8fHR5cGVvZiBkb2N1bWVudD09PVwidW5kZWZpbmVkXCJ8fChhPShuZXcgdGsoZG9jdW1lbnQpKS5nZXQoYikpO3JldHVybiBhP3FrKGEsYyxkKTpudWxsfTtcbl8uems9ZnVuY3Rpb24oYSxiPSExKXt2YXIgYz1vayhTdHJpbmcoXy50LmxvY2F0aW9uLmhyZWYpKTtjb25zdCBkPVtdO2lmKHhrKGIpKXtjPWMuaW5kZXhPZihcImh0dHBzOlwiKT09MHx8Yy5pbmRleE9mKFwiY2hyb21lLWV4dGVuc2lvbjpcIik9PTB8fGMuaW5kZXhPZihcImNocm9tZS11bnRydXN0ZWQ6Ly9uZXctdGFiLXBhZ2VcIik9PTB8fGMuaW5kZXhPZihcIm1vei1leHRlbnNpb246XCIpPT0wO3ZhciBlLGY9KGU9Yyk/Xy50Ll9fU0FQSVNJRDpfLnQuX19BUElTSUQ7Znx8dHlwZW9mIGRvY3VtZW50PT09XCJ1bmRlZmluZWRcInx8KGY9bmV3IHRrKGRvY3VtZW50KSxmPWYuZ2V0KGU/XCJTQVBJU0lEXCI6XCJBUElTSURcIil8fGYuZ2V0KFwiX19TZWN1cmUtM1BBUElTSURcIikpOyhlPWY/cWsoZixlP1wiU0FQSVNJREhBU0hcIjpcIkFQSVNJREhBU0hcIixhKTpudWxsKSYmZC5wdXNoKGUpO2MmJndrKGIpJiYoKGI9eWsoXCJfXzFQU0FQSVNJRFwiLFwiX19TZWN1cmUtMVBBUElTSURcIixcIlNBUElTSUQxUEhBU0hcIixhKSkmJlxuZC5wdXNoKGIpLChhPXlrKFwiX18zUFNBUElTSURcIixcIl9fU2VjdXJlLTNQQVBJU0lEXCIsXCJTQVBJU0lEM1BIQVNIXCIsYSkpJiZkLnB1c2goYSkpfXJldHVybiBkLmxlbmd0aD09MD9udWxsOmQuam9pbihcIiBcIil9O3ZhciBBaz1mdW5jdGlvbihhLGIpe2Eubz1iO2EuaSYmYS5qPyhhLnN0b3AoKSxhLnN0YXJ0KCkpOmEuaSYmYS5zdG9wKCl9LEJrPWZ1bmN0aW9uKGEpe2lmKGEuail7Y29uc3QgYj1NYXRoLm1heChhLnYoKS1hLkEsMCk7YjxhLm8qLjg/YS5pPXNldFRpbWVvdXQoKCk9PntCayhhKX0sYS5vLWIpOihhLmkmJihjbGVhclRpbWVvdXQoYS5pKSxhLmk9dm9pZCAwKSxhLkIoKSxhLmomJihhLnN0b3AoKSxhLnN0YXJ0KCkpKX1lbHNlIGEuaT12b2lkIDB9LENrPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5vPWE7dGhpcy5CPWI7dGhpcy5qPSExO3RoaXMudj0oKT0+RGF0ZS5ub3coKTt0aGlzLkE9dGhpcy52KCl9c3RhcnQoKXt0aGlzLmo9ITA7dGhpcy5pfHwodGhpcy5pPXNldFRpbWVvdXQoKCk9PntCayh0aGlzKX0sdGhpcy5vKSx0aGlzLkE9dGhpcy52KCkpfXN0b3AoKXt0aGlzLmo9ITE7dGhpcy5pJiYoY2xlYXJUaW1lb3V0KHRoaXMuaSksdGhpcy5pPXZvaWQgMCl9fTt2YXIgRGs9Y2xhc3MgZXh0ZW5kcyBfLlF7Y29uc3RydWN0b3IoKXtzdXBlcigpfX07dmFyIEVrPWNsYXNzIGV4dGVuZHMgXy5Re2NvbnN0cnVjdG9yKCl7c3VwZXIoKX19O18uRms9ZnVuY3Rpb24oYSxiLGMsZCl7dGhpcy5vPWE7dGhpcy52PWI7dGhpcy5qPXRoaXMuaT1hO3RoaXMuQT1jfHwwO3RoaXMuQj1kfHwyfTtfLkZrLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuaj10aGlzLmk9dGhpcy5vfTtfLkdrPWZ1bmN0aW9uKGEpe2Euaj1NYXRoLm1pbihhLnYsYS5qKmEuQik7YS5pPU1hdGgubWluKGEudixhLmorKGEuQT9NYXRoLnJvdW5kKGEuQSooTWF0aC5yYW5kb20oKS0uNSkqMiphLmopOjApKX07dmFyIEhrPWNsYXNzIGV4dGVuZHMgXy5Re2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfXlkKCl7cmV0dXJuIF8uUWQodGhpcywxLDApfX07dmFyIGFrPWNsYXNzIGV4dGVuZHMgXy5Re2NvbnN0cnVjdG9yKCl7c3VwZXIoKX19O3ZhciBiaz1mdW5jdGlvbihhLGIpe18uamsoYSwxLGIpfSxJaz1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O0lrLm9hPVsxXTt2YXIgSms9Y2xhc3MgZXh0ZW5kcyBfLlF7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgWWo9W1wicGxhdGZvcm1cIixcInBsYXRmb3JtVmVyc2lvblwiLFwiYXJjaGl0ZWN0dXJlXCIsXCJtb2RlbFwiLFwidWFGdWxsVmVyc2lvblwiXSxjaz1uZXcgSWssWmo9bnVsbDt2YXIgS2s9Y2xhc3MgZXh0ZW5kcyBfLlF7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgTGs9Y2xhc3MgZXh0ZW5kcyBfLlF7Y29uc3RydWN0b3IoKXtzdXBlcih2b2lkIDAsNCl9fTtfLk1rPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uRWMoYSwxLF8uUmooYikpfTtfLk5rPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uTyhhLDgsYil9O18uT2s9Y2xhc3MgZXh0ZW5kcyBfLlF7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSwzNSl9fTtfLk9rLm9hPVszLDIwLDI3XTt2YXIgUGs9Y2xhc3MgZXh0ZW5kcyBfLlF7Y29uc3RydWN0b3IoKXtzdXBlcih2b2lkIDAsMTkpfWhkKGEpe3JldHVybiBfLlAodGhpcywyLGEpfX07UGsub2E9WzMsNV07dmFyIFFrPWNsYXNzIGV4dGVuZHMgXy5Re2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEsOCl9fSxSaz1fLldqKFFrKTtRay5vYT1bNSw2LDddO3ZhciBTaztTaz1uZXcgZmsoY2xhc3MgZXh0ZW5kcyBfLlF7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSk7dmFyIFRrPWZ1bmN0aW9uKCl7cmV0dXJuXCJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9sb2c/Zm9ybWF0PWpzb24maGFzZmFzdD10cnVlXCJ9LFVrPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuSz9iPygpPT57YigpLnRoZW4oKCk9PnthLmZsdXNoKCl9KX06KCk9PnthLmZsdXNoKCl9OigpPT57fX0sVms9ZnVuY3Rpb24oYSl7YS5EfHwoYS5EPVRrKCkpO3RyeXtyZXR1cm4obmV3IFVSTChhLkQpKS50b1N0cmluZygpfWNhdGNoKGIpe3JldHVybihuZXcgVVJMKGEuRCxfLmlnKCkubG9jYXRpb24ub3JpZ2luKSkudG9TdHJpbmcoKX19LFdrPWZ1bmN0aW9uKGEsYil7YS5CPW5ldyBfLkZrKGI8MT8xOmIsM0U1LC4xKTtBayhhLmosYS5CLmkpfSxZaz1mdW5jdGlvbihhKXtYayhhLDMyLDEwLChiLGMpPT57Yj1uZXcgVVJMKGIpO2Iuc2VhcmNoUGFyYW1zLnNldChcImZvcm1hdFwiLFwianNvblwiKTtsZXQgZD0hMTt0cnl7ZD1fLmlnKCkubmF2aWdhdG9yLnNlbmRCZWFjb24oYi50b1N0cmluZygpLGMuR2EoKSl9Y2F0Y2goZSl7fWR8fFxuKGEuVD0hMSk7cmV0dXJuIGR9KX0sWms9ZnVuY3Rpb24oYSl7WGsoYSw2LDUsKGIsYyk9PntiPW5ldyBVUkwoYik7Yi5zZWFyY2hQYXJhbXMuc2V0KFwiZm9ybWF0XCIsXCJiYXNlNjRqc29uXCIpO3ZhciBkPWIuc2VhcmNoUGFyYW1zLGU9ZC5zZXQsZj1jLkdhKCk7Yz1bXTtmb3IodmFyIGc9MCxoPTA7aDxmLmxlbmd0aDtoKyspe3ZhciBrPWYuY2hhckNvZGVBdChoKTtrPjI1NSYmKGNbZysrXT1rJjI1NSxrPj49OCk7Y1tnKytdPWt9Zj0zO2Y9PT12b2lkIDAmJihmPTApO2lmKCFpaylmb3IoaWs9e30sZz1cIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5XCIuc3BsaXQoXCJcIiksaD1bXCIrLz1cIixcIisvXCIsXCItXz1cIixcIi1fLlwiLFwiLV9cIl0saz0wO2s8NTtrKyspe3ZhciBsPWcuY29uY2F0KGhba10uc3BsaXQoXCJcIikpO2hrW2tdPWw7Zm9yKHZhciBtPTA7bTxsLmxlbmd0aDttKyspe3ZhciBwPWxbbV07aWtbcF09PT12b2lkIDAmJihpa1twXT1cbm0pfX1mPWhrW2ZdO2c9QXJyYXkoTWF0aC5mbG9vcihjLmxlbmd0aC8zKSk7aD1mWzY0XXx8XCJcIjtmb3Ioaz1sPTA7bDxjLmxlbmd0aC0yO2wrPTMpe3ZhciByPWNbbF0scT1jW2wrMV07cD1jW2wrMl07bT1mW3I+PjJdO3I9ZlsociYzKTw8NHxxPj40XTtxPWZbKHEmMTUpPDwyfHA+PjZdO3A9ZltwJjYzXTtnW2srK109bStyK3ErcH1tPTA7cD1oO3N3aXRjaChjLmxlbmd0aC1sKXtjYXNlIDI6bT1jW2wrMV0scD1mWyhtJjE1KTw8Ml18fGg7Y2FzZSAxOmM9Y1tsXSxnW2tdPWZbYz4+Ml0rZlsoYyYzKTw8NHxtPj40XStwK2h9ZS5jYWxsKGQsXCJwXCIsZy5qb2luKFwiXCIpKTtiPWIudG9TdHJpbmcoKTtpZihiLmxlbmd0aD4xNTM2MClyZXR1cm4hMTsobmV3IEltYWdlKS5zcmM9YjtyZXR1cm4hMH0pfSxYaz1mdW5jdGlvbihhLGIsYyxkKXtpZihhLmkubGVuZ3RoIT09MCl7dmFyIGU9bmV3IFVSTChWayhhKSk7ZS5zZWFyY2hQYXJhbXMuZGVsZXRlKFwiZm9ybWF0XCIpO3ZhciBmPWEuRWMoKTtmJiZcbmUuc2VhcmNoUGFyYW1zLnNldChcImF1dGhcIixmKTtlLnNlYXJjaFBhcmFtcy5zZXQoXCJhdXRodXNlclwiLGEuYmN8fFwiMFwiKTtmb3IoZj0wO2Y8YyYmYS5pLmxlbmd0aDsrK2Ype2NvbnN0IGc9YS5pLnNsaWNlKDAsYiksaD0kayhhLm8sZyxhLnYsYS5DLGEuWmIsYS5NLGEuTCk7aWYoIWQoZS50b1N0cmluZygpLGgpKXsrK2EuQzticmVha31hLnY9MDthLkM9MDthLk09MDthLkw9MDthLmk9YS5pLnNsaWNlKGcubGVuZ3RoKX1hLmouaiYmYS5qLnN0b3AoKX19LGVsPWNsYXNzIGV4dGVuZHMgXy5Se2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5GPVwiXCI7dGhpcy5pPVtdO3RoaXMuVj1cIlwiO3RoaXMuUD10aGlzLk89dGhpcy5HPSExO3RoaXMuWD10aGlzLk49LTE7dGhpcy5VPSExO3RoaXMuQT1udWxsO3RoaXMuTD10aGlzLk09dGhpcy5DPXRoaXMudj0wO3RoaXMuZGE9MTt0aGlzLm1kPTA7dGhpcy52Yz1hLnZjO3RoaXMuRWM9YS5FY3x8KCgpPT57fSk7dGhpcy5vPW5ldyBhbChhLnZjLGEuWGIpO1xudGhpcy5PYT1hLk9hO3RoaXMuWmI9YS5aYnx8bnVsbDt0aGlzLkQ9YS5JaHx8bnVsbDt0aGlzLmJjPWEuYmN8fG51bGw7dGhpcy5XYz1hLldjfHwhMTt0aGlzLndpdGhDcmVkZW50aWFscz0hYS5NZTt0aGlzLlhiPWEuWGJ8fCExO3RoaXMuVD0hdGhpcy5YYiYmISFfLmlnKCkmJiEhXy5pZygpLm5hdmlnYXRvciYmXy5pZygpLm5hdmlnYXRvci5zZW5kQmVhY29uIT09dm9pZCAwO3RoaXMuSz10eXBlb2YgVVJMU2VhcmNoUGFyYW1zIT09XCJ1bmRlZmluZWRcIiYmISEobmV3IFVSTChUaygpKSkuc2VhcmNoUGFyYW1zJiYhIShuZXcgVVJMKFRrKCkpKS5zZWFyY2hQYXJhbXMuc2V0O2NvbnN0IGI9Xy5QKG5ldyBLaywxLDEpO2JsKHRoaXMubyxiKTt0aGlzLkI9bmV3IF8uRmsoMUU0LDNFNSwuMSk7YT1Vayh0aGlzLGEueWUpO3RoaXMuaj1uZXcgQ2sodGhpcy5CLmksYSk7dGhpcy5TPW5ldyBDayg2RTUsYSk7dGhpcy5XY3x8dGhpcy5TLnN0YXJ0KCk7dGhpcy5YYnx8KGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJ2aXNpYmlsaXR5Y2hhbmdlXCIsXG4oKT0+e2RvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PVwiaGlkZGVuXCImJnRoaXMuSigpfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcInBhZ2VoaWRlXCIsdGhpcy5KLmJpbmQodGhpcykpKX1SKCl7dGhpcy5KKCk7dGhpcy5qLnN0b3AoKTt0aGlzLlMuc3RvcCgpO3N1cGVyLlIoKX1DYihhKXt0aGlzLksmJihhIGluc3RhbmNlb2YgXy5Paz90aGlzLmxvZyhhKTooYT1fLk5rKG5ldyBfLk9rLGEuR2EoKSksdGhpcy5sb2coYSkpKX1sb2coYSl7aWYodGhpcy5LKXthPV8uU2ooYSk7dmFyIGI9dGhpcy5kYSsrO2E9Xy5nayhhLDIxLGIpO3RoaXMuRiYmXy5PKGEsMjYsdGhpcy5GKTtsayhhKT09bnVsbCYmKGI9RGF0ZS5ub3coKSxfLk1rKGEsTnVtYmVyLmlzRmluaXRlKGIpP2IudG9TdHJpbmcoKTpcIjBcIikpO2trKGEsMTUpIT1udWxsfHxfLmdrKGEsMTUsKG5ldyBEYXRlKS5nZXRUaW1lem9uZU9mZnNldCgpKjYwKTtpZih0aGlzLkEpe2I9YTt2YXIgYz1fLlNqKHRoaXMuQSk7Xy5IKGIsXG4xNixjKX1iPXRoaXMuaS5sZW5ndGgtMUUzKzE7Yj4wJiYodGhpcy5pLnNwbGljZSgwLGIpLHRoaXMudis9Yik7dGhpcy5pLnB1c2goYSk7dGhpcy5XY3x8dGhpcy5qLmp8fHRoaXMuai5zdGFydCgpfX1mbHVzaChhLGIpe2lmKHRoaXMuaS5sZW5ndGg9PT0wKWEmJmEoKTtlbHNle3ZhciBjPURhdGUubm93KCk7aWYodGhpcy5YPmMmJnRoaXMuTjxjKWImJmIoXCJ0aHJvdHRsZWRcIik7ZWxzZXt0aGlzLk9hJiYodHlwZW9mIHRoaXMuT2EueWQ9PT1cImZ1bmN0aW9uXCI/Y2wodGhpcy5vLHRoaXMuT2EueWQoKSk6Y2wodGhpcy5vLDApKTt2YXIgZD0kayh0aGlzLm8sdGhpcy5pLHRoaXMudix0aGlzLkMsdGhpcy5aYix0aGlzLk0sdGhpcy5MKTtjPXt9O3ZhciBlPXRoaXMuRWMoKTtlJiYoYy5BdXRob3JpemF0aW9uPWUpO3ZhciBmPW5ldyBVUkwoVmsodGhpcykpO3RoaXMuYmMmJihjW1wiWC1Hb29nLUF1dGhVc2VyXCJdPXRoaXMuYmMsZi5zZWFyY2hQYXJhbXMuc2V0KFwiYXV0aHVzZXJcIix0aGlzLmJjKSk7XG5pZihlJiZ0aGlzLlY9PT1lKWImJmIoXCJzdGFsZS1hdXRoLXRva2VuXCIpO2Vsc2UgaWYodGhpcy5pPVtdLHRoaXMuai5qJiZ0aGlzLmouc3RvcCgpLHRoaXMudj0wLHRoaXMuRylhJiZhKCk7ZWxzZXtjb25zdCBnPWQuR2EoKSxoPXt1cmw6Zi50b1N0cmluZygpLGJvZHk6ZyxlajoxLG1mOmMsa2U6XCJQT1NUXCIsd2l0aENyZWRlbnRpYWxzOnRoaXMud2l0aENyZWRlbnRpYWxzLG1kOnRoaXMubWR9LGs9bT0+e3RoaXMuQi5yZXNldCgpO0FrKHRoaXMuaix0aGlzLkIuaSk7aWYobSl7dmFyIHA9bnVsbDt0cnl7Y29uc3Qgcj1KU09OLnN0cmluZ2lmeShKU09OLnBhcnNlKG0ucmVwbGFjZShcIildfSdcXG5cIixcIlwiKSkpO3A9Umsocil9Y2F0Y2gocil7fXAmJihtPU51bWJlcihfLnRiKGxrKHApLFwiLTFcIikpLG0+MCYmKHRoaXMuTj1EYXRlLm5vdygpLHRoaXMuWD10aGlzLk4rbSkscD1Tay5pP1NrLmoocCxTay5pLDE3NTIzNzM3NSwhMCk6U2suaihwLDE3NTIzNzM3NSxudWxsLCEwKSxwPXA9PT1udWxsP1xudm9pZCAwOnApJiYocD1fLlQocCwxLC0xKSxwIT09LTEmJih0aGlzLlV8fFdrKHRoaXMscCkpKX1hJiZhKCk7dGhpcy5DPTB9LGw9KG0scCk9Pnt2YXIgcj1fLkJqKGQsXy5PaywzLF8uQWooKSk7dmFyIHE9a2soZCwxNCk7Xy5Hayh0aGlzLkIpO0FrKHRoaXMuaix0aGlzLkIuaSk7bT09PTQwMSYmZSYmKHRoaXMuVj1lKTtxJiYodGhpcy52Kz1xKTtwPT09dm9pZCAwJiYocD01MDA8PW0mJm08NjAwfHxtPT09NDAxfHxtPT09MCk7cCYmKHRoaXMuaT1yLmNvbmNhdCh0aGlzLmkpLHRoaXMuV2N8fHRoaXMuai5qfHx0aGlzLmouc3RhcnQoKSk7YiYmYihcIm5ldC1zZW5kLWZhaWxlZFwiLG0pOysrdGhpcy5DfTsoKCk9Pnt0aGlzLk9hJiZ0aGlzLk9hLnNlbmQoaCxrLGwpfSkoKX19fX1KKCl7dGhpcy5HfHwoZGwodGhpcy5vLCEwKSx0aGlzLk8mJihjbCh0aGlzLm8sMyksWWsodGhpcykpLHRoaXMuUCYmKGNsKHRoaXMubywyKSxaayh0aGlzKSksdGhpcy5mbHVzaCgpLGRsKHRoaXMubywhMSkpfX0sXG5ibD1mdW5jdGlvbihhLGIpe18uSChhLmksMSxiKTtfLlFkKGIsMSwwKXx8Xy5QKGIsMSwxKTthLlhifHwoYj1mbChhKSxfLkwoYiw1KXx8Xy5PKGIsNSxhLmxvY2FsZSkpO2EuaiYmKGI9ZmwoYSksXy5GKGIsSWssOSl8fF8uSChiLDksYS5qKSl9LGNsPWZ1bmN0aW9uKGEsYil7Xy5PZChfLkYoYS5pLEtrLDEpLEprLDExKSYmKGE9Z2woYSksXy5QKGEsMSxiKSl9LCRrPWZ1bmN0aW9uKGEsYixjPTAsZD0wLGUsZj0wLGc9MCl7aWYoXy5PZChfLkYoYS5pLEtrLDEpLEprLDExKSl7dmFyIGg9Z2woYSk7Xy5OKGgsMyxkKX1fLk9kKF8uRihhLmksS2ssMSksSmssMTEpJiYoZD1nbChhKSxfLk4oZCw0LGYpKTtfLk9kKF8uRihhLmksS2ssMSksSmssMTEpJiYoZj1nbChhKSxfLk4oZiw1LGcpKTthPV8uU2ooYS5pKTthPV8uRWMoYSw0LF8uUmooRGF0ZS5ub3coKS50b1N0cmluZygpKSk7Yj1fLmprKGEsMyxiLnNsaWNlKCkpO2UmJihhPW5ldyBEayxlPV8uTihhLDEzLGUpLGE9bmV3IEVrLGU9XG5fLkgoYSwyLGUpLGE9bmV3IExrLGU9Xy5IKGEsMSxlKSxlPV8uUChlLDIsOSksXy5IKGIsMTgsZSkpO2MmJl8uZ2soYiwxNCxjKTtyZXR1cm4gYn0sZGw9ZnVuY3Rpb24oYSxiKXtfLk9kKF8uRihhLmksS2ssMSksSmssMTEpJiYoYT1nbChhKSxfLk0oYSwyLGIpKX0sZmw9ZnVuY3Rpb24oYSl7YT1fLkYoYS5pLEtrLDEpO2xldCBiPV8uRihhLEprLDExKTtifHwoYj1uZXcgSmssXy5IKGEsMTEsYikpO3JldHVybiBifSxnbD1mdW5jdGlvbihhKXthPWZsKGEpO2xldCBiPV8uRihhLEhrLDEwKTtifHwoYj1uZXcgSGssXy5NKGIsMiwhMSksXy5IKGEsMTAsYikpO3JldHVybiBifSxobD1mdW5jdGlvbihhLGIpe2NvbnN0IGM9YS5YYj92b2lkIDA6Xy5pZygpO2M/YihjLFlqKS50aGVuKGQ9PnthLmo9ZDtkPWZsKGEpO18uSChkLDksYS5qKTtyZXR1cm4hMH0pLmNhdGNoKCgpPT4hMSk6UHJvbWlzZS5yZXNvbHZlKCExKX0sYWw9Y2xhc3N7Y29uc3RydWN0b3IoYSxiPSExKXt0aGlzLlhiPWI7XG50aGlzLmo9dGhpcy5sb2NhbGU9bnVsbDt0aGlzLmk9bmV3IFBrO051bWJlci5pc0ludGVnZXIoYSkmJnRoaXMuaS5oZChhKTtifHwodGhpcy5sb2NhbGU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZShcImxhbmdcIikpO2JsKHRoaXMsbmV3IEtrKX1oZChhKXt0aGlzLmkuaGQoYSk7cmV0dXJuIHRoaXN9fTt2YXIgaWw9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmRnPXR5cGVvZiBBYm9ydENvbnRyb2xsZXIhPT1cInVuZGVmaW5lZFwifWFzeW5jIHNlbmQoYSxiLGMpe2NvbnN0IGQ9dGhpcy5kZz9uZXcgQWJvcnRDb250cm9sbGVyOnZvaWQgMCxlPWQ/c2V0VGltZW91dCgoKT0+e2QuYWJvcnQoKX0sYS5tZCk6dm9pZCAwO3RyeXtjb25zdCBmPU9iamVjdC5hc3NpZ24oe30se21ldGhvZDphLmtlLGhlYWRlcnM6T2JqZWN0LmFzc2lnbih7fSxhLm1mKX0sYS5ib2R5JiZ7Ym9keTphLmJvZHl9LGEud2l0aENyZWRlbnRpYWxzJiZ7Y3JlZGVudGlhbHM6XCJpbmNsdWRlXCJ9LHtzaWduYWw6YS5tZCYmZD9kLnNpZ25hbDpudWxsfSksZz1hd2FpdCBmZXRjaChhLnVybCxmKTtnLnN0YXR1cz09PTIwMD9iPT1udWxsfHxiKGF3YWl0IGcudGV4dCgpKTpjPT1udWxsfHxjKGcuc3RhdHVzKX1jYXRjaChmKXtzd2l0Y2goZj09bnVsbD92b2lkIDA6Zi5uYW1lKXtjYXNlIFwiQWJvcnRFcnJvclwiOmM9PW51bGx8fGMoNDA4KTtcbmJyZWFrO2RlZmF1bHQ6Yz09bnVsbHx8Yyg0MDApfX1maW5hbGx5e2NsZWFyVGltZW91dChlKX19eWQoKXtyZXR1cm4gNH19O18uamw9ZnVuY3Rpb24oYSl7YS5EPSEwO3JldHVybiBhfTtcbl8ua2w9ZnVuY3Rpb24oYSl7YS5PYXx8KGEuT2E9bmV3IGlsKTtjb25zdCBiPW5ldyBlbCh7dmM6YS52YyxFYzphLkVjP2EuRWM6Xy56ayxiYzphLmJjLEloOlwiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vbG9nP2Zvcm1hdD1qc29uJmhhc2Zhc3Q9dHJ1ZVwiLFhiOiExLFdjOiExLE1lOmEuRix5ZTphLnllLE9hOmEuT2F9KTtfLiRmKGEsYik7YS5EfHwoYi5HPSEwKTtpZihhLm8pe3ZhciBjPWEubyxkPWZsKGIubyk7Xy5PKGQsNyxjKX1hLmomJihiLkY9YS5qKTthLlpiJiYoYi5aYj1hLlpiKTthLmkmJigoZD1hLmkpPyhiLkF8fChiLkE9bmV3IG5rKSxjPWIuQSxkPWQuR2EoKSxfLk8oYyw0LGQpKTpiLkEmJl8uRWMoYi5BLDQpKTthLkImJihiLk89YS5CJiZiLlQpO2EuQSYmKGIuUD1hLkEpO2EudiYmKGM9YS52LGIuVT0hMCxXayhiLGMpKTtobChiLm8sXy5kayk7YS5DJiZobChiLm8sYS5DKTthLk9hLmhkJiZhLk9hLmhkKGEudmMpO2EuT2EuemgmJmEuT2EuemgoYik7cmV0dXJuIGJ9O1xuXy5sbD1jbGFzcyBleHRlbmRzIF8uUntjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dGhpcy52Yz1hO3RoaXMuYmM9Yjt0aGlzLkQ9ITA7dGhpcy5PYT10aGlzLm89bnVsbDt0aGlzLmo9XCJcIjt0aGlzLmk9dGhpcy5aYj1udWxsO3RoaXMuQT10aGlzLkI9ITE7dGhpcy5DPXRoaXMudj1udWxsfU1lKCl7dGhpcy5GPSEwO3JldHVybiB0aGlzfX07Xy5tbD1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAyMDA6Y2FzZSAyMDE6Y2FzZSAyMDI6Y2FzZSAyMDQ6Y2FzZSAyMDY6Y2FzZSAzMDQ6Y2FzZSAxMjIzOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fTtfLm5sPWZ1bmN0aW9uKCl7fTtfLm5sLnByb3RvdHlwZS5vPW51bGw7dmFyIG9sPWZ1bmN0aW9uKGEpe3JldHVybiBhLm98fChhLm89YS5qKCkpfTt2YXIgcWw7cWw9ZnVuY3Rpb24oKXt9O18uQyhxbCxfLm5sKTtxbC5wcm90b3R5cGUuaT1mdW5jdGlvbigpe3JldHVybiBuZXcgWE1MSHR0cFJlcXVlc3R9O3FsLnByb3RvdHlwZS5qPWZ1bmN0aW9uKCl7cmV0dXJue319O18ucGw9bmV3IHFsO3ZhciBzbCx0bDtfLnJsPWZ1bmN0aW9uKGEpe18uVy5jYWxsKHRoaXMpO3RoaXMuaGVhZGVycz1uZXcgTWFwO3RoaXMuSz1hfHxudWxsO3RoaXMuaj0hMTt0aGlzLko9dGhpcy5pPW51bGw7dGhpcy5CPVwiXCI7dGhpcy5vPTA7dGhpcy5BPVwiXCI7dGhpcy52PXRoaXMuTT10aGlzLkQ9dGhpcy5MPSExO3RoaXMuRz0wO3RoaXMuRj1udWxsO3RoaXMuUD1cIlwiO3RoaXMuQz0hMX07Xy5DKF8ucmwsXy5XKTtzbD0vXmh0dHBzPyQvaTt0bD1bXCJQT1NUXCIsXCJQVVRcIl07Xy51bD1bXTtfLnJsLnByb3RvdHlwZS5PPWZ1bmN0aW9uKCl7dGhpcy5kaXNwb3NlKCk7Xy5LZShfLnVsLHRoaXMpfTtcbl8ucmwucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oYSxiLGMsZCl7aWYodGhpcy5pKXRocm93IEVycm9yKFwia2FgXCIrdGhpcy5CK1wiYFwiK2EpO2I9Yj9iLnRvVXBwZXJDYXNlKCk6XCJHRVRcIjt0aGlzLkI9YTt0aGlzLkE9XCJcIjt0aGlzLm89MDt0aGlzLkw9ITE7dGhpcy5qPSEwO3RoaXMuaT10aGlzLks/dGhpcy5LLmkoKTpfLnBsLmkoKTt0aGlzLko9dGhpcy5LP29sKHRoaXMuSyk6b2woXy5wbCk7dGhpcy5pLm9ucmVhZHlzdGF0ZWNoYW5nZT0oMCxfLnopKHRoaXMuTix0aGlzKTt0cnl7dGhpcy5NPSEwLHRoaXMuaS5vcGVuKGIsU3RyaW5nKGEpLCEwKSx0aGlzLk09ITF9Y2F0Y2goZil7dmwodGhpcyxmKTtyZXR1cm59YT1jfHxcIlwiO2M9bmV3IE1hcCh0aGlzLmhlYWRlcnMpO2lmKGQpaWYoT2JqZWN0LmdldFByb3RvdHlwZU9mKGQpPT09T2JqZWN0LnByb3RvdHlwZSlmb3IodmFyIGUgaW4gZCljLnNldChlLGRbZV0pO2Vsc2UgaWYodHlwZW9mIGQua2V5cz09PVwiZnVuY3Rpb25cIiYmdHlwZW9mIGQuZ2V0PT09XG5cImZ1bmN0aW9uXCIpZm9yKGNvbnN0IGYgb2YgZC5rZXlzKCkpYy5zZXQoZixkLmdldChmKSk7ZWxzZSB0aHJvdyBFcnJvcihcImxhYFwiK1N0cmluZyhkKSk7ZD1BcnJheS5mcm9tKGMua2V5cygpKS5maW5kKGY9PlwiY29udGVudC10eXBlXCI9PWYudG9Mb3dlckNhc2UoKSk7ZT1fLnQuRm9ybURhdGEmJmEgaW5zdGFuY2VvZiBfLnQuRm9ybURhdGE7IV8udGEodGwsYil8fGR8fGV8fGMuc2V0KFwiQ29udGVudC1UeXBlXCIsXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtOFwiKTtmb3IoY29uc3QgW2YsZ11vZiBjKXRoaXMuaS5zZXRSZXF1ZXN0SGVhZGVyKGYsZyk7dGhpcy5QJiYodGhpcy5pLnJlc3BvbnNlVHlwZT10aGlzLlApO1wid2l0aENyZWRlbnRpYWxzXCJpbiB0aGlzLmkmJnRoaXMuaS53aXRoQ3JlZGVudGlhbHMhPT10aGlzLkMmJih0aGlzLmkud2l0aENyZWRlbnRpYWxzPXRoaXMuQyk7dHJ5e3dsKHRoaXMpLHRoaXMuRz4wJiYodGhpcy5GPV8ucmcodGhpcy5VLFxudGhpcy5HLHRoaXMpKSx0aGlzLkQ9ITAsdGhpcy5pLnNlbmQoYSksdGhpcy5EPSExfWNhdGNoKGYpe3ZsKHRoaXMsZil9fTtfLnJsLnByb3RvdHlwZS5VPWZ1bmN0aW9uKCl7dHlwZW9mIF8uRGIhPVwidW5kZWZpbmVkXCImJnRoaXMuaSYmKHRoaXMuQT1cIlRpbWVkIG91dCBhZnRlciBcIit0aGlzLkcrXCJtcywgYWJvcnRpbmdcIix0aGlzLm89OCx0aGlzLmRpc3BhdGNoRXZlbnQoXCJ0aW1lb3V0XCIpLHRoaXMuYWJvcnQoOCkpfTt2YXIgdmw9ZnVuY3Rpb24oYSxiKXthLmo9ITE7YS5pJiYoYS52PSEwLGEuaS5hYm9ydCgpLGEudj0hMSk7YS5BPWI7YS5vPTU7eGwoYSk7eWwoYSl9LHhsPWZ1bmN0aW9uKGEpe2EuTHx8KGEuTD0hMCxhLmRpc3BhdGNoRXZlbnQoXCJjb21wbGV0ZVwiKSxhLmRpc3BhdGNoRXZlbnQoXCJlcnJvclwiKSl9O1xuXy5ybC5wcm90b3R5cGUuYWJvcnQ9ZnVuY3Rpb24oYSl7dGhpcy5pJiZ0aGlzLmomJih0aGlzLmo9ITEsdGhpcy52PSEwLHRoaXMuaS5hYm9ydCgpLHRoaXMudj0hMSx0aGlzLm89YXx8Nyx0aGlzLmRpc3BhdGNoRXZlbnQoXCJjb21wbGV0ZVwiKSx0aGlzLmRpc3BhdGNoRXZlbnQoXCJhYm9ydFwiKSx5bCh0aGlzKSl9O18ucmwucHJvdG90eXBlLlI9ZnVuY3Rpb24oKXt0aGlzLmkmJih0aGlzLmomJih0aGlzLmo9ITEsdGhpcy52PSEwLHRoaXMuaS5hYm9ydCgpLHRoaXMudj0hMSkseWwodGhpcywhMCkpO18ucmwuVy5SLmNhbGwodGhpcyl9O18ucmwucHJvdG90eXBlLk49ZnVuY3Rpb24oKXt0aGlzLmlzRGlzcG9zZWQoKXx8KHRoaXMuTXx8dGhpcy5EfHx0aGlzLnY/emwodGhpcyk6dGhpcy5TKCkpfTtfLnJsLnByb3RvdHlwZS5TPWZ1bmN0aW9uKCl7emwodGhpcyl9O1xudmFyIHpsPWZ1bmN0aW9uKGEpe2lmKGEuaiYmdHlwZW9mIF8uRGIhPVwidW5kZWZpbmVkXCImJighYS5KWzFdfHxfLkFsKGEpIT00fHxhLkRiKCkhPTIpKWlmKGEuRCYmXy5BbChhKT09NClfLnJnKGEuTiwwLGEpO2Vsc2UgaWYoYS5kaXNwYXRjaEV2ZW50KFwicmVhZHlzdGF0ZWNoYW5nZVwiKSxfLkFsKGEpPT00KXthLmo9ITE7dHJ5e2lmKGEuSGMoKSlhLmRpc3BhdGNoRXZlbnQoXCJjb21wbGV0ZVwiKSxhLmRpc3BhdGNoRXZlbnQoXCJzdWNjZXNzXCIpO2Vsc2V7YS5vPTY7dHJ5e3ZhciBiPV8uQWwoYSk+Mj9hLmkuc3RhdHVzVGV4dDpcIlwifWNhdGNoKGMpe2I9XCJcIn1hLkE9YitcIiBbXCIrYS5EYigpK1wiXVwiO3hsKGEpfX1maW5hbGx5e3lsKGEpfX19LHlsPWZ1bmN0aW9uKGEsYil7aWYoYS5pKXt3bChhKTtjb25zdCBjPWEuaSxkPWEuSlswXT8oKT0+e306bnVsbDthLmk9bnVsbDthLko9bnVsbDtifHxhLmRpc3BhdGNoRXZlbnQoXCJyZWFkeVwiKTt0cnl7Yy5vbnJlYWR5c3RhdGVjaGFuZ2U9ZH1jYXRjaChlKXt9fX0sXG53bD1mdW5jdGlvbihhKXthLkYmJihfLnNnKGEuRiksYS5GPW51bGwpfTtfLnJsLnByb3RvdHlwZS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5pfTtfLnJsLnByb3RvdHlwZS5IYz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuRGIoKSxiO2lmKCEoYj1fLm1sKGEpKSl7aWYoYT1hPT09MClhPV8ubWsoU3RyaW5nKHRoaXMuQikpLGE9IXNsLnRlc3QoYSk7Yj1hfXJldHVybiBifTtfLkFsPWZ1bmN0aW9uKGEpe3JldHVybiBhLmk/YS5pLnJlYWR5U3RhdGU6MH07Xy5ybC5wcm90b3R5cGUuRGI9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIF8uQWwodGhpcyk+Mj90aGlzLmkuc3RhdHVzOi0xfWNhdGNoKGEpe3JldHVybi0xfX07Xy5ybC5wcm90b3R5cGUueGQ9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIHRoaXMuaT90aGlzLmkucmVzcG9uc2VUZXh0OlwiXCJ9Y2F0Y2goYSl7cmV0dXJuXCJcIn19O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgQmw7Xy5DbD1mdW5jdGlvbihhKXthLk9hPW5ldyBCbDtyZXR1cm4gYX07Xy5EbD1mdW5jdGlvbihhLGIsYyxkLGUsZixnKXtjb25zdCBoPW5ldyBfLnJsO18udWwucHVzaChoKTtiJiZoLmxpc3RlbihcImNvbXBsZXRlXCIsYik7aC5KYShcInJlYWR5XCIsaC5PKTtmJiYoaC5HPU1hdGgubWF4KDAsZikpO2cmJihoLkM9Zyk7aC5zZW5kKGEsYyxkLGUpfTtCbD1jbGFzc3tzZW5kKGEsYj0oKT0+e30sYz0oKT0+e30pe18uRGwoYS51cmwsZD0+e2Q9ZC50YXJnZXQ7ZC5IYygpP2IoZC54ZCgpKTpjKGQuRGIoKSl9LGEua2UsYS5ib2R5LGEubWYsYS5tZCxhLndpdGhDcmVkZW50aWFscyl9eWQoKXtyZXR1cm4gMX19O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG4vKlxuXG5NYXRoLnV1aWQuanMgKHYxLjQpXG5odHRwOi8vd3d3LmJyb29mYS5jb21cbm1haWx0bzpyb2JlcnRAYnJvb2ZhLmNvbVxuQ29weXJpZ2h0IChjKSAyMDEwIFJvYmVydCBLaWVmZmVyXG5EdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgYW5kIEdQTCBsaWNlbnNlcy5cbiovXG52YXIgRmwsR2wsSGwsSWwsTGwsSmwsS2w7Xy5FbD1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLm1hO2NvbnN0IGY9ZVtfLnZdO18uRWEoZik7dmFyIGc9ZiYyO2xldCBoPV8ucmIoZSxmLGIpO0FycmF5LmlzQXJyYXkoaCl8fChoPV8ueWMpO2NvbnN0IGs9ISEoZiYzMik7bGV0IGw9aFtfLnZdfDA7bD09PTAmJmsmJiFnPyhsfD0zMyxoW18udl09bCk6bCYxfHwobHw9MSxoW18udl09bCk7aWYoZylsJjJ8fChoW18udl18PTM0KSxPYmplY3QuZnJlZXplKGgpO2Vsc2UgaWYoMiZsfHwyMDQ4JmwpaD1fLndhKGgpLGc9MSxrJiYoZ3w9MzIpLGhbXy52XT1nLF8ucWIoZSxmLGIsaCk7Yj1oO2U9YltfLnZdfDA7ZD1jKGQsISEoNCZlKSYmISEoNDA5NiZlKSk7Yi5wdXNoKGQpO3JldHVybiBhfTtGbD1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O0dsPWNsYXNzIGV4dGVuZHMgXy5Re2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07SGw9Y2xhc3MgZXh0ZW5kcyBfLlF7Y29uc3RydWN0b3IoKXtzdXBlcigpfX07XG5IbC5vYT1bMSwyLDMsNF07SWw9ZnVuY3Rpb24oKXtyZXR1cm5cInh4eHh4eHh4LXh4eHgtNHh4eC15eHh4LXh4eHh4eHh4eHh4eFwiLnJlcGxhY2UoL1t4eV0vZyxmdW5jdGlvbihhKXt2YXIgYj1NYXRoLnJhbmRvbSgpKjE2fDA7cmV0dXJuKGE9PVwieFwiP2I6YiYzfDgpLnRvU3RyaW5nKDE2KX0pfTtcbkxsPWNsYXNzIGV4dGVuZHMgXy5Se2NvbnN0cnVjdG9yKCl7dmFyIGE9SmwsYj1LbDtzdXBlcigpO3RoaXMuaT1iO3RoaXMuUD0wO3RoaXMua2E9Xy54KF8uSihhLDIxKSxcIlwiKTt0aGlzLmhhPV8uVmYoXy5TKGEsMjYpLDApO3RoaXMuZmE9Xy5WZihfLlMoYSwyNyksMCk7dGhpcy5kYT1fLngoXy5KKGEsMjgpLFwiXCIpO3RoaXMucWE9Xy5WZihfLlBkKGEsMjkpLC0xKTt0aGlzLnVhPV8uVmYoXy5QZChhLDQpLDApO3RoaXMuVT1fLlZmKF8uUGQoYSw1KSwtMSk7dGhpcy5GPV8ueChfLkooYSw3KSxcIlwiKTt0aGlzLk09Xy54KF8uSihhLDYpLFwiXCIpO3RoaXMuTD1fLngoXy5KKGEsOCksXCJcIik7dGhpcy5KPV8uUyhhLDkpO3RoaXMudGE9ISFfLksoYSwxMSk7dGhpcy5OPSEhXy5LKGEsMTIpO3RoaXMuaj1fLkkoYSwyMik7dGhpcy52PV8uSShhLDI0KTt0aGlzLlM9Xy5JKGEsMjMpO3RoaXMubz1fLkooYSwxNykhPW51bGw/Xy5MKGEsMTcpLnNwbGl0KFwiLFwiKTpbXTt0aGlzLkM9Xy53KF8uSShhLFxuMSkpO18uSyhhLDM3KTt0aGlzLkc9ISFfLksoYSwzMCk7dGhpcy5LPVwib2ctXCIrSWwoKTt0aGlzLkI9ISFfLksoYSwzMSk7dGhpcy5BPSEhXy5LKGEsMzYpO3RoaXMuVD0hIV8uSyhhLDMyKTt0aGlzLlY9ISFfLksoYSwzMyk7dGhpcy5PPSEhXy5LKGEsMzQpO2lmKHRoaXMuQyl7YT1fLngoXy5KKGIsNSkpO2E9bmV3IF8ubGwoMzczLGEpO2Eudj0xRTM7YT1fLkNsKGEpO2EuQj0hMDt0aGlzLkcmJnRoaXMuaiYmKGEuQT0hMCk7YS5DPV8uZGs7YS5aYj0xMjI1MDU2OTU7aWYodGhpcy5vLmxlbmd0aCE9MCl7Yj1uZXcgSGw7Zm9yKGxldCBjPTA7Yzx0aGlzLm8ubGVuZ3RoO2MrKyl7Y29uc3QgZD1OdW1iZXIodGhpcy5vW2NdKTtpc05hTihkKXx8ZD09MHx8Xy5FbChiLDMsXy5OYSxkKX1hLmk9Yn1fLiRmKHRoaXMsYSk7dGhpcy5EPV8ua2woYSl9fVgoKXtyZXR1cm4hIXRoaXMudn1sb2coYSxiPW51bGwpe2NvbnN0IGM9dGhpcy5DO2I9Ynx8bmV3IF8uTGM7Xy5QKGIsMSxhKTt2YXIgZD1cbisrdGhpcy5QO18uTihiLDM4LGQpO18uTihiLDIsdGhpcy51YSk7Xy5PKGIsNix0aGlzLmthKTtkPV8uRihiLEZsLDU3KXx8bmV3IEZsO18uUChkLDEsdGhpcy5oYSk7Xy5QKGQsMix0aGlzLmZhKTtfLk8oZCwzLHRoaXMuZGEpO18uTihkLDQsdGhpcy5xYSk7Xy5IKGIsNTcsZCk7Yi5EKHRoaXMuVSk7dGhpcy5TJiZfLk0oYiw1MiwhMCk7Xy5PKGIsMTEsdGhpcy5NKTtfLk8oYiwxMCx0aGlzLkYpO18uTyhiLDUsdGhpcy5MKTt3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJl8uZ2soYiwxNCwobmV3IERhdGUpLmdldFRpbWUoKS13aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCk7Xy5QKGIsMTMsdGhpcy5KKTtfLk0oYiwxNix0aGlzLnRhKTtfLk0oYiwxNyx0aGlzLk4pO18uTyhiLDE5LHRoaXMuSyk7ZD0wO18uSSh0aGlzLmksMSkmJihkfD0xKTtfLkkodGhpcy5pLDMpJiYoZHw9NCk7Xy5KKHRoaXMuaSw3KSYmKGR8PTgpO1xuXy5JKHRoaXMuaSw5KSYmKGR8PTE2KTtfLkkodGhpcy5pLDEwKSYmKGR8PTMyKTtfLkkodGhpcy5pLDExKSYmKGR8PTY0KTtfLk4oYiwxMixkKTtkPWRvY3VtZW50PyhkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiZ2JcIikpP2QuY2xhc3NMaXN0LmNvbnRhaW5zKFwiZ2JfbVwiKTohMTohMTtfLk0oYiw2NixkKTt0aGlzLkImJl8uTShiLDU5LHRoaXMuQik7dGhpcy5BJiZ0aGlzLmomJl8uTShiLDY0LHRoaXMuQSk7aWYoYT09PTF8fGE9PT02NSlfLk0oYiw1MSx0aGlzLmopLHRoaXMudiYmXy5NKGIsNTYsdGhpcy52KTtfLk0oYiw2MCx0aGlzLlQpO18uTShiLDYxLHRoaXMuVik7Xy5NKGIsNjIsdGhpcy5PKTtfLk0oYiw1NSxzZWxmIT10b3ApO2E9bmV3IF8uT2s7Xy5OayhhLGIuR2EoKSk7YyYmdGhpcy5ELkNiKGEpfX07Smw9Xy5GKF8uYWQsR2wsMTYpfHxuZXcgR2w7S2w9Xy5jZCgpfHxuZXcgXy5OYztfLk1sPW5ldyBMbDtfLlBjLmk9Xy5NbDtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIFpsLCRsLGFtLGVtLGhtO18uT2w9ZnVuY3Rpb24oYSl7dmFyIGI9e307aWYoYSBpbnN0YW5jZW9mIF8ua2UpcmV0dXJuIGE7YT1TdHJpbmcoYSkucmVwbGFjZSgvJi9nLFwiJmFtcDtcIikucmVwbGFjZSgvPC9nLFwiJmx0O1wiKS5yZXBsYWNlKC8+L2csXCImZ3Q7XCIpLnJlcGxhY2UoL1wiL2csXCImcXVvdDtcIikucmVwbGFjZSgvJy9nLFwiJmFwb3M7XCIpO2IudGomJihhPWEucmVwbGFjZSgvKF58W1xcclxcblxcdCBdKSAvZyxcIiQxJiMxNjA7XCIpKTtiLnNqJiYoYT1hLnJlcGxhY2UoLyhcXHJcXG58XFxufFxccikvZyxcIjxicj5cIikpO2IudWomJihhPWEucmVwbGFjZSgvKFxcdCspL2csJzxzcGFuIHN0eWxlPVwid2hpdGUtc3BhY2U6cHJlXCI+JDE8L3NwYW4+JykpO3JldHVybiBfLk5sKGEpfTtfLlBsPWZ1bmN0aW9uKGEpe2E9YS50YWdOYW1lO2lmKGE9PT1cIlNDUklQVFwifHxhPT09XCJTVFlMRVwiKXRocm93IEVycm9yKFwiRFwiKTt9O1xuXy5RbD1mdW5jdGlvbihhLGIpe2I9Xy5NZChiKTtiIT09dm9pZCAwJiYoYS5ocmVmPWIpfTtfLk5sPWZ1bmN0aW9uKGEpe2NvbnN0IGI9Xy5ZZCgpO2E9Yj9iLmNyZWF0ZUhUTUwoYSk6YTtyZXR1cm4gbmV3IF8ua2UoYSxfLmplKX07Xy5SbD1mdW5jdGlvbihhLGIpe2lmKCgwLF8ubmUpKCkpZm9yKDthLmxhc3RDaGlsZDspYS5yZW1vdmVDaGlsZChhLmxhc3RDaGlsZCk7YS5pbm5lckhUTUw9Xy5sZShiKX07Xy5TbD1mdW5jdGlvbihhLGIpe3RoaXMueD1hIT09dm9pZCAwP2E6MDt0aGlzLnk9YiE9PXZvaWQgMD9iOjB9O18uU2wucHJvdG90eXBlLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5jZWlsKHRoaXMueCk7dGhpcy55PU1hdGguY2VpbCh0aGlzLnkpO3JldHVybiB0aGlzfTtfLlNsLnByb3RvdHlwZS5mbG9vcj1mdW5jdGlvbigpe3RoaXMueD1NYXRoLmZsb29yKHRoaXMueCk7dGhpcy55PU1hdGguZmxvb3IodGhpcy55KTtyZXR1cm4gdGhpc307XG5fLlNsLnByb3RvdHlwZS5yb3VuZD1mdW5jdGlvbigpe3RoaXMueD1NYXRoLnJvdW5kKHRoaXMueCk7dGhpcy55PU1hdGgucm91bmQodGhpcy55KTtyZXR1cm4gdGhpc307Xy5UbD1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uU2woYS54LGEueSl9O18uVWw9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc2Nyb2xsaW5nRWxlbWVudD9hLnNjcm9sbGluZ0VsZW1lbnQ6Xy5iY3x8YS5jb21wYXRNb2RlIT1cIkNTUzFDb21wYXRcIj9hLmJvZHl8fGEuZG9jdW1lbnRFbGVtZW50OmEuZG9jdW1lbnRFbGVtZW50fTtfLlZsPWZ1bmN0aW9uKGEpe3ZhciBiPV8uVWwoYSk7YT1fLmhnKGEpO3JldHVybiBuZXcgXy5TbChhLnBhZ2VYT2Zmc2V0fHxiLnNjcm9sbExlZnQsYS5wYWdlWU9mZnNldHx8Yi5zY3JvbGxUb3ApfTtcbl8uV2w9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLnFlKGEsXCJESVZcIik7Xy5SbChjLGIpO2lmKGMuY2hpbGROb2Rlcy5sZW5ndGg9PTEpYz1jLnJlbW92ZUNoaWxkKGMuZmlyc3RDaGlsZCk7ZWxzZXtmb3IoYT1hLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtjLmZpcnN0Q2hpbGQ7KWEuYXBwZW5kQ2hpbGQoYy5maXJzdENoaWxkKTtjPWF9cmV0dXJuIGN9O18uWGw9ZnVuY3Rpb24oYSl7dHJ5e3ZhciBiPWEmJmEuYWN0aXZlRWxlbWVudDtyZXR1cm4gYiYmYi5ub2RlTmFtZT9iOm51bGx9Y2F0Y2goYyl7cmV0dXJuIG51bGx9fTtfLllsPWZ1bmN0aW9uKGEpe3JldHVyblwicnRsXCI9PV8uSGcoYSxcImRpcmVjdGlvblwiKX07Wmw9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYTxiPy0xOmE+Yj8xOjB9O1xuJGw9ZnVuY3Rpb24oYSxiKXtsZXQgYz0wO2E9U3RyaW5nKGEpLnRyaW0oKS5zcGxpdChcIi5cIik7Yj1TdHJpbmcoYikudHJpbSgpLnNwbGl0KFwiLlwiKTtjb25zdCBkPU1hdGgubWF4KGEubGVuZ3RoLGIubGVuZ3RoKTtmb3IobGV0IGc9MDtjPT0wJiZnPGQ7ZysrKXt2YXIgZT1hW2ddfHxcIlwiLGY9YltnXXx8XCJcIjtkb3tlPS8oXFxkKikoXFxEKikoLiopLy5leGVjKGUpfHxbXCJcIixcIlwiLFwiXCIsXCJcIl07Zj0vKFxcZCopKFxcRCopKC4qKS8uZXhlYyhmKXx8W1wiXCIsXCJcIixcIlwiLFwiXCJdO2lmKGVbMF0ubGVuZ3RoPT0wJiZmWzBdLmxlbmd0aD09MClicmVhaztjPVpsKGVbMV0ubGVuZ3RoPT0wPzA6cGFyc2VJbnQoZVsxXSwxMCksZlsxXS5sZW5ndGg9PTA/MDpwYXJzZUludChmWzFdLDEwKSl8fFpsKGVbMl0ubGVuZ3RoPT0wLGZbMl0ubGVuZ3RoPT0wKXx8WmwoZVsyXSxmWzJdKTtlPWVbM107Zj1mWzNdfXdoaWxlKGM9PTApfXJldHVybiBjfTtcbmFtPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBfLlNsKGEueC1iLngsYS55LWIueSl9O18uYm09ZnVuY3Rpb24oYSxiLGMsZCl7dGhpcy50b3A9YTt0aGlzLnJpZ2h0PWI7dGhpcy5ib3R0b209Yzt0aGlzLmxlZnQ9ZH07Xy5ibS5wcm90b3R5cGUuZXhwYW5kPWZ1bmN0aW9uKGEsYixjLGQpe18ueWQoYSk/KHRoaXMudG9wLT1hLnRvcCx0aGlzLnJpZ2h0Kz1hLnJpZ2h0LHRoaXMuYm90dG9tKz1hLmJvdHRvbSx0aGlzLmxlZnQtPWEubGVmdCk6KHRoaXMudG9wLT1hLHRoaXMucmlnaHQrPU51bWJlcihiKSx0aGlzLmJvdHRvbSs9TnVtYmVyKGMpLHRoaXMubGVmdC09TnVtYmVyKGQpKTtyZXR1cm4gdGhpc307XG5fLmJtLnByb3RvdHlwZS5jZWlsPWZ1bmN0aW9uKCl7dGhpcy50b3A9TWF0aC5jZWlsKHRoaXMudG9wKTt0aGlzLnJpZ2h0PU1hdGguY2VpbCh0aGlzLnJpZ2h0KTt0aGlzLmJvdHRvbT1NYXRoLmNlaWwodGhpcy5ib3R0b20pO3RoaXMubGVmdD1NYXRoLmNlaWwodGhpcy5sZWZ0KTtyZXR1cm4gdGhpc307Xy5ibS5wcm90b3R5cGUuZmxvb3I9ZnVuY3Rpb24oKXt0aGlzLnRvcD1NYXRoLmZsb29yKHRoaXMudG9wKTt0aGlzLnJpZ2h0PU1hdGguZmxvb3IodGhpcy5yaWdodCk7dGhpcy5ib3R0b209TWF0aC5mbG9vcih0aGlzLmJvdHRvbSk7dGhpcy5sZWZ0PU1hdGguZmxvb3IodGhpcy5sZWZ0KTtyZXR1cm4gdGhpc307XG5fLmJtLnByb3RvdHlwZS5yb3VuZD1mdW5jdGlvbigpe3RoaXMudG9wPU1hdGgucm91bmQodGhpcy50b3ApO3RoaXMucmlnaHQ9TWF0aC5yb3VuZCh0aGlzLnJpZ2h0KTt0aGlzLmJvdHRvbT1NYXRoLnJvdW5kKHRoaXMuYm90dG9tKTt0aGlzLmxlZnQ9TWF0aC5yb3VuZCh0aGlzLmxlZnQpO3JldHVybiB0aGlzfTt2YXIgY209ZnVuY3Rpb24oYSxiLGMsZCl7dGhpcy5sZWZ0PWE7dGhpcy50b3A9Yjt0aGlzLndpZHRoPWM7dGhpcy5oZWlnaHQ9ZH07Y20ucHJvdG90eXBlLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5jZWlsKHRoaXMubGVmdCk7dGhpcy50b3A9TWF0aC5jZWlsKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtcbmNtLnByb3RvdHlwZS5mbG9vcj1mdW5jdGlvbigpe3RoaXMubGVmdD1NYXRoLmZsb29yKHRoaXMubGVmdCk7dGhpcy50b3A9TWF0aC5mbG9vcih0aGlzLnRvcCk7dGhpcy53aWR0aD1NYXRoLmZsb29yKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguZmxvb3IodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtjbS5wcm90b3R5cGUucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5yb3VuZCh0aGlzLmxlZnQpO3RoaXMudG9wPU1hdGgucm91bmQodGhpcy50b3ApO3RoaXMud2lkdGg9TWF0aC5yb3VuZCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLnJvdW5kKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5kbT1mdW5jdGlvbihhLGIpe3R5cGVvZiBhPT1cIm51bWJlclwiJiYoYT0oYj9NYXRoLnJvdW5kKGEpOmEpK1wicHhcIik7cmV0dXJuIGF9O1xuZW09ZnVuY3Rpb24oYSl7dmFyIGI9Xy50ZShhKSxjPV8uSGcoYSxcInBvc2l0aW9uXCIpLGQ9Yz09XCJmaXhlZFwifHxjPT1cImFic29sdXRlXCI7Zm9yKGE9YS5wYXJlbnROb2RlO2EmJmEhPWI7YT1hLnBhcmVudE5vZGUpaWYoYS5ub2RlVHlwZT09MTEmJmEuaG9zdCYmKGE9YS5ob3N0KSxjPV8uSGcoYSxcInBvc2l0aW9uXCIpLGQ9ZCYmYz09XCJzdGF0aWNcIiYmYSE9Yi5kb2N1bWVudEVsZW1lbnQmJmEhPWIuYm9keSwhZCYmKGEuc2Nyb2xsV2lkdGg+YS5jbGllbnRXaWR0aHx8YS5zY3JvbGxIZWlnaHQ+YS5jbGllbnRIZWlnaHR8fGM9PVwiZml4ZWRcInx8Yz09XCJhYnNvbHV0ZVwifHxjPT1cInJlbGF0aXZlXCIpKXJldHVybiBhO3JldHVybiBudWxsfTtcbl8uZm09ZnVuY3Rpb24oYSl7dmFyIGI9Xy50ZShhKSxjPW5ldyBfLlNsKDAsMCk7aWYoYT09KGI/Xy50ZShiKTpkb2N1bWVudCkuZG9jdW1lbnRFbGVtZW50KXJldHVybiBjO2E9Xy5JZyhhKTtiPV8uVmwoXy5vZyhiKS5pKTtjLng9YS5sZWZ0K2IueDtjLnk9YS50b3ArYi55O3JldHVybiBjfTtcbl8uZ209ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPW5ldyBfLmJtKDAsSW5maW5pdHksSW5maW5pdHksMCksYz1fLm9nKGEpLGQ9Yy5pLmJvZHksZT1jLmkuZG9jdW1lbnRFbGVtZW50LGY9Xy5VbChjLmkpO2E9ZW0oYSk7KWlmKCghXy5iY3x8YS5jbGllbnRIZWlnaHQhPTB8fGEhPWQpJiZhIT1kJiZhIT1lJiZfLkhnKGEsXCJvdmVyZmxvd1wiKSE9XCJ2aXNpYmxlXCIpe3ZhciBnPV8uZm0oYSksaD1uZXcgXy5TbChhLmNsaWVudExlZnQsYS5jbGllbnRUb3ApO2cueCs9aC54O2cueSs9aC55O2IudG9wPU1hdGgubWF4KGIudG9wLGcueSk7Yi5yaWdodD1NYXRoLm1pbihiLnJpZ2h0LGcueCthLmNsaWVudFdpZHRoKTtiLmJvdHRvbT1NYXRoLm1pbihiLmJvdHRvbSxnLnkrYS5jbGllbnRIZWlnaHQpO2IubGVmdD1NYXRoLm1heChiLmxlZnQsZy54KX1kPWYuc2Nyb2xsTGVmdDtmPWYuc2Nyb2xsVG9wO2IubGVmdD1NYXRoLm1heChiLmxlZnQsZCk7Yi50b3A9TWF0aC5tYXgoYi50b3AsZik7Yz1fLmdnKF8uaGcoYy5pKXx8XG53aW5kb3cpO2IucmlnaHQ9TWF0aC5taW4oYi5yaWdodCxkK2Mud2lkdGgpO2IuYm90dG9tPU1hdGgubWluKGIuYm90dG9tLGYrYy5oZWlnaHQpO3JldHVybiBiLnRvcD49MCYmYi5sZWZ0Pj0wJiZiLmJvdHRvbT5iLnRvcCYmYi5yaWdodD5iLmxlZnQ/YjpudWxsfTtobT1mdW5jdGlvbigpe2lmKF8uZGMpe3ZhciBhPS9XaW5kb3dzIE5UIChbMC05Ll0rKS87cmV0dXJuKGE9YS5leGVjKF8uY2EoKSkpP2FbMV06XCIwXCJ9cmV0dXJuIF8uY2M/KGE9LzFbMHwxXVtfLl1bMC05Xy5dKy8sKGE9YS5leGVjKF8uY2EoKSkpP2FbMF0ucmVwbGFjZSgvXy9nLFwiLlwiKTpcIjEwXCIpOl8uZWM/KGE9L0FuZHJvaWRcXHMrKFteXFwpO10rKShcXCl8OykvLChhPWEuZXhlYyhfLmNhKCkpKT9hWzFdOlwiXCIpOl8uZmN8fF8uZ2N8fF8uaGM/KGE9Lyg/OmlQaG9uZXxDUFUpXFxzK09TXFxzKyhcXFMrKS8sKGE9YS5leGVjKF8uY2EoKSkpP2FbMV0ucmVwbGFjZSgvXy9nLFwiLlwiKTpcIlwiKTpcIlwifSgpO3ZhciBpbT1mdW5jdGlvbihhKXtyZXR1cm4oYT1hLmV4ZWMoXy5jYSgpKSk/YVsxXTpcIlwifSxqbT1mdW5jdGlvbigpe2lmKF8ucGMpcmV0dXJuIGltKC9GaXJlZm94XFwvKFswLTkuXSspLyk7aWYoXy5aYnx8Xy4kYnx8Xy5ZYilyZXR1cm4gXy5vYztpZihfLnRjKXtpZihfLnFhKCl8fF8ucmEoKSl7dmFyIGE9aW0oL0NyaU9TXFwvKFswLTkuXSspLyk7aWYoYSlyZXR1cm4gYX1yZXR1cm4gaW0oL0Nocm9tZVxcLyhbMC05Ll0rKS8pfWlmKF8udWMmJiFfLnFhKCkpcmV0dXJuIGltKC9WZXJzaW9uXFwvKFswLTkuXSspLyk7aWYoXy5xY3x8Xy5yYyl7aWYoYT0vVmVyc2lvblxcLyhcXFMrKS4qTW9iaWxlXFwvKFxcUyspLy5leGVjKF8uY2EoKSkpcmV0dXJuIGFbMV0rXCIuXCIrYVsyXX1lbHNlIGlmKF8uc2MpcmV0dXJuKGE9aW0oL0FuZHJvaWRcXHMrKFswLTkuXSspLykpP2E6aW0oL1ZlcnNpb25cXC8oWzAtOS5dKykvKTtyZXR1cm5cIlwifSgpO3ZhciBrbTtcbl8ubW09ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoLGspe3ZhciBsO2lmKGw9Yy5vZmZzZXRQYXJlbnQpe3ZhciBtPWwudGFnTmFtZT09XCJIVE1MXCJ8fGwudGFnTmFtZT09XCJCT0RZXCI7aWYoIW18fF8uSGcobCxcInBvc2l0aW9uXCIpIT1cInN0YXRpY1wiKXt2YXIgcD1fLmZtKGwpO2lmKCFtKXttPV8uWWwobCk7dmFyIHI7aWYocj1tKXtyPV8udWMmJiRsKGptLDEwKT49MDt2YXIgcTtpZihxPV8uaWMpcT0kbChobSwxMCk+PTA7dmFyIHk9Xy50YyYmJGwoam0sODUpPj0wO3I9Xy5hY3x8cnx8cXx8eX1tPXI/LWwuc2Nyb2xsTGVmdDptJiZfLkhnKGwsXCJvdmVyZmxvd1hcIikhPVwidmlzaWJsZVwiP2wuc2Nyb2xsV2lkdGgtbC5jbGllbnRXaWR0aC1sLnNjcm9sbExlZnQ6bC5zY3JvbGxMZWZ0O3A9YW0ocCxuZXcgXy5TbChtLGwuc2Nyb2xsVG9wKSl9fX1sPXB8fG5ldyBfLlNsO3A9Xy5mbShhKTttPV8uS2coYSk7cD1uZXcgY20ocC54LHAueSxtLndpZHRoLG0uaGVpZ2h0KTtpZihtPV8uZ20oYSkpeT1uZXcgY20obS5sZWZ0LFxubS50b3AsbS5yaWdodC1tLmxlZnQsbS5ib3R0b20tbS50b3ApLG09TWF0aC5tYXgocC5sZWZ0LHkubGVmdCkscj1NYXRoLm1pbihwLmxlZnQrcC53aWR0aCx5LmxlZnQreS53aWR0aCksbTw9ciYmKHE9TWF0aC5tYXgocC50b3AseS50b3ApLHk9TWF0aC5taW4ocC50b3ArcC5oZWlnaHQseS50b3AreS5oZWlnaHQpLHE8PXkmJihwLmxlZnQ9bSxwLnRvcD1xLHAud2lkdGg9ci1tLHAuaGVpZ2h0PXktcSkpO209Xy5vZyhhKTtyPV8ub2coYyk7aWYobS5pIT1yLmkpe209bS5pLmJvZHk7cj1fLmhnKHIuaSk7cT1uZXcgXy5TbCgwLDApO3k9Xy5pZyhfLnRlKG0pKTtpZihfLk5lKHksXCJwYXJlbnRcIikpe3ZhciBEPW07ZG97aWYoeT09cil2YXIgRT1fLmZtKEQpO2Vsc2UgRT1fLklnKEQpLEU9bmV3IF8uU2woRS5sZWZ0LEUudG9wKTtxLngrPUUueDtxLnkrPUUueX13aGlsZSh5JiZ5IT1yJiZ5IT15LnBhcmVudCYmKEQ9eS5mcmFtZUVsZW1lbnQpJiYoeT15LnBhcmVudCkpfW09YW0ocSxfLmZtKG0pKTtcbnAubGVmdCs9bS54O3AudG9wKz1tLnl9YT1rbShhLGIpO2I9cC5sZWZ0O2EmND9iKz1wLndpZHRoOmEmMiYmKGIrPXAud2lkdGgvMik7Yj1uZXcgXy5TbChiLHAudG9wKyhhJjE/cC5oZWlnaHQ6MCkpO2I9YW0oYixsKTtlJiYoYi54Kz0oYSY0Py0xOjEpKmUueCxiLnkrPShhJjE/LTE6MSkqZS55KTtpZihnKWlmKGspdmFyIEc9aztlbHNlIGlmKEc9Xy5nbShjKSlHLnRvcC09bC55LEcucmlnaHQtPWwueCxHLmJvdHRvbS09bC55LEcubGVmdC09bC54O3JldHVybiBfLmxtKGIsYyxkLGYsRyxnLGgpfTtcbl8ubG09ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7YT1fLlRsKGEpO3ZhciBoPWttKGIsYyk7Yz1fLktnKGIpO2c9Zz9fLnlnKGcpOl8ueWcoYyk7YT1fLlRsKGEpO2c9Xy55ZyhnKTt2YXIgaz0wO2lmKGR8fGghPTApaCY0P2EueC09Zy53aWR0aCsoZD9kLnJpZ2h0OjApOmgmMj9hLngtPWcud2lkdGgvMjpkJiYoYS54Kz1kLmxlZnQpLGgmMT9hLnktPWcuaGVpZ2h0KyhkP2QuYm90dG9tOjApOmQmJihhLnkrPWQudG9wKTtmJiYoZT8oZD1mLGY9MCwoZCY2NSk9PTY1JiYoYS54PGUubGVmdHx8YS54Pj1lLnJpZ2h0KSYmKGQmPS0yKSwoZCYxMzIpPT0xMzImJihhLnk8ZS50b3B8fGEueT49ZS5ib3R0b20pJiYoZCY9LTUpLGEueDxlLmxlZnQmJmQmMSYmKGEueD1lLmxlZnQsZnw9MSksZCYxNiYmKGg9YS54LGEueDxlLmxlZnQmJihhLng9ZS5sZWZ0LGZ8PTQpLGEueCtnLndpZHRoPmUucmlnaHQmJihnLndpZHRoPU1hdGgubWluKGUucmlnaHQtYS54LGgrZy53aWR0aC1lLmxlZnQpLGcud2lkdGg9XG5NYXRoLm1heChnLndpZHRoLDApLGZ8PTQpKSxhLngrZy53aWR0aD5lLnJpZ2h0JiZkJjEmJihhLng9TWF0aC5tYXgoZS5yaWdodC1nLndpZHRoLGUubGVmdCksZnw9MSksZCYyJiYoZnw9KGEueDxlLmxlZnQ/MTY6MCl8KGEueCtnLndpZHRoPmUucmlnaHQ/MzI6MCkpLGEueTxlLnRvcCYmZCY0JiYoYS55PWUudG9wLGZ8PTIpLGQmMzImJihoPWEueSxhLnk8ZS50b3AmJihhLnk9ZS50b3AsZnw9OCksYS55K2cuaGVpZ2h0PmUuYm90dG9tJiYoZy5oZWlnaHQ9TWF0aC5taW4oZS5ib3R0b20tYS55LGgrZy5oZWlnaHQtZS50b3ApLGcuaGVpZ2h0PU1hdGgubWF4KGcuaGVpZ2h0LDApLGZ8PTgpKSxhLnkrZy5oZWlnaHQ+ZS5ib3R0b20mJmQmNCYmKGEueT1NYXRoLm1heChlLmJvdHRvbS1nLmhlaWdodCxlLnRvcCksZnw9MiksZCY4JiYoZnw9KGEueTxlLnRvcD82NDowKXwoYS55K2cuaGVpZ2h0PmUuYm90dG9tPzEyODowKSksZT1mKTplPTI1NixrPWUpO2Q9bmV3IGNtKDAsMCwwLDApO2QubGVmdD1cbmEueDtkLnRvcD1hLnk7ZC53aWR0aD1nLndpZHRoO2QuaGVpZ2h0PWcuaGVpZ2h0O2U9aztpZihlJjQ5NilyZXR1cm4gZTtnPW5ldyBfLlNsKGQubGVmdCxkLnRvcCk7ZyBpbnN0YW5jZW9mIF8uU2w/KGE9Zy54LGc9Zy55KTooYT1nLGc9dm9pZCAwKTtiLnN0eWxlLmxlZnQ9Xy5kbShhLCExKTtiLnN0eWxlLnRvcD1fLmRtKGcsITEpO2c9bmV3IF8ub2UoZC53aWR0aCxkLmhlaWdodCk7Xy56ZyhjLGcpfHwoYz1nLGI9Yi5zdHlsZSxfLmFjP2IuTW96Qm94U2l6aW5nPVwiYm9yZGVyLWJveFwiOl8uYmM/Yi5XZWJraXRCb3hTaXppbmc9XCJib3JkZXItYm94XCI6Yi5ib3hTaXppbmc9XCJib3JkZXItYm94XCIsYi53aWR0aD1NYXRoLm1heChjLndpZHRoLDApK1wicHhcIixiLmhlaWdodD1NYXRoLm1heChjLmhlaWdodCwwKStcInB4XCIpO3JldHVybiBlfTtrbT1mdW5jdGlvbihhLGIpe3JldHVybihiJjgmJl8uWWwoYSk/Yl40OmIpJi05fTtfLm5tPWZ1bmN0aW9uKGEpe18uVy5jYWxsKHRoaXMpO3RoaXMuaT1hO3RoaXMuaj1fLmRmKHRoaXMuaSxcImZvY3VzXCIsdGhpcywhMCk7dGhpcy5vPV8uZGYodGhpcy5pLFwiYmx1clwiLHRoaXMsITApfTtfLkMoXy5ubSxfLlcpO18ubm0ucHJvdG90eXBlLmhhbmRsZUV2ZW50PWZ1bmN0aW9uKGEpe3ZhciBiPWEubmIoKTtiPW5ldyBfLlFlKGIpO2IudHlwZT1hLnR5cGU9PVwiZm9jdXNpblwifHxhLnR5cGU9PVwiZm9jdXNcIj9cImZvY3VzaW5cIjpcImZvY3Vzb3V0XCI7dGhpcy5kaXNwYXRjaEV2ZW50KGIpfTtfLm5tLnByb3RvdHlwZS5SPWZ1bmN0aW9uKCl7Xy5ubS5XLlIuY2FsbCh0aGlzKTtfLm1mKHRoaXMuaik7Xy5tZih0aGlzLm8pO2RlbGV0ZSB0aGlzLml9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLm9tPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5pPWFbXy50LlN5bWJvbC5pdGVyYXRvcl0oKTt0aGlzLmo9Yn1bU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiB0aGlzfW5leHQoKXtjb25zdCBhPXRoaXMuaS5uZXh0KCk7cmV0dXJue3ZhbHVlOmEuZG9uZT92b2lkIDA6dGhpcy5qLmNhbGwodm9pZCAwLGEudmFsdWUpLGRvbmU6YS5kb25lfX19O18ucG09ZnVuY3Rpb24oKXt9O18ucG0ucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy5xbX07Xy5xbT17ZG9uZTohMCx2YWx1ZTp2b2lkIDB9O18ucG0ucHJvdG90eXBlLlViPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O18udG09Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5pPWF9VWIoKXtyZXR1cm4gbmV3IF8ucm0odGhpcy5pKCkpfVtTeW1ib2wuaXRlcmF0b3JdKCl7cmV0dXJuIG5ldyBfLnNtKHRoaXMuaSgpKX1qKCl7cmV0dXJuIG5ldyBfLnNtKHRoaXMuaSgpKX19O18ucm09Y2xhc3MgZXh0ZW5kcyBfLnBte2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5pPWF9bmV4dCgpe3JldHVybiB0aGlzLmkubmV4dCgpfVtTeW1ib2wuaXRlcmF0b3JdKCl7cmV0dXJuIG5ldyBfLnNtKHRoaXMuaSl9aigpe3JldHVybiBuZXcgXy5zbSh0aGlzLmkpfX07Xy5zbT1jbGFzcyBleHRlbmRzIF8udG17Y29uc3RydWN0b3IoYSl7c3VwZXIoKCk9PmEpO3RoaXMubz1hfW5leHQoKXtyZXR1cm4gdGhpcy5vLm5leHQoKX19O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgdW09ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IF8ub20oYSxiKX0sdm09ZnVuY3Rpb24oYSl7aWYoYSBpbnN0YW5jZW9mIF8udG18fGEgaW5zdGFuY2VvZiBfLnJtfHxhIGluc3RhbmNlb2YgXy5zbSlyZXR1cm4gYTtpZih0eXBlb2YgYS5uZXh0PT1cImZ1bmN0aW9uXCIpcmV0dXJuIG5ldyBfLnRtKCgpPT5hKTtpZih0eXBlb2YgYVtTeW1ib2wuaXRlcmF0b3JdPT1cImZ1bmN0aW9uXCIpcmV0dXJuIG5ldyBfLnRtKCgpPT5hW1N5bWJvbC5pdGVyYXRvcl0oKSk7aWYodHlwZW9mIGEuVWI9PVwiZnVuY3Rpb25cIilyZXR1cm4gbmV3IF8udG0oKCk9PmEuVWIoKSk7dGhyb3cgRXJyb3IoXCJtYVwiKTt9LHdtPWZ1bmN0aW9uKGEsYil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLGIpfSx4bT1mdW5jdGlvbihhLGIpe3RoaXMuaj17fTt0aGlzLmk9W107dGhpcy5vPXRoaXMuc2l6ZT0wO3ZhciBjPWFyZ3VtZW50cy5sZW5ndGg7aWYoYz4xKXtpZihjJTIpdGhyb3cgRXJyb3IoXCJuYVwiKTtcbmZvcih2YXIgZD0wO2Q8YztkKz0yKXRoaXMuc2V0KGFyZ3VtZW50c1tkXSxhcmd1bWVudHNbZCsxXSl9ZWxzZSBpZihhKWlmKGEgaW5zdGFuY2VvZiB4bSlmb3IoYz1hLm9iKCksZD0wO2Q8Yy5sZW5ndGg7ZCsrKXRoaXMuc2V0KGNbZF0sYS5nZXQoY1tkXSkpO2Vsc2UgZm9yKGQgaW4gYSl0aGlzLnNldChkLGFbZF0pfTt4bS5wcm90b3R5cGUuU2E9ZnVuY3Rpb24oKXt5bSh0aGlzKTtmb3IodmFyIGE9W10sYj0wO2I8dGhpcy5pLmxlbmd0aDtiKyspYS5wdXNoKHRoaXMualt0aGlzLmlbYl1dKTtyZXR1cm4gYX07eG0ucHJvdG90eXBlLm9iPWZ1bmN0aW9uKCl7eW0odGhpcyk7cmV0dXJuIHRoaXMuaS5jb25jYXQoKX07dmFyIHptPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuaGFzKGIpfTtfLm49eG0ucHJvdG90eXBlO18ubi5oYXM9ZnVuY3Rpb24oYSl7cmV0dXJuIHdtKHRoaXMuaixhKX07Xy5uLkViPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2l6ZT09MH07XG5fLm4uY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmo9e307dGhpcy5vPXRoaXMuc2l6ZT10aGlzLmkubGVuZ3RoPTB9O18ubi5yZW1vdmU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZGVsZXRlKGEpfTtfLm4uZGVsZXRlPWZ1bmN0aW9uKGEpe3JldHVybiB3bSh0aGlzLmosYSk/KGRlbGV0ZSB0aGlzLmpbYV0sLS10aGlzLnNpemUsdGhpcy5vKyssdGhpcy5pLmxlbmd0aD4yKnRoaXMuc2l6ZSYmeW0odGhpcyksITApOiExfTt2YXIgeW09ZnVuY3Rpb24oYSl7aWYoYS5zaXplIT1hLmkubGVuZ3RoKXtmb3IodmFyIGI9MCxjPTA7YjxhLmkubGVuZ3RoOyl7dmFyIGQ9YS5pW2JdO3dtKGEuaixkKSYmKGEuaVtjKytdPWQpO2IrK31hLmkubGVuZ3RoPWN9aWYoYS5zaXplIT1hLmkubGVuZ3RoKXt2YXIgZT17fTtmb3IoYz1iPTA7YjxhLmkubGVuZ3RoOylkPWEuaVtiXSx3bShlLGQpfHwoYS5pW2MrK109ZCxlW2RdPTEpLGIrKzthLmkubGVuZ3RoPWN9fTtfLm49eG0ucHJvdG90eXBlO1xuXy5uLmdldD1mdW5jdGlvbihhLGIpe3JldHVybiB3bSh0aGlzLmosYSk/dGhpcy5qW2FdOmJ9O18ubi5zZXQ9ZnVuY3Rpb24oYSxiKXt3bSh0aGlzLmosYSl8fCh0aGlzLnNpemUrPTEsdGhpcy5pLnB1c2goYSksdGhpcy5vKyspO3RoaXMualthXT1ifTtfLm4uZm9yRWFjaD1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz10aGlzLm9iKCksZD0wO2Q8Yy5sZW5ndGg7ZCsrKXt2YXIgZT1jW2RdLGY9dGhpcy5nZXQoZSk7YS5jYWxsKGIsZixlLHRoaXMpfX07Xy5uLmtleXM9ZnVuY3Rpb24oKXtyZXR1cm4gdm0odGhpcy5VYighMCkpLmooKX07Xy5uLnZhbHVlcz1mdW5jdGlvbigpe3JldHVybiB2bSh0aGlzLlViKCExKSkuaigpfTtfLm4uZW50cmllcz1mdW5jdGlvbigpe2NvbnN0IGE9dGhpcztyZXR1cm4gdW0odGhpcy5rZXlzKCksZnVuY3Rpb24oYil7cmV0dXJuW2IsYS5nZXQoYildfSl9O1xuXy5uLlViPWZ1bmN0aW9uKGEpe3ltKHRoaXMpO3ZhciBiPTAsYz10aGlzLm8sZD10aGlzLGU9bmV3IF8ucG07ZS5uZXh0PWZ1bmN0aW9uKCl7aWYoYyE9ZC5vKXRocm93IEVycm9yKFwib2FcIik7aWYoYj49ZC5pLmxlbmd0aClyZXR1cm4gXy5xbTt2YXIgZj1kLmlbYisrXTtyZXR1cm57dmFsdWU6YT9mOmQualtmXSxkb25lOiExfX07cmV0dXJuIGV9O3ZhciBBbT1mdW5jdGlvbigpe307QW0ucHJvdG90eXBlLmk9ZnVuY3Rpb24oKXt9O3ZhciBCbT1mdW5jdGlvbihhLGIsYyl7dGhpcy5qPWE7dGhpcy5vPWI7dGhpcy52PWN9O18uQyhCbSxBbSk7Qm0ucHJvdG90eXBlLmk9ZnVuY3Rpb24oYSxiLGMpe18ubW0odGhpcy5qLHRoaXMubyxhLGIsdm9pZCAwLGMsdGhpcy52KX07dmFyIENtPWZ1bmN0aW9uKGEsYil7dGhpcy5qPWEgaW5zdGFuY2VvZiBfLlNsP2E6bmV3IF8uU2woYSxiKX07Xy5DKENtLEFtKTtDbS5wcm90b3R5cGUuaT1mdW5jdGlvbihhLGIsYyl7Xy5tbSgoYT9fLnRlKGEpOmRvY3VtZW50KS5kb2N1bWVudEVsZW1lbnQsMCxhLGIsdGhpcy5qLGMsbnVsbCl9O3ZhciBEbT1mdW5jdGlvbigpe3RoaXMuaT1uZXcgeG07dGhpcy5zaXplPTB9LEVtPWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBhO3JldHVybiBiPT1cIm9iamVjdFwiJiZhfHxiPT1cImZ1bmN0aW9uXCI/XCJvXCIrXy5TZChhKTpiLmNoYXJBdCgwKSthfTtfLm49RG0ucHJvdG90eXBlO18ubi5hZGQ9ZnVuY3Rpb24oYSl7dGhpcy5pLnNldChFbShhKSxhKTt0aGlzLnNpemU9dGhpcy5pLnNpemV9O18ubi5kZWxldGU9ZnVuY3Rpb24oYSl7YT10aGlzLmkucmVtb3ZlKEVtKGEpKTt0aGlzLnNpemU9dGhpcy5pLnNpemU7cmV0dXJuIGF9O18ubi5yZW1vdmU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZGVsZXRlKGEpfTtfLm4uY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmkuY2xlYXIoKTt0aGlzLnNpemU9MH07Xy5uLkViPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaS5zaXplPT09MH07Xy5uLmhhcz1mdW5jdGlvbihhKXtyZXR1cm4gem0odGhpcy5pLEVtKGEpKX07Xy5uLlNhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaS5TYSgpfTtcbl8ubi52YWx1ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pLnZhbHVlcygpfTtfLm4uVWI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pLlViKCExKX07RG0ucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXMoKX07dmFyIEZtPWZ1bmN0aW9uKGEsYil7Xy5XLmNhbGwodGhpcyk7dGhpcy52PW5ldyBfLnRnKHRoaXMpO3RoaXMuSGQoYXx8bnVsbCk7YiYmKHRoaXMuQWM9Yil9O18uQyhGbSxfLlcpO18ubj1GbS5wcm90b3R5cGU7Xy5uLlVhPW51bGw7Xy5uLnhlPW51bGw7Xy5uLkljPSExO18ubi5aZD0tMTtfLm4uQWM9XCJ0b2dnbGVfZGlzcGxheVwiO18ubi5IPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVWF9O18ubi5IZD1mdW5jdGlvbihhKXtpZih0aGlzLkljKXRocm93IEVycm9yKFwicGFcIik7dGhpcy5VYT1hfTtfLm4uaXNWaXNpYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSWN9O1xuXy5uLllhPWZ1bmN0aW9uKGEpe3RoaXMuRyYmdGhpcy5HLnN0b3AoKTt0aGlzLkYmJnRoaXMuRi5zdG9wKCk7aWYoYSl7aWYoIXRoaXMuSWMmJnRoaXMuY2UoKSl7aWYoIXRoaXMuVWEpdGhyb3cgRXJyb3IoXCJxYVwiKTt0aGlzLlBjKCk7YT1fLnRlKHRoaXMuVWEpO3RoaXMudi5saXN0ZW4oYSxcIm1vdXNlZG93blwiLHRoaXMubGgsITApO3RoaXMudi5saXN0ZW4oYSxcImJsdXJcIix0aGlzLmtoKTt0aGlzLkFjPT1cInRvZ2dsZV9kaXNwbGF5XCI/KHRoaXMuVWEuc3R5bGUudmlzaWJpbGl0eT1cInZpc2libGVcIixfLkxnKHRoaXMuVWEsITApKTp0aGlzLkFjPT1cIm1vdmVfb2Zmc2NyZWVuXCImJnRoaXMuUGMoKTt0aGlzLkljPSEwO3RoaXMuWmQ9RGF0ZS5ub3coKTt0aGlzLkc/KF8uY2YodGhpcy5HLFwiZW5kXCIsdGhpcy5qZiwhMSx0aGlzKSx0aGlzLkcucGxheSgpKTp0aGlzLmpmKCl9fWVsc2UgR20odGhpcyl9O18ubi5QYz1mdW5jdGlvbigpe307XG52YXIgR209ZnVuY3Rpb24oYSxiKXthLkljJiZhLmRpc3BhdGNoRXZlbnQoe3R5cGU6XCJiZWZvcmVoaWRlXCIsdGFyZ2V0OmJ9KSYmKGEudiYmXy54ZyhhLnYpLGEuSWM9ITEsYS5GPyhfLmNmKGEuRixcImVuZFwiLF8uTmQoYS5CZSxiKSwhMSxhKSxhLkYucGxheSgpKTphLkJlKGIpKX07Xy5uPUZtLnByb3RvdHlwZTtfLm4uQmU9ZnVuY3Rpb24oYSl7dGhpcy5BYz09XCJ0b2dnbGVfZGlzcGxheVwiP3RoaXMuVWcoKTp0aGlzLkFjPT1cIm1vdmVfb2Zmc2NyZWVuXCImJih0aGlzLlVhLnN0eWxlLnRvcD1cIi0xMDAwMHB4XCIpO3RoaXMuZGUoYSl9O18ubi5VZz1mdW5jdGlvbigpe3RoaXMuVWEuc3R5bGUudmlzaWJpbGl0eT1cImhpZGRlblwiO18uTGcodGhpcy5VYSwhMSl9O18ubi5jZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmRpc3BhdGNoRXZlbnQoXCJiZWZvcmVzaG93XCIpfTtfLm4uamY9ZnVuY3Rpb24oKXt0aGlzLmRpc3BhdGNoRXZlbnQoXCJzaG93XCIpfTtcbl8ubi5kZT1mdW5jdGlvbihhKXt0aGlzLmRpc3BhdGNoRXZlbnQoe3R5cGU6XCJoaWRlXCIsdGFyZ2V0OmF9KX07Xy5uLmxoPWZ1bmN0aW9uKGEpe2E9YS50YXJnZXQ7Xy5tZyh0aGlzLlVhLGEpfHxIbSh0aGlzLGEpfHxEYXRlLm5vdygpLXRoaXMuWmQ8MTUwfHxHbSh0aGlzLGEpfTtfLm4ua2g9ZnVuY3Rpb24oYSl7dmFyIGI9Xy50ZSh0aGlzLlVhKTtpZih0eXBlb2YgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9XCJ1bmRlZmluZWRcIil7aWYoYT1iLmFjdGl2ZUVsZW1lbnQsIWF8fF8ubWcodGhpcy5VYSxhKXx8YS50YWdOYW1lPT1cIkJPRFlcInx8SG0odGhpcyxhKSlyZXR1cm59ZWxzZSBpZihhLnRhcmdldCE9YilyZXR1cm47RGF0ZS5ub3coKS10aGlzLlpkPDE1MHx8R20odGhpcyl9O3ZhciBIbT1mdW5jdGlvbihhLGIpe3JldHVybiBfLldkKGEueGV8fFtdLGZ1bmN0aW9uKGMpe3JldHVybiBiPT09Y3x8Xy5tZyhjLGIpfSl9O1xuRm0ucHJvdG90eXBlLlI9ZnVuY3Rpb24oKXtGbS5XLlIuY2FsbCh0aGlzKTt0aGlzLnYuZGlzcG9zZSgpO18uVWYodGhpcy5HKTtfLlVmKHRoaXMuRik7ZGVsZXRlIHRoaXMuVWE7ZGVsZXRlIHRoaXMudjtkZWxldGUgdGhpcy54ZX07dmFyIEltPWZ1bmN0aW9uKGEsYil7dGhpcy5rYT04O3RoaXMuUD1ifHx2b2lkIDA7Rm0uY2FsbCh0aGlzLGEpfTtfLkMoSW0sRm0pO0ltLnByb3RvdHlwZS5QYz1mdW5jdGlvbigpe2lmKHRoaXMuUCl7dmFyIGE9IXRoaXMuaXNWaXNpYmxlKCkmJnRoaXMuQWMhPVwibW92ZV9vZmZzY3JlZW5cIixiPXRoaXMuSCgpO2EmJihiLnN0eWxlLnZpc2liaWxpdHk9XCJoaWRkZW5cIixfLkxnKGIsITApKTt0aGlzLlAuaShiLHRoaXMua2EsdGhpcy5mYSk7YSYmXy5MZyhiLCExKX19O3ZhciBKbT1mdW5jdGlvbihhLGIsYyl7dGhpcy5CPWN8fChhP18ub2coXy5kZyhkb2N1bWVudCxhKSk6Xy5vZygpKTtJbS5jYWxsKHRoaXMsdGhpcy5CLmViKFwiRElWXCIse3N0eWxlOlwicG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpub25lO1wifSkpO3RoaXMuTT1uZXcgXy5TbCgxLDEpO3RoaXMuQT1uZXcgRG07dGhpcy5vPW51bGw7YSYmKGE9Xy5kZyhkb2N1bWVudCxhKSx0aGlzLkEuYWRkKGEpLF8uZGYoYSxcIm1vdXNlb3ZlclwiLHRoaXMuVCwhMSx0aGlzKSxfLmRmKGEsXCJtb3VzZW91dFwiLHRoaXMuSiwhMSx0aGlzKSxfLmRmKGEsXCJtb3VzZW1vdmVcIix0aGlzLlUsITEsdGhpcyksXy5kZihhLFwiZm9jdXNcIix0aGlzLk8sITEsdGhpcyksXy5kZihhLFwiYmx1clwiLHRoaXMuSiwhMSx0aGlzKSk7YiE9bnVsbCYmXy52ZSh0aGlzLkgoKSxiKX07Xy5DKEptLEltKTt2YXIgS209W107Xy5uPUptLnByb3RvdHlwZTtfLm4uUWE9bnVsbDtfLm4uY2xhc3NOYW1lPVwiZ2JfUGEtZ2JfT2VcIjtcbl8ubi5IZD1mdW5jdGlvbihhKXt2YXIgYj10aGlzLkgoKTtiJiZfLmxnKGIpO0ptLlcuSGQuY2FsbCh0aGlzLGEpO2E/KGI9dGhpcy5CLmkuYm9keSxiLmluc2VydEJlZm9yZShhLGIubGFzdENoaWxkKSxfLlVmKHRoaXMubyksdGhpcy5vPW5ldyBfLm5tKHRoaXMuSCgpKSxfLiRmKHRoaXMsdGhpcy5vKSxfLmRmKHRoaXMubyxcImZvY3VzaW5cIix0aGlzLkMsdm9pZCAwLHRoaXMpLF8uZGYodGhpcy5vLFwiZm9jdXNvdXRcIix0aGlzLkwsdm9pZCAwLHRoaXMpKTooXy5VZih0aGlzLm8pLHRoaXMubz1udWxsKX07Xy5uLmdldFN0YXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaj90aGlzLmlzVmlzaWJsZSgpPzQ6MTp0aGlzLkQ/Mzp0aGlzLmlzVmlzaWJsZSgpPzI6MH07XG5fLm4uY2U9ZnVuY3Rpb24oKXtpZighRm0ucHJvdG90eXBlLmNlLmNhbGwodGhpcykpcmV0dXJuITE7aWYodGhpcy5pKWZvcih2YXIgYSxiPTA7YT1LbVtiXTtiKyspXy5tZyhhLkgoKSx0aGlzLmkpfHxhLllhKCExKTtfLnRhKEttLHRoaXMpfHxLbS5wdXNoKHRoaXMpO2E9dGhpcy5IKCk7YS5jbGFzc05hbWU9dGhpcy5jbGFzc05hbWU7dGhpcy5DKCk7Xy5kZihhLFwibW91c2VvdmVyXCIsdGhpcy5YLCExLHRoaXMpO18uZGYoYSxcIm1vdXNlb3V0XCIsdGhpcy5WLCExLHRoaXMpO0xtKHRoaXMpO3JldHVybiEwfTtcbl8ubi5kZT1mdW5jdGlvbigpe18uS2UoS20sdGhpcyk7Zm9yKHZhciBhPXRoaXMuSCgpLGIsYz0wO2I9S21bY107YysrKWIuaSYmXy5tZyhhLGIuaSkmJmIuWWEoITEpO3RoaXMuZGEmJnRoaXMuZGEuTCgpO18ubGYoYSxcIm1vdXNlb3ZlclwiLHRoaXMuWCwhMSx0aGlzKTtfLmxmKGEsXCJtb3VzZW91dFwiLHRoaXMuViwhMSx0aGlzKTt0aGlzLmk9dm9pZCAwO3RoaXMuZ2V0U3RhdGUoKT09MCYmKHRoaXMuSz0hMSk7Rm0ucHJvdG90eXBlLmRlLmNhbGwodGhpcyl9O18ubi5ZZT1mdW5jdGlvbihhLGIpe3RoaXMuaT09YSYmem0odGhpcy5BLmksRW0odGhpcy5pKSkmJih0aGlzLkt8fCF0aGlzLmhhPyh0aGlzLllhKCExKSx0aGlzLmlzVmlzaWJsZSgpfHwodGhpcy5pPWEsdGhpcy5QPWJ8fHRoaXMuTigwKXx8dm9pZCAwLHRoaXMuaXNWaXNpYmxlKCkmJnRoaXMuUGMoKSx0aGlzLllhKCEwKSkpOnRoaXMuaT12b2lkIDApO3RoaXMuaj12b2lkIDB9O1xuXy5uLmRoPWZ1bmN0aW9uKGEpe3RoaXMuRD12b2lkIDA7aWYoYT09dGhpcy5pKXthPXRoaXMuQjt2YXIgYjthPShiPV8uWGwoYS5pKSkmJnRoaXMuSCgpJiZhLkpmKHRoaXMuSCgpLGIpO3RoaXMuUWEhPW51bGwmJih0aGlzLlFhPT10aGlzLkgoKXx8em0odGhpcy5BLmksRW0odGhpcy5RYSkpKXx8YXx8dGhpcy5TJiZ0aGlzLlMuUWF8fHRoaXMuWWEoITEpfX07dmFyIE1tPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5WbChhLkIuaSk7YS5NLng9Yi5jbGllbnRYK2MueDthLk0ueT1iLmNsaWVudFkrYy55fTtKbS5wcm90b3R5cGUuVD1mdW5jdGlvbihhKXt2YXIgYj1ObSh0aGlzLGEudGFyZ2V0KTt0aGlzLlFhPWI7dGhpcy5DKCk7YiE9dGhpcy5pJiYodGhpcy5pPWIsdGhpcy5qfHwodGhpcy5qPV8ucmcoKDAsXy56KSh0aGlzLlllLHRoaXMsYix2b2lkIDApLDUwMCkpLE9tKHRoaXMpLE1tKHRoaXMsYSkpfTtcbnZhciBObT1mdW5jdGlvbihhLGIpe3RyeXtmb3IoO2ImJiF6bShhLkEuaSxFbShiKSk7KWI9Yi5wYXJlbnROb2RlO3JldHVybiBifWNhdGNoKGMpe3JldHVybiBudWxsfX07Sm0ucHJvdG90eXBlLlU9ZnVuY3Rpb24oYSl7TW0odGhpcyxhKTt0aGlzLks9ITB9O0ptLnByb3RvdHlwZS5PPWZ1bmN0aW9uKGEpe3RoaXMuUWE9YT1ObSh0aGlzLGEudGFyZ2V0KTt0aGlzLks9ITA7aWYodGhpcy5pIT1hKXt0aGlzLmk9YTt2YXIgYj10aGlzLk4oMSk7dGhpcy5DKCk7dGhpcy5qfHwodGhpcy5qPV8ucmcoKDAsXy56KSh0aGlzLlllLHRoaXMsYSxiKSw1MDApKTtPbSh0aGlzKX19O0ptLnByb3RvdHlwZS5OPWZ1bmN0aW9uKGEpe3JldHVybiBhPT0wP25ldyBQbShfLlRsKHRoaXMuTSkpOm5ldyBRbSh0aGlzLlFhKX07dmFyIE9tPWZ1bmN0aW9uKGEpe2lmKGEuaSlmb3IodmFyIGIsYz0wO2I9S21bY107YysrKV8ubWcoYi5IKCksYS5pKSYmKGIuUz1hLGEuZGE9Yil9O1xuSm0ucHJvdG90eXBlLko9ZnVuY3Rpb24oYSl7dmFyIGI9Tm0odGhpcyxhLnRhcmdldCksYz1ObSh0aGlzLGEucmVsYXRlZFRhcmdldCk7YiE9YyYmKGI9PXRoaXMuUWEmJih0aGlzLlFhPW51bGwpLExtKHRoaXMpLHRoaXMuSz0hMSwhdGhpcy5pc1Zpc2libGUoKXx8YS5yZWxhdGVkVGFyZ2V0JiZfLm1nKHRoaXMuSCgpLGEucmVsYXRlZFRhcmdldCk/dGhpcy5pPXZvaWQgMDp0aGlzLkwoKSl9O0ptLnByb3RvdHlwZS5YPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5IKCk7dGhpcy5RYSE9YSYmKHRoaXMuQygpLHRoaXMuUWE9YSl9O0ptLnByb3RvdHlwZS5WPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuSCgpO3RoaXMuUWEhPWJ8fGEucmVsYXRlZFRhcmdldCYmXy5tZyhiLGEucmVsYXRlZFRhcmdldCl8fCh0aGlzLlFhPW51bGwsdGhpcy5MKCkpfTt2YXIgTG09ZnVuY3Rpb24oYSl7YS5qJiYoXy5zZyhhLmopLGEuaj12b2lkIDApfTtcbkptLnByb3RvdHlwZS5MPWZ1bmN0aW9uKCl7dGhpcy5nZXRTdGF0ZSgpPT0yJiYodGhpcy5EPV8ucmcoKDAsXy56KSh0aGlzLmRoLHRoaXMsdGhpcy5pKSwwKSl9O0ptLnByb3RvdHlwZS5DPWZ1bmN0aW9uKCl7dGhpcy5EJiYoXy5zZyh0aGlzLkQpLHRoaXMuRD12b2lkIDApfTtKbS5wcm90b3R5cGUuUj1mdW5jdGlvbigpe3ZhciBhO3RoaXMuWWEoITEpO0xtKHRoaXMpO2Zvcih2YXIgYj10aGlzLkEuU2EoKSxjPTA7YT1iW2NdO2MrKylfLmxmKGEsXCJtb3VzZW92ZXJcIix0aGlzLlQsITEsdGhpcyksXy5sZihhLFwibW91c2VvdXRcIix0aGlzLkosITEsdGhpcyksXy5sZihhLFwibW91c2Vtb3ZlXCIsdGhpcy5VLCExLHRoaXMpLF8ubGYoYSxcImZvY3VzXCIsdGhpcy5PLCExLHRoaXMpLF8ubGYoYSxcImJsdXJcIix0aGlzLkosITEsdGhpcyk7dGhpcy5BLmNsZWFyKCk7dGhpcy5IKCkmJl8ubGcodGhpcy5IKCkpO3RoaXMuUWE9bnVsbDtkZWxldGUgdGhpcy5CO0ptLlcuUi5jYWxsKHRoaXMpfTtcbnZhciBQbT1mdW5jdGlvbihhLGIpe0NtLmNhbGwodGhpcyxhLGIpfTtfLkMoUG0sQ20pO1BtLnByb3RvdHlwZS5pPWZ1bmN0aW9uKGEsYixjKXtiPV8uZ20oKGE/Xy50ZShhKTpkb2N1bWVudCkuZG9jdW1lbnRFbGVtZW50KTtjPWM/bmV3IF8uYm0oYy50b3ArMTAsYy5yaWdodCxjLmJvdHRvbSxjLmxlZnQrMTApOm5ldyBfLmJtKDEwLDAsMCwxMCk7Xy5sbSh0aGlzLmosYSw4LGMsYiw5KSY0OTYmJl8ubG0odGhpcy5qLGEsOCxjLGIsNSl9O3ZhciBRbT1mdW5jdGlvbihhKXtCbS5jYWxsKHRoaXMsYSw1KX07Xy5DKFFtLEJtKTtRbS5wcm90b3R5cGUuaT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9bmV3IF8uU2woMTAsMCk7Xy5tbSh0aGlzLmosdGhpcy5vLGEsYixkLGMsOSkmNDk2JiZfLm1tKHRoaXMuaiw0LGEsMSxkLGMsNSl9O3ZhciBSbTtfLlNtPWNsYXNzIGV4dGVuZHMgSm17Y29uc3RydWN0b3IoYSxiKXtzdXBlcihhKTt0aGlzLmNsYXNzTmFtZT1cImdiX09lXCI7dGhpcy5IZChiKTt0aGlzLmthPTI7dGhpcy5pc1Zpc2libGUoKSYmdGhpcy5QYygpO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsYz0+e2Mua2V5Q29kZT09MjcmJnRoaXMuWWEoITEpfSk7dGhpcy5IKCkuc2V0QXR0cmlidXRlKFwibmctbm9uLWJpbmRhYmxlXCIsXCJcIil9Tigpe3JldHVybiBuZXcgUm0odGhpcy5RYSl9WWEoYSl7YXx8TG0odGhpcyk7cmV0dXJuIHN1cGVyLllhKGEpfX07XG5SbT1jbGFzcyBleHRlbmRzIEJte2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEsMyl9aShhLGIsYyl7Y29uc3QgZD1uZXcgXy5TbCgwLDApLGU9Xy5nZyh3aW5kb3cpO2xldCBmPTA7Xy5tbSh0aGlzLmosdGhpcy5vLGEsYixkLGMsOSx2b2lkIDAsbmV3IF8uYm0oMCxlLndpZHRoLTgsZS5oZWlnaHQsOCkpJjQ5NiYmKGY9Xy5tbSh0aGlzLmosNCxhLDEsZCxjLDUpKTtmJjImJihiPXBhcnNlSW50KF8uRmcoYSxcInRvcFwiKSwxMCkrdGhpcy5qLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCsxMixfLlgoYSxcInRvcFwiLGIrXCJweFwiKSl9fTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIFRtPWZ1bmN0aW9uKGEsYil7Yj1fLk1kKGIpO3JldHVybiBiIT09dm9pZCAwP2Eub3BlbihiLFwicG9wdXBXaW5kb3dcIixcInBvcHVwPXllcyxoZWlnaHQ9NTAwLHdpZHRoPTY5MFwiKTpudWxsfSxZbT1mdW5jdGlvbihhKXtVbSgpfHx0eXBlb2YgZG9jdW1lbnQuaGFzU3RvcmFnZUFjY2VzcyE9PVwiZnVuY3Rpb25cInx8dHlwZW9mIGRvY3VtZW50LnJlcXVlc3RTdG9yYWdlQWNjZXNzIT09XCJmdW5jdGlvblwiP1ZtKGEpOmRvY3VtZW50Lmhhc1N0b3JhZ2VBY2Nlc3MoKS50aGVuKGI9PntiP1ZtKGEpOldtKCkudGhlbihjPT57aWYoYz09PVwicHJvbXB0XCJ8fGM9PT1cImdyYW50ZWRcIilfLk1sLmxvZygxMzUpLGRvY3VtZW50LnJlcXVlc3RTdG9yYWdlQWNjZXNzKCkudGhlbigoKT0+e1htKCl9LCgpPT57fSl9KX0sKCk9Pnt9KX0sVm09ZnVuY3Rpb24oYSl7Xy5NbC5sb2coMTM0KTtjb25zdCBiPVRtKHdpbmRvdyxfLkpkKGEpfHxfLmNlKTtabSgoKT0+e18uTWwubG9nKDEzOCk7YiYmYi5jbG9zZSgpO1xuWG0oKX0pfSwkbT1mdW5jdGlvbihhLGIpe18uamgubGlzdGVuKGEsYix2b2lkIDAsdm9pZCAwKX0sYW49ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQuY29va2llLnNwbGl0KFwiO1wiKTtmb3IoY29uc3QgYyBvZiBiKWlmKGI9Yy5zcGxpdChcIj1cIiksYlswXS50cmltKCk9PT1hKXJldHVybiBiWzFdfTt2YXIgWm09ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IGJuO2IuaSYmY2xlYXJJbnRlcnZhbChiLmkpO2NvbnN0IGM9e307Zm9yKGNvbnN0IGQgb2YgYi5qKWNbZF09YW4oZCk7Yi5pPXNldEludGVydmFsKCgpPT57YTp7Zm9yKGQgb2YgYi5qKWlmKGFuKGQpIT09dm9pZCAwJiZjW2RdIT09YW4oZCkpe3ZhciBkPSEwO2JyZWFrIGF9ZD0hMX1kJiYoY2xlYXJJbnRlcnZhbChiLmkpLGIuaT12b2lkIDAsYSgpKX0sMUUzKX0sYm49Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9W1wiU0FQSVNJRFwiLFwiX19TZWN1cmUtMVBBUElTSURcIixcIl9fU2VjdXJlLTNQQVBJU0lEXCJdO3RoaXMuaT12b2lkIDB9fTt2YXIgWG09ZnVuY3Rpb24oKXt2YXIgYT13aW5kb3cubG9jYXRpb24uaHJlZjt3aW5kb3cubG9jYXRpb24uaHJlZj09PWE/d2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOl8uUWwod2luZG93LmxvY2F0aW9uLF8uSmQoYSl8fF8uY2UpfSxjbj1mdW5jdGlvbigpe2xldCBhPSEwO3RyeXthPXdpbmRvdy5zZWxmIT09d2luZG93LnRvcH1jYXRjaChiKXt9cmV0dXJuIGF9O3ZhciBVbT1mdW5jdGlvbigpe2lmKHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50RGF0YSYmd2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnREYXRhLmJyYW5kcyl7Y29uc3QgYT13aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudERhdGEuYnJhbmRzO2ZvcihsZXQgYj0wO2I8YS5sZW5ndGg7YisrKXtjb25zdCBjPWFbYl07aWYoYy5icmFuZD09PVwiR29vZ2xlIENocm9tZVwiKXJldHVybiBjLnZlcnNpb249PT1cIjExNVwifHxjLnZlcnNpb249PT1cIjExNlwifX1yZXR1cm4hMX0sV209ZnVuY3Rpb24oKXtyZXR1cm4gbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5KHtuYW1lOlwic3RvcmFnZS1hY2Nlc3NcIn0pLnRoZW4oYT0+YS5zdGF0ZSkuY2F0Y2goKCk9PlwicHJvbXB0XCIpfTsoZnVuY3Rpb24oKXtfLk1sLmxvZygxKTtjb25zdCBhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIuZ2JfbmQ6bm90KC5nYl9kKVwiKTt2YXIgYj1fLmJkKCk7Y29uc3QgYz1fLkkoYiwyOSkmJmNuKCk7YSYmJG0oYSxlPT57YyYmKGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLFltKGEuZ2V0QXR0cmlidXRlKFwiaHJlZlwiKSkpO3ZhciBmPV8uUGkobmV3IF8uTGMsXy5WKGEsXCJnYl9pXCIpKTtfLk1sLmxvZyg2MixmKTtpZihmPV8uRWIoXCJzaWxrLnMuc2lzLmNhXCIpKV8uTWwubG9nKDEwNiksZigpLGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpfSk7Yj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLmdiX3phXCIpO3ZhciBkPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIjZ2IuZ2JfUGNcIik7YiYmZCYmJG0oYiwoKT0+e18uTWwubG9nKDc5KX0pO2lmKGI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5nYl9qIC5nYl9kXCIpKSRtKGIsKCk9PnZvaWQgXy5NbC5sb2coMTI3KSksXG4oZD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLmdiX2xcIikpJiZuZXcgXy5TbShiLGQpfSkoKTt2YXIgZG49Xy5VKFwiZ2JfTWNcIik7aWYoZG4pe2NvbnN0IGE9Xy5VKFwiZ2JfeWNcIixkbik7YSYmbmV3IF8uaGgoYSl9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgZm4sZ247Xy5lbj1mdW5jdGlvbihhKXtyZXR1cm4gXy5KZChhLF8uSWQpfHxfLmNlfTtmbj0vXihbXj8jXSopKFxcP1teI10qKT8oI1tcXHNcXFNdKik/Lztnbj1mdW5jdGlvbihhLGIsYyl7aWYoYz09bnVsbClyZXR1cm4gYjtpZih0eXBlb2YgYz09PVwic3RyaW5nXCIpcmV0dXJuIGM/YStlbmNvZGVVUklDb21wb25lbnQoYyk6XCJcIjtmb3IodmFyIGQgaW4gYylpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYyxkKSl7dmFyIGU9Y1tkXTtlPUFycmF5LmlzQXJyYXkoZSk/ZTpbZV07Zm9yKHZhciBmPTA7ZjxlLmxlbmd0aDtmKyspe3ZhciBnPWVbZl07ZyE9bnVsbCYmKGJ8fChiPWEpLGIrPShiLmxlbmd0aD5hLmxlbmd0aD9cIiZcIjpcIlwiKStlbmNvZGVVUklDb21wb25lbnQoZCkrXCI9XCIrZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhnKSkpfX1yZXR1cm4gYn07XG5fLmhuPWZ1bmN0aW9uKGEsYil7YT1mbi5leGVjKF8uJGQoYSkudG9TdHJpbmcoKSk7Y29uc3QgYz1hWzNdfHxcIlwiO3JldHVybiBfLmJlKGFbMV0rZ24oXCI/XCIsYVsyXXx8XCJcIixiKStnbihcIiNcIixjKSl9O18uam49ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoYSxiLGMpfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIGxuLG1uLG5uLG9uLHBuLHFuLHJuO18ua249ZnVuY3Rpb24oYSxiKXtjb25zdCBjPWEubGVuZ3RoLWIubGVuZ3RoO3JldHVybiBjPj0wJiZhLmluZGV4T2YoYixjKT09Y307bG49LyYvZzttbj0vPC9nO25uPS8+L2c7b249L1wiL2c7cG49LycvZztxbj0vXFx4MDAvZztybj0vW1xceDAwJjw+XCInXS87Xy5zbj1mdW5jdGlvbihhKXtpZighcm4udGVzdChhKSlyZXR1cm4gYTthLmluZGV4T2YoXCImXCIpIT0tMSYmKGE9YS5yZXBsYWNlKGxuLFwiJmFtcDtcIikpO2EuaW5kZXhPZihcIjxcIikhPS0xJiYoYT1hLnJlcGxhY2UobW4sXCImbHQ7XCIpKTthLmluZGV4T2YoXCI+XCIpIT0tMSYmKGE9YS5yZXBsYWNlKG5uLFwiJmd0O1wiKSk7YS5pbmRleE9mKCdcIicpIT0tMSYmKGE9YS5yZXBsYWNlKG9uLFwiJnF1b3Q7XCIpKTthLmluZGV4T2YoXCInXCIpIT0tMSYmKGE9YS5yZXBsYWNlKHBuLFwiJiMzOTtcIikpO2EuaW5kZXhPZihcIlxceDAwXCIpIT0tMSYmKGE9YS5yZXBsYWNlKHFuLFwiJiMwO1wiKSk7cmV0dXJuIGF9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgdW4seW4sdm4sdG4sQW4sRm4sSG4sTG4sUm4sVG4sVm4sY28sV24sWW4sWG4sYW8sWm4sVW4sZW87dW49ZnVuY3Rpb24oYSl7cmV0dXJuIHRuW2FdfHxcIlwifTtfLnduPWZ1bmN0aW9uKGEpe3ZuLnRlc3QoYSkmJihhPWEucmVwbGFjZSh2bix1bikpO2E9YXRvYihhKTtjb25zdCBiPW5ldyBVaW50OEFycmF5KGEubGVuZ3RoKTtmb3IobGV0IGM9MDtjPGEubGVuZ3RoO2MrKyliW2NdPWEuY2hhckNvZGVBdChjKTtyZXR1cm4gYn07Xy54bj1mdW5jdGlvbihhLGIsYyxkKXtjb25zdCBlPWEubWE7bGV0IGY9ZVtfLnZdO18uRWEoZik7Xy5xYihlLGYsYiwoZD09PVwiMFwiP051bWJlcihjKT09PTA6Yz09PWQpP3ZvaWQgMDpjKTtyZXR1cm4gYX07eW49ZnVuY3Rpb24oYSxiLGMsZCxlKXthLnYoYyxiIGluc3RhbmNlb2YgXy5RP2IubWE6QXJyYXkuaXNBcnJheShiKT9fLlVhKGIsZFswXSxkWzFdKTp2b2lkIDAsZSl9O3ZuPS9bLV8uXS9nO3RuPXtcIi1cIjpcIitcIixfOlwiL1wiLFwiLlwiOlwiPVwifTtcbl8uem49e307Xy5YYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe2lmKGIhPT1fLnpuKXRocm93IEVycm9yKFwib1wiKTt0aGlzLmk9YTtpZihhIT1udWxsJiZhLmxlbmd0aD09PTApdGhyb3cgRXJyb3IoXCJwXCIpO31qKCl7Y29uc3QgYT10aGlzLmk7cmV0dXJuIGE9PW51bGw/XCJcIjp0eXBlb2YgYT09PVwic3RyaW5nXCI/YTp0aGlzLmk9Xy51YShhKX1FYigpe3JldHVybiB0aGlzLmk9PW51bGx9fTtfLkJuPWZ1bmN0aW9uKGEpe2lmKF8uem4hPT1fLnpuKXRocm93IEVycm9yKFwib1wiKTt2YXIgYj1hLmk7Yj1iPT1udWxsfHxfLnZhKGIpP2I6dHlwZW9mIGI9PT1cInN0cmluZ1wiP18ud24oYik6bnVsbDtyZXR1cm4gYj09bnVsbD9iOmEuaT1ifTtfLkNuPWZ1bmN0aW9uKCl7cmV0dXJuIEFufHwoQW49bmV3IF8uWGEobnVsbCxfLnpuKSl9O18uRG49ZnVuY3Rpb24oYSxiKXthLmk9YjtpZihiPmEuail0aHJvdyBFcnJvcihcImlgXCIrYitcImBcIithLmopO307XG5fLkVuPWZ1bmN0aW9uKGEpe2NvbnN0IGI9YS5vO2xldCBjPWEuaSxkPWJbYysrXSxlPWQmMTI3O2lmKGQmMTI4JiYoZD1iW2MrK10sZXw9KGQmMTI3KTw8NyxkJjEyOCYmKGQ9YltjKytdLGV8PShkJjEyNyk8PDE0LGQmMTI4JiYoZD1iW2MrK10sZXw9KGQmMTI3KTw8MjEsZCYxMjgmJihkPWJbYysrXSxlfD1kPDwyOCxkJjEyOCYmYltjKytdJjEyOCYmYltjKytdJjEyOCYmYltjKytdJjEyOCYmYltjKytdJjEyOCYmYltjKytdJjEyOCkpKSkpdGhyb3cgRXJyb3IoXCJoXCIpO18uRG4oYSxjKTtyZXR1cm4gZX07Rm49ZnVuY3Rpb24oYSxiLGMpe2NvbnN0IGQ9YS5pLmosZT1fLkVuKGEuaSk+Pj4wLGY9YS5pLmkrZTtsZXQgZz1mLWQ7Zzw9MCYmKGEuaS5qPWYsYyhiLGEsdm9pZCAwLHZvaWQgMCx2b2lkIDApLGc9Zi1hLmkuaSk7aWYoZyl0aHJvdyBFcnJvcihcImNgXCIrZStcImBcIisoZS1nKSk7YS5pLmk9ZjthLmkuaj1kfTtcbl8uR249Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMpe3RoaXMuaT1hO3RoaXMuaj1iO3RoaXMueWY9Y319O0huPWZ1bmN0aW9uKGEsYixjLGQpe2xldCBlPWFbXy52XTtjb25zdCBmPV8ucmIoYSxlLGMsZCk7bGV0IGc7aWYoZiE9bnVsbCYmZi5FZD09PV8uUWEpcmV0dXJuIGI9Xy5kYihmKSxiIT09ZiYmXy5xYihhLGUsYyxiLGQpLGIubWE7aWYoQXJyYXkuaXNBcnJheShmKSl7Y29uc3QgaD1mW18udl18MDtoJjI/Zz1fLmNiKGYsaCwhMSk6Zz1mO2c9Xy5VYShnLGJbMF0sYlsxXSl9ZWxzZSBnPV8uVWEodm9pZCAwLGJbMF0sYlsxXSk7ZyE9PWYmJl8ucWIoYSxlLGMsZyxkKTtyZXR1cm4gZ307Xy5Jbj1uZXcgXy5HbihmdW5jdGlvbihhLGIsYyxkLGUpe2lmKGEuaiE9PTIpcmV0dXJuITE7Rm4oYSxIbihiLGQsYyksZSk7cmV0dXJuITB9LHluLCEwKTtcbl8uSm49bmV3IF8uR24oZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihhLmohPT0yKXJldHVybiExO0ZuKGEsSG4oYixkLGMsITApLGUpO3JldHVybiEwfSx5biwhMCk7Xy5Lbj1mdW5jdGlvbihhLGIsYyxkLGUsZixnKXt2YXIgaD1cIlwiO2EmJihoKz1hK1wiOlwiKTtjJiYoaCs9XCIvL1wiLGImJihoKz1iK1wiQFwiKSxoKz1jLGQmJihoKz1cIjpcIitkKSk7ZSYmKGgrPWUpO2YmJihoKz1cIj9cIitmKTtnJiYoaCs9XCIjXCIrZyk7cmV0dXJuIGh9O0xuPWZ1bmN0aW9uKGEsYil7aWYoYSl7YT1hLnNwbGl0KFwiJlwiKTtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKyl7dmFyIGQ9YVtjXS5pbmRleE9mKFwiPVwiKSxlPW51bGw7aWYoZD49MCl7dmFyIGY9YVtjXS5zdWJzdHJpbmcoMCxkKTtlPWFbY10uc3Vic3RyaW5nKGQrMSl9ZWxzZSBmPWFbY107YihmLGU/ZGVjb2RlVVJJQ29tcG9uZW50KGUucmVwbGFjZSgvXFwrL2csXCIgXCIpKTpcIlwiKX19fTtcbl8uTW49ZnVuY3Rpb24oYSl7dGhpcy5qPXRoaXMuQz10aGlzLm89XCJcIjt0aGlzLkQ9bnVsbDt0aGlzLkE9dGhpcy52PVwiXCI7dGhpcy5CPSExO3ZhciBiO2EgaW5zdGFuY2VvZiBfLk1uPyh0aGlzLkI9YS5CLF8uTm4odGhpcyxhLm8pLHRoaXMuQz1hLkMsXy5Pbih0aGlzLGEuaiksXy5Qbih0aGlzLGEuRCksXy5Rbih0aGlzLGEudiksUm4odGhpcyxTbihhLmkpKSx0aGlzLkE9YS5BKTphJiYoYj1TdHJpbmcoYSkubWF0Y2goXy5DaikpPyh0aGlzLkI9ITEsXy5Obih0aGlzLGJbMV18fFwiXCIsITApLHRoaXMuQz1UbihiWzJdfHxcIlwiKSxfLk9uKHRoaXMsYlszXXx8XCJcIiwhMCksXy5Qbih0aGlzLGJbNF0pLF8uUW4odGhpcyxiWzVdfHxcIlwiLCEwKSxSbih0aGlzLGJbNl18fFwiXCIsITApLHRoaXMuQT1UbihiWzddfHxcIlwiKSk6KHRoaXMuQj0hMSx0aGlzLmk9bmV3IFVuKG51bGwsdGhpcy5CKSl9O1xuXy5Nbi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgYT1bXSxiPXRoaXMubztiJiZhLnB1c2goVm4oYixXbiwhMCksXCI6XCIpO3ZhciBjPXRoaXMuajtpZihjfHxiPT1cImZpbGVcIilhLnB1c2goXCIvL1wiKSwoYj10aGlzLkMpJiZhLnB1c2goVm4oYixXbiwhMCksXCJAXCIpLGEucHVzaChlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGMpKS5yZXBsYWNlKC8lMjUoWzAtOWEtZkEtRl17Mn0pL2csXCIlJDFcIikpLGM9dGhpcy5ELGMhPW51bGwmJmEucHVzaChcIjpcIixTdHJpbmcoYykpO2lmKGM9dGhpcy52KXRoaXMuaiYmYy5jaGFyQXQoMCkhPVwiL1wiJiZhLnB1c2goXCIvXCIpLGEucHVzaChWbihjLGMuY2hhckF0KDApPT1cIi9cIj9YbjpZbiwhMCkpOyhjPXRoaXMuaS50b1N0cmluZygpKSYmYS5wdXNoKFwiP1wiLGMpOyhjPXRoaXMuQSkmJmEucHVzaChcIiNcIixWbihjLFpuKSk7cmV0dXJuIGEuam9pbihcIlwiKX07XG5fLk1uLnByb3RvdHlwZS5yZXNvbHZlPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBfLk1uKHRoaXMpLGM9ISFhLm87Yz9fLk5uKGIsYS5vKTpjPSEhYS5DO2M/Yi5DPWEuQzpjPSEhYS5qO2M/Xy5PbihiLGEuaik6Yz1hLkQhPW51bGw7dmFyIGQ9YS52O2lmKGMpXy5QbihiLGEuRCk7ZWxzZSBpZihjPSEhYS52KXtpZihkLmNoYXJBdCgwKSE9XCIvXCIpaWYodGhpcy5qJiYhdGhpcy52KWQ9XCIvXCIrZDtlbHNle3ZhciBlPWIudi5sYXN0SW5kZXhPZihcIi9cIik7ZSE9LTEmJihkPWIudi5zbGljZSgwLGUrMSkrZCl9ZT1kO2lmKGU9PVwiLi5cInx8ZT09XCIuXCIpZD1cIlwiO2Vsc2UgaWYoZS5pbmRleE9mKFwiLi9cIikhPS0xfHxlLmluZGV4T2YoXCIvLlwiKSE9LTEpe2Q9Xy5WZChlLFwiL1wiKTtlPWUuc3BsaXQoXCIvXCIpO2Zvcih2YXIgZj1bXSxnPTA7ZzxlLmxlbmd0aDspe3ZhciBoPWVbZysrXTtoPT1cIi5cIj9kJiZnPT1lLmxlbmd0aCYmZi5wdXNoKFwiXCIpOmg9PVwiLi5cIj8oKGYubGVuZ3RoPjF8fGYubGVuZ3RoPT0xJiZcbmZbMF0hPVwiXCIpJiZmLnBvcCgpLGQmJmc9PWUubGVuZ3RoJiZmLnB1c2goXCJcIikpOihmLnB1c2goaCksZD0hMCl9ZD1mLmpvaW4oXCIvXCIpfWVsc2UgZD1lfWM/Xy5RbihiLGQpOmM9YS5pLnRvU3RyaW5nKCkhPT1cIlwiO2M/Um4oYixTbihhLmkpKTpjPSEhYS5BO2MmJihiLkE9YS5BKTtyZXR1cm4gYn07Xy5Obj1mdW5jdGlvbihhLGIsYyl7YS5vPWM/VG4oYiwhMCk6YjthLm8mJihhLm89YS5vLnJlcGxhY2UoLzokLyxcIlwiKSk7cmV0dXJuIGF9O18uT249ZnVuY3Rpb24oYSxiLGMpe2Euaj1jP1RuKGIsITApOmI7cmV0dXJuIGF9O18uUG49ZnVuY3Rpb24oYSxiKXtpZihiKXtiPU51bWJlcihiKTtpZihpc05hTihiKXx8YjwwKXRocm93IEVycm9yKFwicmFgXCIrYik7YS5EPWJ9ZWxzZSBhLkQ9bnVsbDtyZXR1cm4gYX07Xy5Rbj1mdW5jdGlvbihhLGIsYyl7YS52PWM/VG4oYiwhMCk6YjtyZXR1cm4gYX07XG5Sbj1mdW5jdGlvbihhLGIsYyl7YiBpbnN0YW5jZW9mIFVuPyhhLmk9YiwkbihhLmksYS5CKSk6KGN8fChiPVZuKGIsYW8pKSxhLmk9bmV3IFVuKGIsYS5CKSl9O18uYm89ZnVuY3Rpb24oYSxiLGMpe2EuaS5zZXQoYixjKTtyZXR1cm4gYX07VG49ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT9iP2RlY29kZVVSSShhLnJlcGxhY2UoLyUyNS9nLFwiJTI1MjVcIikpOmRlY29kZVVSSUNvbXBvbmVudChhKTpcIlwifTtWbj1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIHR5cGVvZiBhPT09XCJzdHJpbmdcIj8oYT1lbmNvZGVVUkkoYSkucmVwbGFjZShiLGNvKSxjJiYoYT1hLnJlcGxhY2UoLyUyNShbMC05YS1mQS1GXXsyfSkvZyxcIiUkMVwiKSksYSk6bnVsbH07Y289ZnVuY3Rpb24oYSl7YT1hLmNoYXJDb2RlQXQoMCk7cmV0dXJuXCIlXCIrKGE+PjQmMTUpLnRvU3RyaW5nKDE2KSsoYSYxNSkudG9TdHJpbmcoMTYpfTtXbj0vWyNcXC9cXD9AXS9nO1luPS9bI1xcPzpdL2c7WG49L1sjXFw/XS9nO2FvPS9bI1xcP0BdL2c7XG5abj0vIy9nO1VuPWZ1bmN0aW9uKGEsYil7dGhpcy5qPXRoaXMuaT1udWxsO3RoaXMubz1hfHxudWxsO3RoaXMudj0hIWJ9O2VvPWZ1bmN0aW9uKGEpe2EuaXx8KGEuaT1uZXcgTWFwLGEuaj0wLGEubyYmTG4oYS5vLGZ1bmN0aW9uKGIsYyl7YS5hZGQoZGVjb2RlVVJJQ29tcG9uZW50KGIucmVwbGFjZSgvXFwrL2csXCIgXCIpKSxjKX0pKX07VW4ucHJvdG90eXBlLmFkZD1mdW5jdGlvbihhLGIpe2VvKHRoaXMpO3RoaXMubz1udWxsO2E9Zm8odGhpcyxhKTt2YXIgYz10aGlzLmkuZ2V0KGEpO2N8fHRoaXMuaS5zZXQoYSxjPVtdKTtjLnB1c2goYik7dGhpcy5qKz0xO3JldHVybiB0aGlzfTtVbi5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGEpe2VvKHRoaXMpO2E9Zm8odGhpcyxhKTtyZXR1cm4gdGhpcy5pLmhhcyhhKT8odGhpcy5vPW51bGwsdGhpcy5qLT10aGlzLmkuZ2V0KGEpLmxlbmd0aCx0aGlzLmkuZGVsZXRlKGEpKTohMX07XG5Vbi5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmk9dGhpcy5vPW51bGw7dGhpcy5qPTB9O1VuLnByb3RvdHlwZS5FYj1mdW5jdGlvbigpe2VvKHRoaXMpO3JldHVybiB0aGlzLmo9PTB9O18uZ289ZnVuY3Rpb24oYSxiKXtlbyhhKTtiPWZvKGEsYik7cmV0dXJuIGEuaS5oYXMoYil9O18ubj1Vbi5wcm90b3R5cGU7Xy5uLmZvckVhY2g9ZnVuY3Rpb24oYSxiKXtlbyh0aGlzKTt0aGlzLmkuZm9yRWFjaChmdW5jdGlvbihjLGQpe2MuZm9yRWFjaChmdW5jdGlvbihlKXthLmNhbGwoYixlLGQsdGhpcyl9LHRoaXMpfSx0aGlzKX07Xy5uLm9iPWZ1bmN0aW9uKCl7ZW8odGhpcyk7Y29uc3QgYT1BcnJheS5mcm9tKHRoaXMuaS52YWx1ZXMoKSksYj1BcnJheS5mcm9tKHRoaXMuaS5rZXlzKCkpLGM9W107Zm9yKGxldCBkPTA7ZDxiLmxlbmd0aDtkKyspe2NvbnN0IGU9YVtkXTtmb3IobGV0IGY9MDtmPGUubGVuZ3RoO2YrKyljLnB1c2goYltkXSl9cmV0dXJuIGN9O1xuXy5uLlNhPWZ1bmN0aW9uKGEpe2VvKHRoaXMpO2xldCBiPVtdO2lmKHR5cGVvZiBhPT09XCJzdHJpbmdcIilfLmdvKHRoaXMsYSkmJihiPWIuY29uY2F0KHRoaXMuaS5nZXQoZm8odGhpcyxhKSkpKTtlbHNle2E9QXJyYXkuZnJvbSh0aGlzLmkudmFsdWVzKCkpO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWI9Yi5jb25jYXQoYVtjXSl9cmV0dXJuIGJ9O18ubi5zZXQ9ZnVuY3Rpb24oYSxiKXtlbyh0aGlzKTt0aGlzLm89bnVsbDthPWZvKHRoaXMsYSk7Xy5nbyh0aGlzLGEpJiYodGhpcy5qLT10aGlzLmkuZ2V0KGEpLmxlbmd0aCk7dGhpcy5pLnNldChhLFtiXSk7dGhpcy5qKz0xO3JldHVybiB0aGlzfTtfLm4uZ2V0PWZ1bmN0aW9uKGEsYil7aWYoIWEpcmV0dXJuIGI7YT10aGlzLlNhKGEpO3JldHVybiBhLmxlbmd0aD4wP1N0cmluZyhhWzBdKTpifTtcbl8uaG89ZnVuY3Rpb24oYSxiLGMpe2EucmVtb3ZlKGIpO2MubGVuZ3RoPjAmJihhLm89bnVsbCxhLmkuc2V0KGZvKGEsYiksXy5EZChjKSksYS5qKz1jLmxlbmd0aCl9O1VuLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe2lmKHRoaXMubylyZXR1cm4gdGhpcy5vO2lmKCF0aGlzLmkpcmV0dXJuXCJcIjtjb25zdCBhPVtdLGI9QXJyYXkuZnJvbSh0aGlzLmkua2V5cygpKTtmb3IodmFyIGM9MDtjPGIubGVuZ3RoO2MrKyl7dmFyIGQ9YltjXTtjb25zdCBmPWVuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoZCkpLGc9dGhpcy5TYShkKTtmb3IoZD0wO2Q8Zy5sZW5ndGg7ZCsrKXt2YXIgZT1mO2dbZF0hPT1cIlwiJiYoZSs9XCI9XCIrZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhnW2RdKSkpO2EucHVzaChlKX19cmV0dXJuIHRoaXMubz1hLmpvaW4oXCImXCIpfTtcbnZhciBTbj1mdW5jdGlvbihhKXt2YXIgYj1uZXcgVW47Yi5vPWEubzthLmkmJihiLmk9bmV3IE1hcChhLmkpLGIuaj1hLmopO3JldHVybiBifSxmbz1mdW5jdGlvbihhLGIpe2I9U3RyaW5nKGIpO2EudiYmKGI9Yi50b0xvd2VyQ2FzZSgpKTtyZXR1cm4gYn0sJG49ZnVuY3Rpb24oYSxiKXtiJiYhYS52JiYoZW8oYSksYS5vPW51bGwsYS5pLmZvckVhY2goZnVuY3Rpb24oYyxkKXt2YXIgZT1kLnRvTG93ZXJDYXNlKCk7ZCE9ZSYmKHRoaXMucmVtb3ZlKGQpLF8uaG8odGhpcyxlLGMpKX0sYSkpO2Eudj1ifTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5pbz1mdW5jdGlvbihhKXtsZXQgYj0wLGM9MDtjb25zdCBkPXt9O2Zvcig7YzxhLmxlbmd0aDspe2NvbnN0IGU9YVtjKytdLGY9Xy55ZChlKT9cIm9cIitfLlNkKGUpOih0eXBlb2YgZSkuY2hhckF0KDApK2U7T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGQsZil8fChkW2ZdPSEwLGFbYisrXT1lKX1hLmxlbmd0aD1ifTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIG1vLGxvO18uam89ZnVuY3Rpb24oKXt2YXIgYT1fLnZrO2lmKCFfLnQubmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQpcmV0dXJuITE7aWYoIWEuRWIoKSlyZXR1cm4hMDthLnNldChcIlRFU1RDT09LSUVTRU5BQkxFRFwiLFwiMVwiLHtEZDo2MH0pO2lmKGEuZ2V0KFwiVEVTVENPT0tJRVNFTkFCTEVEXCIpIT09XCIxXCIpcmV0dXJuITE7YS5yZW1vdmUoXCJURVNUQ09PS0lFU0VOQUJMRURcIik7cmV0dXJuITB9O18ua289Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmtiPW51bGw7dGhpcy5pPSExfXN0YXRpYyBpKCl7cmV0dXJuIF8uWmMoXy5rbyl9fTttbz1mdW5jdGlvbigpe3ZhciBhPV8udC5sb2NhdGlvbi5ob3N0bmFtZS5tYXRjaChsbyk7cmV0dXJuIGEmJmFbMF0/YVswXTpudWxsfTtfLm5vPWZ1bmN0aW9uKGEsYil7IWEuQyYmKGEudmE+MHx8YikmJmEubygpJiYoYS5DPSEwLGEudihiKSl9O1xuXy5vbz1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5ncm91cElkPWE7dGhpcy5NPVwiZHBfXCIrYTt0aGlzLmVhPVwiY291bnRfXCIrYTt0aGlzLnZhPWI7dGhpcy5DPSExO3RoaXMuTj0hIWN9bygpe3JldHVybiBuYXZpZ2F0b3IuY29va2llRW5hYmxlZCYmdGhpcy5OfHwhIV8uam8oKX1MYShhKXt0aGlzLm8oKSYmdGhpcy5qKCExLGEpfWFjY2VwdChhKXt0aGlzLm8oKSYmdGhpcy5qKCEwLGEpfWooKXt0aHJvdyBFcnJvcihcInRhXCIpO312KCl7dGhyb3cgRXJyb3IoXCJ0YVwiKTt9aSgpe3JldHVybiAwfX07bG89UmVnRXhwKFwiZ29vZ2xlKD86LlthLXpdezIsM30pezEsMn0kXCIsXCJpXCIpO18ucG89Y2xhc3MgZXh0ZW5kcyBfLm9ve2NvbnN0cnVjdG9yKGEsYixjKXtzdXBlcihhLGIpO3RoaXMuQT0hY3x8Yz09LTJ8fGM+MzE1MzZFMz8zMTUzNkUzOmM7dGhpcy5CPW5ldyBSZWdFeHAoXCJcXFxcYlwiK3RoaXMuZ3JvdXBJZCtcIi0oWzAtOV0rKTpcIil9bygpe18uam8oKXx8KHRoaXMuQT0tMSk7cmV0dXJuITB9aigpe3ZhciBhPV8udmsuZ2V0KFwiT0dQXCIsXCJcIiksYj1cIi1cIit0aGlzLmdyb3VwSWQrXCI6XCI7KG5ldyBSZWdFeHAoYikpLnRlc3QoYSl8fChhKz1iKTsoYj1tbygpKSYmXy52ay5zZXQoXCJPR1BcIixhLHtEZDp0aGlzLkEscGF0aDpcIi9cIixkb21haW46Yn0pfXYoKXt2YXIgYT1fLnZrLmdldChcIk9HUENcIixcIlwiKSxiPXRoaXMuaShhKSxjPSEwO2I9PS0xJiYoYz0hMSxiPTApO2I9dGhpcy5ncm91cElkK1wiLVwiKyhiKzEpK1wiOlwiO2E9Yz9hLnJlcGxhY2UodGhpcy5CLGIpOihhP2E6XCJcIikrYjsoYz1tbygpKSYmXy52ay5zZXQoXCJPR1BDXCIsYSx7RGQ6dGhpcy5BLHBhdGg6XCIvXCIsZG9tYWluOmN9KX1pKGEpe3ZhciBiPVxuYXx8Xy52ay5nZXQoXCJPR1BDXCIsXCJcIik7YT0tMTtiJiYoYj1iLm1hdGNoKHRoaXMuQikpJiZiLmxlbmd0aD4xJiYoYT1wYXJzZUludChiWzFdLDEwKXx8MCk7cmV0dXJuIGF9fTt2YXIgcm87Xy5xbz1fLnQuVVJMO3RyeXtuZXcgXy5xbyhcImh0dHA6Ly9leGFtcGxlLmNvbVwiKSxybz0hMH1jYXRjaChhKXtybz0hMX1fLnNvPXJvO18udG89bmV3IE1hcChbW1wiaHR0cDpcIixcIjgwXCJdLFtcImh0dHBzOlwiLFwiNDQzXCJdLFtcIndzOlwiLFwiODBcIl0sW1wid3NzOlwiLFwiNDQzXCJdLFtcImZ0cDpcIixcIjIxXCJdXSk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBNcztNcz1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O18uTnM9ZnVuY3Rpb24oYSl7Y29uc3QgYj1OdW1iZXIoYSk7cmV0dXJuIGI9PTAmJl8uY2coYSk/TmFOOmJ9O18uT3M9ZnVuY3Rpb24oYSxiLGMpe2NvbnN0IGQ9Xy5GKGMsTXMsNDcpfHxuZXcgTXM7Xy5IKGMsNDcsZCk7YS5qLmxvZyhiLGMpfTtfLlBzPWZ1bmN0aW9uKGEsYj1udWxsLGM9bnVsbCxkPW51bGwsZT1udWxsLGY9bnVsbCxnPW51bGwpe2NvbnN0IGg9bmV3IE1zO2EhPW51bGwmJl8uUChoLDMsYSk7ZCE9bnVsbCYmXy5PKGgsNCxkKTtlIT1udWxsJiZfLmdrKGgsMTAsZSk7YiE9bnVsbCYmXy5OKGgsNSxiKTtjIT1udWxsJiZfLk4oaCw2LGMpO2YhPW51bGwmJl8uTShoLDcsZik7ZyE9bnVsbCYmXy5PKGgsOCxnKTtyZXR1cm4gaH07Xy5Rcz1mdW5jdGlvbihhLGIsYyxkLGUsZixnPW5ldyBfLkxjKXtjb25zdCBoPWEuaT85NDo4O2M9Xy5QcyhlLGMsZCk7Xy5QKGMsMSxiKTtfLk0oYyw5LGYpO18uSChnLDQ3LGMpO18uT3MoYSxoLGcpfTtfLlJzPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE7dGhpcy5pPWJ9bG9nKGEsYj1uZXcgXy5MYyl7Xy5Pcyh0aGlzLGEsYil9fTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIGd0LGl0LGp0LGt0LGx0LG10LG50O2d0PWZ1bmN0aW9uKGEsYil7Y29uc3QgYz17fTtmb3IoY29uc3QgZCBpbiBhKWNbZF09Yi5jYWxsKHZvaWQgMCxhW2RdLGQsYSk7cmV0dXJuIGN9O18uaHQ9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGEhPT1cInN0cmluZ1wiKXRocm93IEVycm9yKCk7cmV0dXJuIGF9O2l0PWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIDIwMDpyZXR1cm4gMDtjYXNlIDQwMDpyZXR1cm4gMztjYXNlIDQwMTpyZXR1cm4gMTY7Y2FzZSA0MDM6cmV0dXJuIDc7Y2FzZSA0MDQ6cmV0dXJuIDU7Y2FzZSA0MDk6cmV0dXJuIDEwO2Nhc2UgNDEyOnJldHVybiA5O2Nhc2UgNDI5OnJldHVybiA4O2Nhc2UgNDk5OnJldHVybiAxO2Nhc2UgNTAwOnJldHVybiAyO2Nhc2UgNTAxOnJldHVybiAxMjtjYXNlIDUwMzpyZXR1cm4gMTQ7Y2FzZSA1MDQ6cmV0dXJuIDQ7ZGVmYXVsdDpyZXR1cm4gMn19O1xuanQ9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMDpyZXR1cm5cIk9LXCI7Y2FzZSAxOnJldHVyblwiQ0FOQ0VMTEVEXCI7Y2FzZSAyOnJldHVyblwiVU5LTk9XTlwiO2Nhc2UgMzpyZXR1cm5cIklOVkFMSURfQVJHVU1FTlRcIjtjYXNlIDQ6cmV0dXJuXCJERUFETElORV9FWENFRURFRFwiO2Nhc2UgNTpyZXR1cm5cIk5PVF9GT1VORFwiO2Nhc2UgNjpyZXR1cm5cIkFMUkVBRFlfRVhJU1RTXCI7Y2FzZSA3OnJldHVyblwiUEVSTUlTU0lPTl9ERU5JRURcIjtjYXNlIDE2OnJldHVyblwiVU5BVVRIRU5USUNBVEVEXCI7Y2FzZSA4OnJldHVyblwiUkVTT1VSQ0VfRVhIQVVTVEVEXCI7Y2FzZSA5OnJldHVyblwiRkFJTEVEX1BSRUNPTkRJVElPTlwiO2Nhc2UgMTA6cmV0dXJuXCJBQk9SVEVEXCI7Y2FzZSAxMTpyZXR1cm5cIk9VVF9PRl9SQU5HRVwiO2Nhc2UgMTI6cmV0dXJuXCJVTklNUExFTUVOVEVEXCI7Y2FzZSAxMzpyZXR1cm5cIklOVEVSTkFMXCI7Y2FzZSAxNDpyZXR1cm5cIlVOQVZBSUxBQkxFXCI7Y2FzZSAxNTpyZXR1cm5cIkRBVEFfTE9TU1wiO1xuZGVmYXVsdDpyZXR1cm5cIlwifX07a3Q9ZnVuY3Rpb24oYSl7dmFyIGI9MTthPWEuc3BsaXQoXCI6XCIpO2NvbnN0IGM9W107Zm9yKDtiPjAmJmEubGVuZ3RoOyljLnB1c2goYS5zaGlmdCgpKSxiLS07YS5sZW5ndGgmJmMucHVzaChhLmpvaW4oXCI6XCIpKTtyZXR1cm4gY307bHQ9ZnVuY3Rpb24oYSl7Y29uc3QgYj17fTthPShhLmkmJl8uQWwoYSk+PTI/YS5pLmdldEFsbFJlc3BvbnNlSGVhZGVycygpfHxcIlwiOlwiXCIpLnNwbGl0KFwiXFxyXFxuXCIpO2ZvcihsZXQgZD0wO2Q8YS5sZW5ndGg7ZCsrKXtpZihfLmNnKGFbZF0pKWNvbnRpbnVlO3ZhciBjPWt0KGFbZF0pO2NvbnN0IGU9Y1swXTtjPWNbMV07aWYodHlwZW9mIGMhPT1cInN0cmluZ1wiKWNvbnRpbnVlO2M9Yy50cmltKCk7Y29uc3QgZj1iW2VdfHxbXTtiW2VdPWY7Zi5wdXNoKGMpfXJldHVybiBndChiLGZ1bmN0aW9uKGQpe3JldHVybiBkLmpvaW4oXCIsIFwiKX0pfTtcbm10PWZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgYS5BPT09XCJzdHJpbmdcIj9hLkE6U3RyaW5nKGEuQSl9O250PWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIDA6cmV0dXJuXCJObyBFcnJvclwiO2Nhc2UgMTpyZXR1cm5cIkFjY2VzcyBkZW5pZWQgdG8gY29udGVudCBkb2N1bWVudFwiO2Nhc2UgMjpyZXR1cm5cIkZpbGUgbm90IGZvdW5kXCI7Y2FzZSAzOnJldHVyblwiRmlyZWZveCBzaWxlbnRseSBlcnJvcmVkXCI7Y2FzZSA0OnJldHVyblwiQXBwbGljYXRpb24gY3VzdG9tIGVycm9yXCI7Y2FzZSA1OnJldHVyblwiQW4gZXhjZXB0aW9uIG9jY3VycmVkXCI7Y2FzZSA2OnJldHVyblwiSHR0cCByZXNwb25zZSBhdCA0MDAgb3IgNTAwIGxldmVsXCI7Y2FzZSA3OnJldHVyblwiUmVxdWVzdCB3YXMgYWJvcnRlZFwiO2Nhc2UgODpyZXR1cm5cIlJlcXVlc3QgdGltZWQgb3V0XCI7Y2FzZSA5OnJldHVyblwiVGhlIHJlc291cmNlIGlzIG5vdCBhdmFpbGFibGUgb2ZmbGluZVwiO2RlZmF1bHQ6cmV0dXJuXCJVbnJlY29nbml6ZWQgZXJyb3IgY29kZVwifX07dmFyIG90PWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLm89YTt0aGlzLmo9Yjt0aGlzLmk9Y31TZCgpe3JldHVybiB0aGlzLmp9Z2V0TWV0YWRhdGEoKXtyZXR1cm4gdGhpcy5pfX07dmFyIHB0PWNsYXNze2NvbnN0cnVjdG9yKGEsYixjPXt9KXt0aGlzLnhoPWE7dGhpcy5pPWM7dGhpcy5qPWJ9Z2V0TWV0YWRhdGEoKXtyZXR1cm4gdGhpcy5pfVNkKCl7cmV0dXJuIHRoaXMuan1EYigpe3JldHVybiBudWxsfX07dmFyIHF0LHJ0O3F0PWZ1bmN0aW9uKGEsYixjPXt9KXtyZXR1cm4gbmV3IG90KGIsYSxjKX07cnQ9ZnVuY3Rpb24oYSxiLGM9e30pe3JldHVybiBuZXcgcHQoYixhLGMpfTtfLnN0PWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQsZSl7dGhpcy5uYW1lPWE7dGhpcy5rZT1iO3RoaXMucmVzcG9uc2VUeXBlPWM7dGhpcy5pPWQ7dGhpcy5qPWV9Z2V0TmFtZSgpe3JldHVybiB0aGlzLm5hbWV9fTtfLnN0LnByb3RvdHlwZS5nZXROYW1lPV8uc3QucHJvdG90eXBlLmdldE5hbWU7Xy50dD1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGEsYixjPXt9KXtzdXBlcihiKTt0aGlzLmNvZGU9YTt0aGlzLm1ldGFkYXRhPWM7dGhpcy5uYW1lPVwiUnBjRXJyb3JcIjtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9dG9TdHJpbmcoKXtsZXQgYT1gUnBjRXJyb3IoJHtqdCh0aGlzLmNvZGUpfHxTdHJpbmcodGhpcy5jb2RlKX0pYDt0aGlzLm1lc3NhZ2UmJihhKz1cIjogXCIrdGhpcy5tZXNzYWdlKTtyZXR1cm4gYX19O3ZhciB1dD1uZXcgU2V0KFtcIlNBUElTSURIQVNIXCIsXCJBUElTSURIQVNIXCJdKTt2YXIgdnQ9UHJvbWlzZTt2YXIgd3Q9Y2xhc3MgZXh0ZW5kcyBfLlF7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgeHQ9Y2xhc3MgZXh0ZW5kcyBfLlF7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSx5dD1fLldqKHh0KTt4dC5vYT1bM107dmFyIEV0PWZ1bmN0aW9uKGEpe2EuQy53YyhcImRhdGFcIixiPT57aWYoXCIxXCJpbiBiKXt2YXIgYz1iW1wiMVwiXTtsZXQgZDt0cnl7ZD1hLkQoYyl9Y2F0Y2goZSl7enQoYSxuZXcgXy50dCgxMyxgRXJyb3Igd2hlbiBkZXNlcmlhbGl6aW5nIHJlc3BvbnNlIGRhdGE7IGVycm9yOiAke2V9YCtgLCByZXNwb25zZTogJHtjfWApKX1kJiZBdChhLGQpfWlmKFwiMlwiaW4gYilmb3IoYj1CdChhLGJbXCIyXCJdKSxjPTA7YzxhLkIubGVuZ3RoO2MrKylhLkJbY10oYil9KTthLkMud2MoXCJlbmRcIiwoKT0+e0N0KGEsRHQoYSkpO2ZvcihsZXQgYj0wO2I8YS52Lmxlbmd0aDtiKyspYS52W2JdKCl9KTthLkMud2MoXCJlcnJvclwiLCgpPT57aWYoYS5qLmxlbmd0aCE9MCl7dmFyIGI9YS5pLm87YiE9PTB8fGEuaS5IYygpfHwoYj02KTt2YXIgYz0tMTtzd2l0Y2goYil7Y2FzZSAwOnZhciBkPTI7YnJlYWs7Y2FzZSA3OmQ9MTA7YnJlYWs7Y2FzZSA4OmQ9NDticmVhaztjYXNlIDY6Yz1hLmkuRGIoKTtkPWl0KGMpO2JyZWFrO1xuZGVmYXVsdDpkPTE0fUN0KGEsRHQoYSkpO2I9bnQoYikrXCIsIGVycm9yOiBcIittdChhLmkpO2MhPS0xJiYoYis9XCIsIGh0dHAgc3RhdHVzIGNvZGU6IFwiK2MpO3p0KGEsbmV3IF8udHQoZCxiKSl9fSl9LHp0PWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjPTA7YzxhLmoubGVuZ3RoO2MrKylhLmpbY10oYil9LEN0PWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjPTA7YzxhLkEubGVuZ3RoO2MrKylhLkFbY10oYil9LER0PWZ1bmN0aW9uKGEpe2NvbnN0IGI9e30sYz1sdChhLmkpO09iamVjdC5rZXlzKGMpLmZvckVhY2goZD0+e2JbZF09Y1tkXX0pO3JldHVybiBifSxBdD1mdW5jdGlvbihhLGIpe2ZvcihsZXQgYz0wO2M8YS5vLmxlbmd0aDtjKyspYS5vW2NdKGIpfSxCdD1mdW5jdGlvbihhLGIpe2xldCBjPTIsZDtjb25zdCBlPXt9O3RyeXtsZXQgZjtmPXl0KGIpO2M9Xy5UKGYsMSk7ZD1fLkwoZiwyKTtfLkJqKGYsd3QsMyxfLkFqKCkpLmxlbmd0aCYmKGVbXCJncnBjLXdlYi1zdGF0dXMtZGV0YWlscy1iaW5cIl09XG5iKX1jYXRjaChmKXthLmkmJmEuaS5EYigpPT09NDA0PyhjPTUsZD1cIk5vdCBGb3VuZDogXCIrU3RyaW5nKGEuaS5CKSk6KGM9MTQsZD1cIlVuYWJsZSB0byBwYXJzZSBScGNTdGF0dXM6IFwiK2YpfXJldHVybntjb2RlOmMsZGV0YWlsczpkLG1ldGFkYXRhOmV9fSxGdD1mdW5jdGlvbihhLGIpe18uZGYoYS5pLFwiY29tcGxldGVcIiwoKT0+e2lmKGEuaS5IYygpKXt2YXIgYz1hLmkueGQoKTt2YXIgZDtpZihkPWIpZD1hLmksZC5pJiZfLkFsKGQpPT00PyhkPWQuaS5nZXRSZXNwb25zZUhlYWRlcihcIkNvbnRlbnQtVHlwZVwiKSxkPWQ9PT1udWxsP3ZvaWQgMDpkKTpkPXZvaWQgMCxkPWQ9PT1cInRleHQvcGxhaW5cIjtpZihkKXtpZighYXRvYil0aHJvdyBFcnJvcihcIlBhXCIpO2M9YXRvYihjKX10cnl7dmFyIGU9YS5EKGMpfWNhdGNoKGcpe3p0KGEsbmV3IF8udHQoMTMsYEVycm9yIHdoZW4gZGVzZXJpYWxpemluZyByZXNwb25zZSBkYXRhOyBlcnJvcjogJHtnfWArYCwgcmVzcG9uc2U6ICR7Y31gKSk7XG5yZXR1cm59Yz1pdChhLmkuRGIoKSk7Q3QoYSxEdChhKSk7Yz09MD9BdChhLGUpOnp0KGEsbmV3IF8udHQoYyxcIlhociBzdWNjZWVkZWQgYnV0IHRoZSBzdGF0dXMgY29kZSBpcyBub3QgMjAwXCIpKX1lbHNle2M9YS5pLnhkKCk7ZT1EdChhKTtpZihjKXt2YXIgZj1CdChhLGMpO2M9Zi5jb2RlO2Q9Zi5kZXRhaWxzO2Y9Zi5tZXRhZGF0YX1lbHNlIGM9MixkPVwiUnBjIGZhaWxlZCBkdWUgdG8geGhyIGVycm9yLiBlcnJvciBjb2RlOiBcIithLmkubytcIiwgZXJyb3I6IFwiK210KGEuaSksZj1lO0N0KGEsZSk7enQoYSxuZXcgXy50dChjLGQsZikpfX0pfSxHdD1mdW5jdGlvbihhLGIpe2I9YS5pbmRleE9mKGIpO2I+LTEmJmEuc3BsaWNlKGIsMSl9LEh0PWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5DPWEuaWg7dGhpcy5EPWI7dGhpcy5pPWEudmY7dGhpcy5vPVtdO3RoaXMuQT1bXTt0aGlzLkI9W107dGhpcy52PVtdO3RoaXMuaj1bXTt0aGlzLkMmJkV0KHRoaXMpfXdjKGEsYil7YT09XCJkYXRhXCI/XG50aGlzLm8ucHVzaChiKTphPT1cIm1ldGFkYXRhXCI/dGhpcy5BLnB1c2goYik6YT09XCJzdGF0dXNcIj90aGlzLkIucHVzaChiKTphPT1cImVuZFwiP3RoaXMudi5wdXNoKGIpOmE9PVwiZXJyb3JcIiYmdGhpcy5qLnB1c2goYik7cmV0dXJuIHRoaXN9cmVtb3ZlTGlzdGVuZXIoYSxiKXthPT1cImRhdGFcIj9HdCh0aGlzLm8sYik6YT09XCJtZXRhZGF0YVwiP0d0KHRoaXMuQSxiKTphPT1cInN0YXR1c1wiP0d0KHRoaXMuQixiKTphPT1cImVuZFwiP0d0KHRoaXMudixiKTphPT1cImVycm9yXCImJkd0KHRoaXMuaixiKTtyZXR1cm4gdGhpc31jYW5jZWwoKXt0aGlzLmkuYWJvcnQoKX19O0h0LnByb3RvdHlwZS5jYW5jZWw9SHQucHJvdG90eXBlLmNhbmNlbDtIdC5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXI9SHQucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyO0h0LnByb3RvdHlwZS5vbj1IdC5wcm90b3R5cGUud2M7dmFyIEl0PWZ1bmN0aW9uKGEpe3RoaXMuQT1hLkxofHxudWxsO3RoaXMudj1hLkVofHwhMX07Xy5DKEl0LF8ubmwpO0l0LnByb3RvdHlwZS5pPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBKdCh0aGlzLkEsdGhpcy52KX07SXQucHJvdG90eXBlLmo9ZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGF9fSh7fSk7dmFyIEp0PWZ1bmN0aW9uKGEsYil7Xy5XLmNhbGwodGhpcyk7dGhpcy5LPWE7dGhpcy5DPWI7dGhpcy5CPXZvaWQgMDt0aGlzLnN0YXR1cz10aGlzLnJlYWR5U3RhdGU9MDt0aGlzLnJlc3BvbnNlVHlwZT10aGlzLnJlc3BvbnNlVGV4dD10aGlzLnJlc3BvbnNlPXRoaXMuc3RhdHVzVGV4dD1cIlwiO3RoaXMub25yZWFkeXN0YXRlY2hhbmdlPW51bGw7dGhpcy5GPW5ldyBIZWFkZXJzO3RoaXMuaj1udWxsO3RoaXMuSj1cIkdFVFwiO3RoaXMuRz1cIlwiO3RoaXMuaT0hMTt0aGlzLkQ9dGhpcy5vPXRoaXMudj1udWxsfTtfLkMoSnQsXy5XKTtcbkp0LnByb3RvdHlwZS5vcGVuPWZ1bmN0aW9uKGEsYil7aWYodGhpcy5yZWFkeVN0YXRlIT0wKXRocm93IHRoaXMuYWJvcnQoKSxFcnJvcihcIlFhXCIpO3RoaXMuSj1hO3RoaXMuRz1iO3RoaXMucmVhZHlTdGF0ZT0xO0t0KHRoaXMpfTtKdC5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbihhKXtpZih0aGlzLnJlYWR5U3RhdGUhPTEpdGhyb3cgdGhpcy5hYm9ydCgpLEVycm9yKFwiUmFcIik7dGhpcy5pPSEwO2NvbnN0IGI9e2hlYWRlcnM6dGhpcy5GLG1ldGhvZDp0aGlzLkosY3JlZGVudGlhbHM6dGhpcy5CLGNhY2hlOnZvaWQgMH07YSYmKGIuYm9keT1hKTsodGhpcy5LfHxfLnQpLmZldGNoKG5ldyBSZXF1ZXN0KHRoaXMuRyxiKSkudGhlbih0aGlzLlAuYmluZCh0aGlzKSx0aGlzLkEuYmluZCh0aGlzKSl9O1xuSnQucHJvdG90eXBlLmFib3J0PWZ1bmN0aW9uKCl7dGhpcy5yZXNwb25zZT10aGlzLnJlc3BvbnNlVGV4dD1cIlwiO3RoaXMuRj1uZXcgSGVhZGVyczt0aGlzLnN0YXR1cz0wO3RoaXMubyYmdGhpcy5vLmNhbmNlbChcIlJlcXVlc3Qgd2FzIGFib3J0ZWQuXCIpLmNhdGNoKCgpPT5udWxsKTt0aGlzLnJlYWR5U3RhdGU+PTEmJnRoaXMuaSYmdGhpcy5yZWFkeVN0YXRlIT00JiYodGhpcy5pPSExLEx0KHRoaXMpKTt0aGlzLnJlYWR5U3RhdGU9MH07XG5KdC5wcm90b3R5cGUuUD1mdW5jdGlvbihhKXtpZih0aGlzLmkmJih0aGlzLnY9YSx0aGlzLmp8fCh0aGlzLnN0YXR1cz10aGlzLnYuc3RhdHVzLHRoaXMuc3RhdHVzVGV4dD10aGlzLnYuc3RhdHVzVGV4dCx0aGlzLmo9YS5oZWFkZXJzLHRoaXMucmVhZHlTdGF0ZT0yLEt0KHRoaXMpKSx0aGlzLmkmJih0aGlzLnJlYWR5U3RhdGU9MyxLdCh0aGlzKSx0aGlzLmkpKSlpZih0aGlzLnJlc3BvbnNlVHlwZT09PVwiYXJyYXlidWZmZXJcIilhLmFycmF5QnVmZmVyKCkudGhlbih0aGlzLk0uYmluZCh0aGlzKSx0aGlzLkEuYmluZCh0aGlzKSk7ZWxzZSBpZih0eXBlb2YgXy50LlJlYWRhYmxlU3RyZWFtIT09XCJ1bmRlZmluZWRcIiYmXCJib2R5XCJpbiBhKXt0aGlzLm89YS5ib2R5LmdldFJlYWRlcigpO2lmKHRoaXMuQyl7aWYodGhpcy5yZXNwb25zZVR5cGUpdGhyb3cgRXJyb3IoXCJTYVwiKTt0aGlzLnJlc3BvbnNlPVtdfWVsc2UgdGhpcy5yZXNwb25zZT10aGlzLnJlc3BvbnNlVGV4dD1cIlwiLHRoaXMuRD1cbm5ldyBUZXh0RGVjb2RlcjtNdCh0aGlzKX1lbHNlIGEudGV4dCgpLnRoZW4odGhpcy5OLmJpbmQodGhpcyksdGhpcy5BLmJpbmQodGhpcykpfTt2YXIgTXQ9ZnVuY3Rpb24oYSl7YS5vLnJlYWQoKS50aGVuKGEuTC5iaW5kKGEpKS5jYXRjaChhLkEuYmluZChhKSl9O0p0LnByb3RvdHlwZS5MPWZ1bmN0aW9uKGEpe2lmKHRoaXMuaSl7aWYodGhpcy5DJiZhLnZhbHVlKXRoaXMucmVzcG9uc2UucHVzaChhLnZhbHVlKTtlbHNlIGlmKCF0aGlzLkMpe3ZhciBiPWEudmFsdWU/YS52YWx1ZTpuZXcgVWludDhBcnJheSgwKTtpZihiPXRoaXMuRC5kZWNvZGUoYix7c3RyZWFtOiFhLmRvbmV9KSl0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0Kz1ifWEuZG9uZT9MdCh0aGlzKTpLdCh0aGlzKTt0aGlzLnJlYWR5U3RhdGU9PTMmJk10KHRoaXMpfX07SnQucHJvdG90eXBlLk49ZnVuY3Rpb24oYSl7dGhpcy5pJiYodGhpcy5yZXNwb25zZT10aGlzLnJlc3BvbnNlVGV4dD1hLEx0KHRoaXMpKX07XG5KdC5wcm90b3R5cGUuTT1mdW5jdGlvbihhKXt0aGlzLmkmJih0aGlzLnJlc3BvbnNlPWEsTHQodGhpcykpfTtKdC5wcm90b3R5cGUuQT1mdW5jdGlvbigpe3RoaXMuaSYmTHQodGhpcyl9O3ZhciBMdD1mdW5jdGlvbihhKXthLnJlYWR5U3RhdGU9NDthLnY9bnVsbDthLm89bnVsbDthLkQ9bnVsbDtLdChhKX07SnQucHJvdG90eXBlLnNldFJlcXVlc3RIZWFkZXI9ZnVuY3Rpb24oYSxiKXt0aGlzLkYuYXBwZW5kKGEsYil9O0p0LnByb3RvdHlwZS5nZXRSZXNwb25zZUhlYWRlcj1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5qP3RoaXMuai5nZXQoYS50b0xvd2VyQ2FzZSgpKXx8XCJcIjpcIlwifTtKdC5wcm90b3R5cGUuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzPWZ1bmN0aW9uKCl7aWYoIXRoaXMuailyZXR1cm5cIlwiO2NvbnN0IGE9W10sYj10aGlzLmouZW50cmllcygpO2Zvcih2YXIgYz1iLm5leHQoKTshYy5kb25lOyljPWMudmFsdWUsYS5wdXNoKGNbMF0rXCI6IFwiK2NbMV0pLGM9Yi5uZXh0KCk7cmV0dXJuIGEuam9pbihcIlxcclxcblwiKX07XG52YXIgS3Q9ZnVuY3Rpb24oYSl7YS5vbnJlYWR5c3RhdGVjaGFuZ2UmJmEub25yZWFkeXN0YXRlY2hhbmdlLmNhbGwoYSl9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShKdC5wcm90b3R5cGUsXCJ3aXRoQ3JlZGVudGlhbHNcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQj09PVwiaW5jbHVkZVwifSxzZXQ6ZnVuY3Rpb24oYSl7dGhpcy5CPWE/XCJpbmNsdWRlXCI6XCJzYW1lLW9yaWdpblwifX0pO3ZhciBOdD1mdW5jdGlvbihhKXtsZXQgYj1cIlwiO18uTGUoYSxmdW5jdGlvbihjLGQpe2IrPWQ7Yis9XCI6XCI7Yis9YztiKz1cIlxcclxcblwifSk7cmV0dXJuIGJ9O3ZhciBPdCxQdCxRdDtPdD1mdW5jdGlvbihhLGIpe2xldCBjPWE7Yi5mb3JFYWNoKGQ9Pntjb25zdCBlPWM7Yz1mPT5kLmludGVyY2VwdChmLGUpfSk7cmV0dXJuIGN9O1xuUHQ9ZnVuY3Rpb24oYSxiLGMpe2NvbnN0IGQ9Yi5TZCgpLGU9Yi5nZXRNZXRhZGF0YSgpO3ZhciBmPWEubyYmITE7Zj1hLml8fGY/bmV3IF8ucmwobmV3IEl0KHtMaDphLmksRWg6Zn0pKTpuZXcgXy5ybDtjKz1kLmdldE5hbWUoKTtlW1wiQ29udGVudC1UeXBlXCJdPVwiYXBwbGljYXRpb24vanNvbitwcm90b2J1ZlwiO2VbXCJYLVVzZXItQWdlbnRcIl09XCJncnBjLXdlYi1qYXZhc2NyaXB0LzAuMVwiO3ZhciBnPWUuQXV0aG9yaXphdGlvbjtpZihnJiZ1dC5oYXMoZy5zcGxpdChcIiBcIilbMF0pfHxhLmopZi5DPSEwO2lmKGEudilpZihhPWMsXy55YihlKSljPWE7ZWxzZSBpZihjPU50KGUpLHR5cGVvZiBhPT09XCJzdHJpbmdcIil7dmFyIGg9ZW5jb2RlVVJJQ29tcG9uZW50KFwiJGh0dHBIZWFkZXJzXCIpO2M9YyE9bnVsbD9cIj1cIitlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGMpKTpcIlwiO2lmKGgrPWMpe2M9YS5pbmRleE9mKFwiI1wiKTtjPDAmJihjPWEubGVuZ3RoKTtnPWEuaW5kZXhPZihcIj9cIik7aWYoZzxcbjB8fGc+Yyl7Zz1jO3ZhciBrPVwiXCJ9ZWxzZSBrPWEuc3Vic3RyaW5nKGcrMSxjKTthPVthLnNsaWNlKDAsZyksayxhLnNsaWNlKGMpXTtjPWFbMV07YVsxXT1oP2M/YytcIiZcIitoOmg6YztjPWFbMF0rKGFbMV0/XCI/XCIrYVsxXTpcIlwiKSthWzJdfWVsc2UgYz1hfWVsc2UgXy5ibyhhLFwiJGh0dHBIZWFkZXJzXCIsYyksYz1hO2Vsc2UgZm9yKGggaW4gZSlmLmhlYWRlcnMuc2V0KGgsZVtoXSk7YT1jO2g9bmV3IEh0KHt2ZjpmLGloOnZvaWQgMH0sZC5qKTtGdChoLGVbXCJYLUdvb2ctRW5jb2RlLVJlc3BvbnNlLUlmLUV4ZWN1dGFibGVcIl09PVwiYmFzZTY0XCIpO2I9ZC5pKGIubyk7Zi5zZW5kKGEsXCJQT1NUXCIsYik7cmV0dXJuIGh9O1xuUXQ9ZnVuY3Rpb24oYSxiLGMsZCxlKXtjb25zdCBmPWIuc3Vic3RyKDAsYi5sZW5ndGgtZS5uYW1lLmxlbmd0aCk7cmV0dXJuIE90KGc9Pm5ldyB2dCgoaCxrKT0+e2xldCBsPXt9O2NvbnN0IG09UHQoYSxnLGYpO20ud2MoXCJlcnJvclwiLHA9PmsocCkpO20ud2MoXCJtZXRhZGF0YVwiLHA9PntsPXB9KTttLndjKFwiZGF0YVwiLHA9PntoKHJ0KGcuU2QoKSxwLGwpKX0pfSksYS5BKS5jYWxsKGEscXQoZSxjLGQpKS50aGVuKGc9PmcueGgpfTtfLlJ0PWZ1bmN0aW9uKGEsYixjLGQsZSl7cmV0dXJuIFF0KGEsYixjLGQsZSl9O18uU3Q9Y2xhc3N7Y29uc3RydWN0b3IoYT17fSl7dGhpcy52PWEuSmp8fF8uRWIoXCJzdXBwcmVzc0NvcnNQcmVmbGlnaHRcIixhKXx8ITE7dGhpcy5qPWEud2l0aENyZWRlbnRpYWxzfHxfLkViKFwid2l0aENyZWRlbnRpYWxzXCIsYSl8fCExO3RoaXMuQT1hLk1qfHxbXTt0aGlzLmk9YS5Qajt0aGlzLm89YS5Oanx8ITF9fTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5QdT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMucHJvbWlzZT1uZXcgUHJvbWlzZSgoYSxiKT0+e3RoaXMucmVzb2x2ZT1hO3RoaXMucmVqZWN0PWJ9KX19O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLk9lPWZ1bmN0aW9uKGEpe3RoaXMuaWQ9YX07Xy5PZS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pZH07Xy5udz17WzY0XTpcIm1hXCIsWzczXTpcIm9nYlwiLFs4OV06XCJjclwiLFsyMV06XCJ0ZXN0XCIsWzBdOlwidW5rblwiLFsxMzddOlwiY29uXCIsWzE1NV06XCJobFwiLFs3OF06XCJ5dFwiLFsxNzFdOlwibHBcIixbMTcyXTpcImFwXCIsWzc0XTpcImdnXCJ9O2Zvcihjb25zdCBhIG9mIE9iamVjdC5rZXlzKF8ubncpKTtfLm93PW5ldyBfLk9lKFwiY1wiKTtfLnB3PW5ldyBfLk9lKFwiZFwiKTtfLnF3PW5ldyBfLk9lKFwiZVwiKTtfLnJ3PVByb21pc2U7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBzdyx0dyx1dyx4dyx5dyx6dyxBdyxCdyxDdyxEdyxFdyxJdyxKdyxRdyxNdyxSdyxLdyxTdyxUdyxXdyxYdyxVdyxZdyxWdyxheCxjeCxkeCxleCxmeCxneCxoeCxpeCxqeCxreCxxeCxyeCxzeCxPdyx0eCx1eCx2eCxMdyxOdyx3eCxQdyx2dyx3dyxGdyxIdyxHdyx4eCx5eCwkdyx6eCxadyxBeCxCeCxDeCxEeCxGeCxHeCxMeCxOeCxNeCxneSxoeSxpeSxseSxqeSxueSxveSxweSxzeSxyeSxxeSx0eSx1eSx2eSxteSxBeSx4eTtzdz1mdW5jdGlvbigpe3Rocm93IEVycm9yKFwia1wiKTt9O3R3PWZ1bmN0aW9uKGEsYil7Yj1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYik7cmV0dXJuIGE9PW51bGw/YjphK2J9O1xudXc9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGE9PT1cInN0cmluZ1wiKXJldHVybntidWZmZXI6Xy53bihhKSx1YzohMX07aWYoQXJyYXkuaXNBcnJheShhKSlyZXR1cm57YnVmZmVyOm5ldyBVaW50OEFycmF5KGEpLHVjOiExfTtpZihhLmNvbnN0cnVjdG9yPT09VWludDhBcnJheSlyZXR1cm57YnVmZmVyOmEsdWM6ITF9O2lmKGEuY29uc3RydWN0b3I9PT1BcnJheUJ1ZmZlcilyZXR1cm57YnVmZmVyOm5ldyBVaW50OEFycmF5KGEpLHVjOiExfTtpZihhLmNvbnN0cnVjdG9yPT09Xy5YYSlyZXR1cm57YnVmZmVyOl8uQm4oYSl8fG5ldyBVaW50OEFycmF5KDApLHVjOiEwfTtpZihhIGluc3RhbmNlb2YgVWludDhBcnJheSlyZXR1cm57YnVmZmVyOm5ldyBVaW50OEFycmF5KGEuYnVmZmVyLGEuYnl0ZU9mZnNldCxhLmJ5dGVMZW5ndGgpLHVjOiExfTt0aHJvdyBFcnJvcihcInFcIik7fTtcbnh3PWZ1bmN0aW9uKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSBcImJvb2xlYW5cIjpyZXR1cm4gdnd8fCh2dz1bMCx2b2lkIDAsITBdKTtjYXNlIFwibnVtYmVyXCI6cmV0dXJuIGE+MD92b2lkIDA6YT09PTA/d3d8fCh3dz1bMCx2b2lkIDBdKTpbLWEsdm9pZCAwXTtjYXNlIFwic3RyaW5nXCI6cmV0dXJuWzAsYV07Y2FzZSBcIm9iamVjdFwiOnJldHVybiBhfX07eXc9ZnVuY3Rpb24oYSxiLGMpe2NvbnN0IGQ9Y1sxXTtsZXQgZTtpZihkKXtjb25zdCBmPWRbXy5HY107ZT1mP2YuS2M6eHcoZFswXSk7YVtiXT1mIT1udWxsP2Y6ZH1lJiZlPT09dnc/KGEuaXx8KGEuaT1uZXcgU2V0KSkuYWRkKGIpOmNbMF0mJihhLmp8fChhLmo9bmV3IFNldCkpLmFkZChiKX07enc9ZnVuY3Rpb24oYSxiKXtyZXR1cm5bITEsIWJ8fGJbMF0+MD92b2lkIDA6Yl19O0F3PWZ1bmN0aW9uKGEsYixjKXthW2JdPWN9O0J3PWZ1bmN0aW9uKGEpe18uSmMgaW4gYSYmXy5HYyBpbiBhJiZfLkljIGluIGEmJihhLmxlbmd0aD0wKX07XG5Ddz1mdW5jdGlvbihhLGIpe2NvbnN0IGM9YS5pO3JldHVybiBiPyhkLGUsZik9PmMoZCxlLGYsYik6Y307RHc9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IF8uR24oYSxiLCExKX07XG5Fdz1mdW5jdGlvbihhLGIsYyxkLGU9QXcpe2IuS2M9eHcoYVswXSk7bGV0IGY9MDt2YXIgZz1hWysrZl07ZyYmZy5jb25zdHJ1Y3Rvcj09PU9iamVjdCYmKGIuUGQ9ZyxnPWFbKytmXSx0eXBlb2YgZz09PVwiZnVuY3Rpb25cIiYmKGIubz1nLGIudj1hWysrZl0sZz1hWysrZl0pKTtjb25zdCBoPXt9O2Zvcig7QXJyYXkuaXNBcnJheShnKSYmdHlwZW9mIGdbMF09PT1cIm51bWJlclwiJiZnWzBdPjA7KXtmb3IodmFyIGs9MDtrPGcubGVuZ3RoO2srKyloW2dba11dPWc7Zz1hWysrZl19Zm9yKGs9MTtnIT09dm9pZCAwOyl7dHlwZW9mIGc9PT1cIm51bWJlclwiJiYoays9ZyxnPWFbKytmXSk7bGV0IHA7dmFyIGw9dm9pZCAwO2cgaW5zdGFuY2VvZiBfLkduP3A9ZzoocD1fLkluLGYtLSk7aWYocC55Zil7Zz1hWysrZl07bD1hO3ZhciBtPWY7dHlwZW9mIGc9PVwiZnVuY3Rpb25cIiYmKGc9ZygpLGxbbV09Zyk7bD1nfWc9YVsrK2ZdO209aysxO3R5cGVvZiBnPT09XCJudW1iZXJcIiYmZzwwJiYobS09ZyxnPVxuYVsrK2ZdKTtmb3IoO2s8bTtrKyspe2NvbnN0IHI9aFtrXTtlKGIsayxsP2QocCxsLHIpOmMocCxyKSl9fXJldHVybiBifTtJdz1mdW5jdGlvbihhKXt2YXIgYj1hW18uR2NdO2lmKGIpcmV0dXJuIGI7Yj1FdyhhLGFbXy5HY109bmV3IEZ3LHp3LHp3LHl3KTtpZighYi5QZCYmIWIuaiYmIWIuaSl7bGV0IGM9ITA7Zm9yKGxldCBkIGluIGIpaXNOYU4oZCl8fChjPSExKTtjPyh4dyhhWzBdKT09PXZ3P0d3P2I9R3c6KGI9bmV3IEZ3LGIuS2M9eHcoITApLGI9R3c9Yik6Yj1Id3x8KEh3PW5ldyBGdyksYj1hW18uR2NdPWIpOmIuQT0hMH1yZXR1cm4gYn07Snc9ZnVuY3Rpb24oYSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/YVswXWluc3RhbmNlb2YgXy5Hbj9hOltfLkpuLGFdOlthLHZvaWQgMF19O1xuUXc9ZnVuY3Rpb24oYSl7bGV0IGI9YVtfLkZjXTtpZighYil7Y29uc3QgYz1JdyhhKSxkPUt3KGEpLGU9ZC5vO2I9ZT8oZixnKT0+ZShmLGcsZCk6KGYsZyk9Pntmb3IoO0x3KGcpJiZnLmohPTQ7KXt2YXIgaD1nLnYsaz1kW2hdO2lmKCFrKXt2YXIgbD1kLlBkO2wmJihsPWxbaF0pJiYoaz1kW2hdPU13KGwpKX1rJiZrKGcsZixoKXx8KGs9ZyxoPWsubyxOdyhrKSxrLk5lP2s9dm9pZCAwOihsPWsuaS5pLWgsay5pLmk9aCxrPWsuaSxsPT0wP2s9Xy5DbigpOihoPU93KGssbCksay5NZCYmay5BP2g9ay5vLnN1YmFycmF5KGgsaCtsKTooaz1rLm8sbD1oK2wsaD1oPT09bD9uZXcgVWludDhBcnJheSgwKTprLnNsaWNlKGgsbCkpLGs9aC5sZW5ndGg9PTA/Xy5DbigpOm5ldyBfLlhhKGgsXy56bikpKSxoPWYsayYmKF8uRmF8fChfLkZhPVN5bWJvbCgpKSwobD1oW18uRmFdKT9sLnB1c2goayk6aFtfLkZhXT1ba10pKX1jPT09SHd8fGM9PT1Hd3x8Yy5BfHwoZltQd3x8KFB3PVN5bWJvbCgpKV09XG5jKX07YVtfLkZjXT1ifXJldHVybiBifTtNdz1mdW5jdGlvbihhKXthPUp3KGEpO2NvbnN0IGI9YVswXS5pO2lmKGE9YVsxXSl7Y29uc3QgYz1RdyhhKSxkPUt3KGEpLktjO3JldHVybihlLGYsZyk9PmIoZSxmLGcsZCxjKX1yZXR1cm4gYn07Unc9ZnVuY3Rpb24oYSxiLGMpe2NvbnN0IGQ9YS5pO2xldCBlLGY7cmV0dXJuKGcsaCxrKT0+ZChnLGgsayxmfHwoZj1LdyhiKS5LYyksZXx8KGU9UXcoYikpLGMpfTtLdz1mdW5jdGlvbihhKXtsZXQgYj1hW18uSmNdO2lmKGIpcmV0dXJuIGI7SXcoYSk7Yj1FdyhhLGFbXy5KY109e30sQ3csUncpO0J3KGEpO3JldHVybiBifTtTdz1mdW5jdGlvbihhKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSxhcmd1bWVudHMpfTtUdz1mdW5jdGlvbihhKXtyZXR1cm4gYS5qfTtXdz1mdW5jdGlvbihhKXtsZXQgYj1hW18uSGNdO2lmKCFiKXtjb25zdCBjPVV3KGEpO2I9KGQsZSk9PlZ3KGQsZSxjKTthW18uSGNdPWJ9cmV0dXJuIGJ9O1xuWHc9ZnVuY3Rpb24oYSxiKXtsZXQgYyxkO2NvbnN0IGU9YS5qO3JldHVybihmLGcsaCk9PmUoZixnLGgsZHx8KGQ9VXcoYikuS2MpLGN8fChjPVd3KGIpKSl9O1V3PWZ1bmN0aW9uKGEpe2xldCBiPWFbXy5JY107aWYoYilyZXR1cm4gYjtiPUV3KGEsYVtfLkljXT17fSxUdyxYdyk7QncoYSk7cmV0dXJuIGJ9O1l3PWZ1bmN0aW9uKGEsYil7dmFyIGM9YVtiXTtpZihjKXJldHVybiBjO2lmKGM9YS5QZClpZihjPWNbYl0pe2M9SncoYyk7dmFyIGQ9Y1swXS5qO2lmKGM9Y1sxXSl7Y29uc3QgZT1XdyhjKSxmPVV3KGMpLktjO2M9KGM9YS52KT9jKGYsZSk6KGcsaCxrKT0+ZChnLGgsayxmLGUpfWVsc2UgYz1kO3JldHVybiBhW2JdPWN9fTtcblZ3PWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9YVtfLnZdLGU9KyEhKGQmNTEyKS0xLGY9YS5sZW5ndGgsZz1kJjUxMj8xOjAsaD1mKyhkJjI1Nj8tMTowKTtnPGg7ZysrKXtjb25zdCBrPWFbZ107aWYoaz09bnVsbCljb250aW51ZTtjb25zdCBsPWctZSxtPVl3KGMsbCk7bSYmbShiLGssbCl9aWYoZCYyNTYpe2Q9YVtmLTFdO2ZvcihsZXQgayBpbiBkKWU9K2ssTnVtYmVyLmlzTmFOKGUpfHwoZj1kW2tdLGYhPW51bGwmJihoPVl3KGMsZSkpJiZoKGIsZixlKSl9aWYoYT1fLkZhP2FbXy5GYV06dm9pZCAwKWZvcihadyhiLGIuaS5lbmQoKSksYz0wO2M8YS5sZW5ndGg7YysrKVp3KGIsXy5CbihhW2NdKXx8bmV3IFVpbnQ4QXJyYXkoMCkpfTtcbmF4PWZ1bmN0aW9uKGEsYixjKXtiPV8uQ2QoYik7aWYoYiE9bnVsbClpZihiPXBhcnNlSW50KGIsMTApLCR3KGEuaSxjKjgpLGE9YS5pLGM9YixjPj0wKSR3KGEsYyk7ZWxzZXtmb3IoYj0wO2I8OTtiKyspYS5pLnB1c2goYyYxMjd8MTI4KSxjPj49NzthLmkucHVzaCgxKX19O18uYng9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1udWxsP1wibnVsbFwiOmE9PT12b2lkIDA/XCJ1bmRlZmluZWRcIjphfTtjeD1mdW5jdGlvbigpe2NvbnN0IGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTthLnN0eWxlLmhlaWdodD1cIjEwMCVcIjthLnN0eWxlLnBvc2l0aW9uPVwiYWJzb2x1dGVcIjthLnN0eWxlLnRyYW5zZm9ybU9yaWdpbj1cInRvcCBsZWZ0XCI7YS5zdHlsZS53aWR0aD1cIjEwMCVcIjtyZXR1cm4gYX07XG5keD1mdW5jdGlvbigpe2NvbnN0IGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInNwYW5cIik7YS5zdHlsZS5ib3JkZXJUb3A9XCI0cHggc29saWQgIzQyODVmNFwiO2Euc3R5bGUuZGlzcGxheT1cImlubGluZS1ibG9ja1wiO2Euc3R5bGUucG9zaXRpb249XCJhYnNvbHV0ZVwiO2Euc3R5bGUud2lkdGg9XCIxMDAlXCI7cmV0dXJuIGF9O2V4PWZ1bmN0aW9uKGEsYil7Yi5zdHlsZS5vcGFjaXR5PVwiMFwiO2Euc3R5bGUub3BhY2l0eT1cIjBcIjthLnN0eWxlLnRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgwLjgpXCJ9O1xuZng9ZnVuY3Rpb24oYSl7Y29uc3QgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO2Iuc3R5bGUuYmFja2dyb3VuZENvbG9yPVwicmdiYSgzMiwzMywzNiwwLjYpXCI7Yi5zdHlsZS5ib3R0b209XCIwXCI7Yi5zdHlsZS5sZWZ0PVwiMFwiO2Iuc3R5bGUucG9zaXRpb249XCJmaXhlZFwiO2Iuc3R5bGUucmlnaHQ9XCIwXCI7Yi5zdHlsZS50b3A9XCIwXCI7Yi5zdHlsZS50cmFuc2l0aW9uPVwiIG9wYWNpdHkgMTUwIG1zIGxpbmVhclwiO2Iuc3R5bGUuekluZGV4PVwiMjAwMVwiO2IuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsYSk7cmV0dXJuIGJ9O2d4PWZ1bmN0aW9uKGEpe2NvbnN0IGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtiLnNldEF0dHJpYnV0ZShcInRhYmluZGV4XCIsXCIwXCIpO2Iuc2V0QXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIixcInRydWVcIik7Yi5hZGRFdmVudExpc3RlbmVyKFwiZm9jdXNcIiwoKT0+dm9pZCBhLmZvY3VzKCkpO3JldHVybiBifTtcbmh4PWZ1bmN0aW9uKGEsYixjKXtjb25zdCBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIik7ZC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9XCJ0cmFuc3BhcmVudFwiO2Quc3R5bGUuYm9yZGVyPVwibm9uZVwiO2Quc3R5bGUuYm9yZGVyUmFkaXVzPVwiNTAlXCI7ZC5zdHlsZS5jdXJzb3I9XCJwb2ludGVyXCI7ZC5zdHlsZS5vdXRsaW5lPVwibm9uZVwiO2Quc3R5bGUucGFkZGluZz1cIjEycHhcIjtkLnNldEF0dHJpYnV0ZShcImFyaWEtbGFiZWxcIixcIkNsb3NlIGRpYWxvZ1wiKTtkLnN0eWxlLnBvc2l0aW9uPVwiYWJzb2x1dGVcIjtkLnN0eWxlLnRvcD1cIjBcIjtiP2Quc3R5bGUucmlnaHQ9XCIwXCI6ZC5zdHlsZS5sZWZ0PVwiMFwiO2QuYWRkRXZlbnRMaXN0ZW5lcihcImZvY3VzXCIsKCk9PntkLnN0eWxlLmJhY2tncm91bmRDb2xvcj1hP1wicmdiYSgyMzIsIDIzNCwgMjM3LC4xMilcIjpcInJnYmEoMCwwLDAsLjEyKVwifSk7ZC5hZGRFdmVudExpc3RlbmVyKFwiYmx1clwiLCgpPT57ZC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9XG5cInRyYW5zcGFyZW50XCJ9KTtkLmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZWVudGVyXCIsKCk9PntkLnN0eWxlLmJhY2tncm91bmRDb2xvcj1hP1wicmdiYSgyMzIsIDIzNCwgMjM3LCAuMDQpIFwiOlwicmdiYSgwLDAsMCwuMDQpXCJ9KTtkLmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZWxlYXZlXCIsKCk9PntkLnN0eWxlLmJhY2tncm91bmRDb2xvcj1cInRyYW5zcGFyZW50XCJ9KTtkLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLGMpO2QuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIixlPT57ZS5rZXkhPT1cIkVudGVyXCImJmUua2V5IT09XCJTcGFjZVwifHxjKCl9KTtiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJpbWdcIik7Yi5zcmM9YT9cImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL2dvb2dsZW1hdGVyaWFsaWNvbnMvY2xvc2UvdjE5L2dtX2dyZXkyMDAtMjRkcC8xeC9nbV9jbG9zZV9nbV9ncmV5MjAwXzI0ZHAucG5nXCI6XCJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS9nb29nbGVtYXRlcmlhbGljb25zL2Nsb3NlL3YxOS9nbV9ncmV5NjAwLTI0ZHAvMXgvZ21fY2xvc2VfZ21fZ3JleTYwMF8yNGRwLnBuZ1wiO1xuYi5zdHlsZS5kaXNwbGF5PVwiYmxvY2tcIjtiLnN0eWxlLmhlaWdodD1cIjI0cHhcIjtiLnN0eWxlLndpZHRoPVwiMjRweFwiO2Iuc2V0QXR0cmlidXRlKFwiYWx0XCIsXCJcIik7ZC5hcHBlbmRDaGlsZChiKTtyZXR1cm4gZH07XG5peD1mdW5jdGlvbihhLGIsYyl7Y29uc3QgZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO2Quc3R5bGUucG9zaXRpb249XCJmaXhlZFwiO2Quc3R5bGUuYWxpZ25JdGVtcz1cImNlbnRlclwiO2Quc3R5bGUuYmFja2dyb3VuZENvbG9yPWE/XCJyZ2IoMzIsIDMzLCAzNilcIjpcIndoaXRlXCI7ZC5zdHlsZS5ib3hTaGFkb3c9XCIwcHggMXB4IDJweCByZ2JhKDYwLDY0LDY3LDAuMyksIDBweCAycHggNnB4IDJweCByZ2JhKDYwLDY0LDY3LDAuMTUpO1wiO2Quc3R5bGUuZGlzcGxheT1cImZsZXhcIjtkLnN0eWxlLmZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIjtkLnN0eWxlLmp1c3RpZnlDb250ZW50PVwiY2VudGVyXCI7ZC5zdHlsZS5sZWZ0PVwiNTAlXCI7ZC5zdHlsZS50b3A9XCI1MCVcIjtkLnN0eWxlLnRyYW5zaXRpb249XCJvcGFjaXR5IDc1bXMgbGluZWFyLHRyYW5zZm9ybSAxNTBtcyBjdWJpYy1iZXppZXIoMCwwLDAuMiwxKVwiO2Quc3R5bGUuekluZGV4PVwiMjAwMlwiO2RvY3VtZW50LmJvZHkuY2xpZW50V2lkdGg+PVxuNjYwPyhkLnN0eWxlLmJvcmRlclJhZGl1cz1cIjhweFwiLGQuc3R5bGUubWluSGVpZ2h0PVwiMjIwcHhcIixkLnN0eWxlLm1heEhlaWdodD1cIjkwJVwiLGQuc3R5bGUubWF4V2lkdGg9XCI5MCVcIixkLnN0eWxlLm1pbldpZHRoPVwiNTQwcHhcIik6KGQuc3R5bGUuaGVpZ2h0PVwiMTAwJVwiLGQuc3R5bGUud2lkdGg9XCIxMDAlXCIpO2Quc2V0QXR0cmlidXRlKFwiYXJpYS1sYWJlbFwiLFwiRXJyb3JcIik7ZC5zZXRBdHRyaWJ1dGUoXCJhcmlhLW1vZGFsXCIsXCJ0cnVlXCIpO2Quc2V0QXR0cmlidXRlKFwicm9sZVwiLFwiYWxlcnRkaWFsb2dcIik7ZC5hZGRFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLGY9PntmLmtleT09PVwiRXNjYXBlXCImJmMoKX0pO2I9aHgoYSxiLGMpO2QuYXBwZW5kQ2hpbGQoZ3goYikpO2QuYXBwZW5kQ2hpbGQoYik7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImltZ1wiKTtlLnNyYz1hP1wiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kvZ29vZ2xlbWF0ZXJpYWxpY29ucy9hbGVydC92MTEvZ21fZ3JleTIwMC0zNmRwLzJ4L2dtX2FsZXJ0X2dtX2dyZXkyMDBfMzZkcC5wbmdcIjpcblwiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kvZ29vZ2xlbWF0ZXJpYWxpY29ucy9hbGVydC92MTEvZ21fZ3JleTYwMC0zNmRwLzJ4L2dtX2FsZXJ0X2dtX2dyZXk2MDBfMzZkcC5wbmdcIjtlLnN0eWxlLmhlaWdodD1cIjcycHhcIjtlLnN0eWxlLndpZHRoPVwiNzJweFwiO2Uuc3R5bGUuY29sb3I9XCIjOWFhMGE2XCI7ZS5zZXRBdHRyaWJ1dGUoXCJhbHRcIixcIlwiKTtkLmFwcGVuZENoaWxkKGUpO2U9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImgxXCIpO2UudGV4dENvbnRlbnQ9XCJTb21ldGhpbmcgd2VudCB3cm9uZy4gIFRyeSBhZ2Fpbi5cIjtlLnN0eWxlLmZvbnRGYW1pbHk9XCInR29vZ2xlIFNhbnMnLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmXCI7ZS5zdHlsZS5saW5lSGVpZ2h0PVwiMjRweFwiO2Uuc3R5bGUuZm9udFNpemU9XCIxNnB4XCI7ZS5zdHlsZS50ZXh0QWxpZ249XCJjZW50ZXJcIjtlLnN0eWxlLmxldHRlclNwYWNpbmc9XCIwLjFweFwiO2Uuc3R5bGUuY29sb3I9YT9cInJnYigyMzIsMjM0LDIzNylcIjpcblwiIzNjNDA0M1wiO2QuYXBwZW5kQ2hpbGQoZSk7ZC5hcHBlbmRDaGlsZChneChiKSk7cmV0dXJuIGR9O2p4PWZ1bmN0aW9uKGEpe2NvbnN0IGI9ZG9jdW1lbnQuYm9keTtsZXQgYz0hMTtjb25zdCBkPSgpPT57Y3x8KGM9ITAsZXgoZSxmKSxzZXRUaW1lb3V0KCgpPT57Yi5yZW1vdmVDaGlsZChmKTtiLnJlbW92ZUNoaWxkKGUpfSwxNTApKX0sZT1peChhLGdldENvbXB1dGVkU3R5bGUoYikuZGlyZWN0aW9uPT09XCJydGxcIixkKSxmPWZ4KGQpO2V4KGUsZik7Yi5hcHBlbmRDaGlsZChmKTtiLmFwcGVuZENoaWxkKGUpO3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntmLnN0eWxlLm9wYWNpdHk9XCIxXCI7ZS5zdHlsZS5vcGFjaXR5PVwiMVwiO2Uuc3R5bGUudHJhbnNmb3JtPVwidHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpXCI7ZS5jaGlsZHJlblswXS5mb2N1cygpfSl9O1xua3g9ZnVuY3Rpb24oYSxiKXthLnNhbmRib3gmJmEuc2FuZGJveC5hZGQmJihhLnNhbmRib3guYWRkKFwiYWxsb3ctc2FtZS1vcmlnaW5cIixcImFsbG93LXNjcmlwdHNcIixcImFsbG93LWZvcm1zXCIsXCJhbGxvdy1wb3B1cHNcIixcImFsbG93LXBvcHVwcy10by1lc2NhcGUtc2FuZGJveFwiLFwiYWxsb3ctc3RvcmFnZS1hY2Nlc3MtYnktdXNlci1hY3RpdmF0aW9uXCIpLGEuc2FuZGJveC5hZGQoXCJhbGxvdy1kb3dubG9hZHNcIikpO2Euc3JjPWJ9O18ubHg9ZnVuY3Rpb24oYSxiKXthPV8uUGQoYSxiKTtyZXR1cm4gYT09bnVsbD92b2lkIDA6YX07Xy5teD1mdW5jdGlvbihhLGIpe3JldHVybiBfLlAoYSw0LGIpfTtfLm54PWNsYXNzIGV4dGVuZHMgXy5Re2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07Xy5veD1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O18ucHg9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2MubGlzdGVuKGIsZCxlLGZ8fGEuTHx8YSxhKX07cXg9dm9pZCAwO1xuc3g9W107T3c9ZnVuY3Rpb24oYSxiKXtpZihiPDApdGhyb3cgRXJyb3IoXCJqYFwiK2IpO2NvbnN0IGM9YS5pLGQ9YytiO2lmKGQ+YS5qKXRocm93IEVycm9yKFwiaWBcIisoYS5qLWMpK1wiYFwiK2IpO2EuaT1kO3JldHVybiBjfTt0eD1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMubz1udWxsO3RoaXMuQT0hMTt0aGlzLmk9dGhpcy5qPXRoaXMudj0wO3RoaXMuaW5pdChhLHZvaWQgMCx2b2lkIDAsYil9aW5pdChhLGIsYyx7TWQ6ZD0hMX09e30pe3RoaXMuTWQ9ZDthJiYoYT11dyhhKSx0aGlzLm89YS5idWZmZXIsdGhpcy5BPWEudWMsdGhpcy52PWJ8fDAsdGhpcy5qPWMhPT12b2lkIDA/dGhpcy52K2M6dGhpcy5vLmxlbmd0aCx0aGlzLmk9dGhpcy52KX1jbGVhcigpe3RoaXMubz1udWxsO3RoaXMuQT0hMTt0aGlzLmk9dGhpcy5qPXRoaXMudj0wO3RoaXMuTWQ9ITF9cmVzZXQoKXt0aGlzLmk9dGhpcy52fX07dXg9W107dng9ZnVuY3Rpb24oYSx7TmU6Yj0hMX09e30pe2EuTmU9Yn07XG5Mdz1mdW5jdGlvbihhKXt2YXIgYj1hLmk7aWYoYi5pPT1iLmopcmV0dXJuITE7YS5vPWEuaS5pO3ZhciBjPV8uRW4oYS5pKT4+PjA7Yj1jPj4+MztjJj03O2lmKCEoYz49MCYmYzw9NSkpdGhyb3cgRXJyb3IoXCJkYFwiK2MrXCJgXCIrYS5vKTtpZihiPDEpdGhyb3cgRXJyb3IoXCJlYFwiK2IrXCJgXCIrYS5vKTthLnY9YjthLmo9YztyZXR1cm4hMH07XG5Odz1mdW5jdGlvbihhKXtzd2l0Y2goYS5qKXtjYXNlIDA6aWYoYS5qIT0wKU53KGEpO2Vsc2UgYTp7YT1hLmk7dmFyIGI9YS5pO2NvbnN0IGM9YisxMCxkPWEubztmb3IoO2I8YzspaWYoKGRbYisrXSYxMjgpPT09MCl7Xy5EbihhLGIpO2JyZWFrIGF9dGhyb3cgRXJyb3IoXCJoXCIpO31icmVhaztjYXNlIDE6YT1hLmk7Xy5EbihhLGEuaSs4KTticmVhaztjYXNlIDI6YS5qIT0yP053KGEpOihiPV8uRW4oYS5pKT4+PjAsYT1hLmksXy5EbihhLGEuaStiKSk7YnJlYWs7Y2FzZSA1OmE9YS5pO18uRG4oYSxhLmkrNCk7YnJlYWs7Y2FzZSAzOmI9YS52O2Rve2lmKCFMdyhhKSl0aHJvdyBFcnJvcihcImZcIik7aWYoYS5qPT00KXtpZihhLnYhPWIpdGhyb3cgRXJyb3IoXCJnXCIpO2JyZWFrfU53KGEpfXdoaWxlKDEpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoXCJkYFwiK2EuaitcImBcIithLm8pO319O1xud3g9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXtpZihzeC5sZW5ndGgpe2NvbnN0IGM9c3gucG9wKCk7Yy5pbml0KGEsdm9pZCAwLHZvaWQgMCxiKTthPWN9ZWxzZSBhPW5ldyB0eChhLGIpO3RoaXMuaT1hO3RoaXMubz10aGlzLmkuaTt0aGlzLmo9dGhpcy52PS0xO3Z4KHRoaXMsYil9cmVzZXQoKXt0aGlzLmkucmVzZXQoKTt0aGlzLm89dGhpcy5pLmk7dGhpcy5qPXRoaXMudj0tMX19O0Z3PWNsYXNze307eXg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGEsYixbXSl9OyR3PWZ1bmN0aW9uKGEsYil7Zm9yKDtiPjEyNzspYS5pLnB1c2goYiYxMjd8MTI4KSxiPj4+PTc7YS5pLnB1c2goYil9O3p4PWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5pPVtdfWxlbmd0aCgpe3JldHVybiB0aGlzLmkubGVuZ3RofWVuZCgpe2NvbnN0IGE9dGhpcy5pO3RoaXMuaT1bXTtyZXR1cm4gYX19O1xuWnc9ZnVuY3Rpb24oYSxiKXtiLmxlbmd0aCE9PTAmJihhLm8ucHVzaChiKSxhLmorPWIubGVuZ3RoKX07XG5BeD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMubz1bXTt0aGlzLmo9MDt0aGlzLmk9bmV3IHp4fUEoYSxiKXtpZihiIT1udWxsKXtpZihfLlNiKWI9KHh4fHwoeHg9bmV3IFRleHRFbmNvZGVyKSkuZW5jb2RlKGIpO2Vsc2V7bGV0IGQ9MDtjb25zdCBlPW5ldyBVaW50OEFycmF5KDMqYi5sZW5ndGgpO2ZvcihsZXQgZj0wO2Y8Yi5sZW5ndGg7ZisrKXt2YXIgYz1iLmNoYXJDb2RlQXQoZik7aWYoYzwxMjgpZVtkKytdPWM7ZWxzZXtpZihjPDIwNDgpZVtkKytdPWM+PjZ8MTkyO2Vsc2V7aWYoYz49NTUyOTYmJmM8PTU3MzQzKXtpZihjPD01NjMxOSYmZjxiLmxlbmd0aCl7Y29uc3QgZz1iLmNoYXJDb2RlQXQoKytmKTtpZihnPj01NjMyMCYmZzw9NTczNDMpe2M9KGMtNTUyOTYpKjEwMjQrZy01NjMyMCs2NTUzNjtlW2QrK109Yz4+MTh8MjQwO2VbZCsrXT1jPj4xMiY2M3wxMjg7ZVtkKytdPWM+PjYmNjN8MTI4O2VbZCsrXT1jJjYzfDEyODtjb250aW51ZX1lbHNlIGYtLX1jPTY1NTMzfWVbZCsrXT1cbmM+PjEyfDIyNDtlW2QrK109Yz4+NiY2M3wxMjh9ZVtkKytdPWMmNjN8MTI4fX1iPWQ9PT1lLmxlbmd0aD9lOmUuc3ViYXJyYXkoMCxkKX0kdyh0aGlzLmksYSo4KzIpOyR3KHRoaXMuaSxiLmxlbmd0aCk7WncodGhpcyx0aGlzLmkuZW5kKCkpO1p3KHRoaXMsYil9fXYoYSxiLGMpe2lmKGIhPW51bGwpeyR3KHRoaXMuaSxhKjgrMik7YT10aGlzLmkuZW5kKCk7WncodGhpcyxhKTthLnB1c2godGhpcy5qKTtjKGIsdGhpcyk7Yj1hLnBvcCgpO2ZvcihiPXRoaXMuait0aGlzLmkubGVuZ3RoKCktYjtiPjEyNzspYS5wdXNoKGImMTI3fDEyOCksYj4+Pj03LHRoaXMuaisrO2EucHVzaChiKTt0aGlzLmorK319fTtcbkJ4PUR3KGZ1bmN0aW9uKGEsYixjKXtpZihhLmohPT0yKXJldHVybiExO3ZhciBkPV8uRW4oYS5pKT4+PjA7YT1hLmk7dmFyIGU9T3coYSxkKTthPWEubztpZihfLlJiKXt2YXIgZj1hLGc7KGc9cngpfHwoZz1yeD1uZXcgVGV4dERlY29kZXIoXCJ1dGYtOFwiLHtmYXRhbDohMH0pKTtkPWUrZDtmPWU9PT0wJiZkPT09Zi5sZW5ndGg/ZjpmLnN1YmFycmF5KGUsZCk7dHJ5e3ZhciBoPWcuZGVjb2RlKGYpfWNhdGNoKGwpe2lmKHF4PT09dm9pZCAwKXt0cnl7Zy5kZWNvZGUobmV3IFVpbnQ4QXJyYXkoWzEyOF0pKX1jYXRjaChtKXt9dHJ5e2cuZGVjb2RlKG5ldyBVaW50OEFycmF5KFs5N10pKSxxeD0hMH1jYXRjaChtKXtxeD0hMX19IXF4JiYocng9dm9pZCAwKTt0aHJvdyBsO319ZWxzZXtoPWU7ZD1oK2Q7ZT1bXTtsZXQgbD1udWxsO2xldCBtO2Zvcig7aDxkOyl7dmFyIGs9YVtoKytdO2s8MTI4P2UucHVzaChrKTprPDIyND9oPj1kP3N3KCk6KG09YVtoKytdLGs8MTk0fHwobSYxOTIpIT09XG4xMjg/KGgtLSxzdygpKTplLnB1c2goKGsmMzEpPDw2fG0mNjMpKTprPDI0MD9oPj1kLTE/c3coKToobT1hW2grK10sKG0mMTkyKSE9PTEyOHx8az09PTIyNCYmbTwxNjB8fGs9PT0yMzcmJm0+PTE2MHx8KChnPWFbaCsrXSkmMTkyKSE9PTEyOD8oaC0tLHN3KCkpOmUucHVzaCgoayYxNSk8PDEyfChtJjYzKTw8NnxnJjYzKSk6azw9MjQ0P2g+PWQtMj9zdygpOihtPWFbaCsrXSwobSYxOTIpIT09MTI4fHwoazw8MjgpKyhtLTE0NCk+PjMwIT09MHx8KChnPWFbaCsrXSkmMTkyKSE9PTEyOHx8KChmPWFbaCsrXSkmMTkyKSE9PTEyOD8oaC0tLHN3KCkpOihrPShrJjcpPDwxOHwobSY2Myk8PDEyfChnJjYzKTw8NnxmJjYzLGstPTY1NTM2LGUucHVzaCgoaz4+MTAmMTAyMykrNTUyOTYsKGsmMTAyMykrNTYzMjApKSk6c3coKTtlLmxlbmd0aD49ODE5MiYmKGw9dHcobCxlKSxlLmxlbmd0aD0wKX1oPXR3KGwsZSl9Xy5xYihiLGJbXy52XSxjLGgpO3JldHVybiEwfSxmdW5jdGlvbihhLGIsYyl7YS5BKGMsXG5fLlBhKGIpKX0pO0N4PUR3KGZ1bmN0aW9uKGEsYixjKXtpZihhLmohPT0wKXJldHVybiExO2E9Xy5FbihhLmkpO18ucWIoYixiW18udl0sYyxhKTtyZXR1cm4hMH0sYXgpO0R4PUR3KGZ1bmN0aW9uKGEsYixjKXtpZihhLmohPT0wKXJldHVybiExO2E9Xy5FbihhLmkpO18ucWIoYixiW18udl0sYyxhPT09MD92b2lkIDA6YSk7cmV0dXJuITB9LGF4KTtfLkV4PWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5rZyhkb2N1bWVudCxhcmd1bWVudHMpfTtGeD17U0NSSVBUOjEsU1RZTEU6MSxIRUFEOjEsSUZSQU1FOjEsT0JKRUNUOjF9O0d4PXtJTUc6XCIgXCIsQlI6XCJcXG5cIn07XG5fLkh4PWZ1bmN0aW9uKGEsYixjKXtpZighKGEubm9kZU5hbWUgaW4gRngpKWlmKGEubm9kZVR5cGU9PTMpYz9iLnB1c2goU3RyaW5nKGEubm9kZVZhbHVlKS5yZXBsYWNlKC8oXFxyXFxufFxccnxcXG4pL2csXCJcIikpOmIucHVzaChhLm5vZGVWYWx1ZSk7ZWxzZSBpZihhLm5vZGVOYW1lIGluIEd4KWIucHVzaChHeFthLm5vZGVOYW1lXSk7ZWxzZSBmb3IoYT1hLmZpcnN0Q2hpbGQ7YTspXy5IeChhLGIsYyksYT1hLm5leHRTaWJsaW5nfTtfLkl4PWZ1bmN0aW9uKGEpe3JldHVybiBhP2RlY29kZVVSSShhKTphfTtfLkp4PWZ1bmN0aW9uKGEsYil7Xy5WZChiLFwiL1wiKXx8KGI9XCIvXCIrYik7YT1hLm1hdGNoKF8uQ2opO3JldHVybiBfLktuKGFbMV0sYVsyXSxhWzNdLGFbNF0sYixhWzZdLGFbN10pfTtfLkt4PWZ1bmN0aW9uKGEpe3JldHVybiBhIGluc3RhbmNlb2YgXy5Nbj9uZXcgXy5NbihhKTpuZXcgXy5NbihhKX07XG5MeD1mdW5jdGlvbihhKXt2YXIgYj1bMCxEeCxCeCxDeCxCeCxDeF07cmV0dXJuKGMsZCk9PntpZih1eC5sZW5ndGgpe2NvbnN0IGY9dXgucG9wKCk7dngoZixkKTtmLmkuaW5pdChjLHZvaWQgMCx2b2lkIDAsZCk7Yz1mfWVsc2UgYz1uZXcgd3goYyxkKTt0cnl7Y29uc3QgZj1uZXcgYSxnPWYubWE7UXcoYikoZyxjKTt2YXIgZT1mfWZpbmFsbHl7Yy5pLmNsZWFyKCksYy52PS0xLGMuaj0tMSx1eC5sZW5ndGg8MTAwJiZ1eC5wdXNoKGMpfXJldHVybiBlfX0oY2xhc3MgZXh0ZW5kcyBfLlF7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSk7Tng9ZnVuY3Rpb24oKXt2YXIgYT1uZXcgTXg7cmV0dXJuIF8ueG4oYSwxLF8uTWEoMCksMCl9O014PWNsYXNzIGV4dGVuZHMgXy5Re2NvbnN0cnVjdG9yKCl7c3VwZXIoKX19O1xuTXgucHJvdG90eXBlLmk9ZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKCl7Y29uc3QgYj1uZXcgQXg7VncodGhpcy5tYSxiLFV3KGEpKTtadyhiLGIuaS5lbmQoKSk7Y29uc3QgYz1uZXcgVWludDhBcnJheShiLmopLGQ9Yi5vLGU9ZC5sZW5ndGg7bGV0IGY9MDtmb3IobGV0IGc9MDtnPGU7ZysrKXtjb25zdCBoPWRbZ107Yy5zZXQoaCxmKTtmKz1oLmxlbmd0aH1iLm89W2NdO3JldHVybiBjfX0oWzAsRHgsQnhdKTtcbnZhciBPeD1jbGFzcyBleHRlbmRzIF8uUGV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcihfLm93KTt0aGlzLmhlPWJ9fSxQeD1jbGFzcyBleHRlbmRzIF8uUGV7Y29uc3RydWN0b3IoYSl7c3VwZXIoXy5wdyk7dGhpcy5qPWF9fSxReD1jbGFzcyBleHRlbmRzIF8uUGV7Y29uc3RydWN0b3IoKXtzdXBlcihfLnF3KX19LFJ4PS9eXFxbKFthLXowLTktXSspKD1cIihbXlxcXFxcIl0qKVwiKT9dJC8sU3g9YT0+Yj0+Yi5nZXRBdHRyaWJ1dGUmJl8uVihiLGEpLFR4PShhLGIpPT5jPT5iIT09dm9pZCAwP2MuZ2V0QXR0cmlidXRlJiZjLmdldEF0dHJpYnV0ZShhKT09YjpjLmhhc0F0dHJpYnV0ZSYmYy5oYXNBdHRyaWJ1dGUoYSksVXg9YT0+e2E9YS50b1VwcGVyQ2FzZSgpO3JldHVybiBiPT4oYj1iLnRhZ05hbWUpJiZiLnRvVXBwZXJDYXNlKCk9PWF9LFZ4PWE9PntpZih0eXBlb2YgYT09XCJzdHJpbmdcIil7aWYoYS5jaGFyQXQoMCk9PVwiLlwiKXJldHVybiBTeChhLnN1YnN0cigxKSk7aWYoYS5jaGFyQXQoMCk9PVxuXCJbXCIpe2NvbnN0IGI9UnguZXhlYyhhKTtyZXR1cm4gVHgoYlsxXSxhLmluZGV4T2YoXCI9XCIpPT0tMT92b2lkIDA6YlszXSl9cmV0dXJuIFV4KGEpfXJldHVybiBhfSxXeD0oKT0+ITAsWHg9ZnVuY3Rpb24oYSl7YSBpbnN0YW5jZW9mIFh4P2E9YS5DYTphWzBdaW5zdGFuY2VvZiBYeCYmKGE9eXgoYSxmdW5jdGlvbihiLGMpe3JldHVybiBTdyhiLGMuQ2EpfSksXy5pbyhhKSk7dGhpcy5DYT1fLkRkKGEpfTtfLm49WHgucHJvdG90eXBlO18ubi5WYT1mdW5jdGlvbihhKXtfLldiKHRoaXMuQ2EsYSk7cmV0dXJuIHRoaXN9O18ubi5zaXplPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQ2EubGVuZ3RofTtfLm4uRWI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5DYS5sZW5ndGg9PT0wfTtfLm4uZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLkNhW2FdfHxudWxsfTtfLm4uT2Q9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5DYVswXXx8bnVsbH07XG5fLm4ubWFwPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uYWgodGhpcy5DYSxhLGIpfTtfLm4ubWo9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5DYS5sZW5ndGg9PTA/bnVsbDpuZXcgWXgodGhpcy5DYVt0aGlzLkNhLmxlbmd0aC0xXSl9O18ubi5maW5kPWZ1bmN0aW9uKGEpe2NvbnN0IGI9W107dGhpcy5WYShmdW5jdGlvbihjKXtjPWMucXVlcnlTZWxlY3RvckFsbChTdHJpbmcoYSkpO2ZvcihsZXQgZD0wO2Q8Yy5sZW5ndGg7ZCsrKWIucHVzaChjW2RdKX0pO3JldHVybiBuZXcgWHgoYil9O18ubi5vZD1mdW5jdGlvbigpe2NvbnN0IGE9W107dGhpcy5WYShmdW5jdGlvbihiKXtiPV8ucmgoYik7Zm9yKGxldCBjPTA7YzxiLmxlbmd0aDtjKyspYS5wdXNoKGJbY10pfSk7cmV0dXJuIG5ldyBYeChhKX07Xy5uLmZpbHRlcj1mdW5jdGlvbihhKXthPV8uam4odGhpcy5DYSxWeChhKSk7cmV0dXJuIG5ldyBYeChhKX07XG5fLm4uY2xvc2VzdD1mdW5jdGlvbihhKXtjb25zdCBiPVtdLGM9VngoYSksZD1mdW5jdGlvbihlKXtyZXR1cm4gXy51ZShlKSYmYyhlKX07dGhpcy5WYShmdW5jdGlvbihlKXsoZT1fLm5oKGUsZCkpJiYhXy50YShiLGUpJiZiLnB1c2goZSl9KTtyZXR1cm4gbmV3IFh4KGIpfTtfLm4ubmV4dD1mdW5jdGlvbihhKXtyZXR1cm4gWngodGhpcyxhKX07dmFyIFp4PWZ1bmN0aW9uKGEsYil7Y29uc3QgYz1bXTtsZXQgZDtkPWI/VngoYik6V3g7YS5WYShmdW5jdGlvbihlKXtpZihlLm5leHRFbGVtZW50U2libGluZyE9PXZvaWQgMCllPWUubmV4dEVsZW1lbnRTaWJsaW5nO2Vsc2UgZm9yKGU9ZS5uZXh0U2libGluZztlJiZlLm5vZGVUeXBlIT0xOyllPWUubmV4dFNpYmxpbmc7ZSYmZChlKSYmYy5wdXNoKGUpfSk7cmV0dXJuIG5ldyBYeChjKX0sJHg9ZnVuY3Rpb24oYSl7YS5WYShmdW5jdGlvbihiKXtiLnJlbW92ZUF0dHJpYnV0ZShcImFyaWEtaGlkZGVuXCIpfSl9O1xuWHgucHJvdG90eXBlLmdldFN0eWxlPWZ1bmN0aW9uKGEpe2lmKHRoaXMuQ2EubGVuZ3RoPjApcmV0dXJuIF8uRmcodGhpcy5DYVswXSxhKX07WHgucHJvdG90eXBlLmZvY3VzPWZ1bmN0aW9uKGEpe3RyeXthP3RoaXMuT2QoKS5mb2N1cyhhKTp0aGlzLk9kKCkuZm9jdXMoKX1jYXRjaChiKXt9cmV0dXJuIHRoaXN9O3ZhciBheT1mdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoZCxlLGYpe2xldCBnPWU7ZSYmZS5wYXJlbnROb2RlJiYoZz1lLmNsb25lTm9kZSghMCkpO2QoZyxmKX1pZihhLkNhLmxlbmd0aD09MSl7Y29uc3QgZD1hLkNhWzBdLGU9Zj0+YihmLGQpO0FycmF5LmlzQXJyYXkobnVsbCk/Xy5XYihudWxsLGUpOmIobnVsbCxkKTtyZXR1cm4gYX1yZXR1cm4gYS5WYShmdW5jdGlvbihkKXtBcnJheS5pc0FycmF5KG51bGwpP18uV2IobnVsbCxmdW5jdGlvbihlKXtjKGIsZSxkKX0pOmMoYixudWxsLGQpfSl9O1xuWHgucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbigpe3JldHVybiBheSh0aGlzLGZ1bmN0aW9uKGEsYil7Xy5sZyhiKX0pfTt2YXIgYnk9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuVmEoZnVuY3Rpb24oYil7Xy5MZyhiLCEwKX0pfTtYeC5wcm90b3R5cGUuc2hvdz1mdW5jdGlvbigpe3JldHVybiBieSh0aGlzKX07dmFyIFl4PWZ1bmN0aW9uKGEsYil7YSBpbnN0YW5jZW9mIFh4JiYoYj1hLkNhLGE9bnVsbCk7WHguY2FsbCh0aGlzLGEhPW51bGw/W2FdOmIpfTtfLkMoWXgsWHgpO1l4LnByb3RvdHlwZS5vZD1mdW5jdGlvbigpe3JldHVybiBuZXcgWHgoQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoXy5yaCh0aGlzLkNhWzBdKSkpfTtZeC5wcm90b3R5cGUuVmE9ZnVuY3Rpb24oYSl7YS5jYWxsKHZvaWQgMCx0aGlzLkNhWzBdLDApO3JldHVybiB0aGlzfTtZeC5wcm90b3R5cGUuc2l6ZT1mdW5jdGlvbigpe3JldHVybiAxfTtZeC5wcm90b3R5cGUuT2Q9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5DYVswXX07XG5fLmN5PWZ1bmN0aW9uKGEsYil7YS5kb21haW49YjtyZXR1cm4gYX07Xy5keT1mdW5jdGlvbihhLGIpe2EucG9ydD1ifTtfLmV5PWZ1bmN0aW9uKGEsYil7YS5zY2hlbWU9YjtyZXR1cm4gYX07Xy5meT1mdW5jdGlvbihhLGIpe2EuRz1iO3JldHVybiBhfTtneT1mdW5jdGlvbihhKXtyZXR1cm4gXy5QbihfLk9uKF8uTm4obmV3IF8uTW4sYS5zY2hlbWUpLGEuZG9tYWluKSxhLnBvcnQpfTtoeT1mdW5jdGlvbihhKXthPWEuSGE7YS5zdHlsZS5ib3R0b209XCItMTAwMHB4XCI7YS5zdHlsZS5wb3NpdGlvbj1cImZpeGVkXCI7YS5zdHlsZS5yaWdodD1cIi0xMDAwcHhcIjthLnN0eWxlLmJvcmRlcj1cIlwiO2Euc3R5bGUuaGVpZ2h0PVwiXCI7YS5zdHlsZS5sZWZ0PVwiXCI7YS5zdHlsZS50b3A9XCJcIjthLnN0eWxlLndpZHRoPVwiXCI7YS5zdHlsZS56SW5kZXg9XCJcIjthLnNldEF0dHJpYnV0ZShcImFyaWEtaGlkZGVuXCIsXCJ0cnVlXCIpO2Euc2V0QXR0cmlidXRlKFwiYXJpYS1tb2RhbFwiLFwiZmFsc2VcIil9O1xuaXk9ZnVuY3Rpb24oYSl7YS5DPShuZXcgWXgoYS5IYS5wYXJlbnRFbGVtZW50KSkub2QoKS5maWx0ZXIoYj0+Yi5nZXRBdHRyaWJ1dGUoXCJhcmlhLWhpZGRlblwiKT09PW51bGwmJmIhPT1hLkhhKTthLkMuVmEoYj0+e2Iuc2V0QXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIixcInRydWVcIil9KTthLkI9KG5ldyBZeChhLkhhLnBhcmVudEVsZW1lbnQpKS5vZCgpLmZpbHRlcihiPT5iLmdldEF0dHJpYnV0ZShcImFyaWEtaGlkZGVuXCIpPT09XCJmYWxzZVwiJiZiIT09YS5IYSk7YS5CLlZhKGI9PntiLnNldEF0dHJpYnV0ZShcImFyaWEtaGlkZGVuXCIsXCJ0cnVlXCIpfSk7YS5EPShuZXcgWXgoYS5IYS5wYXJlbnRFbGVtZW50KSkub2QoKS5maWx0ZXIoYj0+IWIuaGFzQXR0cmlidXRlKFwiaW5lcnRcIikmJmIhPT1hLkhhKTthLkQuVmEoYj0+e2Iuc2V0QXR0cmlidXRlKFwiaW5lcnRcIixcInRydWVcIil9KX07XG5fLmt5PWZ1bmN0aW9uKGEsYj0hMCl7YS5IYSE9PXZvaWQgMCYmKGp5KGEpLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5vdmVyc2Nyb2xsQmVoYXZpb3I9YS52YSxkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvcj1hLk0sZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdz1hLkwsYS5KIT09dm9pZCAwJiYoYS5KLmZvY3VzKCksYS5KPXZvaWQgMCksYj9oeShhKTooZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChhLkhhKSxhLkhhPXZvaWQgMCxhLnY9dm9pZCAwLGEuRj12b2lkIDApLGEuSz0hMSl9O1xubHk9YXN5bmMgZnVuY3Rpb24oYSxiKXtjb25zdCBjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7Z2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5ib2R5KS5kaXJlY3Rpb249PT1cInJ0bFwiJiYoYy5zdHlsZS50cmFuc2Zvcm09XCJzY2FsZVgoLTEpXCIpO2Muc3R5bGUuYmFja2dyb3VuZENvbG9yPVwiI2U4ZjBmZVwiO2Muc3R5bGUuaGVpZ2h0PVwiNHB4XCI7Yy5zdHlsZS5vdmVyZmxvdz1cImhpZGRlblwiO2Muc3R5bGUucG9zaXRpb249XCJhYnNvbHV0ZVwiO2Muc3R5bGUudG9wPVwiMFwiO2Muc3R5bGUud2lkdGg9XCIxMDAlXCI7Yy5zdHlsZS56SW5kZXg9XCIxNTAwXCI7Yy5zZXRBdHRyaWJ1dGUoXCJhcmlhLWxhYmVsXCIsXCJMb2FkaW5nXCIpO2Muc2V0QXR0cmlidXRlKFwiYXJpYS1saXZlXCIsXCJwb2xpdGVcIik7dmFyIGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpO2QudGV4dENvbnRlbnQ9XCJAa2V5ZnJhbWVzIG9tZGMtbGluZWFyLXByb2dyZXNzLXByaW1hcnktaW5kZXRlcm1pbmF0ZS10cmFuc2xhdGUge1xcbiAgICAwJSB7XFxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xcbiAgICB9XFxuXFxuICAgIDIwJSB7XFxuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNSwgMCwgMC43MDE3MzIsIDAuNDk1ODE5KTtcXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XFxuICAgIH1cXG5cXG4gICAgNTkuMTUlIHtcXG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoXFxuICAgICAgICAwLjMwMjQzNSxcXG4gICAgICAgIDAuMzgxMzUyLFxcbiAgICAgICAgMC41NSxcXG4gICAgICAgIDAuOTU2MzUyXFxuICAgICAgKTtcXG5cXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoODMuNjcxNDIlKTtcXG4gICAgfVxcblxcbiAgICAxMDAlIHtcXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwLjYxMTA1NyUpO1xcbiAgICB9XFxuICB9QGtleWZyYW1lcyBvbWRjLWxpbmVhci1wcm9ncmVzcy1wcmltYXJ5LWluZGV0ZXJtaW5hdGUtc2NhbGUge1xcbiAgICAwJSB7XFxuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMC4wOCk7XFxuICAgIH1cXG5cXG4gICAgMzYuNjUlIHtcXG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zMzQ3MzEsIDAuMTI0ODIsIDAuNzg1ODQ0LCAxKTtcXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwLjA4KTtcXG4gICAgfVxcblxcbiAgICA2OS4xNSUge1xcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjA2LCAwLjExLCAwLjYsIDEpO1xcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDAuNjYxNDc5KTtcXG4gICAgfVxcblxcbiAgICAxMDAlIHtcXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwLjA4KTtcXG4gICAgfVxcbiAgfUBrZXlmcmFtZXMgb21kYy1saW5lYXItcHJvZ3Jlc3Mtc2Vjb25kYXJ5LWluZGV0ZXJtaW5hdGUtdHJhbnNsYXRlIHtcXG4gICAgMCUge1xcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE1LCAwLCAwLjUxNTA1OCwgMC40MDk2ODUpO1xcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcXG4gICAgfVxcblxcbiAgICAyNSUge1xcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjMxMDMzLCAwLjI4NDA1OCwgMC44LCAwLjczMzcxMik7XFxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDM3LjY1MTkxMyUpO1xcbiAgICB9XFxuXFxuICAgIDQ4LjM1JSB7XFxuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMC42MjcwMzUsIDAuNiwgMC45MDIwMjYpO1xcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg4NC4zODYxNjUlKTtcXG4gICAgfVxcblxcbiAgICAxMDAlIHtcXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTYwLjI3Nzc4MiUpO1xcbiAgICB9XFxuICB9QGtleWZyYW1lcyBvbWRjLWxpbmVhci1wcm9ncmVzcy1zZWNvbmRhcnktaW5kZXRlcm1pbmF0ZS1zY2FsZSB7XFxuICAgIDAlIHtcXG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoXFxuICAgICAgICAwLjIwNTAyOCxcXG4gICAgICAgIDAuMDU3MDUxLFxcbiAgICAgICAgMC41NzY2MSxcXG4gICAgICAgIDAuNDUzOTcxXFxuICAgICAgKTtcXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwLjA4KTtcXG4gICAgfVxcblxcbiAgICAxOS4xNSUge1xcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcihcXG4gICAgICAgIDAuMTUyMzEzLFxcbiAgICAgICAgMC4xOTY0MzIsXFxuICAgICAgICAwLjY0ODM3NCxcXG4gICAgICAgIDEuMDA0MzE1XFxuICAgICAgKTtcXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwLjQ1NzEwNCk7XFxuICAgIH1cXG5cXG4gICAgNDQuMTUlIHtcXG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoXFxuICAgICAgICAwLjI1Nzc1OSxcXG4gICAgICAgIC0wLjAwMzE2MyxcXG4gICAgICAgIDAuMjExNzYyLFxcbiAgICAgICAgMS4zODE3OVxcbiAgICAgICk7XFxuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMC43Mjc5Nik7XFxuICAgIH1cXG5cXG4gICAgMTAwJSB7XFxuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMC4wOCk7XFxuICAgIH1cXG4gIH1cIjtcbmMuYXBwZW5kQ2hpbGQoZCk7ZD1jeCgpO2Quc3R5bGUuYW5pbWF0aW9uPVwib21kYy1saW5lYXItcHJvZ3Jlc3MtcHJpbWFyeS1pbmRldGVybWluYXRlLXRyYW5zbGF0ZSAycyBpbmZpbml0ZSBsaW5lYXJcIjtkLnN0eWxlLmxlZnQ9XCItMTQ1LjE2NjYxMSVcIjt2YXIgZT1keCgpO2Uuc3R5bGUuYW5pbWF0aW9uPVwib21kYy1saW5lYXItcHJvZ3Jlc3MtcHJpbWFyeS1pbmRldGVybWluYXRlLXNjYWxlIDJzIGluZmluaXRlIGxpbmVhclwiO2QuYXBwZW5kQ2hpbGQoZSk7Yy5hcHBlbmRDaGlsZChkKTtkPWN4KCk7ZC5zdHlsZS5hbmltYXRpb249XCJvbWRjLWxpbmVhci1wcm9ncmVzcy1zZWNvbmRhcnktaW5kZXRlcm1pbmF0ZS10cmFuc2xhdGUgMnMgaW5maW5pdGUgbGluZWFyXCI7ZC5zdHlsZS5sZWZ0PVwiLTU0Ljg4ODg5MSVcIjtlPWR4KCk7ZS5zdHlsZS5hbmltYXRpb249XCJvbWRjLWxpbmVhci1wcm9ncmVzcy1zZWNvbmRhcnktaW5kZXRlcm1pbmF0ZS1zY2FsZSAycyBpbmZpbml0ZSBsaW5lYXJcIjtcbmQuYXBwZW5kQ2hpbGQoZSk7Yy5hcHBlbmRDaGlsZChkKTtkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGMpO2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmKGEuSj1kb2N1bWVudC5hY3RpdmVFbGVtZW50KTt0cnl7YXdhaXQgYS5lYShiKTtkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGMpO2EuTD1kb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93O2EudmE9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvcjthLk09ZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyc2Nyb2xsQmVoYXZpb3I7ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvcj1cImNvbnRhaW5cIjtkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvcj1cImNvbnRhaW5cIjtkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93PVwiaGlkZGVuXCI7Y29uc3QgZj1hLkhhO2Yuc3R5bGUuYm90dG9tPVwiMFwiO2Yuc3R5bGUuYm9yZGVyPVxuXCJub25lXCI7Zi5zdHlsZS5oZWlnaHQ9XCIxMDAlXCI7Zi5zdHlsZS5sZWZ0PVwiMFwiO2Yuc3R5bGUucG9zaXRpb249XCJmaXhlZFwiO2Yuc3R5bGUucmlnaHQ9XCIwXCI7Zi5zdHlsZS50b3A9XCIwXCI7Zi5zdHlsZS53aWR0aD1cIjEwMCVcIjtmLnN0eWxlLnpJbmRleD1cIjIyMDJcIjtmLnNldEF0dHJpYnV0ZShcImFyaWEtaGlkZGVuXCIsXCJmYWxzZVwiKTtmLnNldEF0dHJpYnV0ZShcImFyaWEtbW9kYWxcIixcInRydWVcIik7YS5LPSEwO2l5KGEpfWNhdGNoKGYpe3Rocm93IGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoYyksYj1hLm89PT1cImRhcmtcInx8d2luZG93Lm1hdGNoTWVkaWEoXCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspXCIpLm1hdGNoZXMmJmEubyE9PVwibGlnaHRcIixqeChiKSxfLmt5KGEsITEpLEVycm9yKFwibWJcIix7Y2F1c2U6Zn0pO319O1xuank9ZnVuY3Rpb24oYSl7YS5DJiYoJHgoYS5DKSxhLkM9dm9pZCAwKTthLkImJihhLkIuVmEoYj0+e2Iuc2V0QXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIixcImZhbHNlXCIpfSksYS5CPXZvaWQgMCk7YS5EJiYoYS5ELlZhKGI9PntiLnJlbW92ZUF0dHJpYnV0ZShcImluZXJ0XCIpfSksYS5EPXZvaWQgMCl9O1xubnk9Y2xhc3N7Y29uc3RydWN0b3IoKXt2YXIgYT13aW5kb3c7dGhpcy5PPV8ubndbNzNdO3RoaXMuaT1hO3RoaXMuc2NoZW1lPVwiaHR0cHNcIjt0aGlzLmRvbWFpbj1cIm15YWNjb3VudC5nb29nbGUuY29tXCI7dGhpcy5HPXRoaXMucG9ydD0wO3RoaXMubz1cIlwiO3RoaXMuSz0hMTt0aGlzLnZhPXRoaXMuTT10aGlzLkw9XCJcIjt0aGlzLmo9bmV3IF8uVzt0aGlzLmkubG9jYXRpb24uaG9zdG5hbWUuaW5kZXhPZihcInlvdXR1YmUuY29tXCIpPj0wJiYodGhpcy5kb21haW49XCJwcm9maWxld2lkZ2V0cy55b3V0dWJlLmNvbVwiKX1lYShhKXtpZih0aGlzLnY9PT12b2lkIDApe2NvbnN0IGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImlmcmFtZVwiKTt0aGlzLkhhPWI7a3goYixhKTt0aGlzLnY9bmV3IFByb21pc2UoKGMsZCk9PntsZXQgZT0hMTtjb25zdCBmPWc9PntnLnN0b3BQcm9wYWdhdGlvbigpO2IucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImVycm9yXCIsZik7Yi5yZW1vdmVFdmVudExpc3RlbmVyKFwic2VjdXJpdHlwb2xpY3l2aW9sYXRpb25cIixcbmYpO2QoZyl9O2IuYWRkRXZlbnRMaXN0ZW5lcihcImVycm9yXCIsZik7Yi5hZGRFdmVudExpc3RlbmVyKFwic2VjdXJpdHlwb2xpY3l2aW9sYXRpb25cIixmKTtzZXRUaW1lb3V0KCgpPT57ZXx8ZChFcnJvcihcImxiXCIpKX0sM0U0KTtteSh0aGlzLGIsKCk9PntlPSEwO2IucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImVycm9yXCIsZik7Yi5yZW1vdmVFdmVudExpc3RlbmVyKFwic2VjdXJpdHlwb2xpY3l2aW9sYXRpb25cIixmKTtjKCl9KX0pO2h5KHRoaXMpO2E9Z3kodGhpcykudG9TdHJpbmcoKTtiLnNldEF0dHJpYnV0ZShcImFsbG93XCIsYGNhbWVyYSAke2F9OyBkaXNwbGF5LWNhcHR1cmUgJHthfWApO2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYil9cmV0dXJuIHRoaXMudn19O295PWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaT1hfXNlbmQoYSxiLGMpe3RoaXMuaS50aGVuKGQ9PntkLnNlbmQoYSxiLGMpfSl9fTtweT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuZGF0YT1hO3RoaXMuaT1ifX07XG5zeT1mdW5jdGlvbihhLGIpe3F5KGEsYik7cmV0dXJuIG5ldyByeShhKX07cnk9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5pPWF9c2VuZChhLGIsYz1bXSl7Y29uc3QgZD1uZXcgTWVzc2FnZUNoYW5uZWw7cXkoZC5wb3J0MSxiKTt0aGlzLmkucG9zdE1lc3NhZ2UoYSxbZC5wb3J0Ml0uY29uY2F0KGMpKX19O3F5PWZ1bmN0aW9uKGEsYil7YiYmKGEub25tZXNzYWdlPWM9PntiKG5ldyBweShjLmRhdGEsc3koYy5wb3J0c1swXSkpKX0pfTt0eT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmk9YX19O3V5PWE9Pntjb25zdCBiPU9iamVjdC5jcmVhdGUobnVsbCk7KHR5cGVvZiBhPT09XCJzdHJpbmdcIj9bYV06YSkuZm9yRWFjaChjPT57aWYoYz09PVwibnVsbFwiKXRocm93IEVycm9yKFwibmJcIik7YltjXT0hMH0pO3JldHVybiBjPT5iW2NdPT09ITB9O1xudnk9KHtkZXN0aW5hdGlvbjphLFpjOmIsb2g6YyxMajpkLENjOmUsb25NZXNzYWdlOmYsYWY6Z30pPT5uZXcgb3kobmV3IF8ucncoKGgsayk9Pntjb25zdCBsPW09PnttLnNvdXJjZSYmbS5zb3VyY2U9PT1iKCkmJmMuaShtLm9yaWdpbikmJihtLmRhdGEubnx8bS5kYXRhKT09PWUmJihhLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsbCwhMSksZCYmbS5kYXRhLnQhPT1kP2soRXJyb3IoXCJvYmBcIitlK1wiYFwiK2QrXCJgXCIrbS5kYXRhLnQpKTooaChzeShtLnBvcnRzWzBdLGYpKSxnJiZnKG0pKSl9O2EuYWRkRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIixsLCExKX0pKTtcbl8ud3k9KHtkZXN0aW5hdGlvbjphLEhhOmIsb3JpZ2luOmMsQ2M6ZD1cIlpOV04xZFwiLG9uTWVzc2FnZTplLGFmOmZ9KT0+dnkoe2Rlc3RpbmF0aW9uOmEsWmM6KCk9PmIuY29udGVudFdpbmRvdyxvaDpjIGluc3RhbmNlb2YgdHk/Yzp0eXBlb2YgYz09PVwiZnVuY3Rpb25cIj9uZXcgdHkoYyk6bmV3IHR5KHV5KGMpKSxDYzpkLG9uTWVzc2FnZTplLGFmOmZ9KTtteT1mdW5jdGlvbihhLGIsYyl7Xy53eSh7ZGVzdGluYXRpb246YS5pLEhhOmIsb3JpZ2luOl8uUG4oXy5PbihfLk5uKG5ldyBfLk1uLGEuc2NoZW1lKSxhLmRvbWFpbiksYS5wb3J0KS50b1N0cmluZygpLENjOlwib3dpXCIsb25NZXNzYWdlOmQ9PntiPT09YS5IYSYmKGMhPT12b2lkIDAmJmMoKSx4eShhLGIpLGEuSyYmYS5GLnNlbmQoTngoKS5pKCkpLGQuaS5zZW5kKHZvaWQgMCx2b2lkIDAsdm9pZCAwKSxteShhLGIpKX19KX07Xy55eT1mdW5jdGlvbihhLGIpe2Euai5saXN0ZW4oXy5xdyxiKTtyZXR1cm4gYX07XG5fLnp5PWZ1bmN0aW9uKGEsYil7YS5qLmxpc3RlbihfLnB3LGIpO3JldHVybiBhfTtcbkF5PWZ1bmN0aW9uKGEpe3ZhciBiPVthLm9yaWdpbj9hLm9yaWdpbjpfLlBuKF8uT24oXy5ObihuZXcgXy5NbixhLmkubG9jYXRpb24ucHJvdG9jb2wpLGEuaS5sb2NhdGlvbi5ob3N0bmFtZSksYS5pLmxvY2F0aW9uLnBvcnQpLnRvU3RyaW5nKCldO2EuUCYmYi5wdXNoKGEuUCk7Y29uc3QgYz1uZXcgXy5NbihhLmkubG9jYXRpb24uaHJlZik7dmFyIGQ9YS5BP2EuQTphLm9wdGlvbnMuaW5jbHVkZXMoXCJwb1wiKT9cInByb2ZpbGUtcGljdHVyZS9hcnRcIjpcInByb2ZpbGUtcGljdHVyZVwiO2Q9Xy5RbihneShhKSxkKTtBcnJheS5pc0FycmF5KGIpfHwoYj1bU3RyaW5nKGIpXSk7Xy5obyhkLmksXCJvcmlnaW5cIixiKTthLkEmJl8uYm8oZCxcInN0YXJ0UGF0aFwiLGEuQSk7YS5HPjAmJl8uYm8oZCxcImF1dGh1c2VyXCIsYS5HKTthLk4hPT12b2lkIDAmJl8uYm8oZCxcInBhZ2VJZFwiLGEuTik7Xy5ibyhkLFwiaG9zdElkXCIsYS5PKTthLlMhPT12b2lkIDAmJl8uYm8oZCxcImpzbW9kZVwiLGEuUyk7YS5vcHRpb25zLmxlbmd0aD5cbjAmJl8uYm8oZCxcIm9wdHNcIixhLm9wdGlvbnMuam9pbihcIixcIikpO3RyeXtjb25zdCBlPWMuaS5nZXQoXCJobFwiKTtlIT09dm9pZCAwJiZfLmJvKGQsXCJobFwiLGUpfWNhdGNoKGUpe2lmKCEoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSl0aHJvdyBlO31hLm8mJl8uYm8oZCxcInRoZW1lXCIsYS5vKTthLnN0eWxlJiZfLmJvKGQsXCJzdHlsZVwiLGEuc3R5bGUpO3JldHVybiBkfTtcbnh5PWZ1bmN0aW9uKGEsYil7YS5GPV8ud3koe2Rlc3RpbmF0aW9uOmEuaSxIYTpiLG9yaWdpbjpneShhKS50b1N0cmluZygpLENjOlwib3dcIixvbk1lc3NhZ2U6Yz0+e2M9THgoYy5kYXRhKTtpZihiPT09YS5IYSlzd2l0Y2goXy5RZChjLDEsMCkpe2Nhc2UgMTphLmouZGlzcGF0Y2hFdmVudChuZXcgUXgpO18ua3koYSk7YnJlYWs7Y2FzZSAyOmEuai5kaXNwYXRjaEV2ZW50KG5ldyBPeChfLkwoYyw0KSxfLkwoYywyKSxfLlFkKGMsNSwwKSkpO2JyZWFrO2Nhc2UgMDpsZXQgZDthLmouZGlzcGF0Y2hFdmVudChuZXcgUHgoXy5MKGMsMiksKGQ9Xy5RZChjLDMsMCkpIT1udWxsP2Q6MCkpO2JyZWFrO2Nhc2UgMzphLmouZGlzcGF0Y2hFdmVudChuZXcgUXgpLF8ua3koYSwhMSl9fX0pfTtcbl8uQnk9YXN5bmMgZnVuY3Rpb24oYSl7YS5BPWEub3B0aW9ucy5pbmNsdWRlcyhcInBvXCIpP1wicHJvZmlsZS1waWN0dXJlL2FydFwiOlwicHJvZmlsZS1waWN0dXJlXCI7YXdhaXQgbHkoYSxBeShhKS50b1N0cmluZygpKTtpZihhLkYpe3ZhciBiPWEuRixjPWIuc2VuZCxkPU54KCk7YT1fLk8oZCwyLGEuQSk7Yy5jYWxsKGIsYS5pKCkpfX07Xy5DeT1jbGFzcyBleHRlbmRzIG55e2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLm9wdGlvbnM9W107dGhpcy5zdHlsZT1cIlwifWVhKCl7cmV0dXJuIHRoaXMudj09PXZvaWQgMD9zdXBlci5lYShBeSh0aGlzKS50b1N0cmluZygpKTp0aGlzLnZ9fTtfLkR5PWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5pPTB9cmVzZXQoKXt0aGlzLmk9MH19O18uRXk9UmVnRXhwKFwiXmRhdGE6aW1hZ2UvKD86Ym1wfGdpZnxqcGVnfGpwZ3xwbmd8dGlmZnx3ZWJwfHgtaWNvbik7YmFzZTY0LFstKy9fYS16MC05XSsoPzo9fCUzZCkqJFwiLFwiaVwiKTtfLkZ5PVJlZ0V4cChcIl4oPzpbKi9dPyg/Oig/OlsrXFxcXC0uLCEjJV9hLXpBLVowLTlcXHRdfCApfFxcXFwpfFthLXpBLVowLTldXFxcXCh8JCkpKiRcIik7Xy5HeT1SZWdFeHAoXCJeLSg/Om1venxtc3xvfHdlYmtpdHxjc3MzKS0oLiopJFwiKTtPYmplY3QuZnJlZXplKFtdKTt2YXIgSHk9ZnVuY3Rpb24oKXt9O3ZhciBJeT1mdW5jdGlvbihhKXt0aGlzLmk9YXx8e319O18uQyhJeSxIeSk7dmFyIEx5PWZ1bmN0aW9uKCl7Snl8fChKeT1uZXcgSXksXy5VYigpJiYhXy51KFwiRWRnZVwiKT9LeShcIi13ZWJraXQtXCIpOl8ubGEoKT9LeShcIi1tb3otXCIpOl8ua2EoKT9LeShcIi1tcy1cIik6Xy5pYSgpJiZLeShcIi1vLVwiKSxKeS5pLmlzX3J0bD0hMSxKeS5pLmxhbmd1YWdlPVwiZW4tVVNcIik7Y29uc3QgYT1KeS5pLmlzX3J0bDtyZXR1cm4hKGE9PW51bGx8fCFhKX0sS3k9ZnVuY3Rpb24oYSl7SnkuaS5jc3MzX3ByZWZpeD1hfTt2YXIgSnk9bnVsbDt2YXIgTXk9e1wiZm9yXCI6XCJodG1sRm9yXCIsXCJjbGFzc1wiOlwiY2xhc3NOYW1lXCJ9O2Zvcihjb25zdCBhIGluIE15KTt2YXIgT3ksUHksUXksUnksTnk7Xy5TeT1mdW5jdGlvbihhKXtpZihhPT1udWxsKXJldHVyblwiXCI7aWYoIU55LnRlc3QoYSkpcmV0dXJuIGE7YS5pbmRleE9mKFwiJlwiKSE9LTEmJihhPWEucmVwbGFjZShPeSxcIiZhbXA7XCIpKTthLmluZGV4T2YoXCI8XCIpIT0tMSYmKGE9YS5yZXBsYWNlKFB5LFwiJmx0O1wiKSk7YS5pbmRleE9mKFwiPlwiKSE9LTEmJihhPWEucmVwbGFjZShReSxcIiZndDtcIikpO2EuaW5kZXhPZignXCInKSE9LTEmJihhPWEucmVwbGFjZShSeSxcIiZxdW90O1wiKSk7cmV0dXJuIGF9O095PS8mL2c7UHk9LzwvZztReT0vPi9nO1J5PS9cIi9nO055PS9bJjw+XCJdLztfLlR5PWZ1bmN0aW9uKGEpe2NvbnN0IGI9YS5tYXRjaCgvXFxiaHJlZj1cIi9nKTtpZighYnx8Yi5sZW5ndGg8PTEpcmV0dXJuIGE7Y29uc3QgYz1uZXcgXy5NbjthPWEucmVwbGFjZSgvXFxiaHJlZj1cIiguKj8pXCIvZyxmdW5jdGlvbihkLGUpe2Q9Xy5LeChlKTtjLm98fF8uTm4oYyxkLm8pO2Muanx8Xy5PbihjLGQuaik7Yy52fHxfLlFuKGMsZC52KTtjLkF8fChjLkE9ZC5BKTtmb3IoY29uc3QgZiBvZiBkLmkub2IoKSlfLmdvKGMuaSxmKXx8Xy5obyhjLmksZixkLmkuU2EoZikpO3JldHVyblwiXCJ9KTthPWEucmVwbGFjZSgvXFxzXFxzKy9nLFwiIFwiKS5yZXBsYWNlKC9cXHMrJC9nLFwiXCIpO3JldHVybmAke2F9IGhyZWY9XCIke2MudG9TdHJpbmcoKX1cImB9O18uVXk9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1cIlwiP1wiXCI6YCBjbGFzcz1cIiR7YS5jaGFyQXQoYS5sZW5ndGgtMSk9PT1cIiBcIj9hLnNsaWNlKDAsLTEpOmF9XCJgfTtcbl8uVnk9ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPT1cIlwiP2Agc3R5bGU9XCIke2F9XCJgOlwiXCJ9O3ZhciBXeSxZeTtXeT1mdW5jdGlvbihhKXtjb25zdCBiPWEuaS5jcmVhdGVFbGVtZW50KFwiU1RZTEVcIik7YS5pLmhlYWQ/YS5pLmhlYWQuYXBwZW5kQ2hpbGQoYik6YS5pLmJvZHkuYXBwZW5kQ2hpbGQoYik7cmV0dXJuIGJ9O18uWHk9ZnVuY3Rpb24oYSl7aWYoIWEuaXx8YS5qLmxlbmd0aD09MClyZXR1cm5cIlwiO2NvbnN0IGI9YS5qLmpvaW4oXCJcIik7aWYoXy5aYil7YS5vfHwoYS5vPVd5KGEpKTt2YXIgYz1hLm99ZWxzZSBjPVd5KGEpO2Muc3R5bGVTaGVldCYmIWMuc2hlZXQ/Yy5zdHlsZVNoZWV0LmNzc1RleHQrPWI6Yy50ZXh0Q29udGVudCs9YjthLmoubGVuZ3RoPTA7cmV0dXJuXCJcIn07WXk9Y2xhc3N7Y29uc3RydWN0b3IoYT1kb2N1bWVudCl7dGhpcy5pPWE7dGhpcy5vPW51bGw7dGhpcy5qPVtdfX07Xy5aeT1mdW5jdGlvbihhLGIsYyxkLGUsZj1udWxsLGc9bnVsbCxoPVwiXCIsaz1udWxsLGw9XCJcIixtPW51bGwscD1udWxsKXthPWEuajtpZighQXJyYXkuaXNBcnJheShjKSl7dmFyIHI9W107Zm9yKGNvbnN0IHEgaW4gYylyW2NbcV1dPXE7Yz1yfWFbYl09e2NqOmMsamo6ZCxrajplLHpqOmYsb2o6ZyxBajpoLHdqOmssQmo6bCx4ajptLENqOlwiXCIseWo6cCxuajohMH19O18uJHk9ZnVuY3Rpb24oYSxiKXthPWEuaTthOntpZihiKWZvcihiPWIucGFyZW50Tm9kZTtfLnVlKGIpO2I9Yi5wYXJlbnROb2RlKXtsZXQgYz1iLmdldEF0dHJpYnV0ZShcImRpclwiKTtpZihjJiYoYz1jLnRvTG93ZXJDYXNlKCksYz09XCJsdHJcInx8Yz09XCJydGxcIikpe2I9YzticmVhayBhfX1iPUx5KCk/XCJydGxcIjpcImx0clwifWFbMF09XCJydGxcIj09Yn07Xy5hej1mdW5jdGlvbihhKXthLnYmJmEudi5DYigpfTtcbl8uYno9Y2xhc3N7Y29uc3RydWN0b3IoYT1kb2N1bWVudCxiLGM9bmV3IFl5KGEpKXt0aGlzLm89Yzt0aGlzLmo9e307dGhpcy5pPVtMeSgpXX19O3ZhciBjejtjej1mdW5jdGlvbihhKXtfLnB4KGEsYS5BLF8uamgsYj0+e2EuaS5sb2coMTA2KTtjb25zdCBjPV8uRWIoXCJzaWxrLnMuc2lzLmNhXCIpO2M/KGMoKSxiLnByZXZlbnREZWZhdWx0KCksYi5zdG9wUHJvcGFnYXRpb24oKSk6YS5pLmxvZygxMjQpfSwhMSxhKTthLm89ITB9O18uZHo9ZnVuY3Rpb24oYSxiKXtjb25zdCBjPV8uRWIoXCJzaWxrLnMuc2lzLmNhXCIpOyFiJiYhY3x8YS5vfHxjeihhKTtyZXR1cm4hIWN9O18uZXo9Y2xhc3MgZXh0ZW5kcyBfLmdoe2NvbnN0cnVjdG9yKGEsYixjKXtzdXBlcihhLGIpO3RoaXMubz0hMTt0aGlzLkE9YTt0aGlzLmk9Y319O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgSUIsS0I7Xy5GQj1mdW5jdGlvbihhLC4uLmIpe2lmKGIubGVuZ3RoPT09MClyZXR1cm4gXy5iZShhWzBdKTtsZXQgYz1hWzBdO2ZvcihsZXQgZD0wO2Q8Yi5sZW5ndGg7ZCsrKWMrPWVuY29kZVVSSUNvbXBvbmVudChiW2RdKSthW2QrMV07cmV0dXJuIF8uYmUoYyl9O0lCPWZ1bmN0aW9uKGEpe3ZhciBiPUdCO2NvbnN0IGM9Xy5TZChhKSxkPShbLC4uLmZdKT0+YihjLGYpLGU9KFtmLC4uLmddKT0+YS5hcHBseShmLGcpO3JldHVybiBmdW5jdGlvbiguLi5mKXt2YXIgZz10aGlzfHxfLnQsaD1IQi5nZXQoZyk7aHx8KGg9e30sSEIuc2V0KGcsaCkpO2c9aDtmPVt0aGlzLC4uLmZdO2g9ZD9kKGYpOmY7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChnLGgpP2dbaF06Z1toXT1lKGYpfX07Xy5KQj1mdW5jdGlvbihhKXtyZXR1cm4gXy5nZC5pKCkuaVthXXx8bnVsbH07XG5LQj1mdW5jdGlvbihhLGIpe2lmKGImJmEgaW4gYilyZXR1cm4gYTt2YXIgYz1fLkNnKCk7cmV0dXJuIGM/KGM9Yy50b0xvd2VyQ2FzZSgpLGE9YytfLkJnKGEpLGI9PT12b2lkIDB8fGEgaW4gYj9hOm51bGwpOm51bGx9O18uTEI9KDAsXy5GQilgYWJvdXQ6YmxhbmtgO3ZhciBNQj1jbGFzcyBleHRlbmRzIF8uUGV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcihcInZpc2liaWxpdHljaGFuZ2VcIik7dGhpcy51ZT1ifX07dmFyIEhCPW5ldyBXZWFrTWFwLEdCPWZ1bmN0aW9uKGEsYil7YT1bYV07Zm9yKGxldCBjPWIubGVuZ3RoLTE7Yz49MDstLWMpYS5wdXNoKHR5cGVvZiBiW2NdLGJbY10pO3JldHVybiBhLmpvaW4oXCJcXHZcIil9O18uTkI9ZnVuY3Rpb24oYSl7Xy5XLmNhbGwodGhpcyk7dGhpcy5pPWF8fF8ub2coKTtpZih0aGlzLmo9dGhpcy5KZygpKXRoaXMubz1fLmRmKHRoaXMuaS5pLHRoaXMuaiwoMCxfLnopKHRoaXMuT2csdGhpcykpfTtfLkMoXy5OQixfLlcpO18ubj1fLk5CLnByb3RvdHlwZTtfLm4uSmc9SUIoZnVuY3Rpb24oKXt2YXIgYT10aGlzLldlKCksYj10aGlzLlFkKCkhPVwiaGlkZGVuXCI7aWYoYSl7dmFyIGM7Yj9jPSgoXy5DZygpfHxcIlwiKStcInZpc2liaWxpdHljaGFuZ2VcIikudG9Mb3dlckNhc2UoKTpjPVwidmlzaWJpbGl0eWNoYW5nZVwiO2E9Y31lbHNlIGE9bnVsbDtyZXR1cm4gYX0pO18ubi5RZD1JQihmdW5jdGlvbigpe3JldHVybiBLQihcImhpZGRlblwiLHRoaXMuaS5pKX0pO18ubi5MZz1JQihmdW5jdGlvbigpe3JldHVybiBLQihcInZpc2liaWxpdHlTdGF0ZVwiLHRoaXMuaS5pKX0pO18ubi5XZT1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5RZCgpfTtcbl8ubi5PZz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuV2UoKT90aGlzLmkuaVt0aGlzLkxnKCldOm51bGw7YT1uZXcgTUIoISF0aGlzLmkuaVt0aGlzLlFkKCldLGEpO3RoaXMuZGlzcGF0Y2hFdmVudChhKX07Xy5uLlI9ZnVuY3Rpb24oKXtfLm1mKHRoaXMubyk7Xy5OQi5XLlIuY2FsbCh0aGlzKX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBPQixRQixTQixZQixhQyxiQyxjQyxkQyxlQyxoQyxrQyxsQyxvQywkQixMQyxNQyxOQyxPQyxQQyxRQyxTQyxSQixUQixXQixVQixWQixYQixUQyxVQyxWQyxXQyxYQyxaQywkQyxhRCxiRCxjRCxkRCxlRCxmRCxnRCxoRCxpRCxqRCxrRCxsRCxtRCxaQixvRCxwRCxxRCxyRCxuRCxzRCx0RCx1RCxSQyxERCxBRCxHRCx6RCxFRCxGRCx2RCx3RCx4RCx5RCxDRCxCRCxJRCxLRCxKRCxNRCxORCxPRCxIRCxMRCxRRCxSRCxTRCxURCxVRCxWRCxXRCxQRCxYRDtPQj1mdW5jdGlvbihhKXtyZXR1cm4gYVthLmxlbmd0aC0xXX07UUI9ZnVuY3Rpb24oYSxiLGMpe2lmKGIgaW5zdGFuY2VvZiBfLlpkKWEuaHJlZj1fLiRkKGIpLnRvU3RyaW5nKCksYS5yZWw9YztlbHNle2lmKFBCLmluZGV4T2YoYyk9PT0tMSl0aHJvdyBFcnJvcihcIkdgXCIrYyk7Yj1fLk1kKGIpO2IhPT12b2lkIDAmJihhLmhyZWY9YixhLnJlbD1jKX19O1xuU0I9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gbnVsbDtjb25zdCBiPVJlZ0V4cChcIihbLV9hLXpBLVowLTldKylcXFxcKFwiLFwiZ1wiKSxjPVJlZ0V4cChcIlsgXFx0XSooKD86XFxcIig/OlteXFxcXHgwMFxcXCJcXFxcXFxcXFxcXFxuXFxcXHJcXFxcZlxcXFx1MDA4NVxcXFx1MDAwYlxcXFx1MjAyOFxcXFx1MjAyOV0qKVxcXCJ8Jyg/OlteXFxcXHgwMCdcXFxcXFxcXFxcXFxuXFxcXHJcXFxcZlxcXFx1MDA4NVxcXFx1MDAwYlxcXFx1MjAyOFxcXFx1MjAyOV0qKScpfCg/Ols/Ji86PV18WytcXFxcLS4sISMlX2EtekEtWjAtOVxcdF0pKilbIFxcdF0qXCIsXCJnXCIpO2xldCBkPSEwO3ZhciBlPTA7bGV0IGY9XCJcIjtmb3IoO2Q7KXtiLmxhc3RJbmRleD0wO3ZhciBnPWIuZXhlYyhhKTtkPWchPT1udWxsO3ZhciBoPWEsaz12b2lkIDA7aWYoZCl7aWYoZ1sxXT09PXZvaWQgMClyZXR1cm5cInpqc2xheW91dHppbnZhbGlkXCI7YTp7aD1nWzFdO2s9aC50b0xvd2VyQ2FzZSgpO2g9Xy5HeS5leGVjKGgpO2lmKGghPT1udWxsKXtpZihoWzFdPT09dm9pZCAwKXtrPW51bGw7YnJlYWsgYX1rPVxuaFsxXX1rPWs9PVwidXJsXCJ8fGsgaW4gUkI/azpudWxsfWlmKGs9PT1udWxsKXJldHVyblwiempzbGF5b3V0emludmFsaWRcIjtoPWEuc3Vic3RyaW5nKDAsYi5sYXN0SW5kZXgpO2E9YS5zdWJzdHJpbmcoYi5sYXN0SW5kZXgpfWE6aWYoZz1oLGU8MCllPS0xO2Vsc2UgZm9yKHZhciBsPTA7bDxnLmxlbmd0aDtsKyspe2NvbnN0IG09Zy5jaGFyQXQobCk7aWYobT09XCIoXCIpZSsrO2Vsc2UgaWYobT09XCIpXCIpaWYoZT4wKWUtLTtlbHNle2U9LTE7YnJlYWsgYX19aWYoZTwwfHwhXy5GeS50ZXN0KGgpKXJldHVyblwiempzbGF5b3V0emludmFsaWRcIjtmKz1oO2lmKGQmJms9PVwidXJsXCIpe2MubGFzdEluZGV4PTA7Zz1jLmV4ZWMoYSk7aWYoZz09PW51bGx8fGcuaW5kZXghPTApcmV0dXJuXCJ6anNsYXlvdXR6aW52YWxpZFwiO2w9Z1sxXTtpZihsPT09dm9pZCAwKXJldHVyblwiempzbGF5b3V0emludmFsaWRcIjtoPWwubGVuZ3RoPT0wPzA6Yy5sYXN0SW5kZXg7aWYoYS5jaGFyQXQoaCkhPVwiKVwiKXJldHVyblwiempzbGF5b3V0emludmFsaWRcIjtcbmc9XCJcIjtsLmxlbmd0aD4xJiYoXy5WZChsLCdcIicpJiZfLmtuKGwsJ1wiJyk/KGw9bC5zdWJzdHJpbmcoMSxsLmxlbmd0aC0xKSxnPSdcIicpOl8uVmQobCxcIidcIikmJl8ua24obCxcIidcIikmJihsPWwuc3Vic3RyaW5nKDEsbC5sZW5ndGgtMSksZz1cIidcIikpO18uRXkudGVzdChsKXx8KGw9Xy5lbihsKS50b1N0cmluZygpLGw9bD09PV8uY2UudG9TdHJpbmcoKT9cImFib3V0OmludmFsaWQjempzbGF5b3V0elwiOmwpO2lmKGw9PVwiYWJvdXQ6aW52YWxpZCN6anNsYXlvdXR6XCIpcmV0dXJuXCJ6anNsYXlvdXR6aW52YWxpZFwiO2YrPWcrbCtnO2E9YS5zdWJzdHJpbmcoaCl9fXJldHVybiBlIT0wP1wiempzbGF5b3V0emludmFsaWRcIjpmfTtcbllCPWZ1bmN0aW9uKGEsYil7aWYoVEIudGVzdChiKSlyZXR1cm4gYjtiPWIuaW5kZXhPZihcImxlZnRcIik+PTA/Yi5yZXBsYWNlKFVCLFwicmlnaHRcIik6Yi5yZXBsYWNlKFZCLFwibGVmdFwiKTtfLnRhKFdCLGEpJiYoYT1iLnNwbGl0KFhCKSxhLmxlbmd0aD49NCYmKGI9W2FbMF0sYVszXSxhWzJdLGFbMV1dLmpvaW4oXCIgXCIpKSk7cmV0dXJuIGJ9O1xuYUM9ZnVuY3Rpb24oYSxiLGMsZCl7Y29uc3QgZT17fTtlLmhsPV8uSihjLDkpO2lmKF8uUyhiLDE3KT09PTF8fF8uUyhiLDE3KT09PTIpe2NvbnN0IGY9Xy5CZChcImRkXCIpLmo7aWYoZj09PW51bGw/Xy5LKGMsMTApOmYpZS5kbT1cIlwifV8uUyhiLDE3KT09PTImJl8uSyhjLDE0KSYmKGUuYmQ9XCIxXCIpO18uSyhiLDQ0KSYmd2luZG93Lm1hdGNoTWVkaWEoXCJvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDUycHgpXCIpLm1hdGNoZXMmJihlLmltPVwiXCIpO3JldHVybiBuZXcgWkIoYSxiLmdldFVybCgpLF8uSihjLDQpLF8uSihjLDUpLF8uRihjLCRCLDExKSwhIV8uSyhiLDM5KSwhIV8uSyhjLDE4KSxlLGQpfTtiQz1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCl9fTtjQz1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCl9fTtkQz1mdW5jdGlvbihhLGIpe3JldHVybiBfLlAoYSwyLGIpfTtcbmVDPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uTihhLDMsYil9O18uZkM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5IKGEsOSxiKX07Xy5nQz1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCl9eWMoYSl7cmV0dXJuIF8uTSh0aGlzLDEsYSl9fTtoQz1mdW5jdGlvbihhLGIpe3JldHVybiBfLmdrKGEsMjcsYil9O18uaUM9ZnVuY3Rpb24oYSxiKXtfLk4oYSwzMSxiKX07Xy5qQz1mdW5jdGlvbihhLGIpe18uSChhLDUwLGIpfTtrQz1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O2xDPWNsYXNzIGV4dGVuZHMgXy5Re2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07Xy5tQz1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX15YyhhKXtyZXR1cm4gXy5NKHRoaXMsMTEsYSl9fTtfLm5DPWNsYXNzIGV4dGVuZHMgXy5Re2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldFVybCgpe3JldHVybiBfLkYodGhpcyxfLlppLDMpfX07XG5vQz1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O29DLm9hPVsyXTskQj1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O18ucEM9Y2xhc3MgZXh0ZW5kcyBfLlF7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9TGMoYSl7cmV0dXJuIF8uTyh0aGlzLDUsYSl9WGEoYSl7cmV0dXJuIF8uTSh0aGlzLDEwLGEpfX07Xy5wQy5vYT1bMV07XG52YXIgcUM9ZnVuY3Rpb24oYSl7aWYoYS5TYSYmdHlwZW9mIGEuU2E9PVwiZnVuY3Rpb25cIilyZXR1cm4gYS5TYSgpO2lmKHR5cGVvZiBNYXAhPT1cInVuZGVmaW5lZFwiJiZhIGluc3RhbmNlb2YgTWFwfHx0eXBlb2YgU2V0IT09XCJ1bmRlZmluZWRcIiYmYSBpbnN0YW5jZW9mIFNldClyZXR1cm4gQXJyYXkuZnJvbShhLnZhbHVlcygpKTtpZih0eXBlb2YgYT09PVwic3RyaW5nXCIpcmV0dXJuIGEuc3BsaXQoXCJcIik7aWYoXy5ZZihhKSl7Zm9yKHZhciBiPVtdLGM9YS5sZW5ndGgsZD0wO2Q8YztkKyspYi5wdXNoKGFbZF0pO3JldHVybiBifXJldHVybiBfLnVoKGEpfSxyQz1mdW5jdGlvbihhKXtpZihhLm9iJiZ0eXBlb2YgYS5vYj09XCJmdW5jdGlvblwiKXJldHVybiBhLm9iKCk7aWYoIWEuU2F8fHR5cGVvZiBhLlNhIT1cImZ1bmN0aW9uXCIpe2lmKHR5cGVvZiBNYXAhPT1cInVuZGVmaW5lZFwiJiZhIGluc3RhbmNlb2YgTWFwKXJldHVybiBBcnJheS5mcm9tKGEua2V5cygpKTtpZighKHR5cGVvZiBTZXQhPT1cblwidW5kZWZpbmVkXCImJmEgaW5zdGFuY2VvZiBTZXQpKXtpZihfLllmKGEpfHx0eXBlb2YgYT09PVwic3RyaW5nXCIpe3ZhciBiPVtdO2E9YS5sZW5ndGg7Zm9yKHZhciBjPTA7YzxhO2MrKyliLnB1c2goYyk7cmV0dXJuIGJ9Yj1bXTtjPTA7Zm9yKGNvbnN0IGQgaW4gYSliW2MrK109ZDtyZXR1cm4gYn19fSxzQz1mdW5jdGlvbihhLGIpe2Eua2I9YjthLmkmJihhLmk9ITAsYS5rYiYmYS5rYi5ub3RpZnkoKSl9LHRDPWZ1bmN0aW9uKGEsYixjPW51bGwsZD1udWxsLGU9bnVsbCxmPW51bGwsZz1udWxsLGg9bmV3IF8uTGMpe2NvbnN0IGs9YS5pPzEwMzoxNDtjPV8uUHMoMyxkLGUsYixjLGYsZyk7Xy5IKGgsNDcsYyk7Xy5PKGgsMTgsYik7Xy5PcyhhLGssaCl9LFBCPVwiYWx0ZXJuYXRlIGF1dGhvciBib29rbWFyayBjYW5vbmljYWwgY2l0ZSBoZWxwIGljb24gbGljZW5zZSBtb2R1bGVwcmVsb2FkIG5leHQgcHJlZmV0Y2ggZG5zLXByZWZldGNoIHByZXJlbmRlciBwcmVjb25uZWN0IHByZWxvYWQgcHJldiBzZWFyY2ggc3VicmVzb3VyY2VcIi5zcGxpdChcIiBcIiksXG51Qz1mdW5jdGlvbihhKXtyZXR1cm4gYT1fLnNuKGEpfSx2Qz1mdW5jdGlvbihhKXtyZXR1cm4oYT1fLmRnKGRvY3VtZW50LGEpKT9hOm51bGx9LHdDPWZ1bmN0aW9uKGEpe3JldHVybiBhLmNvbnRlbnREb2N1bWVudHx8YS5jb250ZW50V2luZG93LmRvY3VtZW50fSx4Qz1mdW5jdGlvbihhLGIpe2lmKGEuZm9yRWFjaCYmdHlwZW9mIGEuZm9yRWFjaD09XCJmdW5jdGlvblwiKWEuZm9yRWFjaChiLHZvaWQgMCk7ZWxzZSBpZihfLllmKGEpfHx0eXBlb2YgYT09PVwic3RyaW5nXCIpQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChhLGIsdm9pZCAwKTtlbHNlIGZvcih2YXIgYz1yQyhhKSxkPXFDKGEpLGU9ZC5sZW5ndGgsZj0wO2Y8ZTtmKyspYi5jYWxsKHZvaWQgMCxkW2ZdLGMmJmNbZl0sYSl9LHlDPWZ1bmN0aW9uKCl7dGhpcy5pPW5ldyBYRG9tYWluUmVxdWVzdDt0aGlzLnJlYWR5U3RhdGU9MDt0aGlzLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsO3RoaXMucmVzcG9uc2VUeXBlPXRoaXMucmVzcG9uc2VUZXh0PVxudGhpcy5yZXNwb25zZT1cIlwiO3RoaXMuc3RhdHVzPS0xO3RoaXMuc3RhdHVzVGV4dD1cIlwiO3RoaXMuaS5vbmxvYWQ9KDAsXy56KSh0aGlzLk1mLHRoaXMpO3RoaXMuaS5vbmVycm9yPSgwLF8ueikodGhpcy5yZSx0aGlzKTt0aGlzLmkub25wcm9ncmVzcz0oMCxfLnopKHRoaXMuUWcsdGhpcyk7dGhpcy5pLm9udGltZW91dD0oMCxfLnopKHRoaXMuUmcsdGhpcyl9O18ubj15Qy5wcm90b3R5cGU7Xy5uLm9wZW49ZnVuY3Rpb24oYSxiLGMpe2lmKGMhPW51bGwmJiFjKXRocm93IEVycm9yKFwidmFcIik7dGhpcy5pLm9wZW4oYSxiKX07Xy5uLnNlbmQ9ZnVuY3Rpb24oYSl7aWYoYSlpZih0eXBlb2YgYT09XCJzdHJpbmdcIil0aGlzLmkuc2VuZChhKTtlbHNlIHRocm93IEVycm9yKFwid2FcIik7ZWxzZSB0aGlzLmkuc2VuZCgpfTtfLm4uYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLmkuYWJvcnQoKX07Xy5uLnNldFJlcXVlc3RIZWFkZXI9ZnVuY3Rpb24oKXt9O1xuXy5uLmdldFJlc3BvbnNlSGVhZGVyPWZ1bmN0aW9uKGEpe3JldHVybiBhLnRvTG93ZXJDYXNlKCk9PVwiY29udGVudC10eXBlXCI/dGhpcy5pLmNvbnRlbnRUeXBlOlwiXCJ9O18ubi5NZj1mdW5jdGlvbigpe3RoaXMuc3RhdHVzPTIwMDt0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0PXRoaXMuaS5yZXNwb25zZVRleHQ7ekModGhpcyw0KX07Xy5uLnJlPWZ1bmN0aW9uKCl7dGhpcy5zdGF0dXM9NTAwO3RoaXMucmVzcG9uc2U9dGhpcy5yZXNwb25zZVRleHQ9XCJcIjt6Qyh0aGlzLDQpfTtfLm4uUmc9ZnVuY3Rpb24oKXt0aGlzLnJlKCl9O18ubi5RZz1mdW5jdGlvbigpe3RoaXMuc3RhdHVzPTIwMDt6Qyh0aGlzLDEpfTt2YXIgekM9ZnVuY3Rpb24oYSxiKXthLnJlYWR5U3RhdGU9YjtpZihhLm9ucmVhZHlzdGF0ZWNoYW5nZSlhLm9ucmVhZHlzdGF0ZWNoYW5nZSgpfTtcbnlDLnByb3RvdHlwZS5nZXRBbGxSZXNwb25zZUhlYWRlcnM9ZnVuY3Rpb24oKXtyZXR1cm5cImNvbnRlbnQtdHlwZTogXCIrdGhpcy5pLmNvbnRlbnRUeXBlfTt2YXIgQUM9ZnVuY3Rpb24oKXt9O18uQyhBQyxfLm5sKTtBQy5wcm90b3R5cGUuaT1mdW5jdGlvbigpe2NvbnN0IGE9bmV3IFhNTEh0dHBSZXF1ZXN0O2lmKFwid2l0aENyZWRlbnRpYWxzXCJpbiBhKXJldHVybiBhO2lmKHR5cGVvZiBYRG9tYWluUmVxdWVzdCE9XCJ1bmRlZmluZWRcIilyZXR1cm4gbmV3IHlDO3Rocm93IEVycm9yKFwidWFcIik7fTtBQy5wcm90b3R5cGUuaj1mdW5jdGlvbigpe3JldHVybnt9fTtcbnZhciBCQz17fSxDQyxEQz0wLEVDPWZ1bmN0aW9uKGEsYil7Y29uc3QgYz1fLm9nKGEpO3hDKGIsZnVuY3Rpb24oZCxlKXtBcnJheS5pc0FycmF5KGQpfHwoZD1bZF0pO18uV2IoZCxmdW5jdGlvbihmKXtmPWMuZWIoXCJJTlBVVFwiLHt0eXBlOlwiaGlkZGVuXCIsbmFtZTplLHZhbHVlOmZ9KTthLmFwcGVuZENoaWxkKGYpfSl9KX0sRkM9ZnVuY3Rpb24oKXtfLlcuY2FsbCh0aGlzKTt0aGlzLmk9XCJjbG9zdXJlX2ZyYW1lXCIrREMrKzt0aGlzLmo9W107QkNbdGhpcy5pXT10aGlzfTtfLkMoRkMsXy5XKTtfLm49RkMucHJvdG90eXBlO18ubi5FYT1udWxsO18ubi5oYj1udWxsO18ubi5HYz1udWxsO18ubi5oaD0wO18ubi5CYj0hMTtfLm4uSWQ9ITE7Xy5uLllkPW51bGw7Xy5uLnFjPW51bGw7XG5fLm4uc2VuZD1mdW5jdGlvbihhLGIsYyxkKXtpZih0aGlzLkJiKXRocm93IEVycm9yKFwieGFcIik7YT1uZXcgXy5NbihhKTtiPWI/Yi50b1VwcGVyQ2FzZSgpOlwiR0VUXCI7YyYmXy5ibyhhLFwienhcIixNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjE0NzQ4MzY0OCkudG9TdHJpbmcoMzYpK01hdGguYWJzKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoyMTQ3NDgzNjQ4KV5EYXRlLm5vdygpKS50b1N0cmluZygzNikpO0NDfHwoQ0M9Xy5FeChcIkZPUk1cIiksQ0MuYWNjZXB0Q2hhcnNldD1cInV0Zi04XCIsYz1DQy5zdHlsZSxjLnBvc2l0aW9uPVwiYWJzb2x1dGVcIixjLnZpc2liaWxpdHk9XCJoaWRkZW5cIixjLnRvcD1jLmxlZnQ9XCItMTBweFwiLGMud2lkdGg9Yy5oZWlnaHQ9XCIxMHB4XCIsYy5vdmVyZmxvdz1cImhpZGRlblwiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoQ0MpKTt0aGlzLkVhPUNDO2I9PVwiR0VUXCImJkVDKHRoaXMuRWEsYS5pKTtkJiZFQyh0aGlzLkVhLGQpO2M9YS50b1N0cmluZygpO2M9XG5fLmJ4KGMpO2Q9dGhpcy5FYTtjPV8uTWQobmV3IF8uRWQoYykpO2QuYWN0aW9uPWM9PT12b2lkIDA/Xy5jZS50b1N0cmluZygpOmM7dGhpcy5FYS5tZXRob2Q9Yjt0aGlzLkJiPSEwO3RoaXMuR2M9dGhpcy5pK1wiX1wiKyh0aGlzLmhoKyspLnRvU3RyaW5nKDM2KTt0aGlzLmhiPV8ub2codGhpcy5FYSkuZWIoXCJJRlJBTUVcIix7bmFtZTp0aGlzLkdjLGlkOnRoaXMuR2N9KTtiPXRoaXMuaGIuc3R5bGU7Yi52aXNpYmlsaXR5PVwiaGlkZGVuXCI7Yi53aWR0aD1iLmhlaWdodD1cIjEwcHhcIjtiLmRpc3BsYXk9XCJub25lXCI7Xy5iYz9iLm1hcmdpblRvcD1iLm1hcmdpbkxlZnQ9XCItMTBweFwiOihiLnBvc2l0aW9uPVwiYWJzb2x1dGVcIixiLnRvcD1iLmxlZnQ9XCItMTBweFwiKTtfLm9nKHRoaXMuRWEpLmkuYm9keS5hcHBlbmRDaGlsZCh0aGlzLmhiKTtiPXRoaXMuR2MrXCJfaW5uZXJcIjtkPXdDKHRoaXMuaGIpO2RvY3VtZW50LmJhc2VVUkk/KGM9dUMoYiksYz1fLk5sKCc8aGVhZD48YmFzZSBocmVmPVwiJyt1Qyhkb2N1bWVudC5iYXNlVVJJKStcbidcIj48L2hlYWQ+PGJvZHk+PGlmcmFtZSBpZD1cIicrYysnXCIgbmFtZT1cIicrYysnXCI+PC9pZnJhbWU+JykpOihjPXVDKGIpLGM9Xy5ObCgnPGJvZHk+PGlmcmFtZSBpZD1cIicrYysnXCIgbmFtZT1cIicrYysnXCI+PC9pZnJhbWU+JykpO2Qud3JpdGUoXy5sZShjKSk7Xy5kZihkLmdldEVsZW1lbnRCeUlkKGIpLFwibG9hZFwiLHRoaXMuRmQsITEsdGhpcyk7Yz1fLiRpKFwiVEVYVEFSRUFcIix0aGlzLkVhKTtmb3IobGV0IGY9MCxnPWMubGVuZ3RoO2Y8ZztmKyspe3ZhciBlPWNbZl0udmFsdWU7YT1bXTtfLkh4KGNbZl0sYSwhMSk7YS5qb2luKFwiXCIpIT1lJiYoXy52ZShjW2ZdLGUpLGNbZl0udmFsdWU9ZSl9Yz1kLmltcG9ydE5vZGUodGhpcy5FYSwhMCk7Yy50YXJnZXQ9YjtjLmFjdGlvbj10aGlzLkVhLmFjdGlvbjtkLmJvZHkuYXBwZW5kQ2hpbGQoYyk7YT1fLiRpKFwiU0VMRUNUXCIsdGhpcy5FYSk7ZT1fLiRpKFwiU0VMRUNUXCIsYyk7Zm9yKGxldCBmPTAsZz1hLmxlbmd0aDtmPGc7ZisrKXtjb25zdCBoPVxuXy4kaShcIk9QVElPTlwiLGFbZl0pLGs9Xy4kaShcIk9QVElPTlwiLGVbZl0pO2ZvcihsZXQgbD0wLG09aC5sZW5ndGg7bDxtO2wrKylrW2xdLnNlbGVjdGVkPWhbbF0uc2VsZWN0ZWR9YT1fLiRpKFwiSU5QVVRcIix0aGlzLkVhKTtlPV8uJGkoXCJJTlBVVFwiLGMpO2ZvcihsZXQgZj0wLGc9YS5sZW5ndGg7ZjxnO2YrKylpZihhW2ZdLnR5cGU9PVwiZmlsZVwiJiZhW2ZdLnZhbHVlIT1lW2ZdLnZhbHVlKXt0aGlzLkVhLnRhcmdldD1iO2M9dGhpcy5FYTticmVha310cnl7dGhpcy5BPSExLGMuc3VibWl0KCksZC5jbG9zZSgpLF8uYWMmJl8ucmcodGhpcy5CLDI1MCx0aGlzKX1jYXRjaChmKXtfLmxmKGQuZ2V0RWxlbWVudEJ5SWQoYiksXCJsb2FkXCIsdGhpcy5GZCwhMSx0aGlzKSxkLmNsb3NlKCksR0ModGhpcyl9SEModGhpcyl9O1xuXy5uLmFib3J0PWZ1bmN0aW9uKCl7aWYodGhpcy5CYil7dmFyIGE9SUModGhpcyk7aWYoYSlpZihfLlRlKGEpKWEuWmEmJl8uYWcoYS5aYSk7ZWxzZSBpZihhPV8uZ2YoYSkpe3ZhciBiPTAsYztmb3IoYyBpbiBhLmkpZm9yKHZhciBkPWEuaVtjXS5jb25jYXQoKSxlPTA7ZTxkLmxlbmd0aDsrK2UpXy5tZihkW2VdKSYmKytifXRoaXMuSWQ9dGhpcy5CYj0hMTt0aGlzLmRpc3BhdGNoRXZlbnQoXCJhYm9ydFwiKTtKQyh0aGlzKX19O18ubi5SPWZ1bmN0aW9uKCl7dGhpcy5CYiYmdGhpcy5hYm9ydCgpO0ZDLlcuUi5jYWxsKHRoaXMpO3RoaXMuaGImJktDKHRoaXMpO0hDKHRoaXMpO2RlbGV0ZSB0aGlzLnY7dGhpcy5ZZD10aGlzLkVhPW51bGw7ZGVsZXRlIEJDW3RoaXMuaV19O18ubi5IYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLklkfTtfLm4uaXNBY3RpdmU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5CYn07Xy5uLnhkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuWWR9O1xuXy5uLkZkPWZ1bmN0aW9uKCl7Xy5sZihJQyh0aGlzKSxcImxvYWRcIix0aGlzLkZkLCExLHRoaXMpO3RyeXt2YXIgYT10aGlzLmhiP3dDKElDKHRoaXMpKTpudWxsO3RoaXMuQmI9ITE7bGV0IGI7dHJ5e2NvbnN0IGQ9YS5ib2R5O3RoaXMuWWQ9ZC50ZXh0Q29udGVudHx8ZC5pbm5lclRleHR9Y2F0Y2goZCl7Yj0xfWxldCBjO2J8fHR5cGVvZiB0aGlzLnYhPVwiZnVuY3Rpb25cInx8KGM9dGhpcy52KGEpKSYmKGI9NCk7Yj9HQyh0aGlzKToodGhpcy5JZD0hMCx0aGlzLmRpc3BhdGNoRXZlbnQoXCJjb21wbGV0ZVwiKSx0aGlzLmRpc3BhdGNoRXZlbnQoXCJzdWNjZXNzXCIpLEpDKHRoaXMpKX1jYXRjaChiKXtHQyh0aGlzKX19O1xudmFyIEdDPWZ1bmN0aW9uKGEpe2EuQXx8KGEuSWQ9ITEsYS5CYj0hMSxhLmRpc3BhdGNoRXZlbnQoXCJjb21wbGV0ZVwiKSxhLmRpc3BhdGNoRXZlbnQoXCJlcnJvclwiKSxKQyhhKSxhLkE9ITApfSxKQz1mdW5jdGlvbihhKXtLQyhhKTtIQyhhKTthLkVhPW51bGw7YS5kaXNwYXRjaEV2ZW50KFwicmVhZHlcIil9LEtDPWZ1bmN0aW9uKGEpe2NvbnN0IGI9YS5oYjtiJiYoYi5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbCxiLm9ubG9hZD1udWxsLGIub25lcnJvcj1udWxsLGEuai5wdXNoKGIpKTthLnFjJiYoXy5zZyhhLnFjKSxhLnFjPW51bGwpO18uYWM/YS5xYz1fLnJnKGEubywyRTMsYSk6YS5vKCk7YS5oYj1udWxsO2EuR2M9bnVsbH07RkMucHJvdG90eXBlLm89ZnVuY3Rpb24oKXt0aGlzLnFjJiYoXy5zZyh0aGlzLnFjKSx0aGlzLnFjPW51bGwpO2Zvcig7dGhpcy5qLmxlbmd0aCE9MDspe2NvbnN0IGE9dGhpcy5qLnBvcCgpO18ubGcoYSl9fTtcbnZhciBIQz1mdW5jdGlvbihhKXthLkVhJiZhLkVhPT1DQyYmXy5zZShhLkVhKX0sSUM9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuaGI/d0MoYS5oYikuZ2V0RWxlbWVudEJ5SWQoYS5HYytcIl9pbm5lclwiKTpudWxsfTtGQy5wcm90b3R5cGUuQj1mdW5jdGlvbigpe2lmKHRoaXMuQmIpe2NvbnN0IGE9dGhpcy5oYj93QyhJQyh0aGlzKSk6bnVsbDthJiYhXy5OZShhLFwiZG9jdW1lbnRVcmlcIik/KF8ubGYoSUModGhpcyksXCJsb2FkXCIsdGhpcy5GZCwhMSx0aGlzKSxHQyh0aGlzKSk6Xy5yZyh0aGlzLkIsMjUwLHRoaXMpfX07TEM9ZnVuY3Rpb24oYSl7Y29uc3QgYj1jPT5lbmNvZGVVUklDb21wb25lbnQoYykucmVwbGFjZSgvWyEoKX4nXXwoJTIwKS9nLGQ9Pih7XCIhXCI6XCIlMjFcIixcIihcIjpcIiUyOFwiLFwiKVwiOlwiJTI5XCIsXCIlMjBcIjpcIitcIixcIidcIjpcIiUyN1wiLFwiflwiOlwiJTdFXCJ9KVtkXSk7cmV0dXJuIEFycmF5LmZyb20oYSxjPT5iKGNbMF0pK1wiPVwiK2IoY1sxXSkpLmpvaW4oXCImXCIpfTtcbk1DPWZ1bmN0aW9uKGEpe2NvbnN0IGI9Xy5yZShcIkFcIik7bGV0IGM7dHJ5e18uaWgoYixuZXcgXy5FZChhKSksYz1iLnByb3RvY29sfWNhdGNoKGUpe3Rocm93IEVycm9yKFwieWFgXCIrYSk7fWlmKGM9PT1cIlwifHxjPT09XCI6XCJ8fGNbYy5sZW5ndGgtMV0hPVwiOlwiKXRocm93IEVycm9yKFwieWFgXCIrYSk7aWYoIV8udG8uaGFzKGMpKXRocm93IEVycm9yKFwieWFgXCIrYSk7aWYoIWIuaG9zdG5hbWUpdGhyb3cgRXJyb3IoXCJ5YWBcIithKTtjb25zdCBkPWIuaHJlZjthPXtocmVmOmQscHJvdG9jb2w6Yi5wcm90b2NvbCx1c2VybmFtZTpcIlwiLHBhc3N3b3JkOlwiXCIsaG9zdG5hbWU6Yi5ob3N0bmFtZSxwYXRobmFtZTpcIi9cIitiLnBhdGhuYW1lLHNlYXJjaDpiLnNlYXJjaCxoYXNoOmIuaGFzaCx0b1N0cmluZzooKT0+ZH07Xy50by5nZXQoYi5wcm90b2NvbCk9PT1iLnBvcnQ/KGEuaG9zdD1hLmhvc3RuYW1lLGEucG9ydD1cIlwiLGEub3JpZ2luPWEucHJvdG9jb2wrXCIvL1wiK2EuaG9zdG5hbWUpOihhLmhvc3Q9XG5iLmhvc3QsYS5wb3J0PWIucG9ydCxhLm9yaWdpbj1hLnByb3RvY29sK1wiLy9cIithLmhvc3RuYW1lK1wiOlwiK2EucG9ydCk7cmV0dXJuIGF9O1xuTkM9ZnVuY3Rpb24oYSl7aWYoXy5zbyl7e3RyeXt2YXIgYj1uZXcgXy5xbyhhKX1jYXRjaChkKXt0aHJvdyBFcnJvcihcInlhYFwiK2EpO31jb25zdCBjPV8udG8uZ2V0KGIucHJvdG9jb2wpO2lmKCFjKXRocm93IEVycm9yKFwieWFgXCIrYSk7aWYoIWIuaG9zdG5hbWUpdGhyb3cgRXJyb3IoXCJ5YWBcIithKTtiLm9yaWdpbj09XCJudWxsXCImJihhPXtocmVmOmIuaHJlZixwcm90b2NvbDpiLnByb3RvY29sLHVzZXJuYW1lOlwiXCIscGFzc3dvcmQ6XCJcIixob3N0OmIuaG9zdCxwb3J0OmIucG9ydCxob3N0bmFtZTpiLmhvc3RuYW1lLHBhdGhuYW1lOmIucGF0aG5hbWUsc2VhcmNoOmIuc2VhcmNoLGhhc2g6Yi5oYXNofSxhLm9yaWdpbj1jPT09Yi5wb3J0P2IucHJvdG9jb2wrXCIvL1wiK2IuaG9zdG5hbWU6Yi5wcm90b2NvbCtcIi8vXCIrYi5ob3N0bmFtZStcIjpcIitiLnBvcnQsYj1hKX19ZWxzZSBiPU1DKGEpO3JldHVybiBifTtcbk9DPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcpe2NvbnN0IGg9e307aC5wPWM7aC5nPWI7aC5hPWQ7aC5hdD1lO2guZWlkPWY7aC5waWQ9MTtpZihnKWcuc3RhcnRzV2l0aChcIj09PT09PT09PT1cIik/aC50az1nLnN1YnN0cmluZygxMCxnLmxlbmd0aCk6aC50PWc7ZWxzZSByZXR1cm4gYS5sb2coRXJyb3IoXCJBYVwiKSksbnVsbDtyZXR1cm4gaH07XG5QQz1mdW5jdGlvbihhLGIsYyxkLGUsZil7aWYoYSl7ZT1OQyhlKyhkP1wiZ1wiOlwielwiKSk7Yz1bW1wib3BpXCIsY11dO2QmJmImJmMucHVzaChbXCJhdXRodXNlclwiLGJdKTtkPXtzZWFyY2hQYXJhbXM6Y307Yj17fTtlJiYoYi5wcm90b2NvbD1lLnByb3RvY29sLGIudXNlcm5hbWU9ZS51c2VybmFtZSxiLnBhc3N3b3JkPWUucGFzc3dvcmQsYi5ob3N0bmFtZT1lLmhvc3RuYW1lLGIucG9ydD1lLnBvcnQsYi5wYXRobmFtZT1lLnBhdGhuYW1lLGIuc2VhcmNoPWUuc2VhcmNoLGIuaGFzaD1lLmhhc2gpO09iamVjdC5hc3NpZ24oYixkKTtpZihiLnBvcnQmJmIucG9ydFswXT09PVwiOlwiKXRocm93IEVycm9yKFwiemFcIik7Yi5oYXNoJiZiLmhhc2hbMF0hPVwiI1wiJiYoYi5oYXNoPVwiI1wiK2IuaGFzaCk7ZC5zZWFyY2g/ZC5zZWFyY2hbMF0hPVwiP1wiJiYoYi5zZWFyY2g9XCI/XCIrZC5zZWFyY2gpOmQuc2VhcmNoUGFyYW1zJiYoYi5zZWFyY2g9XCI/XCIrTEMoZC5zZWFyY2hQYXJhbXMpLGIuc2VhcmNoUGFyYW1zPVxudm9pZCAwKTtjPVwiXCI7Yi5wcm90b2NvbCYmKGMrPWIucHJvdG9jb2wrXCIvL1wiKTtlPWIudXNlcm5hbWU7ZD1iLnBhc3N3b3JkO2M9YysoZSYmZD9lK1wiOlwiK2QrXCJAXCI6ZT9lK1wiQFwiOmQ/XCI6XCIrZCtcIkBcIjpcIlwiKSsoYi5ob3N0bmFtZXx8XCJcIik7Yi5wb3J0JiYoYys9XCI6XCIrYi5wb3J0KTtjKz1iLnBhdGhuYW1lfHxcIlwiO2MrPWIuc2VhcmNofHxcIlwiO2MrPWIuaGFzaHx8XCJcIjtlPU5DKGMpLnRvU3RyaW5nKCk7dHJ5e18ucGw9bmV3IEFDO2I9W107Zm9yKHZhciBnIGluIGEpYS5oYXNPd25Qcm9wZXJ0eShnKSYmYi5wdXNoKGcrXCI9XCIrYVtnXSk7Xy5EbChlLGYsXCJQT1NUXCIsYi5qb2luKFwiJlwiKSxudWxsLHZvaWQgMCwhMCl9Y2F0Y2goaCl7Zj1lLGc9bmV3IEZDLF8uZGYoZyxcInJlYWR5XCIsZy5kaXNwb3NlLCExLGcpLGcuc2VuZChmLFwiUE9TVFwiLCExLGEpfX19O1FDPWNsYXNzIGV4dGVuZHMgXy5QZXtjb25zdHJ1Y3RvcihhKXtzdXBlcihcInNtdVwiKTt0aGlzLkRoPWF9fTtcblNDPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE7dGhpcy5pPWJ9bmMoKXtyZXR1cm4gdGhpcy5pfUsoKXtyZXR1cm4gdGhpcy5qfVAoYSl7UkModGhpcy5pLGEpfVhhKGEpe3RoaXMuaS5YYShhKX1xYSgpe3JldHVybiEwfUIoKXtyZXR1cm4gdGhpcy5pLmlzVmlzaWJsZSgpfUZhKCl7fVQoYSl7dmFyIGI9dGhpcy5pO2NvbnN0IGM9e30sZD1fLksoYi5pLDExKSxlPV8uVChiLmksOCk7YXx8ZD8oYy5sZWZ0PTAsYy5yaWdodD1cIlwiLGUmJihjW1wibWFyZ2luLWxlZnRcIl09ZStcInB4XCIsY1tcIm1hcmdpbi1yaWdodFwiXT1cIlwiKSk6KGMucmlnaHQ9MCxjLmxlZnQ9XCJcIixlJiYoY1tcIm1hcmdpbi1yaWdodFwiXT1lK1wicHhcIixjW1wibWFyZ2luLWxlZnRcIl09XCJcIikpO18uWChiLkIsYyl9fTtcblJCPXtibHVyOiEwLGJyaWdodG5lc3M6ITAsY2FsYzohMCxjaXJjbGU6ITAsY2xhbXA6ITAsXCJjb25pYy1ncmFkaWVudFwiOiEwLGNvbnRyYXN0OiEwLGNvdW50ZXI6ITAsY291bnRlcnM6ITAsXCJjdWJpYy1iZXppZXJcIjohMCxcImRyb3Atc2hhZG93XCI6ITAsZWxsaXBzZTohMCxncmF5c2NhbGU6ITAsaHNsOiEwLGhzbGE6ITAsXCJodWUtcm90YXRlXCI6ITAsaW5zZXQ6ITAsaW52ZXJ0OiEwLG9wYWNpdHk6ITAsXCJsaW5lYXItZ3JhZGllbnRcIjohMCxtYXRyaXg6ITAsbWF0cml4M2Q6ITAsbWF4OiEwLG1pbm1heDohMCxwb2x5Z29uOiEwLFwicmFkaWFsLWdyYWRpZW50XCI6ITAscmdiOiEwLHJnYmE6ITAscmVjdDohMCxyZXBlYXQ6ITAscm90YXRlOiEwLHJvdGF0ZTNkOiEwLHJvdGF0ZXg6ITAscm90YXRleTohMCxyb3RhdGV6OiEwLHNhdHVyYXRlOiEwLHNlcGlhOiEwLHNjYWxlOiEwLHNjYWxlM2Q6ITAsc2NhbGV4OiEwLHNjYWxleTohMCxzY2FsZXo6ITAsc3RlcHM6ITAsc2tldzohMCxza2V3eDohMCxcbnNrZXd5OiEwLHRyYW5zbGF0ZTohMCx0cmFuc2xhdGUzZDohMCx0cmFuc2xhdGV4OiEwLHRyYW5zbGF0ZXk6ITAsdHJhbnNsYXRlejohMCxcInZhclwiOiEwfTtUQj0vWydcIlxcKF0vO1dCPVtcImJvcmRlci1jb2xvclwiLFwiYm9yZGVyLXN0eWxlXCIsXCJib3JkZXItd2lkdGhcIixcIm1hcmdpblwiLFwicGFkZGluZ1wiXTtVQj0vbGVmdC9nO1ZCPS9yaWdodC9nO1hCPS9cXHMrLztUQz0vXFwvd2lkZ2V0XFwvKC4rPykoXFwvfFxcP3wkKS87XG5VQz1mdW5jdGlvbihhLGIsYyxkPXt9LGU9ITEsZj1udWxsLGc9bnVsbCl7aWYoIWEuRyl7dmFyIGg9Xy5yZShcIklGUkFNRVwiKTtoLnNldEF0dHJpYnV0ZShcInJvbGVcIixcInByZXNlbnRhdGlvblwiKTtfLlgoaCxcImhlaWdodFwiLFwiMTAwJVwiKTtfLlgoaCxcIndpZHRoXCIsXCIxMDAlXCIpO18uWChoLFwiY29sb3Itc2NoZW1lXCIsXCJsaWdodFwiKTtfLlgoaCxcInZpc2liaWxpdHlcIixcImhpZGRlblwiKTtoLmZyYW1lQm9yZGVyPTA7aC5zY3JvbGxpbmc9XCJub1wiO2guYWRkRXZlbnRMaXN0ZW5lcihcImxvYWRcIixiKTtiPWEuaTtoLm5hbWU9Yjt2YXIgaz1lP18uTEI6YS5nZXRVcmwoZCk7aC5zcmM9Xy4kZChrKS50b1N0cmluZygpO2Euai5hcHBlbmRDaGlsZChoKTtpZihlKXtlPV8ucmUoXCJGT1JNXCIpO2UubWV0aG9kPVwiUE9TVFwiO2UudGFyZ2V0PWI7ZS5zdHlsZS5kaXNwbGF5PVwibm9uZVwiO2I9ZTtrPV8uZW4oYS5nZXRVcmwoKS50b1N0cmluZygpKTtrPV8uTWQoayk7ayE9PXZvaWQgMCYmKGIuYWN0aW9uPWspO1xuZiYmKGQuX2VkPWYuR2EoKSk7ZyYmKGQuX2NycD1nLkdhKCkpO2Zvcihjb25zdCBbbCxtXW9mIE9iamVjdC5lbnRyaWVzKGQpKWQ9bCxmPW0sZz1fLnJlKFwiSU5QVVRcIiksZy50eXBlPVwiaGlkZGVuXCIsZy5uYW1lPWQsZy52YWx1ZT1mLGUuYXBwZW5kQ2hpbGQoZyk7YS5qLmFwcGVuZENoaWxkKGUpO2Uuc3VibWl0KCk7YS5qLnJlbW92ZUNoaWxkKGUpfWEuRz1fLnd5KHtkZXN0aW5hdGlvbjp3aW5kb3csSGE6aCxvcmlnaW46YS5CLENjOlwib2dpX1wiK2EuaSxvbk1lc3NhZ2U6Y30pO2Eudj1ofX07VkM9ZnVuY3Rpb24oYSxiKXtpZihhLm8pcmV0dXJuIGEubzthLm89Xy53eSh7ZGVzdGluYXRpb246d2luZG93LEhhOmEudixvcmlnaW46YS5CLENjOlwib2dkX1wiK2EuaSxvbk1lc3NhZ2U6Yn0pO3JldHVybiBhLm99O1dDPWZ1bmN0aW9uKGEpe3JldHVybiBhLnY/YS52Om51bGx9O1xuWEM9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCxlKXt0aGlzLmo9YTt0aGlzLkE9Yjt0aGlzLkM9Yzt0aGlzLkY9ZDt0aGlzLkQ9ZT9lOjA7YT1fLiRkKHRoaXMuQSkudG9TdHJpbmcoKS5tYXRjaChfLkNqKTt0aGlzLkI9Xy5LbihhWzFdLG51bGwsYVszXSxhWzRdKTt0aGlzLmk9KGE9VEMuZXhlYyhfLiRkKHRoaXMuZ2V0VXJsKHZvaWQgMCkpLnRvU3RyaW5nKCkpKT9hWzFdOlwiXCJ9Z2V0VXJsKGEpe3ZhciBiPWAke2RvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sfS8vJHtkb2N1bWVudC5sb2NhdGlvbi5ob3N0fWA7Yj09PVwiY2hyb21lLXVudHJ1c3RlZDovL25ldy10YWItcGFnZVwiJiYoYj1bXCJjaHJvbWUtdW50cnVzdGVkOi8vbmV3LXRhYi1wYWdlXCIsXCJjaHJvbWU6Ly9uZXctdGFiLXBhZ2VcIl0pO2I9e29yaWdpbjpifTt0aGlzLmkmJihiLmNuPXRoaXMuaSk7dGhpcy5DIT09MCYmKGIucGlkPXRoaXMuQyk7dGhpcy5EIT09MCYmKGIuc3BpZD10aGlzLkQpO3RoaXMuRiYmKGIuY29lcD1cbjEpO2I9Xy5obih0aGlzLkEsYik7YSYmKGI9Xy5obihiLGEpKTtyZXR1cm4gYn19OyRDPWZ1bmN0aW9uKGEpe1pDfHwoWkM9YSxfLllDfHwoXy5ZQz1uZXcgXy5QdSksXy5ZQy5yZXNvbHZlKGEpKX07YkQ9ZnVuY3Rpb24oYSl7aWYoYS5qKXt2YXIgYj1hLkcuZ2V0KGEuaik7YS5vJiZhLm8hPT1cIlwiJiZiJiZhLkMuc2V0QXR0cmlidXRlKFwiYXJpYS1sYWJlbFwiLGEubytcIiwgXCIrYil9fTtjRD1mdW5jdGlvbihhLGIpe18uWShfLlUoXCJnYl9xXCIpLFwiZ2JfcGFcIixiKTtfLlkoYS5CLFwiZ2JfbVwiLCFiKX07ZEQ9ZnVuY3Rpb24oYSl7YS5vJiZhLm8hPT1cIlwiJiZhLkMuc2V0QXR0cmlidXRlKFwiYXJpYS1sYWJlbFwiLGEubyl9O2VEPWZ1bmN0aW9uKGEsYil7YS5pLmdldChiKXx8YS52fHwoYS5pLnNldChiLCEwKSxhLmo9PT1iJiYoY0QoYSwhMSksZEQoYSksYS5qPW51bGwpLGI9PT1cImNcIiYmYUQmJmFEKCkpfTtcbmZEPWZ1bmN0aW9uKGEsYil7YS5pLmdldChiKXx8YS52fHwoYS5qPWIsYkQoYSksXy5ZKF8uVShcImdiX2xhXCIpLFwiZ2JfbmFcIixiPT09XCJjXCJ8fGI9PT1cInNjXCIpLGNEKGEsITApKX07Z0Q9ZnVuY3Rpb24oYSl7aWYoIWEudil7YS5CLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYS5CKTt2YXIgYj1fLlUoXCJnYl9wYVwiKTtiJiZfLkhlKGIsXCJnYl9wYVwiKTtkRChhKTthLnY9ITA7YS5ELkpkKGEuRil9fTtcbmhEPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLkI9Xy5VKFwiZ2JfclwiKTt0aGlzLkM9Xy5VKFwiZ2JfemFcIik7dGhpcy5BPXRoaXMudj0hMTt0aGlzLko9Yzt0aGlzLkc9Yjt0aGlzLm89dGhpcy5DLmdldEF0dHJpYnV0ZShcImFyaWEtbGFiZWxcIik7dGhpcy5EPW5ldyBfLk5CO3RoaXMuaT1uZXcgTWFwO3RoaXMuaS5zZXQoXCJjXCIsITEpO3RoaXMuaS5zZXQoXCJhXCIsITEpO3RoaXMuaS5zZXQoXCJzY1wiLCExKTt0aGlzLmkuc2V0KFwic3dcIiwhMSk7KHRoaXMuaj1hKSYmYkQodGhpcyk7dGhpcy5GPXRoaXMuRC5saXN0ZW4oXCJ2aXNpYmlsaXR5Y2hhbmdlXCIsZD0+e2lmKCF0aGlzLnYpc3dpdGNoKGQudWUpe2Nhc2UgXCJoaWRkZW5cIjp0aGlzLkE9ITA7YnJlYWs7Y2FzZSBcInZpc2libGVcIjp0aGlzLkEmJih0aGlzLkE9ITEsdGhpcy5qJiZ0aGlzLkouZ2V0KHRoaXMuaikoKSl9fSl9fTtpRD1jbGFzcyBleHRlbmRzIF8uUGV7fTtcbmpEPWZ1bmN0aW9uKGEpe1VDKGEuaSwoKT0+dm9pZCBhLmRpc3BhdGNoRXZlbnQoXCJsb2FkZWRcIiksYS5CLmJpbmQoYSksYS5HLGEuTCxhLmosYS5LKTthLnY9VkMoYS5pLGEuQi5iaW5kKGEpKTthLkYuZm9yRWFjaCgoe21lc3NhZ2U6YixkYXRhOmN9KT0+dm9pZCBhLnNlbmRNZXNzYWdlKGIsYykpfTtrRD1mdW5jdGlvbihhKXtjb25zdCBiPV8ucmUoXCJMSU5LXCIpLGM9Xy4kZChhLmkuZ2V0VXJsKGEuRykpLnRvU3RyaW5nKCk7Yi5jcm9zc09yaWdpbj1cInVzZS1jcmVkZW50aWFsc1wiO18udGMmJihiLmFkZEV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsKCk9PnthLkQ9ITB9KSxiLmFkZEV2ZW50TGlzdGVuZXIoXCJlcnJvclwiLCgpPT57YS5DPSEwfSkpO1FCKGIsYyxcInByZWZldGNoXCIpO2RvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoYil9O2xEPWZ1bmN0aW9uKGEsYil7V0MoYS5pKSYmXy5YKFdDKGEuaSkse3Zpc2liaWxpdHk6Yj9cIlwiOlwiaGlkZGVuXCJ9KX07XG5tRD1mdW5jdGlvbihhLGIsYz0hMSl7Y29uc3QgZD17fTtkLmtleWJvYXJkQWN0aW9uPWM7YS5zZW5kTWVzc2FnZShiP1wib3BlblwiOlwiY2xvc2VcIixkKX07XG5aQj1jbGFzcyBleHRlbmRzIF8uV3tjb25zdHJ1Y3RvcihhLGIsYyxkLGUsZixnLGg9e30sayxsPW51bGwpe3N1cGVyKCk7dGhpcy5BPSExO3RoaXMuSj1hO3RoaXMuRj1bXTt0aGlzLnY9dm9pZCAwO3RoaXMuaT1uZXcgWEModGhpcy5KLF8uWWkoYil8fCgwLF8uRkIpYGAsL15cXGQrJC8udGVzdChjKT9wYXJzZUludChjLDEwKTowLGcsL15cXGQrJC8udGVzdChkKT9wYXJzZUludChkLDEwKTowKTt0aGlzLkc9aDt0aGlzLkM9dGhpcy5EPSExO3RoaXMuaj1lO3RoaXMuSz1sO3RoaXMuTD1mO3RoaXMubz1rfWZvY3VzKCl7Xy5YbChkb2N1bWVudCk9PT1XQyh0aGlzLmkpfHxXQyh0aGlzLmkpLmZvY3VzKCl9c2VuZE1lc3NhZ2UoYSxiKXt0aGlzLnY/KGE9e2V2ZW50OmF9LGImJihhLmRhdGE9YiksdGhpcy52LnNlbmQoYSkpOnRoaXMuRi5wdXNoKHttZXNzYWdlOmEsZGF0YTpifSl9QihhKXtpZih0aGlzLmomJmEuZGF0YS5ldmVudD09PVwiX3N0YXJ0dXBsb2FkZWRcIil7dmFyIGI9e19lZDp0aGlzLmouR2EoKX07XG5hLmkuc2VuZChiLHZvaWQgMCx2b2lkIDApfWI9bmV3IGlEKGEuZGF0YS5ldmVudCx0aGlzKTtiLmRhdGE9YS5kYXRhLmRhdGE7dGhpcy5kaXNwYXRjaEV2ZW50KGIpfXJlbW92ZSgpe2NvbnN0IGE9V0ModGhpcy5pKTthJiZhLnBhcmVudE5vZGUmJmEucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChhKX19O29EPWZ1bmN0aW9uKGEsYil7Y29uc3QgW2MsZF09Xy5JeChiLmoubWF0Y2goXy5DailbNV18fG51bGwpLnNwbGl0KFwiPVwiKSxlPWY9PntmPWQ9PT12b2lkIDA/YHMke2Z9YDovc1xcZCsvLmV4ZWMoZCk9PT1udWxsP2Ake2R9LXMke2Z9YDpkLnJlcGxhY2UoL3NcXGQrLyxgcyR7Zn1gKTtyZXR1cm4gXy5KeChiLmosYCR7Y309JHtmfWApfTthLkM9ZShhLkopO2EuRD1lKGEuSyk7YS5BIT09bnVsbCYmYS5BKGEuRCxhLkMpO25EKGEsMTIpO2Eubz0hMH07cEQ9ZnVuY3Rpb24oYSxiPSExKXthLmkubz1iP1wiZGFya1wiOlwibGlnaHRcIjthLkIhPT1iJiZfLmt5KGEuaSwhMSk7YS5CPWI7Xy5CeShhLmkpfTtcbnFEPWZ1bmN0aW9uKGEsYil7YS5BPWJ9O3JEPWZ1bmN0aW9uKGEsYil7YS52PWJ9O25EPWZ1bmN0aW9uKGEsYil7Y29uc3QgYz1uZXcgXy5veDt2YXIgZD0rK2EuRy5pO18uTihjLDEsZCk7ZD1uZXcgXy5ueDtfLm14KGQsYik7Yj1uZXcgXy5MYztfLkgoYiwzNyxjKTtfLkgoYiwzNSxkKTthLkYubG9nKDk3LGIpfTtcbnNEPWNsYXNzIGV4dGVuZHMgXy5Se2NvbnN0cnVjdG9yKGEsYixjKXtzdXBlcigpO3RoaXMuSj1fLlZmKF8uVChiLDQsMzApKTt0aGlzLks9Xy5WZihfLlQoYiw1LDk2KSk7dGhpcy5GPWE7dGhpcy5qPWI7dGhpcy5DPXRoaXMuRD1cIlwiO3RoaXMuRz1jO3RoaXMubz0hMTt0aGlzLnY9dGhpcy5BPW51bGw7dGhpcy5CPSExO3RoaXMuaT1fLnl5KF8uenkoXy5meShfLmN5KF8uZXkobmV3IF8uQ3ksXy54KF8uSih0aGlzLmosMSkpKSxfLngoXy5KKHRoaXMuaiwyKSkpLE51bWJlcihfLlQodGhpcy5qLDYpfHxcIjBcIikpLGQ9PnZvaWQgb0QodGhpcyxkKSksKCk9Pnt0aGlzLm98fG5EKHRoaXMsMTMpO3RoaXMubz0hMTt0aGlzLnYhPT1udWxsJiZ0aGlzLnYoKX0pO18uUGQodGhpcy5qLDMpIT1udWxsJiZfLmR5KHRoaXMuaSxfLlQodGhpcy5qLDMpKX1SKCl7c3VwZXIuUigpO18ua3kodGhpcy5pKX19O1xudEQ9e292ZXJmbG93OlwiaGlkZGVuXCIscG9zaXRpb246XCJhYnNvbHV0ZVwiLHRvcDpcIjBcIix2aXNpYmlsaXR5OlwiaGlkZGVuXCIsd2lkdGg6XCIzNTBweFwiLFwiei1pbmRleFwiOjk5MX07dUQ9WzIyLDIwLDE4XTtcblJDPWZ1bmN0aW9uKGEsYil7dkQoYSk7YS5CLnNldEF0dHJpYnV0ZShcImFyaWEtaGlkZGVuXCIsIWIpO2EuRiYmYS5MIT1iJiZ3RChhLFdDKGEuai5pKSxiKTthLkw9YjtiIT09YS5pc1Zpc2libGUoKSYmYS5GJiYoYj8oYS5JYj1kb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93LGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3c9XCJoaWRkZW5cIik6ZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdz1hLkliKTtpZihiKXthLkFiPSEwO2EudGF8fChhLnNlbmRNZXNzYWdlKFwiZmlcIiksYS50YT0hMCk7Yj0hMTtpZihhLk8pe2I9YS5qO3ZhciBjPWEuQSxkPV8uTChhLmksMzUpO2M9PT1iLm8/Yj0hMTooYi5zZW5kTWVzc2FnZShcIm5hdlwiLHtwYXRoOmR9KSxiLm89YyxiPSEwKX1hLnYmJmEuSiYmYS52Lmo9PT1cImFcIiYmZUQoYS52LFwiYVwiKTtpZihiKXtpZihhLm8uSmEoYS5qLFwiZm5fbmF2XCIsYS5OaCksYj1fLlQoYS5pLDE0KSlhLlY9Xy5yZyhhLk5iLGIsYSl9ZWxzZSB4RChhKX1lbHNlIHlEKGEsXG4hMSksbEQoYS5qLCExKSxhLmRpc3BhdGNoRXZlbnQoXCJoXCIpfTtERD1mdW5jdGlvbihhLGIpe2xldCBjPU9iamVjdC5hc3NpZ24oe30sdEQpO2EuRj8oYS5BPT09MT9hLmhhPVwiMTAwJVwiOnpEKGEpJiYoYS5mYT1cIjEwMCVcIiksYy5ib3R0b209XCIwXCIsYy5oZWlnaHQ9Yj9cIjEwMCVcIjpcIjBcIixjLmxlZnQ9XCIwXCIsY1tcIm1hcmdpbi1sZWZ0XCJdPVwiXCIsY1tcIm1hcmdpbi1yaWdodFwiXT1cIlwiLGNbXCJtYXJnaW4tdG9wXCJdPVwiXCIsY1tcIm1heC1oZWlnaHRcIl09XCJcIixjW1wibWF4LXdpZHRoXCJdPVwiXCIsYy5wb3NpdGlvbj1cImZpeGVkXCIsYy5yaWdodD1cIjBcIixjLnRvcD1cIjBcIixjLndpZHRoPVwiMTAwJVwiKTooYy5ib3R0b209XCJcIixjLmxlZnQ9XCJcIixjLnJpZ2h0PVwiXCIsYy50b3A9XCJcIixjPUFEKGEsYyksQkQoYSksQ0QoYSkpO2MudmlzaWJpbGl0eT1iP1wiXCI6XCJoaWRkZW5cIjtfLlgoYS5CLGMpfTtcbkFEPWZ1bmN0aW9uKGEsYj17fSl7Yj1PYmplY3QuYXNzaWduKGIsdEQpO3ZhciBjPWEuQT09PTE7aWYoXy5UKGEuaSw1KSl7dmFyIGQ9Xy5UKGEuaSw1KStcInB4XCI7Yz8oYS5oYT1kLGIuaGVpZ2h0PVwiMHB4XCIpOnpEKGEpPyhhLmZhPWQsYi5oZWlnaHQ9XCIwcHhcIik6Yi5oZWlnaHQ9ZH1lbHNlIGIuYm90dG9tPVwiMHB4XCI7Xy5UKGEuaSw2KSYmKGIud2lkdGg9Xy5UKGEuaSw2KStcInB4XCIpOyhkPV8uVChhLmksNykpJiYoYltcIm1hcmdpbi10b3BcIl09ZCtcInB4XCIpO2MmJihiLnRyYW5zaXRpb249XCJoZWlnaHQgLjNzIGVhc2UtaW4tb3V0XCIpOyhjPV8uSyhhLmksMTEpKT9iLmxlZnQ9MDpiLnJpZ2h0PTA7Xy5UKGEuaSw4KSYmKGM/YltcIm1hcmdpbi1sZWZ0XCJdPV8uVChhLmksOCkrXCJweFwiOmJbXCJtYXJnaW4tcmlnaHRcIl09Xy5UKGEuaSw4KStcInB4XCIpO2M9YS5BPT09NDsoYS5BPT09MyYmXy5PZChhLmksXy5tQywxOSl8fGMpJiYoYz9hLmtjOl8uUyhfLkYoYS5pLF8ubUMsMTkpLDEzKSk9PT0xJiZcbihiLnBvc2l0aW9uPVwiZml4ZWRcIixiLmJvdHRvbT1cIjI0cHhcIixiLnRvcD1cImF1dG9cIik7cmV0dXJuIGJ9O1xuR0Q9ZnVuY3Rpb24oYSl7aWYoekQoYSkpaWYoYS5NfHxhLkp8fGEuTnx8YS5UKXt2YXIgYixjPSgoYj1fLkYoYS5pLGtDLDQwKSk9PW51bGw/dm9pZCAwOl8uTChiLDEpKXx8XCJcIixkO2I9KChkPV8uRihhLmksa0MsNDApKT09bnVsbD92b2lkIDA6Xy5MKGQsMikpfHxcIlwiO3ZhciBlO2Q9KChlPV8uRihhLmksa0MsNDApKT09bnVsbD92b2lkIDA6Xy5MKGUsMykpfHxcIlwiO2U9bmV3IE1hcDtlLnNldChcImNcIixjKTtlLnNldChcImFcIixiKTtlLnNldChcInNjXCIsZCk7ZS5zZXQoXCJzd1wiLGQpOyhjPUVEKGEpKSYmJEMoYyk7Yz09PVwiYVwiJiZhLkQubG9nKDEyNSk7Yj1uZXcgTWFwO2Iuc2V0KFwiY1wiLCgpPT57RkQoYSk7Y29uc3QgZj17fTthLk0mJihmLnQ9Xy5QZChhLmksMzgpKTthLnNlbmRNZXNzYWdlKFwidGFtYWZcIixmKX0pO2Iuc2V0KFwiYVwiLCgpPT57RkQoYSk7YS5zZW5kTWVzc2FnZShcInRhbXNlXCIpfSk7Yi5zZXQoXCJzY1wiLCgpPT57RkQoYSk7YS5zZW5kTWVzc2FnZShcInRhbXN3XCIpfSk7Yi5zZXQoXCJzd1wiLFxuKCk9PntGRChhKTthLnNlbmRNZXNzYWdlKFwidGFtc3dcIil9KTthLnY9bmV3IGhEKGMsZSxiKX1lbHNlICRDKFwiblwiKX07ekQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuQT09PTJ9O0VEPWZ1bmN0aW9uKGEpe2lmKGEuTSlyZXR1cm4gbnVsbDtpZihhLlApe2lmKGEuTilyZXR1cm5cInNjXCI7aWYoYS5KKXJldHVyblwiYVwifWVsc2V7aWYoYS5KKXJldHVyblwiYVwiO2lmKGEuTilyZXR1cm5cInNjXCJ9aWYoYS5UKXJldHVyblwic3dcIn07RkQ9ZnVuY3Rpb24oYSl7dkQoYSk7YS50YXx8KGEuc2VuZE1lc3NhZ2UoXCJmaVwiKSxhLnRhPSEwKX07dkQ9ZnVuY3Rpb24oYSl7YS5LIT1udWxsJiYoXy5zZyhhLkspLGEuSz1udWxsKTt2YXIgYj1hLmo7Yi5BP2I9MzooYi5BPSEwLGpEKGIpLGI9MCk7YS5LYj09bnVsbCYmKGEuS2I9Yik7aWYoYiE9Myl7aWYoYj1fLlQoYS5pLDE0KSlhLlY9Xy5yZyhhLk5iLGIsYSk7Xy5TKGEuaSwzMCkhPW51bGwmJkhEKGEsXy5RZChhLmksMzAsMCkpfX07XG53RD1mdW5jdGlvbihhLGIsYyl7aWYoYiYmYiE9PWRvY3VtZW50LmJvZHkpe3ZhciBkPXtTQ1JJUFQ6ITAsU1RZTEU6ITAsSU1HOiEwfSxlPWIucGFyZW50RWxlbWVudC5jaGlsZHJlbjtmb3IoY29uc3QgZiBvZiBlKWYhPT1iJiZ0eXBlb2YgZFtmLnRhZ05hbWVdPT09XCJ1bmRlZmluZWRcIiYmKGM/KGYuaGFzQXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIikmJiFmLmhhc0F0dHJpYnV0ZShcImRhdGEtb2ctb3JpZ2luLWFyaWEtaGlkZGVuXCIpJiZmLnNldEF0dHJpYnV0ZShcImRhdGEtb2ctb3JpZ2luLWFyaWEtaGlkZGVuXCIsZi5nZXRBdHRyaWJ1dGUoXCJhcmlhLWhpZGRlblwiKSksZi5zZXRBdHRyaWJ1dGUoXCJhcmlhLWhpZGRlblwiLCEwKSk6Zi5oYXNBdHRyaWJ1dGUoXCJkYXRhLW9nLW9yaWdpbi1hcmlhLWhpZGRlblwiKT8oZi5zZXRBdHRyaWJ1dGUoXCJhcmlhLWhpZGRlblwiLGYuZ2V0QXR0cmlidXRlKFwiZGF0YS1vZy1vcmlnaW4tYXJpYS1oaWRkZW5cIikpLGYucmVtb3ZlQXR0cmlidXRlKFwiZGF0YS1vZy1vcmlnaW4tYXJpYS1oaWRkZW5cIikpOlxuZi5yZW1vdmVBdHRyaWJ1dGUoXCJhcmlhLWhpZGRlblwiKSk7d0QoYSxiLnBhcmVudEVsZW1lbnQsYyl9fTt4RD1mdW5jdGlvbihhKXtDRChhKTtCRChhKTtpZihhLkFhKXtpZih5RChhLCEwKSxsRChhLmosITApLGEuZGlzcGF0Y2hFdmVudChcInJhdlwiKSxfLlMoYS5pLDE4KSE9bnVsbCYmYS5TYil7Y29uc3QgYj1hLlg/Xy5TaihhLlgpOm5ldyBfLkxjO18uZ2soYiwyNCxEYXRlLm5vdygpLWEuU2IpO2EuVGIhPW51bGwmJl8uTihiLDQxLGEuVGIpO0hEKGEsXy5TKGEuaSwxOCksYil9fWVsc2UgYS5sYj9JRChhKTphLmRpc3BhdGNoRXZlbnQoXCJzb3JwXCIpfTtcbnlEPWZ1bmN0aW9uKGEsYil7Xy5YKGEuQix7dmlzaWJpbGl0eTpiP1wiXCI6XCJoaWRkZW5cIn0pO2lmKGEuQT09PTF8fHpEKGEpKXtjb25zdCBjPV8uRmcoYS5CLFwidHJhbnNpdGlvblwiKTtfLlgoYS5CLHt0cmFuc2l0aW9uOlwibm9uZVwifSk7Y29uc3QgZD16RChhKT9hLmZhOmEuaGE7Xy5YKGEuQix7aGVpZ2h0OmI/ZDpcIjBcIn0pO2EuQi5zY3JvbGxUb3A9MDtfLlgoYS5CLHt0cmFuc2l0aW9uOmN9KX19O0NEPWZ1bmN0aW9uKGEpe2EuQT09PTN8fGEuQT09PTR8fGEuRnx8KGEuQT09PTImJl8uWChhLkIsXCJtaW4taGVpZ2h0XCIsXCIyMTBweFwiKSxhLkZhKCksYS5ZZy5hZGRMaXN0ZW5lcihhLkZhLmJpbmQoYSkpLGEuTWIuYWRkTGlzdGVuZXIoYS5GYS5iaW5kKGEpKSxhLlFiLmFkZExpc3RlbmVyKGEuRmEuYmluZChhKSkpfTtcbkJEPWZ1bmN0aW9uKGEpe2lmKGEuQSE9PTMmJmEuQSE9PTQmJiFhLkYmJihfLlQoYS5pLDYpJiZhLk8mJl8uWChhLkIsXCJ3aWR0aFwiLF8uVChhLmksNikrXCJweFwiKSx6RChhKSkpe2NvbnN0IGI9Xy5LKGEuaSw0Mik/XCJjYWxjKC04cHggKyAxMDB2dylcIjpcImNhbGMoLTI0cHggKyAxMDB2dylcIjtfLlgoYS5CLFwibWF4LXdpZHRoXCIsYil9fTtJRD1mdW5jdGlvbihhKXtfLlMoYS5pLDE2KSE9bnVsbCYmSEQoYSxfLlFkKGEuaSwxNiwwKSk7YS5kaXNwYXRjaEV2ZW50KFwic29ydFwiKX07S0Q9ZnVuY3Rpb24oYSxiPSExKXtjb25zdCBjPSFhLmlzVmlzaWJsZSgpO1JDKGEsYyk7bUQoYS5qLGMsYik7YyYmYS5xYS5yZXNldCgpO0pEKGEsYywxKX07XG5KRD1mdW5jdGlvbihhLGIsYyl7aWYoYj9fLlMoYS5pLDEyKSE9bnVsbDpfLlMoYS5pLDEzKSE9bnVsbCliPyhIRChhLF8uUyhhLmksMTIpKSwoYS5BIT0xPzA6Xy5vaChhLkIsXCJnYl92ZFwiKSE9PW51bGwpJiZIRChhLDExNSkpOkhEKGEsXy5TKGEuaSwxMyksdm9pZCAwLGMpfTtcbk1EPWZ1bmN0aW9uKGEpe2Euby5saXN0ZW4oYS5qLFwiX3JlYWR5XCIsYS5EZik7YS5vLmxpc3RlbihhLmosXCJfc3RhcnR1cGxvYWRlZFwiLGI9PntsZXQgYztMRChhLGI9PW51bGw/dm9pZCAwOihjPWIuZGF0YSk9PW51bGw/dm9pZCAwOmMud3QpfHwoYS5SYj0hMCl9KTthLm8ubGlzdGVuKGEuaixcIl9yZW5kZXJmYWlsZWRcIixhLkdmKTthLm8ubGlzdGVuKGEuaixcIl9yZW5kZXJzdGFydFwiLGEuSGYpO2Euby5saXN0ZW4oYS5qLFwibG9hZGVkXCIsKCk9PnthLkxiPSEwfSk7YS5vLmxpc3RlbihhLmosYS5WZixhLldmKTtfLksoYS5pLDkpJiZhLm8ubGlzdGVuKGEuaixcImJsdXJcIixhLkZoKTthLm8ubGlzdGVuKGEuaixcInJlc3R5bGVcIixhLklmKTthLm8ubGlzdGVuKGEuaixcImNsb3NlXCIsYS5SYyk7aWYoYS5DIT1udWxsKXthLm8ubGlzdGVuKGEuQyxbXCJtb3VzZW92ZXJcIixcImZvY3VzXCJdLGEuVGYpO18ua2goYS5vLGEuQyxhLk9iKTthLm8ubGlzdGVuKGEuQyxcImtleWRvd25cIixjPT57Yy5rZXlDb2RlPT1cbjI3JiZhLmlzVmlzaWJsZSgpJiYoYS5KYj0hMCxhLk9iKGMpKX0pO2EuQT09PTE/KGEuby5saXN0ZW4oYS5qLFwiYWxvZ25cIixhLnJoKSxhLm8ubGlzdGVuKGEuaixcImFsb2dtXCIsKCk9PkhEKGEsMTA0KSksYS5vLmxpc3RlbihhLmosXCJhbG9nbW1cIiwoKT0+SEQoYSwxMDUpKSxhLm8ubGlzdGVuKGEuaixcImFsb2dtYVwiLGEuRWYpLGEuby5saXN0ZW4oYS5qLFwiYWxvZ2NcIixhLmpoKSxhLm8ubGlzdGVuKGEuaixcIm9tZW51XCIsKCk9PkhEKGEsMTE1KSksYS5vLmxpc3RlbihhLmosXCJ3ZHNcIiwoKT0+SEQoYSwxMjgpKSxhLm8ubGlzdGVuKGEuaixcIndkY1wiLCgpPT5IRChhLDEyOSkpLGEuby5saXN0ZW4oYS5qLFwiYWxjcHNcIiwoKT0+SEQoYSwxMzYpKSxhLm8ubGlzdGVuKGEuaixcImFsY3BjXCIsKCk9PkhEKGEsMTM3KSkpOnpEKGEpJiYoYS5vLmxpc3RlbihhLmosXCJhbWxvZ1wiLGEuVGMpLGEuby5saXN0ZW4oYS5qLFwiY3BcIixhLmFnKSxhLm8ubGlzdGVuKGEuaixcImNsZWFyY3V0X2V2ZW50XCIsYS5HZyksXG5hLm8uSmEoYS5qLFwiaGFcIixhLnpmKSxhLm8uSmEoYS5qLFwieXNldlwiLCgpPT57YS5TPSEwfSksYS5vLkphKGEuaixcInlzZW5cIiwoKT0+e2EuUz0hMX0pLGEuby5KYShhLmosXCJkYVwiLGEuSGgpLGEuby5KYShhLmosXCJoc2VcIixhLkJmKSxhLm8ubGlzdGVuKGEuaixcImFpY1wiLGEuVWMpLGEuby5saXN0ZW4oYS5qLFwic3dkY1wiLGEuSmgpLGEuby5saXN0ZW4oYS5qLFwic3dkd1wiLGEuS2gpLGEuby5saXN0ZW4oYS5qLFwic3doXCIsYS5DZikpO2Euby5saXN0ZW4od2luZG93LFtcImtleXVwXCIsXCJrZXlkb3duXCJdLGEuU2YpO18uWmImJmEuby5saXN0ZW4oYS5DLFwiZm9jdXNpblwiLCgpPT57YS55Yj0hMH0pO18uY2goYS5DLFwiY2xpY2tcIik7Y29uc3QgYj1hLkMucXVlcnlTZWxlY3RvcihcIltkYXRhLWVxaWRdXCIpO2ImJl8uY2goYixcImNsaWNrXCIpfWVsc2UgYS5EYSE9bnVsbCYmKHNDKGEuRGEsYSksYS5vLmxpc3RlbihhLmosXCJwbG9nXCIsYS5MZCkpO2EuWGc/YS5vLmxpc3Rlbih3aW5kb3csXCJwYWdlaGlkZVwiLFxuYS5GZik6YS5vLmxpc3Rlbih3aW5kb3csXCJiZWZvcmV1bmxvYWRcIixhLnVoKTtfLksoYS5pLDQ0KSYmKGEuc2VuZE1lc3NhZ2UoXCJzaW1cIix7aW06YS5GfSksYS5vLmxpc3RlbihhLnVhLFwiY2hhbmdlXCIsYS5laCkpfTtORD1mdW5jdGlvbihhLGIsYyl7YS5qPWI7Xy51ZShjKT9hLkM9YzooYS5EYT1jLGEuWWY9RGF0ZS5ub3coKSk7TUQoYSk7aWYoKGI9Xy5LKGEuaSwxMCl8fF8uVChhLmksMjcsMCkpfHxhLkRhIT1udWxsKWM9Xy5UKGEuaSwyNywwKSxhLks9PW51bGwmJmM+MD9hLks9Xy5yZyhhLkhiLGMsYSk6YS5IYigpOyFiJiZfLksoYS5pLDI0KSYma0QoYS5qKX07T0Q9ZnVuY3Rpb24oYSl7Xy54ZyhhLm8pO2EuQy5yZW1vdmVBdHRyaWJ1dGUoXCJkYXRhLW9nc3ItZmJcIil9O1xuSEQ9ZnVuY3Rpb24oYSxiLGMsZCl7Y29uc3QgZT1jfHwoYS5YP18uU2ooYS5YKTpuZXcgXy5MYyk7dmFyIGY9Xy5PZChlLF8ub3gsMzcpP18uRihlLF8ub3gsMzcpOm5ldyBfLm94O2MmJl8uT2QoYyxfLm54LDM1KT8oYz1fLkYoYyxfLm54LDM1KSxjPSFfLnRhKHVELF8uUyhjLDQpKSk6Yz0hMDtjPWM/KythLnFhLmk6YS5xYS5pO18uTihmLDEsYyk7ZCE9dm9pZCAwJiZfLlAoZiwzLGQpO18uSChlLDM3LGYpO2hDKGUsUEQoYSkpO18uUGkoZSxhLkcpO18uT2QoYS5pLF8ubUMsMTkpJiYoZD1fLkYoYS5pLF8ubUMsMTkpLF8uaUMoZSxfLmx4KGQsMSkpLGY9bmV3IF8uZ0MsYz1fLlMoZCwxMiksZj1kQyhmLGM9PW51bGw/dm9pZCAwOmMpLGM9Zi55YyxkPV8uSShkLDExKSxkPWMuY2FsbChmLGQ9PW51bGw/dm9pZCAwOmQpLF8uakMoZSxkKSk7YS5ELmxvZyhiLGUpfTtcbkxEPWZ1bmN0aW9uKGEsYil7aWYoIWEuTylyZXR1cm4hMTtpZighYilyZXR1cm4hMDthOnN3aXRjaChiKXtjYXNlIFwiYWxcIjpiPTE7YnJlYWsgYTtjYXNlIFwiYW1cIjpiPTI7YnJlYWsgYTtkZWZhdWx0OmI9M31yZXR1cm4gYj09PTM/IShhLkE9PT0zJiZhLkE9PT00KTpiIT09YS5BfTtRRD1mdW5jdGlvbihhLGI9XCJcIixjPVwiXCIpe2lmKCFhLkYpe3ZhciBkPXt9O2lmKGIpe2NvbnN0IGU9YS5BPT09MTtlP2EuaGE9Yjp6RChhKSYmKGEuZmE9Yik7aWYoIWUmJiF6RChhKXx8YS5pc1Zpc2libGUoKSlkLmhlaWdodD1ifWMmJihkLndpZHRoPWMpO18uWChhLkIsZCl9fTtSRD1mdW5jdGlvbihhLGIsYz1udWxsKXtjb25zdCBkPW5ldyBfLkxjO2hDKF8uSChkLDM1LGIpLFBEKGEpKTthLkQuWCgpJiZfLk0oZCw1NiwhMCk7YyE9bnVsbCYmXy5NKGQsNjMsYyk7SEQoYSw5NyxkKX07XG5TRD1mdW5jdGlvbihhLGIpe2ImJmIuZGF0YSYmKGI9Yi5kYXRhLnNtdXAsdHlwZW9mIGI9PT1cIm51bWJlclwiJiZiIT0tMSYmYS5kaXNwYXRjaEV2ZW50KG5ldyBRQyhiKSkpfTtURD1mdW5jdGlvbihhLGIpe3JldHVybiBhLnYmJmEudi5qPT1iJiYhYS52LmkuZ2V0KGIpfTtVRD1mdW5jdGlvbihhKXtpZihhLlQmJiFhLnYuaS5nZXQoXCJzd1wiKSlyZXR1cm4gZkQoYS52LFwic3dcIiksJEMoXCJzd1wiKSxhLkQubG9nKDE0MCksITA7JEMoXCJuXCIpO3JldHVybiExfTtWRD1mdW5jdGlvbihhKXtyZXR1cm4hYS5KfHxhLkFifHxhLnYuaS5nZXQoXCJhXCIpP1VEKGEpOihmRChhLnYsXCJhXCIpLCRDKFwiYVwiKSxhLkQubG9nKDEyNSksITApfTtXRD1mdW5jdGlvbihhKXthLkshPW51bGwmJihfLnNnKGEuSyksYS5LPW51bGwpO3pEKGEpfHxhLmlzVmlzaWJsZSgpfHxhLnRifHxhLmoucmVtb3ZlKCl9O1xuUEQ9ZnVuY3Rpb24oYSl7Y29uc3QgYj1hLmomJldDKGEuai5pKTtsZXQgYz0wO2EudGImJihjfD0xKTthLlJiJiYoY3w9MTI4KTthLlBiJiYoY3w9MzIpO2Eud2ImJihjfD02NCk7YS5pc1Zpc2libGUoKSYmKGN8PTIpO2EubGImJihjfD00KTtiJiYoY3w9OCk7YS5MYiYmKGN8PTE2KTthLmouRCYmKGN8PTUxMik7YS5qLkMmJihjfD0xMDI0KTthLkpiJiYoY3w9MjA0OCk7YS5hYiYmKGN8PTE2Mzg0KTthLnZiJiYoY3w9NjU1MzYpO2EuTCYmKGN8PTMyNzY4KTtyZXR1cm4gY307XG5YRD1jbGFzcyBleHRlbmRzIF8uV3tjb25zdHJ1Y3RvcihhLGIsYyxkPSExLGUsZj0wLGc9ITEsaCl7c3VwZXIoKTt0aGlzLm89bmV3IF8udGcodGhpcyk7Xy4kZih0aGlzLHRoaXMubyk7dGhpcy5pPWE7dGhpcy5BPV8uUyh0aGlzLmksMTcpO3RoaXMuRD1iO3RoaXMuRmI9bmV3IF8uUnMoYiwhMCk7dGhpcy5PPSEhZTt0aGlzLmtjPWY7dGhpcy5CPWUhPW51bGw/ZTpfLnJlKFwiRElWXCIpO3RoaXMua2E9aDt0aGlzLmo9bnVsbDt0aGlzLmFiPXRoaXMuTGI9dGhpcy5SYj10aGlzLndiPXRoaXMuUGI9dGhpcy50Yj10aGlzLkFhPSExO3RoaXMuTD1nO3RoaXMuVT0hMTt0aGlzLlZmPV8uTChhLDMzKXx8XCJfcmVuZGVyc3RhcnRcIjt0aGlzLkM9dGhpcy5EYT1udWxsO3RoaXMubGI9dGhpcy55Yj0hMTt0aGlzLkc9ZDt0aGlzLkpiPSExO3RoaXMubGM9Yzt0aGlzLktiPW51bGw7dGhpcy5mYT10aGlzLmhhPVwiXCI7dGhpcy50YT10aGlzLnViPSExO3RoaXMucmI9e307dGhpcy5xYT1uZXcgXy5EeTtcbnRoaXMuWWc9d2luZG93Lm1hdGNoTWVkaWEoXCJvbmx5IHNjcmVlbiBhbmQgKG1pbi1oZWlnaHQ6IDEwODBweClcIik7dGhpcy5NYj13aW5kb3cubWF0Y2hNZWRpYShcIm9ubHkgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogMTA3OXB4KSBhbmQgKG1pbi1oZWlnaHQ6IDgwMHB4KVwiKTt0aGlzLlFiPXdpbmRvdy5tYXRjaE1lZGlhKFwib25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA3OTlweClcIik7dGhpcy5maD00MDt0aGlzLlhmPTIwO3RoaXMudWE9d2luZG93Lm1hdGNoTWVkaWEoXCJvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDUycHgpXCIpOyh0aGlzLkY9Xy5LKHRoaXMuaSw0NCkmJnRoaXMudWEubWF0Y2hlcyk/REQodGhpcywhMSk6Xy5YKHRoaXMuQixBRCh0aGlzKSk7ZXx8dGhpcy5sYy5hcHBlbmRDaGlsZCh0aGlzLkIpO3RoaXMuVGc9Xy5LKHRoaXMuaSw1MCl8fCExO3RoaXMuSWI9XCJcIjtpZih0aGlzLmRhPShhPV8uRih0aGlzLmksbEMsMzYpKT9uZXcgc0QodGhpcy5ELGEsdGhpcy5xYSk6XG5udWxsKXFEKHRoaXMuZGEsKGssbCk9Pntjb25zdCBtPV8uVShcImdiX3FcIik7bSYmbSYmKG0ucmVtb3ZlQXR0cmlidXRlKFwic3Jjc2V0XCIpLG0uc3JjPWwpO3RoaXMuc2VuZE1lc3NhZ2UoXCJjcGNcIix7cDprfSk7dGhpcy5kaXNwYXRjaEV2ZW50KFwicHVcIil9KSxyRCh0aGlzLmRhLCgpPT57dGhpcy5zZW5kTWVzc2FnZShcInBwY1wiKX0pO3RoaXMuQWI9dGhpcy5HYj0hMTt0aGlzLk09Xy5LKHRoaXMuaSwzNyl8fCExO18uSyh0aGlzLmksNDUpO18uUWQodGhpcy5pLDQ3LDApO18uSyh0aGlzLmksNDYpO3RoaXMuUGE9bmV3IE1hcDt0aGlzLko9Xy5LKHRoaXMuaSw0MSl8fCExO3RoaXMuUz1udWxsO3RoaXMuTj1fLksodGhpcy5pLDUxKXx8ITE7dGhpcy5UPV8uSyh0aGlzLmksNTIpfHwhMTt0aGlzLlA9Xy5LKHRoaXMuaSw1Myl8fCExO3RoaXMudmI9ITE7dGhpcy5YZz1fLksodGhpcy5pLDU0KXx8ITE7R0QodGhpcyl9SCgpe3JldHVybiB0aGlzLkJ9c2VuZE1lc3NhZ2UoYSxiKXt0aGlzLmouc2VuZE1lc3NhZ2UoYSxcbmIpfU5oKCl7dGhpcy5BYT0hMDt4RCh0aGlzKX1VZihhPSExKXt0aGlzLmlzVmlzaWJsZSgpfHxLRCh0aGlzLGEpfVhhKGEpe3RoaXMuRz1hO3ZhciBiPXRoaXMuajtjb25zdCBjPXt9O2MuZW5hYmxlZD1hO2Iuc2VuZE1lc3NhZ2UoXCJkbVwiLGMpO3RoaXMuZGlzcGF0Y2hFdmVudChcInNkbVwiKX1pc1Zpc2libGUoKXtjb25zdCBhPXRoaXMuQi5zdHlsZS52aXNpYmlsaXR5IT1cImhpZGRlblwiO3JldHVybiB0aGlzLkIuc3R5bGUuZGlzcGxheSE9XCJub25lXCImJmF9bm90aWZ5KCl7Xy5TKHRoaXMuaSwzMSkhPW51bGwmJkhEKHRoaXMsXy5RZCh0aGlzLmksMzEsMCkpO1JDKHRoaXMsITApfVFjKGEsYixjLGQpe3RoaXMuc2VuZE1lc3NhZ2UoXCJhZGFcIix7bjphLGU6Yix1OmN9KTtjJiZkJiYodGhpcy5yYltjXT1kKX1BZygpe3RoaXMuc2VuZE1lc3NhZ2UoXCJjZGFcIik7dGhpcy5yYj17fX1IZihhKXtsZXQgYjtMRCh0aGlzLGE9PW51bGw/dm9pZCAwOihiPWEuZGF0YSk9PW51bGw/dm9pZCAwOmIud3QpfHxcbih0aGlzLlBiPSEwLF8uUyh0aGlzLmksMzIpIT1udWxsJiZIRCh0aGlzLF8uUWQodGhpcy5pLDMyLDApKSxhLmRhdGEmJihhLmRhdGEudHRmIT09XCJudWxsXCImJih0aGlzLlRiPU51bWJlcihhLmRhdGEudHRmKXx8bnVsbCksKGEuZGF0YS5oZWlnaHR8fGEuZGF0YS53aWR0aCkmJlFEKHRoaXMsYS5kYXRhLmhlaWdodCxhLmRhdGEud2lkdGgpKSl9emYoKXtpZih0aGlzLnYpaWYoZUQodGhpcy52LFwiY1wiKSx0aGlzLlApe2lmKHRoaXMuTiYmIXRoaXMudi5pLmdldChcInNjXCIpKXtmRCh0aGlzLnYsXCJzY1wiKTskQyhcInNjXCIpO3RoaXMuRC5sb2coMTM5KTt2YXIgYT0hMH1lbHNlIGE9VkQodGhpcyk7YXx8Z0QodGhpcy52KX1lbHNlIGlmKHRoaXMuSiYmIXRoaXMuQWImJiF0aGlzLnYuailmRCh0aGlzLnYsXCJhXCIpLCRDKFwiYVwiKSx0aGlzLkQubG9nKDEyNSk7ZWxzZSBpZighdGhpcy5KfHx0aGlzLnYuaS5nZXQoXCJhXCIpKWdEKHRoaXMudiksJEMoXCJuXCIpfUhoKCl7IXRoaXMuR2ImJnRoaXMudiYmdGhpcy5NJiZcbihmRCh0aGlzLnYsXCJjXCIpLCRDKFwiY1wiKSxSRCh0aGlzLF8uTShfLm14KG5ldyBfLm54LDE4KSw4LCEwKSksdGhpcy5HYj0hMCl9SmgoYSl7dGhpcy52JiYoU0QodGhpcyxhKSwhdGhpcy5QfHwhdGhpcy5UJiYhdGhpcy5OfHxURCh0aGlzLFwiY1wiKXx8dGhpcy52LmkuZ2V0KFwic2NcIil8fChmRCh0aGlzLnYsXCJzY1wiKSx0aGlzLkQubG9nKDEzOSkpKX1LaChhKXt0aGlzLnYmJihTRCh0aGlzLGEpLCF0aGlzLlB8fCF0aGlzLlQmJiF0aGlzLk58fFREKHRoaXMsXCJjXCIpfHxURCh0aGlzLFwiYVwiKXx8dGhpcy52LmkuZ2V0KFwic3dcIil8fChmRCh0aGlzLnYsXCJzd1wiKSx0aGlzLkQubG9nKDE0MCkpKX1CZigpe3RoaXMudiYmdGhpcy5KJiYoZUQodGhpcy52LFwiYVwiKSx0aGlzLlA/VUQodGhpcyl8fGdEKHRoaXMudik6dGhpcy5NJiYhdGhpcy52LmkuZ2V0KFwiY1wiKXx8Z0QodGhpcy52KSl9Q2YoYSl7dGhpcy52JiYoU0QodGhpcyxhKSx0aGlzLlAmJihhPXRoaXMudi5qLGVEKHRoaXMudixcInNjXCIpLGVEKHRoaXMudixcblwic3dcIiksYT09XCJzY1wifHxhPT1cInN3XCIpKSYmKHRoaXMuRC5sb2coYT09PVwic2NcIj8xNDE6MTQyKSxhPT1cInNjXCI/YT1WRCh0aGlzKTooJEMoXCJuXCIpLGE9ITEpLGF8fGdEKHRoaXMudikpfURmKGEpe2lmKHRoaXMuTyl7bGV0IGI7aWYoKChiPWEuZGF0YSk9PW51bGw/dm9pZCAwOmIucGF0aCkhPT1fLkoodGhpcy5pLDM1KSlyZXR1cm59dGhpcy50Yj0hMH1MZChhKXthLmRhdGEubGQuYXBhdGs9PT1cImlcIiYmSEQodGhpcywxMTApfXVoKCl7dGhpcy5hYj0hMDtXRCh0aGlzKX1GZigpe3RoaXMudmI9ITA7V0QodGhpcyl9V2YoYSl7dGhpcy5BYT0hMDt0aGlzLlYhPW51bGwmJl8uc2codGhpcy5WKTthLmRhdGEmJih0aGlzLnViPSEhYS5kYXRhLmljc3MsdGhpcy5VPSEhYS5kYXRhLmRjKTt0aGlzLk8/dGhpcy5MJiZSQyh0aGlzLCEwKTpSQyh0aGlzLHRoaXMuTCl9SGIoKXtkb2N1bWVudC5yZWFkeVN0YXRlPT1cImNvbXBsZXRlXCI/dkQodGhpcyk6d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsXG4oKT0+dkQodGhpcykpfU5iKCl7dGhpcy5BYXx8dGhpcy53Ynx8KHRoaXMubGI9ITAsdGhpcy5MJiZJRCh0aGlzKSl9R2YoYSl7bGV0IGI7TEQodGhpcyxhPT1udWxsP3ZvaWQgMDooYj1hLmRhdGEpPT1udWxsP3ZvaWQgMDpiLnd0KXx8KHRoaXMud2I9ITAsdGhpcy5WIT1udWxsJiZfLnNnKHRoaXMuViksYT10aGlzLkE9PT0zfHx0aGlzLkE9PT00fHx0aGlzLkwsXy5TKHRoaXMuaSwyNikhPW51bGwmJmEmJkhEKHRoaXMsXy5RZCh0aGlzLmksMjYsMCkpKX1PYihhKXt0aGlzLlNiPURhdGUubm93KCk7S0QodGhpcywhIShhLldiLmJ1dHRvbiE9MHx8Xy5jYyYmYS5jdHJsS2V5KSk7dGhpcy55Yj0hMTthLnByZXZlbnREZWZhdWx0KCk7YS5zdG9wUHJvcGFnYXRpb24oKX1TZihhKXthLmtleUNvZGU9PTMyJiZhLnRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQmJl8ubWcodGhpcy5DLGEudGFyZ2V0KSYmKGEuc3RvcFByb3BhZ2F0aW9uKCksYS5wcmV2ZW50RGVmYXVsdCgpKX1UZigpe0ZEKHRoaXMpfUlmKGEpe2EuZGF0YSYmXG5RRCh0aGlzLGEuZGF0YS5oZWlnaHQsYS5kYXRhLndpZHRoKX1GaChhKXtsZXQgYjthPShhPT1udWxsP3ZvaWQgMDooYj1hLmRhdGEpPT1udWxsP3ZvaWQgMDpiLmtmKXx8ITE7dGhpcy5PJiZ0aGlzLkEhPXRoaXMuai5vfHxkb2N1bWVudC5hY3RpdmVFbGVtZW50PT10aGlzLkN8fF8ubWcodGhpcy5DLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpfHx0aGlzLnlifHxhPyhhJiZtRCh0aGlzLmosITAsITEpLHRoaXMuai5mb2N1cygpKToodGhpcy5pc1Zpc2libGUoKSYmSkQodGhpcywhMSwyKSxSQyh0aGlzLCExKSxfLlhsKGRvY3VtZW50KT09PVdDKHRoaXMuai5pKSYmdGhpcy5DLmZvY3VzKCkpfVJjKGEpe2E9YS5kYXRhJiZhLmRhdGEuaXNDbG9zZUJ1dHRvbj80OjE7dGhpcy5BIT09MyYmdGhpcy5BIT09NCYmdGhpcy5pc1Zpc2libGUoKSYmSkQodGhpcywhMSxhKTtSQyh0aGlzLCExKX1yaChhKXt2YXIgYj1hLmRhdGEucGlkLGM9YS5kYXRhLmFpLGQ9YS5kYXRhLmFjLGU9L15cXGQrJC8udGVzdChiKT9cbnBhcnNlSW50KGIsMTApOi0xO2I9L15cXGQrJC8udGVzdChjKT9wYXJzZUludChjLDEwKTotMTtjPS9eXFxkKyQvLnRlc3QoYyk/cGFyc2VJbnQoZCwxMCk6LTE7dmFyIGY9ZD1hLmRhdGEudmlzO2lmKGQ+NHx8ZDw9MClmPTA7ZD1mO3ZhciBnO2Y9KGc9YS5kYXRhLmFzKSE9bnVsbD9nOjA7YT0hIWEuZGF0YS5jdXM7Zz1uZXcgXy5MYztlPV8uTihnLDE1LGUpO2U9Xy5QaShoQyhlLFBEKHRoaXMpKSx0aGlzLkcpO18uUXModGhpcy5GYixkLGIsYyxmLGEsZSl9RWYoYSl7Y29uc3QgYj1hLmRhdGEuYW4sYz1hLmRhdGEuYWlkO3ZhciBkPWEuZGF0YS5hdTtjb25zdCBlPWEuZGF0YS5haSxmPWEuZGF0YS5hYzthPWEuZGF0YS5hZDtkPWQmJmQuaW5jbHVkZXMoXCJhY2NvdW50cy5nb29nbGUuY29tL28vc2FtbDJcIik7Y29uc3QgZz1oQyhuZXcgXy5MYyxQRCh0aGlzKSk7dEModGhpcy5GYixiLGMsZSxmLGQsYSxnKX1qaChhKXtIRCh0aGlzLGEuZGF0YS5tb3VzZVNlc3Npb24/OTk6MTAwKX1GYSgpe2xldCBhPVxuXCIxMDBkdmhcIjt2YXIgYjtjb25zdCBjPShiPV8uVCh0aGlzLmksNykpIT1udWxsP2I6MDtiPTYwO3RoaXMuTWIubWF0Y2hlcz9iPXRoaXMuZmg6dGhpcy5RYi5tYXRjaGVzJiYoYj10aGlzLlhmKTtiPU1hdGgubWF4KGItMTYsMCk7YT1gY2FsYygkeyhiK2MpKi0xfXB4ICsgJHthfSlgO18uWCh0aGlzLkIsXCJtYXgtaGVpZ2h0XCIsYGNhbGMoJHsoYitjKSotMX1weCArICR7XCIxMDB2aFwifSlgKTtfLlgodGhpcy5CLFwibWF4LWhlaWdodFwiLGEpfWVoKCl7Xy5LKHRoaXMuaSw0NCkmJnRoaXMudWEubWF0Y2hlcyE9PXRoaXMuRiYmKHRoaXMuRj10aGlzLnVhLm1hdGNoZXMsdGhpcy5zZW5kTWVzc2FnZShcInNpbVwiLHtpbTp0aGlzLkZ9KSxERCh0aGlzLHRoaXMuaXNWaXNpYmxlKCkpKX1UYyhhKXtpZihhLmRhdGEmJmEuZGF0YS5ldCl7dmFyIGI9YS5kYXRhLmV0O2I9Xy5NKF8ubXgobmV3IF8ubngsYiksOCwhMCk7dmFyIGM9YS5kYXRhLmR0O2MmJl8uUChiLDMsYyk7KGM9YS5kYXRhLnNvYnQpJiZcbl8uUChiLDUsYyk7KGM9YS5kYXRhLnBhcykmJl8uUChiLDIsYyk7dmFyIGQ9YS5kYXRhLmhtbDtkIT1udWxsJiZfLk0oYiw2LGQpO2Q9YS5kYXRhLmFlaTtkIT1udWxsJiZfLmdrKGIsOSxkKTtkPWEuZGF0YS5zZXM7ZCE9bnVsbCYmXy5QKGIsMTAsZCk7ZD1hLmRhdGEuc2VwcztkIT1udWxsJiZfLlAoYiwxMSxkKTt0aGlzLlMhPT1udWxsJiZfLk0oYiwxMix0aGlzLlMpO2lmKGQ9YS5kYXRhLmNhaSl7dmFyIGU9bmV3IGJDO2Q9Xy5PKGUsMSxkKTtfLkgoYiwxMyxkKX1kPWEuZGF0YS5zY3Q7ZCE9bnVsbCYmXy5QKGIsMTQsZCk7UkQodGhpcyxiLGEuZGF0YS5tbGUpO2I9YS5kYXRhLmFsO2lmKGEuZGF0YS5ldD09PTQmJmM9PTQmJmIpe2xldCBmOyhmPXRoaXMucmJbYl0pPT1udWxsfHxmLmNhbGwoKX19fWFnKCl7cEQodGhpcy5kYSx0aGlzLkcpO2NvbnN0IGE9Xy5NKF8ubXgobmV3IF8ubngsMTEpLDgsITApO3RoaXMuUyE9PW51bGwmJl8uTShhLDEyLHRoaXMuUyk7Y29uc3QgYj1uZXcgXy5MYztcbmhDKF8uSChiLDM1LGEpLFBEKHRoaXMpKTtIRCh0aGlzLDk3LGIpfUdnKGEpe2EuZGF0YSYmYS5kYXRhLmV0JiZIRCh0aGlzLGEuZGF0YS5ldCl9U2MoYSl7dmFyIGI9bmV3IE1hcDtjb25zdCBjPW5ldyBNYXA7Zm9yKGNvbnN0IGQgb2YgYSl7YT1kLmlkO2lmKGIuaGFzKGEpKXRocm93IEVycm9yKFwidGJgXCIrYSk7Yi5zZXQoYSwhMCk7ZC5jYWxsYWJsZSYmdGhpcy5QYS5zZXQoYSxkLmNhbGxhYmxlKTtkLnVybCYmYy5zZXQoYSxkLnVybCl9Yj1BcnJheS5mcm9tKHRoaXMuUGEua2V5cygpKTt0aGlzLnNlbmRNZXNzYWdlKFwidWFiXCIse2l0dW06YyxhaWl3YzpifSl9YXN5bmMgVWMoYSl7aWYoYT1hLmRhdGEuYWlpKXtsZXQgYjtjb25zdCBjPWF3YWl0ICgoYj10aGlzLlBhLmdldChhKSk9PW51bGw/dm9pZCAwOmIuY2FsbCgpKTtjIT09dm9pZCAwJiZ0aGlzLnNlbmRNZXNzYWdlKFwiYWljclwiLHtyZXN1bHQ6YyxpZDphfSl9fX07Xy5ZRD1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1MYyhhKXtyZXR1cm4gXy5QKHRoaXMsMyxhKX19O3ZhciBaRD1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX15YyhhKXtyZXR1cm4gXy5NKHRoaXMsMyxhKX1xZihhKXtyZXR1cm4gXy5QKHRoaXMsNixhKX19O18uJEQ9bmV3IF8uc3QoXCIvZ29vZ2xlLmludGVybmFsLm9uZWdvb2dsZS5hc3luY2RhdGEudjEuQXN5bmNEYXRhU2VydmljZS9HZXRBc3luY0RhdGFcIixfLllELFpELGE9PmEuR2EoKSxfLldqKFpEKSk7Xy5hRT1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciBiRT1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O18uY0U9bmV3IF8uc3QoXCIvZ29vZ2xlLmludGVybmFsLm9uZWdvb2dsZS5hc3luY2RhdGEudjEuQXN5bmNEYXRhU2VydmljZS9SZXBvcnRTdGF0ZVwiLF8uYUUsYkUsYT0+YS5HYSgpLF8uV2ooYkUpKTt2YXIgZEU9YT0+e3N3aXRjaChhKXtjYXNlIFwiaVwiOnJldHVybiAzNjtjYXNlIFwieFwiOnJldHVybiAzNztjYXNlIFwiblwiOnJldHVybiAzNztjYXNlIFwiYVwiOnJldHVybiAzODtjYXNlIFwiZFwiOnJldHVybiAzNztjYXNlIFwiZWRcIjpyZXR1cm4gMzc7Y2FzZSBcImFtX29wXCI6cmV0dXJuIDM3O2Nhc2UgXCJlbmRcIjpyZXR1cm4gMzg7Y2FzZSBcImVyX2VtXCI6cmV0dXJuIDcyO2Nhc2UgXCJybFwiOnJldHVybiA3NztjYXNlIFwibGNcIjpyZXR1cm4gMTExO2Nhc2UgXCJoY1wiOnJldHVybiAxMTI7Y2FzZSBcImRsXCI6cmV0dXJuIDM4O2Nhc2UgXCJrcF9wZlwiOnJldHVybiAxMjE7Y2FzZSBcIm5fZmRiXCI6cmV0dXJuIDEyMjtjYXNlIFwieV9mZGJcIjpyZXR1cm4gMTIzO2RlZmF1bHQ6cmV0dXJuIDB9fSxlRT1hPT57Y29uc3QgYj1uZXcgXy5MYztzd2l0Y2goYSl7Y2FzZSBcInhcIjpfLlAoYiwyOCwxKTticmVhaztjYXNlIFwiblwiOl8uUChiLDI4LDIpO2JyZWFrO2Nhc2UgXCJhbV9vcFwiOl8uUChiLDI4LDQpO2JyZWFrO2Nhc2UgXCJhXCI6Xy5QKGIsXG4yOSwxKTticmVhaztjYXNlIFwiZXJfZW1cIjpfLlAoYiwzMCwxKTticmVhaztjYXNlIFwiZWRcIjpfLlAoYiwyOCwzKTticmVhaztjYXNlIFwiZW5kXCI6Xy5QKGIsMjksMyl9cmV0dXJuIGJ9LGZFPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCxrLGwsbSxwLHIscSx5LEQsRSl7Y29uc3QgRz1kRShiKTtpZihHIT09MCl7Yj1lRShiKTtEfHxfLmlDKGIsYyk7Xy5OKGIsMzksZik7Yz1lQyhkQyhuZXcgXy5nQyxkKSxlKTtEJiZfLmZDKGMsRCk7bSE9PXZvaWQgMCYmXy5NKGMsNCxtKTtwIT09dm9pZCAwJiZfLk0oYyw1LHApO0c9PT0zNiYmKGMueWMoaCkseSYmXy5nayhiLDI0LERhdGUubm93KCkteSkpO3EmJl8uZ2soYyw4LHEpO2smJihfLk0oYyw2LGspLGwmJl8uSChjLDcsbCkpO0UmJl8uSChjLDEwLEUpO18uakMoYixjKTtpZihnKXtoPSExO3RyeXt2YXIgQj1nLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpfWNhdGNoKGphKXtfLlAoYiw0OSwxKSxoPSEwfUIhPW51bGwmJihfLk4oYiw0MyxCLnRvcCksXG5fLk4oYiw0NCxCLmJvdHRvbSksXy5OKGIsNDUsQi5sZWZ0KSxfLk4oYiw0NixCLnJpZ2h0KSk7QiE9bnVsbCYmQi50b3AtQi5ib3R0b20hPT0wfHxofHwoZG9jdW1lbnQuYm9keS5jb250YWlucyhnKT9fLm5oKGcsamE9Pl8udWUoamEpJiZqYS5zdHlsZS5kaXNwbGF5PT1cIm5vbmVcIikmJl8uUChiLDQ5LDMpOl8uUChiLDQ5LDIpKX1yIT1udWxsJiZoQyhiLHIpO2EubG9nKEcsYil9fTt2YXIgZ0U9W1wiYVwiLFwiZXJfZW1cIixcImxjXCIsXCJuX2ZkYlwiLFwieV9mZGJcIl0saEU9ZnVuY3Rpb24oYSl7aWYoIWEuSylyZXR1cm4hMTtpZihhLmopcmV0dXJuITA7YS5qPV8uSkIoXCJwX2xvZ1wiKTtyZXR1cm4hIWEuan0saUU9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCxlLGYsZyxoKXt0aGlzLm89YTt0aGlzLmo9bnVsbDt0aGlzLmk9Yjt0aGlzLnY9Yzt0aGlzLkI9ZTt0aGlzLko9Zjt0aGlzLmVhPWg7dGhpcy5BPWQ7dGhpcy5EPXRoaXMuQz0hMTt0aGlzLks9Z31sb2coYSxiLGMsZCxlLGYsZyxoLGssbCl7IWdFLmluY2x1ZGVzKGEpJiZoRSh0aGlzKSYmdGhpcy5qLmxvZyh0aGlzLmkudG9TdHJpbmcoKSxcIjdcIixhLFwiJmFwPTFcIitiLGMpO2lmKGE9PT1cImlcIil7aWYodGhpcy5EKXJldHVybjt0aGlzLkMmJihhPVwicmxcIix0aGlzLkQ9ITApO3RoaXMuQz0hMH1mRSh0aGlzLm8sYSx0aGlzLmksdGhpcy52LHRoaXMuQSx0aGlzLkIsZCwhMSx0aGlzLkosdGhpcy5lYSxmLGcsZSxoLGssdm9pZCAwLFxubCl9RihhKXtoRSh0aGlzKSYmdGhpcy5qLmxvZyh0aGlzLmkudG9TdHJpbmcoKSxcIjdcIixcImlcIixcIiZhcD0xJnZpcz0wXCIsYSk7ZkUodGhpcy5vLFwiaVwiLHRoaXMuaSx0aGlzLnYsdGhpcy5BLHRoaXMuQixudWxsLCEwKX1HKCl7ZkUodGhpcy5vLFwia3BfcGZcIix0aGlzLmksdGhpcy52LHRoaXMuQSx0aGlzLkIsbnVsbCl9fTt2YXIgakU9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5pPWF9TGEoKXt0aGlzLmkuTGEoKX19O3ZhciBrRT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyxkPW51bGwpe3RoaXMubz1hO3RoaXMuaT1iO3RoaXMuaj1kO3RoaXMuQj1jO3RoaXMuQT10aGlzLnY9ITF9bG9nKGEsYixjLGQsZSxmLGcsaCxrLGwpe2lmKGE9PT1cImlcIil7aWYodGhpcy5BKXJldHVybjt0aGlzLnYmJihhPVwicmxcIix0aGlzLkE9ITApO3RoaXMudj0hMDt0aGlzLmomJnRoaXMuai5HKDEsdGhpcy5pKX1mRSh0aGlzLm8sYSwwLHRoaXMuQiwwLDAsZCwhMSx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsZSx2b2lkIDAsayx0aGlzLmksbCl9Rigpe2ZFKHRoaXMubyxcImlcIiwwLHRoaXMuQiwwLDAsbnVsbCwhMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdGhpcy5pKTt0aGlzLmomJnRoaXMuai5HKDEsdGhpcy5pKX1HKCl7fX07dmFyIGxFPWNsYXNzIGV4dGVuZHMgXy5Se2NvbnN0cnVjdG9yKGEsYixjPSgpPT57fSl7c3VwZXIoKTt0aGlzLkI9YTt0aGlzLm89ITE7dGhpcy5DPWI7dGhpcy5EPWM7aWYoYT10aGlzLkIubWF0Y2goL15jb21tYW5kOihcXGQrKShcXC8/KSQvKSl0aGlzLm89ITAsdGhpcy5pPXBhcnNlSW50KGFbMV0sMTApLHRoaXMuQT0hMX12KGEpe3RoaXMuQXx8KGE9YS5uYigpLGEub3JpZ2luPT09XCJjaHJvbWU6Ly9uZXctdGFiLXBhZ2VcIiYmYS5kYXRhJiZhLmRhdGEubWVzc2FnZVR5cGU9PT1cImNhbi1zaG93LXByb21vLXdpdGgtYnJvd3Nlci1jb21tYW5kXCImJih0aGlzLmomJnRoaXMuai5JYSh3aW5kb3csXCJtZXNzYWdlXCIsdGhpcy52LCExLHRoaXMpLHRoaXMuQT0hMCxhLmRhdGFbdGhpcy5pLnRvU3RyaW5nKCldP3RoaXMuQygpOnRoaXMuRCgpKSl9fTt2YXIgbUU9ZnVuY3Rpb24oYSl7YS5qLmxpc3RlbihhLnYsXCJwbG9nXCIsYS5PKTthLmoubGlzdGVuKGEudixcInNhdmVjXCIsYS5DKTthLmoubGlzdGVuKGEudixcInNhdmVrXCIsYS5DKTthLmoubGlzdGVuKGEudixcImNhZXZcIixhLkMpO2Euai5KYShhLmksXCJyYXZcIixhLlApO2Euai5KYShhLmksXCJoXCIsYS5OKTthLmouSmEoYS52LFwiZGlzbWlzc1wiLGEuUyk7YS5qLmxpc3RlbihhLnYsXCJmZGJcIixhLlQpO2EuRyYmXy5XYihhLkcsYj0+e18ua2goYS5qLGIsYS5VKX0pO2EuRiYmXy5XYihhLkYsYj0+e18ua2goYS5qLGIsYS5NKX0pfSxuRT1jbGFzcyBleHRlbmRzIF8uV3tjb25zdHJ1Y3RvcihhLGIsYyxkLGUsZixnLGg9bnVsbCxrPW51bGwpe3N1cGVyKCk7dGhpcy52PWE7dGhpcy5pPWI7dGhpcy5vPWQ7dGhpcy5qPW5ldyBfLnRnKHRoaXMpO18uJGYodGhpcyx0aGlzLmopO3RoaXMuSz1lO3RoaXMuQT1jO3RoaXMuSj0hMTt0aGlzLkc9Zjt0aGlzLkY9Zzt0aGlzLkI9ITE7dGhpcy5EPWg7dGhpcy5MPVxuazttRSh0aGlzKX1VKCl7UkModGhpcy5pLCExKTt0aGlzLmkuTSYmIXRoaXMuQiYmKHRoaXMubyYmKHRoaXMuby5MYSgpLHRoaXMuQj0hMCksdGhpcy5BLmxvZyhcImFtX29wXCIsXCJcIiwxLHRoaXMuaS5IKCksUEQodGhpcy5pKSx0aGlzLmkuVSx2b2lkIDApKX1NKCl7UkModGhpcy5pLCExKX1QKCl7dGhpcy5KPSEwO3RoaXMubyYmKHRoaXMuaS51Yj90aGlzLm8uaS5DPSEwOl8ubm8odGhpcy5vLmkpKTt0aGlzLkEubG9nKFwiaVwiLFwiJnZpcz0xXCIsMSx0aGlzLmkuSCgpLFBEKHRoaXMuaSksdGhpcy5pLlUsdGhpcy5pLnViLHZvaWQgMCx0aGlzLmkuWWYsdGhpcy5pLmthKTthRD0oKT0+e3RoaXMuaS5pc1Zpc2libGUoKSYmUkModGhpcy5pLCExKX19Tigpe2lmKCF0aGlzLkope3ZhciBhPXRoaXMuaTthLmFifHxhLnZifHxIRChhLDExNCl9fVMoYSl7Y29uc3QgYj1hLmRhdGEmJmEuZGF0YS50eXBlP2EuZGF0YS50eXBlOlwiZFwiLGM9YS5kYXRhJiZhLmRhdGEubmQmJihiPT09XCJhXCJ8fGI9PT1cImRsXCIpLFxuZD1hLmRhdGEmJmEuZGF0YS5hZWk/YS5kYXRhLmFlaTp2b2lkIDA7aWYoYj09PVwiZGxcIil7dmFyIGU9dGhpcy5LO2UuaSYmd2luZG93LnRvcC5wb3N0TWVzc2FnZSh7ZnJhbWVUeXBlOlwib25lLWdvb2dsZS1iYXJcIixtZXNzYWdlVHlwZTpcImV4ZWN1dGUtYnJvd3Nlci1jb21tYW5kXCIsZGF0YTp7Y29tbWFuZElkOmUuaSxjbGlja0luZm86YS5kYXRhLmNsaWNrSW5mb319LFwiY2hyb21lOi8vbmV3LXRhYi1wYWdlXCIpfWIhPT1cImVuZFwiJiYhYyYmdGhpcy5vJiYodGhpcy5vLkxhKCksdGhpcy5CPSEwKTthPTA7aWYoYj09PVwiYVwiKWE9MjtlbHNlIGlmKGI9PVwiZFwifHxiPT1cIm5cInx8Yj09XCJlZFwiKWE9Mzt0aGlzLkQmJnRoaXMuTC5HKGEsdGhpcy5EKTtSQyh0aGlzLmksITEpO3RoaXMuQS5sb2coYixcIlwiLDEsdGhpcy5pLkgoKSxQRCh0aGlzLmkpLHRoaXMuaS5VLHZvaWQgMCxkLHZvaWQgMCx0aGlzLmkua2EpfVQoYSl7YT1hLmRhdGEubGQuYXBhdGs7YSE9PVwieV9mZGJcIiYmYSE9PVwibl9mZGJcInx8XG50aGlzLkEubG9nKGEsXCJcIiwxLHRoaXMuaS5IKCksUEQodGhpcy5pKSx0aGlzLmkuVSx2b2lkIDAsdm9pZCAwLHZvaWQgMCx0aGlzLmkua2EpfUMoYSl7c3dpdGNoKGEuZGF0YS5hcGF0ayl7Y2FzZSBcImRcIjp0aGlzLm8mJnRoaXMuby5MYSgpfX1PKGEpe3ZhciBiPWEuZGF0YS5sZDthPWIuYXBhdGs7aWYoYSE9XCJpXCIpe3ZhciBjPWIuc3A7Yj1iLmFkO3ZhciBkPXRoaXMuaS5IKCksZT1QRCh0aGlzLmkpO3RoaXMuQS5sb2coYSxiLGMsZCxlLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHRoaXMuaS5rYSl9fX07dmFyIG9FPWNsYXNzIGV4dGVuZHMgXy5vb3tjb25zdHJ1Y3RvcihhLGIsYyxkLGUsZixnLGgsayxsLG0pe3N1cGVyKGIsYyxrKTt0aGlzLkE9YTtsfHxtPyh0aGlzLkw9aCx0aGlzLkI9ZCx0aGlzLkY9ZSx0aGlzLkQ9bHx8bXx8XCJcIix0aGlzLks9ISFtLHRoaXMuSj1mLHRoaXMuRz1nKTphLmxvZyhFcnJvcihcInViXCIpKX1qKGEsYil7YT8oYT10aGlzLkYsKGI9T0ModGhpcy5BLHRoaXMuZ3JvdXBJZCx0aGlzLkIsXCJhXCIsMyxifHxcIlwiLHRoaXMuRCkpJiYoYi51PWEpKTooYT10aGlzLkYsKGI9T0ModGhpcy5BLHRoaXMuZ3JvdXBJZCx0aGlzLkIsXCJkXCIsMixifHxcIlwiLHRoaXMuRCkpJiYoYi51PWEpKTtQQyhiLHRoaXMuSix0aGlzLkcsdGhpcy5LLHRoaXMuTCl9dihhKXtjb25zdCBiPU9DKHRoaXMuQSx0aGlzLmdyb3VwSWQsdGhpcy5CLFwiaVwiLDEsXCJcIix0aGlzLkQpO2ImJihiLmM9MSk7UEMoYix0aGlzLkosdGhpcy5HLHRoaXMuSyx0aGlzLkwsYSl9fTt2YXIgcEU9Y2xhc3MgZXh0ZW5kcyBfLm9ve2NvbnN0cnVjdG9yKGEsYixjLGQpe3N1cGVyKGIsYyxkKTt0aGlzLkE9YX1qKCl7dGhpcy5BLmoobnVsbCx0aGlzLk0sXCIxXCIsITEpfXYoKXtjb25zdCBhPXRoaXMuaSgpKzE7dGhpcy5BLmoobnVsbCx0aGlzLmVhLGEudG9TdHJpbmcoKSwhMSl9aSgpe3ZhciBhPXRoaXMuQS5vKG51bGwsdGhpcy5lYSwhMSk7cmV0dXJuIHBhcnNlSW50KGF8fDAsMTApfX07dmFyIHNFPWZ1bmN0aW9uKGEpe2EuaT1fLkYoYS5LLF8ubUMsMTkpO2EuSj1fLlQoYS5pLDEpfHwwO2EucWE9Xy5UKGEuaSwyKXx8MDthLkE9Xy5RZChhLmksMTIsMCl8fDA7YS5MPV8uVChhLmksNCwyNSl8fDA7YS5lYT1fLksoYS5pLDE5KXx8ITE7YS5CPSExO2EuTj1xRShhLGEuaSk7Y29uc3QgYj1fLkwoYS5pLDE0KTtiJiYoYS5HPW5ldyBsRShiLCgpPT5yRShhKSwoKT0+YS5vLnJlc29sdmUobnVsbCkpKTthLk89Xy5LKGEuaSwxNyl8fCExO2EuUz1fLksoYS5pLDE4KXx8ITE7YS5NPV8uSyhhLmksMjIpfHwhMX0sdEU9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMTpyZXR1cm4gMTtjYXNlIDI6cmV0dXJuIDI7Y2FzZSAzOnJldHVybiAzO2RlZmF1bHQ6cmV0dXJuIDB9fSxxRT1mdW5jdGlvbihhLGIpe2lmKCFhLmVhKXJldHVybiBudWxsO2E9Xy5RZChiLDIwLDApfHwwO2I9Xy5RZChiLDIxLDApfHwwO3ZhciBjPW5ldyBjQztiPV8uUChjLDEsYik7cmV0dXJuIF8uUChiLDIsXG5hKX0sckU9ZnVuY3Rpb24oYSl7YS5PJiYhYS5TPyhhLmp8fChhLmo9dUUoYSkpLF8ubm8oYS5qLGI9PntiLnRhcmdldC5IYygpP3ZFKGEsXy5LKGEuaSwxMSksITApOihhLm8ucmVzb2x2ZShudWxsKSwobmV3IGlFKGEuRixhLkosYS5BLGEuTCxhLmouaSgpLGEuZWEsYS5NLGEuTikpLkcoKSl9KSk6dkUoYSxfLksoYS5pLDExKSwhMCl9LHdFPWZ1bmN0aW9uKGEsYj0hMSl7YS5CPWJ9LHVFPWZ1bmN0aW9uKGEpe3ZhciBiPV8uSkIoXCJwX3N0XCIpO2E6e3ZhciBjPWEuWCxkPV8uVChhLmksOCl8fDAsZT1fLlQoYS5pLDIzKSxmPV8uVChhLmksNSwwKSxnPWEucWEudG9TdHJpbmcoKSxoPV8uVChhLmksNCwyNSksaz1hLkoudG9TdHJpbmcoKSxsPV8uVChhLmksOSl8fDAsbT1fLkwoYS5pLDE1KXx8XCJcIixwPV8uSyhhLmksMTYpfHwhMSxyPV8uTChhLmksNil8fHZvaWQgMDthPV8uTChhLmksNyl8fHZvaWQgMDtpZihyfHxhKXRyeXt2YXIgcT1uZXcgb0UoYyxnLGgsayxsLGQsZSxtLHAscixhKX1jYXRjaCh5KXtxPVxubnVsbH1lbHNlIHE9bnVsbDtzd2l0Y2goZil7Y2FzZSAyOmNhc2UgNjpiPXE7YnJlYWsgYTtjYXNlIDE6Yj1uZXcgcEUoYixnLGgscCk7YnJlYWsgYTtkZWZhdWx0OmI9bmV3IF8ucG8oZyxoLGwpfX1yZXR1cm4gYn0sdkU9ZnVuY3Rpb24oYSxiLGMpeyFhLmomJmMmJihhLmo9dUUoYSkpO2xldCBkO2EuQz9kPW5ldyBrRShhLkYsYS5DLGEuQSxhLnZhKTpkPW5ldyBpRShhLkYsYS5KLGEuQSxhLkwsYz9hLmouaSgpOjAsYS5lYSxhLk0sYS5OKTtpZihiKSFjfHxhLk98fGEuU3x8Xy5ubyhhLmopLGQuRigxKSxhLm8ucmVzb2x2ZShudWxsKTtlbHNle2I9bmV3IFhEKGEuSyxhLkYsYS5ULGEuQix2b2lkIDAsYS5VLGEudiE9bnVsbCxhLmZhKTt2YXIgZT1fLkJkKFwiZGRcIiksZj1lLmo7ZiE9PW51bGwmJmYhPT1hLkImJihhLkI9Zik7Xy53aChlLG5ldyBTQyhcInBjXCIsYikpO2U9e2hsOmEudGF9O2EuQiYmKGUuZG09XCJcIik7YS5QPT09XCIxOTJcIiYmKGY9Xy5JeChkb2N1bWVudC5sb2NhdGlvbi5ocmVmLm1hdGNoKF8uQ2opWzVdfHxcbm51bGwpLnJlcGxhY2UoL1xcL3VcXC8oXFxkKykvLFwiXCIpKSYmZi5zdGFydHNXaXRoKFwiL1wiKSYmKGY9Zi5zdWJzdHJpbmcoMSkuc3BsaXQoXCIvXCIsMSksZi5sZW5ndGg9PT0xJiYoZS5scD1mWzBdKSk7ZT1uZXcgWkIoYi5IKCksYS5LLmdldFVybCgpLGEua2EsYS5QLGEuVixhLnY/ITA6ISFfLksoYS5LLDM5KSxhLmhhLGUsdm9pZCAwLGEudik7Zj1uZXcgXy5MYztfLmlDKGYsYS5KKTtfLmpDKGYsZUMoZEMobmV3IF8uZ0MsYS5BKSxhLkwpKTtiLlg9ZjtORChiLGUsXy5rby5pKCkpO2Y9YyYmYS5qP25ldyBqRShhLmopOm51bGw7dmFyIGc9Xy5VKFwiZ2JfTGRcIiksaD1BcnJheS5mcm9tKF8ubGgoXCJnYl9kXCIsZykpLmZpbHRlcihrPT4hXy5WKGssXCJnYl96YVwiKSk7Yz1uZXcgbkUoZSxiLGQsZixhLkcsYz94RShnKTpbXSxoLGEuQyxhLnZhKTthLm8ucmVzb2x2ZShjKX19LHhFPWZ1bmN0aW9uKGEpe2NvbnN0IGI9QXJyYXkuZnJvbShfLmxoKFwiZ2JfemFcIixhKSk7KGE9Xy5VKFwiZ2JfeGFcIixhKSkmJlxuXy5PZyhiLHZvaWQgMCwwLGEpO3JldHVybiBifSx5RT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyxkLGUsZj1udWxsLGc9bnVsbCxoPSExLGspe3RoaXMuRj1iO3RoaXMuWD1hO3RoaXMuVD1jO3RoaXMuSz1kO18uUyhkLDE3KSE9PTMmJl8uUyhkLDE3KSE9PTQ/YS5sb2coRXJyb3IoXCJ2YlwiKSk6KHRoaXMubz1uZXcgXy5ZYyx0aGlzLlY9ZSx0aGlzLnY9Zix0aGlzLkE9MCx0aGlzLkM9dGhpcy52P3RoaXMudi5pKCk6bnVsbCx0aGlzLnZhPWcsdGhpcy5oYT1oLHRoaXMuZmE9ayx0aGlzLkMpP3RoaXMudiYmKGE9dGhpcy52LmooKSkmJih0aGlzLkE9KGE9Xy5RZChhLDE1LDEpKT90RShhKTowKTpzRSh0aGlzKX1EKGEpe3RoaXMua2E9YTtyZXR1cm4gdGhpc31MYyhhKXt0aGlzLlA9YTtyZXR1cm4gdGhpc315YyhhKXt0aGlzLmRhPWE7cmV0dXJuIHRoaXN9cWYoYT0wKXt0aGlzLlU9YTtyZXR1cm4gdGhpc31KYygpe2lmKHRoaXMuQylyZXR1cm4gdkUodGhpcyx0aGlzLmRhLCExKSx0aGlzLm87XG5pZigodGhpcy5qPXVFKHRoaXMpKSYmIXRoaXMuai5vKCkpdGhpcy5vLnJlc29sdmUobnVsbCk7ZWxzZSBpZih0aGlzLkcmJnRoaXMuRy5vKXt2YXIgYT10aGlzLkc7YS5vJiYoYS5qPW5ldyBfLnRnKGEpLF8uJGYoYSxhLmopLGEuai52KHdpbmRvdyxcIm1lc3NhZ2VcIixhLnYsITEsYSksd2luZG93LnRvcC5wb3N0TWVzc2FnZSh7ZnJhbWVUeXBlOlwib25lLWdvb2dsZS1iYXJcIixtZXNzYWdlVHlwZTpcImNhbi1zaG93LXByb21vLXdpdGgtYnJvd3Nlci1jb21tYW5kXCIsY29tbWFuZElkOmEuaX0sXCJjaHJvbWU6Ly9uZXctdGFiLXBhZ2VcIikpfWVsc2UgckUodGhpcyk7cmV0dXJuIHRoaXMub319O3ZhciB6RT1mdW5jdGlvbigpe3JldHVyblwiXCJ9LEFFPWZ1bmN0aW9uKCl7cmV0dXJuXCJcIn0sQkU9ZnVuY3Rpb24oKXtyZXR1cm5cIlwifSxDRT1mdW5jdGlvbigpe3JldHVybiEwfSxERT1mdW5jdGlvbigpe3JldHVybiExfSxHRT1mdW5jdGlvbihhLGIpe0VFKGEpO3JldHVybiBGRShiLlZiKX0sSEU9ZnVuY3Rpb24oYSxiKXtFRShhKTthPUZFKGIuVmIpO3JldHVybiBfLk5sKGEpfSxGRT1mdW5jdGlvbihhKXtyZXR1cm5cIiA8YnV0dG9uXCIrXy5VeShcImdiX2dhIFwiKStfLlZ5KFwiXCIpK18uVHkoJyBhcmlhLWxhYmVsPVwiQ2xvc2VcIicpKyc+IDxzdmcgaGVpZ2h0PVwiMTRcIiB2aWV3Qm94PVwiMCAwIDE0IDE0XCIgd2lkdGg9XCIxNFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj4gPHBhdGgnK18uVXkoXCJcIikrXy5WeShcIlwiKStfLlR5KCcgZmlsbD1cIicrXy5TeShhP1wiI2M0YzdjNVwiOlwiIzQ0NDc0NlwiKSsnXCIgZD1cIk0xLjQgMTRMMi4zODQxOWUtMDcgMTIuNkw1LjYgN0wyLjM4NDE5ZS0wNyAxLjRMMS40IC00Ljc2ODM3ZS0wN0w3IDUuNkwxMi42IC00Ljc2ODM3ZS0wN0wxNCAxLjRMOC40IDdMMTQgMTIuNkwxMi42IDE0TDcgOC40TDEuNCAxNFpcIicpK1xuXCI+PC9wYXRoPiA8L3N2Zz4gPC9idXR0b24+IFwifSxFRT1mdW5jdGlvbihhKXtJRSBpbiBhLmp8fF8uWnkoYSxJRSx7VmI6MH0sR0UsSEUsQ0UsREUsXCJcIix6RSxcIlwiLEFFLEJFKX0sSUU9XCJ0LUgwU0d2Q0FpUk8wXCI7dmFyIE1FPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hO3RoaXMuaT1udWxsfXJlbmRlcigpe3ZhciBhPXRoaXMuaixiPXRoaXMuQixjPXRoaXMuQSxkPXRoaXMuQyxlPXRoaXMudixmPXRoaXMubztKRShhKTtsZXQgZztnPVwiPGRpdlwiK18uVXkoXCJcIikrXy5WeShLRShhLGIsYyxkLGUsZikrXCJcIikrXy5UeSgnIGRhdGEtZmI9XCJcIicpK1wiPlwiO2I9TEUoYixjLGQsZSxmKTtjPV8uWHkoYS5vKTtjIT09XCJcIiYmKGcrPVwiIDxzdHlsZT5cIitjK1wiPC9zdHlsZT5cIik7Zys9YitcIjwvZGl2PlwiO18uYXooYSk7YT1fLldsKGRvY3VtZW50LF8uTmwoZykpO3RoaXMuaSYmdGhpcy5pLmFwcGVuZENoaWxkKGEpO3JldHVybiBhfWZpbGwoYSxiLGMsZCxlKXt0aGlzLkI9YTt0aGlzLkE9Yjt0aGlzLkM9Yzt0aGlzLnY9ZDt0aGlzLm89ZX1pbnN0YW50aWF0ZShhKXt0aGlzLmk9YTtfLiR5KHRoaXMuaixhKX19LE5FPWZ1bmN0aW9uKCl7cmV0dXJuXCJcIn0sT0U9ZnVuY3Rpb24oKXtyZXR1cm5cIlwifSxLRT1mdW5jdGlvbihhLFxuYixjLGQsZSxmKXtyZXR1cm5cImxldHRlci1zcGFjaW5nOjAuMDNweDt0ZXh0LWFsaWduOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3JtYWw7Zm9udC1mYW1pbHk6R29vZ2xlIFNhbnMsUm9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjIwcHg7cGFkZGluZzoxMDVweCAzNHB4O2NvbG9yOlwiK18uU3koT0IoYS5pKT9ZQihcImNvbG9yXCIsZj9cIiNlOGVhZWRcIjpcIiM1RjYzNjhcIik6Zj9cIiNlOGVhZWRcIjpcIiM1RjYzNjhcIikrXCI7XCJ9LFBFPWZ1bmN0aW9uKCl7cmV0dXJuITB9LFFFPWZ1bmN0aW9uKCl7cmV0dXJuITF9LFJFPWZ1bmN0aW9uKGEsYil7SkUoYSk7cmV0dXJuIExFKGIuUGUsYi56ZSxiLlJlLGIud2UsYi5WYil9LFNFPWZ1bmN0aW9uKGEsYil7SkUoYSk7dmFyIGM9Yi5QZSxkPWIuemUsZT1iLlJlLGY9Yi53ZTtiPWIuVmI7YT1cIjxkaXZcIitfLlV5KFwiXCIpK18uVnkoS0UoYSxjLGQsZSxmLGIpK1wiXCIpK18uVHkoJyBkYXRhLWZiPVwiXCInKStcblwiPlwiO2M9TEUoYyxkLGUsZixiKTtyZXR1cm4gXy5ObChhKyhjK1wiPC9kaXY+XCIpKX0sTEU9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1cIiBcIjt2YXIgZz1GRShlKTtyZXR1cm4gZj1mK2crKCcgPHN2ZyBhcmlhLWhpZGRlbj1cInRydWVcIiBmb2N1c2FibGU9XCJmYWxzZVwiIGhlaWdodD1cIjIwcHhcIiB2aWV3Ym94PVwiMCAwIDIwIDIwXCIgd2lkdGg9XCIyMHB4XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPiA8cGF0aCcrXy5VeShcIlwiKStfLlZ5KFwiXCIpK18uVHkoJyBmaWxsPVwiJytfLlN5KGU/XCIjN0ZDRkZGXCI6XCIjMDA2MzlCXCIpKydcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xMCAwQzQuNDggMCAwIDQuNDggMCAxMEMwIDE1LjUyIDQuNDggMjAgMTAgMjBDMTUuNTIgMjAgMjAgMTUuNTIgMjAgMTBDMjAgNC40OCAxNS41MiAwIDEwIDBaTTkgNVY3SDExVjVIOVpNOSA5VjE1SDExVjlIOVpNMiAxMEMyIDE0LjQxIDUuNTkgMTggMTAgMThDMTQuNDEgMTggMTggMTQuNDEgMTggMTBDMTggNS41OSAxNC40MSAyIDEwIDJDNS41OSAyIDIgNS41OSAyIDEwWlwiIGZpbGwtcnVsZT1cImV2ZW5vZGRcIicpK1xuXCI+PC9wYXRoPiA8L3N2Zz4gPHBcIitfLlV5KFwiXCIpK18uVnkoXCJtYXJnaW4tdG9wOjE2cHg7bWFyZ2luLWJvdHRvbTowO1wiKStfLlR5KFwiXCIpK1wiPiBcIisoYT9cIiBcIitfLlN5KGEpK1wiPGJyPiBcIjpcIlwiKStcIiBcIitfLlN5KGIpK1wiIDxhXCIrXy5VeShcImdiX2lhIFwiKStfLlZ5KFwibGV0dGVyLXNwYWNpbmc6MC4wM3B4O2ZvbnQtZmFtaWx5Okdvb2dsZSBTYW5zLFJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoyMHB4O1wiKStfLlR5KCcgdGFiaW5kZXg9XCIwXCIgdGFyZ2V0PVwiX2JsYW5rXCInKStcIj5cIitfLlN5KGMpK1wiPC9hPiBcIitfLlN5KGQpK1wiIDwvcD4gXCIpfSxKRT1mdW5jdGlvbihhKXtURSBpbiBhLmp8fChfLlp5KGEsVEUse1BlOjAsemU6MSxSZToyLHdlOjMsVmI6NH0sUkUsU0UsUEUsUUUsJyBkYXRhLWZiPVwiXCInLE5FLFwiXCIsT0UsS0UpLEVFKGEpKX0sVEU9XCJ0LVBGS3VHWWhSZTVzXCI7dmFyIFdFPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hO3RoaXMuaT1udWxsfXJlbmRlcigpe3ZhciBhPXRoaXMuaixiPXRoaXMubztVRShhKTtsZXQgYztjPVwiPGRpdlwiK18uVXkoXCJnYl9qYSBnYl9rYSBcIikrXy5WeShWRShhLGIpK1wiXCIpK18uVHkoXCJcIikrXCI+XCI7Yj1cIiBcIitGRShiKStcIiBcIjtjb25zdCBkPV8uWHkoYS5vKTtkIT09XCJcIiYmKGMrPVwiIDxzdHlsZT5cIitkK1wiPC9zdHlsZT5cIik7Yys9YitcIjwvZGl2PlwiO18uYXooYSk7YT1fLldsKGRvY3VtZW50LF8uTmwoYykpO3RoaXMuaSYmdGhpcy5pLmFwcGVuZENoaWxkKGEpO3JldHVybiBhfWZpbGwoYSl7dGhpcy5vPWF9aW5zdGFudGlhdGUoYSl7dGhpcy5pPWE7Xy4keSh0aGlzLmosYSl9fSxYRT1mdW5jdGlvbigpe3JldHVyblwiXCJ9LFlFPWZ1bmN0aW9uKCl7cmV0dXJuXCJcIn0sVkU9ZnVuY3Rpb24oYSxiKXtiPWI/XCIjMjgyYTJjXCI6XCIjZTllZWY2XCI7cmV0dXJuXCJiYWNrZ3JvdW5kOlwiK18uU3koU0IoT0IoYS5pKT9ZQihcImJhY2tncm91bmRcIixcbmIpOmIpKStcIjtcIn0sWkU9ZnVuY3Rpb24oKXtyZXR1cm4hMH0sJEU9ZnVuY3Rpb24oKXtyZXR1cm4hMX0sYUY9ZnVuY3Rpb24oYSxiKXtVRShhKTtyZXR1cm5cIiBcIitGRShiLlZiKStcIiBcIn0sYkY9ZnVuY3Rpb24oYSxiKXtVRShhKTtiPWIuVmI7YT1cIjxkaXZcIitfLlV5KFwiZ2JfamEgZ2Jfa2EgXCIpK18uVnkoVkUoYSxiKStcIlwiKStfLlR5KFwiXCIpK1wiPlwiO2I9XCIgXCIrRkUoYikrXCIgXCI7cmV0dXJuIF8uTmwoYSsoYitcIjwvZGl2PlwiKSl9LFVFPWZ1bmN0aW9uKGEpe2NGIGluIGEuanx8KF8uWnkoYSxjRix7VmI6MH0sYUYsYkYsWkUsJEUsXCJcIixYRSxcImdiX2phIGdiX2thIFwiLFlFLFZFKSxFRShhKSl9LGNGPVwidC1MU0xtM2FKSUZBVVwiO3ZhciBoRj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YTt0aGlzLmk9bnVsbH1yZW5kZXIoKXt2YXIgYT10aGlzLmosYj10aGlzLnYsYz10aGlzLm87ZEYoYSk7Yj1cIjxkaXZcIitfLlV5KFwiXCIpK18uVnkoZUYoYSxiLGMpK1wiXCIpK18uVHkoZkYoYSxiLGMpK1wiXCIpK1wiPlwiO2M9Z0YoYyk7Y29uc3QgZD1fLlh5KGEubyk7ZCE9PVwiXCImJihiKz1cIiA8c3R5bGU+XCIrZCtcIjwvc3R5bGU+XCIpO2IrPWMrXCI8L2Rpdj5cIjtfLmF6KGEpO2E9Xy5XbChkb2N1bWVudCxfLk5sKGIpKTt0aGlzLmkmJnRoaXMuaS5hcHBlbmRDaGlsZChhKTtyZXR1cm4gYX1maWxsKGEsYil7dGhpcy52PWE7dGhpcy5vPWJ9aW5zdGFudGlhdGUoYSl7dGhpcy5pPWE7Xy4keSh0aGlzLmosYSl9fSxmRj1mdW5jdGlvbigpe3JldHVybicgZGlyPVwiJytfLlN5KFwibHRyXCIpKydcIid9LGlGPWZ1bmN0aW9uKCl7cmV0dXJuXCJcIn0sZUY9ZnVuY3Rpb24oYSxiLGMpe3JldHVyblwicGFkZGluZzpcIitfLlN5KE9CKGEuaSk/WUIoXCJwYWRkaW5nXCIsXG5iP1wiMTJweFwiOlwiM3B4XCIpOmI/XCIxMnB4XCI6XCIzcHhcIikrXCI7XCIrKGM/XCJcIjpcImRpc3BsYXk6XCIrXy5TeShPQihhLmkpP1lCKFwiZGlzcGxheVwiLFwiaW5saW5lLWJsb2NrXCIpOlwiaW5saW5lLWJsb2NrXCIpK1wiO1wiKStcInZlcnRpY2FsLWFsaWduOlwiK18uU3koT0IoYS5pKT9ZQihcInZlcnRpY2FsLWFsaWduXCIsXCJtaWRkbGVcIik6XCJtaWRkbGVcIikrXCI7XCIrKGMmJiFPQihhLmkpP1wibWFyZ2luLWxlZnQ6XCIrXy5TeShcImNhbGMoNTAlIC0gMjRweClcIikrXCI7XCI6XCJcIikrKGMmJk9CKGEuaSk/XCJtYXJnaW4tcmlnaHQ6XCIrXy5TeShcImNhbGMoNTAlIC0gMjRweClcIikrXCI7XCI6XCJcIikrKGM/XCJtYXJnaW4tdG9wOlwiK18uU3koT0IoYS5pKT9ZQihcIm1hcmdpbi10b3BcIixcIjk4cHhcIik6XCI5OHB4XCIpK1wiO1wiOlwiXCIpfSxqRj1mdW5jdGlvbigpe3JldHVybiEwfSxrRj1mdW5jdGlvbigpe3JldHVybiExfSxsRj1mdW5jdGlvbihhLGIpe2RGKGEpO3JldHVybiBnRihiLlhlKX0sbUY9ZnVuY3Rpb24oYSxiKXtkRihhKTt2YXIgYz1cbmIuV2c7Yj1iLlhlO2E9XCI8ZGl2XCIrXy5VeShcIlwiKStfLlZ5KGVGKGEsYyxiKStcIlwiKStfLlR5KGZGKGEsYyxiKStcIlwiKStcIj5cIjtjPWdGKGIpO3JldHVybiBfLk5sKGErKGMrXCI8L2Rpdj5cIikpfSxnRj1mdW5jdGlvbihhKXtyZXR1cm5cIiA8ZGl2XCIrXy5VeSgoYT9cIm1zcGluLW1lZGl1bVwiOlwibXNwaW4tc21hbGxcIikrXCIgXCIpK18uVnkoXCJcIikrXy5UeShcIlwiKStcIj4gPGRpdj4gPGRpdj48L2Rpdj4gPC9kaXY+IDwvZGl2PiBcIn0sZEY9ZnVuY3Rpb24oYSl7bkYgaW4gYS5qfHxfLlp5KGEsbkYse1dnOjAsWGU6MX0sbEYsbUYsakYsa0YsXCJcIixmRixcIlwiLGlGLGVGKX0sbkY9XCJ0LXM5MUJfWHExUGRFXCI7dmFyIHBGPWZ1bmN0aW9uKGEpe2Euby5saXN0ZW4oYS5pLFwic29ycFwiLGEuTCk7YS5vLmxpc3RlbihhLmksXCJzb3J0XCIsYS5YKTthLm8ubGlzdGVuKGEuaSxcInJhdlwiLGEuVCk7YS5vLmxpc3RlbihhLmksXCJoXCIsYS5VKTthLm8ubGlzdGVuKGEuaSxcInNkbVwiLCgpPT57YS5qJiZhLmoucXVlcnlTZWxlY3RvcihcIltkYXRhLWZiXVwiKSYmb0YoYSl9KTthLm8ubGlzdGVuKGEuRixcInNkblwiLGEuVik7YS5vLmxpc3RlbihhLkYsXCJjbG9zZVwiLGEuUyl9LHFGPWZ1bmN0aW9uKGEsYixjKXthLk09YjthLkM9YztyZXR1cm4gYX0sckY9ZnVuY3Rpb24oYSxiKXthLnYmJmEudi5kaXNwb3NlKCk7YS52PWJ9LHNGPWZ1bmN0aW9uKGEsYixjLGQpe2EuQT1iO2EuTj1jO2EuRD1kO3JldHVybiBhfSx0Rj1mdW5jdGlvbihhLGIpe2EuUD1ifSxvRj1mdW5jdGlvbihhKXtpZihhLkE9PTEmJmEuQyYmYS5EKXtfLlgoYS5qLFwiYmFja2dyb3VuZFwiLGEuaS5HP1wiIzI4MmEyY1wiOlwiI2U5ZWVmNlwiKTtfLnNlKGEuaik7dmFyIGI9XG5uZXcgTUUoYS5HKTt6RChhLmkpP3VGKGEsYixhLkQpOnZGKGEsYixhLkQpO2I9Yi5yZW5kZXIoKTt2YXIgYz1iLnF1ZXJ5U2VsZWN0b3JBbGwoXCJhXCIpWzBdO18uaWgoYyxhLkMpO2Euby5saXN0ZW4oYyxcImNsaWNrXCIsKCk9Pnt2YXIgZD1hLmk7Xy5TKGQuaSwyMSkhPW51bGwmJkhEKGQsXy5RZChkLmksMjEsMCkpfSk7d0YoYSxiKXx8YS5vLmxpc3RlbihiLFwiZm9jdXNvdXRcIiwoKT0+dm9pZCBLRChhLmksITEpKTthLmouYXBwZW5kQ2hpbGQoYik7Yi5mb2N1cygpO1FEKGEuaSxcIjMxNHB4XCIpfX0seEY9ZnVuY3Rpb24oYSl7YS5qJiYoXy5sZyhhLmopLGEuQSE9MSYmXy5MZyhhLkosITApLGEuaj1udWxsKX0sd0Y9ZnVuY3Rpb24oYSxiKXtiPWIucXVlcnlTZWxlY3RvckFsbChcImJ1dHRvblwiKTtyZXR1cm4gYi5sZW5ndGg9PTE/KGEuby5saXN0ZW4oYlswXSxcImNsaWNrXCIsKCk9PnZvaWQgUkMoYS5pLCExKSksITApOiExfSx1Rj1mdW5jdGlvbihhLGIsYyl7Yz0vKC4qKSUxXFwkcyguKiklMlxcJHMoLiopJTNcXCRzKC4qKS8uZXhlYyhjKTtcbmIuZmlsbChjWzFdLGNbMl0sY1szXSxjWzRdLGEuaS5HKX0sdkY9ZnVuY3Rpb24oYSxiLGMpe2M9LyguKiklMVxcJHMoLiopJTJcXCRzKC4qKS8uZXhlYyhjKTtiLmZpbGwoXCJcIixjWzFdLGNbMl0sY1szXSxhLmkuRyl9LEJGPWNsYXNzIGV4dGVuZHMgXy5Xe2NvbnN0cnVjdG9yKGEsYixjLGQpe3N1cGVyKCk7dGhpcy5pPWE7dGhpcy5GPWI7dGhpcy5KPWM7dGhpcy5CPWQ7dGhpcy5NPTA7dGhpcy5DPW51bGw7dGhpcy5BPTA7dGhpcy5OPSEwO3RoaXMuRD1udWxsO3RoaXMuUD0hMTt0aGlzLkc9bmV3IF8uYno7dGhpcy5LPXRoaXMuaj10aGlzLnY9bnVsbDt0aGlzLk89ITE7dGhpcy5vPW5ldyBfLnRnKHRoaXMpO18uJGYodGhpcyx0aGlzLm8pO3BGKHRoaXMpfVQoKXt0aGlzLkIuc2V0QXR0cmlidXRlKFwiYXJpYS1leHBhbmRlZFwiLCEwKTt4Rih0aGlzKTt0aGlzLnYmJnRoaXMudi5ZYSghMSl9VSgpe3RoaXMuQi5zZXRBdHRyaWJ1dGUoXCJhcmlhLWV4cGFuZGVkXCIsITEpfVMoKXt0aGlzLkIuc2V0QXR0cmlidXRlKFwiYXJpYS1leHBhbmRlZFwiLFxuITEpO3RoaXMuQi5mb2N1cygpfVgoKXtzd2l0Y2godGhpcy5NKXtjYXNlIDI6eEYodGhpcyk7T0QodGhpcy5pKTt5RCh0aGlzLmksITEpO3RoaXMuQi5jbGljaygpO2JyZWFrO2Nhc2UgMTp0aGlzLkMmJl8uUWwodG9wLmxvY2F0aW9uLF8uZW4odGhpcy5DKSk7Y2FzZSAzOnRoaXMuTCgpLG9GKHRoaXMpfWlmKHRoaXMuUCl7Y29uc3QgYT1fLnJlKFwiSUZSQU1FXCIpLGI9Xy5kZih3aW5kb3csXCJtZXNzYWdlXCIsYz0+e2lmKGMubmIoKS5kYXRhPT09XCJhZmJwXCIpe2M9dGhpcy5pO3N3aXRjaChjLkEpe2Nhc2UgMTpIRChjLDczKX10aGlzLmkuSCgpLnJlbW92ZUNoaWxkKGEpO18ubWYoYil9fSk7YS5zcmM9Xy4kZCh5RikudG9TdHJpbmcoKTthLnN0eWxlLmRpc3BsYXk9XCJub25lXCI7dGhpcy5pLkgoKS5hcHBlbmRDaGlsZChhKX19TCgpe3RoaXMuaiYmeEYodGhpcyk7aWYoIXRoaXMuSyl7aWYoIXRoaXMuTyl7dmFyIGE9Xy5yZShcIkxJTktcIik7UUIoYSx0aGlzLkE9PTE/ekY6QUYsXCJzdHlsZXNoZWV0XCIpO1xuZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChhKTt0aGlzLk89ITB9YT1uZXcgaEYodGhpcy5HKTthLmZpbGwodGhpcy5OLHRoaXMuQT09MSk7dGhpcy5LPWEucmVuZGVyKCl9YT10aGlzLks7c3dpdGNoKHRoaXMuQSl7Y2FzZSAxOnZhciBiPW5ldyBXRSh0aGlzLkcpO2IuZmlsbCh0aGlzLmkuRyk7dGhpcy5qPWIucmVuZGVyKCk7d0YodGhpcyx0aGlzLmopO3RoaXMuai5hcHBlbmRDaGlsZChhKTt0aGlzLmkuSCgpLmFwcGVuZENoaWxkKHRoaXMuaik7bEQodGhpcy5GLCExKTt5RCh0aGlzLmksITApO2JyZWFrO2RlZmF1bHQ6dGhpcy5qPWEsXy5MZyh0aGlzLkosITEpLGE9dGhpcy5qLGI9dGhpcy5KLGIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLGIubmV4dFNpYmxpbmcpfX1WKGEpe2lmKGEuZGF0YSYmYS5kYXRhLmRuJiYoYT1hLmRhdGEuZG4pJiZ6RCh0aGlzLmkpJiZ0aGlzLnYmJiF0aGlzLmkuVGcpe3ZhciBiPXRoaXMudi5IKCk7aWYoYj1fLlUoXCJnYl94YlwiLFxuYikpYi5pbm5lclRleHQ9YX19fSx5Rj0oMCxfLkZCKWBodHRwczovL3d3dy5nc3RhdGljLmNvbS9nYi9odG1sL2FmYnAuaHRtbGAsQUY9KDAsXy5GQilgaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2ljb25zL21hdGVyaWFsL2FuaW0vbXNwaW4vbXNwaW5fZ29vZ2NvbG9yX3NtYWxsLmNzc2AsekY9KDAsXy5GQilgaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2ljb25zL21hdGVyaWFsL2FuaW0vbXNwaW4vbXNwaW5fZ29vZ2NvbG9yX21lZGl1bS5jc3NgO3ZhciBDRjtDRj1mdW5jdGlvbigpe3ZhciBhOyhhPV8uVShcImdiX3hhXCIpKT9hPVthXTphPShhPV8uVShcImdiX2JcIikpP18ubGgoXCJnYl9kXCIsYSk6W107cmV0dXJuIEFycmF5LmZyb20oYSl9O18uREY9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZz1udWxsLGg9ITEsaz0wLGw9bnVsbCxtKXtjb25zdCBwPV8uRihiLCRCLDExKXx8bnVsbDtjPW5ldyB5RShjLGUsZCxmLHAsZyxsLCEhXy5LKGIsMTgpLG0pO2Q9Xy5KKGIsOSk7Yy50YT1kO2Euaj1jLkQoXy5KKGIsNCkpLkxjKF8uSihiLDUpKS55YyhoKS5xZihrKTt3RShhLmosISFfLksoYiwxMCkpO2xldCByOyhmPT1udWxsPzA6KHI9Xy5GKGYsXy5tQywxOSkpPT1udWxsPzA6Xy5LKHIsMjQpKXx8YS5KYyhtKX07XG5fLkVGPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5pPW5ldyBfLlljfUpjKGEpe2lmKHRoaXMuail7dmFyIGI9YSE9bnVsbCYmYS5uYigpIT09MTt0aGlzLmouSmMoKS50aGVuKGM9PntiJiYodGhpcy5pPW5ldyBfLlljKTt0aGlzLmkucmVzb2x2ZShjKX0pfX1sb2FkKGEsYixjKXtpZihhKXtpZihfLksoYSwxMykpe3ZhciBkPUNGKCk7Zm9yKHZhciBlIG9mIGQpXy5keihuZXcgXy5leihlLGIsYyksITApfWQ9ISFfLksoYSwxMCk7aWYoZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI2diIFtkYXRhLW9nc3ItdXBdXCIpKXt2YXIgZj1fLlFkKGEsNywwKSE9PTAsZz1fLkJqKGEsXy5uQywxLF8uQWooKSk7aWYoZnx8ZyYmZy5sZW5ndGgpe2Y9Zy5maWx0ZXIocj0+Xy5TKHIsMTcpIT09Myk7aWYoXy5LKGEsMTIpJiZmLmxlbmd0aD4xKXt2YXIgaD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO2UuYXBwZW5kQ2hpbGQoaCk7dmFyIGs9Zy5maWx0ZXIocj0+Xy5TKHIsMTcpPT09MSlbMF07XG5rPWFDKGgsayxhLDEpfWY9Xy5KQihcImRkXCIpO2ZvcihsZXQgcj0wO3I8Zy5sZW5ndGg7cisrKXtjb25zdCBxPWdbcl07aWYoIXEuZ2V0VXJsKCkpe2IubG9nKEVycm9yKFwid2JcIikpO2NvbnRpbnVlfWlmKF8uUyhxLDE3KT09PTMpe18uREYodGhpcyxhLGIsZSxjLHEpO2NvbnRpbnVlfXZhciBsPWYuajtsPW5ldyBYRChxLGMsZSxsPT09bnVsbD9kOmwsaCk7Y29uc3QgeT1rP2s6YUMobC5IKCkscSxhKTt2YXIgbT1bXSxwPV8uUyhxLDE3KT09PTE7Y29uc3QgRD1fLlMocSwxNyk9PT0yO2lmKHApbT0obT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI2diIFtkYXRhLW9nc3ItYWx0XVwiKSk/W21dOltdLF8ud2goZixuZXcgU0MoXCJhcHBcIixsKSk7ZWxzZSBpZihEKXttPUNGKCk7aWYoXy5LKHEsNTUpKXtsZXQgRSxHLEI7cD0oRT1hKT09bnVsbD92b2lkIDA6KEc9Xy5GKEUsJEIsMTEpKT09bnVsbD92b2lkIDA6KEI9Xy5GKEcsb0MsMTApKT09bnVsbD92b2lkIDA6Xy5MKEIsNSk7KHA9dkMocCkpJiZcbm0ucHVzaChwKX1fLndoKGYsbmV3IFNDKFwiYWNjb3VudFwiLGwpKX1mb3IobGV0IEUgb2YgbSl7TkQobCx5LEUpO209Xy5VKFwiZ2JfeGFcIik7bT1EJiZtP206RS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwiZ2JfZFwiKVswXXx8RTtwPW5ldyBCRihsLHksRSxtKTtjb25zdCBHPV8uSihxLDE1KSxCPV8uSShhLDYpfHxfLkkoYSwxNiksamE9Xy5KKHEsMjIpO3RGKHNGKHFGKHAsXy5RZChxLDIzLDApLEcpLF8uUyhxLDIwKSxCLGphKSwhIV8uSyhxLDI1KSk7aWYoQil7bGV0IFRiO3N3aXRjaChfLlMocSwxNykpe2Nhc2UgMTpUYj1fLlUoXCJnYl9uXCIpO2JyZWFrO2Nhc2UgMjpUYj1fLlUoXCJnYl9zXCIpfVRiJiZyRihwLG5ldyBfLlNtKG0sVGIpKX19fX1lbHNlIGIubG9nKEVycm9yKFwieGJcIikpfWVsc2UgYy5sb2coMTE4LF8uUGkobmV3IF8uTGMsZCkpfWVsc2UgYi5sb2coRXJyb3IoXCJ5YlwiKSl9fTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuKGZ1bmN0aW9uKCl7Y29uc3QgYT1uZXcgXy5FRjthLmxvYWQoXy5GKF8uYWQsXy5wQywyMSksXy5QYyxfLk1sKTtjb25zdCBiPV8uJGMuaSgpLkY7Xy5pZChcImFzbFwiLGEpO2EuaS50aGVuKGU9PntiLnJlc29sdmUoZSl9KTtsZXQgYztjb25zdCBkPShjPV8uSkIoXCJkZFwiKSk9PW51bGw/dm9pZCAwOmMubmMoXCJhcHBcIik7ZCYmKF8uZGgoXy5QYyxfLk9pLFtcInVwaVwiLFwidXBvXCJdLCgpPT57ZC5UKF8uemkoXy5PaSkpfSksZC5UKF8uemkoXy5PaSkpKX0pKCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBKcz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMubz1fLkJkKFwiZGRcIik7Y29uc3QgYT10aGlzLm8ubmMoXCJhY2NvdW50XCIpO3RoaXMuaT1hP2EubmMoKTpudWxsO3RoaXMuaj10aGlzLm8ubmMoXCJnYmQ0XCIpfUdkKGEpe2xldCBiOyhiPXRoaXMuaik9PW51bGx8fGIuR2QoYSk7bGV0IGM7KGM9dGhpcy5pKT09bnVsbHx8Yy5zZW5kTWVzc2FnZShcInJjdVwiLHtjdTphfSl9QihhKXtsZXQgYjsoYj10aGlzLmopPT1udWxsfHxiLkhiKGEpfXYoYSxiLGMsZCl7bGV0IGU7KGU9dGhpcy5qKT09bnVsbHx8ZS5BYihhLGIsYyxkKTtsZXQgZjsoZj10aGlzLmkpPT1udWxsfHxmLlFjKGEsYixjLGQpfUooKXtsZXQgYTsoYT10aGlzLmopPT1udWxsfHxhLlBhKCEwKTtsZXQgYjsoYj10aGlzLmkpPT1udWxsfHxiLkFnKCl9RChhKXtsZXQgYjsoYj10aGlzLmkpPT1udWxsfHxiLmxpc3RlbihcInB1XCIsYSwhMSx0aGlzKX1GKGEpe2xldCBiOyhiPXRoaXMuaSk9PW51bGx8fGIubGlzdGVuKFwicmF2XCIsYSxcbiExLHRoaXMpfUcoYSl7bGV0IGI7KGI9dGhpcy5pKT09bnVsbHx8Yi5saXN0ZW4oXCJzbXVcIixjPT57YS5jYWxsKHRoaXMsYy5EaCl9LCExLHRoaXMpfUMoYSl7bGV0IGI7KGI9dGhpcy5pKT09bnVsbHx8Yi5TYyhhKX1BKGE9ITEpe2xldCBiOyhiPXRoaXMuaSk9PW51bGx8fGIuVWYoYSl9fTt2YXIgS3M9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmk9Xy5CZChcImRkXCIpfWooKXt0aGlzLmkuQShcImF3XCIpO3RoaXMuaS5BKFwiYXBwXCIpfX07dmFyIExzPV8uRihfLmFkLF8uSmUsNik7Xy5LKExzLDQxKT8oXy5BKFwiZ2Jhci5SXCIsS3MpLEtzLnByb3RvdHlwZS5yYT1Lcy5wcm90b3R5cGUuaixfLiRjLmkoKS5vLnJlc29sdmUobmV3IEtzKSk6Xy4kYy5pKCkuby5yZWplY3QoRXJyb3IoXCJOYVwiKSk7Xy5BKFwiZ2Jhci5TXCIsSnMpO0pzLnByb3RvdHlwZS5zYT1Kcy5wcm90b3R5cGUuR2Q7SnMucHJvdG90eXBlLnNiPUpzLnByb3RvdHlwZS5CO0pzLnByb3RvdHlwZS5zYz1Kcy5wcm90b3R5cGUudjtKcy5wcm90b3R5cGUuc2Q9SnMucHJvdG90eXBlLko7SnMucHJvdG90eXBlLnNlPUpzLnByb3RvdHlwZS5EO0pzLnByb3RvdHlwZS5zZj1Kcy5wcm90b3R5cGUuQztKcy5wcm90b3R5cGUuc2c9SnMucHJvdG90eXBlLkY7SnMucHJvdG90eXBlLnNoPUpzLnByb3RvdHlwZS5BO0pzLnByb3RvdHlwZS5zaT1Kcy5wcm90b3R5cGUuRztfLiRjLmkoKS5qLnJlc29sdmUobmV3IEpzKTtfLkYoXy5hZCxfLlJjLDE0KXx8Xy4kYy5pKCkuQS5yZXNvbHZlKCExKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIFNzPS9eW1xcdysvXy1dK1s9XXswLDJ9JC87dmFyIFRzO3ZhciBWcz1mdW5jdGlvbihhLGIpe2lmKGRvY3VtZW50LmZvcm1zWzBdJiZkb2N1bWVudC5mb3Jtc1swXS5xKXtjb25zdCBjPShkb2N1bWVudC5mb3Jtc1swXS5xfHxcIlwiKS52YWx1ZTtjJiZfLmloKGIsYi5ocmVmLnJlcGxhY2UoLyhbPyZdKXE9W14mXSp8JC8sZnVuY3Rpb24oZCxlKXtyZXR1cm4oZXx8XCImXCIpK1wicT1cIitlbmNvZGVVUklDb21wb25lbnQoYyl9KSl9ZWxzZSBhLkMubG9nKG5ldyBVcyl9LFdzPWNsYXNzIGV4dGVuZHMgXy5naHtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKGEsYik7dGhpcy5EPXRoaXMuai5nZXRBdHRyaWJ1dGUoXCJkYXRhLXBpZFwiKTt0aGlzLmk9Xy5vaCh0aGlzLmosXCJnYl8wXCIpO3RoaXMuQT1fLm9oKHRoaXMuaixcImdiX1dcIik7dGhpcy5vPW5ldyBfLlJzKF8uTWwsITEpO18ua2godGhpcyx0aGlzLmosKDAsXy56KSh0aGlzLkIsdGhpcykpO2lmKGE9Xy5VKFwiZ2JfS1wiLHRoaXMuaikpaWYoYT1hLnN0eWxlLmJhY2tncm91bmRQb3NpdGlvbi5zcGxpdChcIiBcIiksXG5hPVwiI1wiK3RoaXMuai5pZCtcIiAuZ2JfSzo6YmVmb3Jle2xlZnQ6XCIrYVswXStcIjt0b3A6XCIrYVsxXStcIn1cIixUcyl7Yj1Uczt2YXIgYz12b2lkIDA7aWYoYz09dm9pZCAwfHxjPDApe2M9bnVsbDt0cnl7Yz1iLmNzc1J1bGVzfHxiLnJ1bGVzfWNhdGNoKGYpe2lmKGYuY29kZT09MTUpdGhyb3cgZi5zdHlsZVNoZWV0PWIsZjt9Yz1jLmxlbmd0aH1pZihiLmluc2VydFJ1bGUpYi5pbnNlcnRSdWxlKGEsYyk7ZWxzZSBpZihhPS9eKFteXFx7XSspXFx7KFteXFx7XSspXFx9Ly5leGVjKGEpLGEubGVuZ3RoPT0zKWIuYWRkUnVsZShhWzFdLGFbMl0sYyk7ZWxzZSB0aHJvdyBFcnJvcihcIk9hXCIpO31lbHNle3ZhciBkPV8ub2coKTtiPWQuaTtjPV8ucWUoZC5pLFwiU1RZTEVcIik7YTp7dmFyIGU9KF8uaWcoYil8fF8udCkuZG9jdW1lbnQ7aWYoZS5xdWVyeVNlbGVjdG9yJiYoZT1lLnF1ZXJ5U2VsZWN0b3IoJ3N0eWxlW25vbmNlXSxsaW5rW3JlbD1cInN0eWxlc2hlZXRcIl1bbm9uY2VdJykpJiYoZT1lLm5vbmNlfHxcbmUuZ2V0QXR0cmlidXRlKFwibm9uY2VcIikpJiZTcy50ZXN0KGUpKWJyZWFrIGE7ZT1cIlwifWUmJmMuc2V0QXR0cmlidXRlKFwibm9uY2VcIixlKTtjLnR5cGU9XCJ0ZXh0L2Nzc1wiO2Q9ZC5pLmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiSEVBRFwiKVswXTtjLnN0eWxlU2hlZXQ/Yy5zdHlsZVNoZWV0LmNzc1RleHQ9YTpjLmFwcGVuZENoaWxkKGIuY3JlYXRlVGV4dE5vZGUoYSkpO2QuYXBwZW5kQ2hpbGQoYyk7VHM9Yy5zaGVldH19QihhKXt2YXIgYj1hLmN1cnJlbnRUYXJnZXQ7YiYmXy5WKGIsXCJnYnBxXCIpJiZWcyh0aGlzLGIpO2lmKHRoaXMubyl7YT1uZXcgXy5MYzt2YXIgYz1fLk5zKHRoaXMuRCk7dHlwZW9mIGMhPT1cIm51bWJlclwifHxpc05hTihjKXx8Xy5OKGEsMTUsYyk7Xy5NKGEsMjAsITApO2xldCBlPWM9MDtpZih0aGlzLmkpe3ZhciBkPWIub2Zmc2V0VG9wO2lmKF8uVih0aGlzLkEsXCJnYl9lYVwiKSlmb3IoZD1iLm9mZnNldFRvcCxiPWIucGFyZW50RWxlbWVudDtiJiZiIT10aGlzLkE7KWQrPVxuYi5vZmZzZXRUb3AsYj1iLnBhcmVudEVsZW1lbnQ7Yj1kKzIwPDQ1NjtkPXRoaXMuaS5jbGFzc0xpc3QuY29udGFpbnMoXCJnYl9VXCIpO3RoaXMuaS5jbGFzc0xpc3QuY29udGFpbnMoXCJnYl9UXCIpPyhlPTEsYz1iPzE6Mik6ZCYmKGU9MixjPWI/Mzo0KX1fLlFzKHRoaXMubyxjLC0xLC0xLGUsITEsYSl9fX0sVXM9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3Rvcigpe3N1cGVyKCl9fTt2YXIgWXM9Y2xhc3MgZXh0ZW5kcyBfLmdoe2NvbnN0cnVjdG9yKCl7dmFyIGE9Xy5QYztzdXBlcihYcyxhKTt2YXIgYj1fLmxoKFwiZ2JfeVwiLHRoaXMuaik7Y29uc3QgYz1bXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyljLnB1c2gobmV3IFdzKGJbZF0sYSkpO3RoaXMuaT1jfVIoKXtzdXBlci5SKCk7Zm9yKGxldCBhPTA7YTx0aGlzLmkubGVuZ3RoO2ErKyl0aGlzLmlbYV0uZGlzcG9zZSgpO3RoaXMuaT1udWxsfX07dmFyIFhzPV8uVShcImdiX29cIik7WHMmJm5ldyBZcztcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIFZGPWZ1bmN0aW9uKGEpe2E9Xy5KKGEsMTApO3JldHVybiBhPT1udWxsP3ZvaWQgMDphfSxXRj1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LFhGPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uUChhLDEsYil9LFlGPWNsYXNzIGV4dGVuZHMgXy5Re2NvbnN0cnVjdG9yKCl7c3VwZXIoKX1uYigpe3JldHVybiBfLlFkKHRoaXMsMSwwKX19LFpGPWNsYXNzIGV4dGVuZHMgXy5Re2NvbnN0cnVjdG9yKCl7c3VwZXIoKX19LCRGPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uTihhLDEsYil9LGFHPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uTihhLDIsYil9LGJHPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uTyhhLDMsYil9LGNHPWNsYXNzIGV4dGVuZHMgXy5Re2NvbnN0cnVjdG9yKCl7c3VwZXIoKX19LGRHPWNsYXNzIGV4dGVuZHMgXy5Re2NvbnN0cnVjdG9yKCl7c3VwZXIoKX19LGVHPWNsYXNzIGV4dGVuZHMgXy5Re2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfUxjKGEpe3JldHVybiBfLlAodGhpcyxcbjMsYSl9fSxmRz1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LGdHPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCxrPW51bGwsbCl7dmFyIG09Xy5CaihiLF8ubkMsMSxfLkFqKCkpO20mJmUmJighKG09bS5maWx0ZXIocD0+Xy5TKHAsMTcpPT09NCkpfHxtLmxlbmd0aDwxfHwoXy5IKG1bMF0sMTksayksXy5ERihhLGIsYyxkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI2diIFtkYXRhLW9nc3ItdXBdXCIpLGQsbVswXSxlLGYsZyxoLGwpKSl9LGhHPWZ1bmN0aW9uKGEpe2lzRmluaXRlKGEpJiYoYT1TdHJpbmcoYSkpO3JldHVybiB0eXBlb2YgYT09PVwic3RyaW5nXCI/L15cXHMqLT8weC9pLnRlc3QoYSk/cGFyc2VJbnQoYSwxNik6cGFyc2VJbnQoYSwxMCk6TmFOfSxpRz1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCl9aigpe3JldHVybiBfLkYodGhpcyxmRywxKX1pKCl7cmV0dXJuIF8uRih0aGlzLFdGLDIpfX0sakc9e0FmOmZ1bmN0aW9uKGEsXG5iLGMpe2M9Y3x8e307Yy5mb3JtYXQ9XCJqc3BiXCI7dGhpcy5pPW5ldyBfLlN0KGMpO3RoaXMuaj1hPT12b2lkIDA/YTphLnJlcGxhY2UoL1xcLyskLyxcIlwiKX19LGtHPWZ1bmN0aW9uKGEpe2lmKGEuQj09PTMmJmEubz09PTIpcmV0dXJuXCJjXCI7aWYoYS5CPT09MSYmYS5vPT09MSlyZXR1cm5cImFcIjtpZihhLkI9PT0yKXtpZihhLm89PT0yKXJldHVyblwic2NcIjtpZihhLm89PT0xKXJldHVyblwic3dcIn1yZXR1cm5cIm5cIn0sbEc9ZnVuY3Rpb24oYSl7aWYoIWEuQylyZXR1cm4gbnVsbDtjb25zdCBiPW5ldyBpRztfLkgoYiwxLGEuQyk7YS5EJiZfLkgoYiwyLGEuRCk7cmV0dXJuIGJ9LG1HPWZ1bmN0aW9uKGEpe2NvbnN0IGI9e1wiWC1Hb29nLUFwaS1LZXlcIjpcIkFJemFTeUNic2J2R0NlN0M5bUN0ZGFUeWNaQjJlVUZ1enNZS0dfRVwifTtfLksoYS5pLDYpJiYoYi5BdXRob3JpemF0aW9uPV8uemsoW10sITApfHxcIlwiLGJbXCJYLUdvb2ctQXV0aHVzZXJcIl09YS5VKTtyZXR1cm4gYn0sbkc9YXN5bmMgZnVuY3Rpb24oYSxcbmIpe2Euaj1udWxsO2EuQz1udWxsO2EuRD1udWxsO2EuQT1udWxsO2Eudj1udWxsO2EuRiYmKHdpbmRvdy5fXzNQU0FQSVNJRD1hLkYsd2luZG93Ll9fU0FQSVNJRD1hLkYpO2NvbnN0IGM9bUcoYSk7dmFyIGQ9bmV3IF8uZ0M7Xy5IKGQsMTAsYik7Y29uc3QgZT1uZXcgXy5MYztfLmpDKGUsZCk7aWYoXy5LKGEuaSw2KSYmIWMuQXV0aG9yaXphdGlvbilhLkoubG9nKDEzMSxlKTtlbHNle2Q9Xy5OcyhfLkwoYS5pLDEyKSk7dmFyIGY9Xy5LKGEuaSwxNCkmJmIubmIoKT09PTE/NToxO2NvbnN0IEc9bmV3IF8uWUQ7dmFyIGc9Xy5QKEcsMSxhLlQpLkxjKGEuUCk7Zz1fLk4oZywxNSxhLkspO2c9Xy5PKGcsNCxhLk4pO2c9Xy5PKGcsNSxhLk8pO3ZhciBoPV8uTChhLmksMik7Zz1fLk8oZywyLGgpO2g9Xy5LKGEuaSw2KTtnPV8uTShnLDYsaCk7aD1fLksoYS5pLDgpO2c9Xy5NKGcsOCxoKTtoPV8uSyhhLmksOSk7Zz1fLk0oZyw5LGgpO2g9Xy5MKGEuaSwxMCk7Zz1fLk8oZywxMCxoKTtoPVxuXy5MKGEuaSwxMSk7Zz1fLk8oZywxMSxoKTtmPV8uUChnLDEyLGYpO2Y9Xy5NKGYsMTMsYS52YSk7Xy5IKGYsMTcsYik7aXNOYU4oZCl8fF8uTihHLDcsZCk7YS52YSYmXy5OKEcsMTQsYS5WKTtiPUc7aWYoXy5KKGIsNCkhPW51bGwmJl8uTChiLDQpIT09XCJcIiYmXy5TKGIsMykhPW51bGwpdHJ5e3ZhciBrPWEuTTtjb25zdCBCPWF3YWl0IF8uUnQoay5pLGsuaitcIi8kcnBjL2dvb2dsZS5pbnRlcm5hbC5vbmVnb29nbGUuYXN5bmNkYXRhLnYxLkFzeW5jRGF0YVNlcnZpY2UvR2V0QXN5bmNEYXRhXCIsYixjfHx7fSxfLiREKTtpZihCKXthLmo9Xy5GKEIsXy5tQyw4KXx8bnVsbDtpZihhLmope3ZhciBsPWEuaixtPV8uVChhLmksMTYpO18uTihsLDgsbSk7dmFyIHA9YS5qLHI9Xy5LKGEuaSwxNSk7Xy5NKHAsMTYscik7dmFyIHE9YS5qLHk9Xy5MKGEuaSwxOCk7Xy5PKHEsNyx5KTt2YXIgRD1hLmosRT1fLkwoYS5pLDE3KTtfLk8oRCw2LEUpfWEuQz1fLkYoQixmRyw0KXx8bnVsbDthLkQ9Xy5GKEIsXG5XRiw1KXx8bnVsbDthLkE9Xy5LKEIsMyk7YS52PV8uUWQoQiw2LDApO2EuTD1fLksoQiwxMSk7YS5vPV8uUWQoQiw5LDApfHxudWxsO2EuQj1fLlFkKEIsMTAsMCl8fG51bGx9fWNhdGNoKEIpe3Rocm93IEIgaW5zdGFuY2VvZiBfLnR0PyhCLmNvZGU9PT0xNnx8Qi5jb2RlPT09NykmJl8uVGMoYS5lYSxCLDEzMyxlKTphLmVhLmxvZyhCLHZvaWQgMCxlKSxCO31lbHNlIGEuSi5sb2coMTMyLGUpfX0sb0c9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCxlLGYsZyl7dGhpcy5VPV8uSihhLDUpfHxcIjBcIjt0aGlzLko9ZDt0aGlzLmVhPWU7dGhpcy5UPWhHKF8uSihjLDYpKTt0aGlzLlA9aEcoXy5KKGMsMjQpKTt0aGlzLks9Xy5QZChjLDI4KXx8MDt0aGlzLk49Xy5KKGMsNSl8fFwiXCI7dGhpcy5PPV8uSihjLDQpfHxcIlwiO3RoaXMudmE9Zjt0aGlzLlY9Zzt0aGlzLmk9Ynx8bmV3IGVHO3RoaXMuUz1fLkwodGhpcy5pLDEzKTt0aGlzLk09bmV3IGpHLkFmKHRoaXMuUyxudWxsLG51bGwpO3RoaXMuRj1cbl8uSihhLDEyKXx8XCJcIjt0aGlzLnY9dGhpcy5BPXRoaXMuRD10aGlzLkM9dGhpcy5qPW51bGw7dGhpcy5MPSExO3RoaXMuQj10aGlzLm89bnVsbH1HKGEsYil7Y29uc3QgYz1tRyh0aGlzKTt2YXIgZD1uZXcgXy5hRTthPV8uUChkLDEsYSk7Yj1fLkgoYSwyLGIpO2I9Xy5OKGIsMyx0aGlzLkspO2E9dGhpcy5NO18uUnQoYS5pLGEuaitcIi8kcnBjL2dvb2dsZS5pbnRlcm5hbC5vbmVnb29nbGUuYXN5bmNkYXRhLnYxLkFzeW5jRGF0YVNlcnZpY2UvUmVwb3J0U3RhdGVcIixiLGN8fHt9LF8uY0UpfX07dmFyIHBHPW5ldyBNYXAoW1swLDBdLFsxLDFdLFsyLDRdLFszLDhdLFs0LDEyXSxbNSwyNF0sWzYsNDhdXSkscUc9WEYobmV3IFlGLDIpLHVHPWFzeW5jIGZ1bmN0aW9uKGEpe2NvbnN0IGI9KG5ldyBEYXRlKS5nZXRUaW1lKCk7aWYockcoYSxiKXx8c0coYSkpe2lmKHJHKGEsYikpe2NvbnN0IGY9bmV3IF8uTGM7Zm9yKGNvbnN0IGcgb2YgcEcua2V5cygpKXthOnt2YXIgYz1hO2lmKGc9PT0wKXtjPSEwO2JyZWFrIGF9Y29uc3QgaD1jLkYuZ2V0KGcpLGs9cEcuZ2V0KGcpO2ItaD4zNkU1Kms/KGMuRi5zZXQoZyxiKSxjPSEwKTpjPSExfWMmJl8uRWwoZiw2NyxfLk1hLGcpfWEudi5sb2coMTQzLGYpfWlmKHNHKGEpJiZiLWEuRz5hLkwmJiF0RyghMCkpdHJ5e2F3YWl0IG5HKGEuaixxRyk7YS5BPWEuai5MO2NvbnN0IGY9bEcoYS5qKTtpZihmJiZfLk9kKGYsV0YsMikpe3RHKCExKSYmZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUoXCJjYWxsb3V0XCIpWzBdLnJlbW92ZSgpO2NvbnN0IGc9XG5uZXcgXy5MYzt2YXIgZD1fLmZDKG5ldyBfLmdDLGYuaSgpKTt2YXIgZT1fLkgoZCwxMCxxRyk7Xy5qQyhnLGUpO2Eudi5sb2coMTA4LGcpO2dHKGEuZWEsYS5ELGEuSixhLnYsZiwhIWEuai5BLGEuai52fHwwLGEuaixudWxsLHFHKX19Y2F0Y2goZil7YS5BPSEwfWZpbmFsbHl7YS5HPWJ9fWVsc2UgYS5DLkpkKGEuSyl9LHJHPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uSyhhLm8sMjApJiZiLWEuaTwxMjA5NkU1fSxzRz1mdW5jdGlvbihhKXtyZXR1cm4oXy5LKGEubywyMSl8fF8uSyhhLm8sMjMpKSYmIWEuQX0sdEc9ZnVuY3Rpb24oYSl7Y29uc3QgYj1kb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZShcImNhbGxvdXRcIik7cmV0dXJuIGIubGVuZ3RoPT09MSYmYT09PShiWzBdLnN0eWxlLnZpc2liaWxpdHkhPT1cImhpZGRlblwiKX0sdkc9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCxlKXt0aGlzLkQ9YTt0aGlzLnY9Yjt0aGlzLko9Yzt0aGlzLmo9ZDt0aGlzLmVhPWU7dGhpcy5vPV8uRih0aGlzLkQsXG5lRywxNSk7dGhpcy5MPV8uVCh0aGlzLm8sMjIpKjFFMzt0aGlzLkM9bmV3IF8uTkI7dGhpcy5LPXRoaXMuQy5saXN0ZW4oXCJ2aXNpYmlsaXR5Y2hhbmdlXCIsZj0+e3N3aXRjaChmLnVlKXtjYXNlIFwiaGlkZGVuXCI6dGhpcy5CPSEwO2JyZWFrO2Nhc2UgXCJ2aXNpYmxlXCI6dGhpcy5CJiYodGhpcy5CPSExLHVHKHRoaXMpKX19KTt0aGlzLmk9KG5ldyBEYXRlKS5nZXRUaW1lKCk7dGhpcy5GPW5ldyBNYXAoW1swLHRoaXMuaV0sWzEsdGhpcy5pXSxbMix0aGlzLmldLFszLHRoaXMuaV0sWzQsdGhpcy5pXSxbNSx0aGlzLmldLFs2LHRoaXMuaV1dKTt0aGlzLkc9dGhpcy5pO3RoaXMuQT10aGlzLkI9ITE7WEYobmV3IFlGLDEpfX07dmFyIHdHPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIFwiYVwiOnJldHVybiAzO2Nhc2UgXCJjXCI6cmV0dXJuIDI7Y2FzZSBcInN3XCI6cmV0dXJuIDU7Y2FzZSBcInNjXCI6cmV0dXJuIDQ7Y2FzZSBcIm5cIjpyZXR1cm4gMTtkZWZhdWx0OnJldHVybiAwfX0seEc9Y2xhc3N7YXN5bmMgc3RhcnQoYSxiLGMsZCxlKXt2YXIgZj1udWxsLGc9Xy5CaihiLF8ubkMsMSxfLkFqKCkpO2cmJmcubGVuZ3RoPjAmJihmPWcuZmlsdGVyKHA9Pl8uUyhwLDE3KT09PTMpWzBdKTt2YXIgaD1mIT1udWxsLGs9LTE7aCYmKGs9Xy5UKF8uRihmLF8ubUMsMTkpLDEpfHwtMSk7Zz1fLkYoYixlRywxNSk7aD1uZXcgb0coYSxnLGMsZSxkLGgsayk7YT1uZXcgWUY7WEYoYSwxKTt0cnl7YXdhaXQgbkcoaCxhKX1jYXRjaChwKXtyZXR1cm59Yz1uZXcgXy5FRjsoXy5LKGcsMjApfHxfLksoZywyMSl8fF8uSyhnLDIzKSkmJm5ldyB2RyhiLGUsZCxoLGMpO2UubG9nKDEzMCk7aWYoKGs9bEcoaCkpJiZfLk9kKGssV0YsMikmJlxuIWYpe3ZhciBsPW5ldyBfLkxjO18uakMobCxfLmZDKG5ldyBfLmdDLGsuaSgpKSk7ZS5sb2coMTA4LGwpO2dHKGMsYixkLGUsaywhIWguQSxoLnZ8fDAsaCxudWxsLGEpfWNvbnN0IG09a0coaCk7Xy5LKGIsMjApJiZtJiYoXy5ZQ3x8KF8uWUM9bmV3IF8uUHUpLF8uWUMucHJvbWlzZS50aGVuKHA9Pntjb25zdCByPW5ldyBaRjtfLlAociwxLHdHKG0pKTtfLlAociwyLHdHKHApKTtwPW5ldyBfLkxjO18uSChwLDY4LHIpO2UubG9nKDEyNixwKX0pKTtpZihfLksoZywxNCkpe2NvbnN0IHA9aC5qO2lmKCFwJiYhZilyZXR1cm47az1uZXcgZEc7bD1uZXcgXy5MYztpZihmKXtmPV8uRihmLF8ubUMsMTkpO2NvbnN0IHI9YkcoYUcoJEYobmV3IGNHLF8ubHgoZiwxKSksXy5seChmLDIpKSxWRihmKSk7Xy5IKGssMixyKTtfLmlDKGwsXy5seChmLDEpKTtfLmpDKGwsKG5ldyBfLmdDKS55YyhfLksoZiwxMSkpKX1wJiYoZj1iRyhhRygkRihuZXcgY0csXy5seChwLDEpKSxfLmx4KHAsMikpLFZGKHApKSxcbl8uSChrLDEsZikpO18uSChsLDU4LGspO2UubG9nKDEyNixsKX1fLksoZywxOSkmJihnPWguaixmPWxHKGgpLGcmJmdHKGMsYixkLGUsZiwhIV8uSyhnLDExKSxfLlFkKGcsMTMsMCksbnVsbCxnLGEpKX19Oyhhc3luYyBmdW5jdGlvbigpe2NvbnN0IGE9Xy5jZCgpLGI9Xy5GKF8uYWQsXy5wQywyMSksYz1fLmJkKCk7Xy5PaSYmYSYmYiYmYyYmKG5ldyB4Rykuc3RhcnQoYSxiLGMsXy5QYyxfLk1sKX0pKCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbi8qXG4gZ2FwaS5sb2FkZXIuT0JKRUNUX0NSRUFURV9URVNUX09WRVJSSURFICYmKi9cbnZhciBTbz13aW5kb3csVG89ZG9jdW1lbnQsVW89U28ubG9jYXRpb24sVm89ZnVuY3Rpb24oKXt9LFdvPS9cXFtuYXRpdmUgY29kZVxcXS8sWG89ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhW2JdPWFbYl18fGN9LFlvPWZ1bmN0aW9uKGEpe2E9YS5zb3J0KCk7Y29uc3QgYj1bXTtsZXQgYz12b2lkIDA7Zm9yKGxldCBkPTA7ZDxhLmxlbmd0aDtkKyspe2NvbnN0IGU9YVtkXTtlIT1jJiZiLnB1c2goZSk7Yz1lfXJldHVybiBifSxabz1mdW5jdGlvbigpe3ZhciBhO2lmKChhPU9iamVjdC5jcmVhdGUpJiZXby50ZXN0KGEpKWE9YShudWxsKTtlbHNle2E9e307Zm9yKGNvbnN0IGIgaW4gYSlhW2JdPXZvaWQgMH1yZXR1cm4gYX0sJG89WG8oU28sXCJnYXBpXCIse30pO3ZhciBhcD17fTthcD1YbyhTbyxcIl9fX2pzbFwiLFpvKCkpO1hvKGFwLFwiSVwiLDApO1hvKGFwLFwiaGVsXCIsMTApO3ZhciBicD1mdW5jdGlvbigpe3ZhciBhPVVvLmhyZWY7aWYoYXAuZHBvKXZhciBiPWFwLmg7ZWxzZXtiPWFwLmg7dmFyIGM9UmVnRXhwKFwiKFsjXS4qJnxbI10panNoPShbXiYjXSopXCIsXCJnXCIpLGQ9UmVnRXhwKFwiKFs/I10uKiZ8Wz8jXSlqc2g9KFteJiNdKilcIixcImdcIik7aWYoYT1hJiYoYy5leGVjKGEpfHxkLmV4ZWMoYSkpKXRyeXtiPWRlY29kZVVSSUNvbXBvbmVudChhWzJdKX1jYXRjaChlKXt9fXJldHVybiBifSxjcD1mdW5jdGlvbihhKXtjb25zdCBiPVhvKGFwLFwiUFFcIixbXSk7YXAuUFE9W107Y29uc3QgYz1iLmxlbmd0aDtpZihjPT09MClhKCk7ZWxzZXt2YXIgZD0wLGU9ZnVuY3Rpb24oKXsrK2Q9PT1jJiZhKCl9O2ZvcihsZXQgZj0wO2Y8YztmKyspYltmXShlKX19LGRwPWZ1bmN0aW9uKGEpe3JldHVybiBYbyhYbyhhcCxcIkhcIixabygpKSxhLFpvKCkpfTt2YXIgZXA9WG8oYXAsXCJwZXJmXCIsWm8oKSk7WG8oZXAsXCJnXCIsWm8oKSk7dmFyIGZwPVhvKGVwLFwiaVwiLFpvKCkpO1hvKGVwLFwiclwiLFtdKTtabygpO1pvKCk7dmFyIGhwPWZ1bmN0aW9uKGEsYixjKXtiJiZiLmxlbmd0aD4wJiYoYj1ncChiKSxjJiZjLmxlbmd0aD4wJiYoYis9XCJfX19cIitncChjKSksYi5sZW5ndGg+MjgmJihiPWIuc3Vic3RyKDAsMjgpKyhiLmxlbmd0aC0yOCkpLGM9YixiPVhvKGZwLFwiX3BcIixabygpKSxYbyhiLGMsWm8oKSlbYV09KG5ldyBEYXRlKS5nZXRUaW1lKCksYj1lcC5yLHR5cGVvZiBiPT09XCJmdW5jdGlvblwiP2IoYSxcIl9wXCIsYyk6Yi5wdXNoKFthLFwiX3BcIixjXSkpfSxncD1mdW5jdGlvbihhKXtyZXR1cm4gYS5qb2luKFwiX19cIikucmVwbGFjZSgvXFwuL2csXCJfXCIpLnJlcGxhY2UoL1xcLS9nLFwiX1wiKS5yZXBsYWNlKC8sL2csXCJfXCIpfTt2YXIgaXA9Wm8oKSxqcD1bXSxrcD1mdW5jdGlvbihhKXt0aHJvdyBFcnJvcihcIkVhYFwiK2EpO307anAucHVzaChbXCJqc2xcIixmdW5jdGlvbihhKXtmb3IodmFyIGIgaW4gYSlpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxiKSl7Y29uc3QgYz1hW2JdO3R5cGVvZiBjPT1cIm9iamVjdFwiP2FwW2JdPVhvKGFwLGIsW10pLmNvbmNhdChjKTpYbyhhcCxiLGMpfWlmKGI9YS51KWE9WG8oYXAsXCJ1c1wiLFtdKSxhLnB1c2goYiksKGI9L15odHRwczooLiopJC8uZXhlYyhiKSkmJmEucHVzaChcImh0dHA6XCIrYlsxXSl9XSk7XG52YXIgbHA9L14oXFwvW2EtekEtWjAtOV9cXC1dKykrJC8sbXA9Wy9cXC9hbXBcXC8vLC9cXC9hbXAkLywvXlxcL2FtcCQvXSxucD0vXlthLXpBLVowLTlcXC1fXFwuLCFdKyQvLG9wPS9eZ2FwaVxcLmxvYWRlZF9bMC05XSskLyxwcD0vXlthLXpBLVowLTksLl8tXSskLyx0cD1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPWEuc3BsaXQoXCI7XCIpLGc9Zi5zaGlmdCgpLGg9aXBbZ10saz1udWxsO2g/az1oKGYsYixjLGQpOmtwKFwibm8gaGludCBwcm9jZXNzb3IgZm9yOiBcIitnKTtrfHxrcChcImZhaWxlZCB0byBnZW5lcmF0ZSBsb2FkIHVybFwiKTtiPWs7Yz1iLm1hdGNoKHFwKTsoZD1iLm1hdGNoKHJwKSkmJmQubGVuZ3RoPT09MSYmc3AudGVzdChiKSYmYyYmYy5sZW5ndGg9PT0xfHxrcChcImZhaWxlZCBzYW5pdHk6IFwiK2EpO3RyeXtpZihhPVwiP1wiLGUmJmUubGVuZ3RoPjAmJihfLmlvKGUpLGs9YCR7a30/bGU9JHtlLmpvaW4oXCIsXCIpfWAsYT1cIiZcIiksYXAucm9sKXtjb25zdCBsPWFwLm9sO2wmJmwubGVuZ3RoJiZcbihrPWAke2t9JHthfW9sPSR7bC5sZW5ndGh9YCl9fWNhdGNoKGwpe31yZXR1cm4ga30sd3A9ZnVuY3Rpb24oYSxiLGMsZCl7YT11cChhKTtvcC50ZXN0KGMpfHxrcChcImludmFsaWRfY2FsbGJhY2tcIik7Yj12cChiKTtkPWQmJmQubGVuZ3RoP3ZwKGQpOm51bGw7dmFyIGU9ZnVuY3Rpb24oZil7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChmKS5yZXBsYWNlKC8lMkMvZyxcIixcIil9O3JldHVybltlbmNvZGVVUklDb21wb25lbnQoYS5wYXRoUHJlZml4KS5yZXBsYWNlKC8lMkMvZyxcIixcIikucmVwbGFjZSgvJTJGL2csXCIvXCIpLFwiL2s9XCIsZShhLnZlcnNpb24pLFwiL209XCIsZShiKSxkP1wiL2V4bT1cIitlKGQpOlwiXCIsXCIvcnQ9ai9zdj0xL2Q9MS9lZD0xXCIsYS52ZT9cIi9hbT1cIitlKGEudmUpOlwiXCIsYS5uZj9cIi9ycz1cIitlKGEubmYpOlwiXCIsYS54Zj9cIi90PVwiK2UoYS54Zik6XCJcIixcIi9jYj1cIixlKGMpXS5qb2luKFwiXCIpfSx1cD1mdW5jdGlvbihhKXthLmNoYXJBdCgwKSE9PVwiL1wiJiZrcChcInJlbGF0aXZlIHBhdGhcIik7XG5mb3IodmFyIGI9YS5zdWJzdHJpbmcoMSkuc3BsaXQoXCIvXCIpLGM9W107Yi5sZW5ndGg7KXthPWIuc2hpZnQoKTtpZighYS5sZW5ndGh8fGEuaW5kZXhPZihcIi5cIik9PTApa3AoXCJlbXB0eS9yZWxhdGl2ZSBkaXJlY3RvcnlcIik7ZWxzZSBpZihhLmluZGV4T2YoXCI9XCIpPjApe2IudW5zaGlmdChhKTticmVha31jLnB1c2goYSl9YT17fTtmb3IodmFyIGQ9MCxlPWIubGVuZ3RoO2Q8ZTsrK2Qpe3ZhciBmPWJbZF0uc3BsaXQoXCI9XCIpLGc9ZGVjb2RlVVJJQ29tcG9uZW50KGZbMF0pLGg9ZGVjb2RlVVJJQ29tcG9uZW50KGZbMV0pO2YubGVuZ3RoPT0yJiZnJiZoJiYoYVtnXT1hW2ddfHxoKX1iPVwiL1wiK2Muam9pbihcIi9cIik7bHAudGVzdChiKXx8a3AoXCJpbnZhbGlkX3ByZWZpeFwiKTtjPTA7Zm9yKGQ9bXAubGVuZ3RoO2M8ZDsrK2MpbXBbY10udGVzdChiKSYma3AoXCJpbnZhbGlkX3ByZWZpeFwiKTtjPXhwKGEsXCJrXCIsITApO2Q9eHAoYSxcImFtXCIpO2U9eHAoYSxcInJzXCIpO2E9eHAoYSxcInRcIik7cmV0dXJue3BhdGhQcmVmaXg6YixcbnZlcnNpb246Yyx2ZTpkLG5mOmUseGY6YX19LHZwPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1bXSxjPTAsZD1hLmxlbmd0aDtjPGQ7KytjKXt2YXIgZT1hW2NdLnJlcGxhY2UoL1xcLi9nLFwiX1wiKS5yZXBsYWNlKC8tL2csXCJfXCIpO3BwLnRlc3QoZSkmJmIucHVzaChlKX1yZXR1cm4gYi5qb2luKFwiLFwiKX0seHA9ZnVuY3Rpb24oYSxiLGMpe2E9YVtiXTshYSYmYyYma3AoXCJtaXNzaW5nOiBcIitiKTtpZihhKXtpZihucC50ZXN0KGEpKXJldHVybiBhO2twKFwiaW52YWxpZDogXCIrYil9cmV0dXJuIG51bGx9LHNwPS9eaHR0cHM/OlxcL1xcL1thLXowLTlfLi1dK1xcLmdvb2dsZShycyk/XFwuY29tKDpcXGQrKT9cXC9bYS16QS1aMC05Xy4sIT1cXC1cXC9dKyQvLHJwPS9cXC9jYj0vZyxxcD0vXFwvXFwvL2c7aXAubT1mdW5jdGlvbihhLGIsYyxkKXsoYT1hWzBdKXx8a3AoXCJtaXNzaW5nX2hpbnRcIik7cmV0dXJuXCJodHRwczovL2FwaXMuZ29vZ2xlLmNvbVwiK3dwKGEsYixjLGQpfTtcbnZhciB5cD1kZWNvZGVVUkkoXCIlNzNjcmlwdFwiKSx6cD0vXlstK18wLTlcXC9BLVphLXpdKz17MCwyfSQvLEFwPWZ1bmN0aW9uKGEsYil7Y29uc3QgYz1bXTtmb3IobGV0IGU9MDtlPGEubGVuZ3RoOysrZSl7Y29uc3QgZj1hW2VdO3ZhciBkO2lmKGQ9Zil7YTp7Zm9yKGQ9MDtkPGIubGVuZ3RoO2QrKylpZihiW2RdPT09ZilicmVhayBhO2Q9LTF9ZD1kPDB9ZCYmYy5wdXNoKGYpfXJldHVybiBjfSxCcD1mdW5jdGlvbigpe3ZhciBhPWFwLm5vbmNlO3JldHVybiBhIT09dm9pZCAwP2EmJmE9PT1TdHJpbmcoYSkmJmEubWF0Y2goenApP2E6YXAubm9uY2U9bnVsbDpUby5xdWVyeVNlbGVjdG9yPyhhPVRvLnF1ZXJ5U2VsZWN0b3IoXCJzY3JpcHRbbm9uY2VdXCIpKT8oYT1hLm5vbmNlfHxhLmdldEF0dHJpYnV0ZShcIm5vbmNlXCIpfHxcIlwiLGEmJmE9PT1TdHJpbmcoYSkmJmEubWF0Y2goenApP2FwLm5vbmNlPWE6YXAubm9uY2U9bnVsbCk6bnVsbDpudWxsfSxFcD1mdW5jdGlvbihhKXtpZihUby5yZWFkeVN0YXRlIT1cblwibG9hZGluZ1wiKUNwKGEpO2Vsc2V7Y29uc3QgYj1CcCgpO2xldCBjPVwiXCI7YiE9PW51bGwmJihjPScgbm9uY2U9XCInK2IrJ1wiJyk7YT1cIjxcIit5cCsnIHNyYz1cIicrZW5jb2RlVVJJKGEpKydcIicrYytcIj48L1wiK3lwK1wiPlwiO1RvLndyaXRlKERwP0RwLmNyZWF0ZUhUTUwoYSk6YSl9fSxDcD1mdW5jdGlvbihhKXtjb25zdCBiPVRvLmNyZWF0ZUVsZW1lbnQoeXApO2Iuc2V0QXR0cmlidXRlKFwic3JjXCIsRHA/RHAuY3JlYXRlU2NyaXB0VVJMKGEpOmEpO2E9QnAoKTthIT09bnVsbCYmYi5zZXRBdHRyaWJ1dGUoXCJub25jZVwiLGEpO2IuYXN5bmM9XCJ0cnVlXCI7KGE9VG8uZ2V0RWxlbWVudHNCeVRhZ05hbWUoeXApWzBdKT9hLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGIsYSk6KFRvLmhlYWR8fFRvLmJvZHl8fFRvLmRvY3VtZW50RWxlbWVudCkuYXBwZW5kQ2hpbGQoYil9LEdwPWZ1bmN0aW9uKGEsYixjKXtGcChmdW5jdGlvbigpe3ZhciBkPWI9PT1icCgpP1hvKCRvLFwiX1wiLFpvKCkpOlpvKCk7ZD1cblhvKGRwKGIpLFwiX1wiLGQpO2EoZCl9LGMpfSxJcD1mdW5jdGlvbihhLGIpe2xldCBjPWJ8fHt9O3R5cGVvZiBiPT1cImZ1bmN0aW9uXCImJihjPXt9LGMuY2FsbGJhY2s9Yik7Y29uc3QgZD0oYj1jKSYmYi5fYztpZihkKWZvcihsZXQgZT0wO2U8anAubGVuZ3RoO2UrKyl7Y29uc3QgZj1qcFtlXVswXSxnPWpwW2VdWzFdO2cmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChkLGYpJiZnKGRbZl0sYSxiKX1iPVtdO2E/Yj1hLnNwbGl0KFwiOlwiKTpjLmZlYXR1cmVzJiYoYj1jLmZlYXR1cmVzKTtpZighKGE9Yy5oKSYmKGE9YnAoKSwhYSkpdGhyb3cgRXJyb3IoXCJGYVwiKTtIcChifHxbXSxjLGEpfSxIcD1mdW5jdGlvbihhLGIsYyl7YT1ZbyhhKXx8W107Y29uc3QgZD1iLmNhbGxiYWNrLGU9Yi5jb25maWcsZj1iLnRpbWVvdXQsZz1iLm9udGltZW91dDt2YXIgaD1iLm9uZXJyb3I7bGV0IGs9dm9pZCAwO3R5cGVvZiBoPT1cImZ1bmN0aW9uXCImJihrPWgpO2xldCBsPW51bGwsbT1cbiExO2lmKGYmJiFnfHwhZiYmZyl0aHJvd1wiVGltZW91dCByZXF1aXJlcyBib3RoIHRoZSB0aW1lb3V0IHBhcmFtZXRlciBhbmQgb250aW1lb3V0IHBhcmFtZXRlciB0byBiZSBzZXRcIjtoPVhvKGRwKGMpLFwiclwiLFtdKS5zb3J0KCk7Y29uc3QgcD1YbyhkcChjKSxcIkxcIixbXSkuc29ydCgpLHI9YXAubGV8fFtdLHE9W10uY29uY2F0KGgpLHk9ZnVuY3Rpb24oamEsVGIpe2lmKG0pcmV0dXJuIDA7U28uY2xlYXJUaW1lb3V0KGwpO3AucHVzaC5hcHBseShwLEQpO2NvbnN0IG9mPSgoJG98fHt9KS5jb25maWd8fHt9KS51cGRhdGU7b2Y/b2YoZSk6ZSYmWG8oYXAsXCJjdVwiLFtdKS5wdXNoKGUpO2lmKFRiKXtocChcIm1lMFwiLGphLHEpO3RyeXtHcChUYixjLGspfWZpbmFsbHl7aHAoXCJtZTFcIixqYSxxKX19cmV0dXJuIDF9O2Y+MCYmKGw9U28uc2V0VGltZW91dChmdW5jdGlvbigpe209ITA7ZygpfSxmKSk7bGV0IEQ9QXAoYSxwKTtpZihELmxlbmd0aCl7RD1BcChhLGgpO3ZhciBFPVhvKGFwLFwiQ1BcIixcbltdKSxHPUUubGVuZ3RoO0VbR109ZnVuY3Rpb24oamEpe2lmKCFqYSlyZXR1cm4gMDtocChcIm1sMVwiLEQscSk7Y29uc3QgVGI9ZnVuY3Rpb24obWgpe0VbR109bnVsbDt5KEQsamEpJiZjcChmdW5jdGlvbigpe2QmJmQoKTttaCgpfSl9LG9mPWZ1bmN0aW9uKCl7Y29uc3QgbWg9RVtHKzFdO21oJiZtaCgpfTtHPjAmJkVbRy0xXT9FW0ddPWZ1bmN0aW9uKCl7VGIob2YpfTpUYihvZil9O2lmKEQubGVuZ3RoKXt2YXIgQj1cImxvYWRlZF9cIithcC5JKys7JG9bQl09ZnVuY3Rpb24oamEpe0VbR10oamEpOyRvW0JdPW51bGx9O2E9dHAoYyxELFwiZ2FwaS5cIitCLGgscik7aC5wdXNoLmFwcGx5KGgsRCk7aHAoXCJtbDBcIixELHEpO2Iuc3luY3x8U28uX19fZ2FwaXN5bmM/RXAoYSk6Q3AoYSl9ZWxzZSBFW0ddKFZvKX1lbHNlIHkoRCkmJmQmJmQoKX0sRHA9Xy5VZChcIm9nYi1xdG0jZ2FwaVwiKSxGcD1mdW5jdGlvbihhLGIpe2lmKGFwLmhlZSYmYXAuaGVsPjApdHJ5e3JldHVybiBhKCl9Y2F0Y2goYyl7YiYmXG5iKGMpLGFwLmhlbC0tLElwKFwiZGVidWdfZXJyb3JcIixmdW5jdGlvbigpe3RyeXt3aW5kb3cuX19fanNsLmhlZm4oYyl9Y2F0Y2goZCl7dGhyb3cgYzt9fSl9ZWxzZSB0cnl7cmV0dXJuIGEoKX1jYXRjaChjKXt0aHJvdyBiJiZiKGMpLGM7fX0sSnA9JG8ubG9hZDtKcCYmWG8oYXAsXCJvbFwiLFtdKS5wdXNoKEpwKTskby5sb2FkPWZ1bmN0aW9uKGEsYil7cmV0dXJuIEZwKGZ1bmN0aW9uKCl7cmV0dXJuIElwKGEsYil9KX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbi8qXG5cbiBDb3B5cmlnaHQgMjAwNSwgMjAwNyBCb2IgSXBwb2xpdG8uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gQ29weXJpZ2h0IFRoZSBDbG9zdXJlIExpYnJhcnkgQXV0aG9ycy5cbiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4qL1xuXy5LcD1mdW5jdGlvbigpe3RoaXMuQz1bXTt0aGlzLkI9dGhpcy52PSExO3RoaXMuaj12b2lkIDA7dGhpcy5KPXRoaXMuZWE9dGhpcy5GPSExO3RoaXMuRD0wO3RoaXMuaT1udWxsO3RoaXMuRz0wfTtfLktwLnByb3RvdHlwZS5jYW5jZWw9ZnVuY3Rpb24oYSl7aWYodGhpcy52KXRoaXMuaiBpbnN0YW5jZW9mIF8uS3AmJnRoaXMuai5jYW5jZWwoKTtlbHNle2lmKHRoaXMuaSl7Y29uc3QgYj10aGlzLmk7ZGVsZXRlIHRoaXMuaTthP2IuY2FuY2VsKGEpOihiLkctLSxiLkc8PTAmJmIuY2FuY2VsKCkpfXRoaXMuSj0hMDt0aGlzLnZ8fHRoaXMuQShuZXcgTHAodGhpcykpfX07Xy5LcC5wcm90b3R5cGUuSz1mdW5jdGlvbihhLGIpe3RoaXMuRj0hMTtNcCh0aGlzLGEsYil9O3ZhciBNcD1mdW5jdGlvbihhLGIsYyl7YS52PSEwO2Euaj1jO2EuQj0hYjtOcChhKX0sUHA9ZnVuY3Rpb24oYSl7aWYoYS52KXtpZighYS5KKXRocm93IG5ldyBPcChhKTthLko9ITF9fTtcbl8uS3AucHJvdG90eXBlLm89ZnVuY3Rpb24oYSl7UHAodGhpcyk7TXAodGhpcywhMCxhKX07Xy5LcC5wcm90b3R5cGUuQT1mdW5jdGlvbihhKXtQcCh0aGlzKTtNcCh0aGlzLCExLGEpfTtfLlJwPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5RcChhLGIsbnVsbCxjKX07Xy5RcD1mdW5jdGlvbihhLGIsYyxkKXthLkMucHVzaChbYixjLGRdKTthLnYmJk5wKGEpO3JldHVybiBhfTtfLktwLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGEsYixjKXtsZXQgZCxlO2NvbnN0IGY9bmV3IF8uRmYoZnVuY3Rpb24oZyxoKXtlPWc7ZD1ofSk7Xy5RcCh0aGlzLGUsZnVuY3Rpb24oZyl7ZyBpbnN0YW5jZW9mIExwP2YuY2FuY2VsKCk6ZChnKTtyZXR1cm4gU3B9LHRoaXMpO3JldHVybiBmLnRoZW4oYSxiLGMpfTtfLktwLnByb3RvdHlwZS4kZ29vZ19UaGVuYWJsZT0hMDtcbnZhciBUcD1mdW5jdGlvbihhKXtyZXR1cm4gXy5XZChhLkMsZnVuY3Rpb24oYil7cmV0dXJuIHR5cGVvZiBiWzFdPT09XCJmdW5jdGlvblwifSl9LFNwPXt9LE5wPWZ1bmN0aW9uKGEpe2lmKGEuRCYmYS52JiZUcChhKSl7dmFyIGI9YS5ELGM9VXBbYl07YyYmKF8udC5jbGVhclRpbWVvdXQoYy5pKSxkZWxldGUgVXBbYl0pO2EuRD0wfWEuaSYmKGEuaS5HLS0sZGVsZXRlIGEuaSk7Yj1hLmo7Zm9yKHZhciBkPWM9ITE7YS5DLmxlbmd0aCYmIWEuRjspe3ZhciBlPWEuQy5zaGlmdCgpLGY9ZVswXTtjb25zdCBoPWVbMV07ZT1lWzJdO2lmKGY9YS5CP2g6Zil0cnl7dmFyIGc9Zi5jYWxsKGV8fG51bGwsYik7Zz09PVNwJiYoZz12b2lkIDApO2chPT12b2lkIDAmJihhLkI9YS5CJiYoZz09Ynx8ZyBpbnN0YW5jZW9mIEVycm9yKSxhLmo9Yj1nKTtpZihfLkRmKGIpfHx0eXBlb2YgXy50LlByb21pc2U9PT1cImZ1bmN0aW9uXCImJmIgaW5zdGFuY2VvZiBfLnQuUHJvbWlzZSlkPSEwLGEuRj0hMH1jYXRjaChrKXtiPVxuayxhLkI9ITAsVHAoYSl8fChjPSEwKX19YS5qPWI7ZCYmKGc9KDAsXy56KShhLkssYSwhMCksZD0oMCxfLnopKGEuSyxhLCExKSxiIGluc3RhbmNlb2YgXy5LcD8oXy5RcChiLGcsZCksYi5lYT0hMCk6Yi50aGVuKGcsZCkpO2MmJihiPW5ldyBWcChiKSxVcFtiLmldPWIsYS5EPWIuaSl9LE9wPWZ1bmN0aW9uKCl7Xy5hYS5jYWxsKHRoaXMpfTtfLkMoT3AsXy5hYSk7T3AucHJvdG90eXBlLm1lc3NhZ2U9XCJEZWZlcnJlZCBoYXMgYWxyZWFkeSBmaXJlZFwiO09wLnByb3RvdHlwZS5uYW1lPVwiQWxyZWFkeUNhbGxlZEVycm9yXCI7dmFyIExwPWZ1bmN0aW9uKCl7Xy5hYS5jYWxsKHRoaXMpfTtfLkMoTHAsXy5hYSk7THAucHJvdG90eXBlLm1lc3NhZ2U9XCJEZWZlcnJlZCB3YXMgY2FuY2VsZWRcIjtMcC5wcm90b3R5cGUubmFtZT1cIkNhbmNlbGVkRXJyb3JcIjt2YXIgVnA9ZnVuY3Rpb24oYSl7dGhpcy5pPV8udC5zZXRUaW1lb3V0KCgwLF8ueikodGhpcy5vLHRoaXMpLDApO3RoaXMuaj1hfTtcblZwLnByb3RvdHlwZS5vPWZ1bmN0aW9uKCl7ZGVsZXRlIFVwW3RoaXMuaV07dGhyb3cgdGhpcy5qO307dmFyIFVwPXt9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgV3A9Y2xhc3MgZXh0ZW5kcyBfLmFhe2NvbnN0cnVjdG9yKCl7c3VwZXIoKX19LFhwPWNsYXNzIGV4dGVuZHMgXy5Se2NvbnN0cnVjdG9yKCl7dmFyIGE9Xy5QYyxiPV8uRWIoXCJnYXBpLmxvYWRcIik7c3VwZXIoKTt0aGlzLm89YTt0aGlzLmk9Yjt0aGlzLmo9bmV3IF8uS3B9aW5pdChhKXt0cnl7aWYoIXRoaXMuaSl0aHJvdyBuZXcgV3A7dmFyIGI9e2lzUGx1c1VzZXI6Xy54KF8uSihhLDQpKSxcImdvb2dsZWFwaXMuY29uZmlnXCI6e3NpZ25lZEluOl8ueChfLkooYSw1KSl9LGxhbmc6Xy54KF8uSihhLDEwKSl9LGM9Xy54KF8uSihhLDYpKTtjJiYoYi5pZnJhbWVzPXtcIjpzb2NpYWxob3N0OlwiOmN9KTt0aGlzLmkoXCJcIix7Y29uZmlnOmJ9KTt0cnl7dmFyIGQ9Xy5CZChcImdzXCIpO2lmKCFkKXRocm93IG5ldyBXcDt0aGlzLmkoZC5pLmpvaW4oXCI6XCIpLCgwLF8ueikodGhpcy5qLm8sdGhpcy5qKSk7dmFyIGU9Xy5EZChkLmopO2ZvcihhPTA7YTxlLmxlbmd0aDthKyspdGhpcy5pKGVbYV0uZmVhdHVyZXMsXG5lW2FdLm9wdGlvbnMpfWNhdGNoKGYpe3RoaXMuby5sb2coZil9fWNhdGNoKGYpe3RoaXMuby5sb2coZil9cmV0dXJuIHRoaXN9fTt2YXIgWXA9Y2xhc3MgZXh0ZW5kcyBfLlJ7Y29uc3RydWN0b3IoKXt2YXIgYT1fLlBjO3N1cGVyKCk7dGhpcy5pPWE7dGhpcy5qPW5ldyBfLktwfXYoYSl7dHJ5e3ZhciBiPV8uRWIoXCJnYWRnZXRzLmNvbmZpZy51cGRhdGVcIik7Yih7XCJnb29nbGVhcGlzLmNvbmZpZ1wiOntnY3Y6Xy54KF8uSihhLDIpKSxzZXNzaW9uSW5kZXg6Xy54KF8uSihhLDQpKSxlbG9nOnRoaXMuaS5sb2csaWxvZzooKT0+e319fSk7Yih7Z3dpZGdldDp7bGFuZzpfLngoXy5KKGEsNSkpfX0pO3RoaXMuai5vKCl9Y2F0Y2goYyl7dGhpcy5pLmxvZyhjKX19byhhKXthJiZfLlJwKHRoaXMuaixhKX1pbml0KGEsYil7dHJ5e18uTChhLDEpP18uUnAoYi5qLCgwLF8ueikodGhpcy52LHRoaXMsYSkpOnRoaXMuai5vKCksXy5BKFwiZ2Jhci5sR0NcIiwoMCxfLnopKHRoaXMubyx0aGlzKSksXy5BKFwiZ2Jhci5sUFdGXCIsKDAsXy56KSh0aGlzLm8sdGhpcykpLF8uQWQoXy5nZC5pKCksXCJhcGlcIikuQ2IoKX1jYXRjaChjKXt0aGlzLmkubG9nKGMpfXJldHVybiB0aGlzfX07KGZ1bmN0aW9uKCl7dmFyIGE9Xy5GKF8uYWQsXy5SYywxNCl8fG5ldyBfLlJjO2NvbnN0IGI9bmV3IFhwO2IuaW5pdChhKTthPV8uRihfLmFkLF8ub2QsOSl8fG5ldyBfLm9kO2NvbnN0IGM9bmV3IFlwO2MuaW5pdChhLGIpO2MubyhmdW5jdGlvbigpe18uJGMuaSgpLkEucmVzb2x2ZSghMCl9KTtyZXR1cm4gY30pKCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbn0pKHRoaXMuZ2Jhcl8pO1xuLy8gR29vZ2xlIEluYy5cbiJ9LCAiaGVhZGVyc1NpemUiOiAwLCAiYm9keVNpemUiOiA3OTE3NSwgInJlZGlyZWN0VVJMIjogIiIsICJfdHJhbnNmZXJTaXplIjogNzkxNzV9LCAiY2FjaGUiOiB7fSwgInRpbWluZ3MiOiB7ImRucyI6IC0xLCAiY29ubmVjdCI6IC0xLCAic3NsIjogLTEsICJzZW5kIjogMCwgIndhaXQiOiA5LjYyNiwgInJlY2VpdmUiOiAxMi4xMjV9LCAicGFnZXJlZiI6ICJwYWdlQDJlN2FjZTk1NWE2NzczZWNmZDJlOThlZjJmZGNiNzA0IiwgInNlcnZlcklQQWRkcmVzcyI6ICJbMmEwMDoxNDUwOjQwMDE6ODI4OjoyMDAzXSIsICJfc2VydmVyUG9ydCI6IDQ0MywgIl9zZWN1cml0eURldGFpbHMiOiB7InByb3RvY29sIjogIlRMUyAxLjMiLCAic3ViamVjdE5hbWUiOiAiKi5nc3RhdGljLmNvbSIsICJpc3N1ZXIiOiAiV1IyIiwgInZhbGlkRnJvbSI6IDE3MjIzNDM3NzAsICJ2YWxpZFRvIjogMTcyOTYwMTM2OX19LCB7InN0YXJ0ZWREYXRlVGltZSI6ICIyMDI0LTA4LTAxVDEyOjMzOjExLjYwM1oiLCAidGltZSI6IDUwLjYyMSwgInJlcXVlc3QiOiB7Im1ldGhvZCI6ICJHRVQiLCAidXJsIjogImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL29nL18vc3Mvaz1vZy5xdG0udE1jTUM1SVRvQVkuTC5XLk8vbT1xY3dpZCxkX2JfZ20zLGRfd2lfZ20zLGRfbG9fZ20zL2V4Y209cWFhdyxxYWRkLHFhaWQscWVpbixxaGF3LHFoYmEscWhicixxaGNoLHFoZ2EscWhpZCxxaGluL2Q9MS9lZD0xL2N0PXpnbXMvcnM9QUEyWXJUdHU2OHdVOHJRU0V1MXpMb1RZX0JPQlFYaWJBZyIsICJodHRwVmVyc2lvbiI6ICJIVFRQLzIuMCIsICJjb29raWVzIjogW10sICJoZWFkZXJzIjogW3sibmFtZSI6ICI6YXV0aG9yaXR5IiwgInZhbHVlIjogInd3dy5nc3RhdGljLmNvbSJ9LCB7Im5hbWUiOiAiOm1ldGhvZCIsICJ2YWx1ZSI6ICJHRVQifSwgeyJuYW1lIjogIjpwYXRoIiwgInZhbHVlIjogIi9vZy9fL3NzL2s9b2cucXRtLnRNY01DNUlUb0FZLkwuVy5PL209cWN3aWQsZF9iX2dtMyxkX3dpX2dtMyxkX2xvX2dtMy9leGNtPXFhYXcscWFkZCxxYWlkLHFlaW4scWhhdyxxaGJhLHFoYnIscWhjaCxxaGdhLHFoaWQscWhpbi9kPTEvZWQ9MS9jdD16Z21zL3JzPUFBMllyVHR1Njh3VThyUVNFdTF6TG9UWV9CT0JRWGliQWcifSwgeyJuYW1lIjogIjpzY2hlbWUiLCAidmFsdWUiOiAiaHR0cHMifSwgeyJuYW1lIjogImFjY2VwdCIsICJ2YWx1ZSI6ICJ0ZXh0L2NzcywqLyo7cT0wLjEifSwgeyJuYW1lIjogImFjY2VwdC1lbmNvZGluZyIsICJ2YWx1ZSI6ICJnemlwLCBkZWZsYXRlLCBiciwgenN0ZCJ9LCB7Im5hbWUiOiAiYWNjZXB0LWxhbmd1YWdlIiwgInZhbHVlIjogImVuLVVTLGVuO3E9MC45In0sIHsibmFtZSI6ICJwcmlvcml0eSIsICJ2YWx1ZSI6ICJ1PTAifSwgeyJuYW1lIjogInJlZmVyZXIiLCAidmFsdWUiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8ifSwgeyJuYW1lIjogInNlYy1jaC11YSIsICJ2YWx1ZSI6ICJcIkNocm9taXVtXCI7dj1cIjEyN1wiLCBcIk5vdClBO0JyYW5kXCI7dj1cIjk5XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1tb2JpbGUiLCAidmFsdWUiOiAiPzAifSwgeyJuYW1lIjogInNlYy1jaC11YS1wbGF0Zm9ybSIsICJ2YWx1ZSI6ICJcIldpbmRvd3NcIiJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLWRlc3QiLCAidmFsdWUiOiAic3R5bGUifSwgeyJuYW1lIjogInNlYy1mZXRjaC1tb2RlIiwgInZhbHVlIjogIm5vLWNvcnMifSwgeyJuYW1lIjogInNlYy1mZXRjaC1zaXRlIiwgInZhbHVlIjogImNyb3NzLXNpdGUifSwgeyJuYW1lIjogInVzZXItYWdlbnQiLCAidmFsdWUiOiAiTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEyNy4wLjY1MzMuMTcgU2FmYXJpLzUzNy4zNiJ9XSwgInF1ZXJ5U3RyaW5nIjogW10sICJoZWFkZXJzU2l6ZSI6IDkxNCwgImJvZHlTaXplIjogMH0sICJyZXNwb25zZSI6IHsic3RhdHVzIjogMjAwLCAic3RhdHVzVGV4dCI6ICIiLCAiaHR0cFZlcnNpb24iOiAiSFRUUC8yLjAiLCAiY29va2llcyI6IFtdLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiYWNjZXB0LXJhbmdlcyIsICJ2YWx1ZSI6ICJieXRlcyJ9LCB7Im5hbWUiOiAiYWdlIiwgInZhbHVlIjogIjE1NjU1NSJ9LCB7Im5hbWUiOiAiYWx0LXN2YyIsICJ2YWx1ZSI6ICJoMz1cIjo0NDNcIjsgbWE9MjU5MjAwMCxoMy0yOT1cIjo0NDNcIjsgbWE9MjU5MjAwMCJ9LCB7Im5hbWUiOiAiY2FjaGUtY29udHJvbCIsICJ2YWx1ZSI6ICJwdWJsaWMsIG1heC1hZ2U9MzE1MzYwMDAifSwgeyJuYW1lIjogImNvbnRlbnQtZW5jb2RpbmciLCAidmFsdWUiOiAiZ3ppcCJ9LCB7Im5hbWUiOiAiY29udGVudC1sZW5ndGgiLCAidmFsdWUiOiAiMjI0MSJ9LCB7Im5hbWUiOiAiY29udGVudC1zZWN1cml0eS1wb2xpY3ktcmVwb3J0LW9ubHkiLCAidmFsdWUiOiAicmVxdWlyZS10cnVzdGVkLXR5cGVzLWZvciAnc2NyaXB0JzsgcmVwb3J0LXVyaSBodHRwczovL2NzcC53aXRoZ29vZ2xlLmNvbS9jc3Avb25lLWdvb2dsZS1lbmcifSwgeyJuYW1lIjogImNvbnRlbnQtdHlwZSIsICJ2YWx1ZSI6ICJ0ZXh0L2NzczsgY2hhcnNldD1VVEYtOCJ9LCB7Im5hbWUiOiAiY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kiLCAidmFsdWUiOiAic2FtZS1vcmlnaW47IHJlcG9ydC10bz1cIm9uZS1nb29nbGUtZW5nXCIifSwgeyJuYW1lIjogImNyb3NzLW9yaWdpbi1yZXNvdXJjZS1wb2xpY3kiLCAidmFsdWUiOiAiY3Jvc3Mtb3JpZ2luIn0sIHsibmFtZSI6ICJkYXRlIiwgInZhbHVlIjogIlR1ZSwgMzAgSnVsIDIwMjQgMTc6MDM6NTYgR01UIn0sIHsibmFtZSI6ICJleHBpcmVzIiwgInZhbHVlIjogIldlZCwgMzAgSnVsIDIwMjUgMTc6MDM6NTYgR01UIn0sIHsibmFtZSI6ICJsYXN0LW1vZGlmaWVkIiwgInZhbHVlIjogIlRodSwgMjUgSnVsIDIwMjQgMDE6MzM6MjMgR01UIn0sIHsibmFtZSI6ICJyZXBvcnQtdG8iLCAidmFsdWUiOiAie1wiZ3JvdXBcIjpcIm9uZS1nb29nbGUtZW5nXCIsXCJtYXhfYWdlXCI6MjU5MjAwMCxcImVuZHBvaW50c1wiOlt7XCJ1cmxcIjpcImh0dHBzOi8vY3NwLndpdGhnb29nbGUuY29tL2NzcC9yZXBvcnQtdG8vb25lLWdvb2dsZS1lbmdcIn1dfSJ9LCB7Im5hbWUiOiAic2VydmVyIiwgInZhbHVlIjogInNmZmUifSwgeyJuYW1lIjogInZhcnkiLCAidmFsdWUiOiAiQWNjZXB0LUVuY29kaW5nLCBPcmlnaW4ifSwgeyJuYW1lIjogIngtY29udGVudC10eXBlLW9wdGlvbnMiLCAidmFsdWUiOiAibm9zbmlmZiJ9LCB7Im5hbWUiOiAieC14c3MtcHJvdGVjdGlvbiIsICJ2YWx1ZSI6ICIwIn1dLCAiY29udGVudCI6IHsic2l6ZSI6IDEwMDU5LCAibWltZVR5cGUiOiAidGV4dC9jc3M7IGNoYXJzZXQ9VVRGLTgiLCAiY29tcHJlc3Npb24iOiA3MjY1LCAidGV4dCI6ICIuZ2Jfcnstd2Via2l0LWJvcmRlci1yYWRpdXM6NTAlO2JvcmRlci1yYWRpdXM6NTAlO2JvdHRvbToycHg7aGVpZ2h0OjE4cHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt3aWR0aDoxOHB4fS5nYl9sYXstd2Via2l0LWJvcmRlci1yYWRpdXM6NTAlO2JvcmRlci1yYWRpdXM6NTAlOy13ZWJraXQtYm94LXNoYWRvdzowcHggMXB4IDJweCAwcHggcmdiYSg2MCw2NCw2NywuMzApLDBweCAxcHggM3B4IDFweCByZ2JhKDYwLDY0LDY3LC4xNSk7Ym94LXNoYWRvdzowcHggMXB4IDJweCAwcHggcmdiYSg2MCw2NCw2NywuMzApLDBweCAxcHggM3B4IDFweCByZ2JhKDYwLDY0LDY3LC4xNSk7bWFyZ2luOjJweH0uZ2JfbWF7ZmlsbDojZjlhYjAwfS5nYl9pIC5nYl9tYXtmaWxsOiNmZGQ2NjN9LmdiX25hPi5nYl9tYXtmaWxsOiNkOTMwMjV9LmdiX2kgLmdiX25hPi5nYl9tYXtmaWxsOiNmMjhiODJ9LmdiX25hPi5nYl9vYXtmaWxsOndoaXRlfS5nYl9vYSwuZ2JfaSAuZ2JfbmE+LmdiX29he2ZpbGw6IzIwMjEyNH0uZ2JfcGF7LXdlYmtpdC1jbGlwLXBhdGg6cGF0aChcIk0xNiAwQzI0LjgzNjYgMCAzMiA3LjE2MzQ0IDMyIDE2QzMyIDE2LjQ5NjQgMzEuOTc3NCAxNi45ODc1IDMxLjkzMzIgMTcuNDcyM0MzMC41MTY2IDE2LjU0MTEgMjguODIxNSAxNiAyNyAxNkMyMi4wMjk0IDE2IDE4IDIwLjAyOTQgMTggMjVDMTggMjcuNDY3MSAxOC45OTI3IDI5LjcwMjQgMjAuNjAwNCAzMS4zMjgyQzE5LjE0NDMgMzEuNzY1MyAxNy41OTk2IDMyIDE2IDMyQzcuMTYzNDQgMzIgMCAyNC44MzY2IDAgMTZDMCA3LjE2MzQ0IDcuMTYzNDQgMCAxNiAwWlwiKTtjbGlwLXBhdGg6cGF0aChcIk0xNiAwQzI0LjgzNjYgMCAzMiA3LjE2MzQ0IDMyIDE2QzMyIDE2LjQ5NjQgMzEuOTc3NCAxNi45ODc1IDMxLjkzMzIgMTcuNDcyM0MzMC41MTY2IDE2LjU0MTEgMjguODIxNSAxNiAyNyAxNkMyMi4wMjk0IDE2IDE4IDIwLjAyOTQgMTggMjVDMTggMjcuNDY3MSAxOC45OTI3IDI5LjcwMjQgMjAuNjAwNCAzMS4zMjgyQzE5LjE0NDMgMzEuNzY1MyAxNy41OTk2IDMyIDE2IDMyQzcuMTYzNDQgMzIgMCAyNC44MzY2IDAgMTZDMCA3LjE2MzQ0IDcuMTYzNDQgMCAxNiAwWlwiKX0uZ2JfZCAuZ2JfcntkaXNwbGF5OmJsb2NrfS5nYl9PZXtiYWNrZ3JvdW5kOnJnYmEoNjAsNjQsNjcsLjkpOy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHg7Ym9yZGVyLXJhZGl1czo0cHg7Y29sb3I6I2ZmZjtmb250OjUwMCAxMnB4IFwiUm9ib3RvXCIsYXJpYWwsc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzouOHB4O2xpbmUtaGVpZ2h0OjE2cHg7bWFyZ2luLXRvcDo0cHg7bWluLWhlaWdodDoxNHB4O3BhZGRpbmc6NHB4IDhweDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZH0uZ2JfeGN7dGV4dC1hbGlnbjpsZWZ0fS5nYl94Yz4qe2NvbG9yOiNiZGMxYzY7bGluZS1oZWlnaHQ6MTZweH0uZ2JfeGMgZGl2OmZpcnN0LWNoaWxke2NvbG9yOndoaXRlfS5nYl9nYXtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDstd2Via2l0LWJvcmRlci1yYWRpdXM6NTAlO2JvcmRlci1yYWRpdXM6NTAlOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6NDBweDttYXJnaW46OHB4O291dGxpbmU6bm9uZTtwYWRkaW5nOjFweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDowO3dpZHRoOjQwcHh9LmdiX2dhOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSg2OCw3MSw3MCwuMDgpfS5nYl9nYTpmb2N1cywuZ2JfZ2E6YWN0aXZle2JhY2tncm91bmQtY29sb3I6cmdiYSg2OCw3MSw3MCwuMTIpfS5nYl9nYTpmb2N1cy12aXNpYmxle2JvcmRlci1jb2xvcjojMGI1N2QwO291dGxpbmU6MXB4IHNvbGlkIHRyYW5zcGFyZW50O291dGxpbmUtb2Zmc2V0Oi0xcHh9LmdiX2kgLmdiX2dhOmhvdmVyLC5nYl9pIC5nYl9nYTpmb2N1cywuZ2JfaSAuZ2JfZ2E6YWN0aXZle2JhY2tncm91bmQtY29sb3I6cmdiYSgyMjcsMjI3LDIyNywuMDgpfS5nYl9pIC5nYl9nYTpmb2N1cy12aXNpYmxle2JvcmRlci1jb2xvcjojYThjN2ZhfS5nYl9oYSAuZ2JfaWF7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDstd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4O2JvcmRlci1yYWRpdXM6NHB4O2NvbG9yOiMwYjU3ZDB9LmdiX2lhOmhvdmVye2NvbG9yOiMwODQyYTB9LmdiX2lhOmZvY3VzLC5nYl9pYTphY3RpdmV7Y29sb3I6IzA2MmU2Zn0uZ2JfaWE6Zm9jdXMtdmlzaWJsZXtib3JkZXItY29sb3I6IzBiNTdkMDt0ZXh0LWRlY29yYXRpb246bm9uZX0uZ2JfaSAuZ2JfaWF7Y29sb3I6I2E4YzdmYX0uZ2JfaSAuZ2JfaWE6aG92ZXJ7Y29sb3I6I2QzZTNmZH0uZ2JfaSAuZ2JfaWE6Zm9jdXMsLmdiX2kgLmdiX2lhOmFjdGl2ZXtjb2xvcjojZWNmM2ZlfS5nYl9pIC5nYl9pYTpmb2N1cy12aXNpYmxle2JvcmRlci1jb2xvcjojYThjN2ZhO2NvbG9yOiNhOGM3ZmE7b3V0bGluZTpub25lfS5nYl9qYXstd2Via2l0LWJveC1zaGFkb3c6MCAtMXB4IDJweCAwIHJnYmEoNjAsNjQsNjcsLjMpLDAgLTJweCA2cHggMnB4IHJnYmEoNjAsNjQsNjcsLjE1KTtib3gtc2hhZG93OjAgLTFweCAycHggMCByZ2JhKDYwLDY0LDY3LC4zKSwwIC0ycHggNnB4IDJweCByZ2JhKDYwLDY0LDY3LC4xNSk7aGVpZ2h0Oi13ZWJraXQtY2FsYygxMDAlIC0gMTZweCk7aGVpZ2h0OmNhbGMoMTAwJSAtIDE2cHgpO2xlZnQ6MDttYXJnaW46OHB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOi13ZWJraXQtY2FsYygxMDAlIC0gMTZweCk7d2lkdGg6Y2FsYygxMDAlIC0gMTZweCl9LmdiX2thLmdiX2phey13ZWJraXQtYm9yZGVyLXJhZGl1czoyOHB4O2JvcmRlci1yYWRpdXM6MjhweDstd2Via2l0LWJveC1zaGFkb3c6MCAycHggNnB4IDJweCByZ2JhKDAsMCwwLC4xNSksMCAxcHggMnB4IDAgcmdiYSgwLDAsMCwuMyk7Ym94LXNoYWRvdzowIDJweCA2cHggMnB4IHJnYmEoMCwwLDAsLjE1KSwwIDFweCAycHggMCByZ2JhKDAsMCwwLC4zKTtoZWlnaHQ6MjkwcHh9QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjQ1MnB4KXsuZ2Jfa2EuZ2JfamF7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjA7Ym9yZGVyLXJhZGl1czowO2hlaWdodDoxMDAlO21hcmdpbjowO21heC13aWR0aDp1bnNldDtwYWRkaW5nOjA7d2lkdGg6MTAwJX19QC13ZWJraXQta2V5ZnJhbWVzIGZvY3VzLWFuaW1hdGlvbnswJXtvdXRsaW5lLWNvbG9yOnRyYW5zcGFyZW50O291dGxpbmUtb2Zmc2V0OjA7b3V0bGluZS13aWR0aDowfXRve291dGxpbmUtb2Zmc2V0OjJweDtvdXRsaW5lLXdpZHRoOjFweH19QGtleWZyYW1lcyBmb2N1cy1hbmltYXRpb257MCV7b3V0bGluZS1jb2xvcjp0cmFuc3BhcmVudDtvdXRsaW5lLW9mZnNldDowO291dGxpbmUtd2lkdGg6MH10b3tvdXRsaW5lLW9mZnNldDoycHg7b3V0bGluZS13aWR0aDoxcHh9fWEuZ2JfdmE6YmVmb3Jle2NvbnRlbnQ6XCIgXCI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3BhY2l0eTowOy13ZWJraXQtYm9yZGVyLXJhZGl1czoxMDBweDtib3JkZXItcmFkaXVzOjEwMHB4O2JhY2tncm91bmQ6I2ZmZjtiYWNrZ3JvdW5kOnZhcigtLWdtMy1zeXMtY29sb3Itb24tcHJpbWFyeSwjZmZmKTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuNXMgZWFzZS1vdXQ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2Utb3V0O3RyYW5zaXRpb246b3BhY2l0eSAuNXMgZWFzZS1vdXR9YS5nYl92YTpob3Zlcnstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggMnB4IDAgcmdiYSgwLDAsMCwuMyksMCAxcHggM3B4IDFweCByZ2JhKDAsMCwwLC4xNSk7Ym94LXNoYWRvdzowIDFweCAycHggMCByZ2JhKDAsMCwwLC4zKSwwIDFweCAzcHggMXB4IHJnYmEoMCwwLDAsLjE1KX1hLmdiX3ZhOmhvdmVyOmJlZm9yZXtvcGFjaXR5Oi4wOH1hLmdiX3ZhOmFjdGl2ZSxhLmdiX3ZhOmFjdGl2ZTpmb2N1c3std2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmV9YS5nYl92YTphY3RpdmU6YmVmb3JlLGEuZ2JfdmE6YWN0aXZlOmZvY3VzOmJlZm9yZXtvcGFjaXR5Oi4xMn1hLmdiX3ZhOmZvY3VzLXZpc2libGV7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lfWEuZ2JfdmE6Zm9jdXMtdmlzaWJsZTpiZWZvcmV7b3BhY2l0eTouMTJ9YS5nYl92YTpmb2N1cy12aXNpYmxle291dGxpbmUtc3R5bGU6c29saWQ7b3V0bGluZS1jb2xvcjojMGI1N2QwO291dGxpbmUtY29sb3I6dmFyKC0tZ20zLXN5cy1jb2xvci1wcmltYXJ5LCMwYjU3ZDApOy13ZWJraXQtYW5pbWF0aW9uOmZvY3VzLWFuaW1hdGlvbiAuM3MgZWFzZS1pbi1vdXQgZm9yd2FyZHM7LXdlYmtpdC1hbmltYXRpb246Zm9jdXMtYW5pbWF0aW9uIC4zcyBlYXNlLWluLW91dCBmb3J3YXJkczthbmltYXRpb246Zm9jdXMtYW5pbWF0aW9uIC4zcyBlYXNlLWluLW91dCBmb3J3YXJkc31AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXthLmdiX3Zhe2JvcmRlcjoxcHggc29saWQ7Ym9yZGVyLWNvbG9yOiM3NDc3NzU7Ym9yZGVyLWNvbG9yOnZhcigtLWdtMy1zeXMtY29sb3Itb3V0bGluZSwjNzQ3Nzc1KX1hLmdiX3ZhOmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgdHJhbnNwYXJlbnR9fUBrZXlmcmFtZXMgZm9jdXMtYW5pbWF0aW9uezAle291dGxpbmUtY29sb3I6dHJhbnNwYXJlbnQ7b3V0bGluZS1vZmZzZXQ6MDtvdXRsaW5lLXdpZHRoOjB9dG97b3V0bGluZS1vZmZzZXQ6MnB4O291dGxpbmUtd2lkdGg6MXB4fX1hLmdiX3dhOmJlZm9yZXtjb250ZW50OlwiIFwiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29wYWNpdHk6MDstd2Via2l0LWJvcmRlci1yYWRpdXM6MTAwcHg7Ym9yZGVyLXJhZGl1czoxMDBweDtiYWNrZ3JvdW5kOiMwYjU3ZDA7YmFja2dyb3VuZDp2YXIoLS1nbTMtc3lzLWNvbG9yLXByaW1hcnksIzBiNTdkMCk7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2Utb3V0Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC41cyBlYXNlLW91dDt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2Utb3V0fWEuZ2Jfd2E6aG92ZXJ7YmFja2dyb3VuZDpub25lO2JvcmRlci1jb2xvcjojNzQ3Nzc1O2JvcmRlci1jb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLW91dGxpbmUsIzc0Nzc3NSl9YS5nYl93YTpob3ZlcjpiZWZvcmV7b3BhY2l0eTouMDh9YS5nYl93YTphY3RpdmUsYS5nYl93YTphY3RpdmU6Zm9jdXN7Ym9yZGVyLWNvbG9yOiM3NDc3NzU7Ym9yZGVyLWNvbG9yOnZhcigtLWdtMy1zeXMtY29sb3Itb3V0bGluZSwjNzQ3Nzc1KX1hLmdiX3dhOmFjdGl2ZTpiZWZvcmUsYS5nYl93YTphY3RpdmU6Zm9jdXM6YmVmb3Jle29wYWNpdHk6LjEyfWEuZ2Jfd2E6Zm9jdXMtdmlzaWJsZXtib3JkZXItY29sb3I6IzBiNTdkMDtib3JkZXItY29sb3I6dmFyKC0tZ20zLXN5cy1jb2xvci1wcmltYXJ5LCMwYjU3ZDApfWEuZ2Jfd2E6Zm9jdXMtdmlzaWJsZTpiZWZvcmV7b3BhY2l0eTouMTJ9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7YS5nYl93YXtib3JkZXI6MXB4IHNvbGlkO2JvcmRlci1jb2xvcjojNzQ3Nzc1O2JvcmRlci1jb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLW91dGxpbmUsIzc0Nzc3NSl9YS5nYl93YTpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkIHRyYW5zcGFyZW50fX0uZ2JfQWEuZ2JfaSBhLmdiX3ZhOmJlZm9yZSwuZ2JfQmEuZ2JfaSBhLmdiX3ZhOmJlZm9yZXtiYWNrZ3JvdW5kOiMwNjJlNmY7YmFja2dyb3VuZDp2YXIoLS1nbTMtc3lzLWNvbG9yLW9uLXByaW1hcnksIzA2MmU2Zil9LmdiX0FhLmdiX2kgYS5nYl92YTpmb2N1cy12aXNpYmxlLC5nYl9CYS5nYl9pIGEuZ2JfdmE6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLWNvbG9yOiNhOGM3ZmE7b3V0bGluZS1jb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLXByaW1hcnksI2E4YzdmYSl9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7LmdiX0FhLmdiX2kgYS5nYl92YSwuZ2JfQmEuZ2JfaSBhLmdiX3Zhe2JvcmRlci1jb2xvcjojOGU5MThmO2JvcmRlci1jb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLW91dGxpbmUsIzhlOTE4Zil9fS5nYl9DYS5nYl9pIGEuZ2JfdmE6YmVmb3Jle2JhY2tncm91bmQ6IzAwMWQzNTtiYWNrZ3JvdW5kOnZhcigtLWdtMy1zeXMtY29sb3Itb24tc2Vjb25kYXJ5LWNvbnRhaW5lciwjMDAxZDM1KX0uZ2JfQ2EuZ2JfaSBhLmdiX3ZhOmZvY3VzLXZpc2libGV7b3V0bGluZS1jb2xvcjojYzJlN2ZmO291dGxpbmUtY29sb3I6dmFyKC0tZ20zLXN5cy1jb2xvci1zZWNvbmRhcnktY29udGFpbmVyLCNjMmU3ZmYpfUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey5nYl9DYS5nYl9pIGEuZ2JfdmF7Ym9yZGVyLWNvbG9yOiM3NDc3NzU7Ym9yZGVyLWNvbG9yOnZhcigtLWdtMy1zeXMtY29sb3Itb3V0bGluZSwjNzQ3Nzc1KX19LmdiX2hhLmdiX2kgYS5nYl93YTpiZWZvcmV7YmFja2dyb3VuZDojYThjN2ZhO2JhY2tncm91bmQ6dmFyKC0tZ20zLXN5cy1jb2xvci1wcmltYXJ5LCNhOGM3ZmEpfS5nYl9oYS5nYl9pIGEuZ2Jfd2E6Zm9jdXMtdmlzaWJsZXtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyLWNvbG9yOiNhOGM3ZmE7Ym9yZGVyLWNvbG9yOnZhcigtLWdtMy1zeXMtY29sb3ItcHJpbWFyeSwjYThjN2ZhKX1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsuZ2JfaGEuZ2JfaSBhLmdiX3dhe2JvcmRlci1jb2xvcjojOGU5MThmO2JvcmRlci1jb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLW91dGxpbmUsIzhlOTE4Zil9fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey5nYl9oYSAuZ2JfOWQ6bm90KC5nYl9OZSk6Zm9jdXN7b3V0bGluZToycHggc29saWQgdHJhbnNwYXJlbnR9fS5nYl9oYXstd2Via2l0LXRyYW5zaXRpb246Ym94LXNoYWRvdyAyNTBtczstd2Via2l0LXRyYW5zaXRpb246Ym94LXNoYWRvdyAyNTBtczt0cmFuc2l0aW9uOmJveC1zaGFkb3cgMjUwbXN9YS5nYl95OmZvY3Vze291dGxpbmUtb2Zmc2V0OjJweH1hLmdiX3k6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0uZ2JfY2R7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjRzOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC40czt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjRzfS5nYl9GZHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmdiX0lkIC5nYl9ye2JvdHRvbTotM3B4O3JpZ2h0Oi01cHh9LmdiX0ZkOmZpcnN0LWNoaWxke3BhZGRpbmctbGVmdDowfS5nYl9me3Bvc2l0aW9uOnJlbGF0aXZlfS5nYl9ke2Rpc3BsYXk6aW5saW5lLWJsb2NrO291dGxpbmU6bm9uZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjUwJTtib3JkZXItcmFkaXVzOjUwJTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7aGVpZ2h0OjQwcHg7d2lkdGg6NDBweDtjdXJzb3I6cG9pbnRlcjt0ZXh0LWRlY29yYXRpb246bm9uZX0jZ2IjZ2IgYS5nYl9ke2N1cnNvcjpwb2ludGVyO3RleHQtZGVjb3JhdGlvbjpub25lfS5nYl9kLGEuZ2JfZHtjb2xvcjojMDAwfXg6LW8tcHJlZm9jdXN7Ym9yZGVyLWJvdHRvbS1jb2xvcjojY2NjfS5nYl9Xe2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNjY2M7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjIpO2NvbG9yOiMwMDA7LXdlYmtpdC1ib3gtc2hhZG93OjAgMnB4IDEwcHggcmdiYSgwLDAsMCwuMik7Ym94LXNoYWRvdzowIDJweCAxMHB4IHJnYmEoMCwwLDAsLjIpO2Rpc3BsYXk6bm9uZTtvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjU0cHg7LXdlYmtpdC1hbmltYXRpb246Z2JfX2EgLjJzOy13ZWJraXQtYW5pbWF0aW9uOmdiX19hIC4yczthbmltYXRpb246Z2JfX2EgLjJzOy13ZWJraXQtYm9yZGVyLXJhZGl1czoycHg7Ym9yZGVyLXJhZGl1czoycHg7LXdlYmtpdC11c2VyLXNlbGVjdDp0ZXh0fS5nYl9GZC5nYl9FYSAuZ2JfVywuZ2JfRWEuZ2JfV3tkaXNwbGF5OmJsb2NrfS5nYl9KZHtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDo1NHB4O3otaW5kZXg6LTF9LmdiXzBhIC5nYl9Xe21hcmdpbi10b3A6LTEwcHh9LmdiX2hhIC5nYl85ZDpub3QoLmdiX3JhKTpmb2N1cyBpbWd7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4yKTtvdXRsaW5lOm5vbmU7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjUwJTtib3JkZXItcmFkaXVzOjUwJX0uZ2JfZDpiZWZvcmUsLmdiX01kIGJ1dHRvbjpiZWZvcmV7YmFja2dyb3VuZDojNDQ0NzQ2O2JhY2tncm91bmQ6dmFyKC0tZ20zLXN5cy1jb2xvci1vbi1zdXJmYWNlLXZhcmlhbnQsIzQ0NDc0Nik7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjEwMHB4O2JvcmRlci1yYWRpdXM6MTAwcHg7Y29udGVudDpcIiBcIjtoZWlnaHQ6MTAwJTtsZWZ0OjA7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlLW91dDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuM3MgZWFzZS1vdXQ7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlLW91dDt3aWR0aDoxMDAlfS5nYl9NZCBidXR0b246YmVmb3Jle2hlaWdodDo0MHB4O2xlZnQ6OHB4O3RvcDo0cHg7d2lkdGg6NDBweH0uZ2JfaGEuZ2JfaSAuZ2JfZDpiZWZvcmUsLmdiX2hhLmdiX2kgLmdiX01kIGJ1dHRvbjpiZWZvcmV7YmFja2dyb3VuZDojYzRjN2M1O2JhY2tncm91bmQ6dmFyKC0tZ20zLXN5cy1jb2xvci1vbi1zdXJmYWNlLXZhcmlhbnQsI2M0YzdjNSl9LmdiX01kIGJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHN2ZywuZ2JfTWQgYnV0dG9uOmhvdmVyIHN2ZywuZ2JfTWQgYnV0dG9uOmFjdGl2ZSBzdmcsLmdiX2Q6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSwuZ2JfZDpob3ZlciwuZ2JfZDphY3RpdmUsLmdiX2RbYXJpYS1leHBhbmRlZD10cnVlXXtvdXRsaW5lOm5vbmV9LmdiX01kIGJ1dHRvbjpmb2N1cy12aXNpYmxlIHN2ZywuZ2JfZDpmb2N1cy12aXNpYmxle291dGxpbmU6MXB4IHNvbGlkO291dGxpbmUtb2Zmc2V0OjA7b3V0bGluZS1jb2xvcjojMGI1N2QwO291dGxpbmUtY29sb3I6dmFyKC0tZ20zLXN5cy1jb2xvci1wcmltYXJ5LCMwYjU3ZDApfS5nYl9oYS5nYl9pIC5nYl9NZCBidXR0b246Zm9jdXMtdmlzaWJsZSBzdmcsLmdiX2hhLmdiX2kgLmdiX2Q6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLWNvbG9yOiNhOGM3ZmE7b3V0bGluZS1jb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLXByaW1hcnksI2E4YzdmYSl9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7LmdiX01kIGJ1dHRvbjpmb2N1cy12aXNpYmxlIHN2Z3tvdXRsaW5lOjFweCBzb2xpZCBjdXJyZW50Y29sb3J9fS5nYl9NZCBidXR0b246Zm9jdXM6YmVmb3JlLC5nYl9NZCBidXR0b246Zm9jdXM6aG92ZXI6YmVmb3JlLC5nYl9kOmZvY3VzOmJlZm9yZSwuZ2JfZDpmb2N1czpob3ZlcjpiZWZvcmV7b3BhY2l0eTouMTJ9LmdiX01kIGJ1dHRvbjphY3RpdmU6YmVmb3JlLC5nYl9kOmFjdGl2ZTpiZWZvcmV7b3BhY2l0eTouMTZ9LmdiX2Q6aG92ZXI6YmVmb3JlLC5nYl9NZCBidXR0b246aG92ZXI6YmVmb3Jle29wYWNpdHk6LjA4fS5nYl94YSAuZ2JfZC5nYl96YTpob3ZlcjpiZWZvcmV7b3BhY2l0eTowfS5nYl9kW2FyaWEtZXhwYW5kZWQ9dHJ1ZV06YmVmb3JlLC5nYl9kOmhvdmVyW2FyaWEtZXhwYW5kZWQ9dHJ1ZV06YmVmb3Jle29wYWNpdHk6LjE2fS5nYl9BYy5nYl9TZDpmb2N1cy12aXNpYmxle2JvcmRlcjoxcHggc29saWQgIzIwMjEyNDstd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4O2JvcmRlci1yYWRpdXM6NHB4O21hcmdpbjotMXB4IC0ycHggLTFweCAtNnB4O3BhZGRpbmc6MCAxcHggMCA1cHh9LmdiX0hjIC5nYl9BYy5nYl9TZDpmb2N1cy12aXNpYmxle2JvcmRlci1jb2xvcjojZjFmM2Y0fXNlbnRpbmVse30ifSwgImhlYWRlcnNTaXplIjogMCwgImJvZHlTaXplIjogMjc5NCwgInJlZGlyZWN0VVJMIjogIiIsICJfdHJhbnNmZXJTaXplIjogMjc5NH0sICJjYWNoZSI6IHt9LCAidGltaW5ncyI6IHsiZG5zIjogMC4wMiwgImNvbm5lY3QiOiAyMi41OTIsICJzc2wiOiAxNy43MjIsICJzZW5kIjogMCwgIndhaXQiOiA2LjE4NywgInJlY2VpdmUiOiA0LjF9LCAicGFnZXJlZiI6ICJwYWdlQDJlN2FjZTk1NWE2NzczZWNmZDJlOThlZjJmZGNiNzA0IiwgInNlcnZlcklQQWRkcmVzcyI6ICJbMmEwMDoxNDUwOjQwMDE6ODI4OjoyMDAzXSIsICJfc2VydmVyUG9ydCI6IDQ0MywgIl9zZWN1cml0eURldGFpbHMiOiB7InByb3RvY29sIjogIlRMUyAxLjMiLCAic3ViamVjdE5hbWUiOiAiKi5nc3RhdGljLmNvbSIsICJpc3N1ZXIiOiAiV1IyIiwgInZhbGlkRnJvbSI6IDE3MjIzNDM3NzAsICJ2YWxpZFRvIjogMTcyOTYwMTM2OX19LCB7InN0YXJ0ZWREYXRlVGltZSI6ICIyMDI0LTA4LTAxVDEyOjMzOjExLjYwNFoiLCAidGltZSI6IDMyLjEyNSwgInJlcXVlc3QiOiB7Im1ldGhvZCI6ICJQT1NUIiwgInVybCI6ICJodHRwczovL3d3dy5nb29nbGUuY29tL2dlbl8yMDQ/cz13ZWJocCZ0PWFmdCZhdHlwPWNzaSZlaT1oNENyWnZ5TEM1T2ZpLWdQX29xSi1RdyZydD13c3J0LjI2NCxhZnQuMjQ4LGFmdGkuMTc2LGhzdC43MixwcnQuMjQ4Jmltbj0xMSZpbWE9MiZpbWFkPTAmaW1hYz0wJndoPTcyMCZhZnRpZT0wYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFoSkFIQ0NBJmFmdD0xJmFmdHA9LTEmb3BpPTg5OTc4NDQ5IiwgImh0dHBWZXJzaW9uIjogImgzIiwgImNvb2tpZXMiOiBbeyJuYW1lIjogIkFFQyIsICJ2YWx1ZSI6ICJBVllCN2NyYXY5NFlNLWZmSjZTamk0UTd6TG1XaS1CYTRHb2JKXzlyT1FnOWpIeW91MG82dUVwV1hyOCJ9LCB7Im5hbWUiOiAiX19TZWN1cmUtRU5JRCIsICJ2YWx1ZSI6ICIyMS5TRT1aTk1oSWNfMjd4NG1vcGZZZ3ducmRMX05TMlJlNkxOejU5LTJyX1JrTzExUEhubHdvb3VvWkNDVjlESWk0enRRU0JUNGE2bmhPMExxanJhQnh4RDlyWUtTTWxlWWpIbGZmYVRETi01MmRpYzZ3djNpWFIzX2dzbnVkRXFDY0RVNHZ4Y1U5bUFBQ2xZVlBJNVlpSzNORk0xeURzSEJQcDhERTVqNVdNOEd3TFd0TnBOUG40ajY5U25SR0k0X1NmRmNnYlB5czBfbzYxLVZ5aUVWX3VwRmhGbW5nVF9xRDA3YSJ9XSwgImhlYWRlcnMiOiBbeyJuYW1lIjogIjphdXRob3JpdHkiLCAidmFsdWUiOiAid3d3Lmdvb2dsZS5jb20ifSwgeyJuYW1lIjogIjptZXRob2QiLCAidmFsdWUiOiAiUE9TVCJ9LCB7Im5hbWUiOiAiOnBhdGgiLCAidmFsdWUiOiAiL2dlbl8yMDQ/cz13ZWJocCZ0PWFmdCZhdHlwPWNzaSZlaT1oNENyWnZ5TEM1T2ZpLWdQX29xSi1RdyZydD13c3J0LjI2NCxhZnQuMjQ4LGFmdGkuMTc2LGhzdC43MixwcnQuMjQ4Jmltbj0xMSZpbWE9MiZpbWFkPTAmaW1hYz0wJndoPTcyMCZhZnRpZT0wYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFoSkFIQ0NBJmFmdD0xJmFmdHA9LTEmb3BpPTg5OTc4NDQ5In0sIHsibmFtZSI6ICI6c2NoZW1lIiwgInZhbHVlIjogImh0dHBzIn0sIHsibmFtZSI6ICJhY2NlcHQiLCAidmFsdWUiOiAiKi8qIn0sIHsibmFtZSI6ICJhY2NlcHQtZW5jb2RpbmciLCAidmFsdWUiOiAiZ3ppcCwgZGVmbGF0ZSwgYnIsIHpzdGQifSwgeyJuYW1lIjogImFjY2VwdC1sYW5ndWFnZSIsICJ2YWx1ZSI6ICJlbi1VUyxlbjtxPTAuOSJ9LCB7Im5hbWUiOiAiY29udGVudC1sZW5ndGgiLCAidmFsdWUiOiAiMCJ9LCB7Im5hbWUiOiAiY29udGVudC10eXBlIiwgInZhbHVlIjogInRleHQvcGxhaW47Y2hhcnNldD1VVEYtOCJ9LCB7Im5hbWUiOiAiY29va2llIiwgInZhbHVlIjogIkFFQz1BVllCN2NyYXY5NFlNLWZmSjZTamk0UTd6TG1XaS1CYTRHb2JKXzlyT1FnOWpIeW91MG82dUVwV1hyODsgX19TZWN1cmUtRU5JRD0yMS5TRT1aTk1oSWNfMjd4NG1vcGZZZ3ducmRMX05TMlJlNkxOejU5LTJyX1JrTzExUEhubHdvb3VvWkNDVjlESWk0enRRU0JUNGE2bmhPMExxanJhQnh4RDlyWUtTTWxlWWpIbGZmYVRETi01MmRpYzZ3djNpWFIzX2dzbnVkRXFDY0RVNHZ4Y1U5bUFBQ2xZVlBJNVlpSzNORk0xeURzSEJQcDhERTVqNVdNOEd3TFd0TnBOUG40ajY5U25SR0k0X1NmRmNnYlB5czBfbzYxLVZ5aUVWX3VwRmhGbW5nVF9xRDA3YSJ9LCB7Im5hbWUiOiAib3JpZ2luIiwgInZhbHVlIjogImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20ifSwgeyJuYW1lIjogInByaW9yaXR5IiwgInZhbHVlIjogInU9NCwgaSJ9LCB7Im5hbWUiOiAicmVmZXJlciIsICJ2YWx1ZSI6ICJodHRwczovL3d3dy5nb29nbGUuY29tLyJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhIiwgInZhbHVlIjogIlwiQ2hyb21pdW1cIjt2PVwiMTI3XCIsIFwiTm90KUE7QnJhbmRcIjt2PVwiOTlcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLWFyY2giLCAidmFsdWUiOiAiXCJ4NjRcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLWJpdG5lc3MiLCAidmFsdWUiOiAiXCI2NFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtZnVsbC12ZXJzaW9uIiwgInZhbHVlIjogIlwiMTI3LjAuNjUzMy4xN1wiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtZnVsbC12ZXJzaW9uLWxpc3QiLCAidmFsdWUiOiAiXCJDaHJvbWl1bVwiO3Y9XCIxMjcuMC42NTMzLjE3XCIsIFwiTm90KUE7QnJhbmRcIjt2PVwiOTkuMC4wLjBcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLW1vYmlsZSIsICJ2YWx1ZSI6ICI/MCJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLW1vZGVsIiwgInZhbHVlIjogIlwiXCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1wbGF0Zm9ybSIsICJ2YWx1ZSI6ICJcIldpbmRvd3NcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXBsYXRmb3JtLXZlcnNpb24iLCAidmFsdWUiOiAiXCIxMC4wXCIifSwgeyJuYW1lIjogInNlYy1jaC11YS13b3c2NCIsICJ2YWx1ZSI6ICI/MCJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLWRlc3QiLCAidmFsdWUiOiAiZW1wdHkifSwgeyJuYW1lIjogInNlYy1mZXRjaC1tb2RlIiwgInZhbHVlIjogIm5vLWNvcnMifSwgeyJuYW1lIjogInNlYy1mZXRjaC1zaXRlIiwgInZhbHVlIjogInNhbWUtb3JpZ2luIn0sIHsibmFtZSI6ICJ1c2VyLWFnZW50IiwgInZhbHVlIjogIk1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IFdpbjY0OyB4NjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS8xMjcuMC42NTMzLjE3IFNhZmFyaS81MzcuMzYifV0sICJxdWVyeVN0cmluZyI6IFt7Im5hbWUiOiAicyIsICJ2YWx1ZSI6ICJ3ZWJocCJ9LCB7Im5hbWUiOiAidCIsICJ2YWx1ZSI6ICJhZnQifSwgeyJuYW1lIjogImF0eXAiLCAidmFsdWUiOiAiY3NpIn0sIHsibmFtZSI6ICJlaSIsICJ2YWx1ZSI6ICJoNENyWnZ5TEM1T2ZpLWdQX29xSi1RdyJ9LCB7Im5hbWUiOiAicnQiLCAidmFsdWUiOiAid3NydC4yNjQsYWZ0LjI0OCxhZnRpLjE3Nixoc3QuNzIscHJ0LjI0OCJ9LCB7Im5hbWUiOiAiaW1uIiwgInZhbHVlIjogIjExIn0sIHsibmFtZSI6ICJpbWEiLCAidmFsdWUiOiAiMiJ9LCB7Im5hbWUiOiAiaW1hZCIsICJ2YWx1ZSI6ICIwIn0sIHsibmFtZSI6ICJpbWFjIiwgInZhbHVlIjogIjAifSwgeyJuYW1lIjogIndoIiwgInZhbHVlIjogIjcyMCJ9LCB7Im5hbWUiOiAiYWZ0aWUiLCAidmFsdWUiOiAiMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRaEpBSENDQSJ9LCB7Im5hbWUiOiAiYWZ0IiwgInZhbHVlIjogIjEifSwgeyJuYW1lIjogImFmdHAiLCAidmFsdWUiOiAiLTEifSwgeyJuYW1lIjogIm9waSIsICJ2YWx1ZSI6ICI4OTk3ODQ0OSJ9XSwgImhlYWRlcnNTaXplIjogMTQxOCwgImJvZHlTaXplIjogMH0sICJyZXNwb25zZSI6IHsic3RhdHVzIjogMjA0LCAic3RhdHVzVGV4dCI6ICIiLCAiaHR0cFZlcnNpb24iOiAiaDMiLCAiY29va2llcyI6IFtdLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiYWx0LXN2YyIsICJ2YWx1ZSI6ICJoMz1cIjo0NDNcIjsgbWE9MjU5MjAwMCxoMy0yOT1cIjo0NDNcIjsgbWE9MjU5MjAwMCJ9LCB7Im5hbWUiOiAiY29udGVudC1sZW5ndGgiLCAidmFsdWUiOiAiMCJ9LCB7Im5hbWUiOiAiY29udGVudC1zZWN1cml0eS1wb2xpY3kiLCAidmFsdWUiOiAib2JqZWN0LXNyYyAnbm9uZSc7YmFzZS11cmkgJ3NlbGYnO3NjcmlwdC1zcmMgJ25vbmNlLUIxYlhxejNJWk9NV1VvTzFxSzVBZHcnICdzdHJpY3QtZHluYW1pYycgJ3JlcG9ydC1zYW1wbGUnICd1bnNhZmUtZXZhbCcgJ3Vuc2FmZS1pbmxpbmUnIGh0dHBzOiBodHRwOjtyZXBvcnQtdXJpIGh0dHBzOi8vY3NwLndpdGhnb29nbGUuY29tL2NzcC9nd3Mvb3RoZXIifSwgeyJuYW1lIjogImNvbnRlbnQtdHlwZSIsICJ2YWx1ZSI6ICJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgifSwgeyJuYW1lIjogImNyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5IiwgInZhbHVlIjogInNhbWUtb3JpZ2luLWFsbG93LXBvcHVwczsgcmVwb3J0LXRvPVwiZ3dzXCIifSwgeyJuYW1lIjogImRhdGUiLCAidmFsdWUiOiAiVGh1LCAwMSBBdWcgMjAyNCAxMjozMzoxMSBHTVQifSwgeyJuYW1lIjogInBlcm1pc3Npb25zLXBvbGljeSIsICJ2YWx1ZSI6ICJ1bmxvYWQ9KCkifSwgeyJuYW1lIjogInJlcG9ydC10byIsICJ2YWx1ZSI6ICJ7XCJncm91cFwiOlwiZ3dzXCIsXCJtYXhfYWdlXCI6MjU5MjAwMCxcImVuZHBvaW50c1wiOlt7XCJ1cmxcIjpcImh0dHBzOi8vY3NwLndpdGhnb29nbGUuY29tL2NzcC9yZXBvcnQtdG8vZ3dzL290aGVyXCJ9XX0ifSwgeyJuYW1lIjogInNlcnZlciIsICJ2YWx1ZSI6ICJnd3MifSwgeyJuYW1lIjogIngtZnJhbWUtb3B0aW9ucyIsICJ2YWx1ZSI6ICJTQU1FT1JJR0lOIn0sIHsibmFtZSI6ICJ4LXhzcy1wcm90ZWN0aW9uIiwgInZhbHVlIjogIjAifV0sICJjb250ZW50IjogeyJzaXplIjogMCwgIm1pbWVUeXBlIjogInRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIsICJjb21wcmVzc2lvbiI6IDAsICJ0ZXh0IjogIiJ9LCAiaGVhZGVyc1NpemUiOiAwLCAiYm9keVNpemUiOiAxNywgInJlZGlyZWN0VVJMIjogIiIsICJfdHJhbnNmZXJTaXplIjogMTd9LCAiY2FjaGUiOiB7fSwgInRpbWluZ3MiOiB7ImRucyI6IC0xLCAiY29ubmVjdCI6IC0xLCAic3NsIjogLTEsICJzZW5kIjogMCwgIndhaXQiOiAyOC4zNzEsICJyZWNlaXZlIjogMy43NTR9LCAicGFnZXJlZiI6ICJwYWdlQDJlN2FjZTk1NWE2NzczZWNmZDJlOThlZjJmZGNiNzA0IiwgInNlcnZlcklQQWRkcmVzcyI6ICJbMmEwMDoxNDUwOjQwMDE6ODA4OjoyMDA0XSIsICJfc2VydmVyUG9ydCI6IDQ0MywgIl9zZWN1cml0eURldGFpbHMiOiB7InByb3RvY29sIjogIlFVSUMiLCAic3ViamVjdE5hbWUiOiAiKi5nb29nbGUuY29tIiwgImlzc3VlciI6ICJXUjIiLCAidmFsaWRGcm9tIjogMTcyMjM0Mjc3MywgInZhbGlkVG8iOiAxNzI5NjAwMzcyfX0sIHsic3RhcnRlZERhdGVUaW1lIjogIjIwMjQtMDgtMDFUMTI6MzM6MTEuODcyWiIsICJ0aW1lIjogNTkuNDUzLCAicmVxdWVzdCI6IHsibWV0aG9kIjogIkdFVCIsICJ1cmwiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9jb21wbGV0ZS9zZWFyY2g/cSZjcD0wJmNsaWVudD1nd3Mtd2l6Jnhzc2k9dCZnc19wY3J0PTImaGw9ZGUtTFUmYXV0aHVzZXI9MCZwc2k9aDRDclp2eUxDNU9maS1nUF9vcUotUXcuMTcyMjUxNTU5MTg0OCZkcHI9MSZub2xzYnQ9MSIsICJodHRwVmVyc2lvbiI6ICJoMyIsICJjb29raWVzIjogW3sibmFtZSI6ICJBRUMiLCAidmFsdWUiOiAiQVZZQjdjcmF2OTRZTS1mZko2U2ppNFE3ekxtV2ktQmE0R29iSl85ck9RZzlqSHlvdTBvNnVFcFdYcjgifSwgeyJuYW1lIjogIl9fU2VjdXJlLUVOSUQiLCAidmFsdWUiOiAiMjEuU0U9Wk5NaEljXzI3eDRtb3BmWWd3bnJkTF9OUzJSZTZMTno1OS0ycl9Sa08xMVBIbmx3b291b1pDQ1Y5RElpNHp0UVNCVDRhNm5oTzBMcWpyYUJ4eEQ5cllLU01sZVlqSGxmZmFURE4tNTJkaWM2d3YzaVhSM19nc251ZEVxQ2NEVTR2eGNVOW1BQUNsWVZQSTVZaUszTkZNMXlEc0hCUHA4REU1ajVXTThHd0xXdE5wTlBuNGo2OVNuUkdJNF9TZkZjZ2JQeXMwX282MS1WeWlFVl91cEZoRm1uZ1RfcUQwN2EifV0sICJoZWFkZXJzIjogW3sibmFtZSI6ICI6YXV0aG9yaXR5IiwgInZhbHVlIjogInd3dy5nb29nbGUuY29tIn0sIHsibmFtZSI6ICI6bWV0aG9kIiwgInZhbHVlIjogIkdFVCJ9LCB7Im5hbWUiOiAiOnBhdGgiLCAidmFsdWUiOiAiL2NvbXBsZXRlL3NlYXJjaD9xJmNwPTAmY2xpZW50PWd3cy13aXomeHNzaT10JmdzX3BjcnQ9MiZobD1kZS1MVSZhdXRodXNlcj0wJnBzaT1oNENyWnZ5TEM1T2ZpLWdQX29xSi1Rdy4xNzIyNTE1NTkxODQ4JmRwcj0xJm5vbHNidD0xIn0sIHsibmFtZSI6ICI6c2NoZW1lIiwgInZhbHVlIjogImh0dHBzIn0sIHsibmFtZSI6ICJhY2NlcHQiLCAidmFsdWUiOiAiKi8qIn0sIHsibmFtZSI6ICJhY2NlcHQtZW5jb2RpbmciLCAidmFsdWUiOiAiZ3ppcCwgZGVmbGF0ZSwgYnIsIHpzdGQifSwgeyJuYW1lIjogImFjY2VwdC1sYW5ndWFnZSIsICJ2YWx1ZSI6ICJlbi1VUyxlbjtxPTAuOSJ9LCB7Im5hbWUiOiAiY29va2llIiwgInZhbHVlIjogIkFFQz1BVllCN2NyYXY5NFlNLWZmSjZTamk0UTd6TG1XaS1CYTRHb2JKXzlyT1FnOWpIeW91MG82dUVwV1hyODsgX19TZWN1cmUtRU5JRD0yMS5TRT1aTk1oSWNfMjd4NG1vcGZZZ3ducmRMX05TMlJlNkxOejU5LTJyX1JrTzExUEhubHdvb3VvWkNDVjlESWk0enRRU0JUNGE2bmhPMExxanJhQnh4RDlyWUtTTWxlWWpIbGZmYVRETi01MmRpYzZ3djNpWFIzX2dzbnVkRXFDY0RVNHZ4Y1U5bUFBQ2xZVlBJNVlpSzNORk0xeURzSEJQcDhERTVqNVdNOEd3TFd0TnBOUG40ajY5U25SR0k0X1NmRmNnYlB5czBfbzYxLVZ5aUVWX3VwRmhGbW5nVF9xRDA3YSJ9LCB7Im5hbWUiOiAicHJpb3JpdHkiLCAidmFsdWUiOiAidT0xLCBpIn0sIHsibmFtZSI6ICJyZWZlcmVyIiwgInZhbHVlIjogImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEiLCAidmFsdWUiOiAiXCJDaHJvbWl1bVwiO3Y9XCIxMjdcIiwgXCJOb3QpQTtCcmFuZFwiO3Y9XCI5OVwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtYXJjaCIsICJ2YWx1ZSI6ICJcIng2NFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtYml0bmVzcyIsICJ2YWx1ZSI6ICJcIjY0XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1mdWxsLXZlcnNpb24iLCAidmFsdWUiOiAiXCIxMjcuMC42NTMzLjE3XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1mdWxsLXZlcnNpb24tbGlzdCIsICJ2YWx1ZSI6ICJcIkNocm9taXVtXCI7dj1cIjEyNy4wLjY1MzMuMTdcIiwgXCJOb3QpQTtCcmFuZFwiO3Y9XCI5OS4wLjAuMFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtbW9iaWxlIiwgInZhbHVlIjogIj8wIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtbW9kZWwiLCAidmFsdWUiOiAiXCJcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXBsYXRmb3JtIiwgInZhbHVlIjogIlwiV2luZG93c1wiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtcGxhdGZvcm0tdmVyc2lvbiIsICJ2YWx1ZSI6ICJcIjEwLjBcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXdvdzY0IiwgInZhbHVlIjogIj8wIn0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtZGVzdCIsICJ2YWx1ZSI6ICJlbXB0eSJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLW1vZGUiLCAidmFsdWUiOiAiY29ycyJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLXNpdGUiLCAidmFsdWUiOiAic2FtZS1vcmlnaW4ifSwgeyJuYW1lIjogInVzZXItYWdlbnQiLCAidmFsdWUiOiAiTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEyNy4wLjY1MzMuMTcgU2FmYXJpLzUzNy4zNiJ9XSwgInF1ZXJ5U3RyaW5nIjogW3sibmFtZSI6ICJxIiwgInZhbHVlIjogIiJ9LCB7Im5hbWUiOiAiY3AiLCAidmFsdWUiOiAiMCJ9LCB7Im5hbWUiOiAiY2xpZW50IiwgInZhbHVlIjogImd3cy13aXoifSwgeyJuYW1lIjogInhzc2kiLCAidmFsdWUiOiAidCJ9LCB7Im5hbWUiOiAiZ3NfcGNydCIsICJ2YWx1ZSI6ICIyIn0sIHsibmFtZSI6ICJobCIsICJ2YWx1ZSI6ICJkZS1MVSJ9LCB7Im5hbWUiOiAiYXV0aHVzZXIiLCAidmFsdWUiOiAiMCJ9LCB7Im5hbWUiOiAicHNpIiwgInZhbHVlIjogImg0Q3JadnlMQzVPZmktZ1Bfb3FKLVF3LjE3MjI1MTU1OTE4NDgifSwgeyJuYW1lIjogImRwciIsICJ2YWx1ZSI6ICIxIn0sIHsibmFtZSI6ICJub2xzYnQiLCAidmFsdWUiOiAiMSJ9XSwgImhlYWRlcnNTaXplIjogMTI1MiwgImJvZHlTaXplIjogMH0sICJyZXNwb25zZSI6IHsic3RhdHVzIjogMjAwLCAic3RhdHVzVGV4dCI6ICIiLCAiaHR0cFZlcnNpb24iOiAiaDMiLCAiY29va2llcyI6IFtdLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiYWNjZXB0LWNoIiwgInZhbHVlIjogIlNlYy1DSC1VQS1QbGF0Zm9ybSJ9LCB7Im5hbWUiOiAiYWNjZXB0LWNoIiwgInZhbHVlIjogIlNlYy1DSC1VQS1QbGF0Zm9ybS1WZXJzaW9uIn0sIHsibmFtZSI6ICJhY2NlcHQtY2giLCAidmFsdWUiOiAiU2VjLUNILVVBLUZ1bGwtVmVyc2lvbiJ9LCB7Im5hbWUiOiAiYWNjZXB0LWNoIiwgInZhbHVlIjogIlNlYy1DSC1VQS1BcmNoIn0sIHsibmFtZSI6ICJhY2NlcHQtY2giLCAidmFsdWUiOiAiU2VjLUNILVVBLU1vZGVsIn0sIHsibmFtZSI6ICJhY2NlcHQtY2giLCAidmFsdWUiOiAiU2VjLUNILVVBLUJpdG5lc3MifSwgeyJuYW1lIjogImFjY2VwdC1jaCIsICJ2YWx1ZSI6ICJTZWMtQ0gtVUEtRnVsbC1WZXJzaW9uLUxpc3QifSwgeyJuYW1lIjogImFjY2VwdC1jaCIsICJ2YWx1ZSI6ICJTZWMtQ0gtVUEtV29XNjQifSwgeyJuYW1lIjogImFsdC1zdmMiLCAidmFsdWUiOiAiaDM9XCI6NDQzXCI7IG1hPTI1OTIwMDAsaDMtMjk9XCI6NDQzXCI7IG1hPTI1OTIwMDAifSwgeyJuYW1lIjogImNhY2hlLWNvbnRyb2wiLCAidmFsdWUiOiAicHJpdmF0ZSwgbWF4LWFnZT0zNjAwIn0sIHsibmFtZSI6ICJjb250ZW50LWRpc3Bvc2l0aW9uIiwgInZhbHVlIjogImF0dGFjaG1lbnQ7IGZpbGVuYW1lPVwiZi50eHRcIiJ9LCB7Im5hbWUiOiAiY29udGVudC1lbmNvZGluZyIsICJ2YWx1ZSI6ICJiciJ9LCB7Im5hbWUiOiAiY29udGVudC1zZWN1cml0eS1wb2xpY3kiLCAidmFsdWUiOiAib2JqZWN0LXNyYyAnbm9uZSc7YmFzZS11cmkgJ3NlbGYnO3NjcmlwdC1zcmMgJ25vbmNlLVdLbGYtUXZfLWRNWTBCWUFHWnhlNEEnICdzdHJpY3QtZHluYW1pYycgJ3JlcG9ydC1zYW1wbGUnICd1bnNhZmUtZXZhbCcgJ3Vuc2FmZS1pbmxpbmUnIGh0dHBzOiBodHRwOjtyZXBvcnQtdXJpIGh0dHBzOi8vY3NwLndpdGhnb29nbGUuY29tL2NzcC9nd3MvY2R0MSJ9LCB7Im5hbWUiOiAiY29udGVudC10eXBlIiwgInZhbHVlIjogImFwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgifSwgeyJuYW1lIjogImNyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5IiwgInZhbHVlIjogInNhbWUtb3JpZ2luLWFsbG93LXBvcHVwczsgcmVwb3J0LXRvPVwiZ3dzXCIifSwgeyJuYW1lIjogImRhdGUiLCAidmFsdWUiOiAiVGh1LCAwMSBBdWcgMjAyNCAxMjozMzoxMSBHTVQifSwgeyJuYW1lIjogImV4cGlyZXMiLCAidmFsdWUiOiAiVGh1LCAwMSBBdWcgMjAyNCAxMjozMzoxMSBHTVQifSwgeyJuYW1lIjogInBlcm1pc3Npb25zLXBvbGljeSIsICJ2YWx1ZSI6ICJ1bmxvYWQ9KCkifSwgeyJuYW1lIjogInJlcG9ydC10byIsICJ2YWx1ZSI6ICJ7XCJncm91cFwiOlwiZ3dzXCIsXCJtYXhfYWdlXCI6MjU5MjAwMCxcImVuZHBvaW50c1wiOlt7XCJ1cmxcIjpcImh0dHBzOi8vY3NwLndpdGhnb29nbGUuY29tL2NzcC9yZXBvcnQtdG8vZ3dzL2NkdDFcIn1dfSJ9LCB7Im5hbWUiOiAic2VydmVyIiwgInZhbHVlIjogImd3cyJ9LCB7Im5hbWUiOiAic3RyaWN0LXRyYW5zcG9ydC1zZWN1cml0eSIsICJ2YWx1ZSI6ICJtYXgtYWdlPTMxNTM2MDAwIn0sIHsibmFtZSI6ICJ4LWNvbnRlbnQtdHlwZS1vcHRpb25zIiwgInZhbHVlIjogIm5vc25pZmYifSwgeyJuYW1lIjogIngtZnJhbWUtb3B0aW9ucyIsICJ2YWx1ZSI6ICJTQU1FT1JJR0lOIn0sIHsibmFtZSI6ICJ4LXhzcy1wcm90ZWN0aW9uIiwgInZhbHVlIjogIjAifV0sICJjb250ZW50IjogeyJzaXplIjogMjQyLCAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD1VVEYtOCIsICJjb21wcmVzc2lvbiI6IDM2LCAidGV4dCI6ICIpXX0nXG5bW1tcInBzIHBsdXMgYXVndXN0IDIwMjRcIiwwLFszLDM1NywzNjIsMzk2LDE0M10se1wiemZcIjozMyxcInpsXCI6OCxcInpwXCI6e1wiZ3Nfc3NcIjpcIjFcIn19XSxbXCJ1bndldHRlclwiLDAsWzMsMzU3LDM2MiwzOTYsMTQzXSx7XCJ6ZlwiOjMzLFwiemxcIjo4LFwienBcIjp7XCJnc19zc1wiOlwiMVwifX1dXSx7XCJhZ1wiOntcImFcIjp7XCI4XCI6W1wiVHJlbmRzIGJlaSBTdWNoYW5mcmFnZW5cIl19fSxcInFcIjpcIm9MMGdRMmk3VTgxYks3VFAyR0k5WGRCcUlMQVwifV0ifSwgImhlYWRlcnNTaXplIjogMCwgImJvZHlTaXplIjogMjA2LCAicmVkaXJlY3RVUkwiOiAiIiwgIl90cmFuc2ZlclNpemUiOiAyMDZ9LCAiY2FjaGUiOiB7fSwgInRpbWluZ3MiOiB7ImRucyI6IC0xLCAiY29ubmVjdCI6IC0xLCAic3NsIjogLTEsICJzZW5kIjogMCwgIndhaXQiOiA1MS45MDUsICJyZWNlaXZlIjogNy41NDh9LCAicGFnZXJlZiI6ICJwYWdlQDJlN2FjZTk1NWE2NzczZWNmZDJlOThlZjJmZGNiNzA0IiwgInNlcnZlcklQQWRkcmVzcyI6ICJbMmEwMDoxNDUwOjQwMDE6ODA4OjoyMDA0XSIsICJfc2VydmVyUG9ydCI6IDQ0MywgIl9zZWN1cml0eURldGFpbHMiOiB7InByb3RvY29sIjogIlFVSUMiLCAic3ViamVjdE5hbWUiOiAiKi5nb29nbGUuY29tIiwgImlzc3VlciI6ICJXUjIiLCAidmFsaWRGcm9tIjogMTcyMjM0Mjc3MywgInZhbGlkVG8iOiAxNzI5NjAwMzcyfX0sIHsic3RhcnRlZERhdGVUaW1lIjogIjIwMjQtMDgtMDFUMTI6MzM6MTEuODczWiIsICJ0aW1lIjogMzEuNzc1LCAicmVxdWVzdCI6IHsibWV0aG9kIjogIlBPU1QiLCAidXJsIjogImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vZ2VuXzIwND9hdHlwPWNzaSZlaT1oNENyWnZ5TEM1T2ZpLWdQX29xSi1RdyZzPXdlYmhwJnQ9YWxsJmltbj0xMSZpbWE9MiZpbWFkPTAmaW1hYz0wJndoPTcyMCZhZnRpZT0wYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFoSkFIQ0NBJmFmdD0xJmFmdHA9LTEmYWRoPSZpbWU9MiZpbWVhZT0wJmltZWFwPTAmaW1leD0yJmltZWg9MCZpbWVoYT0wJmltZWhiPTAmaW1lYT0wJmltZWI9MCZpbWVsPTAmaW1lZD0wJmltZWViPTAmc2NwPTAmY2I9NzcwMjkmdWNiPTI3MDcwNyZtZW09dWpocy44LHRqaHMuMTAsamhzbC40Mjk1LGRtLjgmbnY9bmUuMSxmZWlkLmE2N2U4YmI1LTU5OWUtNDY2MS04YzdkLTJiNTEzMzFlYTQwNiZuZXQ9ZGwuMTAwMDAsZWN0LjRnLHJ0dC4wJmhwPSZzeXM9aGMuNDgmcD1icy50cnVlJnJ0PWhzdC43MixwcnQuMjQ4LGFmdGkuMTc2LGFmdGlwLjEzNixhZnQuMjQ4LGFmdHFmLjI1NSx4anNlcy4yNjYseGpzZWUuNDYzLHhqcy40NjMsbGNwLjIwNyxmY3AuMjA3LHdzcnQuMjY0LGNzdC4zNSxkbnN0LjEscnFzdC4yMDAscnNwdC4yOSxzc2x0LjM1LHJxc3R0LjkzLHVudC41NSxjc3R0LjU4LGRpdC41MjYmeng9MTcyMjUxNTU5MTg2NCZvcGk9ODk5Nzg0NDkiLCAiaHR0cFZlcnNpb24iOiAiaDMiLCAiY29va2llcyI6IFt7Im5hbWUiOiAiQUVDIiwgInZhbHVlIjogIkFWWUI3Y3Jhdjk0WU0tZmZKNlNqaTRRN3pMbVdpLUJhNEdvYkpfOXJPUWc5akh5b3UwbzZ1RXBXWHI4In0sIHsibmFtZSI6ICJfX1NlY3VyZS1FTklEIiwgInZhbHVlIjogIjIxLlNFPVpOTWhJY18yN3g0bW9wZllnd25yZExfTlMyUmU2TE56NTktMnJfUmtPMTFQSG5sd29vdW9aQ0NWOURJaTR6dFFTQlQ0YTZuaE8wTHFqcmFCeHhEOXJZS1NNbGVZakhsZmZhVEROLTUyZGljNnd2M2lYUjNfZ3NudWRFcUNjRFU0dnhjVTltQUFDbFlWUEk1WWlLM05GTTF5RHNIQlBwOERFNWo1V004R3dMV3ROcE5QbjRqNjlTblJHSTRfU2ZGY2diUHlzMF9vNjEtVnlpRVZfdXBGaEZtbmdUX3FEMDdhIn1dLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiOmF1dGhvcml0eSIsICJ2YWx1ZSI6ICJ3d3cuZ29vZ2xlLmNvbSJ9LCB7Im5hbWUiOiAiOm1ldGhvZCIsICJ2YWx1ZSI6ICJQT1NUIn0sIHsibmFtZSI6ICI6cGF0aCIsICJ2YWx1ZSI6ICIvZ2VuXzIwND9hdHlwPWNzaSZlaT1oNENyWnZ5TEM1T2ZpLWdQX29xSi1RdyZzPXdlYmhwJnQ9YWxsJmltbj0xMSZpbWE9MiZpbWFkPTAmaW1hYz0wJndoPTcyMCZhZnRpZT0wYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFoSkFIQ0NBJmFmdD0xJmFmdHA9LTEmYWRoPSZpbWU9MiZpbWVhZT0wJmltZWFwPTAmaW1leD0yJmltZWg9MCZpbWVoYT0wJmltZWhiPTAmaW1lYT0wJmltZWI9MCZpbWVsPTAmaW1lZD0wJmltZWViPTAmc2NwPTAmY2I9NzcwMjkmdWNiPTI3MDcwNyZtZW09dWpocy44LHRqaHMuMTAsamhzbC40Mjk1LGRtLjgmbnY9bmUuMSxmZWlkLmE2N2U4YmI1LTU5OWUtNDY2MS04YzdkLTJiNTEzMzFlYTQwNiZuZXQ9ZGwuMTAwMDAsZWN0LjRnLHJ0dC4wJmhwPSZzeXM9aGMuNDgmcD1icy50cnVlJnJ0PWhzdC43MixwcnQuMjQ4LGFmdGkuMTc2LGFmdGlwLjEzNixhZnQuMjQ4LGFmdHFmLjI1NSx4anNlcy4yNjYseGpzZWUuNDYzLHhqcy40NjMsbGNwLjIwNyxmY3AuMjA3LHdzcnQuMjY0LGNzdC4zNSxkbnN0LjEscnFzdC4yMDAscnNwdC4yOSxzc2x0LjM1LHJxc3R0LjkzLHVudC41NSxjc3R0LjU4LGRpdC41MjYmeng9MTcyMjUxNTU5MTg2NCZvcGk9ODk5Nzg0NDkifSwgeyJuYW1lIjogIjpzY2hlbWUiLCAidmFsdWUiOiAiaHR0cHMifSwgeyJuYW1lIjogImFjY2VwdCIsICJ2YWx1ZSI6ICIqLyoifSwgeyJuYW1lIjogImFjY2VwdC1lbmNvZGluZyIsICJ2YWx1ZSI6ICJnemlwLCBkZWZsYXRlLCBiciwgenN0ZCJ9LCB7Im5hbWUiOiAiYWNjZXB0LWxhbmd1YWdlIiwgInZhbHVlIjogImVuLVVTLGVuO3E9MC45In0sIHsibmFtZSI6ICJjb250ZW50LWxlbmd0aCIsICJ2YWx1ZSI6ICIwIn0sIHsibmFtZSI6ICJjb29raWUiLCAidmFsdWUiOiAiQUVDPUFWWUI3Y3Jhdjk0WU0tZmZKNlNqaTRRN3pMbVdpLUJhNEdvYkpfOXJPUWc5akh5b3UwbzZ1RXBXWHI4OyBfX1NlY3VyZS1FTklEPTIxLlNFPVpOTWhJY18yN3g0bW9wZllnd25yZExfTlMyUmU2TE56NTktMnJfUmtPMTFQSG5sd29vdW9aQ0NWOURJaTR6dFFTQlQ0YTZuaE8wTHFqcmFCeHhEOXJZS1NNbGVZakhsZmZhVEROLTUyZGljNnd2M2lYUjNfZ3NudWRFcUNjRFU0dnhjVTltQUFDbFlWUEk1WWlLM05GTTF5RHNIQlBwOERFNWo1V004R3dMV3ROcE5QbjRqNjlTblJHSTRfU2ZGY2diUHlzMF9vNjEtVnlpRVZfdXBGaEZtbmdUX3FEMDdhIn0sIHsibmFtZSI6ICJvcmlnaW4iLCAidmFsdWUiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbSJ9LCB7Im5hbWUiOiAicHJpb3JpdHkiLCAidmFsdWUiOiAidT00LCBpIn0sIHsibmFtZSI6ICJyZWZlcmVyIiwgInZhbHVlIjogImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEiLCAidmFsdWUiOiAiXCJDaHJvbWl1bVwiO3Y9XCIxMjdcIiwgXCJOb3QpQTtCcmFuZFwiO3Y9XCI5OVwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtYXJjaCIsICJ2YWx1ZSI6ICJcIng2NFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtYml0bmVzcyIsICJ2YWx1ZSI6ICJcIjY0XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1mdWxsLXZlcnNpb24iLCAidmFsdWUiOiAiXCIxMjcuMC42NTMzLjE3XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1mdWxsLXZlcnNpb24tbGlzdCIsICJ2YWx1ZSI6ICJcIkNocm9taXVtXCI7dj1cIjEyNy4wLjY1MzMuMTdcIiwgXCJOb3QpQTtCcmFuZFwiO3Y9XCI5OS4wLjAuMFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtbW9iaWxlIiwgInZhbHVlIjogIj8wIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtbW9kZWwiLCAidmFsdWUiOiAiXCJcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXBsYXRmb3JtIiwgInZhbHVlIjogIlwiV2luZG93c1wiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtcGxhdGZvcm0tdmVyc2lvbiIsICJ2YWx1ZSI6ICJcIjEwLjBcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXdvdzY0IiwgInZhbHVlIjogIj8wIn0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtZGVzdCIsICJ2YWx1ZSI6ICJlbXB0eSJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLW1vZGUiLCAidmFsdWUiOiAibm8tY29ycyJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLXNpdGUiLCAidmFsdWUiOiAic2FtZS1vcmlnaW4ifSwgeyJuYW1lIjogInVzZXItYWdlbnQiLCAidmFsdWUiOiAiTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEyNy4wLjY1MzMuMTcgU2FmYXJpLzUzNy4zNiJ9XSwgInF1ZXJ5U3RyaW5nIjogW3sibmFtZSI6ICJhdHlwIiwgInZhbHVlIjogImNzaSJ9LCB7Im5hbWUiOiAiZWkiLCAidmFsdWUiOiAiaDRDclp2eUxDNU9maS1nUF9vcUotUXcifSwgeyJuYW1lIjogInMiLCAidmFsdWUiOiAid2ViaHAifSwgeyJuYW1lIjogInQiLCAidmFsdWUiOiAiYWxsIn0sIHsibmFtZSI6ICJpbW4iLCAidmFsdWUiOiAiMTEifSwgeyJuYW1lIjogImltYSIsICJ2YWx1ZSI6ICIyIn0sIHsibmFtZSI6ICJpbWFkIiwgInZhbHVlIjogIjAifSwgeyJuYW1lIjogImltYWMiLCAidmFsdWUiOiAiMCJ9LCB7Im5hbWUiOiAid2giLCAidmFsdWUiOiAiNzIwIn0sIHsibmFtZSI6ICJhZnRpZSIsICJ2YWx1ZSI6ICIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFoSkFIQ0NBIn0sIHsibmFtZSI6ICJhZnQiLCAidmFsdWUiOiAiMSJ9LCB7Im5hbWUiOiAiYWZ0cCIsICJ2YWx1ZSI6ICItMSJ9LCB7Im5hbWUiOiAiYWRoIiwgInZhbHVlIjogIiJ9LCB7Im5hbWUiOiAiaW1lIiwgInZhbHVlIjogIjIifSwgeyJuYW1lIjogImltZWFlIiwgInZhbHVlIjogIjAifSwgeyJuYW1lIjogImltZWFwIiwgInZhbHVlIjogIjAifSwgeyJuYW1lIjogImltZXgiLCAidmFsdWUiOiAiMiJ9LCB7Im5hbWUiOiAiaW1laCIsICJ2YWx1ZSI6ICIwIn0sIHsibmFtZSI6ICJpbWVoYSIsICJ2YWx1ZSI6ICIwIn0sIHsibmFtZSI6ICJpbWVoYiIsICJ2YWx1ZSI6ICIwIn0sIHsibmFtZSI6ICJpbWVhIiwgInZhbHVlIjogIjAifSwgeyJuYW1lIjogImltZWIiLCAidmFsdWUiOiAiMCJ9LCB7Im5hbWUiOiAiaW1lbCIsICJ2YWx1ZSI6ICIwIn0sIHsibmFtZSI6ICJpbWVkIiwgInZhbHVlIjogIjAifSwgeyJuYW1lIjogImltZWViIiwgInZhbHVlIjogIjAifSwgeyJuYW1lIjogInNjcCIsICJ2YWx1ZSI6ICIwIn0sIHsibmFtZSI6ICJjYiIsICJ2YWx1ZSI6ICI3NzAyOSJ9LCB7Im5hbWUiOiAidWNiIiwgInZhbHVlIjogIjI3MDcwNyJ9LCB7Im5hbWUiOiAibWVtIiwgInZhbHVlIjogInVqaHMuOCx0amhzLjEwLGpoc2wuNDI5NSxkbS44In0sIHsibmFtZSI6ICJudiIsICJ2YWx1ZSI6ICJuZS4xLGZlaWQuYTY3ZThiYjUtNTk5ZS00NjYxLThjN2QtMmI1MTMzMWVhNDA2In0sIHsibmFtZSI6ICJuZXQiLCAidmFsdWUiOiAiZGwuMTAwMDAsZWN0LjRnLHJ0dC4wIn0sIHsibmFtZSI6ICJocCIsICJ2YWx1ZSI6ICIifSwgeyJuYW1lIjogInN5cyIsICJ2YWx1ZSI6ICJoYy40OCJ9LCB7Im5hbWUiOiAicCIsICJ2YWx1ZSI6ICJicy50cnVlIn0sIHsibmFtZSI6ICJydCIsICJ2YWx1ZSI6ICJoc3QuNzIscHJ0LjI0OCxhZnRpLjE3NixhZnRpcC4xMzYsYWZ0LjI0OCxhZnRxZi4yNTUseGpzZXMuMjY2LHhqc2VlLjQ2Myx4anMuNDYzLGxjcC4yMDcsZmNwLjIwNyx3c3J0LjI2NCxjc3QuMzUsZG5zdC4xLHJxc3QuMjAwLHJzcHQuMjksc3NsdC4zNSxycXN0dC45Myx1bnQuNTUsY3N0dC41OCxkaXQuNTI2In0sIHsibmFtZSI6ICJ6eCIsICJ2YWx1ZSI6ICIxNzIyNTE1NTkxODY0In0sIHsibmFtZSI6ICJvcGkiLCAidmFsdWUiOiAiODk5Nzg0NDkifV0sICJoZWFkZXJzU2l6ZSI6IDE3ODMsICJib2R5U2l6ZSI6IDB9LCAicmVzcG9uc2UiOiB7InN0YXR1cyI6IDIwNCwgInN0YXR1c1RleHQiOiAiIiwgImh0dHBWZXJzaW9uIjogImgzIiwgImNvb2tpZXMiOiBbXSwgImhlYWRlcnMiOiBbeyJuYW1lIjogImFsdC1zdmMiLCAidmFsdWUiOiAiaDM9XCI6NDQzXCI7IG1hPTI1OTIwMDAsaDMtMjk9XCI6NDQzXCI7IG1hPTI1OTIwMDAifSwgeyJuYW1lIjogImNvbnRlbnQtbGVuZ3RoIiwgInZhbHVlIjogIjAifSwgeyJuYW1lIjogImNvbnRlbnQtc2VjdXJpdHktcG9saWN5IiwgInZhbHVlIjogIm9iamVjdC1zcmMgJ25vbmUnO2Jhc2UtdXJpICdzZWxmJztzY3JpcHQtc3JjICdub25jZS1NV0hiYmpHMndGRlBOUG1kWVlNV1J3JyAnc3RyaWN0LWR5bmFtaWMnICdyZXBvcnQtc2FtcGxlJyAndW5zYWZlLWV2YWwnICd1bnNhZmUtaW5saW5lJyBodHRwczogaHR0cDo7cmVwb3J0LXVyaSBodHRwczovL2NzcC53aXRoZ29vZ2xlLmNvbS9jc3AvZ3dzL290aGVyIn0sIHsibmFtZSI6ICJjb250ZW50LXR5cGUiLCAidmFsdWUiOiAidGV4dC9odG1sOyBjaGFyc2V0PVVURi04In0sIHsibmFtZSI6ICJjcm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeSIsICJ2YWx1ZSI6ICJzYW1lLW9yaWdpbi1hbGxvdy1wb3B1cHM7IHJlcG9ydC10bz1cImd3c1wiIn0sIHsibmFtZSI6ICJkYXRlIiwgInZhbHVlIjogIlRodSwgMDEgQXVnIDIwMjQgMTI6MzM6MTEgR01UIn0sIHsibmFtZSI6ICJwZXJtaXNzaW9ucy1wb2xpY3kiLCAidmFsdWUiOiAidW5sb2FkPSgpIn0sIHsibmFtZSI6ICJyZXBvcnQtdG8iLCAidmFsdWUiOiAie1wiZ3JvdXBcIjpcImd3c1wiLFwibWF4X2FnZVwiOjI1OTIwMDAsXCJlbmRwb2ludHNcIjpbe1widXJsXCI6XCJodHRwczovL2NzcC53aXRoZ29vZ2xlLmNvbS9jc3AvcmVwb3J0LXRvL2d3cy9vdGhlclwifV19In0sIHsibmFtZSI6ICJzZXJ2ZXIiLCAidmFsdWUiOiAiZ3dzIn0sIHsibmFtZSI6ICJ4LWZyYW1lLW9wdGlvbnMiLCAidmFsdWUiOiAiU0FNRU9SSUdJTiJ9LCB7Im5hbWUiOiAieC14c3MtcHJvdGVjdGlvbiIsICJ2YWx1ZSI6ICIwIn1dLCAiY29udGVudCI6IHsic2l6ZSI6IDAsICJtaW1lVHlwZSI6ICJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLCAiY29tcHJlc3Npb24iOiAwLCAidGV4dCI6ICIifSwgImhlYWRlcnNTaXplIjogMCwgImJvZHlTaXplIjogMTcsICJyZWRpcmVjdFVSTCI6ICIiLCAiX3RyYW5zZmVyU2l6ZSI6IDE3fSwgImNhY2hlIjoge30sICJ0aW1pbmdzIjogeyJkbnMiOiAtMSwgImNvbm5lY3QiOiAtMSwgInNzbCI6IC0xLCAic2VuZCI6IDAsICJ3YWl0IjogMjkuMzIzLCAicmVjZWl2ZSI6IDIuNDUyfSwgInBhZ2VyZWYiOiAicGFnZUAyZTdhY2U5NTVhNjc3M2VjZmQyZTk4ZWYyZmRjYjcwNCIsICJzZXJ2ZXJJUEFkZHJlc3MiOiAiWzJhMDA6MTQ1MDo0MDAxOjgwODo6MjAwNF0iLCAiX3NlcnZlclBvcnQiOiA0NDMsICJfc2VjdXJpdHlEZXRhaWxzIjogeyJwcm90b2NvbCI6ICJRVUlDIiwgInN1YmplY3ROYW1lIjogIiouZ29vZ2xlLmNvbSIsICJpc3N1ZXIiOiAiV1IyIiwgInZhbGlkRnJvbSI6IDE3MjIzNDI3NzMsICJ2YWxpZFRvIjogMTcyOTYwMDM3Mn19LCB7InN0YXJ0ZWREYXRlVGltZSI6ICIyMDI0LTA4LTAxVDEyOjMzOjExLjkzMloiLCAidGltZSI6IDM4LjI2OCwgInJlcXVlc3QiOiB7Im1ldGhvZCI6ICJHRVQiLCAidXJsIjogImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20veGpzL18vanMvaz14anMuaGQuZW4uekhBTHduUjgzcUUuTy9jaz14anMuaGQuaGhrX05SZndKLXMuTC5CMS5PL2FtPUFFd0JBQUFBQUFBQUdBQUFBQUFBQUFBQUFBQUFBQUFBQ0FBQUJBQUFBQUFBcEFBMGtBQ0FBc0FHQkFBQUFFQUFnQUJBZ0NBQWdDZ0FBQkFBSEFBZ0Fnb0FJZ0dBQU1TQ0FEektCd0NFQU1JRUNCQUJpZ0FTQUFLQ0tDSUFBRUFBQUNCQ3dJQmhBQUlWQUF3Q0FBQUFnQUFDQUFBQUExaGpBQUVDQVBvSUFCQUFJQ0lBQUFpZ0F3UUFCQUFGZ0VCUUFCakFBQUVnQUFFQUFBRG9BVUJ3QUF4U0VBQUFBQUFBQUFBQUFBQUFDRUNDWUM0a29DQ0FBQUFBQUFBQUFBQUFBQUFBQUVoSkp4WTIvZD0wL2RnPTAvYnI9MS91amc9MS9ycz1BQ1Q5MG9HT1l1aFVsUkxiS29VZGpBWElVMTYzZUVNRmRnL209c2Jfd2l6LGFhLGFiZCxzeTEyYixzeXRsLHN5dGgsc3kxMmEsc3l1OSxzeXRmLHN5dWEsc3l1YixzeXUyLHN5dTEsc3l1NCxzeXR5LHN5dHosc3l0dixzeXR1LHN5dHEsc3lnYyxzeXR0LHN5dHIsc3l0cyxzeXRwLHN5dTYsc3l0bSxzeXRpLHN5dGosc3lzaSxzeXM3LHN5czUsc3lzNCxzeXR4LHN5MTI5LHN5eHMsc3l1aSxzeXVqLHN5dWgsYXN5bmMscEhYZ2hkLHNmLHN5MWFpLHN5MWFsLHN5NGRlLHNvbmljLFR4Q0pmZCxzeTRkaSxxenh6T2IsSXNkV1ZjLHN5MWZnLHN5MWJwLHN5MWJsLHN5czMsc3lzMSxzeXMyLHN5czAsc3lyeixzeTRieCxzeTJoOCxzeTFpeixzeTFqMSxzeTEzMCxzeTEzMSxzeXJ3LHN5cnUsc3lmcSxzeWQwLHN5YzYsc3ljOSxzeWM0LHN5Yzgsc3ljNyxzcGNoLE1wSndaYyxVVUpxVmUsc3k3cixzT1hGaixzeTdxLHMzOVM0LG9HdEF1YyxOVE1aYWMsbkFGTDMsc3k4aixzeThpLHEweFRpZix5MDVVRCxzeTEzbSxzeTFjYyxzeTFieixzeTFjOCxzeTEzZyxzeTFjNixzeTFjNSxzeTEweCxzeTFieCxzeTE2ZyxzeXZvLHN5MTB6LHN5N3ksc3kxMHksc3kxMHcsc3kxMHYsc3kxMHUsc3lhZyxzeWJjLHN5MWM0LHN5MTY4LHN5MWJ0LHN5MTZkLHN5MWMzLHN5MWJ5LHN5MWJ1LHN5MTZlLHN5MTZmLHN5MWM3LHN5MTMzLHN5MWMyLHN5MWMxLHN5a2ssc3lrbCxzeTFjMCxzeTFjOSxzeTFibixzeTFidixzeTFibSxzeTFicyxzeTFibyxzeTE3YixzeTFidyxzeTFiaSxzeTE2aSxzeTE2aixzeTExMixzeTExMyxlcFlPeCxzeXNsLHN5c2sscnRIMWJkLHN5MWN2LHN5MThiLHN5MTd4LHN5MWN1LHN5MTM4LHN5MWN0LHN5MThjLHN5MWN3LFNNcXVPYixzeThsLHN5aDYsc3loNCxzeWg1LHN5aDcsc3loMyxzeWhlLHN5aGMsc3loYSxzeWgyLHN5YXMsc3lhayxzeWJmLHN5YXIsc3lhcSxzeWFlLHN5YmEsc3lhcCxzeWFuLHN5YXUsc3lkNixzeWN0LHN5YXksc3k5eSxzeTl4LHN5Y3Usc3ljZSxzeWJ3LHN5YnQsc3licyxzeWJ1LHN5YW0sc3liZyxzeWJtLHN5Ymssc3licCxzeWJsLHN5Ym4sc3lhMSxzeWE4LHN5Ym8sc3ljZixzeWdrLHN5aDEsc3lneSxzeWgwLHN5YTMsc3lhNyxzeWE0LHN5OXYsc3k5cyxzeWd4LHN5Z3Usc3lkZixzeWd2LHN5Z3Esc3lncyxzeWdwLHN5Z24sc3k4NCxzeTgxLHN5ODMsc3lnbSxzeWdyLHN5Z2wsc3lnZyxzeWdoLHN5Z2Usc3lnZCxzeTg3LHV4TXBVLHN5Zzgsc3lkZCxzeWFoLHN5YWksc3lhaixzeWFmLHN5ZDcsc3liZCxzeWJlLHN5YmIsc3lkbSxzeWQ5LHN5ZDgsc3licSxzeWQyLHN5ZGssc3lkMyxzeWRsLHN5ZDEsc3ljcixzeWNuLHN5Y28sc3lhdyxzeWJpLHN5YXgsc3lhbCxzeTl1LHN5ZDQsc3lhZCxzeWQ1LHN5ZGIsc3ljeixzeTk0LHN5OTMsc3k5MixNbGhteSxRR1IwZ2QsYXVyRmljLHN5OWQsZktVVjNlLE9UQTNBZSxzeThtLE9tZ2FJLEVFRE9SYixQb0VzOWIsUGpwbHVkLHN5OHosc3k4cyxDT1FibWYsdVk0OWZiLHN5N3csc3k3eCxzeTd2LHN5N3UsYnlmVE9iLGxzalZtYyxMRWlrWmUsa1dnWGVlLFUwYVBnZCxvdkt1TGQsc2dZNlpiLGlvOHQ1ZCxLRzJlWGUsT2o0NjVlLHN5MWQwLHN5MWN4LHN5eGUsc3l0MSxkNUVoSmUsc3kxZGssZkN4RURkLHN5dnAsc3kxZGosc3kxZGksc3kxZGgsc3kxZGUsc3kxZGEsc3kxZDgsc3kxZDQsc3kxZDYsc3kxZDUsc3kxZDksc3kxYTQsc3kxOXQsVDFIT3hjLHN5MWQ3LHN5MWQzLHp4MzBZLHN5MWRtLHN5MWRsLHN5MWRjLFdvM244LHN5dXUsbG9MOHZiLHN5dXksc3l1eCxzeXV3LG1zNG1aYixzeXF1LEIycWxQZSxzeXY2LE56VTZWLHN5eTUsc3l5NCx6R0xtM2Isc3l3eCxzeXd5LHN5d3AsRGhQWW1lP3hqcz1zMyIsICJodHRwVmVyc2lvbiI6ICJoMyIsICJjb29raWVzIjogW3sibmFtZSI6ICJBRUMiLCAidmFsdWUiOiAiQVZZQjdjcmF2OTRZTS1mZko2U2ppNFE3ekxtV2ktQmE0R29iSl85ck9RZzlqSHlvdTBvNnVFcFdYcjgifSwgeyJuYW1lIjogIl9fU2VjdXJlLUVOSUQiLCAidmFsdWUiOiAiMjEuU0U9Wk5NaEljXzI3eDRtb3BmWWd3bnJkTF9OUzJSZTZMTno1OS0ycl9Sa08xMVBIbmx3b291b1pDQ1Y5RElpNHp0UVNCVDRhNm5oTzBMcWpyYUJ4eEQ5cllLU01sZVlqSGxmZmFURE4tNTJkaWM2d3YzaVhSM19nc251ZEVxQ2NEVTR2eGNVOW1BQUNsWVZQSTVZaUszTkZNMXlEc0hCUHA4REU1ajVXTThHd0xXdE5wTlBuNGo2OVNuUkdJNF9TZkZjZ2JQeXMwX282MS1WeWlFVl91cEZoRm1uZ1RfcUQwN2EifV0sICJoZWFkZXJzIjogW3sibmFtZSI6ICI6YXV0aG9yaXR5IiwgInZhbHVlIjogInd3dy5nb29nbGUuY29tIn0sIHsibmFtZSI6ICI6bWV0aG9kIiwgInZhbHVlIjogIkdFVCJ9LCB7Im5hbWUiOiAiOnBhdGgiLCAidmFsdWUiOiAiL3hqcy9fL2pzL2s9eGpzLmhkLmVuLnpIQUx3blI4M3FFLk8vY2s9eGpzLmhkLmhoa19OUmZ3Si1zLkwuQjEuTy9hbT1BRXdCQUFBQUFBQUFHQUFBQUFBQUFBQUFBQUFBQUFBQUNBQUFCQUFBQUFBQXBBQTBrQUNBQXNBR0JBQUFBRUFBZ0FCQWdDQUFnQ2dBQUJBQUhBQWdBZ29BSWdHQUFNU0NBRHpLQndDRUFNSUVDQkFCaWdBU0FBS0NLQ0lBQUVBQUFDQkN3SUJoQUFJVkFBd0NBQUFBZ0FBQ0FBQUFBMWhqQUFFQ0FQb0lBQkFBSUNJQUFBaWdBd1FBQkFBRmdFQlFBQmpBQUFFZ0FBRUFBQURvQVVCd0FBeFNFQUFBQUFBQUFBQUFBQUFBQ0VDQ1lDNGtvQ0NBQUFBQUFBQUFBQUFBQUFBQUFFaEpKeFkyL2Q9MC9kZz0wL2JyPTEvdWpnPTEvcnM9QUNUOTBvR09ZdWhVbFJMYktvVWRqQVhJVTE2M2VFTUZkZy9tPXNiX3dpeixhYSxhYmQsc3kxMmIsc3l0bCxzeXRoLHN5MTJhLHN5dTksc3l0ZixzeXVhLHN5dWIsc3l1MixzeXUxLHN5dTQsc3l0eSxzeXR6LHN5dHYsc3l0dSxzeXRxLHN5Z2Msc3l0dCxzeXRyLHN5dHMsc3l0cCxzeXU2LHN5dG0sc3l0aSxzeXRqLHN5c2ksc3lzNyxzeXM1LHN5czQsc3l0eCxzeTEyOSxzeXhzLHN5dWksc3l1aixzeXVoLGFzeW5jLHBIWGdoZCxzZixzeTFhaSxzeTFhbCxzeTRkZSxzb25pYyxUeENKZmQsc3k0ZGkscXp4ek9iLElzZFdWYyxzeTFmZyxzeTFicCxzeTFibCxzeXMzLHN5czEsc3lzMixzeXMwLHN5cnosc3k0Yngsc3kyaDgsc3kxaXosc3kxajEsc3kxMzAsc3kxMzEsc3lydyxzeXJ1LHN5ZnEsc3lkMCxzeWM2LHN5Yzksc3ljNCxzeWM4LHN5Yzcsc3BjaCxNcEp3WmMsVVVKcVZlLHN5N3Isc09YRmosc3k3cSxzMzlTNCxvR3RBdWMsTlRNWmFjLG5BRkwzLHN5OGosc3k4aSxxMHhUaWYseTA1VUQsc3kxM20sc3kxY2Msc3kxYnosc3kxYzgsc3kxM2csc3kxYzYsc3kxYzUsc3kxMHgsc3kxYngsc3kxNmcsc3l2byxzeTEweixzeTd5LHN5MTB5LHN5MTB3LHN5MTB2LHN5MTB1LHN5YWcsc3liYyxzeTFjNCxzeTE2OCxzeTFidCxzeTE2ZCxzeTFjMyxzeTFieSxzeTFidSxzeTE2ZSxzeTE2ZixzeTFjNyxzeTEzMyxzeTFjMixzeTFjMSxzeWtrLHN5a2wsc3kxYzAsc3kxYzksc3kxYm4sc3kxYnYsc3kxYm0sc3kxYnMsc3kxYm8sc3kxN2Isc3kxYncsc3kxYmksc3kxNmksc3kxNmosc3kxMTIsc3kxMTMsZXBZT3gsc3lzbCxzeXNrLHJ0SDFiZCxzeTFjdixzeTE4YixzeTE3eCxzeTFjdSxzeTEzOCxzeTFjdCxzeTE4YyxzeTFjdyxTTXF1T2Isc3k4bCxzeWg2LHN5aDQsc3loNSxzeWg3LHN5aDMsc3loZSxzeWhjLHN5aGEsc3loMixzeWFzLHN5YWssc3liZixzeWFyLHN5YXEsc3lhZSxzeWJhLHN5YXAsc3lhbixzeWF1LHN5ZDYsc3ljdCxzeWF5LHN5OXksc3k5eCxzeWN1LHN5Y2Usc3lidyxzeWJ0LHN5YnMsc3lidSxzeWFtLHN5Ymcsc3libSxzeWJrLHN5YnAsc3libCxzeWJuLHN5YTEsc3lhOCxzeWJvLHN5Y2Ysc3lnayxzeWgxLHN5Z3ksc3loMCxzeWEzLHN5YTcsc3lhNCxzeTl2LHN5OXMsc3lneCxzeWd1LHN5ZGYsc3lndixzeWdxLHN5Z3Msc3lncCxzeWduLHN5ODQsc3k4MSxzeTgzLHN5Z20sc3lncixzeWdsLHN5Z2csc3lnaCxzeWdlLHN5Z2Qsc3k4Nyx1eE1wVSxzeWc4LHN5ZGQsc3lhaCxzeWFpLHN5YWosc3lhZixzeWQ3LHN5YmQsc3liZSxzeWJiLHN5ZG0sc3lkOSxzeWQ4LHN5YnEsc3lkMixzeWRrLHN5ZDMsc3lkbCxzeWQxLHN5Y3Isc3ljbixzeWNvLHN5YXcsc3liaSxzeWF4LHN5YWwsc3k5dSxzeWQ0LHN5YWQsc3lkNSxzeWRiLHN5Y3osc3k5NCxzeTkzLHN5OTIsTWxobXksUUdSMGdkLGF1ckZpYyxzeTlkLGZLVVYzZSxPVEEzQWUsc3k4bSxPbWdhSSxFRURPUmIsUG9FczliLFBqcGx1ZCxzeTh6LHN5OHMsQ09RYm1mLHVZNDlmYixzeTd3LHN5N3gsc3k3dixzeTd1LGJ5ZlRPYixsc2pWbWMsTEVpa1plLGtXZ1hlZSxVMGFQZ2Qsb3ZLdUxkLHNnWTZaYixpbzh0NWQsS0cyZVhlLE9qNDY1ZSxzeTFkMCxzeTFjeCxzeXhlLHN5dDEsZDVFaEplLHN5MWRrLGZDeEVEZCxzeXZwLHN5MWRqLHN5MWRpLHN5MWRoLHN5MWRlLHN5MWRhLHN5MWQ4LHN5MWQ0LHN5MWQ2LHN5MWQ1LHN5MWQ5LHN5MWE0LHN5MTl0LFQxSE94YyxzeTFkNyxzeTFkMyx6eDMwWSxzeTFkbSxzeTFkbCxzeTFkYyxXbzNuOCxzeXV1LGxvTDh2YixzeXV5LHN5dXgsc3l1dyxtczRtWmIsc3lxdSxCMnFsUGUsc3l2NixOelU2VixzeXk1LHN5eTQsekdMbTNiLHN5d3gsc3l3eSxzeXdwLERoUFltZT94anM9czMifSwgeyJuYW1lIjogIjpzY2hlbWUiLCAidmFsdWUiOiAiaHR0cHMifSwgeyJuYW1lIjogImFjY2VwdCIsICJ2YWx1ZSI6ICIqLyoifSwgeyJuYW1lIjogImFjY2VwdC1lbmNvZGluZyIsICJ2YWx1ZSI6ICJnemlwLCBkZWZsYXRlLCBiciwgenN0ZCJ9LCB7Im5hbWUiOiAiYWNjZXB0LWxhbmd1YWdlIiwgInZhbHVlIjogImVuLVVTLGVuO3E9MC45In0sIHsibmFtZSI6ICJjb29raWUiLCAidmFsdWUiOiAiQUVDPUFWWUI3Y3Jhdjk0WU0tZmZKNlNqaTRRN3pMbVdpLUJhNEdvYkpfOXJPUWc5akh5b3UwbzZ1RXBXWHI4OyBfX1NlY3VyZS1FTklEPTIxLlNFPVpOTWhJY18yN3g0bW9wZllnd25yZExfTlMyUmU2TE56NTktMnJfUmtPMTFQSG5sd29vdW9aQ0NWOURJaTR6dFFTQlQ0YTZuaE8wTHFqcmFCeHhEOXJZS1NNbGVZakhsZmZhVEROLTUyZGljNnd2M2lYUjNfZ3NudWRFcUNjRFU0dnhjVTltQUFDbFlWUEk1WWlLM05GTTF5RHNIQlBwOERFNWo1V004R3dMV3ROcE5QbjRqNjlTblJHSTRfU2ZGY2diUHlzMF9vNjEtVnlpRVZfdXBGaEZtbmdUX3FEMDdhIn0sIHsibmFtZSI6ICJyZWZlcmVyIiwgInZhbHVlIjogImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEiLCAidmFsdWUiOiAiXCJDaHJvbWl1bVwiO3Y9XCIxMjdcIiwgXCJOb3QpQTtCcmFuZFwiO3Y9XCI5OVwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtYXJjaCIsICJ2YWx1ZSI6ICJcIng2NFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtYml0bmVzcyIsICJ2YWx1ZSI6ICJcIjY0XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1mdWxsLXZlcnNpb24iLCAidmFsdWUiOiAiXCIxMjcuMC42NTMzLjE3XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1mdWxsLXZlcnNpb24tbGlzdCIsICJ2YWx1ZSI6ICJcIkNocm9taXVtXCI7dj1cIjEyNy4wLjY1MzMuMTdcIiwgXCJOb3QpQTtCcmFuZFwiO3Y9XCI5OS4wLjAuMFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtbW9iaWxlIiwgInZhbHVlIjogIj8wIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtbW9kZWwiLCAidmFsdWUiOiAiXCJcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXBsYXRmb3JtIiwgInZhbHVlIjogIlwiV2luZG93c1wiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtcGxhdGZvcm0tdmVyc2lvbiIsICJ2YWx1ZSI6ICJcIjEwLjBcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXdvdzY0IiwgInZhbHVlIjogIj8wIn0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtZGVzdCIsICJ2YWx1ZSI6ICJzY3JpcHQifSwgeyJuYW1lIjogInNlYy1mZXRjaC1tb2RlIiwgInZhbHVlIjogIm5vLWNvcnMifSwgeyJuYW1lIjogInNlYy1mZXRjaC1zaXRlIiwgInZhbHVlIjogInNhbWUtb3JpZ2luIn0sIHsibmFtZSI6ICJ1c2VyLWFnZW50IiwgInZhbHVlIjogIk1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IFdpbjY0OyB4NjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS8xMjcuMC42NTMzLjE3IFNhZmFyaS81MzcuMzYifV0sICJxdWVyeVN0cmluZyI6IFt7Im5hbWUiOiAieGpzIiwgInZhbHVlIjogInMzIn1dLCAiaGVhZGVyc1NpemUiOiA1NTAzLCAiYm9keVNpemUiOiAwfSwgInJlc3BvbnNlIjogeyJzdGF0dXMiOiAyMDAsICJzdGF0dXNUZXh0IjogIiIsICJodHRwVmVyc2lvbiI6ICJoMyIsICJjb29raWVzIjogW10sICJoZWFkZXJzIjogW3sibmFtZSI6ICJhY2NlcHQtcmFuZ2VzIiwgInZhbHVlIjogImJ5dGVzIn0sIHsibmFtZSI6ICJhZ2UiLCAidmFsdWUiOiAiNDA5MjcifSwgeyJuYW1lIjogImFsdC1zdmMiLCAidmFsdWUiOiAiaDM9XCI6NDQzXCI7IG1hPTI1OTIwMDAsaDMtMjk9XCI6NDQzXCI7IG1hPTI1OTIwMDAifSwgeyJuYW1lIjogImNhY2hlLWNvbnRyb2wiLCAidmFsdWUiOiAicHVibGljLCBpbW11dGFibGUsIG1heC1hZ2U9MzE1MzYwMDAifSwgeyJuYW1lIjogImNvbnRlbnQtZW5jb2RpbmciLCAidmFsdWUiOiAiYnIifSwgeyJuYW1lIjogImNvbnRlbnQtbGVuZ3RoIiwgInZhbHVlIjogIjE0OTY5MSJ9LCB7Im5hbWUiOiAiY29udGVudC1zZWN1cml0eS1wb2xpY3ktcmVwb3J0LW9ubHkiLCAidmFsdWUiOiAicmVxdWlyZS10cnVzdGVkLXR5cGVzLWZvciAnc2NyaXB0JzsgcmVwb3J0LXVyaSBodHRwczovL2NzcC53aXRoZ29vZ2xlLmNvbS9jc3AvZ3dzLXRlYW0ifSwgeyJuYW1lIjogImNvbnRlbnQtdHlwZSIsICJ2YWx1ZSI6ICJ0ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9VVRGLTgifSwgeyJuYW1lIjogImNyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5IiwgInZhbHVlIjogInNhbWUtb3JpZ2luOyByZXBvcnQtdG89XCJnd3MtdGVhbVwiIn0sIHsibmFtZSI6ICJjcm9zcy1vcmlnaW4tcmVzb3VyY2UtcG9saWN5IiwgInZhbHVlIjogImNyb3NzLW9yaWdpbiJ9LCB7Im5hbWUiOiAiZGF0ZSIsICJ2YWx1ZSI6ICJUaHUsIDAxIEF1ZyAyMDI0IDAxOjExOjA0IEdNVCJ9LCB7Im5hbWUiOiAiZXhwaXJlcyIsICJ2YWx1ZSI6ICJGcmksIDAxIEF1ZyAyMDI1IDAxOjExOjA0IEdNVCJ9LCB7Im5hbWUiOiAibGFzdC1tb2RpZmllZCIsICJ2YWx1ZSI6ICJXZWQsIDMxIEp1bCAyMDI0IDE5OjQxOjU1IEdNVCJ9LCB7Im5hbWUiOiAicmVwb3J0LXRvIiwgInZhbHVlIjogIntcImdyb3VwXCI6XCJnd3MtdGVhbVwiLFwibWF4X2FnZVwiOjI1OTIwMDAsXCJlbmRwb2ludHNcIjpbe1widXJsXCI6XCJodHRwczovL2NzcC53aXRoZ29vZ2xlLmNvbS9jc3AvcmVwb3J0LXRvL2d3cy10ZWFtXCJ9XX0ifSwgeyJuYW1lIjogInNlcnZlciIsICJ2YWx1ZSI6ICJzZmZlIn0sIHsibmFtZSI6ICJ2YXJ5IiwgInZhbHVlIjogIkFjY2VwdC1FbmNvZGluZywgT3JpZ2luIn0sIHsibmFtZSI6ICJ4LWNvbnRlbnQtdHlwZS1vcHRpb25zIiwgInZhbHVlIjogIm5vc25pZmYifSwgeyJuYW1lIjogIngteHNzLXByb3RlY3Rpb24iLCAidmFsdWUiOiAiMCJ9XSwgImNvbnRlbnQiOiB7InNpemUiOiA0OTc5MzMsICJtaW1lVHlwZSI6ICJ0ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9VVRGLTgiLCAiY29tcHJlc3Npb24iOiAzNDgxOTQsICJ0ZXh0IjogIl9GX2luc3RhbGxDc3MoXCJjLXdpentjb250YWluOnN0eWxlfWMtd2l6PmMtZGF0YXtkaXNwbGF5Om5vbmV9Yy13aXouckVUU0R7Y29udGFpbjpub25lfWMtd2l6LlViaThae2NvbnRhaW46bGF5b3V0IHN0eWxlfS5qYkJJdGZ7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0uRFUwTkp7Ym90dG9tOjA7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjB9LmxQM0pvZntkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0ubk5NdU9ke2FuaW1hdGlvbjpxbGktY29udGFpbmVyLXJvdGF0ZSAxNTY4LjIzNTI5NDExNzZtcyBsaW5lYXIgaW5maW5pdGV9QGtleWZyYW1lcyBxbGktY29udGFpbmVyLXJvdGF0ZXtmcm9te3RyYW5zZm9ybTpyb3RhdGUoMCl9dG97dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fS5Sb0ttaGJ7aGVpZ2h0OjEwMCU7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCV9Lm5OTXVPZCAuVlFkZWFie2FuaW1hdGlvbjpxbGktZmlsbC11bmZpbGwtcm90YXRlIDUzMzJtcyBjdWJpYy1iZXppZXIoMC40LDAsMC4yLDEpIGluZmluaXRlIGJvdGgscWxpLWJsdWUtZmFkZS1pbi1vdXQgNTMzMm1zIGN1YmljLWJlemllcigwLjQsMCwwLjIsMSkgaW5maW5pdGUgYm90aH0ubk5NdU9kIC5JRXFpQWZ7YW5pbWF0aW9uOnFsaS1maWxsLXVuZmlsbC1yb3RhdGUgNTMzMm1zIGN1YmljLWJlemllcigwLjQsMCwwLjIsMSkgaW5maW5pdGUgYm90aCxxbGktcmVkLWZhZGUtaW4tb3V0IDUzMzJtcyBjdWJpYy1iZXppZXIoMC40LDAsMC4yLDEpIGluZmluaXRlIGJvdGh9Lm5OTXVPZCAuc21vY3Nle2FuaW1hdGlvbjpxbGktZmlsbC11bmZpbGwtcm90YXRlIDUzMzJtcyBjdWJpYy1iZXppZXIoMC40LDAsMC4yLDEpIGluZmluaXRlIGJvdGgscWxpLXllbGxvdy1mYWRlLWluLW91dCA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwwLDAuMiwxKSBpbmZpbml0ZSBib3RofS5uTk11T2QgLkZsS2JDZXthbmltYXRpb246cWxpLWZpbGwtdW5maWxsLXJvdGF0ZSA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwwLDAuMiwxKSBpbmZpbml0ZSBib3RoLHFsaS1ncmVlbi1mYWRlLWluLW91dCA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwwLDAuMiwxKSBpbmZpbml0ZSBib3RofS5CU25MYiAubk5NdU9kIC5Sb0ttaGJ7YW5pbWF0aW9uOnFsaS1maWxsLXVuZmlsbC1yb3RhdGUgNTMzMm1zIGN1YmljLWJlemllcigwLjQsMCwwLjIsMSkgaW5maW5pdGUgYm90aDtvcGFjaXR5OjAuOTl9QGtleWZyYW1lcyBxbGktZmlsbC11bmZpbGwtcm90YXRlezAle3RyYW5zZm9ybTpyb3RhdGUoMCl9MTIuNSV7dHJhbnNmb3JtOnJvdGF0ZSgxMzVkZWcpfTI1JXt0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9MzcuNSV7dHJhbnNmb3JtOnJvdGF0ZSg0MDVkZWcpfTUwJXt0cmFuc2Zvcm06cm90YXRlKDU0MGRlZyl9NjIuNSV7dHJhbnNmb3JtOnJvdGF0ZSg2NzVkZWcpfTc1JXt0cmFuc2Zvcm06cm90YXRlKDgxMGRlZyl9ODcuNSV7dHJhbnNmb3JtOnJvdGF0ZSg5NDVkZWcpfTEwMCV7dHJhbnNmb3JtOnJvdGF0ZSgzdHVybil9fUBrZXlmcmFtZXMgcWxpLWJsdWUtZmFkZS1pbi1vdXR7MCV7b3BhY2l0eTowLjk5fTI1JXtvcGFjaXR5OjAuOTl9MjYle29wYWNpdHk6MH04OSV7b3BhY2l0eTowfTkwJXtvcGFjaXR5OjAuOTl9MTAwJXtvcGFjaXR5OjAuOTl9fUBrZXlmcmFtZXMgcWxpLXJlZC1mYWRlLWluLW91dHswJXtvcGFjaXR5OjB9MTUle29wYWNpdHk6MH0yNSV7b3BhY2l0eTowLjk5fTUwJXtvcGFjaXR5OjAuOTl9NTEle29wYWNpdHk6MH19QGtleWZyYW1lcyBxbGkteWVsbG93LWZhZGUtaW4tb3V0ezAle29wYWNpdHk6MH00MCV7b3BhY2l0eTowfTUwJXtvcGFjaXR5OjAuOTl9NzUle29wYWNpdHk6MC45OX03NiV7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHFsaS1ncmVlbi1mYWRlLWluLW91dHswJXtvcGFjaXR5OjB9NjUle29wYWNpdHk6MH03NSV7b3BhY2l0eTowLjk5fTkwJXtvcGFjaXR5OjAuOTl9MTAwJXtvcGFjaXR5OjB9fS5iZURRUHtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6NTAlfS5GY1hmaXtib3gtc2l6aW5nOmJvcmRlci1ib3g7aGVpZ2h0OjEwMCU7bGVmdDo0NSU7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwJX0uU1BLRm1je2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjozcHggc29saWQgdHJhbnNwYXJlbnQ7Ym94LXNpemluZzpib3JkZXItYm94fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpLChwcmVmZXJzLWNvbnRyYXN0Om1vcmUpey5iZURRUDpsYXN0LWNoaWxkIC5TUEtGbWN7Ym9yZGVyOm5vbmV9fS54M1NkWGR7d2lkdGg6MjAwJX0uSjd1dVVle3RyYW5zZm9ybTpyb3RhdGUoMTI5ZGVnKX0uc0RQSUN7bGVmdDotMTAwJTt0cmFuc2Zvcm06cm90YXRlKC0xMjlkZWcpfS50UzNQNXtsZWZ0Oi00NTAlO3dpZHRoOjEwMDAlfS5WUWRlYWIgLlNQS0ZtY3tib3JkZXItY29sb3I6IzQyODVmNH0uSUVxaUFmIC5TUEtGbWN7Ym9yZGVyLWNvbG9yOiNlYTQzMzV9LnNtb2NzZSAuU1BLRm1je2JvcmRlci1jb2xvcjojZmJiYzA0fS5GbEtiQ2UgLlNQS0ZtY3tib3JkZXItY29sb3I6IzM0YTg1M30uUm9LbWhiIC5KN3V1VWV7Ym9yZGVyLWJvdHRvbS1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItcmlnaHQtY29sb3I6dHJhbnNwYXJlbnR9LlJvS21oYiAuc0RQSUN7Ym9yZGVyLWJvdHRvbS1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItbGVmdC1jb2xvcjp0cmFuc3BhcmVudH0uUm9LbWhiIC50UzNQNXtib3JkZXItYm90dG9tLWNvbG9yOnRyYW5zcGFyZW50fS5HZ1RKV2UgLm5OTXVPZCAuSjd1dVVle2FuaW1hdGlvbjpxbGktbGVmdC1zcGluIDEzMzNtcyBjdWJpYy1iZXppZXIoMC40LDAsMC4yLDEpIGluZmluaXRlIGJvdGh9LkdnVEpXZSAubk5NdU9kIC5zRFBJQ3thbmltYXRpb246cWxpLXJpZ2h0LXNwaW4gMTMzM21zIGN1YmljLWJlemllcigwLjQsMCwwLjIsMSkgaW5maW5pdGUgYm90aH0uQlNuTGIgLm5OTXVPZCAuSjd1dVVle2FuaW1hdGlvbjpxbGktbGVmdC1zcGluIDEzMzNtcyBjdWJpYy1iZXppZXIoMC40LDAsMC4yLDEpIGluZmluaXRlIGJvdGg7Ym9yZGVyLWxlZnQtY29sb3I6dmFyKC0tRXBGTlcpO2JvcmRlci10b3AtY29sb3I6dmFyKC0tRXBGTlcpfS5CU25MYiAubk5NdU9kIC5zRFBJQ3thbmltYXRpb246cWxpLXJpZ2h0LXNwaW4gMTMzM21zIGN1YmljLWJlemllcigwLjQsMCwwLjIsMSkgaW5maW5pdGUgYm90aDtib3JkZXItcmlnaHQtY29sb3I6dmFyKC0tRXBGTlcpO2JvcmRlci10b3AtY29sb3I6dmFyKC0tRXBGTlcpfS5CU25MYiAubk5NdU9kIC50UzNQNXtib3JkZXItY29sb3I6dmFyKC0tRXBGTlcpO2JvcmRlci1ib3R0b20tY29sb3I6dHJhbnNwYXJlbnR9QGtleWZyYW1lcyBxbGktbGVmdC1zcGluezAle3RyYW5zZm9ybTpyb3RhdGUoMTMwZGVnKX01MCV7dHJhbnNmb3JtOnJvdGF0ZSgtNWRlZyl9MTAwJXt0cmFuc2Zvcm06cm90YXRlKDEzMGRlZyl9fUBrZXlmcmFtZXMgcWxpLXJpZ2h0LXNwaW57MCV7dHJhbnNmb3JtOnJvdGF0ZSgtMTMwZGVnKX01MCV7dHJhbnNmb3JtOnJvdGF0ZSg1ZGVnKX0xMDAle3RyYW5zZm9ybTpyb3RhdGUoLTEzMGRlZyl9fS5lYTBMYmV7YmFja2dyb3VuZDojZmZmO2JvcmRlci1yYWRpdXM6MjRweDtib3gtc2hhZG93OjBweCA0cHggNnB4IHJnYmEoMzIsMzMsMzYsMC4yOCk7bWFyZ2luLWxlZnQ6LTRweDttYXJnaW4tdG9wOjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOi00cHg7d2lkdGg6Y2FsYygxMDAlICsgOHB4KTt6LWluZGV4Ojk4OX0uS29XSHBke21hcmdpbjoyMHB4fS5CaUtOZnthbGlnbi1zZWxmOmZsZXgtZW5kO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjE0cHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6NnB4O3RvcDo2cHh9LnA0cHZUZHtjb2xvcjpyZ2IoMzIsMzMsMzYpO2ZvbnQtZmFtaWx5OlxcXCJHb29nbGUgU2FucyBEaXNwbGF5XFxcIixSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoyOHB4O21hcmdpbi1ib3R0b206MTRweDt0ZXh0LWFsaWduOmNlbnRlcjtsZXR0ZXItc3BhY2luZzouMXB4fS5CSDlybnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleDtmbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1ncm93OjE7anVzdGlmeS1jb250ZW50Om5vcm1hbDtwYWRkaW5nLXRvcDoxNnB4fS5nSVlKVWN7YmFja2dyb3VuZDpyZ2IoMjQ4LDI0OSwyNTApO2JvcmRlcjoxcHggZGFzaGVkICNjMGMwYzA7Ym9yZGVyLXJhZGl1czo4cHg7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1ncm93OjE7aGVpZ2h0OjI4MHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9Lk5kajRSe2JvcmRlcjoxcHggZGFzaGVkICNjMGMwYzB9LmlkNXZNYntib3JkZXI6MXB4IGRhc2hlZCAjYzBjMGMwfS5mNkdBMHtoZWlnaHQ6MTAwJTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi10b3A6MH0uZjZHQTAsLkNhY2ZCe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5mNkdBMCwuQ2FjZkIsLlVhN1l1Zntib3JkZXItcmFkaXVzOjhweDtmbGV4LWdyb3c6MX0uQ2FjZkJ7YmFja2dyb3VuZDojZjBmNmZmO2p1c3RpZnktY29udGVudDpjZW50ZXI7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uWmVWQnRje2NvbG9yOnJnYig5NSw5OSwxMDQpO2ZvbnQtZmFtaWx5OlxcXCJHb29nbGUgU2Fuc1xcXCIsUm9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MjVweDttYXgtd2lkdGg6MzAwcHh9LmFsVEJRZXthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjUyLDIzMiwyMzApO2JvcmRlci10b3AtbGVmdC1yYWRpdXM6OHB4O2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjhweDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0uT0h6V2pie2NvbG9yOnJnYigxNzksMjAsMTgpO2ZsZXg6MTtmb250LWZhbWlseTpcXFwiR29vZ2xlIFNhbnNcXFwiLFJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O3BhZGRpbmc6NXB4O3RleHQtYWxpZ246Y2VudGVyfS5VYTdZdWZ7YWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLXNlbGY6Y2VudGVyO2JhY2tncm91bmQ6I2YwZjZmZjtkaXNwbGF5OmZsZXg7ZmxleDoxO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjEwMCV9LndISDhhZntjb2xvcjpyZ2IoOTUsOTksMTA0KTtmb250LWZhbWlseTpcXFwiR29vZ2xlIFNhbnNcXFwiLFJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjI1cHg7bWFyZ2luLXRvcDoxMnB4fS5EVjd0aGV7Y29sb3I6cmdiKDI1LDEwMywyMTApO2N1cnNvcjpwb2ludGVyO3doaXRlLXNwYWNlOm5vd3JhcH0uRFY3dGhlLlJpRUNmZjpmb2N1c3tvdXRsaW5lOm5vbmV9LkRWN3RoZTpob3ZlciwuRFY3dGhlOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LkRWN3RoZTpmb2N1c3t0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5BcklBWGJ7ZmlsbDpyZ2IoMjQxLDI0MywyNDQpfS5xT0ZMc2J7ZmlsbDpyZ2IoMjE4LDIyMCwyMjQpfS5BeWUxa3t3aWR0aDppbmhlcml0O3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2t9LlJhb1VVZXtkaXNwbGF5OmlubGluZS1mbGV4O21hcmdpbi1yaWdodDoxOHB4fS5lOEV1bGV7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZzowIDIwcHggMjBweDt3aWR0aDoxMDAlfS5ZSngyNXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4fS5kaU9sSWV7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiKDIzMiwyMzQsMjM3KTtmbGV4LWdyb3c6MTtoZWlnaHQ6MH0uYUhLMWJke2NvbG9yOnJnYig5NSw5OSwxMDQpO2N1cnNvcjpkZWZhdWx0O2ZsZXgtc2hyaW5rOjA7Zm9udC1mYW1pbHk6XFxcIkdvb2dsZSBTYW5zIERpc3BsYXlcXFwiLFJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O21hcmdpbi1sZWZ0OjIwcHg7bWFyZ2luLXJpZ2h0OjIwcHh9LlBYVDZjZHtkaXNwbGF5OmZsZXg7bWFyZ2luLXRvcDoxNHB4fS5jQjlNN3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCByZ2IoMjE4LDIyMCwyMjQpO2NvbG9yOnJnYig2MCw2NCw2Nyk7Ym9yZGVyLXJhZGl1czozNnB4O2Rpc3BsYXk6aW5saW5lLWZsZXg7ZmxleC1ncm93OjE7Zm9udC1zaXplOjE0cHg7Zm9udC1mYW1pbHk6XFxcIkdvb2dsZSBTYW5zIERpc3BsYXlcXFwiLFJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2hlaWdodDo0MHB4O3BhZGRpbmc6MCAyNHB4O3dpZHRoOjEwMCU7b3V0bGluZTpub25lfS5sZW5zVXBsb2FkV2l6d2ViVXBsb2FkRGlhbG9nVXJsSW5wdXRJbnB1dEJveCA6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6cmdiKDEyOCwxMzQsMTM5KX0uY0I5TTcgOjpwbGFjZWhvbGRlcntjb2xvcjpyZ2IoMTI4LDEzNCwxMzkpfS5jQjlNNzpob3Zlcntib3JkZXI6MXB4IHNvbGlkIHJnYig2MCw2NCw2Nyl9LmNCOU03OmZvY3Vze2JvcmRlcjoxcHggc29saWQgcmdiKDI1LDEwMywyMTApfS5jQjlNNzphY3RpdmV7Ym9yZGVyOjFweCBzb2xpZCByZ2IoMjUsMTAzLDIxMCl9LlF3YmQze2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czozMnB4O2JvcmRlcjoxcHggc29saWQgcmdiKDIxOCwyMjAsMjI0KTtjb2xvcjpyZ2IoMjYsMTE1LDIzMik7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleDtmbGV4LXNocmluazowO2ZvbnQtZmFtaWx5OlxcXCJHb29nbGUgU2Fuc1xcXCIsUm9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtsZXR0ZXItc3BhY2luZzouMjVweDttYXJnaW4tbGVmdDo4cHg7b3V0bGluZTowO3BhZGRpbmc6OHB4IDI0cHh9LlF3YmQzOmhvdmVye2JhY2tncm91bmQ6cmdiYSgyNSwxMDMsMjEwLDAuMDgpO2NvbG9yOnJnYigyNiwxMTUsMjMyKTtib3JkZXI6MXB4IHNvbGlkIHJnYigyMTgsMjIwLDIyNCl9LlF3YmQzOmZvY3Vze2JhY2tncm91bmQ6cmdiYSgyNSwxMDMsMjEwLDAuMDgpO2JvcmRlcjoxcHggc29saWQgcmdiKDI1LDEwMywyMTApO2NvbG9yOnJnYigyNiwxMTUsMjMyKX0uUXdiZDM6YWN0aXZle2JhY2tncm91bmQ6cmdiYSgyNSwxMDMsMjEwLDAuMTQpO2JvcmRlcjoxcHggc29saWQgcmdiKDIxOCwyMjAsMjI0KTtjb2xvcjpyZ2IoMjYsMTE1LDIzMil9c2VudGluZWx7fVwiKTtcbnRoaXMuX2hkPXRoaXMuX2hkfHx7fTsoZnVuY3Rpb24oXyl7dmFyIHdpbmRvdz10aGlzO1xudHJ5e1xuXy54KFwic2Jfd2l6XCIpO1xuXG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwiYWFcIik7XG5cbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJhYmRcIik7XG52YXIgZSRoPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1cIlwiLGM9MjEsZD0wO2Q8YS5sZW5ndGg7ZCsrKWQlNCE9MyYmKGIrPVN0cmluZy5mcm9tQ2hhckNvZGUoYVtkXV5jKSxjKyspO3JldHVybiBifSxmJGg9ZnVuY3Rpb24oYSl7dmFyIGI9MCxjO2ZvcihjIGluIGEpaWYoYVtjXS5lKWlmKGFbY10uYiliKys7ZWxzZSByZXR1cm4hMTtyZXR1cm4gYj4wfSxrJGg9ZnVuY3Rpb24oYSl7YT1hPT09dm9pZCAwP3t9OmE7dmFyIGI9e307YltnJGhdPXtlOiEhYVtnJGhdLGI6IV8ucVRiKGgkaCl9O2JbaSRoXT17ZTohIWFbaSRoXSxiOiFfLnFUYihqJGgpfTtyZXR1cm4gYn0sbCRoPWZ1bmN0aW9uKGEpe3ZhciBiPVtdLGM7Zm9yKGMgaW4gYSlhW2NdLmUmJmIucHVzaChjK1wiOlwiKyhhW2NdLmI/XCIxXCI6XCIwXCIpKTtyZXR1cm4gYi5qb2luKFwiLFwiKX0sbiRoPWZ1bmN0aW9uKGEsYil7YT1TdHJpbmcoYSk7YiYmKGErPVwiLFwiK2IpO2dvb2dsZS5sb2cobSRoLGEpfSxvJGg9ZnVuY3Rpb24oYSxiLGMpe2M9XG5jPT09dm9pZCAwPzI6YztpZihjPDEpbiRoKDcsYik7ZWxzZXt2YXIgZD1uZXcgSW1hZ2U7ZC5vbmVycm9yPWZ1bmN0aW9uKCl7byRoKGEsYixjLTEpfTtkLnNyYz1hfX0saCRoPWUkaChbOTcsMTE5LDExNSwxMTEsMTA3XSksaiRoPWUkaChbOTcsMTE5LDExNSwxMTEsMTA3LDEyM10pLHAkaD1lJGgoWzExOCwxMTUsMTIxLDEwNywxMDgsMTI0LDEwNCwxMTksNjgsMTI3LDExNCwxMDUsMTE0XSksbSRoPWUkaChbMTAxLDEyNiwxMTgsMTAyLDExOCwxMjUsMTE4LDEwOSwxMjZdKSxxJGg9ZSRoKFsxMTYsMTE2LDExNSwxMDhdKSxnJGg9ZSRoKFsxMTMsMTE1LDk5LDEwN10pLGkkaD1lJGgoWzExMywxMTUsMTE3LDEwN10pLHIkaD1lJGgoWzU4LDEyNywxMjIsMTAzLDEyMSwxMjYsMTI3LDk4LDEwNCw1MSwxMDksMTI0LDExOCwxMjMsMTUsNzYsODEsOTAsMTMsOTUsNjcsNzYsNjQsMTE4XSkscyRoPXt9O1xuXy5ZZShcImFiZFwiLChzJGguaW5pdD1mdW5jdGlvbihhKXthPWE9PT12b2lkIDA/e306YTtpZihhW3EkaF0mJl8ucVRiKHAkaCkpe2E9ayRoKGEpO3ZhciBiPWwkaChhKTtmJGgoYSk/biRoKDEsXCIwLFwiK2IpOm4kaCgwLGIpOygwLF8ud2QpKGZ1bmN0aW9uKCl7byRoKHIkaCxcImFhXCIpfSl9fSxzJGgpKTtcbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLmVqYz1fLnNxKFwidlBxQ3BcIixbXSk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uR0ViPWZ1bmN0aW9uKGEpe3JldHVybiBfLk5mKGEsXCJhc3luY0ZjXCIpP3tFNmE6Xy5XYyhhLFwiYXN5bmNGY1wiKSxSUGE6Xy5XYyhhLFwiYXN5bmNPbnNcIiksU1BhOl8uV2MoYSxcImFzeW5jRmN2XCIpfTpudWxsfTtfLkhFYj1mdW5jdGlvbihhLGIpe3JldHVybiBhP1wiY2FsbGJhY2s6XCIrYS5SUGE6Xy5XYyhiLFwiYXN5bmNUeXBlXCIpfTtfLklFYj1mdW5jdGlvbihhKXt2YXIgYj1fLkdFYihhKTtyZXR1cm4gXy5IRWIoYixhKX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uekViPWZ1bmN0aW9uKGEsYixjLGQpe2M9Yz09PXZvaWQgMD97fTpjO18uRkNhLmNhbGwodGhpcyxhLGQ9PT12b2lkIDA/MjpkKTt0aGlzLmRldGFpbHM9Yzt0aGlzLmRldGFpbHMudD1ifTtfLkQoXy56RWIsXy5GQ2EpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgY2pjO1xuXy5iamM9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iPT09dm9pZCAwP3t9OmI7dmFyIGQ9Yy50cmlnZ2VyO2I9Yy5QTWE7dmFyIGU9Yy5hZGRpdGlvbmFsUGFyYW1zO3ZhciBmPW5ldyBNYXAoYnx8W10pO2lmKGI9Xy5XYyhhLFwiYXN5bmNDb250ZXh0UmVxdWlyZWRcIikpe2I9bmV3IFNldChiLnNwbGl0KFwiLFwiKS5maWx0ZXIoZnVuY3Rpb24oayl7cmV0dXJuIWYuaGFzKGspJiYoZT8hZS5oYXMoayk6ITApfSkpO2ZvcihkPWR8fGE7ZCYmYi5zaXplOyl7aWYoYz1fLldjKGQsXCJhc3luY0NvbnRleHRcIikpe2M9Xy5QYShjLnNwbGl0KFwiO1wiKSk7Zm9yKHZhciBnPWMubmV4dCgpOyFnLmRvbmU7Zz1jLm5leHQoKSl7dmFyIGg9Zy52YWx1ZS5zcGxpdChcIjpcIik7Zz1kZWNvZGVVUklDb21wb25lbnQoaFswXSk7aD1kZWNvZGVVUklDb21wb25lbnQoaFsxXSk7Yi5kZWxldGUoZykmJiFmLmhhcyhnKSYmZi5zZXQoZyxoKX19ZD1kLnBhcmVudEVsZW1lbnR9aWYoYi5zaXplKXRocm93IGQ9e30sbmV3IF8uekViKFwiTWlzc2luZyBhc3luYyBjb250ZXh0XCIsXG5fLklFYihhKSwoZC5jaz1BcnJheS5mcm9tKGIpLnNvcnQoKS5qb2luKFwiLFwiKSxkKSk7fXJldHVybiBmfTtfLmRqYz1mdW5jdGlvbihhLGIpe3ZhciBjPWI9PT12b2lkIDA/e306YjtiPWMudHJpZ2dlcjt2YXIgZD1jLlBNYTtjPWMuYWRkaXRpb25hbFBhcmFtczthPV8uYmpjKGEse3RyaWdnZXI6YixQTWE6ZCxhZGRpdGlvbmFsUGFyYW1zOmN9KTtiPW5ldyBNYXAoY3x8W10pO2Q9Xy5QYShjamMpO2ZvcihjPWQubmV4dCgpOyFjLmRvbmU7Yz1kLm5leHQoKSljPWMudmFsdWUsYS5oYXMoYykmJihiLmhhcyhjKXx8Yi5zZXQoYyxTdHJpbmcoYS5nZXQoYykpKSxhLmRlbGV0ZShjKSk7cmV0dXJue2NvbnRleHQ6YSx3ZzpifX07Y2pjPVtcInFcIixcInN0YXJ0XCJdO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLmtHYj0hIShfLmRoWzBdPj4yMiYxKTtfLmxHYj0hIShfLmRoWzBdPj4yMyYxKTtfLm1HYj0hIShfLmRoWzBdPj4yNCYxKTtfLm5HYj0hIShfLmRoWzBdPj4yNSYxKTtfLm9HYj0hIShfLmRoWzBdPj4yNiYxKTtfLnBHYj0hIShfLmRoWzBdPj4yOCYxKTtfLnFHYj0hIShfLmRoWzFdJjQpO18uckdiPSEhKF8uZGhbMV0mOCk7Xy5zR2I9ISEoXy5kaFsxXSYxNik7Xy50R2I9ISEoXy5kaFsxXSYzMik7Xy51R2I9ISEoXy5kaFsxXSY2NCk7Xy52R2I9ISEoXy5kaFsxXT4+MTUmMSk7Xy53R2I9ISEoXy5kaFsxXT4+MTYmMSk7Xy54R2I9ISEoXy5kaFsxXT4+MTcmMSk7Xy55R2I9ISEoXy5kaFsxXT4+MTkmMSk7Xy56R2I9ISEoXy5kaFsxXT4+MjUmMSk7Xy5BR2I9ISEoXy5kaFsxXT4+MjYmMSk7Xy5Kdz0hIShfLmRoWzFdPj4yNyYxKTtfLkJHYj0hIShfLmRoWzFdPj4yOCYxKTtfLkNHYj0hIShfLmRoWzFdPj4yOSYxKTtfLkRHYj0hIShfLmRoWzJdJjEpO18uRUdiPSEhKF8uZGhbMl0mMik7XG5fLkZHYj0hIShfLmRoWzJdJjgpO18uR0diPSEhKF8uZGhbMl0mMTYpO18uSEdiPSEhKF8uZGhbMl0mNjQpO18uSUdiPSEhKF8uZGhbMl0mMTI4KTtfLkpHYj0hIShfLmRoWzJdJjI1Nik7Xy5LR2I9ISEoXy5kaFsyXSY1MTIpO18uTEdiPSEhKF8uZGhbMl0mMTAyNCk7Xy5NR2I9ISEoXy5kaFsyXSYyMDQ4KTtfLk5HYj0hIShfLmRoWzJdJjQwOTYpO18uT0diPSEhKF8uZGhbMl0mODE5Mik7Xy5QR2I9ISEoXy5kaFsyXT4+MTUmMSk7Xy5RR2I9ISEoXy5kaFsyXT4+MTcmMSk7Xy5SR2I9ISEoXy5kaFsyXT4+MTgmMSk7Xy5TR2I9ISEoXy5kaFsyXT4+MTkmMSk7Xy5UR2I9ISEoXy5kaFsyXT4+MjAmMSk7Xy5VR2I9ISEoXy5kaFsyXT4+MjEmMSk7Xy5WR2I9ISEoXy5kaFsyXT4+MjQmMSk7Xy5XR2I9ISEoXy5kaFsyXT4+MjUmMSk7Xy5YR2I9ISEoXy5kaFsyXT4+MjkmMSk7Xy5ZR2I9ISEoXy5kaFszXSYxKTtfLlpHYj0hIShfLmRoWzNdJjIpO18uJEdiPSEhKF8uZGhbM10mNCk7XG5fLmFIYj0hIShfLmRoWzNdJjgpO18uYkhiPSEhKF8uZGhbM10mMzIpO18uY0hiPSEhKF8uZGhbNV0mMTYpO18uZEhiPSEhKF8uZGhbNV0mMzIpO18uZUhiPSEhKF8uZGhbNV0mNjQpO18uZkhiPSEhKF8uZGhbNV0mMjU2KTtfLmdIYj0hIShfLmRoWzVdJjIwNDgpO18uaEhiPSEhKF8uZGhbNV0mNDA5Nik7Xy5pSGI9ISEoXy5kaFs1XSY4MTkyKTtfLmpIYj0hIShfLmRoWzVdPj4xNCYxKTtfLmtIYj0hIShfLmRoWzVdPj4xNSYxKTtfLmxIYj0hIShfLmRoWzVdPj4xNiYxKTtfLm1IYj0hIShfLmRoWzVdPj4xNyYxKTtfLm5IYj0hIShfLmRoWzVdPj4xOCYxKTtfLm9IYj0hIShfLmRoWzVdPj4yMCYxKTtfLnBIYj0hIShfLmRoWzVdPj4yOCYxKTtfLnFIYj0hIShfLmRoWzVdPj4yOSYxKTtfLnJIYj0hIShfLmRoWzZdJjIpO18uc0hiPSEhKF8uZGhbNl0mNCk7Xy50SGI9ISEoXy5kaFs2XSY4KTtfLnVIYj0hIShfLmRoWzZdJjE2KTtfLnZIYj0hIShfLmRoWzZdJjMyKTtcbl8ud0hiPSEhKF8uZGhbNl0mNjQpO18ueEhiPSEhKF8uZGhbNl0mMTI4KTtfLnlIYj0hIShfLmRoWzZdJjI1Nik7Xy56SGI9ISEoXy5kaFs2XSY1MTIpO18uQUhiPSEhKF8uZGhbNl0mMTAyNCk7Xy5CSGI9ISEoXy5kaFs2XSYyMDQ4KTtfLkNIYj0hIShfLmRoWzZdJjQwOTYpO18uREhiPSEhKF8uZGhbNl0mODE5Mik7Xy5FSGI9ISEoXy5kaFs2XT4+MTQmMSk7Xy5GSGI9ISEoXy5kaFs2XT4+MTUmMSk7Xy5HSGI9ISEoXy5kaFs2XT4+MTYmMSk7Xy5ISGI9ISEoXy5kaFs2XT4+MjcmMSk7Xy5JSGI9ISEoXy5kaFs2XT4+MjgmMSk7Xy5KSGI9ISEoXy5kaFs2XT4+MjkmMSk7Xy5LSGI9ISEoXy5kaFs3XSYxKTtfLkxIYj0hIShfLmRoWzddJjIpO18uTUhiPSEhKF8uZGhbN10mNCk7Xy5OSGI9ISEoXy5kaFs3XSY4KTtfLk9IYj0hIShfLmRoWzddJjE2KTtfLlBIYj0hIShfLmRoWzddJjMyKTtfLlFIYj0hIShfLmRoWzddJjY0KTtfLlJIYj0hIShfLmRoWzddJjEyOCk7XG5fLlNIYj0hIShfLmRoWzddJjEwMjQpO18uVEhiPSEhKF8uZGhbN10mMjA0OCk7Xy5VSGI9ISEoXy5kaFs3XSY0MDk2KTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5VRGI9ISEoXy5kaFszMF0mNDA5Nik7Xy5Cdz0hIShfLmRoWzMwXSY4MTkyKTtfLlZEYj0hIShfLmRoWzMwXT4+MTQmMSk7Xy5XRGI9ISEoXy5kaFszMF0+PjE1JjEpO18uWERiPSEhKF8uZGhbMzBdPj4xNiYxKTtfLllEYj0hIShfLmRoWzMwXT4+MTcmMSk7Xy5aRGI9ISEoXy5kaFszMF0+PjE4JjEpO18uJERiPSEhKF8uZGhbMzBdPj4xOSYxKTtfLmFFYj0hIShfLmRoWzMwXT4+MjAmMSk7Xy5iRWI9ISEoXy5kaFszMF0+PjIxJjEpO18uY0ViPSEhKF8uZGhbMzBdPj4yMiYxKTtfLmRFYj0hIShfLmRoWzMwXT4+MjMmMSk7Xy5lRWI9ISEoXy5kaFszMF0+PjI0JjEpO18uZkViPSEhKF8uZGhbMzBdPj4yNSYxKTtfLmdFYj0hIShfLmRoWzMwXT4+MjYmMSk7Xy5oRWI9ISEoXy5kaFszMF0+PjI3JjEpO18uaUViPSEhKF8uZGhbMzBdPj4yOCYxKTtfLmpFYj0hIShfLmRoWzMwXT4+MjkmMSk7Xy5rRWI9ISEoXy5kaFszMV0mMSk7Xy5sRWI9ISEoXy5kaFszMV0mMik7XG5fLm1FYj0hIShfLmRoWzMxXSY4KTtfLm5FYj0hIShfLmRoWzMxXSYxNik7Xy5vRWI9ISEoXy5kaFszMV0mMzIpO18ucEViPSEhKF8uZGhbMzFdJjEyOCk7Xy5xRWI9ISEoXy5kaFszMV0mMjU2KTtfLnJFYj0hIShfLmRoWzMxXSY1MTIpO18uc0ViPSEhKF8uZGhbMzFdJjEwMjQpO18udEViPSEhKF8uZGhbMzFdJjIwNDgpO18udUViPSEhKF8uZGhbMzFdJjQwOTYpO18udkViPSEhKF8uZGhbMzFdJjgxOTIpO18ud0ViPSEhKF8uZGhbMzFdPj4xNCYxKTtfLnhFYj0hIShfLmRoWzMxXT4+MTUmMSk7Xy55RWI9ISEoXy5kaFszMV0+PjE2JjEpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgV0hiLFZIYjtfLlhIYj1mdW5jdGlvbigpe2lmKCFWSGIpe1ZIYj17fTt2YXIgYT1BcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCJbZGF0YS1zdC1jbnRdXCIpKTthPV8uUGEoYSk7Zm9yKHZhciBiPWEubmV4dCgpOyFiLmRvbmU7Yj1hLm5leHQoKSl7Yj1iLnZhbHVlO3ZhciBjPV8uV2MoYixfLmlsKFwic3QtY250XCIpKTtXSGIuaW5jbHVkZXMoYyk/VkhiW2NdP18uaWQoRXJyb3IoXCJwZmBcIitjKSk6VkhiW2NdPWI6Xy5pZChFcnJvcihcInFmYFwiK2MpKX19cmV0dXJuIE9iamVjdC5hc3NpZ24oe30sVkhiKX07Xy5ZSGI9e0xZZDpcImFwcGJhclwiLFk2ZDpcImVlXCIsSGZlOlwibW9kZVwiLEhrZTpcInJoc1wiLGhkZTpcImxoc1wiLHBtZTpcInNnZVwiLEJaZDpcImF0dmNhcFwiLEVsZTpcInN0YlwiLGJtZTpcImRhcmtcIixnc2U6XCJ1aWJcIixoaWU6XCJvc3JwX3N0X3RhYnNcIixONWQ6XCJkdGhtXCIsd2VlOlwibWdxXCIscjRkOlwiY3RvclwifTtXSGI9T2JqZWN0LnZhbHVlcyhfLllIYik7Xy5aSGI9IV8ubUViO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLiRIYj1PYmplY3QudmFsdWVzKF8uWUhiKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIGJHYixjR2IsZEdiLGVHYixmR2IsZ0diLGhHYixpR2I7YkdiPWZ1bmN0aW9uKCl7cmV0dXJuIF8ubGMuYXBwbHkoMCxhcmd1bWVudHMpLnJlZHVjZShmdW5jdGlvbihhLGIpe3JldHVybiBhPjAmJmI+MD9NYXRoLm1pbihhLGIpOmI+MD9iOmF9LDApfTtjR2I9ZnVuY3Rpb24oYSxiLGMsZCl7Yj1iR2IoYnx8TWF0aC5tYXgoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCx3aW5kb3cuaW5uZXJIZWlnaHQpLGQsYyk7cmV0dXJue3NyYzpfLkxtKGEsXCJoXCIsYiksaGVpZ2h0OmJ9fTtkR2I9ZnVuY3Rpb24oYSxiLGMsZCl7Yj1iR2IoYnx8TWF0aC5tYXgoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoLHdpbmRvdy5pbm5lcldpZHRoKSxkLGMpO3JldHVybntzcmM6Xy5MbShhLFwid1wiLGIpLHdpZHRoOmJ9fTtlR2I9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5wemEoKXx8MTtyZXR1cm4gYj4xP18uTG0oYSxcInNjYWxlXCIsTWF0aC5taW4oMixiKSk6YX07XG5mR2I9ZnVuY3Rpb24oYSxiKXtpZihfLiRuYShhKSYmIWEuc3JjLnN0YXJ0c1dpdGgoXCJkYXRhOlwiKSl7dmFyIGM9ZEdiKGEuc3JjLDAsYixhLnBhcmVudEVsZW1lbnQmJmEucGFyZW50RWxlbWVudC5jbGllbnRXaWR0aHx8MCk7YS5zcmMhPT1jLnNyYyYmKGEub25sb2FkPWZ1bmN0aW9uKCl7YS53aWR0aD1jLndpZHRoO2Eub25sb2FkPW51bGx9LGEuc3JjPWMuc3JjLGEuY29tcGxldGUmJihhLndpZHRoPWMud2lkdGgpKX19O2dHYj1mdW5jdGlvbihhKXtyZXR1cm4gYT09PVwiMFwiP1wiXCI6YStcInB4XCJ9O2hHYj1mdW5jdGlvbihhKXtyZXR1cm4gYT9hK1wicHhcIjpcIlwifTtpR2I9ZnVuY3Rpb24oYSxiKXthLmdldEF0dHJpYnV0ZShcImRhdGEtZGVmZXJyZWRcIik9PT1cIjFcIiYmYS5zZXRBdHRyaWJ1dGUoXCJkYXRhLWRlZmVycmVkXCIsXCIyXCIpO2Euc3JjPWJ9O1xuXy5qR2I9ZnVuY3Rpb24oYSxiKXt2YXIgYz0wLGQ9MDtpZihhLmhhc0F0dHJpYnV0ZShcImRhdGEtc3BcIikpe3ZhciBlPWEucGFyZW50RWxlbWVudCYmYS5wYXJlbnRFbGVtZW50LmNsaWVudEhlaWdodHx8MCxmPWEucGFyZW50RWxlbWVudCYmYS5wYXJlbnRFbGVtZW50LmNsaWVudFdpZHRofHwwLGc9Xy5QYShhLmdldEF0dHJpYnV0ZShcImRhdGEtc3BcIikuc3BsaXQoXCIsXCIpLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5tYXgoMCxOdW1iZXIodCkpfSkpLGg9Zy5uZXh0KCkudmFsdWUsaz1nLm5leHQoKS52YWx1ZSxsPWcubmV4dCgpLnZhbHVlLG49Zy5uZXh0KCkudmFsdWU7Yj1jR2IoYixoLGwsZSk7ZD1iLmhlaWdodDtmPWRHYihiLnNyYyxrLG4sZik7Yz1mLndpZHRoO2I9ZUdiKGYuc3JjKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLF8uUGsoZnVuY3Rpb24oKXtmR2IoYSxuKX0sMTAwKSl9aWYoYS5zcmMhPT1iKWlmKGEuaGFzQXR0cmlidXRlKFwiZGF0YS1kXCIpKXt2YXIgcj1cbm5ldyBJbWFnZTtfLkprKHIsXCJsb2FkXCIsZnVuY3Rpb24oKXtpR2IoYSxyLnNyYyk7dmFyIHQ9YS5nZXRBdHRyaWJ1dGUoXCJkYXRhLWRcIik7dD8odD10LnNwbGl0KFwiLFwiKSx0Lmxlbmd0aD09PTY/KGEuaGVpZ2h0PWR8fE51bWJlcih0WzBdKSxhLndpZHRoPWN8fE51bWJlcih0WzFdKSxhLnN0eWxlLm1hcmdpblRvcD1nR2IodFsyXSksYS5zdHlsZS5tYXJnaW5SaWdodD1nR2IodFszXSksYS5zdHlsZS5tYXJnaW5Cb3R0b209Z0diKHRbNF0pLGEuc3R5bGUubWFyZ2luTGVmdD1nR2IodFs1XSkpOnQubGVuZ3RoPT09NCYmKGEuc3R5bGUuaGVpZ2h0PWhHYih0WzBdKSxhLnN0eWxlLndpZHRoPWhHYih0WzFdKSxhLnN0eWxlLm1hcmdpblRvcD1oR2IodFsyXSksYS5zdHlsZS5tYXJnaW5MZWZ0PWhHYih0WzNdKSksYS5yZW1vdmVBdHRyaWJ1dGUoXCJkYXRhLWRcIikpOl8uaWQoRXJyb3IoXCJvZlwiKSl9KTtyLnNyYz1ifWVsc2UgaUdiKGEsYil9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLmFHYj1mdW5jdGlvbihhLGIsYyl7dHJ5e3ZhciBkPUpTT04ucGFyc2UoYSl9Y2F0Y2goZSl7YygpLGQ9dm9pZCAwfXJldHVybiBuZXcgYihkKX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uJEZiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy4kRmIsXy5xKTtfLiRGYi5wcm90b3R5cGUuZ2V0SWQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMSl9O18uJEZiLnByb3RvdHlwZS5vYT1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywyKX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBEdztfLkRGYj1mdW5jdGlvbihhLGIsYyl7Xy5ZYSgoMCxfLm5iKShhLkhhKSk7Yy5mb3JFYWNoKF8uaGVhLF8udmooYSxiKSl9O0R3PW5ldyBNYXA7RHcuc2V0KFwiYWJ1c2VfZHJvcGRvd25cIixfLkooXCJGTHN5OFwiKSk7Xy5FRmI9Xy5KKFwiYmFHVFpjXCIpO0R3LnNldChcImFjX2FyXCIsXy5FRmIpO0R3LnNldChcImFjX2JjXCIsXy5KKFwiYmgzWm5cIikpO0R3LnNldChcImFjX2JlXCIsXy5KKFwiTTNNbHVcIikpO0R3LnNldChcImFjX2J0XCIsXy5KKFwiam52bmFmXCIpKTtEdy5zZXQoXCJhY19jc1wiLF8uSihcInNRRllzY1wiKSk7RHcuc2V0KFwiYWNfZmNcIixfLkooXCJia0w1ZGNcIikpO0R3LnNldChcImFjX2ZlXCIsXy5KKFwiVDk3M2xiXCIpKTtfLkZGYj1fLkooXCJ1d29FRGVcIik7RHcuc2V0KFwiYWNfaXJcIixfLkZGYik7RHcuc2V0KFwiYWNfbHZzXCIsXy5KKFwibGdyQTRjXCIpKTtEdy5zZXQoXCJhY19yY1wiLF8uSihcInUxNmRaZVwiKSk7RHcuc2V0KFwiYWNjZXB0XCIsXy5KKFwiWmNaVDdcIikpO0R3LnNldChcImFjZXhcIixfLkooXCJRUm9yelwiKSk7XG5Edy5zZXQoXCJhY3RuX2xjaFwiLF8uSihcIlhzZlpoY1wiKSk7RHcuc2V0KFwiYWN0bl9sY2xcIixfLkooXCJIUmxzRVwiKSk7RHcuc2V0KFwiYWN0bl9yZHBcIixfLkooXCJldXFZSWVcIikpO0R3LnNldChcImFjdG5fc2NoXCIsXy5KKFwiVm90TzVlXCIpKTtEdy5zZXQoXCJhY3RuX3NjbFwiLF8uSihcIkNYSVdmZFwiKSk7RHcuc2V0KFwiYWN0bl9zcnRcIixfLkooXCJGcmU5Z2NcIikpO0R3LnNldChcImFkZF9yZWxhdGVkX3Byb2R1Y3RfY2xpY2tcIixfLkooXCJ4b2sxMmNcIikpO0R3LnNldChcImFkZF90b19ob21lX3NjcmVlbl9hY3Rpb25cIixfLkooXCJEa2tjVWNcIikpO0R3LnNldChcImFkZHBob3RvXCIsXy5KKFwiZ21XeHRiXCIpKTtEdy5zZXQoXCJhZGR2aWRlb1wiLF8uSihcIkFTTFRHY1wiKSk7RHcuc2V0KFwiYWpfYmNrXCIsXy5KKFwiejcwVkRkXCIpKTtEdy5zZXQoXCJhal9kY3BcIixfLkooXCJINWNBR1wiKSk7RHcuc2V0KFwiYWpfZWNwXCIsXy5KKFwiTVREYlZjXCIpKTtEdy5zZXQoXCJhal9maWNsa1wiLF8uSihcImxId1lHXCIpKTtcbkR3LnNldChcImFqX21iY2xrXCIsXy5KKFwiTklyRGViXCIpKTtEdy5zZXQoXCJhal9xbGljbGtcIixfLkooXCJhNjFGQmVcIikpO0R3LnNldChcImFqX3JjY2xrXCIsXy5KKFwiS3Fxc2JiXCIpKTtEdy5zZXQoXCJhal9zYmNsa1wiLF8uSihcIk52dDRDZlwiKSk7RHcuc2V0KFwiYWpfdmNjbGtcIixfLkooXCJwTE51MGNcIikpO0R3LnNldChcImFqX3d2Y2xcIixfLkooXCJMUlYyeGVcIikpO0R3LnNldChcImFtcGNsb3NlZFwiLF8uSihcImltQXoyY1wiKSk7RHcuc2V0KFwiYW1wdmlld1wiLF8uSihcIlQ2eDZ4ZlwiKSk7RHcuc2V0KFwiYW1wdmlzXCIsXy5KKFwieGZCUGRcIikpO0R3LnNldChcImFuc3dlclwiLF8uSihcInhKcjhGZlwiKSk7RHcuc2V0KFwiYW5zd2VyTGlzdENsb3NlXCIsXy5KKFwiRlRvVkRmXCIpKTtEdy5zZXQoXCJhbnN3ZXJfYnV0dG9uX2NsaWNrZWRcIixfLkooXCJYcXJxQWJcIikpO0R3LnNldChcImFwcF9kbFwiLF8uSihcIkdTUnR3YlwiKSk7RHcuc2V0KFwiYXBwbHlcIixfLkooXCJyS1JxQmNcIikpO1xuRHcuc2V0KFwiYXBwbHlfZmVlZGJhY2tfc3R5bGVcIixfLkooXCJSUG5LQWJcIikpO0R3LnNldChcImFzeW5jQ29tcGxldGVcIixfLkooXCJGN21qVmJcIikpO0R3LnNldChcImFzeW5jRXJyb3JcIixfLkooXCJ4QmFTMmNcIikpO0R3LnNldChcImFzeW5jRmlsbGVkXCIsXy5KKFwid1VWS0VmXCIpKTtEdy5zZXQoXCJhc3luY0xvYWRpbmdcIixfLkooXCJzVzc3SmZcIikpO0R3LnNldChcImFzeW5jUmVzZXRcIixfLkooXCJwb2I0cWNcIikpO0R3LnNldChcImF0dHJpYnV0aW9uQ2xpY2tlZFwiLF8uSihcInpWeTJaZFwiKSk7RHcuc2V0KFwiYXVkZ191cGdyYWRlXCIsXy5KKFwiR0lhYXNjXCIpKTtEdy5zZXQoXCJhdXRvX2V4cGFuZFwiLF8uSihcIlNUTkZNZFwiKSk7Xy5HRmI9Xy5KKFwidTZKcUdcIik7RHcuc2V0KFwiYl9jc1wiLF8uR0ZiKTtEdy5zZXQoXCJiYV9lbFwiLF8uSihcInBPS2JjXCIpKTtEdy5zZXQoXCJiYV9sc1wiLF8uSihcIlhVdm94ZlwiKSk7RHcuc2V0KFwiYmFja19hY3Rpb25cIixfLkooXCJ3M1lFRWNcIikpO1xuRHcuc2V0KFwiYmRfY2FuY2VsX2J1c2luZXNzXCIsXy5KKFwiaEQ5REpiXCIpKTtEdy5zZXQoXCJiZF9yZWRpcmVjdF90b19HTUJcIixfLkooXCJRYzFvUVwiKSk7RHcuc2V0KFwiYmVmb3JlX2NvbGxhcHNlXCIsXy5KKFwiU2FuMWhiXCIpKTtEdy5zZXQoXCJiZWZvcmVfZXhwYW5kXCIsXy5KKFwiSnl4VzJkXCIpKTtEdy5zZXQoXCJibGFua1wiLF8uSihcIklWVUFWZFwiKSk7RHcuc2V0KFwiYnNfY2xvc2VcIixfLkooXCJPb1U2SmVcIikpO0R3LnNldChcImJzX2Nsb3NlZFwiLF8uSihcInUzQ0NHZVwiKSk7RHcuc2V0KFwiYnNfb3BlblwiLF8uSihcIndvbVFuZVwiKSk7RHcuc2V0KFwiYnNfb3BlbmVkXCIsXy5KKFwiUkpIV1wiKSk7RHcuc2V0KFwiYnV0dG9uQ2xpY2tcIixfLkooXCJOOHA1YmVcIikpO0R3LnNldChcImNhbF9lbnRlcl9kYXlcIixfLkooXCJTSXoyRVwiKSk7RHcuc2V0KFwiY2FsX2xlYXZlX2RheVwiLF8uSihcIkVzMURhZFwiKSk7Xy5IRmI9Xy5KKFwiY083ZUlcIik7RHcuc2V0KFwiY2FsX3NlbGVjdF9kYXlcIixfLkhGYik7XG5Edy5zZXQoXCJjYWxjdWxhdG9yX3N3aXRjaF90b19ob21lX2J1ZGdldFwiLF8uSihcIlRmcTFGZFwiKSk7RHcuc2V0KFwiY2FsY3VsYXRvcl9zd2l0Y2hfdG9fbW9udGhseV9wYXltZW50XCIsXy5KKFwiRnRyaHpcIikpO0R3LnNldChcImNhbmNlbFwiLF8uSihcIkRmaWRnXCIpKTtEdy5zZXQoXCJjYW5jZWxRdWVzdGlvblwiLF8uSihcIkxlWUdIZFwiKSk7RHcuc2V0KFwiY2FuY2VsX2Rpc2NhcmRcIixfLkooXCJlbFZOVmNcIikpO0R3LnNldChcImNhbmNlbF9mb3JtXCIsXy5KKFwibUNQTUlmXCIpKTtEdy5zZXQoXCJjYW52YXNfY2hhbmdlXCIsXy5KKFwiSTBveURmXCIpKTtEdy5zZXQoXCJjYXJvdXNlbF9zY3JvbGxlZFwiLF8uSihcInNzR2pMZFwiKSk7RHcuc2V0KFwiY2F0ZWdvcnlTZWxlY3RcIixfLkooXCJjbjY5eGZcIikpO0R3LnNldChcImNjX2lucHV0X3ZhbHVlX2NoYW5nZVwiLF8uSihcIld0cXhxZVwiKSk7RHcuc2V0KFwiY2Nfc2VsZWN0ZWRfdmFsdWVfY2hhbmdlXCIsXy5KKFwiZW95c0hmXCIpKTtEdy5zZXQoXCJjY19zd2FwXCIsXy5KKFwiaEtna2VjXCIpKTtcbkR3LnNldChcImNoYW5nZV9hY3RpdmVfaW5kZXhcIixfLkooXCJKOUNNMmRcIikpO0R3LnNldChcImNoYW5nZV9hc3NvY2lhdGVkX3RvcGljXCIsXy5KKFwiUlFrUDZiXCIpKTtEdy5zZXQoXCJjaGFuZ2VfbG9jXCIsXy5KKFwiU0pLZTZiXCIpKTtEdy5zZXQoXCJjaGFuZ2Vfc29ydFwiLF8uSihcIlczV1QwY1wiKSk7RHcuc2V0KFwiY2hhbmdlX3NvdXJjZVwiLF8uSihcInRSTUx2ZVwiKSk7RHcuc2V0KFwiY2hhcnRfdG91Y2hcIixfLkooXCJNMkR0RGRcIikpO0R3LnNldChcImNoZWNraW5cIixfLkooXCJBS0l3ZGVcIikpO0R3LnNldChcImNoZWNrb3V0XCIsXy5KKFwibkNZdm9lXCIpKTtEdy5zZXQoXCJjaGlwXCIsXy5KKFwiWlh6T0pkXCIpKTtEdy5zZXQoXCJjaGlwX3NlbGVjdGVkXCIsXy5KKFwiUXhDQ05jXCIpKTtEdy5zZXQoXCJjaVwiLF8uSihcIlBGeThzZlwiKSk7RHcuc2V0KFwiY2lfaWZcIixfLkooXCJaQVBxbGVcIikpO0R3LnNldChcImNpX3BpXCIsXy5KKFwiWUlRSTBjXCIpKTtEdy5zZXQoXCJjbFwiLF8uSihcIlJyZGZqXCIpKTtEdy5zZXQoXCJjbF9taVwiLF8uSihcInd4TG1cIikpO1xuRHcuc2V0KFwiY2xlYXJUZXh0XCIsXy5KKFwicjdyMzFcIikpO0R3LnNldChcImNsZWFyX2ZpbFwiLF8uSihcIkNwbGpjYlwiKSk7RHcuc2V0KFwiY2xlYXJfZmlsdGVyXCIsXy5KKFwiVGJZOUxjXCIpKTtEdy5zZXQoXCJjbGVhcl9maWx0ZXJzXCIsXy5KKFwieGlHbHNcIikpO0R3LnNldChcImNsZWFyX21lbnVfaXRlbVwiLF8uSihcImhtYjZZZVwiKSk7RHcuc2V0KFwiQ2xpY2tcIixfLkooXCJSUGVTR2NcIikpO0R3LnNldChcImNsaWNrQ2hpcFwiLF8uSihcIndqZFhzZVwiKSk7RHcuc2V0KFwiY2xpY2tGb2xsb3dcIixfLkooXCJEVWFGc2VcIikpO0R3LnNldChcImNsaWNrTWljXCIsXy5KKFwianFGQ2xmXCIpKTtEdy5zZXQoXCJjbGlja01vYmlsZU92ZXJ2aWV3VGlsZVwiLF8uSihcInh2ZHB2ZFwiKSk7RHcuc2V0KFwiY2xpY2tOdW1BbnN3ZXJzXCIsXy5KKFwiTk5nWHlcIikpO0R3LnNldChcImNsaWNrT3ZlcnZpZXdDYXRlZ29yeVwiLF8uSihcIkJrNk9mZFwiKSk7RHcuc2V0KFwiY2xpY2tPdmVydmlld1RpbGVcIixfLkooXCJyTkl5ZWVcIikpO1xuRHcuc2V0KFwiY2xpY2tQb3N0XCIsXy5KKFwiZGZaODZiXCIpKTtEdy5zZXQoXCJjbGlja1JlcGxhY2VcIixfLkooXCJmSFZVY2JcIikpO0R3LnNldChcImNsaWNrVGhhbmtZb3VQYWdlXCIsXy5KKFwidTI5YUdkXCIpKTtEdy5zZXQoXCJjbGlja1VuZG9cIixfLkooXCJTY05zR1wiKSk7RHcuc2V0KFwiY2xpY2tWaWV3QWxsXCIsXy5KKFwiUVR5OTdcIikpO0R3LnNldChcImNsaWNrX2Fuc3dlclwiLF8uSihcIkRXVFo3Y1wiKSk7RHcuc2V0KFwiY2xpY2tfYW5zd2VyX2J1dHRvblwiLF8uSihcIllSY2ZLZlwiKSk7RHcuc2V0KFwiY2xpY2tfY2hhbmdlX2ZhY3RcIixfLkooXCJJdjV4amRcIikpO0R3LnNldChcImNsaWNrX2Nsb3NlX2J1dHRvblwiLF8uSihcImtobnY5ZVwiKSk7RHcuc2V0KFwiY2xpY2tfZm9sbG93X2RlZXBsaW5rXCIsXy5KKFwibnJTTmxmXCIpKTtEdy5zZXQoXCJjbGlja19taXNzaW5nX2ZhY3RcIixfLkooXCJjSTVGR2RcIikpO0R3LnNldChcImNsaWNrX21vcmVfYnV0dG9uXCIsXy5KKFwiVGlsQ0NkXCIpKTtcbkR3LnNldChcImNsaWNrX3F1ZXN0aW9uXCIsXy5KKFwia1g3TzljXCIpKTtEdy5zZXQoXCJjbGlja19yZWFjdGlvblwiLF8uSihcImdNU1RxYlwiKSk7RHcuc2V0KFwiY2xpY2tfcm93XCIsXy5KKFwiTVdLWkpkXCIpKTtEdy5zZXQoXCJjbGlja19zaGFyZV9idXR0b25cIixfLkooXCJrTHVybVwiKSk7RHcuc2V0KFwiY2xpY2tfc3VnZ2VzdGVkX2ZhY3RcIixfLkooXCJTSWpTZmVcIikpO0R3LnNldChcImNsaWNrX3ZpZXdfYWxsX3F1ZXN0aW9uc1wiLF8uSihcInJoVkVuXCIpKTtEdy5zZXQoXCJjbGlja192aWV3X2Fuc3dlclwiLF8uSihcIk9uMGpIYlwiKSk7RHcuc2V0KFwiY2xpY2tfdm90ZV9idXR0b25cIixfLkooXCJseFh0eWRcIikpO0R3LnNldChcImNsb3NlQ29tcEltbWVyc2l2ZVwiLF8uSihcIlNkamplY1wiKSk7RHcuc2V0KFwiY2xvc2VEaWFsb2dcIixfLkooXCJDcDVBQVwiKSk7RHcuc2V0KFwiY2xvc2VGcFN0YXRlXCIsXy5KKFwiV0ZLWTdjXCIpKTtEdy5zZXQoXCJjbG9zZUdpZlNlbGVjdG9yXCIsXy5KKFwiQ1RQdUJlXCIpKTtcbkR3LnNldChcImNsb3NlSVZcIixfLkooXCJWV0lER2NcIikpO0R3LnNldChcImNsb3NlTW9kYWxcIixfLkooXCJiSGxMV1wiKSk7RHcuc2V0KFwiY2xvc2VQYWdlXCIsXy5KKFwiR1IySVpiXCIpKTtEdy5zZXQoXCJjbG9zZVByZXN0b1wiLF8uSihcInVEaEdlZVwiKSk7RHcuc2V0KFwiY2xvc2VSSVZcIixfLkooXCJGbzBabWRcIikpO0R3LnNldChcImNsb3NlVGlja2V0c0RpYWxvZ1wiLF8uSihcIkxDUFkwZFwiKSk7RHcuc2V0KFwiY2xvc2VUcnlPblwiLF8uSihcIkVrRzlLY1wiKSk7RHcuc2V0KFwiY2xvc2VfYnV0dG9uX2FjdGlvblwiLF8uSihcIkk2SGs1XCIpKTtEdy5zZXQoXCJjbG9zZV9idXR0b25fY2xpY2tlZFwiLF8uSihcIm1MSjRUYlwiKSk7RHcuc2V0KFwiY2xvc2VfY2xpY2tcIixfLkooXCJ5TzFYaGVcIikpO0R3LnNldChcImNsb3NlX2NsaWNrZWRcIixfLkooXCJDN25iOWNcIikpO0R3LnNldChcImNsb3NlX2RpYWxvZ1wiLF8uSihcIk9GQU9lYlwiKSk7RHcuc2V0KFwiY2xvc2VfZXhwYW5kYWJsZV9jb250ZW50XCIsXy5KKFwiSkVteGpcIikpO1xuRHcuc2V0KFwiY2xvc2VfZmVlZGJhY2tcIixfLkooXCJtVHFEMlwiKSk7RHcuc2V0KFwiY2xvc2VfZmVlZGJhY2tfc3RhcnRlcl9kaWFsb2dcIixfLkooXCJvMlc4RWNcIikpO0R3LnNldChcImNsb3NlX2ZwdlwiLF8uSihcIm9qV0pXXCIpKTtEdy5zZXQoXCJjbG9zZV9mdWxscGFnZVwiLF8uSihcInNCbmhsZVwiKSk7RHcuc2V0KFwiY2xvc2VfaW1tZXJzaXZlXCIsXy5KKFwiVFBoaFViXCIpKTtEdy5zZXQoXCJjbG9zZV9sYW5ndWFnZV9waWNrZXJcIixfLkooXCJBMmxqdWZcIikpO0R3LnNldChcImNsb3NlX2xpZ2h0Ym94XCIsXy5KKFwiekpycjhlXCIpKTtEdy5zZXQoXCJjbG9zZV9vbmJvYXJkaW5nQmFubmVyXCIsXy5KKFwiRTJEUEdlXCIpKTtEdy5zZXQoXCJjbG9zZV9wb3B1cFwiLF8uSihcImo2ZWxrZlwiKSk7RHcuc2V0KFwiY2xvc2VfcHJvbW9cIixfLkooXCJTRGhvbGNcIikpO0R3LnNldChcImNsb3NlX3Jldmlld3NfZGlhbG9nXCIsXy5KKFwiV2ZDd01jXCIpKTtEdy5zZXQoXCJjbG9zZV90aGFua195b3VfZGlhbG9nXCIsXy5KKFwiUjNXdkVmXCIpKTtcbkR3LnNldChcImNsb3NlX3ZpZXdcIixfLkooXCJ4aDdFS2JcIikpO0R3LnNldChcImNsb3NlX3doeV90aGlzX3Jlc3VsdF9kaWFsb2dcIixfLkooXCJoTVRMMWRcIikpO0R3LnNldChcImNsb3NlZFwiLF8uSihcIko0eDVaYlwiKSk7RHcuc2V0KFwiY2xvc2luZ19jcm9zc19jbGlja1wiLF8uSihcIkFHUDNEXCIpKTtEdy5zZXQoXCJjbHNfZGdcIixfLkooXCJBSm5oemZcIikpO0R3LnNldChcImNvXCIsXy5KKFwiS3NQRjhjXCIpKTtEdy5zZXQoXCJjb21wYXJlX2ZpbHRlcl91cGRhdGVcIixfLkooXCJFN1dRb2VcIikpO0R3LnNldChcImNvbXBsZXhfY2xpY2tcIixfLkooXCJQcXBOMGVcIikpO0R3LnNldChcImNvbXBsZXhfZXhpdFwiLF8uSihcIlBBZ3ZZZFwiKSk7RHcuc2V0KFwiY29tcG9zZV9xdWVzdGlvblwiLF8uSihcInZkOGh0ZVwiKSk7RHcuc2V0KFwiY29tcG9zZXJfY2FuY2VsXCIsXy5KKFwidnZqaWdmXCIpKTtEdy5zZXQoXCJjb25mX3NsXCIsXy5KKFwiSGFZY0NjXCIpKTtEdy5zZXQoXCJjb25maXJtX2Rpc2NhcmRcIixfLkooXCJpVDFnb2VcIikpO1xuRHcuc2V0KFwiY29udGVzdGFudF9jbGlja1wiLF8uSihcIlNvR2MyY1wiKSk7RHcuc2V0KFwiY29udGVzdGFudF9zY29yZV9jaGFuZ2VcIixfLkooXCJmSDNhNWNcIikpO0R3LnNldChcImNvbnRpbnVlX3RvX3NpdGVcIixfLkooXCJ2M2duZWRcIikpO0R3LnNldChcImNvcHlfY29kZVwiLF8uSihcImdXdHNiZFwiKSk7RHcuc2V0KFwiY3JlYXRlU2l0ZVwiLF8uSihcInVKcXlmZlwiKSk7RHcuc2V0KFwiY3NvZmZcIixfLkooXCJTallMOWRcIikpO0R3LnNldChcImNzb25cIixfLkooXCJIM2NmT2NcIikpO18uSUZiPV8uSihcIkVvcm1CY1wiKTtEdy5zZXQoXCJjdF9pYVwiLF8uSUZiKTtEdy5zZXQoXCJjdF9pY1wiLF8uSihcImdFS1FEYlwiKSk7RHcuc2V0KFwiY3Vfb3Blbl9kaWFsb2dcIixfLkooXCJkT3dydmNcIikpO0R3LnNldChcImN1c3RvbV9kaWFsb2dfc2VuZFwiLF8uSihcImJDOHhTY1wiKSk7RHcuc2V0KFwiY3VzdG9tX2RpYWxvZ19zaG93XCIsXy5KKFwiRnFaOTNcIikpO0R3LnNldChcImQzYm5fdXBcIixfLkooXCJoUVhxd2RcIikpO1xuRHcuc2V0KFwiZGF0ZV9zdGVwXCIsXy5KKFwiSlJ4OG9lXCIpKTtEdy5zZXQoXCJkYXRlc19jaGFuZ2VkXCIsXy5KKFwiTHBwNUFiXCIpKTtEdy5zZXQoXCJkY3VcIixfLkooXCJJb0NaMlwiKSk7RHcuc2V0KFwiZGRfY2FuY2VsX2RlbGV0ZVwiLF8uSihcInFPSVdJZFwiKSk7RHcuc2V0KFwiZGRfY29uZmlybV9kZWxldGVcIixfLkooXCJtM3pxS2VcIikpO0R3LnNldChcImRkX2Rpc21pc3NlZFwiLF8uSihcIkpQWjBQZVwiKSk7RHcuc2V0KFwiZGRfb2tcIixfLkooXCJFUkJwRFwiKSk7RHcuc2V0KFwiZGVidWdEb2NCdXR0b25QcmVzc1wiLF8uSihcIlo4SjJPYlwiKSk7RHcuc2V0KFwiZGVjXCIsXy5KKFwidFBhazFiXCIpKTtEdy5zZXQoXCJkZWxldGVfY2hpcFwiLF8uSihcIkxqVkVKZFwiKSk7RHcuc2V0KFwiZGVzY2xpbmtcIixfLkooXCJTS0FhTWVcIikpO0R3LnNldChcImRlc2NyaXB0aW9uMV9pbnB1dF9jaGFuZ2VcIixfLkooXCJBOG5KNmJcIikpO0R3LnNldChcImRlc2NyaXB0aW9uMl9pbnB1dF9jaGFuZ2VcIixfLkooXCJzY3pDaGJcIikpO1xuRHcuc2V0KFwiZGVzdGluYXRpb25fb3ZlcmxheV9jbGlja2VkXCIsXy5KKFwiQXNuQm1iXCIpKTtEdy5zZXQoXCJkZXN0aW5hdGlvbl9vdmVybGF5X21vdXNlZW50ZXJcIixfLkooXCJrWFRLb2VcIikpO0R3LnNldChcImRlc3RpbmF0aW9uX292ZXJsYXlfbW91c2VsZWF2ZVwiLF8uSihcIkV2Yno0XCIpKTtEdy5zZXQoXCJkZXN0aW5hdGlvbl9zZWxlY3RlZFwiLF8uSihcIkVXdXo1ZFwiKSk7RHcuc2V0KFwiZGdfZGlzcGxheV9jb250ZW50XCIsXy5KKFwidGc5RzVjXCIpKTtEdy5zZXQoXCJkaWFsb2dfY2FuY2VsXCIsXy5KKFwib3JIcVNkXCIpKTtEdy5zZXQoXCJkaWFsb2dfY2FuY2VsX2J1dHRvbl9jbGlja2VkXCIsXy5KKFwiUlBOYkJkXCIpKTtEdy5zZXQoXCJkaWFsb2dfY2xvc2VkXCIsXy5KKFwiVmtpYTdiXCIpKTtEdy5zZXQoXCJkaWFsb2dfb2tfYnV0dG9uX2NsaWNrZWRcIixfLkooXCJWV2ZWamNcIikpO0R3LnNldChcImRpYWxvZ19yYXRlc191cGRhdGVcIixfLkooXCJhZnRRbWZcIikpO1xuRHcuc2V0KFwiZGlyZWN0aW9uc19zdGF0ZV9wdXNoXCIsXy5KKFwidVY1U2hlXCIpKTtEdy5zZXQoXCJkaXNhYmxlX3NlbmRfYnV0dG9uXCIsXy5KKFwidlFWRHJmXCIpKTtEdy5zZXQoXCJkaXNtaXNzXCIsXy5KKFwialFBbmRcIikpO0R3LnNldChcImRpc21pc3NfZm9ybVwiLF8uSihcInFtemgwZFwiKSk7RHcuc2V0KFwiZGlzbWlzc193YXJtdXBcIixfLkooXCJOaVUzZWVcIikpO0R3LnNldChcImRpc21pc3NlZFwiLF8uSihcIlRnTU02XCIpKTtEdy5zZXQoXCJkaXNwbGF5Q2xlYXJCdXR0b25cIixfLkooXCJsdk55NGJcIikpO0R3LnNldChcImRrcFwiLF8uSihcIkR4dEgyYlwiKSk7RHcuc2V0KFwiZGx0X21kXCIsXy5KKFwiSnhlaFJiXCIpKTtEdy5zZXQoXCJkbXBfZXhwYW5kX21vcmVfaXRlbVwiLF8uSihcIkFBODBLZVwiKSk7RHcuc2V0KFwiZG9uZVwiLF8uSihcIkNyeHNJYlwiKSk7RHcuc2V0KFwiZHBfbWVudV9yZWdfY2FwdGlvblwiLF8uSihcImtOT1A5Y1wiKSk7RHcuc2V0KFwiZHBfcmVzb2x2ZVwiLF8uSihcIlY0aExsZVwiKSk7XG5Edy5zZXQoXCJkc3RfY2xvc2Vfa3BcIixfLkooXCJTQ1E0SGRcIikpO0R3LnNldChcImR0NV9kaXNtaXNzXCIsXy5KKFwiTDNYekZjXCIpKTtEdy5zZXQoXCJkdDVfbW9yZV9pbmZvXCIsXy5KKFwidVRKSWtcIikpO0R3LnNldChcImR1Zl9lZWtwXCIsXy5KKFwiWUN5eUNmXCIpKTtEdy5zZXQoXCJkdWZfaW5pdFwiLF8uSihcIkNwSXRhZVwiKSk7RHcuc2V0KFwiZHVmX3Nla3BcIixfLkooXCJZdWhYZWZcIikpO0R3LnNldChcImR1ZmZ5Q2xvc2VcIixfLkooXCJObUUweGZcIikpO0R3LnNldChcImR1ZmZ5UmVhZHlcIixfLkooXCJQMTJVZlwiKSk7RHcuc2V0KFwiZHVtMVwiLF8uSihcIndlbFhIY1wiKSk7RHcuc2V0KFwiZHVtMlwiLF8uSihcIlJHem16Y1wiKSk7RHcuc2V0KFwiZHVtM1wiLF8uSihcImRSeXhxZVwiKSk7RHcuc2V0KFwiZHVtNFwiLF8uSihcIm45b3dPYlwiKSk7RHcuc2V0KFwiZWRfQWxsRXZlbnRzXCIsXy5KKFwiWHFMVTRiXCIpKTtEdy5zZXQoXCJlZF9Ib21lUGFnZVwiLF8uSihcIllJNXA5ZFwiKSk7RHcuc2V0KFwiZWRfUHJvZ3Jlc3NiYXJcIixfLkooXCJrRUhFZ2JcIikpO1xuRHcuc2V0KFwiZWRfUmVzdWx0c1BhZ2VcIixfLkooXCJqak5abmJcIikpO0R3LnNldChcImVkX1NhdmVkUGFnZVwiLF8uSihcIlhYYVpLZFwiKSk7RHcuc2V0KFwiZWRfZmlsbGVkXCIsXy5KKFwiaDIxRTdiXCIpKTtEdy5zZXQoXCJlZF9sb2FkaW5nXCIsXy5KKFwid1ltam5mXCIpKTtEdy5zZXQoXCJlZF9tZW51Q2xpY2tcIixfLkooXCJvVkhhWWNcIikpO0R3LnNldChcImVkaXRcIixfLkooXCJSYmoySlwiKSk7RHcuc2V0KFwiZWRpdF9hcnJpdmFsXCIsXy5KKFwiSXU5dXJiXCIpKTtEdy5zZXQoXCJlZGl0X2RhdGVcIixfLkooXCJxbTZMR1wiKSk7RHcuc2V0KFwiZWRpdF9kZXBhcnR1cmVcIixfLkooXCJOU0pwVmRcIikpO0R3LnNldChcImVkdV9iXCIsXy5KKFwia3BQeXNmXCIpKTtEdy5zZXQoXCJlZHVfdVwiLF8uSihcIkMwaklwY1wiKSk7RHcuc2V0KFwiZWhfcmV0cnlcIixfLkooXCJQUTFPVVwiKSk7RHcuc2V0KFwiZW1haWxfaW5wdXRfdmFsaWRhdGVkXCIsXy5KKFwiSUd1ZWZjXCIpKTtEdy5zZXQoXCJlbmFibGVfc2VuZF9idXR0b25cIixfLkooXCJZVndHQ2NcIikpO1xuRHcuc2V0KFwiZW5kZWRcIixfLkooXCJhOHJvWFwiKSk7RHcuc2V0KFwiZW50ZXJfZ2FsbGVyeV92aWV3XCIsXy5KKFwib0NWYWliXCIpKTtEdy5zZXQoXCJlbnRlcl9pbW1lcnNpdmVcIixfLkooXCJYd1QwbFwiKSk7RHcuc2V0KFwiZW50ZXJfaW1tZXJzaXZlX3ZpZXdcIixfLkooXCJGdkFnNmVcIikpO0R3LnNldChcImVvYl9zYl9yYVwiLF8uSihcIlQwY0xSXCIpKTtEdy5zZXQoXCJlcF9jbG9zZVwiLF8uSihcIkFFV1hMY1wiKSk7RHcuc2V0KFwiZXBfaWRiYWNrXCIsXy5KKFwieVZPWjdkXCIpKTtEdy5zZXQoXCJlcF9pZG9wZW5cIixfLkooXCJaVzBuZVwiKSk7RHcuc2V0KFwiZXBfb1wiLF8uSihcIlZtdnV1Y1wiKSk7RHcuc2V0KFwiZXJjc19oaWRlXCIsXy5KKFwia3hoT3lcIikpO0R3LnNldChcImVyY3Nfc2hvd1wiLF8uSihcIk9hWFVsY1wiKSk7RHcuc2V0KFwiZXJyb3JSZXRyeVwiLF8uSihcIkFLWEkzZVwiKSk7RHcuc2V0KFwiZXNiX2FzXCIsXy5KKFwiQzlvQ3NlXCIpKTtEdy5zZXQoXCJleGl0X3ZpZXdcIixfLkooXCJ4S2FnNWRcIikpO1xuRHcuc2V0KFwiZXhwYW5kXCIsXy5KKFwiT1hENnRjXCIpKTtEdy5zZXQoXCJleHBhbmRfY2xpY2tcIixfLkooXCJGMndVRmNcIikpO0R3LnNldChcImZfZlwiLF8uSihcInUwTXZ0ZVwiKSk7RHcuc2V0KFwiZl9taXNcIixfLkooXCJ6Q0JpZGNcIikpO0R3LnNldChcImZjX2Z0blwiLF8uSihcIkdaT2lPYlwiKSk7RHcuc2V0KFwiZmNfZnRwXCIsXy5KKFwicUo1MDhlXCIpKTtEdy5zZXQoXCJmY19obWNcIixfLkooXCJYUUZPeWNcIikpO18uSkZiPV8uSihcIkVLWE9GZVwiKTtEdy5zZXQoXCJmY19pZlwiLF8uSkZiKTtfLktGYj1fLkooXCJFRVpPcmJcIik7RHcuc2V0KFwiZmNfc21cIixfLktGYik7RHcuc2V0KFwiZmNkX2Nsc1wiLF8uSihcIldsVnQxXCIpKTtEdy5zZXQoXCJmY2VcIixfLkooXCJLNTVlY2NcIikpO0R3LnNldChcImZlZWRiYWNrXCIsXy5KKFwialV5cnRjXCIpKTtEdy5zZXQoXCJmZXRjaF9vZmZlcnNcIixfLkooXCJRT2dLYlwiKSk7RHcuc2V0KFwiZmV2ZXJfb3BlblwiLF8uSihcImpJVnN4ZlwiKSk7RHcuc2V0KFwiZmlsdGVyX2J1dHRvbl9yZWdpc3RlclwiLF8uSihcInRGVkFWXCIpKTtcbkR3LnNldChcImZpbHRlcl9idXR0b25zX2NoYW5nZVwiLF8uSihcIkVjdElSY1wiKSk7RHcuc2V0KFwiZmluLWF0d1wiLF8uSihcIlZqQnBoYlwiKSk7RHcuc2V0KFwiZmxfYXBcIixfLkooXCJEUHpmOFwiKSk7RHcuc2V0KFwiZmxpZ2h0c19maWxsZWRcIixfLkooXCJkTWVWT2RcIikpO0R3LnNldChcImZscF9zYnNic19jbHJzXCIsXy5KKFwidGN0SUpmXCIpKTtEdy5zZXQoXCJmbHRfZm9fdXBkYXRlZFwiLF8uSihcIkZDaXJNXCIpKTtEdy5zZXQoXCJmb2N1c1wiLF8uSihcIkt5NlJrZFwiKSk7RHcuc2V0KFwiZm9jdXNEZXN0aW5hdGlvblwiLF8uSihcImYyb205XCIpKTtEdy5zZXQoXCJmb2N1c01vcmVCdXR0b25cIixfLkooXCJncWNCemJcIikpO0R3LnNldChcImZvY3VzT25OZXh0Q2FyZFwiLF8uSihcIkFWamhtYlwiKSk7RHcuc2V0KFwiZm9jdXNPblJlYWN0QnV0dG9uXCIsXy5KKFwiY0o2ZGZjXCIpKTtEdy5zZXQoXCJmb2N1c09yaWdpblwiLF8uSihcIlNRdlZaY1wiKSk7RHcuc2V0KFwiZm9jdXNfYmVnaW5fc2VudGluZWxcIixfLkooXCJ6aDVTSWRcIikpO1xuRHcuc2V0KFwiZm9jdXNfZW5kX3NlbnRpbmVsXCIsXy5KKFwiRDZzOUxiXCIpKTtEdy5zZXQoXCJmb2xsb3dcIixfLkooXCJpZTdDZmRcIikpO0R3LnNldChcImZwX3NcIixfLkooXCJ0M0w1RGRcIikpO0R3LnNldChcImZwbWxfb3BlblwiLF8uSihcIkdsV2s3ZVwiKSk7RHcuc2V0KFwiZnB2X2FjXCIsXy5KKFwic3BUZHpkXCIpKTtEdy5zZXQoXCJmcHZfYmFja1wiLF8uSihcImtHVHppXCIpKTtEdy5zZXQoXCJmcHZfY2xvc2VcIixfLkooXCJHSzhhamJcIikpO0R3LnNldChcImZwdl9mZ1wiLF8uSihcIlJsaHVJY1wiKSk7Xy5MRmI9Xy5KKFwiQjIwNlZlXCIpO0R3LnNldChcImZwdl9mbFwiLF8uTEZiKTtEdy5zZXQoXCJmcHZfb3BlblwiLF8uSihcIlptem5mZlwiKSk7RHcuc2V0KFwiZnB2X3N0XCIsXy5KKFwiTXM1TGRkXCIpKTtEdy5zZXQoXCJmcHZfdGNcIixfLkooXCJBZ0FXbWNcIikpO0R3LnNldChcImZ1bGxfcmV2aWV3X3NuaXBwZXRcIixfLkooXCJuTlJ6WmJcIikpO0R3LnNldChcImZ1bGxzY3JlZW5fZXhwYW5kZXJfY2xpY2tcIixfLkooXCJDeXN0c1wiKSk7XG5Edy5zZXQoXCJmd19hdHdfY2xcIixfLkooXCJLSmc0dlwiKSk7RHcuc2V0KFwiZndfYXR3X29wZW5cIixfLkooXCJnQkJhemNcIikpO0R3LnNldChcImZ3X2NoYW5nZV90YWJcIixfLkooXCJMdUdrNVwiKSk7RHcuc2V0KFwiZndfY2hhcnRfZmlsbGVkXCIsXy5KKFwieERFenlmXCIpKTtEdy5zZXQoXCJmd19jaGFydF91cGRhdGVfZXJyb3JcIixfLkooXCJ2QWZSZ2VcIikpO0R3LnNldChcImZ3X2NsZWFyX2NvbXBhcmlzb25cIixfLkooXCJ1a1lFQVwiKSk7RHcuc2V0KFwiZndfY2xvc2Vfc2VhcmNoYm94XCIsXy5KKFwieml3ekZiXCIpKTtEdy5zZXQoXCJmd19jb21wYXJlXCIsXy5KKFwid3dMWEplXCIpKTtEdy5zZXQoXCJmd19jdGFwXCIsXy5KKFwidkxVOWZiXCIpKTtEdy5zZXQoXCJmd19mbHdfY2xrXCIsXy5KKFwiWkVrVVNlXCIpKTtEdy5zZXQoXCJmd19mb3JjZWRfcmV0cnlcIixfLkooXCJ6SmhFYWJcIikpO0R3LnNldChcImZ3X3BlcmlvZFwiLF8uSihcIkJMYjc5ZVwiKSk7RHcuc2V0KFwiZndfcHZ1XCIsXy5KKFwiYkhKY0FmXCIpKTtcbkR3LnNldChcImZ3X3JldHJ5XCIsXy5KKFwiWWI5emZcIikpO0R3LnNldChcImZ3X3VuZmx3X2Nsa1wiLF8uSihcIm5EcUg2YlwiKSk7RHcuc2V0KFwiZndfdmN1XCIsXy5KKFwiWVA2OUVlXCIpKTtfLk1GYj1fLkooXCJheUh6TWRcIik7RHcuc2V0KFwiZ19kcm9wZG93bl9oaWRlXCIsXy5NRmIpO18uTkZiPV8uSihcImsyQjVBZVwiKTtEdy5zZXQoXCJnX2Ryb3Bkb3duX3Nob3dcIixfLk5GYik7RHcuc2V0KFwiZ2NpX2hpZGRlblwiLF8uSihcIlFOVmRDY1wiKSk7RHcuc2V0KFwiZ2NpX3Nob3duXCIsXy5KKFwiSkRoVmViXCIpKTtEdy5zZXQoXCJnZXRTZWxlY3RlZERhdGVUaW1lXCIsXy5KKFwiS2ZrMGFlXCIpKTtEdy5zZXQoXCJnZXRUaWNrZXRzXCIsXy5KKFwieVFlQkJiXCIpKTtEdy5zZXQoXCJnZXRfc3RhcnRlZF9jbGlja1wiLF8uSihcInJmWGZ2YlwiKSk7RHcuc2V0KFwiZ2hzX29wZW5fcHJvZmlsZVwiLF8uSihcImg2cEd6XCIpKTtEdy5zZXQoXCJnaHNfcHJvZmlsZV9yZW5kZXJfcmV2aWV3c1wiLF8uSihcIkRUZHNUYlwiKSk7XG5Edy5zZXQoXCJnbGFzc19wYW5lX2NsaWNrZWRcIixfLkooXCJnblZnSlwiKSk7RHcuc2V0KFwiZ29cIixfLkooXCJnQk1Zb2ZcIikpO0R3LnNldChcImdvX2JhY2tcIixfLkooXCJtb3lZY2RcIikpO0R3LnNldChcImdvX2JhY2tfY2xpY2tcIixfLkooXCJ5bURFY2RcIikpO0R3LnNldChcImdvX25leHRcIixfLkooXCJJb1hVcmJcIikpO0R3LnNldChcImdvX3ByZXZpb3VzXCIsXy5KKFwicUFFZnRcIikpO0R3LnNldChcImd3c190cmF2ZWxfaGVhZGVyX2RhdGVfY2hhbmdlXCIsXy5KKFwiSWV0NjBiXCIpKTtEdy5zZXQoXCJnd3NfdHJhdmVsX2hlYWRlcl9kYXRlX3NlbGVjdG9yX2luaXRcIixfLkooXCJwZTJTQmZcIikpO0R3LnNldChcImd3c190cmF2ZWxfaGVhZGVyX2Rlc3RpbmF0aW9uX2NoYW5nZVwiLF8uSihcIkxsQ0xPY1wiKSk7RHcuc2V0KFwiZ3dzX3RyYXZlbF9oZWFkZXJfZGVzdGluYXRpb25fc2VsZWN0b3JfaW5pdFwiLF8uSihcIlJSajlnYlwiKSk7RHcuc2V0KFwiZ3dzX3RyYXZlbF9oZWFkZXJfb3JpZ2luX2NoYW5nZVwiLF8uSihcImdwakpjXCIpKTtcbkR3LnNldChcImd3c190cmF2ZWxfaGVhZGVyX29yaWdpbl9zZWxlY3Rvcl9pbml0XCIsXy5KKFwiVXZ1RnZiXCIpKTtEdy5zZXQoXCJnd3NfdHJhdmVsX3JhZGlvX2l0ZW1fc2VsZWN0ZWRcIixfLkooXCJsYVlrZ1wiKSk7RHcuc2V0KFwiaGFuZGxlRGVwYXJ0dXJlVGltZUFuY2hvclwiLF8uSihcIk1CMGdzXCIpKTtEdy5zZXQoXCJoYW5kbGVHcmlkQXN5bmNcIixfLkooXCJaeGROZ2VcIikpO0R3LnNldChcImhhbmRsZUhlbHBMaW5rQ2xpY2tcIixfLkooXCJsZHdXb2NcIikpO0R3LnNldChcImhhbmRsZV9yZXRyeVwiLF8uSihcIlRlbkthZVwiKSk7RHcuc2V0KFwiaGFuZGxlbG9nXCIsXy5KKFwidzlqWXdmXCIpKTtEdy5zZXQoXCJoY1wiLF8uSihcIlFBN00wZVwiKSk7RHcuc2V0KFwiaGN1XCIsXy5KKFwiSEZtVHNcIikpO0R3LnNldChcImhlYWRlckJhY2tDbGlja1wiLF8uSihcImF4OGttZFwiKSk7RHcuc2V0KFwiaGVhZGVyQnV0dG9uQ2xpY2tcIixfLkooXCJtR21DTVwiKSk7RHcuc2V0KFwiaGVhZGxpbmUxX2lucHV0X2NoYW5nZVwiLF8uSihcIlQ1aUozZFwiKSk7XG5Edy5zZXQoXCJoZWFkbGluZTJfaW5wdXRfY2hhbmdlXCIsXy5KKFwiTDZROXRjXCIpKTtEdy5zZXQoXCJoZWFkbGluZTNfaW5wdXRfY2hhbmdlXCIsXy5KKFwialczWXJcIikpO0R3LnNldChcImhlcm9fY2Fyb3VzZWxfY2FsbF90b19hY3Rpb25fY2FyZF9oaWRkZW5cIixfLkooXCJMVWhtSWRcIikpO0R3LnNldChcImhlcm9fY2Fyb3VzZWxfY2FsbF90b19hY3Rpb25fY2FyZF9zaG93blwiLF8uSihcIkwyVlAyZFwiKSk7RHcuc2V0KFwiaGlkZVwiLF8uSihcImZMV2hpZlwiKSk7RHcuc2V0KFwiaGlkZVBvc3RzQ29udGFpbmVyXCIsXy5KKFwiZXh4SG5jXCIpKTtEdy5zZXQoXCJoaWRlX2ZlZWRiYWNrX3N0eWxlXCIsXy5KKFwiY0FkUmZmXCIpKTtEdy5zZXQoXCJoaWRlX3BvcHVwXCIsXy5KKFwiWnZSTzRiXCIpKTtEdy5zZXQoXCJoaWRlX3Byb2dyZXNzX2JhclwiLF8uSihcIkRIbVJnZFwiKSk7RHcuc2V0KFwiaGlnaGxpZ2h0X2RpZmZlcmVuY2VzX2NsaWNrXCIsXy5KKFwicTh4RHFkXCIpKTtEdy5zZXQoXCJobGNyZWdcIixfLkooXCJNczdaTFwiKSk7XG5Edy5zZXQoXCJobHRodW1ibG9hZGVkXCIsXy5KKFwibkcxY2FiXCIpKTtEdy5zZXQoXCJobHRodW1icmVnXCIsXy5KKFwiQlg2NVlcIikpO0R3LnNldChcImhya2NfZmlsbGVkXCIsXy5KKFwiaENGendiXCIpKTtEdy5zZXQoXCJoc2VsXCIsXy5KKFwiQ2NSU2VcIikpO0R3LnNldChcImh5YmhkX25vXCIsXy5KKFwidG9wdnpmXCIpKTtEdy5zZXQoXCJoeWJoZF95ZXNcIixfLkooXCJ4VVVsZmJcIikpO0R3LnNldChcImh6X3NhdmVcIixfLkooXCJpNGc0MVwiKSk7RHcuc2V0KFwiaHpfc2F2ZV9kZXNrdG9wXCIsXy5KKFwiUXZTbkFiXCIpKTtEdy5zZXQoXCJpY2FfYmNcIixfLkooXCJ0YUZ4TWJcIikpO0R3LnNldChcImlrcF9rcGhlaWdodGNoYW5nZVwiLF8uSihcIk44cHV2ZFwiKSk7RHcuc2V0KFwiaWtwZF9yZXNldEFsbEZpbHRlcnNcIixfLkooXCJvNnROMmVcIikpO0R3LnNldChcImltX2JiYXJfZm9yeW91XCIsXy5KKFwiUXV4cFplXCIpKTtEdy5zZXQoXCJpbV9jbG9zZVwiLF8uSihcImk4OFFvYlwiKSk7RHcuc2V0KFwiaW1fZ290b19icm93c2VcIixfLkooXCJjZHFRcGJcIikpO1xuRHcuc2V0KFwiaW1fc2V0aG9tZVwiLF8uSihcIm5zVTIxY1wiKSk7RHcuc2V0KFwiaW1fdXBkYXRlX3BwXCIsXy5KKFwiZm0wR2piXCIpKTtEdy5zZXQoXCJpbmNcIixfLkooXCJtMEpUbWNcIikpO0R3LnNldChcImluaXRVc2VyQW5zd2VyXCIsXy5KKFwiQ0dhN1pcIikpO0R3LnNldChcImluaXRfc2VsZWN0aW9uX21lbnVcIixfLkooXCJGZU94TWRcIikpO0R3LnNldChcImlucHV0X3VybF9jaGFuZ2VkX2V2ZW50XCIsXy5KKFwiRDNCcWllXCIpKTtEdy5zZXQoXCJpcV9jbGlja1wiLF8uSihcIkR2M2NoZVwiKSk7RHcuc2V0KFwiaXFfb3BlblwiLF8uSihcInNZZDMyYlwiKSk7RHcuc2V0KFwiaXFjaVwiLF8uSihcIlRxWU5WZVwiKSk7RHcuc2V0KFwiaXFjb1wiLF8uSihcIlV3TkxkYlwiKSk7RHcuc2V0KFwiaXFpXCIsXy5KKFwibGtuT3pjXCIpKTtEdy5zZXQoXCJpcW9cIixfLkooXCJFQXphRWZcIikpO0R3LnNldChcImlzc3VlUXVlcnlcIixfLkooXCJxQzZNTGNcIikpO0R3LnNldChcImlzc3VlUXVlcnlPbkVudGVyXCIsXy5KKFwieXU1SUNmXCIpKTtcbkR3LnNldChcIml0ZW1faW1wcmVzc2lvblwiLF8uSihcInU5R1N5ZFwiKSk7RHcuc2V0KFwiaXRlbV9zZWxlY3Rpb25cIixfLkooXCJPNnhDdWRcIikpO18uT0ZiPV8uSihcIlBkV1NYZVwiKTtEdy5zZXQoXCJpdmdfb1wiLF8uT0ZiKTtEdy5zZXQoXCJpdmxieF9jXCIsXy5KKFwiRmNaeHhkXCIpKTtEdy5zZXQoXCJqYWNrcG90Q29sbGFwc2VcIixfLkooXCJMMmJFVWRcIikpO0R3LnNldChcImpvaW5fY2xpY2tcIixfLkooXCJLcWRSeGVcIikpO0R3LnNldChcImtlZXBfc3Vic2NyaXB0aW9uc19idXR0b25fYWN0aW9uXCIsXy5KKFwiYnZmVnBcIikpO0R3LnNldChcImtlcmNzX2hpZGVcIixfLkooXCJKajRSNWVcIikpO0R3LnNldChcImtlcmNzX3Nob3dcIixfLkooXCJyQ05XQWRcIikpO0R3LnNldChcImtleXdvcmRfY2hhbmdlXCIsXy5KKFwiTWRENzJlXCIpKTtEdy5zZXQoXCJrbm9fc2hyX2Nsb3NlX2J1dHRvbl9jbGlja2VkXCIsXy5KKFwiQVZyd1VcIikpO0R3LnNldChcImtwX2Rpc3BsYXlcIixfLkooXCJnMkNHU2RcIikpO0R3LnNldChcImtwX2V4cGFuZFwiLF8uSihcInZBV08xXCIpKTtcbkR3LnNldChcImt4X2NcIixfLkooXCJxOTkzZmZcIikpO0R3LnNldChcImt4X2VcIixfLkooXCJHWHlRdmZcIikpO0R3LnNldChcImt4X2x1bV90Y1wiLF8uSihcIkFQMGF4ZVwiKSk7RHcuc2V0KFwia3hfdFwiLF8uSihcIkFuUDMwZFwiKSk7RHcuc2V0KFwibGNtX2Nsb3NlX2xpZ2h0Ym94XCIsXy5KKFwiS2JGNTdlXCIpKTtEdy5zZXQoXCJsY21fbGlnaHRib3hfY2xvc2VkXCIsXy5KKFwiWUpNWlViXCIpKTtEdy5zZXQoXCJsY21fbG9hZF9jbG9zZV9saWdodGJveFwiLF8uSihcIlFGUjNkZVwiKSk7RHcuc2V0KFwibGNtX2xvYWRfbGlnaHRib3hcIixfLkooXCJrbGxsZmRcIikpO0R3LnNldChcImxjbV9vcGVuX2xpZ2h0Ym94XCIsXy5KKFwicEQ5SzZlXCIpKTtEdy5zZXQoXCJsaGRfY2xvc2VcIixfLkooXCJaNEhGaWVcIikpO0R3LnNldChcImxoZF9vcGVuX3RpbWVsaW5lXCIsXy5KKFwiYlhWOWRmXCIpKTtEdy5zZXQoXCJsaGRfcmVtb3ZlXCIsXy5KKFwiSm1kM3BkXCIpKTtEdy5zZXQoXCJsaWdodGJveF9iYWNrX2Fycm93X2NsaWNrXCIsXy5KKFwiaEkwVzVkXCIpKTtcbkR3LnNldChcImxpZ2h0Ym94X2Nsb3NlZFwiLF8uSihcImp2cDFqZFwiKSk7RHcuc2V0KFwibGlnaHRib3hfcmVuZGVyZWRcIixfLkooXCJCT0I5WFwiKSk7RHcuc2V0KFwibGlzdF9jb2xsYXBzZVwiLF8uSihcIkNFWW11YlwiKSk7RHcuc2V0KFwibGlzdF9leHBhbmRcIixfLkooXCJ4WnhyRGNcIikpO0R3LnNldChcImxvYWRfYW5zd2Vyc1wiLF8uSihcIllkOWxoY1wiKSk7RHcuc2V0KFwibG9hZF9taW5pX2FwcF9ldnRcIixfLkooXCJubHNyQWZcIikpO0R3LnNldChcImxvY2F0aW9uX2NoYW5nZWRcIixfLkooXCJVVHEzaWJcIikpO0R3LnNldChcImxvZ0ludGVyYWN0aW9uXCIsXy5KKFwiREozdEhcIikpO0R3LnNldChcImxvZ19pbnRlcmFjdGlvblwiLF8uSihcInY5dThlYlwiKSk7RHcuc2V0KFwibHBpX2hpZGVcIixfLkooXCJwNTRkY2VcIikpO0R3LnNldChcImxwaV9zaG93XCIsXy5KKFwiZ1ZtV1BlXCIpKTtEdy5zZXQoXCJscHZ0X2FcIixfLkooXCJZTmRJSGRcIikpO0R3LnNldChcImxwdnRfb2ZwXCIsXy5KKFwic1dpYTFkXCIpKTtcbkR3LnNldChcImxyX21sX3JsXCIsXy5KKFwiakI4TjNiXCIpKTtEdy5zZXQoXCJscmxfZmx0XCIsXy5KKFwiZlVUTTljXCIpKTtEdy5zZXQoXCJscmxfbGZwZnBcIixfLkooXCJjdkVDVWJcIikpO0R3LnNldChcImxybF9tbGRjXCIsXy5KKFwic1E4U1llXCIpKTtEdy5zZXQoXCJscmxfbWx3b1wiLF8uSihcImNsSW5lY1wiKSk7RHcuc2V0KFwibHJsX3ViXCIsXy5KKFwiYmVXY3NcIikpO0R3LnNldChcImxybF91ZnBcIixfLkooXCJxZmZpTFwiKSk7RHcuc2V0KFwibHJsX3VtYXBcIixfLkooXCJtSGt5bGVcIikpO0R3LnNldChcImxybGhfbWx0XCIsXy5KKFwiZ1BDR09lXCIpKTtEdy5zZXQoXCJsdGNfY3RcIixfLkooXCJxbFh2a2RcIikpO0R3LnNldChcImx0Y19oZlwiLF8uSihcIml4Qk5SYlwiKSk7RHcuc2V0KFwibHRjX2huZlwiLF8uSihcIk5HUVNYYlwiKSk7RHcuc2V0KFwibHRjX3VtaFwiLF8uSihcIlNHSUdPXCIpKTtEdy5zZXQoXCJsdGRfZHRzX29cIixfLkooXCJPWE5Ma2RcIikpO0R3LnNldChcImx0ZF9kdHNfc2VsZWN0XCIsXy5KKFwiYjhhRkljXCIpKTtcbkR3LnNldChcImx0ZGxfb1wiLF8uSihcIkVBYzNcIikpO0R3LnNldChcImx0ZGxfdVwiLF8uSihcIkRFSTVnZFwiKSk7RHcuc2V0KFwibHRzc2NcIixfLkooXCJLRGZveFwiKSk7RHcuc2V0KFwibHVkX2hwXCIsXy5KKFwiU1pqVFNcIikpO0R3LnNldChcImx1ZF9zcFwiLF8uSihcImZGYmNuXCIpKTtfLlBGYj1fLkooXCJER3kyQWVcIik7RHcuc2V0KFwibHVoX25ld19kYXRlc1wiLF8uUEZiKTtfLlFGYj1fLkooXCJMajZvSmZcIik7RHcuc2V0KFwibHVoX25ld19vY2N1cGFuY3lcIixfLlFGYik7RHcuc2V0KFwibHVwcWFfcmNcIixfLkooXCJVa2JVYmNcIikpO0R3LnNldChcImx1cl9hY1wiLF8uSihcImt3TTM3Y1wiKSk7RHcuc2V0KFwibHVyX2RjXCIsXy5KKFwibGE0Q1JlXCIpKTtEdy5zZXQoXCJsdXJfaGJoXCIsXy5KKFwiVWxkWXJlXCIpKTtEdy5zZXQoXCJsdXJfaHRcIixfLkooXCJSTFZOd2NcIikpO0R3LnNldChcImx1cl9pcGNcIixfLkooXCJRWmlOT2JcIikpO0R3LnNldChcImx1cl9tY2FcIixfLkooXCJnWVowbWNcIikpO0R3LnNldChcImx1cl9tY2FfbW9cIixfLkooXCJjS25lVWJcIikpO1xuRHcuc2V0KFwibHVyX21vX3JlZGlyZWN0XCIsXy5KKFwiUlA0TXhiXCIpKTtEdy5zZXQoXCJsdXJfbW9fc2hvd1wiLF8uSihcIkJhZkFDY1wiKSk7RHcuc2V0KFwibHVyX21vX3NraXBcIixfLkooXCJMeldEZ1wiKSk7RHcuc2V0KFwibHVyX21vYVwiLF8uSihcImI2R0F1ZFwiKSk7RHcuc2V0KFwibHVyX21vYlwiLF8uSihcInpJb2tzZVwiKSk7RHcuc2V0KFwibHVyX21vcmVcIixfLkooXCJja2JWRWZcIikpO0R3LnNldChcImx1cl9wY2FcIixfLkooXCJ0T244c2NcIikpO0R3LnNldChcImx1cl9wY3BcIixfLkooXCJrVTJzaFwiKSk7RHcuc2V0KFwibHVyX3FsXCIsXy5KKFwiSzFOZmllXCIpKTtEdy5zZXQoXCJsdXJfcm9hXCIsXy5KKFwiaFRWeGhcIikpO0R3LnNldChcIm1hbmFnZVBob3Rvc1wiLF8uSihcIlozV3UzYlwiKSk7RHcuc2V0KFwibWFwUmVzdWx0Q2xpY2tlZFwiLF8uSihcIkRlU0M1ZFwiKSk7RHcuc2V0KFwibWFwUmVzdWx0Rm9jdXNlZFwiLF8uSihcImxmT0liZFwiKSk7RHcuc2V0KFwibWFwUmVzdWx0VW5mb2N1c2VkXCIsXy5KKFwiTGQxRHBcIikpO1xuRHcuc2V0KFwibWFwX21lYXNsZV9jbGlja2VkXCIsXy5KKFwidER3cDFiXCIpKTtEdy5zZXQoXCJtYXBzbGl0ZV9jb2xsYXBzZVwiLF8uSihcIlFGRjNtY1wiKSk7RHcuc2V0KFwibWFwc2xpdGVfZXhwYW5kXCIsXy5KKFwiTGZ2SFhjXCIpKTtEdy5zZXQoXCJtYXliZV9jbG9zZV9kaWFsb2dcIixfLkooXCJCcGFVZ2JcIikpO0R3LnNldChcIm1lbnVfaXRlbV9ob3ZlclwiLF8uSihcInFzRmdvY1wiKSk7RHcuc2V0KFwibWVudV9pdGVtX3NlbGVjdFwiLF8uSihcIkQ4TGI5YlwiKSk7RHcuc2V0KFwibWljX2NcIixfLkooXCJob0k5SGZcIikpO0R3LnNldChcIm1pY19xXCIsXy5KKFwiVHNJUVFcIikpO0R3LnNldChcIm1pbmVzd2VlcGVyX2Nsb3NlZFwiLF8uSihcIm4zR0VkZVwiKSk7RHcuc2V0KFwibWluZXN3ZWVwZXJfY2xvc2VkX3JlYWxseVwiLF8uSihcIlNRbnhTYlwiKSk7RHcuc2V0KFwibWlzc2luZ0ZhY3RzX3N1Ym1pdFwiLF8uSihcIkZETFRCXCIpKTtEdy5zZXQoXCJtbHpjX2luXCIsXy5KKFwiRG1kc0ViXCIpKTtEdy5zZXQoXCJtbHpjX291dFwiLF8uSihcIks0QmFYXCIpKTtcbkR3LnNldChcIm1vcmVfZGV0YWlsc19leHBhbmRcIixfLkooXCJ2V3luS2RcIikpO0R3LnNldChcIm1vcmVfZWRpdG9yaWFsX3Jldmlld3NfZXhwYW5kXCIsXy5KKFwiZnA2WXpjXCIpKTtEdy5zZXQoXCJtb3JlX3Jldmlld3NfZXhwYW5kXCIsXy5KKFwiTVMwemFkXCIpKTtEdy5zZXQoXCJtb3JlX3NlbGxlcnNfZXhwYW5kXCIsXy5KKFwienlPSEFlXCIpKTtEdy5zZXQoXCJtb3J0Z2FnZV9qb3VybmV5X3N3aXRjaF9jYXJkX3ZhcmlhbnRcIixfLkooXCJvRTlHeWJcIikpO0R3LnNldChcIm10bF9ub1wiLF8uSihcIlk4VGZZYlwiKSk7RHcuc2V0KFwibXRsX29wZW5fdGltZWxpbmVcIixfLkooXCJ0MkxYeWNcIikpO0R3LnNldChcIm10bF9vcGVuX3Zpc2l0X2luX3RpbWVsaW5lXCIsXy5KKFwiTFZENGZiXCIpKTtEdy5zZXQoXCJtdGxfeWVzXCIsXy5KKFwiZHVCUmtjXCIpKTtEdy5zZXQoXCJuYXZpZ2F0ZVRvTGlzdFwiLF8uSihcIm5oa1dBY1wiKSk7RHcuc2V0KFwibmVhcmJ5X2RhdGFfY2FuY2VsbGVkXCIsXy5KKFwiVkJDVjViXCIpKTtcbkR3LnNldChcIm5lYXJieV9kYXRhX2NoYW5nZWRcIixfLkooXCJ0NlVsblwiKSk7RHcuc2V0KFwibmVhcmJ5X2ZvY3VzX2NoYW5nZWRcIixfLkooXCJheXlKemNcIikpO0R3LnNldChcIm5lYXJieV9yZXNldFwiLF8uSihcInFDREdBY1wiKSk7RHcuc2V0KFwibmVhcmJ5X3NlbGVjdGlvbl9jaGFuZ2VkXCIsXy5KKFwiVjVDVGRlXCIpKTtEdy5zZXQoXCJuZWFyYnlfdmlzaWJsZVwiLF8uSihcIms0SldrYlwiKSk7RHcuc2V0KFwibmV3TGlzdENsaWNrXCIsXy5KKFwiYmJ6djhjXCIpKTtEdy5zZXQoXCJuZXdfbGlzdF9uYW1lX2lucHV0XCIsXy5KKFwicHByOUxlXCIpKTtEdy5zZXQoXCJuZXdfc2hlZXRfbmFtZV9pbnB1dFwiLF8uSihcImZoNzYwZVwiKSk7RHcuc2V0KFwibmV3c2xpc2JvbmFtcHZpc1wiLF8uSihcIkI3YkNiZlwiKSk7RHcuc2V0KFwibmV4dF9yb3VuZF9idXR0b25fYWN0aW9uXCIsXy5KKFwiRlN0cmJlXCIpKTtEdy5zZXQoXCJuaGhfaGhcIixfLkooXCJ4M3NVTGNcIikpO0R3LnNldChcIm5oaF9zaFwiLF8uSihcIkR2OVVQZVwiKSk7XG5Edy5zZXQoXCJub1wiLF8uSihcIkpSajdiXCIpKTtEdy5zZXQoXCJub192b3RlXCIsXy5KKFwiQzVLN2lkXCIpKTtEdy5zZXQoXCJub3Rfc3VyZV92b3RlXCIsXy5KKFwic1lBUlViXCIpKTtEdy5zZXQoXCJub3RoaW5nXCIsXy5KKFwiSWZtWUtjXCIpKTtEdy5zZXQoXCJvYWVcIixfLkooXCJ6ZkdiWFwiKSk7RHcuc2V0KFwib2NjdXBhbmN5SXRlbVNlbGVjdFwiLF8uSihcInRxVm5aZFwiKSk7RHcuc2V0KFwib2NjdXBhbmN5VGlwU2VsZWN0XCIsXy5KKFwiWVdkRVNjXCIpKTtEdy5zZXQoXCJvbF9zY2VcIixfLkooXCJKckZudVwiKSk7RHcuc2V0KFwib2xpX2lzZVwiLF8uSihcIk5QbTlvZlwiKSk7RHcuc2V0KFwib25EZXBhcnR1cmVDaGFuZ2VcIixfLkooXCJvc0Y2U2JcIikpO0R3LnNldChcIm9uRGVwYXJ0dXJlQ2xpY2tcIixfLkooXCJ1YUkzRmNcIikpO0R3LnNldChcIm9uRGVwYXJ0dXJlS2V5ZG93blwiLF8uSihcIk5uSWZwYlwiKSk7RHcuc2V0KFwib25LZXl1cFwiLF8uSihcInR2MW9rYlwiKSk7RHcuc2V0KFwib25SZXR1cm5DaGFuZ2VcIixfLkooXCJsN2FCM1wiKSk7XG5Edy5zZXQoXCJvblJldHVybkNsaWNrXCIsXy5KKFwiZlNUZmpiXCIpKTtEdy5zZXQoXCJvblJldHVybktleWRvd25cIixfLkooXCJDUmxlZlwiKSk7RHcuc2V0KFwib25TdWJtaXRcIixfLkooXCJicVl6emVcIikpO0R3LnNldChcIm9uVGV4dEFyZWFCbHVyXCIsXy5KKFwiV2VYNUFcIikpO0R3LnNldChcIm9uVGV4dEFyZWFGb2N1c1wiLF8uSihcImNDNTFmZFwiKSk7RHcuc2V0KFwib25VbmRvRGVsZXRlXCIsXy5KKFwidWRrdjljXCIpKTtEdy5zZXQoXCJvblVuZG9Qb3N0XCIsXy5KKFwiSk5kRmFiXCIpKTtEdy5zZXQoXCJvbl9jbGlja1wiLF8uSihcIng2Q045ZFwiKSk7RHcuc2V0KFwib3BlbkFnZW5jeUZ1bGxQYWdlVmlld1wiLF8uSihcInFXTTlQYlwiKSk7RHcuc2V0KFwib3BlbkFzeW5jSVZcIixfLkooXCJaRWo2RmNcIikpO0R3LnNldChcIm9wZW5CaWxsaW5nXCIsXy5KKFwibmpoTWtlXCIpKTtEdy5zZXQoXCJvcGVuQ29tcEltbWVyc2l2ZVwiLF8uSihcImQzcHdmXCIpKTtEdy5zZXQoXCJvcGVuRWRpdFBhZ2VJZnJhbWVcIixfLkooXCJ3OEx1R2JcIikpO1xuRHcuc2V0KFwib3BlbkV4aXN0ZW5jZVBhZ2VJZnJhbWVcIixfLkooXCJpNGZiQWVcIikpO0R3LnNldChcIm9wZW5GcFN0YXRlXCIsXy5KKFwiTTJwNFVkXCIpKTtEdy5zZXQoXCJvcGVuSVZcIixfLkooXCJnMVdwRWZcIikpO0R3LnNldChcIm9wZW5Mb2NhdGlvbkVycm9yTGVhcm5Nb3JlXCIsXy5KKFwicUdrdVRjXCIpKTtEdy5zZXQoXCJvcGVuTW9kYWxPbkVudGVyXCIsXy5KKFwiQ0FZbEFcIikpO0R3LnNldChcIm9wZW5PcGVuaW5nRGF0ZVBhZ2VJZnJhbWVcIixfLkooXCJ6cG5YOFwiKSk7RHcuc2V0KFwib3BlblJJVlwiLF8uSihcInFvVDJoZFwiKSk7RHcuc2V0KFwib3BlblJldmlld3NcIixfLkooXCJTZnRYUWJcIikpO0R3LnNldChcIm9wZW5SZXZpZXdzUGFnZVwiLF8uSihcImFheGZGY1wiKSk7RHcuc2V0KFwib3Blbl9icm93c2VcIixfLkooXCJoekljeWNcIikpO0R3LnNldChcIm9wZW5fY29udGVzdGFudF9kaWFsb2dcIixfLkooXCJUYXM5MVwiKSk7RHcuc2V0KFwib3Blbl9jb3VudHJ5X21lbnVcIixfLkooXCJHMDVPUWJcIikpO1xuRHcuc2V0KFwib3Blbl9jdXJyZW5jeV9tZW51XCIsXy5KKFwiR012UjlcIikpO0R3LnNldChcIm9wZW5fZGlhbG9nXCIsXy5KKFwiQkV5SjBiXCIpKTtEdy5zZXQoXCJvcGVuX2VwXCIsXy5KKFwiRTRGdDVlXCIpKTtEdy5zZXQoXCJvcGVuX2ZlZWRiYWNrXCIsXy5KKFwicWxkR0pkXCIpKTtfLlJGYj1fLkooXCJuQU94dmNcIik7RHcuc2V0KFwib3Blbl9mb2N1c19zdGF0ZVwiLF8uUkZiKTtEdy5zZXQoXCJvcGVuX2ltbWVyc2l2ZV9mcm9tX2Zvb3RlclwiLF8uSihcIktYNkNwYlwiKSk7RHcuc2V0KFwib3Blbl9pbW1lcnNpdmVfZnJvbV9zZWVfbW9yZVwiLF8uSihcInpOSjJXY1wiKSk7RHcuc2V0KFwib3Blbl9pbW1lcnNpdmVfZnJvbV92aWV3X21vcmVfZm9vdGVyXCIsXy5KKFwiQ1VCTlhkXCIpKTtEdy5zZXQoXCJvcGVuX2ltbWVyc2l2ZV9saXN0XCIsXy5KKFwiekxJYmVkXCIpKTtEdy5zZXQoXCJvcGVuX2xhbmd1YWdlX21lbnVcIixfLkooXCJ3MjRmTGRcIikpO0R3LnNldChcIm9wZW5fbGlua1wiLF8uSihcIkQyYzBqZVwiKSk7XG5Edy5zZXQoXCJvcGVuX2xveWFsdHlfY2FyZF9kaWFsb2dcIixfLkooXCJWQXNGOWNcIikpO0R3LnNldChcIm9wZW5fcHJpY2VfZmluZGVyX2FpcnBvcnRzX3RhYlwiLF8uSihcIk9EUmdsXCIpKTtEdy5zZXQoXCJvcGVuX3ByaWNlX2ZpbmRlcl9kYXRlc190YWJcIixfLkooXCJMQ1JrSVwiKSk7RHcuc2V0KFwib3Blbl9wcmljZV9maW5kZXJfdHJlbmRzX3RhYlwiLF8uSihcIllncnpsZVwiKSk7RHcuc2V0KFwib3Blbl9zaGFyaW5nXCIsXy5KKFwiZGd2elJkXCIpKTtEdy5zZXQoXCJvcGVuX3doeV90aGlzX3Jlc3VsdF9kaWFsb2dcIixfLkooXCJsNm5IZ2ZcIikpO0R3LnNldChcIm9wZW5lZFwiLF8uSihcIlVyVVdCZVwiKSk7RHcuc2V0KFwib3BlbnZpZGVvXCIsXy5KKFwidW91bmpiXCIpKTtEdy5zZXQoXCJvcnRcIixfLkooXCJ5OGNtNlwiKSk7RHcuc2V0KFwicGFnZV9jbG9zZVwiLF8uSihcIkE2U0RRZVwiKSk7RHcuc2V0KFwicGFnaW5hdGlvblwiLF8uSihcImpyR0NUZVwiKSk7RHcuc2V0KFwicGFnaW5hdGlvbl9jbGlja1wiLF8uSihcIm5lNVFqY1wiKSk7XG5Edy5zZXQoXCJwYXRod2F5c19jZFwiLF8uSihcImZZVE42XCIpKTtEdy5zZXQoXCJwYXRod2F5c19talwiLF8uSihcIm11QnBWYlwiKSk7RHcuc2V0KFwicGF1c2VcIixfLkooXCJOZDBGVVwiKSk7RHcuc2V0KFwicGdfYXNcIixfLkooXCJscXJPYWJcIikpO0R3LnNldChcInBnX2luaXRcIixfLkooXCJYMXRrcFwiKSk7RHcuc2V0KFwicGdfcmVzZXRcIixfLkooXCJkYWxzbVwiKSk7RHcuc2V0KFwicGdfcmVzaXplXCIsXy5KKFwiU2JLdG1lXCIpKTtEdy5zZXQoXCJwZ19yc1wiLF8uSihcIk1UODI3ZVwiKSk7RHcuc2V0KFwicGdfc2Nyb2xsX2J5XCIsXy5KKFwiclI2ek5jXCIpKTtEdy5zZXQoXCJwZ19zZWxlY3RcIixfLkooXCJjeEJyRmRcIikpO0R3LnNldChcInBnX3Zpc2libGVcIixfLkooXCJhaFJINWRcIikpO0R3LnNldChcInBnX3dkXCIsXy5KKFwiWDdtcUdmXCIpKTtEdy5zZXQoXCJwaG9uZV9udW1iZXJfaW5wdXRfY2hhbmdlXCIsXy5KKFwibXV3ZGNiXCIpKTtEdy5zZXQoXCJwbGFiX2ZpbGxlZFwiLF8uSihcImtKQ3hhY1wiKSk7XG5Edy5zZXQoXCJwbGFjZV9pbXByZXNzaW9uXCIsXy5KKFwiUHBqT1FiXCIpKTtEdy5zZXQoXCJwbGFjZV9saXN0X2ltcHJlc3Npb25cIixfLkooXCJDWGNTYmZcIikpO0R3LnNldChcInBsYWNlX2xpc3Rfc2VsZWN0aW9uXCIsXy5KKFwiUTNNM3BcIikpO0R3LnNldChcInBsYWNlX3NlbGVjdGlvblwiLF8uSihcIkJOSTB0ZVwiKSk7RHcuc2V0KFwicGxheVwiLF8uSihcIlBYRWlrZlwiKSk7RHcuc2V0KFwicG9zdFwiLF8uSihcIlhWU1ZKXCIpKTtEdy5zZXQoXCJwb3N0UXVlc3Rpb25cIixfLkooXCJyM0I5b2RcIikpO0R3LnNldChcInBvc3RfcmV2aWV3XCIsXy5KKFwiczdoN0tiXCIpKTtEdy5zZXQoXCJwcF9hcHBseVwiLF8uSihcIkd6dVJPZFwiKSk7RHcuc2V0KFwicHBfY3JcIixfLkooXCJpR0ppR2NcIikpO0R3LnNldChcInBwX3RyYW5zaXRcIixfLkooXCJxc1VWV2JcIikpO0R3LnNldChcInBwbF9uZXdfbGlzdF9zYXZlXCIsXy5KKFwiRU9xSXFjXCIpKTtEdy5zZXQoXCJwcGxkY19jYW5jZWxcIixfLkooXCJ4cGcydGRcIikpO0R3LnNldChcInBwbGRjX3N1Ym1pdFwiLF8uSihcImdRM0luYlwiKSk7XG5Edy5zZXQoXCJwcGxpX3ZhbGlkaXR5X2NoYW5nZVwiLF8uSihcIkU1T0lQYlwiKSk7RHcuc2V0KFwicHFhX3JlZnJcIixfLkooXCJVaWdZWmNcIikpO0R3LnNldChcInBxYV9ybGRcIixfLkooXCJNQzJRdWJcIikpO0R3LnNldChcInBxYXBxXCIsXy5KKFwiZjFkTFRkXCIpKTtEdy5zZXQoXCJwcmV2cmVnXCIsXy5KKFwiSHlnc0tmXCIpKTtEdy5zZXQoXCJwcml2YWN5X3JlbWluZGVyX2Fja1wiLF8uSihcIlphbjB4YlwiKSk7RHcuc2V0KFwicHJvZHVjdF92aWV3ZXJfY2xvc2VcIixfLkooXCJwdzdscmNcIikpO0R3LnNldChcInByb21vX2hpZGRlblwiLF8uSihcIlZWMnczZVwiKSk7RHcuc2V0KFwicHJzX2J0blwiLF8uSihcIlNBOFE3ZFwiKSk7RHcuc2V0KFwicHJzX2RsdGJcIixfLkooXCJFT1pkSWZcIikpO0R3LnNldChcInByc19kcmNcIixfLkooXCJxaEF5ZGVcIikpO0R3LnNldChcInByc19lcWJcIixfLkooXCJpNW85eGRcIikpO0R3LnNldChcInByc19pbnZiXCIsXy5KKFwiZVVDWWRcIikpO0R3LnNldChcInB0X3Zpc2libGVcIixfLkooXCJZUW9SZWRcIikpO1xuRHcuc2V0KFwicHRfd2RcIixfLkooXCJ3TXcyemNcIikpO0R3LnNldChcInB2X29wZW5cIixfLkooXCJvTE1SWWJcIikpO0R3LnNldChcInB3X2Nsb3NlX2hlbHBfYnViYmxlXCIsXy5KKFwiQlhQSWZjXCIpKTtEdy5zZXQoXCJwd19leHBhbmRfbGlzdFwiLF8uSihcImxyYTlTZFwiKSk7RHcuc2V0KFwicV9mbHRyXCIsXy5KKFwiUU1DUXNiXCIpKTtEdy5zZXQoXCJxbXBfYWNjZXB0ZWRcIixfLkooXCJxMlNPdWNcIikpO0R3LnNldChcInFtcF9jbG9zZWRfZXh0ZXJuYWxfaW50ZXJhY3Rpb25cIixfLkooXCJHbFZCWGRcIikpO0R3LnNldChcInFtcF9kaXNtaXNzZWRcIixfLkooXCJDeXV4Z1wiKSk7RHcuc2V0KFwicW1wX2ltcHJlc3Npb25cIixfLkooXCJTQ2F4SGVcIikpO0R3LnNldChcInJfZHJvcGRvd25cIixfLkooXCJiRnlIUWNcIikpO0R3LnNldChcInJfZmV0Y2hcIixfLkooXCJNQ1htWGVcIikpO0R3LnNldChcInJfbGVzc1wiLF8uSihcImxRc1JNZVwiKSk7RHcuc2V0KFwicl9tb3JlXCIsXy5KKFwiTTdWUFwiKSk7XG5Edy5zZXQoXCJyYWRpb19idXR0b25fc2VsZWN0XCIsXy5KKFwib1lyNm1iXCIpKTtEdy5zZXQoXCJyYXRlc190YWJfZGF0ZV91cGRhdGVkXCIsXy5KKFwibGhGMmhmXCIpKTtEdy5zZXQoXCJyYXRpbmdfcmV2aWV3c19maWx0ZXJfY2hhbmdlZFwiLF8uSihcIkZSYlI2ZFwiKSk7RHcuc2V0KFwicmJfc2VsXCIsXy5KKFwiRHlKZVdlXCIpKTtEdy5zZXQoXCJyZWRpcmVjdFwiLF8uSihcIlBvWHdPZVwiKSk7RHcuc2V0KFwicmVmaW5lbWVudF9jbGlja1wiLF8uSihcIlBRVWZBY1wiKSk7RHcuc2V0KFwicmVmcmVzaFwiLF8uSihcIm41U1FyZFwiKSk7RHcuc2V0KFwicmVsb2FkXCIsXy5KKFwiUzlndzNcIikpO0R3LnNldChcInJlbG9hZEJlZ2luXCIsXy5KKFwicEZhT0lcIikpO0R3LnNldChcInJlbG9hZENvbXBsZXRlXCIsXy5KKFwib2tkRkVmXCIpKTtEdy5zZXQoXCJyZW1vdmVWYWx1ZVwiLF8uSihcInJJSUJTZVwiKSk7RHcuc2V0KFwicmVtb3ZlX2NhdGVnb3J5XCIsXy5KKFwiRWRJTWhiXCIpKTtEdy5zZXQoXCJyZW1vdmVfcmVsYXRlZF9wcm9kdWN0X2NsaWNrXCIsXy5KKFwiQTdpcGRmXCIpKTtcbkR3LnNldChcInJlbW92ZV9zbGljZVwiLF8uSihcInIxdU94Y1wiKSk7RHcuc2V0KFwicmVuZGVyZWRcIixfLkooXCJZYW5hMmJcIikpO0R3LnNldChcInJlcGVhdExhc3RUb2dnbGVcIixfLkooXCJYeFFRbWVcIikpO0R3LnNldChcInJlcG9ydEFidXNlXCIsXy5KKFwiSnl0WEJkXCIpKTtEdy5zZXQoXCJyZXBvcnRBYnVzZUNsb3NlZFwiLF8uSihcImxsUEc2YlwiKSk7RHcuc2V0KFwicmVwb3J0QWJ1c2VDb21wbGV0ZWRcIixfLkooXCJDMEpVbWJcIikpO0R3LnNldChcInJlc2V0XCIsXy5KKFwibFduUUVkXCIpKTtEdy5zZXQoXCJyZXNldEFuc3dlckVsdFZpc2liaWxpdHlcIixfLkooXCJ3ekZnYmRcIikpO0R3LnNldChcInJlc2V0X2ZpbHRlclwiLF8uSihcIlVVN25YY1wiKSk7RHcuc2V0KFwicmVzZXRfZmlsdGVyc1wiLF8uSihcIlBJUDhnZVwiKSk7RHcuc2V0KFwicmVzZXRfcHJlZnNcIixfLkooXCJyVlBzWWNcIikpO0R3LnNldChcInJlc2l6ZURpYWxvZ1wiLF8uSihcIlYyZDRpY1wiKSk7RHcuc2V0KFwicmV0cnlcIixfLkooXCJFM0J2YmNcIikpO1xuRHcuc2V0KFwicmV0cnlDcmVhdGVcIixfLkooXCJCQ251cGJcIikpO0R3LnNldChcInJldmlld19jaGFuZ2VcIixfLkooXCJmR3VEaGZcIikpO0R3LnNldChcInJmdGRfY2FuY2VsXCIsXy5KKFwiTHJGVEJcIikpO0R3LnNldChcInJmdGRfY29uZmlybVwiLF8uSihcIm81TXhJXCIpKTtEdy5zZXQoXCJyaVwiLF8uSihcImpTZ0NTYlwiKSk7RHcuc2V0KFwicml2UmVwb3J0XCIsXy5KKFwiYjR5eFhiXCIpKTtEdy5zZXQoXCJyaXZSZXBvcnRDbG9zZVwiLF8uSihcInJDTDdNZFwiKSk7RHcuc2V0KFwicnJlX2ZpbGxlZFwiLF8uSihcIktFYjB5ZFwiKSk7RHcuc2V0KFwicnJlX2xvYWRpbmdcIixfLkooXCJLc3lma2NcIikpO0R3LnNldChcInJzX2NoYW5nZVwiLF8uSihcIkZYRWZVZVwiKSk7RHcuc2V0KFwicnNfZHJhZ1wiLF8uSihcIkZjSkg2ZVwiKSk7RHcuc2V0KFwicnZjX2xvYWRlZFwiLF8uSihcIlc2U0lIZFwiKSk7RHcuc2V0KFwic19taXNcIixfLkooXCJDZEI5d2NcIikpO0R3LnNldChcInNhZV9hdHRyaWJ1dGVfdmFsdWVfY2hhbmdlZFwiLF8uSihcIlRyTG43ZFwiKSk7XG5Edy5zZXQoXCJzYWVfZW51bV9lbnRyeXBvaW50X2NsaWNrZWRcIixfLkooXCJlNVpBaGZcIikpO0R3LnNldChcInNhZV9lbnVtX3ZhbHVlX2NoYW5nZWRcIixfLkooXCJnUlRudmZcIikpO0R3LnNldChcInNhZV9maW5pc2hlZFwiLF8uSihcIlFSejgzY1wiKSk7RHcuc2V0KFwic2FlX3NlbmRcIixfLkooXCJRUFpib2RcIikpO0R3LnNldChcInNhdmVBbmRDbG9zZURpYWxvZ1wiLF8uSihcInkzVmRqY1wiKSk7RHcuc2V0KFwic2F2ZUFuZENsb3NlUGFnZVwiLF8uSihcIlh4b0Q5Y1wiKSk7RHcuc2V0KFwic2F2ZV9maWxcIixfLkooXCJmV2RvSGNcIikpO0R3LnNldChcInNhdmVfbG9jXCIsXy5KKFwiRWJZcmhcIikpO0R3LnNldChcInNiX2FwcGx5X25ld19xdWVyeVwiLF8uSihcInNqSTBiZFwiKSk7RHcuc2V0KFwic2JfY2xlYXJfcXVlcnlcIixfLkooXCJvUE1ncWVcIikpO0R3LnNldChcInNiX2Rpc21pc3Nfc2JfcHJvbW9cIixfLkooXCJ3MG5GTmVcIikpO0R3LnNldChcInNiX29wZW5PdmVybGF5XCIsXy5KKFwiVFB2bGRjXCIpKTtcbkR3LnNldChcInNiY19pbml0XCIsXy5KKFwia0JCdGxmXCIpKTtEdy5zZXQoXCJzYmNfcmJcIixfLkooXCJFTVZndGRcIikpO0R3LnNldChcInNiY19yclwiLF8uSihcInk5MkpnXCIpKTtEdy5zZXQoXCJzYmNfcnNcIixfLkooXCJheXdyRGZcIikpO0R3LnNldChcInNiY19yeVwiLF8uSihcIlQ0UVlJYlwiKSk7RHcuc2V0KFwic2JjX3NjXCIsXy5KKFwiR3B5V2RcIikpO0R3LnNldChcInNiY19zdVwiLF8uSihcImdrQW5tYlwiKSk7RHcuc2V0KFwic2NcIixfLkooXCJMNWp5c2RcIikpO0R3LnNldChcInNjX2RtXCIsXy5KKFwicVZOMFJjXCIpKTtEdy5zZXQoXCJzY19lbVwiLF8uSihcIk9hQW1kZFwiKSk7RHcuc2V0KFwic2NfZlwiLF8uSihcIko1U2dqZFwiKSk7RHcuc2V0KFwic2NfbmZcIixfLkooXCJzRVowbmJcIikpO18uU0ZiPV8uSihcIkpuR3pBY1wiKTtEdy5zZXQoXCJzY19yZmlyXCIsXy5TRmIpO0R3LnNldChcInNjX3NjXCIsXy5KKFwiT1c5UjNlXCIpKTtEdy5zZXQoXCJzY2NfaXJcIixfLkooXCJBOEYyd2NcIikpO0R3LnNldChcInNjY19pdVwiLF8uSihcIk5kTktJY1wiKSk7XG5Edy5zZXQoXCJzY2Nfb3VcIixfLkooXCJuVVFvc2NcIikpO0R3LnNldChcInNjc19jaGFuZ2VcIixfLkooXCJJdENZeWZcIikpO0R3LnNldChcInNjc19jaGFuZ2VkXCIsXy5KKFwiUWFNc2VjXCIpKTtEdy5zZXQoXCJzZWFyY2hSZXN1bHRTZWxlY3RcIixfLkooXCJhRmdlb1wiKSk7RHcuc2V0KFwic2VhdGluZ19jbGFzc19zZWxlY3RlZFwiLF8uSihcIlZUb25DY1wiKSk7RHcuc2V0KFwic2VlX2Z1bGxfZGVmaW5pdGlvblwiLF8uSihcIkxlc25hZVwiKSk7RHcuc2V0KFwic2VsZWN0XCIsXy5KKFwiQ0xkVmpkXCIpKTtEdy5zZXQoXCJzZWxlY3REYXRlXCIsXy5KKFwiRFVBVlFkXCIpKTtEdy5zZXQoXCJzZWxlY3RfZGF0ZVwiLF8uSihcImg0YUtOY1wiKSk7RHcuc2V0KFwic2VsZWN0X2ZpbHRlclwiLF8uSihcIm5EUmV2ZVwiKSk7RHcuc2V0KFwic2VsZWN0X2ljb25cIixfLkooXCJNZHdndGVcIikpO0R3LnNldChcInNlbGVjdF90YWJcIixfLkooXCJEYnpaOGVcIikpO0R3LnNldChcInNlbGVjdF90aW1lXCIsXy5KKFwiaWZva2hiXCIpKTtcbkR3LnNldChcInNlbGVjdF92YXJpYW50XCIsXy5KKFwieTI1NVNkXCIpKTtEdy5zZXQoXCJzZWxlY3RlZF9kYXlfbW9yZV9pbmZvXCIsXy5KKFwiV3JtSHdcIikpO0R3LnNldChcInNlbmRfYnV0dG9uXCIsXy5KKFwibDVWUW9kXCIpKTtEdy5zZXQoXCJzZW5pb3JpdHlfY2hlY2tib3hfY2hhbmdlXCIsXy5KKFwiWUswekViXCIpKTtEdy5zZXQoXCJzZXRfYWN0aXZlX2luZGV4XCIsXy5KKFwiV2FRQXFmXCIpKTtEdy5zZXQoXCJzZXRfdmFsdWVcIixfLkooXCJYbmhTTmNcIikpO0R3LnNldChcInNmb2RcIixfLkooXCJXRDhGYmRcIikpO0R3LnNldChcInNmc2RcIixfLkooXCJGY0ZaQmNcIikpO0R3LnNldChcInNnX2Rlc3Ryb3lcIixfLkooXCJ1a0MweGZcIikpO0R3LnNldChcInNnX2VudGVyXCIsXy5KKFwieXlJY1dlXCIpKTtEdy5zZXQoXCJzZ19mb3JjZV9yZW5kZXJcIixfLkooXCJPNFlqZ2NcIikpO0R3LnNldChcInNnX2luaXRcIixfLkooXCJRWFhUQmNcIikpO0R3LnNldChcInNnX2xlYXZlXCIsXy5KKFwid2xTWDFiXCIpKTtEdy5zZXQoXCJzZ19yZW5kZXJcIixfLkooXCJsT1piZmJcIikpO1xuRHcuc2V0KFwic2dfcmVxdWVzdF9zY3JvbGxcIixfLkooXCJxdmVJdFwiKSk7RHcuc2V0KFwic2dfcmVzZXRcIixfLkooXCJVTmdia2VcIikpO0R3LnNldChcInNnX3Jlc2l6ZVwiLF8uSihcIklEbVVIY1wiKSk7RHcuc2V0KFwic2dfc2Nyb2xsXCIsXy5KKFwiVFljd05lXCIpKTtEdy5zZXQoXCJzZ19zY3JvbGxfZW5kXCIsXy5KKFwiT2tkZkNcIikpO0R3LnNldChcInNnX3Njcm9sbF90b1wiLF8uSihcIm5ITmxKZFwiKSk7RHcuc2V0KFwic2dfc2VsZWN0XCIsXy5KKFwieFBZcmhmXCIpKTtEdy5zZXQoXCJzaG9ydF9yZXZpZXdfc25pcHBldFwiLF8uSihcImpLa2Q1YlwiKSk7RHcuc2V0KFwic2hvd1wiLF8uSihcImlwSnpVZVwiKSk7RHcuc2V0KFwic2hvd1Bvc3RzQ29udGFpbmVyXCIsXy5KKFwiekdCcndmXCIpKTtEdy5zZXQoXCJzaG93UHJpY2VUcmFja2VyQ2FsbG91dFwiLF8uSihcIkxhSUNpZVwiKSk7RHcuc2V0KFwic2hvd1F1ZXN0aW9uc1wiLF8uSihcImVDUTdMY1wiKSk7RHcuc2V0KFwic2hvd1JlcG9ydEFidXNlXCIsXy5KKFwiQ21hdGdlXCIpKTtcbkR3LnNldChcInNob3dTaW5nbGVRdWVzdGlvblwiLF8uSihcInhmaXV1ZVwiKSk7RHcuc2V0KFwic2hvd1doZXJlVG9XYXRjaENvbnRlbnRcIixfLkooXCJmaTZRRmNcIikpO0R3LnNldChcInNob3dXcml0ZUFuc3dlclwiLF8uSihcInV1NkRlZlwiKSk7RHcuc2V0KFwic2hvd1dyaXRlUXVlc3Rpb25cIixfLkooXCJDMjFxb2RcIikpO0R3LnNldChcInNob3dfYW5kX2ZvY3VzXCIsXy5KKFwiZklmS0xkXCIpKTtEdy5zZXQoXCJzaG93X2NhdGVnb3J5XCIsXy5KKFwieFdOQW1iXCIpKTtEdy5zZXQoXCJzaG93X2RhdGVfcGlja2VyXCIsXy5KKFwid3B5VkZkXCIpKTtEdy5zZXQoXCJzaG93X2RlZmF1bHRfcHJpY2VfbGlua1wiLF8uSihcIm5oMlY2YlwiKSk7RHcuc2V0KFwic2hvd19maXJzdF9wYWdlXCIsXy5KKFwiUkFuZlFkXCIpKTtEdy5zZXQoXCJzaG93X2Z1bGxwYWdlXCIsXy5KKFwiQk45MHBiXCIpKTtEdy5zZXQoXCJzaG93X21vcmVfY291cnNlc19jbGlja1wiLF8uSihcIk04cGpnZVwiKSk7RHcuc2V0KFwic2hvd19wcm9ncmVzc19iYXJcIixfLkooXCJBcEFlaWRcIikpO1xuRHcuc2V0KFwic2hvd19zcGlubmVyXCIsXy5KKFwiWmx5MXRlXCIpKTtEdy5zZXQoXCJzaHRfZFwiLF8uSihcImQ5VmFLYlwiKSk7RHcuc2V0KFwic2lnbl9pbl9idXR0b25fY2xpY2tlZFwiLF8uSihcImQ0RkRwY1wiKSk7RHcuc2V0KFwic2tpcF9hY3Rpb25cIixfLkooXCJmekM5T2NcIikpO0R3LnNldChcInNsaWRlcl9jXCIsXy5KKFwiTUZIMVJlXCIpKTtEdy5zZXQoXCJzbGlkZXJfY2hhbmdlXCIsXy5KKFwidDJ3YTFiXCIpKTtEdy5zZXQoXCJzbGlkZXJfZlwiLF8uSihcIkppOHhhZVwiKSk7RHcuc2V0KFwic2xpZGVyX3NcIixfLkooXCJldElPRGJcIikpO0R3LnNldChcInNtYXJ0YW5zd2Vyc0lmcmFtZUxvYWRlZFwiLF8uSihcIk9PNUwwXCIpKTtEdy5zZXQoXCJzbXJfY2xvc2VcIixfLkooXCJKeVpqd2NcIikpO0R3LnNldChcInNtcl9sZXNzXCIsXy5KKFwiZUZ6ZU9kXCIpKTtEdy5zZXQoXCJzbXJfbW9yZVwiLF8uSihcInhlV3VMY1wiKSk7RHcuc2V0KFwic25hY2tiYXJfYWN0aW9uXCIsXy5KKFwiYWY0S3NlXCIpKTtEdy5zZXQoXCJzbmFrZV9jbG9zZWRcIixfLkooXCJwaHI2eWRcIikpO1xuRHcuc2V0KFwic25ha2VfY2xvc2VkX3JlYWxseVwiLF8uSihcInN5S1BrZVwiKSk7RHcuc2V0KFwic25md29zXCIsXy5KKFwiTHllemdlXCIpKTtEdy5zZXQoXCJzbmd0cFwiLF8uSihcInNlTTdRZVwiKSk7RHcuc2V0KFwic3BfaXJcIixfLkooXCJzdk8xSGNcIikpO0R3LnNldChcInNwb25zb3JlZF9jbGlja1wiLF8uSihcIkVvY3ZPYlwiKSk7Xy5URmI9Xy5KKFwiaGNZNjlcIik7RHcuc2V0KFwic3JwX2hkXCIsXy5URmIpO18uVUZiPV8uSihcIkFCdWFmY1wiKTtEdy5zZXQoXCJzcnBfdWhkXCIsXy5VRmIpO0R3LnNldChcInNzYXdcIixfLkooXCJNTGsxbWNcIikpO0R3LnNldChcInNzZGNcIixfLkooXCJFU0lIZGRcIikpO0R3LnNldChcInNzZG9cIixfLkooXCJYYmFMN2NcIikpO0R3LnNldChcInNzeF9hc3luY1wiLF8uSihcImN5dDVnZFwiKSk7RHcuc2V0KFwic3RhcnRfZmVlZGJhY2tfZGlhbG9nXCIsXy5KKFwiS0JtVGZlXCIpKTtEdy5zZXQoXCJzdG9wUHJvcGFnYXRpb25cIixfLkooXCJ5QUtEZmJcIikpO1xuRHcuc2V0KFwic3RyZWFtX2Nsb3NlX3NpZ25pbl9idWJibGVcIixfLkooXCJXMklrRmRcIikpO0R3LnNldChcInN0cmVhbV9jcmVhdGVfYWNjb3VudFwiLF8uSihcIlRUNjNFZlwiKSk7RHcuc2V0KFwic3RyZWFtX2ZpbHRlcl9jbGlja1wiLF8uSihcIm13R2txXCIpKTtEdy5zZXQoXCJzdHJlYW1fc2lnbmluXCIsXy5KKFwiQkZpeDBkXCIpKTtEdy5zZXQoXCJzdWJtaXRfZm9ybVwiLF8uSihcInoxam9nZFwiKSk7RHcuc2V0KFwic3VibWl0X3ZvdGVzXCIsXy5KKFwibjVlcDJcIikpO0R3LnNldChcInN1YnNjcmlwdGlvbl9kaWFsb2dfb2tcIixfLkooXCJ0MDdqRVwiKSk7RHcuc2V0KFwic3Vic2NyaXB0aW9uX3N1Y2Nlc3NcIixfLkooXCJFT3JPN2JcIikpO0R3LnNldChcInN1YnNjcmlwdGlvbl91bmRvXCIsXy5KKFwibDFYY1hlXCIpKTtEdy5zZXQoXCJzdl9kaXNtaXNzX2VmeV9wcm9tb1wiLF8uSihcIkVKQkVDY1wiKSk7RHcuc2V0KFwic3ZfZGlzbWlzc195ZV9wcm9tb1wiLF8uSihcImRIV2RmZVwiKSk7RHcuc2V0KFwic3dpdGNoX3RvX2xpc3RcIixfLkooXCJjWFBtNmRcIikpO1xuRHcuc2V0KFwic3dpdGNoX3RvX21hcFwiLF8uSihcIkxScnJHZlwiKSk7RHcuc2V0KFwidGFfaXNcIixfLkooXCJqZVp3RmRcIikpO0R3LnNldChcInRhX2lzY1wiLF8uSihcImZkZ21pZFwiKSk7RHcuc2V0KFwidGFfcmNcIixfLkooXCJ3R0FQZmNcIikpO0R3LnNldChcInRhX3N1aHNcIixfLkooXCJWQzA0c2ZcIikpO0R3LnNldChcInRhX3RjaFwiLF8uSihcInJrNFlEXCIpKTtEdy5zZXQoXCJ0YV90aVwiLF8uSihcIlNPTnhtZVwiKSk7RHcuc2V0KFwidGFfdHNcIixfLkooXCJEdUdjelwiKSk7RHcuc2V0KFwidGFfdHNyXCIsXy5KKFwid2plRUZlXCIpKTtEdy5zZXQoXCJ0YWZ0X3VcIixfLkooXCJIamFNeFwiKSk7RHcuc2V0KFwidGFnX2NsaWNrXCIsXy5KKFwiYkJ1cnZiXCIpKTtEdy5zZXQoXCJ0Yl9oc1wiLF8uSihcIlFNR1J2ZFwiKSk7Xy5WRmI9Xy5KKFwiRDJ3SXZiXCIpO0R3LnNldChcInRiX3RzXCIsXy5WRmIpO0R3LnNldChcInRiaF9iXCIsXy5KKFwid1NqU0VmXCIpKTtEdy5zZXQoXCJ0YmhfYnBcIixfLkooXCJPYW9kWlwiKSk7RHcuc2V0KFwidGJoX2JyXCIsXy5KKFwiRFJRTWhlXCIpKTtcbkR3LnNldChcInRiaF9kbFwiLF8uSihcIkVDSmVOXCIpKTtEdy5zZXQoXCJ0YmhfZmJcIixfLkooXCJrYlVKcGRcIikpO0R3LnNldChcInRiaF9oYXJkUmVsb2FkXCIsXy5KKFwieHg3R3dmXCIpKTtEdy5zZXQoXCJ0YmhfbmF2UGF5XCIsXy5KKFwiV0ZRbzBlXCIpKTtEdy5zZXQoXCJ0Ymhfc2NcIixfLkooXCJwVFVtTmNcIikpO0R3LnNldChcInRiaF9zb2Z0UmVsb2FkXCIsXy5KKFwiSTZ5QVpkXCIpKTtEdy5zZXQoXCJ0Ymhfc3JcIixfLkooXCJ4dXdlT2VcIikpO0R3LnNldChcInRiaF90ZVwiLF8uSihcIndrY280Y1wiKSk7RHcuc2V0KFwidGNcIixfLkooXCJZREltT2JcIikpO18uV0ZiPV8uSihcIk1wSDNsY1wiKTtEdy5zZXQoXCJ0Y19nclwiLF8uV0ZiKTtEdy5zZXQoXCJ0Y19pc1wiLF8uSihcIlJRTXRSXCIpKTtEdy5zZXQoXCJ0Y19semJzYVwiLF8uSihcIk9qUk1lYlwiKSk7RHcuc2V0KFwidGNfdG1mXCIsXy5KKFwiUEhyaWZkXCIpKTtEdy5zZXQoXCJ0ZXN0X3VybF9ldmVudFwiLF8uSihcIlJSbkhpZFwiKSk7RHcuc2V0KFwidGV4dF91cGRhdGVkXCIsXy5KKFwiaWhBYUhcIikpO1xuRHcuc2V0KFwidGV4dGFyZWFJbnB1dFwiLF8uSihcIktubzdsYlwiKSk7RHcuc2V0KFwidGV4dGFyZWFfY2hhbmdlXCIsXy5KKFwiU3U1dXFcIikpO0R3LnNldChcInRleHRhcmVhX2NsaWNrXCIsXy5KKFwicVU0d3liXCIpKTtEdy5zZXQoXCJ0aF9jclwiLF8uSihcImlseUl5YlwiKSk7RHcuc2V0KFwidGhhbmtfeW91X2Nsb3NlZFwiLF8uSihcIkR5Y1hGXCIpKTtEdy5zZXQoXCJ0aGFua195b3VfZ290X2l0XCIsXy5KKFwidmE0YkNiXCIpKTtEdy5zZXQoXCJ0aGFua195b3VfZ290X2l0X2ludGVybmFsXCIsXy5KKFwiekU5ajhiXCIpKTtEdy5zZXQoXCJ0aWNrZXRfdHlwZV9zZWxlY3RlZFwiLF8uSihcImsxdXVkXCIpKTtEdy5zZXQoXCJ0bF9MaXN0Vmlld1VwXCIsXy5KKFwicjR1RzVjXCIpKTtEdy5zZXQoXCJ0bF9hbGVydERlbGV0ZUZhaWx1cmVcIixfLkooXCJYNDEyRGJcIikpO0R3LnNldChcInRsX2FsZXJ0X2hlYWRlcl9jbGlja1wiLF8uSihcIkoyakJBZVwiKSk7RHcuc2V0KFwidGxfYXBfZGlyZWN0X2Nsa1wiLF8uSihcIkdvSmdLY1wiKSk7XG5Edy5zZXQoXCJ0bF9hcHBseUZhY2V0Q2hhbmdlRmlsdGVyXCIsXy5KKFwieTB1aVdlXCIpKTtEdy5zZXQoXCJ0bF9hcHBseWZpbHRlclwiLF8uSihcInFNRndWZFwiKSk7RHcuc2V0KFwidGxfY2hpcENoYW5nZXNcIixfLkooXCJiQ0VFbGZcIikpO0R3LnNldChcInRsX2NsZWFyRmlsdGVyc1wiLF8uSihcIm9sQjhMYlwiKSk7RHcuc2V0KFwidGxfY2xvc2VGaWx0ZXJzXCIsXy5KKFwiRVNCYmtiXCIpKTtEdy5zZXQoXCJ0bF9jbG9zZV9kaWFsb2dcIixfLkooXCJ6bVVGU2RcIikpO0R3LnNldChcInRsX2NyZWF0ZV9hY2NvdW50XCIsXy5KKFwiUUhhY0hkXCIpKTtEdy5zZXQoXCJ0bF9kZXRhaWxTZXRIb21lXCIsXy5KKFwiTzhjZ0tiXCIpKTtEdy5zZXQoXCJ0bF9kZXRhaWxTZXRIb21lRXh0ZXJuYWxcIixfLkooXCJlell4WmVcIikpO0R3LnNldChcInRsX2RldGFpbFNldEhvbWVJbnRlcm5hbFwiLF8uSihcImxpVHI3ZVwiKSk7RHcuc2V0KFwidGxfZGV0YWlsX3BhZ2Vfc2VsZWN0ZWRcIixfLkooXCJDYnlueGRcIikpO1xuRHcuc2V0KFwidGxfZG9XZWJTZWFyY2hcIixfLkooXCJrUll4NmRcIikpO0R3LnNldChcInRsX2VkaXRfYWxlcnRcIixfLkooXCJ6R0lCU2NcIikpO0R3LnNldChcInRsX2V2ZW50c0ZlZWRiYWNrXCIsXy5KKFwiWE0ycDNlXCIpKTtEdy5zZXQoXCJ0bF9leHBsb3JlT25CYWNrVXBcIixfLkooXCJZeFRaN2JcIikpO0R3LnNldChcInRsX2ZpbGVJbnRlcm5hbEJ1Z1wiLF8uSihcIlZ1QXpzXCIpKTtEdy5zZXQoXCJ0bF9mdWxsbGlzdFwiLF8uSihcIkRZMXFYYlwiKSk7RHcuc2V0KFwidGxfaGlkZUZpbHRlcnNcIixfLkooXCJZMzFIWmNcIikpO0R3LnNldChcInRsX2hpZGVfbmV3X2FsZXJ0X2J1YmJsZVwiLF8uSihcIkxKVktGZFwiKSk7RHcuc2V0KFwidGxfaGlkZV9zaWduX2luX2J1YmJsZVwiLF8uSihcIno3NWJoZlwiKSk7RHcuc2V0KFwidGxfaWRfYlwiLF8uSihcImRvaUdEXCIpKTtEdy5zZXQoXCJ0bF9pZF9zXCIsXy5KKFwiTXBobXVmXCIpKTtEdy5zZXQoXCJ0bF9pdGVtRGV0YWlsVXBcIixfLkooXCJXdWJvN2JcIikpO1xuRHcuc2V0KFwidGxfbGlzdFNjcm9sbFwiLF8uSihcIndLM0RTXCIpKTtEdy5zZXQoXCJ0bF9uZXdfcXVlcnlfZnJvbV9zcGVsbGluZ1wiLF8uSihcIk92a0llZlwiKSk7RHcuc2V0KFwidGxfb3Blbl9pYnBfZGV0YWlsX3BhZ2VcIixfLkooXCJBUUdQV2VcIikpO0R3LnNldChcInRsX29wZW5fbXlfZXZlbnRzXCIsXy5KKFwidlhLUmNmXCIpKTtEdy5zZXQoXCJ0bF9vcGVuX3JlbW92ZV9hbGVydF9kaWFsb2dcIixfLkooXCJ4ME5sZWVcIikpO0R3LnNldChcInRsX29wZW5pbVwiLF8uSihcIkFYYUVqZFwiKSk7RHcuc2V0KFwidGxfb3BlbmltX2V2ZW50c1wiLF8uSihcImVPajFGXCIpKTtEdy5zZXQoXCJ0bF9vcGVuaW1fb25fcGl2b3RfcGlsbFwiLF8uSihcIlNrTTNjZFwiKSk7RHcuc2V0KFwidGxfcmVjb21tZW5kYXRpb25DbGlja1wiLF8uSihcImRoYjlOXCIpKTtEdy5zZXQoXCJ0bF9yZWRpcmVjdF90b19wYXRod2F5c1wiLF8uSihcInZPQjJEXCIpKTtEdy5zZXQoXCJ0bF9yZWZyZXNoXCIsXy5KKFwibWV0TXRlXCIpKTtcbkR3LnNldChcInRsX3JlZnJlc2hGaWx0ZXJzXCIsXy5KKFwiZVZkY2FjXCIpKTtEdy5zZXQoXCJ0bF9yZWxvYWRQYWdlXCIsXy5KKFwiaXRZQWhlXCIpKTtEdy5zZXQoXCJ0bF9yZW1vdmVfYWxlcnRcIixfLkooXCJpUzdMNGRcIikpO0R3LnNldChcInRsX3NhdmVfY2hhbmdlXCIsXy5KKFwiUmJWM3BkXCIpKTtEdy5zZXQoXCJ0bF9zYXZlX2ZwX29wZW5cIixfLkooXCJPNU9qbGZcIikpO0R3LnNldChcInRsX3NibG9naW5cIixfLkooXCJVNHQwZWZcIikpO0R3LnNldChcInRsX3NlYXJjaEpvYnNOZWFyTWVcIixfLkooXCJrdjRCaVwiKSk7RHcuc2V0KFwidGxfc2VhcmNoT3ZlcmxheVVwXCIsXy5KKFwiaExoUDRkXCIpKTtEdy5zZXQoXCJ0bF9zaWduX2luXCIsXy5KKFwiaDRKSGtcIikpO0R3LnNldChcInRsX3RhYl9jaGFuZ2VcIixfLkooXCJ4SUR2R1wiKSk7RHcuc2V0KFwidGxfdW5zYXZlXCIsXy5KKFwiaDdxVnBkXCIpKTtEdy5zZXQoXCJ0bHNwbF9hZG1pc3Npb25zVGFiTGlua1wiLF8uSihcIk5jakgyYlwiKSk7RHcuc2V0KFwidGxzcGxfY29zdFRhYkxpbmtcIixfLkooXCJNaFNEamZcIikpO1xuRHcuc2V0KFwidGxzcGxfbWFqb3JzVGFiTGlua1wiLF8uSihcIkZQaUlUYlwiKSk7RHcuc2V0KFwidGxzcGxfb3V0Y29tZXNUYWJMaW5rXCIsXy5KKFwia0hhR3RkXCIpKTtEdy5zZXQoXCJ0bHNwbF9yYW5raW5nc1RhYkxpbmtcIixfLkooXCJMV3JJQmZcIikpO0R3LnNldChcInRsc3BsX3N0dWRlbnRzVGFiTGlua1wiLF8uSihcInFxalA5Y1wiKSk7RHcuc2V0KFwidG9nZ2xlXCIsXy5KKFwieDZVcjZjXCIpKTtEdy5zZXQoXCJ0b2dnbGVSZXBvcnRcIixfLkooXCJDREFCa2ZcIikpO0R3LnNldChcInRvZ2dsZV9kaWFsb2dcIixfLkooXCJBQUVPVmNcIikpO0R3LnNldChcInRvZ2dsZV9maWx0ZXJzXCIsXy5KKFwiUTZFNnBkXCIpKTtEdy5zZXQoXCJ0b2dnbGVfcmVzdWx0XCIsXy5KKFwiVmhEM0plXCIpKTtEdy5zZXQoXCJ0b29sdGlwX2NsaWNrZWRcIixfLkooXCJldU52bGZcIikpO0R3LnNldChcInRvb2x0aXBfY2xrXCIsXy5KKFwiVlR3T2pmXCIpKTtEdy5zZXQoXCJ0cF9idG5cIixfLkooXCJJaWdvZWVcIikpO1xuRHcuc2V0KFwidHJfdXBkYXRlX3NvdXJjZV9sYW5ndWFnZVwiLF8uSihcInVReGhUZFwiKSk7RHcuc2V0KFwidHJfdXBkYXRlX3RhcmdldF9sYW5ndWFnZVwiLF8uSihcImxXVUJxYlwiKSk7RHcuc2V0KFwidHJhY2tfcHJpY2VfdGFiX3NlbGVjdGVkXCIsXy5KKFwiVmtpdzhiXCIpKTtEdy5zZXQoXCJ0cmhfbWRcIixfLkooXCJBcVB2eWZcIikpO0R3LnNldChcInRyaF9ybFwiLF8uSihcIk5PMW1QZVwiKSk7RHcuc2V0KFwidHJoX3RyXCIsXy5KKFwidFNxUDdkXCIpKTtEdy5zZXQoXCJ0cmlnZ2VyX3Jldmlld1wiLF8uSihcImUzcEI1ZVwiKSk7RHcuc2V0KFwidHJpdmlhX2xvYWRfbmV3X3F1ZXN0aW9uc1wiLF8uSihcIlpXaTk5XCIpKTtEdy5zZXQoXCJ0cnlfdXBkYXRlX2Jvb2tpbmdfbW9kdWxlX2FnYWluXCIsXy5KKFwicFJjWnRkXCIpKTtEdy5zZXQoXCJ0c3BfYWZcIixfLkooXCJ2UXNvbmRcIikpO0R3LnNldChcInRzcF9jYWZcIixfLkooXCJkVXRwQWJcIikpO0R3LnNldChcInRzcF90YWZcIixfLkooXCJOd2hnQ2RcIikpO1xuRHcuc2V0KFwidHRfaXRlbV9jbGlja2VkXCIsXy5KKFwicHUzN01cIikpO0R3LnNldChcInR0c1wiLF8uSihcIkU5aVhyXCIpKTtEdy5zZXQoXCJ1ZGNfb3NcIixfLkooXCJXdDZGWmJcIikpO0R3LnNldChcInVnY3BlX2hpZGVcIixfLkooXCJ2YW55dlwiKSk7RHcuc2V0KFwidWdjcGVfc2hvd1wiLF8uSihcIkMzNXZyXCIpKTtEdy5zZXQoXCJ1Z2NwZXNfaGlkZVwiLF8uSihcIkJqanBJYlwiKSk7RHcuc2V0KFwidWdjcGVzX3Nob3dcIixfLkooXCJyUjF4ZGZcIikpO0R3LnNldChcInVnY3VtX2N1cnJlbnRcIixfLkooXCJQaFA2SGJcIikpO0R3LnNldChcInVnY3VtX3N1Z2dlc3RlZFwiLF8uSihcIk9YSWt4XCIpKTtEdy5zZXQoXCJ1bmRvRm9sbG93XCIsXy5KKFwiS0lXcW1kXCIpKTtEdy5zZXQoXCJ1bmRvTGVzc1wiLF8uSihcIlpnaUpNZVwiKSk7RHcuc2V0KFwidW5kb01vcmVcIixfLkooXCJwMVRSb2VcIikpO0R3LnNldChcInVuZG9VbmZvbGxvd1wiLF8uSihcIndnQmt3ZVwiKSk7RHcuc2V0KFwidW5kb19yZW1vdmVcIixfLkooXCJxZDl3OGJcIikpO1xuRHcuc2V0KFwidW5mb2xsb3dcIixfLkooXCJoV09DVWNcIikpO0R3LnNldChcInVuc3Vic2NyaXB0aW9uX2RpYWxvZ19va1wiLF8uSihcIlJGdkdZYlwiKSk7RHcuc2V0KFwidW5zdWJzY3JpcHRpb25fc3VjY2Vzc1wiLF8uSihcInBwbmFNXCIpKTtEdy5zZXQoXCJ1cGRhdGVEYXRldGltZXBpY2tlclVJXCIsXy5KKFwicFdld2hiXCIpKTtEdy5zZXQoXCJ1cGRhdGVfZGF0ZXNcIixfLkooXCJZS1MxbGZcIikpO0R3LnNldChcInVwZGF0ZV9maWx0ZXJzXCIsXy5KKFwiV2tMSTNkXCIpKTtEdy5zZXQoXCJ1cGRhdGVfcmVmaW5lbWVudHNcIixfLkooXCJBTEpPR2RcIikpO0R3LnNldChcInVwZGF0ZV91aVwiLF8uSihcImV0ajhXYlwiKSk7RHcuc2V0KFwidmFfY2hfYWNcIixfLkooXCJWSkxWMWJcIikpO0R3LnNldChcInZhX2NwX3BzXCIsXy5KKFwiUDFRa1JkXCIpKTtEdy5zZXQoXCJ2aF9hZGRcIixfLkooXCJPUHpXY1wiKSk7RHcuc2V0KFwidmhfaGNcIixfLkooXCJOZEx1N2VcIikpO0R3LnNldChcInZoX3JlbW92ZVwiLF8uSihcIm9INll1XCIpKTtcbkR3LnNldChcInZpZXdfc2VsZWN0ZWRfZGVzdGluYXRpb25fZmxpZ2h0c1wiLF8uSihcIlcwTkpxZlwiKSk7RHcuc2V0KFwidmlzaWJsZVwiLF8uSihcInowdHgzXCIpKTtEdy5zZXQoXCJ2aXNpdF9mZWVkXCIsXy5KKFwidFVTWWNkXCIpKTtEdy5zZXQoXCJ2aXNpdF9zZXR0aW5nc1wiLF8uSihcIkJjZnZ5Y1wiKSk7RHcuc2V0KFwidmxiX2NcIixfLkooXCJ6SGJ3NWVcIikpO0R3LnNldChcInZvdGVfY3VycmVudFwiLF8uSihcInFFYTYzY1wiKSk7RHcuc2V0KFwidm90ZV9kb250X2tub3dcIixfLkooXCJ6UjhZSFwiKSk7RHcuc2V0KFwidm90ZV9ub25lXCIsXy5KKFwicUg2Wm1kXCIpKTtEdy5zZXQoXCJ2b3RlX3N1Z2dlc3RlZFwiLF8uSihcImxXMmRkZFwiKSk7RHcuc2V0KFwidnBsX2NcIixfLkooXCJsQU45QWRcIikpO0R3LnNldChcIndjY19pYVwiLF8uSihcImdtZW5iXCIpKTtEdy5zZXQoXCJ3Y2NfeFwiLF8uSihcIkdmbGZLXCIpKTtEdy5zZXQoXCJ3Y3JfZWlcIixfLkooXCJqNlB1aWNcIikpO0R3LnNldChcIndlYnNpdGVfaW5wdXRfY2hhbmdlXCIsXy5KKFwiaUpYRG1jXCIpKTtcbkR3LnNldChcIndoeV90aGVzZV9yZXN1bHRzX2V4cGFuZFwiLF8uSihcImZTckJ2Y1wiKSk7RHcuc2V0KFwid29fbW92ZV90YWJcIixfLkooXCJJT1dlQmNcIikpO0R3LnNldChcIndvX3JldHVybl9mb2N1c1wiLF8uSihcIlFSQjJ0ZlwiKSk7RHcuc2V0KFwieFwiLF8uSihcImVCZHNHZFwiKSk7RHcuc2V0KFwieHBkX2FcIixfLkooXCJDN3hvd1wiKSk7RHcuc2V0KFwieHBkX2NcIixfLkooXCJWNUs3NGVcIikpO0R3LnNldChcInhwZF9lXCIsXy5KKFwiczN6YjVlXCIpKTtfLlhGYj1fLkooXCJ4TnBRdGRcIik7RHcuc2V0KFwieHBkX3JcIixfLlhGYik7Xy5ZRmI9Xy5KKFwiRXAyTWdjXCIpO0R3LnNldChcInhwZF9ybVwiLF8uWUZiKTtfLlpGYj1fLkooXCJVNlZDcWVcIik7RHcuc2V0KFwieHBkX3J0XCIsXy5aRmIpO0R3LnNldChcInhwZF90XCIsXy5KKFwiWVVObHpmXCIpKTtEdy5zZXQoXCJ4cGxcIixfLkooXCJRSmZ4aWJcIikpO0R3LnNldChcInllc1wiLF8uSihcIllXV1VMZFwiKSk7RHcuc2V0KFwieWVzX3ZvdGVcIixfLkooXCJkelJJSWZcIikpO18uR3c9ZnVuY3Rpb24oYSl7cmV0dXJuIER3LmdldChhKX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uSHc9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPV8ua2coYSk7ZCYmXy54ZShkKSYmKGI9Xy5HdyhiKSkmJl8uemUoYSxiLGMpfTtfLkl3PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1fLmtnKGEpO2QmJl8ueGUoZCkmJihiPV8uR3coYiksXy5tZihhLGIsYykpfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5xRmI9ZnVuY3Rpb24oKXt2YXIgYT1uZXcgTWFwLGI9Xy5SYyhcImVqTUxDZFwiKTtiLlBiKCkmJmEuc2V0KFwiWC1HZW9cIixfLmVtKGIpKTtiPV8uUmMoXCJQWUZ1RGNcIik7Yi5QYigpJiZhLnNldChcIlgtQ2xpZW50LURhdGFcIixfLmVtKGIpKTtiPV8uUmMoXCJKSEhLdWJcIik7Yi5QYigpJiZhLnNldChcIlgtQ2xpZW50LVBjdHhcIixfLmVtKGIpKTtiPV8uUmMoXCJxZkkwWmNcIik7Yi5QYigpJiZhLnNldChcIlgtU2VhcmNoLUNpLUZpXCIsXy5lbShiKSk7Yj1fLlJjKFwiQVVmN3FjXCIpO2IuUGIoKSYmYS5zZXQoXCJYLVNpbGstQ2FwYWJpbGl0aWVzXCIsXy5lbShiKSk7cmV0dXJuIGF9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLm9GYj1mdW5jdGlvbigpe3JldHVyblwiXCJ9O18ucEZiPSExO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLkN3PWZ1bmN0aW9uKGEsYil7Yj0oYj09PXZvaWQgMD97fTpiKS5wcmlvcml0eTt0aGlzLmNhY2hlS2V5PWE7dGhpcy5wcmlvcml0eT1ifTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIHpwYjtfLnlwYj1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD97fTpiO2EuZGV0YWlsc3x8KGEuZGV0YWlscz17fSk7T2JqZWN0LmFzc2lnbihhLmRldGFpbHMsYil9O3pwYj1mdW5jdGlvbihhKXtmb3IodmFyIGI9Xy5QYShfLmFpYiksYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpe3ZhciBkPV8uUGEoYy52YWx1ZSk7Yz1kLm5leHQoKS52YWx1ZTtkPWQubmV4dCgpLnZhbHVlO18uZEZhLmhhcyhjKSYmYS5zZXQoYyxkKX19O18uQXBiPWZ1bmN0aW9uKGEpe3ZhciBiPV8ucnQoKTtfLiRFYS5mb3JFYWNoKGZ1bmN0aW9uKGMpe3ZhciBkPWIuZ2V0KGMpO2QmJmEuc2V0KGMsZCl9KTt6cGIoYSl9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgdUZiLHRGYjtfLnJGYj1mdW5jdGlvbihhKXt2YXIgYj1bXTthPV8uUGEoYSk7Zm9yKHZhciBjPWEubmV4dCgpOyFjLmRvbmU7Yz1hLm5leHQoKSl7dmFyIGQ9Xy5QYShjLnZhbHVlKTtjPWQubmV4dCgpLnZhbHVlO2Q9ZC5uZXh0KCkudmFsdWU7Yi5wdXNoKGVuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoYykpK1wiOlwiK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoZCkpKX1yZXR1cm4gYi5qb2luKFwiLFwiKX07XG5fLnNGYj1mdW5jdGlvbihhLGIsYyxkLGUpe2I9bmV3IF8udmxhKGIrYyk7ZD1fLlBhKGQpO2ZvcihjPWQubmV4dCgpOyFjLmRvbmU7Yz1kLm5leHQoKSl7dmFyIGY9Xy5QYShjLnZhbHVlKTtjPWYubmV4dCgpLnZhbHVlO2Y9Zi5uZXh0KCkudmFsdWU7Yi5zZWFyY2hQYXJhbXMuc2V0KGMsXCJcIitmKX1pZihhPT09XCJQT1NUXCIpcmV0dXJuKGU9ZS5nZXQoXCJfZm10XCIpKSYmYi5zZWFyY2hQYXJhbXMuc2V0KFwiX2ZtdFwiLFN0cmluZyhlKSksYi50b1N0cmluZygpO2E9Yi50b1N0cmluZygpOyhlPV8uckZiKGUpKSYmKGE9YStcIiZhc3luYz1cIitlKTtyZXR1cm4gYX07XG5fLnhGYj1mdW5jdGlvbihhLGIsYyxkLGUsZil7dmFyIGc9ZC5jb250ZXh0PT09dm9pZCAwP25ldyBNYXA6ZC5jb250ZXh0O3ZhciBoPWQud2c9PT12b2lkIDA/bmV3IE1hcDpkLndnO3ZhciBrPWQuZEw7dmFyIGw9ZC5mcWI7dmFyIG49ZC5iOTt2YXIgcj1kLmVMO3ZhciB0PWQuTGZjO2Q9ZC5uR2E7Zj1mPT09dm9pZCAwPyExOmY7Zz1uZXcgTWFwKFtdLmNvbmNhdChfLm1kKGcpKSk7Zy5oYXMoXCJfZm10XCIpfHxnLnNldChcIl9mbXRcIixcInByb2dcIik7ZSYmZy5zZXQoXCJfaWRcIixlKTsoZT1hLnhzcmZUb2tlbikmJmcuc2V0KFwiX3hzcmZcIixlKTtoPW5ldyBNYXAoaCk7bCYmaC5zZXQoXCJkZGlpXCIsXCIxXCIpO2w9YS5XQjtlPWEueWFhO2E9YS5zbmE7Yj10RmIobCxoLGUsKGM9PW51bGw/dm9pZCAwOmMubEphKXx8XCJcIiwoYz09bnVsbD92b2lkIDA6Yy5Eb2MpfHxcIlwiLChjPT1udWxsP3ZvaWQgMDpjLlJ5YSl8fFwiXCIsKGM9PW51bGw/dm9pZCAwOmMuenBjKXx8XCJcIixmLGM9PW51bGw/dm9pZCAwOmMuWUcsXG5iPT1udWxsP3ZvaWQgMDpiLkU2YSxiPT1udWxsP3ZvaWQgMDpiLlNQYSxkKTtjPXVGYihsLGUpO2Q9Xy5vRmIoYik7aD1fLnNGYihhLGQsYyxiLGcpO2U9Xy52RmIoYSxsLGcpO3JldHVybnttZXRob2Q6YSx1cmw6aCxQRGI6ZSxob3N0bmFtZTpkLHBhdGg6Yyx3ZzpiLG5xOmcsV0I6bCxkTDprLGhlYWRlcnM6Xy53RmIoKSxERmE6ZixiOTpuLGVMOnIsTGZjOnR9fTt1RmI9ZnVuY3Rpb24oYSxiKXtpZihiPT09XCJcIilhPVwiL2FzeW5jL1wiK2E7ZWxzZSBpZihiPT09XCJmZWVkX2FwaVwiKWE9XCIvZmVlZC1hcGkvYXN5bmMvXCIrYTtlbHNlIGlmKGI9PT1cInNlYXJjaFwiKWE9XCIvXCIrYjtlbHNlIHRocm93IEVycm9yKFwibWZgXCIrYik7aWYoIXlGYi50ZXN0KGEpKXRocm93IEVycm9yKFwibmZgXCIrYSk7cmV0dXJuIGF9O1xuXy56RmI9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoLGssbCxuLHIpe2U9ZT09PXZvaWQgMD9cIlwiOmU7Yz10RmIoYSxjLGUsZj09PXZvaWQgMD9cIlwiOmYsZz09PXZvaWQgMD9cIlwiOmcsaD09PXZvaWQgMD9cIlwiOmgsaz09PXZvaWQgMD9cIlwiOmssITEsbCxuLHIpO2E9dUZiKGEsZSk7ZT1fLm9GYihjKTtyZXR1cm4gXy5zRmIoZCxlLGEsYyxiKX07Xy52RmI9ZnVuY3Rpb24oYSxiLGMpe2lmKGE9PT1cIlBPU1RcIil7YT1uZXcgTWFwOyhjPV8uckZiKGMpKSYmYS5zZXQoXCJhc3luY1wiLGIrXCIsXCIrYyk7dmFyIGQ9W107YS5mb3JFYWNoKGZ1bmN0aW9uKGUsZil7cmV0dXJuIHZvaWQgZC5wdXNoKGYrXCI9XCIrZSl9KTtyZXR1cm4gZC5qb2luKFwiJlwiKX19O1xudEZiPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCxrLGwsbixyKXt2YXIgdD1uZXcgTWFwO2gmJnQuc2V0KFwicGZcIixcInlcIik7bCYmKHQuc2V0KFwiZmNcIixsKSxuJiZ0LnNldChcImZjdlwiLG4pKTtkJiZrJiYoaD1uZXcgXy5yZCxfLnZqYShoLGssZCksKGQ9Xy5zZChoKSkmJnQuc2V0KFwidmV0XCIsZCkpO2Y/KHQuc2V0KFwidmVkXCIsZiksZ29vZ2xlLmtCTCYmdC5zZXQoXCJibFwiLGdvb2dsZS5rQkwpLGdvb2dsZS5zbiYmdC5zZXQoXCJzXCIsZ29vZ2xlLnNuKSk6dC5zZXQoXCJlaVwiLGV8fCgwLF8uam0udUIpKCkpO2cmJnQuc2V0KFwibGVpXCIsZyk7Xy5LaWEodCwhMSwhMCk7Z29vZ2xlLnVkbSYmdC5zZXQoXCJ1ZG1cIixnb29nbGUudWRtKTtfLkFwYih0KTt0LnNldChcInl2XCIsXCIzXCIpO2IuZm9yRWFjaChmdW5jdGlvbih1LHope3Quc2V0KHosdSl9KTtfLkFGYih0KTtnb29nbGUuc3hzcmYmJnQuc2V0KFwic3hzcmZcIixnb29nbGUuc3hzcmYpO2M9PT1cInNlYXJjaFwiJiZ0LnNldChcImFzZWFyY2hcIixhKTt0LnNldChcImNzXCIsXG5kb2N1bWVudC5ib2R5LmRhdGFzZXQuZHQ/XCIxXCI6XCIwXCIpO2lmKHIpc3dpdGNoKHIpe2Nhc2UgMjp0LnNldChcIm1tXCIsXCJjXCIpO2JyZWFrO2Nhc2UgMzp0LnNldChcIm1tXCIsXCJzXCIpO2JyZWFrO2RlZmF1bHQ6dC5zZXQoXCJtbVwiLFwiY3NcIil9Xy5CRmIodCk7cmV0dXJuIHR9O18ud0ZiPWZ1bmN0aW9uKCl7dmFyIGE9Xy5xRmIoKTtDRmImJmEuc2V0KFwiWC1Eb1MtQmVoYXZpb3JcIixcIkVtYmVkXCIpO3JldHVybiBhfTt2YXIgeUZiLENGYjt5RmI9L15bYS16MC05LV8vXSsoY2FsbGJhY2s6XFxkKyk/JC9pO18uQUZiPWZ1bmN0aW9uKCl7fTtfLkJGYj1mdW5jdGlvbigpe307Q0ZiPV8uV3phO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLlhFYj1mdW5jdGlvbihhLGIpe2lmKF8ubDFhLmhhcyhhKSl7dmFyIGM9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcInNjcmlwdFtzcmNdXCIpLGQ9XCJcIjtjPV8uUGEoYyk7Zm9yKHZhciBlPWMubmV4dCgpOyFlLmRvbmU7ZT1jLm5leHQoKSlkKz1lLnZhbHVlLmdldEF0dHJpYnV0ZShcInNyY1wiKTtfLmlkKEVycm9yKFwieGRgXCIrYSkse3hnOntzY3JpcHRzOmR9LGxldmVsOjB9KX1fLmwxYS5zZXQoYSxiKX07Xy5ZRWI9d2luZG93Lmdvb2dsZSYmd2luZG93Lmdvb2dsZS5lcmQmJndpbmRvdy5nb29nbGUuZXJkLmJ2fHxcIlwiO18uWkViPW5ldyBNYXA7Xy5YRWIoXCJza2V3XCIsZnVuY3Rpb24oKXtmb3IodmFyIGE9XCJcIixiPSEwLGM9Xy5QYShfLlpFYi5lbnRyaWVzKCkpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKXt2YXIgZT1fLlBhKGQudmFsdWUpO2Q9ZS5uZXh0KCkudmFsdWU7ZT1lLm5leHQoKS52YWx1ZTthKz0oYj9cIlwiOlwiLFwiKStkK1wiLlwiK2U7Yj0hMX1yZXR1cm4gYX0pO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgZkZiLGhGYixjRmIsaUZiO18uJEViPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluc3RhbmNlb2YgRXJyb3I/YTpFcnJvcihTdHJpbmcoYSkpfTtmRmI9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5hRmIoXy5iRmIsYSk7aWYoIWIpcmV0dXJuIG51bGw7aWYoXCJzdlwiaW4gYilyZXR1cm4gY0ZiKGIuc3YpO2lmKFwic2lcImluIGIpe3ZhciBjPV8uZEZiLmdldChiLnNpKTtyZXR1cm4gbmV3IF8uZUZiKGZ1bmN0aW9uKGQsZSl7Zm9yKHZhciBmPV8uUGEoYy52YWx1ZXMpLGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKWQoZy52YWx1ZSk7Yy5FaGMucHVzaChkKTtjLkNvYi5wdXNoKGUpfSl9dGhyb3cgRXJyb3IoXCJsZmBcIithKTt9O18uYUZiPWZ1bmN0aW9uKGEsYil7cmV0dXJuKGE9YS5nZXQoYikpP2E6bnVsbH07aEZiPWZ1bmN0aW9uKGEpe3JldHVybnttZXRhZGF0YTpuZXcgXy5nRmIoYVswXSksYm9keTphWzFdfX07XG5fLmVGYj1mdW5jdGlvbihhKXt2YXIgYj10aGlzO3RoaXMuQWE9W107dGhpcy5vYT1bXTt0aGlzLmNsb3NlZD0hMTt0aGlzLkJhPW51bGw7dHJ5e2EoZnVuY3Rpb24oYyl7aWYoYi5jbG9zZWQpdGhyb3cgRXJyb3IoXCJqZlwiKTtpZihiLm9hLmxlbmd0aCl7dmFyIGQ9Yi5vYS5zaGlmdCgpLnJlc29sdmU7ZCh7dmFsdWU6Yyxkb25lOiExfSl9ZWxzZSBiLkFhLnB1c2goYyl9LGZ1bmN0aW9uKGMpe2lGYihiLGMpfSl9Y2F0Y2goYyl7aUZiKHRoaXMsXy4kRWIoYykpfX07Y0ZiPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5lRmIoZnVuY3Rpb24oYixjKXtmb3IodmFyIGQ9Xy5QYShhKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSliKGUudmFsdWUpO2MoKX0pfTtcbmlGYj1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD9udWxsOmI7aWYoIWEuY2xvc2VkKXthLmNsb3NlZD0hMDthLkJhPWI7Zm9yKHZhciBjPV8uUGEoYS5vYSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpe3ZhciBlPWQudmFsdWU7ZD1lLnJlc29sdmU7ZT1lLnJlamVjdDtiP2UoYik6ZCh7dmFsdWU6dm9pZCAwLGRvbmU6ITB9KX1hLm9hLmxlbmd0aD0wfX07Xy5tPV8uZUZiLnByb3RvdHlwZTtfLm0ubmV4dD1mdW5jdGlvbigpe3ZhciBhPXRoaXM7aWYodGhpcy5BYS5sZW5ndGgpe3ZhciBiPXRoaXMuQWEuc2hpZnQoKTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHt2YWx1ZTpiLGRvbmU6ITF9KX1yZXR1cm4gdGhpcy5jbG9zZWQ/dGhpcy5CYT9Qcm9taXNlLnJlamVjdCh0aGlzLkJhKTpQcm9taXNlLnJlc29sdmUoe3ZhbHVlOnZvaWQgMCxkb25lOiEwfSk6bmV3IFByb21pc2UoZnVuY3Rpb24oYyxkKXthLm9hLnB1c2goe3Jlc29sdmU6YyxyZWplY3Q6ZH0pfSl9O1xuXy5tLmZvckVhY2g9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxjLGQsZTtyZXR1cm4gXy5iaChmdW5jdGlvbihmKXtpZihmLm9hPT0xKXJldHVybiBmLnlpZWxkKGIubmV4dCgpLDUpO2M9Zi5BYTtkPWMudmFsdWU7cmV0dXJuKGU9Yy5kb25lKT9mLk1iKDApOmYueWllbGQoYShkKSwxKX0pfTtfLm0ubUZiPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcyxiLGMsZDtyZXR1cm4gXy5iaChmdW5jdGlvbihlKXtpZihlLm9hPT0xKXJldHVybiBlLnlpZWxkKGEubmV4dCgpLDIpO2I9ZS5BYTtjPWIudmFsdWU7aWYoZD1iLmRvbmUpdGhyb3cgRXJyb3IoXCJrZlwiKTtyZXR1cm4gZS5yZXR1cm4oYyl9KX07XG5fLm0ubWFwPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7cmV0dXJuIG5ldyBfLmVGYihmdW5jdGlvbihjLGQpe3ZhciBlO3JldHVybiBfLmJoKGZ1bmN0aW9uKGYpe2lmKGYub2E9PTEpcmV0dXJuIF8uVWcoZiwyKSxmLnlpZWxkKGIuZm9yRWFjaChmdW5jdGlvbihnKXtjKGEoZykpfSksNCk7aWYoZi5vYSE9MilyZXR1cm4gZCgpLF8uWGcoZiwwKTtlPV8uWWcoZik7ZChfLiRFYihlKSk7Xy5TZyhmKX0pfSl9O18ubS5jYXRjaD1mdW5jdGlvbihhKXt2YXIgYj10aGlzO3JldHVybiBuZXcgXy5lRmIoZnVuY3Rpb24oYyxkKXt2YXIgZTtyZXR1cm4gXy5iaChmdW5jdGlvbihmKXtpZihmLm9hPT0xKXJldHVybiBfLlVnKGYsMiksZi55aWVsZChiLmZvckVhY2goZnVuY3Rpb24oZyl7YyhnKX0pLDQpO2lmKGYub2EhPTIpcmV0dXJuIGQoKSxfLlhnKGYsMCk7ZT1fLllnKGYpO3RyeXthKF8uJEViKGUpKSxkKCl9Y2F0Y2goZyl7ZChfLiRFYihnKSl9Xy5TZyhmKX0pfSl9O18uZEZiPW5ldyBNYXA7Xy5nRmI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLmdGYixfLnEpO18uZ0ZiLnByb3RvdHlwZS5nZXRUeXBlPWZ1bmN0aW9uKCl7cmV0dXJuIF8ubmkodGhpcywxLDApfTtfLmdGYi5wcm90b3R5cGUuRWM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uY2oodGhpcywxLGEpfTtfLmdGYi5wcm90b3R5cGUuWWQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy5HaSh0aGlzLDEpfTtfLmpGYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uakZiLF8ucSk7dmFyIGtGYixsRmI7Xy5iRmI9Xy5aZChfLmJhLm9hP1wiblwiOlwic1wiLF8uUUVhKTtrRmI9bmV3IE1hcDtsRmI9ZnVuY3Rpb24oYSxiKXt0aGlzLm9hPW51bGw7dGhpcy5BYT1hK1wiX19oXCI7dGhpcy5CYT1hK1wiX19yXCI7dGhpcy5wcmlvcml0eT1iJiZiLnByaW9yaXR5fTtfLm1GYj1mdW5jdGlvbihhLGIpe3ZhciBjPWIgaW5zdGFuY2VvZiBfLkN3P2I6dm9pZCAwO2E9YStcIl9fXCIrKGM/Yy5jYWNoZUtleTpiKTtiPWtGYi5nZXQoYSk7Ynx8KGI9bmV3IGxGYihhLGMpLGtGYi5zZXQoYSxiKSk7cmV0dXJuIGJ9O1xubEZiLnByb3RvdHlwZS5XaT1mdW5jdGlvbigpe3ZhciBhPXRoaXMsYixjLGQsZTtyZXR1cm4gXy5iaChmdW5jdGlvbihmKXtpZihmLm9hPT0xKXJldHVybiBmLnlpZWxkKGEub2EsMik7Yj1fLmJGYi5nZXQoYS5BYSk7Yz1mRmIoYS5CYSk7aWYoIWJ8fCFjKXJldHVybiBmLnJldHVybihudWxsKTtkPW5ldyBfLmpGYihiKTtlPWMubWFwKGhGYik7cmV0dXJuIGYucmV0dXJuKHtoZWFkZXI6ZCxyZXNvdXJjZXM6ZX0pfSl9O2xGYi5wcm90b3R5cGUub3Blbj1mdW5jdGlvbigpe3ZhciBhPXRoaXM7aWYodGhpcy5vYSlyZXR1cm4hMTt0aGlzLm9hPW5ldyBQcm9taXNlKGZ1bmN0aW9uKGIpe2EuQ2E9Yn0pO3JldHVybiEwfTtfLm5GYj1mdW5jdGlvbihhKXtfLmJGYi5yZW1vdmUoYS5BYSk7dmFyIGI9YS5CYSxjPV8uYkZiLGQ9Xy5hRmIoYyxiKTtkJiYoXCJzaVwiaW4gZCYmXy5kRmIuZGVsZXRlKGQuc2kpLGMucmVtb3ZlKGIpKTthLm9hPW51bGw7YS5DYT1udWxsfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5VRWI9bmV3IF8uYW47Xy5VRWIuQWE9ITA7Xy5WRWI9ITE7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBKRWI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChKRWIsXy5xKTtKRWIucHJvdG90eXBlLmpFYT1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywxKX07SkViLnByb3RvdHlwZS5vYT1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywyKX07SkViLnByb3RvdHlwZS5WUD1mdW5jdGlvbigpe3JldHVybiBfLnYodGhpcyxfLkJlLDMpfTtKRWIucHJvdG90eXBlLkxrYT1mdW5jdGlvbigpe3JldHVybiBfLkdoKHRoaXMsXy5CZSwzKX07Xy5LRWI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLktFYixfLnEpO18uS0ViLnByb3RvdHlwZS5nZXRJZD1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywxKX07Xy5LRWIucHJvdG90eXBlLkdhPWZ1bmN0aW9uKCl7cmV0dXJuIF8udih0aGlzLEpFYiwyKX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uTEViPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5VYyhhKSxkPV8uTGMoYSk7YT1fLldjKGEsXCJncmFmdFR5cGVcIik7YT1hPT09XCJub25lXCI/bnVsbDphfHxcImluc2VydFwiO3ZhciBlPWI/Xy5VYyhiKTp2b2lkIDA7Yj1iJiZfLnRpYShiKXx8dm9pZCAwO3JldHVybntsSmE6YyxEb2M6ZCxZRzphLFJ5YTplLHpwYzpifX07Xy5NRWI9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5XYyhhLFwiYXN5bmNSY2xhc3NcIil8fFwiXCIsYz1fLldjKGEsXCJhc3luY1Rva2VuXCIpLGQ9Xy5HRWIoYSk7ZD1fLkhFYihkLGEpO2E9Y3x8Xy5XYyhhLFwiYXN5bmNNZXRob2RcIik9PT1cInN0YXRlZnVsXCI/XCJQT1NUXCI6XCJHRVRcIjtyZXR1cm57eHNyZlRva2VuOmMsV0I6ZCx5YWE6YixzbmE6YX19O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLkFFYj1fLkooXCJ6YlcyQ2ZcIik7Xy5CRWI9Xy5KKFwiT1ozTTdlXCIpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgREViO0RFYj1mdW5jdGlvbihhKXtfLkNFYj1fLnZkKCk7Xy5tZihkb2N1bWVudCxfLkFFYixhKTtyZXR1cm4gbmV3IF8uamYoZnVuY3Rpb24oYil7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsZnVuY3Rpb24gZShkKXtkLmRhdGEudHlwZT09PVwiZG9zQ29va2llXCImJih3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIixlKSxfLm1mKGRvY3VtZW50LF8uQkViKSxiKGRlY29kZVVSSUNvbXBvbmVudChkLmRhdGEuZXhlbXB0aW9uQ29va2llKSkpfSl9KX07Xy5DRWI9bnVsbDtfLkVFYj1ERWI7Xy5GRWI9ITE7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uUEFiPV8uR2QoXCJsdHMzUmVcIixbXSk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uSnhiPVsyLDMsNCw1LDZdO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLnN2PWZ1bmN0aW9uKGEpe3JldHVybiBfLkEoYSwyMyl9O18udHY9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQShhLDQpfTtfLnV2PWZ1bmN0aW9uKGEpe3JldHVybiBfLkEoYSw4KX07Xy52dj1mdW5jdGlvbihhKXtyZXR1cm4gXy5BKGEsNil9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgTnhiO18uS3hiPWZ1bmN0aW9uKGEpe2E9Xy55bmEoYSk7cmV0dXJuIF8uS2hhKGEpfTtfLkx4Yj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uTHhiLF8ucSk7Xy5MeGIucHJvdG90eXBlLmdldE5hbWU9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMSl9O18uTHhiLnByb3RvdHlwZS5kZz1mdW5jdGlvbihhKXtyZXR1cm4gXy5EZSh0aGlzLDEsYSl9O18uTHhiLnByb3RvdHlwZS5oaD1mdW5jdGlvbigpe3JldHVybiBfLlZlKHRoaXMsMSl9O3ZhciBNeGI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChNeGIsXy5xKTtNeGIucHJvdG90eXBlLmFkZFJ1bGU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5aaCh0aGlzLDEsXy5MeGIsYSxiKX07TXhiLm9iPVsxXTtOeGI9Xy5XYihNeGIpO18uT3hiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5PeGIsXy5xKTtfLlB4Yj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uUHhiLF8ucSk7Xy5QeGIub2I9WzFdO18uUHhiLnByb3RvdHlwZS5xYj1cInRxN1B4YlwiO3ZhciBTeGI7Xy5ReGI9e307Xy5SeGI9bnVsbDtfLlR4Yj1mdW5jdGlvbihhKXtfLkhhKF8uUmUoYSxfLk94YiwxLF8uU2UoKSksZnVuY3Rpb24oYil7Xy5HZShiLDEpPT09XCJwdG5ZR2RcIj8oYj1OeGIoXy5BaShiLDMsXy5KeGIpKSxTeGIoYikpOl8uUXhiW18uQShiLDEpXT1ifSl9O1N4Yj1mdW5jdGlvbihhKXtpZihfLlJ4Yil7dmFyIGI9Xy5SZShfLlJ4YixfLkx4YiwxLF8uU2UoKSk7Yj1uZXcgU2V0KGIubWFwKGZ1bmN0aW9uKGQpe3JldHVybiBfLkdlKGQsMSl9KSk7YT1fLlBhKF8uUmUoYSxfLkx4YiwxLF8uU2UoKSkpO2Zvcih2YXIgYz1hLm5leHQoKTshYy5kb25lO2M9YS5uZXh0KCkpYz1jLnZhbHVlLGIuaGFzKF8uR2UoYywxKSl8fF8uUnhiLmFkZFJ1bGUoYyl9ZWxzZSBfLlJ4Yj1hfTtfLlV4Yj1mdW5jdGlvbigpe307XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBsSWIsa0liLGlJYixvSWIscUliLHRJYix2SWIsd0liLHNJYixySWIseUliLHpJYixDSWIsR0liLEZJYixLSWIsTEliLE1JYixOSWIsT0liLGVJYixKSWIsakliLG1JYjtfLmFJYj1mdW5jdGlvbigpe3ZhciBhOyhhPV8uQ0ViKT09bnVsbHx8YS5yZXNvbHZlKCk7Xy5DRWI9bnVsbH07Xy5iSWI9ZnVuY3Rpb24oYSl7aWYoIWEuZGV0YWlscylyZXR1cm4hMTtpZihhLmRldGFpbHMuZSlyZXR1cm4gXy5iSWIoYS5kZXRhaWxzLmUpO3ZhciBiPWEuZGV0YWlscy5ydGV4dDtyZXR1cm4gYS5kZXRhaWxzLmlzciYmKDAsXy5mR2EpKGIpJiZiLmluZGV4T2YoXCJkb3NDb29raWVcIik+PTB9O1xuXy5jSWI9ZnVuY3Rpb24oYSl7aWYoYS5kZXRhaWxzLmUpcmV0dXJuIF8uY0liKGEuZGV0YWlscy5lKTthPWEuZGV0YWlscy5ydGV4dDtpZighKDAsXy5mR2EpKGEpfHxhLmluZGV4T2YoXCJleGVtcHRpb25Db29raWU6XCIpPDApcmV0dXJuXCJcIjt2YXIgYj1hLm1hdGNoKC9leGVtcHRpb25Db29raWU6JyhbXiddKykvKTtpZighYil7Yj1FcnJvcihcImhmXCIpO3ZhciBjPXt9O18ueXBiKGIsKGMucnRleHQ9YS5sZW5ndGg+MjAwP2Euc3Vic3RyaW5nKDAsMjAwKStcIi4uLlwiOmEsYykpO3Rocm93IGI7fXJldHVybiBkZWNvZGVVUklDb21wb25lbnQoYlsxXSl9O18uZEliPWZ1bmN0aW9uKGEpe2lmKGEuZGV0YWlscyl7aWYoYS5kZXRhaWxzLnM9PT00Mjkpe3ZhciBiPWEuZGV0YWlscy5ydXJsO2lmKCgwLF8uZkdhKShiKSYmYi5pbmRleE9mKFwiL3NvcnJ5L2luZGV4P1wiKT4tMSlyZXR1cm4gYn1pZihhLmRldGFpbHMuZSlyZXR1cm4gXy5kSWIoYS5kZXRhaWxzLmUpfX07XG5fLmZJYj1mdW5jdGlvbihhLGIpe2VJYisrO2VJYj09PTEmJl8uWEViKFwiZG9zXCIsZnVuY3Rpb24oKXtyZXR1cm5cIlwiK2VJYn0pO18uU2QoKS5NYyhcImRvc1wiLFwidXJsLlwiK2ErXCIsc3NyYy5cIitlSWIrXCIsdGFyZ2V0LlwiK2IpLmxvZygpfTtfLmdJYj1mdW5jdGlvbihhLGIpe18uU2QoKS5NYyhcImRvc1wiLFwic29sdmVkLHVybC5cIithK1wiLHRhcmdldC5cIitiKS5sb2coKX07XG5sSWI9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9aEliO2U9ZT09PXZvaWQgMD9fLld6YTplO3ZhciBmLGc7cmV0dXJuIF8uYmgoZnVuY3Rpb24oaCl7aWYoaC5vYT09MSl7aWYoXy5iSWIoYSkpcmV0dXJuIGY9Xy5jSWIoYSksaUliKGYsZCksaC5yZXR1cm4oYy5mZXRjaChkKSk7Zz1fLmRJYihhKTtpZighZylyZXR1cm4gaC5NYigyKTtqSWIoZyxiKTtyZXR1cm4gZT9fLkNFYj9fLkZFYj9oLnlpZWxkKF8uQ0ViLnByb21pc2UsNik6aC5NYigyKTpoLnJldHVybihrSWIoZyxiLGMsZCkpOmguTWIoMil9aWYoaC5vYSE9MilyZXR1cm4gaC5yZXR1cm4oYy5mZXRjaChkKSk7dGhyb3cgYTt9KX07XG5rSWI9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU7cmV0dXJuIF8uYmgoZnVuY3Rpb24oZil7c3dpdGNoKGYub2Epe2Nhc2UgMTpyZXR1cm4gZi55aWVsZCgoMCxfLkVFYikoYSksMik7Y2FzZSAyOnJldHVybiBlPWYuQWEsXy5XZyhmLDMpLG1JYihhLGIpLGlJYihlLGQpLGYueWllbGQoYy5mZXRjaChkKSw1KTtjYXNlIDU6cmV0dXJuIGYucmV0dXJuKGYuQWEpO2Nhc2UgMzpfLlpnKGYpLF8uYUliKCksXy4kZyhmLDApfX0pfTtpSWI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1uZXcgTWFwKGIud2cpO2Muc2V0KFwiZ29vZ2xlX2FidXNlXCIsYSk7Yi51cmw9Xy5zRmIoYi5tZXRob2QsYi5ob3N0bmFtZSxiLnBhdGgsYyxiLm5xKTtiLndnPWN9O29JYj1mdW5jdGlvbigpe2Zvcig7bkliLmxlbmd0aD4wOyluSWIuc2hpZnQoKSgpfTtcbnFJYj1mdW5jdGlvbihhLGIsYyxkKXtkPWQ9PT12b2lkIDA/e306ZDt2YXIgZT1kLlNpPT09dm9pZCAwP3ZvaWQgMDpkLlNpO3ZhciBmPWQuSW1hPT09dm9pZCAwP3ZvaWQgMDpkLkltYTt2YXIgZz1kLlhaPT09dm9pZCAwP3ZvaWQgMDpkLlhaO3ZhciBoPWQuTGdhPT09dm9pZCAwPyExOmQuTGdhO3ZhciBrPWQuTGZhPT09dm9pZCAwP3ZvaWQgMDpkLkxmYTt2YXIgbD1kLlQ2PT09dm9pZCAwP3t9OmQuVDY7dmFyIG49ZC5zb3VyY2U9PT12b2lkIDA/dm9pZCAwOmQuc291cmNlO3ZhciByPWQuQWM9PT12b2lkIDA/dm9pZCAwOmQuQWM7cmV0dXJuIF8uYmgoZnVuY3Rpb24odCl7cmV0dXJuIHQueWllbGQoKG5ldyBwSWIoYSxjLHtTaTplLEltYTpmLFhaOmcsTGdhOmgsTGZhOmssVDY6bCxzb3VyY2U6bixBYzpyfSkpLmFwcGx5KGIpLDApfSl9O3RJYj1mdW5jdGlvbihhLGIpe3JJYihfLkt4YihzSWIoYSxudWxsLFwic2NyaXB0XCIpKSxiKX07XG52SWI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLmFHYihhLF8udUliLGZ1bmN0aW9uKCl7Xy5pZChFcnJvcihcIkNmYFwiK2Euc3Vic3RyaW5nKDAsMTAwKSkse3hnOntsOmEubGVuZ3RoLnRvU3RyaW5nKCksdDpifX0pfSk7Xy5iYS5XX2pkfHwoXy5iYS5XX2pkPXt9KTtmb3IodmFyIGQ9Xy5QYShfLlJlKGMsXy4kRmIsMSxfLlNlKCkpKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSllPWUudmFsdWUsXy5iYS5XX2pkW2UuZ2V0SWQoKV09SlNPTi5wYXJzZShlLm9hKCkpO18uR2goYyxfLlB4YiwzKSYmXy5UeGIoXy52KGMsXy5QeGIsMykpfTtcbndJYj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1fLlBhKGEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJzY3JpcHRcIikpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKWQ9ZC52YWx1ZSxkLmhhc0F0dHJpYnV0ZShcInR5cGVcIikmJmQuZ2V0QXR0cmlidXRlKFwidHlwZVwiKSE9PVwidGV4dC9qYXZhc2NyaXB0XCJ8fHJJYihfLkt4YihzSWIoZC50ZXh0LGEsXCJpbmxpbmVcIikpLGIpfTtcbnNJYj1mdW5jdGlvbihhLGIsYyl7Yz17YXN5bmNFcnI6Y307aWYoYiYmKGI9Xy5kbWEoYixmdW5jdGlvbihlKXtyZXR1cm4gXy5tZShlKSYmKGUuaGFzQXR0cmlidXRlKFwianNjb250cm9sbGVyXCIpfHxlLmhhc0F0dHJpYnV0ZShcImlkXCIpKX0pKSl7dmFyIGQ9Yi5nZXRBdHRyaWJ1dGUoXCJqc2NvbnRyb2xsZXJcIik7ZD9jLmN0cmw9ZDpjLmlkPVN0cmluZyhiLmdldEF0dHJpYnV0ZShcImlkXCIpKX1yZXR1cm5cInRyeSB7IFwiK2ErXCIgfSBjYXRjaCAoZSkgeyBnb29nbGUuZGwoZSwgMCwgXCIrSlNPTi5zdHJpbmdpZnkoYykrXCIpOyB9XCJ9O3JJYj1mdW5jdGlvbihhLGIpe3ZhciBjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIik7Xy5ibC5xXyhjLGEpO2dvb2dsZS5hc2M9Yjtkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGMpO2dvb2dsZS5hc2M9dm9pZCAwfTtcbnlJYj1mdW5jdGlvbihhLGIpe2lmKCF4SWIudGVzdChhKSl0aHJvdyBiPUVycm9yKFwiRGZgXCIrYiksYi5kZXRhaWxzPXtpZDphfSxiO307Xy5Ldz1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD97fTpiO3JldHVybiBfLmdlKHpJYihuZXcgQUliKGEpLF8uTUViKGEpLF8uR0ViKGEpLGIpKX07Xy5CSWI9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/e306Yjt2YXIgYz1uZXcgQUliKGEpO3JldHVybiFfLmttLmNvbnRhaW5zKGMuZWxlbWVudCxcInlwXCIpfHxfLmttLmNvbnRhaW5zKGMuZWxlbWVudCxcInlsXCIpP18uZ2UoITEpOl8uZ2UoekliKGMsXy5NRWIoYSksXy5HRWIoYSksYikpfTtfLkRJYj1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD97fTpiO3ZhciBjPW5ldyBBSWIoYSk7YT1DSWIoYyxfLk1FYihhKSxfLkdFYihhKSxiLCEwLG51bGwpO3JldHVybiBfLmdlKGEudGhlbihmdW5jdGlvbigpe30pKX07XG56SWI9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixnLGgsaztyZXR1cm4gXy5iaChmdW5jdGlvbihsKXtzd2l0Y2gobC5vYSl7Y2FzZSAxOmU9YS5zdGFydFVwZGF0ZSgpO2Y9bmV3IF8uUW4oXCJhc3luY1wiLFwiY3NpXCIsdm9pZCAwLHtuY2M6ITF9KTtnPW5ldyBfLk9FYihmLGQuYTRhLGEpO3ZhciBuPWYscj1kLmNvbnRleHQsdD1kLldlYTtuLnN0YXJ0KCk7bi5NYyhcImFzdHlwXCIsYS5XQik7KHI9PW51bGw/dm9pZCAwOnIuZ2V0KFwiYXJjX2lkXCIpKT09PVwic3RldlwiJiYobi5NYyhcInRydFwiLFwic3RcIiksbi5NYyhcInNzclwiLFwiMFwiKSx0JiZuLk1jKFwiYmJcIixcIjFcIikpO3I9bi5vYS5zdGFydERhdGU7dmFyIHUseixCLEY7dD0odT1nb29nbGUpPT1udWxsP3ZvaWQgMDooej11LnRpbWVycyk9PW51bGw/dm9pZCAwOihCPXouYXN5bmMpPT1udWxsP3ZvaWQgMDooRj1CLnQpPT1udWxsP3ZvaWQgMDpGLmF0aXQ7ciYmdCYmbi5PRChcInRjZHRcIixyLXQpO0VJYihhLFwieWxcIik7Xy5VZyhsLDIpO3JldHVybiBsLnlpZWxkKENJYihhLFxuYixjLGQsITEsZiksNCk7Y2FzZSA0OnJldHVybiBoPWwuQWEsaC5oZWFkZXImJihuPV8uQShoLmhlYWRlciwyKSkmJm4hPT1TdHJpbmcoXy5ZRWIpJiZfLlpFYi5zZXQobiwoXy5aRWIuZ2V0KG4pfHwwKSsxKSxsLnlpZWxkKEZJYihkLm9uUmVhZHkpLDUpO2Nhc2UgNTpyZXR1cm4gbC5BYT8oYS5zZXRTdGF0ZShcInlwXCIpLGwucmV0dXJuKCExKSk6bC55aWVsZChxSWIoZSxoLGEse1NpOmYsSW1hOmQuYWZjLFhaOmcsTGdhOmQueUosTGZhOmQuTGZhLFQ2OmQuVDYsc291cmNlOnZvaWQgMCxBYzpkLnRyaWdnZXJ9KSw2KTtjYXNlIDY6aWYoZSE9PWEuZWxlbWVudC5fX3l1cClyZXR1cm4gbC5yZXR1cm4oITEpO2Euc2V0U3RhdGUoXCJ5ZlwiKTtfLlNFYihnLGEuZWxlbWVudCk7cmV0dXJuIGwucmV0dXJuKCEwKTtjYXNlIDI6az1fLllnKGwpO249Zjt1PWQuYTRhO18uUm4obixcImZ0XCIpO3UmJnUobik7bi5sb2coKTtpZihlIT09YS5lbGVtZW50Ll9feXVwKXJldHVybiBsLnJldHVybighMSk7XG5FSWIoYSxcInllXCIpO3Rocm93IGs7fX0pfTtDSWI9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3ZhciBnPV8uVUViLk9oKCkuSUhhLmJ1aWxkKGIsYyxfLkxFYihhLmVsZW1lbnQsZC50cmlnZ2VyKSxkLGEuZWxlbWVudC5pZCxlKTtmJiYoZy5TaT1mKTt2YXIgaD1fLlVFYi5PaCgpLm5tO3JldHVybiBoLmZldGNoKGcpLmNhdGNoKGZ1bmN0aW9uKGspe3JldHVybiBfLmJoKGZ1bmN0aW9uKGwpe3JldHVybiBsLnJldHVybihsSWIoayxhLmVsZW1lbnQuaWQsaCxnKSl9KX0pfTtHSWI9ZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3ZhciBjPV8uZEliKGIpO2MmJl8uZkliKGMsYSk7dGhyb3cgYjt9fTtGSWI9ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuIF8uYmgoZnVuY3Rpb24oYyl7cmV0dXJuIGMub2E9PTE/YT9jLnlpZWxkKGEuY2FsbChudWxsKSwzKTpjLk1iKDIpOmMub2EhPTI/KGI9Yy5BYSxjLnJldHVybihiIT09dm9pZCAwJiYhYikpOmMucmV0dXJuKCExKX0pfTtfLkhJYj1mdW5jdGlvbihhKXsobmV3IEFJYihhKSkucmVzZXQoKX07XG5LSWI9ZnVuY3Rpb24oKXt2YXIgYSxiLGMsZCxlLGYsZyxoLGs7cmV0dXJuIF8uYmgoZnVuY3Rpb24obCl7aWYobC5vYT09MSl7YT13aW5kb3cuZ29vZ2xlLmFpcGY7d2luZG93Lmdvb2dsZS5haXBmPXtwdXNoOmZ1bmN0aW9uKCl7Xy5pZChFcnJvcihcIkVmXCIpKX19O18uSUliPXt9O2I9Xy5QYShhKTtmb3IoYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpZD1jLnZhbHVlLF8uSUliW2QuaWRdPWQ7dmFyIG49bC55aWVsZDtKSWJ8fChfLlZFYj9KSWI9UHJvbWlzZS5yZXNvbHZlKF8uVUViLk9oKCkpOihfLldFYj1uZXcgXy5zZyxKSWI9Xy5XRWIucHJvbWlzZSkpO3JldHVybiBuLmNhbGwobCxKSWIsMil9ZT1sLkFhO2Y9ZS5CcmQ7Zz1fLlBhKGEpO2ZvcihoPWcubmV4dCgpOyFoLmRvbmU7aD1nLm5leHQoKSlrPWgudmFsdWUsZi5Wd2IoaykuY2F0Y2goR0liKGsuaWQpKTtfLlNnKGwpfSl9O1xuTEliPWZ1bmN0aW9uKGEpe2lmKGEubWQpXy5YemE/bkliLnB1c2goZnVuY3Rpb24oKXt2SWIoYS5tZCxhLmF0KX0pOnZJYihhLm1kLGEuYXQpO2Vsc2UgaWYoYS5kcil7dmFyIGI9ITEsYz1mdW5jdGlvbigpe2J8fChiPSEwLGEuZHIoKSl9O18uVnphP2dvb2dsZS5yYWlyaWNiKGMpOigoMCxfLnFuKShjLDQwMCksKDAsXy5xbikoZnVuY3Rpb24oKXtnb29nbGUuY2FmdChjKX0sNTApKX19O01JYj1mdW5jdGlvbigpe3ZhciBhPV8ubnJhKCk7Xy5BUWE/KDAsZ29vZ2xlLmpkLm1zKSgpOmEuY291bnRlcisrfTtcbk5JYj1mdW5jdGlvbigpe3ZhciBhPV8ubnJhKCk7aWYoXy5BUWEpKDAsZ29vZ2xlLmpkLm1kKSgpO2Vsc2UgZm9yKHZhciBiPS0tYS5jb3VudGVyPT09MCxjPV8uUGEoYS5vYSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpe3ZhciBlPV8uUGEoZC52YWx1ZSk7ZD1lLm5leHQoKS52YWx1ZTtlPWUubmV4dCgpLnZhbHVlO3ZhciBmPV8uYmEuV19qZFtkXTtpZihmfHxiKWUoZnx8bnVsbCksYS5vYS5kZWxldGUoZCl9fTtcbk9JYj1mdW5jdGlvbihhLGIpe2lmKGEudGFyZ2V0KXt2YXIgYz1hLnRhcmdldC5lbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCJbZGF0YS1zdWJ0cmVlXVwiKTtjPV8uUGEoYyk7Zm9yKHZhciBkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9ZC52YWx1ZTtpZihlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJihkPWUuZGF0YXNldC5zdWJ0cmVlLE9iamVjdC52YWx1ZXMoXy5ORWIpLmluY2x1ZGVzKGQpLGQpKWlmKGIuY29udGFpbnMoZSkpe2U9YS5TaTt2YXIgZj1cInNpcnRcIjtkJiYoZj1cInNpcnQtXCIrZCk7KGY9ZS5ydFtmXSl8fGY9PT0wfHxlLk9EKFwic2lydFwiLGUub2EuZWxhcHNlZFRpbWUoKSxkKTtfLlJuKGEuU2ksXCJzYXJ0XCIsZCk7Xy5SbihhLlNpLFwic2NydFwiLGQpfWVsc2UgZS5jb250YWlucyhiKSYmKF8uUm4oYS5TaSxcInNhcnRcIixkKSxfLlJuKGEuU2ksXCJzY3J0XCIsZCkpfX19O2VJYj0wO2pJYj1fLmZJYjttSWI9Xy5nSWI7dmFyIFBJYj0wLEFJYj1mdW5jdGlvbihhKXt0aGlzLmVsZW1lbnQ9YTt0aGlzLkYwPV8uR0ViKGEpO3RoaXMuV0I9Xy5IRWIodGhpcy5GMCxhKTt0aGlzLnlhYT1fLldjKGEsXCJhc3luY1JjbGFzc1wiKXx8XCJcIjt0aGlzLm1ldGhvZD0odGhpcy54c3JmVG9rZW49Xy5XYyhhLFwiYXN5bmNUb2tlblwiKSl8fF8uV2MoYSxcImFzeW5jTWV0aG9kXCIpPT09XCJzdGF0ZWZ1bFwiP1wiUE9TVFwiOlwiR0VUXCJ9O0FJYi5wcm90b3R5cGUuc3RhcnRVcGRhdGU9ZnVuY3Rpb24oKXtQSWIrKztyZXR1cm4gdGhpcy5lbGVtZW50Ll9feXVwPVBJYn07QUliLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuZWxlbWVudC50ZXh0Q29udGVudD1cIlwiO3RoaXMuZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoXCJlaWRcIik7dGhpcy5zZXRTdGF0ZShcInlwXCIpO2RlbGV0ZSB0aGlzLmVsZW1lbnQuX195dXA7Xy5vZygpfTtcbkFJYi5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24oYSl7Xy5rbS5yZW1vdmVBbGwodGhpcy5lbGVtZW50LFFJYik7Xy5rbS5yZW1vdmVBbGwodGhpcy5lbGVtZW50LFJJYik7Xy5rbS5hZGQodGhpcy5lbGVtZW50LGEpO18uSHcodGhpcy5lbGVtZW50LFNJYlthXSl9O3ZhciBFSWI9ZnVuY3Rpb24oYSxiKXtfLmttLnJlbW92ZUFsbChhLmVsZW1lbnQsUkliKTtfLmttLmFkZChhLmVsZW1lbnQsYik7Xy5IdyhhLmVsZW1lbnQsU0liW2JdKX0sUUliPVtcInlwXCIsXCJ5ZlwiLFwieWlcIl0sUkliPVtcInlsXCIsXCJ5ZVwiXSxUSWI9e30sU0liPShUSWIueXA9XCJhc3luY1Jlc2V0XCIsVEliLnlmPVwiYXN5bmNGaWxsZWRcIixUSWIueWw9XCJhc3luY0xvYWRpbmdcIixUSWIueWU9XCJhc3luY0Vycm9yXCIsVEliKTt2YXIgbkliPVtdO18udUliPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy51SWIsXy5xKTtfLnVJYi5vYj1bMV07Xy5VSWI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLlVJYixfLnEpO18uVUliLm9iPVsxXTt2YXIgeEliPS9eW1xcdy0uOl0qJC8scEliPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1jPT09dm9pZCAwP3t9OmM7Yz1kLlNpPT09dm9pZCAwP3ZvaWQgMDpkLlNpO3ZhciBlPWQuSW1hPT09dm9pZCAwP3ZvaWQgMDpkLkltYTt2YXIgZj1kLlhaPT09dm9pZCAwP3ZvaWQgMDpkLlhaO3ZhciBnPWQuTGdhPT09dm9pZCAwPyExOmQuTGdhO3ZhciBoPWQuTGZhPT09dm9pZCAwP3ZvaWQgMDpkLkxmYTt2YXIgaz1kLlQ2PT09dm9pZCAwP3t9OmQuVDY7dmFyIGw9ZC5zb3VyY2U9PT12b2lkIDA/dm9pZCAwOmQuc291cmNlO2Q9ZC5BYz09PXZvaWQgMD92b2lkIDA6ZC5BYzt0aGlzLkxhPWE7dGhpcy50YXJnZXQ9Yjt0aGlzLkJhPVtdO3RoaXMuQWE9bmV3IE1hcDt0aGlzLkNhPVtdO3RoaXMub2E9ITE7dGhpcy5laT1cIlwiO3RoaXMuR2E9W107dGhpcy5TaT1jO3RoaXMuSW1hPWU7dGhpcy5YWj1mO3RoaXMuTGdhPWc7dGhpcy5MZmE9aDt0aGlzLlQ2PWs7dGhpcy5zb3VyY2U9bDt0aGlzLkFjPWR9O1xucEliLnByb3RvdHlwZS5hcHBseT1mdW5jdGlvbihhKXt2YXIgYj10aGlzLGMsZCxlLGY7cmV0dXJuIF8uYmgoZnVuY3Rpb24oZyl7c3dpdGNoKGcub2Epe2Nhc2UgMTpNSWIoKTtjPW51bGw7Yi5laT1fLkEoYS5oZWFkZXIsMSl8fFwiXCI7aWYoIV8uWXphKXJldHVybiBfLldnKGcsNyksZy55aWVsZChhLnJlc291cmNlcy5mb3JFYWNoKGZ1bmN0aW9uKGgpe2IuQmEucHVzaChoKTtjfHwoYz1uZXcgUHJvbWlzZShmdW5jdGlvbihrLGwpeygwLF8ud2QpKGZ1bmN0aW9uKCl7Z29vZ2xlLmpzbG09OTtnb29nbGUuanNsYT1iLnRhcmdldC5XQjt0cnl7VkliKGIpfWNhdGNoKG4pe2wobil9Yz1udWxsO2dvb2dsZS5qc2xtPTEwO2dvb2dsZS5qc2xhPXZvaWQgMDtrKCl9KX0pKX0pLDcpO18uV2coZyw0KTtyZXR1cm4gZy55aWVsZChhLnJlc291cmNlcy5mb3JFYWNoKGZ1bmN0aW9uKGgpe2IuQmEucHVzaChoKTtnb29nbGUuanNsbT05O2dvb2dsZS5qc2xhPWIudGFyZ2V0LldCO1ZJYihiKTtnb29nbGUuanNsbT1cbjEwO2dvb2dsZS5qc2xhPXZvaWQgMH0pLDQpO2Nhc2UgNDpfLlpnKGcpO2Q9Xy5QYShiLkdhKTtmb3IoZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpZj1lLnZhbHVlLFdJYihiLGYpO05JYigpO18uJGcoZywzKTticmVhaztjYXNlIDc6cmV0dXJuIF8uWmcoZyksXy5XZyhnLDEwKSxnLnlpZWxkKGMsMTIpO2Nhc2UgMTI6cmV0dXJuIGcueWllbGQoUHJvbWlzZS5hbGwoYi5DYSksMTApO2Nhc2UgMTA6Xy5aZyhnLDAsMCwxKTtOSWIoKTtfLiRnKGcsMTEsMSk7YnJlYWs7Y2FzZSAxMTpfLiRnKGcsMyk7YnJlYWs7Y2FzZSAzOmlmKCFiLm9hJiZiLmlzQWN0aXZlKCkpdGhyb3cgRXJyb3IoXCJ1ZlwiKTtfLm9nKCk7Xy5TZyhnKX19KX07cEliLnByb3RvdHlwZS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkxhPT09dGhpcy50YXJnZXQuZWxlbWVudC5fX3l1cH07XG52YXIgVkliPWZ1bmN0aW9uKGEpe2lmKGEuaXNBY3RpdmUoKSl7Zm9yKDthLkJhLmxlbmd0aDspe3ZhciBiPWEuQmEuc2hpZnQoKSxjPWIubWV0YWRhdGEuZ2V0VHlwZSgpO2lmKGM9PT0xMSliPVhJYihiLmJvZHkpLGEub2E/YS5DYS5wdXNoKFlJYihhLGIpKTooYS5DYS5wdXNoKFpJYihhLGIpKSxhLm9hPSEwKTtlbHNlIGlmKGMhPT0yfHxfLlZlKGIubWV0YWRhdGEsMikpaWYoYz09PTEyKSRJYihiKTtlbHNle2lmKCFhLm9hJiZjIT09NCl0aHJvdyBFcnJvcihcInZmYFwiK2EudGFyZ2V0LldCKTtXSWIoYSxiKX1lbHNle2lmKGEub2EpdGhyb3cgRXJyb3IoXCJ3ZmBcIithLnRhcmdldC5XQik7YUpiKGEsXy4kZShiLmJvZHkpLGIuYm9keS5sZW5ndGgpO2Eub2E9ITB9fWJKYihhKX19LCRJYj1mdW5jdGlvbihhKXt2YXIgYj1fLmFHYihhLmJvZHksXy5VSWIsZnVuY3Rpb24oKXtfLmlkKEVycm9yKFwieGZcIikse2xldmVsOjAseGc6e2w6XCJcIithLmJvZHkubGVuZ3RofX0pfSk7Xy5lbmEoXy5SZShiLFxuXy5kbmEsMSxfLlNlKF8uRGgpKSl9LFlJYj1mdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGcsaDtyZXR1cm4gXy5iaChmdW5jdGlvbihrKXtzd2l0Y2goay5vYSl7Y2FzZSAxOnZhciBsPWIuZ2V0SWQoKSxuPWEuQWEuZ2V0KGwpO258fChuPW5ldyBjSmIsYS5BYS5zZXQobCxuKSk7Yz1uLnByb21pc2U7Xy5VZyhrLDIpO2Q9TWF0aC5mbG9vcihwZXJmb3JtYW5jZS5ub3coKSk7cmV0dXJuIGsueWllbGQoYS5sWGEoYiksNCk7Y2FzZSA0OnJldHVybiBlPWsuQWEsay55aWVsZChjLDUpO2Nhc2UgNTpmPWsuQWE7ZEpiKGEsZSxmLGEuWFopO2c9TWF0aC5mbG9vcihwZXJmb3JtYW5jZS5ub3coKSk7Xy5TZCgpLk1jKFwiY2FkXCIsXCJ1Y3JhX3JuLlwiK2IuZ2V0SWQoKStcIi5cIitkK1wiLlwiK2cpLk1jKFwiamV4cGlkXCIsZ29vZ2xlLmtFWFBJKS5sb2coKTtfLlhnKGssMyk7YnJlYWs7Y2FzZSAyOmg9Xy5ZZyhrKSxfLmlkKGgse2xldmVsOjAseGc6e3A6Yi5XYygpLnN1YnN0cmluZygwLDEwMCksdDpcInJlbmRlcl9ub2RlXCJ9fSk7XG5jYXNlIDM6YkpiKGEpLF8uU2coayl9fSl9LGJKYj1mdW5jdGlvbihhKXt2YXIgYj1hLnRhcmdldC5lbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCJbZGF0YS1hc3luYy1waF1cIik7Yj1fLlBhKGIpO2Zvcih2YXIgYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpe2M9Yy52YWx1ZTt2YXIgZD1fLldjKGMsXCJhc3luY1BoXCIpLGU9YS5BYS5nZXQoZCk7ZXx8KGU9bmV3IGNKYixhLkFhLnNldChkLGUpKTtlLnJlc29sdmUoYyl9fSxaSWI9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGU7cmV0dXJuIF8uYmgoZnVuY3Rpb24oZil7c3dpdGNoKGYub2Epe2Nhc2UgMTpyZXR1cm4gXy5VZyhmLDIpLGYueWllbGQoYS5sWGEoYiksNCk7Y2FzZSA0OmM9Zi5BYTtkPVN0cmluZyhfLnRjKGMpKTthSmIoYSxjLGQubGVuZ3RoKTtfLlhnKGYsMyk7YnJlYWs7Y2FzZSAyOmU9Xy5ZZyhmKSxfLmlkKGUse2xldmVsOjAseGc6e3A6Yi5XYygpLnN1YnN0cmluZygwLDEwMCksdDpcInJlbmRlcl9ub2RlXCJ9fSk7Y2FzZSAzOmJKYihhKSxcbl8uU2coZil9fSl9LFhJYj1mdW5jdGlvbihhKXtyZXR1cm4gXy5hR2IoYSxfLktFYixmdW5jdGlvbigpe18uaWQoRXJyb3IoXCJ5ZlwiKSx7bGV2ZWw6MCx4Zzp7cDphLnN1YnN0cmluZygwLDEwMCksdDpcInJlbmRlcl9ub2RlXCJ9fSl9KX07cEliLnByb3RvdHlwZS5sWGE9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxjLGQ7cmV0dXJuIF8uYmgoZnVuY3Rpb24oZSl7aWYoZS5vYT09MSlyZXR1cm4gZS55aWVsZChfLnlmKGIuc291cmNlLHtzZXJ2aWNlOntyZW5kZXJlcjpfLlBBYn19KSwyKTtpZihlLm9hIT0zKXtjPWUuQWE7dmFyIGY9ZS55aWVsZCxnPWMuc2VydmljZS5yZW5kZXJlcixoPWcubFhhO3ZhciBrPV8uTEViKGIudGFyZ2V0LmVsZW1lbnQsYi5BYyk7dmFyIGw9ay5sSmE7az1rLlJ5YTtsPWw/e094YjpsLFNlOms/bmV3IF8uTGYoayk6dm9pZCAwfTp2b2lkIDA7cmV0dXJuIGYuY2FsbChlLGguY2FsbChnLGEsbCksMyl9ZD1lLkFhO3JldHVybiBlLnJldHVybihkKX0pfTtcbnZhciBhSmI9ZnVuY3Rpb24oYSxiLGMpe2EuU2kmJihhLlNpLk1jKFwiZWlcIixhLmVpKSxfLlJuKGEuU2ksXCJzdFwiKSxhLlNpLk9EKFwiYnNcIixjKSk7Xy5CYyhhLnRhcmdldC5lbGVtZW50LGIpO2EuTGdhJiZ3SWIoYS50YXJnZXQuZWxlbWVudCxhLlQ2KTthLlhaJiYoT0liKGEuWFosYS50YXJnZXQuZWxlbWVudCksXy5SRWIoYS5YWixhLnRhcmdldC5lbGVtZW50KSk7YS50YXJnZXQuZWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJlaWRcIixhLmVpKX07cEliLnByb3RvdHlwZS5NYT1mdW5jdGlvbihhLGIpe2E9YXx8XCJcIjt5SWIoYSx0aGlzLnRhcmdldC5XQik7Yj1iKGEpO2lmKCFiKXRocm93IGI9RXJyb3IoXCJ6ZmBcIit0aGlzLnRhcmdldC5XQiksYi5kZXRhaWxzPXtpZDphfSxiO3JldHVybiBifTtcbnZhciBXSWI9ZnVuY3Rpb24oYSxiKXtzd2l0Y2goXy5oaShiLm1ldGFkYXRhLDEpKXtjYXNlIDE6YnJlYWs7Y2FzZSAyOnZhciBjPWEuTWEoXy5BKGIubWV0YWRhdGEsMiksXy5qbCk7Xy5CYyhjLF8uJGUoYi5ib2R5KSk7YS5YWiYmT0liKGEuWFosYyk7YS5MZ2EmJndJYihjLGEuVDYpO2JyZWFrO2Nhc2UgNjpjPWEuTWEoXy5BKGIubWV0YWRhdGEsMiksZnVuY3Rpb24oZSl7cmV0dXJuIGEudGFyZ2V0LmVsZW1lbnQucXVlcnlTZWxlY3RvcignW2RhdGEtYXN5bmMtcGg9XCInK2UrJ1wiXScpfSk7ZEpiKGEsXy4kZShiLmJvZHkpLGMsYS5YWik7YnJlYWs7Y2FzZSAzOmM9Xy5BKGIubWV0YWRhdGEsMik7eUliKGMsYS50YXJnZXQuV0IpO3ZhciBkPV8uamwoYyl8fGEudGFyZ2V0LmVsZW1lbnQucXVlcnlTZWxlY3RvcignaW1nW2RhdGEtaWlkPVwiJytjKydcIl0nKTtpZighZCl7aWYoYS50YXJnZXQuV0I9PT1cImZvbHNyY2hcIiYmIWEuR2EuaW5jbHVkZXMoYikpe2EuR2EucHVzaChiKTticmVha31fLmlkKEVycm9yKFwiQWZcIiksXG57eGc6e2lkOmN9fSk7YnJlYWt9ZC5HbWQ/cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7Xy5qR2IoZCxiLmJvZHkpfSk6KF8uakdiKGQsYi5ib2R5KSxkLkdtZD0hMCk7YnJlYWs7Y2FzZSA0OnRJYihiLmJvZHksYS5UNik7YnJlYWs7Y2FzZSA3OmM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpO2MuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoYi5ib2R5KSk7YS50YXJnZXQuZWxlbWVudC5hcHBlbmRDaGlsZChjKTticmVhaztjYXNlIDU6Xy5YemE/bkliLnB1c2goZnVuY3Rpb24oKXt2SWIoYi5ib2R5LGEudGFyZ2V0LldCKX0pOnZJYihiLmJvZHksYS50YXJnZXQuV0IpO2JyZWFrO2Nhc2UgMTM6Yz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO18uQmMoYyxfLiRlKGIuYm9keSkpO2EudGFyZ2V0LmVsZW1lbnQuYXBwZW5kQ2hpbGQoYyk7YnJlYWs7Y2FzZSA4OmM9SlNPTi5wYXJzZShiLmJvZHkpO2dvb2dsZS54c3JmPU9iamVjdC5hc3NpZ24oZ29vZ2xlLnhzcmZ8fFxue30sYyk7YnJlYWs7Y2FzZSA5OmEuSW1hJiZhLkltYS5jYWxsKG51bGwsYi5ib2R5KTticmVhaztkZWZhdWx0Ol8uaWQoRXJyb3IoXCJCZmBcIitfLmhpKGIubWV0YWRhdGEsMSkpKSxfLmhpKGIubWV0YWRhdGEsMSl9fSxkSmI9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtfLkJjKGUsYik7Zm9yKHZhciBmPWEuTGdhP0FycmF5LmZyb20oZS5nZXRFbGVtZW50c0J5VGFnTmFtZShcInNjcmlwdFwiKSxmdW5jdGlvbihoKXtyZXR1cm4gaC50ZXh0fSk6W10sZz1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7ZS5maXJzdENoaWxkOylnLmFwcGVuZENoaWxkKGUuZmlyc3RDaGlsZCk7YS5MZmEmJihnPWEuTGZhKGcsYykpO2U9ZD9BcnJheS5mcm9tKGcuY2hpbGRyZW4pOnZvaWQgMDtiPWMucGFyZW50RWxlbWVudDtiLnJlcGxhY2VDaGlsZChnLGMpO2Y9Xy5QYShmKTtmb3IoZz1mLm5leHQoKTshZy5kb25lO2c9Zi5uZXh0KCkpckliKF8uS3hiKHNJYihnLnZhbHVlLFxuYyxcInJoXCIpKSxhLlQ2KTtpZihkKWZvcihPSWIoZCxiKSxhPV8uUGEoZSksYz1hLm5leHQoKTshYy5kb25lO2M9YS5uZXh0KCkpXy5SRWIoZCxjLnZhbHVlKX0sY0piPWZ1bmN0aW9uKCl7dmFyIGE7dGhpcy5wcm9taXNlPW5ldyBQcm9taXNlKGZ1bmN0aW9uKGIpe2E9Yn0pO3RoaXMucmVzb2x2ZT1hfTt2YXIgZUpiLGdKYjtfLmZKYj0oKGVKYj13aW5kb3cuZ29vZ2xlKT09bnVsbD8wOmVKYi5haXBmKT9LSWIoKTpQcm9taXNlLnJlc29sdmUoKTtpZigoZ0piPWdvb2dsZSk9PW51bGw/MDpnSmIucmFpcmRjYilNSWIoKSxnb29nbGUucmFpcmRjYihmdW5jdGlvbigpe05JYigpfSk7Xy5YemEmJihfLlV4Yj1vSWIsXy5ucmEoKS5BYT1vSWIpO3ZhciBoSmI7aWYoKGhKYj13aW5kb3cuZ29vZ2xlKT09bnVsbD8wOmhKYi5haXJtZCl7Zm9yKHZhciBpSmI9Xy5QYSh3aW5kb3cuZ29vZ2xlLmFpcm1kKSxqSmI9aUpiLm5leHQoKTshakpiLmRvbmU7akpiPWlKYi5uZXh0KCkpTEliKGpKYi52YWx1ZSk7d2luZG93Lmdvb2dsZS5haXJtZD17cHVzaDpmdW5jdGlvbihhKXtyZXR1cm4gdm9pZCBMSWIoYSl9fX12YXIgaEliPV8uV3phO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgZmpjPWZ1bmN0aW9uKGEpe3JldHVybiFhfHxhIGluc3RhbmNlb2YgTWFwP25ldyBNYXAoYXx8W10pOm5ldyBNYXAoT2JqZWN0LmVudHJpZXMoYSkpfSxnamM9ZnVuY3Rpb24oYSl7YT1fLldjKGEsXCJhc3luY1RyaWdnZXJcIik7cmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEpfSxoamM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uTmYoYSxcImFzeW5jVHJpZ2dlclwiKX0sampjPWZ1bmN0aW9uKGEsYil7aWYoYSl7Zm9yKHZhciBjPVtdLGQ9MDtkPGIuYXR0cmlidXRlcy5sZW5ndGg7KytkKXt2YXIgZT1iLmF0dHJpYnV0ZXNbZF07ZS5uYW1lIGluIGlqY3x8Yy5wdXNoKGUubmFtZSl9Xy5IYShjLGZ1bmN0aW9uKGYpe2IucmVtb3ZlQXR0cmlidXRlKGYpfSk7Yz1fLlBhKE9iamVjdC5rZXlzKGEpKTtmb3IoZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpZD1kLnZhbHVlLGIuc2V0QXR0cmlidXRlKGQsYVtkXSl9fSxtamM9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFwiLlwiK1xua2pjLmlubGluZWQpO18uSGEoYSxmdW5jdGlvbihiKXsobmV3IGxqYyhiKSkuc2V0U3RhdGUoXCJmaWxsZWRcIil9KX0sbmpjPWZ1bmN0aW9uKCl7cmV0dXJuKG5ldyBfLlFuKFwiYXN5bmNcIikpLnN0YXJ0KCl9LHNqYz1mdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGcsaCxrLGw7cmV0dXJuIF8uYmgoZnVuY3Rpb24obil7c3dpdGNoKG4ub2Epe2Nhc2UgMTpyZXR1cm4gXy5VZyhuLDIpLG4ueWllbGQoXy5VRWIuT2goKS5ubS5mZXRjaChhKSw0KTtjYXNlIDQ6cmV0dXJuIGM9bi5BYSxhLlNpJiYoZD1fLkEoYy5oZWFkZXIsMSkpJiYoYS5TaS5NYyhcImVpXCIsZCksYi5zZXRBdHRyaWJ1dGUoXCJhc3luYy1laVwiLGQpKSxlPVtdLG4ueWllbGQoYy5yZXNvdXJjZXMuZm9yRWFjaChmdW5jdGlvbihyKXt2YXIgdCx1LHosQixGLEssUCxRO3JldHVybiBfLmJoKGZ1bmN0aW9uKFUpe3N3aXRjaChVLm9hKXtjYXNlIDE6c3dpdGNoKF8uaGkoci5tZXRhZGF0YSwxKSl7Y2FzZSAxOmJyZWFrO2Nhc2UgMjphLlNpJiZcbmEuU2kuT0QoXCJic1wiLHIuYm9keS5sZW5ndGgpO2UucHVzaChyLmJvZHkpO2JyZWFrO2Nhc2UgNDp0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIik7Xy5ibC5xXyh0LF8uS3hiKHIuYm9keSkpO3U9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTt1LmFwcGVuZENoaWxkKHQpO2UucHVzaCh1LmlubmVySFRNTCk7YnJlYWs7Y2FzZSA1Ono9Xy5hR2Ioci5ib2R5LF8udUliLGZ1bmN0aW9uKCl7cmV0dXJuIF8uaWQoRXJyb3IoXCJJZ2BcIityLmJvZHkuc3Vic3RyKDAsMTAwKSkse3hnOntsOlwiXCIrci5ib2R5Lmxlbmd0aCx0OmEuV0J9fSl9KTtmPV8uUmUoeixfLiRGYiwxLF8uU2UoKSk7Zz1fLkdoKHosXy5QeGIsMyk/Xy52KHosXy5QeGIsMyk6dm9pZCAwO2JyZWFrO2Nhc2UgODpCPUpTT04ucGFyc2Uoci5ib2R5KTtoPU9iamVjdC5hc3NpZ24oaHx8e30sQik7YnJlYWs7Y2FzZSA5OmJyZWFrO2Nhc2UgNjpjYXNlIDM6dGhyb3cgRXJyb3IoXCJKZ1wiKTtjYXNlIDExOnJldHVybiBVLk1iKDIpO1xuY2FzZSAxMjpvamMocik7YnJlYWs7ZGVmYXVsdDpfLmlkKEVycm9yKFwiQmZgXCIrXy5oaShyLm1ldGFkYXRhLDEpKSksXy5oaShyLm1ldGFkYXRhLDEpfVUuTWIoMCk7YnJlYWs7Y2FzZSAyOnJldHVybiBGPV8uYUdiKHIuYm9keSxfLktFYixmdW5jdGlvbigpe18uaWQoRXJyb3IoXCJLZ1wiKSx7bGV2ZWw6MCx4Zzp7bDpcIlwiK3IuYm9keS5sZW5ndGgsdDphLldCfX0pfSksXy5VZyhVLDQpLFUueWllbGQoXy55Zih2b2lkIDAse3NlcnZpY2U6e3JlbmRlcmVyOl8uZWpjfX0pLDYpO2Nhc2UgNjpyZXR1cm4gSz1VLkFhLFUueWllbGQoSy5sWGEoRiksNyk7Y2FzZSA3OlA9VS5BYTtlLnB1c2goU3RyaW5nKF8udGMoUCkpKTtfLlhnKFUsNSk7YnJlYWs7Y2FzZSA0OlE9Xy5ZZyhVKSxfLmlkKFEse2xldmVsOjAseGc6e2w6XCJcIityLmJvZHkubGVuZ3RoLHQ6YS5XQn19KTtjYXNlIDU6VS5NYigwKX19KX0pLDUpO2Nhc2UgNTpyZXR1cm4gYS5TaSYmXy5SbihhLlNpLFwic3RcIiksaz1uZXcgcGpjKGUuam9pbihcIlwiKSxcbnZvaWQgMCx2b2lkIDAsZixnLGgpLHFqYyhrKSxuLnJldHVybihuZXcgcmpjKGIuaWQsay52QSgpKSk7Y2FzZSAyOnRocm93IGw9Xy5ZZyhuKSxhLlNpJiYoXy5SbihhLlNpLFwiZnRcIiksYS5TaS5sb2coKSksbDt9fSl9LG9qYz1mdW5jdGlvbihhKXt2YXIgYj1fLmFHYihhLmJvZHksXy5VSWIsZnVuY3Rpb24oKXtfLmlkKEVycm9yKFwieGZcIikse2xldmVsOjAseGc6e2w6XCJcIithLmJvZHkubGVuZ3RofX0pfSk7Xy5lbmEoXy5SZShiLF8uZG5hLDEsXy5TZShfLkRoKSkpfSx1amM9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9bmpjKCk7cmV0dXJuIHRqYyhhLGUsYixjLGQpfSx0amM9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj12amMoYSxiLGMsZCxlKTtfLndqYyhmLnRhcmdldCxcImxvYWRpbmdcIik7cmV0dXJuIGYuZmV0Y2goKS50aGVuKGZ1bmN0aW9uKGcpe2cuYXBwbHkoKTtmLnRhcmdldC5zZXRTdGF0ZShcImZpbGxlZFwiKTtnPW5ldyBfLk9FYihiKTtfLlJFYihnLGYudGFyZ2V0LmVsZW1lbnQpO1xuXy5TRWIoZyxmLnRhcmdldC5lbGVtZW50KX0pLnRoZW4odm9pZCAwLGZ1bmN0aW9uKGcpe18ud2pjKGYudGFyZ2V0LFwiZXJyb3JcIik7dGhyb3cgZzt9KX0seGpjPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcpe3JldHVybiB2amMoYSxiLGMsZCxlLGcpLmZldGNoKCkudGhlbihmdW5jdGlvbihoKXtmP2YoYik6Yi5sb2coKTtyZXR1cm4gaH0pfSx5amM9ZnVuY3Rpb24oYSxiKXt2YXIgYz1uZXcgTWFwO2ImJihjPWZqYyhiKSk7Yy5zZXQoXCJnb29nbGVfYWJ1c2VcIixhKTtyZXR1cm4gYj1PYmplY3QuZnJvbUVudHJpZXMoYyl9LHpqYz1mdW5jdGlvbihhKXtfLmlkKGEse3hnOmEuZGV0YWlsc30pfSxBamM9ZnVuY3Rpb24oKXtfLkJtYShcImFzeW5jXCIse3U6ZnVuY3Rpb24oYSl7YT1hLkFiLmVsKCk7dWpjKGEpLnRoZW4odm9pZCAwLHpqYyl9fSk7bWpjKCl9LEJqYz1fLldiKF8uUHhiKSxDamM9Xy5XYihfLiRGYiksRGpjPWZ1bmN0aW9uKGEsYil7dGhpcy5vYT1iO3RoaXMuY2FjaGU9Xy5aZChfLmJhLm9hP1xuXCJuXCI6XCJzXCIsYSl9O0RqYy5wcm90b3R5cGUuc3RvcmU9ZnVuY3Rpb24oYSxiKXt0aGlzLmNhY2hlLnNldChhLGIuV2MoKSl9O0RqYy5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe2lmKGE9dGhpcy5jYWNoZS5nZXQoYSkpdHJ5e3JldHVybiB0aGlzLm9hKGEuc2xpY2UoKSl9Y2F0Y2goYil7fXJldHVybiBudWxsfTtEamMucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbihhKXt0aGlzLmNhY2hlLnJlbW92ZShhKX07RGpjLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuY2FjaGUuY2xlYXIoKX07dmFyIHJqYz1mdW5jdGlvbihhLGIsYyl7dGhpcy5jb250YWluZXJJZD1hO3RoaXMueHFhPWI7dGhpcy5jaGlsZHJlbj1jfSxGamMsR2pjLE5qYyxpamMsT2pjLHFqYyxKamMsS2pjO3JqYy5wcm90b3R5cGUuV2M9ZnVuY3Rpb24oKXt2YXIgYT1bdGhpcy5jb250YWluZXJJZCx0aGlzLnhxYV07dGhpcy5jaGlsZHJlbiYmYS5wdXNoKHRoaXMuY2hpbGRyZW4ubWFwKGZ1bmN0aW9uKGIpe3JldHVybiBiLldjKCl9KSk7cmV0dXJuIGF9O3JqYy5wcm90b3R5cGUuYXBwbHk9ZnVuY3Rpb24oYSl7aWYodGhpcy5jb250YWluZXJJZCl7dmFyIGI9KGF8fHdpbmRvdy5kb2N1bWVudCkuZ2V0RWxlbWVudEJ5SWQodGhpcy5jb250YWluZXJJZCk7aWYoIWIpdGhyb3cgRXJyb3IoXCJDZ2BcIit0aGlzLmNvbnRhaW5lcklkKTtfLkVqYy5nZXQodGhpcy54cWEpLmFwcGx5KGIpfV8uSGEodGhpcy5jaGlsZHJlbnx8W10sZnVuY3Rpb24oYyl7Yy5hcHBseShhKX0pfTtcbnJqYy5wcm90b3R5cGUuYXBwZW5kPWZ1bmN0aW9uKGEpe3JldHVybiBGamModGhpcyxhLFwiYmVmb3JlZW5kXCIpfTtyamMucHJvdG90eXBlLnByZXBlbmQ9ZnVuY3Rpb24oYSl7cmV0dXJuIEZqYyh0aGlzLGEsXCJhZnRlcmJlZ2luXCIpfTtcbkZqYz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Xy5FamMuZ2V0KGIueHFhKSxlPV8ua2woYS5jb250YWluZXJJZCk7c3dpdGNoKGMpe2Nhc2UgXCJhZnRlcmJlZ2luXCI6Yz1fLkVqYy5nZXQoYS54cWEpLnByZXBlbmQoZCxlKTticmVhaztjYXNlIFwiYmVmb3JlZW5kXCI6Yz1fLkVqYy5nZXQoYS54cWEpLmFwcGVuZChkLGUpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoXCJEZ1wiKTt9cWpjKGMpO2Q9KGEuY2hpbGRyZW58fFtdKS5jb25jYXQoYi5jaGlsZHJlbnx8W10pO2Q9ZC5sZW5ndGg+MD9kOnZvaWQgMDtiLmNoaWxkcmVuJiZfLkhhKGIuY2hpbGRyZW4sZnVuY3Rpb24oZil7Zi5hcHBseSgpfSk7cmV0dXJuIG5ldyByamMoYS5jb250YWluZXJJZCxjLnZBKCksZCl9O18uSGpjPWZ1bmN0aW9uKGEsYil7R2pjKGEsZnVuY3Rpb24oYyl7YihjKTtyZXR1cm4hMH0pfTtHamM9ZnVuY3Rpb24oYSxiKXtiKGEpJiZhLmNoaWxkcmVuJiZfLkhhKGEuY2hpbGRyZW4sZnVuY3Rpb24oYyl7R2pjKGMsYil9KX07XG5yamMucHJvdG90eXBlLnByaW50PWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoXCJFZ1wiKTt9O3ZhciBJamM9ZnVuY3Rpb24oYSl7dmFyIGI9YVswXSxjPWFbMV0sZDthWzJdJiYoZD1hWzJdLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gSWpjKGUpfSkpO3JldHVybiBuZXcgcmpjKGIsYyxkKX0scGpjPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXt0aGlzLmh0bWw9YTt0aGlzLmF0dHJpYnV0ZXM9Yzt0aGlzLm9hPWQ7dGhpcy5BYT1lO3RoaXMubFI9ZjsoYT1iKXx8KGI9SmpjLmdldChcImFjdGlcIiksYT0wLHR5cGVvZiBiPT09XCJzdHJpbmdcIiYmKGI9Xy5obChiKSxpc05hTihiKXx8KGE9YikpLC0tYSxKamMuc2V0KFwiYWN0aVwiLFwiXCIrYSksYT1TdHJpbmcoYSkpO3RoaXMuaWQ9YX07Xy5tPXBqYy5wcm90b3R5cGU7Xy5tLnZBPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaWR9O1xuXy5tLmFwcGx5PWZ1bmN0aW9uKGEpe18uQmMoYSxfLiRlKHRoaXMuaHRtbCkpO2pqYyh0aGlzLmF0dHJpYnV0ZXMsYSk7S2pjJiZMamMoYSxuZXcgU2V0KTt0aGlzLmxSJiYoZ29vZ2xlLnhzcmY9T2JqZWN0LmFzc2lnbihnb29nbGUueHNyZnx8e30sdGhpcy5sUikpO3RoaXMuQWEmJl8uVHhiKHRoaXMuQWEpO2lmKHRoaXMub2Epe2E9Xy5QYSh0aGlzLm9hKTtmb3IodmFyIGI9YS5uZXh0KCk7IWIuZG9uZTtiPWEubmV4dCgpKWI9Yi52YWx1ZSxfLmJhLldfamRbYi5nZXRJZCgpXT1KU09OLnBhcnNlKGIub2EoKSl9Xy5vZygpfTtcbl8ubS5XYz1mdW5jdGlvbigpe3ZhciBhLGI9KGE9dGhpcy5vYSk9PW51bGw/dm9pZCAwOmEubWFwKGZ1bmN0aW9uKGQpe3JldHVybiBkLldjKCl9KSxjO2ZvcihhPVtcImRvbVwiLHRoaXMuaHRtbCx0aGlzLmlkLG51bGwsdGhpcy5hdHRyaWJ1dGVzfHxudWxsLGJ8fG51bGwsbnVsbCwoKGM9dGhpcy5BYSk9PW51bGw/dm9pZCAwOmMuV2MoKSl8fG51bGwsdGhpcy5sUnx8bnVsbF07YVthLmxlbmd0aC0xXT09PW51bGw7KWEucG9wKCk7cmV0dXJuIGF9O18ubS5hcHBlbmQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gTWpjKHRoaXMsYSxiLFwiYmVmb3JlZW5kXCIpfTtfLm0ucHJlcGVuZD1mdW5jdGlvbihhLGIpe3JldHVybiBNamModGhpcyxhLGIsXCJhZnRlcmJlZ2luXCIpfTtcbnZhciBNamM9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9QXJyYXkuZnJvbShfLmxsKFwiU0NSSVBUXCIsYykpO18uY2lhKGMsZCxfLiRlKGIuaHRtbCkpO0tqYyYmTGpjKGMsbmV3IFNldChlKSk7ZT17fTthLmF0dHJpYnV0ZXMmJk9iamVjdC5hc3NpZ24oZSxhLmF0dHJpYnV0ZXMpO2lmKGIuYXR0cmlidXRlcyl7T2JqZWN0LmFzc2lnbihlLGIuYXR0cmlidXRlcyk7Zm9yKHZhciBmPV8uUGEoT2JqZWN0LmtleXMoYi5hdHRyaWJ1dGVzKSksZz1mLm5leHQoKTshZy5kb25lO2c9Zi5uZXh0KCkpZz1nLnZhbHVlLGMuc2V0QXR0cmlidXRlKGcsYi5hdHRyaWJ1dGVzW2ddKX1hLmxSJiYoZ29vZ2xlLnhzcmY9T2JqZWN0LmFzc2lnbihnb29nbGUueHNyZnx8e30sYS5sUikpO2IuQWEmJl8uVHhiKGIuQWEpO2M9YS5vYTtpZihiLm9hKXtmPV8uUGEoYi5vYSk7Zm9yKGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKWc9Zy52YWx1ZSxfLmJhLldfamRbZy5nZXRJZCgpXT1KU09OLnBhcnNlKGcub2EoKSk7XG5jPWM/Yy5jb25jYXQoYi5vYSk6Yi5vYX1fLm9nKCk7YT1hLmh0bWw7ZD09PVwiYWZ0ZXJiZWdpblwiP2E9Yi5odG1sK2E6ZD09PVwiYmVmb3JlZW5kXCImJihhKz1iLmh0bWwpO3JldHVybiBOamMoYSx2b2lkIDAsdm9pZCAwLGUsYyl9LExqYz1mdW5jdGlvbihhLGIpe3ZhciBjPUFycmF5LmZyb20oXy5sbChcIlNDUklQVFwiLGEpKS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIWIuaGFzKGUpfSkubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlLnRleHR9KTtpZihjLmxlbmd0aCE9PTApe3ZhciBkPV8udWwoXCJTQ1JJUFRcIik7Xy5ibC5xXyhkLF8uS3hiKGMuam9pbihcIjtcIikpKTthLmFwcGVuZENoaWxkKGQpO18uQ2woZCl9fTtwamMucHJvdG90eXBlLmlzRW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5odG1sfTtOamM9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoKXtyZXR1cm4gYXx8Ynx8Y3x8ZCYmT2JqZWN0LmtleXMoZCkubGVuZ3RoP25ldyBwamMoYSxiLGQsZSxnLGgpOk9qY307XG5pamM9e2lkOiEwLFwiZGF0YS1qaWlzXCI6ITAsXCJkYXRhLXZlZFwiOiEwLFwiZGF0YS1hc3luYy10eXBlXCI6ITAsXCJkYXRhLWFzeW5jLWFjdGlvbnNcIjohMCxcImRhdGEtYXN5bmMtY29udGV4dC1yZXF1aXJlZFwiOiEwfTtPamM9bmV3IHBqYyhcIlwiLFwiX2VcIik7cWpjPWZ1bmN0aW9uKGEpe3ZhciBiPWEudkEoKTtfLkVqYy5jYWNoZS5zZXQoYixhLldjKCksXCJ4XCIpfTtfLkVqYz1uZXcgRGpjKHtuYW1lOlwiYWN0YVwifSxmdW5jdGlvbihhKXthLnNoaWZ0KCk7YVs0XSYmKGFbNF09YVs0XS5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIENqYyhiKX0pKTthWzVdPW51bGw7YVs2XT1hWzZdP0JqYyhhWzZdKTpudWxsO3JldHVybiBOamMuYXBwbHkobnVsbCxhKX0pO18uUGpjPW5ldyBEamMoe25hbWU6XCJhY3RuXCJ9LElqYyk7SmpjPV8uWmQoXCJzXCIse25hbWU6XCJhY3RtXCJ9KTtLamM9ITA7cWpjKE9qYyk7dmFyIFFqYyxSamMsbGpjLFdqYztRamM9e307UmpjPShRamMubG9hZGluZz1cInlsXCIsUWpjLmVycm9yPVwieWVcIixRamMpO2xqYz1mdW5jdGlvbihhKXt0aGlzLmVsZW1lbnQ9YTt0aGlzLnR5cGU9KHRoaXMuRjA9Xy5HRWIoYSkpP1wiY2FsbGJhY2s6XCIrdGhpcy5GMC5SUGE6Xy5XYyhhLFwiYXN5bmNUeXBlXCIpfHxcIlwiO2lmKCF0aGlzLnR5cGUpdGhyb3cgYT1FcnJvcihcIkdnXCIpLF8uaWQoYSksYTthPV8uV2MoYSxcImdyYWZ0VHlwZVwiKTt0aGlzLllHPWEhPT1cIm5vbmVcIj9hfHxcImluc2VydFwiOm51bGx9O18uU2pjPWZ1bmN0aW9uKGEpe2E9aGpjKGEpP2dqYyhhKTphO2lmKCFhKXRocm93IGE9RXJyb3IoXCJIZ1wiKSxfLmlkKGEpLGE7cmV0dXJuIG5ldyBsamMoYSl9O2xqYy5wcm90b3R5cGUuZ2V0U3RhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gQXJyYXkuZnJvbShfLmttLmdldCh0aGlzLmVsZW1lbnQpKS5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIFRqY1thXX0pLmZpbmQoXy5keGEpfTtcbl8uVmpjPWZ1bmN0aW9uKGEpe3JldHVybiBBcnJheS5mcm9tKF8ua20uZ2V0KGEuZWxlbWVudCkpLm1hcChmdW5jdGlvbihiKXtyZXR1cm4gVWpjW2JdfSkuZmluZChfLmR4YSl8fFwiXCJ9O2xqYy5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24oYSl7V2pjKHRoaXMsYSk7YT09PVwiZmlsbGVkXCImJihhPXRoaXMuZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKFwiLlwiK2tqYy5pbmxpbmVkKSxfLkhhKGEsZnVuY3Rpb24oYil7V2pjKG5ldyBsamMoYiksXCJmaWxsZWRcIil9KSl9O18ud2pjPWZ1bmN0aW9uKGEsYil7Xy5rbS5yZW1vdmVBbGwoYS5lbGVtZW50LE9iamVjdC52YWx1ZXMoUmpjKSk7YiE9PVwiXCImJihfLmttLmFkZChhLmVsZW1lbnQsUmpjW2JdKSxhLmRpc3BhdGNoRXZlbnQoYikpfTtXamM9ZnVuY3Rpb24oYSxiKXtfLmttLnJlbW92ZUFsbChhLmVsZW1lbnQsT2JqZWN0LnZhbHVlcyhramMpKTtfLmttLmFkZChhLmVsZW1lbnQsa2pjW2JdKTtfLndqYyhhLFwiXCIpO2EuZGlzcGF0Y2hFdmVudChiKX07XG5samMucHJvdG90eXBlLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24oYSl7Xy5Idyh0aGlzLmVsZW1lbnQsWGpjW2FdKX07dmFyIFlqYz17fSxramM9KFlqYy5wcmVsb2FkPVwieXBcIixZamMuZmlsbGVkPVwieWZcIixZamMuaW5saW5lZD1cInlpXCIsWWpjKSxaamM9e30sWGpjPShaamMucHJlbG9hZD1cImFzeW5jUmVzZXRcIixaamMuZmlsbGVkPVwiYXN5bmNGaWxsZWRcIixaamMubG9hZGluZz1cImFzeW5jTG9hZGluZ1wiLFpqYy5lcnJvcj1cImFzeW5jRXJyb3JcIixaamMpLFRqYz1fLmdoYShramMpLFVqYz1fLmdoYShSamMpO3ZhciAkamM9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2U9ZT09PXZvaWQgMD97fTplO3RoaXMudGFyZ2V0PWE7dGhpcy5TaT1jfHxuamMoKTt0aGlzLlNpLk1jKFwiYXN0eXBcIixhLnR5cGUpO3RoaXMudHJpZ2dlcj1kO3RoaXMuc25hPV8uV2MoYS5lbGVtZW50LFwiYXN5bmNNZXRob2RcIik9PT1cInN0YXRlZnVsXCJ8fF8uV2MoYS5lbGVtZW50LFwiYXN5bmNUb2tlblwiKT9cIlBPU1RcIjpcIkdFVFwiO3RoaXMueWFhPV8uV2MoYS5lbGVtZW50LFwiYXN5bmNSY2xhc3NcIil8fFwiXCI7dGhpcy5iOT1mO3RyeXt2YXIgZz1mamMoYiksaD1mamMoZSksaz17dHJpZ2dlcjp0aGlzLnRyaWdnZXIsUE1hOmcsYWRkaXRpb25hbFBhcmFtczpofTt2YXIgbD10aGlzLnlhYT09PVwiXCI/e2NvbnRleHQ6Xy5iamModGhpcy50YXJnZXQuZWxlbWVudCxrKSx3ZzpofTpfLmRqYyh0aGlzLnRhcmdldC5lbGVtZW50LGspO3ZhciBuPWwuY29udGV4dCxyPXRoaXMudGFyZ2V0LmVsZW1lbnQ7ci5pZCE9PXRoaXMudGFyZ2V0LnR5cGUmJlxubi5zZXQoXCJfaWRcIixyLmlkKTt2YXIgdD1fLldjKHRoaXMudGFyZ2V0LmVsZW1lbnQsXCJhc3luY1Rva2VuXCIpO3QmJm4uc2V0KFwiX3hzcmZcIix0KTtuLnNldChcIl9wbXNcIiwoMCxfLmoxYSkoKSk7dmFyIHU9bC53Zzt0aGlzLmNvbnRleHQ9bC5jb250ZXh0O3RoaXMuQWE9dX1jYXRjaCh6KXt0aGlzLm9hPXp9fSx2amM9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2lmKF8ubWUoYSkpe3ZhciBnPV8uU2pjKGEpO2hqYyhhKSYmKGQ9YSl9ZWxzZSBnPWE7cmV0dXJuIG5ldyAkamMoZyxjfHx7fSxiLGQsZSxmKX07JGpjLnByb3RvdHlwZS5mZXRjaD1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9hP18uVWwodGhpcy5vYSk6dGhpcy5zZW5kUmVxdWVzdCgpfTtcbiRqYy5wcm90b3R5cGUuc2VuZFJlcXVlc3Q9ZnVuY3Rpb24oKXt0aGlzLmNvbnRleHQuc2V0KFwiX2ZtdFwiLFwicGNcIik7dGhpcy5zbmE9PT1cIlBPU1RcIiYmdGhpcy5BYS5zZXQoXCJfZm10XCIsXCJwY1wiKTt2YXIgYT1fLlVjKHRoaXMudGFyZ2V0LmVsZW1lbnQpLGI9Xy5MYyh0aGlzLnRhcmdldC5lbGVtZW50KSxjPXRoaXMudHJpZ2dlcj9fLlVjKHRoaXMudHJpZ2dlcik6dm9pZCAwLGQ9dGhpcy50cmlnZ2VyJiZfLnRpYSh0aGlzLnRyaWdnZXIpfHx2b2lkIDAsZSxmO2E9Xy56RmIodGhpcy50YXJnZXQudHlwZSx0aGlzLmNvbnRleHQsdGhpcy5BYSx0aGlzLnNuYSx0aGlzLnlhYSxhLGIsYyxkLHRoaXMudGFyZ2V0LllHLChlPXRoaXMudGFyZ2V0LkYwKT09bnVsbD92b2lkIDA6ZS5FNmEsKGY9dGhpcy50YXJnZXQuRjApPT1udWxsP3ZvaWQgMDpmLlNQYSk7ZT1fLnZGYih0aGlzLnNuYSx0aGlzLnRhcmdldC50eXBlLHRoaXMuY29udGV4dCk7ZT17bWV0aG9kOnRoaXMuc25hLHVybDphLFBEYjplLFxuU2k6dGhpcy5TaSxXQjp0aGlzLnRhcmdldC50eXBlLGhlYWRlcnM6Xy53RmIoKSxiOTp0aGlzLmI5fTtyZXR1cm4gXy5nZShzamMoZSx0aGlzLnRhcmdldC5lbGVtZW50KSl9O18uc3o9e307Xy5zei5KemU9aGpjO18uc3ouV0RlPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPW5qYygpLGY9Xy5TamMoYSk7cmV0dXJuIGYuZ2V0U3RhdGUoKSE9PVwicHJlbG9hZFwifHxfLlZqYyhmKT09PVwibG9hZGluZ1wiP18uZ2UoKTp0amMoYSxlLGIsYyxkKX07Xy5zei51cGRhdGU9dWpjO18uc3ouYXBwZW5kPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPW5qYygpLGY9dmpjKGEsZSxiLGMsZCk7Xy53amMoZi50YXJnZXQsXCJsb2FkaW5nXCIpO3JldHVybiBmLmZldGNoKCkudGhlbihmdW5jdGlvbihnKXsobmV3IHJqYyhnLmNvbnRhaW5lcklkLE9qYy52QSgpKSkuYXBwZW5kKGcpO2YudGFyZ2V0LnNldFN0YXRlKFwiZmlsbGVkXCIpO2c9bmV3IF8uT0ViKGUpO18uUkViKGcsZi50YXJnZXQuZWxlbWVudCk7Xy5TRWIoZyxmLnRhcmdldC5lbGVtZW50KX0pLnRoZW4odm9pZCAwLGZ1bmN0aW9uKGcpe18ud2pjKGYudGFyZ2V0LFwiZXJyb3JcIik7dGhyb3cgZzt9KX07XG5fLnN6LmZldGNoPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXt2YXIgZz1uamMoKTtyZXR1cm4geGpjKGEsZyxiLGMsZCxlLGYpLmNhdGNoKGZ1bmN0aW9uKGgpe2lmKF8uYkliKGgpKXJldHVybiBoPV8uY0liKGgpLGQ9eWpjKGgsZCkseGpjKGEsZyxiLGMsZCxlKTt2YXIgaz1fLmRJYihoKTtpZihrKXt2YXIgbD1hIGluc3RhbmNlb2YgRWxlbWVudD9hLmlkOmEuZWxlbWVudC5pZDtfLmZJYihrLGwpO2lmKF8uc3ouTUpiLkdXYyl7aWYoIV8uQ0ViKXJldHVybiBfLlRkKCgwLF8uRUViKShrKS50aGVuKGZ1bmN0aW9uKG4pe18uZ0liKGssbCk7ZD15amMobixkKTtyZXR1cm4geGpjKGEsZyxiLGMsZCxlKX0pLF8uYUliKTtpZihfLkZFYilyZXR1cm4gXy5DRWIucHJvbWlzZS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIHhqYyhhLGcsYixjLGQsZSxmKX0pfX10aHJvdyBoO30pfTtfLnN6LnJlc2V0PWZ1bmN0aW9uKGEpe2E9aGpjKGEpP2dqYyhhKTphO18uSEliKGEpfTtfLnN6LlZ6PXpqYztcbl8uc3ouaW5pdD1BamM7dmFyIGFrYz17fTtfLnFuYShcImFzeW5jXCIsKGFrYy5pbml0PUFqYyxha2MpKTtfLnN6Lk1KYj17R1djOl8uV3phfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIHQ0Yix1NGIsdjRiLHM0YjtcbnQ0Yj1mdW5jdGlvbihhKXt2YXIgYj1hLm1ldGhvZDt2YXIgYz1hLnVybDt2YXIgZD1hLlBEYjt2YXIgZT1hLlNpO3ZhciBmPWEuV0I7dmFyIGc9YS5oZWFkZXJzO3ZhciBoPV8udmQoKSxrPXM0Yj9zNGIoKTpuZXcgXy5BcTtrLmxpc3RlbihcImNvbXBsZXRlXCIsZnVuY3Rpb24obCl7bD1sLnRhcmdldDtpZihsLmlzU3VjY2VzcygpKXtfLlJuKGUsXCJzdFwiKTt2YXIgbj1sLnF4KCk7ZS5PRChcImJzXCIsbi5sZW5ndGgpO2lmKCFuKXt2YXIgcj17fTtoLnJlamVjdChuZXcgXy56RWIoXCJBc3luYyByZXNwb25zZSBlcnJvclwiLGYsKHIucz1sLmdldFN0YXR1cygpLHIucj1uLHIpKSl9aC5yZXNvbHZlKG4pfWVsc2UgXy5SbihlLFwiZnRcIiksZS5sb2coKSwobj1sLmdldFN0YXR1cygpKT8ocj17fSxuPShyLnM9bixyKSxsLmdXPT09NyYmKG4uYWI9MSksaC5yZWplY3QobmV3IF8uekViKFwiQXN5bmMgcmVxdWVzdCBlcnJvclwiLGYsbikpKTpoLnJlamVjdChuZXcgXy56RWIoXCJBc3luYyBuZXR3b3JrIGVycm9yXCIsZikpfSk7XG5hPWgucHJvbWlzZS56cihmdW5jdGlvbihsKXtpZihsIGluc3RhbmNlb2YgXy5rZClrLmFib3J0KCk7ZWxzZSB0aHJvdyBsO30pO18uUm4oZSxcImZyXCIpO2suc2V0V2l0aENyZWRlbnRpYWxzKF8ucEZiKTtnPWc/T2JqZWN0LmZyb21FbnRyaWVzKGcpOnZvaWQgMDtrLnNlbmQoYyxiLGQsZyk7cmV0dXJuIGF9O3U0Yj1mdW5jdGlvbihhKXtyZXR1cm4hYXx8YSBpbnN0YW5jZW9mIE1hcD9uZXcgTWFwKGF8fFtdKTpuZXcgTWFwKE9iamVjdC5lbnRyaWVzKGEpKX07XG5fLmN5PWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCxrLGwsbil7Zz1nPT09dm9pZCAwP3t9Omc7az1rPT09dm9pZCAwP1wiaW5zZXJ0XCI6aztsPWw9PT12b2lkIDA/ITE6bDtuPW49PT12b2lkIDA/ITE6bjt2YXIgcj12NGIoYSk7ci5zdGFydCgpO2I9dTRiKGIpO2c9dTRiKGcpO249bj09PXZvaWQgMD8hMTpuO2Iuc2V0KFwiX2ZtdFwiLChsPT09dm9pZCAwPzA6bCk/XCJqc29uXCI6XCJqc3BiXCIpO2UhPW51bGwmJmcuc2V0KFwicVwiLGUpO2M9Xy56RmIoYSxiLGcsXCJHRVRcIixcIlwiLGMsaCxkLGYsayk7cmV0dXJuIF8udzRiKHttZXRob2Q6XCJHRVRcIix1cmw6YyxTaTpyLFdCOmEsaGVhZGVyczpfLndGYigpLG5xOmJ9LG4pfTtcbl8udzRiPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwPyExOmI7dmFyIGMsZD0oYz1hLm5xKT09bnVsbD92b2lkIDA6Yy5nZXQoXCJfZm10XCIpO2lmKGQhPT1cImpzb25cIiYmZCE9PVwianNwYlwiKXRocm93IEVycm9yKFwiWWZcIik7YS5TaXx8KGEuU2k9djRiKGEuV0IpKTtyZXR1cm4gdDRiKGEpLnRoZW4oZnVuY3Rpb24oZSl7aWYoYil7dmFyIGY7KGY9YS5TaSk9PW51bGx8fGYubG9nKCl9ZS5zdGFydHNXaXRoKFwiKV19J1xcblwiKSYmKGU9ZS5zdWJzdHIoNSkpO3RyeXt2YXIgZz1KU09OLnBhcnNlKGUpfWNhdGNoKGgpe3JldHVybiBfLlVsKGgpfXJldHVybiBfLkRhKGcpJiYoZz1fLiRnYShnKSxlPWcuX19lcnJfXyxlIT09dm9pZCAwKT9fLlVsKGUpOmQhPT1cImpzcGJcInx8ZyBpbnN0YW5jZW9mIEFycmF5P18uZ2UoZyk6Xy5VbCgpfSl9O3Y0Yj1mdW5jdGlvbihhKXt2YXIgYj1uZXcgXy5RbihcImFzeW5jXCIpO2IuTWMoXCJhc3R5cFwiLGEpO3JldHVybiBifTtzNGI9bnVsbDtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5zSmI9ZnVuY3Rpb24oYSxiLGMsZCxlKXtfLkZDYS5jYWxsKHRoaXMsYSwzKTthPXt9O3RoaXMuZGV0YWlscz0oYS5zPWIsYS5ydXJsPWMsYS5pc3I9ZCxhLnJ0ZXh0PWUsYSl9O18uRChfLnNKYixfLkdDYSk7Xy50SmI9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIG5ldyBfLnNKYihcIkhUVFAgZXJyb3JcIixhLGIsYyxkKX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ucUpiPWZ1bmN0aW9uKGEpe2E9Xy54aGEoYSk7cmV0dXJuIGEubGVuZ3RoPT09MD9fLlB4YTpfLlltYShhKX07Xy5Mdz1mdW5jdGlvbihhKXtfLkNrLmNhbGwodGhpcyk7dGhpcy5MYT0xO3RoaXMuQ2E9W107dGhpcy5HYT0wO3RoaXMuQWE9W107dGhpcy5CYT17fTt0aGlzLk9hPSEhYX07Xy5taChfLkx3LF8uQ2spO18uTHcucHJvdG90eXBlLnN1YnNjcmliZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5CYVthXTtkfHwoZD10aGlzLkJhW2FdPVtdKTt2YXIgZT10aGlzLkxhO3RoaXMuQWFbZV09YTt0aGlzLkFhW2UrMV09Yjt0aGlzLkFhW2UrMl09Yzt0aGlzLkxhPWUrMztkLnB1c2goZSk7cmV0dXJuIGV9O18uTHcucHJvdG90eXBlLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKGEsYixjKXtpZihhPXRoaXMuQmFbYV0pe3ZhciBkPXRoaXMuQWE7aWYoYT1hLmZpbmQoZnVuY3Rpb24oZSl7cmV0dXJuIGRbZSsxXT09YiYmZFtlKzJdPT1jfSkpcmV0dXJuIHRoaXMuQTcoYSl9cmV0dXJuITF9O1xuXy5Mdy5wcm90b3R5cGUuQTc9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5BYVthXTtpZihiKXt2YXIgYz10aGlzLkJhW2JdO3RoaXMuR2EhPTA/KHRoaXMuQ2EucHVzaChhKSx0aGlzLkFhW2ErMV09ZnVuY3Rpb24oKXt9KTooYyYmXy56YShjLGEpLGRlbGV0ZSB0aGlzLkFhW2FdLGRlbGV0ZSB0aGlzLkFhW2ErMV0sZGVsZXRlIHRoaXMuQWFbYSsyXSl9cmV0dXJuISFifTtcbl8uTHcucHJvdG90eXBlLm9hPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5CYVthXTtpZihjKXtmb3IodmFyIGQ9QXJyYXkoYXJndW1lbnRzLmxlbmd0aC0xKSxlPTEsZj1hcmd1bWVudHMubGVuZ3RoO2U8ZjtlKyspZFtlLTFdPWFyZ3VtZW50c1tlXTtpZih0aGlzLk9hKWZvcihlPTA7ZTxjLmxlbmd0aDtlKyspe3ZhciBnPWNbZV07ckpiKHRoaXMuQWFbZysxXSx0aGlzLkFhW2crMl0sZCl9ZWxzZXt0aGlzLkdhKys7dHJ5e2ZvcihlPTAsZj1jLmxlbmd0aDtlPGYmJiF0aGlzLmlzRGlzcG9zZWQoKTtlKyspZz1jW2VdLHRoaXMuQWFbZysxXS5hcHBseSh0aGlzLkFhW2crMl0sZCl9ZmluYWxseXtpZih0aGlzLkdhLS0sdGhpcy5DYS5sZW5ndGg+MCYmdGhpcy5HYT09MClmb3IoO2M9dGhpcy5DYS5wb3AoKTspdGhpcy5BNyhjKX19fX07dmFyIHJKYj1mdW5jdGlvbihhLGIsYyl7Xy5SbChmdW5jdGlvbigpe2EuYXBwbHkoYixjKX0pfTtcbl8uTHcucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKGEpe2lmKGEpe3ZhciBiPXRoaXMuQmFbYV07YiYmKGIuZm9yRWFjaCh0aGlzLkE3LHRoaXMpLGRlbGV0ZSB0aGlzLkJhW2FdKX1lbHNlIHRoaXMuQWEubGVuZ3RoPTAsdGhpcy5CYT17fX07Xy5Mdy5wcm90b3R5cGUueW49ZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGI9dGhpcy5CYVthXTtyZXR1cm4gYj9iLmxlbmd0aDowfWE9MDtmb3IoYiBpbiB0aGlzLkJhKWErPXRoaXMueW4oYik7cmV0dXJuIGF9O18uTHcucHJvdG90eXBlLlFjPWZ1bmN0aW9uKCl7Xy5Mdy5PZC5RYy5jYWxsKHRoaXMpO3RoaXMuY2xlYXIoKTt0aGlzLkNhLmxlbmd0aD0wfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXG52YXIgdkpiPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1fLmJGYixlLGYsZyxoLGssbCxuLHIsdCx1LHosQjtfLmJoKGZ1bmN0aW9uKEYpe3N3aXRjaChGLm9hKXtjYXNlIDE6cmV0dXJuIGU9dUpiKyssZj17fSxkLnNldChhLChmLnNpPWUsZiksXCJ4XCIpLGc9e3ZhbHVlczpbXSxFaGM6W10sQ29iOltdfSxfLmRGYi5zZXQoZSxnKSxfLlVnKEYsMiwzKSxGLnlpZWxkKGIuZm9yRWFjaChmdW5jdGlvbihLKXtnLnZhbHVlcy5wdXNoKEspO2Zvcih2YXIgUD1fLlBhKGcuRWhjKSxRPVAubmV4dCgpOyFRLmRvbmU7UT1QLm5leHQoKSlRPVEudmFsdWUsUShLKX0pLDUpO2Nhc2UgNTpmb3IoXy5kRmIuaGFzKGUpJiYoaD17fSxkLnNldChhLChoLnN2PWcudmFsdWVzLGgpLGMpKSxrPV8uUGEoZy5Db2IpLGw9ay5uZXh0KCk7IWwuZG9uZTtsPWsubmV4dCgpKW49bC52YWx1ZSxuKCk7Y2FzZSAzOl8uWmcoRik7Xy5kRmIuZGVsZXRlKGUpO18uJGcoRiwwKTticmVhaztjYXNlIDI6dD1yPV8uWWcoRik7ZC5yZW1vdmUoYSk7XG51PV8uUGEoZy5Db2IpO2Zvcih6PXUubmV4dCgpOyF6LmRvbmU7ej11Lm5leHQoKSlCPXoudmFsdWUsQih0KTtGLk1iKDMpfX0pfSx3SmI9ZnVuY3Rpb24oYSl7cmV0dXJuW0pTT04ucGFyc2UoYS5tZXRhZGF0YS5XYygpKSxhLmJvZHldfSxCSmI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWMuYm9keTt2YXIgZT1jLmNvbnRlbnRUeXBlO3ZhciBmPWMuWjBiO3ZhciBnPWMud2l0aENyZWRlbnRpYWxzO3ZhciBoPWMudEthO3ZhciBrPWMuaGVhZGVycztyZXR1cm4gbmV3IF8uZUZiKGZ1bmN0aW9uKGwsbil7dmFyIHI9bmV3IFhNTEh0dHBSZXF1ZXN0O3Iub3BlbihhLGIpO3Iud2l0aENyZWRlbnRpYWxzPSEhZztkIT09dm9pZCAwJiZyLnNldFJlcXVlc3RIZWFkZXIoXCJDb250ZW50LVR5cGVcIixlfHxcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04XCIpO2lmKGshPT12b2lkIDApZm9yKHZhciB0PV8uUGEoayksdT10Lm5leHQoKTshdS5kb25lO3U9dC5uZXh0KCkpe3ZhciB6PVxuXy5QYSh1LnZhbHVlKTt1PXoubmV4dCgpLnZhbHVlO3o9ei5uZXh0KCkudmFsdWU7ci5zZXRSZXF1ZXN0SGVhZGVyKHUseil9dmFyIEI9aD9oLmxlbmd0aDowLEY9ITE7ci5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXtpZighKHIucmVhZHlTdGF0ZTxYTUxIdHRwUmVxdWVzdC5IRUFERVJTX1JFQ0VJVkVEKSl7aWYoci5yZWFkeVN0YXRlPT09WE1MSHR0cFJlcXVlc3QuSEVBREVSU19SRUNFSVZFRCl7dmFyIEs7aWYoSz1yLnJlc3BvbnNlVVJMKUs9ci5yZXNwb25zZVVSTCxLPShfLllCYShiKXx8bG9jYXRpb24ub3JpZ2luKSE9PShfLllCYShLKXx8bG9jYXRpb24ub3JpZ2luKTtpZihLKXtuKG5ldyB4SmIoXCJIVFRQIHJlZGlyZWN0IGVycm9yXCIsYixyLnJlc3BvbnNlVVJMKSk7ci5hYm9ydCgpO3JldHVybn1mJiZmLm9hKFwiWU5RckNmXCIpO3IuZ2V0UmVzcG9uc2VIZWFkZXIoXCJYLVNvcnJ5LVJlZGlyZWN0XCIpJiYoRj0hMCl9aWYoXy5WMGEoci5zdGF0dXMpKXtpZihCPHIucmVzcG9uc2VUZXh0Lmxlbmd0aCl7aWYoRil7bihfLnRKYihyLnN0YXR1cyxcbnZvaWQgMCwhMCxyLnJlc3BvbnNlVGV4dCkpO3IuYWJvcnQoKTtyZXR1cm59bChyLnJlc3BvbnNlVGV4dC5zdWJzdHJpbmcoQikpO0I9ci5yZXNwb25zZVRleHQubGVuZ3RofXIucmVhZHlTdGF0ZT09PVhNTEh0dHBSZXF1ZXN0LkRPTkUmJih5SmIoKSxuKCkpfWVsc2UgaWYoci5zdGF0dXN8fCF6SmIpbihfLnRKYihyLnN0YXR1cyxyLnJlc3BvbnNlVVJMKSksci5hYm9ydCgpfX07QUpiKCk7ci5zZW5kKGQpfSl9LENKYj1mdW5jdGlvbihhLGIpe3ZhciBjPXt0S2E6XCIpXX0nXFxuXCJ9O2M9Yz09PXZvaWQgMD97fTpjO3ZhciBkPWMuWjBiO3ZhciBlPWMudEthO3JldHVybiBuZXcgXy5lRmIoZnVuY3Rpb24oZixnKXt2YXIgaD1lP2UubGVuZ3RoOjAsaz1YTUxIdHRwUmVxdWVzdC5VTlNFTlQsbD0hMSxuPWZ1bmN0aW9uKCl7aWYoYS5yZWFkeVN0YXRlPGspdGhyb3cgRXJyb3IoXCJHZlwiKTthLnJlYWR5U3RhdGU+PVhNTEh0dHBSZXF1ZXN0Lk9QRU5FRCYmazxYTUxIdHRwUmVxdWVzdC5PUEVORUQmJlxuKGs9WE1MSHR0cFJlcXVlc3QuT1BFTkVELGEucmVhZHlTdGF0ZTxYTUxIdHRwUmVxdWVzdC5ET05FJiYoQUpiKCksbD0hMCkpO2lmKCEoYS5yZWFkeVN0YXRlPFhNTEh0dHBSZXF1ZXN0LkhFQURFUlNfUkVDRUlWRUQpKXtpZihhLnJlYWR5U3RhdGU+PVhNTEh0dHBSZXF1ZXN0LkhFQURFUlNfUkVDRUlWRUQmJms8WE1MSHR0cFJlcXVlc3QuSEVBREVSU19SRUNFSVZFRCl7az1YTUxIdHRwUmVxdWVzdC5IRUFERVJTX1JFQ0VJVkVEO3ZhciByO2lmKHI9YS5yZXNwb25zZVVSTClyPWEucmVzcG9uc2VVUkwscj0oXy5ZQmEoYil8fGxvY2F0aW9uLm9yaWdpbikhPT0oXy5ZQmEocil8fGxvY2F0aW9uLm9yaWdpbik7aWYocil7ZyhuZXcgeEpiKFwiSFRUUCByZWRpcmVjdCBlcnJvclwiLGIsYS5yZXNwb25zZVVSTCkpO2EuYWJvcnQoKTtyZXR1cm59ZCYmZC5vYShcIllOUXJDZlwiKX1pZihfLlYwYShhLnN0YXR1cykpaDxhLnJlc3BvbnNlVGV4dC5sZW5ndGgmJihmKGEucmVzcG9uc2VUZXh0LnN1YnN0cmluZyhoKSksXG5oPWEucmVzcG9uc2VUZXh0Lmxlbmd0aCksYS5yZWFkeVN0YXRlPT09WE1MSHR0cFJlcXVlc3QuRE9ORSYmayE9PVhNTEh0dHBSZXF1ZXN0LkRPTkUmJihsJiZ5SmIoKSxnKCkpLGs9YS5yZWFkeVN0YXRlO2Vsc2UgaWYoYS5zdGF0dXN8fCF6SmIpZyhfLnRKYihhLnN0YXR1cyxhLnJlc3BvbnNlVVJMKSksYS5hYm9ydCgpfX07YS5yZWFkeVN0YXRlIT09WE1MSHR0cFJlcXVlc3QuRE9ORSYmYS5hZGRFdmVudExpc3RlbmVyKFwicmVhZHlzdGF0ZWNoYW5nZVwiLG4pO2EucmVhZHlTdGF0ZT49WE1MSHR0cFJlcXVlc3QuVU5TRU5UJiZuKCl9KX0sQUpiPWZ1bmN0aW9uKCl7KytESmI9PT0xJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImJlZm9yZXVubG9hZFwiLEVKYil9LHlKYj1mdW5jdGlvbigpey0tREpiPT09MCYmd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJiZWZvcmV1bmxvYWRcIixFSmIpfSxFSmI9ZnVuY3Rpb24oKXt6SmI9ITB9LEZKYj1mdW5jdGlvbihhKXtmdW5jdGlvbiBiKGYpe3ZhciBnPVxue307Xy55cGIoZiwoZy5idWY9Yy5sZW5ndGg+MjA/Yy5zdWJzdHJpbmcoMCwyMCkrXCIuLi5cIjpjLGcpKTtyZXR1cm4gZn12YXIgYz1cIlwiLGQ9MCxlPTA7cmV0dXJuIG5ldyBfLmVGYihmdW5jdGlvbihmLGcpe2EuZm9yRWFjaChmdW5jdGlvbihoKXtmb3IoYz1jP2MraDpoO2M7KXtpZighZCl7ZD0xK2MuaW5kZXhPZihcIjtcIik7aWYoIWQpYnJlYWs7aWYoIS9eWzAtOUEtRmEtZl0rOy8udGVzdChjKSl0aHJvdyBiKEVycm9yKFwiSGZcIikpO2U9ZCtwYXJzZUludChjLDE2KX1pZihjLmxlbmd0aDxlKWJyZWFrO2YoYy5zdWJzdHJpbmcoZCxlKSk7Yz1jLnN1YnN0cmluZyhlKTtkPTB9fSkudGhlbihmdW5jdGlvbigpe2lmKGMpdGhyb3cgYihFcnJvcihcIklmXCIpKTtnKCl9KS5jYXRjaChmdW5jdGlvbihoKXtyZXR1cm4gZyhoIGluc3RhbmNlb2YgRXJyb3I/aDpFcnJvcihTdHJpbmcoaCkpKX0pfSl9LEpKYj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS51cmw7dmFyIGU9YS53Zzt2YXIgZj1hLlNpO1xudmFyIGc9YS5XQjt2YXIgaD1hLmRMO3ZhciBrPWEuREZhO3ZhciBsPWEuZUw7dmFyIG49YS5MZmM7dmFyIHIsdCx1LHosQixGLEssUCxRLFU7cmV0dXJuIF8uYmgoZnVuY3Rpb24obWEpe3N3aXRjaChtYS5vYSl7Y2FzZSAxOnJldHVybiBtYS55aWVsZChHSmIoaCxnLGssZSksMik7Y2FzZSAyOnI9bWEuQWE7dD1yLk1IYTtpZih1PXIuR0JhKXJldHVybiBmJiZfLlJuKGYsXCJ0dGNoXCIpLGMmJmMoKSxtYS5yZXR1cm4odSk7ej1iKCk7Xy5VZyhtYSwzKTtyZXR1cm4gbWEueWllbGQoSEpiKHosZyksNSk7Y2FzZSA1OkI9bWEuQWE7biYmXy5FKEIuaGVhZGVyLDMpJiZuKCk7Xy5WRGEoZCk7dmFyIGphPW1hLnJldHVybjtpZih0KXt2YXIgdWE9dDt2YXIgc2E9QixGYT1sO3ZhciB3YT1zYS5oZWFkZXI7dmFyIHlhPXNhLnJlc291cmNlcztGYT1GYT09PXZvaWQgMD8hMTpGYTt1YS5DYT8oc2E9dWEucHJpb3JpdHksXy5BKHdhLDIpIT09U3RyaW5nKF8uWUViKSYmIUZhJiYoc2E9XCJ4XCIpLHlhPVxuXy5QYShJSmIoeWEpKSxGYT15YS5uZXh0KCkudmFsdWUseWE9eWEubmV4dCgpLnZhbHVlLF8uYkZiLnNldCh1YS5BYSxKU09OLnBhcnNlKHdhLldjKCkpLHNhKSx2SmIodWEuQmEsRmEubWFwKHdKYiksc2EpLHVhLkNhKCksdWEub2E9bnVsbCx1YS5DYT1udWxsLHVhPXtoZWFkZXI6d2EscmVzb3VyY2VzOnlhfSk6dWE9e2hlYWRlcjp3YSxyZXNvdXJjZXM6eWF9fWVsc2UgdWE9QjtyZXR1cm4gamEuY2FsbChtYSx1YSk7Y2FzZSAzOkY9Xy5ZZyhtYSk7dCYmdC5vYSYmXy5uRmIodCk7aWYoRiBpbnN0YW5jZW9mIF8uc0piKXtpZihGLmRldGFpbHMuaXNyKXRocm93IEs9e30sbmV3IF8uekViKFwiQXN5bmMgcmVkaXJlY3QgZXJyb3JcIixnLChLLmlzcj0hMCxLLnJ0ZXh0PUYuZGV0YWlscy5ydGV4dCxLKSk7UD1GLmRldGFpbHMucztRPUYuZGV0YWlscy5ydXJsO2lmKFApdGhyb3cgVT17fSxuZXcgXy56RWIoXCJBc3luYyByZXF1ZXN0IGVycm9yXCIsZywoVS5zPVAsVS5ydXJsPVEsVSkpO3Rocm93IG5ldyBfLnpFYihcIkFzeW5jIG5ldHdvcmsgZXJyb3JcIixcbmcse30sMyk7fXRocm93IEY7fX0pfSxISmI9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZjtyZXR1cm4gXy5iaChmdW5jdGlvbihnKXtpZihnLm9hPT0xKXJldHVybiBjPUZKYihhKS5jYXRjaChmdW5jdGlvbihoKXt2YXIgaz17fTtfLnlwYihoLChrLnQ9YixrKSk7dGhyb3cgaDt9KSxkPWMubUZiKCkudGhlbihmdW5jdGlvbihoKXtyZXR1cm4gXy5hR2IoaCxfLmpGYixmdW5jdGlvbigpe18uaWQoRXJyb3IoXCJKZmBcIitoLnN1YnN0cigwLDEwMCkpLHt4Zzp7bDpTdHJpbmcoaC5sZW5ndGgpLHQ6Yn19KX0pfSksZT1LSmIoYyxiKSxnLnlpZWxkKGQsMik7Zj1nLkFhO3JldHVybiBnLnJldHVybih7aGVhZGVyOmYscmVzb3VyY2VzOmV9KX0pfSxLSmI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IF8uZUZiKGZ1bmN0aW9uKGMsZCl7dmFyIGUsZjtyZXR1cm4gXy5iaChmdW5jdGlvbihnKXtpZihnLm9hPT0xKXJldHVybiBmPWU9bnVsbCxnLnlpZWxkKGEuZm9yRWFjaChmdW5jdGlvbihoKXtpZighZilpZihlKXt2YXIgaz1cbnttZXRhZGF0YTplLGJvZHk6aH07Xy5oaShrLm1ldGFkYXRhLDEpPT09MT9mPUxKYihrLGIpOl8uaGkoay5tZXRhZGF0YSwxKT09PTEwP2dvb2dsZS5zeHNyZj1rLmJvZHk6YyhrKTtlPW51bGx9ZWxzZSBlPV8uYUdiKGgsXy5nRmIsZnVuY3Rpb24oKXtfLmlkKEVycm9yKFwiS2ZgXCIraC5zdWJzdHIoMCwxMDApKSx7eGc6e2w6U3RyaW5nKGgubGVuZ3RoKX19KX0pfSksMik7Zj9kKGYpOmU/ZChFcnJvcihcIkxmXCIpKTpkKCk7Xy5TZyhnKX0pfSl9LExKYj1mdW5jdGlvbihhLGIpe3ZhciBjPV8uYUdiKGEuYm9keSxNSmIsZnVuY3Rpb24oKXtfLmlkKEVycm9yKFwiTWZgXCIrYS5ib2R5LnN1YnN0cigwLDEwMCkpLHt4Zzp7bDpTdHJpbmcoYS5ib2R5Lmxlbmd0aCl9fSl9KSxkPXt9O2Q9KGQuYz1fLm5pKGMsMSwyKSxkKTsoYz1fLkEoYywyKSkmJihkLmU9SlNPTi5wYXJzZShjKSk7cmV0dXJuIG5ldyBfLnpFYihcIkFzeW5jIHNlcnZlciBlcnJvclwiLGIsZCl9LE5KYj1mdW5jdGlvbihhLGIpe3ZhciBjPVxuYS5yZXE7cmV0dXJuIEpKYihiLGZ1bmN0aW9uKCl7cmV0dXJuIENKYihjLGEudXJsKX0sZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCBjLmFib3J0KCl9KX0sT0piPWZ1bmN0aW9uKCl7dmFyIGEsYjtyZXR1cm57c3RyZWFtOm5ldyBfLmVGYihmdW5jdGlvbihjLGQpe2E9YztiPWR9KSxwdXNoOmEsY2xvc2U6Yn19LElKYj1mdW5jdGlvbihhKXt2YXIgYj1iPT09dm9pZCAwPzI6Yjtmb3IodmFyIGM9W10sZD1bXSxlPVtdLGY9MDtmPGI7ZisrKXt2YXIgZz1PSmIoKSxoPWcucHVzaCxrPWcuY2xvc2U7Yy5wdXNoKGcuc3RyZWFtKTtkLnB1c2goaCk7ZS5wdXNoKGspfWEuZm9yRWFjaChmdW5jdGlvbihsKXtmb3IodmFyIG49Xy5QYShkKSxyPW4ubmV4dCgpOyFyLmRvbmU7cj1uLm5leHQoKSlyPXIudmFsdWUscihsKX0pLnRoZW4oZnVuY3Rpb24oKXtmb3IodmFyIGw9Xy5QYShlKSxuPWwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSluPW4udmFsdWUsbigpfSxmdW5jdGlvbihsKXtmb3IodmFyIG49XG5fLlBhKGUpLHI9bi5uZXh0KCk7IXIuZG9uZTtyPW4ubmV4dCgpKXI9ci52YWx1ZSxyKF8uJEViKGwpKX0pO3JldHVybiBjfSx1SmI9MCxQSmI9ZnVuY3Rpb24oYSxiKXt2YXIgYz0hMSxkPWEuc3Vic2NyaWJlKFwiWU5RckNmXCIsZnVuY3Rpb24oZSl7Y3x8KGM9ITAsdGhpcy5BNyhkKSxiLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpKX0sYSl9LFFKYj1bXCIqXCIsXCJoXCIsXCJtXCIsXCJ3XCIsXCJ4XCJdLEdKYj1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZSxmLGc7cmV0dXJuIF8uYmgoZnVuY3Rpb24oaCl7c3dpdGNoKGgub2Epe2Nhc2UgMTplPW51bGw7Zj1hP18ubUZiKGIsYSk6bnVsbDtpZighZil7aC5NYigyKTticmVha31yZXR1cm4gaC55aWVsZChmLldpKCksMyk7Y2FzZSAzOmlmKChlPWguQWEpfHxmLm9wZW4oKSl7aC5NYig0KTticmVha31yZXR1cm4gaC55aWVsZChmLldpKCksNSk7Y2FzZSA1OmU9Zz1oLkFhO2Nhc2UgNDppZihlJiYhYyYmIV8ubkViKXt2YXIgaz1lLGw9ZCYmZC5oYXMoXCJ2ZWRcIik/XG5kLmdldChcInZlZFwiKTpcIlwiO2s9Xy5BKGsuaGVhZGVyLDEpO2s9Xy5nbihrKS5NYyhcInNxaVwiLFwiMTdcIik7bCYmay5NYyhcInJlZnZcIixsKTtrLmxvZygpfWNhc2UgMjpyZXR1cm4gaC5yZXR1cm4oe01IYTpmLEdCYTplfSl9fSl9O3ZhciB4SmI9ZnVuY3Rpb24oYSxiLGMpe2E9RXJyb3IuY2FsbCh0aGlzLGEpO3RoaXMubWVzc2FnZT1hLm1lc3NhZ2U7XCJzdGFja1wiaW4gYSYmKHRoaXMuc3RhY2s9YS5zdGFjayk7YT17fTt0aGlzLmRldGFpbHM9KGEucmVxPWIsYS5yZXM9YyxhKX07Xy5EKHhKYixFcnJvcik7dmFyIHpKYj0hMSxESmI9MDt2YXIgTUpiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoTUpiLF8ucSk7Xy5WRWI9ITA7XG5fLmNuKF8uVUViLHtubTp7ZmV0Y2g6ZnVuY3Rpb24oYSl7cmV0dXJuIEpKYihhLGZ1bmN0aW9uKCl7dmFyIGI9YS5tZXRob2QsYz1hLnVybCxkPWEuUERiLGU9YS5TaSxmPWEuaGVhZGVycyxnPWEuYjksaD1uZXcgXy5MdyghMCk7UEpiKGgsZnVuY3Rpb24oKXtlJiZfLlJuKGUsXCJ0dGZiXCIpO2cmJmcoKX0pO3JldHVybiBCSmIoYixjLHtib2R5OmQsWjBiOmgsd2l0aENyZWRlbnRpYWxzOl8ucEZiLHRLYTpcIildfSdcXG5cIixoZWFkZXJzOmZ9KX0pfX0sSUhhOntidWlsZDpmdW5jdGlvbihhLGIsYyxkLGUsZil7ZC5jb250ZXh0PW5ldyBNYXAoZC5jb250ZXh0KTt2YXIgZz1kLmNvbnRleHQsaDt2YXIgaz0oaD1nb29nbGUueGpzKT09bnVsbD92b2lkIDA6aC5iYXNlanM7dmFyIGw7aD0obD1nb29nbGUueGpzKT09bnVsbD92b2lkIDA6bC5iYXNlY3NzO3ZhciBuO2w9KG49Z29vZ2xlLnhqcyk9PW51bGw/dm9pZCAwOm4uYmFzZWNvbWI7az1fLlhnYSh7X2Jhc2VqczprLF9iYXNlY3NzOmgsX2Jhc2Vjb21iOmx9LFxuQm9vbGVhbik7az1uZXcgTWFwKE9iamVjdC5lbnRyaWVzKGspKTtfLkFpYShnLGspO3JldHVybiBfLnhGYihhLGIsYyxkLGUsZil9fSxCcmQ6e1Z3YjpmdW5jdGlvbihhKXt2YXIgYj1hLmNwO2I9YiYmUUpiLmluY2x1ZGVzKGIpP2I6dm9pZCAwO3JldHVybiBOSmIoYSx7bWV0aG9kOlwiR0VUXCIsdXJsOmEudXJsLFdCOmEuYXQsZEw6bmV3IF8uQ3coYS5jayx7cHJpb3JpdHk6Yn0pfSl9fX0pO3ZhciBSSmI7KFJKYj1fLldFYik9PW51bGx8fFJKYi5yZXNvbHZlKF8uVUViLk9oKCkpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJhc3luY1wiKTtcblxuXG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwicEhYZ2hkXCIpO1xudmFyIGoyZj1mdW5jdGlvbigpe18uc0ZhLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07Xy5EKGoyZixfLnNGYSk7ajJmLnByb3RvdHlwZS5pbml0aWFsaXplPWZ1bmN0aW9uKCl7Xy5rMmYoKTtfLmwyZigpfTtfLmwyZj1mdW5jdGlvbigpe307Xy5rMmY9ZnVuY3Rpb24oKXt9O18ueWQoKS5Qa2IoajJmKTtcbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJzZlwiKTtcbnZhciBQMGY9e307Xy5ZZShcInNmXCIsKFAwZi5pbml0PWZ1bmN0aW9uKCl7Xy5CbWEoXCJzZlwiLHtjaGs6ZnVuY3Rpb24oYSl7YS5BYi5SbCgpLmNoZWNrZWQ9ITB9LGxjazpmdW5jdGlvbihhKXthPWEuQWIuUmwoKTthLmZvcm0ucS52YWx1ZT8oYS5jaGVja2VkPSEwLChhPWEuZm9ybS5pZmxzaWcpJiZhLnZhbHVlJiYoYS5kaXNhYmxlZD0hMSkpOl8uSmMoKS5ocmVmPVwiL2Rvb2RsZXMvXCJ9fSl9LFAwZikpO1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBtTGM7Xy5rTGM9L2lQaG9uZXxpUG9kfGlQYWQvO18ubExjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uZmEobmF2aWdhdG9yLnVzZXJBZ2VudCxcIkFuZHJvaWRcIil9O21MYz0vTWFjIE9TIFguK1NpbGtcXC8vO18ubkxjPV8uendhfHxfLmtMYy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpfHxfLmxMYygpfHxtTGMudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtfLm9MYz13aW5kb3cubmF2aWdhdG9yLm1zUG9pbnRlckVuYWJsZWQ7Xy5wTGM9Xy5uTGM/XCJ0b3VjaHN0YXJ0XCI6Xy5vTGM/XCJNU1BvaW50ZXJEb3duXCI6XCJtb3VzZWRvd25cIjtfLnFMYz1fLm5MYz9cInRvdWNobW92ZVwiOl8ub0xjP1wiTVNQb2ludGVyTW92ZVwiOlwibW91c2Vtb3ZlXCI7Xy5yTGM9Xy5uTGM/XCJ0b3VjaGVuZFwiOl8ub0xjP1wiTVNQb2ludGVyVXBcIjpcIm1vdXNldXBcIjtfLnNMYz1fLm9MYz9cIk1TUG9pbnRlckNhbmNlbFwiOlwidG91Y2hjYW5jZWxcIjtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIFFMYztfLk9MYz1mdW5jdGlvbihhLGIsYyl7dGhpcy5RYT0hIWM7dGhpcy5VYT0hMDt0aGlzLlFhJiYodGhpcy5PYT1NYXRoLm1heCg4MDAsdGhpcy5PYSkpO3RoaXMuZWxlbWVudD1hO3RoaXMub25jbGljaz1iO18ubkxjP2Eub250b3VjaHN0YXJ0PSgwLF8uaGgpKHRoaXMuQmIsdGhpcyk6YS5vbm1vdXNlZG93bj0oMCxfLmhoKSh0aGlzLndiLHRoaXMpO18ub0xjJiYoYS5zdHlsZS5tc1RvdWNoQWN0aW9uPVwibm9uZVwiKTthLm9uY2xpY2s9KDAsXy5oaCkodGhpcy5SYSx0aGlzKTt0aGlzLkxhPXRoaXMuR2E9bnVsbH07UUxjPWZ1bmN0aW9uKGEpe1BMYy5wdXNoKGEpO3dpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIGI9UExjLmluZGV4T2YoYSk7YiE9LTEmJlBMYy5zcGxpY2UoYiwxKX0sMjUwMCl9O1xuXy5PTGMucHJvdG90eXBlLmRpc3Bvc2U9ZnVuY3Rpb24oKXtfLm5MYz90aGlzLmVsZW1lbnQub250b3VjaHN0YXJ0PW51bGw6dGhpcy5lbGVtZW50Lm9ubW91c2Vkb3duPW51bGw7dGhpcy5lbGVtZW50Lm9uY2xpY2s9bnVsbH07XG5fLk9MYy5wcm90b3R5cGUuQmI9ZnVuY3Rpb24oYSl7dGhpcy5BYSYmIXRoaXMuQWEoYSl8fChhLnRvdWNoZXN8fFthXSkubGVuZ3RoPjF8fCh0aGlzLlVhfHxhLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuQmE9ITAsdGhpcy5RYXx8KHRoaXMuZWxlbWVudC5vbnRvdWNoZW5kPSgwLF8uaGgpKHRoaXMuUmEsdGhpcyksZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKFwidG91Y2hlbmRcIixSTGModGhpcyksITEpKSxkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoXCJ0b3VjaG1vdmVcIixTTGModGhpcyksITEpLGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcihcInRvdWNoY2FuY2VsXCIsUkxjKHRoaXMpLCExKSxUTGModGhpcyksYT1hLnRvdWNoZXNbMF0sdGhpcy5vYT1uZXcgXy5aayhhLmNsaWVudFgsYS5jbGllbnRZKSx0aGlzLmhiPXdpbmRvdy5zZXRUaW1lb3V0KCgwLF8uaGgpKHRoaXMuQ2EsdGhpcywhMCksMTAwKSx0aGlzLlFhfHxRTGModGhpcy5vYSkpfTtcbl8uT0xjLnByb3RvdHlwZS53Yj1mdW5jdGlvbihhKXtpZighdGhpcy5BYXx8dGhpcy5BYShhKSl0aGlzLlVhfHxhLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuQmE9ITAsVExjKHRoaXMpLHRoaXMuQ2EoITApfTtfLk9MYy5wcm90b3R5cGUuUmE9ZnVuY3Rpb24oYSl7aWYodGhpcy5BYSYmIXRoaXMuQWEoYSkpcmV0dXJuIFVMYyh0aGlzKSwhMDtpZihhKXtpZihhLnR5cGU9PVwidG91Y2hlbmRcIiYmIXRoaXMuQmEpcmV0dXJuITE7YS5zdG9wUHJvcGFnYXRpb24oKX10aGlzLkNhKCEwKTt3aW5kb3cuc2V0VGltZW91dCgoMCxfLmhoKShmdW5jdGlvbigpe1VMYyh0aGlzKTtpZihWTGModGhpcykpdGhpcy5vbmNsaWNrKGEpfSx0aGlzKSwwKTtyZXR1cm4hMX07XG52YXIgU0xjPWZ1bmN0aW9uKGEpe2EuR2F8fChhLkdhPWZ1bmN0aW9uKGIpeyhiLnRvdWNoZXN8fFtiXSkubGVuZ3RoPjE/VUxjKGEpOihiPShiLnRvdWNoZXN8fFtiXSlbMF0sYj1uZXcgXy5aayhiLmNsaWVudFgsYi5jbGllbnRZKSxhLm9hJiZfLnF5YShhLm9hLGIpPjEyJiZVTGMoYSkpfSk7cmV0dXJuIGEuR2F9LFVMYz1mdW5jdGlvbihhKXt3aW5kb3cuY2xlYXJUaW1lb3V0KGEuaGIpO3dpbmRvdy5jbGVhclRpbWVvdXQoYS5rYik7YS5DYSghMSk7YS5CYT0hMTtkb2N1bWVudC5ib2R5LnJlbW92ZUV2ZW50TGlzdGVuZXImJihkb2N1bWVudC5ib2R5LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJ0b3VjaG1vdmVcIixTTGMoYSksITEpLGRvY3VtZW50LmJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInRvdWNoZW5kXCIsUkxjKGEpLCExKSxkb2N1bWVudC5ib2R5LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJ0b3VjaGNhbmNlbFwiLFJMYyhhKSwhMSkpfSxSTGM9ZnVuY3Rpb24oYSl7YS5MYXx8KGEuTGE9XG5mdW5jdGlvbigpe3JldHVybiBVTGMoYSl9KTtyZXR1cm4gYS5MYX07Xy5PTGMucHJvdG90eXBlLkNhPWZ1bmN0aW9uKGEpe2lmKHRoaXMuT2ImJighYXx8VkxjKHRoaXMpKSl7dmFyIGI9dGhpcy5lbGVtZW50LGM9dGhpcy5PYixkPW5ldyBSZWdFeHAoXCIoPzpefCArKVwiK2MrXCIoPzokfCArKVwiKSxlPVJlZ0V4cChcIig/Ol58ICspKD86JHwgKylcIik7YSE9ZC50ZXN0KGIuY2xhc3NOYW1lKSYmKGQ9Yi5jbGFzc05hbWUucmVwbGFjZShkLFwiIFwiKS5yZXBsYWNlKGUsXCIgXCIpLGIuY2xhc3NOYW1lPWQrXCIgXCIrKGE/YzpcIlwiKSl9fTtcbnZhciBWTGM9ZnVuY3Rpb24oYSl7aWYoIWRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnR8fCFhLm9hfHxhLm9hLng9PT12b2lkIDApcmV0dXJuITA7Zm9yKHZhciBiPWRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoYS5vYS54LGEub2EueSk7Yjspe2lmKGI9PWEuZWxlbWVudClyZXR1cm4hMDtiPWIucGFyZW50Tm9kZX1yZXR1cm4hMX0sVExjPWZ1bmN0aW9uKGEpe2EuR2ImJihhLmtiPXdpbmRvdy5zZXRUaW1lb3V0KCgwLF8uaGgpKGZ1bmN0aW9uKCl7dGhpcy5CYT0hMTt0aGlzLkdiKCl9LGEpLGEuT2EpKX0sUExjPVtdO18uT0xjLnByb3RvdHlwZS5PYT01MDA7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBzbGo7Xy5ubGo9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWN8fGZ1bmN0aW9uKGcpe18uaWQoZyl9O2M9e307dmFyIGU9e30sZjtmb3IoZiBpbiBiKWU9e2I3Yjp2b2lkIDB9LGUuYjdiPWJbZl0sY1tmXT1mdW5jdGlvbihnKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgaD1fLmxjLmFwcGx5KDAsYXJndW1lbnRzKTt0cnl7cmV0dXJuIGcuYjdiLmFwcGx5KG51bGwsXy5tZChoKSl9Y2F0Y2goayl7ZChrKX19fShlKTtfLkFtYShhLGMpfTtfLnJsaj1mdW5jdGlvbigpe2lmKCFvbGope3ZhciBhPV8uY2goXCJnb29nbGUuc2guc2dcIik7YSYmIW9saiYmKG9saj1uZXcgcGxqKGEpLHFsai5yZXNvbHZlKG9saikpfXJldHVybiBvbGp8fG5ldyBwbGp9O3Nsaj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKHNsaixfLnEpO3Nsai5wcm90b3R5cGUuTmFkPWZ1bmN0aW9uKCl7cmV0dXJuIF8uR2UodGhpcywzOTkpfTtcbnNsai5wcm90b3R5cGUuT1FhPWZ1bmN0aW9uKCl7cmV0dXJuIF8uR2UodGhpcywxOTUpfTt2YXIgdGxqPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQodGxqLF8ucSk7dmFyIHBsaj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKHBsaixfLnEpO3Bsai5wcm90b3R5cGUubUk9ZnVuY3Rpb24oKXtyZXR1cm4gXy52KHRoaXMsdGxqLDEpfTtfLnVsaj1mdW5jdGlvbigpe3ZhciBhPV8ucmxqKCk7cmV0dXJuIF8udihhLHNsaiwyKX07cGxqLnByb3RvdHlwZS5vYT1mdW5jdGlvbigpe3JldHVybiBfLnYodGhpcyxfLkRLYSwxMSl9O3Bsai5wcm90b3R5cGUuQWE9ZnVuY3Rpb24oKXtyZXR1cm4gXy52KHRoaXMsXy4kS2EsMTMpfTt2YXIgcWxqPV8udmQoKSx2bGo9Xy55ZCgpLm9hLG9sajtfLktkKF8uY3EsdmxqKTtfLndsaj1mdW5jdGlvbihhKXt2YXIgYj17bW9kOmEscHJvcDpcInNob3BcIn07cmV0dXJuIGZ1bmN0aW9uKGMsZCl7aWYoZCl7dmFyIGU9ZC5nZXRBdHRyaWJ1dGUoXCJocmVmXCIpfHxudWxsO2UmJnNldFRpbWVvdXQoZnVuY3Rpb24oKXtyZXR1cm4gXy5xZChlLCExKX0sMTUwKX1nb29nbGUubWwoYywhMSxiKX19O29saj1udWxsO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJzb25pY1wiKTtcbnZhciB4bGo9ZnVuY3Rpb24oYSl7dmFyIGI9Xy51bGooKTtpZihiPV8uZGkoYiwxODUpKWI9Xy51bGooKSxiPV8uZGkoYiwxODYpO2ImJihhLnNldEF0dHJpYnV0ZShcImRhdGEtc2J2MlwiLFwidHJ1ZVwiKSxnb29nbGUuYXVzYihhKSk7Xy5xZChhLmhyZWYpfSx5bGo9e307Xy5ZZShcInNvbmljXCIsKHlsai5pbml0PWZ1bmN0aW9uKCl7Xy5ubGooXCJzb25pY1wiLHtjbGs6eGxqfSxfLndsaihcInNvbmljXCIpKX0seWxqKSk7XG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwiVHhDSmZkXCIpO1xuXy5GcT1mdW5jdGlvbihhLGIsYyl7dGhpcy5uYW1lPWE7dGhpcy5vYT1iO3RoaXMuQWE9Y307Xy5GcS5wcm90b3R5cGUuZ2V0TmFtZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5hbWV9O1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uZmYoXy5aV2EpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJxenh6T2JcIik7XG52YXIgU2xqPWZ1bmN0aW9uKGEpe18uRG4uY2FsbCh0aGlzLGEuTmEpfTtfLkQoU2xqLF8uRG4pO1Nsai5XYT1fLkRuLldhO1Nsai5JYT1fLkRuLklhO1Nsai5wcm90b3R5cGUuaXNBdmFpbGFibGU9ZnVuY3Rpb24oKXtyZXR1cm4hMX07U2xqLnByb3RvdHlwZS5vYT1mdW5jdGlvbigpe3JldHVybiBfLk5nKFwiVm9pY2VTZWFyY2hcIixcInBlcmZvcm1Wb2ljZVNlYXJjaFwiKX07U2xqLnByb3RvdHlwZS5DYT1mdW5jdGlvbigpe18uTmcoXCJWb2ljZVNlYXJjaFwiLFwic3RvcFZvaWNlU2VhcmNoXCIpfTtfLkZuKF8uWVdhLFNsaik7XG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwiSXNkV1ZjXCIpO1xuXy5XbGo9bmV3IF8uSWQoXy5aV2EpO1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBtMGM7Xy4kQz1mdW5jdGlvbihhLGIpe3JldHVybiBiP2EuT2EoYi5nZXRLZXkoKSkuS2pjfHxcIlwiOlwiXCJ9O18uYUQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj9hLk9hKGIuZ2V0S2V5KCkpLkxqY3x8XCJcIjpcIlwifTtfLmZEPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGI/YS5PYShiLmdldEtleSgpKS5NamN8fFwiXCI6XCJcIn07bTBjPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucGgoYSxmdW5jdGlvbihjKXtyZXR1cm4gYltjXX0pfTtfLmdEPWZ1bmN0aW9uKGEsYil7aWYoIWIpcmV0dXJuXCJcIjt2YXIgYz1hLk9hKGIuZ2V0S2V5KCkpLGQ9Yy5HamM7aWYoIWQpcmV0dXJuXCJcIjtiPW0wYyhjLmFyZ3MsYi5vYSk7cmV0dXJuIGIubGVuZ3RoPT0wP2QoYSk6ZC5hcHBseShudWxsLFthXS5jb25jYXQoXy5tZChiKSkpfTtcbl8uaEQ9ZnVuY3Rpb24oYSxiKXtpZighYilyZXR1cm5cIlwiO3ZhciBjPWEuT2EoYi5nZXRLZXkoKSksZD1jLkhqYztpZighZClyZXR1cm5cIlwiO2I9bTBjKGMuYXJncyxiLm9hKTtyZXR1cm4gYi5sZW5ndGg9PTA/ZChhKTpkLmFwcGx5KG51bGwsW2FdLmNvbmNhdChfLm1kKGIpKSl9O18uaUQ9ZnVuY3Rpb24oYSxiKXtpZighYilyZXR1cm5cIlwiO3ZhciBjPWEuT2EoYi5nZXRLZXkoKSksZD1jLklqYztpZighZClyZXR1cm5cIlwiO2I9bTBjKGMuYXJncyxiLm9hKTtyZXR1cm4gYi5sZW5ndGg9PTA/ZChhKTpkLmFwcGx5KG51bGwsW2FdLmNvbmNhdChfLm1kKGIpKSl9O18uakQ9ZnVuY3Rpb24oYSxiKXtpZighYilyZXR1cm4hMDt2YXIgYz1hLk9hKGIuZ2V0S2V5KCkpLGQ9Yy5KamM7aWYoIWQpcmV0dXJuITA7Yj1tMGMoYy5hcmdzLGIub2EpO3JldHVybiBiLmxlbmd0aD09MD9kKGEpOmQuYXBwbHkobnVsbCxbYV0uY29uY2F0KF8ubWQoYikpKX07XG5fLmtEPWZ1bmN0aW9uKGEsYil7aWYoIWIpcmV0dXJuITE7dmFyIGM9YS5PYShiLmdldEtleSgpKSxkPWMuWXZkO2lmKCFkKXJldHVybiExO2I9bTBjKGMuYXJncyxiLm9hKTtyZXR1cm4gZC5hcHBseShudWxsLFthXS5jb25jYXQoXy5tZChiKSkpfTtfLmxEPWZ1bmN0aW9uKGEsYil7aWYoIWIpcmV0dXJuXCJcIjt2YXIgYz1hLk9hKGIuZ2V0S2V5KCkpLmlUYTtyZXR1cm4gYz9jKGEsYi5vYSk6XCJcIn07Xy5tRD1mdW5jdGlvbihhLGIpe2E9Xy4kQyhhLGIpK18uZ0QoYSxiKTthPV8uUGEoYS5zcGxpdChcIiBcIikpO2ZvcihiPWEubmV4dCgpOyFiLmRvbmU7Yj1hLm5leHQoKSlpZihiPWIudmFsdWUsYi5zdGFydHNXaXRoKCdocmVmPVwiJykpcmV0dXJuIGIuc3Vic3RyaW5nKGIuaW5kZXhPZignXCInKSsxLGIubGFzdEluZGV4T2YoJ1wiJykpO3JldHVyblwiXCJ9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLkVCPWZ1bmN0aW9uKGEpe3JldHVybiBfLkEoYSwzNCl9O18uRkI9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQShhLDMpfTtfLkdCPWZ1bmN0aW9uKGEpe3JldHVybiBfLkEoYSwxKX07Xy5IQj0hIShfLmRoWzhdPj4yOCYxKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5EQj0hIShfLmRoWzhdPj4yOSYxKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5ndj1mdW5jdGlvbihhKXtyZXR1cm4gXy5BKGEsMTcpfTtfLmh2PWZ1bmN0aW9uKGEpe3JldHVybiBfLkEoYSwyMCl9O18uaXY9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQShhLDEpfTtfLmp2PWZ1bmN0aW9uKGEpe3JldHVybiBfLkEoYSwyOSl9O18ua3Y9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQShhLDYpfTtfLmx2PWZ1bmN0aW9uKGEpe3JldHVybiBfLkEoYSwyNil9O18ubXY9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQShhLDM2KX07Xy5udj1mdW5jdGlvbihhKXtyZXR1cm4gXy5BKGEsNSl9O18ub3Y9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQShhLDEwKX07Xy5wdj1mdW5jdGlvbihhKXtyZXR1cm4gXy5BKGEsNyl9O18ucXY9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQShhLDY4KX07Xy5ydj1mdW5jdGlvbihhKXtyZXR1cm4gXy5BKGEsNTUpfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIEV3YixGd2IsR3diLEh3YixJd2IsSndiLEt3YixMd2IsTXdiLE53YixPd2IsUHdiO0V3Yj1mdW5jdGlvbihhLGIpe2EuciRhPT09dm9pZCAwP09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGEse3IkYTp7dmFsdWU6Yixjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsZW51bWVyYWJsZTohMX19KTphLnIkYXw9Yn07RndiPWZ1bmN0aW9uKGEpe3JldHVybiBhLnIkYXx8MH07R3diPWZ1bmN0aW9uKGEsYixjLGQpe09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGEse1d4Yjp7dmFsdWU6Yixjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsZW51bWVyYWJsZTohMX0sYSRiOnt2YWx1ZTpjLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCxlbnVtZXJhYmxlOiExfSxZOWI6e3ZhbHVlOmQsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9LFo5Yjp7dmFsdWU6dm9pZCAwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCxlbnVtZXJhYmxlOiExfX0pfTtcbkh3Yj1mdW5jdGlvbihhKXtyZXR1cm4gYS5XeGIhPW51bGx9O0l3Yj1mdW5jdGlvbihhKXtyZXR1cm4gYS5XeGJ9O0p3Yj1mdW5jdGlvbihhLGIpe2EuV3hiPWJ9O0t3Yj1mdW5jdGlvbihhKXtyZXR1cm4gYS5ZOWJ9O0x3Yj1mdW5jdGlvbihhLGIpe2EuWTliPWJ9O013Yj1mdW5jdGlvbihhKXtyZXR1cm4gYS5aOWJ9O053Yj1mdW5jdGlvbihhLGIpe2EuWjliPWJ9O093Yj1mdW5jdGlvbihhKXtyZXR1cm4gYS5hJGJ9O1B3Yj1mdW5jdGlvbihhLGIpe3JldHVybiBhLmEkYj1ifTtfLlF3Yj1mdW5jdGlvbihhKXtyZXR1cm4gYSE9bnVsbCYmdHlwZW9mIGE9PT1cIm9iamVjdFwiJiYhQXJyYXkuaXNBcnJheShhKSYmYS5jb25zdHJ1Y3Rvcj09PU9iamVjdH07XG5fLlN3Yj1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLmxlbmd0aCxmPU1hdGgubWF4KGJ8fDUwMCxlKzEpO2lmKGUmJihiPWFbZS0xXSxfLlF3YihiKSkpe3ZhciBnPWI7Zj1lfWY+NTAwJiYoZj01MDAsYS5mb3JFYWNoKGZ1bmN0aW9uKGssbCl7bCs9MTtpZighKGw8Znx8az09bnVsbHx8az09PWcpKWlmKGcpZ1tsXT1rO2Vsc2V7dmFyIG49e307Zz0obltsXT1rLG4pfX0pLGEubGVuZ3RoPWYsZyYmKGFbZi0xXT1nKSk7aWYoZylmb3IodmFyIGggaW4gZyllPU51bWJlcihoKSxlPGYmJihhW2UtMV09Z1toXSxkZWxldGUgZ1tlXSk7KDAsXy5Sd2IpKGEsZixkLGMpO3JldHVybiBhfTtpZih0eXBlb2YgU3ltYm9sPT09XCJmdW5jdGlvblwiJiZ0eXBlb2YgU3ltYm9sKCk9PT1cInN5bWJvbFwiKXt2YXIgZHhiPVN5bWJvbCh2b2lkIDApLGV4Yj1TeW1ib2wodm9pZCAwKSxmeGI9U3ltYm9sKHZvaWQgMCksZ3hiPVN5bWJvbCh2b2lkIDApLGh4Yj1TeW1ib2wodm9pZCAwKTtfLlR3Yj1mdW5jdGlvbihhLGIpe2FbZHhiXT0oMCxfLlV3YikoYSl8Yn07Xy5Vd2I9ZnVuY3Rpb24oYSl7cmV0dXJuIGFbZHhiXXx8MH07Xy5Sd2I9ZnVuY3Rpb24oYSxiLGMsZCl7YVtleGJdPWI7YVtoeGJdPWM7YVtmeGJdPWQ7YVtneGJdPXZvaWQgMH07Xy5Wd2I9ZnVuY3Rpb24oYSl7cmV0dXJuIGFbZXhiXSE9bnVsbH07Xy5Xd2I9ZnVuY3Rpb24oYSl7cmV0dXJuIGFbZXhiXX07Xy5Yd2I9ZnVuY3Rpb24oYSxiKXthW2V4Yl09Yn07Xy5Zd2I9ZnVuY3Rpb24oYSl7cmV0dXJuIGFbZnhiXX07Xy5ad2I9ZnVuY3Rpb24oYSxiKXthW2Z4Yl09Yn07Xy4kd2I9ZnVuY3Rpb24oYSl7cmV0dXJuIGFbZ3hiXX07XG5fLmF4Yj1mdW5jdGlvbihhLGIpe2FbZ3hiXT1ifTtfLmJ4Yj1mdW5jdGlvbihhKXtyZXR1cm4gYVtoeGJdfTtfLmN4Yj1mdW5jdGlvbihhLGIpe3JldHVybiBhW2h4Yl09Yn19ZWxzZSBfLlR3Yj1Fd2IsXy5Vd2I9RndiLF8uUndiPUd3YixfLlZ3Yj1Id2IsXy5Xd2I9SXdiLF8uWHdiPUp3YixfLll3Yj1Ld2IsXy5ad2I9THdiLF8uJHdiPU13YixfLmF4Yj1Od2IsXy5ieGI9T3diLF8uY3hiPVB3YjtfLml4Yj1PYmplY3QuZnJlZXplKFtdKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIGt4YjtfLmx4Yj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YTtpZihBcnJheS5pc0FycmF5KGEpKWM9QXJyYXkoYS5sZW5ndGgpLCgwLF8uVndiKShhKT9fLmp4YihfLlN3YihjLCgwLF8uV3diKShhKSwoMCxfLll3YikoYSkpLGEpOmt4YihjLGEsYiksZD1jO2Vsc2UgaWYoYSE9PW51bGwmJnR5cGVvZiBhPT09XCJvYmplY3RcIil7aWYoYSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXl8fGEgaW5zdGFuY2VvZiBfLk1hKXJldHVybiBhO2Q9e307Zm9yKHZhciBlIGluIGEpYS5oYXNPd25Qcm9wZXJ0eShlKSYmKGRbZV09Xy5seGIoYVtlXSxiLGMpKX1yZXR1cm4gZH07a3hiPWZ1bmN0aW9uKGEsYixjLGQpeygwLF8uVXdiKShiKSYxJiYoMCxfLlR3YikoYSwxKTtmb3IodmFyIGU9MCxmPTA7ZjxiLmxlbmd0aDsrK2YpaWYoYi5oYXNPd25Qcm9wZXJ0eShmKSl7dmFyIGc9YltmXTtnIT1udWxsJiYoZT1mKzEpO2FbZl09Xy5seGIoZyxjLGQpfWMmJihhLmxlbmd0aD1lKX07XG5fLmp4Yj1mdW5jdGlvbihhLGIpe2lmKGEhPT1iKXthLmxlbmd0aD0wO3ZhciBjPSgwLF8uWXdiKShiKTtjIT1udWxsJiYoMCxfLlp3YikoYSxjKTtjPSgwLF8uV3diKShiKTt2YXIgZD0oMCxfLld3YikoYSk7KGIubGVuZ3RoPj1jfHxiLmxlbmd0aD5kKSYmKDAsXy5Yd2IpKGEsYyk7aWYoYz0oMCxfLiR3YikoYikpYz1jLkNhKCksKDAsXy5heGIpKGEsYyk7YS5sZW5ndGg9Yi5sZW5ndGg7a3hiKGEsYiwhMCxiKX19O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgbnhiLG14YjtueGI9ZnVuY3Rpb24oYSxiKXtpZihhLmNvbnN0cnVjdG9yIT09QXJyYXkmJmEuY29uc3RydWN0b3IhPT1PYmplY3QpdGhyb3cgRXJyb3IoXCJHZVwiKTtpZihhPT09YilyZXR1cm4hMDtpZihhLmNvbnN0cnVjdG9yIT09Yi5jb25zdHJ1Y3RvcilyZXR1cm4hMTtmb3IodmFyIGMgaW4gYSlpZighKGMgaW4gYiYmbXhiKGFbY10sYltjXSkpKXJldHVybiExO2Zvcih2YXIgZCBpbiBiKWlmKCEoZCBpbiBhKSlyZXR1cm4hMTtyZXR1cm4hMH07bXhiPWZ1bmN0aW9uKGEsYil7aWYoYT09PWJ8fCEoYSE9PSEwJiZhIT09MXx8YiE9PSEwJiZiIT09MSl8fCEoYSE9PSExJiZhIT09MHx8YiE9PSExJiZiIT09MCkpcmV0dXJuITA7aWYoYSBpbnN0YW5jZW9mIE9iamVjdCYmYiBpbnN0YW5jZW9mIE9iamVjdCl7aWYoIW54YihhLGIpKXJldHVybiExfWVsc2UgcmV0dXJuITE7cmV0dXJuITB9O18uYXY9ZnVuY3Rpb24oKXtyZXR1cm4gXy5veGIoKT9cInJ0bFwiOlwibHRyXCJ9O18ucHhiPWZ1bmN0aW9uKCl7fTtfLnB4Yi5wcm90b3R5cGUuaW5pdGlhbGl6ZT1mdW5jdGlvbihhKXt0aGlzLm9hPWF8fHt9fTtfLmJ2PWZ1bmN0aW9uKGEsYixjKXthPWEub2FbYl07cmV0dXJuIGEhPW51bGw/YTpjfTtfLnB4Yi5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKGEpe2E9YSYmYTtyZXR1cm4hIWEmJm54Yih0aGlzLm9hLGEub2EpfTtfLnB4Yi5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmNvbnN0cnVjdG9yLGI9e30sYz10aGlzLm9hO2lmKGIhPT1jKXtmb3IodmFyIGQgaW4gYiliLmhhc093blByb3BlcnR5KGQpJiZkZWxldGUgYltkXTtpZihjKWZvcih2YXIgZSBpbiBjKWMuaGFzT3duUHJvcGVydHkoZSkmJihiW2VdPV8ubHhiKGNbZV0pKX1yZXR1cm4gbmV3IGEoYil9O3ZhciBxeGI9ZnVuY3Rpb24oYSl7dGhpcy5pbml0aWFsaXplKGEpfSxzeGI7Xy5taChxeGIsXy5weGIpO18ub3hiPWZ1bmN0aW9uKCl7dmFyIGE9Xy5jdigpO3JldHVybiEhXy5idihhLFwiaXNfcnRsXCIpfTtzeGI9ZnVuY3Rpb24oYSl7cnhiLm9hLmNzczNfcHJlZml4PWF9O3ZhciByeGI7Xy5jdj1mdW5jdGlvbigpe3J4Ynx8KHJ4Yj1uZXcgcXhiLF8uZGJhKCk/c3hiKFwiLXdlYmtpdC1cIik6Xy52YWEoKT9zeGIoXCItbW96LVwiKTpfLnNhYSgpP3N4YihcIi1tcy1cIik6Xy5yYWEoKSYmc3hiKFwiLW8tXCIpLHJ4Yi5vYS5pc19ydGw9ITEscnhiLm9hLmxhbmd1YWdlPVwiZW5cIik7cmV0dXJuIHJ4Yn07cnhiPW51bGw7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBweWIsd3liLHl5YixCeWIsQ3liLEd5YixJeWIsSHliLHh5YixPeWIsTXliLFF5YixxeWIsdHliLHJ5YixzeWIsdXliLHZ5YixUeWI7cHliPWZ1bmN0aW9uKGEsYil7YVtiXXx8KGFbYl09W10pO3JldHVybiBhW2JdfTtfLkN2PWZ1bmN0aW9uKGEsYil7aWYocXliLnRlc3QoYikpcmV0dXJuIGI7Yj1iLmluZGV4T2YoXCJsZWZ0XCIpPj0wP2IucmVwbGFjZShyeWIsXCJyaWdodFwiKTpiLnJlcGxhY2Uoc3liLFwibGVmdFwiKTtfLnZhKHR5YixhKSYmKGE9Yi5zcGxpdCh1eWIpLGEubGVuZ3RoPj00JiYoYj1bYVswXSxhWzNdLGFbMl0sYVsxXV0uam9pbihcIiBcIikpKTtyZXR1cm4gYn07d3liPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPV8uUGEoXy5FUWEua2V5cygpKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSlpZihkPWQudmFsdWUsXy5FUWEuZ2V0KGQpPT09YilyZXR1cm4gZDtyZXR1cm4gYStcIjs7XCIrdnliKyt9O1xueXliPWZ1bmN0aW9uKGEsYil7dmFyIGM9d3liKGEsYik7Xy5FUWEuc2V0KGMsYik7Xy5GUWEuaGFzKGEpfHwoeHliKGEsZnVuY3Rpb24oKXtyZXR1cm5cIlwifSksXy5GUWEuYWRkKGEpKTtyZXR1cm4gY307Xy5Edj1mdW5jdGlvbihhKXthPV8ua2MoYSkudG9TdHJpbmcoKTtyZXR1cm4gYT09PV8ucWhhLnRvU3RyaW5nKCk/XCJhYm91dDppbnZhbGlkI3pqc2xheW91dHpcIjphfTtfLkV2PWZ1bmN0aW9uKGEpe2lmKHp5Yi50ZXN0KGEpKXJldHVybiBhO2E9Xy5rYyhhKS50b1N0cmluZygpO3JldHVybiBhPT09Xy5xaGEudG9TdHJpbmcoKT9cImFib3V0OmludmFsaWQjempzbGF5b3V0elwiOmF9O1xuXy5Gdj1mdW5jdGlvbihhKXtpZihhPT1udWxsKXJldHVybiBudWxsO2lmKCFBeWIudGVzdChhKXx8QnliKGEsMCkhPTApcmV0dXJuXCJ6anNsYXlvdXR6aW52YWxpZFwiO2Zvcih2YXIgYj1SZWdFeHAoXCIoWy1fYS16QS1aMC05XSspXFxcXChcIixcImdcIiksYzsoYz1iLmV4ZWMoYSkpIT09bnVsbDspaWYoQ3liKGNbMV0sITEpPT09bnVsbClyZXR1cm5cInpqc2xheW91dHppbnZhbGlkXCI7cmV0dXJuIGF9O0J5Yj1mdW5jdGlvbihhLGIpe2lmKGI8MClyZXR1cm4tMTtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKyl7dmFyIGQ9YS5jaGFyQXQoYyk7aWYoZD09XCIoXCIpYisrO2Vsc2UgaWYoZD09XCIpXCIpaWYoYj4wKWItLTtlbHNlIHJldHVybi0xfXJldHVybiBifTtcbl8uR3Y9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gbnVsbDtmb3IodmFyIGI9UmVnRXhwKFwiKFstX2EtekEtWjAtOV0rKVxcXFwoXCIsXCJnXCIpLGM9UmVnRXhwKFwiWyBcXHRdKigoPzpcXFwiKD86W15cXFxceDAwXFxcIlxcXFxcXFxcXFxcXG5cXFxcclxcXFxmXFxcXHUwMDg1XFxcXHUwMDBiXFxcXHUyMDI4XFxcXHUyMDI5XSopXFxcInwnKD86W15cXFxceDAwJ1xcXFxcXFxcXFxcXG5cXFxcclxcXFxmXFxcXHUwMDg1XFxcXHUwMDBiXFxcXHUyMDI4XFxcXHUyMDI5XSopJyl8KD86Wz8mLzo9XXxbK1xcXFwtLiwhIyVfYS16QS1aMC05XFx0XSkqKVsgXFx0XSpcIixcImdcIiksZD0hMCxlPTAsZj1cIlwiO2Q7KXtiLmxhc3RJbmRleD0wO3ZhciBnPWIuZXhlYyhhKTtkPWchPT1udWxsO3ZhciBoPWEsaz12b2lkIDA7aWYoZCl7aWYoZ1sxXT09PXZvaWQgMClyZXR1cm5cInpqc2xheW91dHppbnZhbGlkXCI7az1DeWIoZ1sxXSwhMCk7aWYoaz09PW51bGwpcmV0dXJuXCJ6anNsYXlvdXR6aW52YWxpZFwiO2g9YS5zdWJzdHJpbmcoMCxiLmxhc3RJbmRleCk7YT1hLnN1YnN0cmluZyhiLmxhc3RJbmRleCl9ZT1cbkJ5YihoLGUpO2lmKGU8MHx8IUF5Yi50ZXN0KGgpKXJldHVyblwiempzbGF5b3V0emludmFsaWRcIjtmKz1oO2lmKGQmJms9PVwidXJsXCIpe2MubGFzdEluZGV4PTA7Zz1jLmV4ZWMoYSk7aWYoZz09PW51bGx8fGcuaW5kZXghPTApcmV0dXJuXCJ6anNsYXlvdXR6aW52YWxpZFwiO2s9Z1sxXTtpZihrPT09dm9pZCAwKXJldHVyblwiempzbGF5b3V0emludmFsaWRcIjtnPWsubGVuZ3RoPT0wPzA6Yy5sYXN0SW5kZXg7aWYoYS5jaGFyQXQoZykhPVwiKVwiKXJldHVyblwiempzbGF5b3V0emludmFsaWRcIjtoPVwiXCI7ay5sZW5ndGg+MSYmKF8uR2YoaywnXCInKSYmXy5HdGEoaywnXCInKT8oaz1rLnN1YnN0cmluZygxLGsubGVuZ3RoLTEpLGg9J1wiJyk6Xy5HZihrLFwiJ1wiKSYmXy5HdGEoayxcIidcIikmJihrPWsuc3Vic3RyaW5nKDEsay5sZW5ndGgtMSksaD1cIidcIikpO2s9Xy5FdihrKTtpZihrPT1cImFib3V0OmludmFsaWQjempzbGF5b3V0elwiKXJldHVyblwiempzbGF5b3V0emludmFsaWRcIjtmKz1oK2sraDthPWEuc3Vic3RyaW5nKGcpfX1yZXR1cm4gZSE9XG4wP1wiempzbGF5b3V0emludmFsaWRcIjpmfTtDeWI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLnRvTG93ZXJDYXNlKCk7YT1EeWIuZXhlYyhhKTtpZihhIT09bnVsbCl7aWYoYVsxXT09PXZvaWQgMClyZXR1cm4gbnVsbDtjPWFbMV19cmV0dXJuIGImJmM9PVwidXJsXCJ8fGMgaW4gRXliP2M6bnVsbH07Xy5GeWI9ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPW51bGwmJnR5cGVvZiBhPT1cIm9iamVjdFwiJiZ0eXBlb2YgYS5sZW5ndGg9PVwibnVtYmVyXCImJnR5cGVvZiBhLnByb3BlcnR5SXNFbnVtZXJhYmxlIT1cInVuZGVmaW5lZFwiJiYhYS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcImxlbmd0aFwiKX07R3liPWZ1bmN0aW9uKGEpe3JldHVybiBhIT1udWxsJiZ0eXBlb2YgYT09PVwib2JqZWN0XCImJmEuY29uc3RydWN0b3I9PT1PYmplY3R9O1xuSXliPWZ1bmN0aW9uKGEsYil7YT1IeWIoYSk7aWYodHlwZW9mIGI9PVwibnVtYmVyXCImJmI8MCl7dmFyIGM9YS5sZW5ndGg7aWYoYz09bnVsbClyZXR1cm4gYVstYl07Yj0tYi0xO2I8YyYmKGIhPT1jLTF8fCFHeWIoYVtjLTFdKSk/Yj1hW2JdOihhPWFbYS5sZW5ndGgtMV0sYj1HeWIoYSk/YVtiKzFdfHxudWxsOm51bGwpO3JldHVybiBifXJldHVybiBhW2JdfTtIeWI9ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPW51bGwmJnR5cGVvZiBhPT1cIm9iamVjdFwiJiZhIGluc3RhbmNlb2YgXy5xP2EuSGE6YX07XG5fLkp5Yj1mdW5jdGlvbihhLGIpe2lmKGE9PW51bGwpcmV0dXJuW107dmFyIGM9YS5sZW5ndGghPW51bGw7aWYoYyYmYiE9MzImJmIhPTgpcmV0dXJuIGE7dmFyIGQ9YS5fanNsQXJyYXlDYWNoZTtkfHwoZD1bXSxhLl9qc2xBcnJheUNhY2hlPWQpO3ZhciBlPWM/YS5sZW5ndGg6YS5zaXplKCk7ZC5sZW5ndGg9ZTtmb3IodmFyIGY9YS5nZXRBdEluZGV4P1wiZ2V0QXRJbmRleFwiOlwiZ2V0XCIsZz0wO2c8ZTtnKyspe3ZhciBoPWM/YVtnXTphW2ZdKGcpO2I9PTMyJiZoPT1udWxsJiYoaD1cIlwiKTtkW2ddPWh9cmV0dXJuIGR9O18uS3liPWZ1bmN0aW9uKGEpe3JldHVybiBhP1wicnRsXCI6XCJsdHJcIn07XG5fLk55Yj1mdW5jdGlvbihhKXtpZihhLm9hLm9yaWdpbmFsX3ZhbHVlIT1udWxsKXt2YXIgYj1uZXcgXy5NbShfLmJ2KGEsXCJvcmlnaW5hbF92YWx1ZVwiLFwiXCIpKTtcIm9yaWdpbmFsX3ZhbHVlXCJpbiBhLm9hJiZkZWxldGUgYS5vYS5vcmlnaW5hbF92YWx1ZTtiLkFhJiYoYS5vYS5wcm90b2NvbD1iLkFhKTtpZihiLkdhKXt2YXIgYz1iLkVxKCk7YS5vYS5ob3N0PWN9Yi5DYSE9bnVsbD9hLm9hLnBvcnQ9Yi5DYTpiLkFhJiYoYi5BYT09XCJodHRwXCI/YS5vYS5wb3J0PTgwOmIuQWE9PVwiaHR0cHNcIiYmKGEub2EucG9ydD00NDMpKTtiLlFhJiYoYz1iLmdldFBhdGgoKSxhLm9hLnBhdGg9Yyk7Yi5CYSYmKGEub2EuaGFzaD1iLkJhKTtjPWIub2Eub0EoKTtmb3IodmFyIGQ9MDtkPGMubGVuZ3RoOysrZCl7dmFyIGU9Y1tkXSxmPW5ldyBMeWIoTXliKGEsXCJwYXJhbVwiKSk7Zi5vYS5rZXk9ZTtmLnNldFZhbHVlKGIub2EuWXYoZSlbMF0pfX19O1xuXy5Idj1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT1cInN0cmluZ1wiP1wiJ1wiK1N0cmluZyhhKStcIidcIjp0eXBlb2YgYSE9PVwib2JqZWN0XCJ8fGE9PT1udWxsP1N0cmluZyhhKTpBcnJheS5pc0FycmF5KGEpP1wiW1wiK2EubWFwKF8uSHYpLmpvaW4oXCIsXCIpK1wiXVwiOlwie1wiK09iamVjdC5rZXlzKGEpLm1hcChmdW5jdGlvbihiKXt2YXIgYz1fLkh2KGFbYl0pO3JldHVybiBiK1wiOlwiK2N9KS5qb2luKFwiLFwiKStcIn1cIn07eHliPWZ1bmN0aW9uKGEsYil7Xy5yb1thXT1ifTtPeWI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gcHliKGEub2EsYil9O015Yj1mdW5jdGlvbihhLGIpe3ZhciBjPXt9O095YihhLGIpLnB1c2goYyk7cmV0dXJuIGN9O18uUHliPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEub2FbYl0/YS5vYVtiXS5sZW5ndGg6MH07UXliPWZ1bmN0aW9uKGEpe3RoaXMuaW5pdGlhbGl6ZShhKX07Xy5taChReWIsXy5weGIpO1xuUXliLnByb3RvdHlwZS5oaD1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9hLm5hbWUhPW51bGx9O1F5Yi5wcm90b3R5cGUuZ2V0TmFtZT1mdW5jdGlvbigpe3JldHVybiBfLmJ2KHRoaXMsXCJuYW1lXCIsXCJcIil9O1F5Yi5wcm90b3R5cGUuZGc9ZnVuY3Rpb24oYSl7dGhpcy5vYS5uYW1lPWF9O3ZhciBSeWI9ZnVuY3Rpb24oYSl7dGhpcy5pbml0aWFsaXplKGEpfTtfLm1oKFJ5YixfLnB4Yik7UnliLnByb3RvdHlwZS5hZGRSdWxlPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBReWIoTXliKHRoaXMsXCJydWxlXCIpKX07cXliPS9bJ1wiXFwoXS87dHliPVtcImJvcmRlci1jb2xvclwiLFwiYm9yZGVyLXN0eWxlXCIsXCJib3JkZXItd2lkdGhcIixcIm1hcmdpblwiLFwicGFkZGluZ1wiXTtyeWI9L2xlZnQvZztzeWI9L3JpZ2h0L2c7dXliPS9cXHMrLztfLkl2PWZ1bmN0aW9uKGEpe3JldHVybiBfLlZ5YShkb2N1bWVudCxhKX07dnliPTE7XG5fLlN5Yj1mdW5jdGlvbigpeygwLF8uVXhiKSgpO3dpbmRvdy5XX2pkJiZ3aW5kb3cuV19qZC50cTdQeGImJihfLlR4YihuZXcgXy5QeGIod2luZG93LldfamQudHE3UHhiKSksZGVsZXRlIHdpbmRvdy5XX2pkLnRxN1B4Yil9O1R5Yj1mdW5jdGlvbihhKXtfLlN5YigpO3JldHVybiBfLlF4YlthXT9fLlF4YlthXTpuZXcgXy5PeGJ9O18uUz1mdW5jdGlvbihhKXtyZXR1cm4hIV8ueGkoVHliKGEpLDIsXy5KeGIpfTtfLkp2PWZ1bmN0aW9uKGEpe2E9VHliKGEpO3JldHVybiBfLnFqKGEsNSxfLkp4Yik/Xy50dmEoYSw1LF8uSnhiKXx8MDpfLiRoKGEsXy5IaChhLF8uSnhiLDQpKSE9bnVsbD9fLnN2YShhLDQsXy5KeGIpfHwwOjB9O18uS3Y9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQWkoVHliKGEpLDMsXy5KeGIpfHxcIlwifTt2YXIgenliLEV5YixBeWIsRHliO3p5Yj1SZWdFeHAoXCJeZGF0YTppbWFnZS8oPzpibXB8Z2lmfGpwZWd8anBnfHBuZ3x0aWZmfHdlYnB8eC1pY29uKTtiYXNlNjQsWy0rL19hLXowLTldKyg/Oj18JTNkKSokXCIsXCJpXCIpO18uVXliPVJlZ0V4cChcIl4oPzpbMC05XSspKFsgXSo7WyBdKnVybD0pPyguKikkXCIpO1xuRXliPXtibHVyOiEwLGJyaWdodG5lc3M6ITAsY2FsYzohMCxjaXJjbGU6ITAsY2xhbXA6ITAsXCJjb25pYy1ncmFkaWVudFwiOiEwLGNvbnRyYXN0OiEwLGNvdW50ZXI6ITAsY291bnRlcnM6ITAsXCJjdWJpYy1iZXppZXJcIjohMCxcImRyb3Atc2hhZG93XCI6ITAsZWxsaXBzZTohMCxncmF5c2NhbGU6ITAsaHNsOiEwLGhzbGE6ITAsXCJodWUtcm90YXRlXCI6ITAsaW5zZXQ6ITAsaW52ZXJ0OiEwLG9wYWNpdHk6ITAsXCJsaW5lYXItZ3JhZGllbnRcIjohMCxtYXRyaXg6ITAsbWF0cml4M2Q6ITAsbWF4OiEwLG1pbm1heDohMCxwb2x5Z29uOiEwLFwicmFkaWFsLWdyYWRpZW50XCI6ITAscmdiOiEwLHJnYmE6ITAscmVjdDohMCxyZXBlYXQ6ITAscm90YXRlOiEwLHJvdGF0ZTNkOiEwLHJvdGF0ZXg6ITAscm90YXRleTohMCxyb3RhdGV6OiEwLHNhdHVyYXRlOiEwLHNlcGlhOiEwLHNjYWxlOiEwLHNjYWxlM2Q6ITAsc2NhbGV4OiEwLHNjYWxleTohMCxzY2FsZXo6ITAsc3RlcHM6ITAsc2tldzohMCxza2V3eDohMCxcbnNrZXd5OiEwLHRyYW5zbGF0ZTohMCx0cmFuc2xhdGUzZDohMCx0cmFuc2xhdGV4OiEwLHRyYW5zbGF0ZXk6ITAsdHJhbnNsYXRlejohMCxcInZhclwiOiEwfTtBeWI9UmVnRXhwKFwiXig/OlsqL10/KD86KD86WytcXFxcLS4sISMlX2EtekEtWjAtOVxcdF18ICl8XFxcXCl8W2EtekEtWjAtOV1cXFxcKHwkKSkqJFwiKTtfLlZ5Yj1SZWdFeHAoXCJeKD86WyovXT8oPzooPzpcXFwiKD86W15cXFxceDAwXFxcIlxcXFxcXFxcXFxcXG5cXFxcclxcXFxmXFxcXHUwMDg1XFxcXHUwMDBiXFxcXHUyMDI4XFxcXHUyMDI5XXxcXFxcXFxcXCg/OltcXFxceDIxLVxcXFx4MmZcXFxceDNhLVxcXFx4NDBcXFxceDQ3LVxcXFx4NjBcXFxceDY3LVxcXFx4N2VdfFswLTlhLWZBLUZdezEsNn1bIFxcdF0/KSkqXFxcInwnKD86W15cXFxceDAwJ1xcXFxcXFxcXFxcXG5cXFxcclxcXFxmXFxcXHUwMDg1XFxcXHUwMDBiXFxcXHUyMDI4XFxcXHUyMDI5XXxcXFxcXFxcXCg/OltcXFxceDIxLVxcXFx4MmZcXFxceDNhLVxcXFx4NDBcXFxceDQ3LVxcXFx4NjBcXFxceDY3LVxcXFx4N2VdfFswLTlhLWZBLUZdezEsNn1bIFxcdF0/KSkqJyl8KD86WytcXFxcLS4sISMlX2EtekEtWjAtOVxcdF18ICl8JCkpKiRcIik7XG5EeWI9UmVnRXhwKFwiXi0oPzptb3p8bXN8b3x3ZWJraXR8Y3NzMyktKC4qKSRcIik7Xy5XeWI9ZnVuY3Rpb24oYSxiKXt0aGlzLkFhPVwiXCI7dGhpcy5vYT1ifHx7fTtpZih0eXBlb2YgYT09PVwic3RyaW5nXCIpdGhpcy5BYT1hO2Vsc2V7Yj1hLm9hO3RoaXMuQWE9YS5nZXRLZXkoKTtmb3IodmFyIGMgaW4gYil0aGlzLm9hW2NdPT1udWxsJiYodGhpcy5vYVtjXT1iW2NdKX19O18uV3liLnByb3RvdHlwZS5nZXRLZXk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5BYX07Xy5YeWI9Xy5naGEoe1wiZm9yXCI6XCJodG1sRm9yXCIsXCJjbGFzc1wiOlwiY2xhc3NOYW1lXCJ9KTt2YXIgWXliLFp5YiwkeWIsYnpiLGN6YixkemIsZXpiLGF6YixmemI7WXliPVJlZ0V4cChcIl48Lz8oYnx1fGl8ZW18YnJ8c3VifHN1cHx3YnJ8c3BhbikoIGRpcj0ocnRsfGx0cnwnbHRyJ3wncnRsJ3xcXFwibHRyXFxcInxcXFwicnRsXFxcIikpPz5cIik7WnliPVJlZ0V4cChcIl4mKFthLXpBLVpdK3wjWzAtOV0rfCN4WzAtOWEtZkEtRl0rKTtcIik7JHliPXtcIjxcIjpcIiZsdDtcIixcIj5cIjpcIiZndDtcIixcIiZcIjpcIiZhbXA7XCIsJ1wiJzpcIiZxdW90O1wifTtfLlQ9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm5cIlwiO2lmKCFhemIudGVzdChhKSlyZXR1cm4gYTthLmluZGV4T2YoXCImXCIpIT0tMSYmKGE9YS5yZXBsYWNlKGJ6YixcIiZhbXA7XCIpKTthLmluZGV4T2YoXCI8XCIpIT0tMSYmKGE9YS5yZXBsYWNlKGN6YixcIiZsdDtcIikpO2EuaW5kZXhPZihcIj5cIikhPS0xJiYoYT1hLnJlcGxhY2UoZHpiLFwiJmd0O1wiKSk7YS5pbmRleE9mKCdcIicpIT0tMSYmKGE9YS5yZXBsYWNlKGV6YixcIiZxdW90O1wiKSk7cmV0dXJuIGF9O1xuXy5Mdj1mdW5jdGlvbihhKXtpZihhPT1udWxsKXJldHVyblwiXCI7YS5pbmRleE9mKCdcIicpIT0tMSYmKGE9YS5yZXBsYWNlKGV6YixcIiZxdW90O1wiKSk7cmV0dXJuIGF9O2J6Yj0vJi9nO2N6Yj0vPC9nO2R6Yj0vPi9nO2V6Yj0vXCIvZzthemI9L1smPD5cIl0vO2Z6Yj1udWxsO18uTXY9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPVwiXCIsYyxkPTA7Yz1hW2RdOysrZClzd2l0Y2goYyl7Y2FzZSBcIjxcIjpjYXNlIFwiJlwiOnZhciBlPShcIjxcIj09Yz9ZeWI6WnliKS5leGVjKGEuc3Vic3RyKGQpKTtpZihlJiZlWzBdKXtiKz1hLnN1YnN0cihkLGVbMF0ubGVuZ3RoKTtkKz1lWzBdLmxlbmd0aC0xO2NvbnRpbnVlfWNhc2UgXCI+XCI6Y2FzZSAnXCInOmIrPSR5YltjXTticmVhaztkZWZhdWx0OmIrPWN9ZnpiPT1udWxsJiYoZnpiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIikpO18uQmMoZnpiLF8uJGUoYikpO3JldHVybiBmemIuaW5uZXJIVE1MfTtfLmd6Yj1mdW5jdGlvbihhKXt2YXIgYj1hWzFdPV8uR20oYVswXSk7aWYoYls2XSl7Zm9yKHZhciBjPWJbNl0uc3BsaXQoXCImXCIpLGQ9e30sZT0wLGY9Yy5sZW5ndGg7ZTxmOysrZSl7dmFyIGc9Y1tlXS5zcGxpdChcIj1cIik7aWYoZy5sZW5ndGg9PTIpe3ZhciBoPWdbMV0ucmVwbGFjZSgvLC9naSxcIiUyQ1wiKS5yZXBsYWNlKC9bK10vZyxcIiUyMFwiKS5yZXBsYWNlKC86L2csXCIlM0FcIik7dHJ5e2RbZGVjb2RlVVJJQ29tcG9uZW50KGdbMF0pXT1kZWNvZGVVUklDb21wb25lbnQoaCl9Y2F0Y2goayl7fX19Yls2XT1kfWFbMF09bnVsbH07XG5fLmh6Yj1mdW5jdGlvbihhKXtpZihhWzZdKXt2YXIgYj1hWzZdO3ZhciBjPVtdLGQ7Zm9yKGQgaW4gYil7dmFyIGU9YltkXTtlIT1udWxsJiZjLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KGQpK1wiPVwiK2VuY29kZVVSSUNvbXBvbmVudChlKS5yZXBsYWNlKC8lM0EvZ2ksXCI6XCIpLnJlcGxhY2UoLyUyMC9nLFwiK1wiKS5yZXBsYWNlKC8lMkMvZ2ksXCIsXCIpLnJlcGxhY2UoLyU3Qy9naSxcInxcIikpfWI9Yy5qb2luKFwiJlwiKTthWzZdPWJ9YVsxXT09XCJodHRwXCImJmFbNF09PVwiODBcIiYmKGFbNF09bnVsbCk7YVsxXT09XCJodHRwc1wiJiZhWzRdPT1cIjQ0M1wiJiYoYVs0XT1udWxsKTtiPWFbM107LzpbMC05XSskLy50ZXN0KGIpJiYoYz1iLmxhc3RJbmRleE9mKFwiOlwiKSxhWzNdPWIuc3Vic3RyKDAsYyksYVs0XT1iLnN1YnN0cihjKzEpKTtiPWFbNV07YVszXSYmYiYmIWIuc3RhcnRzV2l0aChcIi9cIikmJihhWzVdPVwiL1wiK2IpO3JldHVybiBfLk1sYShhWzFdLGFbMl0sYVszXSxhWzRdLGFbNV0sYVs2XSxhWzddKX07XG5fLk52PWZ1bmN0aW9uKGEpe3JldHVybiBhfHxcIiNcIn07Xy5Pdj1mdW5jdGlvbihhKXtyZXR1cm4gYXx8XCIvaW1hZ2VzL2NsZWFyZG90LmdpZlwifTt2YXIgTHliPWZ1bmN0aW9uKGEpe3RoaXMuaW5pdGlhbGl6ZShhKX07Xy5taChMeWIsXy5weGIpO0x5Yi5wcm90b3R5cGUuZ2V0S2V5PWZ1bmN0aW9uKCl7cmV0dXJuIF8uYnYodGhpcyxcImtleVwiLFwiXCIpfTtMeWIucHJvdG90eXBlLmdldFZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIF8uYnYodGhpcyxcInZhbHVlXCIsXCJcIil9O0x5Yi5wcm90b3R5cGUuc2V0VmFsdWU9ZnVuY3Rpb24oYSl7dGhpcy5vYS52YWx1ZT1hfTtMeWIucHJvdG90eXBlLmNsZWFyVmFsdWU9ZnVuY3Rpb24oKXtcInZhbHVlXCJpbiB0aGlzLm9hJiZkZWxldGUgdGhpcy5vYS52YWx1ZX07Xy5pemI9ZnVuY3Rpb24oYSl7dGhpcy5pbml0aWFsaXplKGEpfTtfLm1oKF8uaXpiLF8ucHhiKTtfLml6Yi5wcm90b3R5cGUuZ2V0UGF0aD1mdW5jdGlvbigpe3JldHVybiBfLmJ2KHRoaXMsXCJwYXRoXCIsXCJcIil9O18uanpiPWZ1bmN0aW9uKGEsYil7YT1PeWIoYSxcInBhcmFtXCIpW2JdO3JldHVybiBuZXcgTHliKGEpfTt2YXIga3piO2t6Yj1udWxsO18uUHY9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5DdihhLGIpfTtfLlF2PWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PW51bGw/bnVsbDpuZXcgXy5XeWIoYSxiKX07Xy5Tdj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YTthPWQ9PW51bGw/bnVsbDpkIGluc3RhbmNlb2YgXy5xP2QuSGE6ZC50b0FycmF5P2QudG9BcnJheSgpOmQ7Zm9yKGQ9MjtkPGFyZ3VtZW50cy5sZW5ndGg7KytkKXtpZihhPT1udWxsfHxhcmd1bWVudHNbZF09PW51bGwpcmV0dXJuIGI7YT1JeWIoYSxhcmd1bWVudHNbZF0pfXJldHVybiBhPT1udWxsP2I6SHliKGEpfTtfLlY9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9YSxkPV8uUGEoXy5sYy5hcHBseSgyLGFyZ3VtZW50cykpLGU9ZC5uZXh0KCk7IWUuZG9uZTtlPWQubmV4dCgpKXtlPWUudmFsdWU7aWYoIWMpcmV0dXJuIGI7Yz1lKGMpfXJldHVybiBjPT1udWxsfHxjPT12b2lkIDA/YjpjfTtcbl8uVHY9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWEsYz1fLlBhKF8ubGMuYXBwbHkoMSxhcmd1bWVudHMpKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7ZD1kLnZhbHVlO2lmKCFiKXJldHVybiAwO2I9ZChiKX1yZXR1cm4gYj09bnVsbHx8Yj09dm9pZCAwPzA6Xy5GeWIoYik/Yi5sZW5ndGg6LTF9O18uVz1mdW5jdGlvbihhKXtmb3IodmFyIGI9YSxjPV8uUGEoXy5sYy5hcHBseSgxLGFyZ3VtZW50cykpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKXtkPWQudmFsdWU7aWYoIWIpcmV0dXJuITE7Yj1kKGIpfXJldHVybiBifTtfLlV2PWZ1bmN0aW9uKGEpe2t6Ynx8KGt6Yj1uZXcgXy55digxKSk7cmV0dXJuIGt6Yi5mb3JtYXQoYSl9O18uVnY9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/YS5qb2luKFwiLFwiKTpcIlwifTtcbl8uV3Y9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLmN2KCk7Yz1uZXcgUnliKGMub2EuY3NzM19wcmVmaXhfcnVsZXMpO2Zvcih2YXIgZD1bXSxlPTA7ZTxfLlB5YihjLFwicnVsZVwiKTtlKyspe3ZhciBmPWQsZz1mLnB1c2g7dmFyIGg9ZTtoPU95YihjLFwicnVsZVwiKVtoXTtnLmNhbGwoZixuZXcgUXliKGgpKX1jPV8uUGEoZC5zbGljZSgpLnZhbHVlcygpKTtmb3IoZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpaWYoZD1kLnZhbHVlLGQuZ2V0TmFtZSgpPT09YSYmXy5idihkLFwicm9sZVwiLDApPT09MHx8Xy5idihkLFwicm9sZVwiLDApPT09YilyZXR1cm4gXy5idihkLFwicHJlZml4ZWRfbmFtZVwiLFwiXCIpO18uU3liKCk7aWYoYz1fLlJ4Yilmb3IoYz1fLlBhKF8uUmUoYyxfLkx4YiwxLF8uU2UoKSkpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKWlmKGQ9ZC52YWx1ZSxfLkdlKGQsMSk9PT1hJiZfLm5pKGQsMywwKT09PTB8fF8ubmkoZCwzLDApPT09YilyZXR1cm4gXy5BKGQsMik7Yj1cbl8uY3YoKTtyZXR1cm4gXy5idihiLFwiY3NzM19wcmVmaXhcIixcIlwiKSthfTtfLlh2PWZ1bmN0aW9uKGEsYixjKXtjPX5+KGN8fDApO2M9PTAmJihjPTEpO3ZhciBkPVtdO2lmKGM+MClmb3IoYT1+fmE7YTxiO2ErPWMpZC5wdXNoKGEpO2Vsc2UgZm9yKGE9fn5hO2E+YjthKz1jKWQucHVzaChhKTtyZXR1cm4gZH07XG5fLmx6Yj1mdW5jdGlvbihhLGIpe2lmKHR5cGVvZiBhPT1cInN0cmluZ1wiKXt2YXIgYz1uZXcgXy5pemI7Yy5vYS5vcmlnaW5hbF92YWx1ZT1hfWVsc2UgYz1uZXcgXy5pemIoYSk7Xy5OeWIoYyk7aWYoYilmb3IoYT0wO2E8Yi5sZW5ndGg7KythKXt2YXIgZD1iW2FdLGU9ZC5rZXkhPW51bGw/ZC5rZXk6ZC5rZXksZj1kLnZhbHVlIT1udWxsP2QudmFsdWU6ZC52YWx1ZTtkPSExO2Zvcih2YXIgZz0wO2c8Xy5QeWIoYyxcInBhcmFtXCIpOysrZylpZihfLmp6YihjLGcpLmdldEtleSgpPT1lKXtkPWc7ZD1PeWIoYyxcInBhcmFtXCIpW2RdOyhuZXcgTHliKGQpKS5zZXRWYWx1ZShmKTtkPSEwO2JyZWFrfWR8fChkPW5ldyBMeWIoTXliKGMsXCJwYXJhbVwiKSksZC5vYS5rZXk9ZSxkLnNldFZhbHVlKGYpKX1yZXR1cm4gYy5vYX07XG5fLm16Yj1mdW5jdGlvbihhKXthPW5ldyBfLml6YihhKTtfLk55YihhKTtmb3IodmFyIGI9Xy55Q2EoYS5vYS5wcm90b2NvbCE9bnVsbD9fLmJ2KGEsXCJwcm90b2NvbFwiLFwiXCIpOm51bGwsYS5vYS5ob3N0IT1udWxsP18uYnYoYSxcImhvc3RcIixcIlwiKTpudWxsLGEub2EucG9ydCE9bnVsbCYmKGEub2EucHJvdG9jb2w9PW51bGx8fF8uYnYoYSxcInByb3RvY29sXCIsXCJcIik9PVwiaHR0cFwiJiYrXy5idihhLFwicG9ydFwiLDApIT04MHx8Xy5idihhLFwicHJvdG9jb2xcIixcIlwiKT09XCJodHRwc1wiJiYrXy5idihhLFwicG9ydFwiLDApIT00NDMpPytfLmJ2KGEsXCJwb3J0XCIsMCk6bnVsbCxhLm9hLnBhdGghPW51bGw/YS5nZXRQYXRoKCk6bnVsbCxudWxsLGEub2EuaGFzaCE9bnVsbD9fLmJ2KGEsXCJoYXNoXCIsXCJcIik6bnVsbCksYz0wO2M8Xy5QeWIoYSxcInBhcmFtXCIpOysrYyl7dmFyIGQ9Xy5qemIoYSxjKTtfLlZtKGIsZC5nZXRLZXkoKSxkLmdldFZhbHVlKCkpfXJldHVybiBiLnRvU3RyaW5nKCl9O1xuXy5Zdj1mdW5jdGlvbihhLGIpe3JldHVybiB5eWIoYSxifHxbXSl9O18uWD1mdW5jdGlvbihhKXt2YXIgYj1hLm1hdGNoKC9cXGJocmVmPVwiL2cpO2lmKCFifHxiLmxlbmd0aDw9MSlyZXR1cm4gYTt2YXIgYz1uZXcgXy5NbTthPWEucmVwbGFjZSgvXFxiaHJlZj1cIiguKj8pXCIvZyxmdW5jdGlvbihkLGUpe2Q9Xy5ZbShlKTtjLkFhfHxfLk5tKGMsZC5BYSk7Yy5HYXx8Xy5QbShjLGQuRXEoKSk7Yy5RYXx8Xy5SbShjLGQuZ2V0UGF0aCgpKTtjLkJhfHxfLlRtKGMsZC5CYSk7ZT1fLlBhKGQub2Eub0EoKSk7Zm9yKHZhciBmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSlmPWYudmFsdWUsXy5EQ2EoYy5vYSxmKXx8Xy53Q2EoYy5vYSxmLGQub2EuWXYoZikpO3JldHVyblwiXCJ9KTthPWEucmVwbGFjZSgvXFxzXFxzKy9nLFwiIFwiKS5yZXBsYWNlKC9cXHMrJC9nLFwiXCIpO3JldHVybiBhKycgaHJlZj1cIicrYy50b1N0cmluZygpKydcIid9O1xuXy5ZPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09XCJcIj9cIlwiOicgY2xhc3M9XCInKyhhLmNoYXJBdChhLmxlbmd0aC0xKT09PVwiIFwiP2Euc2xpY2UoMCwtMSk6YSkrJ1wiJ307Xy5aPWZ1bmN0aW9uKGEpe3JldHVybiBhIT09XCJcIj8nIHN0eWxlPVwiJythKydcIic6XCJcIn07Xy5adj1mdW5jdGlvbihhLGIpe3JldHVybiBiIGluc3RhbmNlb2YgXy5xP2I6bmV3IGEoYil9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgcG1pLHJtaSxzbWksdG1pLHdtaSx4bWkseW1pO3BtaT1mdW5jdGlvbigpe3JldHVyblwiXCJ9O18ucW1pPWZ1bmN0aW9uKCl7cmV0dXJuKF8uREI/XCJ6MWFzQ2UgXCI6XCJcIikrKF8uREI/XCJ3dVhtcWMgXCI6XCJcIikrKF8uREI/XCJcIjpcIldxUWVxYyBcIikrKF8uREI/XCJcIjpcIkZBZ2tiYyBcIil9O3JtaT1mdW5jdGlvbigpe3JldHVyblwiXCJ9O3NtaT1mdW5jdGlvbigpe3JldHVybiEwfTt0bWk9ZnVuY3Rpb24oKXtyZXR1cm4hMX07d21pPWZ1bmN0aW9uKGEsYil7Xy51bWkoYSk7cmV0dXJuIF8udm1pKGEsYi5MYixiLktiKX07eG1pPWZ1bmN0aW9uKGEsYil7Xy51bWkoYSk7dmFyIGM9Yi5MYixkPWIuS2I7Yj1cIjxzcGFuXCIrXy5ZKF8ucW1pKGEsYyxkKStcIlwiKStfLlooXCJcIikrXy5YKFwiXCIpK1wiPlwiO2E9Xy52bWkoYSxjLGQpO3JldHVybiBfLncoYisoYStcIjwvc3Bhbj5cIikpfTtcbl8udm1pPWZ1bmN0aW9uKGEsYixjKXtiPWI9PW51bGw/bnVsbDpiO2M9Yz09bnVsbD9udWxsOmM7Yz0oYiE9bnVsbD9fLmxEKGEsYik6XCJcIikrKGMhPW51bGw/Xy5sRChhLGMpOlwiXCIpKyhfLkRCPyhfLkhCPT0wP1wiPHN2Z1wiK18uWShcIlwiKStfLlooXCJcIikrXy5YKCcgZm9jdXNhYmxlPVwiZmFsc2VcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiJykrXCI+PHBhdGhcIitfLlkoXCJcIikrXy5aKFwiXCIpK18uWCgnIGQ9XCJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyelwiJykrXCI+PC9wYXRoPjwvc3ZnPlwiOlwiXCIpKyhfLkhCPT0xP1wiPHN2Z1wiK18uWShcIlwiKStfLlooXCJcIikrXy5YKCcgZm9jdXNhYmxlPVwiZmFsc2VcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCInKStcIj48cGF0aFwiK18uWShcIlwiKStfLlooXCJcIikrXy5YKCcgZD1cIk0xOSA2LjQxTDE3LjU5IDUgMTIgMTAuNTkgNi40MSA1IDUgNi40MSAxMC41OSAxMiA1IDE3LjU5IDYuNDEgMTkgMTIgMTMuNDEgMTcuNTkgMTkgMTkgMTcuNTkgMTMuNDEgMTJ6XCInKStcblwiPjwvcGF0aD48L3N2Zz5cIjpcIlwiKTpcIlwiKTtfLkRCfHwoYS5QYShfLmJtP1wiLkZBZ2tiYyBzcGFue1wiK18uV3YoXCJtYXNrLWltYWdlXCIsMSkrXCI6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBREFBQUFBd0NBUUFBQUQ5Q3pFTUFBQUFrMGxFUVZSNEFlMlcxdzNEUUF6RkhuQkQzb0NwTzZhNEQ4Q0Q4RnpGYjRsTTNKV2NtQ1FwdXF1S1VvZnAwcVovcTlOWEZlcS82dlJ1U2R6VnFRT0pSYjlNMzVsOFdRSUpQTWtYNDNxK3pQVThFZGNqU1Z3UFJFQWZTQUI5SkJIVWcwUklEeEllL1pJdzZMMEIveUh5bjJUL1plcS8wZmlqd3Yrdzh6K3UvUzhjL3l2VC85TDNmN2I0UDd6OG40NUprcHlRSG9aMUMrQ0FjaDhXQUFBQUFFbEZUa1N1UW1DQyl9XCI6XCJcIiksYS5QYShfLmJtP1wiXCI6XCIuRkFna2JjIHNwYW57YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFEQUFBQUF3Q0FRQUFBRDlDekVNQUFBQWswbEVRVlI0QWUyVzF3M0RRQXpGSG5CRDNvQ3BPNmE0RDhDRDhGekZiNGxNM0pXY21DUXB1cXVLVW9mcDBxWi9xOU5YRmVxLzZ2UnVTZHpWcVFPSlJiOU0zNWw4V1FJSlBNa1g0M3ErelBVOEVkY2pTVndQUkVBZlNBQjlKQkhVZzBSSUR4SWUvWkl3NkwwQi95SHluMlQvWmVxLzBmaWp3dit3OHordS9TOGMveXZULzlMM2Y3YjRQN3o4bjQ1SmtweVFIb1oxQytDQWNoOFdBQUFBQUVsRlRrU3VRbUNDKX1cIiksXG5jKz1cIjxzcGFuXCIrXy5ZKFwiXCIpK18uWihcIlwiKStfLlgoXCJcIikrXCI+PC9zcGFuPlwiKTtyZXR1cm4gY307Xy51bWk9ZnVuY3Rpb24oYSl7YS5vYSh5bWkpfHxhLkphKHltaSx7TGI6MCxLYjoxfSx3bWkseG1pLHNtaSx0bWksXCJcIixwbWksXCJcIixfLnFtaSxcIlwiLHJtaSl9O3ltaT1cInQtZGpkeVptRzZNeUFcIjt2YXIgem1pLEFtaSxCbWksQ21pLERtaSxFbWk7em1pPWZ1bmN0aW9uKCl7cmV0dXJuXCJcIn07Xy5wVD1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm5cIlwiK18ucW1pKGEsYz09bnVsbD9udWxsOmMsZD09bnVsbD9udWxsOmQpfTtfLnFUPWZ1bmN0aW9uKGEsYil7dmFyIGM9YiE9MjQ7cmV0dXJuKGM/XCJoZWlnaHQ6XCIrXy5UKF8uRnYoYS5pc1J0bCgpP18uQ3YoXCJoZWlnaHRcIixTdHJpbmcoYikrXCJweFwiKTpTdHJpbmcoYikrXCJweFwiKSkrXCI7XCI6XCJcIikrKGM/XCJsaW5lLWhlaWdodDpcIitfLlQoXy5GdihhLmlzUnRsKCk/Xy5DdihcImxpbmUtaGVpZ2h0XCIsU3RyaW5nKGIpK1wicHhcIik6U3RyaW5nKGIpK1wicHhcIikpK1wiO1wiOlwiXCIpKyhjP1wid2lkdGg6XCIrXy5UKF8uRnYoYS5pc1J0bCgpP18uQ3YoXCJ3aWR0aFwiLFN0cmluZyhiKStcInB4XCIpOlN0cmluZyhiKStcInB4XCIpKStcIjtcIjpcIlwiKX07QW1pPWZ1bmN0aW9uKCl7cmV0dXJuITB9O0JtaT1mdW5jdGlvbigpe3JldHVybiExfTtcbkNtaT1mdW5jdGlvbihhLGIpe18uclQoYSk7cmV0dXJuIF8uc1QoYSxiLkxiLGIuS2IpfTtEbWk9ZnVuY3Rpb24oYSxiKXtfLnJUKGEpO3ZhciBjPWIuc2l6ZSxkPWIuTGI7Yj1iLktiO2M9XCI8c3BhblwiK18uWShfLnBUKGEsYyxkLGIpK1wiXCIpK18uWihfLnFUKGEsYyxkLGIpK1wiXCIpK18uWChcIlwiKStcIj5cIjthPV8uc1QoYSxkLGIpO3JldHVybiBfLncoYysoYStcIjwvc3Bhbj5cIikpfTtfLnNUPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy52bWkoYSxiPT1udWxsP251bGw6YixjPT1udWxsP251bGw6Yyl9O18uclQ9ZnVuY3Rpb24oYSl7YS5vYShFbWkpfHwoYS5KYShFbWkse3NpemU6MCxMYjoxLEtiOjJ9LENtaSxEbWksQW1pLEJtaSxcIlwiLHptaSxcIlwiLF8ucFQsXCJcIixfLnFUKSxfLnVtaShhKSl9O0VtaT1cInQtUGlxTEVIS1RDM01cIjtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5vbmY9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5LZz9hLktnLmdldFJlc3BvbnNlSGVhZGVyKGIpOm51bGx9O18ucG5mPWZ1bmN0aW9uKGEpe3RoaXMuQ2E9YS5vWGR8fG51bGw7dGhpcy5CYT1hLmNvY3x8ITF9O18ubWgoXy5wbmYsXy5XMGEpO18ucG5mLnByb3RvdHlwZS5Nbz1mdW5jdGlvbigpe3JldHVybiBuZXcgY04odGhpcy5DYSx0aGlzLkJhKX07Xy5wbmYucHJvdG90eXBlLm9hPV8uaG9hKHt9KTtcbnZhciBjTj1mdW5jdGlvbihhLGIpe18uTmsuY2FsbCh0aGlzKTt0aGlzLmtiPWE7dGhpcy5PYT1iO3RoaXMuTGE9dm9pZCAwO3RoaXMuc3RhdHVzPXRoaXMucmVhZHlTdGF0ZT0wO3RoaXMucmVzcG9uc2VUeXBlPXRoaXMucmVzcG9uc2VUZXh0PXRoaXMucmVzcG9uc2U9dGhpcy5zdGF0dXNUZXh0PVwiXCI7dGhpcy5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbDt0aGlzLlJhPW5ldyBIZWFkZXJzO3RoaXMuQWE9bnVsbDt0aGlzLlVhPVwiR0VUXCI7dGhpcy5oYj1cIlwiO3RoaXMub2E9ITE7dGhpcy5RYT10aGlzLkJhPXRoaXMuQ2E9dGhpcy5PZz1udWxsfTtfLm1oKGNOLF8uTmspO2NOLnByb3RvdHlwZS5vcGVuPWZ1bmN0aW9uKGEsYil7aWYodGhpcy5yZWFkeVN0YXRlIT0wKXRocm93IHRoaXMuYWJvcnQoKSxFcnJvcihcIkRrXCIpO3RoaXMuVWE9YTt0aGlzLmhiPWI7dGhpcy5yZWFkeVN0YXRlPTE7cW5mKHRoaXMpfTtcbmNOLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKGEpe2lmKHRoaXMucmVhZHlTdGF0ZSE9MSl0aHJvdyB0aGlzLmFib3J0KCksRXJyb3IoXCJFa1wiKTt0aGlzLm9hPSEwO3ZhciBiPXtoZWFkZXJzOnRoaXMuUmEsbWV0aG9kOnRoaXMuVWEsY3JlZGVudGlhbHM6dGhpcy5MYSxjYWNoZTp2b2lkIDB9O2EmJihiLmJvZHk9YSk7KHRoaXMua2J8fF8uYmEpLmZldGNoKG5ldyBSZXF1ZXN0KHRoaXMuaGIsYikpLnRoZW4odGhpcy53Yi5iaW5kKHRoaXMpLHRoaXMuR2EuYmluZCh0aGlzKSl9O1xuY04ucHJvdG90eXBlLmFib3J0PWZ1bmN0aW9uKCl7dGhpcy5yZXNwb25zZT10aGlzLnJlc3BvbnNlVGV4dD1cIlwiO3RoaXMuUmE9bmV3IEhlYWRlcnM7dGhpcy5zdGF0dXM9MDt0aGlzLkJhJiZ0aGlzLkJhLmNhbmNlbChcIlJlcXVlc3Qgd2FzIGFib3J0ZWQuXCIpLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9KTt0aGlzLnJlYWR5U3RhdGU+PTEmJnRoaXMub2EmJnRoaXMucmVhZHlTdGF0ZSE9NCYmKHRoaXMub2E9ITEscm5mKHRoaXMpKTt0aGlzLnJlYWR5U3RhdGU9MH07XG5jTi5wcm90b3R5cGUud2I9ZnVuY3Rpb24oYSl7aWYodGhpcy5vYSYmKHRoaXMuQ2E9YSx0aGlzLkFhfHwodGhpcy5zdGF0dXM9dGhpcy5DYS5zdGF0dXMsdGhpcy5zdGF0dXNUZXh0PXRoaXMuQ2Euc3RhdHVzVGV4dCx0aGlzLkFhPWEuaGVhZGVycyx0aGlzLnJlYWR5U3RhdGU9MixxbmYodGhpcykpLHRoaXMub2EmJih0aGlzLnJlYWR5U3RhdGU9MyxxbmYodGhpcyksdGhpcy5vYSkpKWlmKHRoaXMucmVzcG9uc2VUeXBlPT09XCJhcnJheWJ1ZmZlclwiKWEuYXJyYXlCdWZmZXIoKS50aGVuKHRoaXMuR2IuYmluZCh0aGlzKSx0aGlzLkdhLmJpbmQodGhpcykpO2Vsc2UgaWYodHlwZW9mIF8uYmEuUmVhZGFibGVTdHJlYW0hPT1cInVuZGVmaW5lZFwiJiZcImJvZHlcImluIGEpe3RoaXMuQmE9YS5ib2R5LmdldFJlYWRlcigpO2lmKHRoaXMuT2Epe2lmKHRoaXMucmVzcG9uc2VUeXBlKXRocm93IEVycm9yKFwiRmtcIik7dGhpcy5yZXNwb25zZT1bXX1lbHNlIHRoaXMucmVzcG9uc2U9dGhpcy5yZXNwb25zZVRleHQ9XG5cIlwiLHRoaXMuUWE9bmV3IFRleHREZWNvZGVyO3NuZih0aGlzKX1lbHNlIGEudGV4dCgpLnRoZW4odGhpcy5PYi5iaW5kKHRoaXMpLHRoaXMuR2EuYmluZCh0aGlzKSl9O3ZhciBzbmY9ZnVuY3Rpb24oYSl7YS5CYS5yZWFkKCkudGhlbihhLkJiLmJpbmQoYSkpLmNhdGNoKGEuR2EuYmluZChhKSl9O2NOLnByb3RvdHlwZS5CYj1mdW5jdGlvbihhKXtpZih0aGlzLm9hKXtpZih0aGlzLk9hJiZhLnZhbHVlKXRoaXMucmVzcG9uc2UucHVzaChhLnZhbHVlKTtlbHNlIGlmKCF0aGlzLk9hKXt2YXIgYj1hLnZhbHVlP2EudmFsdWU6bmV3IFVpbnQ4QXJyYXkoMCk7aWYoYj10aGlzLlFhLmRlY29kZShiLHtzdHJlYW06IWEuZG9uZX0pKXRoaXMucmVzcG9uc2U9dGhpcy5yZXNwb25zZVRleHQrPWJ9YS5kb25lP3JuZih0aGlzKTpxbmYodGhpcyk7dGhpcy5yZWFkeVN0YXRlPT0zJiZzbmYodGhpcyl9fTtcbmNOLnByb3RvdHlwZS5PYj1mdW5jdGlvbihhKXt0aGlzLm9hJiYodGhpcy5yZXNwb25zZT10aGlzLnJlc3BvbnNlVGV4dD1hLHJuZih0aGlzKSl9O2NOLnByb3RvdHlwZS5HYj1mdW5jdGlvbihhKXt0aGlzLm9hJiYodGhpcy5yZXNwb25zZT1hLHJuZih0aGlzKSl9O2NOLnByb3RvdHlwZS5HYT1mdW5jdGlvbigpe3RoaXMub2EmJnJuZih0aGlzKX07dmFyIHJuZj1mdW5jdGlvbihhKXthLnJlYWR5U3RhdGU9NDthLkNhPW51bGw7YS5CYT1udWxsO2EuUWE9bnVsbDtxbmYoYSl9O2NOLnByb3RvdHlwZS5zZXRSZXF1ZXN0SGVhZGVyPWZ1bmN0aW9uKGEsYil7dGhpcy5SYS5hcHBlbmQoYSxiKX07Y04ucHJvdG90eXBlLmdldFJlc3BvbnNlSGVhZGVyPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLkFhP3RoaXMuQWEuZ2V0KGEudG9Mb3dlckNhc2UoKSl8fFwiXCI6XCJcIn07XG5jTi5wcm90b3R5cGUuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzPWZ1bmN0aW9uKCl7aWYoIXRoaXMuQWEpcmV0dXJuXCJcIjtmb3IodmFyIGE9W10sYj10aGlzLkFhLmVudHJpZXMoKSxjPWIubmV4dCgpOyFjLmRvbmU7KWM9Yy52YWx1ZSxhLnB1c2goY1swXStcIjogXCIrY1sxXSksYz1iLm5leHQoKTtyZXR1cm4gYS5qb2luKFwiXFxyXFxuXCIpfTt2YXIgcW5mPWZ1bmN0aW9uKGEpe2Eub25yZWFkeXN0YXRlY2hhbmdlJiZhLm9ucmVhZHlzdGF0ZWNoYW5nZS5jYWxsKGEpfTtPYmplY3QuZGVmaW5lUHJvcGVydHkoY04ucHJvdG90eXBlLFwid2l0aENyZWRlbnRpYWxzXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLkxhPT09XCJpbmNsdWRlXCJ9LHNldDpmdW5jdGlvbihhKXt0aGlzLkxhPWE/XCJpbmNsdWRlXCI6XCJzYW1lLW9yaWdpblwifX0pO18udG5mPWZ1bmN0aW9uKGEpe3ZhciBiPVwiXCI7Xy5ZYihhLGZ1bmN0aW9uKGMsZCl7Yis9ZDtiKz1cIjpcIjtiKz1jO2IrPVwiXFxyXFxuXCJ9KTtyZXR1cm4gYn07Xy51bmY9ZnVuY3Rpb24oYSxiLGMpe2lmKF8uY2MoYykpcmV0dXJuIGE7Yz1fLnRuZihjKTtpZih0eXBlb2YgYT09PVwic3RyaW5nXCIpcmV0dXJuIF8uaENhKGEsXy5jbChiKSxjKTtfLlZtKGEsYixjKTtyZXR1cm4gYX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uQUVkPVswLF8uZWtdO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLkNKZD1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uQ0pkLF8ucSk7Xy5ESmQ9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IF8uQ0pkO3JldHVybiBfLmZqKGIsMSxhLHZvaWQgMCl9O18uQ0pkLm9iPVsxXTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy55ej1bMCxfLlF2YSwtMV07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueno9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLnp6LF8ucSk7Xy56ei5wcm90b3R5cGUuZ2V0TGF0aXR1ZGU9ZnVuY3Rpb24oKXtyZXR1cm4gXy5taSh0aGlzLDEpfTtfLnp6LnByb3RvdHlwZS5nZXRMb25naXR1ZGU9ZnVuY3Rpb24oKXtyZXR1cm4gXy5taSh0aGlzLDIpfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5mdj1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4gbnVsbDt0eXBlb2YgYT09PVwiZnVuY3Rpb25cIiYmKGE9YSgpKTtyZXR1cm4gYSBpbnN0YW5jZW9mIF8ucT9hOmEudG9BcnJheT9hLnRvQXJyYXkoKTphfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy50eGI9ZnVuY3Rpb24oYSl7YT1kb2N1bWVudC5jcmVhdGVSYW5nZSgpLmNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudChfLnRjKGEpKTtyZXR1cm4gYS5jaGlsZE5vZGVzLmxlbmd0aD09PTE/YS5jaGlsZE5vZGVzWzBdOmF9O18udXhiPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBfLmF2KCk7Zm9yKGE9YS5wYXJlbnROb2RlO18ubWUoYSk7YT1hLnBhcmVudE5vZGUpe3ZhciBiPWEuZ2V0QXR0cmlidXRlKFwiZGlyXCIpO2lmKGImJihiPWIudG9Mb3dlckNhc2UoKSxiPT1cImx0clwifHxiPT1cInJ0bFwiKSlyZXR1cm4gYn1yZXR1cm4gXy5hdigpfTtfLmR2PWZ1bmN0aW9uKGEpe3JldHVybiBfLkEoYSwyKX07Xy52eGI9ZnVuY3Rpb24oKXt0aGlzLm9hPXt9fTtfLnZ4Yi5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYil7dGhpcy5vYVthXT1iO3JldHVybiExfTtfLnd4Yj1mdW5jdGlvbihhLGIpe3RoaXMub2E9YT1hPT09dm9pZCAwP2RvY3VtZW50OmE7dGhpcy5CYT1udWxsO3RoaXMuR2E9e307dGhpcy5BYT1bXTt0aGlzLkxhPShiPT09dm9pZCAwPzA6YikmJnRoaXMub2E/Xy5waCh0aGlzLm9hLmdldEVsZW1lbnRzQnlUYWdOYW1lKFwic3R5bGVcIiksZnVuY3Rpb24oYyl7cmV0dXJuIGMuaW5uZXJIVE1MfSkuam9pbigpOlwiXCI7dGhpcy5DYT0hMX07Xy53eGIucHJvdG90eXBlLmRvY3VtZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub2F9O3ZhciB4eGI9ZnVuY3Rpb24oYSl7dmFyIGI9YS5vYS5jcmVhdGVFbGVtZW50KFwiU1RZTEVcIik7YS5vYS5oZWFkP2Eub2EuaGVhZC5hcHBlbmRDaGlsZChiKTphLm9hLmJvZHkuYXBwZW5kQ2hpbGQoYik7cmV0dXJuIGJ9O18uZXY9ZnVuY3Rpb24oYSxiLGMpe2E9YT09PXZvaWQgMD9kb2N1bWVudDphO2I9Yj09PXZvaWQgMD9uZXcgXy52eGI6YjtjPWM9PT12b2lkIDA/bmV3IF8ud3hiKGEpOmM7dGhpcy53Yj1hO3RoaXMuaGI9Yzt0aGlzLkxhPWI7YT1mdW5jdGlvbigpe307YS5wcm90b3R5cGUub2E9ZnVuY3Rpb24oZCl7cmV0dXJuIGIub2FbZF19O3RoaXMuQWE9bmV3IGE7dGhpcy5SYT17fTt0aGlzLmtiPVtfLm94YigpXX07Xy5tPV8uZXYucHJvdG90eXBlO18ubS5QYT1mdW5jdGlvbihhKXt2YXIgYj10aGlzLmhiO2EgaW4gYi5HYXx8KGIuR2FbYV09ITAsYi5MYS5pbmRleE9mKGEpPT0tMSYmYi5BYS5wdXNoKGEpKX07Xy5tLmRvY3VtZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMud2J9O18ubS5NbT1mdW5jdGlvbigpe3RoaXMuaGIuQ2E9ITB9O1xuXy5tLlNmPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5oYjtpZihhLm9hJiZhLkFhLmxlbmd0aCE9MCl7dmFyIGI9YS5BYS5qb2luKFwiXCIpO2lmKGEuQ2EpYT1iO2Vsc2V7aWYoXy51aCl7YS5CYXx8KGEuQmE9eHhiKGEpKTt2YXIgYz1hLkJhfWVsc2UgYz14eGIoYSk7Yy5zdHlsZVNoZWV0JiYhYy5zaGVldD9jLnN0eWxlU2hlZXQuY3NzVGV4dCs9YjpjLnRleHRDb250ZW50Kz1iO2EuQWEubGVuZ3RoPTA7YT1cIlwifX1lbHNlIGE9XCJcIjtyZXR1cm4gYX07XG5fLm0uSmE9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoLGssbCxuLHIpe3RoaXMuUmFbYV09e2FyZ3M6Xy55eGIoYiksaVRhOmMsS3JkOmQsSmpjOmU9PT12b2lkIDA/bnVsbDplLFl2ZDpmPT09dm9pZCAwP251bGw6ZixLamM6Zz09PXZvaWQgMD9cIlwiOmcsR2pjOmg9PT12b2lkIDA/bnVsbDpoLExqYzprPT09dm9pZCAwP1wiXCI6ayxIamM6bD09PXZvaWQgMD9udWxsOmwsTWpjOm49PT12b2lkIDA/XCJcIjpuLElqYzpyPT09dm9pZCAwP251bGw6cixsaWdodDohMH19O18ubS5Jaj1mdW5jdGlvbihhLGIsYyxkLGUsZixnKXthPXRoaXMuUmFbYV07YS5KamM9YjthLktqYz1jO2EuR2pjPWQ7YS5MamM9ZTthLkhqYz1mO2EuTWpjPVwiXCI7YS5JamM9Z307Xy55eGI9ZnVuY3Rpb24oYSl7aWYoQXJyYXkuaXNBcnJheShhKSlyZXR1cm4gYTt2YXIgYj1bXSxjO2ZvcihjIGluIGEpYlthW2NdXT1jO3JldHVybiBifTtfLmV2LnByb3RvdHlwZS5vYT1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbiB0aGlzLlJhfTtcbl8uZXYucHJvdG90eXBlLk9hPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLlJhW2FdfHxudWxsfTtfLnp4Yj1mdW5jdGlvbihhLGIpe2EuR2E9Yn07Xy5ldi5wcm90b3R5cGUuaXNSdGw9ZnVuY3Rpb24oKXtyZXR1cm4gXy5wYSh0aGlzLmtiKX07Xy5ldi5wcm90b3R5cGUuQ2E9ZnVuY3Rpb24oYSl7dGhpcy5rYlswXT1cInJ0bFwiPT1fLnV4YihhKX07Xy5ldi5wcm90b3R5cGUuQmE9ZnVuY3Rpb24oKXt0aGlzLkdhJiZ0aGlzLkdhLmRpc3BhdGNoKCl9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLlBuYj1mdW5jdGlvbihhLGIsYyl7Xy5Day5jYWxsKHRoaXMpO3RoaXMubEg9YyE9bnVsbD9hLmJpbmQoYyk6YTt0aGlzLkdhPWI7dGhpcy5DYT1udWxsO3RoaXMuQWE9ITE7dGhpcy5CYT0wO3RoaXMub2E9bnVsbH07Xy5EKF8uUG5iLF8uQ2spO18ubT1fLlBuYi5wcm90b3R5cGU7Xy5tLmVQPWZ1bmN0aW9uKGEpe3RoaXMuQ2E9YXJndW1lbnRzO3RoaXMub2F8fHRoaXMuQmE/dGhpcy5BYT0hMDpRbmIodGhpcyl9O18ubS5zdG9wPWZ1bmN0aW9uKCl7dGhpcy5vYSYmKF8uWGwodGhpcy5vYSksdGhpcy5vYT1udWxsLHRoaXMuQWE9ITEsdGhpcy5DYT1udWxsKX07Xy5tLnBhdXNlPWZ1bmN0aW9uKCl7dGhpcy5CYSsrfTtfLm0ucmVzdW1lPWZ1bmN0aW9uKCl7dGhpcy5CYS0tO3RoaXMuQmF8fCF0aGlzLkFhfHx0aGlzLm9hfHwodGhpcy5BYT0hMSxRbmIodGhpcykpfTtfLm0uUWM9ZnVuY3Rpb24oKXtfLkNrLnByb3RvdHlwZS5RYy5jYWxsKHRoaXMpO3RoaXMuc3RvcCgpfTtcbnZhciBRbmI9ZnVuY3Rpb24oYSl7YS5vYT1fLldsKGZ1bmN0aW9uKCl7YS5vYT1udWxsO2EuQWEmJiFhLkJhJiYoYS5BYT0hMSxRbmIoYSkpfSxhLkdhKTt2YXIgYj1hLkNhO2EuQ2E9bnVsbDthLmxILmFwcGx5KG51bGwsYil9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLlhmYj1bMCxfLmdrLC0xXTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5HZmI9Xy56YihmdW5jdGlvbihhLGIsYyxkKXtpZihhLm9hIT09MClyZXR1cm4hMTtfLlJoKGIsYyxkLF8uUnVhKGEuQWEpKTtyZXR1cm4hMH0sXy5JZmEpO18uZXM9WzAsXy5YaiwtMl07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uZ3M9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLmdzLF8ucSk7Xy5tPV8uZ3MucHJvdG90eXBlO18ubS5nZXRZZWFyPWZ1bmN0aW9uKCl7cmV0dXJuIF8uaWkodGhpcywxKX07Xy5tLnNldFllYXI9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uUGkodGhpcywxLGEpfTtfLm0uZ2V0TW9udGg9ZnVuY3Rpb24oKXtyZXR1cm4gXy5paSh0aGlzLDIpfTtfLm0uc2V0TW9udGg9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uUGkodGhpcywyLGEpfTtfLm0uZ2V0RGF5PWZ1bmN0aW9uKCl7cmV0dXJuIF8uaWkodGhpcywzKX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uZHM9WzAsXy5YaiwtM107XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uZnM9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLmZzLF8ucSk7Xy5tPV8uZnMucHJvdG90eXBlO18ubS5nZXRIb3Vycz1mdW5jdGlvbigpe3JldHVybiBfLmlpKHRoaXMsMSl9O18ubS5zZXRIb3Vycz1mdW5jdGlvbihhKXtyZXR1cm4gXy5QaSh0aGlzLDEsYSl9O18ubS5nZXRNaW51dGVzPWZ1bmN0aW9uKCl7cmV0dXJuIF8uaWkodGhpcywyKX07Xy5tLnNldE1pbnV0ZXM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uUGkodGhpcywyLGEpfTtfLm0uZ2V0U2Vjb25kcz1mdW5jdGlvbigpe3JldHVybiBfLmlpKHRoaXMsMyl9O18ubS5zZXRTZWNvbmRzPWZ1bmN0aW9uKGEpe3JldHVybiBfLlBpKHRoaXMsMyxhKX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uSGZiPV8uemIoZnVuY3Rpb24oYSxiLGMsZCl7aWYoYS5vYSE9PTApcmV0dXJuITE7Xy5SaChiLGMsZCxfLnJnYShhLkFhKSk7cmV0dXJuITB9LF8uTWZhKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwic3BjaFwiKTtcbnZhciBabGo9ZnVuY3Rpb24oKXtpZihYbGope3ZhciBhPS41K01hdGgucmFuZG9tKCkqLjU1LGI9TWF0aC5yb3VuZCgxNzArTWF0aC5yYW5kb20oKSoxMCk7WWxqLnN0eWxlLnNldFByb3BlcnR5KFwiLXdlYmtpdC10cmFuc2l0aW9uXCIsXCItd2Via2l0LXRyYW5zZm9ybSBcIitiLzFFMytcInMgZWFzZS1pbi1vdXRcIik7WWxqLnN0eWxlLnNldFByb3BlcnR5KFwiLXdlYmtpdC10cmFuc2Zvcm1cIixcInNjYWxlKFwiK2ErXCIpXCIpO3dpbmRvdy5zZXRUaW1lb3V0KFpsaixiKX1lbHNlIFlsai5zdHlsZS5yZW1vdmVQcm9wZXJ0eShcIm9wYWNpdHlcIiksWWxqLnN0eWxlLnJlbW92ZVByb3BlcnR5KFwiLXdlYmtpdC10cmFuc2l0aW9uXCIpLFlsai5zdHlsZS5yZW1vdmVQcm9wZXJ0eShcIi13ZWJraXQtdHJhbnNmb3JtXCIpfSxkbWo9ZnVuY3Rpb24oKXt3aW5kb3cuY2xlYXJUaW1lb3V0KCRsaik7d2luZG93LmNsZWFyVGltZW91dChhbWopO2Jtaj0wO18ua20uc2V0KFFVLFwic3BjaHRcIik7Xy5rbS5zZXQoY21qLFwic3BjaHRcIil9LFxuZm1qPWZ1bmN0aW9uKCl7ZW1qPVJVO2Ntaj1fLmtsKFwic3BjaGZcIik7UVU9Xy5rbChcInNwY2hpXCIpO2RtaigpO3JldHVybiEoIWNtanx8IVFVKX0sZ21qPWZ1bmN0aW9uKGEsYixjKXt3aW5kb3cuY2xlYXJUaW1lb3V0KGFtaik7d2luZG93LmNsZWFyVGltZW91dCgkbGopO2M/KF8uQmMoUVUsXy51YyhhKSksXy5CYyhjbWosXy51YyhiKSksYT1RVS5maXJzdEVsZW1lbnRDaGlsZCxhLmlkPVwic3BjaHRhXCIsXy5JbChhLCEwKSxfLmttLnNldChhLFwic3BjaHRhXCIpKTooUVUudGV4dENvbnRlbnQ9YSxjbWoudGV4dENvbnRlbnQ9Yik7YT1RVTtiPWNtajtibWo9PT0wJiYoYm1qPWVtaj8yODoyNyk7Yz0xLjIqYm1qKzE7dmFyIGQ9Ym1qKjIuNCsxLGU9MS4yKmJtaiozKzEsZj1cInNwY2h0XCI7UVUuc2Nyb2xsSGVpZ2h0PmJtaio0LjgrMT9mKz1cIiBzcGNoLTVsXCI6UVUuc2Nyb2xsSGVpZ2h0PmU/Zis9XCIgc3BjaC00bFwiOlFVLnNjcm9sbEhlaWdodD5kP2YrPVwiIHNwY2gtM2xcIjpRVS5zY3JvbGxIZWlnaHQ+XG5jJiYoZis9XCIgc3BjaC0ybFwiKTthLmNsYXNzTmFtZT1iLmNsYXNzTmFtZT1mfSxpbWo9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7dmFyIGQ9aG1qLkwxLGU9Yj4wJiZRVS50ZXh0Q29udGVudCE9PWQuc3Vic3RyaW5nKDAsYiksZj1iPT09MCYmUVUudGV4dENvbnRlbnQhPT1obWoucmVhZHk7Yj09PWQubGVuZ3RofHxlfHxmfHwoYys9ZC5zdWJzdHJpbmcoYixiKzEpLGdtaihjLFwiXCIpLCsrYiwkbGo9d2luZG93LnNldFRpbWVvdXQoYSwzMCkpfXZhciBiPTAsYz1cIlwiOyRsaj13aW5kb3cuc2V0VGltZW91dChhLDJFMyl9LGptaj1mdW5jdGlvbigpe1FVLnRleHRDb250ZW50PVwiXCI7Y21qLnRleHRDb250ZW50PVwiXCI7YW1qPXdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7UVUudGV4dENvbnRlbnQ9PT1cIlwiJiZnbWooaG1qLndhaXRpbmcsXCJcIil9LDMwMCl9LG5taj1mdW5jdGlvbigpe2ttaj1fLmpsKFwic3BjaC1kbGdcIik7bG1qPV8uamwoXCJzcGNoXCIpO21taj1fLmpsKFwic3BjaGNcIil9LHBtaj1cbmZ1bmN0aW9uKCl7UlV8fFJVfHwoWGxqPSExKTtvbWomJl8ua20uc2V0KG1taixcInNwY2hjIE9KYWp1XCIpfSxybWo9ZnVuY3Rpb24oYSl7b21qJiZSVSYmYSE9PVwidnNvXCImJnFtaigpfSx4bWo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1zbWosZD10bWo7UlU9YTt1bWo9YjtubWooKTt2bWo9YzthJiZkJiYocW1qPWQsXy5jZShcImZwc3RhdGVcIixybWopKTsoYT0odW1qPyEha21qOiEwKSYmISFsbWomJiEhbW1qJiYhIWZtaigpKSYmIShhPVJVKSYmKHdtaj1fLmpsKFwic3BjaGJcIiksWWxqPV8uamwoXCJzcGNobFwiKSxhPSEoIXdtanx8IVlsaikpO3JldHVybiBhfSx6bWo9ZnVuY3Rpb24oYSl7Xy5rbS5zZXQobW1qLFwic3BjaGMgczJlclwiKTtzd2l0Y2goYSl7Y2FzZSBcIjhcIjpnbWooaG1qLmdlYyxcIlwiLCEwKTticmVhaztjYXNlIFwiMFwiOmdtaihobWouaGVjLFwiXCIsITApO2JyZWFrO2Nhc2UgXCIyXCI6Z21qKGhtai5HV2IsXCJcIiwhMCk7YnJlYWs7Y2FzZSBcIjNcIjpnbWooaG1qLldkYyxcIlwiKTticmVhaztjYXNlIFwiNFwiOmNhc2UgXCI1XCI6Z21qKGhtai51Z2MsXG5cIlwiLCEwKTticmVhaztjYXNlIFwiN1wiOmdtaihobWoudGJjLFwiXCIpfVJVfHwoWGxqPSExKTthPT09XCI4XCImJih5bWo9ITApfSxCbWo9ZnVuY3Rpb24oYSl7aWYob21qKXthPShhPT1udWxsP3ZvaWQgMDphLnRhcmdldCkuaWQ7dmFyIGI9XCJcIjthPT09XCJzcGNoeFwiP0Ftaj1cIjBcIjphPT09XCJzcGNoXCI/QW1qPVwiMlwiOmE9PT1cInNwY2hiXCI/QW1qPVwiMVwiOmE9PT1cInNwY2h0YVwiP0Ftaj1cIjVcIjpiPWE7dm1qKEFtaixiLEFtaj09PVwiMVwiJiYheW1qLChBbWo9PT1cIjFcInx8QW1qPT09XCI1XCIpJiZ5bWopfX0sQ21qPWZ1bmN0aW9uKCl7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZXVwXCIsQm1qLCExKTtSVSYmXy5pZShcImZwc3RhdGVcIikmJl8uaGUoKTsodW1qfHxSVSkmJmttai5jbG9zZSgpO18ua20uc2V0KGxtaixcInNwY2hcIik7Xy5rbS5zZXQobW1qLFwic3BjaGNcIik7bG1qLnJlbW92ZUF0dHJpYnV0ZShcInN0eWxlXCIpO18ubm0uVmIobG1qLCExKTt5bWo9b21qPSExO2RtaigpfSxJbWo9ZnVuY3Rpb24oKXtTVT1cbi0xO18uQVJjKF8ubkMuUVRiKTtfLm1mKGRvY3VtZW50LmJvZHksRG1qKTtfLktrKHdpbmRvdyxcImtleWRvd25cIixFbWopO18uelJjKF8ubkMuWmtiLEZtaik7R21qJiYoXy50ZShHbWopLEdtaj1udWxsKTtfLnpSYyhfLm5DLlBUYixGbWopO18uelJjKF8ubkMuT1RiLEhtail9LFFtaj1mdW5jdGlvbihhKXtyZXR1cm57bGFuZ3VhZ2U6Sm1qLGZsYWdzOmEsbGlzdGVuaW5nU3RhcnRIYW5kbGVyOkttaixzcGVlY2hTdGFydEhhbmRsZXI6TG1qLHJlY29nbml0aW9uUmVzdWx0SGFuZGxlcjpNbWoscmVjb2duaXRpb25FbmRIYW5kbGVyOk5taixlcnJvckhhbmRsZXI6T21qLG5vTWF0Y2hIYW5kbGVyOlBtaixpbml0RmFpbHVyZUhhbmRsZXI6ZnVuY3Rpb24oKXt9fX0sVW1qPWZ1bmN0aW9uKGEpe2lmKCFhLnJpKXJldHVybiBudWxsO3ZhciBiPVFtaihhKSxjPVFtaihhKTtjLmluaXRGYWlsdXJlSGFuZGxlcj1mdW5jdGlvbigpe1RVPW5ldyBSbWooYil9O3JldHVybiBhLnNhP25ldyBTbWooYyk6XG5UbWo/bnVsbDpuZXcgUm1qKGIpfSxYbWo9ZnVuY3Rpb24oKXtVVT1uZXcgd2luZG93LndlYmtpdFNwZWVjaFJlY29nbml0aW9uO1VVLmNvbnRpbnVvdXM9ITE7VVUuaW50ZXJpbVJlc3VsdHM9ITA7VVUubGFuZz1KbWo7VVUubWF4QWx0ZXJuYXRpdmVzPTQ7VVUub25lcnJvcj1WbWo7VVUub25ub21hdGNoPVBtajtVVS5vbmVuZD1ObWo7VVUub25yZXN1bHQ9V21qO1VVLm9uYXVkaW9zdGFydD1LbWo7VVUub25zcGVlY2hzdGFydD1MbWp9LGVuaj1mdW5jdGlvbigpe1ltaj1uZXcgWm1qKCRtaixcImh0dHBzOi8vZW1iZWRkZWRhc3Npc3RhbnQtd2ViY2hhbm5lbC5nb29nbGVhcGlzLmNvbS9nb29nbGUuYXNzaXN0YW50LmVtYmVkZGVkLnYxLkVtYmVkZGVkQXNzaXN0YW50L0Fzc2lzdC9jaGFubmVsXCIpO2Fuaj17bGFuZ3VhZ2VDb2RlOkptaixsaXN0ZW5pbmdIYW5kbGVyOkttaix0cmFuc2NyaXB0aW9uVXBkYXRlSGFuZGxlcjpmdW5jdGlvbihhLGIpe01taihhK2IsYSwhMSl9LGVycm9ySGFuZGxlcjpmdW5jdGlvbihhKXt2YXIgYj1cbl8uUGEoYm5qKGEpKTthPWIubmV4dCgpLnZhbHVlO2I9Yi5uZXh0KCkudmFsdWU7T21qKGEsXCJOQVwiLGIpfSxjb21wbGV0ZUhhbmRsZXI6ZnVuY3Rpb24oYSxiKXtjbmo9YStiO2RuaigxOCl9fX0sYm5qPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIFwiTk9fU1BFRUNIXCI6cmV0dXJuW1wiMFwiLDhFM107Y2FzZSBcIkFCT1JURURcIjpyZXR1cm5bXCIxXCIsM0UzXTtjYXNlIFwiQVVESU9fRVJST1JcIjpjYXNlIFwiTUVESUFfUkVDT1JERVJfRVJST1JcIjpyZXR1cm5bXCIyXCIsOEUzXTtjYXNlIFwiT0ZGTElORVwiOnJldHVybltcIjNcIiwzRTNdO2Nhc2UgXCJOT19NQVRDSFwiOnJldHVybltcIjhcIiw4RTNdO2Nhc2UgXCJOT19NSUNST1BIT05FX1BFUk1JU1NJT05cIjpyZXR1cm5bXCI0XCIsM0UzXTtkZWZhdWx0OnJldHVybltcIjlcIiw4RTNdfX0sZ25qPWZ1bmN0aW9uKGEsYil7U1UhPT03JiZfLkFSYyhfLm5DLk1UYik7U1U9PT0xMCYmKFNVPTExLFRVP1RVLnN0b3AoKTpUbWo/KFltai5nZXRTdGF0ZSgpPT09MXx8WW1qLmdldFN0YXRlKCk9PT1cbjIpJiZZbWouc3RvcCgpOlVVLmFib3J0KCkpO2E9PW51bGx8fGE8PTA/KHBtaigpLENtaigpLGIoKSxmbmooKSk6KHBtaigpLF8uVGYoYSkudGhlbihmdW5jdGlvbigpe0NtaigpO2IoKTtmbmooKX0pKX0saG5qPWZ1bmN0aW9uKCl7Z25qKDAsZnVuY3Rpb24oKXt9KX0sam5qPWZ1bmN0aW9uKGEsYixjKXtpbmooYSxiLGMpO1NVPTEwO2huaigpfSxmbmo9ZnVuY3Rpb24oKXt3aW5kb3cuY2xlYXJUaW1lb3V0KGtuaik7d2luZG93LmNsZWFyVGltZW91dChsbmopO3dpbmRvdy5jbGVhclRpbWVvdXQobW5qKTtfLkFSYyhfLm5DLlNUYixbbm5qXSk7Xy5tZihkb2N1bWVudC5ib2R5LG9uaixubmopO18uS2soXy5wZCgpLFwidmlzaWJpbGl0eWNoYW5nZVwiLHBuaiwhMSk7Y25qPVwiXCI7bm5qPW51bGw7U1U9MDtUVT9UVS5zdG9wKCk6VG1qPyhZbWouZ2V0U3RhdGUoKT09PTF8fFltai5nZXRTdGF0ZSgpPT09MikmJlltai5zdG9wKCk6VVUuYWJvcnQoKX0sS21qPWZ1bmN0aW9uKCl7cW5qKDhFMyk7XG53aW5kb3cuY2xlYXJUaW1lb3V0KG1uaik7U1U9NDtvbWomJihfLmttLnNldChtbWosXCJzcGNoYyBzMm1sXCIpLHdpbmRvdy5jbGVhclRpbWVvdXQoYW1qKSxnbWooaG1qLnJlYWR5LFwiXCIpLGltaigpKX0sTG1qPWZ1bmN0aW9uKCl7cW5qKDhFMyk7U1U9NTtvbWomJihfLmttLnNldChtbWosXCJzcGNoYyBzMnJhXCIpLHVtanx8UlV8fGxtai5jbGFzc0xpc3QuYWRkKFwidDJuMTRkXCIpLFJVfHxYbGp8fChYbGo9ITAsWmxqKCkpLHdpbmRvdy5jbGVhclRpbWVvdXQoJGxqKSl9LFdtaj1mdW5jdGlvbihhKXtybmooYSxNbWopfSxNbWo9ZnVuY3Rpb24oYSxiLGMpe3Fuaig4RTMpO3N3aXRjaChTVSl7Y2FzZSA2OmNhc2UgNTpicmVhaztjYXNlIDQ6TG1qKCk7YnJlYWs7Y2FzZSAzOkxtaigpO0ttaigpO2JyZWFrO2RlZmF1bHQ6cmV0dXJufVNVPTY7b21qJiYoXy5rbS5zZXQobW1qLFwic3BjaGMgczJyYVwiKSxnbWooYSxiKSk7Y25qPWI7Y3x8YS5sZW5ndGg+MTIwP2RuaigxOCk6KF8uQVJjKF8ubkMuUlRiLFxuW2Esbm5qXSksXy5tZihkb2N1bWVudC5ib2R5LHNuaixbYSxubmpdKSl9LFZtaj1mdW5jdGlvbihhKXt0bmooYSxPbWopfSxPbWo9ZnVuY3Rpb24oYSxiLGMpe3Fuaig4RTMpO3dpbmRvdy5jbGVhclRpbWVvdXQobW5qKTthIT09XCIxXCImJihpbmooMixhLGE9PT1cIjlcIj9iOlwiXCIpLFNVPTgsem1qKGEpLHdpbmRvdy5jbGVhclRpbWVvdXQoa25qKSx1bmooYykpfSxQbWo9ZnVuY3Rpb24oKXtpbmooNCk7U1U9ODt6bWooXCI4XCIpO3dpbmRvdy5jbGVhclRpbWVvdXQoa25qKTt1bmooOEUzKX0sTm1qPWZ1bmN0aW9uKCl7d2luZG93LmNsZWFyVGltZW91dChrbmopO3dpbmRvdy5jbGVhclRpbWVvdXQobW5qKTt2YXIgYT1cIjlcIjtzd2l0Y2goU1Upe2Nhc2UgMzpTVT05O2E9XCIyXCI7YnJlYWs7Y2FzZSA0OlNVPTk7YT1cIjBcIjticmVhaztjYXNlIDU6Y2FzZSA2OlNVPTk7YT1cIjhcIjticmVhaztjYXNlIDg6YnJlYWs7ZGVmYXVsdDpyZXR1cm59c3dpdGNoKFNVKXtjYXNlIDk6em1qKGEpO3Vuaig4RTMpO1xuaW5qKDMsYSk7U1U9MTE7YnJlYWs7Y2FzZSA4OlNVPTExO2JyZWFrO2RlZmF1bHQ6U1U9MTEsaG5qKCl9fSxFbWo9ZnVuY3Rpb24oYSl7aWYodm5qKCkmJlNVIT09LTEpe3ZhciBiPWEuY3RybEtleXx8Xy54aCYmYS5tZXRhS2V5O1NVPT09MCYmYS5rZXlDb2RlPT09MTkwJiZhLnNoaWZ0S2V5JiZiJiZGbWooKX1lbHNlIGlmKGEuc3RvcFByb3BhZ2F0aW9uKCksYS5rZXlDb2RlPT09Mjcpam5qKDAsXCIwXCIpO2Vsc2UgaWYoYj1hLmtleUNvZGUsYj09PTEzfHxiPT09MzIpe2lmKGI9YS50YXJnZXQhPW51bGwpYj1hLnRhcmdldC5pZCxiPWI9PT1cInNwY2h0YVwifHxiPT09XCJzcGNoeFwiO2I/Qm1qKGEuWWcpOmNuaiYmZG5qKDMpfX0sd25qPWZ1bmN0aW9uKCl7aWYoY25qIT09XCJcIilkbmooMTkpO2Vsc2Ugc3dpdGNoKFNVKXtjYXNlIDM6Y2FzZSA0OmNhc2UgNTpjYXNlIDY6Y2FzZSA4OmpuaigwLFwiM1wiKX19LHhuaj1mdW5jdGlvbigpe3FuaigxNUUzKTtpbmooMCxcIjZcIik7b21qJiZfLmttLnNldChtbWosXG5cInNwY2hjIHMyd2ZwXCIpfSxwbmo9ZnVuY3Rpb24oKXt2bmooKXx8Xy5wZCgpLkVGKCkmJmpuaigwLFwiNFwiKX0sSG1qPWZ1bmN0aW9uKCl7dm5qKCl8fGpuaigwLFwiN1wiKX0sZG5qPWZ1bmN0aW9uKGEpe1NVPTc7d2luZG93LmNsZWFyVGltZW91dChrbmopO3ZhciBiPWNuaixjPW5uajtnbmooYT09PTE4P3luajowLGZ1bmN0aW9uKCl7Xy5BUmMoXy5uQy5OVGIsW2IsYSxjXSk7Xy5tZihkb2N1bWVudC5ib2R5LHpuaixbYixhLGNdKX0pfSxpbmo9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVwiXCI7YiYmKGQrPVwiJnJlYXNvbj1cIitiKTtjJiYoZCs9XCImZGF0YT1cIitjKTtnb29nbGUubG9nKFwic3BjaC1yZWNvZ1wiLGErZCl9LHFuaj1mdW5jdGlvbihhKXt3aW5kb3cuY2xlYXJUaW1lb3V0KGtuaik7a25qPXdpbmRvdy5zZXRUaW1lb3V0KHduaixhKX0sdW5qPWZ1bmN0aW9uKGEpe3dpbmRvdy5jbGVhclRpbWVvdXQobG5qKTtsbmo9d2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXtobmooKX0sYSl9LFxudm5qPWZ1bmN0aW9uKCl7c3dpdGNoKFNVKXtjYXNlIDA6Y2FzZSAtMTpjYXNlIDE6cmV0dXJuITB9cmV0dXJuITF9LEZtaj1mdW5jdGlvbigpe3ZhciBhPV8uamwoXCJzcGNoXCIpO2EmJl8uZm4oYSxcImNsaWNrZWRcIik7aWYoU1U9PT0tMSlpbmooNSk7ZWxzZSBpZihTVSE9PTApam5qKDAsXCI1XCIpO2Vsc2UgaWYoU1U9MixTVT09PTIpe2E9QW5qO2lmKCFvbWope25taigpO2lmKGEmJihhPWRvY3VtZW50LmJvZHkucXVlcnlTZWxlY3RvckFsbChcIltkYXRhLW1jcHJdXCIpKSYmIShhLmxlbmd0aDw9MCkpaWYoYT1hW2EubGVuZ3RoLTFdLGttailrbWouY2xhc3NMaXN0LmFkZC5hcHBseShrbWouY2xhc3NMaXN0LF8ubWQoYS5jbGFzc0xpc3QpKTtlbHNle3ZhciBiPV8uamwoXCJuZmlqQ2VcIik7YiYmYi5jbGFzc0xpc3QuYWRkLmFwcGx5KGIuY2xhc3NMaXN0LF8ubWQoYS5jbGFzc0xpc3QpKTsoYj1fLmpsKFwic3BjaHhcIikpJiZiLmNsYXNzTGlzdC5hZGQuYXBwbHkoYi5jbGFzc0xpc3QsXy5tZChhLmNsYXNzTGlzdCkpfWZtaigpO1xuam1qKCk7b21qfHwoXy5ubS5WYihsbWosITApLFJVJiZfLmZlKFwiZnBzdGF0ZVwiLFwidnNvXCIpLChSVXx8dW1qKSYma21qLnNob3dNb2RhbCgpLF8ua20uc2V0KGxtaixcInNwY2hcIiksXy5rbS5zZXQobG1qLFwic3BjaCBzMmZwXCIpLG9taj0hMCk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZXVwXCIsQm1qLCExKX1xbmooOEUzKTt3aW5kb3cuY2xlYXJUaW1lb3V0KG1uaik7bW5qPXdpbmRvdy5zZXRUaW1lb3V0KHhuaiwxNTAwKTtfLkFSYyhfLm5DLk1UYyk7Xy5YZChfLnBkKCksXCJ2aXNpYmlsaXR5Y2hhbmdlXCIscG5qLCExKTsoVFU/VFUuaXNJbml0aWFsaXplZCgpOlRtaj9ZbWomJmFuajpVVSYmVVUub25lcnJvciYmVVUub25ub21hdGNoJiZVVS5vbmVuZCYmVVUub25yZXN1bHQmJlVVLm9uYXVkaW9zdGFydCYmVVUub25zcGVlY2hzdGFydCl8fChUVT9UVS5pbml0aWFsaXplKCk6VG1qP2VuaigpOlhtaigpKTt0cnl7VFU/VFUuc3RhcnQoKTpUbWo/WW1qLnN0YXJ0KGFuaik6VVUuc3RhcnQoKSxcblNVPTN9Y2F0Y2goYyl7U1U9MjtUVT9UVS5pbml0aWFsaXplKCk6VG1qP2VuaigpOlhtaigpO3RyeXtUVT9UVS5zdGFydCgpOlRtaj9ZbWouc3RhcnQoYW5qKTpVVS5zdGFydCgpLFNVPTN9Y2F0Y2goZCl7U1U9MTAsaW5qKDAsXCIxXCIpLGhuaigpfX19fSxzbWo9ZnVuY3Rpb24oYSxiLGMsZCl7Y25qJiZjP2RuaigxNyk6U1U9PT0xMSYmZD8oaW5qKDYsYSxiKSxmbmooKSxGbWooKSk6am5qKDEsYSxiKX0sdG1qPWZ1bmN0aW9uKCl7am5qKDgsXCI4XCIpfSxobWo9e0dXYjpcIlwiLHRiYzpcIlwiLEwxOlwiXCIsV2RjOlwiXCIsZ2VjOlwiXCIsaGVjOlwiXCIsdWdjOlwiXCIscmVhZHk6XCJcIix3YWl0aW5nOlwiXCJ9LHdtaixZbGosWGxqPSExLGNtaixRVSxibWosYW1qLCRsaixlbWosQW1qPVwiNFwiLFJVPSExLHVtaj0hMSxrbWosbG1qLG1taix5bWo9ITEsb21qPSExLHZtaixxbWosQm5qPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoQm5qLF8ucSk7XG52YXIgQ25qPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uTWcoYSwyLGIpfTtCbmoucHJvdG90eXBlLm9hPV8uU2IoWzAsXy55aixfLnlrLF8uR10pO3ZhciBEbmo9ISEoXy5kaFsxMl0+PjIxJjEpO3ZhciBFbmo9ISEoXy5kaFsxMV0+PjI0JjEpLEZuaj0hIShfLmRoWzExXT4+MjUmMSksVlU9ISEoXy5kaFsxMV0+PjI2JjEpLEduaj0hIShfLmRoWzExXT4+MjcmMSksSG5qPSEhKF8uZGhbMTFdPj4yOCYxKTt2YXIgRG1qPV8uSihcIkNRSm1lY1wiKSxzbmo9Xy5KKFwidTlSWkJjXCIpLHpuaj1fLkooXCJLSHhCT2JcIiksb25qPV8uSihcImhBVHQ1ZVwiKSxJbmo9Xy5KKFwieWRaQ0RmXCIpO3ZhciBKbmo9ZnVuY3Rpb24oYSl7dGhpcy5sYW5ndWFnZT1cIlwiO3RoaXMuZmxhZ3M9e307dGhpcy5saXN0ZW5pbmdTdGFydEhhbmRsZXI9ZnVuY3Rpb24oKXt9O3RoaXMuc3BlZWNoU3RhcnRIYW5kbGVyPWZ1bmN0aW9uKCl7fTt0aGlzLnJlY29nbml0aW9uUmVzdWx0SGFuZGxlcj1mdW5jdGlvbigpe307dGhpcy5yZWNvZ25pdGlvbkVuZEhhbmRsZXI9ZnVuY3Rpb24oKXt9O3RoaXMuZXJyb3JIYW5kbGVyPWZ1bmN0aW9uKCl7fTt0aGlzLm5vTWF0Y2hIYW5kbGVyPWZ1bmN0aW9uKCl7fTt0aGlzLmluaXRGYWlsdXJlSGFuZGxlcj1mdW5jdGlvbigpe307dGhpcy5sYW5ndWFnZT1hLmxhbmd1YWdlfHxcImVuLVVTXCI7dGhpcy5mbGFncz1hLmZsYWdzfHx7fTt0aGlzLmxpc3RlbmluZ1N0YXJ0SGFuZGxlcj1hLmxpc3RlbmluZ1N0YXJ0SGFuZGxlcnx8dGhpcy5saXN0ZW5pbmdTdGFydEhhbmRsZXI7dGhpcy5zcGVlY2hTdGFydEhhbmRsZXI9YS5zcGVlY2hTdGFydEhhbmRsZXJ8fHRoaXMuc3BlZWNoU3RhcnRIYW5kbGVyO1xudGhpcy5yZWNvZ25pdGlvblJlc3VsdEhhbmRsZXI9YS5yZWNvZ25pdGlvblJlc3VsdEhhbmRsZXJ8fHRoaXMucmVjb2duaXRpb25SZXN1bHRIYW5kbGVyO3RoaXMucmVjb2duaXRpb25FbmRIYW5kbGVyPWEucmVjb2duaXRpb25FbmRIYW5kbGVyfHx0aGlzLnJlY29nbml0aW9uRW5kSGFuZGxlcjt0aGlzLmVycm9ySGFuZGxlcj1hLmVycm9ySGFuZGxlcnx8dGhpcy5lcnJvckhhbmRsZXI7dGhpcy5ub01hdGNoSGFuZGxlcj1hLm5vTWF0Y2hIYW5kbGVyfHx0aGlzLm5vTWF0Y2hIYW5kbGVyO3RoaXMuaW5pdEZhaWx1cmVIYW5kbGVyPWEuaW5pdEZhaWx1cmVIYW5kbGVyfHx0aGlzLmluaXRGYWlsdXJlSGFuZGxlcn07dmFyIFNtaj1mdW5jdGlvbigpe0puai5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dGhpcy5BYT0hMX07Xy5EKFNtaixKbmopO1xuU21qLnByb3RvdHlwZS5pbml0aWFsaXplPWZ1bmN0aW9uKCl7dmFyIGE9dGhpczt0aGlzLkFhPXRoaXMuZmxhZ3MuYW87Xy5LZChfLldsai5vYSkudGhlbihmdW5jdGlvbihiKXtiJiZiLmlzQXZhaWxhYmxlKCk/KGEub2E9YixhLm9hLkxhKGZ1bmN0aW9uKGMpe3ZhciBkPV8uQShjLDEpO2QhPT1cIlwiJiZhLnJlY29nbml0aW9uUmVzdWx0SGFuZGxlcihkLGQsXy5FKGMsMikpfSksYS5vYS5PYShmdW5jdGlvbihjKXtzd2l0Y2goYy5nZXRTdGF0ZSgpKXtjYXNlIDI6YS5saXN0ZW5pbmdTdGFydEhhbmRsZXIoKTticmVhaztjYXNlIDM6dmFyIGQ9Xy5QYShLbmooYy5nZXRFcnJvcigpKSk7Yz1kLm5leHQoKS52YWx1ZTtkPWQubmV4dCgpLnZhbHVlO2EuZXJyb3JIYW5kbGVyKGMsXCJcIixkKX19KSk6RW5qP2EuaW5pdEZhaWx1cmVIYW5kbGVyKCk6YS5lcnJvckhhbmRsZXIoXCI1XCIsXCJcIiw4RTMpfSl9O1xuU21qLnByb3RvdHlwZS5pc0luaXRpYWxpemVkPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vYTtyZXR1cm4gYSYmYS5pc0F2YWlsYWJsZSgpfTtTbWoucHJvdG90eXBlLnN0YXJ0PWZ1bmN0aW9uKCl7aWYodGhpcy5pc0luaXRpYWxpemVkKCkpe3ZhciBhPUNuaihuZXcgQm5qLHRoaXMuQWEpO3RoaXMub2Eub2EoYSkudGhlbihmdW5jdGlvbigpe30pfX07U21qLnByb3RvdHlwZS5zdG9wPWZ1bmN0aW9uKCl7dGhpcy5pc0luaXRpYWxpemVkKCkmJnRoaXMub2EuQ2EoKX07dmFyIEtuaj1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSBcIlBFUk1JU1NJT05fREVOSUVEXCI6cmV0dXJuW1wiNFwiLDhFM107Y2FzZSBcIk5FVFdPUktfRkFJTFVSRVwiOnJldHVybltcIjNcIiwzRTNdO2Nhc2UgXCJTUEVFQ0hfVU5SRUNPR05JWkVEXCI6cmV0dXJuW1wiOFwiLDNFM107ZGVmYXVsdDpyZXR1cm5bXCI5XCIsM0UzXX19O3ZhciBSbWo9ZnVuY3Rpb24oKXtKbmouYXBwbHkodGhpcyxhcmd1bWVudHMpfTtfLkQoUm1qLEpuaik7XG5SbWoucHJvdG90eXBlLmluaXRpYWxpemU9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMub2E9bmV3IHdpbmRvdy53ZWJraXRTcGVlY2hSZWNvZ25pdGlvbjt0aGlzLm9hLmNvbnRpbnVvdXM9ITE7dGhpcy5vYS5pbnRlcmltUmVzdWx0cz0hMDt0aGlzLm9hLmxhbmc9dGhpcy5sYW5ndWFnZTt0aGlzLm9hLm1heEFsdGVybmF0aXZlcz00O3RoaXMub2Eub25lcnJvcj1mdW5jdGlvbihiKXt0bmooYixhLmVycm9ySGFuZGxlcil9O3RoaXMub2Eub25ub21hdGNoPXRoaXMubm9NYXRjaEhhbmRsZXI7dGhpcy5vYS5vbmVuZD10aGlzLnJlY29nbml0aW9uRW5kSGFuZGxlcjt0aGlzLm9hLm9ucmVzdWx0PWZ1bmN0aW9uKGIpe3JuaihiLGEucmVjb2duaXRpb25SZXN1bHRIYW5kbGVyKX07dGhpcy5vYS5vbmF1ZGlvc3RhcnQ9dGhpcy5saXN0ZW5pbmdTdGFydEhhbmRsZXI7dGhpcy5vYS5vbnNwZWVjaHN0YXJ0PXRoaXMuc3BlZWNoU3RhcnRIYW5kbGVyfTtcblJtai5wcm90b3R5cGUuaXNJbml0aWFsaXplZD1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5vYX07Um1qLnByb3RvdHlwZS5zdGFydD1mdW5jdGlvbigpe3RoaXMub2Euc3RhcnQoKX07Um1qLnByb3RvdHlwZS5zdG9wPWZ1bmN0aW9uKCl7dGhpcy5vYS5hYm9ydCgpfTtcbnZhciBybmo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLnJlc3VsdHMsZD1jLmxlbmd0aDtpZihkIT09MCl7dmFyIGU9XCJcIixmPVwiXCIsZz1hLnJlc3VsdEluZGV4O2lmKGE9Y1tnXS5pc0ZpbmFsKWU9Zj1jW2ddWzBdLnRyYW5zY3JpcHQ7ZWxzZSBmb3IoZz0wO2c8ZDtnKyspe3ZhciBoPWNbZ11bMF0udHJhbnNjcmlwdDtlKz1oO2NbZ11bMF0uY29uZmlkZW5jZT4uNSYmKGYrPWgpfWIoZSxmLGEpfX0sdG5qPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5QYShMbmooYS5lcnJvcikpLGQ9Yy5uZXh0KCkudmFsdWU7Yz1jLm5leHQoKS52YWx1ZTtiKGQsYS5lcnJvcixjKX0sTG5qPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIFwibm8tc3BlZWNoXCI6cmV0dXJuW1wiMFwiLDhFM107Y2FzZSBcImFib3J0ZWRcIjpyZXR1cm5bXCIxXCIsM0UzXTtjYXNlIFwiYXVkaW8tY2FwdHVyZVwiOnJldHVybltcIjJcIiw4RTNdO2Nhc2UgXCJuZXR3b3JrXCI6cmV0dXJuW1wiM1wiLDNFM107Y2FzZSBcIm5vdC1hbGxvd2VkXCI6cmV0dXJuW1wiNFwiLFxuOEUzXTtjYXNlIFwic2VydmljZS1ub3QtYWxsb3dlZFwiOnJldHVybltcIjVcIiw4RTNdO2Nhc2UgXCJiYWQtZ3JhbW1hclwiOnJldHVybltcIjZcIiwzRTNdO2Nhc2UgXCJsYW5ndWFnZS1ub3Qtc3VwcG9ydGVkXCI6cmV0dXJuW1wiN1wiLDNFM107ZGVmYXVsdDpyZXR1cm5bXCI5XCIsM0UzXX19O3ZhciBNbmo9ZnVuY3Rpb24oKXtfLkZrLmNhbGwodGhpcyxcIldcIil9O18ubWgoTW5qLF8uRmspO3ZhciBObmo9ZnVuY3Rpb24oKXtfLkZrLmNhbGwodGhpcyxcIlZcIil9O18ubWgoTm5qLF8uRmspO3ZhciBPbmo9bnVsbCxQbmo9ZnVuY3Rpb24oKXtyZXR1cm4gT25qPU9uanx8bmV3IF8uTmt9LFFuaj1mdW5jdGlvbihhKXtfLkZrLmNhbGwodGhpcyxcInNlcnZlcnJlYWNoYWJpbGl0eVwiLGEpfTtfLm1oKFFuaixfLkZrKTt2YXIgUm5qPWZ1bmN0aW9uKGEpe3ZhciBiPVBuaigpO2IuZGlzcGF0Y2hFdmVudChuZXcgUW5qKGIsYSkpfSxTbmo9ZnVuY3Rpb24oYSl7Xy5Gay5jYWxsKHRoaXMsXCJzdGF0ZXZlbnRcIixhKX07Xy5taChTbmosXy5Gayk7dmFyIFdVPWZ1bmN0aW9uKGEpe3ZhciBiPVBuaigpO2IuZGlzcGF0Y2hFdmVudChuZXcgU25qKGIsYSkpfSxUbmo9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5Gay5jYWxsKHRoaXMsXCJ0aW1pbmdldmVudFwiLGEpO3RoaXMuc2l6ZT1iO3RoaXMucnR0PWM7dGhpcy5SSGE9ZH07Xy5taChUbmosXy5Gayk7XG52YXIgVW5qPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1QbmooKTtkLmRpc3BhdGNoRXZlbnQobmV3IFRuaihkLGEsYixjKSl9LFZuaj1mdW5jdGlvbihhLGIpe2lmKHR5cGVvZiBhIT09XCJmdW5jdGlvblwiKXRocm93IEVycm9yKFwibG5cIik7cmV0dXJuIF8uYmEuc2V0VGltZW91dChmdW5jdGlvbigpe2EoKX0sYil9O3ZhciBXbmo9ZnVuY3Rpb24oKXt0aGlzLk9nPW51bGw7dGhpcy5vYT0hMH07V25qLnByb3RvdHlwZS54X2I9ZnVuY3Rpb24oKXt0aGlzLm9hPSExfTtcbnZhciBYbmo9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2EuaW5mbyhmdW5jdGlvbigpe2lmKGEub2EpaWYoZil7dmFyIGc9XCJcIjtmb3IodmFyIGg9Zi5zcGxpdChcIiZcIiksaz0wO2s8aC5sZW5ndGg7aysrKXt2YXIgbD1oW2tdLnNwbGl0KFwiPVwiKTtpZihsLmxlbmd0aD4xKXt2YXIgbj1sWzBdO2w9bFsxXTt2YXIgcj1uLnNwbGl0KFwiX1wiKTtnPXIubGVuZ3RoPj0yJiZyWzFdPT1cInR5cGVcIj9nKyhuK1wiPVwiK2wrXCImXCIpOmcrKG4rXCI9cmVkYWN0ZWQmXCIpfX19ZWxzZSBnPW51bGw7ZWxzZSBnPWY7cmV0dXJuXCJYTUxIVFRQIFJFUSAoXCIrZCtcIikgW2F0dGVtcHQgXCIrZStcIl06IFwiK2IrXCJcXG5cIitjK1wiXFxuXCIrZ30pfSxZbmo9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7YS5pbmZvKGZ1bmN0aW9uKCl7cmV0dXJuXCJYTUxIVFRQIFJFU1AgKFwiK2QrXCIpIFsgYXR0ZW1wdCBcIitlK1wiXTogXCIrYitcIlxcblwiK2MrXCJcXG5cIitmK1wiIFwiK2d9KX0sJG5qPWZ1bmN0aW9uKGEsYixjLGQpe2EuaW5mbyhmdW5jdGlvbigpe3JldHVyblwiWE1MSFRUUCBURVhUIChcIitcbmIrXCIpOiBcIitabmooYSxjKSsoZD9cIiBcIitkOlwiXCIpfSl9LGFvaj1mdW5jdGlvbihhLGIpe2EuaW5mbyhmdW5jdGlvbigpe3JldHVyblwiVElNRU9VVDogXCIrYn0pfTtXbmoucHJvdG90eXBlLmRlYnVnPWZ1bmN0aW9uKCl7fTtXbmoucHJvdG90eXBlLmluZm89ZnVuY3Rpb24oKXt9O1xudmFyIFpuaj1mdW5jdGlvbihhLGIpe2lmKCFhLm9hKXJldHVybiBiO2lmKCFiKXJldHVybiBudWxsO3RyeXt2YXIgYz1KU09OLnBhcnNlKGIpO2lmKGMpZm9yKHZhciBkPTA7ZDxjLmxlbmd0aDtkKyspaWYoQXJyYXkuaXNBcnJheShjW2RdKSl7dmFyIGU9Y1tkXTtpZighKGUubGVuZ3RoPDIpKXt2YXIgZj1lWzFdO2lmKEFycmF5LmlzQXJyYXkoZikmJiEoZi5sZW5ndGg8MSkpe3ZhciBnPWZbMF07aWYoZyE9XCJub29wXCImJmchPVwic3RvcFwiJiZnIT1cImNsb3NlXCIpZm9yKHZhciBoPTE7aDxmLmxlbmd0aDtoKyspZltoXT1cIlwifX19cmV0dXJuKDAsXy55RWEpKGMpfWNhdGNoKGspe3JldHVybiBhLmRlYnVnKFwiRXhjZXB0aW9uIHBhcnNpbmcgZXhwZWN0ZWQgSlMgYXJyYXkgLSBwcm9iYWJseSB3YXMgbm90IEpTXCIpLGJ9fTt2YXIgY29qPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMuQ2E9YTt0aGlzLkFhPWI7dGhpcy5HYT1jO3RoaXMuUGw9ZHx8MTt0aGlzLlNjPW5ldyBfLnJtKHRoaXMpO3RoaXMucFU9NDVFMzt0aGlzLkdiPW51bGw7dGhpcy5RYT0hMTt0aGlzLkxhPXRoaXMuT2E9dGhpcy5oYj10aGlzLldrPXRoaXMuQmI9dGhpcy5EYz10aGlzLmtiPW51bGw7dGhpcy53Yj1bXTt0aGlzLm9hPW51bGw7dGhpcy5VYT0wO3RoaXMueFE9dGhpcy5SYT1udWxsO3RoaXMucWM9LTE7dGhpcy5PYj0hMTt0aGlzLldnPTA7dGhpcy5TYj1udWxsO3RoaXMueWQ9dGhpcy5SYj10aGlzLnZkPXRoaXMuWWI9ITE7dGhpcy5CYT1uZXcgYm9qfSxib2o9ZnVuY3Rpb24oKXt0aGlzLkJhPW51bGw7dGhpcy5vYT1cIlwiO3RoaXMuQWE9ITF9LGRvaj1mdW5jdGlvbihhLGIpe3N3aXRjaChhKXtjYXNlIDA6cmV0dXJuXCJOb24tMjAwIHJldHVybiBjb2RlIChcIitiK1wiKVwiO2Nhc2UgMTpyZXR1cm5cIlhNTEhUVFAgZmFpbHVyZSAobm8gZGF0YSlcIjtcbmNhc2UgMjpyZXR1cm5cIkh0dHBDb25uZWN0aW9uIHRpbWVvdXRcIjtkZWZhdWx0OnJldHVyblwiVW5rbm93biBlcnJvclwifX0sZW9qPXt9LGZvaj17fTtjb2oucHJvdG90eXBlLnNldFRpbWVvdXQ9ZnVuY3Rpb24oYSl7dGhpcy5wVT1hfTtcbnZhciBob2o9ZnVuY3Rpb24oYSxiLGMpe2EuV2s9MTthLmhiPV8ueENhKGIuY2xvbmUoKSk7YS5MYT1jO2EuWWI9ITA7Z29qKGEsbnVsbCl9LGdvaj1mdW5jdGlvbihhLGIpe2EuQmI9RGF0ZS5ub3coKTtpb2ooYSk7YS5PYT1hLmhiLmNsb25lKCk7Xy5XbShhLk9hLFwidFwiLGEuUGwpO2EuVWE9MDt2YXIgYz1hLkNhLlNiO2EuQmE9bmV3IGJvajthLm9hPWpvaihhLkNhLGM/YjpudWxsLCFhLkxhKTthLldnPjAmJihhLlNiPW5ldyBfLlBuYigoMCxfLmhoKShhLklkLGEsYS5vYSksYS5XZykpO2EuU2MubGlzdGVuKGEub2EsXCJyZWFkeXN0YXRlY2hhbmdlXCIsYS5XZCk7Yj1hLkdiP18uZWMoYS5HYik6e307YS5MYT8oYS5SYXx8KGEuUmE9XCJQT1NUXCIpLGJbXCJDb250ZW50LVR5cGVcIl09XCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIixhLm9hLnNlbmQoYS5PYSxhLlJhLGEuTGEsYikpOihhLlJhPVwiR0VUXCIsYS5vYS5zZW5kKGEuT2EsYS5SYSxudWxsLGIpKTtSbmooMSk7WG5qKGEuQWEsXG5hLlJhLGEuT2EsYS5HYSxhLlBsLGEuTGEpfTtjb2oucHJvdG90eXBlLldkPWZ1bmN0aW9uKGEpe2E9YS50YXJnZXQ7dmFyIGI9dGhpcy5TYjtiJiZhLmZRKCk9PTM/KHRoaXMuQWEuZGVidWcoXCJUaHJvdHRsaW5nIHJlYWR5c3RhdGVjaGFuZ2UuXCIpLGIuZVAoKSk6dGhpcy5JZChhKX07Y29qLnByb3RvdHlwZS5JZD1mdW5jdGlvbihhKXt0cnl7YT09dGhpcy5vYSYma29qKHRoaXMpfWNhdGNoKGIpe3RoaXMuQWEuZGVidWcoXCJGYWlsZWQgY2FsbCB0byBPblhtbEh0dHBSZWFkeVN0YXRlQ2hhbmdlZF9cIiksbG9qKHRoaXMpfWZpbmFsbHl7fX07XG52YXIga29qPWZ1bmN0aW9uKGEpe3ZhciBiPWEub2EuZlEoKSxjPWEub2EuZ1csZD1hLm9hLmdldFN0YXR1cygpO2lmKCEoYjwzfHxiPT0zJiYhbG9qKGEpKSl7YS5PYnx8YiE9NHx8Yz09N3x8KGM9PTh8fGQ8PTA/Um5qKDMpOlJuaigyKSk7bW9qKGEpO3ZhciBlPWEub2EuZ2V0U3RhdHVzKCk7YS5xYz1lO2M9bm9qKGEpO2xvaihhKXx8YS5BYS5kZWJ1ZyhmdW5jdGlvbigpe3JldHVyblwiTm8gcmVzcG9uc2UgdGV4dCBmb3IgdXJpIFwiK2EuT2ErXCIgc3RhdHVzIFwiK2V9KTthLlFhPWU9PTIwMDtZbmooYS5BYSxhLlJhLGEuT2EsYS5HYSxhLlBsLGIsZSk7aWYoYS5RYSl7aWYoYS52ZCYmIWEuUmIpaWYoZD1vb2ooYSkpJG5qKGEuQWEsYS5HYSxkLFwiSW5pdGlhbCBoYW5kc2hha2UgcmVzcG9uc2UgdmlhIFgtSFRUUC1Jbml0aWFsLVJlc3BvbnNlXCIpLGEuUmI9ITAscG9qKGEsZCk7ZWxzZXthLlFhPSExO2EueFE9MztXVSgxMik7cW9qKGEpO3JvaihhKTtyZXR1cm59YS5ZYj9zb2ooYSxiLGMpOlxuKCRuaihhLkFhLGEuR2EsYyxudWxsKSxwb2ooYSxjKSk7Yj09NCYmcW9qKGEpO2EuUWEmJiFhLk9iJiYoYj09ND90b2ooYS5DYSxhKTooYS5RYT0hMSxpb2ooYSkpKX1lbHNlIGEub2EudnRhKCksZT09NDAwJiZjLmluZGV4T2YoXCJVbmtub3duIFNJRFwiKT4wPyhhLnhRPTMsV1UoMTIpKTooYS54UT0wLFdVKDEzKSkscW9qKGEpLHJvaihhKX19LG9vaj1mdW5jdGlvbihhKXtyZXR1cm4gYS5vYSYmKGE9Xy5vbmYoYS5vYSxcIlgtSFRUUC1Jbml0aWFsLVJlc3BvbnNlXCIpKSYmIV8uQWUoYSk/YTpudWxsfSxub2o9ZnVuY3Rpb24oYSl7aWYoIXVvaihhKSlyZXR1cm4gYS5vYS5xeCgpO3ZhciBiPWEub2EuV2koKTtpZihiPT09XCJcIilyZXR1cm5cIlwiO3ZhciBjPVwiXCIsZD1iLmxlbmd0aCxlPWEub2EuZlEoKT09NDtpZighYS5CYS5CYSl7aWYodHlwZW9mIFRleHREZWNvZGVyPT09XCJ1bmRlZmluZWRcIilyZXR1cm4gcW9qKGEpLHJvaihhKSxcIlwiO2EuQmEuQmE9bmV3IF8uYmEuVGV4dERlY29kZXJ9Zm9yKHZhciBmPVxuMDtmPGQ7ZisrKWEuQmEuQWE9ITAsYys9YS5CYS5CYS5kZWNvZGUoYltmXSx7c3RyZWFtOiEoZSYmZj09ZC0xKX0pO2IubGVuZ3RoPTA7YS5CYS5vYSs9YzthLlVhPTA7cmV0dXJuIGEuQmEub2F9LGxvaj1mdW5jdGlvbihhKXtyZXR1cm4gYS5vYT9hLkJhLkFhPyEwOiEoIWEub2EucXgoKSYmIWEub2EuV2koKSk6ITF9LHVvaj1mdW5jdGlvbihhKXtyZXR1cm4gYS5vYT9hLlJhPT1cIkdFVFwiJiZhLldrIT0yJiZhLkNhLlB2OiExfSxzb2o9ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZD0hMCxlOyFhLk9iJiZhLlVhPGMubGVuZ3RoOylpZihlPXZvaihhLGMpLGU9PWZvail7Yj09NCYmKGEueFE9NCxXVSgxNCksZD0hMSk7JG5qKGEuQWEsYS5HYSxudWxsLFwiW0luY29tcGxldGUgUmVzcG9uc2VdXCIpO2JyZWFrfWVsc2UgaWYoZT09ZW9qKXthLnhRPTQ7V1UoMTUpOyRuaihhLkFhLGEuR2EsYyxcIltJbnZhbGlkIENodW5rXVwiKTtkPSExO2JyZWFrfWVsc2UgJG5qKGEuQWEsYS5HYSxlLG51bGwpLFxucG9qKGEsZSk7dW9qKGEpJiZhLlVhIT0wJiYoYS5CYS5vYT1hLkJhLm9hLnNsaWNlKGEuVWEpLGEuVWE9MCk7YiE9NHx8Yy5sZW5ndGghPTB8fGEuQmEuQWF8fChhLnhRPTEsV1UoMTYpLGQ9ITEpO2EuUWE9YS5RYSYmZDtkP2MubGVuZ3RoPjAmJiFhLnlkJiYoYS55ZD0hMCxiPWEuQ2EsYi5BYT09YSYmYi5DZyYmIWIucWMmJihiLm9hLmluZm8oXCJHcmVhdCwgbm8gYnVmZmVyaW5nIHByb3h5IGRldGVjdGVkLiBCeXRlcyByZWNlaXZlZDogXCIrYy5sZW5ndGgpLHdvaihiKSxiLnFjPSEwLFdVKDExKSkpOigkbmooYS5BYSxhLkdhLGMsXCJbSW52YWxpZCBDaHVua2VkIFJlc3BvbnNlXVwiKSxxb2ooYSkscm9qKGEpKX0sdm9qPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5VYSxkPWIuaW5kZXhPZihcIlxcblwiLGMpO2lmKGQ9PS0xKXJldHVybiBmb2o7Yz1OdW1iZXIoYi5zdWJzdHJpbmcoYyxkKSk7aWYoaXNOYU4oYykpcmV0dXJuIGVvajtkKz0xO2lmKGQrYz5iLmxlbmd0aClyZXR1cm4gZm9qO2I9Yi5zbGljZShkLFxuZCtjKTthLlVhPWQrYztyZXR1cm4gYn07Y29qLnByb3RvdHlwZS5jYW5jZWw9ZnVuY3Rpb24oKXt0aGlzLk9iPSEwO3Fvaih0aGlzKX07dmFyIGlvaj1mdW5jdGlvbihhKXthLkRjPURhdGUubm93KCkrYS5wVTt4b2ooYSxhLnBVKX0seG9qPWZ1bmN0aW9uKGEsYil7aWYoYS5rYiE9bnVsbCl0aHJvdyBFcnJvcihcIm1uXCIpO2Eua2I9Vm5qKCgwLF8uaGgpKGEuQmUsYSksYil9LG1vaj1mdW5jdGlvbihhKXthLmtiJiYoXy5iYS5jbGVhclRpbWVvdXQoYS5rYiksYS5rYj1udWxsKX07Y29qLnByb3RvdHlwZS5CZT1mdW5jdGlvbigpe3RoaXMua2I9bnVsbDt2YXIgYT1EYXRlLm5vdygpO2EtdGhpcy5EYz49MD8oYW9qKHRoaXMuQWEsdGhpcy5PYSksdGhpcy5XayE9MiYmKFJuaigzKSxXVSgxNykpLHFvaih0aGlzKSx0aGlzLnhRPTIscm9qKHRoaXMpKTp4b2oodGhpcyx0aGlzLkRjLWEpfTtcbnZhciByb2o9ZnVuY3Rpb24oYSl7YS5DYS5LcigpfHxhLk9ifHx0b2ooYS5DYSxhKX0scW9qPWZ1bmN0aW9uKGEpe21vaihhKTtfLlhiKGEuU2IpO2EuU2I9bnVsbDthLlNjLnJlbW92ZUFsbCgpO2lmKGEub2Epe3ZhciBiPWEub2E7YS5vYT1udWxsO2IuYWJvcnQoKTtiLmRpc3Bvc2UoKX19O2Nvai5wcm90b3R5cGUuZ2V0TGFzdEVycm9yPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueFF9O1xudmFyIHBvaj1mdW5jdGlvbihhLGIpe3RyeXt2YXIgYz1hLkNhO2lmKGMuemQhPTAmJihjLkFhPT1hfHx5b2ooYy5DYSxhKSkpaWYoIWEuUmImJnlvaihjLkNhLGEpJiZjLnpkPT0zKXt0cnl7dmFyIGQ9Yy5OeC5vYS5wYXJzZShiKX1jYXRjaChQKXtkPW51bGx9aWYoQXJyYXkuaXNBcnJheShkKSYmZC5sZW5ndGg9PTMpe3ZhciBlPWQ7aWYoZVswXT09MClhOmlmKGMub2EuZGVidWcoXCJTZXJ2ZXIgY2xhaW1zIG91ciBiYWNrY2hhbm5lbCBpcyBtaXNzaW5nLlwiKSxjLlJhKWMub2EuZGVidWcoXCJCdXQgd2UgYXJlIGN1cnJlbnRseSBzdGFydGluZyB0aGUgcmVxdWVzdC5cIik7ZWxzZXtpZihjLkFhKWlmKGMuQWEuQmIrM0UzPGEuQmIpem9qKGMpLEFvaihjKTtlbHNlIGJyZWFrIGE7Qm9qKGMpO1dVKDE4KX1lbHNle2MudW89ZVsxXTt2YXIgZj1jLnVvLWMueWQ7aWYoMDxmKXt2YXIgZz1lWzJdO2Mub2EuZGVidWcoZytcIiBieXRlcyAoaW4gXCIrZitcIiBhcnJheXMpIGFyZSBvdXRzdGFuZGluZyBvbiB0aGUgQmFja0NoYW5uZWxcIik7XG5nPDM3NTAwJiZjLkdiJiZjLmhiPT0wJiYhYy5VYSYmKGMuVWE9Vm5qKCgwLF8uaGgpKGMuYkYsYyksNkUzKSl9fWlmKENvaihjLkNhKTw9MSYmYy5kaCl7dHJ5e2MuZGgoKX1jYXRjaChQKXt9Yy5kaD12b2lkIDB9fWVsc2UgYy5vYS5kZWJ1ZyhcIkJhZCBQT1NUIHJlc3BvbnNlIGRhdGEgcmV0dXJuZWRcIiksRG9qKGMsMTEpfWVsc2UgaWYoKGEuUmJ8fGMuQWE9PWEpJiZ6b2ooYyksIV8uQWUoYikpZm9yKGU9Yy5OeC5vYS5wYXJzZShiKSxmPTA7ZjxlLmxlbmd0aDtmKyspe3ZhciBoPWVbZl07Yy55ZD1oWzBdO2g9aFsxXTtpZihjLnpkPT0yKWlmKGhbMF09PVwiY1wiKXtjLldnPWhbMV07Yy54aj1oWzJdO3ZhciBrPWhbM107ayE9bnVsbCYmKGMuQ2Y9ayxjLm9hLmluZm8oXCJWRVI9XCIrYy5DZikpO3ZhciBsPWhbNF07bCE9bnVsbCYmKGMuU3E9bCxjLm9hLmluZm8oXCJTVkVSPVwiK2MuU3EpKTt2YXIgbj1oWzVdO24hPW51bGwmJnR5cGVvZiBuPT09XCJudW1iZXJcIiYmbj4wJiYoZz0xLjUqbixjLlliPVxuZyxjLm9hLmluZm8oXCJiYWNrQ2hhbm5lbFJlcXVlc3RUaW1lb3V0TXNfPVwiK2cpKTtnPWM7dmFyIHI9YS5vYTtpZihyKXt2YXIgdD1fLm9uZihyLFwiWC1DbGllbnQtV2lyZS1Qcm90b2NvbFwiKTtpZih0KXt2YXIgdT1nLkNhO2I9dDshdS5vYSYmKF8uZmEoYixcInNwZHlcIil8fF8uZmEoYixcInF1aWNcIil8fF8uZmEoYixcImgyXCIpKSYmKHUuQmE9dS5DYSx1Lm9hPW5ldyBTZXQsdS5UaSYmKEVvaih1LHUuVGkpLHUuVGk9bnVsbCkpfWlmKGcuQmIpe3ZhciB6PV8ub25mKHIsXCJYLUhUVFAtU2Vzc2lvbi1JZFwiKTt6JiYoZy5MbT16LF8uVm0oZy5SYixnLkJiLHopKX19Yy56ZD0zO2MuR2EmJmMuR2EuT1BiKCk7Yy5DZyYmKGMuU2M9RGF0ZS5ub3coKS1hLkJiLGMub2EuaW5mbyhcIkhhbmRzaGFrZSBSVFQ6IFwiK2MuU2MrXCJtc1wiKSk7Zz1jO2I9YTt2YXIgQj1kPWcsRj1Gb2ooQixCLlNiP2cueGo6bnVsbCxnLldkKTtCLm9hLmRlYnVnKFwiR2V0QmFja0NoYW5uZWxVcmk6IFwiK0YpO2QuVWs9RjtpZihiLlJiKXtnLm9hLmRlYnVnKFwiVXBncmFkZSB0aGUgaGFuZHNoYWtlIHJlcXVlc3QgdG8gYSBiYWNrY2hhbm5lbC5cIik7XG5Hb2ooZy5DYSxiKTtkPWI7dmFyIEs9Zy5ZYjtLJiZkLnNldFRpbWVvdXQoSyk7ZC5rYiYmKG1vaihkKSxpb2ooZCkpO2cuQWE9Yn1lbHNlIEhvaihnKTtjLkJhLmxlbmd0aD4wJiZJb2ooYyl9ZWxzZSBoWzBdIT1cInN0b3BcIiYmaFswXSE9XCJjbG9zZVwifHxEb2ooYyw3KTtlbHNlIGMuemQ9PTMmJihoWzBdPT1cInN0b3BcInx8aFswXT09XCJjbG9zZVwiP2hbMF09PVwic3RvcFwiP0RvaihjLDcpOmMuZGlzY29ubmVjdCgpOmhbMF0hPVwibm9vcFwiJiZjLkdhJiZjLkdhLlhYYihoKSxjLmhiPTApfVJuaig0KX1jYXRjaChQKXt9fTt2YXIgSm9qPWZ1bmN0aW9uKGEsYil7dGhpcy5tYXBJZD1hO3RoaXMubWFwPWI7dGhpcy5jb250ZXh0PW51bGx9O3ZhciBLb2o9ZnVuY3Rpb24oYSl7dGhpcy5DYT1hfHwxMDtfLmJhLlBlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZz8oYT1fLmJhLnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoXCJuYXZpZ2F0aW9uXCIpLGE9YS5sZW5ndGg+MCYmKGFbMF0ubmV4dEhvcFByb3RvY29sPT1cImhxXCJ8fGFbMF0ubmV4dEhvcFByb3RvY29sPT1cImgyXCIpKTphPSEhKF8uYmEuY2hyb21lJiZfLmJhLmNocm9tZS5sb2FkVGltZXMmJl8uYmEuY2hyb21lLmxvYWRUaW1lcygpJiZfLmJhLmNocm9tZS5sb2FkVGltZXMoKS53YXNGZXRjaGVkVmlhU3BkeSk7dGhpcy5CYT1hP3RoaXMuQ2E6MTt0aGlzLm9hPW51bGw7dGhpcy5CYT4xJiYodGhpcy5vYT1uZXcgU2V0KTt0aGlzLlRpPW51bGw7dGhpcy5BYT1bXX0sTG9qPWZ1bmN0aW9uKGEpe3JldHVybiBhLlRpPyEwOmEub2E/YS5vYS5zaXplPj1hLkJhOiExfSxDb2o9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuVGk/MTphLm9hP2Eub2Euc2l6ZTowfSx5b2o9ZnVuY3Rpb24oYSxcbmIpe3JldHVybiBhLlRpP2EuVGk9PWI6YS5vYT9hLm9hLmhhcyhiKTohMX0sRW9qPWZ1bmN0aW9uKGEsYil7YS5vYT9hLm9hLmFkZChiKTphLlRpPWJ9LEdvaj1mdW5jdGlvbihhLGIpe2EuVGkmJmEuVGk9PWI/YS5UaT1udWxsOmEub2EmJmEub2EuaGFzKGIpJiZhLm9hLmRlbGV0ZShiKX07S29qLnByb3RvdHlwZS5jYW5jZWw9ZnVuY3Rpb24oKXt0aGlzLkFhPU1vaih0aGlzKTtpZih0aGlzLlRpKXRoaXMuVGkuY2FuY2VsKCksdGhpcy5UaT1udWxsO2Vsc2UgaWYodGhpcy5vYSYmdGhpcy5vYS5zaXplIT09MCl7Zm9yKHZhciBhPV8uUGEodGhpcy5vYS52YWx1ZXMoKSksYj1hLm5leHQoKTshYi5kb25lO2I9YS5uZXh0KCkpYi52YWx1ZS5jYW5jZWwoKTt0aGlzLm9hLmNsZWFyKCl9fTtcbnZhciBNb2o9ZnVuY3Rpb24oYSl7aWYoYS5UaSE9bnVsbClyZXR1cm4gYS5BYS5jb25jYXQoYS5UaS53Yik7aWYoYS5vYSE9bnVsbCYmYS5vYS5zaXplIT09MCl7dmFyIGI9YS5BYTthPV8uUGEoYS5vYS52YWx1ZXMoKSk7Zm9yKHZhciBjPWEubmV4dCgpOyFjLmRvbmU7Yz1hLm5leHQoKSliPWIuY29uY2F0KGMudmFsdWUud2IpO3JldHVybiBifXJldHVybiBfLkFhKGEuQWEpfSxOb2o9ZnVuY3Rpb24oYSxiKXthLkFhPWEuQWEuY29uY2F0KGIpfTt2YXIgUG9qPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IFduajtjLmRlYnVnKFwiVGVzdExvYWRJbWFnZTogbG9hZGluZyBcIithKTtpZihfLmJhLkltYWdlKXt2YXIgZD1uZXcgSW1hZ2U7ZC5vbmxvYWQ9Xy5paChPb2osYyxcIlRlc3RMb2FkSW1hZ2U6IGxvYWRlZFwiLCEwLGIsZCk7ZC5vbmVycm9yPV8uaWgoT29qLGMsXCJUZXN0TG9hZEltYWdlOiBlcnJvclwiLCExLGIsZCk7ZC5vbmFib3J0PV8uaWgoT29qLGMsXCJUZXN0TG9hZEltYWdlOiBhYm9ydFwiLCExLGIsZCk7ZC5vbnRpbWVvdXQ9Xy5paChPb2osYyxcIlRlc3RMb2FkSW1hZ2U6IHRpbWVvdXRcIiwhMSxiLGQpO18uYmEuc2V0VGltZW91dChmdW5jdGlvbigpe2lmKGQub250aW1lb3V0KWQub250aW1lb3V0KCl9LDFFNCk7ZC5zcmM9YX1lbHNlIGIoITEpfSxRb2o9ZnVuY3Rpb24oYSxiKXt2YXIgYz1uZXcgV25qLGQ9bmV3IEFib3J0Q29udHJvbGxlcixlPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtkLmFib3J0KCk7T29qKGMsXCJUZXN0UGluZ1NlcnZlcjogdGltZW91dFwiLFxuITEsYil9LDFFNCk7ZmV0Y2goYSx7c2lnbmFsOmQuc2lnbmFsfSkudGhlbihmdW5jdGlvbihmKXtjbGVhclRpbWVvdXQoZSk7Zi5vaz9Pb2ooYyxcIlRlc3RQaW5nU2VydmVyOiBva1wiLCEwLGIpOk9vaihjLFwiVGVzdFBpbmdTZXJ2ZXI6IHNlcnZlciBlcnJvclwiLCExLGIpfSkuY2F0Y2goZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQoZSk7T29qKGMsXCJUZXN0UGluZ1NlcnZlcjogZXJyb3JcIiwhMSxiKX0pfSxPb2o9ZnVuY3Rpb24oYSxiLGMsZCxlKXt0cnl7YS5kZWJ1ZyhiKSxlJiYoZS5vbmxvYWQ9bnVsbCxlLm9uZXJyb3I9bnVsbCxlLm9uYWJvcnQ9bnVsbCxlLm9udGltZW91dD1udWxsKSxkKGMpfWNhdGNoKGYpe319O3ZhciBSb2o9ZnVuY3Rpb24oKXt9O1Jvai5wcm90b3R5cGUuc3RyaW5naWZ5PWZ1bmN0aW9uKGEpe3JldHVybiBfLmJhLkpTT04uc3RyaW5naWZ5KGEsdm9pZCAwKX07Um9qLnByb3RvdHlwZS5wYXJzZT1mdW5jdGlvbihhKXtyZXR1cm4gXy5iYS5KU09OLnBhcnNlKGEsdm9pZCAwKX07dmFyIFNvaj1mdW5jdGlvbigpe3RoaXMub2E9bmV3IFJvan0sVG9qPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1jfHxcIlwiO3RyeXtfLlJCYShhLGZ1bmN0aW9uKGUsZil7dmFyIGc9ZTtfLkRhKGUpJiYoZz0oMCxfLnlFYSkoZSkpO2IucHVzaChkK2YrXCI9XCIrZW5jb2RlVVJJQ29tcG9uZW50KGcpKX0pfWNhdGNoKGUpe3Rocm93IGIucHVzaChkK1widHlwZT1cIitlbmNvZGVVUklDb21wb25lbnQoXCJfYmFkbWFwXCIpKSxlO319O3ZhciBVb2o9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBjJiZjLlByZD9jLlByZFthXXx8YjpifSxYVT1mdW5jdGlvbihhKXt0aGlzLlNxPTA7dGhpcy5CYT1bXTt0aGlzLm9hPW5ldyBXbmo7dGhpcy54aj10aGlzLlVrPXRoaXMuUmI9dGhpcy5XZD10aGlzLkFhPXRoaXMuTG09dGhpcy5CYj10aGlzLk9iPXRoaXMuT2E9dGhpcy52ZD10aGlzLlFhPW51bGw7dGhpcy5hRj10aGlzLklkPTA7dGhpcy5QQz1Vb2ooXCJmYWlsRmFzdFwiLCExLGEpO3RoaXMuR2I9dGhpcy5VYT10aGlzLlJhPXRoaXMuTGE9dGhpcy5HYT1udWxsO3RoaXMuQmU9ITA7dGhpcy5Maz10aGlzLnVvPXRoaXMueWQ9LTE7dGhpcy50Zj10aGlzLmhiPXRoaXMud2I9MDt0aGlzLlR3PVVvaihcImJhc2VSZXRyeURlbGF5TXNcIiw1RTMsYSk7dGhpcy5kRj1Vb2ooXCJyZXRyeURlbGF5U2VlZE1zXCIsMUU0LGEpO3RoaXMuUUM9VW9qKFwiZm9yd2FyZENoYW5uZWxNYXhSZXRyaWVzXCIsMixhKTt0aGlzLkhsPVVvaihcImZvcndhcmRDaGFubmVsUmVxdWVzdFRpbWVvdXRNc1wiLFxuMkU0LGEpO3RoaXMuTHphPWEmJmEubHNjfHx2b2lkIDA7dGhpcy5SQz1hJiZhLkRBZXx8dm9pZCAwO3RoaXMuUHY9YSYmYS5jRWV8fCExO3RoaXMuWWI9dm9pZCAwO3RoaXMuU2I9YSYmYS5IUmR8fCExO3RoaXMuV2c9XCJcIjt0aGlzLkNhPW5ldyBLb2ooYSYmYS5RdmUpO3RoaXMuTng9bmV3IFNvajt0aGlzLkRjPWEmJmEucXhlfHwhMTt0aGlzLlBsPWEmJmEuZnhlfHwhMTt0aGlzLkRjJiZ0aGlzLlBsJiYodGhpcy5QbD0hMSk7dGhpcy5Vdz1hJiZhLml2ZXx8ITE7YSYmYS54X2ImJnRoaXMub2EueF9iKCk7YSYmYS5EeGUmJih0aGlzLkJlPSExKTt0aGlzLkNnPSF0aGlzLkRjJiZ0aGlzLkJlJiZhJiZhLnl3ZXx8ITE7dGhpcy5Laj12b2lkIDA7YSYmYS56Y2MmJmEuemNjPjAmJih0aGlzLktqPWEuemNjKTt0aGlzLmRoPXZvaWQgMDt0aGlzLlNjPTA7dGhpcy5xYz0hMTt0aGlzLlpqPXRoaXMua2I9bnVsbH07WFUucHJvdG90eXBlLkNmPTg7WFUucHJvdG90eXBlLnpkPTE7XG5YVS5wcm90b3R5cGUuY29ubmVjdD1mdW5jdGlvbihhLGIsYyxkKXt0aGlzLm9hLmRlYnVnKFwiY29ubmVjdCgpXCIpO1dVKDApO3RoaXMuV2Q9YTt0aGlzLk9iPWJ8fHt9O2MmJmQhPT12b2lkIDAmJih0aGlzLk9iLk9TSUQ9Yyx0aGlzLk9iLk9BSUQ9ZCk7dGhpcy5HYj10aGlzLkJlO3RoaXMub2EuZGVidWcoXCJjb25uZWN0Q2hhbm5lbF8oKVwiKTthPUZvaih0aGlzLG51bGwsdGhpcy5XZCk7dGhpcy5vYS5kZWJ1ZyhcIkdldEZvcndhcmRDaGFubmVsVXJpOiBcIithKTt0aGlzLlJiPWE7SW9qKHRoaXMpfTtcblhVLnByb3RvdHlwZS5kaXNjb25uZWN0PWZ1bmN0aW9uKCl7dGhpcy5vYS5kZWJ1ZyhcImRpc2Nvbm5lY3QoKVwiKTtWb2oodGhpcyk7aWYodGhpcy56ZD09Myl7dmFyIGE9dGhpcy5JZCsrLGI9dGhpcy5SYi5jbG9uZSgpO18uVm0oYixcIlNJRFwiLHRoaXMuV2cpO18uVm0oYixcIlJJRFwiLGEpO18uVm0oYixcIlRZUEVcIixcInRlcm1pbmF0ZVwiKTtXb2oodGhpcyxiKTthPW5ldyBjb2oodGhpcyx0aGlzLm9hLGEpO2EuV2s9MjthLmhiPV8ueENhKGIuY2xvbmUoKSk7Yj0hMTtpZihfLmJhLm5hdmlnYXRvciYmXy5iYS5uYXZpZ2F0b3Iuc2VuZEJlYWNvbil0cnl7Yj1fLmJhLm5hdmlnYXRvci5zZW5kQmVhY29uKGEuaGIudG9TdHJpbmcoKSxcIlwiKX1jYXRjaChjKXt9IWImJl8uYmEuSW1hZ2UmJigobmV3IEltYWdlKS5zcmM9YS5oYixiPSEwKTtifHwoYS5vYT1qb2ooYS5DYSxudWxsKSxhLm9hLnNlbmQoYS5oYikpO2EuQmI9RGF0ZS5ub3coKTtpb2ooYSl9WG9qKHRoaXMpfTtcbnZhciBBb2o9ZnVuY3Rpb24oYSl7YS5BYSYmKHdvaihhKSxhLkFhLmNhbmNlbCgpLGEuQWE9bnVsbCl9LFZvaj1mdW5jdGlvbihhKXtBb2ooYSk7YS5SYSYmKF8uYmEuY2xlYXJUaW1lb3V0KGEuUmEpLGEuUmE9bnVsbCk7em9qKGEpO2EuQ2EuY2FuY2VsKCk7YS5MYSYmKHR5cGVvZiBhLkxhPT09XCJudW1iZXJcIiYmXy5iYS5jbGVhclRpbWVvdXQoYS5MYSksYS5MYT1udWxsKX07WFUucHJvdG90eXBlLktyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuemQ9PTB9O1hVLnByb3RvdHlwZS5nZXRTdGF0ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnpkfTtcbnZhciBJb2o9ZnVuY3Rpb24oYSl7TG9qKGEuQ2EpfHxhLkxhfHwoYS5MYT0hMCxfLlJsKGEuUnEsYSksYS53Yj0wKX0sWm9qPWZ1bmN0aW9uKGEsYil7aWYoQ29qKGEuQ2EpPj1hLkNhLkJhLShhLkxhPzE6MCkpcmV0dXJuITE7aWYoYS5MYSlyZXR1cm4gYS5vYS5kZWJ1ZyhcIlVzZSB0aGUgcmV0cnkgcmVxdWVzdCB0aGF0IGlzIGFscmVhZHkgc2NoZWR1bGVkLlwiKSxhLkJhPWIud2IuY29uY2F0KGEuQmEpLCEwO2lmKGEuemQ9PTF8fGEuemQ9PTJ8fGEud2I+PShhLlBDPzA6YS5RQykpcmV0dXJuITE7YS5vYS5kZWJ1ZyhcIkdvaW5nIHRvIHJldHJ5IFBPU1RcIik7YS5MYT1WbmooKDAsXy5oaCkoYS5ScSxhLGIpLFlvaihhLGEud2IpKTthLndiKys7cmV0dXJuITB9O1xuWFUucHJvdG90eXBlLlJxPWZ1bmN0aW9uKGEpe2lmKHRoaXMuTGEpaWYodGhpcy5MYT1udWxsLHRoaXMub2EuZGVidWcoXCJzdGFydEZvcndhcmRDaGFubmVsX1wiKSx0aGlzLnpkPT0xKXtpZighYSl7dGhpcy5vYS5kZWJ1ZyhcIm9wZW5fKClcIik7dGhpcy5JZD1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMUU1KTthPXRoaXMuSWQrKzt2YXIgYj1uZXcgY29qKHRoaXMsdGhpcy5vYSxhKSxjPXRoaXMuUWE7dGhpcy52ZCYmKGM/KGM9Xy5lYyhjKSxfLmloYShjLHRoaXMudmQpKTpjPXRoaXMudmQpO3RoaXMuT2EhPT1udWxsfHx0aGlzLlBsfHwoYi5HYj1jLGM9bnVsbCk7dmFyIGQ7aWYodGhpcy5EYylhOntmb3IodmFyIGU9ZD0wO2U8dGhpcy5CYS5sZW5ndGg7ZSsrKXtiOnt2YXIgZj10aGlzLkJhW2VdO2lmKFwiX19kYXRhX19cImluIGYubWFwJiYoZj1mLm1hcC5fX2RhdGFfXyx0eXBlb2YgZj09PVwic3RyaW5nXCIpKXtmPWYubGVuZ3RoO2JyZWFrIGJ9Zj12b2lkIDB9aWYoZj09PXZvaWQgMClicmVhaztcbmQrPWY7aWYoZD40MDk2KXtkPWU7YnJlYWsgYX1pZihkPT09NDA5Nnx8ZT09PXRoaXMuQmEubGVuZ3RoLTEpe2Q9ZSsxO2JyZWFrIGF9fWQ9MUUzfWVsc2UgZD0xRTM7ZD0kb2oodGhpcyxiLGQpO2U9dGhpcy5SYi5jbG9uZSgpO18uVm0oZSxcIlJJRFwiLGEpO18uVm0oZSxcIkNWRVJcIiwyMik7dGhpcy5CYiYmXy5WbShlLFwiWC1IVFRQLVNlc3Npb24tSWRcIix0aGlzLkJiKTtXb2oodGhpcyxlKTtjJiYodGhpcy5QbD9kPVwiaGVhZGVycz1cIitfLmNsKF8udG5mKGMpKStcIiZcIitkOnRoaXMuT2EmJl8udW5mKGUsdGhpcy5PYSxjKSk7RW9qKHRoaXMuQ2EsYik7dGhpcy5VdyYmXy5WbShlLFwiVFlQRVwiLFwiaW5pdFwiKTt0aGlzLkRjPyhfLlZtKGUsXCIkcmVxXCIsZCksXy5WbShlLFwiU0lEXCIsXCJudWxsXCIpLGIudmQ9ITAsaG9qKGIsZSxudWxsKSk6aG9qKGIsZSxkKTt0aGlzLnpkPTJ9fWVsc2UgdGhpcy56ZD09MyYmKGE/YXBqKHRoaXMsYSk6dGhpcy5CYS5sZW5ndGg9PTA/dGhpcy5vYS5kZWJ1ZyhcInN0YXJ0Rm9yd2FyZENoYW5uZWxfIHJldHVybmVkOiBub3RoaW5nIHRvIHNlbmRcIik6XG5Mb2oodGhpcy5DYSl8fChhcGoodGhpcyksdGhpcy5vYS5kZWJ1ZyhcInN0YXJ0Rm9yd2FyZENoYW5uZWxfIGZpbmlzaGVkLCBzZW50IHJlcXVlc3RcIikpKX07XG52YXIgYXBqPWZ1bmN0aW9uKGEsYil7dmFyIGM7Yj9jPWIuR2E6Yz1hLklkKys7dmFyIGQ9YS5SYi5jbG9uZSgpO18uVm0oZCxcIlNJRFwiLGEuV2cpO18uVm0oZCxcIlJJRFwiLGMpO18uVm0oZCxcIkFJRFwiLGEueWQpO1dvaihhLGQpO2EuT2EmJmEuUWEmJl8udW5mKGQsYS5PYSxhLlFhKTtjPW5ldyBjb2ooYSxhLm9hLGMsYS53YisxKTthLk9hPT09bnVsbCYmKGMuR2I9YS5RYSk7YiYmKGEuQmE9Yi53Yi5jb25jYXQoYS5CYSkpO2I9JG9qKGEsYywxRTMpO2Muc2V0VGltZW91dChNYXRoLnJvdW5kKGEuSGwqLjUpK01hdGgucm91bmQoYS5IbCouNSpNYXRoLnJhbmRvbSgpKSk7RW9qKGEuQ2EsYyk7aG9qKGMsZCxiKX0sV29qPWZ1bmN0aW9uKGEsYil7YS5PYiYmXy5ZYihhLk9iLGZ1bmN0aW9uKGMsZCl7Xy5WbShiLGQsYyl9KTthLkdhJiZfLlJCYSh7fSxmdW5jdGlvbihjLGQpe18uVm0oYixkLGMpfSl9LCRvaj1mdW5jdGlvbihhLGIsYyl7Yz1NYXRoLm1pbihhLkJhLmxlbmd0aCxjKTt2YXIgZD1cbmEuR2E/KDAsXy5oaCkoYS5HYS5NWmMsYS5HYSxhKTpudWxsO2E6e2Zvcih2YXIgZT1hLkJhLGY9LTE7Oyl7dmFyIGc9W1wiY291bnQ9XCIrY107Zj09LTE/Yz4wPyhmPWVbMF0ubWFwSWQsZy5wdXNoKFwib2ZzPVwiK2YpKTpmPTA6Zy5wdXNoKFwib2ZzPVwiK2YpO2Zvcih2YXIgaD0hMCxrPTA7azxjO2srKyl7dmFyIGw9ZVtrXS5tYXBJZCxuPWVba10ubWFwO2wtPWY7aWYobDwwKWY9TWF0aC5tYXgoMCxlW2tdLm1hcElkLTEwMCksaD0hMTtlbHNlIHRyeXtUb2oobixnLFwicmVxXCIrbCtcIl9cIil9Y2F0Y2gocil7ZCYmZChuKX19aWYoaCl7ZD1nLmpvaW4oXCImXCIpO2JyZWFrIGF9fWQ9dm9pZCAwfWE9YS5CYS5zcGxpY2UoMCxjKTtiLndiPWE7cmV0dXJuIGR9LEhvaj1mdW5jdGlvbihhKXthLkFhfHxhLlJhfHwoYS50Zj0xLF8uUmwoYS5MbyxhKSxhLmhiPTApfSxCb2o9ZnVuY3Rpb24oYSl7aWYoYS5BYXx8YS5SYXx8YS5oYj49MylyZXR1cm4hMTthLm9hLmRlYnVnKFwiR29pbmcgdG8gcmV0cnkgR0VUXCIpO1xuYS50ZisrO2EuUmE9Vm5qKCgwLF8uaGgpKGEuTG8sYSksWW9qKGEsYS5oYikpO2EuaGIrKztyZXR1cm4hMH07WFUucHJvdG90eXBlLkxvPWZ1bmN0aW9uKCl7dGhpcy5SYT1udWxsO2Jwaih0aGlzKTtpZih0aGlzLkNnJiYhKHRoaXMucWN8fHRoaXMuQWE9PW51bGx8fHRoaXMuU2M8PTApKXt2YXIgYT0yKnRoaXMuU2M7dGhpcy5vYS5pbmZvKFwiQlAgZGV0ZWN0aW9uIHRpbWVyIGVuYWJsZWQ6IFwiK2EpO3RoaXMua2I9Vm5qKCgwLF8uaGgpKHRoaXMuY0YsdGhpcyksYSl9fTtcblhVLnByb3RvdHlwZS5jRj1mdW5jdGlvbigpe3RoaXMua2ImJih0aGlzLmtiPW51bGwsdGhpcy5vYS5pbmZvKFwiQlAgZGV0ZWN0aW9uIHRpbWVvdXQgcmVhY2hlZC5cIiksdGhpcy5BYS5vYSE9bnVsbCYmdGhpcy5BYS5vYS5xeCgpLHRoaXMub2EuaW5mbyhcIkJ1ZmZlcmluZyBwcm94eSBkZXRlY3RlZCBhbmQgc3dpdGNoIHRvIGxvbmctcG9sbGluZyFcIiksdGhpcy5HYj0hMSx0aGlzLnFjPSEwLFdVKDEwKSxBb2oodGhpcyksYnBqKHRoaXMpKX07XG52YXIgd29qPWZ1bmN0aW9uKGEpe2Eua2IhPW51bGwmJihhLm9hLmRlYnVnKFwiQ2FuY2VsIHRoZSBCUCBkZXRlY3Rpb24gdGltZXIuXCIpLF8uYmEuY2xlYXJUaW1lb3V0KGEua2IpLGEua2I9bnVsbCl9LGJwaj1mdW5jdGlvbihhKXthLm9hLmRlYnVnKFwiQ3JlYXRpbmcgbmV3IEh0dHBSZXF1ZXN0XCIpO2EuQWE9bmV3IGNvaihhLGEub2EsXCJycGNcIixhLnRmKTthLk9hPT09bnVsbCYmKGEuQWEuR2I9YS5RYSk7YS5BYS5XZz0wO3ZhciBiPWEuVWsuY2xvbmUoKTtfLlZtKGIsXCJSSURcIixcInJwY1wiKTtfLlZtKGIsXCJTSURcIixhLldnKTtfLlZtKGIsXCJBSURcIixhLnlkKTtfLlZtKGIsXCJDSVwiLGEuR2I/XCIwXCI6XCIxXCIpOyFhLkdiJiZhLktqJiZfLlZtKGIsXCJUT1wiLGEuS2opO18uVm0oYixcIlRZUEVcIixcInhtbGh0dHBcIik7V29qKGEsYik7YS5PYSYmYS5RYSYmXy51bmYoYixhLk9hLGEuUWEpO2EuWWImJmEuQWEuc2V0VGltZW91dChhLlliKTt2YXIgYz1hLkFhLGQ9YS54ajtjLldrPTE7Yy5oYj1fLnhDYShiLmNsb25lKCkpO1xuYy5MYT1udWxsO2MuWWI9ITA7Z29qKGMsZCk7YS5vYS5kZWJ1ZyhcIk5ldyBSZXF1ZXN0IGNyZWF0ZWRcIil9O1hVLnByb3RvdHlwZS5iRj1mdW5jdGlvbigpe3RoaXMuVWEhPW51bGwmJih0aGlzLlVhPW51bGwsQW9qKHRoaXMpLEJvaih0aGlzKSxXVSgxOSkpfTtcbnZhciB6b2o9ZnVuY3Rpb24oYSl7YS5VYSE9bnVsbCYmKF8uYmEuY2xlYXJUaW1lb3V0KGEuVWEpLGEuVWE9bnVsbCl9LHRvaj1mdW5jdGlvbihhLGIpe2Eub2EuZGVidWcoXCJSZXF1ZXN0IGNvbXBsZXRlXCIpO3ZhciBjPW51bGw7aWYoYS5BYT09Yil7em9qKGEpO3dvaihhKTthLkFhPW51bGw7dmFyIGQ9Mn1lbHNlIGlmKHlvaihhLkNhLGIpKWM9Yi53YixHb2ooYS5DYSxiKSxkPTE7ZWxzZSByZXR1cm47aWYoYS56ZCE9MClpZihiLlFhKWQ9PTE/KFVuaihiLkxhP2IuTGEubGVuZ3RoOjAsRGF0ZS5ub3coKS1iLkJiLGEud2IpLElvaihhKSk6SG9qKGEpO2Vsc2V7dmFyIGU9Yi5xYyxmPWIuZ2V0TGFzdEVycm9yKCk7aWYoZj09M3x8Zj09MCYmZT4wKWEub2EuZGVidWcoXCJOb3QgcmV0cnlpbmcgZHVlIHRvIGVycm9yIHR5cGVcIiksZT4yMDAmJihhLkxrPWIucWMpO2Vsc2V7YS5vYS5kZWJ1ZyhmdW5jdGlvbigpe3JldHVyblwiTWF5YmUgcmV0cnlpbmcsIGxhc3QgZXJyb3I6IFwiK2RvaihmLFxuYS5Mayl9KTtpZihkPT0xJiZab2ooYSxiKXx8ZD09MiYmQm9qKGEpKXJldHVybjthLm9hLmRlYnVnKFwiRXhjZWVkZWQgbWF4IG51bWJlciBvZiByZXRyaWVzXCIpfWMmJmMubGVuZ3RoPjAmJk5vaihhLkNhLGMpO2Eub2EuZGVidWcoXCJFcnJvcjogSFRUUCByZXF1ZXN0IGZhaWxlZFwiKTtzd2l0Y2goZil7Y2FzZSAxOkRvaihhLDUpO2JyZWFrO2Nhc2UgNDpEb2ooYSwxMCk7YnJlYWs7Y2FzZSAzOkRvaihhLDYpO2JyZWFrO2RlZmF1bHQ6RG9qKGEsMil9fX0sWW9qPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5UdytNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqYS5kRik7YS5pc0FjdGl2ZSgpfHwoYS5vYS5kZWJ1ZyhcIkluYWN0aXZlIGNoYW5uZWxcIiksYyo9Mik7cmV0dXJuIGMqYn0sRG9qPWZ1bmN0aW9uKGEsYil7YS5vYS5pbmZvKFwiRXJyb3IgY29kZSBcIitiKTtpZihiPT0yKXt2YXIgYz0oMCxfLmhoKShhLm1HLGEpLGQ9YS5SQyxlPSFkO2Q9bmV3IF8uTW0oZHx8XCIvL3d3dy5nb29nbGUuY29tL2ltYWdlcy9jbGVhcmRvdC5naWZcIik7XG5fLmJhLmxvY2F0aW9uJiZfLmJhLmxvY2F0aW9uLnByb3RvY29sPT1cImh0dHBcInx8Xy5ObShkLFwiaHR0cHNcIik7Xy54Q2EoZCk7ZT9Qb2ooZC50b1N0cmluZygpLGMpOlFvaihkLnRvU3RyaW5nKCksYyl9ZWxzZSBXVSgyKTthLm9hLmRlYnVnKFwiSHR0cENoYW5uZWw6IGVycm9yIC0gXCIrYik7YS56ZD0wO2EuR2EmJmEuR2EuV1hiKGIpO1hvaihhKTtWb2ooYSl9O1hVLnByb3RvdHlwZS5tRz1mdW5jdGlvbihhKXthPyh0aGlzLm9hLmluZm8oXCJTdWNjZXNzZnVsbHkgcGluZ2VkIGdvb2dsZS5jb21cIiksV1UoMikpOih0aGlzLm9hLmluZm8oXCJGYWlsZWQgdG8gcGluZyBnb29nbGUuY29tXCIpLFdVKDEpKX07XG52YXIgWG9qPWZ1bmN0aW9uKGEpe2EuemQ9MDthLlpqPVtdO2lmKGEuR2Epe3ZhciBiPU1vaihhLkNhKTtpZihiLmxlbmd0aCE9MHx8YS5CYS5sZW5ndGghPTApYS5vYS5kZWJ1ZyhmdW5jdGlvbigpe3JldHVyblwiTnVtYmVyIG9mIHVuZGVsaXZlcmVkIG1hcHMsIHBlbmRpbmc6IFwiK2IubGVuZ3RoK1wiLCBvdXRnb2luZzogXCIrYS5CYS5sZW5ndGh9KSxfLkNhKGEuWmosYiksXy5DYShhLlpqLGEuQmEpLGEuQ2EuQWEubGVuZ3RoPTAsXy5BYShhLkJhKSxhLkJhLmxlbmd0aD0wO2EuR2EuVlhiKCl9fSxGb2o9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPV8uWW0oYyk7ZC5FcSgpIT1cIlwiPyhiJiZfLlBtKGQsYitcIi5cIitkLkVxKCkpLF8uUW0oZCxkLkNhKSk6KGQ9Xy5iYS5sb2NhdGlvbixkPV8ueUNhKGQucHJvdG9jb2wsYj9iK1wiLlwiK2QuaG9zdG5hbWU6ZC5ob3N0bmFtZSwrZC5wb3J0LGMpKTtiPWEuQmI7Yz1hLkxtO2ImJmMmJl8uVm0oZCxiLGMpO18uVm0oZCxcIlZFUlwiLGEuQ2YpO1dvaihhLGQpO1xucmV0dXJuIGR9LGpvaj1mdW5jdGlvbihhLGIsYyl7aWYoYiYmIWEuU2IpdGhyb3cgRXJyb3IoXCJublwiKTtiPWEuUHYmJiFhLkx6YT9uZXcgXy5BcShuZXcgXy5wbmYoe2NvYzpjfSkpOm5ldyBfLkFxKGEuTHphKTtiLnNldFdpdGhDcmVkZW50aWFscyhhLlNiKTtyZXR1cm4gYn07WFUucHJvdG90eXBlLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLkdhJiZ0aGlzLkdhLmlzQWN0aXZlKHRoaXMpfTt2YXIgY3BqPWZ1bmN0aW9uKCl7fTtfLm09Y3BqLnByb3RvdHlwZTtfLm0uT1BiPWZ1bmN0aW9uKCl7fTtfLm0uWFhiPWZ1bmN0aW9uKCl7fTtfLm0uV1hiPWZ1bmN0aW9uKCl7fTtfLm0uVlhiPWZ1bmN0aW9uKCl7fTtfLm0uaXNBY3RpdmU9ZnVuY3Rpb24oKXtyZXR1cm4hMH07Xy5tLk1aYz1mdW5jdGlvbigpe307dmFyIGRwaj1mdW5jdGlvbigpe30sZnBqPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBlcGooYSxiKX0sZXBqPWZ1bmN0aW9uKGEsYil7Xy5Oay5jYWxsKHRoaXMpO3RoaXMub2E9bmV3IFhVKGIpO3RoaXMuQ2E9YTt0aGlzLk9nPW51bGw7dGhpcy5BYT1iJiZiLnlBZXx8bnVsbDthPWImJmIueEFlfHxudWxsO2ImJmIuR3ZlJiYoYT9hW1wiWC1DbGllbnQtUHJvdG9jb2xcIl09XCJ3ZWJjaGFubmVsXCI6YT17XCJYLUNsaWVudC1Qcm90b2NvbFwiOlwid2ViY2hhbm5lbFwifSk7dGhpcy5vYS5RYT1hO2E9YiYmYi5QcWR8fG51bGw7YiYmYi51ZGMmJihhP2FbXCJYLVdlYkNoYW5uZWwtQ29udGVudC1UeXBlXCJdPWIudWRjOmE9e1wiWC1XZWJDaGFubmVsLUNvbnRlbnQtVHlwZVwiOmIudWRjfSk7YiYmYi5KWWImJihhP2FbXCJYLVdlYkNoYW5uZWwtQ2xpZW50LVByb2ZpbGVcIl09Yi5KWWI6YT17XCJYLVdlYkNoYW5uZWwtQ2xpZW50LVByb2ZpbGVcIjpiLkpZYn0pO3RoaXMub2EudmQ9YTsoYT1iJiZiLkdwZCkmJlxuIV8uQWUoYSkmJih0aGlzLm9hLk9hPWEpO3RoaXMuTGE9YiYmYi5IUmR8fCExO3RoaXMuR2E9YiYmYi5YS2R8fCExOyhiPWImJmIuSHBkKSYmIV8uQWUoYikmJih0aGlzLm9hLkJiPWIsXy5haGEodGhpcy5BYSxiKSYmXy5kaGEodGhpcy5BYSxiKSk7dGhpcy5CYT1uZXcgZ3BqKHRoaXMpfTtfLm1oKGVwaixfLk5rKTtfLm09ZXBqLnByb3RvdHlwZTtfLm0ub3Blbj1mdW5jdGlvbigpe3RoaXMub2EuR2E9dGhpcy5CYTt0aGlzLkxhJiYodGhpcy5vYS5TYj0hMCk7dGhpcy5vYS5jb25uZWN0KHRoaXMuQ2EsdGhpcy5BYXx8dm9pZCAwKX07Xy5tLmNsb3NlPWZ1bmN0aW9uKCl7dGhpcy5vYS5kaXNjb25uZWN0KCl9O18ubS5oYWxmQ2xvc2U9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcihcIndiXCIpO307XG5fLm0uc2VuZD1mdW5jdGlvbihhKXt2YXIgYj10aGlzLm9hO2lmKHR5cGVvZiBhPT09XCJzdHJpbmdcIil7dmFyIGM9e307Yy5fX2RhdGFfXz1hO2E9Y31lbHNlIHRoaXMuR2EmJihjPXt9LGMuX19kYXRhX189KDAsXy55RWEpKGEpLGE9Yyk7Yi5CYS5wdXNoKG5ldyBKb2ooYi5hRisrLGEpKTtiLnpkPT0zJiZJb2ooYil9O18ubS5RYz1mdW5jdGlvbigpe3RoaXMub2EuR2E9bnVsbDtkZWxldGUgdGhpcy5CYTt0aGlzLm9hLmRpc2Nvbm5lY3QoKTtkZWxldGUgdGhpcy5vYTtlcGouT2QuUWMuY2FsbCh0aGlzKX07XG52YXIgaHBqPWZ1bmN0aW9uKGEpe01uai5jYWxsKHRoaXMpO2EuX19oZWFkZXJzX18mJih0aGlzLmhlYWRlcnM9YS5fX2hlYWRlcnNfXyx0aGlzLnN0YXR1c0NvZGU9YS5fX3N0YXR1c19fLGRlbGV0ZSBhLl9faGVhZGVyc19fLGRlbGV0ZSBhLl9fc3RhdHVzX18pO3ZhciBiPWEuX19zbV9fO2lmKGIpe2E6e2Zvcih2YXIgYyBpbiBiKXthPWM7YnJlYWsgYX1hPXZvaWQgMH10aGlzLmRhdGE9KHRoaXMub2E9YSk/Xy5laGEoYix0aGlzLm9hKTpifWVsc2UgdGhpcy5kYXRhPWF9O18ubWgoaHBqLE1uaik7dmFyIGlwaj1mdW5jdGlvbihhKXtObmouY2FsbCh0aGlzKTt0aGlzLnN0YXR1cz0xO3RoaXMuZXJyb3JDb2RlPWF9O18ubWgoaXBqLE5uaik7dmFyIGdwaj1mdW5jdGlvbihhKXt0aGlzLm9hPWF9O18ubWgoZ3BqLGNwaik7Z3BqLnByb3RvdHlwZS5PUGI9ZnVuY3Rpb24oKXt0aGlzLm9hLmRpc3BhdGNoRXZlbnQoXCJUXCIpfTtncGoucHJvdG90eXBlLlhYYj1mdW5jdGlvbihhKXt0aGlzLm9hLmRpc3BhdGNoRXZlbnQobmV3IGhwaihhKSl9O1xuZ3BqLnByb3RvdHlwZS5XWGI9ZnVuY3Rpb24oYSl7dGhpcy5vYS5kaXNwYXRjaEV2ZW50KG5ldyBpcGooYSkpfTtncGoucHJvdG90eXBlLlZYYj1mdW5jdGlvbigpe3RoaXMub2EuZGlzcGF0Y2hFdmVudChcIlVcIil9O3ZhciBqcGo9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuYXBpS2V5PWE7dGhpcy5lbmRwb2ludD1iO3RoaXMuUWE9Yz09PXZvaWQgMD8uNTpjO3RoaXMuc3RyZWFtPW51bGw7dGhpcy5zdGF0ZT0wO3RoaXMuQmE9ITE7dGhpcy5sYW5ndWFnZUNvZGU9XCJlbi11c1wiO3RoaXMubGlzdGVuaW5nSGFuZGxlcj1mdW5jdGlvbigpe307dGhpcy5hdWRpb0RldGVjdGVkSGFuZGxlcj1mdW5jdGlvbigpe307dGhpcy5jb21wbGV0ZUhhbmRsZXI9ZnVuY3Rpb24oKXt9O3RoaXMuZXJyb3JIYW5kbGVyPWZ1bmN0aW9uKCl7fTt0aGlzLnN0b3BIYW5kbGVyPWZ1bmN0aW9uKCl7fTt0aGlzLnRyYW5zY3JpcHRpb25VcGRhdGVIYW5kbGVyPWZ1bmN0aW9uKCl7fTt0aGlzLkNhPW51bGw7dGhpcy5MYT0hMTt0aGlzLklCPV8uU2QoKTtuZXcgZHBqfTtfLm09anBqLnByb3RvdHlwZTtcbl8ubS5zdGFydD1mdW5jdGlvbihhKXt0aGlzLnN0YXRlPT09MCYmKHRoaXMuT2EoKT8odGhpcy5zdGF0ZT0xLHRoaXMuTGE9ITEsdGhpcy5sYW5ndWFnZUNvZGU9YS5sYW5ndWFnZUNvZGV8fFwiZW4tVVNcIix0aGlzLmxpc3RlbmluZ0hhbmRsZXI9YS5saXN0ZW5pbmdIYW5kbGVyfHx0aGlzLmxpc3RlbmluZ0hhbmRsZXIsdGhpcy5hdWRpb0RldGVjdGVkSGFuZGxlcj1hLmF1ZGlvRGV0ZWN0ZWRIYW5kbGVyfHx0aGlzLmF1ZGlvRGV0ZWN0ZWRIYW5kbGVyLHRoaXMuc3RvcEhhbmRsZXI9YS5zdG9wSGFuZGxlcnx8dGhpcy5zdG9wSGFuZGxlcix0aGlzLmNvbXBsZXRlSGFuZGxlcj1hLmNvbXBsZXRlSGFuZGxlcnx8dGhpcy5jb21wbGV0ZUhhbmRsZXIsdGhpcy5lcnJvckhhbmRsZXI9YS5lcnJvckhhbmRsZXJ8fHRoaXMuZXJyb3JIYW5kbGVyLHRoaXMudHJhbnNjcmlwdGlvblVwZGF0ZUhhbmRsZXI9YS50cmFuc2NyaXB0aW9uVXBkYXRlSGFuZGxlcnx8dGhpcy50cmFuc2NyaXB0aW9uVXBkYXRlSGFuZGxlcixcbmtwaih0aGlzKSx0aGlzLnFJYigpLGxwaih0aGlzKSk6dGhpcy5lcnJvckhhbmRsZXIoXCJPRkZMSU5FXCIpKX07Xy5tLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLnN0YXRlIT09MCYmKG1waih0aGlzKSx0aGlzLmVycm9ySGFuZGxlcihcIkFCT1JURURcIikpfTtfLm0uZ2V0U3RhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zdGF0ZX07Xy5tLnhJYj1mdW5jdGlvbigpe307Xy5tLnFJYj1mdW5jdGlvbigpe3JldHVybiBfLmdlKG51bGwpfTtcbnZhciBucGo9ZnVuY3Rpb24oYSxiKXthLkJhJiYoYS5zdGF0ZSE9PTImJihhLnN0YXRlPTIsYS5saXN0ZW5pbmdIYW5kbGVyKCkpLGI9bmV3IFVpbnQ4QXJyYXkoYiksYj0neyBcImF1ZGlvSW5cIjogXCInK18uSmEoYikrJ1wiIH0nLGEuY2hhbm5lbC5zZW5kKGIpKX0sbXBqPWZ1bmN0aW9uKGEpe29waihhKTthLnhJYigpO2EuY2hhbm5lbCYmKGEuQmE9ITEsYS5jaGFubmVsLmNsb3NlKCksYS5jaGFubmVsPXZvaWQgMCk7YS5zdGF0ZT0wO2Euc3RvcEhhbmRsZXIoKX0sa3BqPWZ1bmN0aW9uKGEpe2EuY2hhbm5lbD1mcGooYS5lbmRwb2ludCx7R3BkOlwiJGh0dHBIZWFkZXJzXCIsSHBkOlwiZ3Nlc3Npb25pZFwiLFhLZDohMCxQcWQ6e1wieC1nb29nLWFwaS1rZXlcIjphLmFwaUtleX19KTthLmNoYW5uZWwub3BlbigpO18uWGQoYS5jaGFubmVsLFwiVFwiLGZ1bmN0aW9uKCl7YS5jaGFubmVsLnNlbmQoe2NvbmZpZzp7ZGlhbG9nU3RhdGVJbjp7bGFuZ3VhZ2VDb2RlOmEubGFuZ3VhZ2VDb2RlfSxkZXZpY2VDb25maWc6e2RldmljZUlkOlwiZXhhbXBsZVwiLFxuZGV2aWNlTW9kZWxJZDpcImV4YW1wbGVcIn0sYXVkaW9JbkNvbmZpZzp7ZW5jb2Rpbmc6XCJMSU5FQVIxNlwiLHNhbXBsZVJhdGVIZXJ0ejoxNkUzfSxhdWRpb091dENvbmZpZzp7ZW5jb2Rpbmc6XCJNUDNcIixzYW1wbGVSYXRlSGVydHo6MjIwNTAsdm9sdW1lUGVyY2VudGFnZTowfSxyZXF1ZXN0VHlwZTo0fX0pO2EuQmE9ITB9KTtfLlhkKGEuY2hhbm5lbCxcIlVcIixmdW5jdGlvbigpe2EuQmE9ITE7YS5jaGFubmVsPXZvaWQgMDttcGooYSl9KTtfLlhkKGEuY2hhbm5lbCxcIldcIixmdW5jdGlvbihiKXtpZihiLmRhdGEpe29waihhKTtmb3IodmFyIGM9MDtjPGIuZGF0YS5sZW5ndGg7YysrKXt2YXIgZD1hLGU9Yi5kYXRhW2NdLGY9ZS5zcGVlY2hSZXN1bHRzO2lmKGYpYTp7dmFyIGc9W107ZT1bXTt2YXIgaD0hMTtmPV8uUGEoZik7Zm9yKHZhciBrPWYubmV4dCgpOyFrLmRvbmU7az1mLm5leHQoKSl7az1rLnZhbHVlO2lmKGsubm9TcGVlY2gpe21waihkKTtkLmVycm9ySGFuZGxlcihcIk5PX1NQRUVDSFwiKTtcbmJyZWFrIGF9ay50cmFuc2NyaXB0IT09dm9pZCAwJiZrLnN0YWJpbGl0eSE9PXZvaWQgMCYmKGsuc3RhYmlsaXR5PGQuUWEmJihoPSEwKSxoP2UucHVzaChrLnRyYW5zY3JpcHQpOmcucHVzaChrLnRyYW5zY3JpcHQpKX1pZihnLmxlbmd0aCE9PTB8fGUubGVuZ3RoIT09MClnPWcuam9pbihcIiBcIiksZT1lLmpvaW4oXCIgXCIpLGQuTGE/ZC5jb21wbGV0ZUhhbmRsZXIoZyxlKTpkLnRyYW5zY3JpcHRpb25VcGRhdGVIYW5kbGVyKGcsZSl9ZWxzZSBlLmV2ZW50VHlwZT09PVwiRU5EX09GX1VUVEVSQU5DRVwiP2QuTGE9ITA6KGQuZXJyb3JIYW5kbGVyKFwiVU5FWFBFQ1RFRF9BU1NJU1RBTlRfUkVTUE9OU0VcIiksZC5WeihcIlVORVhQRUNURURfQVNTSVNUQU5UX1JFU1BPTlNFXCIpKX19fSk7Xy5YZChhLmNoYW5uZWwsXCJWXCIsZnVuY3Rpb24oYil7bXBqKGEpO3N3aXRjaChiLnN0YXR1cyl7Y2FzZSAxOmI9XCJXRUJDSEFOTkVMX05FVFdPUktfRVJST1JcIjticmVhaztjYXNlIDI6Yj1cIldFQkNIQU5ORUxfU0VSVkVSX0VSUk9SXCI7XG5icmVhaztkZWZhdWx0OmI9XCJXRUJDSEFOTkVMX1VOS05PV05fRVJST1JcIn1hLmVycm9ySGFuZGxlcihiKTthLlZ6KGIpfSl9O2pwai5wcm90b3R5cGUuVno9ZnVuY3Rpb24oYSxiKXt0aGlzLklCLk1jKFwic3BjaC1yZWNvZ1wiLGErKGI9PT12b2lkIDA/XCJcIjpiKSk7dGhpcy5JQi5sb2coKX07anBqLnByb3RvdHlwZS5PYT1mdW5jdGlvbigpe3JldHVybiEwfTt2YXIgbHBqPWZ1bmN0aW9uKGEpe29waihhKTthLkNhPSgwLF8ucW4pKGZ1bmN0aW9uKCl7bXBqKGEpO2EuZXJyb3JIYW5kbGVyKFwiTk9fU1BFRUNIXCIpfSwxMUUzKX0sb3BqPWZ1bmN0aW9uKGEpe2EuQ2EhPT1udWxsJiYoKDAsXy5zbikoYS5DYSksYS5DYT1udWxsKX07dmFyIFptaj1mdW5jdGlvbigpe2pwai5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dGhpcy5vYT10aGlzLkFhPW51bGw7dGhpcy5HYT0hMX07Xy5EKFptaixqcGopO1xuWm1qLnByb3RvdHlwZS5xSWI9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO2lmKCFuYXZpZ2F0b3J8fCFuYXZpZ2F0b3IubWVkaWFEZXZpY2VzfHwhbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEpcmV0dXJuIF8uVWwoRXJyb3IoXCJwblwiKSk7dGhpcy5vYT1uZXcgKHdpbmRvdy5BdWRpb0NvbnRleHR8fHdpbmRvdy53ZWJraXRBdWRpb0NvbnRleHQpKHtsYXRlbmN5SGludDpcImludGVyYWN0aXZlXCJ9KTt0aGlzLkFhPXRoaXMub2EuY3JlYXRlU2NyaXB0UHJvY2Vzc29yKDEwMjQsMSwxKTt0aGlzLkFhLm9uYXVkaW9wcm9jZXNzPWZ1bmN0aW9uKGQpe3BwaihhLGQpfTt0aGlzLkFhLmNvbm5lY3QodGhpcy5vYS5kZXN0aW5hdGlvbik7dmFyIGI9ZnVuY3Rpb24oZCl7YS5zdHJlYW09ZDtpZighYS5vYSlyZXR1cm4gXy5nZSgpO2Q9YS5vYS5jcmVhdGVNZWRpYVN0cmVhbVNvdXJjZShkKTthLkFhJiZkLmNvbm5lY3QoYS5BYSk7cmV0dXJuIF8uZ2UoKX0sYz17YXVkaW86e3NhbXBsZVNpemU6MTYsXG5jaGFubmVsQ291bnQ6MX0sdmlkZW86ITF9O3RoaXMuc3RyZWFtP2IodGhpcy5zdHJlYW0pOm5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKGMpLnRoZW4oYikuY2F0Y2goZnVuY3Rpb24oZCl7bXBqKGEpO2QubmFtZSYmZC5uYW1lPT09XCJOb3RBbGxvd2VkRXJyb3JcIj9hLmVycm9ySGFuZGxlcihcIk5PX01JQ1JPUEhPTkVfUEVSTUlTU0lPTlwiKTooYS5lcnJvckhhbmRsZXIoXCJBVURJT19FUlJPUlwiKSxhLlZ6KFwiQVVESU9fRVJST1JcIixkLm1lc3NhZ2UpKX0pO3JldHVybiBqcGoucHJvdG90eXBlLnFJYi5jYWxsKHRoaXMpfTtcblptai5wcm90b3R5cGUueEliPWZ1bmN0aW9uKCl7dGhpcy5vYSYmKHRoaXMub2Euc3RhdGU9PT1cInJ1bm5pbmdcIiYmdGhpcy5BYSYmKHRoaXMuQWEub25hdWRpb3Byb2Nlc3M9ZnVuY3Rpb24oKXt9KSx0aGlzLm9hLmNsb3NlKCksdGhpcy5vYT1udWxsLHRoaXMuc3RyZWFtJiYodGhpcy5zdHJlYW0uZ2V0QXVkaW9UcmFja3MoKS5mb3JFYWNoKGZ1bmN0aW9uKGEpe2Euc3RvcCgpfSksdGhpcy5zdHJlYW09bnVsbCkpO3RoaXMuQWE9bnVsbDt0aGlzLkdhPSExO2pwai5wcm90b3R5cGUueEliLmNhbGwodGhpcyl9O1ptai5wcm90b3R5cGUuT2E9ZnVuY3Rpb24oKXtyZXR1cm4gbmF2aWdhdG9yLm9uTGluZX07XG52YXIgcHBqPWZ1bmN0aW9uKGEsYil7aWYoYS5vYSlpZih3aW5kb3cuT2ZmbGluZUF1ZGlvQ29udGV4dCl7dmFyIGM9YS5vYS5zYW1wbGVSYXRlLGQ9Yi5pbnB1dEJ1ZmZlci5nZXRDaGFubmVsRGF0YSgwKTtiPW5ldyB3aW5kb3cuT2ZmbGluZUF1ZGlvQ29udGV4dCgxLGQubGVuZ3RoLDE2RTMpO2Zvcih2YXIgZT1iLmNyZWF0ZUJ1ZmZlcigxLGQubGVuZ3RoLGMpLGY9ZS5nZXRDaGFubmVsRGF0YSgwKSxnPTAsaD0wO2g8ZC5sZW5ndGg7aCsrKWZbaF09ZFtoXSxnKz1mW2hdKmZbaF07IWEuR2EmJk1hdGguc3FydChnL2QubGVuZ3RoKT4uMDEmJihhLkdhPSEwLGEuYXVkaW9EZXRlY3RlZEhhbmRsZXIoKSk7ZD1iLmNyZWF0ZUJ1ZmZlclNvdXJjZSgpO2QuYnVmZmVyPWU7ZC5jb25uZWN0KGIuZGVzdGluYXRpb24pO2Quc3RhcnQoMCk7Yi5vbmNvbXBsZXRlPWZ1bmN0aW9uKGspe2s9ay5yZW5kZXJlZEJ1ZmZlci5nZXRDaGFubmVsRGF0YSgwKTtmb3IodmFyIGw9TWF0aC5mbG9vcigxNjM4NEUzL1xuYyksbj1uZXcgSW50MTZBcnJheShsKSxyPTA7cjxsOysrciluW3JdPU1hdGgubWF4KC0xLE1hdGgubWluKDEsa1tyXSkpKjMyNzY3O25waihhLG4uYnVmZmVyKX07Yi5zdGFydFJlbmRlcmluZygpfWVsc2UgcXBqKGEsYil9LHFwaj1mdW5jdGlvbihhLGIpe3ZhciBjPWEub2Euc2FtcGxlUmF0ZSxkPWIuaW5wdXRCdWZmZXIuZ2V0Q2hhbm5lbERhdGEoMCksZT1NYXRoLmZsb29yKChjKzhFMykvMTZFMyk7Yz1kLmxlbmd0aC9lO2I9bmV3IEZsb2F0MzJBcnJheShjKTtmb3IodmFyIGY9MDtmPGM7KytmKWJbZl09ZFtmKmVdO2Q9bmV3IEludDE2QXJyYXkoYyk7Zm9yKGU9MDtlPGM7KytlKWRbZV09TWF0aC5tYXgoLTEsTWF0aC5taW4oMSxiW2VdKSkqMzI3Njc7bnBqKGEsZC5idWZmZXIpfTt2YXIgdHBqPWZ1bmN0aW9uKGEpe3JwaihhKTtyZXR1cm4gc3BqKGEpfSx1cGo9ZnVuY3Rpb24oYSl7cnBqKGEpO3ZhciBiPVwiPHN0eWxlXCIrXy5ZKFwiXCIpK18uWihcIlwiKStfLlgoXCJcIikrXCI+XCI7YT1zcGooYSk7cmV0dXJuIF8udyhiKyhhK1wiPC9zdHlsZT5cIikpfSxzcGo9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5mdihfLmNnKCkuSmIpLGM9Xy5WKGIsXCJcIixmdW5jdGlvbihmKXtyZXR1cm4gXy5BKGYsNTApfSksZD1fLlYoYixcIlwiLGZ1bmN0aW9uKGYpe3JldHVybiBfLkEoZiw0OCl9KSxlPV8uVihiLFwiXCIsZnVuY3Rpb24oZil7cmV0dXJuIF8uQShmLDUxKX0pO2I9Xy5WKGIsXCJcIixmdW5jdGlvbihmKXtyZXR1cm4gXy5BKGYsNDkpfSk7YS5QYShcIi5PMW4wTGN7d2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4O3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjtiYWNrZ3JvdW5kLXNpemU6MTc1JTtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7b3ZlcmZsb3c6dmlzaWJsZX1cIik7XG5hLlBhKFwiLmRxalNHZHtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMHB4O2hlaWdodDoxMHB4O21hcmdpbjo2cHg7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gMC4zcyBlYXNlIDBzLGhlaWdodCAwLjJzIGVhc2UgMHM7b3ZlcmZsb3c6dmlzaWJsZX1cIik7YS5QYShcIi5kcWpTR2QgLlRxanYzYntwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvcmRlci1yYWRpdXM6MTBweDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAwLjNzIGVhc2UgMHM7b3ZlcmZsb3c6aGlkZGVufVwiKTthLlBhKFwiLm1CaW1UY3t0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTMwMCUsMHB4LDBweCl9XCIpO2EuUGEoXCIubUJpbVRjIC5UcWp2M2J7YmFja2dyb3VuZC1jb2xvcjpcIitjK1wifVwiKTthLlBhKFwiLmc0SWJve3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwcHgsMHB4KX1cIik7YS5QYShcIi5nNElibyAuVHFqdjNie2JhY2tncm91bmQtY29sb3I6XCIrZCtcIn1cIik7YS5QYShcIi5HdTZLQWZ7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMHB4LDBweCl9XCIpO1xuYS5QYShcIi5HdTZLQWYgLlRxanYzYntiYWNrZ3JvdW5kLWNvbG9yOlwiK2UrXCJ9XCIpO2EuUGEoXCIuSEdESmlle3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgzMDAlLDBweCwwcHgpfVwiKTthLlBhKFwiLkhHREppZSAuVHFqdjNie2JhY2tncm91bmQtY29sb3I6XCIrYitcIn1cIik7YS5QYShcIkBrZXlmcmFtZXMgV2F2ZUZsb2F0IHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfTUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC03MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC03MCUpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19XCIpO2EuUGEoXCIuczJtbCAubUJpbVRjIC5UcWp2M2J7YW5pbWF0aW9uOjJzIGN1YmljLWJlemllcigwLjMzMzMsMCwwLjY2NjcsMSkgMHMgaW5maW5pdGUgbm9ybWFsIG5vbmUgcnVubmluZyBXYXZlRmxvYXR9XCIpO2EuUGEoXCIuczJtbCAuZzRJYm8gLlRxanYzYnthbmltYXRpb246MnMgY3ViaWMtYmV6aWVyKDAuMzMzMywwLDAuNjY2NywxKSAwLjJzIGluZmluaXRlIG5vcm1hbCBub25lIHJ1bm5pbmcgV2F2ZUZsb2F0fVwiKTtcbmEuUGEoXCIuczJtbCAuR3U2S0FmIC5UcWp2M2J7YW5pbWF0aW9uOjJzIGN1YmljLWJlemllcigwLjMzMzMsMCwwLjY2NjcsMSkgMC40cyBpbmZpbml0ZSBub3JtYWwgbm9uZSBydW5uaW5nIFdhdmVGbG9hdH1cIik7YS5QYShcIi5zMm1sIC5IR0RKaWUgLlRxanYzYnthbmltYXRpb246MnMgY3ViaWMtYmV6aWVyKDAuMzMzMywwLDAuNjY2NywxKSAwLjZzIGluZmluaXRlIG5vcm1hbCBub25lIHJ1bm5pbmcgV2F2ZUZsb2F0fVwiKTthLlBhKFwiQGtleWZyYW1lcyBMb25nVGhpbmtpbmdOZXcgezAle2hlaWdodDoyMCV9MTIle2hlaWdodDo0MSV9MTkle2hlaWdodDoyMyV9MjYle2hlaWdodDo0NiV9MzQle2hlaWdodDozNCV9Mzgle2hlaWdodDo1NCV9NDIle2hlaWdodDozOCV9NDMle2hlaWdodDo0MSV9NDUle2hlaWdodDoyNCV9NDkle2hlaWdodDo1MiV9NjAle2hlaWdodDoyNSV9NjQle2hlaWdodDoyNyV9NzMle2hlaWdodDozMCV9Nzgle2hlaWdodDo1MiV9ODEle2hlaWdodDozNSV9ODUle2hlaWdodDoyMyV9OTMle2hlaWdodDo1MCV9MTAwJXtoZWlnaHQ6MjclfX1cIik7XG5hLlBhKFwiQGtleWZyYW1lcyBTaG9ydFRoaW5raW5nTmV3IHswJXtoZWlnaHQ6MjAlfTE1JXtoZWlnaHQ6MjQlfTE5JXtoZWlnaHQ6MTMlfTI2JXtoZWlnaHQ6MzklfTMyJXtoZWlnaHQ6MTYlfTM5JXtoZWlnaHQ6MjIlfTQxJXtoZWlnaHQ6MTUlfTQ1JXtoZWlnaHQ6MjclfTUxJXtoZWlnaHQ6MTUlfTU3JXtoZWlnaHQ6MjglfTYxJXtoZWlnaHQ6MjIlfTY3JXtoZWlnaHQ6MzQlfTcyJXtoZWlnaHQ6MjMlfTc3JXtoZWlnaHQ6MTglfTg1JXtoZWlnaHQ6MTclfTkxJXtoZWlnaHQ6MjMlfTk0JXtoZWlnaHQ6OSV9OTYle2hlaWdodDoxNiV9MTAwJXtoZWlnaHQ6MjclfX1cIik7YS5QYShcIi5zMnJhIC5tQmltVGN7YW5pbWF0aW9uOjMuMnMgZWFzZSAwcyBpbmZpbml0ZSBub3JtYWwgbm9uZSBydW5uaW5nIExvbmdUaGlua2luZ05ldztoZWlnaHQ6NDAlfVwiKTthLlBhKFwiLnMycmEgLmc0SWJve2FuaW1hdGlvbjoyLjhzIGVhc2UgMHMgaW5maW5pdGUgbm9ybWFsIG5vbmUgcnVubmluZyBTaG9ydFRoaW5raW5nTmV3O2hlaWdodDoyNSV9XCIpO1xuYS5QYShcIi5zMnJhIC5HdTZLQWZ7YW5pbWF0aW9uOjNzIGVhc2UgMHMgaW5maW5pdGUgbm9ybWFsIG5vbmUgcnVubmluZyBMb25nVGhpbmtpbmdOZXc7aGVpZ2h0OjQwJX1cIik7YS5QYShcIi5zMnJhIC5IR0RKaWV7YW5pbWF0aW9uOjMuNnMgZWFzZSAwcyBpbmZpbml0ZSBub3JtYWwgbm9uZSBydW5uaW5nIFNob3J0VGhpbmtpbmdOZXc7aGVpZ2h0OjI1JX1cIik7cmV0dXJuXCJcIn0scnBqPWZ1bmN0aW9uKGEpe2Eub2EodnBqKXx8YS5KYSh2cGose30sdHBqLHVwail9LHZwaj1cInQtZkdGNVlGY1NqZUlcIjt2YXIgd3BqPWZ1bmN0aW9uKCl7cmV0dXJuXCJcIn0seHBqPWZ1bmN0aW9uKCl7cmV0dXJuXCJcIn0seXBqPWZ1bmN0aW9uKCl7cmV0dXJuXCJcIn0senBqPWZ1bmN0aW9uKCl7cmV0dXJuITB9LEFwaj1mdW5jdGlvbigpe3JldHVybiExfSxEcGo9ZnVuY3Rpb24oYSxiKXtCcGooYSk7cmV0dXJuIENwaihhLGIuVlliKX0sRXBqPWZ1bmN0aW9uKGEsYil7QnBqKGEpO3ZhciBjPWIuVlliO2I9XCI8ZGl2XCIrXy5ZKFwiXCIpK18uWihcIlwiKStfLlgoXCJcIikrXCI+XCI7YT1DcGooYSxjKTtyZXR1cm4gXy53KGIrKGErXCI8L2Rpdj5cIikpfSxDcGo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iIT1cIlwiO3JldHVybiBzcGooYSkrXCI8ZGl2XCIrXy5ZKFwiTzFuMExjIFwiKStfLlooXCJcIikrXy5YKFwiXCIpK1wiPjxkaXZcIitfLlkoXCJkcWpTR2QgbUJpbVRjIFwiKStfLlooXCJcIikrXy5YKFwiXCIpK1wiPjxkaXZcIitfLlkoXCJUcWp2M2IgXCIpK18uWihjP1wiYmFja2dyb3VuZC1jb2xvcjpcIitfLlQoXy5GdihhLmlzUnRsKCk/Xy5DdihcImJhY2tncm91bmQtY29sb3JcIixcbmIpOmIpKStcIjtcIjpcIlwiKStfLlgoXCJcIikrXCI+PC9kaXY+PC9kaXY+PGRpdlwiK18uWShcImRxalNHZCBnNElibyBcIikrXy5aKFwiXCIpK18uWChcIlwiKStcIj48ZGl2XCIrXy5ZKFwiVHFqdjNiIFwiKStfLlooYz9cImJhY2tncm91bmQtY29sb3I6XCIrXy5UKF8uRnYoYS5pc1J0bCgpP18uQ3YoXCJiYWNrZ3JvdW5kLWNvbG9yXCIsYik6YikpK1wiO1wiOlwiXCIpK18uWChcIlwiKStcIj48L2Rpdj48L2Rpdj48ZGl2XCIrXy5ZKFwiZHFqU0dkIEd1NktBZiBcIikrXy5aKFwiXCIpK18uWChcIlwiKStcIj48ZGl2XCIrXy5ZKFwiVHFqdjNiIFwiKStfLlooYz9cImJhY2tncm91bmQtY29sb3I6XCIrXy5UKF8uRnYoYS5pc1J0bCgpP18uQ3YoXCJiYWNrZ3JvdW5kLWNvbG9yXCIsYik6YikpK1wiO1wiOlwiXCIpK18uWChcIlwiKStcIj48L2Rpdj48L2Rpdj48ZGl2XCIrXy5ZKFwiZHFqU0dkIEhHREppZSBcIikrXy5aKFwiXCIpK18uWChcIlwiKStcIj48ZGl2XCIrXy5ZKFwiVHFqdjNiIFwiKStfLlooYz9cImJhY2tncm91bmQtY29sb3I6XCIrXy5UKF8uRnYoYS5pc1J0bCgpP18uQ3YoXCJiYWNrZ3JvdW5kLWNvbG9yXCIsXG5iKTpiKSkrXCI7XCI6XCJcIikrXy5YKFwiXCIpK1wiPjwvZGl2PjwvZGl2PjwvZGl2PlwifSxCcGo9ZnVuY3Rpb24oYSl7YS5vYShGcGopfHwoYS5KYShGcGose1ZZYjowfSxEcGosRXBqLHpwaixBcGosXCJcIix3cGosXCJcIix4cGosXCJcIix5cGopLHJwaihhKSl9LEZwaj1cInQtSkxRanRZVVNKa1lcIjt2YXIgR3BqPWZ1bmN0aW9uKCl7cmV0dXJuXCJcIn0sSHBqPWZ1bmN0aW9uKCl7cmV0dXJuXCJcIn0sSXBqPWZ1bmN0aW9uKCl7cmV0dXJuXCJcIn0sSnBqPWZ1bmN0aW9uKCl7cmV0dXJuITB9LEtwaj1mdW5jdGlvbigpe3JldHVybiExfSxOcGo9ZnVuY3Rpb24oYSl7THBqKGEpO3JldHVybiBNcGooYSl9LE9waj1mdW5jdGlvbihhKXtMcGooYSk7dmFyIGI9XCI8c3R5bGVcIitfLlkoXCJcIikrXy5aKFwiXCIpK18uWChcIlwiKStcIj5cIjthPU1waihhKTtyZXR1cm4gXy53KGIrKGErXCI8L3N0eWxlPlwiKSl9LE1waj1mdW5jdGlvbihhKXt2YXIgYj1fLmZ2KF8uY2coKS5rZik7Yj1fLlYoYixcIlwiLGZ1bmN0aW9uKGMpe3JldHVybiBfLkdlKGMsMjUwKX0pO2EuUGEoXCIucGVybWlzc2lvbi1iYXJ7bWFyZ2luLXRvcDotMTAwcHg7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6NTAwcHg7dHJhbnNpdGlvbjpvcGFjaXR5IDAuMjE4cyBlYXNlLWluLG1hcmdpbi10b3AgLjRzIGVhc2UtaW59XCIpO1xuYS5QYShcIi5zMndmcCAucGVybWlzc2lvbi1iYXJ7bWFyZ2luLXRvcDotMzAwcHg7b3BhY2l0eToxO3RyYW5zaXRpb246b3BhY2l0eSAuNXMgZWFzZS1vdXQgMC4yMThzLG1hcmdpbi10b3AgMC4yMThzIGVhc2Utb3V0IDAuMjE4c31cIik7YS5QYShcIi5wZXJtaXNzaW9uLWJhci1ncmFkaWVudHtib3gtc2hhZG93OjAgMXB4IDBweCBcIisoYitcIjtoZWlnaHQ6ODBweDtsZWZ0OjA7bWFyZ2luOjA7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246Zml4ZWQ7cmlnaHQ6MDt0b3A6LTgwcHg7dHJhbnNpdGlvbjpvcGFjaXR5IDAuMjE4cyxib3gtc2hhZG93IDAuMjE4c31cIikpO2EuUGEoXCIuczJ3ZnAgLnBlcm1pc3Npb24tYmFyLWdyYWRpZW50e2JveC1zaGFkb3c6MCAxcHggODBweCBcIitiK1wiO29wYWNpdHk6MTtwb2ludGVyLWV2ZW50czpub25lO1wiK18uV3YoXCJhbmltYXRpb25cIiwxKStcIjphbGxvdy1hbGVydCAuNzVzIDAgaW5maW5pdGU7XCIrXy5XdihcImFuaW1hdGlvbi1kaXJlY3Rpb25cIixcbjEpK1wiOmFsdGVybmF0ZTtcIitfLld2KFwiYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvblwiLDEpK1wiOmVhc2Utb3V0O3RyYW5zaXRpb246b3BhY2l0eSAwLjIxOHMsYm94LXNoYWRvdyAwLjIxOHN9XCIpO2EuUGEoXCJALXdlYmtpdC1rZXlmcmFtZXMgYWxsb3ctYWxlcnQge2Zyb217b3BhY2l0eToxfXRve29wYWNpdHk6LjM1fX1cIik7cmV0dXJuXCJcIn0sTHBqPWZ1bmN0aW9uKGEpe2Eub2EoUHBqKXx8YS5KYShQcGose30sTnBqLE9waixKcGosS3BqLFwiXCIsR3BqLFwiXCIsSHBqLFwiXCIsSXBqKX0sUHBqPVwidC1fd1NPdExLZUtrQVwiO3ZhciBRcGo9ZnVuY3Rpb24oKXtyZXR1cm5cIlwifSxScGo9ZnVuY3Rpb24oKXtyZXR1cm5cIlwifSxTcGo9ZnVuY3Rpb24oKXtyZXR1cm5cIlwifSxUcGo9ZnVuY3Rpb24oKXtyZXR1cm4hMH0sVXBqPWZ1bmN0aW9uKCl7cmV0dXJuITF9LFhwaj1mdW5jdGlvbihhKXtWcGooYSk7cmV0dXJuIFdwaihhKX0sWXBqPWZ1bmN0aW9uKGEpe1ZwaihhKTt2YXIgYj1cIjxkaXZcIitfLlkoXCJwZXJtaXNzaW9uLWJhciBcIikrXy5aKFwiXCIpK18uWChcIlwiKStcIj5cIjthPVdwaihhKTtyZXR1cm4gXy53KGIrKGErXCI8L2Rpdj5cIikpfSxXcGo9ZnVuY3Rpb24oYSl7cmV0dXJuKF8uUyhcIktCeGRvXCIpfHxfLlMoXCJkWVg3UGJcIik/XCJcIjpNcGooYSkpK1wiPGRpdlwiK18uWShcInBlcm1pc3Npb24tYmFyLWdyYWRpZW50IFwiKStfLlooXCJcIikrXy5YKFwiXCIpK1wiPjwvZGl2PlwifSxWcGo9ZnVuY3Rpb24oYSl7YS5vYShacGopfHwoYS5KYShacGose30sWHBqLFlwaixUcGosVXBqLFwiXCIsUXBqLFwicGVybWlzc2lvbi1iYXIgXCIsUnBqLFwiXCIsU3BqKSxcbkxwaihhKSl9LFpwaj1cInQteTRESjc4eG1NV3NcIjt2YXIgJHBqPWZ1bmN0aW9uKCl7cmV0dXJuXCJcIn0sYXFqPWZ1bmN0aW9uKCl7cmV0dXJuXCJcIn0sYnFqPWZ1bmN0aW9uKCl7cmV0dXJuXCJcIn0sY3FqPWZ1bmN0aW9uKCl7cmV0dXJuITB9LGRxaj1mdW5jdGlvbigpe3JldHVybiExfSxncWo9ZnVuY3Rpb24oYSl7ZXFqKGEpO3JldHVybiBmcWooKX0saHFqPWZ1bmN0aW9uKGEpe2VxaihhKTtyZXR1cm4gXy53KGZxaigpKX0sZnFqPWZ1bmN0aW9uKCl7cmV0dXJuXCJjbG9zZVwifSxlcWo9ZnVuY3Rpb24oYSl7YS5vYShpcWopfHxhLkphKGlxaix7fSxncWosaHFqLGNxaixkcWosXCJcIiwkcGosXCJcIixhcWosXCJcIixicWopfSxpcWo9XCJ0LTJVQlJCVXRWMzhnXCI7dmFyIGxxaj1mdW5jdGlvbihhKXtqcWooYSk7cmV0dXJuIGtxaihhKX0sbXFqPWZ1bmN0aW9uKGEpe2pxaihhKTt2YXIgYj1cIjxzdHlsZVwiK18uWShcIlwiKStfLlooXCJcIikrXy5YKFwiXCIpK1wiPlwiO2E9a3FqKGEpO3JldHVybiBfLncoYisoYStcIjwvc3R5bGU+XCIpKX0sa3FqPWZ1bmN0aW9uKGEpe3ZhciBiPV8uZnYoXy5jZygpLkpiKSxjPV8uZnYoXy5jZygpLmtmKTthLlBhKFwiLnNwY2h7YmFja2dyb3VuZDpcIitfLlYoYixcIlwiLGZ1bmN0aW9uKGQpe3JldHVybiBfLm12KGQpfSkrXCI7aGVpZ2h0OjA7dG9wOmluaXRpYWw7Ym90dG9tOjB9XCIpO2EuUGEoXCIuczJmcC5zcGNoe3Zpc2liaWxpdHk6aW5oZXJpdDtoZWlnaHQ6MzAlO3RyYW5zaXRpb246aGVpZ2h0IDAuMXMgbGluZWFyIDBzfVwiKTthLlBhKFwiQG1lZGlhIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5zMmZwLnNwY2h7aGVpZ2h0OjcwJX19XCIpO2EuUGEoXCIuc3BjaGN7YmFja2dyb3VuZDpcIitfLlYoYixcIlwiLGZ1bmN0aW9uKGQpe3JldHVybiBkLktjKCl9KStcblwiO2JvcmRlci1yYWRpdXM6MzBweCAzMHB4IDAgMDtoZWlnaHQ6MTAwJTtib3gtc2hhZG93OjAgNHB4IDEycHggXCIrXy5WKGMsXCJcIixmdW5jdGlvbihkKXtyZXR1cm4gXy5HZShkLDM0KX0pK1wiO292ZXJmbG93OmhpZGRlbn1cIik7YS5QYShcIi5pbm5lci1jb250YWluZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OmNlbnRlcn1cIik7YS5QYShcIi5wejViantcIisoKEduaj9cImJhY2tncm91bmQ6XCIrXy5LdihcIlcxYmp3YlwiKStcIjtjb2xvcjpcIitfLkt2KFwiRnpMUGNjXCIpK1wiO1wiOlwiXCIpKyhHbmo/XCJcIjpcImJhY2tncm91bmQ6XCIrXy5WKGIsXCJcIixmdW5jdGlvbihkKXtyZXR1cm4gXy5BKGQsMTUpfSkrXCI7Y29sb3I6XCIrXy5WKGIsXCJcIixmdW5jdGlvbihkKXtyZXR1cm4gZC5QZCgpfSkrXCI7XCIpK1wiYm9yZGVyLXJhZGl1czoxNnB4O2JvcmRlcjpub25lO2hlaWdodDozNnB4O3dpZHRoOjM2cHg7bWFyZ2luOjhweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6OHB4O3JpZ2h0OjhweDtvcGFjaXR5OjE7Y3Vyc29yOnBvaW50ZXI7ei1pbmRleDoxMDtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9XCIpKTtcbnJldHVyblwiXCJ9LGpxaj1mdW5jdGlvbihhKXthLm9hKG5xail8fGEuSmEobnFqLHt9LGxxaixtcWopfSxucWo9XCJ0LWxPOHBFM2o3Ni04XCI7dmFyIHFxaj1mdW5jdGlvbihhKXtvcWooYSk7cmV0dXJuIHBxaihhKX0scnFqPWZ1bmN0aW9uKGEpe29xaihhKTthPXBxaihhKTtyZXR1cm4gXy53KGEpfSxwcWo9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5mdihfLmNnKCkuSmIpLGM9Xy5mdihfLmNnKCkua2YpO2EuUGEoXCIuc3BjaC1kbGd7YmFja2dyb3VuZDpcIitfLlYoYixcIlwiLGZ1bmN0aW9uKGQpe3JldHVybiBfLm12KGQpfSkrXCI7Ym9yZGVyOm5vbmV9XCIpO2EuUGEoXCIuc3BjaHtiYWNrZ3JvdW5kOlwiKyhfLlYoYixcIlwiLGZ1bmN0aW9uKGQpe3JldHVybiBkLktjKCl9KStcIjtoZWlnaHQ6MTAwJTtsZWZ0OjA7b3BhY2l0eTowO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpmaXhlZDt0ZXh0LWFsaWduOmxlZnQ7dG9wOjA7dmlzaWJpbGl0eTpoaWRkZW47d2lkdGg6MTAwJTt6LWluZGV4OjEwMDAwO3RyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgMC4yMThzLGJhY2tncm91bmQtY29sb3IgMC4yMThzO1wiKyhGbmp8fFZVfHxIbmo/XCJcIjpcblwiYmFja2dyb3VuZDpcIitfLlYoYyxcIlwiLGZ1bmN0aW9uKGQpe3JldHVybiBfLkdlKGQsMTk2KX0pK1wiO1wiKSsoRG5qJiYhVlU/XCJtaW4td2lkdGg6Njg0cHhcIjpcIlwiKStcIn1cIikpO2EuUGEoXCIuczJmcC5zcGNoe29wYWNpdHk6MTt0cmFuc2l0aW9uLWRlbGF5OjBzO1wiKyhWVSYmRm5qP1widmlzaWJpbGl0eTppbmhlcml0O1wiOlwiXCIpKyhGbmo/XCJcIjpcInZpc2liaWxpdHk6dmlzaWJsZTtcIikrKFZVfHxIbmp8fEZuaj9cIlwiOlwiYmFja2dyb3VuZDpcIitfLlYoYyxcIlwiLGZ1bmN0aW9uKGQpe3JldHVybiBfLkdlKGQsMTk2KX0pKStcIn1cIik7YS5QYShcIi5wejViantiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7Y29sb3I6XCIrKF8uVihiLFwiXCIsZnVuY3Rpb24oZCl7cmV0dXJuIGQuUGQoKX0pK1wiO2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZToyNnB4O3JpZ2h0OjA7bGluZS1oZWlnaHQ6MTVweDtvcGFjaXR5Oi42O21hcmdpbjotMXB4IC0xcHggMCAwO3BhZGRpbmc6MCAwIDJweCAwO2hlaWdodDo0OHB4O3dpZHRoOjQ4cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7ei1pbmRleDoxMH1cIikpO1xuYS5QYShcIi5wejViajpob3ZlcntvcGFjaXR5Oi44fVwiKTthLlBhKFwiLnB6NWJqOmFjdGl2ZXtvcGFjaXR5OjF9XCIpO2EuUGEoXCIuc3BjaGN7ZGlzcGxheTpibG9jaztoZWlnaHQ6NDJweDtwb2ludGVyLWV2ZW50czpub25lO1wiKyhWVT9cIm1hcmdpbjphdXRvO3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDowO1wiOlwiXCIpKyhGbmomJlZVP1wibWFyZ2luLXRvcDozMTJweDttYXgtd2lkdGg6NDAwcHg7cGFkZGluZzowIDEwMHB4O1wiOlwiXCIpKyghRm5qJiZWVT9cIm1hcmdpbi10b3A6MzEycHg7bWF4LXdpZHRoOjU3MnB4O21pbi13aWR0aDo1MzRweDtwYWRkaW5nOjAgMjIzcHhcIjpcIlwiKStcIn1cIik7YS5QYShcIi5pbm5lci1jb250YWluZXJ7aGVpZ2h0OjEwMCU7b3BhY2l0eTouMTtwb2ludGVyLWV2ZW50czpub25lO3dpZHRoOjEwMCU7dHJhbnNpdGlvbjpvcGFjaXR5IC4zMThzIGVhc2UtaW47XCIrKERuaiYmIVZVP1wiZGlzcGxheTpmbGV4XCI6XCJcIikrXCJ9XCIpO2EuUGEoXCIuczJtbCAuaW5uZXItY29udGFpbmVyLC5zMnJhIC5pbm5lci1jb250YWluZXIsLnMyZXIgLmlubmVyLWNvbnRhaW5lciwuT0phanUgLmlubmVyLWNvbnRhaW5lcntvcGFjaXR5OjE7dHJhbnNpdGlvbjpvcGFjaXR5IDBzfVwiKTtcbnJldHVyblwiXCJ9LG9xaj1mdW5jdGlvbihhKXthLm9hKHNxail8fGEuSmEoc3FqLHt9LHFxaixycWopfSxzcWo9XCJ0LUk0NEJISEU0aGowXCI7dmFyIHZxaj1mdW5jdGlvbihhKXt0cWooYSk7cmV0dXJuIHVxaihhKX0sd3FqPWZ1bmN0aW9uKGEpe3RxaihhKTt2YXIgYj1cIjxzdHlsZVwiK18uWShcIlwiKStfLlooXCJcIikrXy5YKFwiXCIpK1wiPlwiO2E9dXFqKGEpO3JldHVybiBfLncoYisoYStcIjwvc3R5bGU+XCIpKX0sdXFqPWZ1bmN0aW9uKGEpe2EuUGEoXCIudGV4dC1jb250YWluZXJ7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6bWF4LWNvbnRlbnQ7aGVpZ2h0Om1heC1jb250ZW50fVwiKTthLlBhKFwiLnNwY2h0e2ZvbnQtc2l6ZToxNnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO21heC13aWR0aDoyNTBweH1cIik7YS5QYShcIi5zcGNoLTJsLnNwY2h0LC5zcGNoLTNsLnNwY2h0LC5zcGNoLTRsLnNwY2h0LC5zcGNoLTVsLnNwY2h0e2ZvbnQtc2l6ZToxNnB4O3RvcDppbml0aWFsO3RyYW5zaXRpb246aW5pdGlhbH1cIik7cmV0dXJuXCJcIn0sdHFqPWZ1bmN0aW9uKGEpe2Eub2EoeHFqKXx8YS5KYSh4cWose30sdnFqLHdxail9LHhxaj1cInQtdDlkZHpma2pSelFcIjt2YXIgQXFqPWZ1bmN0aW9uKGEpe3lxaihhKTtyZXR1cm4genFqKGEpfSxCcWo9ZnVuY3Rpb24oYSl7eXFqKGEpO3ZhciBiPVwiPHN0eWxlXCIrXy5ZKFwiXCIpK18uWihcIlwiKStfLlgoXCJcIikrXCI+XCI7YT16cWooYSk7cmV0dXJuIF8udyhiKyhhK1wiPC9zdHlsZT5cIikpfSx6cWo9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5mdihfLmNnKCkuSmIpLGM9Xy5mdihfLmNnKCkuU2QpO2I9Xy5WKGIsXCJcIixmdW5jdGlvbihkKXtyZXR1cm4gXy5rdihkKX0pO2EuUGEoXCIudGV4dC1jb250YWluZXJ7XCIrKERuaiYmIVZVP1wiZmxleDoxO21heC13aWR0aDo0OTBweDttaW4td2lkdGg6MzAwcHg7d2lkdGg6MTAwJTtcIjpcIlwiKStcInBvaW50ZXItZXZlbnRzOm5vbmU7XCIrKFZVP1wicG9zaXRpb246YWJzb2x1dGU7XCI6XCJcIikrKFZVfHxIbmo/XCJcIjpcInBvc2l0aW9uOnJlbGF0aXZlXCIpK1wifVwiKTthLlBhKFwiLnNwY2h0e2ZvbnQtd2VpZ2h0Om5vcm1hbDtsaW5lLWhlaWdodDoxLjI7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7XCIrXG4oKERuaj9cIlwiOlwicG9zaXRpb246YWJzb2x1dGU7XCIpK1widGV4dC1hbGlnbjpsZWZ0O1wiK18uV3YoXCJmb250LXNtb290aGluZ1wiLDEpK1wiOmFudGlhbGlhc2VkO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgZWFzZS1pbixtYXJnaW4tbGVmdCAuNXMgZWFzZS1pbix0b3AgMHMgbGluZWFyIDAuMjE4cztcIisoVlU/XCJsZWZ0Oi00NHB4O3RvcDotLjJlbTttYXJnaW4tbGVmdDo0NHB4O1wiOlwiXCIpKyghRm5qJiZWVT9cImZvbnQtc2l6ZTozMnB4O3dpZHRoOjQ2MHB4O1wiOlwiXCIpKyhGbmomJlZVP1wiZm9udC1zaXplOjI4cHg7d2lkdGg6MzAwcHg7XCI6XCJcIikrKFZVfHxIbmo/XCJcIjpcImZvbnQtc2l6ZToyN3B4O2xlZnQ6N3B4O3RvcDouMmVtO3dpZHRoOjQ5MHB4O21hcmdpbi1sZWZ0OjMycHhcIikrXCJ9XCIpKTthLlBhKFwiLnMyZnAgLnNwY2h0e21hcmdpbi1sZWZ0OjA7b3BhY2l0eToxO3RyYW5zaXRpb246b3BhY2l0eSAuNXMgZWFzZS1vdXQsbWFyZ2luLWxlZnQgLjVzIGVhc2Utb3V0fVwiKTthLlBhKFwiLnNwY2h0YXtjb2xvcjpcIitcbmIrXCI7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOlwiK18uVihjLFwiXCIsZnVuY3Rpb24oZCl7cmV0dXJuIF8uQShkLDExKX0pK1wiO2ZvbnQtd2VpZ2h0OjUwMDtwb2ludGVyLWV2ZW50czphdXRvO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9XCIpO2EuUGEoXCIuc3BjaC0ybC5zcGNodCwuc3BjaC0zbC5zcGNodCwuc3BjaC00bC5zcGNodHt0cmFuc2l0aW9uOnRvcCAwLjIxOHMgZWFzZS1vdXR9XCIpO2EuUGEoXCIuc3BjaC0ybC5zcGNodHt0b3A6LS42ZW19XCIpO2EuUGEoXCIuc3BjaC0zbC5zcGNodHt0b3A6LTEuM2VtfVwiKTthLlBhKFwiLnNwY2gtNGwuc3BjaHR7dG9wOi0xLjdlbX1cIik7YS5QYShcIi5zMmZwIC5zcGNoLTVsLnNwY2h0e1wiKyhWVT9cInRvcDotMi41ZW07XCI6XCJcIikrKFZVP1wiXCI6XCJmb250LXNpemU6MjRweDt0b3A6LTEuN2VtO3RyYW5zaXRpb246Zm9udC1zaXplIDAuMjE4cyBlYXNlLW91dFwiKStcIn1cIik7cmV0dXJuXCJcIn0seXFqPWZ1bmN0aW9uKGEpe2Eub2EoQ3FqKXx8YS5KYShDcWosXG57fSxBcWosQnFqKX0sQ3FqPVwidC1NcEI5ai1wREEzVVwiO3ZhciBEcWo9ZnVuY3Rpb24oKXshXy5TKFwiUE9VWTdlXCIpJiZfLlMoXCJVOUVqSWNcIik7cmV0dXJuXCJcIn0sRXFqPWZ1bmN0aW9uKCl7IV8uUyhcIlBPVVk3ZVwiKSYmXy5TKFwiVTlFakljXCIpO3JldHVyblwiXCJ9LEZxaj1mdW5jdGlvbigpeyFfLlMoXCJQT1VZN2VcIikmJl8uUyhcIlU5RWpJY1wiKTtyZXR1cm5cIlwifSxHcWo9ZnVuY3Rpb24oKXshXy5TKFwiUE9VWTdlXCIpJiZfLlMoXCJVOUVqSWNcIik7cmV0dXJuITB9LEhxaj1mdW5jdGlvbigpeyFfLlMoXCJQT1VZN2VcIikmJl8uUyhcIlU5RWpJY1wiKTtyZXR1cm4hMX0sS3FqPWZ1bmN0aW9uKGEsYil7SXFqKGEpO3JldHVybiBKcWooYSxiLkFjYyxiLnQ4Yil9LExxaj1mdW5jdGlvbihhLGIpe0lxaihhKTt2YXIgYz1iLkFjYyxkPWIudDhiO2I9XCJcIjshXy5TKFwiUE9VWTdlXCIpJiZfLlMoXCJVOUVqSWNcIik7Yis9XCI8ZGl2XCIrXy5ZKEVxaihhLGMsZCkrXCJ0ZXh0LWNvbnRhaW5lciBcIikrXy5aKEZxaihhLGMsZCkrXCJcIikrXy5YKERxaihhLGMsZCkrXCJcIikrXCI+XCI7YT1KcWooYSxcbmMsZCk7cmV0dXJuIF8udyhiKyhhK1wiPC9kaXY+XCIpKX0sSnFqPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0hXy5TKFwiUE9VWTdlXCIpJiZfLlMoXCJVOUVqSWNcIik7cmV0dXJuKF8uUyhcIktCeGRvXCIpfHxfLlMoXCJkWVg3UGJcIik/XCJcIjp6cWooYSkrKGQ/dXFqKGEpOlwiXCIpKStcIjxzcGFuXCIrXy5ZKFwic3BjaHQgXCIpK18uWihcImNvbG9yOlwiK18uVChfLkZ2KGEuaXNSdGwoKT9fLkN2KFwiY29sb3JcIixiKTpiKSkrXCI7XCIrKGQ/XCJwb3NpdGlvbjpcIitfLlQoYS5pc1J0bCgpP18uQ3YoXCJwb3NpdGlvblwiLFwicmVsYXRpdmVcIik6XCJyZWxhdGl2ZVwiKStcIjtcIjpcIlwiKSkrXy5YKCcgaWQ9XCJzcGNoaVwiJykrXCI+PC9zcGFuPjxzcGFuXCIrXy5ZKFwic3BjaHQgXCIpK18uWihcImNvbG9yOlwiK18uVChfLkZ2KGEuaXNSdGwoKT9fLkN2KFwiY29sb3JcIixjKTpjKSkrXCI7XCIrKGQmJiFhLmlzUnRsKCk/XCJsZWZ0OlwiK18uVChcIjBcIikrXCI7XCI6XCJcIikrKGQmJmEuaXNSdGwoKT9cInJpZ2h0OlwiK18uVChcIjBcIikrXCI7XCI6XCJcIikpK18uWCgnIGlkPVwic3BjaGZcIicpK1xuXCI+PC9zcGFuPlwifSxJcWo9ZnVuY3Rpb24oYSl7YS5vYShNcWopfHwoYS5KYShNcWose0FjYzowLHQ4YjoxfSxLcWosTHFqLEdxaixIcWosXCJcIixEcWosXCJ0ZXh0LWNvbnRhaW5lciBcIixFcWosXCJcIixGcWopLHRxaihhKSx5cWooYSkpfSxNcWo9XCJ0LVFCNmY2RlhuLTJjXCI7dmFyIFBxaj1mdW5jdGlvbigpe3ZhciBhPW5ldyBfLmV2O05xaihhKTt2YXIgYj1cIlwiO18uZnYoXy5jZygpLkpiKTshXy5TKFwiUE9VWTdlXCIpJiZfLlMoXCJVOUVqSWNcIik7dmFyIGM9T3FqKGEpLGQ9YS5TZigpO2QhPT1cIlwiJiYoYis9XCIgPHN0eWxlPlwiK2QrXCI8L3N0eWxlPlwiKTtiKz1jO2EuQmEoKTtyZXR1cm4gXy53KGIpfSxRcWo9ZnVuY3Rpb24oKXtfLmZ2KF8uY2coKS5KYik7IV8uUyhcIlBPVVk3ZVwiKSYmXy5TKFwiVTlFakljXCIpO3JldHVyblwiXCJ9LFJxaj1mdW5jdGlvbigpe18uZnYoXy5jZygpLkpiKTshXy5TKFwiUE9VWTdlXCIpJiZfLlMoXCJVOUVqSWNcIik7cmV0dXJuXCJcIn0sU3FqPWZ1bmN0aW9uKCl7Xy5mdihfLmNnKCkuSmIpOyFfLlMoXCJQT1VZN2VcIikmJl8uUyhcIlU5RWpJY1wiKTtyZXR1cm5cIlwifSxUcWo9ZnVuY3Rpb24oKXtfLmZ2KF8uY2coKS5KYik7IV8uUyhcIlBPVVk3ZVwiKSYmXy5TKFwiVTlFakljXCIpO3JldHVybiEwfSxVcWo9ZnVuY3Rpb24oKXtfLmZ2KF8uY2coKS5KYik7IV8uUyhcIlBPVVk3ZVwiKSYmXG5fLlMoXCJVOUVqSWNcIik7cmV0dXJuITF9LFZxaj1mdW5jdGlvbihhKXtOcWooYSk7cmV0dXJuIE9xaihhKX0sV3FqPWZ1bmN0aW9uKGEpe05xaihhKTtfLmZ2KF8uY2coKS5KYik7IV8uUyhcIlBPVVk3ZVwiKSYmXy5TKFwiVTlFakljXCIpO2E9T3FqKGEpO3JldHVybiBfLncoYSl9LE9xaj1mdW5jdGlvbihhKXt2YXIgYj1fLmZ2KF8uY2coKS5KYiksYz0hXy5TKFwiUE9VWTdlXCIpJiZfLlMoXCJVOUVqSWNcIiksZD1fLlMoXCJleUY4cGVcIiksZT1fLkt2KFwiQjF1YUtkXCIpLGY9ZD9lOl8uVihiLFwiXCIsZnVuY3Rpb24oaCl7cmV0dXJuIGguUGQoKX0pO2I9ZD9lOl8uVihiLFwiXCIsZnVuY3Rpb24oaCl7cmV0dXJuIF8uaXYoaCl9KTtlPWQ/Xy5LdihcIkVCekVnYlwiKTpcIlwiO2Q9cHFqKGEpKyhjP2txaihhKTpcIlwiKStcIjxidXR0b25cIitfLlkoXCJwejViaiBcIikrXy5aKFwiXCIpK18uWCgnIGlkPVwic3BjaHhcIiBhcmlhLWxhYmVsPVwiJytfLkx2KGZxaigpKSsnXCInKStcIj5cIjt2YXIgZz1cIjxzcGFuXCIrXy5ZKF8ucFQoYSwxNixcbm51bGwsbnVsbCkrXCJcIikrXy5aKF8ucVQoYSwxNixudWxsLG51bGwpK1wiXCIpK18uWChcIlwiKStcIj5cIitfLnNUKGEsbnVsbCxudWxsKStcIjwvc3Bhbj5cIjtkPWQrZysoXCI8L2J1dHRvbj48ZGl2XCIrXy5ZKFwic3BjaGMgXCIpK18uWihcIlwiKStfLlgoJyBpZD1cInNwY2hjXCInKStcIj48ZGl2XCIrXy5ZKFwiaW5uZXItY29udGFpbmVyIFwiKStfLlooXCJcIikrXy5YKFwiXCIpK1wiPlwiKTtjJiYoYz1cIjxkaXZcIitfLlkoXCJcIikrXy5aKFwiXCIpK18uWCgnIGlkPVwibmZpakNlXCInKStcIj5cIitDcGooYSxlKStcIjwvZGl2PlwiLGQrPWMpO0dxaihhLGYsYikmJihjPVwiPGRpdlwiK18uWShFcWooYSxmLGIpK1widGV4dC1jb250YWluZXIgXCIpK18uWihGcWooYSxmLGIpK1wiXCIpK18uWChEcWooYSxmLGIpK1wiXCIpK1wiPlwiK0pxaihhLGYsYikrXCI8L2Rpdj5cIixkKz1IcWooYSxmLGIpP1wiXCI6Yyk7ZCs9XCI8L2Rpdj5cIjthPVwiPGRpdlwiK18uWShcInBlcm1pc3Npb24tYmFyIFwiKStfLlooXCJcIikrXy5YKFwiXCIpK1wiPlwiK1dwaihhKStcIjwvZGl2PlwiO2QrPWE7XG5yZXR1cm4gZCtcIjwvZGl2PlwifSxOcWo9ZnVuY3Rpb24oYSl7YS5vYShYcWopfHwoYS5KYShYcWose30sVnFqLFdxaixUcWosVXFqLFwiXCIsUXFqLFwiXCIsUnFqLFwiXCIsU3FqKSxWcGooYSksZXFqKGEpLGpxaihhKSxvcWooYSksSXFqKGEpLEJwaihhKSxfLnJUKGEpKX0sWHFqPVwidC1heHBpZjFHOXFtMFwiO3ZhciBHbWo9bnVsbCxTVT0tMSxsbmosa25qLEptaixtbmosVVUsWW1qLGFuaixUVSxjbmosVG1qPSExLCRtaj1cIlwiLHluaj0wLG5uaixBbmosWXFqPXt9O1xuXy5ZZShcInNwY2hcIiwoWXFqLmluaXQ9ZnVuY3Rpb24oYSl7Sm1qPWEuaGw7dmFyIGI9YS5tYixjPWEuZnA7QW5qPWEubWM7VG1qPWEuczM7JG1qPWEuYWs7eW5qPWEuY2Q7dmFyIGQ9Xy5qbChcInNwY2hcIik7VFU9VW1qKGEpO3ZhciBlO2lmKGU9YilkPyhfLkJjKGQsUHFqKCkpLGU9ITApOmU9ITEsZT0hZTtlP0ltaigpOih3aW5kb3cud2Via2l0U3BlZWNoUmVjb2duaXRpb258fFRtanx8VFUpJiZ4bWooYixjKT8oU1U9PT0tMSYmKF8uWGQod2luZG93LFwia2V5ZG93blwiLEVtaiksXy54UmMoXy5uQy5aa2IsZnVuY3Rpb24oZil7bm5qPWY7Rm1qKCl9KSxHbWo9Xy55ZShkb2N1bWVudC5ib2R5LEluaixmdW5jdGlvbihmKXtubmo9Zi5kYXRhO0ZtaigpfSksXy53UmMoXy5uQy5QVGIsRm1qKSxfLndSYyhfLm5DLk9UYixIbWopKSxobWo9e0wxOmEubG0scmVhZHk6YS5ybSxnZWM6YS5udCx3YWl0aW5nOmEuaXcsR1diOmEuYWUsV2RjOmEubmUsdGJjOmEubHUsdWdjOmEucGUsaGVjOmEubnZ9LFxuU1U9MSxUVT9UVS5pbml0aWFsaXplKCk6VG1qP2VuaigpOlhtaigpLGZuaigpLGQmJl8uV2MoZCxcImNsaWNrZWRcIikmJkZtaigpKTpJbWooKX0sWXFqKSk7XG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwiTXBKd1pjXCIpO1xuXG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwiVVVKcVZlXCIpO1xuXG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5mZihfLnVVYSk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcInNPWEZqXCIpO1xudmFyIHU1YT1mdW5jdGlvbihhKXtfLkRuLmNhbGwodGhpcyxhLk5hKX07Xy5EKHU1YSxfLkRuKTt1NWEuV2E9Xy5Ebi5XYTt1NWEuSWE9Xy5Ebi5JYTt1NWEucHJvdG90eXBlLm9hPWZ1bmN0aW9uKGEpe3JldHVybiBhKCl9O18uRm4oXy50VWEsdTVhKTtcbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLmZmKF8uUXApO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJzMzlTNFwiKTtcbnZhciBYYmI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuZ2V0QXR0cmlidXRlKGIpfHxcIlwiO2M9U3RyaW5nKGN8fFwiXCIpO2M9Yy5zcGxpdChcIjtcIikuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBlfSk7ZD1kLnNwbGl0KFwiO1wiKS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIF8uR3RhKGUsXCI6LkNMSUVOVFwiKX0pO18uQ2EoYyxkKTsoYz1jLmpvaW4oXCI7XCIpKT9hLnNldEF0dHJpYnV0ZShiLGMpOmEucmVtb3ZlQXR0cmlidXRlKGIpO18ua21hKGEpfSxZYmI9ZnVuY3Rpb24oYSxiLGMpe2M/YS5zZXRBdHRyaWJ1dGUoYixjKTphLnJlbW92ZUF0dHJpYnV0ZShiKTthLmhhc0F0dHJpYnV0ZShcImMtd2l6XCIpfHwoYj1hLGEudGFnTmFtZT09PVwiQy1EQVRBXCImJihiPWEucGFyZW50RWxlbWVudCksXy5HTGEoYiwhMSkpfSxiY2I9ZnVuY3Rpb24oKXtaYmJ8fChaYmI9ITAsJGJiPV8ucnBhLF8ucnBhPWZ1bmN0aW9uKGEpeyRiYiYmJGJiKGEpO2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7YisrKXt2YXIgYz1cbmFbYl07aWYoXy5tZShjKSl7dmFyIGQ9Xy5qb2EoYyksZT1kLm9hO2Uub2F8fGUuQ2EucHVzaChjKTtfLmRKYShkLm9hKX19fSxhY2I9Xy5zcGEsXy5zcGE9ZnVuY3Rpb24oYSl7YWNiJiZhY2IoYSk7Zm9yKHZhciBiPTA7YjxhLmxlbmd0aDtiKyspe3ZhciBjPWFbYl07aWYoXy5tZShjKSl7dmFyIGQ9Xy5qb2EoYyksZT1kLm9hO2Uub2F8fGUuR2EucHVzaChjKTtfLmRKYShkLm9hKX19fSl9LFpiYj0hMSwkYmIsYWNiLGNjYj1mdW5jdGlvbihhKXtpZihhPWF8fGRvY3VtZW50LmJvZHkpe3ZhciBiPWRvY3VtZW50LmhlYWQucXVlcnlTZWxlY3RvcihcInN0eWxlW2RhdGEtbGF0ZS1jc3NdXCIpO2E9Xy5QYShBcnJheS5mcm9tKGEucXVlcnlTZWxlY3RvckFsbChcInN0eWxlW2RhdGEtc2VydmVyLWNzcy1jb2xsZWN0aW9uXSwgbGlua1tkYXRhLXNlcnZlci1jc3MtY29sbGVjdGlvbl1cIikpKTtmb3IodmFyIGM9YS5uZXh0KCksZD17fTshYy5kb25lO2Q9e0FuYTp2b2lkIDB9LGM9YS5uZXh0KCkpZC5BbmE9XG5jLnZhbHVlLGQuQW5hLnRhZ05hbWU9PT1cIlNUWUxFXCI/Yj9kb2N1bWVudC5oZWFkLmluc2VydEJlZm9yZShkLkFuYSxiKTpkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGQuQW5hKTpkLkFuYS5oYXNBdHRyaWJ1dGUoXCJsYXRlLWNzcy1tb3ZlZFwiKXx8KGM9ZC5BbmEuY2xvbmVOb2RlKCEwKSxjLm9ubG9hZD1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gXy5DbChlLkFuYSl9fShkKSxkLkFuYS5zZXRBdHRyaWJ1dGUoXCJsYXRlLWNzcy1tb3ZlZFwiLFwidHJ1ZVwiKSxiP2RvY3VtZW50LmhlYWQuaW5zZXJ0QmVmb3JlKGMsYik6ZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChjKSl9fTtfLmRjYj1fLllwO18uZnI9ZnVuY3Rpb24oYSl7Xy5Ebi5jYWxsKHRoaXMsYS5OYSk7dGhpcy5BYT1hLlhiLnNveTt0aGlzLm9hPWEuWGIuY29uZmlnO3RoaXMuT2c9bnVsbDtfLllmLmpzYWN0aW9uPVhiYjtfLllmLmpzZGF0YT1ZYmI7YmNiKCl9O18uRChfLmZyLF8uRG4pO18uZnIuV2E9Xy5Ebi5XYTtfLmZyLklhPWZ1bmN0aW9uKCl7cmV0dXJue1hiOntzb3k6Xy5lcCxjb25maWc6Xy5hZ319fTtfLmZyLnByb3RvdHlwZS5NMj1mdW5jdGlvbihhKXt0aGlzLk9nPWF9O18uZnIucHJvdG90eXBlLlA0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuT2d9O18uZnIucHJvdG90eXBlLkRoPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEoYixfLmRwKHRoaXMub2EpKX07Xy5mci5wcm90b3R5cGUudUU9ZnVuY3Rpb24oYSxiLGMpe2VjYih0aGlzLCEwLGEsYiwhMCxjKX07XG52YXIgZWNiPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXt2YXIgZz1uZXcgXy5kY2I7Zy5NMihhLk9nKTt2YXIgaD1fLmtnKGMpLmRvY3VtZW50RWxlbWVudC5jb250YWlucyhjKTtjY2IoZG9jdW1lbnQuYm9keSk7KDAsXy5KUGEpKGMsZnVuY3Rpb24oKXthLk9nJiZlP2EuT2cuUWtiKGZ1bmN0aW9uKCl7ZChnLGYsXy5kcChhLm9hKSl9KTpkKGcsZixfLmRwKGEub2EpKX0sZik7Yj9mY2IoYSxjLGgpOmEuT2cmJmEuT2cub0ZiKCl9O18uZnIucHJvdG90eXBlLlZ3Yj1mdW5jdGlvbihhLGIsYyl7ZWNiKHRoaXMsITEsYSxiLCExLGMpO3RoaXMuQWEuRXIoKS5kaXNwYXRjaEV2ZW50KG5ldyBfLnhMYShfLndMYSxhLF8uWm8pKX07XG5fLmZyLnByb3RvdHlwZS56Nj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcyxlPW5ldyBfLmRjYjtlLk0yKHRoaXMuT2cpO3ZhciBmPV8ua2coYSkuZG9jdW1lbnRFbGVtZW50LmNvbnRhaW5zKGEpO2YmJmEgaW5zdGFuY2VvZiBFbGVtZW50JiZjY2IoYSk7KDAsXy5JUGEpKGEsZnVuY3Rpb24oKXtyZXR1cm4gYihlLGMsXy5kcChkLm9hKSl9LGMpO2ZjYih0aGlzLGEsZil9O3ZhciBmY2I9ZnVuY3Rpb24oYSxiLGMpe2EuQWEuRXIoKS5kaXNwYXRjaEV2ZW50KG5ldyBfLnhMYShjP18ud0xhOl8uQ3FhLGIsXy5abykpO2EuQWEuRXIoKS5kaXNwYXRjaEV2ZW50KG5ldyBfLkZrKF8udkxhLGIpKX07Xy5mci5wcm90b3R5cGUua2Q9ZnVuY3Rpb24oYSxiKXt2YXIgYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO3RoaXMuejYoYyxhLGIpO2E9Yy5maXJzdEVsZW1lbnRDaGlsZDtmY2IodGhpcyxhLCExKTtyZXR1cm4gYX07Xy5GbihfLnpmLF8uZnIpO1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcIm9HdEF1Y1wiKTtcbl8udjVhPW5ldyBfLklkKF8udVVhKTtcbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJOVE1aYWNcIik7XG52YXIgdDVhPWZ1bmN0aW9uKGEpe18uRG4uY2FsbCh0aGlzLGEuTmEpfTtfLkQodDVhLF8uRG4pO3Q1YS5XYT1fLkRuLldhO3Q1YS5JYT1fLkRuLklhO3Q1YS5wcm90b3R5cGUudUU9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcihcIkRkXCIpO307dDVhLnByb3RvdHlwZS56Nj1mdW5jdGlvbigpe3Rocm93IEVycm9yKFwiRGRcIik7fTt0NWEucHJvdG90eXBlLmtkPWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoXCJEZFwiKTt9O18uRm4oXy5sUGEsdDVhKTtcbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJuQUZMM1wiKTtcbl8uSHE9bmV3IF8uSWQoXy5RcCk7XG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5EJGE9Xy5KKFwibkhqcURkXCIpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLlpxPWZ1bmN0aW9uKGEsYil7Xy5DR2EoYik7YSYmXy5KZC5nZXRJbnN0YW5jZSgpLnJlZ2lzdGVyKGEsYil9O18uJHE9ZnVuY3Rpb24oYSl7Xy5Cbi5jYWxsKHRoaXMsYS5OYSk7dGhpcy5zb3k9dGhpcy5kb209bnVsbDtpZih0aGlzLnVMKCkpe3ZhciBiPV8uQkdhKHRoaXMueG4oKSxbXy5mZyxfLmlvXSk7Yj1fLnhmKFtiW18uZmddLGJbXy5pb11dKS50aGVuKGZ1bmN0aW9uKGMpe3RoaXMuc295PWNbMF07dGhpcy5kb209Y1sxXX0sbnVsbCx0aGlzKTtfLkNuKHRoaXMsYil9dGhpcy5xWmI9YS5XbS5HNGN9O18uRChfLiRxLF8uQm4pO18uJHEuSWE9ZnVuY3Rpb24oKXtyZXR1cm57V206e0c0YzpmdW5jdGlvbigpe3JldHVybiBfLmFmKHRoaXMpfX19fTtfLiRxLnByb3RvdHlwZS5nZXRDb250ZXh0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnFaYi5nZXRDb250ZXh0KGEpfTtfLiRxLnByb3RvdHlwZS5nZXREYXRhPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnFaYi5nZXREYXRhKGEpfTtcbl8uJHEucHJvdG90eXBlLnF2PWZ1bmN0aW9uKCl7Xy5pZyh0aGlzLmRvbS5ZbSgpKX07Xy4kcS5wcm90b3R5cGUucmNiPWZ1bmN0aW9uKCl7fTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwicTB4VGlmXCIpO1xudmFyIEUkYT1mdW5jdGlvbihhKXt2YXIgYj1mdW5jdGlvbihkKXtfLlJHYShkKSYmKF8uUkdhKGQpLlRjPW51bGwsXy5UOWEoZCxudWxsKSk7ZC5YeUhpOSYmKGQuWHlIaTk9bnVsbCl9O2IoYSk7YT1hLnF1ZXJ5U2VsZWN0b3JBbGwoXCJbYy13aXpdXCIpO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWIoYVtjXSl9O18uYXI9ZnVuY3Rpb24oYSl7Xy4kcS5jYWxsKHRoaXMsYS5OYSk7dmFyIGI9dGhpcyxjPWEuY29udGV4dC5uNGM7dGhpcy5vYT1jLlozO3RoaXMuT2c9dGhpcy5CYT10aGlzLkdhPXRoaXMuQWE9bnVsbDt0aGlzLkNhPWEuc2VydmljZS5IZzt0aGlzLkxhPWEuc2VydmljZS5RVGQ7YT10aGlzLm9hLkJhLnRoZW4oZnVuY3Rpb24oZCl7Yi5BYT1kO2Q9Yi5vYS5pZC5ycmMoZCxiLm9hLmdldFBhcmFtcygpKTtiLkdhPWQudmFyaWFudH0pO2M9Yy5uWWIudGhlbihmdW5jdGlvbihkKXtiLkJhPWR9KTt0aGlzLk5zYj10aGlzLk5zYi5iaW5kKHRoaXMpO18uQ24odGhpcyxfLnhmKFthLGNdKSl9O18uRChfLmFyLF8uJHEpO18uYXIuSWE9ZnVuY3Rpb24oKXtyZXR1cm57Y29udGV4dDp7bjRjOlwiRlZ4TGtmXCJ9LHNlcnZpY2U6e0hnOl8uSHEsY29tcG9uZW50Ol8uVXEsUVRkOl8udjVhfX19O18ubT1fLmFyLnByb3RvdHlwZTtfLm0uVWU9ZnVuY3Rpb24oKXtyZXR1cm5cIlwifTtfLm0uamg9ZnVuY3Rpb24oKXtyZXR1cm4hMX07XG5fLm0uclY9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vYX07Xy5tLkV0YT1mdW5jdGlvbigpe3ZhciBhPV8uWmIodGhpcy5CYSx0aGlzLk5zYik7YT17QmM6dGhpcy5vYS5nZXRQYXJhbXMoKSxZTWE6dGhpcy5vYS5PYSx5Yzp7eW5jOiExLEJjOnRoaXMub2EuZ2V0UGFyYW1zKCksUWU6dGhpcy5vYS5pZC5PYSxEYmI6dGhpcy5vYS5vVmEsS2U6dGhpcy5VZSgpLGpzZGF0YTpfLmFjKHRoaXMuQWEpfSxEbjphLER1ZTp0aGlzLkdhfTtPYmplY3QuYXNzaWduKGEsdGhpcy5BYXx8e30pO09iamVjdC5hc3NpZ24oYSx0aGlzLm9hLm9hKTtPYmplY3QuYXNzaWduKGEueWMsdGhpcy5vYS5vYSk7cmV0dXJuIGF9O18ubS5Oc2I9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gQXJyYXkuaXNBcnJheShhKT9hLmxlbmd0aCE9MXx8KGI9dGhpcy5vYS5pZC5nZXRDaGlsZHJlbigpW2JdLGImJmIuaXopP18ucGgoYSxmdW5jdGlvbihjKXtyZXR1cm4gYy5FdGEoKX0pOmFbMF0uRXRhKCk6YS5FdGEoKX07XG52YXIgRiRhPWZ1bmN0aW9uKGEpe3ZhciBiPWEuUmUoKTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYz1fLmxjLmFwcGx5KDAsYXJndW1lbnRzKTtyZXR1cm4gYS5MYS5vYShmdW5jdGlvbigpe3JldHVybiBiLmFwcGx5KG51bGwsXy5tZChjKSl9KX19O18uYXIucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbigpe3ZhciBhPXRoaXMuRXRhKCksYj1GJGEodGhpcyk7YT10aGlzLmpoKCk/RyRhKHRoaXMsYixhKTp0aGlzLnNveS5rZChiLGEpOyhiPXRoaXMub2EuaWQuaXViKCkpJiZiLmxlbmd0aD4wJiZiLmZvckVhY2goZnVuY3Rpb24oKXt9KTtfLmckYSh0aGlzLm9hLGEpO3JldHVybiBhfTtfLmFyLnByb3RvdHlwZS5zSz1mdW5jdGlvbigpe3JldHVybiB0aGlzLnNveS5zSyhGJGEodGhpcyksdGhpcy5FdGEoKSl9O1xudmFyIEckYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5kb20ub2EuQWYoKS5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO2EuQ2EuejYoZCxiLGMpO3JldHVybiBkLmNoaWxkTm9kZXMubGVuZ3RoPT0xP2QuZmlyc3RDaGlsZDpkfTtfLmFyLnByb3RvdHlwZS5yY2I9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5FdGEoKSxjPUYkYSh0aGlzKTtFJGEoYSk7dGhpcy5DYS51RShhLGMsYik7Xy5nJGEodGhpcy5yVigpLGEpfTtfLlpxKF8uWXEsXy5hcik7XG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwieTA1VURcIik7XG5cbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLm93Yz1mdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPVtdLGU9MDtlPGEubGVuZ3RoO2UrKyliKGFbZV0sZSkmJmQucHVzaChjKGFbZV0sZSkpO3JldHVybiBkfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5tQz1mdW5jdGlvbigpe3JldHVybigwLF8ua3ApKCdkYXRhLXZlZD1cIlwiJytfLkZmKFwiRG56MWpiXCIsW10sXCJkYXRhLXZlZFwiKSl9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLkhRYz1uZXcgXy53bygxMDM4ODUpO18uSVFjPW5ldyBfLndvKDEwMzg4NCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uaUM9bmV3IF8ud28oLTIpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLmdDPWZ1bmN0aW9uKGEpe3JldHVybiBfLnhqKGEsbmV3IGEuY29uc3RydWN0b3IpfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIEhwYztIcGM9e2I6ITAsYnI6ITAsZW06ITAsaTohMCxzOiEwLHN0cm9uZzohMCxzdWI6ITAsc3VwOiEwLHU6ITB9O18uaUE9ZnVuY3Rpb24oYSxiKXtpZihfLmZwKGEsXy5abykpcmV0dXJuIGE7Yj8oYj1PYmplY3QuZnJvbUVudHJpZXMoYi5tYXAoZnVuY3Rpb24oYyl7cmV0dXJuW2MsITBdfSkpLE9iamVjdC5hc3NpZ24oYixIcGMpKTpiPUhwYztyZXR1cm4oMCxfLk4pKF8uTE9hKGEsYiksXy53T2EoYSkpfTtfLklwYz1mdW5jdGlvbihhKXtpZihhIT09XCJcIiYmIShhIGluc3RhbmNlb2YgXy5JTmEpKXRocm93IEVycm9yKFwib2hgXCIrXy55d2EoYSkpO2E9Xy52YyhhP2EuZ2V0Q29udGVudCgpOlwiXCIpO3JldHVybiBfLk5lKGEpfTtcbl8uakE9ZnVuY3Rpb24oYSl7aWYoIShhPT09XCJcInx8YSBpbnN0YW5jZW9mIF8uSE5hfHxhIGluc3RhbmNlb2YgXy5NbSkpdGhyb3cgRXJyb3IoXCJwaGBcIitfLnl3YShhKSk7aWYoYSBpbnN0YW5jZW9mIF8uTW0pcmV0dXJuIF8uSWUoXy5oYyhhP2EudG9TdHJpbmcoKTpcIlwiKSk7YT1fLmhjKGE/YS5nZXRDb250ZW50KCk6XCJcIik7cmV0dXJuIF8uSWUoYSl9O18ua0E9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLkJlPyhhPShhPV8uV21hKGEpKT9fLnRjKGEpLnRvU3RyaW5nKCk6XCJcIiwoMCxfLk4pKGEpKTphPT1udWxsP2E6bnVsbH07Xy5KcGM9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLldlPyhhPShhPV8uWm1hKGEpKT9fLkdoYShhKTpcIlwiLCgwLF8ubHApKGEpKTphPT1udWxsP2E6bnVsbH07XG5fLktwYz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uems/KGE9KGE9Xy5YbWEoYSkpP18ucWMoYSkudG9TdHJpbmcoKTpcIlwiLCgwLF8uaHApKGEpKTphPT1udWxsP2E6bnVsbH07Xy5sQT1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uSGU/KGE9KGE9Xy5MZShhKSk/Xy5pYyhhKTpcIlwiLCgwLF8uaXApKGEpKTphPT1udWxsP2E6bnVsbH07Xy5tQT1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uTWU/KGE9KGE9Xy5PZShhKSk/Xy54YyhhKS50b1N0cmluZygpOlwiXCIsKDAsXy5qcCkoYSkpOmE9PW51bGw/YTpudWxsfTtfLm5BPWZ1bmN0aW9uKGEpe2lmKGE9PW51bGwpcmV0dXJuIGE7aWYoYSBpbnN0YW5jZW9mIF8uTWEpcmV0dXJuIF8ubGIoYSk7dGhyb3cgRXJyb3IoXCJxaGBcIithKTt9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgTE1iO18uS01iPWZ1bmN0aW9uKGEpe3RoaXMub2E9dm9pZCAwO3RoaXMuV0g9e307aWYoYSl7dmFyIGI9Xy5RQmEoYSk7YT1fLlBCYShhKTtmb3IodmFyIGM9MDtjPGIubGVuZ3RoO2MrKyl0aGlzLnNldChiW2NdLGFbY10pfX07Xy5LTWIucHJvdG90eXBlLnNldD1mdW5jdGlvbihhLGIpe0xNYih0aGlzLGEsYiwhMSl9O18uS01iLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSxiKXtMTWIodGhpcyxhLGIsITApfTtMTWI9ZnVuY3Rpb24oYSxiLGMsZCl7Zm9yKHZhciBlPTA7ZTxiLmxlbmd0aDtlKyspe3ZhciBmPWIuY2hhckF0KGUpO2EuV0hbZl18fChhLldIW2ZdPW5ldyBfLktNYik7YT1hLldIW2ZdfWlmKGQmJmEub2EhPT12b2lkIDApdGhyb3cgRXJyb3IoXCJRZmBcIitiKTthLm9hPWN9O18uTU1iPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPTA7YzxiLmxlbmd0aDtjKyspaWYoYT1hLldIW2IuY2hhckF0KGMpXSwhYSlyZXR1cm47cmV0dXJuIGF9O1xuXy5LTWIucHJvdG90eXBlLmdldD1mdW5jdGlvbihhKXtyZXR1cm4oYT1fLk1NYih0aGlzLGEpKT9hLm9hOnZvaWQgMH07Xy5LTWIucHJvdG90eXBlLll2PWZ1bmN0aW9uKCl7dmFyIGE9W107Tk1iKHRoaXMsYSk7cmV0dXJuIGF9O3ZhciBOTWI9ZnVuY3Rpb24oYSxiKXthLm9hIT09dm9pZCAwJiZiLnB1c2goYS5vYSk7Zm9yKHZhciBjIGluIGEuV0gpTk1iKGEuV0hbY10sYil9O18uS01iLnByb3RvdHlwZS5vQT1mdW5jdGlvbihhKXt2YXIgYj1bXTtpZihhKXtmb3IodmFyIGM9dGhpcyxkPTA7ZDxhLmxlbmd0aDtkKyspe3ZhciBlPWEuY2hhckF0KGQpO2lmKCFjLldIW2VdKXJldHVybltdO2M9Yy5XSFtlXX1PTWIoYyxhLGIpfWVsc2UgT01iKHRoaXMsXCJcIixiKTtyZXR1cm4gYn07dmFyIE9NYj1mdW5jdGlvbihhLGIsYyl7YS5vYSE9PXZvaWQgMCYmYy5wdXNoKGIpO2Zvcih2YXIgZCBpbiBhLldIKU9NYihhLldIW2RdLGIrZCxjKX07Xy5tPV8uS01iLnByb3RvdHlwZTtcbl8ubS5iND1mdW5jdGlvbihhKXtpZih0aGlzLm9hPT09YSlyZXR1cm4hMDtmb3IodmFyIGIgaW4gdGhpcy5XSClpZih0aGlzLldIW2JdLmI0KGEpKXJldHVybiEwO3JldHVybiExfTtfLm0uY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLldIPXt9O3RoaXMub2E9dm9pZCAwfTtfLm0ucmVtb3ZlPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj10aGlzLGM9W10sZD0wO2Q8YS5sZW5ndGg7ZCsrKXt2YXIgZT1hLmNoYXJBdChkKTtpZighYi5XSFtlXSl0aHJvdyBFcnJvcihcIlJmYFwiK2EpO2MucHVzaChbYixlXSk7Yj1iLldIW2VdfWE9Yi5vYTtmb3IoZGVsZXRlIGIub2E7Yy5sZW5ndGg+MDspaWYoZT1jLnBvcCgpLGI9ZVswXSxlPWVbMV0sYi5XSFtlXS5pc0VtcHR5KCkpZGVsZXRlIGIuV0hbZV07ZWxzZSBicmVhaztyZXR1cm4gYX07Xy5tLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBfLktNYih0aGlzKX07Xy5tLnluPWZ1bmN0aW9uKCl7cmV0dXJuIF8uT0JhKHRoaXMuWXYoKSl9O1xuXy5tLmlzRW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vYT09PXZvaWQgMCYmXy5jYyh0aGlzLldIKX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uWnk9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLlp5LF8ucSk7Xy5tPV8uWnkucHJvdG90eXBlO18ubS5nZXRTaXplPWZ1bmN0aW9uKCl7cmV0dXJuIF8uZWkodGhpcywxKX07Xy5tLnNldFNpemU9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uT2kodGhpcywxLGEpfTtfLm0uZkU9ZnVuY3Rpb24oKXtyZXR1cm4gXy5taih0aGlzLDEpfTtfLm0uSWM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5laSh0aGlzLDEyKX07Xy5tLkRkPWZ1bmN0aW9uKGEpe3JldHVybiBfLk9pKHRoaXMsMTIsYSl9O18ubS54Yz1mdW5jdGlvbigpe3JldHVybiBfLmVpKHRoaXMsMTMpfTtfLm0ueGQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uT2kodGhpcywxMyxhKX07Xy5oZGM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5NZyhhLDIsYil9O18uaWRjPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uTWcoYSwxOSxiKX07XG5fLlp5LnByb3RvdHlwZS5zZXRDZW50ZXJDcm9wPWZ1bmN0aW9uKGEpe3JldHVybiBfLk1nKHRoaXMsMjAsYSl9O18uWnkucHJvdG90eXBlLlZQPWZ1bmN0aW9uKCl7cmV0dXJuIF8uRSh0aGlzLDQsITEpfTtfLlp5LnByb3RvdHlwZS5Ma2E9ZnVuY3Rpb24oKXtyZXR1cm4gXy5raih0aGlzLDQpfTtfLmpkYz1mdW5jdGlvbihhLGIpe3JldHVybiBfLk1nKGEsMTcsYil9O18uWnkucHJvdG90eXBlLmdldFRva2VuPWZ1bmN0aW9uKCl7cmV0dXJuIF8uR2UodGhpcywyNCl9O18uWnkucHJvdG90eXBlLnNldFRva2VuPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRlKHRoaXMsMjQsYSl9O18uWnkucHJvdG90eXBlLmFFPWZ1bmN0aW9uKCl7cmV0dXJuIF8uZGkodGhpcywyNyl9O18ua2RjPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uTWcoYSwzNSxiKX07Xy5sZGM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5NZyhhLDM3LGIpfTtcbl8uWnkucHJvdG90eXBlLmJDPWZ1bmN0aW9uKCl7cmV0dXJuIF8uZWkodGhpcyw4Nil9O18uWnkucHJvdG90eXBlLkpZPWZ1bmN0aW9uKCl7cmV0dXJuIF8ubWoodGhpcyw4Nil9O18uWnkucHJvdG90eXBlLlFpPWZ1bmN0aW9uKCl7cmV0dXJuIF8uZWkodGhpcyw4Nyl9O18ubWRjPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uT2koYSw2MixiKX07Xy5aeS5wcm90b3R5cGUuTzJiPWZ1bmN0aW9uKCl7cmV0dXJuIF8uSWkodGhpcyw4NSl9O18uWnkucHJvdG90eXBlLmdldFN0b3J5Ym9hcmRMZXZlbD1mdW5jdGlvbigpe3JldHVybiBfLmVpKHRoaXMsMTA5KX07dmFyIG5kYztfLnBkYz1mdW5jdGlvbigpe2lmKCFuZGMpe3ZhciBhPW5kYz1uZXcgXy5LTWIsYjtmb3IoYiBpbiBvZGMpYS5hZGQoYixvZGNbYl0pfX07Xy5wZGMucHJvdG90eXBlLk9nPW51bGw7XG52YXIgJHk9ZnVuY3Rpb24oYSxiKXt0aGlzLnR5cGVzPWE7dGhpcy5vYT1ifSxvZGM9e2E6bmV3ICR5KFszLDBdLFtmdW5jdGlvbihhLGIpe18uTWcoYSwyMSxiKX0sZnVuY3Rpb24oYSxiKXtfLk9pKGEsNTYsYil9XSksYWw6bmV3ICR5KFszXSxbZnVuY3Rpb24oYSxiKXtfLk1nKGEsNzQsYil9XSksYjpuZXcgJHkoWzMsMF0sW2Z1bmN0aW9uKGEsYil7Xy5NZyhhLDIzLGIpfSxmdW5jdGlvbihhLGIpe18uT2koYSwzOCxiKX1dKSxiYTpuZXcgJHkoWzBdLFtmdW5jdGlvbihhLGIpe18uT2koYSw4NSxiKX1dKSxiYzpuZXcgJHkoWzBdLFtmdW5jdGlvbihhLGIpe18uT2koYSw4NyxiKX1dKSxicjpuZXcgJHkoWzBdLFtmdW5jdGlvbihhLGIpe18uT2koYSw4NixiKX1dKSxjOm5ldyAkeShbMywwXSxbZnVuY3Rpb24oYSxiKXtfLmhkYyhhLGIpfSxmdW5jdGlvbihhLGIpe18uT2koYSwzOSxiKX1dKSxjYzpuZXcgJHkoWzNdLFtmdW5jdGlvbihhLGIpe18uTWcoYSw1MSxiKX1dKSxjaTpuZXcgJHkoWzNdLFxuW2Z1bmN0aW9uKGEsYil7Xy5NZyhhLDMyLGIpfV0pLGNrbTpuZXcgJHkoWzNdLFtmdW5jdGlvbihhLGIpe18uTWcoYSwxMDQsYil9XSksY3A6bmV3ICR5KFswXSxbZnVuY3Rpb24oYSxiKXtfLk9pKGEsOTIsYil9XSksY3I6bmV3ICR5KFszXSxbZnVuY3Rpb24oYSxiKXtfLk1nKGEsMTA4LGIpfV0pLGN2Om5ldyAkeShbMF0sW2Z1bmN0aW9uKGEsYil7Xy5PaShhLDk0LGIpfV0pLGQ6bmV3ICR5KFszXSxbZnVuY3Rpb24oYSxiKXtfLk1nKGEsMyxiKX1dKSxkYzpuZXcgJHkoWzVdLFtmdW5jdGlvbihhLGIpe18uRGUoYSw5OSxiKX1dKSxkZjpuZXcgJHkoWzNdLFtmdW5jdGlvbihhLGIpe18uTWcoYSw4MCxiKX1dKSxkdjpuZXcgJHkoWzNdLFtmdW5jdGlvbihhLGIpe18uTWcoYSw5MCxiKX1dKSxlOm5ldyAkeShbMF0sW2Z1bmN0aW9uKGEsYil7Xy5PaShhLDE1LGIpfV0pLGVtOm5ldyAkeShbMF0sW2Z1bmN0aW9uKGEsYil7Xy5PaShhLDEwNyxiKX1dKSxmOm5ldyAkeShbNF0sW2Z1bmN0aW9uKGEsXG5iKXtfLkRlKGEsMTYsYil9XSksZmc6bmV3ICR5KFszXSxbZnVuY3Rpb24oYSxiKXtfLk1nKGEsMzQsYil9XSksZmg6bmV3ICR5KFszXSxbZnVuY3Rpb24oYSxiKXtfLk1nKGEsMzAsYil9XSksZm06bmV3ICR5KFszXSxbZnVuY3Rpb24oYSxiKXtfLk1nKGEsODQsYil9XSksZm86bmV3ICR5KFsyXSxbZnVuY3Rpb24oYSxiKXtfLldpKGEsNzksYil9XSksZnQ6bmV3ICR5KFszXSxbZnVuY3Rpb24oYSxiKXtfLk1nKGEsNTAsYil9XSksZnY6bmV3ICR5KFszXSxbZnVuY3Rpb24oYSxiKXtfLk1nKGEsMzEsYil9XSksZzpuZXcgJHkoWzNdLFtmdW5jdGlvbihhLGIpe18uTWcoYSwxNCxiKX1dKSxnZDpuZXcgJHkoWzNdLFtmdW5jdGlvbihhLGIpe18uTWcoYSw4MyxiKX1dKSxnbTpuZXcgJHkoWzNdLFtmdW5jdGlvbihhLGIpe18uTWcoYSwxMDUsYil9XSksaDpuZXcgJHkoWzMsMF0sW2Z1bmN0aW9uKGEsYil7Xy5NZyhhLDQsYil9LGZ1bmN0aW9uKGEsYil7YS54ZChiKX1dKSxpOm5ldyAkeShbM10sXG5bZnVuY3Rpb24oYSxiKXtfLk1nKGEsMjIsYil9XSksaWM6bmV3ICR5KFswXSxbZnVuY3Rpb24oYSxiKXtfLk9pKGEsNzEsYil9XSksaWQ6bmV3ICR5KFszXSxbZnVuY3Rpb24oYSxiKXtfLk1nKGEsNzAsYil9XSksaWw6bmV3ICR5KFszXSxbZnVuY3Rpb24oYSxiKXtfLk1nKGEsOTYsYil9XSksaXA6bmV3ICR5KFszXSxbZnVuY3Rpb24oYSxiKXtfLk1nKGEsNTQsYil9XSksaXY6bmV3ICR5KFswXSxbZnVuY3Rpb24oYSxiKXtfLktmKGEsNzUsYil9XSksajpuZXcgJHkoWzFdLFtmdW5jdGlvbihhLGIpe18uUmkoYSwyOSxiKX1dKSxrOm5ldyAkeShbMywwXSxbZnVuY3Rpb24oYSxiKXtfLmpkYyhhLGIpfSxmdW5jdGlvbihhLGIpe18uT2koYSw0MixiKX1dKSxsOm5ldyAkeShbMF0sW2Z1bmN0aW9uKGEsYil7Xy5PaShhLDQ0LGIpfV0pLGxmOm5ldyAkeShbM10sW2Z1bmN0aW9uKGEsYil7Xy5NZyhhLDY1LGIpfV0pLGxvOm5ldyAkeShbM10sW2Z1bmN0aW9uKGEsYil7Xy5NZyhhLDk3LGIpfV0pLFxubTpuZXcgJHkoWzBdLFtmdW5jdGlvbihhLGIpe18uT2koYSw2MyxiKX1dKSxtZDpuZXcgJHkoWzNdLFtmdW5jdGlvbihhLGIpe18uTWcoYSw5MSxiKX1dKSxtbTpuZXcgJHkoWzRdLFtmdW5jdGlvbihhLGIpe18uRGUoYSw4MSxiKX1dKSxtbzpuZXcgJHkoWzNdLFtmdW5jdGlvbihhLGIpe18uTWcoYSw3MyxiKX1dKSxtdjpuZXcgJHkoWzNdLFtmdW5jdGlvbihhLGIpe18uTWcoYSw2NixiKX1dKSxuOm5ldyAkeShbM10sW2Z1bmN0aW9uKGEsYil7YS5zZXRDZW50ZXJDcm9wKGIpfV0pLG5jOm5ldyAkeShbM10sW2Z1bmN0aW9uKGEsYil7Xy5NZyhhLDU1LGIpfV0pLG5kOm5ldyAkeShbM10sW2Z1bmN0aW9uKGEsYil7Xy5NZyhhLDUzLGIpfV0pLG5nOm5ldyAkeShbM10sW2Z1bmN0aW9uKGEsYil7Xy5NZyhhLDk1LGIpfV0pLG5nbTpuZXcgJHkoWzNdLFtmdW5jdGlvbihhLGIpe18uTWcoYSwxMDYsYil9XSksbm86bmV3ICR5KFszXSxbZnVuY3Rpb24oYSxiKXtfLmxkYyhhLGIpfV0pLG5zOm5ldyAkeShbM10sXG5bZnVuY3Rpb24oYSxiKXtfLk1nKGEsNDAsYil9XSksbnQwOm5ldyAkeShbNF0sW2Z1bmN0aW9uKGEsYil7Xy5EZShhLDM2LGIpfV0pLG51Om5ldyAkeShbM10sW2Z1bmN0aW9uKGEsYil7Xy5NZyhhLDQ2LGIpfV0pLG53Om5ldyAkeShbM10sW2Z1bmN0aW9uKGEsYil7Xy5NZyhhLDQ4LGIpfV0pLG86bmV3ICR5KFsxLDNdLFtmdW5jdGlvbihhLGIpe18uUmkoYSw3LGIpfSxmdW5jdGlvbihhLGIpe18uTWcoYSwyNyxiKX1dKSxwOm5ldyAkeShbMywwXSxbZnVuY3Rpb24oYSxiKXtfLmlkYyhhLGIpfSxmdW5jdGlvbihhLGIpe18uT2koYSw0MyxiKX1dKSxwYTpuZXcgJHkoWzNdLFtmdW5jdGlvbihhLGIpe18uTWcoYSw2MSxiKX1dKSxwYzpuZXcgJHkoWzBdLFtmdW5jdGlvbihhLGIpe18uT2koYSw4OCxiKX1dKSxwZDpuZXcgJHkoWzNdLFtmdW5jdGlvbihhLGIpe18uTWcoYSw2MCxiKX1dKSxwZjpuZXcgJHkoWzNdLFtmdW5jdGlvbihhLGIpe18uTWcoYSw2NyxiKX1dKSxwZzpuZXcgJHkoWzNdLFxuW2Z1bmN0aW9uKGEsYil7Xy5NZyhhLDcyLGIpfV0pLHBpOm5ldyAkeShbMl0sW2Z1bmN0aW9uKGEsYil7Xy5XaShhLDc2LGIpfV0pLHBwOm5ldyAkeShbM10sW2Z1bmN0aW9uKGEsYil7Xy5NZyhhLDUyLGIpfV0pLHE6bmV3ICR5KFs0XSxbZnVuY3Rpb24oYSxiKXtfLkRlKGEsMjgsYil9XSkscjpuZXcgJHkoWzMsMF0sW2Z1bmN0aW9uKGEsYil7Xy5NZyhhLDYsYil9LGZ1bmN0aW9uKGEsYil7Xy5PaShhLDI2LGIpfV0pLHJhOm5ldyAkeShbM10sW2Z1bmN0aW9uKGEsYil7Xy5NZyhhLDEwMyxiKX1dKSxyZjpuZXcgJHkoWzNdLFtmdW5jdGlvbihhLGIpe18uTWcoYSwxMDAsYil9XSkscmc6bmV3ICR5KFszXSxbZnVuY3Rpb24oYSxiKXtfLk1nKGEsNTksYil9XSkscmg6bmV3ICR5KFszXSxbZnVuY3Rpb24oYSxiKXtfLk1nKGEsNDksYil9XSkscmo6bmV3ICR5KFszXSxbZnVuY3Rpb24oYSxiKXtfLk1nKGEsNTcsYil9XSkscm86bmV3ICR5KFsyXSxbZnVuY3Rpb24oYSxiKXtfLldpKGEsXG43OCxiKX1dKSxycDpuZXcgJHkoWzNdLFtmdW5jdGlvbihhLGIpe18uTWcoYSw1OCxiKX1dKSxydzpuZXcgJHkoWzNdLFtmdW5jdGlvbihhLGIpe18ua2RjKGEsYil9XSkscndhOm5ldyAkeShbM10sW2Z1bmN0aW9uKGEsYil7Xy5NZyhhLDY0LGIpfV0pLHJ3dTpuZXcgJHkoWzNdLFtmdW5jdGlvbihhLGIpe18uTWcoYSw0MSxiKX1dKSxzOm5ldyAkeShbMywwXSxbZnVuY3Rpb24oYSxiKXtfLk1nKGEsMzMsYil9LGZ1bmN0aW9uKGEsYil7YS5zZXRTaXplKGIpfV0pLHNiOm5ldyAkeShbMF0sW2Z1bmN0aW9uKGEsYil7Xy5PaShhLDExMCxiKX1dKSxzYzpuZXcgJHkoWzBdLFtmdW5jdGlvbihhLGIpe18uT2koYSw4OSxiKX1dKSxzZzpuZXcgJHkoWzNdLFtmdW5jdGlvbihhLGIpe18uTWcoYSw4MixiKX1dKSxzbDpuZXcgJHkoWzBdLFtmdW5jdGlvbihhLGIpe18uT2koYSwxMDksYil9XSksc206bmV3ICR5KFszXSxbZnVuY3Rpb24oYSxiKXtfLk1nKGEsOTMsYil9XSksdDpuZXcgJHkoWzRdLFxuW2Z1bmN0aW9uKGEsYil7YS5zZXRUb2tlbihiKX1dKSx1Om5ldyAkeShbM10sW2Z1bmN0aW9uKGEsYil7Xy5NZyhhLDE4LGIpfV0pLHV0Om5ldyAkeShbM10sW2Z1bmN0aW9uKGEsYil7Xy5NZyhhLDQ1LGIpfV0pLHY6bmV3ICR5KFswXSxbZnVuY3Rpb24oYSxiKXtfLm1kYyhhLGIpfV0pLHZiOm5ldyAkeShbMF0sW2Z1bmN0aW9uKGEsYil7Xy5LZihhLDY4LGIpfV0pLHZmOm5ldyAkeShbNF0sW2Z1bmN0aW9uKGEsYil7Xy5EZShhLDEwMixiKX1dKSx2bDpuZXcgJHkoWzBdLFtmdW5jdGlvbihhLGIpe18uS2YoYSw2OSxiKX1dKSx2bTpuZXcgJHkoWzNdLFtmdW5jdGlvbihhLGIpe18uTWcoYSw5OCxiKX1dKSx3Om5ldyAkeShbMF0sW2Z1bmN0aW9uKGEsYil7YS5EZChiKX1dKSx4Om5ldyAkeShbMF0sW2Z1bmN0aW9uKGEsYil7Xy5PaShhLDksYil9XSkseTpuZXcgJHkoWzBdLFtmdW5jdGlvbihhLGIpe18uT2koYSwxMCxiKX1dKSx5YTpuZXcgJHkoWzJdLFtmdW5jdGlvbihhLGIpe18uV2koYSxcbjc3LGIpfV0pLHo6bmV3ICR5KFswXSxbZnVuY3Rpb24oYSxiKXtfLk9pKGEsMTEsYil9XSl9O1xuXy5wZGMucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBfLlp5LGM9bmV3IF8uWnk7aWYoYT09XCJcIilhPSEwO2Vsc2V7YT1hLnNwbGl0KFwiLVwiKTtmb3IodmFyIGQ9ITAsZT0wO2U8YS5sZW5ndGg7ZSsrKXt2YXIgZj1hW2VdO2lmKGYubGVuZ3RoPT0wKWQ9ITE7ZWxzZXt2YXIgZz1mLGg9ITE7dmFyIGs9Zzt2YXIgbD1nLmNoYXJBdCgwKTtsIT1sLnRvTG93ZXJDYXNlKCkmJihoPSEwLGs9Zy5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKStnLnN1YnN0cmluZygxKSk7dmFyIG49bmRjO2ZvcihsPTE7bDw9ay5sZW5ndGg7KytsKXt2YXIgcj1uLHQ9ay5zdWJzdHJpbmcoMCxsKTtpZih0Lmxlbmd0aD09MD9yLmlzRW1wdHkoKTohXy5NTWIocix0KSlicmVha31rPWw9PTE/bnVsbDooaz1uLmdldChrLnN1YnN0cmluZygwLGwtMSkpKT97b3B0aW9uOmcuc3Vic3RyaW5nKDAsbC0xKSx2YWx1ZTpnLnN1YnN0cmluZyhsLTEpLEhQZDpoLGF0dHJpYnV0ZXM6a306bnVsbDtpZihrKXtnPVxuW107aD1bXTtsPSExO2ZvcihuPTA7bjxrLmF0dHJpYnV0ZXMudHlwZXMubGVuZ3RoO24rKyl7cj1rLmF0dHJpYnV0ZXMudHlwZXNbbl07dmFyIHU9ay52YWx1ZTt0PWU7aWYoay5IUGQmJnI9PTEpZm9yKHZhciB6PXUubGVuZ3RoO3o8MTImJnQ8YS5sZW5ndGgtMTspdSs9XCItXCIrYVt0KzFdLHo9dS5sZW5ndGgsKyt0O2Vsc2UgaWYocj09Milmb3IoO3Q8YS5sZW5ndGgtMSYmYVt0KzFdLm1hdGNoKC9eW1xcZFxcLl0vKTspdSs9XCItXCIrYVt0KzFdLCsrdDt6PWsuYXR0cmlidXRlcy5vYVtuXTt1PXFkYyh0aGlzLHIpKGsub3B0aW9uLHUsYixjLHopO2lmKHU9PT1udWxsKXtsPSEwO2U9dDticmVha31lbHNlIGcucHVzaChyKSxoLnB1c2godSl9aWYoIWwpZm9yKGs9MDtrPGgubGVuZ3RoO2srKyluPWdba10sdT1oW2tdLHJkYyh0aGlzLG4pKGYsdSk7ZD1kJiZsfWVsc2UgZD0hMX19YT1kfXJldHVybiBuZXcgc2RjKGIsYyxhKX07XG52YXIgdGRjPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtlKGMsYik7YT1hLmNoYXJBdCgwKTtmPWYoYT09YS50b1VwcGVyQ2FzZSgpKTtlKGQsZil9O18ubT1fLnBkYy5wcm90b3R5cGU7Xy5tLkRFZD1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKGI9PVwiXCIpcmV0dXJuIDA7Yj1fLkh5YShiKTtpZihpc05hTihiKSlyZXR1cm4gMTt0ZGMoYSxiLGMsZCxlLE51bWJlcik7cmV0dXJuIG51bGx9O18ubS5WdmQ9ZnVuY3Rpb24oKXt9O18ubS5DRWQ9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihiPT1cIlwiKXJldHVybiAwO2I9Xy5obChiKTtpZihpc05hTihiKSlyZXR1cm4gMTt0ZGMoYSxiLGMsZCxlLE51bWJlcik7cmV0dXJuIG51bGx9O18ubS5TdmQ9ZnVuY3Rpb24oKXt9O18ubS5CRWQ9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihiIT1cIlwiKXJldHVybiAyO3RkYyhhLCEwLGMsZCxlLEJvb2xlYW4pO3JldHVybiBudWxsfTtfLm0uS3ZkPWZ1bmN0aW9uKCl7fTtcbl8ubS5FRWQ9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihiPT1cIlwiKXJldHVybiAwO3RkYyhhLGIsYyxkLGUsZnVuY3Rpb24oZil7cmV0dXJuIGY/XCIxXCI6XCJcIn0pO3JldHVybiBudWxsfTtfLm0uYndkPWZ1bmN0aW9uKCl7fTtfLm0uRkVkPWZ1bmN0aW9uKGEsYixjLGQsZSl7aWYoYj09XCJcIilyZXR1cm4gMDt0ZGMoYSxiLGMsZCxlLGZ1bmN0aW9uKGYpe3JldHVybiBmPzE6MH0pO3JldHVybiBudWxsfTtcbnZhciBxZGM9ZnVuY3Rpb24oYSxiKXtzd2l0Y2goYil7Y2FzZSAwOnJldHVybigwLF8uaGgpKGEuREVkLGEpO2Nhc2UgMjpyZXR1cm4oMCxfLmhoKShhLkNFZCxhKTtjYXNlIDM6cmV0dXJuKDAsXy5oaCkoYS5CRWQsYSk7Y2FzZSA0OnJldHVybigwLF8uaGgpKGEuRUVkLGEpO2Nhc2UgMTpyZXR1cm4oMCxfLmhoKShhLkZFZCxhKTtkZWZhdWx0OnJldHVybiBmdW5jdGlvbigpe319fSxyZGM9ZnVuY3Rpb24oYSxiKXtzd2l0Y2goYil7Y2FzZSAwOnJldHVybigwLF8uaGgpKGEuVnZkLGEpO2Nhc2UgMjpyZXR1cm4oMCxfLmhoKShhLlN2ZCxhKTtjYXNlIDM6cmV0dXJuKDAsXy5oaCkoYS5LdmQsYSk7Y2FzZSA0OmNhc2UgMTpyZXR1cm4oMCxfLmhoKShhLmJ3ZCxhKTtkZWZhdWx0OnJldHVybiBmdW5jdGlvbigpe319fSxzZGM9ZnVuY3Rpb24oYSxiLGMpe3RoaXMub2E9YTt0aGlzLkFhPWI7dGhpcy5CYT1jfTtzZGMucHJvdG90eXBlLkVqPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQmF9O3ZhciB1ZGM9L15bXlxcL10qXFwvXFwvLyx2ZGM9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/ITE6Yjt0aGlzLkFhPWE7dGhpcy5DYT1cIlwiOyhhPXRoaXMuQWEubWF0Y2godWRjKSkmJmFbMF0/KHRoaXMuQ2E9YVswXSxhPXRoaXMuQ2EubWF0Y2goL1xcdysvKT90aGlzLkFhOlwiaHR0cDovL1wiK3RoaXMuQWEuc3Vic3RyaW5nKHRoaXMuQ2EubGVuZ3RoKSk6YT1cImh0dHA6Ly9cIit0aGlzLkFhO3RoaXMuR2E9Xy5ZbShhLCEwKTt0aGlzLndiPWI7dGhpcy5MYT0hMDt0aGlzLkdiPSExfSx3ZGM9ZnVuY3Rpb24oYSxiKXthLkJhPWEuQmE/YS5CYSsoXCIvXCIrYik6Yn0seGRjPWZ1bmN0aW9uKGEpe2lmKGEub2E9PXZvaWQgMCl7dmFyIGI9YS5HYS5nZXRQYXRoKCkuc3Vic3RyaW5nKDEpO2EuQmE9bnVsbDtpZihhLndiKXthLm9hPVtdO2lmKChiLm1hdGNoKC89L2cpfHxbXSkubGVuZ3RoPjEpcmV0dXJuIGEuTGE9ITEsYS5vYTt2YXIgYz1iLmluZGV4T2YoXCI9XCIpO2MhPS0xPyhhLm9hLnB1c2goYi5zdWJzdHIoMCxcbmMpKSxhLm9hLnB1c2goYi5zdWJzdHIoYysxKSkpOmEub2EucHVzaChiKTtyZXR1cm4gYS5vYX1hLm9hPWIuc3BsaXQoXCIvXCIpO2I9YS5vYS5sZW5ndGg7Yj4yJiZhLm9hWzBdPT1cInVcIiYmKHdkYyhhLGEub2FbMF0rXCIvXCIrYS5vYVsxXSksYS5vYS5zaGlmdCgpLGEub2Euc2hpZnQoKSxiLT0yKTtpZihiPT0wfHxiPT00fHxiPjcpcmV0dXJuIGEuTGE9ITEsYS5vYTtpZihiPT0yKXdkYyhhLGEub2FbMF0pO2Vsc2UgaWYoYS5vYVswXT09XCJpbWFnZVwiKXdkYyhhLGEub2FbMF0pO2Vsc2UgaWYoYj09N3x8Yj09MylyZXR1cm4gYS5MYT0hMSxhLm9hO2lmKGI8PTMpe2EuR2I9ITA7Yj09MyYmKHdkYyhhLGEub2FbMV0pLGEub2Euc2hpZnQoKSwtLWIpOy0tYjtjPWEub2FbYl07dmFyIGQ9Yy5pbmRleE9mKFwiPVwiKTtkIT0tMSYmKGEub2FbYl09Yy5zdWJzdHIoMCxkKSxhLm9hLnB1c2goYy5zdWJzdHIoZCsxKSkpfX1yZXR1cm4gYS5vYX0sQ2RjO1xudmRjLnByb3RvdHlwZS5Faj1mdW5jdGlvbigpe3hkYyh0aGlzKTtyZXR1cm4gdGhpcy5MYX07Xy55ZGM9ZnVuY3Rpb24oYSl7eGRjKGEpO3JldHVybiBhLkdifTtfLnpkYz1mdW5jdGlvbihhKXt4ZGMoYSk7cmV0dXJuIGEud2J9O3ZkYy5wcm90b3R5cGUuRXE9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLkdhLkNhO3JldHVybiB0aGlzLkdhLkVxKCkrKGE/XCI6XCIrYTpcIlwiKX07dmRjLnByb3RvdHlwZS5nZXRRdWVyeT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkdhLm9hLnRvU3RyaW5nKCl9O18uQWRjPWZ1bmN0aW9uKGEpe3hkYyhhKTthLkJhPT12b2lkIDAmJihhLkJhPW51bGwpO3JldHVybiBhLkJhfTtfLkJkYz1mdW5jdGlvbihhKXtzd2l0Y2goeGRjKGEpLmxlbmd0aCl7Y2FzZSA3OnJldHVybiEwO2Nhc2UgNjpyZXR1cm4gXy5BZGMoYSk9PW51bGw7Y2FzZSA1OnJldHVybiExO2Nhc2UgMzpyZXR1cm4hMDtjYXNlIDI6cmV0dXJuIF8uQWRjKGEpPT1udWxsO2Nhc2UgMTpyZXR1cm4hMTtkZWZhdWx0OnJldHVybiExfX07XG5DZGM9ZnVuY3Rpb24oYSxiKXtpZihfLnpkYyhhKSlhOntzd2l0Y2goYil7Y2FzZSA3OmI9MDticmVhaztjYXNlIDQ6aWYoIV8uQmRjKGEpKXthPW51bGw7YnJlYWsgYX1iPTE7YnJlYWs7ZGVmYXVsdDphPW51bGw7YnJlYWsgYX1hPXhkYyhhKVtiXX1lbHNlIGlmKF8ueWRjKGEpKWE6e3ZhciBjPV8uQWRjKGEpIT1udWxsPzE6MDtzd2l0Y2goYil7Y2FzZSA2OmI9YzticmVhaztjYXNlIDQ6aWYoIV8uQmRjKGEpKXthPW51bGw7YnJlYWsgYX1iPTErYzticmVhaztkZWZhdWx0OmE9bnVsbDticmVhayBhfWE9eGRjKGEpW2JdfWVsc2UgYTp7Yz1fLkFkYyhhKSE9bnVsbD8xOjA7c3dpdGNoKGIpe2Nhc2UgMDpiPWM7YnJlYWs7Y2FzZSAxOmI9MStjO2JyZWFrO2Nhc2UgMjpiPTIrYzticmVhaztjYXNlIDM6Yj0zK2M7YnJlYWs7Y2FzZSA0OmlmKCFfLkJkYyhhKSl7YT1udWxsO2JyZWFrIGF9Yj00K2M7YnJlYWs7Y2FzZSA1OmI9Xy5CZGMoYSk/MTowO2I9NCtjK2I7YnJlYWs7ZGVmYXVsdDphPVxubnVsbDticmVhayBhfWE9eGRjKGEpW2JdfXJldHVybiBhfTtfLkRkYz1mdW5jdGlvbihhKXthLkJiPT12b2lkIDAmJihhLkJiPUNkYyhhLDYpKTtyZXR1cm4gYS5CYn07Xy5FZGM9ZnVuY3Rpb24oYSl7YS5PYT09dm9pZCAwJiYoYS5PYT1DZGMoYSwwKSk7cmV0dXJuIGEuT2F9O18uRmRjPWZ1bmN0aW9uKGEpe2EuT2I9PXZvaWQgMCYmKGEuT2I9Q2RjKGEsMSkpO3JldHVybiBhLk9ifTtfLkdkYz1mdW5jdGlvbihhKXthLmtiPT12b2lkIDAmJihhLmtiPUNkYyhhLDIpKTtyZXR1cm4gYS5rYn07Xy5IZGM9ZnVuY3Rpb24oYSl7YS5SYj09dm9pZCAwJiYoYS5SYj1DZGMoYSwzKSk7cmV0dXJuIGEuUmJ9O3ZkYy5wcm90b3R5cGUuZ2V0T3B0aW9ucz1mdW5jdGlvbigpe3RoaXMuUWE9PXZvaWQgMCYmKHRoaXMuUWE9Q2RjKHRoaXMsNCkpO3JldHVybiB0aGlzLlFhfTtfLklkYz1mdW5jdGlvbihhKXthLlVhPT12b2lkIDAmJihhLlVhPUNkYyhhLDUpKTtyZXR1cm4gYS5VYX07XG5fLkpkYz1mdW5jdGlvbihhKXthLmhiPT09dm9pZCAwJiYoYS5oYj1DZGMoYSw3KSk7cmV0dXJuIGEuaGJ9O18uS2RjPWZ1bmN0aW9uKCl7fTtfLktkYy5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IF8uTGRjKGEsYj09PXZvaWQgMD8hMTpiKX07Xy5MZGM9ZnVuY3Rpb24oYSxiKXt2ZGMuY2FsbCh0aGlzLGEsYj09PXZvaWQgMD8hMTpiKX07Xy5EKF8uTGRjLHZkYyk7Xy5NZGM9ZnVuY3Rpb24oYSl7aWYoYS5SYT09dm9pZCAwKXt2YXIgYj1hLmdldE9wdGlvbnMoKTtifHwoYj1cIlwiKTthLlJhPShuZXcgXy5wZGMpLnBhcnNlKGIpfXJldHVybiBhLlJhfTtfLk5kYz1mdW5jdGlvbihhKXt0aGlzLkFhPW5ldyB2ZGMoYSwhMSk7dGhpcy5vYT17fX07XG5fLk9kYz1mdW5jdGlvbihhLGIpe2Eub2E9e3NpemU6Xy5laShiLDEpLHdpZHRoOl8uZWkoYiwxMiksaGVpZ2h0Ol8uZWkoYiwxMyksZzQ6Xy5FKGIsMiwhMSkscjRhOl8uRShiLDIwLCExKSxzRGI6Xy5kaShiLDYwKSxKUGE6Xy5laShiLDE1KSxUOWE6Xy5HZShiLDE2KSxrRmI6Xy5FKGIsMzUsITEpLGxGYjpfLkUoYiw0MSwhMSksZkZiOl8uRShiLDY0LCExKSxpRmI6Xy5kaShiLDU3KSxqRmI6Xy5kaShiLDU4KSxVemI6Xy5kaShiLDE3KSx3eGI6Xy5IaShiLDU0KSxaVmE6Xy5laShiLDg4KSxSd2I6Xy5kaShiLDMwKSx4TGI6Xy5kaShiLDMxKSxsb2I6Xy5kaShiLDUxKSxnZmI6Xy5FKGIsMTksITEpLFpwYjpfLmRpKGIsODApLFZXYTpfLmVpKGIsNDQpLFVXYTpfLmVpKGIsNjIpLGJvcmRlckNvbG9yOl8uZWkoYiwzOSksT09hOl8uR2UoYiw5OSksbXNiOl8uZGkoYiw4NCksYSRhOl8uSmkoYiw3NSksaktiOl8uSGkoYiwxOCksaENiOl8uSGkoYiwzNyksVEFiOl8uSGkoYiw5Nyl9fTtcbl8ubT1fLk5kYy5wcm90b3R5cGU7XG5fLm0ubW1hPWZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGY7dGhpcy5vYT17c2l6ZTpfLmVpKGEsMSkhPT12b2lkIDA/Xy5laShhLDEpOnRoaXMub2Euc2l6ZSx3aWR0aDpfLmVpKGEsMTIpIT09dm9pZCAwP18uZWkoYSwxMik6dGhpcy5vYS53aWR0aCxoZWlnaHQ6Xy5laShhLDEzKSE9PXZvaWQgMD9fLmVpKGEsMTMpOnRoaXMub2EuaGVpZ2h0LGc0Ol8uRShhLDIsITEpfHx0aGlzLm9hLmc0LHI0YTpfLkUoYSwyMCwhMSl8fHRoaXMub2EucjRhLHNEYjpfLmRpKGEsNjApfHx0aGlzLm9hLnNEYixKUGE6Xy5laShhLDE1KSE9PXZvaWQgMD9fLmVpKGEsMTUpOnRoaXMub2EuSlBhLFQ5YTpfLkdlKGEsMTYpIT09dm9pZCAwP18uR2UoYSwxNik6dGhpcy5vYS5UOWEsa0ZiOl8uRShhLDM1LCExKXx8dGhpcy5vYS5rRmIsbEZiOl8uRShhLDQxLCExKXx8dGhpcy5vYS5sRmIsZkZiOl8uRShhLDY0LCExKXx8dGhpcy5vYS5mRmIsaUZiOl8uZGkoYSw1Nyl8fHRoaXMub2EuaUZiLGpGYjpfLmRpKGEsXG41OCl8fHRoaXMub2EuakZiLFV6YjpfLmRpKGEsMTcpfHx0aGlzLm9hLlV6Yix3eGI6KGI9Xy5kaShhLDU0KSkhPW51bGw/Yjp0aGlzLm9hLnd4YixaVmE6Xy5laShhLDg4KSE9PXZvaWQgMD9fLmVpKGEsODgpOnRoaXMub2EuWlZhLFJ3YjpfLmRpKGEsMzApfHx0aGlzLm9hLlJ3Yix4TGI6Xy5kaShhLDMxKXx8dGhpcy5vYS54TGIsbG9iOl8uZGkoYSw1MSl8fHRoaXMub2EubG9iLGdmYjpfLkUoYSwxOSwhMSl8fHRoaXMub2EuZ2ZiLFpwYjpfLmRpKGEsODApfHx0aGlzLm9hLlpwYixWV2E6Xy5laShhLDQ0KSE9PXZvaWQgMD9fLmVpKGEsNDQpOnRoaXMub2EuVldhLFVXYTpfLmVpKGEsNjIpIT09dm9pZCAwP18uZWkoYSw2Mik6dGhpcy5vYS5VV2EsYm9yZGVyQ29sb3I6Xy5laShhLDM5KSE9PXZvaWQgMD9fLmVpKGEsMzkpOnRoaXMub2EuYm9yZGVyQ29sb3IsT09hOl8uR2UoYSw5OSkhPT12b2lkIDA/Xy5HZShhLDk5KTp0aGlzLm9hLk9PYSxtc2I6Xy5kaShhLDg0KXx8dGhpcy5vYS5tc2IsXG5hJGE6KGM9Xy5KaShhLDc1KSkhPW51bGw/Yzp0aGlzLm9hLmEkYSxqS2I6KGQ9Xy5IaShhLDE4KSkhPW51bGw/ZDp0aGlzLm9hLmpLYixoQ2I6KGU9Xy5IaShhLDM3KSkhPW51bGw/ZTp0aGlzLm9hLmhDYixUQWI6KGY9Xy5IaShhLDk3KSkhPW51bGw/Zjp0aGlzLm9hLlRBYn19O18ubS5zZXRTaXplPWZ1bmN0aW9uKGEpe3RoaXMub2Euc2l6ZT1hfTtfLm0uRGQ9ZnVuY3Rpb24oYSl7dGhpcy5vYS53aWR0aD1hfTtfLm0ueGQ9ZnVuY3Rpb24oYSl7dGhpcy5vYS5oZWlnaHQ9YX07Xy5tLnNldENlbnRlckNyb3A9ZnVuY3Rpb24oKXt0aGlzLm9hLnI0YT0hMH07XG5fLm0uYnVpbGQ9ZnVuY3Rpb24oKXtpZighdGhpcy5BYS5FaigpKXJldHVybiB0aGlzLkFhLkFhO3ZhciBhPVtdO18uQWRjKHRoaXMuQWEpIT1udWxsJiZhLnB1c2goXy5BZGModGhpcy5BYSkpO3ZhciBiPVtdO3RoaXMub2Euc2l6ZSYmYi5wdXNoKFwic1wiK3RoaXMub2Euc2l6ZS50b1N0cmluZygpKTt0aGlzLm9hLndpZHRoJiZiLnB1c2goXCJ3XCIrdGhpcy5vYS53aWR0aC50b1N0cmluZygpKTt0aGlzLm9hLmhlaWdodCYmYi5wdXNoKFwiaFwiK3RoaXMub2EuaGVpZ2h0LnRvU3RyaW5nKCkpO3RoaXMub2EuZzQmJmIucHVzaChcImNcIik7dGhpcy5vYS5yNGEmJmIucHVzaChcIm5cIik7dGhpcy5vYS5zRGImJmIucHVzaChcInBkXCIpO3RoaXMub2EuSlBhIT09dm9pZCAwJiZ0aGlzLm9hLkpQYSE9PW51bGwmJmIucHVzaChcImVcIit0aGlzLm9hLkpQYS50b1N0cmluZygpKTt0aGlzLm9hLlQ5YSYmYi5wdXNoKFwiZlwiK3RoaXMub2EuVDlhKTt0aGlzLm9hLmtGYiYmYi5wdXNoKFwicndcIik7dGhpcy5vYS5sRmImJlxuYi5wdXNoKFwicnd1XCIpO3RoaXMub2EuZkZiJiZiLnB1c2goXCJyd2FcIik7dGhpcy5vYS5pRmImJmIucHVzaChcInJqXCIpO3RoaXMub2EuakZiJiZiLnB1c2goXCJycFwiKTt0aGlzLm9hLlV6YiYmYi5wdXNoKFwia1wiKTt0aGlzLm9hLnd4YiYmYi5wdXNoKFwiaXBcIik7dGhpcy5vYS5aVmEhPT12b2lkIDAmJnRoaXMub2EuWlZhIT09bnVsbCYmYi5wdXNoKFwicGMweFwiK3RoaXMub2EuWlZhLnRvU3RyaW5nKDE2KSk7dGhpcy5vYS5Sd2ImJmIucHVzaChcImZoXCIpO3RoaXMub2EueExiJiZiLnB1c2goXCJmdlwiKTt0aGlzLm9hLmxvYiYmYi5wdXNoKFwiY2NcIik7dGhpcy5vYS5nZmImJmIucHVzaChcInBcIik7dGhpcy5vYS5acGImJmIucHVzaChcImRmXCIpO3RoaXMub2EuVldhIT09dm9pZCAwJiZ0aGlzLm9hLlZXYSE9PW51bGwmJmIucHVzaChcImxcIit0aGlzLm9hLlZXYS50b1N0cmluZygpKTt0aGlzLm9hLlVXYSE9PXZvaWQgMCYmdGhpcy5vYS5VV2EhPT1udWxsJiZiLnB1c2goXCJ2XCIrdGhpcy5vYS5VV2EudG9TdHJpbmcoKSk7XG50aGlzLm9hLmJvcmRlckNvbG9yIT09dm9pZCAwJiZ0aGlzLm9hLmJvcmRlckNvbG9yIT09bnVsbCYmYi5wdXNoKFwiYzB4XCIrdGhpcy5vYS5ib3JkZXJDb2xvci50b1N0cmluZygxNikpO3RoaXMub2EuT09hIT09dm9pZCAwJiZ0aGlzLm9hLk9PYSE9PW51bGwmJmIucHVzaChcImRjXCIrXy56aCh0aGlzLm9hLk9PYSw0KS5yZXBsYWNlQWxsKFwiLVwiLFwiflwiKSk7dGhpcy5vYS5tc2ImJmIucHVzaChcImZtXCIpO3RoaXMub2EuYSRhJiZiLnB1c2goXCJpdlwiK3RoaXMub2EuYSRhLnRvU3RyaW5nKCkpO3RoaXMub2EuaktiJiZiLnB1c2goXCJVXCIpO3RoaXMub2EuaENiJiZiLnB1c2goXCJub1wiKTt0aGlzLm9hLlRBYiYmYi5wdXNoKFwibG9cIik7dmFyIGM9Yi5qb2luKFwiLVwiKTtiPV8uemRjKHRoaXMuQWEpO18ueWRjKHRoaXMuQWEpPyhjPV8uRGRjKHRoaXMuQWEpKyhjP1wiPVwiK2M6XCJcIiksYS5wdXNoKGMpKTpiPyhhLnB1c2goXy5KZGModGhpcy5BYSkpLGMmJmEucHVzaChjKSk6KGEucHVzaChfLkVkYyh0aGlzLkFhKSksXG5hLnB1c2goXy5GZGModGhpcy5BYSkpLGEucHVzaChfLkdkYyh0aGlzLkFhKSksYS5wdXNoKF8uSGRjKHRoaXMuQWEpKSxjJiZhLnB1c2goYyksYS5wdXNoKF8uSWRjKHRoaXMuQWEpKSk7YT1iP2Euam9pbihcIj1cIik6YS5qb2luKFwiL1wiKTtiPXRoaXMuQWEuZ2V0UXVlcnkoKTthPXRoaXMuQWEuQ2ErdGhpcy5BYS5FcSgpK1wiL1wiK2ErKGI/XCI/XCIrYjpcIlwiKTthPV8uWW0oYSkudG9TdHJpbmcoKTthLnN0YXJ0c1dpdGgoXCIlM2EvL1wiKSYmKGE9YS5yZXBsYWNlKFwiJTNhLy9cIixcIjovL1wiKSk7cmV0dXJuIGF9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLkk1YT1mdW5jdGlvbihhLGIpe2EhPW51bGwmJnRoaXMuYXBwZW5kLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07Xy5tPV8uSTVhLnByb3RvdHlwZTtfLm0uZmlhPVwiXCI7Xy5tLnNldD1mdW5jdGlvbihhKXt0aGlzLmZpYT1cIlwiK2F9O18ubS5hcHBlbmQ9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZmlhKz1TdHJpbmcoYSk7aWYoYiE9bnVsbClmb3IodmFyIGQ9MTtkPGFyZ3VtZW50cy5sZW5ndGg7ZCsrKXRoaXMuZmlhKz1hcmd1bWVudHNbZF07cmV0dXJuIHRoaXN9O18ubS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuZmlhPVwiXCJ9O18ubS5nZXRMZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5maWEubGVuZ3RofTtfLm0udG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5maWF9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgUGRjLFFkYyxSZGMsU2RjO1xuUGRjPVJlZ0V4cChcIl4oKGh0dHAocyk/KTopP1xcXFwvXFxcXC8oKCgobGhbMy02XSgtdHR8LWRbYS1nLHksel18LXRlc3Rvbmx5KT9cXFxcLigoZ2dwaHQpfChnb29nbGV1c2VyY29udGVudCl8KGdvb2dsZSl8KHNhbmRib3hcXFxcLmdvb2dsZSkpKXwobGg3XFxcXC0oZXV8dXN8cXd8cnQpXFxcXC4oKGdvb2dsZXVzZXJjb250ZW50KXwoZ29vZ2xlKSkpfCgocGhvdG9zfHRlc3Rvbmx5fHdvcmspXFxcXC5maWZlXFxcXC51c2VyY29udGVudFxcXFwuZ29vZ2xlKXwoW1xcXFx3XFxcXC1dK1xcXFwuZmlmZVxcXFwudXNlcmNvbnRlbnRcXFxcLmdvb2dsZSl8KChbMS00XVxcXFwuYnBcXFxcLmJsb2dzcG90KXwoYnBbMC0zXVxcXFwuYmxvZ2dlcikpfChjY3AtbGhcXFxcLmdvb2dsZXVzZXJjb250ZW50KXwoKCgoY3B8Y2l8Z3ApWzMtNl0pfChhcFsxLTJdKSlcXFxcLihnZ3BodHxnb29nbGV1c2VyY29udGVudCkpfChnbVsxLTRdXFxcXC5nZ3BodCl8KHBsYXktKHRpLSk/bGhcXFxcLmdvb2dsZXVzZXJjb250ZW50KXwoZ3owXFxcXC5nb29nbGV1c2VyY29udGVudCl8KCgoeXRbMy00XSl8KHNwWzEtM10pKVxcXFwuKGdncGh0fGdvb2dsZXVzZXJjb250ZW50KSkpXFxcXC5jb20pfChkcml2ZVxcXFwuZ29vZ2xlXFxcXC5jb21cXFxcL2RyaXZlXFxcXC0odXNlcmNvbnRlbnR8dmlld2VyKSl8KGRwWzMtNl1cXFxcLmdvb2dsZXVzZXJjb250ZW50XFxcXC5jbil8KGxoWzMtNl1cXFxcLihnb29nbGVhZHNzZXJ2aW5nXFxcXC5jbnx4bi0tOWtyN2xcXFxcLmNvbSkpfCgocGhvdG9zfGRyaXZlfGNvbnRyaWJ1dGlvbilcXFxcLWltYWdlXFxcXC0oZGV2fHFhKSgtYXV0aHwtY29va2llKT9cXFxcLmNvcnBcXFxcLmdvb2dsZVxcXFwuY29tKXwocGhvdG9zXFxcXC1pbWFnZVxcXFwtZGV2XFxcXC1kbFxcXFwtKGF1dGh8ZXV8dXMpXFxcXC5jb3JwXFxcXC5nb29nbGVcXFxcLmNvbSl8KChkZXZ8ZGV2MnxkZXYzfHFhfHFhMnxxYTN8cWEtcmVkfHFhLWJsdWV8Y2FuYXJ5KVstLl1saWdodGhvdXNlXFxcXC5zYW5kYm94XFxcXC5nb29nbGVcXFxcLmNvbVxcXFwvaW1hZ2UpfChpbWFnZVxcXFwtKGRldnxxYSlcXFxcLWxpZ2h0aG91c2UoLWF1dGgpP1xcXFwuc2FuZGJveFxcXFwuZ29vZ2xlXFxcXC5jb20oXFxcXC9pbWFnZSk/KXwoZHJpdmVcXFxcLXFhXFxcXC5jb3JwXFxcXC5nb29nbGVcXFxcLmNvbVxcXFwvZHJpdmVcXFxcLSh1c2VyY29udGVudHx2aWV3ZXIpKSlcXFxcL1wiLFwiaVwiKTtcblFkYz0vXihodHRwcz86KT9cXC9cXC9zcFsxLTRdXFwuKChnZ3BodCl8KGdvb2dsZXVzZXJjb250ZW50KSlcXC5jb21cXC8vaTtSZGM9L14oaHR0cHM/Oik/XFwvXFwvKHFhKC1yZWR8LWJsdWUpP3xkZXYyP3xpbWFnZS1kZXYpKC18XFwuKWxpZ2h0aG91c2UoLWF1dGgpP1xcLnNhbmRib3hcXC5nb29nbGVcXC5jb21cXC8vaTtTZGM9L14oaHR0cHM/Oik/XFwvXFwvbGlnaHRob3VzZS0ocWEoLXJlZHwtYmx1ZSk/fGRldjIpXFwuY29ycFxcLmdvb2dsZVxcLmNvbVxcLy9pO18uVGRjPWZ1bmN0aW9uKGEpe3JldHVybiBQZGMudGVzdChhKXx8UWRjLnRlc3QoYSl8fFJkYy50ZXN0KGEpfHxTZGMudGVzdChhKX07dmFyIFdkYyxVZGMsWGRjLFZkYztXZGM9ZnVuY3Rpb24oYSl7dGhpcy5CYT1udWxsO3RoaXMuQWE9W107dGhpcy5Odj1udWxsO3RoaXMuT2c9VWRjO1ZkYyh0aGlzLGEpfTtVZGM9bnVsbDtYZGM9ZnVuY3Rpb24oYSl7YS5CYT09bnVsbCYmKGEuQmE9bmV3IF8ucGRjKTtyZXR1cm4gYS5CYX07VmRjPWZ1bmN0aW9uKGEsYil7YS5Odj1iP3R5cGVvZiBiPT09XCJzdHJpbmdcIj9YZGMoYSkucGFyc2UoYik6YjpYZGMoYSkucGFyc2UoXCJcIil9O18uYXo9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09Yj8hMTohMH07Xy5tPVdkYy5wcm90b3R5cGU7Xy5tLlQwYT1mdW5jdGlvbihhKXthPWF8fHZvaWQgMDt2YXIgYj10aGlzLk52LGM9Yi5vYTtfLmF6KGEsXy5FKGMsMiwhMSksXy5FKGIuQWEsMiwhMSkpJiZfLmhkYyhjLGEpO3JldHVybiB0aGlzfTtcbl8ubS5TMGE9ZnVuY3Rpb24oYSl7YT1hfHx2b2lkIDA7dmFyIGI9dGhpcy5OdixjPWIub2E7Xy5heihhLF8uZGkoYyw1MSksXy5kaShiLkFhLDUxKSkmJl8uTWcoYyw1MSxhKTtyZXR1cm4gdGhpc307Xy5tLlZoYj1mdW5jdGlvbihhKXthPWF8fHZvaWQgMDt2YXIgYj10aGlzLk52LGM9Yi5vYTtfLmF6KGEsXy5kaShjLDMyKSxfLmRpKGIuQWEsMzIpKSYmXy5NZyhjLDMyLGEpO3JldHVybiB0aGlzfTtfLm0uV2hiPWZ1bmN0aW9uKGEpe2E9YXx8dm9pZCAwO3ZhciBiPXRoaXMuTnYsYz1iLm9hO18uYXooYSxfLkdlKGMsMTYpLF8uR2UoYi5BYSwxNikpJiZfLkRlKGMsMTYsYSk7cmV0dXJuIHRoaXN9O18ubS54ZD1mdW5jdGlvbihhKXt2YXIgYj10aGlzLk52LGM9Yi5vYTtfLmF6KGEsYy54YygpLGIuQWEueGMoKSkmJmMueGQoYSk7cmV0dXJuIHRoaXN9O1xuXy5tLnNldENlbnRlckNyb3A9ZnVuY3Rpb24oYSl7YT1hfHx2b2lkIDA7dmFyIGI9dGhpcy5OdixjPWIub2E7Xy5heihhLF8uRShjLDIwLCExKSxfLkUoYi5BYSwyMCwhMSkpJiZjLnNldENlbnRlckNyb3AoYSk7cmV0dXJuIHRoaXN9O18uWWRjPWZ1bmN0aW9uKGEsYil7Yj1ifHx2b2lkIDA7dmFyIGM9YS5OdixkPWMub2E7Xy5heihiLF8uRShkLDM3LCExKSxfLkUoYy5BYSwzNywhMSkpJiZfLmxkYyhkLGIpO3JldHVybiBhfTtXZGMucHJvdG90eXBlLlYwYT1mdW5jdGlvbihhKXthPWF8fHZvaWQgMDt2YXIgYj10aGlzLk52LGM9Yi5vYTtfLmF6KGEsXy5FKGMsMTksITEpLF8uRShiLkFhLDE5LCExKSkmJl8uaWRjKGMsYSk7cmV0dXJuIHRoaXN9O1dkYy5wcm90b3R5cGUuVTBhPWZ1bmN0aW9uKGEpe2E9YXx8dm9pZCAwO3ZhciBiPXRoaXMuTnYsYz1iLm9hO18uYXooYSxfLmRpKGMsNjApLF8uZGkoYi5BYSw2MCkpJiZfLk1nKGMsNjAsYSk7cmV0dXJuIHRoaXN9O1xuV2RjLnByb3RvdHlwZS5ZaGI9ZnVuY3Rpb24oYSl7YT1hfHx2b2lkIDA7dmFyIGI9dGhpcy5OdixjPWIub2E7Xy5heihhLF8uRShjLDY3LCExKSxfLkUoYi5BYSw2NywhMSkpJiZfLk1nKGMsNjcsYSk7cmV0dXJuIHRoaXN9O1dkYy5wcm90b3R5cGUuWGhiPWZ1bmN0aW9uKGEpe2E9YXx8dm9pZCAwO3ZhciBiPXRoaXMuTnYsYz1iLm9hO18uYXooYSxfLkUoYyw1MiwhMSksXy5FKGIuQWEsNTIsITEpKSYmXy5NZyhjLDUyLGEpO3JldHVybiB0aGlzfTtfLlpkYz1mdW5jdGlvbihhLGIpe2I9Ynx8dm9pZCAwO3ZhciBjPWEuTnYsZD1jLm9hO18uYXooYixfLmRpKGQsNTgpLF8uZGkoYy5BYSw1OCkpJiZfLk1nKGQsNTgsYik7cmV0dXJuIGF9O18ubT1XZGMucHJvdG90eXBlO18ubS5zZXRTaXplPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuTnYsYz1iLm9hO18uYXooYSxjLmdldFNpemUoKSxiLkFhLmdldFNpemUoKSkmJmMuc2V0U2l6ZShhKTtyZXR1cm4gdGhpc307XG5fLm0uc2V0VG9rZW49ZnVuY3Rpb24oYSl7YT1hfHx2b2lkIDA7dmFyIGI9dGhpcy5OdixjPWIub2E7Xy5heihhLGMuZ2V0VG9rZW4oKSxiLkFhLmdldFRva2VuKCkpJiZjLnNldFRva2VuKGEpO3JldHVybiB0aGlzfTtfLm0uRGQ9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5OdixjPWIub2E7Xy5heihhLGMuSWMoKSxiLkFhLkljKCkpJiZjLkRkKGEpO3JldHVybiB0aGlzfTtfLm0uc2V0T3B0aW9ucz1mdW5jdGlvbihhKXtWZGModGhpcyxhKTtyZXR1cm4gdGhpc307XG5fLm0uYnVpbGQ9ZnVuY3Rpb24oKXt0aGlzLkFhLmxlbmd0aD0wO3ZhciBhPXRoaXMuTnYsYj1hLm9hO2E9YS5BYTtieih0aGlzLFwic1wiLGIuZ2V0U2l6ZSgpLGEuZ2V0U2l6ZSgpKTtieih0aGlzLFwid1wiLGIuSWMoKSxhLkljKCkpO2N6KHRoaXMsXCJjXCIsXy5FKGIsMiwhMSksXy5FKGEsMiwhMSkpO2N6KHRoaXMsXCJkXCIsXy5FKGIsMywhMSksXy5FKGEsMywhMSkpO2J6KHRoaXMsXCJoXCIsYi54YygpLGEueGMoKSk7Y3oodGhpcyxcInNcIixfLmRpKGIsMzMpLF8uZGkoYSwzMykpO2N6KHRoaXMsXCJoXCIsYi5WUCgpLGEuVlAoKSk7Y3oodGhpcyxcInBcIixfLkUoYiwxOSwhMSksXy5FKGEsMTksITEpKTtjeih0aGlzLFwicHBcIixfLkUoYiw1MiwhMSksXy5FKGEsNTIsITEpKTtjeih0aGlzLFwicGZcIixfLkUoYiw2NywhMSksXy5FKGEsNjcsITEpKTtjeih0aGlzLFwiblwiLF8uRShiLDIwLCExKSxfLkUoYSwyMCwhMSkpO2J6KHRoaXMsXCJyXCIsXy5laShiLDI2KSxfLmVpKGEsMjYpKTtjeih0aGlzLFwiclwiLF8uRShiLFxuNiwhMSksXy5FKGEsNiwhMSkpO2N6KHRoaXMsXCJvXCIsYi5hRSgpLGEuYUUoKSk7dmFyIGM9Xy5iaShiLDcpOyRkYyh0aGlzLFwib1wiLGMsXy5iaShhLDcpKTtjPV8uYmkoYiwyOSk7JGRjKHRoaXMsXCJqXCIsYyxfLmJpKGEsMjkpKTtieih0aGlzLFwieFwiLF8uZWkoYiw5KSxfLmVpKGEsOSkpO2J6KHRoaXMsXCJ5XCIsXy5laShiLDEwKSxfLmVpKGEsMTApKTtieih0aGlzLFwielwiLF8uZWkoYiwxMSksXy5laShhLDExKSk7Y3oodGhpcyxcImdcIixfLkUoYiwxNCwhMSksXy5FKGEsMTQsITEpKTtieih0aGlzLFwiZVwiLF8uZWkoYiwxNSksXy5laShhLDE1KSk7JGRjKHRoaXMsXCJmXCIsXy5HZShiLDE2KSxfLkdlKGEsMTYpKTtjeih0aGlzLFwia1wiLF8uZGkoYiwxNyksXy5kaShhLDE3KSk7Y3oodGhpcyxcInVcIixfLmRpKGIsMTgpLCEwKTtjeih0aGlzLFwidXRcIixfLmRpKGIsNDUpLCEwKTtjeih0aGlzLFwiaVwiLF8uZGkoYiwyMiksITApO2N6KHRoaXMsXCJhXCIsXy5kaShiLDIxKSxfLmRpKGEsMjEpKTtjeih0aGlzLFxuXCJiXCIsXy5FKGIsMjMsITEpLF8uRShhLDIzLCExKSk7YnoodGhpcyxcImJcIixfLmVpKGIsMzgpLF8uZWkoYSwzOCkpO2J6KHRoaXMsXCJjXCIsXy5laShiLDM5KSxfLmVpKGEsMzkpLDE2LDgpOyRkYyh0aGlzLFwicVwiLF8uR2UoYiwyOCksXy5HZShhLDI4KSk7Y3oodGhpcyxcImZoXCIsXy5kaShiLDMwKSxfLmRpKGEsMzApKTtjeih0aGlzLFwiZnZcIixfLmRpKGIsMzEpLF8uZGkoYSwzMSkpO2N6KHRoaXMsXCJmZ1wiLF8uRShiLDM0LCExKSxfLkUoYSwzNCwhMSkpO2N6KHRoaXMsXCJjaVwiLF8uZGkoYiwzMiksXy5kaShhLDMyKSk7JGRjKHRoaXMsXCJ0XCIsYi5nZXRUb2tlbigpLGEuZ2V0VG9rZW4oKSk7JGRjKHRoaXMsXCJudDBcIixfLkdlKGIsMzYpLF8uR2UoYSwzNikpO2N6KHRoaXMsXCJyd1wiLF8uRShiLDM1LCExKSxfLkUoYSwzNSwhMSkpO2N6KHRoaXMsXCJyd3VcIixfLkUoYiw0MSwhMSksXy5FKGEsNDEsITEpKTtjeih0aGlzLFwicndhXCIsXy5FKGIsNjQsITEpLF8uRShhLDY0LCExKSk7Y3oodGhpcyxcIm53XCIsXG5fLkUoYiw0OCwhMSksXy5FKGEsNDgsITEpKTtjeih0aGlzLFwicmhcIixfLkUoYiw0OSwhMSksXy5FKGEsNDksITEpKTtjeih0aGlzLFwibm9cIixfLkUoYiwzNywhMSksXy5FKGEsMzcsITEpKTtjeih0aGlzLFwibnNcIixfLmRpKGIsNDApLF8uZGkoYSw0MCkpO2J6KHRoaXMsXCJrXCIsXy5laShiLDQyKSxfLmVpKGEsNDIpKTtieih0aGlzLFwicFwiLF8uZWkoYiw0MyksXy5laShhLDQzKSk7YnoodGhpcyxcImxcIixfLmVpKGIsNDQpLF8uZWkoYSw0NCkpO2J6KHRoaXMsXCJ2XCIsXy5laShiLDYyKSxfLmVpKGEsNjIpKTtjeih0aGlzLFwibnVcIixfLmRpKGIsNDYpLF8uZGkoYSw0NikpO2N6KHRoaXMsXCJmdFwiLF8uZGkoYiw1MCksXy5kaShhLDUwKSk7Y3oodGhpcyxcImNjXCIsXy5kaShiLDUxKSxfLmRpKGEsNTEpKTtjeih0aGlzLFwibmRcIixfLmRpKGIsNTMpLF8uZGkoYSw1MykpO2N6KHRoaXMsXCJpcFwiLF8uZGkoYiw1NCksXy5kaShhLDU0KSk7Y3oodGhpcyxcIm5jXCIsXy5kaShiLDU1KSxfLmRpKGEsNTUpKTtieih0aGlzLFxuXCJhXCIsXy5laShiLDU2KSxfLmVpKGEsNTYpKTtjeih0aGlzLFwicmpcIixfLmRpKGIsNTcpLF8uZGkoYSw1NykpO2N6KHRoaXMsXCJycFwiLF8uZGkoYiw1OCksXy5kaShhLDU4KSk7Y3oodGhpcyxcInJnXCIsXy5kaShiLDU5KSxfLmRpKGEsNTkpKTtjeih0aGlzLFwicGRcIixfLmRpKGIsNjApLF8uZGkoYSw2MCkpO2N6KHRoaXMsXCJwYVwiLF8uZGkoYiw2MSksXy5kaShhLDYxKSk7YnoodGhpcyxcIm1cIixfLmVpKGIsNjMpLF8uZWkoYSw2MykpO2J6KHRoaXMsXCJ2YlwiLF8uJGgoYiw2OCksXy4kaChhLDY4KSk7YnoodGhpcyxcInZsXCIsXy4kaChiLDY5KSxfLiRoKGEsNjkpKTtjeih0aGlzLFwibGZcIixfLmRpKGIsNjUpLF8uZGkoYSw2NSkpO2N6KHRoaXMsXCJtdlwiLF8uZGkoYiw2NiksXy5kaShhLDY2KSk7Y3oodGhpcyxcImlkXCIsXy5kaShiLDcwKSxfLmRpKGEsNzApKTtieih0aGlzLFwiaWNcIixfLmVpKGIsNzEpLCEwKTtjeih0aGlzLFwicGdcIixfLkUoYiw3MiwhMSksXy5FKGEsNzIsITEpKTtjeih0aGlzLFwibW9cIixcbl8uZGkoYiw3MyksXy5kaShhLDczKSk7Y3oodGhpcyxcImFsXCIsXy5kaShiLDc0KSxfLmRpKGEsNzQpKTtieih0aGlzLFwiaXZcIixfLiRoKGIsNzUpLF8uJGgoYSw3NSkpO2J6KHRoaXMsXCJwaVwiLF8uTWgoYiw3NiksXy5NaChhLDc2KSk7YnoodGhpcyxcInlhXCIsXy5NaChiLDc3KSxfLk1oKGEsNzcpKTtieih0aGlzLFwicm9cIixfLk1oKGIsNzgpLF8uTWgoYSw3OCkpO2J6KHRoaXMsXCJmb1wiLF8uTWgoYiw3OSksXy5NaChhLDc5KSk7Y3oodGhpcyxcImRmXCIsXy5kaShiLDgwKSxfLmRpKGEsODApKTskZGModGhpcyxcIm1tXCIsXy5HZShiLDgxKSxfLkdlKGEsODEpKTtjeih0aGlzLFwic2dcIixfLmRpKGIsODIpLF8uZGkoYSw4MikpO2N6KHRoaXMsXCJnZFwiLF8uZGkoYiw4MyksXy5kaShhLDgzKSk7Y3oodGhpcyxcImZtXCIsXy5kaShiLDg0KSxfLmRpKGEsODQpKTtieih0aGlzLFwiYmFcIixfLmVpKGIsODUpLF8uZWkoYSw4NSkpO2J6KHRoaXMsXCJiclwiLGIuYkMoKSxhLmJDKCkpO2J6KHRoaXMsXCJiY1wiLGIuUWkoKSxcbmEuUWkoKSwxNiw4KTtieih0aGlzLFwicGNcIixfLmVpKGIsODgpLF8uZWkoYSw4OCksMTYsOCk7YnoodGhpcyxcInNjXCIsXy5laShiLDg5KSxfLmVpKGEsODkpLDE2LDgpO2N6KHRoaXMsXCJkdlwiLF8uZGkoYiw5MCksXy5kaShhLDkwKSk7Y3oodGhpcyxcIm1kXCIsXy5kaShiLDkxKSxfLmRpKGEsOTEpKTtieih0aGlzLFwiY3BcIixfLmVpKGIsOTIpLF8uZWkoYSw5MikpO2N6KHRoaXMsXCJzbVwiLF8uZGkoYiw5MyksXy5kaShhLDkzKSk7YnoodGhpcyxcImN2XCIsXy5laShiLDk0KSxfLmVpKGEsOTQpKTtjeih0aGlzLFwibmdcIixfLmRpKGIsOTUpLF8uZGkoYSw5NSkpO2N6KHRoaXMsXCJpbFwiLF8uZGkoYiw5NiksXy5kaShhLDk2KSk7Y3oodGhpcyxcImxvXCIsXy5kaShiLDk3KSxfLmRpKGEsOTcpKTtjeih0aGlzLFwidm1cIixfLmRpKGIsOTgpLF8uZGkoYSw5OCkpOyRkYyh0aGlzLFwiZGNcIixfLkdlKGIsOTkpLF8uR2UoYSw5OSkpO2N6KHRoaXMsXCJyZlwiLF8uZGkoYiwxMDApLF8uZGkoYSwxMDApKTskZGModGhpcyxcblwidmZcIixfLkdlKGIsMTAyKSxfLkdlKGEsMTAyKSk7Y3oodGhpcyxcInJhXCIsXy5FKGIsMTAzLCExKSxfLkUoYSwxMDMsITEpKTtjeih0aGlzLFwiY2ttXCIsXy5kaShiLDEwNCksXy5kaShhLDEwNCkpO2N6KHRoaXMsXCJnbVwiLF8uZGkoYiwxMDUpLF8uZGkoYSwxMDUpKTtjeih0aGlzLFwibmdtXCIsXy5kaShiLDEwNiksXy5kaShhLDEwNikpO2J6KHRoaXMsXCJlbVwiLF8uZWkoYiwxMDcpLF8uZWkoYSwxMDcpKTtjeih0aGlzLFwiY3JcIixfLmRpKGIsMTA4KSxfLmRpKGEsMTA4KSk7YnoodGhpcyxcInNsXCIsYi5nZXRTdG9yeWJvYXJkTGV2ZWwoKSxhLmdldFN0b3J5Ym9hcmRMZXZlbCgpKTtieih0aGlzLFwic2JcIixfLmVpKGIsMTEwKSxfLmVpKGEsMTEwKSk7cmV0dXJuIHRoaXMuQWEuam9pbihcIi1cIil9O1xudmFyIGJ6PWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZihjIT1udWxsKXt2YXIgZz1lPT12b2lkIDB8fGUhPTEwJiZlIT0xNj8xMDplO2M9Yy50b1N0cmluZyhnKTtlPW5ldyBfLkk1YTtlLmFwcGVuZChnPT0xNj9cIjB4XCI6XCJcIik7Zz1lLmFwcGVuZDtmPT12b2lkIDA/Zj1cIlwiOihmLT1jLmxlbmd0aCxmPWY8PTA/XCJcIjooMCxfLkN5YSkoXCIwXCIsZikpO2cuY2FsbChlLGYpO2UuYXBwZW5kKGMpO2FlYyhhLGIsZS50b1N0cmluZygpLCEhZCl9fSxjej1mdW5jdGlvbihhLGIsYyxkKXtjJiZhZWMoYSxiLFwiXCIsISFkKX0sJGRjPWZ1bmN0aW9uKGEsYixjLGQpe2MmJmFlYyhhLGIsYywhIWQpfSxhZWM9ZnVuY3Rpb24oYSxiLGMsZCl7ZCYmKGI9Yi5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStiLnN1YnN0cmluZygxKSk7YS5BYS5wdXNoKGIrYyl9O3ZhciBkej1mdW5jdGlvbihhKXtXZGMuY2FsbCh0aGlzLGEpfTtfLm1oKGR6LFdkYyk7Xy5tPWR6LnByb3RvdHlwZTtfLm0uVDBhPWZ1bmN0aW9uKGEpe2EmJmJlYyh0aGlzKTtyZXR1cm4gZHouT2QuVDBhLmNhbGwodGhpcyxhKX07Xy5tLnhkPWZ1bmN0aW9uKGEpe2E9YT09bnVsbHx8YTwwP3ZvaWQgMDphO2EhPW51bGwmJnRoaXMuc2V0U2l6ZSgpO3JldHVybiBkei5PZC54ZC5jYWxsKHRoaXMsYSl9O18ubS5XaGI9ZnVuY3Rpb24oYSl7YSYmKGE9YS5yZXBsYWNlKFwiO1wiLFwiOlwiKSk7cmV0dXJuIGR6Lk9kLldoYi5jYWxsKHRoaXMsYSl9O18ubS5WaGI9ZnVuY3Rpb24oYSl7YSYmYmVjKHRoaXMpO3JldHVybiBkei5PZC5WaGIuY2FsbCh0aGlzLGEpfTtfLm0uUzBhPWZ1bmN0aW9uKGEpe2EmJmJlYyh0aGlzKTtyZXR1cm4gZHouT2QuUzBhLmNhbGwodGhpcyxhKX07XG5fLm0uc2V0U2l6ZT1mdW5jdGlvbihhKXtfLkRhKGEpJiYoYT1NYXRoLm1heChhLndpZHRoLGEuaGVpZ2h0KSk7YT1hPT1udWxsfHxhPDA/dm9pZCAwOmE7YSE9bnVsbCYmKHRoaXMuRGQoKSx0aGlzLnhkKCkpO3JldHVybiBkei5PZC5zZXRTaXplLmNhbGwodGhpcyxhKX07Xy5tLlYwYT1mdW5jdGlvbihhKXthJiZiZWModGhpcyk7cmV0dXJuIGR6Lk9kLlYwYS5jYWxsKHRoaXMsYSl9O18ubS5YaGI9ZnVuY3Rpb24oYSl7YSYmYmVjKHRoaXMpO3JldHVybiBkei5PZC5YaGIuY2FsbCh0aGlzLGEpfTtfLm0uWWhiPWZ1bmN0aW9uKGEpe2EmJmJlYyh0aGlzKTtyZXR1cm4gZHouT2QuWWhiLmNhbGwodGhpcyxhKX07Xy5tLnNldENlbnRlckNyb3A9ZnVuY3Rpb24oYSl7YSYmYmVjKHRoaXMpO3JldHVybiBkei5PZC5zZXRDZW50ZXJDcm9wLmNhbGwodGhpcyxhKX07Xy5tLlUwYT1mdW5jdGlvbihhKXthJiZiZWModGhpcyk7cmV0dXJuIGR6Lk9kLlUwYS5jYWxsKHRoaXMsYSl9O1xuXy5tLkRkPWZ1bmN0aW9uKGEpe2E9YT09bnVsbHx8YTwwP3ZvaWQgMDphO2EhPW51bGwmJnRoaXMuc2V0U2l6ZSgpO3JldHVybiBkei5PZC5EZC5jYWxsKHRoaXMsYSl9O3ZhciBiZWM9ZnVuY3Rpb24oYSl7YS5zZXRDZW50ZXJDcm9wKCk7YS5TMGEoKTthLlQwYSgpO2EuVmhiKCk7YS5VMGEoKTthLlYwYSgpO2EuWGhiKCk7YS5ZaGIoKX07ZHoucHJvdG90eXBlLmJ1aWxkPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5Odi5vYTtfLmRpKGEsMTgpfHxfLmRpKGEsNDUpP2EuZ2V0U2l6ZSgpfHx0aGlzLnNldFNpemUoMCk6KGE9dGhpcy5Odi5vYSxhLmdldFNpemUoKXx8YS5JYygpfHxhLnhjKCl8fCh0aGlzLnNldFNpemUoKSx0aGlzLnhkKCksdGhpcy5EZCgpLGJlYyh0aGlzKSkpO3JldHVybiBkei5PZC5idWlsZC5jYWxsKHRoaXMpfTt2YXIgY2VjO18uZGVjPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwPyExOmI7dGhpcy5vYT1udWxsO2EgaW5zdGFuY2VvZiBfLkxkY3x8KGNlYz09dm9pZCAwJiYoY2VjPW5ldyBfLktkYyksYT1jZWMucGFyc2UoYS50b1N0cmluZygpLGIpKTt0aGlzLm9hPWE7YT1fLk1kYyh0aGlzLm9hKTtXZGMuY2FsbCh0aGlzLGEpO3RoaXMuTGE9dGhpcy5vYS5DYTt0aGlzLkdhPXRoaXMub2EuRXEoKTt0aGlzLkNhPXRoaXMub2EuZ2V0UXVlcnkoKX07Xy5taChfLmRlYyxkeik7Xy5kZWMucHJvdG90eXBlLkVqPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub2EuRWooKX07XG5fLmRlYy5wcm90b3R5cGUuYnVpbGQ9ZnVuY3Rpb24oKXtpZighdGhpcy5vYS5FaigpKXJldHVybiB0aGlzLm9hLkFhO3ZhciBhPV8uZGVjLk9kLmJ1aWxkLmNhbGwodGhpcyksYj1bXTtfLkFkYyh0aGlzLm9hKSE9bnVsbCYmYi5wdXNoKF8uQWRjKHRoaXMub2EpKTt2YXIgYz1fLnpkYyh0aGlzLm9hKTtfLnlkYyh0aGlzLm9hKT8oYT1fLkRkYyh0aGlzLm9hKSsoYT9cIj1cIithOlwiXCIpLGIucHVzaChhKSk6Yz8oYi5wdXNoKF8uSmRjKHRoaXMub2EpKSxhJiZiLnB1c2goYSkpOihiLnB1c2goXy5FZGModGhpcy5vYSkpLGIucHVzaChfLkZkYyh0aGlzLm9hKSksYi5wdXNoKF8uR2RjKHRoaXMub2EpKSxiLnB1c2goXy5IZGModGhpcy5vYSkpLGEmJmIucHVzaChhKSxiLnB1c2goXy5JZGModGhpcy5vYSkpKTtiPWM/Yi5qb2luKFwiPVwiKTpiLmpvaW4oXCIvXCIpO2I9Xy5ZbSh0aGlzLkxhK3RoaXMuR2ErXCIvXCIrYisodGhpcy5DYT9cIj9cIit0aGlzLkNhOlwiXCIpKS50b1N0cmluZygpO2Iuc3RhcnRzV2l0aChcIiUzYS8vXCIpJiZcbihiPWIucmVwbGFjZShcIiUzYS8vXCIsXCI6Ly9cIikpO3JldHVybiBifTt2YXIgZWVjO2VlYz0vXFwvXFwvbGhbMy02XVxcLi87XG5fLmZlYz1mdW5jdGlvbihhLGIsYyxkLGUsZixnLGgsayxsLG4scix0LHUseixCLEYsSyxQLFEsVSl7aWYoIWF8fCFfLlRkYyhTdHJpbmcoYSkpKXJldHVybiBTdHJpbmcoYXx8XCJcIik7YT1TdHJpbmcoYSk7bj09PXZvaWQgMCYmKG49MSk7Yj1NYXRoLmNlaWwoKGJ8fDApKm4pO2M9TWF0aC5jZWlsKChjfHwwKSpuKTtuPWI9PWM7YT1hLnJlcGxhY2UoZWVjLFwiLy9saDMuXCIpO2E9KG5ldyBfLmRlYyhhKSkuc2V0U2l6ZSghaCYmbj9jOnZvaWQgMCkuRGQoaHx8IW4/Yjp2b2lkIDApLnhkKGh8fCFuP2M6dm9pZCAwKS5UMGEoZCk7ZT1lfHx2b2lkIDA7ZD1hLk52O2I9ZC5vYTtfLmF6KGUsXy5kaShiLDE3KSxfLmRpKGQuQWEsMTcpKSYmXy5qZGMoYixlKTtmPWZ8fHZvaWQgMDtlPWEuTnY7ZD1lLm9hO18uYXooZixfLmRpKGQsMjEpLF8uZGkoZS5BYSwyMSkpJiZfLk1nKGQsMjEsZik7Zz1hLlYwYShnKS5zZXRDZW50ZXJDcm9wKGc/dm9pZCAwOmgpO2s9a3x8dm9pZCAwO2g9Zy5OdjtmPWgub2E7XG5fLmF6KGssZi5hRSgpLGguQWEuYUUoKSkmJl8uTWcoZiwyNyxrKTtsPV8uWWRjKGcsbCk7cj1yfHx2b2lkIDA7az1sLk52O2c9ay5vYTtfLmF6KHIsXy5FKGcsMzUsITEpLF8uRShrLkFhLDM1LCExKSkmJl8ua2RjKGcscik7dD10P3Q6dm9pZCAwO3I9bC5OdjtrPXIub2E7Xy5heih0LF8uZWkoayw2MiksXy5laShyLkFhLDYyKSkmJl8ubWRjKGssdCk7dT1sLldoYih1P1N0cmluZyh1KTp2b2lkIDApO3o9enx8dm9pZCAwO3Q9dS5OdjtyPXQub2E7Xy5heih6LF8uZGkociw2NSksXy5kaSh0LkFhLDY1KSkmJl8uTWcociw2NSx6KTtCPUJ8fHZvaWQgMDt6PXUuTnY7dD16Lm9hO18uYXooQixfLmRpKHQsODQpLF8uZGkoei5BYSw4NCkpJiZfLk1nKHQsODQsQik7UT1fLlpkYyh1LFEpO1U9VXx8dm9pZCAwO0I9US5Odjt6PUIub2E7Xy5heihVLF8uZGkoeiw1NyksXy5kaShCLkFhLDU3KSkmJl8uTWcoeiw1NyxVKTtVPVEuTnY7Qj1VLm9hO18uYXoodm9pZCAwLF8uRShCLDQ5LCExKSxfLkUoVS5BYSxcbjQ5LCExKSkmJl8uTWcoQiw0OSx2b2lkIDApO1U9US5VMGEoKTtLJiYoUT1VLk52LEI9US5vYSxfLmF6KEssXy5laShCLDg1KSxfLmVpKFEuQWEsODUpKSYmXy5PaShCLDg1LEspKTtQJiYoSz1VLk52LFE9Sy5vYSxfLmF6KFAsUS5iQygpLEsuQWEuYkMoKSkmJl8uT2koUSw4NixQKSk7Rj4wJiYoUD1VLk52LEs9UC5vYSxfLmF6KEYsXy5laShLLDYzKSxfLmVpKFAuQWEsNjMpKSYmXy5PaShLLDYzLEYpKTtyZXR1cm4gVS5idWlsZCgpfTtfLmV6PWZ1bmN0aW9uKGEsYixjKXtpZighYSlyZXR1cm5cIlwiO2E9U3RyaW5nKGEpO2lmKCFfLlRkYyhhKSlyZXR1cm4gYTt2YXIgZD1hLnJlcGxhY2UoZWVjLFwiLy9saDMuXCIpO2Q9bmV3IF8uTmRjKGQpO2lmKGMmJl8uQmRjKGQuQWEpKXJldHVybiBjPV8uTWRjKChuZXcgXy5LZGMpLnBhcnNlKGEpKS5vYSxfLk9kYyhkLGMpLGQubW1hKGIpLGQuYnVpbGQoKTtfLk9kYyhkLGIpO3JldHVybiBkLmJ1aWxkKCl9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgZ2RjO18uWXk9ZnVuY3Rpb24oKXtyZXR1cm5cImNcIitnZGMrK307Z2RjPTA7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uWHk9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWQ9PT12b2lkIDA/ITE6ZDt2YXIgZT1cIlwiO3R5cGVvZiBjPT09XCJib29sZWFuXCI/ZD1jOnR5cGVvZiBjPT09XCJzdHJpbmdcIiYmKGU9Yyk7aWYoIWQmJmI9PT1cIjBcIiYmIWUpcmV0dXJuIGE7Yz1hIGluc3RhbmNlb2YgXy5GYz9hLnRvU3RyaW5nKCk6YSBpbnN0YW5jZW9mIF8uSU5hP2EuZ2V0Q29udGVudCgpOlN0cmluZyhhKTtjPV8uTG0oYyxcImF1dGh1c2VyXCIsYik7ZSYmKGM9Xy5MbShjLFwicGFnZUlkXCIsZSkpO3JldHVybiBhIGluc3RhbmNlb2YgXy5GY3x8YSBpbnN0YW5jZW9mIF8uSU5hP18udmMoYyk6Y307XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBWY2MsJGNjLGFkYyxiZGMsY2RjLGRkYyxVY2MsWGNjLFljYztfLldjYz1mdW5jdGlvbihhLGIpe3ZhciBjPTA7cmV0dXJuXCIuXCIrYS5yZXBsYWNlKFVjYyxmdW5jdGlvbihkKXtpZihkPT1cIi8qXCIpZD1WY2MoKTtlbHNle3ZhciBlO2ImJihlPWIgaW5zdGFuY2VvZiBBcnJheT9iW2NdOmJbZF0pO2Q9ZW5jb2RlVVJJQ29tcG9uZW50KGUpO2Q9ZC5yZXBsYWNlKC8lMkIvZyxcIitcIik7ZD1kLnJlcGxhY2UoLyUzQS9nLFwiOlwiKTtjKyt9cmV0dXJuIGR9KX07VmNjPWZ1bmN0aW9uKCl7dHJ5e3JldHVybiBlbmNvZGVVUkkoXCIvdW5kZWZpbmVkXCIpLnJlcGxhY2UoWGNjLGZ1bmN0aW9uKGEpe3JldHVybiBZY2NbYV19KX1jYXRjaChhKXtyZXR1cm5cImFib3V0OmludmFsaWQjd2l6TGlua1wifX07Xy5aY2M9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj09PXZvaWQgMD8oMCxfLmlwKShcIi5cIithKTooMCxfLmlwKShfLldjYyhhLGIpKX07XG4kY2M9e1wiXFx4MDBcIjpcIlxcXFx4MDBcIixcIlxcYlwiOlwiXFxcXHgwOFwiLFwiXFx0XCI6XCJcXFxcdFwiLFwiXFxuXCI6XCJcXFxcblwiLFwiXFx2XCI6XCJcXFxceDBiXCIsXCJcXGZcIjpcIlxcXFxmXCIsXCJcXHJcIjpcIlxcXFxyXCIsJ1wiJzpcIlxcXFx4MjJcIiwkOlwiXFxcXHgyNFwiLFwiJlwiOlwiXFxcXHgyNlwiLFwiJ1wiOlwiXFxcXHgyN1wiLFwiKFwiOlwiXFxcXHgyOFwiLFwiKVwiOlwiXFxcXHgyOVwiLFwiKlwiOlwiXFxcXHgyYVwiLFwiK1wiOlwiXFxcXHgyYlwiLFwiLFwiOlwiXFxcXHgyY1wiLFwiLVwiOlwiXFxcXHgyZFwiLFwiLlwiOlwiXFxcXHgyZVwiLFwiL1wiOlwiXFxcXC9cIixcIjpcIjpcIlxcXFx4M2FcIixcIjxcIjpcIlxcXFx4M2NcIixcIj1cIjpcIlxcXFx4M2RcIixcIj5cIjpcIlxcXFx4M2VcIixcIj9cIjpcIlxcXFx4M2ZcIixcIltcIjpcIlxcXFx4NWJcIixcIlxcXFxcIjpcIlxcXFxcXFxcXCIsXCJdXCI6XCJcXFxceDVkXCIsXCJeXCI6XCJcXFxceDVlXCIsXCJ7XCI6XCJcXFxceDdiXCIsXCJ8XCI6XCJcXFxceDdjXCIsXCJ9XCI6XCJcXFxceDdkXCIsXCJcXHUwMDg1XCI6XCJcXFxceDg1XCIsXCJcXHUyMDI4XCI6XCJcXFxcdTIwMjhcIixcIlxcdTIwMjlcIjpcIlxcXFx1MjAyOVwifTthZGM9ZnVuY3Rpb24oYSl7cmV0dXJuICRjY1thXX07YmRjPS9bXFx4MDBcXHgwOC1cXHgwZFxceDIyXFx4MjZcXHgyN1xcL1xceDNjLVxceDNlXFx4NWItXFx4NWRcXHg3YlxceDdkXFx4ODVcXHUyMDI4XFx1MjAyOV0vZztcbl8uVHk9ZnVuY3Rpb24oYSl7cmV0dXJuIFN0cmluZyhhKS5yZXBsYWNlKGJkYyxhZGMpfTtjZGM9MDtfLlV5PWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVyblwiXCI7dmFyIGI9XCIkXCIrY2RjKys7Yj0oYS5xYj9fLnVvKGEpLko0OlwiO3Vuc3VwcG9ydGVkXCIpK1wiO1wiK2I7Xy5ETGFbYl18fF8uRUxhKys7Xy5ETGFbYl09YTtyZXR1cm4gYn07ZGRjPWZ1bmN0aW9uKGEpe3JldHVyblwiQVwiPD1hJiZhPD1cIlpcIj9hLnRvTG93ZXJDYXNlKCk6YX07Xy5WeT1mdW5jdGlvbihhKXthPVN0cmluZyhhKTtmb3IodmFyIGI9ZnVuY3Rpb24oZCxlLGYpe2Zvcih2YXIgZz1NYXRoLm1pbihlLmxlbmd0aC1mLGQubGVuZ3RoKSxoPTA7aDxnO2grKylpZihkW2hdIT09ZGRjKGVbZitoXSkpcmV0dXJuITE7cmV0dXJuITB9LGM9MDsoYz1hLmluZGV4T2YoXCI8XCIsYykpIT0tMTspe2lmKGIoXCJcXHgzYy9zY3JpcHRcIixhLGMpfHxiKFwiXFx4M2MhLS1cIixhLGMpKXJldHVyblwielNveXpcIjtjKz0xfXJldHVybiBhfTtcbl8uZWRjPWZ1bmN0aW9uKGEpe3JldHVybiBfLnBoKGEsZGRjKS5qb2luKFwiXCIpfTtfLmZkYz1mdW5jdGlvbihhKXtyZXR1cm4gXy5mcChhLF8uRE5hKT9hLmdldENvbnRlbnQoKTphIGluc3RhbmNlb2YgXy5GYz9fLnhjKGEpLnRvU3RyaW5nKCk6XCJhYm91dDppbnZhbGlkI3pTb3l6XCJ9O18uV3k9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm5cIiBudWxsIFwiO2lmKF8uZnAoYSxfLkJOYSkpcmV0dXJuIGEuZ2V0Q29udGVudCgpO2lmKGEgaW5zdGFuY2VvZiBfLkpoYSlyZXR1cm4gXy5xYyhhKS50b1N0cmluZygpO3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSBcImJvb2xlYW5cIjpjYXNlIFwibnVtYmVyXCI6cmV0dXJuXCIgXCIrYStcIiBcIjtkZWZhdWx0OnJldHVyblwiJ1wiK18uVHkoU3RyaW5nKGEpKStcIidcIn19O1VjYz0vOlthLXpBLVowLTlfXSt8XFwvXFwqJC9nO1hjYz0vWygpJ118JTVCfCU1RHwlMjUvZztcblljYz17XCInXCI6XCIlMjdcIixcIihcIjpcIiUyOFwiLFwiKVwiOlwiJTI5XCIsXCIlNUJcIjpcIltcIixcIiU1RFwiOlwiXVwiLFwiJTI1XCI6XCIlXCJ9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLkJyPVswLF8uZ2ssXy5Xbl07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uWnI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLlpyLF8ucSk7Xy5aci5wcm90b3R5cGUuaGY9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMSl9O18uWnIucHJvdG90eXBlLlV4PWZ1bmN0aW9uKCl7cmV0dXJuIF8udih0aGlzLF8uSGUsMil9O18uWnIucHJvdG90eXBlLnFiPVwiVHlGZlFiXCI7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uaEM9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoLGspe2g9aD09PXZvaWQgMD8hMTpoO2s9az09PXZvaWQgMD8hMTprO2U9XCI8YVwiKyhmPycgY2xhc3M9XCInK18uTyhmKSsnXCInOlwiXCIpKyhlPycgYXJpYS1sYWJlbD1cIicrXy5PKGUpKydcIic6XCJcIikrKF8uc3AoZyk/Xy56cChfLnlwKGcpKTpcIlwiKTtrP2E9JyBkYXRhLXZlZD1cIlwiJytfLkZmKFwiRG56MWpiXCIsW10sXCJkYXRhLXZlZFwiKSsnIGhyZWY9XCJcIicrXy5GZihcInROSlJpZVwiLF8uS3AoYyksXCJocmVmXCIpKycganNjb250cm9sbGVyPVwiJytfLk8oXCJZZFlkeVwiKSsnXCIganNhY3Rpb249XCJvbmNsaWNrOicrXy5PKFwiYkN0NWtmXCIpKydcIic6KGY9Xy51cChcImlcIikoe2xpbms6Y30sYSksZj1fLnpwKGYpLGE9Xy51cChcImtcIikoe2xpbms6Y30sYSksYT1mK18uenAoYSkpO2I9ZSthK18uRWYoZCxoKStcIj5cIitfLmdwKGIpK1wiPC9hPlwiO3JldHVybigwLF8uTikoYil9O1xuXy50cChcImhcIixcIlwiLDAsZnVuY3Rpb24oYSl7cmV0dXJuKDAsXy5rcCkoJ2hyZWY9XCInK18uTyhfLkNwKGEubGluaykpKydcIicpfSk7Xy50cChcImlcIixcIlwiLDAsZnVuY3Rpb24oYSxiKXthPV8udXAoXCJoXCIpKHtsaW5rOmEubGlua30sYik7cmV0dXJuKDAsXy5rcCkoYSl9KTtfLnRwKFwialwiLFwiXCIsMCxmdW5jdGlvbihhKXt2YXIgYj1hLmZxYTtyZXR1cm4oMCxfLmtwKSgncGluZz1cIlwiJytfLkZmKFwiQU5JMnhjXCIsXy5LcChhLmxpbmssYiE9bnVsbD9iOm5ldyBNYXApLFwicGluZ1wiKSl9KTtfLnRwKFwia1wiLFwiXCIsMCxmdW5jdGlvbihhLGIpe2E9Xy51cChcImpcIikoe2xpbms6YS5saW5rfSxiKTtyZXR1cm4oMCxfLmtwKShhKX0pO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIganBjO18ua3BjPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwPyEwOmI7dmFyIGM9W107U3RyaW5nKGEpLnJlcGxhY2UoanBjLGZ1bmN0aW9uKGQsZSxmLGcsaCl7ZD1mfHxnfHxofHxcIlwiO2Q9Yj9fLmVsKGQpOmQ7Yy5wdXNoKFtlLGRdKTtyZXR1cm5cIiBcIn0pO3JldHVybiBjfTtfLkp6PWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uY2ooYSw3LGIpfTtqcGM9LyhbXlxcdFxcblxcZlxcciAvPj1dKylbXFx0XFxuXFxmXFxyIF0qKD86PVtcXHRcXG5cXGZcXHIgXSooPzpcIihbXlwiXSopXCI/fCcoW14nXSopJz98KFteXFx0XFxuXFxmXFxyID5dKikpKT8vZztcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIHZRYyx3UWM7Xy5LQj1mdW5jdGlvbihhLGIpe3JldHVybiBfLkpCKGEsYil9O1xuXy5MQj1mdW5jdGlvbihhLGIpe2lmKCFhJiYhYilyZXR1cm4gXy50UWMobmV3IE1hcCk7aWYoIWEpcmV0dXJuIGI7aWYoIWIpcmV0dXJuIGE7Yj1fLnVRYyhiLmdldENvbnRlbnQoKSk7YT1fLnVRYyhhLmdldENvbnRlbnQoKSk7Zm9yKHZhciBjPV8uUGEoYi5rZXlzKCkpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKWlmKGQ9ZC52YWx1ZSxkPT1cImNsYXNzXCIpZD1uZXcgU2V0LHZRYyhhLmdldChcImNsYXNzXCIpLGQpLHZRYyhiLmdldChcImNsYXNzXCIpLGQpLGEuc2V0KFwiY2xhc3NcIixBcnJheS5mcm9tKGQpLmpvaW4oXCIgXCIpKTtlbHNlIGlmKGQ9PVwic3R5bGVcIil7ZD1uZXcgTWFwO3dRYyhhLmdldChcInN0eWxlXCIpLGQpO3dRYyhiLmdldChcInN0eWxlXCIpLGQpO2Zvcih2YXIgZT1bXSxmPV8uUGEoZC5rZXlzKCkpLGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKWc9Zy52YWx1ZSxlLnB1c2goZytcIjpcIitkLmdldChnKSk7YS5zZXQoXCJzdHlsZVwiLGUuam9pbihcIjtcIikpfWVsc2UgZD09XG5cImpzYWN0aW9uXCJ8fGQ9PVwianNkYXRhXCJ8fGQ9PVwianNtb2RlbFwiP2EuZ2V0KGQpP2Euc2V0KGQsYS5nZXQoZCkrXCI7XCIrYi5nZXQoZCkpOmEuc2V0KGQsYi5nZXQoZCkpOmEuaGFzKGQpfHxhLnNldChkLGIuZ2V0KGQpKTtyZXR1cm4gXy50UWMoYSl9O3ZRYz1mdW5jdGlvbihhLGIpe2EmJmEuc3BsaXQoL1xccysvKS5mb3JFYWNoKGZ1bmN0aW9uKGMpe2MudHJpbSgpJiZiLmFkZChjLnRyaW0oKSl9KX07d1FjPWZ1bmN0aW9uKGEsYil7YSYmYS50cmltKCkuc3BsaXQoXCI7XCIpLmZvckVhY2goZnVuY3Rpb24oYyl7Yz1jLnRyaW0oKS5zcGxpdChcIjpcIik7aWYoYy5sZW5ndGg9PTIpe3ZhciBkPWNbMF0udHJpbSgpLnRvTG93ZXJDYXNlKCk7Yi5nZXQoZCl8fGIuc2V0KGQsY1sxXS50cmltKCkpfX0pfTtcbl8udFFjPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1bXSxjPV8uUGEoYS5rZXlzKCkpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKWQ9ZC52YWx1ZSxhLmdldChkKT9iLnB1c2goZCsnPVwiJytfLmRsKGEuZ2V0KGQpKSsnXCInKTpiLnB1c2goZCk7cmV0dXJuKDAsXy5rcCkoYi5qb2luKFwiIFwiKSl9O18udVFjPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBNYXA7YT1fLmtwYyhhLCEwKTthPV8uUGEoYSk7Zm9yKHZhciBjPWEubmV4dCgpOyFjLmRvbmU7Yz1hLm5leHQoKSl7dmFyIGQ9Yy52YWx1ZTtjPWRbMF07ZD1kWzFdO2MmJmIuc2V0KGMudG9Mb3dlckNhc2UoKSxkKX1yZXR1cm4gYn07Xy5KQj1mdW5jdGlvbihhLGIpe3JldHVybiBhLm9hPT09Yi5nZXRJZCgpfTtfLk1CPWZ1bmN0aW9uKGEpe3JldHVybiBfLnNwKGEpP2E6dm9pZCAwfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5Xej1mdW5jdGlvbihhLGIpe3JldHVybiBfLk1iKGEsXy5IZSwyMSxiKX07Xy5Yej1uZXcgXy5MYigzMjIxODUzMDksbnVsbCwwLF8ubmksXy5jaik7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uY0M9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5XeihhP2EuY2xvbmUoKTpuZXcgXy5IbyxfLkllKF8ua2MoYikpKX07Xy5FUWM9ZnVuY3Rpb24oYSl7YT1hLkdtKCkuZ2V0TWV0YWRhdGEoKS5nZXRFeHRlbnNpb24oXy5Yeik7cmV0dXJuIGE9PT0wfHxhPT09Mnx8YT09PTN9O18uRlFjPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBfLnRRYyhuZXcgTWFwKTthPV8udVFjKGEuZ2V0Q29udGVudCgpKTthLmRlbGV0ZShcImhyZWZcIik7cmV0dXJuIF8udFFjKGEpfTtfLmZDPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBudWxsO2E9Xy51UWMoYS5nZXRDb250ZW50KCkpO3JldHVybiBhLmhhcyhcImhyZWZcIik/YS5nZXQoXCJocmVmXCIpOm51bGx9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLk5CPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5OQixfLnEpO18uT0I9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5NZyhhLDEsYil9O18uUEI9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uSGkoYSwxKX07Xy5SQj1mdW5jdGlvbihhLGIpe3JldHVybiBfLk1nKGEsMixiKX07Xy5TQj1mdW5jdGlvbihhKXtyZXR1cm4gXy5IaShhLDIpfTtfLlRCPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uTWcoYSwzLGIpfTtfLk5CLnByb3RvdHlwZS5ZaT1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcyw3KX07Xy5OQi5wcm90b3R5cGUuSm09ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcyw3LGEpfTtfLlVCPWZ1bmN0aW9uKGEpe3JldHVybiBfLkVpKGEsNyl9O18uVkI9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uWGMoYSxfLkdvLDgpfTtfLldCPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uTWIoYSxfLkdvLDgsYil9O18uWEI9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uR2goYSxfLkdvLDgpfTtcbl8uTkIucHJvdG90eXBlLkhiPWZ1bmN0aW9uKCl7cmV0dXJuIF8uRSh0aGlzLDEwKX07Xy5ZQj1mdW5jdGlvbihhLGIpe3JldHVybiBfLk1nKGEsMTAsYil9O18uTkIucHJvdG90eXBlLnhMPWZ1bmN0aW9uKCl7cmV0dXJuIF8udih0aGlzLF8uSG8sMTEpfTtfLlpCPWZ1bmN0aW9uKGEpe3JldHVybiBfLlhjKGEsXy5IbywxMSl9O18uJEI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5NYihhLF8uSG8sMTEsYil9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLll6PWZ1bmN0aW9uKGEpe3JldHVybiBfLkEoYSwyNCl9O18uWno9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQShhLDM5KX07Xy4kej1mdW5jdGlvbihhKXtyZXR1cm4gXy5paShhLDEsLTEpfTtfLmFBPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uT2koYSwxLGIpfTtfLmJBPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uTWcoYSwxOCxiKX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBGcGM7Xy5jQT1mdW5jdGlvbihhKXtyZXR1cm4gXy5YYyhhLF8uR28sMTMpfTtGcGM9Xy5QZ2EoXy5Hbyk7Xy5kQT1mdW5jdGlvbihhKXtpZihhKXt2YXIgYj1fLmFBKG5ldyBfLkdvLGEuZ2V0SWQoKSk7YT1hLmdldE1ldGFkYXRhKCkuRnIoXy5Yeik7Yj1fLmNqKGIsMyxhKX1lbHNlIGI9RnBjKCk7cmV0dXJuIGJ9O18uZUE9ZnVuY3Rpb24oYSl7aWYoIWEpdGhyb3cgRXJyb3IoXCJuaFwiKTt2YXIgYjtfLiR6KGEpPDA/Yj1uZXcgXy53bygtMik6Yj1uZXcgXy53byhfLiR6KGEpLChuZXcgXy52bykudGIoXy5YeixfLmhpKGEsMykpKTtyZXR1cm4gYn07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBHUWM7Xy5qQz1mdW5jdGlvbihhLGIsYyxkLGUsZil7Yz1jPT09dm9pZCAwP25ldyBfLkhvOmM7cmV0dXJuKDAsXy5rcCkoR1FjKGEsITEsYyxiLHZvaWQgMCxkLGUsZikrXy56cChHUWMoYSwhMCxjLGIsdm9pZCAwLGQsZSxmKSkpfTtcbkdRYz1mdW5jdGlvbihhLGIsYyxkLGUsZixnLGgpe3ZhciBrPVwiXCI7aWYoZCE9bnVsbCYmKFwiXCIrZCkubGVuZ3RoPjApaWYoZ3x8KGU9PW51bGw/MDpfLkUoZSwzKSl8fChjPT1udWxsPzA6Xy5FKGMsMikpKXtjPShlPT1udWxsPzA6Xy5YQihlKSk/Xy5lQShfLlZCKGUpKTpfLmVBKGM9PW51bGw/dm9pZCAwOl8uY0EoYykpO2g9Xy5KQihjLF8uaUMpP2ghPW51bGw/aDpudWxsOm5ldyBfLk0oYyk7Yz1fLkNwKGQpOygwLF8uaXApKGMpO2lmKGgmJiFfLkVRYyhoKSlhPWY9PW51bGx8fGY/Yj8naHJlZj1cIlwiJytfLkZmKFwiUFYxcjlcIixfLktwKGQpLFwiaHJlZlwiKTpcIlwiOmI/XCJcIjonaHJlZj1cIicrXy5PKF8uQ3AoZCkpKydcIic7ZWxzZXt2YXIgbDtmPT1udWxsfHxmP2w9Yj9fLnVwKFwia1wiKSh7bGluazpkfSxhKTpfLnVwKFwiaVwiKSh7bGluazpkfSxhKTpsPWI/XCJcIjonaHJlZj1cIicrXy5PKF8uQ3AoZCkpKydcIic7YT1sfWsrPWF9ZWxzZSBrKz1iP1wiXCI6J2hyZWY9XCInK18uTyhfLkNwKGQpKSsnXCInO3JldHVybigwLF8ua3ApKGspfTtcbl8ua0M9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3ZhciBnPXZvaWQgMDtnPWc9PT12b2lkIDA/bmV3IF8uSG86Zzt2YXIgaD1cIlwiLGs9XCJcIitHUWMoYSwhMSxnLF8uZkMoYiksYyxkLGUsZik7az0oMCxfLmtwKShrKTtoKz1fLnlwKF8uTEIoayxfLkZRYyhiKSkpK18uenAoR1FjKGEsITAsZyxfLmZDKGIpLGMsZCxlLGYpKTtyZXR1cm4oMCxfLmtwKShoKX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uQXo9ZnVuY3Rpb24oKXtyZXR1cm5cInJpZ2h0XCJ9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLmJDPW5ldyBfLndvKC0xKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5DUWM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uR2UoYSw5OSl9O18uRFFjPSEhKF8uZGhbMjZdPj4yMSYxKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIEpRYztKUWM9bmV3IF8ud28oMTAzODk2KTtcbl8ubEM9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoLGssbCxuLHIsdCl7Yj1iPT09dm9pZCAwPyExOmI7Yz1jPT09dm9pZCAwPzM6Yzt2YXIgdT1kPT09dm9pZCAwPzA6ZDtkPVwiXCI7Yj1hLlhhLllhKCk9PTN8fGI7dmFyIHo9KGI/XCJqYkJJdGYgXCI6XCJcIikrKGI/XCJHZ1RKV2UgXCI6XCJcIikrKGI/XCJWRGdWaWVcIjpcIlwiKTtjPWM9PTM/MjQ6Yz09Mj8xOToxNjt1PXU9PTM/MzY6dT09Mj8yNDp1PT0xPzIwOnU9PTQ/MTY6MzA7dmFyIEI9XCJoZWlnaHQ6XCIrKGI/Xy5SKHUpK1wicHhcIjpfLlIoYykrXCJweFwiKStcIjtcIisoYj9cIlwiOlwid2lkdGg6XCIrKF8uUihjKStcInB4O1wiKSkrKGI/XCJtaW4td2lkdGg6XCIrKF8uUih1KStcInB4XCIpOlwiXCIpLEY9KDAsXy5scCkoQik7ZCs9XCI8Zy1sb2FkaW5nLWljb25cIitfLnpwKF8ueXAoXy5IcChcImNsYXNzXCIsaCx6KSkpK18uenAoXy55cChfLkhwKFwic3R5bGVcIixyLEYpKSkrKGUhPW51bGw/JyBhcmlhLWhpZGRlbj1cIicrXy5PKGUpKydcIic6XCJcIikrKGYhPW51bGw/JyBhcmlhLWxhYmVsPVwiJytcbl8uTyhmKSsnXCInOlwiXCIpKyhnIT1udWxsPycgYXJpYS1saXZlPVwiJytfLk8oZykrJ1wiJzpcIlwiKSsoayE9bnVsbD8nIGlkPVwiJytfLk8oaykrJ1wiJzpcIlwiKSsobCE9bnVsbD8nIGpzbmFtZT1cIicrXy5PKGwpKydcIic6XCJcIikrKG4hPW51bGw/JyByb2xlPVwiJytfLk8obikrJ1wiJzpcIlwiKSsodCE9bnVsbD9cIiBzc2s9J1wiK18uTyhfLm1wKFwiVzRaUXpjXCIpK3QpK1wiJ1wiOlwiXCIpK1wiPlwiO2QrPVwiPHZlbG9nXCIrXy5FZihuZXcgXy5NKEpRYyksITEpK1wiPlwiO2U9ZCtcIjwvdmVsb2c+XCI7aWYoYil7dmFyIEs9Sz09PXZvaWQgMD9cImpzbFwiOks7dD1cIjx2ZWxvZ1wiK18uRWYobmV3IF8uTShfLmJDKSwhMSkrXCI+XCI7dCs9KEshPVwianNsXCI/XCI8XCIrXy5OcChLKStfLnpwKF8ua0MoYSx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsbmV3IF8uTShfLmJDKSkpK1wiPlwiOlwiXCIpKyc8ZGl2IGNsYXNzPVwiJytfLk8oXCJsUDNKb2ZcIikrXCIgXCIrXy5PKFwibk5NdU9kXCIpKydcIiBzdHlsZT1cImhlaWdodDonKyhfLk8oXy5SKHUpKStcInB4O3dpZHRoOlwiKStcbihfLk8oXy5SKHUpKSsncHhcIiBhcmlhLWxhYmVsPVwiJyk7YT1cIlwiK18uS1FjKGEpO2E9KDAsXy5OKShhKTt0Kz1fLk8oXy52cChhKSkrJ1wiIHJvbGU9XCJwcm9ncmVzc2JhclwiPicrXy5MUWMoXy5PKFwiVlFkZWFiXCIpKStfLkxRYyhfLk8oXCJJRXFpQWZcIikpK18uTFFjKF8uTyhcInNtb2NzZVwiKSkrXy5MUWMoXy5PKFwiRmxLYkNlXCIpKStcIjwvZGl2PlwiKyhLIT1cImpzbFwiP1wiPC9cIitfLk5wKEspK1wiPlwiOlwiXCIpO3Q9KDAsXy5OKSh0K1wiPC92ZWxvZz5cIil9ZWxzZSBLPSc8aW1nIGhlaWdodD1cIicrXy5PKGMpKydcIiBzcmM9XCInK18uTyhfLkRwKFwiLy93d3cuZ3N0YXRpYy5jb20vdWkvdjEvYWN0aXZpdHlpbmRpY2F0b3IvbG9hZGluZ1wiKyhfLkRRYz9cIi5zdmdcIjpcIl9cIitjK1wiLmdpZlwiKSkpKydcIiB3aWR0aD1cIicrXy5PKGMpKydcIiBhcmlhLWxhYmVsPVwiJyxhPVwiXCIrXy5LUWMoYSksYT0oMCxfLk4pKGEpLEsrPV8uTyhfLnZwKGEpKSsnXCIgcm9sZT1cInByb2dyZXNzYmFyXCInKyh0IT1udWxsP1wiIHNzaz0nXCIrXy5PKF8ubXAoXCJHa1gzaWJcIikrXG50KStcIidcIjpcIlwiKStcIj5cIix0PSgwLF8uTikoSyk7cmV0dXJuKDAsXy5OKShlKyh0K1wiPC9nLWxvYWRpbmctaWNvbj5cIikpfTtcbl8uTFFjPWZ1bmN0aW9uKGEsYil7cmV0dXJuKDAsXy5OKShcIjxkaXZcIitfLnpwKF8ueXAoXy5IcChcImNsYXNzXCIsYSxcIlJvS21oYlwiKSkpKyhiIT1udWxsP1wiIHNzaz0nXCIrXy5PKF8ubXAoXCJFb2FUTGNcIikrYikrXCInXCI6XCJcIikrJz48ZGl2IGNsYXNzPVwiJytfLk8oXCJiZURRUFwiKSsnXCI+PGRpdiBjbGFzcz1cIicrXy5PKFwiRFUwTkpcIikrXCIgXCIrXy5PKFwiU1BLRm1jXCIpK1wiIFwiK18uTyhcIngzU2RYZFwiKStcIiBcIitfLk8oXCJKN3V1VWVcIikrJ1wiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9XCInK18uTyhcIkZjWGZpXCIpKydcIj48ZGl2IGNsYXNzPVwiJytfLk8oXCJEVTBOSlwiKStcIiBcIitfLk8oXCJTUEtGbWNcIikrXCIgXCIrXy5PKFwidFMzUDVcIikrJ1wiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9XCInK18uTyhcImJlRFFQXCIpKydcIj48ZGl2IGNsYXNzPVwiJytfLk8oXCJEVTBOSlwiKStcIiBcIitfLk8oXCJTUEtGbWNcIikrXCIgXCIrXy5PKFwieDNTZFhkXCIpK1wiIFwiK18uTyhcInNEUElDXCIpKydcIj48L2Rpdj48L2Rpdj48L2Rpdj4nKX07XG5fLktRYz1mdW5jdGlvbihhKXt2YXIgYj1iPT09dm9pZCAwP1wianNsXCI6Yjt2YXIgYz1cIjx2ZWxvZ1wiK18uRWYobmV3IF8uTShfLmJDKSwhMSkrXCI+XCI7Yys9YiE9XCJqc2xcIj9cIjxcIitfLk5wKGIpK18uenAoXy5rQyhhLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCxuZXcgXy5NKF8uYkMpKSkrXCI+XCI6XCJcIjtjPWMrXCJMb2FkaW5nLi4uXCIrKGIhPVwianNsXCI/XCI8L1wiK18uTnAoYikrXCI+XCI6XCJcIik7cmV0dXJuKDAsXy5OKShjK1wiPC92ZWxvZz5cIil9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLmFDPWZ1bmN0aW9uKGEsYil7YT1hfHx7fTtyZXR1cm4gXy54UWMoYixhLlNhLGEuRmIpfTtcbl8ueFFjPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hJiZhLmNzcF9ub25jZTthPWEmJmEuaUw7Yj1jPT09XCJiYXNlXCI/XCI8YmFzZVwiKyhiIT1udWxsJiYoXCJcIitiKS5sZW5ndGg+MD9fLnpwKF8ueXAoYikpOlwiXCIpK1wiPlwiOmM9PT1cImlmcmFtZVwiP1wiPGlmcmFtZVwiKyhiIT1udWxsJiYoXCJcIitiKS5sZW5ndGg+MD9fLnpwKF8ueXAoYikpOlwiXCIpK1wiPjwvaWZyYW1lPlwiOmM9PT1cImxpbmtcIj9cIjxsaW5rXCIrKGIhPW51bGwmJihcIlwiK2IpLmxlbmd0aD4wP18uenAoXy55cChiKSk6XCJcIikrXCI+XCI6Yz09PVwibm9cIj9cIjxub1wiKyhiIT1udWxsJiYoXCJcIitiKS5sZW5ndGg+MD9fLnpwKF8ueXAoYikpOlwiXCIpK1wiPjwvbm8+XCI6Yz09PVwic2NyaXB0XCI/XCI8c2NyaXB0XCIrKGQ/JyBub25jZT1cIicrXy5PKF8uT3AoZCkpKydcIic6XCJcIikrXCI+XFx4M2Mvc2NyaXB0PlwiOmM9PT1cInN0eWxlXCI/XCI8c3R5bGVcIisoYiE9bnVsbCYmKFwiXCIrYikubGVuZ3RoPjA/Xy56cChfLnlwKGIpKTpcIlwiKSsoYT8nIG5vbmNlPVwiJytfLk8oXy5PcChhKSkrXG4nXCInOlwiXCIpK1wiPjwvc3R5bGU+XCI6Yz09PVwidGV4dGFyZWFcIj9cIjx0ZXh0YXJlYVwiKyhiIT1udWxsJiYoXCJcIitiKS5sZW5ndGg+MD9fLnpwKF8ueXAoYikpOlwiXCIpK1wiPjwvdGV4dGFyZWE+XCI6Yz09PVwidGl0bGVcIj9cIjx0aXRsZVwiKyhiIT1udWxsJiYoXCJcIitiKS5sZW5ndGg+MD9fLnpwKF8ueXAoYikpOlwiXCIpK1wiPjwvdGl0bGU+XCI6Yz09PVwieG1wXCI/XCI8eG1wXCIrKGIhPW51bGwmJihcIlwiK2IpLmxlbmd0aD4wP18uenAoXy55cChiKSk6XCJcIikrXCI+PC94bXA+XCI6YyE9PVwianNsXCI/XCI8XCIrXy5OcChjIT1udWxsP2M6bnVsbCkrKGIhPW51bGwmJihcIlwiK2IpLmxlbmd0aD4wP18uenAoXy55cChiKSk6XCJcIikrXCI+PC9cIitfLk5wKGMhPW51bGw/YzpudWxsKStcIj5cIjpcIlwiO3JldHVybigwLF8uTikoYil9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLklCPWZ1bmN0aW9uKGEsYixjKXthPWEmJmEuaUw7Yj1iIT1udWxsP1wiPHN0eWxlXCIrKF8uc3AoYyk/Xy56cChfLnlwKGMpKTpcIlwiKSsoYT8nIG5vbmNlPVwiJytfLk8oXy5PcChhKSkrJ1wiJzpcIlwiKStcIj5cIitfLlIoYikrXCI8L3N0eWxlPlwiOlwiXCI7cmV0dXJuKDAsXy5OKShiKX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBpd2M7aXdjPWZ1bmN0aW9uKCl7cmV0dXJuXCJ6U295VGVtcGxhdGV6XCJ9O18uREE9ZnVuY3Rpb24oYSl7YS50b1N0cmluZz1pd2M7cmV0dXJuIGF9O18uRUE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5EQShmdW5jdGlvbihjLGQpe3JldHVybiBhKGM9PW51bGw/YjpPYmplY3QuYXNzaWduKHt9LGIsYyksZCl9KX07Xy5GQT1mdW5jdGlvbihhLGIpe3ZhciBjPWZ1bmN0aW9uKGQsZSxmKXthKGQsZT09bnVsbD9iOk9iamVjdC5hc3NpZ24oe30sYixlKSxmKX07Yy55Yj1hLnliO3JldHVybiBfLkRBKGMpfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy55UWM9ZnVuY3Rpb24oYSxiLGMsZCxlKXtkPWQ9PT12b2lkIDA/bnVsbDpkO3ZhciBmPWU9PT12b2lkIDA/bnVsbDplO2U9XCJcIjt2YXIgZz0nY2xhc3M9XCInKyhfLkRCP18uTyhcInoxYXNDZVwiKStcIiBcIjpcIlwiKSsoXy5EQj9fLk8oXCJ3dVhtcWNcIikrXCIgXCI6XCJcIikrKF8uREI/XCJcIjpfLk8oXCJXcVFlcWNcIikrXCIgXCIpKyhfLkRCP1wiXCI6Xy5PKFwiRkFna2JjXCIpKSsnXCInO2c9KDAsXy5rcCkoZyk7ZSs9XCI8c3BhblwiK18uenAoXy55cChfLkxCKGIsZykpKSsoKGM9PW51bGw/MDpfLlBCKGMpKT8nIGRhdGEtaHZlaWQ9XCJcIicrXy5GZihcIm1rMXVBZlwiLFtdLFwiZGF0YS1odmVpZFwiKTpcIlwiKSsoKGM9PW51bGw/MDpfLlNCKGMpKT8nIGRhdGEtdmVkPVwiXCInK18uRmYoXCJEbnoxamJcIixbXSxcImRhdGEtdmVkXCIpOlwiXCIpK1wiPlwiKyhkPyhkIT1udWxsP2Q6Xy5EQShfLmFDKSkoe1NhOm51bGwsVGE6bnVsbH0sYSk6XCJcIikrKGY/KGYhPW51bGw/ZjpfLkRBKF8uYUMpKSh7U2E6bnVsbCxUYTpudWxsfSxhKTpcIlwiKTtfLkRCP1xuZSs9Xy5IQj8nPHN2ZyBmb2N1c2FibGU9XCJmYWxzZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj48cGF0aCBkPVwiTTE5IDYuNDFMMTcuNTkgNSAxMiAxMC41OSA2LjQxIDUgNSA2LjQxIDEwLjU5IDEyIDUgMTcuNTkgNi40MSAxOSAxMiAxMy40MSAxNy41OSAxOSAxOSAxNy41OSAxMy40MSAxMnpcIj48L3BhdGg+PC9zdmc+JzonPHN2ZyBmb2N1c2FibGU9XCJmYWxzZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+PHBhdGggZD1cIk0xOSA2LjQxTDE3LjU5IDUgMTIgMTAuNTkgNi40MSA1IDUgNi40MSAxMC41OSAxMiA1IDE3LjU5IDYuNDEgMTkgMTIgMTMuNDEgMTcuNTkgMTkgMTkgMTcuNTkgMTMuNDEgMTJ6XCI+PC9wYXRoPjwvc3ZnPic6KGI9KF8uYm0/XCIuXCIrXy5SKFwiRkFna2JjXCIpK1wiIHNwYW57LXdlYmtpdC1tYXNrLWltYWdlOnVybChkYXRhOmltYWdlL3BuZzstbW96LW1hc2staW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nOy1tcy1tYXNrLWltYWdlOnVybChkYXRhOmltYWdlL3BuZzstby1tYXNrLWltYWdlOnVybChkYXRhOmltYWdlL3BuZzttYXNrLWltYWdlOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQURBQUFBQXdDQVFBQUFEOUN6RU1BQUFBazBsRVFWUjRBZTJXMXczRFFBekZIbkJEM29DcE82YTREOENEOEZ6RmI0bE0zSldjbUNRcHVxdUtVb2ZwMHFaL3E5TlhGZXEvNnZSdVNkelZxUU9KUmI5TTM1bDhXUUlKUE1rWDQzcSt6UFU4RWRjalNWd1BSRUFmU0FCOUpCSFVnMFJJRHhJZS9aSXc2TDBCL3lIeW4yVC9aZXEvMGZpand2K3c4eit1L1M4Yy95dlQvOUwzZjdiNFA3ejhuNDVKa3B5UUhvWjFDK0NBY2g4V0FBQUFBRWxGVGtTdVFtQ0MpfVwiOlxuXCJcIikrKF8uYm0/XCJcIjpcIi5cIitfLlIoXCJGQWdrYmNcIikrXCIgc3BhbntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQURBQUFBQXdDQVFBQUFEOUN6RU1BQUFBazBsRVFWUjRBZTJXMXczRFFBekZIbkJEM29DcE82YTREOENEOEZ6RmI0bE0zSldjbUNRcHVxdUtVb2ZwMHFaL3E5TlhGZXEvNnZSdVNkelZxUU9KUmI5TTM1bDhXUUlKUE1rWDQzcSt6UFU4RWRjalNWd1BSRUFmU0FCOUpCSFVnMFJJRHhJZS9aSXc2TDBCL3lIeW4yVC9aZXEvMGZpand2K3c4eit1L1M4Yy95dlQvOUwzZjdiNFA3ejhuNDVKa3B5UUhvWjFDK0NBY2g4V0FBQUFBRWxGVGtTdVFtQ0MpfVwiKSxiPSgwLF8ubHApKGIpLGUrPV8uSUIoYSxiKStcIjxzcGFuPjwvc3Bhbj5cIik7cmV0dXJuKDAsXy5OKShlK1wiPC9zcGFuPlwiKX07XG5fLnpRYz1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1lPT09dm9pZCAwP251bGw6ZTt2YXIgZj1mPT09dm9pZCAwP251bGw6Zjt2YXIgZz1cIlwiLGg9YiE9MjQ7Yj0nc3R5bGU9XCInKyhoP1wiaGVpZ2h0OlwiKyhfLk8oXy5SKGIpKStcInB4O1wiKTpcIlwiKSsoaD9cImxpbmUtaGVpZ2h0OlwiKyhfLk8oXy5SKGIpKStcInB4O1wiKTpcIlwiKSsoaD9cIndpZHRoOlwiKyhfLk8oXy5SKGIpKStcInB4XCIpOlwiXCIpKydcIic7Yj0oMCxfLmtwKShiKTtnKz1fLnlRYyhhLF8uTEIoYyxiKSxkLGUsZik7cmV0dXJuKDAsXy5OKShnKX07XG5fLkFRYz1mdW5jdGlvbihhLGIpe3ZhciBjPVwiXCIsZD0nY2xhc3M9XCInK18uTyhcInoxYXNDZVwiKSsnXCInO2Q9KDAsXy5rcCkoZCk7Yys9XCI8c3BhblwiK18uenAoXy55cChfLkxCKGEsZCkpKSsoKGI9PW51bGw/MDpfLlBCKGIpKT8nIGRhdGEtaHZlaWQ9XCJcIicrXy5GZihcIm1rMXVBZlwiLFtdLFwiZGF0YS1odmVpZFwiKTpcIlwiKSsoKGI9PW51bGw/MDpfLlNCKGIpKT8nIGRhdGEtdmVkPVwiXCInK18uRmYoXCJEbnoxamJcIixbXSxcImRhdGEtdmVkXCIpOlwiXCIpK1wiPlwiKyhfLkhCPyc8c3ZnIGZvY3VzYWJsZT1cImZhbHNlXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIGQ9XCJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyelwiPjwvcGF0aD48L3N2Zz4nOic8c3ZnIGZvY3VzYWJsZT1cImZhbHNlXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj48cGF0aCBkPVwiTTE5IDYuNDFMMTcuNTkgNSAxMiAxMC41OSA2LjQxIDUgNSA2LjQxIDEwLjU5IDEyIDUgMTcuNTkgNi40MSAxOSAxMiAxMy40MSAxNy41OSAxOSAxOSAxNy41OSAxMy40MSAxMnpcIj48L3BhdGg+PC9zdmc+JykrXG5cIjwvc3Bhbj5cIjtyZXR1cm4oMCxfLk4pKGMpfTtfLkJRYz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9XCJcIixlPWEhPTI0O2E9J3N0eWxlPVwiJysoZT9cImhlaWdodDpcIisoXy5PKF8uUihhKSkrXCJweDtcIik6XCJcIikrKGU/XCJsaW5lLWhlaWdodDpcIisoXy5PKF8uUihhKSkrXCJweDtcIik6XCJcIikrKGU/XCJ3aWR0aDpcIisoXy5PKF8uUihhKSkrXCJweFwiKTpcIlwiKSsnXCInO2E9KDAsXy5rcCkoYSk7ZCs9Xy5BUWMoXy5MQihiLGEpLGMpO3JldHVybigwLF8uTikoZCl9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLnBBPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5wQSxfLnEpO18ucUE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5LZihhLDEsYil9O18uTHBjPVswLF8uSmpdO18uQ29bNTg5XT1fLkxwYztcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5yQT1fLk5iKDU4OSxfLnBBKTtfLkVvWzU4OV09Xy5McGM7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uZno9ZnVuY3Rpb24oYSl7dmFyIGI9YS5ib2R5LGM9YS5jbGFzcyxkPWEuSWIsZT1hLmpzbG9nLGY9YS5hdHRyaWJ1dGVzLGc9YS5qc2NvbnRyb2xsZXIsaD1hLmpzbW9kZWwsaz1hLmpzYWN0aW9uLGw9YS5qc25hbWUsbj1hLklJLHI9YS55Yyx0PWEuQmMsdT1hLmgkYyx6PWEud2UsQj1hLmhWLEY9XCJcIixLPVwiXCIrKGQhPW51bGw/ZDpcIlwiKSsoYS56NGM/XCIgVWJpOFpcIjpcIlwiKSsoYS50eWQ/XCIgckVUU0RcIjpcIlwiKTtkPV8uWXkoKTt2YXIgUDtGKz1cIjxjLXdpelwiKyhfLnNwKHI9PW51bGw/dm9pZCAwOnIuS2UpPycganNyZW5kZXJlcj1cIicrXy5PKHIuS2UpKydcIic6XCJcIikrXy56cChfLnlwKF8uSHAoXCJjbGFzc1wiLGMsSykpKSsoZSE9bnVsbD8nIGpzbG9nPVwiJytfLk8oZSkrJ1wiJzpcIlwiKSsoXy5zcChmKT9fLnpwKF8ueXAoZikpOlwiXCIpKyhuP1wiXCI6XCIganNzaGFkb3dcIikrJyBqc2RhdGE9XCJkZWZlcnJlZC0nK18uTyhkKSsnXCInKyghdSYmXy5zcChyPT1udWxsP3ZvaWQgMDpyLnluYyl8fCFfLnNwKHI9PVxubnVsbD92b2lkIDA6ci5CYykmJiFfLnNwKHQpP1wiXCI6JyBkYXRhLXA9XCInK18uTyhcIiUuQC5cIisoKFA9cj09bnVsbD92b2lkIDA6ci5CYykhPW51bGw/UDp0IT1udWxsP3Q6bnVsbCkuV2MoKS5zdWJzdHIoMSkpKydcIicpKyhnIT1udWxsPycganNjb250cm9sbGVyPVwiJytfLk8oZykrJ1wiJzpcIlwiKSsoaz8nIGpzYWN0aW9uPVwiJytfLk8oaykrJ1wiJzpcIlwiKSsobCE9bnVsbD8nIGpzbmFtZT1cIicrXy5PKGwpKydcIic6XCJcIikrKF8uc3Aocj09bnVsbD92b2lkIDA6ci5EYmIpPycgZGF0YS1ub2RlLWluZGV4PVwiJytfLk8oci5EYmIpKydcIic6XCJcIikrKF8uc3Aocj09bnVsbD92b2lkIDA6ci5RZSk/XCIgYXV0b3VwZGF0ZVwiOlwiXCIpKycganNtb2RlbD1cIicrXy5PKFwiaGM2VWJkXCIpKyhoP1wiIFwiK18uTyhoKTpcIlwiKSsnXCInKyhfLnNwKHI9PW51bGw/dm9pZCAwOnIuaXRkKT9cIiB2aWV3XCI6XCJcIikrXCIgYy13aXpcIisoeiE9bnVsbD9cIiBzc2s9J1wiK18uTyhfLm1wKFwicGRMaXBmXCIpK3opK1wiJ1wiOlwiXCIpKyhCIT1udWxsP1xuXy56cChfLnlwKEIpKTpcIlwiKStcIj5cIitfLmdwKGIpO2E9Xy5vcCh7eWM6cn0sYSk7Yz1hLnljO2E9YS5qc2RhdGE7Yj1cIlwiO2lmKF8uc3AoYz09bnVsbD92b2lkIDA6Yy5qc2RhdGEpKWZvcihjPWMuanNkYXRhLGU9Yy5sZW5ndGgsZj0wO2Y8ZTtmKyspZz1jW2ZdLGIrPV8uc3AoZyk/XCIgXCIrXy5VeShnKTpcIlwiO2E9YisoYT9cIiBcIithOlwiXCIpO0YrPSc8Yy1kYXRhIGlkPVwiJytfLk8oZCkrJ1wiJysoYT8nIGpzZGF0YT1cIicrXy5PKGEpKydcIic6XCJcIikrXCI+PC9jLWRhdGE+PC9jLXdpej5cIjtyZXR1cm4oMCxfLk4pKEYpfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwiZXBZT3hcIik7XG52YXIgT1FjPW5ldyBfLndvKDE0MzEyMyksUFFjPW5ldyBfLndvKDE0MzEzMCksUVFjPW5ldyBfLndvKDE0MzEyOSksUlFjPW5ldyBfLndvKDE0MzEyNSksU1FjPW5ldyBfLndvKDE0MzEyNyksVFFjPW5ldyBfLndvKDE0NzUxOCksVVFjPW5ldyBfLndvKDE0NzUxNCksVlFjPW5ldyBfLndvKDE0NzUxMyksV1FjPW5ldyBfLndvKDE3MDAwNiksWFFjPW5ldyBfLndvKDE0NzUxNiksWVFjPW5ldyBfLndvKDE0NzUxNSksWlFjPW5ldyBfLndvKDE0NzUyNCksJFFjPW5ldyBfLndvKDE0NzUxNyksYVJjPW5ldyBfLndvKDE0MzEyNiksYlJjPW5ldyBfLndvKDE0MzEyNCksY1JjPW5ldyBfLndvKDE0MzEyOCksZFJjPW5ldyBfLndvKDE0NTc1OCksZVJjPW5ldyBfLndvKDE0NTc1Nyk7dmFyIGZSYz1mdW5jdGlvbihhLGIpe3ZhciBjPWEueWM7YT1hLkJjO3ZhciBkPVwiPHZlbG9nXCIrXy5FZihuZXcgXy5NKE9RYyxfLlBvKF8uTW8obmV3IF8uSG8sMSksKG5ldyBfLkRvKS50YihfLnJBLF8ucUEobmV3IF8ucEEsLTE0MzEyMykpKSksITEpK1wiPlwiO3ZhciBlPSc8ZGl2IGNsYXNzPVwiJytfLk8oXCJlYTBMYmVcIikrJ1wiPjxkaXYgY2xhc3M9XCInK18uTyhcIktvV0hwZFwiKSsnXCI+JztlKz1cIjxkaXZcIitfLnpwKF8ubUMoKSkrJyBhcmlhLWxhYmVsPVwiJztlKz1fLndwKFwiQ2xvc2VcIik7ZSs9J1wiIGNsYXNzPVwiJytfLk8oXCJCaUtOZlwiKSsnXCIganNuYW1lPVwiJytfLk8oXCJ0cXA3dWRcIikrJ1wiIHRhYmluZGV4PVwiMFwiIHJvbGU9XCJidXR0b25cIiBqc2FjdGlvbj1cIicrXy5PKFwieVpHS3ZmXCIpKydcIicrXy5FZihuZXcgXy5NKFBRYyxfLlBvKG5ldyBfLkhvLChuZXcgXy5EbykudGIoXy5yQSxfLnFBKG5ldyBfLnBBLC0xNDMxMzApKSkpLCExKStcIj5cIitfLnpRYyhiLDIwKStcIjwvZGl2PlwiO2UrPSc8ZGl2IGNsYXNzPVwiJytcbl8uTyhcInA0cHZUZFwiKSsnXCI+JztlPWUrXCJTZWFyY2ggYW55IGltYWdlIHdpdGggR29vZ2xlIExlbnM8L2Rpdj48ZGl2XCIrKF8uenAoXy5tQygpKSsnIGNsYXNzPVwiJytfLk8oXCJnSVlKVWNcIikrJ1wiIGpzbmFtZT1cIicrXy5PKFwiR2gxQ3ViXCIpKydcIicrXy5FZihuZXcgXy5NKFFRYyxfLlBvKG5ldyBfLkhvLChuZXcgXy5EbykudGIoXy5yQSxfLnFBKG5ldyBfLnBBLC0xNDMxMjkpKSkpLCExKSsnPjxpbWcgc3JjPVwiaHR0cHM6Ly9sZW5zLmdvb2dsZS5jb20vZ2VuMjA0XCIgc3R5bGU9XCJkaXNwbGF5Om5vbmU7XCIgYWx0PVwiXCIvPlxceDNjIS0tIEVycm9yIFN0YXRlIC0tXFx4M2UnKTtlKz1cIjxkaXZcIitfLnpwKF8ubUMoKSkrJyBjbGFzcz1cIicrXy5PKFwiYWxUQlFlXCIpKydcIiBqc25hbWU9XCInK18uTyhcIk0wV3hsZVwiKSsnXCIgc3R5bGU9XCJkaXNwbGF5Om5vbmU7XCInK18uRWYobmV3IF8uTShTUWMsXy5QbyhfLk1vKG5ldyBfLkhvLDEpLChuZXcgXy5EbykudGIoXy5yQSxfLnFBKG5ldyBfLnBBLC0xNDMxMjcpKSkpLFxuITEpKyc+PGRpdiBjbGFzcz1cIicrXy5PKFwiT0h6V2piXCIpKydcIj4nO2UrPVwiPHNwYW5cIitfLnpwKF8ubUMoKSkrJyBqc25hbWU9XCInK18uTyhcImtnUWxRXCIpKydcIiBzdHlsZT1cImRpc3BsYXk6bm9uZTtcIicrXy5FZihuZXcgXy5NKFZRYyxfLlBvKF8uTW8obmV3IF8uSG8sMSksKG5ldyBfLkRvKS50YihfLnJBLF8ucUEobmV3IF8ucEEsLTE0NzUxMykpKSksITEpK1wiPlwiO2U9ZStcIkNhbid0IHVwbG9hZC4gVXNlIGFuIGltYWdlIGluIG9uZSBvZiB0aGVzZSBmb3JtYXRzOiAuanBnLCAucG5nLCAuYm1wLCAudGlmLCBvciAud2VicDwvc3Bhbj48c3BhblwiKyhfLnpwKF8ubUMoKSkrJyBqc25hbWU9XCInK18uTyhcInVRRDQ4ZVwiKSsnXCIgc3R5bGU9XCJkaXNwbGF5Om5vbmU7XCInK18uRWYobmV3IF8uTShXUWMsXy5QbyhfLk1vKG5ldyBfLkhvLDEpLChuZXcgXy5EbykudGIoXy5yQSxfLnFBKG5ldyBfLnBBLC0xNzAwMDYpKSkpLCExKStcIj5cIik7ZT1lK1wiQ2FuJ3QgdXBsb2FkLiBVc2UgYW4gaW1hZ2UgaW4gb25lIG9mIHRoZXNlIGZvcm1hdHM6IC5qcGcsIC5wbmcsIC5ibXAsIG9yIC53ZWJwPC9zcGFuPjxzcGFuXCIrXG4oXy56cChfLm1DKCkpKycganNuYW1lPVwiJytfLk8oXCJieTQydlwiKSsnXCIgc3R5bGU9XCJkaXNwbGF5Om5vbmU7XCInK18uRWYobmV3IF8uTShVUWMsXy5QbyhfLk1vKG5ldyBfLkhvLDEpLChuZXcgXy5EbykudGIoXy5yQSxfLnFBKG5ldyBfLnBBLC0xNDc1MTQpKSkpLCExKStcIj5cIik7ZT1lK1wiQ2FuJ3QgdXBsb2FkLiBVc2UgYW4gaW1hZ2Ugc21hbGxlciB0aGFuIDIwTUIuPC9zcGFuPjxzcGFuXCIrKF8uenAoXy5tQygpKSsnIGpzbmFtZT1cIicrXy5PKFwib0d1UFRkXCIpKydcIiBzdHlsZT1cImRpc3BsYXk6bm9uZTtcIicrXy5FZihuZXcgXy5NKFlRYyxfLlBvKF8uTW8obmV3IF8uSG8sMSksKG5ldyBfLkRvKS50YihfLnJBLF8ucUEobmV3IF8ucEEsLTE0NzUxNSkpKSksITEpK1wiPlwiKTtlPWUrXCJDYW4ndCBzZWFyY2ggbXVsdGlwbGUgaW1hZ2VzLiBBZGQgb25lIGltYWdlIGF0IGEgdGltZS48L3NwYW4+PHNwYW5cIisoXy56cChfLm1DKCkpKycganNuYW1lPVwiJytfLk8oXCJ4OWd0TlwiKSsnXCIgc3R5bGU9XCJkaXNwbGF5Om5vbmU7XCInK1xuXy5FZihuZXcgXy5NKFhRYyxfLlBvKF8uTW8obmV3IF8uSG8sMSksKG5ldyBfLkRvKS50YihfLnJBLF8ucUEobmV3IF8ucEEsLTE0NzUxNikpKSksITEpK1wiPlwiKTtlPWUrXCJDYW4ndCB1c2UgdGhpcyBsaW5rLiBDaGVjayBmb3IgdHlwb3Mgb3IgdXNlIGFub3RoZXIgbGluayB0byB0cnkgYWdhaW4uPC9zcGFuPjxzcGFuXCIrKF8uenAoXy5tQygpKSsnIGpzbmFtZT1cIicrXy5PKFwibGFnVHZlXCIpKydcIiBzdHlsZT1cImRpc3BsYXk6bm9uZTtcIicrXy5FZihuZXcgXy5NKCRRYyxfLlBvKF8uTW8obmV3IF8uSG8sMSksKG5ldyBfLkRvKS50YihfLnJBLF8ucUEobmV3IF8ucEEsLTE0NzUxNykpKSksITEpK1wiPlwiKTtlPWUrXCJDYW4ndCB1c2UgdGhpcyBsaW5rLiBDaGVjayB0aGF0IHlvdXIgbGluayBzdGFydHMgd2l0aCAnaHR0cDovLycgb3IgJ2h0dHBzOi8vJyB0byB0cnkgYWdhaW4uPC9zcGFuPjxzcGFuXCIrKF8uenAoXy5tQygpKSsnIGpzbmFtZT1cIicrXy5PKFwiejZoamhmXCIpKydcIiBzdHlsZT1cImRpc3BsYXk6bm9uZTtcIicrXG5fLkVmKG5ldyBfLk0oVFFjLF8uUG8oXy5NbyhuZXcgXy5IbywxKSwobmV3IF8uRG8pLnRiKF8uckEsXy5xQShuZXcgXy5wQSwtMTQ3NTE4KSkpKSwhMSkrXCI+XCIpO2U9ZStcIkNhbid0IHVzZSB0aGlzIGxpbmsuIENoZWNrIGZvciB0eXBvcyBvciB1c2UgYW5vdGhlciBsaW5rIHRvIHRyeSBhZ2Fpbi48L3NwYW4+PHNwYW5cIisoXy56cChfLm1DKCkpKycganNuYW1lPVwiJytfLk8oXCJJUEREYWVcIikrJ1wiIHN0eWxlPVwiZGlzcGxheTpub25lO1wiJytfLkVmKG5ldyBfLk0oWlFjLF8uUG8oXy5NbyhuZXcgXy5IbywxKSwobmV3IF8uRG8pLnRiKF8uckEsXy5xQShuZXcgXy5wQSwtMTQ3NTI0KSkpKSwhMSkrXCI+XCIpO2U9ZStcIkNhbid0IHNlYXJjaCBtdWx0aXBsZSBpbWFnZXMuIEFkZCBvbmUgaW1hZ2UgYXQgYSB0aW1lLjwvc3Bhbj48L2Rpdj48L2Rpdj5cXHgzYyEtLSBOb3JtYWwgU3RhdGUgLS1cXHgzZTxkaXZcIisoXy56cChfLm1DKCkpKycgY2xhc3M9XCInK18uTyhcImY2R0EwXCIpKydcIiBqc25hbWU9XCInK1xuXy5PKFwiUWRFUUljXCIpKydcIicrXy5FZihuZXcgXy5NKGJSYyxfLlBvKG5ldyBfLkhvLChuZXcgXy5EbykudGIoXy5yQSxfLnFBKG5ldyBfLnBBLC0xNDMxMjQpKSkpLCExKSsnPjxkaXYgY2xhc3M9XCInK18uTyhcIkJIOXJuXCIpKydcIj48ZGl2IGNsYXNzPVwiJytfLk8oXCJSYW9VVWVcIikrJ1wiPicrKDAsXy5OKSgnPHN2ZyB3aWR0aD1cIjU5XCIgaGVpZ2h0PVwiNDVcIiB2aWV3Qm94PVwiMCAwIDU5IDQ1XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk00MC4zMzMyIDEzLjc0N0wxLjU4MzIzIDEzLjc0N0wxLjU4MzIzIDQzLjQ1NTNMNDAuMzMzMiA0My40NTUzTDQwLjMzMzIgMTMuNzQ3WlwiIGNsYXNzPVwiJytfLk8oXCJBcklBWGJcIikrJ1wiLz48cGF0aCBkPVwiTTQwLjMzMzIgMTMuNzQ3TDE3LjA4MzIgMTMuNzQ3TDE3LjA4MzIgMzMuMTIyTDQwLjMzMzIgMzMuMTIyTDQwLjMzMzIgMTMuNzQ3WlwiIGNsYXNzPVwiJytfLk8oXCJxT0ZMc2JcIikrJ1wiLz48cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMC42MTQ0NzkgMTIuNzc4M0w2Ljc0OTg4IDEyLjc3ODNMNi43NDk4OCAxNC43MTU4TDIuNTUxOTggMTQuNzE1OEwyLjU1MTk4IDE4LjkxMzdMMC42MTQ0NzkgMTguOTEzN0wwLjYxNDQ3OSAxMi43NzgzWlwiIGZpbGw9XCIjQkRDMUM2XCIvPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0zOS4zNjQ0IDQyLjQ4NjZMMzkuMzY0NCAzOC4yODg3TDQxLjMwMTkgMzguMjg4N0w0MS4zMDE5IDQ0LjQyNDFMMzUuMTY2NSA0NC40MjQxTDM1LjE2NjUgNDIuNDg2NkwzOS4zNjQ0IDQyLjQ4NjZaXCIgZmlsbD1cIiNCREMxQzZcIi8+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTAuNjE0NDc5IDM4LjI4ODdMMi41NTE5OCAzOC4yODg3TDIuNTUxOTggNDIuNDg2Nkw2Ljc0OTg3IDQyLjQ4NjZMNi43NDk4NyA0NC40MjQxTDAuNjE0NDc5IDQ0LjQyNDFMMC42MTQ0NzkgMzguMjg4N1pcIiBmaWxsPVwiI0JEQzFDNlwiLz48cGF0aCBkPVwiTTE5LjY2NjUgMzAuMjUzMUg1OC40MTY1TDU4LjQxNjUgMC41NDQ3MjJIMTkuNjY2NUwxOS42NjY1IDMwLjI1MzFaXCIgZmlsbD1cIiNBRUNCRkFcIi8+PHBhdGggZD1cIk0xOS42NjY1IDIxLjg0MjlMMTkuNjY2NSAzMC4yNTI1TDU4LjQxNjggMzAuMjUyNUw1OC40MTY4IDE5Ljc0MDZMNDkuNjY2NyAxMi40MDY5QzQ4LjYyMzQgMTEuNTM0MiA0Ny4yOTMxIDExLjA2OTkgNDUuOTI3MiAxMS4xMDE4QzQ0LjU2MTQgMTEuMTMzNyA0My4yNTQ3IDExLjY1OTYgNDIuMjU0MiAxMi41ODAxTDMzLjQxNjYgMjAuNzkxOEwyOC40MTY2IDE3LjI1NDhDMjcuNzMzMiAxNi43NzgxIDI2LjkwMTMgMTYuNTU2MyAyNi4wNjg0IDE2LjYyODhDMjUuMjM1NCAxNi43MDEyIDI0LjQ1NTQgMTcuMDYzMiAyMy44NjY2IDE3LjY1MDVMMTkuNjY2NSAyMS44NDI5WlwiIGZpbGw9XCIjNjY5REY2XCIvPjxwYXRoIGQ9XCJNMzAuMDA1NiAxMi45Mzg2QzMxLjczMTUgMTIuOTM4NiAzMy4xMzA2IDExLjUzOTUgMzMuMTMwNiA5LjgxMzZDMzMuMTMwNiA4LjA4NzczIDMxLjczMTUgNi42ODg2MyAzMC4wMDU2IDYuNjg4NjNDMjguMjc5OCA2LjY4ODYzIDI2Ljg4MDcgOC4wODc3MyAyNi44ODA3IDkuODEzNkMyNi44ODA3IDExLjUzOTUgMjguMjc5OCAxMi45Mzg2IDMwLjAwNTYgMTIuOTM4NlpcIiBmaWxsPVwiI0U4RjBGRVwiLz48L3N2Zz4nKStcbic8L2Rpdj48ZGl2IGNsYXNzPVwiJytfLk8oXCJaZVZCdGNcIikrJ1wiPicpO3ZhciBmPVwiRHJhZyBhbiBpbWFnZSBoZXJlIG9yIDxzcGFuXCIrKF8uenAoXy5tQygpKSsnIHRhYmluZGV4PVwiMFwiIHJvbGU9XCJidXR0b25cIiBqc25hbWU9XCInK18uTyhcInRBUEdjXCIpKydcIiBjbGFzcz1cIicrXy5PKFwiRFY3dGhlXCIpKydcIiBqc2FjdGlvbj1cIicrXy5PKFwiRDBIRTdcIikrJ1wiJytfLkVmKG5ldyBfLk0oY1JjLF8uUG8obmV3IF8uSG8sKG5ldyBfLkRvKS50YihfLnJBLF8ucUEobmV3IF8ucEEsLTE0MzEyOCkpKSksITEpK1wiPnVwbG9hZCBhIGZpbGUgIDwvc3Bhbj5cIik7ZSs9ZjtmPSc8ZGl2IGNsYXNzPVwiJytfLk8oXCJZSngyNVwiKSsnXCI+PGRpdiBjbGFzcz1cIicrXy5PKFwiZGlPbEllXCIpKydcIj48L2Rpdj48ZGl2IGNsYXNzPVwiJytfLk8oXCJhSEsxYmRcIikrJ1wiPicrXy5ncChcIk9SXCIpKyc8L2Rpdj48ZGl2IGNsYXNzPVwiJytfLk8oXCJkaU9sSWVcIikrJ1wiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9XCInK18uTyhcIlBYVDZjZFwiKStcbidcIj4nO2YrPVwiPGlucHV0XCIrXy56cChfLm1DKCkpKycgY2xhc3M9XCInK18uTyhcImNCOU03XCIpKydcIiBqc25hbWU9XCInK18uTyhcIlc3aEFHZVwiKSsnXCIganNhY3Rpb249XCJjaGFuZ2U6JytfLk8oXCJWVHdNSVwiKStcIjsgY2xpY2s6XCIrXy5PKFwiaDVNMTJlXCIpK1wiOyBiZWZvcmVpbnB1dDpcIitfLk8oXCJuaEczMGNcIikrXCI7IGlucHV0OlwiK18uTyhcImU0SndTZVwiKSsnO1wiIHBsYWNlaG9sZGVyPVwiJytfLk8oXCJQYXN0ZSBpbWFnZSBsaW5rXCIpKydcIiBhdXRvY29tcGxldGU9XCJmYWxzZVwiIGF1dG9jb3JyZWN0PVwiZmFsc2VcIiB0ZXh0PVwidGV4dFwiJytfLkVmKG5ldyBfLk0oZFJjLF8uUG8obmV3IF8uSG8sKG5ldyBfLkRvKS50YihfLnJBLF8ucUEobmV3IF8ucEEsLTE0NTc1OCkpKSksITEpK1wiLz5cIjtmKz1cIjxkaXZcIitfLnpwKF8ubUMoKSkrJyBjbGFzcz1cIicrXy5PKFwiUXdiZDNcIikrJ1wiIGpzbmFtZT1cIicrXy5PKFwiWnRPeENiXCIpKydcIiBqc2FjdGlvbj1cImNsaWNrOicrXy5PKFwiSGlVYmplXCIpKydcIiB0YWJJbmRleD1cIjBcIiByb2xlPVwiYnV0dG9uXCInK1xuXy5FZihuZXcgXy5NKGVSYyxfLlBvKG5ldyBfLkhvLChuZXcgXy5EbykudGIoXy5yQSxfLnFBKG5ldyBfLnBBLC0xNDU3NTcpKSkpLCExKStcIj5cIitfLmdwKFwiU2VhcmNoXCIpK1wiPC9kaXY+XCI7Zj1cIlwiK18uZnooe3ljOmMsY2xhc3M6XCJlOEV1bGVcIixqc25hbWU6XCJBd3VjZGJcIixqc2FjdGlvbjpcInJjdVE2YjpucFQybWQ7QU1ydUNlOlpwdWc3YztcIixqc2NvbnRyb2xsZXI6XCJRcnBzTWNcIixib2R5OigwLF8uTikoZitcIjwvZGl2PlwiKX0pO2Y9KDAsXy5OKShmKTtlKz1cIjwvZGl2PjwvZGl2PlwiK2YrXCI8L2Rpdj5cXHgzYyEtLSBEcmFnZ2luZyBTdGF0ZSAtLVxceDNlXCI7ZSs9XCI8ZGl2XCIrXy56cChfLm1DKCkpKycgY2xhc3M9XCInK18uTyhcIkNhY2ZCXCIpKydcIiBqc25hbWU9XCInK18uTyhcIlppVVJpY1wiKSsnXCIgc3R5bGU9XCJkaXNwbGF5Om5vbmU7XCInK18uRWYobmV3IF8uTShSUWMsXy5QbyhfLk1vKG5ldyBfLkhvLDEpLChuZXcgXy5EbykudGIoXy5yQSxfLnFBKG5ldyBfLnBBLC0xNDMxMjUpKSkpLCExKStcbic+PGRpdiBjbGFzcz1cIicrXy5PKFwiWmVWQnRjXCIpKydcIj4nO2UrPVwiRHJvcCBhbiBpbWFnZSBoZXJlXCI7ZSs9XCI8L2Rpdj48L2Rpdj5cIjtlKz1cIlxceDNjIS0tIExvYWRpbmcgU3RhdGUgLS1cXHgzZVwiO2UrPVwiPGRpdlwiK18uenAoXy5tQygpKSsnIGNsYXNzPVwiJytfLk8oXCJVYTdZdWZcIikrJ1wiIGpzbmFtZT1cIicrXy5PKFwiSHViQWhiXCIpKydcIiBzdHlsZT1cImRpc3BsYXk6bm9uZTtcIicrXy5FZihuZXcgXy5NKGFSYyxfLlBvKF8uTW8obmV3IF8uSG8sMSksKG5ldyBfLkRvKS50YihfLnJBLF8ucUEobmV3IF8ucEEsLTE0MzEyNikpKSksITEpK1wiPlwiK18ubEMoYiwhMCkrJzxkaXYgY2xhc3M9XCInK18uTyhcIndISDhhZlwiKSsnXCI+JztlKz1cIlVwbG9hZGluZy4uLlwiO2UrPVwiPC9kaXY+PC9kaXY+XCI7ZSs9XCI8L2Rpdj5cIjtlKz1cIjwvZGl2PjwvZGl2PlwiO2QrPV8uZnooe0JjOmEseWM6Yyxqc25hbWU6XCJOY3RkWGNcIixqc2FjdGlvbjpcInJjdVE2YjpucFQybWQ7UkVZOUw6R1VYek5kO25wa1hEZTpOdjk0NWU7XCIsXG5qc2NvbnRyb2xsZXI6XCJaYUtFb2RcIixib2R5OigwLF8uTikoZSksY2xhc3M6Xy5PKFwiQXllMWtcIiksaFY6KDAsXy5rcCkoXy5tQygpKycgc3R5bGU9XCJkaXNwbGF5Om5vbmU7XCInKX0pO3JldHVybigwLF8uTikoZCtcIjwvdmVsb2c+XCIpfTt2YXIgZ1JjPWZ1bmN0aW9uKGEpe18uYXIuY2FsbCh0aGlzLGEuTmEpfTtfLkQoZ1JjLF8uYXIpO2dSYy5JYT1fLmFyLklhO2dSYy5wcm90b3R5cGUuVWU9ZnVuY3Rpb24oKXtyZXR1cm5cImVwWU94XCJ9O2dSYy5wcm90b3R5cGUuUmU9ZnVuY3Rpb24oKXtyZXR1cm4gZlJjfTtfLlpxKF8uTVFjLGdSYyk7Xy5UcS5lcFlPeD1fLk5RYztcbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLlhBYj1fLkdkKFwicnRIMWJkXCIsW18uSllhXSk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBTQWIsVEFiO18uUkFiPWZ1bmN0aW9uKGEpe3JldHVybiBKU09OLnN0cmluZ2lmeShhLGZ1bmN0aW9uKGIsYyl7cmV0dXJuIGMgaW5zdGFuY2VvZiBNYXA/T2JqZWN0LmZyb21FbnRyaWVzKGMpOmN9KX07U0FiPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWZ1bmN0aW9uKCl7cmV0dXJuIGQ/YS5wb3AoZCwhMCk6Xy5VbCgpfSxmPWZ1bmN0aW9uKCl7cmV0dXJuIGMhPT1kfTtyZXR1cm4gYj97R3ZiOmUscl9iOmYsdUZiOjJ9OntHdmI6ZSxyX2I6ZixNdGE6ZnVuY3Rpb24oKXtyZXR1cm4gYz9hLnBvcChjLCEwKTpfLlVsKCl9LHVGYjo2fX07VEFiPWZ1bmN0aW9uKGEsYil7cmV0dXJue0d2YjpmdW5jdGlvbigpe3JldHVybiBhLmx2YyhiLlhxKCkpfHxfLlVsKCl9LHJfYjpmdW5jdGlvbigpe3JldHVybiEwfSx1RmI6Mn19O18uVUFiPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5WZChhKX07Xy5VQWI9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLnZsYShhKX07Xy5WQWI9ZnVuY3Rpb24oKXt0aGlzLm9hPW5ldyBNYXB9O18uVkFiLnByb3RvdHlwZS5hbmQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuY2FsbC5hcHBseShhLFtudWxsXS5jb25jYXQoXy5tZChfLmxjLmFwcGx5KDEsYXJndW1lbnRzKSksW3RoaXNdKSl9O18uV0FiPWZ1bmN0aW9uKGEsYixjKXt0aGlzLkFhPWM7dGhpcy5CYT1hO3RoaXMub2E9Yn07XG5fLldBYi5wcm90b3R5cGUuYnBiPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpczt2YXIgZD1iPT09dm9pZCAwP3t9OmI7Yj1kLmUzPT09dm9pZCAwP3t9OmQuZTM7ZD1kLk5LPT09dm9pZCAwP3ZvaWQgMDpkLk5LO3ZhciBlPXRoaXMub2EuZ2V0U3RhdGUoKXx8e2lkOlwiXCIscHVzaElkOlwiXCJ9LGY9dGhpcy5BYXx8ZTtmPXt1cmw6Xy5VQWIoZi51cmx8fFwiXCIpLHN0YXRlOmYudXNlckRhdGF8fG51bGx9O2Zvcih2YXIgZz1mLnVybC50b1N0cmluZygpLGg9Xy5SQWIoZi5zdGF0ZSksaz1fLlBhKHRoaXMuQmEua2V5cygpKSxsPWsubmV4dCgpOyFsLmRvbmU7bD1rLm5leHQoKSlpZihsPWwudmFsdWUsYS5oYXMobCkpe3ZhciBuPWEuZ2V0KGwpO3RoaXMuQmEuZ2V0KGwpLkNtKG4sZil9dmFyIHI9Yi5yZXBsYWNlPT09dm9pZCAwPyExOmIucmVwbGFjZTtpZihnPT09Zi51cmwudG9TdHJpbmcoKSYmaD09PV8uUkFiKGYuc3RhdGUpKXJldHVybiBfLmdlKFNBYih0aGlzLm9hLHIsZS5pZCxlLmlkKSk7XG50aGlzLkFhJiYodGhpcy5BYS51cmw9Zi51cmwudG9TdHJpbmcoKSx0aGlzLkFhLnVzZXJEYXRhPWYuc3RhdGUpO2lmKCFiLlBDZSlyZXR1cm4gZD8oYT10aGlzLm9hLm9UKGYudXJsLnRvU3RyaW5nKCksZi5zdGF0ZXx8dm9pZCAwLGQuaVYscixkLmV2ZW50KSk/YS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiBUQWIoYy5vYSx0KX0pOl8uVWwoRXJyb3IoXCJiZmBcIitmLnVybCkpOnRoaXMub2EuRXAoZi51cmwudG9TdHJpbmcoKSxmLnN0YXRlfHx2b2lkIDAsdm9pZCAwLHIsdGhpcy5vYSkudGhlbihmdW5jdGlvbih0KXtyZXR1cm4gU0FiKGMub2EscixlLmlkLHQpfSl9O1xuXy5XQWIuY29tcG9zZT1mdW5jdGlvbigpe2Zvcih2YXIgYT1uZXcgTWFwLGIsYyxkPV8uUGEoXy5sYy5hcHBseSgwLGFyZ3VtZW50cykpLGU9ZC5uZXh0KCk7IWUuZG9uZTtlPWQubmV4dCgpKXtjPWUudmFsdWU7Yj1fLlBhKGMuQmEua2V5cygpKTtmb3IoZT1iLm5leHQoKTshZS5kb25lO2U9Yi5uZXh0KCkpZT1lLnZhbHVlLGEuZGVsZXRlKGUpLGEuc2V0KGUsYy5CYS5nZXQoZSkpO2I9Yy5vYTtjPWMuQWF9cmV0dXJuIG5ldyBfLldBYihhLGIsYyl9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJydEgxYmRcIik7XG52YXIgWkFiLGFCYixjQmIsZUJiLGZCYixnQmIsaEJiLGlCYjtfLllBYj1mdW5jdGlvbihhLGIpe3ZhciBjPW5ldyBNYXA7YT1fLlBhKGEpO2Zvcih2YXIgZD1hLm5leHQoKTshZC5kb25lO2Q9YS5uZXh0KCkpe2Q9ZC52YWx1ZTtmb3IodmFyIGU9Xy5QYShkLmtleXMoKSksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe3ZhciBnPWYudmFsdWU7Zj1nO2c9ZC5nZXQoZyk7Zz1iP2IoZyxjLmdldChmKSk6ZztjLnNldChmLGcpfX1yZXR1cm4gY307WkFiPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPW5ldyBNYXAsZD1fLlBhKGEua2V5cygpKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSllPWUudmFsdWUsYy5zZXQoZSxiKGEuZ2V0KGUpLGUpKTtyZXR1cm4gY307Xy4kQWI9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGEoYSk/YTp7fX07XG5hQmI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnJlZHVjZShmdW5jdGlvbihkLGUpe3JldHVybiBkfChlJiZlLnVGYnx8MCl9LDEpO3JldHVybiBPYmplY3QuYXNzaWduLmFwcGx5KE9iamVjdCxbe3N0YXRlOmZ1bmN0aW9uKGQpe3JldHVybihhLmdldChkKXx8bmV3IGQpLmNsb25lKCl9LEwkYTpmdW5jdGlvbihkKXtyZXR1cm4oYyZkKT09PWR9fV0uY29uY2F0KF8ubWQoYikpKX07Y0JiPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwP2JCYjpiO3JldHVybntnZXRDdXJyZW50OmEuZ2V0Q3VycmVudHx8Yi5nZXRDdXJyZW50LGMzOm5ldyBTZXQoW10uY29uY2F0KF8ubWQoYi5jMyksXy5tZChhLmMzKSkpLE9uYTphLk9uYXx8Yi5PbmF9fTtlQmI9ZnVuY3Rpb24oYSl7YT1fLllBYihhLGRCYik7cmV0dXJuIFpBYihhLGZ1bmN0aW9uKGIsYyl7cmV0dXJuIGMuY29tcG9zZS5hcHBseShjLF8ubWQoYikpfSl9O1xuZkJiPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2E9Xy5QYShhKTtmb3IodmFyIGM9YS5uZXh0KCk7IWMuZG9uZTtjPWEubmV4dCgpKWM9Yy52YWx1ZSwoYz1jKCkpJiZiLnB1c2goYyk7cmV0dXJuIGIubGVuZ3RoP18ueGYoYik6bnVsbH07Z0JiPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IFNldCxkPW5ldyBTZXQoW10uY29uY2F0KF8ubWQoYS5rZXlzKCkpLF8ubWQoYi5rZXlzKCkpKSk7ZD1fLlBhKGQpO2Zvcih2YXIgZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpZT1lLnZhbHVlLF8uR2EoYS5nZXRBbGwoZSksYi5nZXRBbGwoZSkpfHxjLmFkZChlKTtyZXR1cm4gY307XG5oQmI9ZnVuY3Rpb24oYSxiKXt2YXIgYztpZihjPSEhYSYmISFiKWE6e2Euc2l6ZT5iLnNpemUmJihiPV8uUGEoW2IsYV0pLGE9Yi5uZXh0KCkudmFsdWUsYj1iLm5leHQoKS52YWx1ZSk7YT1fLlBhKGEpO2ZvcihjPWEubmV4dCgpOyFjLmRvbmU7Yz1hLm5leHQoKSlpZihiLmhhcyhjLnZhbHVlKSl7Yz0hMDticmVhayBhfWM9ITF9cmV0dXJuIGN9O2lCYj1mdW5jdGlvbihhKXthPWE9PT12b2lkIDA/bmV3IF8uVkFiOmE7YS5vYS5zZXQoXy5XQWIsbnVsbCk7cmV0dXJuIGF9O3ZhciBkQmI9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/W106YjtiLnB1c2goYSk7cmV0dXJuIGJ9O18uakJiPV8uSihcIkU4amZzZVwiKTtfLmV3PV8uSihcIklhTFRHYlwiKTtfLmtCYj1fLkooXCJzS2xjdmRcIik7dmFyIGJCYjtiQmI9e2MzOm5ldyBTZXR9O18ubEJiPWZ1bmN0aW9uKGEsYixjLGQpe2E9YT09PXZvaWQgMD9uZXcgTWFwOmE7Yj1iPT09dm9pZCAwP25ldyBNYXA6YjtjPWM9PT12b2lkIDA/bmV3IE1hcDpjO3RoaXMuQm89YTt0aGlzLm5OPWI7dGhpcy5HYmI9Yzt0aGlzLkNDYT1kfTtcbl8ubEJiLnByb3RvdHlwZS5VaT1mdW5jdGlvbihhKXt2YXIgYj10aGlzO2E9YT09PXZvaWQgMD9uZXcgXy5WQWI6YTt2YXIgYz1hLkFhO3ZhciBkPWEuZXZlbnRUeXBlO3ZhciBlPWEubWV0YWRhdGE7YT1hLm9hO2Zvcih2YXIgZj1uZXcgTWFwLGc9Xy5QYSh0aGlzLkJvLmtleXMoKSksaD1nLm5leHQoKTshaC5kb25lO2g9Zy5uZXh0KCkpe3ZhciBrPWgudmFsdWU7aD10aGlzLkJvLmdldChrKTt2YXIgbD12b2lkIDAsbj12b2lkIDAscj12b2lkIDAsdD0ocj0obj0obD1oKS5nZXRDdXJyZW50KT09bnVsbD92b2lkIDA6bi5jYWxsKGwpKSE9bnVsbD9yOm5ldyBrO2w9bnVsbDtuPV8uUGEoaC5jMyk7Zm9yKHI9bi5uZXh0KCk7IXIuZG9uZTtyPW4ubmV4dCgpKXtyPXIudmFsdWU7dmFyIHU9dm9pZCAwO3U9cjtpZih1LnltYyl7aWYoIXUueW1jKHQuY2xvbmUoKSxjKSljb250aW51ZTt1PXUuU1RkfWVsc2UgdT1yO2w9dD11KHQsYyl9bCYmKGYuc2V0KGssbCksdD1rPXZvaWQgMCwodD0oaz1cbmgpLk9uYSk9PW51bGx8fHQuY2FsbChrLGwpKX1jPVtdO2c9Xy5QYSh0aGlzLm5OLmtleXMoKSk7az1nLm5leHQoKTtmb3IoaD17fTshay5kb25lO2g9e2daYjp2b2lkIDAsaURiOnZvaWQgMH0saz1nLm5leHQoKSlrPWsudmFsdWUsaC5nWmI9dGhpcy5uTi5nZXQoayksaC5pRGI9YS5nZXQoayksaC5pRGIhPT1udWxsJiZjLnB1c2goZnVuY3Rpb24oeil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHouZ1piLmJwYihmLHouaURiKX19KGgpKTthPWZ1bmN0aW9uKHope2Q9ZHx8Yi5DQ2E7dmFyIEI9W10sRj1hQmIoZix6KTt6PV8uUGEoYi5HYmIudmFsdWVzKCkpO2Zvcih2YXIgSz16Lm5leHQoKSxQPXt9OyFLLmRvbmU7UD17a2VjOnZvaWQgMH0sSz16Lm5leHQoKSlQLmtlYz1LLnZhbHVlLEIucHVzaChmdW5jdGlvbihRKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gUS5rZWMubm90aWZ5KGYsZCxlLEYpfX0oUCkpO3JldHVybihCPWZCYihCKSk/Qi50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIEZ9KTpcbl8uZ2UoRil9O3JldHVybihjPWZCYihjKSk/Yy50aGVuKGEpOmEoW10pfTtfLmxCYi5wcm90b3R5cGUuY29tcG9zZT1mdW5jdGlvbigpe3JldHVybiBfLm1CYi5hcHBseShfLmxCYixbdGhpc10uY29uY2F0KF8ubWQoXy5sYy5hcHBseSgwLGFyZ3VtZW50cykpKSl9O18ubUJiPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPVtdLGI9W10sYz1bXSxkLGU9Xy5QYShfLmxjLmFwcGx5KDAsYXJndW1lbnRzKSksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpZj1mLnZhbHVlLGEucHVzaChmLkJvKSxiLnB1c2goZi5uTiksYy5wdXNoKGYuR2JiKSxkPWYuQ0NhfHxkO2E9Xy5ZQWIoYSxjQmIpO2I9ZUJiKGIpO2M9ZUJiKGMpO3JldHVybiBuZXcgXy5sQmIoYSxiLGMsZCl9O18uZnc9ZnVuY3Rpb24oYSl7Xy5Ebi5jYWxsKHRoaXMsYS5OYSk7dmFyIGI9dGhpczt0aGlzLkJhPVtdO3RoaXMuQWE9YS5zZXJ2aWNlLmVNYjthPXRoaXMuQWEuZ2V0U3RhdGUoKXx8e307dGhpcy5vYT17dXJsOmEudXJsLHVzZXJEYXRhOmEudXNlckRhdGEsaWQ6XCJcIixwdXNoSWQ6XCJcIn07dGhpcy5BYS5hZGRMaXN0ZW5lcihmdW5jdGlvbihjLGQsZSl7aWYoIShlLnNvdXJjZSBpbnN0YW5jZW9mIF8uY29iKSl7aWYoYy51cmwhPT1iLm9hLnVybCl7dmFyIGY9bmV3IF8uVmQoYy51cmx8fFwiXCIpO2Q9bmV3IF8uVmQoYi5vYS51cmx8fFwiXCIpO3ZhciBnPWdCYihmLnNlYXJjaFBhcmFtcyxkLnNlYXJjaFBhcmFtcyk7Zj1nQmIoZi5vYSxkLm9hKX1kPV8uJEFiKGMudXNlckRhdGEpO3ZhciBoPV8uJEFiKGIub2EudXNlckRhdGEpO2lmKGQ9PT1oKWQ9bmV3IFNldDtlbHNle3ZhciBrPW5ldyBTZXQsbD1uZXcgU2V0KFtdLmNvbmNhdChfLm1kKE9iamVjdC5rZXlzKGQpKSxfLm1kKE9iamVjdC5rZXlzKGgpKSkpO1xubD1fLlBhKGwpO2Zvcih2YXIgbj1sLm5leHQoKTshbi5kb25lO249bC5uZXh0KCkpbj1uLnZhbHVlLF8uUkFiKGRbbl0pIT09Xy5SQWIoaFtuXSkmJmsuYWRkKG4pO2Q9a31iLm9hLnVybD1jLnVybDtiLm9hLnVzZXJEYXRhPWMudXNlckRhdGE7aD17dXJsOl8uVUFiKGMudXJsfHxcIlwiKSxzdGF0ZTpjLnVzZXJEYXRhfTtjPVtdO2s9Xy5QYShiLkJhKTtmb3IobD1rLm5leHQoKTshbC5kb25lO2w9ay5uZXh0KCkpe249bC52YWx1ZTtsPW4ubjljO249bi52OGI7dmFyIHI9bmV3IFNldCx0PW5ldyBTZXQsdT1uZXcgU2V0O24ub2EmJihuLm9hLnRPJiYocj1uZXcgU2V0KG4ub2EudE8oKSkpLG4ub2EuWHgmJih0PW5ldyBTZXQobi5vYS5YeCgpKSkpO24uQWEmJih1PW5ldyBTZXQobi5BYS5rZXlzKCkpKTsoaEJiKHIsZyl8fGhCYih0LGYpfHxoQmIodSxkKSkmJmMucHVzaChsKGgpKX1pZihjLmxlbmd0aCl7Zz1lLnFPJiZlLnFPLmxlbmd0aD8xOjA7ZT1lLnNvdXJjZSBpbnN0YW5jZW9mIF8uRXE7XG5mPV8ubUJiLmFwcGx5KF8ubEJiLF8ubWQoYykpO2M9Zi5VaTtlPXtyZWFzb246Zyx1c2VySW5pdGlhdGVkOmV9O3ZhciB6PXo9PT12b2lkIDA/bmV3IF8uVkFiOno7ei5tZXRhZGF0YT1lO2MuY2FsbChmLHouYW5kKGlCYikpfX19KX07Xy5EKF8uZncsXy5Ebik7Xy5mdy5XYT1fLkRuLldhO18uZncuSWE9ZnVuY3Rpb24oKXtyZXR1cm57c2VydmljZTp7ZU1iOl8uY29ifX19O18uRm4oXy5YQWIsXy5mdyk7XG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5IUmM9WzAsXy5rayxbMCxfLkksXy5BaixfLkldLF8ua2ssWzAsXy5JLC0xXSxfLkldO18uQ21bNTI1MDAxMjQ5XT1fLkhSYztcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5DQWM9WzAsXy5EaiwtNCxfLkldO18uREFjPVswLF8uQ0FjLF8uVGosLTEsXy5Eal07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uVXpjPVswLF8uT2osXy5UaiwtMSxfLm9rLF8uSCxbMCxfLkgsLTFdXTtfLkNtWzUyNTAwMjE0Ml09Xy5VemM7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uSVJjPXt9O3ZhciBKUmM9WzAsNCxfLkRqLF8uVGosLTNdO3ZhciBLUmM9WzAsXy5HXTt2YXIgTFJjPVswLF8uYWssXy5JLFswLFswLF8uSCxfLkcsXy5EaixLUmMsXy5Ual0sXy5rayxbMCxfLkgsS1JjXSxfLmtrLFswLF8uSCwtMSxfLkksS1JjLF8uSCwtMV0sXy5rayxbMCxfLkgsMSxfLkksS1JjLF8uQWpdLF8ua2ssWzAsXy5hayxfLkgsLTEsXy5JLDEsS1JjXSwxLF8uSFJjLF8uRyxfLmtrLFswLF8uSCxfLkRqXSxfLkcsWzAsXy5rayxbLTMse30sXy5JLF8uQWpdLFswLF8ua2ssWzAsXy5JLF8uRGpdXSxbMCxfLkldLF8uRyxbMCxfLlRqLC0yLF8uRGosMSxfLkgsLTJdLFswLFswLF8uRGosXy52ayxfLkddXV1dLFswLF8uRGosLTNdLF8uVXZhLF8uSCxfLmtrLFswLF8uSSxfLkZqLF8uVmosMSxfLm9rXSxbMCxfLmtrLFswLEpSYyxfLmtrLFswLEpSYyxfLmtrLFswLF8uSCxKUmNdXV0sXy5UaiwtMV1dO18uTVJjPVswLDEsXy5HLDEsXy5rayxMUmMsTFJjLDEsXy5HLF8uVXpjLF8uSSxfLkRBY107Xy5DbVs1MjUwMDE2MzRdPV8uTVJjO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLkdwYz1bMCxfLlRqLC0xLF8uSCxfLkcsXy5ILF8uRyxfLkgsXy5HXTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5OUmM9WzJdO3ZhciBPUmM9WzAsWzFdLF8ubmssWzAsXy5ILF8uZWssXy5IXV07dmFyIFBSYz1bMCxfLmtrLFswLF8uSCxfLkksWzAsXy5ILF8uZWssLTFdLF8ua2ssWzAsXy5ILC0xXSxfLkgsXy5rayxPUmNdLF8uSCxbMCxfLlRqLF8uSCwtMl0sXy5rayxPUmNdO3ZhciBRUmM9WzAsXy5ILC0xLF8uZWssXy5ILF8ua2ssWzAsXy5IXV07dmFyIFJSYz1bMCxfLkksXy5rayxbMCxfLkgsWzAsXy5ILC0yXV1dO3ZhciBTUmM9WzAsXy5ILC0zLF8uSSwxLF8uSSxbMCxfLlRqLC0xXSxfLiRsLF8uSCwtMSxbMCxfLkgsLTIsXy5JXSxfLkcsXy5layxfLmtrLFJSYyxfLkcsLTEsWzAsXy5ILC0xXSxfLlRqLF8uSSxfLkcsXy5ILFswLF8uZWssXy5WaixfLmtrLFswLF8uSCxfLlZqXV0sXy5JLF8uRywtMSxbMCxfLkldXTtfLlRSYz1bMCxfLkgsLTRdO18uVVJjPVswLF8uVFJjLFswLFswLFswLF8uSCxfLkcsXy5JLF8uZWssXy5JLF8uSCxfLlRqLF8uRGosLTMsXy5ILF8ucWssXy5UaixfLmtrLFswLF8uSCwtMV0sXy5HLF8uSCxfLkcsXy5JLC0yLF8ucWssXy51ayxfLkksXy5xayxfLkgsXy5PaixfLkcsXy5HcGMsXy5ILC0yLF8uSSxfLkFqLF8uWmosXy5HLC0xLF8uSCxbMCxfLmtrLFswLF8uSCxfLmFrXSxfLkksXy5Ual0sXy5JLF8uRywtMSxfLlRqLF8uSCwtMSxfLlBqLC0xLF8uSCwtNCxfLkRqLF8uSmosXy5Eal0sWzAsXy5JLC0xXV0sXy5hayxfLlh2YV0sWzAsXy5JLC0zLFBSY10sWzAsXy5ILF8udmssXy5ILF8udmssLTEsXy5rayxbMCxfLkgsXy5JXSxfLlRqLF8ua2ssWzAsXy5rayxQUmNdLF8ua2ssUFJjLF8ua2ssWzAsXy5ILF8uSV0sXy5ILFswLF8ua2ssU1JjLDEsXy5rayxbMCxfLkksXy5IXSxbLTIxLF8uSVJjLF8uSCxfLkcsXy5ILC0zLF8ua2ssWzAsXy5ILF8uSV0sMSxfLkcsXy5NUmMsXy5HLF8uSCwtMSxfLkcsWzAsXG5fLkgsLTJdLF8uSSxfLmtrLFswLF8uSCwtMV0sWzAsXy5ILF8uR10sXy5ILC0xXSxfLmtrLFJSYyxfLnZrLF8ua2ssU1JjLFswLF8ua2ssWzAsXy5ILF8uVmosXy5IXV0sWzAsXy5rayxbMCxfLkgsXy5va11dXSxfLkksXy5layxfLkksWzAsXy5ILC0yLF8uVGpdLF8uZWssXy5JLF8uRyxfLmVrLC0xLFswLF8ua2ssUVJjLFFSYyxfLmtrLFswLF8uSF0sXy5rayxbMCxfLkgsXy5rayxRUmNdLF8ua2ssUVJjXSxfLkgsXy5rayxbMCwxLF8uSSxfLkgsLTIsXy5Ual0sXy5layxfLkksXy5vayxfLlRqLFswLF8uSCxfLlRqLC0xXSxfLkcsLTEsXy5Ual0sUFJjLDIsXy55aixfLnlrLF8uZWssLTEsWzAsXy5ILC0zLF8ua2ssWzAsXy5UaixfLkgsLTEsXy5JLF8ua2ssWzAsXy5ILC0xLF8uSSxfLkddXSxfLlRqXSxfLmtrLFswLF8uSCxfLkldLF8ua2ssWzAsXy5ILC0xLF8uSSwtMl0sXy5rayxbMCxfLk5SYyxfLkgsXy5uayxbMCxfLlRqLC0xXV0sWzAsXy5ILC0xLFswLF8uSCxfLlRqLF8uSCxcbl8uSSxbMCxfLmtrLFswLF8uSCxfLlRqXSxfLmtrLFswLF8uSCwtMSxfLlRqXV1dXSxfLlRqLF8uSCxfLnZrLF8uSCwtMl07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uRUFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgVWludDhBcnJheShfLnFiYShhKXx8MCl9O18uRkFjPWZ1bmN0aW9uKGEsYil7Xy5HZihiLFwiL1wiKXx8KGI9XCIvXCIrYik7YT1fLkdtKGEpO3JldHVybiBfLk1sYShhWzFdLGFbMl0sYVszXSxhWzRdLGIsYVs2XSxhWzddKX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uVlJjPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5WUmMsXy5xKTtfLlZSYy5wcm90b3R5cGUuZ2V0SW1hZ2VVcmw9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMil9O18uV1JjPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uRGUoYSwyLGIpfTtfLlZSYy5wcm90b3R5cGUuSnE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZSh0aGlzLDIpfTtfLlZSYy5wcm90b3R5cGUuRG89ZnVuY3Rpb24oKXtyZXR1cm4gXy5FaSh0aGlzLDIpfTtfLm9DPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5vQyxfLnEpO18ub0MucHJvdG90eXBlLkxjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDIwKX07Xy5vQy5wcm90b3R5cGUuSmQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcywyMCxhKX07Xy5vQy5vYj1bOSwxMCwxOCwxMiwxNCwxM107Xy5vQy5wcm90b3R5cGUub2E9Xy5TYihfLlVSYyk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcIlNNcXVPYlwiKTtcblxuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uUyRhPWZ1bmN0aW9uKGEsYixjKXt0aGlzLkFhPWE7dGhpcy5CYT1iO3RoaXMub2E9Y307Xy5TJGEucHJvdG90eXBlLnR5cGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vYX07dmFyIFQkYTtfLlYkYT1mdW5jdGlvbihhLGIpe2E9bmV3IFQkYShhKTtiPWIudmFsdWU7Xy5VJGFbYl18fChfLlUkYVtiXT1bXSk7Xy5VJGFbYl0ucHVzaChhKX07Xy5XJGE9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLlMkYShhLG51bGwsMCl9O18uVSRhPVtdO1QkYT1mdW5jdGlvbihhKXt0aGlzLm9hPWF9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLk9xYj1bMCxfLkhdO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLiRwYj17fTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5QcWI9WzEsMiwzLDUsN107Xy5RcWI9e307Xy5ScWI9WzFdO18uU3FiPVsxLDIsMyw0XTtfLlRxYj1bMSwyLDcsOSwxMiwxMywxNCwxNV07Xy5ndT1bMiwzLDQsNSw2XTtfLlVxYj1bMSwyLDNdO18uVnFiPVsxLDIsMyw0XTtfLldxYj1bMiwzLDRdO18uWHFiPVsxLDIsMyw0LDUsNiw3LDgsOV07Xy5ZcWI9WzFdO18uWnFiPVsxLDIsMyw0XTtfLmh1PVsxLDIsMyw0LDcsOCwxMCwxMSwxMiwxMywxNSwxNiwxNywxOCwxOSwyMCwyMiwyMywyNCwyNSwyNiwyNywyOCwyOSwzMCwzMSwzMl07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uaXU9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSw4KX07Xy5EKF8uaXUsXy5xKTtfLml1LnByb3RvdHlwZS5zZXRTY2FsYXI9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uV2kodGhpcyw0LGEpfTtfLmp1PWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5qdSxfLnEpO18uanUucHJvdG90eXBlLmdldElkPWZ1bmN0aW9uKCl7cmV0dXJuIF8uaGkodGhpcywxKX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uJHFiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy4kcWIsXy5xKTtfLiRxYi5wcm90b3R5cGUuUnc9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uTWIodGhpcyxfLlpjLDMsYSl9O3ZhciBhcmI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChhcmIsXy5xKTtfLmt1PWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEsNTAwKX07Xy5EKF8ua3UsXy5xKTtfLmt1LnByb3RvdHlwZS5nZXRJZD1mdW5jdGlvbigpe3JldHVybiBfLnYodGhpcyxfLmp1LDEpfTtfLmx1PWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uTWIoYSxfLmp1LDEsYil9O18ua3UucHJvdG90eXBlLmdldFZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIF8udih0aGlzLF8uaXUsMil9O18ua3UucHJvdG90eXBlLnNldFZhbHVlPWZ1bmN0aW9uKGEpe3JldHVybiBfLk1iKHRoaXMsXy5pdSwyLGEpfTtfLmt1LnByb3RvdHlwZS5jbGVhclZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcywyKX07Xy5rdS5wcm90b3R5cGUuZ2V0UGFyYW1zPWZ1bmN0aW9uKCl7cmV0dXJuIF8udih0aGlzLGFyYiwzKX07Xy5icmI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5NYihhLGFyYiwzLGIpfTtfLm11PWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5tdSxfLnEpO18uY3JiPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uWmgoYSwxLF8ua3UsYil9O18ubXUucHJvdG90eXBlLnNldFZhbHVlPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uTGgodGhpcywxLF8ua3UsYSxiKX07Xy5udT1mdW5jdGlvbihhLGIpe3JldHVybiBfLmNqKGEsMyxiKX07Xy5tdS5vYj1bMV07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ubHJiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5scmIsXy5xKTtfLmxyYi5wcm90b3R5cGUuZ2V0VmVyc2lvbkluZm89ZnVuY3Rpb24oKXtyZXR1cm4gXy5HZSh0aGlzLDEpfTtfLm1yYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8ubXJiLF8ucSk7Xy5ucmI9bmV3IF8uUWYoXCJ4UlJkQmNcIixfLm1yYixfLm11LFt7a2V5Ol8uVHAsdmFsdWU6ITF9LHtrZXk6Xy5VcCx2YWx1ZTpcIi9Vc2VyU2V0dGluZ3NTZXJ2aWNlLldyaXRlU2V0dGluZ3NcIn1dKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5qcmI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLmpyYixfLnEpO18ua3JiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5rcmIsXy5xKTtfLmtyYi5wcm90b3R5cGUudWU9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BaSh0aGlzLDIsXy5acWIpfTtfLmtyYi5wcm90b3R5cGUuZ2V0Q2hhbm5lbElkPWZ1bmN0aW9uKCl7cmV0dXJuIF8uSWYodGhpcyxfLmpyYiw0LF8uWnFiKX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ub3U9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy54dmEoYSwyLF8uUHFiLGIpfTtfLmlyYj1mdW5jdGlvbihhLGIpe3JldHVybiBfLktmKGEsNixiKX07Xy5xdT1mdW5jdGlvbihhLGIpe3JldHVybiBfLmNqKGEsMSxiKX07Xy5ydT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8ucnUsXy5xKTtfLnJ1LnByb3RvdHlwZS5nZXREZXZpY2VJZD1mdW5jdGlvbigpe3JldHVybiBfLkNpKHRoaXMsMSxfLmh1KX07Xy5zdT1mdW5jdGlvbihhLGIpe3JldHVybiBfLk1iKGEsXy5ydSwyLGIpfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIGVyYjtfLmRyYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uZHJiLF8ucSk7Xy5mcmI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5YaChhLDEsZXJiLGIpfTtlcmI9WzFdO3ZhciBncmI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChncmIsXy5xKTtncmIucHJvdG90eXBlLm9hPWZ1bmN0aW9uKCl7cmV0dXJuIF8uR2UodGhpcywyKX07Z3JiLnByb3RvdHlwZS5xYj1cInN1YkNEXCI7bmV3IF8ueGcoZ3JiKTtfLmhyYj1uZXcgXy5RZihcIlVQZ3dtY1wiLGdyYixfLmRyYixbe2tleTpfLlRwLHZhbHVlOiExfSx7a2V5Ol8uVXAsdmFsdWU6XCIvUmVjb3JkVXNlclNldHRpbmdzU2VydmljZS5SZWNvcmRVc2VyU2V0dGluZ3NcIn1dKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5EZWI9WzAsXy5BaiwtMV07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uRXI9WzAsXy5ILDIsXy5ILDEsXy5ILF8uSSxbMCxfLkgsLTFdXTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5Mcj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uTHIsXy5xKTtfLkxyLnByb3RvdHlwZS5nZXRVcmw9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMSl9O18uTHIucHJvdG90eXBlLkhjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmUodGhpcywxKX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uTXI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLk1yLF8ucSk7Xy5Nci5wcm90b3R5cGUuUTQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy5FaSh0aGlzLDQpfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5DZWI9WzIsM107XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueGViPVswLF8uSSxfLkhdO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLkdyPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5HcixfLnEpO18uR3IucHJvdG90eXBlLmdldElkPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDIpfTtfLkdyLnByb3RvdHlwZS5xYj1cIkR6ZGRGZlwiO18uR3IucHJvdG90eXBlLm9hPV8uU2IoXy54ZWIpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLk5yPWZ1bmN0aW9uKGEpe3JldHVybiBfLkEoYSwxKX07Xy5FZWI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLkVlYixfLnEpO18uRmViPWZ1bmN0aW9uKGEpe3JldHVybiBfLnYoYSxfLk1yLDEpfTt2YXIgR2ViPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoR2ViLF8ucSk7R2ViLnByb3RvdHlwZS5MYz1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywyKX07R2ViLnByb3RvdHlwZS5KZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5EZSh0aGlzLDIsYSl9O18uSGViPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5IZWIsXy5xKTtfLkhlYi5wcm90b3R5cGUuZ2V0TmFtZT1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywxKX07Xy5IZWIucHJvdG90eXBlLmRnPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRlKHRoaXMsMSxhKX07Xy5IZWIucHJvdG90eXBlLmhoPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmUodGhpcywxKX07Xy5JZWI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLkllYixfLnEpO18uT3I9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLk9yLF8ucSk7Xy5Pci5wcm90b3R5cGUuWmc9ZnVuY3Rpb24oKXtyZXR1cm4gXy52KHRoaXMsXy5Hciw5KX07Xy5Pci5wcm90b3R5cGUuZ2V0RGVzY3JpcHRpb249ZnVuY3Rpb24oKXtyZXR1cm4gXy52KHRoaXMsXy5JZWIsMSl9O18uSmViPWZ1bmN0aW9uKGEpe3JldHVybiBfLnYoYSxfLkVlYiwyKX07Xy5Pci5wcm90b3R5cGUuc2V0TGFiZWw9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5MaCh0aGlzLDcsXy5IZWIsYSxiKX07Xy5Pci5wcm90b3R5cGUuZ2V0TG9jYXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gXy52KHRoaXMsR2ViLDE3KX07Xy5Pci5wcm90b3R5cGUuT0E9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uTWIodGhpcyxHZWIsMTcsYSl9O18uT3Iub2I9WzcsMTAsMTUsMTZdO18uT3IucHJvdG90eXBlLnFiPVwiRFdoNzZlXCI7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uQmViPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5CZWIsXy5xKTtfLkJlYi5wcm90b3R5cGUueGM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5paSh0aGlzLDEpfTtfLkJlYi5wcm90b3R5cGUueGQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uT2kodGhpcywxLGEpfTtfLkJlYi5wcm90b3R5cGUuSWM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5paSh0aGlzLDIpfTtfLkJlYi5wcm90b3R5cGUuRGQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uT2kodGhpcywyLGEpfTtfLkpyPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5KcixfLnEpO18ubT1fLkpyLnByb3RvdHlwZTtfLm0uZ2V0VXJsPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDEpfTtfLm0uSGM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZSh0aGlzLDEpfTtfLm0uWmc9ZnVuY3Rpb24oKXtyZXR1cm4gXy52KHRoaXMsXy5HciwyKX07Xy5tLm5BPWZ1bmN0aW9uKCl7cmV0dXJuIF8ubmkodGhpcyw0LDApfTtfLm0uUzA9ZnVuY3Rpb24oKXtyZXR1cm4gXy52KHRoaXMsXy5CZWIsNSl9O18ubS5xYj1cImhaSmNqZlwiO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgTWViLFFlYixSZWI7Xy5LZWI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLktlYixfLnEpO18uUHI9ZnVuY3Rpb24oYSl7cmV0dXJuIF8udihhLF8uS2ViLDMpfTtfLkxlYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uTGViLF8ucSk7TWViPVswLF8uSF07Xy5OZWI9WzAsXy5ILF8ueGViLE1lYixfLkksWzAsXy5UaiwtMV0sXy5ILC0yLFswLF8uSmosXy5rayxbMCxfLlRqLC0yLF8uSCxfLkldXSxfLkldO18uT2ViPVswLF8uQ2ViLF8uSSxfLmhrLF8uWWpdO18uUGViPVswLF8uSCwtMSxfLkVyLF8uSCwxLF8uVGosLTEsMSxbMCxfLkcsXy5UaixfLkddLF8uVGosWzAsXy5ILFswLFsxLDIsM10sXy5oaywtMSxfLlZ2YV0sXy5ILDIsWzAsXy5UaixfLkhdXV07UWViPVswLF8uSCxfLkpqLF8uT2ViXTtcblJlYj1bMCxbMCxfLkhdLFswLF8uUGViXSxbMCxRZWIsXy5ILF8uSmosUWViXSxbMCxfLkgsXy5FcixfLlRqXSxbMCxfLmtrLFswLF8uSF0sXy5EaixbMCxfLkRqLC00XV0sWzAsWzAsXy5JLF8uSCwtMl0sWzAsXy5KaixfLkhdLF8uSSxfLkhdLF8ua2ssWzAsXy5IXSxfLkksXy54ZWIsXy5rayxbMCxfLkksXy5ILF8ua2ssWzAsXy5IXV0sWzAsXy5UaixfLkldLF8uSCxbMCxfLkksXy5rayxbMCxfLkksXy5Ual0sXy5rayxbMCxfLlBlYixfLkldLF8uSF0sWzAsXy5rayxbMCxfLkksXy5IXV0sXy5rayxbMCxfLkldLF8udmssWzAsXy5EZWIsXy5ILC0xXSxNZWJdO18uUXI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLlFyLF8ucSk7Xy5Scj1mdW5jdGlvbihhKXtyZXR1cm4gXy52KGEsXy5KciwxKX07Xy5Rci5wcm90b3R5cGUuZ2V0TWV0YWRhdGE9ZnVuY3Rpb24oKXtyZXR1cm4gXy52KHRoaXMsXy5PciwyKX07Xy5Rci5wcm90b3R5cGUucWI9XCJtOWxLYWZcIjtfLlNlYj1bMCxfLk5lYixSZWIsXy5ILC0yXTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5HZ2I9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLkdnYixfLnEpO18uR2diLm9iPVsxXTtfLkdnYi5wcm90b3R5cGUucWI9XCJ3emZiWWNcIjtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5Kcz1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uSnMsXy5xKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5Ycj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uWHIsXy5xKTtfLlhyLnByb3RvdHlwZS5RbT1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywxKX07Xy5Zcj1bMCxfLmdrLF8uTWosXy5Yal07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8udWViPVswLF8uSSxfLkcsXy5JLC0xXTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5iZWI9WzAsXy5UaiwtMV07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBFZ2I9WzAsXy5rayxfLnVlYixfLkcsXy5iZWIsXy5HLC0xXTtfLkJzPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5CcyxfLnEpO18uQnMucHJvdG90eXBlLkxjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDEwKX07Xy5Ccy5wcm90b3R5cGUuSmQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcywxMCxhKX07Xy5Dcz1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uQ3MsXy5xKTtfLkNzLnByb3RvdHlwZS5Ha2E9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZSh0aGlzLDEpfTtfLkZnYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uRmdiLF8ucSk7Xy5GZ2IucHJvdG90eXBlLnVlPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDIpfTtfLkZnYi5wcm90b3R5cGUuTGM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMyl9O18uRmdiLnByb3RvdHlwZS5KZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5EZSh0aGlzLDMsYSl9O18uR3M9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLkdzLF8ucSk7Xy5tPV8uR3MucHJvdG90eXBlO18ubS5aZz1mdW5jdGlvbigpe3JldHVybiBfLnYodGhpcyxfLkdyLDEpfTtfLm0uZ2V0SW1hZ2VVcmw9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMil9O18ubS5KcT1mdW5jdGlvbigpe3JldHVybiBfLlZlKHRoaXMsMil9O18ubS5Ebz1mdW5jdGlvbigpe3JldHVybiBfLkVpKHRoaXMsMil9O18ubS5nZXRNZXRhZGF0YT1mdW5jdGlvbigpe3JldHVybiBfLnYodGhpcyxfLk9yLDUpfTtfLm0uZ2V0SW5kZXg9ZnVuY3Rpb24oKXtyZXR1cm4gXy5paSh0aGlzLDYpfTtfLm0uc2V0SW5kZXg9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uT2kodGhpcyw2LGEpfTtfLkhzPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5IcyxfLnEpO18uSXM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uUmUoYSxfLkdzLDEsXy5TZSgpKX07Xy5Icy5vYj1bMV07Xy5Icy5wcm90b3R5cGUucWI9XCJJQ3NvMmNcIjtfLkNtWzEzNzY3ODcwM109WzAsNixbMCxFZ2IsMSxfLkcsLTFdLDEsXy5ILC0yLF8uRyxbMCxfLkcsLTEsMSxfLkddLFswLF8uR11dO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLnpzPWZ1bmN0aW9uKGEpe3JldHVybiBfLlhjKGEsXy5KciwxKX07Xy5Bcz1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uQXMsXy5xKTtfLkFzLnByb3RvdHlwZS5vYT1mdW5jdGlvbigpe3JldHVybiBfLlZoKHRoaXMsXy5RciwxKX07Xy5Bcy5vYj1bMV07Xy5Bcy5wcm90b3R5cGUucWI9XCJaY3YyQ1wiO18uRGdiPVswLF8ua2ssXy5TZWJdO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLnlzPXt9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLkNnYj1bMCxfLlRqXTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5BZ2I9Xy5BYihmdW5jdGlvbihhLGIsYyl7aWYoYS5vYSE9PTAmJmEub2EhPT0yKXJldHVybiExO2I9Xy5HYihiLGMpO2Eub2E9PTI/Xy5JYihhLF8uUnVhLGIpOmIucHVzaChfLlJ1YShhLkFhKSk7cmV0dXJuITB9LF8uS2ZhKTtfLndzPXt9O18uQmdiPVstMTgse30sWzE2LDE3XSwxNSxfLllqLC0xXTtfLkNtWzUyNTA2MDk4M109Xy5CZ2I7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueHM9Wy02LF8ud3MsMyxfLlRqLFswLFswLF8uSSxfLk9qLF8uUGosLTEsXy5UaixfLkNnYiw5LF8uUGpdLF8uQmdiLF8uRywxLF8uSV1dO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLkZyPVswLF8uSCwtMSxfLm9rLF8uSCwtNV07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uVHI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLlRyLF8ucSk7Xy5Uci5wcm90b3R5cGUuTGM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMSl9O18uVHIucHJvdG90eXBlLkpkPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRlKHRoaXMsMSxhKX07Xy5Uci5wcm90b3R5cGUub2E9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsNCl9O18uVmViPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uRGUoYSw0LGIpfTtfLlRyLnByb3RvdHlwZS5xYj1cImRoSGtWY1wiO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLnlnYj1bMCxfLkZyLF8uSCwtMyxfLlduLF8uR107XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8udmdiPVswLF8uSCxfLlhuXTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy51cz1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8udXMsXy5xKTtfLnVzLnByb3RvdHlwZS5nZXRVcmw9ZnVuY3Rpb24oKXtyZXR1cm4gXy52KHRoaXMsXy5NZSwyKX07Xy51cy5wcm90b3R5cGUuSGM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5HaCh0aGlzLF8uTWUsMil9O18udXMucHJvdG90eXBlLnFiPVwiR3AzTGtcIjtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy53Z2I9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLndnYixfLnEpO18ud2diLnByb3RvdHlwZS5xYj1cImVONjYyZFwiO18ueGdiPVswLF8uRyxfLnZnYixfLkgsXy52Z2JdO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLnZzPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy52cyxfLnEpO18udnMucHJvdG90eXBlLnFiPVwiVkFuRmdjXCI7Xy56Z2I9WzAsNyxfLkgsMSxfLkgsXy55Z2IsMSxfLnhnYl07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uQXI9WzAsXy5JLF8uSF07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8udmViPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy52ZWIsXy5xKTtfLnZlYi5wcm90b3R5cGUuZ2V0SWQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMil9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgWGdiO18uSGdiPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uRGUoYSwxLGIpfTtfLklnYj1mdW5jdGlvbihhLGIpe3JldHVybiBfLkRlKGEsMixiKX07Xy5KZ2I9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5jaihhLDMsYil9O18uS2diPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uT2koYSwyLGIpfTtfLkxnYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uTGdiLF8ucSk7Xy5MZ2Iub2I9WzEsMl07Xy5MZ2IucHJvdG90eXBlLnFiPVwiQ1F2ZjhcIjtfLktzPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5LcyxfLnEpO18uS3MucHJvdG90eXBlLmxwPWZ1bmN0aW9uKCl7cmV0dXJuIF8uRSh0aGlzLDUpfTtfLktzLm9iPVszXTtfLktzLnByb3RvdHlwZS5xYj1cIm14QklUZVwiO18uTHM9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLkxzLF8ucSk7Xy5Mcy5wcm90b3R5cGUucWI9XCJQMml5eGVcIjtcbl8uTWdiPWZ1bmN0aW9uKGEpe3JldHVybiBfLlJlKGEsXy5McywxLF8uU2UoKSl9O18uTXM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8udihhLF8uRmdiLDQpfTtfLk5zPWZ1bmN0aW9uKGEpe3JldHVybiBfLnYoYSxfLkNzLDQpfTtfLk5nYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uTmdiLF8ucSk7Xy5Pcz1mdW5jdGlvbihhKXtyZXR1cm4gXy5HaChhLF8uTmdiLDgpfTtfLlBzPWZ1bmN0aW9uKGEpe3JldHVybiBfLnYoYSxfLk5nYiw4KX07Xy5PZ2I9ZnVuY3Rpb24oYSl7cmV0dXJuIF8udihhLF8uQnMsMSl9O18uUXM9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLlFzLF8ucSk7Xy5Rcy5wcm90b3R5cGUucWI9XCJqUWFrSGVcIjtfLlJzPWZ1bmN0aW9uKGEpe3JldHVybiBfLnYoYSxfLlFzLDExKX07Xy5QZ2I9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLlBnYixfLnEpO18uUWdiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtcbl8uRChfLlFnYixfLnEpO18uUmdiPWZ1bmN0aW9uKGEpe3JldHVybiBfLlJlKGEsXy5IZWIsNyxfLlNlKCkpfTtfLlNnYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uU2diLF8ucSk7Xy5TZ2Iub2I9WzNdO18uVGdiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5UZ2IsXy5xKTtfLlRnYi5wcm90b3R5cGUuTDQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy4kYyh0aGlzLDEpfTtfLlRnYi5wcm90b3R5cGUuTDk9ZnVuY3Rpb24oKXtyZXR1cm4gXy5kZCh0aGlzLDEpfTtfLlRnYi5vYj1bMl07Xy5VZ2I9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLlVnYixfLnEpO18uVWdiLnByb3RvdHlwZS5nZXRVcmw9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsNCl9O18uVWdiLnByb3RvdHlwZS5IYz1mdW5jdGlvbigpe3JldHVybiBfLlZlKHRoaXMsNCl9O18uVmdiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5WZ2IsXy5xKTtcbl8uV2diPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uTWIoYSxfLkdyLDEsYil9O1hnYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKFhnYixfLnEpO1hnYi5wcm90b3R5cGUuWmc9ZnVuY3Rpb24oKXtyZXR1cm4gXy52KHRoaXMsXy5HciwxKX07WGdiLnByb3RvdHlwZS5nZXRNZXRhZGF0YT1mdW5jdGlvbigpe3JldHVybiBfLnYodGhpcyxfLk9yLDIpfTtfLllnYj1mdW5jdGlvbihhLGIpe3JldHVybiBfLk1iKGEsXy5HcywzLGIpfTtfLlpnYj1mdW5jdGlvbihhLGIpe3JldHVybiBfLlpoKGEsMSxfLkdzLGIpfTtfLiRnYj1mdW5jdGlvbihhLGIpe3JldHVybiBfLlJlKGEsXy5RciwzLF8uU2UoYikpfTtfLlNzPWZ1bmN0aW9uKGEpe3JldHVybiBfLlJlKGEsXy5RciwxLF8uU2UoKSl9O18uYWhiPWZ1bmN0aW9uKGEpe3JldHVybiBfLnYoYSxfLkpyLDEpfTtfLmJoYj1mdW5jdGlvbihhLGIpe3JldHVybiBfLk1iKGEsXy5KciwxLGIpfTtcbl8uVHM9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLlRzLF8ucSk7Xy5Ucy5wcm90b3R5cGUueGM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5paSh0aGlzLDEpfTtfLlRzLnByb3RvdHlwZS54ZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5PaSh0aGlzLDEsYSl9O18uVHMucHJvdG90eXBlLkljPWZ1bmN0aW9uKCl7cmV0dXJuIF8uaWkodGhpcywyKX07Xy5Ucy5wcm90b3R5cGUuRGQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uT2kodGhpcywyLGEpfTtuZXcgXy54ZyhfLlFzKTtfLnJvLmpRYWtIZT1fLnFvO18uY2hiPW5ldyBfLnhnKF8udnMpO18ucm8uVkFuRmdjPV8ucW87Xy5acChfLnZzLF8uUXMsZnVuY3Rpb24oYSl7YT1fLlJzKGEpO3JldHVybiBhIT1udWxsP1thXTpbXX0pO3ZhciBkaGI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChkaGIsXy5xKTtfLmVoYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uZWhiLF8ucSk7Xy5laGIucHJvdG90eXBlLmdldElkPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDIpfTtfLmVoYi5wcm90b3R5cGUuZ2V0VXJsPWZ1bmN0aW9uKCl7cmV0dXJuIF8udih0aGlzLF8uTWUsMSl9O18uZWhiLnByb3RvdHlwZS5IYz1mdW5jdGlvbigpe3JldHVybiBfLkdoKHRoaXMsXy5NZSwxKX07Xy5laGIucHJvdG90eXBlLnFiPVwiR1MwOWFmXCI7Xy5Vcz1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uVXMsXy5xKTtfLmZoYj1mdW5jdGlvbihhKXtyZXR1cm4gXy52KGEsXy5KciwxKX07Xy5Vcy5wcm90b3R5cGUuWmc9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMyl9O18uVXMucHJvdG90eXBlLnFiPVwiWDQ4V05kXCI7Xy5Wcz1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uVnMsXy5xKTtfLlZzLnByb3RvdHlwZS5mQz1mdW5jdGlvbigpe3JldHVybiBfLnYodGhpcyxfLnZzLDMpfTtfLmdoYj1mdW5jdGlvbihhKXtyZXR1cm4gXy5SZShhLF8uVXMsNCxfLlNlKCkpfTtfLlZzLm9iPVs0LDEwXTtfLlZzLnByb3RvdHlwZS5xYj1cImswSGRGZlwiO18uaGhiPVswLF8uTmViLFswLF8uWG4sXy5IXSxfLkhdO3ZhciBpaGI9WzAsMixfLnpnYixfLmtrLF8uaGhiLF8uRnIsXy5HLF8uSCwyLF8ua2ssXy5TZWIsXy5IXTtfLmpoYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uamhiLF8ucSk7Xy5qaGIucHJvdG90eXBlLnFiPVwiT3g3SFhcIjt2YXIga2hiPV8uTmIoMTIxNCxfLmpoYik7Xy55c1sxMjE0XT1bMCxfLnhzLGloYl07dmFyIGxoYj1fLk5iKDEyMTQsXy5qaGIpO25ldyBfLnhnKF8uZWhiKTtfLnJvLkdTMDlhZj1mdW5jdGlvbihhKXtyZXR1cm4gXy5zbyhfLnRvKF8uRWkoYSwyKSkpLnRvU3RyaW5nKCl9O25ldyBfLnhnKF8uR3IpO18ucm8uRHpkZEZmPWZ1bmN0aW9uKGEpe3JldHVybihfLnNvKF8udG8oXy5HaShhLDEpKSkrXCIsXCIrXy5zbyhfLnRvKF8uRWkoYSwyKSkpKS50b1N0cmluZygpfTtuZXcgXy54ZyhfLkpyKTtfLnJvLmhaSmNqZj1mdW5jdGlvbihhKXtyZXR1cm4gXy5zbyhfLnRvKGEuWmcoKSkpLnRvU3RyaW5nKCl9O18uWnAoXy5KcixfLkdyLGZ1bmN0aW9uKGEpe2E9YS5aZygpO3JldHVybiBhIT1udWxsP1thXTpbXX0pO25ldyBfLnhnKF8uVXMpO18ucm8uWDQ4V05kPWZ1bmN0aW9uKGEpe3JldHVybiBfLnNvKF8udG8oXy5maGIoYSkpKS50b1N0cmluZygpfTtfLlpwKF8uVXMsXy5KcixmdW5jdGlvbihhKXthPV8uZmhiKGEpO3JldHVybiBhIT1udWxsP1thXTpbXX0pO18uWnAoXy5VcyxfLmVoYixmdW5jdGlvbihhKXthPV8udihhLF8uZWhiLDIpO3JldHVybiBhIT1udWxsP1thXTpbXX0pO18ubWhiPW5ldyBfLnhnKF8uUXIpO18ucm8ubTlsS2FmPV8ucW87Xy5acChfLlFyLF8uSnIsZnVuY3Rpb24oYSl7YT1fLlJyKGEpO3JldHVybiBhIT1udWxsP1thXTpbXX0pO18uWnAoXy5RcixfLk9yLGZ1bmN0aW9uKGEpe2E9YS5nZXRNZXRhZGF0YSgpO3JldHVybiBhIT1udWxsP1thXTpbXX0pO3ZhciBuaGI9bmV3IF8ueGcoXy5qaGIpO25oYi5vYT1uZXcgXy54ZyhfLlZzKTtkaGIucHJvdG90eXBlLnFiPVwiTVl2WmtlXCI7bmhiLm9hLk1lZGlhPW5ldyBfLnhnKGRoYik7bmhiLkdhPWtoYjtuaGIuQ2E9bGhiO18ucm8uT3g3SFg9Xy5xbztfLlpwKF8uamhiLF8uVnMsZnVuY3Rpb24oYSl7YT1fLnYoYSxfLlZzLDIpO3JldHVybiBhIT1udWxsP1thXTpbXX0pO18ucm8uazBIZEZmPV8ucW87Xy5acChfLlZzLF8udnMsZnVuY3Rpb24oYSl7YT1hLmZDKCk7cmV0dXJuIGEhPW51bGw/W2FdOltdfSk7Xy5acChfLlZzLF8uVXMsZnVuY3Rpb24oYSl7cmV0dXJuIF8uZ2hiKGEpfSk7Xy5acChfLlZzLF8uUXIsZnVuY3Rpb24oYSl7cmV0dXJuIF8uUmUoYSxfLlFyLDEwLF8uU2UoKSl9KTtfLnJvLk1ZdlprZT1fLnFvO18ub2hiPW5ldyBfLnhnKF8uQXMpO18ucm8uWmN2MkM9Xy5xbztfLlpwKF8uQXMsXy5RcixmdW5jdGlvbihhKXtyZXR1cm4gXy5TcyhhKX0pO18uV3M9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLldzLF8ucSk7Xy5Xcy5wcm90b3R5cGUuWmc9ZnVuY3Rpb24oKXtyZXR1cm4gXy52KHRoaXMsXy5HciwxKX07Xy5Xcy5wcm90b3R5cGUuTGM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMil9O18uV3MucHJvdG90eXBlLkpkPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRlKHRoaXMsMixhKX07Xy5Xcy5wcm90b3R5cGUucWI9XCJleEdhcGVcIjtfLlhzPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5YcyxfLnEpO18uWHMucHJvdG90eXBlLlpnPWZ1bmN0aW9uKCl7cmV0dXJuIF8udih0aGlzLF8uR3IsMSl9O18uWHMucHJvdG90eXBlLkxjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDIpfTtfLlhzLnByb3RvdHlwZS5KZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5EZSh0aGlzLDIsYSl9O18uWHMucHJvdG90eXBlLnFiPVwiUXNxUGxiXCI7Xy5Zcz1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uWXMsXy5xKTtfLllzLnByb3RvdHlwZS5MYz1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywxKX07Xy5Zcy5wcm90b3R5cGUuSmQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcywxLGEpfTtfLllzLnByb3RvdHlwZS5xYj1cImNWbG8wZFwiO18uWnM9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLlpzLF8ucSk7Xy4kcz1bMSwyLDMsNCw1LDYsOSwxMCwxMl07Xy5acy5wcm90b3R5cGUucWI9XCJkTlJkT2VcIjtfLmF0PWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5hdCxfLnEpO18uYXQucHJvdG90eXBlLmdldENvbnRleHQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy52KHRoaXMsXy5KcywxKX07Xy5hdC5wcm90b3R5cGUuZ2V0UXVlcnk9ZnVuY3Rpb24oKXtyZXR1cm4gXy52KHRoaXMsXy5acywyKX07Xy5hdC5wcm90b3R5cGUuc2V0UXVlcnk9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uTWIodGhpcyxfLlpzLDIsYSl9O18uYXQucHJvdG90eXBlLnFiPVwiQllQOE1jXCI7bmV3IF8ueGcoXy5hdCk7Xy5yby5CWVA4TWM9Xy5xbztfLlpwKF8uYXQsXy5acyxmdW5jdGlvbihhKXthPWEuZ2V0UXVlcnkoKTtyZXR1cm4gYSE9bnVsbD9bYV06W119KTtuZXcgXy54ZyhfLlpzKTtfLnJvLmROUmRPZT1fLnFvO18uWnAoXy5acyxfLllzLGZ1bmN0aW9uKGEpe2E9Xy5JZihhLF8uWXMsMixfLiRzKTtyZXR1cm4gYSE9bnVsbD9bYV06W119KTtfLlpwKF8uWnMsXy5XcyxmdW5jdGlvbihhKXthPV8uSWYoYSxfLldzLDMsXy4kcyk7cmV0dXJuIGEhPW51bGw/W2FdOltdfSk7Xy5acChfLlpzLF8uWHMsZnVuY3Rpb24oYSl7YT1fLklmKGEsXy5Ycyw0LF8uJHMpO3JldHVybiBhIT1udWxsP1thXTpbXX0pO18ucGhiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5waGIsXy5xKTtfLnBoYi5wcm90b3R5cGUuWmc9ZnVuY3Rpb24oKXtyZXR1cm4gXy52KHRoaXMsXy5HciwxKX07Xy5waGIucHJvdG90eXBlLnFiPVwiRkRzREJlXCI7bmV3IF8ueGcoXy5Lcyk7Xy5yby5teEJJVGU9Xy5xbztfLlpwKF8uS3MsXy5RcixmdW5jdGlvbihhKXtyZXR1cm4gXy4kZ2IoYSl9KTtuZXcgXy54ZyhfLnBoYik7Xy5yby5GRHNEQmU9Xy5xbztfLlpwKF8ucGhiLF8uR3IsZnVuY3Rpb24oYSl7YT1hLlpnKCk7cmV0dXJuIGEhPW51bGw/W2FdOltdfSk7bmV3IF8ueGcoXy5Mcyk7Xy5yby5QMml5eGU9Xy5xbztfLlpwKF8uTHMsXy5KcixmdW5jdGlvbihhKXthPV8uYWhiKGEpO3JldHVybiBhIT1udWxsP1thXTpbXX0pO18uWnAoXy5McyxfLk9yLGZ1bmN0aW9uKGEpe2E9Xy52KGEsXy5Pciw3KTtyZXR1cm4gYSE9bnVsbD9bYV06W119KTtuZXcgXy54ZyhfLldzKTtfLnJvLmV4R2FwZT1fLnFvO18uWnAoXy5XcyxfLkdyLGZ1bmN0aW9uKGEpe2E9YS5aZygpO3JldHVybiBhIT1udWxsP1thXTpbXX0pO25ldyBfLnhnKF8uR2diKTtfLnJvLnd6ZmJZYz1fLnFvO18uWnAoXy5HZ2IsXy5McyxmdW5jdGlvbihhKXtyZXR1cm4gXy5NZ2IoYSl9KTtuZXcgXy54ZyhfLlhzKTtfLnJvLlFzcVBsYj1fLnFvO18uWnAoXy5YcyxfLkdyLGZ1bmN0aW9uKGEpe2E9YS5aZygpO3JldHVybiBhIT1udWxsP1thXTpbXX0pO3ZhciBxaGI9bmV3IF8ueGcoXy5MZ2IpO1hnYi5wcm90b3R5cGUucWI9XCJSbVA1VWRcIjtxaGIuT2E9bmV3IF8ueGcoWGdiKTtfLnJvLkNRdmY4PV8ucW87Xy5acChfLkxnYixfLk9yLGZ1bmN0aW9uKGEpe3JldHVybiBfLlJlKGEsXy5PciwxLF8uU2UoKSl9KTtfLlpwKF8uTGdiLFhnYixmdW5jdGlvbihhKXtyZXR1cm4gXy5SZShhLFhnYiwyLF8uU2UoKSl9KTtfLnJvLlJtUDVVZD1fLnFvO18uWnAoWGdiLF8uR3IsZnVuY3Rpb24oYSl7YT1hLlpnKCk7cmV0dXJuIGEhPW51bGw/W2FdOltdfSk7Xy5acChYZ2IsXy5PcixmdW5jdGlvbihhKXthPWEuZ2V0TWV0YWRhdGEoKTtyZXR1cm4gYSE9bnVsbD9bYV06W119KTtuZXcgXy54ZyhfLllzKTtfLnJvLmNWbG8wZD1fLnFvO18uWnAoXy5ZcyxfLkhzLGZ1bmN0aW9uKGEpe2E9Xy52KGEsXy5Icyw2KTtyZXR1cm4gYSE9bnVsbD9bYV06W119KTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xubmV3IF8ueGcoXy5Hcik7Xy5yby5EemRkRmY9ZnVuY3Rpb24oYSl7cmV0dXJuKF8uc28oXy50byhfLkdpKGEsMSkpKStcIixcIitfLnNvKF8udG8oXy5FaShhLDIpKSkpLnRvU3RyaW5nKCl9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5uZXcgXy54ZyhfLkpyKTtfLnJvLmhaSmNqZj1mdW5jdGlvbihhKXtyZXR1cm4gXy5zbyhfLnRvKGEuWmcoKSkpLnRvU3RyaW5nKCl9O18uWnAoXy5KcixfLkdyLGZ1bmN0aW9uKGEpe2E9YS5aZygpO3JldHVybiBhIT1udWxsP1thXTpbXX0pO25ldyBfLnhnKF8uUXIpO18ucm8ubTlsS2FmPV8ucW87Xy5acChfLlFyLF8uSnIsZnVuY3Rpb24oYSl7YT1fLlJyKGEpO3JldHVybiBhIT1udWxsP1thXTpbXX0pO18uWnAoXy5RcixfLk9yLGZ1bmN0aW9uKGEpe2E9YS5nZXRNZXRhZGF0YSgpO3JldHVybiBhIT1udWxsP1thXTpbXX0pO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLktxYj1mdW5jdGlvbihhLGIpe3JldHVybiBfLkRlKGEsNCxiKX07Xy5McWI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLkxxYixfLnEpO18uTHFiLnByb3RvdHlwZS5MYz1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywxKX07Xy5McWIucHJvdG90eXBlLkpkPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRlKHRoaXMsMSxhKX07Xy5McWIub2I9WzEyXTtfLk1xYj1mdW5jdGlvbihhLGIpe18uTWIoYSxfLlRyLDEzLGIpfTtuZXcgXy54ZyhfLktzKTtfLnJvLm14QklUZT1fLnFvO18uWnAoXy5LcyxfLlFyLGZ1bmN0aW9uKGEpe3JldHVybiBfLiRnYihhKX0pO18uTnFiPW5ldyBfLlFmKFwid1RlOFdlXCIsXy5LcyxfLkxxYixbe2tleTpfLlRwLHZhbHVlOiEwfSx7a2V5Ol8uVXAsdmFsdWU6XCIvTG9jYWxQaG90b3NGdWxmaWxsZXJTZXJ2aWNlLkdldFBob3RvQ29sbGVjdGlvbkNvbnRlbnRcIn1dKTtuZXcgXy54ZyhfLkxxYik7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uRnFiPVswLF8uVGosLTJdO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLmV1PWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEsMTEpfTtfLkQoXy5ldSxfLnEpO18ubT1fLmV1LnByb3RvdHlwZTtfLm0uWmc9ZnVuY3Rpb24oKXtyZXR1cm4gXy52KHRoaXMsXy52ZWIsNSl9O18ubS5nZXRVcmw9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMSl9O18ubS5IYz1mdW5jdGlvbigpe3JldHVybiBfLlZlKHRoaXMsMSl9O18ubS54Yz1mdW5jdGlvbigpe3JldHVybiBfLmlpKHRoaXMsMil9O18ubS54ZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5PaSh0aGlzLDIsYSl9O18ubS5JYz1mdW5jdGlvbigpe3JldHVybiBfLmlpKHRoaXMsMyl9O18ubS5EZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5PaSh0aGlzLDMsYSl9O18ubS53TD1mdW5jdGlvbigpe3JldHVybiBfLlhjKHRoaXMsXy55byw2KX07Xy5tLmhDPWZ1bmN0aW9uKCl7cmV0dXJuIF8ubWkodGhpcyw4KX07Xy5tLnFiPVwiakdPTUxlXCI7Xy5mdT1bLTExLHt9LF8uSCxfLlRqLC0xLF8uSCxfLkFyLF8uem8sXy5ILF8uRGosWzAsXy5ILC0yXSxfLiRsXTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy55cj1bMCxfLlpqLC0xLF8uWHBdO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLnFlYj1mdW5jdGlvbihhLGIpe2E9Xy5jaShhLGIpO3JldHVybiBhPT1udWxsP3ZvaWQgMDphfTtfLnJlYj1fLnpiKGZ1bmN0aW9uKGEsYixjKXtpZihhLm9hIT09MClyZXR1cm4hMTthPV8uUnVhKGEuQWEpO18uQmIoYixjLGE9PT1cIjBcIj92b2lkIDA6YSk7cmV0dXJuITB9LF8uSWZhKTtfLnpyPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy56cixfLnEpO18uc2ViPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uVmkoYSwxLGIpfTtfLnRlYj1mdW5jdGlvbihhLGIpe3JldHVybiBfLlZpKGEsMixiKX07Xy56ci5wcm90b3R5cGUucWI9XCJqQ3ZzTWRcIjtfLkNtWzEzMjU4MjYxXT1fLnlyO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLmFlYj1bMCxfLkhdO18uQ21bMTU3MjExMjk0XT1fLmFlYjtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy4kZGI9Xy56YihfLnNnYSxmdW5jdGlvbihhLGIsYyl7Yj1fLkVjYShiKTtiIT1udWxsJiZiIT1udWxsJiYoXy5DYihhLGMsMCksYT1hLm9hLF8uSGVhKGIpLHR5cGVvZiBiPT09XCJudW1iZXJcIj9iPDA/KGM9Xy5GdmEoXy5IdmEoLWIpKSxfLkViKGEsYy5sbyxjLmhpKSk6KF8uUWEoYiksXy5FYihhLF8uTmEsXy5PYSkpOihjPWIubGVuZ3RoJiZiWzBdPT09XCItXCI/Xy5GdmEoXy54YihiLnN1YnN0cmluZygxKSkpOl8ueGIoYiksXy5FYihhLGMubG8sYy5oaSkpKX0pO18udnI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLnZyLF8ucSk7Xy52ci5wcm90b3R5cGUuWmI9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMSl9O18udnIucHJvdG90eXBlLkZjPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRlKHRoaXMsMSxhKX07Xy52ci5wcm90b3R5cGUuWWY9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZSh0aGlzLDEpfTtfLndyPVswLF8uSCwtMV07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uY2ViPVswLDIsXy5BaiwtMSxfLkldO18uZGViPVswLF8uSmosXy5rayxbMCxfLlRqLC0yLF8uSCxfLkksLTFdLF8uQWosXy5ILC0yXTtfLmVlYj1bMCxfLkgsLTJdO18uZmViPVswLF8ua2ssWzAsXy53cixfLkgsLTEsXy5JLF8uRyxfLkgsWzAsXy5UaiwtMl0sXy5IXSwtNF07Xy5nZWI9WzAsXy5UaixfLnFrLC0zLDEsXy5xayxfLkRqLF8ud3JdO18uaGViPVswLF8ud3IsMSxfLmtrLF8ud3IsXy53ciwtNF07Xy5pZWI9WzAsXy5JLC0yLF8udWssXy5JLFswLDIsXy5ILF8udWssXy53cixfLlRqXSxfLkksXy5nZWIsLTFdO18uamViPVswLF8uRGosLTJdO18ua2ViPVswLF8uRGosLTJdO18ubGViPVswLF8uY2ViLF8uamViLF8ua2ViLFswLF8uJGRiLF8uRGosXy53ciwtMV0sXy5IXTtfLm1lYj1bMCxfLmFlYixfLnlyLFswLF8uSF0sXy4kZGIsMixfLmVlYl07Xy5uZWI9WzAsXy5ILF8uSV07Xy5vZWI9WzAsXy5ILF8uYmViLF8uSCxfLkRqXTtfLnBlYj1bMCxfLkRqLC0zLFswLF8uSV0sXy5JXTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5HcWI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLkdxYixfLnEpO18uR3FiLnByb3RvdHlwZS5zaj1mdW5jdGlvbigpe3JldHVybiBfLmlpKHRoaXMsNCl9O18uR3FiLnByb3RvdHlwZS5pQz1mdW5jdGlvbigpe3JldHVybiBfLm1qKHRoaXMsNCl9O18uR3FiLnByb3RvdHlwZS5wQT1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywxMCl9O18uR3FiLm9iPVs2LDEyXTtfLkdxYi5wcm90b3R5cGUucWI9XCJjbTkzZGNcIjtfLkhxYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhLDkpfTtfLkQoXy5IcWIsXy5xKTtfLkhxYi5wcm90b3R5cGUucEE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsNil9O18uSHFiLnByb3RvdHlwZS53TD1mdW5jdGlvbigpe3JldHVybiBfLlhjKHRoaXMsXy55byw4KX07Xy5IcWIub2I9WzFdO18uSHFiLnByb3RvdHlwZS5xYj1cInI4V2VjZFwiO18uSXFiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5JcWIsXy5xKTtfLklxYi5wcm90b3R5cGUucWI9XCJnaU5LaWRcIjtuZXcgXy54ZyhfLkdxYik7bmV3IF8ueGcoXy5JcWIpO18uWnAoXy5JcWIsXy5IcWIsZnVuY3Rpb24oYSl7YT1fLnYoYSxfLkhxYiwxKTtyZXR1cm4gYSE9bnVsbD9bYV06W119KTtfLkpxYj1uZXcgXy5RZihcIm9jcDkzZVwiLF8uSXFiLF8uR3FiLFt7a2V5Ol8uVHAsdmFsdWU6ITB9LHtrZXk6Xy5VcCx2YWx1ZTpcIi9Ib3RlbFNlcnZpY2UuR2V0SG90ZWxSZXZpZXdzXCJ9XSk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uQXFiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEsMil9O18uRChfLkFxYixfLnEpO18uQXFiLnByb3RvdHlwZS5nZXRUeXBlPWZ1bmN0aW9uKCl7cmV0dXJuIF8ubmkodGhpcywxLDApfTtfLkFxYi5wcm90b3R5cGUuRWM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uY2oodGhpcywxLGEpfTtfLkFxYi5wcm90b3R5cGUuWWQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy5HaSh0aGlzLDEpfTtfLkFxYi5wcm90b3R5cGUucWI9XCJ5OTJETWVcIjtfLkJxYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhLDIpfTtfLkQoXy5CcWIsXy5xKTtfLkJxYi5wcm90b3R5cGUuZ2V0VHlwZT1mdW5jdGlvbigpe3JldHVybiBfLm5pKHRoaXMsMSwwKX07Xy5CcWIucHJvdG90eXBlLkVjPWZ1bmN0aW9uKGEpe3JldHVybiBfLmNqKHRoaXMsMSxhKX07Xy5CcWIucHJvdG90eXBlLllkPWZ1bmN0aW9uKCl7cmV0dXJuIF8uR2kodGhpcywxKX07Xy5CcWIucHJvdG90eXBlLnFiPVwiVkRKa0lmXCI7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uQmhiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5CaGIsXy5xKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5DcWI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLkNxYixfLnEpO18uQ3FiLnByb3RvdHlwZS5nZXRDb250ZXh0PWZ1bmN0aW9uKCl7cmV0dXJuIF8udih0aGlzLF8uSnMsMSl9O18uQ3FiLnByb3RvdHlwZS5nZXRRdWVyeT1mdW5jdGlvbigpe3JldHVybiBfLnYodGhpcyxfLkJxYiwyKX07Xy5DcWIucHJvdG90eXBlLnNldFF1ZXJ5PWZ1bmN0aW9uKGEpe3JldHVybiBfLk1iKHRoaXMsXy5CcWIsMixhKX07Xy5DcWIucHJvdG90eXBlLnFiPVwicWZSN3RkXCI7bmV3IF8ueGcoXy5DcWIpO3ZhciBEcWI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChEcWIsXy5xKTtEcWIucHJvdG90eXBlLmdldERhdGE9ZnVuY3Rpb24oKXtyZXR1cm4gXy52KHRoaXMsXy5BcWIsMil9O0RxYi5wcm90b3R5cGUuc2V0RGF0YT1mdW5jdGlvbihhKXtyZXR1cm4gXy5NYih0aGlzLF8uQXFiLDIsYSl9O0RxYi5wcm90b3R5cGUucWI9XCJnM0IwSGJcIjtuZXcgXy54ZyhEcWIpO18uRXFiPW5ldyBfLlFmKFwiTGl4b0ljXCIsRHFiLF8uQ3FiLFt7a2V5Ol8uVHAsdmFsdWU6ITB9LHtrZXk6Xy5VcCx2YWx1ZTpcIi9Ib3RlbEFwaVNlcnZpY2UuR2V0SG90ZWxTZXJ2aWNlRGF0YVwifV0pO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLm9xYj1bMCxfLlRqLF8uSCwtMSwxLF8uWHAsXy5Ual07Xy5DbVsxMDA3MV09Xy5vcWI7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ucHFiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5wcWIsXy5xKTtfLnBxYi5wcm90b3R5cGUuRHI9ZnVuY3Rpb24oKXtyZXR1cm4gXy5paSh0aGlzLDEpfTtfLnBxYi5wcm90b3R5cGUuZ2V0TWVzc2FnZT1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywzKX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBrcWI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChrcWIsXy5xKTtfLm09a3FiLnByb3RvdHlwZTtfLm0uZ2V0VHlwZT1mdW5jdGlvbigpe3JldHVybiBfLm5pKHRoaXMsMSwwKX07Xy5tLkVjPWZ1bmN0aW9uKGEpe3JldHVybiBfLmNqKHRoaXMsMSxhKX07Xy5tLllkPWZ1bmN0aW9uKCl7cmV0dXJuIF8uR2kodGhpcywxKX07Xy5tLmdldE5hbWU9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMyl9O18ubS5kZz1mdW5jdGlvbihhKXtyZXR1cm4gXy5EZSh0aGlzLDMsYSl9O18ubS5oaD1mdW5jdGlvbigpe3JldHVybiBfLlZlKHRoaXMsMyl9O18ubHFiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5scWIsXy5xKTtfLmxxYi5wcm90b3R5cGUuZ2V0Q29uZmlnPWZ1bmN0aW9uKCl7cmV0dXJuIF8udih0aGlzLGtxYiwxKX07Xy5scWIucHJvdG90eXBlLnNldENvbmZpZz1mdW5jdGlvbihhKXtyZXR1cm4gXy5NYih0aGlzLGtxYiwxLGEpfTtfLm1xYj1mdW5jdGlvbihhLGIpe3JldHVybiBfLk1nKGEsMyxiKX07Xy5scWIucHJvdG90eXBlLnFiPVwiZkMwT0lcIjtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5ucWI9WzFdO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLlBxPWZ1bmN0aW9uKGEsYixjKXtfLkNrLmNhbGwodGhpcyk7dGhpcy5sSD1hO3RoaXMuQ2E9Ynx8MDt0aGlzLkJhPWM7dGhpcy5Tcj0oMCxfLmhoKSh0aGlzLkFhLHRoaXMpfTtfLm1oKF8uUHEsXy5Dayk7Xy5QcS5wcm90b3R5cGUub2E9MDtfLlBxLnByb3RvdHlwZS5RYz1mdW5jdGlvbigpe18uUHEuT2QuUWMuY2FsbCh0aGlzKTt0aGlzLnN0b3AoKTtkZWxldGUgdGhpcy5sSDtkZWxldGUgdGhpcy5CYX07Xy5QcS5wcm90b3R5cGUuc3RhcnQ9ZnVuY3Rpb24oYSl7dGhpcy5zdG9wKCk7dGhpcy5vYT1fLldsKHRoaXMuU3IsYSE9PXZvaWQgMD9hOnRoaXMuQ2EpfTtfLlk3YT1mdW5jdGlvbihhKXthLmlzQWN0aXZlKCl8fGEuc3RhcnQodm9pZCAwKX07Xy5QcS5wcm90b3R5cGUuc3RvcD1mdW5jdGlvbigpe3RoaXMuaXNBY3RpdmUoKSYmXy5YbCh0aGlzLm9hKTt0aGlzLm9hPTB9O18uUHEucHJvdG90eXBlLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub2EhPTB9O1xuXy5QcS5wcm90b3R5cGUuQWE9ZnVuY3Rpb24oKXt0aGlzLm9hPTA7dGhpcy5sSCYmdGhpcy5sSC5jYWxsKHRoaXMuQmEpfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5XN2E9bmV3IF8uTms7Xy5YN2E9ITE7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciAkN2E7Xy5aN2E9ZnVuY3Rpb24oYSxiLGMpe2I9Yi5ReDthPV8uQVBhKGEpO2Euc2lkZUNoYW5uZWxbYl09YztyZXR1cm4gYX07JDdhPWZ1bmN0aW9uKGEsYixjKXtfLkZrLmNhbGwodGhpcyxhLGIpO3RoaXMuZGF0YT1jfTtfLkQoJDdhLF8uRmspO18uYThhPWZ1bmN0aW9uKCl7dGhpcy5vYT17fTt0aGlzLkFhPXt9O3RoaXMuT2c9bnVsbH07Xy5iOGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLno3YShiLmpuLGIucmVxdWVzdCksZD1hLm9hW2NdO2R8fChkPWEub2FbY109W10pO2M9Yi54Q2E9PVwibFwiO2QucHVzaChiKTtjJiZiLnJlcXVlc3QmJihiPWIuZXZlbnRUeXBlK1wiLFwiK18udW8oYi5zR2EpLko0LGEuQWFbYl09ITApfTtcbl8uZDhhPWZ1bmN0aW9uKGEpe3ZhciBiPTA7Xy5IYShjOGEoYSksZnVuY3Rpb24oYyl7YisrO18uVzdhLmRpc3BhdGNoRXZlbnQobmV3ICQ3YShjLnhDYSx0aGlzLHt4Q2E6Yy54Q2Esam46Yy5qbixyZXF1ZXN0OmMucmVxdWVzdCxzR2E6Yy5zR2EsdGJhOmMudGJhLGV2ZW50VHlwZTpjLmV2ZW50VHlwZSxiSWI6Yy5iSWJ9KSl9LGEpO2I+MCYmKGEub2E9e30sYS5BYT17fSl9O18uYThhLnByb3RvdHlwZS5Fcj1mdW5jdGlvbigpe3JldHVybiBfLlc3YX07dmFyIGM4YT1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPXt9O18uWWIoYS5vYSxmdW5jdGlvbihkKXtfLkhhKGQsZnVuY3Rpb24oZSl7dHJ5e3ZhciBmPWUuZXZlbnRUeXBlK1wiLFwiK18udW8oZS5zR2EpLko0fWNhdGNoKGcpe18uY2EoZyk7cmV0dXJufWUueENhIT1cImxcIiYmZS5yZXF1ZXN0JiZ0aGlzLkFhW2ZdfHxjW2ZdfHwoY1tmXT0hMCxiLnB1c2goZSkpfSx0aGlzKX0sYSk7cmV0dXJuIGJ9O18uYThhLmdldEluc3RhbmNlPWZ1bmN0aW9uKCl7cmV0dXJuIF8uSGYoXy5hOGEpfTtcbl8uZThhPWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/ITE6YzthLmNhY2hlLndoZW5SZWFkeShmdW5jdGlvbihkKXtkPWQuUmEoYik7Xy5IYShkLGZ1bmN0aW9uKGUpe3ZhciBmPWUudmFsdWUsZz1mIT1udWxsP3ZvaWQgMDplLlFRLm9hKCk7YS54WighMSxlLlFRLGYsdm9pZCAwLGcsYyl9KX0pfTtfLmY4YT1mdW5jdGlvbihhLGIsYyl7Yz1jPT09dm9pZCAwPyExOmM7bmV3IGI7cmV0dXJuIGEuY2FjaGUud2hlblJlYWR5KGZ1bmN0aW9uKGQpe3ZhciBlPWQuQmIoYik7Xy5IYShlLGZ1bmN0aW9uKGYpe2QuUmEoZi5RUSk7YS54WighMSxmLlFRLGYudmFsdWUsdm9pZCAwLHZvaWQgMCxjKX0pfSl9O3ZhciBnOGE9ZnVuY3Rpb24oYSxiKXthLmNhY2hlLndoZW5SZWFkeShiKX07dmFyIGk4YTtfLmg4YT1mdW5jdGlvbigpe3RoaXMuQmE9W107dGhpcy5BYT1bXTt0aGlzLk9nPXRoaXMub2E9bnVsbDt0aGlzLkNhPV8uYThhLmdldEluc3RhbmNlKCl9O18uajhhPWZ1bmN0aW9uKGEsYixjKXtpZihhLkJhLmxlbmd0aCl7Zm9yKHZhciBkPWEub2EsZT0wO2U8YS5CYS5sZW5ndGg7ZSsrKWk4YShhLkJhW2VdLGIsYyxkKTtnOGEoYS5vYSwoMCxfLmhoKShmdW5jdGlvbigpe18uZDhhKHRoaXMuQ2EpfSxhKSl9fTtfLms4YT1mdW5jdGlvbihhLGIsYyl7aWYoIWEuQWEubGVuZ3RoKXJldHVybiBjO2Zvcih2YXIgZD1hLm9hLGU9MDtlPGEuQWEubGVuZ3RoO2UrKylpOGEoYS5BYVtlXSxiLGMsZCk7ZzhhKGEub2EsKDAsXy5oaCkoZnVuY3Rpb24oKXtfLmQ4YSh0aGlzLkNhKX0sYSkpO3JldHVybiBjfTtpOGE9ZnVuY3Rpb24oYSxiLGMsZCl7dHJ5e2IudW0oKSxhLmhhbmRsZShiLGMsZCl9Y2F0Y2goZSl7Xy5jYShlKX19O18uZ2goXy5oOGEpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgZXFiPWZ1bmN0aW9uKGEsYixjKXthLmNhY2hlLndoZW5SZWFkeShmdW5jdGlvbihkKXtkPWQud2IoYixjKTtfLkhhKGQsZnVuY3Rpb24oZSl7YS54WighMCxlLlFRLGUucmVzcG9uc2Usdm9pZCAwLHZvaWQgMCwhMSk7ZS5yZXNwb25zZSE9ZS5EZ2ImJmEueFooITAsZS5RUSxlLkRnYix2b2lkIDAsdm9pZCAwLCExKX0pfSl9LGZxYj1mdW5jdGlvbihhLGIpe3RoaXMuWEhhPWE7dGhpcy5BYT1iO3RoaXMuZXZlbnRNYW5hZ2VyPV8uYThhLmdldEluc3RhbmNlKCl9O2ZxYi5wcm90b3R5cGUubWF0Y2hlcz1mdW5jdGlvbihhKXtyZXR1cm4gYS51bSgpLnc1YigpPT10aGlzLlhIYS5yZXF1ZXN0VHlwZSYmYS51bSgpLnFrYSgpPT10aGlzLlhIYS5yZXNwb25zZVR5cGV9O1xuZnFiLnByb3RvdHlwZS5oYW5kbGU9ZnVuY3Rpb24oYSxiLGMpe2lmKCF0aGlzLm1hdGNoZXMoYSkpcmV0dXJuITE7dmFyIGQ9YS5vYSgpO2Q9dGhpcy5BYShkLGIpO0FycmF5LmlzQXJyYXkoZCl8fChkPVtkXSk7ZD1fLm9oKGQsZnVuY3Rpb24oZSl7cmV0dXJuISFlfSk7dGhpcy5vYShkLGMsYSxiKTtyZXR1cm4hMH07dmFyIGdxYj1mdW5jdGlvbihhLGIsYyl7ZnFiLmNhbGwodGhpcyxhLGIsYyl9O18uRChncWIsZnFiKTtncWIucHJvdG90eXBlLm9hPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1fLldwKGMsXy54UGEpPT09ITA7Xy5IYShhLGZ1bmN0aW9uKGUpe2UgaW5zdGFuY2VvZiBfLnE/Xy5lOGEoYixlLGQpOl8uZjhhKGIsZSxkKX0sdGhpcyl9O3ZhciBocWI9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IFdlYWtNYXA7cmV0dXJuIGZ1bmN0aW9uKGMpe2IuaGFzKGMpfHxiLnNldChjLGEoYykpO3JldHVybiBiLmdldChjKX19O3ZhciBpcWI9ZnVuY3Rpb24oYSxiLGMsZCl7ZnFiLmNhbGwodGhpcyxhLGIsZCk7dGhpcy5CYT1jfTtfLkQoaXFiLGZxYik7aXFiLnByb3RvdHlwZS5vYT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1jLm9hKCk7Xy5IYShhLGZ1bmN0aW9uKGYpe3ZhciBnPXRoaXMsaD1ocWIoZnVuY3Rpb24oayl7cmV0dXJuIGcuQmEoZSxkLGspfSk7ZiBpbnN0YW5jZW9mIF8ucT9iLnVwZGF0ZShmLGgsITEpOmVxYihiLGYsaCk7Xy5iOGEodGhpcy5ldmVudE1hbmFnZXIse2puOmMudW0oKSxyZXF1ZXN0OmUsc0dhOmYsdGJhOmgseENhOlwiblwifSl9LHRoaXMpfTtfLmN1PWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPV8uaDhhLmdldEluc3RhbmNlKCk7YT1uZXcgaXFiKGEsYixjLGQpO2UuQWEucHVzaChhKX07Xy5qcWI9ZnVuY3Rpb24oYSxiLGMpe2E9bmV3IGdxYihhLGIsYyk7Xy5oOGEuZ2V0SW5zdGFuY2UoKS5BYS5wdXNoKGEpfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5kdT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uZHUsXy5xKTtfLmR1Lm9iPVs0LDcsOF07Xy5kdS5wcm90b3R5cGUucWI9XCJkRGZ6a2RcIjtfLnFxYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8ucXFiLF8ucSk7Xy5xcWIucHJvdG90eXBlLkxjPWZ1bmN0aW9uKCl7cmV0dXJuIF8ubmkodGhpcywxLDApfTtfLnFxYi5wcm90b3R5cGUuSmQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uY2oodGhpcywxLGEpfTtfLnFxYi5vYj1bNV07Xy5ycWI9ZnVuY3Rpb24oYSl7cmV0dXJuIF8udihhLF8ucXFiLDEpfTtfLnNxYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uc3FiLF8ucSk7Xy50cWI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLnRxYixfLnEpO18udHFiLnByb3RvdHlwZS5nZXRTdGF0dXM9ZnVuY3Rpb24oKXtyZXR1cm4gXy52KHRoaXMsXy5wcWIsMSl9O1xuXy50cWIucHJvdG90eXBlLlNtPWZ1bmN0aW9uKCl7cmV0dXJuIF8uR2godGhpcyxfLnBxYiwxKX07Xy50cWIucHJvdG90eXBlLnFiPVwiWDAwTDdcIjtfLnVxYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8udXFiLF8ucSk7Xy52cWI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5ZaChhLDIsYil9O18udXFiLm9iPVsyXTtfLnVxYi5wcm90b3R5cGUucWI9XCJkRTBaaWRcIjtfLndxYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8ud3FiLF8ucSk7Xy53cWIub2I9WzIsNiw4XTt2YXIgeHFiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoeHFiLF8ucSk7eHFiLnByb3RvdHlwZS5Ecj1mdW5jdGlvbigpe3JldHVybiBfLmlpKHRoaXMsMSl9O3hxYi5wcm90b3R5cGUucWI9XCJrZ3ZrS2RcIjt2YXIgeXFiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoeXFiLF8ucSk7eXFiLnByb3RvdHlwZS5nZXRTdGF0dXM9ZnVuY3Rpb24oKXtyZXR1cm4gXy52KHRoaXMseHFiLDEpfTt5cWIucHJvdG90eXBlLlNtPWZ1bmN0aW9uKCl7cmV0dXJuIF8uR2godGhpcyx4cWIsMSl9O3lxYi5wcm90b3R5cGUucWI9XCJBV0sxUFwiO18uY3Uoe3JlcXVlc3RUeXBlOl8ud3FiLHJlc3BvbnNlVHlwZTp5cWJ9LGZ1bmN0aW9uKCl7cmV0dXJuIF8udXFifSxmdW5jdGlvbihhLGIsYyl7dmFyIGQ9Xy52KGEsXy5xcWIsMSk7cmV0dXJuIF8udnFiKGMsXy5SZShjLF8udHFiLDIsXy5TZSgpKS5maWx0ZXIoZnVuY3Rpb24oZSl7ZT1fLnJxYihfLnYoZSxfLmR1LDIpKTtyZXR1cm4hKF8uaGkoZSwxKT09PV8uaGkoZCwxKSYmXy5oaShlLDIpPT09Xy5oaShkLDIpJiZfLkNpKF8udihlLF8uc3FiLDMpLDEsXy5ucWIpPT09Xy5DaShfLnYoZCxfLnNxYiwzKSwxLF8ubnFiKSl9KSl9LFwiUU9uZGhmXCIpO25ldyBfLnhnKF8ud3FiKTtuZXcgXy54Zyh5cWIpO18uenFiPW5ldyBfLlFmKFwiVFRQNGRjXCIseXFiLF8ud3FiLFt7a2V5Ol8uVHAsdmFsdWU6ITF9LHtrZXk6Xy5VcCx2YWx1ZTpcIi9Db250cmlidXRpb25zU2VydmljZS5Xcml0ZVJlYWN0aW9uXCJ9XSk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uYXFiPXt9O3ZhciBicWI9Wy0xLF8uYXFiXTtfLmNxYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uY3FiLF8ucSk7Xy5jcWIucHJvdG90eXBlLnhpPWZ1bmN0aW9uKCl7cmV0dXJuIF8ubmkodGhpcywzLDApfTtfLmRxYj1fLk5iKDE3NTY5OTExNixfLmNxYik7Xy4kcGJbMTc1Njk5MTE2XT1bMCxfLkksYnFiLF8uSV07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uVnBiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5WcGIsXy5xKTtfLm09Xy5WcGIucHJvdG90eXBlO18ubS5Wdj1mdW5jdGlvbigpe3JldHVybiBfLm5pKHRoaXMsMSwwKX07Xy5tLmdldFRpdGxlPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDkpfTtfLm0uc2V0VGl0bGU9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcyw5LGEpfTtfLm0uR2Q9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZSh0aGlzLDkpfTtfLm0uZ2V0RGVzY3JpcHRpb249ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMTMpfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5idT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uYnUsXy5xKTtfLmJ1LnByb3RvdHlwZS5nZXRUaXRsZT1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywzKX07Xy5idS5wcm90b3R5cGUuc2V0VGl0bGU9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcywzLGEpfTtfLmJ1LnByb3RvdHlwZS5HZD1mdW5jdGlvbigpe3JldHVybiBfLlZlKHRoaXMsMyl9O18uYnUub2I9WzJdO18uYnUucHJvdG90eXBlLnFiPVwiRHh4ZlRjXCI7Xy5XcGI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLldwYixfLnEpO18uV3BiLm9iPVsxXTtfLlhwYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uWHBiLF8ucSk7Xy5YcGIucHJvdG90eXBlLnFiPVwiaE1DUFhjXCI7Xy5ZcGI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLllwYixfLnEpO18uWXBiLnByb3RvdHlwZS5xYj1cIkxUNEJ5ZlwiO25ldyBfLnhnKF8uWHBiKTtuZXcgXy54ZyhfLllwYik7Xy5yby5MVDRCeWY9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uc28oXy50byhfLnYoYSxfLmJ1LDEpKSkudG9TdHJpbmcoKX07Xy5acChfLllwYixfLmJ1LGZ1bmN0aW9uKGEpe2E9Xy52KGEsXy5idSwxKTtyZXR1cm4gYSE9bnVsbD9bYV06W119KTtfLlpwYj1uZXcgXy5RZihcInVab0VHXCIsXy5ZcGIsXy5YcGIsW3trZXk6Xy5UcCx2YWx1ZTohMH0se2tleTpfLlVwLHZhbHVlOlwiL01lcmNoYW50UHJvZmlsZVNlcnZpY2UuR2V0QWN0aW9uR3JvdXBcIn1dKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5TcGI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLlNwYixfLnEpO18uVHBiPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uaGooYSwxLGIpfTtfLlVwYj1mdW5jdGlvbihhLGIpe3JldHVybiBfLk1nKGEsMixiKX07Xy5TcGIub2I9WzFdO18uU3BiLnByb3RvdHlwZS5vYT1fLlNiKFswLF8udWssXy5HXSk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBEcGI7Xy5DcGI9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQnBiKFwiR0VUXCIsYSxudWxsKS50aGVuKGZ1bmN0aW9uKGIpe3JldHVybiBiLnJlc3BvbnNlVGV4dH0pfTtcbl8uQnBiPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWR8fHt9LGY9ZS5sc2M/ZS5sc2MuTW8oKTpfLlgwYSgpO3JldHVybihuZXcgXy5qZihmdW5jdGlvbihnLGgpe3ZhciBrO3RyeXtmLm9wZW4oYSxiLCEwKX1jYXRjaChyKXtoKG5ldyBEcGIoXCJFcnJvciBvcGVuaW5nIFhIUjogXCIrci5tZXNzYWdlLGIsZikpfWYub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYoZi5yZWFkeVN0YXRlPT00KXtfLmJhLmNsZWFyVGltZW91dChrKTt2YXIgcjshKHI9Xy5WMGEoZi5zdGF0dXMpKSYmKHI9Zi5zdGF0dXM9PT0wKSYmKHI9Xy5WQmEoYikscj0hKHI9PVwiaHR0cFwifHxyPT1cImh0dHBzXCJ8fHI9PVwiXCIpKTtyP2coZik6aChuZXcgRXBiKGYuc3RhdHVzLGIsZikpfX07Zi5vbmVycm9yPWZ1bmN0aW9uKCl7aChuZXcgRHBiKFwiTmV0d29yayBlcnJvclwiLGIsZikpfTtpZihlLmhlYWRlcnMpe2Zvcih2YXIgbCBpbiBlLmhlYWRlcnMpe3ZhciBuPWUuaGVhZGVyc1tsXTtuIT1udWxsJiZmLnNldFJlcXVlc3RIZWFkZXIobCxcbm4pfW49ZS5oZWFkZXJzW1wiQ29udGVudC1UeXBlXCJdfWw9Xy5iYS5Gb3JtRGF0YSYmYyBpbnN0YW5jZW9mIF8uYmEuRm9ybURhdGE7YSE9XCJQT1NUXCJ8fG4hPT12b2lkIDB8fGx8fGYuc2V0UmVxdWVzdEhlYWRlcihcIkNvbnRlbnQtVHlwZVwiLFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLThcIik7ZS53aXRoQ3JlZGVudGlhbHMmJihmLndpdGhDcmVkZW50aWFscz1lLndpdGhDcmVkZW50aWFscyk7ZS5yZXNwb25zZVR5cGUmJihmLnJlc3BvbnNlVHlwZT1lLnJlc3BvbnNlVHlwZSk7ZS5taW1lVHlwZSYmZi5vdmVycmlkZU1pbWVUeXBlKGUubWltZVR5cGUpO2UuZko+MCYmKGs9Xy5iYS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Zi5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXt9O2YuYWJvcnQoKTtoKG5ldyBGcGIoYixmKSl9LGUuZkopKTt0cnl7Zi5zZW5kKGMpfWNhdGNoKHIpe2Yub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7fSxfLmJhLmNsZWFyVGltZW91dChrKSxcbmgobmV3IERwYihcIkVycm9yIHNlbmRpbmcgWEhSOiBcIityLm1lc3NhZ2UsYixmKSl9fSkpLnpyKGZ1bmN0aW9uKGcpe2cgaW5zdGFuY2VvZiBfLmtkJiZmLmFib3J0KCk7dGhyb3cgZzt9KX07RHBiPWZ1bmN0aW9uKGEsYixjKXtfLmFhLmNhbGwodGhpcyxhK1wiLCB1cmw9XCIrYik7dGhpcy51cmw9Yjt0aGlzLmNBPWN9O18ubWgoRHBiLF8uYWEpO0RwYi5wcm90b3R5cGUubmFtZT1cIlhockVycm9yXCI7dmFyIEVwYj1mdW5jdGlvbihhLGIsYyl7RHBiLmNhbGwodGhpcyxcIlJlcXVlc3QgRmFpbGVkLCBzdGF0dXM9XCIrYSxiLGMpO3RoaXMuc3RhdHVzPWF9O18ubWgoRXBiLERwYik7RXBiLnByb3RvdHlwZS5uYW1lPVwiWGhySHR0cEVycm9yXCI7dmFyIEZwYj1mdW5jdGlvbihhLGIpe0RwYi5jYWxsKHRoaXMsXCJSZXF1ZXN0IHRpbWVkIG91dFwiLGEsYil9O18ubWgoRnBiLERwYik7RnBiLnByb3RvdHlwZS5uYW1lPVwiWGhyVGltZW91dEVycm9yXCI7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uUThhPWZ1bmN0aW9uKCl7Xy5Day5jYWxsKHRoaXMpO3RoaXMub2E9e307dGhpcy5BYT17fX07Xy5EKF8uUThhLF8uQ2spO18uUThhLnByb3RvdHlwZS5RYz1mdW5jdGlvbigpe2RlbGV0ZSB0aGlzLm9hO2RlbGV0ZSB0aGlzLkFhfTtfLlE4YS5wcm90b3R5cGUuZXhlY3V0ZT1mdW5jdGlvbihhLGIpe2I9Yj9iOlwiZGVmYXVsdFwiO3RoaXMub2FbYl18fCh0aGlzLm9hW2JdPW5ldyBfLmpRYSk7dmFyIGM9Xy52ZCgpLGQ9e1NrOmMsZWFhOmEsWEI6ITF9O3RoaXMub2FbYl0uZW5xdWV1ZShkKTt0aGlzLkFhW2JdfHxSOGEodGhpcyxiKTtyZXR1cm4gYy5wcm9taXNlLnpyKGZ1bmN0aW9uKGUpe2lmKGUgaW5zdGFuY2VvZiBFcnJvcil0aHJvdyBlIGluc3RhbmNlb2YgXy5rZCYmKGQuWEI9ITApLGU7dGhyb3cgRXJyb3IoZSk7fSl9O1xudmFyIFI4YT1mdW5jdGlvbihhLGIpe2lmKGEub2FbYl0mJl8ubVFhKGEub2FbYl0pKXthLkFhW2JdPSEwO3ZhciBjPV8ubFFhKGEub2FbYl0pO2Eub2FbYl0uaXNFbXB0eSgpJiZkZWxldGUgYS5vYVtiXTtjLlhCP1I4YShhLGIpOmMuU2sucmVzb2x2ZShfLlRkKGMuZWFhKCksKDAsXy5oaCkoZnVuY3Rpb24oKXtSOGEodGhpcyxiKX0sYSkpKX1lbHNlIGRlbGV0ZSBhLkFhW2JdfTtfLlE4YS5nZXRJbnN0YW5jZT1mdW5jdGlvbigpe3JldHVybiBfLkhmKF8uUThhKX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcInV4TXBVXCIpO1xudmFyIGF1PWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/ITE6YztHcGIuc2V0KGEsYik7YyYmSHBiLmFkZChhKX0sTnBiPWZ1bmN0aW9uKGEpe3ZhciBiPWEudW0oKSxjPWIudG9TdHJpbmcoKTtpZighR3BiLmhhcyhjKSlyZXR1cm4gYj1FcnJvcihcInVlYFwiK2MpLF8ueXBiKGIse2lkOmN9KSxfLlVsKGIpO3ZhciBkPUhwYi5oYXMoYyk7YT1hLm9hKCkuV2MoKTt2YXIgZT1fLklwYigpLGY9R3BiLmdldChjKTtlPW5ldyBfLlRjKGUrXCIvaHR0cHNlcnZpY2UvXCIrZik7Xy5BcGIoZS5zZWFyY2hQYXJhbXMpO18uSnBiKGUuc2VhcmNoUGFyYW1zKTtpZihkKXtlLnNlYXJjaFBhcmFtcy5zZXQoXCJmbXRcIixcImpzcGJcIik7Zj1nb29nbGUueHNyZj9nb29nbGUueHNyZltjXTp2b2lkIDA7aWYoIWYpcmV0dXJuIGI9RXJyb3IoXCJ2ZWBcIitjKSxfLnlwYihiLHtpZDpjfSksXy5VbChiKTtlLnNlYXJjaFBhcmFtcy5zZXQoXCJ4c3JmXCIsZil9ZWxzZSBlLnNlYXJjaFBhcmFtcy5zZXQoXCJyZXFwbGRcIixcbmEpO2Uuc2VhcmNoUGFyYW1zLnNldChcIm1zY1wiLFwiZ3dzcnBjXCIpO18uS2lhKGUuc2VhcmNoUGFyYW1zLCExLCExKTtjPWUudG9TdHJpbmcoKTtlPXt0S2E6XCIpXX0nXFxuXFxuXCIsd2l0aENyZWRlbnRpYWxzOl8uS3BiKCl9O2M9ZD9McGIoYyxhLGUpOk1wYihjLGUpO3ZhciBnPWIucWthKCk7cmV0dXJuIGMudGhlbihmdW5jdGlvbihoKXtyZXR1cm4gbmV3IGcoaCl9KX0sT3BiPWZ1bmN0aW9uKGEsYil7YiYmYi50S2EmJihiPWIudEthLF8uR2YoYSxiKSYmKGE9YS5zdWJzdHJpbmcoYi5sZW5ndGgpKSk7cmV0dXJuIEpTT04ucGFyc2UoYSl9LExwYj1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uQnBiKFwiUE9TVFwiLGEsYixjKS50aGVuKGZ1bmN0aW9uKGQpe3JldHVybiBPcGIoZC5yZXNwb25zZVRleHQsYyl9KX0sTXBiPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uQnBiKFwiR0VUXCIsYSxudWxsLGIpLnRoZW4oZnVuY3Rpb24oYyl7cmV0dXJuIE9wYihjLnJlc3BvbnNlVGV4dCxiKX0pfSxHcGI9bmV3IE1hcCxcbkhwYj1uZXcgU2V0O18uSnBiPWZ1bmN0aW9uKCl7fTtfLklwYj1mdW5jdGlvbigpe3JldHVyblwiXCJ9O18uS3BiPWZ1bmN0aW9uKCl7cmV0dXJuITF9O18uUHBiPWZ1bmN0aW9uKGEpe18uRG4uY2FsbCh0aGlzLGEuTmEpfTtfLkQoXy5QcGIsXy5Ebik7Xy5QcGIuV2E9Xy5Ebi5XYTtfLlBwYi5JYT1fLkRuLklhO18uUHBiLnByb3RvdHlwZS5mZXRjaD1mdW5jdGlvbihhKXtyZXR1cm4gTnBiKGEpLnRoZW4oZnVuY3Rpb24oYil7cmV0dXJuIGEudW0oKS5XaShiKX0pfTtfLlBwYi5wcm90b3R5cGUuemM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uUThhLmdldEluc3RhbmNlKCkuZXhlY3V0ZShmdW5jdGlvbigpe3JldHVybiBOcGIoYSl9KS50aGVuKGZ1bmN0aW9uKGIpe3JldHVybiBhLnVtKCkuV2koYil9KX07Xy5GbihfLktKYSxfLlBwYik7YXUoXCJFWHRtZ2RcIixcIndlYi9BZEJsb2NraW5nU2VydmljZS9CbG9ja0Fkc1wiLCEwKTthdShcIldXa1R0ZFwiLFwid2ViL0FkQmxvY2tpbmdTZXJ2aWNlL0Jsb2NrQWRzVW5kb1wiLCEwKTthdShcIkdUS0dxZVwiLFwicmV0cnkvQWRzRW1iZWRkZWRSZXBvcnRTZXJ2aWNlL1VwZGF0ZVNlYXJjaFRlcm1TdGF0dXNcIiwhMCk7YXUoXCJzdDVpSWZcIixcInJldHJ5L0Fkc0VtYmVkZGVkUmVwb3J0U2VydmljZS9VcGRhdGVDYW1wYWlnbkJ1ZGdldFwiLCEwKTthdShcImpOeGpLY1wiLFwicmV0cnkvQWRzRW1iZWRkZWRSZXBvcnRTZXJ2aWNlL1VwZGF0ZUNhbXBhaWduU3RhdHVzXCIsITApO2F1KFwiUVZoU0liXCIsXCJyZXRyeS9BZHNFbWJlZGRlZFJlcG9ydFNlcnZpY2UvTXV0YXRlQ3JlYXRpdmVcIiwhMCk7YXUoXCJxMXlrcGRcIixcInJldHJ5L0Fkc0VtYmVkZGVkUmVwb3J0U2VydmljZS9WYWxpZGF0ZUNyZWF0aXZlXCIpO2F1KFwid3dmYzRjXCIsXCJyZXRyeS9BZHNFbWJlZGRlZFJlcG9ydFNlcnZpY2UvTXV0YXRlS2V5d29yZFRoZW1lXCIsITApO2F1KFwienBOS3VcIixcInJldHJ5L0Fkc0VtYmVkZGVkUmVwb3J0U2VydmljZS9Mb2dnaW5nQWN0aXZpdGllc1wiKTthdShcIkFEdENEY1wiLFwicmV0cnkvQWRzRW1iZWRkZWRSZXBvcnRTZXJ2aWNlL0dldEJ1ZGdldFN1Z2dlc3Rpb25cIik7XG5hdShcIlQ5SFp2XCIsXCJyZXRyeS9BZHNFbWJlZGRlZFJlcG9ydFNlcnZpY2UvR2V0RXN0aW1hdGVkUmVhY2hcIik7YXUoXCJXbEh2R2NcIixcInJldHJ5L0Fkc0VtYmVkZGVkUmVwb3J0U2VydmljZS9HZXRMb2NhdGlvblJlcG9ydEluZm9cIik7YXUoXCJPRFNNcGNcIixcInJldHJ5L0Fkc0VtYmVkZGVkUmVwb3J0U2VydmljZS9HZXRQZXJmb3JtYW5jZVJlcG9ydFwiKTthdShcInJoWFNFXCIsXCJyZXRyeS9BZHNFbWJlZGRlZFJlcG9ydFNlcnZpY2UvR2V0Q2FtcGFpZ25EZXRhaWxzXCIpO2F1KFwiTU80cDJjXCIsXCJyZXRyeS9BZHNFbWJlZGRlZFJlcG9ydFNlcnZpY2UvR2V0S2V5d29yZFJlcG9ydFwiKTthdShcInZvaHU2XCIsXCJyZXRyeS9BZHNFbWJlZGRlZFJlcG9ydFNlcnZpY2UvR2V0S2V5d29yZFN1Z2dlc3Rpb25zXCIpO2F1KFwiZFNIVEhlXCIsXCJyZXRyeS9BZHNFbWJlZGRlZFJlcG9ydFNlcnZpY2UvR2V0U2VhcmNoZXNSZXBvcnRcIik7YXUoXCJqTW5WdmJcIixcInJldHJ5L0Fkc0VtYmVkZGVkUmVwb3J0U2VydmljZS9HZXRNeUFkc0RhdGFcIik7YXUoXCJWSWp2SlwiLFwid2ViL0dlbmVyYXRlQXN5bmNTZXJ2aWNlL0dlbmVyYXRlQXN5bmNcIik7YXUoXCJ4VGRkV2VcIixcIndlYi9Bc3Npc3RhbnRDb250ZXh0dWFsQWN0aW9uc1NlcnZpY2UvR2V0UmVtaW5kZXJcIik7YXUoXCJtamw2RWRcIixcIndlYi9Bc3Npc3RhbnRDb250ZXh0dWFsQWN0aW9uc1NlcnZpY2UvU2V0UmVtaW5kZXJcIiwhMCk7YXUoXCJXeHlpVWRcIixcInJldHJ5L0NhbWVvc1NlcnZpY2UvUmVjb3JkVmlld1wiLCEwKTthdShcInNGUjl3ZFwiLFwicmV0cnkvQ2FtZW9zU2VydmljZS9HZXRXYXRjaFZpZXdcIik7YXUoXCJGd3M3SWZcIixcInJldHJ5L1Jlc3BvbnNlU2VydmljZS9Xcml0ZVwiLCEwKTthdShcImdQZndLZlwiLFwicmV0cnkvUmVzcG9uc2VTZXJ2aWNlL0NvdW50XCIsITApO2F1KFwiTk5DeVNcIixcInJldHJ5L0NvbnRyaWJ1dGlvbnNTZXJ2aWNlL0RlbGV0ZVJldmlld1wiLCEwKTthdShcImdCSXpzYlwiLFwicmV0cnkvQ29udHJpYnV0aW9uc1NlcnZpY2UvV3JpdGVIZWxwZnVsVm90ZVwiLCEwKTthdShcIlRUUDRkY1wiLFwicmV0cnkvQ29udHJpYnV0aW9uc1NlcnZpY2UvV3JpdGVSZWFjdGlvblwiLCEwKTthdShcIml4TDJhZVwiLFwicmV0cnkvQ29udHJpYnV0aW9uc1NlcnZpY2UvV3JpdGVSZWFjdGlvbnNcIiwhMCk7YXUoXCJPbEtDU1wiLFwicmV0cnkvQ29udHJpYnV0aW9uc1NlcnZpY2UvV3JpdGVSZXZpZXdcIiwhMCk7YXUoXCJwZ3pCVmVcIixcInJldHJ5L0N1c3RvbVZpZXdzU2VydmljZS9HZXRDdXN0b21WaWV3XCIpO2F1KFwiTE1zclVlXCIsXCJyZXRyeS9DdXN0b21WaWV3c1NlcnZpY2UvU3luY2hyb25pemVEZWxldGVWaWV3XCIsITApO2F1KFwiUkVYQnFjXCIsXCJyZXRyeS9DdXN0b21WaWV3c1NlcnZpY2UvU3luY2hyb25pemVTYXZlVmlld1wiLCEwKTthdShcImc1VHJZYlwiLFwicmV0cnkvQ3VzdG9tVmlld3NTZXJ2aWNlL1N5bmNocm9uaXplVXBkYXRlVmlld1wiLCEwKTthdShcIkcxTktlYlwiLFwicmV0cnkvRGVsaWdodENvdW50ZXJTZXJ2aWNlL0luY3JlbWVudENvdW50ZXJcIiwhMCk7YXUoXCJuS2lkeGVcIixcInJldHJ5L0RlbGlnaHRDb3VudGVyU2VydmljZS9HZXRDb3VudFwiKTthdShcIlF3SDVrXCIsXCJyZXRyeS9EZWxpZ2h0Q291bnRlclNlcnZpY2UvRGVsZXRlQ291bnRcIiwhMCk7YXUoXCJwQnRROGVcIixcInJldHJ5L0RlbGlnaHRDb3VudGVyU2VydmljZS9HZXRVbmlxdWVJZHNcIik7YXUoXCJmUk1hdFwiLFwicmV0cnkvRGVsaWdodFJpZGRsZXNTZXJ2aWNlL0dldFJpZGRsZVwiKTthdShcImdCYkloZFwiLFwicmV0cnkvRGVsaWdodFJpZGRsZXNTZXJ2aWNlL0dldFNvbHV0aW9uQ291bnRcIik7YXUoXCJtVEtkTGVcIixcIndlYi9FbGVjdGlvblJlc3VsdHNTZXJ2aWNlL0dldEVsZWN0aW9uUmVzdWx0c1wiKTthdShcImVkcVgxZFwiLFwid2ViL0Zic1VwZGF0ZVNlcnZpY2UvU2V0RmJzU2Nyb2xsUG9zaXRpb25cIik7YXUoXCJBb3VUZWZcIixcInJldHJ5L0ZlZWRiYWNrU2VydmljZS9TdWJtaXRGZWVkYmFja1wiLCEwKTthdShcImZBVGVQZVwiLFwid2ViL0dlb0Z1bGZpbGxtZW50U2VydmljZS9HZXRCYXRjaExvY2FsUG9zdHNcIik7YXUoXCJwSGZ3dGZcIixcInJldHJ5L0dlb0Z1bGZpbGxtZW50U2VydmljZS9HZXRDYXJzRm9yU2FsZVwiKTthdShcInN5R3pkY1wiLFwid2ViL0dlb0Z1bGZpbGxtZW50U2VydmljZS9HZXRMb2NhbFBvc3RzXCIpO2F1KFwiTmxjajllXCIsXCJ3ZWIvR2VvRnVsZmlsbG1lbnRTZXJ2aWNlL0dldExvY2FsVmlzdWFsU2VhcmNoSW1tZXJzaXZlXCIpO2F1KFwicjczOG9mXCIsXCJ3ZWIvR2VvRnVsZmlsbG1lbnRTZXJ2aWNlL0dldFBsYWNlc2hlZXRcIik7YXUoXCJmSDdqNFwiLFwid2ViL0dlb0Z1bGZpbGxtZW50U2VydmljZS9HZXRTaW5nbGVMb2NhbFBvc3RcIik7YXUoXCJEZWxoaGNcIixcIndlYi9Ib3RlbEFwaVNlcnZpY2UvR2V0Rm9ybWF0dGVkSG90ZWxSZXN1bHRzXCIpO2F1KFwic0Uyb29cIixcIndlYi9Ib3RlbEFwaVNlcnZpY2UvR2V0SGlnaGxpZ2h0c01vZHVsZVwiKTthdShcIks0UG9jZVwiLFwid2ViL0hvdGVsQXBpU2VydmljZS9HZXRIb3RlbERlZXBEaXZlc1wiKTthdShcIkE5SlVBZlwiLFwid2ViL0hvdGVsQXBpU2VydmljZS9HZXRIb3RlbEVudGl0eVwiKTthdShcImROVGJBYlwiLFwid2ViL0hvdGVsQXBpU2VydmljZS9HZXRIb3RlbFByaWNlRGF0YVwiKTthdShcIk5wNjNtY1wiLFwid2ViL0hvdGVsQXBpU2VydmljZS9HZXRIb3RlbFJlc3VsdHNcIik7YXUoXCJMaXhvSWNcIixcIndlYi9Ib3RlbEFwaVNlcnZpY2UvR2V0SG90ZWxTZXJ2aWNlRGF0YVwiKTthdShcIlVQZ3dtY1wiLFwicmV0cnkvUmVjb3JkVXNlclNldHRpbmdzU2VydmljZS9SZWNvcmRVc2VyU2V0dGluZ3NcIiwhMCk7YXUoXCJRWHlrVVwiLFwid2ViL0dlb1Jlc29sdXRpb25TZXJ2aWNlL0dldEdlb1Jlc29sdXRpb25cIik7YXUoXCJHTVQ5dWJcIixcIm5vcmV0cnkvUHJpdmF0ZUxvY2FsU2VhcmNoVWlEYXRhU2VydmljZS9HZXRCdXNpbmVzc0NhbGxzVHJhY2tpbmdEYXRhXCIpO2F1KFwid05Fd01kXCIsXCJ3ZWIvUHJpdmF0ZUxvY2FsU2VhcmNoVWlEYXRhU2VydmljZS9HZXRFdmlkZW5jZUJvcVByb3h5XCIpO2F1KFwiVE9pbXhcIixcIndlYi9Qcml2YXRlTG9jYWxTZWFyY2hVaURhdGFTZXJ2aWNlL0dldEZsYWdPZmZlcmluZ0NvbnRlbnRCb3FQcm94eVwiLCEwKTthdShcImREME1GZFwiLFwid2ViL1ByaXZhdGVMb2NhbFNlYXJjaFVpRGF0YVNlcnZpY2UvR2V0TG9jYWxCb3FQcm94eVwiKTthdShcImFoV3VYZFwiLFwid2ViL1ByaXZhdGVMb2NhbFNlYXJjaFVpRGF0YVNlcnZpY2UvR2V0UGxhY2VBdHRyaWJ1dGVTZXJ2aWNlQm9xUHJveHlcIik7YXUoXCJHQ2g1amVcIixcIndlYi9Qcml2YXRlTG9jYWxTZWFyY2hVaURhdGFTZXJ2aWNlL0dldFBsYWNlVGlsZVRpcFwiKTthdShcIkNicWdiZVwiLFwid2ViL1ByaXZhdGVMb2NhbFNlYXJjaFVpRGF0YVNlcnZpY2UvR2V0V2ViUmVzdWx0c1wiKTtcbmF1KFwicFVKRWtcIixcIndlYi9Qcml2YXRlTG9jYWxTZWFyY2hVaURhdGFTZXJ2aWNlL0dldFdyaXRlRWRpdEJvcVByb3h5XCIsITApO2F1KFwidHgzdEpmXCIsXCJub3JldHJ5L1ByaXZhdGVMb2NhbFNlYXJjaFVpRGF0YVNlcnZpY2UvU3luY2hyb25pemVCdXNpbmVzc0NhbGxzU2lnbmFsXCIpO2F1KFwiaWdzSzBjXCIsXCJ3ZWIvUHJpdmF0ZUxvY2FsU2VhcmNoVWlEYXRhU2VydmljZS9TeW5jaHJvbml6ZUxvY2FsQm9xUHJveHlcIiwhMCk7YXUoXCJiM3dKUmNcIixcInJldHJ5L01hcHNBY3Rpdml0eVNlcnZpY2UvTWFwc0FjdGl2aXR5UGxhY2VIaXN0b3J5RWRpdFwiLCEwKTthdShcIk5RdXpTYlwiLFwicmV0cnkvTWFwc0FjdGl2aXR5U2VydmljZS9NYXBzQWN0aXZpdHlQaG90b0RlbGV0ZVwiLCEwKTthdShcInhqVHA3ZVwiLFwicmV0cnkvTWFwc0VudGl0eUxpc3RTZXJ2aWNlL0NyZWF0ZUxpc3RcIiwhMCk7YXUoXCJRMUlRM2RcIixcInJldHJ5L01hcHNFbnRpdHlMaXN0U2VydmljZS9DcmVhdGVMaXN0SXRlbVwiLCEwKTthdShcImIxdDRhZlwiLFwicmV0cnkvTWFwc0VudGl0eUxpc3RTZXJ2aWNlL0RlbGV0ZUxpc3RJdGVtXCIsITApO2F1KFwiS21RTElcIixcInJldHJ5L01hcHNFbnRpdHlMaXN0U2VydmljZS9VcGRhdGVMaXN0VmlzaWJpbGl0eVwiLCEwKTthdShcIlBnTnVxYlwiLFwicmV0cnkvTWFwc0xvY2FsUG9zdFByb3h5U2VydmljZS9EZWxldGVMb2NhbFBvc3RcIiwhMCk7YXUoXCJObldzTmJcIixcIndlYi9NYXBzUmlkZGxlclNlcnZpY2UvV3JpdGVSaWRkbGVyQW5zd2VyXCIsITApO2F1KFwicWVQeVRjXCIsXCJ3ZWIvTWFwc1Rhc2tBbnN3ZXJTZXJ2aWNlL1dyaXRlTXVsdGlwbGVDaG9pY2VBbnN3ZXJcIiwhMCk7YXUoXCJPM2ZkeWJcIixcIndlYi9NYXBzVGFza0Fuc3dlclNlcnZpY2UvQmF0Y2hEZWxldGVBbnN3ZXJzXCIsITApO2F1KFwicHQwWXBmXCIsXCJyZXRyeS9NYXBzRmUvV3JpdGVMb2NhbEFjdGlvblwiLCEwKTthdShcIkVmeXFzYlwiLFwid2ViL01lZGlhU2VydmljZS9HZXRPbmJvYXJkaW5nXCIpO2F1KFwicmFKeXRiXCIsXCJyZXRyeS9NZWRpYVNlcnZpY2UvR2V0U3VnZ2VzdGlvbnNcIik7YXUoXCJYVUxEMGRcIixcInJldHJ5L01lcmNoYW50UHJvZmlsZVNlcnZpY2UvR2V0VW5sb2NrRGlzcGxheVwiKTthdShcImpiMDFFXCIsXCJyZXRyeS9NZXJjaGFudFByb2ZpbGVTZXJ2aWNlL0dldFByaXZhdGVQcm9maWxlUHJldmlld1wiKTthdShcInBDaHozY1wiLFwicmV0cnkvTWVyY2hhbnRQcm9maWxlU2VydmljZS9EaXNtaXNzUmVjb21tZW5kYXRpb25cIiwhMCk7YXUoXCJRZHZrVWNcIixcInJldHJ5L01lcmNoYW50UHJvZmlsZVNlcnZpY2UvUmVwb3J0UmVjb21tZW5kYXRpb25DbGlja1wiLCEwKTthdShcIkJNVmVYZVwiLFwicmV0cnkvTWVyY2hhbnRQcm9maWxlU2VydmljZS9EZXRlcm1pbmVGbG93RWxpZ2liaWxpdHlcIik7YXUoXCJrTE9RZVwiLFwicmV0cnkvTWVyY2hhbnRQcm9maWxlU2VydmljZS9MaXN0Tm90aWZpY2F0aW9uT3ZlcmxheXNcIik7YXUoXCJYZTRjeGVcIixcInJldHJ5L01lcmNoYW50UHJvZmlsZVNlcnZpY2UvUmVwb3J0Tm90aWZpY2F0aW9uT3ZlcmxheUNsaWNrXCIsITApO2F1KFwiTU1iam9mXCIsXCJyZXRyeS9NZXJjaGFudFByb2ZpbGVTZXJ2aWNlL0dldEZ0dXhFbGlnaWJpbGl0eVwiKTtcbmF1KFwiS2xWcUJkXCIsXCJyZXRyeS9NZXJjaGFudFByb2ZpbGVTZXJ2aWNlL0dldExpc3RpbmdEYXRhXCIpO2F1KFwidVpvRUdcIixcInJldHJ5L01lcmNoYW50UHJvZmlsZVNlcnZpY2UvR2V0QWN0aW9uR3JvdXBcIik7YXUoXCJlRHM5M2RcIixcInJldHJ5L01lcmNoYW50UHJvZmlsZVNlcnZpY2UvR2V0TWVyY2hhbnRDZW50ZXJMYXN0QWNjZXNzZWRBY2NvdW50XCIpO2F1KFwiWm4zYmNjXCIsXCJyZXRyeS9NZXJjaGFudFByb2ZpbGVTZXJ2aWNlL1ZhbGlkYXRlQXV0aG9yaXR5XCIpO2F1KFwic0ZoZGFjXCIsXCJyZXRyeS9NZXJjaGFudFByb2ZpbGVTZXJ2aWNlL0dldE1jT3ZlcmxheUVsaWdpYmlsaXR5XCIpO2F1KFwib2g3ejNcIixcInJldHJ5L01lcmNoYW50UHJvZmlsZVNlcnZpY2UvTWFya01jT3ZlcmxheUFzU2VlblwiLCEwKTthdShcIno2UElhZVwiLFwicmV0cnkvTWluZHNlYXJjaEZyb250ZW5kU2VydmljZS9HZXRBbnN3ZXJzXCIpO2F1KFwiT3hrSmdjXCIsXCJyZXRyeS9NaW5kc2VhcmNoRnJvbnRlbmRTZXJ2aWNlL1N1Ym1pdEFuc3dlclwiLCEwKTthdShcIkZCcEZwZlwiLFwicmV0cnkvTWluZHNlYXJjaEZyb250ZW5kU2VydmljZS9TdWJtaXRRdWVzdGlvblwiLCEwKTthdShcImlxZ1U5ZVwiLFwid2ViL1ByaXZhdGVNZWRpYVN1YnNTZXJ2aWNlL0dldEJ1eUZsb3dQYXJhbXNcIik7YXUoXCJwbXAwSGZcIixcIndlYi9Qcml2YXRlTWVkaWFTdWJzU2VydmljZS9HZXRFbGlnaWJpbGl0eVwiKTthdShcIkZ3QmVhZlwiLFwid2ViL1ByaXZhdGVNZWRpYVN1YnNTZXJ2aWNlL0dldFNrdVwiKTthdShcInhidVo0ZFwiLFwid2ViL1ByaXZhdGVNZWRpYVN1YnNTZXJ2aWNlL0dldFVzZXJDb25zZW50XCIpO2F1KFwicXdkQ0tkXCIsXCJ3ZWIvUHJpdmF0ZU1lZGlhU3Vic1NlcnZpY2UvR2V0VXNlclByb3ZpZGVySW5mb1wiKTthdShcInd6VFVrXCIsXCJ3ZWIvUHJpdmF0ZU1lZGlhU3Vic1NlcnZpY2UvU3luY2hyb25pemVDcmVhdGVPckxpbmtBY2NvdW50XCIpO2F1KFwianRicGxlXCIsXCJub3JldHJ5L1ByaXZhdGVTY3NyTW9kZWxTZXJ2aW5nU2VydmljZS9HZXRTYW1wbGVEYXRhXCIpO2F1KFwiZmY4U1diXCIsXCJyZXRyeS9Qcm9tb1Rocm90dGxlclNlcnZpY2UvUmVjb3JkUHJvbW9TdGF0ZVwiLCEwKTthdShcIk81RVcwZFwiLFwicmV0cnkvU2VhcmNoQXBpU2VydmljZS9HZXRDb252ZXJzaW9uRm9ybXVsYVwiKTthdShcIm9sU1VtYlwiLFwid2ViL1NlYXJjaEFwaVNlcnZpY2UvR2V0RGlyZWN0b3J5U2VhcmNoUmVzdWx0XCIpO2F1KFwiVFNnZ3VlXCIsXCJ3ZWIvU2VhcmNoQXBpU2VydmljZS9HZXRGZWF0dXJlQnkxbnNcIik7YXUoXCJYQ21ESGJcIixcIndlYi9TZWFyY2hBcGlTZXJ2aWNlL0dldEZvcm1RdWVyeUR1cGxleFwiKTthdShcIklvWDlJYlwiLFwid2ViL1NlYXJjaEFwaVNlcnZpY2UvR2V0R2VvRW50aXR5XCIpO2F1KFwiSm40ZmtlXCIsXCJ3ZWIvU2VhcmNoQXBpU2VydmljZS9HZXRHZW9SZXN1bHRcIik7YXUoXCJDN1d6T2VcIixcIndlYi9TZWFyY2hBcGlTZXJ2aWNlL0dldEdlb1ZlcnRpY2FsUGFnZVwiKTthdShcIlB2b2Z2YlwiLFwicmV0cnkvU2VhcmNoQXBpU2VydmljZS9HZXRMaXN0Tm90aWZpY2F0aW9uc1wiKTthdShcIkxMclM5ZVwiLFwid2ViL1NlYXJjaEFwaVNlcnZpY2UvR2V0UGFydGlhbEdlb0VudGl0eVwiKTtcbmF1KFwidVlLU29mXCIsXCJyZXRyeS9TZWFyY2hBcGlTZXJ2aWNlL0dldFNob3J0ZW5lZEtwU2hhcmluZ1VybFwiKTthdShcIk9Na2pRYlwiLFwid2ViL1NlYXJjaEFwaVNlcnZpY2UvR2V0U2luZ2xlU2V0UGFnZVwiKTthdShcIkNUb2E4ZVwiLFwicmV0cnkvU2VhcmNoQXBpU2VydmljZS9HZXRUcmFuc2xhdGlvblwiKTthdShcImJVYVlmY1wiLFwicmV0cnkvU2VhcmNoQXBpU2VydmljZS9HZXRXcml0ZU9wdEluU3RhdHVzXCIsITApO2F1KFwiZGE1cGNmXCIsXCJ3ZWIvU2ltb25TZXJ2aWNlL1JlZ2lzdGVyU2ltb25BY3Rpb25cIiwhMCk7YXUoXCJ6VzROUWRcIixcIndlYi9TdHlsZUlkZWFzU2VydmljZS9HZXRTdHlsZUlkZWFzXCIpO2F1KFwiUWxEQThlXCIsXCJyZXRyeS9SZWNvcmRTdWJzY3JpcHRpb25zU2VydmljZS9SZWNvcmRTdWJzY3JpcHRpb25zXCIsITApO2F1KFwiT1d6aG9mXCIsXCJyZXRyeS9TdWdjUmV2aWV3U2VydmljZS9DcmVhdGVTdWdjTWVyY2hhbnRSZXZpZXdcIiwhMCk7YXUoXCJSNmZJWmJcIixcInJldHJ5L1N1Z2NSZXZpZXdTZXJ2aWNlL0NyZWF0ZVN1Z2NNZXJjaGFudFJldmlld05vVm90ZVwiLCEwKTthdShcInFFWmExYlwiLFwicmV0cnkvU3VnY1Jldmlld1NlcnZpY2UvQ3JlYXRlU3VnY1Byb2R1Y3RSZXZpZXdcIiwhMCk7YXUoXCJucktFVmJcIixcInJldHJ5L1N1Z2NSZXZpZXdTZXJ2aWNlL0RlbGV0ZVN1Z2NQcm9kdWN0UmV2aWV3XCIsITApO2F1KFwiWFVtdHlcIixcInJldHJ5L1N1Z2NSZXZpZXdTZXJ2aWNlL1NldE9wdE91dFN0YXR1c1wiLCEwKTthdShcImNrVnppXCIsXCJub3JldHJ5L0VkaXRTZXJ2aWNlL1N1Ym1pdEVkaXRcIiwhMCk7YXUoXCJuRWRQcmJcIixcIm5vcmV0cnkvRWRpdFNlcnZpY2UvRGVsZXRlRWRpdFwiLCEwKTthdShcInczY1JtYlwiLFwid2ViL1RyYXZlbEFkdmlzb3J5U2VydmljZS9TdWJzY3JpYmVcIiwhMCk7YXUoXCJEQnl5QmRcIixcIndlYi9UcmF2ZWxBZHZpc29yeVNlcnZpY2UvVW5zdWJzY3JpYmVcIiwhMCk7YXUoXCJ2MWxvM2NcIixcIndlYi9UcmF2ZWxTYXZlc1NlcnZpY2UvVHJhY2tGbGlnaHRcIiwhMCk7YXUoXCJGbWExeWRcIixcIndlYi9UcmF2ZWxTYXZlc1NlcnZpY2UvVW50cmFja0ZsaWdodFwiLCEwKTthdShcIk04NVVCZlwiLFwid2ViL1RyYXZlbFNhdmVzU2VydmljZS9TYXZlRW50aXR5XCIsITApO2F1KFwiSVZHdndmXCIsXCJ3ZWIvVHJhdmVsU2F2ZXNTZXJ2aWNlL1Vuc2F2ZUVudGl0eVwiLCEwKTthdShcImxqQ293Y1wiLFwid2ViL1RyYXZlbFNhdmVzU2VydmljZS9HZXRFbGlnaWJsZUxpc3RzXCIpO2F1KFwiYnZBcTRcIixcIndlYi9UcmF2ZWxTYXZlc1NlcnZpY2UvTW92ZUVudGl0eVwiLCEwKTthdShcIng3dm9rYlwiLFwid2ViL1Vkc0VuY3J5cHRpb25TZXJ2aWNlL0dldEVuY3J5cHRlZFVkc1wiKTthdShcIklIWFlPZFwiLFwibm9yZXRyeS9VZ2tDb250cmlidXRpb25zU2VydmljZS9Xcml0ZUZhY3R1YWxGZWVkYmFja1wiLCEwKTthdShcImN0eGZ6XCIsXCJyZXRyeS9Vbml2ZXJzYWxNZXJjaGFudFZpZXdlclByb3h5U2VydmljZS9HZXRSYXRpbmdBbmRCdXNpbmVzc0luZm9ybWF0aW9uXCIpO2F1KFwiVXdhZ1FjXCIsXCJyZXRyeS9Vbml2ZXJzYWxNZXJjaGFudFZpZXdlclByb3h5U2VydmljZS9HZXRNZXJjaGFudFF1YWxpdHlcIik7YXUoXCJGZEJzZmNcIixcInJldHJ5L1VuaXZlcnNhbE1lcmNoYW50Vmlld2VyUHJveHlTZXJ2aWNlL0dldERlbGl2ZXJ5QW5kUmV0dXJuc1wiKTthdShcIlo2QXFOZFwiLFwicmV0cnkvVW5pdmVyc2FsTWVyY2hhbnRWaWV3ZXJQcm94eVNlcnZpY2UvR2V0Q29udGFjdFwiKTthdShcIlg3QkgwZVwiLFwicmV0cnkvVW5pdmVyc2FsTWVyY2hhbnRWaWV3ZXJQcm94eVNlcnZpY2UvR2V0UmV2aWV3SGlzdG9ncmFtXCIpO2F1KFwiWkp1S3NmXCIsXCJyZXRyeS9Vbml2ZXJzYWxNZXJjaGFudFZpZXdlclByb3h5U2VydmljZS9TZWFyY2hNZXJjaGFudFJldmlld1wiKTthdShcImk4UmtUYlwiLFwicmV0cnkvUmVjb3JkVXNlckFjdGlvbnNTZXJ2aWNlL1JlY29yZFVzZXJBY3Rpb25zXCIsITApO2F1KFwia1dCeEpcIixcInJldHJ5L1dlYlVwZGF0ZXNTdWJzY3JpcHRpb25TZXJ2aWNlL0dldFVzZXJTZXR0aW5nc1wiKTthdShcIkZKU05kZVwiLFwicmV0cnkvV2ViVXBkYXRlc1N1YnNjcmlwdGlvblNlcnZpY2UvU3luY2hyb25pemVEZWxldGVTZXR0aW5nc0Zyb21MYW1zXCIsITApO2F1KFwiQzhnVzFjXCIsXCJyZXRyeS9XZWJVcGRhdGVzU3Vic2NyaXB0aW9uU2VydmljZS9TeW5jaHJvbml6ZVNhdmVTZXR0aW5nc1RvTGFtc1wiLCEwKTthdShcImtOSGQwZVwiLFwicmV0cnkvVXNlckZlZWRiYWNrU2VydmljZS9VcGRhdGVVc2VyRmVlZGJhY2tcIiwhMCk7XG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIFpvYixmcGIsZHBiO1pvYj1mdW5jdGlvbihhLGIpe2I9bmV3IFNldChfLnBoKGIsZnVuY3Rpb24oZyl7cmV0dXJuIF8udW8oZykuSjR9KSk7dmFyIGM9W107Yj1fLlBhKGIpO2Zvcih2YXIgZD1iLm5leHQoKTshZC5kb25lO2Q9Yi5uZXh0KCkpZD1kLnZhbHVlLGQuZW5kc1dpdGgoXCI7XCIpfHwoZCs9XCI7XCIpLGQ9ZC5yZXBsYWNlKC8oW1wiJyA6LltcXF0sPV0pL2csXCJcXFxcJDFcIiksYy5wdXNoKFwiW2pzZGF0YSo9J1wiK2QrXCInXVwiKTtiPVtdO2Q9W107Yz1hLnF1ZXJ5U2VsZWN0b3JBbGwoYy5qb2luKFwiLFwiKSk7Zm9yKHZhciBlPTA7ZTxjLmxlbmd0aDtlKyspe3ZhciBmPWNbZV07Yi5wdXNoKGYpO2YuaWQhPVwiXCImJmYudGFnTmFtZT09XCJDLURBVEFcIiYmZC5wdXNoKFwiW2pzZGF0YT0nZGVmZXJyZWQtXCIrZi5pZCtcIiddXCIpfWlmKGQubGVuZ3RoKWZvcihhPWEucXVlcnlTZWxlY3RvckFsbChkLmpvaW4oXCIsXCIpKSxjPTA7YzxhLmxlbmd0aDtjKyspYi5wdXNoKGFbY10pO3JldHVybiBifTtcbl8uJG9iPSExO18uY3BiPWZ1bmN0aW9uKGEsYixjLGQpe18uYXBiKG5ldyBfLmJwYihhLGIsYyksZCl9O18uYnBiPWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/Xy5DSGE6Yzt0aGlzLkNhPV8ueGUoXy5rZyhhKSkudUwoKTt0aGlzLkFhPWM7dGhpcy5vYT1iO3RoaXMuQmE9Wm9iKGEsdGhpcy5vYSk7dGhpcy5HYT1kcGIodGhpcy5CYSx0aGlzLm9hKTt0aGlzLk9nPW51bGx9O18uYXBiPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPVtdLGQ9Xy4kb2I/YS5vYS5tYXAoZnVuY3Rpb24oaCl7cmV0dXJuIGguRXMoKX0pOmEub2EsZT1fLlBhKF8uZXBiKGEpKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSl7Zj1fLlBhKGYudmFsdWUpO2Zvcih2YXIgZz1mLm5leHQoKTshZy5kb25lO2c9Zi5uZXh0KCkpYy5wdXNoKGcudmFsdWUudGhlbihmdW5jdGlvbihoKXtmcGIoYSxoLGQsYil9KSl9cmV0dXJuIF8ueGYoYyl9O1xuXy5ncGI9ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZD1bXSxlPV8uUGEoYS5vYSkubmV4dCgpLnZhbHVlLGY9Xy5QYShfLmVwYihhKSksZz1mLm5leHQoKTshZy5kb25lO2c9Zi5uZXh0KCkpe3ZhciBoPWcudmFsdWU7Zz1fLnFxYShoKS50aGVuKGZ1bmN0aW9uKG4pe3JldHVybiBfLnlmKG4se2pzZGF0YTp7bWVzc2FnZTp7WmM6dHlwZW9mIGU9PT1cImZ1bmN0aW9uXCI/ZTplLmNvbnN0cnVjdG9yLEplZDowfX19LGEuQ2EpfSkudGhlbihmdW5jdGlvbihuKXtuPW4uanNkYXRhLm1lc3NhZ2U7cmV0dXJuIG4uejEoKT8obj1uLmNsb25lKCksbj1iKG4pLG4hPW51bGw/bi5FcygpOm4pOmIobil9KTtoPV8uUGEoaCk7Zm9yKHZhciBrPWgubmV4dCgpLGw9e307IWsuZG9uZTtsPXtEZGM6dm9pZCAwfSxrPWgubmV4dCgpKWwuRGRjPWsudmFsdWUsZC5wdXNoKGcudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24ocil7ciYmbi5EZGMudGhlbihmdW5jdGlvbih0KXtmcGIoYSx0LFtyXSxcbmMpfSl9fShsKSkpfXJldHVybiBfLnhmKGQpfTtfLmVwYj1mdW5jdGlvbihhKXtmb3IodmFyIGI9W10sYz1fLlBhKGEuQmEpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKXtkPWQudmFsdWU7dmFyIGU9ZC5nZXRBdHRyaWJ1dGUoXCJqc21vZGVsXCIpO2lmKGUpe3ZhciBmPVtdO2U9Xy5jb2EoZSk7ZT1fLlBhKGUpO2Zvcih2YXIgZz1lLm5leHQoKTshZy5kb25lO2c9ZS5uZXh0KCkpZz1fLmVmKGcudmFsdWUpLGYucHVzaChfLm1vYShkLGcsYS5DYSkpO2YubGVuZ3RoPjAmJmIucHVzaChmKX19cmV0dXJuIGJ9O2ZwYj1mdW5jdGlvbihhLGIsYyxkKXtjPWEuQWEhPT1fLkZIYT9hLkdhLmdldChiLldHKCkpOmM7Yz1fLiRvYj9jLm1hcChmdW5jdGlvbihmKXtyZXR1cm4gZi5FcygpfSk6YztjPV8uUGEoYyk7Zm9yKHZhciBlPWMubmV4dCgpOyFlLmRvbmU7ZT1jLm5leHQoKSlfLmhwYihiLGUudmFsdWUsYS5BYSxkKX07XG5fLmhwYj1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLlRzYihfLmdyYShiKSk7ZSYmZS5oYW5kbGVyLmNhbGwoYSxlLnpGYj9iLkVzKCk6Yi5jbG9uZSgpLGMsZCl9O2RwYj1mdW5jdGlvbihhLGIpe3ZhciBjPW5ldyBNYXA7YT1fLlBhKGEpO2Zvcih2YXIgZD1hLm5leHQoKTshZC5kb25lO2Q9YS5uZXh0KCkpe2Q9ZC52YWx1ZTt2YXIgZT1bXSxmPV8ueUxhKGQpLGc9Xy56TGEoZik7Zj1nLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gXy5rcmEobikubWVzc2FnZUtleStcIjtcIn0pO2c9Zy5tYXAoZnVuY3Rpb24obil7cmV0dXJuIF8ua3JhKG4pLnFiK1wiO1wifSk7Zm9yKHZhciBoPV8uUGEoYiksaz1oLm5leHQoKTshay5kb25lO2s9aC5uZXh0KCkpe2s9ay52YWx1ZTt2YXIgbD1fLnVvKGspLko0O2wuZW5kc1dpdGgoXCI7XCIpfHwobCs9XCI7XCIpO2YuaW5jbHVkZXMobCk/ZS5wdXNoKGspOmcuaW5jbHVkZXMobCkmJmUucHVzaChrKX1jLnNldChkLGUpfXJldHVybiBjfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy56aGI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLnpoYixfLnEpO18uemhiLnByb3RvdHlwZS5nZXRTdHlsZT1mdW5jdGlvbigpe3JldHVybiBfLm5pKHRoaXMsMiwwKX07Xy56aGIucHJvdG90eXBlLnNldFN0eWxlPWZ1bmN0aW9uKGEpe3JldHVybiBfLmNqKHRoaXMsMixhKX07Xy56aGIucHJvdG90eXBlLmpyPWZ1bmN0aW9uKCl7cmV0dXJuIF8udGoodGhpcywyKX07dmFyIEFoYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKEFoYixfLnEpO0FoYi5wcm90b3R5cGUuZ2V0TmFtZT1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywxKX07QWhiLnByb3RvdHlwZS5kZz1mdW5jdGlvbihhKXtyZXR1cm4gXy5EZSh0aGlzLDEsYSl9O0FoYi5wcm90b3R5cGUuaGg9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZSh0aGlzLDEpfTtBaGIucHJvdG90eXBlLnFiPVwiQ0FmMVVkXCI7Xy5jdD1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uY3QsXy5xKTtfLmN0LnByb3RvdHlwZS5Iaj1mdW5jdGlvbigpe3JldHVybiBfLmlpKHRoaXMsMil9O18uY3QucHJvdG90eXBlLmExPWZ1bmN0aW9uKCl7cmV0dXJuIF8udih0aGlzLF8uemhiLDMpfTtfLmN0LnByb3RvdHlwZS54aT1mdW5jdGlvbigpe3JldHVybiBfLnYodGhpcyxBaGIsNDUpfTtfLmN0LnByb3RvdHlwZS5Oaz1mdW5jdGlvbigpe3JldHVybiBfLlhjKHRoaXMsQWhiLDQ1KX07Xy5jdC5vYj1bMzEsMTUsMTgsMTldO18uY3QucHJvdG90eXBlLnFiPVwiYVFpYzliXCI7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueWViPWZ1bmN0aW9uKGEsYil7Yj1NYXRoLnBvdygxMCxiKTtyZXR1cm4gTWF0aC5yb3VuZChhKmIpL2J9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLnplYj1bMCxfLkdqXTtfLkNyPVswLF8uR2osLTIsXy56ZWJdO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLkFlYj1bMCxbMCxfLnBrLF8ud2tdLF8uQnIsXy5YaiwtMSxfLkNyLF8uZ2tdO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLkRyPVstMTMse30sWzAsXy5nayxfLnhlYl0sWzAsXy5rayxfLkFlYixbMCxfLmdrLF8uQnJdXSxfLkJyLF8uSCxfLkcsWzAsXy5Ccl0sXy5JLF8uRywxLFswLF8uSCwtMSwxLF8ua2ssWzAsXy5ILC0xXV0sXy5ILF8uRGpdO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLnRoYj17fTtfLnVoYj1bLTQsXy50aGIsXy5ILF8uQnIsXy5Ecl07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uZmZiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5mZmIsXy5xKTtfLmZmYi5wcm90b3R5cGUuZ2V0VmFsdWU9ZnVuY3Rpb24oKXtyZXR1cm4gXy5taSh0aGlzLDEpfTtfLmZmYi5wcm90b3R5cGUuc2V0VmFsdWU9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uWmkodGhpcywxLGEpfTtfLmZmYi5wcm90b3R5cGUuY2xlYXJWYWx1ZT1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsMSl9O18uJHI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLiRyLF8ucSk7Xy5tPV8uJHIucHJvdG90eXBlO18ubS5NcGE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5taSh0aGlzLDEpfTtfLm0uTHBhPWZ1bmN0aW9uKCl7cmV0dXJuIF8ubWkodGhpcywyKX07Xy5tLkpzYT1mdW5jdGlvbigpe3JldHVybiBfLm1pKHRoaXMsMyl9O18ubS5DRGE9ZnVuY3Rpb24oKXtyZXR1cm4gXy52KHRoaXMsXy5mZmIsNCl9O18ubS5jbGVhckFscGhhPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcyw0KX07XG5fLm0uRG1kPWZ1bmN0aW9uKCl7cmV0dXJuIF8uR2godGhpcyxfLmZmYiw0KX07Xy5nZmI9WyEwLF8uVGosXy5IXTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIGhmYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKGhmYixfLnEpO18uaWZiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5pZmIsXy5xKTtfLm09Xy5pZmIucHJvdG90eXBlO18ubS5nZXREYXRhPWZ1bmN0aW9uKCl7cmV0dXJuIF8udih0aGlzLGhmYiwxKX07Xy5tLnNldERhdGE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uTWIodGhpcyxoZmIsMSxhKX07Xy5tLmdldFVybD1mdW5jdGlvbigpe3JldHVybiBfLnYodGhpcyxfLlpyLDIpfTtfLm0uSGM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5HaCh0aGlzLF8uWnIsMil9O18ubS5JYz1mdW5jdGlvbigpe3JldHVybiBfLmlpKHRoaXMsMyl9O18ubS5EZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5QaSh0aGlzLDMsYSl9O18ubS54Yz1mdW5jdGlvbigpe3JldHVybiBfLmlpKHRoaXMsNCl9O18ubS54ZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5QaSh0aGlzLDQsYSl9O1xuXy5tLlFpPWZ1bmN0aW9uKCl7cmV0dXJuIF8udih0aGlzLF8uJHIsNSl9O18ubS5oOT1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcyw2KX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBqZmI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChqZmIsXy5xKTtqZmIucHJvdG90eXBlLmg5PWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDEpfTtqZmIucHJvdG90eXBlLlpnPWZ1bmN0aW9uKCl7cmV0dXJuIF8udih0aGlzLF8uR3IsMil9O3ZhciBrZmI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChrZmIsXy5xKTtrZmIucHJvdG90eXBlLm9hPWZ1bmN0aW9uKCl7cmV0dXJuIF8uUmUodGhpcyxfLmlmYiwxLF8uU2UoKSl9O2tmYi5vYj1bMV07Xy5hcz1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhLDEzKX07Xy5EKF8uYXMsXy5xKTtfLmFzLnByb3RvdHlwZS5nZXRJZD1mdW5jdGlvbigpe3JldHVybiBfLnYodGhpcyxqZmIsMSl9O18uYXMucHJvdG90eXBlLm9hPWZ1bmN0aW9uKCl7cmV0dXJuIF8udih0aGlzLGtmYiwyKX07Xy5hcy5wcm90b3R5cGUuRnQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMTEpfTtcbl8uYXMucHJvdG90eXBlLmhDPWZ1bmN0aW9uKCl7cmV0dXJuIF8ubWkodGhpcywxMil9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLnloYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhLDQpfTtfLkQoXy55aGIsXy5xKTtfLnloYi5wcm90b3R5cGUuZ2V0VXJsPWZ1bmN0aW9uKCl7cmV0dXJuIF8udih0aGlzLF8uWnIsMil9O18ueWhiLnByb3RvdHlwZS5IYz1mdW5jdGlvbigpe3JldHVybiBfLkdoKHRoaXMsXy5aciwyKX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ucmhiPXt9O18uc2hiPVstNCxfLnJoYiwxLF8uSCxfLkRyXTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy52aGI9e307Xy53aGI9Wy0zLF8udmhiLF8uc2hiLFswLF8uQnJdXTtfLnhoYj1bMCwyLFswLF8uQnJdLDEsXy53aGIsXy51aGJdO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLmJ0PWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5idCxfLnEpO18uYnQub2I9WzFdO18uYnQucHJvdG90eXBlLnFiPVwicWRMQThcIjtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5aZmI9e307Xy4kZmI9Wy0xMixfLlpmYixbMCxfLkldLF8uQ3IsXy5JLC0xLFswLF8uVGosXy5JXSxbMCxfLkldLF8uRywtMiwxLF8uSF07Xy5hZ2I9WzAsXy5YaiwtMSxfLiRmYl07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uYmdiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5iZ2IsXy5xKTtfLmJnYi5wcm90b3R5cGUuZ2V0U2l6ZT1mdW5jdGlvbigpe3JldHVybiBfLmlpKHRoaXMsMSl9O18uYmdiLnByb3RvdHlwZS5zZXRTaXplPWZ1bmN0aW9uKGEpe3JldHVybiBfLk9pKHRoaXMsMSxhKX07Xy5iZ2IucHJvdG90eXBlLmZFPWZ1bmN0aW9uKCl7cmV0dXJuIF8ubWoodGhpcywxKX07Xy5jZ2I9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSwxMil9O18uRChfLmNnYixfLnEpO18ubT1fLmNnYi5wcm90b3R5cGU7Xy5tLmVrPWZ1bmN0aW9uKCl7cmV0dXJuIF8udih0aGlzLF8uJHIsMil9O18ubS5jbGVhckNvbG9yPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcywyKX07Xy5tLlVkYT1mdW5jdGlvbigpe3JldHVybiBfLnYodGhpcyxfLmJnYiw1KX07Xy5tLnBCPWZ1bmN0aW9uKCl7cmV0dXJuIF8uRSh0aGlzLDcsITEpfTtfLm0uUWk9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMTEsXCJcIil9O1xuXy5kZ2I9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLmRnYixfLnEpO18ubT1fLmRnYi5wcm90b3R5cGU7Xy5tLktEPWZ1bmN0aW9uKCl7cmV0dXJuIF8uaWkodGhpcywxKX07Xy5tLnFGPWZ1bmN0aW9uKCl7cmV0dXJuIF8uaWkodGhpcywyKX07Xy5tLmdldFN0eWxlPWZ1bmN0aW9uKCl7cmV0dXJuIF8udih0aGlzLF8uY2diLDMpfTtfLm0uc2V0U3R5bGU9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uTWIodGhpcyxfLmNnYiwzLGEpfTtfLm0uanI9ZnVuY3Rpb24oKXtyZXR1cm4gXy5HaCh0aGlzLF8uY2diLDMpfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5ucz1bMCxfLmdrLF8ua2ssXy5hZ2JdO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLm9zPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5vcyxfLnEpO18ub3MucHJvdG90eXBlLkNoPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDEpfTtfLnFzPWZ1bmN0aW9uKGEpe3JldHVybiBfLlJlKGEsXy5kZ2IsMixfLlNlKCkpfTtfLm9zLm9iPVsyXTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5ZZmI9WzAsWzgsOV0sXy5YaiwtNixfLm5rLF8uY3IsXy5uayxfLlhmYl07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uVWZiPVswLF8uSSxfLkcsXy5JLDIsWzAsXy5UaiwtMyxfLkksXy5UaixfLkksLTEsXy5Ual0sLTFdO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLm1zPVswLDE0LFswLFswLF8uSSxfLkhdLF8uR11dO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgVmZiPVstNTAwLFswLF8uamssWzAsMSxfLlRqLC0xXSwyLF8uVGpdLDQ5OCxfLm1zXTtfLldmYj1bMCxWZmIsXy5rayxbLTUwMCxfLlVmYixWZmIsNDk3LF8ubXNdXTtfLkNtWzk4NTEwMDY5XT1fLldmYjtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5UZWI9WzAsXy5iaywtMV07Xy5Tcj1bMCxfLkgsXy5rayxbMCxfLlRqLC0xLFswLFswLF8uSV0sXy5UZWIsXy5HLFswLF8uRGpdLF8uR10sXy5Fcl1dO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLlVyPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5VcixfLnEpO18uVXIucHJvdG90eXBlLkNoPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDEpfTtfLlVyLm9iPVsyXTtfLldlYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uV2ViLF8ucSk7Xy5YZWI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLlhlYixfLnEpO18uWGViLnByb3RvdHlwZS5VZGE9ZnVuY3Rpb24oKXtyZXR1cm4gXy52KHRoaXMsXy5XZWIsNCl9O18uVnI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLlZyLF8ucSk7Xy5Wci5wcm90b3R5cGUuQWE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5hZCh0aGlzLDEpfTtfLlZyLnByb3RvdHlwZS5DYT1mdW5jdGlvbigpe3JldHVybiBfLm9qKHRoaXMsMSl9O18uVnIucHJvdG90eXBlLm9hPWZ1bmN0aW9uKCl7cmV0dXJuIF8uYWQodGhpcywyKX07XG5fLlZyLnByb3RvdHlwZS5CYT1mdW5jdGlvbigpe3JldHVybiBfLm9qKHRoaXMsMil9O3ZhciBZZWI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChZZWIsXy5xKTtfLm09WWViLnByb3RvdHlwZTtfLm0uS0Q9ZnVuY3Rpb24oKXtyZXR1cm4gXy5paSh0aGlzLDEpfTtfLm0ucUY9ZnVuY3Rpb24oKXtyZXR1cm4gXy5paSh0aGlzLDIpfTtfLm0uZ2V0U3R5bGU9ZnVuY3Rpb24oKXtyZXR1cm4gXy52KHRoaXMsXy5YZWIsMyl9O18ubS5zZXRTdHlsZT1mdW5jdGlvbihhKXtyZXR1cm4gXy5NYih0aGlzLF8uWGViLDMsYSl9O18ubS5qcj1mdW5jdGlvbigpe3JldHVybiBfLkdoKHRoaXMsXy5YZWIsMyl9O18ubS5qaz1mdW5jdGlvbigpe3JldHVybiBfLnYodGhpcyxfLkxyLDQpfTtfLm0uS2Q9ZnVuY3Rpb24oKXtyZXR1cm4gXy5YYyh0aGlzLF8uTHIsNCl9O18uV3I9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5SZShhLFllYiwyLF8uU2UoYikpfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5VZWI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLlVlYixfLnEpO18uVWViLnByb3RvdHlwZS5nZXRBdHRyaWJ1dGVUeXBlPWZ1bmN0aW9uKCl7cmV0dXJuIF8ubmkodGhpcywxLDApfTtfLlVlYi5wcm90b3R5cGUucWI9XCJOZnA2RmVcIjtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5aZWI9WzAsXy5JLF8uRywtMV07Xy4kZWI9WzAsXy5ILF8uVGosXy5Gcl07dmFyIGFmYj1bMCxfLkgsLTEsXy5UaixfLkgsXy5JLF8ua2ssZnVuY3Rpb24oKXtyZXR1cm4gYWZifSxfLkRqXTtfLmJmYj1bMCxbMCxfLkRqLF8uVGpdLFswLF8uRGosLTEsXy5UaixfLkcsLTFdLF8ua2ssYWZiLF8uRyxfLkFqXTtfLmNmYj1bMCxfLkldO18uZGZiPVswLF8uSCxfLmtrLF8uWmViLC0xLF8ua2ssWzAsXy5ILFswLF8uSCwtMl0sXy5ILC0xLF8uVGosXy5ILF8ua2ssWzAsXy5IXV1dO18uZWZiPVswLF8uSV07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ud2ViPVswLDIsXy51ZWIsXy5EaixfLmtrLF8ub2ViLF8ua2ssXy5sZWIsMSxfLmJlYixfLmhlYixfLkcsMixfLkFyLF8uaWViLF8uWHAsXy5wZWIsXy5tZWIsXy5mZWIsXy5uZWIsXy51ayxfLkgsXy5HLF8uWmosXy5rayxbMCxfLkksXy5UaiwtMV0sMSxfLkgsWzAsXy5laywtMV0sXy5kZWIsXy5ILF8ua2ssWy00LHt9LF8uSCxfLkksXy5IXSxfLkgsLTEsXy5EaixfLm9rLFswLF8uY2ViLF8uamViLF8ua2ViLF8uVGosXy5Eal0sXy5lZWJdO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLmVnYj1bMiwzXTtfLmZnYj1bMjEsMjNdO18uZ2diPVswLF8uZmdiLDEsXy5ILF8ua2ssWzAsXy5lZ2IsMSxfLm5rLF8ud2ViLF8ubmssWzAsXy5JLF8uSCxfLkFyLF8uSF1dLF8uSCxfLllyLDQsXy5JLDIsXy5ILF8uVGosLTEsMixfLkgsLTEsXy5EaixfLm5rLFswLF8uSSxbMCxfLiRsLC0xLF8uRywtMV0sXy5layxfLkgsXy5XZmIsXy5ZZmIsXy5ILC0xLF8uVGosXy5ILF8uRyxfLkgsLTIsXy5jZmIsXy5ILC0xLF8ua2ssXy5iZmIsXy5ucyxfLkcsXy5ILF8uRywtMSxbMCxfLmtrLFswLF8uSCwtMl1dLF8uRyxfLiRlYixfLkgsWzAsXy53aywtMSxfLmdrLC0xLF8uY2ssXy5na10sWzAsXy5ILFswLF8uSCxfLkksWzAsXy5HLF8uWXIsMSxfLkgsXy5rayxbMCxfLllyLF8uSV1dXV1dLF8ua2ssXy5lZmIsXy5uayxfLmRmYixfLllyLC0xXTtfLmlnYj1bMCxfLkksXy5rayxfLmdnYiwxLFswLF8uVGosXy5HLC0xXV07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBsZmI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9LHFmYjtfLkQobGZiLF8ucSk7bGZiLnByb3RvdHlwZS5nZXRUeXBlPWZ1bmN0aW9uKCl7cmV0dXJuIF8ubmkodGhpcywyLDApfTtsZmIucHJvdG90eXBlLkVjPWZ1bmN0aW9uKGEpe3JldHVybiBfLmNqKHRoaXMsMixhKX07bGZiLnByb3RvdHlwZS5ZZD1mdW5jdGlvbigpe3JldHVybiBfLkdpKHRoaXMsMil9O3ZhciBtZmI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChtZmIsXy5xKTttZmIucHJvdG90eXBlLmdldFVybD1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywxKX07bWZiLnByb3RvdHlwZS5IYz1mdW5jdGlvbigpe3JldHVybiBfLlZlKHRoaXMsMSl9O18ubmZiPVszLDQsNV07Xy5icz1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uYnMsXy5xKTtfLmJzLnByb3RvdHlwZS5Wdj1mdW5jdGlvbigpe3JldHVybiBfLm5pKHRoaXMsMSwwKX07XG5fLmJzLnByb3RvdHlwZS5aYj1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywyKX07Xy5icy5wcm90b3R5cGUuRmM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcywyLGEpfTtfLmJzLnByb3RvdHlwZS5ZZj1mdW5jdGlvbigpe3JldHVybiBfLlZlKHRoaXMsMil9O18ub2ZiPWZ1bmN0aW9uKGEpe3JldHVybiBfLklmKGEsbWZiLDQsXy5uZmIpfTtfLmJzLnByb3RvdHlwZS5Ocz1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcyw2KX07Xy5icy5wcm90b3R5cGUuZ2V0SWNvbj1mdW5jdGlvbigpe3JldHVybiBfLnYodGhpcyxsZmIsNyl9O18uYnMucHJvdG90eXBlLnNldEljb249ZnVuY3Rpb24oYSl7cmV0dXJuIF8uTWIodGhpcyxsZmIsNyxhKX07Xy5icy5wcm90b3R5cGUuaGFzSWNvbj1mdW5jdGlvbigpe3JldHVybiBfLkdoKHRoaXMsbGZiLDcpfTtfLnBmYj1bNCw1XTtxZmI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChxZmIsXy5xKTtfLm09cWZiLnByb3RvdHlwZTtcbl8ubS5aYj1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywxKX07Xy5tLkZjPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRlKHRoaXMsMSxhKX07Xy5tLllmPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmUodGhpcywxKX07Xy5tLmE1PWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDIpfTtfLm0uczk9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMyl9O3ZhciByZmI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChyZmIsXy5xKTtfLm09cmZiLnByb3RvdHlwZTtfLm0uZ2V0TmFtZT1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywxKX07Xy5tLmRnPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRlKHRoaXMsMSxhKX07Xy5tLmhoPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmUodGhpcywxKX07Xy5tLmdldERlc2NyaXB0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIF8udih0aGlzLHFmYiwyKX07Xy5tLnVlPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDMpfTtcbl8ubS5nZXRJbWFnZVVybD1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcyw0KX07Xy5tLkpxPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmUodGhpcyw0KX07Xy5tLkRvPWZ1bmN0aW9uKCl7cmV0dXJuIF8uRWkodGhpcyw0KX07cmZiLm9iPVs3XTtfLnNmYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uc2ZiLF8ucSk7Xy5zZmIucHJvdG90eXBlLm9hPWZ1bmN0aW9uKCl7cmV0dXJuIF8uUmUodGhpcyxyZmIsNCxfLlNlKCkpfTtfLnNmYi5wcm90b3R5cGUuc2V0QXR0cmlidXRlPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uTGgodGhpcywyLF8uVWViLGEsYil9O18uc2ZiLm9iPVs0LDIsM107XG52YXIgdGZiPVswLF8ubmZiLF8uSSxfLkgsXy5uayxbMCxfLkgsXy5Fcl0sXy5uayxbMCxfLkhdLF8ubmssWzAsXy5IXSxfLkgsWzAsWzAsXy5ILC0xXSxfLkldXSx1ZmI9WzAsXy5PaiwtMSwxLFswLF8uSCwtMV1dLHZmYj1bMCxfLnBmYixfLkksXy5ILFswLF8uSCwtMl0sXy5uayx1ZmIsXy5uayxbMCx1ZmIsXy5Ual0sXy5UaixfLkgsLTEsXy5HLF8uSCxbMCxfLkpqLC0xXSwxLF8uSCx0ZmIsWzAsXy5ILC0xLF8uRyxfLmtrLFswLF8uSCwtMV0sXy5ILC0yXSxfLmNmYixfLkksXy5rayxfLmJmYixfLlRqLF8uU3IsLTEsXy5HLF8uSCwtMSxfLmtrLF8uU2ViLF8uRyxfLiRlYixfLlNyLF8uSF07Xy53ZmI9WzAsXy5Ual07dmFyIHhmYj1bMCxfLlRqLF8uRywtMSxfLndmYl07dmFyIHlmYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKHlmYixfLnEpO3lmYi5wcm90b3R5cGUuWWM9ZnVuY3Rpb24oKXtyZXR1cm4gXy52KHRoaXMsXy5hcywxKX07eWZiLnByb3RvdHlwZS5Paz1mdW5jdGlvbigpe3JldHVybiBfLkdoKHRoaXMsXy5hcywxKX07eWZiLnByb3RvdHlwZS5jbGVhclZpZGVvPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcywyKX07dmFyIHpmYj1bMCxfLkRyLFswLF8uQnIsXy5EcixfLmNyLF8uY2ssXy5naywtMV1dO3ZhciBBZmI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChBZmIsXy5xKTtfLm09QWZiLnByb3RvdHlwZTtfLm0uS3BhPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDEpfTtfLm0uaFA9ZnVuY3Rpb24oKXtyZXR1cm4gXy5SZSh0aGlzLHlmYiw1LF8uU2UoKSl9O18ubS5DZT1mdW5jdGlvbigpe3JldHVybiBfLnYodGhpcyxfLlhyLDYpfTtfLm0uSmk9ZnVuY3Rpb24oKXtyZXR1cm4gXy5HaCh0aGlzLF8uWHIsNil9O18ubS5nZXROYW1lPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDkpfTtfLm0uZGc9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcyw5LGEpfTtfLm0uaGg9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZSh0aGlzLDkpfTtfLm0uZ2V0RGVzY3JpcHRpb249ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMTMpfTtfLm0ubTJhPWZ1bmN0aW9uKCl7cmV0dXJuIF8udih0aGlzLF8uVHIsMTApfTtBZmIub2I9WzUsMTRdO18uQmZiPVsxMiwxNV07XG5BZmIucHJvdG90eXBlLnFiPVwiUWRDYUdiXCI7dmFyIENmYj1bMCxfLkJmYixfLkgsXy5UaiwtMixfLmtrLHpmYixfLllyLF8uVGosLTEsXy5ILF8uRnIsdGZiLF8ubmssdmZiLF8uSCxfLmtrLF8uZWZiLF8ubmssXy5kZmIsXy5ZciwtMV07Xy5jcz1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uY3MsXy5xKTtfLmNzLnByb3RvdHlwZS5nZXRUeXBlPWZ1bmN0aW9uKCl7cmV0dXJuIF8ubmkodGhpcywxLDApfTtfLmNzLnByb3RvdHlwZS5FYz1mdW5jdGlvbihhKXtyZXR1cm4gXy5jaih0aGlzLDEsYSl9O18uY3MucHJvdG90eXBlLllkPWZ1bmN0aW9uKCl7cmV0dXJuIF8uR2kodGhpcywxKX07Xy5jcy5wcm90b3R5cGUuZGVhPWZ1bmN0aW9uKCl7cmV0dXJuIF8uUmUodGhpcyxBZmIsMixfLlNlKCkpfTtfLmNzLm9iPVsyXTtfLmNzLnByb3RvdHlwZS5xYj1cInc4QVhoXCI7Xy5EZmI9WzAsXy5JLF8ua2ssQ2ZiLHhmYl07Xy5Db1s2NThdPV8ud2ZiO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLmpnYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uamdiLF8ucSk7Xy5rZ2I9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLmtnYixfLnEpO18ua2diLnByb3RvdHlwZS5sdGE9ZnVuY3Rpb24oKXtyZXR1cm4gXy52KHRoaXMsXy5jcywyKX07Xy5rZ2IucHJvdG90eXBlLnFiPVwiUE1nN3BjXCI7Xy5DbVsxMzc2ODU3NjddPVswLF8uZ2diLDMsXy5JLF8uaWdiXTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIENoYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhLDMpfTtfLkQoQ2hiLF8ucSk7dmFyIERoYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKERoYixfLnEpO0RoYi5wcm90b3R5cGUuZ2V0VXJsPWZ1bmN0aW9uKCl7cmV0dXJuIF8udih0aGlzLF8uWnIsMSl9O0RoYi5wcm90b3R5cGUuSGM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5HaCh0aGlzLF8uWnIsMSl9O18uRWhiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5FaGIsXy5xKTtfLm09Xy5FaGIucHJvdG90eXBlO18ubS5nQz1mdW5jdGlvbigpe3JldHVybiBfLnYodGhpcyxDaGIsNSl9O18ubS5xST1mdW5jdGlvbigpe3JldHVybiBfLkdoKHRoaXMsQ2hiLDUpfTtfLm0ueGk9ZnVuY3Rpb24oKXtyZXR1cm4gXy52KHRoaXMsXy55aGIsNil9O18ubS5Oaz1mdW5jdGlvbigpe3JldHVybiBfLlhjKHRoaXMsXy55aGIsNil9O18ubS51NWI9ZnVuY3Rpb24oKXtyZXR1cm4gXy52KHRoaXMsRGhiLDMpfTtfLkZoYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8uRmhiLF8ucSk7Xy5GaGIucHJvdG90eXBlLm1rYT1mdW5jdGlvbigpe3JldHVybiBfLklmKHRoaXMsXy5idCwzLF8uR2hiKX07Xy5GaGIucHJvdG90eXBlLno3Yj1mdW5jdGlvbigpe3JldHVybiBfLkloKHRoaXMsXy5idCwzLF8uR2hiKX07Xy5GaGIucHJvdG90eXBlLnU4YT1mdW5jdGlvbigpe3JldHVybiBfLklmKHRoaXMsXy5HZ2IsNCxfLkdoYil9O18uRmhiLnByb3RvdHlwZS5rdGE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5JZih0aGlzLF8ua2diLDcsXy5HaGIpfTtfLkdoYj1bMiwzLDQsNSw2LDcsMTAsMTEsMTNdO18uRmhiLnByb3RvdHlwZS5xYj1cInJHOVdhYlwiO18uSGhiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5IaGIsXy5xKTtfLkhoYi5wcm90b3R5cGUuY0U9ZnVuY3Rpb24oKXtyZXR1cm4gXy52KHRoaXMsXy5GaGIsMil9O18uSGhiLnByb3RvdHlwZS5xYj1cIlFkS0JRZFwiO25ldyBfLnhnKF8uSGhiKTtfLnJvLlFkS0JRZD1fLnFvO18uWnAoXy5IaGIsXy5GaGIsZnVuY3Rpb24oYSl7YT1hLmNFKCk7cmV0dXJuIGEhPW51bGw/W2FdOltdfSk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbm5ldyBfLnhnKF8uYXQpO18ucm8uQllQOE1jPV8ucW87Xy5acChfLmF0LF8uWnMsZnVuY3Rpb24oYSl7YT1hLmdldFF1ZXJ5KCk7cmV0dXJuIGEhPW51bGw/W2FdOltdfSk7bmV3IF8ueGcoXy5IaGIpO18ucm8uUWRLQlFkPV8ucW87Xy5acChfLkhoYixfLkZoYixmdW5jdGlvbihhKXthPWEuY0UoKTtyZXR1cm4gYSE9bnVsbD9bYV06W119KTtfLmV0PW5ldyBfLlFmKFwiZEQwTUZkXCIsXy5IaGIsXy5hdCxbe2tleTpfLlRwLHZhbHVlOiEwfSx7a2V5Ol8uVXAsdmFsdWU6XCIvUHJpdmF0ZUxvY2FsU2VhcmNoVWlEYXRhU2VydmljZS5HZXRMb2NhbEJvcVByb3h5XCJ9XSk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uU2FiPWZ1bmN0aW9uKGEpe2lmKCEoYSBpbnN0YW5jZW9mIF8uelBhKSlyZXR1cm57fTt2YXIgYj17fTtfLlliKGEuc2lkZUNoYW5uZWwsZnVuY3Rpb24oYyxkKXtfLmRjKGIsXCJ4LWdvb2ctZXh0LVwiK18uSHlhKGQpK1wiLWpzcGJcIiwoMCxfLm5oKShjLldjKCkpKX0pO3JldHVybiBifTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5SYWI9ZnVuY3Rpb24oYSxiLGMpe2MuZ2V0VHlwZShiKX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uT2FiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5PYWIsXy5xKTtfLk9hYi5wcm90b3R5cGUudW09ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMSl9O18uUGFiPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uRGUoYSwyLGIpfTtfLlFhYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhLDAsXy5RYWIubWVzc2FnZUlkKX07Xy5EKF8uUWFiLF8ucSk7Xy5RYWIucHJvdG90eXBlLnVtPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDEpfTtfLlFhYi5wcm90b3R5cGUuZ2V0RXJyb3I9ZnVuY3Rpb24oKXtyZXR1cm4gXy52KHRoaXMsXy5XZiw1KX07Xy5RYWIucHJvdG90eXBlLnhyPWZ1bmN0aW9uKGEpe3JldHVybiBfLk1iKHRoaXMsXy5XZiw1LGEpfTtfLlFhYi5wcm90b3R5cGUuSno9ZnVuY3Rpb24oKXtyZXR1cm4gXy5HaCh0aGlzLF8uV2YsNSl9O18uUWFiLm9iPVs3XTtfLlFhYi5wcm90b3R5cGUucWI9XCJyVENaZmZcIjtfLlFhYi5tZXNzYWdlSWQ9XCJ3cmIuZnJcIjtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwiTWxobXlcIik7XG52YXIgcmJiPWZ1bmN0aW9uKGEpe18uRG4uY2FsbCh0aGlzLGEuTmEpO3RoaXMuQWE9YS5zZXJ2aWNlLndpbmRvd307Xy5EKHJiYixfLkRuKTtyYmIuV2E9Xy5Ebi5XYTtyYmIuSWE9ZnVuY3Rpb24oKXtyZXR1cm57c2VydmljZTp7d2luZG93Ol8uRW59fX07cmJiLnByb3RvdHlwZS5vYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkFhLmdldCgpLmxvY2F0aW9uLnBhdGhuYW1lfTtfLkZuKF8uT0phLHJiYik7XG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwiUUdSMGdkXCIpO1xuXy5OYWI9bmV3IF8uSWQoXy5QSmEpO1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcImF1ckZpY1wiKTtcbl8uT2JiPWZ1bmN0aW9uKGEpe18uRG4uY2FsbCh0aGlzLGEuTmEpfTtfLkQoXy5PYmIsXy5Ebik7Xy5PYmIuV2E9Xy5Ebi5XYTtfLk9iYi5JYT1mdW5jdGlvbigpe3JldHVybnt9fTtfLk9iYi5wcm90b3R5cGUuQWE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uVyRhKGEpfTtfLkZuKF8uUlBhLF8uT2JiKTtcbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLkNtWzIwMzUyMjUyMV09WzBdO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJmS1VWM2VcIik7XG5fLk1iYj1mdW5jdGlvbihhKXtfLkRuLmNhbGwodGhpcyxhLk5hKTt0aGlzLm9hPV8uaDhhLmdldEluc3RhbmNlKCl9O18uRChfLk1iYixfLkRuKTtfLk1iYi5XYT1fLkRuLldhO18uTWJiLklhPWZ1bmN0aW9uKCl7cmV0dXJue319O18uTWJiLnByb3RvdHlwZS5BYT1mdW5jdGlvbihhLGIpe2lmKCFpc05hTihhLnVtKCkudG9TdHJpbmcoKSkpcmV0dXJuIF8uVyRhKGEpO3ZhciBjPWIudGhlbihmdW5jdGlvbihkKXtyZXR1cm4gZC5vYX0pO2MuenIoZnVuY3Rpb24oKXt9KTtfLmo4YSh0aGlzLm9hLGEsYyk7TmJiKHRoaXMsYSxiKTtyZXR1cm4gXy5XJGEoYSl9O3ZhciBOYmI9ZnVuY3Rpb24oYSxiLGMpe2MudGhlbihmdW5jdGlvbihkKXtfLms4YShhLm9hLGIsZC5vYSl9LGZ1bmN0aW9uKCl7fSl9O18uRm4oXy5RUGEsXy5NYmIpO1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcIk9UQTNBZVwiKTtcbl8uZXI9ZnVuY3Rpb24oYSl7Xy5Ebi5jYWxsKHRoaXMsYS5OYSk7dGhpcy5vYT1fLnBoKF8uUmMoXCJNVDdmOWJcIikuYXJyYXkoW10pLGZ1bmN0aW9uKGIpe3JldHVybiBiLnN0cmluZygpfSl9O18uRChfLmVyLF8uRG4pO18uZXIuV2E9Xy5Ebi5XYTtfLmVyLklhPWZ1bmN0aW9uKCl7cmV0dXJue319O18uZXIucHJvdG90eXBlLmdldFR5cGU9ZnVuY3Rpb24oYSl7dmFyIGI9MDtfLkhhKGEuZ2V0RGVmYXVsdE9wdGlvbnMoKSxmdW5jdGlvbihjKXtfLlRwPT09Yy5rZXkmJihiPWMudmFsdWU/MToyKX0sdGhpcyk7aWYoYiE9MClyZXR1cm4gYjthPXBhcnNlSW50KGEsMTApO2lmKGEhPT12b2lkIDApaWYoXy5ld2FbYV0hPT12b2lkIDB8fF8uZndhW2FdIT09dm9pZCAwKWI9MTtlbHNlIGlmKF8uZ3dhW2FdIT09dm9pZCAwfHxfLmh3YVthXSE9PXZvaWQgMCliPTI7cmV0dXJuIGJ9O1xuXy5KYWI9ZnVuY3Rpb24oYSxiKXt2YXIgYz0hMTtfLkhhKGIuZ2V0RGVmYXVsdE9wdGlvbnMoKSxmdW5jdGlvbihkKXtfLlRwPT09ZC5rZXkmJihjPSEwKX0sYSk7cmV0dXJuIGN9O18uZXIucHJvdG90eXBlLkFhPWZ1bmN0aW9uKGEpe3JldHVybiBfLnZhKHRoaXMub2EsYS50b1N0cmluZygpKX07Xy5GbihfLmZvLF8uZXIpO1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uYmFiPW5ldyBfLlJwKFwicmV0dXJuRnJvemVuXCIpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJPbWdhSVwiKTtcbnZhciBIYmI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9LEliYixKYmI7Xy5EKEhiYixfLnEpO0liYj1fLk5iKDIwMzUyMjUyMSxIYmIpO0piYj1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgXy5TJGEoYSxiLDEpfTtfLktiYj1mdW5jdGlvbihhKXtfLkRuLmNhbGwodGhpcyxhLk5hKTt0aGlzLkJhPWEuc2VydmljZS5tZXRhZGF0YTt0aGlzLm9hPXRoaXMuT2c9bnVsbDtfLkVxYSYmXy5Dbih0aGlzLF8uam4oXy55Zih0aGlzLHtYYjp7Y2FjaGU6Xy5lUWF9fSksZnVuY3Rpb24oYil7dGhpcy5vYT1iLlhiLmNhY2hlfSxmdW5jdGlvbigpe30sdGhpcykpfTtfLkQoXy5LYmIsXy5Ebik7Xy5LYmIuV2E9Xy5Ebi5XYTtfLktiYi5JYT1mdW5jdGlvbigpe3JldHVybntzZXJ2aWNlOnttZXRhZGF0YTpfLmVyfX19O1xuXy5LYmIucHJvdG90eXBlLkFhPWZ1bmN0aW9uKGEsYil7aWYoIV8uRXFhfHwhdGhpcy5vYXx8IV8uSmFiKHRoaXMuQmEsYS51bSgpKXx8dGhpcy5CYS5nZXRUeXBlKGEudW0oKSkhPTEpcmV0dXJuIF8uVyRhKGEpO3ZhciBjPSEhXy5XcChhLF8uU3ApLGQ9Xy5XcChhLF8uYmFiKTtpZih0aGlzLm9hLmNvbnRhaW5zKGEpJiYhYylyZXR1cm4gSmJiKGEsdGhpcy5vYS5nZXQoYSkudGhlbihmdW5jdGlvbihmKXt2YXIgZz1uZXcgSGJiO2Y9YS51bSgpLldpKGQ/Zi5FcygpOmYuY2xvbmUoKSk7cmV0dXJuIG5ldyBfLkJQYShmLmZfLGYub2EsKGYuQWE9PW51bGw/bmV3IF8uQUJhOmYuQWEuY2xvbmUoKSkudGIoSWJiLGcpKX0pKTt2YXIgZT1fLnZkKCk7dGhpcy5vYS5wdXQoYSxlKTtiLnRoZW4oZnVuY3Rpb24oZil7Zj1mLm9hO2UucmVzb2x2ZShfLkxiYj9mLkVzKCk6Zi5jbG9uZSgpKX0sZnVuY3Rpb24oZil7ZS5yZWplY3QoZil9KTtyZXR1cm4gXy5XJGEoYSl9O18uTGJiPSExO1xuXy5GbihfLlBQYSxfLktiYik7XG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwiRUVET1JiXCIpO1xudmFyIFRiYj17dmFsdWU6MSxISWQ6ITB9LFViYj1mdW5jdGlvbihhKXtfLkRuLmNhbGwodGhpcyxhLk5hKTt0aGlzLkNhPWEuc2VydmljZS5CeGQ7dGhpcy5CYT1hLnNlcnZpY2UubXhkO3RoaXMuQWE9YS5zZXJ2aWNlLm5fY307Xy5EKFViYixfLkRuKTtVYmIuV2E9Xy5Ebi5XYTtVYmIuSWE9ZnVuY3Rpb24oKXtyZXR1cm57c2VydmljZTp7bl9jOl8uS2JiLG14ZDpfLk1iYixCeGQ6Xy5PYmJ9fX07VWJiLnByb3RvdHlwZS5vYT1mdW5jdGlvbigpe18uViRhKHRoaXMuQ2EsVGJiKTtfLlYkYSh0aGlzLkJhLFRiYik7Xy5WJGEodGhpcy5BYSxUYmIpfTtfLkZuKF8uU1BhLFViYik7XG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwiUG9FczliXCIpO1xudmFyIGhiYj1mdW5jdGlvbihhKXtfLkRuLmNhbGwodGhpcyxhLk5hKX07Xy5EKGhiYixfLkRuKTtoYmIuV2E9Xy5Ebi5XYTtoYmIuSWE9Xy5Ebi5JYTtoYmIucHJvdG90eXBlLm9hPWZ1bmN0aW9uKCl7fTtfLkZuKF8uTUphLGhiYik7XG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwiUGpwbHVkXCIpO1xuXy5NYWI9bmV3IF8uSWQoXy5OSmEpO1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uQmFiPV8uR2QoXCJibTUxdGZcIixbXy5SSmEsXy5jS2EsXy5hS2FdKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy51YWI9WzAsXy5ja107XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcIkNPUWJtZlwiKTtcbnZhciB2YWI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRCh2YWIsXy5xKTtfLm09dmFiLnByb3RvdHlwZTtfLm0uT3RiPWZ1bmN0aW9uKCl7cmV0dXJuIF8uYWQodGhpcywxKX07Xy5tLkJ0Yj1mdW5jdGlvbigpe3JldHVybiBfLnYodGhpcyxfLmRyLDIpfTtfLm0uUHRiPWZ1bmN0aW9uKCl7cmV0dXJuIF8udih0aGlzLF8uZHIsMyl9O18ubS5ZamI9ZnVuY3Rpb24oKXtyZXR1cm4gXy5taSh0aGlzLDQpfTtfLm0uQ3ViPWZ1bmN0aW9uKCl7cmV0dXJuIF8ud2kodGhpcyw1LF8uU2UoKSl9O3ZhYi5vYj1bNV07dmFyIHdhYj1mdW5jdGlvbihhKXtfLkRuLmNhbGwodGhpcyxhLk5hKTt0aGlzLm9hPV8uUnBhKF8uUmMoXCJZbHdjWmVcIiksdmFiLG51bGwpfTtfLkQod2FiLF8uRG4pO3dhYi5XYT1fLkRuLldhO3dhYi5JYT1fLkRuLklhO18uRm4oXy5RSmEsd2FiKTtcbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJ1WTQ5ZmJcIik7XG5fLnhhYj1uZXcgXy5JZChfLlJKYSk7XG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIEU1YT1mdW5jdGlvbigpe18uQ2suY2FsbCh0aGlzKTt0aGlzLkFhPTA7dGhpcy5vYT1udWxsfTtfLkQoRTVhLF8uQ2spO0U1YS5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbigpe3RoaXMub2E9W119O18uSXE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1GNWE7aWYoYiBpbnN0YW5jZW9mIE9iamVjdCYmIU9iamVjdC5pc0Zyb3plbihiKSl7dmFyIGQ9KGQ9Yi5maWxlTmFtZXx8Yi5maWxlbmFtZXx8Yi5zb3VyY2VVUkx8fF8uYmEuJGdvb2dEZWJ1Z0ZuYW1lfHxsb2NhdGlvbi5ocmVmKSYmKHR5cGVvZiBkPT09XCJvYmplY3RcIj9kLmhyZWY6ZCk7dHJ5e2IuZmlsZU5hbWU9ZH1jYXRjaChlKXt9fWlmKGMuQWE+PTMpdGhyb3cgRXJyb3IoXCJIZGBcIithKTtjLkFhKys7dHJ5e2MuaXNEaXNwb3NlZCgpfHxiIGluc3RhbmNlb2YgXy5FRGF8fGIgaW5zdGFuY2VvZiBfLmtkfHxjLm9hJiZjLm9hLmxlbmd0aDwxMCYmYy5vYS5wdXNoKG5ldyBHNWEoYSxiKSl9ZmluYWxseXtjLkFhLS19fTtcbkU1YS5wcm90b3R5cGUuT2c9bnVsbDt2YXIgRjVhPW5ldyBFNWEsRzVhPWZ1bmN0aW9uKGEsYil7dGhpcy5tc2c9YTt0aGlzLmU9Yjt0aGlzLnNldmVyaXR5PVwidW5rbm93blwifTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5INWE9ZnVuY3Rpb24oYSl7dmFyIGI9YS51bSgpLkVRYSgpO2lmKGI9PW51bGx8fGI8MClyZXR1cm4gbnVsbDt2YXIgYz1fLmZ3YVtiXTtpZihjKXt2YXIgZD1PYmplY3QudmFsdWVzKGMpWzBdLGU9Xy5XcChhLF8uU3ApO2M9Xy5XcChhLF8ublBhKTt2YXIgZj1fLldwKGEsXy5wUGEpLGc9Xy5XcChhLF8ucVBhKSxoPV8uV3AoYSxfLm9QYSk7Yj1fLmV3YVtiXTthPXtPUTpkLEw2OmI/T2JqZWN0LnZhbHVlcyhiKVswXTp2b2lkIDAscmVxdWVzdDphLm9hKCkseHNhOiEhZX07ZiYmKGEuVVdiPWYpO2cmJihhLlZXYj1nKTtjJiYoYS5mTT1jKTtoJiYoYS5JJGE9aCk7cmV0dXJuIGF9cmV0dXJuKGM9Xy5nd2FbYl0pPyhjPU9iamVjdC52YWx1ZXMoYylbMF0sYj1fLmh3YVtiXSx7T1E6Yj9PYmplY3QudmFsdWVzKGIpWzBdOnZvaWQgMCxVdmE6YyxUQmI6YS5vYSgpfSk6bnVsbH07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uRDVhPWZ1bmN0aW9uKCl7fTtfLm1oKF8uRDVhLF8uQ2spO18uRDVhLnByb3RvdHlwZS5vYT1mdW5jdGlvbigpe307Xy5ENWEucHJvdG90eXBlLkJhPWZ1bmN0aW9uKCl7fTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIHc1YTt3NWE9ZnVuY3Rpb24oYSxiLGMpe3R5cGVvZiBiPT09XCJmdW5jdGlvblwiP18ucXdhKGMpfHxiLmNhbGwoYyk6YiYmdHlwZW9mIGIuaGFuZGxlRXZlbnQ9PVwiZnVuY3Rpb25cIiYmKF8ucXdhKGIpfHxiLmhhbmRsZUV2ZW50LmNhbGwoYikpfTtfLng1YT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT10eXBlb2YgYj09PVwiZnVuY3Rpb25cIjsoZXx8IV8ucXdhKGIpKSYmZSYmXy5xd2EoZCk7aWYoIShlfHxiJiZ0eXBlb2YgYi5oYW5kbGVFdmVudD09XCJmdW5jdGlvblwiKSl0aHJvdyBFcnJvcihcIkRhXCIpO2E9KDAsXy5oaCkodzVhLG51bGwsYSxiLGQpO3JldHVybiBfLmJhLnNldFRpbWVvdXQoYSxjfHwwKX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcImJ5ZlRPYlwiKTtcbnZhciB5NWE9ZnVuY3Rpb24oYSxiKXt0aGlzLlNyPWE7dGhpcy5BYT1iO2lmKCFjKXt2YXIgYz1uZXcgXy5NbShcIi8vd3d3Lmdvb2dsZS5jb20vaW1hZ2VzL2NsZWFyZG90LmdpZlwiKTtfLnhDYShjKX10aGlzLkJhPWN9O18ubT15NWEucHJvdG90eXBlO18ubS5PZz1udWxsO18ubS5EVGI9MUU0O18ubS5HQWE9ITE7Xy5tLlJrYj0wO18ubS5LMmE9bnVsbDtfLm0uQkRiPW51bGw7Xy5tLnNldFRpbWVvdXQ9ZnVuY3Rpb24oYSl7dGhpcy5EVGI9YX07Xy5tLnN0YXJ0PWZ1bmN0aW9uKCl7aWYodGhpcy5HQWEpdGhyb3cgRXJyb3IoXCJFZFwiKTt0aGlzLkdBYT0hMDt0aGlzLlJrYj0wO3o1YSh0aGlzKX07Xy5tLnN0b3A9ZnVuY3Rpb24oKXtBNWEodGhpcyk7dGhpcy5HQWE9ITF9O1xudmFyIHo1YT1mdW5jdGlvbihhKXthLlJrYisrO25hdmlnYXRvciE9PW51bGwmJlwib25MaW5lXCJpbiBuYXZpZ2F0b3ImJiFuYXZpZ2F0b3Iub25MaW5lP18uV2woKDAsXy5oaCkoYS5WMSxhLCExKSwwKTooYS5vYT1uZXcgSW1hZ2UsYS5vYS5vbmxvYWQ9KDAsXy5oaCkoYS5kQmQsYSksYS5vYS5vbmVycm9yPSgwLF8uaGgpKGEuY0JkLGEpLGEub2Eub25hYm9ydD0oMCxfLmhoKShhLmJCZCxhKSxhLksyYT1fLldsKGEuZUJkLGEuRFRiLGEpLGEub2Euc3JjPVN0cmluZyhhLkJhKSl9O18ubT15NWEucHJvdG90eXBlO18ubS5kQmQ9ZnVuY3Rpb24oKXt0aGlzLlYxKCEwKX07Xy5tLmNCZD1mdW5jdGlvbigpe3RoaXMuVjEoITEpfTtfLm0uYkJkPWZ1bmN0aW9uKCl7dGhpcy5WMSghMSl9O18ubS5lQmQ9ZnVuY3Rpb24oKXt0aGlzLlYxKCExKX07XG5fLm0uVjE9ZnVuY3Rpb24oYSl7QTVhKHRoaXMpO2E/KHRoaXMuR0FhPSExLHRoaXMuU3IuY2FsbCh0aGlzLkFhLCEwKSk6dGhpcy5Sa2I8PTA/ejVhKHRoaXMpOih0aGlzLkdBYT0hMSx0aGlzLlNyLmNhbGwodGhpcy5BYSwhMSkpfTt2YXIgQTVhPWZ1bmN0aW9uKGEpe2Eub2EmJihhLm9hLm9ubG9hZD1udWxsLGEub2Eub25lcnJvcj1udWxsLGEub2Eub25hYm9ydD1udWxsLGEub2E9bnVsbCk7YS5LMmEmJihfLlhsKGEuSzJhKSxhLksyYT1udWxsKTthLkJEYiYmKF8uWGwoYS5CRGIpLGEuQkRiPW51bGwpfSxCNWE9ZnVuY3Rpb24oKXtfLk5rLmNhbGwodGhpcyk7dGhpcy5vYT1uZXcgeTVhKHRoaXMuQ0JkLHRoaXMpO3RoaXMuQWE9NTFFMytNYXRoLnJvdW5kKDE4RTMqTWF0aC5yYW5kb20oKSl9O18uRChCNWEsXy5Oayk7Xy5tPUI1YS5wcm90b3R5cGU7XG5fLm0ucElkPWZ1bmN0aW9uKCl7dmFyIGE9RGF0ZS5ub3coKTtyZXR1cm4gYS10aGlzLmFBYj50aGlzLkFhPyh0aGlzLm9hLkdBYXx8KG5hdmlnYXRvciE9PW51bGwmJlwib25MaW5lXCJpbiBuYXZpZ2F0b3ImJiFuYXZpZ2F0b3Iub25MaW5lPyh0aGlzLmFBYj1hLXRoaXMuQWErMUUzLF8ueDVhKFwiRmRcIiwoMCxfLmhoKSh0aGlzLnBmYyx0aGlzLCExKSwwKSk6KGE9bmV3IF8uTW0oXCIvL3d3dy5nb29nbGUuY29tL2ltYWdlcy9jbGVhcmRvdC5naWZcIiksXy54Q2EoYSksdGhpcy5vYS5CYT1hLHRoaXMub2Euc3RhcnQoKSkpLCEwKTohMX07Xy5tLkNCZD1mdW5jdGlvbihhKXt0aGlzLmFBYj1EYXRlLm5vdygpO3RoaXMucGZjKGEpfTtfLm0ucGZjPWZ1bmN0aW9uKGEpe3RoaXMuWGRjPWE7dGhpcy5kaXNwYXRjaEV2ZW50KFwiZ1wiKX07Xy5tLk9nPW51bGw7Xy5tLmFBYj0wO18ubS5YZGM9ITA7dmFyIEM1YT1mdW5jdGlvbigpe3RoaXMub2E9bmV3IEI1YX07Xy5BZChfLllKYSxDNWEpO18ueWQoKS53YWEoZnVuY3Rpb24oYSl7dmFyIGI9bmV3IEM1YShhKTthLnJlZ2lzdGVyU2VydmljZShfLllKYSxiKX0pO1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcImxzalZtY1wiKTtcbnZhciBCOWE7QjlhPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwPyEwOmI7Xy5Day5jYWxsKHRoaXMpO3RoaXMuQWE9YTt0aGlzLm9hPW5ldyBBOWEodGhpcyk7YiYmdGhpcy5yaWMoKTtfLkhnKHRoaXMsdGhpcy5vYSl9O18uZzdhPWZ1bmN0aW9uKCl7Xy5hYS5jYWxsKHRoaXMpO3RoaXMubWVzc2FnZT1cIlhTUkYgdG9rZW4gcmVmcmVzaFwifTtfLkQoXy5nN2EsXy5hYSk7dmFyIEM5YT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKEM5YSxfLnEpO3ZhciBEOWE9WzAsXy5IXTt2YXIgRTlhPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEsMCxFOWEubWVzc2FnZUlkKX07Xy5EKEU5YSxfLnEpO0U5YS5wcm90b3R5cGUubHo9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcywxLGEpfTtFOWEubWVzc2FnZUlkPVwieHNyZlwiO3ZhciBGOWE9Xy5OYig0ODQ0ODM1MCxFOWEpO18uQ21bNDg0NDgzNTBdPVtcInhzcmZcIixfLkgsRDlhLF8uSF07Xy5taChCOWEsXy5Dayk7Xy5tPUI5YS5wcm90b3R5cGU7Xy5tLmFfYT1udWxsO18ubS54RGI9XCJhdFwiO18ubS5GVGI9bnVsbDtfLm0ucmljPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5BYS5nZXQoXy5nbyk7YS5DYS5pbmNsdWRlcyh0aGlzLm9hKTthLkJhKHRoaXMub2EpfTtfLm0uY29uZmlndXJlPWZ1bmN0aW9uKGEsYixjKXt0aGlzLmFfYT1hO3RoaXMuRlRiPWI7YyYmKHRoaXMueERiPWMpfTt2YXIgQTlhPWZ1bmN0aW9uKGEpe3RoaXMuQWE9YX07Xy5taChBOWEsXy5ENWEpO1xuQTlhLnByb3RvdHlwZS5vYT1mdW5jdGlvbihhKXt2YXIgYj10aGlzLkFhO2lmKGIueERiJiZiLmFfYSlpZihhLkJhPT1cIkRFTEVURVwiKWEubHooYi5hX2EpO2Vsc2V7dmFyIGM9Yi54RGI7Yj1iLmFfYTt2YXIgZD1hLkNhO2Q/KGE9ZC5lbGVtZW50c1tjXSxhfHwoYT1kLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImlucHV0XCIpLGEuc2V0QXR0cmlidXRlKFwibmFtZVwiLGMpLGEuc2V0QXR0cmlidXRlKFwiaGlkZGVuXCIsITApLGQuYXBwZW5kQ2hpbGQoYSkpLGEudmFsdWU9Yik6YS5CYnx8YS5PYShjLGIpfX07XG5BOWEucHJvdG90eXBlLkJhPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7YisrKXt2YXIgYz12b2lkIDAsZD0oYz1hW2JdLm9hKCkpPT1udWxsP3ZvaWQgMDpjLkZyKEY5YSk7aWYoYz1kKXtjPXRoaXMuQWE7dmFyIGU9ITEsZj12b2lkIDAsZz1jLkZUYjtfLnYoZCxDOWEsMikmJihmPV8uR2UoXy52KGQsQzlhLDIpLDEpKTtnJiZmPT09ZyYmKGMuYV9hPV8uR2UoZCwxKSxlPSEwKTtjPWV9aWYoYyl0aHJvdyBuZXcgXy5nN2E7fX07Xy5BZChfLlpKYSxCOWEpO18ueWQoKS53YWEoZnVuY3Rpb24oYSl7dmFyIGI9bmV3IEI5YShhLCExKTthLnJlZ2lzdGVyU2VydmljZShfLlpKYSxiKTtiLmNvbmZpZ3VyZShfLlJjKFwiU05sTTBlXCIpLnN0cmluZyhudWxsKSxfLlJjKFwiUzA2R3JiXCIpLnN0cmluZyhudWxsKSl9KTtcbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJMRWlrWmVcIik7XG52YXIgSjVhLEs1YSxMNWEsTTVhLFE1YSxSNWEsSnEsVDVhLFU1YSxWNWE7SjVhPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5UaT1hO3RoaXMub2E9YjsoYj09PXZvaWQgMHx8Yjw9MCkmJl8uSXEobnVsbCxFcnJvcihcIklkYFwiK2IrXCJgXCIrKGEmJmEuZ2V0UGF0aCgpKSkpO3RoaXMuQ2E9Yz09MTt0aGlzLkJhPWQ7dGhpcy5BYT1lfTtLNWE9ZnVuY3Rpb24oYSl7dmFyIGI7aWYoYS5sZW5ndGghPT0wJiZ0eXBlb2YoYj1hWzBdKT09PVwic3RyaW5nXCImJmIpcmV0dXJuIGJ9O0w1YT1mdW5jdGlvbihhLGIsYyxkKXtiIT09LTEmJihhKz1cIiAoSFRUUCBTdGF0dXM6IFwiK2IrXCIpXCIpO2MmJihhKz1cIiAoWEhSIEVycm9yIENvZGU6IFwiK2MrXCIpIChYSFIgRXJyb3IgTWVzc2FnZTogJ1wiK2QrXCInKVwiKTtyZXR1cm4gYX07XG5NNWE9ZnVuY3Rpb24oYSxiKXt0aGlzLldrPWI7dGhpcy5jb25zdHJ1Y3Rvci5aVmJ8fCh0aGlzLmNvbnN0cnVjdG9yLlpWYj17fSk7dGhpcy5jb25zdHJ1Y3Rvci5aVmJbdGhpcy50b1N0cmluZygpXT10aGlzfTtRNWE9ZnVuY3Rpb24oYSl7KHRoaXMuUWE9YSkmJl8uTjVhKHRoaXMsdGhpcy5RYS5Ua2IpO18uamgoKTt0aGlzLm9hPW5ldyBfLk1tO3RoaXMuQmE9XCJQT1NUXCI7dGhpcy5xYz1PNWErKztQNWF8fChhPW5ldyBEYXRlLFA1YT1hLmdldEhvdXJzKCkqMzYwMCthLmdldE1pbnV0ZXMoKSo2MCthLmdldFNlY29uZHMoKSk7dGhpcy5rYj0xK1A1YSt0aGlzLnFjKjFFNTt0aGlzLkxhPW5ldyBfLkpuO3RoaXMuT2I9LTF9O1I1YT1mdW5jdGlvbigpe18uYWEuY2FsbCh0aGlzKTt0aGlzLm1lc3NhZ2U9XCJSZXRyeWFibGUgU2VydmVyIEVycm9yXCJ9O1xuSnE9ZnVuY3Rpb24oKXtfLk5rLmNhbGwodGhpcyk7Xy5Oay5jYWxsKHRoaXMpO3RoaXMuQ2E9bmV3IF8ualFhO3RoaXMuTGE9bmV3IF8uSm47dGhpcy5vYT1bXTt0aGlzLkFhPVtdO3RoaXMuc2hhPVtdO3RoaXMuUWQ9bmV3IF8ucm0odGhpcyk7bmV3IF8uSm47dGhpcy5PYT0hMH07Xy5LcT1mdW5jdGlvbihhLGIsYyxkKXtfLk5rLmNhbGwodGhpcyk7Xy5Oay5jYWxsKHRoaXMpO3RoaXMuQWE9Ynx8bnVsbDt0aGlzLm9hPWN8fG51bGw7dGhpcy5MYT1kfHxudWxsO3RoaXMuQ2E9W107dGhpcy5PYT1udWxsO3RoaXMuUE9hPVM1YTt0aGlzLnhCYT1udWxsfTtUNWE9ZnVuY3Rpb24oYSxiLGMpe2EucHVzaChlbmNvZGVVUklDb21wb25lbnQoYikrXCI9XCIrZW5jb2RlVVJJQ29tcG9uZW50KGMpKX07XG5VNWE9ZnVuY3Rpb24oYSl7YT1hLmVsZW1lbnRzO2Zvcih2YXIgYixjPTA7Yj1hW2NdO2MrKylpZighYi5kaXNhYmxlZCYmYi50eXBlJiZiLnR5cGUudG9Mb3dlckNhc2UoKT09XCJmaWxlXCIpcmV0dXJuITA7cmV0dXJuITF9O1xuVjVhPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1bXSxjPWEuZWxlbWVudHMsZCxlPTA7ZD1jLml0ZW0oZSk7ZSsrKWlmKGQuZm9ybT09YSYmIWQuZGlzYWJsZWQmJmQudGFnTmFtZSE9XCJGSUVMRFNFVFwiKXt2YXIgZj1kLm5hbWU7c3dpdGNoKGQudHlwZS50b0xvd2VyQ2FzZSgpKXtjYXNlIFwiZmlsZVwiOmNhc2UgXCJzdWJtaXRcIjpjYXNlIFwicmVzZXRcIjpjYXNlIFwiYnV0dG9uXCI6YnJlYWs7Y2FzZSBcInNlbGVjdC1tdWx0aXBsZVwiOmQ9Xy5nSGEoZCk7aWYoZCE9bnVsbClmb3IodmFyIGcsaD0wO2c9ZFtoXTtoKyspVDVhKGIsZixnKTticmVhaztkZWZhdWx0Omc9Xy5nSGEoZCksZyE9bnVsbCYmVDVhKGIsZixnKX19Yz1hLmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiSU5QVVRcIik7Zm9yKGU9MDtkPWNbZV07ZSsrKWQuZm9ybT09YSYmZC50eXBlLnRvTG93ZXJDYXNlKCk9PVwiaW1hZ2VcIiYmKGY9ZC5uYW1lLFQ1YShiLGYsZC52YWx1ZSksVDVhKGIsZitcIi54XCIsXCIwXCIpLFQ1YShiLGYrXCIueVwiLFwiMFwiKSk7XG5yZXR1cm4gYi5qb2luKFwiJlwiKX07SjVhLnByb3RvdHlwZS5EWT1mdW5jdGlvbigpe3JldHVybiB0aGlzLlRpfTt2YXIgVzVhPWZ1bmN0aW9uKGEpe2lmKGEuQ2EpYT0hMTtlbHNle3ZhciBiO2lmKGI9ISFhLlRpKWE6c3dpdGNoKGI9YS5UaSxiLk9QYSl7Y2FzZSBcIlJFVFJZXCI6Yj0hMDticmVhayBhO2Nhc2UgXCJGQUlMXCI6Yj0hMTticmVhayBhO2Nhc2UgXCJCRVNUX0VGRk9SVFwiOmI9YS5CYXx8YS5UaS5mTWE7Yj1hLm9hPj01MDAmJmI8Mz8hMDohMTticmVhayBhO2RlZmF1bHQ6dGhyb3cgRXJyb3IoXCJKZGBcIitiLk9QYSk7fWE9Yn1yZXR1cm4gYX07SjVhLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiBTdHJpbmcodGhpcy5vYSl9O1xuXy5McT1mdW5jdGlvbihhLGIsYyxkLGUpe18uYWEuY2FsbCh0aGlzLFwiRXJyb3IgY29kZSA9IFwiK2IrKGM/XCIsIFBhdGggPSBcIitjOlwiXCIpKyhkP1wiLCBNZXNzYWdlID0gXCIrZDpcIlwiKSsoZT9cIiwgXCIrZS5BYTpcIlwiKSk7dGhpcy5uYW1lPWE7dGhpcy5vYT1iO3RoaXMuaW09ZX07Xy5EKF8uTHEsXy5hYSk7Xy5McS5wcm90b3R5cGUuZ2V0RXJyb3I9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbX07XG52YXIgWDVhPWZ1bmN0aW9uKGEsYil7YT1hLm1hcChmdW5jdGlvbihjKXtyZXR1cm4gYy5tZXNzYWdlSWR9KS5qb2luKFwiLCBcIik7Yj1iLm1hcChmdW5jdGlvbihjKXtjPWMgaW5zdGFuY2VvZiBfLnE/Yy5jb25zdHJ1Y3Rvci5tZXNzYWdlSWQ6QXJyYXkuaXNBcnJheShjKSYmYy5sZW5ndGg/Y1swXWluc3RhbmNlb2YgXy5xP2NbMF0uY29uc3RydWN0b3IubWVzc2FnZUlkOkFycmF5LmlzQXJyYXkoY1swXSk/SzVhKGNbMF0pOks1YShjKTp2b2lkIDA7cmV0dXJuIGN9KS5qb2luKFwiLCBcIik7cmV0dXJuXCJFeHBlY3RlZCBwcm90b3M6IFtcIithK1wiXS4gUmV0dXJuZWQgcHJvdG9zOiBbXCIrYitcIl0uXCJ9LFk1YT1mdW5jdGlvbihhLGIsYyl7Xy5McS5jYWxsKHRoaXMsXCJUb29NYW55UHJvdG9zRXJyb3JcIiwxMDgsYyxcIlRoZSBSZXF1ZXN0U2VydmljZSBpbnRlcmZhY2Ugb25seSBzdXBwb3J0cyBhIHNpbmdsZSByZWNlaXZlZCBwcm90byAoYmUgaXQgZGF0YSBvciBlcnJvcikuIFwiKyhhJiZiP1g1YShhLFxuYik6XCJcIikpfTtfLkQoWTVhLF8uTHEpO3ZhciBaNWE9ZnVuY3Rpb24oYSxiLGMpe18uTHEuY2FsbCh0aGlzLFwiRXhwZWN0ZWRQcm90b05vdEZvdW5kXCIsMTA5LGMsXCJUaGUgZXhwZWN0ZWQgcmVzcG9uc2UgcHJvdG8gd2FzIG5vdCByZXR1cm5lZCBieSB0aGUgc2VydmVyLlwiK1g1YShhLGIpKX07Xy5EKFo1YSxfLkxxKTt2YXIgJDVhPWZ1bmN0aW9uKCl7Xy5McS5jYWxsKHRoaXMsXCJSZXRyeVwiLDAsdm9pZCAwLFwiQW4gaW50ZXJjZXB0b3IgaGFzIHJlcXVlc3RlZCB0aGF0IHRoZSByZXF1ZXN0IGJlIHJldHJpZWQuXCIpfTtfLkQoJDVhLF8uTHEpO18uTXE9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSwwLF8uTXEubWVzc2FnZUlkKX07Xy5EKF8uTXEsXy5xKTtfLk1xLnByb3RvdHlwZS5nZXREYXRhPWZ1bmN0aW9uKCl7cmV0dXJuIF8uR2UodGhpcyw0KX07Xy5NcS5wcm90b3R5cGUuc2V0RGF0YT1mdW5jdGlvbihhKXtyZXR1cm4gXy5EZSh0aGlzLDQsYSl9O1xuXy5NcS5wcm90b3R5cGUub2E9ZnVuY3Rpb24oKXtyZXR1cm4gXy52KHRoaXMsXy5BQmEsMTApfTtfLk1xLm1lc3NhZ2VJZD1cImVyXCI7dmFyIGE2YT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhLDAsYTZhLm1lc3NhZ2VJZCl9O18uRChhNmEsXy5xKTthNmEub2I9WzYsNywxMCwxMSwxMl07YTZhLm1lc3NhZ2VJZD1cImRpXCI7dmFyIGI2YT1bMCxfLkgsLTEsXy5KaixfLmprLFswLDQsXy5ILC0yLF8uVGosXy5ILC0yXSw3LF8uR107dmFyIGM2YT1bMCxbNF0sYjZhLF8ua2ssYjZhLF8uSSxfLm5rLFswLF8ua2ssWzAsYjZhLF8uVGosXy5Wal1dXTt2YXIgZDZhPVstMzYse30sXy5ILC0yLF8uSmosXy5EaixfLkgsXy5aaiwtMSxfLkgsLTEsXy5layxfLmtrLGZ1bmN0aW9uKCl7cmV0dXJuIGQ2YX0sXy5KaixfLkgsXy5KaiwtMixfLkgsXy5rayxjNmEsXy5ILF8uZWssMSxbMCxfLm9rLF8uSF0sLTEsXy5aaixfLkpqLF8ua2ssWzAsXy5ILC0xXSwtMSxfLkcsXy5aaixfLmVrLF8ua2ssWzAsXy5ILF8ua2ssWzAsXy5IXV0sXy5UaixfLkgsXy5Kal07Xy5DbVs1MDk0Mzc0MTRdPWM2YTtfLkNtWzI3MDkxMzQyXT1kNmE7dmFyIGU2YT1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhLDAsZTZhLm1lc3NhZ2VJZCl9O18uRChlNmEsXy5xKTtlNmEubWVzc2FnZUlkPVwiZVwiO3ZhciBmNmE9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSwwLGY2YS5tZXNzYWdlSWQpfTtfLkQoZjZhLF8ucSk7ZjZhLm1lc3NhZ2VJZD1cImYucmlcIjt2YXIgZzZhPWZ1bmN0aW9uKCl7dmFyIGEsYjt0aGlzLnByb2R1Y3RJZD0oYj1fLkttKHdpbmRvdy5sb2NhdGlvbi5ocmVmLFwib3BpXCIpKSE9bnVsbD9iOihhPV8udWlhKCkpPT1udWxsP3ZvaWQgMDphLnRvU3RyaW5nKCl9O18uRChnNmEsXy5ENWEpO2c2YS5wcm90b3R5cGUub2E9ZnVuY3Rpb24oYSl7dGhpcy5wcm9kdWN0SWQmJl8uV20oYS5vYSxcIm9waVwiLHRoaXMucHJvZHVjdElkKX07dmFyIGg2YT1mdW5jdGlvbigpe18uQ2suY2FsbCh0aGlzKTt0aGlzLmluVXNlPSExfTtfLkQoaDZhLF8uQ2spO2g2YS5wcm90b3R5cGUuaEhiPWZ1bmN0aW9uKCl7cmV0dXJuIDB9O2g2YS5wcm90b3R5cGUudHJhbnNmZXI9ZnVuY3Rpb24oYSl7dGhpcy5vYS5xM2EoYSk7dGhpcy5BYT1hfTt2YXIgaTZhPWZ1bmN0aW9uKGEsYil7c3dpdGNoKGEpe2Nhc2UgMTpjYXNlIDM6cmV0dXJuIDg7Y2FzZSA0OnJldHVybiBOYU47Y2FzZSA3OnJldHVybiAxMDA7Y2FzZSA2OnJldHVybiBifHw3O2Nhc2UgODpyZXR1cm4gMTAxO2Nhc2UgNTpyZXR1cm4gOTtkZWZhdWx0OnJldHVybiAxMDJ9fTtoNmEucHJvdG90eXBlLmx6PWZ1bmN0aW9uKGEsYil7dGhpcy5CYT1hO3RoaXMuaGI9Yn07dmFyIE5xPWZ1bmN0aW9uKGEsYil7aDZhLmNhbGwodGhpcyk7dGhpcy5jQT1uZXcgXy5BcTt0aGlzLk5IYT1hO3RoaXMuTGE9bnVsbDt0aGlzLmNBLmhlYWRlcnMuc2V0KFwiWC1TYW1lLURvbWFpblwiLFwiMVwiKTtfLlhkKHRoaXMuY0EsXCJjb21wbGV0ZVwiLHRoaXMuVzZiLCExLHRoaXMpO18uWGQodGhpcy5jQSxcInJlYWR5XCIsdGhpcy5YNmIsITEsdGhpcyk7dGhpcy5sb2dnZXI9Yn07Xy5EKE5xLGg2YSk7Xy5tPU5xLnByb3RvdHlwZTtfLm0uUWM9ZnVuY3Rpb24oKXtfLktrKHRoaXMuY0EsXCJjb21wbGV0ZVwiLHRoaXMuVzZiLCExLHRoaXMpO18uS2sodGhpcy5jQSxcInJlYWR5XCIsdGhpcy5YNmIsITEsdGhpcyk7dGhpcy5jQS5kaXNwb3NlKCk7aDZhLnByb3RvdHlwZS5RYy5jYWxsKHRoaXMpfTtcbl8ubS50cmFuc2Zlcj1mdW5jdGlvbihhKXt0aGlzLm9hLnEzYShhKTt0aGlzLkFhPWE7Xy5XbShhLm9hLFwicnRcIix0aGlzLk5IYSk7dmFyIGI9YS5MYSxjPWEuR2EhPW51bGx8fGEuQ2EhPW51bGw7aWYoIWEuQmJ8fGMpe2lmKHRoaXMuQmEmJihjPXRoaXMuaGIuY2FsbChudWxsKSxjIT09dm9pZCAwKSl7dmFyIGQ9YS5DYTtpZihkKXt2YXIgZT1kLmVsZW1lbnRzW3RoaXMuQmFdO2V8fChlPWQub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIiksZS5zZXRBdHRyaWJ1dGUoXCJuYW1lXCIsdGhpcy5CYSksZS5zZXRBdHRyaWJ1dGUoXCJoaWRkZW5cIiwhMCksZC5hcHBlbmRDaGlsZChlKSk7ZS52YWx1ZT1jfWVsc2UgYS5PYSh0aGlzLkJhLGMpfXRoaXMuY0Euc2VuZChhLmdldFVybCgpLGEuQmEsajZhKGEpLGIpfWVsc2UgdGhpcy5jQS5zZW5kKGEuZ2V0VXJsKCksYS5CYSxudWxsLGIpfTtfLm0uYWJvcnQ9ZnVuY3Rpb24oYSl7dGhpcy5MYT1hO3RoaXMuY0EuYWJvcnQoNyl9O1xuXy5tLlc2Yj1mdW5jdGlvbihhKXthPWEudGFyZ2V0O3RoaXMuQWEuV2c9YS5nZXRTdGF0dXMoKTtpZihhLmlzU3VjY2VzcygpKXtpZihhLnF4KCkubGVuZ3RoPjB8fGEuZ2V0U3RhdHVzKCk9PTIwNCl7dGhpcy5ZNmIoYSk7cmV0dXJufXRoaXMuTGE9MTA0fXRoaXMuWVJhKGEpfTtfLm0uWDZiPWZ1bmN0aW9uKCl7dGhpcy5vYS5aVGQodGhpcyl9O3ZhciBqNmE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5HYTtpZihiKXt2YXIgYz1uZXcgXy5JNWE7Yi5mb3JFYWNoKGZ1bmN0aW9uKGQsZSl7Yy5hcHBlbmQoXy5jbChlKSxcIj1cIixfLmNsKGQpLFwiJlwiKX0pO3JldHVybiBjLnRvU3RyaW5nKCl9cmV0dXJuIGEuQ2E/VjVhKGEuQ2EpOlwiXCJ9O1xuTnEucHJvdG90eXBlLllSYT1mdW5jdGlvbihhKXt2YXIgYj10aGlzLkxhO3RoaXMuTGE9MDt2YXIgYz1hLmdldFN0YXR1cygpO3ZhciBkPWEuZ1c7azZhLmV4ZWMoYS5xeCgpKTtpZihiKXZhciBlPWI7ZWxzZSBkPT02JiYoYj1hLnF4KCksZT0oZT1iLm1hdGNoKGw2YSkpPzcwMCtwYXJzZUludChlWzFdLDEwKTooZT1iLm1hdGNoKG02YSkpP051bWJlcihcIjZcIitlWzFdKTpudWxsKTtlfHwoZT1pNmEoZCxjKSk7Yz1lO2EucXgoKTt5NmEodGhpcyxjKX07XG52YXIgeTZhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLkFhO2I9bmV3IEo1YShkLGIsdm9pZCAwLHZvaWQgMCxjKTthLm9hLmNjYihkLGIpfSxsNmE9UmVnRXhwKFwidmFyIGdtYWlsX2Vycm9yXFxcXHMqPVxcXFxzKihcXFxcZCspXCIsXCJtXCIpLG02YT1SZWdFeHAoXCJ2YXIgcmNcXFxccyo9XFxcXHMqKFxcXFxkKylcIixcIm1cIiksazZhPVJlZ0V4cChcIig/OkFkZGl0aW9uYWwgZGV0YWlsc3xEZXRhaWxlZCBUZWNobmljYWwgSW5mbylbXFxcXHNcXFxcU10qPHByZVtePl0qPihbXFxcXHNcXFxcU10qKTxcXFxcL3ByZT5cIixcImlcIik7dmFyIHo2YT1mdW5jdGlvbigpe05xLmNhbGwodGhpcyxcImNcIixudWxsKTt0aGlzLlFhPSExO18uWGQodGhpcy5jQSxcInJlYWR5c3RhdGVjaGFuZ2VcIix0aGlzLko2YiwhMSx0aGlzKTt0aGlzLmRHPS0xO3RoaXMuR2E9bnVsbDt0aGlzLk9hPSEwfTtfLkQoejZhLE5xKTtfLm09ejZhLnByb3RvdHlwZTtfLm0uY2xvbmU9ZnVuY3Rpb24oKXt2YXIgYT1uZXcgejZhO2EubHoodGhpcy5CYSx0aGlzLmhiKTt0aGlzLlFhJiYoYS5RYT0hMCk7cmV0dXJuIGF9O18ubS5RYz1mdW5jdGlvbigpe18uWGwodGhpcy5kRyk7Xy5Layh0aGlzLmNBLFwicmVhZHlzdGF0ZWNoYW5nZVwiLHRoaXMuSjZiLCExLHRoaXMpO05xLnByb3RvdHlwZS5RYy5jYWxsKHRoaXMpfTtfLm0uaEhiPWZ1bmN0aW9uKGEpe2lmKGEudW1jKXJldHVybiAwO3ZhciBiPWEuQ2E7cmV0dXJuIGImJlU1YShiKXx8Xy53aCYmIV8ueXVhKFwiNDIwK1wiKXx8Xy52aCYmIV8ueXVhKFwiMS45XCIpPzA6YS5HYnx8IWEueCRhPy45Oi41fTtcbl8ubS5KNmI9ZnVuY3Rpb24oKXtfLndofHxfLnZofHxfLnVofHxfLlhsKHRoaXMuZEcpO3RoaXMuY0EuZlEoKT09MyYmdGhpcy5qOWEoITEpfTtfLm0uWTZiPWZ1bmN0aW9uKCl7Xy5YbCh0aGlzLmRHKTt0aGlzLmo5YSghMCl9O18ubS5ZUmE9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5RYSYmYS5nZXRTdGF0dXMoKT49NTAwO3RoaXMuajlhKCEwLGIsYS5nZXRTdGF0dXMoKSxhLmdXLGEuZ2V0TGFzdEVycm9yKCkpO05xLnByb3RvdHlwZS5ZUmEuY2FsbCh0aGlzLGEpfTtcbl8ubS5qOWE9ZnVuY3Rpb24oYSxiLGMsZCxlKXtjPWM9PT12b2lkIDA/LTE6YztkPWQ9PT12b2lkIDA/MDpkO2U9ZT09PXZvaWQgMD9cIlwiOmU7aWYoIXRoaXMuVWF8fGEpe3ZhciBmPXRoaXMuY0EucXgoKTtpZih0aGlzLkNhPT0wKXt2YXIgZz1mLmluZGV4T2YoXCJcXG5cXG5cIik7aWYoZz09LTEpe2EmJihhPUw1YShcIkluY29tcGxldGUgWFNTIGhlYWRlciBhdCBlbmQgb2YgcmVxdWVzdFwiLGMsZCxlKSxifHwoYz09PTAmJmQ9PT02P3k2YSh0aGlzLDcsTDVhKFwiVW5rbm93biBIVFRQIGVycm9yIGluIHVuZGVybHlpbmcgWEhSXCIsYyxkLGUpKTp5NmEodGhpcywxMDMsYSkpLHRoaXMuT2E9ITApO3JldHVybn10aGlzLkNhPWcrMn1kbyBnPUE2YSh0aGlzLGYpO3doaWxlKGc9PTApO2EmJih0aGlzLk9hPSEwKTtzd2l0Y2goZyl7Y2FzZSAyOmE/Ynx8dGhpcy5hYm9ydCgxMCk6dGhpcy5VYT0hMDticmVhaztjYXNlIDM6YSYmKHRoaXMub2EuR1ZhKHRoaXMuQWEsdGhpcy5jQS52dGEoKSksdGhpcy5VYSYmXG5fLklxKFwiQ2h1bmsgcGFyc2UgZXJyb3I6IFwiK3RoaXMuUmErKHRoaXMuR2E/XCIsIFwiK3RoaXMuR2E6XCJcIiksRXJyb3IoKSkpO2JyZWFrO2Nhc2UgMTphJiYoYz1MNWEoXCJJbmNvbXBsZXRlIGNodW5rIGF0IGVuZCBvZiByZXF1ZXN0LlwiLGMsZCxlKSxifHx5NmEodGhpcywxMDMsYykpfWF8fF8ud2h8fF8udmh8fF8udWh8fCh0aGlzLmRHPV8uV2wodGhpcy5qOWEsMTAwLHRoaXMpKX19O18ubS50cmFuc2Zlcj1mdW5jdGlvbihhKXt0aGlzLk9hfHxfLklxKFwidHJhbnNmZXIoKSBjYWxsZWQgZHVyaW5nIHJlc3BvbnNlIHByb2Nlc3NpbmdcIixFcnJvcigpKTt0aGlzLk9hPSExO3RoaXMuQ2E9MDt0aGlzLlVhPSExO05xLnByb3RvdHlwZS50cmFuc2Zlci5jYWxsKHRoaXMsYSl9O1xudmFyIEE2YT1mdW5jdGlvbihhLGIpe3ZhciBjPWEuQ2E7aWYoYz09Yi5sZW5ndGgpcmV0dXJuIDM7dmFyIGQ9Yi5pbmRleE9mKFwiXFxuXCIsYyk7aWYoZD09LTEpcmV0dXJuIDE7aWYoYz09ZClyZXR1cm4gYS5SYT0wLGEuR2E9bnVsbCwyO3ZhciBlPWIuc3Vic3RyaW5nKGMsZCksZj1OdW1iZXIoZSk7aWYoaXNOYU4oZikpcmV0dXJuIGEuUmE9MSxhLkdhPVwibGVuZ3RoOiBcIitlLmxlbmd0aCtcIiwgXCIrZS5zdWJzdHJpbmcoMCw3KStcIiwgc3NpOlwiK2MrXCIsIHNlaTpcIitkK1wiLCBydGw6XCIrYi5sZW5ndGgrXCIsIFwiK2Iuc3Vic3RyaW5nKDAsTWF0aC5taW4oMTUsYykpLDI7aWYoZCtmPmIubGVuZ3RoKXJldHVybiAxO2M9Yi5zdWJzdHIoZCxmKTt0cnl7dmFyIGc9d2luZG93LkpTT04ucGFyc2UoYyl9Y2F0Y2goaCl7cmV0dXJuIGEuUmE9MixhLkdhPW51bGwsMn1hLkNhPWQrZjtpZihBcnJheS5pc0FycmF5KGcpKWZvcihkPTA7ZDxnLmxlbmd0aDtkKyspYS5vYS5lamQoYS5BYSxnW2RdKTtyZXR1cm4gYS5DYT09XG5iLmxlbmd0aD8zOjB9O3ZhciBCNmE9ZnVuY3Rpb24oYSl7dGhpcy5BYT1hfTtfLkQoQjZhLF8uRDVhKTtCNmEucHJvdG90eXBlLm9hPWZ1bmN0aW9uKGEpe3RoaXMuQWEmJl8uV20oYS5vYSxcImJsXCIsdGhpcy5BYSl9O3ZhciBDNmE9ZnVuY3Rpb24oYSxiKXt2YXIgYz17fTtfLkhhKGEsZnVuY3Rpb24oZCl7dmFyIGU9Xy5LbShiLGQpO2UmJihjW2RdPWUpfSk7dGhpcy5BYT1jfTtfLkQoQzZhLF8uRDVhKTtDNmEucHJvdG90eXBlLm9hPWZ1bmN0aW9uKGEpe18uWWIodGhpcy5BYSxmdW5jdGlvbihiLGMpe18uWG0oYS5vYSxjKXx8Xy5XbShhLm9hLGMsYil9KX07dmFyIEQ2YT1mdW5jdGlvbihhKXt0aGlzLkFhPVtdLnNsaWNlLmFwcGx5KGFyZ3VtZW50cyl9O18uRChENmEsXy5ENWEpO0Q2YS5wcm90b3R5cGUub2E9ZnVuY3Rpb24oKXtfLkhhKHRoaXMuQWEsZnVuY3Rpb24oKXt9KX07dmFyIEU2YT1mdW5jdGlvbihhKXt0aGlzLkFhPWF9O18uRChFNmEsXy5ENWEpO0U2YS5wcm90b3R5cGUub2E9ZnVuY3Rpb24oYSl7dGhpcy5BYSYmXy5XbShhLm9hLFwiZi5zaWRcIix0aGlzLkFhKX07TTVhLnByb3RvdHlwZS5XYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRvU3RyaW5nKCl9O001YS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt0aGlzLm9hfHwodGhpcy5vYT1cImxpYjpcIit0aGlzLldrKTtyZXR1cm4gdGhpcy5vYX07TTVhLnByb3RvdHlwZS5nZXRUeXBlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuV2t9O3ZhciBGNmE9ZnVuY3Rpb24oYSxiKXtNNWEuY2FsbCh0aGlzLGEsYil9O18uRChGNmEsTTVhKTt2YXIgRzZhPW5ldyBmdW5jdGlvbigpe307dmFyIEg2YT1mdW5jdGlvbihhKXthPyh0aGlzLm9hPV8uJGgoYSwxKXx8LTEsXy5HZShhLDIpLF8uR2UoYSwzKSxfLiRoKGEsNCksdGhpcy5BYT1fLkdlKGEsMTMpfHxcIlwiKToodGhpcy5vYT0tMSx0aGlzLkFhPVwiXCIpfSxJNmE9bmV3IEg2YTt2YXIgUDVhLEo2YT1uZXcgRjZhKEc2YSxcImZfcmVxXCIpLE81YT0wLEs2YTtfLm09UTVhLnByb3RvdHlwZTtfLm0uT2c9bnVsbDtfLm0udW1jPSEwO18ubS54JGE9ITA7Xy5tLlNrYj0tMTtfLm0uRVRiPS0xO18ubS5LMWI9LTE7Xy5tLnZiYz0tMTtfLm0uSWRiPUk2YTtfLm0uWVliPS0xO18ubS5mTWE9MDtfLm0uT1BhPVwiQkVTVF9FRkZPUlRcIjtLNmE9ZnVuY3Rpb24oYSl7aWYoYS5zdGFydGVkKXRocm93IEVycm9yKFwiS2RcIik7fTtfLk41YT1mdW5jdGlvbihhLGIpe0s2YShhKTthLk9QYT1ifTtRNWEucHJvdG90eXBlLmx6PWZ1bmN0aW9uKGEpe3RoaXMuTGEuc2V0KFwiWC1GcmFtZXdvcmstWHNyZi1Ub2tlblwiLGEpfTtRNWEucHJvdG90eXBlLmdldENvbnRleHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5SYn07UTVhLnByb3RvdHlwZS5ZYj1mdW5jdGlvbigpe3RoaXMuT1BhPVwiRkFJTFwiO3RoaXMuUWEuYWJvcnQodGhpcywxMDEpfTtcbl8uTDZhPWZ1bmN0aW9uKGEsYil7SzZhKGEpO2EudW1jPWJ9O18ubT1RNWEucHJvdG90eXBlO18ubS5nZXRTdGFydFRpbWU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5FVGJ9O18ubS5nZXRNZXNzYWdlPWZ1bmN0aW9uKCl7cmV0dXJuXCJcIn07Xy5tLnNlbmQ9ZnVuY3Rpb24oKXtpZih0aGlzLnN0YXJ0ZWQpdGhyb3cgRXJyb3IoXCJOZFwiKTt0aGlzLkVUYj1fLmpoKCk7aWYoIXRoaXMua2Ipe3ZhciBhPVwiTm8gcmVxdWVzdCBpZCBmb3IgW1wiK3RoaXMuZ2V0VXJsKCkrXCJdXCIsYj1FcnJvcihcIk1kYFwiK3RoaXMuZ2V0VXJsKCkpO18uSXEoYSxiKX1fLldtKHRoaXMub2EsXCJfcmVxaWRcIix0aGlzLmtiKTt0aGlzLlFhLnNlbmQodGhpcyk7dGhpcy5zdGFydGVkPSEwO3RoaXMuU2tiPj0wJiYodGhpcy5VYT1fLng1YShcIk9kXCIsdGhpcy5ZYix0aGlzLlNrYix0aGlzKSl9O1xuXy5tLmFib3J0PWZ1bmN0aW9uKCl7aWYoIXRoaXMuc3RhcnRlZCl0aHJvdyBFcnJvcihcIlBkXCIpO3RoaXMuY29tcGxldGV8fCh0aGlzLk9QYT1cIkZBSUxcIix0aGlzLlFhLmFib3J0KHRoaXMpKX07Xy5tLmhIPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLmNvbXBsZXRlfTtfLm0uZ2V0VHlwZT1mdW5jdGlvbigpe3JldHVybiBKNmF9O18ubS5pdGI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5oYn07Xy5tLmdldERhdGE9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuU2I/dGhpcy5TYlthXTpudWxsfTtcbnZhciBNNmE9ZnVuY3Rpb24oYSl7cmV0dXJuISFhLkFhJiYhKHR5cGVvZiBhLkFhLmlzRGlzcG9zZWQ9PVwiZnVuY3Rpb25cIiYmYS5BYS5pc0Rpc3Bvc2VkKCkpfSxONmE9ZnVuY3Rpb24oYSxiKXthLmNvbXBsZXRlPSEwO2EuWVliPV8uamgoKTthLlVhJiYoXy5iYS5jbGVhclRpbWVvdXQoYS5VYSksYS5VYT1udWxsKTtNNmEoYSkmJihhLndiJiZhLkFhLms5YSYmYS5BYS5rOWEoYSksYS5BYS5MNmImJmEuQWEuTDZiKGEsYikpfSxPNmE9ZnVuY3Rpb24oKXtpZighKHdpbmRvdy5jaHJvbWUmJndpbmRvdy5jaHJvbWUucnVudGltZSYmd2luZG93LmNocm9tZS5ydW50aW1lLmdldE1hbmlmZXN0JiZ3aW5kb3cuY2hyb21lLnJ1bnRpbWUuZ2V0TWFuaWZlc3QoKSkpdGhyb3cgRXJyb3IoXCJRZFwiKTt9O1E1YS5wcm90b3R5cGUuUmE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vYS5jbG9uZSgpfTtRNWEucHJvdG90eXBlLmdldFVybD1mdW5jdGlvbigpe3JldHVybiBTdHJpbmcodGhpcy5SYSgpKX07XG5RNWEucHJvdG90eXBlLmdldFBhdGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vYS5nZXRQYXRoKCl9O1E1YS5wcm90b3R5cGUuT2E9ZnVuY3Rpb24oYSxiKXt0aGlzLkdhfHwodGhpcy5HYT1uZXcgXy5VbSk7QXJyYXkuaXNBcnJheShiKXx8KGI9W1N0cmluZyhiKV0pO18udmEoXy4kMGEsdGhpcy5CYSl8fCh0aGlzLkJhPVwiUE9TVFwiKTtfLndDYSh0aGlzLkdhLGEsYil9O18uUDZhPWZ1bmN0aW9uKGEsYixjKXtpZihiIGluc3RhbmNlb2YgXy5VbSl7dmFyIGQ9Yi5vQSgpO18uVmFhKGQpO2Zvcih2YXIgZT0wO2U8ZC5sZW5ndGg7ZSsrKXt2YXIgZj1kW2VdLGc9Yi5ZdihmKTtjP2EuT2EoZixnKTpfLldtKGEub2EsZixnKX19ZWxzZSBfLlJCYShiLGZ1bmN0aW9uKGgsayl7Yz90aGlzLk9hKGssaCk6Xy5XbSh0aGlzLm9hLGssaCl9LGEpfTt2YXIgUTZhPWZ1bmN0aW9uKGEsYixjLGQpe18uRmsuY2FsbCh0aGlzLChkP1wiZGF0YV9iOlwiOlwiZGF0YTpcIikrYik7dGhpcy5kYXRhdHlwZT1iO3RoaXMucmVxdWVzdD1hO3RoaXMuZGF0YT1jO3RoaXMub2E9dm9pZCAwfTtfLkQoUTZhLF8uRmspO3ZhciBTNmE9ZnVuY3Rpb24oKXt0aGlzLkJhPVtdO3RoaXMuQ2E9e307UjZhKHRoaXMsMUUzKX0sUjZhPWZ1bmN0aW9uKGEsYixjKXtjP2EuQmJiPWI6KGI9TWF0aC5taW4oM0U1LE1hdGgubWF4KGIsMUUzKSksYS5CYmI9TWF0aC5yb3VuZCguODUqYikrTWF0aC5yb3VuZCguMypiKk1hdGgucmFuZG9tKCkpKX07Xy5tPVM2YS5wcm90b3R5cGU7Xy5tLmNSYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnJWYX07Xy5tLkVtYj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnJWYT09dGhpcy5zVmF9O18ubS52dGE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5DYX07Xy5tLmdldEVycm9yPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW19O18ubS54cj1mdW5jdGlvbihhKXt0aGlzLmltPWF9O18ubS5yZXNldD1mdW5jdGlvbigpe3RoaXMuQWE9bnVsbDt0aGlzLnhyKG51bGwpfTtfLm0ucERiPTA7Xy5tLnNWYT0tMTtfLm0uclZhPTA7Xy5tLmJ4YT0wO18ubS56YWE9MDtfLm0uZGVjPTA7Xy5tLkJiYj0wO3ZhciBUNmE9ZnVuY3Rpb24oYSxiLGMpe18uRmsuY2FsbCh0aGlzLGEpO2ImJih0aGlzLlRpPWIpO2MmJih0aGlzLm9hPWMpfTtfLkQoVDZhLF8uRmspO1Q2YS5wcm90b3R5cGUuRFk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5UaX07VDZhLnByb3RvdHlwZS5pdGI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vYX07Xy5taChSNWEsXy5hYSk7Xy5taChKcSxfLk5rKTt2YXIgVTZhPVwiXy9yZXBvcnRodHRwNHh4ZXJyb3JcIjtfLm09SnEucHJvdG90eXBlO18ubS5HZWE9bnVsbDtfLm0uemQ9XCJSRUFEWVwiO18ubS5wR2E9MTtfLm0uVGtiPVwiQkVTVF9FRkZPUlRcIjtfLm0uZEZiPSExO18ubS5kaXNwb3NlPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPTA7YTx0aGlzLkFhLmxlbmd0aDthKyspe3ZhciBiPXRoaXMuQWFbYV0uZ2V0Q29udGV4dCgpO2IuemFhJiYoXy5iYS5jbGVhclRpbWVvdXQoYi56YWEpLGIuemFhPTApfXRoaXMuaXNEaXNwb3NlZCgpfHwoSnEuT2QuZGlzcG9zZS5jYWxsKHRoaXMpLHRoaXMuQ2EuY2xlYXIoKSx0aGlzLkdlYSYmKF8uYmEuY2xlYXJUaW1lb3V0KHRoaXMuR2VhKSx0aGlzLkdlYT1udWxsKSk7Zm9yKGE9MDthPHRoaXMuc2hhLmxlbmd0aDthKyspdGhpcy5zaGFbYV0uZGlzcG9zZSgpO3RoaXMuQWEubGVuZ3RoPXRoaXMub2EubGVuZ3RoPTA7dGhpcy5RZC5kaXNwb3NlKCl9O1xudmFyIFY2YT1mdW5jdGlvbihhLGIpe3ZhciBjPXt9O2MuWlRkPSgwLF8uaGgpKGEuYVVkLGEpO2MuY2NiPSgwLF8uaGgpKGEuY2NiLGEpO2MuR1ZhPSgwLF8uaGgpKGEuR1ZhLGEpO2MuZWpkPSgwLF8uaGgpKGEuUWEsYSk7Yy5kOWE9KDAsXy5oaCkoYS5PYixhKTtjLkVtYj0oMCxfLmhoKShhLlVhLGEpO2MuQ3llPSgwLF8uaGgpKGEuQmIsYSk7Yy5jUmE9KDAsXy5oaCkoYS5HYixhKTtjLnpCZT0oMCxfLmhoKShhLkJhLGEpO2MucTNhPSgwLF8uaGgpKGEucTNhLGEpO2Iub2E9YzthLnNoYS5wdXNoKGIpfTtKcS5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbihhKXt0aGlzLmlzRGlzcG9zZWQoKT9XNmEodGhpcyxhLDEwNyk6KHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgVDZhKFwiaVwiLGEpKSx0aGlzLkNhLmVucXVldWUoYSksWDZhKHRoaXMpKX07SnEucHJvdG90eXBlLmdldFN0YXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuemR9O1xuSnEucHJvdG90eXBlLmFib3J0PWZ1bmN0aW9uKGEsYil7WTZhKHRoaXMsYSxiKX07XG52YXIgWTZhPWZ1bmN0aW9uKGEsYixjKXtjPXR5cGVvZiBjPT09XCJudW1iZXJcIj9jOjEwMDtfLnZhKGEub2EsYik/KGIuZ2V0Q29udGV4dCgpLnBEYj1jLChhPWIuZ2V0Q29udGV4dCgpKSYmYS5BYSYmYS5BYS5hYm9ydChhLnBEYikpOmEuQ2EucmVtb3ZlKGIpJiZXNmEoYSxiLGMpfSwkNmE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1udWxsLGQ9e30sZT1fLm9oKGEuc2hhLGZ1bmN0aW9uKGwpe3ZhciBuPV8uRWEobCk7ZFtuXT1sLmhIYihiKTtyZXR1cm4hIWRbbl19KTtfLlphYShlLCgwLF8uaGgpKGEuaGIsbnVsbCxkLGEuc2hhKSk7Zm9yKHZhciBmPTAsZz1lLmxlbmd0aCxoPTA7aDxnJiYhYztoKyspe3ZhciBrPWVbaF07aWYoIWsuaW5Vc2Upe2M9azticmVha31rPWRbXy5FYShrKV07aWYoaD09Zy0xfHxrPmRbXy5FYShlW2grMV0pXSlmb3IoOyFjJiZmPD1oOylpZihjPWVbZisrXSxaNmEoYSxjKTxhLnBHYSlpZihjPWMuY2xvbmUoKSlWNmEoYSxjKTtlbHNle2lmKGs9PTEpdGhyb3cgRXJyb3IoXCJUZFwiKTtcbn1lbHNlIHRocm93IEVycm9yKFwiVWRcIik7fXJldHVybiBjfTtKcS5wcm90b3R5cGUuaGI9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9Xy5FYShjKSxmPV8uRWEoZCk7cmV0dXJuIGFbZV08YVtmXT8xOmFbZV0+YVtmXT8tMTpjLmluVXNlJiYhZC5pblVzZT8xOiFjLmluVXNlJiZkLmluVXNlPy0xOl8udGEoYixkKS1fLnRhKGIsYyl9O3ZhciBaNmE9ZnVuY3Rpb24oYSxiKXt2YXIgYz0wO2I9Yi5jb25zdHJ1Y3RvcjthPWEuc2hhO2Zvcih2YXIgZD1hLmxlbmd0aCxlPTA7ZTxkO2UrKylhW2VdLmNvbnN0cnVjdG9yPT09YiYmYysrO3JldHVybiBjfTtKcS5wcm90b3R5cGUucTNhPWZ1bmN0aW9uKGEpe2lmKHRoaXMuTGEuc2l6ZSE9PTApZm9yKHZhciBiPUFycmF5LmZyb20odGhpcy5MYS5rZXlzKCkpLGM9MDtjPGIubGVuZ3RoO2MrKyl7dmFyIGQ9YltjXSxlPXRoaXMuTGEuZ2V0KGQpO18uV20oYS5vYSxkLGUpO3RoaXMuTGEuZGVsZXRlKGQpfX07XG52YXIgYTdhPWZ1bmN0aW9uKGEsYil7c3dpdGNoKGIpe2Nhc2UgXCJBQ1RJVkVcIjpjYXNlIFwiV0FJVElOR19GT1JfUkVUUllcIjpjYXNlIFwiUkVUUllfVElNRVJcIjppZihhLm9hLmxlbmd0aD09MCl0aHJvdyBFcnJvcihcIldkYFwiK2IpO31pZihiIT1hLnpkJiYoYS56ZD1iLGEuZGlzcGF0Y2hFdmVudChuZXcgVDZhKFwiaFwiKSksYS53YikpYS53Yi5vblN0YXRlQ2hhbmdlZCgpfSxYNmE9ZnVuY3Rpb24oYSl7aWYoYS5PYSYmKGEuemQ9PVwiUkVBRFlcInx8YS5wR2EhPT0xKSl7dmFyIGI9Xy5tUWEoYS5DYSk7YiYmYS5vYS5sZW5ndGg8YS5wR2EmJihfLmxRYShhLkNhKSxiLlJiPW5ldyBTNmEsYS5vYS5wdXNoKGIpLGI3YShhLGIpKX19LGI3YT1mdW5jdGlvbihhLGIpe2IuZ2V0VXJsKCk7dmFyIGM9Yi5nZXRDb250ZXh0KCk7Yy5yVmE9MDtjLnNWYT0tMTtjPV8uamgoKTtiLksxYj09LTEmJihiLksxYj1jKTtiLnZiYz1jO2IuZk1hKys7dHJ5e2E3YShhLFwiQUNUSVZFXCIpO3RyeXt2YXIgZD1iLmdldENvbnRleHQoKTtcbmQucERiPTA7dmFyIGU9ZC5BYTtpZighZSl7ZT0kNmEoYSxiKTtpZighZSl0aHJvdyBFcnJvcihcIlZkYFwiK2IpO2UuaW5Vc2U9ITA7ZC5BYT1lfWQub2E9bnVsbDtlLnRyYW5zZmVyKGIpO2EuR2VhfHwoYS5HZWE9Xy54NWEoXCJZZFwiLGEuZWZjLDNFNCxhKSl9Y2F0Y2goZil7dGhyb3cgZjt9fWNhdGNoKGYpe3Rocm93IGY7fX07SnEucHJvdG90eXBlLk9iPWZ1bmN0aW9uKGEsYil7dGhpcy5kOWEoYSxiKX07SnEucHJvdG90eXBlLmQ5YT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1hLmdldENvbnRleHQoKSxkPTA7ZDxiLmxlbmd0aDtkKyspe3ZhciBlPWJbZF07Yy5yVmErKzt2YXIgZj1lWzBdO2YhPT1mNmEubWVzc2FnZUlkJiZjLkJhLnB1c2goZSk7Yy5jUmEoKT09MSYmYzdhKGEpO2Y9PWY2YS5tZXNzYWdlSWQ/ZDdhKHRoaXMsYSxlKTpmPT1hNmEubWVzc2FnZUlkP2U3YShhLGUpOmY9PWU2YS5tZXNzYWdlSWQmJihmN2EoYSxuZXcgZTZhKGUpKSx0aGlzLkJhKGEpKX19O1xuSnEucHJvdG90eXBlLlFhPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5nZXRDb250ZXh0KCk7Yy5yVmErKzt2YXIgZD1iWzBdO2MuYnhhJiYoXy5iYS5jbGVhclRpbWVvdXQoYy5ieGEpLGMuYnhhPTApO2QhPT1mNmEubWVzc2FnZUlkJiZjLkJhLnB1c2goYik7Yy5jUmEoKT09MSYmYzdhKGEpO2Q9PWY2YS5tZXNzYWdlSWQ/ZDdhKHRoaXMsYSxiKTpkPT1hNmEubWVzc2FnZUlkP2U3YShhLGIpOmQ9PWU2YS5tZXNzYWdlSWQ/KGY3YShhLG5ldyBlNmEoYikpLHRoaXMuQmEoYSkpOihiPWEuZ2V0Q29udGV4dCgpLGE9Xy54NWEoXCJZZFwiLF8uaWgodGhpcy5CYSxhKSwxLHRoaXMpLGIuYnhhPWEpfTtcbnZhciBjN2E9ZnVuY3Rpb24oYSl7dHJ5e18uamgoKX1jYXRjaChiKXtfLklxKFwiRXhjZXB0aW9uIGluIG9uRmlyc3RBcnJheV9cIixiKSxhLmdldENvbnRleHQoKS5vYT1ifX0sZDdhPWZ1bmN0aW9uKGEsYixjKXsoYz1fLkdlKG5ldyBmNmEoYyksMSkpJiZhLlJhJiZjIT1hLlJhJiYoYi5nZXRDb250ZXh0KCkub2E9RXJyb3IoMTA2KSl9LGU3YT1mdW5jdGlvbihhLGIpe3RyeXt2YXIgYz1uZXcgYTZhKGIpLGQ9bmV3IEg2YShjKTthLklkYj1kfWNhdGNoKGUpe18uSXEoXCJFeGNlcHRpb24gaW4gaGFuZGxlRGVidWdJbmZvQXJyYXlfXCIsZSksYS5nZXRDb250ZXh0KCkub2E9ZX19LGY3YT1mdW5jdGlvbihhLGIpe3ZhciBjPWEuZ2V0Q29udGV4dCgpLGQ9Xy5laShiLDEpO2Muc1ZhPWQ7Xy4kaChiLDQpPjAmJihiPV8uJGgoYiw0KSxhLk9iPWIpfTtcbkpxLnByb3RvdHlwZS5CYT1mdW5jdGlvbihhKXt2YXIgYj1hLmdldENvbnRleHQoKTtiLmJ4YSYmKF8uYmEuY2xlYXJUaW1lb3V0KGIuYnhhKSxiLmJ4YT0wKTt2YXIgYz1iLkJhLGQ9Yi52dGEoKTtpZihjLmxlbmd0aCYmKGIuQmE9W10sYi5DYT17fSxiPWE/YS5nZXRDb250ZXh0KCk6bnVsbCwhYnx8IWIub2EpKXRyeXtmb3IodmFyIGU9MDtlPGMubGVuZ3RoO2UrKyl7dmFyIGY9Y1tlXTt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IFE2YShhLGZbMF0sKDAsXy5qdmEpKGYpLCEwKSl9dmFyIGc9KDAsXy5qdmEpKGMpO2EmJk02YShhKSYmYS5BYS5aa2QmJmEuQWEuWmtkKGEsYyk7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBRNmEoYSxcImFhXCIsZykpO2ZvcihmPTA7ZjxjLmxlbmd0aDtmKyspe3ZhciBoPWNbZl0saz0oMCxfLmp2YSkoaCksbD1oWzBdO2lmKGEpaWYobD09Xy5NcS5tZXNzYWdlSWQpe3ZhciBuPV8uRGVhKF8uTXEsKDAsXy5qdmEpKGgpKSxyPV8uZWkobiw1KTtpZihyPj01MDAmJlxucjw3MDApe3ZhciB0PW5ldyBKNWEoYSxyLCExLGEuZk1hKTtpZihXNWEodCkpe2IueHIodCk7YT1iO3ZhciB1PW5ldyBSNWE7YS5vYT11O2JyZWFrfX1nPWE7Zy5JOGM9bjtNNmEoZykmJmcuQWEuazlhJiZnLkFhLms5YShnKX1lbHNlIGc9YSxNNmEoZykmJmcuQWEuTTZiJiZnLkFhLk02YihnLGwsaCxkKTt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IFE2YShhLGwsaykpfX1jYXRjaCh6KXtcImZ1bmN0aW9uXCI9PXR5cGVvZiBfLmc3YSYmeiBpbnN0YW5jZW9mIF8uZzdhfHxfLklxKFwiRXhjZXB0aW9uIGluIHByb2Nlc3NBcnJheXNcIix6KSxiJiYoYi5vYT16KX19O0pxLnByb3RvdHlwZS5VYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRDb250ZXh0KCkuRW1iKCl9O0pxLnByb3RvdHlwZS5HYj1mdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRDb250ZXh0KCkuY1JhKCl9O0pxLnByb3RvdHlwZS5CYj1mdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRDb250ZXh0KCkuc1ZhfTtcbnZhciBoN2E9ZnVuY3Rpb24oYSxiKXtpZihhLmRGYiYmYi5nZXRDb250ZXh0KCkuZGVjPD0wJiYoYT1iLldnLGE+PTQwMCYmYTw1MDApKXt2YXIgYz1fLm1sKFwiYmFzZVwiKSxkPW51bGw7Yy5sZW5ndGgmJihkPWNbMF0uaHJlZik7Yz1kfHx3aW5kb3cubG9jYXRpb24uaHJlZjtkPWIuUmEoKTtjIGluc3RhbmNlb2YgXy5NbXx8KGM9Xy5ZbShjKSk7ZCBpbnN0YW5jZW9mIF8uTW18fChkPV8uWW0oZCkpO2M9Yy5yZXNvbHZlKGQpO2I9Xy5nQ2EoVTZhLFwidXJsXCIsYyxcInN0YXR1c1wiLGEsXCJ0cmFjZWlkXCIsYi5JZGIuQWEpO18uQnEoYixudWxsLFwiUE9TVFwiKTtfLklxKG51bGwsRXJyb3IoXCJYZGBcIitjK1wiYFwiK2EpKX19O1xuSnEucHJvdG90eXBlLkdWYT1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD97fTpiO3ZhciBjPWEuZ2V0Q29udGV4dCgpO2MuQ2E9Yjt0aGlzLkJhKGEpO2g3YSh0aGlzLGEpO3ZhciBkPWMub2E7aWYoZHx8IWMuRW1iKCkpe3ZhciBlO2lmKGQpe2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIF8uZzdhJiZkIGluc3RhbmNlb2YgXy5nN2EpcmV0dXJuIGEuZ2V0VXJsKCksYj1jLkJiYixfLnZhKHRoaXMub2EsYSkmJihSNmEoYS5nZXRDb250ZXh0KCksYiwhMCksXy5QYWEodGhpcy5BYSxhKSxhLmdldENvbnRleHQoKS56YWE9LTEsYTdhKHRoaXMsXCJXQUlUSU5HX0ZPUl9SRVRSWVwiKSksITA7ZCBpbnN0YW5jZW9mIFI1YT9lPWMuZ2V0RXJyb3IoKTplPW5ldyBKNWEoYSxkLm1lc3NhZ2U9PTEwNj8xMDY6MTIsITApfWVsc2UgYj1cIk1pc3NpbmcgZGF0YSBhcnJheXMuIEV4cGVjdGVkIFwiK2Muc1ZhK1wiLCByZWNlaXZlZCBcIitjLmNSYSgpLGU9bmV3IEo1YShhLDEwMywhMSxhLmZNYSxiKSx0aGlzLmtiJiZcbmk3YShhKTtqN2EodGhpcyxhLGUpO3JldHVybiExfWEuZ2V0VXJsKCk7YS53Yj0hMTthLmhiPW51bGw7YS5Ta2I9LTE7TjZhKGEsYik7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBUNmEoXCJqXCIsYSkpO18uemEodGhpcy5BYSxhKTthN2EodGhpcyxcIldBSVRJTkdfRk9SX1JFQURZXCIpO3JldHVybiEwfTtKcS5wcm90b3R5cGUuY2NiPWZ1bmN0aW9uKGEsYil7dGhpcy5rYiYmYi5vYT09MTAzJiZpN2EoYSk7dGhpcy5CYShhKTtoN2EodGhpcyxhKTtqN2EodGhpcyxhLGIpfTt2YXIgajdhPWZ1bmN0aW9uKGEsYixjKXtiLmdldENvbnRleHQoKS54cihjKTtiLklkYj1JNmE7VzVhKGMpPyhfLlBhYShhLkFhLGIpLGIuZ2V0Q29udGV4dCgpLnphYT0tMSxiPVwiV0FJVElOR19GT1JfUkVUUllcIik6KFc1YShjKSxfLnphKGEuQWEsYiksVzZhKGEsYixjKSxiPVwiV0FJVElOR19GT1JfUkVBRFlcIik7YTdhKGEsYil9O18ubT1KcS5wcm90b3R5cGU7XG5fLm0uYVVkPWZ1bmN0aW9uKGEpe3ZhciBiPV8uTGFhKHRoaXMub2EsZnVuY3Rpb24oYyl7cmV0dXJuIGMuZ2V0Q29udGV4dCgpLkFhPT1hfSk7Xy52YSh0aGlzLkFhLGIpfHwoYS5pblVzZT0hMSxiLmdldENvbnRleHQoKS5yZXNldCgpLF8uemEodGhpcy5vYSxiKSk7dGhpcy5HZWEmJihfLmJhLmNsZWFyVGltZW91dCh0aGlzLkdlYSksdGhpcy5HZWE9bnVsbCk7Xy5IYSh0aGlzLkFhLHRoaXMuTndkLHRoaXMpO3RoaXMub2EubGVuZ3RoPHRoaXMucEdhJiYoYTdhKHRoaXMsXCJSRUFEWVwiKSxYNmEodGhpcykpfTtcbl8ubS5Od2Q9ZnVuY3Rpb24oYSl7dmFyIGI9YS5nZXRDb250ZXh0KCk7aWYoYi56YWE9PS0xKXt2YXIgYz1fLlhtKGEub2EsXCJmLnJldHJpZXNcIik7Xy5QNmEoYSx7XCJmLnJldHJpZXNcIjooYz9OdW1iZXIoYyk6MCkrMX0sITEpO2M9Yi5CYmI7dmFyIGQ9Xy5qaCgpK2M7Yi5kZWM9ZDthPV8ueDVhKFwiWWRcIiwoMCxfLmhoKSh0aGlzLm9DZCx0aGlzLGEpLGMpO2IuemFhPWE7UjZhKGIsMipjKTthN2EodGhpcyxcIlJFVFJZX1RJTUVSXCIpfX07Xy5tLm9DZD1mdW5jdGlvbihhKXt2YXIgYj1hLmdldENvbnRleHQoKTtiLnphYSYmKF8uYmEuY2xlYXJUaW1lb3V0KGIuemFhKSxiLnphYT0wKTtiN2EodGhpcyxhKX07Xy5tLmVmYz1mdW5jdGlvbigpe3RoaXMuR2VhPV8ueDVhKFwiWWRcIix0aGlzLmVmYywzRTQsdGhpcyk7dGhpcy5hWWIoKX07XG5fLm0uYVliPWZ1bmN0aW9uKCl7aWYodGhpcy5vYS5sZW5ndGghPTAmJnRoaXMuR2EpZm9yKHZhciBhPXRoaXMub2EubGVuZ3RoLGI9MDtiPGE7YisrKXt2YXIgYz10aGlzLm9hW2JdLGQ9Xy5qaCgpLGU9Yy52YmM7aWYoZT4tMSYmZC1lPjZFNClpZih0aGlzLkdhLnBJZCgpKWJyZWFrO2Vsc2UgdGhpcy5HYS5YZGN8fFk2YSh0aGlzLGMsMSl9fTt2YXIgaTdhPWZ1bmN0aW9uKGEpe18uV20oYS5vYSxcIm5ydFwiLGEuZk1hKTt2YXIgYj1hLmdldENvbnRleHQoKS5BYTtiIGluc3RhbmNlb2YgTnEmJihiPWIuY0EucXgoKSxiIT1udWxsJiZhLk9hKFwicmhtYVwiLGIpKX07SnEucHJvdG90eXBlLmRpc2FibGU9ZnVuY3Rpb24oKXt0aGlzLk9hPSExfTt2YXIgVzZhPWZ1bmN0aW9uKGEsYixjKXt0eXBlb2YgYz09PVwibnVtYmVyXCImJihjPW5ldyBKNWEoYixjKSk7YS5kaXNwYXRjaEV2ZW50KG5ldyBUNmEoXCJrXCIsYixjKSk7Yi53Yj0hMDtiLmhiPWM7TjZhKGIpfTt2YXIgbTdhPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5HYT1iO3RoaXMuQ2E9Yzt0aGlzLlVhPVtdO3RoaXMuQmE9ZDt0aGlzLm9hPWU7dGhpcy5PYT1hLkNhO3RoaXMuQWE9bmV3IF8uSGQ7dGhpcy5SYT1uZXcgXy5IZCgoMCxfLmhoKSh0aGlzLndiLHRoaXMpKTt0aGlzLlFhPSExO3RoaXMuTGE9YTt0aGlzLlRpPW5ldyBRNWEodGhpcy5vYS5hV2Q/YS5BYTphLm9hKTtfLlJtKHRoaXMuVGkub2EsdGhpcy5HYSk7dGhpcy5UaS5CYT10aGlzLm9hLm1ldGhvZDtpZih0eXBlb2YgdGhpcy5vYS5ob3N0PT09XCJzdHJpbmdcIil7dmFyIGY9Xy5XZCgxLHRoaXMub2EuaG9zdCk7dmFyIGc9Xy5XQmEodGhpcy5vYS5ob3N0KTt2YXIgaD1OdW1iZXIoXy5XZCg0LHRoaXMub2EuaG9zdCkpfHxudWxsfWY9Znx8dGhpcy5vYS5zY2hlbWU7dHlwZW9mIGY9PT1cInN0cmluZ1wiJiYoYT10aGlzLlRpLE82YSgpLF8uTm0oYS5vYSxmKSk7Zz1nfHx0aGlzLm9hLmRvbWFpbjt0eXBlb2YgZz09PVwic3RyaW5nXCImJlxuKGY9dGhpcy5UaSxPNmEoKSxfLlBtKGYub2EsZykpO3R5cGVvZiBoPT09XCJudW1iZXJcIiYmKGc9dGhpcy5UaSxPNmEoKSxfLlFtKGcub2EsaCkpO3RoaXMuaGI9ITE7aD10aGlzLlRpOyhnPSFfLnZhKF8uJDBhLHRoaXMuVGkuQmEpKSYmXy52YShfLiQwYSxoLkJhKT9oLkJhPVwiR0VUXCI6Z3x8Xy52YShfLiQwYSxoLkJhKXx8KGguQmE9XCJQT1NUXCIpO0s2YShoKTtoLkJiPWc7azdhKHRoaXMpO2lmKHRoaXMuQ2Epe2lmKF8udmEoXy4kMGEsdGhpcy5UaS5CYSkpe2g9dGhpcy5DYTt0cnl7dmFyIGs9aCBpbnN0YW5jZW9mIEhUTUxGb3JtRWxlbWVudH1jYXRjaChsKXtrPXR5cGVvZiBoPT09XCJvYmplY3RcIiYmaC5ub2RlVHlwZT09PTEmJnR5cGVvZiBoLnN0eWxlPT09XCJvYmplY3RcIiYmdHlwZW9mIGgub3duZXJEb2N1bWVudD09PVwib2JqZWN0XCImJmgudGFnTmFtZS50b0xvd2VyQ2FzZSgpPT09XCJmb3JtXCJ9aWYoayl7az10aGlzLlRpO0s2YShrKTtrLngkYT0hMTtrPXRoaXMuVGk7aD10aGlzLkNhO1xuSzZhKGspO2lmKGsueCRhKXRocm93IEVycm9yKFwiUmRcIik7ay5DYT1ofWVsc2UgdGhpcy5DYSBpbnN0YW5jZW9mIF8ucT90aGlzLlRpLk9hKFwiZi5yZXFcIix0aGlzLkNhLldjKCkpOl8uUDZhKHRoaXMuVGksdGhpcy5DYSwhMCl9ZWxzZSBfLlA2YSh0aGlzLlRpLHRoaXMuQ2EsITEpO3RoaXMub2EuaSQmJihfLkw2YSh0aGlzLlRpLCExKSxrPXRoaXMuVGksSzZhKGspLGsuR2I9ITApfWw3YSh0aGlzKX07bTdhLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTGEuc2VuZFJlcXVlc3QodGhpcyl9O1xudmFyIG43YT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz17fSxkPTA7ZDxiLmxlbmd0aDtkKyspY1tiW2RdLm1lc3NhZ2VJZF09YltkXTtiPVtdO2Q9W107Zm9yKHZhciBlPTA7ZTxhLmxlbmd0aDtlKyspe3ZhciBmPWFbZV07aWYoZiBpbnN0YW5jZW9mIF8ucSl7dmFyIGc9Y1tmLmNvbnN0cnVjdG9yLm1lc3NhZ2VJZF07ZiBpbnN0YW5jZW9mIF8uTXE/ZC5wdXNoKGYpOmcmJmIucHVzaChmKX1lbHNle3ZhciBoPUs1YShmKTtpZihnPWNbaF0paD1oPT09YTZhLm1lc3NhZ2VJZHx8aD09PWU2YS5tZXNzYWdlSWR8fGg9PT1fLk1xLm1lc3NhZ2VJZCxmPV8uRGVhKGcsaD8oMCxfLmp2YSkoZik6ZiksYi5wdXNoKGYpLGh8fChhW2VdPWYpfX1yZXR1cm57dFhhOmIsZURhOmR9fTttN2EucHJvdG90eXBlLkdiPWZ1bmN0aW9uKGEpe2E9YS5kYXRhO2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7YisrKXt2YXIgYz1hW2JdO2lmKGMgaW5zdGFuY2VvZiBKNWEpdGhyb3cgYzt9cmV0dXJuIGF9O1xubTdhLnByb3RvdHlwZS5CYj1mdW5jdGlvbihhKXthPWEuZGF0YTtpZih0aGlzLkJhLmxlbmd0aD09PTApcmV0dXJuIG51bGw7dmFyIGI9bjdhKGEsdGhpcy5CYSk7aWYoYi50WGEubGVuZ3RoPT09MCYmYi5lRGEubGVuZ3RoPT09MCl0aHJvdyBuZXcgWjVhKHRoaXMuQmEsYSx0aGlzLkdhKTtyZXR1cm4gXy5SYWEoYi50WGEsYi5lRGEpfTttN2EucHJvdG90eXBlLk9iPWZ1bmN0aW9uKGEpe2E9YS5kYXRhO2lmKHRoaXMuQmEubGVuZ3RoPT09MClyZXR1cm4gbnVsbDt2YXIgYj1uN2EoYSx0aGlzLkJhKSxjPWIudFhhO2I9Yi5lRGE7aWYoYy5sZW5ndGg9PT0wJiZiLmxlbmd0aD09PTApdGhyb3cgbmV3IFo1YSh0aGlzLkJhLGEsdGhpcy5HYSk7aWYoYy5sZW5ndGg9PT0xJiZiLmxlbmd0aD09PTApcmV0dXJuIGNbMF07aWYoYy5sZW5ndGg9PT0wJiZiLmxlbmd0aD09PTEpdGhyb3cgYlswXTt0aHJvdyBuZXcgWTVhKHRoaXMuQmEsYSx0aGlzLkdhKTt9O1xubTdhLnByb3RvdHlwZS5nZXRVcmw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5UaS5nZXRVcmwoKX07Xy5vN2E9ZnVuY3Rpb24oYSxiKXtfLlA2YShhLlRpLGIsITEpfTttN2EucHJvdG90eXBlLmNhbmNlbD1mdW5jdGlvbigpe3RoaXMuQWEuY2FuY2VsKCl9O1xudmFyIHA3YT1mdW5jdGlvbihhLGIpe18uSGEoYS5PYSxmdW5jdGlvbihjKXt2YXIgZD1bXTtBcnJheS5pc0FycmF5KGQpfHwoZD1bZF0pO2Q9bjdhKGIsZCkuZURhO2lmKGQubGVuZ3RoKXRyeXtjLkJhKGQpfWNhdGNoKGUpe2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIF8uZzdhJiZlIGluc3RhbmNlb2YgXy5nN2EpdGhyb3cgdGhpcy5oYj0hMCxuZXcgJDVhO3Rocm93IGU7fX0sYSl9LHE3YT1mdW5jdGlvbihhLGIpe2Eub2EuaSQ/KGI9W2JdLHA3YShhLGIpLGI9bjdhKGIsYS5CYSksYi50WGEubGVuZ3RoPjA/YS5vYS5pJChiLnRYYVswXSk6Yi5lRGEubGVuZ3RoPjAmJmEub2EuaSQoYi5lRGFbMF0pKTphLlVhLnB1c2goYil9LGs3YT1mdW5jdGlvbihhKXt2YXIgYj17fSxjPWEuUmE7Yi5rOWE9KDAsXy5oaCkoZnVuY3Rpb24oZCl7aWYoIWMub2Epe3ZhciBlPWQuaXRiKCk7ZT9jLlJEKGUpOnE3YSh0aGlzLGQuSThjKX19LGEpO2IuTDZiPSgwLF8uaGgpKGZ1bmN0aW9uKGQsZSl7Yy5vYXx8XG5jLmNhbGxiYWNrKHtkYXRhOnRoaXMuVWEscmVzcG9uc2VIZWFkZXJzOmV9KX0sYSk7Yi5NNmI9KDAsXy5oaCkoZnVuY3Rpb24oZCxlLGYpe3E3YSh0aGlzLGYpfSxhKTtiLmtEZT0hMDthLlRpLkFhPWJ9LGw3YT1mdW5jdGlvbihhKXtfLkhhKGEuT2EsZnVuY3Rpb24oYil7Yi5vYSYmdGhpcy5BYS5hZGRDYWxsYmFjayhiLm9hLGIpfSxhKTthLkFhLmFkZENhbGxiYWNrKGZ1bmN0aW9uKGIpe2Iuc2VuZCgpO3JldHVybiB0aGlzLlJhfSxhKTthLm9hLmkkP2EuQWEuYWRkQ2FsbGJhY2soZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH0pOihhLkFhLmFkZENhbGxiYWNrKGZ1bmN0aW9uKGIpe3A3YShhLGIuZGF0YSl9KSxhLm9hLlRaYz9hLkFhLmFkZENhbGxiYWNrKGEuQmIsYSk6YS5vYS5TaGM/YS5BYS5hZGRDYWxsYmFjayhhLkdiLGEpOmEuQWEuYWRkQ2FsbGJhY2soYS5PYixhKSk7Xy50ZyhhLkFhLGEua2IsYSl9O1xubTdhLnByb3RvdHlwZS5rYj1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgJDVhfHx0aGlzLmhiJiZ0aGlzLm9hLmkkKXthPV8uWG0odGhpcy5UaS5vYSxcImYucmV0cmllc1wiKTthPShhP051bWJlcihhKTowKSsxO2lmKGE+MTAwKXRocm93IG5ldyBfLkxxKFwiVG9vTWFueVJldHJpZXNcIiwxMDIsdGhpcy5HYSxcIlRoZXJlIHdhcyBhbiBlcnJvciBhZnRlciBzZXZlcmFsIHJldHJpZXMuXCIpO3ZhciBiPV8ucjdhKHRoaXMuTGEsdGhpcy5HYSx0aGlzLkNhLHRoaXMuQmEsdGhpcy5vYSk7Xy5vN2EoYix7XCJmLnJldHJpZXNcIjphfSk7cmV0dXJuIHRoaXMuTGEuc2VuZFJlcXVlc3QoYil9aWYoIShhIGluc3RhbmNlb2YgXy5FRGEpKXtpZighdGhpcy5vYS5TaGMmJmEgaW5zdGFuY2VvZiBKNWEpe2I9YS5vYTtpZihiPT0xMDAmJnRoaXMuUWEpcmV0dXJuIG5ldyBfLkVEYSh0aGlzLkFhKTt0aHJvdyBuZXcgXy5McShcIlRyYW5zcG9ydEVycm9yXCIsYix0aGlzLkdhLFwiVGhlcmUgd2FzIGFuIGVycm9yIGR1cmluZyB0aGUgdHJhbnNwb3J0IG9yIHByb2Nlc3Npbmcgb2YgdGhpcyByZXF1ZXN0LlwiLFxuYSk7fXRocm93IGE7fX07bTdhLnByb3RvdHlwZS53Yj1mdW5jdGlvbigpe3RoaXMuVGkmJih0aGlzLlFhPSEwLHRoaXMuVGkuYWJvcnQoKSl9O203YS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5UaS5nZXRVcmwoKX07bTdhLnByb3RvdHlwZS5PZz1udWxsO3ZhciBzN2E9ZnVuY3Rpb24oYSl7TnEuY2FsbCh0aGlzLFwialwiLGF8fG51bGwpfTtfLkQoczdhLE5xKTtzN2EucHJvdG90eXBlLmhIYj1mdW5jdGlvbihhKXt2YXIgYj1hLkNhO3JldHVybiBiJiZVNWEoYik/MDphLngkYSYmIWEuR2I/Ljk6LjV9O3M3YS5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXt2YXIgYT1uZXcgczdhO2EubHoodGhpcy5CYSx0aGlzLmhiKTtyZXR1cm4gYX07czdhLnByb3RvdHlwZS5ZNmI9ZnVuY3Rpb24oYSl7dmFyIGI9YS5xeCgpO2I9Yi5zdWJzdHJpbmcoYi5pbmRleE9mKFwiXFxuXCIpKTthPXRoaXMuQWE7dHJ5e3ZhciBjPXdpbmRvdy5KU09OLnBhcnNlKGIpfWNhdGNoKGQpe2M9bmV3IEo1YShhLDEwKTt0aGlzLm9hLmNjYihhLGMpO3JldHVybn1BcnJheS5pc0FycmF5KGMpJiZ0aGlzLm9hLmQ5YShhLGNbMF0pO3RoaXMub2EuR1ZhKGEpfTtcbnM3YS5wcm90b3R5cGUuWVJhPWZ1bmN0aW9uKGEpe3ZhciBiPWEucXgoKTtiPWIuc3Vic3RyaW5nKGIuaW5kZXhPZihcIlxcblwiKSk7dHJ5e3ZhciBjPXdpbmRvdy5KU09OLnBhcnNlKGIpfWNhdGNoKGQpe31BcnJheS5pc0FycmF5KGMpPyhhPXRoaXMuQWEsdGhpcy5vYS5kOWEoYSxjWzBdKSx0aGlzLm9hLkdWYShhKSk6TnEucHJvdG90eXBlLllSYS5jYWxsKHRoaXMsYSl9O18ubWgoXy5LcSxfLk5rKTt2YXIgUzVhPXtUWmM6ITEsZG9tYWluOnZvaWQgMCxpJDpudWxsLG1ldGhvZDpcIlBPU1RcIixTaGM6ITEsc2NoZW1lOnZvaWQgMCxob3N0OnZvaWQgMCxhV2Q6ITF9O18uS3EucHJvdG90eXBlLmdldERlZmF1bHRPcHRpb25zPWZ1bmN0aW9uKCl7cmV0dXJuIF8uZWModGhpcy5QT2EpfTt2YXIgdDdhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uUmMoXCJJbTZjbWZcIikuc3RyaW5nKCkrXCIvcmVwb3J0aHR0cDR4eGVycm9yXCI7YS5BYSYmKGEuQWEuZEZiPSEwKTthLm9hJiYoYS5vYS5kRmI9ITApO2ImJihVNmE9Yil9O18uS3EucHJvdG90eXBlLkJhPWZ1bmN0aW9uKGEpe18uSGcodGhpcyxhKTt0aGlzLkNhLnB1c2goYSl9O18uS3EucHJvdG90eXBlLm1ha2VSZXF1ZXN0PWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLnNlbmRSZXF1ZXN0KF8ucjdhKHRoaXMsYSxiLGMsZCkpfTtcbl8ucjdhPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9W10sZz17fTtlfHxkJiYodHlwZW9mIGQ9PT1cImZ1bmN0aW9uXCJ8fEFycmF5LmlzQXJyYXkoZCkpPyhkJiYoZj1BcnJheS5pc0FycmF5KGQpP2Q6W2RdKSxlJiYoZz1lKSk6ZCYmKGc9ZCk7ZD1mO2U9YS5nZXREZWZhdWx0T3B0aW9ucygpO18uaWhhKGUsZ3x8e30pO3JldHVybiBuZXcgbTdhKGEsYixjfHxudWxsLGQsZSl9O18uS3EucHJvdG90eXBlLnNlbmRSZXF1ZXN0PWZ1bmN0aW9uKGEpe3RoaXMuT2F8fCh0aGlzLk9hPWEpO2EuQWEuY2FsbGJhY2soYS5UaSk7cmV0dXJuIGEuQWF9O18uS3EucHJvdG90eXBlLlFjPWZ1bmN0aW9uKCl7Xy5YYih0aGlzLkFhKTtfLlhiKHRoaXMub2EpO18uWGIodGhpcy5MYSk7Xy5LcS5PZC5RYy5jYWxsKHRoaXMpfTtcbl8uS3EucHJvdG90eXBlLmluaXRpYWxpemU9ZnVuY3Rpb24oYSl7YT1hLmdldChfLllKYSkub2E7dmFyIGI9bmV3IEpxO2IuR2E9YTtiLkdhJiZiLlFkLmxpc3RlbihiLkdhLFwiZ1wiLGIuYVliKTtWNmEoYixuZXcgczdhKTt0aGlzLkFhPWI7YT1uZXcgSnE7VjZhKGEsbmV3IHM3YSk7dGhpcy5vYT1hO3RoaXMuTGE9bnVsbDt0aGlzLkdhJiYodGhpcy5BYS5Ua2I9dGhpcy5HYSx0aGlzLm9hLlRrYj10aGlzLkdhKX07Xy5LcS5wcm90b3R5cGUubHo9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGQpe2QmJl8uSGEoZC5zaGEuY29uY2F0KCksZnVuY3Rpb24oZSl7ZS5seihhLGIpfSl9Yyh0aGlzLkFhKTtjKHRoaXMub2EpfTtcbnZhciB1N2E9ZnVuY3Rpb24oYSl7dmFyIGI9W107YS5BYSYmYi5wdXNoLmFwcGx5KGIsXy5tZChhLkFhLnNoYS5jb25jYXQoKSkpO2Eub2EmJmIucHVzaC5hcHBseShiLF8ubWQoYS5vYS5zaGEuY29uY2F0KCkpKTthPV8uUGEoYik7Zm9yKGI9YS5uZXh0KCk7IWIuZG9uZTtiPWEubmV4dCgpKWI9Yi52YWx1ZSxiIGluc3RhbmNlb2YgejZhJiYoYi5RYT0hMCl9O18uQWQoXy5nbyxfLktxKTtfLnlkKCkud2FhKGZ1bmN0aW9uKGEpe3ZhciBiPV8udmQoKSxjPW5ldyBfLktxKGEpO2MueEJhPWZ1bmN0aW9uKCl7Yy54QmE9bnVsbDtyZXR1cm4gYi5wcm9taXNlfTthLnJlZ2lzdGVyU2VydmljZShfLmdvLGMpO2MuaW5pdGlhbGl6ZShhKTt2YXIgZD1uZXcgejZhLGU7KGU9Yy5BYSk9PW51bGx8fFY2YShlLGQpO3ZhciBmOyhmPWMub2EpPT1udWxsfHxWNmEoZixkKTt1N2EoYyk7KGQ9Yy5BYSkhPW51bGwmJihkLnBHYT0xMCk7KGQ9Yy5vYSkhPW51bGwmJihkLnBHYT0xMCk7dDdhKGMpO2EuZ2V0KF8uWkphKS5yaWMoKTtjLkJhKG5ldyBFNmEoXy5jbShfLlJjKFwiRmRyRkplXCIpKSkpO2MuQmEobmV3IEI2YShfLmNtKF8uUmMoXCJjZmIyaFwiKSkpKTtjLkJhKG5ldyBENmEoXCJlXCIsXCJtb2RzXCIsXCJqc21vZGVcIixcImRlYlwiLFwib3B0XCIsXCJyb3V0ZVwiLFwiaG90c3dhcHNcIikpO2E9d2luZG93LmxvY2F0aW9uLmhyZWY7Xy5LbShhLFwiaGxcIil8fChhPV8uZ0NhKGEsXCJobFwiLFwiZW5cIikpO2MuQmEobmV3IEM2YShcImUgaGwgZ2wganNtb2RlIGRlYiBvcHQgcm91dGUgaG90c3dhcHMgX2hvc3RUeXBlIGF1dGh1c2VyIHBhZ2VJZCBkdXVsIG51dWxcIi5zcGxpdChcIiBcIiksXG5hKSk7Yy5CYShuZXcgZzZhKTtiLnJlc29sdmUoe30pfSk7XG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwia1dnWGVlXCIpO1xudmFyIFVhYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX0sVmFiLFdhYixZYWI7Xy5EKFVhYixfLnEpO1VhYi5wcm90b3R5cGUuRVFhPWZ1bmN0aW9uKCl7cmV0dXJuIF8uaWkodGhpcywxKX07VmFiPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBfLldmO3JldHVybiBfLlBiKGIsMixhKX07V2FiPXt2YWx1ZTozLEhJZDohMH07Xy5YYWI9ZnVuY3Rpb24oYSxiKXtfLlliKGEsZnVuY3Rpb24oYyl7Xy5KYWIoYixjLnVtKCkpO2IuZ2V0VHlwZShjLnVtKCkpfSl9O1lhYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKFlhYixfLnEpO1lhYi5vYj1bMV07dmFyIFphYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKFphYixfLnEpO1phYi5vYj1bMV07WmFiLnByb3RvdHlwZS5xYj1cIktwZkRrZlwiO3ZhciAkYWI9Xy5OYig0NjMzMDM0NDQsWmFiKTtfLkNtWzQ2MzMwMzQ0NF09WzAsXy5rayxfLmFtXTtfLmFiYj1mdW5jdGlvbihhKXtfLkRuLmNhbGwodGhpcyxhLk5hKTt0aGlzLkFhPWEuWGIucmVxdWVzdDt0aGlzLm9hPWEuc2VydmljZS5tZXRhZGF0YTt0aGlzLkJhPWEuc2VydmljZS54RmI7dGhpcy5MYT1hLnNlcnZpY2UublFkO3RoaXMuT2c9bnVsbDthLnNlcnZpY2UuT3JkLm9hKCk7Xy55Zih0aGlzLHtzZXJ2aWNlOntTSWQ6Xy5CYWJ9fSkudGhlbihmdW5jdGlvbihiKXtfLlYkYShiLnNlcnZpY2UuU0lkLFdhYil9KX07Xy5EKF8uYWJiLF8uRG4pO18uYWJiLldhPV8uRG4uV2E7Xy5hYmIuSWE9ZnVuY3Rpb24oKXtyZXR1cm57WGI6e3JlcXVlc3Q6Xy5LcX0sc2VydmljZTp7bWV0YWRhdGE6Xy5lcix4RmI6Xy54YWIsblFkOl8uTmFiLE9yZDpfLk1hYn19fTtfLmFiYi5wcm90b3R5cGUuZXhlY3V0ZT1mdW5jdGlvbihhKXtpZihfLmNjKGEpKXJldHVybnt9O18uWGFiKGEsdGhpcy5vYSk7cmV0dXJuIGJiYih0aGlzLGEpfTtcbnZhciBiYmI9ZnVuY3Rpb24oYSxiKXt2YXIgYz17fSxkPXt9LGU9bmV3IFlhYixmPXt9LGc9e30saD0hMCxrPW51bGwsbD0hMSxuPW5ldyBNYXA7Xy5ZYihiLGZ1bmN0aW9uKFAsUSl7dmFyIFU9UC5vYSgpLldjKCksbWE9UC51bSgpLnRvU3RyaW5nKCksamE9bWErVTtuLmhhcyhqYSk/KFA9bi5nZXQoamEpLGRbUV09ZFtQXSxjW1FdPWNbUF0pOihjW1FdPV8udmQoKSxkW1FdPWNbUV0ucHJvbWlzZSxuLnNldChqYSxRKSxqYT1uZXcgXy5PYWIsUT1fLkRlKGphLDQsUSksUT1fLkRlKFEsMSxtYSksUC5vYSgpJiZfLlBhYihRLFUpLF8uWmgoZSwxLF8uT2FiLFEpLGg/KGc9Xy5TYWIoUCksaD0hMSxrPWEuQmEub2EsbD1fLldwKFAsXy5UcCksZj1fLldwKFAsXy51UGEpKTpjYmIoayxhLkJhLm9hKSl9KTt2YXIgcj17aSQ6YS5HYS5iaW5kKGEsYixjKX0sdD1fLnI3YShhLkFhLFwiXCIrXy5SYyhcImVwdFplXCIpK1wiZGF0YS9iYXRjaGV4ZWN1dGVcIixlLFtfLlFhYl0scik7cj1PYmplY3QudmFsdWVzKGIpO1xudmFyIHU9ci5maWx0ZXIoZnVuY3Rpb24oUCl7cmV0dXJuIF8uV3AoUCxfLnZQYSk+MH0pLm1hcChmdW5jdGlvbihQKXtyZXR1cm4gUC51bSgpLnRvU3RyaW5nKCkrXCI6XCIrXy5XcChQLF8udlBhKX0pLmpvaW4oXCIsXCIpLHo9e3JwY2lkczpBcnJheS5mcm9tKG5ldyBTZXQoci5tYXAoZnVuY3Rpb24oUCl7cmV0dXJuIFAudW0oKS50b1N0cmluZygpfSkpKS5qb2luKCksXCJzb3VyY2UtcGF0aFwiOmEuTGEub2EoKX07dS5sZW5ndGg+MCYmKHpbXCJmY2QucmV0cmllc1wiXT11KTtyLmZvckVhY2goZnVuY3Rpb24oUCl7aWYoXy5XcChQLF8ud1BhKSE9PXZvaWQgMClmb3IodmFyIFE9Xy5QYShfLldwKFAsXy53UGEpLmtleXMoKSksVT1RLm5leHQoKTshVS5kb25lO1U9US5uZXh0KCkpVT1VLnZhbHVlLHpbVV09Xy5XcChQLF8ud1BhKS5nZXQoVSl9KTtfLm83YSh0LHopO3I9dC5UaS5MYTtfLmNjKGcpfHxyLmFkZEFsbChnKTtpZihmIT1udWxsKWZvcih2YXIgQiBpbiBmKXIuc2V0KEIsZltCXSk7IWsmJlxubHx8Xy5ONWEodC5UaSxcIkZBSUxcIik7YS5DYSh0LlRpLGIpO18udGcoYS5BYS5zZW5kUmVxdWVzdCh0KSxmdW5jdGlvbihQKXtfLkhhKF8uYWMoYyksZnVuY3Rpb24oUSl7US5yZWplY3QoUCl9KX0sYSk7dmFyIEY9ITEsSz1fLlpnYShkKTtfLlliKGQsZnVuY3Rpb24oUCxRKXtQLnpyKGZ1bmN0aW9uKFUpe1UgaW5zdGFuY2VvZiBfLmtkJiYoRj0hMCxfLmRoYShiLFEpKX0pO18uVGQoUCxmdW5jdGlvbigpe0stLTtGJiZLPT09MCYmdC5jYW5jZWwoKX0pfSk7cmV0dXJuIGR9LGNiYj1mdW5jdGlvbihhLGIpe2lmKGEhPT1iJiYoYXx8YikmJiEoYSYmIWJ8fCFhJiZifHxhLk90YigpIT1iLk90YigpfHxhLllqYigpIT1iLllqYigpKSl7dmFyIGM9bmV3IFNldChhLkN1YigpKSxkPW5ldyBTZXQoYi5DdWIoKSk7Yy5zaXplPT1kLnNpemUmJltdLmNvbmNhdChfLm1kKGMpKS5ldmVyeShmdW5jdGlvbihlKXtyZXR1cm4gZC5oYXMoZSl9KSYmZGJiKGEuQnRiKCksYi5CdGIoKSkmJmRiYihhLlB0YigpLFxuYi5QdGIoKSl9fSxkYmI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09PWI/ITA6YSYmIWJ8fCFhJiZifHxhLm9hKCkhPWIub2EoKXx8YS5BYSgpIT1iLkFhKCk/ITE6ITB9LGViYj1mdW5jdGlvbihhKXt2YXIgYj17fTthLmZvckVhY2goZnVuY3Rpb24oYyl7dmFyIGQ9Xy5laShjLDEpO2M9Xy5HZShjLDIpO2JbZF09SlNPTi5wYXJzZShjKX0pO3JldHVybiBuZXcgXy5BQmEoW2JdKX07XG5fLmFiYi5wcm90b3R5cGUuR2E9ZnVuY3Rpb24oYSxiLGMpe2lmKGMgaW5zdGFuY2VvZiBfLk1xKXt2YXIgZD1fLlZlKGMsMik/XCIgW1wiK18uR2UoYywyKStcIl1cIjpcIlwiO2Q9VmFiKFwiUlBDIGV4ZWN1dG9yIHNlcnZpY2UgdGhyZXcgYW4gZXJyb3JcIitkK1wiIVwiKTtfLm1qKGMsOSkmJl8udnFhKGQsXy5laShjLDkpKTsoYz1jLm9hKCkpJiYoYz1jLmdldEV4dGVuc2lvbigkYWIpKSYmXy51cWEoZCxfLlJlKGMsXy5VZiwxLF8uU2UoKSkpO3ZhciBlPW5ldyBfLlhmKGQpO18uSGEoXy5hYyhiKSxmdW5jdGlvbihoKXtoLnJlamVjdChlKX0pfWVsc2UgaWYoZD1fLkdlKGMsNiksYS5oYXNPd25Qcm9wZXJ0eShkKSl7aWYoXy5WZShjLDIpKXthPWFbZF07dmFyIGY9YS51bSgpLnFrYSgpLGc9ZWJiKF8uUmUoYyxVYWIsNyxfLlNlKCkpKTtjPV8uQShjLDIpO2M9Xy5XcChhLF8uYmFiKSYmXy5mYmI/Xy5WYihmLGMpLkVzKCk6Xy5WYihmLGMpO2M9YS51bSgpLldpKGMsZyk7YltkXS5yZXNvbHZlKGMpfWVsc2UgYy5KeigpJiZcbihjPW5ldyBfLlhmKGMuZ2V0RXJyb3IoKSksYltkXS5yZWplY3QoYykpO18uZGhhKGIsZCl9fTtfLmFiYi5wcm90b3R5cGUuQ2E9ZnVuY3Rpb24oKXt9O18uZmJiPSExO18uRm4oXy5TSmEsXy5hYmIpO1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcIlUwYVBnZFwiKTtcbl8uTyRhPWZ1bmN0aW9uKGEpe18uRG4uY2FsbCh0aGlzLGEuTmEpO3RoaXMub2E9e307dGhpcy5BYT17fTt0aGlzLkJhPXt9O3RoaXMuQ2E9MH07Xy5EKF8uTyRhLF8uRG4pO18uTyRhLldhPV8uRG4uV2E7Xy5PJGEuSWE9ZnVuY3Rpb24oKXtyZXR1cm57fX07Xy5PJGEucHJvdG90eXBlLmNyZWF0ZT1mdW5jdGlvbihhKXt2YXIgYj10aGlzO18uWWIoYSxmdW5jdGlvbihkKXtpZihfLldwKGQsXy5wUGEpfHxfLldwKGQsXy5xUGEpKXRocm93IEVycm9yKFwiZ2VcIik7fSk7dGhpcy5DYSsrO3ZhciBjPTA7cmV0dXJuIF8uWmIoYSxmdW5jdGlvbihkKXt2YXIgZT1iLkNhK1wiXCI7YysrO3ZhciBmPWMrXCJcIjtiLm9hW2VdfHwoYi5vYVtlXT1bXSk7Yi5vYVtlXS5wdXNoKGYpO3JldHVybiBfLlZwKF8uVnAoZCxfLnBQYSxlKSxfLnFQYSxmKX0sdGhpcyl9O1xuXy5RJGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLldwKGIsXy5wUGEpO2I9Xy5XcChiLF8ucVBhKTtjJiZiJiYoXy56YShhLm9hW2NdLGIpLGEuQWFbY10mJmEuQWFbY10ubGVuZ3RoPT1hLm9hW2NdLmxlbmd0aCYmKGEuQmFbY10oKSxfLlAkYShhLGMpKSl9O18uTyRhLnByb3RvdHlwZS50cmFjaz1mdW5jdGlvbihhLGIpe2lmKHRoaXMuQWFbYV0pdGhyb3cgRXJyb3IoXCJoZWBcIithKTt0aGlzLkFhW2FdPVtdO3RoaXMuQmFbYV09Yn07Xy5QJGE9ZnVuY3Rpb24oYSxiKXtkZWxldGUgYS5vYVtiXTtkZWxldGUgYS5BYVtiXTtkZWxldGUgYS5CYVtiXX07Xy5GbihfLkxKYSxfLk8kYSk7XG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwib3ZLdUxkXCIpO1xudmFyIG9iYjtvYmI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLldwKGIsXy5wUGEpLGQ9Xy5XcChiLF8ucVBhKTtpZighY3x8IWQpdGhyb3cgRXJyb3IoXCJpZVwiKTtpZighYS5BYVtjXSl0aHJvdyBFcnJvcihcImplYFwiK2QrXCJgXCIrYyk7aWYoXy52YShhLkFhW2NdLGQpKXRocm93IEVycm9yKFwia2VgXCIrZCtcImBcIitjKTthLkFhW2NdLnB1c2goYik7aWYoYS5vYVtjXSl7aWYoYS5vYVtjXS5sZW5ndGg8YS5BYVtjXS5sZW5ndGgpdGhyb3cgYj1FcnJvcihcImxlYFwiK2MrXCJgXCIrYS5vYVtjXS5sZW5ndGgpLF8uUCRhKGEsYyksYjthLkFhW2NdLmxlbmd0aD09YS5vYVtjXS5sZW5ndGgmJihhLkJhW2NdKCksXy5QJGEoYSxjKSl9ZWxzZSBhLkJhW2NdKCksXy5QJGEoYSxjKX07XG5fLnBiYj1mdW5jdGlvbihhKXtfLkRuLmNhbGwodGhpcyxhLk5hKTt0aGlzLkNhPWEuc2VydmljZS5vbmI7dGhpcy5HYT1hLnNlcnZpY2UubWV0YWRhdGE7dGhpcy5PYT1fLlE4YS5nZXRJbnN0YW5jZSgpO3RoaXMuTGE9YS5zZXJ2aWNlLkFjYTt0aGlzLkJhPXt9O3RoaXMub2E9e307dGhpcy5BYT17fX07Xy5EKF8ucGJiLF8uRG4pO18ucGJiLldhPV8uRG4uV2E7Xy5wYmIuSWE9ZnVuY3Rpb24oKXtyZXR1cm57c2VydmljZTp7b25iOl8uYWJiLG1ldGFkYXRhOl8uZXIsQWNhOl8uTyRhfX19O1xuXy5wYmIucHJvdG90eXBlLmZldGNoPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz1hLnVtKCk7Xy5SYWIoYS5vYSgpLGMsdGhpcy5HYSk7dmFyIGQ9Xy5XcChhLF8ucFBhKSxlPV8uV3AoYSxfLnFQYSk7cmV0dXJuIGQmJmU/KHRoaXMub2FbZF18fCh0aGlzLm9hW2RdPXt9LHRoaXMuQmFbZF09e30sdGhpcy5MYS50cmFjayhkLCgwLF8uaGgpKGZ1bmN0aW9uKCl7dmFyIGY9dGhpczt0aGlzLkFhW2RdPXRoaXMuQ2EuZXhlY3V0ZSh0aGlzLkJhW2RdKTt2YXIgZz17fSxoO2ZvcihoIGluIHRoaXMuQWFbZF0pZz17Y186Zy5jX30sZy5jXz1oLHRoaXMuQWFbZF1bZy5jX10udGhlbihmdW5jdGlvbihrKXtyZXR1cm4gZnVuY3Rpb24obCl7Zi5vYVtkXVtrLmNfXS5yZXNvbHZlKGwpO3FiYihmLGQsay5jXyl9fShnKSxmdW5jdGlvbihrKXtyZXR1cm4gZnVuY3Rpb24obCl7Zi5vYVtkXVtrLmNfXS5yZWplY3QobCk7cWJiKGYsZCxrLmNfKX19KGcpLHRoaXMpfSx0aGlzKSkpLHRoaXMuQmFbZF1bZV09XG5hLHRoaXMub2FbZF1bZV09Xy52ZCgpLG9iYih0aGlzLkxhLGEpLHRoaXMub2FbZF1bZV0ucHJvbWlzZS56cihmdW5jdGlvbihmKXtmIGluc3RhbmNlb2YgXy5rZCYmYi5BYS5oYXNPd25Qcm9wZXJ0eShkKSYmYi5BYVtkXS5oYXNPd25Qcm9wZXJ0eShlKSYmYi5BYVtkXVtlXS5jYW5jZWwoKX0pLHRoaXMub2FbZF1bZV0ucHJvbWlzZSk6dGhpcy5DYS5leGVjdXRlKHtnZW5lcmljOmF9KS5nZW5lcmljfTtfLnBiYi5wcm90b3R5cGUuemM9ZnVuY3Rpb24oYSl7dmFyIGI9YS51bSgpO18uUmFiKGEub2EoKSxiLHRoaXMuR2EpO2I9KDAsXy5oaCkoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5DYS5leGVjdXRlKHtnZW5lcmljOmF9KS5nZW5lcmljfSx0aGlzKTtyZXR1cm4gdGhpcy5PYS5leGVjdXRlKGIsXy5XcChhLF8udFBhKSl9O1xudmFyIHFiYj1mdW5jdGlvbihhLGIsYyl7YyYmKGRlbGV0ZSBhLm9hW2JdW2NdLGRlbGV0ZSBhLkJhW2JdW2NdLGRlbGV0ZSBhLkFhW2JdW2NdKTtfLmNjKGEub2FbYl0pJiYoZGVsZXRlIGEuQmFbYl0sZGVsZXRlIGEub2FbYl0sZGVsZXRlIGEuQWFbYl0pfTtfLkZuKF8uVEphLF8ucGJiKTtcbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJzZ1k2WmJcIik7XG52YXIgcHJiLHFyYix2cmIsd3JiLHhyYix5cmIsQXJiLEJyYixDcmIsRHJiO3ByYj1mdW5jdGlvbihhKXt2YXIgYjtyZXR1cm4oYj1vcmIuZ2V0KGEpKSE9bnVsbD9iOnt9fTtxcmI9ZnVuY3Rpb24oKXtfLmxjLmFwcGx5KDAsYXJndW1lbnRzKS5mb3JFYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPV8uUGEoYSk7YT1iLm5leHQoKS52YWx1ZTtiPWIubmV4dCgpLnZhbHVlO29yYi5zZXQoYSxiKX0pfTtfLnNyYj1mdW5jdGlvbigpe18ubGMuYXBwbHkoMCxhcmd1bWVudHMpLmZvckVhY2goZnVuY3Rpb24oYSl7cnJiLmhhcyhhKXx8cnJiLmFkZChhKX0pfTtcbnZyYj1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGEubGlzdGVuKGIsZnVuY3Rpb24oZCl7dmFyIGU9ZC5kYXRhLGY9e21lc3NhZ2U6ZS5zR2EsY3VzdG9tRXZlbnQ6ZS5ldmVudFR5cGUsdGJhOmUudGJhLHBheWxvYWQ6ZX0sZz1mLmN1c3RvbUV2ZW50fHxjO18uRXphKF8ucGgodHJiLGZ1bmN0aW9uKGgpe3JldHVybiBoKGYsZyl9KSkudGhlbihmdW5jdGlvbigpe2lmKCFlLmJJYil7aWYoZS50YmEmJmc9PV8uRkhhKXt2YXIgaD1lLnRiYTtoPV8uZ3BiKG5ldyBfLmJwYihkb2N1bWVudCxbZi5tZXNzYWdlXSxfLkZIYSksaCxlKX1lbHNlIGg9dXJiKGYubWVzc2FnZSxnKTtyZXR1cm4gaH19KS50aGVuKGZ1bmN0aW9uKCl7Xy56ZShkb2N1bWVudC5ib2R5LGMsZil9KX0pfTt3cmI9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O3hyYj1mdW5jdGlvbigpe3JldHVybiExfTt5cmI9ZnVuY3Rpb24oKXtyZXR1cm4hMH07QXJiPWZ1bmN0aW9uKGEpe2lmKF8uenJiKCkpdGhyb3cgYTtyZXR1cm4gYX07XG5CcmI9Xy5OYigyOTE3NDc5NzMsXy5JcWIpO0NyYj1fLk5iKDI5MTc0Nzk3MyxfLkdxYik7RHJiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoRHJiLF8ucSk7RHJiLnByb3RvdHlwZS5nZXRWZXJzaW9uSW5mbz1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywxKX07dmFyIEVyYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKEVyYixfLnEpO1xudmFyIHVyYj1mdW5jdGlvbihhLGIpe3ZhciBjPW5ldyBfLmJwYihkb2N1bWVudCxbYV0sYik7cmV0dXJuKGI9PV8uREhhJiZ0eXBlb2YgYT09PVwiZnVuY3Rpb25cIj9fLmdwYihjLGZ1bmN0aW9uKGQpe3JldHVybiBkfSk6Xy5hcGIoYykpLnRoZW4oZnVuY3Rpb24oKXt2YXIgZD12b2lkIDA7ZD1kPT09dm9pZCAwP3t9OmQ7Zm9yKHZhciBlPV8uUGEoYy5vYSkubmV4dCgpLnZhbHVlLGY9Xy5QYShjLkJhKSxnPWYubmV4dCgpOyFnLmRvbmU7Zz1mLm5leHQoKSlnPWcudmFsdWUsXy5pSWEoZyxjLkFhKT9fLnplKGcsYy5BYSxlLCExLGQpOl8uaUlhKGcsXy5DSGEpJiZfLnplKGcsXy5DSGEsZSwhMSxkKX0pfSxGcmI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChGcmIsXy5xKTtGcmIucHJvdG90eXBlLnFiPVwiczh0RzJjXCI7dmFyIEdyYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKEdyYixfLnEpO3ZhciBIcmI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChIcmIsXy5xKTtIcmIucHJvdG90eXBlLnFiPVwiWFprQTdcIjtuZXcgXy54ZyhGcmIpO25ldyBfLnhnKEhyYik7Xy5yby5YWmtBNz1mdW5jdGlvbihhKXtyZXR1cm4gXy5zbyhfLnRvKF8udihhLF8uYnUsMSkpKS50b1N0cmluZygpfTtfLlpwKEhyYixfLmJ1LGZ1bmN0aW9uKGEpe2E9Xy52KGEsXy5idSwxKTtyZXR1cm4gYSE9bnVsbD9bYV06W119KTt2YXIgSXJiPW5ldyBfLlFmKFwidVpvRUdcIixIcmIsRnJiLFt7a2V5Ol8uVHAsdmFsdWU6ITB9LHtrZXk6Xy5VcCx2YWx1ZTpcIi9NZXJjaGFudFByb2ZpbGVTZXJ2aWNlLkdldEFjdGlvbkdyb3VwXCJ9XSk7dmFyIHJyYj1uZXcgU2V0LEpyYj1uZXcgU2V0LG9yYj1uZXcgTWFwO3ZhciB0cmI9W10sS3JiPVtdO3ZhciBMcmI9ZnVuY3Rpb24oYSl7Xy5Ebi5jYWxsKHRoaXMsYS5OYSk7dGhpcy5vYT1hLnNlcnZpY2UuWmdkO3RoaXMudjBhPWEuc2VydmljZS52MGE7Zm9yKGE9Xy5hOGEuZ2V0SW5zdGFuY2UoKS5FcigpO0tyYi5sZW5ndGg7KWEuS28oS3JiLnBvcCgpKTtLcmIucHVzaCh2cmIoYSxcImxcIixfLkRIYSkpO0tyYi5wdXNoKHZyYihhLFwibVwiLF8uRUhhKSk7S3JiLnB1c2godnJiKGEsXCJuXCIsXy5GSGEpKX0sTnJiO18uRChMcmIsXy5Ebik7THJiLldhPV8uRG4uV2E7THJiLklhPWZ1bmN0aW9uKCl7cmV0dXJue3NlcnZpY2U6e1pnZDpfLlBwYix2MGE6Xy5wYmJ9fX07Xy5NcmI9ZnVuY3Rpb24oKXtyZXR1cm4hMH07Xy56cmI9ZnVuY3Rpb24oKXtyZXR1cm4hMX07XG5OcmI9ZnVuY3Rpb24oYSl7YT1wcmIoYSk7dmFyIGI9YS5BaGF8fHhyYjthLkFoYT1mdW5jdGlvbigpe3JldHVybiBiKCkmJl8uTXJiKCl9O2EudVRhIT1udWxsfHwoYS51VGE9eXJiKTthLmdfYSE9bnVsbHx8KGEuZ19hPXdyYik7YS5oX2EhPW51bGx8fChhLmhfYT13cmIpO2Eua2JhIT1udWxsfHwoYS5rYmE9d3JiKTthLmxiYSE9bnVsbHx8KGEubGJhPXdyYik7cmV0dXJuIGF9O1xuTHJiLnByb3RvdHlwZS5mZXRjaD1mdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9YS51bSgpLnRvU3RyaW5nKCksZD1OcmIoYyksZT1kLnVUYShhKTtpZihycmIuaGFzKGMpJiZlKXJldHVybiB0aGlzLnYwYS5mZXRjaChkLmdfYShhKSkudGhlbihkLmhfYSxmdW5jdGlvbihmKXtfLmlkKEVycm9yKFwid2VgXCIrZikse3hnOntycGNpZDpjfX0pO3JldHVybiBkLkFoYSgpP2Iub2EuZmV0Y2goZC5rYmEoYSkpLnRoZW4oZC5sYmEsZnVuY3Rpb24oZyl7Xy5pZChFcnJvcihcInhlYFwiK2cpLHt4Zzp7cnBjaWQ6Y319KTtyZXR1cm4gQXJiKGcpfSk6QXJiKGYpfSk7SnJiLmhhcyhjKSYmZSYmdGhpcy52MGEuZmV0Y2goZC5nX2EoYSkpLnRoZW4oZC5oX2EsZnVuY3Rpb24oZil7Xy5pZChFcnJvcihcInllYFwiK2YpLHt4Zzp7cnBjaWQ6Y319KX0pO3JldHVybiB0aGlzLm9hLmZldGNoKGQua2JhKGEpKS50aGVuKGQubGJhKX07XG5McmIucHJvdG90eXBlLnpjPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz1hLnVtKCkudG9TdHJpbmcoKSxkPU5yYihjKTtyZXR1cm4gcnJiLmhhcyhjKSYmZC51VGEoYSk/dGhpcy52MGEuemMoZC5nX2EoYSkpLnRoZW4oZC5oX2EsZnVuY3Rpb24oZSl7Xy5pZChFcnJvcihcInplYFwiK2UpLHt4Zzp7cnBjaWQ6Y319KTtyZXR1cm4gZC5BaGEoKT9iLm9hLnpjKGQua2JhKGEpKS50aGVuKGQubGJhLGZ1bmN0aW9uKGYpe18uaWQoRXJyb3IoXCJBZWBcIitmKSx7eGc6e3JwY2lkOmN9fSk7cmV0dXJuIEFyYihmKX0pOkFyYihlKX0pOnRoaXMub2EuemMoZC5rYmEoYSkpLnRoZW4oZC5sYmEpfTtfLkZuKF8uVUphLExyYik7dmFyIE9yYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKE9yYixfLnEpO09yYi5wcm90b3R5cGUudWU9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMSl9O09yYi5wcm90b3R5cGUuZ2V0S2V5PWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDIpfTtPcmIub2I9WzNdO3ZhciBQcmI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChQcmIsXy5xKTtfLm09UHJiLnByb3RvdHlwZTtfLm0uZ2V0U3RhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gXy5uaSh0aGlzLDEsMCl9O18ubS5zZXRTdGF0ZT1mdW5jdGlvbihhKXtyZXR1cm4gXy5jaih0aGlzLDEsYSl9O18ubS5nZXRUeXBlPWZ1bmN0aW9uKCl7cmV0dXJuIF8ubmkodGhpcywyLDApfTtfLm0uRWM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uY2oodGhpcywyLGEpfTtfLm0uWWQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy5HaSh0aGlzLDIpfTt2YXIgUXJiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoUXJiLF8ucSk7UXJiLnByb3RvdHlwZS5zOT1mdW5jdGlvbigpe3JldHVybiBfLnYodGhpcyxPcmIsMSl9O1FyYi5vYj1bM107dmFyIFJyYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKFJyYixfLnEpO1JyYi5vYj1bMV07dmFyIFNyYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKFNyYixfLnEpO1NyYi5wcm90b3R5cGUuZ2V0VmFsdWU9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMSl9O1NyYi5wcm90b3R5cGUuc2V0VmFsdWU9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcywxLGEpfTtTcmIucHJvdG90eXBlLmNsZWFyVmFsdWU9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDEpfTt2YXIgVHJiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoVHJiLF8ucSk7VHJiLnByb3RvdHlwZS5nZXRWYWx1ZT1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywxKX07VHJiLnByb3RvdHlwZS5zZXRWYWx1ZT1mdW5jdGlvbihhKXtyZXR1cm4gXy5EZSh0aGlzLDEsYSl9O1RyYi5wcm90b3R5cGUuY2xlYXJWYWx1ZT1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsMSl9O3ZhciBVcmI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChVcmIsXy5xKTtVcmIub2I9WzMsNV07dmFyIFZyYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKFZyYixfLnEpO1ZyYi5wcm90b3R5cGUucWI9XCJuRVdzTVwiO25ldyBfLnhnKFZyYik7dmFyIFdyYj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKFdyYixfLnEpO3ZhciBYcmI9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IFdyYjtyZXR1cm4gXy5EZShiLDEsYSl9O3ZhciBZcmI9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChZcmIsXy5xKTtZcmIucHJvdG90eXBlLnFiPVwiWTJtVlJlXCI7bmV3IF8ueGcoWXJiKTt2YXIgWnJiPW5ldyBfLlFmKFwiQzhWMENiXCIsWXJiLFZyYixbe2tleTpfLlRwLHZhbHVlOiExfSx7a2V5Ol8uVXAsdmFsdWU6XCIvTWVkaWFTZXJ2aWNlLlVwZGF0ZVByb3ZpZGVyQWZmaW5pdHlcIn1dKTt2YXIgJHJiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoJHJiLF8ucSk7JHJiLnByb3RvdHlwZS5nZXRJZD1mdW5jdGlvbigpe3JldHVybiBfLnYodGhpcyxPcmIsMSl9O3ZhciBhc2I9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChhc2IsXy5xKTthc2IucHJvdG90eXBlLlhEPWZ1bmN0aW9uKCl7cmV0dXJuIF8ubmkodGhpcyw0LDApfTthc2IucHJvdG90eXBlLnFiPVwiTnhIN0NlXCI7bmV3IF8ueGcoYXNiKTt2YXIgYnNiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoYnNiLF8ucSk7YnNiLnByb3RvdHlwZS5xYj1cInJSekhMXCI7bmV3IF8ueGcoYnNiKTt2YXIgY3NiPW5ldyBfLlFmKFwiSUg1V1FlXCIsYnNiLGFzYixbe2tleTpfLlRwLHZhbHVlOiExfSx7a2V5Ol8uVXAsdmFsdWU6XCIvTWVkaWFTZXJ2aWNlLlVwZGF0ZVNlbnRpbWVudFwifV0pO18uc3JiKFwiWmxiakxjXCIsXCJ1Qm0za2RcIixcIkdkb29kY1wiLFwiRmxIOVNlXCIsXCJ2WmlXdFwiLFwiUFYyV25kXCIsXCJ0RmZib1wiLFwiYXhWb3FiXCIsXCJiNm9Yb2JcIixcIkhOeWhyY1wiLFwiYzVkeEliXCIsXCJrMUJYNmNcIixcImk5VndHZlwiLFwidDZRRWdiXCIsXCJXdXlORmJcIixcIlNXSjdBY1wiLFwicDMzSWhkXCIsXCJRdjdUU2VcIixcIkFhdHhyZFwiLFwiVW1tU2tmXCIsXCJ3a21KSmVcIixcIk1hRWV1YlwiLFwieE4zOG5lXCIsXCJxOFBCbGRcIixcInY3NkZRY1wiLFwiaGhJNHJmXCIsXCJ3OXdBbmJcIixcImI3NnZyY1wiLFwiVmExODBcIixcImJmMXFQY1wiLFwiWUlxRzZcIixcImJhS2hyZFwiLFwicFRQcmNlXCIsXCJGdzlkdWVcIixcIks2SHVOYlwiLFwiUVVScnZcIixcInpaZEJHZVwiLFwidHVHZlJjXCIsXCJFNm5GbWNcIixcIlJPUVo3YlwiLFwiamhLaGxiXCIsXCJURk56a1wiLFwiZmpJYkRlXCIsXCJMYVNRUGJcIixcIkJzeGxlYlwiLFwicmdYR0hcIixcInVLY3d0ZVwiLFwibEtOQUJmXCIsXCJTOEU3UVwiLFwid1h6N0xcIixcIm9uQlZsZlwiLFwicklYb1BcIixcIlROS3A5YlwiLFwiVTNFWlBlXCIsXCJDQ3cyMlwiLFwiVjRSRlllXCIsXCJuejVQTmVcIixcblwiczdqdjVlXCIsXCJhWURvamZcIixcInNrUU9wYlwiLFwiR0hwNnVmXCIsXCJObldzTmJcIixcInFlUHlUY1wiLFwiR0dVWGFkXCIsXCJRWG5WcWZcIixcInFKQkN3ZlwiLFwielZFQ0xlXCIsXCJLRUdXT2VcIixcInR6WEFqYlwiLFwidzNZcnRlXCIsXCJQSHpqT2JcIixcIlZiU01sXCIsXCJ6S0FQMmVcIixcIkgxS29SZVwiLFwiZlFKREllXCIsXCJOMGU4VmJcIixcImFteVV0ZVwiLFwia2NDSDFjXCIsXCJnOXg1b2JcIixcImtIV1dyZFwiLFwiTWlxZEJmXCIsXCJzbE1pUWNcIixcIlY4TEhzXCIsXCJYVEdyYmVcIixcInlINmNlZlwiLFwiYjI5S21mXCIsXCJmVThqblwiLFwiSFhHRUZlXCIsXCJGZ3dBRGZcIixcImkwN3YwZFwiLFwiVmVRZTlkXCIsXCJQNFdkamNcIixcIlpNRFYxZVwiLFwia0UyeDhiXCIsXCJET3B2bmNcIixcIm9MNTNRXCIsXCJ5eUc3Y2RcIixcIlREOWRMY1wiKTtcbihmdW5jdGlvbigpe18ubGMuYXBwbHkoMCxhcmd1bWVudHMpLmZvckVhY2goZnVuY3Rpb24oYSl7dmFyIGI9Xy5QYShhKTthPWIubmV4dCgpLnZhbHVlO2I9Yi5uZXh0KCkudmFsdWU7Xy5zcmIoYSk7cXJiKFthLGJdKX0pfSkoW1wib2NwOTNlXCIse0FoYTpmdW5jdGlvbigpe3JldHVybiEwfSxrYmE6ZnVuY3Rpb24oYSl7YT0obmV3IF8uQnFiKS5FYygxKS50YihDcmIsYS5vYSgpKTthPShuZXcgXy5DcWIpLnNldFF1ZXJ5KGEpO3JldHVybiBfLkVxYi5nZXRJbnN0YW5jZShhKX0sbGJhOmZ1bmN0aW9uKGEpe3ZhciBiO2E9KGI9YS5iMSgpKT09bnVsbD92b2lkIDA6Yi5nZXREYXRhKCk7cmV0dXJuIF8uSnFiLldpKChhPT1udWxsP3ZvaWQgMDphLmdldEV4dGVuc2lvbihCcmIpKXx8bmV3IF8uSXFiKX19XSxbXCJ3VGU4V2VcIix7QWhhOmZ1bmN0aW9uKCl7cmV0dXJuITB9LGtiYTpmdW5jdGlvbihhKXt2YXIgYj1hLm9hKCk7YT1uZXcgXy5hdDt2YXIgYz1hLnNldFF1ZXJ5O3ZhciBkPW5ldyBfLlpzO1xuYj1iP2I6bmV3IF8uTHFiO2Q9Xy5YaChkLDEsXy4kcyxiKTthPWMuY2FsbChhLGQpO3JldHVybiBfLmV0LmdldEluc3RhbmNlKGEpfSxsYmE6ZnVuY3Rpb24oYSl7dmFyIGIsYzthPShiPWEuYjEoKSk9PW51bGw/dm9pZCAwOihjPWIuY0UoKSk9PW51bGw/dm9pZCAwOl8uSWYoYyxfLktzLDIsXy5HaGIpO3JldHVybiBfLk5xYi5XaShhP2E6bmV3IF8uS3MpfX1dLFtcInVab0VHXCIse0FoYTpmdW5jdGlvbigpe3JldHVybiEwfSxnX2E6ZnVuY3Rpb24oYSl7dmFyIGI9YS5vYSgpO2E9bmV3IEZyYjtpZihfLmNpKGIsMSkhPW51bGwpe3ZhciBjPV8uY2koYiwxKTtfLlZpKGEsMSxjKX1fLnRqKGIsMikmJihjPV8uaGkoYiwyKSxfLmNqKGEsMixjKSk7Xy5HaChiLF8uV3BiLDMpJiYoYj1fLnYoYixfLldwYiwzKSxjPV8uVHBiKG5ldyBfLlNwYixfLndpKGIsMSxfLlNlKCkpKSxfLmtqKGIsMikmJl8uVXBiKGMsXy5kaShiLDIpKSxfLk1iKGEsXy5TcGIsMyxjKSk7cmV0dXJuIElyYi5nZXRJbnN0YW5jZShhKX0sXG5oX2E6ZnVuY3Rpb24oYSl7dmFyIGI9YS5iMSgpO2E9bmV3IF8uWXBiO2lmKF8uR2goYixfLmJ1LDEpKXt2YXIgYz1fLnYoYixfLmJ1LDEpO18uTWIoYSxfLmJ1LDEsYyl9aWYoXy5HaChiLEdyYiwyKSl7Yz1fLnYoYixHcmIsMik7Yj1uZXcgRXJiO2lmKF8uR2goYyxfLkhlLDEpKXt2YXIgZD1fLnYoYyxfLkhlLDEpO18uTWIoYixfLkhlLDEsZCl9Xy5WZShjLDIpJiYoZD1fLkdlKGMsMiksXy5EZShiLDIsZCkpO18uVmUoYywzKSYmKGM9Xy5HZShjLDMpLF8uRGUoYiwzLGMpKTtfLk1iKGEsRXJiLDIsYil9cmV0dXJuIF8uWnBiLldpKGEpfX1dLFtcIkM4VjBDYlwiLHtBaGE6ZnVuY3Rpb24oKXtyZXR1cm4hMH0sa2JhOmZ1bmN0aW9uKGEpe3ZhciBiPWEub2EoKTthPW5ldyBfLm11O2lmKGI9PW51bGwpdmFyIGM9dm9pZCAwO2Vsc2V7dmFyIGQ7KGM9Xy52KGIsUnJiLDMpKT09bnVsbD9kPXZvaWQgMDpkPV8uUmUoYyxRcmIsMSxfLlNlKCkpO2M9ZH1pZighYylyZXR1cm4gXy5ocmIuZ2V0SW5zdGFuY2UoXy5mcmIobmV3IF8uZHJiLFxuYSkpO2M9Xy5QYShjKTtmb3IoZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpe2Q9ZC52YWx1ZTt2YXIgZT1iPXZvaWQgMCxmPShiPWQpPT1udWxsP3ZvaWQgMDooZT1iLnM5KCkpPT1udWxsP3ZvaWQgMDpfLkVpKGUsMSksZztiPXZvaWQgMDt2YXIgaDsoZz1kKT09bnVsbD9oPXZvaWQgMDpoPShiPV8uUmUoZyxQcmIsMyxfLlNlKCkpWzBdKT09bnVsbD92b2lkIDA6Yi5nZXRTdGF0ZSgpO2Q9aD09PTE/MToyO2I9Xy5udShhLDEzKTtlPW5ldyBfLmt1O3ZhciBrPV8ucXUobmV3IF8uanUsMjUpLGw9bmV3IF8ucnUsbj1uZXcgXy5rcmI7Zj1fLiRpKG4sMixfLlpxYixmKTtmPV8ubHUoZSxfLnN1KGssXy5YaChsLDcsXy5odSxmKSkpO2U9Zi5zZXRWYWx1ZTtrPW5ldyBfLml1O2w9ay50YjtuPW5ldyBfLmNxYjtuPV8uY2oobiwxLDIyKTtfLmNyYihiLGUuY2FsbChmLF8ub3UobC5jYWxsKGssXy5kcWIsbiksZCkpKX1yZXR1cm4gXy5ocmIuZ2V0SW5zdGFuY2UoXy5mcmIobmV3IF8uZHJiLFxuYSkpfSxsYmE6ZnVuY3Rpb24oYSl7dmFyIGIsYz0oYj1hLmIxKCkpPT1udWxsP3ZvaWQgMDpfLmhpKGIsMSksZDthPShkPWEuYjEoKSk9PW51bGw/dm9pZCAwOl8uRWkoZCwyKTtkPVpyYi5XaTtjPT09MT8oYz1uZXcgWXJiLGE9WHJiKGEpLGM9Xy5NYihjLFdyYiwxLGEpKTpjPW5ldyBZcmI7cmV0dXJuIGQuY2FsbChacmIsYyl9fV0sW1wiSUg1V1FlXCIse0FoYTpmdW5jdGlvbigpe3JldHVybiEwfSxrYmE6ZnVuY3Rpb24oYSl7YT1hLm9hKCk7dmFyIGIsYzt2YXIgZD0obmV3IF8ucXFiKS5KZCgyKTtkPV8uY2ooZCwyLDEpO3ZhciBlPW5ldyBfLnNxYixmPShiPV8udihhLCRyYiwyKSk9PW51bGw/dm9pZCAwOihjPWIuZ2V0SWQoKSk9PW51bGw/dm9pZCAwOl8uRWkoYywxKTtiPV8uJGkoZSwxLF8ubnFiLGYpO2I9Xy5NYihkLF8uc3FiLDMsYik7Yj1fLmNqKGIsNCwyKTt2YXIgZyxoLGssbDtjPW5ldyBfLndxYjtiPV8uTWIoYyxfLnFxYiwxLGIpO2M9YT09bnVsbD92b2lkIDA6KGc9Xy52KGEsXG5VcmIsMSkpPT1udWxsP3ZvaWQgMDooaD1fLnYoZyxUcmIsNCkpPT1udWxsP3ZvaWQgMDpfLkVpKGgsMSk7Zz1fLkRlKGIsNCxjKTtoPWE9PW51bGw/dm9pZCAwOihrPV8udihhLFVyYiwxKSk9PW51bGw/dm9pZCAwOihsPV8udihrLFNyYiwyKSk9PW51bGw/dm9pZCAwOl8uRWkobCwxKTtrPV8uRGUoZyw1LGgpO2s9Xy5EZShrLDMsXCJXMldfT05CT0FSRElOR1wiKTt2YXIgbjtpZigoKG49Xy52KGEsJHJiLDIpKT09bnVsbD92b2lkIDA6Xy5uaShuLDIsMCkpPT09MSlfLnNiKGssMixbMF0sXy5xY2EpO2Vsc2V7dmFyIHI7KChyPV8udihhLCRyYiwyKSk9PW51bGw/dm9pZCAwOl8ubmkociwyLDApKT09PTImJl8uc2IoaywyLFsxXSxfLnFjYSl9cmV0dXJuIF8uenFiLmdldEluc3RhbmNlKGspfSxsYmE6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPShiPWEuYjEoKSk9PW51bGw/dm9pZCAwOihjPWIuZ2V0U3RhdHVzKCkpPT1udWxsP3ZvaWQgMDpfLmVpKGMsMSksZSxmO2E9KGU9YS5iMSgpKT09bnVsbD9cbnZvaWQgMDooZj1fLnYoZSxEcmIsMikpPT1udWxsP3ZvaWQgMDpfLkVpKGYsMSk7ZT1jc2IuV2k7ZD09PTA/KGQ9bmV3IGJzYixmPVhyYihhKSxkPV8uTWIoZCxXcmIsMixmKSk6ZD1uZXcgYnNiO3JldHVybiBlLmNhbGwoY3NiLGQpfX1dLFtcInhSUmRCY1wiLHtBaGE6ZnVuY3Rpb24oKXtyZXR1cm4hMH0sa2JhOmZ1bmN0aW9uKGEpe2E9YS5vYSgpO2E9Xy5mcmIobmV3IF8uZHJiLGEpO3JldHVybiBfLmhyYi5nZXRJbnN0YW5jZShhKX0sbGJhOmZ1bmN0aW9uKGEpe3ZhciBiPWEuYjEoKTthPW5ldyBfLm1yYjt2YXIgYz1uZXcgXy5scmI7Yj1fLkEoYiwyKTtjPV8uRGUoYywxLGIpO2E9Xy5NYihhLF8ubHJiLDEsYyk7cmV0dXJuIF8ubnJiLldpKGEpfX1dKTtxcmIoKTtxcmIoKTtcbl8uenJiPWZ1bmN0aW9uKCl7cmV0dXJuITB9O1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcImlvOHQ1ZFwiKTtcbl8uUiRhPW5ldyBfLklkKF8uYUthKTtcbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJLRzJlWGVcIik7XG52YXIgWCRhPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9Xy52ZCgpO2lmKGI9PWEubGVuZ3RoKXJldHVybiBlLnByb21pc2UudGhlbihkLnJlc29sdmUsZC5yZWplY3QpLGYucmVzb2x2ZShjKSxmLnByb21pc2U7dmFyIGc9YVtiXSxoPV8udmQoKTtkLnByb21pc2UuenIoZnVuY3Rpb24oKXt9KTtfLmdlKGcub2EuQWEoYy5BYSxoLnByb21pc2UpKS50aGVuKGZ1bmN0aW9uKGspe2sub2E9PTF8fGsub2E9PTJ8fGsub2E9PTM/ay5CYS50aGVuKGQucmVzb2x2ZSxkLnJlamVjdCk6aC5wcm9taXNlLnRoZW4oZC5yZXNvbHZlLGQucmVqZWN0KTtrLm9hPT0xP2YucmVzb2x2ZShrKTpmLnJlc29sdmUoWCRhKGEsKytiLGssaCxlKSl9KTtyZXR1cm4gZi5wcm9taXNlfSxZJGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLnZkKCk7cmV0dXJuIFgkYShfLmNiYShfLm9oKF8uVSRhLGZ1bmN0aW9uKGQpe3JldHVybiEhZH0pKSwwLF8uVyRhKGEpLGMsYikudGhlbihmdW5jdGlvbihkKXtyZXR1cm4gbmV3IF8uUyRhKGQuQWEsXG5jLnByb21pc2UsZC50eXBlKCkpfSl9LFokYT1mdW5jdGlvbihhKXtfLkRuLmNhbGwodGhpcyxhLk5hKTt2YXIgYj1hLnNlcnZpY2UuQ3NiO3RoaXMuQWE9Yi5mZXRjaC5iaW5kKGIpO3RoaXMuQmE9Yi56Yy5iaW5kKGIpO3RoaXMub2E9YS5zZXJ2aWNlLkFjYX07Xy5EKFokYSxfLkRuKTtaJGEuV2E9Xy5Ebi5XYTtaJGEuSWE9ZnVuY3Rpb24oKXtyZXR1cm57c2VydmljZTp7Q3NiOl8uUiRhLEFjYTpfLk8kYX19fTtaJGEucHJvdG90eXBlLmZldGNoPWZ1bmN0aW9uKGEpe3JldHVybiBfLiQkYSh0aGlzLkFhLGEsdGhpcy5vYSkudGhlbihmdW5jdGlvbihiKXtyZXR1cm4gYi5iMSgpfSl9O1okYS5wcm90b3R5cGUuemM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uJCRhKHRoaXMuQmEsYSx0aGlzLm9hKS50aGVuKGZ1bmN0aW9uKGIpe3JldHVybiBiLmIxKCl9KX07XG5fLiQkYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Xy52ZCgpLGU9Xy52ZCgpLGY7WSRhKGIsZCkudGhlbihmdW5jdGlvbihnKXtnLm9hPT0xP18uUSRhKGMsYik6KGY9YShnLkFhKSxkLnJlc29sdmUoZikpO2UucmVzb2x2ZShnLkJhKX0pO3JldHVybiBlLnByb21pc2UudGhlbihmdW5jdGlvbihnKXtyZXR1cm4gZ30sZnVuY3Rpb24oZyl7ZyBpbnN0YW5jZW9mIF8ua2QmJmYhPW51bGwmJmYuY2FuY2VsKCk7dGhyb3cgZzt9KX07Xy5GbihfLmJLYSxaJGEpO1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcIk9qNDY1ZVwiKTtcbl8uYWFiPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEuSGEsZj0oMCxfLlRhKShlKTtfLllhKCgwLF8ubmIpKGEuSGEpKTtiPV8uV2RhKGUsZixiLDIsITEpO2U9KDAsXy5UYSkoYik7ZT0hISg0JmUpJiYhISg0MDk2JmUpO2lmKEFycmF5LmlzQXJyYXkoZCkpZm9yKGY9MDtmPGQubGVuZ3RoO2YrKyliLnB1c2goYyhkW2ZdLGUpKTtlbHNlIGZvcihkPV8uUGEoZCksZj1kLm5leHQoKTshZi5kb25lO2Y9ZC5uZXh0KCkpYi5wdXNoKGMoZi52YWx1ZSxlKSk7cmV0dXJuIGF9O18uYnI9bmV3IF8uSWQoXy5qbyk7XG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5ZUmM9Xy5HZChcImQ1RWhKZVwiLFtdKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5wQz1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8ucEMsXy5xKTtfLm09Xy5wQy5wcm90b3R5cGU7Xy5tLmZrYj1mdW5jdGlvbigpe3JldHVybiBfLmhpKHRoaXMsMSl9O18ubS5LeGM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDEpfTtfLm0uWFFjPWZ1bmN0aW9uKCl7cmV0dXJuIF8udGoodGhpcywxKX07Xy5tLmdldEF0dHJpYnV0ZT1mdW5jdGlvbigpe3JldHVybiBfLkdlKHRoaXMsMil9O18ubS5zZXRBdHRyaWJ1dGU9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcywyLGEpfTtfLm0udXhjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcywyKX07Xy5tLmhhc0F0dHJpYnV0ZT1mdW5jdGlvbigpe3JldHVybiBfLlZlKHRoaXMsMil9O18ubS5wMmE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5HZSh0aGlzLDE0KX07Xy5tLlhvYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5EZSh0aGlzLDE0LGEpfTtfLm0uTHhjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcywxNCl9O1xuXy5tLllRYz1mdW5jdGlvbigpe3JldHVybiBfLlZlKHRoaXMsMTQpfTtfLm0ucjJhPWZ1bmN0aW9uKCl7cmV0dXJuIF8uR2UodGhpcywzKX07Xy5tLmZBYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5EZSh0aGlzLDMsYSl9O18ubS5PeGM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDMpfTtfLm0uYVJjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmUodGhpcywzKX07Xy5tLkpwYT1mdW5jdGlvbigpe3JldHVybiBfLkdlKHRoaXMsNCl9O18ubS5mTGE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcyw0LGEpfTtfLm0uSnhjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcyw0KX07Xy5tLkFTYj1mdW5jdGlvbigpe3JldHVybiBfLlZlKHRoaXMsNCl9O18ubS50U2I9ZnVuY3Rpb24oKXtyZXR1cm4gXy5HZSh0aGlzLDUpfTtfLm0uWk5iPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRlKHRoaXMsNSxhKX07Xy5tLkh4Yz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsNSl9O1xuXy5tLnlTYj1mdW5jdGlvbigpe3JldHVybiBfLlZlKHRoaXMsNSl9O18ubS5FNWI9ZnVuY3Rpb24oKXtyZXR1cm4gXy5HZSh0aGlzLDE1KX07Xy5tLkRsYz1mdW5jdGlvbihhKXtyZXR1cm4gXy5EZSh0aGlzLDE1LGEpfTtfLm0uRTJjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcywxNSl9O18ubS5kb2Q9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZSh0aGlzLDE1KX07Xy5tLm9TYj1mdW5jdGlvbigpe3JldHVybiBfLkdlKHRoaXMsNil9O18ubS5VTmI9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcyw2LGEpfTtfLm0ud3hjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcyw2KX07Xy5tLnZTYj1mdW5jdGlvbigpe3JldHVybiBfLlZlKHRoaXMsNil9O18ubS5yU2I9ZnVuY3Rpb24oKXtyZXR1cm4gXy5HZSh0aGlzLDcpfTtfLm0uWE5iPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRlKHRoaXMsNyxhKX07Xy5tLkV4Yz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsNyl9O1xuXy5tLndTYj1mdW5jdGlvbigpe3JldHVybiBfLlZlKHRoaXMsNyl9O18ubS51U2I9ZnVuY3Rpb24oKXtyZXR1cm4gXy5laSh0aGlzLDEyKX07Xy5tLmJPYj1mdW5jdGlvbihhKXtyZXR1cm4gXy5PaSh0aGlzLDEyLGEpfTtfLm0uTXhjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcywxMil9O18ubS5CU2I9ZnVuY3Rpb24oKXtyZXR1cm4gXy5taih0aGlzLDEyKX07Xy5tLnNTYj1mdW5jdGlvbigpe3JldHVybiBfLkdlKHRoaXMsOCl9O18ubS5ZTmI9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcyw4LGEpfTtfLm0uRnhjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcyw4KX07Xy5tLnhTYj1mdW5jdGlvbigpe3JldHVybiBfLlZlKHRoaXMsOCl9O18ubS5xU2I9ZnVuY3Rpb24oKXtyZXR1cm4gXy5HZSh0aGlzLDkpfTtfLm0uZUFhPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRlKHRoaXMsOSxhKX07Xy5tLkR4Yz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsOSl9O1xuXy5tLmhrYj1mdW5jdGlvbigpe3JldHVybiBfLlZlKHRoaXMsOSl9O18ubS5ka2I9ZnVuY3Rpb24oKXtyZXR1cm4gXy5HZSh0aGlzLDEwKX07Xy5tLlJoYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5EZSh0aGlzLDEwLGEpfTtfLm0ueHhjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcywxMCl9O18ubS5SUWM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZSh0aGlzLDEwKX07Xy5tLmxBPWZ1bmN0aW9uKCl7cmV0dXJuIF8uR2UodGhpcywxMSl9O18ubS5TaGE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcywxMSxhKX07Xy5tLnl4Yz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsMTEpfTtfLm0uU1FjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmUodGhpcywxMSl9O18ubS53QWE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5laSh0aGlzLDEzKX07Xy5tLk9iYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5PaSh0aGlzLDEzLGEpfTtfLm0uQXhjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcywxMyl9O1xuXy5tLlRRYz1mdW5jdGlvbigpe3JldHVybiBfLm1qKHRoaXMsMTMpfTtfLm0ucFNiPWZ1bmN0aW9uKCl7cmV0dXJuIF8uZGkodGhpcywxNil9O18ubS5XTmI9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uTWcodGhpcywxNixhKX07Xy5tLkN4Yz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsMTYpfTtfLm0uVlFjPWZ1bmN0aW9uKCl7cmV0dXJuIF8ua2oodGhpcywxNil9O18ubS5PUWM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5kaSh0aGlzLDE3KX07Xy5tLlZOYj1mdW5jdGlvbihhKXtyZXR1cm4gXy5NZyh0aGlzLDE3LGEpfTtfLm0uQnhjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcywxNyl9O18ubS5VUWM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5raih0aGlzLDE3KX07Xy5tLmxTPWZ1bmN0aW9uKCl7cmV0dXJuIF8udih0aGlzLF8ub0MsMTkpfTtfLm0uTm5hPWZ1bmN0aW9uKGEpe3JldHVybiBfLk1iKHRoaXMsXy5vQywxOSxhKX07XG5fLm0uYjFjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcywxOSl9O18ubS5aUmE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5HaCh0aGlzLF8ub0MsMTkpfTtfLm0uZnRiPWZ1bmN0aW9uKCl7cmV0dXJuIF8uR2UodGhpcywyMSl9O18ubS54WWE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcywyMSxhKX07Xy5tLmsxYz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsMjEpfTtfLm0ubTdiPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmUodGhpcywyMSl9O18ubS5vMmE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5oaSh0aGlzLDIwKX07Xy5YUmM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5jaihhLDIwLGIpfTtfLm09Xy5wQy5wcm90b3R5cGU7Xy5tLnp4Yz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsMjApfTtfLm0uZ2tiPWZ1bmN0aW9uKCl7cmV0dXJuIF8udGoodGhpcywyMCl9O18ubS5xMmE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5oaSh0aGlzLDIyKX07XG5fLm0uTnhjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcywyMil9O18ubS5aUWM9ZnVuY3Rpb24oKXtyZXR1cm4gXy50aih0aGlzLDIyKX07Xy5tLmVrYj1mdW5jdGlvbigpe3JldHVybiBfLmVpKHRoaXMsMjMpfTtfLm0uZmliPWZ1bmN0aW9uKGEpe3JldHVybiBfLk9pKHRoaXMsMjMsYSl9O18ubS5HeGM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDIzKX07Xy5tLldRYz1mdW5jdGlvbigpe3JldHVybiBfLm1qKHRoaXMsMjMpfTtfLm0uYmtiPWZ1bmN0aW9uKCl7cmV0dXJuIF8uR2UodGhpcywyNCl9O18ubS5laWI9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcywyNCxhKX07Xy5tLnZ4Yz1mdW5jdGlvbigpe3JldHVybiBfLlZmKHRoaXMsMjQpfTtfLm0uUVFjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmUodGhpcywyNCl9O18ubS5QUWM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5HZSh0aGlzLDI1KX07Xy5tLmFPYj1mdW5jdGlvbihhKXtyZXR1cm4gXy5EZSh0aGlzLDI1LGEpfTtcbl8ubS5JeGM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDI1KX07Xy5tLnpTYj1mdW5jdGlvbigpe3JldHVybiBfLlZlKHRoaXMsMjUpfTtfLm0ucWI9XCJ6RUl5R2RcIjtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5aeD1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD9uZXcgXy5WQWI6Yjt2YXIgYz1iLm9hLmdldChfLldBYil8fHt9O2MuZTM9YTtiLm9hLnNldChfLldBYixjKTtyZXR1cm4gYn07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBrQ2IsbENiLG5DYixvQ2IscENiLHFDYixyQ2I7Xy5oQ2I9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYn07Xy5pQ2I9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/bmV3IF8uVkFiOmI7Yi5BYT1hO3JldHVybiBifTtfLmpDYj1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gbmV3IF8uV0FiKG5ldyBNYXAoW1thLGJdXSksYyxkKX07a0NiPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwP25ldyBTZXQ6YjthPV8uUGEoYSk7Zm9yKHZhciBjPWEubmV4dCgpOyFjLmRvbmU7Yz1hLm5leHQoKSliLmFkZChjLnZhbHVlKTtyZXR1cm4gYn07bENiPWZ1bmN0aW9uKGEpe3RoaXMub2E9YT1hPT09dm9pZCAwP25ldyBNYXA6YX07XG5sQ2IucHJvdG90eXBlLm5vdGlmeT1mdW5jdGlvbihhLGIsYyxkKXtmb3IodmFyIGU9Xy5QYShhLmtleXMoKSksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpaWYoZj1mLnZhbHVlLHRoaXMub2EuaGFzKGYpKWZvcih2YXIgZz1fLlBhKHRoaXMub2EuZ2V0KGYpKSxoPWcubmV4dCgpOyFoLmRvbmU7aD1nLm5leHQoKSl7aD1oLnZhbHVlO3RyeXtoKGEuZ2V0KGYpLmNsb25lKCksYixjLGQpfWNhdGNoKGspe18uY2Eoayl9fX07bENiLmNvbXBvc2U9ZnVuY3Rpb24oKXtmb3IodmFyIGE9W10sYj1fLlBhKF8ubGMuYXBwbHkoMCxhcmd1bWVudHMpKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSlhLnB1c2goYy52YWx1ZS5vYSk7YT1fLllBYihhLGtDYik7cmV0dXJuIG5ldyBsQ2IoYSl9O1xuXy5tQ2I9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iPT09dm9pZCAwP3t9OmI7Yj1jLmdldEN1cnJlbnQ9PT12b2lkIDA/dm9pZCAwOmMuZ2V0Q3VycmVudDt2YXIgZD1jLmMzPT09dm9pZCAwP1tdOmMuYzM7dmFyIGU9Yy5PbmE9PT12b2lkIDA/dm9pZCAwOmMuT25hO3ZhciBmPWMubk49PT12b2lkIDA/W106Yy5uTjt2YXIgZz1jLlpkPT09dm9pZCAwP1tdOmMuWmQ7dmFyIGg9Yy5HYmI9PT12b2lkIDA/W106Yy5HYmI7Yz1jLkNDYT09PXZvaWQgMD92b2lkIDA6Yy5DQ2E7dmFyIGs9bmV3IE1hcDtmPV8uUGEoZik7Zm9yKHZhciBsPWYubmV4dCgpOyFsLmRvbmU7bD1mLm5leHQoKSlsPWwudmFsdWUsay5zZXQobC5jb25zdHJ1Y3RvcixsKTtmPW5ldyBNYXA7ZyYmZi5zZXQobENiLG5ldyBsQ2IobmV3IE1hcChbW2EsbmV3IFNldChbXS5jb25jYXQoXy5tZChnKSkpXV0pKSk7Zz1fLlBhKGgpO2ZvcihoPWcubmV4dCgpOyFoLmRvbmU7aD1nLm5leHQoKSloPWgudmFsdWUsZi5zZXQoaC5jb25zdHJ1Y3RvcixcbmgpO3JldHVybiBuZXcgXy5sQmIobmV3IE1hcChbW2Ese2dldEN1cnJlbnQ6YixjMzpuZXcgU2V0KGQpLE9uYTplfV1dKSxrLGYsYyl9O25DYj1mdW5jdGlvbihhKXt0aGlzLnY4Yj1hfTtfLnB3PWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/e306Yzt0aGlzLm9hPWE7dGhpcy5BYT1iO3RoaXMuQmE9Yy5mdmJ8fGZ1bmN0aW9uKGQpe3JldHVybiBfLkRhKGQpP2Q6e319O3RoaXMuQ2E9Yy5WR2J8fGZ1bmN0aW9uKGQsZSl7cmV0dXJuIGV9fTtfLnB3LnByb3RvdHlwZS5Zaz1mdW5jdGlvbihhLGIpe3RoaXMub2EmJnRoaXMub2EuWWsmJnRoaXMub2EuWWsoYS51cmwsYik7dGhpcy5BYSYmdGhpcy5BYS5Zayh0aGlzLkJhKGEuc3RhdGUpLGIpfTtcbl8ucHcucHJvdG90eXBlLkNtPWZ1bmN0aW9uKGEsYil7dGhpcy5vYSYmdGhpcy5vYS5DbSYmdGhpcy5vYS5DbShhLGIudXJsKTtpZih0aGlzLkFhKXt2YXIgYz1PYmplY3QuYXNzaWduKHt9LHRoaXMuQmEoYi5zdGF0ZSkpO3RoaXMuQWEuQ20oYSxjKTthPU9iamVjdC5hc3NpZ24oe30sXy5EYShiLnN0YXRlKT9iLnN0YXRlOnt9KTtiLnN0YXRlPXRoaXMuQ2EoYSxjKX19O29DYj1mdW5jdGlvbihhKXt2YXIgYj1hLkFhLmdldFN0YXRlKCl8fHt9O3JldHVybnt1cmw6Xy5VQWIoYS5BYS5MaSgpKSxzdGF0ZTpiLnVzZXJEYXRhfX07cENiPWZ1bmN0aW9uKGEsYil7YS5CYS5wdXNoKGIpfTtcbl8ucXc9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWIuZm4oKTtiLkJWYihfLmpDYihkLGMsYS5BYSxhLm9hKSk7Yi5tWWMoZnVuY3Rpb24oaCl7dmFyIGs9b0NiKGEpO2MuWWsoayxoKX0pO3ZhciBlPSExLGY9bmV3IGQsZz1fLm1DYihkLHtjMzpbZnVuY3Rpb24oaCl7dmFyIGs9b0NiKGEpO2MuWWsoayxmKTtjLllrKGssaCk7cmV0dXJuIGh9XSxaZDpbZnVuY3Rpb24oKXtlfHwoZT0hMCxwQ2IoYSx7bjljOmZ1bmN0aW9uKGgpe3JldHVybiBiLnRyYW5zaXRpb24oZnVuY3Rpb24oayl7Yy5ZayhoLGspO3JldHVybiBrfSxfLmV3KX0sd1ZkOmZ1bmN0aW9uKGgpe3ZhciBrPW5ldyBkO3JldHVybiBiLnBwYyhmdW5jdGlvbihsKXtpZighYy5vYSlyZXR1cm4hMTt2YXIgbj1fLlVBYihcIlwiKSxyLHQ7KHQ9KHI9Yy5vYSkuQ20pPT1udWxsfHx0LmNhbGwocixsLG4pO2gobik7dmFyIHUsejsoej0odT1jLm9hKS5Zayk9PW51bGx8fHouY2FsbCh1LG4sayk7cmV0dXJuIV8ueGooayxsKX0sZnVuY3Rpb24oKXtyZXR1cm4ga30sXG5fLmV3KX0sdjhiOmN9KSl9XX0pO2IuRlZiKGcpO3JldHVybiBuZXcgbkNiKGMpfTtxQ2I9e307Xy5ydz1mdW5jdGlvbihhLGIsYyl7YT1fLkVHYS5jYWxsKHRoaXMsYSx2b2lkIDAsYil8fHRoaXM7YS5jb250ZXh0PW5ldyBNYXA7YS5jb250ZXh0LnNldChcIk9hdzB4Y1wiLGMpO2EuY29udGV4dC5zZXQoXCJJNEkwbWNcIixxQ2IpO3JldHVybiBhfTtfLkQoXy5ydyxfLkVHYSk7Xy5ydy5wcm90b3R5cGUuZ2V0Q29udGV4dD1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT1cInN0cmluZ1wiJiZ0aGlzLmNvbnRleHQuaGFzKGEpP18uYWYodGhpcy5jb250ZXh0LmdldChhKSk6Xy5rb2EoRXJyb3IoKSl9O18ucncucHJvdG90eXBlLmdldERhdGE9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLlFjKGE9PT12b2lkIDA/XCJcIjphKX07XG5fLnN3PWZ1bmN0aW9uKGEpe18uQm4uY2FsbCh0aGlzLGEuTmEpO3ZhciBiPXRoaXM7dGhpcy5BYT1hLmNvbnRleHQuZm47dGhpcy5zdGF0ZT1uZXcgdGhpcy5BYTt0aGlzLm5OPW5ldyBTZXQ7dGhpcy5aZD1uZXcgTWFwO3RoaXMuR2E9bmV3IFNldDt0aGlzLkJhPWZ1bmN0aW9uKCl7Zm9yKHZhciBjPWIuc3RhdGUuY2xvbmUoKSxkPV8uUGEoYi5HYSksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpZT1lLnZhbHVlLGUoYyk7cmV0dXJuIGN9O3RoaXMuQ2E9ZnVuY3Rpb24oYyl7Yi5zdGF0ZT1jfTt0aGlzLkxhPWZ1bmN0aW9uKGMsZCxlLGYpe2Zvcih2YXIgZz1fLlBhKGIuWmQudmFsdWVzKCkpLGg9Zy5uZXh0KCk7IWguZG9uZTtoPWcubmV4dCgpKXtoPWgudmFsdWU7dHJ5e2goYy5jbG9uZSgpLGQsZSxmKX1jYXRjaChrKXtfLmNhKGspfX19O3RoaXMub2E9Xy5tQ2IodGhpcy5BYSx7Z2V0Q3VycmVudDp0aGlzLkJhLFpkOlt0aGlzLkNhXX0pfTtfLkQoXy5zdyxfLkJuKTtcbl8uc3cucHJvdG90eXBlLmZuPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQWF9O18uc3cucHJvdG90eXBlLmxpc3Rlbj1mdW5jdGlvbihhKXtyZXR1cm4gckNiKHRoaXMsYSxhKX07Xy50dz1mdW5jdGlvbihhLGIsYyl7ckNiKGEsYyxmdW5jdGlvbihkLGUsZixnKXtiPT09ZSYmYyhkLGYsZyl9KX07ckNiPWZ1bmN0aW9uKGEsYixjKXthLlpkLnNldChiLGMpO3JldHVybiBhfTtfLm09Xy5zdy5wcm90b3R5cGU7Xy5tLnVubGlzdGVuPWZ1bmN0aW9uKGEpe3RoaXMuWmQuZGVsZXRlKGEpfTtfLm0uZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQmEoKX07Xy5tLnRyYW5zaXRpb249ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/Xy5qQmI6YjtyZXR1cm4gXy5tQ2IodGhpcy5BYSx7Z2V0Q3VycmVudDp0aGlzLkJhLGMzOlthXSxPbmE6dGhpcy5DYSxuTjp0aGlzLm5OLFpkOlt0aGlzLkxhXSxDQ2E6Yn0pfTtcbl8ubS5wcGM9ZnVuY3Rpb24oYSxiLGMpe2M9Yz09PXZvaWQgMD9fLmpCYjpjO3JldHVybiBfLm1DYih0aGlzLkFhLHtnZXRDdXJyZW50OnRoaXMuQmEsYzM6W3t5bWM6YSxTVGQ6Yn1dLE9uYTp0aGlzLkNhLG5OOnRoaXMubk4sWmQ6W3RoaXMuTGFdLENDYTpjfSl9O18ubS5pbml0aWFsaXplPWZ1bmN0aW9uKGEpe2E9YT09PXZvaWQgMD9uZXcgTWFwOmE7aWYoIXRoaXMub2EpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO3ZhciBiPXRoaXMub2EsYz1iLlVpO3ZhciBkPWQ9PT12b2lkIDA/bmV3IF8uVkFiOmQ7ZC5ldmVudFR5cGU9Xy5rQmI7YT1jLmNhbGwoYixkLmFuZChfLmlDYixhKSk7dGhpcy5vYT1udWxsO3JldHVybiBhfTtfLm0uRlZiPWZ1bmN0aW9uKGEpe3RoaXMub2EmJih0aGlzLm9hPXRoaXMub2EuY29tcG9zZShhKSl9O18ubS5CVmI9ZnVuY3Rpb24oYSl7dGhpcy5uTi5hZGQoYSl9O18ubS5tWWM9ZnVuY3Rpb24oYSl7dGhpcy5HYS5hZGQoYSl9O1xuXy5tLmdldENvbnRleHQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy5rb2EoRXJyb3IoKSl9O18ubS5nZXREYXRhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5RYyhhKX07Xy5zdy5JYT1mdW5jdGlvbigpe3JldHVybntjb250ZXh0OntmbjpcIk9hdzB4Y1wifX19O18udXc9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpczt0aGlzLm9hPW51bGw7dmFyIGM9Xy5tQ2IoYS5mbigpLHtjMzpbZnVuY3Rpb24oZCxlKXtlPWUuZ2V0KFwiUjg0RFBlXCIpfHxudWxsO3JldHVybihiLm9hPWUpP2UuY2xvbmUoKTpkfV19KTthLkZWYihjKX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcImQ1RWhKZVwiKTtcbnZhciBhU2MsYlNjLGRTYztfLlpSYz1mdW5jdGlvbihhLGIpe3JldHVybiBfLmNqKGEsMSxiKX07Xy4kUmM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5jaihhLDIyLGIpfTthU2M9Xy5RYihfLm9DLF8uVVJjKTtiU2M9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uSmEoYS5vYSgpLDQpfTtfLmNTYz1mdW5jdGlvbihhKXt0cnl7aWYoYSlyZXR1cm4gYVNjKF8uQmgoYSkpfWNhdGNoKGIpe31yZXR1cm4gbmV3IF8ub0N9O1xuZFNjPXtYeDpmdW5jdGlvbigpe3JldHVyblwia3BmYi1zdGFnZSBrcGZiLWF0dHIga3BmYi10YXR0ciBrcGZiLXZlIGtwZmItcnZhbCBrcGZiLXJlbnRpdHkga3BmYi1zZWNpZHMga3BmYi1kb2NpZCBrcGZiLWxwYWdlIGtwZmItdHNvdXJjZWlkIGtwZmItbHlyaWNpZCBrcGZiLWtwaWQga3BmYi1lbnRpdHlpZCBrcGZiLWVudGl0eW5hbWUga3BmYi1mdHlwZSBrZmlnIGtmaGkga3BmYi1jdHgga3BmYi1lY3R4IGtwZmItZnRhZyBrcGZiLXZ0IGtwZmItcGlkIGtwZmItYmt0IGtwZmItcmVjdHhcIi5zcGxpdChcIiBcIil9LFlrOmZ1bmN0aW9uKGEsYil7YT1uZXcgXy55dShhLm9hLGIpO18uQnUoYSxcImtwZmItc3RhZ2VcIixmdW5jdGlvbihjKXtyZXR1cm4gXy5aUmMoYixjKX0sYi5LeGMpO18uQXUoYSxcImtwZmItYXR0clwiLGIuc2V0QXR0cmlidXRlLGIudXhjKTtfLkF1KGEsXCJrcGZiLXRhdHRyXCIsYi5Yb2EsYi5MeGMpO18uQXUoYSxcImtwZmItdmVcIixiLmZBYSxiLk94Yyk7Xy5BdShhLFwia3BmYi1ydmFsXCIsXG5iLmZMYSxiLkp4Yyk7Xy5BdShhLFwia3BmYi1yZW50aXR5XCIsYi5aTmIsYi5IeGMpO18uQXUoYSxcImtwZmItc2VjaWRzXCIsYi5EbGMsYi5FMmMpO18uQXUoYSxcImtwZmItZG9jaWRcIixiLlVOYixiLnd4Yyk7Xy5BdShhLFwia3BmYi1scGFnZVwiLGIuWE5iLGIuRXhjKTtfLkJ1KGEsXCJrcGZiLXRzb3VyY2VpZFwiLGIuYk9iLGIuTXhjKTtfLkF1KGEsXCJrcGZiLWx5cmljaWRcIixiLllOYixiLkZ4Yyk7Xy5BdShhLFwia3BmYi1rcGlkXCIsYi5lQWEsYi5EeGMpO18uQXUoYSxcImtwZmItZW50aXR5aWRcIixiLlJoYSxiLnh4Yyk7Xy5BdShhLFwia3BmYi1lbnRpdHluYW1lXCIsYi5TaGEsYi55eGMpO18uQnUoYSxcImtwZmItZnR5cGVcIixiLk9iYSxiLkF4Yyk7Xy5DdShhLFwia2ZpZ1wiLGIuV05iLGIuQ3hjKTtfLkN1KGEsXCJrZmhpXCIsYi5WTmIsYi5CeGMpO18uenUoYSxcImtwZmItY3R4XCIsYi5ObmEsXy5jU2MsYi5iMWMpO18uQXUoYSxcImtwZmItZWN0eFwiLGIueFlhLGIuazFjKTtfLkJ1KGEsXCJrcGZiLWZ0YWdcIixcbmZ1bmN0aW9uKGMpe3JldHVybiBfLlhSYyhiLGMpfSxiLnp4Yyk7Xy5CdShhLFwia3BmYi12dFwiLGZ1bmN0aW9uKGMpe3JldHVybiBfLiRSYyhiLGMpfSxiLk54Yyk7Xy5CdShhLFwia3BmYi1waWRcIixiLmZpYixiLkd4Yyk7Xy5BdShhLFwia3BmYi1ia3RcIixiLmVpYixiLnZ4Yyk7Xy5BdShhLFwia3BmYi1yZWN0eFwiLGIuYU9iLGIuSXhjKX0sQ206ZnVuY3Rpb24oYSxiKXtiPW5ldyBfLnl1KGIub2EsYSk7Xy5FdShiLGEuWFFjLGEuZmtiLFwia3BmYi1zdGFnZVwiKTtfLkR1KGIsYS5oYXNBdHRyaWJ1dGUsYS5nZXRBdHRyaWJ1dGUsXCJrcGZiLWF0dHJcIik7Xy5EdShiLGEuWVFjLGEucDJhLFwia3BmYi10YXR0clwiKTtfLkR1KGIsYS5hUmMsYS5yMmEsXCJrcGZiLXZlXCIpO18uRHUoYixhLkFTYixhLkpwYSxcImtwZmItcnZhbFwiKTtfLkR1KGIsYS55U2IsYS50U2IsXCJrcGZiLXJlbnRpdHlcIik7Xy5EdShiLGEuZG9kLGEuRTViLFwia3BmYi1zZWNpZHNcIik7Xy5EdShiLGEudlNiLGEub1NiLFwia3BmYi1kb2NpZFwiKTtcbl8uRHUoYixhLndTYixhLnJTYixcImtwZmItbHBhZ2VcIik7Xy5FdShiLGEuQlNiLGEudVNiLFwia3BmYi10c291cmNlaWRcIik7Xy5EdShiLGEueFNiLGEuc1NiLFwia3BmYi1seXJpY2lkXCIpO18uRHUoYixhLmhrYixhLnFTYixcImtwZmIta3BpZFwiKTtfLkR1KGIsYS5SUWMsYS5ka2IsXCJrcGZiLWVudGl0eWlkXCIpO18uRHUoYixhLlNRYyxhLmxBLFwia3BmYi1lbnRpdHluYW1lXCIpO18uRXUoYixhLlRRYyxhLndBYSxcImtwZmItZnR5cGVcIik7Xy5HdShiLGEuVlFjLGEucFNiLFwia2ZpZ1wiKTtfLkd1KGIsYS5VUWMsYS5PUWMsXCJrZmhpXCIpO18ubnRiKGIsYS5aUmEsYS5sUyxiU2MsXCJrcGZiLWN0eFwiKTtfLkR1KGIsYS5tN2IsYS5mdGIsXCJrcGZiLWVjdHhcIik7Xy5FdShiLGEuZ2tiLGEubzJhLFwia3BmYi1mdGFnXCIpO18uRXUoYixhLlpRYyxhLnEyYSxcImtwZmItdnRcIik7Xy5FdShiLGEuV1FjLGEuZWtiLFwia3BmYi1waWRcIik7Xy5EdShiLGEuUVFjLGEuYmtiLFwia3BmYi1ia3RcIik7Xy5EdShiLGEuelNiLFxuYS5QUWMsXCJrcGZiLXJlY3R4XCIpfX07dmFyIGVTYz1udWxsLGZTYz1mdW5jdGlvbihhKXtfLnN3LmNhbGwodGhpcyxhLk5hKTtuZXcgXy51dyh0aGlzKTt0aGlzLkZmPV8ucXcoYS5zZXJ2aWNlLkZmLHRoaXMsbmV3IF8ucHcoZFNjKSl9O18uRChmU2MsXy5zdyk7ZlNjLklhPWZ1bmN0aW9uKCl7cmV0dXJue3NlcnZpY2U6e0ZmOl8uZnd9LGNvbnRleHQ6e1dyOlwiSTRJMG1jXCJ9fX07ZlNjLmZuPWZ1bmN0aW9uKCl7cmV0dXJuIF8ucEN9O2ZTYy5Nbz1mdW5jdGlvbihhKXtpZihlU2MpcmV0dXJuIGVTYzt2YXIgYj1uZXcgXy5DZChcIlFzdlBCZlwiKTtlU2M9Xy5nZihiLGZTYyxuZXcgXy5ydyhiLGZTYyxfLnBDKSk7ZVNjLnRoZW4oZnVuY3Rpb24oYyl7Yy5pbml0aWFsaXplKGEpfSk7cmV0dXJuIGVTY307Xy5yby56RUl5R2Q9Xy5xbztfLnFDPWZ1bmN0aW9uKGEpe18uS2cuY2FsbCh0aGlzLGEuTmEpO3ZhciBiPXRoaXM7dGhpcy5vYT1bXTt0aGlzLlZnYT1udWxsO3RoaXMuTWc9YS5KZS5zdGF0ZTt0aGlzLk1nLmxpc3RlbihmdW5jdGlvbihjLGQsZSl7aWYoZD09PV8uZXcpaWYoZS5yZWFzb249PT0xKWIub2EucG9wKCk7ZWxzZXtiLm9hLnB1c2goe30pO2IuUGgoYywhMSwhMCk7cmV0dXJufWIubm90aWZ5KF8uQm1jLGMpfSk7dGhpcy5BYT10aGlzLk1nLnRyYW5zaXRpb24oZnVuY3Rpb24oYyxkKXt2YXIgZT1kLlgkO2QuanVkJiZlLmVBYShfLkdlKGMsOSkpO3JldHVybiBlfSl9O18uRChfLnFDLF8uS2cpO18ucUMuSWE9ZnVuY3Rpb24oKXtyZXR1cm57SmU6e3N0YXRlOmZTY319fTtfLnFDLnByb3RvdHlwZS5nZXRTdGF0ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLk1nLmdldCgpfTtcbl8ucUMucHJvdG90eXBlLlBoPWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/ITE6YzthPV8uaUNiKHtYJDphLGp1ZDpiPT09dm9pZCAwPyEwOmJ9KTtjJiYoYT1hLmFuZChfLlp4LHtyZXBsYWNlOiEwfSkpO2E9dGhpcy5BYS5VaShhKTtjfHx0aGlzLm9hLnB1c2goYSl9O18ucUMucHJvdG90eXBlLmdvQmFjaz1mdW5jdGlvbihhKXtnU2ModGhpcyx0aGlzLm9hLnBvcCgpLGEpLnRoZW4oKX07Xy5xQy5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLm9hLmxlbmd0aD4wJiZnU2ModGhpcyx0aGlzLm9hWzBdLG5ldyBfLnBDLCEwKS50aGVuKCk7dGhpcy5vYT1bXTt0aGlzLlBoKG5ldyBfLnBDLCExLCEwKTt0aGlzLlZnYT1udWxsfTtcbnZhciBnU2M9ZnVuY3Rpb24oYSxiLGMsZCl7ZD1kPT09dm9pZCAwPyEwOmQ7dmFyIGU7cmV0dXJuIF8uYmgoZnVuY3Rpb24oZil7aWYoZi5vYT09MSlyZXR1cm4gYj9mLnlpZWxkKGIsMyk6Zi5NYigyKTtpZihmLm9hIT0yKXJldHVybiBlPWYuQWEsZS5MJGEoNCk/ZD9mLnlpZWxkKGUuTXRhKCksMik6Zi55aWVsZChlLkd2YigpLDIpOmYuTWIoMik7YyYmYS5nZXRTdGF0ZSgpIT09YyYmYS5QaChjLCExLCEwKTtfLlNnKGYpfSl9O18uV3EoXy5ZUmMsXy5xQyk7XG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5mVmM9Xy5HZChcImZDeEVEZFwiLFtdKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwiZkN4RURkXCIpO1xuXy5nVmM9ZnVuY3Rpb24oYSl7Xy5Ebi5jYWxsKHRoaXMsYS5OYSl9O18uRChfLmdWYyxfLkRuKTtfLmdWYy5XYT1fLkRuLldhO18uZ1ZjLklhPV8uRG4uSWE7Xy5GbihfLmZWYyxfLmdWYyk7XG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5lTmI9e2JOYjpbXCJCQ1wiLFwiQURcIl0sa3VjOltcIkJlZm9yZSBDaHJpc3RcIixcIkFubm8gRG9taW5pXCJdLGpVYzpcIkpGTUFNSkpBU09ORFwiLnNwbGl0KFwiXCIpLEtWYzpcIkpGTUFNSkpBU09ORFwiLnNwbGl0KFwiXCIpLE4yYTpcIkphbnVhcnkgRmVicnVhcnkgTWFyY2ggQXByaWwgTWF5IEp1bmUgSnVseSBBdWd1c3QgU2VwdGVtYmVyIE9jdG9iZXIgTm92ZW1iZXIgRGVjZW1iZXJcIi5zcGxpdChcIiBcIiksTEFhOlwiSmFudWFyeSBGZWJydWFyeSBNYXJjaCBBcHJpbCBNYXkgSnVuZSBKdWx5IEF1Z3VzdCBTZXB0ZW1iZXIgT2N0b2JlciBOb3ZlbWJlciBEZWNlbWJlclwiLnNwbGl0KFwiIFwiKSxWMmE6XCJKYW4gRmViIE1hciBBcHIgTWF5IEp1biBKdWwgQXVnIFNlcCBPY3QgTm92IERlY1wiLnNwbGl0KFwiIFwiKSx6VWI6XCJKYW4gRmViIE1hciBBcHIgTWF5IEp1biBKdWwgQXVnIFNlcCBPY3QgTm92IERlY1wiLnNwbGl0KFwiIFwiKSxpM2E6XCJTdW5kYXkgTW9uZGF5IFR1ZXNkYXkgV2VkbmVzZGF5IFRodXJzZGF5IEZyaWRheSBTYXR1cmRheVwiLnNwbGl0KFwiIFwiKSxcbkxWYzpcIlN1bmRheSBNb25kYXkgVHVlc2RheSBXZWRuZXNkYXkgVGh1cnNkYXkgRnJpZGF5IFNhdHVyZGF5XCIuc3BsaXQoXCIgXCIpLFcyYTpcIlN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdFwiLnNwbGl0KFwiIFwiKSx2bGI6XCJTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXRcIi5zcGxpdChcIiBcIiksa1VjOlwiU01UV1RGU1wiLnNwbGl0KFwiXCIpLFgyYTpcIlNNVFdURlNcIi5zcGxpdChcIlwiKSx5VWI6W1wiUTFcIixcIlEyXCIsXCJRM1wiLFwiUTRcIl0scFViOltcIjFzdCBxdWFydGVyXCIsXCIybmQgcXVhcnRlclwiLFwiM3JkIHF1YXJ0ZXJcIixcIjR0aCBxdWFydGVyXCJdLG9oYjpbXCJBTVwiLFwiUE1cIl0sTGJhOltcIkVFRUUsIE1NTU0gZCwgeVwiLFwiTU1NTSBkLCB5XCIsXCJNTU0gZCwgeVwiLFwiTS9kL3l5XCJdLGQzYTpbXCJoOm1tOnNzXFx1MjAyZmEgenp6elwiLFwiaDptbTpzc1xcdTIwMmZhIHpcIixcImg6bW06c3NcXHUyMDJmYVwiLFwiaDptbVxcdTIwMmZhXCJdLFdNYjpbXCJ7MX0gJ2F0JyB7MH1cIixcInsxfSAnYXQnIHswfVwiLFwiezF9LCB7MH1cIixcInsxfSwgezB9XCJdLFxuVnphOjYsZVZiOls1LDZdLEkwYTo1fTtfLll3PV8uZU5iO18uWXc9Xy5lTmI7dmFyIGZOYixnTmIsaE5iLGxOYixtTmI7Zk5iPVJlZ0V4cChcIl4oKD86Wy0rXVxcXFxkKik/XFxcXGR7NH0pKD86KD86LT8oXFxcXGR7Mn0pKD86LT8oXFxcXGR7Mn0pKT8pfCg/Oi0/KFxcXFxkezN9KSl8KD86LT9XKFxcXFxkezJ9KSg/Oi0/KFsxLTddKSk/KSk/JFwiKTtnTmI9L14oXFxkezJ9KSg/Ojo/KFxcZHsyfSkoPzo6PyhcXGR7Mn0pKFxcLlxcZCspPyk/KT8kLztoTmI9L1p8KD86KFstK10pKFxcZHsyfSkoPzo6PyhcXGR7Mn0pKT8pJC87Xy5pTmI9ZnVuY3Rpb24oYSxiKXtzd2l0Y2goYil7Y2FzZSAxOnJldHVybiBhJTQhPTB8fGElMTAwPT0wJiZhJTQwMCE9MD8yODoyOTtjYXNlIDU6Y2FzZSA4OmNhc2UgMTA6Y2FzZSAzOnJldHVybiAzMH1yZXR1cm4gMzF9O1xuXy5rTmI9ZnVuY3Rpb24oYSxiKXtiPWJ8fG5ldyBEYXRlKF8uamgoKSk7dmFyIGM7aWYoYz1hLmdldERhdGUoKT09Yi5nZXREYXRlKCkpYj1ifHxuZXcgRGF0ZShfLmpoKCkpLGM9YS5nZXRNb250aCgpPT1iLmdldE1vbnRoKCkmJl8uak5iKGEsYik7cmV0dXJuIGN9O18uak5iPWZ1bmN0aW9uKGEsYil7Yj1ifHxuZXcgRGF0ZShfLmpoKCkpO3JldHVybiBhLmdldEZ1bGxZZWFyKCk9PWIuZ2V0RnVsbFllYXIoKX07XG5sTmI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLm1hdGNoKGZOYik7aWYoIWMpcmV0dXJuITE7dmFyIGQ9TnVtYmVyKGNbMl0pLGU9TnVtYmVyKGNbM10pLGY9TnVtYmVyKGNbNF0pO2I9TnVtYmVyKGNbNV0pO3ZhciBnPU51bWJlcihjWzZdKXx8MTthLnNldEZ1bGxZZWFyKE51bWJlcihjWzFdKSk7Zj8oYS5zZXREYXRlKDEpLGEuc2V0TW9udGgoMCksYS5hZGQobmV3IF8uWncoXCJkXCIsZi0xKSkpOmI/KGEuc2V0TW9udGgoMCksYS5zZXREYXRlKDEpLGM9YS5nZXREYXkoKXx8NyxhLmFkZChuZXcgXy5adyhcImRcIiwoYzw9ND8xLWM6OC1jKSsoTnVtYmVyKGcpKzcqKE51bWJlcihiKS0xKSktMSkpKTooZCYmKGEuc2V0RGF0ZSgxKSxhLnNldE1vbnRoKGQtMSkpLGUmJmEuc2V0RGF0ZShlKSk7cmV0dXJuITB9O1xuXy5adz1mdW5jdGlvbihhLGIsYyxkLGUsZil7dHlwZW9mIGE9PT1cInN0cmluZ1wiPyh0aGlzLkFhPWE9PVwieVwiP2I6MCx0aGlzLmp5PWE9PVwibVwiP2I6MCx0aGlzLll0PWE9PVwiZFwiP2I6MCx0aGlzLmhvdXJzPWE9PVwiaFwiP2I6MCx0aGlzLm1pbnV0ZXM9YT09XCJuXCI/YjowLHRoaXMub2E9YT09XCJzXCI/YjowKToodGhpcy5BYT1hfHwwLHRoaXMuank9Ynx8MCx0aGlzLll0PWN8fDAsdGhpcy5ob3Vycz1kfHwwLHRoaXMubWludXRlcz1lfHwwLHRoaXMub2E9Znx8MCl9O18ubT1fLlp3LnByb3RvdHlwZTtcbl8ubS5NaD1mdW5jdGlvbihhKXt2YXIgYj1NYXRoLm1pbih0aGlzLkFhLHRoaXMuanksdGhpcy5ZdCx0aGlzLmhvdXJzLHRoaXMubWludXRlcyx0aGlzLm9hKSxjPU1hdGgubWF4KHRoaXMuQWEsdGhpcy5qeSx0aGlzLll0LHRoaXMuaG91cnMsdGhpcy5taW51dGVzLHRoaXMub2EpO2lmKGI8MCYmYz4wKXJldHVybiBudWxsO2lmKCFhJiZiPT0wJiZjPT0wKXJldHVyblwiUFQwU1wiO2M9W107YjwwJiZjLnB1c2goXCItXCIpO2MucHVzaChcIlBcIik7KHRoaXMuQWF8fGEpJiZjLnB1c2goTWF0aC5hYnModGhpcy5BYSkrXCJZXCIpOyh0aGlzLmp5fHxhKSYmYy5wdXNoKE1hdGguYWJzKHRoaXMuankpK1wiTVwiKTsodGhpcy5ZdHx8YSkmJmMucHVzaChNYXRoLmFicyh0aGlzLll0KStcIkRcIik7aWYodGhpcy5ob3Vyc3x8dGhpcy5taW51dGVzfHx0aGlzLm9hfHxhKWMucHVzaChcIlRcIiksKHRoaXMuaG91cnN8fGEpJiZjLnB1c2goTWF0aC5hYnModGhpcy5ob3VycykrXCJIXCIpLCh0aGlzLm1pbnV0ZXN8fGEpJiZcbmMucHVzaChNYXRoLmFicyh0aGlzLm1pbnV0ZXMpK1wiTVwiKSwodGhpcy5vYXx8YSkmJmMucHVzaChNYXRoLmFicyh0aGlzLm9hKStcIlNcIik7cmV0dXJuIGMuam9pbihcIlwiKX07Xy5tLmVxdWFscz1mdW5jdGlvbihhKXtyZXR1cm4gYS5BYT09dGhpcy5BYSYmYS5qeT09dGhpcy5qeSYmYS5ZdD09dGhpcy5ZdCYmYS5ob3Vycz09dGhpcy5ob3VycyYmYS5taW51dGVzPT10aGlzLm1pbnV0ZXMmJmEub2E9PXRoaXMub2F9O18ubS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgXy5adyh0aGlzLkFhLHRoaXMuanksdGhpcy5ZdCx0aGlzLmhvdXJzLHRoaXMubWludXRlcyx0aGlzLm9hKX07Xy5tLmdldEludmVyc2U9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IF8uWncodGhpcy5BYSotMSx0aGlzLmp5Ki0xLHRoaXMuWXQqLTEsdGhpcy5ob3VycyotMSx0aGlzLm1pbnV0ZXMqLTEsdGhpcy5vYSotMSl9O1xuXy5tLmFkZD1mdW5jdGlvbihhKXt0aGlzLkFhKz1hLkFhO3RoaXMuankrPWEuank7dGhpcy5ZdCs9YS5ZdDt0aGlzLmhvdXJzKz1hLmhvdXJzO3RoaXMubWludXRlcys9YS5taW51dGVzO3RoaXMub2ErPWEub2F9O18uJHc9ZnVuY3Rpb24oYSxiLGMpe3R5cGVvZiBhPT09XCJudW1iZXJcIj8odGhpcy5kYXRlPW1OYihhLGJ8fDAsY3x8MSksbk5iKHRoaXMsY3x8MSkpOl8uRGEoYSk/KHRoaXMuZGF0ZT1tTmIoYS5nZXRGdWxsWWVhcigpLGEuZ2V0TW9udGgoKSxhLmdldERhdGUoKSksbk5iKHRoaXMsYS5nZXREYXRlKCkpKToodGhpcy5kYXRlPW5ldyBEYXRlKF8uamgoKSksYT10aGlzLmRhdGUuZ2V0RGF0ZSgpLHRoaXMuZGF0ZS5zZXRIb3VycygwKSx0aGlzLmRhdGUuc2V0TWludXRlcygwKSx0aGlzLmRhdGUuc2V0U2Vjb25kcygwKSx0aGlzLmRhdGUuc2V0TWlsbGlzZWNvbmRzKDApLG5OYih0aGlzLGEpKX07XG5tTmI9ZnVuY3Rpb24oYSxiLGMpe2I9bmV3IERhdGUoYSxiLGMpO2E+PTAmJmE8MTAwJiZiLnNldEZ1bGxZZWFyKGIuZ2V0RnVsbFllYXIoKS0xOTAwKTtyZXR1cm4gYn07Xy5tPV8uJHcucHJvdG90eXBlO18ubS5HamE9Xy5Zdy5WemE7Xy5tLlhQYT1fLll3LkkwYTtfLm0uY2xvbmU9ZnVuY3Rpb24oKXt2YXIgYT1uZXcgXy4kdyh0aGlzLmRhdGUpO2EuR2phPXRoaXMuR2phO2EuWFBhPXRoaXMuWFBhO3JldHVybiBhfTtfLm0uZ2V0RnVsbFllYXI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kYXRlLmdldEZ1bGxZZWFyKCl9O18ubS5nZXRZZWFyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0RnVsbFllYXIoKX07Xy5tLmdldE1vbnRoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGF0ZS5nZXRNb250aCgpfTtfLm0uZ2V0RGF0ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmRhdGUuZ2V0RGF0ZSgpfTtfLm0uZ2V0VGltZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmRhdGUuZ2V0VGltZSgpfTtcbl8ubS5nZXREYXk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kYXRlLmdldERheSgpfTtfLm0uZ2V0VVRDRnVsbFllYXI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kYXRlLmdldFVUQ0Z1bGxZZWFyKCl9O18ubS5nZXRVVENNb250aD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmRhdGUuZ2V0VVRDTW9udGgoKX07Xy5tLmdldFVUQ0RhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kYXRlLmdldFVUQ0RhdGUoKX07Xy5tLmdldFVUQ0RheT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmRhdGUuZ2V0RGF5KCl9O18ubS5nZXRVVENIb3Vycz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmRhdGUuZ2V0VVRDSG91cnMoKX07Xy5tLmdldFVUQ01pbnV0ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kYXRlLmdldFVUQ01pbnV0ZXMoKX07Xy5tLmdldFRpbWV6b25lT2Zmc2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGF0ZS5nZXRUaW1lem9uZU9mZnNldCgpfTtcbl8ubS5zZXQ9ZnVuY3Rpb24oYSl7dGhpcy5kYXRlPW5ldyBEYXRlKGEuZ2V0RnVsbFllYXIoKSxhLmdldE1vbnRoKCksYS5nZXREYXRlKCkpfTtfLm0uc2V0RnVsbFllYXI9ZnVuY3Rpb24oYSl7dGhpcy5kYXRlLnNldEZ1bGxZZWFyKGEpfTtfLm0uc2V0WWVhcj1mdW5jdGlvbihhKXt0aGlzLnNldEZ1bGxZZWFyKGEpfTtfLm0uc2V0TW9udGg9ZnVuY3Rpb24oYSl7dGhpcy5kYXRlLnNldE1vbnRoKGEpfTtfLm0uc2V0RGF0ZT1mdW5jdGlvbihhKXt0aGlzLmRhdGUuc2V0RGF0ZShhKX07Xy5tLnNldFRpbWU9ZnVuY3Rpb24oYSl7dGhpcy5kYXRlLnNldFRpbWUoYSl9O18ubS5zZXRVVENGdWxsWWVhcj1mdW5jdGlvbihhKXt0aGlzLmRhdGUuc2V0VVRDRnVsbFllYXIoYSl9O18ubS5zZXRVVENNb250aD1mdW5jdGlvbihhKXt0aGlzLmRhdGUuc2V0VVRDTW9udGgoYSl9O18ubS5zZXRVVENEYXRlPWZ1bmN0aW9uKGEpe3RoaXMuZGF0ZS5zZXRVVENEYXRlKGEpfTtcbl8ubS5hZGQ9ZnVuY3Rpb24oYSl7aWYoYS5BYXx8YS5qeSl7dmFyIGI9dGhpcy5nZXRNb250aCgpK2EuankrYS5BYSoxMixjPXRoaXMuZ2V0WWVhcigpK01hdGguZmxvb3IoYi8xMik7YiU9MTI7YjwwJiYoYis9MTIpO3ZhciBkPU1hdGgubWluKF8uaU5iKGMsYiksdGhpcy5nZXREYXRlKCkpO3RoaXMuc2V0RGF0ZSgxKTt0aGlzLnNldEZ1bGxZZWFyKGMpO3RoaXMuc2V0TW9udGgoYik7dGhpcy5zZXREYXRlKGQpfWEuWXQmJihjPXRoaXMuZ2V0WWVhcigpLGI9Yz49MCYmYzw9OTk/LTE5MDA6MCxjPW5ldyBEYXRlKGMsdGhpcy5nZXRNb250aCgpLHRoaXMuZ2V0RGF0ZSgpLDEyKSxhPW5ldyBEYXRlKGMuZ2V0VGltZSgpK2EuWXQqODY0RTUpLHRoaXMuc2V0RGF0ZSgxKSx0aGlzLnNldEZ1bGxZZWFyKGEuZ2V0RnVsbFllYXIoKStiKSx0aGlzLnNldE1vbnRoKGEuZ2V0TW9udGgoKSksdGhpcy5zZXREYXRlKGEuZ2V0RGF0ZSgpKSxuTmIodGhpcyxhLmdldERhdGUoKSkpfTtcbl8ubS5NaD1mdW5jdGlvbihhKXt2YXIgYj10aGlzLmdldEZ1bGxZZWFyKCksYz1iPDA/XCItXCI6Yj49MUU0P1wiK1wiOlwiXCI7cmV0dXJuW2MrXy5mbChNYXRoLmFicyhiKSxjPzY6NCksXy5mbCh0aGlzLmdldE1vbnRoKCkrMSwyKSxfLmZsKHRoaXMuZ2V0RGF0ZSgpLDIpXS5qb2luKGE/XCItXCI6XCJcIil9O18ubS5lcXVhbHM9ZnVuY3Rpb24oYSl7cmV0dXJuISghYXx8dGhpcy5nZXRZZWFyKCkhPWEuZ2V0WWVhcigpfHx0aGlzLmdldE1vbnRoKCkhPWEuZ2V0TW9udGgoKXx8dGhpcy5nZXREYXRlKCkhPWEuZ2V0RGF0ZSgpKX07Xy5tLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTWgoKX07dmFyIG5OYj1mdW5jdGlvbihhLGIpe2EuZ2V0RGF0ZSgpIT1iJiYoYj1hLmdldERhdGUoKTxiPzE6LTEsYS5kYXRlLnNldFVUQ0hvdXJzKGEuZGF0ZS5nZXRVVENIb3VycygpK2IpKX07Xy4kdy5wcm90b3R5cGUudmFsdWVPZj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmRhdGUudmFsdWVPZigpfTtcbl8uYXg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5nZXRUaW1lKCktYi5nZXRUaW1lKCl9O18uYng9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IF8uJHcoMkUzKTtyZXR1cm4gbE5iKGIsYSk/YjpudWxsfTtfLmN4PWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcpe3RoaXMuZGF0ZT10eXBlb2YgYT09PVwibnVtYmVyXCI/bmV3IERhdGUoYSxifHwwLGN8fDEsZHx8MCxlfHwwLGZ8fDAsZ3x8MCk6bmV3IERhdGUoYSYmYS5nZXRUaW1lP2EuZ2V0VGltZSgpOl8uamgoKSl9O18ubWgoXy5jeCxfLiR3KTtfLm09Xy5jeC5wcm90b3R5cGU7Xy5tLmdldEhvdXJzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGF0ZS5nZXRIb3VycygpfTtfLm0uZ2V0TWludXRlcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmRhdGUuZ2V0TWludXRlcygpfTtfLm0uZ2V0U2Vjb25kcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmRhdGUuZ2V0U2Vjb25kcygpfTtfLm0uZ2V0TWlsbGlzZWNvbmRzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGF0ZS5nZXRNaWxsaXNlY29uZHMoKX07XG5fLm0uZ2V0VVRDRGF5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGF0ZS5nZXRVVENEYXkoKX07Xy5tLmdldFVUQ0hvdXJzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGF0ZS5nZXRVVENIb3VycygpfTtfLm0uZ2V0VVRDTWludXRlcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmRhdGUuZ2V0VVRDTWludXRlcygpfTtfLm0uc2V0SG91cnM9ZnVuY3Rpb24oYSl7dGhpcy5kYXRlLnNldEhvdXJzKGEpfTtfLm0uc2V0TWludXRlcz1mdW5jdGlvbihhKXt0aGlzLmRhdGUuc2V0TWludXRlcyhhKX07Xy5tLnNldFNlY29uZHM9ZnVuY3Rpb24oYSl7dGhpcy5kYXRlLnNldFNlY29uZHMoYSl9O18ubS5zZXRNaWxsaXNlY29uZHM9ZnVuY3Rpb24oYSl7dGhpcy5kYXRlLnNldE1pbGxpc2Vjb25kcyhhKX07XG5fLm0uYWRkPWZ1bmN0aW9uKGEpe18uJHcucHJvdG90eXBlLmFkZC5jYWxsKHRoaXMsYSk7YS5ob3VycyYmdGhpcy5kYXRlLnNldFVUQ0hvdXJzKHRoaXMuZGF0ZS5nZXRVVENIb3VycygpK2EuaG91cnMpO2EubWludXRlcyYmdGhpcy5kYXRlLnNldFVUQ01pbnV0ZXModGhpcy5kYXRlLmdldFVUQ01pbnV0ZXMoKSthLm1pbnV0ZXMpO2Eub2EmJnRoaXMuZGF0ZS5zZXRVVENTZWNvbmRzKHRoaXMuZGF0ZS5nZXRVVENTZWNvbmRzKCkrYS5vYSl9O18ubS5NaD1mdW5jdGlvbihhKXt2YXIgYj1fLiR3LnByb3RvdHlwZS5NaC5jYWxsKHRoaXMsYSk7cmV0dXJuIGE/YitcIlRcIitfLmZsKHRoaXMuZ2V0SG91cnMoKSwyKStcIjpcIitfLmZsKHRoaXMuZ2V0TWludXRlcygpLDIpK1wiOlwiK18uZmwodGhpcy5nZXRTZWNvbmRzKCksMik6YitcIlRcIitfLmZsKHRoaXMuZ2V0SG91cnMoKSwyKStfLmZsKHRoaXMuZ2V0TWludXRlcygpLDIpK18uZmwodGhpcy5nZXRTZWNvbmRzKCksMil9O1xuXy5tLmVxdWFscz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5nZXRUaW1lKCk9PWEuZ2V0VGltZSgpfTtfLm0udG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5NaCgpfTtfLm0uY2xvbmU9ZnVuY3Rpb24oKXt2YXIgYT1uZXcgXy5jeCh0aGlzLmRhdGUpO2EuR2phPXRoaXMuR2phO2EuWFBhPXRoaXMuWFBhO3JldHVybiBhfTtcbl8ub05iPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBfLmN4KDJFMyk7YT0oMCxfLm5oKShhKTt2YXIgYz1hLmluZGV4T2YoXCJUXCIpPT0tMT9cIiBcIjpcIlRcIjthPWEuc3BsaXQoYyk7aWYoKGM9bE5iKGIsYVswXSkpJiYhKGM9YS5sZW5ndGg8Mikpe2M9YVsxXTthPWMubWF0Y2goaE5iKTtpZihhKWlmKGM9Yy5zdWJzdHJpbmcoMCxjLmxlbmd0aC1hWzBdLmxlbmd0aCksYVswXT09PVwiWlwiKXZhciBkPTA7ZWxzZSBkPU51bWJlcihhWzJdKSo2MCtOdW1iZXIoYVszXSksZCo9YVsxXT09XCItXCI/MTotMTt2YXIgZT1jLm1hdGNoKGdOYik7aWYoZSl7aWYoYSl7YT1iLmdldFllYXIoKTtjPWIuZ2V0TW9udGgoKTt2YXIgZj1iLmdldERhdGUoKSxnPU51bWJlcihlWzFdKSxoPU51bWJlcihlWzJdKXx8MCxrPU51bWJlcihlWzNdKXx8MCxsPWVbNF0/TnVtYmVyKGVbNF0pKjFFMzowOyhlPWE+PTAmJmE8MTAwKSYmKGErPTQwMCk7YT1EYXRlLlVUQyhhLGMsZixnLGgsayxsKTtlJiYoYS09MTI2MjI3ODA4RTUpO1xuYi5zZXRUaW1lKGErZCo2RTQpfWVsc2UgYi5zZXRIb3VycyhOdW1iZXIoZVsxXSkpLGIuc2V0TWludXRlcyhOdW1iZXIoZVsyXSl8fDApLGIuc2V0U2Vjb25kcyhOdW1iZXIoZVszXSl8fDApLGIuc2V0TWlsbGlzZWNvbmRzKGVbNF0/TnVtYmVyKGVbNF0pKjFFMzowKTtjPSEwfWVsc2UgYz0hMX1yZXR1cm4gYz9iOm51bGx9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgalRjPWZ1bmN0aW9uKGEpe3ZhciBiPXt9O2E9YS5yZXBsYWNlKC9cXHIvZyxcIlwiKS5zcGxpdChcIlxcblwiKTtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKyl7dmFyIGQ9YVtjXSxlPWQuaW5kZXhPZihcIjpcIik7ZTwwfHwoYltkLnN1YnN0cmluZygwLGUpXT1kLnN1YnN0cmluZyhlKzIsZC5sZW5ndGgpKX1yZXR1cm4gYn0sa1RjPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjIGluIGEpaWYoYy50b0xvd2VyQ2FzZSgpPT09Yi50b0xvd2VyQ2FzZSgpKXJldHVybiBhW2NdfSxsVGM9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGMgaW4gYSlpZihjLnRvTG93ZXJDYXNlKCk9PT1iLnRvTG93ZXJDYXNlKCkpe2RlbGV0ZSBhW2NdO2JyZWFrfX0sblRjPWZ1bmN0aW9uKGEpe2E9Xy5lYyhhKTtmb3IodmFyIGI9MDtiPG1UYy5sZW5ndGg7KytiKXt2YXIgYz1tVGNbYl0sZD1rVGMoYSxjKTtkJiYoYVtcIlgtR29vZy1VcGxvYWQtSGVhZGVyLVwiK2NdPWQsbFRjKGEsYykpfXJldHVybiBhfSxvVGM9ZnVuY3Rpb24oYSl7YT1cbl8uZWMoYSk7bFRjKGEsXCJYLUdvb2ctVXBsb2FkLVN0YXR1c1wiKTtyZXR1cm4gYX0scFRjPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPWEuc3BsaXQoXCIlc1wiKSxkPVwiXCIsZT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSk7ZS5sZW5ndGgmJmMubGVuZ3RoPjE7KWQrPWMuc2hpZnQoKStlLnNoaWZ0KCk7cmV0dXJuIGQrYy5qb2luKFwiJXNcIil9LHFUYz1mdW5jdGlvbihhKXt0aGlzLm9hPWF9O3ZhciByVGM9ZnVuY3Rpb24oKXtfLk5rLmNhbGwodGhpcyl9O18ubWgoclRjLF8uTmspO3ZhciBzVGM9ZnVuY3Rpb24oYSl7Xy5Gay5jYWxsKHRoaXMsYSl9O18ubWgoc1RjLF8uRmspO3ZhciB0VGM9ZnVuY3Rpb24oYSl7Xy5Gay5jYWxsKHRoaXMsYSl9O18ubWgodFRjLF8uRmspO3ZhciB3VGM9ZnVuY3Rpb24oYSxiKXthLm5hbWUhPT12b2lkIDA/KHRoaXMubmFtZT1hLm5hbWUsdGhpcy5jb2RlPXVUY1thLm5hbWVdKToodGhpcy5jb2RlPWE9YS5jb2RlLHRoaXMubmFtZT12VGMoYSkpO18uYWEuY2FsbCh0aGlzLHBUYyhcIiVzICVzXCIsdGhpcy5uYW1lLGIpKX07Xy5taCh3VGMsXy5hYSk7XG52YXIgdlRjPWZ1bmN0aW9uKGEpe3ZhciBiPV8uY2hhKHVUYyxmdW5jdGlvbihjKXtyZXR1cm4gYT09Y30pO2lmKGI9PT12b2lkIDApdGhyb3cgRXJyb3IoXCJjaWBcIithKTtyZXR1cm4gYn0seEM9e30sdVRjPSh4Qy5BYm9ydEVycm9yPTMseEMuRW5jb2RpbmdFcnJvcj01LHhDLkludmFsaWRNb2RpZmljYXRpb25FcnJvcj05LHhDLkludmFsaWRTdGF0ZUVycm9yPTcseEMuTm90Rm91bmRFcnJvcj0xLHhDLk5vdFJlYWRhYmxlRXJyb3I9NCx4Qy5Ob01vZGlmaWNhdGlvbkFsbG93ZWRFcnJvcj02LHhDLlBhdGhFeGlzdHNFcnJvcj0xMix4Qy5RdW90YUV4Y2VlZGVkRXJyb3I9MTAseEMuU2VjdXJpdHlFcnJvcj0yLHhDLlN5bnRheEVycm9yPTgseEMuVHlwZU1pc21hdGNoRXJyb3I9MTEseEMpO3ZhciB4VGM9ZnVuY3Rpb24oYSxiKXtfLkZrLmNhbGwodGhpcyxhLnR5cGUsYik7dGhpcy5ZZz1hfTtfLm1oKHhUYyxfLkZrKTt2YXIgeVRjPWZ1bmN0aW9uKGEsYixjKXtjPT09dm9pZCAwJiYoYz1hLnNpemUpO3JldHVybiBhLnNsaWNlP2Euc2xpY2UoYixjKTpudWxsfTtfLm5kKGZ1bmN0aW9uKCl7aWYoIV8uYmEuQmxvYilyZXR1cm4hMTt2YXIgYT1uZXcgVWludDhBcnJheSgxMDApO3RyeXt2YXIgYj1uZXcgQmxvYihbYV0pfWNhdGNoKGMpe3JldHVybiExfXJldHVybiBiLnNpemUhPTEwMD8hMTohMH0pO3ZhciB6VGM9Xy5uZChmdW5jdGlvbigpe2lmKCFfLmJhLkJsb2IpcmV0dXJuITE7dmFyIGE9bmV3IFVpbnQ4QXJyYXkoMTAwKTt0cnl7dmFyIGI9bmV3IEJsb2IoW2FdKX1jYXRjaChjKXtyZXR1cm4hMX1yZXR1cm4geVRjKGIsMCwxKT09PW51bGw/ITE6ITB9KTt2YXIgQVRjPWZ1bmN0aW9uKCl7Xy5Oay5jYWxsKHRoaXMpO3RoaXMub2E9bmV3IEZpbGVSZWFkZXI7dGhpcy5vYS5vbmxvYWRzdGFydD0oMCxfLmhoKSh0aGlzLk1DYSx0aGlzKTt0aGlzLm9hLm9ucHJvZ3Jlc3M9KDAsXy5oaCkodGhpcy5NQ2EsdGhpcyk7dGhpcy5vYS5vbmxvYWQ9KDAsXy5oaCkodGhpcy5NQ2EsdGhpcyk7dGhpcy5vYS5vbmFib3J0PSgwLF8uaGgpKHRoaXMuTUNhLHRoaXMpO3RoaXMub2Eub25lcnJvcj0oMCxfLmhoKSh0aGlzLk1DYSx0aGlzKTt0aGlzLm9hLm9ubG9hZGVuZD0oMCxfLmhoKSh0aGlzLk1DYSx0aGlzKX07Xy5taChBVGMsXy5Oayk7Xy5tPUFUYy5wcm90b3R5cGU7Xy5tLmFib3J0PWZ1bmN0aW9uKCl7dHJ5e3RoaXMub2EuYWJvcnQoKX1jYXRjaChhKXt0aHJvdyBuZXcgd1RjKGEsXCJhYm9ydGluZyByZWFkXCIpO319O18ubS5mUT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9hLnJlYWR5U3RhdGV9O18ubS5nZXRSZXN1bHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vYS5yZXN1bHR9O1xuXy5tLmdldEVycm9yPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub2EuZXJyb3ImJm5ldyB3VGModGhpcy5vYS5lcnJvcixcInJlYWRpbmcgZmlsZVwiKX07Xy5tLk1DYT1mdW5jdGlvbihhKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IHhUYyhhLHRoaXMpKX07Xy5tLlFjPWZ1bmN0aW9uKCl7QVRjLk9kLlFjLmNhbGwodGhpcyk7ZGVsZXRlIHRoaXMub2F9O3ZhciBCVGM9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IF8uSGQ7YS5saXN0ZW4oXCJsb2FkZW5kXCIsXy5paChmdW5jdGlvbihjLGQpe3ZhciBlPWQuZ2V0UmVzdWx0KCksZj1kLmdldEVycm9yKCk7ZT09bnVsbHx8Zj9jLlJEKGYpOmMuY2FsbGJhY2soZSk7ZC5kaXNwb3NlKCl9LGIsYSkpO3JldHVybiBifTt2YXIgQ1RjPWZ1bmN0aW9uKCl7Xy5BcS5jYWxsKHRoaXMpfTtfLkQoQ1RjLF8uQXEpO0NUYy5wcm90b3R5cGUuc0NhPWZ1bmN0aW9uKCl7dmFyIGE9Xy5BcS5wcm90b3R5cGUuc0NhLmNhbGwodGhpcyk7YS51cGxvYWQmJihhLnVwbG9hZC5vbnByb2dyZXNzPSgwLF8uaGgpKHRoaXMub2EsdGhpcykpO3JldHVybiBhfTtDVGMucHJvdG90eXBlLm9hPWZ1bmN0aW9uKGEpe3RoaXMuZGlzcGF0Y2hFdmVudChhKX07dmFyIERUYz1mdW5jdGlvbigpe3RoaXMub2E9LTE7dGhpcy5BYT1udWxsO3RoaXMuQmE9NkU0O3RoaXMub0dhPS0xO3RoaXMuam5iPTJ9LEZUYz1mdW5jdGlvbihhLGIpe3ZhciBjPWEub2ErMTtpZihhLm9HYT4wJiZjPmEub0dhKXJldHVybiExO2M9PTA/YigpOmEuQWE9Xy5XbChmdW5jdGlvbigpe2EuQWE9bnVsbDtiKCl9LEVUYyhhKSxhKTthLm9hPWM7cmV0dXJuITB9O0RUYy5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLkFhJiZfLlhsKHRoaXMuQWEpO3RoaXMub2E9LTF9O3ZhciBFVGM9ZnVuY3Rpb24oYSl7dmFyIGI9MjUwKk1hdGgucG93KGEuam5iLGEub2EpO2EuQmE+PTAmJihiPU1hdGgubWluKGIsYS5CYSkpO3JldHVybiBifTt2YXIgbVRjPVtcIkNvbnRlbnQtTGVuZ3RoXCIsXCJDb250ZW50LVR5cGVcIixcIkNvbnRlbnQtRW5jb2RpbmdcIixcIlRyYW5zZmVyLUVuY29kaW5nXCJdO3ZhciBHVGM9ZnVuY3Rpb24oKXtfLk5rLmNhbGwodGhpcyk7dGhpcy5UaT10aGlzLnpkPW51bGw7dGhpcy5IYmE9ITE7dGhpcy5SYT1udWxsO3RoaXMub2E9dGhpcy5DYT0wO3RoaXMuR2E9bmV3IERUYzt0aGlzLkdhLm9HYT02O3RoaXMuR2EuQmE9NkU0O3RoaXMuQmE9bmV3IF8ucm0odGhpcyk7Xy5IZyh0aGlzLHRoaXMuQmEpO3RoaXMuUmI9dGhpcy5BYT1udWxsO3RoaXMud2I9dm9pZCAwO3RoaXMuU2I9dGhpcy5rYj10aGlzLk9hPW51bGw7dGhpcy5oYj0hMTt0aGlzLlFhPTA7dGhpcy5xYz0hMTt0aGlzLkxhPXRoaXMuT2I9dGhpcy5HYj10aGlzLkJiPW51bGw7dGhpcy5VYT0hMTt0aGlzLlliPW51bGx9O18ubWgoR1RjLHJUYyk7Xy5tPUdUYy5wcm90b3R5cGU7Xy5tLlVpPWZ1bmN0aW9uKCl7SFRjKHRoaXMpfTtfLm0uVTJiPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQ2F9O18ubS5JU2I9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5CYn07Xy5tLnZ0YT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkdifTtcbl8ubS5xeD1mdW5jdGlvbigpe3JldHVybiB0aGlzLk9ifTtfLm0uY2FuY2VsPWZ1bmN0aW9uKCl7aWYodGhpcy56ZCE9XCJSZXNwb25zZSByZWNlaXZlZFwiJiZ0aGlzLnpkIT1cIkVycm9yXCIpe3RoaXMuQmEucmVtb3ZlQWxsKCk7dGhpcy5UaSYmdGhpcy5UaS5hYm9ydCgpO3RoaXMuR2EucmVzZXQoKTt2YXIgYT10aGlzLnpkPT09XCJQYXVzZWRcIj90aGlzLlliOnRoaXMuemQ7aWYoYT09PVwiVXBsb2FkXCJ8fGE9PT1cIlF1ZXJ5XCIpYT1uZXcgQ1RjLGEuc2V0V2l0aENyZWRlbnRpYWxzKHRoaXMuSGJhKSxhLnNlbmQodGhpcy5SYS5vYSxcIlBPU1RcIixcIlwiLHtcIlgtR29vZy1VcGxvYWQtQ29tbWFuZFwiOlwiY2FuY2VsXCJ9KTt0aGlzLnpkPVwiQ2FuY2VsXCI7dGhpcy5DYT0wO3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgc1RjKFwiR1wiKSl9fTtfLm0ucGF1c2U9ZnVuY3Rpb24oKXt0aGlzLlVhPSEwfTtcbnZhciBIVGM9ZnVuY3Rpb24oYSl7dmFyIGI9YS56ZDthLlVhPyhhLlVhPSExLGEuWWI9YixhLnpkPVwiUGF1c2VkXCIpOkZUYyhhLkdhLGZ1bmN0aW9uKCl7c3dpdGNoKGEuemQpe2Nhc2UgXCJTdGFydFwiOmEuVGk9bmV3IENUYzt2YXIgYz1fLmVjKGEuT2EpO2EuQWEuc2l6ZSE9bnVsbCYmKGNbXCJDb250ZW50LUxlbmd0aFwiXT1hLkFhLnNpemUpO2M9blRjKGMpO2NbXCJYLUdvb2ctVXBsb2FkLVByb3RvY29sXCJdPVwicmVzdW1hYmxlXCI7Y1tcIlgtR29vZy1VcGxvYWQtQ29tbWFuZFwiXT1cInN0YXJ0XCI7YS5CYS5yZW1vdmVBbGwoKTthLkJhLmxpc3RlbihhLlRpLFwiY29tcGxldGVcIixhLlNjKTthLlRpLnNldFdpdGhDcmVkZW50aWFscyhhLkhiYSk7YS5UaS5zZW5kKGEuUmIsYS53YixhLmtiLGMpO2EuTGE9bnVsbDthLmRpc3BhdGNoRXZlbnQobmV3IHRUYyhcIklcIikpO2JyZWFrO2Nhc2UgXCJVcGxvYWRcIjpjPWEuUmEub2E7dmFyIGQ9YS5BYS5zaXplO2lmKHpUYygpKXt2YXIgZT1hLlNiO3ZhciBmPWEub2ErXG5lPj1kO2Q9eVRjKGEuQWEsYS5vYSxmP2Q6YS5vYStlKX1lbHNlIGEub2E9MCxkPWEuQWEsZj0hMDthLlRpPW5ldyBDVGM7YS5UaS5zZXRXaXRoQ3JlZGVudGlhbHMoYS5IYmEpO2EuQmEucmVtb3ZlQWxsKCk7YS5CYS5saXN0ZW4oYS5UaSxcInByb2dyZXNzXCIsYS55ZCk7ZT0oMCxfLmhoKShhLnZkLGEsYS5vYStkLnNpemUsZik7YS5CYS5saXN0ZW4oYS5UaSxcImNvbXBsZXRlXCIsZSk7YS5MYT1udWxsO2EuZGlzcGF0Y2hFdmVudChuZXcgdFRjKFwiSVwiKSk7Zj1PYmplY3QuYXNzaWduKHt9LGEuT2F8fHt9LHtcIlgtR29vZy1VcGxvYWQtQ29tbWFuZFwiOlwidXBsb2FkXCIrKGY/XCIsIGZpbmFsaXplXCI6XCJcIiksXCJYLUdvb2ctVXBsb2FkLU9mZnNldFwiOmEub2F9KTthLlRpLnNlbmQoYyxcIlBPU1RcIixkLGYpO2JyZWFrO2Nhc2UgXCJRdWVyeVwiOmEuVGk9bmV3IENUYzthLkJhLnJlbW92ZUFsbCgpO2EuQmEubGlzdGVuKGEuVGksXCJjb21wbGV0ZVwiLGEuRGMpO2M9T2JqZWN0LmFzc2lnbih7fSxhLk9hfHx7fSxcbntcIlgtR29vZy1VcGxvYWQtQ29tbWFuZFwiOlwicXVlcnlcIn0pO2EuVGkuc2VuZChhLlJhLm9hLFwiUE9TVFwiLFwiXCIsYyk7YS5MYT1udWxsO2EuZGlzcGF0Y2hFdmVudChuZXcgdFRjKFwiSVwiKSk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcihcImRpXCIpO319KXx8SVRjKGEpfSxJVGM9ZnVuY3Rpb24oYSl7YS56ZD1cIkVycm9yXCI7YS5kaXNwYXRjaEV2ZW50KG5ldyBzVGMoXCJGXCIpKX07XG5HVGMucHJvdG90eXBlLlNjPWZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0O3RoaXMuTGE9Yi5nZXRTdGF0dXMoKTt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IHRUYyhcIkpcIikpO2lmKEpUYyhiKSlLVGModGhpcyxiKTtlbHNlIGlmKExUYyhiKSl7YT1qVGMoYS50YXJnZXQuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkpO2Zvcih2YXIgYyBpbiBhKV8uR2YoYy50b0xvd2VyQ2FzZSgpLFwieC1nb29nLXVwbG9hZC1oZWFkZXItXCIpO3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgc1RjKFwiRVwiKSk7Yz1rVGMoYSxcIlgtR29vZy1VcGxvYWQtVVJMXCIpO2E9KGE9a1RjKGEsXCJYLUdvb2ctVXBsb2FkLUNodW5rLUdyYW51bGFyaXR5XCIpKT9wYXJzZUludChhLDEwKToxO2M9PT12b2lkIDB8fGlzTmFOKGEpfHxhPD0wP0lUYyh0aGlzKToodGhpcy5TYj1NYXRoLmZsb29yKDEwNzM3NDE4MjQvYSkqYSx0aGlzLlJhPW5ldyBxVGMoYyksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBzVGMoXCJIXCIpKSx0aGlzLnpkPVwiVXBsb2FkXCIsXG50aGlzLkdhLnJlc2V0KCksSFRjKHRoaXMpKX1lbHNlIEhUYyh0aGlzKX07R1RjLnByb3RvdHlwZS55ZD1mdW5jdGlvbihhKXt0aGlzLkNhPXRoaXMub2ErYS5sb2FkZWQ7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBzVGMoXCJDXCIpKX07XG5HVGMucHJvdG90eXBlLnZkPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLGUsZjtyZXR1cm4gXy5iaChmdW5jdGlvbihnKXtzd2l0Y2goZy5vYSl7Y2FzZSAxOmU9Yy50YXJnZXQ7ZC5MYT1lLmdldFN0YXR1cygpO2QuZGlzcGF0Y2hFdmVudChuZXcgdFRjKFwiSlwiKSk7aWYoTVRjKGUpfHxlLmdldFN0YXR1cygpPT00MDQpcmV0dXJuIGQuQ2E9YSxLVGMoZCxlKSxnLnJldHVybigpO2lmKExUYyhlKSl7Zy5NYigyKTticmVha31pZighKGY9ZC5xYykpe2cuTWIoMyk7YnJlYWt9cmV0dXJuIGcueWllbGQoTlRjKGQpLDQpO2Nhc2UgNDpmPWcuQWE7Y2FzZSAzOmlmKGYpcmV0dXJuIElUYyhkKSxnLnJldHVybigpO2QuaGI9ZS5nZXRTdGF0dXMoKT09NDAwO2QuemQ9XCJRdWVyeVwiO0hUYyhkKTtyZXR1cm4gZy5yZXR1cm4oKTtjYXNlIDI6aWYoYilyZXR1cm4gSVRjKGQpLGcucmV0dXJuKCk7ZC5DYT1hO2Qub2E9YTtkLkdhLnJlc2V0KCk7SFRjKGQpO3JldHVybiBnLnJldHVybigpfX0pfTtcbkdUYy5wcm90b3R5cGUuRGM9ZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQ7dGhpcy5MYT1iLmdldFN0YXR1cygpO3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgdFRjKFwiSlwiKSk7SlRjKGIpPyhiLmdldFN0YXR1cygpPT09MjAwJiYodGhpcy5DYT10aGlzLkFhLnNpemUpLEtUYyh0aGlzLGIpKTpMVGMoYik/KGE9alRjKGEudGFyZ2V0LmdldEFsbFJlc3BvbnNlSGVhZGVycygpKSxhPXBhcnNlSW50KGtUYyhhLFwiWC1Hb29nLVVwbG9hZC1TaXplLVJlY2VpdmVkXCIpLDEwKSxpc05hTihhKT9JVGModGhpcyk6YTx0aGlzLm9hP0lUYyh0aGlzKTp0aGlzLmhiJiZ0aGlzLm9hPT09YT9JVGModGhpcyk6KHRoaXMuaGI9ITEsdGhpcy5vYTxhJiZ0aGlzLkdhLnJlc2V0KCksdGhpcy5vYT10aGlzLkNhPWEsdGhpcy56ZD1cIlVwbG9hZFwiLEhUYyh0aGlzKSkpOkhUYyh0aGlzKX07XG52YXIgS1RjPWZ1bmN0aW9uKGEsYil7YS5CYj1iLmdldFN0YXR1cygpO3ZhciBjPWpUYyhiLmdldEFsbFJlc3BvbnNlSGVhZGVycygpKTthLkdiPW9UYyhjKTthLk9iPWIucXgoKTthLnpkPVwiUmVzcG9uc2UgcmVjZWl2ZWRcIjthLmRpc3BhdGNoRXZlbnQobmV3IHNUYyhcIkRcIikpfSxMVGM9ZnVuY3Rpb24oYSl7dmFyIGI9YS5nZXRTdGF0dXMoKTthPWpUYyhhLmdldEFsbFJlc3BvbnNlSGVhZGVycygpKTthPWtUYyhhLFwiWC1Hb29nLVVwbG9hZC1TdGF0dXNcIik7cmV0dXJuIGI9PT0yMDAmJmE9PT1cImFjdGl2ZVwifSxNVGM9ZnVuY3Rpb24oYSl7YT1qVGMoYS5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSk7cmV0dXJuIGtUYyhhLFwiWC1Hb29nLVVwbG9hZC1TdGF0dXNcIik9PT1cImZpbmFsXCJ9LEpUYz1mdW5jdGlvbihhKXtpZihNVGMoYSkpcmV0dXJuITA7YT1hLmdldFN0YXR1cygpO3JldHVybiBhPj00MDAmJmE8NTAwfSxOVGM9ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuIF8uYmgoZnVuY3Rpb24oYyl7aWYoYy5vYT09XG4xKXtpZighYS5BYXx8YS5RYTw9MClyZXR1cm4gYy5yZXR1cm4oITEpO2lmKGEuQWEuc2l6ZSE9PWEuUWEpcmV0dXJuIGMucmV0dXJuKCEwKTtfLlVnKGMsMik7aWYoYj15VGMoYS5BYSwwLDEpKXt2YXIgZD1jLnlpZWxkLGU9bmV3IEFUYyxmPUJUYyhlKTtlLm9hLnJlYWRBc0JpbmFyeVN0cmluZyhiKTtjPWQuY2FsbChjLGYsNCl9ZWxzZSBjPWMucmV0dXJuKCEwKTtyZXR1cm4gY31pZihjLm9hIT0yKXJldHVybiBjLnJldHVybihhLkFhLnNpemUhPT1hLlFhKTtfLllnKGMpO3JldHVybiBjLnJldHVybighMCl9KX07dmFyIE9UYz1mdW5jdGlvbihhLGIsYyxkLGUsZil7Xy5Oay5jYWxsKHRoaXMpO3RoaXMuQmE9ZDt0aGlzLndiPWE7dGhpcy5rYj1iO3RoaXMuVWE9Yzt0aGlzLmhiPWU7dGhpcy5SYT0wO3RoaXMuQmI9Znx8XCJiaW5hcnlcIjthPW5ldyBfLiR3O3RoaXMuQ2E9XCJ1cGxvYWRlci1cIitfLkR5YSgpK1wiLVwiK2EuTWgoKTt0aGlzLm9hPW51bGw7dGhpcy5HYT0wO3RoaXMuUWE9dGhpcy5PYT10aGlzLkxhPW51bGw7dGhpcy56ZD1cIlJlYWR5XCI7dGhpcy5BYT1uZXcgXy5ybSh0aGlzKTtfLkhnKHRoaXMsdGhpcy5BYSl9O18uRChPVGMsclRjKTtfLm09T1RjLnByb3RvdHlwZTtcbl8ubS5VaT1mdW5jdGlvbigpe3ZhciBhPV8uZWModGhpcy5VYSk7dGhpcy5CYS5sZW5ndGghPW51bGwmJihhW1wiQ29udGVudC1MZW5ndGhcIl09dGhpcy5CYS5sZW5ndGgpO2E9blRjKGEpO2FbXCJYLUdvb2ctVXBsb2FkLVByb3RvY29sXCJdPVwibXVsdGlwYXJ0XCI7YVtcIkNvbnRlbnQtVHlwZVwiXT1cIm11bHRpcGFydC9yZWxhdGVkOyBib3VuZGFyeT1cIit0aGlzLkNhO3RoaXMuemQ9XCJUcmFuc2ZlcnJpbmdcIjt0aGlzLm9hPW5ldyBDVGM7dGhpcy5BYS5yZW1vdmVBbGwoKTt0aGlzLkFhLmxpc3Rlbih0aGlzLm9hLFwicHJvZ3Jlc3NcIix0aGlzLlhDZCk7dGhpcy5BYS5saXN0ZW4odGhpcy5vYSxcImNvbXBsZXRlXCIsdGhpcy5XQ2QpO3ZhciBiPXRoaXMub2EsYz1iLnNlbmQsZD10aGlzLndiLGU9dGhpcy5rYixmPVwiLS1cIit0aGlzLkNhKydcXHJcXG5Db250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9XCJtZXRhZGF0YVwiXFxyXFxuXFxyXFxuJysodGhpcy5oYitcIlxcclxcbi0tXCIpK3RoaXMuQ2ErJ1xcclxcbkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT1cIkZpbGVkYXRhXCJcXHJcXG5Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiAnK1xuKHRoaXMuQmIrXCJcXHJcXG5cXHJcXG5cIikrdGhpcy5CYStcIlxcclxcbi0tXCIrdGhpcy5DYStcIi0tXFxyXFxuXCI7dGhpcy5SYT1mLmxlbmd0aC10aGlzLkJhLmxlbmd0aDtjLmNhbGwoYixkLGUsZixhKX07Xy5tLlUyYj1mdW5jdGlvbigpe3JldHVybiB0aGlzLkdhfTtfLm0uSVNiPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTGF9O18ubS52dGE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5PYX07Xy5tLnF4PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUWF9O18ubS5jYW5jZWw9ZnVuY3Rpb24oKXt0aGlzLnpkIT1cIkNvbXBsZXRlXCImJnRoaXMuemQhPVwiRXJyb3JcIiYmKHRoaXMuQWEucmVtb3ZlQWxsKCksdGhpcy5vYSYmdGhpcy5vYS5hYm9ydCgpLHRoaXMuemQ9XCJDYW5jZWxcIix0aGlzLmRpc3BhdGNoRXZlbnQobmV3IHNUYyhcIkdcIikpKX07Xy5tLnBhdXNlPWZ1bmN0aW9uKCl7fTtfLm0uWENkPWZ1bmN0aW9uKGEpe3RoaXMuR2E9TWF0aC5tYXgoMCxhLmxvYWRlZC10aGlzLlJhKTt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IHNUYyhcIkNcIikpfTtcbl8ubS5XQ2Q9ZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQuZ2V0U3RhdHVzKCk7Yj09PXZvaWQgMHx8Yj09PS0xPyh0aGlzLnpkPVwiRXJyb3JcIix0aGlzLmRpc3BhdGNoRXZlbnQobmV3IHNUYyhcIkZcIikpKToodGhpcy5MYT1iLGE9YS50YXJnZXQsYj1qVGMoYS5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSksdGhpcy5PYT1vVGMoYiksdGhpcy5RYT1hLnF4KCksdGhpcy56ZD1cIkNvbXBsZXRlXCIsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBzVGMoXCJEXCIpKSl9O18uUFRjPWZ1bmN0aW9uKGEsYixjLGQsZSl7ZT1lPT09dm9pZCAwPyExOmU7aWYodHlwZW9mIGM9PT1cInN0cmluZ1wifHxjIGluc3RhbmNlb2YgU3RyaW5nKXJldHVybiBuZXcgT1RjKGEsXCJQT1NUXCIsYixjLGQpO3ZhciBmPW5ldyBHVGModm9pZCAwKTtmLlJiPWE7Zi53Yj1cIlBPU1RcIjtmLk9hPWI7Zi5BYT1jO2YuUWE9Yy5zaXplO2Yua2I9ZDtlJiYoZi5IYmE9ZSk7Zi56ZD1cIlN0YXJ0XCI7cmV0dXJuIGZ9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLmlUYz1fLkdkKFwiVDFIT3hjXCIsW18uam9dKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy53Qz1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8ud0MsXy5xKTtfLmJUYz1mdW5jdGlvbihhLGIpe3JldHVybiBfLkRlKGEsMSxiKX07Xy5jVGM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5EZShhLDIsYil9O18uZFRjPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uRGUoYSw0LGIpfTtfLndDLnByb3RvdHlwZS5sQT1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywzKX07Xy5lVGM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5EZShhLDMsYil9O18uZlRjPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uT2koYSwxMSxiKX07Xy53Qy5wcm90b3R5cGUuZ2V0QXR0cmlidXRlPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDUpfTtfLndDLnByb3RvdHlwZS5zZXRBdHRyaWJ1dGU9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRGUodGhpcyw1LGEpfTtfLndDLnByb3RvdHlwZS5oYXNBdHRyaWJ1dGU9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZSh0aGlzLDUpfTtcbl8uZ1RjPWZ1bmN0aW9uKGEsYil7Xy5EZShhLDEyLGIpfTtfLndDLnByb3RvdHlwZS5nZXREZXNjcmlwdGlvbj1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcyw2KX07Xy5oVGM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5EZShhLDYsYil9O18ud0Mub2I9WzI2LDE4LDE5LDI3XTtfLkNtWzE5MTQ1MDEwOV09WzAsXy5ILC02LF8uRywyLF8uVGosXy5ILC01LF8uVWosXy5laywxLF8uVGosMSxfLkksXy5ILC0xLF8uZWssLTEsXy5UaixfLkgsLTIsXy5VUmMsXy5JLFswLF8uSCwtMSxbMCxfLlRqLC0yXSxfLkgsLTEsXy5HLFswLF8uSCwtMV0sXy5ILC0xXSxfLm9rLFswLF8uVGosXy5ILC0xLF8uRyxfLkhdLF8ub2tdO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgVFNjPVswLFsxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMiwxM10sXy5oaywtMSxfLmRrLF8uTmosXy5SaixfLkNqLF8ubmssWzAsXy5UaiwtNixfLkpqXSxfLk5qLF8uUmosXy5uayxbMCxfLkgsXy5va10sXy5ILF8ubmssZnVuY3Rpb24oKXtyZXR1cm4gU1NjfSxfLmhrXSxVU2M9WzAsXy5ILF8ua2ssZnVuY3Rpb24oKXtyZXR1cm4gVFNjfV0sU1NjPVswLF8ua2ssZnVuY3Rpb24oKXtyZXR1cm4gVVNjfV07Xy5WU2M9WzAsXy5layxfLndrXTt2YXIgV1NjPVswLF8ucWtdO3ZhciBYU2M9WzAsXy5HLC00LF8uVlNjLC0xLF8uZWssXy5Mal07dmFyIFlTYz1bMCwxLF8uTGpdO3ZhciBaU2M9WzAsXy5WU2MsXy4kbCwtMV07Xy4kU2M9Wy0yMix7fSxfLkgsLTQsXy51ayxfLm9rLF8uSmosLTEsXy51ayxfLktqLF8uWHAsXy5HLF8uSSwxLF8uRyxfLkgsWzAsWzEsMiwzXSxfLm5rLFswXSxfLm5rLFswLF8uUGpdLF8ubmssWzAsXy5layxfLkpqXV0sWzAsXy5HLF8uZWssXy5QaixfLkcsXy5la10sXy5UaixbMCxfLmtrLF8uVlNjLDIsXy5rayxfLlZTYyxfLiRsLC0xLF8uSSw5LFpTYyxYU2MsXy5WaixZU2MsV1NjXV07Xy5hVGM9Wy0xOCx7fSxfLkgsLTIsMSxfLkksXy5ILF8uSmosLTMsXy5rayxfLiRTYyxfLkgsXy5rayxfLiRTYywxLF8uUWosMSxfLmtrLFswLF8ua2ssWzAsXy5ILFRTY11dXTtfLkNtWzUyNTAwMTQzOV09V1NjO18uQ21bNDg5MDkzNzg5XT1YU2M7Xy5DbVs1MjUwMDA0NTRdPVlTYztfLkNtWzQ4OTI3MTYzMl09WlNjO18uQ21bNDM5MTgwNjFdPV8uYVRjO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLnNTYz0hIShfLmRoWzE3XSYxMjgpO18udFNjPSEhKF8uZGhbMTddJjEwMjQpO18udVNjPSEhKF8uZGhbMTddJjIwNDgpO18udlNjPSEhKF8uZGhbMTddJjQwOTYpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIga1NjPVswLDEsWzAsMTIsXy5UaiwxMCxfLkddXSxsU2M9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChsU2MsXy5xKTtsU2MucHJvdG90eXBlLmdldENvbnRleHQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy52KHRoaXMsXy5iTmEsMSl9O18ubVNjPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBsU2M7cmV0dXJuIF8uTWIoYixfLmJOYSwxLGEpfTtsU2MucHJvdG90eXBlLm9hPV8uU2IoWzAsa1NjXSk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uaFNjPVswLF8uRyxfLkgsLTIsXy5layxfLkksXy5ILF8uVGosXy5ILC0xLF8uSSxfLlRqLF8uSCxfLlVSYyxfLkgsXy5laywxLF8uVGosXy5ILF8uSSwtMSxfLm9rLF8uRywtMSxfLkgsXy5HLF8uSF07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uc0M9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLnNDLF8ucSk7Xy5tPV8uc0MucHJvdG90eXBlO18ubS5sQT1mdW5jdGlvbigpe3JldHVybiBfLkdlKHRoaXMsMyl9O18ubS5Tdz1mdW5jdGlvbigpe3JldHVybiBfLkVpKHRoaXMsNCl9O18ubS5nZXRBdHRyaWJ1dGU9ZnVuY3Rpb24oKXtyZXR1cm4gXy5HZSh0aGlzLDE1KX07Xy5tLnNldEF0dHJpYnV0ZT1mdW5jdGlvbihhKXtyZXR1cm4gXy5EZSh0aGlzLDE1LGEpfTtfLm0uaGFzQXR0cmlidXRlPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmUodGhpcywxNSl9O18uc0Mub2I9WzUsMTZdO18uc0MucHJvdG90eXBlLnFiPVwidlNUN3JiXCI7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8udEM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5EZShhLDQsYil9O18udUM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uaGkoYSw2KX07Xy5pU2M9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5jaihhLDYsYil9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG52YXIgcFNjLHFTYztfLm5TYz1mdW5jdGlvbihhKXtpZihhPWEuY2xvc2VzdChfLkluKFwiYWFkdmhlXCIpKSlpZihhPV8uZG0oYS5nZXREYXRhKFwicHJveHlcIiksXCJcIikpe2E9bmV3IF8uamcoW18ua2woYSldKTt2YXIgYj1hLmNsb3Nlc3QoXy5ZR2EoXCJrcGZicm9vdFwiKSk7Yi5maXJzdCgpfHwoYj1hLmNsb3Nlc3QoXy5IbihcIkV5QlJ1YlwiKSkpO3JldHVybiBiLmZpcnN0KCk/Yjp2b2lkIDB9fTtfLm9TYz1mdW5jdGlvbihhKXt2YXIgYjtyZXR1cm4oYj1fLm5TYyhhKSkhPW51bGw/YjphLmNsb3Nlc3QoXy5IbihcIkV5QlJ1YlwiKSl9O18uclNjPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHBTYyhhLG5ldyBfLlJnYShxU2MoYikpKX07cFNjPV8uU2dhKF8uaFNjKTtxU2M9Xy5SYihfLmhTYyk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uakI9ZnVuY3Rpb24oKXtpZih3aW5kb3cuZ29vZ2xlJiZ3aW5kb3cuZ29vZ2xlLmtITClyZXR1cm4gZ29vZ2xlLmtITDt2YXIgYT1fLlJjKFwiR1dzZEtlXCIpO3JldHVybiBhLlBiKCk/YS5zdHJpbmcoXCJcIik6XCJcIn07Xy5NSWM9ZnVuY3Rpb24oKXt2YXIgYT1fLlJjKFwiR1dzZEtlXCIpO3JldHVybiBhLlBiKCk/YS5zdHJpbmcoXCJcIikuc3BsaXQoXCItXCIsMilbMV18fFwiXCI6XCJcIn07Xy5OSWM9Xy5qbS51Qjtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIGhJYz1mdW5jdGlvbihhKXtyZXR1cm4gZ0ljLnNvbWUoZnVuY3Rpb24oYil7cmV0dXJuIGIudGVzdChhKX0pfSxsSWM9ZnVuY3Rpb24oYSxiKXt2YXIgYzt2YXIgZD0oYz1hLmZvcm1Db250ZW50KT09bnVsbD92b2lkIDA6Yy5sb2NhbGU7Yz1kPT1udWxsP3ZvaWQgMDpkLnNwbGl0KFwiLVwiKVswXTtkPWQmJmlJYy5pbmNsdWRlcyhkKT9kOmMmJmlJYy5pbmNsdWRlcyhjKT9jOnZvaWQgMDtkPShkIT1udWxsP2Q6XCJlblwiKS5yZXBsYWNlQWxsKFwiLVwiLFwiX1wiKS50b0xvd2VyQ2FzZSgpO3ZhciBlO2E9KChlPWEuaW5pdGlhbGl6YXRpb25EYXRhKT09bnVsbD8wOmUudXNlTmlnaHRseVJlbGVhc2UpP1wibmlnaHRseVwiOlwibGl2ZVwiO3ZhciBmO3JldHVybihiPT1udWxsPzA6KGY9Yi5nZXRFbmFibGVBbG9oYUJpbmFyeVNwbGl0KT09bnVsbD8wOmYuY2FsbChiKSk/Xy53YyhqSWMsYSk6Xy53YyhrSWMsYSxkKX0sbkljPWZ1bmN0aW9uKGEsYixjLGQpe2lmKG1JYylyZXR1cm4gbUljO3ZhciBlPVxubEljKGEsZCk7cmV0dXJuIG1JYz1iLmZlZWRiYWNrVjJHbG9iYWxPYmplY3Q/UHJvbWlzZS5yZXNvbHZlKGIuZmVlZGJhY2tWMkdsb2JhbE9iamVjdCk6bmV3IFByb21pc2UoZnVuY3Rpb24oZixnKXt2YXIgaD1fLnVsKFwiU0NSSVBUXCIpO18uYmwuUmQoaCxlKTtoLm9ubG9hZD1mdW5jdGlvbigpe2IuZmVlZGJhY2tWMkdsb2JhbE9iamVjdD9mKGIuZmVlZGJhY2tWMkdsb2JhbE9iamVjdCk6ZyhcImZlZWRiYWNrVjJHbG9iYWxPYmplY3Qgbm90IGZvdW5kIG9uIHdpbmRvdy5cIil9O2gub25lcnJvcj1mdW5jdGlvbigpe2coXCJGZWVkYmFjayBiaW5hcnkgc2NyaXB0IHRhZyBmYWlsZWQgdG8gbG9hZDogXCIrZS50b1N0cmluZygpKX07Yy5ib2R5LmFwcGVuZENoaWxkKGgpfSl9LHBJYz1mdW5jdGlvbihhLGIsYyxkKXtpZihvSWMpcmV0dXJuIG9JYzt2YXIgZT1sSWMoYSxkKTtyZXR1cm4gb0ljPWIuZmVlZGJhY2tWMkdsb2JhbE9iamVjdD9Qcm9taXNlLnJlc29sdmUoYi5mZWVkYmFja1YyR2xvYmFsT2JqZWN0KTpcbm5ldyBQcm9taXNlKGZ1bmN0aW9uKGYsZyl7dmFyIGg9Xy51bChcIlNDUklQVFwiKTtfLmJsLlJkKGgsZSk7aC5vbmxvYWQ9ZnVuY3Rpb24oKXtiLmZlZWRiYWNrVjJHbG9iYWxPYmplY3Q/ZihiLmZlZWRiYWNrVjJHbG9iYWxPYmplY3QpOmcoXCJmZWVkYmFja1YyR2xvYmFsT2JqZWN0IG5vdCBmb3VuZCBvbiB3aW5kb3cuXCIpfTtoLm9uZXJyb3I9ZnVuY3Rpb24oKXtnKFwiRmVlZGJhY2sgYmluYXJ5IHNjcmlwdCB0YWcgZmFpbGVkIHRvIGxvYWQ6IFwiK2UudG9TdHJpbmcoKSl9O2MuYm9keS5hcHBlbmRDaGlsZChoKX0pfSxxSWM9ZnVuY3Rpb24oYSxiLGMsZCxlKXtlPWU9PT12b2lkIDA/ITA6ZTt2YXIgZixnLGgsayxsO3JldHVybiBfLmJoKGZ1bmN0aW9uKG4pe3N3aXRjaChuLm9hKXtjYXNlIDE6cmV0dXJuIGY9RGF0ZS5ub3coKSxuLnlpZWxkKG5JYyhhLGMsZCxiKSwyKTtjYXNlIDI6Zz1uLkFhO2lmKCEoZXx8KChrPWEuaW5pdGlhbGl6YXRpb25EYXRhKT09bnVsbD8wOmsudXNlTmlnaHRseVJlbGVhc2UpfHxcbigobD1hLmluaXRpYWxpemF0aW9uRGF0YSk9PW51bGw/MDpsLmlzTG9jYWxTZXJ2ZXIpKSl7aD1nLmluaXRpYWxpemVGZWVkYmFja0NsaWVudChhLGYsYik7bi5NYigzKTticmVha31yZXR1cm4gbi55aWVsZChnLmluaXRpYWxpemVGZWVkYmFja0NsaWVudEFzeW5jKGEsZixiKSw0KTtjYXNlIDQ6aD1uLkFhO2Nhc2UgMzpyZXR1cm4gaC5pbml0aWF0ZUFsb2hhKCksbi5yZXR1cm4oaCl9fSl9LHJJYz1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZSxmLGc7cmV0dXJuIF8uYmgoZnVuY3Rpb24oaCl7aWYoaC5vYT09MSlyZXR1cm4gZT1EYXRlLm5vdygpLGgueWllbGQocEljKGEsYyxkLmRvY3VtZW50LGIpLDIpO2lmKGgub2EhPTMpcmV0dXJuIGY9aC5BYSxoLnlpZWxkKGYuaW5pdGlhbGl6ZUZlZWRiYWNrQ2xpZW50QXN5bmMoYSxlLGIsZCksMyk7Zz1oLkFhO2cuaW5pdGlhdGVBbG9oYSgpO3JldHVybiBoLnJldHVybihnKX0pfSxzSWM9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSEwO2Q9ZD09PVxudm9pZCAwPyEwOmQ7dmFyIGUsZixnLGgsayxsLG4scix0LHU7cmV0dXJuIF8uYmgoZnVuY3Rpb24oeil7ZT1jfHxfLmJhO2lmKChmPWIpPT1udWxsPzA6KGg9KGc9ZikuZ2V0RW5hYmxlQWxvaGFCaW5hcnlTcGxpdCk9PW51bGw/MDpoLmNhbGwoZykpe2s9ZTtpZihrLmlzRm9ybU9wZW5lZCl0aHJvdyBsPUVycm9yKFwiTWhcIiksbC5uYW1lPVwiRHVwbGljYXRlRm9ybUVycm9yXCIsbDtrLmlzRm9ybU9wZW5lZD0hMDthLmNhbGxiYWNrcz1hLmNhbGxiYWNrc3x8e307bj1hLmNhbGxiYWNrcy5vbkNsb3NlfHxmdW5jdGlvbigpe307YS5jYWxsYmFja3Mub25DbG9zZT1mdW5jdGlvbihCKXtrLmlzRm9ybU9wZW5lZD0hMTtuKEIpfTt0cnl7cmV0dXJuIHoucmV0dXJuKHJJYyhhLGIsayxlKSl9Y2F0Y2goQil7dGhyb3cgay5pc0Zvcm1PcGVuZWQ9ITEsQjt9fWVsc2V7cj1lO2lmKHIuaXNGb3JtT3BlbmVkKXRocm93IHQ9RXJyb3IoXCJNaFwiKSx0Lm5hbWU9XCJEdXBsaWNhdGVGb3JtRXJyb3JcIix0O3IuaXNGb3JtT3BlbmVkPVxuITA7YS5jYWxsYmFja3M9YS5jYWxsYmFja3N8fHt9O3U9YS5jYWxsYmFja3Mub25DbG9zZXx8ZnVuY3Rpb24oKXt9O2EuY2FsbGJhY2tzLm9uQ2xvc2U9ZnVuY3Rpb24oQil7ci5pc0Zvcm1PcGVuZWQ9ITE7dShCKX07dHJ5e3JldHVybiB6LnJldHVybihxSWMoYSxiLHIsZS5kb2N1bWVudCxkKSl9Y2F0Y2goQil7dGhyb3cgci5pc0Zvcm1PcGVuZWQ9ITEsQjt9fV8uU2coeil9KX0sd0ljPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uYmgoZnVuY3Rpb24oYyl7cmV0dXJuIGMucmV0dXJuKG5ldyBQcm9taXNlKGZ1bmN0aW9uKGQpe3ZhciBlPXRJYyhiIT1udWxsP2I6XCJcIikrXCIvYWxvaGFfZm9ybV9wcm9wZXJ0aWVzP3Byb2R1Y3RJZD1cIithO18uQnEoZSxmdW5jdGlvbihmKXtmPWYudGFyZ2V0O3ZhciBnPW51bGw7dHJ5e2c9Xy5WYih1SWMsSlNPTi5zdHJpbmdpZnkoXy5DcShmLFwiKV19J1xcblwiKSkpfWNhdGNoKGgpe2Y9bmV3IHVJYyxnPXZJYygpLGc9Xy5OaShnLDE1LCEwKSxnPV8uTmkoZyxcbjIwLCExKSxnPV8uTWIoZixnQiwxLGcpfWQoZyl9LFwiR0VUXCIsXCJcIix7fSwyRTMsITApfSkpfSl9LHRJYz1mdW5jdGlvbihhKXtyZXR1cm4gaEljKGEpP2E6XCJodHRwczovL3d3dy5nb29nbGUuY29tL3Rvb2xzL2ZlZWRiYWNrXCJ9O3ZhciBnQj1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKGdCLF8ucSk7Xy5tPWdCLnByb3RvdHlwZTtfLm0uZ2V0RW5hYmxlU3NFbmdpbmU9ZnVuY3Rpb24oKXtyZXR1cm4gXy5FKHRoaXMsMil9O18ubS5nZXRFbmFibGVBd3I9ZnVuY3Rpb24oKXtyZXR1cm4gXy5FKHRoaXMsMyl9O18ubS5nZXRBbG9oYUF1dG9HYVJvbGxvdXQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy5FKHRoaXMsNSl9O18ubS5nZXRFbmFibGVDb25maWd1cmF0b3I9ZnVuY3Rpb24oKXtyZXR1cm4gXy5FKHRoaXMsNil9O18ubS5nZXRFbmFibGVNd2ViPWZ1bmN0aW9uKCl7cmV0dXJuIF8uRSh0aGlzLDcpfTt2YXIgeUljPWZ1bmN0aW9uKCl7dmFyIGE9eEljKCk7cmV0dXJuIF8uTmkoYSw3LCEwKX07Z0IucHJvdG90eXBlLmdldEVuYWJsZUN0bENvbnNlbnRDaGVja2JveD1mdW5jdGlvbigpe3JldHVybiBfLkUodGhpcyw4KX07XG5nQi5wcm90b3R5cGUuZ2V0RW5hYmxlSWZyYW1lPWZ1bmN0aW9uKCl7cmV0dXJuIF8uRSh0aGlzLDkpfTt2YXIgeEljPWZ1bmN0aW9uKCl7dmFyIGE9bmV3IGdCO2E9Xy5OaShhLDUsITApO2E9Xy5OaShhLDIsITApO2E9Xy5OaShhLDQsITEpO2E9Xy5OaShhLDgsITApO3JldHVybiBfLk5pKGEsOSwhMCl9O2dCLnByb3RvdHlwZS5nZXRFbmFibGVTY3JlZW5zaG90TnVkZ2U9ZnVuY3Rpb24oKXtyZXR1cm4gXy5FKHRoaXMsMTApfTt2YXIgekljPWZ1bmN0aW9uKCl7dmFyIGE9eUljKCk7cmV0dXJuIF8uTmkoYSwxMCwhMCl9O2dCLnByb3RvdHlwZS5nZXRFbmFibGVXZWJTdGFydHVwQ29uZmlnRW5kcG9pbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy5FKHRoaXMsMTEpfTtnQi5wcm90b3R5cGUuZ2V0RW5hYmxlSnVua051ZGdlPWZ1bmN0aW9uKCl7cmV0dXJuIF8uRSh0aGlzLDEyKX07dmFyIEFJYz1mdW5jdGlvbigpe3ZhciBhPXpJYygpO3JldHVybiBfLk5pKGEsMTIsITApfTtcbmdCLnByb3RvdHlwZS5nZXRFbmFibGVDb25maWd1cmF0b3JMb2NhbGU9ZnVuY3Rpb24oKXtyZXR1cm4gXy5FKHRoaXMsMTMpfTt2YXIgQkljPWZ1bmN0aW9uKCl7dmFyIGE9QUljKCk7cmV0dXJuIF8uTmkoYSwxMywhMSl9O2dCLnByb3RvdHlwZS5nZXRFbmFibGVUaW55Tm9Qb2ludGVyPWZ1bmN0aW9uKCl7cmV0dXJuIF8uRSh0aGlzLDE0KX07dmFyIHZJYz1mdW5jdGlvbigpe3ZhciBhPUJJYygpO3JldHVybiBfLk5pKGEsMTQsITApfTtfLm09Z0IucHJvdG90eXBlO18ubS5nZXRFbmFibGVTdXBwb3J0U2Vzc2lvbkxvZ2dpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gXy5FKHRoaXMsMTUpfTtfLm0uZ2V0RW5hYmxlRmlsZVVwbG9hZEZvclNjcmVlbnNob3Q9ZnVuY3Rpb24oKXtyZXR1cm4gXy5FKHRoaXMsMTYpfTtfLm0uZ2V0RW5hYmxlRGlyZWN0RGVmbGVjdGlvbkZvclNpbmdsZUNhdGVnb3J5PWZ1bmN0aW9uKCl7cmV0dXJuIF8uRSh0aGlzLDE3KX07XG5fLm0uZ2V0RW5hYmxlSW1hZ2VTYW5pdGl6YXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gXy5FKHRoaXMsMTgpfTtfLm0uZ2V0RW5hYmxlQWxvaGFCaW5hcnlTcGxpdD1mdW5jdGlvbigpe3JldHVybiBfLkUodGhpcywxOSl9O18ubS5nZXRFbmFibGVEYkZlZWRiYWNrSW50ZW50cz1mdW5jdGlvbigpe3JldHVybiBfLkUodGhpcywyMCl9O18ubS5nZXRFbmFibGVNYXJrTWFuZGF0b3J5RmllbGRzV2l0aFJlcXVpcmVkPWZ1bmN0aW9uKCl7cmV0dXJuIF8uRSh0aGlzLDIxKX07Xy5tLmdldEVuYWJsZUZlZWRiYWNrQ2F0ZWdvcnlDdXN0b21VaT1mdW5jdGlvbigpe3JldHVybiBfLkUodGhpcywyMil9O18ubS5nZXRFbmFibGVSZWFsdGltZUN0bD1mdW5jdGlvbigpe3JldHVybiBfLkUodGhpcywyMyl9O3ZhciB1SWM9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRCh1SWMsXy5xKTt2YXIgZ0ljPVsvaHR0cHM6XFwvXFwvc2FuZGJveFxcLmdvb2dsZVxcLmNvbVxcL3Rvb2xzXFwvZmVlZGJhY2svLC9odHRwczpcXC9cXC9mZWVkYmFjay1mcm9udGVuZC1xdWFsW2EtejAtOS5dKlxcLmdvb2dsZVxcLmNvbVxcL2luYXBwLywvaHR0cHM6XFwvXFwvZmVlZGJhY2stZnJvbnRlbmQtcXVhbFthLXowLTkuXSpcXC5nb29nbGVcXC5jb21cXC90b29sc1xcL2ZlZWRiYWNrLywvaHR0cHM6XFwvXFwvLipcXC5nb29nbGV1c2VyY29udGVudFxcLmNvbVxcL2luYXBwL107dmFyIGlJYz1cImFmIGFtIGFyLUVHIGFyLUpPIGFyLU1BIGFyLVNBIGFyLVhCIGFyIGF6IGJlIGJnIGJuIGJzIGNhIGNzIGN5IGRhIGRlLUFUIGRlLUNIIGRlIGVsIGVuIGVuLUdCIGVuLUFVIGVuLUNBIGVuLUlFIGVuLUlOIGVuLU5aIGVuLVNHIGVuLVhBIGVuLVhDIGVuLVpBIGVzIGVzLTQxOSBlcy1BUiBlcy1CTyBlcy1DTCBlcy1DTyBlcy1DUiBlcy1ETyBlcy1FQyBlcy1HVCBlcy1ITiBlcy1NWCBlcy1OSSBlcy1QQSBlcy1QRSBlcy1QUiBlcy1QWSBlcy1TViBlcy1VUyBlcy1VWSBlcy1WRSBldCBldSBmYSBmaSBmaWwgZnItQ0EgZnItQ0ggZnIgZ2wgZ3N3IGd1IGhlIGhpIGhyIGh1IGh5IGlkIGluIGlzIGl0IGl3IGphIGthIGtrIGttIGtuIGtvIGt5IGxuIGxvIGx0IGx2IG1rIG1sIG1uIG1vIG1yIG1zIG15IG5iIG5lIG5sIG5vIHBhIHBsIHB0IHB0LUJSIHB0LVBUIHJvIHJ1IHNpIHNrIHNsIHNxIHNyLUxhdG4gc3Igc3Ygc3cgdGEgdGUgdGggdGwgdHIgdWsgdXIgdXogdmkgemggemgtQ04gemgtSEsgemgtVFcgenVcIi5zcGxpdChcIiBcIik7dmFyIGpJYz1fLlFnKFtcImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3VzZXJ2b2ljZS9mZWVkYmFjay9jbGllbnQvd2ViL1wiLFwiL21haW5fbGlnaHRfYmluYXJ5LmpzXCJdKSxrSWM9Xy5RZyhbXCJodHRwczovL3d3dy5nc3RhdGljLmNvbS91c2Vydm9pY2UvZmVlZGJhY2svY2xpZW50L3dlYi9cIixcIi9tYWluX2JpbmFyeV9fXCIsXCIuanNcIl0pO3ZhciBtSWMsb0ljO3ZhciBDSWMsREljO1xuQ0ljPWZ1bmN0aW9uKGEsYixjKXthLnRpbWVPZlN0YXJ0Q2FsbD0obmV3IERhdGUpLmdldFRpbWUoKTt2YXIgZD1jfHxfLmJhLGU9ZC5kb2N1bWVudCxmPWEubm9uY2V8fF8uZ2lhKGQpO2YmJiFhLm5vbmNlJiYoYS5ub25jZT1mKTtpZihhLmZsb3c9PVwiaGVscFwiKXt2YXIgZz1fLmNoKFwiZG9jdW1lbnQubG9jYXRpb24uaHJlZlwiLGQpOyFhLmhlbHBDZW50ZXJDb250ZXh0JiZnJiYoYS5oZWxwQ2VudGVyQ29udGV4dD1nLnN1YnN0cmluZygwLDEyMDApKTtnPSEwO2lmKGImJkpTT04mJkpTT04uc3RyaW5naWZ5KXt2YXIgaD1KU09OLnN0cmluZ2lmeShiKTsoZz1oLmxlbmd0aDw9MTIwMCkmJihhLnBzZEpzb249aCl9Z3x8KGI9e2ludmFsaWRQc2Q6ITB9KX1iPVthLGIsY107ZC5HT09HTEVfRkVFREJBQ0tfU1RBUlRfQVJHVU1FTlRTPWI7Yz1hLmZlZWRiYWNrU2VydmVyVXJpfHxcIi8vd3d3Lmdvb2dsZS5jb20vdG9vbHMvZmVlZGJhY2tcIjtpZihnPWQuR09PR0xFX0ZFRURCQUNLX1NUQVJUKWcuYXBwbHkoZCxiKTtcbmVsc2V7ZD1jK1wiL2xvYWQuanM/XCI7Zm9yKHZhciBrIGluIGEpYj1hW2tdLGI9PW51bGx8fF8uRGEoYil8fChkKz1lbmNvZGVVUklDb21wb25lbnQoaykrXCI9XCIrZW5jb2RlVVJJQ29tcG9uZW50KGIpK1wiJlwiKTthPV8uUGUoZSkuY3JlYXRlRWxlbWVudChcIlNDUklQVFwiKTtmJiZhLnNldEF0dHJpYnV0ZShcIm5vbmNlXCIsZik7Xy5ibC5SZChhLF8udmMoZCkpO2UuYm9keS5hcHBlbmRDaGlsZChhKX19O1xuREljPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlLGY7Xy5iaChmdW5jdGlvbihnKXtlPWN8fF8uYmE7dmFyIGg9YS5zZXJ2ZXJFbnZpcm9ubWVudD09PVwiREVWXCIsaz1jfHxfLmJhO2s9YS5ub25jZXx8Xy5naWEoayk7aD17aW50ZWdyYXRpb25LZXlzOntwcm9kdWN0SWQ6YS5wcm9kdWN0SWQsZmVlZGJhY2tCdWNrZXQ6YS5idWNrZXQsdHJpZ2dlcklkOmEudHJpZ2dlcklkfSxjYWxsYmFja3M6e29uQ2xvc2U6YS5jYWxsYmFjayxvbkxvYWQ6YS5vbkxvYWRDYWxsYmFja30sZm9ybUNvbnRlbnQ6e2xvY2FsZTphLmxvY2FsZSxkaXNhYmxlU2NyZWVuc2hvdDphLmRpc2FibGVTY3JlZW5zaG90dGluZyxwcm9kdWN0RGlzcGxheU5hbWU6dm9pZCAwLGFubm91bmNlbWVudDp2b2lkIDAsaXNzdWVDYXRlZ29yaWVzOnZvaWQgMCxpbmNsdWRlU2V2ZXJpdHlTZWxlY3Rpb246dm9pZCAwLGN1c3RvbUltYWdlU3JjOnZvaWQgMCx0aGFua1lvdU1lc3NhZ2U6dm9pZCAwLGZMYjp2b2lkIDAsZGVmYXVsdEZvcm1JbnB1dFZhbHVlczp2b2lkIDAsXG5kZWZhdWx0Rm9ybUlucHV0VmFsdWVzU3RyaW5nOnZvaWQgMCxhYnVzZUxpbms6YS5hYnVzZUxpbmssYWRkaXRpb25hbERhdGFDb25zZW50OmEuYWRkaXRpb25hbERhdGFDb25zZW50fSxpbml0aWFsaXphdGlvbkRhdGE6e2lzTG9jYWxTZXJ2ZXI6aCxub25jZTprLHVzZU5pZ2h0bHlSZWxlYXNlOmgsZmVlZGJhY2tKc1VybDp2b2lkIDAsZmVlZGJhY2tDc3NVcmw6dm9pZCAwLGZlZWRiYWNrSnNVcmxTZXJpYWxpemVkOnZvaWQgMCxmZWVkYmFja0Nzc1VybFNlcmlhbGl6ZWQ6dm9pZCAwLHN1Ym1pc3Npb25TZXJ2ZXJVcmk6YS5mZWVkYmFja1NlcnZlclVyaSxjb2xvclNjaGVtZTphLmNvbG9yU2NoZW1lfSxleHRyYURhdGE6e3Byb2R1Y3RWZXJzaW9uOmEucHJvZHVjdFZlcnNpb24sYXV0aFVzZXI6YS5hdXRodXNlcixjb25maWd1cmF0b3JJZDphLmNvbmZpZ3VyYXRvcklkLGN1c3RvbVpJbmRleDphLmN1c3RvbVpJbmRleCx0aW55Tm9Qb2ludGVyOmEudGlueU5vUG9pbnRlcixhbGxvd05vbkxvZ2dlZEluRmVlZGJhY2s6YS5hbGxvd05vbkxvZ2dlZEluRmVlZGJhY2ssXG5lbmFibGVBbm9ueW1vdXNGZWVkYmFjazphLmVuYWJsZUFub255bW91c0ZlZWRiYWNrfX07YiYmKGs9bmV3IE1hcChPYmplY3QuZW50cmllcyhiKSksaC5leHRyYURhdGEucHJvZHVjdFNwZWNpZmljRGF0YT1rKTtmPWg7cmV0dXJuIGcueWllbGQoc0ljKGYsZCxlKSwwKX0pfTtcbl8uaEI9ZnVuY3Rpb24oYSxiLGMpe3RyeXtpZihhLmZsb3c9PT1cImhlbHBcIil7dmFyIGQ9YS5oZWxwQ2VudGVyUGF0aC5yZXBsYWNlKC9eXFwvLyxcIlwiKTtfLkhjKGN8fHdpbmRvdyxfLmtjKFwiaHR0cHM6Ly9zdXBwb3J0Lmdvb2dsZS5jb20vXCIrZCkpfWVsc2UgYS5mbG93PT09XCJzdWJtaXRcIj9DSWMoYSxiLGMpOndJYyhhLnByb2R1Y3RJZCxhLmZlZWRiYWNrU2VydmVyVXJpKS50aGVuKGZ1bmN0aW9uKGUpe2U9Xy52KGUsZ0IsMSk7dmFyIGY9IV8uaHVhfHwoZT09bnVsbD92b2lkIDA6ZS5nZXRFbmFibGVNd2ViKCkpLGc9IWEudGlueU5vUG9pbnRlcnx8KGU9PW51bGw/dm9pZCAwOmUuZ2V0RW5hYmxlVGlueU5vUG9pbnRlcigpKTshZXx8ZS5nZXRBbG9oYUF1dG9HYVJvbGxvdXQoKSYmZiYmZz9ESWMoYSxiLGMsZSk6Q0ljKGEsYixjKX0sZnVuY3Rpb24oZSl7ZSYmZS5uYW1lIT09XCJEdXBsaWNhdGVGb3JtRXJyb3JcIiYmQ0ljKGEsYixjKX0pfWNhdGNoKGUpe0RJYyhhLGIsYyxudWxsKX19O1xuXy51ZChcInVzZXJmZWVkYmFjay5hcGkuc3RhcnRGZWVkYmFja1wiLF8uaEIpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJUMUhPeGNcIik7XG52YXIgUVRjLFRUYyxVVGMsVlRjLFdUYyxYVGMsWVRjLFpUYywkVGMsYVVjLGJVYyxkVWMsZVVjLGZVYyxnVWMsaFVjLGtVYyxtVWM7UVRjPWZ1bmN0aW9uKGEsYil7Xy5EZShhLDE3LGIpfTtfLlJUYz1mdW5jdGlvbihhLGIpe3JldHVybiBfLk9pKGEsMSxiKX07Xy5TVGM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5EZShhLDIsYil9O1RUYz1mdW5jdGlvbihhLGIpe3JldHVybiBfLk1nKGEsNCxiKX07VVRjPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uRGUoYSwxLGIpfTtWVGM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5NZyhhLDgsYil9O1dUYz1mdW5jdGlvbihhLGIpe3JldHVybiBfLkRlKGEsMjUsYil9O1hUYz1mdW5jdGlvbihhLGIpe18uRGUoYSwxMyxiKX07WVRjPWZ1bmN0aW9uKGEsYil7Xy5EZShhLDE0LGIpfTtaVGM9ZnVuY3Rpb24oYSxiKXtfLkRlKGEsMTUsYil9OyRUYz1mdW5jdGlvbihhLGIpe18uT2koYSwyMSxiKX07YVVjPWZ1bmN0aW9uKGEsYil7Xy5EZShhLDE3LGIpfTtcbmJVYz1mdW5jdGlvbihhLGIpe3JldHVybiBfLnNiKGEsMTgsYixfLmNiKX07Xy5jVWM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5maihhLDE5LGIsdm9pZCAwKX07ZFVjPWZ1bmN0aW9uKGEsYil7Xy5EZShhLDMxLGIpfTtlVWM9ZnVuY3Rpb24oYSxiKXtfLmFqKGEsMzUsYil9O2ZVYz1mdW5jdGlvbihhLGIpe18uY2ooYSwzMyxiKX07Z1VjPWZ1bmN0aW9uKCl7fTtoVWM9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChoVWMsXy5xKTtoVWMucHJvdG90eXBlLkxjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDgpfTtoVWMucHJvdG90eXBlLkpkPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRlKHRoaXMsOCxhKX07dmFyIGlVYz1mdW5jdGlvbihhLGIpe18uTWIoYSxoVWMsMzQsYil9LGpVYz1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKGpVYyxfLnEpO1xua1VjPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBqVWM7Yj1fLkRlKGIsMSx3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7Yj1fLkRlKGIsMix3aW5kb3cubmF2aWdhdG9yLnBsYXRmb3JtfHxcIlwiKTtyZXR1cm4gXy5NYihhLGpVYyw3LGIpfTtfLmxVYz1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKF8ubFVjLF8ucSk7bVVjPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uTWIoYSxfLmxVYywzNixiKX07Xy5uVWM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5NYihhLF8ub0MsMzIsYil9O18ub1VjPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5vVWMsXy5xKTtfLm9VYy5wcm90b3R5cGUuVHRiPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDExKX07Xy5vVWMucHJvdG90eXBlLndCPWZ1bmN0aW9uKCl7cmV0dXJuIF8ubmkodGhpcywxOCwwKX07Xy5vVWMub2I9WzIsNCw1LDYsMTAsOCw5LDE0LDE3LDIwLDIxLDI0LDI1XTtcbnZhciBwVWM9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChwVWMsXy5xKTtwVWMucHJvdG90eXBlLnhjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uaWkodGhpcywyKX07cFVjLnByb3RvdHlwZS54ZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5PaSh0aGlzLDIsYSl9O3BVYy5wcm90b3R5cGUuSWM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5paSh0aGlzLDMpfTtwVWMucHJvdG90eXBlLkRkPWZ1bmN0aW9uKGEpe3JldHVybiBfLk9pKHRoaXMsMyxhKX07dmFyIHFVYz1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKHFVYyxfLnEpO3ZhciByVWM9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChyVWMsXy5xKTtyVWMucHJvdG90eXBlLldkYT1mdW5jdGlvbigpe3JldHVybiBfLm5pKHRoaXMsMiwwKX07dmFyIHNVYz1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKHNVYyxfLnEpO3ZhciB0VWM9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRCh0VWMsXy5xKTtcbnZhciB1VWM9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubGVuZ3RoP25ldyBfLk1hKG5ldyBVaW50OEFycmF5KGEpLF8ub2JhKTpfLkxhKCl9LHZVYz1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKHZVYyxfLnEpO3ZVYy5wcm90b3R5cGUuZ2V0S2V5PWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDEpfTt2YXIgd1VjPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyB2VWM7cmV0dXJuIF8uRGUoYiwxLGEpfTt2VWMucHJvdG90eXBlLmdldFZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQSh0aGlzLDIpfTt2VWMucHJvdG90eXBlLnNldFZhbHVlPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRlKHRoaXMsMixhKX07dlVjLnByb3RvdHlwZS5jbGVhclZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVmYodGhpcywyKX07dmFyIHhVYz1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKHhVYyxfLnEpO3hVYy5wcm90b3R5cGUudWU9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsMSl9O3hVYy5vYj1bNyw4XTt2YXIgeVVjPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoeVVjLF8ucSk7eVVjLm9iPVsxXTt2YXIgelVjPVstMix7fSxfLmtrLF8uYVRjXTt2YXIgQVVjPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoQVVjLF8ucSk7QVVjLm9iPVsxXTtfLkNtWzQ1NjMyOTI4XT16VWM7dmFyIEJVYz1uZXcgXy5RZihcIkFvdVRlZlwiLEFVYyx5VWMsW3trZXk6Xy5UcCx2YWx1ZTohMX0se2tleTpfLlVwLHZhbHVlOlwiL0ZlZWRiYWNrU2VydmljZS5TdWJtaXRGZWVkYmFja1wifV0pO3ZhciBDVWM9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChDVWMsXy5xKTtDVWMucHJvdG90eXBlLklxPWZ1bmN0aW9uKCl7cmV0dXJuIF8uamkodGhpcywzKX07Q1VjLnByb3RvdHlwZS5nZXRBdHRyaWJ1dGU9ZnVuY3Rpb24oKXtyZXR1cm4gXy5BKHRoaXMsNyl9O0NVYy5wcm90b3R5cGUuc2V0QXR0cmlidXRlPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRlKHRoaXMsNyxhKX07Q1VjLnByb3RvdHlwZS5oYXNBdHRyaWJ1dGU9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZSh0aGlzLDcpfTt2YXIgRFVjPVs4LDldO0NVYy5wcm90b3R5cGUucWI9XCJGSjdFQWVcIjt2YXIgRVVjPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoRVVjLF8ucSk7RVVjLnByb3RvdHlwZS5xYj1cIkhDcENhYlwiO25ldyBfLnhnKEVVYyk7dmFyIEZVYz1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKEZVYyxfLnEpO0ZVYy5wcm90b3R5cGUuZ2V0U3RhdHVzPWZ1bmN0aW9uKCl7cmV0dXJuIF8udih0aGlzLF8ucHFiLDEpfTtGVWMucHJvdG90eXBlLlNtPWZ1bmN0aW9uKCl7cmV0dXJuIF8uR2godGhpcyxfLnBxYiwxKX07RlVjLnByb3RvdHlwZS5xYj1cIkljb3pTZVwiO25ldyBfLnhnKEZVYyk7dmFyIEdVYz1uZXcgXy5RZihcIklIWFlPZFwiLEZVYyxFVWMsW3trZXk6Xy5UcCx2YWx1ZTohMX0se2tleTpfLlVwLHZhbHVlOlwiL1Vna0NvbnRyaWJ1dGlvbnNTZXJ2aWNlLldyaXRlRmFjdHVhbEZlZWRiYWNrXCJ9XSk7dmFyIEhVYz1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKEhVYyxfLnEpO3ZhciBJVWM9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSwzKX07Xy5EKElVYyxfLnEpO3ZhciBKVWM9Xy5OYigxMDAyLEhVYyk7dmFyIEtVYz1mdW5jdGlvbihhKXt0aGlzLkhhPV8ucChhKX07Xy5EKEtVYyxfLnEpO3ZhciBMVWM9bmV3IF8uUWYoXCJjaW5vQmRcIixLVWMsSVVjLFt7a2V5Ol8uVHAsdmFsdWU6ITB9LHtrZXk6Xy5VcCx2YWx1ZTpcIi9WaWV3ZXJTZXJ2aWNlLldyaXRlRm9vdHByaW50XCJ9XSk7dmFyIE1VYyxTVWMsVlVjLE9VYyxXVWMsVFVjLFlVYyxVVWMsJFVjLFFVYyxiVmMsY1ZjLFBVYyxSVWMsZFZjLGVWYyxaVWMsWFVjO01VYz1bMTAwMzM0LDUwMTA3MTUsNTAyNTI3Myw1MjkzODMyLDUyOTQwMzQsNTI5NzM2Nyw3MTk4ODVdO18uTlVjPWZ1bmN0aW9uKGEpe18uRG4uY2FsbCh0aGlzLGEuTmEpO3RoaXMuQWE9dGhpcy5oZWFkZXJzPXRoaXMuQmE9dGhpcy5vYT12b2lkIDA7dGhpcy5DYT1bXTt0aGlzLm9lPWEuc2VydmljZS5PZX07Xy5EKF8uTlVjLF8uRG4pO18uTlVjLldhPV8uRG4uV2E7Xy5OVWMuSWE9ZnVuY3Rpb24oKXtyZXR1cm57c2VydmljZTp7T2U6Xy5icn19fTtfLk5VYy5wcm90b3R5cGUuTUpiPWZ1bmN0aW9uKCl7cmV0dXJue0hXYzpfLnVTY319O1xuXy5OVWMucHJvdG90eXBlLnN1Ym1pdD1mdW5jdGlvbihhLGIsYyxkLGUsZixnLGgsayxsLG4scil7ZT1lPT09dm9pZCAwPyExOmU7Zj1mPT09dm9pZCAwPyExOmY7Zz1nPT09dm9pZCAwPyExOmc7aD1oPT09dm9pZCAwPyExOmg7bD1sPT09dm9pZCAwPyExOmw7dmFyIHQ9dGhpcyx1LHosQixGLEssUCxRLFUsbWEsamEsdWEsc2EsRmEsd2E7cmV0dXJuIF8uYmgoZnVuY3Rpb24oeWEpe2lmKGEuczJhKCkpcmV0dXJuIE9VYyh0LGEsYixkLmlGKSx5YS5yZXR1cm4oUHJvbWlzZS5yZXNvbHZlKCkpO3U9W107UD0oSz0oej1iKT09bnVsbD92b2lkIDA6KEI9ei5sUygpKT09bnVsbD92b2lkIDA6KEY9Xy52KEIsXy5vVWMsNCkpPT1udWxsP3ZvaWQgMDpfLnYoRixwVWMsMjkpKSE9bnVsbD9LOm5ldyBwVWM7Xy5WZShQLDEpJiYoKFE9Yik9PW51bGw/dm9pZCAwOlEuZ2V0QXR0cmlidXRlKCkpIT09XCJNYWdpVGh1bWJzRmVlZGJhY2tcIiYmKFU9UFVjKF8uQShQLDEpKSkmJih1LnB1c2goUHJvbWlzZS5yZXNvbHZlKHtxMTp7YmxvYjpVLFxud2lkdGg6UC5JYygpLGhlaWdodDpQLnhjKCksT2VhOjN9fSkpLChtYT1iKSE9bnVsbCYmKGphPW1hLmxTKCkpIT1udWxsJiYodWE9Xy52KGphLF8ub1VjLDQpKSE9bnVsbCYmXy5WZih1YSwyOSkpO2lmKHR5cGVvZiBrIT09XCJ1bmRlZmluZWRcIil7c2E9Xy5QYShrLnRvQXJyYXkoKSk7Zm9yKEZhPXNhLm5leHQoKTshRmEuZG9uZTtGYT1zYS5uZXh0KCkpd2E9RmEudmFsdWUsd2EucmVtb3ZlQXR0cmlidXRlKFwiaXNwaWNrZWRcIiksdS5wdXNoLmFwcGx5KHUsXy5tZChRVWMod2EpKSk7dS5sZW5ndGg+MTAmJih1PXUuc3BsaWNlKDAsMTApKX1uJiZ0Lk1KYigpLkhXYyYmdS5wdXNoKFByb21pc2UucmVzb2x2ZSh7VmdhOm59KSk7cmV0dXJuIHlhLnJldHVybihQcm9taXNlLmFsbCh1KS50aGVuKGZ1bmN0aW9uKCRhKXt2YXIgV2E9W107JGEuZm9yRWFjaChmdW5jdGlvbihhYil7YWImJldhLnB1c2goUlVjKHQsYWIsbCkpfSk7cmV0dXJuIFByb21pc2UuYWxsKFdhKX0pLnRoZW4oZnVuY3Rpb24oJGEpe1NVYyh0LFxuYSxiLGMsZCxlLGYsZyxoLCRhLHIpO3JldHVybiBQcm9taXNlLnJlc29sdmUoKX0pKX0pfTtTVWM9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoLGssbCxuKXtmPWY9PT12b2lkIDA/ITE6ZjtnPWc9PT12b2lkIDA/ITE6ZztoPWg9PT12b2lkIDA/ITE6aDtrPWs9PT12b2lkIDA/ITE6azt2YXIgcj1fLklpKGMsMjMpfHxiLmVSYygpfHxUVWMoITEpO2s9ayYmTVVjLmluY2x1ZGVzKHIpO2cmJihiLmZSYygpfHxiLlB4YygpLGIuZ1JjKCl8fGIuUXhjKCkpO3I9VVVjKGIsYyxlLGwsZyxrKTt2YXIgdD1fLnpnKHIuV2MoKSk7ZiYmYS5DYS5pbmNsdWRlcyh0KXx8KGEuQ2EucHVzaCh0KSxuPT09dm9pZCAwP1ZVYyhhLHIsYixkLGgsYy5xMmEoKSk6bihyKSxrfHxXVWMoRGF0ZS5ub3coKSxiLGMsZS5pRixnLGUsbC5maWx0ZXIoZnVuY3Rpb24odSl7cmV0dXJuIHU9PW51bGw/dm9pZCAwOnUucTF9KSkpfTtcblZVYz1mdW5jdGlvbihhLGIsYyxkLGUsZil7Zj1mPT09dm9pZCAwPzA6ZjsoZT09PXZvaWQgMD8wOmUpPyhkPW5ldyBJVWMsZD1fLmNqKGQsMSxmKSxmPWQudGIsYz1uZXcgSFVjLGI9Xy5NYihjLF8ud0MsMSxiKSxiPWYuY2FsbChkLEpVYyxiKSxhLm9lLmZldGNoKExVYy5nZXRJbnN0YW5jZShiKSkpOmMuS2JkKCk/KGQ9bmV3IENVYyxmPV8uRWkoYiw0KSxkPV8uRGUoZCwxLGYpLGQ9Xy5jaihkLDQsMyksZj1fLkVpKGIsMiksZD1fLkRlKGQsNSxmKSxmPV8uRWkoYiwxKSxkPV8uRGUoZCw2LGYpLnNldEF0dHJpYnV0ZShfLkVpKGIsNSkpLGI9Xy5YaChkLDksRFVjLGIpLGQ9bmV3IEVVYyxiPV8uTWIoZCxDVWMsMSxiKSxhLm9lLnpjKEdVYy5nZXRJbnN0YW5jZShiKSkpOihmPV8uU2QobmV3IF8uZG4oe3BhdGg6XCIvZnBfMjA0XCIsc2VuZERhdGFJblVybDohMH0pKS5NYyhcImF1dGh1c2VyXCIsWFVjKCkpLGQmJmEub2E/Zi5NYyhcImtlZmJcIixhLm9hKGIpKS5NYyhcImtwZmJmdHlwZVwiLFwiMVwiKS5sb2coKTpcbmYuTWMoXCJrZWZiXCIsYi5XYygpKS5sb2coKSl9O1xuT1VjPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPURhdGUubm93KCk7YT1hLm9lO3ZhciBmPWEuemMsZz1CVWMuZ2V0SW5zdGFuY2U7dmFyIGg9WVVjKFwiZm9yY2VfYXV0aG9yaXR5X2Zvcl9jYXJkc1wiKSYmWVVjKFwiZm9yY2VfbW90aGVyc2hpcFwiKTt2YXIgaz1bd1VjKFwiZHR5cGVcIikuc2V0VmFsdWUoXCJkM2FmXCIpLHdVYyhcInJ0ZXh0XCIpLnNldFZhbHVlKChjLkpwYSgpfHxcIlwiKS5zdWJzdHJpbmcoMCxfLnZTYz8xRTM6MjAwKSksd1VjKFwicnZlZFwiKS5zZXRWYWx1ZShfLkVpKGMsMykpXTtjLmdldEF0dHJpYnV0ZSgpIT09XCJpbWFnZVwiJiZjLmdldEF0dHJpYnV0ZSgpIT09XCJzZWNvbmRhcnkgaW1hZ2VcInx8ay5wdXNoKHdVYyhcImFsbF9sb2NhbGVzXCIpLnNldFZhbHVlKFwidHJ1ZVwiKSk7dmFyIGw9bmV3IHhVYzt2YXIgbj1fLkVpKGMsMTApO2w9Xy5EZShsLDEsbik7ZT1fLktmKGwsMixlKTtkPV8uRGUoZSwzLGQpO2U9Yi5HU2IoKTtkPV8uRGUoZCw0LGUpO2U9Yi5DU2IoKTtkPV8uRGUoZCw1LFxuZSk7Yz1fLkVpKGMsMik7Yz1fLkRlKGQsNixjKTtrPV8uWWgoYyw3LGspO2I9Yi50MmEoKTtiPVtfLnNiKGssOCxiLF8uY2IpXTtrPW5ldyB5VWM7Yj1fLlloKGssMSxiKTtoPV8uTWcoYiwyLGgpO2YuY2FsbChhLGcuY2FsbChCVWMsaCkpfTtcbldVYz1mdW5jdGlvbihhLGIsYyxkLGUsZixnKXt2YXIgaCxrLGwsbixyLHQsdSx6LEIsRixLLFAsUSxVLG1hLGphLHVhLHNhLEZhLHdhLHlhO18uYmgoZnVuY3Rpb24oJGEpe2lmKCRhLm9hPT0xKXtpZihkPT09XCJ0ZXN0IyMja2NhYmRlZWYmJiZ0c2V0JCQkZmlsdGVyXCIpcmV0dXJuICRhLnJldHVybigpO2g9ISFiLnMyYSgpO2w9e2FsbG93Tm9uTG9nZ2VkSW5GZWVkYmFjazohaCxhdXRodXNlcjpYVWMoKSxidWNrZXQ6Yy5ia2IoKXx8Yi5pa2IoKXx8XCJLTk9XTEVER0VfUEFORUxcIixlbmFibGVBbm9ueW1vdXNGZWVkYmFjazohaCxmbG93Olwic3VibWl0XCIsbG9jYWxlOl8uakIoKSxwcm9kdWN0SWQ6KGs9Yy5la2IoKXx8Yi5qa2IoKXx8VFVjKGgpKT09bnVsbD92b2lkIDA6ay50b1N0cmluZygpfTtpZighKGcubGVuZ3RoPjAmJigobj1nWzBdKT09bnVsbD8wOihyPW4ucTEpPT1udWxsPzA6ci53aWR0aCkmJigodD1nWzBdKT09bnVsbD8wOih1PXQucTEpPT1udWxsPzA6dS5oZWlnaHQpKSlyZXR1cm4gbC5yZXBvcnQ9XG57ZGVzY3JpcHRpb246ZHx8XCI8ZW1wdHk+XCJ9LCRhLk1iKDIpO3o9ZHx8XCI8ZW1wdHk+XCI7cmV0dXJuICRhLnlpZWxkKFpVYyhnWzBdLnExLmJsb2IpLDMpfSRhLm9hIT0yJiYobC5yZXBvcnQ9e2Rlc2NyaXB0aW9uOnosc2NyZWVuc2hvdDokYS5BYSxzY3JlZW5zaG90U2l6ZTp7d2lkdGg6Z1swXS5xMS53aWR0aCxoZWlnaHQ6Z1swXS5xMS5oZWlnaHR9fSk7Qj17YWNjZXB0X2dmOiEwLGF0dHJpYnV0ZV9pZDpfLkdlKGMsMiksYXV0aG9yaXR5Omg/MTowLGNpZDpfLkdlKGMsMTApLGVpOmdvb2dsZS5rRUksZXhwaTpiLnQyYSgpLmpvaW4oXCIsXCIpLGdsOmIuRFNiKCksaGw6Yi5IU2IoKSxpbnRlcm5hbDpiLkVTYigpLHF1ZXJ5OmU/JFVjKCk6Xy5pZShcInFcIikscnRleHQ6Xy5HZShjLDQpLHJ2ZWQ6Xy5HZShjLDMpLHRpbWU6YSx0aXRsZTpfLkdlKGMsMTEpLHZlcnRpY2FsX2lkOmIubGtiKCkuam9pbihcIiBcIiksdXNlcl9pbnRlcmZhY2U6Yi5ra2IoKSxpc19kYXJrX3RoZW1lOiEhZG9jdW1lbnQuYm9keS5kYXRhc2V0LmR0fTtcbmYuQzEhPW51bGwmJihCLmlzc3VlX3R5cGU9Zi5DMSk7Zi5mYWEmJihCLmlzc3VlX3RleHQ9Zi5mYWEpO3R5cGVvZigoRj13aW5kb3cuZ29vZ2xlKT09bnVsbD92b2lkIDA6Ri5tcnMpIT09XCJ1bmRlZmluZWRcIiYmKEIubXJzPVN0cmluZyh3aW5kb3cuZ29vZ2xlLm1ycykpO2MuZ2tiKCkmJihCLmZlYXR1cmVfdGFnX3ZhbHVlPSgoSz1fLkdpKGMsMjApKT09bnVsbD92b2lkIDA6Sy50b1N0cmluZygpKXx8XCJcIik7Yy5aUmEoKSYmKChQPWMubFMoKSk9PW51bGw/MDpfLm1qKFAsMTYpKSYmKEIub25lX25hbWVzcGFjZV90eXBlPShRPWMubFMoKSk9PW51bGw/dm9pZCAwOihVPV8uaWkoUSwxNikpPT1udWxsP3ZvaWQgMDpVLnRvU3RyaW5nKCkpO2IubWtiKCkmJihCLm9zcnBfdWlfdmVydGljYWw9Yi5GU2IoKSk7aWYoYy5aUmEoKSYmKChtYT1jLmxTKCkpPT1udWxsPzA6Xy5HaChtYSxfLm9VYyw0KSkmJih1YT0oamE9Yy5sUygpKT09bnVsbD92b2lkIDA6Xy52KGphLF8ub1VjLDQpKSl7dHlwZW9mKChzYT1cbndpbmRvdy5nb29nbGUpPT1udWxsP3ZvaWQgMDpzYS5tcnMpIT09XCJ1bmRlZmluZWRcIiYmXy5PaSh1YSwzMix3aW5kb3cuZ29vZ2xlLm1ycyk7aWYoXy5ydmEodWEsMik+MCl7dmFyIFdhPV8ud2kodWEsMixfLlNlKCkpO0IuY2hvaWNlX2lzc3VlX3R5cGU9V2Euam9pbihcIixcIil9Xy5ydmEodWEsNCk+MCYmKFdhPV8ud2kodWEsNCxfLlNlKCkpLEIuY2hvaWNlX3F1ZXJ5X2ludGVycHJldGF0aW9uX2lzc3VlX3R5cGVzPVdhLmpvaW4oXCIsXCIpKTtfLnJ2YSh1YSw1KT4wJiYoV2E9Xy53aSh1YSw1LF8uU2UoKSksQi5jaG9pY2Vfc3VnZ2VzdGVkX3F1ZXJ5X2lzc3VlX3R5cGVzPVdhLmpvaW4oXCIsXCIpKTtfLnRqKHVhLDE1KSYmKEIuY2hvaWNlX2ltYWdlX2lzc3VlX3R5cGU9Xy5uaSh1YSwxNSwwKSk7Xy52aSh1YSwxNyk+MCYmKFdhPV8udGkodWEsMTcsXy5TZSgpKSxCLmltZ191cmxzPVdhLmpvaW4oXCIsXCIpKTtfLnZpKHVhLDE0KT4wJiYoV2E9Xy50aSh1YSwxNCxfLlNlKCkpLEIuaW1nX2RvY19pZHM9XG5XYS5qb2luKFwiLFwiKSk7Xy52aSh1YSwyNSk+MCYmKFdhPV8udGkodWEsMjUsXy5TZSgpKSxCLnZpZGVvX3VybHM9V2Euam9pbihcIixcIikpfWlmKGMuWlJhKCkmJl8udmkoYy5sUygpLDkpPjApe3ZhciBhYjsoRmE9Yy5sUygpKT09bnVsbD9hYj12b2lkIDA6YWI9Xy50aShGYSw5LF8uU2UoKSkuam9pbihcIixcIik7Qi5jb250ZXh0X3VybHM9YWJ9KHlhPSh3YT1jLmxTKCkpPT1udWxsP3ZvaWQgMDpfLnZqKHdhLDgpKSYmT2JqZWN0LmFzc2lnbihCLE9iamVjdC5mcm9tRW50cmllcyh5YSkpO18uaEIobCxCKTtfLlNnKCRhKX0pfTtUVWM9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/WVVjKFwiZm9yY2VfYXV0aG9yaXR5X2Zvcl9jYXJkc1wiKT8xMzMwOTc1OjQxMDk1MzoxMDAzMzR9O1lVYz1mdW5jdGlvbihhKXtyZXR1cm4gXy5pZShcIm9wdHNcIikuc3BsaXQoXCIsXCIpLmluY2x1ZGVzKGEpfTtcblVVYz1mdW5jdGlvbihhLGIsYyxkLGUsZil7Zj1tVWMoXy5jVWMoYlVjKF8uaFRjKF8uZFRjKF8uZVRjKF8uY1RjKF8uYlRjKFdUYyhWVGMoXy5EZShuZXcgXy53QywxNixnb29nbGUua0VJKSxhLmNSYygpKSxhLmtrYigpfHxcIlwiKSxhLkNTYigpKSxhLkdTYigpKSwoYi5sQSgpfHxhLmxBKCl8fFwiXCIpLnN1YnN0cmluZygwLDEwMCkpLGIuZGtiKCl8fGEuYlJjKCkpLnNldEF0dHJpYnV0ZSgoYi5nZXRBdHRyaWJ1dGUoKXx8XCJcIikuc3Vic3RyaW5nKDAsMTAwKSksYy5pRiksYS50MmEoKSksYS5sa2IoKSksVFRjKF8uU1RjKF8uUlRjKG5ldyBfLmxVYyxiLmVrYigpfHxhLmprYigpfHxUVWMoITEpKSxiLmJrYigpfHxhLmlrYigpfHxcIktOT1dMRURHRV9QQU5FTFwiKSwhZikpO3ZhciBnPV8uR2UoYiwzKTtpZihnIT09bnVsbCl7dHJ5e3ZhciBoPV8uaWkoKDAsXy5QaWEpKGcuc3Vic3RyaW5nKDEpKSwyKXx8MH1jYXRjaCh1KXtoPS0xfWghPT0tMT9fLmZUYyhmLGgpOi9eXFxkKyQvLnRlc3QoZykmJlxuXy5mVGMoZixOdW1iZXIoZykpfWc9Xy5zdCgpO2g9Xy5QYShnKTtmb3IodmFyIGs9aC5uZXh0KCk7IWsuZG9uZTtrPWgubmV4dCgpKWs9ay52YWx1ZSxrLmxlbmd0aD09PTImJmtbMF0uc3Vic3RyaW5nKDAsNCk9PT1cImtwZmJcIiYmZy5kZWxldGUoa1swXSk7aVVjKGYsXy5NZyhrVWMoVVRjKG5ldyBoVWMsZy50b1N0cmluZygpKSksNiwhIWRvY3VtZW50LmJvZHkuZGF0YXNldC5kdCkpO2MuQzEhPW51bGwmJl8uY2ooZiwyMyxjLkMxKTtjLk5sYSYmXy5EZShmLDI5LGMuTmxhKTtjLmZhYSE9PVwiXCImJl8uRGUoZiwyNCxjLmZhYSk7Yi55U2IoKSYmWFRjKGYsYi50U2IoKSk7Zz0oYi5FNWIoKXx8XCJcIikuc3BsaXQoXCIsXCIpLmZpbHRlcihmdW5jdGlvbih1KXtyZXR1cm4gdSE9PVwiXCJ9KTtnLmxlbmd0aD4wJiZfLmZqKGYsMjYsZyx2b2lkIDApO2IudlNiKCkmJllUYyhmLGIub1NiKCkpO2Iud1NiKCkmJlpUYyhmLGIuclNiKCkpO2IuQlNiKCkmJiRUYyhmLGIudVNiKCkpO2IueFNiKCkmJmFVYyhmLFxuYi5zU2IoKSk7aWYoYi5BU2IoKSl7dmFyIGwsbjtnPShsPWIubFMoKSk9PW51bGw/dm9pZCAwOihuPV8udihsLHFVYywzKSk9PW51bGw/dm9pZCAwOl8ubmkobiw0LDApO2c9PT01fHxnPT09Nj9fLmdUYyhmLChiLkpwYSgpfHxcIlwiKS5zdWJzdHJpbmcoMCwxNTAwKSk6Xy5nVGMoZiwoYi5KcGEoKXx8XCJcIikuc3Vic3RyaW5nKDAsXy52U2M/MUUzOjIwMCkpfWRVYyhmLCgoZT8kVWMoKTpfLmllKFwicVwiKSl8fFwiXCIpLnN1YnN0cmluZygwLDIwMCkpO2U9bmV3IF8ub0M7Yi5aUmEoKSYmKGU9Yi5sUygpKTthLm1rYigpJiZRVGMoZSxhLmRSYygpKTthPWQuZmlsdGVyKGZ1bmN0aW9uKHUpe3JldHVybih1PT1udWxsP3ZvaWQgMDp1LnExKSYmKHU9PW51bGw/dm9pZCAwOnUuZDRhKX0pLm1hcChmdW5jdGlvbih1KXt2YXIgejt2YXIgQj1uZXcgclVjO0I9Xy5EZShCLDEsdS5kNGEpO3U9KCh6PXUucTEpPT1udWxsP3ZvaWQgMDp6Lk9lYSl8fDA7cmV0dXJuIF8uY2ooQiwyLHUpfSk7YS5sZW5ndGg+XG4wJiYoXy5tdmEoZSwxMixyVWMsYSksYT1hLm1hcChmdW5jdGlvbih1KXtyZXR1cm4gXy5BKHUsMSl9KSxfLmFhYihlLDEwLF8uR2NhLGEpKTtkPWQuZmlsdGVyKGZ1bmN0aW9uKHUpe3JldHVybih1PT1udWxsP3ZvaWQgMDp1LlZnYSkmJih1PT1udWxsP3ZvaWQgMDp1LmQ0YSl9KS5tYXAoZnVuY3Rpb24odSl7dmFyIHosQjt2YXIgRj1uZXcgc1VjO0Y9Xy5EZShGLDEsdS5kNGEpO3ZhciBLPW5ldyB0VWMsUD0oKHo9dS5WZ2EpPT1udWxsP3ZvaWQgMDp6LmgwYSl8fDA7ej1fLk9pKEssMSxQKTt1PSgoQj11LlZnYSk9PW51bGw/dm9pZCAwOkIuZjBhKXx8MDtCPV8uT2koeiwyLHUpO3JldHVybiBfLlhoKEYsMixfLk5SYyxCKX0pO2QubGVuZ3RoPjAmJl8ubXZhKGUsMTQsc1VjLGQpO18ublVjKGYsZSk7aWYoYi5tN2IoKSl7dmFyIHI7ZVVjKGYsdVVjKF8uQmgoKHI9Yj09bnVsbD92b2lkIDA6Xy5FaShiLDIxKSkhPW51bGw/cjpcIlwiKSkpfWlmKGIuelNiKCkpe3ZhciB0O2VVYyhmLHVVYyhfLkJoKCh0PVxuYj09bnVsbD92b2lkIDA6Xy5FaShiLDI1KSkhPW51bGw/dDpcIlwiKSkpfXI9Yy5jMWJ8fFtdO3IubGVuZ3RoPjAmJl8uZmooZiwyNyxyLHZvaWQgMCk7Yz1jLmZKYXx8XCJcIjtjIT09XCJcIiYmXy5EZShmLDcsYyk7Yi5na2IoKSYmZlVjKGYsYi5vMmEoKSk7cmV0dXJuIGZ9O1xuXy5hVmM9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2Y9Zj09PXZvaWQgMD8hMTpmO3ZhciBnLGgsaztyZXR1cm4gXy5iaChmdW5jdGlvbihsKXtyZXR1cm4gbC5vYT09MT8oZz17aUY6Yi5nZXREZXNjcmlwdGlvbigpfHxcIlwiLGZhYTpiLmd5YygpfHxcIlwiLEMxOmIuZnljKCl8fDAsTmxhOm51bGwsYzFiOm51bGwsZkphOnZvaWQgMH0saD1fLlhSYygobmV3IF8ucEMpLlNoYShiLmxBKCkpLlJoYShiLmR5YygpKS5zZXRBdHRyaWJ1dGUoYi5nZXRBdHRyaWJ1dGUoKSkuZkFhKGIuanljKCkpLmZMYShiLml5YygpKS5ObmEoYi5ieWMoKSksYi5leWMoKSksYi5kT2IoKSYmaC54WWEoXy5KYShfLkVBYyhiLmRPYigpKSw0KSksaz1jLmhpYihiLmh5YygpfHxjLmprYigpKS5naWIoYi5heWMoKXx8Yy5pa2IoKSksbC55aWVsZChhLnN1Ym1pdChrLGgsITEsZywhMSwhMSwhMSxkLHZvaWQgMCxmLHZvaWQgMCxlKSwyKSk6bC5yZXR1cm4oUHJvbWlzZS5yZXNvbHZlKCkpfSl9O1xuJFVjPWZ1bmN0aW9uKCl7dmFyIGE9Xy5ydCgpO3JldHVybiBhLmhhcyhcInFcIik/YS5nZXQoXCJxXCIpOlwiXCJ9O1FVYz1mdW5jdGlvbihhKXt2YXIgYj1bXTthLnRhZ05hbWU9PT1cIklNR1wiJiZhLmdldEF0dHJpYnV0ZShcInNyY1wiKSE9PW51bGw/Yi5wdXNoKGJWYyhhLGEuZ2V0QXR0cmlidXRlKFwiZGF0YS1hdHRyaWRcIik9PT1cIlNHRUdlbmVyYXRpdmVJbWFnZVwiKSk6KG5ldyBfLmpnKFthXSkpLmZpbmQoXCJpbWdcIikuZWFjaChmdW5jdGlvbihjKXtjLmdldEF0dHJpYnV0ZShcInNyY1wiKSYmYi5wdXNoKGJWYyhjLGEuZ2V0QXR0cmlidXRlKFwiZGF0YS1hdHRyaWRcIik9PT1cIlNHRUdlbmVyYXRpdmVJbWFnZVwiKSl9KTtyZXR1cm4gYn07XG5iVmM9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkO3JldHVybiBfLmJoKGZ1bmN0aW9uKGUpe2M9YS5zcmM7cmV0dXJuIGI/ZS5yZXR1cm4oUHJvbWlzZS5yZXNvbHZlKGNWYyhhKSkpOmMuc3RhcnRzV2l0aChcImRhdGFcIikmJihkPVBVYyhjKSk/ZS5yZXR1cm4oUHJvbWlzZS5yZXNvbHZlKHtxMTp7YmxvYjpkLHdpZHRoOmEubmF0dXJhbFdpZHRoLGhlaWdodDphLm5hdHVyYWxIZWlnaHQsT2VhOjV9fSkpOmUucmV0dXJuKFByb21pc2UucmVzb2x2ZShudWxsKSl9KX07XG5jVmM9ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGgsayxsLG4scjtyZXR1cm4gXy5iaChmdW5jdGlvbih0KXtzd2l0Y2godC5vYSl7Y2FzZSAxOmM9KGI9YS5uYXR1cmFsSGVpZ2h0KSE9bnVsbD9iOjUxMjtlPShkPWEubmF0dXJhbFdpZHRoKSE9bnVsbD9kOjUxMjtmPU1hdGgubWF4KGUsYyk7dmFyIHU9KG5ldyBfLlp5KS5zZXRTaXplKGYpO2c9Xy5NZyh1LDU4LCEwKTtoPV8uZXooYS5nZXRBdHRyaWJ1dGUoXCJzcmNcIiksZywhMSk7az1oK1wiP2Fscj15ZXNcIjtyZXR1cm4gdC55aWVsZChmZXRjaChrLHtjcmVkZW50aWFsczpcImluY2x1ZGVcIixoZWFkZXJzOnthY2NlcHQ6XCJ0ZXh0L3BsYWluXCJ9fSksMik7Y2FzZSAyOnJldHVybiBsPXQuQWEsdC55aWVsZChsLnRleHQoKSwzKTtjYXNlIDM6cmV0dXJuIG49dC5BYSx0LnlpZWxkKGZldGNoKG4se2NyZWRlbnRpYWxzOlwiaW5jbHVkZVwiLGhlYWRlcnM6e2FjY2VwdDpcImltYWdlL3BuZ1wifX0pLDQpO2Nhc2UgNDpyZXR1cm4gcj10LkFhLHQueWllbGQoci5ibG9iKCksXG41KTtjYXNlIDU6cmV0dXJuIHQucmV0dXJuKHtxMTp7YmxvYjp0LkFhLHdpZHRoOmUsaGVpZ2h0OmMsT2VhOjR9fSl9fSl9O1BVYz1mdW5jdGlvbihhKXt2YXIgYj0vXmRhdGE6KFteO10rKTtiYXNlNjQsKC4qKSQvLmV4ZWMoYSk7aWYoIWIpcmV0dXJuIG51bGw7YT1iWzFdO2I9YXRvYihiWzJdKTtmb3IodmFyIGM9bmV3IFVpbnQ4QXJyYXkobmV3IEFycmF5QnVmZmVyKGIubGVuZ3RoKSksZD0wO2Q8Yi5sZW5ndGg7ZCsrKWNbZF09Yi5jaGFyQ29kZUF0KGQpO3JldHVybiBuZXcgQmxvYihbY10se3R5cGU6YX0pfTtcblJVYz1mdW5jdGlvbihhLGIsYyl7Yz1jPT09dm9pZCAwPyExOmM7dmFyIGQsZSxmLGcsaDtyZXR1cm4gXy5iaChmdW5jdGlvbihrKXthLkFhfHwoYS5BYT1kVmMoYykpO2EuaGVhZGVyc3x8KGEuaGVhZGVycz1lVmMoKSk7YS5CYXx8KGEuQmE9bmV3IGdVYyk7aWYoKGc9Yik9PW51bGw/MDpnLlZnYSlmPWIuVmdhLnlRZDtlbHNlIGlmKChoPWIpPT1udWxsPzA6aC5xMSlmPWIucTEuYmxvYjtlbHNlIHJldHVybiBfLmlkKEVycm9yKFwiZWlcIikpLGsucmV0dXJuKFByb21pc2UucmVzb2x2ZShudWxsKSk7ZD1fLlBUYyhhLkFhLGEuaGVhZGVycyxmLFwiXCIsYyk7ZT1uZXcgUHJvbWlzZShmdW5jdGlvbihsKXtkLmxpc3Rlbk9uY2UoXCJEXCIsZnVuY3Rpb24oKXtkLklTYigpIT09MjAwJiZfLmlkKEVycm9yKFwiZmlcIikpO2QucXgoKSYmKGIuZDRhPWQucXgoKSxsKGIpKX0pfSk7ZC5VaSgpO3JldHVybiBrLnJldHVybihlKX0pfTtcbmRWYz1mdW5jdGlvbihhKXt2YXIgYj0oYT1hPT09dm9pZCAwPyExOmEpP25ldyBVUkwoXCJodHRwczovL3B1c2guY2xpZW50czYuZ29vZ2xlLmNvbS91cGxvYWQvXCIpOm5ldyBVUkwoXCJodHRwczovL2NvbnRlbnQtcHVzaC5nb29nbGVhcGlzLmNvbS91cGxvYWQvXCIpO2EmJmIuc2VhcmNoUGFyYW1zLmFwcGVuZChcImF1dGh1c2VyXCIsWFVjKCkpO3JldHVybiBiLnRvU3RyaW5nKCl9O1xuZVZjPWZ1bmN0aW9uKCl7dmFyIGE9e1wiUHVzaC1JRFwiOlwiZmVlZHMva3hsd3VycDQ3bmhybzJcIixcIlgtVGVuYW50LUlkXCI6XCJmZWVkYmFjay1pbWFnZVwiLEF1dGhvcml6YXRpb246XCJCYXNpYyBabVZsWkdKaFkyc3RhVzFoWjJVNmR6SjVPRGszUlZWcVExRk1NUzFLXCJ9LGI9Xy51aWEoKTtiJiYoYj1fLmFOYShuZXcgXy4kTWEsYiksYj1fLmNOYShiKSxiPV8ubVNjKGIpLGI9Xy5KYShiLm9hKCksNCksT2JqZWN0LmFzc2lnbihhLHtcIlgtQ2xpZW50LVBjdHhcIjpifSkpO1lVYyhcImRldl9pbWFnZV91cGxvYWRcIikmJihhW1wiUHVzaC1JRFwiXT1cImZlZWRzL2VtcjNkYW01c3V4c3BrXCIpO3JldHVybiBhfTtcblpVYz1mdW5jdGlvbihhKXtyZXR1cm4gXy5iaChmdW5jdGlvbihiKXtyZXR1cm4gYi5yZXR1cm4obmV3IFByb21pc2UoZnVuY3Rpb24oYyxkKXt2YXIgZT1uZXcgRmlsZVJlYWRlcjtlLm9ubG9hZD1mdW5jdGlvbigpe2MoZS5yZXN1bHQpfTtlLm9uZXJyb3I9ZnVuY3Rpb24oKXtkKGUuZXJyb3IpfTtlLm9uYWJvcnQ9ZnVuY3Rpb24oKXtkKEVycm9yKFwiZ2lcIikpfTtlLnJlYWRBc0RhdGFVUkwoYSl9KSl9KX07WFVjPWZ1bmN0aW9uKCl7dHJ5e3ZhciBhPV8uaG0oXy5SYyhcIlFydHhLXCIpKS50b1N0cmluZygpfWNhdGNoKGIpe2E9XCIwXCJ9cmV0dXJuIGF9O18uRm4oXy5pVGMsXy5OVWMpO1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ualNjPV8uR2QoXCJ6eDMwWVwiLFtfLllSYyxfLm1xXSk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uckM9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChfLnJDLF8ucSk7Xy5tPV8uckMucHJvdG90eXBlO18ubS5zMmE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5kaSh0aGlzLDEpfTtfLm0uYlJjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uRWkodGhpcywyKX07Xy5tLmxBPWZ1bmN0aW9uKCl7cmV0dXJuIF8uR2UodGhpcywzKX07Xy5tLkVTYj1mdW5jdGlvbigpe3JldHVybiBfLmRpKHRoaXMsNCl9O18ubS5jUmM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5IaSh0aGlzLDQpfTtfLm0uRFNiPWZ1bmN0aW9uKCl7cmV0dXJuIF8uR2UodGhpcyw1KX07Xy5tLlB4Yz1mdW5jdGlvbigpe3ZhciBhPV8uTUljKCk7Xy5EZSh0aGlzLDUsYSl9O18ubS5mUmM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZSh0aGlzLDUpfTtfLm0uQ1NiPWZ1bmN0aW9uKCl7cmV0dXJuIF8uRWkodGhpcyw1KX07Xy5tLkhTYj1mdW5jdGlvbigpe3JldHVybiBfLkdlKHRoaXMsNil9O1xuXy5tLlF4Yz1mdW5jdGlvbigpe3ZhciBhPV8uakIoKTtfLkRlKHRoaXMsNixhKX07Xy5tLmdSYz1mdW5jdGlvbigpe3JldHVybiBfLlZlKHRoaXMsNil9O18ubS5HU2I9ZnVuY3Rpb24oKXtyZXR1cm4gXy5FaSh0aGlzLDYpfTtfLm0udDJhPWZ1bmN0aW9uKCl7cmV0dXJuIF8uc2kodGhpcyw4LF8uU2UoKSl9O18ubS5sa2I9ZnVuY3Rpb24oKXtyZXR1cm4gXy50aSh0aGlzLDEwLF8uU2UoKSl9O18ubS5LYmQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy5kaSh0aGlzLDEzKX07Xy5tLmtrYj1mdW5jdGlvbigpe3JldHVybiBfLkdlKHRoaXMsMTQpfTtfLm0uRlNiPWZ1bmN0aW9uKCl7cmV0dXJuIF8uR2UodGhpcywxNil9O18ubS5ta2I9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZSh0aGlzLDE2KX07Xy5tLmRSYz1mdW5jdGlvbigpe3JldHVybiBfLkVpKHRoaXMsMTYpfTtfLm0uamtiPWZ1bmN0aW9uKCl7cmV0dXJuIF8uZWkodGhpcywyMyl9O1xuXy5tLmhpYj1mdW5jdGlvbihhKXtyZXR1cm4gXy5PaSh0aGlzLDIzLGEpfTtfLm0uZVJjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uSWkodGhpcywyMyl9O18ubS5pa2I9ZnVuY3Rpb24oKXtyZXR1cm4gXy5HZSh0aGlzLDI0KX07Xy5tLmdpYj1mdW5jdGlvbihhKXtyZXR1cm4gXy5EZSh0aGlzLDI0LGEpfTtfLnJDLm9iPVs4LDEwLDI3LDMwXTtfLnJDLnByb3RvdHlwZS5xYj1cIm93c2xLZFwiO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJ6eDMwWVwiKTtcbnZhciB5U2MsQ1NjLEFTYyxCU2MselNjO18ud1NjPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLnAyYSgpfHxcIlwiLGU9Xy5JaShhLDEzKT09PTV8fF8uSWkoYSwxMyk9PT0xN3x8Xy5JaShhLDEzKT09PTE4P1wiTWFnaUdlbmVyYWxGZWVkYmFja1wiOlwiR2VuZXJhbEZlZWRiYWNrXCI7Yz1fLiRSYyhfLlhSYyhfLlpSYyhuZXcgXy5wQywyKS5zZXRBdHRyaWJ1dGUoYS5nZXRBdHRyaWJ1dGUoKXx8ZHx8ZSkuZkFhKGEucjJhKCl8fChjPT1udWxsP3ZvaWQgMDpfLmNtKGMpKSkuTm5hKGEubFMoKSkueFlhKGEuZnRiKCkpLk9iYShhLndBYSgpfHwxKS5Yb2EoZCkuV05iKCEwKSxhLm8yYSgpfHwwKSxhLnEyYSgpfHwwKTthLmhrYigpJiZjLmVBYShfLkVpKGEsOSkpO18uVmUoYiwyKT9jLlJoYShfLkdlKGIsMikpOmMuUmhhKFwidW5rbm93blwiKTtfLlZlKGIsMyk/Yy5TaGEoYi5sQSgpKTpjLlNoYShcIlVua25vd24gRW50aXR5XCIpO3JldHVybiBjfTtfLnZDPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuY2xvc2VzdChfLllHYShiKSkuZ2V0RGF0YShiKX07XG5fLnhTYz1mdW5jdGlvbihhKXtzd2l0Y2goYS5ub2RlVHlwZSl7Y2FzZSBOb2RlLkVMRU1FTlRfTk9ERTp2YXIgYj13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShhKTtpZihiLmRpc3BsYXk9PT1cIm5vbmVcInx8TnVtYmVyKGIub3BhY2l0eSk8LjAxfHxfLmttLmNvbnRhaW5zKGEsXCJnbWxTVmJcIikpcmV0dXJuXCJcIjtpZihhLnRhZ05hbWU9PT1cIkJSXCIpcmV0dXJuXCJcXG5cIjthPUFycmF5LmZyb20oYS5jaGlsZE5vZGVzKS5tYXAoZnVuY3Rpb24oYyl7cmV0dXJuIF8ueFNjKGMpfSkuam9pbihcIlwiKTtiLmRpc3BsYXk9PT1cImJsb2NrXCImJihhPVwiXFxuXCIrYStcIlxcblwiKTtyZXR1cm4gYTtjYXNlIE5vZGUuVEVYVF9OT0RFOnJldHVybiBhLm5vZGVWYWx1ZS5yZXBsYWNlKC9cXHMrL2csXCIgXCIpLnRyaW0oKTtkZWZhdWx0OnJldHVyblwiXCJ9fTtcbnlTYz1mdW5jdGlvbihhKXt2YXIgYj1uZXcgTWFwO2Euc3BsaXQoXCJ+OyZcIikuZm9yRWFjaChmdW5jdGlvbihjKXt2YXIgZD1fLlBhKGMuc3BsaXQoXCJ+OiZcIikpLGU9ZC5uZXh0KCkudmFsdWU7ZD1fLmdqYShkKTtlIT09XCJcIj9iLnNldChlLGQuam9pbihcIn46JlwiKSk6Xy5pZChFcnJvcihcIiRoYFwiK2MpKX0pO3JldHVybiBifTtcbkNTYz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Xy4kUmMoXy5YUmMoXy5aUmMobmV3IF8ucEMsMikuc2V0QXR0cmlidXRlKFwiXCIpLmZBYShfLmRtKF8udkMoYixcInZlZFwiKSxcIlwiKSkuZkxhKF8ueFNjKF8ucGcoYikpLnRyaW0oKSkuTm5hKGEubFMoKSkueFlhKGEuZnRiKCkpLk9iYShhLndBYSgpfHwxKS5Yb2EoYS5wMmEoKXx8XCJcIiksYS5vMmEoKXx8MCksYS5xMmEoKXx8MCk7YS5oa2IoKSYmZC5lQWEoXy5FaShhLDkpKTthPV8udkMoYixcImZibWFpblwiKTthLlBiKCkmJihhPXpTYyhfLkp1YShfLmRtKGEsXCJcIikpKSxfLkdlKGEsMikmJmQuUmhhKF8uR2UoYSwyKSksYS5sQSgpJiZkLlNoYShhLmxBKCkpLF8uR2UoYSw3KSYmZC5Yb2EoXy5HZShhLDcpKSxfLnVDKGEpJiZkLk9iYShfLnVDKGEpKSxfLmVpKGEsMTIpJiZkLmZpYihfLmVpKGEsMTIpKSxfLkdlKGEsMTMpJiZkLmVpYihfLkdlKGEsMTMpKSxfLnYoYSxfLm9DLDE0KSYmZC5ObmEoXy52KGEsXy5vQywxNCkpLGEuZ2V0QXR0cmlidXRlKCkmJlxuZC5zZXRBdHRyaWJ1dGUoYS5nZXRBdHRyaWJ1dGUoKSksXy5oaShhLDIwKSYmXy5YUmMoZCxfLmhpKGEsMjApKSxfLmhpKGEsMjEpJiZfLiRSYyhkLF8uaGkoYSwyMSkpKTthPV8udkMoYixcImF0dHJpZFwiKTthLlBiKCkmJmQuc2V0QXR0cmlidXRlKF8uY20oYSkpO2E9Xy52QyhiLFwicmVudGl0eVwiKTthLlBiKCkmJmQuWk5iKF8uY20oYSkpO2E9Xy52QyhiLFwic2VjaWRzXCIpO2EuUGIoKSYmZC5EbGMoXy5jbShhKSk7YT1fLnZDKGIsXCJkb2NpZFwiKTthLlBiKCkmJmQuVU5iKF8uY20oYSkpO2E9Xy52QyhiLFwidHNvdXJjZWlkXCIpO2EuUGIoKSYmZC5iT2IoXy5nbShhKSk7YT1fLnZDKGIsXCJscGFnZVwiKTthLlBiKCkmJmQuWE5iKF8uY20oYSkpO2E9Xy52QyhiLFwibHlyaWNpZFwiKTthLlBiKCkmJmQuWU5iKF8uY20oYSkpO2E9Xy52QyhiLFwiZW50aXR5aWRcIik7YS5QYigpP2QuUmhhKF8uY20oYSkpOl8uVmUoYywyKT9kLlJoYShfLkdlKGMsMikpOmQuUmhhKFwidW5rbm93blwiKTthPV8udkMoYixcImVudGl0eW5hbWVcIik7XG5hLlBiKCk/ZC5TaGEoXy5jbShhKSk6Xy5WZShjLDMpP2QuU2hhKGMubEEoKSk6ZC5TaGEoXCJVbmtub3duIEVudGl0eVwiKTtfLnZDKGIsXCJoaW1nXCIpLlBiKCkmJmQuVk5iKCEwKTtjPV8udkMoYixcImZ0YWdcIik7Yy5QYigpJiZfLlhSYyhkLF8uZ20oYykpO2M9Xy52QyhiLFwiZnR5cGVcIik7Yy5QYigpJiZkLk9iYShfLmdtKGMpKTtjPV8udkMoYixcImZwaWRcIik7Yy5QYigpJiZkLmZpYihfLmdtKGMpKTtjPV8udkMoYixcImZia3RcIik7Yy5QYigpJiZkLmVpYihfLmNtKGMpKTtpZihjPV8uZG0oXy52QyhiLFwiZmJjdHhcIiksXCJcIikpYz1fLmNTYyhjKSxjPShhPWQubFMoKSk/QVNjKGEsbmV3IF8uUmdhKEJTYyhjKSkpOmMsZC5ObmEoYyk7KGM9Xy5kbShfLnZDKGIsXCJlY3R4XCIpLFwiXCIpKSYmZC5hT2IoYyk7aWYoYz1fLmRtKF8udkMoYixcInNvcmlJZFwiKSxcIlwiKSlhPV8uVGgoXy5UaChkLF8ub0MsMTkpLF8uVlJjLDEpLF8uRGUoYSwxLGMpO2lmKGM9Xy5kbShfLnZDKGIsXCJmYnVybFwiKSxcIlwiKSlhPV8uVGgoZCxcbl8ub0MsMTkpLF8uZ2ooYSw5LGMpO2lmKGI9Xy5kbShfLnZDKGIsXCJwc2RcIiksXCJcIikpYj15U2MoYiksYi5zaXplPjAmJihjPV8uVGgoZCxfLm9DLDE5KSxfLkRGYihjLDgsYikpO3JldHVybiBkfTtfLkRTYz1mdW5jdGlvbihhLGIpe3ZhciBjO3JldHVybigoYz1fLm9TYyhhKSk9PW51bGw/dm9pZCAwOmMuZ2V0RGF0YShiKS5QYigpKXx8ITF9O18uRVNjPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRTYyhhLFwia2VmYkZoc09wdGluXCIpfTtBU2M9Xy5TZ2EoXy5VUmMpO0JTYz1fLlJiKF8uVVJjKTt6U2M9Xy5XYihfLnNDKTtcbl8uRlNjPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwP1wiXCI6YjtpZihfLmhpKGEsMSk9PT0yKXt2YXIgYz1hLmxBKCl8fFwiXCIsZD1hLmdldEF0dHJpYnV0ZSgpfHxcIlwiO2E9YS5yMmEoKXx8XCJcIjtjIT09XCJcIiYmYyE9PVwiVW5rbm93biBFbnRpdHlcIiYmZCE9PVwiXCImJmEhPT1cIlwifHxfLmlkKEVycm9yKFwiYmlgXCIrSlNPTi5zdHJpbmdpZnkoe2VudGl0eU5hbWU6YyxhdHRyaWJ1dGU6ZCx2aXN1YWxFbGVtZW50OmF9KStcImBcIitiKSl9fTt2YXIgR1NjPW5ldyBTZXQoW1wiVEFCTEVcIixcIlRIRUFEXCIsXCJUQk9EWVwiLFwiVEZPT1RcIixcIlRSXCJdKSxJU2M9ZnVuY3Rpb24oYSl7Xy5DLmNhbGwodGhpcyxhLk5hKTt2YXIgYj10aGlzO3RoaXMub2E9bnVsbDt0aGlzLkNhPXRoaXMuZ2V0RGF0YShcImZoc1wiKS5QYigpfHxfLkVTYyh0aGlzLmdldFJvb3QoKSk7dGhpcy5BYT1fLnRTYzt0aGlzLlNoPXRoaXMuQmE9bnVsbDt0aGlzLm1vZGVsPWEubW9kZWwucmVwb3J0O3RoaXMuanc9YS5qc2RhdGEuanc7dGhpcy5UYj1hLnNlcnZpY2UuVGI7dGhpcy5jb250YWluZXI9Xy5vU2ModGhpcy5nZXRSb290KCkpLmZpcnN0KCk7dGhpcy5MYT10aGlzLk1hKFwiWTRIRXZjXCIpO3RoaXMuUWE9dGhpcy5NYShcIlRsSHNNZFwiKTt0aGlzLlJhPXRoaXMuTWEoXCJyUDVQaGVcIik7dGhpcy5PYT10aGlzLk1hKFwieVczTWFjXCIpO3RoaXMuZ2V0Um9vdCgpLmdldERhdGEoXCJ1YnNcIikuUGIoKSYmXy5oZyh0aGlzLmNvbnRhaW5lci5maW5kKFwiLlBaUFpsZlwiKSxmdW5jdGlvbihjKXtjLmFkZENsYXNzKFwiUFpQWmxmXCIpfSk7XG53aW5kb3cuTXV0YXRpb25PYnNlcnZlciYmKHRoaXMuU2g9bmV3IE11dGF0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oYyl7dmFyIGQ9W107Yz1fLlBhKGMpO2Zvcih2YXIgZT1jLm5leHQoKTshZS5kb25lO2U9Yy5uZXh0KCkpe2U9Xy5QYShBcnJheS5mcm9tKGUudmFsdWUuYWRkZWROb2RlcykpO2Zvcih2YXIgZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpZj1mLnZhbHVlLGYubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmZC5wdXNoKGYpfV8uaGcoKG5ldyBfLmpnKGQpKS5maW5kKFwiLlBaUFpsZlwiKSxmdW5jdGlvbihnKXtIU2MoYixnLCExKX0pfSkpfTtfLkQoSVNjLF8uQyk7SVNjLklhPWZ1bmN0aW9uKCl7cmV0dXJue21vZGVsOntyZXBvcnQ6Xy5xQ30sanNkYXRhOntqdzpfLnJDfSxzZXJ2aWNlOntUYjpfLlR0fX19O1xuSVNjLnByb3RvdHlwZS5HYT1mdW5jdGlvbihhKXt2YXIgYj10aGlzO2lmKF8uaGkoYS5kYXRhLDEpPT09MSl7aWYodGhpcy5BYSYmXy5FaSh0aGlzLmp3LDkpJiZfLkVpKGEuZGF0YSw5KSE9PV8uRWkodGhpcy5qdyw5KSlyZXR1cm47dmFyIGM9dGhpcy5jb250YWluZXIuZmluZChcIi5QWlBabGZcIik7Yy50b0FycmF5KCkubGVuZ3RoPT09MT9fLmhnKGMsZnVuY3Rpb24oaCl7SlNjKGgsITEpO0hTYyhiLGgsITApfSk6Xy5oZyhjLGZ1bmN0aW9uKGgpe0pTYyhoLCExKTtIU2MoYixoLCExKX0pO3RoaXMuY29udGFpbmVyLmFkZENsYXNzKFwiaTFlV3BiXCIpO3ZhciBkOyhjPShkPV8ublNjKHRoaXMuZ2V0Um9vdCgpKSk9PW51bGw/dm9pZCAwOmQuZWwoKSkmJl8ubWYoYyxfLk5tYyk7dGhpcy5TaCE9bnVsbCYmdGhpcy5TaC5vYnNlcnZlKHRoaXMuY29udGFpbmVyLmVsKCkse2NoaWxkTGlzdDohMCxzdWJ0cmVlOiEwfSk7Xy5tZih0aGlzLmNvbnRhaW5lci5lbCgpLF8uR0ZiLHtlbDp0aGlzLmNvbnRhaW5lci5lbCgpfSk7XG50aGlzLlRiLm9hKCkuQWEodGhpcy5nZXRSb290KCkuZWwoKSwxKS5sb2coITApO2Q9dGhpcy5jb250YWluZXIuZmluZChcIi5QWlBabGYgLmdtbFNWYlwiKS5maWx0ZXIoXy5ubS5YaCk7aWYodGhpcy5CYT09PTImJmQuc2l6ZSgpPD0xKXRoaXMuQ2E/dGhpcy5tb2RlbC5nb0JhY2sobmV3IF8ucEMpOnRoaXMubW9kZWwuUGgobmV3IF8ucEMsITEsITApO2Vsc2UgaWYoZC5zaXplKCk9PT0wKUtTYyh0aGlzLCEwKTtlbHNlIGlmKGQuc2l6ZSgpPT09MSlkLmNsaWNrKCk7ZWxzZSBpZih0aGlzLm9hKXt2YXIgZSxmLGc7KGU9dGhpcy5vYSk9PW51bGx8fChmPWUuZmluZChcIi5nbWxTVmJcIikpPT1udWxsfHwoZz1mLmZpcnN0KCkpPT1udWxsfHxnLmZvY3VzKCk7dGhpcy5vYT1udWxsfX1lbHNlKGU9KGM9Xy5uU2ModGhpcy5nZXRSb290KCkpKT09bnVsbD92b2lkIDA6Yy5lbCgpKSYmXy5tZihlLF8uT21jKSx0aGlzLmNvbnRhaW5lci5oYXNDbGFzcyhcImkxZVdwYlwiKSYmKHRoaXMuY29udGFpbmVyLnJlbW92ZUNsYXNzKFwiaTFlV3BiXCIpLFxudGhpcy5UYi5vYSgpLkFhKHRoaXMuZ2V0Um9vdCgpLmVsKCksMikubG9nKCEwKSxfLmhnKHRoaXMuY29udGFpbmVyLmZpbmQoXCIuUFpQWmxmXCIpLGZ1bmN0aW9uKGgpe0pTYyhoLCEwKTtoLmZpbmQoXCIuZ21sU1ZiXCIpLnJlbW92ZSgpfSkpLHRoaXMuU2gmJnRoaXMuU2guZGlzY29ubmVjdCgpO3RoaXMuQmE9Xy5oaShhLmRhdGEsMSl9O0lTYy5wcm90b3R5cGUudWM9ZnVuY3Rpb24oKXt0aGlzLlNoJiZ0aGlzLlNoLmRpc2Nvbm5lY3QoKTtfLkMucHJvdG90eXBlLnVjLmNhbGwodGhpcyl9O1xudmFyIEhTYz1mdW5jdGlvbihhLGIsYyl7Yi5maW5kKFwiLmdtbFNWYlwiKS5yZW1vdmUoKTt2YXIgZD1fLnZDKGIsXCJhdHRyaWRcIikuc3RyaW5nKFwiXCIpPT09XCJpbWFnZXMgdW5pdmVyc2FsXCIsZT1hLmp3LnMyYSgpO2M9KGMmJmQ/YS5PYTpkP2EuUmE6ZT9hLkxhOmEuUWEpLmVsKCkuY2xvbmVOb2RlKCEwKTtfLmhtYShjLGEuZ2V0Um9vdCgpLmVsKCkpO0dTYy5oYXMoYi5lbCgpLnRhZ05hbWUpJiYoYj1fLk1uKGIsXCJURCwgVEhcIikuZmlyc3QoKSk7dmFyIGYsZztpZihkPWIuUGMoXCJkYXRhLXJlcG9ydC1mZWVkYmFjay1hYm91dC1jb250ZXh0XCIpfHwoKGY9Yi5maW5kKFwiW2RhdGEtcmVwb3J0LWZlZWRiYWNrLWFib3V0LWNvbnRleHRdXCIpLmZpcnN0KCl8fGIuY2xvc2VzdChcIltkYXRhLXJlcG9ydC1mZWVkYmFjay1hYm91dC1jb250ZXh0XVwiKS5maXJzdCgpKT09bnVsbD92b2lkIDA6Zi5QYyhcImRhdGEtcmVwb3J0LWZlZWRiYWNrLWFib3V0LWNvbnRleHRcIikpfHxiLlBjKFwiYXJpYS1sYWJlbFwiKXx8XG4oKGc9Yi5maW5kKFwiW2FyaWEtbGFiZWxdXCIpLmZpcnN0KCl8fGIuY2xvc2VzdChcIlthcmlhLWxhYmVsXVwiKS5maXJzdCgpKT09bnVsbD92b2lkIDA6Zy5QYyhcImFyaWEtbGFiZWxcIikpfHxfLnhTYyhiLmVsKCkpKWY9Yy5nZXRBdHRyaWJ1dGUoXCJhcmlhLWxhYmVsXCIpK1wiIFwiK2QsYz09bnVsbHx8Yy5zZXRBdHRyaWJ1dGUoXCJhcmlhLWxhYmVsXCIsZik7Yi5lbCgpLmFwcGVuZENoaWxkKGMpO2E6e2Y9YjtpZighXy5WZShhLmp3LDIpJiYhXy5WZShhLmp3LDMpJiYoZz1fLnZDKGYsXCJlbnRpdHlpZFwiKS5zdHJpbmcoXCJcIiksYz1fLnZDKGYsXCJlbnRpdHluYW1lXCIpLnN0cmluZyhcIlwiKSxnPT09XCJcIiYmYz09PVwiXCIpKXthPSEwO2JyZWFrIGF9Zj1fLnZDKGYsXCJhdHRyaWRcIikuc3RyaW5nKFwiXCIpO2E9Zj09PVwiXCI/ITA6YS5qdy5zMmEoKT9mLmVuZHNXaXRoKFwic2lkZXdheXNcIil8fGY9PT1cImRlc2NyaXB0aW9uXCI6ITF9YSYmYi5maW5kKFwiLmdtbFNWYlwiKS5oaWRlKCl9LEpTYz1mdW5jdGlvbihhLGIpe3ZhciBjPVxuYj9cIjBcIjpcIi0xXCI7aWYoYS5lbCgpLmhhc0F0dHJpYnV0ZShcImhyZWZcIikpYS5lbCgpLnNldEF0dHJpYnV0ZShcInRhYmluZGV4XCIsYyk7ZWxzZXt2YXIgZD1hLmVsKCkuY2xvc2VzdCgnW3JvbGU9XCJsaXN0aXRlbVwiXSBbcm9sZT1cImJ1dHRvblwiXSxcXG4gICAgICBbcm9sZT1cImxpc3RpdGVtXCJdIFtyb2xlPVwibGlua1wiXScpO2Q/ZC5zZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiLGMpOl8uaGcoYS5jaGlsZHJlbigpLGZ1bmN0aW9uKGUpe2I/ZS5lbCgpLnJlbW92ZUF0dHJpYnV0ZShcImluZXJ0XCIpOmUuZWwoKS5zZXRBdHRyaWJ1dGUoXCJpbmVydFwiLFwiXCIpfSl9fTtcbklTYy5wcm90b3R5cGUuVWE9ZnVuY3Rpb24oYSl7YS5ldmVudC5wcmV2ZW50RGVmYXVsdCgpO3RoaXMuVGIub2EoKS5vYSh0aGlzLmdldFJvb3QoKS5lbCgpKS5sb2coITApO3RoaXMub2E9YT1hLnRhcmdldEVsZW1lbnQuY2xvc2VzdChcIi5QWlBabGZcIik7dGhpcy5nZXRSb290KCkuZ2V0RGF0YShcImVwdVwiKS5QYigpJiZhLmVhY2goZnVuY3Rpb24oYyl7KGMudGFnTmFtZT09PVwiSU1HXCJ8fChuZXcgXy5qZyhbY10pKS5maW5kKFwiaW1nXCIpLnNpemUoKT4wKSYmYy5zZXRBdHRyaWJ1dGUoXCJpc3BpY2tlZFwiLFwiXCIpfSk7dmFyIGI9dGhpcy5tb2RlbC5nZXRTdGF0ZSgpO2E9Q1NjKGIsYSx0aGlzLmp3KTtfLkZTYyhhLFwiQSByZXBvcnRhYmxlIGlzIHBpY2tlZC5cIik7dGhpcy5tb2RlbC5QaChhKX07SVNjLnByb3RvdHlwZS5oYj1mdW5jdGlvbigpe0tTYyh0aGlzLCExKX07XG52YXIgS1NjPWZ1bmN0aW9uKGEsYil7aWYoIWEuQWF8fCFfLkVpKGEuancsOSl8fF8uRWkoYS5tb2RlbC5nZXRTdGF0ZSgpLDkpPT09Xy5FaShhLmp3LDkpKXt2YXIgYz1fLnZDKGEuY29udGFpbmVyLFwidmVkXCIpO2lmKCFjLlBiKCkpe3ZhciBkPWEuZ2V0Um9vdCgpLmNsb3Nlc3QoXy5IbihcImtwLXdob2xlcGFnZS1vc3JwXCIpKS5maXJzdCgpO2QmJihjPV8udkMoZCxcInZlZFwiKSl9ZD1hLm1vZGVsLmdldFN0YXRlKCk7Yz1fLndTYyhkLGEuancsYyk7Xy5GU2MoYyxiP1wiR2VuZXJhbCBmZWVkYmFjayBpcyBwYXNzaXZlbHkgcGlja2VkIGR1ZSB0byBubyByZXBvcnRhYmxlXCI6XCJHZW5lcmFsIGZlZWRiYWNrIGlzIHBpY2tlZCBieSB0aGUgZW5kIHVzZXIuXCIpO2EubW9kZWwuUGgoYyl9fTtfLkwoSVNjLnByb3RvdHlwZSxcIkE1SUtRYlwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaGJ9KTtfLkwoSVNjLnByb3RvdHlwZSxcIllmOFdXXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5VYX0pO1xuXy5MKElTYy5wcm90b3R5cGUsXCJrNElzZWJcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLnVjfSk7Xy5MKElTYy5wcm90b3R5cGUsXCJkc29JMGJcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLkdhfSk7Xy5wcihfLmpTYyxJU2MpO1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciB5Qz10eXBlb2YgVWludDhBcnJheSE9PVwidW5kZWZpbmVkXCImJnR5cGVvZiBVaW50MTZBcnJheSE9PVwidW5kZWZpbmVkXCImJnR5cGVvZiBVaW50MzJBcnJheSE9PVwidW5kZWZpbmVkXCI7LypcblxuXG4gSmF2YVNjcmlwdCBabGliIGFuZCBEZWZsYXRlIExpYnJhcnlcblxuIFRoZSBNSVQgTGljZW5zZVxuXG4gQ29weXJpZ2h0IChjKSAyMDExIGltYXlhXG5cbiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcblxuIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG5cbiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuIFRIRSBTT0ZUV0FSRS5cbiovXG52YXIgalZjPWZ1bmN0aW9uKGEsYixjKXt2YXIgZDt0eXBlb2YgYj09PVwibnVtYmVyXCJ8fChiPTApO3ZhciBlPXR5cGVvZiBjPT09XCJudW1iZXJcIj9jOmEubGVuZ3RoO2M9LTE7Zm9yKGQ9ZSY3O2QtLTsrK2IpYz1jPj4+OF5pVmNbKGNeYVtiXSkmMjU1XTtmb3IoZD1lPj4zO2QtLTtiKz04KWM9Yz4+PjheaVZjWyhjXmFbYl0pJjI1NV0sYz1jPj4+OF5pVmNbKGNeYVtiKzFdKSYyNTVdLGM9Yz4+PjheaVZjWyhjXmFbYisyXSkmMjU1XSxjPWM+Pj44XmlWY1soY15hW2IrM10pJjI1NV0sYz1jPj4+OF5pVmNbKGNeYVtiKzRdKSYyNTVdLGM9Yz4+PjheaVZjWyhjXmFbYis1XSkmMjU1XSxjPWM+Pj44XmlWY1soY15hW2IrNl0pJjI1NV0sYz1jPj4+OF5pVmNbKGNeYVtiKzddKSYyNTVdO3JldHVybihjXjQyOTQ5NjcyOTUpPj4+MH0sa1ZjPVswLDE5OTY5NTk4OTQsMzk5MzkxOTc4OCwyNTY3NTI0Nzk0LDEyNDYzNDEzNywxODg2MDU3NjE1LDM5MTU2MjE2ODUsMjY1NzM5MjAzNSwyNDkyNjgyNzQsXG4yMDQ0NTA4MzI0LDM3NzIxMTUyMzAsMjU0NzE3Nzg2NCwxNjI5NDE5OTUsMjEyNTU2MTAyMSwzODg3NjA3MDQ3LDI0Mjg0NDQwNDksNDk4NTM2NTQ4LDE3ODk5Mjc2NjYsNDA4OTAxNjY0OCwyMjI3MDYxMjE0LDQ1MDU0ODg2MSwxODQzMjU4NjAzLDQxMDc1ODA3NTMsMjIxMTY3NzYzOSwzMjU4ODM5OTAsMTY4NDc3NzE1Miw0MjUxMTIyMDQyLDIzMjE5MjY2MzYsMzM1NjMzNDg3LDE2NjEzNjU0NjUsNDE5NTMwMjc1NSwyMzY2MTE1MzE3LDk5NzA3MzA5NiwxMjgxOTUzODg2LDM1Nzk4NTUzMzIsMjcyNDY4ODI0MiwxMDA2ODg4MTQ1LDEyNTg2MDc2ODcsMzUyNDEwMTYyOSwyNzY4OTQyNDQzLDkwMTA5NzcyMiwxMTE5MDAwNjg0LDM2ODY1MTcyMDYsMjg5ODA2NTcyOCw4NTMwNDQ0NTEsMTE3MjI2NjEwMSwzNzA1MDE1NzU5LDI4ODI2MTY2NjUsNjUxNzY3OTgwLDEzNzM1MDM1NDYsMzM2OTU1NDMwNCwzMjE4MTA0NTk4LDU2NTUwNzI1MywxNDU0NjIxNzMxLDM0ODUxMTE3MDUsMzA5OTQzNjMwMyxcbjY3MTI2Njk3NCwxNTk0MTk4MDI0LDMzMjI3MzA5MzAsMjk3MDM0NzgxMiw3OTU4MzU1MjcsMTQ4MzIzMDIyNSwzMjQ0MzY3Mjc1LDMwNjAxNDk1NjUsMTk5NDE0NjE5MiwzMTE1ODUzNCwyNTYzOTA3NzcyLDQwMjM3MTc5MzAsMTkwNzQ1OTQ2NSwxMTI2MzcyMTUsMjY4MDE1MzI1MywzOTA0NDI3MDU5LDIwMTM3NzYyOTAsMjUxNzIyMDM2LDI1MTcyMTUzNzQsMzc3NTgzMDA0MCwyMTM3NjU2NzYzLDE0MTM3NjgxMywyNDM5Mjc3NzE5LDM4NjUyNzEyOTcsMTgwMjE5NTQ0NCw0NzY4NjQ4NjYsMjIzODAwMTM2OCw0MDY2NTA4ODc4LDE4MTIzNzA5MjUsNDUzMDkyNzMxLDIxODE2MjUwMjUsNDExMTQ1MTIyMywxNzA2MDg4OTAyLDMxNDA0MjcwNCwyMzQ0NTMyMjAyLDQyNDAwMTc1MzIsMTY1ODY1ODI3MSwzNjY2MTk5NzcsMjM2MjY3MDMyMyw0MjI0OTk0NDA1LDEzMDM1MzU5NjAsOTg0OTYxNDg2LDI3NDcwMDcwOTIsMzU2OTAzNzUzOCwxMjU2MTcwODE3LDEwMzc2MDQzMTEsMjc2NTIxMDczMyxcbjM1NTQwNzk5OTUsMTEzMTAxNDUwNiw4Nzk2Nzk5OTYsMjkwOTI0MzQ2MiwzNjYzNzcxODU2LDExNDExMjQ0NjcsODU1ODQyMjc3LDI4NTI4MDE2MzEsMzcwODY0ODY0OSwxMzQyNTMzOTQ4LDY1NDQ1OTMwNiwzMTg4Mzk2MDQ4LDMzNzMwMTUxNzQsMTQ2NjQ3OTkwOSw1NDQxNzk2MzUsMzExMDUyMzkxMywzNDYyNTIyMDE1LDE1OTE2NzEwNTQsNzAyMTM4Nzc2LDI5NjY0NjA0NTAsMzM1Mjc5OTQxMiwxNTA0OTE4ODA3LDc4MzU1MTg3MywzMDgyNjQwNDQzLDMyMzM0NDI5ODksMzk4ODI5MjM4NCwyNTk2MjU0NjQ2LDYyMzE3MDY4LDE5NTc4MTA4NDIsMzkzOTg0NTk0NSwyNjQ3ODE2MTExLDgxNDcwOTk3LDE5NDM4MDM1MjMsMzgxNDkxODkzMCwyNDg5NTk2ODA0LDIyNTI3NDQzMCwyMDUzNzkwMzc2LDM4MjYxNzU3NTUsMjQ2NjkwNjAxMywxNjc4MTY3NDMsMjA5NzY1MTM3Nyw0MDI3NTUyNTgwLDIyNjU0OTAzODYsNTAzNDQ0MDcyLDE3NjIwNTA4MTQsNDE1MDQxNzI0NSwyMTU0MTI5MzU1LFxuNDI2NTIyMjI1LDE4NTI1MDc4NzksNDI3NTMxMzUyNiwyMzEyMzE3OTIwLDI4Mjc1MzYyNiwxNzQyNTU1ODUyLDQxODk3MDgxNDMsMjM5NDg3Nzk0NSwzOTc5MTc3NjMsMTYyMjE4MzYzNywzNjA0MzkwODg4LDI3MTQ4NjY1NTgsOTUzNzI5NzMyLDEzNDAwNzY2MjYsMzUxODcxOTk4NSwyNzk3MzYwOTk5LDEwNjg4MjgzODEsMTIxOTYzODg1OSwzNjI0NzQxODUwLDI5MzY2NzUxNDgsOTA2MTg1NDYyLDEwOTA4MTI1MTIsMzc0NzY3MjAwMywyODI1Mzc5NjY5LDgyOTMyOTEzNSwxMTgxMzM1MTYxLDM0MTIxNzc4MDQsMzE2MDgzNDg0Miw2MjgwODU0MDgsMTM4MjYwNTM2NiwzNDIzMzY5MTA5LDMxMzgwNzg0NjcsNTcwNTYyMjMzLDE0MjY0MDA4MTUsMzMxNzMxNjU0MiwyOTk4NzMzNjA4LDczMzIzOTk1NCwxNTU1MjYxOTU2LDMyNjg5MzU1OTEsMzA1MDM2MDYyNSw3NTI0NTk0MDMsMTU0MTMyMDIyMSwyNjA3MDcxOTIwLDM5NjU5NzMwMzAsMTk2OTkyMjk3Miw0MDczNTQ5OCwyNjE3ODM3MjI1LFxuMzk0MzU3NzE1MSwxOTEzMDg3ODc3LDgzOTA4MzcxLDI1MTIzNDE2MzQsMzgwMzc0MDY5MiwyMDc1MjA4NjIyLDIxMzI2MTExMiwyNDYzMjcyNjAzLDM4NTU5OTAyODUsMjA5NDg1NDA3MSwxOTg5NTg4ODEsMjI2MjAyOTAxMiw0MDU3MjYwNjEwLDE3NTkzNTk5OTIsNTM0NDE0MTkwLDIxNzY3MTg1NDEsNDEzOTMyOTExNSwxODczODM2MDAxLDQxNDY2NDU2NywyMjgyMjQ4OTM0LDQyNzkyMDAzNjgsMTcxMTY4NDU1NCwyODUyODExMTYsMjQwNTgwMTcyNyw0MTY3MjE2NzQ1LDE2MzQ0Njc3OTUsMzc2MjI5NzAxLDI2ODUwNjc4OTYsMzYwODAwNzQwNiwxMzA4OTE4NjEyLDk1NjU0MzkzOCwyODA4NTU1MTA1LDM0OTU5NTgyNjMsMTIzMTYzNjMwMSwxMDQ3NDI3MDM1LDI5MzI5NTk4MTgsMzY1NDcwMzgzNiwxMDg4MzU5MjcwLDkzNjkxOEUzLDI4NDc3MTQ4OTksMzczNjgzNzgyOSwxMjAyOTAwODYzLDgxNzIzMzg5NywzMTgzMzQyMTA4LDM0MDEyMzcxMzAsMTQwNDI3NzU1Miw2MTU4MTgxNTAsXG4zMTM0MjA3NDkzLDM0NTM0MjEyMDMsMTQyMzg1NzQ0OSw2MDE0NTA0MzEsMzAwOTgzNzYxNCwzMjk0NzEwNDU2LDE1NjcxMDM3NDYsNzExOTI4NzI0LDMwMjA2Njg0NzEsMzI3MjM4MDA2NSwxNTEwMzM0MjM1LDc1NTE2NzExN10saVZjPXlDP25ldyBVaW50MzJBcnJheShrVmMpOmtWYzt2YXIgbVZjPWZ1bmN0aW9uKGEsYil7dGhpcy5pbmRleD10eXBlb2YgYj09PVwibnVtYmVyXCI/YjowO3RoaXMuQWE9MDt0aGlzLmJ1ZmZlcj1hIGluc3RhbmNlb2YoeUM/VWludDhBcnJheTpBcnJheSk/YTpuZXcgKHlDP1VpbnQ4QXJyYXk6QXJyYXkpKDMyNzY4KTtpZih0aGlzLmJ1ZmZlci5sZW5ndGgqMjw9dGhpcy5pbmRleCl0aHJvdyBFcnJvcihcImhpXCIpO3RoaXMuYnVmZmVyLmxlbmd0aDw9dGhpcy5pbmRleCYmbFZjKHRoaXMpfSxsVmM9ZnVuY3Rpb24oYSl7dmFyIGI9YS5idWZmZXIsYyxkPWIubGVuZ3RoLGU9bmV3ICh5Qz9VaW50OEFycmF5OkFycmF5KShkPDwxKTtpZih5QyllLnNldChiKTtlbHNlIGZvcihjPTA7YzxkOysrYyllW2NdPWJbY107cmV0dXJuIGEuYnVmZmVyPWV9O1xubVZjLnByb3RvdHlwZS5vYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5idWZmZXIsZT10aGlzLmluZGV4LGY9dGhpcy5BYSxnPWRbZV07YyYmYj4xJiYoYT1iPjg/KG5WY1thJjI1NV08PDI0fG5WY1thPj4+OCYyNTVdPDwxNnxuVmNbYT4+PjE2JjI1NV08PDh8blZjW2E+Pj4yNCYyNTVdKT4+MzItYjpuVmNbYV0+PjgtYik7aWYoYitmPDgpZz1nPDxifGEsZis9YjtlbHNlIGZvcihjPTA7YzxiOysrYylnPWc8PDF8YT4+Yi1jLTEmMSwrK2Y9PT04JiYoZj0wLGRbZSsrXT1uVmNbZ10sZz0wLGU9PT1kLmxlbmd0aCYmKGQ9bFZjKHRoaXMpKSk7ZFtlXT1nO3RoaXMuYnVmZmVyPWQ7dGhpcy5BYT1mO3RoaXMuaW5kZXg9ZX07bVZjLnByb3RvdHlwZS5maW5pc2g9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmJ1ZmZlcixiPXRoaXMuaW5kZXg7dGhpcy5BYT4wJiYoYVtiXTw8PTgtdGhpcy5BYSxhW2JdPW5WY1thW2JdXSxiKyspO3lDP2E9YS5zdWJhcnJheSgwLGIpOmEubGVuZ3RoPWI7cmV0dXJuIGF9O1xudmFyIG9WYz1uZXcgKHlDP1VpbnQ4QXJyYXk6QXJyYXkpKDI1NikscFZjO2ZvcihwVmM9MDtwVmM8MjU2OysrcFZjKXt2YXIgcVZjPXBWYyxyVmM9cVZjLHNWYz03O2ZvcihxVmM+Pj49MTtxVmM7cVZjPj4+PTEpclZjPDw9MSxyVmN8PXFWYyYxLC0tc1ZjO29WY1twVmNdPShyVmM8PHNWYyYyNTUpPj4+MH12YXIgblZjPW9WYzsvKlxuXG5cbiB6bGliLmhlYXAuanNcblxuIFRoZSBNSVQgTGljZW5zZVxuXG4gQ29weXJpZ2h0IChjKSAyMDExIGltYXlhXG5cbiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcblxuIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG5cbiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuIFRIRSBTT0ZUV0FSRS5cbiovXG52YXIgdFZjPWZ1bmN0aW9uKCl7dGhpcy5idWZmZXI9bmV3ICh5Qz9VaW50MTZBcnJheTpBcnJheSkoMTE0NCk7dGhpcy5sZW5ndGg9MH07dFZjLnByb3RvdHlwZS53Yj1mdW5jdGlvbihhKXtyZXR1cm4gMiphKzJ9O3RWYy5wcm90b3R5cGUucHVzaD1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuYnVmZmVyO3ZhciBkPXRoaXMubGVuZ3RoO2NbdGhpcy5sZW5ndGgrK109Yjtmb3IoY1t0aGlzLmxlbmd0aCsrXT1hO2Q+MDspaWYoYT0oKGQtMikvNHwwKSoyLGNbZF0+Y1thXSliPWNbZF0sY1tkXT1jW2FdLGNbYV09YixiPWNbZCsxXSxjW2QrMV09Y1thKzFdLGNbYSsxXT1iLGQ9YTtlbHNlIGJyZWFrO3JldHVybiB0aGlzLmxlbmd0aH07XG50VmMucHJvdG90eXBlLnBvcD1mdW5jdGlvbigpe3ZhciBhPXRoaXMuYnVmZmVyLGI7dmFyIGM9YVswXTt2YXIgZD1hWzFdO3RoaXMubGVuZ3RoLT0yO2FbMF09YVt0aGlzLmxlbmd0aF07YVsxXT1hW3RoaXMubGVuZ3RoKzFdO2ZvcihiPTA7Oyl7dmFyIGU9dGhpcy53YihiKTtpZihlPj10aGlzLmxlbmd0aClicmVhaztlKzI8dGhpcy5sZW5ndGgmJmFbZSsyXT5hW2VdJiYoZSs9Mik7aWYoYVtlXT5hW2JdKXt2YXIgZj1hW2JdO2FbYl09YVtlXTthW2VdPWY7Zj1hW2IrMV07YVtiKzFdPWFbZSsxXTthW2UrMV09Zn1lbHNlIGJyZWFrO2I9ZX1yZXR1cm57aW5kZXg6ZCx2YWx1ZTpjLGxlbmd0aDp0aGlzLmxlbmd0aH19O3ZhciB1VmM9ZnVuY3Rpb24oYSxiKXt0aGlzLkFhPTI7dGhpcy5sYXp5PTA7dGhpcy5pbnB1dD15QyYmYSBpbnN0YW5jZW9mIEFycmF5P25ldyBVaW50OEFycmF5KGEpOmE7dGhpcy5vcD0wO2ImJihiLmxhenkmJih0aGlzLmxhenk9Yi5sYXp5KSx0eXBlb2YgYi5jb21wcmVzc2lvblR5cGU9PT1cIm51bWJlclwiJiYodGhpcy5BYT1iLmNvbXByZXNzaW9uVHlwZSksYi5vdXRwdXRCdWZmZXImJih0aGlzLm91dHB1dD15QyYmYi5vdXRwdXRCdWZmZXIgaW5zdGFuY2VvZiBBcnJheT9uZXcgVWludDhBcnJheShiLm91dHB1dEJ1ZmZlcik6Yi5vdXRwdXRCdWZmZXIpLHR5cGVvZiBiLm91dHB1dEluZGV4PT09XCJudW1iZXJcIiYmKHRoaXMub3A9Yi5vdXRwdXRJbmRleCkpO3RoaXMub3V0cHV0fHwodGhpcy5vdXRwdXQ9bmV3ICh5Qz9VaW50OEFycmF5OkFycmF5KSgzMjc2OCkpfSx2VmM9W10sekM7XG5mb3IoekM9MDt6QzwyODg7ekMrKylzd2l0Y2goITApe2Nhc2UgekM8PTE0Mzp2VmMucHVzaChbekMrNDgsOF0pO2JyZWFrO2Nhc2UgekM8PTI1NTp2VmMucHVzaChbekMtMTQ0KzQwMCw5XSk7YnJlYWs7Y2FzZSB6Qzw9Mjc5OnZWYy5wdXNoKFt6Qy0yNTYsN10pO2JyZWFrO2Nhc2UgekM8PTI4Nzp2VmMucHVzaChbekMtMjgwKzE5Miw4XSk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcihcImlpYFwiK3pDKTt9XG51VmMucHJvdG90eXBlLm9hPWZ1bmN0aW9uKCl7dmFyIGEsYj10aGlzLmlucHV0O3N3aXRjaCh0aGlzLkFhKXtjYXNlIDA6dmFyIGM9MDtmb3IoYT1iLmxlbmd0aDtjPGE7KXt2YXIgZD15Qz9iLnN1YmFycmF5KGMsYys2NTUzNSk6Yi5zbGljZShjLGMrNjU1MzUpO2MrPWQubGVuZ3RoO3ZhciBlPWM9PT1hO3ZhciBmPXRoaXMub3V0cHV0LGc9dGhpcy5vcDtpZih5Qyl7Zm9yKGY9bmV3IFVpbnQ4QXJyYXkodGhpcy5vdXRwdXQuYnVmZmVyKTtmLmxlbmd0aDw9ZytkLmxlbmd0aCs1OylmPW5ldyBVaW50OEFycmF5KGYubGVuZ3RoPDwxKTtmLnNldCh0aGlzLm91dHB1dCl9ZltnKytdPShlPzE6MCl8MDt2YXIgaD1kLmxlbmd0aDtlPX5oKzY1NTM2JjY1NTM1O2ZbZysrXT1oJjI1NTtmW2crK109aD4+PjgmMjU1O2ZbZysrXT1lJjI1NTtmW2crK109ZT4+PjgmMjU1O2lmKHlDKWYuc2V0KGQsZyksZys9ZC5sZW5ndGgsZj1mLnN1YmFycmF5KDAsZyk7ZWxzZXtoPTA7Zm9yKGU9ZC5sZW5ndGg7aDxcbmU7KytoKWZbZysrXT1kW2hdO2YubGVuZ3RoPWd9dGhpcy5vcD1nO3RoaXMub3V0cHV0PWZ9YnJlYWs7Y2FzZSAxOmM9bmV3IG1WYyh5Qz9uZXcgVWludDhBcnJheSh0aGlzLm91dHB1dC5idWZmZXIpOnRoaXMub3V0cHV0LHRoaXMub3ApO2Mub2EoMSwxLCEwKTtjLm9hKDEsMiwhMCk7Yj13VmModGhpcyxiKTthPTA7Zm9yKGQ9Yi5sZW5ndGg7YTxkO2ErKylpZihmPWJbYV0sbVZjLnByb3RvdHlwZS5vYS5hcHBseShjLHZWY1tmXSksZj4yNTYpYy5vYShiWysrYV0sYlsrK2FdLCEwKSxjLm9hKGJbKythXSw1KSxjLm9hKGJbKythXSxiWysrYV0sITApO2Vsc2UgaWYoZj09PTI1NilicmVhazt0aGlzLm91dHB1dD1jLmZpbmlzaCgpO3RoaXMub3A9dGhpcy5vdXRwdXQubGVuZ3RoO2JyZWFrO2Nhc2UgMjpjPW5ldyBtVmMoeUM/bmV3IFVpbnQ4QXJyYXkodGhpcy5vdXRwdXQuYnVmZmVyKTp0aGlzLm91dHB1dCx0aGlzLm9wKTt2YXIgayxsLG49WzE2LDE3LDE4LDAsOCw3LDksNiwxMCw1LFxuMTEsNCwxMiwzLDEzLDIsMTQsMSwxNV07ZT1BcnJheSgxOSk7dmFyIHI7Yy5vYSgxLDEsITApO2Mub2EoMiwyLCEwKTtiPXdWYyh0aGlzLGIpO2Y9eFZjKHRoaXMuQ2EsMTUpO2c9eVZjKGYpO2E9eFZjKHRoaXMuQmEsNyk7ZD15VmMoYSk7Zm9yKGg9Mjg2O2g+MjU3JiZmW2gtMV09PT0wO2gtLSk7Zm9yKGs9MzA7az4xJiZhW2stMV09PT0wO2stLSk7dmFyIHQ9aCx1PWs7dmFyIHo9bmV3ICh5Qz9VaW50MzJBcnJheTpBcnJheSkodCt1KTt2YXIgQj1uZXcgKHlDP1VpbnQzMkFycmF5OkFycmF5KSgzMTYpLEY7dmFyIEs9bmV3ICh5Qz9VaW50OEFycmF5OkFycmF5KSgxOSk7Zm9yKHI9bD0wO3I8dDtyKyspeltsKytdPWZbcl07Zm9yKHI9MDtyPHU7cisrKXpbbCsrXT1hW3JdO2lmKCF5Qylmb3Iocj0wLHU9Sy5sZW5ndGg7cjx1OysrcilLW3JdPTA7cj1GPTA7Zm9yKHU9ei5sZW5ndGg7cjx1O3IrPWwpe2ZvcihsPTE7citsPHUmJnpbcitsXT09PXpbcl07KytsKTt0PWw7aWYoeltyXT09PVxuMClpZih0PDMpZm9yKDt0LS0gPjA7KUJbRisrXT0wLEtbMF0rKztlbHNlIGZvcig7dD4wOyl7dmFyIFA9dDwxMzg/dDoxMzg7UD50LTMmJlA8dCYmKFA9dC0zKTtQPD0xMD8oQltGKytdPTE3LEJbRisrXT1QLTMsS1sxN10rKyk6KEJbRisrXT0xOCxCW0YrK109UC0xMSxLWzE4XSsrKTt0LT1QfWVsc2UgaWYoQltGKytdPXpbcl0sS1t6W3JdXSsrLHQtLSx0PDMpZm9yKDt0LS0gPjA7KUJbRisrXT16W3JdLEtbeltyXV0rKztlbHNlIGZvcig7dD4wOylQPXQ8Nj90OjYsUD50LTMmJlA8dCYmKFA9dC0zKSxCW0YrK109MTYsQltGKytdPVAtMyxLWzE2XSsrLHQtPVB9ej15Qz9CLnN1YmFycmF5KDAsRik6Qi5zbGljZSgwLEYpO0s9eFZjKEssNyk7Zm9yKHI9MDtyPDE5O3IrKyllW3JdPUtbbltyXV07Zm9yKGw9MTk7bD40JiZlW2wtMV09PT0wO2wtLSk7bj15VmMoSyk7Yy5vYShoLTI1Nyw1LCEwKTtjLm9hKGstMSw1LCEwKTtjLm9hKGwtNCw0LCEwKTtmb3Iocj0wO3I8bDtyKyspYy5vYShlW3JdLFxuMywhMCk7cj0wO2ZvcihlPXoubGVuZ3RoO3I8ZTtyKyspaWYoaD16W3JdLGMub2EobltoXSxLW2hdLCEwKSxoPj0xNil7cisrO3N3aXRjaChoKXtjYXNlIDE2Omg9MjticmVhaztjYXNlIDE3Omg9MzticmVhaztjYXNlIDE4Omg9NzticmVhaztkZWZhdWx0OnRocm93IEVycm9yKFwia2lgXCIraCk7fWMub2EoeltyXSxoLCEwKX1mPVtnLGZdO2c9W2QsYV07YT1mWzBdO2Q9ZlsxXTtmPWdbMF07aD1nWzFdO2c9MDtmb3IoZT1iLmxlbmd0aDtnPGU7KytnKWlmKGs9YltnXSxjLm9hKGFba10sZFtrXSwhMCksaz4yNTYpYy5vYShiWysrZ10sYlsrK2ddLCEwKSxrPWJbKytnXSxjLm9hKGZba10saFtrXSwhMCksYy5vYShiWysrZ10sYlsrK2ddLCEwKTtlbHNlIGlmKGs9PT0yNTYpYnJlYWs7dGhpcy5vdXRwdXQ9Yy5maW5pc2goKTt0aGlzLm9wPXRoaXMub3V0cHV0Lmxlbmd0aDticmVhaztkZWZhdWx0OnRocm93IEVycm9yKFwiamlcIik7fXJldHVybiB0aGlzLm91dHB1dH07XG52YXIgelZjPWZ1bmN0aW9uKGEsYil7dGhpcy5sZW5ndGg9YTt0aGlzLm9hPWJ9LEFWYyxCVmM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGUpe3N3aXRjaCghMCl7Y2FzZSBlPT09MzpyZXR1cm5bMjU3LGUtMywwXTtjYXNlIGU9PT00OnJldHVyblsyNTgsZS00LDBdO2Nhc2UgZT09PTU6cmV0dXJuWzI1OSxlLTUsMF07Y2FzZSBlPT09NjpyZXR1cm5bMjYwLGUtNiwwXTtjYXNlIGU9PT03OnJldHVyblsyNjEsZS03LDBdO2Nhc2UgZT09PTg6cmV0dXJuWzI2MixlLTgsMF07Y2FzZSBlPT09OTpyZXR1cm5bMjYzLGUtOSwwXTtjYXNlIGU9PT0xMDpyZXR1cm5bMjY0LGUtMTAsMF07Y2FzZSBlPD0xMjpyZXR1cm5bMjY1LGUtMTEsMV07Y2FzZSBlPD0xNDpyZXR1cm5bMjY2LGUtMTMsMV07Y2FzZSBlPD0xNjpyZXR1cm5bMjY3LGUtMTUsMV07Y2FzZSBlPD0xODpyZXR1cm5bMjY4LGUtMTcsMV07Y2FzZSBlPD0yMjpyZXR1cm5bMjY5LGUtMTksMl07Y2FzZSBlPD0yNjpyZXR1cm5bMjcwLGUtMjMsXG4yXTtjYXNlIGU8PTMwOnJldHVyblsyNzEsZS0yNywyXTtjYXNlIGU8PTM0OnJldHVyblsyNzIsZS0zMSwyXTtjYXNlIGU8PTQyOnJldHVyblsyNzMsZS0zNSwzXTtjYXNlIGU8PTUwOnJldHVyblsyNzQsZS00MywzXTtjYXNlIGU8PTU4OnJldHVyblsyNzUsZS01MSwzXTtjYXNlIGU8PTY2OnJldHVyblsyNzYsZS01OSwzXTtjYXNlIGU8PTgyOnJldHVyblsyNzcsZS02Nyw0XTtjYXNlIGU8PTk4OnJldHVyblsyNzgsZS04Myw0XTtjYXNlIGU8PTExNDpyZXR1cm5bMjc5LGUtOTksNF07Y2FzZSBlPD0xMzA6cmV0dXJuWzI4MCxlLTExNSw0XTtjYXNlIGU8PTE2MjpyZXR1cm5bMjgxLGUtMTMxLDVdO2Nhc2UgZTw9MTk0OnJldHVyblsyODIsZS0xNjMsNV07Y2FzZSBlPD0yMjY6cmV0dXJuWzI4MyxlLTE5NSw1XTtjYXNlIGU8PTI1NzpyZXR1cm5bMjg0LGUtMjI3LDVdO2Nhc2UgZT09PTI1ODpyZXR1cm5bMjg1LGUtMjU4LDBdO2RlZmF1bHQ6dGhyb3cgRXJyb3IoXCJsaWBcIitlKTt9fXZhciBiPVxuW10sYztmb3IoYz0zO2M8PTI1ODtjKyspe3ZhciBkPWEoYyk7YltjXT1kWzJdPDwyNHxkWzFdPDwxNnxkWzBdfXJldHVybiBifSgpO0FWYz15Qz9uZXcgVWludDMyQXJyYXkoQlZjKTpCVmM7XG52YXIgd1ZjPWZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYyhGLEspe3ZhciBQPVtdLFE9QVZjW0YubGVuZ3RoXTtQWzBdPVEmNjU1MzU7UFsxXT1RPj4xNiYyNTU7UFsyXT1RPj4yNDtRPUYub2E7c3dpdGNoKCEwKXtjYXNlIFE9PT0xOlE9WzAsUS0xLDBdO2JyZWFrO2Nhc2UgUT09PTI6UT1bMSxRLTIsMF07YnJlYWs7Y2FzZSBRPT09MzpRPVsyLFEtMywwXTticmVhaztjYXNlIFE9PT00OlE9WzMsUS00LDBdO2JyZWFrO2Nhc2UgUTw9NjpRPVs0LFEtNSwxXTticmVhaztjYXNlIFE8PTg6UT1bNSxRLTcsMV07YnJlYWs7Y2FzZSBRPD0xMjpRPVs2LFEtOSwyXTticmVhaztjYXNlIFE8PTE2OlE9WzcsUS0xMywyXTticmVhaztjYXNlIFE8PTI0OlE9WzgsUS0xNywzXTticmVhaztjYXNlIFE8PTMyOlE9WzksUS0yNSwzXTticmVhaztjYXNlIFE8PTQ4OlE9WzEwLFEtMzMsNF07YnJlYWs7Y2FzZSBRPD02NDpRPVsxMSxRLTQ5LDRdO2JyZWFrO2Nhc2UgUTw9OTY6UT1bMTIsUS02NSw1XTticmVhaztcbmNhc2UgUTw9MTI4OlE9WzEzLFEtOTcsNV07YnJlYWs7Y2FzZSBRPD0xOTI6UT1bMTQsUS0xMjksNl07YnJlYWs7Y2FzZSBRPD0yNTY6UT1bMTUsUS0xOTMsNl07YnJlYWs7Y2FzZSBRPD0zODQ6UT1bMTYsUS0yNTcsN107YnJlYWs7Y2FzZSBRPD01MTI6UT1bMTcsUS0zODUsN107YnJlYWs7Y2FzZSBRPD03Njg6UT1bMTgsUS01MTMsOF07YnJlYWs7Y2FzZSBRPD0xMDI0OlE9WzE5LFEtNzY5LDhdO2JyZWFrO2Nhc2UgUTw9MTUzNjpRPVsyMCxRLTEwMjUsOV07YnJlYWs7Y2FzZSBRPD0yMDQ4OlE9WzIxLFEtMTUzNyw5XTticmVhaztjYXNlIFE8PTMwNzI6UT1bMjIsUS0yMDQ5LDEwXTticmVhaztjYXNlIFE8PTQwOTY6UT1bMjMsUS0zMDczLDEwXTticmVhaztjYXNlIFE8PTYxNDQ6UT1bMjQsUS00MDk3LDExXTticmVhaztjYXNlIFE8PTgxOTI6UT1bMjUsUS02MTQ1LDExXTticmVhaztjYXNlIFE8PTEyMjg4OlE9WzI2LFEtODE5MywxMl07YnJlYWs7Y2FzZSBRPD0xNjM4NDpRPVsyNyxcblEtMTIyODksMTJdO2JyZWFrO2Nhc2UgUTw9MjQ1NzY6UT1bMjgsUS0xNjM4NSwxM107YnJlYWs7Y2FzZSBRPD0zMjc2ODpRPVsyOSxRLTI0NTc3LDEzXTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKFwibWlcIik7fVBbM109UVswXTtQWzRdPVFbMV07UFs1XT1RWzJdO3ZhciBVO1E9MDtmb3IoVT1QLmxlbmd0aDtRPFU7KytRKWxbbisrXT1QW1FdO3RbUFswXV0rKzt1W1BbM11dKys7cj1GLmxlbmd0aCtLLTE7az1udWxsfXZhciBkLGUsZixnLGg9e30sayxsPXlDP25ldyBVaW50MTZBcnJheShiLmxlbmd0aCoyKTpbXSxuPTAscj0wLHQ9bmV3ICh5Qz9VaW50MzJBcnJheTpBcnJheSkoMjg2KSx1PW5ldyAoeUM/VWludDMyQXJyYXk6QXJyYXkpKDMwKSx6PWEubGF6eTtpZigheUMpe2ZvcihlPTA7ZTw9Mjg1Oyl0W2UrK109MDtmb3IoZT0wO2U8PTI5Oyl1W2UrK109MH10WzI1Nl09MTt2YXIgQj0wO2ZvcihkPWIubGVuZ3RoO0I8ZDsrK0Ipe2U9Zz0wO2ZvcihmPTM7ZTxmJiZCK2UhPT1kOysrZSlnPVxuZzw8OHxiW0IrZV07aFtnXT09PXZvaWQgMCYmKGhbZ109W10pO2U9aFtnXTtpZihyLS0gPjApZS5wdXNoKEIpO2Vsc2V7Zm9yKDtlLmxlbmd0aD4wJiZCLWVbMF0+MzI3Njg7KWUuc2hpZnQoKTtpZihCKzM+PWQpe2smJmMoaywtMSk7ZT0wO2ZvcihmPWQtQjtlPGY7KytlKWc9YltCK2VdLGxbbisrXT1nLCsrdFtnXTticmVha31lLmxlbmd0aD4wPyhmPUNWYyhiLEIsZSksaz9rLmxlbmd0aDxmLmxlbmd0aD8oZz1iW0ItMV0sbFtuKytdPWcsKyt0W2ddLGMoZiwwKSk6YyhrLC0xKTpmLmxlbmd0aDx6P2s9ZjpjKGYsMCkpOms/YyhrLC0xKTooZz1iW0JdLGxbbisrXT1nLCsrdFtnXSk7ZS5wdXNoKEIpfX1sW24rK109MjU2O3RbMjU2XSsrO2EuQ2E9dDthLkJhPXU7cmV0dXJuIHlDP2wuc3ViYXJyYXkoMCxuKTpsfSxDVmM9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPTAsZT1hLmxlbmd0aDt2YXIgZj0wO3ZhciBnPWMubGVuZ3RoO2E6Zm9yKDtmPGc7ZisrKXt2YXIgaD1jW2ctZi0xXTt2YXIgaz1cbjM7aWYoZD4zKXtmb3Ioaz1kO2s+MztrLS0paWYoYVtoK2stMV0hPT1hW2Iray0xXSljb250aW51ZSBhO2s9ZH1mb3IoO2s8MjU4JiZiK2s8ZSYmYVtoK2tdPT09YVtiK2tdOykrK2s7aWYoaz5kKXt2YXIgbD1oO2Q9a31pZihrPT09MjU4KWJyZWFrfXJldHVybiBuZXcgelZjKGQsYi1sKX0seFZjPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5sZW5ndGgsZD1uZXcgdFZjLGU9bmV3ICh5Qz9VaW50OEFycmF5OkFycmF5KShjKSxmO2lmKCF5Qylmb3IoZj0wO2Y8YztmKyspZVtmXT0wO2ZvcihmPTA7ZjxjOysrZilhW2ZdPjAmJmQucHVzaChmLGFbZl0pO2E9QXJyYXkoZC5sZW5ndGgvMik7dmFyIGc9bmV3ICh5Qz9VaW50MzJBcnJheTpBcnJheSkoZC5sZW5ndGgvMik7aWYoYS5sZW5ndGg9PT0xKXJldHVybiBlW2QucG9wKCkuaW5kZXhdPTEsZTtmPTA7Zm9yKGM9ZC5sZW5ndGgvMjtmPGM7KytmKWFbZl09ZC5wb3AoKSxnW2ZdPWFbZl0udmFsdWU7Yj1EVmMoZyxnLmxlbmd0aCxiKTtmPTA7Zm9yKGM9XG5hLmxlbmd0aDtmPGM7KytmKWVbYVtmXS5pbmRleF09YltmXTtyZXR1cm4gZX0sRFZjPWZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKHope3ZhciBCPWtbel1bbFt6XV07Qj09PWI/KGQoeisxKSxkKHorMSkpOi0tZ1tCXTsrK2xbel19dmFyIGU9bmV3ICh5Qz9VaW50MTZBcnJheTpBcnJheSkoYyksZj1uZXcgKHlDP1VpbnQ4QXJyYXk6QXJyYXkpKGMpLGc9bmV3ICh5Qz9VaW50OEFycmF5OkFycmF5KShiKSxoPUFycmF5KGMpLGs9QXJyYXkoYyksbD1BcnJheShjKSxuPSgxPDxjKS1iLHI9MTw8Yy0xLHQ7ZVtjLTFdPWI7Zm9yKHQ9MDt0PGM7Kyt0KW48cj9mW3RdPTA6KGZbdF09MSxuLT1yKSxuPDw9MSxlW2MtMi10XT0oZVtjLTEtdF0vMnwwKStiO2VbMF09ZlswXTtoWzBdPUFycmF5KGVbMF0pO2tbMF09QXJyYXkoZVswXSk7Zm9yKHQ9MTt0PGM7Kyt0KWVbdF0+MiplW3QtMV0rZlt0XSYmKGVbdF09MiplW3QtMV0rZlt0XSksaFt0XT1BcnJheShlW3RdKSxrW3RdPUFycmF5KGVbdF0pO1xuZm9yKG49MDtuPGI7KytuKWdbbl09Yztmb3Iocj0wO3I8ZVtjLTFdOysrciloW2MtMV1bcl09YVtyXSxrW2MtMV1bcl09cjtmb3Iobj0wO248YzsrK24pbFtuXT0wO2ZbYy0xXT09PTEmJigtLWdbMF0sKytsW2MtMV0pO2Zvcih0PWMtMjt0Pj0wOy0tdCl7Yz1uPTA7dmFyIHU9bFt0KzFdO2ZvcihyPTA7cjxlW3RdO3IrKyljPWhbdCsxXVt1XStoW3QrMV1bdSsxXSxjPmFbbl0/KGhbdF1bcl09YyxrW3RdW3JdPWIsdSs9Mik6KGhbdF1bcl09YVtuXSxrW3RdW3JdPW4sKytuKTtsW3RdPTA7Zlt0XT09PTEmJmQodCl9cmV0dXJuIGd9LHlWYz1mdW5jdGlvbihhKXt2YXIgYj1uZXcgKHlDP1VpbnQxNkFycmF5OkFycmF5KShhLmxlbmd0aCksYz1bXSxkPVtdLGU9MCxmLGc7dmFyIGg9MDtmb3IoZj1hLmxlbmd0aDtoPGY7aCsrKWNbYVtoXV09KGNbYVtoXV18MCkrMTtoPTE7Zm9yKGY9MTY7aDw9ZjtoKyspZFtoXT1lLGUrPWNbaF18MCxlPDw9MTtoPTA7Zm9yKGY9YS5sZW5ndGg7aDxmO2grKylmb3IoZT1cbmRbYVtoXV0sZFthW2hdXSs9MSxjPWJbaF09MCxnPWFbaF07YzxnO2MrKyliW2hdPWJbaF08PDF8ZSYxLGU+Pj49MTtyZXR1cm4gYn07Xy5FVmM9ZnVuY3Rpb24oYSl7dGhpcy5pbnB1dD1hO3RoaXMub3A9dGhpcy5pcD0wO3RoaXMuZmxhZ3M9e307dGhpcy5BYXx8KHRoaXMuQWE9e30pfTtcbl8uRVZjLnByb3RvdHlwZS5vYT1mdW5jdGlvbigpe3ZhciBhLGI9bmV3ICh5Qz9VaW50OEFycmF5OkFycmF5KSgzMjc2OCk7dmFyIGM9MDt2YXIgZD10aGlzLmlucHV0LGU9dGhpcy5pcDt2YXIgZj10aGlzLmZpbGVuYW1lO3ZhciBnPXRoaXMuY29tbWVudDtiW2MrK109MzE7YltjKytdPTEzOTtiW2MrK109ODt2YXIgaD0wO3RoaXMuZmxhZ3MuZm5hbWUmJihofD04KTt0aGlzLmZsYWdzLmZjb21tZW50JiYoaHw9MTYpO3RoaXMuZmxhZ3MuZmhjcmMmJihofD0yKTtiW2MrK109aDtoPShEYXRlLm5vdz9EYXRlLm5vdygpOituZXcgRGF0ZSkvMUUzfDA7YltjKytdPWgmMjU1O2JbYysrXT1oPj4+OCYyNTU7YltjKytdPWg+Pj4xNiYyNTU7YltjKytdPWg+Pj4yNCYyNTU7YltjKytdPTA7YltjKytdPTI1NTtpZih0aGlzLmZsYWdzLmZuYW1lIT09dm9pZCAwKXt2YXIgaz0wO2ZvcihhPWYubGVuZ3RoO2s8YTsrK2spaD1mLmNoYXJDb2RlQXQoayksaD4yNTUmJihiW2MrK109aD4+PjgmMjU1KSxcbmJbYysrXT1oJjI1NTtiW2MrK109MH1pZih0aGlzLmZsYWdzLmNvbW1lbnQpe2s9MDtmb3IoYT1nLmxlbmd0aDtrPGE7KytrKWg9Zy5jaGFyQ29kZUF0KGspLGg+MjU1JiYoYltjKytdPWg+Pj44JjI1NSksYltjKytdPWgmMjU1O2JbYysrXT0wfXRoaXMuZmxhZ3MuZmhjcmMmJihmPWpWYyhiLDAsYykmNjU1MzUsYltjKytdPWYmMjU1LGJbYysrXT1mPj4+OCYyNTUpO3RoaXMuQWEub3V0cHV0QnVmZmVyPWI7dGhpcy5BYS5vdXRwdXRJbmRleD1jO2M9bmV3IHVWYyhkLHRoaXMuQWEpO2I9Yy5vYSgpO2M9Yy5vcDt5QyYmKGMrOD5iLmJ1ZmZlci5ieXRlTGVuZ3RoPyh0aGlzLm91dHB1dD1uZXcgVWludDhBcnJheShjKzgpLHRoaXMub3V0cHV0LnNldChuZXcgVWludDhBcnJheShiLmJ1ZmZlcikpLGI9dGhpcy5vdXRwdXQpOmI9bmV3IFVpbnQ4QXJyYXkoYi5idWZmZXIpKTtmPWpWYyhkKTtiW2MrK109ZiYyNTU7YltjKytdPWY+Pj44JjI1NTtiW2MrK109Zj4+PjE2JjI1NTtiW2MrK109Zj4+PlxuMjQmMjU1O2E9ZC5sZW5ndGg7YltjKytdPWEmMjU1O2JbYysrXT1hPj4+OCYyNTU7YltjKytdPWE+Pj4xNiYyNTU7YltjKytdPWE+Pj4yNCYyNTU7dGhpcy5pcD1lO3lDJiZjPGIubGVuZ3RoJiYodGhpcy5vdXRwdXQ9Yj1iLnN1YmFycmF5KDAsYykpO3JldHVybiBifTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5oVmM9Xy5HZChcIldvM244XCIsW18uWVJjLF8uaVRjLF8uZlZjXSk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uTlNjPWZ1bmN0aW9uKGEpe18uTWsod2luZG93LFwib0VkZUhmXCIse3oxYjphfSl9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJXbzNuOFwiKTtcbnZhciBGVmM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5PaShhLDI4LGIpfSxHVmM9ZnVuY3Rpb24oYSxiKXthLm9hPWJ9LEhWYz1mdW5jdGlvbihhKXt2YXIgYj1fLlBuKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCk7Yi5maW5kKFwiW2pzbmFtZT11WmtqaGJdXCIpLnJlbW92ZSgpO2EuVmdhPXt5UWQ6bmV3IEJsb2IoW2IuZWwoKS5pbm5lckhUTUxdLHt0eXBlOlwidGV4dC9odG1sXCJ9KSxoMGE6d2luZG93LmlubmVyV2lkdGgsZjBhOndpbmRvdy5pbm5lckhlaWdodH19O3ZhciBSVmM9ZnVuY3Rpb24oYSl7dGhpcy5IYT1fLnAoYSl9O18uRChSVmMsXy5xKTt2YXIgU1ZjPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uWmgoYSwxLF8ud0MsYil9O1JWYy5vYj1bMV07dmFyIEFDPWZ1bmN0aW9uKGEpe18uQy5jYWxsKHRoaXMsYS5OYSk7dGhpcy5BYT10aGlzLk1hKFwiR2tqZUlmXCIpLmVsKCk7dGhpcy5rYj1fLlpuKHRoaXMsXCJoVUV3MWRcIikuZWwoKTt0aGlzLlJhPXRoaXMuZ2V0RGF0YShcImVhc1wiKS5QYigpO3RoaXMuTGE9dGhpcy5nZXREYXRhKFwiZmhzXCIpLlBiKCl8fF8uRVNjKHRoaXMuZ2V0Um9vdCgpKTt0aGlzLndiPXRoaXMuZ2V0RGF0YShcInNwc1wiKS5QYigpO3RoaXMuQ2E9MDt0aGlzLkJhPXZvaWQgMDt0aGlzLkdhPXRoaXMuZ2V0RGF0YShcImRzdFwiKS5QYigpO3RoaXMub2E9ITE7dGhpcy5tb2RlbD1hLm1vZGVsLnJlcG9ydDt2YXIgYjt0aGlzLmRhdGE9KChiPWEuQWUpPT1udWxsP3ZvaWQgMDpiLnNmYSl8fF8uQ0FhKHRoaXMuZ2V0RGF0YShcIm1haW5kYXRhXCIpLF8uc0MpO3RoaXMueF89YS5zZXJ2aWNlLnhfO3RoaXMuVGNjPWEuc2VydmljZS5UY2M7dGhpcy5pbml0aWFsaXplKCl9O18uRChBQyxfLkMpO1xuQUMuSWE9ZnVuY3Rpb24oKXtyZXR1cm57bW9kZWw6e3JlcG9ydDpfLnFDfSxBZTp7c2ZhOl8uc0N9LHNlcnZpY2U6e3hfOl8uTlVjLFRjYzpfLmdWY319fTtfLm09QUMucHJvdG90eXBlO18ubS5pbml0aWFsaXplPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcyxiPXRoaXMubW9kZWwuZ2V0U3RhdGUoKTtiLmZrYigpJiZiLnFTYigpPT09Xy5HZSh0aGlzLmRhdGEsNCk/KF8uRlNjKGIsXCJSZXN0b3JlIHN0YXRlIG9uIHBhZ2UgcmVmcmVzaFwiKSxiPWZ1bmN0aW9uKCl7dmFyIGM9YS5tb2RlbDtjLm5vdGlmeShfLkJtYyxjLk1nLmdldCgpKX0sVFZjKHRoaXMsdGhpcy5kYXRhKS50aGVuKGIsYikpOl8udmkodGhpcy5kYXRhLDUpIT09MXx8Xy51aSh0aGlzLmRhdGEsNSwwKSE9PVwiU0hPUFBJTkdcInx8Xy50aih0aGlzLmRhdGEsNikmJl8udUModGhpcy5kYXRhKSE9PTEmJl8udUModGhpcy5kYXRhKSE9PTB8fF8uaVNjKHRoaXMuZGF0YSw0KX07XG5fLm0uUnhjPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7aWYodGhpcy5SYSl7dmFyIGM9KG5ldyBfLnJDKS5oaWIoXy5laSh0aGlzLmRhdGEsMTIpKS5naWIoXy5HZSh0aGlzLmRhdGEsMTMpKTtfLmFWYyh0aGlzLnhfLGEuZGF0YSxjLHRoaXMuZ2V0RGF0YShcImJ0b2dcIikuUGIoKSxmdW5jdGlvbihkKXtyZXR1cm4gVVZjKGIsZCl9LHRoaXMuZ2V0RGF0YShcImVhdVwiKS5QYigpKS50aGVuKGZ1bmN0aW9uKCl7fSl9ZWxzZSBjPWZ1bmN0aW9uKCl7Yi5ub3RpZnkoXy5GbWMsYS5kYXRhKX0sVFZjKHRoaXMsdGhpcy5kYXRhKS50aGVuKGMsYyl9O18ubS5IbGQ9ZnVuY3Rpb24oYSl7cmV0dXJuIFVWYyh0aGlzLGEuZGF0YSl9O18ubS5UeGM9ZnVuY3Rpb24oYSl7YT1hLmRhdGE/Xy5WYihfLnNDLGEuZGF0YSk6bmV3IF8uc0M7VlZjKHRoaXMsYSl9O18ubS5TeGM9ZnVuY3Rpb24oYSl7VlZjKHRoaXMsYS5kYXRhKX07XG52YXIgVlZjPWZ1bmN0aW9uKGEsYil7aWYoYi5TdygpIT09YS5kYXRhLlN3KCkpe2lmKGEuZGF0YS5TdygpIT09XCJnbGJsXCJ8fGEuQmEhPT1iLlN3KCkpYS5ub3RpZnkoXy5CbWMsbmV3IF8ucEMpLF8uSEliKGEuQWEpLGEub2E9ITF9ZWxzZSBfLkdpKGIsMTEpPT09Mz9XVmMoYSxiKTpYVmMoYSxiKX0sWFZjPWZ1bmN0aW9uKGEsYil7YS5vYT0hMDtZVmMmJkhWYyhhLm1vZGVsKTtHVmMoYS54XyxmdW5jdGlvbihnKXtyZXR1cm4gWlZjKFNWYyhuZXcgUlZjLGcpKX0pO3ZhciBjPV8uclNjKGEuZGF0YS5jbG9uZSgpLGIpO2I9Xy5FaShjLDI3KXx8bnVsbDthLmdldFJvb3QoKS5zZXREYXRhKFwicHJveHlcIixiKTtpZihiKXtiPV8uSWkoYywxMil8fDA7Yj1iPjA/Yi50b1N0cmluZygpOm51bGw7dmFyIGQ9Xy5FaShjLDEzKXx8bnVsbDthLmdldFJvb3QoKS5zZXREYXRhKFwicGlkXCIsYik7YS5nZXRSb290KCkuc2V0RGF0YShcImJrdFwiLGQpfXZhciBlPV8uR2koYyw2KXx8MSxmPV8uR2koYywyMCl8fFxuMDtiPWEuZ2V0Um9vdCgpLmdldERhdGEoXCJjZG9jXCIpLlBiKCl8fF8uSGkoYywyNik/XCJcIjpudWxsO2EuZ2V0Um9vdCgpLnNldERhdGEoXCJjZG9jXCIsYik7Yj1mdW5jdGlvbigpe3ZhciBnLGg9Xy5YUmMoXy5aUmMobmV3IF8ucEMsMSkuZUFhKF8uR2UoYyw0KSkuT2JhKGUpLlhvYShfLkVpKGMsNyl8fFwiXCIpLGYpLnNldEF0dHJpYnV0ZShfLkVpKGMsMTUpKS5mQWEoKGc9Xy5JaShjLDE4KSk9PW51bGw/dm9pZCAwOmcudG9TdHJpbmcoKSkuTm5hKF8udihjLF8ub0MsMTQpKTtfLkdpKGMsNikhPT01JiZfLkdpKGMsNikhPT0xNyYmXy5HaShjLDYpO2lmKF8ubWooYyw4KSl7Zz1fLlRoKGgsXy5vQywxOSk7dmFyIGs9Xy5JaShjLDgpO18uT2koZywxNixrKX1fLlZlKGMsMjUpJiYoZz1fLlRoKGgsXy5vQywxOSksaz1fLkVpKGMsMjUpLF8uRGUoZywxOSxrKSk7Xy52dmEoYywyMikmJmgueFlhKF8uSmEoXy5FQWMoXy52dmEoYywyMikpLDQpKTtpZihhLndifHxfLkhpKGMsMjQpKXtnPV8ub1NjKGEuZ2V0Um9vdCgpKS5maXJzdCgpO1xuaz1fLnZDKGcsXCJ2ZWRcIik7dmFyIGw9bmV3IF8uckM7dmFyIG49Xy5FaShjLDMpO2w9Xy5EZShsLDMsbik7bj1fLkVpKGMsMik7bD1fLkRlKGwsMixuKTtoPV8ud1NjKGgsbCxrKS5mTGEoXy54U2MoXy5wZyhnKSkudHJpbSgpKX1hLm1vZGVsLlBoKGgsITEsYS5HYSl9O1RWYyhhLGMpLnRoZW4oYixiKX0sV1ZjPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5yU2MoYS5kYXRhLGIpO2I9ZnVuY3Rpb24oKXthLm5vdGlmeShfLkNtYyxjKX07VFZjKGEsYykudGhlbihiLGIpfTtBQy5wcm90b3R5cGUuUWE9ZnVuY3Rpb24oYSl7YT1hLmRhdGE/Xy5WYihfLnNDLGEuZGF0YSk6bmV3IF8uc0M7JFZjKHRoaXMsYSl9O0FDLnByb3RvdHlwZS5PYT1mdW5jdGlvbihhKXskVmModGhpcyxhLmRhdGEpfTtcbnZhciAkVmM9ZnVuY3Rpb24oYSxiKXt2YXIgYzsoYj09bnVsbD8wOmIuU3coKSkmJigoYz1hLmRhdGEpPT1udWxsPzA6Yy5TdygpKSYmKGI9PW51bGw/dm9pZCAwOmIuU3coKSkhPT1hLmRhdGEuU3coKXx8KGEuTGE/YS5tb2RlbC5nb0JhY2sobmV3IF8ucEMpOmEubW9kZWwuUGgobmV3IF8ucEMsITEpLGEub2EmJihfLk5TYyhcImZlXCIpLGEub2E9ITEpKX07QUMucHJvdG90eXBlLlVhPWZ1bmN0aW9uKCl7dGhpcy5nZXRSb290KCkudG9nZ2xlQ2xhc3MoXCJPdnN5SWRcIiwhMSk7Xy5OU2MoXCJkb1wiKX07QUMucHJvdG90eXBlLmhiPWZ1bmN0aW9uKCl7dGhpcy5nZXRSb290KCkudG9nZ2xlQ2xhc3MoXCJPdnN5SWRcIiwhMCk7Xy5OU2MoXCJkY1wiKTtfLk5TYyhcImZlXCIpO3RoaXMub2E9ITF9O1xudmFyIGJXYz1mdW5jdGlvbihhLGIpe3ZhciBjPW5ldyBNYXA7Yy5zZXQoXCJrcGZiYXV0aFwiLF8uSGkoYSwxKT09PSEwP1wiMVwiOlwiMFwiKTtjLnNldChcImtwZmJ2ZXJ0aWNhbGlkXCIsXy50aShhLDUsXy5TZSgpKS5qb2luKFwiLFwiKSk7Xy5WZShhLDIpJiZjLnNldChcImtwZmJlbnRpdHlcIixfLkVpKGEsMil8fFwiXCIpO18uVmUoYSwzKSYmYy5zZXQoXCJrcGZiZW50aXR5bmFtZVwiLF8uRWkoYSwzKXx8XCJcIik7Xy5WZShhLDkpJiZjLnNldChcImtwZmJvc3JwdWl2ZXJ0aWNhbFwiLF8uRWkoYSw5KXx8XCJcIik7Xy5WZShhLDEwKSYmYy5zZXQoXCJobFwiLF8uRWkoYSwxMCl8fFwiZW5cIik7YiYmYy5zZXQoXCJrcGZiZnR5cGVcIixiLnRvU3RyaW5nKCkpO3JldHVybiBjfSxUVmM9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLkdpKGIsNil8fDEsZD1iV2MoYixjKTtiPV8uRWkoYiwyNyk7aWYoYS5DYSE9PWN8fGImJmEuQmEhPT1iKXJldHVybiBhLkNhPWMsYS5CYT1iLF8uS3coYS5BYSx7d2c6ZH0pO2EuQ2E9YzthLkJhPWI7cmV0dXJuIF8uQkliKGEuQWEsXG57d2c6ZH0pfSxVVmM9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLm5VYyhGVmMoXy5mVGMoXy5jVWMoXy5lVGMoXy5kVGMobmV3IF8ud0MsXy5HZShhLmRhdGEsMikpLGEuZGF0YS5sQSgpKS5zZXRBdHRyaWJ1dGUoYS5kYXRhLmdldEF0dHJpYnV0ZSgpKSxfLnRpKGEuZGF0YSw1LF8uU2UoKSkpLF8uZWkoYS5kYXRhLDE4KSksXy5laShhLmRhdGEsOCkpLF8udihhLmRhdGEsXy5vQywxNCkpO2M9U1ZjKFNWYyhuZXcgUlZjLGMpLGIpO2M9YldjKGEuZGF0YSxfLkdpKGEuZGF0YSw2KSkuc2V0KFwia2VmYlwiLFpWYyhjKSk7dmFyIGQsZTsoYj0oZD1fLnYoYixfLm9DLDMyKSk9PW51bGw/dm9pZCAwOihlPV8udihkLF8ub1VjLDQpKT09bnVsbD92b2lkIDA6Xy5FaShlLDEpKSYmYy5zZXQoXCJtc3RrXCIsYik7dmFyIGY7ZD0oZj1hLmtiKSE9bnVsbD9mOmEuQWE7YT1mdW5jdGlvbigpe307Xy5LdyhkLHt3ZzpjfSkudGhlbihhLGEpO3JldHVybiEwfSxaVmM9ZnVuY3Rpb24oYSl7YT1hLldjKCk7YT0obmV3IFRleHRFbmNvZGVyKS5lbmNvZGUoYSk7XG5hPShuZXcgXy5FVmMoYSkpLm9hKCk7cmV0dXJuIF8uSmEoYSw0KX07Xy5MKEFDLnByb3RvdHlwZSxcIkt5eGpDZFwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaGJ9KTtfLkwoQUMucHJvdG90eXBlLFwiQ3FVR3JmXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5VYX0pO18uTChBQy5wcm90b3R5cGUsXCJoUndTZ2JcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLk9hfSk7Xy5MKEFDLnByb3RvdHlwZSxcInM1Q1VpZlwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUWF9KTtfLkwoQUMucHJvdG90eXBlLFwiTWxQMmplXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5TeGN9KTtfLkwoQUMucHJvdG90eXBlLFwiRmJoUkdcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLlR4Y30pO18uTChBQy5wcm90b3R5cGUsXCJuYWE1dmVcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLkhsZH0pO18uTChBQy5wcm90b3R5cGUsXCJVaERVbmRcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLlJ4Y30pO3ZhciBZVmM9Xy51U2M7Xy5wcihfLmhWYyxBQyk7XG5cbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLlZLYj1fLkdkKFwibG9MOHZiXCIsW18uQW5dKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwibG9MOHZiXCIpO1xudmFyIFdLYj1fLkooXCJKcUlDNlwiKTtfLlhLYj1fLkooXCJmajFyMWRcIik7Xy5ZS2I9Xy5KKFwiZHBMYk1iXCIpO18uWktiPWZ1bmN0aW9uKGEpe18uRG4uY2FsbCh0aGlzLGEuTmEpO3RoaXMuZG9jdW1lbnQ9YS5zZXJ2aWNlLndpbmRvdy5BZigpfTtfLkQoXy5aS2IsXy5Ebik7Xy5aS2IuV2E9Xy5Ebi5XYTtfLlpLYi5JYT1mdW5jdGlvbigpe3JldHVybntzZXJ2aWNlOnt3aW5kb3c6Xy5Fbn19fTtfLiRLYj1mdW5jdGlvbihhLGIpe18ubWYoYS5kb2N1bWVudCxXS2Ise3NvdXJjZUV2ZW50OmIsc291cmNlVHlwZTo0fSl9O18uRm4oXy5WS2IsXy5aS2IpO1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uZ0xiPWZ1bmN0aW9uKGEpe3RoaXMub2E9YX07dmFyIGhMYj1mdW5jdGlvbihhKXt0aGlzLm9hPWF9O18uRChoTGIsXy5nTGIpO2hMYi5wcm90b3R5cGUuZ2V0VHlwZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9hLnhhfTtfLmlMYj1mdW5jdGlvbihhKXt0aGlzLm9hPWF9O18uRChfLmlMYixfLmdMYik7Xy5tPV8uaUxiLnByb3RvdHlwZTtfLm0ubGlzdGVuPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPXRoaXM7cmV0dXJuIHRoaXMub2EuemEoYSxmdW5jdGlvbihmKXtyZXR1cm4gYi5jYWxsKGR8fF8uYmEsbmV3IGhMYihmLGUpKX0sYyl9O18ubS5saXN0ZW5PbmNlPWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoXCJQZlwiKTt9O18ubS51bmxpc3Rlbj1mdW5jdGlvbigpe3Rocm93IEVycm9yKFwiUGZcIik7fTtfLm0uS289ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcihcIlBmXCIpO307Xy5tLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcihcIlBmXCIpO307Xy5tLnJlbW92ZUFsbExpc3RlbmVycz1mdW5jdGlvbigpe3Rocm93IEVycm9yKFwiUGZcIik7fTtfLm0ubnRhPWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoXCJQZlwiKTt9O18ubS5zRGE9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcihcIlBmXCIpO307XG5fLm0uTzQ9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcihcIlBmXCIpO307Xy5tLllEYT1mdW5jdGlvbigpe3Rocm93IEVycm9yKFwiUGZcIik7fTtfLm0uaGFzTGlzdGVuZXI9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcihcIlBmXCIpO307Xy5pTGIucHJvdG90eXBlW18uRndhXT0hMDtfLmpMYj1mdW5jdGlvbihhLGIpe3RoaXMub2E9YTt0aGlzLkFhPWJ8fG51bGx9O18uRChfLmpMYixfLmdMYik7Xy5qTGIucHJvdG90eXBlLnRoZW49ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO2EmJihkPWtMYih0aGlzLGEpKTt0aGlzLm9hLmFhKGQsYixjKX07dmFyIGtMYj1mdW5jdGlvbihhLGIpe3ZhciBjPWEuQWE7cmV0dXJuIGM/ZnVuY3Rpb24oZCl7Yi5jYWxsKHRoaXMsbmV3IGMoZCkpfTpifTtfLmxMYj1mdW5jdGlvbihhKXt0aGlzLm9hPWF8fGdiYXIuYTt0aGlzLkFhPW51bGx9O18uRChfLmxMYixfLmdMYik7Xy5sTGIuZ2V0SW5zdGFuY2U9ZnVuY3Rpb24oKXtyZXR1cm4gXy5IZihfLmxMYil9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLmZMYj1fLkdkKFwibXM0bVpiXCIsW18uVktiLF8uYnFdKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIGFMYj1be25hbWU6XCJwYnJ0XCIsc3RhcnRUaWNrOlwic3RhcnRcIix6UDpcInBicnRcIn0se25hbWU6XCJwY3J0XCIsc3RhcnRUaWNrOlwic3RhcnRcIix6UDpcInBjcnRcIn0se25hbWU6XCJwdHJ0XCIsc3RhcnRUaWNrOlwic3RhcnRcIix6UDpcInB0cnRcIn0se25hbWU6XCJjcGl0XCIsc3RhcnRUaWNrOlwic3RhcnRcIix6UDpcImNwaXRcIn0se25hbWU6XCJjcHBjdFwiLHN0YXJ0VGljazpcImNwcGl0XCIselA6XCJjcHBjdFwifSx7bmFtZTpcImNwcnRcIixzdGFydFRpY2s6XCJjcGl0XCIselA6XCJjcHJ0XCJ9LHtuYW1lOlwiY3Bpc3RcIixzdGFydFRpY2s6XCJjcGl0XCIselA6XCJjcGlzdFwifSx7bmFtZTpcImNwcnRpZlwiLHN0YXJ0VGljazpcImNwaXN0XCIselA6XCJjcHJ0aWZcIn0se25hbWU6XCJjcGljdFwiLHN0YXJ0VGljazpcImNwcnRpZlwiLHpQOlwiY3BydFwifSx7bmFtZTpcImNwZHRcIixzdGFydFRpY2s6XCJjcHJ0XCIselA6XCJjcGR0XCJ9LHtuYW1lOlwiY3BqY3RcIixzdGFydFRpY2s6XCJjcGR0XCIselA6XCJjcGpjdFwifSx7bmFtZTpcImhwYmFzXCIsc3RhcnRUaWNrOlwic3RhcnRcIixcbnpQOlwiaHBiYXNcIn0se25hbWU6XCJocGJhcnJcIixzdGFydFRpY2s6XCJocGJhc1wiLHpQOlwiaHBiYXJyXCJ9LHtuYW1lOlwiYXBidHJ0XCIsc3RhcnRUaWNrOlwic3RhcnRcIix6UDpcImFwYnRydFwifSx7bmFtZTpcInB1cHJ0XCIsc3RhcnRUaWNrOlwic3RhcnRcIix6UDpcInB1cHJ0XCJ9XTt2YXIgYkxiPWZ1bmN0aW9uKCl7Z29vZ2xlLnRpY2soXCJwcm9tb1wiLFwic3RhcnRcIix0aGlzLmdldFN0YXJ0VGltZSgpKX0sY0xiO2JMYi5wcm90b3R5cGUuZ2V0VGltZXI9ZnVuY3Rpb24oKXtyZXR1cm4gZ29vZ2xlLnRpbWVycy5wcm9tb307YkxiLnByb3RvdHlwZS5yZWNvcmRDaGVja3BvaW50PWZ1bmN0aW9uKGEsYil7aWYodGhpcy5nZXRUaW1lcigpKXt2YXIgYz10aGlzLmdldFRpbWVyKCkudDthIGluIGN8fGdvb2dsZS50aWNrKFwicHJvbW9cIixhLGIpfWVsc2UgZ29vZ2xlLnRpY2soXCJwcm9tb1wiLGEsYil9O2JMYi5wcm90b3R5cGUuZ2V0U3RhcnRUaW1lPWZ1bmN0aW9uKCl7dmFyIGEsYixjPSgoYj0oYT1wZXJmb3JtYW5jZSkuZ2V0RW50cmllc0J5VHlwZSk9PW51bGw/dm9pZCAwOmIuY2FsbChhLFwibmF2aWdhdGlvblwiKSl8fFtdO3JldHVybiBjLmxlbmd0aD4wP2NbMF0ucmVzcG9uc2VTdGFydCtwZXJmb3JtYW5jZS50aW1lT3JpZ2luOi0xfTtfLmRMYj1mdW5jdGlvbigpe2E6e2lmKCFjTGIpe3ZhciBhPWdvb2dsZS50aWNrP2dvb2dsZS50aW1lcnM/e3Jlc3VsdDohMH06e3Jlc3VsdDohMSxyZWFzb246XCJnb29nbGUudGltZXJzIGlzIHVuaW5pdGlhbGl6ZWQuXCJ9OntyZXN1bHQ6ITEscmVhc29uOlwiZ29vZ2xlLnRpY2sgaXMgdW5pbml0aWFsaXplZC5cIn07dmFyIGI9YS5yZWFzb247aWYoIWEucmVzdWx0KXtfLmlkKEVycm9yKFwiT2ZgXCIrYikpO2E9bnVsbDticmVhayBhfWNMYj1uZXcgYkxifWE9Y0xifXRoaXMub2E9YX07XG5fLlB3PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1kfHxhTGI7dmFyIGU9ZUxiKGEub2EuZ2V0VGltZXIoKSxkKTthLnJlY29yZENoZWNrcG9pbnQoYixjKTtiPWVMYihhLm9hLmdldFRpbWVyKCksZCk7aWYoZS5zaXplIT09Yi5zaXplJiYoZT1kLGEub2EmJihkPW5ldyBfLlFuKFwicHJvbW9cIixcImNzaVwiLG5ldyBfLmRuKSxlPWV8fGFMYixhPWI9Ynx8ZUxiKGEub2EuZ2V0VGltZXIoKSxlKSxhLnNpemUhPT0wKSkpe2E9Xy5QYShhKTtmb3IoZT1hLm5leHQoKTshZS5kb25lO2U9YS5uZXh0KCkpYj1fLlBhKGUudmFsdWUpLGU9Yi5uZXh0KCkudmFsdWUsYj1iLm5leHQoKS52YWx1ZSxkLk9EKGUsYik7ZC5sb2coKX19O18uZExiLnByb3RvdHlwZS5yZWNvcmRDaGVja3BvaW50PWZ1bmN0aW9uKGEsYil7dGhpcy5vYSYmdGhpcy5vYS5yZWNvcmRDaGVja3BvaW50KGEsYil9O1xudmFyIGVMYj1mdW5jdGlvbihhLGIpe3ZhciBjPW5ldyBNYXA7YT1hLnQ7aWYoIWEpcmV0dXJuIGM7Yj1fLlBhKGIpO2Zvcih2YXIgZD1iLm5leHQoKTshZC5kb25lO2Q9Yi5uZXh0KCkpaWYoZD1kLnZhbHVlLGQuc3RhcnRUaWNrIGluIGEmJmQuelAgaW4gYSl7dmFyIGU9YVtkLnN0YXJ0VGlja107ZSE9PS0xJiZjLnNldChkLm5hbWUsTWF0aC5yb3VuZChNYXRoLmFicyhlLWFbZC56UF0pKSl9cmV0dXJuIGN9O1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJtczRtWmJcIik7XG52YXIgbUxiPWZ1bmN0aW9uKGEpe3RoaXMub2E9YX07Xy5EKG1MYixfLmlMYik7bUxiLnByb3RvdHlwZS54Yz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9hLnBhKCl9O21MYi5wcm90b3R5cGUuUWk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vYS5wbigpfTt2YXIgbkxiPWZ1bmN0aW9uKGEpe18uQy5jYWxsKHRoaXMsYS5OYSk7dGhpcy5hQT1hLnNlcnZpY2UuYUE7YT1hLnNlcnZpY2Uub2Q7dGhpcy5vYT1uZXcgXy5kTGI7dGhpcy5BYT1hLllpKCl9O18uRChuTGIsXy5DKTtcbm5MYi5wcm90b3R5cGUuRGY9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLGIsYyxkLGUsZixnLGgsaztyZXR1cm4gXy5iaChmdW5jdGlvbihsKXtzd2l0Y2gobC5vYSl7Y2FzZSAxOnJldHVybiBfLlVnKGwsMiksXy5QdyhhLm9hLFwiaHBiYXNcIiksYj1fLlNmKGEuZ2V0RGF0YShcInRvY1wiKSwhMSksYz1fLlNmKGEuZ2V0RGF0YShcImlzaW1naHBcIiksITEpLGQ9Xy5kbShhLmdldERhdGEoXCJlbmRwb2ludFwiKSxcIm92ZXJsYXlcIiksZT1fLlhtKF8uWW0oYS5BYSksXCJzdGlja1wiKXx8XCJcIixmPW5ldyBNYXAsZi5zZXQoXCJpc0ltYWdlSHBcIixjKSxmLnNldChcImV2ZW50SWRcIixfLmptPT1udWxsP3ZvaWQgMDpfLmptLnVCKCkpLGYuc2V0KFwiZW5kcG9pbnRcIixkKSxmLnNldChcInN0aWNrXCIsZSksYj9sLnlpZWxkKF8uS3coYS5nZXRSb290KCkuZWwoKSx7eUo6ITAsZEw6bmV3IF8uQ3coXCJob21lcG9ydF9wcm9tb19iYW5uZXJcIix7cHJpb3JpdHk6XCJ4XCJ9KSxjb250ZXh0OmZ9KSw1KTpsLnlpZWxkKF8uS3coYS5nZXRSb290KCkuZWwoKSxcbnt5SjohMCxjb250ZXh0OmZ9KSw1KTtjYXNlIDU6Xy5QdyhhLm9hLFwiaHBiYXJyXCIpO18uWm4oYSxcIk5sbDBuZVwiKS5pc0VtcHR5KCl8fF8ubWYoYS5hQS5kb2N1bWVudCxfLllLYik7Xy5YZyhsLDMpO2JyZWFrO2Nhc2UgMjpfLllnKGwpLF8ubWYoYS5hQS5kb2N1bWVudCxfLllLYik7Y2FzZSAzOmlmKGc9Xy5TZihhLmdldERhdGEoXCJzb2NcIiksITEpKWg9ZG9jdW1lbnQuYm9keS5xdWVyeVNlbGVjdG9yQWxsKCdbanNuYW1lPVwiUlpQc0tmXCJdJyksXy5abihhLFwiam1NZ2tlXCIpLmlzRW1wdHkoKSYmaC5sZW5ndGg9PT0wJiZfLlpuKGEsXCJtQ2ZFOGNcIikuaXNFbXB0eSgpJiYoaz1fLmxMYi5nZXRJbnN0YW5jZSgpLGsuQWF8fChrLkFhPW5ldyBfLmpMYihrLm9hLmJmKCksbUxiKSksay5BYS50aGVuKGZ1bmN0aW9uKG4pe24ub2EucHEoKX0pKTtfLlNnKGwpfX0pfTtuTGIuSWE9ZnVuY3Rpb24oKXtyZXR1cm57c2VydmljZTp7YUE6Xy5aS2Isb2Q6Xy5RdX19fTtcbl8uTChuTGIucHJvdG90eXBlLFwibnBUMm1kXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5EZn0pO18ucHIoXy5mTGIsbkxiKTtcblxuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uZnNiPV8uR2QoXCJCMnFsUGVcIixbXSk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcIkIycWxQZVwiKTtcbnZhciBnc2I9ZnVuY3Rpb24oYSl7Xy5DLmNhbGwodGhpcyxhLk5hKX07Xy5EKGdzYixfLkMpO2dzYi5JYT1fLkMuSWE7Z3NiLnByb3RvdHlwZS5EZj1mdW5jdGlvbigpe2Zvcih2YXIgYT1fLlpkKFwic1wiLF8uUUVhKSxiPV8uUGEoYSksYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpYz1jLnZhbHVlLGMua2V5LmluY2x1ZGVzKFwiVHdkSUZDXCIpJiYhYy5rZXkuaW5jbHVkZXMoKDAsXy5qbS51QikoKSkmJmEucmVtb3ZlKGMua2V5KX07Xy5MKGdzYi5wcm90b3R5cGUsXCJucFQybWRcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLkRmfSk7Xy5wcihfLmZzYixnc2IpO1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uVUxiPV8uR2QoXCJOelU2VlwiLFtdKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwiTnpVNlZcIik7XG52YXIgV0xiPWZ1bmN0aW9uKGEpe18uQy5jYWxsKHRoaXMsYS5OYSk7dmFyIGI9dGhpcyxjPXRoaXMuZ2V0RGF0YShcInNmZVwiKS5ib29sKCExKTthPXRoaXMuZ2V0RGF0YShcInNmc3dcIikubnVtYmVyKDApO3ZhciBkPTEwLGU9ITEsZj1bXCJwSGlPaFwiLFwiYXl6cU9jXCJdO3RoaXMuZ2V0RGF0YShcIm9mdFwiKS5ib29sKCExKSYmZi5wdXNoKFwidGVzdC1pdGVtXCIpO2lmKGMpe18uSGEoZixmdW5jdGlvbihoKXtyZXR1cm4gXy5IYShfLm5sKGgsYi5nZXRSb290KCkuZWwoKSksZnVuY3Rpb24oayl7dmFyIGw9Xy5ubS52UyhrKTtkKz1rLm9mZnNldFdpZHRoK2wubGVmdCtsLnJpZ2h0fSl9KTtjPV8ubm0udlModGhpcy5nZXRSb290KCkuZWwoKSk7Zj1fLm5tLlM0KHRoaXMuZ2V0Um9vdCgpLmVsKCkpO3ZhciBnPV8ubm0uU2phKHRoaXMuZ2V0Um9vdCgpLmVsKCkpO2QrYy5sZWZ0K2MucmlnaHQrZi5sZWZ0K2YucmlnaHQrZy5sZWZ0K2cucmlnaHQ+YSYmKGU9ITApfXRoaXMub2E9ZT9kOjA7ZSYmKF8uWGQoXy5RZSgpLFxuXCJyZXNpemVcIixmdW5jdGlvbigpe3JldHVybiBWTGIoYil9KSxWTGIodGhpcykpfTtfLkQoV0xiLF8uQyk7V0xiLklhPV8uQy5JYTt2YXIgVkxiPWZ1bmN0aW9uKGEpe18uU0xiKGEuZ2V0Um9vdCgpLmVsKCkpPGEub2E/YS5nZXRSb290KCkuYWRkQ2xhc3MoXCJ3YUxlR2RcIik6YS5nZXRSb290KCkucmVtb3ZlQ2xhc3MoXCJ3YUxlR2RcIil9O18ucHIoXy5VTGIsV0xiKTtcbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLm81Yj1fLkdkKFwiekdMbTNiXCIsW10pO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLmw1Yj1mdW5jdGlvbihhKXtyZXR1cm4gXy5BKGEsMSl9O18ubTViPSEhKF8uZGhbMTFdJjgxOTIpO18ubjViPSEhKF8uZGhbMTFdPj4xNCYxKTtfLmZ5PSEhKF8uZGhbMTFdPj4xNSYxKTtfLmd5PSEhKF8uZGhbMTFdPj4xNiYxKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwiekdMbTNiXCIpO1xudmFyIHA1Yj0hIShfLmRoWzEwXT4+MTcmMSk7dmFyIHE1Yj1uZXcgXy5hbixyNWI9ZnVuY3Rpb24oYSl7Xy5DLmNhbGwodGhpcyxhLk5hKTt2YXIgYj10aGlzO3RoaXMub2E9Xy4kbShxNWIsZnVuY3Rpb24oYyl7cmV0dXJuIG5ldyBjKGIuZ2V0Um9vdCgpKX0pO3RoaXMuQWEoKTt0aGlzLkJhKCl9O18uRChyNWIsXy5DKTtyNWIuSWE9Xy5DLklhO3I1Yi5wcm90b3R5cGUuQWE9ZnVuY3Rpb24oKXtmb3IodmFyIGE9Xy5TZCgpLGI9Xy5QYSh0aGlzLm9hKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSkoYz1jLnZhbHVlLnVjYygpKSYmYS5NYyhjWzBdLGNbMV0pO2EubG9nKCl9O1xucjViLnByb3RvdHlwZS5CYT1mdW5jdGlvbigpe2Zvcih2YXIgYT1cIlwiLGI9Xy5QYSh0aGlzLm9hKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSlpZihjPWMudmFsdWUud2djKCkpYS5sZW5ndGg+MCYmKGErPVwiJlwiKSxhKz1jLmpvaW4oXCI9XCIpO2EubGVuZ3RoPjAmJihhPV8uTWlhKFwiL2NsaWVudF8yMDQ/XCIrYSxuZXcgTWFwLCExLCExKSxiPW5ldyBfLkFxLGIuc2V0V2l0aENyZWRlbnRpYWxzKCEwKSxiLnNlbmQoYSkpfTtfLkwocjViLnByb3RvdHlwZSxcIlpoZER2ZlwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQmF9KTtfLkwocjViLnByb3RvdHlwZSxcImZnQ1Z5Y1wiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQWF9KTtfLnByKF8ubzViLHI1Yik7dmFyIHM1Yj1mdW5jdGlvbihhKXt0aGlzLkFhPXRoaXMub2E9XCIwXCI7dGhpcy5vYT13aW5kb3cubWF0Y2hNZWRpYT93aW5kb3cubWF0Y2hNZWRpYShcIihwcmVmZXJzLWNvbG9yLXNjaGVtZTogbGlnaHQpXCIpLm1hdGNoZXM/XCIxXCI6d2luZG93Lm1hdGNoTWVkaWEoXCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspXCIpLm1hdGNoZXM/XCIyXCI6XCIwXCI6XCIwXCI7dGhpcy5BYT1fLmRtKGEuZ2V0RGF0YShcInBjc1wiKSxcIjBcIil9O3M1Yi5wcm90b3R5cGUudWNjPWZ1bmN0aW9uKCl7dmFyIGE9XCI0XCI7dGhpcy5vYT09PVwiMVwiP2E9XCIyXCI6dGhpcy5vYT09PVwiMlwiJiYoYT1cIjNcIik7cmV0dXJuW1wiZHQxOVwiLGFdfTtzNWIucHJvdG90eXBlLndnYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9hIT09dGhpcy5BYT9bXCJjc1wiLHRoaXMub2FdOm51bGx9O18ubjViJiZfLmJuKHE1YixzNWIpO3ZhciB0NWI9ZnVuY3Rpb24oYSl7dGhpcy5BYT10aGlzLm9hPVwiMFwiO3RoaXMub2E9d2luZG93Lm1hdGNoTWVkaWEmJih3aW5kb3cubWF0Y2hNZWRpYShcIihwcmVmZXJzLXJlZHVjZWQtbW90aW9uKVwiKS5tYXRjaGVzfHx3aW5kb3cubWF0Y2hNZWRpYShcIihwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpXCIpLm1hdGNoZXMpP1wiMVwiOlwiMFwiO3RoaXMuQWE9YS5nZXREYXRhKFwicHJtXCIpLlBiKCk/XCIxXCI6XCIwXCJ9O3Q1Yi5wcm90b3R5cGUudWNjPWZ1bmN0aW9uKCl7cmV0dXJuW1wicHJtMjNcIix0aGlzLm9hXX07dDViLnByb3RvdHlwZS53Z2M9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vYSE9PXRoaXMuQWE/W1wicHJtXCIsdGhpcy5vYV06bnVsbH07cDViJiZfLmJuKHE1Yix0NWIpO1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uJFViPXtFaGI6XCJpc3RhdGVcIixDaGI6XCJmcHN0YXRlXCIsSlZjOlwic2llXCIsRXVjOlwiZmx0XCIsS1VjOlwicGllXCIsTFdjOlwidHJleFwiLGk4ZDpcImVwZFwiLGlpZTpcIm9zdlwiLHIkZDpcIm1wZFwifTtfLkd4PU9iamVjdC5hc3NpZ24oe30sXy4kVWIse3BOYjpcImltZ3JjXCIsWGFlOlwiaW1nZGlpXCIsamxiOlwib3Nob3BcIn0pO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLmJWYj1mdW5jdGlvbigpe3JldHVybiBfLllnYShfLkd4LGZ1bmN0aW9uKGEpe3JldHVybiBfLmFWYihhKX0pfTtfLmNWYj1mdW5jdGlvbigpe3JldHVybiBfLllnYShfLiRVYixmdW5jdGlvbihhKXtyZXR1cm4gXy5hVmIoYSl9KX07Xy5hVmI9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5pZShhKTtyZXR1cm4gYj09PVwiXCI/ITE6YT09PV8uR3guRWhiP2IhPT1cIjBcIjphPT09Xy5HeC5wTmI/YiE9PVwiX1wiOmE9PT1fLkd4LkV1Yz9iLmluZGV4T2YoXCI7ZToxXCIpIT09LTE6ISFifTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5uVGI9Xy5HZChcIkRoUFltZVwiLFtdKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwiRGhQWW1lXCIpO1xudmFyIGpXYj1mdW5jdGlvbigpe18uSXgmJihoV2IoXCJhdHRuLWl2aXNcIixmdW5jdGlvbigpe18uSXgmJl8uaVdiKF8uSXgsXCJIXCIsITApfSksaFdiKFwicGFnZWhpZGVcIixmdW5jdGlvbigpe18uSXgmJl8uaVdiKF8uSXgsXCJIXCIsITApfSksaFdiKFwiYmx1clwiLGZ1bmN0aW9uKCl7Xy5JeCYmXy5pV2IoXy5JeCxcIkJcIiwhMCl9KSxfLkp4LmNvbmZpZy5DYXx8Xy5KeC5jb25maWcuQWF8fGhXYihcImJlZm9yZXVubG9hZFwiLGZ1bmN0aW9uKCl7Xy5JeCYmXy5pV2IoXy5JeCxcIlVcIiwhMCl9KSl9O3ZhciBvV2I7Xy5MeD1mdW5jdGlvbihhKXtfLkNrLmNhbGwodGhpcyk7dGhpcy5BYT1hO3RoaXMud2I9W107dGhpcy5PYT17fTt0aGlzLkJiPVtdO3RoaXMuaGI9W107dGhpcy5RYT17fX07Xy5EKF8uTHgsXy5Dayk7Xy5MeC5wcm90b3R5cGUuYWRkTGlzdGVuZXI9ZnVuY3Rpb24oYSxiLGMsZCxlKXthJiZ0aGlzLkFhJiZ0aGlzLmhiLnB1c2godGhpcy5BYS5saXN0ZW4oYSxiLGMsZD09PXZvaWQgMD8hMTpkLGUpKX07Xy5sV2I9ZnVuY3Rpb24oYSxiLGMpe2EuQWEmJmEuQmIucHVzaChrV2IoYixjKSl9O18ubVdiPWZ1bmN0aW9uKGEsYixjLGQsZSl7ZT1lPT09dm9pZCAwPyExOmU7aWYoYS5RYVtkXSl7aWYoIWUpcmV0dXJuOyhlPWEuUWFbZF0pJiZfLmJhLmNsZWFyVGltZW91dChlKX1hLlFhW2RdPWtXYihiLGMpfTtfLm5XYj1mdW5jdGlvbihhLGIpe2lmKGEuUWFbYl0hPW51bGwpe3ZhciBjPWEuUWFbYl07YyYmXy5iYS5jbGVhclRpbWVvdXQoYyk7ZGVsZXRlIGEuUWFbYl19fTtcbm9XYj1mdW5jdGlvbihhLGIpe2EuQWEmJmEud2IucHVzaChfLmJhLnNldEludGVydmFsKGIsNTAwKSl9O18uTHgucHJvdG90eXBlLlFjPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPSh0aGlzLndifHxbXSkubGVuZ3RoLTE7YT49MDthLS0pXy5iYS5jbGVhckludGVydmFsKHRoaXMud2JbYV0pO3RoaXMud2I9W107Zm9yKHZhciBiIGluIHRoaXMuT2F8fHt9KV8uYmEuY2xlYXJJbnRlcnZhbCh0aGlzLk9hW2JdKTt0aGlzLk9hPXt9O2ZvcihhPSh0aGlzLkJifHxbXSkubGVuZ3RoLTE7YT49MDthLS0pKGI9dGhpcy5CYlthXSkmJl8uYmEuY2xlYXJUaW1lb3V0KGIpO3RoaXMuQmI9W107Zm9yKHZhciBjIGluIHRoaXMuUWF8fHt9KShhPXRoaXMuUWFbY10pJiZfLmJhLmNsZWFyVGltZW91dChhKTt0aGlzLlFhPXt9O2ZvcihjPTA7YzwodGhpcy5oYnx8W10pLmxlbmd0aDtjKyspdGhpcy5oYltjXSYmdGhpcy5BYS5Lbyh0aGlzLmhiW2NdKTt0aGlzLmhiPVtdO18uQ2sucHJvdG90eXBlLlFjLmNhbGwodGhpcyl9O3ZhciBwV2I9ZnVuY3Rpb24oKXt0aGlzLm9hPXRoaXMuQ2E9ITE7dGhpcy5HYT0xMDA7dGhpcy5CYT01O3RoaXMuQWE9ITF9LHFXYj1mdW5jdGlvbigpe3RoaXMub2E9dGhpcy5jc2hpZD10aGlzLkZzPXRoaXMuZWk9XCJcIjt0aGlzLmNvbmZpZz1uZXcgcFdifTtxV2IucHJvdG90eXBlLnNldENvbmZpZz1mdW5jdGlvbihhKXt0aGlzLmNvbmZpZz1hfTtfLk9nLk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHFXYi5wcm90b3R5cGUse0NvbmZpZzp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHBXYn19fSk7Xy5KeD1uZXcgcVdiO18ucldiPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwP18uUkVhOmI7Xy5Day5jYWxsKHRoaXMpO3RoaXMuQmE9Yjt0aGlzLkFhPXRoaXMuWmQ9bnVsbDt0aGlzLm9wdGlvbnM9YX07Xy5EKF8ucldiLF8uQ2spO3ZhciBzV2I9ZnVuY3Rpb24oYSxiKXthLlpkJiZhLlpkW2JdJiZhLlpkW2JdLmZvckVhY2goZnVuY3Rpb24oYyl7dmFyIGQ9Yy5saXN0ZW5lcixlPW51bGw7Yy5oYW5kbGVyJiYoZT1jLmhhbmRsZXIpO2QuY2FsbChlLG5ldyBfLkZrKGIpKX0pfTtfLnJXYi5wcm90b3R5cGUuQ2E9ZnVuY3Rpb24oKXtzd2l0Y2goXy5wZCgpLmdldFZpc2liaWxpdHlTdGF0ZSgpKXtjYXNlIFwidW5sb2FkZWRcIjp0aGlzLm9wdGlvbnMudW5sb2FkJiZzV2IodGhpcyxcImF0dG4taXZpc1wiKTticmVhaztjYXNlIFwiaGlkZGVuXCI6c1diKHRoaXMsXCJhdHRuLWl2aXNcIik7YnJlYWs7Y2FzZSBcInZpc2libGVcIjpzV2IodGhpcyxcImF0dG4tdmlzXCIpfX07XG5fLnJXYi5wcm90b3R5cGUubGlzdGVuPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9bmV3IF8uSXdhKGMsYSxiLCEhZCxlKTtzd2l0Y2goYil7Y2FzZSBcImF0dG4taXZpc1wiOmNhc2UgXCJhdHRuLXZpc1wiOmE9Xy5wZCgpO2EuaXNTdXBwb3J0ZWQoKSYmKHRoaXMuWmR8fCh0aGlzLlpkPXt9LHRoaXMuQWE9Xy5YZChhLFwidmlzaWJpbGl0eWNoYW5nZVwiLHRoaXMuQ2EsITEsdGhpcykpLHRoaXMuWmRbYl09dGhpcy5aZFtiXXx8W10sdGhpcy5aZFtiXS5wdXNoKGYpKTticmVhaztkZWZhdWx0Ol8uWGQoYSxiLGMsZCxlKX1yZXR1cm4gZn07XG5fLnJXYi5wcm90b3R5cGUudW5saXN0ZW49ZnVuY3Rpb24oYSxiLGMsZCxlKXtzd2l0Y2goYil7Y2FzZSBcImF0dG4taXZpc1wiOmNhc2UgXCJhdHRuLXZpc1wiOnZhciBmPW51bGw7aWYodGhpcy5aZCYmKGY9dGhpcy5aZFtiXSkpZm9yKGI9MDtiPGYubGVuZ3RoO2IrKylpZihmW2JdLnNyYz09PWEmJmZbYl0ubGlzdGVuZXI9PT1jJiZmW2JdLmNhcHR1cmU9PT0hIWQmJmZbYl0uaGFuZGxlcj09PWUpe18ueGEoZixiKTticmVha31icmVhaztkZWZhdWx0Ol8uS2soYSxiLGMsZCxlKX19O18ucldiLnByb3RvdHlwZS5Lbz1mdW5jdGlvbihhKXt0aGlzLnVubGlzdGVuKGEuc3JjLGEudHlwZSxhLmxpc3RlbmVyLGEuY2FwdHVyZSxhLmhhbmRsZXIpfTt2YXIga1diPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGI9PT0wPyhfLmJhLnNldFRpbWVvdXQoYSwwKSwwKTpfLmJhLnNldFRpbWVvdXQoYSxiKX07XG5fLnJXYi5wcm90b3R5cGUuUWg9ZnVuY3Rpb24oKXt0aGlzLlpkJiZ0aGlzLkFhJiYoXy5Mayh0aGlzLkFhKSx0aGlzLkFhPW51bGwpO3RoaXMuWmQ9bnVsbH07Xy5yV2IucHJvdG90eXBlLlFjPWZ1bmN0aW9uKCl7dGhpcy5RaCgpfTtfLnJXYi5wcm90b3R5cGUub2E9ZnVuY3Rpb24oYSxiKXtpZighYilyZXR1cm4gZ29vZ2xlLmdldEVJKGEpO2I9YS5nZXRBdHRyaWJ1dGUoXCJkYXRhLXZlZFwiKTt2YXIgYz1nb29nbGUuZ2V0RUkoZG9jdW1lbnQuYm9keSk7cmV0dXJuIGJ8fChhPWEucXVlcnlTZWxlY3RvcihcIltkYXRhLXZlZF1cIiksYSYmKGI9YS5nZXRBdHRyaWJ1dGUoXCJkYXRhLXZlZFwiKSkpP18uTmlhKF8uVmMoYikpfHxjOmN9O3ZhciB0V2I9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5kbShfLlJjKFwiUzA2R3JiXCIpLFwiXCIpP1wibFwiOlwic1wiO3JldHVybiBfLlpkKGIsYS5CYSl9O3ZhciB1V2I9ZnVuY3Rpb24oYSl7Xy5MeC5jYWxsKHRoaXMsYSl9O18uRCh1V2IsXy5MeCk7dVdiLnByb3RvdHlwZS5vYT1mdW5jdGlvbigpe307dmFyIHZXYj1mdW5jdGlvbigpe3RoaXMueT10aGlzLng9dGhpcy5vYT0wfTtfLk14PWZ1bmN0aW9uKCl7dGhpcy5ldmVudFR5cGU9XCJcIjt0aGlzLm9hPTB9O18uTXgucHJvdG90eXBlLkNhPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9O18uTXgucHJvdG90eXBlLkJhPWZ1bmN0aW9uKCl7cmV0dXJuITF9O18uTXgucHJvdG90eXBlLkFhPWZ1bmN0aW9uKCl7cmV0dXJuW119O3ZhciB3V2I9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLm9hLWIub2E7Yi5vYSs9YztyZXR1cm5cIlwiK2MrXCIsXCIrYS5BYSgpLmpvaW4oXCIsXCIpfTt2YXIgeFdiPWZ1bmN0aW9uKGEpe18uTXguY2FsbCh0aGlzKTt0aGlzLm9hPWF8fERhdGUubm93KCl9O18uRCh4V2IsXy5NeCk7eFdiLnByb3RvdHlwZS5BYT1mdW5jdGlvbigpe3JldHVybltcInhcIl19O3ZhciB5V2I9ZnVuY3Rpb24oKXt9O3ZhciB6V2I9ZnVuY3Rpb24oYSl7Xy5Day5jYWxsKHRoaXMpO3RoaXMuT2E9YTt0aGlzLlFhPVwiXCIrTWF0aC5yYW5kb20oKTt0aGlzLkJhPTE7dGhpcy5BYT1bbmV3IHhXYl07dGhpcy5HYT0tdGhpcy5BYS5sZW5ndGg7dGhpcy5DYT1cIlwiO3RoaXMuTGE9e307dGhpcy5vYT1udWxsfTtfLkQoeldiLF8uQ2spO18uQVdiPWZ1bmN0aW9uKGEsYil7YS5DYS5pbmRleE9mKGIpPDAmJihhLkNhKz1iKX07eldiLnByb3RvdHlwZS5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQWEubGVuZ3RoK3RoaXMuR2E9PTB9O3pXYi5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLlFhPVwiXCIrTWF0aC5yYW5kb20oKTt0aGlzLkJhPTE7dGhpcy5BYT1bbmV3IHhXYl07dGhpcy5HYT0tdGhpcy5BYS5sZW5ndGh9O1xudmFyIEJXYj1mdW5jdGlvbihhKXt2YXIgYj1cIiZ2PXQxXCI7Xy5KeC5laSYmKGIrPVwiJmVpPVwiK18uSnguZWkpO3ZhciBjPU9iamVjdC5rZXlzKGEuTGEpLmpvaW4oXCJcIik7YyYmKGIrPVwiJmltPVwiK2MpO2EuQmE9PTEmJmEuQ2EmJihiKz1cIiZtPVwiK2EuQ2EpO18uSnguY3NoaWQmJihiKz1cIiZjc2hpZD1cIitfLkp4LmNzaGlkKTtfLkp4Lm9hJiYoYis9XCImYXFpZD1cIitfLkp4Lm9hKTtyZXR1cm4gYitcIiZwdj1cIithLlFhfSxDV2I9ZnVuY3Rpb24oYSl7dmFyIGI9QldiKGEpLGM9bmV3IHZXYixkPWEuT2EsZT0hMSxmPTAsZz1cIiZtZT1cIithLkJhLGg9Zy5sZW5ndGgrYi5sZW5ndGg7YS5BYS5mb3JFYWNoKGZ1bmN0aW9uKGssbCl7aD5kJiZsPjB8fChmPWwsaz1cIjpcIit3V2IoayxjKSxoKz1rLmxlbmd0aCxoPmQmJmw+MD9lPSEwOmcrPWspfSk7Zz1iK2c7Yj1uZXcgeVdiO2IubWVzc2FnZT1nO2Iub2E9ZTtiLkIwPWU/ZjphLkFhLmxlbmd0aDtiLkFhPWM7cmV0dXJuIGJ9O3ZhciBEV2I9ZnVuY3Rpb24oYSxiKXtfLk14LmNhbGwodGhpcyk7dGhpcy5HYT1hO3RoaXMub2E9Ynx8RGF0ZS5ub3coKX07Xy5EKERXYixfLk14KTtEV2IucHJvdG90eXBlLkFhPWZ1bmN0aW9uKCl7cmV0dXJuW1wiZVwiLHRoaXMuR2FdfTt2YXIgRVdiPWZ1bmN0aW9uKGEpe3ZhciBiPURhdGUubm93KCk7dGhpcy5wYXlsb2FkPWE7dGhpcy5vYT1ifSxIV2I9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5MeC5jYWxsKHRoaXMsYik7dmFyIGU9dGhpczt0aGlzLkdhPWE7dGhpcy5CYT1kfHxuZXcgdVdiKGIpO3RoaXMuQ2E9Yzt0aGlzLlVhPVwicy1cIisoXy5KeC5laT9fLkp4LmVpOkRhdGUubm93KCkrXCItXCIrTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpKjFFMTApKTt0aGlzLlJhPV8uZG0oXy5SYyhcIlMwNkdyYlwiKSxcIlwiKXx8bnVsbDt0aGlzLm9hPXRXYihiKTt0aGlzLkxhPTA7dGhpcy5vYSYmKF8ubFdiKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gRldiKGUpfSw1MDApLG9XYih0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIEdXYihlKX0pKX07Xy5EKEhXYixfLkx4KTtcbnZhciBHV2I9ZnVuY3Rpb24oYSl7aWYoYS5vYSl7dmFyIGI9RGF0ZS5ub3coKSxjPS8uKj8tZHQtWzAtOV0rJC87Xy5pRWEoYS5vYS5oQigpLGZ1bmN0aW9uKGQpe2Q9ZC5rZXk7YS5vYSYmYy50ZXN0KGQpJiZhLm9hLmdldChkKS5vYTxiLTUwMCYmYS5vYSYmYS5vYS5yZW1vdmUoZCl9KX19LEZXYj1mdW5jdGlvbihhKXtpZihhLm9hKXt2YXIgYj0vdGFicy8sYz0vLio/LWR0LVswLTldKyQvO18uaUVhKGEub2EuaEIoKSxmdW5jdGlvbihkKXtkPWQua2V5O2lmKGIudGVzdChkKSlhLm9hJiZhLm9hLnJlbW92ZShkKTtlbHNlIGlmKGEub2EmJmEuQmEmJmMudGVzdChkKSl7dmFyIGU9YS5vYS5nZXQoZCk7ZS5vYSYmZS5vYT5EYXRlLm5vdygpLTg2NEU1JiZhLkJhLm9hKGEuR2EsZS5wYXlsb2FkKTthLm9hJiZhLm9hLnJlbW92ZShkKX19KX19O1xuSFdiLnByb3RvdHlwZS5RYz1mdW5jdGlvbigpe3RoaXMub2EmJih0aGlzLm9hPW51bGwpO3RoaXMuQmEmJih0aGlzLkJhLmRpc3Bvc2UoKSx0aGlzLkJhPW51bGwpO3RoaXMuQ2E9bnVsbDtfLkx4LnByb3RvdHlwZS5RYy5jYWxsKHRoaXMpfTt2YXIgSVdiPWZ1bmN0aW9uKGEsYixjLGQpe18uTHguY2FsbCh0aGlzLGMpO3RoaXMuVWE9Yjt0aGlzLm9hPW5ldyB6V2IodGhpcy5VYSk7dGhpcy5CYT1uZXcgSFdiKGEsYyx0aGlzLm9hLGQpO3RoaXMuR2E9ITA7dGhpcy5MYT0wfSxoV2I7Xy5EKElXYixfLkx4KTtJV2IucHJvdG90eXBlLkNhPWZ1bmN0aW9uKCl7aWYodGhpcy5CYSl7dmFyIGE9dGhpcy5CYTtpZihhLkNhJiYhYS5DYS5pc0VtcHR5KCkmJmEuQmEpe3ZhciBiPWEuQ2Eub2E7aWYoYiYmYi5tZXNzYWdlKXthLkxhKys7dmFyIGM9YS5DYSxkPWIuQjA7Yy5CYSs9ZDtkPjAmJmMuQWEuc3BsaWNlKDAsZCk7Yy5HYT0wO2Mub2E9bnVsbDtjLkFhLmxlbmd0aD4wJiYoYy5vYT1DV2IoYykpO2lmKGEuUmEmJmEub2EmJihjPWEuVWErXCItZHQtXCIrYS5MYSxkPW5ldyBFV2IoYi5tZXNzYWdlKSxhLm9hKSl0cnl7YS5vYS5zZXQoYyxkKX1jYXRjaChlKXt9YS5CYS5vYShhLkdhLGIubWVzc2FnZSl9fX19O1xuSVdiLnByb3RvdHlwZS5sb2c9ZnVuY3Rpb24oYSl7aWYodGhpcy5HYSl7YS5vYXx8KGEub2E9RGF0ZS5ub3coKSk7dmFyIGI9dGhpcy5vYSxjPWEuQmEoYi5BYSk7aWYoIWMpe2ZvcihjPWIuQWEubGVuZ3RoO2M+MCYmIShhLm9hPj1iLkFhW2MtMV0ub2EpO2MtLSliLkFhW2NdPWIuQWFbYy0xXTtiLkFhW2NdPWE7Yz1jPT0wfHxjPGIuQWEubGVuZ3RoLTF9IWMmJmIub2EmJmIub2EubWVzc2FnZT9iLm9hPyhjPWIub2EubWVzc2FnZSxjPWMrXCI6XCIrd1diKGEsYi5vYS5BYSksYi5PYSYmYy5sZW5ndGg+Yi5PYSYmKGIub2Eub2E9ITApLGIub2Eub2EmJmIub2EubWVzc2FnZS5sZW5ndGghPTB8fChiLm9hLm1lc3NhZ2U9YyxiLm9hLkIwPWIuQWEubGVuZ3RoKSxhPWIub2Eub2EpOmE9ITE6KGIub2E9Q1diKGIpLGE9Yi5vYS5vYSk7YSYmdGhpcy5DYSgpfX07aFdiPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5JeCxkPXdpbmRvdztkJiZjLmFkZExpc3RlbmVyKGQsYSxiLCExLHZvaWQgMCl9O1xuXy5pV2I9ZnVuY3Rpb24oYSxiLGMpeyhjPT09dm9pZCAwPzA6Yyk/SldiKGEsYik6Xy5sV2IoYSxmdW5jdGlvbigpe0pXYihhLGIpfSwwKX07SVdiLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuR2E9ITA7dGhpcy5MYT0wO3RoaXMuQ2EoKTt0aGlzLm9hLnJlc2V0KCl9O0lXYi5wcm90b3R5cGUuUWM9ZnVuY3Rpb24oKXtfLkx4LnByb3RvdHlwZS5RYy5jYWxsKHRoaXMpO3RoaXMuQmEmJiF0aGlzLm9hLmlzRW1wdHkoKSYmdGhpcy5HYSYmSldiKHRoaXMsXCJEXCIpO3RoaXMuQmEmJnRoaXMuQmEuZGlzcG9zZSgpO3RoaXMub2EuZGlzcG9zZSgpO3RoaXMuR2E9ITF9O3ZhciBKV2I9ZnVuY3Rpb24oYSxiKXt2YXIgYz1EYXRlLm5vdygpO2EuTGE+MCYmYy1hLkxhPDMwMHx8KGEuTGE9YyxhLm9hLmlzRW1wdHkoKSYmIWEuQmF8fGEubG9nKG5ldyBEV2IoYikpLGEuQ2EoKSl9O18uTFdiPWZ1bmN0aW9uKGEsYil7SVdiLmNhbGwodGhpcyxiLDE5MDAsYSxuZXcgS1diKGEpKTt0aGlzLlJhPTB9O18uRChfLkxXYixJV2IpO18uTFdiLnByb3RvdHlwZS5DYT1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5SYT49Xy5KeC5jb25maWcuR2E/Xy5sV2IodGhpcyxmdW5jdGlvbigpe3JldHVybiBhLmRpc3Bvc2UoKX0sMCk6KHRoaXMuUmErKyxJV2IucHJvdG90eXBlLkNhLmNhbGwodGhpcykpfTt2YXIgS1diPWZ1bmN0aW9uKGEpe18uTHguY2FsbCh0aGlzLGEpfTtfLkQoS1diLHVXYik7S1diLnByb3RvdHlwZS5vYT1mdW5jdGlvbihhLGIpe2lmKGIpe3ZhciBjPW5ldyBNYXA7Yy5zZXQoXCJjdFwiLGEpO2Iuc3BsaXQoXCImXCIpLmZvckVhY2goZnVuY3Rpb24oZCl7ZD1kLnNwbGl0KFwiPVwiKTtkLmxlbmd0aD09PTImJmMuc2V0KGRbMF0sZFsxXSl9KTtfLkFjYihfLmduKF8uSnguZWkpLGMpLmxvZygpfX07Xy5NV2I9ZnVuY3Rpb24oKXtfLk5rLmNhbGwodGhpcyk7dGhpcy5CYT0hMDt0aGlzLlJhPSExO3RoaXMub2E9bnVsbDt0aGlzLkxhPXRoaXMuT2E9ITE7dGhpcy5DYT1udWxsO3RoaXMuaGI9ITE7dGhpcy5jbGllbnRIZWlnaHQ9MDt0aGlzLkFhPVtdO3RoaXMuVWE9e307dGhpcy5rYj0wO3RoaXMuR2E9e307dGhpcy56b29tTGV2ZWw9MDt0aGlzLlFhPSExfTtfLkQoXy5NV2IsXy5Oayk7Xy5NV2IucHJvdG90eXBlLlFjPWZ1bmN0aW9uKCl7dGhpcy5vYT1udWxsO3RoaXMuQWE9W107dGhpcy5HYT17fTtfLk5rLnByb3RvdHlwZS5RYy5jYWxsKHRoaXMpfTtfLk1XYi5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLkJhPSEwO3RoaXMub2E9bnVsbDt0aGlzLkxhPSExO3RoaXMuQWE9W107dGhpcy5VYT17fTt0aGlzLmtiPTA7dGhpcy5HYT17fTt0aGlzLlFhPSExfTtcbl8uTldiPWZ1bmN0aW9uKGEsYil7aWYoIWIpcmV0dXJuIG51bGw7dmFyIGM9Yi5nZXRBdHRyaWJ1dGUoXCJkYXRhLWh2ZWlkXCIpO2lmKCFjfHwhYS5HYVtjXSlyZXR1cm4gbnVsbDtmb3IodmFyIGQ9MDtkPGEuR2FbY10ubGVuZ3RoO2QrKylpZihhLkdhW2NdW2RdLlRjPT09YilyZXR1cm4gYS5HYVtjXVtkXTtyZXR1cm4gbnVsbH07Xy5OeD1udWxsO18uT1diPW51bGw7Xy5JeD1udWxsO3ZhciBQV2I9ITEsVFdiPWZ1bmN0aW9uKGEpe18uQy5jYWxsKHRoaXMsYS5OYSk7dmFyIGI9dGhpczt0aGlzLm9hPV8uJG0oXy5RV2IpO18ucWphKCk7YT0oYT10aGlzLmdldFJvb3QoKS5lbCgpKSYmXy52ZShhKXx8e307YS5laT1nb29nbGUuZ2V0RUkoZG9jdW1lbnQuYm9keSk7UFdiP2EuZWkhPT1fLkp4LmVpJiYoUldiKHRoaXMpLFNXYih0aGlzLGEpKTood2luZG93Ll9jc2hpZCYmKF8uSnguY3NoaWQ9d2luZG93Ll9jc2hpZCksYSYmKFBXYj0hMCxTV2IodGhpcyxhKSkpO18uWGQod2luZG93LFwiYXR0bl9yZXNldFwiLGZ1bmN0aW9uKGMpe2lmKChjPWMuZWkpJiZjIT09Xy5KeC5laSl7UFdiJiYoUFdiPSExLFJXYihiKSk7dmFyIGQ9Yi5nZXRSb290KCkuZWwoKTtkPWQmJl8udmUoZCl8fHt9O2QuZWk9YztTV2IoYixkKTtQV2I9ITB9fSl9O18uRChUV2IsXy5DKTtUV2IuSWE9Xy5DLklhO1xudmFyIFNXYj1mdW5jdGlvbihhLGIpe18uSnguZWk9Yi5laTt2YXIgYz1uZXcgcFdiO2MuQ2E9ISFiLmR1O2Mub2E9ISFiLmR2O2MuQWE9ISFiLmRiO3ZhciBkPU51bWJlcihiLm1tY250KTtpc0Zpbml0ZShkKSYmKGMuR2E9ZCk7Yj1OdW1iZXIoYi5hdHNkKTtpc0Zpbml0ZShiKSYmKGMuQmE9Yik7Xy5KeC5jb25maWc9YztfLk9XYj1uZXcgXy5NV2I7Xy5OeD1fLk54P18uTng6bmV3IF8ucldiKHt9KTtfLkl4PW5ldyBfLkxXYihfLk54LFwic2xoXCIpO2pXYigpO2lmKGM9ZG9jdW1lbnQuYm9keS5xdWVyeVNlbGVjdG9yKFwiW2RhdGEtYXFpZF1cIikpXy5KeC5vYT1jLmdldEF0dHJpYnV0ZShcImRhdGEtYXFpZFwiKTthPV8uUGEoYS5vYSk7Zm9yKGM9YS5uZXh0KCk7IWMuZG9uZTtjPWEubmV4dCgpKWMudmFsdWUuaW5pdCgpfSxSV2I9ZnVuY3Rpb24oYSl7YT1fLlBhKGEub2EpO2Zvcih2YXIgYj1hLm5leHQoKTshYi5kb25lO2I9YS5uZXh0KCkpYi52YWx1ZS5kaXNwb3NlKCk7Xy5JeCYmXy5JeC5kaXNwb3NlKCk7XG5fLk54JiZfLk54LlFoKCk7Xy5PV2I9Xy5JeD1fLk54PW51bGx9O1RXYi5wcm90b3R5cGUudWM9ZnVuY3Rpb24oKXtQV2ImJihQV2I9ITEsUldiKHRoaXMpKX07Xy5MKFRXYi5wcm90b3R5cGUsXCJrNElzZWJcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLnVjfSk7Xy5RV2I9bmV3IF8uYW47Xy5VV2I9e307Xy5wcihfLm5UYixUV2IpO1xuXy5hWGI9ZnVuY3Rpb24oYSl7dmFyIGI9W10uY29uY2F0KF8ubWQoYS5BYSkpO2E9Xy5QYShhLkFhKTtmb3IodmFyIGM9YS5uZXh0KCk7IWMuZG9uZTtjPWEubmV4dCgpKWM9Yy52YWx1ZSxjLmNoaWxkcmVuLmxlbmd0aCYmKGI9W10uY29uY2F0KF8ubWQoYiksXy5tZChjLmNoaWxkcmVuKSkpO3JldHVybiBifTtfLk94PWZ1bmN0aW9uKGEsYixjKXtfLkx4LmNhbGwodGhpcyxhKTt0aGlzLmxvZ2dlcj1iO3RoaXMub2E9Y307Xy5EKF8uT3gsXy5MeCk7XG52YXIgYlhiPXttb3VzZW91dDpcIm9cIixtb3VzZW92ZXI6XCJpXCJ9LGNYYj1mdW5jdGlvbihhLGIpe18uRmsuY2FsbCh0aGlzLFwiYXR0bi1ob3Zlci1jaGdcIik7dGhpcy5BYT1hO3RoaXMub2E9Yn07Xy5EKGNYYixfLkZrKTt2YXIgZFhiPWZ1bmN0aW9uKGEpe18uTXguY2FsbCh0aGlzKTt0aGlzLmRvbUVsZW1lbnQ9YX07Xy5EKGRYYixfLk14KTtkWGIucHJvdG90eXBlLkJhPWZ1bmN0aW9uKGEpe3ZhciBiPWJYYi5tb3VzZW92ZXIsYz10aGlzLmRvbUVsZW1lbnQ7aWYoIWN8fHRoaXMuZXZlbnRUeXBlIT1iKXJldHVybiExO2I9YlhiLm1vdXNlb3V0O2Zvcih2YXIgZD1hLmxlbmd0aC0xO2Q+PTAmJiEodGhpcy5vYS1hW2RdLm9hPjIpO2QtLSlpZihhW2RdLmV2ZW50VHlwZT09YiYmYVtkXS5DYSgpPT09Yyl7Zm9yKGM9ZDtjPGEubGVuZ3RoLTE7YysrKWFbY109YVtjKzFdO2EucG9wKCk7cmV0dXJuITB9cmV0dXJuITF9O2RYYi5wcm90b3R5cGUuQ2E9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21FbGVtZW50fTtcbnZhciBlWGI9ZnVuY3Rpb24oYSxiLGMsZCl7ZFhiLmNhbGwodGhpcyxkKTt0aGlzLkxhPWE7dGhpcy5HYT1iO3RoaXMuZXZlbnRUeXBlPWN9O18uRChlWGIsZFhiKTtlWGIucHJvdG90eXBlLkFhPWZ1bmN0aW9uKCl7cmV0dXJuW1wiaFwiLHRoaXMuR2EsdGhpcy5MYSx0aGlzLmV2ZW50VHlwZV19O3ZhciBnWGI9ZnVuY3Rpb24oYSxiLGMpe18uTHguY2FsbCh0aGlzLGMpO3RoaXMuQmE9YTt0aGlzLk9nPWI7dGhpcy5vYT1bXTt0aGlzLmFkZExpc3RlbmVyKGEsXCJhdHRuLXZlLWNoZ1wiLHRoaXMuQ2EsITEsdGhpcyk7ZlhiKHRoaXMpfTtfLkQoZ1hiLF8uTHgpO2dYYi5wcm90b3R5cGUuQ2E9ZnVuY3Rpb24oKXtoWGIodGhpcyk7ZlhiKHRoaXMpfTtcbnZhciBoWGI9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTA7YjxhLm9hLmxlbmd0aDtiKyspYS5vYVtiXSYmYS5BYS5LbyhhLm9hW2JdKTthLm9hPVtdfSxmWGI9ZnVuY3Rpb24oYSl7aWYoYS5CYS5BYSlmb3IodmFyIGI9Xy5QYShfLmFYYihhLkJhKSksYz1iLm5leHQoKSxkPXt9OyFjLmRvbmU7ZD17S2diOnZvaWQgMCxpUGE6dm9pZCAwfSxjPWIubmV4dCgpKWQuS2diPWMudmFsdWUsZC5pUGE9ZC5LZ2IuVGMsYS5vYS5wdXNoKGEuQWEubGlzdGVuKGQuaVBhLFwibW91c2VvdmVyXCIsZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKCl7aVhiKGEsZS5LZ2IsXCJtb3VzZW92ZXJcIixlLmlQYSl9fShkKSkpLGEub2EucHVzaChhLkFhLmxpc3RlbihkLmlQYSxcIm1vdXNlb3V0XCIsZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKCl7aVhiKGEsZS5LZ2IsXCJtb3VzZW91dFwiLGUuaVBhKX19KGQpKSl9LGlYYj1mdW5jdGlvbihhLGIsYyxkKXthLk9nLmxvZyhuZXcgZVhiKGIuQmEsYi5DYSxiWGJbY10sXG5kKSk7YS5CYS5kaXNwYXRjaEV2ZW50KG5ldyBjWGIoYyxkKSl9O2dYYi5wcm90b3R5cGUuUWM9ZnVuY3Rpb24oKXtoWGIodGhpcyk7Xy5MeC5wcm90b3R5cGUuUWMuY2FsbCh0aGlzKX07dmFyIGpYYj1mdW5jdGlvbihhLGIsYyl7Xy5PeC5jYWxsKHRoaXMsYSxiLGMpO3ZhciBkPXRoaXM7dGhpcy5CYT10aGlzLkFhLmxpc3Rlbih3aW5kb3csXCJwb2ludGVybW92ZVwiLGZ1bmN0aW9uKGUpe2UucG9pbnRlclR5cGUmJmUucG9pbnRlclR5cGU9PVwibW91c2VcIiYmKGQubG9nZ2VyLm9hLkxhLk09ITAsZC5CYSYmZC5BYS5LbyhkLkJhKSl9KTt0aGlzLkNhPXRoaXMuQWEubGlzdGVuKHdpbmRvdyxcInRvdWNoc3RhcnRcIixmdW5jdGlvbigpe2QubG9nZ2VyLm9hLkxhLlQ9ITA7ZC5DYSYmZC5BYS5LbyhkLkNhKX0pfTtfLkQoalhiLF8uT3gpO2pYYi5wcm90b3R5cGUuUWM9ZnVuY3Rpb24oKXt0aGlzLkNhJiZ0aGlzLkFhLktvKHRoaXMuQ2EpO3RoaXMuQmEmJnRoaXMuQWEuS28odGhpcy5CYSl9O3ZhciBrWGI9ZnVuY3Rpb24oKXt0aGlzLkFhPXRoaXMub2E9bnVsbH07a1hiLnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKCl7dmFyIGE9Xy5OeCxiPV8uSXgsYz1fLk9XYjthJiZiJiZjJiYoXy5BV2IoYi5vYSxcIkhcIiksdGhpcy5vYT1uZXcgZ1hiKGMsYixhKSx0aGlzLkFhPW5ldyBqWGIoYSxiLGMpKX07a1hiLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5vYSYmKHRoaXMub2EuZGlzcG9zZSgpLHRoaXMub2E9bnVsbCk7dGhpcy5BYSYmKHRoaXMuQWEuZGlzcG9zZSgpLHRoaXMuQWE9bnVsbCl9O18uY24oXy5RV2IsbmV3IGtYYik7XG52YXIgc1hiLHBYYix1WGIsdlhiLHdYYjtcbnNYYj1mdW5jdGlvbihhLGIsYyl7aWYoXy5rbS5jb250YWlucyhhLlRjLFwicGxhLXVuaXRcIikmJnBYYihhKSlyZXR1cm4hMTsoYS5jaGlsZHJlbi5sZW5ndGg+MHx8Yy5DYSYmYS5nZXRFSSgpPT09Yy5DYSYmYS5UYy5oYXNBdHRyaWJ1dGUoXCJkZWNvZGUtZGF0YS12ZWRcIikpJiZxWGIoYSk7aWYoYS50RT09bnVsbCljPWEub2E/Xy5yWGIoYS5vYSxiLm9hKTohMTtlbHNlIGlmKGM9YS50RSxhLm9hJiZjLm9hKXt2YXIgZD1NYXRoLm1heChhLm9hLmxlZnQsYy5HYSksZT1NYXRoLm1pbihhLm9hLmxlZnQrYS5vYS53aWR0aCxjLkdhK2Mub2Eud2lkdGgpO2M9TWF0aC5tYXgoYS5vYS50b3AsYy5zY3JvbGxZKTxNYXRoLm1pbihhLm9hLnRvcCthLm9hLmhlaWdodCxjLnNjcm9sbFkrYy5vYS5oZWlnaHQpJiZkPGV9ZWxzZSBjPSExO2lmKCEoYz1jJiZhLkFhPT1udWxsfHxjJiZhLnVlYSgpfHwhYyYmYS5BYSYmXy5yWGIoYS5BYSxiLm9hKSYmYS50RT09bnVsbCkpe2lmKGM9YS5vYSljPWEub2EsXG5jPShiPWIub2EpP2MudG9wK2MuaGVpZ2h0PGIudG9wOiExOyhiPWMmJmEuQWE9PW51bGwpJiYhKGI9IWEub2EpJiYoYj1hLm9hLGI9IShiLndpZHRoPT0wJiZiLmhlaWdodD09MCkpO2M9YiYmYS50RT09bnVsbH1yZXR1cm4gYz8hMDohMX07cFhiPWZ1bmN0aW9uKGEpe2E9YS5UYztpZighYSlyZXR1cm4hMTt2YXIgYj1nZXRDb21wdXRlZFN0eWxlKGEpO2lmKGImJmIucG9zaXRpb249PVwiZml4ZWRcIilyZXR1cm4hMTtiPWEub2Zmc2V0UGFyZW50O2lmKGI9PW51bGwpcmV0dXJuITE7YT1hLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2I9Yi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gYS5sZWZ0PmIucmlnaHR8fGEucmlnaHQ8Yi5sZWZ0fHxhLnRvcD5iLmJvdHRvbXx8YS5ib3R0b208Yi50b3B9O1xuXy50WGI9ZnVuY3Rpb24oYSxiLGMsZCl7dGhpcy5sZWZ0PWE7dGhpcy50b3A9Yjt0aGlzLndpZHRoPWM7dGhpcy5oZWlnaHQ9ZDt0aGlzLm9hPU1hdGgucm91bmQoYy81MCk7dGhpcy5BYT1NYXRoLnJvdW5kKGQvNTApfTtfLnRYYi5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IF8udFhiKHRoaXMubGVmdCx0aGlzLnRvcCx0aGlzLndpZHRoLHRoaXMuaGVpZ2h0KX07dVhiPWZ1bmN0aW9uKGEsYil7cmV0dXJuISFiJiZNYXRoLmFicyhhLndpZHRoLWIud2lkdGgpPD1iLm9hJiZNYXRoLmFicyhhLmhlaWdodC1iLmhlaWdodCk8PWIuQWF9O3ZYYj1mdW5jdGlvbihhLGIpe3JldHVybiEhYiYmTWF0aC5hYnMoYS5sZWZ0LWIubGVmdCk8PWIub2EmJk1hdGguYWJzKGEudG9wLWIudG9wKTw9Yi5BYSYmdVhiKGEsYil9O1xuXy5yWGI9ZnVuY3Rpb24oYSxiKXtpZighYilyZXR1cm4hMTt2YXIgYz1NYXRoLm1heChhLmxlZnQsYi5sZWZ0KSxkPU1hdGgubWluKGEubGVmdCthLndpZHRoLGIubGVmdCtiLndpZHRoKTtyZXR1cm4gTWF0aC5tYXgoYS50b3AsYi50b3ApPE1hdGgubWluKGEudG9wK2EuaGVpZ2h0LGIudG9wK2IuaGVpZ2h0KSYmYzxkfTt3WGI9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5NeC5jYWxsKHRoaXMpO3RoaXMuTGE9YTt0aGlzLk9hPWI7dGhpcy5RYT1jO3RoaXMuR2E9ZH07Xy5EKHdYYixfLk14KTt3WGIucHJvdG90eXBlLkFhPWZ1bmN0aW9uKCl7cmV0dXJuW1wiVlwiLHRoaXMuTGEsdGhpcy5PYSx0aGlzLlFhLHRoaXMuR2FdfTtcbnZhciB4WGI9ZnVuY3Rpb24oYSl7YT1hPT09dm9pZCAwPyExOmE7dGhpcy5BYT1EYXRlLm5vdygpO3RoaXMub2E9YT9uZXcgXy50WGIoTWF0aC5yb3VuZCh3aW5kb3cucGFnZVhPZmZzZXQpLE1hdGgucm91bmQod2luZG93LnBhZ2VZT2Zmc2V0KSxNYXRoLnJvdW5kKHdpbmRvdy5pbm5lcldpZHRofHwwKSxNYXRoLnJvdW5kKHdpbmRvdy5pbm5lckhlaWdodHx8MCkpOm5ldyBfLnRYYigwLDAsMCwwKX07eFhiLnByb3RvdHlwZS5tNj1mdW5jdGlvbigpe3ZhciBhPW5ldyB3WGIodGhpcy5vYS5sZWZ0LHRoaXMub2EudG9wLHRoaXMub2Eud2lkdGgsdGhpcy5vYS5oZWlnaHQpO2Eub2E9dGhpcy5BYTtyZXR1cm4gYX07eFhiLnByb3RvdHlwZS5CYT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5vYS5sZWZ0LWEub2EubGVmdH07eFhiLnByb3RvdHlwZS5DYT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5vYS50b3AtYS5vYS50b3B9O1xudmFyIHlYYj1mdW5jdGlvbihhLGIsYyxkLGUpe18uTXguY2FsbCh0aGlzKTt0aGlzLmRlbHRhWD1iO3RoaXMuZGVsdGFZPWM7dGhpcy5HYT1kO3RoaXMuTGE9ZTt0aGlzLm9hPWF9O18uRCh5WGIsXy5NeCk7eVhiLnByb3RvdHlwZS5BYT1mdW5jdGlvbigpe3ZhciBhPVtcIlNcIl07dGhpcy5HYSYmdGhpcy5MYSYmYS5wdXNoKHRoaXMuR2EsdGhpcy5MYSk7dGhpcy5kZWx0YVg9PTA/YS5wdXNoKHRoaXMuZGVsdGFZKTphLnB1c2godGhpcy5kZWx0YVgsdGhpcy5kZWx0YVkpO3JldHVybiBhfTtcbnZhciB6WGI9ZnVuY3Rpb24oYSxiLGMpe2M9Yz09PXZvaWQgMD8hMTpjO2lmKGEub2EuQmF8fGEub2EuT2Epe3ZhciBkPWEub2Eub2EsZTtpZihlPSFhLm9hLk9hJiZkKXtlPWIub2E7dmFyIGY9ZC5vYTtpZihmKXt2YXIgZz11WGIoZSxmKTtnJiYoZS53aWR0aD1mLndpZHRoLGUuaGVpZ2h0PWYuaGVpZ2h0LGUub2E9Zi5vYSxlLkFhPWYuQWEpO2U9Z31lbHNlIGU9ITF9ZT8oZT1iLkJhKGQpLGQ9Yi5DYShkKSxlPT0wJiZkPT0wfHxhLmxvZ2dlci5sb2cobmV3IHlYYihiLkFhLGUsZCkpKTphLmxvZ2dlci5sb2coYi5tNigpKTthLm9hLk9hPSExO2Eub2Eub2E9YjtjfHxhLm9hLmRpc3BhdGNoRXZlbnQoXCJhdHRuLXZzLWNoZ1wiKX19LEFYYj1mdW5jdGlvbihhLGIpe2lmKChiPT09dm9pZCAwPzA6Yil8fCFhLm9hLlJhKWEub2EuUmE9ITEsYS5vYS5CYXx8KGEub2EuQmE9ITAselhiKGEsbmV3IHhYYighMCksITApLGEub2EuZGlzcGF0Y2hFdmVudChcImF0dG4tdnMtY2hnXCIpKX0sQlhiPWZ1bmN0aW9uKGEsXG5iKXtpZihiPT09dm9pZCAwPzA6YilhLm9hLlJhPSEwO2Eub2EuQmEmJih6WGIoYSxuZXcgeFhiLCEwKSxhLm9hLkJhPSExLGEub2EuZGlzcGF0Y2hFdmVudChcImF0dG4tdnMtY2hnXCIpKX0sQ1hiPXtKVGI6XCJsY1wiLExPQURJTkc6XCJsXCIsTVdjOlwidGNcIixsdWM6XCJlY1wifSxEWGI9e0F1YzpcImZzXCIseXVjOlwiZG9cIix4dWM6XCJkY1wiLHp1YzpcImZlXCJ9LEVYYj1mdW5jdGlvbihhKXthPWE9PT12b2lkIDA/MDphO18uTXguY2FsbCh0aGlzKTt0aGlzLm9hPWF9O18uRChFWGIsXy5NeCk7RVhiLnByb3RvdHlwZS5BYT1mdW5jdGlvbigpe3JldHVybltcIlRcIl19O3ZhciBGWGI9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe18uTXguY2FsbCh0aGlzKTt0aGlzLkdhPWE7dGhpcy5SYT1iO3RoaXMuT2E9Yzt0aGlzLlFhPWQ7dGhpcy5VYT1lO3RoaXMuTGE9Zn07Xy5EKEZYYixfLk14KTtcbkZYYi5wcm90b3R5cGUuQWE9ZnVuY3Rpb24oKXtyZXR1cm5bXCJSXCIsdGhpcy5HYSx0aGlzLlJhLHRoaXMuT2EsdGhpcy5RYSx0aGlzLlVhLHRoaXMuTGFdfTt2YXIgR1hiPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMub2E9dGhpcy5BYT1udWxsO3RoaXMuVGM9YTt0aGlzLkJhPWI7dGhpcy5MYT1jO3RoaXMuQ2E9ZDt0aGlzLnNjcm9sbFk9dGhpcy5HYT0wO3RoaXMudEU9bnVsbDt0aGlzLmNoaWxkcmVuPVtdfSxIWGI9ZnVuY3Rpb24oYSl7YS5vYSYmKGEuQWE9YS5vYS5jbG9uZSgpKX07R1hiLnByb3RvdHlwZS51ZWE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5BYSYmdGhpcy5vYT8hdlhiKHRoaXMub2EsdGhpcy5BYSk6ITF9O1xudmFyIHFYYj1mdW5jdGlvbihhKXt2YXIgYjthOnt2YXIgYz1hLlRjLGQ9KGI9YS50RSk9PW51bGw/dm9pZCAwOmIuVGM7aWYoYy5nZXRCb3VuZGluZ0NsaWVudFJlY3QmJlwidmlzaWJsZVwiPT0oXy5ubS5nZXRDb21wdXRlZFN0eWxlKGMsXCJ2aXNpYmlsaXR5XCIpfHxcInZpc2libGVcIikpdHJ5e3ZhciBlPWMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYoZCl7dmFyIGY9ZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt2YXIgZz1uZXcgXy50WGIoTWF0aC5yb3VuZChlLmxlZnQtZi5sZWZ0K2Quc2Nyb2xsTGVmdCksTWF0aC5yb3VuZChlLnRvcC1mLnRvcCtkLnNjcm9sbFRvcCksTWF0aC5yb3VuZChjLm9mZnNldFdpZHRoKSxNYXRoLnJvdW5kKGMub2Zmc2V0SGVpZ2h0KSk7YnJlYWsgYX1nPW5ldyBfLnRYYihNYXRoLnJvdW5kKGUubGVmdCt3aW5kb3cucGFnZVhPZmZzZXQpLE1hdGgucm91bmQoZS50b3Ard2luZG93LnBhZ2VZT2Zmc2V0KSxNYXRoLnJvdW5kKGMub2Zmc2V0V2lkdGgpLE1hdGgucm91bmQoYy5vZmZzZXRIZWlnaHQpKTtcbmJyZWFrIGF9Y2F0Y2goaCl7fWc9bmV3IF8udFhiKDAsMCwwLDApfWI9ZztpZihhLm9hJiZ2WGIoYixhLm9hKSlyZXR1cm4hMTthLm9hPWI7cmV0dXJuITB9O0dYYi5wcm90b3R5cGUuZ2V0RUk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5MYX07R1hiLnByb3RvdHlwZS5nZXRJZGVudGlmaWVyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTGErXCI6XCIrdGhpcy5CYX07R1hiLnByb3RvdHlwZS5tNj1mdW5jdGlvbihhKXt2YXIgYj1uZXcgRlhiKHRoaXMuQ2EsdGhpcy5CYSx0aGlzLm9hP3RoaXMub2EubGVmdDowLHRoaXMub2E/dGhpcy5vYS50b3A6MCx0aGlzLm9hP3RoaXMub2Eud2lkdGg6MCx0aGlzLm9hP3RoaXMub2EuaGVpZ2h0OjApO2Iub2E9YTtyZXR1cm4gYn07dmFyIElYYj1mdW5jdGlvbihhKXtfLk14LmNhbGwodGhpcyk7dGhpcy5HYT1hfTtfLkQoSVhiLF8uTXgpO0lYYi5wcm90b3R5cGUuQWE9ZnVuY3Rpb24oKXtyZXR1cm5bXCJBXCIsdGhpcy5HYT8xOjBdfTt2YXIgSlhiPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwPzA6YjtfLk14LmNhbGwodGhpcyk7dGhpcy5HYT1hO3RoaXMub2E9Yn07Xy5EKEpYYixfLk14KTtKWGIucHJvdG90eXBlLkFhPWZ1bmN0aW9uKCl7cmV0dXJuW1wiSVwiLHRoaXMuR2E/MTowXX07dmFyIEtYYj1mdW5jdGlvbihhLGIsYyl7Xy5PeC5jYWxsKHRoaXMsYSxiLGMpO3ZhciBkPXRoaXM7Xy5jZShcImxoLWltXCIsZnVuY3Rpb24oKXtyZXR1cm4gZC5vSSgpfSl9O18uRChLWGIsXy5PeCk7XG5LWGIucHJvdG90eXBlLm9JPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcztpZih0aGlzLm9hKXt2YXIgYj1fLmNWYigpLGM9Xy5ydCgpLnBhdGhuYW1lKCkuc3RhcnRzV2l0aChcIi9hbXBcIik7aWYoYiE9PXRoaXMub2EuTGF8fGMhPT10aGlzLm9hLmhiKWIhPT10aGlzLm9hLkxhJiYodGhpcy5vYS5MYT1iLHRoaXMubG9nZ2VyLmxvZyhuZXcgSlhiKGIpKSksYyE9PXRoaXMub2EuaGImJih0aGlzLm9hLmhiPWMsdGhpcy5sb2dnZXIubG9nKG5ldyBJWGIoYykpLHRoaXMub2EuT2E9ITApLF8ubVdiKHRoaXMsZnVuY3Rpb24oKXtpZihhLm9hJiZhLm9hLm9hKXt2YXIgZD1hLm9hLm9hLGU9RGF0ZS5ub3coKTtkLkFhPWU7YS5vYS5kaXNwYXRjaEV2ZW50KFwiYXR0bi1kb20tY2hnXCIpfV8ubldiKGEsXCJkY3N0XCIpfSwxRTMsXCJkY3N0XCIsITApfX07S1hiLnByb3RvdHlwZS5RYz1mdW5jdGlvbigpe18uZGUoXCJsaC1pbVwiKTtfLk94LnByb3RvdHlwZS5RYy5jYWxsKHRoaXMpfTt2YXIgTFhiPWZ1bmN0aW9uKGEsYil7Xy5NeC5jYWxsKHRoaXMpO3RoaXMuR2E9YTt0aGlzLm9hPWJ9O18uRChMWGIsXy5NeCk7TFhiLnByb3RvdHlwZS5BYT1mdW5jdGlvbigpe3JldHVybltcIm1cIix0aGlzLkdhXX07dmFyIE5YYj1mdW5jdGlvbihhLGIsYyl7Xy5PeC5jYWxsKHRoaXMsYSxiLGMpO3RoaXMuYWRkTGlzdGVuZXIod2luZG93LFwiVVBhR3djXCIsdGhpcy5CYS5iaW5kKHRoaXMpKTt0aGlzLmFkZExpc3RlbmVyKHdpbmRvdyxcIm9FZGVIZlwiLHRoaXMuQ2EuYmluZCh0aGlzKSk7TVhiKHRoaXMsZG9jdW1lbnQuYm9keS5xdWVyeVNlbGVjdG9yKFwiW2RhdGEtYXR0bm1zXVwiKSl9O18uRChOWGIsXy5PeCk7TlhiLnByb3RvdHlwZS5CYT1mdW5jdGlvbihhKXt2YXIgYixjPWE9PW51bGw/dm9pZCAwOihiPWEuVWphKT09bnVsbD92b2lkIDA6Yi5jYWxsKGEpO2MgaW5zdGFuY2VvZiBDdXN0b21FdmVudCYmKGE9Yy5kZXRhaWwpJiYoYT1hLm1yKSYmKF8uTWsod2luZG93LFwiYXR0bl9kb21fdXBkYXRlXCIsbnVsbCksTVhiKHRoaXMsYSkpfTtcbnZhciBNWGI9ZnVuY3Rpb24oYSxiKXsoYj1iPT1udWxsP3ZvaWQgMDpiLmRhdGFzZXQuYXR0bm1zKSYmT2JqZWN0LnZhbHVlcyhDWGIpLmluY2x1ZGVzKGIpJiZhLm9hLm9hJiZhLmxvZ2dlci5sb2cobmV3IExYYihiLGEub2Eub2EuQWEpKX07TlhiLnByb3RvdHlwZS5DYT1mdW5jdGlvbihhKXtpZigoYT1hLnoxYikmJk9iamVjdC52YWx1ZXMoRFhiKS5pbmNsdWRlcyhhKSYmdGhpcy5vYS5vYSl7YT09PVwiZG9cIj9fLk1rKHdpbmRvdyxcImF0dG5fcGF1c2VcIixudWxsKTphPT09XCJkY1wiP18uTWsod2luZG93LFwiYXR0bl9yZXN1bWVcIixudWxsKTpfLk1rKHdpbmRvdyxcImF0dG5fZG9tX3VwZGF0ZVwiLG51bGwpO3ZhciBiLGM9KGI9dGhpcy5vYS5vYSk9PW51bGw/dm9pZCAwOmIuQWE7dGhpcy5sb2dnZXIubG9nKG5ldyBMWGIoYSxjKSl9fTt2YXIgT1hiPWZ1bmN0aW9uKGEsYixjKXtfLk14LmNhbGwodGhpcyk7dGhpcy5PYT1hO3RoaXMuTGE9Yjt0aGlzLkdhPWN9O18uRChPWGIsXy5NeCk7T1hiLnByb3RvdHlwZS5BYT1mdW5jdGlvbigpe3JldHVybltcImZcIix0aGlzLkxhLHRoaXMuT2EsdGhpcy5HYV19O3ZhciBQWGI9ZnVuY3Rpb24oYSxiKXtfLkZrLmNhbGwodGhpcyxcInZlLWNvbnRhaW5lci1ldmVudFwiKTt0aGlzLnRFPWE7dGhpcy50aW1lc3RhbXA9Yn07Xy5EKFBYYixfLkZrKTt2YXIgUVhiPVtcInNtc3JjXCIsXCJoc2NjXCJdLFNYYj1mdW5jdGlvbihhLGIsYyl7Xy5PeC5jYWxsKHRoaXMsYSxiLGMpO3ZhciBkPXRoaXM7dGhpcy5aZD17fTt0aGlzLkJhPXt9O3RoaXMuQ2E9e307dGhpcy5HYSgpO3RoaXMuYWRkTGlzdGVuZXIod2luZG93LFwiYXR0bi1zd2lwZVwiLGZ1bmN0aW9uKGUpe3JldHVybiBSWGIoZCxlKX0pO3RoaXMuYWRkTGlzdGVuZXIoYyxcImF0dG4tZG9tLWNoZ1wiLHRoaXMuR2EsITEsdGhpcyl9O18uRChTWGIsXy5PeCk7XG5TWGIucHJvdG90eXBlLkdhPWZ1bmN0aW9uKCl7VFhiKHRoaXMpO2Zvcih2YXIgYT1fLlBhKEFycmF5LmZyb20oXy5tbChcImctc2Nyb2xsaW5nLWNhcm91c2VsXCIpKSksYj1hLm5leHQoKTshYi5kb25lO2I9YS5uZXh0KCkpKGI9Yi52YWx1ZS5xdWVyeVNlbGVjdG9yKCdbanNuYW1lPVwiaGFBY2xmXCJdJykpJiZVWGIodGhpcyxiKTthPV8uUGEoQXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFwiW2RhdGEtc2NjYV1cIikpKTtmb3IoYj1hLm5leHQoKTshYi5kb25lO2I9YS5uZXh0KCkpVVhiKHRoaXMsYi52YWx1ZSk7YT1fLlBhKEFycmF5LmZyb20oXy5tbChcImctdGFic1wiKSkpO2ZvcihiPWEubmV4dCgpOyFiLmRvbmU7Yj1hLm5leHQoKSkoYj1iLnZhbHVlLnF1ZXJ5U2VsZWN0b3IoJ1tqc25hbWU9XCJqdFc3TmJcIl0nKSkmJlVYYih0aGlzLGIpO2E9Xy5QYShRWGIpO2ZvcihiPWEubmV4dCgpOyFiLmRvbmU7Yj1hLm5leHQoKSl7Yj1fLm5sKGIudmFsdWUpO2Zvcih2YXIgYz0wO2M8XG5iLmxlbmd0aDtjKyspVVhiKHRoaXMsYltjXSl9fTtcbnZhciBVWGI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1WWGIoYSxiKTtpZihjKXt2YXIgZD1jLmdldElkZW50aWZpZXIoKTthLkJhW2RdPTA7YS5DYVtkXT0wO3ZhciBlPWEuQWEubGlzdGVuKGIsXCJzY3JvbGxcIixmdW5jdGlvbigpe0FYYihhKTthLkJhW2RdPU1hdGgucm91bmQoYi5zY3JvbGxMZWZ0KTtfLm1XYihhLGZ1bmN0aW9uKCl7dmFyIGY9Yy5nZXRJZGVudGlmaWVyKCksZz1hLkJhW2ZdLWEuQ2FbZl07YS5DYVtmXT1hLkJhW2ZdO2EubG9nZ2VyLmxvZyhuZXcgT1hiKGMuQmEsYy5DYSxnKSk7Xy5NayhhLm9hLFwiYXR0bi1jYXItc2NybFwiLG5ldyBQWGIoYyxEYXRlLm5vdygpKSk7Xy5uV2IoYSxcInJzdHZfXCIrZil9LDUwMCxcInJzdHZfXCIrZCl9KTtlJiYoYS5aZFtkXT1lKX19LFJYYj1mdW5jdGlvbihhLGIpe3ZhciBjPWIuZWwsZD1iLmRpc3RhbmNlO2lmKGMmJmQpe3ZhciBlPV8uTldiKGEub2EsYyk7ZSYmXy5tV2IoYSxmdW5jdGlvbigpe2UmJihhLmxvZ2dlci5sb2cobmV3IE9YYihlLkJhLFxuZS5DYSxkKSksXy5NayhhLm9hLFwiYXR0bi1jYXItc2NybFwiLG5ldyBQWGIoZSxEYXRlLm5vdygpKSkpfSw1MDAsXCJyc3R2X1wiK2UuZ2V0SWRlbnRpZmllcigpLCEwKX19O1NYYi5wcm90b3R5cGUuUWM9ZnVuY3Rpb24oKXtUWGIodGhpcyk7dGhpcy5CYT17fTt0aGlzLkNhPXt9O18uT3gucHJvdG90eXBlLlFjLmNhbGwodGhpcyl9O3ZhciBUWGI9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiIGluIGEuWmQpYS5aZFtiXSYmYS5BYS5LbyhhLlpkW2JdKTthLlpkPXt9fSxWWGI9ZnVuY3Rpb24oYSxiKXtpZighYilyZXR1cm4gbnVsbDtmb3IoO2IhPT1udWxsJiZiIT09ZG9jdW1lbnQuYm9keTspe3ZhciBjPV8uTldiKGEub2EsYik7aWYoYylyZXR1cm4gYztiPWIucGFyZW50RWxlbWVudH1yZXR1cm4gbnVsbH07dmFyIFdYYj1mdW5jdGlvbihhKXtfLk14LmNhbGwodGhpcyk7dGhpcy5HYT1hfTtfLkQoV1hiLF8uTXgpO1dYYi5wcm90b3R5cGUuQWE9ZnVuY3Rpb24oKXtyZXR1cm5bXCJCXCIsdGhpcy5HYV19O3ZhciBYWGI9ZnVuY3Rpb24oYSxiLGMpe18uT3guY2FsbCh0aGlzLGEsYixjKTt0aGlzLkJhPV8uUXlhKCk7YT1uZXcgV1hiKHRoaXMuQmEpO3RoaXMub2Eub2EmJihhLm9hPXRoaXMub2Eub2EuQWEpO3RoaXMubG9nZ2VyLmxvZyhhKTt0aGlzLm9hLmNsaWVudEhlaWdodD10aGlzLkJhO3RoaXMuYWRkTGlzdGVuZXIodGhpcy5vYSxcImF0dG4tZy1jbGtcIix0aGlzLkdhLCExLHRoaXMpfTtfLkQoWFhiLF8uT3gpO1hYYi5wcm90b3R5cGUuR2E9ZnVuY3Rpb24oKXtfLm1XYih0aGlzLCgwLF8uaGgpKHRoaXMuQ2EsdGhpcyksMUUzLFwidmNoY1wiKX07XG5YWGIucHJvdG90eXBlLkNhPWZ1bmN0aW9uKCl7Xy5uV2IodGhpcyxcInZjaGNcIik7Xy5uV2IodGhpcyxcInZjaHJjXCIpO2lmKCF0aGlzLm9hLkxhKXt2YXIgYT1fLlF5YSgpO2lmKGEhPXRoaXMuQmEpdGhpcy5CYT1hLF8ubVdiKHRoaXMsKDAsXy5oaCkodGhpcy5DYSx0aGlzKSwxMDAsXCJ2Y2hyY1wiKTtlbHNlIGlmKHRoaXMub2EuY2xpZW50SGVpZ2h0IT10aGlzLkJhJiYodGhpcy5vYS5jbGllbnRIZWlnaHQ9dGhpcy5CYSx0aGlzLmxvZ2dlci5sb2cobmV3IFdYYih0aGlzLkJhKSkselhiKHRoaXMsbmV3IHhYYighMCksITApLHRoaXMub2Eub2EpKXthPXRoaXMub2Eub2E7dmFyIGI9RGF0ZS5ub3coKTthLkFhPWI7dGhpcy5vYS5kaXNwYXRjaEV2ZW50KFwiYXR0bi12cy1jaGdcIil9fX07dmFyIFlYYj1mdW5jdGlvbihhLGIsYyl7Xy5PeC5jYWxsKHRoaXMsYSxiLGMpO3RoaXMuQmE9e307dGhpcy5DYSgpO3RoaXMuYWRkTGlzdGVuZXIoYyxcImF0dG4tdmUtY2hnXCIsdGhpcy5DYSwhMSx0aGlzKX07Xy5EKFlYYixfLk94KTtZWGIucHJvdG90eXBlLkNhPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcztaWGIodGhpcyk7Zm9yKHZhciBiPV8uUGEodGhpcy5vYS5BYSksYz1iLm5leHQoKSxkPXt9OyFjLmRvbmU7ZD17TDVhOnZvaWQgMCxWX2E6dm9pZCAwfSxjPWIubmV4dCgpKWQuVl9hPWMudmFsdWUsZC5WX2EuY2hpbGRyZW4ubGVuZ3RoPD0wfHwoZC5MNWE9ZC5WX2EuVGMsZC5MNWEmJihjPXRoaXMuQWEubGlzdGVuKGQuTDVhLFwic2Nyb2xsXCIsZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGYpe3JldHVybiAkWGIoYSxlLkw1YSxlLlZfYSxmKX19KGQpKSkmJih0aGlzLkJhW2QuVl9hLmdldElkZW50aWZpZXIoKV09YykpfTtcbnZhciAkWGI9ZnVuY3Rpb24oYSxiLGMsZCl7YVliKGQpP2JZYihhLGIsYyxkKTpfLm1XYihhLGZ1bmN0aW9uKCl7cmV0dXJuIGJZYihhLGIsYyxkKX0sNTAwLFwiY3R2X1wiK2MuZ2V0SWRlbnRpZmllcigpKX0sYlliPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPURhdGUubm93KCk7dmFyIGY9TWF0aC5yb3VuZChiLnNjcm9sbFRvcCktYy5zY3JvbGxZLGc9TWF0aC5yb3VuZChiLnNjcm9sbExlZnQpLWMuR2E7aWYoZ3x8ZilkPXtkZWx0YVg6ZyxkZWx0YVk6Zn07ZWxzZXt2YXIgaDtmPWQ9PW51bGw/dm9pZCAwOihoPWQuVWphKT09bnVsbD92b2lkIDA6aC5jYWxsKGQpO2lmKGYgaW5zdGFuY2VvZiBDdXN0b21FdmVudCl7dmFyIGs7ZD17ZGVsdGFYOjAsZGVsdGFZOigoaz1mLmRldGFpbCk9PW51bGw/dm9pZCAwOmsuVEZiKXx8MH19ZWxzZSBkPXtkZWx0YVg6MCxkZWx0YVk6MH19az1kLmRlbHRhWDtkPWQuZGVsdGFZOyhrfHxkKSYmYS5sb2dnZXIubG9nKG5ldyB5WGIoZSxrLGQsYy5DYSxjLkJhKSk7XG5jLnNjcm9sbFk9TWF0aC5yb3VuZChiLnNjcm9sbFRvcCk7Yy5HYT1NYXRoLnJvdW5kKGIuc2Nyb2xsTGVmdCk7Xy5uV2IoYSxcImN0dl9cIitjLmdldElkZW50aWZpZXIoKSk7elhiKGEsbmV3IHhYYighMCksITApO18uTWsoYS5vYSxcImF0dG4tdnMtY2hnXCIsbmV3IFBYYihjLERhdGUubm93KCkpKX0sYVliPWZ1bmN0aW9uKGEpe3ZhciBiLGMsZDtyZXR1cm4hISgoYz1hPT1udWxsP3ZvaWQgMDooYj1hLlVqYSk9PW51bGw/dm9pZCAwOmIuY2FsbChhKSk9PW51bGw/MDooZD1jLmRldGFpbCk9PW51bGw/MDpkLlRGYil9LFpYYj1mdW5jdGlvbihhKXtmb3IodmFyIGIgaW4gYS5CYSlhLkJhW2JdJiZhLkFhLktvKGEuQmFbYl0pO2EuQmE9e319O1lYYi5wcm90b3R5cGUuUWM9ZnVuY3Rpb24oKXtaWGIodGhpcyk7Xy5PeC5wcm90b3R5cGUuUWMuY2FsbCh0aGlzKX07dmFyIGNZYj1mdW5jdGlvbihhKXtfLk14LmNhbGwodGhpcyk7dGhpcy5vYT1hfTtfLkQoY1liLF8uTXgpO2NZYi5wcm90b3R5cGUuQWE9ZnVuY3Rpb24oKXtyZXR1cm5bXCJaXCJdfTt2YXIgZVliPWZ1bmN0aW9uKGEsYixjLGQpe18uT3guY2FsbCh0aGlzLGEsYixjKTt0aGlzLmFkZExpc3RlbmVyKHdpbmRvdyxcInJlc2l6ZVwiLHRoaXMuQmEsITEsdGhpcyk7dGhpcy5hZGRMaXN0ZW5lcih3aW5kb3csXCJzY3JvbGxcIix0aGlzLkJhLCExLHRoaXMpO3RoaXMuYWRkTGlzdGVuZXIod2luZG93LFwidG91Y2hlbmRcIix0aGlzLkNhLCExLHRoaXMpO0FYYih0aGlzKTtkP2RZYih0aGlzLGQpOmRZYih0aGlzKTt3aW5kb3cuaW5uZXJXaWR0aCE9MCYmKHRoaXMub2Euem9vbUxldmVsPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aC93aW5kb3cuaW5uZXJXaWR0aCl9O18uRChlWWIsXy5PeCk7ZVliLnByb3RvdHlwZS5CYT1mdW5jdGlvbigpe3ZhciBhPXRoaXM7Xy5tV2IodGhpcyxmdW5jdGlvbigpe2RZYihhKX0sNTAwLFwicnB0dlwiKX07XG5lWWIucHJvdG90eXBlLkNhPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcztfLm1XYih0aGlzLGZ1bmN0aW9uKCl7aWYod2luZG93LmlubmVyV2lkdGghPTApe3ZhciBiPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aC93aW5kb3cuaW5uZXJXaWR0aDtiIT1hLm9hLnpvb21MZXZlbCYmKGEubG9nZ2VyLmxvZyhuZXcgY1liKERhdGUubm93KCkpKSxhLm9hLnpvb21MZXZlbD1iKTtfLm5XYihhLFwicnB6bHRcIil9fSw1MDAsXCJycHpsdFwiKX07dmFyIGRZYj1mdW5jdGlvbihhLGIpe3ZhciBjPW5ldyB4WGIoITApO2ImJihjLkFhPWIpO3pYYihhLGMpO18ubldiKGEsXCJycHR2XCIpfTt2YXIgaVliPWZ1bmN0aW9uKGEsYixjKXtfLk94LmNhbGwodGhpcyxhLGIsYyk7dmFyIGQ9dGhpczt0aGlzLkJhPV8uWGQod2luZG93LFwiYXR0bl9kb21fdXBkYXRlXCIsZnVuY3Rpb24oZSl7ZT09PW51bGw/ZlliKGQpOmQub2EmJmQub2Eub2EmJihlLm9ic2VydmUmJmUua1NiPT09bnVsbHx8KGUub2JzZXJ2ZT9nWWIoZCxlLmNvbnRhaW5lcixlLmtTYik6aFliKGQsZS5jb250YWluZXIpKSl9KX07Xy5EKGlZYixfLk94KTtcbnZhciBmWWI9ZnVuY3Rpb24oYSl7aWYoYS5vYS5vYSl7dmFyIGI9RGF0ZS5ub3coKTthLm9hLm9hLkFhPWI7YS5sb2dnZXIubG9nKG5ldyBFWGIoYikpO2Eub2EuZGlzcGF0Y2hFdmVudChcImF0dG4tZG9tLWNoZ1wiKX19LGhZYj1mdW5jdGlvbihhLGIpe2Iuc2V0QXR0cmlidXRlKFwiZGVjb2RlLWRhdGEtdmVkXCIsXCIxXCIpO2ZZYihhKX0salliPWZ1bmN0aW9uKGEsYil7aWYoYS5jb250YWlucylyZXR1cm4gYS5jb250YWlucyhiKTtmb3IoO2IucGFyZW50Tm9kZTspaWYoYj1iLnBhcmVudE5vZGUsYj09PWEpcmV0dXJuITA7cmV0dXJuITF9LGdZYj1mdW5jdGlvbihhLGIsYyl7aWYoalliKGIsYykpaFliKGEsYyk7ZWxzZXt2YXIgZD0wLGU9ZnVuY3Rpb24oKXtkKz01MDtqWWIoYixjKT9oWWIoYSxjKTpkPD01RTMmJl8ubFdiKGEsZSw1MCl9O18ubFdiKGEsZSw1MCl9fTtpWWIucHJvdG90eXBlLlFjPWZ1bmN0aW9uKCl7dGhpcy5CYSE9PW51bGwmJl8uTGsodGhpcy5CYSk7Xy5PeC5wcm90b3R5cGUuUWMuY2FsbCh0aGlzKX07dmFyIGtZYj1mdW5jdGlvbihhLGIsYyl7Xy5NeC5jYWxsKHRoaXMpO3RoaXMub2E9YTt0aGlzLkdhPWI7dGhpcy5MYT1jfTtfLkQoa1liLF8uTXgpO2tZYi5wcm90b3R5cGUuQWE9ZnVuY3Rpb24oKXtyZXR1cm5bXCJDXCIsdGhpcy5HYSx0aGlzLkxhXX07dmFyIGxZYj1mdW5jdGlvbihhLGIsYyl7Xy5NeC5jYWxsKHRoaXMpO3RoaXMuZWk9YTt0aGlzLmluZGV4PWJ8fDA7dGhpcy5vYT1jfHxEYXRlLm5vdygpfTtfLkQobFliLF8uTXgpO2xZYi5wcm90b3R5cGUuQWE9ZnVuY3Rpb24oKXtyZXR1cm5bXCJOXCIsdGhpcy5pbmRleF0uY29uY2F0KF8ubWQodGhpcy5laS5zcGxpdChcIjpcIikpKX07dmFyIG1ZYj1mdW5jdGlvbihhLGIsYyl7Xy5PeC5jYWxsKHRoaXMsYSxiLGMpO3RoaXMuQmE9W119O18uRChtWWIsXy5PeCk7XG5tWWIucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKCl7dmFyIGE9ZG9jdW1lbnQuYm9keTtpZih0aGlzLm9hLkxhKWE6e2E9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcIi5pbW1lcnNpdmUtY29udGFpbmVyXCIpO2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7YisrKXt2YXIgYz1hW2JdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKCEoYy53aWR0aDw9MHx8Yy5oZWlnaHQ8PTB8fGMudG9wPj13aW5kb3cuaW5uZXJIZWlnaHR8fGMuYm90dG9tPD0wfHxjLmxlZnQ+PXdpbmRvdy5pbm5lcldpZHRofHxjLnJpZ2h0PD0wKSl7YT1hW2JdO2JyZWFrIGF9fWE9ZG9jdW1lbnQuYm9keX1lbHNlIGlmKHRoaXMub2EuQ2EpYTp7YT10aGlzLm9hLkNhO2I9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcIltkZWNvZGUtZGF0YS12ZWRdXCIpO2I9Xy5QYShiKTtmb3IoYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpaWYoYz1jLnZhbHVlLHRoaXMuQWEub2EoYywhMCk9PT1hKXt2YXIgZD1jLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuaWYoZC53aWR0aD49d2luZG93LmlubmVyV2lkdGgmJmQuaGVpZ2h0Pj13aW5kb3cuaW5uZXJIZWlnaHQpe2E9YzticmVhayBhfX1hPWRvY3VtZW50LmJvZHl9aWYoYSYmYS5xdWVyeVNlbGVjdG9yQWxsKXt0aGlzLkJhPVtdO3RoaXMub2EuQWE9W107dGhpcy5vYS5HYT17fTtiPWEucXVlcnlTZWxlY3RvckFsbChcIltkZWNvZGUtZGF0YS12ZWRdXCIpO2ZvcihjPWIubGVuZ3RoLTE7Yz49MDtjLS0pblliKHRoaXMsYltjXSk7blliKHRoaXMsYSk7Yj1hLnF1ZXJ5U2VsZWN0b3JBbGwoXCJbZGF0YS1odmVpZF1cIik7b1liKHRoaXMsYSk7Zm9yKGE9MDthPGIubGVuZ3RoO2ErKylvWWIodGhpcyxiW2FdKX19O1xudmFyIG9ZYj1mdW5jdGlvbihhLGIpe3ZhciBjPWIuZ2V0QXR0cmlidXRlKFwiZGF0YS1odmVpZFwiKTtpZihjKWZvcih2YXIgZD0wO2Q8YS5CYS5sZW5ndGg7ZCsrKXt2YXIgZT1hLkJhW2RdO2lmKF8ud2YoZS5lbCxiKSl7ZD1uZXcgR1hiKGIsYyxlLmVpLGUuaW5kZXgpO2I9Xy5uZShiLGZ1bmN0aW9uKGYpe3JldHVybiBmJiZfLm1lKGYpP2YuaGFzQXR0cmlidXRlKFwiZGF0YS1saGNvbnRhaW5lclwiKTohMX0sITEpO2I9Xy5OV2IoYS5vYSxiKTtiIT1udWxsPyhiLmNoaWxkcmVuLnB1c2goZCksZC50RT1iKTphLm9hLkFhLnB1c2goZCk7KGI9YS5vYS5HYVtjXSl8fChiPWEub2EuR2FbY109W10pO2IucHVzaChkKTticmVha319fSxuWWI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLkFhLm9hKGIsYi5oYXNBdHRyaWJ1dGUoXCJkZWNvZGUtZGF0YS12ZWRcIikpO2lmKGMpe3ZhciBkPWEub2EsZT1kLlVhW2NdO2V8fChlPWQuVWFbY109KytkLmtiLGEubG9nZ2VyLmxvZyhuZXcgbFliKGMsZSxkLm9hP1xuZC5vYS5BYTpEYXRlLm5vdygpKSkpO2EuQmEucHVzaCh7ZWw6YixlaTpjLGluZGV4OmV9KX19O3ZhciBxWWI9ZnVuY3Rpb24oYSxiLGMpe18uT3guY2FsbCh0aGlzLGEsYixjKTt0aGlzLkdhPW5ldyBtWWIoYSxiLGMpO3RoaXMuQmE9MDt0aGlzLkNhPXRoaXMub2EuY2xpZW50SGVpZ2h0O3RoaXMuYWRkTGlzdGVuZXIoYyxcImF0dG4tdnMtY2hnXCIsdGhpcy5VYSwhMSx0aGlzKTt0aGlzLmFkZExpc3RlbmVyKGMsXCJhdHRuLWRvbS1jaGdcIix0aGlzLlJhLCExLHRoaXMpO3RoaXMuYWRkTGlzdGVuZXIoYyxcImF0dG4tY2FyLXNjcmxcIix0aGlzLkxhLCExLHRoaXMpO3RoaXMub2Eub2EmJnBZYih0aGlzLHRoaXMub2Eub2EpfTtfLkQocVliLF8uT3gpO1xudmFyIHJZYj1mdW5jdGlvbihhKXtmb3IodmFyIGI9YS5vYS5BYSxjPTA7YzxiLmxlbmd0aDtjKyspe3ZhciBkPWJbY107cVhiKGQpO2Q9Xy5QYShkLmNoaWxkcmVuKTtmb3IodmFyIGU9ZC5uZXh0KCk7IWUuZG9uZTtlPWQubmV4dCgpKXFYYihlLnZhbHVlKX1hLkJhPURhdGUubm93KCl9LHNZYj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1bXSxkPWEub2EuQWEsZT0wO2U8ZC5sZW5ndGg7ZSsrKXt2YXIgZj1kW2VdO3NYYihmLGIsYS5vYSkmJihjLnB1c2goZiksSFhiKGYpKTtmPV8uUGEoZi5jaGlsZHJlbik7Zm9yKHZhciBnPWYubmV4dCgpOyFnLmRvbmU7Zz1mLm5leHQoKSlnPWcudmFsdWUsc1hiKGcsYixhLm9hKSYmKGMucHVzaChnKSxIWGIoZykpfWZvcihkPTA7ZDxjLmxlbmd0aDtkKyspYS5sb2dnZXIubG9nKGNbZF0ubTYoYi5BYSkpfTtxWWIucHJvdG90eXBlLlJhPWZ1bmN0aW9uKCl7dGhpcy5vYS5vYSYmKHRoaXMub2EuQWE9W10scFliKHRoaXMsdGhpcy5vYS5vYSkpfTtcbnZhciBwWWI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLkFhO2lmKGEub2EuQWEubGVuZ3RoPD0wKXthLkdhLnBhcnNlKCk7clliKGEpO2Zvcih2YXIgZD1fLlBhKGEub2EuQWEpLGU9ZC5uZXh0KCk7IWUuZG9uZTtlPWQubmV4dCgpKWU9ZS52YWx1ZSxlLmNoaWxkcmVuLmxlbmd0aD4wJiZhLmxvZ2dlci5sb2cobmV3IGtZYihjLGUuQ2EsZS5CYSkpO2Eub2EuZGlzcGF0Y2hFdmVudChcImF0dG4tdmUtY2hnXCIpfWVsc2UgRGF0ZS5ub3coKS1hLkJhPjUwJiZyWWIoYSk7c1liKGEsYil9O3FZYi5wcm90b3R5cGUuVWE9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9hLm9hO2EmJih0aGlzLkNhPT10aGlzLm9hLmNsaWVudEhlaWdodD9zWWIodGhpcyxhKTpwWWIodGhpcyxhKSx0aGlzLkNhPXRoaXMub2EuY2xpZW50SGVpZ2h0KX07XG5xWWIucHJvdG90eXBlLkxhPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMub2Eub2EsYz1hLnRFO2lmKGImJmMpe2M9Yy5UYy5xdWVyeVNlbGVjdG9yQWxsKFwiW2RhdGEtaHZlaWRdXCIpO2E9YS50aW1lc3RhbXB8fERhdGUubm93KCk7Zm9yKHZhciBkPTA7ZDxjLmxlbmd0aDtkKyspe3ZhciBlPV8uTldiKHRoaXMub2EsY1tkXSk7ZSYmcVhiKGUpJiYoKGUub2EmJl8uclhiKGUub2EsYi5vYSl8fGUuQWEmJl8uclhiKGUuQWEsYi5vYSkpJiZ0aGlzLmxvZ2dlci5sb2coZS5tNihhKSksSFhiKGUpKX19fTtxWWIucHJvdG90eXBlLlFjPWZ1bmN0aW9uKCl7dGhpcy5vYS5BYT1bXTt0aGlzLkdhLmRpc3Bvc2UoKTtfLk94LnByb3RvdHlwZS5RYy5jYWxsKHRoaXMpfTt2YXIgdFliPWZ1bmN0aW9uKGEsYixjKXtfLk14LmNhbGwodGhpcyk7dGhpcy5HYT1NYXRoLnJvdW5kKGEuY2xpZW50WCk7dGhpcy5MYT1NYXRoLnJvdW5kKGEuY2xpZW50WSk7dGhpcy5vYT1iO3RoaXMuT2E9Y307Xy5EKHRZYixfLk14KTt0WWIucHJvdG90eXBlLkFhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuT2E/W1wiY1wiLHRoaXMuR2EsdGhpcy5MYSwxXTpbXCJjXCIsdGhpcy5HYSx0aGlzLkxhXX07dmFyIHVZYj1mdW5jdGlvbihhLGIsYyxkKXtkPWQ9PT12b2lkIDA/ITE6ZDtfLk14LmNhbGwodGhpcyk7dmFyIGU9Yi5jbGllbnRYfHwwO2I9Yi5jbGllbnRZfHwwO3ZhciBmPWEuVGMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy5RYT1NYXRoLnJvdW5kKGUtZi5sZWZ0KTt0aGlzLlJhPU1hdGgucm91bmQoYi1mLnRvcCk7dGhpcy5HYT1kO3RoaXMuT2E9YS5CYTt0aGlzLkxhPWEuQ2E7dGhpcy5vYT1jfHxEYXRlLm5vdygpfTtfLkQodVliLF8uTXgpO3VZYi5wcm90b3R5cGUuQWE9ZnVuY3Rpb24oKXt2YXIgYT1bXCJHXCIsdGhpcy5MYSx0aGlzLk9hLHRoaXMuUWEsdGhpcy5SYV07dGhpcy5HYSYmYS5wdXNoKFwiMVwiKTtyZXR1cm4gYX07dmFyIHdZYj1mdW5jdGlvbihhLGIsYyl7Xy5PeC5jYWxsKHRoaXMsYSxiLGMpO3ZhciBkPXRoaXM7dGhpcy5CYT1bXTt0aGlzLkxhKCk7dGhpcy5hZGRMaXN0ZW5lcihjLFwiYXR0bi12ZS1jaGdcIix0aGlzLkxhLCExLHRoaXMpO3RoaXMuYWRkTGlzdGVuZXIoZG9jdW1lbnQsXCJjbGlja1wiLGZ1bmN0aW9uKGUpe3ZZYihkLGUpfSwhMCk7dGhpcy5hZGRMaXN0ZW5lcihkb2N1bWVudCxcImNvbnRleHRtZW51XCIsZnVuY3Rpb24oZSl7dlliKGQsZSl9LCEwKTt0aGlzLkNhPXRoaXMuR2E9bnVsbH07Xy5EKHdZYixfLk94KTtcbndZYi5wcm90b3R5cGUuTGE9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3hZYih0aGlzKTtmb3IodmFyIGI9Xy5QYShfLmFYYih0aGlzLm9hKSksYz1iLm5leHQoKSxkPXt9OyFjLmRvbmU7ZD17ckxiOnZvaWQgMH0sYz1iLm5leHQoKSlkLnJMYj1jLnZhbHVlLHRoaXMuQmEucHVzaCh0aGlzLkFhLmxpc3RlbihkLnJMYi5UYyxcImNsaWNrXCIsZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGYpe3ZhciBnPWUuckxiO2lmKGcmJmcuVGMmJmYmJihmPWYuVWphJiZmLllnLGYuY2xpZW50WCYmZi5jbGllbnRZKSl7QVhiKGEpO3ZhciBoPXlZYihhLGYpO3FYYihnKTtnLkFhIT1udWxsJiYhZy51ZWEoKXx8YS5sb2dnZXIubG9nKGcubTYoaCkpO2EubG9nZ2VyLmxvZyhuZXcgdVliKGcsZixoKSk7YS5vYS5kaXNwYXRjaEV2ZW50KFwiYXR0bi1nLWNsa1wiKX19fShkKSkpfTtcbnZhciB4WWI9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTA7YjxhLkJhLmxlbmd0aDtiKyspYS5CYVtiXSYmYS5BYS5LbyhhLkJhW2JdKTthLkJhPVtdfSx2WWI9ZnVuY3Rpb24oYSxiKXtpZihiJiZiLllnKXt2YXIgYz1iLllnO2lmKGMuY2xpZW50WCYmYy5jbGllbnRZKXtpZihjKXt2YXIgZD1jLnRhcmdldHx8Yy5zcmNFbGVtZW50O2lmKGQuaWQ9PVwic2VuZGVyLXBpbmctZWxcIilkPW51bGw7ZWxzZXtmb3IodmFyIGU9Xy5KeC5jb25maWcuQmE7ZS0tID4wJiZkJiZkLm5vZGVOYW1lIT1cIkFcIjspZD1kLnBhcmVudEVsZW1lbnQ7ZD1lPj0wJiZkP2Q6bnVsbH19ZWxzZSBkPW51bGw7aWYoZCl7QVhiKGEpO2Q9ZC5ub2RlTmFtZT09XCJBXCImJmQudGFyZ2V0PT1cIl9ibGFua1wifHxjLmJ1dHRvbj4wfHxjLnR5cGU9PVwiY29udGV4dG1lbnVcInx8Yy5zaGlmdEtleXx8Yy5jdHJsS2V5fHxjLm1ldGFLZXk/ITA6ITE7ZT15WWIoYSxjKTtmb3IoYj1iLnRhcmdldDtiOyl7dmFyIGY9Xy5OV2IoYS5vYSxiKTtcbmlmKGYhPW51bGwpe2EubG9nZ2VyLmxvZyhuZXcgdVliKGYsYyxlLCEwKSk7YnJlYWt9Yj1iLnBhcmVudEVsZW1lbnR9YS5sb2dnZXIubG9nKG5ldyB0WWIoYyxlLGQpKTthLm9hLmRpc3BhdGNoRXZlbnQoXCJhdHRuLWEtY2xrXCIpO18uaVdiKGEubG9nZ2VyLFwiQ1wiKX19fX07d1liLnByb3RvdHlwZS5RYz1mdW5jdGlvbigpe3hZYih0aGlzKTtfLk94LnByb3RvdHlwZS5RYy5jYWxsKHRoaXMpfTt2YXIgeVliPWZ1bmN0aW9uKGEsYil7dmFyIGM9RGF0ZS5ub3coKTtpZighYilyZXR1cm4gYztiPWIudGltZVN0YW1wO2IhPWEuR2EmJihhLkNhPWMsYS5HYT1iKTtyZXR1cm4gYS5DYT9hLkNhOmN9O3ZhciB6WWI9ZnVuY3Rpb24oYSxiLGMpe0pYYi5jYWxsKHRoaXMsYSxjPT09dm9pZCAwPzA6Yyk7dGhpcy5MYT1ifTtfLkQoelliLEpYYik7elliLnByb3RvdHlwZS5BYT1mdW5jdGlvbigpe3JldHVybltdLmNvbmNhdChfLm1kKEpYYi5wcm90b3R5cGUuQWEuY2FsbCh0aGlzKSksXy5tZCh0aGlzLkxhLnNwbGl0KFwiOlwiKSkpfTt2YXIgQlliPWZ1bmN0aW9uKGEsYixjKXtfLk94LmNhbGwodGhpcyxhLGIsYyk7dmFyIGQ9dGhpczt0aGlzLkNhPV8uWGQod2luZG93LFwiYXR0bl92aWV3ZXJfb3BlblwiLGZ1bmN0aW9uKGUpe2UmJmUhPT1kLm9hLkNhJiYoZC5vYS5DYT1lLGQubG9nZ2VyLmxvZyhuZXcgelliKCEwLGUpKSxBWWIoZCkpfSk7dGhpcy5CYT1fLlhkKHdpbmRvdyxcImF0dG5fdmlld2VyX2Nsb3NlXCIsZnVuY3Rpb24oKXtkLm9hLkNhJiYoZC5sb2dnZXIubG9nKG5ldyB6WWIoITEsZC5vYS5DYSkpLGQub2EuQ2E9bnVsbCxBWWIoZCkpfSl9O18uRChCWWIsXy5PeCk7dmFyIEFZYj1mdW5jdGlvbihhKXtpZihhLm9hJiZhLm9hLm9hKXt2YXIgYj1hLm9hLm9hLGM9RGF0ZS5ub3coKTtiLkFhPWM7YS5vYS5kaXNwYXRjaEV2ZW50KFwiYXR0bi1kb20tY2hnXCIpfX07QlliLnByb3RvdHlwZS5RYz1mdW5jdGlvbigpe3RoaXMuQ2EmJl8uTGsodGhpcy5DYSk7dGhpcy5CYSYmXy5Mayh0aGlzLkJhKTtfLk94LnByb3RvdHlwZS5RYy5jYWxsKHRoaXMpfTt2YXIgQ1liPWZ1bmN0aW9uKGEsYixjKXtfLk94LmNhbGwodGhpcyxhLGIsYyk7dmFyIGQ9dGhpczt0aGlzLkJhPSExO3RoaXMuYWRkTGlzdGVuZXIod2luZG93LFwiYmx1clwiLGZ1bmN0aW9uKCl7QlhiKGQpfSwhMSx0aGlzKTt0aGlzLmFkZExpc3RlbmVyKHdpbmRvdyxcImF0dG4taXZpc1wiLGZ1bmN0aW9uKCl7QlhiKGQpfSwhMSx0aGlzKTt0aGlzLmFkZExpc3RlbmVyKHdpbmRvdyxcImZvY3VzXCIsZnVuY3Rpb24oKXtBWGIoZCl9LCExLHRoaXMpO3RoaXMuYWRkTGlzdGVuZXIod2luZG93LFwiYXR0bi12aXNcIixmdW5jdGlvbigpe0FYYihkKX0sITEsdGhpcyk7dGhpcy5hZGRMaXN0ZW5lcih3aW5kb3csXCJhdHRuX3BhdXNlXCIsZnVuY3Rpb24oKXtyZXR1cm4gQlhiKGQsITApfSwhMSx0aGlzKTt0aGlzLmFkZExpc3RlbmVyKHdpbmRvdyxcImF0dG5fcmVzdW1lXCIsZnVuY3Rpb24oKXtyZXR1cm4gQVhiKGQsITApfSwhMSx0aGlzKTtfLkp4LmNvbmZpZy5vYXx8KHRoaXMuYWRkTGlzdGVuZXIod2luZG93LFxuXCJwYWdlaGlkZVwiLHRoaXMuQ2EsITEsdGhpcyksdGhpcy5hZGRMaXN0ZW5lcih3aW5kb3csXCJwYWdlc2hvd1wiLHRoaXMuR2EsITEsdGhpcykpfTtfLkQoQ1liLF8uT3gpO0NZYi5wcm90b3R5cGUuQ2E9ZnVuY3Rpb24oKXt0aGlzLkJhPSEwO0JYYih0aGlzKX07Q1liLnByb3RvdHlwZS5HYT1mdW5jdGlvbigpe3RoaXMub2EmJnRoaXMubG9nZ2VyJiYodGhpcy5CYT8odGhpcy5CYT0hMSx0aGlzLm9hLnJlc2V0KCksdGhpcy5sb2dnZXIucmVzZXQoKSxBWGIodGhpcykselhiKHRoaXMsbmV3IHhYYighMCksITApLHRoaXMub2EuZGlzcGF0Y2hFdmVudChcImF0dG4tZG9tLWNoZ1wiKSk6QVhiKHRoaXMpKX07dmFyIERZYj1mdW5jdGlvbihhKXthfHxuZXcgXy5NV2I7dGhpcy5vYT1bXX0sRVliPWZ1bmN0aW9uKGEsYil7YS5vYS5wdXNoKGIpfTtEWWIucHJvdG90eXBlLnN0b3A9ZnVuY3Rpb24oKXtpZih0aGlzLm9hKWZvcih2YXIgYT0wO2E8dGhpcy5vYS5sZW5ndGg7YSsrKXRoaXMub2FbYV0uZGlzcG9zZSgpO3RoaXMub2E9W119O3ZhciBGWWI9ZnVuY3Rpb24oKXt0aGlzLm9hPW51bGx9O1xuRlliLnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKCl7dmFyIGE9Xy5OeCxiPV8uSXgsYz1fLk9XYjtpZihhJiZiJiZjJiZcImdldEJvdW5kaW5nQ2xpZW50UmVjdFwiaW4gZG9jdW1lbnQuYm9keSYmXCJwYWdlWE9mZnNldFwiaW4gd2luZG93JiZcImlubmVyV2lkdGhcImluIHdpbmRvdyl7dmFyIGQ9Xy5HWWIoKTtfLkFXYihiLm9hLFwiVlwiKTt0aGlzLm9hPW5ldyBEWWIoYyk7RVliKHRoaXMub2EsbmV3IGVZYihhLGIsYyxkfHx2b2lkIDApKTtFWWIodGhpcy5vYSxuZXcgQ1liKGEsYixjKSk7RVliKHRoaXMub2EsbmV3IEtYYihhLGIsYykpO0VZYih0aGlzLm9hLG5ldyBCWWIoYSxiLGMpKTtFWWIodGhpcy5vYSxuZXcgWFhiKGEsYixjKSk7RVliKHRoaXMub2EsbmV3IGlZYihhLGIsYykpO0VZYih0aGlzLm9hLG5ldyBxWWIoYSxiLGMpKTtFWWIodGhpcy5vYSxuZXcgWVhiKGEsYixjKSk7RVliKHRoaXMub2EsbmV3IHdZYihhLGIsYykpO0VZYih0aGlzLm9hLG5ldyBTWGIoYSxiLGMpKTtfLlVXYi5tYWdpX2xvZ2dpbmdfZW5hYmxlZCYmXG5FWWIodGhpcy5vYSxuZXcgTlhiKGEsYixjKSl9fTtfLkdZYj1mdW5jdGlvbigpe2lmKCFnb29nbGV8fCFnb29nbGUudGltZXJzfHwhZ29vZ2xlLnRpbWVycy5sb2FkKXJldHVybiBudWxsO3ZhciBhPWdvb2dsZS50aW1lcnMubG9hZCxiPV8uUFRiKGEsXCJhZnRzXCIpO2lmKGIpcmV0dXJuIGI7Yj1fLlBUYihhLFwicHJ0XCIpO2E9Xy5QVGIoYSxcImFmdFwiKTtyZXR1cm4gYiYmYT9NYXRoLm1pbihiLGEpOmJ9O0ZZYi5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMub2EmJih0aGlzLm9hLnN0b3AoKSx0aGlzLm9hPW51bGwpfTtfLmNuKF8uUVdiLG5ldyBGWWIpO1xuXG5cbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG59KSh0aGlzLl9oZCk7XG4vLyBHb29nbGUgSW5jLlxuIn0sICJoZWFkZXJzU2l6ZSI6IDAsICJib2R5U2l6ZSI6IDE0OTczOSwgInJlZGlyZWN0VVJMIjogIiIsICJfdHJhbnNmZXJTaXplIjogMTQ5NzM5fSwgImNhY2hlIjoge30sICJ0aW1pbmdzIjogeyJkbnMiOiAtMSwgImNvbm5lY3QiOiAtMSwgInNzbCI6IC0xLCAic2VuZCI6IDAsICJ3YWl0IjogMTkuNDgzLCAicmVjZWl2ZSI6IDE4Ljc4NX0sICJwYWdlcmVmIjogInBhZ2VAMmU3YWNlOTU1YTY3NzNlY2ZkMmU5OGVmMmZkY2I3MDQiLCAic2VydmVySVBBZGRyZXNzIjogIlsyYTAwOjE0NTA6NDAwMTo4MDg6OjIwMDRdIiwgIl9zZXJ2ZXJQb3J0IjogNDQzLCAiX3NlY3VyaXR5RGV0YWlscyI6IHsicHJvdG9jb2wiOiAiUVVJQyIsICJzdWJqZWN0TmFtZSI6ICIqLmdvb2dsZS5jb20iLCAiaXNzdWVyIjogIldSMiIsICJ2YWxpZEZyb20iOiAxNzIyMzQyNzczLCAidmFsaWRUbyI6IDE3Mjk2MDAzNzJ9fSwgeyJzdGFydGVkRGF0ZVRpbWUiOiAiMjAyNC0wOC0wMVQxMjozMzoxMS45MzNaIiwgInRpbWUiOiAzMC4wOTEsICJyZXF1ZXN0IjogeyJtZXRob2QiOiAiR0VUIiwgInVybCI6ICJodHRwczovL3d3dy5nb29nbGUuY29tL3hqcy9fL2pzL21kPTIvaz14anMuaGQuZW4uekhBTHduUjgzcUUuTy9hbT1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQWhBQVVBQUNBQWdBQUFBQUFBQUFBQUFCQWdDQUFnQ2dBQUJBQUhBQWdBZ0lBQWdFQUFFU0NBRHpLQndDQUFNQUVBQkFBZ0FBQUFBSUNBQ0FBQUVBQUFBQkNBQUFBQUFBVUFBQUFBQUFBQUFBQUFBQUFBd2hBQUFBQUFBQUFBQUFBQUFJQUFBQ2dBd0FBQUFBQkFFQVFBQmpBQUFFZ0FBRUFBQURvQVVCd0FBeFNFQUFBQUFBQUFBQUFBQUFBQ0VDQ1lDNGtvQ0NBQUFBQUFBQUFBQUFBQUFBQUFFaEpKeFkyL3JzPUFDVDkwb0hZdEwzMVhfYWJvSlRwMk4xQm5lZnRVdXBXR2ciLCAiaHR0cFZlcnNpb24iOiAiaDMiLCAiY29va2llcyI6IFt7Im5hbWUiOiAiQUVDIiwgInZhbHVlIjogIkFWWUI3Y3Jhdjk0WU0tZmZKNlNqaTRRN3pMbVdpLUJhNEdvYkpfOXJPUWc5akh5b3UwbzZ1RXBXWHI4In0sIHsibmFtZSI6ICJfX1NlY3VyZS1FTklEIiwgInZhbHVlIjogIjIxLlNFPVpOTWhJY18yN3g0bW9wZllnd25yZExfTlMyUmU2TE56NTktMnJfUmtPMTFQSG5sd29vdW9aQ0NWOURJaTR6dFFTQlQ0YTZuaE8wTHFqcmFCeHhEOXJZS1NNbGVZakhsZmZhVEROLTUyZGljNnd2M2lYUjNfZ3NudWRFcUNjRFU0dnhjVTltQUFDbFlWUEk1WWlLM05GTTF5RHNIQlBwOERFNWo1V004R3dMV3ROcE5QbjRqNjlTblJHSTRfU2ZGY2diUHlzMF9vNjEtVnlpRVZfdXBGaEZtbmdUX3FEMDdhIn1dLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiOmF1dGhvcml0eSIsICJ2YWx1ZSI6ICJ3d3cuZ29vZ2xlLmNvbSJ9LCB7Im5hbWUiOiAiOm1ldGhvZCIsICJ2YWx1ZSI6ICJHRVQifSwgeyJuYW1lIjogIjpwYXRoIiwgInZhbHVlIjogIi94anMvXy9qcy9tZD0yL2s9eGpzLmhkLmVuLnpIQUx3blI4M3FFLk8vYW09QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFoQUFVQUFDQUFnQUFBQUFBQUFBQUFBQkFnQ0FBZ0NnQUFCQUFIQUFnQWdJQUFnRUFBRVNDQUR6S0J3Q0FBTUFFQUJBQWdBQUFBQUlDQUNBQUFFQUFBQUJDQUFBQUFBQVVBQUFBQUFBQUFBQUFBQUFBQXdoQUFBQUFBQUFBQUFBQUFBSUFBQUNnQXdBQUFBQUJBRUFRQUJqQUFBRWdBQUVBQUFEb0FVQndBQXhTRUFBQUFBQUFBQUFBQUFBQUNFQ0NZQzRrb0NDQUFBQUFBQUFBQUFBQUFBQUFBRWhKSnhZMi9ycz1BQ1Q5MG9IWXRMMzFYX2Fib0pUcDJOMUJuZWZ0VXVwV0dnIn0sIHsibmFtZSI6ICI6c2NoZW1lIiwgInZhbHVlIjogImh0dHBzIn0sIHsibmFtZSI6ICJhY2NlcHQiLCAidmFsdWUiOiAiKi8qIn0sIHsibmFtZSI6ICJhY2NlcHQtZW5jb2RpbmciLCAidmFsdWUiOiAiZ3ppcCwgZGVmbGF0ZSwgYnIsIHpzdGQifSwgeyJuYW1lIjogImFjY2VwdC1sYW5ndWFnZSIsICJ2YWx1ZSI6ICJlbi1VUyxlbjtxPTAuOSJ9LCB7Im5hbWUiOiAiY29va2llIiwgInZhbHVlIjogIkFFQz1BVllCN2NyYXY5NFlNLWZmSjZTamk0UTd6TG1XaS1CYTRHb2JKXzlyT1FnOWpIeW91MG82dUVwV1hyODsgX19TZWN1cmUtRU5JRD0yMS5TRT1aTk1oSWNfMjd4NG1vcGZZZ3ducmRMX05TMlJlNkxOejU5LTJyX1JrTzExUEhubHdvb3VvWkNDVjlESWk0enRRU0JUNGE2bmhPMExxanJhQnh4RDlyWUtTTWxlWWpIbGZmYVRETi01MmRpYzZ3djNpWFIzX2dzbnVkRXFDY0RVNHZ4Y1U5bUFBQ2xZVlBJNVlpSzNORk0xeURzSEJQcDhERTVqNVdNOEd3TFd0TnBOUG40ajY5U25SR0k0X1NmRmNnYlB5czBfbzYxLVZ5aUVWX3VwRmhGbW5nVF9xRDA3YSJ9LCB7Im5hbWUiOiAicHJpb3JpdHkiLCAidmFsdWUiOiAidT0xLCBpIn0sIHsibmFtZSI6ICJyZWZlcmVyIiwgInZhbHVlIjogImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEiLCAidmFsdWUiOiAiXCJDaHJvbWl1bVwiO3Y9XCIxMjdcIiwgXCJOb3QpQTtCcmFuZFwiO3Y9XCI5OVwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtYXJjaCIsICJ2YWx1ZSI6ICJcIng2NFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtYml0bmVzcyIsICJ2YWx1ZSI6ICJcIjY0XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1mdWxsLXZlcnNpb24iLCAidmFsdWUiOiAiXCIxMjcuMC42NTMzLjE3XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1mdWxsLXZlcnNpb24tbGlzdCIsICJ2YWx1ZSI6ICJcIkNocm9taXVtXCI7dj1cIjEyNy4wLjY1MzMuMTdcIiwgXCJOb3QpQTtCcmFuZFwiO3Y9XCI5OS4wLjAuMFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtbW9iaWxlIiwgInZhbHVlIjogIj8wIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtbW9kZWwiLCAidmFsdWUiOiAiXCJcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXBsYXRmb3JtIiwgInZhbHVlIjogIlwiV2luZG93c1wiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtcGxhdGZvcm0tdmVyc2lvbiIsICJ2YWx1ZSI6ICJcIjEwLjBcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXdvdzY0IiwgInZhbHVlIjogIj8wIn0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtZGVzdCIsICJ2YWx1ZSI6ICJlbXB0eSJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLW1vZGUiLCAidmFsdWUiOiAiY29ycyJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLXNpdGUiLCAidmFsdWUiOiAic2FtZS1vcmlnaW4ifSwgeyJuYW1lIjogInVzZXItYWdlbnQiLCAidmFsdWUiOiAiTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEyNy4wLjY1MzMuMTcgU2FmYXJpLzUzNy4zNiJ9XSwgInF1ZXJ5U3RyaW5nIjogW10sICJoZWFkZXJzU2l6ZSI6IDE4MDQsICJib2R5U2l6ZSI6IDB9LCAicmVzcG9uc2UiOiB7InN0YXR1cyI6IDIwMCwgInN0YXR1c1RleHQiOiAiIiwgImh0dHBWZXJzaW9uIjogImgzIiwgImNvb2tpZXMiOiBbXSwgImhlYWRlcnMiOiBbeyJuYW1lIjogImFjY2VwdC1yYW5nZXMiLCAidmFsdWUiOiAiYnl0ZXMifSwgeyJuYW1lIjogImFnZSIsICJ2YWx1ZSI6ICI0Mzk4MiJ9LCB7Im5hbWUiOiAiYWx0LXN2YyIsICJ2YWx1ZSI6ICJoMz1cIjo0NDNcIjsgbWE9MjU5MjAwMCxoMy0yOT1cIjo0NDNcIjsgbWE9MjU5MjAwMCJ9LCB7Im5hbWUiOiAiY2FjaGUtY29udHJvbCIsICJ2YWx1ZSI6ICJwdWJsaWMsIGltbXV0YWJsZSwgbWF4LWFnZT0zMTUzNjAwMCJ9LCB7Im5hbWUiOiAiY29udGVudC1lbmNvZGluZyIsICJ2YWx1ZSI6ICJnemlwIn0sIHsibmFtZSI6ICJjb250ZW50LWxlbmd0aCIsICJ2YWx1ZSI6ICIxNDExIn0sIHsibmFtZSI6ICJjb250ZW50LXNlY3VyaXR5LXBvbGljeS1yZXBvcnQtb25seSIsICJ2YWx1ZSI6ICJyZXF1aXJlLXRydXN0ZWQtdHlwZXMtZm9yICdzY3JpcHQnOyByZXBvcnQtdXJpIGh0dHBzOi8vY3NwLndpdGhnb29nbGUuY29tL2NzcC9nd3MtdGVhbSJ9LCB7Im5hbWUiOiAiY29udGVudC10eXBlIiwgInZhbHVlIjogInRleHQvamF2YXNjcmlwdDsgY2hhcnNldD1VVEYtOCJ9LCB7Im5hbWUiOiAiY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kiLCAidmFsdWUiOiAic2FtZS1vcmlnaW47IHJlcG9ydC10bz1cImd3cy10ZWFtXCIifSwgeyJuYW1lIjogImNyb3NzLW9yaWdpbi1yZXNvdXJjZS1wb2xpY3kiLCAidmFsdWUiOiAiY3Jvc3Mtb3JpZ2luIn0sIHsibmFtZSI6ICJkYXRlIiwgInZhbHVlIjogIlRodSwgMDEgQXVnIDIwMjQgMDA6MjA6MDkgR01UIn0sIHsibmFtZSI6ICJleHBpcmVzIiwgInZhbHVlIjogIkZyaSwgMDEgQXVnIDIwMjUgMDA6MjA6MDkgR01UIn0sIHsibmFtZSI6ICJsYXN0LW1vZGlmaWVkIiwgInZhbHVlIjogIldlZCwgMzEgSnVsIDIwMjQgMjM6MjU6MzYgR01UIn0sIHsibmFtZSI6ICJyZXBvcnQtdG8iLCAidmFsdWUiOiAie1wiZ3JvdXBcIjpcImd3cy10ZWFtXCIsXCJtYXhfYWdlXCI6MjU5MjAwMCxcImVuZHBvaW50c1wiOlt7XCJ1cmxcIjpcImh0dHBzOi8vY3NwLndpdGhnb29nbGUuY29tL2NzcC9yZXBvcnQtdG8vZ3dzLXRlYW1cIn1dfSJ9LCB7Im5hbWUiOiAic2VydmVyIiwgInZhbHVlIjogInNmZmUifSwgeyJuYW1lIjogInZhcnkiLCAidmFsdWUiOiAiQWNjZXB0LUVuY29kaW5nLCBPcmlnaW4ifSwgeyJuYW1lIjogIngtY29udGVudC10eXBlLW9wdGlvbnMiLCAidmFsdWUiOiAibm9zbmlmZiJ9LCB7Im5hbWUiOiAieC14c3MtcHJvdGVjdGlvbiIsICJ2YWx1ZSI6ICIwIn1dLCAiY29udGVudCI6IHsic2l6ZSI6IDExOTU3LCAibWltZVR5cGUiOiAidGV4dC9qYXZhc2NyaXB0OyBjaGFyc2V0PVVURi04IiwgImNvbXByZXNzaW9uIjogMTA1MjAsICJ0ZXh0IjogIntcImNodW5rVHlwZXNcIjpcIjEwMDAwMTExMTExMTAwMTExMTAwMDEwMDAwMTAxMTAxMDAwMDAwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAxMTAxMTExMTExMTExMTAxMDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEwMTExMDExMTExMTExMTMxMDExMDExMTExMTExMTExMTAxMTExMTExMTExMTExMTAxMTExMTExMTExMTExMTExMDAwMTExMDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEwMTAxMDAyMjIyMjIyMjEyMjEyMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIyMjEyMTIxMjEyMTIxMjEyMTIyMjEyMTIyMjEyMjEyMTExMjIxMjIxMTIyMTIyMjEyMTIxMjIyMjEyMTIxMjEyMTIxMjEyMjIxMjIyMjIyMjIyMjEyMjEyMTIxMjIyMTIxMjEyMTIxMjEyMTIxMjExMjExMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjIyMjIyMjIyMjEzMzIzMzMzMzMzMzMzMzMzMzMzMzIxMTEyMjIyMTEyMjIxMTIxMjEyMTIxMjIxMjEyMTIxMjEyMTIxMjExMjEyMTIxMjEyMTIxMjEyMTIxMTEyMTIxMjEyMjIyMTIyMjEyMjEyMjEyMjEyMjIxMjIxMjIxMjIxMjIxMjIxMjIxMjIxMjIxMjIxMjIxMjIxMjIxMjIxMjIxMjIxMjIxMjIxMjIxMjIxMjIxMjIxMjIxMjIxMjIxMjIxMjIxMjIxMjIxMjIxMjIxMjIxMjIxMjIxMjIxMjIxMjEyMjEyMTIyMjIyMjIxMjIxMjEyMTIxMjEyMjEyMTEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEzMzMzMTExMTExMTExMTExMTExMTExMTExMTExMTAxMDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAxMjIzMTExMTAxMTEzMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDExMDExMTExMTExMTExMDEwMTEwMTEwMTAxMTExMTExMTAxMTEwMTExMTExMDExMTAxMTAxMTAxMTExMTExMTExMTExMTExMTExMTExMTEzMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTIxMTIyMTMxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEzMDAxMTAxMTExMTEwMTEyMTEyMjIyMjIyMjIyMTExMTExMTExMTExMTExMTEzMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMTExMTExMTExMTExMTExMTExMzExMjIyMjIyMjIyMTExMzMyMjIzMTExMTMzMTMyMTMzMzMzMjIxMzEyMzExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAxMTAxMTExMTExMTExMTExMTExMTExMTExMTEzMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAxMTExMTExMjExMTExMjIyMTExMTExMjIyMjExMTExMTExMTExMTIyMTEzMTEwMTAxMTAxMTAxMTEwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEzMTExMjMxMTExMTIxMTExMTExMTExMTExMTExMTExMTExMTEyMTExMTExMzExMTExMTExMTExMTEyMTMxMzExMTExMTExMTIxMzExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMjIyMjExMTIyMjIyMjExMTIyMjEyMTMxMTExMTExMTExMTIzMjExMTExMTEyMjIxMjIyMjEyMzIxMTExMTIzMTExMjIyMzIzMTIyMjIxMjMxMjIyMjIyMjIyMjIzMzEyMjEyMjEyMjIzMzExMTExMTExMTExMTExMzIyMTExMjMxMTEyMjMyMTExMTMxMjMyMzExMTIyMjIyMjIyMjIyMTExMTEzMjMxMjIzMjIyMTMyMzIzMTIyMTExMjMxMTIyMzEyMjIyMjIxMjMxMjMxMTEyMjIyMTMyMjIyMjExMTEyMTIyMjIyMjIyMjIzMjExMjMyMjIyMTIyMjIzMTEzMTExMTMxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAxMTExMTExMjEyMjIxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTIyMjIyMjExMTEyMzIyMjIyMjMxMTExMTExMTExMTExMTIzMTExMTMxMTExMzIyMjIyMjIxMzExMTExMjIxMTEyMjIyMjEyMTExMTExMTExMTExMTIyMjIyMjExMTIyMjIyMjIxMTExMTIxMTExMjExMTExMTExMTExMjIxMjIyMjIxMTIyMzEyMjIyMjMxMjIyMjIyMjIyMjIyMjIyMjEyMjExMTExMTExMTExMTExMTExMTExMTEyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIzMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIzMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjMxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEyMzExMTExMTIyMTIzMTExMTExMTExMTExMjIyMjIxMzEyMzEyMjIyMjIyMzIzMzEzMjIyMTExMTExMzEyMTExMzEyMTExMTMzMTExMTExMTEzMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMjEyMTEyMTExMjMxMTExMTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMjAwMDIyMjMzMjEzMzMzMTIyMjIyMTIyMTExMjMzMzIxMTMxMjMxMzMzMTIxMjEzMzIxMzMzMjExMTExMTExMTExMTEyMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTMyMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMzExMTIxMzEyMTIxMzMxMTExMTExMTExMTExMTExMTExMTExMTExMTExMzExMTExMTExMTExMTEzMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTIxMTEyMTIxMTExMTExMTExMTExMTExMTExMTExMTIxMTExMzExMTExMTExMTMxMTExMTExMTExMTExMTExMTExMjExMTExMTExMTExMTExMTExMTExMTExMTExMDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMzExMTExMTExMTExMTExMTExMTEzMTExMzExMTExMTExMTExMTExMTExMTExMTMxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEwMTExMTExMDEwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTIxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEzMTMyMjIxMjEyMTExMTEzMTEyMTExMTExMTExMTExMjExMTEyMTEyMjIyMjEzMzIyMjExMTMxMTExMTExMTExMTExMTExMTExMTMxMTExMTExMTIyMjIxMTEzMTExMTEyMjEyMzExMTEyMjIyMjIyMjIyMjIyMjIyMzIzMjEzMzIxMzMyMTEzMzIzMzMyMjMzMjIzMjMzMzMyMzIzMzMzMzMzMjMyMzMyMjIyMjMzMzMyMjMzMzMzMzMzMjMyMzMyMjMxMTExMzExMjEyMjIzMzMyMjMyMzIyMzMyMjMzMjMyMzIzMjEzMjMyMzMzMjIzMjIyMjIzMjIyMzIyMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTIxMTIxMTMxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTIzMTExMTExMTExMTExMTExMTExMTExMzIzMzMxMzExMjMzMTEyMzMxMTMxMTExMTExMTExMTExMTExMTExMzExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTIyMTEyMTExMzMyMTEyMTIxMTIxMjEzMTIxMTExMTExMTExMzIzMTMzMTExMzExMzEzMTExMTExMTExMTExMTExMTExMTExMTExMTMxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMjIyMjIyMjExMTExMjIyMjIyMjIyMjIyMjIyMjIyMjIxMTExMTExMTMzMTExMTExMTExMTExMDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTMxMTExMTExMTMxMzMxMTExMTExMTExMTExMzExMTEyMjIyMjMyMjIyMjIxMTIyMjIyMjIyMjIxMTIyMTEzMTExMjIyMjMyMjIyMjIzMTExMTExMTExMTExMzExMjEyMjEyMjIzMTEzMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEyMTEyMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMjExMTIyMjExMTExMTExMTIxMTIxMTExMTExMTExMTEyMTExMzExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMjEyMTIxMjEyMjEyMTEzMjEyMTIxMjIxMjExMjExMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMTIxMjEyMjEzMzExMjEyMTMyMTIxMjEyMTIxMjExMTExMTIxMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjExMjEyMTEyMTIxMjExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMjMzMzExMjEyMjIyMTEzMTMxMTIxMzExMTExMTExMTExMTEyMTEyMTIxMjEyMTExMTExMTExMTExMTExMjIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMTIxMjEyMTIyMjEyMjEyMTEyMTIxMjEzMTExMTEyMTEyMTIxMjIxMjEyMTIxMjEyMTExMTIxMjExMjEyMTIxMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTEyMTIxMTIxMTExMTExMTExMTIxMTExMTExMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTEyMTIxMTIxMjEyMTExMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjIxMjEyMTIxMjIxMjEyMTIxMjEyMTIxMjExMjIxMTIxMTEyMTIxMjEyMTEyMTIxMjEyMTIxMjEyMTExMTEyMTEyMTIxMjEyMTIxMTIxMjExMjEzMzExMTExMTExMzIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjExMjEyMTExMTExMTExMTExMTExMTExMTIyMjExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMjIxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEyMjIyMTIyMTIyMjIxMTEyMTIyMTExMTExMjExMjExMTExMTEyMTExMTExMTIxMjIyMjEyMjIyMTIyMTIyMjIyMjIyMTIyMjIyMjIyMjIyMjIyMjEyMjIyMjIyMjIxMjIxMjExMTExMTExMTEyMTExMTExMTExMTExMTExMTExMTExMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMTExMTIyMjIyMjIyMTIyMjIxMTExMTExMTExMTExMTExMTExMTExMTIxMTExMTExMTExMjEyMTIxMjEyMTIxMjEyMTEyMTIxMjEyMTIxMTIxMTExMTExMTExMTIxMjIyMjIyMjIyMjIyMjIxMjEyMjExMjIxMTIyMjExMTExMTExMTExMjExMTExMjIyMTIyMjExMjIyMjIyMjIyMTIyMTIyMjIyMjEyMjIyMjIyMTIyMjIyMjIyMjIyMjExMjIyMTIyMjIyMjIyMjIxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEzMTExMTExMTExMTExMTIxMjIxMjEyMTIxMjExMTExMzMzMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEyMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEzMzMzMzMxMjEyMTMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyMTIxMzMzMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEzMTExMTExMTExMTExMTExMTExMTExMTExMzExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTMxMTExMTExMTIyMzIyMjIyMjExMTEyMjIyMzMxMTExMzExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEyMzEzMzExMjExMTIyMjExMjExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEzMTEzMTMxMTExMTEzMTEwMjEzMzIxMzExMTExMTExMjEyMTEyMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEyMTIxMjExMTExMTMxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMzMxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEzMTEzMTExMzMxMTExMTExMzMxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEyMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMzMzMzMzMzMzMTExMTExMTExMTExMTExMTExMTExMTExMTMzMzMyMTIxMTEzMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMjIyMTEzMzEzMTExMTEyMTIxMjEyMTIxMjExMjExMjEyMTIxMjEzMzMxMzIxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEyMjIyMjExMTIyMTIyMTIxMjExMzMyMjIyMTMxMzMxMTIxMTMyMTMzMzIxMzIxMTEyMTExMTEzMzMxMTExMTExMTExMTExMTExMTEzMTExMTExMTExMTExMTExMTExMTIxMzMxMjExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEzMTEzMTIyMTMyMzExMTExMTExMTIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMzIyMjEyMjIyMTExMTExMTEzMTExMTExMTExMTExMTExMTExMTEyMTEyMTIxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTIxMTExMTExMTExMTExMTExMTIxMjExMTExMTExMTExMTEyMzExMTExMTExMjIxMTExMTExMTExMTExMTExMTIyMjIyMTExMTExMTIxMTExMjExMTExMTExMTEyMjIxMTExMTEzMzMxMjMyMzIyMTMxMTExMTExMTExMTExMTExMTExMTEyMTExMTExMjExMjExMjIxMjIxMTEyMTEyMjIyMjExMTIxMTExMjIxMTIxMTIxMTIxMTExMTIxMTIxMTEyMjExMTExMTEzMTEzMTExMTExMzExMTExMjIyMjIyMjExMzExMTExMTExMTExMTEyMzIxMjIyMjIzMTExMzExMTExMTExMTIxMTExMTExMTExMTExMTExMTExMTIyMTExMzEyMjIyMjIyMzExMTExMTExMTExMzIyMjMxMjExMjMyMjIzMzExMTExMTExMTExMTIxMzExMTMxMTIyMjIyMjIyMjIyMjIyMjIyMzIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMzEzMTMxMTExMTEyMTExMTEzMTExMTExMzMxMTEzMjMxMzMzMTExMTMxMTExMTExMTExMTExMjMyMjIyMjIxMTIyMjEyMzEwMjAyMDAwMDAwMjAyMDAwMDIwMDIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMTIxMTExMTEyMzEyMzExMzExMTExMTExMTExMTExMTExMzEzMTExMTEyMjMwMTExMTMzMTExMTMzMzEzMTExMzExMTMxMzMxMTMzMTEyMzExMTExMTExMTExMTExMTEyMzEyMTExMTExMTExMTExMTIxMTExMTExMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMjEyMjEyMTIxMjEyMTIxMjEyMTIxMjEyMTIxMTExMTExMjIyMjIyMjIyMjIyMjIyMjIyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMTMyMjIxMzMwMDAwMDExMTExMTExMTEyMzIyMjMyMzMyMzEzMzAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMDAwMTExMTMyMjMzMjMxMDAwMDAxMTIzMjIxMjIzMDAwMDAxMTExMTIzMDIzMDAyMjIzMDAwMDAwMTExMTEyMzMzMTMzMjMzMTMxMTExMTIyMzMzMjMxMTExMTExMTMxMTExMTExMTEzMTExMTExMTExMTExMTExMTExMTExMTExMTIzMjIzMTExMzIxMTExMTExMTIxMzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMjIyMjIxMTMxMTExMjIyMzIyMjIyMjIyMjExMjMxMzEzMTExMDAwMjAyMDAwMDAwMDAwMDAyMDAwMjAwMDAwMDAwMDIyMjIwMjAyMjIwMjIyMjAwMDAwMDAwMDAwMDAxMTExMTExMTExMzExMTExMTExMTExMTExMTEzMzExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTMxMTMxMTMxMzMxMTMxMTIzMzEyMTMxMTExMTExMjExMzAwMjMyMzIyMTIyMjEzMDAwMDAxMTExMzEyMzAyMTMwMDMyMTEzMjAwMDEyMTIyMzAwMDIyMjIyMjExMDIwMDAwMDAwMDAwMDExMTExMTIyMzExMTAxMjMxMjMyMjIzMjIyMzIxMjMyMTIzMzIzMTExMTEyMzExMTExMTExMTAwMDAwMDAwMDAyMDAwMDAwMDIwMDAwMDAwMDAwMDAwMTIxMTExMTEzMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIzMTEyMjIyMjIyMjIyMjIyMjMxMjIxMzEzMjMwMDIxMjMyMzExMDAyMjExMDAyMzAyMzAwMTExMjIxMTExMTEyMjMzMTExMTExMTExMTEyMTIyMjExMTExMTExMTExMTExMTExMTExMTExMjMxMTExMTExMjMxMTIzMTExMTExMTEyMjMxMTExMTExMTExMTEwMDAxMTExMTMxMTExMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMTExMTExMTEzMDAwMDAwMDAwMDAwMTExMTIzMTExMTMxMTExMjEyMzAwMDAyMzExMDIxMzEwMTIzMTAxMTMxMTIzMDAxMTExMTIyMjIyMjIyMjIyMjIyMjIyMjIyMTExMTExMTIyMjIyMjExMTMxMjExMTExMTExMTExMTExMTExMTExMTExMjMxMTExMjIxMTExMTIyMjIyMzAwMDAwMDAwMDAwMDAwMDEyMzExMTAwMTIyMjIyMjIyMjIxMTExMTExMTIyMjMxMTExMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMjIyMjIyMjIyMjEzMTEwMDAwMDAwMDAwMDAwMDAwMDExMTExMTExMTExMjIyMjIzMTAwMDAxMTIzMTAwMDAwMDAwMjIyMzAwMDAyMzExMTAyMzEwMDIyMDAwMDAyMjAwMDIwMDAyMDAwMjAwMDIwMjAwMjAyMDAyMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDIzMTExMTEwMTIyMjIzMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExMTExMTEyMjIyMjMwMDAwMDAwMTExMTEyMzIyMzIwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMDAwMjIyMjIyMjIyMjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMTExMTIxMjIzMTExMTAwMDAyMzAwMjIzMTAwMDAwMjMwMTIzMjExMjMwMDAxMTEyMzIyMjIzMDAwMDAwMDIyMzAwMTIzMTExMTEwMjIzMDAwMDIzMDIyMjMzMDAwMTIyMzExMjEyMjIyMjIyMjIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMjIyMjIzMTEzMTEwMDAwMDAwMDAwMDIyMjMyMzExMTEwMDAwMDAwMDMzMTMxMzExMzMzMjIyMjIzMTExMjIzMTEyMjIyMjIyMjIyMjIzMTExMTEwMDAwMDAwMDAwMDAwMDEzMTExMTExM1wifSJ9LCAiaGVhZGVyc1NpemUiOiAwLCAiYm9keVNpemUiOiAxNDM3LCAicmVkaXJlY3RVUkwiOiAiIiwgIl90cmFuc2ZlclNpemUiOiAxNDM3fSwgImNhY2hlIjoge30sICJ0aW1pbmdzIjogeyJkbnMiOiAtMSwgImNvbm5lY3QiOiAtMSwgInNzbCI6IC0xLCAic2VuZCI6IDAsICJ3YWl0IjogMjQuNjA1LCAicmVjZWl2ZSI6IDUuNDg2fSwgInBhZ2VyZWYiOiAicGFnZUAyZTdhY2U5NTVhNjc3M2VjZmQyZTk4ZWYyZmRjYjcwNCIsICJzZXJ2ZXJJUEFkZHJlc3MiOiAiWzJhMDA6MTQ1MDo0MDAxOjgwODo6MjAwNF0iLCAiX3NlcnZlclBvcnQiOiA0NDMsICJfc2VjdXJpdHlEZXRhaWxzIjogeyJwcm90b2NvbCI6ICJRVUlDIiwgInN1YmplY3ROYW1lIjogIiouZ29vZ2xlLmNvbSIsICJpc3N1ZXIiOiAiV1IyIiwgInZhbGlkRnJvbSI6IDE3MjIzNDI3NzMsICJ2YWxpZFRvIjogMTcyOTYwMDM3Mn19LCB7InN0YXJ0ZWREYXRlVGltZSI6ICIyMDI0LTA4LTAxVDEyOjMzOjExLjkzM1oiLCAidGltZSI6IDM0Ljk4NCwgInJlcXVlc3QiOiB7Im1ldGhvZCI6ICJHRVQiLCAidXJsIjogImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vY2xpZW50XzIwND9hdHlwPWkmYml3PTEyODAmYmloPTcyMCZlaT1oNENyWnZ5TEM1T2ZpLWdQX29xSi1RdyZvcGk9ODk5Nzg0NDkiLCAiaHR0cFZlcnNpb24iOiAiaDMiLCAiY29va2llcyI6IFt7Im5hbWUiOiAiQUVDIiwgInZhbHVlIjogIkFWWUI3Y3Jhdjk0WU0tZmZKNlNqaTRRN3pMbVdpLUJhNEdvYkpfOXJPUWc5akh5b3UwbzZ1RXBXWHI4In0sIHsibmFtZSI6ICJfX1NlY3VyZS1FTklEIiwgInZhbHVlIjogIjIxLlNFPVpOTWhJY18yN3g0bW9wZllnd25yZExfTlMyUmU2TE56NTktMnJfUmtPMTFQSG5sd29vdW9aQ0NWOURJaTR6dFFTQlQ0YTZuaE8wTHFqcmFCeHhEOXJZS1NNbGVZakhsZmZhVEROLTUyZGljNnd2M2lYUjNfZ3NudWRFcUNjRFU0dnhjVTltQUFDbFlWUEk1WWlLM05GTTF5RHNIQlBwOERFNWo1V004R3dMV3ROcE5QbjRqNjlTblJHSTRfU2ZGY2diUHlzMF9vNjEtVnlpRVZfdXBGaEZtbmdUX3FEMDdhIn1dLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiOmF1dGhvcml0eSIsICJ2YWx1ZSI6ICJ3d3cuZ29vZ2xlLmNvbSJ9LCB7Im5hbWUiOiAiOm1ldGhvZCIsICJ2YWx1ZSI6ICJHRVQifSwgeyJuYW1lIjogIjpwYXRoIiwgInZhbHVlIjogIi9jbGllbnRfMjA0P2F0eXA9aSZiaXc9MTI4MCZiaWg9NzIwJmVpPWg0Q3JadnlMQzVPZmktZ1Bfb3FKLVF3Jm9waT04OTk3ODQ0OSJ9LCB7Im5hbWUiOiAiOnNjaGVtZSIsICJ2YWx1ZSI6ICJodHRwcyJ9LCB7Im5hbWUiOiAiYWNjZXB0IiwgInZhbHVlIjogImltYWdlL2F2aWYsaW1hZ2Uvd2VicCxpbWFnZS9hcG5nLGltYWdlL3N2Zyt4bWwsaW1hZ2UvKiwqLyo7cT0wLjgifSwgeyJuYW1lIjogImFjY2VwdC1lbmNvZGluZyIsICJ2YWx1ZSI6ICJnemlwLCBkZWZsYXRlLCBiciwgenN0ZCJ9LCB7Im5hbWUiOiAiYWNjZXB0LWxhbmd1YWdlIiwgInZhbHVlIjogImVuLVVTLGVuO3E9MC45In0sIHsibmFtZSI6ICJjb29raWUiLCAidmFsdWUiOiAiQUVDPUFWWUI3Y3Jhdjk0WU0tZmZKNlNqaTRRN3pMbVdpLUJhNEdvYkpfOXJPUWc5akh5b3UwbzZ1RXBXWHI4OyBfX1NlY3VyZS1FTklEPTIxLlNFPVpOTWhJY18yN3g0bW9wZllnd25yZExfTlMyUmU2TE56NTktMnJfUmtPMTFQSG5sd29vdW9aQ0NWOURJaTR6dFFTQlQ0YTZuaE8wTHFqcmFCeHhEOXJZS1NNbGVZakhsZmZhVEROLTUyZGljNnd2M2lYUjNfZ3NudWRFcUNjRFU0dnhjVTltQUFDbFlWUEk1WWlLM05GTTF5RHNIQlBwOERFNWo1V004R3dMV3ROcE5QbjRqNjlTblJHSTRfU2ZGY2diUHlzMF9vNjEtVnlpRVZfdXBGaEZtbmdUX3FEMDdhIn0sIHsibmFtZSI6ICJwcmlvcml0eSIsICJ2YWx1ZSI6ICJpIn0sIHsibmFtZSI6ICJyZWZlcmVyIiwgInZhbHVlIjogImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEiLCAidmFsdWUiOiAiXCJDaHJvbWl1bVwiO3Y9XCIxMjdcIiwgXCJOb3QpQTtCcmFuZFwiO3Y9XCI5OVwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtYXJjaCIsICJ2YWx1ZSI6ICJcIng2NFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtYml0bmVzcyIsICJ2YWx1ZSI6ICJcIjY0XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1mdWxsLXZlcnNpb24iLCAidmFsdWUiOiAiXCIxMjcuMC42NTMzLjE3XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1mdWxsLXZlcnNpb24tbGlzdCIsICJ2YWx1ZSI6ICJcIkNocm9taXVtXCI7dj1cIjEyNy4wLjY1MzMuMTdcIiwgXCJOb3QpQTtCcmFuZFwiO3Y9XCI5OS4wLjAuMFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtbW9iaWxlIiwgInZhbHVlIjogIj8wIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtbW9kZWwiLCAidmFsdWUiOiAiXCJcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXBsYXRmb3JtIiwgInZhbHVlIjogIlwiV2luZG93c1wiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtcGxhdGZvcm0tdmVyc2lvbiIsICJ2YWx1ZSI6ICJcIjEwLjBcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXdvdzY0IiwgInZhbHVlIjogIj8wIn0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtZGVzdCIsICJ2YWx1ZSI6ICJpbWFnZSJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLW1vZGUiLCAidmFsdWUiOiAibm8tY29ycyJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLXNpdGUiLCAidmFsdWUiOiAic2FtZS1vcmlnaW4ifSwgeyJuYW1lIjogInVzZXItYWdlbnQiLCAidmFsdWUiOiAiTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEyNy4wLjY1MzMuMTcgU2FmYXJpLzUzNy4zNiJ9XSwgInF1ZXJ5U3RyaW5nIjogW3sibmFtZSI6ICJhdHlwIiwgInZhbHVlIjogImkifSwgeyJuYW1lIjogImJpdyIsICJ2YWx1ZSI6ICIxMjgwIn0sIHsibmFtZSI6ICJiaWgiLCAidmFsdWUiOiAiNzIwIn0sIHsibmFtZSI6ICJlaSIsICJ2YWx1ZSI6ICJoNENyWnZ5TEM1T2ZpLWdQX29xSi1RdyJ9LCB7Im5hbWUiOiAib3BpIiwgInZhbHVlIjogIjg5OTc4NDQ5In1dLCAiaGVhZGVyc1NpemUiOiAxMjQ5LCAiYm9keVNpemUiOiAwfSwgInJlc3BvbnNlIjogeyJzdGF0dXMiOiAyMDQsICJzdGF0dXNUZXh0IjogIiIsICJodHRwVmVyc2lvbiI6ICJoMyIsICJjb29raWVzIjogW10sICJoZWFkZXJzIjogW3sibmFtZSI6ICJhbHQtc3ZjIiwgInZhbHVlIjogImgzPVwiOjQ0M1wiOyBtYT0yNTkyMDAwLGgzLTI5PVwiOjQ0M1wiOyBtYT0yNTkyMDAwIn0sIHsibmFtZSI6ICJjb250ZW50LWxlbmd0aCIsICJ2YWx1ZSI6ICIwIn0sIHsibmFtZSI6ICJjb250ZW50LXNlY3VyaXR5LXBvbGljeSIsICJ2YWx1ZSI6ICJvYmplY3Qtc3JjICdub25lJztiYXNlLXVyaSAnc2VsZic7c2NyaXB0LXNyYyAnbm9uY2Utb2lCbUlXRDN6bEdjSWN6RG9UNWp5dycgJ3N0cmljdC1keW5hbWljJyAncmVwb3J0LXNhbXBsZScgJ3Vuc2FmZS1ldmFsJyAndW5zYWZlLWlubGluZScgaHR0cHM6IGh0dHA6O3JlcG9ydC11cmkgaHR0cHM6Ly9jc3Aud2l0aGdvb2dsZS5jb20vY3NwL2d3cy9jZHQxIn0sIHsibmFtZSI6ICJjb250ZW50LXR5cGUiLCAidmFsdWUiOiAidGV4dC9odG1sOyBjaGFyc2V0PVVURi04In0sIHsibmFtZSI6ICJjcm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeSIsICJ2YWx1ZSI6ICJzYW1lLW9yaWdpbi1hbGxvdy1wb3B1cHM7IHJlcG9ydC10bz1cImd3c1wiIn0sIHsibmFtZSI6ICJkYXRlIiwgInZhbHVlIjogIlRodSwgMDEgQXVnIDIwMjQgMTI6MzM6MTEgR01UIn0sIHsibmFtZSI6ICJwZXJtaXNzaW9ucy1wb2xpY3kiLCAidmFsdWUiOiAidW5sb2FkPSgpIn0sIHsibmFtZSI6ICJyZXBvcnQtdG8iLCAidmFsdWUiOiAie1wiZ3JvdXBcIjpcImd3c1wiLFwibWF4X2FnZVwiOjI1OTIwMDAsXCJlbmRwb2ludHNcIjpbe1widXJsXCI6XCJodHRwczovL2NzcC53aXRoZ29vZ2xlLmNvbS9jc3AvcmVwb3J0LXRvL2d3cy9jZHQxXCJ9XX0ifSwgeyJuYW1lIjogInNlcnZlciIsICJ2YWx1ZSI6ICJnd3MifSwgeyJuYW1lIjogInN0cmljdC10cmFuc3BvcnQtc2VjdXJpdHkiLCAidmFsdWUiOiAibWF4LWFnZT0zMTUzNjAwMCJ9LCB7Im5hbWUiOiAieC1mcmFtZS1vcHRpb25zIiwgInZhbHVlIjogIlNBTUVPUklHSU4ifSwgeyJuYW1lIjogIngteHNzLXByb3RlY3Rpb24iLCAidmFsdWUiOiAiMCJ9XSwgImNvbnRlbnQiOiB7InNpemUiOiAwLCAibWltZVR5cGUiOiAidGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiwgImNvbXByZXNzaW9uIjogMCwgInRleHQiOiAiIn0sICJoZWFkZXJzU2l6ZSI6IDAsICJib2R5U2l6ZSI6IDIxLCAicmVkaXJlY3RVUkwiOiAiIiwgIl90cmFuc2ZlclNpemUiOiAyMX0sICJjYWNoZSI6IHt9LCAidGltaW5ncyI6IHsiZG5zIjogLTEsICJjb25uZWN0IjogLTEsICJzc2wiOiAtMSwgInNlbmQiOiAwLCAid2FpdCI6IDMyLjc0MywgInJlY2VpdmUiOiAyLjI0MX0sICJwYWdlcmVmIjogInBhZ2VAMmU3YWNlOTU1YTY3NzNlY2ZkMmU5OGVmMmZkY2I3MDQiLCAic2VydmVySVBBZGRyZXNzIjogIlsyYTAwOjE0NTA6NDAwMTo4MDg6OjIwMDRdIiwgIl9zZXJ2ZXJQb3J0IjogNDQzLCAiX3NlY3VyaXR5RGV0YWlscyI6IHsicHJvdG9jb2wiOiAiUVVJQyIsICJzdWJqZWN0TmFtZSI6ICIqLmdvb2dsZS5jb20iLCAiaXNzdWVyIjogIldSMiIsICJ2YWxpZEZyb20iOiAxNzIyMzQyNzczLCAidmFsaWRUbyI6IDE3Mjk2MDAzNzJ9fSwgeyJzdGFydGVkRGF0ZVRpbWUiOiAiMjAyNC0wOC0wMVQxMjozMzoxMS45OTBaIiwgInRpbWUiOiAxMTcuNzA3LCAicmVxdWVzdCI6IHsibWV0aG9kIjogIlBPU1QiLCAidXJsIjogImh0dHBzOi8vb2dhZHMtcGEuZ29vZ2xlYXBpcy5jb20vJHJwYy9nb29nbGUuaW50ZXJuYWwub25lZ29vZ2xlLmFzeW5jZGF0YS52MS5Bc3luY0RhdGFTZXJ2aWNlL0dldEFzeW5jRGF0YSIsICJodHRwVmVyc2lvbiI6ICJIVFRQLzIuMCIsICJjb29raWVzIjogW10sICJoZWFkZXJzIjogW3sibmFtZSI6ICI6YXV0aG9yaXR5IiwgInZhbHVlIjogIm9nYWRzLXBhLmdvb2dsZWFwaXMuY29tIn0sIHsibmFtZSI6ICI6bWV0aG9kIiwgInZhbHVlIjogIlBPU1QifSwgeyJuYW1lIjogIjpwYXRoIiwgInZhbHVlIjogIi8kcnBjL2dvb2dsZS5pbnRlcm5hbC5vbmVnb29nbGUuYXN5bmNkYXRhLnYxLkFzeW5jRGF0YVNlcnZpY2UvR2V0QXN5bmNEYXRhIn0sIHsibmFtZSI6ICI6c2NoZW1lIiwgInZhbHVlIjogImh0dHBzIn0sIHsibmFtZSI6ICJhY2NlcHQiLCAidmFsdWUiOiAiKi8qIn0sIHsibmFtZSI6ICJhY2NlcHQtZW5jb2RpbmciLCAidmFsdWUiOiAiZ3ppcCwgZGVmbGF0ZSwgYnIsIHpzdGQifSwgeyJuYW1lIjogImFjY2VwdC1sYW5ndWFnZSIsICJ2YWx1ZSI6ICJlbi1VUyxlbjtxPTAuOSJ9LCB7Im5hbWUiOiAiY29udGVudC1sZW5ndGgiLCAidmFsdWUiOiAiODYifSwgeyJuYW1lIjogImNvbnRlbnQtdHlwZSIsICJ2YWx1ZSI6ICJhcHBsaWNhdGlvbi9qc29uK3Byb3RvYnVmIn0sIHsibmFtZSI6ICJvcmlnaW4iLCAidmFsdWUiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbSJ9LCB7Im5hbWUiOiAicHJpb3JpdHkiLCAidmFsdWUiOiAidT0xLCBpIn0sIHsibmFtZSI6ICJyZWZlcmVyIiwgInZhbHVlIjogImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEiLCAidmFsdWUiOiAiXCJDaHJvbWl1bVwiO3Y9XCIxMjdcIiwgXCJOb3QpQTtCcmFuZFwiO3Y9XCI5OVwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtbW9iaWxlIiwgInZhbHVlIjogIj8wIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtcGxhdGZvcm0iLCAidmFsdWUiOiAiXCJXaW5kb3dzXCIifSwgeyJuYW1lIjogInNlYy1mZXRjaC1kZXN0IiwgInZhbHVlIjogImVtcHR5In0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtbW9kZSIsICJ2YWx1ZSI6ICJjb3JzIn0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtc2l0ZSIsICJ2YWx1ZSI6ICJjcm9zcy1zaXRlIn0sIHsibmFtZSI6ICJ1c2VyLWFnZW50IiwgInZhbHVlIjogIk1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IFdpbjY0OyB4NjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS8xMjcuMC42NTMzLjE3IFNhZmFyaS81MzcuMzYifSwgeyJuYW1lIjogIngtZ29vZy1hcGkta2V5IiwgInZhbHVlIjogIkFJemFTeUNic2J2R0NlN0M5bUN0ZGFUeWNaQjJlVUZ1enNZS0dfRSJ9LCB7Im5hbWUiOiAieC11c2VyLWFnZW50IiwgInZhbHVlIjogImdycGMtd2ViLWphdmFzY3JpcHQvMC4xIn1dLCAicXVlcnlTdHJpbmciOiBbXSwgImhlYWRlcnNTaXplIjogODc4LCAiYm9keVNpemUiOiA4NiwgInBvc3REYXRhIjogeyJtaW1lVHlwZSI6ICJhcHBsaWNhdGlvbi9qc29uK3Byb3RvYnVmIiwgInRleHQiOiAiWzUzOCxcImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vXCIsNTM4LFwiZGVcIixcImx1XCIsMCw4LDAsMCxcIlwiLFwiXCIsMSwwLG51bGwsODk5Nzg0NDksbnVsbCxbMV1dIiwgInBhcmFtcyI6IFtdfX0sICJyZXNwb25zZSI6IHsic3RhdHVzIjogMjAwLCAic3RhdHVzVGV4dCI6ICIiLCAiaHR0cFZlcnNpb24iOiAiSFRUUC8yLjAiLCAiY29va2llcyI6IFtdLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiYWNjZXNzLWNvbnRyb2wtYWxsb3ctY3JlZGVudGlhbHMiLCAidmFsdWUiOiAidHJ1ZSJ9LCB7Im5hbWUiOiAiYWNjZXNzLWNvbnRyb2wtYWxsb3ctb3JpZ2luIiwgInZhbHVlIjogImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20ifSwgeyJuYW1lIjogImFjY2Vzcy1jb250cm9sLWV4cG9zZS1oZWFkZXJzIiwgInZhbHVlIjogInZhcnksdmFyeSx2YXJ5LGNvbnRlbnQtZW5jb2RpbmcsZGF0ZSxzZXJ2ZXIsY29udGVudC1sZW5ndGgifSwgeyJuYW1lIjogImFsdC1zdmMiLCAidmFsdWUiOiAiaDM9XCI6NDQzXCI7IG1hPTI1OTIwMDAsaDMtMjk9XCI6NDQzXCI7IG1hPTI1OTIwMDAifSwgeyJuYW1lIjogImNhY2hlLWNvbnRyb2wiLCAidmFsdWUiOiAicHJpdmF0ZSJ9LCB7Im5hbWUiOiAiY29udGVudC1lbmNvZGluZyIsICJ2YWx1ZSI6ICJnemlwIn0sIHsibmFtZSI6ICJjb250ZW50LWxlbmd0aCIsICJ2YWx1ZSI6ICIzMCJ9LCB7Im5hbWUiOiAiY29udGVudC10eXBlIiwgInZhbHVlIjogImFwcGxpY2F0aW9uL2pzb24rcHJvdG9idWY7IGNoYXJzZXQ9VVRGLTgifSwgeyJuYW1lIjogImRhdGUiLCAidmFsdWUiOiAiVGh1LCAwMSBBdWcgMjAyNCAxMjozMzoxMiBHTVQifSwgeyJuYW1lIjogInNlcnZlciIsICJ2YWx1ZSI6ICJFU0YifSwgeyJuYW1lIjogInNlcnZlci10aW1pbmciLCAidmFsdWUiOiAiZ2ZldDR0NzsgZHVyPTM1In0sIHsibmFtZSI6ICJ2YXJ5IiwgInZhbHVlIjogIk9yaWdpbiJ9LCB7Im5hbWUiOiAidmFyeSIsICJ2YWx1ZSI6ICJYLU9yaWdpbiJ9LCB7Im5hbWUiOiAidmFyeSIsICJ2YWx1ZSI6ICJSZWZlcmVyIn0sIHsibmFtZSI6ICJ4LWNvbnRlbnQtdHlwZS1vcHRpb25zIiwgInZhbHVlIjogIm5vc25pZmYifSwgeyJuYW1lIjogIngtZnJhbWUtb3B0aW9ucyIsICJ2YWx1ZSI6ICJTQU1FT1JJR0lOIn0sIHsibmFtZSI6ICJ4LXhzcy1wcm90ZWN0aW9uIiwgInZhbHVlIjogIjAifV0sICJjb250ZW50IjogeyJzaXplIjogNTMsICJtaW1lVHlwZSI6ICJhcHBsaWNhdGlvbi9qc29uK3Byb3RvYnVmOyBjaGFyc2V0PVVURi04IiwgImNvbXByZXNzaW9uIjogMCwgInRleHQiOiAiVzI1MWJHd3NiblZzYkN4dWRXeHNMRzUxYkd3c2JuVnNiQ3h1ZFd4c0xHNTFiR3dzYm5Wc2JDeHVkV3hzTEc1MWJHd3NNRjA9IiwgImVuY29kaW5nIjogImJhc2U2NCJ9LCAiaGVhZGVyc1NpemUiOiAwLCAiYm9keVNpemUiOiAyNDIsICJyZWRpcmVjdFVSTCI6ICIiLCAiX3RyYW5zZmVyU2l6ZSI6IDI0Mn0sICJjYWNoZSI6IHt9LCAidGltaW5ncyI6IHsiZG5zIjogLTEsICJjb25uZWN0IjogLTEsICJzc2wiOiAtMSwgInNlbmQiOiAwLCAid2FpdCI6IDQyLjE0OCwgInJlY2VpdmUiOiA3NS41NTl9LCAicGFnZXJlZiI6ICJwYWdlQDJlN2FjZTk1NWE2NzczZWNmZDJlOThlZjJmZGNiNzA0IiwgInNlcnZlcklQQWRkcmVzcyI6ICJbMmEwMDoxNDUwOjQwMDE6ODI3OjoyMDBhXSIsICJfc2VydmVyUG9ydCI6IDQ0MywgIl9zZWN1cml0eURldGFpbHMiOiB7InByb3RvY29sIjogIlRMUyAxLjMiLCAic3ViamVjdE5hbWUiOiAidXBsb2FkLnZpZGVvLmdvb2dsZS5jb20iLCAiaXNzdWVyIjogIldSMiIsICJ2YWxpZEZyb20iOiAxNzIyMzQzNzg1LCAidmFsaWRUbyI6IDE3Mjk2MDEzODR9fSwgeyJzdGFydGVkRGF0ZVRpbWUiOiAiMjAyNC0wOC0wMVQxMjozMzoxMS45OTFaIiwgInRpbWUiOiA1Ni4wNDEsICJyZXF1ZXN0IjogeyJtZXRob2QiOiAiR0VUIiwgInVybCI6ICJodHRwczovL2FwaXMuZ29vZ2xlLmNvbS9fL3Njcy9hYmMtc3RhdGljL18vanMvaz1nYXBpLmdhcGkuZW4uTUdDeEpibldfWHcuTy9tPWdhcGlfaWZyYW1lcyxnb29nbGVhcGlzX2NsaWVudC9ydD1qL3N2PTEvZD0xL2VkPTEvYW09QUFBZy9ycz1BSHBPb285eGE0aHRMRVZIOXhlNmM0VG9VZWh0VGFMV3ZBL2NiPWdhcGkubG9hZGVkXzAiLCAiaHR0cFZlcnNpb24iOiAiSFRUUC8yLjAiLCAiY29va2llcyI6IFt7Im5hbWUiOiAiQUVDIiwgInZhbHVlIjogIkFWWUI3Y3Jhdjk0WU0tZmZKNlNqaTRRN3pMbVdpLUJhNEdvYkpfOXJPUWc5akh5b3UwbzZ1RXBXWHI4In0sIHsibmFtZSI6ICJfX1NlY3VyZS1FTklEIiwgInZhbHVlIjogIjIxLlNFPVpOTWhJY18yN3g0bW9wZllnd25yZExfTlMyUmU2TE56NTktMnJfUmtPMTFQSG5sd29vdW9aQ0NWOURJaTR6dFFTQlQ0YTZuaE8wTHFqcmFCeHhEOXJZS1NNbGVZakhsZmZhVEROLTUyZGljNnd2M2lYUjNfZ3NudWRFcUNjRFU0dnhjVTltQUFDbFlWUEk1WWlLM05GTTF5RHNIQlBwOERFNWo1V004R3dMV3ROcE5QbjRqNjlTblJHSTRfU2ZGY2diUHlzMF9vNjEtVnlpRVZfdXBGaEZtbmdUX3FEMDdhIn1dLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiOmF1dGhvcml0eSIsICJ2YWx1ZSI6ICJhcGlzLmdvb2dsZS5jb20ifSwgeyJuYW1lIjogIjptZXRob2QiLCAidmFsdWUiOiAiR0VUIn0sIHsibmFtZSI6ICI6cGF0aCIsICJ2YWx1ZSI6ICIvXy9zY3MvYWJjLXN0YXRpYy9fL2pzL2s9Z2FwaS5nYXBpLmVuLk1HQ3hKYm5XX1h3Lk8vbT1nYXBpX2lmcmFtZXMsZ29vZ2xlYXBpc19jbGllbnQvcnQ9ai9zdj0xL2Q9MS9lZD0xL2FtPUFBQWcvcnM9QUhwT29vOXhhNGh0TEVWSDl4ZTZjNFRvVWVodFRhTFd2QS9jYj1nYXBpLmxvYWRlZF8wIn0sIHsibmFtZSI6ICI6c2NoZW1lIiwgInZhbHVlIjogImh0dHBzIn0sIHsibmFtZSI6ICJhY2NlcHQiLCAidmFsdWUiOiAiKi8qIn0sIHsibmFtZSI6ICJhY2NlcHQtZW5jb2RpbmciLCAidmFsdWUiOiAiZ3ppcCwgZGVmbGF0ZSwgYnIsIHpzdGQifSwgeyJuYW1lIjogImFjY2VwdC1sYW5ndWFnZSIsICJ2YWx1ZSI6ICJlbi1VUyxlbjtxPTAuOSJ9LCB7Im5hbWUiOiAiY29va2llIiwgInZhbHVlIjogIkFFQz1BVllCN2NyYXY5NFlNLWZmSjZTamk0UTd6TG1XaS1CYTRHb2JKXzlyT1FnOWpIeW91MG82dUVwV1hyODsgX19TZWN1cmUtRU5JRD0yMS5TRT1aTk1oSWNfMjd4NG1vcGZZZ3ducmRMX05TMlJlNkxOejU5LTJyX1JrTzExUEhubHdvb3VvWkNDVjlESWk0enRRU0JUNGE2bmhPMExxanJhQnh4RDlyWUtTTWxlWWpIbGZmYVRETi01MmRpYzZ3djNpWFIzX2dzbnVkRXFDY0RVNHZ4Y1U5bUFBQ2xZVlBJNVlpSzNORk0xeURzSEJQcDhERTVqNVdNOEd3TFd0TnBOUG40ajY5U25SR0k0X1NmRmNnYlB5czBfbzYxLVZ5aUVWX3VwRmhGbW5nVF9xRDA3YSJ9LCB7Im5hbWUiOiAicmVmZXJlciIsICJ2YWx1ZSI6ICJodHRwczovL3d3dy5nb29nbGUuY29tLyJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhIiwgInZhbHVlIjogIlwiQ2hyb21pdW1cIjt2PVwiMTI3XCIsIFwiTm90KUE7QnJhbmRcIjt2PVwiOTlcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLW1vYmlsZSIsICJ2YWx1ZSI6ICI/MCJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXBsYXRmb3JtIiwgInZhbHVlIjogIlwiV2luZG93c1wiIn0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtZGVzdCIsICJ2YWx1ZSI6ICJzY3JpcHQifSwgeyJuYW1lIjogInNlYy1mZXRjaC1tb2RlIiwgInZhbHVlIjogIm5vLWNvcnMifSwgeyJuYW1lIjogInNlYy1mZXRjaC1zaXRlIiwgInZhbHVlIjogInNhbWUtc2l0ZSJ9LCB7Im5hbWUiOiAidXNlci1hZ2VudCIsICJ2YWx1ZSI6ICJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTI3LjAuNjUzMy4xNyBTYWZhcmkvNTM3LjM2In1dLCAicXVlcnlTdHJpbmciOiBbXSwgImhlYWRlcnNTaXplIjogMTE2NywgImJvZHlTaXplIjogMH0sICJyZXNwb25zZSI6IHsic3RhdHVzIjogMjAwLCAic3RhdHVzVGV4dCI6ICIiLCAiaHR0cFZlcnNpb24iOiAiSFRUUC8yLjAiLCAiY29va2llcyI6IFtdLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiYWNjZXB0LXJhbmdlcyIsICJ2YWx1ZSI6ICJieXRlcyJ9LCB7Im5hbWUiOiAiYWNjZXNzLWNvbnRyb2wtYWxsb3ctb3JpZ2luIiwgInZhbHVlIjogIioifSwgeyJuYW1lIjogImFnZSIsICJ2YWx1ZSI6ICIxNTYyOTUifSwgeyJuYW1lIjogImFsdC1zdmMiLCAidmFsdWUiOiAiaDM9XCI6NDQzXCI7IG1hPTI1OTIwMDAsaDMtMjk9XCI6NDQzXCI7IG1hPTI1OTIwMDAifSwgeyJuYW1lIjogImNhY2hlLWNvbnRyb2wiLCAidmFsdWUiOiAicHVibGljLCBtYXgtYWdlPTMxNTM2MDAwIn0sIHsibmFtZSI6ICJjb250ZW50LWVuY29kaW5nIiwgInZhbHVlIjogImd6aXAifSwgeyJuYW1lIjogImNvbnRlbnQtbGVuZ3RoIiwgInZhbHVlIjogIjQyMjI2In0sIHsibmFtZSI6ICJjb250ZW50LXNlY3VyaXR5LXBvbGljeS1yZXBvcnQtb25seSIsICJ2YWx1ZSI6ICJyZXF1aXJlLXRydXN0ZWQtdHlwZXMtZm9yICdzY3JpcHQnOyByZXBvcnQtdXJpIGh0dHBzOi8vY3NwLndpdGhnb29nbGUuY29tL2NzcC9zb2NpYWwtZnJvbnRlbmQtbXBtLWFjY2VzcyJ9LCB7Im5hbWUiOiAiY29udGVudC10eXBlIiwgInZhbHVlIjogInRleHQvamF2YXNjcmlwdDsgY2hhcnNldD1VVEYtOCJ9LCB7Im5hbWUiOiAiY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kiLCAidmFsdWUiOiAic2FtZS1vcmlnaW47IHJlcG9ydC10bz1cInNvY2lhbC1mcm9udGVuZC1tcG0tYWNjZXNzXCIifSwgeyJuYW1lIjogImNyb3NzLW9yaWdpbi1yZXNvdXJjZS1wb2xpY3kiLCAidmFsdWUiOiAiY3Jvc3Mtb3JpZ2luIn0sIHsibmFtZSI6ICJkYXRlIiwgInZhbHVlIjogIlR1ZSwgMzAgSnVsIDIwMjQgMTc6MDg6MTcgR01UIn0sIHsibmFtZSI6ICJleHBpcmVzIiwgInZhbHVlIjogIldlZCwgMzAgSnVsIDIwMjUgMTc6MDg6MTcgR01UIn0sIHsibmFtZSI6ICJsYXN0LW1vZGlmaWVkIiwgInZhbHVlIjogIlRodSwgMTEgSnVsIDIwMjQgMTg6NDU6MzQgR01UIn0sIHsibmFtZSI6ICJyZXBvcnQtdG8iLCAidmFsdWUiOiAie1wiZ3JvdXBcIjpcInNvY2lhbC1mcm9udGVuZC1tcG0tYWNjZXNzXCIsXCJtYXhfYWdlXCI6MjU5MjAwMCxcImVuZHBvaW50c1wiOlt7XCJ1cmxcIjpcImh0dHBzOi8vY3NwLndpdGhnb29nbGUuY29tL2NzcC9yZXBvcnQtdG8vc29jaWFsLWZyb250ZW5kLW1wbS1hY2Nlc3NcIn1dfSJ9LCB7Im5hbWUiOiAic2VydmVyIiwgInZhbHVlIjogInNmZmUifSwgeyJuYW1lIjogInZhcnkiLCAidmFsdWUiOiAiQWNjZXB0LUVuY29kaW5nIn0sIHsibmFtZSI6ICJ4LWNvbnRlbnQtdHlwZS1vcHRpb25zIiwgInZhbHVlIjogIm5vc25pZmYifSwgeyJuYW1lIjogIngteHNzLXByb3RlY3Rpb24iLCAidmFsdWUiOiAiMCJ9XSwgImNvbnRlbnQiOiB7InNpemUiOiAxMjUxNDgsICJtaW1lVHlwZSI6ICJ0ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9VVRGLTgiLCAiY29tcHJlc3Npb24iOiA4MjMxNSwgInRleHQiOiAiZ2FwaS5sb2FkZWRfMChmdW5jdGlvbihfKXt2YXIgd2luZG93PXRoaXM7XG5fLl9GX3RvZ2dsZXNfaW5pdGlhbGl6ZT1mdW5jdGlvbihhKXsodHlwZW9mIGdsb2JhbFRoaXMhPT1cInVuZGVmaW5lZFwiP2dsb2JhbFRoaXM6dHlwZW9mIHNlbGYhPT1cInVuZGVmaW5lZFwiP3NlbGY6dGhpcykuX0ZfdG9nZ2xlcz1hfHxbXX07KDAsXy5fRl90b2dnbGVzX2luaXRpYWxpemUpKFsweDIwMDAwMCwgXSk7XG52YXIgYWEsZmEsaGEsbmEsb2EsdGEsdmEseGE7YWE9ZnVuY3Rpb24oYSl7dmFyIGI9MDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYjxhLmxlbmd0aD97ZG9uZTohMSx2YWx1ZTphW2IrK119Ontkb25lOiEwfX19O2ZhPXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz09XCJmdW5jdGlvblwiP09iamVjdC5kZWZpbmVQcm9wZXJ0eTpmdW5jdGlvbihhLGIsYyl7aWYoYT09QXJyYXkucHJvdG90eXBlfHxhPT1PYmplY3QucHJvdG90eXBlKXJldHVybiBhO2FbYl09Yy52YWx1ZTtyZXR1cm4gYX07XG5oYT1mdW5jdGlvbihhKXthPVtcIm9iamVjdFwiPT10eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpcyxhLFwib2JqZWN0XCI9PXR5cGVvZiB3aW5kb3cmJndpbmRvdyxcIm9iamVjdFwiPT10eXBlb2Ygc2VsZiYmc2VsZixcIm9iamVjdFwiPT10eXBlb2YgZ2xvYmFsJiZnbG9iYWxdO2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7KytiKXt2YXIgYz1hW2JdO2lmKGMmJmMuTWF0aD09TWF0aClyZXR1cm4gY310aHJvdyBFcnJvcihcImFcIik7fTtfLm1hPWhhKHRoaXMpO25hPWZ1bmN0aW9uKGEsYil7aWYoYilhOnt2YXIgYz1fLm1hO2E9YS5zcGxpdChcIi5cIik7Zm9yKHZhciBkPTA7ZDxhLmxlbmd0aC0xO2QrKyl7dmFyIGU9YVtkXTtpZighKGUgaW4gYykpYnJlYWsgYTtjPWNbZV19YT1hW2EubGVuZ3RoLTFdO2Q9Y1thXTtiPWIoZCk7YiE9ZCYmYiE9bnVsbCYmZmEoYyxhLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfX07XG5uYShcIlN5bWJvbFwiLGZ1bmN0aW9uKGEpe2lmKGEpcmV0dXJuIGE7dmFyIGI9ZnVuY3Rpb24oZixoKXt0aGlzLmMxPWY7ZmEodGhpcyxcImRlc2NyaXB0aW9uXCIse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpofSl9O2IucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYzF9O3ZhciBjPVwianNjb21wX3N5bWJvbF9cIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKStcIl9cIixkPTAsZT1mdW5jdGlvbihmKXtpZih0aGlzIGluc3RhbmNlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sIGlzIG5vdCBhIGNvbnN0cnVjdG9yXCIpO3JldHVybiBuZXcgYihjKyhmfHxcIlwiKStcIl9cIitkKyssZil9O3JldHVybiBlfSk7XG5uYShcIlN5bWJvbC5pdGVyYXRvclwiLGZ1bmN0aW9uKGEpe2lmKGEpcmV0dXJuIGE7YT1TeW1ib2woXCJTeW1ib2wuaXRlcmF0b3JcIik7Zm9yKHZhciBiPVwiQXJyYXkgSW50OEFycmF5IFVpbnQ4QXJyYXkgVWludDhDbGFtcGVkQXJyYXkgSW50MTZBcnJheSBVaW50MTZBcnJheSBJbnQzMkFycmF5IFVpbnQzMkFycmF5IEZsb2F0MzJBcnJheSBGbG9hdDY0QXJyYXlcIi5zcGxpdChcIiBcIiksYz0wO2M8Yi5sZW5ndGg7YysrKXt2YXIgZD1fLm1hW2JbY11dO3R5cGVvZiBkPT09XCJmdW5jdGlvblwiJiZ0eXBlb2YgZC5wcm90b3R5cGVbYV0hPVwiZnVuY3Rpb25cIiYmZmEoZC5wcm90b3R5cGUsYSx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIG9hKGFhKHRoaXMpKX19KX1yZXR1cm4gYX0pO29hPWZ1bmN0aW9uKGEpe2E9e25leHQ6YX07YVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O3JldHVybiBhfTtcbl8uc2E9ZnVuY3Rpb24oYSl7dmFyIGI9dHlwZW9mIFN5bWJvbCE9XCJ1bmRlZmluZWRcIiYmU3ltYm9sLml0ZXJhdG9yJiZhW1N5bWJvbC5pdGVyYXRvcl07aWYoYilyZXR1cm4gYi5jYWxsKGEpO2lmKHR5cGVvZiBhLmxlbmd0aD09XCJudW1iZXJcIilyZXR1cm57bmV4dDphYShhKX07dGhyb3cgRXJyb3IoXCJiYFwiK1N0cmluZyhhKSk7fTt0YT1mdW5jdGlvbihhLGIpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxiKX07dmE9dHlwZW9mIE9iamVjdC5hc3NpZ249PVwiZnVuY3Rpb25cIj9PYmplY3QuYXNzaWduOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPTE7Yzxhcmd1bWVudHMubGVuZ3RoO2MrKyl7dmFyIGQ9YXJndW1lbnRzW2NdO2lmKGQpZm9yKHZhciBlIGluIGQpdGEoZCxlKSYmKGFbZV09ZFtlXSl9cmV0dXJuIGF9O25hKFwiT2JqZWN0LmFzc2lnblwiLGZ1bmN0aW9uKGEpe3JldHVybiBhfHx2YX0pO1xuXy53YT10eXBlb2YgT2JqZWN0LmNyZWF0ZT09XCJmdW5jdGlvblwiP09iamVjdC5jcmVhdGU6ZnVuY3Rpb24oYSl7dmFyIGI9ZnVuY3Rpb24oKXt9O2IucHJvdG90eXBlPWE7cmV0dXJuIG5ldyBifTtpZih0eXBlb2YgT2JqZWN0LnNldFByb3RvdHlwZU9mPT1cImZ1bmN0aW9uXCIpeGE9T2JqZWN0LnNldFByb3RvdHlwZU9mO2Vsc2V7dmFyIHlhO2E6e3ZhciBBYT17YTohMH0sQmE9e307dHJ5e0JhLl9fcHJvdG9fXz1BYTt5YT1CYS5hO2JyZWFrIGF9Y2F0Y2goYSl7fXlhPSExfXhhPXlhP2Z1bmN0aW9uKGEsYil7YS5fX3Byb3RvX189YjtpZihhLl9fcHJvdG9fXyE9PWIpdGhyb3cgbmV3IFR5cGVFcnJvcihhK1wiIGlzIG5vdCBleHRlbnNpYmxlXCIpO3JldHVybiBhfTpudWxsfV8uRGE9eGE7XG5uYShcIlByb21pc2VcIixmdW5jdGlvbihhKXtmdW5jdGlvbiBiKCl7dGhpcy5LZj1udWxsfWZ1bmN0aW9uIGMoaCl7cmV0dXJuIGggaW5zdGFuY2VvZiBlP2g6bmV3IGUoZnVuY3Rpb24oayl7ayhoKX0pfWlmKGEpcmV0dXJuIGE7Yi5wcm90b3R5cGUuWU89ZnVuY3Rpb24oaCl7aWYodGhpcy5LZj09bnVsbCl7dGhpcy5LZj1bXTt2YXIgaz10aGlzO3RoaXMuWk8oZnVuY3Rpb24oKXtrLno3KCl9KX10aGlzLktmLnB1c2goaCl9O3ZhciBkPV8ubWEuc2V0VGltZW91dDtiLnByb3RvdHlwZS5aTz1mdW5jdGlvbihoKXtkKGgsMCl9O2IucHJvdG90eXBlLno3PWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLktmJiZ0aGlzLktmLmxlbmd0aDspe3ZhciBoPXRoaXMuS2Y7dGhpcy5LZj1bXTtmb3IodmFyIGs9MDtrPGgubGVuZ3RoOysrayl7dmFyIGw9aFtrXTtoW2tdPW51bGw7dHJ5e2woKX1jYXRjaChtKXt0aGlzLm5xKG0pfX19dGhpcy5LZj1udWxsfTtiLnByb3RvdHlwZS5ucT1mdW5jdGlvbihoKXt0aGlzLlpPKGZ1bmN0aW9uKCl7dGhyb3cgaDtcbn0pfTt2YXIgZT1mdW5jdGlvbihoKXt0aGlzLkdhPTA7dGhpcy5DZj12b2lkIDA7dGhpcy5Rcj1bXTt0aGlzLmlWPSExO3ZhciBrPXRoaXMuZkYoKTt0cnl7aChrLnJlc29sdmUsay5yZWplY3QpfWNhdGNoKGwpe2sucmVqZWN0KGwpfX07ZS5wcm90b3R5cGUuZkY9ZnVuY3Rpb24oKXtmdW5jdGlvbiBoKG0pe3JldHVybiBmdW5jdGlvbihuKXtsfHwobD0hMCxtLmNhbGwoayxuKSl9fXZhciBrPXRoaXMsbD0hMTtyZXR1cm57cmVzb2x2ZTpoKHRoaXMuUmRhKSxyZWplY3Q6aCh0aGlzLlJKKX19O2UucHJvdG90eXBlLlJkYT1mdW5jdGlvbihoKXtpZihoPT09dGhpcyl0aGlzLlJKKG5ldyBUeXBlRXJyb3IoXCJBIFByb21pc2UgY2Fubm90IHJlc29sdmUgdG8gaXRzZWxmXCIpKTtlbHNlIGlmKGggaW5zdGFuY2VvZiBlKXRoaXMud2ZhKGgpO2Vsc2V7YTpzd2l0Y2godHlwZW9mIGgpe2Nhc2UgXCJvYmplY3RcIjp2YXIgaz1oIT1udWxsO2JyZWFrIGE7Y2FzZSBcImZ1bmN0aW9uXCI6az0hMDticmVhayBhO1xuZGVmYXVsdDprPSExfWs/dGhpcy5RZGEoaCk6dGhpcy5tUyhoKX19O2UucHJvdG90eXBlLlFkYT1mdW5jdGlvbihoKXt2YXIgaz12b2lkIDA7dHJ5e2s9aC50aGVufWNhdGNoKGwpe3RoaXMuUkoobCk7cmV0dXJufXR5cGVvZiBrPT1cImZ1bmN0aW9uXCI/dGhpcy54ZmEoayxoKTp0aGlzLm1TKGgpfTtlLnByb3RvdHlwZS5SSj1mdW5jdGlvbihoKXt0aGlzLlhaKDIsaCl9O2UucHJvdG90eXBlLm1TPWZ1bmN0aW9uKGgpe3RoaXMuWFooMSxoKX07ZS5wcm90b3R5cGUuWFo9ZnVuY3Rpb24oaCxrKXtpZih0aGlzLkdhIT0wKXRocm93IEVycm9yKFwiY2BcIitoK1wiYFwiK2srXCJgXCIrdGhpcy5HYSk7dGhpcy5HYT1oO3RoaXMuQ2Y9azt0aGlzLkdhPT09MiYmdGhpcy5nZWEoKTt0aGlzLkE3KCl9O2UucHJvdG90eXBlLmdlYT1mdW5jdGlvbigpe3ZhciBoPXRoaXM7ZChmdW5jdGlvbigpe2lmKGguWWJhKCkpe3ZhciBrPV8ubWEuY29uc29sZTt0eXBlb2YgayE9PVwidW5kZWZpbmVkXCImJmsuZXJyb3IoaC5DZil9fSxcbjEpfTtlLnByb3RvdHlwZS5ZYmE9ZnVuY3Rpb24oKXtpZih0aGlzLmlWKXJldHVybiExO3ZhciBoPV8ubWEuQ3VzdG9tRXZlbnQsaz1fLm1hLkV2ZW50LGw9Xy5tYS5kaXNwYXRjaEV2ZW50O2lmKHR5cGVvZiBsPT09XCJ1bmRlZmluZWRcIilyZXR1cm4hMDt0eXBlb2YgaD09PVwiZnVuY3Rpb25cIj9oPW5ldyBoKFwidW5oYW5kbGVkcmVqZWN0aW9uXCIse2NhbmNlbGFibGU6ITB9KTp0eXBlb2Ygaz09PVwiZnVuY3Rpb25cIj9oPW5ldyBrKFwidW5oYW5kbGVkcmVqZWN0aW9uXCIse2NhbmNlbGFibGU6ITB9KTooaD1fLm1hLmRvY3VtZW50LmNyZWF0ZUV2ZW50KFwiQ3VzdG9tRXZlbnRcIiksaC5pbml0Q3VzdG9tRXZlbnQoXCJ1bmhhbmRsZWRyZWplY3Rpb25cIiwhMSwhMCxoKSk7aC5wcm9taXNlPXRoaXM7aC5yZWFzb249dGhpcy5DZjtyZXR1cm4gbChoKX07ZS5wcm90b3R5cGUuQTc9ZnVuY3Rpb24oKXtpZih0aGlzLlFyIT1udWxsKXtmb3IodmFyIGg9MDtoPHRoaXMuUXIubGVuZ3RoOysraClmLllPKHRoaXMuUXJbaF0pO1xudGhpcy5Rcj1udWxsfX07dmFyIGY9bmV3IGI7ZS5wcm90b3R5cGUud2ZhPWZ1bmN0aW9uKGgpe3ZhciBrPXRoaXMuZkYoKTtoLml5KGsucmVzb2x2ZSxrLnJlamVjdCl9O2UucHJvdG90eXBlLnhmYT1mdW5jdGlvbihoLGspe3ZhciBsPXRoaXMuZkYoKTt0cnl7aC5jYWxsKGssbC5yZXNvbHZlLGwucmVqZWN0KX1jYXRjaChtKXtsLnJlamVjdChtKX19O2UucHJvdG90eXBlLnRoZW49ZnVuY3Rpb24oaCxrKXtmdW5jdGlvbiBsKHEsdCl7cmV0dXJuIHR5cGVvZiBxPT1cImZ1bmN0aW9uXCI/ZnVuY3Rpb24odil7dHJ5e20ocSh2KSl9Y2F0Y2godSl7bih1KX19OnR9dmFyIG0sbixwPW5ldyBlKGZ1bmN0aW9uKHEsdCl7bT1xO249dH0pO3RoaXMuaXkobChoLG0pLGwoayxuKSk7cmV0dXJuIHB9O2UucHJvdG90eXBlLmNhdGNoPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLnRoZW4odm9pZCAwLGgpfTtlLnByb3RvdHlwZS5peT1mdW5jdGlvbihoLGspe2Z1bmN0aW9uIGwoKXtzd2l0Y2gobS5HYSl7Y2FzZSAxOmgobS5DZik7XG5icmVhaztjYXNlIDI6ayhtLkNmKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKFwiZGBcIittLkdhKTt9fXZhciBtPXRoaXM7dGhpcy5Rcj09bnVsbD9mLllPKGwpOnRoaXMuUXIucHVzaChsKTt0aGlzLmlWPSEwfTtlLnJlc29sdmU9YztlLnJlamVjdD1mdW5jdGlvbihoKXtyZXR1cm4gbmV3IGUoZnVuY3Rpb24oayxsKXtsKGgpfSl9O2UucmFjZT1mdW5jdGlvbihoKXtyZXR1cm4gbmV3IGUoZnVuY3Rpb24oayxsKXtmb3IodmFyIG09Xy5zYShoKSxuPW0ubmV4dCgpOyFuLmRvbmU7bj1tLm5leHQoKSljKG4udmFsdWUpLml5KGssbCl9KX07ZS5hbGw9ZnVuY3Rpb24oaCl7dmFyIGs9Xy5zYShoKSxsPWsubmV4dCgpO3JldHVybiBsLmRvbmU/YyhbXSk6bmV3IGUoZnVuY3Rpb24obSxuKXtmdW5jdGlvbiBwKHYpe3JldHVybiBmdW5jdGlvbih1KXtxW3ZdPXU7dC0tO3Q9PTAmJm0ocSl9fXZhciBxPVtdLHQ9MDtkbyBxLnB1c2godm9pZCAwKSx0KyssYyhsLnZhbHVlKS5peShwKHEubGVuZ3RoLVxuMSksbiksbD1rLm5leHQoKTt3aGlsZSghbC5kb25lKX0pfTtyZXR1cm4gZX0pO3ZhciBFYT1mdW5jdGlvbihhLGIsYyl7aWYoYT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKFwiVGhlICd0aGlzJyB2YWx1ZSBmb3IgU3RyaW5nLnByb3RvdHlwZS5cIitjK1wiIG11c3Qgbm90IGJlIG51bGwgb3IgdW5kZWZpbmVkXCIpO2lmKGIgaW5zdGFuY2VvZiBSZWdFeHApdGhyb3cgbmV3IFR5cGVFcnJvcihcIkZpcnN0IGFyZ3VtZW50IHRvIFN0cmluZy5wcm90b3R5cGUuXCIrYytcIiBtdXN0IG5vdCBiZSBhIHJlZ3VsYXIgZXhwcmVzc2lvblwiKTtyZXR1cm4gYStcIlwifTtcbm5hKFwiU3RyaW5nLnByb3RvdHlwZS5zdGFydHNXaXRoXCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe3ZhciBkPUVhKHRoaXMsYixcInN0YXJ0c1dpdGhcIiksZT1kLmxlbmd0aCxmPWIubGVuZ3RoO2M9TWF0aC5tYXgoMCxNYXRoLm1pbihjfDAsZC5sZW5ndGgpKTtmb3IodmFyIGg9MDtoPGYmJmM8ZTspaWYoZFtjKytdIT1iW2grK10pcmV0dXJuITE7cmV0dXJuIGg+PWZ9fSk7XG5uYShcIldlYWtNYXBcIixmdW5jdGlvbihhKXtmdW5jdGlvbiBiKCl7fWZ1bmN0aW9uIGMobCl7dmFyIG09dHlwZW9mIGw7cmV0dXJuIG09PT1cIm9iamVjdFwiJiZsIT09bnVsbHx8bT09PVwiZnVuY3Rpb25cIn1mdW5jdGlvbiBkKGwpe2lmKCF0YShsLGYpKXt2YXIgbT1uZXcgYjtmYShsLGYse3ZhbHVlOm19KX19ZnVuY3Rpb24gZShsKXt2YXIgbT1PYmplY3RbbF07bSYmKE9iamVjdFtsXT1mdW5jdGlvbihuKXtpZihuIGluc3RhbmNlb2YgYilyZXR1cm4gbjtPYmplY3QuaXNFeHRlbnNpYmxlKG4pJiZkKG4pO3JldHVybiBtKG4pfSl9aWYoZnVuY3Rpb24oKXtpZighYXx8IU9iamVjdC5zZWFsKXJldHVybiExO3RyeXt2YXIgbD1PYmplY3Quc2VhbCh7fSksbT1PYmplY3Quc2VhbCh7fSksbj1uZXcgYShbW2wsMl0sW20sM11dKTtpZihuLmdldChsKSE9Mnx8bi5nZXQobSkhPTMpcmV0dXJuITE7bi5kZWxldGUobCk7bi5zZXQobSw0KTtyZXR1cm4hbi5oYXMobCkmJm4uZ2V0KG0pPT00fWNhdGNoKHApe3JldHVybiExfX0oKSlyZXR1cm4gYTtcbnZhciBmPVwiJGpzY29tcF9oaWRkZW5fXCIrTWF0aC5yYW5kb20oKTtlKFwiZnJlZXplXCIpO2UoXCJwcmV2ZW50RXh0ZW5zaW9uc1wiKTtlKFwic2VhbFwiKTt2YXIgaD0wLGs9ZnVuY3Rpb24obCl7dGhpcy5IYT0oaCs9TWF0aC5yYW5kb20oKSsxKS50b1N0cmluZygpO2lmKGwpe2w9Xy5zYShsKTtmb3IodmFyIG07IShtPWwubmV4dCgpKS5kb25lOyltPW0udmFsdWUsdGhpcy5zZXQobVswXSxtWzFdKX19O2sucHJvdG90eXBlLnNldD1mdW5jdGlvbihsLG0pe2lmKCFjKGwpKXRocm93IEVycm9yKFwiZVwiKTtkKGwpO2lmKCF0YShsLGYpKXRocm93IEVycm9yKFwiZmBcIitsKTtsW2ZdW3RoaXMuSGFdPW07cmV0dXJuIHRoaXN9O2sucHJvdG90eXBlLmdldD1mdW5jdGlvbihsKXtyZXR1cm4gYyhsKSYmdGEobCxmKT9sW2ZdW3RoaXMuSGFdOnZvaWQgMH07ay5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGwpe3JldHVybiBjKGwpJiZ0YShsLGYpJiZ0YShsW2ZdLHRoaXMuSGEpfTtrLnByb3RvdHlwZS5kZWxldGU9XG5mdW5jdGlvbihsKXtyZXR1cm4gYyhsKSYmdGEobCxmKSYmdGEobFtmXSx0aGlzLkhhKT9kZWxldGUgbFtmXVt0aGlzLkhhXTohMX07cmV0dXJuIGt9KTtcbm5hKFwiTWFwXCIsZnVuY3Rpb24oYSl7aWYoZnVuY3Rpb24oKXtpZighYXx8dHlwZW9mIGEhPVwiZnVuY3Rpb25cInx8IWEucHJvdG90eXBlLmVudHJpZXN8fHR5cGVvZiBPYmplY3Quc2VhbCE9XCJmdW5jdGlvblwiKXJldHVybiExO3RyeXt2YXIgaz1PYmplY3Quc2VhbCh7eDo0fSksbD1uZXcgYShfLnNhKFtbayxcInNcIl1dKSk7aWYobC5nZXQoaykhPVwic1wifHxsLnNpemUhPTF8fGwuZ2V0KHt4OjR9KXx8bC5zZXQoe3g6NH0sXCJ0XCIpIT1sfHxsLnNpemUhPTIpcmV0dXJuITE7dmFyIG09bC5lbnRyaWVzKCksbj1tLm5leHQoKTtpZihuLmRvbmV8fG4udmFsdWVbMF0hPWt8fG4udmFsdWVbMV0hPVwic1wiKXJldHVybiExO249bS5uZXh0KCk7cmV0dXJuIG4uZG9uZXx8bi52YWx1ZVswXS54IT00fHxuLnZhbHVlWzFdIT1cInRcInx8IW0ubmV4dCgpLmRvbmU/ITE6ITB9Y2F0Y2gocCl7cmV0dXJuITF9fSgpKXJldHVybiBhO3ZhciBiPW5ldyBXZWFrTWFwLGM9ZnVuY3Rpb24oayl7dGhpc1swXT17fTt0aGlzWzFdPVxuZigpO3RoaXMuc2l6ZT0wO2lmKGspe2s9Xy5zYShrKTtmb3IodmFyIGw7IShsPWsubmV4dCgpKS5kb25lOylsPWwudmFsdWUsdGhpcy5zZXQobFswXSxsWzFdKX19O2MucHJvdG90eXBlLnNldD1mdW5jdGlvbihrLGwpe2s9az09PTA/MDprO3ZhciBtPWQodGhpcyxrKTttLmxpc3R8fChtLmxpc3Q9dGhpc1swXVttLmlkXT1bXSk7bS5rZj9tLmtmLnZhbHVlPWw6KG0ua2Y9e25leHQ6dGhpc1sxXSxZazp0aGlzWzFdLllrLGhlYWQ6dGhpc1sxXSxrZXk6ayx2YWx1ZTpsfSxtLmxpc3QucHVzaChtLmtmKSx0aGlzWzFdLllrLm5leHQ9bS5rZix0aGlzWzFdLllrPW0ua2YsdGhpcy5zaXplKyspO3JldHVybiB0aGlzfTtjLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24oayl7az1kKHRoaXMsayk7cmV0dXJuIGsua2YmJmsubGlzdD8oay5saXN0LnNwbGljZShrLmluZGV4LDEpLGsubGlzdC5sZW5ndGh8fGRlbGV0ZSB0aGlzWzBdW2suaWRdLGsua2YuWWsubmV4dD1rLmtmLm5leHQsay5rZi5uZXh0LllrPVxuay5rZi5ZayxrLmtmLmhlYWQ9bnVsbCx0aGlzLnNpemUtLSwhMCk6ITF9O2MucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpc1swXT17fTt0aGlzWzFdPXRoaXNbMV0uWWs9ZigpO3RoaXMuc2l6ZT0wfTtjLnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24oayl7cmV0dXJuISFkKHRoaXMsaykua2Z9O2MucHJvdG90eXBlLmdldD1mdW5jdGlvbihrKXtyZXR1cm4oaz1kKHRoaXMsaykua2YpJiZrLnZhbHVlfTtjLnByb3RvdHlwZS5lbnRyaWVzPWZ1bmN0aW9uKCl7cmV0dXJuIGUodGhpcyxmdW5jdGlvbihrKXtyZXR1cm5bay5rZXksay52YWx1ZV19KX07Yy5wcm90b3R5cGUua2V5cz1mdW5jdGlvbigpe3JldHVybiBlKHRoaXMsZnVuY3Rpb24oayl7cmV0dXJuIGsua2V5fSl9O2MucHJvdG90eXBlLnZhbHVlcz1mdW5jdGlvbigpe3JldHVybiBlKHRoaXMsZnVuY3Rpb24oayl7cmV0dXJuIGsudmFsdWV9KX07Yy5wcm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbihrLGwpe2Zvcih2YXIgbT10aGlzLmVudHJpZXMoKSxcbm47IShuPW0ubmV4dCgpKS5kb25lOyluPW4udmFsdWUsay5jYWxsKGwsblsxXSxuWzBdLHRoaXMpfTtjLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdPWMucHJvdG90eXBlLmVudHJpZXM7dmFyIGQ9ZnVuY3Rpb24oayxsKXt2YXIgbT1sJiZ0eXBlb2YgbDttPT1cIm9iamVjdFwifHxtPT1cImZ1bmN0aW9uXCI/Yi5oYXMobCk/bT1iLmdldChsKToobT1cIlwiKyArK2gsYi5zZXQobCxtKSk6bT1cInBfXCIrbDt2YXIgbj1rWzBdW21dO2lmKG4mJnRhKGtbMF0sbSkpZm9yKGs9MDtrPG4ubGVuZ3RoO2srKyl7dmFyIHA9bltrXTtpZihsIT09bCYmcC5rZXkhPT1wLmtleXx8bD09PXAua2V5KXJldHVybntpZDptLGxpc3Q6bixpbmRleDprLGtmOnB9fXJldHVybntpZDptLGxpc3Q6bixpbmRleDotMSxrZjp2b2lkIDB9fSxlPWZ1bmN0aW9uKGssbCl7dmFyIG09a1sxXTtyZXR1cm4gb2EoZnVuY3Rpb24oKXtpZihtKXtmb3IoO20uaGVhZCE9a1sxXTspbT1tLllrO2Zvcig7bS5uZXh0IT1tLmhlYWQ7KXJldHVybiBtPVxubS5uZXh0LHtkb25lOiExLHZhbHVlOmwobSl9O209bnVsbH1yZXR1cm57ZG9uZTohMCx2YWx1ZTp2b2lkIDB9fSl9LGY9ZnVuY3Rpb24oKXt2YXIgaz17fTtyZXR1cm4gay5Zaz1rLm5leHQ9ay5oZWFkPWt9LGg9MDtyZXR1cm4gY30pO25hKFwiU3ltYm9sLmRpc3Bvc2VcIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOlN5bWJvbChcIlN5bWJvbC5kaXNwb3NlXCIpfSk7bmEoXCJTdHJpbmcucHJvdG90eXBlLmVuZHNXaXRoXCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe3ZhciBkPUVhKHRoaXMsYixcImVuZHNXaXRoXCIpO2M9PT12b2lkIDAmJihjPWQubGVuZ3RoKTtjPU1hdGgubWF4KDAsTWF0aC5taW4oY3wwLGQubGVuZ3RoKSk7Zm9yKHZhciBlPWIubGVuZ3RoO2U+MCYmYz4wOylpZihkWy0tY10hPWJbLS1lXSlyZXR1cm4hMTtyZXR1cm4gZTw9MH19KTtcbnZhciBHYT1mdW5jdGlvbihhLGIpe2EgaW5zdGFuY2VvZiBTdHJpbmcmJihhKz1cIlwiKTt2YXIgYz0wLGQ9ITEsZT17bmV4dDpmdW5jdGlvbigpe2lmKCFkJiZjPGEubGVuZ3RoKXt2YXIgZj1jKys7cmV0dXJue3ZhbHVlOmIoZixhW2ZdKSxkb25lOiExfX1kPSEwO3JldHVybntkb25lOiEwLHZhbHVlOnZvaWQgMH19fTtlW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gZX07cmV0dXJuIGV9O25hKFwiQXJyYXkucHJvdG90eXBlLmtleXNcIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKCl7cmV0dXJuIEdhKHRoaXMsZnVuY3Rpb24oYil7cmV0dXJuIGJ9KX19KTtcbm5hKFwiU2V0XCIsZnVuY3Rpb24oYSl7aWYoZnVuY3Rpb24oKXtpZighYXx8dHlwZW9mIGEhPVwiZnVuY3Rpb25cInx8IWEucHJvdG90eXBlLmVudHJpZXN8fHR5cGVvZiBPYmplY3Quc2VhbCE9XCJmdW5jdGlvblwiKXJldHVybiExO3RyeXt2YXIgYz1PYmplY3Quc2VhbCh7eDo0fSksZD1uZXcgYShfLnNhKFtjXSkpO2lmKCFkLmhhcyhjKXx8ZC5zaXplIT0xfHxkLmFkZChjKSE9ZHx8ZC5zaXplIT0xfHxkLmFkZCh7eDo0fSkhPWR8fGQuc2l6ZSE9MilyZXR1cm4hMTt2YXIgZT1kLmVudHJpZXMoKSxmPWUubmV4dCgpO2lmKGYuZG9uZXx8Zi52YWx1ZVswXSE9Y3x8Zi52YWx1ZVsxXSE9YylyZXR1cm4hMTtmPWUubmV4dCgpO3JldHVybiBmLmRvbmV8fGYudmFsdWVbMF09PWN8fGYudmFsdWVbMF0ueCE9NHx8Zi52YWx1ZVsxXSE9Zi52YWx1ZVswXT8hMTplLm5leHQoKS5kb25lfWNhdGNoKGgpe3JldHVybiExfX0oKSlyZXR1cm4gYTt2YXIgYj1mdW5jdGlvbihjKXt0aGlzLkRhPW5ldyBNYXA7aWYoYyl7Yz1cbl8uc2EoYyk7Zm9yKHZhciBkOyEoZD1jLm5leHQoKSkuZG9uZTspdGhpcy5hZGQoZC52YWx1ZSl9dGhpcy5zaXplPXRoaXMuRGEuc2l6ZX07Yi5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGMpe2M9Yz09PTA/MDpjO3RoaXMuRGEuc2V0KGMsYyk7dGhpcy5zaXplPXRoaXMuRGEuc2l6ZTtyZXR1cm4gdGhpc307Yi5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKGMpe2M9dGhpcy5EYS5kZWxldGUoYyk7dGhpcy5zaXplPXRoaXMuRGEuc2l6ZTtyZXR1cm4gY307Yi5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLkRhLmNsZWFyKCk7dGhpcy5zaXplPTB9O2IucHJvdG90eXBlLmhhcz1mdW5jdGlvbihjKXtyZXR1cm4gdGhpcy5EYS5oYXMoYyl9O2IucHJvdG90eXBlLmVudHJpZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5EYS5lbnRyaWVzKCl9O2IucHJvdG90eXBlLnZhbHVlcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLkRhLnZhbHVlcygpfTtiLnByb3RvdHlwZS5rZXlzPWIucHJvdG90eXBlLnZhbHVlcztcbmIucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl09Yi5wcm90b3R5cGUudmFsdWVzO2IucHJvdG90eXBlLmZvckVhY2g9ZnVuY3Rpb24oYyxkKXt2YXIgZT10aGlzO3RoaXMuRGEuZm9yRWFjaChmdW5jdGlvbihmKXtyZXR1cm4gYy5jYWxsKGQsZixmLGUpfSl9O3JldHVybiBifSk7bmEoXCJBcnJheS5wcm90b3R5cGUuZW50cmllc1wiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oKXtyZXR1cm4gR2EodGhpcyxmdW5jdGlvbihiLGMpe3JldHVybltiLGNdfSl9fSk7dmFyIEphPWZ1bmN0aW9uKGEsYixjKXthIGluc3RhbmNlb2YgU3RyaW5nJiYoYT1TdHJpbmcoYSkpO2Zvcih2YXIgZD1hLmxlbmd0aCxlPTA7ZTxkO2UrKyl7dmFyIGY9YVtlXTtpZihiLmNhbGwoYyxmLGUsYSkpcmV0dXJue3BVOmUsQUQ6Zn19cmV0dXJue3BVOi0xLEFEOnZvaWQgMH19O1xubmEoXCJBcnJheS5wcm90b3R5cGUuZmluZFwiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXtyZXR1cm4gSmEodGhpcyxiLGMpLkFEfX0pO25hKFwiTnVtYmVyLmlzRmluaXRlXCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtyZXR1cm4gdHlwZW9mIGIhPT1cIm51bWJlclwiPyExOiFpc05hTihiKSYmYiE9PUluZmluaXR5JiZiIT09LUluZmluaXR5fX0pO25hKFwiQXJyYXkucHJvdG90eXBlLnZhbHVlc1wiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oKXtyZXR1cm4gR2EodGhpcyxmdW5jdGlvbihiLGMpe3JldHVybiBjfSl9fSk7XG5uYShcIkFycmF5LmZyb21cIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIsYyxkKXtjPWMhPW51bGw/YzpmdW5jdGlvbihrKXtyZXR1cm4ga307dmFyIGU9W10sZj10eXBlb2YgU3ltYm9sIT1cInVuZGVmaW5lZFwiJiZTeW1ib2wuaXRlcmF0b3ImJmJbU3ltYm9sLml0ZXJhdG9yXTtpZih0eXBlb2YgZj09XCJmdW5jdGlvblwiKXtiPWYuY2FsbChiKTtmb3IodmFyIGg9MDshKGY9Yi5uZXh0KCkpLmRvbmU7KWUucHVzaChjLmNhbGwoZCxmLnZhbHVlLGgrKykpfWVsc2UgZm9yKGY9Yi5sZW5ndGgsaD0wO2g8ZjtoKyspZS5wdXNoKGMuY2FsbChkLGJbaF0saCkpO3JldHVybiBlfX0pO25hKFwiT2JqZWN0LmVudHJpZXNcIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIpe3ZhciBjPVtdLGQ7Zm9yKGQgaW4gYil0YShiLGQpJiZjLnB1c2goW2QsYltkXV0pO3JldHVybiBjfX0pO1xubmEoXCJPYmplY3QudmFsdWVzXCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXt2YXIgYz1bXSxkO2ZvcihkIGluIGIpdGEoYixkKSYmYy5wdXNoKGJbZF0pO3JldHVybiBjfX0pO25hKFwiT2JqZWN0LmlzXCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe3JldHVybiBiPT09Yz9iIT09MHx8MS9iPT09MS9jOmIhPT1iJiZjIT09Y319KTtuYShcIkFycmF5LnByb3RvdHlwZS5pbmNsdWRlc1wiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXt2YXIgZD10aGlzO2QgaW5zdGFuY2VvZiBTdHJpbmcmJihkPVN0cmluZyhkKSk7dmFyIGU9ZC5sZW5ndGg7Yz1jfHwwO2ZvcihjPDAmJihjPU1hdGgubWF4KGMrZSwwKSk7YzxlO2MrKyl7dmFyIGY9ZFtjXTtpZihmPT09Ynx8T2JqZWN0LmlzKGYsYikpcmV0dXJuITB9cmV0dXJuITF9fSk7XG5uYShcIlN0cmluZy5wcm90b3R5cGUuaW5jbHVkZXNcIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIsYyl7cmV0dXJuIEVhKHRoaXMsYixcImluY2x1ZGVzXCIpLmluZGV4T2YoYixjfHwwKSE9PS0xfX0pO25hKFwiUHJvbWlzZS5wcm90b3R5cGUuZmluYWxseVwiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMudGhlbihmdW5jdGlvbihjKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGIoKSkudGhlbihmdW5jdGlvbigpe3JldHVybiBjfSl9LGZ1bmN0aW9uKGMpe3JldHVybiBQcm9taXNlLnJlc29sdmUoYigpKS50aGVuKGZ1bmN0aW9uKCl7dGhyb3cgYzt9KX0pfX0pO1xubmEoXCJBcnJheS5wcm90b3R5cGUuZmxhdFwiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7Yj1iPT09dm9pZCAwPzE6Yjt2YXIgYz1bXTtBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKHRoaXMsZnVuY3Rpb24oZCl7QXJyYXkuaXNBcnJheShkKSYmYj4wPyhkPUFycmF5LnByb3RvdHlwZS5mbGF0LmNhbGwoZCxiLTEpLGMucHVzaC5hcHBseShjLGQpKTpjLnB1c2goZCl9KTtyZXR1cm4gY319KTtuYShcIk51bWJlci5NQVhfU0FGRV9JTlRFR0VSXCIsZnVuY3Rpb24oKXtyZXR1cm4gOTAwNzE5OTI1NDc0MDk5MX0pO25hKFwiTnVtYmVyLmlzSW50ZWdlclwiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7cmV0dXJuIE51bWJlci5pc0Zpbml0ZShiKT9iPT09TWF0aC5mbG9vcihiKTohMX19KTtcbm5hKFwiTnVtYmVyLmlzU2FmZUludGVnZXJcIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIpe3JldHVybiBOdW1iZXIuaXNJbnRlZ2VyKGIpJiZNYXRoLmFicyhiKTw9TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJ9fSk7bmEoXCJNYXRoLnRydW5jXCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtiPU51bWJlcihiKTtpZihpc05hTihiKXx8Yj09PUluZmluaXR5fHxiPT09LUluZmluaXR5fHxiPT09MClyZXR1cm4gYjt2YXIgYz1NYXRoLmZsb29yKE1hdGguYWJzKGIpKTtyZXR1cm4gYjwwPy1jOmN9fSk7bmEoXCJOdW1iZXIuaXNOYU5cIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIpe3JldHVybiB0eXBlb2YgYj09PVwibnVtYmVyXCImJmlzTmFOKGIpfX0pO3ZhciBMYT1mdW5jdGlvbihhKXthPU1hdGgudHJ1bmMoYSl8fDA7YTwwJiYoYSs9dGhpcy5sZW5ndGgpO2lmKCEoYTwwfHxhPj10aGlzLmxlbmd0aCkpcmV0dXJuIHRoaXNbYV19O1xubmEoXCJBcnJheS5wcm90b3R5cGUuYXRcIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOkxhfSk7dmFyIE9hPWZ1bmN0aW9uKGEpe3JldHVybiBhP2E6TGF9O25hKFwiSW50OEFycmF5LnByb3RvdHlwZS5hdFwiLE9hKTtuYShcIlVpbnQ4QXJyYXkucHJvdG90eXBlLmF0XCIsT2EpO25hKFwiVWludDhDbGFtcGVkQXJyYXkucHJvdG90eXBlLmF0XCIsT2EpO25hKFwiSW50MTZBcnJheS5wcm90b3R5cGUuYXRcIixPYSk7bmEoXCJVaW50MTZBcnJheS5wcm90b3R5cGUuYXRcIixPYSk7bmEoXCJJbnQzMkFycmF5LnByb3RvdHlwZS5hdFwiLE9hKTtuYShcIlVpbnQzMkFycmF5LnByb3RvdHlwZS5hdFwiLE9hKTtuYShcIkZsb2F0MzJBcnJheS5wcm90b3R5cGUuYXRcIixPYSk7bmEoXCJGbG9hdDY0QXJyYXkucHJvdG90eXBlLmF0XCIsT2EpO25hKFwiU3RyaW5nLnByb3RvdHlwZS5hdFwiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6TGF9KTtcbm5hKFwiU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsXCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe2lmKGIgaW5zdGFuY2VvZiBSZWdFeHAmJiFiLmdsb2JhbCl0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsIGNhbGxlZCB3aXRoIGEgbm9uLWdsb2JhbCBSZWdFeHAgYXJndW1lbnQuXCIpO3JldHVybiBiIGluc3RhbmNlb2YgUmVnRXhwP3RoaXMucmVwbGFjZShiLGMpOnRoaXMucmVwbGFjZShuZXcgUmVnRXhwKFN0cmluZyhiKS5yZXBsYWNlKC8oWy0oKVxcW1xcXXt9Kz8qLiRcXF58LDojPCFcXFxcXSkvZyxcIlxcXFwkMVwiKS5yZXBsYWNlKC9cXHgwOC9nLFwiXFxcXHgwOFwiKSxcImdcIiksYyl9fSk7bmEoXCJBcnJheS5wcm90b3R5cGUuZmluZEluZGV4XCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe3JldHVybiBKYSh0aGlzLGIsYykucFV9fSk7XG5uYShcIlN0cmluZy5mcm9tQ29kZVBvaW50XCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtmb3IodmFyIGM9XCJcIixkPTA7ZDxhcmd1bWVudHMubGVuZ3RoO2QrKyl7dmFyIGU9TnVtYmVyKGFyZ3VtZW50c1tkXSk7aWYoZTwwfHxlPjExMTQxMTF8fGUhPT1NYXRoLmZsb29yKGUpKXRocm93IG5ldyBSYW5nZUVycm9yKFwiaW52YWxpZF9jb2RlX3BvaW50IFwiK2UpO2U8PTY1NTM1P2MrPVN0cmluZy5mcm9tQ2hhckNvZGUoZSk6KGUtPTY1NTM2LGMrPVN0cmluZy5mcm9tQ2hhckNvZGUoZT4+PjEwJjEwMjN8NTUyOTYpLGMrPVN0cmluZy5mcm9tQ2hhckNvZGUoZSYxMDIzfDU2MzIwKSl9cmV0dXJuIGN9fSk7XG5uYShcIlN0cmluZy5wcm90b3R5cGUuY29kZVBvaW50QXRcIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIpe3ZhciBjPUVhKHRoaXMsbnVsbCxcImNvZGVQb2ludEF0XCIpLGQ9Yy5sZW5ndGg7Yj1OdW1iZXIoYil8fDA7aWYoYj49MCYmYjxkKXtifD0wO3ZhciBlPWMuY2hhckNvZGVBdChiKTtpZihlPDU1Mjk2fHxlPjU2MzE5fHxiKzE9PT1kKXJldHVybiBlO2I9Yy5jaGFyQ29kZUF0KGIrMSk7cmV0dXJuIGI8NTYzMjB8fGI+NTczNDM/ZTooZS01NTI5NikqMTAyNCtiKzkyMTZ9fX0pO25hKFwiZ2xvYmFsVGhpc1wiLGZ1bmN0aW9uKGEpe3JldHVybiBhfHxfLm1hfSk7bmEoXCJNYXRoLmltdWxcIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIsYyl7Yj1OdW1iZXIoYik7Yz1OdW1iZXIoYyk7dmFyIGQ9YiY2NTUzNSxlPWMmNjU1MzU7cmV0dXJuIGQqZSsoKGI+Pj4xNiY2NTUzNSkqZStkKihjPj4+MTYmNjU1MzUpPDwxNj4+PjApfDB9fSk7Xy5QYT17fTsvKlxuXG4gQ29weXJpZ2h0IFRoZSBDbG9zdXJlIExpYnJhcnkgQXV0aG9ycy5cbiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuKi9cbl8uUmE9Xy5SYXx8e307Xy5TYT10aGlzfHxzZWxmO18uV2E9Xy5TYS5fRl90b2dnbGVzfHxbXTtfLlphPVwiY2xvc3VyZV91aWRfXCIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCk7Xy4kYT1mdW5jdGlvbihhLGIpe3ZhciBjPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZD1jLnNsaWNlKCk7ZC5wdXNoLmFwcGx5KGQsYXJndW1lbnRzKTtyZXR1cm4gYS5hcHBseSh0aGlzLGQpfX07Xy5yPWZ1bmN0aW9uKGEsYil7YT1hLnNwbGl0KFwiLlwiKTt2YXIgYz1fLlNhO2FbMF1pbiBjfHx0eXBlb2YgYy5leGVjU2NyaXB0PT1cInVuZGVmaW5lZFwifHxjLmV4ZWNTY3JpcHQoXCJ2YXIgXCIrYVswXSk7Zm9yKHZhciBkO2EubGVuZ3RoJiYoZD1hLnNoaWZ0KCkpOylhLmxlbmd0aHx8Yj09PXZvaWQgMD9jPWNbZF0mJmNbZF0hPT1PYmplY3QucHJvdG90eXBlW2RdP2NbZF06Y1tkXT17fTpjW2RdPWJ9O1xuXy5iYj1mdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoKXt9Yy5wcm90b3R5cGU9Yi5wcm90b3R5cGU7YS5OPWIucHJvdG90eXBlO2EucHJvdG90eXBlPW5ldyBjO2EucHJvdG90eXBlLmNvbnN0cnVjdG9yPWE7YS50dD1mdW5jdGlvbihkLGUsZil7Zm9yKHZhciBoPUFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMiksaz0yO2s8YXJndW1lbnRzLmxlbmd0aDtrKyspaFtrLTJdPWFyZ3VtZW50c1trXTtyZXR1cm4gYi5wcm90b3R5cGVbZV0uYXBwbHkoZCxoKX19O18uZWI9d2luZG93Lm9zYXBpPXdpbmRvdy5vc2FwaXx8e307XG53aW5kb3cuX19fanNsPXdpbmRvdy5fX19qc2x8fHt9O1xuKHdpbmRvdy5fX19qc2wuY2Q9d2luZG93Ll9fX2pzbC5jZHx8W10pLnB1c2goe2d3aWRnZXQ6e3BhcnNldGFnczpcImV4cGxpY2l0XCJ9LGFwcHNhcGk6e3BsdXNfb25lX3NlcnZpY2U6XCIvcGx1cy92MVwifSxjc2k6e3JhdGU6LjAxfSxwb3NoYXJlOntoYW5nb3V0Q29udGFjdFBpY2tlclNlcnZlcjpcImh0dHBzOi8vcGx1cy5nb29nbGUuY29tXCJ9LGdhcHBzdXRpbDp7cmVxdWlyZWRfc2NvcGVzOltcImh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvcGx1cy5tZVwiLFwiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vYXV0aC9wbHVzLnBlb3BsZS5yZWNvbW1lbmRlZFwiXSxkaXNwbGF5X29uX3BhZ2VfcmVhZHk6ITF9LGFwcHN1dGlsOntyZXF1aXJlZF9zY29wZXM6W1wiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vYXV0aC9wbHVzLm1lXCIsXCJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL3BsdXMucGVvcGxlLnJlY29tbWVuZGVkXCJdLGRpc3BsYXlfb25fcGFnZV9yZWFkeTohMX0sXG5cIm9hdXRoLWZsb3dcIjp7YXV0aFVybDpcImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9vL29hdXRoMi9hdXRoXCIscHJveHlVcmw6XCJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vby9vYXV0aDIvcG9zdG1lc3NhZ2VSZWxheVwiLHJlZGlyZWN0VXJpOlwicG9zdG1lc3NhZ2VcIn0saWZyYW1lczp7c2hhcmVib3g6e3BhcmFtczp7anNvbjpcIiZcIn0sdXJsOlwiOnNvY2lhbGhvc3Q6LzpzZXNzaW9uX3ByZWZpeDpfL3NoYXJlYm94L2RpYWxvZ1wifSxwbHVzOnt1cmw6XCI6c29jaWFsaG9zdDovOnNlc3Npb25fcHJlZml4Ol8vd2lkZ2V0L3JlbmRlci9iYWRnZT91c2VnYXBpPTFcIn0sXCI6c29jaWFsaG9zdDpcIjpcImh0dHBzOi8vYXBpcy5nb29nbGUuY29tXCIsXCI6aW1fc29jaWFsaG9zdDpcIjpcImh0dHBzOi8vcGx1cy5nb29nbGVhcGlzLmNvbVwiLGRvbWFpbnNfc3VnZ2VzdDp7dXJsOlwiaHR0cHM6Ly9kb21haW5zLmdvb2dsZS5jb20vc3VnZ2VzdC9mbG93XCJ9LGNhcmQ6e3BhcmFtczp7czpcIiNcIix1c2VyaWQ6XCImXCJ9LFxudXJsOlwiOnNvY2lhbGhvc3Q6LzpzZXNzaW9uX3ByZWZpeDpfL2hvdmVyY2FyZC9pbnRlcm5hbGNhcmRcIn0sXCI6c2lnbnVwaG9zdDpcIjpcImh0dHBzOi8vcGx1cy5nb29nbGUuY29tXCIsXCI6Z3BsdXNfdXJsOlwiOlwiaHR0cHM6Ly9wbHVzLmdvb2dsZS5jb21cIixwbHVzb25lOnt1cmw6XCI6c29jaWFsaG9zdDovOnNlc3Npb25fcHJlZml4Ol8vKzEvZmFzdGJ1dHRvbj91c2VnYXBpPTFcIn0scGx1c19zaGFyZTp7dXJsOlwiOnNvY2lhbGhvc3Q6LzpzZXNzaW9uX3ByZWZpeDpfLysxL3NoYXJlYnV0dG9uP3BsdXNTaGFyZT10cnVlJnVzZWdhcGk9MVwifSxwbHVzX2NpcmNsZTp7dXJsOlwiOnNvY2lhbGhvc3Q6LzpzZXNzaW9uX3ByZWZpeDpfL3dpZGdldC9wbHVzL2NpcmNsZT91c2VnYXBpPTFcIn0scGx1c19mb2xsb3dlcnM6e3VybDpcIjpzb2NpYWxob3N0Oi9fL2ltL18vd2lkZ2V0L3JlbmRlci9wbHVzL2ZvbGxvd2Vycz91c2VnYXBpPTFcIn0sY29uZmlndXJhdG9yOnt1cmw6XCI6c29jaWFsaG9zdDovOnNlc3Npb25fcHJlZml4Ol8vcGx1c2J1dHRvbmNvbmZpZ3VyYXRvcj91c2VnYXBpPTFcIn0sXG5hcHBjaXJjbGVwaWNrZXI6e3VybDpcIjpzb2NpYWxob3N0Oi86c2Vzc2lvbl9wcmVmaXg6Xy93aWRnZXQvcmVuZGVyL2FwcGNpcmNsZXBpY2tlclwifSxwYWdlOnt1cmw6XCI6c29jaWFsaG9zdDovOnNlc3Npb25fcHJlZml4Ol8vd2lkZ2V0L3JlbmRlci9wYWdlP3VzZWdhcGk9MVwifSxwZXJzb246e3VybDpcIjpzb2NpYWxob3N0Oi86c2Vzc2lvbl9wcmVmaXg6Xy93aWRnZXQvcmVuZGVyL3BlcnNvbj91c2VnYXBpPTFcIn0sY29tbXVuaXR5Ont1cmw6XCI6Y3R4X3NvY2lhbGhvc3Q6LzpzZXNzaW9uX3ByZWZpeDo6aW1fcHJlZml4Ol8vd2lkZ2V0L3JlbmRlci9jb21tdW5pdHk/dXNlZ2FwaT0xXCJ9LGZvbGxvdzp7dXJsOlwiOnNvY2lhbGhvc3Q6LzpzZXNzaW9uX3ByZWZpeDpfL3dpZGdldC9yZW5kZXIvZm9sbG93P3VzZWdhcGk9MVwifSxjb21tZW50Y291bnQ6e3VybDpcIjpzb2NpYWxob3N0Oi86c2Vzc2lvbl9wcmVmaXg6Xy93aWRnZXQvcmVuZGVyL2NvbW1lbnRjb3VudD91c2VnYXBpPTFcIn0sY29tbWVudHM6e3VybDpcIjpzb2NpYWxob3N0Oi86c2Vzc2lvbl9wcmVmaXg6Xy93aWRnZXQvcmVuZGVyL2NvbW1lbnRzP3VzZWdhcGk9MVwifSxcbmJsb2dnZXI6e3VybDpcIjpzb2NpYWxob3N0Oi86c2Vzc2lvbl9wcmVmaXg6Xy93aWRnZXQvcmVuZGVyL2Jsb2dnZXI/dXNlZ2FwaT0xXCJ9LHlvdXR1YmU6e3VybDpcIjpzb2NpYWxob3N0Oi86c2Vzc2lvbl9wcmVmaXg6Xy93aWRnZXQvcmVuZGVyL3lvdXR1YmU/dXNlZ2FwaT0xXCJ9LHJlcG9ydGFidXNlOnt1cmw6XCI6c29jaWFsaG9zdDovOnNlc3Npb25fcHJlZml4Ol8vd2lkZ2V0L3JlbmRlci9yZXBvcnRhYnVzZT91c2VnYXBpPTFcIn0sYWRkaXRub3c6e3VybDpcIjpzb2NpYWxob3N0Oi9hZGRpdG5vdy9hZGRpdG5vdy5odG1sXCJ9LGFwcGZpbmRlcjp7dXJsOlwiaHR0cHM6Ly93b3Jrc3BhY2UuZ29vZ2xlLmNvbS86c2Vzc2lvbl9wcmVmaXg6bWFya2V0cGxhY2UvYXBwZmluZGVyP3VzZWdhcGk9MVwifSxcIjpzb3VyY2U6XCI6XCIxcFwifSxwb2NsaWVudDp7dXBkYXRlX3Nlc3Npb246XCJnb29nbGUudXBkYXRlU2Vzc2lvbkNhbGxiYWNrXCJ9LFwiZ29vZ2xlYXBpcy5jb25maWdcIjp7cnBjOlwiL3JwY1wiLHJvb3Q6XCJodHRwczovL2NvbnRlbnQuZ29vZ2xlYXBpcy5jb21cIixcblwicm9vdC0xcFwiOlwiaHR0cHM6Ly9jbGllbnRzNi5nb29nbGUuY29tXCIsdXNlR2FwaUZvclhkMzohMCx4ZDM6XCIvc3RhdGljL3Byb3h5Lmh0bWxcIixhdXRoOnt1c2VJbnRlcmltQXV0aDohMX19LHJlcG9ydDp7YXBpczpbXCJpZnJhbWVzXFxcXC4uKlwiLFwiZ2FkZ2V0c1xcXFwuLipcIixcImdhcGlcXFxcLmFwcGNpcmNsZXBpY2tlclxcXFwuLipcIixcImdhcGlcXFxcLmNsaWVudFxcXFwuLipcIl0scmF0ZToxRS00fSxjbGllbnQ6e3BlckFwaUJhdGNoOiEwfX0pO1xudmFyIGhiLGxiO18uZ2I9ZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIF8uZmJbYV0uYXBwbHkodGhpcyxhcmd1bWVudHMpfX07Xy5mYj1bXTtoYj1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGEuY2FsbC5hcHBseShhLmJpbmQsYXJndW1lbnRzKX07bGI9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhKXRocm93IEVycm9yKCk7aWYoYXJndW1lbnRzLmxlbmd0aD4yKXt2YXIgZD1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMik7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtBcnJheS5wcm90b3R5cGUudW5zaGlmdC5hcHBseShlLGQpO3JldHVybiBhLmFwcGx5KGIsZSl9fXJldHVybiBmdW5jdGlvbigpe3JldHVybiBhLmFwcGx5KGIsYXJndW1lbnRzKX19O1xuXy56PWZ1bmN0aW9uKGEsYixjKXtfLno9RnVuY3Rpb24ucHJvdG90eXBlLmJpbmQmJkZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLnRvU3RyaW5nKCkuaW5kZXhPZihcIm5hdGl2ZSBjb2RlXCIpIT0tMT9oYjpsYjtyZXR1cm4gXy56LmFwcGx5KG51bGwsYXJndW1lbnRzKX07XG4vKlxuXG4gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbiovXG52YXIgSGIsTWIsYWMscGMsQmMsRGMsSGMsS2MsTWMsTmMsUmMsU2MsVmM7Xy5uYj1mdW5jdGlvbihhLGIpe3JldHVybiBfLmZiW2FdPWJ9O18ucmI9ZnVuY3Rpb24oYSxiKXtpZihFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSlFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLF8ucmIpO2Vsc2V7dmFyIGM9RXJyb3IoKS5zdGFjaztjJiYodGhpcy5zdGFjaz1jKX1hJiYodGhpcy5tZXNzYWdlPVN0cmluZyhhKSk7YiE9PXZvaWQgMCYmKHRoaXMuY2F1c2U9Yik7dGhpcy50WT0hMH07Xy50Yj1mdW5jdGlvbihhLGIpe3JldHVybigwLF8uc2IpKGEsYik+PTB9O18udWI9ZnVuY3Rpb24oYSxiKXtiPSgwLF8uc2IpKGEsYik7dmFyIGM7KGM9Yj49MCkmJkFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChhLGIsMSk7cmV0dXJuIGN9O18udmI9ZnVuY3Rpb24oYSl7dmFyIGI9YS5sZW5ndGg7aWYoYj4wKXtmb3IodmFyIGM9QXJyYXkoYiksZD0wO2Q8YjtkKyspY1tkXT1hW2RdO3JldHVybiBjfXJldHVybltdfTtcbl8ud2I9ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZCBpbiBhKWIuY2FsbChjLGFbZF0sZCxhKX07Xy54Yj1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPTAsZDtmb3IoZCBpbiBhKWJbYysrXT1hW2RdO3JldHVybiBifTtfLnliPWZ1bmN0aW9uKGEpe3ZhciBiPVtdLGM9MCxkO2ZvcihkIGluIGEpYltjKytdPWQ7cmV0dXJuIGJ9O18uemI9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGMgaW4gYSlpZihhW2NdPT1iKXJldHVybiEwO3JldHVybiExfTtfLkJiPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjLGQsZT0xO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspe2Q9YXJndW1lbnRzW2VdO2ZvcihjIGluIGQpYVtjXT1kW2NdO2Zvcih2YXIgZj0wO2Y8QWIubGVuZ3RoO2YrKyljPUFiW2ZdLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChkLGMpJiYoYVtjXT1kW2NdKX19O1xuXy5HYj1mdW5jdGlvbihhKXt2YXIgYj1hcmd1bWVudHMubGVuZ3RoO2lmKGI9PTEmJkFycmF5LmlzQXJyYXkoYXJndW1lbnRzWzBdKSlyZXR1cm4gXy5HYi5hcHBseShudWxsLGFyZ3VtZW50c1swXSk7Zm9yKHZhciBjPXt9LGQ9MDtkPGI7ZCsrKWNbYXJndW1lbnRzW2RdXT0hMDtyZXR1cm4gY307SGI9ZnVuY3Rpb24oYSl7cmV0dXJue3ZhbHVlT2Y6YX0udmFsdWVPZigpfTtfLktiPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLkpiKXJldHVybiBhLlhYO3Rocm93IEVycm9yKFwibVwiKTt9O01iPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgTGIoZnVuY3Rpb24oYil7cmV0dXJuIGIuc3Vic3RyKDAsYS5sZW5ndGgrMSkudG9Mb3dlckNhc2UoKT09PWErXCI6XCJ9KX07XG5fLlBiPWZ1bmN0aW9uKGEpe3ZhciBiPWI9PT12b2lkIDA/TmI6YjthOmlmKGI9Yj09PXZvaWQgMD9OYjpiLCEoYSBpbnN0YW5jZW9mIF8uSmIpKXtmb3IodmFyIGM9MDtjPGIubGVuZ3RoOysrYyl7dmFyIGQ9YltjXTtpZihkIGluc3RhbmNlb2YgTGImJmQuRWooYSkpe2E9bmV3IF8uSmIoYSk7YnJlYWsgYX19YT12b2lkIDB9cmV0dXJuIGF8fF8uT2J9O18uU2I9ZnVuY3Rpb24oYSl7aWYoUWIudGVzdChhKSlyZXR1cm4gYX07Xy5UYj1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uSmI/Xy5LYihhKTpfLlNiKGEpfTtcbl8uV2I9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/e306YjtpZihhIGluc3RhbmNlb2YgXy5VYilyZXR1cm4gYTthPVN0cmluZyhhKS5yZXBsYWNlKC8mL2csXCImYW1wO1wiKS5yZXBsYWNlKC88L2csXCImbHQ7XCIpLnJlcGxhY2UoLz4vZyxcIiZndDtcIikucmVwbGFjZSgvXCIvZyxcIiZxdW90O1wiKS5yZXBsYWNlKC8nL2csXCImYXBvcztcIik7Yi5icmEmJihhPWEucmVwbGFjZSgvKF58W1xcclxcblxcdCBdKSAvZyxcIiQxJiMxNjA7XCIpKTtiLmZkYSYmKGE9YS5yZXBsYWNlKC8oXFxyXFxufFxcbnxcXHIpL2csXCI8YnI+XCIpKTtiLmNyYSYmKGE9YS5yZXBsYWNlKC8oXFx0KykvZywnPHNwYW4gc3R5bGU9XCJ3aGl0ZS1zcGFjZTpwcmVcIj4kMTwvc3Bhbj4nKSk7cmV0dXJuIF8uVmIoYSl9O18uWGI9ZnVuY3Rpb24oKXt2YXIgYT1fLlNhLm5hdmlnYXRvcjtyZXR1cm4gYSYmKGE9YS51c2VyQWdlbnQpP2E6XCJcIn07XG5hYz1mdW5jdGlvbihhKXtyZXR1cm4gXy5ZYj9fLlpiP18uWmIuYnJhbmRzLnNvbWUoZnVuY3Rpb24oYil7cmV0dXJuKGI9Yi5icmFuZCkmJl8uJGIoYixhKX0pOiExOiExfTtfLmJjPWZ1bmN0aW9uKGEpe3JldHVybiBfLiRiKF8uWGIoKSxhKX07Xy5jYz1mdW5jdGlvbihhKXtmb3IodmFyIGI9UmVnRXhwKFwiKFtBLVpdW1xcXFx3IF0rKS8oW15cXFxcc10rKVxcXFxzKig/OlxcXFwoKC4qPylcXFxcKSk/XCIsXCJnXCIpLGM9W10sZDtkPWIuZXhlYyhhKTspYy5wdXNoKFtkWzFdLGRbMl0sZFszXXx8dm9pZCAwXSk7cmV0dXJuIGN9O18uZGM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5ZYj8hIV8uWmImJl8uWmIuYnJhbmRzLmxlbmd0aD4wOiExfTtfLmVjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uZGMoKT8hMTpfLmJjKFwiT3BlcmFcIil9O18uZmM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5kYygpPyExOl8uYmMoXCJUcmlkZW50XCIpfHxfLmJjKFwiTVNJRVwiKX07Xy5nYz1mdW5jdGlvbigpe3JldHVybiBfLmRjKCk/ITE6Xy5iYyhcIkVkZ2VcIil9O1xuXy5oYz1mdW5jdGlvbigpe3JldHVybiBfLmRjKCk/YWMoXCJNaWNyb3NvZnQgRWRnZVwiKTpfLmJjKFwiRWRnL1wiKX07Xy5pYz1mdW5jdGlvbigpe3JldHVybiBfLmRjKCk/YWMoXCJPcGVyYVwiKTpfLmJjKFwiT1BSXCIpfTtfLmpjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uYmMoXCJGaXJlZm94XCIpfHxfLmJjKFwiRnhpT1NcIil9O18ubGM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5iYyhcIlNhZmFyaVwiKSYmIShfLmtjKCl8fChfLmRjKCk/MDpfLmJjKFwiQ29hc3RcIikpfHxfLmVjKCl8fF8uZ2MoKXx8Xy5oYygpfHxfLmljKCl8fF8uamMoKXx8Xy5iYyhcIlNpbGtcIil8fF8uYmMoXCJBbmRyb2lkXCIpKX07Xy5rYz1mdW5jdGlvbigpe3JldHVybiBfLmRjKCk/YWMoXCJDaHJvbWl1bVwiKTooXy5iYyhcIkNocm9tZVwiKXx8Xy5iYyhcIkNyaU9TXCIpKSYmIV8uZ2MoKXx8Xy5iYyhcIlNpbGtcIil9O18ubWM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5iYyhcIkFuZHJvaWRcIikmJiEoXy5rYygpfHxfLmpjKCl8fF8uZWMoKXx8Xy5iYyhcIlNpbGtcIikpfTtcbl8ubmM9ZnVuY3Rpb24oYSl7dmFyIGI9e307YS5mb3JFYWNoKGZ1bmN0aW9uKGMpe2JbY1swXV09Y1sxXX0pO3JldHVybiBmdW5jdGlvbihjKXtyZXR1cm4gYltjLmZpbmQoZnVuY3Rpb24oZCl7cmV0dXJuIGQgaW4gYn0pXXx8XCJcIn19O18ub2M9ZnVuY3Rpb24oYSl7dmFyIGI9L3J2OiAqKFtcXGRcXC5dKikvLmV4ZWMoYSk7aWYoYiYmYlsxXSlyZXR1cm4gYlsxXTtiPVwiXCI7dmFyIGM9L01TSUUgKyhbXFxkXFwuXSspLy5leGVjKGEpO2lmKGMmJmNbMV0paWYoYT0vVHJpZGVudFxcLyhcXGQuXFxkKS8uZXhlYyhhKSxjWzFdPT1cIjcuMFwiKWlmKGEmJmFbMV0pc3dpdGNoKGFbMV0pe2Nhc2UgXCI0LjBcIjpiPVwiOC4wXCI7YnJlYWs7Y2FzZSBcIjUuMFwiOmI9XCI5LjBcIjticmVhaztjYXNlIFwiNi4wXCI6Yj1cIjEwLjBcIjticmVhaztjYXNlIFwiNy4wXCI6Yj1cIjExLjBcIn1lbHNlIGI9XCI3LjBcIjtlbHNlIGI9Y1sxXTtyZXR1cm4gYn07XG5wYz1mdW5jdGlvbigpe3JldHVybiBfLlliPyEhXy5aYiYmISFfLlpiLnBsYXRmb3JtOiExfTtfLnFjPWZ1bmN0aW9uKCl7cmV0dXJuIHBjKCk/Xy5aYi5wbGF0Zm9ybT09PVwiQW5kcm9pZFwiOl8uYmMoXCJBbmRyb2lkXCIpfTtfLnJjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uYmMoXCJpUGhvbmVcIikmJiFfLmJjKFwiaVBvZFwiKSYmIV8uYmMoXCJpUGFkXCIpfTtfLnNjPWZ1bmN0aW9uKCl7cmV0dXJuIF8ucmMoKXx8Xy5iYyhcImlQYWRcIil8fF8uYmMoXCJpUG9kXCIpfTtfLnRjPWZ1bmN0aW9uKCl7cmV0dXJuIHBjKCk/Xy5aYi5wbGF0Zm9ybT09PVwibWFjT1NcIjpfLmJjKFwiTWFjaW50b3NoXCIpfTtfLnVjPWZ1bmN0aW9uKCl7cmV0dXJuIHBjKCk/Xy5aYi5wbGF0Zm9ybT09PVwiV2luZG93c1wiOl8uYmMoXCJXaW5kb3dzXCIpfTtfLnZjPWZ1bmN0aW9uKCl7cmV0dXJuIHBjKCk/Xy5aYi5wbGF0Zm9ybT09PVwiQ2hyb21lIE9TXCI6Xy5iYyhcIkNyT1NcIil9O1xuXy54Yz1mdW5jdGlvbihhLGIpe2lmKGEubm9kZVR5cGU9PT0xKXt2YXIgYz1hLnRhZ05hbWU7aWYoYz09PVwiU0NSSVBUXCJ8fGM9PT1cIlNUWUxFXCIpdGhyb3cgRXJyb3IoXCJtXCIpO31hLmlubmVySFRNTD1fLndjKGIpfTtfLnljPWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBhO3JldHVybiBiPT1cIm9iamVjdFwiJiZhIT1udWxsfHxiPT1cImZ1bmN0aW9uXCJ9O18uemM9ZnVuY3Rpb24oYSl7aWYoIShhIGluc3RhbmNlb2YgQXJyYXkpKXthPV8uc2EoYSk7Zm9yKHZhciBiLGM9W107IShiPWEubmV4dCgpKS5kb25lOyljLnB1c2goYi52YWx1ZSk7YT1jfXJldHVybiBhfTtcbl8uQT1mdW5jdGlvbihhLGIpe2EucHJvdG90eXBlPSgwLF8ud2EpKGIucHJvdG90eXBlKTthLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hO2lmKF8uRGEpKDAsXy5EYSkoYSxiKTtlbHNlIGZvcih2YXIgYyBpbiBiKWlmKGMhPVwicHJvdG90eXBlXCIpaWYoT2JqZWN0LmRlZmluZVByb3BlcnRpZXMpe3ZhciBkPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYixjKTtkJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxjLGQpfWVsc2UgYVtjXT1iW2NdO2EuTj1iLnByb3RvdHlwZX07Xy5BYz1mdW5jdGlvbigpe2Zvcih2YXIgYT1OdW1iZXIodGhpcyksYj1bXSxjPWE7Yzxhcmd1bWVudHMubGVuZ3RoO2MrKyliW2MtYV09YXJndW1lbnRzW2NdO3JldHVybiBifTtfLkNjPWZ1bmN0aW9uKGEsYil7YT1hLnNwbGl0KFwiLlwiKTtiPWJ8fF8uU2E7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspaWYoYj1iW2FbY11dLGI9PW51bGwpcmV0dXJuIG51bGw7cmV0dXJuIGJ9O1xuRGM9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLkNjKFwiV0laX2dsb2JhbF9kYXRhLm94TjNuYlwiKTthPWMmJmNbYV07cmV0dXJuIGEhPW51bGw/YTpifTtfLkZjPWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBhO3JldHVybiBiIT1cIm9iamVjdFwiP2I6YT9BcnJheS5pc0FycmF5KGEpP1wiYXJyYXlcIjpiOlwibnVsbFwifTtfLkdjPWZ1bmN0aW9uKGEpe3ZhciBiPV8uRmMoYSk7cmV0dXJuIGI9PVwiYXJyYXlcInx8Yj09XCJvYmplY3RcIiYmdHlwZW9mIGEubGVuZ3RoPT1cIm51bWJlclwifTtIYz0wO18uSWM9ZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLF8uWmEpJiZhW18uWmFdfHwoYVtfLlphXT0rK0hjKX07Xy5KYz1mdW5jdGlvbigpe3JldHVybiBEYXRlLm5vdygpfTtLYz1mdW5jdGlvbihhKXtyZXR1cm4gYX07Xy5iYihfLnJiLEVycm9yKTtfLnJiLnByb3RvdHlwZS5uYW1lPVwiQ3VzdG9tRXJyb3JcIjtNYz17fTtOYz17fTtcbl8uT2M9ZnVuY3Rpb24oYSxiKXt0aGlzLklfPWE9PT1NYyYmYnx8XCJcIjt0aGlzLlk0PU5jfTtfLk9jLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLklffTtfLlBjPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluc3RhbmNlb2YgXy5PYyYmYS5jb25zdHJ1Y3Rvcj09PV8uT2MmJmEuWTQ9PT1OYz9hLklfOlwidHlwZV9lcnJvcjpDb25zdFwifTtfLlFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5PYyhNYyxhKX07U2M9ZnVuY3Rpb24oKXtpZihSYz09PXZvaWQgMCl7dmFyIGE9bnVsbCxiPV8uU2EudHJ1c3RlZFR5cGVzO2lmKGImJmIuY3JlYXRlUG9saWN5KXRyeXthPWIuY3JlYXRlUG9saWN5KFwiZ2FwaSNodG1sXCIse2NyZWF0ZUhUTUw6S2MsY3JlYXRlU2NyaXB0OktjLGNyZWF0ZVNjcmlwdFVSTDpLY30pfWNhdGNoKGMpe18uU2EuY29uc29sZSYmXy5TYS5jb25zb2xlLmVycm9yKGMubWVzc2FnZSl9UmM9YX1yZXR1cm4gUmN9O1xuXy5UYz1mdW5jdGlvbihhKXt0aGlzLlZYPWF9O18uVGMucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVlgrXCJcIn07Xy5VYz1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5UYyYmYS5jb25zdHJ1Y3Rvcj09PV8uVGMpcmV0dXJuIGEuVlg7Xy5GYyhhKTtyZXR1cm5cInR5cGVfZXJyb3I6VHJ1c3RlZFJlc291cmNlVXJsXCJ9O1ZjPXt9O18uWGM9ZnVuY3Rpb24oYSl7dmFyIGI9U2MoKTthPWI/Yi5jcmVhdGVTY3JpcHRVUkwoYSk6YTtyZXR1cm4gbmV3IF8uVGMoYSxWYyl9O18uWWM9ZnVuY3Rpb24oYSl7dmFyIGI9ITEsYztyZXR1cm4gZnVuY3Rpb24oKXtifHwoYz1hKCksYj0hMCk7cmV0dXJuIGN9fTtcbl8uc2I9QXJyYXkucHJvdG90eXBlLmluZGV4T2Y/ZnVuY3Rpb24oYSxiKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhLGIsdm9pZCAwKX06ZnVuY3Rpb24oYSxiKXtpZih0eXBlb2YgYT09PVwic3RyaW5nXCIpcmV0dXJuIHR5cGVvZiBiIT09XCJzdHJpbmdcInx8Yi5sZW5ndGghPTE/LTE6YS5pbmRleE9mKGIsMCk7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspaWYoYyBpbiBhJiZhW2NdPT09YilyZXR1cm4gYztyZXR1cm4tMX07XG5fLlpjPUFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZj9mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhLGIsYS5sZW5ndGgtMSl9OmZ1bmN0aW9uKGEsYil7dmFyIGM9YS5sZW5ndGgtMTtjPDAmJihjPU1hdGgubWF4KDAsYS5sZW5ndGgrYykpO2lmKHR5cGVvZiBhPT09XCJzdHJpbmdcIilyZXR1cm4gdHlwZW9mIGIhPT1cInN0cmluZ1wifHxiLmxlbmd0aCE9MT8tMTphLmxhc3RJbmRleE9mKGIsYyk7Zm9yKDtjPj0wO2MtLSlpZihjIGluIGEmJmFbY109PT1iKXJldHVybiBjO3JldHVybi0xfTtfLiRjPUFycmF5LnByb3RvdHlwZS5mb3JFYWNoP2Z1bmN0aW9uKGEsYixjKXtBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGEsYixjKX06ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZD1hLmxlbmd0aCxlPXR5cGVvZiBhPT09XCJzdHJpbmdcIj9hLnNwbGl0KFwiXCIpOmEsZj0wO2Y8ZDtmKyspZiBpbiBlJiZiLmNhbGwoYyxlW2ZdLGYsYSl9O1xuXy5hZD1BcnJheS5wcm90b3R5cGUuZmlsdGVyP2Z1bmN0aW9uKGEsYil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChhLGIsdm9pZCAwKX06ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9YS5sZW5ndGgsZD1bXSxlPTAsZj10eXBlb2YgYT09PVwic3RyaW5nXCI/YS5zcGxpdChcIlwiKTphLGg9MDtoPGM7aCsrKWlmKGggaW4gZil7dmFyIGs9ZltoXTtiLmNhbGwodm9pZCAwLGssaCxhKSYmKGRbZSsrXT1rKX1yZXR1cm4gZH07Xy5iZD1BcnJheS5wcm90b3R5cGUubWFwP2Z1bmN0aW9uKGEsYixjKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGEsYixjKX06ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZD1hLmxlbmd0aCxlPUFycmF5KGQpLGY9dHlwZW9mIGE9PT1cInN0cmluZ1wiP2Euc3BsaXQoXCJcIik6YSxoPTA7aDxkO2grKyloIGluIGYmJihlW2hdPWIuY2FsbChjLGZbaF0saCxhKSk7cmV0dXJuIGV9O1xuXy5jZD1BcnJheS5wcm90b3R5cGUucmVkdWNlP2Z1bmN0aW9uKGEsYixjKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGEsYixjKX06ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWM7KDAsXy4kYykoYSxmdW5jdGlvbihlLGYpe2Q9Yi5jYWxsKHZvaWQgMCxkLGUsZixhKX0pO3JldHVybiBkfTtfLmRkPUFycmF5LnByb3RvdHlwZS5zb21lP2Z1bmN0aW9uKGEsYixjKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChhLGIsYyl9OmZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9YS5sZW5ndGgsZT10eXBlb2YgYT09PVwic3RyaW5nXCI/YS5zcGxpdChcIlwiKTphLGY9MDtmPGQ7ZisrKWlmKGYgaW4gZSYmYi5jYWxsKGMsZVtmXSxmLGEpKXJldHVybiEwO3JldHVybiExfTtcbl8uZWQ9QXJyYXkucHJvdG90eXBlLmV2ZXJ5P2Z1bmN0aW9uKGEsYixjKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoYSxiLGMpfTpmdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPWEubGVuZ3RoLGU9dHlwZW9mIGE9PT1cInN0cmluZ1wiP2Euc3BsaXQoXCJcIik6YSxmPTA7ZjxkO2YrKylpZihmIGluIGUmJiFiLmNhbGwoYyxlW2ZdLGYsYSkpcmV0dXJuITE7cmV0dXJuITB9O3ZhciBBYj1cImNvbnN0cnVjdG9yIGhhc093blByb3BlcnR5IGlzUHJvdG90eXBlT2YgcHJvcGVydHlJc0VudW1lcmFibGUgdG9Mb2NhbGVTdHJpbmcgdG9TdHJpbmcgdmFsdWVPZlwiLnNwbGl0KFwiIFwiKTt2YXIgamQsa2QsbGQsbWQsbmQsb2QsaWQscWQ7Xy5mZD1mdW5jdGlvbihhLGIpe3JldHVybiBhLmxhc3RJbmRleE9mKGIsMCk9PTB9O18uZ2Q9ZnVuY3Rpb24oYSl7cmV0dXJuL15bXFxzXFx4YTBdKiQvLnRlc3QoYSl9O18uaGQ9U3RyaW5nLnByb3RvdHlwZS50cmltP2Z1bmN0aW9uKGEpe3JldHVybiBhLnRyaW0oKX06ZnVuY3Rpb24oYSl7cmV0dXJuL15bXFxzXFx4YTBdKihbXFxzXFxTXSo/KVtcXHNcXHhhMF0qJC8uZXhlYyhhKVsxXX07XG5fLnBkPWZ1bmN0aW9uKGEpe2lmKCFpZC50ZXN0KGEpKXJldHVybiBhO2EuaW5kZXhPZihcIiZcIikhPS0xJiYoYT1hLnJlcGxhY2UoamQsXCImYW1wO1wiKSk7YS5pbmRleE9mKFwiPFwiKSE9LTEmJihhPWEucmVwbGFjZShrZCxcIiZsdDtcIikpO2EuaW5kZXhPZihcIj5cIikhPS0xJiYoYT1hLnJlcGxhY2UobGQsXCImZ3Q7XCIpKTthLmluZGV4T2YoJ1wiJykhPS0xJiYoYT1hLnJlcGxhY2UobWQsXCImcXVvdDtcIikpO2EuaW5kZXhPZihcIidcIikhPS0xJiYoYT1hLnJlcGxhY2UobmQsXCImIzM5O1wiKSk7YS5pbmRleE9mKFwiXFx4MDBcIikhPS0xJiYoYT1hLnJlcGxhY2Uob2QsXCImIzA7XCIpKTtyZXR1cm4gYX07amQ9LyYvZztrZD0vPC9nO2xkPS8+L2c7bWQ9L1wiL2c7bmQ9LycvZztvZD0vXFx4MDAvZztpZD0vW1xceDAwJjw+XCInXS87Xy4kYj1mdW5jdGlvbihhLGIpe3JldHVybiBhLmluZGV4T2YoYikhPS0xfTtcbl8ucmQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz0wO2E9KDAsXy5oZCkoU3RyaW5nKGEpKS5zcGxpdChcIi5cIik7Yj0oMCxfLmhkKShTdHJpbmcoYikpLnNwbGl0KFwiLlwiKTtmb3IodmFyIGQ9TWF0aC5tYXgoYS5sZW5ndGgsYi5sZW5ndGgpLGU9MDtjPT0wJiZlPGQ7ZSsrKXt2YXIgZj1hW2VdfHxcIlwiLGg9YltlXXx8XCJcIjtkb3tmPS8oXFxkKikoXFxEKikoLiopLy5leGVjKGYpfHxbXCJcIixcIlwiLFwiXCIsXCJcIl07aD0vKFxcZCopKFxcRCopKC4qKS8uZXhlYyhoKXx8W1wiXCIsXCJcIixcIlwiLFwiXCJdO2lmKGZbMF0ubGVuZ3RoPT0wJiZoWzBdLmxlbmd0aD09MClicmVhaztjPXFkKGZbMV0ubGVuZ3RoPT0wPzA6cGFyc2VJbnQoZlsxXSwxMCksaFsxXS5sZW5ndGg9PTA/MDpwYXJzZUludChoWzFdLDEwKSl8fHFkKGZbMl0ubGVuZ3RoPT0wLGhbMl0ubGVuZ3RoPT0wKXx8cWQoZlsyXSxoWzJdKTtmPWZbM107aD1oWzNdfXdoaWxlKGM9PTApfXJldHVybiBjfTtcbnFkPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE8Yj8tMTphPmI/MTowfTtfLkpiPWZ1bmN0aW9uKGEpe3RoaXMuWFg9YX07Xy5KYi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5YWH07Xy5PYj1uZXcgXy5KYihcImFib3V0OmludmFsaWQjekNsb3N1cmV6XCIpO3ZhciBMYixOYixRYjtMYj1mdW5jdGlvbihhKXt0aGlzLkVqPWF9O05iPVtNYihcImRhdGFcIiksTWIoXCJodHRwXCIpLE1iKFwiaHR0cHNcIiksTWIoXCJtYWlsdG9cIiksTWIoXCJmdHBcIiksbmV3IExiKGZ1bmN0aW9uKGEpe3JldHVybi9eW146XSooWy8/I118JCkvLnRlc3QoYSl9KV07Xy5zZD1IYihmdW5jdGlvbigpe3JldHVybiB0eXBlb2YgVVJMPT09XCJmdW5jdGlvblwifSk7UWI9L15cXHMqKD8hamF2YXNjcmlwdDopKD86W1xcdysuLV0rOnxbXjovPyNdKig/OlsvPyNdfCQpKS9pO18udGQ9e307Xy51ZD1mdW5jdGlvbihhKXt0aGlzLlVYPWF9O18udWQucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVVgudG9TdHJpbmcoKX07Xy52ZD1uZXcgXy51ZChcIlwiLF8udGQpO18ud2Q9UmVnRXhwKFwiXlstKywuXFxcIiclXyEjLyBhLXpBLVowLTlcXFxcW1xcXFxdXSskXCIpO18ueGQ9UmVnRXhwKFwiXFxcXGIodXJsXFxcXChbIFxcdFxcbl0qKSgnWyAtJigtXFxcXFtcXFxcXS1+XSonfFxcXCJbICEjLVxcXFxbXFxcXF0tfl0qXFxcInxbISMtJiotXFxcXFtcXFxcXS1+XSopKFsgXFx0XFxuXSpcXFxcKSlcIixcImdcIik7Xy55ZD1SZWdFeHAoXCJcXFxcYihjYWxjfGN1YmljLWJlemllcnxmaXQtY29udGVudHxoc2x8aHNsYXxsaW5lYXItZ3JhZGllbnR8bWF0cml4fG1pbm1heHxyYWRpYWwtZ3JhZGllbnR8cmVwZWF0fHJnYnxyZ2JhfChyb3RhdGV8c2NhbGV8dHJhbnNsYXRlKShYfFl8WnwzZCk/fHN0ZXBzfHZhcilcXFxcKFstKyovMC05YS16QS1aLiUjXFxcXFtcXFxcXSwgXStcXFxcKVwiLFwiZ1wiKTt2YXIgQ2Q7Xy5BZD17fTtfLkJkPWZ1bmN0aW9uKGEpe3RoaXMuVFg9YX07Xy5CZC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5UWC50b1N0cmluZygpfTtfLkRkPWZ1bmN0aW9uKGEpe2E9Xy5QYyhhKTtyZXR1cm4gYS5sZW5ndGg9PT0wP0NkOm5ldyBfLkJkKGEsXy5BZCl9O0NkPW5ldyBfLkJkKFwiXCIsXy5BZCk7dmFyIEVkO0VkPXt9O18uVWI9ZnVuY3Rpb24oYSl7dGhpcy5TWD1hfTtfLlViLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLlNYLnRvU3RyaW5nKCl9O18ud2M9ZnVuY3Rpb24oYSl7aWYoYSBpbnN0YW5jZW9mIF8uVWImJmEuY29uc3RydWN0b3I9PT1fLlViKXJldHVybiBhLlNYO18uRmMoYSk7cmV0dXJuXCJ0eXBlX2Vycm9yOlNhZmVIdG1sXCJ9O18uRmQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLlViP2E6Xy5WYihfLnBkKFN0cmluZyhhKSkpfTtfLlZiPWZ1bmN0aW9uKGEpe3ZhciBiPVNjKCk7YT1iP2IuY3JlYXRlSFRNTChhKTphO3JldHVybiBuZXcgXy5VYihhLEVkKX07Xy5JZD1uZXcgXy5VYihfLlNhLnRydXN0ZWRUeXBlcyYmXy5TYS50cnVzdGVkVHlwZXMuZW1wdHlIVE1MfHxcIlwiLEVkKTt2YXIgS2Q9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9bmV3IE1hcChKZCk7dGhpcy5NNT1hO3RoaXMuVFE9ZTt0aGlzLk41PWI7dGhpcy5BOT1jO3RoaXMucFQ9ZH07dmFyIExkPVwiQVJUSUNMRSBTRUNUSU9OIE5BViBBU0lERSBIMSBIMiBIMyBINCBINSBINiBIRUFERVIgRk9PVEVSIEFERFJFU1MgUCBIUiBQUkUgQkxPQ0tRVU9URSBPTCBVTCBMSCBMSSBETCBEVCBERCBGSUdVUkUgRklHQ0FQVElPTiBNQUlOIERJViBFTSBTVFJPTkcgU01BTEwgUyBDSVRFIFEgREZOIEFCQlIgUlVCWSBSQiBSVCBSVEMgUlAgREFUQSBUSU1FIENPREUgVkFSIFNBTVAgS0JEIFNVQiBTVVAgSSBCIFUgTUFSSyBCREkgQkRPIFNQQU4gQlIgV0JSIElOUyBERUwgUElDVFVSRSBQQVJBTSBUUkFDSyBNQVAgVEFCTEUgQ0FQVElPTiBDT0xHUk9VUCBDT0wgVEJPRFkgVEhFQUQgVEZPT1QgVFIgVEQgVEggU0VMRUNUIERBVEFMSVNUIE9QVEdST1VQIE9QVElPTiBPVVRQVVQgUFJPR1JFU1MgTUVURVIgRklFTERTRVQgTEVHRU5EIERFVEFJTFMgU1VNTUFSWSBNRU5VIERJQUxPRyBTTE9UIENBTlZBUyBGT05UIENFTlRFUiBBQ1JPTllNIEJBU0VGT05UIEJJRyBESVIgSEdST1VQIFNUUklLRSBUVFwiLnNwbGl0KFwiIFwiKSxcbkpkPVtbXCJBXCIsbmV3IE1hcChbW1wiaHJlZlwiLHtCZDoyfV1dKV0sW1wiQVJFQVwiLG5ldyBNYXAoW1tcImhyZWZcIix7QmQ6Mn1dXSldLFtcIkxJTktcIixuZXcgTWFwKFtbXCJocmVmXCIse0JkOjUsY29uZGl0aW9uczpuZXcgTWFwKFtbXCJyZWxcIixuZXcgU2V0KFwiYWx0ZXJuYXRlIGF1dGhvciBib29rbWFyayBjYW5vbmljYWwgY2l0ZSBoZWxwIGljb24gbGljZW5zZSBuZXh0IHByZWZldGNoIGRucy1wcmVmZXRjaCBwcmVyZW5kZXIgcHJlY29ubmVjdCBwcmVsb2FkIHByZXYgc2VhcmNoIHN1YnJlc291cmNlXCIuc3BsaXQoXCIgXCIpKV1dKX1dXSldLFtcIlNPVVJDRVwiLG5ldyBNYXAoW1tcInNyY1wiLHtCZDo1fV0sW1wic3Jjc2V0XCIse0JkOjZ9XV0pXSxbXCJJTUdcIixuZXcgTWFwKFtbXCJzcmNcIix7QmQ6NX1dLFtcInNyY3NldFwiLHtCZDo2fV1dKV0sW1wiVklERU9cIixuZXcgTWFwKFtbXCJzcmNcIix7QmQ6NX1dXSldLFtcIkFVRElPXCIsbmV3IE1hcChbW1wic3JjXCIse0JkOjV9XV0pXV0sTWQ9XCJ0aXRsZSBhcmlhLWF0b21pYyBhcmlhLWF1dG9jb21wbGV0ZSBhcmlhLWJ1c3kgYXJpYS1jaGVja2VkIGFyaWEtY3VycmVudCBhcmlhLWRpc2FibGVkIGFyaWEtZHJvcGVmZmVjdCBhcmlhLWV4cGFuZGVkIGFyaWEtaGFzcG9wdXAgYXJpYS1oaWRkZW4gYXJpYS1pbnZhbGlkIGFyaWEtbGFiZWwgYXJpYS1sZXZlbCBhcmlhLWxpdmUgYXJpYS1tdWx0aWxpbmUgYXJpYS1tdWx0aXNlbGVjdGFibGUgYXJpYS1vcmllbnRhdGlvbiBhcmlhLXBvc2luc2V0IGFyaWEtcHJlc3NlZCBhcmlhLXJlYWRvbmx5IGFyaWEtcmVsZXZhbnQgYXJpYS1yZXF1aXJlZCBhcmlhLXNlbGVjdGVkIGFyaWEtc2V0c2l6ZSBhcmlhLXNvcnQgYXJpYS12YWx1ZW1heCBhcmlhLXZhbHVlbWluIGFyaWEtdmFsdWVub3cgYXJpYS12YWx1ZXRleHQgYWx0IGFsaWduIGF1dG9jYXBpdGFsaXplIGF1dG9jb21wbGV0ZSBhdXRvY29ycmVjdCBhdXRvZm9jdXMgYXV0b3BsYXkgYmdjb2xvciBib3JkZXIgY2VsbHBhZGRpbmcgY2VsbHNwYWNpbmcgY2hlY2tlZCBjb2xvciBjb2xzIGNvbHNwYW4gY29udHJvbHMgZGF0ZXRpbWUgZGlzYWJsZWQgZG93bmxvYWQgZHJhZ2dhYmxlIGVuY3R5cGUgZmFjZSBmb3JtZW5jdHlwZSBmcmFtZWJvcmRlciBoZWlnaHQgaHJlZmxhbmcgaGlkZGVuIGlzbWFwIGxhYmVsIGxhbmcgbG9vcCBtYXggbWF4bGVuZ3RoIG1lZGlhIG1pbmxlbmd0aCBtaW4gbXVsdGlwbGUgbXV0ZWQgbm9uY2Ugb3BlbiBwbGFjZWhvbGRlciBwcmVsb2FkIHJlbCByZXF1aXJlZCByZXZlcnNlZCByb2xlIHJvd3Mgcm93c3BhbiBzZWxlY3RlZCBzaGFwZSBzaXplIHNpemVzIHNsb3Qgc3BhbiBzcGVsbGNoZWNrIHN0YXJ0IHN0ZXAgc3VtbWFyeSB0cmFuc2xhdGUgdHlwZSB2YWxpZ24gdmFsdWUgd2lkdGggd3JhcCBpdGVtc2NvcGUgaXRlbXR5cGUgaXRlbWlkIGl0ZW1wcm9wIGl0ZW1yZWZcIi5zcGxpdChcIiBcIiksXG5OZD1bW1wiZGlyXCIse0JkOjMsY29uZGl0aW9uczpIYihmdW5jdGlvbigpe3JldHVybiBuZXcgTWFwKFtbXCJkaXJcIixuZXcgU2V0KFtcImF1dG9cIixcImx0clwiLFwicnRsXCJdKV1dKX0pfV0sW1wiYXN5bmNcIix7QmQ6Myxjb25kaXRpb25zOkhiKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXAoW1tcImFzeW5jXCIsbmV3IFNldChbXCJhc3luY1wiXSldXSl9KX1dLFtcImNpdGVcIix7QmQ6Mn1dLFtcImxvYWRpbmdcIix7QmQ6Myxjb25kaXRpb25zOkhiKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXAoW1tcImxvYWRpbmdcIixuZXcgU2V0KFtcImVhZ2VyXCIsXCJsYXp5XCJdKV1dKX0pfV0sW1wicG9zdGVyXCIse0JkOjJ9XSxbXCJ0YXJnZXRcIix7QmQ6Myxjb25kaXRpb25zOkhiKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXAoW1tcInRhcmdldFwiLG5ldyBTZXQoW1wiX3NlbGZcIixcIl9ibGFua1wiXSldXSl9KX1dXSxQZD1uZXcgS2QobmV3IFNldChMZCksbmV3IFNldChNZCksbmV3IE1hcChOZCkpLFFkPW5ldyBLZChuZXcgU2V0KExkLmNvbmNhdChbXCJCVVRUT05cIixcblwiSU5QVVRcIl0pKSxuZXcgU2V0KEhiKGZ1bmN0aW9uKCl7cmV0dXJuIE1kLmNvbmNhdChbXCJjbGFzc1wiLFwiaWRcIixcIm5hbWVcIl0pfSkpLG5ldyBNYXAoSGIoZnVuY3Rpb24oKXtyZXR1cm4gTmQuY29uY2F0KFtbXCJzdHlsZVwiLHtCZDoxfV1dKX0pKSksUmQ9bmV3IEtkKG5ldyBTZXQoSGIoZnVuY3Rpb24oKXtyZXR1cm4gTGQuY29uY2F0KFwiU1RZTEUgVElUTEUgSU5QVVQgVEVYVEFSRUEgQlVUVE9OIExBQkVMXCIuc3BsaXQoXCIgXCIpKX0pKSxuZXcgU2V0KEhiKGZ1bmN0aW9uKCl7cmV0dXJuIE1kLmNvbmNhdChbXCJjbGFzc1wiLFwiaWRcIixcInRhYmluZGV4XCIsXCJjb250ZW50ZWRpdGFibGVcIixcIm5hbWVcIl0pfSkpLG5ldyBNYXAoSGIoZnVuY3Rpb24oKXtyZXR1cm4gTmQuY29uY2F0KFtbXCJzdHlsZVwiLHtCZDoxfV1dKX0pKSxuZXcgU2V0KFtcImRhdGEtXCIsXCJhcmlhLVwiXSkpO3ZhciBTZD1mdW5jdGlvbihhKXt0aGlzLk1ZPWF9O1NkLnByb3RvdHlwZS5jcmVhdGVUZXh0Tm9kZT1mdW5jdGlvbihhKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoYSl9O18uVGQ9SGIoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFNkKFBkKX0pO18uVWQ9SGIoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFNkKFFkKX0pO18uVmQ9SGIoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFNkKFJkKX0pO3ZhciBXZD0hIShfLldhWzBdJjEwMjQpLFhkPSEhKF8uV2FbMF0mMzIpLFlkPSEhKF8uV2FbMF0mMjA0OCksWmQ9ISEoXy5XYVswXSYxNiksJGQ9ISEoXy5XYVswXSY4KTt2YXIgYWU7YWU9RGMoMSwhMCk7Xy5ZYj1XZD9ZZDpEYyg2MTA0MDEzMDEsITEpO18uYmU9V2Q/WGR8fCFaZDpEYygxODg1ODg3MzYsYWUpO18uY2U9V2Q/WGR8fCEkZDpEYyg2NDUxNzIzNDMsYWUpO3ZhciBkZTtkZT1fLlNhLm5hdmlnYXRvcjtfLlpiPWRlP2RlLnVzZXJBZ2VudERhdGF8fG51bGw6bnVsbDt2YXIgZWU9ZnVuY3Rpb24oYSl7ZWVbXCIgXCJdKGEpO3JldHVybiBhfTtlZVtcIiBcIl09ZnVuY3Rpb24oKXt9O18uZmU9ZnVuY3Rpb24oYSxiKXt0cnl7cmV0dXJuIGVlKGFbYl0pLCEwfWNhdGNoKGMpe31yZXR1cm4hMX07dmFyIHZlLHdlLEJlO18uZ2U9Xy5lYygpO18uaGU9Xy5mYygpO18uaWU9Xy5iYyhcIkVkZ2VcIik7Xy5qZT1fLmllfHxfLmhlO18ua2U9Xy5iYyhcIkdlY2tvXCIpJiYhKF8uJGIoXy5YYigpLnRvTG93ZXJDYXNlKCksXCJ3ZWJraXRcIikmJiFfLmJjKFwiRWRnZVwiKSkmJiEoXy5iYyhcIlRyaWRlbnRcIil8fF8uYmMoXCJNU0lFXCIpKSYmIV8uYmMoXCJFZGdlXCIpO18ubGU9Xy4kYihfLlhiKCkudG9Mb3dlckNhc2UoKSxcIndlYmtpdFwiKSYmIV8uYmMoXCJFZGdlXCIpO18ubWU9Xy5sZSYmXy5iYyhcIk1vYmlsZVwiKTtfLm5lPV8udGMoKTtfLm9lPV8udWMoKTtfLnBlPShwYygpP18uWmIucGxhdGZvcm09PT1cIkxpbnV4XCI6Xy5iYyhcIkxpbnV4XCIpKXx8Xy52YygpO18ucWU9Xy5xYygpO18ucmU9Xy5yYygpO18uc2U9Xy5iYyhcImlQYWRcIik7Xy50ZT1fLmJjKFwiaVBvZFwiKTtfLnVlPV8uc2MoKTt2ZT1mdW5jdGlvbigpe3ZhciBhPV8uU2EuZG9jdW1lbnQ7cmV0dXJuIGE/YS5kb2N1bWVudE1vZGU6dm9pZCAwfTtcbmE6e3ZhciB4ZT1cIlwiLHllPWZ1bmN0aW9uKCl7dmFyIGE9Xy5YYigpO2lmKF8ua2UpcmV0dXJuL3J2OihbXlxcKTtdKykoXFwpfDspLy5leGVjKGEpO2lmKF8uaWUpcmV0dXJuL0VkZ2VcXC8oW1xcZFxcLl0rKS8uZXhlYyhhKTtpZihfLmhlKXJldHVybi9cXGIoPzpNU0lFfHJ2KVs6IF0oW15cXCk7XSspKFxcKXw7KS8uZXhlYyhhKTtpZihfLmxlKXJldHVybi9XZWJLaXRcXC8oXFxTKykvLmV4ZWMoYSk7aWYoXy5nZSlyZXR1cm4vKD86VmVyc2lvbilbIFxcL10/KFxcUyspLy5leGVjKGEpfSgpO3llJiYoeGU9eWU/eWVbMV06XCJcIik7aWYoXy5oZSl7dmFyIHplPXZlKCk7aWYoemUhPW51bGwmJnplPnBhcnNlRmxvYXQoeGUpKXt3ZT1TdHJpbmcoemUpO2JyZWFrIGF9fXdlPXhlfV8uQWU9d2U7aWYoXy5TYS5kb2N1bWVudCYmXy5oZSl7dmFyIERlPXZlKCk7QmU9RGU/RGU6cGFyc2VJbnQoXy5BZSwxMCl8fHZvaWQgMH1lbHNlIEJlPXZvaWQgMDtfLkVlPUJlO3RyeXsobmV3IHNlbGYuT2Zmc2NyZWVuQ2FudmFzKDAsMCkpLmdldENvbnRleHQoXCIyZFwiKX1jYXRjaChhKXt9O3ZhciBGZSxIZTtGZT1fLlljKGZ1bmN0aW9uKCl7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKSxiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7Yi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpKTthLmFwcGVuZENoaWxkKGIpO2I9YS5maXJzdENoaWxkLmZpcnN0Q2hpbGQ7YS5pbm5lckhUTUw9Xy53YyhfLklkKTtyZXR1cm4hYi5wYXJlbnRFbGVtZW50fSk7Xy5HZT1mdW5jdGlvbihhLGIpe2lmKEZlKCkpZm9yKDthLmxhc3RDaGlsZDspYS5yZW1vdmVDaGlsZChhLmxhc3RDaGlsZCk7YS5pbm5lckhUTUw9Xy53YyhiKX07SGU9L15bXFx3Ky9fLV0rWz1dezAsMn0kLztfLkllPWZ1bmN0aW9uKGEsYil7Yj0oYnx8Xy5TYSkuZG9jdW1lbnQ7cmV0dXJuIGIucXVlcnlTZWxlY3Rvcj8oYT1iLnF1ZXJ5U2VsZWN0b3IoYSkpJiYoYT1hLm5vbmNlfHxhLmdldEF0dHJpYnV0ZShcIm5vbmNlXCIpKSYmSGUudGVzdChhKT9hOlwiXCI6XCJcIn07Xy5KZT1mdW5jdGlvbihhLGIpe3RoaXMud2lkdGg9YTt0aGlzLmhlaWdodD1ifTtfLktlPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PWI/ITA6YSYmYj9hLndpZHRoPT1iLndpZHRoJiZhLmhlaWdodD09Yi5oZWlnaHQ6ITF9O18uZz1fLkplLnByb3RvdHlwZTtfLmcuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IF8uSmUodGhpcy53aWR0aCx0aGlzLmhlaWdodCl9O18uZy5OeD1mdW5jdGlvbigpe3JldHVybiB0aGlzLndpZHRoKnRoaXMuaGVpZ2h0fTtfLmcuYXNwZWN0UmF0aW89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy53aWR0aC90aGlzLmhlaWdodH07Xy5nLmlzRW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5OeCgpfTtfLmcuY2VpbD1mdW5jdGlvbigpe3RoaXMud2lkdGg9TWF0aC5jZWlsKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguY2VpbCh0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9O1xuXy5nLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLmZsb29yKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguZmxvb3IodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLmcucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLndpZHRoPU1hdGgucm91bmQodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5yb3VuZCh0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9O18uZy5zY2FsZT1mdW5jdGlvbihhLGIpe3RoaXMud2lkdGgqPWE7dGhpcy5oZWlnaHQqPXR5cGVvZiBiPT09XCJudW1iZXJcIj9iOmE7cmV0dXJuIHRoaXN9O18uTGU9U3RyaW5nLnByb3RvdHlwZS5yZXBlYXQ/ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5yZXBlYXQoYil9OmZ1bmN0aW9uKGEsYil7cmV0dXJuIEFycmF5KGIrMSkuam9pbihhKX07Xy5NZT1NYXRoLnJhbmRvbSgpKjIxNDc0ODM2NDh8MDt2YXIgU2UsJGUsWmU7Xy5QZT1mdW5jdGlvbihhKXtyZXR1cm4gYT9uZXcgXy5OZShfLk9lKGEpKTpCY3x8KEJjPW5ldyBfLk5lKX07Xy5RZT1mdW5jdGlvbihhLGIpe3JldHVybiB0eXBlb2YgYj09PVwic3RyaW5nXCI/YS5nZXRFbGVtZW50QnlJZChiKTpifTtcbl8uUmU9ZnVuY3Rpb24oYSxiLGMsZCl7YT1kfHxhO2I9YiYmYiE9XCIqXCI/U3RyaW5nKGIpLnRvVXBwZXJDYXNlKCk6XCJcIjtpZihhLnF1ZXJ5U2VsZWN0b3JBbGwmJmEucXVlcnlTZWxlY3RvciYmKGJ8fGMpKXJldHVybiBhLnF1ZXJ5U2VsZWN0b3JBbGwoYisoYz9cIi5cIitjOlwiXCIpKTtpZihjJiZhLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpe2E9YS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGMpO2lmKGIpe2Q9e307Zm9yKHZhciBlPTAsZj0wLGg7aD1hW2ZdO2YrKyliPT1oLm5vZGVOYW1lJiYoZFtlKytdPWgpO2QubGVuZ3RoPWU7cmV0dXJuIGR9cmV0dXJuIGF9YT1hLmdldEVsZW1lbnRzQnlUYWdOYW1lKGJ8fFwiKlwiKTtpZihjKXtkPXt9O2ZvcihmPWU9MDtoPWFbZl07ZisrKWI9aC5jbGFzc05hbWUsdHlwZW9mIGIuc3BsaXQ9PVwiZnVuY3Rpb25cIiYmXy50YihiLnNwbGl0KC9cXHMrLyksYykmJihkW2UrK109aCk7ZC5sZW5ndGg9ZTtyZXR1cm4gZH1yZXR1cm4gYX07XG5fLlRlPWZ1bmN0aW9uKGEsYil7Xy53YihiLGZ1bmN0aW9uKGMsZCl7ZD09XCJzdHlsZVwiP2Euc3R5bGUuY3NzVGV4dD1jOmQ9PVwiY2xhc3NcIj9hLmNsYXNzTmFtZT1jOmQ9PVwiZm9yXCI/YS5odG1sRm9yPWM6U2UuaGFzT3duUHJvcGVydHkoZCk/YS5zZXRBdHRyaWJ1dGUoU2VbZF0sYyk6Xy5mZChkLFwiYXJpYS1cIil8fF8uZmQoZCxcImRhdGEtXCIpP2Euc2V0QXR0cmlidXRlKGQsYyk6YVtkXT1jfSl9O1NlPXtjZWxscGFkZGluZzpcImNlbGxQYWRkaW5nXCIsY2VsbHNwYWNpbmc6XCJjZWxsU3BhY2luZ1wiLGNvbHNwYW46XCJjb2xTcGFuXCIsZnJhbWVib3JkZXI6XCJmcmFtZUJvcmRlclwiLGhlaWdodDpcImhlaWdodFwiLG1heGxlbmd0aDpcIm1heExlbmd0aFwiLG5vbmNlOlwibm9uY2VcIixyb2xlOlwicm9sZVwiLHJvd3NwYW46XCJyb3dTcGFuXCIsdHlwZTpcInR5cGVcIix1c2VtYXA6XCJ1c2VNYXBcIix2YWxpZ246XCJ2QWxpZ25cIix3aWR0aDpcIndpZHRoXCJ9O18uVmU9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uVWUoYXx8d2luZG93KX07XG5fLlVlPWZ1bmN0aW9uKGEpe2E9YS5kb2N1bWVudDthPV8uV2UoYSk/YS5kb2N1bWVudEVsZW1lbnQ6YS5ib2R5O3JldHVybiBuZXcgXy5KZShhLmNsaWVudFdpZHRoLGEuY2xpZW50SGVpZ2h0KX07Xy5ZZT1mdW5jdGlvbihhKXtyZXR1cm4gYT9hLnBhcmVudFdpbmRvd3x8YS5kZWZhdWx0Vmlldzp3aW5kb3d9O18uYWY9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iWzFdLGQ9WmUoYSxTdHJpbmcoYlswXSkpO2MmJih0eXBlb2YgYz09PVwic3RyaW5nXCI/ZC5jbGFzc05hbWU9YzpBcnJheS5pc0FycmF5KGMpP2QuY2xhc3NOYW1lPWMuam9pbihcIiBcIik6Xy5UZShkLGMpKTtiLmxlbmd0aD4yJiYkZShhLGQsYiwyKTtyZXR1cm4gZH07XG4kZT1mdW5jdGlvbihhLGIsYyxkKXtmdW5jdGlvbiBlKGspe2smJmIuYXBwZW5kQ2hpbGQodHlwZW9mIGs9PT1cInN0cmluZ1wiP2EuY3JlYXRlVGV4dE5vZGUoayk6ayl9Zm9yKDtkPGMubGVuZ3RoO2QrKyl7dmFyIGY9Y1tkXTtpZighXy5HYyhmKXx8Xy55YyhmKSYmZi5ub2RlVHlwZT4wKWUoZik7ZWxzZXthOntpZihmJiZ0eXBlb2YgZi5sZW5ndGg9PVwibnVtYmVyXCIpe2lmKF8ueWMoZikpe3ZhciBoPXR5cGVvZiBmLml0ZW09PVwiZnVuY3Rpb25cInx8dHlwZW9mIGYuaXRlbT09XCJzdHJpbmdcIjticmVhayBhfWlmKHR5cGVvZiBmPT09XCJmdW5jdGlvblwiKXtoPXR5cGVvZiBmLml0ZW09PVwiZnVuY3Rpb25cIjticmVhayBhfX1oPSExfV8uJGMoaD9fLnZiKGYpOmYsZSl9fX07Xy5iZj1mdW5jdGlvbihhKXtyZXR1cm4gWmUoZG9jdW1lbnQsYSl9O1xuWmU9ZnVuY3Rpb24oYSxiKXtiPVN0cmluZyhiKTthLmNvbnRlbnRUeXBlPT09XCJhcHBsaWNhdGlvbi94aHRtbCt4bWxcIiYmKGI9Yi50b0xvd2VyQ2FzZSgpKTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KGIpfTtfLldlPWZ1bmN0aW9uKGEpe3JldHVybiBhLmNvbXBhdE1vZGU9PVwiQ1NTMUNvbXBhdFwifTtfLmNmPWZ1bmN0aW9uKGEpe2lmKGEubm9kZVR5cGUhPTEpcmV0dXJuITE7c3dpdGNoKGEudGFnTmFtZSl7Y2FzZSBcIkFQUExFVFwiOmNhc2UgXCJBUkVBXCI6Y2FzZSBcIkJBU0VcIjpjYXNlIFwiQlJcIjpjYXNlIFwiQ09MXCI6Y2FzZSBcIkNPTU1BTkRcIjpjYXNlIFwiRU1CRURcIjpjYXNlIFwiRlJBTUVcIjpjYXNlIFwiSFJcIjpjYXNlIFwiSU1HXCI6Y2FzZSBcIklOUFVUXCI6Y2FzZSBcIklGUkFNRVwiOmNhc2UgXCJJU0lOREVYXCI6Y2FzZSBcIktFWUdFTlwiOmNhc2UgXCJMSU5LXCI6Y2FzZSBcIk5PRlJBTUVTXCI6Y2FzZSBcIk5PU0NSSVBUXCI6Y2FzZSBcIk1FVEFcIjpjYXNlIFwiT0JKRUNUXCI6Y2FzZSBcIlBBUkFNXCI6Y2FzZSBcIlNDUklQVFwiOmNhc2UgXCJTT1VSQ0VcIjpjYXNlIFwiU1RZTEVcIjpjYXNlIFwiVFJBQ0tcIjpjYXNlIFwiV0JSXCI6cmV0dXJuITF9cmV0dXJuITB9O1xuXy5kZj1mdW5jdGlvbihhLGIpeyRlKF8uT2UoYSksYSxhcmd1bWVudHMsMSl9O18uZWY9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiO2I9YS5maXJzdENoaWxkOylhLnJlbW92ZUNoaWxkKGIpfTtfLmZmPWZ1bmN0aW9uKGEsYil7Yi5wYXJlbnROb2RlJiZiLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsYil9O18uZ2Y9ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJmEucGFyZW50Tm9kZT9hLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYSk6bnVsbH07Xy5oZj1mdW5jdGlvbihhKXtyZXR1cm4gYS5jaGlsZHJlbiE9dm9pZCAwP2EuY2hpbGRyZW46QXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGEuY2hpbGROb2RlcyxmdW5jdGlvbihiKXtyZXR1cm4gYi5ub2RlVHlwZT09MX0pfTtfLmpmPWZ1bmN0aW9uKGEpe3JldHVybiBfLnljKGEpJiZhLm5vZGVUeXBlPT0xfTtcbl8ua2Y9ZnVuY3Rpb24oYSxiKXtpZighYXx8IWIpcmV0dXJuITE7aWYoYS5jb250YWlucyYmYi5ub2RlVHlwZT09MSlyZXR1cm4gYT09Ynx8YS5jb250YWlucyhiKTtpZih0eXBlb2YgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiE9XCJ1bmRlZmluZWRcIilyZXR1cm4gYT09Ynx8ISEoYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSYxNik7Zm9yKDtiJiZhIT1iOyliPWIucGFyZW50Tm9kZTtyZXR1cm4gYj09YX07Xy5PZT1mdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlVHlwZT09OT9hOmEub3duZXJEb2N1bWVudHx8YS5kb2N1bWVudH07XG5fLmxmPWZ1bmN0aW9uKGEsYil7aWYoXCJ0ZXh0Q29udGVudFwiaW4gYSlhLnRleHRDb250ZW50PWI7ZWxzZSBpZihhLm5vZGVUeXBlPT0zKWEuZGF0YT1TdHJpbmcoYik7ZWxzZSBpZihhLmZpcnN0Q2hpbGQmJmEuZmlyc3RDaGlsZC5ub2RlVHlwZT09Myl7Zm9yKDthLmxhc3RDaGlsZCE9YS5maXJzdENoaWxkOylhLnJlbW92ZUNoaWxkKGEubGFzdENoaWxkKTthLmZpcnN0Q2hpbGQuZGF0YT1TdHJpbmcoYil9ZWxzZSBfLmVmKGEpLGEuYXBwZW5kQ2hpbGQoXy5PZShhKS5jcmVhdGVUZXh0Tm9kZShTdHJpbmcoYikpKX07Xy5OZT1mdW5jdGlvbihhKXt0aGlzLlJiPWF8fF8uU2EuZG9jdW1lbnR8fGRvY3VtZW50fTtfLmc9Xy5OZS5wcm90b3R5cGU7Xy5nLkphPV8uUGU7Xy5nLlFLPV8uZ2IoMCk7Xy5nLkFiPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUmJ9O18uZy5PPV8uZ2IoMSk7Xy5nLmdldEVsZW1lbnRzQnlUYWdOYW1lPWZ1bmN0aW9uKGEsYil7cmV0dXJuKGJ8fHRoaXMuUmIpLmdldEVsZW1lbnRzQnlUYWdOYW1lKFN0cmluZyhhKSl9O1xuXy5nLmFIPV8uZ2IoMik7Xy5nLndhPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5hZih0aGlzLlJiLGFyZ3VtZW50cyl9O18uZy5jcmVhdGVFbGVtZW50PWZ1bmN0aW9uKGEpe3JldHVybiBaZSh0aGlzLlJiLGEpfTtfLmcuY3JlYXRlVGV4dE5vZGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuUmIuY3JlYXRlVGV4dE5vZGUoU3RyaW5nKGEpKX07Xy5nLmdldFdpbmRvdz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuUmI7cmV0dXJuIGEucGFyZW50V2luZG93fHxhLmRlZmF1bHRWaWV3fTtfLmcuYXBwZW5kQ2hpbGQ9ZnVuY3Rpb24oYSxiKXthLmFwcGVuZENoaWxkKGIpfTtfLmcuYXBwZW5kPV8uZGY7Xy5nLmNhbkhhdmVDaGlsZHJlbj1fLmNmO18uZy5CZT1fLmVmO18uZy5MVT1fLmZmO18uZy5yZW1vdmVOb2RlPV8uZ2Y7Xy5nLmtHPV8uaGY7Xy5nLmlzRWxlbWVudD1fLmpmO18uZy5jb250YWlucz1fLmtmO18uZy5DRz1fLk9lO18uZy5Daj1fLmdiKDMpO1xuXy5tZj1mdW5jdGlvbihhKXt2YXIgYj1fLkFjLmFwcGx5KDEsYXJndW1lbnRzKTtpZihiLmxlbmd0aD09PTApcmV0dXJuIF8uWGMoYVswXSk7Zm9yKHZhciBjPWFbMF0sZD0wO2Q8Yi5sZW5ndGg7ZCsrKWMrPWVuY29kZVVSSUNvbXBvbmVudChiW2RdKSthW2QrMV07cmV0dXJuIF8uWGMoYyl9O18ubmY9ZnVuY3Rpb24oYSl7dmFyIGIsYztyZXR1cm4oYT0oYz0oYj1hLmRvY3VtZW50KS5xdWVyeVNlbGVjdG9yKT09bnVsbD92b2lkIDA6Yy5jYWxsKGIsXCJzY3JpcHRbbm9uY2VdXCIpKT9hLm5vbmNlfHxhLmdldEF0dHJpYnV0ZShcIm5vbmNlXCIpfHxcIlwiOlwiXCJ9O18ub2Y9ZnVuY3Rpb24oYSxiKXthLnNyYz1fLlVjKGIpOyhiPV8ubmYoYS5vd25lckRvY3VtZW50JiZhLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXd8fHdpbmRvdykpJiZhLnNldEF0dHJpYnV0ZShcIm5vbmNlXCIsYil9O18ucGY9ZnVuY3Rpb24oYSl7cmV0dXJuIGEucmF3PWF9O1xuLypcbiBnYXBpLmxvYWRlci5PQkpFQ1RfQ1JFQVRFX1RFU1RfT1ZFUlJJREUgJiYqL1xuXy5xZj1mdW5jdGlvbihhKXtyZXR1cm4gYT09PW51bGw/XCJudWxsXCI6YT09PXZvaWQgMD9cInVuZGVmaW5lZFwiOmF9O18ucmY9d2luZG93O18uc2Y9ZG9jdW1lbnQ7Xy50Zj1fLnJmLmxvY2F0aW9uO18udWY9L1xcW25hdGl2ZSBjb2RlXFxdLztfLnZmPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYVtiXT1hW2JdfHxjfTtfLndmPWZ1bmN0aW9uKCl7dmFyIGE7aWYoKGE9T2JqZWN0LmNyZWF0ZSkmJl8udWYudGVzdChhKSlhPWEobnVsbCk7ZWxzZXthPXt9O2Zvcih2YXIgYiBpbiBhKWFbYl09dm9pZCAwfXJldHVybiBhfTtfLnhmPWZ1bmN0aW9uKGEsYil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLGIpfTtfLkFmPWZ1bmN0aW9uKGEsYil7YT1hfHx7fTtmb3IodmFyIGMgaW4gYSlfLnhmKGEsYykmJihiW2NdPWFbY10pfTtfLkJmPV8udmYoXy5yZixcImdhcGlcIix7fSk7Xy5DZj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9bmV3IFJlZ0V4cChcIihbI10uKiZ8WyNdKVwiK2IrXCI9KFteJiNdKilcIixcImdcIik7Yj1uZXcgUmVnRXhwKFwiKFs/I10uKiZ8Wz8jXSlcIitiK1wiPShbXiYjXSopXCIsXCJnXCIpO2lmKGE9YSYmKGQuZXhlYyhhKXx8Yi5leGVjKGEpKSl0cnl7Yz1kZWNvZGVVUklDb21wb25lbnQoYVsyXSl9Y2F0Y2goZSl7fXJldHVybiBjfTtfLkRmPW5ldyBSZWdFeHAoL14vLnNvdXJjZSsvKFthLXpBLVpdWy0rLmEtekEtWjAtOV0qOik/Ly5zb3VyY2UrLyhcXC9cXC9bXlxcLz8jXSopPy8uc291cmNlKy8oW14/I10qKT8vLnNvdXJjZSsvKFxcPyhbXiNdKikpPy8uc291cmNlKy8oIygoI3xbXiNdKSopKT8vLnNvdXJjZSsvJC8uc291cmNlKTtfLkVmPW5ldyBSZWdFeHAoLyglKFteMC05YS1mQS1GJV18WzAtOWEtZkEtRl0oW14wLTlhLWZBLUYlXSk/KT8pKi8uc291cmNlKy8lKCR8W14wLTlhLWZBLUZdfFswLTlhLWZBLUZdKCR8W14wLTlhLWZBLUZdKSkvLnNvdXJjZSxcImdcIik7XG5fLkZmPW5ldyBSZWdFeHAoL1xcLz9cXD8/Iz8vLnNvdXJjZStcIihcIisvW1xcLz8jXS9pLnNvdXJjZStcInxcIisvW1xcdUQ4MDAtXFx1REJGRl0vaS5zb3VyY2UrXCJ8XCIrLyVbYy1mXVswLTlhLWZdKCVbODlhYl1bMC05YS1mXSl7MCwyfSglWzg5YWJdPyk/L2kuc291cmNlK1wifFwiKy8lWzAtOWEtZl0/L2kuc291cmNlK1wiKSRcIixcImlcIik7Xy5IZj1mdW5jdGlvbihhLGIsYyl7Xy5HZihhLGIsYyxcImFkZFwiLFwiYXRcIil9O18uR2Y9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihhW2QrXCJFdmVudExpc3RlbmVyXCJdKWFbZCtcIkV2ZW50TGlzdGVuZXJcIl0oYixjLCExKTtlbHNlIGlmKGFbZStcInRhY2hFdmVudFwiXSlhW2UrXCJ0YWNoRXZlbnRcIl0oXCJvblwiK2IsYyl9O18uSWY9e307Xy5JZj1fLnZmKF8ucmYsXCJfX19qc2xcIixfLndmKCkpO18udmYoXy5JZixcIklcIiwwKTtfLnZmKF8uSWYsXCJoZWxcIiwxMCk7dmFyIEpmLEtmLExmLE1mLFBmLE5mLE9mLFFmLFJmO0pmPWZ1bmN0aW9uKGEpe3ZhciBiPXdpbmRvdy5fX19qc2w9d2luZG93Ll9fX2pzbHx8e307YlthXT1iW2FdfHxbXTtyZXR1cm4gYlthXX07S2Y9ZnVuY3Rpb24oYSl7dmFyIGI9d2luZG93Ll9fX2pzbD13aW5kb3cuX19fanNsfHx7fTtiLmNmZz0hYSYmYi5jZmd8fHt9O3JldHVybiBiLmNmZ307TGY9ZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhPT09XCJvYmplY3RcIiYmL1xcW25hdGl2ZSBjb2RlXFxdLy50ZXN0KGEucHVzaCl9O1xuTWY9ZnVuY3Rpb24oYSxiLGMpe2lmKGImJnR5cGVvZiBiPT09XCJvYmplY3RcIilmb3IodmFyIGQgaW4gYikhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsZCl8fGMmJmQ9PT1cIl9fX2dvY1wiJiZ0eXBlb2YgYltkXT09PVwidW5kZWZpbmVkXCJ8fChhW2RdJiZiW2RdJiZ0eXBlb2YgYVtkXT09PVwib2JqZWN0XCImJnR5cGVvZiBiW2RdPT09XCJvYmplY3RcIiYmIUxmKGFbZF0pJiYhTGYoYltkXSk/TWYoYVtkXSxiW2RdKTpiW2RdJiZ0eXBlb2YgYltkXT09PVwib2JqZWN0XCI/KGFbZF09TGYoYltkXSk/W106e30sTWYoYVtkXSxiW2RdKSk6YVtkXT1iW2RdKX07XG5QZj1mdW5jdGlvbihhLGIpe2lmKGEmJiEvXlxccyskLy50ZXN0KGEpKXtmb3IoO2EuY2hhckNvZGVBdChhLmxlbmd0aC0xKT09MDspYT1hLnN1YnN0cmluZygwLGEubGVuZ3RoLTEpO3ZhciBjPWEsZD1KZihcImRtXCIpO2QucHVzaCgyMCk7dHJ5e3ZhciBlPXdpbmRvdy5KU09OLnBhcnNlKGEpfWNhdGNoKGgpe31pZih0eXBlb2YgZT09PVwib2JqZWN0XCIpcmV0dXJuIGQucHVzaCgyMSksZTt0cnl7ZT13aW5kb3cuSlNPTi5wYXJzZShcIntcIithK1wifVwiKX1jYXRjaChoKXt9aWYodHlwZW9mIGU9PT1cIm9iamVjdFwiKXJldHVybiBkLnB1c2goMjIpLGU7YT1hLnJlcGxhY2UoUmVnRXhwKFwiKFteXFxcIicse31cXFxcc10rPylcXFxccyo6XFxcXHMqKC4qPylbLH1cXFxcc11cIixcImdcIiksZnVuY3Rpb24oaCxrLGwpe2w9bC5zdGFydHNXaXRoKCdcIicpP1wiJURPVUJMRV9RVU9URSVcIitsLnN1YnN0cmluZygxKTpsO2w9bC5lbmRzV2l0aCgnXCInKT9sLnNsaWNlKDAsLTEpK1wiJURPVUJMRV9RVU9URSVcIjpsO3JldHVyblwiJURPVUJMRV9RVU9URSVcIitcbmsrXCIlRE9VQkxFX1FVT1RFJTpcIitsfSk7YT1hLnJlcGxhY2UoL1xcXFwnL2csXCIlU0lOR0xFX1FVT1RFJVwiKTthPWEucmVwbGFjZSgvXCIvZywnXFxcXFwiJyk7YT1hLnJlcGxhY2UoLycvZywnXCInKTthPWEucmVwbGFjZSgvJVNJTkdMRV9RVU9URSUvZyxcIidcIik7YT1hLnJlcGxhY2UoLyVET1VCTEVfUVVPVEUlL2csJ1wiJyk7dHJ5e2U9d2luZG93LkpTT04ucGFyc2UoYSl9Y2F0Y2goaCl7fWlmKHR5cGVvZiBlPT09XCJvYmplY3RcIilyZXR1cm4gZC5wdXNoKDIzKSxlO3RyeXtlPXdpbmRvdy5KU09OLnBhcnNlKFwie1wiK2ErXCJ9XCIpfWNhdGNoKGgpe31pZih0eXBlb2YgZT09PVwib2JqZWN0XCIpcmV0dXJuIGQucHVzaCgyNCksZTthPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwic2NyaXB0XCIpfHxbXTt2YXIgZjthLmxlbmd0aD4wJiYoZj1hWzBdLm5vbmNlfHxhWzBdLmdldEF0dHJpYnV0ZShcIm5vbmNlXCIpKTtpZihmJiZmPT09Ynx8IWYmJk5mKCkpaWYoZT1PZihjKSxkLnB1c2goMjUpLHR5cGVvZiBlPT09XG5cIm9iamVjdFwiKXJldHVybiBlO3JldHVybnt9fX07TmY9ZnVuY3Rpb24oKXt2YXIgYT13aW5kb3cubG9jYXRpb24uaG9zdG5hbWU7cmV0dXJuIGE/LyhefFxcLikoMm1kbnxhbXBwcm9qZWN0fGFuZHJvaWR8YXBwc3BvdHxibG9nZ2VyfGJsb2dzcG90fGNocm9tZXxjaHJvbWl1bXxkb3VibGVjbGlja3xnY3Bub2RlfGdncGh0fGdtYWlsfGdvb2dsZXxnb29nbGUtYW5hbHl0aWNzfGdvb2dsZWFkc2VydmljZXN8Z29vZ2xlYXBpc3xnb29nbGVhcGlzLWNufGdvb2dsZW9wdGltaXplfGdvb2dsZXJzfGdvb2dsZXNvdXJjZXxnb29nbGVzeW5kaWNhdGlvbnxnb29nbGV0YWdtYW5hZ2VyfGdvb2dsZXRhZ3NlcnZpY2VzfGdvb2dsZXVzZXJjb250ZW50fGdvb2dsZXZpZGVvfGdzdGF0aWN8dGlsdGJydXNofHdhemV8d2l0aGdvb2dsZXx5b3V0dWJlfHl0aW1nKShcXC5jb20/fFxcLm5ldHxcXC5vcmcpPyhcXC5bYS16XVthLXpdfFxcLmNhdCk/JC8udGVzdChhKTohMX07XG5PZj1mdW5jdGlvbihhKXt0cnl7dmFyIGI9KG5ldyBGdW5jdGlvbihcInJldHVybiAoXCIrYStcIlxcbilcIikpKCl9Y2F0Y2goYyl7fWlmKHR5cGVvZiBiPT09XCJvYmplY3RcIilyZXR1cm4gYjt0cnl7Yj0obmV3IEZ1bmN0aW9uKFwicmV0dXJuICh7XCIrYStcIlxcbn0pXCIpKSgpfWNhdGNoKGMpe31yZXR1cm4gYn07UWY9ZnVuY3Rpb24oYSxiKXt2YXIgYz17X19fZ29jOnZvaWQgMH07YS5sZW5ndGgmJmFbYS5sZW5ndGgtMV0mJk9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKGFbYS5sZW5ndGgtMV0sXCJfX19nb2NcIikmJnR5cGVvZiBhW2EubGVuZ3RoLTFdLl9fX2dvYz09PVwidW5kZWZpbmVkXCImJihjPWEucG9wKCkpO01mKGMsYik7YS5wdXNoKGMpfTtcblJmPWZ1bmN0aW9uKGEpe0tmKCEwKTt2YXIgYj13aW5kb3cuX19fZ2NmZyxjPUpmKFwiY3VcIiksZD13aW5kb3cuX19fZ3U7YiYmYiE9PWQmJihRZihjLGIpLHdpbmRvdy5fX19ndT1iKTtiPUpmKFwiY3VcIik7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJzY3JpcHRcIil8fFtdO2Q9W107dmFyIGY9W107Zi5wdXNoLmFwcGx5KGYsSmYoXCJ1c1wiKSk7Zm9yKHZhciBoPTA7aDxlLmxlbmd0aDsrK2gpZm9yKHZhciBrPWVbaF0sbD0wO2w8Zi5sZW5ndGg7KytsKWsuc3JjJiZrLnNyYy5pbmRleE9mKGZbbF0pPT0wJiZkLnB1c2goayk7ZC5sZW5ndGg9PTAmJmUubGVuZ3RoPjAmJmVbZS5sZW5ndGgtMV0uc3JjJiZkLnB1c2goZVtlLmxlbmd0aC0xXSk7Zm9yKGU9MDtlPGQubGVuZ3RoOysrZSlkW2VdLmdldEF0dHJpYnV0ZShcImdhcGlfcHJvY2Vzc2VkXCIpfHwoZFtlXS5zZXRBdHRyaWJ1dGUoXCJnYXBpX3Byb2Nlc3NlZFwiLCEwKSwoZj1kW2VdKT8oaD1mLm5vZGVUeXBlLGY9aD09M3x8XG5oPT00P2Yubm9kZVZhbHVlOmYudGV4dENvbnRlbnR8fFwiXCIpOmY9dm9pZCAwLGg9ZFtlXS5ub25jZXx8ZFtlXS5nZXRBdHRyaWJ1dGUoXCJub25jZVwiKSwoZj1QZihmLGgpKSYmYi5wdXNoKGYpKTthJiZRZihjLGEpO2Q9SmYoXCJjZFwiKTthPTA7Zm9yKGI9ZC5sZW5ndGg7YTxiOysrYSlNZihLZigpLGRbYV0sITApO2Q9SmYoXCJjaVwiKTthPTA7Zm9yKGI9ZC5sZW5ndGg7YTxiOysrYSlNZihLZigpLGRbYV0sITApO2E9MDtmb3IoYj1jLmxlbmd0aDthPGI7KythKU1mKEtmKCksY1thXSwhMCl9O18uU2Y9ZnVuY3Rpb24oYSxiKXt2YXIgYz1LZigpO2lmKCFhKXJldHVybiBjO2E9YS5zcGxpdChcIi9cIik7Zm9yKHZhciBkPTAsZT1hLmxlbmd0aDtjJiZ0eXBlb2YgYz09PVwib2JqZWN0XCImJmQ8ZTsrK2QpYz1jW2FbZF1dO3JldHVybiBkPT09YS5sZW5ndGgmJmMhPT12b2lkIDA/YzpifTtcbl8uVGY9ZnVuY3Rpb24oYSxiKXt2YXIgYztpZih0eXBlb2YgYT09PVwic3RyaW5nXCIpe3ZhciBkPWM9e307YT1hLnNwbGl0KFwiL1wiKTtmb3IodmFyIGU9MCxmPWEubGVuZ3RoO2U8Zi0xOysrZSl7dmFyIGg9e307ZD1kW2FbZV1dPWh9ZFthW2VdXT1ifWVsc2UgYz1hO1JmKGMpfTt2YXIgVWY9ZnVuY3Rpb24oKXt2YXIgYT13aW5kb3cuX19HT09HTEVBUElTO2EmJihhLmdvb2dsZWFwaXMmJiFhW1wiZ29vZ2xlYXBpcy5jb25maWdcIl0mJihhW1wiZ29vZ2xlYXBpcy5jb25maWdcIl09YS5nb29nbGVhcGlzKSxfLnZmKF8uSWYsXCJjaVwiLFtdKS5wdXNoKGEpLHdpbmRvdy5fX0dPT0dMRUFQSVM9dm9pZCAwKX07VWYmJlVmKCk7UmYoKTtfLnIoXCJnYXBpLmNvbmZpZy5nZXRcIixfLlNmKTtfLnIoXCJnYXBpLmNvbmZpZy51cGRhdGVcIixfLlRmKTtcbnZhciBWZixXZixYZixZZixaZiwkZixiZyxmZyxnZyxoZyxpZyxjZyxkZztWZj1mdW5jdGlvbihhLGIpe3ZhciBjPWIuY3JlYXRlUmFuZ2UoKTtjLnNlbGVjdE5vZGUoYi5ib2R5KTthPV8uVmIoYSk7cmV0dXJuIGMuY3JlYXRlQ29udGV4dHVhbEZyYWdtZW50KF8ud2MoYSkpfTtXZj1mdW5jdGlvbihhKXthPWEubm9kZU5hbWU7cmV0dXJuIHR5cGVvZiBhPT09XCJzdHJpbmdcIj9hOlwiRk9STVwifTtYZj1mdW5jdGlvbihhKXthPWEubm9kZVR5cGU7cmV0dXJuIGE9PT0xfHx0eXBlb2YgYSE9PVwibnVtYmVyXCJ9O1lmPWZ1bmN0aW9uKGEsYixjKXthLnNldEF0dHJpYnV0ZShiLGMpfTtaZj1mdW5jdGlvbihhLGIpe3ZhciBjPW5ldyBYTUxIdHRwUmVxdWVzdDtjLm9wZW4oXCJQT1NUXCIsYSk7Yy5zZXRSZXF1ZXN0SGVhZGVyKFwiQ29udGVudC1UeXBlXCIsXCJhcHBsaWNhdGlvbi9qc29uXCIpO2Muc2VuZChiKX07XG4kZj1mdW5jdGlvbihhLGIpeyh0eXBlb2Ygd2luZG93IT09XCJ1bmRlZmluZWRcIiYmd2luZG93Lm5hdmlnYXRvciYmd2luZG93Lm5hdmlnYXRvci5zZW5kQmVhY29uIT09dm9pZCAwP25hdmlnYXRvci5zZW5kQmVhY29uLmJpbmQobmF2aWdhdG9yKTpaZikoXCJodHRwczovL2NzcC53aXRoZ29vZ2xlLmNvbS9jc3AvbGNyZXBvcnQvXCIrYS5XSixKU09OLnN0cmluZ2lmeSh7aG9zdDp3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsdHlwZTpiLGFkZGl0aW9uYWxEYXRhOnZvaWQgMH0pKX07Ymc9ZnVuY3Rpb24oYSxiKXt0cnl7Xy5hZyhfLlZkLGEpfWNhdGNoKGMpe3JldHVybiAkZihiLFwiSF9TTFNBTklUSVpFXCIpLCEwfXRyeXtfLmFnKF8uVWQsYSl9Y2F0Y2goYyl7cmV0dXJuICRmKGIsXCJIX1JTQU5JVElaRVwiKSwhMH10cnl7Xy5hZyhfLlRkLGEpfWNhdGNoKGMpe3JldHVybiAkZihiLFwiSF9TQU5JVElaRVwiKSwhMH1yZXR1cm4hMX07XG5fLmVnPWZ1bmN0aW9uKGEsYil7YT1fLnFmKGEpO3ZhciBjO2lmKGM9Yil7dmFyIGQsZTtjPU1hdGgucmFuZG9tKCk8KChlPShkPWIud3JhKSE9bnVsbD9kOmNnW2IuV0pbMF1dKSE9bnVsbD9lOjApfWlmKGMmJndpbmRvdy5TQUZFVkFMVUVTX1JFUE9SVElORyE9PSExJiZcIkRvY3VtZW50RnJhZ21lbnRcImluIHdpbmRvdyl7dmFyIGYsaDtNYXRoLnJhbmRvbSgpPCgoaD0oZj1iLm9xYSkhPW51bGw/ZjpkZ1tiLldKWzBdXSkhPW51bGw/aDowKSYmJGYoYixcIkhFQVJUQkVBVFwiKTtiZyhhLGIpfHxfLldiKGEpLnRvU3RyaW5nKCkhPT1hJiYkZihiLFwiSF9FU0NBUEVcIil9cmV0dXJuIF8uVmIoYSl9O2ZnPVtcImRhdGE6XCIsXCJodHRwOlwiLFwiaHR0cHM6XCIsXCJtYWlsdG86XCIsXCJmdHA6XCJdO1xuZ2c9ZnVuY3Rpb24oYSxiLGMpe2M9YS5UUS5nZXQoYyk7cmV0dXJuKGM9PW51bGw/MDpjLmhhcyhiKSk/Yy5nZXQoYik6YS5ONS5oYXMoYik/e0JkOjF9OihjPWEuQTkuZ2V0KGIpKT9jOmEucFQmJltdLmNvbmNhdChfLnpjKGEucFQpKS5zb21lKGZ1bmN0aW9uKGQpe3JldHVybiBiLmluZGV4T2YoZCk9PT0wfSk/e0JkOjF9OntCZDowfX07XG5oZz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9V2YoYik7Yz1jLmNyZWF0ZUVsZW1lbnQoZCk7Yj1iLmF0dHJpYnV0ZXM7Zm9yKHZhciBlPV8uc2EoYiksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe3ZhciBoPWYudmFsdWU7Zj1oLm5hbWU7aD1oLnZhbHVlO3ZhciBrPWdnKGEuTVksZixkKSxsO2E6e2lmKGw9ay5jb25kaXRpb25zKXtsPV8uc2EobCk7Zm9yKHZhciBtPWwubmV4dCgpOyFtLmRvbmU7bT1sLm5leHQoKSl7dmFyIG49Xy5zYShtLnZhbHVlKTttPW4ubmV4dCgpLnZhbHVlO249bi5uZXh0KCkudmFsdWU7dmFyIHA9dm9pZCAwO2lmKChtPShwPWIuZ2V0TmFtZWRJdGVtKG0pKT09bnVsbD92b2lkIDA6cC52YWx1ZSkmJiFuLmhhcyhtKSl7bD0hMTticmVhayBhfX19bD0hMH1pZihsKXN3aXRjaChrLkJkKXtjYXNlIDE6WWYoYyxmLGgpO2JyZWFrO2Nhc2UgMjphOmlmKGs9dm9pZCAwLF8uc2Qpe3RyeXtrPW5ldyBVUkwoaCl9Y2F0Y2gocSl7az1cImh0dHBzOlwiO2JyZWFrIGF9az1cbmsucHJvdG9jb2x9ZWxzZSBiOntrPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO3RyeXtrLmhyZWY9aH1jYXRjaChxKXtrPXZvaWQgMDticmVhayBifWs9ay5wcm90b2NvbDtrPWs9PT1cIjpcInx8az09PVwiXCI/XCJodHRwczpcIjprfVlmKGMsZixrIT09dm9pZCAwJiZmZy5pbmRleE9mKGsudG9Mb3dlckNhc2UoKSkhPT0tMT9oOlwiYWJvdXQ6aW52YWxpZCN6Q2xvc3VyZXpcIik7YnJlYWs7Y2FzZSAzOllmKGMsZixoLnRvTG93ZXJDYXNlKCkpO2JyZWFrO2Nhc2UgNDpZZihjLGYsaCk7YnJlYWs7Y2FzZSA1OllmKGMsZixoKTticmVhaztjYXNlIDY6WWYoYyxmLGgpfX1yZXR1cm4gY307XG5pZz1mdW5jdGlvbihhLGIsYyl7Yj1WZihiLGMpO2I9ZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihiLDUsZnVuY3Rpb24oayl7aWYoay5ub2RlVHlwZT09PTMpaz0xO2Vsc2UgaWYoWGYoaykpaWYoaz1XZihrKSxrPT09bnVsbClrPTI7ZWxzZXt2YXIgbD1hLk1ZO2s9ayE9PVwiRk9STVwiJiYobC5NNS5oYXMoayl8fGwuVFEuaGFzKGspKT8xOjJ9ZWxzZSBrPTI7cmV0dXJuIGt9KTtmb3IodmFyIGQ9Yi5uZXh0Tm9kZSgpLGU9Yy5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksZj1lO2QhPT1udWxsOyl7dmFyIGg9dm9pZCAwO2lmKGQubm9kZVR5cGU9PT0zKWg9YS5jcmVhdGVUZXh0Tm9kZShkLmRhdGEpO2Vsc2UgaWYoWGYoZCkpaD1oZyhhLGQsYyk7ZWxzZSB0aHJvdyBFcnJvcihcIm1cIik7Zi5hcHBlbmRDaGlsZChoKTtpZihkPWIuZmlyc3RDaGlsZCgpKWY9aDtlbHNlIGZvcig7IShkPWIubmV4dFNpYmxpbmcoKSkmJihkPWIucGFyZW50Tm9kZSgpKTspZj1mLnBhcmVudE5vZGV9cmV0dXJuIGV9O1xuXy5hZz1mdW5jdGlvbihhLGIpe3ZhciBjPWRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudChcIlwiKTthPWlnKGEsYixjKTtjPWMuYm9keTtjLmFwcGVuZENoaWxkKGEpO2M9KG5ldyBYTUxTZXJpYWxpemVyKS5zZXJpYWxpemVUb1N0cmluZyhjKTtjPWMuc2xpY2UoYy5pbmRleE9mKFwiPlwiKSsxLGMubGFzdEluZGV4T2YoXCI8L1wiKSk7cmV0dXJuIF8uVmIoYyl9O2NnPXswOjEsMToxfTtkZz17MDouMSwxOi4xfTtcbnZhciBvZyxwZyxxZyxyZyxzZyx0Zyx1Zyx2Zyx3Zyx4Zyx5Zyx6ZyxCZyxDZyxEZyxFZyxGZyxHZyxIZyxJZyxKZyxLZyxMZyxNZyxOZyxPZyxQZyxRZyxSZyxTZyxUZyxXZyxYZztxZz12b2lkIDA7cmc9ZnVuY3Rpb24oYSl7dHJ5e3JldHVybiBfLlNhLkpTT04ucGFyc2UuY2FsbChfLlNhLkpTT04sYSl9Y2F0Y2goYil7cmV0dXJuITF9fTtzZz1mdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGEpfTt0Zz1zZygwKTt1Zz1zZyhuZXcgRGF0ZSgwKSk7dmc9c2coITApO3dnPXNnKFwiXCIpO3hnPXNnKHt9KTt5Zz1zZyhbXSk7XG56Zz1mdW5jdGlvbihhLGIpe2lmKGIpZm9yKHZhciBjPTAsZD1iLmxlbmd0aDtjPGQ7KytjKWlmKGE9PT1iW2NdKXRocm93IG5ldyBUeXBlRXJyb3IoXCJDb252ZXJ0aW5nIGNpcmN1bGFyIHN0cnVjdHVyZSB0byBKU09OXCIpO2Q9dHlwZW9mIGE7aWYoZCE9PVwidW5kZWZpbmVkXCIpe2M9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYnx8W10sMCk7Y1tjLmxlbmd0aF09YTtiPVtdO3ZhciBlPXNnKGEpO2lmKGEhPW51bGwmJnR5cGVvZiBhLnRvSlNPTj09PVwiZnVuY3Rpb25cIiYmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLFwidG9KU09OXCIpfHwoZSE9PXlnfHxhLmNvbnN0cnVjdG9yIT09QXJyYXkmJmEuY29uc3RydWN0b3IhPT1PYmplY3QpJiYoZSE9PXhnfHxhLmNvbnN0cnVjdG9yIT09QXJyYXkmJmEuY29uc3RydWN0b3IhPT1PYmplY3QpJiZlIT09d2cmJmUhPT10ZyYmZSE9PXZnJiZlIT09dWcpKXJldHVybiB6ZyhhLnRvSlNPTi5jYWxsKGEpLGMpO2lmKGE9PVxubnVsbCliW2IubGVuZ3RoXT1cIm51bGxcIjtlbHNlIGlmKGU9PT10ZylhPU51bWJlcihhKSxpc05hTihhKXx8aXNOYU4oYS1hKT9hPVwibnVsbFwiOmE9PT0tMCYmMS9hPDAmJihhPVwiLTBcIiksYltiLmxlbmd0aF09U3RyaW5nKGEpO2Vsc2UgaWYoZT09PXZnKWJbYi5sZW5ndGhdPVN0cmluZyghIU51bWJlcihhKSk7ZWxzZXtpZihlPT09dWcpcmV0dXJuIHpnKGEudG9JU09TdHJpbmcuY2FsbChhKSxjKTtpZihlPT09eWcmJnNnKGEubGVuZ3RoKT09PXRnKXtiW2IubGVuZ3RoXT1cIltcIjt2YXIgZj0wO2ZvcihkPU51bWJlcihhLmxlbmd0aCk+PjA7ZjxkOysrZilmJiYoYltiLmxlbmd0aF09XCIsXCIpLGJbYi5sZW5ndGhdPXpnKGFbZl0sYyl8fFwibnVsbFwiO2JbYi5sZW5ndGhdPVwiXVwifWVsc2UgaWYoZT09d2cmJnNnKGEubGVuZ3RoKT09PXRnKXtiW2IubGVuZ3RoXT0nXCInO2Y9MDtmb3IoYz1OdW1iZXIoYS5sZW5ndGgpPj4wO2Y8YzsrK2YpZD1TdHJpbmcucHJvdG90eXBlLmNoYXJBdC5jYWxsKGEsXG5mKSxlPVN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5jYWxsKGEsZiksYltiLmxlbmd0aF09ZD09PVwiXFxiXCI/XCJcXFxcYlwiOmQ9PT1cIlxcZlwiP1wiXFxcXGZcIjpkPT09XCJcXG5cIj9cIlxcXFxuXCI6ZD09PVwiXFxyXCI/XCJcXFxcclwiOmQ9PT1cIlxcdFwiP1wiXFxcXHRcIjpkPT09XCJcXFxcXCJ8fGQ9PT0nXCInP1wiXFxcXFwiK2Q6ZTw9MzE/XCJcXFxcdVwiKyhlKzY1NTM2KS50b1N0cmluZygxNikuc3Vic3RyKDEpOmU+PTMyJiZlPD02NTUzNT9kOlwiXFx1ZmZmZFwiO2JbYi5sZW5ndGhdPSdcIid9ZWxzZSBpZihkPT09XCJvYmplY3RcIil7YltiLmxlbmd0aF09XCJ7XCI7ZD0wO2ZvcihmIGluIGEpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsZikmJihlPXpnKGFbZl0sYyksZSE9PXZvaWQgMCYmKGQrKyYmKGJbYi5sZW5ndGhdPVwiLFwiKSxiW2IubGVuZ3RoXT16ZyhmKSxiW2IubGVuZ3RoXT1cIjpcIixiW2IubGVuZ3RoXT1lKSk7YltiLmxlbmd0aF09XCJ9XCJ9ZWxzZSByZXR1cm59cmV0dXJuIGIuam9pbihcIlwiKX19O0JnPS9bXFwwLVxceDA3XFx4MGJcXHgwZS1cXHgxZl0vO1xuQ2c9L14oW15cIl0qXCIoW15cXFxcXCJdfFxcXFwuKSpcIikqW15cIl0qXCIoW15cIlxcXFxdfFxcXFwuKSpbXFwwLVxceDFmXS87RGc9L14oW15cIl0qXCIoW15cXFxcXCJdfFxcXFwuKSpcIikqW15cIl0qXCIoW15cIlxcXFxdfFxcXFwuKSpcXFxcW15cXFxcXFwvXCJiZm5ydHVdLztFZz0vXihbXlwiXSpcIihbXlxcXFxcIl18XFxcXC4pKlwiKSpbXlwiXSpcIihbXlwiXFxcXF18XFxcXC4pKlxcXFx1KFswLTlhLWZBLUZdezAsM31bXjAtOWEtZkEtRl0pLztGZz0vXCIoW15cXDAtXFx4MWZcXFxcXCJdfFxcXFxbXFxcXFxcL1wiYmZucnRdfFxcXFx1WzAtOWEtZkEtRl17NH0pKlwiL2c7R2c9Ly0/KDB8WzEtOV1bMC05XSopKFxcLlswLTldKyk/KFtlRV1bLStdP1swLTldKyk/L2c7SGc9L1sgXFx0XFxuXFxyXSsvZztJZz0vW15cIl06LztKZz0vXCJcIi9nO0tnPS90cnVlfGZhbHNlfG51bGwvZztMZz0vMDAvO01nPS9bXFx7XShbXjBcXH1dfDBbXjpdKS87Tmc9LyhefFxcWylbLDpdfFssOl0oXFxdfFxcfXxbLDpdfCQpLztPZz0vW15cXFssOl1bXFxbXFx7XS87UGc9L14oXFx7fFxcfXxcXFt8XFxdfCx8OnwwKSsvO1FnPS9cXHUyMDI4L2c7XG5SZz0vXFx1MjAyOS9nO1xuU2c9ZnVuY3Rpb24oYSl7YT1TdHJpbmcoYSk7aWYoQmcudGVzdChhKXx8Q2cudGVzdChhKXx8RGcudGVzdChhKXx8RWcudGVzdChhKSlyZXR1cm4hMTt2YXIgYj1hLnJlcGxhY2UoRmcsJ1wiXCInKTtiPWIucmVwbGFjZShHZyxcIjBcIik7Yj1iLnJlcGxhY2UoSGcsXCJcIik7aWYoSWcudGVzdChiKSlyZXR1cm4hMTtiPWIucmVwbGFjZShKZyxcIjBcIik7Yj1iLnJlcGxhY2UoS2csXCIwXCIpO2lmKExnLnRlc3QoYil8fE1nLnRlc3QoYil8fE5nLnRlc3QoYil8fE9nLnRlc3QoYil8fCFifHwoYj1iLnJlcGxhY2UoUGcsXCJcIikpKXJldHVybiExO2E9YS5yZXBsYWNlKFFnLFwiXFxcXHUyMDI4XCIpLnJlcGxhY2UoUmcsXCJcXFxcdTIwMjlcIik7Yj12b2lkIDA7dHJ5e2I9cWc/W3JnKGEpXTpldmFsKFwiKGZ1bmN0aW9uICh2YXJfYXJncykge1xcbiAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMCk7XFxufSkoXFxuXCIrYStcIlxcbilcIil9Y2F0Y2goYyl7cmV0dXJuITF9cmV0dXJuIGImJmIubGVuZ3RoPT09XG4xP2JbMF06ITF9O1RnPWZ1bmN0aW9uKCl7dmFyIGE9KChfLlNhLmRvY3VtZW50fHx7fSkuc2NyaXB0c3x8W10pLmxlbmd0aDtpZigob2c9PT12b2lkIDB8fHFnPT09dm9pZCAwfHxwZyE9PWEpJiZwZyE9PS0xKXtvZz1xZz0hMTtwZz0tMTt0cnl7dHJ5e3FnPSEhXy5TYS5KU09OJiZfLlNhLkpTT04uc3RyaW5naWZ5LmNhbGwoXy5TYS5KU09OLHthOlszLCEwLG5ldyBEYXRlKDApXSxjOmZ1bmN0aW9uKCl7fX0pPT09J3tcImFcIjpbMyx0cnVlLFwiMTk3MC0wMS0wMVQwMDowMDowMC4wMDBaXCJdfScmJnJnKFwidHJ1ZVwiKT09PSEwJiZyZygnW3tcImFcIjozfV0nKVswXS5hPT09M31jYXRjaChiKXt9b2c9cWcmJiFyZyhcIlswMF1cIikmJiFyZygnXCJcXHUwMDA3XCInKSYmIXJnKCdcIlxcXFwwXCInKSYmIXJnKCdcIlxcXFx2XCInKX1maW5hbGx5e3BnPWF9fX07Xy5VZz1mdW5jdGlvbihhKXtpZihwZz09PS0xKXJldHVybiExO1RnKCk7cmV0dXJuKG9nP3JnOlNnKShhKX07XG5fLlZnPWZ1bmN0aW9uKGEpe2lmKHBnIT09LTEpcmV0dXJuIFRnKCkscWc/Xy5TYS5KU09OLnN0cmluZ2lmeS5jYWxsKF8uU2EuSlNPTixhKTp6ZyhhKX07V2c9IURhdGUucHJvdG90eXBlLnRvSVNPU3RyaW5nfHx0eXBlb2YgRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmchPT1cImZ1bmN0aW9uXCJ8fChuZXcgRGF0ZSgwKSkudG9JU09TdHJpbmcoKSE9PVwiMTk3MC0wMS0wMVQwMDowMDowMC4wMDBaXCI7XG5YZz1mdW5jdGlvbigpe3ZhciBhPURhdGUucHJvdG90eXBlLmdldFVUQ0Z1bGxZZWFyLmNhbGwodGhpcyk7cmV0dXJuW2E8MD9cIi1cIitTdHJpbmcoMUU2LWEpLnN1YnN0cigxKTphPD05OTk5P1N0cmluZygxRTQrYSkuc3Vic3RyKDEpOlwiK1wiK1N0cmluZygxRTYrYSkuc3Vic3RyKDEpLFwiLVwiLFN0cmluZygxMDErRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGguY2FsbCh0aGlzKSkuc3Vic3RyKDEpLFwiLVwiLFN0cmluZygxMDArRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZS5jYWxsKHRoaXMpKS5zdWJzdHIoMSksXCJUXCIsU3RyaW5nKDEwMCtEYXRlLnByb3RvdHlwZS5nZXRVVENIb3Vycy5jYWxsKHRoaXMpKS5zdWJzdHIoMSksXCI6XCIsU3RyaW5nKDEwMCtEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzLmNhbGwodGhpcykpLnN1YnN0cigxKSxcIjpcIixTdHJpbmcoMTAwK0RhdGUucHJvdG90eXBlLmdldFVUQ1NlY29uZHMuY2FsbCh0aGlzKSkuc3Vic3RyKDEpLFwiLlwiLFN0cmluZygxRTMrRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlzZWNvbmRzLmNhbGwodGhpcykpLnN1YnN0cigxKSxcblwiWlwiXS5qb2luKFwiXCIpfTtEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZz1XZz9YZzpEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZztcbnZhciBQaD1mdW5jdGlvbigpe3RoaXMuYmxvY2tTaXplPS0xfTt2YXIgUWg9ZnVuY3Rpb24oKXt0aGlzLmJsb2NrU2l6ZT0tMTt0aGlzLmJsb2NrU2l6ZT02NDt0aGlzLlZjPVtdO3RoaXMuRkU9W107dGhpcy5vNT1bXTt0aGlzLkFCPVtdO3RoaXMuQUJbMF09MTI4O2Zvcih2YXIgYT0xO2E8dGhpcy5ibG9ja1NpemU7KythKXRoaXMuQUJbYV09MDt0aGlzLm9EPXRoaXMubnI9MDt0aGlzLnJlc2V0KCl9O18uYmIoUWgsUGgpO1FoLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuVmNbMF09MTczMjU4NDE5Mzt0aGlzLlZjWzFdPTQwMjMyMzM0MTc7dGhpcy5WY1syXT0yNTYyMzgzMTAyO3RoaXMuVmNbM109MjcxNzMzODc4O3RoaXMuVmNbNF09MzI4NTM3NzUyMDt0aGlzLm9EPXRoaXMubnI9MH07XG52YXIgUmg9ZnVuY3Rpb24oYSxiLGMpe2N8fChjPTApO3ZhciBkPWEubzU7aWYodHlwZW9mIGI9PT1cInN0cmluZ1wiKWZvcih2YXIgZT0wO2U8MTY7ZSsrKWRbZV09Yi5jaGFyQ29kZUF0KGMpPDwyNHxiLmNoYXJDb2RlQXQoYysxKTw8MTZ8Yi5jaGFyQ29kZUF0KGMrMik8PDh8Yi5jaGFyQ29kZUF0KGMrMyksYys9NDtlbHNlIGZvcihlPTA7ZTwxNjtlKyspZFtlXT1iW2NdPDwyNHxiW2MrMV08PDE2fGJbYysyXTw8OHxiW2MrM10sYys9NDtmb3IoZT0xNjtlPDgwO2UrKyl7dmFyIGY9ZFtlLTNdXmRbZS04XV5kW2UtMTRdXmRbZS0xNl07ZFtlXT0oZjw8MXxmPj4+MzEpJjQyOTQ5NjcyOTV9Yj1hLlZjWzBdO2M9YS5WY1sxXTt2YXIgaD1hLlZjWzJdLGs9YS5WY1szXSxsPWEuVmNbNF07Zm9yKGU9MDtlPDgwO2UrKyl7aWYoZTw0MClpZihlPDIwKXtmPWteYyYoaF5rKTt2YXIgbT0xNTE4NTAwMjQ5fWVsc2UgZj1jXmheayxtPTE4NTk3NzUzOTM7ZWxzZSBlPDYwPyhmPWMmaHxrJihjfGgpLFxubT0yNDAwOTU5NzA4KTooZj1jXmheayxtPTMzOTU0Njk3ODIpO2Y9KGI8PDV8Yj4+PjI3KStmK2wrbStkW2VdJjQyOTQ5NjcyOTU7bD1rO2s9aDtoPShjPDwzMHxjPj4+MikmNDI5NDk2NzI5NTtjPWI7Yj1mfWEuVmNbMF09YS5WY1swXStiJjQyOTQ5NjcyOTU7YS5WY1sxXT1hLlZjWzFdK2MmNDI5NDk2NzI5NTthLlZjWzJdPWEuVmNbMl0raCY0Mjk0OTY3Mjk1O2EuVmNbM109YS5WY1szXStrJjQyOTQ5NjcyOTU7YS5WY1s0XT1hLlZjWzRdK2wmNDI5NDk2NzI5NX07XG5RaC5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKGEsYil7aWYoYSE9bnVsbCl7Yj09PXZvaWQgMCYmKGI9YS5sZW5ndGgpO2Zvcih2YXIgYz1iLXRoaXMuYmxvY2tTaXplLGQ9MCxlPXRoaXMuRkUsZj10aGlzLm5yO2Q8Yjspe2lmKGY9PTApZm9yKDtkPD1jOylSaCh0aGlzLGEsZCksZCs9dGhpcy5ibG9ja1NpemU7aWYodHlwZW9mIGE9PT1cInN0cmluZ1wiKWZvcig7ZDxiOyl7aWYoZVtmXT1hLmNoYXJDb2RlQXQoZCksKytmLCsrZCxmPT10aGlzLmJsb2NrU2l6ZSl7UmgodGhpcyxlKTtmPTA7YnJlYWt9fWVsc2UgZm9yKDtkPGI7KWlmKGVbZl09YVtkXSwrK2YsKytkLGY9PXRoaXMuYmxvY2tTaXplKXtSaCh0aGlzLGUpO2Y9MDticmVha319dGhpcy5ucj1mO3RoaXMub0QrPWJ9fTtcblFoLnByb3RvdHlwZS5kaWdlc3Q9ZnVuY3Rpb24oKXt2YXIgYT1bXSxiPXRoaXMub0QqODt0aGlzLm5yPDU2P3RoaXMudXBkYXRlKHRoaXMuQUIsNTYtdGhpcy5ucik6dGhpcy51cGRhdGUodGhpcy5BQix0aGlzLmJsb2NrU2l6ZS0odGhpcy5uci01NikpO2Zvcih2YXIgYz10aGlzLmJsb2NrU2l6ZS0xO2M+PTU2O2MtLSl0aGlzLkZFW2NdPWImMjU1LGIvPTI1NjtSaCh0aGlzLHRoaXMuRkUpO2ZvcihjPWI9MDtjPDU7YysrKWZvcih2YXIgZD0yNDtkPj0wO2QtPTgpYVtiXT10aGlzLlZjW2NdPj5kJjI1NSwrK2I7cmV0dXJuIGF9O18uU2g9ZnVuY3Rpb24oKXt0aGlzLnlNPW5ldyBRaH07Xy5nPV8uU2gucHJvdG90eXBlO18uZy5yZXNldD1mdW5jdGlvbigpe3RoaXMueU0ucmVzZXQoKX07Xy5nLngwPWZ1bmN0aW9uKGEpe3RoaXMueU0udXBkYXRlKGEpfTtfLmcueFE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy55TS5kaWdlc3QoKX07Xy5nLmp4PWZ1bmN0aW9uKGEpe2E9dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KGEpKTtmb3IodmFyIGI9W10sYz0wLGQ9YS5sZW5ndGg7YzxkOysrYyliLnB1c2goYS5jaGFyQ29kZUF0KGMpKTt0aGlzLngwKGIpfTtfLmcuWmk9ZnVuY3Rpb24oKXtmb3IodmFyIGE9dGhpcy54USgpLGI9XCJcIixjPTA7YzxhLmxlbmd0aDtjKyspYis9XCIwMTIzNDU2Nzg5QUJDREVGXCIuY2hhckF0KE1hdGguZmxvb3IoYVtjXS8xNikpK1wiMDEyMzQ1Njc4OUFCQ0RFRlwiLmNoYXJBdChhW2NdJTE2KTtyZXR1cm4gYn07XG5fLllpPWZ1bmN0aW9uKGEpe3ZhciBiPXdpbmRvdy5fX19qc2w9d2luZG93Ll9fX2pzbHx8e307Yi5jZmc9IWEmJmIuY2ZnfHx7fTtyZXR1cm4gYi5jZmd9O18uWmk9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5ZaSgpO2lmKCFhKXJldHVybiBiO2E9YS5zcGxpdChcIi9cIik7Zm9yKHZhciBjPTAsZD1hLmxlbmd0aDtiJiZ0eXBlb2YgYj09PVwib2JqZWN0XCImJmM8ZDsrK2MpYj1iW2FbY11dO3JldHVybiBjPT09YS5sZW5ndGgmJmIhPT12b2lkIDA/Yjp2b2lkIDB9O1xuXy4kaT1mdW5jdGlvbihhLGIpe2I9Xy5UYihiKTtiIT09dm9pZCAwJiYoYS5ocmVmPWIpfTt2YXIgYWo7YWo9L15odHRwcz86XFwvXFwvKD86XFx3fFtcXC1cXC5dKStcXC5nb29nbGVcXC4oPzpcXHd8W1xcLTpcXC5dKSsoPzpcXC9bXlxcPyNdKik/XFwvdVxcLyhcXGQpXFwvLztcbl8uYmo9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5aaShcImdvb2dsZWFwaXMuY29uZmlnL3Nlc3Npb25JbmRleFwiKTtcInN0cmluZ1wiPT09dHlwZW9mIGImJmIubGVuZ3RoPjI1NCYmKGI9bnVsbCk7Yj09bnVsbCYmKGI9d2luZG93Ll9fWF9HT09HX0FVVEhVU0VSKTtcInN0cmluZ1wiPT09dHlwZW9mIGImJmIubGVuZ3RoPjI1NCYmKGI9bnVsbCk7aWYoYj09bnVsbCl7dmFyIGM9d2luZG93Lmdvb2dsZTtjJiYoYj1jLmF1dGh1c2VyKX1cInN0cmluZ1wiPT09dHlwZW9mIGImJmIubGVuZ3RoPjI1NCYmKGI9bnVsbCk7Yj09bnVsbCYmKGE9YXx8d2luZG93LmxvY2F0aW9uLmhyZWYsYj1fLkNmKGEsXCJhdXRodXNlclwiKXx8bnVsbCxiPT1udWxsJiYoYj0oYj1hLm1hdGNoKGFqKSk/YlsxXTpudWxsKSk7aWYoYj09bnVsbClyZXR1cm4gbnVsbDtiPVN0cmluZyhiKTtiLmxlbmd0aD4yNTQmJihiPW51bGwpO3JldHVybiBifTtcbnZhciB2aix1aixCaixDaix3aix6aix4aixEaix5ajtfLkFqPWZ1bmN0aW9uKCl7aWYodWope3ZhciBhPW5ldyBfLnJmLlVpbnQzMkFycmF5KDEpO3ZqLmdldFJhbmRvbVZhbHVlcyhhKTthPU51bWJlcihcIjAuXCIrYVswXSl9ZWxzZSBhPXdqLGErPXBhcnNlSW50KHhqLnN1YnN0cigwLDIwKSwxNikseGo9eWooeGopLGEvPXpqK01hdGgucG93KDE2LDIwKTtyZXR1cm4gYX07dmo9Xy5yZi5jcnlwdG87dWo9ITE7Qmo9MDtDaj0wO3dqPTE7emo9MDt4aj1cIlwiO0RqPWZ1bmN0aW9uKGEpe2E9YXx8Xy5yZi5ldmVudDt2YXIgYj1hLnNjcmVlblgrYS5jbGllbnRYPDwxNjtiKz1hLnNjcmVlblkrYS5jbGllbnRZO2IqPShuZXcgRGF0ZSkuZ2V0VGltZSgpJTFFNjt3aj13aipiJXpqO0JqPjAmJisrQ2o9PUJqJiZfLkdmKF8ucmYsXCJtb3VzZW1vdmVcIixEaixcInJlbW92ZVwiLFwiZGVcIil9O3lqPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBfLlNoO2IuangoYSk7cmV0dXJuIGIuWmkoKX07XG51aj0hIXZqJiZ0eXBlb2YgdmouZ2V0UmFuZG9tVmFsdWVzPT1cImZ1bmN0aW9uXCI7dWp8fCh6aj0oc2NyZWVuLndpZHRoKnNjcmVlbi53aWR0aCtzY3JlZW4uaGVpZ2h0KSoxRTYseGo9eWooXy5zZi5jb29raWUrXCJ8XCIrXy5zZi5sb2NhdGlvbitcInxcIisobmV3IERhdGUpLmdldFRpbWUoKStcInxcIitNYXRoLnJhbmRvbSgpKSxCaj1fLlppKFwicmFuZG9tL21heE9ic2VydmVNb3VzZW1vdmVcIil8fDAsQmohPTAmJl8uSGYoXy5yZixcIm1vdXNlbW92ZVwiLERqKSk7XG52YXIgdG0sdW0sdm0sd20seG0seW0sem0sQW0sQm0sQ20sRG0sRW0sSW0sSm0sS20sTG0sTW0sTm0sT20sUG07Xy5zbT1mdW5jdGlvbihhLGIpe2lmKCFhKXRocm93IEVycm9yKGJ8fFwiXCIpO307dG09LyYvZzt1bT0vPC9nO3ZtPS8+L2c7d209L1wiL2c7eG09LycvZzt5bT1mdW5jdGlvbihhKXtyZXR1cm4gU3RyaW5nKGEpLnJlcGxhY2UodG0sXCImYW1wO1wiKS5yZXBsYWNlKHVtLFwiJmx0O1wiKS5yZXBsYWNlKHZtLFwiJmd0O1wiKS5yZXBsYWNlKHdtLFwiJnF1b3Q7XCIpLnJlcGxhY2UoeG0sXCImIzM5O1wiKX07em09L1tcXHVkODAwLVxcdWRiZmZdW1xcdWRjMDAtXFx1ZGZmZl18W14hLX5dL2c7QW09LyUoW2EtZl18WzAtOWEtZkEtRl1bYS1mXSkvZztCbT0vXihodHRwcz98ZnRwfGZpbGV8Y2hyb21lLWV4dGVuc2lvbik6JC9pO1xuQ209ZnVuY3Rpb24oYSl7YT1TdHJpbmcoYSk7YT1hLnJlcGxhY2Uoem0sZnVuY3Rpb24oZSl7dHJ5e3JldHVybiBlbmNvZGVVUklDb21wb25lbnQoZSl9Y2F0Y2goZil7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChlLnJlcGxhY2UoL15bXiVdKyQvZyxcIlxcdWZmZmRcIikpfX0pLnJlcGxhY2UoXy5FZixmdW5jdGlvbihlKXtyZXR1cm4gZS5yZXBsYWNlKC8lL2csXCIlMjVcIil9KS5yZXBsYWNlKEFtLGZ1bmN0aW9uKGUpe3JldHVybiBlLnRvVXBwZXJDYXNlKCl9KTthPWEubWF0Y2goXy5EZil8fFtdO3ZhciBiPV8ud2YoKSxjPWZ1bmN0aW9uKGUpe3JldHVybiBlLnJlcGxhY2UoL1xcXFwvZyxcIiU1Q1wiKS5yZXBsYWNlKC9cXF4vZyxcIiU1RVwiKS5yZXBsYWNlKC9gL2csXCIlNjBcIikucmVwbGFjZSgvXFx7L2csXCIlN0JcIikucmVwbGFjZSgvXFx8L2csXCIlN0NcIikucmVwbGFjZSgvXFx9L2csXCIlN0RcIil9LGQ9ISEoYVsxXXx8XCJcIikubWF0Y2goQm0pO2IudHQ9YygoYVsxXXx8XCJcIikrKGFbMl18fFwiXCIpKyhhWzNdfHxcbihhWzJdJiZkP1wiL1wiOlwiXCIpKSk7ZD1mdW5jdGlvbihlKXtyZXR1cm4gYyhlLnJlcGxhY2UoL1xcPy9nLFwiJTNGXCIpLnJlcGxhY2UoLyMvZyxcIiUyM1wiKSl9O2IucXVlcnk9YVs1XT9bZChhWzVdKV06W107Yi5oaj1hWzddP1tkKGFbN10pXTpbXTtyZXR1cm4gYn07RG09ZnVuY3Rpb24oYSl7cmV0dXJuIGEudHQrKGEucXVlcnkubGVuZ3RoPjA/XCI/XCIrYS5xdWVyeS5qb2luKFwiJlwiKTpcIlwiKSsoYS5oai5sZW5ndGg+MD9cIiNcIithLmhqLmpvaW4oXCImXCIpOlwiXCIpfTtFbT1mdW5jdGlvbihhLGIpe3ZhciBjPVtdO2lmKGEpZm9yKHZhciBkIGluIGEpaWYoXy54ZihhLGQpJiZhW2RdIT1udWxsKXt2YXIgZT1iP2IoYVtkXSk6YVtkXTtjLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KGQpK1wiPVwiK2VuY29kZVVSSUNvbXBvbmVudChlKSl9cmV0dXJuIGN9O1xuXy5GbT1mdW5jdGlvbihhLGIsYyxkKXthPUNtKGEpO2EucXVlcnkucHVzaC5hcHBseShhLnF1ZXJ5LEVtKGIsZCkpO2EuaGoucHVzaC5hcHBseShhLmhqLEVtKGMsZCkpO3JldHVybiBEbShhKX07XG5fLkdtPWZ1bmN0aW9uKGEsYil7dmFyIGM9Q20oYik7Yj1jLnR0O2MucXVlcnkubGVuZ3RoJiYoYis9XCI/XCIrYy5xdWVyeS5qb2luKFwiXCIpKTtjLmhqLmxlbmd0aCYmKGIrPVwiI1wiK2MuaGouam9pbihcIlwiKSk7dmFyIGQ9XCJcIjtiLmxlbmd0aD4yRTMmJihjPWIsYj1iLnN1YnN0cigwLDJFMyksYj1iLnJlcGxhY2UoXy5GZixcIlwiKSxkPWMuc3Vic3RyKGIubGVuZ3RoKSk7dmFyIGU9YS5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO2E9YS5jcmVhdGVFbGVtZW50KFwiYVwiKTtjPUNtKGIpO2I9Yy50dDtjLnF1ZXJ5Lmxlbmd0aCYmKGIrPVwiP1wiK2MucXVlcnkuam9pbihcIlwiKSk7Yy5oai5sZW5ndGgmJihiKz1cIiNcIitjLmhqLmpvaW4oXCJcIikpO18uJGkoYSxuZXcgXy5KYihfLnFmKGIpKSk7ZS5hcHBlbmRDaGlsZChhKTtfLnhjKGUsXy5WYihlLmlubmVySFRNTCkpO2I9U3RyaW5nKGUuZmlyc3RDaGlsZC5ocmVmKTtlLnBhcmVudE5vZGUmJmUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlKTtjPUNtKGIrZCk7Yj1cbmMudHQ7Yy5xdWVyeS5sZW5ndGgmJihiKz1cIj9cIitjLnF1ZXJ5LmpvaW4oXCJcIikpO2MuaGoubGVuZ3RoJiYoYis9XCIjXCIrYy5oai5qb2luKFwiXCIpKTtyZXR1cm4gYn07Xy5IbT0vXmh0dHBzPzpcXC9cXC9bXlxcLyVcXFxcPyNcXHNdK1xcL1teXFxzXSokL2k7Sm09ZnVuY3Rpb24oYSl7Zm9yKDthLmZpcnN0Q2hpbGQ7KWEucmVtb3ZlQ2hpbGQoYS5maXJzdENoaWxkKX07S209L15odHRwcz86XFwvXFwvKD86XFx3fFtcXC1cXC5dKStcXC5nb29nbGVcXC4oPzpcXHd8W1xcLTpcXC5dKSsoPzpcXC9bXlxcPyNdKik/XFwvYlxcLyhcXGR7MTAsMjF9KVxcLy87XG5MbT1mdW5jdGlvbigpe3ZhciBhPV8uWmkoXCJnb29nbGVhcGlzLmNvbmZpZy9zZXNzaW9uRGVsZWdhdGVcIik7XCJzdHJpbmdcIj09PXR5cGVvZiBhJiZhLmxlbmd0aD4yMSYmKGE9bnVsbCk7YT09bnVsbCYmKGE9KGE9d2luZG93LmxvY2F0aW9uLmhyZWYubWF0Y2goS20pKT9hWzFdOm51bGwpO2lmKGE9PW51bGwpcmV0dXJuIG51bGw7YT1TdHJpbmcoYSk7YS5sZW5ndGg+MjEmJihhPW51bGwpO3JldHVybiBhfTtNbT1mdW5jdGlvbigpe3ZhciBhPV8uSWYub25sO2lmKCFhKXthPV8ud2YoKTtfLklmLm9ubD1hO3ZhciBiPV8ud2YoKTthLmU9ZnVuY3Rpb24oYyl7dmFyIGQ9YltjXTtkJiYoZGVsZXRlIGJbY10sZCgpKX07YS5hPWZ1bmN0aW9uKGMsZCl7YltjXT1kfTthLnI9ZnVuY3Rpb24oYyl7ZGVsZXRlIGJbY119fXJldHVybiBhfTtObT1mdW5jdGlvbihhLGIpe2I9Yi5vbmxvYWQ7cmV0dXJuIHR5cGVvZiBiPT09XCJmdW5jdGlvblwiPyhNbSgpLmEoYSxiKSxiKTpudWxsfTtcbk9tPWZ1bmN0aW9uKGEpe18uc20oL15cXHcrJC8udGVzdChhKSxcIlVuc3VwcG9ydGVkIGlkIC0gXCIrYSk7cmV0dXJuJ29ubG9hZD1cIndpbmRvdy5fX19qc2wub25sLmUoJiMzNDsnK2ErJyYjMzQ7KVwiJ307UG09ZnVuY3Rpb24oYSl7TW0oKS5yKGEpfTt2YXIgUm0sU20sV207Xy5RbT17YWxsb3d0cmFuc3BhcmVuY3k6XCJ0cnVlXCIsZnJhbWVib3JkZXI6XCIwXCIsaHNwYWNlOlwiMFwiLG1hcmdpbmhlaWdodDpcIjBcIixtYXJnaW53aWR0aDpcIjBcIixzY3JvbGxpbmc6XCJub1wiLHN0eWxlOlwiXCIsdGFiaW5kZXg6XCIwXCIsdnNwYWNlOlwiMFwiLHdpZHRoOlwiMTAwJVwifTtSbT17YWxsb3d0cmFuc3BhcmVuY3k6ITAsb25sb2FkOiEwfTtTbT0wO18uVG09ZnVuY3Rpb24oYSxiKXt2YXIgYz0wO2RvIHZhciBkPWIuaWR8fFtcIklcIixTbSsrLFwiX1wiLChuZXcgRGF0ZSkuZ2V0VGltZSgpXS5qb2luKFwiXCIpO3doaWxlKGEuZ2V0RWxlbWVudEJ5SWQoZCkmJisrYzw1KTtfLnNtKGM8NSxcIkVycm9yIGNyZWF0aW5nIGlmcmFtZSBpZFwiKTtyZXR1cm4gZH07Xy5VbT1mdW5jdGlvbihhLGIpe3JldHVybiBhP2IrXCIvXCIrYTpcIlwifTtcbl8uVm09ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9e30sZj17fTthLmRvY3VtZW50TW9kZSYmYS5kb2N1bWVudE1vZGU8OSYmKGUuaG9zdGllbW9kZT1hLmRvY3VtZW50TW9kZSk7Xy5BZihkLnF1ZXJ5UGFyYW1zfHx7fSxlKTtfLkFmKGQuZnJhZ21lbnRQYXJhbXN8fHt9LGYpO3ZhciBoPWQucGZuYW1lO3ZhciBrPV8ud2YoKTtfLlppKFwiaWZyYW1lcy9kcm9wTGVnYWN5SWRQYXJhbVwiKXx8KGsuaWQ9Yyk7ay5fZ2ZpZD1jO2sucGFyZW50PWEubG9jYXRpb24ucHJvdG9jb2wrXCIvL1wiK2EubG9jYXRpb24uaG9zdDtjPV8uQ2YoYS5sb2NhdGlvbi5ocmVmLFwicGFyZW50XCIpO2g9aHx8XCJcIjshaCYmYyYmKGg9Xy5DZihhLmxvY2F0aW9uLmhyZWYsXCJfZ2ZpZFwiLFwiXCIpfHxfLkNmKGEubG9jYXRpb24uaHJlZixcImlkXCIsXCJcIiksaD1fLlVtKGgsXy5DZihhLmxvY2F0aW9uLmhyZWYsXCJwZm5hbWVcIixcIlwiKSkpO2h8fChjPV8uVWcoXy5DZihhLmxvY2F0aW9uLmhyZWYsXCJqY3BcIixcIlwiKSkpJiZ0eXBlb2YgYz09XG5cIm9iamVjdFwiJiYoaD1fLlVtKGMuaWQsYy5wZm5hbWUpKTtrLnBmbmFtZT1oO2QuY29ubmVjdFdpdGhKc29uUGFyYW0mJihoPXt9LGguamNwPV8uVmcoayksaz1oKTtoPV8uQ2YoYixcInJwY3Rva2VuXCIpfHxlLnJwY3Rva2VufHxmLnJwY3Rva2VuO2h8fChoPWQucnBjdG9rZW58fFN0cmluZyhNYXRoLnJvdW5kKF8uQWooKSoxRTgpKSxrLnJwY3Rva2VuPWgpO2QucnBjdG9rZW49aDtfLkFmKGssZC5jb25uZWN0V2l0aFF1ZXJ5UGFyYW1zP2U6Zik7az1hLmxvY2F0aW9uLmhyZWY7YT1fLndmKCk7KGg9Xy5DZihrLFwiX2JzaFwiLF8uSWYuYnNoKSkmJihhLl9ic2g9aCk7KGs9Xy5JZi5kcG8/Xy5JZi5oOl8uQ2YoayxcImpzaFwiLF8uSWYuaCkpJiYoYS5qc2g9ayk7ZC5oaW50SW5GcmFnbWVudD9fLkFmKGEsZik6Xy5BZihhLGUpO3JldHVybiBfLkZtKGIsZSxmLGQucGFyYW1zU2VyaWFsaXplcil9O1xuV209ZnVuY3Rpb24oYSl7Xy5zbSghYXx8Xy5IbS50ZXN0KGEpLFwiSWxsZWdhbCB1cmwgZm9yIG5ldyBpZnJhbWUgLSBcIithKX07XG5fLlhtPWZ1bmN0aW9uKGEsYixjLGQsZSl7V20oYy5zcmMpO3ZhciBmLGg9Tm0oZCxjKSxrPWg/T20oZCk6XCJcIjt0cnl7ZG9jdW1lbnQuYWxsJiYoZj1hLmNyZWF0ZUVsZW1lbnQoJzxpZnJhbWUgZnJhbWVib3JkZXI9XCInK3ltKFN0cmluZyhjLmZyYW1lYm9yZGVyKSkrJ1wiIHNjcm9sbGluZz1cIicreW0oU3RyaW5nKGMuc2Nyb2xsaW5nKSkrJ1wiICcraysnIG5hbWU9XCInK3ltKFN0cmluZyhjLm5hbWUpKSsnXCIvPicpKX1jYXRjaChtKXt9ZmluYWxseXtmfHwoZj1fLlBlKGEpLndhKFwiSUZSQU1FXCIpLGgmJihmLm9ubG9hZD1mdW5jdGlvbigpe2Yub25sb2FkPW51bGw7aC5jYWxsKHRoaXMpfSxQbShkKSkpfWYuc2V0QXR0cmlidXRlKFwibmctbm9uLWJpbmRhYmxlXCIsXCJcIik7Zm9yKHZhciBsIGluIGMpYT1jW2xdLGw9PT1cInN0eWxlXCImJnR5cGVvZiBhPT09XCJvYmplY3RcIj9fLkFmKGEsZi5zdHlsZSk6Um1bbF18fGYuc2V0QXR0cmlidXRlKGwsU3RyaW5nKGEpKTsobD1lJiZlLmJlZm9yZU5vZGV8fFxubnVsbCl8fGUmJmUuZG9udGNsZWFyfHxKbShiKTtiLmluc2VydEJlZm9yZShmLGwpO2Y9bD9sLnByZXZpb3VzU2libGluZzpiLmxhc3RDaGlsZDtjLmFsbG93dHJhbnNwYXJlbmN5JiYoZi5hbGxvd1RyYW5zcGFyZW5jeT0hMCk7cmV0dXJuIGZ9O3ZhciBZbSxhbjtZbT0vXjpbXFx3XSskLztfLlptPS86KFthLXpBLVpfXSspOi9nO18uJG09ZnVuY3Rpb24oKXt2YXIgYT1fLmJqKCl8fFwiMFwiLGI9TG0oKTt2YXIgYz1fLmJqKCl8fGE7dmFyIGQ9TG0oKSxlPVwiXCI7YyYmKGUrPVwidS9cIitlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGMpKStcIi9cIik7ZCYmKGUrPVwiYi9cIitlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGQpKStcIi9cIik7Yz1lfHxudWxsOyhlPShkPV8uWmkoXCJpc0xvZ2dlZEluXCIpPT09ITEpP1wiXy9pbS9cIjpcIlwiKSYmKGM9XCJcIik7dmFyIGY9Xy5aaShcImlmcmFtZXMvOnNvY2lhbGhvc3Q6XCIpLGg9Xy5aaShcImlmcmFtZXMvOmltX3NvY2lhbGhvc3Q6XCIpO3JldHVybiBJbT17c29jaWFsaG9zdDpmLGN0eF9zb2NpYWxob3N0OmQ/aDpmLHNlc3Npb25faW5kZXg6YSxzZXNzaW9uX2RlbGVnYXRlOmIsc2Vzc2lvbl9wcmVmaXg6YyxpbV9wcmVmaXg6ZX19O2FuPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uJG0oKVtiXXx8XCJcIn07XG5fLmJuPWZ1bmN0aW9uKGEpe3JldHVybiBfLkdtKF8uc2YsYS5yZXBsYWNlKF8uWm0sYW4pKX07Xy5jbj1mdW5jdGlvbihhKXt2YXIgYj1hO1ltLnRlc3QoYSkmJihiPVwiaWZyYW1lcy9cIitiLnN1YnN0cmluZygxKStcIi91cmxcIixiPV8uWmkoYiksXy5zbSghIWIsXCJVbmtub3duIGlmcmFtZSB1cmwgY29uZmlnIGZvciAtIFwiK2EpKTtyZXR1cm4gXy5ibihiKX07XG5fLmRuPWZ1bmN0aW9uKGEsYixjKXtjPWN8fHt9O3ZhciBkPWMuYXR0cmlidXRlc3x8e307Xy5zbSghKGMuYWxsb3dQb3N0fHxjLmZvcmNlUG9zdCl8fCFkLm9ubG9hZCxcIm9ubG9hZCBpcyBub3Qgc3VwcG9ydGVkIGJ5IHBvc3QgaWZyYW1lIChhbGxvd1Bvc3Qgb3IgZm9yY2VQb3N0KVwiKTthPV8uY24oYSk7ZD1iLm93bmVyRG9jdW1lbnR8fF8uc2Y7dmFyIGU9Xy5UbShkLGMpO2E9Xy5WbShkLGEsZSxjKTt2YXIgZj1jLGg9Xy53ZigpO18uQWYoXy5RbSxoKTtfLkFmKGYuYXR0cmlidXRlcyxoKTtoLm5hbWU9aC5pZD1lO2guc3JjPWE7Yy5ldXJsPWE7Yz0oZj1jKXx8e307dmFyIGs9ISFjLmFsbG93UG9zdDtpZihjLmZvcmNlUG9zdHx8ayYmYS5sZW5ndGg+MkUzKXtjPUNtKGEpO2guc3JjPVwiXCI7Zi5kcm9wRGF0YVBvc3RvcmlnaW58fChoW1wiZGF0YS1wb3N0b3JpZ2luXCJdPWEpO2E9Xy5YbShkLGIsaCxlKTtpZihuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoXCJXZWJLaXRcIikhPS0xKXt2YXIgbD1cbmEuY29udGVudFdpbmRvdy5kb2N1bWVudDtsLm9wZW4oKTtoPWwuY3JlYXRlRWxlbWVudChcImRpdlwiKTtrPXt9O3ZhciBtPWUrXCJfaW5uZXJcIjtrLm5hbWU9bTtrLnNyYz1cIlwiO2suc3R5bGU9XCJkaXNwbGF5Om5vbmVcIjtfLlhtKGQsaCxrLG0sZil9aD0oZj1jLnF1ZXJ5WzBdKT9mLnNwbGl0KFwiJlwiKTpbXTtmPVtdO2ZvcihrPTA7azxoLmxlbmd0aDtrKyspbT1oW2tdLnNwbGl0KFwiPVwiLDIpLGYucHVzaChbZGVjb2RlVVJJQ29tcG9uZW50KG1bMF0pLGRlY29kZVVSSUNvbXBvbmVudChtWzFdKV0pO2MucXVlcnk9W107aD1EbShjKTtfLnNtKF8uSG0udGVzdChoKSxcIkludmFsaWQgVVJMOiBcIitoKTtjPWQuY3JlYXRlRWxlbWVudChcImZvcm1cIik7Yy5tZXRob2Q9XCJQT1NUXCI7Yy50YXJnZXQ9ZTtjLnN0eWxlLmRpc3BsYXk9XCJub25lXCI7ZT1fLlRiKGgpO2UhPT12b2lkIDAmJihjLmFjdGlvbj1lKTtmb3IoZT0wO2U8Zi5sZW5ndGg7ZSsrKWg9ZC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIiksaC50eXBlPVxuXCJoaWRkZW5cIixoLm5hbWU9ZltlXVswXSxoLnZhbHVlPWZbZV1bMV0sYy5hcHBlbmRDaGlsZChoKTtiLmFwcGVuZENoaWxkKGMpO2Muc3VibWl0KCk7Yy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGMpO2wmJmwuY2xvc2UoKTtiPWF9ZWxzZSBiPV8uWG0oZCxiLGgsZSxmKTtyZXR1cm4gYn07XG52YXIgWWc9ZnVuY3Rpb24oKXt0aGlzLlRnPXdpbmRvdy5jb25zb2xlfTtZZy5wcm90b3R5cGUubG9nPWZ1bmN0aW9uKGEpe3RoaXMuVGcmJnRoaXMuVGcubG9nJiZ0aGlzLlRnLmxvZyhhKX07WWcucHJvdG90eXBlLmVycm9yPWZ1bmN0aW9uKGEpe3RoaXMuVGcmJih0aGlzLlRnLmVycm9yP3RoaXMuVGcuZXJyb3IoYSk6dGhpcy5UZy5sb2cmJnRoaXMuVGcubG9nKGEpKX07WWcucHJvdG90eXBlLndhcm49ZnVuY3Rpb24oYSl7dGhpcy5UZyYmKHRoaXMuVGcud2Fybj90aGlzLlRnLndhcm4oYSk6dGhpcy5UZy5sb2cmJnRoaXMuVGcubG9nKGEpKX07WWcucHJvdG90eXBlLmRlYnVnPWZ1bmN0aW9uKCl7fTtfLlpnPW5ldyBZZztcbl8uTmg9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuXCJcIjtpZigvXmFib3V0Oig/OmJsYW5rfHNyY2RvYykkLy50ZXN0KGEpKXJldHVybiB3aW5kb3cub3JpZ2lufHxcIlwiO2EuaW5kZXhPZihcImJsb2I6XCIpPT09MCYmKGE9YS5zdWJzdHJpbmcoNSkpO2E9YS5zcGxpdChcIiNcIilbMF0uc3BsaXQoXCI/XCIpWzBdO2E9YS50b0xvd2VyQ2FzZSgpO2EuaW5kZXhPZihcIi8vXCIpPT0wJiYoYT13aW5kb3cubG9jYXRpb24ucHJvdG9jb2wrYSk7L15bXFx3XFwtXSo6XFwvXFwvLy50ZXN0KGEpfHwoYT13aW5kb3cubG9jYXRpb24uaHJlZik7dmFyIGI9YS5zdWJzdHJpbmcoYS5pbmRleE9mKFwiOi8vXCIpKzMpLGM9Yi5pbmRleE9mKFwiL1wiKTtjIT0tMSYmKGI9Yi5zdWJzdHJpbmcoMCxjKSk7Yz1hLnN1YnN0cmluZygwLGEuaW5kZXhPZihcIjovL1wiKSk7aWYoIWMpdGhyb3cgRXJyb3IoXCJBYFwiK2EpO2lmKGMhPT1cImh0dHBcIiYmYyE9PVwiaHR0cHNcIiYmYyE9PVwiY2hyb21lLWV4dGVuc2lvblwiJiZjIT09XCJtb3otZXh0ZW5zaW9uXCImJlxuYyE9PVwiZmlsZVwiJiZjIT09XCJhbmRyb2lkLWFwcFwiJiZjIT09XCJjaHJvbWUtc2VhcmNoXCImJmMhPT1cImNocm9tZS11bnRydXN0ZWRcIiYmYyE9PVwiY2hyb21lXCImJmMhPT1cImFwcFwiJiZjIT09XCJkZXZ0b29sc1wiKXRocm93IEVycm9yKFwiQmBcIitjKTthPVwiXCI7dmFyIGQ9Yi5pbmRleE9mKFwiOlwiKTtpZihkIT0tMSl7dmFyIGU9Yi5zdWJzdHJpbmcoZCsxKTtiPWIuc3Vic3RyaW5nKDAsZCk7aWYoYz09PVwiaHR0cFwiJiZlIT09XCI4MFwifHxjPT09XCJodHRwc1wiJiZlIT09XCI0NDNcIilhPVwiOlwiK2V9cmV0dXJuIGMrXCI6Ly9cIitiK2F9O1xuXy52aT1mdW5jdGlvbihhKXtfLlNhLnNldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyBhO30sMCl9O1xuXy53aT1fLmpjKCk7Xy54aT1fLnJjKCl8fF8uYmMoXCJpUG9kXCIpO18uemk9Xy5iYyhcImlQYWRcIik7Xy5BaT1fLm1jKCk7Xy5CaT1fLmtjKCk7Xy5DaT1fLmxjKCkmJiFfLnNjKCk7XG5fLlJqPVtdO18uU2o9W107Xy5Uaj0hMTtfLlVqPWZ1bmN0aW9uKGEpe18uUmpbXy5Sai5sZW5ndGhdPWE7aWYoXy5Uailmb3IodmFyIGI9MDtiPF8uU2oubGVuZ3RoO2IrKylhKCgwLF8ueikoXy5TaltiXS53cmFwLF8uU2pbYl0pKX07XG5fLkVrPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPTE7Yzxhcmd1bWVudHMubGVuZ3RoO2MrKyl7dmFyIGQ9YXJndW1lbnRzW2NdO2lmKF8uR2MoZCkpe3ZhciBlPWEubGVuZ3RofHwwLGY9ZC5sZW5ndGh8fDA7YS5sZW5ndGg9ZStmO2Zvcih2YXIgaD0wO2g8ZjtoKyspYVtlK2hdPWRbaF19ZWxzZSBhLnB1c2goZCl9fTtfLkZrPWZ1bmN0aW9uKGEsYixjLGQpe2Zvcih2YXIgZT0wLGY9YS5sZW5ndGgsaDtlPGY7KXt2YXIgaz1lKyhmLWU+Pj4xKTt2YXIgbD1jP2IuY2FsbCh2b2lkIDAsYVtrXSxrLGEpOmIoZCxhW2tdKTtsPjA/ZT1rKzE6KGY9ayxoPSFsKX1yZXR1cm4gaD9lOi1lLTF9O18uR2s9ZnVuY3Rpb24oYSxiKXt2YXIgYz17fSxkO2ZvcihkIGluIGEpYi5jYWxsKHZvaWQgMCxhW2RdLGQsYSkmJihjW2RdPWFbZF0pO3JldHVybiBjfTtfLkhrPWZ1bmN0aW9uKGEsYixjLGQpe2I9Xy5UYihiKTtyZXR1cm4gYiE9PXZvaWQgMD9hLm9wZW4oYixjLGQpOm51bGx9O1xudmFyIElrPWZ1bmN0aW9uKGEpe3RoaXMuVD1hfTtfLmc9SWsucHJvdG90eXBlO18uZy52YWx1ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLlR9O18uZy5XZT1mdW5jdGlvbihhKXt0aGlzLlQud2lkdGg9YTtyZXR1cm4gdGhpc307Xy5nLlhiPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVC53aWR0aH07Xy5nLmVlPWZ1bmN0aW9uKGEpe3RoaXMuVC5oZWlnaHQ9YTtyZXR1cm4gdGhpc307Xy5nLlFjPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVC5oZWlnaHR9O18uZy5BaD1mdW5jdGlvbihhKXt0aGlzLlQuc3R5bGU9YTtyZXR1cm4gdGhpc307Xy5nLmdldFN0eWxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVC5zdHlsZX07Xy5Kaz1mdW5jdGlvbihhKXt0aGlzLlQ9YXx8e319O18uZz1fLkprLnByb3RvdHlwZTtfLmcudmFsdWU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5UfTtfLmcuc2V0VXJsPWZ1bmN0aW9uKGEpe3RoaXMuVC51cmw9YTtyZXR1cm4gdGhpc307Xy5nLmdldFVybD1mdW5jdGlvbigpe3JldHVybiB0aGlzLlQudXJsfTtfLmcuQWg9ZnVuY3Rpb24oYSl7dGhpcy5ULnN0eWxlPWE7cmV0dXJuIHRoaXN9O18uZy5nZXRTdHlsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLlQuc3R5bGV9O18uZy5WZT1mdW5jdGlvbihhKXt0aGlzLlQuaWQ9YTtyZXR1cm4gdGhpc307Xy5nLmdldElkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVC5pZH07Xy5nLnduPWZ1bmN0aW9uKGEpe3RoaXMuVC5ycGN0b2tlbj1hO3JldHVybiB0aGlzfTtfLktrPWZ1bmN0aW9uKGEsYil7YS5ULm1lc3NhZ2VIYW5kbGVycz1iO3JldHVybiBhfTtfLkxrPWZ1bmN0aW9uKGEsYil7YS5ULm1lc3NhZ2VIYW5kbGVyc0ZpbHRlcj1iO3JldHVybiBhfTtcbl8uZz1fLkprLnByb3RvdHlwZTtfLmcuc3M9Xy5nYig0KTtfLmcuZ2V0Q29udGV4dD1mdW5jdGlvbigpe3JldHVybiB0aGlzLlQuY29udGV4dH07Xy5nLnhkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVC5vcGVuZXJJZnJhbWV9O18uZy53bz1mdW5jdGlvbigpe3RoaXMuVC5hdHRyaWJ1dGVzPXRoaXMuVC5hdHRyaWJ1dGVzfHx7fTtyZXR1cm4gbmV3IElrKHRoaXMuVC5hdHRyaWJ1dGVzKX07Xy5nLm1qPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVC5jb250cm9sbGVyfTtcbnZhciBTaztfLk1rPWZ1bmN0aW9uKGEsYil7Yj1ifHxhO2Zvcih2YXIgYz0wLGQ9MCxlPXt9O2Q8YS5sZW5ndGg7KXt2YXIgZj1hW2QrK10saD1fLnljKGYpP1wib1wiK18uSWMoZik6KHR5cGVvZiBmKS5jaGFyQXQoMCkrZjtPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxoKXx8KGVbaF09ITAsYltjKytdPWYpfWIubGVuZ3RoPWN9O18uTms9ZnVuY3Rpb24oYSl7dmFyIGI9e30sYztmb3IoYyBpbiBhKWJbY109YVtjXTtyZXR1cm4gYn07Xy5Paz1mdW5jdGlvbigpe307Xy5Qaz1mdW5jdGlvbihhKXtyZXR1cm4gYX07Xy5Raz1mdW5jdGlvbihhKXthLnByb3RvdHlwZS4kZ29vZ19UaGVuYWJsZT0hMH07Xy5Saz1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4hMTt0cnl7cmV0dXJuISFhLiRnb29nX1RoZW5hYmxlfWNhdGNoKGIpe3JldHVybiExfX07U2s9ZnVuY3Rpb24oYSxiKXt0aGlzLlY2PWE7dGhpcy5PZGE9Yjt0aGlzLm1CPTA7dGhpcy5qQT1udWxsfTtcblNrLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oKXtpZih0aGlzLm1CPjApe3RoaXMubUItLTt2YXIgYT10aGlzLmpBO3RoaXMuakE9YS5uZXh0O2EubmV4dD1udWxsfWVsc2UgYT10aGlzLlY2KCk7cmV0dXJuIGF9O1NrLnByb3RvdHlwZS5wdXQ9ZnVuY3Rpb24oYSl7dGhpcy5PZGEoYSk7dGhpcy5tQjwxMDAmJih0aGlzLm1CKyssYS5uZXh0PXRoaXMuakEsdGhpcy5qQT1hKX07dmFyIFVrLFZrLFRrO18uV2s9ZnVuY3Rpb24oYSl7YT1UayhhKTt0eXBlb2YgXy5TYS5zZXRJbW1lZGlhdGUhPT1cImZ1bmN0aW9uXCJ8fF8uU2EuV2luZG93JiZfLlNhLldpbmRvdy5wcm90b3R5cGUmJl8uU2EuV2luZG93LnByb3RvdHlwZS5zZXRJbW1lZGlhdGU9PV8uU2Euc2V0SW1tZWRpYXRlPyhVa3x8KFVrPVZrKCkpLFVrKGEpKTpfLlNhLnNldEltbWVkaWF0ZShhKX07XG5Waz1mdW5jdGlvbigpe3ZhciBhPV8uU2EuTWVzc2FnZUNoYW5uZWw7dHlwZW9mIGE9PT1cInVuZGVmaW5lZFwiJiZ0eXBlb2Ygd2luZG93IT09XCJ1bmRlZmluZWRcIiYmd2luZG93LnBvc3RNZXNzYWdlJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciYmIV8uYmMoXCJQcmVzdG9cIikmJihhPWZ1bmN0aW9uKCl7dmFyIGU9Xy5iZihcIklGUkFNRVwiKTtlLnN0eWxlLmRpc3BsYXk9XCJub25lXCI7ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFwcGVuZENoaWxkKGUpO3ZhciBmPWUuY29udGVudFdpbmRvdztlPWYuZG9jdW1lbnQ7ZS5vcGVuKCk7ZS5jbG9zZSgpO3ZhciBoPVwiY2FsbEltbWVkaWF0ZVwiK01hdGgucmFuZG9tKCksaz1mLmxvY2F0aW9uLnByb3RvY29sPT1cImZpbGU6XCI/XCIqXCI6Zi5sb2NhdGlvbi5wcm90b2NvbCtcIi8vXCIrZi5sb2NhdGlvbi5ob3N0O2U9KDAsXy56KShmdW5jdGlvbihsKXtpZigoaz09XCIqXCJ8fGwub3JpZ2luPT1rKSYmbC5kYXRhPT1oKXRoaXMucG9ydDEub25tZXNzYWdlKCl9LFxudGhpcyk7Zi5hZGRFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLGUsITEpO3RoaXMucG9ydDE9e307dGhpcy5wb3J0Mj17cG9zdE1lc3NhZ2U6ZnVuY3Rpb24oKXtmLnBvc3RNZXNzYWdlKGgsayl9fX0pO2lmKHR5cGVvZiBhIT09XCJ1bmRlZmluZWRcIil7dmFyIGI9bmV3IGEsYz17fSxkPWM7Yi5wb3J0MS5vbm1lc3NhZ2U9ZnVuY3Rpb24oKXtpZihjLm5leHQhPT12b2lkIDApe2M9Yy5uZXh0O3ZhciBlPWMuY2I7Yy5jYj1udWxsO2UoKX19O3JldHVybiBmdW5jdGlvbihlKXtkLm5leHQ9e2NiOmV9O2Q9ZC5uZXh0O2IucG9ydDIucG9zdE1lc3NhZ2UoMCl9fXJldHVybiBmdW5jdGlvbihlKXtfLlNhLnNldFRpbWVvdXQoZSwwKX19O1RrPV8uUGs7Xy5VaihmdW5jdGlvbihhKXtUaz1hfSk7dmFyIFhrPWZ1bmN0aW9uKCl7dGhpcy5FRD10aGlzLlVzPW51bGx9O1hrLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1Zay5nZXQoKTtjLnNldChhLGIpO3RoaXMuRUQ/dGhpcy5FRC5uZXh0PWM6dGhpcy5Vcz1jO3RoaXMuRUQ9Y307WGsucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbigpe3ZhciBhPW51bGw7dGhpcy5VcyYmKGE9dGhpcy5Vcyx0aGlzLlVzPXRoaXMuVXMubmV4dCx0aGlzLlVzfHwodGhpcy5FRD1udWxsKSxhLm5leHQ9bnVsbCk7cmV0dXJuIGF9O3ZhciBZaz1uZXcgU2soZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFprfSxmdW5jdGlvbihhKXtyZXR1cm4gYS5yZXNldCgpfSksWms9ZnVuY3Rpb24oKXt0aGlzLm5leHQ9dGhpcy5zY29wZT10aGlzLlpoPW51bGx9O1prLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLlpoPWE7dGhpcy5zY29wZT1iO3RoaXMubmV4dD1udWxsfTtcblprLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMubmV4dD10aGlzLnNjb3BlPXRoaXMuWmg9bnVsbH07dmFyICRrLGFsLGJsLGNsLGVsO2FsPSExO2JsPW5ldyBYaztfLmRsPWZ1bmN0aW9uKGEsYil7JGt8fGNsKCk7YWx8fCgkaygpLGFsPSEwKTtibC5hZGQoYSxiKX07Y2w9ZnVuY3Rpb24oKXtpZihfLlNhLlByb21pc2UmJl8uU2EuUHJvbWlzZS5yZXNvbHZlKXt2YXIgYT1fLlNhLlByb21pc2UucmVzb2x2ZSh2b2lkIDApOyRrPWZ1bmN0aW9uKCl7YS50aGVuKGVsKX19ZWxzZSAkaz1mdW5jdGlvbigpe18uV2soZWwpfX07ZWw9ZnVuY3Rpb24oKXtmb3IodmFyIGE7YT1ibC5yZW1vdmUoKTspe3RyeXthLlpoLmNhbGwoYS5zY29wZSl9Y2F0Y2goYil7Xy52aShiKX1Zay5wdXQoYSl9YWw9ITF9O3ZhciBobCxpbCxqbCx4bCxCbCx6bCxDbDtfLmdsPWZ1bmN0aW9uKGEsYil7dGhpcy5HYT0wO3RoaXMuQ2Y9dm9pZCAwO3RoaXMuc3E9dGhpcy5RbD10aGlzLndiPW51bGw7dGhpcy5aej10aGlzLkpGPSExO2lmKGEhPV8uT2spdHJ5e3ZhciBjPXRoaXM7YS5jYWxsKGIsZnVuY3Rpb24oZCl7ZmwoYywyLGQpfSxmdW5jdGlvbihkKXtmbChjLDMsZCl9KX1jYXRjaChkKXtmbCh0aGlzLDMsZCl9fTtobD1mdW5jdGlvbigpe3RoaXMubmV4dD10aGlzLmNvbnRleHQ9dGhpcy5Qcj10aGlzLkV2PXRoaXMuTm49bnVsbDt0aGlzLm50PSExfTtobC5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLmNvbnRleHQ9dGhpcy5Qcj10aGlzLkV2PXRoaXMuTm49bnVsbDt0aGlzLm50PSExfTtpbD1uZXcgU2soZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGhsfSxmdW5jdGlvbihhKXthLnJlc2V0KCl9KTtcbmpsPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1pbC5nZXQoKTtkLkV2PWE7ZC5Qcj1iO2QuY29udGV4dD1jO3JldHVybiBkfTtfLmtsPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLmdsKXJldHVybiBhO3ZhciBiPW5ldyBfLmdsKF8uT2spO2ZsKGIsMixhKTtyZXR1cm4gYn07Xy5sbD1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uZ2woZnVuY3Rpb24oYixjKXtjKGEpfSl9O18ubmw9ZnVuY3Rpb24oYSxiLGMpe21sKGEsYixjLG51bGwpfHxfLmRsKF8uJGEoYixhKSl9O18ub2w9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLmdsKGZ1bmN0aW9uKGIsYyl7dmFyIGQ9YS5sZW5ndGgsZT1bXTtpZihkKWZvcih2YXIgZj1mdW5jdGlvbihtLG4pe2QtLTtlW21dPW47ZD09MCYmYihlKX0saD1mdW5jdGlvbihtKXtjKG0pfSxrPTAsbDtrPGEubGVuZ3RoO2srKylsPWFba10sXy5ubChsLF8uJGEoZixrKSxoKTtlbHNlIGIoZSl9KX07XG5fLnFsPWZ1bmN0aW9uKCl7dmFyIGEsYixjPW5ldyBfLmdsKGZ1bmN0aW9uKGQsZSl7YT1kO2I9ZX0pO3JldHVybiBuZXcgcGwoYyxhLGIpfTtfLmdsLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gcmwodGhpcyx0eXBlb2YgYT09PVwiZnVuY3Rpb25cIj9hOm51bGwsdHlwZW9mIGI9PT1cImZ1bmN0aW9uXCI/YjpudWxsLGMpfTtfLlFrKF8uZ2wpO18udGw9ZnVuY3Rpb24oYSxiKXtiPWpsKGIsYik7Yi5udD0hMDtzbChhLGIpO3JldHVybiBhfTtfLmdsLnByb3RvdHlwZS5Pdz1mdW5jdGlvbihhLGIpe3JldHVybiBybCh0aGlzLG51bGwsYSxiKX07Xy5nbC5wcm90b3R5cGUuY2F0Y2g9Xy5nbC5wcm90b3R5cGUuT3c7Xy5nbC5wcm90b3R5cGUuY2FuY2VsPWZ1bmN0aW9uKGEpe2lmKHRoaXMuR2E9PTApe3ZhciBiPW5ldyBfLnVsKGEpO18uZGwoZnVuY3Rpb24oKXt2bCh0aGlzLGIpfSx0aGlzKX19O1xudmFyIHZsPWZ1bmN0aW9uKGEsYil7aWYoYS5HYT09MClpZihhLndiKXt2YXIgYz1hLndiO2lmKGMuUWwpe2Zvcih2YXIgZD0wLGU9bnVsbCxmPW51bGwsaD1jLlFsO2gmJihoLm50fHwoZCsrLGguTm49PWEmJihlPWgpLCEoZSYmZD4xKSkpO2g9aC5uZXh0KWV8fChmPWgpO2UmJihjLkdhPT0wJiZkPT0xP3ZsKGMsYik6KGY/KGQ9ZixkLm5leHQ9PWMuc3EmJihjLnNxPWQpLGQubmV4dD1kLm5leHQubmV4dCk6d2woYykseGwoYyxlLDMsYikpKX1hLndiPW51bGx9ZWxzZSBmbChhLDMsYil9LHNsPWZ1bmN0aW9uKGEsYil7YS5RbHx8YS5HYSE9MiYmYS5HYSE9M3x8eWwoYSk7YS5zcT9hLnNxLm5leHQ9YjphLlFsPWI7YS5zcT1ifSxybD1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1qbChudWxsLG51bGwsbnVsbCk7ZS5Obj1uZXcgXy5nbChmdW5jdGlvbihmLGgpe2UuRXY9Yj9mdW5jdGlvbihrKXt0cnl7dmFyIGw9Yi5jYWxsKGQsayk7ZihsKX1jYXRjaChtKXtoKG0pfX06ZjtlLlByPWM/XG5mdW5jdGlvbihrKXt0cnl7dmFyIGw9Yy5jYWxsKGQsayk7bD09PXZvaWQgMCYmayBpbnN0YW5jZW9mIF8udWw/aChrKTpmKGwpfWNhdGNoKG0pe2gobSl9fTpofSk7ZS5Obi53Yj1hO3NsKGEsZSk7cmV0dXJuIGUuTm59O18uZ2wucHJvdG90eXBlLm9nYT1mdW5jdGlvbihhKXt0aGlzLkdhPTA7ZmwodGhpcywyLGEpfTtfLmdsLnByb3RvdHlwZS5wZ2E9ZnVuY3Rpb24oYSl7dGhpcy5HYT0wO2ZsKHRoaXMsMyxhKX07XG52YXIgZmw9ZnVuY3Rpb24oYSxiLGMpe2EuR2E9PTAmJihhPT09YyYmKGI9MyxjPW5ldyBUeXBlRXJyb3IoXCJQcm9taXNlIGNhbm5vdCByZXNvbHZlIHRvIGl0c2VsZlwiKSksYS5HYT0xLG1sKGMsYS5vZ2EsYS5wZ2EsYSl8fChhLkNmPWMsYS5HYT1iLGEud2I9bnVsbCx5bChhKSxiIT0zfHxjIGluc3RhbmNlb2YgXy51bHx8emwoYSxjKSkpfSxtbD1mdW5jdGlvbihhLGIsYyxkKXtpZihhIGluc3RhbmNlb2YgXy5nbClyZXR1cm4gc2woYSxqbChifHxfLk9rLGN8fG51bGwsZCkpLCEwO2lmKF8uUmsoYSkpcmV0dXJuIGEudGhlbihiLGMsZCksITA7aWYoXy55YyhhKSl0cnl7dmFyIGU9YS50aGVuO2lmKHR5cGVvZiBlPT09XCJmdW5jdGlvblwiKXJldHVybiBBbChhLGUsYixjLGQpLCEwfWNhdGNoKGYpe3JldHVybiBjLmNhbGwoZCxmKSwhMH1yZXR1cm4hMX0sQWw9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj0hMSxoPWZ1bmN0aW9uKGwpe2Z8fChmPSEwLGMuY2FsbChlLGwpKX0saz1mdW5jdGlvbihsKXtmfHxcbihmPSEwLGQuY2FsbChlLGwpKX07dHJ5e2IuY2FsbChhLGgsayl9Y2F0Y2gobCl7ayhsKX19LHlsPWZ1bmN0aW9uKGEpe2EuSkZ8fChhLkpGPSEwLF8uZGwoYS5ZeSxhKSl9LHdsPWZ1bmN0aW9uKGEpe3ZhciBiPW51bGw7YS5RbCYmKGI9YS5RbCxhLlFsPWIubmV4dCxiLm5leHQ9bnVsbCk7YS5RbHx8KGEuc3E9bnVsbCk7cmV0dXJuIGJ9O18uZ2wucHJvdG90eXBlLll5PWZ1bmN0aW9uKCl7Zm9yKHZhciBhO2E9d2wodGhpcyk7KXhsKHRoaXMsYSx0aGlzLkdhLHRoaXMuQ2YpO3RoaXMuSkY9ITF9O3hsPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGM9PTMmJmIuUHImJiFiLm50KWZvcig7YSYmYS5aejthPWEud2IpYS5aej0hMTtpZihiLk5uKWIuTm4ud2I9bnVsbCxCbChiLGMsZCk7ZWxzZSB0cnl7Yi5udD9iLkV2LmNhbGwoYi5jb250ZXh0KTpCbChiLGMsZCl9Y2F0Y2goZSl7Q2wuY2FsbChudWxsLGUpfWlsLnB1dChiKX07XG5CbD1mdW5jdGlvbihhLGIsYyl7Yj09Mj9hLkV2LmNhbGwoYS5jb250ZXh0LGMpOmEuUHImJmEuUHIuY2FsbChhLmNvbnRleHQsYyl9O3psPWZ1bmN0aW9uKGEsYil7YS5aej0hMDtfLmRsKGZ1bmN0aW9uKCl7YS5aeiYmQ2wuY2FsbChudWxsLGIpfSl9O0NsPV8udmk7Xy51bD1mdW5jdGlvbihhKXtfLnJiLmNhbGwodGhpcyxhKTt0aGlzLnRZPSExfTtfLmJiKF8udWwsXy5yYik7Xy51bC5wcm90b3R5cGUubmFtZT1cImNhbmNlbFwiO3ZhciBwbD1mdW5jdGlvbihhLGIsYyl7dGhpcy5wcm9taXNlPWE7dGhpcy5yZXNvbHZlPWI7dGhpcy5yZWplY3Q9Y307XG5fLkRsPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5nbChhKX07XG52YXIgUGw9ZnVuY3Rpb24oKXt0aGlzLlp3PXtwWTpJbD9cIi4uL1wiK0lsOm51bGwsTHk6Smwsb1Q6S2wsTnFhOkxsLEZvOk1sLEdyYTpObH07dGhpcy5qZz1fLnJmO3RoaXMuSVg9dGhpcy5hNzt0aGlzLlI3PS9NU0lFXFxzKlswLThdKFxcRHwkKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7aWYodGhpcy5ady5wWSl7dGhpcy5qZz10aGlzLlp3Lm9UKHRoaXMuamcsdGhpcy5ady5wWSk7dmFyIGE9dGhpcy5qZy5kb2N1bWVudCxiPWEuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiKTtiLnNldEF0dHJpYnV0ZShcInR5cGVcIixcInRleHQvamF2YXNjcmlwdFwiKTtiLnRleHQ9XCJ3aW5kb3cuZG9Qb3N0TXNnPWZ1bmN0aW9uKHcscyxvKSB7d2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXt3LnBvc3RNZXNzYWdlKHMsbyk7fSwwKTt9O1wiO2EuYm9keS5hcHBlbmRDaGlsZChiKTt0aGlzLklYPXRoaXMuamcuZG9Qb3N0TXNnfXRoaXMuek09e307dGhpcy5kTj17fTthPSgwLF8ueikodGhpcy5pSCxcbnRoaXMpO18uSGYodGhpcy5qZyxcIm1lc3NhZ2VcIixhKTtfLnZmKF8uSWYsXCJSUE1RXCIsW10pLnB1c2goYSk7dGhpcy5qZyE9dGhpcy5qZy5wYXJlbnQmJk9sKHRoaXMsdGhpcy5qZy5wYXJlbnQsdGhpcy54SSh0aGlzLmpnLm5hbWUpLFwiKlwiKX07UGwucHJvdG90eXBlLnhJPWZ1bmN0aW9uKGEpe3JldHVybid7XCJoXCI6XCInK2VzY2FwZShhKSsnXCJ9J307dmFyIFFsPWZ1bmN0aW9uKGEpe3ZhciBiPW51bGw7YS5pbmRleE9mKCd7XCJoXCI6XCInKT09PTAmJmEuaW5kZXhPZignXCJ9Jyk9PT1hLmxlbmd0aC0yJiYoYj11bmVzY2FwZShhLnN1YnN0cmluZyg2LGEubGVuZ3RoLTIpKSk7cmV0dXJuIGJ9LFJsPWZ1bmN0aW9uKGEpe2lmKCEvXlxccyp7Ly50ZXN0KGEpKXJldHVybiExO2E9Xy5VZyhhKTtyZXR1cm4gYSE9PW51bGwmJnR5cGVvZiBhPT09XCJvYmplY3RcIiYmISFhLmd9O1xuUGwucHJvdG90eXBlLmlIPWZ1bmN0aW9uKGEpe3ZhciBiPVN0cmluZyhhLmRhdGEpO18uWmcuZGVidWcoXCJnYXBpeC5ycGMucmVjZWl2ZShcIitMbCtcIik6IFwiKyghYnx8Yi5sZW5ndGg8PTUxMj9iOmIuc3Vic3RyKDAsNTEyKStcIi4uLiAoXCIrYi5sZW5ndGgrXCIgYnl0ZXMpXCIpKTt2YXIgYz1iLmluZGV4T2YoXCIhX1wiKSE9PTA7Y3x8KGI9Yi5zdWJzdHJpbmcoMikpO3ZhciBkPVJsKGIpO2lmKCFjJiYhZCl7aWYoIWQmJihjPVFsKGIpKSl7aWYodGhpcy56TVtjXSl0aGlzLnpNW2NdKCk7ZWxzZSB0aGlzLmROW2NdPTE7cmV0dXJufXZhciBlPWEub3JpZ2luLGY9dGhpcy5ady5MeTt0aGlzLlI3P18ucmYuc2V0VGltZW91dChmdW5jdGlvbigpe2YoYixlKX0sMCk6ZihiLGUpfX07UGwucHJvdG90eXBlLk5iPWZ1bmN0aW9uKGEsYil7YT09PVwiLi5cInx8dGhpcy5kTlthXT8oYigpLGRlbGV0ZSB0aGlzLmROW2FdKTp0aGlzLnpNW2FdPWJ9O1xudmFyIE9sPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPVJsKGMpP1wiXCI6XCIhX1wiO18uWmcuZGVidWcoXCJnYXBpeC5ycGMuc2VuZChcIitMbCtcIik6IFwiKyghY3x8Yy5sZW5ndGg8PTUxMj9jOmMuc3Vic3RyKDAsNTEyKStcIi4uLiAoXCIrYy5sZW5ndGgrXCIgYnl0ZXMpXCIpKTthLklYKGIsZStjLGQpfTtQbC5wcm90b3R5cGUuYTc9ZnVuY3Rpb24oYSxiLGMpe2EucG9zdE1lc3NhZ2UoYixjKX07UGwucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oYSxiLGMpeyhhPXRoaXMuWncub1QodGhpcy5qZyxhKSkmJiFhLmNsb3NlZCYmT2wodGhpcyxhLGIsYyl9O3ZhciBTbCxUbCxVbCxWbCxXbCxYbCxZbCxJbCxMbCxabCwkbCxhbSxLbCxNbCxjbSxkbSxpbSxqbSxsbSxObCxubSxtbSxlbSxmbSxvbSxKbCxwbSxxbTtTbD0wO1RsPVtdO1VsPXt9O1ZsPXt9O1dsPV8ucmYubG9jYXRpb24uaHJlZjtYbD1fLkNmKFdsLFwicnBjdG9rZW5cIik7WWw9Xy5DZihXbCxcInBhcmVudFwiKXx8Xy5zZi5yZWZlcnJlcjtJbD1fLkNmKFdsLFwicmx5XCIpO0xsPUlsfHwoXy5yZiE9PV8ucmYudG9wfHxfLnJmLm9wZW5lcikmJl8ucmYubmFtZXx8XCIuLlwiO1psPW51bGw7JGw9e307YW09ZnVuY3Rpb24oKXt9O18uYm09e3NlbmQ6YW0sTmI6YW0seEk6YW19O1xuS2w9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hO2IuY2hhckF0KDApPT1cIi9cIiYmKGI9Yi5zdWJzdHJpbmcoMSksYz1fLnJmLnRvcCk7aWYoYi5sZW5ndGg9PT0wKXJldHVybiBjO2ZvcihiPWIuc3BsaXQoXCIvXCIpO2IubGVuZ3RoOyl7YT1iLnNoaWZ0KCk7YS5jaGFyQXQoMCk9PVwie1wiJiZhLmNoYXJBdChhLmxlbmd0aC0xKT09XCJ9XCImJihhPWEuc3Vic3RyaW5nKDEsYS5sZW5ndGgtMSkpO3ZhciBkPWE7aWYoZD09PVwiLi5cIiljPWM9PWMucGFyZW50P2Mub3BlbmVyOmMucGFyZW50O2Vsc2UgaWYoZCE9PVwiLi5cIiYmYy5mcmFtZXNbZF0pe3ZhciBlPWM7YT1kO2M9Yy5mcmFtZXNbZF07aWYoIShcInBvc3RNZXNzYWdlXCJpbiBjKSlpZihjIGluc3RhbmNlb2YgSFRNTElGcmFtZUVsZW1lbnQmJlwiY29udGVudFdpbmRvd1wiaW4gYyljPWMuY29udGVudFdpbmRvdyE9bnVsbCYmXCJwb3N0TWVzc2FnZVwiaW4gYy5jb250ZW50V2luZG93P2MuY29udGVudFdpbmRvdzpudWxsO2Vsc2V7ZD1udWxsO2U9Xy5zYShlLmRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaWZyYW1lXCIpKTtcbmZvcih2YXIgZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpaWYoZj1mLnZhbHVlLGYuZ2V0QXR0cmlidXRlKFwiaWRcIik9PWF8fGYuZ2V0QXR0cmlidXRlKFwibmFtZVwiKT09YSlkPWY7aWYoZCYmXCJjb250ZW50V2luZG93XCJpbiBkKWM9ZC5jb250ZW50V2luZG93IT1udWxsP2QuY29udGVudFdpbmRvdzpudWxsO2Vsc2UgdGhyb3cgRXJyb3IoXCJOYFwiK2MrXCJgXCIrYSk7fX1lbHNlIHJldHVybiBudWxsfXJldHVybiBjfTtNbD1mdW5jdGlvbihhKXtyZXR1cm4oYT1VbFthXSkmJmEudG9rZW59O2NtPWZ1bmN0aW9uKGEpe2lmKGEuZiBpbnt9KXJldHVybiExO3ZhciBiPWEudCxjPVVsW2Eucl07YT1hLm9yaWdpbjtyZXR1cm4gYyYmKGMudG9rZW49PT1ifHwhYy50b2tlbiYmIWIpJiYoYT09PWMub3JpZ2lufHxjLm9yaWdpbj09PVwiKlwiKX07XG5kbT1mdW5jdGlvbihhKXt2YXIgYj1hLmlkLnNwbGl0KFwiL1wiKSxjPWJbYi5sZW5ndGgtMV0sZD1hLm9yaWdpbjtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIGY9ZS5vcmlnaW47cmV0dXJuIGUuZj09YyYmKGQ9PWZ8fGQ9PVwiKlwiKX19O18uZ209ZnVuY3Rpb24oYSxiLGMpe2E9ZW0oYSk7VmxbYS5uYW1lXT17Wmg6Yix1djphLnV2LFNzOmN8fGNtfTtmbSgpfTtfLmhtPWZ1bmN0aW9uKGEpe2E9ZW0oYSk7ZGVsZXRlIFZsW2EubmFtZV19O2ltPXt9O2ptPWZ1bmN0aW9uKGEsYil7KGE9aW1bXCJfXCIrYV0pJiZhWzFdKHRoaXMpJiZhWzBdLmNhbGwodGhpcyxiKX07bG09ZnVuY3Rpb24oYSl7dmFyIGI9YS5jO2lmKCFiKXJldHVybiBhbTt2YXIgYz1hLnIsZD1hLmc/XCJsZWdhY3lfX1wiOlwiXCI7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9W10uc2xpY2UuY2FsbChhcmd1bWVudHMsMCk7ZS51bnNoaWZ0KGMsZCtcIl9fY2JcIixudWxsLGIpO18ua20uYXBwbHkobnVsbCxlKX19O1xuTmw9ZnVuY3Rpb24oYSl7Wmw9YX07bm09ZnVuY3Rpb24oYSl7JGxbYV18fCgkbFthXT1fLnJmLnNldFRpbWVvdXQoZnVuY3Rpb24oKXskbFthXT0hMTttbShhKX0sMCkpfTttbT1mdW5jdGlvbihhKXt2YXIgYj1VbFthXTtpZihiJiZiLnJlYWR5KXt2YXIgYz1iLk5KO2ZvcihiLk5KPVtdO2MubGVuZ3RoOylfLmJtLnNlbmQoYSxfLlZnKGMuc2hpZnQoKSksYi5vcmlnaW4pfX07ZW09ZnVuY3Rpb24oYSl7cmV0dXJuIGEuaW5kZXhPZihcImxlZ2FjeV9fXCIpPT09MD97bmFtZTphLnN1YnN0cmluZyg4KSx1djohMH06e25hbWU6YSx1djohMX19O1xuZm09ZnVuY3Rpb24oKXtmb3IodmFyIGE9Xy5aaShcInJwYy9yZXNpZGVuY2VTZWNcIil8fDYwLGI9KG5ldyBEYXRlKS5nZXRUaW1lKCkvMUUzLGMsZD0wO2M9VGxbZF07KytkKXt2YXIgZT1jLnJwYztpZighZXx8YT4wJiZiLWMudGltZXN0YW1wPmEpVGwuc3BsaWNlKGQsMSksLS1kO2Vsc2V7dmFyIGY9ZS5zLGg9VmxbZl18fFZsW1wiKlwiXTtpZihoKWlmKFRsLnNwbGljZShkLDEpLC0tZCxlLm9yaWdpbj1jLm9yaWdpbixjPWxtKGUpLGUuY2FsbGJhY2s9YyxoLlNzKGUpKXtpZihmIT09XCJfX2NiXCImJiEhaC51diE9ISFlLmcpYnJlYWs7ZT1oLlpoLmFwcGx5KGUsZS5hKTtlIT09dm9pZCAwJiZjKGUpfWVsc2UgXy5aZy5kZWJ1ZyhcImdhcGl4LnJwYy5yZWplY3RlZChcIitMbCtcIik6IFwiK2YpfX19O29tPWZ1bmN0aW9uKGEsYixjKXtUbC5wdXNoKHtycGM6YSxvcmlnaW46Yix0aW1lc3RhbXA6KG5ldyBEYXRlKS5nZXRUaW1lKCkvMUUzfSk7Y3x8Zm0oKX07XG5KbD1mdW5jdGlvbihhLGIpe2E9Xy5VZyhhKTtvbShhLGIsITEpfTtwbT1mdW5jdGlvbihhKXtmb3IoO2EubGVuZ3RoOylvbShhLnNoaWZ0KCksdGhpcy5vcmlnaW4sITApO2ZtKCl9O3FtPWZ1bmN0aW9uKGEpe3ZhciBiPSExO2E9YS5zcGxpdChcInxcIik7dmFyIGM9YVswXTtjLmluZGV4T2YoXCIvXCIpPj0wJiYoYj0hMCk7cmV0dXJue2lkOmMsb3JpZ2luOmFbMV18fFwiKlwiLFZIOmJ9fTtcbl8ucm09ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9cW0oYSk7ZCYmKF8ucmYuZnJhbWVzW2UuaWRdPV8ucmYuZnJhbWVzW2UuaWRdfHxkKTthPWUuaWQ7aWYoIVVsLmhhc093blByb3BlcnR5KGEpKXtjPWN8fG51bGw7ZD1lLm9yaWdpbjtpZihhPT09XCIuLlwiKWQ9Xy5OaChZbCksYz1jfHxYbDtlbHNlIGlmKCFlLlZIKXt2YXIgZj1fLnNmLmdldEVsZW1lbnRCeUlkKGEpO2YmJihmPWYuc3JjLGQ9Xy5OaChmKSxjPWN8fF8uQ2YoZixcInJwY3Rva2VuXCIpKX1lLm9yaWdpbj09PVwiKlwiJiZkfHwoZD1lLm9yaWdpbik7VWxbYV09e3Rva2VuOmMsTko6W10sb3JpZ2luOmQsYWVhOmIsaVk6ZnVuY3Rpb24oKXt2YXIgaD1hO1VsW2hdLnJlYWR5PTE7bW0oaCl9fTtfLmJtLk5iKGEsVWxbYV0uaVkpfXJldHVybiBVbFthXS5pWX07XG5fLmttPWZ1bmN0aW9uKGEsYixjLGQpe2E9YXx8XCIuLlwiO18ucm0oYSk7YT1hLnNwbGl0KFwifFwiLDEpWzBdO3ZhciBlPWIsZj1hLGg9W10uc2xpY2UuY2FsbChhcmd1bWVudHMsMyksaz1jLGw9TGwsbT1YbCxuPVVsW2ZdLHA9bCxxPXFtKGYpO2lmKG4mJmYhPT1cIi4uXCIpe2lmKHEuVkgpe2lmKCEobT1VbFtmXS5hZWEpKXttPVpsP1psLnN1YnN0cmluZygxKS5zcGxpdChcIi9cIik6W0xsXTtwPW0ubGVuZ3RoLTE7Zm9yKGY9Xy5yZi5wYXJlbnQ7ZiE9PV8ucmYudG9wOyl7dmFyIHQ9Zi5wYXJlbnQ7aWYoIXAtLSl7Zm9yKHZhciB2PW51bGwsdT10LmZyYW1lcy5sZW5ndGgsdz0wO3c8dTsrK3cpdC5mcmFtZXNbd109PWYmJih2PXcpO20udW5zaGlmdChcIntcIit2K1wifVwiKX1mPXR9bT1cIi9cIittLmpvaW4oXCIvXCIpfXA9bX1lbHNlIHA9bD1cIi4uXCI7bT1uLnRva2VufWsmJnE/KG49Y20scS5WSCYmKG49ZG0ocSkpLGltW1wiX1wiKyArK1NsXT1bayxuXSxrPVNsKTprPW51bGw7aD17czplLGY6bCxyOnAsdDptLFxuYzprLGE6aH07ZT1lbShlKTtoLnM9ZS5uYW1lO2guZz1lLnV2O1VsW2FdLk5KLnB1c2goaCk7bm0oYSl9O2lmKHR5cGVvZiBfLnJmLnBvc3RNZXNzYWdlPT09XCJmdW5jdGlvblwifHx0eXBlb2YgXy5yZi5wb3N0TWVzc2FnZT09PVwib2JqZWN0XCIpXy5ibT1uZXcgUGwsXy5nbShcIl9fY2JcIixqbSxmdW5jdGlvbigpe3JldHVybiEwfSksXy5nbShcIl9wcm9jZXNzQmF0Y2hcIixwbSxmdW5jdGlvbigpe3JldHVybiEwfSksXy5ybShcIi4uXCIpO1xudmFyIGVuO1xuZW49ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGssbCl7az13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShrLFwiXCIpLmdldFByb3BlcnR5VmFsdWUobCkubWF0Y2goL14oWzAtOV0rKS8pO3JldHVybiBwYXJzZUludChrWzBdLDEwKX1mb3IodmFyIGI9MCxjPVtkb2N1bWVudC5ib2R5XTtjLmxlbmd0aD4wOyl7dmFyIGQ9Yy5zaGlmdCgpLGU9ZC5jaGlsZE5vZGVzO2lmKHR5cGVvZiBkLnN0eWxlIT09XCJ1bmRlZmluZWRcIil7dmFyIGY9ZC5zdHlsZS5vdmVyZmxvd1k7Znx8KGY9KGY9ZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShkLG51bGwpKT9mLm92ZXJmbG93WTpudWxsKTtpZihmIT1cInZpc2libGVcIiYmZiE9XCJpbmhlcml0XCImJihmPWQuc3R5bGUuaGVpZ2h0LGZ8fChmPShmPWRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUoZCxudWxsKSk/Zi5oZWlnaHQ6XCJcIiksZi5sZW5ndGg+MCYmZiE9XCJhdXRvXCIpKWNvbnRpbnVlfWZvcihkPTA7ZDxlLmxlbmd0aDtkKyspe2Y9ZVtkXTtcbmlmKHR5cGVvZiBmLm9mZnNldFRvcCE9PVwidW5kZWZpbmVkXCImJnR5cGVvZiBmLm9mZnNldEhlaWdodCE9PVwidW5kZWZpbmVkXCIpe3ZhciBoPWYub2Zmc2V0VG9wK2Yub2Zmc2V0SGVpZ2h0K2EoZixcIm1hcmdpbi1ib3R0b21cIik7Yj1NYXRoLm1heChiLGgpfWMucHVzaChmKX19cmV0dXJuIGIrYShkb2N1bWVudC5ib2R5LFwiYm9yZGVyLWJvdHRvbVwiKSthKGRvY3VtZW50LmJvZHksXCJtYXJnaW4tYm90dG9tXCIpK2EoZG9jdW1lbnQuYm9keSxcInBhZGRpbmctYm90dG9tXCIpfTtcbl8uZm49ZnVuY3Rpb24oKXt2YXIgYT0wO3NlbGYuaW5uZXJIZWlnaHQ/YT1zZWxmLmlubmVySGVpZ2h0OmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodD9hPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ6ZG9jdW1lbnQuYm9keSYmKGE9ZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQpO3ZhciBiPWRvY3VtZW50LmJvZHksYz1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7aWYoZG9jdW1lbnQuY29tcGF0TW9kZT09PVwiQ1NTMUNvbXBhdFwiJiZjLnNjcm9sbEhlaWdodClyZXR1cm4gYy5zY3JvbGxIZWlnaHQhPT1hP2Muc2Nyb2xsSGVpZ2h0OmMub2Zmc2V0SGVpZ2h0O2lmKG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZihcIkFwcGxlV2ViS2l0XCIpPj0wKXJldHVybiBlbigpO2lmKGImJmMpe3ZhciBkPWMuc2Nyb2xsSGVpZ2h0LGU9Yy5vZmZzZXRIZWlnaHQ7Yy5jbGllbnRIZWlnaHQhPT1lJiYoZD1iLnNjcm9sbEhlaWdodCxcbmU9Yi5vZmZzZXRIZWlnaHQpO3JldHVybiBkPmE/ZD5lP2Q6ZTpkPGU/ZDplfX07XG52YXIgZ249ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5GayhhLGIsITApfSxobj1mdW5jdGlvbihhKXt2YXIgYj1mdW5jdGlvbihjKXtyZXR1cm4gbmV3IChhKCkuQ29udGV4dCkoYyl9O2IucHJvdG90eXBlLmFkZE9uQ29ubmVjdEhhbmRsZXI9ZnVuY3Rpb24oYyxkLGUsZil7cmV0dXJuIGEoKS5Db250ZXh0LnByb3RvdHlwZS5hZGRPbkNvbm5lY3RIYW5kbGVyLmFwcGx5KHRoaXMsW2MsZCxlLGZdKX07Yi5wcm90b3R5cGUuYWRkT25PcGVuZXJIYW5kbGVyPWZ1bmN0aW9uKGMsZCxlKXtyZXR1cm4gYSgpLkNvbnRleHQucHJvdG90eXBlLmFkZE9uT3BlbmVySGFuZGxlci5hcHBseSh0aGlzLFtjLGQsZV0pfTtiLnByb3RvdHlwZS5jbG9zZVNlbGY9ZnVuY3Rpb24oYyxkLGUpe3JldHVybiBhKCkuQ29udGV4dC5wcm90b3R5cGUuY2xvc2VTZWxmLmFwcGx5KHRoaXMsW2MsZCxlXSl9O2IucHJvdG90eXBlLmNvbm5lY3RJZnJhbWVzPWZ1bmN0aW9uKGMsZCl7YSgpLkNvbnRleHQucHJvdG90eXBlLmNvbm5lY3RJZnJhbWVzLmFwcGx5KHRoaXMsXG5bYyxkXSl9O2IucHJvdG90eXBlLmdldEZyYW1lTmFtZT1mdW5jdGlvbigpe3JldHVybiBhKCkuQ29udGV4dC5wcm90b3R5cGUuZ2V0RnJhbWVOYW1lLmFwcGx5KHRoaXMpfTtiLnByb3RvdHlwZS5nZXRHbG9iYWxQYXJhbT1mdW5jdGlvbihjKXthKCkuQ29udGV4dC5wcm90b3R5cGUuZ2V0R2xvYmFsUGFyYW0uYXBwbHkodGhpcyxbY10pfTtiLnByb3RvdHlwZS5nZXRQYXJlbnRJZnJhbWU9ZnVuY3Rpb24oKXtyZXR1cm4gYSgpLkNvbnRleHQucHJvdG90eXBlLmdldFBhcmVudElmcmFtZS5hcHBseSh0aGlzKX07Yi5wcm90b3R5cGUuZ2V0V2luZG93PWZ1bmN0aW9uKCl7cmV0dXJuIGEoKS5Db250ZXh0LnByb3RvdHlwZS5nZXRXaW5kb3cuYXBwbHkodGhpcyl9O2IucHJvdG90eXBlLmlzRGlzcG9zZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gYSgpLkNvbnRleHQucHJvdG90eXBlLmlzRGlzcG9zZWQuYXBwbHkodGhpcyl9O2IucHJvdG90eXBlLm9wZW49ZnVuY3Rpb24oYyxkKXtyZXR1cm4gYSgpLkNvbnRleHQucHJvdG90eXBlLm9wZW4uYXBwbHkodGhpcyxcbltjLGRdKX07Yi5wcm90b3R5cGUub3BlbkNoaWxkPWZ1bmN0aW9uKGMpe3JldHVybiBhKCkuQ29udGV4dC5wcm90b3R5cGUub3BlbkNoaWxkLmFwcGx5KHRoaXMsW2NdKX07Yi5wcm90b3R5cGUucmVhZHk9ZnVuY3Rpb24oYyxkLGUsZil7YSgpLkNvbnRleHQucHJvdG90eXBlLnJlYWR5LmFwcGx5KHRoaXMsW2MsZCxlLGZdKX07Yi5wcm90b3R5cGUucmVtb3ZlT25Db25uZWN0SGFuZGxlcj1mdW5jdGlvbihjKXthKCkuQ29udGV4dC5wcm90b3R5cGUucmVtb3ZlT25Db25uZWN0SGFuZGxlci5hcHBseSh0aGlzLFtjXSl9O2IucHJvdG90eXBlLnJlc3R5bGVTZWxmPWZ1bmN0aW9uKGMsZCxlKXtyZXR1cm4gYSgpLkNvbnRleHQucHJvdG90eXBlLnJlc3R5bGVTZWxmLmFwcGx5KHRoaXMsW2MsZCxlXSl9O2IucHJvdG90eXBlLnNldENsb3NlU2VsZkZpbHRlcj1mdW5jdGlvbihjKXthKCkuQ29udGV4dC5wcm90b3R5cGUuc2V0Q2xvc2VTZWxmRmlsdGVyLmFwcGx5KHRoaXMsW2NdKX07Yi5wcm90b3R5cGUuc2V0R2xvYmFsUGFyYW09XG5mdW5jdGlvbihjLGQpe2EoKS5Db250ZXh0LnByb3RvdHlwZS5zZXRHbG9iYWxQYXJhbS5hcHBseSh0aGlzLFtjLGRdKX07Yi5wcm90b3R5cGUuc2V0UmVzdHlsZVNlbGZGaWx0ZXI9ZnVuY3Rpb24oYyl7YSgpLkNvbnRleHQucHJvdG90eXBlLnNldFJlc3R5bGVTZWxmRmlsdGVyLmFwcGx5KHRoaXMsW2NdKX07cmV0dXJuIGJ9LGpuPWZ1bmN0aW9uKGEpe3ZhciBiPWZ1bmN0aW9uKGMsZCxlLGYpe3JldHVybiBuZXcgKGEoKS5JZnJhbWUpKGMsZCxlLGYpfTtiLnByb3RvdHlwZS5hcHBseUlmcmFtZXNBcGk9ZnVuY3Rpb24oYyl7YSgpLklmcmFtZS5wcm90b3R5cGUuYXBwbHlJZnJhbWVzQXBpKGMpfTtiLnByb3RvdHlwZS5jbG9zZT1mdW5jdGlvbihjLGQpe3JldHVybiBhKCkuSWZyYW1lLnByb3RvdHlwZS5jbG9zZS5hcHBseSh0aGlzLFtjLGRdKX07Yi5wcm90b3R5cGUuZ2V0Q29udGV4dD1mdW5jdGlvbigpe3JldHVybiBhKCkuSWZyYW1lLnByb3RvdHlwZS5nZXRDb250ZXh0LmFwcGx5KHRoaXMsXG5bXSl9O2IucHJvdG90eXBlLmdldEZyYW1lTmFtZT1mdW5jdGlvbigpe3JldHVybiBhKCkuSWZyYW1lLnByb3RvdHlwZS5nZXRGcmFtZU5hbWUuYXBwbHkodGhpcyxbXSl9O2IucHJvdG90eXBlLmdldElkPWZ1bmN0aW9uKCl7cmV0dXJuIGEoKS5JZnJhbWUucHJvdG90eXBlLmdldElkLmFwcGx5KHRoaXMsW10pfTtiLnByb3RvdHlwZS5nZXRJZnJhbWVFbD1mdW5jdGlvbigpe3JldHVybiBhKCkuSWZyYW1lLnByb3RvdHlwZS5nZXRJZnJhbWVFbC5hcHBseSh0aGlzLFtdKX07Yi5wcm90b3R5cGUuZ2V0T3JpZ2luPWZ1bmN0aW9uKCl7cmV0dXJuIGEoKS5JZnJhbWUucHJvdG90eXBlLmdldE9yaWdpbi5hcHBseSh0aGlzLFtdKX07Yi5wcm90b3R5cGUuZ2V0UGFyYW09ZnVuY3Rpb24oYyl7YSgpLklmcmFtZS5wcm90b3R5cGUuZ2V0UGFyYW0uYXBwbHkodGhpcyxbY10pfTtiLnByb3RvdHlwZS5nZXRTaXRlRWw9ZnVuY3Rpb24oKXtyZXR1cm4gYSgpLklmcmFtZS5wcm90b3R5cGUuZ2V0U2l0ZUVsLmFwcGx5KHRoaXMsXG5bXSl9O2IucHJvdG90eXBlLmdldFdpbmRvdz1mdW5jdGlvbigpe3JldHVybiBhKCkuSWZyYW1lLnByb3RvdHlwZS5nZXRXaW5kb3cuYXBwbHkodGhpcyxbXSl9O2IucHJvdG90eXBlLmlzRGlzcG9zZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gYSgpLklmcmFtZS5wcm90b3R5cGUuaXNEaXNwb3NlZC5hcHBseSh0aGlzLFtdKX07Yi5wcm90b3R5cGUucGluZz1mdW5jdGlvbihjLGQpe3JldHVybiBhKCkuSWZyYW1lLnByb3RvdHlwZS5waW5nLmFwcGx5KHRoaXMsW2MsZF0pfTtiLnByb3RvdHlwZS5yZWdpc3Rlcj1mdW5jdGlvbihjLGQsZSl7YSgpLklmcmFtZS5wcm90b3R5cGUucmVnaXN0ZXIuYXBwbHkodGhpcyxbYyxkLGVdKX07Yi5wcm90b3R5cGUucmVnaXN0ZXJXYXNDbG9zZWQ9ZnVuY3Rpb24oYyxkKXthKCkuSWZyYW1lLnByb3RvdHlwZS5yZWdpc3Rlcldhc0Nsb3NlZC5hcHBseSh0aGlzLFtjLGRdKX07Yi5wcm90b3R5cGUucmVnaXN0ZXJXYXNSZXN0eWxlZD1mdW5jdGlvbihjLGQpe2EoKS5JZnJhbWUucHJvdG90eXBlLnJlZ2lzdGVyV2FzUmVzdHlsZWQuYXBwbHkodGhpcyxcbltjLGRdKX07Yi5wcm90b3R5cGUucmVzdHlsZT1mdW5jdGlvbihjLGQpe3JldHVybiBhKCkuSWZyYW1lLnByb3RvdHlwZS5yZXN0eWxlLmFwcGx5KHRoaXMsW2MsZF0pfTtiLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKGMsZCxlLGYpe3JldHVybiBhKCkuSWZyYW1lLnByb3RvdHlwZS5zZW5kLmFwcGx5KHRoaXMsW2MsZCxlLGZdKX07Yi5wcm90b3R5cGUuc2V0UGFyYW09ZnVuY3Rpb24oYyxkKXthKCkuSWZyYW1lLnByb3RvdHlwZS5zZXRQYXJhbS5hcHBseSh0aGlzLFtjLGRdKX07Yi5wcm90b3R5cGUuc2V0U2l0ZUVsPWZ1bmN0aW9uKGMpe2EoKS5JZnJhbWUucHJvdG90eXBlLnNldFNpdGVFbC5hcHBseSh0aGlzLFtjXSl9O2IucHJvdG90eXBlLnVucmVnaXN0ZXI9ZnVuY3Rpb24oYyxkKXthKCkuSWZyYW1lLnByb3RvdHlwZS51bnJlZ2lzdGVyLmFwcGx5KHRoaXMsW2MsZF0pfTtyZXR1cm4gYn0sa24sbG4scG4scm4sd24sRm4sR24sSW4sTW4sTm4sUW4sU24sVG4sVm4sVW4sV247XG5fLkprLnByb3RvdHlwZS5zcz1fLm5iKDQsZnVuY3Rpb24oYSl7dGhpcy5ULmFwaXM9YTtyZXR1cm4gdGhpc30pO2tuPWZ1bmN0aW9uKGEsYil7YS5ULm9ubG9hZD1ifTtsbj1mdW5jdGlvbihhKXtyZXR1cm4gYS5ULnJwY3Rva2VufTtfLm1uPWZ1bmN0aW9uKGEsYil7YS5ULnF1ZXJ5UGFyYW1zPWI7cmV0dXJuIGF9O18ubm49ZnVuY3Rpb24oYSxiKXthLlQucmVsYXlPcGVuPWI7cmV0dXJuIGF9O18ub249ZnVuY3Rpb24oYSxiKXthLlQub25DbG9zZT1iO3JldHVybiBhfTtwbj1mdW5jdGlvbihhLGIpe2EuVC5jb250cm9sbGVyRGF0YT1ifTtfLnFuPWZ1bmN0aW9uKGEpe2EuVC53YWl0Rm9yT25sb2FkPSEwO3JldHVybiBhfTtybj1mdW5jdGlvbihhKXtyZXR1cm4oYT1hLlQudGltZW91dCk/YTpudWxsfTtfLnNuPWZ1bmN0aW9uKGEpe3JldHVybiEhYSYmdHlwZW9mIGE9PT1cIm9iamVjdFwiJiZfLnVmLnRlc3QoYS5wdXNoKX07XG5fLnRuPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wO2I8dGhpcy5sZW5ndGg7YisrKWlmKHRoaXNbYl09PT1hKXJldHVybiBiO3JldHVybi0xfTtfLnVuPWZ1bmN0aW9uKGEsYixjKXtpZihhKXtfLnNtKF8uc24oYSksXCJhcnJheUZvckVhY2ggd2FzIGNhbGxlZCB3aXRoIGEgbm9uIGFycmF5IHZhbHVlXCIpO2Zvcih2YXIgZD0wO2Q8YS5sZW5ndGg7ZCsrKWIuY2FsbChjLGFbZF0sZCl9fTtfLnZuPWZ1bmN0aW9uKGEsYixjKXtpZihhKWlmKF8uc24oYSkpXy51bihhLGIsYyk7ZWxzZXtfLnNtKHR5cGVvZiBhPT09XCJvYmplY3RcIixcIm9iamVjdEZvckVhY2ggd2FzIGNhbGxlZCB3aXRoIGEgbm9uIG9iamVjdCB2YWx1ZVwiKTtjPWN8fGE7Zm9yKHZhciBkIGluIGEpXy54ZihhLGQpJiZhW2RdIT09dm9pZCAwJiZiLmNhbGwoYyxhW2RdLGQpfX07d249ZnVuY3Rpb24oYSl7dGhpcy5UPWF8fHt9fTt3bi5wcm90b3R5cGUudmFsdWU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5UfTtcbnduLnByb3RvdHlwZS5nZXRJZnJhbWU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ULmlmcmFtZX07dmFyIHhuPWZ1bmN0aW9uKGEsYil7YS5ULnJvbGU9YjtyZXR1cm4gYX0seW49ZnVuY3Rpb24oYSxiKXthLlQuZGF0YT1iO3JldHVybiBhfTt3bi5wcm90b3R5cGUucmw9ZnVuY3Rpb24oYSl7dGhpcy5ULnNldFJwY1JlYWR5PWE7cmV0dXJuIHRoaXN9O3ZhciB6bj1mdW5jdGlvbihhKXtyZXR1cm4gYS5ULnNldFJwY1JlYWR5fTt3bi5wcm90b3R5cGUud249ZnVuY3Rpb24oYSl7dGhpcy5ULnJwY3Rva2VuPWE7cmV0dXJuIHRoaXN9O3ZhciBBbj1mdW5jdGlvbihhKXthLlQuc2VsZkNvbm5lY3Q9ITA7cmV0dXJuIGF9LEJuPWZ1bmN0aW9uKGEpe3RoaXMuVD1hfHx7fX07Qm4ucHJvdG90eXBlLnZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVH07dmFyIERuPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBDbjtiLlQucm9sZT1hO3JldHVybiBifTtCbi5wcm90b3R5cGUuY1Q9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ULnJvbGV9O1xuQm4ucHJvdG90eXBlLkxjPWZ1bmN0aW9uKGEpe3RoaXMuVC5oYW5kbGVyPWE7cmV0dXJuIHRoaXN9O0JuLnByb3RvdHlwZS5CYj1mdW5jdGlvbigpe3JldHVybiB0aGlzLlQuaGFuZGxlcn07dmFyIEVuPWZ1bmN0aW9uKGEsYil7YS5ULmZpbHRlcj1iO3JldHVybiBhfTtCbi5wcm90b3R5cGUuc3M9ZnVuY3Rpb24oYSl7dGhpcy5ULmFwaXM9YTtyZXR1cm4gdGhpc307SW49L15bXFx3XFwuXFwtXSokLztfLkpuPWZ1bmN0aW9uKGEpe3JldHVybiBhLmdldE9yaWdpbigpPT09YS5nZXRDb250ZXh0KCkuZ2V0T3JpZ2luKCl9O18uS249ZnVuY3Rpb24oKXtyZXR1cm4hMH07Xy5Mbj1mdW5jdGlvbihhKXtmb3IodmFyIGI9Xy53ZigpLGM9MDtjPGEubGVuZ3RoO2MrKyliW2FbY11dPSEwO3JldHVybiBmdW5jdGlvbihkKXtyZXR1cm4hIWJbZC5KZF19fTtcbk1uPWZ1bmN0aW9uKGEsYixjKXthPUZuW2FdO2lmKCFhKXJldHVybltdO2Zvcih2YXIgZD1bXSxlPTA7ZTxhLmxlbmd0aDtlKyspZC5wdXNoKF8ua2woYVtlXS5jYWxsKGMsYixjKSkpO3JldHVybiBkfTtObj1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGZ1bmN0aW9uKGQpe2lmKCFiLmlzRGlzcG9zZWQoKSl7dmFyIGU9dGhpcy5vcmlnaW4sZj1iLmdldE9yaWdpbigpO18uc20oZT09PWYsXCJXcm9uZyBvcmlnaW4gXCIrZStcIiAhPSBcIitmKTtlPXRoaXMuY2FsbGJhY2s7ZD1NbihhLGQsYik7IWMmJmQubGVuZ3RoPjAmJl8ub2woZCkudGhlbihlKX19fTtfLk9uPWZ1bmN0aW9uKGEsYixjKXtfLnNtKGEhPVwiX2RlZmF1bHRcIixcIkNhbm5vdCB1cGRhdGUgZGVmYXVsdCBhcGlcIik7R25bYV09e21hcDpiLGZpbHRlcjpjfX07XG5fLlBuPWZ1bmN0aW9uKGEsYixjKXtfLnNtKGEhPVwiX2RlZmF1bHRcIixcIkNhbm5vdCB1cGRhdGUgZGVmYXVsdCBhcGlcIik7Xy52ZihHbixhLHttYXA6e30sZmlsdGVyOl8uSm59KS5tYXBbYl09Y307UW49ZnVuY3Rpb24oYSxiKXtfLnZmKEduLFwiX2RlZmF1bHRcIix7bWFwOnt9LGZpbHRlcjpfLktufSkubWFwW2FdPWI7Xy52bihfLkhuLnZnLGZ1bmN0aW9uKGMpe2MucmVnaXN0ZXIoYSxiLF8uS24pfSl9O18uUm49ZnVuY3Rpb24oKXtyZXR1cm4gXy5Ibn07U249L15odHRwcz86XFwvXFwvW15cXC8lXFxcXD8jXFxzXSskL2k7VG49e2xvbmdkZXNjOiEwLG5hbWU6ITAsc3JjOiEwLGZyYW1lYm9yZGVyOiEwLG1hcmdpbndpZHRoOiEwLG1hcmdpbmhlaWdodDohMCxzY3JvbGxpbmc6ITAsYWxpZ246ITAsaGVpZ2h0OiEwLHdpZHRoOiEwLGlkOiEwLFwiY2xhc3NcIjohMCx0aXRsZTohMCx0YWJpbmRleDohMCxoc3BhY2U6ITAsdnNwYWNlOiEwLGFsbG93dHJhbnNwYXJlbmN5OiEwfTtcblZuPWZ1bmN0aW9uKGEpe3RoaXMucmVzb2x2ZT10aGlzLnJlamVjdD1udWxsO3RoaXMucHJvbWlzZT1fLkRsKCgwLF8ueikoZnVuY3Rpb24oYixjKXt0aGlzLnJlc29sdmU9Yjt0aGlzLnJlamVjdD1jfSx0aGlzKSk7YSYmKHRoaXMucHJvbWlzZT1Vbih0aGlzLnByb21pc2UsYSkpfTtVbj1mdW5jdGlvbihhLGIpe3JldHVybiBhLnRoZW4oZnVuY3Rpb24oYyl7dHJ5e2IoYyl9Y2F0Y2goZCl7fXJldHVybiBjfSl9O1duPWZ1bmN0aW9uKGEpe3RoaXMueWc9YTt0aGlzLkNvbnRleHQ9aG4oYSk7dGhpcy5JZnJhbWU9am4oYSl9O18uZz1Xbi5wcm90b3R5cGU7Xy5nLkNST1NTX09SSUdJTl9JRlJBTUVTX0ZJTFRFUj1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy55ZygpLkNST1NTX09SSUdJTl9JRlJBTUVTX0ZJTFRFUihhKX07Xy5nLlNBTUVfT1JJR0lOX0lGUkFNRVNfRklMVEVSPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnlnKCkuU0FNRV9PUklHSU5fSUZSQU1FU19GSUxURVIoYSl9O1xuXy5nLmNyZWF0ZT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIHRoaXMueWcoKS5jcmVhdGUoYSxiLGMpfTtfLmcuZ2V0QmVmb3JlT3BlblN0eWxlPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnlnKCkuZ2V0QmVmb3JlT3BlblN0eWxlKGEpfTtfLmcuZ2V0Q29udGV4dD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnlnKCkuZ2V0Q29udGV4dCgpfTtfLmcuZ2V0U3R5bGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMueWcoKS5nZXRTdHlsZShhKX07Xy5nLm1ha2VXaGl0ZUxpc3RJZnJhbWVzRmlsdGVyPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnlnKCkubWFrZVdoaXRlTGlzdElmcmFtZXNGaWx0ZXIoYSl9O18uZy5yZWdpc3RlckJlZm9yZU9wZW5TdHlsZT1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLnlnKCkucmVnaXN0ZXJCZWZvcmVPcGVuU3R5bGUoYSxiKX07XG5fLmcucmVnaXN0ZXJJZnJhbWVzQXBpPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdGhpcy55ZygpLnJlZ2lzdGVySWZyYW1lc0FwaShhLGIsYyl9O18uZy5yZWdpc3RlcklmcmFtZXNBcGlIYW5kbGVyPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdGhpcy55ZygpLnJlZ2lzdGVySWZyYW1lc0FwaUhhbmRsZXIoYSxiLGMpfTtfLmcucmVnaXN0ZXJTdHlsZT1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLnlnKCkucmVnaXN0ZXJTdHlsZShhLGIpfTt2YXIgWG49ZnVuY3Rpb24oKXt0aGlzLkdpPVtdfTtYbi5wcm90b3R5cGUueWc9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuR2kubGVuZ3RoP1luKHRoaXMuR2lbMF0sYSk6dm9pZCAwfTt2YXIgWW49ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/ZnVuY3Rpb24oYyl7cmV0dXJuIG5ldyBjfTpiO3JldHVybiBhLktlP2IoYS5LZSk6YS5pbnN0YW5jZX0sWm49ZnVuY3Rpb24oKXtYbi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O18uQShabixYbik7dmFyIGFvPWZ1bmN0aW9uKGEpe3ZhciBiPSRuLnJRLGM9YS5wcmlvcml0eSxkPX5nbihiLkdpLGZ1bmN0aW9uKGUpe3JldHVybiBlLnByaW9yaXR5PGM/LTE6MX0pO2IuR2kuc3BsaWNlKGQsMCxhKX07dmFyICRuPW5ldyBmdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5yUT1uZXcgWm47dGhpcy5pbnN0YW5jZT1uZXcgV24oZnVuY3Rpb24oKXtyZXR1cm4gYS5yUS55ZygpKCl9KX07YW8oe2luc3RhbmNlOmZ1bmN0aW9uKCl7cmV0dXJuIHdpbmRvdy5nYXBpLmlmcmFtZXN9LHByaW9yaXR5OjF9KTtfLmJvPSRuLmluc3RhbmNlO3ZhciBjbyxlbztjbz17aGVpZ2h0OiEwLHdpZHRoOiEwfTtlbz0vXig/IS0qKD86ZXhwcmVzc2lvbnwoPzptb3otKT9iaW5kaW5nKSkoPzpbLiNdPy0/KD86W19hLXowLTktXSspKD86LVtfYS16MC05LV0rKSotP3wtPyg/OlswLTldKyg/OlxcLlswLTldKik/fFxcLlswLTldKykoPzpbYS16XXsxLDJ9fCUpP3whaW1wb3J0YW50fCkkL2k7Xy5mbz1mdW5jdGlvbihhKXt0eXBlb2YgYT09PVwibnVtYmVyXCImJihhPVN0cmluZyhhKStcInB4XCIpO3JldHVybiBhfTt2YXIgZ289ZnVuY3Rpb24oKXt3bi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O18uQShnbyx3bik7dmFyIENuPWZ1bmN0aW9uKCl7Qm4uYXBwbHkodGhpcyxhcmd1bWVudHMpfTtfLkEoQ24sQm4pO3ZhciBobz1mdW5jdGlvbigpe18uSmsuYXBwbHkodGhpcyxhcmd1bWVudHMpfTtfLkEoaG8sXy5Kayk7dmFyIGlvPWZ1bmN0aW9uKGEpe2hvLmNhbGwodGhpcyxhKX07Xy5BKGlvLGhvKTt2YXIgam89ZnVuY3Rpb24oYSxiKXthLlQuZnJhbWVOYW1lPWI7cmV0dXJuIGF9O2lvLnByb3RvdHlwZS5nZXRGcmFtZU5hbWU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ULmZyYW1lTmFtZX07dmFyIGtvPWZ1bmN0aW9uKGEsYil7YS5ULnJwY0FkZHI9YjtyZXR1cm4gYX07aW8ucHJvdG90eXBlLkZnPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVC5ycGNBZGRyfTt2YXIgbG89ZnVuY3Rpb24oYSxiKXthLlQucmV0QWRkcj1iO3JldHVybiBhfTtfLmc9aW8ucHJvdG90eXBlO18uZy5saT1mdW5jdGlvbigpe3JldHVybiB0aGlzLlQucmV0QWRkcn07Xy5nLldqPWZ1bmN0aW9uKGEpe3RoaXMuVC5vcmlnaW49YTtyZXR1cm4gdGhpc307Xy5nLmdldE9yaWdpbj1mdW5jdGlvbigpe3JldHVybiB0aGlzLlQub3JpZ2lufTtfLmcucmw9ZnVuY3Rpb24oYSl7dGhpcy5ULnNldFJwY1JlYWR5PWE7cmV0dXJuIHRoaXN9O1xuXy5nLkhwPWZ1bmN0aW9uKGEpe3RoaXMuVC5jb250ZXh0PWF9O3ZhciBtbz1mdW5jdGlvbihhLGIpe2EuVC5fcnBjUmVhZHlGbj1ifTtpby5wcm90b3R5cGUuZ2V0SWZyYW1lRWw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ULmlmcmFtZUVsfTt2YXIgbm89ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuRmcoKSxlPWIubGkoKTtsbyhrbyhjLGEubGkoKStcIi9cIitiLkZnKCkpLGUrXCIvXCIrZCk7am8oYyxiLmdldEZyYW1lTmFtZSgpKS5XaihiLmdldE9yaWdpbigpKX07dmFyIHBvPWZ1bmN0aW9uKGEsYixjKXthLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtiLmNsb3NlZHx8Yz09NT9vbyhiKTooYi5jbG9zZSgpLGMrKyxwbyhhLGIsYykpfSwxRTMpfSxvbz1mdW5jdGlvbihhKXthLmNsb3NlZHx8YS5kb2N1bWVudCYmYS5kb2N1bWVudC5ib2R5JiZfLmxmKGEuZG9jdW1lbnQuYm9keSxcIlBsZWFzZSBjbG9zZSB0aGlzIHdpbmRvdy5cIil9O18ucW89ZnVuY3Rpb24oYSxiLGMsZCl7dGhpcy5laD0hMTt0aGlzLnRiPWE7dGhpcy5kSz1iO3RoaXMuRnE9Yzt0aGlzLk5hPWQ7dGhpcy5GWT10aGlzLk5hLmxpKCk7dGhpcy5KZD10aGlzLk5hLmdldE9yaWdpbigpO3RoaXMubmFhPXRoaXMuTmEuZ2V0SWZyYW1lRWwoKTt0aGlzLnVfPXRoaXMuTmEuVC53aGVyZTt0aGlzLkdpPVtdO3RoaXMuYXBwbHlJZnJhbWVzQXBpKFwiX2RlZmF1bHRcIik7YT10aGlzLk5hLlQuYXBpc3x8W107Zm9yKGI9MDtiPGEubGVuZ3RoO2IrKyl0aGlzLmFwcGx5SWZyYW1lc0FwaShhW2JdKTt0aGlzLnRiLnZnW2NdPXRoaXN9O18uZz1fLnFvLnByb3RvdHlwZTtfLmcuaXNEaXNwb3NlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVofTtcbl8uZy5kaXNwb3NlPWZ1bmN0aW9uKCl7aWYoIXRoaXMuaXNEaXNwb3NlZCgpKXtmb3IodmFyIGE9MDthPHRoaXMuR2kubGVuZ3RoO2ErKyl0aGlzLnVucmVnaXN0ZXIodGhpcy5HaVthXSk7ZGVsZXRlIF8uSG4udmdbdGhpcy5nZXRGcmFtZU5hbWUoKV07dGhpcy5laD0hMH19O18uZy5nZXRDb250ZXh0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudGJ9O18uZy5nZXRPcHRpb25zPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTmF9O18uZy5GZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmRLfTtfLmcubGk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5GWX07Xy5nLmdldEZyYW1lTmFtZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkZxfTtfLmcuZ2V0SWZyYW1lRWw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5uYWF9O18uZy5nZXRTaXRlRWw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy51X307Xy5nLnNldFNpdGVFbD1mdW5jdGlvbihhKXt0aGlzLnVfPWF9O18uZy5ybD1mdW5jdGlvbigpeygwLHRoaXMuTmEuVC5fcnBjUmVhZHlGbikoKX07XG5fLmcuc2V0UGFyYW09ZnVuY3Rpb24oYSxiKXt0aGlzLk5hLnZhbHVlKClbYV09Yn07Xy5nLmdldFBhcmFtPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLk5hLnZhbHVlKClbYV19O18uZy5BYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLk5hLnZhbHVlKCl9O18uZy5nZXRJZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLk5hLmdldElkKCl9O18uZy5nZXRPcmlnaW49ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5KZH07dmFyIHJvPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5GcTthPWEudGIuZ2V0RnJhbWVOYW1lKCk7cmV0dXJuIGMrXCI6XCIrYStcIjpcIitifTtfLmc9Xy5xby5wcm90b3R5cGU7XG5fLmcucmVnaXN0ZXI9ZnVuY3Rpb24oYSxiLGMpe18uc20oIXRoaXMuaXNEaXNwb3NlZCgpLFwiQ2Fubm90IHJlZ2lzdGVyIGhhbmRsZXIgb24gZGlzcG9zZWQgaWZyYW1lIFwiK2EpO18uc20oKGN8fF8uSm4pKHRoaXMpLFwiUmVqZWN0aW5nIHVudHJ1c3RlZCBtZXNzYWdlIFwiK2EpO2M9cm8odGhpcyxhKTtfLnZmKEZuLGMsW10pLnB1c2goYik9PTEmJih0aGlzLkdpLnB1c2goYSksXy5nbShjLE5uKGMsdGhpcyxhPT09XCJfZ193YXNDbG9zZWRcIikpKX07Xy5nLnVucmVnaXN0ZXI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1ybyh0aGlzLGEpLGQ9Rm5bY107ZCYmKGI/KGI9Xy50bi5jYWxsKGQsYiksYj49MCYmZC5zcGxpY2UoYiwxKSk6ZC5zcGxpY2UoMCxkLmxlbmd0aCksZC5sZW5ndGg9PTAmJihiPV8udG4uY2FsbCh0aGlzLkdpLGEpLGI+PTAmJnRoaXMuR2kuc3BsaWNlKGIsMSksXy5obShjKSkpfTtfLmcuazk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5HaX07XG5fLmcuYXBwbHlJZnJhbWVzQXBpPWZ1bmN0aW9uKGEpe3RoaXMucEU9dGhpcy5wRXx8W107aWYoIShfLnRuLmNhbGwodGhpcy5wRSxhKT49MCkpe3RoaXMucEUucHVzaChhKTthPUduW2FdfHx7bWFwOnt9fTtmb3IodmFyIGIgaW4gYS5tYXApXy54ZihhLm1hcCxiKSYmdGhpcy5yZWdpc3RlcihiLGEubWFwW2JdLGEuZmlsdGVyKX19O18uZy5nZXRXaW5kb3c9ZnVuY3Rpb24oKXtpZighXy5Kbih0aGlzKSlyZXR1cm4gbnVsbDt2YXIgYT10aGlzLk5hLlQuX3BvcHVwV2luZG93O2lmKGEpcmV0dXJuIGE7dmFyIGI9dGhpcy5kSy5zcGxpdChcIi9cIik7YT10aGlzLmdldENvbnRleHQoKS5nZXRXaW5kb3coKTtmb3IodmFyIGM9MDtjPGIubGVuZ3RoJiZhO2MrKyl7dmFyIGQ9YltjXTthPVwiLi5cIj09PWQ/YT09YS5wYXJlbnQ/YS5vcGVuZXI6YS5wYXJlbnQ6YS5mcmFtZXNbZF19cmV0dXJuIGF9O1xudmFyIHNvPWZ1bmN0aW9uKGEpe3ZhciBiPXt9O2lmKGEpZm9yKHZhciBjIGluIGEpXy54ZihhLGMpJiZfLnhmKGNvLGMpJiZlby50ZXN0KGFbY10pJiYoYltjXT1hW2NdKTtyZXR1cm4gYn07Xy5nPV8ucW8ucHJvdG90eXBlO18uZy5jbG9zZT1mdW5jdGlvbihhLGIpe3JldHVybiB0byh0aGlzLFwiX2dfY2xvc2VcIixhLGIpfTtfLmcucmVzdHlsZT1mdW5jdGlvbihhLGIpe3JldHVybiB0byh0aGlzLFwiX2dfcmVzdHlsZVwiLGEsYil9O18uZy5jcz1mdW5jdGlvbihhLGIpe3JldHVybiB0byh0aGlzLFwiX2dfcmVzdHlsZURvbmVcIixhLGIpfTtfLmcuSjY9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZ2V0Q29udGV4dCgpLmNsb3NlU2VsZihhLHZvaWQgMCx0aGlzKX07Xy5nLldkYT1mdW5jdGlvbihhKXtpZihhJiZ0eXBlb2YgYT09PVwib2JqZWN0XCIpcmV0dXJuIHRoaXMuZ2V0Q29udGV4dCgpLnJlc3R5bGVTZWxmKGEsdm9pZCAwLHRoaXMpfTtcbl8uZy5YZGE9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5OYS5ULm9uUmVzdHlsZTtiJiZiLmNhbGwodGhpcyxhLHRoaXMpO2E9YSYmdHlwZW9mIGE9PT1cIm9iamVjdFwiP3NvKGEpOnt9OyhiPXRoaXMuZ2V0SWZyYW1lRWwoKSkmJmEmJnR5cGVvZiBhPT09XCJvYmplY3RcIiYmKF8ueGYoYSxcImhlaWdodFwiKSYmKGEuaGVpZ2h0PV8uZm8oYS5oZWlnaHQpKSxfLnhmKGEsXCJ3aWR0aFwiKSYmKGEud2lkdGg9Xy5mbyhhLndpZHRoKSksXy5BZihhLGIuc3R5bGUpKX07XG5fLmcuSzY9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5OYS5ULm9uQ2xvc2U7YiYmYi5jYWxsKHRoaXMsYSx0aGlzKTtpZihiPXRoaXMuZ2V0T3B0aW9ucygpLlQuX3BvcHVwV2luZG93KXt2YXIgYz10aGlzLmdldENvbnRleHQoKS5nZXRXaW5kb3coKS5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmdldElkKCkpO2MmJmMucGFyZW50Tm9kZSYmYy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGMpO2M9dGhpcy5nZXRDb250ZXh0KCkuZ2V0V2luZG93KCk7Xy5tZSYmXy5DaSYmYz8oYy5mb2N1cygpLHBvKGMsYiwwKSk6KGIuY2xvc2UoKSxvbyhiKSl9Ynx8KGI9dGhpcy5nZXRJZnJhbWVFbCgpKSYmYi5wYXJlbnROb2RlJiZiLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYik7aWYoYj10aGlzLk5hLm1qKCkpYz17fSxjLmZyYW1lTmFtZT10aGlzLmdldEZyYW1lTmFtZSgpLHRvKGIsXCJfZ19kaXNwb3NlQ29udHJvbFwiLGMpO2I9cm8odGhpcyxcIl9nX3dhc0Nsb3NlZFwiKTtNbihiLGEsdGhpcyl9O1xuXy5nLnJlZ2lzdGVyV2FzUmVzdHlsZWQ9ZnVuY3Rpb24oYSxiKXt0aGlzLnJlZ2lzdGVyKFwiX2dfd2FzUmVzdHlsZWRcIixhLGIpfTtfLmcucmVnaXN0ZXJXYXNDbG9zZWQ9ZnVuY3Rpb24oYSxiKXt0aGlzLnJlZ2lzdGVyKFwiX2dfd2FzQ2xvc2VkXCIsYSxiKX07Xy5nLklnYT1mdW5jdGlvbigpe2RlbGV0ZSB0aGlzLmdldENvbnRleHQoKS52Z1t0aGlzLmdldEZyYW1lTmFtZSgpXTt0aGlzLmdldENvbnRleHQoKS5nZXRXaW5kb3coKS5zZXRUaW1lb3V0KCgwLF8ueikoZnVuY3Rpb24oKXt0aGlzLmRpc3Bvc2UoKX0sdGhpcyksMCl9O1xuXy5nLnNlbmQ9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5zbSghdGhpcy5pc0Rpc3Bvc2VkKCksXCJDYW5ub3Qgc2VuZCBtZXNzYWdlIHRvIGRpc3Bvc2VkIGlmcmFtZSAtIFwiK2EpO18uc20oKGR8fF8uSm4pKHRoaXMpLFwiV3JvbmcgdGFyZ2V0IGZvciBtZXNzYWdlIFwiK2EpO2M9bmV3IFZuKGMpO2E9dGhpcy50Yi5nZXRGcmFtZU5hbWUoKStcIjpcIit0aGlzLkZxK1wiOlwiK2E7Xy5rbSh0aGlzLmRLLGEsYy5yZXNvbHZlLGIpO3JldHVybiBjLnByb21pc2V9O3ZhciB0bz1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gYS5zZW5kKGIsYyxkLF8uS24pfTtfLmc9Xy5xby5wcm90b3R5cGU7Xy5nLldjYT1mdW5jdGlvbihhKXtyZXR1cm4gYX07Xy5nLnBpbmc9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdG8odGhpcyxcIl9nX3BpbmdcIixiLGEpfTtcbl8uZy5RNj1mdW5jdGlvbihhKXthPWEmJnR5cGVvZiBhPT09XCJvYmplY3RcIj9hOnt9O2Zvcih2YXIgYj1hLnJwY0FkZHIsYz0odGhpcy5GZygpK1wiL1wiK2IpLnNwbGl0KFwiL1wiKSxkPXRoaXMuZ2V0Q29udGV4dCgpLmdldFdpbmRvdygpLGU7KGU9Yy5zaGlmdCgpKSYmZDspZD1lPT1cIi4uXCI/ZC5wYXJlbnQ6ZC5mcmFtZXNbZV07Xy5zbSghIWQsXCJCYWQgcnBjIGFkZHJlc3MgXCIrYik7YS5fd2luZG93PWQ7YS5fcGFyZW50UnBjQWRkcj10aGlzLkZnKCk7YS5fcGFyZW50UmV0QWRkcj10aGlzLmxpKCk7dGhpcy5nZXRDb250ZXh0KCk7Yj1uZXcgXy51byhhKTt0aGlzLmZjYSYmdGhpcy5mY2EoYixhLmNvbnRyb2xsZXJEYXRhKTt0aGlzLlpFPXRoaXMuWkV8fFtdO3RoaXMuWkUucHVzaChiLGEuY29udHJvbGxlckRhdGEpfTtcbl8uZy5mNz1mdW5jdGlvbihhKXthPShhfHx7fSkuZnJhbWVOYW1lO2Zvcih2YXIgYj10aGlzLlpFfHxbXSxjPTA7YzxiLmxlbmd0aDtjKyspaWYoYltjXS5nZXRGcmFtZU5hbWUoKT09PWEpe2E9Yi5zcGxpY2UoYywxKVswXTthLmRpc3Bvc2UoKTt0aGlzLmpjYSYmdGhpcy5qY2EoYSk7cmV0dXJufV8uc20oITEsXCJVbmtub3duIGNvbnRvbGxlZCBpZnJhbWUgdG8gZGlzcG9zZSAtIFwiK2EpfTtcbl8uZy5ONj1mdW5jdGlvbihhKXt2YXIgYj1uZXcgaW8oYSk7YT1uZXcgZ28oYi52YWx1ZSgpKTtpZihhLlQuc2VsZkNvbm5lY3QpdmFyIGM9dGhpcztlbHNlKF8uc20oU24udGVzdChiLmdldE9yaWdpbigpKSxcIklsbGVnYWwgb3JpZ2luIGZvciBjb25uZWN0ZWQgaWZyYW1lIC0gXCIrYi5nZXRPcmlnaW4oKSksYz10aGlzLmdldENvbnRleHQoKS52Z1tiLmdldEZyYW1lTmFtZSgpXSxjKT96bihiKSYmKGMucmwoKSx0byhjLFwiX2dfcnBjUmVhZHlcIikpOihiPWpvKGxvKGtvKG5ldyBpbyxiLkZnKCkpLGIubGkoKSkuV2ooYi5nZXRPcmlnaW4oKSksYi5nZXRGcmFtZU5hbWUoKSkucmwoem4oYikpLnduKGxuKGIpKSxjPXRoaXMuZ2V0Q29udGV4dCgpLmF0dGFjaChiLnZhbHVlKCkpKTtiPXRoaXMuZ2V0Q29udGV4dCgpO3ZhciBkPWEuVC5yb2xlO2E9YS5ULmRhdGE7dm8oYik7ZD1kfHxcIlwiO18udmYoYi5YRSxkLFtdKS5wdXNoKHtUZjpjLGRhdGE6YX0pO3pvKGMsYSxiLlpJW2RdKX07XG5fLmcuRUw9ZnVuY3Rpb24oYSxiKXsobmV3IGlvKGIpKS5ULl9yZWxheWVkRGVwdGh8fChiPXt9LEFuKHhuKG5ldyBnbyhiKSxcIl9vcGVuZXJcIikpLHRvKGEsXCJfZ19jb25uZWN0XCIsYikpfTtcbl8uZy5jWD1mdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9YS5ULm1lc3NhZ2VIYW5kbGVycyxkPWEuVC5tZXNzYWdlSGFuZGxlcnNGaWx0ZXIsZT1hLlQub25DbG9zZTtfLm9uKF8uTGsoXy5LayhhLG51bGwpLG51bGwpLG51bGwpO3JldHVybiB0byh0aGlzLFwiX2dfb3BlblwiLGEudmFsdWUoKSkudGhlbihmdW5jdGlvbihmKXt2YXIgaD1uZXcgaW8oZlswXSksaz1oLmdldEZyYW1lTmFtZSgpO2Y9bmV3IGlvO3ZhciBsPWIubGkoKSxtPWgubGkoKTtsbyhrbyhmLGIuRmcoKStcIi9cIitoLkZnKCkpLG0rXCIvXCIrbCk7am8oZixrKTtmLldqKGguZ2V0T3JpZ2luKCkpO2Yuc3MoaC5ULmFwaXMpO2Yud24obG4oYSkpO18uS2soZixjKTtfLkxrKGYsZCk7Xy5vbihmLGUpOyhoPWIuZ2V0Q29udGV4dCgpLnZnW2tdKXx8KGg9Yi5nZXRDb250ZXh0KCkuYXR0YWNoKGYudmFsdWUoKSkpO3JldHVybiBofSl9O1xuXy5nLmdLPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZ2V0VXJsKCk7Xy5zbSghYnx8Xy5IbS50ZXN0KGIpLFwiSWxsZWdhbCB1cmwgZm9yIG5ldyBpZnJhbWUgLSBcIitiKTt2YXIgYz1hLndvKCkudmFsdWUoKTtiPXt9O2Zvcih2YXIgZCBpbiBjKV8ueGYoYyxkKSYmXy54ZihUbixkKSYmKGJbZF09Y1tkXSk7Xy54ZihjLFwic3R5bGVcIikmJihkPWMuc3R5bGUsdHlwZW9mIGQ9PT1cIm9iamVjdFwiJiYoYi5zdHlsZT1zbyhkKSkpO2EudmFsdWUoKS5hdHRyaWJ1dGVzPWJ9O1xuXy5nLkZjYT1mdW5jdGlvbihhKXthPW5ldyBpbyhhKTt0aGlzLmdLKGEpO3ZhciBiPWEuVC5fcmVsYXllZERlcHRofHwwO2EuVC5fcmVsYXllZERlcHRoPWIrMTthLlQub3BlbmVySWZyYW1lPXRoaXM7dmFyIGM9bG4oYSk7YS53bihudWxsKTt2YXIgZD10aGlzO3JldHVybiB0aGlzLmdldENvbnRleHQoKS5vcGVuKGEudmFsdWUoKSkudGhlbihmdW5jdGlvbihlKXt2YXIgZj0obmV3IGlvKGUuQWMoKSkpLlQuYXBpcyxoPW5ldyBpbztubyhlLGQsaCk7Yj09MCYmeG4obmV3IGdvKGgudmFsdWUoKSksXCJfb3BlbmVyXCIpO2gucmwoITApO2gud24oYyk7dG8oZSxcIl9nX2Nvbm5lY3RcIixoLnZhbHVlKCkpO2g9bmV3IGlvO2pvKGxvKGtvKGgsZS5GZygpKSxlLkZZKSxlLmdldEZyYW1lTmFtZSgpKS5XaihlLmdldE9yaWdpbigpKS5zcyhmKTtyZXR1cm4gaC52YWx1ZSgpfSl9O1xuXy5nLlZkYT1mdW5jdGlvbihhKXt0aGlzLmdldENvbnRleHQoKS5hZGRPbk9wZW5lckhhbmRsZXIoZnVuY3Rpb24oYil7Yi5zZW5kKFwiX2dfd2FzUmVzdHlsZWRcIixhLHZvaWQgMCxfLktuKX0sbnVsbCxfLktuKX07dmFyIEVvO18uQW89Xy53ZigpO18uQm89Xy53ZigpO18uQ289ZnVuY3Rpb24oYSxiKXtfLkFvW2FdPWJ9O18uRG89ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQW9bYV19O0VvPWZ1bmN0aW9uKGEsYil7Xy5CZi5sb2FkKFwiZ2FwaS5pZnJhbWVzLnN0eWxlLlwiK2EsYil9O18uRm89ZnVuY3Rpb24oYSxiKXtfLkJvW2FdPWJ9O18uR289ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQm9bYV19O18udW89ZnVuY3Rpb24oYSl7YT1hfHx7fTt0aGlzLmVoPSExO3RoaXMuS2o9Xy53ZigpO3RoaXMudmc9Xy53ZigpO3RoaXMuamc9YS5fd2luZG93fHxfLnJmO3RoaXMuUWQ9dGhpcy5qZy5sb2NhdGlvbi5ocmVmO3RoaXMudFg9KHRoaXMudUo9SG8odGhpcy5RZCxcInBhcmVudFwiKSk/SG8odGhpcy5RZCxcInBmbmFtZVwiKTpcIlwiO3RoaXMuSGE9dGhpcy51Sj9Ibyh0aGlzLlFkLFwiX2dmaWRcIil8fEhvKHRoaXMuUWQsXCJpZFwiKTpcIlwiO3RoaXMuRnE9Xy5VbSh0aGlzLkhhLHRoaXMudFgpO3RoaXMuSmQ9Xy5OaCh0aGlzLlFkKTtpZih0aGlzLkhhKXt2YXIgYj1uZXcgaW87a28oYixhLl9wYXJlbnRScGNBZGRyfHxcIi4uXCIpO2xvKGIsYS5fcGFyZW50UmV0QWRkcnx8dGhpcy5IYSk7Yi5XaihfLk5oKHRoaXMudUp8fHRoaXMuUWQpKTtqbyhiLHRoaXMudFgpO3RoaXMud2I9dGhpcy5hdHRhY2goYi52YWx1ZSgpKX1lbHNlIHRoaXMud2I9bnVsbH07Xy5nPV8udW8ucHJvdG90eXBlO1xuXy5nLmlzRGlzcG9zZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5laH07Xy5nLmRpc3Bvc2U9ZnVuY3Rpb24oKXtpZighdGhpcy5pc0Rpc3Bvc2VkKCkpe2Zvcih2YXIgYT1fLnNhKE9iamVjdC52YWx1ZXModGhpcy52ZykpLGI9YS5uZXh0KCk7IWIuZG9uZTtiPWEubmV4dCgpKWIudmFsdWUuZGlzcG9zZSgpO3RoaXMuZWg9ITB9fTtfLmcuZ2V0RnJhbWVOYW1lPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuRnF9O18uZy5nZXRPcmlnaW49ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5KZH07Xy5nLmdldFdpbmRvdz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmpnfTtfLmcuQWI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5qZy5kb2N1bWVudH07Xy5nLnNldEdsb2JhbFBhcmFtPWZ1bmN0aW9uKGEsYil7dGhpcy5LalthXT1ifTtfLmcuZ2V0R2xvYmFsUGFyYW09ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuS2pbYV19O1xuXy5nLmF0dGFjaD1mdW5jdGlvbihhKXtfLnNtKCF0aGlzLmlzRGlzcG9zZWQoKSxcIkNhbm5vdCBhdHRhY2ggaWZyYW1lIGluIGRpc3Bvc2VkIGNvbnRleHRcIik7YT1uZXcgaW8oYSk7YS5GZygpfHxrbyhhLGEuZ2V0SWQoKSk7YS5saSgpfHxsbyhhLFwiLi5cIik7YS5nZXRPcmlnaW4oKXx8YS5XaihfLk5oKGEuZ2V0VXJsKCkpKTthLmdldEZyYW1lTmFtZSgpfHxqbyhhLF8uVW0oYS5nZXRJZCgpLHRoaXMuRnEpKTt2YXIgYj1hLmdldEZyYW1lTmFtZSgpO2lmKHRoaXMudmdbYl0pcmV0dXJuIHRoaXMudmdbYl07dmFyIGM9YS5GZygpLGQ9YzthLmdldE9yaWdpbigpJiYoZD1jK1wifFwiK2EuZ2V0T3JpZ2luKCkpO3ZhciBlPWEubGkoKSxmPWxuKGEpO2Z8fChmPShmPWEuZ2V0SWZyYW1lRWwoKSkmJihmLmdldEF0dHJpYnV0ZShcImRhdGEtcG9zdG9yaWdpblwiKXx8Zi5zcmMpfHxhLmdldFVybCgpLGY9Xy5DZihmLFwicnBjdG9rZW5cIikpO21vKGEsXy5ybShkLGUsZixhLlQuX3BvcHVwV2luZG93KSk7XG5kPSgod2luZG93LmdhZGdldHN8fHt9KS5ycGN8fHt9KS5zZXRBdXRoVG9rZW47ZiYmZCYmZChjLGYpO3ZhciBoPW5ldyBfLnFvKHRoaXMsYyxiLGEpLGs9YS5ULm1lc3NhZ2VIYW5kbGVyc0ZpbHRlcjtfLnZuKGEuVC5tZXNzYWdlSGFuZGxlcnMsZnVuY3Rpb24obCxtKXtoLnJlZ2lzdGVyKG0sbCxrKX0pO3puKGEpJiZoLnJsKCk7dG8oaCxcIl9nX3JwY1JlYWR5XCIpO3JldHVybiBofTtfLmcuZ0s9ZnVuY3Rpb24oYSl7am8oYSxudWxsKTt2YXIgYj1hLmdldElkKCk7IWJ8fEluLnRlc3QoYikmJiF0aGlzLmdldFdpbmRvdygpLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGIpfHwoXy5aZy5sb2coXCJJZ25vcmluZyByZXF1ZXN0ZWQgaWZyYW1lIElEIC0gXCIrYiksYS5WZShudWxsKSl9O3ZhciBIbz1mdW5jdGlvbihhLGIpe3ZhciBjPV8uQ2YoYSxiKTtjfHwoYz1fLlVnKF8uQ2YoYSxcImpjcFwiLFwiXCIpKVtiXSk7cmV0dXJuIGN8fFwiXCJ9O1xuXy51by5wcm90b3R5cGUub3BlbkNoaWxkPWZ1bmN0aW9uKGEpe18uc20oIXRoaXMuaXNEaXNwb3NlZCgpLFwiQ2Fubm90IG9wZW4gaWZyYW1lIGluIGRpc3Bvc2VkIGNvbnRleHRcIik7dmFyIGI9bmV3IGlvKGEpO0lvKHRoaXMsYik7dmFyIGM9Yi5nZXRGcmFtZU5hbWUoKTtpZihjJiZ0aGlzLnZnW2NdKXJldHVybiB0aGlzLnZnW2NdO3RoaXMuZ0soYik7Yz1iLmdldFVybCgpO18uc20oYyxcIk5vIHVybCBmb3IgbmV3IGlmcmFtZVwiKTt2YXIgZD1iLlQucXVlcnlQYXJhbXN8fHt9O2QudXNlZ2FwaT1cIjFcIjtfLm1uKGIsZCk7ZD10aGlzLlNUJiZ0aGlzLlNUKGMsYik7ZHx8KGQ9Yi5ULndoZXJlLF8uc20oISFkLFwiTm8gbG9jYXRpb24gZm9yIG5ldyBpZnJhbWVcIiksYz1fLmRuKGMsZCxhKSxiLlQuaWZyYW1lRWw9YyxkPWMuZ2V0QXR0cmlidXRlKFwiaWRcIikpO2tvKGIsZCkuVmUoZCk7Yi5XaihfLk5oKGIuVC5ldXJsfHxcIlwiKSk7dGhpcy5aViYmdGhpcy5aVihiLGIuZ2V0SWZyYW1lRWwoKSk7XG5jPXRoaXMuYXR0YWNoKGEpO2MuRUwmJmMuRUwoYyxhKTsoYT1iLlQub25DcmVhdGUpJiZhKGMpO2IuVC5kaXNhYmxlUmVsYXlPcGVufHxjLmFwcGx5SWZyYW1lc0FwaShcIl9vcGVuXCIpO3JldHVybiBjfTtcbnZhciBKbz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Yi5ULmNhbnZhc1VybDtpZighZClyZXR1cm4gYztfLnNtKCFiLlQuYWxsb3dQb3N0JiYhYi5ULmZvcmNlUG9zdCxcIlBvc3QgaXMgbm90IHN1cHBvcnRlZCB3aGVuIHVzaW5nIGNhbnZhcyB1cmxcIik7dmFyIGU9Yi5nZXRVcmwoKTtfLnNtKGUmJl8uTmgoZSk9PT1hLkpkJiZfLk5oKGQpPT09YS5KZCxcIldyb25nIG9yaWdpbiBmb3IgY2FudmFzIG9yIGhpZGRlbiB1cmwgXCIrZCk7Yi5zZXRVcmwoZCk7Xy5xbihiKTtiLlQuY2FudmFzVXJsPW51bGw7cmV0dXJuIGZ1bmN0aW9uKGYpe3ZhciBoPWYuZ2V0V2luZG93KCksaz1oLmxvY2F0aW9uLmhhc2g7az1fLmNuKGUpKygvIy8udGVzdChlKT9rLnJlcGxhY2UoL14jLyxcIiZcIik6ayk7aC5sb2NhdGlvbi5yZXBsYWNlKGspO2MmJmMoZil9fSxLbz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Yi5ULnJlbGF5T3BlbjtpZihkKXt2YXIgZT1hLmdldFBhcmVudElmcmFtZSgpO2QgaW5zdGFuY2VvZiBfLnFvP1xuKGU9ZCxfLm5uKGIsMCkpOk51bWJlcihkKT4wJiZfLm5uKGIsTnVtYmVyKGQpLTEpO2lmKGUpe18uc20oISFlLmNYLFwiUmVsYXlpbmcgaWZyYW1lIG9wZW4gaXMgZGlzYWJsZWRcIik7aWYoZD1iLmdldFN0eWxlKCkpaWYoZD1fLkJvW2RdKWIuSHAoYSksZChiLnZhbHVlKCkpLGIuSHAobnVsbCk7Yi5ULm9wZW5lcklmcmFtZT1udWxsO2MucmVzb2x2ZShlLmNYKGIpKTtyZXR1cm4hMH19cmV0dXJuITF9LExvPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1iLmdldFN0eWxlKCk7aWYoZClpZihfLnNtKCEhXy5EbyxcIkRlZmVyIHN0eWxlIGlzIGRpc2FibGVkLCB3aGVuIHJlcXVlc3Rpbmcgc3R5bGUgXCIrZCksXy5Bb1tkXSlJbyhhLGIpO2Vsc2UgcmV0dXJuIEVvKGQsZnVuY3Rpb24oKXtfLnNtKCEhXy5Bb1tkXSxcIkZhaWwgdG8gbG9hZCBzdHlsZSAtIFwiK2QpO2MucmVzb2x2ZShhLm9wZW4oYi52YWx1ZSgpKSl9KSwhMDtyZXR1cm4hMX07XG5fLnVvLnByb3RvdHlwZS5vcGVuPWZ1bmN0aW9uKGEsYil7Xy5zbSghdGhpcy5pc0Rpc3Bvc2VkKCksXCJDYW5ub3Qgb3BlbiBpZnJhbWUgaW4gZGlzcG9zZWQgY29udGV4dFwiKTt2YXIgYz1uZXcgaW8oYSk7Yj1Kbyh0aGlzLGMsYik7dmFyIGQ9bmV3IFZuKGIpOyhiPWMuZ2V0VXJsKCkpJiZjLnNldFVybChfLmNuKGIpKTtpZihLbyh0aGlzLGMsZCl8fExvKHRoaXMsYyxkKXx8S28odGhpcyxjLGQpKXJldHVybiBkLnByb21pc2U7aWYocm4oYykhPW51bGwpe3ZhciBlPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtoLmdldElmcmFtZUVsKCkuc3JjPVwiYWJvdXQ6YmxhbmtcIjtkLnJlamVjdCh7dGltZW91dDpcIkV4Y2VlZGVkIHRpbWUgbGltaXQgb2YgOlwiK3JuKGMpK1wibWlsbGlzZWNvbmRzXCJ9KX0scm4oYykpLGY9ZC5yZXNvbHZlO2QucmVzb2x2ZT1mdW5jdGlvbihrKXtjbGVhclRpbWVvdXQoZSk7ZihrKX19Yy5ULndhaXRGb3JPbmxvYWQmJmtuKGMud28oKSxmdW5jdGlvbigpe2QucmVzb2x2ZShoKX0pO1xudmFyIGg9dGhpcy5vcGVuQ2hpbGQoYSk7Yy5ULndhaXRGb3JPbmxvYWR8fGQucmVzb2x2ZShoKTtyZXR1cm4gZC5wcm9taXNlfTtfLnVvLnByb3RvdHlwZS5nZXRQYXJlbnRJZnJhbWU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy53Yn07dmFyIE1vPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5nZXRQYXJlbnRJZnJhbWUoKSxkPSEwO2IuZmlsdGVyJiYoZD1iLmZpbHRlci5jYWxsKGIuVGYsYi5wYXJhbXMpKTtyZXR1cm4gXy5rbChkKS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBlJiZjPyhiLnJYJiZiLnJYLmNhbGwoYSxiLnBhcmFtcyksZT1iLnNlbmRlcj9iLnNlbmRlcihiLnBhcmFtcyk6dG8oYyxiLm1lc3NhZ2UsYi5wYXJhbXMpLGIuR2dhP2UudGhlbihmdW5jdGlvbigpe3JldHVybiEwfSk6ITApOiExfSl9O18uZz1fLnVvLnByb3RvdHlwZTtcbl8uZy5jbG9zZVNlbGY9ZnVuY3Rpb24oYSxiLGMpe2E9TW8odGhpcyx7c2VuZGVyOmZ1bmN0aW9uKGQpe3ZhciBlPV8uSG4uZ2V0UGFyZW50SWZyYW1lKCk7Xy52bihfLkhuLnZnLGZ1bmN0aW9uKGYpe2YhPT1lJiZ0byhmLFwiX2dfd2FzQ2xvc2VkXCIsZCl9KTtyZXR1cm4gdG8oZSxcIl9nX2Nsb3NlTWVcIixkKX0sbWVzc2FnZTpcIl9nX2Nsb3NlTWVcIixwYXJhbXM6YSxUZjpjLGZpbHRlcjp0aGlzLmdldEdsb2JhbFBhcmFtKFwib25DbG9zZVNlbGZGaWx0ZXJcIil9KTtiPW5ldyBWbihiKTtiLnJlc29sdmUoYSk7cmV0dXJuIGIucHJvbWlzZX07Xy5nLnJlc3R5bGVTZWxmPWZ1bmN0aW9uKGEsYixjKXthPWF8fHt9O2I9bmV3IFZuKGIpO2IucmVzb2x2ZShNbyh0aGlzLHttZXNzYWdlOlwiX2dfcmVzdHlsZU1lXCIscGFyYW1zOmEsVGY6YyxmaWx0ZXI6dGhpcy5nZXRHbG9iYWxQYXJhbShcIm9uUmVzdHlsZVNlbGZGaWx0ZXJcIiksR2dhOiEwLHJYOnRoaXMudzB9KSk7cmV0dXJuIGIucHJvbWlzZX07XG5fLmcudzA9ZnVuY3Rpb24oYSl7YS5oZWlnaHQ9PT1cImF1dG9cIiYmKGEuaGVpZ2h0PV8uZm4oKSl9O18uZy5zZXRDbG9zZVNlbGZGaWx0ZXI9ZnVuY3Rpb24oYSl7dGhpcy5zZXRHbG9iYWxQYXJhbShcIm9uQ2xvc2VTZWxmRmlsdGVyXCIsYSl9O18uZy5zZXRSZXN0eWxlU2VsZkZpbHRlcj1mdW5jdGlvbihhKXt0aGlzLnNldEdsb2JhbFBhcmFtKFwib25SZXN0eWxlU2VsZkZpbHRlclwiLGEpfTt2YXIgSW89ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmdldFN0eWxlKCk7aWYoYyl7Yi5BaChudWxsKTt2YXIgZD1fLkFvW2NdO18uc20oZCxcIk5vIHN1Y2ggc3R5bGU6IFwiK2MpO2IuSHAoYSk7ZChiLnZhbHVlKCkpO2IuSHAobnVsbCl9fTtcbl8udW8ucHJvdG90eXBlLnJlYWR5PWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWJ8fHt9LGY9dGhpcy5nZXRQYXJlbnRJZnJhbWUoKTt0aGlzLmFkZE9uT3BlbmVySGFuZGxlcihmdW5jdGlvbihrKXtfLnZuKGUsZnVuY3Rpb24obCxtKXtrLnJlZ2lzdGVyKG0sbCxkKX0sdGhpcyk7ayE9PWYmJmsuc2VuZChcIl9yZWFkeVwiLGgsdm9pZCAwLGQpfSx2b2lkIDAsZCk7dmFyIGg9YXx8e307aC5oZWlnaHQ9aC5oZWlnaHR8fFwiYXV0b1wiO3RoaXMudzAoaCk7ZiYmZi5zZW5kKFwiX3JlYWR5XCIsaCxjLF8uS24pfTtcbl8udW8ucHJvdG90eXBlLmNvbm5lY3RJZnJhbWVzPWZ1bmN0aW9uKGEsYil7YT1uZXcgZ28oYSk7dmFyIGM9bmV3IGdvKGIpLGQ9em4oYSk7Yj1hLmdldElmcmFtZSgpO3ZhciBlPWMuZ2V0SWZyYW1lKCk7aWYoZSl7dmFyIGY9bG4oYSksaD1uZXcgaW87bm8oYixlLGgpO3luKHhuKChuZXcgZ28oaC52YWx1ZSgpKSkud24oZiksYS5ULnJvbGUpLGEuVC5kYXRhKS5ybChkKTt2YXIgaz1uZXcgaW87bm8oZSxiLGspO3luKHhuKChuZXcgZ28oay52YWx1ZSgpKSkud24oZiksYy5ULnJvbGUpLGMuVC5kYXRhKS5ybCghMCk7dG8oYixcIl9nX2Nvbm5lY3RcIixoLnZhbHVlKCksZnVuY3Rpb24oKXtkfHx0byhlLFwiX2dfY29ubmVjdFwiLGsudmFsdWUoKSl9KTtkJiZ0byhlLFwiX2dfY29ubmVjdFwiLGsudmFsdWUoKSl9ZWxzZSBjPXt9LHluKHhuKEFuKG5ldyBnbyhjKSksYS5ULnJvbGUpLGEuVC5kYXRhKSx0byhiLFwiX2dfY29ubmVjdFwiLGMpfTtcbnZhciB2bz1mdW5jdGlvbihhKXthLlhFfHwoYS5YRT1fLndmKCksYS5aST1fLndmKCkpfTtfLnVvLnByb3RvdHlwZS5hZGRPbkNvbm5lY3RIYW5kbGVyPWZ1bmN0aW9uKGEsYixjLGQpe3ZvKHRoaXMpO3R5cGVvZiBhPT09XCJvYmplY3RcIj8oYj1uZXcgQ24oYSksYz1iLmNUKCl8fFwiXCIpOihiPUVuKERuKGEpLkxjKGIpLnNzKGMpLGQpLGM9YSk7ZD10aGlzLlhFW2NdfHxbXTthPSExO2Zvcih2YXIgZT0wO2U8ZC5sZW5ndGgmJiFhO2UrKyl6byh0aGlzLnZnW2RbZV0uVGYuZ2V0RnJhbWVOYW1lKCldLGRbZV0uZGF0YSxbYl0pLGE9Yi5ULnJ1bk9uY2U7Yz1fLnZmKHRoaXMuWkksYyxbXSk7YXx8Yi5ULmRvbnRXYWl0fHxjLnB1c2goYil9O1xuXy51by5wcm90b3R5cGUucmVtb3ZlT25Db25uZWN0SGFuZGxlcj1mdW5jdGlvbihhLGIpe2E9Xy52Zih0aGlzLlpJLGEsW10pO2lmKGIpZm9yKHZhciBjPSExLGQ9MDshYyYmZDxhLmxlbmd0aDtkKyspYVtkXS5CYigpPT09YiYmKGM9ITAsYS5zcGxpY2UoZCwxKSk7ZWxzZSBhLnNwbGljZSgwLGEubGVuZ3RoKX07dmFyIHpvPWZ1bmN0aW9uKGEsYixjKXtjPWN8fFtdO2Zvcih2YXIgZD0wO2Q8Yy5sZW5ndGg7ZCsrKXt2YXIgZT1jW2RdO2lmKGUmJmEpe3ZhciBmPWUuVC5maWx0ZXJ8fF8uSm47aWYoYSYmZihhKSl7Zj1lLlQuYXBpc3x8W107Zm9yKHZhciBoPTA7aDxmLmxlbmd0aDtoKyspYS5hcHBseUlmcmFtZXNBcGkoZltoXSk7ZS5CYigpJiZlLkJiKCkoYSxiKTtlLlQucnVuT25jZSYmKGMuc3BsaWNlKGQsMSksLS1kKX19fX07XG5fLnVvLnByb3RvdHlwZS5hZGRPbk9wZW5lckhhbmRsZXI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMuYWRkT25Db25uZWN0SGFuZGxlcjthPUVuKERuKFwiX29wZW5lclwiKS5MYyhhKS5zcyhiKSxjKTthLlQucnVuT25jZT0hMDtkLmNhbGwodGhpcyxhLnZhbHVlKCkpfTtfLnVvLnByb3RvdHlwZS5aVj1mdW5jdGlvbihhLGIpe3ZhciBjPWEubWooKTtpZihjKXtfLnNtKGMuSmQ9PT1hLmdldE9yaWdpbigpLFwiV3JvbmcgY29udHJvbGxlciBvcmlnaW4gXCIrdGhpcy5KZCtcIiAhPT0gXCIrYS5nZXRPcmlnaW4oKSk7dmFyIGQ9YS5GZygpO2tvKGEsYy5GZygpKTtsbyhhLGMubGkoKSk7dmFyIGU9bmV3IGlvO3BuKGtvKGUsZCksYS5ULmNvbnRyb2xsZXJEYXRhKTtfLkhmKGIsXCJsb2FkXCIsZnVuY3Rpb24oKXtjLnNlbmQoXCJfZ19jb250cm9sXCIsZS52YWx1ZSgpKX0pfX07XG52YXIgTm89ZnVuY3Rpb24oYSxiLGMpe2E9YS5nZXRXaW5kb3coKTt2YXIgZD1hLmRvY3VtZW50LGU9Yy5ULnJldXNlV2luZG93O2lmKGUpe3ZhciBmPWMuZ2V0SWQoKTtpZighZil0aHJvdyBFcnJvcihcIk9cIik7fWVsc2UgZj1fLlRtKGQsYyk7dmFyIGg9ZixrPWMuVC5ycGNSZWxheVVybDtpZihrKXtrPV8uYm4oayk7aD1jLlQuZnJhZ21lbnRQYXJhbXN8fHt9O2gucmx5PWY7Yy5ULmZyYWdtZW50UGFyYW1zPWg7aD1jLlQud2hlcmV8fGQuYm9keTtfLnNtKCEhaCxcIkNhbm5vdCBvcGVuIHdpbmRvdyBpbiBhIHBhZ2Ugd2l0aCBubyBib2R5XCIpO3ZhciBsPXt9O2wuc3JjPWs7bC5zdHlsZT1cImRpc3BsYXk6bm9uZTtcIjtsLmlkPWY7bC5uYW1lPWY7Xy5YbShkLGgsbCxmKTtoPWYrXCJfcmVsYXlcIn1iPV8uY24oYik7dmFyIG09Xy5WbShkLGIsZixjLnZhbHVlKCkpO2MuVC5ldXJsPW07Yj1jLlQub3BlbkFzV2luZG93O3R5cGVvZiBiIT09XCJzdHJpbmdcIiYmKGI9dm9pZCAwKTtjPXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50fHxcblwiXCI7L1RyaWRlbnR8TVNJRS9pLnRlc3QoYykmJi8jLy50ZXN0KGMpJiYobT1cImphdmFzY3JpcHQ6d2luZG93LmxvY2F0aW9uLnJlcGxhY2UoXCIrXy5yZi5KU09OLnN0cmluZ2lmeShtKS5yZXBsYWNlKC8jL2csXCJcXFxceDIzXCIpK1wiKVwiKTtpZihlKXt2YXIgbj1lO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtuLmxvY2F0aW9uLnJlcGxhY2UobSl9KX1lbHNlIG49Xy5IayhhLG0saCxiKTtyZXR1cm57aWQ6ZixVMDpufX07Xy51by5wcm90b3R5cGUuU1Q9ZnVuY3Rpb24oYSxiKXtpZihiLlQub3BlbkFzV2luZG93KXthPU5vKHRoaXMsYSxiKTt2YXIgYz1hLmlkO18uc20oISFhLlUwLFwiT3BlbiBwb3B1cCB3aW5kb3cgZmFpbGVkXCIpO2IuVC5fcG9wdXBXaW5kb3c9YS5VMH1yZXR1cm4gY307Rm49Xy53ZigpO0duPV8ud2YoKTtfLkhuPW5ldyBfLnVvO1FuKFwiX2dfcnBjUmVhZHlcIixfLnFvLnByb3RvdHlwZS5ybCk7UW4oXCJfZ19kaXNjb3ZlclwiLF8ucW8ucHJvdG90eXBlLms5KTtRbihcIl9nX3BpbmdcIixfLnFvLnByb3RvdHlwZS5XY2EpO1FuKFwiX2dfY2xvc2VcIixfLnFvLnByb3RvdHlwZS5KNik7UW4oXCJfZ19jbG9zZU1lXCIsXy5xby5wcm90b3R5cGUuSzYpO1FuKFwiX2dfcmVzdHlsZVwiLF8ucW8ucHJvdG90eXBlLldkYSk7UW4oXCJfZ19yZXN0eWxlTWVcIixfLnFvLnByb3RvdHlwZS5YZGEpO1FuKFwiX2dfd2FzQ2xvc2VkXCIsXy5xby5wcm90b3R5cGUuSWdhKTtfLlBuKFwiY29udHJvbFwiLFwiX2dfY29udHJvbFwiLF8ucW8ucHJvdG90eXBlLlE2KTtfLlBuKFwiY29udHJvbFwiLFwiX2dfZGlzcG9zZUNvbnRyb2xcIixfLnFvLnByb3RvdHlwZS5mNyk7dmFyIE9vPV8uSG4uZ2V0UGFyZW50SWZyYW1lKCk7XG5PbyYmT28ucmVnaXN0ZXIoXCJfZ19yZXN0eWxlRG9uZVwiLF8ucW8ucHJvdG90eXBlLlZkYSxfLktuKTtRbihcIl9nX2Nvbm5lY3RcIixfLnFvLnByb3RvdHlwZS5ONik7dmFyIFBvPXt9O1BvLl9nX29wZW49Xy5xby5wcm90b3R5cGUuRmNhO18uT24oXCJfb3BlblwiLFBvLF8uS24pO3ZhciBRbz17Q29udGV4dDpfLnVvLElmcmFtZTpfLnFvLFNBTUVfT1JJR0lOX0lGUkFNRVNfRklMVEVSOl8uSm4sQ1JPU1NfT1JJR0lOX0lGUkFNRVNfRklMVEVSOl8uS24sbWFrZVdoaXRlTGlzdElmcmFtZXNGaWx0ZXI6Xy5MbixnZXRDb250ZXh0Ol8uUm4scmVnaXN0ZXJJZnJhbWVzQXBpOl8uT24scmVnaXN0ZXJJZnJhbWVzQXBpSGFuZGxlcjpfLlBuLHJlZ2lzdGVyU3R5bGU6Xy5DbyxyZWdpc3RlckJlZm9yZU9wZW5TdHlsZTpfLkZvLGdldFN0eWxlOl8uRG8sZ2V0QmVmb3JlT3BlblN0eWxlOl8uR28sY3JlYXRlOl8uZG59O2FvKHtpbnN0YW5jZTpmdW5jdGlvbigpe3JldHVybiBRb30scHJpb3JpdHk6Mn0pO18uUG4oXCJnYXBpLmxvYWRcIixcIl9nX2dhcGkubG9hZFwiLGZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5nbChmdW5jdGlvbihiKXtfLkJmLmxvYWQoYSYmdHlwZW9mIGE9PT1cIm9iamVjdFwiJiZhLmZlYXR1cmVzfHxcIlwiLGIpfSl9KTtcbl8uUm89ZnVuY3Rpb24oYSl7dGhpcy5UPWF9O18uZz1fLlJvLnByb3RvdHlwZTtfLmcudUs9ZnVuY3Rpb24oYSl7dGhpcy5ULmFuY2hvcj1hO3JldHVybiB0aGlzfTtfLmcuamo9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ULmFuY2hvcn07Xy5nLnZLPWZ1bmN0aW9uKGEpe3RoaXMuVC5hbmNob3JQb3NpdGlvbj1hfTtfLmcuZWU9ZnVuY3Rpb24oYSl7dGhpcy5ULmhlaWdodD1hO3JldHVybiB0aGlzfTtfLmcuUWM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ULmhlaWdodH07Xy5nLldlPWZ1bmN0aW9uKGEpe3RoaXMuVC53aWR0aD1hO3JldHVybiB0aGlzfTtfLmcuWGI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ULndpZHRofTtfLmcuc2V0WkluZGV4PWZ1bmN0aW9uKGEpe3RoaXMuVC56SW5kZXg9YTtyZXR1cm4gdGhpc307Xy5nLmdldFpJbmRleD1mdW5jdGlvbigpe3JldHVybiB0aGlzLlQuekluZGV4fTtcbl8uU289ZnVuY3Rpb24oYSl7YS5ULmNvbm5lY3RXaXRoUXVlcnlQYXJhbXM9ITA7cmV0dXJuIGF9O1xuXy5yKFwiZ2FwaS5pZnJhbWVzLmNyZWF0ZVwiLF8uZG4pO1xuXy5yKFwiZ2FwaS5pZnJhbWVzLnJlZ2lzdGVyU3R5bGVcIixfLkNvKTtfLnIoXCJnYXBpLmlmcmFtZXMucmVnaXN0ZXJCZWZvcmVPcGVuU3R5bGVcIixfLkZvKTtfLnIoXCJnYXBpLmlmcmFtZXMuZ2V0U3R5bGVcIixfLkRvKTtfLnIoXCJnYXBpLmlmcmFtZXMuZ2V0QmVmb3JlT3BlblN0eWxlXCIsXy5Hbyk7Xy5yKFwiZ2FwaS5pZnJhbWVzLnJlZ2lzdGVySWZyYW1lc0FwaVwiLF8uT24pO18ucihcImdhcGkuaWZyYW1lcy5yZWdpc3RlcklmcmFtZXNBcGlIYW5kbGVyXCIsXy5Qbik7Xy5yKFwiZ2FwaS5pZnJhbWVzLmdldENvbnRleHRcIixfLlJuKTtfLnIoXCJnYXBpLmlmcmFtZXMuU0FNRV9PUklHSU5fSUZSQU1FU19GSUxURVJcIixfLkpuKTtfLnIoXCJnYXBpLmlmcmFtZXMuQ1JPU1NfT1JJR0lOX0lGUkFNRVNfRklMVEVSXCIsXy5Lbik7Xy5yKFwiZ2FwaS5pZnJhbWVzLm1ha2VXaGl0ZUxpc3RJZnJhbWVzRmlsdGVyXCIsXy5Mbik7Xy5yKFwiZ2FwaS5pZnJhbWVzLkNvbnRleHRcIixfLnVvKTtcbl8ucihcImdhcGkuaWZyYW1lcy5Db250ZXh0LnByb3RvdHlwZS5pc0Rpc3Bvc2VkXCIsXy51by5wcm90b3R5cGUuaXNEaXNwb3NlZCk7Xy5yKFwiZ2FwaS5pZnJhbWVzLkNvbnRleHQucHJvdG90eXBlLmdldFdpbmRvd1wiLF8udW8ucHJvdG90eXBlLmdldFdpbmRvdyk7Xy5yKFwiZ2FwaS5pZnJhbWVzLkNvbnRleHQucHJvdG90eXBlLmdldEZyYW1lTmFtZVwiLF8udW8ucHJvdG90eXBlLmdldEZyYW1lTmFtZSk7Xy5yKFwiZ2FwaS5pZnJhbWVzLkNvbnRleHQucHJvdG90eXBlLmdldEdsb2JhbFBhcmFtXCIsXy51by5wcm90b3R5cGUuZ2V0R2xvYmFsUGFyYW0pO18ucihcImdhcGkuaWZyYW1lcy5Db250ZXh0LnByb3RvdHlwZS5zZXRHbG9iYWxQYXJhbVwiLF8udW8ucHJvdG90eXBlLnNldEdsb2JhbFBhcmFtKTtfLnIoXCJnYXBpLmlmcmFtZXMuQ29udGV4dC5wcm90b3R5cGUub3BlblwiLF8udW8ucHJvdG90eXBlLm9wZW4pO1xuXy5yKFwiZ2FwaS5pZnJhbWVzLkNvbnRleHQucHJvdG90eXBlLm9wZW5DaGlsZFwiLF8udW8ucHJvdG90eXBlLm9wZW5DaGlsZCk7Xy5yKFwiZ2FwaS5pZnJhbWVzLkNvbnRleHQucHJvdG90eXBlLmdldFBhcmVudElmcmFtZVwiLF8udW8ucHJvdG90eXBlLmdldFBhcmVudElmcmFtZSk7Xy5yKFwiZ2FwaS5pZnJhbWVzLkNvbnRleHQucHJvdG90eXBlLmNsb3NlU2VsZlwiLF8udW8ucHJvdG90eXBlLmNsb3NlU2VsZik7Xy5yKFwiZ2FwaS5pZnJhbWVzLkNvbnRleHQucHJvdG90eXBlLnJlc3R5bGVTZWxmXCIsXy51by5wcm90b3R5cGUucmVzdHlsZVNlbGYpO18ucihcImdhcGkuaWZyYW1lcy5Db250ZXh0LnByb3RvdHlwZS5zZXRDbG9zZVNlbGZGaWx0ZXJcIixfLnVvLnByb3RvdHlwZS5zZXRDbG9zZVNlbGZGaWx0ZXIpO18ucihcImdhcGkuaWZyYW1lcy5Db250ZXh0LnByb3RvdHlwZS5zZXRSZXN0eWxlU2VsZkZpbHRlclwiLF8udW8ucHJvdG90eXBlLnNldFJlc3R5bGVTZWxmRmlsdGVyKTtcbl8ucihcImdhcGkuaWZyYW1lcy5Db250ZXh0LnByb3RvdHlwZS5hZGRPbkNvbm5lY3RIYW5kbGVyXCIsXy51by5wcm90b3R5cGUuYWRkT25Db25uZWN0SGFuZGxlcik7Xy5yKFwiZ2FwaS5pZnJhbWVzLkNvbnRleHQucHJvdG90eXBlLnJlbW92ZU9uQ29ubmVjdEhhbmRsZXJcIixfLnVvLnByb3RvdHlwZS5yZW1vdmVPbkNvbm5lY3RIYW5kbGVyKTtfLnIoXCJnYXBpLmlmcmFtZXMuQ29udGV4dC5wcm90b3R5cGUuYWRkT25PcGVuZXJIYW5kbGVyXCIsXy51by5wcm90b3R5cGUuYWRkT25PcGVuZXJIYW5kbGVyKTtfLnIoXCJnYXBpLmlmcmFtZXMuQ29udGV4dC5wcm90b3R5cGUuY29ubmVjdElmcmFtZXNcIixfLnVvLnByb3RvdHlwZS5jb25uZWN0SWZyYW1lcyk7Xy5yKFwiZ2FwaS5pZnJhbWVzLklmcmFtZVwiLF8ucW8pO18ucihcImdhcGkuaWZyYW1lcy5JZnJhbWUucHJvdG90eXBlLmlzRGlzcG9zZWRcIixfLnFvLnByb3RvdHlwZS5pc0Rpc3Bvc2VkKTtcbl8ucihcImdhcGkuaWZyYW1lcy5JZnJhbWUucHJvdG90eXBlLmdldENvbnRleHRcIixfLnFvLnByb3RvdHlwZS5nZXRDb250ZXh0KTtfLnIoXCJnYXBpLmlmcmFtZXMuSWZyYW1lLnByb3RvdHlwZS5nZXRGcmFtZU5hbWVcIixfLnFvLnByb3RvdHlwZS5nZXRGcmFtZU5hbWUpO18ucihcImdhcGkuaWZyYW1lcy5JZnJhbWUucHJvdG90eXBlLmdldElkXCIsXy5xby5wcm90b3R5cGUuZ2V0SWQpO18ucihcImdhcGkuaWZyYW1lcy5JZnJhbWUucHJvdG90eXBlLnJlZ2lzdGVyXCIsXy5xby5wcm90b3R5cGUucmVnaXN0ZXIpO18ucihcImdhcGkuaWZyYW1lcy5JZnJhbWUucHJvdG90eXBlLnVucmVnaXN0ZXJcIixfLnFvLnByb3RvdHlwZS51bnJlZ2lzdGVyKTtfLnIoXCJnYXBpLmlmcmFtZXMuSWZyYW1lLnByb3RvdHlwZS5zZW5kXCIsXy5xby5wcm90b3R5cGUuc2VuZCk7Xy5yKFwiZ2FwaS5pZnJhbWVzLklmcmFtZS5wcm90b3R5cGUuYXBwbHlJZnJhbWVzQXBpXCIsXy5xby5wcm90b3R5cGUuYXBwbHlJZnJhbWVzQXBpKTtcbl8ucihcImdhcGkuaWZyYW1lcy5JZnJhbWUucHJvdG90eXBlLmdldElmcmFtZUVsXCIsXy5xby5wcm90b3R5cGUuZ2V0SWZyYW1lRWwpO18ucihcImdhcGkuaWZyYW1lcy5JZnJhbWUucHJvdG90eXBlLmdldFNpdGVFbFwiLF8ucW8ucHJvdG90eXBlLmdldFNpdGVFbCk7Xy5yKFwiZ2FwaS5pZnJhbWVzLklmcmFtZS5wcm90b3R5cGUuc2V0U2l0ZUVsXCIsXy5xby5wcm90b3R5cGUuc2V0U2l0ZUVsKTtfLnIoXCJnYXBpLmlmcmFtZXMuSWZyYW1lLnByb3RvdHlwZS5nZXRXaW5kb3dcIixfLnFvLnByb3RvdHlwZS5nZXRXaW5kb3cpO18ucihcImdhcGkuaWZyYW1lcy5JZnJhbWUucHJvdG90eXBlLmdldE9yaWdpblwiLF8ucW8ucHJvdG90eXBlLmdldE9yaWdpbik7Xy5yKFwiZ2FwaS5pZnJhbWVzLklmcmFtZS5wcm90b3R5cGUuY2xvc2VcIixfLnFvLnByb3RvdHlwZS5jbG9zZSk7Xy5yKFwiZ2FwaS5pZnJhbWVzLklmcmFtZS5wcm90b3R5cGUucmVzdHlsZVwiLF8ucW8ucHJvdG90eXBlLnJlc3R5bGUpO1xuXy5yKFwiZ2FwaS5pZnJhbWVzLklmcmFtZS5wcm90b3R5cGUucmVzdHlsZURvbmVcIixfLnFvLnByb3RvdHlwZS5jcyk7Xy5yKFwiZ2FwaS5pZnJhbWVzLklmcmFtZS5wcm90b3R5cGUucmVnaXN0ZXJXYXNSZXN0eWxlZFwiLF8ucW8ucHJvdG90eXBlLnJlZ2lzdGVyV2FzUmVzdHlsZWQpO18ucihcImdhcGkuaWZyYW1lcy5JZnJhbWUucHJvdG90eXBlLnJlZ2lzdGVyV2FzQ2xvc2VkXCIsXy5xby5wcm90b3R5cGUucmVnaXN0ZXJXYXNDbG9zZWQpO18ucihcImdhcGkuaWZyYW1lcy5JZnJhbWUucHJvdG90eXBlLmdldFBhcmFtXCIsXy5xby5wcm90b3R5cGUuZ2V0UGFyYW0pO18ucihcImdhcGkuaWZyYW1lcy5JZnJhbWUucHJvdG90eXBlLnNldFBhcmFtXCIsXy5xby5wcm90b3R5cGUuc2V0UGFyYW0pO18ucihcImdhcGkuaWZyYW1lcy5JZnJhbWUucHJvdG90eXBlLnBpbmdcIixfLnFvLnByb3RvdHlwZS5waW5nKTtfLnIoXCJnYXBpLmlmcmFtZXMuSWZyYW1lLnByb3RvdHlwZS5nZXRPcGVuUGFyYW1zXCIsXy5xby5wcm90b3R5cGUuQWMpO1xuXy5qZz1fLmpnfHx7fTtcbl8uamc9Xy5qZ3x8e307XG4oZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGMpe3ZhciBkPXR5cGVvZiBjPT09XCJ1bmRlZmluZWRcIjtpZihiIT09bnVsbCYmZClyZXR1cm4gYjt2YXIgZT17fTtjPWN8fHdpbmRvdy5sb2NhdGlvbi5ocmVmO3ZhciBmPWMuaW5kZXhPZihcIj9cIiksaD1jLmluZGV4T2YoXCIjXCIpO2M9KGg9PT0tMT9jLnN1YnN0cihmKzEpOltjLnN1YnN0cihmKzEsaC1mLTEpLFwiJlwiLGMuc3Vic3RyKGgrMSldLmpvaW4oXCJcIikpLnNwbGl0KFwiJlwiKTtmPXdpbmRvdy5kZWNvZGVVUklDb21wb25lbnQ/ZGVjb2RlVVJJQ29tcG9uZW50OnVuZXNjYXBlO2g9MDtmb3IodmFyIGs9Yy5sZW5ndGg7aDxrOysraCl7dmFyIGw9Y1toXS5pbmRleE9mKFwiPVwiKTtpZihsIT09LTEpe3ZhciBtPWNbaF0uc3Vic3RyaW5nKDAsbCk7bD1jW2hdLnN1YnN0cmluZyhsKzEpO2w9bC5yZXBsYWNlKC9cXCsvZyxcIiBcIik7dHJ5e2VbbV09ZihsKX1jYXRjaChuKXt9fX1kJiYoYj1lKTtyZXR1cm4gZX12YXIgYj1udWxsO18uamcua2g9YTthKCl9KSgpO18ucihcImdhZGdldHMudXRpbC5nZXRVcmxQYXJhbWV0ZXJzXCIsXy5qZy5raCk7XG5fLk9oPXdpbmRvdy5nb29nbGVhcGlzJiZ3aW5kb3cuZ29vZ2xlYXBpcy5zZXJ2ZXJ8fHt9O1xuXy5uZz1mdW5jdGlvbigpe3ZhciBhPXdpbmRvdy5nYWRnZXRzJiZ3aW5kb3cuZ2FkZ2V0cy5jb25maWcmJndpbmRvdy5nYWRnZXRzLmNvbmZpZy5nZXQ7YSYmXy5UZihhKCkpO3JldHVybntyZWdpc3RlcjpmdW5jdGlvbihiLGMsZCl7ZCYmZChfLlNmKCkpfSxnZXQ6ZnVuY3Rpb24oYil7cmV0dXJuIF8uU2YoYil9LHVwZGF0ZTpmdW5jdGlvbihiLGMpe2lmKGMpdGhyb3dcIkNvbmZpZyByZXBsYWNlbWVudCBpcyBub3Qgc3VwcG9ydGVkXCI7Xy5UZihiKX0semQ6ZnVuY3Rpb24oKXt9fX0oKTtfLnIoXCJnYWRnZXRzLmNvbmZpZy5yZWdpc3RlclwiLF8ubmcucmVnaXN0ZXIpO18ucihcImdhZGdldHMuY29uZmlnLmdldFwiLF8ubmcuZ2V0KTtfLnIoXCJnYWRnZXRzLmNvbmZpZy5pbml0XCIsXy5uZy56ZCk7Xy5yKFwiZ2FkZ2V0cy5jb25maWcudXBkYXRlXCIsXy5uZy51cGRhdGUpO1xuXy5yKFwiZ2FkZ2V0cy5qc29uLnN0cmluZ2lmeVwiLF8uVmcpO18ucihcImdhZGdldHMuanNvbi5wYXJzZVwiLF8uVWcpO1xuKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShlLGYpe2lmKCEoZTxjKSYmZClpZihlPT09MiYmZC53YXJuKWQud2FybihmKTtlbHNlIGlmKGU9PT0zJiZkLmVycm9yKXRyeXtkLmVycm9yKGYpfWNhdGNoKGgpe31lbHNlIGQubG9nJiZkLmxvZyhmKX12YXIgYj1mdW5jdGlvbihlKXthKDEsZSl9O18ua2c9ZnVuY3Rpb24oZSl7YSgyLGUpfTtfLmxnPWZ1bmN0aW9uKGUpe2EoMyxlKX07Xy5tZz1mdW5jdGlvbigpe307Yi5JTkZPPTE7Yi5XQVJOSU5HPTI7Yi5OT05FPTQ7dmFyIGM9MSxkPXdpbmRvdy5jb25zb2xlP3dpbmRvdy5jb25zb2xlOndpbmRvdy5vcGVyYT93aW5kb3cub3BlcmEucG9zdEVycm9yOnZvaWQgMDtyZXR1cm4gYn0pKCk7XG5fLmpnPV8uamd8fHt9OyhmdW5jdGlvbigpe3ZhciBhPVtdO18uamcuaHJhPWZ1bmN0aW9uKGIpe2EucHVzaChiKX07Xy5qZy51cmE9ZnVuY3Rpb24oKXtmb3IodmFyIGI9MCxjPWEubGVuZ3RoO2I8YzsrK2IpYVtiXSgpfX0pKCk7XG5fLiRnPWZ1bmN0aW9uKCl7dmFyIGE9Xy5zZi5yZWFkeVN0YXRlO3JldHVybiBhPT09XCJjb21wbGV0ZVwifHxhPT09XCJpbnRlcmFjdGl2ZVwiJiZuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoXCJNU0lFXCIpPT0tMX07Xy5haD1mdW5jdGlvbihhKXtpZihfLiRnKCkpYSgpO2Vsc2V7dmFyIGI9ITEsYz1mdW5jdGlvbigpe2lmKCFiKXJldHVybiBiPSEwLGEuYXBwbHkodGhpcyxhcmd1bWVudHMpfTtfLnJmLmFkZEV2ZW50TGlzdGVuZXI/KF8ucmYuYWRkRXZlbnRMaXN0ZW5lcihcImxvYWRcIixjLCExKSxfLnJmLmFkZEV2ZW50TGlzdGVuZXIoXCJET01Db250ZW50TG9hZGVkXCIsYywhMSkpOl8ucmYuYXR0YWNoRXZlbnQmJihfLnJmLmF0dGFjaEV2ZW50KFwib25yZWFkeXN0YXRlY2hhbmdlXCIsZnVuY3Rpb24oKXtfLiRnKCkmJmMuYXBwbHkodGhpcyxhcmd1bWVudHMpfSksXy5yZi5hdHRhY2hFdmVudChcIm9ubG9hZFwiLGMpKX19O1xuXy5iaD1mdW5jdGlvbihhLGIpe3ZhciBjPV8udmYoXy5JZixcIndhdHRcIixfLndmKCkpO18udmYoYyxhLGIpfTtfLkNmKF8ucmYubG9jYXRpb24uaHJlZixcInJwY3Rva2VuXCIpJiZfLkhmKF8uc2YsXCJ1bmxvYWRcIixmdW5jdGlvbigpe30pO3ZhciBjaD1jaHx8e307Y2guSVk9bnVsbDtjaC55Vz1udWxsO2NoLm5BPW51bGw7Y2guZnJhbWVFbGVtZW50PW51bGw7Y2g9Y2h8fHt9O1xuY2gudE58fChjaC50Tj1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoZixoLGspe3R5cGVvZiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciE9XCJ1bmRlZmluZWRcIj93aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihmLGgsayk6dHlwZW9mIHdpbmRvdy5hdHRhY2hFdmVudCE9XCJ1bmRlZmluZWRcIiYmd2luZG93LmF0dGFjaEV2ZW50KFwib25cIitmLGgpO2Y9PT1cIm1lc3NhZ2VcIiYmKHdpbmRvdy5fX19qc2w9d2luZG93Ll9fX2pzbHx8e30sZj13aW5kb3cuX19fanNsLGYuUlBNUT1mLlJQTVF8fFtdLGYuUlBNUS5wdXNoKGgpKX1mdW5jdGlvbiBiKGYpe3ZhciBoPV8uVWcoZi5kYXRhKTtpZihoJiZoLmYpe18ubWcoKTt2YXIgaz1fLmRoLkRvKGguZik7ZSYmKHR5cGVvZiBmLm9yaWdpbiE9PVwidW5kZWZpbmVkXCI/Zi5vcmlnaW4hPT1rOmYuZG9tYWluIT09L14uKzpcXC9cXC8oW146XSspLiovLmV4ZWMoaylbMV0pP18ubGcoXCJJbnZhbGlkIHJwYyBtZXNzYWdlIG9yaWdpbi4gXCIraytcIiB2cyBcIisoZi5vcmlnaW58fFwiXCIpKTpcbmMoaCxmLm9yaWdpbil9fXZhciBjLGQsZT0hMDtyZXR1cm57QVM6ZnVuY3Rpb24oKXtyZXR1cm5cIndwbVwifSxaYWE6ZnVuY3Rpb24oKXtyZXR1cm4hMH0semQ6ZnVuY3Rpb24oZixoKXtfLm5nLnJlZ2lzdGVyKFwicnBjXCIsbnVsbCxmdW5jdGlvbihrKXtTdHJpbmcoKGsmJmsucnBjfHx7fSkuZGlzYWJsZUZvcmNlU2VjdXJlKT09PVwidHJ1ZVwiJiYoZT0hMSl9KTtjPWY7ZD1oO2EoXCJtZXNzYWdlXCIsYiwhMSk7ZChcIi4uXCIsITApO3JldHVybiEwfSxOYjpmdW5jdGlvbihmKXtkKGYsITApO3JldHVybiEwfSxjYWxsOmZ1bmN0aW9uKGYsaCxrKXt2YXIgbD1fLmRoLkRvKGYpLG09Xy5kaC5tTyhmKTtsP3dpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIG49Xy5WZyhrKTtfLm1nKCk7bSYmXCJwb3N0TWVzc2FnZVwiaW4gbSYmbS5wb3N0TWVzc2FnZShuLGwpfSwwKTpmIT1cIi4uXCImJl8ubGcoXCJObyByZWxheSBzZXQgKHVzZWQgYXMgd2luZG93LnBvc3RNZXNzYWdlIHRhcmdldE9yaWdpbiksIGNhbm5vdCBzZW5kIGNyb3NzLWRvbWFpbiBtZXNzYWdlXCIpO1xucmV0dXJuITB9fX0oKSk7aWYod2luZG93LmdhZGdldHMmJndpbmRvdy5nYWRnZXRzLnJwYyl0eXBlb2YgXy5kaCE9XCJ1bmRlZmluZWRcIiYmXy5kaHx8KF8uZGg9d2luZG93LmdhZGdldHMucnBjLF8uZGguY29uZmlnPV8uZGguY29uZmlnLF8uZGgucmVnaXN0ZXI9Xy5kaC5yZWdpc3RlcixfLmRoLnVucmVnaXN0ZXI9Xy5kaC51bnJlZ2lzdGVyLF8uZGgublk9Xy5kaC5yZWdpc3RlckRlZmF1bHQsXy5kaC52MD1fLmRoLnVucmVnaXN0ZXJEZWZhdWx0LF8uZGguaFM9Xy5kaC5mb3JjZVBhcmVudFZlcmlmaWFibGUsXy5kaC5jYWxsPV8uZGguY2FsbCxfLmRoLkh1PV8uZGguZ2V0UmVsYXlVcmwsXy5kaC5Zaj1fLmRoLnNldFJlbGF5VXJsLF8uZGguekM9Xy5kaC5zZXRBdXRoVG9rZW4sXy5kaC54dz1fLmRoLnNldHVwUmVjZWl2ZXIsXy5kaC5rbz1fLmRoLmdldEF1dGhUb2tlbixfLmRoLlZKPV8uZGgucmVtb3ZlUmVjZWl2ZXIsXy5kaC5aUz1fLmRoLmdldFJlbGF5Q2hhbm5lbCxfLmRoLmpZPV8uZGgucmVjZWl2ZSxcbl8uZGgua1k9Xy5kaC5yZWNlaXZlU2FtZURvbWFpbixfLmRoLmdldE9yaWdpbj1fLmRoLmdldE9yaWdpbixfLmRoLkRvPV8uZGguZ2V0VGFyZ2V0T3JpZ2luLF8uZGgubU89Xy5kaC5fZ2V0VGFyZ2V0V2luLF8uZGgudzU9Xy5kaC5fcGFyc2VTaWJsaW5nSWQpO2Vsc2V7Xy5kaD1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoQixlYSl7aWYoIVdbQl0pe3ZhciBUPWNiO2VhfHwoVD1ZYSk7V1tCXT1UO2VhPUpbQl18fFtdO2Zvcih2YXIgdWE9MDt1YTxlYS5sZW5ndGg7Kyt1YSl7dmFyIHphPWVhW3VhXTt6YS50PUNbQl07VC5jYWxsKEIsemEuZix6YSl9SltCXT1bXX19ZnVuY3Rpb24gYigpe2Z1bmN0aW9uIEIoKXtFYj0hMH1GYnx8KHR5cGVvZiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciE9XCJ1bmRlZmluZWRcIj93aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInVubG9hZFwiLEIsITEpOnR5cGVvZiB3aW5kb3cuYXR0YWNoRXZlbnQhPVwidW5kZWZpbmVkXCImJndpbmRvdy5hdHRhY2hFdmVudChcIm9udW5sb2FkXCIsXG5CKSxGYj0hMCl9ZnVuY3Rpb24gYyhCLGVhLFQsdWEsemEpe0NbZWFdJiZDW2VhXT09PVR8fChfLmxnKFwiSW52YWxpZCBnYWRnZXRzLnJwYyB0b2tlbi4gXCIrQ1tlYV0rXCIgdnMgXCIrVCksb2IoZWEsMikpO3phLm9udW5sb2FkPWZ1bmN0aW9uKCl7UFtlYV0mJiFFYiYmKG9iKGVhLDEpLF8uZGguVkooZWEpKX07YigpO3VhPV8uVWcoZGVjb2RlVVJJQ29tcG9uZW50KHVhKSl9ZnVuY3Rpb24gZChCLGVhKXtpZihCJiZ0eXBlb2YgQi5zPT09XCJzdHJpbmdcIiYmdHlwZW9mIEIuZj09PVwic3RyaW5nXCImJkIuYSBpbnN0YW5jZW9mIEFycmF5KWlmKENbQi5mXSYmQ1tCLmZdIT09Qi50JiYoXy5sZyhcIkludmFsaWQgZ2FkZ2V0cy5ycGMgdG9rZW4uIFwiK0NbQi5mXStcIiB2cyBcIitCLnQpLG9iKEIuZiwyKSksQi5zPT09XCJfX2Fja1wiKXdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YShCLmYsITApfSwwKTtlbHNle0IuYyYmKEIuY2FsbGJhY2s9ZnVuY3Rpb24oWSl7Xy5kaC5jYWxsKEIuZiwoQi5nP1xuXCJsZWdhY3lfX1wiOlwiXCIpK1wiX19jYlwiLG51bGwsQi5jLFkpfSk7aWYoZWEpe3ZhciBUPWUoZWEpO0Iub3JpZ2luPWVhO3ZhciB1YT1CLnI7dHJ5e3ZhciB6YT1lKHVhKX1jYXRjaChZKXt9dWEmJnphPT1UfHwodWE9ZWEpO0IucmVmZXJlcj11YX1lYT0od1tCLnNdfHx3W1wiXCJdKS5hcHBseShCLEIuYSk7Qi5jJiZ0eXBlb2YgZWEhPT1cInVuZGVmaW5lZFwiJiZfLmRoLmNhbGwoQi5mLFwiX19jYlwiLG51bGwsQi5jLGVhKX19ZnVuY3Rpb24gZShCKXtpZighQilyZXR1cm5cIlwiO0I9Qi5zcGxpdChcIiNcIilbMF0uc3BsaXQoXCI/XCIpWzBdO0I9Qi50b0xvd2VyQ2FzZSgpO0IuaW5kZXhPZihcIi8vXCIpPT0wJiYoQj13aW5kb3cubG9jYXRpb24ucHJvdG9jb2wrQik7Qi5pbmRleE9mKFwiOi8vXCIpPT0tMSYmKEI9d2luZG93LmxvY2F0aW9uLnByb3RvY29sK1wiLy9cIitCKTt2YXIgZWE9Qi5zdWJzdHJpbmcoQi5pbmRleE9mKFwiOi8vXCIpKzMpLFQ9ZWEuaW5kZXhPZihcIi9cIik7VCE9LTEmJihlYT1lYS5zdWJzdHJpbmcoMCxcblQpKTtCPUIuc3Vic3RyaW5nKDAsQi5pbmRleE9mKFwiOi8vXCIpKTtpZihCIT09XCJodHRwXCImJkIhPT1cImh0dHBzXCImJkIhPT1cImNocm9tZS1leHRlbnNpb25cIiYmQiE9PVwiZmlsZVwiJiZCIT09XCJhbmRyb2lkLWFwcFwiJiZCIT09XCJjaHJvbWUtc2VhcmNoXCImJkIhPT1cImNocm9tZS11bnRydXN0ZWRcIiYmQiE9PVwiY2hyb21lXCImJkIhPT1cImRldnRvb2xzXCIpdGhyb3cgRXJyb3IoXCJ0XCIpO1Q9XCJcIjt2YXIgdWE9ZWEuaW5kZXhPZihcIjpcIik7aWYodWEhPS0xKXt2YXIgemE9ZWEuc3Vic3RyaW5nKHVhKzEpO2VhPWVhLnN1YnN0cmluZygwLHVhKTtpZihCPT09XCJodHRwXCImJnphIT09XCI4MFwifHxCPT09XCJodHRwc1wiJiZ6YSE9PVwiNDQzXCIpVD1cIjpcIit6YX1yZXR1cm4gQitcIjovL1wiK2VhK1R9ZnVuY3Rpb24gZihCKXtpZihCLmNoYXJBdCgwKT09XCIvXCIpe3ZhciBlYT1CLmluZGV4T2YoXCJ8XCIpLFQ9ZWE+MD9CLnN1YnN0cmluZygxLGVhKTpCLnN1YnN0cmluZygxKTtCPWVhPjA/Qi5zdWJzdHJpbmcoZWErMSk6bnVsbDtcbnJldHVybntpZDpULG9yaWdpbjpCfX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBoKEIpe2lmKHR5cGVvZiBCPT09XCJ1bmRlZmluZWRcInx8Qj09PVwiLi5cIilyZXR1cm4gd2luZG93LnBhcmVudDt2YXIgZWE9ZihCKTtpZihlYSlyZXR1cm4gayh3aW5kb3cudG9wLmZyYW1lc1tlYS5pZF0pO0I9U3RyaW5nKEIpO3JldHVybihlYT13aW5kb3cuZnJhbWVzW0JdKT9rKGVhKTooZWE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoQikpJiZlYS5jb250ZW50V2luZG93P2VhLmNvbnRlbnRXaW5kb3c6bnVsbH1mdW5jdGlvbiBrKEIpe3JldHVybiBCP1wicG9zdE1lc3NhZ2VcImluIEI/QjpCIGluc3RhbmNlb2YgSFRNTElGcmFtZUVsZW1lbnQmJlwiY29udGVudFdpbmRvd1wiaW4gQiYmQi5jb250ZW50V2luZG93IT1udWxsJiZcInBvc3RNZXNzYWdlXCJpbiBCLmNvbnRlbnRXaW5kb3c/Qi5jb250ZW50V2luZG93Om51bGw6bnVsbH1mdW5jdGlvbiBsKEIsZWEpe2lmKFBbQl0hPT0hMCl7dHlwZW9mIFBbQl09PT1cInVuZGVmaW5lZFwiJiZcbihQW0JdPTApO3ZhciBUPWgoQik7QiE9PVwiLi5cIiYmVD09bnVsbHx8Y2IuTmIoQixlYSkhPT0hMD9QW0JdIT09ITAmJlBbQl0rKzwxMD93aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpe2woQixlYSl9LDUwMCk6KFdbQl09WWEsUFtCXT0hMCk6UFtCXT0hMH19ZnVuY3Rpb24gbShCKXsoQj15W0JdKSYmQi5zdWJzdHJpbmcoMCwxKT09PVwiL1wiJiYoQj1CLnN1YnN0cmluZygxLDIpPT09XCIvXCI/ZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2wrQjpkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCtcIi8vXCIrZG9jdW1lbnQubG9jYXRpb24uaG9zdCtCKTtyZXR1cm4gQn1mdW5jdGlvbiBuKEIsZWEsVCl7ZWEmJiEvaHR0cChzKT86XFwvXFwvLisvLnRlc3QoZWEpJiYoZWEuaW5kZXhPZihcIi8vXCIpPT0wP2VhPXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCtlYTplYS5jaGFyQXQoMCk9PVwiL1wiP2VhPXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCtcIi8vXCIrd2luZG93LmxvY2F0aW9uLmhvc3QrZWE6ZWEuaW5kZXhPZihcIjovL1wiKT09XG4tMSYmKGVhPXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCtcIi8vXCIrZWEpKTt5W0JdPWVhO3R5cGVvZiBUIT09XCJ1bmRlZmluZWRcIiYmKERbQl09ISFUKX1mdW5jdGlvbiBwKEIsZWEpe2VhPWVhfHxcIlwiO0NbQl09U3RyaW5nKGVhKTtsKEIsZWEpfWZ1bmN0aW9uIHEoQil7Qj0oQi5wYXNzUmVmZXJyZXJ8fFwiXCIpLnNwbGl0KFwiOlwiLDIpO089QlswXXx8XCJub25lXCI7amE9QlsxXXx8XCJvcmlnaW5cIn1mdW5jdGlvbiB0KEIpe1N0cmluZyhCLnVzZUxlZ2FjeVByb3RvY29sKT09PVwidHJ1ZVwiJiYoY2I9Y2gubkF8fFlhLGNiLnpkKGQsYSkpfWZ1bmN0aW9uIHYoQixlYSl7ZnVuY3Rpb24gVCh1YSl7dWE9dWEmJnVhLnJwY3x8e307cSh1YSk7dmFyIHphPXVhLnBhcmVudFJlbGF5VXJsfHxcIlwiO3phPWUobGEucGFyZW50fHxlYSkremE7bihcIi4uXCIsemEsU3RyaW5nKHVhLnVzZUxlZ2FjeVByb3RvY29sKT09PVwidHJ1ZVwiKTt0KHVhKTtwKFwiLi5cIixCKX0hbGEucGFyZW50JiZlYT9UKHt9KTpfLm5nLnJlZ2lzdGVyKFwicnBjXCIsXG5udWxsLFQpfWZ1bmN0aW9uIHUoQixlYSxUKXtpZihCPT09XCIuLlwiKXYoVHx8bGEucnBjdG9rZW58fGxhLmlmcGN0b2t8fFwiXCIsZWEpO2Vsc2UgYTp7dmFyIHVhPW51bGw7aWYoQi5jaGFyQXQoMCkhPVwiL1wiKXtpZighXy5qZylicmVhayBhO3VhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKEIpO2lmKCF1YSl0aHJvdyBFcnJvcihcInVgXCIrQik7fXVhPXVhJiZ1YS5zcmM7ZWE9ZWF8fGUodWEpO24oQixlYSk7ZWE9Xy5qZy5raCh1YSk7cChCLFR8fGVhLnJwY3Rva2VuKX19dmFyIHc9e30seT17fSxEPXt9LEM9e30sST0wLEw9e30sUD17fSxsYT17fSxXPXt9LEo9e30sTz1udWxsLGphPW51bGwscGE9d2luZG93LnRvcCE9PXdpbmRvdy5zZWxmLEhhPXdpbmRvdy5uYW1lLG9iPWZ1bmN0aW9uKCl7fSxhYj13aW5kb3cuY29uc29sZSxwYj1hYiYmYWIubG9nJiZmdW5jdGlvbihCKXthYi5sb2coQil9fHxmdW5jdGlvbigpe30sWWE9ZnVuY3Rpb24oKXtmdW5jdGlvbiBCKGVhKXtyZXR1cm4gZnVuY3Rpb24oKXtwYihlYStcblwiOiBjYWxsIGlnbm9yZWRcIil9fXJldHVybntBUzpmdW5jdGlvbigpe3JldHVyblwibm9vcFwifSxaYWE6ZnVuY3Rpb24oKXtyZXR1cm4hMH0semQ6QihcImluaXRcIiksTmI6QihcInNldHVwXCIpLGNhbGw6QihcImNhbGxcIil9fSgpO18uamcmJihsYT1fLmpnLmtoKCkpO3ZhciBFYj0hMSxGYj0hMSxjYj1mdW5jdGlvbigpe2lmKGxhLnJwY3R4PT1cInJtclwiKXJldHVybiBjaC5JWTt2YXIgQj10eXBlb2Ygd2luZG93LnBvc3RNZXNzYWdlPT09XCJmdW5jdGlvblwiP2NoLnROOnR5cGVvZiB3aW5kb3cucG9zdE1lc3NhZ2U9PT1cIm9iamVjdFwiP2NoLnROOndpbmRvdy5BY3RpdmVYT2JqZWN0P2NoLnlXP2NoLnlXOmNoLm5BOm5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZihcIldlYktpdFwiKT4wP2NoLklZOm5hdmlnYXRvci5wcm9kdWN0PT09XCJHZWNrb1wiP2NoLmZyYW1lRWxlbWVudDpjaC5uQTtCfHwoQj1ZYSk7cmV0dXJuIEJ9KCk7d1tcIlwiXT1mdW5jdGlvbigpe3BiKFwiVW5rbm93biBSUEMgc2VydmljZTogXCIrXG50aGlzLnMpfTt3Ll9fY2I9ZnVuY3Rpb24oQixlYSl7dmFyIFQ9TFtCXTtUJiYoZGVsZXRlIExbQl0sVC5jYWxsKHRoaXMsZWEpKX07cmV0dXJue2NvbmZpZzpmdW5jdGlvbihCKXt0eXBlb2YgQi5XWT09PVwiZnVuY3Rpb25cIiYmKG9iPUIuV1kpfSxyZWdpc3RlcjpmdW5jdGlvbihCLGVhKXtpZihCPT09XCJfX2NiXCJ8fEI9PT1cIl9fYWNrXCIpdGhyb3cgRXJyb3IoXCJ2XCIpO2lmKEI9PT1cIlwiKXRocm93IEVycm9yKFwid1wiKTt3W0JdPWVhfSx1bnJlZ2lzdGVyOmZ1bmN0aW9uKEIpe2lmKEI9PT1cIl9fY2JcInx8Qj09PVwiX19hY2tcIil0aHJvdyBFcnJvcihcInhcIik7aWYoQj09PVwiXCIpdGhyb3cgRXJyb3IoXCJ5XCIpO2RlbGV0ZSB3W0JdfSxuWTpmdW5jdGlvbihCKXt3W1wiXCJdPUJ9LHYwOmZ1bmN0aW9uKCl7ZGVsZXRlIHdbXCJcIl19LGhTOmZ1bmN0aW9uKCl7fSxjYWxsOmZ1bmN0aW9uKEIsZWEsVCx1YSl7Qj1CfHxcIi4uXCI7dmFyIHphPVwiLi5cIjtCPT09XCIuLlwiP3phPUhhOkIuY2hhckF0KDApPT1cIi9cIiYmKHphPVxuZSh3aW5kb3cubG9jYXRpb24uaHJlZiksemE9XCIvXCIrSGErKHphP1wifFwiK3phOlwiXCIpKTsrK0k7VCYmKExbSV09VCk7dmFyIFk9e3M6ZWEsZjp6YSxjOlQ/STowLGE6QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDMpLHQ6Q1tCXSxsOiEhRFtCXX07YTppZihPPT09XCJiaWRpclwifHxPPT09XCJjMnBcIiYmQj09PVwiLi5cInx8Tz09PVwicDJjXCImJkIhPT1cIi4uXCIpe3ZhciBkYT13aW5kb3cubG9jYXRpb24uaHJlZjt2YXIgVmE9XCI/XCI7aWYoamE9PT1cInF1ZXJ5XCIpVmE9XCIjXCI7ZWxzZSBpZihqYT09PVwiaGFzaFwiKWJyZWFrIGE7VmE9ZGEubGFzdEluZGV4T2YoVmEpO1ZhPVZhPT09LTE/ZGEubGVuZ3RoOlZhO2RhPWRhLnN1YnN0cmluZygwLFZhKX1lbHNlIGRhPW51bGw7ZGEmJihZLnI9ZGEpO2lmKEI9PT1cIi4uXCJ8fGYoQikhPW51bGx8fGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKEIpKShkYT1XW0JdKXx8ZihCKT09PW51bGx8fChkYT1jYiksZWEuaW5kZXhPZihcImxlZ2FjeV9fXCIpPT09XG4wJiYoZGE9Y2IsWS5zPWVhLnN1YnN0cmluZyg4KSxZLmM9WS5jP1kuYzpJKSxZLmc9ITAsWS5yPXphLGRhPyhEW0JdJiYoZGE9Y2gubkEpLGRhLmNhbGwoQix6YSxZKT09PSExJiYoV1tCXT1ZYSxjYi5jYWxsKEIsemEsWSkpKTpKW0JdP0pbQl0ucHVzaChZKTpKW0JdPVtZXX0sSHU6bSxZajpuLHpDOnAseHc6dSxrbzpmdW5jdGlvbihCKXtyZXR1cm4gQ1tCXX0sVko6ZnVuY3Rpb24oQil7ZGVsZXRlIHlbQl07ZGVsZXRlIERbQl07ZGVsZXRlIENbQl07ZGVsZXRlIFBbQl07ZGVsZXRlIFdbQl19LFpTOmZ1bmN0aW9uKCl7cmV0dXJuIGNiLkFTKCl9LGpZOmZ1bmN0aW9uKEIsZWEpe0IubGVuZ3RoPjQ/Y2IuR29hKEIsZCk6Yy5hcHBseShudWxsLEIuY29uY2F0KGVhKSl9LGtZOmZ1bmN0aW9uKEIpe0IuYT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChCLmEpO3dpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZChCKX0sMCl9LGdldE9yaWdpbjplLERvOmZ1bmN0aW9uKEIpe3ZhciBlYT1cbm51bGwsVD1tKEIpO1Q/ZWE9VDooVD1mKEIpKT9lYT1ULm9yaWdpbjpCPT1cIi4uXCI/ZWE9bGEucGFyZW50OihCPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKEIpKSYmQi50YWdOYW1lLnRvTG93ZXJDYXNlKCk9PT1cImlmcmFtZVwiJiYoZWE9Qi5zcmMpO3JldHVybiBlKGVhKX0semQ6ZnVuY3Rpb24oKXtjYi56ZChkLGEpPT09ITEmJihjYj1ZYSk7cGE/dShcIi4uXCIpOl8ubmcucmVnaXN0ZXIoXCJycGNcIixudWxsLGZ1bmN0aW9uKEIpe0I9Qi5ycGN8fHt9O3EoQik7dChCKX0pfSxtTzpoLHc1OmYsU2dhOlwiX19hY2tcIixSbGE6SGF8fFwiLi5cIixibWE6MCxhbWE6MSxabGE6Mn19KCk7Xy5kaC56ZCgpfTtfLmRoLmNvbmZpZyh7V1k6ZnVuY3Rpb24oYSl7dGhyb3cgRXJyb3IoXCJ6YFwiK2EpO319KTtfLnIoXCJnYWRnZXRzLnJwYy5jb25maWdcIixfLmRoLmNvbmZpZyk7Xy5yKFwiZ2FkZ2V0cy5ycGMucmVnaXN0ZXJcIixfLmRoLnJlZ2lzdGVyKTtfLnIoXCJnYWRnZXRzLnJwYy51bnJlZ2lzdGVyXCIsXy5kaC51bnJlZ2lzdGVyKTtfLnIoXCJnYWRnZXRzLnJwYy5yZWdpc3RlckRlZmF1bHRcIixfLmRoLm5ZKTtfLnIoXCJnYWRnZXRzLnJwYy51bnJlZ2lzdGVyRGVmYXVsdFwiLF8uZGgudjApO18ucihcImdhZGdldHMucnBjLmZvcmNlUGFyZW50VmVyaWZpYWJsZVwiLF8uZGguaFMpO18ucihcImdhZGdldHMucnBjLmNhbGxcIixfLmRoLmNhbGwpO18ucihcImdhZGdldHMucnBjLmdldFJlbGF5VXJsXCIsXy5kaC5IdSk7Xy5yKFwiZ2FkZ2V0cy5ycGMuc2V0UmVsYXlVcmxcIixfLmRoLllqKTtfLnIoXCJnYWRnZXRzLnJwYy5zZXRBdXRoVG9rZW5cIixfLmRoLnpDKTtfLnIoXCJnYWRnZXRzLnJwYy5zZXR1cFJlY2VpdmVyXCIsXy5kaC54dyk7Xy5yKFwiZ2FkZ2V0cy5ycGMuZ2V0QXV0aFRva2VuXCIsXy5kaC5rbyk7XG5fLnIoXCJnYWRnZXRzLnJwYy5yZW1vdmVSZWNlaXZlclwiLF8uZGguVkopO18ucihcImdhZGdldHMucnBjLmdldFJlbGF5Q2hhbm5lbFwiLF8uZGguWlMpO18ucihcImdhZGdldHMucnBjLnJlY2VpdmVcIixfLmRoLmpZKTtfLnIoXCJnYWRnZXRzLnJwYy5yZWNlaXZlU2FtZURvbWFpblwiLF8uZGgua1kpO18ucihcImdhZGdldHMucnBjLmdldE9yaWdpblwiLF8uZGguZ2V0T3JpZ2luKTtfLnIoXCJnYWRnZXRzLnJwYy5nZXRUYXJnZXRPcmlnaW5cIixfLmRoLkRvKTtcbl8uamc9Xy5qZ3x8e307Xy5qZy5WNT1mdW5jdGlvbihhKXt2YXIgYj13aW5kb3c7dHlwZW9mIGIuYWRkRXZlbnRMaXN0ZW5lciE9XCJ1bmRlZmluZWRcIj9iLmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZW1vdmVcIixhLCExKTp0eXBlb2YgYi5hdHRhY2hFdmVudCE9XCJ1bmRlZmluZWRcIj9iLmF0dGFjaEV2ZW50KFwib25tb3VzZW1vdmVcIixhKTpfLmtnKFwiY2Fubm90IGF0dGFjaEJyb3dzZXJFdmVudDogbW91c2Vtb3ZlXCIpfTtfLmpnLndkYT1mdW5jdGlvbihhKXt2YXIgYj13aW5kb3c7Yi5yZW1vdmVFdmVudExpc3RlbmVyP2IucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNlbW92ZVwiLGEsITEpOmIuZGV0YWNoRXZlbnQ/Yi5kZXRhY2hFdmVudChcIm9ubW91c2Vtb3ZlXCIsYSk6Xy5rZyhcImNhbm5vdCByZW1vdmVCcm93c2VyRXZlbnQ6IG1vdXNlbW92ZVwiKX07XG5fLlRoPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShtKXt2YXIgbj1uZXcgXy5TaDtuLmp4KG0pO3JldHVybiBuLlppKCl9dmFyIGI9d2luZG93LmNyeXB0bztpZihiJiZ0eXBlb2YgYi5nZXRSYW5kb21WYWx1ZXM9PVwiZnVuY3Rpb25cIilyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbT1uZXcgd2luZG93LlVpbnQzMkFycmF5KDEpO2IuZ2V0UmFuZG9tVmFsdWVzKG0pO3JldHVybiBOdW1iZXIoXCIwLlwiK21bMF0pfTt2YXIgYz1fLlNmKFwicmFuZG9tL21heE9ic2VydmVNb3VzZW1vdmVcIik7Yz09bnVsbCYmKGM9LTEpO3ZhciBkPTAsZT1NYXRoLnJhbmRvbSgpLGY9MSxoPShzY3JlZW4ud2lkdGgqc2NyZWVuLndpZHRoK3NjcmVlbi5oZWlnaHQpKjFFNixrPWZ1bmN0aW9uKG0pe209bXx8d2luZG93LmV2ZW50O3ZhciBuPW0uc2NyZWVuWCttLmNsaWVudFg8PDE2O24rPW0uc2NyZWVuWSttLmNsaWVudFk7bio9KG5ldyBEYXRlKS5nZXRUaW1lKCklMUU2O2Y9ZipuJWg7Yz4wJiYrK2Q9PWMmJl8uamcud2RhKGspfTtcbmMhPTAmJl8uamcuVjUoayk7dmFyIGw9YShkb2N1bWVudC5jb29raWUrXCJ8XCIrZG9jdW1lbnQubG9jYXRpb24rXCJ8XCIrKG5ldyBEYXRlKS5nZXRUaW1lKCkrXCJ8XCIrZSk7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG09ZjttKz1wYXJzZUludChsLnN1YnN0cigwLDIwKSwxNik7bD1hKGwpO3JldHVybiBtLyhoK01hdGgucG93KDE2LDIwKSl9fSgpO18ucihcInNoaW5kaWcucmFuZG9tXCIsXy5UaCk7XG52YXIgVWg9ZnVuY3Rpb24oYSl7cmV0dXJue2V4ZWN1dGU6ZnVuY3Rpb24oYil7dmFyIGM9e21ldGhvZDphLmh0dHBNZXRob2R8fFwiR0VUXCIscm9vdDphLnJvb3QscGF0aDphLnVybCxwYXJhbXM6YS51cmxQYXJhbXMsaGVhZGVyczphLmhlYWRlcnMsYm9keTphLmJvZHl9LGQ9d2luZG93LmdhcGksZT1mdW5jdGlvbigpe3ZhciBmPWQuY29uZmlnLmdldChcImNsaWVudC9hcGlLZXlcIiksaD1kLmNvbmZpZy5nZXQoXCJjbGllbnQvdmVyc2lvblwiKTt0cnl7dmFyIGs9ZC5jb25maWcuZ2V0KFwiZ29vZ2xlYXBpcy5jb25maWcvZGV2ZWxvcGVyS2V5XCIpLGw9ZC5jb25maWcuZ2V0KFwiY2xpZW50L2FwaUtleVwiLGspO2QuY29uZmlnLnVwZGF0ZShcImNsaWVudC9hcGlLZXlcIixsKTtkLmNvbmZpZy51cGRhdGUoXCJjbGllbnQvdmVyc2lvblwiLFwiMS4wLjAtYWxwaGFcIik7dmFyIG09ZC5jbGllbnQ7bS5yZXF1ZXN0LmNhbGwobSxjKS50aGVuKGIsYil9ZmluYWxseXtkLmNvbmZpZy51cGRhdGUoXCJjbGllbnQvYXBpS2V5XCIsXG5mKSxkLmNvbmZpZy51cGRhdGUoXCJjbGllbnQvdmVyc2lvblwiLGgpfX07ZC5jbGllbnQ/ZSgpOmQubG9hZC5jYWxsKGQsXCJjbGllbnRcIixlKX19fSxWaD1mdW5jdGlvbihhLGIpe3JldHVybiBmdW5jdGlvbihjKXt2YXIgZD17fTtjPWMuYm9keTt2YXIgZT1fLlVnKGMpLGY9e307aWYoZSYmZS5sZW5ndGgpZm9yKHZhciBoPWUubGVuZ3RoLGs9MDtrPGg7KytrKXt2YXIgbD1lW2tdO2ZbbC5pZF09bH1oPWIubGVuZ3RoO2ZvcihrPTA7azxoOysraylsPWJba10uaWQsZFtsXT1lJiZlLmxlbmd0aD9mW2xdOmU7YShkLGMpfX0sV2g9ZnVuY3Rpb24oYSl7YS50cmFuc3BvcnQ9e25hbWU6XCJnb29nbGVhcGlzXCIsZXhlY3V0ZTpmdW5jdGlvbihiLGMpe2Zvcih2YXIgZD1bXSxlPWIubGVuZ3RoLGY9MDtmPGU7KytmKXt2YXIgaD1iW2ZdLGs9aC5tZXRob2QsbD1TdHJpbmcoaykuc3BsaXQoXCIuXCIpWzBdO2w9Xy5TZihcImdvb2dsZWFwaXMuY29uZmlnL3ZlcnNpb25zL1wiK2spfHxfLlNmKFwiZ29vZ2xlYXBpcy5jb25maWcvdmVyc2lvbnMvXCIrXG5sKXx8XCJ2MVwiO2QucHVzaCh7anNvbnJwYzpcIjIuMFwiLGlkOmguaWQsbWV0aG9kOmssYXBpVmVyc2lvbjpTdHJpbmcobCkscGFyYW1zOmgucGFyYW1zfSl9Yj1VaCh7aHR0cE1ldGhvZDpcIlBPU1RcIixyb290OmEudHJhbnNwb3J0LnJvb3QsdXJsOlwiL3JwYz9wcD0wXCIsaGVhZGVyczp7XCJDb250ZW50LVR5cGVcIjpcImFwcGxpY2F0aW9uL2pzb25cIn0sYm9keTpkfSk7Yi5leGVjdXRlLmNhbGwoYixWaChjLGQpKX0scm9vdDp2b2lkIDB9fSxYaD1mdW5jdGlvbihhKXt2YXIgYj10aGlzLm1ldGhvZCxjPXRoaXMudHJhbnNwb3J0O2MuZXhlY3V0ZS5jYWxsKGMsW3ttZXRob2Q6YixpZDpiLHBhcmFtczp0aGlzLnJwY31dLGZ1bmN0aW9uKGQpe2Q9ZFtiXTtkLmVycm9yfHwoZD1kLmRhdGF8fGQucmVzdWx0KTthKGQpfSl9LFpoPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPVloLGI9YS5zcGxpdChcIi5cIiksYz1mdW5jdGlvbihrKXtrPWt8fHt9O2suZ3JvdXBJZD1rLmdyb3VwSWR8fFwiQHNlbGZcIjtrLnVzZXJJZD1cbmsudXNlcklkfHxcIkB2aWV3ZXJcIjtrPXttZXRob2Q6YSxycGM6a3x8e319O1doKGspO2suZXhlY3V0ZT1YaDtyZXR1cm4ga30sZD1fLlNhLGU9Yi5sZW5ndGgsZj0wO2Y8ZTsrK2Ype3ZhciBoPWRbYltmXV18fHt9O2YrMT09ZSYmKGg9Yyk7ZD1kW2JbZl1dPWh9aWYoYi5sZW5ndGg+MSYmYlswXSE9XCJnb29nbGVhcGlzXCIpZm9yKGJbMF09XCJnb29nbGVhcGlzXCIsYltiLmxlbmd0aC0xXT09XCJkZWxldGVcIiYmKGJbYi5sZW5ndGgtMV09XCJyZW1vdmVcIiksZD1fLlNhLGU9Yi5sZW5ndGgsZj0wO2Y8ZTsrK2YpaD1kW2JbZl1dfHx7fSxmKzE9PWUmJihoPWMpLGQ9ZFtiW2ZdXT1ofSxZaDtmb3IoWWggaW4gXy5TZihcImdvb2dsZWFwaXMuY29uZmlnL21ldGhvZHNcIikpWmgoKTtfLnIoXCJnb29nbGVhcGlzLm5ld0h0dHBSZXF1ZXN0XCIsZnVuY3Rpb24oYSl7cmV0dXJuIFVoKGEpfSk7Xy5yKFwiZ29vZ2xlYXBpcy5zZXRVcmxQYXJhbWV0ZXJcIixmdW5jdGlvbihhLGIpe2lmKGEhPT1cInRyYWNlXCIpdGhyb3cgRXJyb3IoXCJDXCIpO18uVGYoXCJjbGllbnQvdHJhY2VcIixiKX0pO1xufSk7XG4vLyBHb29nbGUgSW5jLlxuIn0sICJoZWFkZXJzU2l6ZSI6IDAsICJib2R5U2l6ZSI6IDQyODMzLCAicmVkaXJlY3RVUkwiOiAiIiwgIl90cmFuc2ZlclNpemUiOiA0MjgzM30sICJjYWNoZSI6IHt9LCAidGltaW5ncyI6IHsiZG5zIjogMC4wMTcsICJjb25uZWN0IjogMjIuNjQ3LCAic3NsIjogMTguMDc4LCAic2VuZCI6IDAsICJ3YWl0IjogNi4wOTQsICJyZWNlaXZlIjogOS4yMDV9LCAicGFnZXJlZiI6ICJwYWdlQDJlN2FjZTk1NWE2NzczZWNmZDJlOThlZjJmZGNiNzA0IiwgInNlcnZlcklQQWRkcmVzcyI6ICJbMmEwMDoxNDUwOjQwMDE6ODBiOjoyMDBlXSIsICJfc2VydmVyUG9ydCI6IDQ0MywgIl9zZWN1cml0eURldGFpbHMiOiB7InByb3RvY29sIjogIlRMUyAxLjMiLCAic3ViamVjdE5hbWUiOiAiKi5hcGlzLmdvb2dsZS5jb20iLCAiaXNzdWVyIjogIldSMiIsICJ2YWxpZEZyb20iOiAxNzIyMzQzOTQ5LCAidmFsaWRUbyI6IDE3Mjk2MDE1NDh9fSwgeyJzdGFydGVkRGF0ZVRpbWUiOiAiMjAyNC0wOC0wMVQxMjozMzoxMi4xNzZaIiwgInRpbWUiOiA4Mi43NTMsICJyZXF1ZXN0IjogeyJtZXRob2QiOiAiR0VUIiwgInVybCI6ICJodHRwczovL3d3dy5nb29nbGUuY29tL3hqcy9fL3NzL2s9eGpzLmhkLmhoa19OUmZ3Si1zLkwuQjEuTy9hbT1BRXdCQUFBQUFBQUFHQUFBQUFBQUFBQUFBQUFBQUFBQUNBQUFCQUFBQUFBQW9BQWdrQUNBQU1BR0JBQUFBRUFBZ0FBQUFBQUFBQ2dBQUFBQUdBQUFBQWdBSUFHQUFJQ0FBQUFBQXdDRUFBSUFDQkFCaWdBU0FBS0NLQUlBQUVBQUFDQkN3SUJoQUFJVkFBd0NBQUFBZ0FBQ0FBQUFBRmdqQUFFQ0FQb0lBQkFBSUNJQUFBaWdBd1FBQkFBRWdBQkFBQmpBQUFFQUFBQUFBQUNBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDQUFDQUFvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUIvZD0wL2JyPTEvcnM9QUNUOTBvRnZPVDNraS13a2J4SmU2SjZEOHhkdXlfVUljZy9tPXN5a2Ysc3lsbT94anM9czQiLCAiaHR0cFZlcnNpb24iOiAiaDMiLCAiY29va2llcyI6IFt7Im5hbWUiOiAiQUVDIiwgInZhbHVlIjogIkFWWUI3Y3Jhdjk0WU0tZmZKNlNqaTRRN3pMbVdpLUJhNEdvYkpfOXJPUWc5akh5b3UwbzZ1RXBXWHI4In0sIHsibmFtZSI6ICJfX1NlY3VyZS1FTklEIiwgInZhbHVlIjogIjIxLlNFPVpOTWhJY18yN3g0bW9wZllnd25yZExfTlMyUmU2TE56NTktMnJfUmtPMTFQSG5sd29vdW9aQ0NWOURJaTR6dFFTQlQ0YTZuaE8wTHFqcmFCeHhEOXJZS1NNbGVZakhsZmZhVEROLTUyZGljNnd2M2lYUjNfZ3NudWRFcUNjRFU0dnhjVTltQUFDbFlWUEk1WWlLM05GTTF5RHNIQlBwOERFNWo1V004R3dMV3ROcE5QbjRqNjlTblJHSTRfU2ZGY2diUHlzMF9vNjEtVnlpRVZfdXBGaEZtbmdUX3FEMDdhIn1dLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiOmF1dGhvcml0eSIsICJ2YWx1ZSI6ICJ3d3cuZ29vZ2xlLmNvbSJ9LCB7Im5hbWUiOiAiOm1ldGhvZCIsICJ2YWx1ZSI6ICJHRVQifSwgeyJuYW1lIjogIjpwYXRoIiwgInZhbHVlIjogIi94anMvXy9zcy9rPXhqcy5oZC5oaGtfTlJmd0otcy5MLkIxLk8vYW09QUV3QkFBQUFBQUFBR0FBQUFBQUFBQUFBQUFBQUFBQUFDQUFBQkFBQUFBQUFvQUFna0FDQUFNQUdCQUFBQUVBQWdBQUFBQUFBQUNnQUFBQUFHQUFBQUFnQUlBR0FBSUNBQUFBQUF3Q0VBQUlBQ0JBQmlnQVNBQUtDS0FJQUFFQUFBQ0JDd0lCaEFBSVZBQXdDQUFBQWdBQUNBQUFBQUZnakFBRUNBUG9JQUJBQUlDSUFBQWlnQXdRQUJBQUVnQUJBQUJqQUFBRUFBQUFBQUFDQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0FBQ0FBb0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFCL2Q9MC9icj0xL3JzPUFDVDkwb0Z2T1Qza2ktd2tieEplNko2RDh4ZHV5X1VJY2cvbT1zeWtmLHN5bG0/eGpzPXM0In0sIHsibmFtZSI6ICI6c2NoZW1lIiwgInZhbHVlIjogImh0dHBzIn0sIHsibmFtZSI6ICJhY2NlcHQiLCAidmFsdWUiOiAiKi8qIn0sIHsibmFtZSI6ICJhY2NlcHQtZW5jb2RpbmciLCAidmFsdWUiOiAiZ3ppcCwgZGVmbGF0ZSwgYnIsIHpzdGQifSwgeyJuYW1lIjogImFjY2VwdC1sYW5ndWFnZSIsICJ2YWx1ZSI6ICJlbi1VUyxlbjtxPTAuOSJ9LCB7Im5hbWUiOiAiY29va2llIiwgInZhbHVlIjogIkFFQz1BVllCN2NyYXY5NFlNLWZmSjZTamk0UTd6TG1XaS1CYTRHb2JKXzlyT1FnOWpIeW91MG82dUVwV1hyODsgX19TZWN1cmUtRU5JRD0yMS5TRT1aTk1oSWNfMjd4NG1vcGZZZ3ducmRMX05TMlJlNkxOejU5LTJyX1JrTzExUEhubHdvb3VvWkNDVjlESWk0enRRU0JUNGE2bmhPMExxanJhQnh4RDlyWUtTTWxlWWpIbGZmYVRETi01MmRpYzZ3djNpWFIzX2dzbnVkRXFDY0RVNHZ4Y1U5bUFBQ2xZVlBJNVlpSzNORk0xeURzSEJQcDhERTVqNVdNOEd3TFd0TnBOUG40ajY5U25SR0k0X1NmRmNnYlB5czBfbzYxLVZ5aUVWX3VwRmhGbW5nVF9xRDA3YSJ9LCB7Im5hbWUiOiAicHJpb3JpdHkiLCAidmFsdWUiOiAidT0xLCBpIn0sIHsibmFtZSI6ICJyZWZlcmVyIiwgInZhbHVlIjogImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEiLCAidmFsdWUiOiAiXCJDaHJvbWl1bVwiO3Y9XCIxMjdcIiwgXCJOb3QpQTtCcmFuZFwiO3Y9XCI5OVwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtYXJjaCIsICJ2YWx1ZSI6ICJcIng2NFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtYml0bmVzcyIsICJ2YWx1ZSI6ICJcIjY0XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1mdWxsLXZlcnNpb24iLCAidmFsdWUiOiAiXCIxMjcuMC42NTMzLjE3XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1mdWxsLXZlcnNpb24tbGlzdCIsICJ2YWx1ZSI6ICJcIkNocm9taXVtXCI7dj1cIjEyNy4wLjY1MzMuMTdcIiwgXCJOb3QpQTtCcmFuZFwiO3Y9XCI5OS4wLjAuMFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtbW9iaWxlIiwgInZhbHVlIjogIj8wIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtbW9kZWwiLCAidmFsdWUiOiAiXCJcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXBsYXRmb3JtIiwgInZhbHVlIjogIlwiV2luZG93c1wiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtcGxhdGZvcm0tdmVyc2lvbiIsICJ2YWx1ZSI6ICJcIjEwLjBcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXdvdzY0IiwgInZhbHVlIjogIj8wIn0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtZGVzdCIsICJ2YWx1ZSI6ICJlbXB0eSJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLW1vZGUiLCAidmFsdWUiOiAiY29ycyJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLXNpdGUiLCAidmFsdWUiOiAic2FtZS1vcmlnaW4ifSwgeyJuYW1lIjogInVzZXItYWdlbnQiLCAidmFsdWUiOiAiTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEyNy4wLjY1MzMuMTcgU2FmYXJpLzUzNy4zNiJ9XSwgInF1ZXJ5U3RyaW5nIjogW3sibmFtZSI6ICJ4anMiLCAidmFsdWUiOiAiczQifV0sICJoZWFkZXJzU2l6ZSI6IDE4MzksICJib2R5U2l6ZSI6IDB9LCAicmVzcG9uc2UiOiB7InN0YXR1cyI6IDIwMCwgInN0YXR1c1RleHQiOiAiIiwgImh0dHBWZXJzaW9uIjogImgzIiwgImNvb2tpZXMiOiBbXSwgImhlYWRlcnMiOiBbeyJuYW1lIjogImFjY2VwdC1yYW5nZXMiLCAidmFsdWUiOiAiYnl0ZXMifSwgeyJuYW1lIjogImFnZSIsICJ2YWx1ZSI6ICI1NjYwMSJ9LCB7Im5hbWUiOiAiYWx0LXN2YyIsICJ2YWx1ZSI6ICJoMz1cIjo0NDNcIjsgbWE9MjU5MjAwMCxoMy0yOT1cIjo0NDNcIjsgbWE9MjU5MjAwMCJ9LCB7Im5hbWUiOiAiY2FjaGUtY29udHJvbCIsICJ2YWx1ZSI6ICJwdWJsaWMsIGltbXV0YWJsZSwgbWF4LWFnZT0zMTUzNjAwMCJ9LCB7Im5hbWUiOiAiY29udGVudC1lbmNvZGluZyIsICJ2YWx1ZSI6ICJiciJ9LCB7Im5hbWUiOiAiY29udGVudC1sZW5ndGgiLCAidmFsdWUiOiAiMzcxIn0sIHsibmFtZSI6ICJjb250ZW50LXNlY3VyaXR5LXBvbGljeS1yZXBvcnQtb25seSIsICJ2YWx1ZSI6ICJyZXF1aXJlLXRydXN0ZWQtdHlwZXMtZm9yICdzY3JpcHQnOyByZXBvcnQtdXJpIGh0dHBzOi8vY3NwLndpdGhnb29nbGUuY29tL2NzcC9nd3MtdGVhbSJ9LCB7Im5hbWUiOiAiY29udGVudC10eXBlIiwgInZhbHVlIjogInRleHQvY3NzOyBjaGFyc2V0PVVURi04In0sIHsibmFtZSI6ICJjcm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeSIsICJ2YWx1ZSI6ICJzYW1lLW9yaWdpbjsgcmVwb3J0LXRvPVwiZ3dzLXRlYW1cIiJ9LCB7Im5hbWUiOiAiY3Jvc3Mtb3JpZ2luLXJlc291cmNlLXBvbGljeSIsICJ2YWx1ZSI6ICJjcm9zcy1vcmlnaW4ifSwgeyJuYW1lIjogImRhdGUiLCAidmFsdWUiOiAiV2VkLCAzMSBKdWwgMjAyNCAyMDo0OTo1MSBHTVQifSwgeyJuYW1lIjogImV4cGlyZXMiLCAidmFsdWUiOiAiVGh1LCAzMSBKdWwgMjAyNSAyMDo0OTo1MSBHTVQifSwgeyJuYW1lIjogImxhc3QtbW9kaWZpZWQiLCAidmFsdWUiOiAiV2VkLCAzMSBKdWwgMjAyNCAxOTo0MTo1NSBHTVQifSwgeyJuYW1lIjogInJlcG9ydC10byIsICJ2YWx1ZSI6ICJ7XCJncm91cFwiOlwiZ3dzLXRlYW1cIixcIm1heF9hZ2VcIjoyNTkyMDAwLFwiZW5kcG9pbnRzXCI6W3tcInVybFwiOlwiaHR0cHM6Ly9jc3Aud2l0aGdvb2dsZS5jb20vY3NwL3JlcG9ydC10by9nd3MtdGVhbVwifV19In0sIHsibmFtZSI6ICJzZXJ2ZXIiLCAidmFsdWUiOiAic2ZmZSJ9LCB7Im5hbWUiOiAidmFyeSIsICJ2YWx1ZSI6ICJBY2NlcHQtRW5jb2RpbmcsIE9yaWdpbiJ9LCB7Im5hbWUiOiAieC1jb250ZW50LXR5cGUtb3B0aW9ucyIsICJ2YWx1ZSI6ICJub3NuaWZmIn0sIHsibmFtZSI6ICJ4LXhzcy1wcm90ZWN0aW9uIiwgInZhbHVlIjogIjAifV0sICJjb250ZW50IjogeyJzaXplIjogODgzLCAibWltZVR5cGUiOiAidGV4dC9jc3M7IGNoYXJzZXQ9VVRGLTgiLCAiY29tcHJlc3Npb24iOiA0ODYsICJ0ZXh0IjogIjpyb290ey0tS0laUG5lOiNhM2M5ZmY7LS14UHBpTTojMDAxZDM1Oy0tRWhoNG1mOnZhcigtLU5zbTBjZSl9LkVwUFlMZHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS5ZcGNEbmZ7cGFkZGluZzowIDE2cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5ZcGNEbmYuSEcxZHZke3BhZGRpbmc6MH0uSEcxZHZkPip7cGFkZGluZzowIDE2cHh9Lld0VjVuZCAuWXBjRG5me3BhZGRpbmctbGVmdDoyOHB4fS5adDBhNWUgLllwY0RuZntsaW5lLWhlaWdodDo0OHB4fS5HWm5RcWUgLllwY0RuZntsaW5lLWhlaWdodDoyM3B4fS5FcFBZTGQ6aG92ZXJ7Y3Vyc29yOnBvaW50ZXJ9LkVwUFlMZCwuQ0I4bkRlOmhvdmVye2N1cnNvcjpkZWZhdWx0fS5MR2lsdWMsLkVwUFlMZFtkaXNhYmxlZF17cG9pbnRlci1ldmVudHM6bm9uZTtjdXJzb3I6ZGVmYXVsdH0uTEdpbHVje2JvcmRlci10b3A6MXB4IHNvbGlkO2hlaWdodDowO21hcmdpbjo1cHggMH0uWnQwYTVlLkNCOG5EZXtiYWNrZ3JvdW5kOm5vLXJlcGVhdCBsZWZ0IDhweCBjZW50ZXJ9Llp0MGE1ZS5DQjhuRGV7YmFja2dyb3VuZC1pbWFnZTp1cmwoaHR0cHM6Ly9zc2wuZ3N0YXRpYy5jb20vaW1hZ2VzL2ljb25zL21hdGVyaWFsL3N5c3RlbS8xeC9kb25lX2JsYWNrXzE2ZHAucG5nKX0uR1puUXFlLkNCOG5EZXtiYWNrZ3JvdW5kOm5vLXJlcGVhdCBsZWZ0IGNlbnRlcn0uR1puUXFlLkNCOG5EZXtiYWNrZ3JvdW5kLWltYWdlOnVybChodHRwczovL3NzbC5nc3RhdGljLmNvbS91aS92MS9tZW51L2NoZWNrbWFyazIucG5nKX0uR1puUXFlLkxHaWx1YywuR1puUXFlLkVwUFlMZFtkaXNhYmxlZF17b3BhY2l0eTo2MSV9LkdablFxZS5MR2lsdWN7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1nUzVqWGIpfXNlbnRpbmVse30ifSwgImhlYWRlcnNTaXplIjogMCwgImJvZHlTaXplIjogMzk3LCAicmVkaXJlY3RVUkwiOiAiIiwgIl90cmFuc2ZlclNpemUiOiAzOTd9LCAiY2FjaGUiOiB7fSwgInRpbWluZ3MiOiB7ImRucyI6IC0xLCAiY29ubmVjdCI6IC0xLCAic3NsIjogLTEsICJzZW5kIjogMCwgIndhaXQiOiAyNC4yMjksICJyZWNlaXZlIjogNTguNTI0fSwgInBhZ2VyZWYiOiAicGFnZUAyZTdhY2U5NTVhNjc3M2VjZmQyZTk4ZWYyZmRjYjcwNCIsICJzZXJ2ZXJJUEFkZHJlc3MiOiAiWzJhMDA6MTQ1MDo0MDAxOjgwODo6MjAwNF0iLCAiX3NlcnZlclBvcnQiOiA0NDMsICJfc2VjdXJpdHlEZXRhaWxzIjogeyJwcm90b2NvbCI6ICJRVUlDIiwgInN1YmplY3ROYW1lIjogIiouZ29vZ2xlLmNvbSIsICJpc3N1ZXIiOiAiV1IyIiwgInZhbGlkRnJvbSI6IDE3MjIzNDI3NzMsICJ2YWxpZFRvIjogMTcyOTYwMDM3Mn19LCB7InN0YXJ0ZWREYXRlVGltZSI6ICIyMDI0LTA4LTAxVDEyOjMzOjEyLjE3N1oiLCAidGltZSI6IDI4LjQ1OSwgInJlcXVlc3QiOiB7Im1ldGhvZCI6ICJHRVQiLCAidXJsIjogImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20veGpzL18vanMvaz14anMuaGQuZW4uekhBTHduUjgzcUUuTy9hbT1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQWhBQVVBQUNBQWdBQUFBQUFBQUFBQUFCQWdDQUFnQ2dBQUJBQUhBQWdBZ0lBQWdFQUFFU0NBRHpLQndDQUFNQUVBQkFBZ0FBQUFBSUNBQ0FBQUVBQUFBQkNBQUFBQUFBVUFBQUFBQUFBQUFBQUFBQUFBd2hBQUFBQUFBQUFBQUFBQUFJQUFBQ2dBd0FBQUFBQkFFQVFBQmpBQUFFZ0FBRUFBQURvQVVCd0FBeFNFQUFBQUFBQUFBQUFBQUFBQ0VDQ1lDNGtvQ0NBQUFBQUFBQUFBQUFBQUFBQUFFaEpKeFkyL2Q9MC9kZz0wL2JyPTEvcnM9QUNUOTBvSFl0TDMxWF9hYm9KVHAyTjFCbmVmdFV1cFdHZy9tPXN5djAsc3l1eixWc3FTQ2Msc3kxZXAsUDEwT3dmLHN5MWRkLHN5MWRiLHN5cm0sZ1NadmRiLHN5eG4sc3l4bSxXbE5RR2Qsc3l4eixzeXh4LG5hYlBiYixzeXJyLHN5cm8sc3lybixzeXJsLERQcmVFLHN5eGgsc3l4ZixzeWtmLHN5bG0sQ25TVzJkLGtRdmxlZixzeXh5LGZYTzB4ZT94anM9czQiLCAiaHR0cFZlcnNpb24iOiAiaDMiLCAiY29va2llcyI6IFt7Im5hbWUiOiAiQUVDIiwgInZhbHVlIjogIkFWWUI3Y3Jhdjk0WU0tZmZKNlNqaTRRN3pMbVdpLUJhNEdvYkpfOXJPUWc5akh5b3UwbzZ1RXBXWHI4In0sIHsibmFtZSI6ICJfX1NlY3VyZS1FTklEIiwgInZhbHVlIjogIjIxLlNFPVpOTWhJY18yN3g0bW9wZllnd25yZExfTlMyUmU2TE56NTktMnJfUmtPMTFQSG5sd29vdW9aQ0NWOURJaTR6dFFTQlQ0YTZuaE8wTHFqcmFCeHhEOXJZS1NNbGVZakhsZmZhVEROLTUyZGljNnd2M2lYUjNfZ3NudWRFcUNjRFU0dnhjVTltQUFDbFlWUEk1WWlLM05GTTF5RHNIQlBwOERFNWo1V004R3dMV3ROcE5QbjRqNjlTblJHSTRfU2ZGY2diUHlzMF9vNjEtVnlpRVZfdXBGaEZtbmdUX3FEMDdhIn1dLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiOmF1dGhvcml0eSIsICJ2YWx1ZSI6ICJ3d3cuZ29vZ2xlLmNvbSJ9LCB7Im5hbWUiOiAiOm1ldGhvZCIsICJ2YWx1ZSI6ICJHRVQifSwgeyJuYW1lIjogIjpwYXRoIiwgInZhbHVlIjogIi94anMvXy9qcy9rPXhqcy5oZC5lbi56SEFMd25SODNxRS5PL2FtPUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBaEFBVUFBQ0FBZ0FBQUFBQUFBQUFBQUJBZ0NBQWdDZ0FBQkFBSEFBZ0FnSUFBZ0VBQUVTQ0FEektCd0NBQU1BRUFCQUFnQUFBQUFJQ0FDQUFBRUFBQUFCQ0FBQUFBQUFVQUFBQUFBQUFBQUFBQUFBQUF3aEFBQUFBQUFBQUFBQUFBQUlBQUFDZ0F3QUFBQUFCQUVBUUFCakFBQUVnQUFFQUFBRG9BVUJ3QUF4U0VBQUFBQUFBQUFBQUFBQUFDRUNDWUM0a29DQ0FBQUFBQUFBQUFBQUFBQUFBQUVoSkp4WTIvZD0wL2RnPTAvYnI9MS9ycz1BQ1Q5MG9IWXRMMzFYX2Fib0pUcDJOMUJuZWZ0VXVwV0dnL209c3l2MCxzeXV6LFZzcVNDYyxzeTFlcCxQMTBPd2Ysc3kxZGQsc3kxZGIsc3lybSxnU1p2ZGIsc3l4bixzeXhtLFdsTlFHZCxzeXh6LHN5eHgsbmFiUGJiLHN5cnIsc3lybyxzeXJuLHN5cmwsRFByZUUsc3l4aCxzeXhmLHN5a2Ysc3lsbSxDblNXMmQsa1F2bGVmLHN5eHksZlhPMHhlP3hqcz1zNCJ9LCB7Im5hbWUiOiAiOnNjaGVtZSIsICJ2YWx1ZSI6ICJodHRwcyJ9LCB7Im5hbWUiOiAiYWNjZXB0IiwgInZhbHVlIjogIiovKiJ9LCB7Im5hbWUiOiAiYWNjZXB0LWVuY29kaW5nIiwgInZhbHVlIjogImd6aXAsIGRlZmxhdGUsIGJyLCB6c3RkIn0sIHsibmFtZSI6ICJhY2NlcHQtbGFuZ3VhZ2UiLCAidmFsdWUiOiAiZW4tVVMsZW47cT0wLjkifSwgeyJuYW1lIjogImNvb2tpZSIsICJ2YWx1ZSI6ICJBRUM9QVZZQjdjcmF2OTRZTS1mZko2U2ppNFE3ekxtV2ktQmE0R29iSl85ck9RZzlqSHlvdTBvNnVFcFdYcjg7IF9fU2VjdXJlLUVOSUQ9MjEuU0U9Wk5NaEljXzI3eDRtb3BmWWd3bnJkTF9OUzJSZTZMTno1OS0ycl9Sa08xMVBIbmx3b291b1pDQ1Y5RElpNHp0UVNCVDRhNm5oTzBMcWpyYUJ4eEQ5cllLU01sZVlqSGxmZmFURE4tNTJkaWM2d3YzaVhSM19nc251ZEVxQ2NEVTR2eGNVOW1BQUNsWVZQSTVZaUszTkZNMXlEc0hCUHA4REU1ajVXTThHd0xXdE5wTlBuNGo2OVNuUkdJNF9TZkZjZ2JQeXMwX282MS1WeWlFVl91cEZoRm1uZ1RfcUQwN2EifSwgeyJuYW1lIjogInJlZmVyZXIiLCAidmFsdWUiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8ifSwgeyJuYW1lIjogInNlYy1jaC11YSIsICJ2YWx1ZSI6ICJcIkNocm9taXVtXCI7dj1cIjEyN1wiLCBcIk5vdClBO0JyYW5kXCI7dj1cIjk5XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1hcmNoIiwgInZhbHVlIjogIlwieDY0XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1iaXRuZXNzIiwgInZhbHVlIjogIlwiNjRcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLWZ1bGwtdmVyc2lvbiIsICJ2YWx1ZSI6ICJcIjEyNy4wLjY1MzMuMTdcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLWZ1bGwtdmVyc2lvbi1saXN0IiwgInZhbHVlIjogIlwiQ2hyb21pdW1cIjt2PVwiMTI3LjAuNjUzMy4xN1wiLCBcIk5vdClBO0JyYW5kXCI7dj1cIjk5LjAuMC4wXCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1tb2JpbGUiLCAidmFsdWUiOiAiPzAifSwgeyJuYW1lIjogInNlYy1jaC11YS1tb2RlbCIsICJ2YWx1ZSI6ICJcIlwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtcGxhdGZvcm0iLCAidmFsdWUiOiAiXCJXaW5kb3dzXCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1wbGF0Zm9ybS12ZXJzaW9uIiwgInZhbHVlIjogIlwiMTAuMFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtd293NjQiLCAidmFsdWUiOiAiPzAifSwgeyJuYW1lIjogInNlYy1mZXRjaC1kZXN0IiwgInZhbHVlIjogInNjcmlwdCJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLW1vZGUiLCAidmFsdWUiOiAibm8tY29ycyJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLXNpdGUiLCAidmFsdWUiOiAic2FtZS1vcmlnaW4ifSwgeyJuYW1lIjogInVzZXItYWdlbnQiLCAidmFsdWUiOiAiTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEyNy4wLjY1MzMuMTcgU2FmYXJpLzUzNy4zNiJ9XSwgInF1ZXJ5U3RyaW5nIjogW3sibmFtZSI6ICJ4anMiLCAidmFsdWUiOiAiczQifV0sICJoZWFkZXJzU2l6ZSI6IDIxMzksICJib2R5U2l6ZSI6IDB9LCAicmVzcG9uc2UiOiB7InN0YXR1cyI6IDIwMCwgInN0YXR1c1RleHQiOiAiIiwgImh0dHBWZXJzaW9uIjogImgzIiwgImNvb2tpZXMiOiBbXSwgImhlYWRlcnMiOiBbeyJuYW1lIjogImFjY2VwdC1yYW5nZXMiLCAidmFsdWUiOiAiYnl0ZXMifSwgeyJuYW1lIjogImFnZSIsICJ2YWx1ZSI6ICI0Mzk4MyJ9LCB7Im5hbWUiOiAiYWx0LXN2YyIsICJ2YWx1ZSI6ICJoMz1cIjo0NDNcIjsgbWE9MjU5MjAwMCxoMy0yOT1cIjo0NDNcIjsgbWE9MjU5MjAwMCJ9LCB7Im5hbWUiOiAiY2FjaGUtY29udHJvbCIsICJ2YWx1ZSI6ICJwdWJsaWMsIGltbXV0YWJsZSwgbWF4LWFnZT0zMTUzNjAwMCJ9LCB7Im5hbWUiOiAiY29udGVudC1lbmNvZGluZyIsICJ2YWx1ZSI6ICJiciJ9LCB7Im5hbWUiOiAiY29udGVudC1sZW5ndGgiLCAidmFsdWUiOiAiOTMyMyJ9LCB7Im5hbWUiOiAiY29udGVudC1zZWN1cml0eS1wb2xpY3ktcmVwb3J0LW9ubHkiLCAidmFsdWUiOiAicmVxdWlyZS10cnVzdGVkLXR5cGVzLWZvciAnc2NyaXB0JzsgcmVwb3J0LXVyaSBodHRwczovL2NzcC53aXRoZ29vZ2xlLmNvbS9jc3AvZ3dzLXRlYW0ifSwgeyJuYW1lIjogImNvbnRlbnQtdHlwZSIsICJ2YWx1ZSI6ICJ0ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9VVRGLTgifSwgeyJuYW1lIjogImNyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5IiwgInZhbHVlIjogInNhbWUtb3JpZ2luOyByZXBvcnQtdG89XCJnd3MtdGVhbVwiIn0sIHsibmFtZSI6ICJjcm9zcy1vcmlnaW4tcmVzb3VyY2UtcG9saWN5IiwgInZhbHVlIjogImNyb3NzLW9yaWdpbiJ9LCB7Im5hbWUiOiAiZGF0ZSIsICJ2YWx1ZSI6ICJUaHUsIDAxIEF1ZyAyMDI0IDAwOjIwOjA5IEdNVCJ9LCB7Im5hbWUiOiAiZXhwaXJlcyIsICJ2YWx1ZSI6ICJGcmksIDAxIEF1ZyAyMDI1IDAwOjIwOjA5IEdNVCJ9LCB7Im5hbWUiOiAibGFzdC1tb2RpZmllZCIsICJ2YWx1ZSI6ICJXZWQsIDMxIEp1bCAyMDI0IDIzOjI1OjM2IEdNVCJ9LCB7Im5hbWUiOiAicmVwb3J0LXRvIiwgInZhbHVlIjogIntcImdyb3VwXCI6XCJnd3MtdGVhbVwiLFwibWF4X2FnZVwiOjI1OTIwMDAsXCJlbmRwb2ludHNcIjpbe1widXJsXCI6XCJodHRwczovL2NzcC53aXRoZ29vZ2xlLmNvbS9jc3AvcmVwb3J0LXRvL2d3cy10ZWFtXCJ9XX0ifSwgeyJuYW1lIjogInNlcnZlciIsICJ2YWx1ZSI6ICJzZmZlIn0sIHsibmFtZSI6ICJ2YXJ5IiwgInZhbHVlIjogIkFjY2VwdC1FbmNvZGluZywgT3JpZ2luIn0sIHsibmFtZSI6ICJ4LWNvbnRlbnQtdHlwZS1vcHRpb25zIiwgInZhbHVlIjogIm5vc25pZmYifSwgeyJuYW1lIjogIngteHNzLXByb3RlY3Rpb24iLCAidmFsdWUiOiAiMCJ9XSwgImNvbnRlbnQiOiB7InNpemUiOiAyOTA5NCwgIm1pbWVUeXBlIjogInRleHQvamF2YXNjcmlwdDsgY2hhcnNldD1VVEYtOCIsICJjb21wcmVzc2lvbiI6IDE5NzQ1LCAidGV4dCI6ICJ0aGlzLl9oZD10aGlzLl9oZHx8e307KGZ1bmN0aW9uKF8pe3ZhciB3aW5kb3c9dGhpcztcbnRyeXtcbl8udExiPV8uR2QoXCJWc3FTQ2NcIixbXSk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbnZhciBvTGI7Xy5xTGI9ZnVuY3Rpb24oYSl7cmV0dXJuIG9MYihcImh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9kaWFsb2cvc2hhcmVcIix7YXBwX2lkOlwiNzM4MDI2NDg2MzUxNzkxXCIsaHJlZjpfLnBMYihhKSxoYXNodGFnOlwiI0dvb2dsZURvb2RsZVwifSl9O18uckxiPWZ1bmN0aW9uKGEpe3JldHVybiBvTGIoXCJodHRwczovL3R3aXR0ZXIuY29tL2ludGVudC90d2VldFwiLHt0ZXh0OmF9KX07Xy5zTGI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gb0xiKFwibWFpbHRvOlwiLHtzdWJqZWN0OmEsYm9keTpifSl9O18ucExiPWZ1bmN0aW9uKGEpe3ZhciBiPWE7YiYmYi5pbmRleE9mKFwiLy9cIik9PT0wJiYoYj1cImh0dHBzOlwiK2EpO3JldHVybiBifTtvTGI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1uZXcgXy5VbSxkO2ZvcihkIGluIGIpYy5hZGQoZCxiW2RdKTthPW5ldyBfLk1tKGEpO18uU20oYSxjKTtyZXR1cm4gYS50b1N0cmluZygpfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwiVnNxU0NjXCIpO1xudmFyIHVMYj1mdW5jdGlvbihhKXsxIT1hLkdCYiYmXy54Y2IoYSwhMCl9LHZMYj1mdW5jdGlvbihhKXthLkJUYj0hMTtfLlFjYihhLCExKX0sd0xiPWZ1bmN0aW9uKCl7Xy5Day5jYWxsKHRoaXMpO3ZhciBhPXRoaXM7dGhpcy5kaWFsb2c9bmV3IF8ub3IoXCJkZGxzaGFyZS1kaWFsb2dcIik7dGhpcy5kaWFsb2cud1lhKCExKTtfLktjYih0aGlzLmRpYWxvZywhMCk7dGhpcy5kaWFsb2cuT2tiPSEwO18uSmNiKHRoaXMuZGlhbG9nKTt1TGIodGhpcy5kaWFsb2cpO3ZMYih0aGlzLmRpYWxvZyk7Xy5MY2IodGhpcy5kaWFsb2csLjk1KTt0aGlzLlFkPW5ldyBfLnJtKHRoaXMpO3RoaXMub2E9bmV3IF8uUE5hO18uZmUoXCJkZGxlXCIsXCIwXCIsITApO18uY2UoXCJkZGxlXCIsZnVuY3Rpb24oYil7dmFyIGM9YS5kaWFsb2cmJmEuZGlhbG9nLmlzVmlzaWJsZSgpO2I9PT1cIjFcIj9jfHxhLnNob3coKTphLmNsb3NlKG51bGwsITApfSl9O18uRCh3TGIsXy5Dayk7XG53TGIucHJvdG90eXBlLlFjPWZ1bmN0aW9uKCl7dGhpcy5jbG9zZSgpO18uWGIodGhpcy5RZCk7dGhpcy5RZD1udWxsO18uWGIodGhpcy5kaWFsb2cpO3RoaXMuZGlhbG9nPW51bGw7Xy5YYih0aGlzLm9hKTt0aGlzLm9hPW51bGw7Xy5kZShcImRkbGVcIik7Xy5Day5wcm90b3R5cGUuUWMuY2FsbCh0aGlzKX07d0xiLnByb3RvdHlwZS5BYT1mdW5jdGlvbigpe2lmKHRoaXMub2Epe3ZhciBhPXRoaXMub2EuZ2V0U2l6ZSgpLGI9dGhpcy5kaWFsb2cuTWEoKSxjPV8ubm0uZ2V0U2l6ZShiKTtfLm5tLnNldFBvc2l0aW9uKGIsTWF0aC5tYXgoYS53aWR0aC8yLWMud2lkdGgvMiwwKSxfLlZrKChhLmhlaWdodC1jLmhlaWdodCkqLjMsMCxhLmhlaWdodC1jLmhlaWdodCkpfX07XG53TGIucHJvdG90eXBlLnNob3c9ZnVuY3Rpb24oKXt0aGlzLlFkLmxpc3Rlbih0aGlzLmRpYWxvZyxcImhpZGVcIix0aGlzLmNsb3NlKTt0aGlzLlFkLmxpc3Rlbih0aGlzLmRpYWxvZy5PZGEoKSxcImNsaWNrXCIsdGhpcy5jbG9zZSk7dGhpcy5RZC5saXN0ZW4odGhpcy5vYSxcInJlc2l6ZVwiLHRoaXMuQWEpO3RoaXMuZGlhbG9nLnNldFZpc2libGUoITApO3RoaXMuQWEoKTtfLmZlKFwiZGRsZVwiLFwiMVwiKX07d0xiLnByb3RvdHlwZS5jbG9zZT1mdW5jdGlvbihhLGIpe3RoaXMuZGlhbG9nJiZ0aGlzLmRpYWxvZy5pc1Zpc2libGUoKSYmdGhpcy5kaWFsb2cuc2V0VmlzaWJsZSghMSk7dGhpcy5RZCYmdGhpcy5RZC5yZW1vdmVBbGwoKTtifHxfLmZlKFwiZGRsZVwiLFwiMFwiLCEwKX07XG52YXIgeExiPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcpe3dMYi5jYWxsKHRoaXMpO3RoaXMudGl0bGU9YTt0aGlzLmRlc2NyaXB0aW9uPWI7dGhpcy5MYT1jO3RoaXMuT2E9ZDt0aGlzLkdhPWU7dGhpcy5DYT1mO3RoaXMuQmE9Zzt0aGlzLmRpYWxvZy5zZXRUaXRsZSh0aGlzLnRpdGxlKX07Xy5EKHhMYix3TGIpO3hMYi5wcm90b3R5cGUuUWM9ZnVuY3Rpb24oKXt3TGIucHJvdG90eXBlLlFjLmNhbGwodGhpcyl9O1xueExiLnByb3RvdHlwZS5zaG93PWZ1bmN0aW9uKCl7d0xiLnByb3RvdHlwZS5zaG93LmNhbGwodGhpcyk7dmFyIGE9dGhpcyxiPXRoaXMuZGlhbG9nLnpVKCkucXVlcnlTZWxlY3RvcihcImlucHV0LmRkbHMtdGV4dFwiKTtiJiYoYi52YWx1ZT1fLnBMYih0aGlzLkNhKSx0aGlzLlFkLmxpc3RlbihiLFwiY2xpY2tcIixmdW5jdGlvbigpe2Iuc2VsZWN0KCl9KSxiLnNldEF0dHJpYnV0ZShcInJlYWRvbmx5XCIsXCJ0cnVlXCIpKTt5TGIodGhpcyxcImRkbHMtZmJiXCIsXy5xTGIodGhpcy5MYSksMik7eUxiKHRoaXMsXCJkZGxzLXR3YlwiLF8uckxiKCh0aGlzLmRlc2NyaXB0aW9ufHx0aGlzLnRpdGxlKStcIlxcblwiK18ucExiKHRoaXMuT2EpKSwzKTt2YXIgYz10aGlzLmRpYWxvZy5NYSgpLnF1ZXJ5U2VsZWN0b3IoXCIuZGRscy1lbWJcIik7aWYoYyl7dmFyIGQ9Xy5zTGIodGhpcy50aXRsZSwodGhpcy5kZXNjcmlwdGlvbnx8dGhpcy50aXRsZSkrXCJcXG5cIitfLnBMYih0aGlzLkdhKSk7dGhpcy5RZC5saXN0ZW4oYyxcblwiY2xpY2tcIixmdW5jdGlvbigpe18uSWMoZG9jdW1lbnQubG9jYXRpb24sZCk7YS5jbG9zZSgpO3pMYihhLDUpfSl9dmFyIGU9dGhpcy5kaWFsb2cuTWEoKS5xdWVyeVNlbGVjdG9yKFwiLmRkbHMtdGV4dFwiKTtjPXRoaXMuZGlhbG9nLk1hKCkucXVlcnlTZWxlY3RvcihcIi5kZGxzLWNvcHlcIik7ZSYmYyYmdGhpcy5RZC5saXN0ZW4oYyxcImNsaWNrXCIsZnVuY3Rpb24oKXtpZihfLm91YXx8Xy5udWF8fF8ucHVhKXt2YXIgZj1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO2UuY29udGVudEVkaXRhYmxlPVwidHJ1ZVwiO2UucmVhZE9ubHk9ITE7Zi5zZWxlY3ROb2RlQ29udGVudHMoZSk7dmFyIGc9d2luZG93LmdldFNlbGVjdGlvbigpO2cucmVtb3ZlQWxsUmFuZ2VzKCk7Zy5hZGRSYW5nZShmKTtlLnNldFNlbGVjdGlvblJhbmdlKDAsZS52YWx1ZS5sZW5ndGgpO2UuY29udGVudEVkaXRhYmxlPVwiZmFsc2VcIjtlLnJlYWRPbmx5PSEwfWVsc2UgZS5zZWxlY3QoKTtkb2N1bWVudC5leGVjQ29tbWFuZChcImNvcHlcIik7XG56TGIoYSw2KX0pO3RoaXMuQWEoKX07dmFyIHlMYj1mdW5jdGlvbihhLGIsYyxkKXsoYj1hLmRpYWxvZy5NYSgpLnF1ZXJ5U2VsZWN0b3IoXCIuXCIrYikpJiZhLlFkLmxpc3RlbihiLFwiY2xpY2tcIixmdW5jdGlvbigpe3dpbmRvdy5vcGVuKGMpO2EuY2xvc2UoKTt6TGIoYSxkKX0pfSx6TGI9ZnVuY3Rpb24oYSxiKXtnb29nbGUubG9nKFwiZG9vZGxlXCIsXCJzaCxcIitiKyhhLkJhP1wiLGN0OlwiK2EuQmE6XCJcIikpfSxBTGI9bnVsbDt2YXIgQkxiPWZ1bmN0aW9uKGEpe18uQy5jYWxsKHRoaXMsYS5OYSk7aWYoYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI2hwbG9nbyBpbWdcIil8fGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCJpbWcjaHBsb2dvXCIpKXthPWEuZ2V0QXR0cmlidXRlKFwidGl0bGVcIil8fGEuZ2V0QXR0cmlidXRlKFwiYWx0XCIpO3ZhciBiPWErXCIgI0dvb2dsZURvb2RsZVwiLGM9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignbWV0YVtwcm9wZXJ0eT1cIm9nOmRlc2NyaXB0aW9uXCJdJyk7YyYmKGI9Yy5nZXRBdHRyaWJ1dGUoXCJjb250ZW50XCIpKTt2YXIgZD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiaW5wdXQuZGRsLXNob3J0bGlua1wiKTtkPWQmJmQudmFsdWV8fFwiXCI7Yz0oYz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiaW5wdXQuZGRsLWZhY2Vib29rbGlua1wiKSkmJmMudmFsdWV8fGQ7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcImlucHV0LmRkbC10d2l0dGVybGlua1wiKTtlPWUmJmUudmFsdWV8fGQ7dmFyIGY9XG5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiaW5wdXQuZGRsLWVtYWlsbGlua1wiKTtmPWYmJmYudmFsdWV8fGQ7dmFyIGc9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcImlucHV0LmRkbC1jb3B5bGlua1wiKTtnPWcmJmcudmFsdWV8fGQ7ZD1udWxsO3ZhciBoPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIjaHBsb2dvIGFcIil8fF8ua2woXCJocGxvZ29cIikucGFyZW50RWxlbWVudDtoJiZoLmhhc0F0dHJpYnV0ZShcImhyZWZcIikmJihkPV8uS20oaC5nZXRBdHRyaWJ1dGUoXCJocmVmXCIpLFwiY3RcIil8fG51bGwpO0FMYj1uZXcgeExiKGEsYixjLGUsZixnLGQpfX07Xy5EKEJMYixfLkMpO0JMYi5JYT1fLkMuSWE7QkxiLnByb3RvdHlwZS53eT1mdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiZGRsc2hhcmVcIik7QUxiJiZhJiYoXy5CYyhBTGIuZGlhbG9nLnpVKCksXy4kZShhLmlubmVySFRNTCkpLEFMYi5zaG93KCkpfTtfLkwoQkxiLnByb3RvdHlwZSxcIkZMOWFJZVwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMud3l9KTtcbl8ucHIoXy50TGIsQkxiKTtcbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLkxZYz1fLkdkKFwiUDEwT3dmXCIsW18ubXFdKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwiUDEwT3dmXCIpO1xudmFyIE9DPWZ1bmN0aW9uKGEpe18uQy5jYWxsKHRoaXMsYS5OYSk7dGhpcy5vYT10aGlzLmdldERhdGEoXCJjbWVwXCIpLlBiKCk7dGhpcy5UYj1hLnNlcnZpY2UuVGI7dGhpcy5kYXRhPWEuQWUuc2ZhfTtfLkQoT0MsXy5DKTtPQy5JYT1mdW5jdGlvbigpe3JldHVybntzZXJ2aWNlOntUYjpfLlR0fSxBZTp7c2ZhOl8uc0N9fX07T0MucHJvdG90eXBlLkNhPWZ1bmN0aW9uKCl7dGhpcy5UYi5vYSgpLkFhKHRoaXMuZ2V0Um9vdCgpLmVsKCksMSkubG9nKCEwKX07T0MucHJvdG90eXBlLkJhPWZ1bmN0aW9uKGEpe2E9YS5kYXRhP18uVmIoXy5zQyxhLmRhdGEpOm5ldyBfLnNDO01ZYyh0aGlzLGEpfTtPQy5wcm90b3R5cGUuQWE9ZnVuY3Rpb24oYSl7TVljKHRoaXMsYS5kYXRhKX07XG52YXIgTVljPWZ1bmN0aW9uKGEsYil7dmFyIGM7KGI9PW51bGw/MDpiLlN3KCkpJiYoKGM9YS5kYXRhKT09bnVsbD8wOmMuU3coKSkmJihiPT1udWxsP3ZvaWQgMDpiLlN3KCkpIT09YS5kYXRhLlN3KCl8fGEuVGIub2EoKS5BYShhLmdldFJvb3QoKS5lbCgpLDIpLmxvZyghMCl9O09DLnByb3RvdHlwZS5MYT1mdW5jdGlvbihhKXt0aGlzLlRiLm9hKCkub2EoYS5BYi5lbCgpKS5sb2coITApO18ubWYoZG9jdW1lbnQsXy5BbWMpfTtPQy5wcm90b3R5cGUuR2E9ZnVuY3Rpb24oYSl7dGhpcy5UYi5vYSgpLm9hKGEuQWIuZWwoKSkubG9nKCEwKTtpZih0aGlzLm9hKXt2YXIgYjtfLm1mKGRvY3VtZW50LF8uem1jLChiPXRoaXMuZGF0YSk9PW51bGw/dm9pZCAwOmIuV2MoKSl9ZWxzZSBfLm1mKGRvY3VtZW50LF8ueW1jLHRoaXMuZGF0YSl9O18uTChPQy5wcm90b3R5cGUsXCJrRU9rNGRcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLkdhfSk7Xy5MKE9DLnByb3RvdHlwZSxcImZUM1liYlwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTGF9KTtcbl8uTChPQy5wcm90b3R5cGUsXCJoUndTZ2JcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLkFhfSk7Xy5MKE9DLnByb3RvdHlwZSxcInM1Q1VpZlwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQmF9KTtfLkwoT0MucHJvdG90eXBlLFwiTWxQMmplXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5DYX0pO18ucHIoXy5MWWMsT0MpO1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uT1NjPV8uR2QoXCJnU1p2ZGJcIixbXSk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uTFNjPV8uSihcImRsM2JtXCIpO18uTVNjPV8uSihcIkViUFdZZFwiKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy5IdmI9Xy5KKFwiWXJhT3ZlXCIpO18uSXZiPV8uSihcIkt5UGEwZVwiKTtfLkp2Yj1fLkooXCJ3ak9HN2VcIik7Xy5WdT1fLkooXCJBMDV4QmRcIik7Xy5LdmI9Xy5KKFwiRU9aNTdlXCIpO18uTHZiPV8uSihcImFsNUYzZVwiKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwiZ1NadmRiXCIpO1xudmFyIFBTYz1mdW5jdGlvbihhKXtfLkMuY2FsbCh0aGlzLGEuTmEpO3RoaXMuQmE9dGhpcy5nZXREYXRhKFwibXNmXCIpLlBiKCk7dGhpcy5vYT10aGlzLmdldERhdGEoXCJjbWVwXCIpLlBiKCk7dGhpcy5kYXRhPWEuanNkYXRhLnNmYTt0aGlzLkdhPXRoaXMuZ2V0Um9vdCgpLmVsKCkuZ2V0QXR0cmlidXRlKFwiZGF0YS1kY2NsXCIpPT09XCJ0cnVlXCJ9O18uRChQU2MsXy5DKTtQU2MuSWE9ZnVuY3Rpb24oKXtyZXR1cm57anNkYXRhOntzZmE6Xy5zQ319fTtQU2MucHJvdG90eXBlLkFhPWZ1bmN0aW9uKCl7aWYodGhpcy5HYSlyZXR1cm4hMDtRU2ModGhpcyk7cmV0dXJuITF9O1BTYy5wcm90b3R5cGUuQ2E9ZnVuY3Rpb24oYSl7Xy5NYih0aGlzLmRhdGEsXy5vQywxNCxhLmRhdGEpO1FTYyh0aGlzKX07XG52YXIgUVNjPWZ1bmN0aW9uKGEpe18uSnUoYS5nZXRSb290KCkuZWwoKSk7Xy5OU2MoXCJmc1wiKTthLm9hP18ubWYoZG9jdW1lbnQsXy54bWMsYS5kYXRhLldjKCkpOl8ubWYoZG9jdW1lbnQsXy53bWMsYS5kYXRhKTtfLm1mKHdpbmRvdy5kb2N1bWVudC5ib2R5LF8uSnZiKTtfLkh3KGEuZ2V0Um9vdCgpLmVsKCksXCJoaWRlX3BvcHVwXCIpO2EuQmEmJmEudHJpZ2dlcihfLk1TYyl9O18uTChQU2MucHJvdG90eXBlLFwieU0xWUplXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5DYX0pO18uTChQU2MucHJvdG90eXBlLFwiaTVLQ1VcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLkFhfSk7Xy5wcihfLk9TYyxQU2MpO1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uSTNiPV8uR2QoXCJXbE5RR2RcIixbXSk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uRTNiPV8uSihcIm1NZjYxZVwiKTtfLkYzYj1fLkooXCJMeVdORWZcIik7Xy5HM2I9Xy5KKFwiT1ZZMWtkXCIpO18uSDNiPV8uSihcIm51blhaXCIpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJXbE5RR2RcIik7XG52YXIgSjNiPWZ1bmN0aW9uKGEsYixjKXt0aGlzLnRyaWdnZXI9YTt0aGlzLnJHYj1iO3RoaXMud0g9Y30sYXk9ZnVuY3Rpb24oYSl7Xy5DLmNhbGwodGhpcyxhLk5hKTt0aGlzLkNhPW51bGw7dGhpcy5MYT1bXTt0aGlzLkFhPW51bGw7dGhpcy5wcmVmaXg9XCJcIjt0aGlzLlExPVtdLmNvbmNhdChfLm1kKGEuY29udHJvbGxlcnMuUTEpLF8ubWQoYS5jb250cm9sbGVycy56R2IpLF8ubWQoYS5jb250cm9sbGVycy5Cb2IpKTt0aGlzLm1lbnU9dGhpcy5nZXRSb290KCkuZWwoKTt0aGlzLlFhPV8uUkFhKHRoaXMubWVudSk9PT1cImxpc3Rib3hcIjt0aGlzLlVhPW5ldyBfLlBxKHRoaXMud2IsMUUzLHRoaXMpO18uSGcodGhpcyx0aGlzLlVhKTtLM2IodGhpcyl9O18uRChheSxfLkMpO2F5LklhPWZ1bmN0aW9uKCl7cmV0dXJue2NvbnRyb2xsZXJzOntRMTpcIk5OSkx1ZFwiLHpHYjpcImhnRFV3ZVwiLEJvYjpcInRxcDd1ZFwifX19O2F5LnByb3RvdHlwZS5oYj1mdW5jdGlvbigpe3JldHVybiB0aGlzLkFhfTtcbmF5LnByb3RvdHlwZS5CYT1mdW5jdGlvbigpe3ZhciBhPXRoaXMsYj1bXS5jb25jYXQoXy5tZCh0aGlzLkNiKFwiTk5KTHVkXCIpLnRvQXJyYXkoKSkpLmZpbHRlcihmdW5jdGlvbihkKXtyZXR1cm4hYS5vYShkKS5aZWEoKX0pLGM9Xy5abih0aGlzLFwidHFwN3VkXCIpLmVsKCk7YyYmYi5wdXNoKGMpO3JldHVybiBifTtheS5wcm90b3R5cGUua2I9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5RMX07YXkucHJvdG90eXBlLndiPWZ1bmN0aW9uKCl7dGhpcy5wcmVmaXg9XCJcIn07XG52YXIgSzNiPWZ1bmN0aW9uKGEpe3ZhciBiPWEuQmEoKTtfLkhhKGIsZnVuY3Rpb24oYyl7dmFyIGQ9YS5vYShjKTtpZihkLmlzU2VsZWN0ZWQoKSYmZC5pc0VuYWJsZWQoKSlzd2l0Y2goZC5nZXRUeXBlKCkpe2Nhc2UgMjpMM2IoYSk7ZC5PcighMCk7YS5DYT1jO2JyZWFrO2Nhc2UgMzpkLk9yKCEwKTthLkxhLnB1c2goYyk7YnJlYWs7ZGVmYXVsdDpkLk9yKCExKX1lbHNlIGQuT3IoITEpfSxhKTtiPWJbMF07YS5vYShiKS5QMGEoKSYmYi5zZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiLFwiMFwiKX07XG5heS5wcm90b3R5cGUuY2xlYXJTZWxlY3Rpb249ZnVuY3Rpb24oKXtmb3IodmFyIGE9Xy5QYSh0aGlzLkJhKCkpLGI9YS5uZXh0KCk7IWIuZG9uZTtiPWEubmV4dCgpKXtiPXRoaXMub2EoYi52YWx1ZSk7aWYoYi5pc1NlbGVjdGVkKCkmJmIuaXNFbmFibGVkKCkpc3dpdGNoKGIuZ2V0VHlwZSgpKXtjYXNlIDI6TDNiKHRoaXMpO2JyZWFrO2Nhc2UgMzp0aGlzLkxhLnBvcCgpO2JyZWFrO2Nhc2UgMTpjYXNlIDc6Y2FzZSA2OmNhc2UgNDpjYXNlIDU6Y2FzZSAxMDpicmVhaztkZWZhdWx0OmIuZ2V0VHlwZSgpfWIuT3IoITEpfU0zYih0aGlzLG51bGwpfTt2YXIgTDNiPWZ1bmN0aW9uKGEpe2EuQ2EmJihhLm9hKGEuQ2EpLk9yKCExKSxhLkNhPW51bGwpfTtheS5wcm90b3R5cGUub2E9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuUTEuZmluZChmdW5jdGlvbihiKXtyZXR1cm4gYi5nZXRSb290KCkuZWwoKT09PWF9KX07XG52YXIgTjNiPWZ1bmN0aW9uKGEsYil7cmV0dXJuISFhLkJhKCkuZmluZChmdW5jdGlvbihjKXtyZXR1cm4gYz09PWJ9KX07YXkucHJvdG90eXBlLkdhPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwPyExOmI7TjNiKHRoaXMsYSkmJk8zYih0aGlzLGEsYil9O1xudmFyIE8zYj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5vYShiKTtpZihkLmlzRW5hYmxlZCgpKXtNM2IoYSxiKTtzd2l0Y2goZC5nZXRUeXBlKCkpe2Nhc2UgMjp2YXIgZT1hLkNhIT09YjtlJiYoTDNiKGEpLGEuQ2E9YixkLk9yKCEwKSk7UDNiKGEsZCxlLGMpO2JyZWFrO2Nhc2UgMzplPSFkLmlzU2VsZWN0ZWQoKTtkLk9yKGUpO2U/YS5MYS5wdXNoKGIpOl8uemEoYS5MYSxiKTtQM2IoYSxkLCEwLGMpO2JyZWFrO2Nhc2UgNTphPWEuZ2V0Um9vdCgpLmVsKCk7Xy56ZShhLF8uRjNiKTticmVhaztkZWZhdWx0OlAzYihhLGQsITEsYyl9ZC5pc1NlbGVjdGVkKCl9fSxQM2I9ZnVuY3Rpb24oYSxiLGMsZCl7YT1hLmdldFJvb3QoKS5lbCgpO18uemUoYSxfLkUzYixuZXcgSjNiKGIsYyxkKSl9O18ubT1heS5wcm90b3R5cGU7Xy5tLlZwPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQ2F9O18ubS5pd2M9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5MYX07Xy5tLmh3Yz1mdW5jdGlvbigpe3JldHVybiB0aGlzLkFhfTtcbl8ubS5aemE9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLlZwKCk7cmV0dXJuIGE/dGhpcy5vYShhKS5nZXRDb250ZW50KCk6XCJcIn07Xy5tLkhOYj1mdW5jdGlvbigpe3ZhciBhPXRoaXMuQmEoKVswXTtyZXR1cm4gYT90aGlzLnBTKGEpOm51bGx9O18ubS5JTmI9ZnVuY3Rpb24oYSl7YT1hPT09dm9pZCAwPyExOmE7dmFyIGI9dGhpcy5WcCgpO2ImJnRoaXMuUWE/YT1iOmE/YT0oYT1fLnBhKHRoaXMuQmEoKSkpP3RoaXMucFMoYSk6bnVsbDphPXRoaXMuSE5iKCk7cmV0dXJuIGF9O1xuXy5tLnBTPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMub2EoYSk7aWYoYi5nZXRUeXBlKCkhPT02JiZiLmdldFR5cGUoKSE9PTEwKXJldHVybiBhO2I9KG5ldyBfLmpnKFthXSkpLmZpbmQoXCIqXCIpLnRvQXJyYXkoKTtyZXR1cm4oYT1bYV0uY29uY2F0KGIpLmZpbmQoZnVuY3Rpb24oYyl7cmV0dXJuIF8ubWUoYykmJl8ubm0uWGgoYykmJihjLmdldEF0dHJpYnV0ZShcInJvbGVcIik9PT1cIm1lbnVpdGVtXCImJmMuaGFzQXR0cmlidXRlKFwidGFiaW5kZXhcIil8fF8uTGwoYykpfSkpP2E6bnVsbH07Xy5tLlNvYT1mdW5jdGlvbihhKXthJiYhTjNiKHRoaXMsYSl8fE0zYih0aGlzLGEpfTtcbnZhciBNM2I9ZnVuY3Rpb24oYSxiLGMpe2M9Yz09PXZvaWQgMD8hMTpjO2lmKGIpe3ZhciBkPWEub2EoYik7aWYoIWQuaXNFbmFibGVkKCkmJmMpcmV0dXJuO2QuRk5iKCEwKTtkLlAwYSgpJiZiLnNldEF0dHJpYnV0ZShcInRhYmluZGV4XCIsXCIwXCIpfWVsc2UgYS5tZW51LnNldEF0dHJpYnV0ZShcInRhYmluZGV4XCIsXCIwXCIpLGEubWVudS5mb2N1cygpO2EuQWEhPT1iJiZhLkFhJiYoYz1hLm9hKGEuQWEpLGMuUDBhKCkmJmEuQWEuc2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIixcIi0xXCIpLGMuRk5iKCExKSk7YS5BYT1ifSxRM2I9ZnVuY3Rpb24oYSl7YT1hLnRhcmdldEVsZW1lbnQ7Zm9yKHZhciBiLGM7YS5lbCgpIT1udWxsJiYoKGI9YS5lbCgpKT09bnVsbD92b2lkIDA6Yi50YWdOYW1lKSE9PVwiRy1NRU5VLUlURU1cIiYmKChjPWEuZWwoKSk9PW51bGw/dm9pZCAwOmMudGFnTmFtZSkhPT1cIkctTUVOVVwiOylhPWEucGFyZW50KCk7dmFyIGQ7cmV0dXJuKChkPWEuZWwoKSk9PW51bGw/dm9pZCAwOmQudGFnTmFtZSk9PT1cblwiRy1NRU5VLUlURU1cIj9hLmVsKCk6bnVsbH07Xy5tPWF5LnByb3RvdHlwZTtfLm0ua3djPWZ1bmN0aW9uKGEpe3ZhciBiPVEzYihhKTtpZihiKXt2YXIgYz1hLmV2ZW50OyhjPWM/Yy53aGljaHx8Yy5rZXlDb2RlOm51bGwpJiZjPT09MzI/dGhpcy5LbChhKTpPM2IodGhpcyxiLCEwKX19O18ubS5qd2M9ZnVuY3Rpb24oKXt0aGlzLkFhPT09bnVsbCYmTTNiKHRoaXMsdGhpcy5CYSgpWzBdKX07Xy5tLmx3Yz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2V0Um9vdCgpLmVsKCk7Xy56ZShhLF8uRzNiKX07Xy5tLm13Yz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2V0Um9vdCgpLmVsKCk7Xy56ZShhLF8uSDNiKTtNM2IodGhpcyxudWxsKX07Xy5tLm93Yz1mdW5jdGlvbihhKXsoYT1RM2IoYSkpJiZNM2IodGhpcyxhLCEwKX07XG5fLm0uS2w9ZnVuY3Rpb24oYSl7dmFyIGI9YS5ldmVudDtpZighYnx8Yi5jdHJsS2V5fHxiLm1ldGFLZXl8fGIuc2hpZnRLZXl8fGIuYWx0S2V5KXJldHVybiExO3ZhciBjPWIud2hpY2h8fGIua2V5Q29kZSxkPSExO2lmKGM9PT0yNylyZXR1cm4hMDtpZihjPT09NDB8fGM9PT0zOCl7dmFyIGU9dGhpcy5BYSxmPXRoaXMuQmEoKTtlPWM9PT0zOD9lPT09ZlswXTplPT09Zi5wb3AoKTtpZighdGhpcy5RYXx8IWUpe2M9NDA9PT1jO2U9UjNiKHRoaXMsYyk7dmFyIGc7Yz0oZz1jP2Uuc2hpZnQoKTplLnBvcCgpKSE9bnVsbD9nOm51bGw7TTNiKHRoaXMsYyk7dGhpcy5PYSh0aGlzLkFhKX19ZWxzZSBpZihjPT09MTN8fGM9PT0zMiYmIXRoaXMucHJlZml4KXRoaXMuQWEmJihkPXRoaXMub2EodGhpcy5BYSkuZ2V0VHlwZSgpPT09Nnx8dGhpcy5vYSh0aGlzLkFhKS5nZXRUeXBlKCk9PT0xMCxPM2IodGhpcyx0aGlzLkFhLCEwKSk7ZWxzZSBpZihfLldBYShjKSl0aGlzLlVhLnN0YXJ0KCksZz1cblN0cmluZy5mcm9tQ2hhckNvZGUoYyksdGhpcy5wcmVmaXg9PT1nP2c9UzNiKHRoaXMsITApOih0aGlzLnByZWZpeCs9ZyxnPVMzYih0aGlzLCExKSksZyYmKE0zYih0aGlzLGcpLHRoaXMuT2EodGhpcy5BYSkpO2Vsc2UgcmV0dXJuITE7aWYoYS5BYi5lbCgpLmNvbnRhaW5zKGIudGFyZ2V0KSl7dmFyIGg7KGg9Yi5zdG9wUHJvcGFnYXRpb24pPT1udWxsfHxoLmNhbGwoYik7aWYoIWQpe3ZhciBrOyhrPWIucHJldmVudERlZmF1bHQpPT1udWxsfHxrLmNhbGwoYil9fXJldHVybiExfTtcbnZhciBTM2I9ZnVuY3Rpb24oYSxiKXtyZXR1cm4oYj9SM2IoYSwhMCk6YS5CYSgpKS5maW5kKGZ1bmN0aW9uKGMpe3JldHVybiBhLm9hKGMpLmlzRW5hYmxlZCgpPyhjPWEub2EoYykuZ2V0Q29udGVudCgpLF8uSXRhKGMsYS5wcmVmaXgpKTohMX0pfSxSM2I9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLkFhLGQ9YS5CYSgpLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gXy5ubS5YaChlKX0pO2M9PT1udWxsJiYoYS5tZW51LmdldEF0dHJpYnV0ZShcInRhYmluZGV4XCIpPT09XCIwXCJ8fGQubGVuZ3RoPjAmJmRbMF0uZ2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIik9PT1cIjBcIikmJihjPWI/Xy5wYShkKTpkWzBdKTtjJiYoYT1kLmZpbmRJbmRleChmdW5jdGlvbihlKXtyZXR1cm4gYz09PWV9KSxkPV8uaGNiKGQsYj8tYS0xOi1hKSxhPWQuZmluZEluZGV4KGZ1bmN0aW9uKGUpe3JldHVybiBjPT09ZX0pKTtyZXR1cm4gZH07XG5heS5wcm90b3R5cGUuT2E9ZnVuY3Rpb24oYSl7YSYmKHRoaXMuUmEoYSksKGE9dGhpcy5wUyhhKSkmJmEuZm9jdXMoKSl9O1xuYXkucHJvdG90eXBlLlJhPWZ1bmN0aW9uKGEsYil7aWYoYSl7dmFyIGM9Xy5ubS5nZXRTaXplKHRoaXMubWVudSk7aWYoYy5oZWlnaHQ8dGhpcy5tZW51LnNjcm9sbEhlaWdodCl7dmFyIGQ9dGhpcy5tZW51LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCxlPV8ubm0uZ2V0U2l6ZShhKTtkPWEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wLWQ7dmFyIGY9ZS5oZWlnaHQvMjtkPGY/dGhpcy5tZW51LnNjcm9sbFRvcCs9ZC1mOmQrZS5oZWlnaHQ+Yy5oZWlnaHQtZiYmKHRoaXMubWVudS5zY3JvbGxUb3ArPWQrZS5oZWlnaHQtYy5oZWlnaHQrZik7YiYmKHRoaXMubWVudS5zY3JvbGxUb3ArPWEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wLXRoaXMubWVudS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AtTWF0aC5mbG9vcigoYy5oZWlnaHQtZS5oZWlnaHQpLzIpKX19fTtfLkwoYXkucHJvdG90eXBlLFwidVlUMlZiXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5LbH0pO1xuXy5MKGF5LnByb3RvdHlwZSxcIklnSmw5Y1wiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3djfSk7Xy5MKGF5LnByb3RvdHlwZSxcIlR4NVJiXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5td2N9KTtfLkwoYXkucHJvdG90eXBlLFwiV09RcVliXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sd2N9KTtfLkwoYXkucHJvdG90eXBlLFwiaDA2UjhcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLmp3Y30pO18uTChheS5wcm90b3R5cGUsXCJQU2wyOGNcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLmt3Y30pO18uTChheS5wcm90b3R5cGUsXCJ4cFJzTmVcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLkhOYn0pO18uTChheS5wcm90b3R5cGUsXCJPRzJxcWNcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLlp6YX0pO18uTChheS5wcm90b3R5cGUsXCJrdm0yOGRcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLmh3Y30pO18uTChheS5wcm90b3R5cGUsXCJtRnMyU2NcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLml3Y30pO1xuXy5MKGF5LnByb3RvdHlwZSxcIlVyd3drZlwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVnB9KTtfLkwoYXkucHJvdG90eXBlLFwiSjJoUFRlXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbGVhclNlbGVjdGlvbn0pO18uTChheS5wcm90b3R5cGUsXCJnU21LUGNcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLmtifSk7Xy5MKGF5LnByb3RvdHlwZSxcImxTcFJsYlwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQmF9KTtfLkwoYXkucHJvdG90eXBlLFwibUo2MGpiXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5oYn0pO18ucHIoXy5JM2IsYXkpO1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uYzViPV8uR2QoXCJuYWJQYmJcIixbXSk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uVjRiPV8uSihcInczVWtyZlwiKTtfLlc0Yj1fLkooXCJnWGZPcWJcIik7Xy5YNGI9Xy5KKFwibjFJcTNcIik7Xy5ZNGI9Xy5KKFwieDZCQ2ZiXCIpO18uWjRiPV8uSihcIkJWZmpoZlwiKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwibmFiUGJiXCIpO1xudmFyIGQ1Yj1mdW5jdGlvbihhKXtfLkMuY2FsbCh0aGlzLGEuTmEpO3RoaXMub2E9YS5jb250cm9sbGVyLlVqLk1hKFwieGwwN09iXCIpLmVsKCk7dGhpcy5tZW51PV8uYW8oYS5jb250cm9sbGVyLlVqLFwieGwwN09iXCIpO3RoaXMuYnV0dG9uPV8uWm4oYS5jb250cm9sbGVyLlVqLFwiTGdic1NlXCIpO3RoaXMucG9wdXA9YS5jb250cm9sbGVyLlVqO3RoaXMuQWE9Xy5TZih0aGlzLmdldERhdGEoXCJmZnBcIiksITEpfTtfLkQoZDViLF8uQyk7ZDViLklhPWZ1bmN0aW9uKCl7cmV0dXJue2NvbnRyb2xsZXI6e1VqOlwiVjY4YmRlXCJ9fX07XG5kNWIucHJvdG90eXBlLkNhPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz1bXTtfLlVjKHRoaXMub2EpJiZjLnB1c2gobmV3IF8ubG4odGhpcy5vYSxcInNob3dcIikpO3ZhciBkPWEuZGF0YSYmYS5kYXRhLkFjO2QmJl8uVWMoZCl8fChkPW51bGwpOyhkfHxjLmxlbmd0aCkmJl8uSXUoYyx7QWM6ZHx8dm9pZCAwfSk7Yz1fLmpsKFwic2VhcmNoZm9ybVwiKTtkPXRoaXMucG9wdXAuZ2V0UG9wdXAoKTtjJiZjLmNvbnRhaW5zKGEudGFyZ2V0RWxlbWVudC5lbCgpKSYmYy5jbGFzc0xpc3QuY29udGFpbnMoXCJtaW5pZGl2XCIpPyhfLm5tLnNldFN0eWxlKGMsXCJ6LWluZGV4XCIsMUUzKSxfLm5tLnNldFN0eWxlKGQsXCJwb3NpdGlvblwiLFwiZml4ZWRcIiksdGhpcy5wb3B1cC5Sb2EoMCxfLlFlKCkuc2Nyb2xsWSksdGhpcy5wb3B1cC5yZXBvc2l0aW9uKCkpOnRoaXMuQWEmJihfLm5tLnNldFN0eWxlKF8uVHUoKSxcInotaW5kZXhcIiwyMDAxKSxfLm5tLnNldFN0eWxlKGQsXCJwb3NpdGlvblwiLFwiZml4ZWRcIiksXy5ubS5zZXRTdHlsZShkLFxuXCJib3R0b21cIix0aGlzLnBvcHVwLk5vKCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0K1wicHhcIiksXy5ubS5zZXRTdHlsZShkLFwidG9wXCIsXCJcIikpO3RoaXMubWVudS50aGVuKGZ1bmN0aW9uKGUpe2lmKGUpe2UuZ2V0Um9vdCgpLkViKCkuZm9jdXMoKTtmb3IodmFyIGY9Xy5QYShlLlExKSxnPWYubmV4dCgpOyFnLmRvbmU7Zz1mLm5leHQoKSl7Zz1nLnZhbHVlO3ZhciBoPWcuUG4oKTtpZihnLmlzRW5hYmxlZCgpJiZfLm5tLlhoKGgpKXtlLlNvYShoKTtlLk9hKGgpO2JyZWFrfX1iLm5vdGlmeShfLlY0Yil9fSl9O1xuZDViLnByb3RvdHlwZS5CYT1mdW5jdGlvbihhKXt2YXIgYj1fLmpsKFwic2VhcmNoZm9ybVwiKSxjPXRoaXMucG9wdXAuZ2V0UG9wdXAoKTtiJiZiLmNvbnRhaW5zKGEudGFyZ2V0RWxlbWVudC5lbCgpKT8oXy5ubS5zZXRTdHlsZShiLFwiei1pbmRleFwiLFwiXCIpLF8ubm0uc2V0U3R5bGUoYyxcInBvc2l0aW9uXCIsXCJcIiksdGhpcy5wb3B1cC5Sb2EoMCwwKSk6dGhpcy5BYSYmKF8ubm0uc2V0U3R5bGUoXy5UdSgpLFwiei1pbmRleFwiLFwiXCIpLF8ubm0uc2V0U3R5bGUoYyxcInBvc2l0aW9uXCIsXCJcIiksXy5ubS5zZXRTdHlsZShjLFwiYm90dG9tXCIsXCJcIikpfTtkNWIucHJvdG90eXBlLkdhPWZ1bmN0aW9uKCl7dGhpcy5tZW51LnRoZW4oZnVuY3Rpb24oYSl7YSYmYS5Tb2EobnVsbCl9KX07Xy5MKGQ1Yi5wcm90b3R5cGUsXCJWRnp3ZWJcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLkdhfSk7Xy5MKGQ1Yi5wcm90b3R5cGUsXCJnRGtmNGNcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLkJhfSk7XG5fLkwoZDViLnByb3RvdHlwZSxcIlkweTRjXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5DYX0pO18ucHIoXy5jNWIsZDViKTtcbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLld1PWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCxrKXt2YXIgbD1fLnF3YihjKSxuPV8ubm0uZ2V0Qm91bmRzKGEpLHI9Xy5ubS5pMShhKTtyJiZfLk5BYShuLF8uTEFhKHIpKTtfLm5tLlRUZChuLF8uUGUoYSksXy5QZShjKSk7YT1fLnJ3YihhLGIpO2I9bi5sZWZ0O2EmND9iKz1uLndpZHRoOmEmMiYmKGIrPW4ud2lkdGgvMik7bj1uZXcgXy5aayhiLG4udG9wKyhhJjE/bi5oZWlnaHQ6MCkpO249Xy5yeWEobixsKTtlJiYobi54Kz0oYSY0Py0xOjEpKmUueCxuLnkrPShhJjE/LTE6MSkqZS55KTtpZihnKWlmKGspdmFyIHQ9aztlbHNlIGlmKHQ9Xy5ubS5pMShjKSl0LnRvcC09bC55LHQucmlnaHQtPWwueCx0LmJvdHRvbS09bC55LHQubGVmdC09bC54O3JldHVybiBfLnN3YihuLGMsZCxmLHQsZyxoKX07XG5fLnF3Yj1mdW5jdGlvbihhKXtpZihhPWEub2Zmc2V0UGFyZW50KXt2YXIgYj1hLnRhZ05hbWU9PVwiSFRNTFwifHxhLnRhZ05hbWU9PVwiQk9EWVwiO2lmKCFifHxfLm5tLldqYShhKSE9XCJzdGF0aWNcIil7dmFyIGM9Xy5ubS5MSihhKTtifHwoYz1fLnJ5YShjLG5ldyBfLlprKF8ubm0uV2oudEEoYSksYS5zY3JvbGxUb3ApKSl9fXJldHVybiBjfHxuZXcgXy5aa307Xy5zd2I9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7YT1hLmNsb25lKCk7dmFyIGg9Xy5yd2IoYixjKTtjPV8ubm0uZ2V0U2l6ZShiKTtnPWc/Zy5jbG9uZSgpOmMuY2xvbmUoKTthPV8udHdiKGEsZyxoLGQsZSxmKTtpZihhLnN0YXR1cyY0OTYpcmV0dXJuIGEuc3RhdHVzO18ubm0uc2V0UG9zaXRpb24oYixhLnJlY3QuSHooKSk7Zz1hLnJlY3QuZ2V0U2l6ZSgpO18uc3lhKGMsZyl8fF8ubm0ubExkKGIsZyk7cmV0dXJuIGEuc3RhdHVzfTtcbl8udHdiPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXthPWEuY2xvbmUoKTtiPWIuY2xvbmUoKTt2YXIgZz0wO2lmKGR8fGMhPTApYyY0P2EueC09Yi53aWR0aCsoZD9kLnJpZ2h0OjApOmMmMj9hLngtPWIud2lkdGgvMjpkJiYoYS54Kz1kLmxlZnQpLGMmMT9hLnktPWIuaGVpZ2h0KyhkP2QuYm90dG9tOjApOmQmJihhLnkrPWQudG9wKTtpZihmKXtpZihlKXtnPWE7Yz1iO2Q9MDsoZiY2NSk9PTY1JiYoZy54PGUubGVmdHx8Zy54Pj1lLnJpZ2h0KSYmKGYmPS0yKTsoZiYxMzIpPT0xMzImJihnLnk8ZS50b3B8fGcueT49ZS5ib3R0b20pJiYoZiY9LTUpO2cueDxlLmxlZnQmJmYmMSYmKGcueD1lLmxlZnQsZHw9MSk7aWYoZiYxNil7dmFyIGg9Zy54O2cueDxlLmxlZnQmJihnLng9ZS5sZWZ0LGR8PTQpO2cueCtjLndpZHRoPmUucmlnaHQmJihjLndpZHRoPU1hdGgubWluKGUucmlnaHQtZy54LGgrYy53aWR0aC1lLmxlZnQpLGMud2lkdGg9TWF0aC5tYXgoYy53aWR0aCwwKSxkfD00KX1nLngrYy53aWR0aD5cbmUucmlnaHQmJmYmMSYmKGcueD1NYXRoLm1heChlLnJpZ2h0LWMud2lkdGgsZS5sZWZ0KSxkfD0xKTtmJjImJihkfD0oZy54PGUubGVmdD8xNjowKXwoZy54K2Mud2lkdGg+ZS5yaWdodD8zMjowKSk7Zy55PGUudG9wJiZmJjQmJihnLnk9ZS50b3AsZHw9Mik7ZiYzMiYmKGg9Zy55LGcueTxlLnRvcCYmKGcueT1lLnRvcCxkfD04KSxnLnkrYy5oZWlnaHQ+ZS5ib3R0b20mJihjLmhlaWdodD1NYXRoLm1pbihlLmJvdHRvbS1nLnksaCtjLmhlaWdodC1lLnRvcCksYy5oZWlnaHQ9TWF0aC5tYXgoYy5oZWlnaHQsMCksZHw9OCkpO2cueStjLmhlaWdodD5lLmJvdHRvbSYmZiY0JiYoZy55PU1hdGgubWF4KGUuYm90dG9tLWMuaGVpZ2h0LGUudG9wKSxkfD0yKTtmJjgmJihkfD0oZy55PGUudG9wPzY0OjApfChnLnkrYy5oZWlnaHQ+ZS5ib3R0b20/MTI4OjApKTtlPWR9ZWxzZSBlPTI1NjtnPWV9ZT1uZXcgXy5tbSgwLDAsMCwwKTtlLmxlZnQ9YS54O2UudG9wPWEueTtlLndpZHRoPWIud2lkdGg7XG5lLmhlaWdodD1iLmhlaWdodDtyZXR1cm57cmVjdDplLHN0YXR1czpnfX07Xy5yd2I9ZnVuY3Rpb24oYSxiKXtyZXR1cm4oYiY4JiZfLm5tLndqKGEpP2JeNDpiKSYtOX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uTnZiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5OdmIsXy5xKTtfLk92Yj1mdW5jdGlvbihhLGIpe3JldHVybiBfLmNqKGEsMSxiKX07Xy5QdmI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5jaihhLDIsYil9O18uUXZiPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uTWcoYSw1LGIpfTtfLlJ2Yj1mdW5jdGlvbihhLGIpe3JldHVybiBfLk1nKGEsNixiKX07Xy5TdmI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5NZyhhLDcsYil9O18uVHZiPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uTWcoYSw4LGIpfTtfLlV2Yj1mdW5jdGlvbihhLGIpe3JldHVybiBfLk1nKGEsOSxiKX07Xy5WdmI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5NZyhhLDEwLGIpfTtfLmp3Yj1mdW5jdGlvbihhLGIpe3JldHVybiBfLk1nKGEsMTEsYil9O18ub3diPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uTWcoYSwxMixiKX07Xy5wd2I9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5NZyhhLDEzLGIpfTtcbl8uTnZiLnByb3RvdHlwZS5xYj1cIm1WakFqZlwiO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLk12Yj1fLkdkKFwiRFByZUVcIixbXy5ocSxfLmpxXSk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uVXU9Xy5KKFwiQlVZd1ZiXCIpO18uR3ZiPV8uSihcIkxzTEdIZlwiKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwiRFByZUVcIik7XG52YXIgJHU9ZnVuY3Rpb24oYSl7Xy5DLmNhbGwodGhpcyxhLk5hKTt2YXIgYj10aGlzO3RoaXMub2E9MTt0aGlzLm9mZnNldFk9dGhpcy5vZmZzZXRYPTA7dGhpcy5PYT10aGlzLkdhPSExO3RoaXMuZGF0YT1hLmpzZGF0YS5TJGM7dGhpcy5BYT1hLnNlcnZpY2UuZGlzbWlzczt0aGlzLkpqPWEuc2VydmljZS5Kajt0aGlzLnJvb3Q9dGhpcy5nZXRSb290KCkuZWwoKTt0aGlzLnBvcHVwPXRoaXMuTWEoXCJWNjhiZGVcIikuRWIoKTtfLmJvKHRoaXMsdGhpcy5wb3B1cCk7dGhpcy5MYT1mdW5jdGlvbigpe2IucmVwb3NpdGlvbigpfTtfLlhkKHdpbmRvdyxcInJlc2l6ZVwiLHRoaXMuTGEpO3RoaXMuUWE9dGhpcy5ObygpLmhhc0F0dHJpYnV0ZShcInJvbGVcIik7dGhpcy5PYT1fLkUodGhpcy5kYXRhLDEzKTt0aGlzLkNhKCl9O18uRCgkdSxfLkMpOyR1LklhPWZ1bmN0aW9uKCl7cmV0dXJue2pzZGF0YTp7UyRjOl8uTnZifSxzZXJ2aWNlOntkaXNtaXNzOl8uT3UsSmo6Xy5TdX19fTtfLm09JHUucHJvdG90eXBlO1xuXy5tLnVjPWZ1bmN0aW9uKCl7dGhpcy5CYSgpJiZ0aGlzLmlzVmlzaWJsZSgpP3RoaXMuQWEuZGlzbWlzcyh0aGlzLnBvcHVwKTp0aGlzLkFhLnVubGlzdGVuKHRoaXMucG9wdXApO18uS2sod2luZG93LFwicmVzaXplXCIsdGhpcy5MYSk7Xy53Zih0aGlzLnJvb3QsdGhpcy5wb3B1cCl8fHRoaXMucm9vdC5hcHBlbmRDaGlsZCh0aGlzLnBvcHVwKTtfLkMucHJvdG90eXBlLnVjLmNhbGwodGhpcyl9O1xuXy5tLm9uRGlzbWlzcz1mdW5jdGlvbihhLGIsYyl7aWYoKGM9Yz09PXZvaWQgMD9udWxsOmMpJiZfLkRhKGMpJiZjLm5vZGVUeXBlPjAmJl8ud2YodGhpcy5ObygpLGMpfHxhLnNvbWUoZnVuY3Rpb24oZCl7cmV0dXJuIF8ud2YoZCxjKX0pKXJldHVybiExO2lmKF8uRSh0aGlzLmRhdGEsMTIpKXJldHVybiB0aGlzLnRyaWdnZXIoXy5MdmIse3R5cGU6YixpQTpjfSksITA7dGhpcy5zZXRWaXNpYmxlKCExKTtfLm1mKGRvY3VtZW50LF8uTHZiKTtiPT09MiYmKGE9dGhpcy5ObygpLGEuaGFzQXR0cmlidXRlKFwidGFiaW5kZXhcIil8fChhPWEuZmlyc3RFbGVtZW50Q2hpbGQpLGEuZm9jdXMoKSk7dGhpcy5vYT0xO3JldHVybiEwfTtcbl8ubS5LbD1mdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9YS5ldmVudDtpZighYylyZXR1cm4hMTtjPWMud2hpY2h8fGMua2V5Q29kZTtjIT09NDAmJmMhPT0zOHx8IXRoaXMuZ2V0UG9wdXAoKS5xdWVyeVNlbGVjdG9yKFwiZy1tZW51XCIpfHwodGhpcy5Kai5kaXNhYmxlKCksdGhpcy56VmEoYSksKDAsXy5xbikoZnVuY3Rpb24oKXtiLkpqLmVuYWJsZSgpfSwwKSk7cmV0dXJuITF9O1xuXy5tLkdrZD1mdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9dGhpcy5DYihcIlhQdE95YlwiKS50b0FycmF5KCk7YT1hLmV2ZW50O2lmKCFhKXJldHVybiExO3ZhciBkPWEua2V5O2lmKGQ9PT1cIkFycm93UmlnaHRcIil7YS5wcmV2ZW50RGVmYXVsdCgpO3ZhciBlPWMuZmluZChmdW5jdGlvbihnKXtyZXR1cm4gTnVtYmVyKGcuZ2V0QXR0cmlidXRlKFwiZGF0YS1jaGlwLWluZGV4XCIpKT09PWIub2ErMX0pO3RoaXMub2E8Yy5sZW5ndGgmJnRoaXMub2ErKzt2YXIgZjtlPT1udWxsfHwoZj1lLmNoaWxkcmVuWzBdKT09bnVsbHx8Zi5mb2N1cygpO3JldHVybiExfWlmKGQ9PT1cIkFycm93TGVmdFwiKXJldHVybiBhLnByZXZlbnREZWZhdWx0KCksYz1jLmZpbmQoZnVuY3Rpb24oZyl7cmV0dXJuIE51bWJlcihnLmdldEF0dHJpYnV0ZShcImRhdGEtY2hpcC1pbmRleFwiKSk9PT1iLm9hLTF9KSx0aGlzLm9hPjEmJnRoaXMub2EtLSxjPT1udWxsfHwoZT1jLmNoaWxkcmVuWzBdKT09bnVsbHx8ZS5mb2N1cygpLFxuITE7ZD09PVwiVGFiXCImJmEucHJldmVudERlZmF1bHQoKTtyZXR1cm4hMX07Xy5tLnpWYT1mdW5jdGlvbihhKXt2YXIgYj1hLmV2ZW50fHx2b2lkIDAsYz1hLkFiLmVsKCk7Yy5mb2N1cygpO18uVWMoYykmJl8uSnUoYyk7YT1hLmRhdGEmJmEuZGF0YS5ub25EaXNtaXNzaW5nRWxlbWVudHN8fFtdO3RoaXMuc2V0VmlzaWJsZSghdGhpcy5pc1Zpc2libGUoKSxiLHRoaXMuTm8oKS5maXJzdEVsZW1lbnRDaGlsZCxhKTtiJiYoYj1fLnJlKGIpKSYmYi5wcmV2ZW50RGVmYXVsdCgpfTtcbl8ubS5yZXBvc2l0aW9uPWZ1bmN0aW9uKCl7aWYodGhpcy5pc1Zpc2libGUoKSl7dmFyIGE9dGhpcy5nZXRQb3B1cCgpLGI9dGhpcy5ObygpLGM9bmV3IF8uWmsodGhpcy5vZmZzZXRYLHRoaXMub2Zmc2V0WSksZD1fLmhpKHRoaXMuZGF0YSwxKSxlPV8uaGkodGhpcy5kYXRhLDIpO2Q9dXdiKGQpO2U9dXdiKGUpO2lmKGIub2Zmc2V0UGFyZW50PT09bnVsbCYmYi5zdHlsZS5wb3NpdGlvbiE9PVwiZml4ZWRcIil0aGlzLmRpc21pc3MoKTtlbHNle2lmKF8uRSh0aGlzLmRhdGEsNykpe3ZhciBmPV8ubm0uZ2V0U2l6ZShiKS53aWR0aDtpZihfLkUodGhpcy5kYXRhLDkpKXtfLm5tLkRkKGEsXCJcIik7dmFyIGc9Xy5ubS5nZXRTaXplKGEpLndpZHRoO2c+ZiYmKGY9Zyl9Xy5ubS5EZChhLGYpfWY9KF8uRSh0aGlzLmRhdGEsNSk/MTowKXwoXy5FKHRoaXMuZGF0YSw2KT80OjApO2lmKChnPXdpbmRvdy52aXN1YWxWaWV3cG9ydCkmJmcuc2NhbGUhPT0xKXt2YXIgaD1fLnF3Yih0aGlzLmdldFBvcHVwKCkpO1xuZz1uZXcgXy5sbShnLnBhZ2VUb3AtaC55LGcucGFnZUxlZnQrZy53aWR0aC1oLngsZy5wYWdlVG9wK2cuaGVpZ2h0LWgueSxnLnBhZ2VMZWZ0LWgueCl9ZWxzZSBnPXZvaWQgMDtfLld1KGIsZCxhLGUsYyx2b2lkIDAsZix2b2lkIDAsZyl9fX07Xy5tLmlzVmlzaWJsZT1mdW5jdGlvbigpe3JldHVybiBfLm5tLlhoKHRoaXMuZ2V0UG9wdXAoKSl9O18ubS5kaXNtaXNzPWZ1bmN0aW9uKCl7dGhpcy5pc1Zpc2libGUoKSYmdGhpcy5BYS5kaXNtaXNzKHRoaXMucG9wdXApfTtcbl8ubS5zZXRWaXNpYmxlPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPXRoaXM7ZD1kPT09dm9pZCAwP1tdOmQ7dmFyIGY9dGhpcy5nZXRQb3B1cCgpLGc9YSE9PXRoaXMuaXNWaXNpYmxlKCksaD1hP18uSXZiOl8uSnZiO18ubm0uVmIoZixhKTthJiZfLndmKHRoaXMucm9vdCxmKT9fLkUodGhpcy5kYXRhLDgpfHxfLlR1KCkuYXBwZW5kQ2hpbGQoZik6YXx8Xy53Zih0aGlzLnJvb3QsZil8fHRoaXMucm9vdC5hcHBlbmRDaGlsZChmKTthJiYodGhpcy50cmlnZ2VyKF8uSHZiLHtwb3B1cDp0aGlzfSksdGhpcy5yZXBvc2l0aW9uKCkpO2cmJih0aGlzLlFhJiZ0aGlzLk5vKCkuc2V0QXR0cmlidXRlKFwiYXJpYS1leHBhbmRlZFwiLGE/XCJ0cnVlXCI6XCJmYWxzZVwiKSxhPyh0aGlzLk9hJiZfLkl1KFtuZXcgXy5sbih0aGlzLnBvcHVwLFwic2hvd1wiKV0pLHRoaXMuR2F8fCh0aGlzLkdhPSEwLF8ubWYoZixfLlV1KSxfLm1mKGYsaCkpLHRoaXMuQmEoKT90aGlzLkFhLmxpc3Rlbih0aGlzLnBvcHVwLGZ1bmN0aW9uKGssXG5sKXtyZXR1cm4gZS5vbkRpc21pc3MoZCxrLGwpfSxbXS5jb25jYXQoXy5tZCh2d2IpLFs0XSksITEsITAsITEsZnVuY3Rpb24oKXtlLnNldFZpc2libGUoYSxiLGMsZCl9LHRoaXMuZ2V0RGF0YShcImJiZW5hXCIpLnN0cmluZygpfHx0aGlzLnJvb3QuZ2V0QXR0cmlidXRlKFwianNuYW1lXCIpKTooZj1fLkUodGhpcy5kYXRhLDEwKT93d2I6Xy5FKHRoaXMuZGF0YSwxMSk/eHdiOnZ3Yix0aGlzLkFhLmxpc3Rlbih0aGlzLnBvcHVwLGZ1bmN0aW9uKGssbCl7cmV0dXJuIGUub25EaXNtaXNzKGQsayxsKX0sZiwhMSwhMCkpKTp0aGlzLkFhLnVubGlzdGVuKHRoaXMucG9wdXApLHRoaXMudHJpZ2dlcihoLHtBYzpjfHxudWxsLHVEYTooYj9iLndoaWNofHxiLmtleUNvZGU6bnVsbCk9PT0zOD8hMDohMSxveTpifSkpfTtfLm0uTm89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5NYShcIm9ZeHRRZFwiKS5lbCgpfTtfLm0uZ2V0UG9wdXA9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wb3B1cH07XG5fLm0ubmJkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub2F9O18ubS5Sb2E9ZnVuY3Rpb24oYSxiKXt0aGlzLm9mZnNldFg9YTt0aGlzLm9mZnNldFk9Yn07dmFyIHV3Yj1mdW5jdGlvbihhKXt2YXIgYj04O3N3aXRjaChhKXtjYXNlIDI6Yj0yO2JyZWFrO2Nhc2UgMTpiPTg7YnJlYWs7Y2FzZSAzOmI9MTI7YnJlYWs7Y2FzZSA1OmI9MzticmVhaztjYXNlIDQ6Yj05O2JyZWFrO2Nhc2UgNjpiPTEzfXJldHVybiBifTskdS5wcm90b3R5cGUuQmE9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmdldERhdGEoXCJiYmVuYVwiKSxiPWEuc3RyaW5nKFwiXCIpfHx0aGlzLnJvb3QuZ2V0QXR0cmlidXRlKFwianNuYW1lXCIpO3JldHVybiEoIWEuUGIoKXx8IWIpfTskdS5wcm90b3R5cGUuQ2E9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuQmEoKSYmdGhpcy5BYS5PYihmdW5jdGlvbigpe2Euc2V0VmlzaWJsZSghMCl9LHRoaXMuZ2V0RGF0YShcImJiZW5hXCIpLnN0cmluZygpfHx0aGlzLnJvb3QuZ2V0QXR0cmlidXRlKFwianNuYW1lXCIpKX07XG5fLkwoJHUucHJvdG90eXBlLFwiTmpDb2VjXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5DYX0pO18uTCgkdS5wcm90b3R5cGUsXCJPT1k1NmNcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLkJhfSk7Xy5MKCR1LnByb3RvdHlwZSxcInJ1TkNEXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5uYmR9KTtfLkwoJHUucHJvdG90eXBlLFwicGNBa0tlXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRQb3B1cH0pO18uTCgkdS5wcm90b3R5cGUsXCJ2QkFDNVwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTm99KTtfLkwoJHUucHJvdG90eXBlLFwiSVl0QnliXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kaXNtaXNzfSk7Xy5MKCR1LnByb3RvdHlwZSxcImVPMlpmZFwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNWaXNpYmxlfSk7Xy5MKCR1LnByb3RvdHlwZSxcInhLcUYyY1wiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmVwb3NpdGlvbn0pO18uTCgkdS5wcm90b3R5cGUsXCJXRnJSRmJcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLnpWYX0pO1xuXy5MKCR1LnByb3RvdHlwZSxcIldKV0VhZVwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuR2tkfSk7Xy5MKCR1LnByb3RvdHlwZSxcInVZVDJWYlwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuS2x9KTtfLkwoJHUucHJvdG90eXBlLFwiazRJc2ViXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy51Y30pO18ucHIoXy5NdmIsJHUpO3ZhciB2d2I9WzEsMiwzXSx3d2I9WzEsM10seHdiPVsxLDJdO1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ucTNiPWZ1bmN0aW9uKGEpe3RoaXMuSGE9Xy5wKGEpfTtfLkQoXy5xM2IsXy5xKTtfLm09Xy5xM2IucHJvdG90eXBlO18ubS5nZXRWYWx1ZT1mdW5jdGlvbigpe3JldHVybiBfLkEodGhpcywxKX07Xy5tLnNldFZhbHVlPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRlKHRoaXMsMSxhKX07Xy5tLmNsZWFyVmFsdWU9ZnVuY3Rpb24oKXtyZXR1cm4gXy5WZih0aGlzLDEpfTtfLm0uZ2V0VHlwZT1mdW5jdGlvbigpe3JldHVybiBfLm5pKHRoaXMsMiwxKX07Xy5tLkVjPWZ1bmN0aW9uKGEpe3JldHVybiBfLmNqKHRoaXMsMixhKX07Xy5tLllkPWZ1bmN0aW9uKCl7cmV0dXJuIF8uR2kodGhpcywyKX07Xy5yM2I9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5NZyhhLDMsYil9O18ucTNiLnByb3RvdHlwZS5xYj1cInpQWHppZVwiO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLnAzYj1fLkdkKFwiQ25TVzJkXCIsW10pO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG50cnl7XG5fLngoXCJDblNXMmRcIik7XG52YXIgJHg9ZnVuY3Rpb24oYSl7Xy5DLmNhbGwodGhpcyxhLk5hKTt0aGlzLmRhdGE9YS5qc2RhdGEueHNiO3RoaXMucm9vdD10aGlzLmdldFJvb3QoKS5lbCgpO3RoaXMucm9vdC5nZXRBdHRyaWJ1dGUoXCJkaXNhYmxlZFwiKSYmdGhpcy5zZXRFbmFibGVkKCExKX07Xy5EKCR4LF8uQyk7JHguSWE9ZnVuY3Rpb24oKXtyZXR1cm57anNkYXRhOnt4c2I6Xy5xM2J9fX07Xy5tPSR4LnByb3RvdHlwZTtfLm0uZ3djPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucm9vdH07Xy5tLlBuPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucm9vdH07Xy5tLmdldFR5cGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kYXRhLmdldFR5cGUoKX07Xy5tLkdOYj1mdW5jdGlvbigpe3ZhciBhPXRoaXMuZGF0YS5nZXRUeXBlKCk7cmV0dXJuIHMzYi5pbmNsdWRlcyhhKX07Xy5tLmlzRW5hYmxlZD1mdW5jdGlvbigpe3JldHVybiF0aGlzLnJvb3QuZ2V0QXR0cmlidXRlKFwiZGlzYWJsZWRcIil9O1xuXy5tLkVOYj1mdW5jdGlvbigpe3JldHVybiBfLkUodGhpcy5kYXRhLDMpfTtfLm0uWmVhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGF0YS5nZXRUeXBlKCk9PT00fTtfLm0uUDBhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGF0YS5nZXRUeXBlKCkhPT00JiZ0aGlzLmRhdGEuZ2V0VHlwZSgpIT09NiYmdGhpcy5kYXRhLmdldFR5cGUoKSE9PTEwfTtfLm0uc2V0RW5hYmxlZD1mdW5jdGlvbihhKXthP3RoaXMucm9vdC5yZW1vdmVBdHRyaWJ1dGUoXCJkaXNhYmxlZFwiKTp0aGlzLnJvb3Quc2V0QXR0cmlidXRlKFwiZGlzYWJsZWRcIixcInRydWVcIik7Xy5wbSh0aGlzLnJvb3QsXCJkaXNhYmxlZFwiLCFhKX07Xy5tLmlzU2VsZWN0ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy5rbS5jb250YWlucyh0aGlzLnJvb3QsXCJDQjhuRGVcIil9O1xuXy5tLk9yPWZ1bmN0aW9uKGEpe2lmKHRoaXMuR05iKCkpe3ZhciBiPXRoaXMuRU5iKCk/XCJzZWxlY3RlZFwiOlwiY2hlY2tlZFwiO2E/dGhpcy5pc0VuYWJsZWQoKSYmKF8ucG0odGhpcy5yb290LGIsXCJ0cnVlXCIpLF8ua20uYWRkKHRoaXMucm9vdCxcIkNCOG5EZVwiKSk6KF8ucG0odGhpcy5yb290LGIsXCJmYWxzZVwiKSxfLmttLnJlbW92ZSh0aGlzLnJvb3QsXCJDQjhuRGVcIikpfX07Xy5tLkZOYj1mdW5jdGlvbihhKXthP3RoaXMuaXNFbmFibGVkKCkmJl8ua20uYWRkKHRoaXMucm9vdCxcIkNqaVp2YlwiKTpfLmttLnJlbW92ZSh0aGlzLnJvb3QsXCJDamladmJcIil9O18ubS5nZXRDb250ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIF8uTWwoXy5abih0aGlzLFwiaWJuQzZiXCIpLmVsKCkpfTtfLm0uRE5iPWZ1bmN0aW9uKCl7cmV0dXJuIF8uV2ModGhpcy5yb290LFwic2hvcnRMYWJlbFwiKX07Xy5tLmdldFZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGF0YS5nZXRWYWx1ZSgpfTtcbl8uTCgkeC5wcm90b3R5cGUsXCJIdm5LMmJcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLmdldFZhbHVlfSk7Xy5MKCR4LnByb3RvdHlwZSxcIlRJTndaYlwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuRE5ifSk7Xy5MKCR4LnByb3RvdHlwZSxcImFER3M0ZFwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0Q29udGVudH0pO18uTCgkeC5wcm90b3R5cGUsXCJLS2p2WGJcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLmlzU2VsZWN0ZWR9KTtfLkwoJHgucHJvdG90eXBlLFwiZXp4ODFlXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5QMGF9KTtfLkwoJHgucHJvdG90eXBlLFwiQm5LZFFcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLlplYX0pO18uTCgkeC5wcm90b3R5cGUsXCJJOUZOa2VcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLkVOYn0pO18uTCgkeC5wcm90b3R5cGUsXCJ5WGdtUmVcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLmlzRW5hYmxlZH0pO18uTCgkeC5wcm90b3R5cGUsXCJweGFVVGJcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLkdOYn0pO1xuXy5MKCR4LnByb3RvdHlwZSxcIlNiaHRDZlwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0VHlwZX0pO18uTCgkeC5wcm90b3R5cGUsXCJ0NGFMTGRcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLlBufSk7Xy5MKCR4LnByb3RvdHlwZSxcInhkeTgwXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nd2N9KTtfLnByKF8ucDNiLCR4KTt2YXIgczNiPVsyLDNdO1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcImtRdmxlZlwiKTtcbnZhciB1UmIsd1JiLHhSYix5UmI7Xy52UmI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy52Yyh1UmIuZXhlYyhfLnhjKGEpLnRvU3RyaW5nKCkpWzBdK1wiI1wiK2IpfTt1UmI9L1teI10qLzt3UmI9Xy5RZyhbXCIvXCIsXCJcIl0pO3hSYj1fLmJhLmdhcGk7Xy5xeD1mdW5jdGlvbihhKXtfLkRuLmNhbGwodGhpcyxhLk5hKTt0aGlzLmlmcmFtZT1udWxsO3RoaXMud2luZG93PWEuc2VydmljZS53aW5kb3c7YT10aGlzLndpbmRvdy5nZXQoKS5sb2NhdGlvbjt0aGlzLkJhPW5ldyBSZWdFeHAoXCJeKFwiK2EucHJvdG9jb2wrXCIvL1wiK2EuaG9zdCtcIik/Lyh1cmx8YWNsaylcXFxcPy4qJnJjdD1qKCZ8JClcIil9O18uRChfLnF4LF8uRG4pO18ucXguV2E9Xy5Ebi5XYTtfLnF4LklhPWZ1bmN0aW9uKCl7cmV0dXJue3NlcnZpY2U6e3dpbmRvdzpfLkVufX19O1xuXy5xeC5wcm90b3R5cGUuQWE9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/ITE6Yjt2YXIgYz0hMTt0cnl7dGhpcy5CYS50ZXN0KGEpJiYoXy51ZChcImdvb2dsZS5yXCIsMSkseVJiKHRoaXMpLnNyYz1hLGM9ITApfWZpbmFsbHl7Y3x8KGM9dGhpcy53aW5kb3cuZ2V0KCkubG9jYXRpb24sYj9fLmtpYShjLF8uamMoYSkpOmMuaHJlZj1hKX19O1xuXy5xeC5wcm90b3R5cGUub2E9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/ITE6Yjt2YXIgYz0hMTt0cnl7dmFyIGQ9YSBpbnN0YW5jZW9mIF8uRmM/Xy54YyhhKS50b1N0cmluZygpOmEgaW5zdGFuY2VvZiBfLmdjP18uaWMoYSk6YTtpZih0aGlzLkJhLnRlc3QoZCkpe18udWQoXCJnb29nbGUuclwiLDEpO3ZhciBlLGY9KChlPV8uY2xhKGQpKSE9bnVsbD9lOlwiXCIpLnN1YnN0cmluZygxKSxnPV8ud2Mod1JiLGYpLGgsaz1uZXcgTWFwKChuZXcgVVJMU2VhcmNoUGFyYW1zKChoPV8uV2QoNixkKSkhPW51bGw/aDpcIlwiKSkuZW50cmllcygpKSxsPV8uemMoZyxrKSxuPV8uSW0oZCk7dmFyIHI9bj9fLnZSYihsLG4pOmw7Xy5FYyh5UmIodGhpcykscik7Yz0hMH19ZmluYWxseXtjfHwoYT1hLnRvU3RyaW5nKCksYz1iLGM9Yz09PXZvaWQgMD8hMTpjLGI9dGhpcy53aW5kb3cuZ2V0KCkubG9jYXRpb24sXy56UmImJiFfLkFSYiYmeFJiLmlmcmFtZXMuZ2V0Q29udGV4dCgpLmdldFBhcmVudElmcmFtZSgpIT1cbm51bGw/KGM9eFJiLmlmcmFtZXMuZ2V0Q29udGV4dCgpLmdldFBhcmVudElmcmFtZSgpLGEubWF0Y2goXCJeL1teL10rXCIpJiYoYT1iLnByb3RvY29sK1wiLy9cIitiLmhvc3QrYSksYy5zZW5kKFwibmF2aWdhdGVcIix7aHJlZjphfSx2b2lkIDAseFJiLmlmcmFtZXMuQ1JPU1NfT1JJR0lOX0lGUkFNRVNfRklMVEVSKSk6Yz9fLmtpYShiLGEpOl8uSWMoYixhKSl9fTt5UmI9ZnVuY3Rpb24oYSl7YS5pZnJhbWV8fChhLmlmcmFtZT1fLnVsKFwiSUZSQU1FXCIpLGEuaWZyYW1lLnN0eWxlLmRpc3BsYXk9XCJub25lXCIsXy53bChhLmlmcmFtZSkpO3JldHVybiBhLmlmcmFtZX07Xy56UmI9ITE7Xy5BUmI9ITE7Xy5GbihfLmtxLF8ucXgpO1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8uYTViPV8uR2QoXCJmWE8weGVcIixbXy5icSxfLmtxXSk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcImZYTzB4ZVwiKTtcbnZhciBiNWI9ZnVuY3Rpb24oYSl7Xy5DLmNhbGwodGhpcyxhLk5hKTt0aGlzLkJhPSExO3RoaXMub2E9bnVsbDt0aGlzLnJvb3RFbGVtZW50PXRoaXMuZ2V0Um9vdCgpLmVsKCk7dGhpcy5DYT1fLk5sKHRoaXMucm9vdEVsZW1lbnQsXCJnLW1lbnUtaXRlbVwiKTt0aGlzLkxhPXRoaXMuZ2V0RGF0YShcImhiY1wiKS5zdHJpbmcoXCJcIik7dGhpcy5PYT10aGlzLmdldERhdGEoXCJodGNcIikuc3RyaW5nKFwiXCIpO3RoaXMuUWE9dGhpcy5nZXREYXRhKFwiYnNkbVwiKS5ib29sKCExKTt0aGlzLlJhPXRoaXMuZ2V0RGF0YShcInRzZG1cIikuYm9vbCghMSk7dGhpcy5HYT10aGlzLmdldERhdGEoXCJidGZcIikuYm9vbCghMSk7dGhpcy5BYT10aGlzLlFhfHx0aGlzLkdhfHx0aGlzLlJhO3RoaXMuVWE9dGhpcy5nZXREYXRhKFwic3B0XCIpLmJvb2woKTt0aGlzLm9kPWEuc2VydmljZS5sb2NhdGlvbjt0aGlzLk5jPWEuc2VydmljZS5uYXZpZ2F0aW9ufTtfLkQoYjViLF8uQyk7XG5iNWIuSWE9ZnVuY3Rpb24oKXtyZXR1cm57c2VydmljZTp7bG9jYXRpb246Xy5RdSxuYXZpZ2F0aW9uOl8ucXh9fX07Xy5tPWI1Yi5wcm90b3R5cGU7Xy5tLkJ3Yz1mdW5jdGlvbigpe3ZhciBhPWE9PT12b2lkIDA/bnVsbDphO3ZhciBiPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiWVVJRERiXCIpO3RoaXMuVWEmJmI/KF8uSnUodGhpcy5yb290RWxlbWVudCx7WnA6MX0pLGI9bmV3IF8uTW0oYi5nZXRBdHRyaWJ1dGUoXCJkYXRhLXNwbFwiKSksYSE9bnVsbCYmXy5WbShiLFwiY3NcIixhKSx0aGlzLk5jLkFhKGIudG9TdHJpbmcoKSkpOihfLkp1KHRoaXMucm9vdEVsZW1lbnQpLGE9Xy5YbShuZXcgXy5NbSh0aGlzLm9kLllpKCkpLFwiaGxcIil8fFwiXCIsYT1fLlRtKF8uVm0oXy5WbShuZXcgXy5NbShcIi9wcmVmZXJlbmNlc1wiKSxcInByZXZcIix0aGlzLm9kLllpKCkpLFwiaGxcIixhKSxcImFwcGVhcmFuY2VcIiksdGhpcy5OYy5BYShhLnRvU3RyaW5nKCkpKX07XG5fLm0uQ3djPWZ1bmN0aW9uKCl7dmFyIGE9dGhpczt0aGlzLkFhJiYoXy5ubS5zZXRTdHlsZSh0aGlzLkNhLHtiYWNrZ3JvdW5kOnRoaXMuTGEsY29sb3I6dGhpcy5PYX0pLHRoaXMudHJpZ2dlcihfLkt2YiksdGhpcy5CYT0hMCxfLlhkKGRvY3VtZW50LFwiY2xpY2tcIixmdW5jdGlvbigpe2EuSzZiKCl9LHtvbmNlOiEwLHBhc3NpdmU6ITB9KSl9O18ubS5LNmI9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuQWEmJih0aGlzLm9hPV8uWGQoZG9jdW1lbnQsXCJjbGlja1wiLGZ1bmN0aW9uKCl7YS5VNmIoKX0se29uY2U6ITAscGFzc2l2ZTohMH0pKX07Xy5tLlU2Yj1mdW5jdGlvbigpe3RoaXMuQWEmJihfLm5tLnNldFN0eWxlKHRoaXMuQ2Ese2JhY2tncm91bmQ6XCJcIixjb2xvcjpcIlwifSksdGhpcy5vYSYmKF8uTGsodGhpcy5vYSksdGhpcy5vYT1udWxsKSl9O18ubS5nbWQ9ZnVuY3Rpb24oKXt0aGlzLkJhJiYodGhpcy5CYT0hMSx0aGlzLnRyaWdnZXIoXy5aNGIpKX07XG5fLkwoYjViLnByb3RvdHlwZSxcImFlbHhKYlwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ21kfSk7Xy5MKGI1Yi5wcm90b3R5cGUsXCJNQjdNU2JcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLlU2Yn0pO18uTChiNWIucHJvdG90eXBlLFwiZmJBcjljXCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5LNmJ9KTtfLkwoYjViLnByb3RvdHlwZSxcImdnRkNjZVwiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQ3djfSk7Xy5MKGI1Yi5wcm90b3R5cGUsXCJvazVnRmNcIixmdW5jdGlvbigpe3JldHVybiB0aGlzLkJ3Y30pO18ucHIoXy5hNWIsYjViKTtcbl8ueSgpO1xufWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9XG59KSh0aGlzLl9oZCk7XG4vLyBHb29nbGUgSW5jLlxuIn0sICJoZWFkZXJzU2l6ZSI6IDAsICJib2R5U2l6ZSI6IDkzNDksICJyZWRpcmVjdFVSTCI6ICIiLCAiX3RyYW5zZmVyU2l6ZSI6IDkzNDl9LCAiY2FjaGUiOiB7fSwgInRpbWluZ3MiOiB7ImRucyI6IC0xLCAiY29ubmVjdCI6IC0xLCAic3NsIjogLTEsICJzZW5kIjogMCwgIndhaXQiOiAyNC44NzEsICJyZWNlaXZlIjogMy41ODh9LCAicGFnZXJlZiI6ICJwYWdlQDJlN2FjZTk1NWE2NzczZWNmZDJlOThlZjJmZGNiNzA0IiwgInNlcnZlcklQQWRkcmVzcyI6ICJbMmEwMDoxNDUwOjQwMDE6ODA4OjoyMDA0XSIsICJfc2VydmVyUG9ydCI6IDQ0MywgIl9zZWN1cml0eURldGFpbHMiOiB7InByb3RvY29sIjogIlFVSUMiLCAic3ViamVjdE5hbWUiOiAiKi5nb29nbGUuY29tIiwgImlzc3VlciI6ICJXUjIiLCAidmFsaWRGcm9tIjogMTcyMjM0Mjc3MywgInZhbGlkVG8iOiAxNzI5NjAwMzcyfX0sIHsic3RhcnRlZERhdGVUaW1lIjogIjIwMjQtMDgtMDFUMTI6MzM6MTIuMTgwWiIsICJ0aW1lIjogMzIuMDI1LCAicmVxdWVzdCI6IHsibWV0aG9kIjogIlBPU1QiLCAidXJsIjogImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vZ2VuXzIwND9hdHlwPWNzaSZlaT1oNENyWnZ5TEM1T2ZpLWdQX29xSi1RdyZzPXByb21vJnJ0PWhwYmFzLjc1MSZ6eD0xNzIyNTE1NTkyMDk1Jm9waT04OTk3ODQ0OSIsICJodHRwVmVyc2lvbiI6ICJoMyIsICJjb29raWVzIjogW3sibmFtZSI6ICJBRUMiLCAidmFsdWUiOiAiQVZZQjdjcmF2OTRZTS1mZko2U2ppNFE3ekxtV2ktQmE0R29iSl85ck9RZzlqSHlvdTBvNnVFcFdYcjgifSwgeyJuYW1lIjogIl9fU2VjdXJlLUVOSUQiLCAidmFsdWUiOiAiMjEuU0U9Wk5NaEljXzI3eDRtb3BmWWd3bnJkTF9OUzJSZTZMTno1OS0ycl9Sa08xMVBIbmx3b291b1pDQ1Y5RElpNHp0UVNCVDRhNm5oTzBMcWpyYUJ4eEQ5cllLU01sZVlqSGxmZmFURE4tNTJkaWM2d3YzaVhSM19nc251ZEVxQ2NEVTR2eGNVOW1BQUNsWVZQSTVZaUszTkZNMXlEc0hCUHA4REU1ajVXTThHd0xXdE5wTlBuNGo2OVNuUkdJNF9TZkZjZ2JQeXMwX282MS1WeWlFVl91cEZoRm1uZ1RfcUQwN2EifV0sICJoZWFkZXJzIjogW3sibmFtZSI6ICI6YXV0aG9yaXR5IiwgInZhbHVlIjogInd3dy5nb29nbGUuY29tIn0sIHsibmFtZSI6ICI6bWV0aG9kIiwgInZhbHVlIjogIlBPU1QifSwgeyJuYW1lIjogIjpwYXRoIiwgInZhbHVlIjogIi9nZW5fMjA0P2F0eXA9Y3NpJmVpPWg0Q3JadnlMQzVPZmktZ1Bfb3FKLVF3JnM9cHJvbW8mcnQ9aHBiYXMuNzUxJnp4PTE3MjI1MTU1OTIwOTUmb3BpPTg5OTc4NDQ5In0sIHsibmFtZSI6ICI6c2NoZW1lIiwgInZhbHVlIjogImh0dHBzIn0sIHsibmFtZSI6ICJhY2NlcHQiLCAidmFsdWUiOiAiKi8qIn0sIHsibmFtZSI6ICJhY2NlcHQtZW5jb2RpbmciLCAidmFsdWUiOiAiZ3ppcCwgZGVmbGF0ZSwgYnIsIHpzdGQifSwgeyJuYW1lIjogImFjY2VwdC1sYW5ndWFnZSIsICJ2YWx1ZSI6ICJlbi1VUyxlbjtxPTAuOSJ9LCB7Im5hbWUiOiAiY29udGVudC1sZW5ndGgiLCAidmFsdWUiOiAiMCJ9LCB7Im5hbWUiOiAiY29va2llIiwgInZhbHVlIjogIkFFQz1BVllCN2NyYXY5NFlNLWZmSjZTamk0UTd6TG1XaS1CYTRHb2JKXzlyT1FnOWpIeW91MG82dUVwV1hyODsgX19TZWN1cmUtRU5JRD0yMS5TRT1aTk1oSWNfMjd4NG1vcGZZZ3ducmRMX05TMlJlNkxOejU5LTJyX1JrTzExUEhubHdvb3VvWkNDVjlESWk0enRRU0JUNGE2bmhPMExxanJhQnh4RDlyWUtTTWxlWWpIbGZmYVRETi01MmRpYzZ3djNpWFIzX2dzbnVkRXFDY0RVNHZ4Y1U5bUFBQ2xZVlBJNVlpSzNORk0xeURzSEJQcDhERTVqNVdNOEd3TFd0TnBOUG40ajY5U25SR0k0X1NmRmNnYlB5czBfbzYxLVZ5aUVWX3VwRmhGbW5nVF9xRDA3YSJ9LCB7Im5hbWUiOiAib3JpZ2luIiwgInZhbHVlIjogImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20ifSwgeyJuYW1lIjogInByaW9yaXR5IiwgInZhbHVlIjogInU9NCwgaSJ9LCB7Im5hbWUiOiAicmVmZXJlciIsICJ2YWx1ZSI6ICJodHRwczovL3d3dy5nb29nbGUuY29tLyJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhIiwgInZhbHVlIjogIlwiQ2hyb21pdW1cIjt2PVwiMTI3XCIsIFwiTm90KUE7QnJhbmRcIjt2PVwiOTlcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLWFyY2giLCAidmFsdWUiOiAiXCJ4NjRcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLWJpdG5lc3MiLCAidmFsdWUiOiAiXCI2NFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtZnVsbC12ZXJzaW9uIiwgInZhbHVlIjogIlwiMTI3LjAuNjUzMy4xN1wiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtZnVsbC12ZXJzaW9uLWxpc3QiLCAidmFsdWUiOiAiXCJDaHJvbWl1bVwiO3Y9XCIxMjcuMC42NTMzLjE3XCIsIFwiTm90KUE7QnJhbmRcIjt2PVwiOTkuMC4wLjBcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLW1vYmlsZSIsICJ2YWx1ZSI6ICI/MCJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLW1vZGVsIiwgInZhbHVlIjogIlwiXCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1wbGF0Zm9ybSIsICJ2YWx1ZSI6ICJcIldpbmRvd3NcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXBsYXRmb3JtLXZlcnNpb24iLCAidmFsdWUiOiAiXCIxMC4wXCIifSwgeyJuYW1lIjogInNlYy1jaC11YS13b3c2NCIsICJ2YWx1ZSI6ICI/MCJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLWRlc3QiLCAidmFsdWUiOiAiZW1wdHkifSwgeyJuYW1lIjogInNlYy1mZXRjaC1tb2RlIiwgInZhbHVlIjogIm5vLWNvcnMifSwgeyJuYW1lIjogInNlYy1mZXRjaC1zaXRlIiwgInZhbHVlIjogInNhbWUtb3JpZ2luIn0sIHsibmFtZSI6ICJ1c2VyLWFnZW50IiwgInZhbHVlIjogIk1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IFdpbjY0OyB4NjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS8xMjcuMC42NTMzLjE3IFNhZmFyaS81MzcuMzYifV0sICJxdWVyeVN0cmluZyI6IFt7Im5hbWUiOiAiYXR5cCIsICJ2YWx1ZSI6ICJjc2kifSwgeyJuYW1lIjogImVpIiwgInZhbHVlIjogImg0Q3JadnlMQzVPZmktZ1Bfb3FKLVF3In0sIHsibmFtZSI6ICJzIiwgInZhbHVlIjogInByb21vIn0sIHsibmFtZSI6ICJydCIsICJ2YWx1ZSI6ICJocGJhcy43NTEifSwgeyJuYW1lIjogInp4IiwgInZhbHVlIjogIjE3MjI1MTU1OTIwOTUifSwgeyJuYW1lIjogIm9waSIsICJ2YWx1ZSI6ICI4OTk3ODQ0OSJ9XSwgImhlYWRlcnNTaXplIjogMTI2MywgImJvZHlTaXplIjogMH0sICJyZXNwb25zZSI6IHsic3RhdHVzIjogMjA0LCAic3RhdHVzVGV4dCI6ICIiLCAiaHR0cFZlcnNpb24iOiAiaDMiLCAiY29va2llcyI6IFtdLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiYWx0LXN2YyIsICJ2YWx1ZSI6ICJoMz1cIjo0NDNcIjsgbWE9MjU5MjAwMCxoMy0yOT1cIjo0NDNcIjsgbWE9MjU5MjAwMCJ9LCB7Im5hbWUiOiAiY29udGVudC1sZW5ndGgiLCAidmFsdWUiOiAiMCJ9LCB7Im5hbWUiOiAiY29udGVudC1zZWN1cml0eS1wb2xpY3kiLCAidmFsdWUiOiAib2JqZWN0LXNyYyAnbm9uZSc7YmFzZS11cmkgJ3NlbGYnO3NjcmlwdC1zcmMgJ25vbmNlLVZjMkR0dTNGQlZJQ2ZyejYyLS0xb0EnICdzdHJpY3QtZHluYW1pYycgJ3JlcG9ydC1zYW1wbGUnICd1bnNhZmUtZXZhbCcgJ3Vuc2FmZS1pbmxpbmUnIGh0dHBzOiBodHRwOjtyZXBvcnQtdXJpIGh0dHBzOi8vY3NwLndpdGhnb29nbGUuY29tL2NzcC9nd3Mvb3RoZXIifSwgeyJuYW1lIjogImNvbnRlbnQtdHlwZSIsICJ2YWx1ZSI6ICJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgifSwgeyJuYW1lIjogImNyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5IiwgInZhbHVlIjogInNhbWUtb3JpZ2luLWFsbG93LXBvcHVwczsgcmVwb3J0LXRvPVwiZ3dzXCIifSwgeyJuYW1lIjogImRhdGUiLCAidmFsdWUiOiAiVGh1LCAwMSBBdWcgMjAyNCAxMjozMzoxMiBHTVQifSwgeyJuYW1lIjogInBlcm1pc3Npb25zLXBvbGljeSIsICJ2YWx1ZSI6ICJ1bmxvYWQ9KCkifSwgeyJuYW1lIjogInJlcG9ydC10byIsICJ2YWx1ZSI6ICJ7XCJncm91cFwiOlwiZ3dzXCIsXCJtYXhfYWdlXCI6MjU5MjAwMCxcImVuZHBvaW50c1wiOlt7XCJ1cmxcIjpcImh0dHBzOi8vY3NwLndpdGhnb29nbGUuY29tL2NzcC9yZXBvcnQtdG8vZ3dzL290aGVyXCJ9XX0ifSwgeyJuYW1lIjogInNlcnZlciIsICJ2YWx1ZSI6ICJnd3MifSwgeyJuYW1lIjogIngtZnJhbWUtb3B0aW9ucyIsICJ2YWx1ZSI6ICJTQU1FT1JJR0lOIn0sIHsibmFtZSI6ICJ4LXhzcy1wcm90ZWN0aW9uIiwgInZhbHVlIjogIjAifV0sICJjb250ZW50IjogeyJzaXplIjogMCwgIm1pbWVUeXBlIjogInRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIsICJjb21wcmVzc2lvbiI6IDAsICJ0ZXh0IjogIiJ9LCAiaGVhZGVyc1NpemUiOiAwLCAiYm9keVNpemUiOiAyMiwgInJlZGlyZWN0VVJMIjogIiIsICJfdHJhbnNmZXJTaXplIjogMjJ9LCAiY2FjaGUiOiB7fSwgInRpbWluZ3MiOiB7ImRucyI6IC0xLCAiY29ubmVjdCI6IC0xLCAic3NsIjogLTEsICJzZW5kIjogMCwgIndhaXQiOiAyOS4zMjcsICJyZWNlaXZlIjogMi42OTh9LCAicGFnZXJlZiI6ICJwYWdlQDJlN2FjZTk1NWE2NzczZWNmZDJlOThlZjJmZGNiNzA0IiwgInNlcnZlcklQQWRkcmVzcyI6ICJbMmEwMDoxNDUwOjQwMDE6ODA4OjoyMDA0XSIsICJfc2VydmVyUG9ydCI6IDQ0MywgIl9zZWN1cml0eURldGFpbHMiOiB7InByb3RvY29sIjogIlFVSUMiLCAic3ViamVjdE5hbWUiOiAiKi5nb29nbGUuY29tIiwgImlzc3VlciI6ICJXUjIiLCAidmFsaWRGcm9tIjogMTcyMjM0Mjc3MywgInZhbGlkVG8iOiAxNzI5NjAwMzcyfX0sIHsic3RhcnRlZERhdGVUaW1lIjogIjIwMjQtMDgtMDFUMTI6MzM6MTIuMTgxWiIsICJ0aW1lIjogMzAuMjIyLCAicmVxdWVzdCI6IHsibWV0aG9kIjogIlBPU1QiLCAidXJsIjogImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vZ2VuXzIwND9hdHlwPWkmZWk9aDRDclp2eUxDNU9maS1nUF9vcUotUXcmZHQxOT0yJnBybTIzPTAmeng9MTcyMjUxNTU5MjEwNiZvcGk9ODk5Nzg0NDkiLCAiaHR0cFZlcnNpb24iOiAiaDMiLCAiY29va2llcyI6IFt7Im5hbWUiOiAiQUVDIiwgInZhbHVlIjogIkFWWUI3Y3Jhdjk0WU0tZmZKNlNqaTRRN3pMbVdpLUJhNEdvYkpfOXJPUWc5akh5b3UwbzZ1RXBXWHI4In0sIHsibmFtZSI6ICJfX1NlY3VyZS1FTklEIiwgInZhbHVlIjogIjIxLlNFPVpOTWhJY18yN3g0bW9wZllnd25yZExfTlMyUmU2TE56NTktMnJfUmtPMTFQSG5sd29vdW9aQ0NWOURJaTR6dFFTQlQ0YTZuaE8wTHFqcmFCeHhEOXJZS1NNbGVZakhsZmZhVEROLTUyZGljNnd2M2lYUjNfZ3NudWRFcUNjRFU0dnhjVTltQUFDbFlWUEk1WWlLM05GTTF5RHNIQlBwOERFNWo1V004R3dMV3ROcE5QbjRqNjlTblJHSTRfU2ZGY2diUHlzMF9vNjEtVnlpRVZfdXBGaEZtbmdUX3FEMDdhIn1dLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiOmF1dGhvcml0eSIsICJ2YWx1ZSI6ICJ3d3cuZ29vZ2xlLmNvbSJ9LCB7Im5hbWUiOiAiOm1ldGhvZCIsICJ2YWx1ZSI6ICJQT1NUIn0sIHsibmFtZSI6ICI6cGF0aCIsICJ2YWx1ZSI6ICIvZ2VuXzIwND9hdHlwPWkmZWk9aDRDclp2eUxDNU9maS1nUF9vcUotUXcmZHQxOT0yJnBybTIzPTAmeng9MTcyMjUxNTU5MjEwNiZvcGk9ODk5Nzg0NDkifSwgeyJuYW1lIjogIjpzY2hlbWUiLCAidmFsdWUiOiAiaHR0cHMifSwgeyJuYW1lIjogImFjY2VwdCIsICJ2YWx1ZSI6ICIqLyoifSwgeyJuYW1lIjogImFjY2VwdC1lbmNvZGluZyIsICJ2YWx1ZSI6ICJnemlwLCBkZWZsYXRlLCBiciwgenN0ZCJ9LCB7Im5hbWUiOiAiYWNjZXB0LWxhbmd1YWdlIiwgInZhbHVlIjogImVuLVVTLGVuO3E9MC45In0sIHsibmFtZSI6ICJjb250ZW50LWxlbmd0aCIsICJ2YWx1ZSI6ICIwIn0sIHsibmFtZSI6ICJjb29raWUiLCAidmFsdWUiOiAiQUVDPUFWWUI3Y3Jhdjk0WU0tZmZKNlNqaTRRN3pMbVdpLUJhNEdvYkpfOXJPUWc5akh5b3UwbzZ1RXBXWHI4OyBfX1NlY3VyZS1FTklEPTIxLlNFPVpOTWhJY18yN3g0bW9wZllnd25yZExfTlMyUmU2TE56NTktMnJfUmtPMTFQSG5sd29vdW9aQ0NWOURJaTR6dFFTQlQ0YTZuaE8wTHFqcmFCeHhEOXJZS1NNbGVZakhsZmZhVEROLTUyZGljNnd2M2lYUjNfZ3NudWRFcUNjRFU0dnhjVTltQUFDbFlWUEk1WWlLM05GTTF5RHNIQlBwOERFNWo1V004R3dMV3ROcE5QbjRqNjlTblJHSTRfU2ZGY2diUHlzMF9vNjEtVnlpRVZfdXBGaEZtbmdUX3FEMDdhIn0sIHsibmFtZSI6ICJvcmlnaW4iLCAidmFsdWUiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbSJ9LCB7Im5hbWUiOiAicHJpb3JpdHkiLCAidmFsdWUiOiAidT00LCBpIn0sIHsibmFtZSI6ICJyZWZlcmVyIiwgInZhbHVlIjogImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEiLCAidmFsdWUiOiAiXCJDaHJvbWl1bVwiO3Y9XCIxMjdcIiwgXCJOb3QpQTtCcmFuZFwiO3Y9XCI5OVwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtYXJjaCIsICJ2YWx1ZSI6ICJcIng2NFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtYml0bmVzcyIsICJ2YWx1ZSI6ICJcIjY0XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1mdWxsLXZlcnNpb24iLCAidmFsdWUiOiAiXCIxMjcuMC42NTMzLjE3XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1mdWxsLXZlcnNpb24tbGlzdCIsICJ2YWx1ZSI6ICJcIkNocm9taXVtXCI7dj1cIjEyNy4wLjY1MzMuMTdcIiwgXCJOb3QpQTtCcmFuZFwiO3Y9XCI5OS4wLjAuMFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtbW9iaWxlIiwgInZhbHVlIjogIj8wIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtbW9kZWwiLCAidmFsdWUiOiAiXCJcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXBsYXRmb3JtIiwgInZhbHVlIjogIlwiV2luZG93c1wiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtcGxhdGZvcm0tdmVyc2lvbiIsICJ2YWx1ZSI6ICJcIjEwLjBcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXdvdzY0IiwgInZhbHVlIjogIj8wIn0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtZGVzdCIsICJ2YWx1ZSI6ICJlbXB0eSJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLW1vZGUiLCAidmFsdWUiOiAibm8tY29ycyJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLXNpdGUiLCAidmFsdWUiOiAic2FtZS1vcmlnaW4ifSwgeyJuYW1lIjogInVzZXItYWdlbnQiLCAidmFsdWUiOiAiTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEyNy4wLjY1MzMuMTcgU2FmYXJpLzUzNy4zNiJ9XSwgInF1ZXJ5U3RyaW5nIjogW3sibmFtZSI6ICJhdHlwIiwgInZhbHVlIjogImkifSwgeyJuYW1lIjogImVpIiwgInZhbHVlIjogImg0Q3JadnlMQzVPZmktZ1Bfb3FKLVF3In0sIHsibmFtZSI6ICJkdDE5IiwgInZhbHVlIjogIjIifSwgeyJuYW1lIjogInBybTIzIiwgInZhbHVlIjogIjAifSwgeyJuYW1lIjogInp4IiwgInZhbHVlIjogIjE3MjI1MTU1OTIxMDYifSwgeyJuYW1lIjogIm9waSIsICJ2YWx1ZSI6ICI4OTk3ODQ0OSJ9XSwgImhlYWRlcnNTaXplIjogMTI1NSwgImJvZHlTaXplIjogMH0sICJyZXNwb25zZSI6IHsic3RhdHVzIjogMjA0LCAic3RhdHVzVGV4dCI6ICIiLCAiaHR0cFZlcnNpb24iOiAiaDMiLCAiY29va2llcyI6IFtdLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiYWx0LXN2YyIsICJ2YWx1ZSI6ICJoMz1cIjo0NDNcIjsgbWE9MjU5MjAwMCxoMy0yOT1cIjo0NDNcIjsgbWE9MjU5MjAwMCJ9LCB7Im5hbWUiOiAiY29udGVudC1sZW5ndGgiLCAidmFsdWUiOiAiMCJ9LCB7Im5hbWUiOiAiY29udGVudC1zZWN1cml0eS1wb2xpY3kiLCAidmFsdWUiOiAib2JqZWN0LXNyYyAnbm9uZSc7YmFzZS11cmkgJ3NlbGYnO3NjcmlwdC1zcmMgJ25vbmNlLUdPQW1QZjNRTmpZejAwVjRxdkVaelEnICdzdHJpY3QtZHluYW1pYycgJ3JlcG9ydC1zYW1wbGUnICd1bnNhZmUtZXZhbCcgJ3Vuc2FmZS1pbmxpbmUnIGh0dHBzOiBodHRwOjtyZXBvcnQtdXJpIGh0dHBzOi8vY3NwLndpdGhnb29nbGUuY29tL2NzcC9nd3Mvb3RoZXIifSwgeyJuYW1lIjogImNvbnRlbnQtdHlwZSIsICJ2YWx1ZSI6ICJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgifSwgeyJuYW1lIjogImNyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5IiwgInZhbHVlIjogInNhbWUtb3JpZ2luLWFsbG93LXBvcHVwczsgcmVwb3J0LXRvPVwiZ3dzXCIifSwgeyJuYW1lIjogImRhdGUiLCAidmFsdWUiOiAiVGh1LCAwMSBBdWcgMjAyNCAxMjozMzoxMiBHTVQifSwgeyJuYW1lIjogInBlcm1pc3Npb25zLXBvbGljeSIsICJ2YWx1ZSI6ICJ1bmxvYWQ9KCkifSwgeyJuYW1lIjogInJlcG9ydC10byIsICJ2YWx1ZSI6ICJ7XCJncm91cFwiOlwiZ3dzXCIsXCJtYXhfYWdlXCI6MjU5MjAwMCxcImVuZHBvaW50c1wiOlt7XCJ1cmxcIjpcImh0dHBzOi8vY3NwLndpdGhnb29nbGUuY29tL2NzcC9yZXBvcnQtdG8vZ3dzL290aGVyXCJ9XX0ifSwgeyJuYW1lIjogInNlcnZlciIsICJ2YWx1ZSI6ICJnd3MifSwgeyJuYW1lIjogIngtZnJhbWUtb3B0aW9ucyIsICJ2YWx1ZSI6ICJTQU1FT1JJR0lOIn0sIHsibmFtZSI6ICJ4LXhzcy1wcm90ZWN0aW9uIiwgInZhbHVlIjogIjAifV0sICJjb250ZW50IjogeyJzaXplIjogMCwgIm1pbWVUeXBlIjogInRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIsICJjb21wcmVzc2lvbiI6IDAsICJ0ZXh0IjogIiJ9LCAiaGVhZGVyc1NpemUiOiAwLCAiYm9keVNpemUiOiAyMywgInJlZGlyZWN0VVJMIjogIiIsICJfdHJhbnNmZXJTaXplIjogMjN9LCAiY2FjaGUiOiB7fSwgInRpbWluZ3MiOiB7ImRucyI6IC0xLCAiY29ubmVjdCI6IC0xLCAic3NsIjogLTEsICJzZW5kIjogMCwgIndhaXQiOiAyOC4xODcsICJyZWNlaXZlIjogMi4wMzV9LCAicGFnZXJlZiI6ICJwYWdlQDJlN2FjZTk1NWE2NzczZWNmZDJlOThlZjJmZGNiNzA0IiwgInNlcnZlcklQQWRkcmVzcyI6ICJbMmEwMDoxNDUwOjQwMDE6ODA4OjoyMDA0XSIsICJfc2VydmVyUG9ydCI6IDQ0MywgIl9zZWN1cml0eURldGFpbHMiOiB7InByb3RvY29sIjogIlFVSUMiLCAic3ViamVjdE5hbWUiOiAiKi5nb29nbGUuY29tIiwgImlzc3VlciI6ICJXUjIiLCAidmFsaWRGcm9tIjogMTcyMjM0Mjc3MywgInZhbGlkVG8iOiAxNzI5NjAwMzcyfX0sIHsic3RhcnRlZERhdGVUaW1lIjogIjIwMjQtMDgtMDFUMTI6MzM6MTIuMTgyWiIsICJ0aW1lIjogNTguNzE3OTk5OTk5OTk5OTk2LCAicmVxdWVzdCI6IHsibWV0aG9kIjogIkdFVCIsICJ1cmwiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9jbGllbnRfMjA0P2NzPTEmb3BpPTg5OTc4NDQ5IiwgImh0dHBWZXJzaW9uIjogImgzIiwgImNvb2tpZXMiOiBbeyJuYW1lIjogIkFFQyIsICJ2YWx1ZSI6ICJBVllCN2NyYXY5NFlNLWZmSjZTamk0UTd6TG1XaS1CYTRHb2JKXzlyT1FnOWpIeW91MG82dUVwV1hyOCJ9LCB7Im5hbWUiOiAiX19TZWN1cmUtRU5JRCIsICJ2YWx1ZSI6ICIyMS5TRT1aTk1oSWNfMjd4NG1vcGZZZ3ducmRMX05TMlJlNkxOejU5LTJyX1JrTzExUEhubHdvb3VvWkNDVjlESWk0enRRU0JUNGE2bmhPMExxanJhQnh4RDlyWUtTTWxlWWpIbGZmYVRETi01MmRpYzZ3djNpWFIzX2dzbnVkRXFDY0RVNHZ4Y1U5bUFBQ2xZVlBJNVlpSzNORk0xeURzSEJQcDhERTVqNVdNOEd3TFd0TnBOUG40ajY5U25SR0k0X1NmRmNnYlB5czBfbzYxLVZ5aUVWX3VwRmhGbW5nVF9xRDA3YSJ9XSwgImhlYWRlcnMiOiBbeyJuYW1lIjogIjphdXRob3JpdHkiLCAidmFsdWUiOiAid3d3Lmdvb2dsZS5jb20ifSwgeyJuYW1lIjogIjptZXRob2QiLCAidmFsdWUiOiAiR0VUIn0sIHsibmFtZSI6ICI6cGF0aCIsICJ2YWx1ZSI6ICIvY2xpZW50XzIwND9jcz0xJm9waT04OTk3ODQ0OSJ9LCB7Im5hbWUiOiAiOnNjaGVtZSIsICJ2YWx1ZSI6ICJodHRwcyJ9LCB7Im5hbWUiOiAiYWNjZXB0IiwgInZhbHVlIjogIiovKiJ9LCB7Im5hbWUiOiAiYWNjZXB0LWVuY29kaW5nIiwgInZhbHVlIjogImd6aXAsIGRlZmxhdGUsIGJyLCB6c3RkIn0sIHsibmFtZSI6ICJhY2NlcHQtbGFuZ3VhZ2UiLCAidmFsdWUiOiAiZW4tVVMsZW47cT0wLjkifSwgeyJuYW1lIjogImNvb2tpZSIsICJ2YWx1ZSI6ICJBRUM9QVZZQjdjcmF2OTRZTS1mZko2U2ppNFE3ekxtV2ktQmE0R29iSl85ck9RZzlqSHlvdTBvNnVFcFdYcjg7IF9fU2VjdXJlLUVOSUQ9MjEuU0U9Wk5NaEljXzI3eDRtb3BmWWd3bnJkTF9OUzJSZTZMTno1OS0ycl9Sa08xMVBIbmx3b291b1pDQ1Y5RElpNHp0UVNCVDRhNm5oTzBMcWpyYUJ4eEQ5cllLU01sZVlqSGxmZmFURE4tNTJkaWM2d3YzaVhSM19nc251ZEVxQ2NEVTR2eGNVOW1BQUNsWVZQSTVZaUszTkZNMXlEc0hCUHA4REU1ajVXTThHd0xXdE5wTlBuNGo2OVNuUkdJNF9TZkZjZ2JQeXMwX282MS1WeWlFVl91cEZoRm1uZ1RfcUQwN2EifSwgeyJuYW1lIjogInByaW9yaXR5IiwgInZhbHVlIjogInU9MSwgaSJ9LCB7Im5hbWUiOiAicmVmZXJlciIsICJ2YWx1ZSI6ICJodHRwczovL3d3dy5nb29nbGUuY29tLyJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhIiwgInZhbHVlIjogIlwiQ2hyb21pdW1cIjt2PVwiMTI3XCIsIFwiTm90KUE7QnJhbmRcIjt2PVwiOTlcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLWFyY2giLCAidmFsdWUiOiAiXCJ4NjRcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLWJpdG5lc3MiLCAidmFsdWUiOiAiXCI2NFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtZnVsbC12ZXJzaW9uIiwgInZhbHVlIjogIlwiMTI3LjAuNjUzMy4xN1wiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtZnVsbC12ZXJzaW9uLWxpc3QiLCAidmFsdWUiOiAiXCJDaHJvbWl1bVwiO3Y9XCIxMjcuMC42NTMzLjE3XCIsIFwiTm90KUE7QnJhbmRcIjt2PVwiOTkuMC4wLjBcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLW1vYmlsZSIsICJ2YWx1ZSI6ICI/MCJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLW1vZGVsIiwgInZhbHVlIjogIlwiXCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1wbGF0Zm9ybSIsICJ2YWx1ZSI6ICJcIldpbmRvd3NcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXBsYXRmb3JtLXZlcnNpb24iLCAidmFsdWUiOiAiXCIxMC4wXCIifSwgeyJuYW1lIjogInNlYy1jaC11YS13b3c2NCIsICJ2YWx1ZSI6ICI/MCJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLWRlc3QiLCAidmFsdWUiOiAiZW1wdHkifSwgeyJuYW1lIjogInNlYy1mZXRjaC1tb2RlIiwgInZhbHVlIjogImNvcnMifSwgeyJuYW1lIjogInNlYy1mZXRjaC1zaXRlIiwgInZhbHVlIjogInNhbWUtb3JpZ2luIn0sIHsibmFtZSI6ICJ1c2VyLWFnZW50IiwgInZhbHVlIjogIk1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IFdpbjY0OyB4NjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS8xMjcuMC42NTMzLjE3IFNhZmFyaS81MzcuMzYifV0sICJxdWVyeVN0cmluZyI6IFt7Im5hbWUiOiAiY3MiLCAidmFsdWUiOiAiMSJ9LCB7Im5hbWUiOiAib3BpIiwgInZhbHVlIjogIjg5OTc4NDQ5In1dLCAiaGVhZGVyc1NpemUiOiAxMTQ0LCAiYm9keVNpemUiOiAwfSwgInJlc3BvbnNlIjogeyJzdGF0dXMiOiAyMDQsICJzdGF0dXNUZXh0IjogIiIsICJodHRwVmVyc2lvbiI6ICJoMyIsICJjb29raWVzIjogW3sibmFtZSI6ICJfX1NlY3VyZS1FTklEIiwgInZhbHVlIjogIjIxLlNFPVFFS1lTRFFmUHFCcTdnVWp5el9Bbk9iZ3hqMkpQMDZtWHpaZG8yZDBzQUNLZ2pNVVVaX0pHTWVSWEpkaHZXYzhZWVhCbndZcnoyS2x5REtuUXJZaEh3d1Z4aklFX0ZWVy1UWW1SMnR4emRpN2pVX2ZFWVNzeWVyc3JuMTVrMFpoMHlabnNQc2VKOElVTmw4SVBXR3RyUjNmcHVaYThfQlJWRXU2d192WDROS0lpU09HckJyNzRQRGJoWjRvcWNLUkFITUN5UXFhaFV1dnNoenhGNnpiMWdTM09kdHJrcE5oWXRCSEpncG15cE01TE81UnBwZyIsICJzZWN1cmUiOiB0cnVlLCAiaHR0cE9ubHkiOiB0cnVlLCAic2FtZVNpdGUiOiAibGF4In1dLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiYWx0LXN2YyIsICJ2YWx1ZSI6ICJoMz1cIjo0NDNcIjsgbWE9MjU5MjAwMCxoMy0yOT1cIjo0NDNcIjsgbWE9MjU5MjAwMCJ9LCB7Im5hbWUiOiAiY29udGVudC1sZW5ndGgiLCAidmFsdWUiOiAiMCJ9LCB7Im5hbWUiOiAiY29udGVudC1zZWN1cml0eS1wb2xpY3kiLCAidmFsdWUiOiAib2JqZWN0LXNyYyAnbm9uZSc7YmFzZS11cmkgJ3NlbGYnO3NjcmlwdC1zcmMgJ25vbmNlLXVvVmZoSG9uUkQyT01EMXdteDJVVWcnICdzdHJpY3QtZHluYW1pYycgJ3JlcG9ydC1zYW1wbGUnICd1bnNhZmUtZXZhbCcgJ3Vuc2FmZS1pbmxpbmUnIGh0dHBzOiBodHRwOjtyZXBvcnQtdXJpIGh0dHBzOi8vY3NwLndpdGhnb29nbGUuY29tL2NzcC9nd3MvY2R0MSJ9LCB7Im5hbWUiOiAiY29udGVudC10eXBlIiwgInZhbHVlIjogInRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCJ9LCB7Im5hbWUiOiAiY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kiLCAidmFsdWUiOiAic2FtZS1vcmlnaW4tYWxsb3ctcG9wdXBzOyByZXBvcnQtdG89XCJnd3NcIiJ9LCB7Im5hbWUiOiAiZGF0ZSIsICJ2YWx1ZSI6ICJUaHUsIDAxIEF1ZyAyMDI0IDEyOjMzOjEyIEdNVCJ9LCB7Im5hbWUiOiAicDNwIiwgInZhbHVlIjogIkNQPVwiVGhpcyBpcyBub3QgYSBQM1AgcG9saWN5ISBTZWUgZy5jby9wM3BoZWxwIGZvciBtb3JlIGluZm8uXCIifSwgeyJuYW1lIjogInBlcm1pc3Npb25zLXBvbGljeSIsICJ2YWx1ZSI6ICJ1bmxvYWQ9KCkifSwgeyJuYW1lIjogInJlcG9ydC10byIsICJ2YWx1ZSI6ICJ7XCJncm91cFwiOlwiZ3dzXCIsXCJtYXhfYWdlXCI6MjU5MjAwMCxcImVuZHBvaW50c1wiOlt7XCJ1cmxcIjpcImh0dHBzOi8vY3NwLndpdGhnb29nbGUuY29tL2NzcC9yZXBvcnQtdG8vZ3dzL2NkdDFcIn1dfSJ9LCB7Im5hbWUiOiAic2VydmVyIiwgInZhbHVlIjogImd3cyJ9LCB7Im5hbWUiOiAic2V0LWNvb2tpZSIsICJ2YWx1ZSI6ICJfX1NlY3VyZS1FTklEPTIxLlNFPVFFS1lTRFFmUHFCcTdnVWp5el9Bbk9iZ3hqMkpQMDZtWHpaZG8yZDBzQUNLZ2pNVVVaX0pHTWVSWEpkaHZXYzhZWVhCbndZcnoyS2x5REtuUXJZaEh3d1Z4aklFX0ZWVy1UWW1SMnR4emRpN2pVX2ZFWVNzeWVyc3JuMTVrMFpoMHlabnNQc2VKOElVTmw4SVBXR3RyUjNmcHVaYThfQlJWRXU2d192WDROS0lpU09HckJyNzRQRGJoWjRvcWNLUkFITUN5UXFhaFV1dnNoenhGNnpiMWdTM09kdHJrcE5oWXRCSEpncG15cE01TE81UnBwZzsgZXhwaXJlcz1Nb24sIDAxLVNlcC0yMDI1IDA0OjUxOjI5IEdNVDsgcGF0aD0vOyBkb21haW49Lmdvb2dsZS5jb207IFNlY3VyZTsgSHR0cE9ubHk7IFNhbWVTaXRlPWxheCJ9LCB7Im5hbWUiOiAic3RyaWN0LXRyYW5zcG9ydC1zZWN1cml0eSIsICJ2YWx1ZSI6ICJtYXgtYWdlPTMxNTM2MDAwIn0sIHsibmFtZSI6ICJ4LWZyYW1lLW9wdGlvbnMiLCAidmFsdWUiOiAiU0FNRU9SSUdJTiJ9LCB7Im5hbWUiOiAieC14c3MtcHJvdGVjdGlvbiIsICJ2YWx1ZSI6ICIwIn1dLCAiY29udGVudCI6IHsic2l6ZSI6IDAsICJtaW1lVHlwZSI6ICJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLCAiY29tcHJlc3Npb24iOiAwLCAidGV4dCI6ICIifSwgImhlYWRlcnNTaXplIjogMCwgImJvZHlTaXplIjogMjcsICJyZWRpcmVjdFVSTCI6ICIiLCAiX3RyYW5zZmVyU2l6ZSI6IDI3fSwgImNhY2hlIjoge30sICJ0aW1pbmdzIjogeyJkbnMiOiAtMSwgImNvbm5lY3QiOiAtMSwgInNzbCI6IC0xLCAic2VuZCI6IDAsICJ3YWl0IjogNTYuNTM3LCAicmVjZWl2ZSI6IDIuMTgxfSwgInBhZ2VyZWYiOiAicGFnZUAyZTdhY2U5NTVhNjc3M2VjZmQyZTk4ZWYyZmRjYjcwNCIsICJzZXJ2ZXJJUEFkZHJlc3MiOiAiWzJhMDA6MTQ1MDo0MDAxOjgwODo6MjAwNF0iLCAiX3NlcnZlclBvcnQiOiA0NDMsICJfc2VjdXJpdHlEZXRhaWxzIjogeyJwcm90b2NvbCI6ICJRVUlDIiwgInN1YmplY3ROYW1lIjogIiouZ29vZ2xlLmNvbSIsICJpc3N1ZXIiOiAiV1IyIiwgInZhbGlkRnJvbSI6IDE3MjIzNDI3NzMsICJ2YWxpZFRvIjogMTcyOTYwMDM3Mn19LCB7InN0YXJ0ZWREYXRlVGltZSI6ICIyMDI0LTA4LTAxVDEyOjMzOjEyLjE4MloiLCAidGltZSI6IDgwLjczMywgInJlcXVlc3QiOiB7Im1ldGhvZCI6ICJHRVQiLCAidXJsIjogImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vYXN5bmMvaHBiYT92ZXQ9MTBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWotMEtDQlEuLmkmZWk9aDRDclp2eUxDNU9maS1nUF9vcUotUXcmb3BpPTg5OTc4NDQ5Jnl2PTMmY3M9MCZhc3luYz1pc0ltYWdlSHA6ZmFsc2UsZXZlbnRJZDpoNENyWnZ5TEM1T2ZpLWdQX29xSi1RdyxlbmRwb2ludDpvdmVybGF5LHN0aWNrOixfYmFzZWpzOiUyRnhqcyUyRl8lMkZqcyUyRmslM0R4anMuaGQuZW4uekhBTHduUjgzcUUuTyUyRmFtJTNEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFoQUFVQUFDQUFnQUFBQUFBQUFBQUFBQkFnQ0FBZ0NnQUFCQUFIQUFnQWdJQUFnRUFBRVNDQUR6S0J3Q0FBTUFFQUJBQWdBQUFBQUlDQUNBQUFFQUFBQUJDQUFBQUFBQVVBQUFBQUFBQUFBQUFBQUFBQXdoQUFBQUFBQUFBQUFBQUFBSUFBQUNnQXdBQUFBQUJBRUFRQUJqQUFBRWdBQUVBQUFEb0FVQndBQXhTRUFBQUFBQUFBQUFBQUFBQUNFQ0NZQzRrb0NDQUFBQUFBQUFBQUFBQUFBQUFBRWhKSnhZMiUyRmRnJTNEMCUyRmJyJTNEMSUyRnJzJTNEQUNUOTBvSFl0TDMxWF9hYm9KVHAyTjFCbmVmdFV1cFdHZyxfYmFzZWNzczolMkZ4anMlMkZfJTJGc3MlMkZrJTNEeGpzLmhkLmhoa19OUmZ3Si1zLkwuQjEuTyUyRmFtJTNEQUV3QkFBQUFBQUFBR0FBQUFBQUFBQUFBQUFBQUFBQUFDQUFBQkFBQUFBQUFvQUFna0FDQUFNQUdCQUFBQUVBQWdBQUFBQUFBQUNnQUFBQUFHQUFBQUFnQUlBR0FBSUNBQUFBQUF3Q0VBQUlBQ0JBQmlnQVNBQUtDS0FJQUFFQUFBQ0JDd0lCaEFBSVZBQXdDQUFBQWdBQUNBQUFBQUZnakFBRUNBUG9JQUJBQUlDSUFBQWlnQXdRQUJBQUVnQUJBQUJqQUFBRUFBQUFBQUFDQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0FBQ0FBb0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFCJTJGYnIlM0QxJTJGcnMlM0RBQ1Q5MG9Gdk9UM2tpLXdrYnhKZTZKNkQ4eGR1eV9VSWNnLF9iYXNlY29tYjolMkZ4anMlMkZfJTJGanMlMkZrJTNEeGpzLmhkLmVuLnpIQUx3blI4M3FFLk8lMkZjayUzRHhqcy5oZC5oaGtfTlJmd0otcy5MLkIxLk8lMkZhbSUzREFFd0JBQUFBQUFBQUdBQUFBQUFBQUFBQUFBQUFBQUFBQ0FBQUJBQUFBQUFBcEFBMGtBQ0FBc0FHQkFBQUFFQUFnQUJBZ0NBQWdDZ0FBQkFBSEFBZ0Fnb0FJZ0dBQU1TQ0FEektCd0NFQU1JRUNCQUJpZ0FTQUFLQ0tDSUFBRUFBQUNCQ3dJQmhBQUlWQUF3Q0FBQUFnQUFDQUFBQUExaGpBQUVDQVBvSUFCQUFJQ0lBQUFpZ0F3UUFCQUFGZ0VCUUFCakFBQUVnQUFFQUFBRG9BVUJ3QUF4U0VBQUFBQUFBQUFBQUFBQUFDRUNDWUM0a29DQ0FBQUFBQUFBQUFBQUFBQUFBQUVoSkp4WTIlMkZkJTNEMSUyRmVkJTNEMSUyRmRnJTNEMCUyRmJyJTNEMSUyRnVqZyUzRDElMkZycyUzREFDVDkwb0dPWXVoVWxSTGJLb1VkakFYSVUxNjNlRU1GZGcsX2ZtdDpwcm9nLF9pZDphM0pVNWIiLCAiaHR0cFZlcnNpb24iOiAiaDMiLCAiY29va2llcyI6IFt7Im5hbWUiOiAiQUVDIiwgInZhbHVlIjogIkFWWUI3Y3Jhdjk0WU0tZmZKNlNqaTRRN3pMbVdpLUJhNEdvYkpfOXJPUWc5akh5b3UwbzZ1RXBXWHI4In0sIHsibmFtZSI6ICJfX1NlY3VyZS1FTklEIiwgInZhbHVlIjogIjIxLlNFPVpOTWhJY18yN3g0bW9wZllnd25yZExfTlMyUmU2TE56NTktMnJfUmtPMTFQSG5sd29vdW9aQ0NWOURJaTR6dFFTQlQ0YTZuaE8wTHFqcmFCeHhEOXJZS1NNbGVZakhsZmZhVEROLTUyZGljNnd2M2lYUjNfZ3NudWRFcUNjRFU0dnhjVTltQUFDbFlWUEk1WWlLM05GTTF5RHNIQlBwOERFNWo1V004R3dMV3ROcE5QbjRqNjlTblJHSTRfU2ZGY2diUHlzMF9vNjEtVnlpRVZfdXBGaEZtbmdUX3FEMDdhIn1dLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiOmF1dGhvcml0eSIsICJ2YWx1ZSI6ICJ3d3cuZ29vZ2xlLmNvbSJ9LCB7Im5hbWUiOiAiOm1ldGhvZCIsICJ2YWx1ZSI6ICJHRVQifSwgeyJuYW1lIjogIjpwYXRoIiwgInZhbHVlIjogIi9hc3luYy9ocGJhP3ZldD0xMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRai0wS0NCUS4uaSZlaT1oNENyWnZ5TEM1T2ZpLWdQX29xSi1RdyZvcGk9ODk5Nzg0NDkmeXY9MyZjcz0wJmFzeW5jPWlzSW1hZ2VIcDpmYWxzZSxldmVudElkOmg0Q3JadnlMQzVPZmktZ1Bfb3FKLVF3LGVuZHBvaW50Om92ZXJsYXksc3RpY2s6LF9iYXNlanM6JTJGeGpzJTJGXyUyRmpzJTJGayUzRHhqcy5oZC5lbi56SEFMd25SODNxRS5PJTJGYW0lM0RBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQWhBQVVBQUNBQWdBQUFBQUFBQUFBQUFCQWdDQUFnQ2dBQUJBQUhBQWdBZ0lBQWdFQUFFU0NBRHpLQndDQUFNQUVBQkFBZ0FBQUFBSUNBQ0FBQUVBQUFBQkNBQUFBQUFBVUFBQUFBQUFBQUFBQUFBQUFBd2hBQUFBQUFBQUFBQUFBQUFJQUFBQ2dBd0FBQUFBQkFFQVFBQmpBQUFFZ0FBRUFBQURvQVVCd0FBeFNFQUFBQUFBQUFBQUFBQUFBQ0VDQ1lDNGtvQ0NBQUFBQUFBQUFBQUFBQUFBQUFFaEpKeFkyJTJGZGclM0QwJTJGYnIlM0QxJTJGcnMlM0RBQ1Q5MG9IWXRMMzFYX2Fib0pUcDJOMUJuZWZ0VXVwV0dnLF9iYXNlY3NzOiUyRnhqcyUyRl8lMkZzcyUyRmslM0R4anMuaGQuaGhrX05SZndKLXMuTC5CMS5PJTJGYW0lM0RBRXdCQUFBQUFBQUFHQUFBQUFBQUFBQUFBQUFBQUFBQUNBQUFCQUFBQUFBQW9BQWdrQUNBQU1BR0JBQUFBRUFBZ0FBQUFBQUFBQ2dBQUFBQUdBQUFBQWdBSUFHQUFJQ0FBQUFBQXdDRUFBSUFDQkFCaWdBU0FBS0NLQUlBQUVBQUFDQkN3SUJoQUFJVkFBd0NBQUFBZ0FBQ0FBQUFBRmdqQUFFQ0FQb0lBQkFBSUNJQUFBaWdBd1FBQkFBRWdBQkFBQmpBQUFFQUFBQUFBQUNBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDQUFDQUFvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUIlMkZiciUzRDElMkZycyUzREFDVDkwb0Z2T1Qza2ktd2tieEplNko2RDh4ZHV5X1VJY2csX2Jhc2Vjb21iOiUyRnhqcyUyRl8lMkZqcyUyRmslM0R4anMuaGQuZW4uekhBTHduUjgzcUUuTyUyRmNrJTNEeGpzLmhkLmhoa19OUmZ3Si1zLkwuQjEuTyUyRmFtJTNEQUV3QkFBQUFBQUFBR0FBQUFBQUFBQUFBQUFBQUFBQUFDQUFBQkFBQUFBQUFwQUEwa0FDQUFzQUdCQUFBQUVBQWdBQkFnQ0FBZ0NnQUFCQUFIQUFnQWdvQUlnR0FBTVNDQUR6S0J3Q0VBTUlFQ0JBQmlnQVNBQUtDS0NJQUFFQUFBQ0JDd0lCaEFBSVZBQXdDQUFBQWdBQUNBQUFBQTFoakFBRUNBUG9JQUJBQUlDSUFBQWlnQXdRQUJBQUZnRUJRQUJqQUFBRWdBQUVBQUFEb0FVQndBQXhTRUFBQUFBQUFBQUFBQUFBQUNFQ0NZQzRrb0NDQUFBQUFBQUFBQUFBQUFBQUFBRWhKSnhZMiUyRmQlM0QxJTJGZWQlM0QxJTJGZGclM0QwJTJGYnIlM0QxJTJGdWpnJTNEMSUyRnJzJTNEQUNUOTBvR09ZdWhVbFJMYktvVWRqQVhJVTE2M2VFTUZkZyxfZm10OnByb2csX2lkOmEzSlU1YiJ9LCB7Im5hbWUiOiAiOnNjaGVtZSIsICJ2YWx1ZSI6ICJodHRwcyJ9LCB7Im5hbWUiOiAiYWNjZXB0IiwgInZhbHVlIjogIiovKiJ9LCB7Im5hbWUiOiAiYWNjZXB0LWVuY29kaW5nIiwgInZhbHVlIjogImd6aXAsIGRlZmxhdGUsIGJyLCB6c3RkIn0sIHsibmFtZSI6ICJhY2NlcHQtbGFuZ3VhZ2UiLCAidmFsdWUiOiAiZW4tVVMsZW47cT0wLjkifSwgeyJuYW1lIjogImNvb2tpZSIsICJ2YWx1ZSI6ICJBRUM9QVZZQjdjcmF2OTRZTS1mZko2U2ppNFE3ekxtV2ktQmE0R29iSl85ck9RZzlqSHlvdTBvNnVFcFdYcjg7IF9fU2VjdXJlLUVOSUQ9MjEuU0U9Wk5NaEljXzI3eDRtb3BmWWd3bnJkTF9OUzJSZTZMTno1OS0ycl9Sa08xMVBIbmx3b291b1pDQ1Y5RElpNHp0UVNCVDRhNm5oTzBMcWpyYUJ4eEQ5cllLU01sZVlqSGxmZmFURE4tNTJkaWM2d3YzaVhSM19nc251ZEVxQ2NEVTR2eGNVOW1BQUNsWVZQSTVZaUszTkZNMXlEc0hCUHA4REU1ajVXTThHd0xXdE5wTlBuNGo2OVNuUkdJNF9TZkZjZ2JQeXMwX282MS1WeWlFVl91cEZoRm1uZ1RfcUQwN2EifSwgeyJuYW1lIjogInByaW9yaXR5IiwgInZhbHVlIjogInU9MSwgaSJ9LCB7Im5hbWUiOiAicmVmZXJlciIsICJ2YWx1ZSI6ICJodHRwczovL3d3dy5nb29nbGUuY29tLyJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhIiwgInZhbHVlIjogIlwiQ2hyb21pdW1cIjt2PVwiMTI3XCIsIFwiTm90KUE7QnJhbmRcIjt2PVwiOTlcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLWFyY2giLCAidmFsdWUiOiAiXCJ4NjRcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLWJpdG5lc3MiLCAidmFsdWUiOiAiXCI2NFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtZnVsbC12ZXJzaW9uIiwgInZhbHVlIjogIlwiMTI3LjAuNjUzMy4xN1wiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtZnVsbC12ZXJzaW9uLWxpc3QiLCAidmFsdWUiOiAiXCJDaHJvbWl1bVwiO3Y9XCIxMjcuMC42NTMzLjE3XCIsIFwiTm90KUE7QnJhbmRcIjt2PVwiOTkuMC4wLjBcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLW1vYmlsZSIsICJ2YWx1ZSI6ICI/MCJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLW1vZGVsIiwgInZhbHVlIjogIlwiXCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1wbGF0Zm9ybSIsICJ2YWx1ZSI6ICJcIldpbmRvd3NcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXBsYXRmb3JtLXZlcnNpb24iLCAidmFsdWUiOiAiXCIxMC4wXCIifSwgeyJuYW1lIjogInNlYy1jaC11YS13b3c2NCIsICJ2YWx1ZSI6ICI/MCJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLWRlc3QiLCAidmFsdWUiOiAiZW1wdHkifSwgeyJuYW1lIjogInNlYy1mZXRjaC1tb2RlIiwgInZhbHVlIjogImNvcnMifSwgeyJuYW1lIjogInNlYy1mZXRjaC1zaXRlIiwgInZhbHVlIjogInNhbWUtb3JpZ2luIn0sIHsibmFtZSI6ICJ1c2VyLWFnZW50IiwgInZhbHVlIjogIk1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IFdpbjY0OyB4NjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS8xMjcuMC42NTMzLjE3IFNhZmFyaS81MzcuMzYifV0sICJxdWVyeVN0cmluZyI6IFt7Im5hbWUiOiAidmV0IiwgInZhbHVlIjogIjEwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqLTBLQ0JRLi5pIn0sIHsibmFtZSI6ICJlaSIsICJ2YWx1ZSI6ICJoNENyWnZ5TEM1T2ZpLWdQX29xSi1RdyJ9LCB7Im5hbWUiOiAib3BpIiwgInZhbHVlIjogIjg5OTc4NDQ5In0sIHsibmFtZSI6ICJ5diIsICJ2YWx1ZSI6ICIzIn0sIHsibmFtZSI6ICJjcyIsICJ2YWx1ZSI6ICIwIn0sIHsibmFtZSI6ICJhc3luYyIsICJ2YWx1ZSI6ICJpc0ltYWdlSHA6ZmFsc2UsZXZlbnRJZDpoNENyWnZ5TEM1T2ZpLWdQX29xSi1RdyxlbmRwb2ludDpvdmVybGF5LHN0aWNrOixfYmFzZWpzOi94anMvXy9qcy9rPXhqcy5oZC5lbi56SEFMd25SODNxRS5PL2FtPUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBaEFBVUFBQ0FBZ0FBQUFBQUFBQUFBQUJBZ0NBQWdDZ0FBQkFBSEFBZ0FnSUFBZ0VBQUVTQ0FEektCd0NBQU1BRUFCQUFnQUFBQUFJQ0FDQUFBRUFBQUFCQ0FBQUFBQUFVQUFBQUFBQUFBQUFBQUFBQUF3aEFBQUFBQUFBQUFBQUFBQUlBQUFDZ0F3QUFBQUFCQUVBUUFCakFBQUVnQUFFQUFBRG9BVUJ3QUF4U0VBQUFBQUFBQUFBQUFBQUFDRUNDWUM0a29DQ0FBQUFBQUFBQUFBQUFBQUFBQUVoSkp4WTIvZGc9MC9icj0xL3JzPUFDVDkwb0hZdEwzMVhfYWJvSlRwMk4xQm5lZnRVdXBXR2csX2Jhc2Vjc3M6L3hqcy9fL3NzL2s9eGpzLmhkLmhoa19OUmZ3Si1zLkwuQjEuTy9hbT1BRXdCQUFBQUFBQUFHQUFBQUFBQUFBQUFBQUFBQUFBQUNBQUFCQUFBQUFBQW9BQWdrQUNBQU1BR0JBQUFBRUFBZ0FBQUFBQUFBQ2dBQUFBQUdBQUFBQWdBSUFHQUFJQ0FBQUFBQXdDRUFBSUFDQkFCaWdBU0FBS0NLQUlBQUVBQUFDQkN3SUJoQUFJVkFBd0NBQUFBZ0FBQ0FBQUFBRmdqQUFFQ0FQb0lBQkFBSUNJQUFBaWdBd1FBQkFBRWdBQkFBQmpBQUFFQUFBQUFBQUNBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDQUFDQUFvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUIvYnI9MS9ycz1BQ1Q5MG9Gdk9UM2tpLXdrYnhKZTZKNkQ4eGR1eV9VSWNnLF9iYXNlY29tYjoveGpzL18vanMvaz14anMuaGQuZW4uekhBTHduUjgzcUUuTy9jaz14anMuaGQuaGhrX05SZndKLXMuTC5CMS5PL2FtPUFFd0JBQUFBQUFBQUdBQUFBQUFBQUFBQUFBQUFBQUFBQ0FBQUJBQUFBQUFBcEFBMGtBQ0FBc0FHQkFBQUFFQUFnQUJBZ0NBQWdDZ0FBQkFBSEFBZ0Fnb0FJZ0dBQU1TQ0FEektCd0NFQU1JRUNCQUJpZ0FTQUFLQ0tDSUFBRUFBQUNCQ3dJQmhBQUlWQUF3Q0FBQUFnQUFDQUFBQUExaGpBQUVDQVBvSUFCQUFJQ0lBQUFpZ0F3UUFCQUFGZ0VCUUFCakFBQUVnQUFFQUFBRG9BVUJ3QUF4U0VBQUFBQUFBQUFBQUFBQUFDRUNDWUM0a29DQ0FBQUFBQUFBQUFBQUFBQUFBQUVoSkp4WTIvZD0xL2VkPTEvZGc9MC9icj0xL3VqZz0xL3JzPUFDVDkwb0dPWXVoVWxSTGJLb1VkakFYSVUxNjNlRU1GZGcsX2ZtdDpwcm9nLF9pZDphM0pVNWIifV0sICJoZWFkZXJzU2l6ZSI6IDI1NDYsICJib2R5U2l6ZSI6IDB9LCAicmVzcG9uc2UiOiB7InN0YXR1cyI6IDIwMCwgInN0YXR1c1RleHQiOiAiIiwgImh0dHBWZXJzaW9uIjogImgzIiwgImNvb2tpZXMiOiBbeyJuYW1lIjogIl9fU2VjdXJlLUVOSUQiLCAidmFsdWUiOiAiMjEuU0U9YWVtYmJCWF9pVDRaWWg0eWxzT3FhX2plcm1jNVpkVWR6aTlrSmh5Tkx0V3JKMl8tT0dCd3liaE1JVWRYSEhQcHh2dkNzMjVaY3AzbHMzNjhUUEhfampJRmQ2YlRSaGhCbm9XTlJ3TVBaUElROGFqSUJtMFM0YkR6bFZiTE5zRXRmUWlKeDkyVlJXVDVlWDJRWWFwNWZCd0NCWEprbjZlb0hCdGI2X1F5TXFhV2tSSGxDejFrRkp4YmFSTUlyVEJNSDVZZFVuS2xyOGlOYkI5cDJ6NzFES2xaZ1FUaWFLMWR0WEg0WVV0XyIsICJzZWN1cmUiOiB0cnVlLCAiaHR0cE9ubHkiOiB0cnVlLCAic2FtZVNpdGUiOiAibGF4In1dLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiYWNjZXB0LWNoIiwgInZhbHVlIjogIlNlYy1DSC1VQS1QbGF0Zm9ybSJ9LCB7Im5hbWUiOiAiYWNjZXB0LWNoIiwgInZhbHVlIjogIlNlYy1DSC1VQS1QbGF0Zm9ybS1WZXJzaW9uIn0sIHsibmFtZSI6ICJhY2NlcHQtY2giLCAidmFsdWUiOiAiU2VjLUNILVVBLUZ1bGwtVmVyc2lvbiJ9LCB7Im5hbWUiOiAiYWNjZXB0LWNoIiwgInZhbHVlIjogIlNlYy1DSC1VQS1BcmNoIn0sIHsibmFtZSI6ICJhY2NlcHQtY2giLCAidmFsdWUiOiAiU2VjLUNILVVBLU1vZGVsIn0sIHsibmFtZSI6ICJhY2NlcHQtY2giLCAidmFsdWUiOiAiU2VjLUNILVVBLUJpdG5lc3MifSwgeyJuYW1lIjogImFjY2VwdC1jaCIsICJ2YWx1ZSI6ICJTZWMtQ0gtVUEtRnVsbC1WZXJzaW9uLUxpc3QifSwgeyJuYW1lIjogImFjY2VwdC1jaCIsICJ2YWx1ZSI6ICJTZWMtQ0gtVUEtV29XNjQifSwgeyJuYW1lIjogImFsdC1zdmMiLCAidmFsdWUiOiAiaDM9XCI6NDQzXCI7IG1hPTI1OTIwMDAsaDMtMjk9XCI6NDQzXCI7IG1hPTI1OTIwMDAifSwgeyJuYW1lIjogImNhY2hlLWNvbnRyb2wiLCAidmFsdWUiOiAicHJpdmF0ZSJ9LCB7Im5hbWUiOiAiY29udGVudC1kaXNwb3NpdGlvbiIsICJ2YWx1ZSI6ICJhdHRhY2htZW50OyBmaWxlbmFtZT1cImYudHh0XCIifSwgeyJuYW1lIjogImNvbnRlbnQtZW5jb2RpbmciLCAidmFsdWUiOiAiYnIifSwgeyJuYW1lIjogImNvbnRlbnQtdHlwZSIsICJ2YWx1ZSI6ICJ0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04In0sIHsibmFtZSI6ICJjcm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeSIsICJ2YWx1ZSI6ICJzYW1lLW9yaWdpbi1hbGxvdy1wb3B1cHM7IHJlcG9ydC10bz1cImd3c1wiIn0sIHsibmFtZSI6ICJkYXRlIiwgInZhbHVlIjogIlRodSwgMDEgQXVnIDIwMjQgMTI6MzM6MTIgR01UIn0sIHsibmFtZSI6ICJleHBpcmVzIiwgInZhbHVlIjogIlRodSwgMDEgQXVnIDIwMjQgMTI6MzM6MTIgR01UIn0sIHsibmFtZSI6ICJwM3AiLCAidmFsdWUiOiAiQ1A9XCJUaGlzIGlzIG5vdCBhIFAzUCBwb2xpY3khIFNlZSBnLmNvL3AzcGhlbHAgZm9yIG1vcmUgaW5mby5cIiJ9LCB7Im5hbWUiOiAicGVybWlzc2lvbnMtcG9saWN5IiwgInZhbHVlIjogInVubG9hZD0oKSJ9LCB7Im5hbWUiOiAicmVwb3J0LXRvIiwgInZhbHVlIjogIntcImdyb3VwXCI6XCJnd3NcIixcIm1heF9hZ2VcIjoyNTkyMDAwLFwiZW5kcG9pbnRzXCI6W3tcInVybFwiOlwiaHR0cHM6Ly9jc3Aud2l0aGdvb2dsZS5jb20vY3NwL3JlcG9ydC10by9nd3Mvbm9uZVwifV19In0sIHsibmFtZSI6ICJzZXJ2ZXIiLCAidmFsdWUiOiAiZ3dzIn0sIHsibmFtZSI6ICJzZXQtY29va2llIiwgInZhbHVlIjogIl9fU2VjdXJlLUVOSUQ9MjEuU0U9YWVtYmJCWF9pVDRaWWg0eWxzT3FhX2plcm1jNVpkVWR6aTlrSmh5Tkx0V3JKMl8tT0dCd3liaE1JVWRYSEhQcHh2dkNzMjVaY3AzbHMzNjhUUEhfampJRmQ2YlRSaGhCbm9XTlJ3TVBaUElROGFqSUJtMFM0YkR6bFZiTE5zRXRmUWlKeDkyVlJXVDVlWDJRWWFwNWZCd0NCWEprbjZlb0hCdGI2X1F5TXFhV2tSSGxDejFrRkp4YmFSTUlyVEJNSDVZZFVuS2xyOGlOYkI5cDJ6NzFES2xaZ1FUaWFLMWR0WEg0WVV0XzsgZXhwaXJlcz1Nb24sIDAxLVNlcC0yMDI1IDA0OjUxOjI5IEdNVDsgcGF0aD0vOyBkb21haW49Lmdvb2dsZS5jb207IFNlY3VyZTsgSHR0cE9ubHk7IFNhbWVTaXRlPWxheCJ9LCB7Im5hbWUiOiAic3RyaWN0LXRyYW5zcG9ydC1zZWN1cml0eSIsICJ2YWx1ZSI6ICJtYXgtYWdlPTMxNTM2MDAwIn0sIHsibmFtZSI6ICJ2ZXJzaW9uIiwgInZhbHVlIjogIjY1NTQ2MDAwOSJ9LCB7Im5hbWUiOiAieC1jb250ZW50LXR5cGUtb3B0aW9ucyIsICJ2YWx1ZSI6ICJub3NuaWZmIn0sIHsibmFtZSI6ICJ4LWZyYW1lLW9wdGlvbnMiLCAidmFsdWUiOiAiU0FNRU9SSUdJTiJ9LCB7Im5hbWUiOiAieC14c3MtcHJvdGVjdGlvbiIsICJ2YWx1ZSI6ICIwIn1dLCAiY29udGVudCI6IHsic2l6ZSI6IDEwMSwgIm1pbWVUeXBlIjogInRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgiLCAiY29tcHJlc3Npb24iOiAwLCAidGV4dCI6ICIpXX0nXG4yMTtbXCJpSUNyWnZxeENKTGk3X1VQaEtxRWVBXCIsXCIyMDUxXCJdYztbMixudWxsLFwiMFwiXTFiOzxkaXYganNuYW1lPVwiTmxsMG5lXCI+PC9kaXY+YztbOSxudWxsLFwiMFwiXTA7In0sICJoZWFkZXJzU2l6ZSI6IDAsICJib2R5U2l6ZSI6IDE2NCwgInJlZGlyZWN0VVJMIjogIiIsICJfdHJhbnNmZXJTaXplIjogMTY0fSwgImNhY2hlIjoge30sICJ0aW1pbmdzIjogeyJkbnMiOiAtMSwgImNvbm5lY3QiOiAtMSwgInNzbCI6IC0xLCAic2VuZCI6IDAsICJ3YWl0IjogNzMuNTE1LCAicmVjZWl2ZSI6IDcuMjE4fSwgInBhZ2VyZWYiOiAicGFnZUAyZTdhY2U5NTVhNjc3M2VjZmQyZTk4ZWYyZmRjYjcwNCIsICJzZXJ2ZXJJUEFkZHJlc3MiOiAiWzJhMDA6MTQ1MDo0MDAxOjgwODo6MjAwNF0iLCAiX3NlcnZlclBvcnQiOiA0NDMsICJfc2VjdXJpdHlEZXRhaWxzIjogeyJwcm90b2NvbCI6ICJRVUlDIiwgInN1YmplY3ROYW1lIjogIiouZ29vZ2xlLmNvbSIsICJpc3N1ZXIiOiAiV1IyIiwgInZhbGlkRnJvbSI6IDE3MjIzNDI3NzMsICJ2YWxpZFRvIjogMTcyOTYwMDM3Mn19LCB7InN0YXJ0ZWREYXRlVGltZSI6ICIyMDI0LTA4LTAxVDEyOjMzOjEyLjIwOFoiLCAidGltZSI6IDI1LjQ3NywgInJlcXVlc3QiOiB7Im1ldGhvZCI6ICJHRVQiLCAidXJsIjogImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20veGpzL18vanMvaz14anMuaGQuZW4uekhBTHduUjgzcUUuTy9hbT1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQWhBQVVBQUNBQWdBQUFBQUFBQUFBQUFCQWdDQUFnQ2dBQUJBQUhBQWdBZ0lBQWdFQUFFU0NBRHpLQndDQUFNQUVBQkFBZ0FBQUFBSUNBQ0FBQUVBQUFBQkNBQUFBQUFBVUFBQUFBQUFBQUFBQUFBQUFBd2hBQUFBQUFBQUFBQUFBQUFJQUFBQ2dBd0FBQUFBQkFFQVFBQmpBQUFFZ0FBRUFBQURvQVVCd0FBeFNFQUFBQUFBQUFBQUFBQUFBQ0VDQ1lDNGtvQ0NBQUFBQUFBQUFBQUFBQUFBQUFFaEpKeFkyL2Q9MC9kZz0wL2JyPTEvcnM9QUNUOTBvSFl0TDMxWF9hYm9KVHAyTjFCbmVmdFV1cFdHZy9tPXN5Z2IsYUxVZlA/eGpzPXM0IiwgImh0dHBWZXJzaW9uIjogImgzIiwgImNvb2tpZXMiOiBbeyJuYW1lIjogIkFFQyIsICJ2YWx1ZSI6ICJBVllCN2NyYXY5NFlNLWZmSjZTamk0UTd6TG1XaS1CYTRHb2JKXzlyT1FnOWpIeW91MG82dUVwV1hyOCJ9LCB7Im5hbWUiOiAiX19TZWN1cmUtRU5JRCIsICJ2YWx1ZSI6ICIyMS5TRT1RRUtZU0RRZlBxQnE3Z1VqeXpfQW5PYmd4ajJKUDA2bVh6WmRvMmQwc0FDS2dqTVVVWl9KR01lUlhKZGh2V2M4WVlYQm53WXJ6MktseURLblFyWWhId3dWeGpJRV9GVlctVFltUjJ0eHpkaTdqVV9mRVlTc3llcnNybjE1azBaaDB5Wm5zUHNlSjhJVU5sOElQV0d0clIzZnB1WmE4X0JSVkV1Nndfdlg0TktJaVNPR3JCcjc0UERiaFo0b3FjS1JBSE1DeVFxYWhVdXZzaHp4RjZ6YjFnUzNPZHRya3BOaFl0QkhKZ3BteXBNNUxPNVJwcGcifV0sICJoZWFkZXJzIjogW3sibmFtZSI6ICI6YXV0aG9yaXR5IiwgInZhbHVlIjogInd3dy5nb29nbGUuY29tIn0sIHsibmFtZSI6ICI6bWV0aG9kIiwgInZhbHVlIjogIkdFVCJ9LCB7Im5hbWUiOiAiOnBhdGgiLCAidmFsdWUiOiAiL3hqcy9fL2pzL2s9eGpzLmhkLmVuLnpIQUx3blI4M3FFLk8vYW09QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFoQUFVQUFDQUFnQUFBQUFBQUFBQUFBQkFnQ0FBZ0NnQUFCQUFIQUFnQWdJQUFnRUFBRVNDQUR6S0J3Q0FBTUFFQUJBQWdBQUFBQUlDQUNBQUFFQUFBQUJDQUFBQUFBQVVBQUFBQUFBQUFBQUFBQUFBQXdoQUFBQUFBQUFBQUFBQUFBSUFBQUNnQXdBQUFBQUJBRUFRQUJqQUFBRWdBQUVBQUFEb0FVQndBQXhTRUFBQUFBQUFBQUFBQUFBQUNFQ0NZQzRrb0NDQUFBQUFBQUFBQUFBQUFBQUFBRWhKSnhZMi9kPTAvZGc9MC9icj0xL3JzPUFDVDkwb0hZdEwzMVhfYWJvSlRwMk4xQm5lZnRVdXBXR2cvbT1zeWdiLGFMVWZQP3hqcz1zNCJ9LCB7Im5hbWUiOiAiOnNjaGVtZSIsICJ2YWx1ZSI6ICJodHRwcyJ9LCB7Im5hbWUiOiAiYWNjZXB0IiwgInZhbHVlIjogIiovKiJ9LCB7Im5hbWUiOiAiYWNjZXB0LWVuY29kaW5nIiwgInZhbHVlIjogImd6aXAsIGRlZmxhdGUsIGJyLCB6c3RkIn0sIHsibmFtZSI6ICJhY2NlcHQtbGFuZ3VhZ2UiLCAidmFsdWUiOiAiZW4tVVMsZW47cT0wLjkifSwgeyJuYW1lIjogImNvb2tpZSIsICJ2YWx1ZSI6ICJBRUM9QVZZQjdjcmF2OTRZTS1mZko2U2ppNFE3ekxtV2ktQmE0R29iSl85ck9RZzlqSHlvdTBvNnVFcFdYcjg7IF9fU2VjdXJlLUVOSUQ9MjEuU0U9UUVLWVNEUWZQcUJxN2dVanl6X0FuT2JneGoySlAwNm1YelpkbzJkMHNBQ0tnak1VVVpfSkdNZVJYSmRodldjOFlZWEJud1lyejJLbHlES25RclloSHd3VnhqSUVfRlZXLVRZbVIydHh6ZGk3alVfZkVZU3N5ZXJzcm4xNWswWmgweVpuc1BzZUo4SVVObDhJUFdHdHJSM2ZwdVphOF9CUlZFdTZ3X3ZYNE5LSWlTT0dyQnI3NFBEYmhaNG9xY0tSQUhNQ3lRcWFoVXV2c2h6eEY2emIxZ1MzT2R0cmtwTmhZdEJISmdwbXlwTTVMTzVScHBnIn0sIHsibmFtZSI6ICJyZWZlcmVyIiwgInZhbHVlIjogImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEiLCAidmFsdWUiOiAiXCJDaHJvbWl1bVwiO3Y9XCIxMjdcIiwgXCJOb3QpQTtCcmFuZFwiO3Y9XCI5OVwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtYXJjaCIsICJ2YWx1ZSI6ICJcIng2NFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtYml0bmVzcyIsICJ2YWx1ZSI6ICJcIjY0XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1mdWxsLXZlcnNpb24iLCAidmFsdWUiOiAiXCIxMjcuMC42NTMzLjE3XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1mdWxsLXZlcnNpb24tbGlzdCIsICJ2YWx1ZSI6ICJcIkNocm9taXVtXCI7dj1cIjEyNy4wLjY1MzMuMTdcIiwgXCJOb3QpQTtCcmFuZFwiO3Y9XCI5OS4wLjAuMFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtbW9iaWxlIiwgInZhbHVlIjogIj8wIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtbW9kZWwiLCAidmFsdWUiOiAiXCJcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXBsYXRmb3JtIiwgInZhbHVlIjogIlwiV2luZG93c1wiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtcGxhdGZvcm0tdmVyc2lvbiIsICJ2YWx1ZSI6ICJcIjEwLjBcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXdvdzY0IiwgInZhbHVlIjogIj8wIn0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtZGVzdCIsICJ2YWx1ZSI6ICJzY3JpcHQifSwgeyJuYW1lIjogInNlYy1mZXRjaC1tb2RlIiwgInZhbHVlIjogIm5vLWNvcnMifSwgeyJuYW1lIjogInNlYy1mZXRjaC1zaXRlIiwgInZhbHVlIjogInNhbWUtb3JpZ2luIn0sIHsibmFtZSI6ICJ1c2VyLWFnZW50IiwgInZhbHVlIjogIk1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IFdpbjY0OyB4NjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS8xMjcuMC42NTMzLjE3IFNhZmFyaS81MzcuMzYifV0sICJxdWVyeVN0cmluZyI6IFt7Im5hbWUiOiAieGpzIiwgInZhbHVlIjogInM0In1dLCAiaGVhZGVyc1NpemUiOiAxODYwLCAiYm9keVNpemUiOiAwfSwgInJlc3BvbnNlIjogeyJzdGF0dXMiOiAyMDAsICJzdGF0dXNUZXh0IjogIiIsICJodHRwVmVyc2lvbiI6ICJoMyIsICJjb29raWVzIjogW10sICJoZWFkZXJzIjogW3sibmFtZSI6ICJhY2NlcHQtcmFuZ2VzIiwgInZhbHVlIjogImJ5dGVzIn0sIHsibmFtZSI6ICJhZ2UiLCAidmFsdWUiOiAiNDM5ODMifSwgeyJuYW1lIjogImFsdC1zdmMiLCAidmFsdWUiOiAiaDM9XCI6NDQzXCI7IG1hPTI1OTIwMDAsaDMtMjk9XCI6NDQzXCI7IG1hPTI1OTIwMDAifSwgeyJuYW1lIjogImNhY2hlLWNvbnRyb2wiLCAidmFsdWUiOiAicHVibGljLCBpbW11dGFibGUsIG1heC1hZ2U9MzE1MzYwMDAifSwgeyJuYW1lIjogImNvbnRlbnQtZW5jb2RpbmciLCAidmFsdWUiOiAiYnIifSwgeyJuYW1lIjogImNvbnRlbnQtbGVuZ3RoIiwgInZhbHVlIjogIjYzNCJ9LCB7Im5hbWUiOiAiY29udGVudC1zZWN1cml0eS1wb2xpY3ktcmVwb3J0LW9ubHkiLCAidmFsdWUiOiAicmVxdWlyZS10cnVzdGVkLXR5cGVzLWZvciAnc2NyaXB0JzsgcmVwb3J0LXVyaSBodHRwczovL2NzcC53aXRoZ29vZ2xlLmNvbS9jc3AvZ3dzLXRlYW0ifSwgeyJuYW1lIjogImNvbnRlbnQtdHlwZSIsICJ2YWx1ZSI6ICJ0ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9VVRGLTgifSwgeyJuYW1lIjogImNyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5IiwgInZhbHVlIjogInNhbWUtb3JpZ2luOyByZXBvcnQtdG89XCJnd3MtdGVhbVwiIn0sIHsibmFtZSI6ICJjcm9zcy1vcmlnaW4tcmVzb3VyY2UtcG9saWN5IiwgInZhbHVlIjogImNyb3NzLW9yaWdpbiJ9LCB7Im5hbWUiOiAiZGF0ZSIsICJ2YWx1ZSI6ICJUaHUsIDAxIEF1ZyAyMDI0IDAwOjIwOjA5IEdNVCJ9LCB7Im5hbWUiOiAiZXhwaXJlcyIsICJ2YWx1ZSI6ICJGcmksIDAxIEF1ZyAyMDI1IDAwOjIwOjA5IEdNVCJ9LCB7Im5hbWUiOiAibGFzdC1tb2RpZmllZCIsICJ2YWx1ZSI6ICJXZWQsIDMxIEp1bCAyMDI0IDIzOjI1OjM2IEdNVCJ9LCB7Im5hbWUiOiAicmVwb3J0LXRvIiwgInZhbHVlIjogIntcImdyb3VwXCI6XCJnd3MtdGVhbVwiLFwibWF4X2FnZVwiOjI1OTIwMDAsXCJlbmRwb2ludHNcIjpbe1widXJsXCI6XCJodHRwczovL2NzcC53aXRoZ29vZ2xlLmNvbS9jc3AvcmVwb3J0LXRvL2d3cy10ZWFtXCJ9XX0ifSwgeyJuYW1lIjogInNlcnZlciIsICJ2YWx1ZSI6ICJzZmZlIn0sIHsibmFtZSI6ICJ2YXJ5IiwgInZhbHVlIjogIkFjY2VwdC1FbmNvZGluZywgT3JpZ2luIn0sIHsibmFtZSI6ICJ4LWNvbnRlbnQtdHlwZS1vcHRpb25zIiwgInZhbHVlIjogIm5vc25pZmYifSwgeyJuYW1lIjogIngteHNzLXByb3RlY3Rpb24iLCAidmFsdWUiOiAiMCJ9XSwgImNvbnRlbnQiOiB7InNpemUiOiAxNTczLCAibWltZVR5cGUiOiAidGV4dC9qYXZhc2NyaXB0OyBjaGFyc2V0PVVURi04IiwgImNvbXByZXNzaW9uIjogOTA3LCAidGV4dCI6ICJ0aGlzLl9oZD10aGlzLl9oZHx8e307KGZ1bmN0aW9uKF8pe3ZhciB3aW5kb3c9dGhpcztcbnRyeXtcbl8udnBiPWZ1bmN0aW9uKGEpe3RoaXMuUHU9YX07XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbnRyeXtcbl8ueChcImFMVWZQXCIpO1xudmFyIHdwYj1mdW5jdGlvbihhKXtfLkRuLmNhbGwodGhpcyxhLk5hKTt2YXIgYj10aGlzO3RoaXMud2luZG93PWEuc2VydmljZS53aW5kb3cuZ2V0KCk7dGhpcy5CYT10aGlzLlB1KCk7dGhpcy5BYT13aW5kb3cub3JpZW50YXRpb247dGhpcy5vYT1mdW5jdGlvbigpe3ZhciBjPWIuUHUoKSxkPWIuQ1phKCkmJk1hdGguYWJzKHdpbmRvdy5vcmllbnRhdGlvbik9PT05MCYmYi5BYT09PS0xKndpbmRvdy5vcmllbnRhdGlvbjtiLkFhPXdpbmRvdy5vcmllbnRhdGlvbjtpZihjIT09Yi5CYXx8ZCl7Yi5CYT1jO2Q9Xy5QYShiLlpkKTtmb3IodmFyIGU9ZC5uZXh0KCk7IWUuZG9uZTtlPWQubmV4dCgpKXtlPWUudmFsdWU7dmFyIGY9bmV3IF8udnBiKGMpO3RyeXtlKGYpfWNhdGNoKGcpe18uY2EoZyl9fX19O3RoaXMuWmQ9bmV3IFNldDt0aGlzLndpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicmVzaXplXCIsdGhpcy5vYSk7dGhpcy5DWmEoKSYmdGhpcy53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcIm9yaWVudGF0aW9uY2hhbmdlXCIsXG50aGlzLm9hKX07Xy5EKHdwYixfLkRuKTt3cGIuV2E9Xy5Ebi5XYTt3cGIuSWE9ZnVuY3Rpb24oKXtyZXR1cm57c2VydmljZTp7d2luZG93Ol8uRW59fX07Xy5tPXdwYi5wcm90b3R5cGU7Xy5tLmFkZExpc3RlbmVyPWZ1bmN0aW9uKGEpe3RoaXMuWmQuYWRkKGEpfTtfLm0ucmVtb3ZlTGlzdGVuZXI9ZnVuY3Rpb24oYSl7dGhpcy5aZC5kZWxldGUoYSl9O1xuXy5tLlB1PWZ1bmN0aW9uKCl7aWYoXy5sYSgpJiZfLmthKCkmJiFuYXZpZ2F0b3IudXNlckFnZW50LmluY2x1ZGVzKFwiR1NBXCIpKXt2YXIgYT1fLnBsKHRoaXMud2luZG93KTthPW5ldyBfLmFsKGEud2lkdGgsTWF0aC5yb3VuZChhLndpZHRoKnRoaXMud2luZG93LmlubmVySGVpZ2h0L3RoaXMud2luZG93LmlubmVyV2lkdGgpKX1lbHNlIGE9dGhpcy5PYygpfHwoXy5sYSgpP18ubGEoKSYmXy5rYSgpJiYhbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmNsdWRlcyhcIkdTQVwiKTp0aGlzLndpbmRvdy52aXN1YWxWaWV3cG9ydCk/Xy5wbCh0aGlzLndpbmRvdyk6bmV3IF8uYWwodGhpcy53aW5kb3cuaW5uZXJXaWR0aCx0aGlzLndpbmRvdy5pbm5lckhlaWdodCk7cmV0dXJuIGEuaGVpZ2h0PGEud2lkdGh9O1xuXy5tLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0aGlzLndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicmVzaXplXCIsdGhpcy5vYSk7dGhpcy53aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm9yaWVudGF0aW9uY2hhbmdlXCIsdGhpcy5vYSl9O18ubS5PYz1mdW5jdGlvbigpe3JldHVybiBfLnhwYn07Xy5tLkNaYT1mdW5jdGlvbigpe3JldHVyblwib3JpZW50YXRpb25cImluIHdpbmRvd307Xy54cGI9ITE7Xy5GbihfLmFTYSx3cGIpO1xuXy54cGI9ITA7XG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxufSkodGhpcy5faGQpO1xuLy8gR29vZ2xlIEluYy5cbiJ9LCAiaGVhZGVyc1NpemUiOiAwLCAiYm9keVNpemUiOiA2NjYsICJyZWRpcmVjdFVSTCI6ICIiLCAiX3RyYW5zZmVyU2l6ZSI6IDY2Nn0sICJjYWNoZSI6IHt9LCAidGltaW5ncyI6IHsiZG5zIjogLTEsICJjb25uZWN0IjogLTEsICJzc2wiOiAtMSwgInNlbmQiOiAwLCAid2FpdCI6IDE3LjQ3NywgInJlY2VpdmUiOiA4fSwgInBhZ2VyZWYiOiAicGFnZUAyZTdhY2U5NTVhNjc3M2VjZmQyZTk4ZWYyZmRjYjcwNCIsICJzZXJ2ZXJJUEFkZHJlc3MiOiAiWzJhMDA6MTQ1MDo0MDAxOjgwODo6MjAwNF0iLCAiX3NlcnZlclBvcnQiOiA0NDMsICJfc2VjdXJpdHlEZXRhaWxzIjogeyJwcm90b2NvbCI6ICJRVUlDIiwgInN1YmplY3ROYW1lIjogIiouZ29vZ2xlLmNvbSIsICJpc3N1ZXIiOiAiV1IyIiwgInZhbGlkRnJvbSI6IDE3MjIzNDI3NzMsICJ2YWxpZFRvIjogMTcyOTYwMDM3Mn19LCB7InN0YXJ0ZWREYXRlVGltZSI6ICIyMDI0LTA4LTAxVDEyOjMzOjEyLjIzOFoiLCAidGltZSI6IDMyLjIxNiwgInJlcXVlc3QiOiB7Im1ldGhvZCI6ICJQT1NUIiwgInVybCI6ICJodHRwczovL3d3dy5nb29nbGUuY29tL2dlbl8yMDQ/YXR5cD1jc2kmZWk9aUlDclp2cXhDSkxpN19VUGhLcUVlQSZzPWFzeW5jJmFzdHlwPWhwYmEmaW1hPTAmaW1uPTAmbWVtPXVqaHMuOCx0amhzLjEwLGpoc2wuNDI5NSxkbS44Jm52PW5lLjEsZmVpZC5hNjdlOGJiNS01OTllLTQ2NjEtOGM3ZC0yYjUxMzMxZWE0MDYmaHA9JnJ0PXR0ZmIuMTI4LHN0LjEyOSxicy4yNyxhYWZ0LjEzMSxhY3J0LjEzMixhcnQuMTMzJnp4PTE3MjI1MTU1OTIyMzEmb3BpPTg5OTc4NDQ5IiwgImh0dHBWZXJzaW9uIjogImgzIiwgImNvb2tpZXMiOiBbeyJuYW1lIjogIkFFQyIsICJ2YWx1ZSI6ICJBVllCN2NyYXY5NFlNLWZmSjZTamk0UTd6TG1XaS1CYTRHb2JKXzlyT1FnOWpIeW91MG82dUVwV1hyOCJ9LCB7Im5hbWUiOiAiX19TZWN1cmUtRU5JRCIsICJ2YWx1ZSI6ICIyMS5TRT1hZW1iYkJYX2lUNFpZaDR5bHNPcWFfamVybWM1WmRVZHppOWtKaHlOTHRXckoyXy1PR0J3eWJoTUlVZFhISFBweHZ2Q3MyNVpjcDNsczM2OFRQSF9qaklGZDZiVFJoaEJub1dOUndNUFpQSVE4YWpJQm0wUzRiRHpsVmJMTnNFdGZRaUp4OTJWUldUNWVYMlFZYXA1ZkJ3Q0JYSmtuNmVvSEJ0YjZfUXlNcWFXa1JIbEN6MWtGSnhiYVJNSXJUQk1INVlkVW5LbHI4aU5iQjlwMno3MURLbFpnUVRpYUsxZHRYSDRZVXRfIn1dLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiOmF1dGhvcml0eSIsICJ2YWx1ZSI6ICJ3d3cuZ29vZ2xlLmNvbSJ9LCB7Im5hbWUiOiAiOm1ldGhvZCIsICJ2YWx1ZSI6ICJQT1NUIn0sIHsibmFtZSI6ICI6cGF0aCIsICJ2YWx1ZSI6ICIvZ2VuXzIwND9hdHlwPWNzaSZlaT1pSUNyWnZxeENKTGk3X1VQaEtxRWVBJnM9YXN5bmMmYXN0eXA9aHBiYSZpbWE9MCZpbW49MCZtZW09dWpocy44LHRqaHMuMTAsamhzbC40Mjk1LGRtLjgmbnY9bmUuMSxmZWlkLmE2N2U4YmI1LTU5OWUtNDY2MS04YzdkLTJiNTEzMzFlYTQwNiZocD0mcnQ9dHRmYi4xMjgsc3QuMTI5LGJzLjI3LGFhZnQuMTMxLGFjcnQuMTMyLGFydC4xMzMmeng9MTcyMjUxNTU5MjIzMSZvcGk9ODk5Nzg0NDkifSwgeyJuYW1lIjogIjpzY2hlbWUiLCAidmFsdWUiOiAiaHR0cHMifSwgeyJuYW1lIjogImFjY2VwdCIsICJ2YWx1ZSI6ICIqLyoifSwgeyJuYW1lIjogImFjY2VwdC1lbmNvZGluZyIsICJ2YWx1ZSI6ICJnemlwLCBkZWZsYXRlLCBiciwgenN0ZCJ9LCB7Im5hbWUiOiAiYWNjZXB0LWxhbmd1YWdlIiwgInZhbHVlIjogImVuLVVTLGVuO3E9MC45In0sIHsibmFtZSI6ICJjb250ZW50LWxlbmd0aCIsICJ2YWx1ZSI6ICIwIn0sIHsibmFtZSI6ICJjb29raWUiLCAidmFsdWUiOiAiQUVDPUFWWUI3Y3Jhdjk0WU0tZmZKNlNqaTRRN3pMbVdpLUJhNEdvYkpfOXJPUWc5akh5b3UwbzZ1RXBXWHI4OyBfX1NlY3VyZS1FTklEPTIxLlNFPWFlbWJiQlhfaVQ0WlloNHlsc09xYV9qZXJtYzVaZFVkemk5a0poeU5MdFdySjJfLU9HQnd5YmhNSVVkWEhIUHB4dnZDczI1WmNwM2xzMzY4VFBIX2pqSUZkNmJUUmhoQm5vV05Sd01QWlBJUThhaklCbTBTNGJEemxWYkxOc0V0ZlFpSng5MlZSV1Q1ZVgyUVlhcDVmQndDQlhKa242ZW9IQnRiNl9ReU1xYVdrUkhsQ3oxa0ZKeGJhUk1JclRCTUg1WWRVbktscjhpTmJCOXAyejcxREtsWmdRVGlhSzFkdFhINFlVdF8ifSwgeyJuYW1lIjogIm9yaWdpbiIsICJ2YWx1ZSI6ICJodHRwczovL3d3dy5nb29nbGUuY29tIn0sIHsibmFtZSI6ICJwcmlvcml0eSIsICJ2YWx1ZSI6ICJ1PTQsIGkifSwgeyJuYW1lIjogInJlZmVyZXIiLCAidmFsdWUiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8ifSwgeyJuYW1lIjogInNlYy1jaC11YSIsICJ2YWx1ZSI6ICJcIkNocm9taXVtXCI7dj1cIjEyN1wiLCBcIk5vdClBO0JyYW5kXCI7dj1cIjk5XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1hcmNoIiwgInZhbHVlIjogIlwieDY0XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1iaXRuZXNzIiwgInZhbHVlIjogIlwiNjRcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLWZ1bGwtdmVyc2lvbiIsICJ2YWx1ZSI6ICJcIjEyNy4wLjY1MzMuMTdcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLWZ1bGwtdmVyc2lvbi1saXN0IiwgInZhbHVlIjogIlwiQ2hyb21pdW1cIjt2PVwiMTI3LjAuNjUzMy4xN1wiLCBcIk5vdClBO0JyYW5kXCI7dj1cIjk5LjAuMC4wXCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1tb2JpbGUiLCAidmFsdWUiOiAiPzAifSwgeyJuYW1lIjogInNlYy1jaC11YS1tb2RlbCIsICJ2YWx1ZSI6ICJcIlwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtcGxhdGZvcm0iLCAidmFsdWUiOiAiXCJXaW5kb3dzXCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1wbGF0Zm9ybS12ZXJzaW9uIiwgInZhbHVlIjogIlwiMTAuMFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtd293NjQiLCAidmFsdWUiOiAiPzAifSwgeyJuYW1lIjogInNlYy1mZXRjaC1kZXN0IiwgInZhbHVlIjogImVtcHR5In0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtbW9kZSIsICJ2YWx1ZSI6ICJuby1jb3JzIn0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtc2l0ZSIsICJ2YWx1ZSI6ICJzYW1lLW9yaWdpbiJ9LCB7Im5hbWUiOiAidXNlci1hZ2VudCIsICJ2YWx1ZSI6ICJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTI3LjAuNjUzMy4xNyBTYWZhcmkvNTM3LjM2In1dLCAicXVlcnlTdHJpbmciOiBbeyJuYW1lIjogImF0eXAiLCAidmFsdWUiOiAiY3NpIn0sIHsibmFtZSI6ICJlaSIsICJ2YWx1ZSI6ICJpSUNyWnZxeENKTGk3X1VQaEtxRWVBIn0sIHsibmFtZSI6ICJzIiwgInZhbHVlIjogImFzeW5jIn0sIHsibmFtZSI6ICJhc3R5cCIsICJ2YWx1ZSI6ICJocGJhIn0sIHsibmFtZSI6ICJpbWEiLCAidmFsdWUiOiAiMCJ9LCB7Im5hbWUiOiAiaW1uIiwgInZhbHVlIjogIjAifSwgeyJuYW1lIjogIm1lbSIsICJ2YWx1ZSI6ICJ1amhzLjgsdGpocy4xMCxqaHNsLjQyOTUsZG0uOCJ9LCB7Im5hbWUiOiAibnYiLCAidmFsdWUiOiAibmUuMSxmZWlkLmE2N2U4YmI1LTU5OWUtNDY2MS04YzdkLTJiNTEzMzFlYTQwNiJ9LCB7Im5hbWUiOiAiaHAiLCAidmFsdWUiOiAiIn0sIHsibmFtZSI6ICJydCIsICJ2YWx1ZSI6ICJ0dGZiLjEyOCxzdC4xMjksYnMuMjcsYWFmdC4xMzEsYWNydC4xMzIsYXJ0LjEzMyJ9LCB7Im5hbWUiOiAiengiLCAidmFsdWUiOiAiMTcyMjUxNTU5MjIzMSJ9LCB7Im5hbWUiOiAib3BpIiwgInZhbHVlIjogIjg5OTc4NDQ5In1dLCAiaGVhZGVyc1NpemUiOiAxNDE5LCAiYm9keVNpemUiOiAwfSwgInJlc3BvbnNlIjogeyJzdGF0dXMiOiAyMDQsICJzdGF0dXNUZXh0IjogIiIsICJodHRwVmVyc2lvbiI6ICJoMyIsICJjb29raWVzIjogW10sICJoZWFkZXJzIjogW3sibmFtZSI6ICJhbHQtc3ZjIiwgInZhbHVlIjogImgzPVwiOjQ0M1wiOyBtYT0yNTkyMDAwLGgzLTI5PVwiOjQ0M1wiOyBtYT0yNTkyMDAwIn0sIHsibmFtZSI6ICJjb250ZW50LWxlbmd0aCIsICJ2YWx1ZSI6ICIwIn0sIHsibmFtZSI6ICJjb250ZW50LXNlY3VyaXR5LXBvbGljeSIsICJ2YWx1ZSI6ICJvYmplY3Qtc3JjICdub25lJztiYXNlLXVyaSAnc2VsZic7c2NyaXB0LXNyYyAnbm9uY2UteC1pN1VCa09DR29Rc2RyaXQtaUJrdycgJ3N0cmljdC1keW5hbWljJyAncmVwb3J0LXNhbXBsZScgJ3Vuc2FmZS1ldmFsJyAndW5zYWZlLWlubGluZScgaHR0cHM6IGh0dHA6O3JlcG9ydC11cmkgaHR0cHM6Ly9jc3Aud2l0aGdvb2dsZS5jb20vY3NwL2d3cy9vdGhlciJ9LCB7Im5hbWUiOiAiY29udGVudC10eXBlIiwgInZhbHVlIjogInRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCJ9LCB7Im5hbWUiOiAiY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kiLCAidmFsdWUiOiAic2FtZS1vcmlnaW4tYWxsb3ctcG9wdXBzOyByZXBvcnQtdG89XCJnd3NcIiJ9LCB7Im5hbWUiOiAiZGF0ZSIsICJ2YWx1ZSI6ICJUaHUsIDAxIEF1ZyAyMDI0IDEyOjMzOjEyIEdNVCJ9LCB7Im5hbWUiOiAicGVybWlzc2lvbnMtcG9saWN5IiwgInZhbHVlIjogInVubG9hZD0oKSJ9LCB7Im5hbWUiOiAicmVwb3J0LXRvIiwgInZhbHVlIjogIntcImdyb3VwXCI6XCJnd3NcIixcIm1heF9hZ2VcIjoyNTkyMDAwLFwiZW5kcG9pbnRzXCI6W3tcInVybFwiOlwiaHR0cHM6Ly9jc3Aud2l0aGdvb2dsZS5jb20vY3NwL3JlcG9ydC10by9nd3Mvb3RoZXJcIn1dfSJ9LCB7Im5hbWUiOiAic2VydmVyIiwgInZhbHVlIjogImd3cyJ9LCB7Im5hbWUiOiAieC1mcmFtZS1vcHRpb25zIiwgInZhbHVlIjogIlNBTUVPUklHSU4ifSwgeyJuYW1lIjogIngteHNzLXByb3RlY3Rpb24iLCAidmFsdWUiOiAiMCJ9XSwgImNvbnRlbnQiOiB7InNpemUiOiAwLCAibWltZVR5cGUiOiAidGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiwgImNvbXByZXNzaW9uIjogMCwgInRleHQiOiAiIn0sICJoZWFkZXJzU2l6ZSI6IDAsICJib2R5U2l6ZSI6IDI1LCAicmVkaXJlY3RVUkwiOiAiIiwgIl90cmFuc2ZlclNpemUiOiAyNX0sICJjYWNoZSI6IHt9LCAidGltaW5ncyI6IHsiZG5zIjogLTEsICJjb25uZWN0IjogLTEsICJzc2wiOiAtMSwgInNlbmQiOiAwLCAid2FpdCI6IDMwLjAyMywgInJlY2VpdmUiOiAyLjE5M30sICJwYWdlcmVmIjogInBhZ2VAMmU3YWNlOTU1YTY3NzNlY2ZkMmU5OGVmMmZkY2I3MDQiLCAic2VydmVySVBBZGRyZXNzIjogIlsyYTAwOjE0NTA6NDAwMTo4MDg6OjIwMDRdIiwgIl9zZXJ2ZXJQb3J0IjogNDQzLCAiX3NlY3VyaXR5RGV0YWlscyI6IHsicHJvdG9jb2wiOiAiUVVJQyIsICJzdWJqZWN0TmFtZSI6ICIqLmdvb2dsZS5jb20iLCAiaXNzdWVyIjogIldSMiIsICJ2YWxpZEZyb20iOiAxNzIyMzQyNzczLCAidmFsaWRUbyI6IDE3Mjk2MDAzNzJ9fSwgeyJzdGFydGVkRGF0ZVRpbWUiOiAiMjAyNC0wOC0wMVQxMjozMzoxMi4yMzlaIiwgInRpbWUiOiAzMi42ODgsICJyZXF1ZXN0IjogeyJtZXRob2QiOiAiUE9TVCIsICJ1cmwiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9nZW5fMjA0P2F0eXA9Y3NpJmVpPWg0Q3JadnlMQzVPZmktZ1Bfb3FKLVF3JnM9cHJvbW8mcnQ9aHBiYXMuNzUxLGhwYmFyci4xMzcmeng9MTcyMjUxNTU5MjIzMiZvcGk9ODk5Nzg0NDkiLCAiaHR0cFZlcnNpb24iOiAiaDMiLCAiY29va2llcyI6IFt7Im5hbWUiOiAiQUVDIiwgInZhbHVlIjogIkFWWUI3Y3Jhdjk0WU0tZmZKNlNqaTRRN3pMbVdpLUJhNEdvYkpfOXJPUWc5akh5b3UwbzZ1RXBXWHI4In0sIHsibmFtZSI6ICJfX1NlY3VyZS1FTklEIiwgInZhbHVlIjogIjIxLlNFPWFlbWJiQlhfaVQ0WlloNHlsc09xYV9qZXJtYzVaZFVkemk5a0poeU5MdFdySjJfLU9HQnd5YmhNSVVkWEhIUHB4dnZDczI1WmNwM2xzMzY4VFBIX2pqSUZkNmJUUmhoQm5vV05Sd01QWlBJUThhaklCbTBTNGJEemxWYkxOc0V0ZlFpSng5MlZSV1Q1ZVgyUVlhcDVmQndDQlhKa242ZW9IQnRiNl9ReU1xYVdrUkhsQ3oxa0ZKeGJhUk1JclRCTUg1WWRVbktscjhpTmJCOXAyejcxREtsWmdRVGlhSzFkdFhINFlVdF8ifV0sICJoZWFkZXJzIjogW3sibmFtZSI6ICI6YXV0aG9yaXR5IiwgInZhbHVlIjogInd3dy5nb29nbGUuY29tIn0sIHsibmFtZSI6ICI6bWV0aG9kIiwgInZhbHVlIjogIlBPU1QifSwgeyJuYW1lIjogIjpwYXRoIiwgInZhbHVlIjogIi9nZW5fMjA0P2F0eXA9Y3NpJmVpPWg0Q3JadnlMQzVPZmktZ1Bfb3FKLVF3JnM9cHJvbW8mcnQ9aHBiYXMuNzUxLGhwYmFyci4xMzcmeng9MTcyMjUxNTU5MjIzMiZvcGk9ODk5Nzg0NDkifSwgeyJuYW1lIjogIjpzY2hlbWUiLCAidmFsdWUiOiAiaHR0cHMifSwgeyJuYW1lIjogImFjY2VwdCIsICJ2YWx1ZSI6ICIqLyoifSwgeyJuYW1lIjogImFjY2VwdC1lbmNvZGluZyIsICJ2YWx1ZSI6ICJnemlwLCBkZWZsYXRlLCBiciwgenN0ZCJ9LCB7Im5hbWUiOiAiYWNjZXB0LWxhbmd1YWdlIiwgInZhbHVlIjogImVuLVVTLGVuO3E9MC45In0sIHsibmFtZSI6ICJjb250ZW50LWxlbmd0aCIsICJ2YWx1ZSI6ICIwIn0sIHsibmFtZSI6ICJjb29raWUiLCAidmFsdWUiOiAiQUVDPUFWWUI3Y3Jhdjk0WU0tZmZKNlNqaTRRN3pMbVdpLUJhNEdvYkpfOXJPUWc5akh5b3UwbzZ1RXBXWHI4OyBfX1NlY3VyZS1FTklEPTIxLlNFPWFlbWJiQlhfaVQ0WlloNHlsc09xYV9qZXJtYzVaZFVkemk5a0poeU5MdFdySjJfLU9HQnd5YmhNSVVkWEhIUHB4dnZDczI1WmNwM2xzMzY4VFBIX2pqSUZkNmJUUmhoQm5vV05Sd01QWlBJUThhaklCbTBTNGJEemxWYkxOc0V0ZlFpSng5MlZSV1Q1ZVgyUVlhcDVmQndDQlhKa242ZW9IQnRiNl9ReU1xYVdrUkhsQ3oxa0ZKeGJhUk1JclRCTUg1WWRVbktscjhpTmJCOXAyejcxREtsWmdRVGlhSzFkdFhINFlVdF8ifSwgeyJuYW1lIjogIm9yaWdpbiIsICJ2YWx1ZSI6ICJodHRwczovL3d3dy5nb29nbGUuY29tIn0sIHsibmFtZSI6ICJwcmlvcml0eSIsICJ2YWx1ZSI6ICJ1PTQsIGkifSwgeyJuYW1lIjogInJlZmVyZXIiLCAidmFsdWUiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8ifSwgeyJuYW1lIjogInNlYy1jaC11YSIsICJ2YWx1ZSI6ICJcIkNocm9taXVtXCI7dj1cIjEyN1wiLCBcIk5vdClBO0JyYW5kXCI7dj1cIjk5XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1hcmNoIiwgInZhbHVlIjogIlwieDY0XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1iaXRuZXNzIiwgInZhbHVlIjogIlwiNjRcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLWZ1bGwtdmVyc2lvbiIsICJ2YWx1ZSI6ICJcIjEyNy4wLjY1MzMuMTdcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLWZ1bGwtdmVyc2lvbi1saXN0IiwgInZhbHVlIjogIlwiQ2hyb21pdW1cIjt2PVwiMTI3LjAuNjUzMy4xN1wiLCBcIk5vdClBO0JyYW5kXCI7dj1cIjk5LjAuMC4wXCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1tb2JpbGUiLCAidmFsdWUiOiAiPzAifSwgeyJuYW1lIjogInNlYy1jaC11YS1tb2RlbCIsICJ2YWx1ZSI6ICJcIlwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtcGxhdGZvcm0iLCAidmFsdWUiOiAiXCJXaW5kb3dzXCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1wbGF0Zm9ybS12ZXJzaW9uIiwgInZhbHVlIjogIlwiMTAuMFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtd293NjQiLCAidmFsdWUiOiAiPzAifSwgeyJuYW1lIjogInNlYy1mZXRjaC1kZXN0IiwgInZhbHVlIjogImVtcHR5In0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtbW9kZSIsICJ2YWx1ZSI6ICJuby1jb3JzIn0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtc2l0ZSIsICJ2YWx1ZSI6ICJzYW1lLW9yaWdpbiJ9LCB7Im5hbWUiOiAidXNlci1hZ2VudCIsICJ2YWx1ZSI6ICJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTI3LjAuNjUzMy4xNyBTYWZhcmkvNTM3LjM2In1dLCAicXVlcnlTdHJpbmciOiBbeyJuYW1lIjogImF0eXAiLCAidmFsdWUiOiAiY3NpIn0sIHsibmFtZSI6ICJlaSIsICJ2YWx1ZSI6ICJoNENyWnZ5TEM1T2ZpLWdQX29xSi1RdyJ9LCB7Im5hbWUiOiAicyIsICJ2YWx1ZSI6ICJwcm9tbyJ9LCB7Im5hbWUiOiAicnQiLCAidmFsdWUiOiAiaHBiYXMuNzUxLGhwYmFyci4xMzcifSwgeyJuYW1lIjogInp4IiwgInZhbHVlIjogIjE3MjI1MTU1OTIyMzIifSwgeyJuYW1lIjogIm9waSIsICJ2YWx1ZSI6ICI4OTk3ODQ0OSJ9XSwgImhlYWRlcnNTaXplIjogMTI4MiwgImJvZHlTaXplIjogMH0sICJyZXNwb25zZSI6IHsic3RhdHVzIjogMjA0LCAic3RhdHVzVGV4dCI6ICIiLCAiaHR0cFZlcnNpb24iOiAiaDMiLCAiY29va2llcyI6IFtdLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiYWx0LXN2YyIsICJ2YWx1ZSI6ICJoMz1cIjo0NDNcIjsgbWE9MjU5MjAwMCxoMy0yOT1cIjo0NDNcIjsgbWE9MjU5MjAwMCJ9LCB7Im5hbWUiOiAiY29udGVudC1sZW5ndGgiLCAidmFsdWUiOiAiMCJ9LCB7Im5hbWUiOiAiY29udGVudC1zZWN1cml0eS1wb2xpY3kiLCAidmFsdWUiOiAib2JqZWN0LXNyYyAnbm9uZSc7YmFzZS11cmkgJ3NlbGYnO3NjcmlwdC1zcmMgJ25vbmNlLW43aFBxOXNCNjFCVkhyT2habE8wVWcnICdzdHJpY3QtZHluYW1pYycgJ3JlcG9ydC1zYW1wbGUnICd1bnNhZmUtZXZhbCcgJ3Vuc2FmZS1pbmxpbmUnIGh0dHBzOiBodHRwOjtyZXBvcnQtdXJpIGh0dHBzOi8vY3NwLndpdGhnb29nbGUuY29tL2NzcC9nd3Mvb3RoZXIifSwgeyJuYW1lIjogImNvbnRlbnQtdHlwZSIsICJ2YWx1ZSI6ICJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgifSwgeyJuYW1lIjogImNyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5IiwgInZhbHVlIjogInNhbWUtb3JpZ2luLWFsbG93LXBvcHVwczsgcmVwb3J0LXRvPVwiZ3dzXCIifSwgeyJuYW1lIjogImRhdGUiLCAidmFsdWUiOiAiVGh1LCAwMSBBdWcgMjAyNCAxMjozMzoxMiBHTVQifSwgeyJuYW1lIjogInBlcm1pc3Npb25zLXBvbGljeSIsICJ2YWx1ZSI6ICJ1bmxvYWQ9KCkifSwgeyJuYW1lIjogInJlcG9ydC10byIsICJ2YWx1ZSI6ICJ7XCJncm91cFwiOlwiZ3dzXCIsXCJtYXhfYWdlXCI6MjU5MjAwMCxcImVuZHBvaW50c1wiOlt7XCJ1cmxcIjpcImh0dHBzOi8vY3NwLndpdGhnb29nbGUuY29tL2NzcC9yZXBvcnQtdG8vZ3dzL290aGVyXCJ9XX0ifSwgeyJuYW1lIjogInNlcnZlciIsICJ2YWx1ZSI6ICJnd3MifSwgeyJuYW1lIjogIngtZnJhbWUtb3B0aW9ucyIsICJ2YWx1ZSI6ICJTQU1FT1JJR0lOIn0sIHsibmFtZSI6ICJ4LXhzcy1wcm90ZWN0aW9uIiwgInZhbHVlIjogIjAifV0sICJjb250ZW50IjogeyJzaXplIjogMCwgIm1pbWVUeXBlIjogInRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIsICJjb21wcmVzc2lvbiI6IDAsICJ0ZXh0IjogIiJ9LCAiaGVhZGVyc1NpemUiOiAwLCAiYm9keVNpemUiOiAyNSwgInJlZGlyZWN0VVJMIjogIiIsICJfdHJhbnNmZXJTaXplIjogMjV9LCAiY2FjaGUiOiB7fSwgInRpbWluZ3MiOiB7ImRucyI6IC0xLCAiY29ubmVjdCI6IC0xLCAic3NsIjogLTEsICJzZW5kIjogMCwgIndhaXQiOiAzMC4xMjgsICJyZWNlaXZlIjogMi41Nn0sICJwYWdlcmVmIjogInBhZ2VAMmU3YWNlOTU1YTY3NzNlY2ZkMmU5OGVmMmZkY2I3MDQiLCAic2VydmVySVBBZGRyZXNzIjogIlsyYTAwOjE0NTA6NDAwMTo4MDg6OjIwMDRdIiwgIl9zZXJ2ZXJQb3J0IjogNDQzLCAiX3NlY3VyaXR5RGV0YWlscyI6IHsicHJvdG9jb2wiOiAiUVVJQyIsICJzdWJqZWN0TmFtZSI6ICIqLmdvb2dsZS5jb20iLCAiaXNzdWVyIjogIldSMiIsICJ2YWxpZEZyb20iOiAxNzIyMzQyNzczLCAidmFsaWRUbyI6IDE3Mjk2MDAzNzJ9fSwgeyJzdGFydGVkRGF0ZVRpbWUiOiAiMjAyNC0wOC0wMVQxMjozMzoxMi4yNDZaIiwgInRpbWUiOiAyMi44NjIsICJyZXF1ZXN0IjogeyJtZXRob2QiOiAiR0VUIiwgInVybCI6ICJodHRwczovL3d3dy5nb29nbGUuY29tL3hqcy9fL2pzL2s9eGpzLmhkLmVuLnpIQUx3blI4M3FFLk8vYW09QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFoQUFVQUFDQUFnQUFBQUFBQUFBQUFBQkFnQ0FBZ0NnQUFCQUFIQUFnQWdJQUFnRUFBRVNDQUR6S0J3Q0FBTUFFQUJBQWdBQUFBQUlDQUNBQUFFQUFBQUJDQUFBQUFBQVVBQUFBQUFBQUFBQUFBQUFBQXdoQUFBQUFBQUFBQUFBQUFBSUFBQUNnQXdBQUFBQUJBRUFRQUJqQUFBRWdBQUVBQUFEb0FVQndBQXhTRUFBQUFBQUFBQUFBQUFBQUNFQ0NZQzRrb0NDQUFBQUFBQUFBQUFBQUFBQUFBRWhKSnhZMi9kPTAvZGc9MC9icj0xL3JzPUFDVDkwb0hZdEwzMVhfYWJvSlRwMk4xQm5lZnRVdXBXR2cvbT1rTUZwSGQsc3k5MCxibTUxdGY/eGpzPXM0IiwgImh0dHBWZXJzaW9uIjogImgzIiwgImNvb2tpZXMiOiBbeyJuYW1lIjogIkFFQyIsICJ2YWx1ZSI6ICJBVllCN2NyYXY5NFlNLWZmSjZTamk0UTd6TG1XaS1CYTRHb2JKXzlyT1FnOWpIeW91MG82dUVwV1hyOCJ9LCB7Im5hbWUiOiAiX19TZWN1cmUtRU5JRCIsICJ2YWx1ZSI6ICIyMS5TRT1hZW1iYkJYX2lUNFpZaDR5bHNPcWFfamVybWM1WmRVZHppOWtKaHlOTHRXckoyXy1PR0J3eWJoTUlVZFhISFBweHZ2Q3MyNVpjcDNsczM2OFRQSF9qaklGZDZiVFJoaEJub1dOUndNUFpQSVE4YWpJQm0wUzRiRHpsVmJMTnNFdGZRaUp4OTJWUldUNWVYMlFZYXA1ZkJ3Q0JYSmtuNmVvSEJ0YjZfUXlNcWFXa1JIbEN6MWtGSnhiYVJNSXJUQk1INVlkVW5LbHI4aU5iQjlwMno3MURLbFpnUVRpYUsxZHRYSDRZVXRfIn1dLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiOmF1dGhvcml0eSIsICJ2YWx1ZSI6ICJ3d3cuZ29vZ2xlLmNvbSJ9LCB7Im5hbWUiOiAiOm1ldGhvZCIsICJ2YWx1ZSI6ICJHRVQifSwgeyJuYW1lIjogIjpwYXRoIiwgInZhbHVlIjogIi94anMvXy9qcy9rPXhqcy5oZC5lbi56SEFMd25SODNxRS5PL2FtPUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBaEFBVUFBQ0FBZ0FBQUFBQUFBQUFBQUJBZ0NBQWdDZ0FBQkFBSEFBZ0FnSUFBZ0VBQUVTQ0FEektCd0NBQU1BRUFCQUFnQUFBQUFJQ0FDQUFBRUFBQUFCQ0FBQUFBQUFVQUFBQUFBQUFBQUFBQUFBQUF3aEFBQUFBQUFBQUFBQUFBQUlBQUFDZ0F3QUFBQUFCQUVBUUFCakFBQUVnQUFFQUFBRG9BVUJ3QUF4U0VBQUFBQUFBQUFBQUFBQUFDRUNDWUM0a29DQ0FBQUFBQUFBQUFBQUFBQUFBQUVoSkp4WTIvZD0wL2RnPTAvYnI9MS9ycz1BQ1Q5MG9IWXRMMzFYX2Fib0pUcDJOMUJuZWZ0VXVwV0dnL209a01GcEhkLHN5OTAsYm01MXRmP3hqcz1zNCJ9LCB7Im5hbWUiOiAiOnNjaGVtZSIsICJ2YWx1ZSI6ICJodHRwcyJ9LCB7Im5hbWUiOiAiYWNjZXB0IiwgInZhbHVlIjogIiovKiJ9LCB7Im5hbWUiOiAiYWNjZXB0LWVuY29kaW5nIiwgInZhbHVlIjogImd6aXAsIGRlZmxhdGUsIGJyLCB6c3RkIn0sIHsibmFtZSI6ICJhY2NlcHQtbGFuZ3VhZ2UiLCAidmFsdWUiOiAiZW4tVVMsZW47cT0wLjkifSwgeyJuYW1lIjogImNvb2tpZSIsICJ2YWx1ZSI6ICJBRUM9QVZZQjdjcmF2OTRZTS1mZko2U2ppNFE3ekxtV2ktQmE0R29iSl85ck9RZzlqSHlvdTBvNnVFcFdYcjg7IF9fU2VjdXJlLUVOSUQ9MjEuU0U9YWVtYmJCWF9pVDRaWWg0eWxzT3FhX2plcm1jNVpkVWR6aTlrSmh5Tkx0V3JKMl8tT0dCd3liaE1JVWRYSEhQcHh2dkNzMjVaY3AzbHMzNjhUUEhfampJRmQ2YlRSaGhCbm9XTlJ3TVBaUElROGFqSUJtMFM0YkR6bFZiTE5zRXRmUWlKeDkyVlJXVDVlWDJRWWFwNWZCd0NCWEprbjZlb0hCdGI2X1F5TXFhV2tSSGxDejFrRkp4YmFSTUlyVEJNSDVZZFVuS2xyOGlOYkI5cDJ6NzFES2xaZ1FUaWFLMWR0WEg0WVV0XyJ9LCB7Im5hbWUiOiAicmVmZXJlciIsICJ2YWx1ZSI6ICJodHRwczovL3d3dy5nb29nbGUuY29tLyJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhIiwgInZhbHVlIjogIlwiQ2hyb21pdW1cIjt2PVwiMTI3XCIsIFwiTm90KUE7QnJhbmRcIjt2PVwiOTlcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLWFyY2giLCAidmFsdWUiOiAiXCJ4NjRcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLWJpdG5lc3MiLCAidmFsdWUiOiAiXCI2NFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtZnVsbC12ZXJzaW9uIiwgInZhbHVlIjogIlwiMTI3LjAuNjUzMy4xN1wiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtZnVsbC12ZXJzaW9uLWxpc3QiLCAidmFsdWUiOiAiXCJDaHJvbWl1bVwiO3Y9XCIxMjcuMC42NTMzLjE3XCIsIFwiTm90KUE7QnJhbmRcIjt2PVwiOTkuMC4wLjBcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLW1vYmlsZSIsICJ2YWx1ZSI6ICI/MCJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLW1vZGVsIiwgInZhbHVlIjogIlwiXCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1wbGF0Zm9ybSIsICJ2YWx1ZSI6ICJcIldpbmRvd3NcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXBsYXRmb3JtLXZlcnNpb24iLCAidmFsdWUiOiAiXCIxMC4wXCIifSwgeyJuYW1lIjogInNlYy1jaC11YS13b3c2NCIsICJ2YWx1ZSI6ICI/MCJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLWRlc3QiLCAidmFsdWUiOiAic2NyaXB0In0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtbW9kZSIsICJ2YWx1ZSI6ICJuby1jb3JzIn0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtc2l0ZSIsICJ2YWx1ZSI6ICJzYW1lLW9yaWdpbiJ9LCB7Im5hbWUiOiAidXNlci1hZ2VudCIsICJ2YWx1ZSI6ICJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTI3LjAuNjUzMy4xNyBTYWZhcmkvNTM3LjM2In1dLCAicXVlcnlTdHJpbmciOiBbeyJuYW1lIjogInhqcyIsICJ2YWx1ZSI6ICJzNCJ9XSwgImhlYWRlcnNTaXplIjogMTg2NSwgImJvZHlTaXplIjogMH0sICJyZXNwb25zZSI6IHsic3RhdHVzIjogMjAwLCAic3RhdHVzVGV4dCI6ICIiLCAiaHR0cFZlcnNpb24iOiAiaDMiLCAiY29va2llcyI6IFtdLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiYWNjZXB0LXJhbmdlcyIsICJ2YWx1ZSI6ICJieXRlcyJ9LCB7Im5hbWUiOiAiYWdlIiwgInZhbHVlIjogIjQzOTgzIn0sIHsibmFtZSI6ICJhbHQtc3ZjIiwgInZhbHVlIjogImgzPVwiOjQ0M1wiOyBtYT0yNTkyMDAwLGgzLTI5PVwiOjQ0M1wiOyBtYT0yNTkyMDAwIn0sIHsibmFtZSI6ICJjYWNoZS1jb250cm9sIiwgInZhbHVlIjogInB1YmxpYywgaW1tdXRhYmxlLCBtYXgtYWdlPTMxNTM2MDAwIn0sIHsibmFtZSI6ICJjb250ZW50LWVuY29kaW5nIiwgInZhbHVlIjogImJyIn0sIHsibmFtZSI6ICJjb250ZW50LWxlbmd0aCIsICJ2YWx1ZSI6ICI4MTMifSwgeyJuYW1lIjogImNvbnRlbnQtc2VjdXJpdHktcG9saWN5LXJlcG9ydC1vbmx5IiwgInZhbHVlIjogInJlcXVpcmUtdHJ1c3RlZC10eXBlcy1mb3IgJ3NjcmlwdCc7IHJlcG9ydC11cmkgaHR0cHM6Ly9jc3Aud2l0aGdvb2dsZS5jb20vY3NwL2d3cy10ZWFtIn0sIHsibmFtZSI6ICJjb250ZW50LXR5cGUiLCAidmFsdWUiOiAidGV4dC9qYXZhc2NyaXB0OyBjaGFyc2V0PVVURi04In0sIHsibmFtZSI6ICJjcm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeSIsICJ2YWx1ZSI6ICJzYW1lLW9yaWdpbjsgcmVwb3J0LXRvPVwiZ3dzLXRlYW1cIiJ9LCB7Im5hbWUiOiAiY3Jvc3Mtb3JpZ2luLXJlc291cmNlLXBvbGljeSIsICJ2YWx1ZSI6ICJjcm9zcy1vcmlnaW4ifSwgeyJuYW1lIjogImRhdGUiLCAidmFsdWUiOiAiVGh1LCAwMSBBdWcgMjAyNCAwMDoyMDowOSBHTVQifSwgeyJuYW1lIjogImV4cGlyZXMiLCAidmFsdWUiOiAiRnJpLCAwMSBBdWcgMjAyNSAwMDoyMDowOSBHTVQifSwgeyJuYW1lIjogImxhc3QtbW9kaWZpZWQiLCAidmFsdWUiOiAiV2VkLCAzMSBKdWwgMjAyNCAyMzoyNTozNiBHTVQifSwgeyJuYW1lIjogInJlcG9ydC10byIsICJ2YWx1ZSI6ICJ7XCJncm91cFwiOlwiZ3dzLXRlYW1cIixcIm1heF9hZ2VcIjoyNTkyMDAwLFwiZW5kcG9pbnRzXCI6W3tcInVybFwiOlwiaHR0cHM6Ly9jc3Aud2l0aGdvb2dsZS5jb20vY3NwL3JlcG9ydC10by9nd3MtdGVhbVwifV19In0sIHsibmFtZSI6ICJzZXJ2ZXIiLCAidmFsdWUiOiAic2ZmZSJ9LCB7Im5hbWUiOiAidmFyeSIsICJ2YWx1ZSI6ICJBY2NlcHQtRW5jb2RpbmcsIE9yaWdpbiJ9LCB7Im5hbWUiOiAieC1jb250ZW50LXR5cGUtb3B0aW9ucyIsICJ2YWx1ZSI6ICJub3NuaWZmIn0sIHsibmFtZSI6ICJ4LXhzcy1wcm90ZWN0aW9uIiwgInZhbHVlIjogIjAifV0sICJjb250ZW50IjogeyJzaXplIjogMTY2OSwgIm1pbWVUeXBlIjogInRleHQvamF2YXNjcmlwdDsgY2hhcnNldD1VVEYtOCIsICJjb21wcmVzc2lvbiI6IDgyMywgInRleHQiOiAidGhpcy5faGQ9dGhpcy5faGR8fHt9OyhmdW5jdGlvbihfKXt2YXIgd2luZG93PXRoaXM7XG50cnl7XG5fLngoXCJrTUZwSGRcIik7XG5fLnJhYj1uZXcgXy5JZChfLmNLYSk7XG5fLnkoKTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xudmFyIENhYjtfLkRhYj1mdW5jdGlvbihhLGIsYyxkLGUpe3RoaXMub0dhPWE7dGhpcy5ScWQ9Yjt0aGlzLmpuYj1jO3RoaXMuQndkPWQ7dGhpcy5SSWQ9ZTt0aGlzLlJkYj0wO3RoaXMuaW5iPUNhYih0aGlzKX07Q2FiPWZ1bmN0aW9uKGEpe3JldHVybiBNYXRoLnJhbmRvbSgpKk1hdGgubWluKGEuUnFkKk1hdGgucG93KGEuam5iLGEuUmRiKSxhLkJ3ZCl9O18uRGFiLnByb3RvdHlwZS5BNWI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5SZGJ9O18uRGFiLnByb3RvdHlwZS51bGE9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuUmRiPj10aGlzLm9HYT8hMTphIT1udWxsPyEhdGhpcy5SSWRbYV06ITB9O18uRWFiPWZ1bmN0aW9uKGEpe2lmKCFhLnVsYSgpKXRocm93IEVycm9yKFwicWVgXCIrYS5vR2EpOysrYS5SZGI7YS5pbmI9Q2FiKGEpfTtcbn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfVxudHJ5e1xuXy54KFwiYm01MXRmXCIpO1xudmFyIEZhYj1mdW5jdGlvbihhKXt2YXIgYj17fTtfLkhhKGEuQ3ViKCksZnVuY3Rpb24oZSl7YltlXT0hMH0pO3ZhciBjPWEuQnRiKCksZD1hLlB0YigpO3JldHVybiBuZXcgXy5EYWIoYS5PdGIoKSxjLm9hKCkqMUUzLGEuWWpiKCksZC5vYSgpKjFFMyxiKX0sR2FiPSEhKF8uZGhbMjZdJjQpO3ZhciBIYWI9ZnVuY3Rpb24oYSl7Xy5Ebi5jYWxsKHRoaXMsYS5OYSk7dGhpcy5PZz1udWxsO3RoaXMuQmE9YS5zZXJ2aWNlLnhGYjt0aGlzLkNhPWEuc2VydmljZS5tZXRhZGF0YTthPWEuc2VydmljZS5WZ2Q7dGhpcy5vYT1hLmZldGNoLmJpbmQoYSl9O18uRChIYWIsXy5Ebik7SGFiLldhPV8uRG4uV2E7SGFiLklhPWZ1bmN0aW9uKCl7cmV0dXJue3NlcnZpY2U6e3hGYjpfLnhhYixtZXRhZGF0YTpfLnJhYixWZ2Q6Xy5SJGF9fX07SGFiLnByb3RvdHlwZS5BYT1mdW5jdGlvbihhLGIpe2lmKHRoaXMuQ2EuZ2V0VHlwZShhLnVtKCkpIT0xKXJldHVybiBfLlckYShhKTt2YXIgYz10aGlzLkJhLm9hOyhjPWM/RmFiKGMpOm51bGwpJiZjLnVsYSgpPyhiPUlhYih0aGlzLGEsYixjKSxhPW5ldyBfLlMkYShhLGIsMikpOmE9Xy5XJGEoYSk7cmV0dXJuIGF9O1xudmFyIElhYj1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gYy50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBlfSxmdW5jdGlvbihlKXtpZihHYWIpaWYoZSBpbnN0YW5jZW9mIF8uWGYpe2lmKCFlLnN0YXR1c3x8IWQudWxhKGUuc3RhdHVzLkRyKCkpKXRocm93IGU7fWVsc2V7aWYoXCJmdW5jdGlvblwiPT10eXBlb2YgXy5McSYmZSBpbnN0YW5jZW9mIF8uTHEmJmUub2EhPT0xMDMmJmUub2EhPT03KXRocm93IGU7fWVsc2UgaWYoIWUuc3RhdHVzfHwhZC51bGEoZS5zdGF0dXMuRHIoKSkpdGhyb3cgZTtyZXR1cm4gXy5UZihkLmluYikudGhlbihmdW5jdGlvbigpe18uRWFiKGQpO3ZhciBmPWQuQTViKCk7Yj1fLlZwKGIsXy52UGEsZik7cmV0dXJuIElhYihhLGIsYS5vYShiKSxkKX0pfSxhKX07Xy5GbihfLkJhYixIYWIpO1xuXy55KCk7XG59Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX1cbn0pKHRoaXMuX2hkKTtcbi8vIEdvb2dsZSBJbmMuXG4ifSwgImhlYWRlcnNTaXplIjogMCwgImJvZHlTaXplIjogODQ2LCAicmVkaXJlY3RVUkwiOiAiIiwgIl90cmFuc2ZlclNpemUiOiA4NDZ9LCAiY2FjaGUiOiB7fSwgInRpbWluZ3MiOiB7ImRucyI6IC0xLCAiY29ubmVjdCI6IC0xLCAic3NsIjogLTEsICJzZW5kIjogMCwgIndhaXQiOiAxNy44NjUsICJyZWNlaXZlIjogNC45OTd9LCAicGFnZXJlZiI6ICJwYWdlQDJlN2FjZTk1NWE2NzczZWNmZDJlOThlZjJmZGNiNzA0IiwgInNlcnZlcklQQWRkcmVzcyI6ICJbMmEwMDoxNDUwOjQwMDE6ODA4OjoyMDA0XSIsICJfc2VydmVyUG9ydCI6IDQ0MywgIl9zZWN1cml0eURldGFpbHMiOiB7InByb3RvY29sIjogIlFVSUMiLCAic3ViamVjdE5hbWUiOiAiKi5nb29nbGUuY29tIiwgImlzc3VlciI6ICJXUjIiLCAidmFsaWRGcm9tIjogMTcyMjM0Mjc3MywgInZhbGlkVG8iOiAxNzI5NjAwMzcyfX0sIHsic3RhcnRlZERhdGVUaW1lIjogIjIwMjQtMDgtMDFUMTI6MzM6MTIuMjczWiIsICJ0aW1lIjogMjkuMTIxMDAwMDAwMDAwMDAyLCAicmVxdWVzdCI6IHsibWV0aG9kIjogIkdFVCIsICJ1cmwiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9nZW5fMjA0P2F0eXA9aSZjdD1wc250JmNhZD0mbnQ9bmF2aWdhdGUmZWk9aDRDclp2eUxDNU9maS1nUF9vcUotUXcmeng9MTcyMjUxNTU5MjI3MCZvcGk9ODk5Nzg0NDkiLCAiaHR0cFZlcnNpb24iOiAiaDMiLCAiY29va2llcyI6IFt7Im5hbWUiOiAiQUVDIiwgInZhbHVlIjogIkFWWUI3Y3Jhdjk0WU0tZmZKNlNqaTRRN3pMbVdpLUJhNEdvYkpfOXJPUWc5akh5b3UwbzZ1RXBXWHI4In0sIHsibmFtZSI6ICJfX1NlY3VyZS1FTklEIiwgInZhbHVlIjogIjIxLlNFPWFlbWJiQlhfaVQ0WlloNHlsc09xYV9qZXJtYzVaZFVkemk5a0poeU5MdFdySjJfLU9HQnd5YmhNSVVkWEhIUHB4dnZDczI1WmNwM2xzMzY4VFBIX2pqSUZkNmJUUmhoQm5vV05Sd01QWlBJUThhaklCbTBTNGJEemxWYkxOc0V0ZlFpSng5MlZSV1Q1ZVgyUVlhcDVmQndDQlhKa242ZW9IQnRiNl9ReU1xYVdrUkhsQ3oxa0ZKeGJhUk1JclRCTUg1WWRVbktscjhpTmJCOXAyejcxREtsWmdRVGlhSzFkdFhINFlVdF8ifV0sICJoZWFkZXJzIjogW3sibmFtZSI6ICI6YXV0aG9yaXR5IiwgInZhbHVlIjogInd3dy5nb29nbGUuY29tIn0sIHsibmFtZSI6ICI6bWV0aG9kIiwgInZhbHVlIjogIkdFVCJ9LCB7Im5hbWUiOiAiOnBhdGgiLCAidmFsdWUiOiAiL2dlbl8yMDQ/YXR5cD1pJmN0PXBzbnQmY2FkPSZudD1uYXZpZ2F0ZSZlaT1oNENyWnZ5TEM1T2ZpLWdQX29xSi1RdyZ6eD0xNzIyNTE1NTkyMjcwJm9waT04OTk3ODQ0OSJ9LCB7Im5hbWUiOiAiOnNjaGVtZSIsICJ2YWx1ZSI6ICJodHRwcyJ9LCB7Im5hbWUiOiAiYWNjZXB0IiwgInZhbHVlIjogImltYWdlL2F2aWYsaW1hZ2Uvd2VicCxpbWFnZS9hcG5nLGltYWdlL3N2Zyt4bWwsaW1hZ2UvKiwqLyo7cT0wLjgifSwgeyJuYW1lIjogImFjY2VwdC1lbmNvZGluZyIsICJ2YWx1ZSI6ICJnemlwLCBkZWZsYXRlLCBiciwgenN0ZCJ9LCB7Im5hbWUiOiAiYWNjZXB0LWxhbmd1YWdlIiwgInZhbHVlIjogImVuLVVTLGVuO3E9MC45In0sIHsibmFtZSI6ICJjb29raWUiLCAidmFsdWUiOiAiQUVDPUFWWUI3Y3Jhdjk0WU0tZmZKNlNqaTRRN3pMbVdpLUJhNEdvYkpfOXJPUWc5akh5b3UwbzZ1RXBXWHI4OyBfX1NlY3VyZS1FTklEPTIxLlNFPWFlbWJiQlhfaVQ0WlloNHlsc09xYV9qZXJtYzVaZFVkemk5a0poeU5MdFdySjJfLU9HQnd5YmhNSVVkWEhIUHB4dnZDczI1WmNwM2xzMzY4VFBIX2pqSUZkNmJUUmhoQm5vV05Sd01QWlBJUThhaklCbTBTNGJEemxWYkxOc0V0ZlFpSng5MlZSV1Q1ZVgyUVlhcDVmQndDQlhKa242ZW9IQnRiNl9ReU1xYVdrUkhsQ3oxa0ZKeGJhUk1JclRCTUg1WWRVbktscjhpTmJCOXAyejcxREtsWmdRVGlhSzFkdFhINFlVdF8ifSwgeyJuYW1lIjogInByaW9yaXR5IiwgInZhbHVlIjogImkifSwgeyJuYW1lIjogInJlZmVyZXIiLCAidmFsdWUiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8ifSwgeyJuYW1lIjogInNlYy1jaC11YSIsICJ2YWx1ZSI6ICJcIkNocm9taXVtXCI7dj1cIjEyN1wiLCBcIk5vdClBO0JyYW5kXCI7dj1cIjk5XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1hcmNoIiwgInZhbHVlIjogIlwieDY0XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1iaXRuZXNzIiwgInZhbHVlIjogIlwiNjRcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLWZ1bGwtdmVyc2lvbiIsICJ2YWx1ZSI6ICJcIjEyNy4wLjY1MzMuMTdcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLWZ1bGwtdmVyc2lvbi1saXN0IiwgInZhbHVlIjogIlwiQ2hyb21pdW1cIjt2PVwiMTI3LjAuNjUzMy4xN1wiLCBcIk5vdClBO0JyYW5kXCI7dj1cIjk5LjAuMC4wXCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1tb2JpbGUiLCAidmFsdWUiOiAiPzAifSwgeyJuYW1lIjogInNlYy1jaC11YS1tb2RlbCIsICJ2YWx1ZSI6ICJcIlwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtcGxhdGZvcm0iLCAidmFsdWUiOiAiXCJXaW5kb3dzXCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1wbGF0Zm9ybS12ZXJzaW9uIiwgInZhbHVlIjogIlwiMTAuMFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtd293NjQiLCAidmFsdWUiOiAiPzAifSwgeyJuYW1lIjogInNlYy1mZXRjaC1kZXN0IiwgInZhbHVlIjogImltYWdlIn0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtbW9kZSIsICJ2YWx1ZSI6ICJuby1jb3JzIn0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtc2l0ZSIsICJ2YWx1ZSI6ICJzYW1lLW9yaWdpbiJ9LCB7Im5hbWUiOiAidXNlci1hZ2VudCIsICJ2YWx1ZSI6ICJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTI3LjAuNjUzMy4xNyBTYWZhcmkvNTM3LjM2In1dLCAicXVlcnlTdHJpbmciOiBbeyJuYW1lIjogImF0eXAiLCAidmFsdWUiOiAiaSJ9LCB7Im5hbWUiOiAiY3QiLCAidmFsdWUiOiAicHNudCJ9LCB7Im5hbWUiOiAiY2FkIiwgInZhbHVlIjogIiJ9LCB7Im5hbWUiOiAibnQiLCAidmFsdWUiOiAibmF2aWdhdGUifSwgeyJuYW1lIjogImVpIiwgInZhbHVlIjogImg0Q3JadnlMQzVPZmktZ1Bfb3FKLVF3In0sIHsibmFtZSI6ICJ6eCIsICJ2YWx1ZSI6ICIxNzIyNTE1NTkyMjcwIn0sIHsibmFtZSI6ICJvcGkiLCAidmFsdWUiOiAiODk5Nzg0NDkifV0sICJoZWFkZXJzU2l6ZSI6IDEyNzYsICJib2R5U2l6ZSI6IDB9LCAicmVzcG9uc2UiOiB7InN0YXR1cyI6IDIwNCwgInN0YXR1c1RleHQiOiAiIiwgImh0dHBWZXJzaW9uIjogImgzIiwgImNvb2tpZXMiOiBbXSwgImhlYWRlcnMiOiBbeyJuYW1lIjogImFsdC1zdmMiLCAidmFsdWUiOiAiaDM9XCI6NDQzXCI7IG1hPTI1OTIwMDAsaDMtMjk9XCI6NDQzXCI7IG1hPTI1OTIwMDAifSwgeyJuYW1lIjogImNvbnRlbnQtbGVuZ3RoIiwgInZhbHVlIjogIjAifSwgeyJuYW1lIjogImNvbnRlbnQtc2VjdXJpdHktcG9saWN5IiwgInZhbHVlIjogIm9iamVjdC1zcmMgJ25vbmUnO2Jhc2UtdXJpICdzZWxmJztzY3JpcHQtc3JjICdub25jZS14RFhoTjhZNUptUmZoMWtjU25tdDVnJyAnc3RyaWN0LWR5bmFtaWMnICdyZXBvcnQtc2FtcGxlJyAndW5zYWZlLWV2YWwnICd1bnNhZmUtaW5saW5lJyBodHRwczogaHR0cDo7cmVwb3J0LXVyaSBodHRwczovL2NzcC53aXRoZ29vZ2xlLmNvbS9jc3AvZ3dzL290aGVyIn0sIHsibmFtZSI6ICJjb250ZW50LXR5cGUiLCAidmFsdWUiOiAidGV4dC9odG1sOyBjaGFyc2V0PVVURi04In0sIHsibmFtZSI6ICJjcm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeSIsICJ2YWx1ZSI6ICJzYW1lLW9yaWdpbi1hbGxvdy1wb3B1cHM7IHJlcG9ydC10bz1cImd3c1wiIn0sIHsibmFtZSI6ICJkYXRlIiwgInZhbHVlIjogIlRodSwgMDEgQXVnIDIwMjQgMTI6MzM6MTIgR01UIn0sIHsibmFtZSI6ICJwZXJtaXNzaW9ucy1wb2xpY3kiLCAidmFsdWUiOiAidW5sb2FkPSgpIn0sIHsibmFtZSI6ICJyZXBvcnQtdG8iLCAidmFsdWUiOiAie1wiZ3JvdXBcIjpcImd3c1wiLFwibWF4X2FnZVwiOjI1OTIwMDAsXCJlbmRwb2ludHNcIjpbe1widXJsXCI6XCJodHRwczovL2NzcC53aXRoZ29vZ2xlLmNvbS9jc3AvcmVwb3J0LXRvL2d3cy9vdGhlclwifV19In0sIHsibmFtZSI6ICJzZXJ2ZXIiLCAidmFsdWUiOiAiZ3dzIn0sIHsibmFtZSI6ICJ4LWZyYW1lLW9wdGlvbnMiLCAidmFsdWUiOiAiU0FNRU9SSUdJTiJ9LCB7Im5hbWUiOiAieC14c3MtcHJvdGVjdGlvbiIsICJ2YWx1ZSI6ICIwIn1dLCAiY29udGVudCI6IHsic2l6ZSI6IDAsICJtaW1lVHlwZSI6ICJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLCAiY29tcHJlc3Npb24iOiAwLCAidGV4dCI6ICIifSwgImhlYWRlcnNTaXplIjogMCwgImJvZHlTaXplIjogMjUsICJyZWRpcmVjdFVSTCI6ICIiLCAiX3RyYW5zZmVyU2l6ZSI6IDI1fSwgImNhY2hlIjoge30sICJ0aW1pbmdzIjogeyJkbnMiOiAtMSwgImNvbm5lY3QiOiAtMSwgInNzbCI6IC0xLCAic2VuZCI6IDAsICJ3YWl0IjogMjcuMTg0LCAicmVjZWl2ZSI6IDEuOTM3fSwgInBhZ2VyZWYiOiAicGFnZUAyZTdhY2U5NTVhNjc3M2VjZmQyZTk4ZWYyZmRjYjcwNCIsICJzZXJ2ZXJJUEFkZHJlc3MiOiAiWzJhMDA6MTQ1MDo0MDAxOjgwODo6MjAwNF0iLCAiX3NlcnZlclBvcnQiOiA0NDMsICJfc2VjdXJpdHlEZXRhaWxzIjogeyJwcm90b2NvbCI6ICJRVUlDIiwgInN1YmplY3ROYW1lIjogIiouZ29vZ2xlLmNvbSIsICJpc3N1ZXIiOiAiV1IyIiwgInZhbGlkRnJvbSI6IDE3MjIzNDI3NzMsICJ2YWxpZFRvIjogMTcyOTYwMDM3Mn19LCB7InN0YXJ0ZWREYXRlVGltZSI6ICIyMDI0LTA4LTAxVDEyOjMzOjEyLjk1MFoiLCAidGltZSI6IDEzOC45OTQsICJyZXF1ZXN0IjogeyJtZXRob2QiOiAiUE9TVCIsICJ1cmwiOiAiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vbG9nP2Zvcm1hdD1qc29uJmhhc2Zhc3Q9dHJ1ZSIsICJodHRwVmVyc2lvbiI6ICJIVFRQLzIuMCIsICJjb29raWVzIjogW3sibmFtZSI6ICJBRUMiLCAidmFsdWUiOiAiQVZZQjdjcmF2OTRZTS1mZko2U2ppNFE3ekxtV2ktQmE0R29iSl85ck9RZzlqSHlvdTBvNnVFcFdYcjgifSwgeyJuYW1lIjogIl9fU2VjdXJlLUVOSUQiLCAidmFsdWUiOiAiMjEuU0U9YWVtYmJCWF9pVDRaWWg0eWxzT3FhX2plcm1jNVpkVWR6aTlrSmh5Tkx0V3JKMl8tT0dCd3liaE1JVWRYSEhQcHh2dkNzMjVaY3AzbHMzNjhUUEhfampJRmQ2YlRSaGhCbm9XTlJ3TVBaUElROGFqSUJtMFM0YkR6bFZiTE5zRXRmUWlKeDkyVlJXVDVlWDJRWWFwNWZCd0NCWEprbjZlb0hCdGI2X1F5TXFhV2tSSGxDejFrRkp4YmFSTUlyVEJNSDVZZFVuS2xyOGlOYkI5cDJ6NzFES2xaZ1FUaWFLMWR0WEg0WVV0XyJ9XSwgImhlYWRlcnMiOiBbeyJuYW1lIjogIjphdXRob3JpdHkiLCAidmFsdWUiOiAicGxheS5nb29nbGUuY29tIn0sIHsibmFtZSI6ICI6bWV0aG9kIiwgInZhbHVlIjogIlBPU1QifSwgeyJuYW1lIjogIjpwYXRoIiwgInZhbHVlIjogIi9sb2c/Zm9ybWF0PWpzb24maGFzZmFzdD10cnVlIn0sIHsibmFtZSI6ICI6c2NoZW1lIiwgInZhbHVlIjogImh0dHBzIn0sIHsibmFtZSI6ICJhY2NlcHQiLCAidmFsdWUiOiAiKi8qIn0sIHsibmFtZSI6ICJhY2NlcHQtZW5jb2RpbmciLCAidmFsdWUiOiAiZ3ppcCwgZGVmbGF0ZSwgYnIsIHpzdGQifSwgeyJuYW1lIjogImFjY2VwdC1sYW5ndWFnZSIsICJ2YWx1ZSI6ICJlbi1VUyxlbjtxPTAuOSJ9LCB7Im5hbWUiOiAiY29udGVudC1sZW5ndGgiLCAidmFsdWUiOiAiMTQ0NSJ9LCB7Im5hbWUiOiAiY29udGVudC10eXBlIiwgInZhbHVlIjogImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PVVURi04In0sIHsibmFtZSI6ICJjb29raWUiLCAidmFsdWUiOiAiQUVDPUFWWUI3Y3Jhdjk0WU0tZmZKNlNqaTRRN3pMbVdpLUJhNEdvYkpfOXJPUWc5akh5b3UwbzZ1RXBXWHI4OyBfX1NlY3VyZS1FTklEPTIxLlNFPWFlbWJiQlhfaVQ0WlloNHlsc09xYV9qZXJtYzVaZFVkemk5a0poeU5MdFdySjJfLU9HQnd5YmhNSVVkWEhIUHB4dnZDczI1WmNwM2xzMzY4VFBIX2pqSUZkNmJUUmhoQm5vV05Sd01QWlBJUThhaklCbTBTNGJEemxWYkxOc0V0ZlFpSng5MlZSV1Q1ZVgyUVlhcDVmQndDQlhKa242ZW9IQnRiNl9ReU1xYVdrUkhsQ3oxa0ZKeGJhUk1JclRCTUg1WWRVbktscjhpTmJCOXAyejcxREtsWmdRVGlhSzFkdFhINFlVdF8ifSwgeyJuYW1lIjogIm9yaWdpbiIsICJ2YWx1ZSI6ICJodHRwczovL3d3dy5nb29nbGUuY29tIn0sIHsibmFtZSI6ICJwcmlvcml0eSIsICJ2YWx1ZSI6ICJ1PTEsIGkifSwgeyJuYW1lIjogInJlZmVyZXIiLCAidmFsdWUiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8ifSwgeyJuYW1lIjogInNlYy1jaC11YSIsICJ2YWx1ZSI6ICJcIkNocm9taXVtXCI7dj1cIjEyN1wiLCBcIk5vdClBO0JyYW5kXCI7dj1cIjk5XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1tb2JpbGUiLCAidmFsdWUiOiAiPzAifSwgeyJuYW1lIjogInNlYy1jaC11YS1wbGF0Zm9ybSIsICJ2YWx1ZSI6ICJcIldpbmRvd3NcIiJ9LCB7Im5hbWUiOiAic2VjLWZldGNoLWRlc3QiLCAidmFsdWUiOiAiZW1wdHkifSwgeyJuYW1lIjogInNlYy1mZXRjaC1tb2RlIiwgInZhbHVlIjogImNvcnMifSwgeyJuYW1lIjogInNlYy1mZXRjaC1zaXRlIiwgInZhbHVlIjogInNhbWUtc2l0ZSJ9LCB7Im5hbWUiOiAidXNlci1hZ2VudCIsICJ2YWx1ZSI6ICJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTI3LjAuNjUzMy4xNyBTYWZhcmkvNTM3LjM2In1dLCAicXVlcnlTdHJpbmciOiBbeyJuYW1lIjogImZvcm1hdCIsICJ2YWx1ZSI6ICJqc29uIn0sIHsibmFtZSI6ICJoYXNmYXN0IiwgInZhbHVlIjogInRydWUifV0sICJoZWFkZXJzU2l6ZSI6IDEwMDksICJib2R5U2l6ZSI6IDE0NDUsICJwb3N0RGF0YSI6IHsibWltZVR5cGUiOiAiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9VVRGLTgiLCAidGV4dCI6ICJbWzEsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsW251bGwsbnVsbCxudWxsLG51bGwsXCJkZS1MVVwiLG51bGwsbnVsbCxudWxsLFtbW1wiQ2hyb21pdW1cIixcIjEyN1wiXSxbXCJOb3QpQTtCcmFuZFwiLFwiOTlcIl1dLDAsXCJXaW5kb3dzXCIsXCIxMC4wXCIsXCJ4NjRcIixcIlwiLFwiMTI3LjAuNjUzMy4xN1wiXSxbMSwwLDAsMCwwXV1dLDM3MyxbW1wiMTcyMjUxNTU5MTk0NFwiLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLFwiWzEsNDA0MDAsNTM4LG51bGwsXFxcIjY1NzAyNzU4My4wXFxcIixcXFwiaDRDclpwYkJEUGVPaS1nUDZKUzVrQU1cXFwiLG51bGwsbnVsbCxudWxsLFxcXCJkZVxcXCIsXFxcIkxVWFxcXCIsMCw4LDg2NCxudWxsLDAsMCxudWxsLFxcXCJvZy04NzIyYjMyMy04YWNjLTQzMWItYmMwOS1lZjJjMjE1NmIxMTBcXFwiLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLDEsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsMCxudWxsLG51bGwsbnVsbCwwLG51bGwsWzIsNSxcXFwiZWhcXFwiLDIzXSxudWxsLG51bGwsMCwwLDEsbnVsbCxudWxsLG51bGwsMF1cIixudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCwwLFtudWxsLG51bGwsbnVsbCxcIltudWxsLG51bGwsWzM3MDEzODEsMzcwMTM4OV1dXCJdLG51bGwsbnVsbCxudWxsLG51bGwsMV0sW1wiMTcyMjUxNTU5MjE4MFwiLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLFwiWzEzMCw0MDQwMCw1MzgsbnVsbCxcXFwiNjU3MDI3NTgzLjBcXFwiLFxcXCJoNENyWnBiQkRQZU9pLWdQNkpTNWtBTVxcXCIsbnVsbCxudWxsLG51bGwsXFxcImRlXFxcIixcXFwiTFVYXFxcIiwwLDgsMTEwMCxudWxsLDAsMCxudWxsLFxcXCJvZy04NzIyYjMyMy04YWNjLTQzMWItYmMwOS1lZjJjMjE1NmIxMTBcXFwiLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLDIsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCwwLG51bGwsWzIsNSxcXFwiZWhcXFwiLDIzXSxudWxsLG51bGwsMCwwLDEsbnVsbCxudWxsLG51bGwsMF1cIixudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCwwLFtudWxsLG51bGwsbnVsbCxcIltudWxsLG51bGwsWzM3MDEzODEsMzcwMTM4OV1dXCJdLG51bGwsbnVsbCxudWxsLG51bGwsMl1dLFwiMTcyMjUxNTU5Mjk0NlwiLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsW1tudWxsLFtudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCwxMjI1MDU2OTVdXSw5XV0iLCAicGFyYW1zIjogW119fSwgInJlc3BvbnNlIjogeyJzdGF0dXMiOiAyMDAsICJzdGF0dXNUZXh0IjogIiIsICJodHRwVmVyc2lvbiI6ICJIVFRQLzIuMCIsICJjb29raWVzIjogW10sICJoZWFkZXJzIjogW3sibmFtZSI6ICJhY2Nlc3MtY29udHJvbC1hbGxvdy1jcmVkZW50aWFscyIsICJ2YWx1ZSI6ICJ0cnVlIn0sIHsibmFtZSI6ICJhY2Nlc3MtY29udHJvbC1hbGxvdy1oZWFkZXJzIiwgInZhbHVlIjogIlgtUGxheWxvZy1XZWIifSwgeyJuYW1lIjogImFjY2Vzcy1jb250cm9sLWFsbG93LW9yaWdpbiIsICJ2YWx1ZSI6ICJodHRwczovL3d3dy5nb29nbGUuY29tIn0sIHsibmFtZSI6ICJhbHQtc3ZjIiwgInZhbHVlIjogImgzPVwiOjQ0M1wiOyBtYT0yNTkyMDAwLGgzLTI5PVwiOjQ0M1wiOyBtYT0yNTkyMDAwIn0sIHsibmFtZSI6ICJjYWNoZS1jb250cm9sIiwgInZhbHVlIjogInByaXZhdGUifSwgeyJuYW1lIjogImNvbnRlbnQtZW5jb2RpbmciLCAidmFsdWUiOiAiZ3ppcCJ9LCB7Im5hbWUiOiAiY29udGVudC1sZW5ndGgiLCAidmFsdWUiOiAiMTMxIn0sIHsibmFtZSI6ICJjb250ZW50LXR5cGUiLCAidmFsdWUiOiAidGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOCJ9LCB7Im5hbWUiOiAiY3Jvc3Mtb3JpZ2luLXJlc291cmNlLXBvbGljeSIsICJ2YWx1ZSI6ICJjcm9zcy1vcmlnaW4ifSwgeyJuYW1lIjogImRhdGUiLCAidmFsdWUiOiAiVGh1LCAwMSBBdWcgMjAyNCAxMjozMzoxMyBHTVQifSwgeyJuYW1lIjogInNlcnZlciIsICJ2YWx1ZSI6ICJQbGF5bG9nIn0sIHsibmFtZSI6ICJ4LWZyYW1lLW9wdGlvbnMiLCAidmFsdWUiOiAiU0FNRU9SSUdJTiJ9LCB7Im5hbWUiOiAieC14c3MtcHJvdGVjdGlvbiIsICJ2YWx1ZSI6ICIwIn1dLCAiY29udGVudCI6IHsic2l6ZSI6IDEzMSwgIm1pbWVUeXBlIjogInRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgiLCAiY29tcHJlc3Npb24iOiAwLCAidGV4dCI6ICJbXCItMVwiLG51bGwsW1tbXCJBTkRST0lEX0JBQ0tVUFwiLDBdLFtcIkJBVFRFUllfU1RBVFNcIiwwXSxbXCJTTUFSVF9TRVRVUFwiLDBdLFtcIlRST05cIiwwXV0sLTMzMzQ3Mzc1OTQwMjQ5NzEyMjVdLFtdLHtcIjE3NTIzNzM3NVwiOlsxMDAwMF19XSJ9LCAiaGVhZGVyc1NpemUiOiAwLCAiYm9keVNpemUiOiA0MjYsICJyZWRpcmVjdFVSTCI6ICIiLCAiX3RyYW5zZmVyU2l6ZSI6IDQyNn0sICJjYWNoZSI6IHt9LCAidGltaW5ncyI6IHsiZG5zIjogMC4wMjEsICJjb25uZWN0IjogNDIuMzE3LCAic3NsIjogMjYuODQ2LCAic2VuZCI6IDAsICJ3YWl0IjogNjYuNjY3LCAicmVjZWl2ZSI6IDMuMTQzfSwgInBhZ2VyZWYiOiAicGFnZUAyZTdhY2U5NTVhNjc3M2VjZmQyZTk4ZWYyZmRjYjcwNCIsICJzZXJ2ZXJJUEFkZHJlc3MiOiAiWzJhMDA6MTQ1MDo0MDAxOjgyODo6MjAwZV0iLCAiX3NlcnZlclBvcnQiOiA0NDMsICJfc2VjdXJpdHlEZXRhaWxzIjogeyJwcm90b2NvbCI6ICJUTFMgMS4zIiwgInN1YmplY3ROYW1lIjogIiouZ29vZ2xlLmNvbSIsICJpc3N1ZXIiOiAiV1IyIiwgInZhbGlkRnJvbSI6IDE3MjIzNDI3NzMsICJ2YWxpZFRvIjogMTcyOTYwMDM3Mn19LCB7InN0YXJ0ZWREYXRlVGltZSI6ICIyMDI0LTA4LTAxVDEyOjMzOjI2LjA5N1oiLCAidGltZSI6IDMxLjc5MywgInJlcXVlc3QiOiB7Im1ldGhvZCI6ICJQT1NUIiwgInVybCI6ICJodHRwczovL3d3dy5nb29nbGUuY29tL2dlbl8yMDQ/YXR5cD1jc2kmZWk9aDRDclp2eUxDNU9maS1nUF9vcUotUXcmcz13ZWJocCZudD1uYXZpZ2F0ZSZ0PWZpJnN0PTE0OTg4JmZpZD0xJnp4PTE3MjI1MTU2MDYwOTEmb3BpPTg5OTc4NDQ5IiwgImh0dHBWZXJzaW9uIjogImgzIiwgImNvb2tpZXMiOiBbeyJuYW1lIjogIkFFQyIsICJ2YWx1ZSI6ICJBVllCN2NyYXY5NFlNLWZmSjZTamk0UTd6TG1XaS1CYTRHb2JKXzlyT1FnOWpIeW91MG82dUVwV1hyOCJ9LCB7Im5hbWUiOiAiX19TZWN1cmUtRU5JRCIsICJ2YWx1ZSI6ICIyMS5TRT1hZW1iYkJYX2lUNFpZaDR5bHNPcWFfamVybWM1WmRVZHppOWtKaHlOTHRXckoyXy1PR0J3eWJoTUlVZFhISFBweHZ2Q3MyNVpjcDNsczM2OFRQSF9qaklGZDZiVFJoaEJub1dOUndNUFpQSVE4YWpJQm0wUzRiRHpsVmJMTnNFdGZRaUp4OTJWUldUNWVYMlFZYXA1ZkJ3Q0JYSmtuNmVvSEJ0YjZfUXlNcWFXa1JIbEN6MWtGSnhiYVJNSXJUQk1INVlkVW5LbHI4aU5iQjlwMno3MURLbFpnUVRpYUsxZHRYSDRZVXRfIn1dLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiOmF1dGhvcml0eSIsICJ2YWx1ZSI6ICJ3d3cuZ29vZ2xlLmNvbSJ9LCB7Im5hbWUiOiAiOm1ldGhvZCIsICJ2YWx1ZSI6ICJQT1NUIn0sIHsibmFtZSI6ICI6cGF0aCIsICJ2YWx1ZSI6ICIvZ2VuXzIwND9hdHlwPWNzaSZlaT1oNENyWnZ5TEM1T2ZpLWdQX29xSi1RdyZzPXdlYmhwJm50PW5hdmlnYXRlJnQ9Zmkmc3Q9MTQ5ODgmZmlkPTEmeng9MTcyMjUxNTYwNjA5MSZvcGk9ODk5Nzg0NDkifSwgeyJuYW1lIjogIjpzY2hlbWUiLCAidmFsdWUiOiAiaHR0cHMifSwgeyJuYW1lIjogImFjY2VwdCIsICJ2YWx1ZSI6ICIqLyoifSwgeyJuYW1lIjogImFjY2VwdC1lbmNvZGluZyIsICJ2YWx1ZSI6ICJnemlwLCBkZWZsYXRlLCBiciwgenN0ZCJ9LCB7Im5hbWUiOiAiYWNjZXB0LWxhbmd1YWdlIiwgInZhbHVlIjogImVuLVVTLGVuO3E9MC45In0sIHsibmFtZSI6ICJjb250ZW50LWxlbmd0aCIsICJ2YWx1ZSI6ICIwIn0sIHsibmFtZSI6ICJjb29raWUiLCAidmFsdWUiOiAiQUVDPUFWWUI3Y3Jhdjk0WU0tZmZKNlNqaTRRN3pMbVdpLUJhNEdvYkpfOXJPUWc5akh5b3UwbzZ1RXBXWHI4OyBfX1NlY3VyZS1FTklEPTIxLlNFPWFlbWJiQlhfaVQ0WlloNHlsc09xYV9qZXJtYzVaZFVkemk5a0poeU5MdFdySjJfLU9HQnd5YmhNSVVkWEhIUHB4dnZDczI1WmNwM2xzMzY4VFBIX2pqSUZkNmJUUmhoQm5vV05Sd01QWlBJUThhaklCbTBTNGJEemxWYkxOc0V0ZlFpSng5MlZSV1Q1ZVgyUVlhcDVmQndDQlhKa242ZW9IQnRiNl9ReU1xYVdrUkhsQ3oxa0ZKeGJhUk1JclRCTUg1WWRVbktscjhpTmJCOXAyejcxREtsWmdRVGlhSzFkdFhINFlVdF8ifSwgeyJuYW1lIjogIm9yaWdpbiIsICJ2YWx1ZSI6ICJodHRwczovL3d3dy5nb29nbGUuY29tIn0sIHsibmFtZSI6ICJwcmlvcml0eSIsICJ2YWx1ZSI6ICJ1PTQsIGkifSwgeyJuYW1lIjogInJlZmVyZXIiLCAidmFsdWUiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8ifSwgeyJuYW1lIjogInNlYy1jaC11YSIsICJ2YWx1ZSI6ICJcIkNocm9taXVtXCI7dj1cIjEyN1wiLCBcIk5vdClBO0JyYW5kXCI7dj1cIjk5XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1hcmNoIiwgInZhbHVlIjogIlwieDY0XCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1iaXRuZXNzIiwgInZhbHVlIjogIlwiNjRcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLWZ1bGwtdmVyc2lvbiIsICJ2YWx1ZSI6ICJcIjEyNy4wLjY1MzMuMTdcIiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLWZ1bGwtdmVyc2lvbi1saXN0IiwgInZhbHVlIjogIlwiQ2hyb21pdW1cIjt2PVwiMTI3LjAuNjUzMy4xN1wiLCBcIk5vdClBO0JyYW5kXCI7dj1cIjk5LjAuMC4wXCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1tb2JpbGUiLCAidmFsdWUiOiAiPzAifSwgeyJuYW1lIjogInNlYy1jaC11YS1tb2RlbCIsICJ2YWx1ZSI6ICJcIlwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtcGxhdGZvcm0iLCAidmFsdWUiOiAiXCJXaW5kb3dzXCIifSwgeyJuYW1lIjogInNlYy1jaC11YS1wbGF0Zm9ybS12ZXJzaW9uIiwgInZhbHVlIjogIlwiMTAuMFwiIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtd293NjQiLCAidmFsdWUiOiAiPzAifSwgeyJuYW1lIjogInNlYy1mZXRjaC1kZXN0IiwgInZhbHVlIjogImVtcHR5In0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtbW9kZSIsICJ2YWx1ZSI6ICJuby1jb3JzIn0sIHsibmFtZSI6ICJzZWMtZmV0Y2gtc2l0ZSIsICJ2YWx1ZSI6ICJzYW1lLW9yaWdpbiJ9LCB7Im5hbWUiOiAidXNlci1hZ2VudCIsICJ2YWx1ZSI6ICJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTI3LjAuNjUzMy4xNyBTYWZhcmkvNTM3LjM2In1dLCAicXVlcnlTdHJpbmciOiBbeyJuYW1lIjogImF0eXAiLCAidmFsdWUiOiAiY3NpIn0sIHsibmFtZSI6ICJlaSIsICJ2YWx1ZSI6ICJoNENyWnZ5TEM1T2ZpLWdQX29xSi1RdyJ9LCB7Im5hbWUiOiAicyIsICJ2YWx1ZSI6ICJ3ZWJocCJ9LCB7Im5hbWUiOiAibnQiLCAidmFsdWUiOiAibmF2aWdhdGUifSwgeyJuYW1lIjogInQiLCAidmFsdWUiOiAiZmkifSwgeyJuYW1lIjogInN0IiwgInZhbHVlIjogIjE0OTg4In0sIHsibmFtZSI6ICJmaWQiLCAidmFsdWUiOiAiMSJ9LCB7Im5hbWUiOiAiengiLCAidmFsdWUiOiAiMTcyMjUxNTYwNjA5MSJ9LCB7Im5hbWUiOiAib3BpIiwgInZhbHVlIjogIjg5OTc4NDQ5In1dLCAiaGVhZGVyc1NpemUiOiAxMjkwLCAiYm9keVNpemUiOiAwfSwgInJlc3BvbnNlIjogeyJzdGF0dXMiOiAyMDQsICJzdGF0dXNUZXh0IjogIiIsICJodHRwVmVyc2lvbiI6ICJoMyIsICJjb29raWVzIjogW10sICJoZWFkZXJzIjogW3sibmFtZSI6ICJhbHQtc3ZjIiwgInZhbHVlIjogImgzPVwiOjQ0M1wiOyBtYT0yNTkyMDAwLGgzLTI5PVwiOjQ0M1wiOyBtYT0yNTkyMDAwIn0sIHsibmFtZSI6ICJjb250ZW50LWxlbmd0aCIsICJ2YWx1ZSI6ICIwIn0sIHsibmFtZSI6ICJjb250ZW50LXNlY3VyaXR5LXBvbGljeSIsICJ2YWx1ZSI6ICJvYmplY3Qtc3JjICdub25lJztiYXNlLXVyaSAnc2VsZic7c2NyaXB0LXNyYyAnbm9uY2Utd3ZqZVVhaXlSd2xGcUMza3ZSMXpLdycgJ3N0cmljdC1keW5hbWljJyAncmVwb3J0LXNhbXBsZScgJ3Vuc2FmZS1ldmFsJyAndW5zYWZlLWlubGluZScgaHR0cHM6IGh0dHA6O3JlcG9ydC11cmkgaHR0cHM6Ly9jc3Aud2l0aGdvb2dsZS5jb20vY3NwL2d3cy9vdGhlciJ9LCB7Im5hbWUiOiAiY29udGVudC10eXBlIiwgInZhbHVlIjogInRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCJ9LCB7Im5hbWUiOiAiY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kiLCAidmFsdWUiOiAic2FtZS1vcmlnaW4tYWxsb3ctcG9wdXBzOyByZXBvcnQtdG89XCJnd3NcIiJ9LCB7Im5hbWUiOiAiZGF0ZSIsICJ2YWx1ZSI6ICJUaHUsIDAxIEF1ZyAyMDI0IDEyOjMzOjI2IEdNVCJ9LCB7Im5hbWUiOiAicGVybWlzc2lvbnMtcG9saWN5IiwgInZhbHVlIjogInVubG9hZD0oKSJ9LCB7Im5hbWUiOiAicmVwb3J0LXRvIiwgInZhbHVlIjogIntcImdyb3VwXCI6XCJnd3NcIixcIm1heF9hZ2VcIjoyNTkyMDAwLFwiZW5kcG9pbnRzXCI6W3tcInVybFwiOlwiaHR0cHM6Ly9jc3Aud2l0aGdvb2dsZS5jb20vY3NwL3JlcG9ydC10by9nd3Mvb3RoZXJcIn1dfSJ9LCB7Im5hbWUiOiAic2VydmVyIiwgInZhbHVlIjogImd3cyJ9LCB7Im5hbWUiOiAieC1mcmFtZS1vcHRpb25zIiwgInZhbHVlIjogIlNBTUVPUklHSU4ifSwgeyJuYW1lIjogIngteHNzLXByb3RlY3Rpb24iLCAidmFsdWUiOiAiMCJ9XSwgImNvbnRlbnQiOiB7InNpemUiOiAwLCAibWltZVR5cGUiOiAidGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiwgImNvbXByZXNzaW9uIjogMCwgInRleHQiOiAiIn0sICJoZWFkZXJzU2l6ZSI6IDAsICJib2R5U2l6ZSI6IDI1LCAicmVkaXJlY3RVUkwiOiAiIiwgIl90cmFuc2ZlclNpemUiOiAyNX0sICJjYWNoZSI6IHt9LCAidGltaW5ncyI6IHsiZG5zIjogLTEsICJjb25uZWN0IjogLTEsICJzc2wiOiAtMSwgInNlbmQiOiAwLCAid2FpdCI6IDI4LjA0OCwgInJlY2VpdmUiOiAzLjc0NX0sICJwYWdlcmVmIjogInBhZ2VAMmU3YWNlOTU1YTY3NzNlY2ZkMmU5OGVmMmZkY2I3MDQiLCAic2VydmVySVBBZGRyZXNzIjogIlsyYTAwOjE0NTA6NDAwMTo4MDg6OjIwMDRdIiwgIl9zZXJ2ZXJQb3J0IjogNDQzLCAiX3NlY3VyaXR5RGV0YWlscyI6IHsicHJvdG9jb2wiOiAiUVVJQyIsICJzdWJqZWN0TmFtZSI6ICIqLmdvb2dsZS5jb20iLCAiaXNzdWVyIjogIldSMiIsICJ2YWxpZEZyb20iOiAxNzIyMzQyNzczLCAidmFsaWRUbyI6IDE3Mjk2MDAzNzJ9fV19fQ==","disable_correlation":true,"to_ids":false,"type":"attachment","uuid":"36d257dc-48d0-48fc-a8a0-3f5e41107ff7","value":"har.json"},{"category":"External analysis","comment":"The rendered page at the end of the capture","data":"PCFET0NUWVBFIGh0bWw+PGh0bWwgaXRlbXNjb3BlPSIiIGl0ZW10eXBlPSJodHRwOi8vc2NoZW1hLm9yZy9XZWJQYWdlIiBsYW5nPSJkZS1MVSI+PGhlYWQ+PG1ldGEgY2hhcnNldD0iVVRGLTgiPjxtZXRhIGNvbnRlbnQ9Im9yaWdpbiIgbmFtZT0icmVmZXJyZXIiPjxtZXRhIGNvbnRlbnQ9Ii9pbWFnZXMvYnJhbmRpbmcvZ29vZ2xlZy8xeC9nb29nbGVnX3N0YW5kYXJkX2NvbG9yXzEyOGRwLnBuZyIgaXRlbXByb3A9ImltYWdlIj48dGl0bGU+R29vZ2xlPC90aXRsZT48c2NyaXB0IHNyYz0iaHR0cHM6Ly9hcGlzLmdvb2dsZS5jb20vXy9zY3MvYWJjLXN0YXRpYy9fL2pzL2s9Z2FwaS5nYXBpLmVuLk1HQ3hKYm5XX1h3Lk8vbT1nYXBpX2lmcmFtZXMsZ29vZ2xlYXBpc19jbGllbnQvcnQ9ai9zdj0xL2Q9MS9lZD0xL2FtPUFBQWcvcnM9QUhwT29vOXhhNGh0TEVWSDl4ZTZjNFRvVWVodFRhTFd2QS9jYj1nYXBpLmxvYWRlZF8wIiBub25jZT0iYUE3VmEtYmVlaElMc2wyaEZsUHQtZyIgYXN5bmM9IiI+PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iYUE3VmEtYmVlaElMc2wyaEZsUHQtZyI+KGZ1bmN0aW9uKCl7dmFyIF9nPXtrRUk6J2g0Q3JadnlMQzVPZmktZ1Bfb3FKLVF3JyxrRVhQSTonMzEnLGtCTDonTlF6Yicsa09QSTo4OTk3ODQ0OX07KGZ1bmN0aW9uKCl7dmFyIGE7KChhPXdpbmRvdy5nb29nbGUpPT1udWxsPzA6YS5zdHZzYyk/Z29vZ2xlLmtFST1fZy5rRUk6d2luZG93Lmdvb2dsZT1fZzt9KS5jYWxsKHRoaXMpO30pKCk7KGZ1bmN0aW9uKCl7Z29vZ2xlLnNuPSd3ZWJocCc7Z29vZ2xlLmtITD0nZGUtTFUnO30pKCk7KGZ1bmN0aW9uKCl7CnZhciBoPXRoaXN8fHNlbGY7ZnVuY3Rpb24gbCgpe3JldHVybiB3aW5kb3cuZ29vZ2xlIT09dm9pZCAwJiZ3aW5kb3cuZ29vZ2xlLmtPUEkhPT12b2lkIDAmJndpbmRvdy5nb29nbGUua09QSSE9PTA/d2luZG93Lmdvb2dsZS5rT1BJOm51bGx9O3ZhciBtLG49W107ZnVuY3Rpb24gcChhKXtmb3IodmFyIGI7YSYmKCFhLmdldEF0dHJpYnV0ZXx8IShiPWEuZ2V0QXR0cmlidXRlKCJlaWQiKSkpOylhPWEucGFyZW50Tm9kZTtyZXR1cm4gYnx8bX1mdW5jdGlvbiBxKGEpe2Zvcih2YXIgYj1udWxsO2EmJighYS5nZXRBdHRyaWJ1dGV8fCEoYj1hLmdldEF0dHJpYnV0ZSgibGVpZCIpKSk7KWE9YS5wYXJlbnROb2RlO3JldHVybiBifWZ1bmN0aW9uIHIoYSl7L15odHRwOi9pLnRlc3QoYSkmJndpbmRvdy5sb2NhdGlvbi5wcm90b2NvbD09PSJodHRwczoiJiYoZ29vZ2xlLm1sJiZnb29nbGUubWwoRXJyb3IoImEiKSwhMSx7c3JjOmEsZ2xtbToxfSksYT0iIik7cmV0dXJuIGF9CmZ1bmN0aW9uIHQoYSxiLGMsZCxrKXt2YXIgZT0iIjtiLnNlYXJjaCgiJmVpPSIpPT09LTEmJihlPSImZWk9IitwKGQpLGIuc2VhcmNoKCImbGVpPSIpPT09LTEmJihkPXEoZCkpJiYoZSs9IiZsZWk9IitkKSk7ZD0iIjt2YXIgZz1iLnNlYXJjaCgiJmNzaGlkPSIpPT09LTEmJmEhPT0ic2xoIixmPVtdO2YucHVzaChbInp4IixEYXRlLm5vdygpLnRvU3RyaW5nKCldKTtoLl9jc2hpZCYmZyYmZi5wdXNoKFsiY3NoaWQiLGguX2NzaGlkXSk7Yz1jKCk7YyE9bnVsbCYmZi5wdXNoKFsib3BpIixjLnRvU3RyaW5nKCldKTtmb3IoYz0wO2M8Zi5sZW5ndGg7YysrKXtpZihjPT09MHx8Yz4wKWQrPSImIjtkKz1mW2NdWzBdKyI9IitmW2NdWzFdfXJldHVybiIvIisoa3x8Imdlbl8yMDQiKSsiP2F0eXA9aSZjdD0iK1N0cmluZyhhKSsiJmNhZD0iKyhiK2UrZCl9O209Z29vZ2xlLmtFSTtnb29nbGUuZ2V0RUk9cDtnb29nbGUuZ2V0TEVJPXE7Z29vZ2xlLm1sPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9O2dvb2dsZS5sb2c9ZnVuY3Rpb24oYSxiLGMsZCxrLGUpe2U9ZT09PXZvaWQgMD9sOmU7Y3x8KGM9dChhLGIsZSxkLGspKTtpZihjPXIoYykpe2E9bmV3IEltYWdlO3ZhciBnPW4ubGVuZ3RoO25bZ109YTthLm9uZXJyb3I9YS5vbmxvYWQ9YS5vbmFib3J0PWZ1bmN0aW9uKCl7ZGVsZXRlIG5bZ119O2Euc3JjPWN9fTtnb29nbGUubG9nVXJsPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwP2w6YjtyZXR1cm4gdCgiIixhLGIpfTt9KS5jYWxsKHRoaXMpOyhmdW5jdGlvbigpe2dvb2dsZS55PXt9O2dvb2dsZS5zeT1bXTt2YXIgZDsoZD1nb29nbGUpLnh8fChkLng9ZnVuY3Rpb24oYSxiKXtpZihhKXZhciBjPWEuaWQ7ZWxzZXtkbyBjPU1hdGgucmFuZG9tKCk7d2hpbGUoZ29vZ2xlLnlbY10pfWdvb2dsZS55W2NdPVthLGJdO3JldHVybiExfSk7dmFyIGU7KGU9Z29vZ2xlKS5zeHx8KGUuc3g9ZnVuY3Rpb24oYSl7Z29vZ2xlLnN5LnB1c2goYSl9KTtnb29nbGUubG09W107dmFyIGY7KGY9Z29vZ2xlKS5wbG18fChmLnBsbT1mdW5jdGlvbihhKXtnb29nbGUubG0ucHVzaC5hcHBseShnb29nbGUubG0sYSl9KTtnb29nbGUubHE9W107dmFyIGc7KGc9Z29vZ2xlKS5sb2FkfHwoZy5sb2FkPWZ1bmN0aW9uKGEsYixjKXtnb29nbGUubHEucHVzaChbW2FdLGIsY10pfSk7dmFyIGg7KGg9Z29vZ2xlKS5sb2FkQWxsfHwoaC5sb2FkQWxsPWZ1bmN0aW9uKGEsYil7Z29vZ2xlLmxxLnB1c2goW2EsYl0pfSk7Z29vZ2xlLmJ4PSExO3ZhciBrOyhrPWdvb2dsZSkubHh8fChrLmx4PWZ1bmN0aW9uKCl7fSk7dmFyIGw9W10sbTsobT1nb29nbGUpLmZjZXx8KG0uZmNlPWZ1bmN0aW9uKGEsYixjLG4pe2wucHVzaChbYSxiLGMsbl0pfSk7Z29vZ2xlLnFjZT1sO30pLmNhbGwodGhpcyk7Z29vZ2xlLmY9e307KGZ1bmN0aW9uKCl7CmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJzdWJtaXQiLGZ1bmN0aW9uKGIpe3ZhciBhO2lmKGE9Yi50YXJnZXQpe3ZhciBjPWEuZ2V0QXR0cmlidXRlKCJkYXRhLXN1Ym1pdGZhbHNlIik7YT1jPT09IjEifHxjPT09InEiJiYhYS5lbGVtZW50cy5xLnZhbHVlPyEwOiExfWVsc2UgYT0hMTthJiYoYi5wcmV2ZW50RGVmYXVsdCgpLGIuc3RvcFByb3BhZ2F0aW9uKCkpfSwhMCk7ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihiKXt2YXIgYTthOntmb3IoYT1iLnRhcmdldDthJiZhIT09ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O2E9YS5wYXJlbnRFbGVtZW50KWlmKGEudGFnTmFtZT09PSJBIil7YT1hLmdldEF0dHJpYnV0ZSgiZGF0YS1ub2hyZWYiKT09PSIxIjticmVhayBhfWE9ITF9YSYmYi5wcmV2ZW50RGVmYXVsdCgpfSwhMCk7fSkuY2FsbCh0aGlzKTsoZnVuY3Rpb24oKXtnb29nbGUuaHM9e2g6dHJ1ZSxuaHM6ZmFsc2Usc2llOmZhbHNlfTt9KSgpOyhmdW5jdGlvbigpe2dvb2dsZS5jPXtidGZpOmZhbHNlLGM0dDp0cnVlLGNhZjpmYWxzZSxjYXA6MjAwMCxjZnI6ZmFsc2UsY3JwOmZhbHNlLGNzcDpmYWxzZSxjc3hzOmZhbHNlLGRpOmZhbHNlLGZsYTpmYWxzZSxmbGk6ZmFsc2UsZ2w6dHJ1ZSxpcnNmOmZhbHNlLGxoYzpmYWxzZSxtYWlzOnRydWUsbWFyYjp0cnVlLG1jYzpmYWxzZSxwY2k6dHJ1ZSxyYWY6ZmFsc2UsdGFmOnRydWUsdGltbDpmYWxzZSx0cHJjOmZhbHNlLHZpczp0cnVlLHdoMDpmYWxzZSx3aHU6ZmFsc2V9O30pKCk7KGZ1bmN0aW9uKCl7CnZhciBwPXRoaXN8fHNlbGY7d2luZG93Lmdvb2dsZT13aW5kb3cuZ29vZ2xlfHx7fTt2YXIgcT13aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJiJuYXZpZ2F0aW9uU3RhcnQiaW4gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyxhYT1nb29nbGUuc3R2c2MmJmdvb2dsZS5zdHZzYy5ucyxyPXE/YWF8fHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0OnZvaWQgMDtmdW5jdGlvbiB0KCl7cmV0dXJuIHdpbmRvdy5wZXJmb3JtYW5jZS5ub3coKS0oZ29vZ2xlLnN0dnNjJiZnb29nbGUuc3R2c2MucG5vfHwwKX12YXIgYmE9Z29vZ2xlLnN0dnNjJiZnb29nbGUuc3R2c2MucnMsdT1xP2JhfHx3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlU3RhcnQ6dm9pZCAwO2Z1bmN0aW9uIGNhKGEsYixjKXthOntmb3IodmFyIGQ9YTtkJiZkIT09YjtkPWQucGFyZW50RWxlbWVudClpZihkLnN0eWxlLm92ZXJmbG93PT09ImhpZGRlbiJ8fGQudGFnTmFtZT09PSJHLUVYUEFOREFCTEUtQ09OVEVOVCImJmdldENvbXB1dGVkU3R5bGUoZCkuZ2V0UHJvcGVydHlWYWx1ZSgib3ZlcmZsb3ciKT09PSJoaWRkZW4iKXtiPWQ7YnJlYWsgYX1iPW51bGx9aWYoIWIpcmV0dXJuITE7YT1jKGEpO2M9YyhiKTtyZXR1cm4gYS5ib3R0b208Yy50b3B8fGEudG9wPj1jLmJvdHRvbXx8YS5yaWdodDxjLmxlZnR8fGEubGVmdD49Yy5yaWdodH0KZnVuY3Rpb24gZGEoYSl7cmV0dXJuIGEuc3R5bGUuZGlzcGxheT09PSJub25lIj8hMDpkb2N1bWVudC5kZWZhdWx0VmlldyYmZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZT8oYT1kb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKGEpLCEhYSYmKGEudmlzaWJpbGl0eT09PSJoaWRkZW4ifHxhLmhlaWdodD09PSIwcHgiJiZhLndpZHRoPT09IjBweCIpKTohMX0KZnVuY3Rpb24gZWEoYSxiLGMsZCxlKXt2YXIgaz1lKGEpLG09ay5sZWZ0KyhjPzA6d2luZG93LnBhZ2VYT2Zmc2V0KSxuPWsudG9wKyhjPzA6d2luZG93LnBhZ2VZT2Zmc2V0KSxoPWsud2lkdGgsZj1rLmhlaWdodCxnPTA7aWYoIWImJmY8PTAmJmg8PTApcmV0dXJuIGc7Yj13aW5kb3cuaW5uZXJIZWlnaHR8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7bitmPDA/Zz0yOm4+PWImJihnPTQpO2lmKG0raDwwfHxtPj0od2luZG93LmlubmVyV2lkdGh8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCkpZ3w9ODtlbHNlIGlmKGQpe209ay5sZWZ0O2lmKCFjKWZvcig7YSYmYSE9PWQ7YT1hLnBhcmVudEVsZW1lbnQpbSs9YS5zY3JvbGxMZWZ0O2Q9ZShkKTtpZihtK2g8ZC5sZWZ0fHxtPj1kLnJpZ2h0KWd8PTg7ay50b3A+PWQuYm90dG9tJiYoZ3w9NCl9Z3x8KGc9MSxuK2Y+YiYmKGd8PTQpKTtyZXR1cm4gZ307dmFyIGZhPWdvb2dsZS5jLmNhcCxoYT1nb29nbGUuYy5jc3Asdj1nb29nbGUuYy52aXMsdz1nb29nbGUuYy5nbCxpYT1nb29nbGUuYy5tYXJiLGphPWdvb2dsZS5jLnRhZix4PWdvb2dsZS5jLnRpbWwsa2E9Z29vZ2xlLmMucGNpO2Z1bmN0aW9uIHkoYSxiKXtnb29nbGUudGljaygibG9hZCIsYSxiKX1mdW5jdGlvbiB6KGEsYil7Z29vZ2xlLmMuZSgibG9hZCIsYSxTdHJpbmcoYikpfWZ1bmN0aW9uIEEoYSxiLGMsZCl7YS5hZGRFdmVudExpc3RlbmVyP2EuYWRkRXZlbnRMaXN0ZW5lcihiLGMsZHx8ITEpOmEuYXR0YWNoRXZlbnQmJmEuYXR0YWNoRXZlbnQoIm9uIitiLGMpfWZ1bmN0aW9uIEIoYSxiLGMsZCl7ImFkZEV2ZW50TGlzdGVuZXIiaW4gYT9hLnJlbW92ZUV2ZW50TGlzdGVuZXIoYixjLGR8fCExKTphLmF0dGFjaEV2ZW50JiZhLmRldGFjaEV2ZW50KCJvbiIrYixjKX07dmFyIGxhPWZ1bmN0aW9uKGEsYixjKXt0aGlzLmc9YTt0aGlzLnY9W107dGhpcy5CPXRoaXMuZy5oYXNBdHRyaWJ1dGUoImRhdGEtbm9hZnQiKTt0aGlzLmo9ISF0aGlzLmcuZ2V0QXR0cmlidXRlKCJkYXRhLWRlZmVycmVkIik7dmFyIGQ7aWYoZD0hdGhpcy5qKWE6e2ZvcihkPTA7ZDxDLmxlbmd0aDsrK2QpaWYoYS5nZXRBdHRyaWJ1dGUoImRhdGEtIitDW2RdKSl7ZD0hMDticmVhayBhfWQ9ITF9dGhpcy5sPWQ7dGhpcy5GPXRoaXMuZy5oYXNBdHRyaWJ1dGUoImRhdGEtYnNyYyIpOyhhPXRoaXMuZy5zcmMpJiZ0aGlzLmwmJih0aGlzLkQ9YSk7IXRoaXMubCYmdHlwZW9mIGE9PT0ic3RyaW5nIiYmYXx8dGhpcy5nLnNldEF0dHJpYnV0ZSgiZGF0YS1senlfIiwiMSIpO3RoaXMuQj9iPSEwOmJ8fHcmJnRoaXMuaXx8dGhpcy5qfHx0aGlzLmw/Yj0hMTooYj10aGlzLmcuc3JjLGI9dHlwZW9mIGIhPT0ic3RyaW5nInx8IWIsYT10aGlzLmcuZ2V0QXR0cmlidXRlKCJkYXRhLWNtcCIpLGI9CmEhPT1udWxsP2E9PT0iMSI6Ynx8dGhpcy5nLmNvbXBsZXRlKTt0aGlzLkE9Yjt3fHx0aGlzLkF8fHRoaXMuaXx8RCh0aGlzKTt2JiYhYyYmRSh0aGlzKX0sRD1mdW5jdGlvbihhKXtnb29nbGUucmxsKGEuZywhMCxmdW5jdGlvbigpe0YoYSxEYXRlLm5vdygpKX0pfSxFPWZ1bmN0aW9uKGEpe2lmKGEuQz09PXZvaWQgMCl7dmFyIGI9YS5nO3ZhciBjO2E6e2ZvcihjPWI7YztjPWMucGFyZW50RWxlbWVudClpZihjLnRhZ05hbWU9PT0iRy1TQ1JPTExJTkctQ0FST1VTRUwifHxoYSYmYy5jbGFzc0xpc3QuY29udGFpbnMoIlhOZkFVYiIpKWJyZWFrIGE7Yz1udWxsfXZhciBkPWIucGFyZW50RWxlbWVudDtpZihkJiYoZC50YWdOYW1lPT09IkctSU1HInx8ZC5jbGFzc0xpc3QuY29udGFpbnMoInVoSE93ZiIpKSYmKGQuc3R5bGUuaGVpZ2h0fHxkLnN0eWxlLndpZHRoKSl7dmFyIGU9ZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxrPWIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYoZS5oZWlnaHQ8PQprLmhlaWdodHx8ZS53aWR0aDw9ay53aWR0aCliPWR9Yj1nb29nbGUuY3YoYiwhMSx2b2lkIDAsYyk7YS5DPWJ9cmV0dXJuIGEuQ30sRj1mdW5jdGlvbihhLGIpe2lmKGEuRCYmYS5nLnNyYz09PWEuRHx8YS5nLmdldEF0dHJpYnV0ZSgiZGF0YS1kZWZlcnJlZCIpPT09IjEiKXd8fEQoYSk7ZWxzZSBpZighYS5pKXthLmomJmEuZy5zZXRBdHRyaWJ1dGUoImRhdGEtZGVmZXJyZWQiLCIzIik7YS5pPWI7Yj1hLmk7Zm9yKHZhciBjPTA7YzxhLnYubGVuZ3RoOysrYylhLnZbY10oYixhLmcpO2Eudi5sZW5ndGg9MH19LEM9InNyYyBic3JjIHVybCBsbCBpbWFnZSBpbWctdXJsIGxpb2kiLnNwbGl0KCIgIik7Z29vZ2xlLmMuaWltPWdvb2dsZS5jLmlpbXx8e307dmFyIEc9Z29vZ2xlLmMuaWltLG1hPTA7ZnVuY3Rpb24gSChhLGIsYyxkKXt2YXIgZT1hLmdldEF0dHJpYnV0ZSgiZGF0YS1jc2lpZCIpO2V8fChlPVN0cmluZygrK21hKSxrYSYmKGU9Z29vZ2xlLmtFSSsiXyIrZSkpO0dbZV18fChhLnNldEF0dHJpYnV0ZSgiZGF0YS1jc2lpZCIsZSksR1tlXT1iP2IoYSk6bmV3IGxhKGEsYyxkKSk7cmV0dXJuIEdbZV19ZnVuY3Rpb24gSShhKXtmb3IodmFyIGI9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImltZyIpLGM9MCxkPWIubGVuZ3RoO2M8ZDsrK2MpYShIKGJbY10pKX07ZnVuY3Rpb24gbmEoYSl7aWYoYSYmKGE9YS50YXJnZXQsYS50YWdOYW1lPT09IklNRyIpKXt2YXIgYj1EYXRlLm5vdygpO0YoSChhLHZvaWQgMCwhMCwhMCksYil9fWZ1bmN0aW9uIEooYSl7Z29vZ2xlLmMub2lsKGEpfTtnb29nbGUudGltZXJzPXt9O2dvb2dsZS5zdGFydFRpY2s9ZnVuY3Rpb24oYSl7Z29vZ2xlLnRpbWVyc1thXT17dDp7c3RhcnQ6RGF0ZS5ub3coKX0sZTp7fSxtOnt9fX07Z29vZ2xlLnRpY2s9ZnVuY3Rpb24oYSxiLGMpe2dvb2dsZS50aW1lcnNbYV18fGdvb2dsZS5zdGFydFRpY2soYSk7Yz1jIT09dm9pZCAwP2M6RGF0ZS5ub3coKTtiIGluc3RhbmNlb2YgQXJyYXl8fChiPVtiXSk7Zm9yKHZhciBkPTAsZTtlPWJbZCsrXTspZ29vZ2xlLnRpbWVyc1thXS50W2VdPWN9O2dvb2dsZS5jLmU9ZnVuY3Rpb24oYSxiLGMpe2dvb2dsZS50aW1lcnNbYV0uZVtiXT1jfTtnb29nbGUuYy5iPWZ1bmN0aW9uKGEsYil7Yj1nb29nbGUudGltZXJzW2J8fCJsb2FkIl0ubTtiW2FdJiZnb29nbGUubWwoRXJyb3IoImEiKSwhMSx7bTphfSk7YlthXT0hMH07Z29vZ2xlLmMudT1mdW5jdGlvbihhLGIpe3ZhciBjPWdvb2dsZS50aW1lcnNbYnx8ImxvYWQiXTtiPWMubTtpZihiW2FdKXtiW2FdPSExO2ZvcihhIGluIGIpaWYoYlthXSlyZXR1cm4hMTt3JiYoQihkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsImxvYWQiLEosITApLEIoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCJlcnJvciIsSiwhMCkpO2dvb2dsZS5jc2lSZXBvcnQoYywiYWxsIik7cmV0dXJuITB9Yz0iIjtmb3IodmFyIGQgaW4gYiljKz1kKyI6IitiW2RdKyI7Ijtnb29nbGUubWwoRXJyb3IoImIiKSwhMSx7bTphLGI6YlthXT09PSExLHM6Y30pO3JldHVybiExfTtnb29nbGUucmxsPWZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKGUpe2MoZSk7QihhLCJsb2FkIixkKTtCKGEsImVycm9yIixkKX1BKGEsImxvYWQiLGQpO2ImJkEoYSwiZXJyb3IiLGQpfTtwLmdvb2dsZS5hZnQ9ZnVuY3Rpb24oYSl7YS5zZXRBdHRyaWJ1dGUoImRhdGEtaW1sIixTdHJpbmcoRGF0ZS5ub3coKSkpfTtnb29nbGUuc3RhcnRUaWNrKCJsb2FkIik7Z29vZ2xlLnRpY2soImxvYWQiLCJoc3QiKTt2YXIgSz1nb29nbGUudGltZXJzLmxvYWQ7aWYoIWdvb2dsZS5zdHZzY3x8Z29vZ2xlLnN0dnNjLnN3KXt2YXIgTD1LLnQsTT13aW5kb3cucGVyZm9ybWFuY2U7TSYmKHImJnUmJnU+ciYmdTw9TC5zdGFydD8oTC5zdGFydD11LEsud3NydD11LXIpOk0ubm93JiYoSy53c3J0PU1hdGguZmxvb3IodCgpKSkpfWdvb2dsZS5jLmIoInhlIiwibG9hZCIpO3ZhciBOO2lmKChOPWdvb2dsZS5zdHZzYyk9PW51bGw/MDpOLnN0YXJ0KWdvb2dsZS50aW1lcnMubG9hZC50LnN0YXJ0PWdvb2dsZS5zdHZzYy5zdGFydDtmdW5jdGlvbiBPKGEpe2lmKGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJoaWRkZW4iKXtnb29nbGUuYy5maD1hO3ZhciBiO3ImJihiPU1hdGguZmxvb3IocithKSk7Z29vZ2xlLnRpY2soImxvYWQiLCJmaHQiLGIpO3JldHVybiEwfXJldHVybiExfQpmdW5jdGlvbiBQKGEpe08oYS50aW1lU3RhbXApJiZCKGRvY3VtZW50LCJ2aXNpYmlsaXR5Y2hhbmdlIixQLCEwKX1nb29nbGUuYy5maD1JbmZpbml0eTtBKGRvY3VtZW50LCJ2aXNpYmlsaXR5Y2hhbmdlIixQLCEwKTtPKDApO3cmJihnb29nbGUuYy5vaWw9bmEsQShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsImxvYWQiLEosITApLEEoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCJlcnJvciIsSiwhMCkpO2dvb2dsZS5jdj1mdW5jdGlvbihhLGIsYyxkKXtpZighYXx8IWImJmRhKGEpKXJldHVybiAwO2lmKCFhLmdldEJvdW5kaW5nQ2xpZW50UmVjdClyZXR1cm4gMTt2YXIgZT1mdW5jdGlvbihrKXtyZXR1cm4gay5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX07cmV0dXJuIWImJmNhKGEsZCxlKT8wOmVhKGEsYixjLGQsZSl9O2Z1bmN0aW9uIFEoYSl7dHJ5e2EoKX1jYXRjaChiKXtnb29nbGUubWwoYiwhMSl9fWZ1bmN0aW9uIG9hKCl7aWYoZ29vZ2xlLmFmdHEhPT1udWxsKXtnb29nbGUudGljaygibG9hZCIsImFmdHFmIixEYXRlLm5vdygpKTtmb3IodmFyIGEsYj0wLGM7Yz0oYT1nb29nbGUuYWZ0cSk9PW51bGw/dm9pZCAwOmFbYisrXTspUShjKTtnb29nbGUuYWZ0cT1udWxsfX1nb29nbGUuY2FmdD1mdW5jdGlvbihhKXtnb29nbGUuYWZ0cT09PW51bGw/UShhKTooZ29vZ2xlLmFmdHE9Z29vZ2xlLmFmdHF8fFtdLGdvb2dsZS5hZnRxLnB1c2goYSkpfTtmdW5jdGlvbiBSKCl7cmV0dXJuIHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24mJndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGV9O3ZhciBwYT13aW5kb3cubG9jYXRpb24scWE9ImFmdCBhZnRpIGFmdHIgYWZ0cyBjYnMgY2J0IGZodCBmcnRzIGZydnQgaGN0IGhzdCBwcnQgcHJzIHNjdCIuc3BsaXQoIiAiKTtmdW5jdGlvbiBTKGEpe3JldHVybihhPXBhLnNlYXJjaC5tYXRjaChuZXcgUmVnRXhwKCJbPyZdIithKyI9KFxcZCspIikpKT9OdW1iZXIoYVsxXSk6LTF9CmZ1bmN0aW9uIFQoYSl7dmFyIGI9Z29vZ2xlLnRpbWVycy5sb2FkLGM9Yi5tO2lmKCFjfHwhYy5wcnMpe2M9d2luZG93Ll9jc2M9PT0iYWdzYSImJndpbmRvdy5fY3NoaWQ7dmFyIGQ9UigpfHxjPzA6UygicXN1YnRzIik7ZD4wJiYoYz1TKCJmYnRzIiksYz4wJiYoYi50LnN0YXJ0PU1hdGgubWF4KGQsYykpKTt2YXIgZT1iLnQsaz1lLnN0YXJ0O2M9e307Yi53c3J0IT09dm9pZCAwJiYoYy53c3J0PWIud3NydCk7aWYoaylmb3IodmFyIG09MCxuO249cWFbbSsrXTspe3ZhciBoPWVbbl07aCYmKGNbbl09TWF0aC5tYXgoaC1rLDApKX1kPjAmJihjLmdzYXNydD1iLnQuc3RhcnQtZCk7Yj1iLmU7YT0iL2dlbl8yMDQ/cz0iK2dvb2dsZS5zbisiJnQ9IithKyImYXR5cD1jc2kmZWk9Iitnb29nbGUua0VJKyImcnQ9IjtkPSIiO2Zvcih2YXIgZiBpbiBjKWErPSIiK2QrZisiLiIrY1tmXSxkPSIsIjtmb3IodmFyIGcgaW4gYilhKz0iJiIrZysiPSIrYltnXTtmPWE7Zz0iIjthPVtdO3AuX2NzaGlkJiYKYS5wdXNoKFsiY3NoaWQiLHAuX2NzaGlkXSk7Yj13aW5kb3cuZ29vZ2xlIT09dm9pZCAwJiZ3aW5kb3cuZ29vZ2xlLmtPUEkhPT12b2lkIDAmJndpbmRvdy5nb29nbGUua09QSSE9PTA/d2luZG93Lmdvb2dsZS5rT1BJOm51bGw7YiE9bnVsbCYmYS5wdXNoKFsib3BpIixiLnRvU3RyaW5nKCldKTtmb3IoYj0wO2I8YS5sZW5ndGg7YisrKXtpZihiPT09MHx8Yj4wKWcrPSImIjtnKz1hW2JdWzBdKyI9IithW2JdWzFdfWE9ZitnOyhmPWdvb2dsZS5zdHZzYykmJihhKz0iJnNzcj0xIik7aWYoZj9mLmlzQkY6UigpPT09MilhKz0iJmJiPTEiO1IoKT09PTEmJihhKz0iJnI9MSIpOyJnc2FzcnQiaW4gYyYmKGM9UygicXNkIiksYz4wJiYoYSs9IiZxc2Q9IitjKSk7Yz1hO3R5cGVvZiBuYXZpZ2F0b3Iuc2VuZEJlYWNvbj09PSJmdW5jdGlvbiI/bmF2aWdhdG9yLnNlbmRCZWFjb24oYywiIik6Z29vZ2xlLmxvZygiIiwiIixjKX19O2Z1bmN0aW9uIFUoYSl7YSYmZ29vZ2xlLnRpY2soImxvYWQiLCJjYnMiLGEpO2dvb2dsZS50aWNrKCJsb2FkIiwiY2J0Iik7VCgiY2FwIil9O3ZhciBzYT1mdW5jdGlvbihhKXt2YXIgYj1yYTtiLmc9YTtiLmcmJihiLmcoKSxiLmc9bnVsbCl9LHJhPW5ldyBmdW5jdGlvbigpe3RoaXMuZz1udWxsfTtmdW5jdGlvbiBWKGEsYixjKXtmdW5jdGlvbiBkKCl7a3x8bSE9PW58fGMoZixoLGcpfWZ1bmN0aW9uIGUobCx5YSl7bD1NYXRoLm1heChmLGwpO2YhPT1sJiYoaD1mLGc9eWEpO2Y9bDsrK247ZCgpfXZhciBrPSEwLG09MCxuPTAsaD0wLGY9MCxnO0koZnVuY3Rpb24obCl7YShsKSYmKCsrbSxsLml8fGwuQT9lKGwuaXx8MCxsLmcpOmwudi5wdXNoKGUpKX0pO2IoKTtrPSExO2QoKX07dmFyIFc9d2luZG93LnBlcmZvcm1hbmNlO2Z1bmN0aW9uIHRhKCl7aWYoZ29vZ2xlLmMuYzR0JiZXJiZXLm1hcmsmJlcudGltaW5nKXt2YXIgYT1nb29nbGUudGltZXJzLmxvYWQsYj1hLndzcnQ7YT1hLnQuYWZ0O2ImJmI+MCYmYSYmYT4wJiYoYS09Vy50aW1pbmcubmF2aWdhdGlvblN0YXJ0LGE+MCYmKFcubWFyaygiU2VhcmNoQUZUU3RhcnQiLHtzdGFydFRpbWU6Yn0pLFcubWFyaygidHJpZ2dlcjpTZWFyY2hBRlRFbmQiLHtzdGFydFRpbWU6YX0pKSl9fTt2YXIgdWE9ITEsWD0wLFk9MCxaO2Z1bmN0aW9uIHZhKGEsYil7dmFyIGM9Z29vZ2xlLmMud2gsZD0hYjtiPWI/TWF0aC5mbG9vcihiLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCt3aW5kb3cucGFnZVlPZmZzZXQpOi0xOyFZJiYoZHx8Yj49YykmJihZPWEsWD1iKTtpZihZKXt2YXIgZT0wLGs9MCxtPTAsbj0hMTtWKGZ1bmN0aW9uKGgpe2lmKCEoRShoKSYxKSlyZXR1cm4hMTtpZihoLkEpcmV0dXJuKyttLCFoLkI7RShoKSY0JiYobj0hMCk7aC5qJiYrK2s7KytlO3JldHVybiEwfSxmdW5jdGlvbigpe3ooImltYSIsZSk7eigiaW1hZCIsayk7eigiaW1hYyIsbSk7ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiSWI3RWZjIikubGVuZ3RoJiZ6KCJkZGwiLDEpO3ooIndoIixjKX0sZnVuY3Rpb24oaCxmLGcpe2gmJnkoImFmdGkiLGgpO2YmJnkoImFmdGlwIixmKTtYPjAmJnkoImFmdHMiLFkpO2lmKGcpe3ZhciBsO2Y9KChsPWcuY2xvc2VzdCgiW2RhdGEtdmVkXSIpKT09bnVsbD92b2lkIDA6bC5nZXRBdHRyaWJ1dGUoImRhdGEtdmVkIikpfHwKIk5GIjt6KCJhZnRpZSIsZil9bD1ZO2Y9WDtpZigwPmx8fGlhJiZjJiZYPGMmJjA+PWMpZj1sPTA7aCYmKCFqYXx8aD5sfHxuKSYmKGw9aCxmPWMpO3koImFmdCIsbCk7eigiYWZ0IiwxKTt6KCJhZnRwIixmKTtzYShmdW5jdGlvbigpe1omJmNsZWFyVGltZW91dChaKTtUKCJhZnQiKX0pO3RhKCk7ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlPT09ImhpZGRlbiImJnooImhkZG4iLDEpO2dvb2dsZS5jLnUoImFmdCIpO29hKCl9KX19O3ZhciB3YT0hMTtmdW5jdGlvbiB4YShhKXthPUgoYSk7dyYmdiYmRShhKTtyZXR1cm4gMH07Z29vZ2xlLmMud2g9TWF0aC5mbG9vcih3aW5kb3cuaW5uZXJIZWlnaHR8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQpO2dvb2dsZS5jLmIoInBydCIpO3ZhciB6YT1mYXx8MDtpZih6YT4wKWE6e2lmKHIhPT12b2lkIDApe3ZhciBBYT10KCksQmE9emEtQWE7aWYoQmE+MCl7Wj1zZXRUaW1lb3V0KFUsQmEsTWF0aC5mbG9vcihyK0FhKSk7YnJlYWsgYX1VKCl9Wj12b2lkIDB9Z29vZ2xlLmMubWFmdD1mdW5jdGlvbihhLGIpe3d8fEkoZnVuY3Rpb24oKXt9KTt1YXx8KGdvb2dsZS5jLmIoImFmdCIpLHVhPSEwKTtZfHx2YShhLGIpfTtnb29nbGUuYy5taW1sPWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoZCl7dmFyIGU9RShkKTtkLmcuc2V0QXR0cmlidXRlKCJkYXRhLWF0ZiIsU3RyaW5nKGUpKTtyZXR1cm4geCYmIWQuQiYmKCFkLmx8fGQuRnx8ISEoRShkKSYxKSl9ZnVuY3Rpb24gYyhkKXt4JiZ5KCJpbWwiLGR8fGEpO2dvb2dsZS5jLnUoImltbCIpfXdhfHwoZ29vZ2xlLmMuYigiaW1sIiksZnVuY3Rpb24oKXtWKGIsZnVuY3Rpb24oKXt9LGMpfSgwKSx3YT0hMCl9O2dvb2dsZS5jLnViPWZ1bmN0aW9uKCl7fTtpZighd3x8dilnb29nbGUuYy5zZXR1cD14YTt9KS5jYWxsKHRoaXMpOyhmdW5jdGlvbigpe2Z1bmN0aW9uIGIoKXtmb3IodmFyIGE9Z29vZ2xlLmRyYy5zaGlmdCgpO2E7KWEoKSxhPWdvb2dsZS5kcmMuc2hpZnQoKX07Z29vZ2xlLmRyYz1bZnVuY3Rpb24oKXtnb29nbGUudGljayYmZ29vZ2xlLnRpY2soImxvYWQiLCJkY2wiKX1dO2dvb2dsZS5kY2xjPWZ1bmN0aW9uKGEpe2dvb2dsZS5kcmMubGVuZ3RoP2dvb2dsZS5kcmMucHVzaChhKTphKCl9O3dpbmRvdy5hZGRFdmVudExpc3RlbmVyPyhkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixiLCExKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsYiwhMSkpOndpbmRvdy5hdHRhY2hFdmVudCYmd2luZG93LmF0dGFjaEV2ZW50KCJvbmxvYWQiLGIpO30pLmNhbGwodGhpcyk7KGZ1bmN0aW9uKCl7dmFyIGI9W107Z29vZ2xlLmpzYz17eHg6Yix4OmZ1bmN0aW9uKGEpe2IucHVzaChhKX0sbW06W10sbTpmdW5jdGlvbihhKXtnb29nbGUuanNjLm1tLmxlbmd0aHx8KGdvb2dsZS5qc2MubW09YSl9fTt9KS5jYWxsKHRoaXMpOyhmdW5jdGlvbigpe3ZhciBlPWZ1bmN0aW9uKGIpe3ZhciBhPTA7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGE8Yi5sZW5ndGg/e2RvbmU6ITEsdmFsdWU6YlthKytdfTp7ZG9uZTohMH19fSxoPWZ1bmN0aW9uKGIpe2lmKCEoYiBpbnN0YW5jZW9mIEFycmF5KSl7dmFyIGE9dHlwZW9mIFN5bWJvbCE9InVuZGVmaW5lZCImJlN5bWJvbC5pdGVyYXRvciYmYltTeW1ib2wuaXRlcmF0b3JdO2lmKGEpYj1hLmNhbGwoYik7ZWxzZSBpZih0eXBlb2YgYi5sZW5ndGg9PSJudW1iZXIiKWI9e25leHQ6ZShiKX07ZWxzZSB0aHJvdyBFcnJvcigiYWAiK1N0cmluZyhiKSk7Zm9yKHZhciBjPVtdOyEoYT1iLm5leHQoKSkuZG9uZTspYy5wdXNoKGEudmFsdWUpO2I9Y31yZXR1cm4gYn07CnZhciBrPXRoaXN8fHNlbGY7CnZhciBsPVsiZm9jdXMiLCJibHVyIiwiZXJyb3IiLCJsb2FkIiwidG9nZ2xlIl07aCgiY2xpY2sgZGJsY2xpY2sgZm9jdXNpbiBmb2N1c291dCBrZXlkb3duIGtleXVwIGtleXByZXNzIG1vdXNlb3ZlciBtb3VzZW91dCBzdWJtaXQgdG91Y2hzdGFydCB0b3VjaGVuZCB0b3VjaG1vdmUgdG91Y2hjYW5jZWwgYXV4Y2xpY2sgY2hhbmdlIGNvbXBvc2l0aW9uc3RhcnQgY29tcG9zaXRpb251cGRhdGUgY29tcG9zaXRpb25lbmQgYmVmb3JlaW5wdXQgaW5wdXQgc2VsZWN0IGNvcHkgY3V0IHBhc3RlIG1vdXNlZG93biBtb3VzZXVwIHdoZWVsIGNvbnRleHRtZW51IGRyYWdvdmVyIGRyYWdlbnRlciBkcmFnbGVhdmUgZHJvcCBkcmFnc3RhcnQgZHJhZ2VuZCBwb2ludGVyZG93biBwb2ludGVybW92ZSBwb2ludGVydXAgcG9pbnRlcmNhbmNlbCBwb2ludGVyb3ZlciBwb2ludGVyb3V0IGdvdHBvaW50ZXJjYXB0dXJlIGxvc3Rwb2ludGVyY2FwdHVyZSBlbmRlZCBsb2FkZWRtZXRhZGF0YSBwYWdlaGlkZSBwYWdlc2hvdyB2aXNpYmlsaXR5Y2hhbmdlIGJlZm9yZW1hdGNoIi5zcGxpdCgiICIpKTtoKGwpO3ZhciBuPWZ1bmN0aW9uKCl7dmFyIGI9bTt0aGlzLnY9e307dGhpcy5BPXt9O3RoaXMuaj1udWxsO3RoaXMuZz1bXTt0aGlzLmk9Yn07bi5wcm90b3R5cGUuaGFuZGxlRXZlbnQ9ZnVuY3Rpb24oYixhLGMpe3EodGhpcyx7ZXZlbnRUeXBlOmIsZXZlbnQ6YSx0YXJnZXRFbGVtZW50OmEudGFyZ2V0LGVpYzpjLHRpbWVTdGFtcDpEYXRlLm5vdygpLGVpYTp2b2lkIDAsZWlycDp2b2lkIDAsZWlhY2s6dm9pZCAwfSl9O3ZhciBxPWZ1bmN0aW9uKGIsYSl7aWYoYi5qKWIuaihhKTtlbHNle2EuZWlycD0hMDt2YXIgYzsoYz1iLmcpPT1udWxsfHxjLnB1c2goYSl9fSxyPWZ1bmN0aW9uKGIsYSl7aWYoIShhIGluIGIudikmJmIuaSl7dmFyIGM9ZnVuY3Rpb24oZyxwLE8pe2IuaGFuZGxlRXZlbnQoZyxwLE8pfTtiLnZbYV09Yzt2YXIgZD1hPT09Im1vdXNlZW50ZXIiPyJtb3VzZW92ZXIiOmE9PT0ibW91c2VsZWF2ZSI/Im1vdXNlb3V0IjphPT09InBvaW50ZXJlbnRlciI/InBvaW50ZXJvdmVyIjphPT09InBvaW50ZXJsZWF2ZSI/InBvaW50ZXJvdXQiOmE7aWYoZCE9PWEpe3ZhciBmPWIuQVtkXXx8W107Zi5wdXNoKGEpO2IuQVtkXT1mfWIuaS5hZGRFdmVudExpc3RlbmVyKGQsZnVuY3Rpb24oZyl7cmV0dXJuIGZ1bmN0aW9uKHApe2MoYSxwLGcpfX0pfX07bi5wcm90b3R5cGUucz1mdW5jdGlvbihiKXtyZXR1cm4gdGhpcy52W2JdfTtuLnByb3RvdHlwZS5sPWZ1bmN0aW9uKCl7dGhpcy5pLmwoKTt0aGlzLmk9bnVsbDt0aGlzLnY9e307dGhpcy5BPXt9O3RoaXMuaj1udWxsO3RoaXMuZz1bXX07bi5wcm90b3R5cGUuZWNyZD1mdW5jdGlvbihiKXt0aGlzLmo9Yjt2YXIgYTtpZigoYT10aGlzLmcpPT1udWxsPzA6YS5sZW5ndGgpe2ZvcihiPTA7Yjx0aGlzLmcubGVuZ3RoO2IrKylxKHRoaXMsdGhpcy5nW2JdKTt0aGlzLmc9bnVsbH19O3ZhciB0PXR5cGVvZiBuYXZpZ2F0b3IhPT0idW5kZWZpbmVkIiYmL2lQaG9uZXxpUGFkfGlQb2QvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksdj1mdW5jdGlvbigpe3RoaXMuZz11O3RoaXMuaT1bXX07di5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihiLGEpe3QmJih0aGlzLmcuc3R5bGUuY3Vyc29yPSJwb2ludGVyIik7dmFyIGM9dGhpcy5pLGQ9Yy5wdXNoLGY9dGhpcy5nO2E9YSh0aGlzLmcpO3ZhciBnPSExO2wuaW5kZXhPZihiKT49MCYmKGc9ITApO2YuYWRkRXZlbnRMaXN0ZW5lcihiLGEsZyk7ZC5jYWxsKGMse2V2ZW50VHlwZTpiLHM6YSxjYXB0dXJlOmd9KX07di5wcm90b3R5cGUubD1mdW5jdGlvbigpe2Zvcih2YXIgYj0wO2I8dGhpcy5pLmxlbmd0aDtiKyspe3ZhciBhPXRoaXMuZyxjPXRoaXMuaVtiXTthLnJlbW92ZUV2ZW50TGlzdGVuZXI/YS5yZW1vdmVFdmVudExpc3RlbmVyKGMuZXZlbnRUeXBlLGMucyxjLmNhcHR1cmUpOmEuZGV0YWNoRXZlbnQmJmEuZGV0YWNoRXZlbnQoIm9uIitjLmV2ZW50VHlwZSxjLnMpfXRoaXMuaT1bXX07dmFyIHc9ZnVuY3Rpb24oKXt0aGlzLmc9W107dGhpcy5pPVtdO3RoaXMuaj1bXX07dy5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihiLGEpe2Zvcih2YXIgYz1mdW5jdGlvbihmKXtmLmFkZEV2ZW50TGlzdGVuZXIoYixhKX0sZD0wO2Q8dGhpcy5nLmxlbmd0aDtkKyspYyh0aGlzLmdbZF0pO3RoaXMuai5wdXNoKGMpfTt3LnByb3RvdHlwZS5sPWZ1bmN0aW9uKCl7Zm9yKHZhciBiPVtdLmNvbmNhdChoKHRoaXMuZyksaCh0aGlzLmkpKSxhPTA7YTxiLmxlbmd0aDthKyspYlthXS5sKCk7dGhpcy5nPVtdO3RoaXMuaT1bXTt0aGlzLmo9W119O3ZhciB5PWZ1bmN0aW9uKGIpe2Zvcih2YXIgYT14LGM9MDtjPGEuai5sZW5ndGg7YysrKWEualtjXShiKX07ZnVuY3Rpb24geihiKXtmb3IodmFyIGE9QSxjPTA7YzxhLmxlbmd0aDsrK2MpaWYoQihhW2NdLmcsYi5nKSlyZXR1cm4hMDtyZXR1cm4hMX0KZnVuY3Rpb24gQihiLGEpe2lmKGI9PT1hKXJldHVybiExO2Zvcig7YiE9PWEmJmEucGFyZW50Tm9kZTspYT1hLnBhcmVudE5vZGU7cmV0dXJuIGI9PT1hfTt2YXIgbT1uZXcgdzthOntmb3IodmFyIHg9bSx1PXdpbmRvdy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsQz0wO0M8eC5nLmxlbmd0aDtDKyspaWYodT09PXguZ1tDXS5nKWJyZWFrIGE7dmFyIEQ9bmV3IHYsRTtiOntmb3IodmFyIEY9MDtGPHguZy5sZW5ndGg7RisrKWlmKEIoeC5nW0ZdLmcsRC5nKSl7RT0hMDticmVhayBifUU9ITF9aWYoRSl4LmkucHVzaChEKTtlbHNle3koRCk7eC5nLnB1c2goRCk7Zm9yKHZhciBBPVtdLmNvbmNhdChoKHguaSksaCh4LmcpKSxHPVtdLEg9W10sST0wO0k8eC5nLmxlbmd0aDsrK0kpe3ZhciBKPXguZ1tJXTt6KEopPyhHLnB1c2goSiksSi5sKCkpOkgucHVzaChKKX1mb3IodmFyIEs9MDtLPHguaS5sZW5ndGg7KytLKXt2YXIgTD14LmlbS107eihMKT9HLnB1c2goTCk6KEgucHVzaChMKSx5KEwpKX14Lmc9SDt4Lmk9R319CmZvcih2YXIgTT1uZXcgbixOPSJjbGljayBmb2N1cyBmb2N1c2luIGJsdXIgZm9jdXNvdXQgZXJyb3IgbG9hZCBhdXhjbGljayBjaGFuZ2UgY29weSBkYmxjbGljayBiZWZvcmVpbnB1dCBpbnB1dCBrZXl1cCBrZXlkb3duIGtleXByZXNzIG1vdXNlZG93biBtb3VzZWVudGVyIG1vdXNlbGVhdmUgbW91c2VvdXQgbW91c2VvdmVyIG1vdXNldXAgcGFzdGUgcG9pbnRlcmVudGVyIHBvaW50ZXJsZWF2ZSB0b3VjaHN0YXJ0IHRvdWNobW92ZSB0b3VjaGVuZCB0b3VjaGNhbmNlbCB0cmFuc2l0aW9uY2FuY2VsIHRyYW5zaXRpb25lbmQgdHJhbnNpdGlvbnJ1biB0cmFuc2l0aW9uc3RhcnQgZHJhZ292ZXIgZHJhZ2VudGVyIGRyYWdsZWF2ZSBkcm9wIGRyYWdzdGFydCBkcmFnZW5kIHNwZWVjaCIuc3BsaXQoIiAiKSxQPTA7UDxOLmxlbmd0aDtQKyspcihNLE5bUF0pOyhmdW5jdGlvbihiKXtnb29nbGUuanNhZD1mdW5jdGlvbihhKXthKGIpfX0pKE0pO3ZhciBRPWZ1bmN0aW9uKGIpe3JldHVybnt0cmlnZ2VyOmZ1bmN0aW9uKGEpe3ZhciBjPWIucyhhLnR5cGUpO2N8fChyKGIsYS50eXBlKSxjPWIucyhhLnR5cGUpKTt2YXIgZD1hLnRhcmdldHx8YS5zcmNFbGVtZW50O2MmJmMoYS50eXBlLGEsZC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCl9LGNvbmZpZ3VyZTpmdW5jdGlvbihhKXthKGIpfX19KE0pO2suZ3dzX3dpemJpbmQ9UTsoZnVuY3Rpb24oYixhKXt2YXIgYz1mdW5jdGlvbihkKXt2YXIgZj1kLmRldGFpbDtmJiZmLl90eXBlJiZhKHt0eXBlOmYuX3R5cGUsdGFyZ2V0OmQudGFyZ2V0LGJ1YmJsZXM6ITAsZGV0YWlsOmZ9KX07Yi5hZGRFdmVudExpc3RlbmVyKCJfY3VzdG9tIixjKTtyZXR1cm4gZnVuY3Rpb24oKXtiLnJlbW92ZUV2ZW50TGlzdGVuZXIoIl9jdXN0b20iLGMpfX0pKHdpbmRvdy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsUS50cmlnZ2VyKTt9KS5jYWxsKHRoaXMpOzwvc2NyaXB0PiAgPHNjcmlwdCBub25jZT0iYUE3VmEtYmVlaElMc2wyaEZsUHQtZyI+KGZ1bmN0aW9uKCl7Z29vZ2xlLnhqcz17YmFzZWNvbWI6Jy94anMvXy9qcy9rXHgzZHhqcy5oZC5lbi56SEFMd25SODNxRS5PL2NrXHgzZHhqcy5oZC5oaGtfTlJmd0otcy5MLkIxLk8vYW1ceDNkQUV3QkFBQUFBQUFBR0FBQUFBQUFBQUFBQUFBQUFBQUFDQUFBQkFBQUFBQUFwQUEwa0FDQUFzQUdCQUFBQUVBQWdBQkFnQ0FBZ0NnQUFCQUFIQUFnQWdvQUlnR0FBTVNDQUR6S0J3Q0VBTUlFQ0JBQmlnQVNBQUtDS0NJQUFFQUFBQ0JDd0lCaEFBSVZBQXdDQUFBQWdBQUNBQUFBQTFoakFBRUNBUG9JQUJBQUlDSUFBQWlnQXdRQUJBQUZnRUJRQUJqQUFBRWdBQUVBQUFEb0FVQndBQXhTRUFBQUFBQUFBQUFBQUFBQUNFQ0NZQzRrb0NDQUFBQUFBQUFBQUFBQUFBQUFBRWhKSnhZMi9kXHgzZDEvZWRceDNkMS9kZ1x4M2QwL2JyXHgzZDEvdWpnXHgzZDEvcnNceDNkQUNUOTBvR09ZdWhVbFJMYktvVWRqQVhJVTE2M2VFTUZkZycsYmFzZWNzczonL3hqcy9fL3NzL2tceDNkeGpzLmhkLmhoa19OUmZ3Si1zLkwuQjEuTy9hbVx4M2RBRXdCQUFBQUFBQUFHQUFBQUFBQUFBQUFBQUFBQUFBQUNBQUFCQUFBQUFBQW9BQWdrQUNBQU1BR0JBQUFBRUFBZ0FBQUFBQUFBQ2dBQUFBQUdBQUFBQWdBSUFHQUFJQ0FBQUFBQXdDRUFBSUFDQkFCaWdBU0FBS0NLQUlBQUVBQUFDQkN3SUJoQUFJVkFBd0NBQUFBZ0FBQ0FBQUFBRmdqQUFFQ0FQb0lBQkFBSUNJQUFBaWdBd1FBQkFBRWdBQkFBQmpBQUFFQUFBQUFBQUNBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDQUFDQUFvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUIvYnJceDNkMS9yc1x4M2RBQ1Q5MG9Gdk9UM2tpLXdrYnhKZTZKNkQ4eGR1eV9VSWNnJyxiYXNlanM6Jy94anMvXy9qcy9rXHgzZHhqcy5oZC5lbi56SEFMd25SODNxRS5PL2FtXHgzZEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBaEFBVUFBQ0FBZ0FBQUFBQUFBQUFBQUJBZ0NBQWdDZ0FBQkFBSEFBZ0FnSUFBZ0VBQUVTQ0FEektCd0NBQU1BRUFCQUFnQUFBQUFJQ0FDQUFBRUFBQUFCQ0FBQUFBQUFVQUFBQUFBQUFBQUFBQUFBQUF3aEFBQUFBQUFBQUFBQUFBQUlBQUFDZ0F3QUFBQUFCQUVBUUFCakFBQUVnQUFFQUFBRG9BVUJ3QUF4U0VBQUFBQUFBQUFBQUFBQUFDRUNDWUM0a29DQ0FBQUFBQUFBQUFBQUFBQUFBQUVoSkp4WTIvZGdceDNkMC9iclx4M2QxL3JzXHgzZEFDVDkwb0hZdEwzMVhfYWJvSlRwMk4xQm5lZnRVdXBXR2cnLGV4Y206W119O30pKCk7PC9zY3JpcHQ+IDxzY3JpcHQgbm9uY2U9ImFBN1ZhLWJlZWhJTHNsMmhGbFB0LWciPihmdW5jdGlvbigpe3ZhciBmPSJzcmMgaHJlZiBhc3luYyBub25jZSB0eXBlIGNoYXJzZXQgY3Jvc3NvcmlnaW4gb25sb2FkIHJlbCIuc3BsaXQoIiAiKTt3aW5kb3cuX3J0Zj1mdW5jdGlvbihiLGMpe3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoYi50YWdOYW1lKTtmLmZvckVhY2goZnVuY3Rpb24oZSl7YVtlXT1iW2VdfSk7YS5vbmVycm9yPWZ1bmN0aW9uKCl7d2luZG93Ll9ydGYoYSxjKX07dmFyIGQ9Yi5kYXRhc2V0LnJ0Yz09PXZvaWQgMD8wOk51bWJlcihiLmRhdGFzZXQucnRjKTtkPj00P2MmJmMoKTooYS5kYXRhc2V0LnJ0Yz1TdHJpbmcoZCsxKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKX0sNTAqTWF0aC5wb3coMixkKStNYXRoLnJhbmRvbSgpKjUwKSl9O30pLmNhbGwodGhpcyk7PC9zY3JpcHQ+IDxsaW5rIGhyZWY9Ii94anMvXy9zcy9rPXhqcy5oZC5oaGtfTlJmd0otcy5MLkIxLk8vYW09QUV3QkFBQUFBQUFBR0FBQUFBQUFBQUFBQUFBQUFBQUFDQUFBQkFBQUFBQUFvQUFna0FDQUFNQUdCQUFBQUVBQWdBQUFBQUFBQUNnQUFBQUFHQUFBQUFnQUlBR0FBSUNBQUFBQUF3Q0VBQUlBQ0JBQmlnQVNBQUtDS0FJQUFFQUFBQ0JDd0lCaEFBSVZBQXdDQUFBQWdBQUNBQUFBQUZnakFBRUNBUG9JQUJBQUlDSUFBQWlnQXdRQUJBQUVnQUJBQUJqQUFBRUFBQUFBQUFDQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0FBQ0FBb0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFCL2Q9MS9lZD0xL2JyPTEvcnM9QUNUOTBvRnZPVDNraS13a2J4SmU2SjZEOHhkdXlfVUljZy9tPWNkb3MsaHNtLGpzYSxtYjRaVWIsZCxjc2ksY0V0OTBiLFNOVW4zLHFkZGdLZSxzVHNETWMsZHRsMGhkLGVIRGZsIiBvbmVycm9yPSJfcnRmKHRoaXMpIiByZWw9InN0eWxlc2hlZXQiIG5vbmNlPSJhQTdWYS1iZWVoSUxzbDJoRmxQdC1nIj4gPHNjcmlwdCBub25jZT0iYUE3VmEtYmVlaElMc2wyaEZsUHQtZyI+KGZ1bmN0aW9uKCl7Z29vZ2xlLmtFWFBJPScwLDIwMjcyNywxMTAxMDc1LDIzOTY0NDgsMTEzMSw4LDU1Mjc2OCwxNTkwMjUsODU2NDYsODg0MDUsNTQ4MjEsMTA1Njg1LDMzMTg1LDc5MDAyLDU4MjkyLDIyMzA5LDI4MywxMzIwOSwyODc3NCwxNjQyLDUyMjQyMzUsMTg4OCwyOCw4NCwxNjI3MzUxOSwxOTIzNDI5NSwyNjY0NjQ1Miw3OCwyMzg1MCw2OTA1OSwxMjQzMywzMDEwLDM0NjY1LDI4NDIsMjE5NjksMjczMiwyNDQxLDk1NTEsMzYsMTAwOSwxOTkyNiwzMzIwLDI2OTMsMzc1LDM2NzQsMTA2MywxNDIyNSwxMjMsNjMxLDQyNTIsMTU0NywxOTE0LDExNTEzLDkxOSwyNTA0LDg5MzUsMTgzMiw0OSwzMTA4LDQzMDQsMjU3OCw1NTYwLDM4LDI5NDUsMTMsNTU2LDI0LDEyNzQsMTE4OCwxMTcsMzUsOTUsODgwLDEwMjUsMTk0MSwxNDI1LDMxMyw5MzAsNzUsMjY5NCwxMjMxLDI5OCw5MiwxMzQ3LDE4NCw4MzEsMjMzLDgzMywxMDMxLDI0Nyw2NzE0LDE5NjgsNDQ1LDE2OTMsMjAxOSw1MjQsNTExLDE4NDYsNzQ1LDI0MjAsMTUxMyw2MjEsMjg4LDIwMSw4MywzNDcsMjE1MCw3NTUsNTQ4LDYyLDY5NSwxNjEsMTYzJzt9KSgpO3dpbmRvdy5fID0gd2luZG93Ll8gfHwge307d2luZG93Ll9EdW1wRXhjZXB0aW9uID0gXy5fRHVtcEV4Y2VwdGlvbiA9IGZ1bmN0aW9uKGUpe3Rocm93IGU7fTt3aW5kb3cuX3MgPSB3aW5kb3cuX3MgfHwge307X3MuX0R1bXBFeGNlcHRpb24gPSBfLl9EdW1wRXhjZXB0aW9uO3dpbmRvdy5fcXMgPSB3aW5kb3cuX3FzIHx8IHt9O19xcy5fRHVtcEV4Y2VwdGlvbiA9IF8uX0R1bXBFeGNlcHRpb247KGZ1bmN0aW9uKCl7dmFyIHQ9WzkzMTg0LDAsOTgzMDQsMCwwLDAsMzI3NjgsMjU2LDYwMzk3OTc3NiwzNzgwMjI0Miw3MzgzMzg4MTYsNjcxMjU1MDUsMTYzODQsMTAwNzI4ODM0LDQyNDY3MzYyLDI3MjUxMiw1MjU1OTkwMCw3NjAyNzExNCw3NDQ0OTEwMDgsODQ4MjMyNDgwLDg4MTQ1OTksNTM4OTcyOTM2LDUzNzQ1MjU2MSw1NDUzMjA5OTYsNTcyNzk1NDMyLDI2NCw0MzY5OTUxMDYsMzU3NDY2MTM2LDMzNzA0OTYwLDM2MTc1ODcyLDIzNTkzMjgsNDE2Njc4MDk2LDEzMTMyOCw5MTkyLDM1NzgyNjU3LDY3MTIxOTcxMiwyMDEzMjc2MTksMzQwODQzNTIsMjUxNjcxMDgsMTM0MjM0MTYwLDI1Niw0OTk3MTIsNTQ5NDU1NjIxLDEwNDQsMCwwLDYwNDAxMjU0NCwxNTE3NTQ3ODQsODM5Njk2MCwwLDAsMCw2NTkxMTM5ODQsNTUzODhdO3dpbmRvdy5fRl90b2dnbGVzID0gd2luZG93Ll94anNfdG9nZ2xlcyA9IHQ7fSkoKTt3aW5kb3cuX0ZfaW5zdGFsbENzcyA9IHdpbmRvdy5fRl9pbnN0YWxsQ3NzIHx8IGZ1bmN0aW9uKGNzcyl7fTsoZnVuY3Rpb24oKXt3aW5kb3cuZ29vZ2xlLnhqc3U9Jy94anMvXy9qcy9rXHgzZHhqcy5oZC5lbi56SEFMd25SODNxRS5PL2FtXHgzZEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBaEFBVUFBQ0FBZ0FBQUFBQUFBQUFBQUJBZ0NBQWdDZ0FBQkFBSEFBZ0FnSUFBZ0VBQUVTQ0FEektCd0NBQU1BRUFCQUFnQUFBQUFJQ0FDQUFBRUFBQUFCQ0FBQUFBQUFVQUFBQUFBQUFBQUFBQUFBQUF3aEFBQUFBQUFBQUFBQUFBQUlBQUFDZ0F3QUFBQUFCQUVBUUFCakFBQUVnQUFFQUFBRG9BVUJ3QUF4U0VBQUFBQUFBQUFBQUFBQUFDRUNDWUM0a29DQ0FBQUFBQUFBQUFBQUFBQUFBQUVoSkp4WTIvZFx4M2QxL2VkXHgzZDEvZGdceDNkMy9iclx4M2QxL3JzXHgzZEFDVDkwb0hZdEwzMVhfYWJvSlRwMk4xQm5lZnRVdXBXR2cvZWVceDNkQUxlSmliOkI4Z0x3ZDtBZmVhUDpUa3JBamY7Qk14QUdjOkU1YkZzZTtCZ1M2bWI6ZmlkajVkO0Jqd01jZTpjWFgyV2I7Q3hYQVdiOll5Ukx2YztETTU1YzppbUxyS2U7RFVMcUI6UktmRzVjO0RrazZnZTp3SnFycmQ7RHBjUjNkOnpMNzJ4ZjtFQUJTWjpNWFp0OWQ7RVNyUFFjOm1OVEp2YztFVk5oamY6cHc3MEdjO0VtWjJCZjp6cjFqcmI7RW5sY05kOldlSGc0O0VybDRmZTpGbG9XbWYsRmxvV21mO0Y5bXF0ZTpVb1JjYmU7Rm12OU5jOk8xVHp3YztHMEtoVGI6TElhb1o7RzZ3VTZlOmhlekViZDtHbGVaTDpKMUE3T2Q7SE1ERFdlOkc4UVVkYjtIb1lWS2I6UGtETjdlO0hxZVhQZDpjbWJuSDtJQkFEQ2M6UllxdVJiO0lack5xZTpQOGhhMmM7SW9HbENmOmI1bGh2YjtJc2RXVmM6cXp4ek9iO0pYUzhmYjpRajBzdWM7SmJNVDM6TTI1c1M7SnNiTmhjOlhkOGlVZDtLT3hjSzpPWnFHdGU7S1F6V2lkOlpNS2tOO0tjb2tVYjpLaXVaQmY7S3BSQXVlOlRpYTU3YjtMQmdSTGM6U2Rjd0hiLFhWTU52ZDtMRWlrWmU6YnlmVE9iLGxzalZtYztMWEE4YjpxN09kS2Q7THNOYWhiOnVjR0xOYjtNZTMyZGQ6TUVlWWdjO05QS2FLOlNkY3dIYjtOU0VvWDpsYXpHN2I7TnA4UWtkOkRweDZxYztOeXQ2aWM6am4yc0dkO09nYWdCZTpjTlRlMDtPajQ2NWU6S0cyZVhlLEtHMmVYZTtPb2hJWWU6bXBFQVFiO1BqcGx1ZDpFRURPUmIsUG9FczliO1ExT3c3Yjp4NUNTdTtRNkM1a2Y6cGZkWkNlO1FHUjBnZDpNbGhteTtSMmtjOGI6QUxKcVdiO1I0SUlJYjpRV2ZlS2Y7UjlVbHg6Q1I3VWZlO1JETkJsZjp6UFJDSmI7U0x0cU86S2gxeFllO1NNREw0YzpmVGZHTyxmVGZHTztTTlVuMzpad0RrOWQseDhjSHZiO1NocEY2ZTpOMHB2R2M7U3pRUTNlOmROaG9mYjtUeGZWNmQ6WU9STjBiO1U5NnBSZDpGc1IwNDtVQktKWjpMR0RKR2I7VURyWTFjOmVwczQ2ZDtVVm1qRWQ6RWVzUnNiO1V5RzdLYjp3UWQwRztWMkhUVGU6Um9sVFk7VkdSZng6VkZxYnI7Vk42akljOmRkUXl1ZjtWT2NnRGU6WXF1aFRiO1ZzQXFTYjpQR2YyUmU7VnhRMzJiOmswWHNCYjtXQ0VLTmQ6STQ2SHZkO1dER3lGZTpqY1ZPeGQ7V2ZtZHVlOmczTUpsYjtYVWV6WjpzYTdscWI7WVY1YmVlOkl2UFo2ZDtZa1F0QWY6cng4dXI7Wk12ZHY6UEhGUGpiO1pTSDZ0YzpRQXZ5TGU7WldFVUE6YWZSNENmO2E1NnBOZTpKRWZDd2I7YUFKRTljOldIVzZFZjthQ0o5dGY6cUtmdHZjO2FaNjFvZDphclR3SjthZjBFSmY6Z2hpbklkO2JEWHdSZTpVc3lPdGM7YmNQWFNjOmdTWkxKYjtjRXQ5MGI6d3M5VGxjO2NGVFdhZTpnVDhxbmQ7Y29KOGU6S3ZvVzg7ZElvU0JiOlpnR2c5YjtkTGxqMjpRcXQzR2Y7ZGFCNmJlOmxNeEdQZDtkdGwwaGQ6bExRV0ZlO2VCQWVTYjpDazYzdGI7ZUJaNU5kOlZydURCZDtlSERmbDpvZmpWa2I7ZU8zbHNlOm5GQ2xyZjtldU9YWTpPWmpiUTtnOG5reDpVNE16S2M7Z2F1YjQ6VE42Yk1lO2d0VlNpOmVrVU9ZZDtoM01Zb2Q6Y0V0OTBiO2hLNjdxYjpRV0VPNWI7aGVIQjE6c0ZjenE7aGpSbzZlOkY2MnNHO2hzTHNZYzpWbDExODtpRlF5S2Y6UUloRnIsdmZ1TkpmO2ltcWltZjpqS0dMMmU7aW84dDVkOnNnWTZaYjtqWTB6ZzpRNnROZ2M7azJReGNiOlhZNTFwZTtrQ1F5Sjp1ZXlQSztrTUZwSGQ6T1RBM0FlO2tiQW05ZDpNa0h5R2Q7bGtxMEE6SnlCRTNlO25BRkwzOk5UTVphYyxzMzlTNDtuSnc0R2Q6ZFBGWkg7b0d0QXVjOnNPWEZqO29TVU55ZDpmVGZHTyxmVGZHTztvVWxucGM6UmFnRGxjO29rVWFVZDp3SXRhZGI7cEtKaVhkOlZDZW5oYztwTnNsMmQ6ajlZdXljO3BYZFJZYjpKS29LVmU7cGo4MmxlOm1nNUNXO3FaeDJGYzpqMHhyRTtxYVMzZ2Q6eWlMZzZlO3FhdnJYZTp6UXpjWGU7cWRkZ0tlOmQ3WVNmZCx4NEZZWGU7clFTcmFlOkM2RDVGYztzUDRWYmU6VndEekZlO3NUc0RNYzprSFZTVWI7c1ptZHZjOnJkR0VmYzt0SDRJSWU6WW1yeTY7dG9zS3ZkOlpDcVAzO3RyWkwwYjpxWThQRmU7dVk0OWZiOkNPUWJtZjt1dVFrWTp1MlYzdWQ7dkdyTVo6bFBKSjBjO3ZmVndQZDpsY3Jrd2U7dzNiWkNiOlpQR2FJYjt3NHJTZGY6WEtpWjk7dzl3ODZkOmR0NGcyYjt3UWxZdmU6YUxVZlA7d1I1RlJiOk8xR2p6ZSxUdGNPdGU7d1Y1UGpjOkw4S0d4ZTt3aEVaYWM6RjRBbU5iO3hCYnNyYzpORVcxUWM7eXNOaU1jOkNwSUJqZDt5eFRjaGY6S1VNN1o7ejk3WUdmOm91Zzl0ZTt6T3NDUWU6S283OERmO3phSWdQYjpRdHB4YmQvbVx4M2RjZG9zLGhzbSxqc2EsbWI0WlViLGQsY3NpLGNFdDkwYixTTlVuMyxxZGRnS2Usc1RzRE1jLGR0bDBoZCxlSERmbCc7d2luZG93Ll9GX2pzVXJsPScveGpzL18vanMva1x4M2R4anMuaGQuZW4uekhBTHduUjgzcUUuTy9hbVx4M2RBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQWhBQVVBQUNBQWdBQUFBQUFBQUFBQUFCQWdDQUFnQ2dBQUJBQUhBQWdBZ0lBQWdFQUFFU0NBRHpLQndDQUFNQUVBQkFBZ0FBQUFBSUNBQ0FBQUVBQUFBQkNBQUFBQUFBVUFBQUFBQUFBQUFBQUFBQUFBd2hBQUFBQUFBQUFBQUFBQUFJQUFBQ2dBd0FBQUFBQkFFQVFBQmpBQUFFZ0FBRUFBQURvQVVCd0FBeFNFQUFBQUFBQUFBQUFBQUFBQ0VDQ1lDNGtvQ0NBQUFBQUFBQUFBQUFBQUFBQUFFaEpKeFkyL2RceDNkMS9lZFx4M2QxL2RnXHgzZDMvYnJceDNkMS9yc1x4M2RBQ1Q5MG9IWXRMMzFYX2Fib0pUcDJOMUJuZWZ0VXVwV0dnL2VlXHgzZEFMZUppYjpCOGdMd2Q7QWZlYVA6VGtyQWpmO0JNeEFHYzpFNWJGc2U7QmdTNm1iOmZpZGo1ZDtCandNY2U6Y1hYMldiO0N4WEFXYjpZeVJMdmM7RE01NWM6aW1McktlO0RVTHFCOlJLZkc1YztEa2s2Z2U6d0pxcnJkO0RwY1IzZDp6TDcyeGY7RUFCU1o6TVhadDlkO0VTclBRYzptTlRKdmM7RVZOaGpmOnB3NzBHYztFbVoyQmY6enIxanJiO0VubGNOZDpXZUhnNDtFcmw0ZmU6RmxvV21mLEZsb1dtZjtGOW1xdGU6VW9SY2JlO0ZtdjlOYzpPMVR6d2M7RzBLaFRiOkxJYW9aO0c2d1U2ZTpoZXpFYmQ7R2xlWkw6SjFBN09kO0hNRERXZTpHOFFVZGI7SG9ZVktiOlBrRE43ZTtIcWVYUGQ6Y21ibkg7SUJBRENjOlJZcXVSYjtJWnJOcWU6UDhoYTJjO0lvR2xDZjpiNWxodmI7SXNkV1ZjOnF6eHpPYjtKWFM4ZmI6UWowc3VjO0piTVQzOk0yNXNTO0pzYk5oYzpYZDhpVWQ7S094Y0s6T1pxR3RlO0tReldpZDpaTUtrTjtLY29rVWI6S2l1WkJmO0twUkF1ZTpUaWE1N2I7TEJnUkxjOlNkY3dIYixYVk1OdmQ7TEVpa1plOmJ5ZlRPYixsc2pWbWM7TFhBOGI6cTdPZEtkO0xzTmFoYjp1Y0dMTmI7TWUzMmRkOk1FZVlnYztOUEthSzpTZGN3SGI7TlNFb1g6bGF6RzdiO05wOFFrZDpEcHg2cWM7Tnl0NmljOmpuMnNHZDtPZ2FnQmU6Y05UZTA7T2o0NjVlOktHMmVYZSxLRzJlWGU7T29oSVllOm1wRUFRYjtQanBsdWQ6RUVET1JiLFBvRXM5YjtRMU93N2I6eDVDU3U7UTZDNWtmOnBmZFpDZTtRR1IwZ2Q6TWxobXk7UjJrYzhiOkFMSnFXYjtSNElJSWI6UVdmZUtmO1I5VWx4OkNSN1VmZTtSRE5CbGY6elBSQ0piO1NMdHFPOktoMXhZZTtTTURMNGM6ZlRmR08sZlRmR087U05VbjM6WndEazlkLHg4Y0h2YjtTaHBGNmU6TjBwdkdjO1N6UVEzZTpkTmhvZmI7VHhmVjZkOllPUk4wYjtVOTZwUmQ6RnNSMDQ7VUJLSlo6TEdESkdiO1VEclkxYzplcHM0NmQ7VVZtakVkOkVlc1JzYjtVeUc3S2I6d1FkMEc7VjJIVFRlOlJvbFRZO1ZHUmZ4OlZGcWJyO1ZONmpJYzpkZFF5dWY7Vk9jZ0RlOllxdWhUYjtWc0FxU2I6UEdmMlJlO1Z4UTMyYjprMFhzQmI7V0NFS05kOkk0Nkh2ZDtXREd5RmU6amNWT3hkO1dmbWR1ZTpnM01KbGI7WFVlelo6c2E3bHFiO1lWNWJlZTpJdlBaNmQ7WWtRdEFmOnJ4OHVyO1pNdmR2OlBIRlBqYjtaU0g2dGM6UUF2eUxlO1pXRVVBOmFmUjRDZjthNTZwTmU6SkVmQ3diO2FBSkU5YzpXSFc2RWY7YUNKOXRmOnFLZnR2YzthWjYxb2Q6YXJUd0o7YWYwRUpmOmdoaW5JZDtiRFh3UmU6VXN5T3RjO2JjUFhTYzpnU1pMSmI7Y0V0OTBiOndzOVRsYztjRlRXYWU6Z1Q4cW5kO2NvSjhlOkt2b1c4O2RJb1NCYjpaZ0dnOWI7ZExsajI6UXF0M0dmO2RhQjZiZTpsTXhHUGQ7ZHRsMGhkOmxMUVdGZTtlQkFlU2I6Q2s2M3RiO2VCWjVOZDpWcnVEQmQ7ZUhEZmw6b2ZqVmtiO2VPM2xzZTpuRkNscmY7ZXVPWFk6T1pqYlE7Zzhua3g6VTRNektjO2dhdWI0OlRONmJNZTtndFZTaTpla1VPWWQ7aDNNWW9kOmNFdDkwYjtoSzY3cWI6UVdFTzViO2hlSEIxOnNGY3pxO2hqUm82ZTpGNjJzRztoc0xzWWM6VmwxMTg7aUZReUtmOlFJaEZyLHZmdU5KZjtpbXFpbWY6aktHTDJlO2lvOHQ1ZDpzZ1k2WmI7alkwemc6UTZ0TmdjO2syUXhjYjpYWTUxcGU7a0NReUo6dWV5UEs7a01GcEhkOk9UQTNBZTtrYkFtOWQ6TWtIeUdkO2xrcTBBOkp5QkUzZTtuQUZMMzpOVE1aYWMsczM5UzQ7bkp3NEdkOmRQRlpIO29HdEF1YzpzT1hGajtvU1VOeWQ6ZlRmR08sZlRmR087b1VsbnBjOlJhZ0RsYztva1VhVWQ6d0l0YWRiO3BLSmlYZDpWQ2VuaGM7cE5zbDJkOmo5WXV5YztwWGRSWWI6SktvS1ZlO3BqODJsZTptZzVDVztxWngyRmM6ajB4ckU7cWFTM2dkOnlpTGc2ZTtxYXZyWGU6elF6Y1hlO3FkZGdLZTpkN1lTZmQseDRGWVhlO3JRU3JhZTpDNkQ1RmM7c1A0VmJlOlZ3RHpGZTtzVHNETWM6a0hWU1ViO3NabWR2YzpyZEdFZmM7dEg0SUllOlltcnk2O3Rvc0t2ZDpaQ3FQMzt0clpMMGI6cVk4UEZlO3VZNDlmYjpDT1FibWY7dXVRa1k6dTJWM3VkO3ZHck1aOmxQSkowYzt2ZlZ3UGQ6bGNya3dlO3czYlpDYjpaUEdhSWI7dzRyU2RmOlhLaVo5O3c5dzg2ZDpkdDRnMmI7d1FsWXZlOmFMVWZQO3dSNUZSYjpPMUdqemUsVHRjT3RlO3dWNVBqYzpMOEtHeGU7d2hFWmFjOkY0QW1OYjt4QmJzcmM6TkVXMVFjO3lzTmlNYzpDcElCamQ7eXhUY2hmOktVTTdaO3o5N1lHZjpvdWc5dGU7ek9zQ1FlOktvNzhEZjt6YUlnUGI6UXRweGJkL21ceDNkY2Rvcyxoc20sanNhLG1iNFpVYixkLGNzaSxjRXQ5MGIsU05VbjMscWRkZ0tlLHNUc0RNYyxkdGwwaGQsZUhEZmwnO30pKCk7PC9zY3JpcHQ+IDxzY3JpcHQgZGVmZXI9IiIgc3JjPSIveGpzL18vanMvaz14anMuaGQuZW4uekhBTHduUjgzcUUuTy9hbT1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQWhBQVVBQUNBQWdBQUFBQUFBQUFBQUFCQWdDQUFnQ2dBQUJBQUhBQWdBZ0lBQWdFQUFFU0NBRHpLQndDQUFNQUVBQkFBZ0FBQUFBSUNBQ0FBQUVBQUFBQkNBQUFBQUFBVUFBQUFBQUFBQUFBQUFBQUFBd2hBQUFBQUFBQUFBQUFBQUFJQUFBQ2dBd0FBQUFBQkFFQVFBQmpBQUFFZ0FBRUFBQURvQVVCd0FBeFNFQUFBQUFBQUFBQUFBQUFBQ0VDQ1lDNGtvQ0NBQUFBQUFBQUFBQUFBQUFBQUFFaEpKeFkyL2Q9MS9lZD0xL2RnPTMvYnI9MS9ycz1BQ1Q5MG9IWXRMMzFYX2Fib0pUcDJOMUJuZWZ0VXVwV0dnL2VlPUFMZUppYjpCOGdMd2Q7QWZlYVA6VGtyQWpmO0JNeEFHYzpFNWJGc2U7QmdTNm1iOmZpZGo1ZDtCandNY2U6Y1hYMldiO0N4WEFXYjpZeVJMdmM7RE01NWM6aW1McktlO0RVTHFCOlJLZkc1YztEa2s2Z2U6d0pxcnJkO0RwY1IzZDp6TDcyeGY7RUFCU1o6TVhadDlkO0VTclBRYzptTlRKdmM7RVZOaGpmOnB3NzBHYztFbVoyQmY6enIxanJiO0VubGNOZDpXZUhnNDtFcmw0ZmU6RmxvV21mLEZsb1dtZjtGOW1xdGU6VW9SY2JlO0ZtdjlOYzpPMVR6d2M7RzBLaFRiOkxJYW9aO0c2d1U2ZTpoZXpFYmQ7R2xlWkw6SjFBN09kO0hNRERXZTpHOFFVZGI7SG9ZVktiOlBrRE43ZTtIcWVYUGQ6Y21ibkg7SUJBRENjOlJZcXVSYjtJWnJOcWU6UDhoYTJjO0lvR2xDZjpiNWxodmI7SXNkV1ZjOnF6eHpPYjtKWFM4ZmI6UWowc3VjO0piTVQzOk0yNXNTO0pzYk5oYzpYZDhpVWQ7S094Y0s6T1pxR3RlO0tReldpZDpaTUtrTjtLY29rVWI6S2l1WkJmO0twUkF1ZTpUaWE1N2I7TEJnUkxjOlNkY3dIYixYVk1OdmQ7TEVpa1plOmJ5ZlRPYixsc2pWbWM7TFhBOGI6cTdPZEtkO0xzTmFoYjp1Y0dMTmI7TWUzMmRkOk1FZVlnYztOUEthSzpTZGN3SGI7TlNFb1g6bGF6RzdiO05wOFFrZDpEcHg2cWM7Tnl0NmljOmpuMnNHZDtPZ2FnQmU6Y05UZTA7T2o0NjVlOktHMmVYZSxLRzJlWGU7T29oSVllOm1wRUFRYjtQanBsdWQ6RUVET1JiLFBvRXM5YjtRMU93N2I6eDVDU3U7UTZDNWtmOnBmZFpDZTtRR1IwZ2Q6TWxobXk7UjJrYzhiOkFMSnFXYjtSNElJSWI6UVdmZUtmO1I5VWx4OkNSN1VmZTtSRE5CbGY6elBSQ0piO1NMdHFPOktoMXhZZTtTTURMNGM6ZlRmR08sZlRmR087U05VbjM6WndEazlkLHg4Y0h2YjtTaHBGNmU6TjBwdkdjO1N6UVEzZTpkTmhvZmI7VHhmVjZkOllPUk4wYjtVOTZwUmQ6RnNSMDQ7VUJLSlo6TEdESkdiO1VEclkxYzplcHM0NmQ7VVZtakVkOkVlc1JzYjtVeUc3S2I6d1FkMEc7VjJIVFRlOlJvbFRZO1ZHUmZ4OlZGcWJyO1ZONmpJYzpkZFF5dWY7Vk9jZ0RlOllxdWhUYjtWc0FxU2I6UEdmMlJlO1Z4UTMyYjprMFhzQmI7V0NFS05kOkk0Nkh2ZDtXREd5RmU6amNWT3hkO1dmbWR1ZTpnM01KbGI7WFVlelo6c2E3bHFiO1lWNWJlZTpJdlBaNmQ7WWtRdEFmOnJ4OHVyO1pNdmR2OlBIRlBqYjtaU0g2dGM6UUF2eUxlO1pXRVVBOmFmUjRDZjthNTZwTmU6SkVmQ3diO2FBSkU5YzpXSFc2RWY7YUNKOXRmOnFLZnR2YzthWjYxb2Q6YXJUd0o7YWYwRUpmOmdoaW5JZDtiRFh3UmU6VXN5T3RjO2JjUFhTYzpnU1pMSmI7Y0V0OTBiOndzOVRsYztjRlRXYWU6Z1Q4cW5kO2NvSjhlOkt2b1c4O2RJb1NCYjpaZ0dnOWI7ZExsajI6UXF0M0dmO2RhQjZiZTpsTXhHUGQ7ZHRsMGhkOmxMUVdGZTtlQkFlU2I6Q2s2M3RiO2VCWjVOZDpWcnVEQmQ7ZUhEZmw6b2ZqVmtiO2VPM2xzZTpuRkNscmY7ZXVPWFk6T1pqYlE7Zzhua3g6VTRNektjO2dhdWI0OlRONmJNZTtndFZTaTpla1VPWWQ7aDNNWW9kOmNFdDkwYjtoSzY3cWI6UVdFTzViO2hlSEIxOnNGY3pxO2hqUm82ZTpGNjJzRztoc0xzWWM6VmwxMTg7aUZReUtmOlFJaEZyLHZmdU5KZjtpbXFpbWY6aktHTDJlO2lvOHQ1ZDpzZ1k2WmI7alkwemc6UTZ0TmdjO2syUXhjYjpYWTUxcGU7a0NReUo6dWV5UEs7a01GcEhkOk9UQTNBZTtrYkFtOWQ6TWtIeUdkO2xrcTBBOkp5QkUzZTtuQUZMMzpOVE1aYWMsczM5UzQ7bkp3NEdkOmRQRlpIO29HdEF1YzpzT1hGajtvU1VOeWQ6ZlRmR08sZlRmR087b1VsbnBjOlJhZ0RsYztva1VhVWQ6d0l0YWRiO3BLSmlYZDpWQ2VuaGM7cE5zbDJkOmo5WXV5YztwWGRSWWI6SktvS1ZlO3BqODJsZTptZzVDVztxWngyRmM6ajB4ckU7cWFTM2dkOnlpTGc2ZTtxYXZyWGU6elF6Y1hlO3FkZGdLZTpkN1lTZmQseDRGWVhlO3JRU3JhZTpDNkQ1RmM7c1A0VmJlOlZ3RHpGZTtzVHNETWM6a0hWU1ViO3NabWR2YzpyZEdFZmM7dEg0SUllOlltcnk2O3Rvc0t2ZDpaQ3FQMzt0clpMMGI6cVk4UEZlO3VZNDlmYjpDT1FibWY7dXVRa1k6dTJWM3VkO3ZHck1aOmxQSkowYzt2ZlZ3UGQ6bGNya3dlO3czYlpDYjpaUEdhSWI7dzRyU2RmOlhLaVo5O3c5dzg2ZDpkdDRnMmI7d1FsWXZlOmFMVWZQO3dSNUZSYjpPMUdqemUsVHRjT3RlO3dWNVBqYzpMOEtHeGU7d2hFWmFjOkY0QW1OYjt4QmJzcmM6TkVXMVFjO3lzTmlNYzpDcElCamQ7eXhUY2hmOktVTTdaO3o5N1lHZjpvdWc5dGU7ek9zQ1FlOktvNzhEZjt6YUlnUGI6UXRweGJkL209Y2Rvcyxoc20sanNhLG1iNFpVYixkLGNzaSxjRXQ5MGIsU05VbjMscWRkZ0tlLHNUc0RNYyxkdGwwaGQsZUhEZmwiIG5vbmNlPSJhQTdWYS1iZWVoSUxzbDJoRmxQdC1nIj48L3NjcmlwdD4gICAgICAgIDxzY3JpcHQgbm9uY2U9ImFBN1ZhLWJlZWhJTHNsMmhGbFB0LWciPihmdW5jdGlvbigpe3dpbmRvdy5nb29nbGUuZXJkPXtqc3I6MSxidjoyMDUxLHNkOnRydWUsZGU6dHJ1ZX07fSkoKTsoZnVuY3Rpb24oKXt2YXIgc2RvPWZhbHNlO3ZhciBtZWk9MTA7CnZhciBnPXRoaXN8fHNlbGY7dmFyIGssbD0oaz1nLm1laSkhPW51bGw/azoxLG4scD0obj1nLnNkbykhPW51bGw/bjohMCxxPTAscix0PWdvb2dsZS5lcmQsdj10Lmpzcjtnb29nbGUubWw9ZnVuY3Rpb24oYSxiLGQsbSxlKXtlPWU9PT12b2lkIDA/MjplO2ImJihyPWEmJmEubWVzc2FnZSk7ZD09PXZvaWQgMCYmKGQ9e30pO2QuY2FkPSJwbGVfIitnb29nbGUucGxlKyIuYXBsZV8iK2dvb2dsZS5hcGxlO2lmKGdvb2dsZS5kbClyZXR1cm4gZ29vZ2xlLmRsKGEsZSxkLCEwKSxudWxsO2I9ZDtpZih2PDApe3dpbmRvdy5jb25zb2xlJiZjb25zb2xlLmVycm9yKGEsYik7aWYodj09PS0yKXRocm93IGE7Yj0hMX1lbHNlIGI9IWF8fCFhLm1lc3NhZ2V8fGEubWVzc2FnZT09PSJFcnJvciBsb2FkaW5nIHNjcmlwdCJ8fHE+PWwmJiFtPyExOiEwO2lmKCFiKXJldHVybiBudWxsO3ErKztkPWR8fHt9O2I9ZW5jb2RlVVJJQ29tcG9uZW50O3ZhciBjPSIvZ2VuXzIwND9hdHlwPWkmZWk9IitiKGdvb2dsZS5rRUkpO2dvb2dsZS5rRVhQSSYmKGMrPSImamV4cGlkPSIrYihnb29nbGUua0VYUEkpKTtjKz0iJnNyY3BnPSIrYihnb29nbGUuc24pKyImanNyPSIrYih0LmpzcikrCiImYnZlcj0iK2IodC5idik7dC5kcGYmJihjKz0iJmRwZj0iK2IodC5kcGYpKTt2YXIgZj1hLmxpbmVOdW1iZXI7ZiE9PXZvaWQgMCYmKGMrPSImbGluZT0iK2YpO3ZhciBoPWEuZmlsZU5hbWU7aCYmKGguaW5kZXhPZigiLWV4dGVuc2lvbjovIik+MCYmKGU9MyksYys9IiZzY3JpcHQ9IitiKGgpLGYmJmg9PT13aW5kb3cubG9jYXRpb24uaHJlZiYmKGY9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lm91dGVySFRNTC5zcGxpdCgiXG4iKVtmXSxjKz0iJmNhZD0iK2IoZj9mLnN1YnN0cmluZygwLDMwMCk6Ik5vIHNjcmlwdCBmb3VuZC4iKSkpO2dvb2dsZS5wbGUmJmdvb2dsZS5wbGU9PT0xJiYoZT0yKTtjKz0iJmpzZWw9IitlO2Zvcih2YXIgdSBpbiBkKWMrPSImIixjKz1iKHUpLGMrPSI9IixjKz1iKGRbdV0pO2M9YysiJmVtc2c9IitiKGEubmFtZSsiOiAiK2EubWVzc2FnZSk7Yz1jKyImanNzdD0iK2IoYS5zdGFja3x8Ik4vQSIpO2MubGVuZ3RoPj0xMjI4OCYmKGM9Yy5zdWJzdHIoMCwxMjI4OCkpO2E9YzttfHxnb29nbGUubG9nKDAsIiIsYSk7cmV0dXJuIGF9O3dpbmRvdy5vbmVycm9yPWZ1bmN0aW9uKGEsYixkLG0sZSl7ciE9PWEmJihhPWUgaW5zdGFuY2VvZiBFcnJvcj9lOkVycm9yKGEpLGQ9PT12b2lkIDB8fCJsaW5lTnVtYmVyImluIGF8fChhLmxpbmVOdW1iZXI9ZCksYj09PXZvaWQgMHx8ImZpbGVOYW1lImluIGF8fChhLmZpbGVOYW1lPWIpLGdvb2dsZS5tbChhLCExLHZvaWQgMCwhMSxhLm5hbWU9PT0iU3ludGF4RXJyb3IifHxhLm1lc3NhZ2Uuc3Vic3RyaW5nKDAsMTEpPT09IlN5bnRheEVycm9yInx8YS5tZXNzYWdlLmluZGV4T2YoIlNjcmlwdCBlcnJvciIpIT09LTE/MzowKSk7cj1udWxsO3AmJnE+PWwmJih3aW5kb3cub25lcnJvcj1udWxsKX07fSkoKTs7dGhpcy5nYmFyXz17Q09ORklHOltbWzAsInd3dy5nc3RhdGljLmNvbSIsIm9nLnF0bS5lbl9VUy5GdGxWZHhtRGtXMC4yMDE5Lk8iLCJsdSIsImRlIiwiNTM4IiwwLFs0LDIsIiIsIiIsIiIsIjY1NzAyNzU4MyIsIjAiXSxudWxsLCJoNENyWnBiQkRQZU9pLWdQNkpTNWtBTSIsbnVsbCwwLCJvZy5xdG0udE1jTUM1SVRvQVkuTC5XLk8iLCJBQTJZclR2LU01bDZQZE5RWDhJbFFqVEpHOE9qb3FfTGZBIiwiQUEyWXJUdHU2OHdVOHJRU0V1MXpMb1RZX0JPQlFYaWJBZyIsIiIsMiwxLDIwMCwiTFVYIixudWxsLG51bGwsIjEiLCI1MzgiLDEsbnVsbCxudWxsLDg5OTc4NDQ5LDFdLG51bGwsWzEsMC4xMDAwMDAwMDE0OTAxMTYxLDIsMV0sbnVsbCxbMCwwLDAsbnVsbCwiIiwiIiwiIiwiIiwwLDAsMCwiIl0sWzAsMCwiIiwxLDAsMCwwLDAsMCwwLG51bGwsMCwwLG51bGwsMCwwLG51bGwsbnVsbCwwLDAsMCwiIiwiIiwiIiwiIiwiIiwiIixudWxsLDAsMCwwLDAsMCxudWxsLG51bGwsbnVsbCwicmdiYSgzMiwzMywzNiwxKSIsInJnYmEoMjU1LDI1NSwyNTUsMSkiLDAsMCwxLG51bGwsbnVsbCwxLDAsMCxudWxsLDBdLG51bGwsbnVsbCxbIjEiLCJnY2lfOTFmMzA3NTVkNmE2Yjc4N2RjYzJhNDA2MmU2ZTk4MjQuanMiLCJnb29nbGVhcGlzLmNsaWVudDpnYXBpLmlmcmFtZXMiLCIiLCJkZSJdLG51bGwsbnVsbCxudWxsLG51bGwsWyJtOy9fL3Njcy9hYmMtc3RhdGljL18vanMvaz1nYXBpLmdhcGkuZW4uTUdDeEpibldfWHcuTy9hbT1BQUFnL2Q9MS9ycz1BSHBPb285eGE0aHRMRVZIOXhlNmM0VG9VZWh0VGFMV3ZBL209X19mZWF0dXJlc19fIiwiaHR0cHM6Ly9hcGlzLmdvb2dsZS5jb20iLCIiLCIiLCIiLCIiLG51bGwsMSwiZXNfcGx1c29uZV9nY18yMDI0MDcwOC4xX3AyIiwiZGUiLG51bGwsMF0sWzAuMDA5OTk5OTk5Nzc2NDgyNTgyLCJsdSIsIjUzOCIsW251bGwsIiIsIjAiLG51bGwsMSw1MTg0MDAwLG51bGwsbnVsbCwiIixudWxsLG51bGwsbnVsbCxudWxsLG51bGwsMCxudWxsLDAsbnVsbCwxLDAsMCwwLG51bGwsbnVsbCwwLDAsbnVsbCwwLDAsMCwwLDBdLG51bGwsbnVsbCxudWxsLDAsbnVsbCxudWxsLFsiNTA2MTQ1MSIsImdvb2dsZVxcLihjb218cnV8Y2F8Ynl8a3p8Y29tXFwubXh8Y29tXFwudHIpJCIsMV1dLFsxLG51bGwsbnVsbCw0MDQwMCw1MzgsIkxVWCIsImRlIiwiNjU3MDI3NTgzLjAiLDgsbnVsbCwwLDAsbnVsbCxudWxsLG51bGwsbnVsbCwiMzcwMTM4MSwzNzAxMzg5IixudWxsLG51bGwsbnVsbCwiaDRDclpwYkJEUGVPaS1nUDZKUzVrQU0iLDAsMCwwLG51bGwsMiw1LCJlaCIsMjMsMCwwLDAsMCwxLDg5OTc4NDQ5LDAsMF0sW1tudWxsLG51bGwsbnVsbCwiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vb2cvXy9qcy9rPW9nLnF0bS5lbl9VUy5GdGxWZHhtRGtXMC4yMDE5Lk8vcnQ9ai9tPXFhYnIscV9kbnAscWN3aWQscWFwaWQscWFsZCxxYWRzLHFfZGcvZXhtPXFhYXcscWFkZCxxYWlkLHFlaW4scWhhdyxxaGJhLHFoYnIscWhjaCxxaGdhLHFoaWQscWhpbi9kPTEvZWQ9MS9ycz1BQTJZclR2LU01bDZQZE5RWDhJbFFqVEpHOE9qb3FfTGZBIl0sW251bGwsbnVsbCxudWxsLCJodHRwczovL3d3dy5nc3RhdGljLmNvbS9vZy9fL3NzL2s9b2cucXRtLnRNY01DNUlUb0FZLkwuVy5PL209cWN3aWQsZF9iX2dtMyxkX3dpX2dtMyxkX2xvX2dtMy9leGNtPXFhYXcscWFkZCxxYWlkLHFlaW4scWhhdyxxaGJhLHFoYnIscWhjaCxxaGdhLHFoaWQscWhpbi9kPTEvZWQ9MS9jdD16Z21zL3JzPUFBMllyVHR1Njh3VThyUVNFdTF6TG9UWV9CT0JRWGliQWciXV0sbnVsbCxudWxsLG51bGwsW1tbbnVsbCxudWxsLFtudWxsLG51bGwsbnVsbCwiaHR0cHM6Ly9vZ3MuZ29vZ2xlLmNvbS93aWRnZXQvYXBwL3NvP2VvbT0xXHUwMDI2YXd3ZD0xXHUwMDI2Z20zPTEiXSwwLDQ3MCwzNzAsNDksNCwxLDAsMCw2Myw2NCw4MDAwLCJodHRwczovL3d3dy5nb29nbGUubHUvaW50bC9kZS9hYm91dC9wcm9kdWN0cyIsNjcsMSw2OSxudWxsLDEsNzAsIkJlaW0gTGFkZW4gZGVyIEFud2VuZHVuZ3NsaXN0ZSBpc3QgZWluIFByb2JsZW0gYXVmZ2V0cmV0ZW4uIEJpdHRlIHZlcnN1Y2ggZXMgaW4gZWluIHBhYXIgTWludXRlbiBub2NoIGVpbm1hbCBvZGVyIGdlaGUgenVyIFNlaXRlICUxJHNHb29nbGUtUHJvZHVrdGUlMiRzLiIsMywwLDAsNzQsMCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLCIvd2lkZ2V0L2FwcC9zbyIsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCwwLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsMF0sW251bGwsbnVsbCxbbnVsbCxudWxsLG51bGwsImh0dHBzOi8vb2dzLmdvb2dsZS5jb20vd2lkZ2V0L2NhbGxvdXQ/ZW9tPTFcdTAwMjZkYz0xIl0sbnVsbCwyODAsNDIwLDcwLDI1LDAsbnVsbCwwLG51bGwsbnVsbCw4MDAwLG51bGwsNzEsNCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsNzYsbnVsbCxudWxsLG51bGwsMTA3LDEwOCwxMDksIiIsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLDBdXSxudWxsLG51bGwsIjEiLCI1MzgiLDEsMCxudWxsLCJkZSIsMCxudWxsLDAsMCwwLFtudWxsLCJodHRwczovL3d3dy5nb29nbGUuY29tLyIsbnVsbCxudWxsLG51bGwsMCxudWxsLDAsMCwiIiwiIiwiOCIsImh0dHBzOi8vb2dhZHMtcGEuZ29vZ2xlYXBpcy5jb20iLDAsMCwwLCIiLCIiLDAsMCwwLDg2NDAwLDBdLDAsbnVsbCxudWxsLG51bGwsMF1dXSx9O3RoaXMuZ2Jhcl89dGhpcy5nYmFyX3x8e307KGZ1bmN0aW9uKF8pe3ZhciB3aW5kb3c9dGhpczsKdHJ5ewpfLl9GX3RvZ2dsZXNfaW5pdGlhbGl6ZT1mdW5jdGlvbihhKXsodHlwZW9mIGdsb2JhbFRoaXMhPT0idW5kZWZpbmVkIj9nbG9iYWxUaGlzOnR5cGVvZiBzZWxmIT09InVuZGVmaW5lZCI/c2VsZjp0aGlzKS5fRl90b2dnbGVzPWF8fFtdfTsoMCxfLl9GX3RvZ2dsZXNfaW5pdGlhbGl6ZSkoW10pOwovKgoKIENvcHlyaWdodCBUaGUgQ2xvc3VyZSBMaWJyYXJ5IEF1dGhvcnMuCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwp2YXIgZmEsaGEsbWEsb2EscGEseWEsemEsQmEsQ2EsRGEsR2EsV2EsVmEsWWEsJGEsWmEsYWIsYmIsZWIsZmIsamIsbWIsZ2IsbGIsa2IsaWIsaGIsbmIsb2IseGIsemIsQWIsQmIsQ2I7Xy5hYT1mdW5jdGlvbihhLGIpe2lmKEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKUVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHRoaXMsXy5hYSk7ZWxzZXtjb25zdCBjPUVycm9yKCkuc3RhY2s7YyYmKHRoaXMuc3RhY2s9Yyl9YSYmKHRoaXMubWVzc2FnZT1TdHJpbmcoYSkpO2IhPT12b2lkIDAmJih0aGlzLmNhdXNlPWIpfTtfLmJhPWZ1bmN0aW9uKGEpe18udC5zZXRUaW1lb3V0KCgpPT57dGhyb3cgYTt9LDApfTtfLmNhPWZ1bmN0aW9uKCl7dmFyIGE9Xy50Lm5hdmlnYXRvcjtyZXR1cm4gYSYmKGE9YS51c2VyQWdlbnQpP2E6IiJ9O2ZhPWZ1bmN0aW9uKGEpe3JldHVybiBkYT9lYT9lYS5icmFuZHMuc29tZSgoe2JyYW5kOmJ9KT0+YiYmYi5pbmRleE9mKGEpIT0tMSk6ITE6ITF9OwpfLnU9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uY2EoKS5pbmRleE9mKGEpIT0tMX07aGE9ZnVuY3Rpb24oKXtyZXR1cm4gZGE/ISFlYSYmZWEuYnJhbmRzLmxlbmd0aD4wOiExfTtfLmlhPWZ1bmN0aW9uKCl7cmV0dXJuIGhhKCk/ITE6Xy51KCJPcGVyYSIpfTtfLmthPWZ1bmN0aW9uKCl7cmV0dXJuIGhhKCk/ITE6Xy51KCJUcmlkZW50Iil8fF8udSgiTVNJRSIpfTtfLmxhPWZ1bmN0aW9uKCl7cmV0dXJuIF8udSgiRmlyZWZveCIpfHxfLnUoIkZ4aU9TIil9O18ubmE9ZnVuY3Rpb24oKXtyZXR1cm4gXy51KCJTYWZhcmkiKSYmIShtYSgpfHwoaGEoKT8wOl8udSgiQ29hc3QiKSl8fF8uaWEoKXx8KGhhKCk/MDpfLnUoIkVkZ2UiKSl8fChoYSgpP2ZhKCJNaWNyb3NvZnQgRWRnZSIpOl8udSgiRWRnLyIpKXx8KGhhKCk/ZmEoIk9wZXJhIik6Xy51KCJPUFIiKSl8fF8ubGEoKXx8Xy51KCJTaWxrIil8fF8udSgiQW5kcm9pZCIpKX07Cm1hPWZ1bmN0aW9uKCl7cmV0dXJuIGhhKCk/ZmEoIkNocm9taXVtIik6KF8udSgiQ2hyb21lIil8fF8udSgiQ3JpT1MiKSkmJiEoaGEoKT8wOl8udSgiRWRnZSIpKXx8Xy51KCJTaWxrIil9O29hPWZ1bmN0aW9uKCl7cmV0dXJuIGRhPyEhZWEmJiEhZWEucGxhdGZvcm06ITF9O3BhPWZ1bmN0aW9uKCl7cmV0dXJuIF8udSgiaVBob25lIikmJiFfLnUoImlQb2QiKSYmIV8udSgiaVBhZCIpfTtfLnFhPWZ1bmN0aW9uKCl7cmV0dXJuIHBhKCl8fF8udSgiaVBhZCIpfHxfLnUoImlQb2QiKX07Xy5yYT1mdW5jdGlvbigpe3JldHVybiBvYSgpP2VhLnBsYXRmb3JtPT09Im1hY09TIjpfLnUoIk1hY2ludG9zaCIpfTtfLnRhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uc2EoYSxiKT49MH07Cl8udWE9ZnVuY3Rpb24oYSl7bGV0IGI9IiIsYz0wO2NvbnN0IGQ9YS5sZW5ndGgtMTAyNDA7Zm9yKDtjPGQ7KWIrPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxhLnN1YmFycmF5KGMsYys9MTAyNDApKTtiKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYz9hLnN1YmFycmF5KGMpOmEpO3JldHVybiBidG9hKGIpfTtfLnZhPWZ1bmN0aW9uKGEpe3JldHVybiBhIT1udWxsJiZhIGluc3RhbmNlb2YgVWludDhBcnJheX07Xy53YT1mdW5jdGlvbihhKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYSl9O18ueGE9ZnVuY3Rpb24oYSl7cmV0dXJuISEoKGFbXy52XXwwKSYyKX07eWE9ZnVuY3Rpb24oYSxiKXtiW18udl09KGF8MCkmLTE0NTkxfTt6YT1mdW5jdGlvbihhLGIpe2JbXy52XT0oYXwzNCkmLTE0NTU3fTtCYT1mdW5jdGlvbihhKXtyZXR1cm4hKCFhfHx0eXBlb2YgYSE9PSJvYmplY3QifHxhLmkhPT1BYSl9OwpDYT1mdW5jdGlvbihhKXtyZXR1cm4gYSE9PW51bGwmJnR5cGVvZiBhPT09Im9iamVjdCImJiFBcnJheS5pc0FycmF5KGEpJiZhLmNvbnN0cnVjdG9yPT09T2JqZWN0fTtEYT1mdW5jdGlvbihhLGIsYyl7aWYoIUFycmF5LmlzQXJyYXkoYSl8fGEubGVuZ3RoKXJldHVybiExO2NvbnN0IGQ9YVtfLnZdfDA7aWYoZCYxKXJldHVybiEwO2lmKCEoYiYmKEFycmF5LmlzQXJyYXkoYik/Yi5pbmNsdWRlcyhjKTpiLmhhcyhjKSkpKXJldHVybiExO2FbXy52XT1kfDE7cmV0dXJuITB9O18uRWE9ZnVuY3Rpb24oYSl7aWYoYSYyKXRocm93IEVycm9yKCk7fTtHYT1mdW5jdGlvbihhLGIpeyhiPV8uRmE/YltfLkZhXTp2b2lkIDApJiYoYVtfLkZhXT1fLndhKGIpKX07Xy5JYT1mdW5jdGlvbigpe2NvbnN0IGE9RXJyb3IoKTtIYShhLCJpbmNpZGVudCIpO18uYmEoYSl9O18uSmE9ZnVuY3Rpb24oYSl7YT1FcnJvcihhKTtIYShhLCJ3YXJuaW5nIik7cmV0dXJuIGF9OwpfLkxhPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09ImJvb2xlYW4iKXRocm93IEVycm9yKCJzYCIrXy5LYShhKSsiYCIrYSk7cmV0dXJuIGF9O18uTWE9ZnVuY3Rpb24oYSl7aWYoIU51bWJlci5pc0Zpbml0ZShhKSl0aHJvdyBfLkphKCJlbnVtIik7cmV0dXJuIGF8MH07Xy5OYT1mdW5jdGlvbihhKXtpZih0eXBlb2YgYSE9PSJudW1iZXIiKXRocm93IF8uSmEoImludDMyIik7aWYoIU51bWJlci5pc0Zpbml0ZShhKSl0aHJvdyBfLkphKCJpbnQzMiIpO3JldHVybiBhfDB9O18uT2E9ZnVuY3Rpb24oYSl7aWYoYSE9bnVsbCYmdHlwZW9mIGEhPT0ic3RyaW5nIil0aHJvdyBFcnJvcigpO3JldHVybiBhfTtfLlBhPWZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsfHx0eXBlb2YgYT09PSJzdHJpbmciP2E6dm9pZCAwfTsKXy5SYT1mdW5jdGlvbihhLGIsYyl7aWYoYSE9bnVsbCYmdHlwZW9mIGE9PT0ib2JqZWN0IiYmYS5FZD09PV8uUWEpcmV0dXJuIGE7aWYoQXJyYXkuaXNBcnJheShhKSl7dmFyIGQ9YVtfLnZdfDAsZT1kO2U9PT0wJiYoZXw9YyYzMik7ZXw9YyYyO2UhPT1kJiYoYVtfLnZdPWUpO3JldHVybiBuZXcgYihhKX19O18uVGE9ZnVuY3Rpb24oYSxiKXtTYT1iO2E9bmV3IGEoYik7U2E9dm9pZCAwO3JldHVybiBhfTsKXy5VYT1mdW5jdGlvbihhLGIsYyl7YT09bnVsbCYmKGE9U2EpO1NhPXZvaWQgMDtpZihhPT1udWxsKXt2YXIgZD05NjtjPyhhPVtjXSxkfD01MTIpOmE9W107YiYmKGQ9ZCYtMTY3NjA4MzN8KGImMTAyMyk8PDE0KX1lbHNle2lmKCFBcnJheS5pc0FycmF5KGEpKXRocm93IEVycm9yKCJ0Iik7ZD1hW18udl18MDtpZihkJjIwNDgpdGhyb3cgRXJyb3IoInUiKTtpZihkJjY0KXJldHVybiBhO2R8PTY0O2lmKGMmJihkfD01MTIsYyE9PWFbMF0pKXRocm93IEVycm9yKCJ2Iik7YTp7Yz1hO2NvbnN0IGU9Yy5sZW5ndGg7aWYoZSl7Y29uc3QgZj1lLTE7aWYoQ2EoY1tmXSkpe2R8PTI1NjtiPWYtKCshIShkJjUxMiktMSk7aWYoYj49MTAyNCl0aHJvdyBFcnJvcigidyIpO2Q9ZCYtMTY3NjA4MzN8KGImMTAyMyk8PDE0O2JyZWFrIGF9fWlmKGIpe2I9TWF0aC5tYXgoYixlLSgrISEoZCY1MTIpLTEpKTtpZihiPjEwMjQpdGhyb3cgRXJyb3IoIngiKTtkPWQmLTE2NzYwODMzfChiJjEwMjMpPDwxNH19fWFbXy52XT0KZDtyZXR1cm4gYX07V2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVmEoYil9O1ZhPWZ1bmN0aW9uKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAibnVtYmVyIjpyZXR1cm4gaXNGaW5pdGUoYSk/YTpTdHJpbmcoYSk7Y2FzZSAiYm9vbGVhbiI6cmV0dXJuIGE/MTowO2Nhc2UgIm9iamVjdCI6aWYoYSlpZihBcnJheS5pc0FycmF5KGEpKXtpZihEYShhLHZvaWQgMCwwKSlyZXR1cm59ZWxzZXtpZihfLnZhKGEpKXJldHVybiBfLnVhKGEpO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBfLlhhJiZhIGluc3RhbmNlb2YgXy5YYSlyZXR1cm4gYS5qKCl9fXJldHVybiBhfTtZYT1mdW5jdGlvbihhLGIsYyl7Y29uc3QgZD1fLndhKGEpO3ZhciBlPWQubGVuZ3RoO2NvbnN0IGY9YiYyNTY/ZFtlLTFdOnZvaWQgMDtlKz1mPy0xOjA7Zm9yKGI9YiY1MTI/MTowO2I8ZTtiKyspZFtiXT1jKGRbYl0pO2lmKGYpe2I9ZFtiXT17fTtmb3IoY29uc3QgZyBpbiBmKWJbZ109YyhmW2ddKX1HYShkLGEpO3JldHVybiBkfTsKJGE9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihhIT1udWxsKXtpZihBcnJheS5pc0FycmF5KGEpKWE9RGEoYSx2b2lkIDAsMCk/dm9pZCAwOmUmJihhW18udl18MCkmMj9hOlphKGEsYixjLGQhPT12b2lkIDAsZSk7ZWxzZSBpZihDYShhKSl7Y29uc3QgZj17fTtmb3IobGV0IGcgaW4gYSlmW2ddPSRhKGFbZ10sYixjLGQsZSk7YT1mfWVsc2UgYT1iKGEsZCk7cmV0dXJuIGF9fTtaYT1mdW5jdGlvbihhLGIsYyxkLGUpe2NvbnN0IGY9ZHx8Yz9hW18udl18MDowO2Q9ZD8hIShmJjMyKTp2b2lkIDA7Y29uc3QgZz1fLndhKGEpO2ZvcihsZXQgaD0wO2g8Zy5sZW5ndGg7aCsrKWdbaF09JGEoZ1toXSxiLGMsZCxlKTtjJiYoR2EoZyxhKSxjKGYsZykpO3JldHVybiBnfTthYj1mdW5jdGlvbihhKXtyZXR1cm4gYS5FZD09PV8uUWE/YS50b0pTT04oKTpWYShhKX07CmJiPWZ1bmN0aW9uKGEsYixjPXphKXtpZihhIT1udWxsKXtpZihhIGluc3RhbmNlb2YgVWludDhBcnJheSlyZXR1cm4gYj9hOm5ldyBVaW50OEFycmF5KGEpO2lmKEFycmF5LmlzQXJyYXkoYSkpe3ZhciBkPWFbXy52XXwwO2lmKGQmMilyZXR1cm4gYTtiJiYoYj1kPT09MHx8ISEoZCYzMikmJiEoZCY2NHx8IShkJjE2KSkpO3JldHVybiBiPyhhW18udl09KGR8MzQpJi0xMjI5MyxhKTpaYShhLGJiLGQmND96YTpjLCEwLCEwKX1hLkVkPT09Xy5RYSYmKGM9YS5tYSxkPWNbXy52XSxhPWQmMj9hOl8uVGEoYS5jb25zdHJ1Y3RvcixfLmNiKGMsZCwhMCkpKTtyZXR1cm4gYX19O18uY2I9ZnVuY3Rpb24oYSxiLGMpe2NvbnN0IGQ9Y3x8YiYyP3phOnlhLGU9ISEoYiYzMik7YT1ZYShhLGIsZj0+YmIoZixlLGQpKTthW18udl09YVtfLnZdfDMyfChjPzI6MCk7cmV0dXJuIGF9OwpfLmRiPWZ1bmN0aW9uKGEpe2NvbnN0IGI9YS5tYSxjPWJbXy52XTtyZXR1cm4gYyYyP18uVGEoYS5jb25zdHJ1Y3RvcixfLmNiKGIsYywhMSkpOmF9O2ViPWZ1bmN0aW9uKGEpe3JldHVybiBhfTtmYj1mdW5jdGlvbihhKXtyZXR1cm4gYX07amI9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIGdiKGEsYixjLGQsaGIsaWIpfTttYj1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gZ2IoYSxiLGMsZCxrYixsYil9OwpnYj1mdW5jdGlvbihhLGIsYyxkLGUsZil7aWYoIWMubGVuZ3RoJiYhZClyZXR1cm4gMDt2YXIgZz0wO2xldCBoPTAsaz0wO3ZhciBsPTA7bGV0IG09MDtmb3IodmFyIHA9Yy5sZW5ndGgtMTtwPj0wO3AtLSl7dmFyIHI9Y1twXTtkJiZwPT09Yy5sZW5ndGgtMSYmcj09PWR8fChsKyssciE9bnVsbCYmaysrKX1pZihkKWZvcih2YXIgcSBpbiBkKXA9K3EsaXNOYU4ocCl8fChtKz1uYihwKSxoKysscD5nJiYoZz1wKSk7bD1lKGwsaykrZihoLGcsbSk7cT1rO3A9aDtyPWc7bGV0IHk9bTtmb3IobGV0IEU9Yy5sZW5ndGgtMTtFPj0wO0UtLSl7dmFyIEQ9Y1tFXTtpZihEPT1udWxsfHxkJiZFPT09Yy5sZW5ndGgtMSYmRD09PWQpY29udGludWU7RD1FLWI7Y29uc3QgRz1lKEQscSkrZihwLHIseSk7RzxsJiYoYT0xK0QsbD1HKTtwKys7cS0tO3krPW5iKEQpO3I9TWF0aC5tYXgocixEKX1iPWUoMCwwKStmKHAscix5KTtiPGwmJihhPTAsbD1iKTtpZihkKXtwPWg7cj1nO3k9bTtxPWs7Zm9yKGNvbnN0IEUgaW4gZClkPQorRSxpc05hTihkKXx8ZD49MTAyNHx8KHAtLSxxKysseS09RS5sZW5ndGgsZz1lKGQscSkrZihwLHIseSksZzxsJiYoYT0xK2QsbD1nKSl9cmV0dXJuIGF9O2xiPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYythKjMrKGE+MT9hLTE6MCl9O2tiPWZ1bmN0aW9uKGEsYil7cmV0dXJuKGE+MT9hLTE6MCkrKGEtYikqNH07aWI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09MD8wOjkqTWF0aC5tYXgoMTw8MzItTWF0aC5jbHozMihhK2EvMi0xKSw0KTw9Yj9hPT0wPzA6YTw0PzEwMCsoYS0xKSoxNjphPDY/MTQ4KyhhLTQpKjE2OmE8MTI/MjQ0KyhhLTYpKjE2OmE8MjI/NDM2KyhhLTEyKSoxOTphPDQ0PzgyMCsoYS0yMikqMTc6NTIrMzIqYTo0MCs0KmJ9O2hiPWZ1bmN0aW9uKGEpe3JldHVybiA0MCs0KmF9O25iPWZ1bmN0aW9uKGEpe3JldHVybiBhPj0xMDA/YT49MUU0P01hdGguY2VpbChNYXRoLmxvZzEwKDErYSkpOmE8MUUzPzM6NDphPDEwPzE6Mn07Cm9iPWZ1bmN0aW9uKGEsYixjLGQpe2I9ZCsoKyEhKGImNTEyKS0xKTtpZighKGI8MHx8Yj49YS5sZW5ndGh8fGI+PWMpKXJldHVybiBhW2JdfTtfLnFiPWZ1bmN0aW9uKGEsYixjLGQsZSl7Y29uc3QgZj1iPj4xNCYxMDIzfHw1MzY4NzA5MTI7aWYoYz49Znx8ZSYmIXBiKXtsZXQgZz1iO2lmKGImMjU2KWU9YVthLmxlbmd0aC0xXTtlbHNle2lmKGQ9PW51bGwpcmV0dXJuIGc7ZT1hW2YrKCshIShiJjUxMiktMSldPXt9O2d8PTI1Nn1lW2NdPWQ7YzxmJiYoYVtjKygrISEoYiY1MTIpLTEpXT12b2lkIDApO2chPT1iJiYoYVtfLnZdPWcpO3JldHVybiBnfWFbYysoKyEhKGImNTEyKS0xKV09ZDtiJjI1NiYmKGE9YVthLmxlbmd0aC0xXSxjIGluIGEmJmRlbGV0ZSBhW2NdKTtyZXR1cm4gYn07Xy5zYj1mdW5jdGlvbihhLGIsYyxkKXthPWEubWE7bGV0IGU9YVtfLnZdO2NvbnN0IGY9Xy5yYihhLGUsYyxkKTtiPV8uUmEoZixiLGUpO2IhPT1mJiZiIT1udWxsJiZfLnFiKGEsZSxjLGIsZCk7cmV0dXJuIGJ9OwpfLnRiPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEhPW51bGw/YTpifTsKeGI9ZnVuY3Rpb24oYSl7dmFyIGI9dWI/YS5tYTpaYShhLm1hLGFiLHZvaWQgMCx2b2lkIDAsITEpO3t2YXIgYz0hdWI7dmFyIGQ9dmI/dm9pZCAwOmEuY29uc3RydWN0b3Iub2E7dmFyIGU9KGM/YS5tYTpiKVtfLnZdO2xldCBCPWIubGVuZ3RoO2lmKEIpe3ZhciBmPWJbQi0xXSxnPUNhKGYpO2c/Qi0tOmY9dm9pZCAwO2E9KyEhKGUmNTEyKS0xO3ZhciBoPUItYSxrPSEhd2ImJnBiJiYhKGUmNTEyKSxsO2U9KGw9d2IpIT1udWxsP2w6ZmI7ZT1rP2UoaCxhLGIsZik6aDtsPShoPWsmJmghPT1lKT9BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChiLDAsQik6YjtpZihnfHxoKXtiOnt2YXIgbT1sO3ZhciBwPWY7Zz17fTtrPSExO2lmKGgpZm9yKHZhciByPU1hdGgubWF4KDAsZSthKTtyPG0ubGVuZ3RoO3IrKyl7dmFyIHE9bVtyXSx5PXItYTtxPT1udWxsfHxEYShxLGQseSl8fEJhKHEpJiZxLnNpemU9PT0wfHwobVtyXT12b2lkIDAsZ1t5XT1xLGs9ITApfWlmKHApZm9yKHZhciBEIGluIHApaWYocj0KK0QsaXNOYU4ocikpZ1tEXT1wW0RdO2Vsc2UgaWYocT1wW0RdLEFycmF5LmlzQXJyYXkocSkmJihEYShxLGQsK0QpfHxCYShxKSYmcS5zaXplPT09MCkmJihxPW51bGwpLHE9PW51bGwmJihrPSEwKSxoJiZyPGUpe2s9ITA7cT1yK2E7Zm9yKHk9bS5sZW5ndGg7eTw9cTt5KyspbS5wdXNoKHZvaWQgMCk7bVtxXT1wW3JdfWVsc2UgcSE9bnVsbCYmKGdbRF09cSk7aWYoayl7Zm9yKHZhciBFIGluIGcpe3A9ZzticmVhayBifXA9bnVsbH19bT1wPT1udWxsP2YhPW51bGw6cCE9PWZ9aCYmKEI9bC5sZW5ndGgpO2Zvcih2YXIgRztCPjA7Qi0tKXtFPUItMTtEPWxbRV07RS09YTtpZighKEQ9PW51bGx8fERhKEQsZCxFKXx8QmEoRCkmJkQuc2l6ZT09PTApKWJyZWFrO0c9ITB9aWYobCE9PWJ8fG18fEcpe2lmKCFoJiYhYylsPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGwsMCxCKTtlbHNlIGlmKEd8fG18fHApbC5sZW5ndGg9QjtwJiZsLnB1c2gocCl9Yj1sfX1yZXR1cm4gYn07Cl8udz1mdW5jdGlvbihhLGIpe3JldHVybiBhIT1udWxsPyEhYTohIWJ9O18ueD1mdW5jdGlvbihhLGIpe2I9PXZvaWQgMCYmKGI9IiIpO3JldHVybiBhIT1udWxsP2E6Yn07Xy55Yj1mdW5jdGlvbihhKXtmb3IoY29uc3QgYiBpbiBhKXJldHVybiExO3JldHVybiEwfTt6Yj10eXBlb2YgT2JqZWN0LmRlZmluZVByb3BlcnRpZXM9PSJmdW5jdGlvbiI/T2JqZWN0LmRlZmluZVByb3BlcnR5OmZ1bmN0aW9uKGEsYixjKXtpZihhPT1BcnJheS5wcm90b3R5cGV8fGE9PU9iamVjdC5wcm90b3R5cGUpcmV0dXJuIGE7YVtiXT1jLnZhbHVlO3JldHVybiBhfTsKQWI9ZnVuY3Rpb24oYSl7YT1bIm9iamVjdCI9PXR5cGVvZiBnbG9iYWxUaGlzJiZnbG9iYWxUaGlzLGEsIm9iamVjdCI9PXR5cGVvZiB3aW5kb3cmJndpbmRvdywib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGYsIm9iamVjdCI9PXR5cGVvZiBnbG9iYWwmJmdsb2JhbF07Zm9yKHZhciBiPTA7YjxhLmxlbmd0aDsrK2Ipe3ZhciBjPWFbYl07aWYoYyYmYy5NYXRoPT1NYXRoKXJldHVybiBjfXRocm93IEVycm9yKCJhIik7fTtCYj1BYih0aGlzKTtDYj1mdW5jdGlvbihhLGIpe2lmKGIpYTp7dmFyIGM9QmI7YT1hLnNwbGl0KCIuIik7Zm9yKHZhciBkPTA7ZDxhLmxlbmd0aC0xO2QrKyl7dmFyIGU9YVtkXTtpZighKGUgaW4gYykpYnJlYWsgYTtjPWNbZV19YT1hW2EubGVuZ3RoLTFdO2Q9Y1thXTtiPWIoZCk7YiE9ZCYmYiE9bnVsbCYmemIoYyxhLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfX07CkNiKCJTeW1ib2wuZGlzcG9zZSIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpTeW1ib2woImIiKX0pO0NiKCJnbG9iYWxUaGlzIixmdW5jdGlvbihhKXtyZXR1cm4gYXx8QmJ9KTtDYigiUHJvbWlzZS5wcm90b3R5cGUuZmluYWxseSIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtyZXR1cm4gdGhpcy50aGVuKGZ1bmN0aW9uKGMpe3JldHVybiBQcm9taXNlLnJlc29sdmUoYigpKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGN9KX0sZnVuY3Rpb24oYyl7cmV0dXJuIFByb21pc2UucmVzb2x2ZShiKCkpLnRoZW4oZnVuY3Rpb24oKXt0aHJvdyBjO30pfSl9fSk7dmFyIEZiLEdiLEliO18uRGI9Xy5EYnx8e307Xy50PXRoaXN8fHNlbGY7RmI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLkViKCJXSVpfZ2xvYmFsX2RhdGEub3hOM25iIik7YT1jJiZjW2FdO3JldHVybiBhIT1udWxsP2E6Yn07R2I9Xy50Ll9GX3RvZ2dsZXN8fFtdO18uRWI9ZnVuY3Rpb24oYSxiKXthPWEuc3BsaXQoIi4iKTtiPWJ8fF8udDtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylpZihiPWJbYVtjXV0sYj09bnVsbClyZXR1cm4gbnVsbDtyZXR1cm4gYn07Xy5LYT1mdW5jdGlvbihhKXt2YXIgYj10eXBlb2YgYTtyZXR1cm4gYiE9Im9iamVjdCI/YjphP0FycmF5LmlzQXJyYXkoYSk/ImFycmF5IjpiOiJudWxsIn07Xy5IYj0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTtJYj1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGEuY2FsbC5hcHBseShhLmJpbmQsYXJndW1lbnRzKX07Cl8uej1mdW5jdGlvbihhLGIsYyl7Xy56PUliO3JldHVybiBfLnouYXBwbHkobnVsbCxhcmd1bWVudHMpfTtfLkE9ZnVuY3Rpb24oYSxiKXthPWEuc3BsaXQoIi4iKTt2YXIgYz1fLnQ7YVswXWluIGN8fHR5cGVvZiBjLmV4ZWNTY3JpcHQ9PSJ1bmRlZmluZWQifHxjLmV4ZWNTY3JpcHQoInZhciAiK2FbMF0pO2Zvcih2YXIgZDthLmxlbmd0aCYmKGQ9YS5zaGlmdCgpKTspYS5sZW5ndGh8fGI9PT12b2lkIDA/Y1tkXSYmY1tkXSE9PU9iamVjdC5wcm90b3R5cGVbZF0/Yz1jW2RdOmM9Y1tkXT17fTpjW2RdPWJ9OwpfLkM9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKCl7fWMucHJvdG90eXBlPWIucHJvdG90eXBlO2EuVz1iLnByb3RvdHlwZTthLnByb3RvdHlwZT1uZXcgYzthLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hO2EuZGo9ZnVuY3Rpb24oZCxlLGYpe2Zvcih2YXIgZz1BcnJheShhcmd1bWVudHMubGVuZ3RoLTIpLGg9MjtoPGFyZ3VtZW50cy5sZW5ndGg7aCsrKWdbaC0yXT1hcmd1bWVudHNbaF07cmV0dXJuIGIucHJvdG90eXBlW2VdLmFwcGx5KGQsZyl9fTtfLkMoXy5hYSxFcnJvcik7Xy5hYS5wcm90b3R5cGUubmFtZT0iQ3VzdG9tRXJyb3IiO3ZhciBKYj0hIShHYlswXSY0MDk2KSxLYj0hIShHYlswXSYxMjgpLExiPSEhKEdiWzBdJjgxOTIpLE1iPSEhKEdiWzBdJjY0KSxOYj0hIShHYlswXSYxNiksT2I9ISEoR2JbMF0mMzIpO3ZhciBQYixkYSxwYjtQYj1GYigxLCEwKTtkYT1KYj9MYjpGYig2MTA0MDEzMDEsITEpO3BiPUpiP0tifHwhTmI6RmIoNjQ1MTcyMzQzLFBiKTtfLlFiPUpiP0tifHwhT2I6RmIoNjUzNzE4NDk3LFBiKTt2YXIgdmI9SmI/S2J8fCFNYjpGYigxODg1ODg3MzYsITApO18uUmI9dHlwZW9mIFRleHREZWNvZGVyIT09InVuZGVmaW5lZCI7Xy5TYj10eXBlb2YgVGV4dEVuY29kZXIhPT0idW5kZWZpbmVkIjtfLlViPWZ1bmN0aW9uKCl7cmV0dXJuIF8uY2EoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoIndlYmtpdCIpIT0tMX07dmFyIGVhLFZiPV8udC5uYXZpZ2F0b3I7ZWE9VmI/VmIudXNlckFnZW50RGF0YXx8bnVsbDpudWxsO18uc2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhLGIsdm9pZCAwKX07Xy5XYj1mdW5jdGlvbihhLGIsYyl7QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChhLGIsYyl9O18uWGI9ZnVuY3Rpb24oYSl7Xy5YYlsiICJdKGEpO3JldHVybiBhfTtfLlhiWyIgIl09ZnVuY3Rpb24oKXt9O3ZhciBqYztfLlliPV8uaWEoKTtfLlpiPV8ua2EoKTtfLiRiPV8udSgiRWRnZSIpO18uYWM9Xy51KCJHZWNrbyIpJiYhKF8uVWIoKSYmIV8udSgiRWRnZSIpKSYmIShfLnUoIlRyaWRlbnQiKXx8Xy51KCJNU0lFIikpJiYhXy51KCJFZGdlIik7Xy5iYz1fLlViKCkmJiFfLnUoIkVkZ2UiKTtfLmNjPV8ucmEoKTtfLmRjPW9hKCk/ZWEucGxhdGZvcm09PT0iV2luZG93cyI6Xy51KCJXaW5kb3dzIik7Xy5lYz1vYSgpP2VhLnBsYXRmb3JtPT09IkFuZHJvaWQiOl8udSgiQW5kcm9pZCIpO18uZmM9cGEoKTtfLmdjPV8udSgiaVBhZCIpO18uaGM9Xy51KCJpUG9kIik7Xy5pYz1fLnFhKCk7CmE6e3ZhciBrYz0iIixsYz1mdW5jdGlvbigpe3ZhciBhPV8uY2EoKTtpZihfLmFjKXJldHVybi9ydjooW15cKTtdKykoXCl8OykvLmV4ZWMoYSk7aWYoXy4kYilyZXR1cm4vRWRnZVwvKFtcZFwuXSspLy5leGVjKGEpO2lmKF8uWmIpcmV0dXJuL1xiKD86TVNJRXxydilbOiBdKFteXCk7XSspKFwpfDspLy5leGVjKGEpO2lmKF8uYmMpcmV0dXJuL1dlYktpdFwvKFxTKykvLmV4ZWMoYSk7aWYoXy5ZYilyZXR1cm4vKD86VmVyc2lvbilbIFwvXT8oXFMrKS8uZXhlYyhhKX0oKTtsYyYmKGtjPWxjP2xjWzFdOiIiKTtpZihfLlpiKXt2YXIgbWMsbmM9Xy50LmRvY3VtZW50O21jPW5jP25jLmRvY3VtZW50TW9kZTp2b2lkIDA7aWYobWMhPW51bGwmJm1jPnBhcnNlRmxvYXQoa2MpKXtqYz1TdHJpbmcobWMpO2JyZWFrIGF9fWpjPWtjfV8ub2M9amM7Xy5wYz1fLmxhKCk7Xy5xYz1wYSgpfHxfLnUoImlQb2QiKTtfLnJjPV8udSgiaVBhZCIpO18uc2M9Xy51KCJBbmRyb2lkIikmJiEobWEoKXx8Xy5sYSgpfHxfLmlhKCl8fF8udSgiU2lsayIpKTtfLnRjPW1hKCk7Xy51Yz1fLm5hKCkmJiFfLnFhKCk7dmFyIHZjO18udj1TeW1ib2woKTt2Yz1TeW1ib2woKTtfLndjPVN5bWJvbCgpO18ueGM9U3ltYm9sKCk7dmFyIEFhLHpjO18uUWE9e307QWE9e307emM9W107emNbXy52XT01NTtfLnljPU9iamVjdC5mcmVlemUoemMpO18uQWM9T2JqZWN0LmZyZWV6ZSh7fSk7T2JqZWN0LmZyZWV6ZSh7fSk7Xy5CYz1PYmplY3QuZnJlZXplKHt9KTt2YXIgSGE9ZnVuY3Rpb24oYSxiKXthLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mnx8KGEuX19jbG9zdXJlX19lcnJvcl9fY29udGV4dF9fOTg0MzgyPXt9KTthLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mi5zZXZlcml0eT1ifTt2YXIgQ2M7dmFyIFNhO18uRGM9ZnVuY3Rpb24oYSxiKXthPWEubWE7cmV0dXJuIF8ucmIoYSxhW18udl0sYil9O18ucmI9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYz09PS0xKXJldHVybiBudWxsO2NvbnN0IGU9Yj4+MTQmMTAyM3x8NTM2ODcwOTEyO2lmKGM+PWUpe2lmKGImMjU2KXJldHVybiBhW2EubGVuZ3RoLTFdW2NdfWVsc2V7dmFyIGY9YS5sZW5ndGg7aWYoZCYmYiYyNTYmJihkPWFbZi0xXVtjXSxkIT1udWxsKSl7aWYob2IoYSxiLGUsYykmJnZjIT1udWxsKXt2YXIgZzthPShnPUNjKSE9bnVsbD9nOkNjPXt9O2c9YVt2Y118fDA7Zz49NHx8KGFbdmNdPWcrMSxfLklhKCkpfXJldHVybiBkfXJldHVybiBvYihhLGIsZSxjKX19O18uRWM9ZnVuY3Rpb24oYSxiLGMpe2NvbnN0IGQ9YS5tYTtsZXQgZT1kW18udl07Xy5FYShlKTtfLnFiKGQsZSxiLGMpO3JldHVybiBhfTsKXy5GPWZ1bmN0aW9uKGEsYixjLGQ9ITEpe2I9Xy5zYihhLGIsYyxkKTtpZihiPT1udWxsKXJldHVybiBiO2E9YS5tYTtsZXQgZT1hW18udl07aWYoIShlJjIpKXtjb25zdCBmPV8uZGIoYik7ZiE9PWImJihiPWYsXy5xYihhLGUsYyxiLGQpKX1yZXR1cm4gYn07Xy5IPWZ1bmN0aW9uKGEsYixjKXtjPT1udWxsJiYoYz12b2lkIDApO3JldHVybiBfLkVjKGEsYixjKX07Xy5JPWZ1bmN0aW9uKGEsYil7YT1fLkRjKGEsYik7cmV0dXJuIGE9PW51bGx8fHR5cGVvZiBhPT09ImJvb2xlYW4iP2E6dHlwZW9mIGE9PT0ibnVtYmVyIj8hIWE6dm9pZCAwfTtfLko9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5QYShfLkRjKGEsYikpfTtfLks9ZnVuY3Rpb24oYSxiLGM9ITEpe3JldHVybiBfLnRiKF8uSShhLGIpLGMpfTtfLkw9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy50YihfLkooYSxiKSwiIil9O18uTT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uRWMoYSxiLGM9PW51bGw/YzpfLkxhKGMpKX07Cl8uTj1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uRWMoYSxiLGM9PW51bGw/YzpfLk5hKGMpKX07Xy5PPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5FYyhhLGIsXy5PYShjKSl9O18uUD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uRWMoYSxiLGM9PW51bGw/YzpfLk1hKGMpKX07dmFyIHdiLHViO18uUT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5tYT1fLlVhKGEsYixjKX10b0pTT04oKXtyZXR1cm4geGIodGhpcyl9R2EoYSl7dHJ5e3JldHVybiB1Yj0hMCxhJiYod2I9YT09PWZifHxhIT09ZWImJmEhPT1qYiYmYSE9PW1iP2ZiOmEpLEpTT04uc3RyaW5naWZ5KHhiKHRoaXMpLFdhKX1maW5hbGx5e2EmJih3Yj12b2lkIDApLHViPSExfX11Yygpe3JldHVybiBfLnhhKHRoaXMubWEpfX07Xy5RLnByb3RvdHlwZS5FZD1fLlFhO18uUS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIHViPSEwLHhiKHRoaXMpLnRvU3RyaW5nKCl9ZmluYWxseXt1Yj0hMX19O18uRmM9U3ltYm9sKCk7Xy5HYz1TeW1ib2woKTtfLkhjPVN5bWJvbCgpO18uSWM9U3ltYm9sKCk7Xy5KYz1TeW1ib2woKTt2YXIgS2M9Y2xhc3MgZXh0ZW5kcyBfLlF7Y29uc3RydWN0b3IoKXtzdXBlcigpfX07Xy5MYz1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCl9RChhKXtyZXR1cm4gXy5OKHRoaXMsMyxhKX19O18uTGMub2E9WzY3XTt2YXIgTWM9Y2xhc3MgZXh0ZW5kcyBfLlF7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9TGMoYSl7cmV0dXJuIF8uTyh0aGlzLDI0LGEpfX07Xy5OYz1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O18uUj1mdW5jdGlvbigpe3RoaXMudmE9dGhpcy52YTt0aGlzLmVhPXRoaXMuZWF9O18uUi5wcm90b3R5cGUudmE9ITE7Xy5SLnByb3RvdHlwZS5pc0Rpc3Bvc2VkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmF9O18uUi5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMudmF8fCh0aGlzLnZhPSEwLHRoaXMuUigpKX07Xy5SLnByb3RvdHlwZVtTeW1ib2wuZGlzcG9zZV09ZnVuY3Rpb24oKXt0aGlzLmRpc3Bvc2UoKX07Xy5SLnByb3RvdHlwZS5SPWZ1bmN0aW9uKCl7aWYodGhpcy5lYSlmb3IoO3RoaXMuZWEubGVuZ3RoOyl0aGlzLmVhLnNoaWZ0KCkoKX07dmFyIE9jPWNsYXNzIGV4dGVuZHMgXy5Se2NvbnN0cnVjdG9yKCl7dmFyIGE9d2luZG93O3N1cGVyKCk7dGhpcy5vPWE7dGhpcy5pPVtdO3RoaXMuaj17fX1yZXNvbHZlKGEpe3ZhciBiPXRoaXMubzthPWEuc3BsaXQoIi4iKTtmb3IodmFyIGM9YS5sZW5ndGgsZD0wO2Q8YzsrK2QpaWYoYlthW2RdXSliPWJbYVtkXV07ZWxzZSByZXR1cm4gbnVsbDtyZXR1cm4gYiBpbnN0YW5jZW9mIEZ1bmN0aW9uP2I6bnVsbH1DYigpe2Zvcih2YXIgYT10aGlzLmkubGVuZ3RoLGI9dGhpcy5pLGM9W10sZD0wO2Q8YTsrK2Qpe3ZhciBlPWJbZF0uaSgpLGY9dGhpcy5yZXNvbHZlKGUpO2lmKGYmJmYhPXRoaXMualtlXSl0cnl7YltkXS5DYihmKX1jYXRjaChnKXt9ZWxzZSBjLnB1c2goYltkXSl9dGhpcy5pPWMuY29uY2F0KGIuc2xpY2UoYSkpfX07dmFyIFFjPWNsYXNzIGV4dGVuZHMgXy5Se2NvbnN0cnVjdG9yKCl7dmFyIGE9Xy5QYztzdXBlcigpO3RoaXMubz1hO3RoaXMuQT10aGlzLmk9bnVsbDt0aGlzLnY9MDt0aGlzLkI9e307dGhpcy5qPSExO2E9d2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQ7YS5pbmRleE9mKCJNU0lFIik+PTAmJmEuaW5kZXhPZigiVHJpZGVudCIpPj0wJiYoYT0vXGIoPzpNU0lFfHJ2KVs6IF0oW15cKTtdKykoXCl8OykvLmV4ZWMoYSkpJiZhWzFdJiZwYXJzZUZsb2F0KGFbMV0pPDkmJih0aGlzLmo9ITApfUMoYSxiKXt0aGlzLmk9Yjt0aGlzLkE9YTtiLnByZXZlbnREZWZhdWx0P2IucHJldmVudERlZmF1bHQoKTpiLnJldHVyblZhbHVlPSExfX07Xy5SYz1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciBTYz1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciBWYztfLlRjPWZ1bmN0aW9uKGEsYixjPTk4LGQ9bmV3IF8uTGMpe2lmKGEuaSl7Y29uc3QgZT1uZXcgS2M7Xy5PKGUsMSxiLm1lc3NhZ2UpO18uTyhlLDIsYi5zdGFjayk7Xy5OKGUsMyxiLmxpbmVOdW1iZXIpO18uUChlLDUsMSk7Xy5IKGQsNDAsZSk7YS5pLmxvZyhjLGQpfX07VmM9Y2xhc3N7Y29uc3RydWN0b3IoKXt2YXIgYT1VYzt0aGlzLmk9bnVsbDtfLksoYSw0LCEwKX1sb2coYSxiLGM9bmV3IF8uTGMpe18uVGModGhpcyxhLDk4LGMpfX07dmFyIFdjLFhjO1djPWZ1bmN0aW9uKGEpe2lmKGEuby5sZW5ndGg+MCl7dmFyIGI9YS5pIT09dm9pZCAwLGM9YS5qIT09dm9pZCAwO2lmKGJ8fGMpe2I9Yj9hLnY6YS5BO2M9YS5vO2Eubz1bXTt0cnl7Xy5XYihjLGIsYSl9Y2F0Y2goZCl7Y29uc29sZS5lcnJvcihkKX19fX07Xy5ZYz1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmk9YTt0aGlzLmo9dm9pZCAwO3RoaXMubz1bXX10aGVuKGEsYixjKXt0aGlzLm8ucHVzaChuZXcgWGMoYSxiLGMpKTtXYyh0aGlzKX1yZXNvbHZlKGEpe2lmKHRoaXMuaSE9PXZvaWQgMHx8dGhpcy5qIT09dm9pZCAwKXRocm93IEVycm9yKCJCIik7dGhpcy5pPWE7V2ModGhpcyl9cmVqZWN0KGEpe2lmKHRoaXMuaSE9PXZvaWQgMHx8dGhpcy5qIT09dm9pZCAwKXRocm93IEVycm9yKCJCIik7dGhpcy5qPWE7V2ModGhpcyl9dihhKXthLmomJmEuai5jYWxsKGEuaSx0aGlzLmkpfUEoYSl7YS5vJiZhLm8uY2FsbChhLmksdGhpcy5qKX19OwpYYz1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5qPWE7dGhpcy5vPWI7dGhpcy5pPWN9fTtfLlpjPWE9Pnt2YXIgYj0icmMiO2lmKGEucmMmJmEuaGFzT3duUHJvcGVydHkoYikpcmV0dXJuIGEucmM7Yj1uZXcgYTtyZXR1cm4gYS5yYz1ifTtfLiRjPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy52PW5ldyBfLlljO3RoaXMuaT1uZXcgXy5ZYzt0aGlzLkQ9bmV3IF8uWWM7dGhpcy5CPW5ldyBfLlljO3RoaXMuQz1uZXcgXy5ZYzt0aGlzLkE9bmV3IF8uWWM7dGhpcy5vPW5ldyBfLlljO3RoaXMuaj1uZXcgXy5ZYzt0aGlzLkY9bmV3IF8uWWN9Sygpe3JldHVybiB0aGlzLnZ9TSgpe3JldHVybiB0aGlzLml9Tigpe3JldHVybiB0aGlzLkR9TCgpe3JldHVybiB0aGlzLkJ9dmEoKXtyZXR1cm4gdGhpcy5DfWVhKCl7cmV0dXJuIHRoaXMuQX1KKCl7cmV0dXJuIHRoaXMub31HKCl7cmV0dXJuIHRoaXMuan1zdGF0aWMgaSgpe3JldHVybiBfLlpjKF8uJGMpfX07dmFyIGVkO18uYmQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy5GKF8uYWQsTWMsMSl9O18uY2Q9ZnVuY3Rpb24oKXtyZXR1cm4gXy5GKF8uYWQsXy5OYyw1KX07ZWQ9Y2xhc3MgZXh0ZW5kcyBfLlF7Y29uc3RydWN0b3IoKXtzdXBlcihkZCl9fTt2YXIgZGQ7d2luZG93LmdiYXJfJiZ3aW5kb3cuZ2Jhcl8uQ09ORklHP2RkPXdpbmRvdy5nYmFyXy5DT05GSUdbMF18fHt9OmRkPVtdO18uYWQ9bmV3IGVkO3ZhciBVYz1fLkYoXy5hZCxTYywzKXx8bmV3IFNjO18uYmQoKXx8bmV3IE1jO18uUGM9bmV3IFZjO18uQSgiZ2Jhcl8uX0R1bXBFeGNlcHRpb24iLGZ1bmN0aW9uKGEpe18uUGM/Xy5QYy5sb2coYSk6Y29uc29sZS5lcnJvcihhKX0pO18uZmQ9bmV3IFFjO3ZhciBoZDtfLmlkPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5nZC5pKCk7aWYoYSBpbiBjLmkpe2lmKGMuaVthXSE9Yil0aHJvdyBuZXcgaGQ7fWVsc2V7Yy5pW2FdPWI7Y29uc3QgaD1jLmpbYV07aWYoaClmb3IobGV0IGs9MCxsPWgubGVuZ3RoO2s8bDtrKyspe2I9aFtrXTt2YXIgZD1jLmk7ZGVsZXRlIGIuaVthXTtpZihfLnliKGIuaSkpe2Zvcih2YXIgZT1iLmoubGVuZ3RoLGY9QXJyYXkoZSksZz0wO2c8ZTtnKyspZltnXT1kW2IualtnXV07Yi5vLmFwcGx5KGIudixmKX19ZGVsZXRlIGMualthXX19O18uZ2Q9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmk9e307dGhpcy5qPXt9fXN0YXRpYyBpKCl7cmV0dXJuIF8uWmMoXy5nZCl9fTtfLmpkPWNsYXNzIGV4dGVuZHMgXy5hYXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCl9fTtoZD1jbGFzcyBleHRlbmRzIF8uamR7fTtfLkEoImdiYXIuQSIsXy5ZYyk7Xy5ZYy5wcm90b3R5cGUuYWE9Xy5ZYy5wcm90b3R5cGUudGhlbjtfLkEoImdiYXIuQiIsXy4kYyk7Xy4kYy5wcm90b3R5cGUuYmE9Xy4kYy5wcm90b3R5cGUuTTtfLiRjLnByb3RvdHlwZS5iYj1fLiRjLnByb3RvdHlwZS5OO18uJGMucHJvdG90eXBlLmJkPV8uJGMucHJvdG90eXBlLnZhO18uJGMucHJvdG90eXBlLmJmPV8uJGMucHJvdG90eXBlLks7Xy4kYy5wcm90b3R5cGUuYmc9Xy4kYy5wcm90b3R5cGUuTDtfLiRjLnByb3RvdHlwZS5iaD1fLiRjLnByb3RvdHlwZS5lYTtfLiRjLnByb3RvdHlwZS5iaj1fLiRjLnByb3RvdHlwZS5KO18uJGMucHJvdG90eXBlLmJrPV8uJGMucHJvdG90eXBlLkc7Xy5BKCJnYmFyLmEiLF8uJGMuaSgpKTt3aW5kb3cuZ2JhciYmd2luZG93LmdiYXIuYXAmJndpbmRvdy5nYmFyLmFwKHdpbmRvdy5nYmFyLmEpO3ZhciBrZD1uZXcgT2M7Xy5pZCgiYXBpIixrZCk7CnZhciBsZD1fLmNkKCl8fG5ldyBfLk5jLG1kPXdpbmRvdyxuZD1fLngoXy5KKGxkLDgpKTttZC5fX1BWVD1uZDtfLmlkKCJlcSIsXy5mZCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ub2Q9Y2xhc3MgZXh0ZW5kcyBfLlF7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIHBkPWNsYXNzIGV4dGVuZHMgXy5Re2NvbnN0cnVjdG9yKCl7c3VwZXIoKX19O3ZhciBxZD1jbGFzcyBleHRlbmRzIF8uUntjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5qPVtdO3RoaXMuaT1bXX1vKGEsYil7dGhpcy5qLnB1c2goe2ZlYXR1cmVzOmEsb3B0aW9uczpifSl9aW5pdChhLGIsYyl7d2luZG93LmdhcGk9e307dmFyIGQ9d2luZG93Ll9fX2pzbD17fTtkLmg9Xy54KF8uSihhLDEpKTtfLkkoYSwxMikhPW51bGwmJihkLmRwbz1fLncoXy5LKGEsMTIpKSk7ZC5tcz1fLngoXy5KKGEsMikpO2QubT1fLngoXy5KKGEsMykpO2QubD1bXTtfLkwoYiwxKSYmKGE9Xy5KKGIsMykpJiZ0aGlzLmkucHVzaChhKTtfLkwoYywxKSYmKGM9Xy5KKGMsMikpJiZ0aGlzLmkucHVzaChjKTtfLkEoImdhcGkubG9hZCIsKDAsXy56KSh0aGlzLm8sdGhpcykpO3JldHVybiB0aGlzfX07dmFyIHJkPV8uRihfLmFkLF8uUmMsMTQpO2lmKHJkKXt2YXIgc2Q9Xy5GKF8uYWQsXy5vZCw5KXx8bmV3IF8ub2QsdGQ9bmV3IHBkLHVkPW5ldyBxZDt1ZC5pbml0KHJkLHNkLHRkKTtfLmlkKCJncyIsdWQpfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9Cn0pKHRoaXMuZ2Jhcl8pOwovLyBHb29nbGUgSW5jLgo8L3NjcmlwdD48c3R5bGU+aDEsb2wsdWwsbGksYnV0dG9ue21hcmdpbjowO3BhZGRpbmc6MH1idXR0b257Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDpub25lfWJvZHl7YmFja2dyb3VuZDojZmZmfWJvZHksaW5wdXQsYnV0dG9ue2ZvbnQtc2l6ZToxNHB4O2ZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7Y29sb3I6dmFyKC0tQ09FbVkpfWF7Y29sb3I6dmFyKC0tSktxeDIpO3RleHQtZGVjb3JhdGlvbjpub25lfWE6aG92ZXIsYTphY3RpdmV7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX1hOnZpc2l0ZWR7Y29sb3I6IzY4MWRhOH1odG1sLGJvZHl7bWluLXdpZHRoOjQwMHB4fWJvZHksaHRtbHtoZWlnaHQ6MTAwJTttYXJnaW46MDtwYWRkaW5nOjB9LmdiXzlhOm5vdCguZ2JfYmQpe2ZvbnQ6MTNweC8yN3B4IFJvYm90byxBcmlhbCxzYW5zLXNlcmlmO3otaW5kZXg6OTg2fS5nYl9ye2Rpc3BsYXk6bm9uZX0uZ2JfaGEsLmdiX2Rke2ZvbnQtZmFtaWx5OiJHb29nbGUgU2FucyBUZXh0IixSb2JvdG8sSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zdHlsZTpub3JtYWx9YS5nYl92YXstd2Via2l0LWJvcmRlci1yYWRpdXM6MTAwcHg7Ym9yZGVyLXJhZGl1czoxMDBweDtiYWNrZ3JvdW5kOiMwYjU3ZDA7YmFja2dyb3VuZDp2YXIoLS1nbTMtc3lzLWNvbG9yLXByaW1hcnksIzBiNTdkMCk7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOiNmZmY7Y29sb3I6dmFyKC0tZ20zLXN5cy1jb2xvci1vbi1wcmltYXJ5LCNmZmYpO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDttaW4taGVpZ2h0OjQwcHg7b3V0bGluZTpub25lO3BhZGRpbmc6MTBweCAyNHB4O3RleHQtYWxpZ246Y2VudGVyO3RleHQtZGVjb3JhdGlvbjpub25lO3doaXRlLXNwYWNlOm5vcm1hbDtsaW5lLWhlaWdodDoxOHB4O3Bvc2l0aW9uOnJlbGF0aXZlfWEuZ2Jfd2F7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjEwMHB4O2JvcmRlci1yYWRpdXM6MTAwcHg7Ym9yZGVyOjFweCBzb2xpZDtib3JkZXItY29sb3I6Izc0Nzc3NTtib3JkZXItY29sb3I6dmFyKC0tZ20zLXN5cy1jb2xvci1vdXRsaW5lLCM3NDc3NzUpO2JhY2tncm91bmQ6bm9uZTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6IzBiNTdkMDtjb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLXByaW1hcnksIzBiNTdkMCk7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO21pbi1oZWlnaHQ6NDBweDtvdXRsaW5lOm5vbmU7cGFkZGluZzoxMHB4IDI0cHg7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC1kZWNvcmF0aW9uOm5vbmU7d2hpdGUtc3BhY2U6bm9ybWFsO2xpbmUtaGVpZ2h0OjE4cHg7cG9zaXRpb246cmVsYXRpdmV9LmdiX0FhLmdiX2kgYS5nYl92YSwuZ2JfQmEuZ2JfaSBhLmdiX3Zhe2JhY2tncm91bmQ6I2E4YzdmYTtiYWNrZ3JvdW5kOnZhcigtLWdtMy1zeXMtY29sb3ItcHJpbWFyeSwjYThjN2ZhKTtjb2xvcjojMDYyZTZmO2NvbG9yOnZhcigtLWdtMy1zeXMtY29sb3Itb24tcHJpbWFyeSwjMDYyZTZmKX0uZ2JfQ2EuZ2JfaSBhLmdiX3Zhe2JhY2tncm91bmQ6I2MyZTdmZjtiYWNrZ3JvdW5kOnZhcigtLWdtMy1zeXMtY29sb3Itc2Vjb25kYXJ5LWNvbnRhaW5lciwjYzJlN2ZmKTtjb2xvcjojMDAxZDM1O2NvbG9yOnZhcigtLWdtMy1zeXMtY29sb3Itb24tc2Vjb25kYXJ5LWNvbnRhaW5lciwjMDAxZDM1KX0uZ2JfaGEuZ2JfaSBhLmdiX3dhe2NvbG9yOiNhOGM3ZmE7Y29sb3I6dmFyKC0tZ20zLXN5cy1jb2xvci1wcmltYXJ5LCNhOGM3ZmEpfWEuZ2JfZWR7cGFkZGluZzoxMHB4IDEycHg7bWFyZ2luOjEycHggMTZweCAxMnB4IDEwcHg7bWluLXdpZHRoOjg1cHh9QG1lZGlhIChtYXgtd2lkdGg6NjQwcHgpe2EuZ2JfZWR7bWluLXdpZHRoOjc1cHh9fS5nYl9oYS5nYl9BYXtjb2xvcjojMWYxZjFmO2NvbG9yOnZhcigtLWdtMy1zeXMtY29sb3Itb24tc3VyZmFjZSwjMWYxZjFmKX0uZ2JfaGEuZ2JfQWEuZ2JfZmR7YmFja2dyb3VuZDojZmZmO2JhY2tncm91bmQ6dmFyKC0tZ20zLXN5cy1jb2xvci1iYWNrZ3JvdW5kLCNmZmYpfS5nYl9oYS5nYl9BYSAuZ2JfNmMuZ2JfN2MsLmdiX2hhLmdiX0FhIGEuZ2JfeSwuZ2JfaGEuZ2JfQWEgc3Bhbi5nYl95LC5nYl9oYS5nYl9BYSAuZ2JfOGMgLmdiX2dkLC5nYl9oYS5nYl9BYSAuZ2JfWGMgLmdiX2dke2NvbG9yOiMxZjFmMWY7Y29sb3I6dmFyKC0tZ20zLXN5cy1jb2xvci1vbi1zdXJmYWNlLCMxZjFmMWYpfS5nYl9oYS5nYl9BYSBzdmd7Y29sb3I6IzQ0NDc0Njtjb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLW9uLXN1cmZhY2UtdmFyaWFudCwjNDQ0NzQ2KX0uZ2JfaGEuZ2JfaS5nYl9BYXtjb2xvcjojZTNlM2UzO2NvbG9yOnZhcigtLWdtMy1zeXMtY29sb3Itb24tc3VyZmFjZSwjZTNlM2UzKX0uZ2JfaGEuZ2JfaS5nYl9BYS5nYl9mZHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS5nYl9oYS5nYl9pLmdiX0FhIC5nYl82Yy5nYl83YywuZ2JfaGEuZ2JfaS5nYl9BYSBhLmdiX3ksLmdiX2hhLmdiX2kuZ2JfQWEgc3Bhbi5nYl95LC5nYl9oYS5nYl9pLmdiX0FhIC5nYl84YyAuZ2JfZ2QsLmdiX2hhLmdiX2kuZ2JfQWEgLmdiX1hjIC5nYl9nZHtjb2xvcjojZTNlM2UzO2NvbG9yOnZhcigtLWdtMy1zeXMtY29sb3Itb24tc3VyZmFjZSwjZTNlM2UzKX0uZ2JfaGEuZ2JfaS5nYl9BYSBzdmd7Y29sb3I6I2M0YzdjNTtjb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLW9uLXN1cmZhY2UtdmFyaWFudCwjYzRjN2M1KX0uZ2JfaGEuZ2JfaS5nYl9BYS5nYl9mZHtiYWNrZ3JvdW5kOiMxZjFmMWY7YmFja2dyb3VuZDp2YXIoLS1nbTMtc3lzLWNvbG9yLWJhY2tncm91bmQsIzFmMWYxZil9LmdiX2hhLmdiX0Jhe2NvbG9yOiMxZjFmMWY7Y29sb3I6dmFyKC0tZ20zLXN5cy1jb2xvci1vbi1zdXJmYWNlLCMxZjFmMWYpfS5nYl9oYS5nYl9CYS5nYl9mZHtiYWNrZ3JvdW5kOiNlOWVlZjY7YmFja2dyb3VuZDp2YXIoLS1nbTMtc3lzLWNvbG9yLXN1cmZhY2UtY29udGFpbmVyLWhpZ2gsI2U5ZWVmNil9LmdiX2hhLmdiX0JhIC5nYl82Yy5nYl83YywuZ2JfaGEuZ2JfQmEgYS5nYl95LC5nYl9oYS5nYl9CYSBzcGFuLmdiX3ksLmdiX2hhLmdiX0JhIC5nYl84YyAuZ2JfZ2QsLmdiX2hhLmdiX0JhIC5nYl9YYyAuZ2JfZ2R7Y29sb3I6IzFmMWYxZjtjb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLW9uLXN1cmZhY2UsIzFmMWYxZil9LmdiX2hhLmdiX0JhIHN2Z3tjb2xvcjojNDQ0NzQ2O2NvbG9yOnZhcigtLWdtMy1zeXMtY29sb3Itb24tc3VyZmFjZS12YXJpYW50LCM0NDQ3NDYpfS5nYl9oYS5nYl9pLmdiX0Jhe2NvbG9yOiNlM2UzZTM7Y29sb3I6dmFyKC0tZ20zLXN5cy1jb2xvci1vbi1zdXJmYWNlLCNlM2UzZTMpfS5nYl9oYS5nYl9pLmdiX0JhLmdiX2Zke2JhY2tncm91bmQ6IzI4MmEyYztiYWNrZ3JvdW5kOnZhcigtLWdtMy1zeXMtY29sb3Itc3VyZmFjZS1jb250YWluZXItaGlnaCwjMjgyYTJjKX0uZ2JfaGEuZ2JfaS5nYl9CYSAuZ2JfNmMuZ2JfN2MsLmdiX2hhLmdiX2kuZ2JfQmEgYS5nYl95LC5nYl9oYS5nYl9pLmdiX0JhIHNwYW4uZ2JfeSwuZ2JfaGEuZ2JfaS5nYl9CYSAuZ2JfOGMgLmdiX2dkLC5nYl9oYS5nYl9pLmdiX0JhIC5nYl9YYyAuZ2JfZ2R7Y29sb3I6I2UzZTNlMztjb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLW9uLXN1cmZhY2UsI2UzZTNlMyl9LmdiX2hhLmdiX2kuZ2JfQmEgc3Zne2NvbG9yOiNjNGM3YzU7Y29sb3I6dmFyKC0tZ20zLXN5cy1jb2xvci1vbi1zdXJmYWNlLXZhcmlhbnQsI2M0YzdjNSl9LmdiX2hhLmdiX0Nhe2NvbG9yOiMxZjFmMWY7Y29sb3I6dmFyKC0tZ20zLXN5cy1jb2xvci1vbi1zdXJmYWNlLCMxZjFmMWYpfS5nYl9oYS5nYl9DYS5nYl9mZHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS5nYl9oYS5nYl9DYSAuZ2JfNmMuZ2JfN2MsLmdiX2hhLmdiX0NhIGEuZ2JfeSwuZ2JfaGEuZ2JfQ2Egc3Bhbi5nYl95LC5nYl9oYS5nYl9DYSAuZ2JfOGMgLmdiX2dkLC5nYl9oYS5nYl9DYSAuZ2JfWGMgLmdiX2dke2NvbG9yOiMxZjFmMWY7Y29sb3I6dmFyKC0tZ20zLXN5cy1jb2xvci1vbi1zdXJmYWNlLCMxZjFmMWYpfS5nYl9oYS5nYl9DYSBzdmd7Y29sb3I6IzQ0NDc0Njtjb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLW9uLXN1cmZhY2UtdmFyaWFudCwjNDQ0NzQ2KX0uZ2JfaGEuZ2JfQ2EuZ2JfaS5nYl9mZHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS5nYl9oYS5nYl9DYS5nYl9pIC5nYl82Yy5nYl83YywuZ2JfaGEuZ2JfQ2EuZ2JfaSBhLmdiX3ksLmdiX2hhLmdiX0NhLmdiX2kgc3Bhbi5nYl95LC5nYl9oYS5nYl9DYS5nYl9pIC5nYl84YyAuZ2JfZ2QsLmdiX2hhLmdiX0NhLmdiX2kgLmdiX1hjIC5nYl9nZCwuZ2JfaGEuZ2JfQ2EuZ2JfaSBzdmd7Y29sb3I6d2hpdGU7Y29sb3I6dmFyKC0tb2ctdGhlbWUtY29sb3Isd2hpdGUpfS5nYl9oYSBhLmdiX3ksLmdiX2hhIHNwYW4uZ2JfeXt0ZXh0LWRlY29yYXRpb246bm9uZX0uZ2JfNmN7Zm9udC1mYW1pbHk6R29vZ2xlIFNhbnMsUm9ib3RvLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OjQwMDtsZXR0ZXItc3BhY2luZzouMjVweDtsaW5lLWhlaWdodDo0OHB4O21hcmdpbi1ib3R0b206MnB4O29wYWNpdHk6MTtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1sZWZ0OjE2cHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7dG9wOjJweDt3aGl0ZS1zcGFjZTpub3dyYXA7LXdlYmtpdC1mbGV4OjEgMSBhdXRvOy13ZWJraXQtYm94LWZsZXg6MTtmbGV4OjEgMSBhdXRvfS5nYl9oYS5nYl9KYSAuZ2JfNmN7bWFyZ2luLWJvdHRvbTowfS5nYl84Yy5nYl85YyAuZ2JfNmN7cGFkZGluZy1sZWZ0OjRweH0uZ2JfaGEuZ2JfSmEgLmdiX2Fke3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDotMnB4fS5nYl9oYXttaW4td2lkdGg6MTYwcHg7cG9zaXRpb246cmVsYXRpdmV9LmdiX2hhLmdiX1Bje21pbi13aWR0aDoxMjBweH0uZ2JfaGEuZ2JfaGQgLmdiX2lke2Rpc3BsYXk6bm9uZX0uZ2JfaGEuZ2JfaGQgLmdiX2pke2hlaWdodDo1NnB4fWhlYWRlci5nYl9oYXtkaXNwbGF5OmJsb2NrfS5nYl9oYSBzdmd7ZmlsbDpjdXJyZW50Q29sb3J9LmdiX2tke3Bvc2l0aW9uOmZpeGVkO3RvcDowO3dpZHRoOjEwMCV9LmdiX2xkey13ZWJraXQtYm94LXNoYWRvdzowIDRweCA1cHggMCByZ2JhKDAsMCwwLC4xNCksMCAxcHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKSwwIDJweCA0cHggLTFweCByZ2JhKDAsMCwwLC4yKTtib3gtc2hhZG93OjAgNHB4IDVweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpLDAgMnB4IDRweCAtMXB4IHJnYmEoMCwwLDAsLjIpfS5nYl9tZHtoZWlnaHQ6NjRweH0uZ2JfamR7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtcGFjazpzcGFjZS1iZXR3ZWVuOy13ZWJraXQtanVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47bWluLXdpZHRoOi13ZWJraXQtbWluLWNvbnRlbnQ7bWluLXdpZHRoOm1pbi1jb250ZW50fS5nYl9oYTpub3QoLmdiX0phKSAuZ2JfamR7cGFkZGluZzo4cHh9LmdiX2hhOm5vdCguZ2JfSmEpIC5nYl9qZCBhLmdiX25ke21hcmdpbjoxMnB4IDhweCAxMnB4IDEwcHh9LmdiX2hhLmdiX29kIC5nYl9qZHstd2Via2l0LWZsZXg6MSAwIGF1dG87LXdlYmtpdC1ib3gtZmxleDoxO2ZsZXg6MSAwIGF1dG99LmdiX2hhIC5nYl9qZC5nYl9wZC5nYl9xZHttaW4td2lkdGg6MH0uZ2JfaGEuZ2JfSmEgLmdiX2pke3BhZGRpbmc6NHB4O3BhZGRpbmctbGVmdDo4cHg7bWluLXdpZHRoOjB9LmdiX2hhLmdiX0phIC5nYl9qZCBhLmdiX25ke21hcmdpbjoxMnB4IDhweCAxMnB4IDEwcHh9LmdiX2lke2hlaWdodDo0OHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aGl0ZS1zcGFjZTpub3dyYXA7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LXVzZXItc2VsZWN0Om5vbmV9LmdiX3NkPi5nYl9pZHtkaXNwbGF5OnRhYmxlLWNlbGw7d2lkdGg6MTAwJX0uZ2JfOGN7cGFkZGluZy1yaWdodDoyNXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWZsZXg6MSAwIGF1dG87LXdlYmtpdC1ib3gtZmxleDoxO2ZsZXg6MSAwIGF1dG99LmdiX2hhLmdiX0phIC5nYl84Y3twYWRkaW5nLXJpZ2h0OjE0cHh9LmdiX3Rkey13ZWJraXQtZmxleDoxIDEgMTAwJTstd2Via2l0LWJveC1mbGV4OjE7ZmxleDoxIDEgMTAwJX0uZ2JfdGQ+Om9ubHktY2hpbGR7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmdiX3VkLmdiX1pje3BhZGRpbmctbGVmdDo0cHh9LmdiX3VkLmdiX3ZkLC5nYl9oYS5nYl9vZCAuZ2JfdWQsLmdiX2hhLmdiX0phOm5vdCguZ2JfZGQpIC5nYl91ZHtwYWRkaW5nLWxlZnQ6MH0uZ2JfaGEuZ2JfSmEgLmdiX3VkLmdiX3Zke3BhZGRpbmctcmlnaHQ6MH0uZ2JfaGEuZ2JfSmEgLmdiX3VkLmdiX3ZkIC5nYl94YXttYXJnaW4tbGVmdDoxMHB4fS5nYl9aY3tkaXNwbGF5OmlubGluZX0uZ2JfaGEuZ2JfU2MgLmdiX3VkLmdiX3dkLC5nYl9oYS5nYl9kZCAuZ2JfdWQuZ2Jfd2R7cGFkZGluZy1sZWZ0OjJweH0uZ2JfNmN7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmdiX3Vkey13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6NDhweDtwYWRkaW5nOjAgNHB4O3BhZGRpbmctbGVmdDo1cHg7LXdlYmtpdC1mbGV4OjAgMCBhdXRvOy13ZWJraXQtYm94LWZsZXg6MDtmbGV4OjAgMCBhdXRvOy13ZWJraXQtYm94LXBhY2s6ZmxleC1lbmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5nYl9kZHtoZWlnaHQ6NDhweH0uZ2JfaGEuZ2JfZGR7bWluLXdpZHRoOmF1dG99LmdiX2RkIC5nYl91ZHtmbG9hdDpyaWdodDtwYWRkaW5nLWxlZnQ6MzJweDtwYWRkaW5nLWxlZnQ6dmFyKC0tb2ctYmFyLXBhcnRzLXNpZGUtcGFkZGluZywzMnB4KX0uZ2JfZGQgLmdiX3VkLmdiX3hke3BhZGRpbmctbGVmdDowfS5nYl95ZHtmb250LXNpemU6MTRweDttYXgtd2lkdGg6MjAwcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MCAxMnB4O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwOy13ZWJraXQtdXNlci1zZWxlY3Q6dGV4dH0uZ2JfTWMgYXtjb2xvcjppbmhlcml0fS5nYl83Y3t0ZXh0LXJlbmRlcmluZzpvcHRpbWl6ZUxlZ2liaWxpdHk7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDtvcGFjaXR5OjF9LmdiX3pke3Bvc2l0aW9uOnJlbGF0aXZlfS5nYl9ve2ZvbnQtZmFtaWx5OmFyaWFsLHNhbnMtc2VyaWY7bGluZS1oZWlnaHQ6bm9ybWFsO3BhZGRpbmctcmlnaHQ6MTVweH0uZ2JfentkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLWxlZnQ6MTVweH0uZ2JfeiAuZ2JfeXtkaXNwbGF5OmlubGluZS1ibG9jaztsaW5lLWhlaWdodDoyNHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZ2JfQWR7dGV4dC1hbGlnbjpsZWZ0fS5nYl9se2Rpc3BsYXk6bm9uZX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjMxOXB4KXsuZ2JfamQ6bm90KC5nYl9wZCkgLmdiX2t7ZGlzcGxheTpub25lO3Zpc2liaWxpdHk6aGlkZGVufX0uZ2JfayAuZ2JfZCwuZ2JfayAuZ2JfZDpob3ZlciwuZ2JfayAuZ2JfZDpmb2N1c3tvcGFjaXR5OjF9LmdiX257ZGlzcGxheTpub25lfS5nYl9te2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LmdiX1Rhe3Zpc2liaWxpdHk6aGlkZGVufUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MzE5cHgpey5nYl9qZDpub3QoLmdiX3BkKSAuZ2Jfa3tkaXNwbGF5Om5vbmU7dmlzaWJpbGl0eTpoaWRkZW59fS5nYl9GZHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmdiX0lkIC5nYl9ye2JvdHRvbTotM3B4O3JpZ2h0Oi01cHh9LmdiX2Z7cG9zaXRpb246cmVsYXRpdmV9LmdiX2R7ZGlzcGxheTppbmxpbmUtYmxvY2s7b3V0bGluZTpub25lO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LWJvcmRlci1yYWRpdXM6NTAlO2JvcmRlci1yYWRpdXM6NTAlOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6NDBweDt3aWR0aDo0MHB4O2N1cnNvcjpwb2ludGVyO3RleHQtZGVjb3JhdGlvbjpub25lfSNnYiNnYiBhLmdiX2R7Y3Vyc29yOnBvaW50ZXI7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmdiX2QsYS5nYl9ke2NvbG9yOiMwMDB9eDotby1wcmVmb2N1c3tib3JkZXItYm90dG9tLWNvbG9yOiNjY2N9LmdiX1d7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI2NjYztib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMik7Y29sb3I6IzAwMDstd2Via2l0LWJveC1zaGFkb3c6MCAycHggMTBweCByZ2JhKDAsMCwwLC4yKTtib3gtc2hhZG93OjAgMnB4IDEwcHggcmdiYSgwLDAsMCwuMik7ZGlzcGxheTpub25lO291dGxpbmU6bm9uZTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6NTRweDstd2Via2l0LWFuaW1hdGlvbjpnYl9fYSAuMnM7LXdlYmtpdC1hbmltYXRpb246Z2JfX2EgLjJzO2FuaW1hdGlvbjpnYl9fYSAuMnM7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjJweDtib3JkZXItcmFkaXVzOjJweDstd2Via2l0LXVzZXItc2VsZWN0OnRleHR9LmdiX0ZkLmdiX0VhIC5nYl9XLC5nYl9FYS5nYl9Xe2Rpc3BsYXk6YmxvY2t9LmdiX0pke3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjU0cHg7ei1pbmRleDotMX0uZ2JfMGEgLmdiX1d7bWFyZ2luLXRvcDotMTBweH0uZ2JfRmQ6Zmlyc3QtY2hpbGR7cGFkZGluZy1sZWZ0OjRweH0uZ2JfaGEuZ2JfS2QgLmdiX0ZkOmZpcnN0LWNoaWxke3BhZGRpbmctbGVmdDowfS5nYl9MZHtwb3NpdGlvbjpyZWxhdGl2ZX0uZ2JfWGMgLmdiX0xkLC5nYl9kZCAuZ2JfTGR7ZmxvYXQ6cmlnaHR9LmdiX2R7cGFkZGluZzo4cHg7Y3Vyc29yOnBvaW50ZXJ9LmdiX01kIGJ1dHRvbiBzdmcsLmdiX2R7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjUwJTtib3JkZXItcmFkaXVzOjUwJX0uZ2JfRmR7cGFkZGluZzo0cHh9LmdiX2hhLmdiX0tkIC5nYl9GZHtwYWRkaW5nOjRweCAycHh9LmdiX2hhLmdiX0tkIC5nYl9iLmdiX0Zke3BhZGRpbmctbGVmdDo2cHh9LmdiX1d7ei1pbmRleDo5OTE7bGluZS1oZWlnaHQ6bm9ybWFsfS5nYl9XLmdiX05ke2xlZnQ6MDtyaWdodDphdXRvfUBtZWRpYSAobWF4LXdpZHRoOjM1MHB4KXsuZ2JfVy5nYl9OZHtsZWZ0OjB9fS5nYl9PZCAuZ2JfV3t0b3A6NTZweH0uZ2JfcXstd2Via2l0LWJhY2tncm91bmQtc2l6ZTozMnB4IDMycHg7YmFja2dyb3VuZC1zaXplOjMycHggMzJweDtib3JkZXI6MDstd2Via2l0LWJvcmRlci1yYWRpdXM6NTAlO2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjBweDtwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MzJweDt3aWR0aDozMnB4O3otaW5kZXg6MH0uZ2JfVWF7YmFja2dyb3VuZC1jb2xvcjojZThmMGZlO2JvcmRlcjoxcHggc29saWQgcmdiYSgzMiwzMywzNiwuMDgpO3Bvc2l0aW9uOnJlbGF0aXZlfS5nYl9VYS5nYl9xe2hlaWdodDozMHB4O3dpZHRoOjMwcHh9LmdiX1VhLmdiX3E6aG92ZXIsLmdiX1VhLmdiX3E6YWN0aXZley13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX0uZ2JfVmF7YmFja2dyb3VuZDojZmZmO2JvcmRlcjpub25lOy13ZWJraXQtYm9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyLXJhZGl1czo1MCU7Ym90dG9tOjJweDstd2Via2l0LWJveC1zaGFkb3c6MHB4IDFweCAycHggMHB4IHJnYmEoNjAsNjQsNjcsLjMwKSwwcHggMXB4IDNweCAxcHggcmdiYSg2MCw2NCw2NywuMTUpO2JveC1zaGFkb3c6MHB4IDFweCAycHggMHB4IHJnYmEoNjAsNjQsNjcsLjMwKSwwcHggMXB4IDNweCAxcHggcmdiYSg2MCw2NCw2NywuMTUpO2hlaWdodDoxNHB4O21hcmdpbjoycHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt3aWR0aDoxNHB4fS5nYl9XYXtjb2xvcjojMWY3MWU3O2ZvbnQ6NDAwIDIycHgvMzJweCBHb29nbGUgU2FucyxSb2JvdG8sSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfUBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOjEuMjUpLChtaW4tcmVzb2x1dGlvbjoxLjI1ZHBweCksKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MS4yNSl7LmdiX3E6OmJlZm9yZSwuZ2JfWGE6OmJlZm9yZXtkaXNwbGF5OmlubGluZS1ibG9jazstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwLjUpOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDAuNSk7dHJhbnNmb3JtOnNjYWxlKDAuNSk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmxlZnQgMDstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46bGVmdCAwO3RyYW5zZm9ybS1vcmlnaW46bGVmdCAwfS5nYl9EIC5nYl9YYTo6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKHNjYWxlKDAuNDE2NjY2NjY3KSk7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoc2NhbGUoMC40MTY2NjY2NjcpKTt0cmFuc2Zvcm06c2NhbGUoc2NhbGUoMC40MTY2NjY2NjcpKX19LmdiX3E6aG92ZXIsLmdiX3E6Zm9jdXN7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwuMTUpO2JveC1zaGFkb3c6MCAxcHggMCByZ2JhKDAsMCwwLC4xNSl9LmdiX3E6YWN0aXZley13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDJweCAwIHJnYmEoMCwwLDAsLjE1KTtib3gtc2hhZG93Omluc2V0IDAgMnB4IDAgcmdiYSgwLDAsMCwuMTUpfS5nYl9xOmFjdGl2ZTo6YWZ0ZXJ7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4xKTstd2Via2l0LWJvcmRlci1yYWRpdXM6NTAlO2JvcmRlci1yYWRpdXM6NTAlO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJX0uZ2JfWmF7Y3Vyc29yOnBvaW50ZXI7bGluZS1oZWlnaHQ6NDBweDttaW4td2lkdGg6MzBweDtvcGFjaXR5Oi43NTtvdmVyZmxvdzpoaWRkZW47dmVydGljYWwtYWxpZ246bWlkZGxlO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LmdiX2QuZ2JfWmF7d2lkdGg6YXV0b30uZ2JfWmE6aG92ZXIsLmdiX1phOmZvY3Vze29wYWNpdHk6Ljg1fS5nYl8wYSAuZ2JfWmEsLmdiXzBhIC5nYl8xYXtsaW5lLWhlaWdodDoyNnB4fSNnYiNnYi5nYl8wYSBhLmdiX1phLC5nYl8wYSAuZ2JfMWF7Zm9udC1zaXplOjExcHg7aGVpZ2h0OmF1dG99LmdiXzJhe2JvcmRlci10b3A6NHB4IHNvbGlkICMwMDA7Ym9yZGVyLWxlZnQ6NHB4IGRhc2hlZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NHB4IGRhc2hlZCB0cmFuc3BhcmVudDtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tbGVmdDo2cHg7b3BhY2l0eTouNzU7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nYl96YTpob3ZlciAuZ2JfMmF7b3BhY2l0eTouODV9LmdiX3hhPi5nYl9ie3BhZGRpbmc6M3B4IDNweCAzcHggNHB4fS5nYl8zYS5nYl9UYXtjb2xvcjojZmZmfS5nYl9CIC5nYl9aYSwuZ2JfQiAuZ2JfMmF7b3BhY2l0eToxfSNnYiNnYi5nYl9CLmdiX0IgYS5nYl9aYSwjZ2IjZ2IgLmdiX0IuZ2JfQiBhLmdiX1phe2NvbG9yOiNmZmZ9LmdiX0IuZ2JfQiAuZ2JfMmF7Ym9yZGVyLXRvcC1jb2xvcjojZmZmO29wYWNpdHk6MX0uZ2JfViAuZ2JfcTpob3ZlciwuZ2JfQiAuZ2JfcTpob3ZlciwuZ2JfViAuZ2JfcTpmb2N1cywuZ2JfQiAuZ2JfcTpmb2N1c3std2Via2l0LWJveC1zaGFkb3c6MCAxcHggMCByZ2JhKDAsMCwwLC4xNSksMCAxcHggMnB4IHJnYmEoMCwwLDAsLjIpO2JveC1zaGFkb3c6MCAxcHggMCByZ2JhKDAsMCwwLC4xNSksMCAxcHggMnB4IHJnYmEoMCwwLDAsLjIpfS5nYl80YSAuZ2JfYiwuZ2JfNWEgLmdiX2J7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MXB4fS5nYl9iLmdiX0EsLmdiXzZhLmdiX0EsLmdiX3phLmdiX0F7LXdlYmtpdC1mbGV4OjAgMSBhdXRvOy13ZWJraXQtYm94LWZsZXg6MDtmbGV4OjAgMSBhdXRvfS5nYl83YS5nYl84YSAuZ2JfWmF7d2lkdGg6MzBweCFpbXBvcnRhbnR9LmdiX3B7aGVpZ2h0OjQwcHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6LTVweDt0b3A6LTVweDt3aWR0aDo0MHB4fS5nYl85YSAuZ2JfcCwuZ2JfYWIgLmdiX3B7cmlnaHQ6MDt0b3A6MH0uZ2JfYiAuZ2JfZHtwYWRkaW5nOjRweH0uZ2Jfc3tkaXNwbGF5Om5vbmV9LmdiX3phOm5vdCguZ2JfbmQpe3Bvc2l0aW9uOnJlbGF0aXZlfS5nYl96YTpub3QoLmdiX25kKTo6YWZ0ZXJ7Y29udGVudDoiIjtib3JkZXI6MXB4IHNvbGlkICMyMDIxMjQ7b3BhY2l0eTouMTM7cG9zaXRpb246YWJzb2x1dGU7dG9wOjRweDtsZWZ0OjRweDstd2Via2l0LWJvcmRlci1yYWRpdXM6NTAlO2JvcmRlci1yYWRpdXM6NTAlO3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHh9LmdiX3hhey13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6NDhweDtvdmVyZmxvdzpoaWRkZW47b3V0bGluZTpub25lO3BhZGRpbmc6N3B4IDAgMCAxNnB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDoxNDJweDstd2Via2l0LWJvcmRlci1yYWRpdXM6MjhweDtib3JkZXItcmFkaXVzOjI4cHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkO3Bvc2l0aW9uOnJlbGF0aXZlfS5nYl94YSAuZ2JfemF7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtwYWRkaW5nOjB9LmdiX0FhIC5nYl94YSwuZ2JfQmEgLmdiX3hhe2JvcmRlci1jb2xvcjojNzQ3Nzc1O2JvcmRlci1jb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLW91dGxpbmUsIzc0Nzc3NSl9LmdiX0FhLmdiX2kgLmdiX3hhLC5nYl9CYS5nYl9pIC5nYl94YXtib3JkZXItY29sb3I6IzhlOTE4Zjtib3JkZXItY29sb3I6dmFyKC0tZ20zLXN5cy1jb2xvci1vdXRsaW5lLCM4ZTkxOGYpfS5nYl9DYSAuZ2JfeGF7Ym9yZGVyLWNvbG9yOiM3NDc3NzU7Ym9yZGVyLWNvbG9yOnZhcigtLWdtMy1zeXMtY29sb3Itb3V0bGluZSwjNzQ3Nzc1KX0uZ2JfQ2EuZ2JfaSAuZ2JfeGF7Ym9yZGVyLWNvbG9yOiNlM2UzZTM7Ym9yZGVyLWNvbG9yOnZhcigtLWdtMy1zeXMtY29sb3Itb24tc3VyZmFjZSwjZTNlM2UzKX0uZ2JfRGF7ZGlzcGxheTppbmhlcml0fS5nYl94YSAuZ2JfRGF7YmFja2dyb3VuZDojZmZmOy13ZWJraXQtYm9yZGVyLXJhZGl1czo2cHg7Ym9yZGVyLXJhZGl1czo2cHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7bGVmdDoxNXB4O21hcmdpbi1yaWdodDo1cHg7cG9zaXRpb246aW5pdGlhbDtwYWRkaW5nOjJweDt0b3A6LTFweDtoZWlnaHQ6MzJweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6NzhweH0uZ2JfRmF7dGV4dC1hbGlnbjpjZW50ZXJ9LmdiX0ZhLmdiX0hhe2JhY2tncm91bmQtY29sb3I6I2YxZjNmNH0uZ2JfRmEgLmdiX0lhe3ZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXgtaGVpZ2h0OjI4cHg7bWF4LXdpZHRoOjc0cHh9LmdiX2hhIC5nYl94YSAuZ2JfYi5nYl9GZHtwYWRkaW5nOjA7bWFyZ2luLXJpZ2h0OjlweDtmbG9hdDpyaWdodH0uZ2JfaGE6bm90KC5nYl9KYSkgLmdiX3hhe21hcmdpbi1sZWZ0OjEwcHg7bWFyZ2luLXJpZ2h0OjRweH1zZW50aW5lbHt9OnJvb3R7LS1DT0VtWTojMWYxZjFmOy0teGhVR3djOiNmZmZ9OnJvb3R7LS12WmUwamI6I2E4YzdmYTstLW53WG9iYjojNjM4ZWQ0Oy0tVnVaWEJkOiMwMDFkMzU7LS11THozN2M6IzU0NWQ3ZTstLWpJTnU2YzojMDAxZDM1Oy0tVHlWWWxkOiMwYjU3ZDA7LS1aRXBQbWQ6I2MzZDlmYjstLVFXYWFhZjojNjM4ZWQ0Oy0tREVlU3RmOiNmNWY4ZmY7LS1UU1daSWI6I2U1ZWRmZjstLUJSTHdFOiNkM2UzZmQ7LS1nUzVqWGI6I2RhZGNlMDstLUFxbjd4ZDojZDJkMmQyOy0tRXBGTlc6I2ZmZjstLUlYb3hVZTojNWU1ZTVlOy0tYmJReEFiOiM0NzQ3NDc7LS1ZTE5OSGM6IzFmMWYxZjstLVRNWVM5OiMwYjU3ZDA7LS1KS3F4MjojMWEwZGFiOy0tcnJKSlVjOiMwYjU3ZDA7LS1tWFprcWM6I2QyZDJkMjstLU5zbTBjZTojMGI1N2QwOy0tWEtNRHhjOiNmN2Y4Zjk7LS1hWW4yUzojZWNlZGVlOy0tTG01NzBiOiNlY2VkZWV9LklpT1NMYiAucnNHeEkuV3c0RkZiLC5XdzRGRmJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS14aFVHd2MpO2JvcmRlci1yYWRpdXM6MHB4O2JvcmRlci13aWR0aDowfS5JaU9TTGIgLnJzR3hJLld3NEZGYiwuV3c0RkZie2JveC1zaGFkb3c6bm9uZX0uV3c0RkZiIC5tbnItYzpub3QoOmVtcHR5KSwubW5yLWM6bm90KDplbXB0eSkgLld3NEZGYiwuV3c0RkZiIC5XdzRGRmJ7Ym94LXNoYWRvdzpub25lO21hcmdpbi1ib3R0b206MHB4fS52dDZhemR7bWFyZ2luOjBweCAwcHggOHB4fS52dDZhemR7bWFyZ2luOjBweCAwcHggMzBweH0uQ0J2dnp7bWFyZ2luOi12YXIoLS1zZHMtc3lzLW1lYXN1cmVtZW50LS1zcGFjZS1zbSkgMHB4IDBweH0uQ0J2dnp7bWFyZ2luOi0zMHB4IDBweCAwcHh9LmpiQkl0ZntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS5EVTBOSntib3R0b206MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0ubFAzSm9me2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS5uTk11T2R7YW5pbWF0aW9uOnFsaS1jb250YWluZXItcm90YXRlIDE1NjguMjM1Mjk0MTE3Nm1zIGxpbmVhciBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHFsaS1jb250YWluZXItcm90YXRle2Zyb217dHJhbnNmb3JtOnJvdGF0ZSgwKX10b3t0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19LlJvS21oYntoZWlnaHQ6MTAwJTtvcGFjaXR5OjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJX0ubk5NdU9kIC5WUWRlYWJ7YW5pbWF0aW9uOnFsaS1maWxsLXVuZmlsbC1yb3RhdGUgNTMzMm1zIGN1YmljLWJlemllcigwLjQsMCwwLjIsMSkgaW5maW5pdGUgYm90aCxxbGktYmx1ZS1mYWRlLWluLW91dCA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwwLDAuMiwxKSBpbmZpbml0ZSBib3RofS5uTk11T2QgLklFcWlBZnthbmltYXRpb246cWxpLWZpbGwtdW5maWxsLXJvdGF0ZSA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwwLDAuMiwxKSBpbmZpbml0ZSBib3RoLHFsaS1yZWQtZmFkZS1pbi1vdXQgNTMzMm1zIGN1YmljLWJlemllcigwLjQsMCwwLjIsMSkgaW5maW5pdGUgYm90aH0ubk5NdU9kIC5zbW9jc2V7YW5pbWF0aW9uOnFsaS1maWxsLXVuZmlsbC1yb3RhdGUgNTMzMm1zIGN1YmljLWJlemllcigwLjQsMCwwLjIsMSkgaW5maW5pdGUgYm90aCxxbGkteWVsbG93LWZhZGUtaW4tb3V0IDUzMzJtcyBjdWJpYy1iZXppZXIoMC40LDAsMC4yLDEpIGluZmluaXRlIGJvdGh9Lm5OTXVPZCAuRmxLYkNle2FuaW1hdGlvbjpxbGktZmlsbC11bmZpbGwtcm90YXRlIDUzMzJtcyBjdWJpYy1iZXppZXIoMC40LDAsMC4yLDEpIGluZmluaXRlIGJvdGgscWxpLWdyZWVuLWZhZGUtaW4tb3V0IDUzMzJtcyBjdWJpYy1iZXppZXIoMC40LDAsMC4yLDEpIGluZmluaXRlIGJvdGh9LkJTbkxiIC5uTk11T2QgLlJvS21oYnthbmltYXRpb246cWxpLWZpbGwtdW5maWxsLXJvdGF0ZSA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwwLDAuMiwxKSBpbmZpbml0ZSBib3RoO29wYWNpdHk6MC45OX1Aa2V5ZnJhbWVzIHFsaS1maWxsLXVuZmlsbC1yb3RhdGV7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwKX0xMi41JXt0cmFuc2Zvcm06cm90YXRlKDEzNWRlZyl9MjUle3RyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKX0zNy41JXt0cmFuc2Zvcm06cm90YXRlKDQwNWRlZyl9NTAle3RyYW5zZm9ybTpyb3RhdGUoNTQwZGVnKX02Mi41JXt0cmFuc2Zvcm06cm90YXRlKDY3NWRlZyl9NzUle3RyYW5zZm9ybTpyb3RhdGUoODEwZGVnKX04Ny41JXt0cmFuc2Zvcm06cm90YXRlKDk0NWRlZyl9MTAwJXt0cmFuc2Zvcm06cm90YXRlKDN0dXJuKX19QGtleWZyYW1lcyBxbGktYmx1ZS1mYWRlLWluLW91dHswJXtvcGFjaXR5OjAuOTl9MjUle29wYWNpdHk6MC45OX0yNiV7b3BhY2l0eTowfTg5JXtvcGFjaXR5OjB9OTAle29wYWNpdHk6MC45OX0xMDAle29wYWNpdHk6MC45OX19QGtleWZyYW1lcyBxbGktcmVkLWZhZGUtaW4tb3V0ezAle29wYWNpdHk6MH0xNSV7b3BhY2l0eTowfTI1JXtvcGFjaXR5OjAuOTl9NTAle29wYWNpdHk6MC45OX01MSV7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHFsaS15ZWxsb3ctZmFkZS1pbi1vdXR7MCV7b3BhY2l0eTowfTQwJXtvcGFjaXR5OjB9NTAle29wYWNpdHk6MC45OX03NSV7b3BhY2l0eTowLjk5fTc2JXtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgcWxpLWdyZWVuLWZhZGUtaW4tb3V0ezAle29wYWNpdHk6MH02NSV7b3BhY2l0eTowfTc1JXtvcGFjaXR5OjAuOTl9OTAle29wYWNpdHk6MC45OX0xMDAle29wYWNpdHk6MH19LmJlRFFQe2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDo1MCV9LkZjWGZpe2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6MTAwJTtsZWZ0OjQ1JTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAlfS5TUEtGbWN7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyOjNweCBzb2xpZCB0cmFuc3BhcmVudDtib3gtc2l6aW5nOmJvcmRlci1ib3h9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSksKHByZWZlcnMtY29udHJhc3Q6bW9yZSl7LmJlRFFQOmxhc3QtY2hpbGQgLlNQS0ZtY3tib3JkZXI6bm9uZX19LngzU2RYZHt3aWR0aDoyMDAlfS5KN3V1VWV7dHJhbnNmb3JtOnJvdGF0ZSgxMjlkZWcpfS5zRFBJQ3tsZWZ0Oi0xMDAlO3RyYW5zZm9ybTpyb3RhdGUoLTEyOWRlZyl9LnRTM1A1e2xlZnQ6LTQ1MCU7d2lkdGg6MTAwMCV9LlZRZGVhYiAuU1BLRm1je2JvcmRlci1jb2xvcjojNDI4NWY0fS5JRXFpQWYgLlNQS0ZtY3tib3JkZXItY29sb3I6I2VhNDMzNX0uc21vY3NlIC5TUEtGbWN7Ym9yZGVyLWNvbG9yOiNmYmJjMDR9LkZsS2JDZSAuU1BLRm1je2JvcmRlci1jb2xvcjojMzRhODUzfS5Sb0ttaGIgLko3dXVVZXtib3JkZXItYm90dG9tLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1yaWdodC1jb2xvcjp0cmFuc3BhcmVudH0uUm9LbWhiIC5zRFBJQ3tib3JkZXItYm90dG9tLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1sZWZ0LWNvbG9yOnRyYW5zcGFyZW50fS5Sb0ttaGIgLnRTM1A1e2JvcmRlci1ib3R0b20tY29sb3I6dHJhbnNwYXJlbnR9LkdnVEpXZSAubk5NdU9kIC5KN3V1VWV7YW5pbWF0aW9uOnFsaS1sZWZ0LXNwaW4gMTMzM21zIGN1YmljLWJlemllcigwLjQsMCwwLjIsMSkgaW5maW5pdGUgYm90aH0uR2dUSldlIC5uTk11T2QgLnNEUElDe2FuaW1hdGlvbjpxbGktcmlnaHQtc3BpbiAxMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwwLDAuMiwxKSBpbmZpbml0ZSBib3RofS5CU25MYiAubk5NdU9kIC5KN3V1VWV7YW5pbWF0aW9uOnFsaS1sZWZ0LXNwaW4gMTMzM21zIGN1YmljLWJlemllcigwLjQsMCwwLjIsMSkgaW5maW5pdGUgYm90aDtib3JkZXItbGVmdC1jb2xvcjp2YXIoLS1FcEZOVyk7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1FcEZOVyl9LkJTbkxiIC5uTk11T2QgLnNEUElDe2FuaW1hdGlvbjpxbGktcmlnaHQtc3BpbiAxMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwwLDAuMiwxKSBpbmZpbml0ZSBib3RoO2JvcmRlci1yaWdodC1jb2xvcjp2YXIoLS1FcEZOVyk7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1FcEZOVyl9LkJTbkxiIC5uTk11T2QgLnRTM1A1e2JvcmRlci1jb2xvcjp2YXIoLS1FcEZOVyk7Ym9yZGVyLWJvdHRvbS1jb2xvcjp0cmFuc3BhcmVudH1Aa2V5ZnJhbWVzIHFsaS1sZWZ0LXNwaW57MCV7dHJhbnNmb3JtOnJvdGF0ZSgxMzBkZWcpfTUwJXt0cmFuc2Zvcm06cm90YXRlKC01ZGVnKX0xMDAle3RyYW5zZm9ybTpyb3RhdGUoMTMwZGVnKX19QGtleWZyYW1lcyBxbGktcmlnaHQtc3BpbnswJXt0cmFuc2Zvcm06cm90YXRlKC0xMzBkZWcpfTUwJXt0cmFuc2Zvcm06cm90YXRlKDVkZWcpfTEwMCV7dHJhbnNmb3JtOnJvdGF0ZSgtMTMwZGVnKX19Lk9oU2NpY3ttYXJnaW46MHB4fS56c1lNTWV7cGFkZGluZzowcHh9LmJOZzhSYntjbGlwOnJlY3QoMXB4LDFweCwxcHgsMXB4KTtoZWlnaHQ6MXB4O292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MXB4O3otaW5kZXg6LTEwMDA7dXNlci1zZWxlY3Q6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lfS5UQkM5dWJ7bWFyZ2luLWxlZnQ6MHB4O21hcmdpbi1yaWdodDowcHh9Lk9aNWJSZHttYXJnaW4tYm90dG9tOmF1dG87bWFyZ2luLXRvcDphdXRvfS53Z2JSTmJ7Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OjcycHg7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazt2aXNpYmlsaXR5OmluaGVyaXQ7d2lkdGg6MzZweDtib3R0b206MDtvcGFjaXR5Oi44O3RvcDowO3otaW5kZXg6MTAxfS53Z2JSTmIudEhUMGx7dHJhbnNpdGlvbjpvcGFjaXR5IC41cyx2aXNpYmlsaXR5IC41c30ud2diUk5iOmhvdmVye29wYWNpdHk6Ljl9LndnYlJOYi5wUVhjSGMsLndnYlJOYi5wUVhjSGM6aG92ZXJ7Y3Vyc29yOmRlZmF1bHQ7b3BhY2l0eTowO3Zpc2liaWxpdHk6aGlkZGVufS5iNUs5emR7Ym90dG9tOjA7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZSFpbXBvcnRhbnQ7dG9wOjB9LndnYlJOYi5FTkpIUGQ6aG92ZXIgZy1mYWJ7Y29sb3I6IzIwMjEyNCFpbXBvcnRhbnR9LmJDd2xJLkVOSkhQZCBnLWZhYiwuVmRlaEJmLkVOSkhQZCBnLWZhYntib3gtc2hhZG93OjAgN3B4IDE1cHggcmdiYSgwLDAsMCwwLjIpfS53Z2JSTmIuRU5KSFBke2hlaWdodDo1MHB4O3dpZHRoOjUwcHg7b3BhY2l0eToxfS53Z2JSTmIuRU5KSFBkLnBRWGNIYywud2diUk5iLkVOSkhQZC5wUVhjSGM6aG92ZXJ7b3BhY2l0eTowfS5iQ3dsSS5FTkpIUGQgZy1mYWIsLlZkZWhCZi5FTkpIUGQgZy1mYWJ7Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OjUwcHg7d2lkdGg6NTBweH0uYkN3bEkuRU5KSFBke2xlZnQ6LTI1cHh9LlZkZWhCZi5FTkpIUGR7cmlnaHQ6LTI1cHh9LndnYlJOYi5IRWVBcWU6aG92ZXIgZy1mYWJ7Y29sb3I6IzIwMjEyNCFpbXBvcnRhbnR9LndnYlJOYi5IRWVBcWV7aGVpZ2h0OjQ4cHg7d2lkdGg6NDhweDtvcGFjaXR5Oi45fS53Z2JSTmIuSEVlQXFlOmhvdmVye29wYWNpdHk6MX0ud2diUk5iLkhFZUFxZS5wUVhjSGMsLndnYlJOYi5IRWVBcWUucFFYY0hjOmhvdmVye29wYWNpdHk6MH0uYkN3bEkuSEVlQXFlIGctZmFiLC5WZGVoQmYuSEVlQXFlIGctZmFie2JveC1zaGFkb3c6MCA3cHggMTVweCByZ2JhKDAsMCwwLDAuMik7Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OjQ4cHg7d2lkdGg6NDhweH0uYkN3bEkuSEVlQXFle2xlZnQ6MjBweH0uVmRlaEJmLkhFZUFxZXtyaWdodDoyMHB4fS53Z2JSTmIuVFZnRlZiOmhvdmVyIGctZmFie2NvbG9yOiMyMDIxMjQhaW1wb3J0YW50fS53Z2JSTmIuVFZnRlZie2hlaWdodDo0MHB4O3dpZHRoOjQwcHh9LmJDd2xJLlRWZ0ZWYiBnLWZhYiwuVmRlaEJmLlRWZ0ZWYiBnLWZhYntib3gtc2hhZG93OjAgNHB4IDRweCByZ2JhKDAsMCwwLDAuMyksMCAwIDRweCByZ2JhKDAsMCwwLDAuMik7Y3Vyc29yOnBvaW50ZXJ9LmJDd2xJLlRWZ0ZWYntsZWZ0Oi01OHB4fS5WZGVoQmYuVFZnRlZie3JpZ2h0Oi01OHB4fS5iQ3dsSS5ZemUyNmQgLnZXdG1LZiwuVmRlaEJmLll6ZTI2ZCAuUEZZNG97YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBd0FBQUF1Q0FZQUFBQWNFZmphQUFBQlYwbEVRVlJJeCsyVnNXN0NRQkJFRHdUcElrWElDTXV5SmR0ZlFzR1hRVVZGbFNwVm1qVEVTT240QkFvWExpZ3N1ZUF2YU0yTUJBaHQ3ZzZ2MDZaWXdOSzg4OTNlekdMYXRqVjVuaTlRTzJQTUM1OTlaZEkwbldkWmRnYlE0dnNIME5nTFFMU24rRlo0L2dZMGNnSkJFTHhDZEhpRVVGK0FobGFBSDlqV0cwU2xlTk9uRGJyL2lPTjRBbEVsb0E5QUF5dkFpcUlvZ1BBb29IY253SUpnaHFyRm1UWk9nSlVrU1FSUkk2QzFFN2h1TDhHYlRtSjdLeTJ3L1B1V1ZJY093M0RhdWEycWkxTlpRMjAraTcyM1hudXJBL1FRMGFKVFJKOEovb0V1QUZ2TnFjaldQd1Y0aWJ6TTY2V2VlY2srOFloVFVOaG03eElQYVVBaFB0Q29Wakd0TGR4Yk1nSy96c0N3TURSaTVZcmhzbmFKY1JRckh6a05yVzFsME1YS05RZUN5OTVyc1hMRFVlTkszRXFzZk9JUTgvMERMVldBZWt1OUR1MXJLNmVoRTFCZm5Ob2F2Y3duN0wzdFpPOWVBUklSTFc0UnZRQTArNkROd1RIVzZRQUFBQUJKUlU1RXJrSmdnZz09KTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7aGVpZ2h0OjIwcHg7b3BhY2l0eTouNTY7d2lkdGg6MTJweH0uYkN3bEkuWXplMjZkLC5WZGVoQmYuWXplMjZke29wYWNpdHk6Ljk7d2lkdGg6ODBweH0uYkN3bEkuWXplMjZkIC52V3RtS2Z7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0yNnB4O2xlZnQ6MnB4fS5WZGVoQmYuWXplMjZkIC5QRlk0b3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMDtyaWdodDoycHh9LmJDd2xJLll6ZTI2ZHtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZmZmIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LDAuMDkpIDEwMCUpO2xlZnQ6MH0uVmRlaEJmLll6ZTI2ZHtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgyNzBkZWcsI2ZmZiA1MCUscmdiYSgyNTUsMjU1LDI1NSwwLjA5KSAxMDAlKTtyaWdodDowfS53Z2JSTmIuVDlXaDU6aG92ZXIgZy1mYWJ7Y29sb3I6IzIwMjEyNCFpbXBvcnRhbnQ7Ym94LXNoYWRvdzowIDAgMCAxcHggcmdiYSgwLDAsMCwwLjA0KSwwIDRweCA4cHggMCByZ2JhKDAsMCwwLDAuMil9LndnYlJOYi5UOVdoNXtoZWlnaHQ6MzZweDt3aWR0aDozNnB4O29wYWNpdHk6MX0ud2diUk5iLlQ5V2g1LnBRWGNIYywud2diUk5iLlQ5V2g1LnBRWGNIYzpob3ZlcntvcGFjaXR5OjB9LmJDd2xJLlQ5V2g1IGctZmFiLC5WZGVoQmYuVDlXaDUgZy1mYWJ7Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OjM2cHg7d2lkdGg6MzZweH0uYkN3bEkuVDlXaDV7bGVmdDotMThweH0uVmRlaEJmLlQ5V2g1e3JpZ2h0Oi0xOHB4fS5iQ3dsSS5TTDBHcCAudld0bUtmLC5WZGVoQmYuU0wwR3AgLlBGWTRve2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtvcGFjaXR5Oi41NDt3aWR0aDoyNHB4fS5iQ3dsSS5TTDBHcCAudld0bUtme2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQmdBQUFBWUNBUUFBQUJLZnZWekFBQUFRMGxFUVZSNEFXTkFCYU5BQVFoSlV2NEFDR1ZKVWY2ZjRUQUREdzJWSHlGTitWRUdYbUpkZndDby9BZUROSWhKcVEyRS9VQkxMWWlBcFZGTUk5SVNXV0FVQUFBeTF4M0czajF3eFFBQUFBQkpSVTVFcmtKZ2dnPT0pfS5WZGVoQmYuU0wwR3AgLlBGWTRve2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQmdBQUFBWUNBUUFBQUJLZnZWekFBQUFVRWxFUVZSNEFXT0FnRkhBQVlRa0tkOEJoQ1JvVVdaNHdmQ2ZOQzFhREMvcG9FV2I0UldwV25RWWZnSzFiQ0JXT1NQREZLRHlId3dleENxZlRGUGxreURLaVEvU0gyRGxKQUFQSUtRSWpBSUFEQU1kNWNlMWowSUFBQUFBU1VWT1JLNUNZSUk9KX0uVmRlaEJmLlNMMEdwLC5iQ3dsSS5TTDBHcHt3aWR0aDoyNHB4fS53Z2JSTmIuU0wwR3AucFFYY0hjLC53Z2JSTmIuU0wwR3AucFFYY0hjOmhvdmVye2N1cnNvcjpkZWZhdWx0O29wYWNpdHk6MTt2aXNpYmlsaXR5OmluaGVyaXR9LndnYlJOYi5TTDBHcC5wUVhjSGMgLnZXdG1LZiwud2diUk5iLlNMMEdwLnBRWGNIYyAuUEZZNG97b3BhY2l0eTouMn0ud2diUk5iLlNMMEdwe2hlaWdodDoyNHB4O21hcmdpbjowfS53Z2JSTmIuU0wwR3A6aG92ZXJ7b3BhY2l0eToxfS53Z2JSTmIuemZwVWtlOmhvdmVyIGctZmFie2NvbG9yOiMyMDIxMjQhaW1wb3J0YW50fS53Z2JSTmIuemZwVWtle2hlaWdodDozNnB4O3dpZHRoOjM2cHg7b3BhY2l0eTowfS56MU1tMGU6aG92ZXIgLndnYlJOYi56ZnBVa2V7b3BhY2l0eTouOX0uejFNbTBlIC53Z2JSTmIuemZwVWtlOmhvdmVyLC56MU1tMGUgLndnYlJOYi56ZnBVa2U6Zm9jdXMtdmlzaWJsZXtvcGFjaXR5OjF9LndnYlJOYi56ZnBVa2UucFFYY0hjLC53Z2JSTmIuemZwVWtlLnBRWGNIYzpob3ZlcntvcGFjaXR5OjB9LmJDd2xJLnpmcFVrZSBnLWZhYiwuVmRlaEJmLnpmcFVrZSBnLWZhYntib3gtc2hhZG93OjAgMCAwIDFweCByZ2JhKDAsMCwwLDAuMDQpLDAgNHB4IDhweCAwIHJnYmEoMCwwLDAsMC4yKTtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6MzZweDt3aWR0aDozNnB4fS5iQ3dsSS56ZnBVa2V7bGVmdDoxNnB4fS5WZGVoQmYuemZwVWtle3JpZ2h0OjE2cHh9LmJDd2xJLkVOcFh5YiAudld0bUtmLC5WZGVoQmYuRU5wWHliIC5QRlk0b3tiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUF3QUFBQXVDQVlBQUFBY0VmamFBQUFCVjBsRVFWUkl4KzJWc1c3Q1FCQkVEd1RwSWtYSUNNdXlKZHRmUXNHWFFVVkZsU3BWbWpURVNPbjRCQW9YTGlnc3VlQXZhTTJNQkFodDdnNnYwNlpZd05LODg5M2V6R0xhdGpWNW5pOVFPMlBNQzU5OVpkSTBuV2RaZGdiUTR2c0gwTmdMUUxTbitGWjQvZ1kwY2dKQkVMeENkSGlFVUYrQWhsYUFIOWpXRzBTbGVOT25EYnIvaU9ONEFsRWxvQTlBQXl2QWlxSW9nUEFvb0hjbndJSmdocXJGbVRaT2dKVWtTUVJSSTZDMUU3aHVMOEdiVG1KN0t5MncvUHVXVkljT3czRGF1YTJxaTFOWlEyMCtpNzIzWG51ckEvUVEwYUpUUko4Si9vRXVBRnZOcWNqV1B3VjRpYnpNNjZXZWVjays4WWhUVU5obTd4SVBhVUFoUHRDb1ZqR3RMZHhiTWdLL3pzQ3dNRFJpNVlyaHNuYUpjUlFySHprTnJXMWwwTVhLTlFlQ3k5NXJzWExEVWVOSzNFcXNmT0lROC8wRExWV0Fla3U5RHUxcks2ZWhFMUJmbk5vYXZjd243TDN0Wk85ZUFSSVJMVzRSdlFBMCs2RE53VEhXNlFBQUFBQkpSVTVFcmtKZ2dnPT0pO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtoZWlnaHQ6MjBweDt3aWR0aDoxMnB4fS5iQ3dsSS5FTnBYeWIgLnZXdG1LZntiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTI2cHg7bGVmdDo4cHh9LlZkZWhCZi5FTnBYeWIgLlBGWTRve2JhY2tncm91bmQtcG9zaXRpb246MCAwO3JpZ2h0OjhweH0uYkN3bEkuRU5wWHlie2xlZnQ6MH0uVmRlaEJmLkVOcFh5YntyaWdodDowfS5iQ3dsSS5FTnBYeWJ7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MzZweDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czozNnB4O2JveC1zaGFkb3c6MXB4IDAgMnB4IHJnYmEoMCwwLDAsMC41KX0uVmRlaEJmLkVOcFh5Yntib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjM2cHg7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czozNnB4O2JveC1zaGFkb3c6LTFweCAwIDJweCByZ2JhKDAsMCwwLDAuNSl9LmJDd2xJLkFvVDZzYyAudld0bUtme2xlZnQ6MnB4fS5WZGVoQmYuQW9UNnNjIC5QRlk0b3tyaWdodDoycHh9LmJDd2xJLkFvVDZzY3tsZWZ0Oi0zMnB4O2JvcmRlcjoxcHggc29saWQgI2Y4ZjlmYTtib3JkZXItcmFkaXVzOjJweCAwIDAgMnB4fS5WZGVoQmYuQW9UNnNje3JpZ2h0Oi0zMnB4O2JvcmRlcjoxcHggc29saWQgI2Y4ZjlmYTtib3JkZXItcmFkaXVzOjAgMnB4IDJweCAwfS53Z2JSTmIuQW9UNnNje2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvcCwjZjhmOWZhLCNmOGY5ZmEpO2hlaWdodDo1MHB4O3dpZHRoOjMwcHh9LndnYlJOYi5Bb1Q2c2M6aG92ZXJ7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG9wLCNmOGY5ZmEsI2Y4ZjlmYSl9LndnYlJOYi5idHBORmU6aG92ZXIgZy1mYWJ7Y29sb3I6IzIwMjEyNCFpbXBvcnRhbnR9LndnYlJOYi5idHBORmV7aGVpZ2h0OjM2cHg7d2lkdGg6MzZweDtvcGFjaXR5Oi45fS53Z2JSTmIuYnRwTkZlOmhvdmVye29wYWNpdHk6MX0ud2diUk5iLmJ0cE5GZS5wUVhjSGMsLndnYlJOYi5idHBORmUucFFYY0hjOmhvdmVye29wYWNpdHk6MH0uYkN3bEkuYnRwTkZlIGctZmFiLC5WZGVoQmYuYnRwTkZlIGctZmFie2JveC1zaGFkb3c6MCAwIDAgMXB4IHJnYmEoMCwwLDAsMC4wNCksMCA0cHggOHB4IDAgcmdiYSgwLDAsMCwwLjIpO2N1cnNvcjpwb2ludGVyO2hlaWdodDozNnB4O3dpZHRoOjM2cHh9LmJDd2xJLmJ0cE5GZXtsZWZ0Oi0xOHB4fS5WZGVoQmYuYnRwTkZle3JpZ2h0Oi0xOHB4fS53Z2JSTmIualNaTXJlOmhvdmVyIGctZmFie2NvbG9yOiMyMDIxMjQhaW1wb3J0YW50fS53Z2JSTmIualNaTXJle2hlaWdodDozMnB4O3dpZHRoOjMycHg7b3BhY2l0eTouOTtwYWRkaW5nOjhweH0ud2diUk5iLmpTWk1yZTpob3ZlcntvcGFjaXR5OjF9LndnYlJOYi5qU1pNcmUucFFYY0hjLC53Z2JSTmIualNaTXJlLnBRWGNIYzpob3ZlcntvcGFjaXR5OjB9LmJDd2xJLmpTWk1yZSBnLWZhYiwuVmRlaEJmLmpTWk1yZSBnLWZhYntib3gtc2hhZG93OjAgN3B4IDE1cHggcmdiYSgwLDAsMCwwLjIpO2N1cnNvcjpwb2ludGVyO2hlaWdodDozMnB4O3dpZHRoOjMycHh9LmJDd2xJLmpTWk1yZXtsZWZ0OjIwcHh9LlZkZWhCZi5qU1pNcmV7cmlnaHQ6MjBweH0ud2diUk5iLnZrY0xpYntoZWlnaHQ6NDBweDt3aWR0aDo0MHB4O29wYWNpdHk6MH0uejFNbTBlOmhvdmVyIC53Z2JSTmIudmtjTGliLC56MU1tMGUgLndnYlJOYi52a2NMaWI6aG92ZXIsLnoxTW0wZSAud2diUk5iLnZrY0xpYjpmb2N1cy12aXNpYmxle29wYWNpdHk6MX0ud2diUk5iLnZrY0xpYi5wUVhjSGMsLndnYlJOYi52a2NMaWIucFFYY0hjOmhvdmVye29wYWNpdHk6MH0uYkN3bEkudmtjTGliIGctZmFiLC5WZGVoQmYudmtjTGliIGctZmFie2JveC1zaGFkb3c6MCAwIDAgMXB4IHJnYmEoMCwwLDAsMC4wNCksMCA0cHggOHB4IDAgcmdiYSgwLDAsMCwwLjIpO2N1cnNvcjpwb2ludGVyO2hlaWdodDoyNHB4O3dpZHRoOjI0cHg7cG9zaXRpb246cmVsYXRpdmU7dG9wOjhweDtsZWZ0OjhweH0uYkN3bEkudmtjTGlie2xlZnQ6NHB4fS5WZGVoQmYudmtjTGlie3JpZ2h0OjRweH0uT3ZRa1Nie2JvcmRlci1yYWRpdXM6OTk5OXB4fS5TM1BCMmR7bWFyZ2luOmF1dG99LnNyOWhlY3tkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MH0uc3I5aGVje2N1cnNvcjpwb2ludGVyfS5zcjloZWN7Ym9yZGVyOjFweCBzb2xpZCAjZGFkY2UwfS5zcjloZWM6Zm9jdXN7b3V0bGluZTpub25lfS5zcjloZWMgLlU4djUxZXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7cmlnaHQ6MDt0b3A6MDtib3R0b206MDt3aWR0aDoyNHB4O2hlaWdodDoyNHB4fS5zM0lCM3t3aWR0aDo0MHB4O2hlaWdodDo0MHB4fS5hMTFQcnt3aWR0aDo1NnB4O2hlaWdodDo1NnB4fS5NS0NWMWJ7d2lkdGg6MjhweDtoZWlnaHQ6MjhweH0uc3I5aGVjLk1LQ1YxYiAuVTh2NTFle3dpZHRoOjIycHg7aGVpZ2h0OjIycHh9Lk9aUURXZHt3aWR0aDoxOHB4O2hlaWdodDoxOHB4fS5zcjloZWMuT1pRRFdkIC5VOHY1MWV7d2lkdGg6MTJweDtoZWlnaHQ6MTJweH0uZTVLWkpme2Rpc3BsYXk6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29wYWNpdHk6LjE7bGVmdDowO3RvcDowfS5lNUtaSmY6YWN0aXZle2FuaW1hdGlvbi1kdXJhdGlvbjouNHM7YW5pbWF0aW9uLW5hbWU6c2hpZnR9QGtleWZyYW1lcyBzaGlmdHsyNSV7YmFja2dyb3VuZDojMWYxZjFmfX0uWHg3TWlme2NvbnRhaW46c3R5bGU7cG9zaXRpb246cmVsYXRpdmV9LkU1ZUZie3dpZHRoOjEwMCU7Y29udGFpbjpzaXplIHN0eWxlfS5Mb3lnR2Z7d2lkdGg6MTAwJTtkaXNwbGF5OmJsb2NrfS5DVE9heGJ7cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO2NvbnRhaW46c2l6ZSBsYXlvdXQgc3R5bGV9Lk9NcW1mZHtwb3NpdGlvbjpzdGlja3k7dG9wOjB9LnpMU1JnZXtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1nUzVqWGIpfS5BWDFRZntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwdnc7d2lkdGg6MXB4O2hlaWdodDoycHg7dmlzaWJpbGl0eTpoaWRkZW47cG9pbnRlci1ldmVudHM6bm9uZX0uS0xFbVNke2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNkYWRjZTB9LkFRaXNaYnstLW0zYzE6IzBiNTdkMDstLW0zYzM6I2ZmZjstLW0zYzU6I2Y3ZjhmOTstLW0zYzY6I2VjZWRlZTstLW0zYzc6I2VjZWRlZTstLW0zYzk6IzFmMWYxZjstLW0zYzEwOiM1ZTVlNWU7LS1tM2MxMTojMWYxZjFmOy0tbTNjMTI6IzBiNTdkMDstLW0zYzEzOiNhM2M5ZmY7LS1tM2MxNDojMDAxZDM1Oy0tbTNjMTU6IzBiNTdkMDstLW0zYzE2OiM1ZTVlNWU7LS1tM2MxNzojZDJkMmQyOy0tbTNjMTg6IzQ0NmVmZjstLW0zYzE5OiNiMWM1ZmY7LS1tM2MyMDojYzhlY2ZmOy0tbTNjMjE6I2E2YzhmZn0uQVFpc1piey0tbTNjMjpyZ2JhKDI0NywyNDgsMjQ5LDAuNSl9Lll6Q2NuZXstLW0zYzE6IzBiNTdkMDstLW0zYzM6I2ZmZjstLW0zYzU6I2Y1ZjhmZjstLW0zYzY6I2U1ZWRmZjstLW0zYzc6I2U1ZWRmZjstLW0zYzk6IzAwMWQzNTstLW0zYzEwOiM1NDVkN2U7LS1tM2MxMTojMDAxZDM1Oy0tbTNjMTI6IzBiNTdkMDstLW0zYzEzOiNhM2M1ZmY7LS1tM2MxNDojMDAxZDM1Oy0tbTNjMTU6IzBiNTdkMDstLW0zYzE2OiM1NDVkN2U7LS1tM2MxNzojYTNjOWZmOy0tbTNjMTg6IzQ0NmVmZjstLW0zYzE5OiNiMWM1ZmY7LS1tM2MyMDojYzhlY2ZmOy0tbTNjMjE6I2E2YzhmZn0uWXpDY25ley0tbTNjMjpyZ2JhKDI0NSwyNDgsMjU1LDAuNSl9Lm54SXo5ZXstLW0zYzE6IzE4NWQwMDstLW0zYzI6cmdiYSgyNDUsMjUyLDIzNiwwLjUpOy0tbTNjMzojZmZmOy0tbTNjNTojZjVmY2VjOy0tbTNjNjojZTlmNWRlOy0tbTNjNzojZGJlNmQwOy0tbTNjOTojMDQyMTAwOy0tbTNjMTA6IzQyNDkzZTstLW0zYzExOiMwNDIxMDA7LS1tM2MxMjojMTg1ZDAwOy0tbTNjMTM6I2MxZjJhOTstLW0zYzE0OiMwNDIxMDA7LS1tM2MxNTojMTg1ZDAwOy0tbTNjMTY6IzQyNDkzZTstLW0zYzE3OiNhNGQ0OGU7LS1tM2MxODojN2ZkZDU4Oy0tbTNjMTk6IzhjZjhiOTstLW0zYzIwOiNlN2Y0ZTg7LS1tM2MyMTojYmZmMGE4fS5SbmtsQ3stLW0zYzE6Izk1MDA4NDstLW0zYzI6cmdiYSgyNTUsMjQ3LDI0OSwwLjUpOy0tbTNjMzojZmZmOy0tbTNjNTojZmZmN2Y5Oy0tbTNjNjojZmRlOGYzOy0tbTNjNzojZmZkN2YwOy0tbTNjOTojMjMxODIwOy0tbTNjMTA6IzUxNDM0YjstLW0zYzExOiMyMzE4MjA7LS1tM2MxMjojOTUwMDg0Oy0tbTNjMTM6I2ZmYWNlODstLW0zYzE0OiMyMzE4MjA7LS1tM2MxNTojOTUwMDg0Oy0tbTNjMTY6IzUxNDM0YjstLW0zYzE3OiNmZmFjZTg7LS1tM2MxODojZTM0N2QxOy0tbTNjMTk6I2ZmODY5YTstLW0zYzIwOiNmZmU5ZWE7LS1tM2MyMTojZmZhY2U4fS5rSXlPQ3stLW0zYzE6IzhlNGUwMDstLW0zYzI6cmdiYSgyNTUsMjQ4LDI0NSwwLjUpOy0tbTNjMzojZmZmOy0tbTNjNTojZmZmOGY1Oy0tbTNjNjojZmZlZWUyOy0tbTNjNzojZjdkZWNjOy0tbTNjOTojMmUxNTAwOy0tbTNjMTA6IzRmNDUzZDstLW0zYzExOiMyZTE1MDA7LS1tM2MxMjojOGU0ZTAwOy0tbTNjMTM6I2ZmYjc3OTstLW0zYzE0OiMyZTE1MDA7LS1tM2MxNTojOGU0ZTAwOy0tbTNjMTY6IzRmNDUzZDstLW0zYzE3OiNmMWJjOTA7LS1tM2MxODojZDE3YzIyOy0tbTNjMTk6I2Y3YmQ1NDstLW0zYzIwOiNmOGYwZGE7LS1tM2MyMTojZmZiNzc5fS5UbWU2amZ7LS1tM2MxOiMwMDZkNDI7LS1tM2MyOnJnYmEoMjQwLDI1MywyNDAsMC41KTstLW0zYzM6I2ZmZjstLW0zYzU6I2YwZmRmMDstLW0zYzY6I2U3ZjRlODstLW0zYzc6I2Q5ZTZkYTstLW0zYzk6IzAwMjExMDstLW0zYzEwOiM0MjQ4NDM7LS1tM2MxMTojMDAyMTEwOy0tbTNjMTI6IzAwNmQ0MjstLW0zYzEzOiM2ZmRiOWU7LS1tM2MxNDojMDAyMTEwOy0tbTNjMTU6IzAwNmQ0MjstLW0zYzE2OiM0MjQ4NDM7LS1tM2MxNzojYTZkMGIzOy0tbTNjMTg6IzYwZTI5OTstLW0zYzE5OiM2OWY5ZGE7LS1tM2MyMDojZDJmOWVlOy0tbTNjMjE6I2EyZWRjMX0uYURBdDJjey0tbTNjMTojMDA2NTkwOy0tbTNjMjpyZ2JhKDI0NiwyNTAsMjU1LDAuNSk7LS1tM2MzOiNmZmY7LS1tM2M1OiNmNmZhZmY7LS1tM2M2OiNlOWYyZmI7LS1tM2M3OiNjOGU2ZmY7LS1tM2M5OiMwMDFlMmU7LS1tM2MxMDojNDM0NzRiOy0tbTNjMTE6IzAwMWUyZTstLW0zYzEyOiMwMDY1OTA7LS1tM2MxMzojODdjZWZmOy0tbTNjMTQ6IzAwMWUyZTstLW0zYzE1OiMwMDY1OTA7LS1tM2MxNjojNDM0NzRiOy0tbTNjMTc6I2FiY2FlMzstLW0zYzE4OiM2NWJlZTA7LS1tM2MxOTojOWVjM2ZmOy0tbTNjMjA6I2ViZjFmZjstLW0zYzIxOiM5ZWQ3ZmZ9LnoxZ3Qzey0tbTNjMTojNjAxOGQ2Oy0tbTNjMjpyZ2JhKDI1NCwyNDcsMjU1LDAuNSk7LS1tM2MzOiNmZmY7LS1tM2M1OiNmZWY3ZmY7LS1tM2M2OiNmM2ViZmE7LS1tM2M3OiNlOWRkZmY7LS1tM2M5OiMxZTE5Mjg7LS1tM2MxMDojNDk0NTUwOy0tbTNjMTE6IzFlMTkyODstLW0zYzEyOiM2MDE4ZDY7LS1tM2MxMzojYzliM2ZmOy0tbTNjMTQ6IzFlMTkyODstLW0zYzE1OiM2MDE4ZDY7LS1tM2MxNjojNDk0NTUwOy0tbTNjMTc6I2QwYmNmZjstLW0zYzE4OiM5YjVlZmY7LS1tM2MxOTojZDg2OWZmOy0tbTNjMjA6I2ZiZWNmYTstLW0zYzIxOiNkMGJjZmZ9Lkl6cmhvYnstLW0zYzE6I2EyMDAzYjstLW0zYzI6cmdiYSgyNTUsMjQ4LDI0NywwLjUpOy0tbTNjMzojZmZmOy0tbTNjNTojZmZmOGY3Oy0tbTNjNjojZmZlOWVhOy0tbTNjNzojZmZkOWRkOy0tbTNjOTojNDAwMDE0Oy0tbTNjMTA6IzU1NDI0NDstLW0zYzExOiM0MDAwMTQ7LS1tM2MxMjojYTIwMDNiOy0tbTNjMTM6I2ZmOWJhOTstLW0zYzE0OiM0MDAwMTQ7LS1tM2MxNTojYTIwMDNiOy0tbTNjMTY6IzU1NDI0NDstLW0zYzE3OiNmZmIyYmM7LS1tM2MxODojZmYzNzY0Oy0tbTNjMTk6I2ZmODk3ZDstLW0zYzIwOiNmZmVkZTc7LS1tM2MyMTojZmZiMmJjfS5PbTNJaWV7LS1tM2MxOiMwMDY3N2Q7LS1tM2MyOnJnYmEoMjQxLDI1MSwyNTUsMC41KTstLW0zYzM6I2ZmZjstLW0zYzU6I2YxZmJmZjstLW0zYzY6I2U4ZjJmNzstLW0zYzc6I2M2ZThmNTstLW0zYzk6IzAwMWYyNzstLW0zYzEwOiM0MzQ3NDk7LS1tM2MxMTojMDAxZjI3Oy0tbTNjMTI6IzAwNjc3ZDstLW0zYzEzOiM3NWQzZWY7LS1tM2MxNDojMDAxZjI3Oy0tbTNjMTU6IzAwNjc3ZDstLW0zYzE2OiM0MzQ3NDk7LS1tM2MxNzojYWFjY2Q4Oy0tbTNjMTg6IzcwZGVmZjstLW0zYzE5OiM2NmMwZmY7LS1tM2MyMDojZTVmMmZmOy0tbTNjMjE6IzkxZjJmNn0uZVp5d0Nkey0tbTNjMTojNmQ1ZTAwOy0tbTNjMjpyZ2JhKDI1NSwyNDksMjM2LDAuNSk7LS1tM2MzOiNmZmY7LS1tM2M1OiNmZmY5ZWM7LS1tM2M2OiNmOGYwZGE7LS1tM2M3OiNlYWUyY2M7LS1tM2M5OiMyMTFiMDA7LS1tM2MxMDojNGE0NzNkOy0tbTNjMTE6IzIxMWIwMDstLW0zYzEyOiM2ZDVlMDA7LS1tM2MxMzojZGRjNzU1Oy0tbTNjMTQ6IzIxMWIwMDstLW0zYzE1OiM2ZDVlMDA7LS1tM2MxNjojNGE0NzNkOy0tbTNjMTc6I2QzYzc5MTstLW0zYzE4OiNmZmUwNDE7LS1tM2MxOTojZWVmMjRhOy0tbTNjMjA6I2Y2ZmZjMTstLW0zYzIxOiNmYWUzNmV9LnJFb3czY3stLW0zYzE6IzU2NjUwMDstLW0zYzI6cmdiYSgyNTAsMjUxLDIyOCwwLjUpOy0tbTNjMzojZmZmOy0tbTNjNTojZmFmYmU0Oy0tbTNjNjojZjFmMmRiOy0tbTNjNzojZTNlNGNkOy0tbTNjOTojMTgxZTAwOy0tbTNjMTA6IzQ3NDczZDstLW0zYzExOiMxODFlMDA7LS1tM2MxMjojNTY2NTAwOy0tbTNjMTM6I2JiZDE1NjstLW0zYzE0OiMxODFlMDA7LS1tM2MxNTojNTY2NTAwOy0tbTNjMTY6IzQ3NDczZDstLW0zYzE3OiNjM2NjOTI7LS1tM2MxODojYjdkZTAzOy0tbTNjMTk6I2EzZmY3NjstLW0zYzIwOiNlOWY1ZGU7LS1tM2MyMTojYzFkOTg3fS5uZHpYM2R7LS1tM2MxOiMwMDZiNWI7LS1tM2MyOnJnYmEoMjM5LDI1MiwyNDcsMC41KTstLW0zYzM6I2ZmZjstLW0zYzU6I2VmZmNmNzstLW0zYzY6I2U3ZjRlZTstLW0zYzc6I2Q5ZTVlMDstLW0zYzk6IzAwMjAxYTstLW0zYzEwOiM0MzQ4NDY7LS1tM2MxMTojMDAyMDFhOy0tbTNjMTI6IzAwNmI1YjstLW0zYzEzOiM3MmQ4YzI7LS1tM2MxNDojMDAyMDFhOy0tbTNjMTU6IzAwNmI1YjstLW0zYzE2OiM0MzQ4NDY7LS1tM2MxNzojYThjZmM0Oy0tbTNjMTg6IzQxZGFiOTstLW0zYzE5OiM1Y2VlZjQ7LS1tM2MyMDojZTRmZWZmOy0tbTNjMjE6IzcyZDhjMn0ubEhNQ2Jkey0tbTNjMTojMGEyYmNlOy0tbTNjMjpyZ2JhKDI1MSwyNDgsMjU1LDAuNSk7LS1tM2MzOiNmZmY7LS1tM2M1OiNmYmY4ZmY7LS1tM2M2OiNmMGVmZmY7LS1tM2M3OiNkZmUwZmY7LS1tM2M5OiMxOTFiMjg7LS1tM2MxMDojNDY0NjUwOy0tbTNjMTE6IzE5MWIyODstLW0zYzEyOiMwYTJiY2U7LS1tM2MxMzojYmNjMmZmOy0tbTNjMTQ6IzE5MWIyODstLW0zYzE1OiMwYTJiY2U7LS1tM2MxNjojNDY0NjUwOy0tbTNjMTc6I2JjYzJmZjstLW0zYzE4OiM2OTc2ZmY7LS1tM2MxOTojYWY4Y2ZmOy0tbTNjMjA6I2YzZWJmYTstLW0zYzIxOiNiY2MyZmZ9Lkk1OHdqZXstLW0zYzE6I2Y3YmQ1NDstLW0zYzI6cmdiYSgyNTUsMjQ4LDI0MywwLjUpOy0tbTNjMzojMjcxOTAwOy0tbTNjNTojZmZmOGYzOy0tbTNjNjojZmZlZWQ5Oy0tbTNjNzojZjBlMGNiOy0tbTNjOTojMjcxOTAwOy0tbTNjMTA6IzRjNDYzZDstLW0zYzExOiMyNzE5MDA7LS1tM2MxMjojZjdiZDU0Oy0tbTNjMTM6I2UxYzI5MTstLW0zYzE0OiMyNzE5MDA7LS1tM2MxNTojNWY0MTAwOy0tbTNjMTY6IzRjNDYzZDstLW0zYzE3OiNlMWMyOTE7LS1tM2MxODojZDhhMjNjOy0tbTNjMTk6I2Y3YmQ1NDstLW0zYzIwOiNmYWZiZTQ7LS1tM2MyMTojZmZjZDZjfS5RN0ppRXstLW0zYzE6IzAwNTA5NzstLW0zYzI6cmdiYSgyNDksMjQ5LDI1NSwwLjUpOy0tbTNjMzojZmZmOy0tbTNjNTojZjlmOWZmOy0tbTNjNjojZWJmMWZmOy0tbTNjNzojZDVlM2ZmOy0tbTNjOTojMDAxYzNiOy0tbTNjMTA6IzQzNDc0ZTstLW0zYzExOiMwMDFjM2I7LS1tM2MxMjojMDA1MDk3Oy0tbTNjMTM6I2E2YzhmZjstLW0zYzE0OiMwMDFjM2I7LS1tM2MxNTojMDA1MDk3Oy0tbTNjMTY6IzQzNDc0ZTstLW0zYzE3OiNhZGM4ZjU7LS1tM2MxODojNTE5M2ZmOy0tbTNjMTk6I2E1YWRmZjstLW0zYzIwOiNmMGVmZmY7LS1tM2MyMTojYTZjOGZmfS5zeFdncWZ7LS1tM2MxOiM4ZjMxMDA7LS1tM2MyOnJnYmEoMjU1LDI0OCwyNDYsMC41KTstLW0zYzM6I2ZmZjstLW0zYzU6I2ZmZjhmNjstLW0zYzY6I2ZmZWRlNzstLW0zYzc6I2ZmZGJjZTstLW0zYzk6IzM3MGUwMDstLW0zYzEwOiM1NDQzM2Q7LS1tM2MxMTojMzcwZTAwOy0tbTNjMTI6IzhmMzEwMDstLW0zYzEzOiNmZmFhODk7LS1tM2MxNDojMzcwZTAwOy0tbTNjMTU6IzhmMzEwMDstLW0zYzE2OiM1NDQzM2Q7LS1tM2MxNzojZmZiNTk5Oy0tbTNjMTg6I2ZmNjMxYTstLW0zYzE5OiNmMTk2M2I7LS1tM2MyMDojZmZlZWQ5Oy0tbTNjMjE6I2ZmYjU5OX0uQUxuVjd7LS1tM2MxOiNhMzA2MjE7LS1tM2MyOnJnYmEoMjU1LDI0OCwyNDcsMC41KTstLW0zYzM6I2ZmZjstLW0zYzU6I2ZmZjhmNzstLW0zYzY6I2ZmZWRlYjstLW0zYzc6I2ZmZGFkODstLW0zYzk6IzQxMDAwNzstLW0zYzEwOiM1NTQyNDE7LS1tM2MxMTojNDEwMDA3Oy0tbTNjMTI6I2EzMDYyMTstLW0zYzEzOiNmZjljOWE7LS1tM2MxNDojNDEwMDA3Oy0tbTNjMTU6I2EzMDYyMTstLW0zYzE2OiM1NTQyNDE7LS1tM2MxNzojZmZiM2IwOy0tbTNjMTg6I2ZmNGE0MzstLW0zYzE5OiNmZjhjNWQ7LS1tM2MyMDojZmZlZWUyOy0tbTNjMjE6I2ZmYjNiMH0uWTY1R0tmey0tbTNjMTojMDA1YTVjOy0tbTNjMjpyZ2JhKDI0MSwyNTEsMjUxLDAuNSk7LS1tM2MzOiNmZmY7LS1tM2M1OiNmMWZiZmI7LS1tM2M2OiNlN2YzZjM7LS1tM2M3OiNjNWU5ZWI7LS1tM2M5OiMwMDIwMjE7LS1tM2MxMDojNDM0ODQ4Oy0tbTNjMTE6IzAwMjAyMTstLW0zYzEyOiMwMDVhNWM7LS1tM2MxMzojNzRkNmRhOy0tbTNjMTQ6IzAwMjAyMTstLW0zYzE1OiMwMDVhNWM7LS1tM2MxNjojNDM0ODQ4Oy0tbTNjMTc6I2E5Y2RjZTstLW0zYzE4OiM3MmQ4YzI7LS1tM2MxOTojOTFmMmY1Oy0tbTNjMjA6I2RiZjVmZjstLW0zYzIxOiM4YmVkZDd9LnYwcnJ2ZHtwYWRkaW5nLWJvdHRvbToxNnB4fS5HVUhhemR7cGFkZGluZy1ib3R0b206MTJweH0uYnZTVEtje3BhZGRpbmc6OHB4fS5jQjRORmN7cGFkZGluZy10b3A6MTZweH0uT2RCaE17cGFkZGluZy10b3A6OHB4fS53b2s1dmZ7cGFkZGluZzoyNHB4fUBtZWRpYSAobWluLWhlaWdodDo1NzZweCl7LnVTb2xtIC5xazdMWGN7aGVpZ2h0OjEwMCV9Lm1jUFBaLnVTb2xte3BhZGRpbmc6NjRweCAwcHh9LnFrN0xYYy51U29sbXtoZWlnaHQ6Y2FsYygxMDAlIC0gMTI4cHgpfX1AbWVkaWEgKG1heC1oZWlnaHQ6NTc1cHgpey51U29sbSAucWs3TFhjLC5xazdMWGMudVNvbG17aGVpZ2h0OjEwMCU7bWF4LWhlaWdodDo0NDhweH19QG1lZGlhIChtaW4taGVpZ2h0OjQ5NnB4KXsuR2VPem5jIC5xazdMWGN7aGVpZ2h0OjEwMCV9Lm1jUFBaLkdlT3puY3twYWRkaW5nOjI0cHggMHB4fS5xazdMWGMuR2VPem5je2hlaWdodDpjYWxjKDEwMCUgLSA0OHB4KX19QG1lZGlhIChtYXgtaGVpZ2h0OjQ5NXB4KXsuR2VPem5jIC5xazdMWGMsLnFrN0xYYy5HZU96bmN7aGVpZ2h0OjEwMCU7bWF4LWhlaWdodDo0NDhweH19LlRVT3NVZXt0ZXh0LWFsaWduOmxlZnR9LktVZjE4Lml2a2RiZntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KTtvcGFjaXR5OjE7dmlzaWJpbGl0eTppbmhlcml0fS5WZnNMcGYuaXZrZGJme2JhY2tncm91bmQtY29sb3I6IzAwMDtvcGFjaXR5Oi40O3Zpc2liaWxpdHk6aW5oZXJpdH0uSjNIbmxmLml2a2RiZntiYWNrZ3JvdW5kLWNvbG9yOiMyMDIxMjQ7b3BhY2l0eTouNzt2aXNpYmlsaXR5OmluaGVyaXR9Llg0Nm04Lml2a2RiZntiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7b3BhY2l0eTouODt2aXNpYmlsaXR5OmluaGVyaXR9LmNCb0RlZC5pdmtkYmZ7YmFja2dyb3VuZC1jb2xvcjojZjhmOWZhO29wYWNpdHk6Ljg1O3Zpc2liaWxpdHk6aW5oZXJpdH0ua3lrN3FiLml2a2RiZntiYWNrZ3JvdW5kLWNvbG9yOiMyMDIxMjQ7b3BhY2l0eTouNjt2aXNpYmlsaXR5OmluaGVyaXR9LnFrN0xYYy5pdmtkYmZ7b3BhY2l0eToxfS5tY1BQWi5pdmtkYmZ7b3BhY2l0eToxO3Zpc2liaWxpdHk6aW5oZXJpdH0ubWNQUFoublAwVERle2N1cnNvcjpwb2ludGVyfS5tY1BQWi5uUDBURGUgLnFrN0xYY3tjdXJzb3I6ZGVmYXVsdH0ua0pGZjBje3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6OTk5NztyaWdodDowO2JvdHRvbTotMjAwcHg7dG9wOjA7bGVmdDowO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzO29wYWNpdHk6MDt2aXNpYmlsaXR5OmhpZGRlbn0ucWs3TFhje2Rpc3BsYXk6aW5saW5lLWJsb2NrO3otaW5kZXg6OTk5NztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7b3BhY2l0eTowO3doaXRlLXNwYWNlOm5vcm1hbDtvdmVyZmxvdzpoaWRkZW59LnFrN0xYY3tib3JkZXItcmFkaXVzOjhweH0ucWs3TFhje2JveC1zaGFkb3c6MHB4IDVweCAyNnB4IDBweCByZ2JhKDAsMCwwLDAuMjIpLDBweCAyMHB4IDI4cHggMHB4IHJnYmEoMCwwLDAsMC4zKX0ucWs3TFhjLkRKRU9mY3tiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5xazdMWGMuREpFT2Zje2JveC1zaGFkb3c6bm9uZX0ucWs3TFhjLkZiMUFLY3twb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnFrN0xYYy5CeTltTWN7cG9zaXRpb246Zml4ZWR9LnFrN0xYYy5XNlo1b2Z7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSl9LnFrN0xYYy51bFd6YmR7cG9zaXRpb246YWJzb2x1dGV9LnFrN0xYYy5QMVdZTGJ7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1tWFprcWMpO2JveC1zaGFkb3c6I2RhZGNlMH0ubWNQUFp7cG9zaXRpb246Zml4ZWQ7cmlnaHQ6MDtib3R0b206MDt0b3A6MDtsZWZ0OjA7ei1pbmRleDo5OTk3O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt2aXNpYmlsaXR5OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7bWF4LWhlaWdodDoxMDAlO21heC13aWR0aDoxMDAlO292ZXJmbG93LXg6aGlkZGVuO292ZXJmbG93LXk6YXV0b30ubWNQUFoueGc3ckFle3RleHQtYWxpZ246Y2VudGVyfS5tY1BQWjo6YWZ0ZXJ7Y29udGVudDoiIjtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTAwJTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LkxqZlJzZntoZWlnaHQ6MDtvcGFjaXR5OjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MH0uVkg0N2Vke3Zpc2liaWxpdHk6aGlkZGVufS5UYW95WWN7b3ZlcmZsb3c6aGlkZGVufS5UYW95WWN7cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJX0ucWs3TFhjLmFKUHg2ZXtvdmVyZmxvdzp2aXNpYmxlfS52QUpKemR7b3BhY2l0eTouOTk5fS55TU5KUiAucWs3TFhjLC5xazdMWGMueU1OSlJ7bWF4LXdpZHRoOjEwMCV9LmNKRnFzZCAucWs3TFhjLC5xazdMWGMuY0pGcXNke2hlaWdodDoxMDAlfS5yZngyWSAucWs3TFhjLC5xazdMWGMucmZ4Mll7d2lkdGg6MTAwJX0uQmhVSHplIC5xazdMWGMsLnFrN0xYYy5CaFVIemV7d2lkdGg6NzUlfS5kZ1ZHbmMgLnFrN0xYYywucWs3TFhjLmRnVkduY3t3aWR0aDo5MCV9Lkdtb0wwY3ttYXJnaW4tcmlnaHQ6MTJweH0ueFRXbHRme21hcmdpbi1yaWdodDoyNHB4fS5XdDVUZmV7cGFkZGluZy1sZWZ0OjBweDtwYWRkaW5nLXJpZ2h0OjBweH0uZUp0ck1je3BhZGRpbmctYm90dG9tOjhweDtwYWRkaW5nLXRvcDo4cHh9LlZEZ1ZpZXt0ZXh0LWFsaWduOmNlbnRlcn0uU2xQOHhje3RleHQtdHJhbnNmb3JtOm5vbmV9OnJvb3R7LS1LSVpQbmU6I2EzYzlmZjstLXhQcGlNOiMwMDFkMzU7LS1FaGg0bWY6dmFyKC0tTnNtMGNlKX0uazBKamcsLmJyS214Yjpmb2N1cy12aXNpYmxle291dGxpbmU6MH0uazBKamc6Zm9jdXMtdmlzaWJsZSAubmlPNHUsLmJyS214Yjpmb2N1cy12aXNpYmxlIC5uaU80dXtvdXRsaW5lOjJweCBzb2xpZCAjMGI1N2QwO291dGxpbmUtb2Zmc2V0OjFweH0ubmlPNHV7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG87cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJX0uZ3pWMXQgLm5pTzR1e2FsaWduLWl0ZW1zOnN0cmV0Y2g7ZGlzcGxheTpmbGV4fS5uaU80dTo6YmVmb3Jle2NvbnRlbnQ6IiI7aGVpZ2h0OjQ4cHg7bGVmdDowO21hcmdpbi10b3A6LTI0cHg7bWFyZ2luLWxlZnQ6LTFweDttYXJnaW4tcmlnaHQ6LTFweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDo1MCV9LmtIdGNzZHtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOmluaGVyaXQ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjEwMCV9LkRvcEhxY3toZWlnaHQ6MTAwJX0uZDNvM0FkLC5jbE94MWUsLldvQTlaZHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS5RdVUzV2J7bWFyZ2luLXRvcDo2cHh9LnJsdDdVYiAuY2xPeDFle21hcmdpbjo1cHggMTZweH0uQTI5emdme2JvcmRlci1yYWRpdXM6OHB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uQTI5emdmIC5uaU80dXtib3JkZXItcmFkaXVzOjhweH0uQTI5emdmIC5rSHRjc2R7Ym9yZGVyLXJhZGl1czo3cHh9LnBBbjduZXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LmdqY0tDY3std2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9Lm5pTzR1e3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMjVzIGxpbmVhcn0uYnRrdTVie3RyYW5zaXRpb246Y29sb3IgLjI1cyBsaW5lYXJ9YS5namNLQ2M6Zm9jdXMtdmlzaWJsZXtjb2xvcjojMTk2N2QyfWEuZ2pjS0NjOmZvY3VzLXZpc2libGUgLm5pTzR1e2JhY2tncm91bmQtY29sb3I6I2U4ZjBmZTt9LmZDclp5Y3tkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmZDclp5YyAubmlPNHV7Ym9yZGVyLXJhZGl1czo5OTk5cHh9Lkx3ZFYwZS5PSmV1eGYgLmlDUU81ZHt3aWR0aDozNnB4fS5nVUFjZmYuT0pldXhmIC5pQ1FPNWR7d2lkdGg6MzJweH0uTlFZSnZjLk9KZXV4ZiAuaUNRTzVke3dpZHRoOjQ0cHh9Lk9KZXV4ZiAubmlPNHU6OmJlZm9yZXt3aWR0aDo0OHB4O21hcmdpbi1sZWZ0Oi0yNHB4O2xlZnQ6NTAlfS5Md2RWMGUgLnkxQ2JvYi52R25YZGIudkduWGRie2hlaWdodDo0OHB4O3BhZGRpbmc6MCA0cHh9LmsxVTM2Yntmb250LXNpemU6MTJweDtmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmLW1lZGl1bSxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxNnB4fS5VWlhBTmMuZ1VBY2ZmIC5uaU80dXt0b3A6M3B4O2hlaWdodDowfS5tS2pFQWQuZ1VBY2ZmIC5uaU80dXtoZWlnaHQ6MH0uYmFjSG9kLmdVQWNmZiAuUjA0VE9kLC5iYWNIb2QuZ1VBY2ZmIC5kM28zQWR7aGVpZ2h0OjE0cHh9LmdVQWNmZi5QcmpMOGMgLm5pTzR1e2hlaWdodDozMnB4fS5nVUFjZmYuZ3pWMXQgLm5pTzR1e21pbi1oZWlnaHQ6MzJweH0uZ1VBY2ZmLnJsdDdVYiAuY2xPeDFle21hcmdpbjo1cHggMTZweH0uZ1VBY2ZmIC5jbE94MWV7bGluZS1oZWlnaHQ6MTZweH0uZ1VBY2ZmIC5SMDRUT2QsLmdVQWNmZiAuZDNvM0FkLC5nVUFjZmYgLldvQTlaZHtoZWlnaHQ6MTZweH0uZUZTV3hkLmdVQWNmZiAuY2xPeDFle21hcmdpbjo1cHggMTZweCA1cHggOHB4fS5SMDRUT2QsLmVGU1d4ZC5nVUFjZmYgLmQzbzNBZHttYXJnaW4tbGVmdDoxMnB4fS5VWlhBTmMuVVpYQU5jLkx3ZFYwZSAubmlPNHV7dG9wOjNweDtoZWlnaHQ6MH0ubUtqRUFkLm1LakVBZC5Md2RWMGUgLm5pTzR1e2hlaWdodDowfS5iYWNIb2QuTHdkVjBlIC5SMDRUT2QsLmJhY0hvZC5Md2RWMGUgLmQzbzNBZHtoZWlnaHQ6MTZweH0uTHdkVjBlIC5SMDRUT2QsLkx3ZFYwZSAuZDNvM0Fke2hlaWdodDoxOHB4fS5Md2RWMGUucmx0N1ViIC5jbE94MWV7bWFyZ2luOjVweCAxNnB4fS5Md2RWMGUgLldvQTlaZHtoZWlnaHQ6MThweH0uTHdkVjBlLmd6VjF0IC5uaU80dXttaW4taGVpZ2h0OjM2cHh9Lkx3ZFYwZS5QcmpMOGMgLm5pTzR1e2hlaWdodDozNnB4fS5lRlNXeGQuTHdkVjBlIC5jbE94MWV7bWFyZ2luOjVweCAxNnB4IDVweCA4cHh9LlIwNFRPZCwuZUZTV3hkLkx3ZFYwZSAuZDNvM0Fke21hcmdpbi1sZWZ0OjEycHh9Lk5RWUp2YyAuZDNvM0FkLC5OUVlKdmMgLlIwNFRPZHtib3JkZXItcmFkaXVzOjRweDtoZWlnaHQ6MjBweDtvdmVyZmxvdzpoaWRkZW59Lk5RWUp2Yy5ybHQ3VWIgLmNsT3gxZXttYXJnaW46NXB4IDE2cHh9Lk5RWUp2YyAuV29BOVpke2hlaWdodDoyMHB4fS5OUVlKdmMuZ3pWMXQgLm5pTzR1e21pbi1oZWlnaHQ6NDRweH0uTlFZSnZjLlByakw4YyAubmlPNHV7aGVpZ2h0OjQ0cHh9LmVGU1d4ZC5OUVlKdmMgLmNsT3gxZXttYXJnaW46NXB4IDE2cHggNXB4IDhweH0uUjA0VE9kLC5lRlNXeGQuTlFZSnZjIC5kM28zQWR7bWFyZ2luLWxlZnQ6MTJweH0uRlI3WlNje2NvbG9yOnZhcigtLXJySkpVYyl9LkZSN1pTYyAubmlPNHV7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkICNkMmQyZDJ9LkZSN1pTYzpub3QoW3NlbGVjdGVkXSk6bm90KFtkaXNhYmxlZF0pIC5kM28zQWR7Y29sb3I6IzBiNTdkMH0uRlI3WlNjIC5rMEpqZzpob3ZlciAubmlPNHUsLkZSN1pTYy5rMEpqZzpob3ZlciAubmlPNHV7Y29sb3I6dmFyKC0taklOdTZjKX0uRlI3WlNjOm5vdChbc2VsZWN0ZWRdKSAuazBKamc6aG92ZXIgLmQzbzNBZCwuRlI3WlNjLmswSmpnOm5vdChbc2VsZWN0ZWRdKTpob3ZlciAuZDNvM0Fke2NvbG9yOnZhcigtLWpJTnU2Yyl9LkZSN1pTYyAuazBKamc6aG92ZXIgLmtIdGNzZCwuRlI3WlNjLmswSmpnOmhvdmVyIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojMGI1N2QwMTV9LmJyS214YjphY3RpdmUgLkZSN1pTYyAubmlPNHUsLmJyS214Yjpmb2N1cy12aXNpYmxlIC5GUjdaU2MgLm5pTzR1LC5GUjdaU2MuazBKamc6YWN0aXZlIC5uaU80dSwuRlI3WlNjIC5rMEpqZzphY3RpdmUgLm5pTzR1LC5GUjdaU2MuazBKamc6Zm9jdXMtdmlzaWJsZSAubmlPNHUsLkZSN1pTYyAuazBKamc6Zm9jdXMtdmlzaWJsZSAubmlPNHV7Y29sb3I6dmFyKC0taklOdTZjKX0uYnJLbXhiOmZvY3VzLXZpc2libGUgLkZSN1pTYzpub3QoW3NlbGVjdGVkXSk6bm90KFtkaXNhYmxlZF0pIC5kM28zQWQsLkZSN1pTYzpub3QoW3NlbGVjdGVkXSk6bm90KFtkaXNhYmxlZF0pIC5rMEpqZzpmb2N1cy12aXNpYmxlIC5kM28zQWQsLkZSN1pTYy5rMEpqZzpub3QoW3NlbGVjdGVkXSk6bm90KFtkaXNhYmxlZF0pOmZvY3VzLXZpc2libGUgLmQzbzNBZHtjb2xvcjojMDAxZDM1fS5icktteGI6Zm9jdXMtdmlzaWJsZSAuRlI3WlNjIC5rSHRjc2QsLkZSN1pTYyAuazBKamc6Zm9jdXMtdmlzaWJsZSAua0h0Y3NkLC5GUjdaU2MuazBKamc6Zm9jdXMtdmlzaWJsZSAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6IzBiNTdkMDE1fS5icktteGI6YWN0aXZlIC5GUjdaU2M6bm90KFtzZWxlY3RlZF0pOm5vdChbZGlzYWJsZWRdKSAuZDNvM0FkLC5GUjdaU2M6bm90KFtzZWxlY3RlZF0pOm5vdChbZGlzYWJsZWRdKSAuazBKamc6YWN0aXZlIC5kM28zQWQsLkZSN1pTYy5rMEpqZzpub3QoW3NlbGVjdGVkXSk6bm90KFtkaXNhYmxlZF0pOmFjdGl2ZSAuZDNvM0Fke2NvbG9yOnZhcigtLUlYb3hVZSl9LmJyS214YjphY3RpdmUgLkZSN1pTYyAua0h0Y3NkLC5GUjdaU2MgLmswSmpnOmFjdGl2ZSAua0h0Y3NkLC5GUjdaU2MuazBKamc6YWN0aXZlIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojMGI1N2QwMzl9LmV4cFVQZHtjb2xvcjojZmZmfS5leHBVUGQgLm5pTzR1e2JhY2tncm91bmQtY29sb3I6IzBiNTdkMH0uZXhwVVBkLmswSmpnOmhvdmVyIC5rSHRjc2QsLmV4cFVQZCAuazBKamc6aG92ZXIgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDFkMzUzOX0uYnJLbXhiOmZvY3VzLXZpc2libGUgLmV4cFVQZCAua0h0Y3NkLC5leHBVUGQuazBKamc6Zm9jdXMtdmlzaWJsZSAua0h0Y3NkLC5leHBVUGQgLmswSmpnOmZvY3VzLXZpc2libGUgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDFkMzUzM30uYnJLbXhiOmFjdGl2ZSAuZXhwVVBkIC5rSHRjc2QsLmV4cFVQZCAuazBKamc6YWN0aXZlIC5rSHRjc2QsLmV4cFVQZC5rMEpqZzphY3RpdmUgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDFkMzU2Nn1AbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6bW9yZSl7LmV4cFVQZCAubmlPNHV7b3V0bGluZToxcHggc29saWQgIzFmMWYxZn19Lnpxck8we2NvbG9yOnZhcigtLWJiUXhBYil9Lnpxck8wIC5uaU80dXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXhoVUd3Yyk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1tWFprcWMpfS5icktteGI6YWN0aXZlIC56cXJPMCwuYnJLbXhiOmZvY3VzLXZpc2libGUgLnpxck8wLC56cXJPMCAuazBKamc6aG92ZXIsLnpxck8wIC5rMEpqZzphY3RpdmUsLnpxck8wIC5rMEpqZzpmb2N1cy12aXNpYmxlLC56cXJPMC5rMEpqZzpob3ZlciwuenFyTzAuazBKamc6Zm9jdXMtdmlzaWJsZSwuenFyTzAuazBKamc6YWN0aXZle2NvbG9yOnZhcigtLWJiUXhBYil9Lnpxck8wIC5rMEpqZzpob3ZlciAua0h0Y3NkLC56cXJPMC5rMEpqZzpob3ZlciAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6IzBiNTdkMDE1fS5icktteGI6Zm9jdXMtdmlzaWJsZSAuenFyTzAgLmtIdGNzZCwuenFyTzAgLmswSmpnOmZvY3VzLXZpc2libGUgLmtIdGNzZCwuenFyTzAuazBKamc6Zm9jdXMtdmlzaWJsZSAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6IzBiNTdkMDE1fS5icktteGI6YWN0aXZlIC56cXJPMCAua0h0Y3NkLC56cXJPMCAuazBKamc6YWN0aXZlIC5rSHRjc2QsLnpxck8wLmswSmpnOmFjdGl2ZSAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6IzBiNTdkMDM5fS54YWI5OWUgLm5pTzR1e3otaW5kZXg6Mn0ueGFiOTllIC5uaU80dXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXhoVUd3Yyk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1tWFprcWMpfS5OUVlKdmMuUHJqTDhjIC5uaU80dXtoZWlnaHQ6NDBweH0uTlFZSnZjLk9KZXV4ZiAuaUNRTzVke3dpZHRoOjQwcHh9LnhhYjk5ZS5rMEpqZzpob3ZlciAua0h0Y3NkLC54YWI5OWUgLmswSmpnOmhvdmVyIC5rSHRjc2R7Ym9yZGVyOjA7Ym94LXNoYWRvdzowcHggNHB4IDEycHggcmdiYSg2MCw2NCw2NywwLjI0KX0uTnRhTXBie2NvbG9yOnZhcigtLWJiUXhBYil9Lk50YU1wYiAubmlPNHV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS14aFVHd2MpfS5OdGFNcGIgLmswSmpnOmhvdmVyIC5rSHRjc2QsLk50YU1wYi5rMEpqZzpob3ZlciAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6IzBiNTdkMDE1fS5icktteGI6Zm9jdXMtdmlzaWJsZSAuTnRhTXBiIC5rSHRjc2QsLk50YU1wYiAuazBKamc6Zm9jdXMtdmlzaWJsZSAua0h0Y3NkLC5OdGFNcGIuazBKamc6Zm9jdXMtdmlzaWJsZSAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6IzBiNTdkMDE1fS5icktteGI6YWN0aXZlIC5OdGFNcGIgLmtIdGNzZCwuTnRhTXBiIC5rMEpqZzphY3RpdmUgLmtIdGNzZCwuTnRhTXBiLmswSmpnOmFjdGl2ZSAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6IzBiNTdkMDM5fS5CbWVnb2Z7Y29sb3I6IzAwMWQzNX0uQm1lZ29mIC5uaU80dXtiYWNrZ3JvdW5kLWNvbG9yOiNkM2UzZmR9LkJtZWdvZiAuazBKamc6aG92ZXIgLmtIdGNzZCwuQm1lZ29mLmswSmpnOmhvdmVyIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojMGI1N2QwMTV9LmJyS214Yjpmb2N1cy12aXNpYmxlIC5CbWVnb2YgLmtIdGNzZCwuQm1lZ29mIC5rMEpqZzpmb2N1cy12aXNpYmxlIC5rSHRjc2QsLkJtZWdvZi5rMEpqZzpmb2N1cy12aXNpYmxlIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojMGI1N2QwMTV9LmJyS214YjphY3RpdmUgLkJtZWdvZiAua0h0Y3NkLC5CbWVnb2YgLmswSmpnOmFjdGl2ZSAua0h0Y3NkLC5CbWVnb2YuazBKamc6YWN0aXZlIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojMGI1N2QwMzl9LnI2OUZae2NvbG9yOiMwMDFkMzV9LnI2OUZaIC5uaU80dXtiYWNrZ3JvdW5kLWNvbG9yOiNlYmYxZmZ9QG1lZGlhIChwcmVmZXJzLWNvbnRyYXN0Om1vcmUpey5jRDZreWYgLm5pTzR1e291dGxpbmU6MXB4IHNvbGlkICMxZjFmMWZ9fS5yNjlGWiAuazBKamc6aG92ZXIgLmtIdGNzZCwucjY5RlouazBKamc6aG92ZXIgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiMwYjU3ZDAxNX0uYnJLbXhiOmZvY3VzLXZpc2libGUgLnI2OUZaIC5rSHRjc2QsLnI2OUZaIC5rMEpqZzpmb2N1cy12aXNpYmxlIC5rSHRjc2QsLnI2OUZaLmswSmpnOmZvY3VzLXZpc2libGUgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiMwYjU3ZDAxNX0uYnJLbXhiOmFjdGl2ZSAucjY5RlogLmtIdGNzZCwucjY5RlogLmswSmpnOmFjdGl2ZSAua0h0Y3NkLC5yNjlGWi5rMEpqZzphY3RpdmUgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiMwYjU3ZDAzOX0uamRPclpje2NvbG9yOnZhcigtLXJySkpVYyl9LmpkT3JaYyAubmlPNHV7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uenFyTzAgLmswSmpnOmhvdmVyIC5rSHRjc2QsLnpxck8wLmswSmpnOmhvdmVyIC5uaU80dXtjb2xvcjp2YXIoLS1qSU51NmMpfS5qZE9yWmMgLmswSmpnOmhvdmVyIC5rSHRjc2QsLmpkT3JaYy5rMEpqZzpob3ZlciAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6IzBiNTdkMDE1fS5icktteGI6YWN0aXZlIC5qZE9yWmMgLm5pTzR1LC5icktteGI6Zm9jdXMtdmlzaWJsZSAuamRPclpjIC5uaU80dSwuenFyTzAgLmswSmpnOmFjdGl2ZSAubmlPNHUsLnpxck8wIC5rMEpqZzpmb2N1cy12aXNpYmxlIC5uaU80dSwuenFyTzAuazBKamc6YWN0aXZlIC5uaU80dSwuenFyTzAuazBKamc6Zm9jdXMtdmlzaWJsZSAubmlPNHV7Y29sb3I6dmFyKC0taklOdTZjKX0uYnJLbXhiOmZvY3VzLXZpc2libGUgLmpkT3JaYyAua0h0Y3NkLC5qZE9yWmMgLmswSmpnOmZvY3VzLXZpc2libGUgLmtIdGNzZCwuamRPclpjLmswSmpnOmZvY3VzLXZpc2libGUgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiMwYjU3ZDAxNX0uYnJLbXhiOmFjdGl2ZSAuamRPclpjIC5rSHRjc2QsLmpkT3JaYyAuazBKamc6YWN0aXZlIC5rSHRjc2QsLmpkT3JaYy5rMEpqZzphY3RpdmUgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiMwYjU3ZDAzOX0ub2dCeEZ7Y29sb3I6dmFyKC0tSktxeDIpfS5vZ0J4RiAubmlPNHV7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLW1YWmtxYyl9Lm9nQnhGIC5rMEpqZzpob3ZlciAua0h0Y3NkLC5vZ0J4Ri5rMEpqZzpob3ZlciAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6IzBiNTdkMDE1fS5icktteGI6Zm9jdXMtdmlzaWJsZSAub2dCeEYgLmtIdGNzZCwub2dCeEYgLmswSmpnOmZvY3VzLXZpc2libGUgLmtIdGNzZCwub2dCeEYuazBKamc6Zm9jdXMtdmlzaWJsZSAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6IzBiNTdkMDE1fS5icktteGI6YWN0aXZlIC5vZ0J4RiAua0h0Y3NkLC5vZ0J4RiAuazBKamc6YWN0aXZlIC5rSHRjc2QsLm9nQnhGLmswSmpnOmFjdGl2ZSAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6IzBiNTdkMDM5fS54MkdKV2J7Y29sb3I6IzFmMWYxZn0ueDJHSldiIC5RdVUzV2J7Y29sb3I6IzFmMWYxZjt9LngyR0pXYiAubmlPNHV7YmFja2dyb3VuZC1jb2xvcjojZjFmM2Y0fWEuTGNtdFViey13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH1hLkxjbXRVYjpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX1hLkxjbXRVYjpmb2N1cy12aXNpYmxlIC54MkdKV2IgLm5pTzR1e291dGxpbmU6MnB4IHNvbGlkIHZhcigtLXJySkpVYyk7b3V0bGluZS1vZmZzZXQ6MnB4fS54MkdKV2I6YWN0aXZlIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDMyLDMzLDM2LDAuMjQpfS54MkdKV2IgLmswSmpnOmhvdmVyIC5rSHRjc2QsLngyR0pXYi5rMEpqZzpob3ZlciAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6IzBiNTdkMDE1fS5icktteGI6Zm9jdXMtdmlzaWJsZSAueDJHSldiIC5rSHRjc2QsLngyR0pXYiAuazBKamc6Zm9jdXMtdmlzaWJsZSAua0h0Y3NkLC54MkdKV2IuazBKamc6Zm9jdXMtdmlzaWJsZSAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6IzBiNTdkMDE1fS5icktteGI6YWN0aXZlIC54MkdKV2IgLmtIdGNzZCwueDJHSldiIC5rMEpqZzphY3RpdmUgLmtIdGNzZCwueDJHSldiLmswSmpnOmFjdGl2ZSAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6IzBiNTdkMDM5fS5mWFZhcmZ7Y29sb3I6I2ZmZn0uZlhWYXJmIC5uaU80dXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KX0uZlhWYXJmIC5rMEpqZzpob3ZlciAua0h0Y3NkLC5mWFZhcmYuazBKamc6aG92ZXIgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiMxZjFmMWYzM30uYnJLbXhiOmZvY3VzLXZpc2libGUgLmZYVmFyZiAua0h0Y3NkLC5mWFZhcmYgLmswSmpnOmZvY3VzLXZpc2libGUgLmtIdGNzZCwuZlhWYXJmLmswSmpnOmZvY3VzLXZpc2libGUgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiMxZjFmMWYzM30uYnJLbXhiOmFjdGl2ZSAuZlhWYXJmIC5rSHRjc2QsLmZYVmFyZiAuazBKamc6YWN0aXZlIC5rSHRjc2QsLmZYVmFyZi5rMEpqZzphY3RpdmUgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiMxZjFmMWY2Nn0uVzY4QTBbc2VsZWN0ZWRde2NvbG9yOnZhcigtLXhQcGlNKX0uVzY4QTBbc2VsZWN0ZWRdIC5uaU80dXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLUtJWlBuZSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5XNjhBMFtzZWxlY3RlZF0gLmswSmpnOmhvdmVyIC5rSHRjc2QsLlc2OEEwLmswSmpnW3NlbGVjdGVkXTpob3ZlciAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6I2QyZTNmY30ucjY5RlogLmQzbzNBZCwucjY5RlogLldvQTlaZHtjb2xvcjojMGI1N2QwfS5yNjlGWjpub3QoW2Rpc2FibGVkXSkgLmswSmpnOmhvdmVyIC5kM28zQWQsLnI2OUZaOm5vdChbZGlzYWJsZWRdKSAuazBKamc6aG92ZXIgLldvQTlaZCwucjY5RlouazBKamc6bm90KFtkaXNhYmxlZF0pOmhvdmVyIC5kM28zQWQsLnI2OUZaLmswSmpnOm5vdChbZGlzYWJsZWRdKTpob3ZlciAuV29BOVpke2NvbG9yOiMwMDFkMzV9LmJyS214Yjpmb2N1cy12aXNpYmxlIC5yNjlGWjpub3QoW2Rpc2FibGVkXSkgLmQzbzNBZCwuYnJLbXhiOmZvY3VzLXZpc2libGUgLnI2OUZaOm5vdChbZGlzYWJsZWRdKSAuV29BOVpkLC5icktteGI6YWN0aXZlIC5yNjlGWjpub3QoW2Rpc2FibGVkXSkgLmQzbzNBZCwuYnJLbXhiOmFjdGl2ZSAucjY5Rlo6bm90KFtkaXNhYmxlZF0pIC5Xb0E5WmQsLnI2OUZaOm5vdChbZGlzYWJsZWRdKSAuazBKamc6Zm9jdXMtdmlzaWJsZSAuZDNvM0FkLC5yNjlGWjpub3QoW2Rpc2FibGVkXSkgLmswSmpnOmZvY3VzLXZpc2libGUgLldvQTlaZCwucjY5Rlo6bm90KFtkaXNhYmxlZF0pIC5rMEpqZzphY3RpdmUgLmQzbzNBZCwucjY5Rlo6bm90KFtkaXNhYmxlZF0pIC5rMEpqZzphY3RpdmUgLldvQTlaZCwucjY5RlouazBKamc6bm90KFtkaXNhYmxlZF0pOmZvY3VzLXZpc2libGUgLmQzbzNBZCwucjY5RlouazBKamc6bm90KFtkaXNhYmxlZF0pOmZvY3VzLXZpc2libGUgLldvQTlaZCwucjY5RlouazBKamc6bm90KFtkaXNhYmxlZF0pOmFjdGl2ZSAuZDNvM0FkLC5yNjlGWi5rMEpqZzpub3QoW2Rpc2FibGVkXSk6YWN0aXZlIC5Xb0E5WmR7Y29sb3I6IzAwMWQzNX0uQm1lZ29mIC5kM28zQWQsLkJtZWdvZiAuV29BOVpke2NvbG9yOiMwYjU3ZDB9LkJtZWdvZjpub3QoW2Rpc2FibGVkXSkgLmswSmpnOmhvdmVyIC5kM28zQWQsLkJtZWdvZjpub3QoW2Rpc2FibGVkXSkgLmswSmpnOmhvdmVyIC5Xb0E5WmQsLkJtZWdvZi5rMEpqZzpub3QoW2Rpc2FibGVkXSk6aG92ZXIgLmQzbzNBZCwuQm1lZ29mLmswSmpnOm5vdChbZGlzYWJsZWRdKTpob3ZlciAuV29BOVpke2NvbG9yOiMwMDFkMzV9LmJyS214Yjpmb2N1cy12aXNpYmxlIC5CbWVnb2Y6bm90KFtkaXNhYmxlZF0pIC5kM28zQWQsLmJyS214Yjpmb2N1cy12aXNpYmxlIC5CbWVnb2Y6bm90KFtkaXNhYmxlZF0pIC5Xb0E5WmQsLmJyS214YjphY3RpdmUgLkJtZWdvZjpub3QoW2Rpc2FibGVkXSkgLmQzbzNBZCwuYnJLbXhiOmFjdGl2ZSAuQm1lZ29mOm5vdChbZGlzYWJsZWRdKSAuV29BOVpkLC5CbWVnb2Y6bm90KFtkaXNhYmxlZF0pIC5rMEpqZzpmb2N1cy12aXNpYmxlIC5kM28zQWQsLkJtZWdvZjpub3QoW2Rpc2FibGVkXSkgLmswSmpnOmZvY3VzLXZpc2libGUgLldvQTlaZCwuQm1lZ29mOm5vdChbZGlzYWJsZWRdKSAuazBKamc6YWN0aXZlIC5kM28zQWQsLkJtZWdvZjpub3QoW2Rpc2FibGVkXSkgLmswSmpnOmFjdGl2ZSAuV29BOVpkLC5CbWVnb2YuazBKamc6bm90KFtkaXNhYmxlZF0pOmZvY3VzLXZpc2libGUgLmQzbzNBZCwuQm1lZ29mLmswSmpnOm5vdChbZGlzYWJsZWRdKTpmb2N1cy12aXNpYmxlIC5Xb0E5WmQsLkJtZWdvZi5rMEpqZzpub3QoW2Rpc2FibGVkXSk6YWN0aXZlIC5kM28zQWQsLkJtZWdvZi5rMEpqZzpub3QoW2Rpc2FibGVkXSk6YWN0aXZlIC5Xb0E5WmR7Y29sb3I6IzAwMWQzNX0uc0xsN2RlW3NlbGVjdGVkXXtjb2xvcjp2YXIoLS14UHBpTSl9LnNMbDdkZVtzZWxlY3RlZF0gLm5pTzR1e2JhY2tncm91bmQtY29sb3I6dmFyKC0tS0laUG5lKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9LnNMbDdkZS5ybHQ3VWJbc2VsZWN0ZWRdIC5kM28zQWQ6bm90KC5VWHdodmIpLC5zTGw3ZGUuZUZTV3hkW3NlbGVjdGVkXSAuZDNvM0FkOm5vdCguVVh3aHZiKXtkaXNwbGF5Om5vbmV9LnNMbDdkZVtzZWxlY3RlZF0gLlIwNFRPZHtkaXNwbGF5OmZsZXh9LnNMbDdkZS5Md2RWMGVbc2VsZWN0ZWRdIC5jbE94MWU6bm90KC5sNlBBT2Qpe21hcmdpbi1sZWZ0OjhweH0uc0xsN2RlW3NlbGVjdGVkXSAuazBKamc6aG92ZXIgLmtIdGNzZCwuc0xsN2RlLmswSmpnW3NlbGVjdGVkXTpob3ZlciAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6I2QyZTNmY30uZDJENWhbc2VsZWN0ZWRde2NvbG9yOnZhcigtLXJySkpVYyl9LmQyRDVoW3NlbGVjdGVkXSAubmlPNHV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS14aFVHd2MpfS5kMkQ1aC5ybHQ3VWJbc2VsZWN0ZWRdIC5kM28zQWQ6bm90KC5VWHdodmIpLC5kMkQ1aC5lRlNXeGRbc2VsZWN0ZWRdIC5kM28zQWQ6bm90KC5VWHdodmIpe2Rpc3BsYXk6bm9uZX0uZDJENWhbc2VsZWN0ZWRdIC5SMDRUT2R7ZGlzcGxheTpmbGV4fS5kMkQ1aC5Md2RWMGVbc2VsZWN0ZWRdIC5jbE94MWU6bm90KC5sNlBBT2Qpe21hcmdpbi1sZWZ0OjhweH0uZDJENWhbc2VsZWN0ZWRdIC5rMEpqZzpob3ZlciwuZDJENWguazBKamdbc2VsZWN0ZWRdOmhvdmVye2NvbG9yOiMxOTY3ZDJ9LmQyRDVoW3NlbGVjdGVkXSAuazBKamc6aG92ZXIgLmtIdGNzZCwuZDJENWguazBKamdbc2VsZWN0ZWRdOmhvdmVyIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI2LDExNSwyMzIsLjA4KX0uYnJLbXhiOmZvY3VzLXZpc2libGUgLmQyRDVoW3NlbGVjdGVkXSwuZDJENWguazBKamdbc2VsZWN0ZWRdOmZvY3VzLXZpc2libGUsLmQyRDVoW3NlbGVjdGVkXSAuazBKamc6Zm9jdXMtdmlzaWJsZXtjb2xvcjojMTk2N2QyfS5wOXBkY1tzZWxlY3RlZF17Y29sb3I6dmFyKC0tcnJKSlVjKX0ucDlwZGNbc2VsZWN0ZWRdIC5uaU80dXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5wOXBkYy5ybHQ3VWJbc2VsZWN0ZWRdIC5kM28zQWQ6bm90KC5VWHdodmIpLC5wOXBkYy5lRlNXeGRbc2VsZWN0ZWRdIC5kM28zQWQ6bm90KC5VWHdodmIpe2Rpc3BsYXk6bm9uZX0ucDlwZGNbc2VsZWN0ZWRdIC5SMDRUT2R7ZGlzcGxheTpmbGV4fS5wOXBkYy5Md2RWMGVbc2VsZWN0ZWRdIC5jbE94MWU6bm90KC5sNlBBT2Qpe21hcmdpbi1sZWZ0OjhweH0ucDlwZGNbc2VsZWN0ZWRdIC5rMEpqZzpob3ZlciwucDlwZGMuazBKamdbc2VsZWN0ZWRdOmhvdmVyIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI2LDExNSwyMzIsMC4wOCl9LmZDclp5Y1tkaXNhYmxlZF17Y29sb3I6IzQ3NDc0NzYxfS5mQ3JaeWMuZkNyWnljLmZDclp5Yy5mQ3JaeWMuZkNyWnljLmZDclp5Y1tkaXNhYmxlZF0gLmtIdGNzZHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS5mQ3JaeWMuZkNyWnljLmZDclp5Yy5mQ3JaeWMuZkNyWnljLmZDclp5Y1tkaXNhYmxlZF0gLm5pTzR1e2JhY2tncm91bmQ6I2Y3ZjhmOTtvdXRsaW5lLWNvbG9yOiNkMmQyZDI2MTtjdXJzb3I6YXV0bztjb2xvcjojNDc0NzQ3NjF9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7LmZDclp5Y1tkaXNhYmxlZF0gLm5pTzR1e291dGxpbmUtY29sb3I6R3JheVRleHQ7Y3Vyc29yOmF1dG99LmZDclp5Y1tkaXNhYmxlZF17Y29sb3I6R3JheVRleHR9fS5SQTZhS1tzZWxlY3RlZF17Y29sb3I6dmFyKC0teFBwaU0pfS5SQTZhS1tzZWxlY3RlZF0gLm5pTzR1e2JhY2tncm91bmQtY29sb3I6dmFyKC0tS0laUG5lKX0uY3FWMzJiW3NlbGVjdGVkXXtjb2xvcjp2YXIoLS14UHBpTSl9LmNxVjMyYltzZWxlY3RlZF0gLm5pTzR1e2JhY2tncm91bmQtY29sb3I6dmFyKC0tS0laUG5lKX0uaUF5UHdkW3NlbGVjdGVkXXtjb2xvcjp2YXIoLS14UHBpTSl9LmlBeVB3ZFtzZWxlY3RlZF0gLm5pTzR1e2JhY2tncm91bmQtY29sb3I6dmFyKC0tS0laUG5lKX0uUjA0VE9ke2Rpc3BsYXk6bm9uZX0uYnRrdTViW3NlbGVjdGVkXSAuZDNvM0FkLlVYd2h2YiwuQTI5emdmW3NlbGVjdGVkXSAuY2xPeDFlOm5vdCgubDZQQU9kKXttYXJnaW4tbGVmdDo4cHh9LmJ0a3U1YltzZWxlY3RlZF0gLmswSmpnOmhvdmVyIC5rSHRjc2QsLmJ0a3U1Yi5rMEpqZ1tzZWxlY3RlZF06aG92ZXIgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiMwYjU3ZDAxNX0ucmx0N1ViLmVyRk1yZiAuY2xPeDFlLmNsT3gxZSwuZUZTV3hkLmVyRk1yZiAuY2xPeDFlLmNsT3gxZXttYXJnaW4tcmlnaHQ6MH0uV29BOVpke21hcmdpbjowIDhweCAwIDRweH0uc2pWSlFke2ZvbnQtZmFtaWx5Okdvb2dsZSBTYW5zLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjIwcHh9LlR3NkNtZXtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcn0uYnRrdTViW3NlbGVjdGVkXSAuWE4wWWNle21hcmdpbi1yaWdodDo4cHh9LmJ0a3U1Yi5UdzZDbWVbc2VsZWN0ZWRdIC5pWTZyTWIgLmtIdGNzZCwuYnRrdTViLlR3NkNtZVtzZWxlY3RlZF0gLmlZNnJNYiAubmlPNHV7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MH0uYnRrdTViLlR3NkNtZVtzZWxlY3RlZF0gLkVEdlBOYyAua0h0Y3NkLC5idGt1NWIuVHc2Q21lW3NlbGVjdGVkXSAuRUR2UE5jIC5uaU80dXtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjB9LmJ0a3U1Yi5UdzZDbWVbc2VsZWN0ZWRdIC5pWTZyTWIgLm5pTzR1IC5rSHRjc2QgLmNsT3gxZXttYXJnaW4tbGVmdDowfS5idGt1NWI6bm90KFtzZWxlY3RlZF0pIC5FRHZQTmN7ZGlzcGxheTpub25lfS5idGt1NWIuVHc2Q21lW3NlbGVjdGVkXSAuRUR2UE5jIC5uaU80dXtib3JkZXItcmlnaHQ6bm9uZX0uYnRrdTViLlR3NkNtZVtzZWxlY3RlZF0gLmlZNnJNYiAubmlPNHV7Ym9yZGVyLWxlZnQ6bm9uZX0uUzJtektkLlByakw4YyAubmlPNHV7Ym9yZGVyLXJhZGl1czo5OTk5OXB4O2hlaWdodDo0MHB4O30uUzJtektkLkEyOXpnZiAuazBKamcsLlMybXpLZC5BMjl6Z2YgLmtIdGNzZHtib3JkZXItcmFkaXVzOjk5OTk5cHh9LnpKVXVxZnttYXJnaW4tYm90dG9tOjRweH0uQUI0V2Zme21hcmdpbi1sZWZ0OjE2cHh9LndIWWxUZHtmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjIycHh9LnlVVE1qe2ZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NDAwfUBrZXlmcmFtZXMgZy1zbmFja2Jhci1zaG93e2Zyb217cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX10b3t0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSl9fUBrZXlmcmFtZXMgZy1zbmFja2Jhci1oaWRle2Zyb217dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpfXRve3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX1Aa2V5ZnJhbWVzIGctc25hY2tiYXItc2hvdy1jb250ZW50e2Zyb217b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIGctc25hY2tiYXItaGlkZS1jb250ZW50e3Rve29wYWNpdHk6MH19LkxIM3dHLC5qaFp2b2R7Ym90dG9tOjA7aGVpZ2h0OjA7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDo5OTl9Lk94OEN5ZHtoZWlnaHQ6MDtwb3NpdGlvbjpmaXhlZDt6LWluZGV4Ojk5OX0uRTdIZGdie2JveC1zaXppbmc6Ym9yZGVyLWJveDt2aXNpYmlsaXR5OmhpZGRlbjtkaXNwbGF5OmlubGluZS1ibG9ja30ueUs2anFlLC5XdTB2OWJ7Ym94LXNpemluZzpib3JkZXItYm94O3Zpc2liaWxpdHk6aGlkZGVufS5yVFlUTmJ7YW5pbWF0aW9uOmctc25hY2tiYXItaGlkZSAuNHMgY3ViaWMtYmV6aWVyKDAuNCwwLDAuMiwxKSBib3RoO3Zpc2liaWxpdHk6aW5oZXJpdH0uVWV3UE1ke2FuaW1hdGlvbjpnLXNuYWNrYmFyLXNob3cgLjVzIGN1YmljLWJlemllcigwLjQsMCwwLjIsMSkgYm90aDt2aXNpYmlsaXR5OmluaGVyaXR9LmI3N0hLZntiYWNrZ3JvdW5kLWNvbG9yOiMzMjMyMzI7cGFkZGluZzowIDI0cHh9LnJJeHN2ZXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpib3g7ZGlzcGxheTpmbGV4fS5yVFlUTmIgLnJJeHN2ZXthbmltYXRpb246Zy1zbmFja2Jhci1oaWRlLWNvbnRlbnQgLjM1cyBjdWJpYy1iZXppZXIoMC40LDAsMC4yLDEpIGJvdGh9LlVld1BNZCAuckl4c3Zle2FuaW1hdGlvbjpnLXNuYWNrYmFyLXNob3ctY29udGVudCAuMzVzIGN1YmljLWJlemllcigwLjQsMCwwLjIsMSkgLjE1cyBib3RofS5UeG5nbmIuVHhuZ25ie2xpbmUtaGVpZ2h0OjIwcHh9LlR4bmduYntjb2xvcjojZmZmO2ZsZXg6MSAxIGF1dG87bWFyZ2luOjE0cHggMDt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9LnNIRk5ZZHttYXJnaW4tcmlnaHQ6LThweH1AbWVkaWEgKG1pbi13aWR0aDo1NjlweCkgYW5kIChtaW4taGVpZ2h0OjU2OXB4KXsuTEgzd0csLmpoWnZvZHt0ZXh0LWFsaWduOmNlbnRlcn0uV3UwdjliLC55SzZqcWV7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWF4LXdpZHRoOjU2OHB4O21pbi13aWR0aDoyODhweDt0ZXh0LWFsaWduOmxlZnR9LmI3N0hLZntib3JkZXItcmFkaXVzOjhweH0uc0hGTllke21hcmdpbi1sZWZ0OjQwcHh9fS5WOU8xWWQgLnJJeHN2ZXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6OHB4IDB9LlY5TzFZZCAuc0hGTllke21hcmdpbi1sZWZ0OjB9LlY5TzFZZCAuc0hGTllkIGctZmxhdC1idXR0b257cGFkZGluZy1sZWZ0OjB9LmpoWnZvZHtsZWZ0OjE2cHg7cmlnaHQ6YXV0b30uTEgzd0csLk94OEN5ZHtsZWZ0OjA7cmlnaHQ6MH0ueUs2anFlLC5XdTB2OWIsLkU3SGRnYntwb3NpdGlvbjpyZWxhdGl2ZX0uRzlqb3Jle3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMjRweDtib3R0b206LTI0cHg7bGVmdDotMjRweDtyaWdodDotMjRweH0uelVkcHBje3BhZGRpbmctYm90dG9tOjRweH0uVGtaWnNme3BhZGRpbmctYm90dG9tOjRweDtwYWRkaW5nLXRvcDo0cHh9Lk1kRkRnYi5IVVFOSWV7Y29sb3I6cmdiYSgwLDAsMCwuMjYpfS5jelVZMmV7YmFja2dyb3VuZC1jb2xvcjojMGI1N2QwfWctaW1ne2Rpc3BsYXk6YmxvY2t9Zy1pbWd7aGVpZ2h0OjEwMCV9LllRNGdhZntkaXNwbGF5OmJsb2NrO2JvcmRlcjowfS51OXdIN2QgLllRNGdhZntvYmplY3QtZml0OmZpbGx9Lm1Oc0loYiAuWVE0Z2Fme29iamVjdC1maXQ6Y292ZXJ9LnRiMDhQZCAuWVE0Z2Fme29iamVjdC1maXQ6Y29udGFpbn0ud0ExQmdle3Bvc2l0aW9uOnJlbGF0aXZlfS5oaHRqcmN7ZmxleDpub25lfS5aR29tS2Z7b3ZlcmZsb3c6aGlkZGVufS5MTE84eWR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wMyk7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cG9pbnRlci1ldmVudHM6bm9uZTtsZWZ0OjA7cmlnaHQ6MH0uTHFrS3Rme2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5Om5vbmU7aGVpZ2h0OjEwMCU7anVzdGlmeS1jb250ZW50OmNlbnRlcjtsZWZ0OjA7b3BhY2l0eTouOTk5O292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfS5Jejc0MGQuTHFrS3Rme2JvcmRlci1yYWRpdXM6NTAlfS5McWtLdGYuRG5nclBje2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi01MHZ3O21hcmdpbi1yaWdodDotNTB2dztyaWdodDo1MCU7d2lkdGg6MTAwdnd9LmFtcF9yZXtwb3NpdGlvbjpyZWxhdGl2ZX0uUXlKSTNke2JhY2tncm91bmQtY29sb3I6dmFyKC0teGhVR3djKTtjb2xvcjojNjY2O2JveC1zaGFkb3c6MCA0cHggMTZweCByZ2JhKDAsMCwwLDAuMil9Lm9RY1B0e2JhY2tncm91bmQtY29sb3I6dmFyKC0teGhVR3djKX0uUXlKSTNke2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMik7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDo5MTIwfS5uRmRGSGZ7YW5pbWF0aW9uOmctYnViYmxlLXNob3cgLjJzIGZvcndhcmRzfS5iRTNLaWZ7YW5pbWF0aW9uOmctYnViYmxlLWhpZGUgLjJzIGZvcndhcmRzfUBrZXlmcmFtZXMgZy1idWJibGUtc2hvd3tmcm9te29wYWNpdHk6MH10b3tvcGFjaXR5OjF9fUBrZXlmcmFtZXMgZy1idWJibGUtaGlkZXtmcm9te29wYWNpdHk6MX10b3tvcGFjaXR5OjB9fS5ReUpJM2QuUUpub3ple2JvcmRlci1yYWRpdXM6MTJweH0uUXlKSTNkLlNpT2pKYntib3JkZXItbGVmdC13aWR0aDowO2JvcmRlci1yaWdodC13aWR0aDowO3dpZHRoOjEwMCV9LlF5SkkzZC5QblFNaWV7YmFja2dyb3VuZC1jb2xvcjojMjAyMTI0O2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjUpO2NvbG9yOiNkYWRjZTB9LlF5SkkzZC5MV2VuNWN7YmFja2dyb3VuZC1jb2xvcjojMWE3M2U4O2JvcmRlcjpub25lO2NvbG9yOiNmZmY7ei1pbmRleDo5MTAwfS50WW1meGV7dHJhbnNmb3JtOnRyYW5zbGF0ZSgyLjVweCwxLjhweCkgcm90YXRlWig0NWRlZyk7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDo5MTIxfVtkaXI9cnRsXSAudFltZnhle3RyYW5zZm9ybTp0cmFuc2xhdGUoLTIuNXB4LDEuOHB4KSByb3RhdGVaKDQ1ZGVnKX0uSUJQWnUudFltZnhle3RyYW5zZm9ybTp0cmFuc2xhdGUoMi41cHgsLTUuN3B4KSByb3RhdGVaKDQ1ZGVnKX1bZGlyPXJ0bF0gLklCUFp1LnRZbWZ4ZXt0cmFuc2Zvcm06dHJhbnNsYXRlKC0yLjVweCwtNS43cHgpIHJvdGF0ZVooNDVkZWcpfS5vUWNQdHtib3JkZXItYm90dG9tOm5vbmU7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjIpO2JvcmRlci1yaWdodDpub25lO2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjIpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6MTMuNDM1cHg7d2lkdGg6MTMuNDM1cHh9LklCUFp1IC5vUWNQdHtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4yKTtib3JkZXItbGVmdDpub25lO2JvcmRlci1yaWdodDoxcHggc29saWQgcmdiYSgwLDAsMCwuMik7Ym9yZGVyLXRvcDpub25lfS5QblFNaWUgLm9RY1B0e2JhY2tncm91bmQtY29sb3I6IzIwMjEyNDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjUpfS5MV2VuNWMgLm9RY1B0e2JhY2tncm91bmQtY29sb3I6IzFhNzNlODtib3JkZXI6bm9uZX0ubm5GR3Vme2Rpc3BsYXk6bm9uZX0uYzVhWlBie2N1cnNvcjpwb2ludGVyfS5EY2x0cmV7cG9pbnRlci1ldmVudHM6bm9uZX0uVFlROEFme2NsaXA6cmVjdCgxcHgsMXB4LDFweCwxcHgpO2hlaWdodDoxcHg7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3doaXRlLXNwYWNlOm5vd3JhcDt3aWR0aDoxcHg7ei1pbmRleDotMTAwMDt0b3A6M3B4O3JpZ2h0OjNweH0uSmd6cVlke2ZvbnQtZmFtaWx5Okdvb2dsZSBTYW5zLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjI4cHg7bGluZS1oZWlnaHQ6MzZweH0uUHFrbjJle2ZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MjRweH0uWndSaEpke2ZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MThweH0uTUJldU97Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo0MDB9Lk1CZXVPe2xpbmUtaGVpZ2h0OjI0cHh9LlJFUzlqZntjb2xvcjp2YXIoLS1ZTE5OSGMpfS5HUzVyUmR7Y29sb3I6dmFyKC0tSktxeDIpfS5HUzVyUmQ6dmlzaXRlZHtjb2xvcjojNjgxZGE4fS5pd1kxTWJ7aGVpZ2h0OjA7b3BhY2l0eTowO2Rpc3BsYXk6YmxvY2t9LlY4ZldIe2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtjbGlwLXBhdGg6cG9seWdvbigwIDAsMCAwLDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO3otaW5kZXg6LTEwMDA7dXNlci1zZWxlY3Q6bm9uZX0uZ1c3elNje2Rpc3BsYXk6YmxvY2t9LkNxbVBSZTphY3RpdmUgLmFWbFRwYyBzcGFue2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yLC4yLDAsMSk7YW5pbWF0aW9uLWR1cmF0aW9uOi41c31Aa2V5ZnJhbWVzIHNoYXBlLXR3ZWVuLXJpZ2h0ezUwJXt0cmFuc2Zvcm06c2NhbGVZKC45KSB0cmFuc2xhdGVYKDglKX0xMDAle3RyYW5zZm9ybTpub25lfX1Aa2V5ZnJhbWVzIHNoYXBlLXR3ZWVuLWxlZnR7NTAle3RyYW5zZm9ybTpzY2FsZVkoLjkpIHRyYW5zbGF0ZVgoLTglKX0xMDAle3RyYW5zZm9ybTpub25lfX0uQ3FtUFJlOmFjdGl2ZSAuS0FySnVjIHNwYW57YW5pbWF0aW9uLW5hbWU6c2hhcGUtdHdlZW4tcmlnaHR9LkNxbVBSZTphY3RpdmUgLlliQ3J6ZCBzcGFue2FuaW1hdGlvbi1uYW1lOnNoYXBlLXR3ZWVuLWxlZnR9QGtleWZyYW1lcyBzaGFwZS10d2Vlbi11cHs1MCV7dHJhbnNmb3JtOnNjYWxlWCguOSkgdHJhbnNsYXRlWSgtOCUpfTEwMCV7dHJhbnNmb3JtOm5vbmV9fS5DcW1QUmU6YWN0aXZlIC5vWHFaeGMgc3BhbnthbmltYXRpb24tbmFtZTpzaGFwZS10d2Vlbi11cH1Aa2V5ZnJhbWVzIHNoYXBlLXR3ZWVuLWRvd257NTAle3RyYW5zZm9ybTpzY2FsZVgoLjkpIHRyYW5zbGF0ZVkoOCUpfTEwMCV7dHJhbnNmb3JtOm5vbmV9fS5DcW1QUmU6YWN0aXZlIC5URDVGUWUgc3BhbnthbmltYXRpb24tbmFtZTpzaGFwZS10d2Vlbi1kb3dufS5BYWpkM3twYWRkaW5nLWxlZnQ6MTZweH0uVTA5Snhke3BhZGRpbmctcmlnaHQ6NHB4fS5neE1kVmR7cGFkZGluZy1yaWdodDo4cHh9Lm1XY2YwZXtjdXJzb3I6cG9pbnRlcn1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsuQ05iUG5je2JhY2tncm91bmQtY29sb3I6QnV0dG9uRmFjZTtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1jb2xvcjpCdXR0b25Cb3JkZXI7Y29sb3I6QnV0dG9uVGV4dH19LlZmTDJZe3Bvc2l0aW9uOnJlbGF0aXZlO30uWVFwWDlke2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOnJlbGF0aXZlO30uTFJad3Vje2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5uS0h5VGN7Y29sb3I6dmFyKC0tSVhveFVlKTtmbG9hdDpyaWdodDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNnB4O3BhZGRpbmctYm90dG9tOjRweH0uZURHcU5ke2NvbG9yOnZhcigtLUlYb3hVZSk7ZmxvYXQ6cmlnaHQ7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTZweH0uazYyZ2piOmhvdmVyLC5rNjJnamIgLlc3R0NvYzpob3Zlcnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5yMmZqbWR7bWFyZ2luLWJvdHRvbTowcHg7bWFyZ2luLXRvcDowcHh9Zy1kcm9wZG93bi1tZW51e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS5KYjBaaWYgZy1kcm9wZG93bi1tZW51e3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uV05OMWJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS14aFVHd2MpfS5XNFhxTntjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXhoVUd3Yyl9LkdLWFdWe2JvcmRlci10b3A6MXB4IHNvbGlkICNkYWRjZTA7aGVpZ2h0OjA7bWFyZ2luLWxlZnQ6NXB4O21hcmdpbi1yaWdodDo1cHh9LmVOUnd5ZntoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5hZEdONltkaXNhYmxlZF17cG9pbnRlci1ldmVudHM6bm9uZTtjdXJzb3I6ZGVmYXVsdDtiYWNrZ3JvdW5kLWNvbG9yOiNmN2Y4Zjl9LnBrV0JzZXtib3gtc2hhZG93OjAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLDAuMil9LnBrV0JzZXtib3JkZXItcmFkaXVzOjhweH0uVWpCR0x7ZGlzcGxheTpibG9ja30uQ2NOZTZle2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5pUlFIWmV7cG9zaXRpb246YWJzb2x1dGV9LlFhcXU1e3Bvc2l0aW9uOnJlbGF0aXZlfS5zaG5Nb2MuQ2NOZTZle2Rpc3BsYXk6YmxvY2t9LnY0WnBiZS5DY05lNmV7ZGlzcGxheTpmbGV4O2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LlBCbjQ0ZXtib3JkZXItcmFkaXVzOjhweH0ueUtVeWogLkVwUFlMZDpmaXJzdC1vZi10eXBle2JvcmRlci10b3AtbGVmdC1yYWRpdXM6OHB4O2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjhweH0ueUtVeWogLkVwUFlMZDpsYXN0LW9mLXR5cGV7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czo4cHg7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6OHB4fS55VGlrMHtib3JkZXI6bm9uZTtkaXNwbGF5OmJsb2NrO291dGxpbmU6bm9uZX0ud3BsSkJke3doaXRlLXNwYWNlOm5vd3JhcH0uSk0yMlM6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjhweH0uSk0yMlM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQtY29sb3I6I2JhYmFiYTtib3JkZXItcmlnaHQ6NHB4IHNvbGlkICNmZmZ9LmlRWFRKZXtwYWRkaW5nOjVweCAwfS5adDBhNWUuTEdpbHVje2JvcmRlci10b3AtY29sb3I6dmFyKC0tZ1M1alhiKX0uWnQwYTVlLkxHaWx1YywuWnQwYTVlLkVwUFlMZFtkaXNhYmxlZF17Y29sb3I6cmdiYSgwLDAsMCwwLjI2KSFpbXBvcnRhbnR9LkNqaVp2YiwuR1puUXFlLkVwUFlMZDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9LkVwUFlMZHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS5ZcGNEbmZ7cGFkZGluZzowIDE2cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5ZcGNEbmYuSEcxZHZke3BhZGRpbmc6MH0uSEcxZHZkPip7cGFkZGluZzowIDE2cHh9Lld0VjVuZCAuWXBjRG5me3BhZGRpbmctbGVmdDoyOHB4fS5adDBhNWUgLllwY0RuZntsaW5lLWhlaWdodDo0OHB4fS5HWm5RcWUgLllwY0RuZntsaW5lLWhlaWdodDoyM3B4fS5FcFBZTGQ6aG92ZXJ7Y3Vyc29yOnBvaW50ZXJ9LkVwUFlMZCwuQ0I4bkRlOmhvdmVye2N1cnNvcjpkZWZhdWx0fS5MR2lsdWMsLkVwUFlMZFtkaXNhYmxlZF17cG9pbnRlci1ldmVudHM6bm9uZTtjdXJzb3I6ZGVmYXVsdH0uTEdpbHVje2JvcmRlci10b3A6MXB4IHNvbGlkO2hlaWdodDowO21hcmdpbjo1cHggMH0uWnQwYTVlLkNCOG5EZXtiYWNrZ3JvdW5kOm5vLXJlcGVhdCBsZWZ0IDhweCBjZW50ZXJ9Llp0MGE1ZS5DQjhuRGV7YmFja2dyb3VuZC1pbWFnZTp1cmwoaHR0cHM6Ly9zc2wuZ3N0YXRpYy5jb20vaW1hZ2VzL2ljb25zL21hdGVyaWFsL3N5c3RlbS8xeC9kb25lX2JsYWNrXzE2ZHAucG5nKX0uR1puUXFlLkNCOG5EZXtiYWNrZ3JvdW5kOm5vLXJlcGVhdCBsZWZ0IGNlbnRlcn0uR1puUXFlLkNCOG5EZXtiYWNrZ3JvdW5kLWltYWdlOnVybChodHRwczovL3NzbC5nc3RhdGljLmNvbS91aS92MS9tZW51L2NoZWNrbWFyazIucG5nKX0uR1puUXFlLkxHaWx1YywuR1puUXFlLkVwUFlMZFtkaXNhYmxlZF17b3BhY2l0eTo2MSV9LkdablFxZS5MR2lsdWN7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1nUzVqWGIpfS5lQ2NVQSwuY0RueE97cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtib3JkZXItcmFkaXVzOjUwJX0uckxkV2Zle3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6aW5oZXJpdDt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0uTURmb1RkLC5oZHFJRmV7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0uTURmb1RkLC5jRG54T3tvcGFjaXR5OjB9LmhkcUlGZSwuY0RueE97b3ZlcmZsb3c6aGlkZGVufS5iS3ZvZ2IgLk1EZm9UZCwuYkt2b2diIC5oZHFJRmV7Ym9yZGVyLXJhZGl1czo1MCV9LmJLdm9nYiAuZUNjVUF7b3ZlcmZsb3c6aGlkZGVufS5Md1Z5SGR7dHJhbnNpdGlvbjptYXgtaGVpZ2h0IC4zcztvdmVyZmxvdzpoaWRkZW59LlloM3Rme3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGUhaW1wb3J0YW50O3JpZ2h0OjA7Y29sb3I6IzVlNWU1ZTt0b3A6NTAlO21hcmdpbi10b3A6LTEycHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcn0uRlhNT3BiIC5ZaDN0ZnttYXJnaW4tdG9wOi0xNHB4fS5GWE1PcGIgLk1MZ3gwZXt0cmFuc2Zvcm06cm90YXRlWCgxODBkZWcpfS55ZFNvQ3twYWRkaW5nLWxlZnQ6OHB4fS5rR2Zze3Bvc2l0aW9uOnJlbGF0aXZlfS5ZaDN0Zi5jaHZZRmN7YmFja2dyb3VuZDp2YXIoLS1YS01EeGMpO2JvcmRlci1yYWRpdXM6MjVweDttYXJnaW4tdG9wOi0xOHB4O3BhZGRpbmc6NnB4fS5TcEtzVWN7bWFyZ2luOjAgLTEwcHg7cGFkZGluZzowIDEwcHh9LlYxc0w1Y3tvdmVyZmxvdzp2aXNpYmxlfS5TOFBCd2V7bWF4LWhlaWdodDowO2Rpc3BsYXk6bm9uZX0uaE9iQWNje21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4fS5nVGV3YntwYWRkaW5nLWxlZnQ6OHB4O3BhZGRpbmctcmlnaHQ6OHB4fS50aHNaWGN7YmFja2dyb3VuZDojMWE3M2U4fS5oaVFSUWN7YmFja2dyb3VuZDojZWVlZWVlfS5CYjFKS2V7cGFkZGluZy1ib3R0b206OHB4fS5vdXk3TWN7cGFkZGluZy1sZWZ0OjE2cHg7cGFkZGluZy1yaWdodDoxNnB4fS5NOENFZWR7cGFkZGluZy10b3A6MTJweH0uejFhc0Nle2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZpbGw6Y3VycmVudENvbG9yO2hlaWdodDoyNHB4O2xpbmUtaGVpZ2h0OjI0cHg7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MjRweH0uejFhc0NlIHN2Z3tkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9PC9zdHlsZT48c2NyaXB0IGFzeW5jPSIiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hhcnNldD0iVVRGLTgiIHNyYz0iaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vb2cvXy9qcy9rPW9nLnF0bS5lbl9VUy5GdGxWZHhtRGtXMC4yMDE5Lk8vcnQ9ai9tPXFhYnIscV9kbnAscWN3aWQscWFwaWQscWFsZCxxYWRzLHFfZGcvZXhtPXFhYXcscWFkZCxxYWlkLHFlaW4scWhhdyxxaGJhLHFoYnIscWhjaCxxaGdhLHFoaWQscWhpbi9kPTEvZWQ9MS9ycz1BQTJZclR2LU01bDZQZE5RWDhJbFFqVEpHOE9qb3FfTGZBIiBub25jZT0iYUE3VmEtYmVlaElMc2wyaEZsUHQtZyI+PC9zY3JpcHQ+PGxpbmsgdHlwZT0idGV4dC9jc3MiIGhyZWY9Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL29nL18vc3Mvaz1vZy5xdG0udE1jTUM1SVRvQVkuTC5XLk8vbT1xY3dpZCxkX2JfZ20zLGRfd2lfZ20zLGRfbG9fZ20zL2V4Y209cWFhdyxxYWRkLHFhaWQscWVpbixxaGF3LHFoYmEscWhicixxaGNoLHFoZ2EscWhpZCxxaGluL2Q9MS9lZD0xL2N0PXpnbXMvcnM9QUEyWXJUdHU2OHdVOHJRU0V1MXpMb1RZX0JPQlFYaWJBZyIgcmVsPSJzdHlsZXNoZWV0Ij48c3R5bGUgZGF0YS1sYXRlLWNzcz0iIj5jLXdpentjb250YWluOnN0eWxlfWMtd2l6PmMtZGF0YXtkaXNwbGF5Om5vbmV9Yy13aXouckVUU0R7Y29udGFpbjpub25lfWMtd2l6LlViaThae2NvbnRhaW46bGF5b3V0IHN0eWxlfS5qYkJJdGZ7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0uRFUwTkp7Ym90dG9tOjA7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjB9LmxQM0pvZntkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0ubk5NdU9ke2FuaW1hdGlvbjpxbGktY29udGFpbmVyLXJvdGF0ZSAxNTY4LjIzNTI5NDExNzZtcyBsaW5lYXIgaW5maW5pdGV9QGtleWZyYW1lcyBxbGktY29udGFpbmVyLXJvdGF0ZXtmcm9te3RyYW5zZm9ybTpyb3RhdGUoMCl9dG97dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fS5Sb0ttaGJ7aGVpZ2h0OjEwMCU7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCV9Lm5OTXVPZCAuVlFkZWFie2FuaW1hdGlvbjpxbGktZmlsbC11bmZpbGwtcm90YXRlIDUzMzJtcyBjdWJpYy1iZXppZXIoMC40LDAsMC4yLDEpIGluZmluaXRlIGJvdGgscWxpLWJsdWUtZmFkZS1pbi1vdXQgNTMzMm1zIGN1YmljLWJlemllcigwLjQsMCwwLjIsMSkgaW5maW5pdGUgYm90aH0ubk5NdU9kIC5JRXFpQWZ7YW5pbWF0aW9uOnFsaS1maWxsLXVuZmlsbC1yb3RhdGUgNTMzMm1zIGN1YmljLWJlemllcigwLjQsMCwwLjIsMSkgaW5maW5pdGUgYm90aCxxbGktcmVkLWZhZGUtaW4tb3V0IDUzMzJtcyBjdWJpYy1iZXppZXIoMC40LDAsMC4yLDEpIGluZmluaXRlIGJvdGh9Lm5OTXVPZCAuc21vY3Nle2FuaW1hdGlvbjpxbGktZmlsbC11bmZpbGwtcm90YXRlIDUzMzJtcyBjdWJpYy1iZXppZXIoMC40LDAsMC4yLDEpIGluZmluaXRlIGJvdGgscWxpLXllbGxvdy1mYWRlLWluLW91dCA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwwLDAuMiwxKSBpbmZpbml0ZSBib3RofS5uTk11T2QgLkZsS2JDZXthbmltYXRpb246cWxpLWZpbGwtdW5maWxsLXJvdGF0ZSA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwwLDAuMiwxKSBpbmZpbml0ZSBib3RoLHFsaS1ncmVlbi1mYWRlLWluLW91dCA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwwLDAuMiwxKSBpbmZpbml0ZSBib3RofS5CU25MYiAubk5NdU9kIC5Sb0ttaGJ7YW5pbWF0aW9uOnFsaS1maWxsLXVuZmlsbC1yb3RhdGUgNTMzMm1zIGN1YmljLWJlemllcigwLjQsMCwwLjIsMSkgaW5maW5pdGUgYm90aDtvcGFjaXR5OjAuOTl9QGtleWZyYW1lcyBxbGktZmlsbC11bmZpbGwtcm90YXRlezAle3RyYW5zZm9ybTpyb3RhdGUoMCl9MTIuNSV7dHJhbnNmb3JtOnJvdGF0ZSgxMzVkZWcpfTI1JXt0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9MzcuNSV7dHJhbnNmb3JtOnJvdGF0ZSg0MDVkZWcpfTUwJXt0cmFuc2Zvcm06cm90YXRlKDU0MGRlZyl9NjIuNSV7dHJhbnNmb3JtOnJvdGF0ZSg2NzVkZWcpfTc1JXt0cmFuc2Zvcm06cm90YXRlKDgxMGRlZyl9ODcuNSV7dHJhbnNmb3JtOnJvdGF0ZSg5NDVkZWcpfTEwMCV7dHJhbnNmb3JtOnJvdGF0ZSgzdHVybil9fUBrZXlmcmFtZXMgcWxpLWJsdWUtZmFkZS1pbi1vdXR7MCV7b3BhY2l0eTowLjk5fTI1JXtvcGFjaXR5OjAuOTl9MjYle29wYWNpdHk6MH04OSV7b3BhY2l0eTowfTkwJXtvcGFjaXR5OjAuOTl9MTAwJXtvcGFjaXR5OjAuOTl9fUBrZXlmcmFtZXMgcWxpLXJlZC1mYWRlLWluLW91dHswJXtvcGFjaXR5OjB9MTUle29wYWNpdHk6MH0yNSV7b3BhY2l0eTowLjk5fTUwJXtvcGFjaXR5OjAuOTl9NTEle29wYWNpdHk6MH19QGtleWZyYW1lcyBxbGkteWVsbG93LWZhZGUtaW4tb3V0ezAle29wYWNpdHk6MH00MCV7b3BhY2l0eTowfTUwJXtvcGFjaXR5OjAuOTl9NzUle29wYWNpdHk6MC45OX03NiV7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHFsaS1ncmVlbi1mYWRlLWluLW91dHswJXtvcGFjaXR5OjB9NjUle29wYWNpdHk6MH03NSV7b3BhY2l0eTowLjk5fTkwJXtvcGFjaXR5OjAuOTl9MTAwJXtvcGFjaXR5OjB9fS5iZURRUHtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6NTAlfS5GY1hmaXtib3gtc2l6aW5nOmJvcmRlci1ib3g7aGVpZ2h0OjEwMCU7bGVmdDo0NSU7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwJX0uU1BLRm1je2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjozcHggc29saWQgdHJhbnNwYXJlbnQ7Ym94LXNpemluZzpib3JkZXItYm94fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpLChwcmVmZXJzLWNvbnRyYXN0Om1vcmUpey5iZURRUDpsYXN0LWNoaWxkIC5TUEtGbWN7Ym9yZGVyOm5vbmV9fS54M1NkWGR7d2lkdGg6MjAwJX0uSjd1dVVle3RyYW5zZm9ybTpyb3RhdGUoMTI5ZGVnKX0uc0RQSUN7bGVmdDotMTAwJTt0cmFuc2Zvcm06cm90YXRlKC0xMjlkZWcpfS50UzNQNXtsZWZ0Oi00NTAlO3dpZHRoOjEwMDAlfS5WUWRlYWIgLlNQS0ZtY3tib3JkZXItY29sb3I6IzQyODVmNH0uSUVxaUFmIC5TUEtGbWN7Ym9yZGVyLWNvbG9yOiNlYTQzMzV9LnNtb2NzZSAuU1BLRm1je2JvcmRlci1jb2xvcjojZmJiYzA0fS5GbEtiQ2UgLlNQS0ZtY3tib3JkZXItY29sb3I6IzM0YTg1M30uUm9LbWhiIC5KN3V1VWV7Ym9yZGVyLWJvdHRvbS1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItcmlnaHQtY29sb3I6dHJhbnNwYXJlbnR9LlJvS21oYiAuc0RQSUN7Ym9yZGVyLWJvdHRvbS1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItbGVmdC1jb2xvcjp0cmFuc3BhcmVudH0uUm9LbWhiIC50UzNQNXtib3JkZXItYm90dG9tLWNvbG9yOnRyYW5zcGFyZW50fS5HZ1RKV2UgLm5OTXVPZCAuSjd1dVVle2FuaW1hdGlvbjpxbGktbGVmdC1zcGluIDEzMzNtcyBjdWJpYy1iZXppZXIoMC40LDAsMC4yLDEpIGluZmluaXRlIGJvdGh9LkdnVEpXZSAubk5NdU9kIC5zRFBJQ3thbmltYXRpb246cWxpLXJpZ2h0LXNwaW4gMTMzM21zIGN1YmljLWJlemllcigwLjQsMCwwLjIsMSkgaW5maW5pdGUgYm90aH0uQlNuTGIgLm5OTXVPZCAuSjd1dVVle2FuaW1hdGlvbjpxbGktbGVmdC1zcGluIDEzMzNtcyBjdWJpYy1iZXppZXIoMC40LDAsMC4yLDEpIGluZmluaXRlIGJvdGg7Ym9yZGVyLWxlZnQtY29sb3I6dmFyKC0tRXBGTlcpO2JvcmRlci10b3AtY29sb3I6dmFyKC0tRXBGTlcpfS5CU25MYiAubk5NdU9kIC5zRFBJQ3thbmltYXRpb246cWxpLXJpZ2h0LXNwaW4gMTMzM21zIGN1YmljLWJlemllcigwLjQsMCwwLjIsMSkgaW5maW5pdGUgYm90aDtib3JkZXItcmlnaHQtY29sb3I6dmFyKC0tRXBGTlcpO2JvcmRlci10b3AtY29sb3I6dmFyKC0tRXBGTlcpfS5CU25MYiAubk5NdU9kIC50UzNQNXtib3JkZXItY29sb3I6dmFyKC0tRXBGTlcpO2JvcmRlci1ib3R0b20tY29sb3I6dHJhbnNwYXJlbnR9QGtleWZyYW1lcyBxbGktbGVmdC1zcGluezAle3RyYW5zZm9ybTpyb3RhdGUoMTMwZGVnKX01MCV7dHJhbnNmb3JtOnJvdGF0ZSgtNWRlZyl9MTAwJXt0cmFuc2Zvcm06cm90YXRlKDEzMGRlZyl9fUBrZXlmcmFtZXMgcWxpLXJpZ2h0LXNwaW57MCV7dHJhbnNmb3JtOnJvdGF0ZSgtMTMwZGVnKX01MCV7dHJhbnNmb3JtOnJvdGF0ZSg1ZGVnKX0xMDAle3RyYW5zZm9ybTpyb3RhdGUoLTEzMGRlZyl9fS5lYTBMYmV7YmFja2dyb3VuZDojZmZmO2JvcmRlci1yYWRpdXM6MjRweDtib3gtc2hhZG93OjBweCA0cHggNnB4IHJnYmEoMzIsMzMsMzYsMC4yOCk7bWFyZ2luLWxlZnQ6LTRweDttYXJnaW4tdG9wOjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOi00cHg7d2lkdGg6Y2FsYygxMDAlICsgOHB4KTt6LWluZGV4Ojk4OX0uS29XSHBke21hcmdpbjoyMHB4fS5CaUtOZnthbGlnbi1zZWxmOmZsZXgtZW5kO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjE0cHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6NnB4O3RvcDo2cHh9LnA0cHZUZHtjb2xvcjpyZ2IoMzIsMzMsMzYpO2ZvbnQtZmFtaWx5OiJHb29nbGUgU2FucyBEaXNwbGF5IixSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoyOHB4O21hcmdpbi1ib3R0b206MTRweDt0ZXh0LWFsaWduOmNlbnRlcjtsZXR0ZXItc3BhY2luZzouMXB4fS5CSDlybnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleDtmbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1ncm93OjE7anVzdGlmeS1jb250ZW50Om5vcm1hbDtwYWRkaW5nLXRvcDoxNnB4fS5nSVlKVWN7YmFja2dyb3VuZDpyZ2IoMjQ4LDI0OSwyNTApO2JvcmRlcjoxcHggZGFzaGVkICNjMGMwYzA7Ym9yZGVyLXJhZGl1czo4cHg7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1ncm93OjE7aGVpZ2h0OjI4MHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9Lk5kajRSe2JvcmRlcjoxcHggZGFzaGVkICNjMGMwYzB9LmlkNXZNYntib3JkZXI6MXB4IGRhc2hlZCAjYzBjMGMwfS5mNkdBMHtoZWlnaHQ6MTAwJTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi10b3A6MH0uZjZHQTAsLkNhY2ZCe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5mNkdBMCwuQ2FjZkIsLlVhN1l1Zntib3JkZXItcmFkaXVzOjhweDtmbGV4LWdyb3c6MX0uQ2FjZkJ7YmFja2dyb3VuZDojZjBmNmZmO2p1c3RpZnktY29udGVudDpjZW50ZXI7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uWmVWQnRje2NvbG9yOnJnYig5NSw5OSwxMDQpO2ZvbnQtZmFtaWx5OiJHb29nbGUgU2FucyIsUm9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MjVweDttYXgtd2lkdGg6MzAwcHh9LmFsVEJRZXthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjUyLDIzMiwyMzApO2JvcmRlci10b3AtbGVmdC1yYWRpdXM6OHB4O2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjhweDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0uT0h6V2pie2NvbG9yOnJnYigxNzksMjAsMTgpO2ZsZXg6MTtmb250LWZhbWlseToiR29vZ2xlIFNhbnMiLFJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O3BhZGRpbmc6NXB4O3RleHQtYWxpZ246Y2VudGVyfS5VYTdZdWZ7YWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLXNlbGY6Y2VudGVyO2JhY2tncm91bmQ6I2YwZjZmZjtkaXNwbGF5OmZsZXg7ZmxleDoxO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjEwMCV9LndISDhhZntjb2xvcjpyZ2IoOTUsOTksMTA0KTtmb250LWZhbWlseToiR29vZ2xlIFNhbnMiLFJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjI1cHg7bWFyZ2luLXRvcDoxMnB4fS5EVjd0aGV7Y29sb3I6cmdiKDI1LDEwMywyMTApO2N1cnNvcjpwb2ludGVyO3doaXRlLXNwYWNlOm5vd3JhcH0uRFY3dGhlLlJpRUNmZjpmb2N1c3tvdXRsaW5lOm5vbmV9LkRWN3RoZTpob3ZlciwuRFY3dGhlOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LkRWN3RoZTpmb2N1c3t0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5BcklBWGJ7ZmlsbDpyZ2IoMjQxLDI0MywyNDQpfS5xT0ZMc2J7ZmlsbDpyZ2IoMjE4LDIyMCwyMjQpfS5BeWUxa3t3aWR0aDppbmhlcml0O3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2t9LlJhb1VVZXtkaXNwbGF5OmlubGluZS1mbGV4O21hcmdpbi1yaWdodDoxOHB4fS5lOEV1bGV7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZzowIDIwcHggMjBweDt3aWR0aDoxMDAlfS5ZSngyNXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4fS5kaU9sSWV7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiKDIzMiwyMzQsMjM3KTtmbGV4LWdyb3c6MTtoZWlnaHQ6MH0uYUhLMWJke2NvbG9yOnJnYig5NSw5OSwxMDQpO2N1cnNvcjpkZWZhdWx0O2ZsZXgtc2hyaW5rOjA7Zm9udC1mYW1pbHk6Ikdvb2dsZSBTYW5zIERpc3BsYXkiLFJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O21hcmdpbi1sZWZ0OjIwcHg7bWFyZ2luLXJpZ2h0OjIwcHh9LlBYVDZjZHtkaXNwbGF5OmZsZXg7bWFyZ2luLXRvcDoxNHB4fS5jQjlNN3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCByZ2IoMjE4LDIyMCwyMjQpO2NvbG9yOnJnYig2MCw2NCw2Nyk7Ym9yZGVyLXJhZGl1czozNnB4O2Rpc3BsYXk6aW5saW5lLWZsZXg7ZmxleC1ncm93OjE7Zm9udC1zaXplOjE0cHg7Zm9udC1mYW1pbHk6Ikdvb2dsZSBTYW5zIERpc3BsYXkiLFJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2hlaWdodDo0MHB4O3BhZGRpbmc6MCAyNHB4O3dpZHRoOjEwMCU7b3V0bGluZTpub25lfS5sZW5zVXBsb2FkV2l6d2ViVXBsb2FkRGlhbG9nVXJsSW5wdXRJbnB1dEJveCA6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6cmdiKDEyOCwxMzQsMTM5KX0uY0I5TTcgOjpwbGFjZWhvbGRlcntjb2xvcjpyZ2IoMTI4LDEzNCwxMzkpfS5jQjlNNzpob3Zlcntib3JkZXI6MXB4IHNvbGlkIHJnYig2MCw2NCw2Nyl9LmNCOU03OmZvY3Vze2JvcmRlcjoxcHggc29saWQgcmdiKDI1LDEwMywyMTApfS5jQjlNNzphY3RpdmV7Ym9yZGVyOjFweCBzb2xpZCByZ2IoMjUsMTAzLDIxMCl9LlF3YmQze2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czozMnB4O2JvcmRlcjoxcHggc29saWQgcmdiKDIxOCwyMjAsMjI0KTtjb2xvcjpyZ2IoMjYsMTE1LDIzMik7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleDtmbGV4LXNocmluazowO2ZvbnQtZmFtaWx5OiJHb29nbGUgU2FucyIsUm9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtsZXR0ZXItc3BhY2luZzouMjVweDttYXJnaW4tbGVmdDo4cHg7b3V0bGluZTowO3BhZGRpbmc6OHB4IDI0cHh9LlF3YmQzOmhvdmVye2JhY2tncm91bmQ6cmdiYSgyNSwxMDMsMjEwLDAuMDgpO2NvbG9yOnJnYigyNiwxMTUsMjMyKTtib3JkZXI6MXB4IHNvbGlkIHJnYigyMTgsMjIwLDIyNCl9LlF3YmQzOmZvY3Vze2JhY2tncm91bmQ6cmdiYSgyNSwxMDMsMjEwLDAuMDgpO2JvcmRlcjoxcHggc29saWQgcmdiKDI1LDEwMywyMTApO2NvbG9yOnJnYigyNiwxMTUsMjMyKX0uUXdiZDM6YWN0aXZle2JhY2tncm91bmQ6cmdiYSgyNSwxMDMsMjEwLDAuMTQpO2JvcmRlcjoxcHggc29saWQgcmdiKDIxOCwyMjAsMjI0KTtjb2xvcjpyZ2IoMjYsMTE1LDIzMil9c2VudGluZWx7fTwvc3R5bGU+PHN0eWxlIGRhdGEtbGF0ZS1jc3M9IiI+OnJvb3R7LS1LSVpQbmU6I2EzYzlmZjstLXhQcGlNOiMwMDFkMzU7LS1FaGg0bWY6dmFyKC0tTnNtMGNlKX0uRXBQWUxke2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmV9LllwY0RuZntwYWRkaW5nOjAgMTZweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LllwY0RuZi5IRzFkdmR7cGFkZGluZzowfS5IRzFkdmQ+KntwYWRkaW5nOjAgMTZweH0uV3RWNW5kIC5ZcGNEbmZ7cGFkZGluZy1sZWZ0OjI4cHh9Llp0MGE1ZSAuWXBjRG5me2xpbmUtaGVpZ2h0OjQ4cHh9LkdablFxZSAuWXBjRG5me2xpbmUtaGVpZ2h0OjIzcHh9LkVwUFlMZDpob3ZlcntjdXJzb3I6cG9pbnRlcn0uRXBQWUxkLC5DQjhuRGU6aG92ZXJ7Y3Vyc29yOmRlZmF1bHR9LkxHaWx1YywuRXBQWUxkW2Rpc2FibGVkXXtwb2ludGVyLWV2ZW50czpub25lO2N1cnNvcjpkZWZhdWx0fS5MR2lsdWN7Ym9yZGVyLXRvcDoxcHggc29saWQ7aGVpZ2h0OjA7bWFyZ2luOjVweCAwfS5adDBhNWUuQ0I4bkRle2JhY2tncm91bmQ6bm8tcmVwZWF0IGxlZnQgOHB4IGNlbnRlcn0uWnQwYTVlLkNCOG5EZXtiYWNrZ3JvdW5kLWltYWdlOnVybChodHRwczovL3NzbC5nc3RhdGljLmNvbS9pbWFnZXMvaWNvbnMvbWF0ZXJpYWwvc3lzdGVtLzF4L2RvbmVfYmxhY2tfMTZkcC5wbmcpfS5HWm5RcWUuQ0I4bkRle2JhY2tncm91bmQ6bm8tcmVwZWF0IGxlZnQgY2VudGVyfS5HWm5RcWUuQ0I4bkRle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vc3NsLmdzdGF0aWMuY29tL3VpL3YxL21lbnUvY2hlY2ttYXJrMi5wbmcpfS5HWm5RcWUuTEdpbHVjLC5HWm5RcWUuRXBQWUxkW2Rpc2FibGVkXXtvcGFjaXR5OjYxJX0uR1puUXFlLkxHaWx1Y3tib3JkZXItdG9wLWNvbG9yOnZhcigtLWdTNWpYYil9c2VudGluZWx7fTwvc3R5bGU+PC9oZWFkPjxib2R5IGpzbW9kZWw9ImhzcEREZiAiIGNsYXNzPSJFTTFNcmIiIGpzYWN0aW9uPSJ4amhUSWY6LkNMSUVOVDtPMnZ5c2U6LkNMSUVOVDtJVktUZmU6LkNMSUVOVDtFejdWTWM6LkNMSUVOVDtSNlNseWM6LkNMSUVOVDtoV1Q5SmI6LkNMSUVOVDtXQ3VsV2U6LkNMSUVOVDtWTThiZzouQ0xJRU5UO3FxZjBuOi5DTElFTlQ7QTg3MDhiOi5DTElFTlQ7WWNmSjouQ0xJRU5UO3N6ak9SOi5DTElFTlQ7Skw5UURjOi5DTElFTlQ7a1dseGhjOi5DTElFTlQ7cUdNVElmOi5DTElFTlQ7eWRaQ0RmOi5DTElFTlQiPjxub3NjcmlwdCBhcmlhLWhpZGRlbj0idHJ1ZSI+PG1ldGEgY29udGVudD0iMDt1cmw9Lz9zY2FfZXN2PTcwMzVmZjZiZmE0NWY0YTgmYW1wO3NjYV91cHY9MSZhbXA7b3V0cHV0PXNlYXJjaCZhbXA7Z2J2PTEmYW1wO3NlaT1oNENyWnZ5TEM1T2ZpLWdQX29xSi1RdyIgaHR0cC1lcXVpdj0icmVmcmVzaCI+PHN0eWxlPnRhYmxlLGRpdixzcGFuLHB7ZGlzcGxheTpub25lfTwvc3R5bGU+PGRpdiBzdHlsZT0iZGlzcGxheTpibG9jayI+PGEgaHJlZj0iLz9zY2FfZXN2PTcwMzVmZjZiZmE0NWY0YTgmYW1wO3NjYV91cHY9MSZhbXA7b3V0cHV0PXNlYXJjaCZhbXA7Z2J2PTEmYW1wO3NlaT1oNENyWnZ5TEM1T2ZpLWdQX29xSi1RdyI+S2xpY2tlIGhpZXI8L2E+LCB3ZW5uIGR1IG5hY2ggZWluaWdlbiBTZWt1bmRlbiBuaWNodCBhdXRvbWF0aXNjaCB3ZWl0ZXJnZWxlaXRldCB3aXJzdC48L2Rpdj48L25vc2NyaXB0PjxzdHlsZSBhcmlhLWhpZGRlbj0idHJ1ZSI+LkwzZVVnYntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2hlaWdodDoxMDAlfS5vM2o5OXtmbGV4LXNocmluazowO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubjF4SmNme2hlaWdodDo2MHB4fS5MTEQ0bWV7bWluLWhlaWdodDoxNTBweDtoZWlnaHQ6Y2FsYygxMDAlIC0gNTYwcHgpO21heC1oZWlnaHQ6MjkwcHh9LnlyMTlaYnttaW4taGVpZ2h0OjkycHh9LmlrclQ0ZXttYXgtaGVpZ2h0OjE2MHB4fS5td2h0OWR7ZGlzcGxheTpub25lfS5BREhqNGV7cGFkZGluZy10b3A6MHB4O3BhZGRpbmctYm90dG9tOjg1cHh9Lm9XeVpyZXt3aWR0aDoxMDAlO2hlaWdodDo1MDBweDtib3JkZXItd2lkdGg6MH0ucWFyc3Rie2ZsZXgtZ3JvdzoxfTwvc3R5bGU+PGRpdiBjbGFzcz0iTDNlVWdiIiBkYXRhLWh2ZWlkPSIxIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGRpdiBjbGFzcz0ibzNqOTkgbjF4SmNmIE5lNm5TZCIgcm9sZT0ibmF2aWdhdGlvbiI+PHN0eWxlPi5OZTZuU2R7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjZweH0uTFgzc1pie2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZsZXgtZ3JvdzoxfTwvc3R5bGU+PGRpdiBjbGFzcz0iTFgzc1piIj48ZGl2PjxkaXYgY2xhc3M9ImdiX2hhIGdiX2RkIGdiXzlhIGdiX0NkIGdiX0NhIGdiX1NjIiBpZD0iZ2IiPjxkaXYgY2xhc3M9ImdiX3VkIGdiXzdhIGdiX2lkIiBkYXRhLW9nc3ItdXA9IiI+PGRpdj48ZGl2IGNsYXNzPSJnYl9vIGdiX0EgZ2JfUGYgZ2JfRmYiIGRhdGEtb2dibD0iIj48ZGl2IGNsYXNzPSJnYl96IGdiX0EiPjxhIGNsYXNzPSJnYl95IiBhcmlhLWxhYmVsPSJHbWFpbCAiIGRhdGEtcGlkPSIyMyIgaHJlZj0iaHR0cHM6Ly9tYWlsLmdvb2dsZS5jb20vbWFpbC8mYW1wO29nYmwiIHRhcmdldD0iX3RvcCI+R21haWw8L2E+PC9kaXY+PGRpdiBjbGFzcz0iZ2JfeiBnYl9BIj48YSBjbGFzcz0iZ2JfeSIgYXJpYS1sYWJlbD0iTmFjaCBCaWxkZXJuIHN1Y2hlbiAiIGRhdGEtcGlkPSIyIiBocmVmPSJodHRwczovL3d3dy5nb29nbGUuY29tL2ltZ2hwP2hsPWRlJmFtcDtvZ2JsIiB0YXJnZXQ9Il90b3AiPkJpbGRlcjwvYT48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJnYl9MZCI+PGRpdiBjbGFzcz0iZ2JfWmMiPjxkaXYgY2xhc3M9ImdiX2sgZ2JfRmQgZ2JfQSIgZGF0YS1vZ3NyLWZiPSJ0cnVlIiBkYXRhLW9nc3ItYWx0PSIiIGlkPSJnYndhIj48ZGl2IGNsYXNzPSJnYl9mIj48YSBjbGFzcz0iZ2JfZCIgYXJpYS1sYWJlbD0iR29vZ2xlLUFwcHMiIGhyZWY9Imh0dHBzOi8vd3d3Lmdvb2dsZS5sdS9pbnRsL2RlL2Fib3V0L3Byb2R1Y3RzIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+PHN2ZyBjbGFzcz0iZ2JfaCIgZm9jdXNhYmxlPSJmYWxzZSIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNiw4YzEuMSwwIDIsLTAuOSAyLC0ycy0wLjksLTIgLTIsLTIgLTIsMC45IC0yLDIgMC45LDIgMiwyek0xMiwyMGMxLjEsMCAyLC0wLjkgMiwtMnMtMC45LC0yIC0yLC0yIC0yLDAuOSAtMiwyIDAuOSwyIDIsMnpNNiwyMGMxLjEsMCAyLC0wLjkgMiwtMnMtMC45LC0yIC0yLC0yIC0yLDAuOSAtMiwyIDAuOSwyIDIsMnpNNiwxNGMxLjEsMCAyLC0wLjkgMiwtMnMtMC45LC0yIC0yLC0yIC0yLDAuOSAtMiwyIDAuOSwyIDIsMnpNMTIsMTRjMS4xLDAgMiwtMC45IDIsLTJzLTAuOSwtMiAtMiwtMiAtMiwwLjkgLTIsMiAwLjksMiAyLDJ6TTE2LDZjMCwxLjEgMC45LDIgMiwyczIsLTAuOSAyLC0yIC0wLjksLTIgLTIsLTIgLTIsMC45IC0yLDJ6TTEyLDhjMS4xLDAgMiwtMC45IDIsLTJzLTAuOSwtMiAtMiwtMiAtMiwwLjkgLTIsMiAwLjksMiAyLDJ6TTE4LDE0YzEuMSwwIDIsLTAuOSAyLC0ycy0wLjksLTIgLTIsLTIgLTIsMC45IC0yLDIgMC45LDIgMiwyek0xOCwyMGMxLjEsMCAyLC0wLjkgMiwtMnMtMC45LC0yIC0yLC0yIC0yLDAuOSAtMiwyIDAuOSwyIDIsMnoiPjwvcGF0aD48aW1hZ2Ugc3JjPSJodHRwczovL3NzbC5nc3RhdGljLmNvbS9nYi9pbWFnZXMvYmFyL2FsLWljb24ucG5nIiBhbHQ9IiIgaGVpZ2h0PSIyNCIgd2lkdGg9IjI0IiBzdHlsZT0iYm9yZGVyOm5vbmU7ZGlzcGxheTpub25lIFw5Ij48L2ltYWdlPjwvc3ZnPjwvYT48L2Rpdj48L2Rpdj48L2Rpdj48YSBjbGFzcz0iZ2JfdmEgZ2JfbmQgZ2JfZWQgZ2JfOWQiIGFyaWEtbGFiZWw9IkFubWVsZGVuIiBocmVmPSJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vU2VydmljZUxvZ2luP2hsPWRlJmFtcDtwYXNzaXZlPXRydWUmYW1wO2NvbnRpbnVlPWh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vJmFtcDtlYz1HQVpBbWdRIiB0YXJnZXQ9Il90b3AiPjxzcGFuIGNsYXNzPSJnYl9CZCI+QW5tZWxkZW48L3NwYW4+PC9hPjwvZGl2PjxkaXYgc3R5bGU9Im92ZXJmbG93OiBoaWRkZW47IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwcHg7IHZpc2liaWxpdHk6IGhpZGRlbjsgd2lkdGg6IDM3MHB4OyB6LWluZGV4OiA5OTE7IGhlaWdodDogMHB4OyBtYXJnaW4tdG9wOiA0OXB4OyB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcyBlYXNlLWluLW91dDsgcmlnaHQ6IDBweDsgbWFyZ2luLXJpZ2h0OiA0cHg7Ij48L2Rpdj48ZGl2IHN0eWxlPSJvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMHB4OyB2aXNpYmlsaXR5OiBoaWRkZW47IHdpZHRoOiA0MjBweDsgei1pbmRleDogOTkxOyBoZWlnaHQ6IDI4MHB4OyBtYXJnaW4tdG9wOiA3MHB4OyByaWdodDogMHB4OyBtYXJnaW4tcmlnaHQ6IDI1cHg7Ij48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvM2o5OSBMTEQ0bWUgTFM4T0oiPjxzdHlsZT4uTFM4T0p7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXJ9LmsxeklBe2hlaWdodDoxMDAlO21hcmdpbi10b3A6YXV0b308L3N0eWxlPjxkaXYgY2xhc3M9ImsxeklBIGtLdnNiIj48c3R5bGU+LmtLdnNie21heC1oZWlnaHQ6MjMwcHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luLWxlZnQ6NDhweDttYXJnaW4tcmlnaHQ6NDhweH0uU3VVY0lie3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0Oi00OHB4O2JvdHRvbTowfTwvc3R5bGU+PGRpdiBzdHlsZT0iaGVpZ2h0OmNhbGMoMTAwJSAtIDIwMHB4KSI+PC9kaXY+PGEgaHJlZj0iL3NlYXJjaD9zY2FfZXN2PTcwMzVmZjZiZmE0NWY0YTgmYW1wO3NjYV91cHY9MSZhbXA7cT1TdXJmZW4rT2x5bXBpYSZhbXA7b2k9ZGRsZSZhbXA7Y3Q9MzM1NjQ1MzE4JmFtcDtobD1kZSZhbXA7c2E9WCZhbXA7dmVkPTBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UVBRZ0MiIGRhdGEtaHZlaWQ9IjIiPjxzdHlsZT4ubG5YZHBke21heC1oZWlnaHQ6MTAwJTttYXgtd2lkdGg6MTAwJTtvYmplY3QtZml0OmNvbnRhaW47b2JqZWN0LXBvc2l0aW9uOmNlbnRlciBib3R0b207d2lkdGg6YXV0bzt2ZXJ0aWNhbC1hbGlnbjpib3R0b219PC9zdHlsZT48cGljdHVyZT48aW1nIGNsYXNzPSJsblhkcGQiIGFsdD0iU29tbWVyc3BpZWxlIGluIFBhcmlzIOKAkyBTdXJmZW4iIGhlaWdodD0iMjAwIiBzcmM9Ii9sb2dvcy9kb29kbGVzLzIwMjQvcGFyaXMtZ2FtZXMtc3VyZmluZy02NzUzNjUxODM3MTEwNTI4LjMtbGF3LmdpZiIgdGl0bGU9IlNvbW1lcnNwaWVsZSBpbiBQYXJpcyDigJMgU3VyZmVuIiB3aWR0aD0iNTAwIiBpZD0iaHBsb2dvIiBkYXRhLWNzaWlkPSJoNENyWnZ5TEM1T2ZpLWdQX29xSi1Rd18xIiBkYXRhLWF0Zj0iMSI+PC9waWN0dXJlPjwvYT48ZGl2IGNsYXNzPSJTdVVjSWIiPjxzdHlsZT4uRG9FTDBie2N1cnNvcjpwb2ludGVyO2hlaWdodDo0OHB4O3dpZHRoOjQ4cHg7cG9zaXRpb246cmVsYXRpdmV9LkE4eHphYntib3JkZXItcmFkaXVzOjUwJTttYXJnaW46OHB4O2JhY2tncm91bmQtY29sb3I6dmFyKC0tWEtNRHhjKX0uVWo1aXhje2JvcmRlci1yYWRpdXM6NTAlO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7b3BhY2l0eTowO2JhY2tncm91bmQtY29sb3I6dmFyKC0tWUxOTkhjKX0uRG9FTDBiOmhvdmVyIC5VajVpeGN7b3BhY2l0eToxNSV9LkRvRUwwYjphY3RpdmUgLlVqNWl4Y3tvcGFjaXR5OjM5JX0uQ2RYZVdie2xlZnQ6LTFweDtwYWRkaW5nOjdweDtwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjpib3R0b207Y29sb3I6dmFyKC0tWUxOTkhjKX08L3N0eWxlPjxidXR0b24gY2xhc3M9IkRvRUwwYiIgZGF0YS1hc3luYy10cmlnZ2VyPSJkZGxzaGFyZSIgdGl0bGU9IlRlaWxlbiIganNhY3Rpb249InRyaWdnZXIuc3pqT1IiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFE0emdJQXciPjxkaXYgY2xhc3M9IkE4eHphYiI+PGRpdiBjbGFzcz0iVWo1aXhjIj48L2Rpdj48c3BhbiBjbGFzcz0iQ2RYZVdiIHoxYXNDZSBGcDdNeSIgc3R5bGU9ImhlaWdodDoxOHB4O2xpbmUtaGVpZ2h0OjE4cHg7d2lkdGg6MThweCI+PHN2ZyBmb2N1c2FibGU9ImZhbHNlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTE4IDE2Yy0uNzkgMC0xLjUuMzEtMi4wMy44MUw4LjkxIDEyLjdjLjA1LS4yMy4wOS0uNDYuMDktLjdzLS4wNC0uNDctLjA5LS43bDcuMDUtNC4xMWMuNTMuNSAxLjI1LjgxIDIuMDQuODEgMS42NiAwIDMtMS4zNCAzLTNzLTEuMzQtMy0zLTMtMyAxLjM0LTMgM2MwIC4yNC4wNC40OC4wOS43TDguMDQgOS44MUM3LjUgOS4zMSA2Ljc5IDkgNiA5Yy0xLjY2IDAtMyAxLjM0LTMgM3MxLjM0IDMgMyAzYy43OSAwIDEuNS0uMzEgMi4wNC0uODFsNy4wNSA0LjEyYy0uMDUuMjItLjA5LjQ1LS4wOS42OSAwIDEuNjYgMS4zNCAzIDMgM3MzLTEuMzQgMy0zLTEuMzQtMy0zLTN6bTAtMTJjLjU1IDAgMSAuNDUgMSAxcy0uNDUgMS0xIDEtMS0uNDUtMS0xIC40NS0xIDEtMXpNNiAxM2MtLjU1IDAtMS0uNDUtMS0xcy40NS0xIDEtMSAxIC40NSAxIDEtLjQ1IDEtMSAxem0xMiA3Yy0uNTUgMC0xLS40NS0xLTFzLjQ1LTEgMS0xIDEgLjQ1IDEgMS0uNDUgMS0xIDF6Ij48L3BhdGg+PC9zdmc+PC9zcGFuPjwvZGl2PjwvYnV0dG9uPjxpbnB1dCB2YWx1ZT0iLy9nLmNvL2Rvb2RsZS9zc3A4Zmg4IiBjbGFzcz0iZGRsLXNob3J0bGluayIgdHlwZT0iaGlkZGVuIj48aW5wdXQgdmFsdWU9Ii8vZy5jby9kb29kbGUvdmNrOXd2ayIgY2xhc3M9ImRkbC1mYWNlYm9va2xpbmsiIHR5cGU9ImhpZGRlbiI+PGlucHV0IHZhbHVlPSIvL2cuY28vZG9vZGxlL3VmdnR2NDQiIGNsYXNzPSJkZGwtdHdpdHRlcmxpbmsiIHR5cGU9ImhpZGRlbiI+PGlucHV0IHZhbHVlPSIvL2cuY28vZG9vZGxlLzNmcmR2MzIiIGNsYXNzPSJkZGwtZW1haWxsaW5rIiB0eXBlPSJoaWRkZW4iPjxpbnB1dCB2YWx1ZT0iLy9nLmNvL2Rvb2RsZS9oemFuZ3ljIiBjbGFzcz0iZGRsLWNvcHlsaW5rIiB0eXBlPSJoaWRkZW4iPjxkaXYganNjb250cm9sbGVyPSJWc3FTQ2MiIHN0eWxlPSJkaXNwbGF5Om5vbmUiIGRhdGEtamlpcz0idXAiIGRhdGEtYXN5bmMtdHlwZT0iZGRsc2hhcmUiIGlkPSJkZGxzaGFyZSIgY2xhc3M9InlwIiBqc2FjdGlvbj0id1VWS0VmOkZMOWFJZSI+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ibzNqOTkgaWtyVDRlIG9tN252ZiI+PHN0eWxlPi5vbTdudmZ7cGFkZGluZzoyMHB4fTwvc3R5bGU+PGRpYWxvZyBjbGFzcz0ic3BjaC1kbGciIGlkPSJzcGNoLWRsZyI+PGRpdiBjbGFzcz0ic3BjaCIgc3R5bGU9ImRpc3BsYXk6bm9uZSIgaWQ9InNwY2giPjxzdHlsZT4uc3BjaC1kbGd7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6bm9uZX0uc3BjaHtiYWNrZ3JvdW5kOnZhcigtLXhoVUd3Yyk7aGVpZ2h0OjEwMCU7bGVmdDowO29wYWNpdHk6MDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246Zml4ZWQ7dGV4dC1hbGlnbjpsZWZ0O3RvcDowO3Zpc2liaWxpdHk6aGlkZGVuO3dpZHRoOjEwMCU7ei1pbmRleDoxMDAwMDt0cmFuc2l0aW9uOnZpc2liaWxpdHkgMHMgbGluZWFyIDAuMjE4cyxiYWNrZ3JvdW5kLWNvbG9yIDAuMjE4czt9LnMyZnAuc3BjaHtvcGFjaXR5OjE7dHJhbnNpdGlvbi1kZWxheTowczt2aXNpYmlsaXR5OnZpc2libGU7fS5wejViantiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7Y29sb3I6dmFyKC0tSVhveFVlKTtjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MjZweDtyaWdodDowO2xpbmUtaGVpZ2h0OjE1cHg7b3BhY2l0eTouNjttYXJnaW46LTFweCAtMXB4IDAgMDtwYWRkaW5nOjAgMCAycHggMDtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3otaW5kZXg6MTB9LnB6NWJqOmhvdmVye29wYWNpdHk6Ljh9LnB6NWJqOmFjdGl2ZXtvcGFjaXR5OjF9LnNwY2hje2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjQycHg7cG9pbnRlci1ldmVudHM6bm9uZTttYXJnaW46YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6MDttYXJnaW4tdG9wOjMxMnB4O21heC13aWR0aDo1NzJweDttaW4td2lkdGg6NTM0cHg7cGFkZGluZzowIDIyM3B4fS5pbm5lci1jb250YWluZXJ7aGVpZ2h0OjEwMCU7b3BhY2l0eTouMTtwb2ludGVyLWV2ZW50czpub25lO3dpZHRoOjEwMCU7dHJhbnNpdGlvbjpvcGFjaXR5IC4zMThzIGVhc2UtaW47fS5zMm1sIC5pbm5lci1jb250YWluZXIsLnMycmEgLmlubmVyLWNvbnRhaW5lciwuczJlciAuaW5uZXItY29udGFpbmVyLC5PSmFqdSAuaW5uZXItY29udGFpbmVye29wYWNpdHk6MTt0cmFuc2l0aW9uOm9wYWNpdHkgMHN9PC9zdHlsZT48c3R5bGU+Lmdvb2dsZS1sb2dve2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBTHdBQUFCQUNBUUFBQUFLRU5WQ0FBQUkvRWxFUVZSNEFlM2FlM0JVNVJuSDhlL1pUYkloaElSYlJJSnlDWmNFazRaeUU0UkJBaVJCeFJhaEVaQkxRWVVaQWpJZ29MVVdCNndqS0lLMk10QXFPTFZVS1NxV1FXMFphT1FxMElGQUlaVnJnRlFoWEFPU2hJVEViSFk3NDA3bW5QZmM4dTZ5YTJmMGZONi85cnp2Yzg3WjM5bmJlZC9sLzhPaElLTURRK2hIS3AxSkpCNkZLcTVRUWhINzJNWjFJc0RSaHZrVTRiZHM5V3hsTE5FNHdxZzlxNmpCTDlHKzRrbmMvSEI5cVhtdUc0Z29EODlUalQrSVZraW1FL3p0NnNZaC9FRzNXbWFpT01HSGJnUTM4WWZZM2liS0NWNkdNYWJIV1kwYm8rUHM1ampudVlsQ2N6clNrOEhjZ2Q1VTFyT05vRG5HNDhPdmEyVzhSR2VNWEF4aUhmV2FrVDRtT3g4MW9SaUcxL0M1dlloNDdLU3g1ZlppZDRKdnh4VmQ3TWRJcDNFSzA2a05OWFluZUlXdHV0Z0xhSWFzUVV3a0pFN3dFM1N4YnljV1I4U0Q5M0JPaUwyWVJCd1JETjVGd09QY2hhcWVjWlFUUVE0WEFBcHowRnJGUVNMUHdRRDhtbFpORXQ4TDU4NDFENjIvY0pWSWkyY2dQZWxFQWxCT0NZZllTeFh5bWpLQVhxU1FBRlJ3bG9Qc3BScDVkek9NSGlUVGhFcUsyYzFPdkdISXNnLzMwWVVXS0h6REtmWndFQisyeEJuM2dVU1N3bUErTXBsdXJ1WUR5U01QWUQyM1RPclgwVi9xK0NQWllhaSt5SHc4d0tzY2JtaE1EK0lWZnlldmNNbGt1dnhYeEdPcGhURDRHaTRpSjQwQy9EWnRNMTJ3azhMZmJlcy9vU04yN21HUFpXMFJuVm12ZWJ4SU1uZzN6MUJsdWRkejVNaDl3bThpY3FaSXpQSGZaRHhXOHFob3RMNmNVVmg1elA3NFhPQmcwTUVuc2dXL2JmTXh6eUlPWWRnU0l1VjUvSkp0UG1abVNsYjdtSTZaR1RMVlFRYWZTS0hVdnA3QnhGeGhTRDZOOFVzSDRBbjVhVCtKM21OQjFUK0szaGo4WVEvZXpSYnB2WTNDWUtFd1lGTFlndmZUa1FaOXFUTjhuUzNsSWRKSlp3VExEZE56dGZ3VXJUVERwK2hsbG1ucXJ4bytzTHFpMWRXd3VGUEtZbks1aDB3ZTVjL1VoaFQ4ZkYxRkhXc1pUaXM4ZEdBeUI0Uys2N1JGNXdWaHdDL0RHSHh2QXFJNElteXY1MFZpMFlwanNXNGw0QUF1R2lpNjN5RStsaENIVmxPVzZvNzlUeFJOL2VlNjR5L1NIYjhUTzRNT3ZxM3VZaDZpTzFvdWZpUDByMFZuanRBOUs0ekJEelNkZ0t0akpHYnlxQmZHNWRGZ3VDNjJzWmlab0x0MFF5M3F2WXpDS0laTlFRWXZYdXBkeEdPMFJuaTVkTGVibDF3ZXh1RDdBNER1QytncHJNd1R4dTJod1QrRTdjOWlaWUV3N2xNYWlCUGVjekFYVDNFUXdjZHdUYlAxRXEzUml5YVB2Y0llLzRpZ2o5QzVOWXpCcHdPUUttemJoNElWRjRkTXZpT1NoSGZDRWR4WWllS1k4TTVxQ1VDeThFNG94SVdWbndjUmZLNHdkaHFpdGl5azFKQkhKYzNVVTRVVCtIRFJZQURSMUdFbkIyczlXWXJxc3NuNDEvQmp4Y2RyckVPVnpSb2dTNGhxT2ZWWThmSTZxeldYWVRBYmdSd1VWTXZ3WWVVenpwS0NuTUdvYnZJZURSVHVaeWFqaU1Mb01HMm9ST05md25WNWtORE5GSDVaS0FEOFNiUHRGckhZYVNyOCtua0xnQ1hDNTNzQ2Rsb0p6K1JsQUZZSnY1YmlzUE9HOUN2K1UrRitPNkFaTTRTeDJpeitRS1p4V3JnQXJTbUViaUFJcHd2UUdkVi9xTUZPRlVkUmRUYlVuNlFDTzljNGJhanZKaHkvR2p1RnlPcUVxaGhJWnlVWFdFazZlc2Q0aW1UeUtUSUcvMWUwOGtnaE5ORU1SN1dmZ0VSVXBUVG1QS3JtSWRTWEd1cGJpSHUzZFFGWkNhZ3kyTUdYekNBZWtaY1B5U0tEbFZTWVR3c2Y1UUI5YWVCaUNXTUp4Y08wUlBVNUFXNVVQdXlKSTl4aHIvZGl6NHNzRjZvaEdKWHlGbXU0MkZqNU1yVEdNSUxnS1R5SHFwb0NBaXBSM1lFOWNVUkZXT29yVUNWaHJ6V3lLckZXd0dnNjhoSVhHNzl1R3ppRzFydDBJRmhQY0MrcWo2Z2lvQVJWSm03c1JQTVRWQ1dHK3U1NHNCTkhxbTE5Smk3c1pDRHJ2NWdwNTNla2tjTkd2SEp2R0IremRWZCtNNjBKUmkvZVJFdDlWSVFxZ2Z1eE01UTRWRWNNOVI1eXNmTUFVYUE3OGlGVXpSbUlmYjJzdytqOW02bTA0MmxPRXFTMWh2K1IzWTJzdnBTSkN4SkNuOWhqUjV6dHl3U2dnN0J0R3dwV0ZIWUxZKzhDSUIyLzVKcHBqNUJ2b0U3UXovYThiQ1ZTckl2K3F1UXJZQ0xWUWwwTlhWRXBuQkY2ZjRhVlgrZ3V2RUxBUG1IN0dNay9aWDFCZ0tKYjJzekJuRUpCRU1GSFV5WTg0MVNzakdjcjdiR1ZhYkxDOHo2ZHNKUEMzd3cxc3hFOUxmVGVvQWRtZXVtT1BrTnpZY1ViNzc2WTZhZWJPaDVIZzZtNmwxTWFaaFlHT1VuMnNqRDZNQW1ZeWVJV2ZpcVlob0tOTEpObGFDL3J5Q1VHdlJoeVdVZWRZZng3S0lpYWNrNFhmWjV1ak1JNFhld2x4SXB6TUVMMDR3MzFrM1NUdEVXNE5XZDZVdWdyNHlGRUh0NEllbG80aVJ2QytQMjBSNlF3VFpQbkZ0cGpJNGRLaTV2ZUFsYndMUG5NNE5lc1pEczNUY2Q5Umd4R0l3M2pkakNlTzFGUVNHWWl1dzM5RDZBMUNKK3Uvd3NtMHBaQS9TVERFblk5QTlES010UnZaalN0QUlWT3pPSk1TQXNoK1lhTWx0R1hHRUNoSFZQWXIrcy9pZ3NiUFRtSFA4VDJJUjdNdlc0NnZvWmEwKzJ2b0xmQW9yN0dkUHR6NkMweUhWZk50NFMrOUtld3dYVEo4eHR1bVd5djVUNncxNHBOSVlUdTQwVmNXSEh6dnZTZTNzV0Zuc0lxNmZvVktDYjFxeU93Mk4yRW5aSjcrNWFSU0ZBWVMybFFwM21hTE95NVdTNjFweVc0TUtPd0NKL0U1WDhCQlRNdVhzVyt0cElUUVFZUGNYd3M4Wnl1azQyMGVPWnlRU3FxeTh6RGc0eUgrY3AyVDJjWWpwMXNpbTNyVHpFRU80L1lQS05MOUF2cEQwMEsrWlRiblpYd2MxS1NoOUZzcE5ybURiU1ppY1FpcndtekxNSTdRYjdFbmp4TTU3aHAvVEdtRVVOakVsakFaVU50SFcvVEd2aEErSjZRQ3g0Z2ljVmNOVDJyN1R5SWdvRWlHZis5OUNlVkxpVFNES2ltaks4NVFTSDdxQ0o0Q3IwWVJpOVNhSTZmRzV6bElBVWN3UzlkMzROc2VuOVh6M2YxaFJSUUpGMGZ6VkN5eWFRZGNaUnppbDE4ekNVQVB0SGMzczNtVFlJUnpXQ0drRUVINHZGU3htbjJzNWtTSkRnT0dQL2w0SWk4YU9IZXR6ZU9zSWhpTkFYMHdWcTI4TzNsd1hIYmtsbkllUUovUEhKaFFiaDcyWVhqdHMzRXE0bjB0NWg3QkwrbXpjVngyOUtweHk5RTcwSXZWNWg3cWlFSlJ4aXN3QyswZmVUZ0prQWhnM2QwOThTL0o4SVVmaHppT1VBYW91c2NvWUptcE5JTzBXWFN1WVlqTExweEZiOVU4NUtOSTR3eUtKV0tmUUtPTUV0bW0zM3NYQ0NiQ0hDNG1NeFpJV3B4L2FnbEVlTndNNEozS05iOGp2bWFEVHhCSXQ4amhSOHZEMjJJcFlZcjFQQkQ1SEE0SFA4RHhWY3hkd0VMRUZVQUFBQUFTVVZPUks1Q1lJST0pIG5vLXJlcGVhdCBjZW50ZXI7YmFja2dyb3VuZC1zaXplOjk0cHggMzJweDtoZWlnaHQ6MzJweDt3aWR0aDo5NHB4O3RvcDo4cHg7b3BhY2l0eTowO2Zsb2F0OnJpZ2h0O2xlZnQ6MjU1cHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZTt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2UtaW4sbGVmdCAuNXMgZWFzZS1pbn08L3N0eWxlPjxidXR0b24gY2xhc3M9InB6NWJqIiBpZD0ic3BjaHgiIGFyaWEtbGFiZWw9InNjaGxpZcOfZW4iPjxzcGFuIHN0eWxlPSJoZWlnaHQ6MTZweDtsaW5lLWhlaWdodDoxNnB4O3dpZHRoOjE2cHgiIGNsYXNzPSJ6MWFzQ2Ugd3VYbXFjIj48c3ZnIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyeiI+PC9wYXRoPjwvc3ZnPjwvc3Bhbj48L2J1dHRvbj48ZGl2IGNsYXNzPSJzcGNoYyIgaWQ9InNwY2hjIj48ZGl2IGNsYXNzPSJpbm5lci1jb250YWluZXIiPjxkaXYgY2xhc3M9ImJ1dHRvbi1jb250YWluZXIiPjxzdHlsZT4uTGdic1Nle2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNmOGY5ZmE7Ym9yZGVyLXJhZGl1czoxMDAlO2JvdHRvbTowO2JveC1zaGFkb3c6MCAycHggNXB4IHJnYmEoMCwwLDAsLjEpO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6aW5saW5lLWJsb2NrO29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIDAuMjE4cyxib3JkZXIgMC4yMThzLGJveC1zaGFkb3cgMC4yMThzO3RyYW5zaXRpb24tZGVsYXk6MDtwb3NpdGlvbjphYnNvbHV0ZTtvcGFjaXR5OjA7bGVmdDowO3RvcDowfS5zMmZwIC5MZ2JzU2V7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG87dHJhbnNmb3JtOnNjYWxlKDEpO30uczJyYSAuTGdic1Nle2JhY2tncm91bmQtY29sb3I6I2VhNDMzNTtib3JkZXI6MDtib3gtc2hhZG93Om5vbmV9LnI4czRqe2JhY2tncm91bmQtY29sb3I6I2RhZGNlMDtib3JkZXItcmFkaXVzOjEwMCU7ZGlzcGxheTppbmxpbmUtYmxvY2s7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtOnNjYWxlKC4wMSk7dHJhbnNpdGlvbjpvcGFjaXR5IDAuMjE4cztoZWlnaHQ6MzAxcHg7bGVmdDotNjlweDt0b3A6LTY5cHg7d2lkdGg6MzAxcHg7fS5idXR0b24tY29udGFpbmVye3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246cmVsYXRpdmU7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gMC4yMThzLG9wYWNpdHkgMC4yMThzIGVhc2UtaW47dHJhbnNmb3JtOnNjYWxlKC4xKTtoZWlnaHQ6MTY1cHg7d2lkdGg6MTY1cHg7cmlnaHQ6LTcwcHg7dG9wOi03MHB4O2Zsb2F0OnJpZ2h0O30uczJmcCAuYnV0dG9uLWNvbnRhaW5lcnt0cmFuc2Zvcm06c2NhbGUoMSl9LnMycmEgLkxnYnNTZTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojYzUyMjFmfS5MZ2JzU2U6YWN0aXZle2JhY2tncm91bmQtY29sb3I6I2Y4ZjlmYX08L3N0eWxlPjxzcGFuIGNsYXNzPSJyOHM0aiIgaWQ9InNwY2hsIj48L3NwYW4+PHNwYW4gY2xhc3M9IkxnYnNTZSIgaWQ9InNwY2hiIj48ZGl2IGNsYXNzPSJtaWNyb3Bob25lIj48c3R5bGU+Lm1pY3JvcGhvbmV7aGVpZ2h0Ojg3cHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo0MnB4O3RvcDo0N3B4O3RyYW5zZm9ybTpzY2FsZSgxKTtsZWZ0OjQzcHg7fS5yZWNlaXZlcntiYWNrZ3JvdW5kLWNvbG9yOiM5OTk7Ym9yZGVyLXJhZGl1czozMHB4O2hlaWdodDo0NnB4O2xlZnQ6MjVweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjI0cHh9LndyYXBwZXJ7Ym90dG9tOjA7aGVpZ2h0OjUzcHg7bGVmdDoxMXB4O292ZXJmbG93OmhpZGRlbjtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjUycHh9LnN0ZW17YmFja2dyb3VuZC1jb2xvcjojOTk5O2JvdHRvbToxNHB4O2hlaWdodDoxNHB4O2xlZnQ6MjJweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjlweDt6LWluZGV4OjF9LnNoZWxse2JvcmRlcjo3cHggc29saWQgIzk5OTtib3JkZXItcmFkaXVzOjI4cHg7Ym90dG9tOjI3cHg7aGVpZ2h0OjU3cHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDozOHB4O3otaW5kZXg6MDtsZWZ0OjBweH0uczJtbCAucmVjZWl2ZXIsLnMybWwgLnN0ZW17YmFja2dyb3VuZC1jb2xvcjojZjQ0fS5zMm1sIC5zaGVsbHtib3JkZXItY29sb3I6I2Y0NH0uczJyYSAucmVjZWl2ZXIsLnMycmEgLnN0ZW17YmFja2dyb3VuZC1jb2xvcjojZmZmfS5zMnJhIC5zaGVsbHtib3JkZXItY29sb3I6I2ZmZn08L3N0eWxlPjxzcGFuIGNsYXNzPSJyZWNlaXZlciI+PC9zcGFuPjxkaXYgY2xhc3M9IndyYXBwZXIiPjxzcGFuIGNsYXNzPSJzdGVtIj48L3NwYW4+PHNwYW4gY2xhc3M9InNoZWxsIj48L3NwYW4+PC9kaXY+PC9kaXY+PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InRleHQtY29udGFpbmVyIj48c3R5bGU+LnRleHQtY29udGFpbmVye3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7fS5zcGNodHtmb250LXdlaWdodDpub3JtYWw7bGluZS1oZWlnaHQ6MS4yO29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246bGVmdDstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgZWFzZS1pbixtYXJnaW4tbGVmdCAuNXMgZWFzZS1pbix0b3AgMHMgbGluZWFyIDAuMjE4cztsZWZ0Oi00NHB4O3RvcDotLjJlbTttYXJnaW4tbGVmdDo0NHB4O2ZvbnQtc2l6ZTozMnB4O3dpZHRoOjQ2MHB4O30uczJmcCAuc3BjaHR7bWFyZ2luLWxlZnQ6MDtvcGFjaXR5OjE7dHJhbnNpdGlvbjpvcGFjaXR5IC41cyBlYXNlLW91dCxtYXJnaW4tbGVmdCAuNXMgZWFzZS1vdXR9LnNwY2h0YXtjb2xvcjp2YXIoLS1KS3F4Mik7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6NTAwO3BvaW50ZXItZXZlbnRzOmF1dG87dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0uc3BjaC0ybC5zcGNodCwuc3BjaC0zbC5zcGNodCwuc3BjaC00bC5zcGNodHt0cmFuc2l0aW9uOnRvcCAwLjIxOHMgZWFzZS1vdXR9LnNwY2gtMmwuc3BjaHR7dG9wOi0uNmVtfS5zcGNoLTNsLnNwY2h0e3RvcDotMS4zZW19LnNwY2gtNGwuc3BjaHR7dG9wOi0xLjdlbX0uczJmcCAuc3BjaC01bC5zcGNodHt0b3A6LTIuNWVtO308L3N0eWxlPjxzcGFuIGNsYXNzPSJzcGNodCIgc3R5bGU9ImNvbG9yOiM3MDc1N2EiIGlkPSJzcGNoaSI+PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGNodCIgc3R5bGU9ImNvbG9yOiMwMDAiIGlkPSJzcGNoZiI+PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9Imdvb2dsZS1sb2dvIj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJwZXJtaXNzaW9uLWJhciI+PHN0eWxlPi5wZXJtaXNzaW9uLWJhcnttYXJnaW4tdG9wOi0xMDBweDtvcGFjaXR5OjA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo1MDBweDt0cmFuc2l0aW9uOm9wYWNpdHkgMC4yMThzIGVhc2UtaW4sbWFyZ2luLXRvcCAuNHMgZWFzZS1pbn0uczJ3ZnAgLnBlcm1pc3Npb24tYmFye21hcmdpbi10b3A6LTMwMHB4O29wYWNpdHk6MTt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2Utb3V0IDAuMjE4cyxtYXJnaW4tdG9wIDAuMjE4cyBlYXNlLW91dCAwLjIxOHN9LnBlcm1pc3Npb24tYmFyLWdyYWRpZW50e2JveC1zaGFkb3c6MCAxcHggMHB4ICM0Mjg1ZjQ7aGVpZ2h0OjgwcHg7bGVmdDowO21hcmdpbjowO29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmZpeGVkO3JpZ2h0OjA7dG9wOi04MHB4O3RyYW5zaXRpb246b3BhY2l0eSAwLjIxOHMsYm94LXNoYWRvdyAwLjIxOHN9LnMyd2ZwIC5wZXJtaXNzaW9uLWJhci1ncmFkaWVudHtib3gtc2hhZG93OjAgMXB4IDgwcHggIzQyODVmNDtvcGFjaXR5OjE7cG9pbnRlci1ldmVudHM6bm9uZTthbmltYXRpb246YWxsb3ctYWxlcnQgLjc1cyAwIGluZmluaXRlO2FuaW1hdGlvbi1kaXJlY3Rpb246YWx0ZXJuYXRlO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7dHJhbnNpdGlvbjpvcGFjaXR5IDAuMjE4cyxib3gtc2hhZG93IDAuMjE4c31ALXdlYmtpdC1rZXlmcmFtZXMgYWxsb3ctYWxlcnQge2Zyb217b3BhY2l0eToxfXRve29wYWNpdHk6LjM1fX08L3N0eWxlPjxkaXYgY2xhc3M9InBlcm1pc3Npb24tYmFyLWdyYWRpZW50Ij48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2RpYWxvZz48Zm9ybSBhY3Rpb249Ii9zZWFyY2giIGF1dG9jb21wbGV0ZT0ib2ZmIiBtZXRob2Q9IkdFVCIgcm9sZT0ic2VhcmNoIj4gPGRpdiBqc21vZGVsPSJiNVc4NSB2TnpLSGQiIGpzZGF0YT0iTXVJRXZkO187QmU4d3NrIj4gPGRpdiBqc2NvbnRyb2xsZXI9ImNuakVDZiIganNtb2RlbD0iVllrenUga2preWtkIEVQUnQ5ZCBMTTd3eCBRbHlyeWIgRXRDeDhiIElwM0VyYyBMOTdtdWQgICAgICAgICAgIiBjbGFzcz0iQThTQndmIiBkYXRhLWFsdD0iZmFsc2UiIGRhdGEtYmlib2U9ImZhbHNlIiBkYXRhLWVmYXFsPSJmYWxzZSIgZGF0YS1ocD0idHJ1ZSIganNkYXRhPSJMVnBsY2I7XzsiIGpzYWN0aW9uPSJsWDZSV2Q6dzNXc21jO29jRFN2ZDpkdXdmRztYbUdSeGI6bVZ3Nm5iO0RrcE0wYjpkM3NRTGQ7SVFPYXZkOmRGeVFFZjtYelpaUGU6akkzd3pmO0FnaHNmOkFWc25sYjtpSGQ5VTpRN0NucmM7ZjVoRUhlOkcwamdZZDt2bXhVYjpqM2JKbmI7WEJxVzc6aWhZYVdjO25UemZwZjpZUFJhd2I7UjJjNU86THVSdWdmO3FpQ2tKZDpBTmRpZGM7UTN2V1BkOkZ0V3hxYjtodE5OejpTTklKVGQ7Tk9nOUw6SExnaDM7dUdvSWtkOmVwVW9rYjt6TGRMdzplYUdCUztIOW11VmQ6SjRlNmxiO2RqeVBDZjpuTWVVSmY7aEJFSVZiOm5VWjlsZTtyY3VRNmI6bnBUMm1kIj48c3R5bGU+LkE4U0J3ZiwuSW9ybUt7d2lkdGg6NjQwcHg7fS5BOFNCd2Z7bWFyZ2luOjAgYXV0bzt3aWR0aDphdXRvO21heC13aWR0aDo1ODRweDtwYWRkaW5nLXRvcDo2cHg7cG9zaXRpb246cmVsYXRpdmV9LlJOTlhnYntkaXNwbGF5OmZsZXg7ei1pbmRleDozO3Bvc2l0aW9uOnJlbGF0aXZlO21pbi1oZWlnaHQ6NDRweDtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZGZlMWU1O2JveC1zaGFkb3c6bm9uZTtib3JkZXItcmFkaXVzOjI0cHg7bWFyZ2luOjAgYXV0bzt3aWR0aDo2MzhweDt3aWR0aDphdXRvO21heC13aWR0aDo1ODRweH0uZW1jYXYgLlJOTlhnYiwuQmdQUHJjIC5STk5YZ2J7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjA7Ym94LXNoYWRvdzowIDFweCA2cHggcmdiYSgzMiwzMywzNiwuMjgpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDt9LmVtY2F2LmVtY2F0IC5STk5YZ2J7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czoyNHB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjI0cHh9LlJOTlhnYjpob3Zlciwuc2JmYyAuUk5OWGdie2JhY2tncm91bmQ6I2ZmZjtib3gtc2hhZG93OjAgMXB4IDZweCByZ2JhKDMyLDMzLDM2LC4yOCk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5TRGtFUHtmbGV4OjE7ZGlzcGxheTpmbGV4O3BhZGRpbmc6MCA4cHggMCAwO30uRlBkb0xje3BhZGRpbmctdG9wOjE4cHh9LmVtY2F2LkE4U0J3Zi5wRDRxVGR7ei1pbmRleDo5ODl9LmlibHBje2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZy1yaWdodDoxM3B4O3BhZGRpbmctbGVmdDoxNHB4O2hlaWdodDo0NnB4fS5NOEg4cGJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7cGFkZGluZzppbmhlcml0O3dpZHRoOmluaGVyaXR9PC9zdHlsZT48ZGl2IGpzbmFtZT0iUk5OWGdiIiBjbGFzcz0iUk5OWGdiIj48ZGl2IGNsYXNzPSJTRGtFUCI+PGRpdiBqc25hbWU9InVGTU9vZiIgY2xhc3M9ImlibHBjIj48c3R5bGU+LkNjQWROYnttYXJnaW46YXV0b30uUUN6b0Vje21hcmdpbi10b3A6M3B4O2NvbG9yOiM5YWEwYTZ9PC9zdHlsZT48ZGl2IGNsYXNzPSJDY0FkTmIiPjxzcGFuIGNsYXNzPSJRQ3pvRWMgejFhc0NlIE1aeTFSYiIgc3R5bGU9ImhlaWdodDoyMHB4O2xpbmUtaGVpZ2h0OjIwcHg7d2lkdGg6MjBweCI+PHN2ZyBmb2N1c2FibGU9ImZhbHNlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTE1LjUgMTRoLS43OWwtLjI4LS4yN0E2LjQ3MSA2LjQ3MSAwIDAgMCAxNiA5LjUgNi41IDYuNSAwIDEgMCA5LjUgMTZjMS42MSAwIDMuMDktLjU5IDQuMjMtMS41N2wuMjcuMjh2Ljc5bDUgNC45OUwyMC40OSAxOWwtNC45OS01em0tNiAwQzcuMDEgMTQgNSAxMS45OSA1IDkuNVM3LjAxIDUgOS41IDUgMTQgNy4wMSAxNCA5LjUgMTEuOTkgMTQgOS41IDE0eiI+PC9wYXRoPjwvc3ZnPjwvc3Bhbj48L2Rpdj48L2Rpdj48ZGl2IGpzY29udHJvbGxlcj0idlpyMnJiIiBqc25hbWU9ImdMRnlmIiBjbGFzcz0iYTRiSWMiIGRhdGEtaHBtZGU9ImZhbHNlIiBkYXRhLW1ucj0iMTAiIGpzYWN0aW9uPSJoNU0xMmU7aW5wdXQ6ZDNzUUxkO2JsdXI6akkzd3pmIj48c3R5bGU+LmdMRnlmLC5xbDF0TWIsLllhY1F2e2xpbmUtaGVpZ2h0OjM0cHg7Zm9udC1zaXplOjE2cHg7ZmxleDoxMDAlO310ZXh0YXJlYS5nTEZ5ZiwucWwxdE1iLC5ZYWNRdntmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmO2xpbmUtaGVpZ2h0OjIycHg7Ym9yZGVyLWJvdHRvbTo4cHggc29saWQgdHJhbnNwYXJlbnQ7cGFkZGluZy10b3A6MTFweDtvdmVyZmxvdy14OmhpZGRlbn10ZXh0YXJlYS5nTEZ5Znt9LnNiZmMgdGV4dGFyZWEuZ0xGeWZ7d2hpdGUtc3BhY2U6cHJlLWxpbmU7b3ZlcmZsb3cteTphdXRvfS5nTEZ5ZntyZXNpemU6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO21hcmdpbjowO3BhZGRpbmc6MDtjb2xvcjpyZ2JhKDAsMCwwLC44Nyk7d29yZC13cmFwOmJyZWFrLXdvcmQ7b3V0bGluZTpub25lO2Rpc3BsYXk6ZmxleDstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9LmE0Yklje2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtmbGV4OjE7fS5ZYWNRdntjb2xvcjp0cmFuc3BhcmVudDt3aGl0ZS1zcGFjZTpwcmU7cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6bm9uZX0uWWFjUXYgc3Bhbnt0ZXh0LWRlY29yYXRpb246I2IzMjYxZSBkb3R0ZWQgdW5kZXJsaW5lfTwvc3R5bGU+PGRpdiBqc25hbWU9InZkTHN3IiBjbGFzcz0iWWFjUXYiPjwvZGl2Pjx0ZXh0YXJlYSBjbGFzcz0iZ0xGeWYiIGFyaWEtY29udHJvbHM9IkFsaDZpZCIgYXJpYS1vd25zPSJBbGg2aWQiIGF1dG9mb2N1cz0iIiB0aXRsZT0iU3VjaGUiIHZhbHVlPSIiIGpzYWN0aW9uPSJwYXN0ZTpwdXkyOWQ7IiBhcmlhLWxhYmVsPSJTdWNoZSIgYXJpYS1hdXRvY29tcGxldGU9ImJvdGgiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiBhcmlhLWhhc3BvcHVwPSJmYWxzZSIgYXV0b2NhcGl0YWxpemU9Im9mZiIgYXV0b2NvbXBsZXRlPSJvZmYiIGF1dG9jb3JyZWN0PSJvZmYiIGlkPSJBUGpGcWIiIG1heGxlbmd0aD0iMjA0OCIgbmFtZT0icSIgcm9sZT0iY29tYm9ib3giIHJvd3M9IjEiIHNwZWxsY2hlY2s9ImZhbHNlIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRMzlVRENBVSI+PC90ZXh0YXJlYT48L2Rpdj48ZGl2IGNsYXNzPSJmTTMzY2UgZFJZWXhkIj48c3R5bGU+LmRSWVl4ZHtkaXNwbGF5OmZsZXg7ZmxleDowIDAgYXV0bzthbGlnbi1pdGVtczpzdHJldGNoO2ZsZXgtZGlyZWN0aW9uOnJvdztoZWlnaHQ6NDRweH08L3N0eWxlPiA8c3R5bGU+LkJLUlBlZntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4OjEgMCBhdXRvO2ZsZXgtZGlyZWN0aW9uOnJvdztkaXNwbGF5OmZsZXg7Y3Vyc29yOnBvaW50ZXJ9LnZPWTdKe2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyOjA7YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXg6MSAwIGF1dG87Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpub25lO2hlaWdodDoxMDAlO2xpbmUtaGVpZ2h0OjQ0cHg7b3V0bGluZTpub25lO3BhZGRpbmc6MCAxMnB4fS5NMnZWM3tkaXNwbGF5OmZsZXh9LkV4Q0trZntoZWlnaHQ6MTAwJTtjb2xvcjp2YXIoLS1JWG94VWUpO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtvdXRsaW5lOm5vbmV9PC9zdHlsZT4gPHN0eWxlPi5CS1JQZWZ7cGFkZGluZy1yaWdodDo0cHh9LkFDUkFkZHtib3JkZXItbGVmdDoxcHggc29saWQgI2RhZGNlMDtoZWlnaHQ6NjUlfS5BQ1JBZGR7ZGlzcGxheTpub25lfS5BQ1JBZGQuTTJ2VjN7ZGlzcGxheTpibG9ja308L3N0eWxlPiA8ZGl2IGpzY29udHJvbGxlcj0iUHltQ0NlIiBqc25hbWU9IlJQMHhvYiIgY2xhc3M9IkJLUlBlZiI+IDxkaXYgY2xhc3M9InZPWTdKIiB0YWJpbmRleD0iMCIganNuYW1lPSJwa2phc2IiIGFyaWEtbGFiZWw9IkzDtnNjaGVuIiByb2xlPSJidXR0b24iIGpzYWN0aW9uPSJBVnNubGI7cmN1UTZiOm5wVDJtZCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UTA1WUZDQVkiPiAgPHNwYW4ganNuYW1lPSJpdFZxS2UiIGNsYXNzPSJFeENLa2YgejFhc0NlIHJ6eUFEYiI+PHN2ZyBmb2N1c2FibGU9ImZhbHNlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTE5IDYuNDFMMTcuNTkgNSAxMiAxMC41OSA2LjQxIDUgNSA2LjQxIDEwLjU5IDEyIDUgMTcuNTkgNi40MSAxOSAxMiAxMy40MSAxNy41OSAxOSAxOSAxNy41OSAxMy40MSAxMnoiPjwvcGF0aD48L3N2Zz48L3NwYW4+ICAgPC9kaXY+IDxzcGFuIGpzbmFtZT0iczFWYVJlIiBjbGFzcz0iQUNSQWRkIj48L3NwYW4+IDwvZGl2PiA8c3R5bGU+LlhEeVcwZXtmbGV4OjEgMCBhdXRvO2Rpc3BsYXk6ZmxleDtjdXJzb3I6cG9pbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyOjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtvdXRsaW5lOm5vbmU7cGFkZGluZzowIDhweDt3aWR0aDoyNHB4O2xpbmUtaGVpZ2h0OjQ0cHh9LmdveGp1YntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZX08L3N0eWxlPjxkaXYganNjb250cm9sbGVyPSJ1blY0VCIganNuYW1lPSJGN3VxSWUiIGNsYXNzPSJYRHlXMGUiIGFyaWEtbGFiZWw9IlNwcmFjaHN1Y2hlIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIiBqc2FjdGlvbj0iaDVNMTJlO3JjdVE2YjpucFQybWQiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFF2czhEQ0FjIj48c3ZnIGNsYXNzPSJnb3hqdWIiIGZvY3VzYWJsZT0iZmFsc2UiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSIjNDI4NWY0IiBkPSJtMTIgMTVjMS42NiAwIDMtMS4zMSAzLTIuOTd2LTcuMDJjMC0xLjY2LTEuMzQtMy4wMS0zLTMuMDFzLTMgMS4zNC0zIDMuMDF2Ny4wMmMwIDEuNjYgMS4zNCAyLjk3IDMgMi45N3oiPjwvcGF0aD48cGF0aCBmaWxsPSIjMzRhODUzIiBkPSJtMTEgMTguMDhoMnYzLjkyaC0yeiI+PC9wYXRoPjxwYXRoIGZpbGw9IiNmYmJjMDQiIGQ9Im03LjA1IDE2Ljg3Yy0xLjI3LTEuMzMtMi4wNS0yLjgzLTIuMDUtNC44N2gyYzAgMS40NSAwLjU2IDIuNDIgMS40NyAzLjM4djAuMzJsLTEuMTUgMS4xOHoiPjwvcGF0aD48cGF0aCBmaWxsPSIjZWE0MzM1IiBkPSJtMTIgMTYuOTNhNC45NyA1LjI1IDAgMCAxIC0zLjU0IC0xLjU1bC0xLjQxIDEuNDljMS4yNiAxLjM0IDMuMDIgMi4xMyA0Ljk1IDIuMTMgMy44NyAwIDYuOTktMi45MiA2Ljk5LTdoLTEuOTljMCAyLjkyLTIuMjQgNC45My01IDQuOTN6Ij48L3BhdGg+PC9zdmc+PC9kaXY+PHN0eWxlPi5uRGNFbmR7ZmxleDoxIDAgYXV0bztkaXNwbGF5OmZsZXg7Y3Vyc29yOnBvaW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlcjowO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7b3V0bGluZTpub25lO3BhZGRpbmc6MCA4cHg7d2lkdGg6MjRweDtsaW5lLWhlaWdodDo0NHB4fS5HZGQ1VXtoZWlnaHQ6MjRweDt3aWR0aDoyNHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZX08L3N0eWxlPjxkaXYganNjb250cm9sbGVyPSJscHNVQWYiIGpzbmFtZT0iUjVtZ3kiIGNsYXNzPSJuRGNFbmQiIGRhdGEtYmFzZS1sZW5zLXVybD0iaHR0cHM6Ly9sZW5zLmdvb2dsZS5jb20iIGRhdGEtaW1hZ2UtcHJvY2Vzc29yLWVuYWJsZWQ9InRydWUiIGRhdGEtaXMtaW1hZ2VzLW1vZGU9ImZhbHNlIiBkYXRhLXByZWZlcnJlZC1taW1lLXR5cGU9ImltYWdlL2pwZWciIGRhdGEtcHJvcGFnYXRlZC1leHBlcmltZW50LWlkcz0iIiBhcmlhLWxhYmVsPSJTdWNoZSBhbmhhbmQgdm9uIEJpbGRlcm4iIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiIGpzYWN0aW9uPSJyY3VRNmI6bnBUMm1kO2g1TTEyZSIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWhxRUlDQWciPjxzdmcgY2xhc3M9IkdkZDVVIiBmb2N1c2FibGU9ImZhbHNlIiB2aWV3Qm94PSIwIDAgMTkyIDE5MiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cmVjdCBmaWxsPSJub25lIiBoZWlnaHQ9IjE5MiIgd2lkdGg9IjE5MiI+PC9yZWN0PjxnPjxjaXJjbGUgZmlsbD0iIzM0YTg1MyIgY3g9IjE0NC4wNyIgY3k9IjE0NCIgcj0iMTYiPjwvY2lyY2xlPjxjaXJjbGUgZmlsbD0iIzQyODVmNCIgY3g9Ijk2LjA3IiBjeT0iMTA0IiByPSIyNCI+PC9jaXJjbGU+PHBhdGggZmlsbD0iI2VhNDMzNSIgZD0iTTI0LDEzNS4yYzAsMTguMTEsMTQuNjksMzIuOCwzMi44LDMyLjhIOTZ2LTE2bC00MC4xLTAuMWMtOC44LDAtMTUuOS04LjE5LTE1LjktMTcuOXYtMThIMjRWMTM1LjJ6Ij48L3BhdGg+PHBhdGggZmlsbD0iI2ZiYmMwNCIgZD0iTTE2OCw3Mi44YzAtMTguMTEtMTQuNjktMzIuOC0zMi44LTMyLjhIMTE2bDIwLDE2YzguOCwwLDE2LDguMjksMTYsMTh2MzBoMTZWNzIuOHoiPjwvcGF0aD48cGF0aCBmaWxsPSIjNDI4NWY0IiBkPSJNMTEyLDI0bC0zMiwwTDY4LDQwSDU2LjhDMzguNjksNDAsMjQsNTQuNjksMjQsNzIuOFY5MmgxNlY3NGMwLTkuNzEsNy4yLTE4LDE2LTE4aDgwTDExMiwyNHoiPjwvcGF0aD48L2c+PC9zdmc+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBqc2NvbnRyb2xsZXI9IkR2bjdmZSIganNuYW1lPSJVVWJUOSIgY2xhc3M9IlVVYlQ5IEV5QlJ1YiIgc3R5bGU9ImRpc3BsYXk6bm9uZSIganNhY3Rpb249Im1vdXNlb3V0Okl0ekRDZDttb3VzZWxlYXZlOk1XZmlrYjtoQkVJVmI6blVaOWxlO1lNRkMzOlZLc3NUYjt2a2x1NWM6azAyUVk7bGR5SXllOkNtVk9nYyIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UTR0VURDQWsiPjxzdHlsZT4uVVViVDl7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpsZWZ0O3otaW5kZXg6MztjdXJzb3I6ZGVmYXVsdDstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7d2lkdGg6MTAwJTttYXJnaW4tdG9wOi0xcHg7fS5hYWpaQ2J7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXJnaW46MDtwYWRkaW5nOjA7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6I2ZmZjtib3JkZXItcmFkaXVzOjAgMCAyNHB4IDI0cHg7Ym94LXNoYWRvdzowIDRweCA2cHggcmdiYSgzMiwzMywzNiwuMjgpO2JvcmRlcjowO3BhZGRpbmctYm90dG9tOjRweH0ubWluaWRpdiAuYWFqWkNie2JvcmRlci1yYWRpdXM6MCAwIDE2cHggMTZweH0ubWtIclVje2Rpc3BsYXk6ZmxleH0ucEQ0cVRkIC5yTHJRSGZ7cGFkZGluZy1ib3R0b206MTZweH0ucEQ0cVRkIC5yTHJRSGZ7bWluLXdpZHRoOjQ3JTt3aWR0aDo0NyU7bWFyZ2luOjhweCAxNnB4IDB9LnBENHFUZCAuckxyUUhmOmVtcHR5e2Rpc3BsYXk6bm9uZX0uZXJrdlFle3BhZGRpbmctYm90dG9tOjhweDtmbGV4OmF1dG87b3ZlcmZsb3cteDpoaWRkZW59LlJqUHVWYntoZWlnaHQ6MXB4O21hcmdpbjowIDI2cHggMCAwfS5TM25GbmR7ZGlzcGxheTpmbGV4fS5TM25GbmQgLlJqUHVWYiwuUzNuRm5kIC5hYWpaQ2J7ZmxleDowIDAgYXV0b30ubGg4N2tlOmxpbmssLmxoODdrZTp2aXNpdGVke2NvbG9yOnZhcigtLUpLcXgyKTtjdXJzb3I6cG9pbnRlcjtmb250OjExcHggYXJpYWwsc2Fucy1zZXJpZjtwYWRkaW5nOjAgNXB4O3RleHQtZGVjb3JhdGlvbjpub25lO2ZsZXg6YXV0bzthbGlnbi1zZWxmOmZsZXgtZW5kO21hcmdpbjowIDE2cHggNXB4IDB9LmxoODdrZTpob3Zlcnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS54dFNDTHtib3JkZXItdG9wOjFweCBzb2xpZCAjZThlYWVkO21hcmdpbjowIDIwcHggMCAxNHB4O3BhZGRpbmctYm90dG9tOjRweH0uc2IyN3tiYWNrZ3JvdW5kOnVybCgvaW1hZ2VzL3NlYXJjaGJveC9kZXNrdG9wX3NlYXJjaGJveF9zcHJpdGVzMzE4X2hyLndlYnApIG5vLXJlcGVhdCAwIC0yMXB4O2JhY2tncm91bmQtc2l6ZToyMHB4O21pbi1oZWlnaHQ6MjBweDttaW4td2lkdGg6MjBweDtoZWlnaHQ6MjBweDt3aWR0aDoyMHB4fS5zYjQze2JhY2tncm91bmQ6dXJsKC9pbWFnZXMvc2VhcmNoYm94L2Rlc2t0b3Bfc2VhcmNoYm94X3Nwcml0ZXMzMThfaHIud2VicCkgbm8tcmVwZWF0IDAgMDtiYWNrZ3JvdW5kLXNpemU6MjBweDttaW4taGVpZ2h0OjIwcHg7bWluLXdpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7d2lkdGg6MjBweH0uc2I1My5zYjUze3BhZGRpbmc6MCA0cHg7bWFyZ2luOjB9LnNiMzN7YmFja2dyb3VuZDp1cmwoL2ltYWdlcy9zZWFyY2hib3gvZGVza3RvcF9zZWFyY2hib3hfc3ByaXRlczMxOF9oci53ZWJwKSBuby1yZXBlYXQgMCAtNDJweDtiYWNrZ3JvdW5kLXNpemU6MjBweDtoZWlnaHQ6MjBweDt3aWR0aDoyMHB4O308L3N0eWxlPjxkaXYganNjb250cm9sbGVyPSJXbzNuOCIganNuYW1lPSJhYWR2aGUiIGpzbW9kZWw9ImQ1RWhKZSIgZGF0YS1ia3Q9InNlYXJjaGJveCIgZGF0YS1lYXM9IiIgZGF0YS1maHM9IiIgZGF0YS1tYWluZGF0YT0iW251bGwsbnVsbCxudWxsLCZxdW90O2F1dG9jb21wbGV0ZV91c2VyX2ZlZWRiYWNrX2twX2lkJnF1b3Q7LG51bGwsMTEsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLDUwMTA3MTUsJnF1b3Q7c2VhcmNoYm94JnF1b3Q7LG51bGwsJnF1b3Q7QXV0b2NvbXBsZXRlUHJlZGljdGlvbiZxdW90OyxudWxsLG51bGwsbnVsbCxudWxsLDExXSIgZGF0YS1waWQ9IjUwMTA3MTUiIGpzZGF0YT0idlNUN3JiO187QmU4d3NvIHpFSXlHZDtfOyIganNhY3Rpb249ImtQekVPOk1sUDJqZTtxakx4UmM6RmJoUkc7dzhmMWZjOmhSd1NnYjtrcTJ3eGY6czVDVWlmO2FJSkFkZjpVaERVbmQ7QnFiVGJlOm5hYTV2ZTtrWUFLcmY6Q3FVR3JmO2h3aFJSZTpLeXhqQ2Q7cmN1UTZiOm5wVDJtZCI+PHN0eWxlPi56OGdyOWV7Y29sb3I6dmFyKC0tYmJReEFiKX0uWllIUTdle2NvbG9yOnZhcigtLUlYb3hVZSl9PC9zdHlsZT48c3R5bGU+LmkxZVdwYiAuR1RFUnple2Rpc3BsYXk6bm9uZX0ua3k0aGZke2Rpc3BsYXk6bm9uZX0uaTFlV3BiIC5reTRoZmR7ZGlzcGxheTpibG9ja308L3N0eWxlPjxkaXYganNuYW1lPSJHa2plSWYiIGlkPSJfaDRDclp2eUxDNU9maS1nUF9vcUotUXdfMiIgZGF0YS1qaWlzPSJ1cCIgZGF0YS1hc3luYy10eXBlPSJrcF9mZWVkYmFjayIgY2xhc3M9InlwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRNjhjRUNBbyI+PC9kaXY+PC9kaXY+PGRpdiBqc2NvbnRyb2xsZXI9IlAxME93ZiIgY2xhc3M9IllCNGg5IGt5NGhmZCIganNkYXRhPSJ2U1Q3cmI7XztCZTh3c28iIGFyaWEtbGFiZWxsZWRieT0iRWlRWFZkIiByb2xlPSJkaWFsb2ciIGpzYWN0aW9uPSJrUHpFTzpNbFAyamU7cWpMeFJjOk1sUDJqZTt3OGYxZmM6aFJ3U2diO2txMnd4ZjpzNUNVaWYiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFsb2tHQ0FzIj48ZGl2IGlkPSJfaDRDclp2eUxDNU9maS1nUF9vcUotUXdfNCI+PHN0eWxlPi5ZQjRoOXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLVRNWVM5KTtjb2xvcjp2YXIoLS1FcEZOVyk7cGFkZGluZzoxOHB4IDYwcHggMThweCAxMnB4O3Bvc2l0aW9uOnJlbGF0aXZlfS5DODVyT3tmb250LXNpemU6MjBweH0uR3RyMG5le3BhZGRpbmctdG9wOjEwcHh9LnpZU0xZYnt9LllCNGg5IC5HdHIwbmUgLnpZU0xZYntjb2xvcjp2YXIoLS1FcEZOVyk7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0uWUI0aDkgLkpvYjh2YntwYWRkaW5nOjIwcHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0uWUI0aDkuclBQSmJkIC5Kb2I4dmJ7cGFkZGluZy10b3A6MjRweDtwYWRkaW5nLXJpZ2h0OjhweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDowfS5ZQjRoOS5xN1hOYmJ7bWFyZ2luLWJvdHRvbTo0NHB4fS5ZQjRoOS5KRjdma3tib3JkZXItcmFkaXVzOjE2cHg7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1nUzVqWGIpfS5ZQjRoOS5JUElOWGR7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czoxNnB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjE2cHg7Ym9yZGVyLWNvbG9yOnZhcigtLWdTNWpYYik7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci10b3A6bm9uZX0uWUI0aDkuclBQSmJke2JhY2tncm91bmQtY29sb3I6dmFyKC0teGhVR3djKTtjb2xvcjp2YXIoLS1iYlF4QWIpfS5ZQjRoOS5yUFBKYmQgLnpZU0xZYntjb2xvcjp2YXIoLS1iYlF4QWIpO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LlI0R21GYnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdzttYXJnaW4tYm90dG9tOjhweH0uUjRHbUZiIHN2Z3tkaXNwbGF5OmJsb2NrfS5KcldjUnttYXJnaW4tbGVmdDoxMHB4fTwvc3R5bGU+PHNwYW4gY2xhc3M9IkpvYjh2YiB6MWFzQ2Ugd3VYbXFjIiBhcmlhLWxhYmVsPSJzY2hsaWXDn2VuIFfDpGhsZSBhdXMsIHdvenUgZHUgRmVlZGJhY2sgZ2ViZW4gbcO2Y2h0ZXN0IiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIiBqc2FjdGlvbj0ia0VPazRkIiBzdHlsZT0iaGVpZ2h0OjIwcHg7bGluZS1oZWlnaHQ6MjBweDt3aWR0aDoyMHB4IiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRbUlrR0NBdyI+PHN2ZyBmb2N1c2FibGU9ImZhbHNlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTE5IDYuNDFMMTcuNTkgNSAxMiAxMC41OSA2LjQxIDUgNSA2LjQxIDEwLjU5IDEyIDUgMTcuNTkgNi40MSAxOSAxMiAxMy40MSAxNy41OSAxOSAxOSAxNy41OSAxMy40MSAxMnoiPjwvcGF0aD48L3N2Zz48L3NwYW4+PGRpdiBjbGFzcz0iQzg1ck8iIGFyaWEtbGV2ZWw9IjEiIGlkPSJFaVFYVmQiIHJvbGU9ImhlYWRpbmciPlfDpGhsZSBhdXMsIHdvenUgZHUgRmVlZGJhY2sgZ2ViZW4gbcO2Y2h0ZXN0PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBqc25hbWU9IlJqUHVWYiIgY2xhc3M9IlJqUHVWYiI+PC9kaXY+PGRpdiBqc25hbWU9ImFhalpDYiIgY2xhc3M9ImFhalpDYiI+PGRpdiBjbGFzcz0ieHRTQ0wiPjwvZGl2PjxkaXYgY2xhc3M9Im1rSHJVYyIgaWQ9IkFsaDZpZCIgcm9sZT0icHJlc2VudGF0aW9uIj48ZGl2IGpzbmFtZT0iZXJrdlFlIiBjbGFzcz0iZXJrdlFlIj48L2Rpdj48ZGl2IGpzbmFtZT0idG92RWliIiBjbGFzcz0ickxyUUhmIiByb2xlPSJwcmVzZW50YXRpb24iPjwvZGl2PjwvZGl2PjxzdHlsZT4jc2hKMlZie2Rpc3BsYXk6bm9uZX0uT0JNRW5ie3BhZGRpbmc6MDttYXJnaW46MH0uRzQzZjdle2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjA7cGFkZGluZzowO21hcmdpbjowO2xpc3Qtc3R5bGU6bm9uZX0uWWU0amZje2ZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LXdyYXA6d3JhcH08L3N0eWxlPjxkaXYganNuYW1lPSJFODBlOWUiIGNsYXNzPSJPQk1FbmIiIGlkPSJzaEoyVmIiIHJvbGU9InByZXNlbnRhdGlvbiI+PHVsIGpzbmFtZT0iYnc0ZTliIiBjbGFzcz0iRzQzZjdlIiByb2xlPSJsaXN0Ym94Ij48L3VsPjwvZGl2PjxzdHlsZT4jeW5Scmlje2Rpc3BsYXk6bm9uZX0ueW5Scmlje2xpc3Qtc3R5bGUtdHlwZTpub25lO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtjb2xvcjp2YXIoLS1JWG94VWUpO2ZvbnQtZmFtaWx5Okdvb2dsZSBTYW5zLEFyaWFsLHNhbnMtc2VyaWYtbWVkaXVtLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7bWFyZ2luOjAgMjBweCAwIDE2cHg7cGFkZGluZzo4cHggMCA4cHggMDtsaW5lLWhlaWdodDoxNnB4O3dpZHRoOjEwMCV9PC9zdHlsZT48ZGl2IGNsYXNzPSJ5blJyaWMiIGlkPSJ5blJyaWMiIHJvbGU9InByZXNlbnRhdGlvbiI+PC9kaXY+PHN0eWxlPi5zYmN0e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MH0uZUlQR1Jke2ZsZXg6YXV0bztkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjowIDIwcHggMCAxNHB4fS5wY1RrU2N7ZGlzcGxheTpmbGV4O2ZsZXg6YXV0bztmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjA7cGFkZGluZzo2cHggMH0uc2JpY3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjowIDEzcHggMCAxcHg7fS5zYmljLnZZT2tiZXtiYWNrZ3JvdW5kOmNlbnRlci9jb250YWluIG5vLXJlcGVhdDtib3JkZXItcmFkaXVzOjRweDttaW4taGVpZ2h0OjMycHg7bWluLXdpZHRoOjMycHg7bWFyZ2luOjRweCA3cHggNHB4IC01cHh9LnNicmUgLndNNlc3ZHtsaW5lLWhlaWdodDoxOHB4fS5DbEo5WWJ7bGluZS1oZWlnaHQ6MTJweDtmb250LXNpemU6MTNweDtjb2xvcjojNzA3NTdhO21hcmdpbi10b3A6MnB4O3BhZGRpbmctcmlnaHQ6OHB4fS53TTZXN2R7ZGlzcGxheTpmbGV4O2ZvbnQtc2l6ZToxNnB4O2NvbG9yOiMyMTIxMjE7ZmxleDphdXRvO2FsaWduLWl0ZW1zOmNlbnRlcjt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7cGFkZGluZy1yaWdodDo4cHh9LldnZ1FHZHtjb2xvcjojNTIxODhjfS53TTZXN2Qgc3BhbntmbGV4OmF1dG99LkFRWjlWZHtkaXNwbGF5OmZsZXg7YWxpZ24tc2VsZjpzdHJldGNofS5zYmhse2JvcmRlci1yYWRpdXM6NHB4O2JhY2tncm91bmQ6I2Y3ZjhmOX0uVVViVDkuaTFlV3BiIC5QWlBabGYuc2JobHtiYWNrZ3JvdW5kOm5vbmV9LlVVYlQ5LmkxZVdwYiAuUFpQWmxmLnNiaGwgLmdtbFNWYntiYWNrZ3JvdW5kOnJnYmEoMjM0LDY3LDUzLC4xMil9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7LnNiaGx7YmFja2dyb3VuZC1jb2xvcjpoaWdobGlnaHR9fS5tdXNfcGN7ZGlzcGxheTpibG9jazttYXJnaW46NnB4IDB9Lm11c19pbHtmb250LWZhbWlseTpBcmlhbCxIZWx2ZXRpY2EgTmV1ZSBMaWdodCxIZWx2ZXRpY2EgTmV1ZSxIZWx2ZXRpY2E7cGFkZGluZy10b3A6N3B4O3Bvc2l0aW9uOnJlbGF0aXZlfS5tdXNfaWw6Zmlyc3QtY2hpbGR7cGFkZGluZy10b3A6MH0ubXVzX2lsX2F0e21hcmdpbi1sZWZ0OjEwcHh9Lm11c19pbF9zdHtyaWdodDo1MnB4O3Bvc2l0aW9uOmFic29sdXRlfS5tdXNfaWxfaXthbGlnbjpsZWZ0O21hcmdpbi1yaWdodDoxMHB4fS5tdXNfaXQze21hcmdpbi1ib3R0b206M3B4O21heC1oZWlnaHQ6MjRweDt2ZXJ0aWNhbC1hbGlnbjpib3R0b219Lm11c190dDN7Y29sb3I6Izc2NzY3Njtmb250LXNpemU6MTJweDt2ZXJ0aWNhbC1hbGlnbjp0b3B9Lm11c190dDV7Y29sb3I6I2Q5MzAyNTtmb250LXNpemU6MTRweH0ubXVzX3R0Nntjb2xvcjojMTg4MDM4O2ZvbnQtc2l6ZToxNHB4fS5tdXNfdHQ4e2ZvbnQtc2l6ZToxNnB4O2ZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWZ9Lm11c190dDE3e2NvbG9yOiMyMTIxMjE7Zm9udC1zaXplOjIwcHh9Lm11c190dDE4e2NvbG9yOiMyMTIxMjE7Zm9udC1zaXplOjI4cHh9Lm11c190dDE5e2NvbG9yOiM3Njc2NzY7Zm9udC1zaXplOjEycHh9Lm11c190dDIwe2NvbG9yOiM3Njc2NzY7Zm9udC1zaXplOjE0cHh9Lm11c190dDIze2NvbG9yOiM3Njc2NzY7Zm9udC1zaXplOjE4cHh9LlRmZVdmYntkaXNwbGF5Om5vbmV9LnhBbXJ5ZntkaXNwbGF5Om5vbmV9LkRKYlZGYiAuVGZlV2Zie2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtvdmVyZmxvdy14OmhpZGRlbjt3aWR0aDoxMDAlO2hlaWdodDo1MnB4fS5ESmJWRmIgLkFRWjlWZHtkaXNwbGF5Om5vbmV9LkRKYlZGYiAueEFtcnlme2JvcmRlci1yYWRpdXM6MTAwcHg7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS14aFVHd2MpfS5ESmJWRmIgLlRmZVdmYntkaXNwbGF5OmluaGVyaXR9LkRKYlZGYiAueEFtcnlmIC5lTDdvQWN7ZGlzcGxheTpub25lfS5ESmJWRmJ7YmFja2dyb3VuZDojZjhmOWZhO2JvcmRlci1yYWRpdXM6MjBweH0uREpiVkZiOmhvdmVye2JhY2tncm91bmQ6I2U4ZWFlZH0uREpiVkZiIC52WU9rYmV7aGVpZ2h0Oi0xcHg7d2lkdGg6LTFweDtmbGV4LXNocmluazowO21hcmdpbjoyMHB4IDAgMjBweCA4cHg7ZmxvYXQ6cmlnaHQ7Ym9yZGVyLXJhZGl1czoxNnB4O2JhY2tncm91bmQtY29sb3I6I2ZmZn0uREpiVkZiLnNiaGx7YmFja2dyb3VuZDojZThlYWVkfS5ESmJWRmIgLkNsSjlZYntkaXNwbGF5Om5vbmV9LkRKYlZGYiAud002Vzdke2ZsZXg6aW5pdGlhbH0uREpiVkZiIC53TTZXN2Qgc3Bhbnt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoyO292ZXJmbG93OmhpZGRlbn0uREpiVkZiIC5lSVBHUmR7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO2FsaWduLWl0ZW1zOnN0cmV0Y2g7bWFyZ2luOjAgMjBweCAwIDE0cHh9LkRKYlZGYiAuYTVSTGFje2xpbmUtaGVpZ2h0OjI0cHg7Zm9udC1zaXplOjIwcHg7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjtwYWRkaW5nLXRvcDoxNnB4O2NvbG9yOnZhcigtLWJiUXhBYik7bWFyZ2luLWJvdHRvbTphdXRvfS5ESmJWRmIueXRMZWRiIC52WU9rYmV7YmFja2dyb3VuZC1jb2xvcjojZjhmOWZhfS5ESmJWRmIgLmt6Q0Uye2ZvbnQtc2l6ZToxNnB4fS5ESmJWRmIgLndNNlc3ZCBzcGFue2NvbG9yOnZhcigtLVlMTk5IYyk7bGluZS1oZWlnaHQ6MzZweDtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjI4cHg7Zm9udC1mYW1pbHk6R29vZ2xlIFNhbnMsQXJpYWwsc2Fucy1zZXJpZn0uREpiVkZiIC5wY1RrU2N7bWFyZ2luOjIwcHggNnB4O3BhZGRpbmc6MH0uREpiVkZiIC52WU9rYmV7bWFyZ2luOjIwcHggMCAyMHB4IDE4cHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6MjBweH0uREpiVkZiIC5FT0xLT2N7d2lkdGg6Y2FsYyg1MCUgLSAxcHgpfS5pUXhQUmJ7ZGlzcGxheTpmbGV4O2dhcDoycHh9LkRKYlZGYiAuRU9MS09jOmZpcnN0LWNoaWxke2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MjBweH0uREpiVkZiIC5FT0xLT2M6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czoyMHB4fS5ESmJWRmIgLkFaTkRte2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjIwcHg7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoyMHB4fS5ESmJWRmIgLmE1UkxhYy5rekNFMiBzcGFuey13ZWJraXQtbGluZS1jbGFtcDozfS5ESmJWRmIgLmxublZTZXttYXJnaW4tYm90dG9tOmF1dG99LkRKYlZGYiAuYTVSTGFjIHNwYW57dGV4dC1vdmVyZmxvdzplbGxpcHNpczstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47bWFyZ2luLXJpZ2h0OjEwcHh9I2JnZUxaZHtkaXNwbGF5Om5vbmV9LnhBbXJ5Zntib3gtc2l6aW5nOmJvcmRlci1ib3g7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDo0MHB4O2JvcmRlci1yYWRpdXM6OHB4O2Rpc3BsYXk6ZmxleDtjb2xvcjp2YXIoLS1iYlF4QWIpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbVhaa3FjKTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXhoVUd3Yyk7bGluZS1oZWlnaHQ6MjJweH0ueEFtcnlmIC5lTDdvQWN7ZmlsbDp2YXIoLS1iYlF4QWIpO3BhZGRpbmctdG9wOjFweH0ueEFtcnlmLkx2cXpSe2JhY2tncm91bmQtY29sb3I6I2U4ZjBmZTtjdXJzb3I6cG9pbnRlcjtjb2xvcjp2YXIoLS1UTVlTOSl9LnhBbXJ5Zi5MdnF6UiAuZUw3b0Fje2ZpbGw6dmFyKC0tVE1ZUzkpfS5qdEFPZ2R7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtZmFtaWx5Okdvb2dsZSBTYW5zLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7bWFyZ2luOjAgMTRweH0uVGZlV2Zie2dhcDoxMnB4IDZweDtvdmVyZmxvdy14OmF1dG87LW1zLW92ZXJmbG93LXN0eWxlOm5vbmU7c2Nyb2xsYmFyLXdpZHRoOm5vbmV9LlRmZVdmYjo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS51aGViR2J7Zm9udC1zdHlsZTppdGFsaWN9I1lNWGV7ZGlzcGxheTpub25lfTwvc3R5bGU+PGxpIGRhdGEtdmlldy10eXBlPSIxIiBjbGFzcz0ic2JjdCBQWlBabGYiIGlkPSJZTVhlIiByb2xlPSJwcmVzZW50YXRpb24iIGRhdGEtYXR0cmlkPSJBdXRvY29tcGxldGVQcmVkaWN0aW9uIiBkYXRhLWVudGl0eWlkPSJhdXRvY29tcGxldGVfdXNlcl9mZWVkYmFja19rcF9pZCI+PGRpdiBjbGFzcz0iZUlQR1JkIj48ZGl2IGNsYXNzPSJzYmljIj48ZGl2IGNsYXNzPSJqMEdKV2QiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjxkaXY+PGltZyBjbGFzcz0idUhHRlZkIEFaTkRtIiBhbHQ9IiIgc3R5bGU9ImRpc3BsYXk6bm9uZSIgZGF0YS1jc2lpZD0iaDRDclp2eUxDNU9maS1nUF9vcUotUXdfMyIgZGF0YS1hdGY9IjAiPjwvZGl2PjxkaXYgY2xhc3M9ImlReFBSYiI+PGltZyBjbGFzcz0idUhHRlZkIEVPTEtPYyIgYWx0PSIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiIGRhdGEtY3NpaWQ9Img0Q3JadnlMQzVPZmktZ1Bfb3FKLVF3XzQiIGRhdGEtYXRmPSIwIj48aW1nIGNsYXNzPSJ1SEdGVmQgRU9MS09jIiBhbHQ9IiIgc3R5bGU9ImRpc3BsYXk6bm9uZSIgZGF0YS1jc2lpZD0iaDRDclp2eUxDNU9maS1nUF9vcUotUXdfNSIgZGF0YS1hdGY9IjAiPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InBjVGtTYyI+PGRpdiBjbGFzcz0ibG5uVlNlIiBhcmlhLWF0b21pYz0idHJ1ZSIgcm9sZT0ib3B0aW9uIj48ZGl2IGNsYXNzPSJ3TTZXN2QiPjxzcGFuPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJDbEo5WWIiPjxzcGFuPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJhNVJMYWMiPjxzcGFuPjwvc3Bhbj48L2Rpdj48L2Rpdj48c3R5bGU+Lk1hZ3FNYyAuWkZpd0Nme2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWdTNWpYYik7d2lkdGg6MTAwJX0uTWFncU1jLlU0OGZEe3BhZGRpbmc6MDttYXJnaW4tdG9wOjE2cHh9Lk1hZ3FNYyAuQmk5b1Fke2Rpc3BsYXk6bm9uZX0uTWFncU1je3BhZGRpbmc6MH0uTWFncU1jOmhvdmVyIC5MR3dueGJ7Y29sb3I6dmFyKC0tWUxOTkhjKX0uc09tUGNmIC5aRml3Q2Z7YmFja2dyb3VuZC1jb2xvcjojZmFmYWZhfTwvc3R5bGU+PGRpdiBjbGFzcz0iU3o3TGVlIE1hZ3FNYyBVNDhmRCIgc3R5bGU9ImRpc3BsYXk6bm9uZSIgYXJpYS1sYWJlbD0iTWVociIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+PHN0eWxlPi5VNDhmRHstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxOHB4O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO3BhZGRpbmc6MTZweDtwYWRkaW5nLXRvcDowO21hcmdpbi10b3A6MjRweDtwb3NpdGlvbjpyZWxhdGl2ZX0uVFFjMWlkIC5VNDhmRHttYXJnaW4tdG9wOjE2cHh9LlU0OGZELmRmMTN1ZHttYXJnaW4tdG9wOjE2cHh9LlU0OGZELlRPUXlGY3ttYXJnaW4tdG9wOjB9LlU0OGZELnA4RkVJZntwYWRkaW5nLWJvdHRvbTowfS5VNDhmRC5rZTdNNHtwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjB9LmpSS0NVZDo6YmVmb3Jle2JvdHRvbToxMnB4O2NvbnRlbnQ6Jyc7bGVmdDoxNnB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjE2cHg7dG9wOi00cHh9YS5qUktDVWQ6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9PC9zdHlsZT48c3R5bGU+LlpGaXdDZntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luOjAgYXV0bzt3aWR0aDoxMDAlO2JvcmRlci1yYWRpdXM6MThweDtvdXRsaW5lOjFweCBzb2xpZCB0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWNvbG9yOiNmMWYzZjQ7Zm9udC1zaXplOjE0cHg7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjtmb250LXdlaWdodDo0MDA7bWF4LXdpZHRoOjMwMHB4O2hlaWdodDozNnB4fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey5aRml3Q2Z7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudH19LlRRYzFpZCAuWkZpd0Nme21heC13aWR0aDp1bnNldH0uWmp0Z2diIC5aRml3Q2Z7bWF4LXdpZHRoOnVuc2V0fS5aRml3Q2Y6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmFmYWZhfS5uQ0ZVcGMgLlpGaXdDZnt3aWR0aDoxMDAlfS5CaTlvUWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1nUzVqWGIpO21hcmdpbi10b3A6MThweDtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MDtoZWlnaHQ6MXB4O2xlZnQ6MDt3aWR0aDoxMDAlO30uVFFjMWlkIC5CaTlvUWR7ZGlzcGxheTpub25lfS5rQzhCNGUgLkJpOW9RZHtkaXNwbGF5Om5vbmV9LncyZktkZCBzdmd7d2lkdGg6YXV0b30udzJmS2Rke2NvbG9yOiM1ZTVlNWV9LkxHd254YntvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6YXV0bztwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjhweDttYXgtd2lkdGg6bWluKDIwMHB4LGNhbGMoMTAwJSAtIDQ0cHgpKTtjb2xvcjojMjAyMTI0fS5MR3dueGI6ZW1wdHl7cGFkZGluZy1yaWdodDowfS5MR3dueGIgc3BhbiwuTEd3bnhiIGRpdntvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6YXV0b308L3N0eWxlPjxociBjbGFzcz0iQmk5b1FkIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGRpdiBjbGFzcz0iWkZpd0NmIj48c3BhbiBjbGFzcz0iTEd3bnhiIj5NZWhyPC9zcGFuPjxzcGFuIGNsYXNzPSJ3MmZLZGQgejFhc0NlIiBhcmlhLWhpZGRlbj0idHJ1ZSIgc3R5bGU9ImhlaWdodDoyMHB4O2xpbmUtaGVpZ2h0OjIwcHg7d2lkdGg6MjBweCI+PHN2ZyBmb2N1c2FibGU9ImZhbHNlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEyIDRsLTEuNDEgMS40MUwxNi4xNyAxMUg0djJoMTIuMTdsLTUuNTggNS41OUwxMiAyMGw4LTh6Ij48L3BhdGg+PC9zdmc+PC9zcGFuPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9IkFRWjlWZCIgYXJpYS1hdG9taWM9InRydWUiIHJvbGU9ImJ1dHRvbiI+PHN0eWxlPi5KQ0hwY2I6aG92ZXIsLkx2cXpSIC5KQ0hwY2J7Y29sb3I6IzE1NThkNjt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5KQ0hwY2J7Y29sb3I6IzcwNzU3YTtmb250OjEzcHggYXJpYWwsc2Fucy1zZXJpZjtjdXJzb3I6cG9pbnRlcjthbGlnbi1zZWxmOmNlbnRlcn1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuc2JhaXt2aXNpYmlsaXR5OmhpZGRlbn0uc2JobCAuc2JhaXt2aXNpYmlsaXR5OmluaGVyaXR9fTwvc3R5bGU+PGRpdiBjbGFzcz0ic2JhaSIgcm9sZT0icHJlc2VudGF0aW9uIj5Mw7ZzY2hlbjwvZGl2PjwvZGl2PjwvZGl2PjwvbGk+PHN0eWxlPiNkNkl0S2J7ZGlzcGxheTpub25lfS5BQjJGZGR7ZGlzcGxheTpmbGV4fTwvc3R5bGU+PGxpIGNsYXNzPSJBQjJGZGQiIGRhdGEtdmlldy10eXBlPSI5IiBpZD0iZDZJdEtiIiByb2xlPSJwcmVzZW50YXRpb24iPjxkaXYgY2xhc3M9ImVJUEdSZCI+PGRpdiBjbGFzcz0iWkRIcCIgaWQ9ImZVMHhBYiIgcm9sZT0icHJlc2VudGF0aW9uIiBzdHlsZT0iZGlzcGxheTpub25lIj48ZGl2IGNsYXNzPSJrWnRyMWIiPjxzdHlsZT4uWkRIcHtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW46MjBweDtkaXNwbGF5OmZsZXh9LkRKYlZGYiwubzZPRjB7YmFja2dyb3VuZDojZjhmOWZhO2JvcmRlci1yYWRpdXM6MjBweH0ubzZPRjA6aG92ZXIsLm82T0YwLkx2cXpSe2JhY2tncm91bmQ6I2U3ZThlOX0ubzZPRjAgLmVJUEdSZHtkaXNwbGF5OmJsb2NrfUBtZWRpYSAoZm9yY2VkLWNvbG9yczpub25lKXsubzZPRjAuc2JobHtiYWNrZ3JvdW5kOiNlN2U4ZTl9fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey5vNk9GMC5zYmhse2JhY2tncm91bmQtY29sb3I6aGlnaGxpZ2h0fX0ubzZPRjAgLkFRWjlWZHtkaXNwbGF5Om5vbmV9Lm82T0YwIC5zYmlje2Rpc3BsYXk6bm9uZX0ubzZPRjAgLnBjVGtTY3tkaXNwbGF5Om5vbmV9Lm82T0YwIC53TTZXN2R7ZGlzcGxheTpub25lfS5vNk9GMCAuZUlQR1Jke21heC13aWR0aDoxMDAlO21hcmdpbjowfS5hejlBamN7cGFkZGluZ190b3A6MHB4fS5aREhwIC5TSEZQa2J7bWFyZ2luLWJvdHRvbToxMnB4fS5vNk9GMCAuU0hGUGtie2xpbmUtaGVpZ2h0OjQ4cHg7Zm9udC1mYW1pbHk6R29vZ2xlIFNhbnMsQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MzZweDtmb250LXdlaWdodDo0MDA7Y29sb3I6dmFyKC0tWUxOTkhjKTtkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbjstd2Via2l0LWxpbmUtY2xhbXA6Mjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWx9LmxRb296Zntmb250LXNpemU6MjhweH0ubzZPRjAgLlNIRlBrYi5aSjU5NGV7cGFkZGluZy1yaWdodDo1OHB4fS5vNk9GMCAuSHJVbFVjLC5vNk9GMCAuUG5mcUxje2ZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NDAwO21heC1oZWlnaHQ6NzJweDtjb2xvcjp2YXIoLS1iYlF4QWIpfS5aREhwIC5IclVsVWMsLlpESHAgLlBuZnFMY3tmb250LXNpemU6MThweDtsaW5lLWhlaWdodDoyNHB4fS5vNk9GMCAuYlRTZjVje2ZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOnZhcigtLWJiUXhBYil9LlpESHAgLmJUU2Y1Y3tsaW5lLWhlaWdodDoyMnB4O2ZvbnQtc2l6ZToxNHB4O21hcmdpbi1ib3R0b206NnB4fS5aREhwIC5IclVsVWMsLlpESHAgLlBuZnFMY3tvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWxpbmUtY2xhbXA6Mzstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWx9LlZsdDN3Yntmb250LXN0eWxlOm5vcm1hbDtmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMnB4O3BhZGRpbmctdG9wOjhweDttYXJnaW4tdG9wOjEycHg7Y29sb3I6dmFyKC0tYmJReEFiKTtib3JkZXItdG9wOjFweCBzb2xpZCAjZGFkY2UwO2Rpc3BsYXk6ZmxleDt3aWR0aDoxMDAlfS5UbnYydGR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MH0uejc2Um5ie3BhZGRpbmc6NnB4O3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS14aFVHd2MpO2NvbG9yOiM1ZTVlNWU7Ym9yZGVyLXJhZGl1czo5OTk5cHg7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1tWFprcWMpO2N1cnNvcjpwb2ludGVyfS56NzZSbmIuTHZxelJ7Y29sb3I6dmFyKC0tWUxOTkhjKTtiYWNrZ3JvdW5kLWNvbG9yOiNmYWZhZmF9LmtadHIxYntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZ3JvdzoxO21pbi13aWR0aDowfS5YQUZENWN7d2lkdGg6MjAwcHg7aGVpZ2h0OjIwMHB4O2JhY2tncm91bmQtY29sb3I6dmFyKC0teGhVR3djKTtib3JkZXItcmFkaXVzOjIwcHg7bWFyZ2luLWxlZnQ6MjBweDtmbGV4LXNocmluazowO2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbn0uWEFGRDVjLmlORjBWZHtiYWNrZ3JvdW5kLXNpemU6MTM2cHh9LlpESHAgLmxublZTZXtmb250LXNpemU6MThweDtmbGV4LWdyb3c6MX0uWkRIcCAuSHJVbFVjLC5aREhwIC5QbmZxTGN7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ucm5BaXhke2NvbG9yOiNiMzI2MWV9Lml6eENKZntjb2xvcjojMTQ2YzJlfTwvc3R5bGU+PGRpdiBjbGFzcz0ibG5uVlNlIiBhcmlhLWF0b21pYz0idHJ1ZSIgcm9sZT0ib3B0aW9uIj48ZGl2IGNsYXNzPSJTSEZQa2IiPjwvZGl2PjxkaXYgY2xhc3M9ImJUU2Y1YyI+PC9kaXY+PGRpdiBjbGFzcz0iUG5mcUxjIj48L2Rpdj48ZGl2IGNsYXNzPSJIclVsVWMiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9IlRudjJ0ZCIgYXJpYS1hdG9taWM9InRydWUiIHJvbGU9ImJ1dHRvbiIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PHNwYW4gY2xhc3M9Ino3NlJuYiB6MWFzQ2UgSkt1MWplIj48c3ZnIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMyA5djZoNGw1IDVWNEw3IDlIM3ptMTMuNSAzYzAtMS43Ny0xLjAyLTMuMjktMi41LTQuMDN2OC4wNWMxLjQ4LS43MyAyLjUtMi4yNSAyLjUtNC4wMnpNMTQgMy4yM3YyLjA2YzIuODkuODYgNSAzLjU0IDUgNi43MXMtMi4xMSA1Ljg1LTUgNi43MXYyLjA2YzQuMDEtLjkxIDctNC40OSA3LTguNzdzLTIuOTktNy44Ni03LTguNzd6Ij48L3BhdGg+PC9zdmc+PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9IlZsdDN3YiIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PC9kaXY+PC9kaXY+PHNwYW4gY2xhc3M9IlhBRkQ1YyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PC9zcGFuPjxkaXYgY2xhc3M9ImowR0pXZCIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PGRpdj48aW1nIGNsYXNzPSJ1SEdGVmQgQVpORG0iIGFsdD0iIiBzdHlsZT0iZGlzcGxheTpub25lIiBkYXRhLWNzaWlkPSJoNENyWnZ5TEM1T2ZpLWdQX29xSi1Rd182IiBkYXRhLWF0Zj0iMCI+PC9kaXY+PGRpdiBjbGFzcz0iaVF4UFJiIj48aW1nIGNsYXNzPSJ1SEdGVmQgRU9MS09jIiBhbHQ9IiIgc3R5bGU9ImRpc3BsYXk6bm9uZSIgZGF0YS1jc2lpZD0iaDRDclp2eUxDNU9maS1nUF9vcUotUXdfNyIgZGF0YS1hdGY9IjAiPjxpbWcgY2xhc3M9InVIR0ZWZCBFT0xLT2MiIGFsdD0iIiBzdHlsZT0iZGlzcGxheTpub25lIiBkYXRhLWNzaWlkPSJoNENyWnZ5TEM1T2ZpLWdQX29xSi1Rd184IiBkYXRhLWF0Zj0iMCI+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9saT48c3R5bGU+I21pdEd5YntkaXNwbGF5Om5vbmV9LnMyV2plY3tkaXNwbGF5OmJsb2NrfS5RODJPa2Z7Zm9udC1zaXplOjE2cHg7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZn08L3N0eWxlPjxsaSBkYXRhLXZpZXctdHlwZT0iOCIgY2xhc3M9InNiY3QgUFpQWmxmIiBpZD0ibWl0R3liIiByb2xlPSJwcmVzZW50YXRpb24iIGRhdGEtYXR0cmlkPSJBdXRvY29tcGxldGVQcmVkaWN0aW9uIiBkYXRhLWVudGl0eWlkPSJhdXRvY29tcGxldGVfdXNlcl9mZWVkYmFja19rcF9pZCI+PGRpdiBjbGFzcz0iZUlQR1JkIGhkdDBsZCI+PGRpdiBjbGFzcz0ic2JpYyI+PC9kaXY+PGRpdiBjbGFzcz0icGNUa1NjIj48ZGl2IGFyaWEtYXRvbWljPSJ0cnVlIiBjbGFzcz0ibG5uVlNlIiByb2xlPSJvcHRpb24iPjxkaXYgY2xhc3M9IndNNlc3ZCI+PHNwYW4+PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9IkNsSjlZYiI+PHNwYW4+PC9zcGFuPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9IkFRWjlWZCIgYXJpYS1hdG9taWM9InRydWUiIHJvbGU9ImJ1dHRvbiI+PGRpdiBjbGFzcz0ic2JhaSIgcm9sZT0icHJlc2VudGF0aW9uIj5Mw7ZzY2hlbjwvZGl2PjwvZGl2PjwvZGl2PjwvbGk+PGRpdiBjbGFzcz0iWkRIcCIgaWQ9ImZVMHhBYiIgcm9sZT0icHJlc2VudGF0aW9uIiBzdHlsZT0iZGlzcGxheTpub25lIj48ZGl2IGNsYXNzPSJrWnRyMWIiPjxkaXYgY2xhc3M9ImxublZTZSIgYXJpYS1hdG9taWM9InRydWUiIHJvbGU9Im9wdGlvbiI+PGRpdiBjbGFzcz0iU0hGUGtiIj48L2Rpdj48ZGl2IGNsYXNzPSJiVFNmNWMiPjwvZGl2PjxkaXYgY2xhc3M9IlBuZnFMYyI+PC9kaXY+PGRpdiBjbGFzcz0iSHJVbFVjIj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJUbnYydGQiIGFyaWEtYXRvbWljPSJ0cnVlIiByb2xlPSJidXR0b24iIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjxzcGFuIGNsYXNzPSJ6NzZSbmIgejFhc0NlIEpLdTFqZSI+PHN2ZyBmb2N1c2FibGU9ImZhbHNlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTMgOXY2aDRsNSA1VjRMNyA5SDN6bTEzLjUgM2MwLTEuNzctMS4wMi0zLjI5LTIuNS00LjAzdjguMDVjMS40OC0uNzMgMi41LTIuMjUgMi41LTQuMDJ6TTE0IDMuMjN2Mi4wNmMyLjg5Ljg2IDUgMy41NCA1IDYuNzFzLTIuMTEgNS44NS01IDYuNzF2Mi4wNmM0LjAxLS45MSA3LTQuNDkgNy04Ljc3cy0yLjk5LTcuODYtNy04Ljc3eiI+PC9wYXRoPjwvc3ZnPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJWbHQzd2IiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjwvZGl2PjwvZGl2PjxzcGFuIGNsYXNzPSJYQUZENWMiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjwvc3Bhbj48ZGl2IGNsYXNzPSJqMEdKV2QiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjxkaXY+PGltZyBjbGFzcz0idUhHRlZkIEFaTkRtIiBhbHQ9IiIgc3R5bGU9ImRpc3BsYXk6bm9uZSIgZGF0YS1jc2lpZD0iaDRDclp2eUxDNU9maS1nUF9vcUotUXdfOSIgZGF0YS1hdGY9IjAiPjwvZGl2PjxkaXYgY2xhc3M9ImlReFBSYiI+PGltZyBjbGFzcz0idUhHRlZkIEVPTEtPYyIgYWx0PSIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiIGRhdGEtY3NpaWQ9Img0Q3JadnlMQzVPZmktZ1Bfb3FKLVF3XzEwIiBkYXRhLWF0Zj0iMCI+PGltZyBjbGFzcz0idUhHRlZkIEVPTEtPYyIgYWx0PSIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiIGRhdGEtY3NpaWQ9Img0Q3JadnlMQzVPZmktZ1Bfb3FKLVF3XzExIiBkYXRhLWF0Zj0iMCI+PC9kaXY+PC9kaXY+PC9kaXY+PHN0eWxlPiNUTjRyRmZ7ZGlzcGxheTpub25lfS5JRFZudmN7ZGlzcGxheTppbmxpbmUtYmxvY2s7b3ZlcmZsb3c6aGlkZGVuO21heC13aWR0aDoyMjNweDtib3JkZXItcmFkaXVzOjE2cHg7aGVpZ2h0OjE3OHB4O21hcmdpbjotMnB4IC0xMHB4IDJweCAxMHB4fS5JRFZudmMuc2JobHtib3JkZXItcmFkaXVzOjE2cHh9Lk9CTUVuYjpvbmx5LWNoaWxkIC5JRFZudmN7bWFyZ2luLXJpZ2h0OmNhbGMoMjUlIC0gMTEzcHgpfS5jUlY5aGJ7d2lkdGg6OTBweDtwYWRkaW5nOjZweH0uY1JWOWhiIC5wY1RrU2N7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjtvdmVyZmxvdzpoaWRkZW47bWFyZ2luLXRvcDo0cHg7cGFkZGluZzowfS5jUlY5aGIgLnBjVGtTYyAud002Vzdke2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjE4cHg7cGFkZGluZzowO2NvbG9yOnZhcigtLUNPRW1ZKX0uY1JWOWhiIC5wY1RrU2MgLkNsSjlZYntsaW5lLWhlaWdodDoxNnB4O2ZvbnQtc2l6ZToxMnB4O2Rpc3BsYXk6bm9uZTtkaXNwbGF5OmZsZXh9LmNSVjloYiAucGNUa1NjIC5DbEo5WWIuRU5NS3hmIHNwYW57LXdlYmtpdC1saW5lLWNsYW1wOjF9LmNSVjloYiAucGNUa1NjIC53TTZXN2Qgc3BhbiwuY1JWOWhiIC5wY1RrU2MgLkNsSjlZYiBzcGFue292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtkaXNwbGF5Oi13ZWJraXQtYm94O3doaXRlLXNwYWNlOm5vcm1hbH0uY1JWOWhiIC5wY1RrU2MgLndNNlc3ZCBzcGFuey13ZWJraXQtbGluZS1jbGFtcDoyfS5jUlY5aGIgLnBjVGtTYyAuQ2xKOVliIHNwYW57LXdlYmtpdC1saW5lLWNsYW1wOjJ9LmFWYldhY3tiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czoxMnB4O2hlaWdodDo5MHB4fS5hVmJXYWMgLnNiaWMudllPa2Jle2hlaWdodDo5MHB4O3dpZHRoOjkwcHg7Ym9yZGVyLXJhZGl1czoxMnB4O21hcmdpbjowfTwvc3R5bGU+PGxpIGNsYXNzPSJJRFZudmMgUFpQWmxmIiBkYXRhLXZpZXctdHlwZT0iNiIgaWQ9IlRONHJGZiIgcm9sZT0icHJlc2VudGF0aW9uIiBkYXRhLWF0dHJpZD0iQXV0b2NvbXBsZXRlUHJlZGljdGlvbiIgZGF0YS1lbnRpdHlpZD0iYXV0b2NvbXBsZXRlX3VzZXJfZmVlZGJhY2tfa3BfaWQiPjxkaXYgY2xhc3M9ImNSVjloYiI+PGRpdiBjbGFzcz0iYVZiV2FjIj48ZGl2IGNsYXNzPSJzYmljIj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJwY1RrU2MiIHJvbGU9InByZXNlbnRhdGlvbiI+PGRpdiBjbGFzcz0ibG5uVlNlIiBhcmlhLWF0b21pYz0idHJ1ZSIgcm9sZT0ib3B0aW9uIj48ZGl2IGNsYXNzPSJ3TTZXN2QiPjxzcGFuPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJDbEo5WWIiPjxzcGFuPjwvc3Bhbj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2xpPjxkaXYganNuYW1lPSJWbGNMQWUiIGNsYXNzPSJsSjlGQmMiPiA8c3R5bGU+LmxKOUZCY3toZWlnaHQ6NzBweH0ubEo5RkJjIGlucHV0W3R5cGU9InN1Ym1pdCJdLC5nYnFmYmF7YmFja2dyb3VuZC1jb2xvcjojZjhmOWZhO2JvcmRlcjoxcHggc29saWQgI2Y4ZjlmYTtib3JkZXItcmFkaXVzOjRweDtjb2xvcjojM2M0MDQzO2ZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7bWFyZ2luOjExcHggNHB4O3BhZGRpbmc6MCAxNnB4O2xpbmUtaGVpZ2h0OjI3cHg7aGVpZ2h0OjM2cHg7bWluLXdpZHRoOjU0cHg7dGV4dC1hbGlnbjpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7dXNlci1zZWxlY3Q6bm9uZX0ubEo5RkJjIGlucHV0W3R5cGU9InN1Ym1pdCJdOmhvdmVye2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjEpO2JhY2tncm91bmQtY29sb3I6I2Y4ZjlmYTtib3JkZXI6MXB4IHNvbGlkICNkYWRjZTA7Y29sb3I6IzIwMjEyNH0ubEo5RkJjIGlucHV0W3R5cGU9InN1Ym1pdCJdOmZvY3Vze2JvcmRlcjoxcHggc29saWQgIzQyODVmNDtvdXRsaW5lOm5vbmV9PC9zdHlsZT4gPGNlbnRlcj4gPGlucHV0IGNsYXNzPSJnTk84OWIiIHZhbHVlPSJHb29nbGUgU3VjaGUiIGFyaWEtbGFiZWw9Ikdvb2dsZSBTdWNoZSIgbmFtZT0iYnRuSyIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCIgdHlwZT0ic3VibWl0IiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRNGRVRENBNCI+IDxpbnB1dCBjbGFzcz0iUk5tcFhjIiB2YWx1ZT0iQXVmIGd1dCBHbMO8Y2shIiBhcmlhLWxhYmVsPSJBdWYgZ3V0IEdsw7xjayEiIG5hbWU9ImJ0bkkiIHR5cGU9InN1Ym1pdCIganNhY3Rpb249InRyaWdnZXIua1dseGhjIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRMTlRRUNBOCI+ICA8L2NlbnRlcj4gPC9kaXY+PC9kaXY+PGRpdiBqc25hbWU9IkpVeXBWIj48c3R5bGU+Lld6Tkhte2ZvbnQtc2l6ZToxMXB4O2ZvbnQtc3R5bGU6aXRhbGljO21hcmdpbi10b3A6LTE2cHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MjBweDtjb2xvcjp2YXIoLS1JWG94VWUpfTwvc3R5bGU+PGRpdiBjbGFzcz0iV3pOSG0gbVdjZjBlIiBqc2NvbnRyb2xsZXI9ImdTWnZkYiIgZGF0YS1kY2NsPSJmYWxzZSIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCIganNkYXRhPSJ2U1Q3cmI7XztCZTh3c28iIGpzYWN0aW9uPSJpNUtDVTtrVkJDVmQ6eU0xWUplIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRNnNjRUNCQSI+PGRpdiBjbGFzcz0iVmZMMlkgTFJad3VjIj5VbmFuZ2VtZXNzZW5lIFZlcnZvbGxzdMOkbmRpZ3VuZ2VuIG1lbGRlbjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYganNuYW1lPSJtdmFLN2QiIGNsYXNzPSJNOEg4cGIiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFE0ZDhJQ0JFIj48L2Rpdj48ZGl2IGNsYXNzPSJGUGRvTGMgbEo5RkJjIj4gIDxjZW50ZXI+IDxpbnB1dCBjbGFzcz0iZ05PODliIiB2YWx1ZT0iR29vZ2xlIFN1Y2hlIiBhcmlhLWxhYmVsPSJHb29nbGUgU3VjaGUiIG5hbWU9ImJ0bksiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiIHR5cGU9InN1Ym1pdCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UTRkVURDQkkiPiA8aW5wdXQgY2xhc3M9IlJObXBYYyIgdmFsdWU9IkF1ZiBndXQgR2zDvGNrISIgYXJpYS1sYWJlbD0iQXVmIGd1dCBHbMO8Y2shIiBuYW1lPSJidG5JIiB0eXBlPSJzdWJtaXQiIGpzYWN0aW9uPSJ0cmlnZ2VyLmtXbHhoYyIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UTE5UUVDQk0iPiAgPC9jZW50ZXI+IDwvZGl2PjwvZGl2PiA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOnVybCgvaW1hZ2VzL3NlYXJjaGJveC9kZXNrdG9wX3NlYXJjaGJveF9zcHJpdGVzMzE4X2hyLndlYnApIj4gPC9kaXY+IDxzY3JpcHQgbm9uY2U9ImFBN1ZhLWJlZWhJTHNsMmhGbFB0LWciPihmdW5jdGlvbigpewp2YXIgYT10aGlzfHxzZWxmO3ZhciBjPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImZvcm0iKTtpZihjKXt2YXIgZD1mdW5jdGlvbihiKXtiLmtleSE9PSJFbnRlciJ8fGIuc2hpZnRLZXl8fChiLnByZXZlbnREZWZhdWx0KCksYy5zdWJtaXQmJmMuc3VibWl0KCkpfTtjLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGQpO2Euc2JtbGhmPWR9O30pLmNhbGwodGhpcyk7PC9zY3JpcHQ+IDwvZGl2PiA8ZGl2IGlkPSJ0b3BoZiI+PGlucHV0IG5hbWU9InNjYV9lc3YiIHZhbHVlPSI3MDM1ZmY2YmZhNDVmNGE4IiB0eXBlPSJoaWRkZW4iPjxpbnB1dCBuYW1lPSJzY2FfdXB2IiB2YWx1ZT0iMSIgdHlwZT0iaGlkZGVuIj48aW5wdXQgbmFtZT0ic291cmNlIiB0eXBlPSJoaWRkZW4iIHZhbHVlPSJocCI+PGlucHV0IHZhbHVlPSJoNENyWnZ5TEM1T2ZpLWdQX29xSi1RdyIgbmFtZT0iZWkiIHR5cGU9ImhpZGRlbiI+PGlucHV0IHZhbHVlPSJBTDloYmRnQUFBQUFacXVPbHhVcDl2dl9GNHc2bUVQekR4eVp2Zy00ZVRFUiIgbmFtZT0iaWZsc2lnIiB0eXBlPSJoaWRkZW4iPjwvZGl2PjwvZm9ybT48L2Rpdj48ZGl2IGNsYXNzPSJvM2o5OSBxYXJzdGIiPjxzdHlsZT4udmNWWjdke3RleHQtYWxpZ246Y2VudGVyfTwvc3R5bGU+PGRpdiBqc2NvbnRyb2xsZXI9Im1zNG1aYiIgZGF0YS1lbmRwb2ludD0ib3ZlcmxheSIgZGF0YS1qaWlzPSJ1cCIgZGF0YS1hc3luYy10eXBlPSJocGJhIiBpZD0iYTNKVTViIiBjbGFzcz0ieWYiIGpzYWN0aW9uPSJyY3VRNmI6bnBUMm1kIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRai0wS0NCUSIgZWlkPSJpSUNyWnZxeENKTGk3X1VQaEtxRWVBIj48ZGl2IGpzbmFtZT0iTmxsMG5lIj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ2Y1ZaN2QiIGlkPSJnd3Mtb3V0cHV0LXBhZ2VzLWVsZW1lbnRzLWhvbWVwYWdlX2FkZGl0aW9uYWxfbGFuZ3VhZ2VzX19hbHMiPjxzdHlsZT4jZ3dzLW91dHB1dC1wYWdlcy1lbGVtZW50cy1ob21lcGFnZV9hZGRpdGlvbmFsX2xhbmd1YWdlc19fYWxze2ZvbnQtc2l6ZTpzbWFsbDttYXJnaW4tYm90dG9tOjI0cHh9I1NJdkNvYntjb2xvcjp2YXIoLS1iYlF4QWIpO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2xpbmUtaGVpZ2h0OjI4cHg7fSNTSXZDb2IgYXtwYWRkaW5nOjAgM3B4O30uSDZzVzV7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luOjAgMnB4O3doaXRlLXNwYWNlOm5vd3JhcH0uejRoZ1dle2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbjowIDJweH08L3N0eWxlPjxkaXYgaWQ9IlNJdkNvYiI+R29vZ2xlIGdpYnQgZXMgYXVjaCBhdWY6ICA8YSBocmVmPSJodHRwczovL3d3dy5nb29nbGUuY29tL3NldHByZWZzP3NpZz0wX2xyS3R4dWd3UW0yc3oxV0hCNEFDcWtSZ3Y5NCUzRCZhbXA7aGw9ZnImYW1wO3NvdXJjZT1ob21lcGFnZSZhbXA7c2E9WCZhbXA7dmVkPTBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UTJaZ0JDQlkiPkZyYW7Dp2FpczwvYT4gICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9zZXRwcmVmcz9zaWc9MF9sckt0eHVnd1FtMnN6MVdIQjRBQ3FrUmd2OTQlM0QmYW1wO2hsPWVuJmFtcDtzb3VyY2U9aG9tZXBhZ2UmYW1wO3NhPVgmYW1wO3ZlZD0wYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFEyWmdCQ0JjIj5FbmdsaXNoPC9hPiAgPC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBqc2NvbnRyb2xsZXI9IkIycWxQZSIganNuYW1lPSJjZ3NLbGIiIGpzYWN0aW9uPSJyY3VRNmI6bnBUMm1kIj48c3R5bGU+LmNlRTNSe29wYWNpdHk6MC4wNjtwb2ludGVyLWV2ZW50czpub25lfTwvc3R5bGU+PC9kaXY+PGRpdiBjbGFzcz0ibzNqOTkgYzkzR2JlIiByb2xlPSJjb250ZW50aW5mbyI+PHN0eWxlPi5jOTNHYmV7YmFja2dyb3VuZDojZjJmMmYyfS51VTdkSmJ7cGFkZGluZzoxNXB4IDMwcHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tZ1M1alhiKTtmb250LXNpemU6MTVweDtjb2xvcjp2YXIoLS1ZTE5OSGMpO2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0uV3ltZWNle2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uU1N3aklle3BhZGRpbmc6MCAyMHB4fS5LeHdQR2N7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxMjAwcHgpey5LeHdQR2N7anVzdGlmeS1jb250ZW50OnNwYWNlLWV2ZW5seX19LnBIaU9oe2Rpc3BsYXk6YmxvY2s7cGFkZGluZzoxNXB4O3doaXRlLXNwYWNlOm5vd3JhcH0ucEhpT2gsYS5wSGlPaHtjb2xvcjp2YXIoLS1ZTE5OSGMpfTwvc3R5bGU+PGRpdiBjbGFzcz0idVU3ZEpiIj5MdXhlbWJ1cmc8L2Rpdj48ZGl2IGpzY29udHJvbGxlcj0iTnpVNlYiIGNsYXNzPSJLeHdQR2MgU1N3akllIiBkYXRhLXNmZT0iZmFsc2UiIGRhdGEtc2Zzdz0iMTIxMCIganNhY3Rpb249InJjdVE2YjpucFQybWQiPjxkaXYgY2xhc3M9Ikt4d1BHYyBBZ2hHdGQiPjxhIGNsYXNzPSJwSGlPaCIgaHJlZj0iaHR0cHM6Ly9hYm91dC5nb29nbGUvP3V0bV9zb3VyY2U9Z29vZ2xlLUxVJmFtcDt1dG1fbWVkaXVtPXJlZmVycmFsJmFtcDt1dG1fY2FtcGFpZ249aHAtZm9vdGVyJmFtcDtmZz0xIiBwaW5nPSIvdXJsP3NhPXQmYW1wO3JjdD1qJmFtcDtzb3VyY2U9d2ViaHAmYW1wO3VybD1odHRwczovL2Fib3V0Lmdvb2dsZS8lM0Z1dG1fc291cmNlJTNEZ29vZ2xlLUxVJTI2dXRtX21lZGl1bSUzRHJlZmVycmFsJTI2dXRtX2NhbXBhaWduJTNEaHAtZm9vdGVyJTI2ZmclM0QxJmFtcDt2ZWQ9MGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRa05RQ0NCZyZhbXA7Ymw9TlF6YiZhbXA7b3BpPTg5OTc4NDQ5Ij7DnGJlciBHb29nbGU8L2E+PGEgY2xhc3M9InBIaU9oIiBocmVmPSJodHRwczovL3d3dy5nb29nbGUuY29tL2ludGwvZGVfbHUvYWRzLz9zdWJpZD13dy13dy1ldC1nLWF3YS1hLWdfaHBhZm9vdDFfMSFvMiZhbXA7dXRtX3NvdXJjZT1nb29nbGUuY29tJmFtcDt1dG1fbWVkaXVtPXJlZmVycmFsJmFtcDt1dG1fY2FtcGFpZ249Z29vZ2xlX2hwYWZvb3RlciZhbXA7Zmc9MSIgcGluZz0iL3VybD9zYT10JmFtcDtyY3Q9aiZhbXA7c291cmNlPXdlYmhwJmFtcDt1cmw9aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9pbnRsL2RlX2x1L2Fkcy8lM0ZzdWJpZCUzRHd3LXd3LWV0LWctYXdhLWEtZ19ocGFmb290MV8xIW8yJTI2dXRtX3NvdXJjZSUzRGdvb2dsZS5jb20lMjZ1dG1fbWVkaXVtJTNEcmVmZXJyYWwlMjZ1dG1fY2FtcGFpZ24lM0Rnb29nbGVfaHBhZm9vdGVyJTI2ZmclM0QxJmFtcDt2ZWQ9MGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRa2RRQ0NCayZhbXA7Ymw9TlF6YiZhbXA7b3BpPTg5OTc4NDQ5Ij5XZXJiZXByb2dyYW1tZTwvYT48YSBjbGFzcz0icEhpT2giIGhyZWY9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vc2VydmljZXMvP3N1YmlkPXd3LXd3LWV0LWctYXdhLWEtZ19ocGJmb290MV8xIW8yJmFtcDt1dG1fc291cmNlPWdvb2dsZS5jb20mYW1wO3V0bV9tZWRpdW09cmVmZXJyYWwmYW1wO3V0bV9jYW1wYWlnbj1nb29nbGVfaHBiZm9vdGVyJmFtcDtmZz0xIiBwaW5nPSIvdXJsP3NhPXQmYW1wO3JjdD1qJmFtcDtzb3VyY2U9d2ViaHAmYW1wO3VybD1odHRwczovL3d3dy5nb29nbGUuY29tL3NlcnZpY2VzLyUzRnN1YmlkJTNEd3ctd3ctZXQtZy1hd2EtYS1nX2hwYmZvb3QxXzEhbzIlMjZ1dG1fc291cmNlJTNEZ29vZ2xlLmNvbSUyNnV0bV9tZWRpdW0lM0RyZWZlcnJhbCUyNnV0bV9jYW1wYWlnbiUzRGdvb2dsZV9ocGJmb290ZXIlMjZmZyUzRDEmYW1wO3ZlZD0wYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFrdFFDQ0JvJmFtcDtibD1OUXpiJmFtcDtvcGk9ODk5Nzg0NDkiPlVudGVybmVobWVuPC9hPjxhIGNsYXNzPSJwSGlPaCIgaHJlZj0iaHR0cHM6Ly9nb29nbGUuY29tL3NlYXJjaC9ob3dzZWFyY2h3b3Jrcy8/Zmc9MSI+IFdpZSBmdW5rdGlvbmllcnQgZGllIEdvb2dsZSBTdWNoZT8gPC9hPjwvZGl2PjxkaXYgY2xhc3M9Ikt4d1BHYyBpVGp4a2YiPjxhIGNsYXNzPSJwSGlPaCIgaHJlZj0iaHR0cHM6Ly9wb2xpY2llcy5nb29nbGUuY29tL3ByaXZhY3k/aGw9ZGUtTFUmYW1wO2ZnPTEiIHBpbmc9Ii91cmw/c2E9dCZhbXA7cmN0PWomYW1wO3NvdXJjZT13ZWJocCZhbXA7dXJsPWh0dHBzOi8vcG9saWNpZXMuZ29vZ2xlLmNvbS9wcml2YWN5JTNGaGwlM0RkZS1MVSUyNmZnJTNEMSZhbXA7dmVkPTBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UThhd0NDQnMmYW1wO2JsPU5RemImYW1wO29waT04OTk3ODQ0OSI+RGF0ZW5zY2h1dHplcmtsw6RydW5nPC9hPjxhIGNsYXNzPSJwSGlPaCIgaHJlZj0iaHR0cHM6Ly9wb2xpY2llcy5nb29nbGUuY29tL3Rlcm1zP2hsPWRlLUxVJmFtcDtmZz0xIiBwaW5nPSIvdXJsP3NhPXQmYW1wO3JjdD1qJmFtcDtzb3VyY2U9d2ViaHAmYW1wO3VybD1odHRwczovL3BvbGljaWVzLmdvb2dsZS5jb20vdGVybXMlM0ZobCUzRGRlLUxVJTI2ZmclM0QxJmFtcDt2ZWQ9MGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhROHF3Q0NCdyZhbXA7Ymw9TlF6YiZhbXA7b3BpPTg5OTc4NDQ5Ij5OdXR6dW5nc2JlZGluZ3VuZ2VuPC9hPjxzcGFuPjxzdHlsZT4uYXl6cU9jOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9PC9zdHlsZT48c3BhbiBqc2NvbnRyb2xsZXI9Im5hYlBiYiIgZGF0YS1mZnA9ImZhbHNlIiBqc2FjdGlvbj0iS3lQYTBlOlkweTRjO0JWZmpoZjpWRnp3ZWI7d2pPRzdlOmdEa2Y0YzsiPjxzdHlsZT4uY0Y0VjVje2JhY2tncm91bmQtY29sb3I6dmFyKC0teGhVR3djKX0uY0Y0VjVjIGctbWVudS1pdGVte2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjNweDt3aGl0ZS1zcGFjZTpub3dyYXB9LmNGNFY1YyBnLW1lbnUtaXRlbSBhLC5jRjRWNWMgLnkwZlE5Y3tkaXNwbGF5OmJsb2NrO3BhZGRpbmctdG9wOjRweDtwYWRkaW5nLWJvdHRvbTo0cHg7Y3Vyc29yOnBvaW50ZXJ9LmNGNFY1YyBnLW1lbnUtaXRlbSBhLC5jRjRWNWMgZy1tZW51LWl0ZW0gYTp2aXNpdGVkLC5jRjRWNWMgZy1tZW51LWl0ZW0gYTpob3Zlcnt0ZXh0LWRlY29yYXRpb246aW5oZXJpdDtjb2xvcjppbmhlcml0fTwvc3R5bGU+PGctcG9wdXAganNuYW1lPSJWNjhiZGUiIGpzY29udHJvbGxlcj0iRFByZUUiIGpzYWN0aW9uPSJBMDV4QmQ6SVl0QnliO0VPWjU3ZTpXRnJSRmI7IiBqc2RhdGE9Im1WakFqZjtfO0JlOHdzcyI+PGRpdiBqc25hbWU9Im9ZeHRRZCIgY2xhc3M9IkNjTmU2ZSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGFyaWEtaGFzcG9wdXA9InRydWUiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiIGpzYWN0aW9uPSJXRnJSRmI7a2V5ZG93bjp1WVQyVmIiPjxkaXYganNuYW1lPSJMZ2JzU2UiIGNsYXNzPSJheXpxT2MgcEhpT2giIGFyaWEtY29udHJvbHM9Il9oNENyWnZ5TEM1T2ZpLWdQX29xSi1Rd182IiBhcmlhLWhhc3BvcHVwPSJ0cnVlIj5FaW5zdGVsbHVuZ2VuPC9kaXY+PC9kaXY+PGRpdiBqc25hbWU9IlY2OGJkZSIgY2xhc3M9IlVqQkdMIHBrV0JzZSBpUlFIWmUiIHN0eWxlPSJkaXNwbGF5Om5vbmU7ei1pbmRleDoyMDAiPjxnLW1lbnUganNuYW1lPSJ4bDA3T2IiIGNsYXNzPSJjRjRWNWMgeVRpazAgUEJuNDRlIGlRWFRKZSB3cGxKQmQiIGpzY29udHJvbGxlcj0iV2xOUUdkIiByb2xlPSJtZW51IiB0YWJpbmRleD0iLTEiIGpzYWN0aW9uPSJQU2wyOGM7Zm9jdXM6aDA2Ujg7a2V5ZG93bjp1WVQyVmI7bW91c2VlbnRlcjpXT1FxWWI7bW91c2VsZWF2ZTpUeDVSYjttb3VzZW92ZXI6SWdKbDljIj48Zy1tZW51LWl0ZW0ganNuYW1lPSJOTkpMdWQiIGpzY29udHJvbGxlcj0iQ25TVzJkIiBjbGFzcz0iRXBQWUxkIEdablFxZSIgcm9sZT0ibm9uZSIgZGF0YS1zaG9ydC1sYWJlbD0iIiBqc2RhdGE9InpQWHppZTtfO0JlOHdzdyI+PGRpdiBqc25hbWU9ImlibkM2YiIgY2xhc3M9IllwY0RuZiBPU3JYWGIgSEcxZHZkIiByb2xlPSJub25lIj48YSBocmVmPSJodHRwczovL3d3dy5nb29nbGUuY29tL3ByZWZlcmVuY2VzP2hsPWRlLUxVJmFtcDtmZz0xIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj5TdWNoZWluc3RlbGx1bmdlbjwvYT48L2Rpdj48L2ctbWVudS1pdGVtPjxnLW1lbnUtaXRlbSBqc25hbWU9Ik5OSkx1ZCIganNjb250cm9sbGVyPSJDblNXMmQiIGNsYXNzPSJFcFBZTGQgR1puUXFlIiByb2xlPSJub25lIiBkYXRhLXNob3J0LWxhYmVsPSIiIGpzZGF0YT0ielBYemllO187QmU4d3N3Ij48ZGl2IGpzbmFtZT0iaWJuQzZiIiBjbGFzcz0iWXBjRG5mIE9TclhYYiBIRzFkdmQiIHJvbGU9Im5vbmUiPjxhIGhyZWY9Ii9hZHZhbmNlZF9zZWFyY2g/aGw9ZGUtTFUmYW1wO2ZnPTEiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPkVyd2VpdGVydGUgU3VjaGU8L2E+PC9kaXY+PC9nLW1lbnUtaXRlbT48Zy1tZW51LWl0ZW0ganNuYW1lPSJOTkpMdWQiIGpzY29udHJvbGxlcj0iQ25TVzJkIiBjbGFzcz0iRXBQWUxkIEdablFxZSIgcm9sZT0ibm9uZSIgZGF0YS1zaG9ydC1sYWJlbD0iIiBqc2RhdGE9InpQWHppZTtfO0JlOHdzdyI+PGRpdiBqc25hbWU9ImlibkM2YiIgY2xhc3M9IllwY0RuZiBPU3JYWGIgSEcxZHZkIiByb2xlPSJub25lIj48YSBocmVmPSIvaGlzdG9yeS9wcml2YWN5YWR2aXNvci9zZWFyY2gvdW5hdXRoP3V0bV9zb3VyY2U9Z29vZ2xlbWVudSZhbXA7Zmc9MSZhbXA7Y2N0bGQ9Y29tIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj5NZWluZSBEYXRlbiBpbiBkZXIgR29vZ2xlIFN1Y2hlPC9hPjwvZGl2PjwvZy1tZW51LWl0ZW0+PGctbWVudS1pdGVtIGpzbmFtZT0iTk5KTHVkIiBqc2NvbnRyb2xsZXI9IkNuU1cyZCIgY2xhc3M9IkVwUFlMZCBHWm5RcWUiIHJvbGU9Im5vbmUiIGRhdGEtc2hvcnQtbGFiZWw9IiIganNkYXRhPSJ6UFh6aWU7XztCZTh3c3ciPjxkaXYganNuYW1lPSJpYm5DNmIiIGNsYXNzPSJZcGNEbmYgT1NyWFhiIEhHMWR2ZCIgcm9sZT0ibm9uZSI+PGEgaHJlZj0iL2hpc3Rvcnkvb3B0b3V0P2hsPWRlLUxVJmFtcDtmZz0xIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj5TdWNodmVybGF1ZjwvYT48L2Rpdj48L2ctbWVudS1pdGVtPjxnLW1lbnUtaXRlbSBqc25hbWU9Ik5OSkx1ZCIganNjb250cm9sbGVyPSJDblNXMmQiIGNsYXNzPSJFcFBZTGQgR1puUXFlIiByb2xlPSJub25lIiBkYXRhLXNob3J0LWxhYmVsPSIiIGpzZGF0YT0ielBYemllO187QmU4d3N3Ij48ZGl2IGpzbmFtZT0iaWJuQzZiIiBjbGFzcz0iWXBjRG5mIE9TclhYYiBIRzFkdmQiIHJvbGU9Im5vbmUiPjxhIGhyZWY9Imh0dHBzOi8vc3VwcG9ydC5nb29nbGUuY29tL3dlYnNlYXJjaC8/cD13c19yZXN1bHRzX2hlbHAmYW1wO2hsPWRlLUxVJmFtcDtmZz0xIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj5IaWxmZSB6dXIgU3VjaGU8L2E+PC9kaXY+PC9nLW1lbnUtaXRlbT48Zy1tZW51LWl0ZW0ganNuYW1lPSJOTkpMdWQiIGpzY29udHJvbGxlcj0iQ25TVzJkIiBjbGFzcz0iRXBQWUxkIEdablFxZSIgcm9sZT0ibm9uZSIgZGF0YS1zaG9ydC1sYWJlbD0iIiBqc2RhdGE9InpQWHppZTtfO0JlOHdzdyI+PGRpdiBqc25hbWU9ImlibkM2YiIgY2xhc3M9IllwY0RuZiBPU3JYWGIgSEcxZHZkIiByb2xlPSJub25lIj48c3BhbiBkYXRhLWJ1Y2tldD0id2Vic2VhcmNoIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIiBqc2FjdGlvbj0idHJpZ2dlci5ZY2ZKIj5GZWVkYmFjayBnZWJlbjwvc3Bhbj48L2Rpdj48L2ctbWVudS1pdGVtPjxnLW1lbnUtaXRlbSBqc25hbWU9Ik5OSkx1ZCIganNjb250cm9sbGVyPSJDblNXMmQiIGNsYXNzPSJFcFBZTGQgR1puUXFlIExHaWx1YyIgYXJpYS1oaWRkZW49InRydWUiIHJvbGU9InNlcGFyYXRvciIgZGF0YS1zaG9ydC1sYWJlbD0iIiBqc2RhdGE9InpQWHppZTtfO0JlOHdzMCI+PC9nLW1lbnUtaXRlbT48Zy1tZW51LWl0ZW0ganNuYW1lPSJOTkpMdWQiIGpzY29udHJvbGxlcj0iQ25TVzJkIiBjbGFzcz0iRXBQWUxkIEdablFxZSIgcm9sZT0ibm9uZSIgZGF0YS1zaG9ydC1sYWJlbD0iIiBqc2RhdGE9InpQWHppZTtfO0JlOHdzdyI+PGRpdiBqc25hbWU9ImlibkM2YiIgY2xhc3M9IllwY0RuZiBPU3JYWGIgSEcxZHZkIiByb2xlPSJub25lIj48ZGl2IGNsYXNzPSJ5MGZROWMiIGRhdGEtc3BsPSIvc2V0cHJlZnM/aGw9ZGUmYW1wO3ByZXY9aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8/cGNjYyUzRDEmYW1wO3NpZz0wX2xyS3R4dWd3UW0yc3oxV0hCNEFDcWtSZ3Y5NCUzRCZhbXA7Y3M9MiIgaWQ9IllVSUREYiIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+PHN0eWxlPi50RllqWmV7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtwYWRkaW5nLWJvdHRvbTo0cHg7cGFkZGluZy10b3A6NHB4fS50RllqWmU6aG92ZXIgLmlPSE5MYiwudEZZalplOmZvY3VzIC5pT0hOTGJ7b3BhY2l0eToxfS5pT0hOTGJ7Y29sb3I6IzVlNWU1ZTtoZWlnaHQ6MjBweDttYXJnaW4tdG9wOi0ycHg7b3BhY2l0eTowO3dpZHRoOjIwcHh9PC9zdHlsZT48ZGl2IGpzY29udHJvbGxlcj0iZlhPMHhlIiBjbGFzcz0idEZZalplIiBkYXRhLWJzZG09IjAiIGRhdGEtYnRmPSIwIiBkYXRhLWhiYz0iIzFhNzNlOCIgZGF0YS1odGM9IiNmZmYiIGRhdGEtc3B0PSIxIiBkYXRhLXRzZG09IjAiIHJvbGU9ImxpbmsiIHRhYmluZGV4PSIwIiBqc2FjdGlvbj0ib2s1Z0ZjO3g2QkNmYjpnZ0ZDY2U7dzNVa3JmOmFlbHhKYiIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UXFzRUhDQjgiPjxkaXY+RHVua2xlcyBEZXNpZ246IERlYWt0aXZpZXJ0PC9kaXY+PGRpdiBjbGFzcz0iaU9ITkxiIj48c3BhbiBzdHlsZT0iaGVpZ2h0OjIwcHg7bGluZS1oZWlnaHQ6MjBweDt3aWR0aDoyMHB4IiBjbGFzcz0iejFhc0NlIGFxdnhjZCI+PHN2ZyBmb2N1c2FibGU9ImZhbHNlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDI0IDI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCI+PHJlY3QgZmlsbD0ibm9uZSIgaGVpZ2h0PSIyNCIgd2lkdGg9IjI0Ij48L3JlY3Q+PHBhdGggZD0iTTEyLDdjLTIuNzYsMC01LDIuMjQtNSw1czIuMjQsNSw1LDVzNS0yLjI0LDUtNVMxNC43Niw3LDEyLDdMMTIsN3ogTTIsMTNsMiwwYzAuNTUsMCwxLTAuNDUsMS0xcy0wLjQ1LTEtMS0xbC0yLDAgYy0wLjU1LDAtMSwwLjQ1LTEsMVMxLjQ1LDEzLDIsMTN6IE0yMCwxM2wyLDBjMC41NSwwLDEtMC40NSwxLTFzLTAuNDUtMS0xLTFsLTIsMGMtMC41NSwwLTEsMC40NS0xLDFTMTkuNDUsMTMsMjAsMTN6IE0xMSwydjIgYzAsMC41NSwwLjQ1LDEsMSwxczEtMC40NSwxLTFWMmMwLTAuNTUtMC40NS0xLTEtMVMxMSwxLjQ1LDExLDJ6IE0xMSwyMHYyYzAsMC41NSwwLjQ1LDEsMSwxczEtMC40NSwxLTF2LTJjMC0wLjU1LTAuNDUtMS0xLTEgQzExLjQ1LDE5LDExLDE5LjQ1LDExLDIweiBNNS45OSw0LjU4Yy0wLjM5LTAuMzktMS4wMy0wLjM5LTEuNDEsMGMtMC4zOSwwLjM5LTAuMzksMS4wMywwLDEuNDFsMS4wNiwxLjA2IGMwLjM5LDAuMzksMS4wMywwLjM5LDEuNDEsMHMwLjM5LTEuMDMsMC0xLjQxTDUuOTksNC41OHogTTE4LjM2LDE2Ljk1Yy0wLjM5LTAuMzktMS4wMy0wLjM5LTEuNDEsMGMtMC4zOSwwLjM5LTAuMzksMS4wMywwLDEuNDEgbDEuMDYsMS4wNmMwLjM5LDAuMzksMS4wMywwLjM5LDEuNDEsMGMwLjM5LTAuMzksMC4zOS0xLjAzLDAtMS40MUwxOC4zNiwxNi45NXogTTE5LjQyLDUuOTljMC4zOS0wLjM5LDAuMzktMS4wMywwLTEuNDEgYy0wLjM5LTAuMzktMS4wMy0wLjM5LTEuNDEsMGwtMS4wNiwxLjA2Yy0wLjM5LDAuMzktMC4zOSwxLjAzLDAsMS40MXMxLjAzLDAuMzksMS40MSwwTDE5LjQyLDUuOTl6IE03LjA1LDE4LjM2IGMwLjM5LTAuMzksMC4zOS0xLjAzLDAtMS40MWMtMC4zOS0wLjM5LTEuMDMtMC4zOS0xLjQxLDBsLTEuMDYsMS4wNmMtMC4zOSwwLjM5LTAuMzksMS4wMywwLDEuNDFzMS4wMywwLjM5LDEuNDEsMEw3LjA1LDE4LjM2eiI+PC9wYXRoPjwvc3ZnPjwvc3Bhbj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2ctbWVudS1pdGVtPjwvZy1tZW51PjwvZGl2PjwvZy1wb3B1cD48L3NwYW4+PC9zcGFuPjwvZGl2PjwvZGl2PjxkaXYganNjb250cm9sbGVyPSJ6R0xtM2IiIHN0eWxlPSJkaXNwbGF5Om5vbmUiIGRhdGEtcGNzPSIwIiBqc2FjdGlvbj0icmN1UTZiOm5wVDJtZCI+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iRmd2Z2pjIj48c3R5bGUgYXJpYS1oaWRkZW49InRydWUiPi5GZ3ZnamN7aGVpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVufTwvc3R5bGU+PGRpdiBjbGFzcz0iZ1RNdExiIGZwLW5oIiBpZD0ibGIiIGFyaWEtaGlkZGVuPSJ0cnVlIj48c3R5bGU+LmdUTXRMYnt6LWluZGV4OjEwMDE7cG9zaXRpb246YWJzb2x1dGU7dG9wOi0xMDAwcHh9PC9zdHlsZT48L2Rpdj48c3R5bGUgYXJpYS1oaWRkZW49InRydWUiPi5FTTFNcmJ7b3ZlcmZsb3c6aGlkZGVufS5IVGp0SGV7ZGlzcGxheTpub25lfS52VWQ0amJ7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDo5OTk3O3JpZ2h0OjA7Ym90dG9tOi0yMDBweDt0b3A6MDtsZWZ0OjA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNil9LkhidTR5e2hlaWdodDoxcHg7bGVmdDotMTAwMHB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHh9Lmp3OG1Je3Bvc2l0aW9uOmZpeGVkO3JpZ2h0OjA7Ym90dG9tOjA7dG9wOjA7bGVmdDowO3otaW5kZXg6OTk5ODt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2hpdGUtc3BhY2U6bm93cmFwO21heC1oZWlnaHQ6MTAwJTttYXgtd2lkdGg6MTAwJTtvdmVyZmxvdy14OmF1dG87b3ZlcmZsb3cteTphdXRvO3RleHQtYWxpZ246Y2VudGVyOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0uanc4bUk6OmFmdGVye2NvbnRlbnQ6Jyc7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjEwMCU7dmVydGljYWwtYWxpZ246bWlkZGxlfS5LeHZsV2N7Ym9yZGVyLXJhZGl1czoxNnB4O2JvcmRlci1yYWRpdXM6MTZweDtkaXNwbGF5OmlubGluZS1ibG9jazt6LWluZGV4Ojk5OTk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS14aFVHd2MpO3RleHQtYWxpZ246bGVmdDt3aGl0ZS1zcGFjZTpub3JtYWw7b3ZlcmZsb3cteTpoaWRkZW47Ym94LXNoYWRvdzowIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwwLjIpO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtoZWlnaHQ6NTIwcHg7d2lkdGg6MzExcHg7bWF4LXdpZHRoOjY4MHB4O3BhZGRpbmctYm90dG9tOjEwcHh9LkhPcTRIZXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDoxMDAlfS5IVGp0SGUuZmVGWmRiIC5kYnNGcmR7dmlzaWJpbGl0eTpoaWRkZW59LkhUanRIZS5mZUZaZGJ7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmRic0ZyZHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDoxMDAlfS53WDJZSGMgLmRic0ZyZHtwYWRkaW5nLWJvdHRvbToycHh9LnRIbHA4ZHtoZWlnaHQ6NDhweDtkaXNwbGF5OmlubGluZS1ibG9jaztjdXJzb3I6cG9pbnRlcjtib3JkZXI6MDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BhZGRpbmc6MH0udEhscDhkOmZvY3Vze2JvcmRlcjowO291dGxpbmU6MH0uUVM1Z3V7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtib3JkZXItcmFkaXVzOjk5OXJlbTtoZWlnaHQ6MzJweDtwYWRkaW5nOjAgMTZweDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7Zm9udC1mYW1pbHk6R29vZ2xlIFNhbnMsQXJpYWwsc2Fucy1zZXJpZjttYXJnaW4tbGVmdDo4cHg7dGV4dC1hbGlnbjpjZW50ZXI7Ym94LXNpemluZzpib3JkZXItYm94O3doaXRlLXNwYWNlOm5vd3JhcDtoZWlnaHQ6NDBweDtwYWRkaW5nOjAgMjBweDttYXJnaW4tbGVmdDoxMHB4O2xpbmUtaGVpZ2h0OjIwcHh9LmVPalBJZXthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6dmFyKC0tcnJKSlVjKTtiYWNrZ3JvdW5kOnZhcigtLXhoVUd3Yyk7ZGlzcGxheTpmbGV4O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtmb250LWZhbWlseTpHb29nbGUgU2FucyxBcmlhbCxzYW5zLXNlcmlmO2hlaWdodDoxMDAlO3BhZGRpbmc6MCA4cHh9LnVkMWptZntib3JkZXI6MXB4IHNvbGlkIHZhcigtLW1YWmtxYyk7Y29sb3I6dmFyKC0tcnJKSlVjKTtiYWNrZ3JvdW5kOnZhcigtLXhoVUd3Yyl9LnRIbHA4ZDpmb2N1cyAudWQxam1mLC50SGxwOGQ6YWN0aXZlIC51ZDFqbWZ7Ym9yZGVyOjFweCBzb2xpZCAjZThmMGZlO2JhY2tncm91bmQtY29sb3I6I2U4ZjBmZTtib3gtc2hhZG93OjAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLDAuMil9LnVkMWptZjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNlOGYwZmV9LnN5NHZNe2JhY2tncm91bmQtY29sb3I6dmFyKC0tTnNtMGNlKTtjb2xvcjp2YXIoLS1FcEZOVyk7cG9zaXRpb246cmVsYXRpdmU7Ym94LXNpemluZzpib3JkZXItYm94O3RyYW5zaXRpb246Ym94LXNoYWRvdyAyMDBtcyBjdWJpYy1iZXppZXIoMC40LDAsMC4yLDEpOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTtib3JkZXI6MnB4IHNvbGlkIHZhcigtLXhoVUd3Yyk7dGV4dC1kZWNvcmF0aW9uOm5vbmU7anVzdGlmeS1jb250ZW50OmNlbnRlcjtoZWlnaHQ6NDRweH0ucWlpRGpiIC5zeTR2TS5RUzVndXtoZWlnaHQ6MzZweH0udEhscDhkOmZvY3VzIC5zeTR2TSwudEhscDhkOmFjdGl2ZSAuc3k0dk17Ym9yZGVyOjJweCBzb2xpZCB2YXIoLS14aFVHd2MpO291dGxpbmU6MnB4IHNvbGlkIHZhcigtLU5zbTBjZSk7Ym94LXNoYWRvdzowIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwwLjIpO2JhY2tncm91bmQtY29sb3I6IzAwMWQzNX0ubVpLMjR7cG9pbnRlci1ldmVudHM6bm9uZX0ubVpLMjQgLnN5NHZNLC5tWksyNDpmb2N1cyAuc3k0dk0sLm1aSzI0OmFjdGl2ZSAuc3k0dk17Ym9yZGVyOjJweCBzb2xpZCAjZjFmM2Y0O2JhY2tncm91bmQtY29sb3I6I2YxZjNmNDtjb2xvcjp2YXIoLS1JWG94VWUpO2JveC1zaGFkb3c6bm9uZX0uc3k0dk06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMDAxZDM1O2JvcmRlcjoycHggc29saWQgIzAwMWQzNTt0ZXh0LWRlY29yYXRpb246bm9uZX0uU1NTZTVle2JhY2tncm91bmQ6I2YxZjNmNDtoZWlnaHQ6NDBweDt3aWR0aDo5MCU7bWFyZ2luLWxlZnQ6MH0uSWN6WjRie3dpZHRoOmF1dG87ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtwYWRkaW5nOjEycHggMjBweDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LmRBNnM5YyAuSWN6WjRie3BhZGRpbmc6MTJweCAxNnB4fS5ZZU1UdHtib3gtc2hhZG93Om5vbmV9LnFJQm5VY3toZWlnaHQ6MzJweDttYXJnaW4tdG9wOjhweH0uZEE2czljIC5xSUJuVWN7aGVpZ2h0OjI0cHg7bWFyZ2luLXRvcDoxMnB4fS5JWE1JVmJ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LXdyYXA6d3JhcH0ubmVEWXd7cG9zaXRpb246cmVsYXRpdmU7Y3Vyc29yOnBvaW50ZXJ9LlY1T0N0ZHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93fS5GWVhTYWR7bWFyZ2luLWxlZnQ6OXB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsaW5lLWhlaWdodDoyMHB4fS50bjNNbWR7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0uY0dZOGlme2Rpc3BsYXk6YmxvY2s7ZGlzcGxheTpub25lO292ZXJmbG93LXk6c2Nyb2xsO2hlaWdodDozNTBweDt3aWR0aDoxOTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7ei1pbmRleDoxMDAwO2JhY2tncm91bmQtY29sb3I6dmFyKC0teGhVR3djKTtib3gtc2hhZG93OjAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLDAuMik7Ym94LXNpemluZzpib3JkZXItYm94fS55SzU2YntsaXN0LXN0eWxlOm5vbmU7cGFkZGluZzowO21hcmdpbjowO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lkh2NVVFYntjb2xvcjp2YXIoLS1yckpKVWMpO3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7cG9pbnRlci1ldmVudHM6bm9uZX0uYjBwcnh7bWFyZ2luLXJpZ2h0OjIwcHg7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtkaXNwbGF5OmlubGluZS1ibG9ja31wYXRoLnlSUklIZntmaWxsOnZhcigtLWJiUXhBYil9LkFJNndBY3tib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1nUzVqWGIpO3BhZGRpbmc6MTVweCAxMHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93fS5lWmI1NHtmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmO2NvbG9yOnZhcigtLVlMTk5IYyk7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6Ym9sZDtsaW5lLWhlaWdodDoyNHB4fS5HZTBBdWJ7Y29sb3I6dmFyKC0tWUxOTkhjKTtmb250LXNpemU6MTRweDtjdXJzb3I6cG9pbnRlcjt0ZXh0LWRlY29yYXRpb246bm9uZTtsaXN0LXN0eWxlOm5vbmU7ZGlzcGxheTpmbGV4O3BhZGRpbmc6MTVweCA0MHB4IDE1cHggNTVweDtvdmVyZmxvdy14OmhpZGRlbn0uTHhoQURke2NvbG9yOnZhcigtLVlMTk5IYyk7Zm9udC1zaXplOjE2cHg7dGV4dC1kZWNvcmF0aW9uOm5vbmU7bGlzdC1zdHlsZTpub25lO2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjE1cHggMzBweCAxNXB4IDMwcHg7b3ZlcmZsb3cteDpoaWRkZW47Zm9udC13ZWlnaHQ6NzAwfS5HZTBBdWI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmFmYWZhfS5HZTBBdWI6Zm9jdXMsLkFJNndBYzpmb2N1c3tib3JkZXI6MnB4IHNvbGlkIHZhcigtLU5zbTBjZSl9LldyTk91Y3tib3JkZXI6MDtkaXNwbGF5Om5vbmU7ZmxleC1kaXJlY3Rpb246cm93O2p1c3RpZnktY29udGVudDpjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNpdGlvbjpoZWlnaHQgMG1zIDE1MG1zLG9wYWNpdHkgMTUwbXMgbGluZWFyO2JvdHRvbTowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMHB4O2JhY2tncm91bmQ6LW1vei1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUsI2ZmZiAzMyUpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUsI2ZmZiAzMyUpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSxyZ2JhKDI1NSwyNTUsMjU1LDApIDAlLCNmZmYgMzMlKX0uV3JOT3VjOmFjdGl2ZSwuV3JOT3VjOmZvY3Vze291dGxpbmU6MH0uU1NTZTVle2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToyMHB4O2NvbG9yOnZhcigtLVlMTk5IYyl9LlZvdm1JZHtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4O21hcmdpbi1sZWZ0OjEwcHh9Lkk5MFRWYntmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjIwcHg7bGluZS1oZWlnaHQ6MjRweDttYXJnaW46MDtjb2xvcjp2YXIoLS1ZTE5OSGMpO2ZvbnQtZmFtaWx5Okdvb2dsZSBTYW5zLEFyaWFsLHNhbnMtc2VyaWZ9LkFHOTZsYntmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjBweDtsZXR0ZXItc3BhY2luZzowLjJweDt3aGl0ZS1zcGFjZTpub3JtYWw7dGV4dC1hbGlnbjpsZWZ0fS53WDJZSGMgLkFHOTZsYnttYXJnaW4tYm90dG9tOjIwcHh9LlZEaXR5e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3c7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO3Bvc2l0aW9uOnJlbGF0aXZlO21pbi1oZWlnaHQ6NDhweDtoZWlnaHQ6YXV0bztmbGV4LXdyYXA6d3JhcDttYXJnaW4tYm90dG9tOjRweH0uc3BvS1Zke2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LnNwb0tWZCAuUVM1Z3V7bWFyZ2luOjAgNnB4O3BhZGRpbmc6MCA2NXB4O2hlaWdodDo0MHB4fS5HekxqTWR7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXJ9LnFpaURqYntmbGV4LWRpcmVjdGlvbjpjb2x1bW59LnFpaURqYiBidXR0b257cGFkZGluZzo2cHggMDtoZWlnaHQ6YXV0bzttaW4taGVpZ2h0OjQ4cHg7d2lkdGg6MTAwJX0ucWlpRGpiIC5RUzVndXtoZWlnaHQ6YXV0bzttYXJnaW4tbGVmdDowO21pbi1oZWlnaHQ6MzJweDtwYWRkaW5nOjNweCA1cHg7d2lkdGg6MTAwJTt3aGl0ZS1zcGFjZTpub3JtYWx9LkY0YTFse2NvbG9yOnZhcigtLUpLcXgyKTt0ZXh0LWRlY29yYXRpb246bm9uZX0uZUxaWXlme2NvbG9yOnZhcigtLVlMTk5IYyk7Zm9udC1mYW1pbHk6R29vZ2xlIFNhbnMsQXJpYWwsc2Fucy1zZXJpZjttYXJnaW4tYm90dG9tOjE2cHg7bWFyZ2luLXRvcDoyMHB4Oy13ZWJraXQtdGV4dC1zaXplLWFkanVzdDoxMDAlfS5qTGh3ZGN7Y29sb3I6dmFyKC0tWUxOTkhjKTtmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmfS55UzFubGR7Y29sb3I6dmFyKC0tSVhveFVlKTtmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmO21hcmdpbi10b3A6MWVtO21hcmdpbi1ib3R0b206MH0ud1gyWUhjIC5lTFpZeWZ7bWFyZ2luLWJvdHRvbToyNHB4fS53WDJZSGMgLnlTMW5sZHtjb2xvcjp2YXIoLS1iYlF4QWIpfS5JS2w3UXtvdmVyZmxvdy15OmF1dG87aGVpZ2h0OmF1dG87c2Nyb2xsLWJlaGF2aW9yOnNtb290aDtwb3NpdGlvbjpyZWxhdGl2ZX0uU2hjRzF7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtwYWRkaW5nOjAgMjBweDtoZWlnaHQ6YXV0b30ud1gyWUhjIC5TaGNHMXtwYWRkaW5nOjAgMTZweH0uZGJYTzl7bWFyZ2luOjA7cGFkZGluZzowO2NvbG9yOnZhcigtLUlYb3hVZSk7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZn0ud1gyWUhjIC5kYlhPOXtjb2xvcjp2YXIoLS1iYlF4QWIpfS5nb3dzWWR7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb24teDpsZWZ0O2JhY2tncm91bmQtcG9zaXRpb24teTpjZW50ZXI7YmFja2dyb3VuZC1zaXplOjE2cHg7bGlzdC1zdHlsZTpub25lO3BhZGRpbmctbGVmdDozNHB4O21hcmdpbjoxMnB4IDA7Zm9udC1zaXplOjE0cHg7LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OjEwMCV9aHRtbFtkaXI9J3J0bCddPi5nb3dzWWR7YmFja2dyb3VuZC1wb3NpdGlvbi14OnJpZ2h0fS5nb3dzWWQuaWJDRjBje2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsXDAwMDAzY3N2ZyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+XDAwMDAzY3BhdGggIGZpbGw9JyUyMzNjNDA0MycgZD0nTTEzLjk4IDQuODQ2NjhjLjI2LS4yNi4yNi0uNjggMC0uOTRsLTEuODg2Ny0xLjg4NjY3Yy0uMjYtLjI2LS42OC0uMjYtLjk0IDBMOC4xNiA1LjAxMzM1IDUuNTY2NjcgMi40MjAwMWMtLjUyLS41Mi0xLjM2NjY3LS41Mi0xLjg4NjY3IDBMMi40MTMzMyAzLjY4NjY4Yy0uNTIuNTItLjUyIDEuMzY2NjcgMCAxLjg4NjY3bDIuNTkzMzQgMi41OTMzM0wyIDExLjE3MzNWMTRoMi44MjY2N0w3Ljg0IDEwLjk4NjdsMi41OTMzIDIuNTkzM2MuNjMzNC42MzMzIDEuNDg2Ny40IDEuODg2NyAwbDEuMjY2Ny0xLjI2NjdjLjUyLS41Mi41Mi0xLjM2NjYgMC0xLjg4NjZsLTIuNTkzNC0yLjU5MzM1TDEzLjk4IDQuODQ2Njh6bS0xMC42Mi0uMjJsMS4yNi0xLjI2NjY3Ljg0NjY3Ljg0NjY3LS43ODY2Ny43OTMzMy45NC45NC43OTMzMy0uNzkzMzMuOC44LTEuMjY2NjYgMS4yNjY2N0wzLjM2IDQuNjI2Njh6bTcuNDg2NyA0Ljk2bC0uNzkzNC43OTMzMi45NC45NC43OTM0LS43OTMzLjg0NjYuODQ2Ni0xLjI2NjYgMS4yNjY3LTIuNTkzMzctMi41OTMzTDEwLjA0IDguNzgwMDFsLjgwNjcuODA2Njd6TTQuMjczMzMgMTIuNjY2N2gtLjk0di0uOTRMOS43NCA1LjMyMDAxbC44NjY3Ljg2NjY3LjA3MzMuMDczMzMtNi40MDY2NyA2LjQwNjY5ek0xMC42OCA0LjM3MzM1bC45NC0uOTQuOTQuOTQtLjk0Ljk0LS45NC0uOTR6Jy8+XDAwMDAzYy9zdmc+Iil9Lmdvd3NZZC5Hd3doR2Z7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCxcMDAwMDNjc3ZnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgdmlld0JveD0nMCAwIDI0IDI0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnICBmaWxsPSclMjMzYzQwNDMnPlwwMDAwM2NwYXRoIGQ9J00wIDBoMjR2MjRIMFYweicgZmlsbD0nbm9uZScvPlwwMDAwM2NwYXRoIGQ9J00xMiA1Ljk5TDE5LjUzIDE5SDQuNDdMMTIgNS45OU0xMiAyTDEgMjFoMjJMMTIgMnptMSAxNGgtMnYyaDJ2LTJ6bTAtNmgtMnY0aDJ2LTR6Jy8+XDAwMDAzYy9zdmc+Iil9Lmdvd3NZZC5NNmo5cWZ7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCxcMDAwMDNjc3ZnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgdmlld0JveD0nMCAwIDI0IDI0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPlwwMDAwM2NnIGZpbGw9JyUyMzNjNDA0MycgZmlsbC1ydWxlPSdldmVub2RkJyBjbGlwLXJ1bGU9J2V2ZW5vZGQnPlwwMDAwM2NnPlwwMDAwM2NwYXRoIGQ9J00yMSw4Yy0xLjQ1LDAtMi4yNiwxLjQ0LTEuOTMsMi41MWwtMy41NSwzLjU2Yy0wLjMtMC4wOS0wLjc0LTAuMDktMS4wNCwwbC0yLjU1LTIuNTVDMTIuMjcsMTAuNDUsMTEuNDYsOSwxMCw5IGMtMS40NSwwLTIuMjcsMS40NC0xLjkzLDIuNTJsLTQuNTYsNC41NUMyLjQ0LDE1Ljc0LDEsMTYuNTUsMSwxOGMwLDEuMSwwLjksMiwyLDJjMS40NSwwLDIuMjYtMS40NCwxLjkzLTIuNTFsNC41NS00LjU2IGMwLjMsMC4wOSwwLjc0LDAuMDksMS4wNCwwbDIuNTUsMi41NUMxMi43MywxNi41NSwxMy41NCwxOCwxNSwxOGMxLjQ1LDAsMi4yNy0xLjQ0LDEuOTMtMi41MmwzLjU2LTMuNTUgQzIxLjU2LDEyLjI2LDIzLDExLjQ1LDIzLDEwQzIzLDguOSwyMi4xLDgsMjEsOHonLz5cMDAwMDNjcG9seWdvbiBwb2ludHM9JzE1LDkgMTUuOTQsNi45MyAxOCw2IDE1Ljk0LDUuMDcgMTUsMyAxNC4wOCw1LjA3IDEyLDYgMTQuMDgsNi45MycvPlwwMDAwM2Nwb2x5Z29uIHBvaW50cz0nMy41LDExIDQsOSA2LDguNSA0LDggMy41LDYgMyw4IDEsOC41IDMsOScvPlwwMDAwM2MvZz5cMDAwMDNjL2c+XDAwMDAzYy9zdmc+Iil9Lmdvd3NZZC52OEJwZmJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCxcMDAwMDNjc3ZnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgdmlld0JveD0nMCAwIDI0IDI0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPlwwMDAwM2NwYXRoIGZpbGw9JyUyMzNjNDA0MycgZmlsbC1ydWxlPSdldmVub2RkJyBjbGlwLXJ1bGU9J2V2ZW5vZGQnIGQ9J001IDloM3YxMEg1em01LjUtNGgzdjE0aC0zem01LjUgOGgzdjZoLTN6Jy8+XDAwMDAzYy9zdmc+Iil9Lmdvd3NZZC5lMjFNYWN7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCxcMDAwMDNjc3ZnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz5cMDAwMDNjcGF0aCAgZmlsbD0nJTIzM2M0MDQzJyBkPSdNOC4zMzM5OCA1LjY2NjY3TDYuNjY3MzIgMiA1LjAwMDY1IDUuNjY2NjcgMS4zMzM5OCA3LjMzMzMzIDUuMDAwNjUgOWwxLjY2NjY3IDMuNjY2N0w4LjMzMzk4IDlsMy42NjY3Mi0xLjY2NjY3LTMuNjY2NzItMS42NjY2NnptMy42NjY3MiAzTDExLjE2NzMgMTAuNWwtMS44MzMzMi44MzMzIDEuODMzMzIuODMzNEwxMi4wMDA3IDE0bC44MzMzLTEuODMzMyAxLjgzMzMtLjgzMzRMMTIuODM0IDEwLjVsLS44MzMzLTEuODMzMzN6Jy8+XDAwMDAzYy9zdmc+Iil9Lmdvd3NZZC5vaEVXUGN7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCxcMDAwMDNjc3ZnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSclMjMzYzQwNDMnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+XDAwMDAzY3BhdGggZmlsbC1ydWxlPSdldmVub2RkJyBjbGlwLXJ1bGU9J2V2ZW5vZGQnIGQ9J00xMC4xNDgxIDcuNDA3NDNINi41OTI1NVY4LjU5MjYxSDEwLjE0ODFWNy40MDc0M1pNOS44MDkxNCAxMC45NjNIMy4wMzdWOS43Nzc4SDkuNDU3ODNDOS41NjczNCAxMC4xNjEgOS42ODU4NCAxMC41NTgzIDkuODA5MTQgMTAuOTYzWk0xMC4xNzUyIDEyLjE0ODJIMi40NDQ0QzIuMTI0NCAxMi4xNDgyIDEuODUxODEgMTEuOTM0OCAxLjg1MTgxIDExLjY4NTlWNC4zMTQwOUMxLjg1MTgxIDQuMDY1MjEgMi4xMjQ0IDMuODUxODcgMi40NDQ0IDMuODUxODdIMTAuNzM0OEMxMS4wNTQ4IDMuODUxODcgMTEuMzI3NCA0LjA2NTIxIDExLjMyNzQgNC4zMTQwOVY4LjAwMDAySDExLjMzMzNWOS45MzYxM0MxMS41MTE2IDkuOTkxMDQgMTEuNjkxIDEwLjA0NjQgMTEuODcwOSAxMC4xMDE5QzEyLjA4NjQgMTAuMTY4NCAxMi4zMDI1IDEwLjIzNTEgMTIuNTE4NSAxMC4zMDE1VjQuMzE0MDlDMTIuNTE4NSAzLjQwNzQzIDExLjcxMjYgMi42NjY2OSAxMC43NDA3IDIuNjY2NjlIMi40NDQ0QzEuNDcyNTUgMi42NjY2OSAwLjY2NjYyNiAzLjQxMzM1IDAuNjY2NjI2IDQuMzE0MDlWMTEuNjg1OUMwLjY2NjYyNiAxMi41OTI2IDEuNDcyNTUgMTMuMzMzNCAyLjQ0NDQgMTMuMzMzNEgxMC41NDM1QzEwLjQ0NDUgMTMuMDEyMiAxMC4zNDM0IDEyLjY4OCAxMC4yNDI0IDEyLjM2MzdDMTAuMjIgMTIuMjkxOCAxMC4xOTc2IDEyLjIyIDEwLjE3NTIgMTIuMTQ4MlpNNS40MDczNyA4LjU5MjYxSDMuMDM3VjUuMDM3MDZINS40MDczN1Y4LjU5MjYxWk0xMC4xNDgxIDYuMjIyMjRINi41OTI1NVY1LjAzNzA2SDEwLjE0ODFWNi4yMjIyNFonLz5cMDAwMDNjcGF0aCBkPSdNMTAgMTBDMTAuMzYwNiAxMS4zMTUyIDEwLjkxMjEgMTIuOTI3MyAxMS4yNzI3IDE0LjI0MjRMMTEuNzk4OCAxMi42NTE1TDEzLjgxODIgMTQuNjY2N0wxNC42NjY3IDEzLjgxODJMMTIuNjcyNyAxMS44MjQyTDE0LjI0MjQgMTEuMjcyN0MxMi45MjczIDEwLjkxMjEgMTEuMzE1MiAxMC4zODE4IDEwIDEwWicvPlwwMDAwM2Mvc3ZnPiIpfS5YV2xyZmZ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtwYWRkaW5nLXJpZ2h0OjEwcHg7bWFyZ2luOjA7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjQ4cHh9LmNHMERtZntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmctcmlnaHQ6MH0ucGVSTDJlLC5vOUQ1WmJ7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjtjb2xvcjp2YXIoLS1JWG94VWUpO3RleHQtZGVjb3JhdGlvbjpub25lO2ZvbnQtc2l6ZToxMnB4O2hlaWdodDo0OHB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OmNlbnRlcn0ucGVSTDJle3BhZGRpbmctbGVmdDo4cHg7bWFyZ2luLWxlZnQ6LThweDtwYWRkaW5nLXJpZ2h0OjhweDttYXJnaW4tcmlnaHQ6LThweH0ubzlENVpie21hcmdpbjowIDEwcHh9Lkt4dmxXY3t3aWR0aDo4MDBweDtoZWlnaHQ6YXV0bzttYXgtd2lkdGg6bm9uZX0uR1o3eE5le3BhZGRpbmc6MCAzMnB4fS5JS2w3UXt3aWR0aDphdXRvO2hlaWdodDphdXRvO3BhZGRpbmc6MCA0MHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS5JOTBUVmJ7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC10cmFuc2Zvcm06bm9uZTtjb2xvcjp2YXIoLS1ZTE5OSGMpO2ZvbnQtZmFtaWx5Okdvb2dsZSBTYW5zLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjI4cHg7bGluZS1oZWlnaHQ6MzZweDtmb250LXdlaWdodDo0MDA7bGV0dGVyLXNwYWNpbmc6MDttYXJnaW46MCBhdXRvO3BhZGRpbmc6MCAzMnB4fS5nb3dzWWR7bWFyZ2luOjEycHggMDtwYWRkaW5nLWxlZnQ6MzRweH0uVkRpdHl7bWFyZ2luLWJvdHRvbToyNHB4O3BhZGRpbmc6NXB4IDMycHggMH0uSWN6WjRie3BhZGRpbmc6MjRweCAzMnB4IDE4cHh9LnFJQm5VY3toZWlnaHQ6NDBweDt3aWR0aDo0MHB4O21hcmdpbi10b3A6NHB4fS5jR1k4aWZ7aGVpZ2h0OjQ1MHB4fS5JWE1JVmJ7cmlnaHQ6MzJweH0uWFdscmZme3Bvc2l0aW9uOnJlbGF0aXZlfS5wZVJMMmU6Zm9jdXMsLkY0YTFsOmZvY3VzLC5lT2pQSWU6Zm9jdXN7Ym9yZGVyOjFweCBzb2xpZCAjMDAxZDM1fUBtZWRpYSAobWF4LXdpZHRoOjg5MHB4KXsuS3h2bFdje3dpZHRoOjkwJX19QG1lZGlhIChtYXgtd2lkdGg6MzIwcHgpey5LeHZsV2N7d2lkdGg6MjYwcHg7aGVpZ2h0OjQ3MXB4fS5uZURZdyAuUVM1Z3V7cGFkZGluZzowIDVweH0uRllYU2Fke2Rpc3BsYXk6bm9uZX0udG4zTW1ke3Bvc2l0aW9uOnN0YXRpY30uY0dZOGlme3RvcDoxMnB4O3JpZ2h0OjFweDtsZWZ0OnVuc2V0fX1AbWVkaWEgKG1heC13aWR0aDoyODBweCl7LlFTNWd1e3BhZGRpbmc6MCA1cHh9fS55eUowOGMgLkt4dmxXY3toZWlnaHQ6Y2FsYygxMDAlIC0gNjRweCk7d2lkdGg6Y2FsYygxMDB2dyAtIDQ4cHgpfS55eUowOGMgLlZEaXR5e21hcmdpbi1ib3R0b206MH08L3N0eWxlPjxkaXYgY2xhc3M9IkhUanRIZSIgaWQ9InhlN0NPZSIgYXJpYS1sYWJlbD0iQmV2b3IgU2llIHp1ciBHb29nbGUgU3VjaGUgd2VpdGVyZ2VoZW4iIGFyaWEtbW9kYWw9InRydWUiIHJvbGU9ImRpYWxvZyIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFoSkFIQ0NBIiBzdHlsZT0iZGlzcGxheTogYmxvY2s7Ij48ZGl2IGNsYXNzPSJ2VWQ0amIiIGlkPSJLamNIUGMiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFoWkFIQ0NFIj48L2Rpdj48ZGl2IGlkPSJyR0RTbmIiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFrWkFIQ0NJIj48L2Rpdj48ZGl2IGNsYXNzPSJqdzhtSSI+PGRpdiBjbGFzcz0iSGJ1NHkiIGlkPSJzTkNRYiIgYXJpYS1saXZlPSJwb2xpdGUiPjwvZGl2PjxzcGFuPjxkaXYgY2xhc3M9Ikt4dmxXYyIgaWQ9IkNYUW5tYiI+PGRpdiBjbGFzcz0iSE9xNEhlIHdYMllIYyI+PGRpdiBjbGFzcz0iZGJzRnJkIj48ZGl2PjxkaXYgY2xhc3M9Ikljelo0YiIgaWQ9InVNb3VzYyI+PGltZyBjbGFzcz0icUlCblVjIiBzcmM9Imh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3Byb2R1Y3Rsb2dvcy9nb29nbGVnL3Y2LzI0cHguc3ZnIiBhbHQ9Ikdvb2dsZSIgZGF0YS1jc2lpZD0iaDRDclp2eUxDNU9maS1nUF9vcUotUXdfMiIgZGF0YS1hdGY9IjEiPjxkaXYgY2xhc3M9IklYTUlWYiI+PGRpdiBjbGFzcz0idG4zTW1kIj48YnV0dG9uIGNsYXNzPSJuZURZdyB0SGxwOGQiIGlkPSJ2YzNqb2YiIGFyaWEtbGFiZWw9IlNwcmFjaGUgYXVzd8OkaGxlbiwgZGUiIGFyaWEtZGlzYWJsZWQ9ImZhbHNlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgYXJpYS1oYXNwb3B1cD0idHJ1ZSIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWk1QUhDQ00iPjxkaXYgY2xhc3M9IlFTNWd1IHVkMWptZiIgcm9sZT0ibm9uZSI+PGRpdiBjbGFzcz0iVjVPQ3RkIj48c3ZnIGNsYXNzPSJIdjVVRWIiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCAzMCAzMCIgd2lkdGg9IjMwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTIuNSAxNUMyLjUgOC4xIDguMDg3NSAyLjUgMTQuOTg3NSAyLjVDMjEuOSAyLjUgMjcuNSA4LjEgMjcuNSAxNUMyNy41IDIxLjkgMjEuOSAyNy41IDE0Ljk4NzUgMjcuNUM4LjA4NzUgMjcuNSAyLjUgMjEuOSAyLjUgMTVaTTE5Ljk2MjUgMTBIMjMuNjVDMjIuNDUgNy45Mzc1IDIwLjUzNzUgNi4zMzc1IDE4LjIzNzUgNS41NUMxOC45ODc1IDYuOTM3NSAxOS41NjI1IDguNDM3NSAxOS45NjI1IDEwWk0xNSA1LjA1QzE2LjAzNzUgNi41NSAxNi44NSA4LjIxMjUgMTcuMzg3NSAxMEgxMi42MTI1QzEzLjE1IDguMjEyNSAxMy45NjI1IDYuNTUgMTUgNS4wNVpNNSAxNUM1IDE1Ljg2MjUgNS4xMjUgMTYuNyA1LjMyNSAxNy41SDkuNTVDOS40NSAxNi42NzUgOS4zNzUgMTUuODUgOS4zNzUgMTVDOS4zNzUgMTQuMTUgOS40NSAxMy4zMjUgOS41NSAxMi41SDUuMzI1QzUuMTI1IDEzLjMgNSAxNC4xMzc1IDUgMTVaTTYuMzUgMjBIMTAuMDM3NUMxMC40Mzc1IDIxLjU2MjUgMTEuMDEyNSAyMy4wNjI1IDExLjc2MjUgMjQuNDVDOS40NjI1IDIzLjY2MjUgNy41NSAyMi4wNzUgNi4zNSAyMFpNNi4zNSAxMEgxMC4wMzc1QzEwLjQzNzUgOC40Mzc1IDExLjAxMjUgNi45Mzc1IDExLjc2MjUgNS41NUM5LjQ2MjUgNi4zMzc1IDcuNTUgNy45MjUgNi4zNSAxMFpNMTUgMjQuOTVDMTMuOTYyNSAyMy40NSAxMy4xNSAyMS43ODc1IDEyLjYxMjUgMjBIMTcuMzg3NUMxNi44NSAyMS43ODc1IDE2LjAzNzUgMjMuNDUgMTUgMjQuOTVaTTExLjg3NSAxNUMxMS44NzUgMTUuODUgMTEuOTYyNSAxNi42NzUgMTIuMDc1IDE3LjVIMTcuOTI1QzE4LjAzNzUgMTYuNjc1IDE4LjEyNSAxNS44NSAxOC4xMjUgMTVDMTguMTI1IDE0LjE1IDE4LjAzNzUgMTMuMzEyNSAxNy45MjUgMTIuNUgxMi4wNzVDMTEuOTYyNSAxMy4zMTI1IDExLjg3NSAxNC4xNSAxMS44NzUgMTVaTTE4LjIzNzUgMjQuNDVDMTguOTg3NSAyMy4wNjI1IDE5LjU2MjUgMjEuNTYyNSAxOS45NjI1IDIwSDIzLjY1QzIyLjQ1IDIyLjA2MjUgMjAuNTM3NSAyMy42NjI1IDE4LjIzNzUgMjQuNDVaTTIwLjYyNSAxNUMyMC42MjUgMTUuODUgMjAuNTUgMTYuNjc1IDIwLjQ1IDE3LjVIMjQuNjc1QzI0Ljg3NSAxNi43IDI1IDE1Ljg2MjUgMjUgMTVDMjUgMTQuMTM3NSAyNC44NzUgMTMuMyAyNC42NzUgMTIuNUgyMC40NUMyMC41NSAxMy4zMjUgMjAuNjI1IDE0LjE1IDIwLjYyNSAxNVoiIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIj48L3BhdGg+PC9zdmc+PGRpdiBjbGFzcz0iRllYU2FkIj5kZTwvZGl2PjwvZGl2PjwvZGl2PjwvYnV0dG9uPjxkaXYgY2xhc3M9ImNHWThpZiIgaWQ9InRiVHViZCIgcm9sZT0ibWVudSIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWpKQUhDQ1EiPjxkaXYgY2xhc3M9InlLNTZiIiByb2xlPSJub25lIj48bGkgY2xhc3M9IkFJNndBYyBlWmI1NCIgYXJpYS1sYWJlbD0i4oCqRGV1dHNjaOKArCIgYXJpYS1kaXNhYmxlZD0idHJ1ZSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIj48ZGl2IGNsYXNzPSJiMHByeCIgYXJpYS1oaWRkZW49InRydWUiPjxzdmcgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggY2xhc3M9InlSUklIZiIgZD0iTTkgMTYuMTcwMUw0LjgzIDEyLjAwMDFMMy40MSAxMy40MTAxTDkgMTkuMDAwMUwyMSA3LjAwMDA5TDE5LjU5IDUuNTkwMDlMOSAxNi4xNzAxWiI+PC9wYXRoPjwvc3ZnPjwvZGl2PuKAqkRldXRzY2jigKw8L2xpPjxkaXY+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqkVuZ2xpc2ggKFVuaXRlZCBLaW5nZG9tKeKArCIgZGF0YS1obD0iZW4tR0IiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWpzb0tDQ1UiPuKAqkVuZ2xpc2ggKFVuaXRlZCBLaW5nZG9tKeKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqkVzcGHDsW9sIChFc3Bhw7FhKeKArCIgZGF0YS1obD0iZXMiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWpzb0tDQ1kiPuKAqkVzcGHDsW9sIChFc3Bhw7FhKeKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqkZyYW7Dp2FpcyAoRnJhbmNlKeKArCIgZGF0YS1obD0iZnIiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWpzb0tDQ2MiPuKAqkZyYW7Dp2FpcyAoRnJhbmNlKeKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqkl0YWxpYW5v4oCsIiBkYXRhLWhsPSJpdCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRanNvS0NDZyI+4oCqSXRhbGlhbm/igKw8L2xpPjxsaSBjbGFzcz0iTHhoQURkIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiPkFsbGUgU3ByYWNoZW48L2xpPjwvZGl2PjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKpBZnJpa2FhbnPigKwiIGRhdGEtaGw9ImFmIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0NrIj7igKpBZnJpa2FhbnPigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKphesmZcmJheWNhbuKArCIgZGF0YS1obD0iYXoiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDQ28iPuKAqmF6yZlyYmF5Y2Fu4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCqYm9zYW5za2nigKwiIGRhdGEtaGw9ImJzIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0NzIj7igKpib3NhbnNraeKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqmNhdGFsw6DigKwiIGRhdGEtaGw9ImNhIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0N3Ij7igKpjYXRhbMOg4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCqxIxlxaF0aW5h4oCsIiBkYXRhLWhsPSJjcyIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NDMCI+4oCqxIxlxaF0aW5h4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCqQ3ltcmFlZ+KArCIgZGF0YS1obD0iY3kiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDQzQiPuKAqkN5bXJhZWfigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKpEYW5za+KArCIgZGF0YS1obD0iZGEiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDQzgiPuKAqkRhbnNr4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCqZWVzdGnigKwiIGRhdGEtaGw9ImV0IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0RBIj7igKplZXN0aeKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqkVuZ2xpc2ggKFVuaXRlZCBLaW5nZG9tKeKArCIgZGF0YS1obD0iZW4tR0IiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDREUiPuKAqkVuZ2xpc2ggKFVuaXRlZCBLaW5nZG9tKeKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqkVuZ2xpc2ggKFVuaXRlZCBTdGF0ZXMp4oCsIiBkYXRhLWhsPSJlbi1VUyIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NESSI+4oCqRW5nbGlzaCAoVW5pdGVkIFN0YXRlcynigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKpFbmdsaXNo4oCsIiBkYXRhLWhsPSJlbiIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NETSI+4oCqRW5nbGlzaOKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqkVzcGHDsW9sIChFc3Bhw7FhKeKArCIgZGF0YS1obD0iZXMiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRFEiPuKAqkVzcGHDsW9sIChFc3Bhw7FhKeKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqkVzcGHDsW9sIChMYXRpbm9hbcOpcmljYSnigKwiIGRhdGEtaGw9ImVzLTQxOSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NEVSI+4oCqRXNwYcOxb2wgKExhdGlub2Ftw6lyaWNhKeKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqmV1c2thcmHigKwiIGRhdGEtaGw9ImV1IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0RZIj7igKpldXNrYXJh4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCqRmlsaXBpbm/igKwiIGRhdGEtaGw9ImZpbCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NEYyI+4oCqRmlsaXBpbm/igKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKpGcmFuw6dhaXMgKENhbmFkYSnigKwiIGRhdGEtaGw9ImZyLUNBIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0RnIj7igKpGcmFuw6dhaXMgKENhbmFkYSnigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKpGcmFuw6dhaXMgKEZyYW5jZSnigKwiIGRhdGEtaGw9ImZyIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0RrIj7igKpGcmFuw6dhaXMgKEZyYW5jZSnigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKpHYWVpbGdl4oCsIiBkYXRhLWhsPSJnYSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NEbyI+4oCqR2FlaWxnZeKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqmdhbGVnb+KArCIgZGF0YS1obD0iZ2wiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRHMiPuKAqmdhbGVnb+KArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqkhydmF0c2tp4oCsIiBkYXRhLWhsPSJociIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NEdyI+4oCqSHJ2YXRza2nigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKpJbmRvbmVzaWHigKwiIGRhdGEtaGw9ImlkIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0QwIj7igKpJbmRvbmVzaWHigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKppc2ladWx14oCsIiBkYXRhLWhsPSJ6dSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NENCI+4oCqaXNpWnVsdeKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqsOtc2xlbnNrYeKArCIgZGF0YS1obD0iaXMiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRDgiPuKAqsOtc2xlbnNrYeKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqkl0YWxpYW5v4oCsIiBkYXRhLWhsPSJpdCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NFQSI+4oCqSXRhbGlhbm/igKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKpLaXN3YWhpbGnigKwiIGRhdGEtaGw9InN3IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0VFIj7igKpLaXN3YWhpbGnigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKpsYXR2aWXFoXXigKwiIGRhdGEtaGw9Imx2IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0VJIj7igKpsYXR2aWXFoXXigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKpsaWV0dXZpxbPigKwiIGRhdGEtaGw9Imx0IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0VNIj7igKpsaWV0dXZpxbPigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKptYWd5YXLigKwiIGRhdGEtaGw9Imh1IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0VRIj7igKptYWd5YXLigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKpNZWxheXXigKwiIGRhdGEtaGw9Im1zIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0VVIj7igKpNZWxheXXigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKpOZWRlcmxhbmRz4oCsIiBkYXRhLWhsPSJubCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NFWSI+4oCqTmVkZXJsYW5kc+KArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqm5vcnNr4oCsIiBkYXRhLWhsPSJubyIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NFYyI+4oCqbm9yc2vigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKpv4oCYemJla+KArCIgZGF0YS1obD0idXoiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRWciPuKAqm/igJh6YmVr4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCqcG9sc2tp4oCsIiBkYXRhLWhsPSJwbCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NFayI+4oCqcG9sc2tp4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCqUG9ydHVndcOqcyAoQnJhc2lsKeKArCIgZGF0YS1obD0icHQtQlIiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRW8iPuKAqlBvcnR1Z3XDqnMgKEJyYXNpbCnigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKpQb3J0dWd1w6pzIChQb3J0dWdhbCnigKwiIGRhdGEtaGw9InB0LVBUIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0VzIj7igKpQb3J0dWd1w6pzIChQb3J0dWdhbCnigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKpyb23Dom7Eg+KArCIgZGF0YS1obD0icm8iIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRXciPuKAqnJvbcOibsSD4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCqc2hxaXDigKwiIGRhdGEtaGw9InNxIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0UwIj7igKpzaHFpcOKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqlNsb3ZlbsSNaW5h4oCsIiBkYXRhLWhsPSJzayIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NFNCI+4oCqU2xvdmVuxI1pbmHigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKpzbG92ZW7FocSNaW5h4oCsIiBkYXRhLWhsPSJzbCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NFOCI+4oCqc2xvdmVuxaHEjWluYeKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqnNycHNraSAobGF0aW5pY2Ep4oCsIiBkYXRhLWhsPSJzci1MYXRuIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0ZBIj7igKpzcnBza2kgKGxhdGluaWNhKeKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqlN1b21p4oCsIiBkYXRhLWhsPSJmaSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NGRSI+4oCqU3VvbWnigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKpTdmVuc2th4oCsIiBkYXRhLWhsPSJzdiIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NGSSI+4oCqU3ZlbnNrYeKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqlRp4bq/bmcgVmnhu4d04oCsIiBkYXRhLWhsPSJ2aSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NGTSI+4oCqVGnhur9uZyBWaeG7h3TigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKpUw7xya8OnZeKArCIgZGF0YS1obD0idHIiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRlEiPuKAqlTDvHJrw6dl4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCqzpXOu867zrfOvc65zrrOrOKArCIgZGF0YS1obD0iZWwiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRlUiPuKAqs6VzrvOu863zr3Ouc66zqzigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKrQsdC10LvQsNGA0YPRgdC60LDRj+KArCIgZGF0YS1obD0iYmUiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRlkiPuKAqtCx0LXQu9Cw0YDRg9GB0LrQsNGP4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCq0LHRitC70LPQsNGA0YHQutC44oCsIiBkYXRhLWhsPSJiZyIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NGYyI+4oCq0LHRitC70LPQsNGA0YHQutC44oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCq0LrRi9GA0LPRi9C30YfQsOKArCIgZGF0YS1obD0ia3kiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRmciPuKAqtC60YvRgNCz0YvQt9GH0LDigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKrQvNCw0LrQtdC00L7QvdGB0LrQuOKArCIgZGF0YS1obD0ibWsiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRmsiPuKAqtC80LDQutC10LTQvtC90YHQutC44oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCq0LzQvtC90LPQvtC74oCsIiBkYXRhLWhsPSJtbiIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NGbyI+4oCq0LzQvtC90LPQvtC74oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCq0KDRg9GB0YHQutC40LnigKwiIGRhdGEtaGw9InJ1IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0ZzIj7igKrQoNGD0YHRgdC60LjQueKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqtGB0YDQv9GB0LrQuCAo0ZvQuNGA0LjQu9C40YbQsCnigKwiIGRhdGEtaGw9InNyIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0Z3Ij7igKrRgdGA0L/RgdC60LggKNGb0LjRgNC40LvQuNGG0LAp4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCq0KPQutGA0LDRl9C90YHRjNC60LDigKwiIGRhdGEtaGw9InVrIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0YwIj7igKrQo9C60YDQsNGX0L3RgdGM0LrQsOKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAquGDpeGDkOGDoOGDl+GDo+GDmuGDmOKArCIgZGF0YS1obD0ia2EiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRjQiPuKAquGDpeGDkOGDoOGDl+GDo+GDmuGDmOKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqtKb0LDQt9Cw0psg0YLRltC70ZbigKwiIGRhdGEtaGw9ImtrIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0Y4Ij7igKrSm9Cw0LfQsNKbINGC0ZbQu9GW4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCq1bDVodW11aXWgNWl1bbigKwiIGRhdGEtaGw9Imh5IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0dBIj7igKrVsNWh1bXVpdaA1aXVtuKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAq9ei15HXqNeZ16rigKwiIGRhdGEtaGw9Iml3IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0dFIj48c3BhbiBkaXI9Imx0ciI+4oCr16LXkdeo15nXquKArDwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKvYp9ix2K/ZiOKArCIgZGF0YS1obD0idXIiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDR0kiPjxzcGFuIGRpcj0ibHRyIj7igKvYp9ix2K/ZiOKArDwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKvYp9mE2LnYsdio2YrYqeKArCIgZGF0YS1obD0iYXIiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDR00iPjxzcGFuIGRpcj0ibHRyIj7igKvYp9mE2LnYsdio2YrYqeKArDwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKvZgdin2LHYs9uM4oCsIiBkYXRhLWhsPSJmYSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NHUSI+PHNwYW4gZGlyPSJsdHIiPuKAq9mB2KfYsdiz24zigKw8L3NwYW4+PC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCq4Yqg4Yib4Yit4Yqb4oCsIiBkYXRhLWhsPSJhbSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NHVSI+4oCq4Yqg4Yib4Yit4Yqb4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCq4KSo4KWH4KSq4KS+4KSy4KWA4oCsIiBkYXRhLWhsPSJuZSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NHWSI+4oCq4KSo4KWH4KSq4KS+4KSy4KWA4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCq4KSu4KSw4KS+4KSg4KWA4oCsIiBkYXRhLWhsPSJtciIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NHYyI+4oCq4KSu4KSw4KS+4KSg4KWA4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCq4KS54KS/4KSo4KWN4KSm4KWA4oCsIiBkYXRhLWhsPSJoaSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NHZyI+4oCq4KS54KS/4KSo4KWN4KSm4KWA4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCq4Kas4Ka+4KaC4Kay4Ka+4oCsIiBkYXRhLWhsPSJibiIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NHayI+4oCq4Kas4Ka+4KaC4Kay4Ka+4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCq4Kiq4Kmw4Kic4Ki+4Kis4KmA4oCsIiBkYXRhLWhsPSJwYSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NHbyI+4oCq4Kiq4Kmw4Kic4Ki+4Kis4KmA4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCq4KqX4KuB4Kqc4Kqw4Kq+4Kqk4KuA4oCsIiBkYXRhLWhsPSJndSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NHcyI+4oCq4KqX4KuB4Kqc4Kqw4Kq+4Kqk4KuA4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCq4K6k4K6u4K6/4K604K+N4oCsIiBkYXRhLWhsPSJ0YSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NHdyI+4oCq4K6k4K6u4K6/4K604K+N4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCq4LCk4LGG4LCy4LGB4LCX4LGB4oCsIiBkYXRhLWhsPSJ0ZSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NHMCI+4oCq4LCk4LGG4LCy4LGB4LCX4LGB4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCq4LKV4LKo4LON4LKo4LKh4oCsIiBkYXRhLWhsPSJrbiIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NHNCI+4oCq4LKV4LKo4LON4LKo4LKh4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCq4LSu4LSy4LSv4LS+4LSz4LSC4oCsIiBkYXRhLWhsPSJtbCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NHOCI+4oCq4LSu4LSy4LSv4LS+4LSz4LSC4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCq4LeD4LeS4LaC4LeE4La94oCsIiBkYXRhLWhsPSJzaSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NIQSI+4oCq4LeD4LeS4LaC4LeE4La94oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCq4LmE4LiX4Lii4oCsIiBkYXRhLWhsPSJ0aCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NIRSI+4oCq4LmE4LiX4Lii4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCq4Lql4Lqy4Lqn4oCsIiBkYXRhLWhsPSJsbyIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NISSI+4oCq4Lql4Lqy4Lqn4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCq4YCZ4YC84YCU4YC64YCZ4YCs4oCsIiBkYXRhLWhsPSJteSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NITSI+4oCq4YCZ4YC84YCU4YC64YCZ4YCs4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCq4Z6B4Z+S4Z6Y4Z+C4Z6a4oCsIiBkYXRhLWhsPSJrbSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NIUSI+4oCq4Z6B4Z+S4Z6Y4Z+C4Z6a4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCq7ZWc6rWt7Ja04oCsIiBkYXRhLWhsPSJrbyIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NIVSI+4oCq7ZWc6rWt7Ja04oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCq5Lit5paH77yI6aaZ5riv77yJ4oCsIiBkYXRhLWhsPSJ6aC1ISyIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NIWSI+4oCq5Lit5paH77yI6aaZ5riv77yJ4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCq5pel5pys6Kqe4oCsIiBkYXRhLWhsPSJqYSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NIYyI+4oCq5pel5pys6Kqe4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCq566A5L2T5Lit5paH4oCsIiBkYXRhLWhsPSJ6aC1DTiIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NIZyI+4oCq566A5L2T5Lit5paH4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCq57mB6auU5Lit5paH4oCsIiBkYXRhLWhsPSJ6aC1UVyIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NIayI+4oCq57mB6auU5Lit5paH4oCsPC9saT48L2Rpdj48L2Rpdj48L2Rpdj48YnV0dG9uIGNsYXNzPSJuZURZdyB0SGxwOGQiIGlkPSJna3NTMWQiIHJvbGU9ImxpbmsiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFpcEFIQ0hvIj48ZGl2IGNsYXNzPSJRUzVndSB1ZDFqbWYiIHJvbGU9Im5vbmUiPkFubWVsZGVuPC9kaXY+PC9idXR0b24+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iR1o3eE5lIj48aDEgY2xhc3M9Ikk5MFRWYiIgaWQ9IlMzQm5FZSI+QmV2b3IgU2llIHp1IEdvb2dsZSB3ZWl0ZXJnZWhlbjwvaDE+PGRpdiBjbGFzcz0iQUc5NmxiIj48ZGl2IGNsYXNzPSJlTFpZeWYiPldpciB2ZXJ3ZW5kZW4gPGEgY2xhc3M9IkY0YTFsIiBocmVmPSJodHRwczovL3BvbGljaWVzLmdvb2dsZS5jb20vdGVjaG5vbG9naWVzL2Nvb2tpZXM/dXRtX3NvdXJjZT11Y2JzJmFtcDtobD1kZS1MVSIgdGFyZ2V0PSJfYmxhbmsiPkNvb2tpZXM8L2E+IHVuZCBEYXRlbiwgdW08dWwgY2xhc3M9ImRiWE85Ij48bGkgY2xhc3M9Imdvd3NZZCBpYkNGMGMiPkdvb2dsZS1EaWVuc3RlIHp1IGVyYnJpbmdlbiB1bmQgenUgYmV0cmVpYmVuPC9saT48bGkgY2xhc3M9Imdvd3NZZCBHd3doR2YiPkF1c2bDpGxsZSB6dSBwcsO8ZmVuIHVuZCBNYcOfbmFobWVuIGdlZ2VuIFNwYW0sIEJldHJ1ZyB1bmQgTWlzc2JyYXVjaCB6dSBlcmdyZWlmZW48L2xpPjxsaSBjbGFzcz0iZ293c1lkIHY4QnBmYiI+RGF0ZW4genUgWmllbGdydXBwZW5pbnRlcmFrdGlvbmVuIHVuZCBXZWJzaXRlc3RhdGlzdGlrZW4genUgZXJoZWJlbi4gTWl0IGRlbiBnZXdvbm5lbmVuIEluZm9ybWF0aW9uZW4gbcO2Y2h0ZW4gd2lyIHZlcnN0ZWhlbiwgd2llIHVuc2VyZSBEaWVuc3RlIHZlcndlbmRldCB3ZXJkZW4sIHVuZCBkaWUgUXVhbGl0w6R0IGRpZXNlciBEaWVuc3RlIHZlcmJlc3Nlcm4uPC9saT48L3VsPjwvZGl2PjxkaXYgY2xhc3M9ImVMWll5ZiI+V2VubiBTaWUg4oCeQWxsZSBha3plcHRpZXJlbuKAnCBhdXN3w6RobGVuLCB2ZXJ3ZW5kZW4gd2lyIENvb2tpZXMgdW5kIERhdGVuIGF1Y2gsIHVtPHVsIGNsYXNzPSJkYlhPOSI+PGxpIGNsYXNzPSJnb3dzWWQgTTZqOXFmIj5uZXVlIERpZW5zdGUgenUgZW50d2lja2VsbiB1bmQgenUgdmVyYmVzc2VybjwvbGk+PGxpIGNsYXNzPSJnb3dzWWQgdjhCcGZiIj5XZXJidW5nIGF1c3p1bGllZmVybiB1bmQgaWhyZSBXaXJrdW5nIHp1IG1lc3NlbjwvbGk+PGxpIGNsYXNzPSJnb3dzWWQgZTIxTWFjIj5qZSBuYWNoIElocmVuIEVpbnN0ZWxsdW5nZW4gcGVyc29uYWxpc2llcnRlIEluaGFsdGUgYW56dXplaWdlbjwvbGk+PGxpIGNsYXNzPSJnb3dzWWQgb2hFV1BjIj5wZXJzb25hbGlzaWVydGUgV2VyYnVuZyBhbnp1emVpZ2VuLCBhYmjDpG5naWcgdm9uIElocmVuIEVpbnN0ZWxsdW5nZW48L2xpPjwvdWw+PGRpdiBjbGFzcz0iakxod2RjIj5XZW5uIFNpZSDigJ5BbGxlIGFibGVobmVu4oCcIGF1c3fDpGhsZW4sIHZlcndlbmRlbiB3aXIgQ29va2llcyBuaWNodCBmw7xyIGRpZXNlIHp1c8OkdHpsaWNoZW4gWndlY2tlLjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InlTMW5sZCI+TmljaHQgcGVyc29uYWxpc2llcnRlIEluaGFsdGUgd2VyZGVuIHUuJm5ic3A7YS4gdm9uIEluaGFsdGVuLCBkaWUgU2llIHNpY2ggZ2VyYWRlIGFuc2VoZW4sIEFrdGl2aXTDpHRlbiBpbiBJaHJlciBha3RpdmVuIFN1Y2hzaXR6dW5nIHVuZCBJaHJlbSBTdGFuZG9ydCBiZWVpbmZsdXNzdC4gTmljaHQgcGVyc29uYWxpc2llcnRlIFdlcmJ1bmcgd2lyZCB2b24gZGVuIEluaGFsdGVuLCBkaWUgU2llIHNpY2ggZ2VyYWRlIGFuc2VoZW4sIHVuZCBJaHJlbSBhbGxnZW1laW5lbiBTdGFuZG9ydCBiZWVpbmZsdXNzdC4gUGVyc29uYWxpc2llcnRlIEluaGFsdGUgdW5kIFdlcmJ1bmcga8O2bm5lbiBhdWNoIHJlbGV2YW50ZXJlIEVyZ2Vibmlzc2UsIEVtcGZlaGx1bmdlbiB1bmQgaW5kaXZpZHVlbGxlIFdlcmJ1bmcgZW50aGFsdGVuLCBkaWUgYXVmIGZyw7xoZXJlbiBBa3Rpdml0w6R0ZW4gaW4gZGllc2VtIEJyb3dzZXIsIGV0d2EgU3VjaGFuZnJhZ2VuIGJlaSBHb29nbGUsIGJlcnVoZW4uIFNvZmVybiByZWxldmFudCwgdmVyd2VuZGVuIHdpciBDb29raWVzIHVuZCBEYXRlbiBhdcOfZXJkZW0sIHVtIEluaGFsdGUgdW5kIFdlcmJ1bmcgYWx0ZXJzZ2VyZWNodCB6dSBnZXN0YWx0ZW4uPC9kaXY+PGRpdiBjbGFzcz0ieVMxbmxkIj5Xw6RobGVuIFNpZSDigJ5XZWl0ZXJlIE9wdGlvbmVu4oCcIGF1cywgdW0gc2ljaCB6dXPDpHR6bGljaGUgSW5mb3JtYXRpb25lbiBhbnp1c2VoZW4sIGVpbnNjaGxpZcOfbGljaCBEZXRhaWxzIHp1bSBWZXJ3YWx0ZW4gSWhyZXIgRGF0ZW5zY2h1dHplaW5zdGVsbHVuZ2VuLiBTaWUga8O2bm5lbiBhdWNoIGplZGVyemVpdCA8c3Bhbj5nLmNvL3ByaXZhY3l0b29sczwvc3Bhbj4gYmVzdWNoZW4uPC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic3BvS1ZkIj48ZGl2IGNsYXNzPSJHekxqTWQiPjxidXR0b24gaWQ9Ilcwd2x0YyIgY2xhc3M9InRIbHA4ZCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UTRjSUlDSHMiPjxkaXYgY2xhc3M9IlFTNWd1IHN5NHZNIiByb2xlPSJub25lIj5BbGxlIGFibGVobmVuPC9kaXY+PC9idXR0b24+PGJ1dHRvbiBpZD0iTDJBR0xiIiBjbGFzcz0idEhscDhkIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRaVpBSENIdyI+PGRpdiBjbGFzcz0iUVM1Z3Ugc3k0dk0iIHJvbGU9Im5vbmUiPkFsbGUgYWt6ZXB0aWVyZW48L2Rpdj48L2J1dHRvbj48L2Rpdj48ZGl2IGNsYXNzPSJHekxqTWQiPjxidXR0b24gY2xhc3M9InRIbHA4ZCIgaWQ9IlZuakNjYiIgcm9sZT0ibGluayIgdGFiaW5kZXg9Ii0xIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRaUpBSENIMCI+PGEgY2xhc3M9ImVPalBJZSIgdGFiaW5kZXg9IjAiPldlaXRlcmUgT3B0aW9uZW48L2E+PC9idXR0b24+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iWFdscmZmIGNHMERtZiI+PGEgY2xhc3M9InBlUkwyZSIgaHJlZj0iaHR0cHM6Ly9wb2xpY2llcy5nb29nbGUuY29tL3ByaXZhY3k/aGw9ZGUtTFUmYW1wO2ZnPTEmYW1wO3V0bV9zb3VyY2U9dWNicyIgaWQ9IlJQM1Y1YyIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo1QUhDSDQiPkRhdGVuc2NodXR6PC9hPjxkaXYgY2xhc3M9Im85RDVaYiIgYXJpYS1oaWRkZW49InRydWUiPsK3PC9kaXY+PGEgY2xhc3M9InBlUkwyZSIgaHJlZj0iaHR0cHM6Ly9wb2xpY2llcy5nb29nbGUuY29tL3Rlcm1zP2hsPWRlLUxVJmFtcDtmZz0xJmFtcDt1dG1fc291cmNlPXVjYnMiIGlkPSJIUTFsYiIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWtKQUhDSDgiPk51dHp1bmdzYmVkaW5ndW5nZW48L2E+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9zcGFuPjwvZGl2PjwvZGl2PjxzY3JpcHQgbm9uY2U9ImFBN1ZhLWJlZWhJTHNsMmhGbFB0LWciIGFyaWEtaGlkZGVuPSJ0cnVlIj4oZnVuY3Rpb24oKXt2YXIgY29va2llRG9tYWluPScuZ29vZ2xlLmNvbSc7dmFyIGNvb2tpZVVwZGF0ZUNvbnNlbnRVcmw9Jyc7dmFyIHNDQVM9J0NBSVNIQWdCRWhKbmQzTmZNakF5TkRBM01qUXRNRjlTUXpFYUFtUmxJQUVhQmdpQW9LdTFCZyc7dmFyIHNDUlM9J0NBRVNIQWdCRWhKbmQzTmZNakF5TkRBM01qUXRNRjlTUXpFYUFtUmxJQUVhQmdpQW9LdTFCZyc7dmFyIHNMPTM0MTI4MDAwO3ZhciBzRUU9ZmFsc2U7dmFyIHNJVT0naHR0cHM6Ly9hY2NvdW50cy5nb29nbGUuY29tL1NlcnZpY2VMb2dpbj9obFx4M2RkZVx4MjZjb250aW51ZVx4M2RodHRwczovL3d3dy5nb29nbGUuY29tL1x4MjZnYWVceDNkY2Itbm9uZSc7dmFyIGNVPSdodHRwczovL2NvbnNlbnQuZ29vZ2xlLmNvbS9kP2NvbnRpbnVlXHgzZGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vXHgyNmdsXHgzZExVXHgyNm1ceDNkMFx4MjZwY1x4M2RzaHBceDI2dXhlXHgzZG5vbmVceDI2Y21ceDNkMlx4MjZobFx4M2RkZVx4MjZzcmNceDNkMic7dmFyIHJQVT0nJzt2YXIgclBPVT1bXTt2YXIgYUFVPSdodHRwczovL2NvbnNlbnQuZ29vZ2xlLmNvbS9zYXZlP2NvbnRpbnVlXHgzZGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vXHgyNmdsXHgzZExVXHgyNm1ceDNkMFx4MjZwY1x4M2RzaHBceDI2eFx4M2Q1XHgyNnNyY1x4M2QyXHgyNmhsXHgzZGRlXHgyNmJsXHgzZGd3c18yMDI0MDcyNC0wX1JDMVx4MjZ1eGVceDNkbm9uZVx4MjZjbVx4M2QyXHgyNnNldF9lb21ceDNkZmFsc2VceDI2c2V0X2Fwc1x4M2R0cnVlXHgyNnNldF9zY1x4M2R0cnVlJzt2YXIgckFVPSdodHRwczovL2NvbnNlbnQuZ29vZ2xlLmNvbS9zYXZlP2NvbnRpbnVlXHgzZGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vXHgyNmdsXHgzZExVXHgyNm1ceDNkMFx4MjZwY1x4M2RzaHBceDI2eFx4M2Q1XHgyNnNyY1x4M2QyXHgyNmhsXHgzZGRlXHgyNmJsXHgzZGd3c18yMDI0MDcyNC0wX1JDMVx4MjZ1eGVceDNkbm9uZVx4MjZjbVx4M2QyXHgyNnNldF9lb21ceDNkdHJ1ZSc7dmFyIHBDPSdTRUFSQ0hfSE9NRVBBR0UnO3ZhciBnTD0nbHUnO3ZhciBpc01vYmlsZT1mYWxzZTt2YXIgc3JwPWZhbHNlO3ZhciB1WEpTPWZhbHNlO3ZhciBpRU89dHJ1ZTt2YXIgdVdDPWZhbHNlO3ZhciBpU1I9ZmFsc2U7dmFyIGFhPWZ1bmN0aW9uKGEpe3ZhciBiPTA7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGI8YS5sZW5ndGg/e2RvbmU6ITEsdmFsdWU6YVtiKytdfTp7ZG9uZTohMH19fSxiYT10eXBlb2YgT2JqZWN0LmRlZmluZVByb3BlcnRpZXM9PSJmdW5jdGlvbiI/T2JqZWN0LmRlZmluZVByb3BlcnR5OmZ1bmN0aW9uKGEsYixjKXtpZihhPT1BcnJheS5wcm90b3R5cGV8fGE9PU9iamVjdC5wcm90b3R5cGUpcmV0dXJuIGE7YVtiXT1jLnZhbHVlO3JldHVybiBhfSxjYT1mdW5jdGlvbihhKXthPVsib2JqZWN0Ij09dHlwZW9mIGdsb2JhbFRoaXMmJmdsb2JhbFRoaXMsYSwib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmd2luZG93LCJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiwib2JqZWN0Ij09dHlwZW9mIGdsb2JhbCYmZ2xvYmFsXTtmb3IodmFyIGI9MDtiPGEubGVuZ3RoOysrYil7dmFyIGM9YVtiXTtpZihjJiZjLk1hdGg9PU1hdGgpcmV0dXJuIGN9dGhyb3cgRXJyb3IoImEiKTt9LGRhPWNhKHRoaXMpLHA9ZnVuY3Rpb24oYSxiKXtpZihiKWE6e3ZhciBjPWRhO2E9YS5zcGxpdCgiLiIpO2Zvcih2YXIgZD0wO2Q8YS5sZW5ndGgtMTtkKyspe3ZhciBmPWFbZF07aWYoIShmIGluIGMpKWJyZWFrIGE7Yz1jW2ZdfWE9YVthLmxlbmd0aC0xXTtkPWNbYV07Yj1iKGQpO2IhPWQmJmIhPW51bGwmJmJhKGMsYSx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX19O3AoIlN5bWJvbCIsZnVuY3Rpb24oYSl7aWYoYSlyZXR1cm4gYTt2YXIgYj1mdW5jdGlvbihlLGcpe3RoaXMuZz1lO2JhKHRoaXMsImRlc2NyaXB0aW9uIix7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmd9KX07Yi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nfTt2YXIgYz0ianNjb21wX3N5bWJvbF8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApKyJfIixkPTAsZj1mdW5jdGlvbihlKXtpZih0aGlzIGluc3RhbmNlb2YgZil0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wgaXMgbm90IGEgY29uc3RydWN0b3IiKTtyZXR1cm4gbmV3IGIoYysoZXx8IiIpKyJfIitkKyssZSl9O3JldHVybiBmfSk7cCgiU3ltYm9sLml0ZXJhdG9yIixmdW5jdGlvbihhKXtpZihhKXJldHVybiBhO2E9U3ltYm9sKCJTeW1ib2wuaXRlcmF0b3IiKTtmb3IodmFyIGI9IkFycmF5IEludDhBcnJheSBVaW50OEFycmF5IFVpbnQ4Q2xhbXBlZEFycmF5IEludDE2QXJyYXkgVWludDE2QXJyYXkgSW50MzJBcnJheSBVaW50MzJBcnJheSBGbG9hdDMyQXJyYXkgRmxvYXQ2NEFycmF5Ii5zcGxpdCgiICIpLGM9MDtjPGIubGVuZ3RoO2MrKyl7dmFyIGQ9ZGFbYltjXV07dHlwZW9mIGQ9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgZC5wcm90b3R5cGVbYV0hPSJmdW5jdGlvbiImJmJhKGQucHJvdG90eXBlLGEse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBlYShhYSh0aGlzKSl9fSl9cmV0dXJuIGF9KTt2YXIgZWE9ZnVuY3Rpb24oYSl7YT17bmV4dDphfTthW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc307cmV0dXJuIGF9LHE9ZnVuY3Rpb24oYSl7dmFyIGI9dHlwZW9mIFN5bWJvbCE9InVuZGVmaW5lZCImJlN5bWJvbC5pdGVyYXRvciYmYVtTeW1ib2wuaXRlcmF0b3JdO2lmKGIpcmV0dXJuIGIuY2FsbChhKTtpZih0eXBlb2YgYS5sZW5ndGg9PSJudW1iZXIiKXJldHVybntuZXh0OmFhKGEpfTt0aHJvdyBFcnJvcigiYmAiK1N0cmluZyhhKSk7fSxmYT10eXBlb2YgT2JqZWN0LmNyZWF0ZT09ImZ1bmN0aW9uIj9PYmplY3QuY3JlYXRlOmZ1bmN0aW9uKGEpe3ZhciBiPWZ1bmN0aW9uKCl7fTtiLnByb3RvdHlwZT1hO3JldHVybiBuZXcgYn0saGE7aWYodHlwZW9mIE9iamVjdC5zZXRQcm90b3R5cGVPZj09ImZ1bmN0aW9uIiloYT1PYmplY3Quc2V0UHJvdG90eXBlT2Y7ZWxzZXt2YXIgaWE7YTp7dmFyIGphPXthOiEwfSxrYT17fTt0cnl7a2EuX19wcm90b19fPWphO2lhPWthLmE7YnJlYWsgYX1jYXRjaChhKXt9aWE9ITF9aGE9aWE/ZnVuY3Rpb24oYSxiKXthLl9fcHJvdG9fXz1iO2lmKGEuX19wcm90b19fIT09Yil0aHJvdyBuZXcgVHlwZUVycm9yKGErIiBpcyBub3QgZXh0ZW5zaWJsZSIpO3JldHVybiBhfTpudWxsfXZhciBsYT1oYSxyPWZ1bmN0aW9uKGEsYil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLGIpfTtwKCJXZWFrTWFwIixmdW5jdGlvbihhKXtmdW5jdGlvbiBiKCl7fWZ1bmN0aW9uIGMoayl7dmFyIGw9dHlwZW9mIGs7cmV0dXJuIGw9PT0ib2JqZWN0IiYmayE9PW51bGx8fGw9PT0iZnVuY3Rpb24ifWZ1bmN0aW9uIGQoayl7aWYoIXIoayxlKSl7dmFyIGw9bmV3IGI7YmEoayxlLHt2YWx1ZTpsfSl9fWZ1bmN0aW9uIGYoayl7dmFyIGw9T2JqZWN0W2tdO2wmJihPYmplY3Rba109ZnVuY3Rpb24obSl7aWYobSBpbnN0YW5jZW9mIGIpcmV0dXJuIG07T2JqZWN0LmlzRXh0ZW5zaWJsZShtKSYmZChtKTtyZXR1cm4gbChtKX0pfWlmKGZ1bmN0aW9uKCl7aWYoIWF8fCFPYmplY3Quc2VhbClyZXR1cm4hMTt0cnl7dmFyIGs9T2JqZWN0LnNlYWwoe30pLGw9T2JqZWN0LnNlYWwoe30pLG09bmV3IGEoW1trLDJdLFtsLDNdXSk7aWYobS5nZXQoaykhPTJ8fG0uZ2V0KGwpIT0zKXJldHVybiExO20uZGVsZXRlKGspO20uc2V0KGwsNCk7cmV0dXJuIW0uaGFzKGspJiZtLmdldChsKT09NH1jYXRjaChuKXtyZXR1cm4hMX19KCkpcmV0dXJuIGE7dmFyIGU9IiRqc2NvbXBfaGlkZGVuXyIrTWF0aC5yYW5kb20oKTtmKCJmcmVlemUiKTtmKCJwcmV2ZW50RXh0ZW5zaW9ucyIpO2YoInNlYWwiKTt2YXIgZz0wLGg9ZnVuY3Rpb24oayl7dGhpcy5nPShnKz1NYXRoLnJhbmRvbSgpKzEpLnRvU3RyaW5nKCk7aWYoayl7az1xKGspO2Zvcih2YXIgbDshKGw9ay5uZXh0KCkpLmRvbmU7KWw9bC52YWx1ZSx0aGlzLnNldChsWzBdLGxbMV0pfX07aC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGssbCl7aWYoIWMoaykpdGhyb3cgRXJyb3IoImMiKTtkKGspO2lmKCFyKGssZSkpdGhyb3cgRXJyb3IoImRgIitrKTtrW2VdW3RoaXMuZ109bDtyZXR1cm4gdGhpc307aC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGspe3JldHVybiBjKGspJiZyKGssZSk/a1tlXVt0aGlzLmddOnZvaWQgMH07aC5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGspe3JldHVybiBjKGspJiZyKGssZSkmJnIoa1tlXSx0aGlzLmcpfTtoLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24oayl7cmV0dXJuIGMoaykmJgpyKGssZSkmJnIoa1tlXSx0aGlzLmcpP2RlbGV0ZSBrW2VdW3RoaXMuZ106ITF9O3JldHVybiBofSk7cCgiTWFwIixmdW5jdGlvbihhKXtpZihmdW5jdGlvbigpe2lmKCFhfHx0eXBlb2YgYSE9ImZ1bmN0aW9uInx8IWEucHJvdG90eXBlLmVudHJpZXN8fHR5cGVvZiBPYmplY3Quc2VhbCE9ImZ1bmN0aW9uIilyZXR1cm4hMTt0cnl7dmFyIGg9T2JqZWN0LnNlYWwoe3g6NH0pLGs9bmV3IGEocShbW2gsInMiXV0pKTtpZihrLmdldChoKSE9InMifHxrLnNpemUhPTF8fGsuZ2V0KHt4OjR9KXx8ay5zZXQoe3g6NH0sInQiKSE9a3x8ay5zaXplIT0yKXJldHVybiExO3ZhciBsPWsuZW50cmllcygpLG09bC5uZXh0KCk7aWYobS5kb25lfHxtLnZhbHVlWzBdIT1ofHxtLnZhbHVlWzFdIT0icyIpcmV0dXJuITE7bT1sLm5leHQoKTtyZXR1cm4gbS5kb25lfHxtLnZhbHVlWzBdLnghPTR8fG0udmFsdWVbMV0hPSJ0Inx8IWwubmV4dCgpLmRvbmU/ITE6ITB9Y2F0Y2gobil7cmV0dXJuITF9fSgpKXJldHVybiBhO3ZhciBiPW5ldyBXZWFrTWFwLGM9ZnVuY3Rpb24oaCl7dGhpc1swXT17fTt0aGlzWzFdPQplKCk7dGhpcy5zaXplPTA7aWYoaCl7aD1xKGgpO2Zvcih2YXIgazshKGs9aC5uZXh0KCkpLmRvbmU7KWs9ay52YWx1ZSx0aGlzLnNldChrWzBdLGtbMV0pfX07Yy5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGgsayl7aD1oPT09MD8wOmg7dmFyIGw9ZCh0aGlzLGgpO2wubGlzdHx8KGwubGlzdD10aGlzWzBdW2wuaWRdPVtdKTtsLnM/bC5zLnZhbHVlPWs6KGwucz17bmV4dDp0aGlzWzFdLEM6dGhpc1sxXS5DLGhlYWQ6dGhpc1sxXSxrZXk6aCx2YWx1ZTprfSxsLmxpc3QucHVzaChsLnMpLHRoaXNbMV0uQy5uZXh0PWwucyx0aGlzWzFdLkM9bC5zLHRoaXMuc2l6ZSsrKTtyZXR1cm4gdGhpc307Yy5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKGgpe2g9ZCh0aGlzLGgpO3JldHVybiBoLnMmJmgubGlzdD8oaC5saXN0LnNwbGljZShoLmluZGV4LDEpLGgubGlzdC5sZW5ndGh8fGRlbGV0ZSB0aGlzWzBdW2guaWRdLGgucy5DLm5leHQ9aC5zLm5leHQsaC5zLm5leHQuQz1oLnMuQyxoLnMuaGVhZD0KbnVsbCx0aGlzLnNpemUtLSwhMCk6ITF9O2MucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpc1swXT17fTt0aGlzWzFdPXRoaXNbMV0uQz1lKCk7dGhpcy5zaXplPTB9O2MucHJvdG90eXBlLmhhcz1mdW5jdGlvbihoKXtyZXR1cm4hIWQodGhpcyxoKS5zfTtjLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oaCl7cmV0dXJuKGg9ZCh0aGlzLGgpLnMpJiZoLnZhbHVlfTtjLnByb3RvdHlwZS5lbnRyaWVzPWZ1bmN0aW9uKCl7cmV0dXJuIGYodGhpcyxmdW5jdGlvbihoKXtyZXR1cm5baC5rZXksaC52YWx1ZV19KX07Yy5wcm90b3R5cGUua2V5cz1mdW5jdGlvbigpe3JldHVybiBmKHRoaXMsZnVuY3Rpb24oaCl7cmV0dXJuIGgua2V5fSl9O2MucHJvdG90eXBlLnZhbHVlcz1mdW5jdGlvbigpe3JldHVybiBmKHRoaXMsZnVuY3Rpb24oaCl7cmV0dXJuIGgudmFsdWV9KX07Yy5wcm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbihoLGspe2Zvcih2YXIgbD10aGlzLmVudHJpZXMoKSxtOyEobT1sLm5leHQoKSkuZG9uZTspbT0KbS52YWx1ZSxoLmNhbGwoayxtWzFdLG1bMF0sdGhpcyl9O2MucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl09Yy5wcm90b3R5cGUuZW50cmllczt2YXIgZD1mdW5jdGlvbihoLGspe3ZhciBsPWsmJnR5cGVvZiBrO2w9PSJvYmplY3QifHxsPT0iZnVuY3Rpb24iP2IuaGFzKGspP2w9Yi5nZXQoayk6KGw9IiIrICsrZyxiLnNldChrLGwpKTpsPSJwXyIrazt2YXIgbT1oWzBdW2xdO2lmKG0mJnIoaFswXSxsKSlmb3IoaD0wO2g8bS5sZW5ndGg7aCsrKXt2YXIgbj1tW2hdO2lmKGshPT1rJiZuLmtleSE9PW4ua2V5fHxrPT09bi5rZXkpcmV0dXJue2lkOmwsbGlzdDptLGluZGV4OmgsczpufX1yZXR1cm57aWQ6bCxsaXN0Om0saW5kZXg6LTEsczp2b2lkIDB9fSxmPWZ1bmN0aW9uKGgsayl7dmFyIGw9aFsxXTtyZXR1cm4gZWEoZnVuY3Rpb24oKXtpZihsKXtmb3IoO2wuaGVhZCE9aFsxXTspbD1sLkM7Zm9yKDtsLm5leHQhPWwuaGVhZDspcmV0dXJuIGw9bC5uZXh0LHtkb25lOiExLHZhbHVlOmsobCl9O2w9bnVsbH1yZXR1cm57ZG9uZTohMCx2YWx1ZTp2b2lkIDB9fSl9LGU9ZnVuY3Rpb24oKXt2YXIgaD17fTtyZXR1cm4gaC5DPWgubmV4dD1oLmhlYWQ9aH0sZz0wO3JldHVybiBjfSk7cCgiT2JqZWN0LnZhbHVlcyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXt2YXIgYz1bXSxkO2ZvcihkIGluIGIpcihiLGQpJiZjLnB1c2goYltkXSk7cmV0dXJuIGN9fSk7cCgiT2JqZWN0LmlzIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIsYyl7cmV0dXJuIGI9PT1jP2IhPT0wfHwxL2I9PT0xL2M6YiE9PWImJmMhPT1jfX0pO3AoIkFycmF5LnByb3RvdHlwZS5pbmNsdWRlcyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe3ZhciBkPXRoaXM7ZCBpbnN0YW5jZW9mIFN0cmluZyYmKGQ9U3RyaW5nKGQpKTt2YXIgZj1kLmxlbmd0aDtjPWN8fDA7Zm9yKGM8MCYmKGM9TWF0aC5tYXgoYytmLDApKTtjPGY7YysrKXt2YXIgZT1kW2NdO2lmKGU9PT1ifHxPYmplY3QuaXMoZSxiKSlyZXR1cm4hMH1yZXR1cm4hMX19KTtwKCJTdHJpbmcucHJvdG90eXBlLmluY2x1ZGVzIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIsYyl7aWYodGhpcz09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJUaGUgJ3RoaXMnIHZhbHVlIGZvciBTdHJpbmcucHJvdG90eXBlLmluY2x1ZGVzIG11c3Qgbm90IGJlIG51bGwgb3IgdW5kZWZpbmVkIik7aWYoYiBpbnN0YW5jZW9mIFJlZ0V4cCl0aHJvdyBuZXcgVHlwZUVycm9yKCJGaXJzdCBhcmd1bWVudCB0byBTdHJpbmcucHJvdG90eXBlLmluY2x1ZGVzIG11c3Qgbm90IGJlIGEgcmVndWxhciBleHByZXNzaW9uIik7cmV0dXJuKHRoaXMrIiIpLmluZGV4T2YoYixjfHwwKSE9PS0xfX0pO3AoIk51bWJlci5pc0Zpbml0ZSIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtyZXR1cm4gdHlwZW9mIGIhPT0ibnVtYmVyIj8hMTohaXNOYU4oYikmJmIhPT1JbmZpbml0eSYmYiE9PS1JbmZpbml0eX19KTt2YXIgbWE9ZnVuY3Rpb24oYSxiKXthIGluc3RhbmNlb2YgU3RyaW5nJiYoYSs9IiIpO3ZhciBjPTAsZD0hMSxmPXtuZXh0OmZ1bmN0aW9uKCl7aWYoIWQmJmM8YS5sZW5ndGgpe3ZhciBlPWMrKztyZXR1cm57dmFsdWU6YihlLGFbZV0pLGRvbmU6ITF9fWQ9ITA7cmV0dXJue2RvbmU6ITAsdmFsdWU6dm9pZCAwfX19O2ZbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiBmfTtyZXR1cm4gZn07cCgiQXJyYXkucHJvdG90eXBlLnZhbHVlcyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbigpe3JldHVybiBtYSh0aGlzLGZ1bmN0aW9uKGIsYyl7cmV0dXJuIGN9KX19KTtwKCJTZXQiLGZ1bmN0aW9uKGEpe2lmKGZ1bmN0aW9uKCl7aWYoIWF8fHR5cGVvZiBhIT0iZnVuY3Rpb24ifHwhYS5wcm90b3R5cGUuZW50cmllc3x8dHlwZW9mIE9iamVjdC5zZWFsIT0iZnVuY3Rpb24iKXJldHVybiExO3RyeXt2YXIgYz1PYmplY3Quc2VhbCh7eDo0fSksZD1uZXcgYShxKFtjXSkpO2lmKCFkLmhhcyhjKXx8ZC5zaXplIT0xfHxkLmFkZChjKSE9ZHx8ZC5zaXplIT0xfHxkLmFkZCh7eDo0fSkhPWR8fGQuc2l6ZSE9MilyZXR1cm4hMTt2YXIgZj1kLmVudHJpZXMoKSxlPWYubmV4dCgpO2lmKGUuZG9uZXx8ZS52YWx1ZVswXSE9Y3x8ZS52YWx1ZVsxXSE9YylyZXR1cm4hMTtlPWYubmV4dCgpO3JldHVybiBlLmRvbmV8fGUudmFsdWVbMF09PWN8fGUudmFsdWVbMF0ueCE9NHx8ZS52YWx1ZVsxXSE9ZS52YWx1ZVswXT8hMTpmLm5leHQoKS5kb25lfWNhdGNoKGcpe3JldHVybiExfX0oKSlyZXR1cm4gYTt2YXIgYj1mdW5jdGlvbihjKXt0aGlzLmc9bmV3IE1hcDtpZihjKXtjPQpxKGMpO2Zvcih2YXIgZDshKGQ9Yy5uZXh0KCkpLmRvbmU7KXRoaXMuYWRkKGQudmFsdWUpfXRoaXMuc2l6ZT10aGlzLmcuc2l6ZX07Yi5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGMpe2M9Yz09PTA/MDpjO3RoaXMuZy5zZXQoYyxjKTt0aGlzLnNpemU9dGhpcy5nLnNpemU7cmV0dXJuIHRoaXN9O2IucHJvdG90eXBlLmRlbGV0ZT1mdW5jdGlvbihjKXtjPXRoaXMuZy5kZWxldGUoYyk7dGhpcy5zaXplPXRoaXMuZy5zaXplO3JldHVybiBjfTtiLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuZy5jbGVhcigpO3RoaXMuc2l6ZT0wfTtiLnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24oYyl7cmV0dXJuIHRoaXMuZy5oYXMoYyl9O2IucHJvdG90eXBlLmVudHJpZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLmVudHJpZXMoKX07Yi5wcm90b3R5cGUudmFsdWVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZy52YWx1ZXMoKX07Yi5wcm90b3R5cGUua2V5cz1iLnByb3RvdHlwZS52YWx1ZXM7Yi5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1iLnByb3RvdHlwZS52YWx1ZXM7Yi5wcm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbihjLGQpe3ZhciBmPXRoaXM7dGhpcy5nLmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIGMuY2FsbChkLGUsZSxmKX0pfTtyZXR1cm4gYn0pOwp2YXIgdD10aGlzfHxzZWxmLG5hPWZ1bmN0aW9uKGEsYil7YTp7dmFyIGM9WyJDTE9TVVJFX0ZMQUdTIl07Zm9yKHZhciBkPXQsZj0wO2Y8Yy5sZW5ndGg7ZisrKWlmKGQ9ZFtjW2ZdXSxkPT1udWxsKXtjPW51bGw7YnJlYWsgYX1jPWR9YT1jJiZjW2FdO3JldHVybiBhIT1udWxsP2E6Yn07ZnVuY3Rpb24gdSgpe3Rocm93IEVycm9yKCJlIik7fWZ1bmN0aW9uIG9hKGEsYil7Yj1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYik7cmV0dXJuIGE9PW51bGw/YjphK2J9dmFyIHBhPXZvaWQgMCxxYSxyYT10eXBlb2YgVGV4dERlY29kZXIhPT0idW5kZWZpbmVkIjtmdW5jdGlvbiBzYShhKXt0LnNldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyBhO30sMCl9O3ZhciB0YT1TdHJpbmcucHJvdG90eXBlLnRyaW0/ZnVuY3Rpb24oYSl7cmV0dXJuIGEudHJpbSgpfTpmdW5jdGlvbihhKXtyZXR1cm4vXltcc1x4YTBdKihbXHNcU10qPylbXHNceGEwXSokLy5leGVjKGEpWzFdfTt2YXIgdWE9bmEoNjEwNDAxMzAxLCExKSx2YT1uYSgxODg1ODg3MzYsITApLHdhPW5hKDY0NTE3MjM0MyxuYSgxLCEwKSk7dmFyIHYseGE9dC5uYXZpZ2F0b3I7dj14YT94YS51c2VyQWdlbnREYXRhfHxudWxsOm51bGw7ZnVuY3Rpb24geWEoYSl7cmV0dXJuIHVhP3Y/di5icmFuZHMuc29tZShmdW5jdGlvbihiKXtyZXR1cm4oYj1iLmJyYW5kKSYmYi5pbmRleE9mKGEpIT0tMX0pOiExOiExfWZ1bmN0aW9uIHcoYSl7dmFyIGI7YTp7aWYoYj10Lm5hdmlnYXRvcilpZihiPWIudXNlckFnZW50KWJyZWFrIGE7Yj0iIn1yZXR1cm4gYi5pbmRleE9mKGEpIT0tMX07ZnVuY3Rpb24geSgpe3JldHVybiB1YT8hIXYmJnYuYnJhbmRzLmxlbmd0aD4wOiExfWZ1bmN0aW9uIHphKCl7cmV0dXJuIHcoIlNhZmFyaSIpJiYhKEFhKCl8fCh5KCk/MDp3KCJDb2FzdCIpKXx8KHkoKT8wOncoIk9wZXJhIikpfHwoeSgpPzA6dygiRWRnZSIpKXx8KHkoKT95YSgiTWljcm9zb2Z0IEVkZ2UiKTp3KCJFZGcvIikpfHwoeSgpP3lhKCJPcGVyYSIpOncoIk9QUiIpKXx8dygiRmlyZWZveCIpfHx3KCJGeGlPUyIpfHx3KCJTaWxrIil8fHcoIkFuZHJvaWQiKSl9ZnVuY3Rpb24gQWEoKXtyZXR1cm4geSgpP3lhKCJDaHJvbWl1bSIpOih3KCJDaHJvbWUiKXx8dygiQ3JpT1MiKSkmJiEoeSgpPzA6dygiRWRnZSIpKXx8dygiU2lsayIpfWZ1bmN0aW9uIEJhKCl7cmV0dXJuIHcoIkFuZHJvaWQiKSYmIShBYSgpfHx3KCJGaXJlZm94Iil8fHcoIkZ4aU9TIil8fCh5KCk/MDp3KCJPcGVyYSIpKXx8dygiU2lsayIpKX07dmFyIENhPUFycmF5LnByb3RvdHlwZS5pbmRleE9mP2Z1bmN0aW9uKGEsYil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoYSxiLHZvaWQgMCl9OmZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGE9PT0ic3RyaW5nIilyZXR1cm4gdHlwZW9mIGIhPT0ic3RyaW5nInx8Yi5sZW5ndGghPTE/LTE6YS5pbmRleE9mKGIsMCk7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspaWYoYyBpbiBhJiZhW2NdPT09YilyZXR1cm4gYztyZXR1cm4tMX0sRGE9QXJyYXkucHJvdG90eXBlLmZvckVhY2g/ZnVuY3Rpb24oYSxiLGMpe0FycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoYSxiLGMpfTpmdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPWEubGVuZ3RoLGY9dHlwZW9mIGE9PT0ic3RyaW5nIj9hLnNwbGl0KCIiKTphLGU9MDtlPGQ7ZSsrKWUgaW4gZiYmYi5jYWxsKGMsZltlXSxlLGEpfTt2YXIgRWE9eSgpPyExOncoIlRyaWRlbnQiKXx8dygiTVNJRSIpO0JhKCk7QWEoKTt6YSgpO3ZhciBGYT17fSx6PW51bGwsSmE9ZnVuY3Rpb24oKXt2YXIgYT1bXTtIYShJYSxmdW5jdGlvbihiKXthLnB1c2goYil9KTtyZXR1cm4gYX0sS2E9ZnVuY3Rpb24oYSl7dmFyIGI9YS5sZW5ndGgsYz1iKjMvNDtjJTM/Yz1NYXRoLmZsb29yKGMpOiI9LiIuaW5kZXhPZihhW2ItMV0pIT0tMSYmKGM9Ij0uIi5pbmRleE9mKGFbYi0yXSkhPS0xP2MtMjpjLTEpO3ZhciBkPW5ldyBVaW50OEFycmF5KGMpLGY9MDtIYShhLGZ1bmN0aW9uKGUpe2RbZisrXT1lfSk7cmV0dXJuIGYhPT1jP2Quc3ViYXJyYXkoMCxmKTpkfSxIYT1mdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoayl7Zm9yKDtkPGEubGVuZ3RoOyl7dmFyIGw9YS5jaGFyQXQoZCsrKSxtPXpbbF07aWYobSE9bnVsbClyZXR1cm4gbTtpZighL15bXHNceGEwXSokLy50ZXN0KGwpKXRocm93IEVycm9yKCJmYCIrbCk7fXJldHVybiBrfUxhKCk7Zm9yKHZhciBkPTA7Oyl7dmFyIGY9YygtMSksZT1jKDApLGc9Yyg2NCksaD1jKDY0KTtpZihoPT09CjY0JiZmPT09LTEpYnJlYWs7YihmPDwyfGU+PjQpO2chPTY0JiYoYihlPDw0JjI0MHxnPj4yKSxoIT02NCYmYihnPDw2JjE5MnxoKSl9fSxMYT1mdW5jdGlvbigpe2lmKCF6KXt6PXt9O2Zvcih2YXIgYT0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkiLnNwbGl0KCIiKSxiPVsiKy89IiwiKy8iLCItXz0iLCItXy4iLCItXyJdLGM9MDtjPDU7YysrKXt2YXIgZD1hLmNvbmNhdChiW2NdLnNwbGl0KCIiKSk7RmFbY109ZDtmb3IodmFyIGY9MDtmPGQubGVuZ3RoO2YrKyl7dmFyIGU9ZFtmXTt6W2VdPT09dm9pZCAwJiYoeltlXT1mKX19fX07dmFyIE1hPXR5cGVvZiBVaW50OEFycmF5IT09InVuZGVmaW5lZCIsTmE9IUVhJiZ0eXBlb2YgYnRvYT09PSJmdW5jdGlvbiI7ZnVuY3Rpb24gT2EoYSl7aWYoIU5hKXt2YXIgYjtiPT09dm9pZCAwJiYoYj0wKTtMYSgpO2I9RmFbYl07Zm9yKHZhciBjPUFycmF5KE1hdGguZmxvb3IoYS5sZW5ndGgvMykpLGQ9Yls2NF18fCIiLGY9MCxlPTA7ZjxhLmxlbmd0aC0yO2YrPTMpe3ZhciBnPWFbZl0saD1hW2YrMV0saz1hW2YrMl0sbD1iW2c+PjJdO2c9YlsoZyYzKTw8NHxoPj40XTtoPWJbKGgmMTUpPDwyfGs+PjZdO2s9YltrJjYzXTtjW2UrK109IiIrbCtnK2gra31sPTA7az1kO3N3aXRjaChhLmxlbmd0aC1mKXtjYXNlIDI6bD1hW2YrMV0saz1iWyhsJjE1KTw8Ml18fGQ7Y2FzZSAxOmE9YVtmXSxjW2VdPSIiK2JbYT4+Ml0rYlsoYSYzKTw8NHxsPj40XStrK2R9cmV0dXJuIGMuam9pbigiIil9Yj0iIjtjPTA7Zm9yKGQ9YS5sZW5ndGgtMTAyNDA7YzxkOyliKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYS5zdWJhcnJheShjLGMrPTEwMjQwKSk7Yis9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGM/YS5zdWJhcnJheShjKTphKTtyZXR1cm4gYnRvYShiKX12YXIgUGE9L1stXy5dL2csUWE9eyItIjoiKyIsXzoiLyIsIi4iOiI9In07ZnVuY3Rpb24gUmEoYSl7cmV0dXJuIFFhW2FdfHwiIn1mdW5jdGlvbiBTYShhKXtpZighTmEpcmV0dXJuIEthKGEpO1BhLnRlc3QoYSkmJihhPWEucmVwbGFjZShQYSxSYSkpO2E9YXRvYihhKTtmb3IodmFyIGI9bmV3IFVpbnQ4QXJyYXkoYS5sZW5ndGgpLGM9MDtjPGEubGVuZ3RoO2MrKyliW2NdPWEuY2hhckNvZGVBdChjKTtyZXR1cm4gYn12YXIgQT17fTt2YXIgVGEsQj1mdW5jdGlvbihhLGIpe2lmKGIhPT1BKXRocm93IEVycm9yKCJnIik7dGhpcy5nPWE7aWYoYSE9bnVsbCYmYS5sZW5ndGg9PT0wKXRocm93IEVycm9yKCJoIik7fTt2YXIgVWE7dmFyIFZhPXR5cGVvZiBTeW1ib2w9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgU3ltYm9sKCk9PT0ic3ltYm9sIjtmdW5jdGlvbiBXYShhKXtyZXR1cm4gdHlwZW9mIFN5bWJvbD09PSJmdW5jdGlvbiImJnR5cGVvZiBTeW1ib2woKT09PSJzeW1ib2wiP1N5bWJvbCgpOmF9dmFyIEM9V2EoKSxYYT1XYSgiMmV4Iik7dmFyIFlhPVZhP2Z1bmN0aW9uKGEsYil7YVtDXXw9Yn06ZnVuY3Rpb24oYSxiKXthLkQhPT12b2lkIDA/YS5EfD1iOk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGEse0Q6e3ZhbHVlOmIsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9fSl9LEQ9VmE/ZnVuY3Rpb24oYSl7cmV0dXJuIGFbQ118MH06ZnVuY3Rpb24oYSl7cmV0dXJuIGEuRHwwfSxFPVZhP2Z1bmN0aW9uKGEpe3JldHVybiBhW0NdfTpmdW5jdGlvbihhKXtyZXR1cm4gYS5EfSxGPVZhP2Z1bmN0aW9uKGEsYil7YVtDXT1ifTpmdW5jdGlvbihhLGIpe2EuRCE9PXZvaWQgMD9hLkQ9YjpPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhLHtEOnt2YWx1ZTpiLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCxlbnVtZXJhYmxlOiExfX0pfTtmdW5jdGlvbiBaYShhLGIpe0YoYiwoYXwwKSYtMTQ1OTEpfWZ1bmN0aW9uICRhKGEsYil7RihiLChhfDM0KSYtMTQ1NTcpfTt2YXIgYWI9e30sYmI9e307ZnVuY3Rpb24gY2IoYSl7cmV0dXJuISghYXx8dHlwZW9mIGEhPT0ib2JqZWN0Inx8YS5nIT09YmIpfWZ1bmN0aW9uIGRiKGEpe3JldHVybiBhIT09bnVsbCYmdHlwZW9mIGE9PT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkoYSkmJmEuY29uc3RydWN0b3I9PT1PYmplY3R9ZnVuY3Rpb24gZWIoYSxiLGMpe2lmKCFBcnJheS5pc0FycmF5KGEpfHxhLmxlbmd0aClyZXR1cm4hMTt2YXIgZD1EKGEpO2lmKGQmMSlyZXR1cm4hMDtpZighKGImJihBcnJheS5pc0FycmF5KGIpP2IuaW5jbHVkZXMoYyk6Yi5oYXMoYykpKSlyZXR1cm4hMTtGKGEsZHwxKTtyZXR1cm4hMH12YXIgRztmdW5jdGlvbiBmYihhLGIpeyhiPUc/YltHXTp2b2lkIDApJiYoYVtHXT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChiKSl9dmFyIGdiO3ZhciBoYj10eXBlb2YgVWludDhBcnJheS5wcm90b3R5cGUuc2xpY2U9PT0iZnVuY3Rpb24iO3ZhciBpYixqYixrYjtmdW5jdGlvbiBsYihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgImJvb2xlYW4iOnJldHVybiBqYnx8KGpiPVswLHZvaWQgMCwhMF0pO2Nhc2UgIm51bWJlciI6cmV0dXJuIGE+MD92b2lkIDA6YT09PTA/a2J8fChrYj1bMCx2b2lkIDBdKTpbLWEsdm9pZCAwXTtjYXNlICJzdHJpbmciOnJldHVyblswLGFdO2Nhc2UgIm9iamVjdCI6cmV0dXJuIGF9fQpmdW5jdGlvbiBtYihhLGIsYyl7YT09bnVsbCYmKGE9aWIpO2liPXZvaWQgMDtpZihhPT1udWxsKXt2YXIgZD05NjtjPyhhPVtjXSxkfD01MTIpOmE9W107YiYmKGQ9ZCYtMTY3NjA4MzN8KGImMTAyMyk8PDE0KX1lbHNle2lmKCFBcnJheS5pc0FycmF5KGEpKXRocm93IEVycm9yKCJpIik7ZD1EKGEpO2lmKGQmMjA0OCl0aHJvdyBFcnJvcigiaiIpO2lmKGQmNjQpcmV0dXJuIGE7ZHw9NjQ7aWYoYyYmKGR8PTUxMixjIT09YVswXSkpdGhyb3cgRXJyb3IoImsiKTthOntjPWE7dmFyIGY9Yy5sZW5ndGg7aWYoZil7dmFyIGU9Zi0xO2lmKGRiKGNbZV0pKXtkfD0yNTY7Yj1lLSgrISEoZCY1MTIpLTEpO2lmKGI+PTEwMjQpdGhyb3cgRXJyb3IoImwiKTtkPWQmLTE2NzYwODMzfChiJjEwMjMpPDwxNDticmVhayBhfX1pZihiKXtiPU1hdGgubWF4KGIsZi0oKyEhKGQmNTEyKS0xKSk7aWYoYj4xMDI0KXRocm93IEVycm9yKCJtIik7ZD1kJi0xNjc2MDgzM3woYiYxMDIzKTw8MTR9fX1GKGEsZCk7cmV0dXJuIGF9O2Z1bmN0aW9uIG5iKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAibnVtYmVyIjpyZXR1cm4gaXNGaW5pdGUoYSk/YTpTdHJpbmcoYSk7Y2FzZSAiYm9vbGVhbiI6cmV0dXJuIGE/MTowO2Nhc2UgIm9iamVjdCI6aWYoYSlpZihBcnJheS5pc0FycmF5KGEpKXtpZihlYihhLHZvaWQgMCwwKSlyZXR1cm59ZWxzZXtpZihNYSYmYSE9bnVsbCYmYSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpcmV0dXJuIE9hKGEpO2lmKGEgaW5zdGFuY2VvZiBCKXt2YXIgYj1hLmc7cmV0dXJuIGI9PW51bGw/IiI6dHlwZW9mIGI9PT0ic3RyaW5nIj9iOmEuZz1PYShiKX19fXJldHVybiBhfTtmdW5jdGlvbiBvYihhLGIsYyl7dmFyIGQ9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYSksZj1kLmxlbmd0aCxlPWImMjU2P2RbZi0xXTp2b2lkIDA7Zis9ZT8tMTowO2ZvcihiPWImNTEyPzE6MDtiPGY7YisrKWRbYl09YyhkW2JdKTtpZihlKXtiPWRbYl09e307Zm9yKHZhciBnIGluIGUpYltnXT1jKGVbZ10pfWZiKGQsYSk7cmV0dXJuIGR9ZnVuY3Rpb24gcGIoYSxiLGMsZCxmKXtpZihhIT1udWxsKXtpZihBcnJheS5pc0FycmF5KGEpKWE9ZWIoYSx2b2lkIDAsMCk/dm9pZCAwOmYmJkQoYSkmMj9hOnFiKGEsYixjLGQhPT12b2lkIDAsZik7ZWxzZSBpZihkYihhKSl7dmFyIGU9e30sZztmb3IoZyBpbiBhKWVbZ109cGIoYVtnXSxiLGMsZCxmKTthPWV9ZWxzZSBhPWIoYSxkKTtyZXR1cm4gYX19CmZ1bmN0aW9uIHFiKGEsYixjLGQsZil7dmFyIGU9ZHx8Yz9EKGEpOjA7ZD1kPyEhKGUmMzIpOnZvaWQgMDtmb3IodmFyIGc9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYSksaD0wO2g8Zy5sZW5ndGg7aCsrKWdbaF09cGIoZ1toXSxiLGMsZCxmKTtjJiYoZmIoZyxhKSxjKGUsZykpO3JldHVybiBnfWZ1bmN0aW9uIHJiKGEpe3JldHVybiBhLmNhPT09YWI/YS50b0pTT04oKTpuYihhKX07ZnVuY3Rpb24gc2IoYSxiLGMpe2M9Yz09PXZvaWQgMD8kYTpjO2lmKGEhPW51bGwpe2lmKE1hJiZhIGluc3RhbmNlb2YgVWludDhBcnJheSlyZXR1cm4gYj9hOm5ldyBVaW50OEFycmF5KGEpO2lmKEFycmF5LmlzQXJyYXkoYSkpe3ZhciBkPUQoYSk7aWYoZCYyKXJldHVybiBhO2ImJihiPWQ9PT0wfHwhIShkJjMyKSYmIShkJjY0fHwhKGQmMTYpKSk7cmV0dXJuIGI/KEYoYSwoZHwzNCkmLTEyMjkzKSxhKTpxYihhLHNiLGQmND8kYTpjLCEwLCEwKX1hLmNhPT09YWImJihjPWEuQixkPUUoYyksYT1kJjI/YTp0YihhLGMsZCwhMCkpO3JldHVybiBhfX1mdW5jdGlvbiB0YihhLGIsYyxkKXthPWEuY29uc3RydWN0b3I7aWI9Yj11YihiLGMsZCk7Yj1uZXcgYShiKTtpYj12b2lkIDA7cmV0dXJuIGJ9CmZ1bmN0aW9uIHViKGEsYixjKXt2YXIgZD1jfHxiJjI/JGE6WmEsZj0hIShiJjMyKTthPW9iKGEsYixmdW5jdGlvbihlKXtyZXR1cm4gc2IoZSxmLGQpfSk7WWEoYSwzMnwoYz8yOjApKTtyZXR1cm4gYX07ZnVuY3Rpb24gdmIoYSxiLGMsZCl7Yj1kKygrISEoYiY1MTIpLTEpO2lmKCEoYjwwfHxiPj1hLmxlbmd0aHx8Yj49YykpcmV0dXJuIGFbYl19CnZhciB3Yj1mdW5jdGlvbihhLGIsYyxkKXtpZihjPT09LTEpcmV0dXJuIG51bGw7dmFyIGY9Yj4+MTQmMTAyM3x8NTM2ODcwOTEyO2lmKGM+PWYpe2lmKGImMjU2KXJldHVybiBhW2EubGVuZ3RoLTFdW2NdfWVsc2V7dmFyIGU9YS5sZW5ndGg7aWYoZCYmYiYyNTYmJihkPWFbZS0xXVtjXSxkIT1udWxsKSl7aWYodmIoYSxiLGYsYykmJlhhIT1udWxsKXt2YXIgZzthPShnPVVhKSE9bnVsbD9nOlVhPXt9O2c9YVtYYV18fDA7Zz49NHx8KGFbWGFdPWcrMSxnPUVycm9yKCksZy5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODJ8fChnLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mj17fSksZy5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODIuc2V2ZXJpdHk9ImluY2lkZW50IixzYShnKSl9cmV0dXJuIGR9cmV0dXJuIHZiKGEsYixmLGMpfX07ZnVuY3Rpb24gSChhLGIsYyxkLGYpe3ZhciBlPWI+PjE0JjEwMjN8fDUzNjg3MDkxMjtpZihjPj1lfHxmJiYhd2Epe3ZhciBnPWI7aWYoYiYyNTYpZj1hW2EubGVuZ3RoLTFdO2Vsc2V7aWYoZD09bnVsbClyZXR1cm47Zj1hW2UrKCshIShiJjUxMiktMSldPXt9O2d8PTI1Nn1mW2NdPWQ7YzxlJiYoYVtjKygrISEoYiY1MTIpLTEpXT12b2lkIDApO2chPT1iJiZGKGEsZyl9ZWxzZSBhW2MrKCshIShiJjUxMiktMSldPWQsYiYyNTYmJihhPWFbYS5sZW5ndGgtMV0sYyBpbiBhJiZkZWxldGUgYVtjXSl9CnZhciB4Yj1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZj1FKGEpLGU9d2IoYSxmLGMsZCk7aWYoZSE9bnVsbCYmZS5jYT09PWFiKXtiPWUuQjt2YXIgZz1FKGIpO2I9ZyYyP3RiKGUsYixnLCExKTplO2IhPT1lJiZIKGEsZixjLGIsZCk7cmV0dXJuIGIuQn1pZihBcnJheS5pc0FycmF5KGUpKXt2YXIgaD1EKGUpO2gmMj9nPXViKGUsaCwhMSk6Zz1lO2c9bWIoZyxiWzBdLGJbMV0pfWVsc2UgZz1tYih2b2lkIDAsYlswXSxiWzFdKTtnIT09ZSYmSChhLGYsYyxnLGQpO3JldHVybiBnfTtmdW5jdGlvbiB5YihhKXtpZih0eXBlb2YgYT09PSJzdHJpbmciKXJldHVybntidWZmZXI6U2EoYSksSTohMX07aWYoQXJyYXkuaXNBcnJheShhKSlyZXR1cm57YnVmZmVyOm5ldyBVaW50OEFycmF5KGEpLEk6ITF9O2lmKGEuY29uc3RydWN0b3I9PT1VaW50OEFycmF5KXJldHVybntidWZmZXI6YSxJOiExfTtpZihhLmNvbnN0cnVjdG9yPT09QXJyYXlCdWZmZXIpcmV0dXJue2J1ZmZlcjpuZXcgVWludDhBcnJheShhKSxJOiExfTtpZihhLmNvbnN0cnVjdG9yPT09Qil7aWYoQSE9PUEpdGhyb3cgRXJyb3IoImciKTt2YXIgYj1hLmc7Yj1iPT1udWxsfHxNYSYmYiE9bnVsbCYmYiBpbnN0YW5jZW9mIFVpbnQ4QXJyYXk/Yjp0eXBlb2YgYj09PSJzdHJpbmciP1NhKGIpOm51bGw7cmV0dXJue2J1ZmZlcjooYj09bnVsbD9iOmEuZz1iKXx8bmV3IFVpbnQ4QXJyYXkoMCksSTohMH19aWYoYSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpcmV0dXJue2J1ZmZlcjpuZXcgVWludDhBcnJheShhLmJ1ZmZlcixhLmJ5dGVPZmZzZXQsYS5ieXRlTGVuZ3RoKSxJOiExfTt0aHJvdyBFcnJvcigidiIpO307dmFyIEFiPWZ1bmN0aW9uKGEsYil7dGhpcy5qPW51bGw7dGhpcy52PSExO3RoaXMuZz10aGlzLmk9dGhpcy5sPTA7emIodGhpcyxhLGIpfSx6Yj1mdW5jdGlvbihhLGIsYyl7Yz1jPT09dm9pZCAwP3t9OmM7YS5PPWMuTz09PXZvaWQgMD8hMTpjLk87YiYmKGI9eWIoYiksYS5qPWIuYnVmZmVyLGEudj1iLkksYS5sPTAsYS5pPWEuai5sZW5ndGgsYS5nPWEubCl9O0FiLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuaj1udWxsO3RoaXMudj0hMTt0aGlzLmc9dGhpcy5pPXRoaXMubD0wO3RoaXMuTz0hMX07dmFyIEk9ZnVuY3Rpb24oYSxiKXthLmc9YjtpZihiPmEuaSl0aHJvdyBFcnJvcigidGAiK2IrImAiK2EuaSk7fSxKPWZ1bmN0aW9uKGEpe3ZhciBiPWEuaixjPWEuZyxkPWJbYysrXSxmPWQmMTI3O2lmKGQmMTI4JiYoZD1iW2MrK10sZnw9KGQmMTI3KTw8NyxkJjEyOCYmKGQ9YltjKytdLGZ8PShkJjEyNyk8PDE0LGQmMTI4JiYoZD1iW2MrK10sZnw9KGQmMTI3KTw8MjEsZCYxMjgmJihkPWJbYysrXSxmfD1kPDwyOCxkJjEyOCYmYltjKytdJjEyOCYmYltjKytdJjEyOCYmYltjKytdJjEyOCYmYltjKytdJjEyOCYmYltjKytdJjEyOCkpKSkpdGhyb3cgRXJyb3IoInMiKTtJKGEsYyk7cmV0dXJuIGZ9LEJiPWZ1bmN0aW9uKGEsYil7aWYoYjwwKXRocm93IEVycm9yKCJ1YCIrYik7dmFyIGM9YS5nLGQ9YytiO2lmKGQ+YS5pKXRocm93IEVycm9yKCJ0YCIrKGEuaS1jKSsiYCIrYik7YS5nPWQ7cmV0dXJuIGN9LENiPVtdO3ZhciBFYj1mdW5jdGlvbihhLGIpe2lmKENiLmxlbmd0aCl7dmFyIGM9Q2IucG9wKCk7emIoYyxhLGIpO2E9Y31lbHNlIGE9bmV3IEFiKGEsYik7dGhpcy5nPWE7dGhpcy5qPXRoaXMuZy5nO3RoaXMuaT10aGlzLmw9LTE7RGIodGhpcyxiKX0sRGI9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/e306YjthLmJhPWIuYmE9PT12b2lkIDA/ITE6Yi5iYX0sRmI9ZnVuY3Rpb24oYSl7dmFyIGI9YS5nO2lmKGIuZz09Yi5pKXJldHVybiExO2Euaj1hLmcuZzt2YXIgYz1KKGEuZyk+Pj4wO2I9Yz4+PjM7YyY9NztpZighKGM+PTAmJmM8PTUpKXRocm93IEVycm9yKCJvYCIrYysiYCIrYS5qKTtpZihiPDEpdGhyb3cgRXJyb3IoInBgIitiKyJgIithLmopO2EubD1iO2EuaT1jO3JldHVybiEwfSxHYj1mdW5jdGlvbihhKXtzd2l0Y2goYS5pKXtjYXNlIDA6aWYoYS5pIT0wKUdiKGEpO2Vsc2UgYTp7YT1hLmc7Zm9yKHZhciBiPWEuZyxjPWIrMTAsZD1hLmo7YjxjOylpZigoZFtiKytdJjEyOCk9PT0KMCl7SShhLGIpO2JyZWFrIGF9dGhyb3cgRXJyb3IoInMiKTt9YnJlYWs7Y2FzZSAxOmE9YS5nO0koYSxhLmcrOCk7YnJlYWs7Y2FzZSAyOmEuaSE9Mj9HYihhKTooYj1KKGEuZyk+Pj4wLGE9YS5nLEkoYSxhLmcrYikpO2JyZWFrO2Nhc2UgNTphPWEuZztJKGEsYS5nKzQpO2JyZWFrO2Nhc2UgMzpiPWEubDtkb3tpZighRmIoYSkpdGhyb3cgRXJyb3IoInEiKTtpZihhLmk9PTQpe2lmKGEubCE9Yil0aHJvdyBFcnJvcigiciIpO2JyZWFrfUdiKGEpfXdoaWxlKDEpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoIm9gIithLmkrImAiK2Euaik7fX0sSGI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuZy5pLGY9SihhLmcpPj4+MCxlPWEuZy5nK2YsZz1lLWQ7Zzw9MCYmKGEuZy5pPWUsYyhiLGEsdm9pZCAwLHZvaWQgMCx2b2lkIDApLGc9ZS1hLmcuZyk7aWYoZyl0aHJvdyBFcnJvcigibmAiK2YrImAiKyhmLWcpKTthLmcuZz1lO2EuZy5pPWR9LEliPVtdO3ZhciBKYixLPWZ1bmN0aW9uKGEsYixjKXt0aGlzLkI9bWIoYSxiLGMpfTtLLnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm4gS2IodGhpcyl9O0sucHJvdG90eXBlLkk9ZnVuY3Rpb24oKXtyZXR1cm4hIShEKHRoaXMuQikmMil9O0sucHJvdG90eXBlLmNhPWFiO0sucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7dHJ5e3JldHVybiBKYj0hMCxLYih0aGlzKS50b1N0cmluZygpfWZpbmFsbHl7SmI9ITF9fTtmdW5jdGlvbiBLYihhKXt2YXIgYj1KYj9hLkI6cWIoYS5CLHJiLHZvaWQgMCx2b2lkIDAsITEpO3ZhciBjPSFKYjt2YXIgZD12YT92b2lkIDA6YS5jb25zdHJ1Y3Rvci52YTt2YXIgZj1FKGM/YS5COmIpO2lmKGE9Yi5sZW5ndGgpe3ZhciBlPWJbYS0xXSxnPWRiKGUpO2c/YS0tOmU9dm9pZCAwO2Y9KyEhKGYmNTEyKS0xO3ZhciBoPWI7aWYoZyl7Yjp7dmFyIGs9ZTt2YXIgbD17fTtnPSExO2lmKGspZm9yKHZhciBtIGluIGspaWYoaXNOYU4oK20pKWxbbV09a1ttXTtlbHNle3ZhciBuPWtbbV07QXJyYXkuaXNBcnJheShuKSYmKGViKG4sZCwrbSl8fGNiKG4pJiZuLnNpemU9PT0wKSYmKG49bnVsbCk7bj09bnVsbCYmKGc9ITApO24hPW51bGwmJihsW21dPW4pfWlmKGcpe2Zvcih2YXIgeCBpbiBsKWJyZWFrIGI7bD1udWxsfWVsc2UgbD1rfWs9bD09bnVsbD9lIT1udWxsOmwhPT1lfWZvcih2YXIgR2E7YT4wO2EtLSl7eD1hLTE7bT1oW3hdO3gtPWY7aWYoIShtPT1udWxsfHxlYihtLGQseCl8fGNiKG0pJiZtLnNpemU9PT0wKSlicmVhaztHYT0hMH1pZihoIT09Ynx8a3x8R2Epe2lmKCFjKWg9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoaCwwLGEpO2Vsc2UgaWYoR2F8fGt8fGwpaC5sZW5ndGg9YTtsJiZoLnB1c2gobCl9Yj1ofXJldHVybiBifTt2YXIgTD1mdW5jdGlvbihhLGIpe3RoaXMuZz1hO3RoaXMub2E9Yn07dmFyIExiPVN5bWJvbCgpO2Z1bmN0aW9uIE1iKGEpe3ZhciBiPWFbTGJdO2lmKCFiKXt2YXIgYz1OYihhKSxkPU9iKGEpLGY9ZC5qO2I9Zj9mdW5jdGlvbihlLGcpe3JldHVybiBmKGUsZyxkKX06ZnVuY3Rpb24oZSxnKXtmb3IoO0ZiKGcpJiZnLmkhPTQ7KXt2YXIgaD1nLmwsaz1kW2hdO2lmKCFrKXt2YXIgbD1kLm5hO2wmJihsPWxbaF0pJiYoaz1kW2hdPVBiKGwpKX1rJiZrKGcsZSxoKXx8KGg9ZyxrPWguaixHYihoKSxsPWgsbC5iYT9rPXZvaWQgMDooaD1sLmcuZy1rLGwuZy5nPWssbD1sLmcsaD09MD9oPVRhfHwoVGE9bmV3IEIobnVsbCxBKSk6KGs9QmIobCxoKSxsLk8mJmwudj9oPWwuai5zdWJhcnJheShrLGsraCk6KGw9bC5qLGg9aytoLGg9az09PWg/bmV3IFVpbnQ4QXJyYXkoMCk6aGI/bC5zbGljZShrLGgpOm5ldyBVaW50OEFycmF5KGwuc3ViYXJyYXkoayxoKSkpLGg9aC5sZW5ndGg9PTA/VGF8fChUYT1uZXcgQihudWxsLEEpKTpuZXcgQihoLEEpKSxrPWgpLGg9ZSxrJiYoR3x8KEc9U3ltYm9sKCkpLChsPWhbR10pP2wucHVzaChrKTpoW0ddPVtrXSkpfWM9PT1RYnx8Yz09PVJifHxjLmx8fChlW2difHwoZ2I9U3ltYm9sKCkpXT1jKX07YVtMYl09Yn1yZXR1cm4gYn1mdW5jdGlvbiBQYihhKXthPUFycmF5LmlzQXJyYXkoYSk/YVswXWluc3RhbmNlb2YgTD9hOltTYixhXTpbYSx2b2lkIDBdO3ZhciBiPWFbMF0uZztpZihhPWFbMV0pe3ZhciBjPU1iKGEpLGQ9T2IoYSkuUztyZXR1cm4gZnVuY3Rpb24oZixlLGcpe3JldHVybiBiKGYsZSxnLGQsYyl9fXJldHVybiBifXZhciBUYj1mdW5jdGlvbigpe30sUWIsUmIsTT1TeW1ib2woKTtmdW5jdGlvbiBVYihhLGIsYyl7dmFyIGQ9Y1sxXTtpZihkKXt2YXIgZj1kW01dO3ZhciBlPWY/Zi5TOmxiKGRbMF0pO2FbYl09ZiE9bnVsbD9mOmR9ZSYmZT09PWpiPyhhLmd8fChhLmc9bmV3IFNldCkpLmFkZChiKTpjWzBdJiYoYS5pfHwoYS5pPW5ldyBTZXQpKS5hZGQoYil9CmZ1bmN0aW9uIFZiKGEsYil7cmV0dXJuWyExLCFifHxiWzBdPjA/dm9pZCAwOmJdfWZ1bmN0aW9uIE5iKGEpe3ZhciBiPWFbTV07aWYoYilyZXR1cm4gYjtiPVdiKGEsYVtNXT1uZXcgVGIsVmIsVmIsVWIpO2lmKCFiLm5hJiYhYi5pJiYhYi5nKXt2YXIgYz0hMCxkO2ZvcihkIGluIGIpaXNOYU4oZCl8fChjPSExKTtjPyhsYihhWzBdKT09PWpiP1JiP2I9UmI6KGI9bmV3IFRiLGIuUz1sYighMCksYj1SYj1iKTpiPVFifHwoUWI9bmV3IFRiKSxiPWFbTV09Yik6Yi5sPSEwfXJldHVybiBifWZ1bmN0aW9uIFhiKGEsYixjKXthW2JdPWN9CmZ1bmN0aW9uIFdiKGEsYixjLGQsZil7Zj1mPT09dm9pZCAwP1hiOmY7Yi5TPWxiKGFbMF0pO3ZhciBlPTAsZz1hWysrZV07ZyYmZy5jb25zdHJ1Y3Rvcj09PU9iamVjdCYmKGIubmE9ZyxnPWFbKytlXSx0eXBlb2YgZz09PSJmdW5jdGlvbiImJihiLmo9ZyxiLnY9YVsrK2VdLGc9YVsrK2VdKSk7Zm9yKHZhciBoPXt9O0FycmF5LmlzQXJyYXkoZykmJnR5cGVvZiBnWzBdPT09Im51bWJlciImJmdbMF0+MDspe2Zvcih2YXIgaz0wO2s8Zy5sZW5ndGg7aysrKWhbZ1trXV09ZztnPWFbKytlXX1mb3Ioaz0xO2chPT12b2lkIDA7KXt0eXBlb2YgZz09PSJudW1iZXIiJiYoays9ZyxnPWFbKytlXSk7dmFyIGw9dm9pZCAwO2lmKGcgaW5zdGFuY2VvZiBMKXZhciBtPWc7ZWxzZSBtPVliLGUtLTtpZihtLm9hKXtnPWFbKytlXTtsPWE7dmFyIG49ZTt0eXBlb2YgZz09ImZ1bmN0aW9uIiYmKGc9ZygpLGxbbl09Zyk7bD1nfWc9YVsrK2VdO249aysxO3R5cGVvZiBnPT09Im51bWJlciImJmc8MCYmKG4tPQpnLGc9YVsrK2VdKTtmb3IoO2s8bjtrKyspe3ZhciB4PWhba107ZihiLGssbD9kKG0sbCx4KTpjKG0seCkpfX1yZXR1cm4gYn12YXIgWmI9U3ltYm9sKCksJGI9U3ltYm9sKCk7ZnVuY3Rpb24gYWMoYSxiKXt2YXIgYz1hLmc7cmV0dXJuIGI/ZnVuY3Rpb24oZCxmLGUpe3JldHVybiBjKGQsZixlLGIpfTpjfWZ1bmN0aW9uIGJjKGEsYixjKXt2YXIgZD1hLmcsZixlO3JldHVybiBmdW5jdGlvbihnLGgsayl7cmV0dXJuIGQoZyxoLGssZXx8KGU9T2IoYikuUyksZnx8KGY9TWIoYikpLGMpfX1mdW5jdGlvbiBPYihhKXt2YXIgYj1hWyRiXTtpZihiKXJldHVybiBiO05iKGEpO2I9V2IoYSxhWyRiXT17fSxhYyxiYyk7JGIgaW4gYSYmTSBpbiBhJiZaYiBpbiBhJiYoYS5sZW5ndGg9MCk7cmV0dXJuIGJ9CnZhciBjYz1uZXcgTChmdW5jdGlvbihhLGIsYyl7aWYoYS5pIT09MilyZXR1cm4hMTt2YXIgZD1KKGEuZyk+Pj4wO2E9YS5nO3ZhciBmPUJiKGEsZCk7YT1hLmo7aWYocmEpe3ZhciBlPWEsZzsoZz1xYSl8fChnPXFhPW5ldyBUZXh0RGVjb2RlcigidXRmLTgiLHtmYXRhbDohMH0pKTtkPWYrZDtlPWY9PT0wJiZkPT09ZS5sZW5ndGg/ZTplLnN1YmFycmF5KGYsZCk7dHJ5e3ZhciBoPWcuZGVjb2RlKGUpfWNhdGNoKG4pe2lmKHBhPT09dm9pZCAwKXt0cnl7Zy5kZWNvZGUobmV3IFVpbnQ4QXJyYXkoWzEyOF0pKX1jYXRjaCh4KXt9dHJ5e2cuZGVjb2RlKG5ldyBVaW50OEFycmF5KFs5N10pKSxwYT0hMH1jYXRjaCh4KXtwYT0hMX19IXBhJiYocWE9dm9pZCAwKTt0aHJvdyBuO319ZWxzZXtoPWY7ZD1oK2Q7Zj1bXTtmb3IodmFyIGs9bnVsbCxsLG07aDxkOylsPWFbaCsrXSxsPDEyOD9mLnB1c2gobCk6bDwyMjQ/aD49ZD91KCk6KG09YVtoKytdLGw8MTk0fHwobSYxOTIpIT09MTI4PyhoLS0sdSgpKTpmLnB1c2goKGwmMzEpPDw2fG0mNjMpKTpsPDI0MD9oPj1kLTE/dSgpOihtPWFbaCsrXSwobSYxOTIpIT09MTI4fHxsPT09MjI0JiZtPDE2MHx8bD09PTIzNyYmbT49MTYwfHwoKGc9YVtoKytdKSYxOTIpIT09MTI4PyhoLS0sdSgpKTpmLnB1c2goKGwmMTUpPDwxMnwobSY2Myk8PDZ8ZyY2MykpOmw8PTI0ND9oPj1kLTI/dSgpOihtPWFbaCsrXSwobSYxOTIpIT09MTI4fHwobDw8MjgpKyhtLTE0NCk+PjMwIT09MHx8KChnPWFbaCsrXSkmMTkyKSE9PTEyOHx8KChlPWFbaCsrXSkmMTkyKSE9PTEyOD8oaC0tLHUoKSk6KGw9KGwmNyk8PDE4fChtJjYzKTw8MTJ8KGcmNjMpPDw2fGUmNjMsbC09NjU1MzYsZi5wdXNoKChsPj4xMCYxMDIzKSs1NTI5NiwobCYxMDIzKSs1NjMyMCkpKTp1KCksZi5sZW5ndGg+PTgxOTImJihrPW9hKGssZiksZi5sZW5ndGg9MCk7aD1vYShrLGYpfUgoYixFKGIpLGMsaCk7cmV0dXJuITB9LCExKSxTYj1uZXcgTChmdW5jdGlvbihhLGIsYyxkLGYpe2lmKGEuaSE9PQoyKXJldHVybiExO0hiKGEseGIoYixkLGMsITApLGYpO3JldHVybiEwfSwhMCksWWI9bmV3IEwoZnVuY3Rpb24oYSxiLGMsZCxmKXtpZihhLmkhPT0yKXJldHVybiExO0hiKGEseGIoYixkLGMpLGYpO3JldHVybiEwfSwhMCksTj1uZXcgTChmdW5jdGlvbihhLGIsYyl7aWYoYS5pIT09MClyZXR1cm4hMTthPUooYS5nKTtIKGIsRShiKSxjLGEpO3JldHVybiEwfSwhMSk7dmFyIGRjPVswLG5ldyBMKGZ1bmN0aW9uKGEsYixjKXtpZihhLmkhPT0wKXJldHVybiExO3ZhciBkPWEuZyxmPTAsZT1hPTAsZz1kLmosaD1kLmc7ZG97dmFyIGs9Z1toKytdO2Z8PShrJjEyNyk8PGU7ZSs9N313aGlsZShlPDMyJiZrJjEyOCk7ZT4zMiYmKGF8PShrJjEyNyk+PjQpO2ZvcihlPTM7ZTwzMiYmayYxMjg7ZSs9NylrPWdbaCsrXSxhfD0oayYxMjcpPDxlO0koZCxoKTtpZihrPDEyOCl7ZD1mPj4+MDtrPWE+Pj4wO2lmKGE9ayYyMTQ3NDgzNjQ4KWQ9fmQrMT4+PjAsaz1+az4+PjAsZD09MCYmKGs9aysxPj4+MCk7ZD1rKjQyOTQ5NjcyOTYrKGQ+Pj4wKX1lbHNlIHRocm93IEVycm9yKCJzIik7YT1hPy1kOmQ7SChiLEUoYiksYyxhPT09MD92b2lkIDA6YSk7cmV0dXJuITB9LCExKSxuZXcgTChmdW5jdGlvbihhLGIsYyl7aWYoYS5pIT09MClyZXR1cm4hMTthPUooYS5nKTtIKGIsRShiKSxjLGE9PT0wP3ZvaWQgMDphKTtyZXR1cm4hMH0sITEpXTt2YXIgTz1mdW5jdGlvbihhLGIpe3RoaXMuZz1hO3RoaXMudHlwZT1ifTsKdmFyIFA9ZnVuY3Rpb24oYSl7dGhpcy5nPWF9O1AucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ307dmFyIGVjPW5ldyBQKCJhYm91dDppbnZhbGlkI3pDbG9zdXJleiIpO3ZhciBmYz1mdW5jdGlvbihhKXt0aGlzLnJhPWF9O2Z1bmN0aW9uIFEoYSl7cmV0dXJuIG5ldyBmYyhmdW5jdGlvbihiKXtyZXR1cm4gYi5zdWJzdHIoMCxhLmxlbmd0aCsxKS50b0xvd2VyQ2FzZSgpPT09YSsiOiJ9KX12YXIgZ2M9W1EoImRhdGEiKSxRKCJodHRwIiksUSgiaHR0cHMiKSxRKCJtYWlsdG8iKSxRKCJmdHAiKSxuZXcgZmMoZnVuY3Rpb24oYSl7cmV0dXJuL15bXjpdKihbLz8jXXwkKS8udGVzdChhKX0pXSxoYz0vXlxzKig/IWphdmFzY3JpcHQ6KSg/OltcdysuLV0rOnxbXjovPyNdKig/OlsvPyNdfCQpKS9pO2Z1bmN0aW9uIGljKGEpe2lmKGEgaW5zdGFuY2VvZiBQKWlmKGEgaW5zdGFuY2VvZiBQKWE9YS5nO2Vsc2UgdGhyb3cgRXJyb3IoInciKTtlbHNlIGE9aGMudGVzdChhKT9hOnZvaWQgMDtyZXR1cm4gYX07dmFyIGpjPSFFYSYmIXphKCksa2M9ZnVuY3Rpb24oYSl7aWYoLy1bYS16XS8udGVzdCgidmVkIikpcmV0dXJuIG51bGw7aWYoamMmJmEuZGF0YXNldCl7aWYoQmEoKSYmISgidmVkImluIGEuZGF0YXNldCkpcmV0dXJuIG51bGw7YT1hLmRhdGFzZXQudmVkO3JldHVybiBhPT09dm9pZCAwP251bGw6YX1yZXR1cm4gYS5nZXRBdHRyaWJ1dGUoImRhdGEtIisidmVkIi5yZXBsYWNlKC8oW0EtWl0pL2csIi0kMSIpLnRvTG93ZXJDYXNlKCkpfTt2YXIgbGM9ZnVuY3Rpb24oKXt0aGlzLmc9W107dGhpcy5pPSIifSxtYz1mdW5jdGlvbihhLGIpe3ZhciBjPSIiO2ImJihjPXR5cGVvZiBiPT09InN0cmluZyI/Yjpnb29nbGUuZ2V0RUkoYikpO3JldHVybiBjJiZjIT09YS5pP2M6IiJ9O3ZhciBuYz1mdW5jdGlvbihhLGIpe3RoaXMuZz1hO3RoaXMuaT1ifSxvYz1uZXcgbmMoZW5jb2RlVVJJQ29tcG9uZW50LGZ1bmN0aW9uKGEpe3JldHVybiBkZWNvZGVVUklDb21wb25lbnQoYS5yZXBsYWNlKC9cKy9nLCIlMjAiKSl9KTtmdW5jdGlvbiBwYyhhKXtyZXR1cm4gbmV3IFJlZ0V4cCgiJSg/OiIrZW5jb2RlVVJJQ29tcG9uZW50KGEpLnN1YnN0cigxKS5yZXBsYWNlKC8lL2csInwiKSsiKSIsImciKX12YXIgcWM9cGMoIiQsLzo7P0BbXV5ge3x9Iik7cGMoIj0mJCwvOjtAW11eYHt8fSIpO3ZhciByYz1uZXcgbmMoZnVuY3Rpb24oYSl7cmV0dXJuIG9jLmcoYSkucmVwbGFjZShxYyxkZWNvZGVVUklDb21wb25lbnQpfSxvYy5pKTtmdW5jdGlvbiBSKGEsYil7Yj1iPT09dm9pZCAwP3t9OmI7c2Moe1Q6Yi5ULFA6Yi5QLEE6Yi5BLHFhOmEsZGF0YTpiLmRhdGF9KX1mdW5jdGlvbiBTKGEsYil7Yj1iPT09dm9pZCAwP3t9OmI7c2Moe1Q6YSxQOmIuUCxBOmIuQSxkYXRhOmIuZGF0YX0pfQpmdW5jdGlvbiBzYyhhKXt2YXIgYj1hLlQ7dmFyIGM9YS5QO3ZhciBkPWEuQTt2YXIgZj1hLnFhO2E9YS5kYXRhO3ZhciBlPWI/Z29vZ2xlLmdldEVJKGIpOmdvb2dsZS5rRUksZz1uZXcgdGMoZSk7YiYmKGI9Yj9rYyhiKXx8IiI6IiIsVChnLCJ2ZWQiLGIpKTtjIT09dm9pZCAwJiZUKGcsImljdHgiLFN0cmluZyhjKSk7ZCYmVChnLCJ1YWN0IixTdHJpbmcoZCkpO2lmKGYpe2M9bmV3IGxjO2ZvcihkPTA7Yj1mW2QrK107KXt2YXIgaD0oaD1iLmcpP2tjKGgpfHwiIjoiIjt2YXIgaz1iLmc7Yy5nLnB1c2goe3NhOmgsdGFyZ2V0RWxlbWVudDprPT09dm9pZCAwPyIiOmsscGE6Yi50eXBlfSl9Yy5pPWU7Zj1bXTtmb3IoZT0wO2Q9Yy5nW2UrK107KXt2YXIgbD1kO2Q9bC5zYTtiPWwucGE7aD1sLnVhO3ZhciBtPWwudGE7az1sLnlhO2w9bWMoYyxsLnRhcmdldEVsZW1lbnQpO209bWMoYyxtKTtzd2l0Y2goYil7Y2FzZSAic2hvdyI6Zi5wdXNoKGQrIi4iK2wrIi5zIik7YnJlYWs7Y2FzZSAiaW5zZXJ0IjpmLnB1c2goZCsKIi4iK2wrIi5pIisobT8iLjAuIitoKyIuIittOiIiKSk7YnJlYWs7Y2FzZSAiZGVkdXBlLWluc2VydCI6Zi5wdXNoKGQrIi4iK2wrIi5pIisobT8iLjEuIitoKyIuIittOiIuMSIpKTticmVhaztjYXNlICJoaWRlIjpmLnB1c2goZCsiLiIrbCsiLmgiKTticmVhaztjYXNlICJjb3B5IjpmLnB1c2goIi4iK2srIi5jIil9fVQoZywidmV0IixmLmxlbmd0aD8iMSIrZi5qb2luKCI7Iik6IiIpfWdvb2dsZS5rQkwmJlQoZywiYmwiLGdvb2dsZS5rQkwpO2dvb2dsZS5zbiYmVChnLCJzIixnb29nbGUuc24pO2lmKGEpZm9yKHZhciBuIGluIGEpVChnLG4sYVtuXSk7Zy5sb2coKX12YXIgdGM9ZnVuY3Rpb24oYSl7dGhpcy51cmk9Ii9nZW5fMjA0P2VpPSIrcmMuZyhhKX0sVD1mdW5jdGlvbihhLGIsYyl7YS51cmkrPSImIitiKyI9IityYy5nKGMpfTt0Yy5wcm90b3R5cGUubG9nPWZ1bmN0aW9uKCl7d2luZG93Lm5hdmlnYXRvci5zZW5kQmVhY29uP3dpbmRvdy5uYXZpZ2F0b3Iuc2VuZEJlYWNvbih0aGlzLnVyaSwiIik6Z29vZ2xlLmxvZygiIiwiIix0aGlzLnVyaSl9O3ZhciB1Yz1bMCxOLGNjLC0xLE5dO3ZhciB2Yz1bMCxOLC0xXTt2YXIgVT1mdW5jdGlvbihhKXt0aGlzLkI9bWIoYSl9O1UucHJvdG90eXBlPWZhKEsucHJvdG90eXBlKTtVLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1VO2lmKGxhKWxhKFUsSyk7ZWxzZSBmb3IodmFyIFYgaW4gSylpZihWIT0icHJvdG90eXBlIilpZihPYmplY3QuZGVmaW5lUHJvcGVydGllcyl7dmFyIHdjPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSyxWKTt3YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KFUsVix3Yyl9ZWxzZSBVW1ZdPUtbVl07dmFyIHhjPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGZ1bmN0aW9uKGMsZCl7aWYoSWIubGVuZ3RoKXt2YXIgZj1JYi5wb3AoKTtEYihmLGQpO3piKGYuZyxjLGQpO2M9Zn1lbHNlIGM9bmV3IEViKGMsZCk7dHJ5e3ZhciBlPW5ldyBhLGc9ZS5CO01iKGIpKGcsYyk7dmFyIGg9ZX1maW5hbGx5e2MuZy5jbGVhcigpLGMubD0tMSxjLmk9LTEsSWIubGVuZ3RoPDEwMCYmSWIucHVzaChjKX1yZXR1cm4gaH19KFUsWzAsTix1YyxkYyx2YyxOXSk7dmFyIHljPWZ1bmN0aW9uKCl7dGhpcy5nPSh0eXBlb2YgZG9jdW1lbnQ9PSJ1bmRlZmluZWQiP251bGw6ZG9jdW1lbnQpfHx7Y29va2llOiIifX0sQWM9ZnVuY3Rpb24oKXt2YXIgYT1XO2lmKCF0Lm5hdmlnYXRvci5jb29raWVFbmFibGVkKXJldHVybiExO2lmKGEuZy5jb29raWUpcmV0dXJuITA7YS5zZXQoIlRFU1RDT09LSUVTRU5BQkxFRCIsIjEiLHtSOjYwfSk7aWYoYS5nZXQoIlRFU1RDT09LSUVTRU5BQkxFRCIpIT09IjEiKXJldHVybiExO3pjKGEsIlRFU1RDT09LSUVTRU5BQkxFRCIpO3JldHVybiEwfTt5Yy5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0hMTtpZih0eXBlb2YgYz09PSJvYmplY3QiKXt2YXIgZj1jLndhO2Q9Yy54YXx8ITE7dmFyIGU9Yy5kb21haW58fHZvaWQgMDt2YXIgZz1jLnBhdGh8fHZvaWQgMDt2YXIgaD1jLlJ9aWYoL1s7PVxzXS8udGVzdChhKSl0aHJvdyBFcnJvcigieGAiK2EpO2lmKC9bO1xyXG5dLy50ZXN0KGIpKXRocm93IEVycm9yKCJ5YCIrYik7aD09PXZvaWQgMCYmKGg9LTEpO3RoaXMuZy5jb29raWU9YSsiPSIrYisoZT8iO2RvbWFpbj0iK2U6IiIpKyhnPyI7cGF0aD0iK2c6IiIpKyhoPDA/IiI6aD09MD8iO2V4cGlyZXM9IisobmV3IERhdGUoMTk3MCwxLDEpKS50b1VUQ1N0cmluZygpOiI7ZXhwaXJlcz0iKyhuZXcgRGF0ZShEYXRlLm5vdygpK2gqMUUzKSkudG9VVENTdHJpbmcoKSkrKGQ/IjtzZWN1cmUiOiIiKSsoZiE9bnVsbD8iO3NhbWVzaXRlPSIrZjoiIil9O3ljLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9YSsiPSIsZD0odGhpcy5nLmNvb2tpZXx8IiIpLnNwbGl0KCI7IiksZj0wLGU7ZjxkLmxlbmd0aDtmKyspe2U9dGEoZFtmXSk7aWYoZS5sYXN0SW5kZXhPZihjLDApPT0wKXJldHVybiBlLnNsaWNlKGMubGVuZ3RoKTtpZihlPT1hKXJldHVybiIifXJldHVybiBifTt2YXIgemM9ZnVuY3Rpb24oYSxiKXthLmdldChiKTthLnNldChiLCIiLHtSOjAscGF0aDp2b2lkIDAsZG9tYWluOnZvaWQgMH0pfTt5Yy5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXtmb3IodmFyIGE9KHRoaXMuZy5jb29raWV8fCIiKS5zcGxpdCgiOyIpLGI9W10sYz1bXSxkLGYsZT0wO2U8YS5sZW5ndGg7ZSsrKWY9dGEoYVtlXSksZD1mLmluZGV4T2YoIj0iKSxkPT0tMT8oYi5wdXNoKCIiKSxjLnB1c2goZikpOihiLnB1c2goZi5zdWJzdHJpbmcoMCxkKSksYy5wdXNoKGYuc3Vic3RyaW5nKGQrMSkpKTtmb3IoYT1iLmxlbmd0aC0xO2E+PTA7YS0tKXpjKHRoaXMsYlthXSl9O3ZhciBXPW5ldyB5Yzt2YXIgQmM7dmFyIFg9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQ7cmV0dXJuIHR5cGVvZiBhPT09InN0cmluZyI/Yi5nZXRFbGVtZW50QnlJZChhKTphfSxDYz1mdW5jdGlvbihhKXtyZXR1cm4gYS5jaGlsZHJlbiE9dm9pZCAwP2EuY2hpbGRyZW46QXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGEuY2hpbGROb2RlcyxmdW5jdGlvbihiKXtyZXR1cm4gYi5ub2RlVHlwZT09MX0pfSxEYz1mdW5jdGlvbihhKXt2YXIgYjtpZihiPWEucGFyZW50RWxlbWVudClyZXR1cm4gYjtiPWEucGFyZW50Tm9kZTthPXR5cGVvZiBiO3JldHVybihhPT0ib2JqZWN0IiYmYiE9bnVsbHx8YT09ImZ1bmN0aW9uIikmJmIubm9kZVR5cGU9PTE/YjpudWxsfTt2YXIgRWM9ZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhLmNsYXNzTmFtZT09InN0cmluZyI/YS5jbGFzc05hbWU6YS5nZXRBdHRyaWJ1dGUmJmEuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIn0sRmM9ZnVuY3Rpb24oYSxiKXt0eXBlb2YgYS5jbGFzc05hbWU9PSJzdHJpbmciP2EuY2xhc3NOYW1lPWI6YS5zZXRBdHRyaWJ1dGUmJmEuc2V0QXR0cmlidXRlKCJjbGFzcyIsYil9LEdjPWZ1bmN0aW9uKGEsYil7YS5jbGFzc0xpc3Q/Yj1hLmNsYXNzTGlzdC5jb250YWlucyhiKTooYT1hLmNsYXNzTGlzdD9hLmNsYXNzTGlzdDpFYyhhKS5tYXRjaCgvXFMrL2cpfHxbXSxiPUNhKGEsYik+PTApO3JldHVybiBifSxIYz1mdW5jdGlvbihhLGIpe2lmKGEuY2xhc3NMaXN0KWEuY2xhc3NMaXN0LmFkZChiKTtlbHNlIGlmKCFHYyhhLGIpKXt2YXIgYz1FYyhhKTtGYyhhLGMrKGMubGVuZ3RoPjA/IiAiK2I6YikpfX0sSWM9ZnVuY3Rpb24oYSxiKXthLmNsYXNzTGlzdD9hLmNsYXNzTGlzdC5yZW1vdmUoYik6R2MoYSxiKSYmRmMoYSxBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoYS5jbGFzc0xpc3Q/YS5jbGFzc0xpc3Q6RWMoYSkubWF0Y2goL1xTKy9nKXx8W10sZnVuY3Rpb24oYyl7cmV0dXJuIGMhPWJ9KS5qb2luKCIgIikpfTtmdW5jdGlvbiBKYyhhKXthJiZzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS5mb2N1cygpfSw1MDApfWZ1bmN0aW9uIEtjKGEpe3VYSlN8fCgoZ29vZ2xlLmJ4PWEpfHxnb29nbGUubHgoKSxnb29nbGUubG9nKCJieGpzIiwiJmI9IisoYT8wOjEpKSl9CnZhciBMYz1mdW5jdGlvbigpe3RoaXMuSD0hMTt0aGlzLlU9dGhpcy52PTA7dGhpcy5nYT10aGlzLk49ITE7dGhpcy5qYT0hMDt0aGlzLko9dGhpcy5rYT10aGlzLkw9ITE7dGhpcy5WPVtdO3RoaXMuTT1udWxsO3RoaXMuaT1YKCJ4ZTdDT2UiKTt0aGlzLlg9WCgiS2pjSFBjIik7dGhpcy5XPVgoIkwyQUdMYiIpO3RoaXMuYWE9WCgiVzB3bHRjIik7dGhpcy5kYT1YKCJWbmpDY2IiKTt0aGlzLkY9WCgidmMzam9mIik7dGhpcy5qPVgoInRiVHViZCIpO3RoaXMubGE9WCgiZ2tzUzFkIik7dGhpcy5pYT1YKCJSUDNWNWMiKTt0aGlzLm1hPVgoIkhRMWxiIik7dGhpcy5mYT1YKCJyR0RTbmIiKTt0aGlzLmw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIktCeVF4Iik7dGhpcy5nPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJqWWZYTWIiKTt0aGlzLlk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVNb3VzYyIpO3RoaXMuZWE9WCgiQ1hRbm1iIik7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkhJaFB4ZiIpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzTkNRYiIpO3RoaXMuSz10aGlzLmoucXVlcnlTZWxlY3RvckFsbCgibGkiKTt0aGlzLmhhPXRoaXMuSy5sZW5ndGgtMTt0aGlzLkc9dGhpcy5pLnF1ZXJ5U2VsZWN0b3JBbGwoImEsIGJ1dHRvbiIpO3RoaXMuWj10aGlzLkcubGVuZ3RoLTF9LE1jPWZ1bmN0aW9uKGEsYil7Yi5zdG9wUHJvcGFnYXRpb24oKTtiLnByZXZlbnREZWZhdWx0KCk7UyhhLmose0E6M30pO2lmKGIudGFyZ2V0IGluc3RhbmNlb2YgRWxlbWVudCYmKFMoYi50YXJnZXQse0E6M30pLGE9Yi50YXJnZXQuZ2V0QXR0cmlidXRlKCJkYXRhLWhsIikpKXtiPWVuY29kZVVSSUNvbXBvbmVudCgiaGwiKTthPWVuY29kZVVSSUNvbXBvbmVudChhKTtmb3IodmFyIGM9ZG9jdW1lbnQubG9jYXRpb24uc2VhcmNoPT09IiI/W106ZG9jdW1lbnQubG9jYXRpb24uc2VhcmNoLnN1YnN0cmluZygxKS5zcGxpdCgiJiIpLGQ9MDtkPGMubGVuZ3RoO2QrKylpZihjW2RdLmluZGV4T2YoYisiPSIpIT09Ci0xKXt2YXIgZj1jW2RdLnNwbGl0KCI9Iik7ZlsxXT1hO2NbZF09Zi5qb2luKCI9Iik7YnJlYWt9ZD49Yy5sZW5ndGgmJihjW2MubGVuZ3RoXT1bYixhXS5qb2luKCI9IikpO3ZhciBlPWU9PT12b2lkIDA/Z2M6ZTthOmlmKGE9bG9jYXRpb24ucHJvdG9jb2wrIi8vIitsb2NhdGlvbi5ob3N0K2xvY2F0aW9uLnBhdGhuYW1lKyI/IitjLmpvaW4oIiYiKStsb2NhdGlvbi5oYXNoLGU9ZT09PXZvaWQgMD9nYzplLCEoYSBpbnN0YW5jZW9mIFApKXtmb3IoYj0wO2I8ZS5sZW5ndGg7KytiKWlmKGM9ZVtiXSxjIGluc3RhbmNlb2YgZmMmJmMucmEoYSkpe2E9bmV3IFAoYSk7YnJlYWsgYX1hPXZvaWQgMH1lPWxvY2F0aW9uO2E9aWMoYXx8ZWMpO2EhPT12b2lkIDAmJmUucmVwbGFjZShhKX19LFk9ZnVuY3Rpb24oYSxiLGMpe2EuTj0hMDtiLmNvZGU9PT0iRW50ZXIiJiZjKCl9LE9jPWZ1bmN0aW9uKGEpe2EuWSYmYS5nJiYoYS5nLnNjcm9sbFRvcD4wP2EuTHx8KEhjKGEuWSwiWWVNVHQiKSxhLkw9CiEwKTphLkwmJihJYyhhLlksIlllTVR0IiksYS5MPSExKSk7YS5sJiZhLmphJiZhLmcmJihhLmcuc2Nyb2xsSGVpZ2h0LShhLmcuc2Nyb2xsVG9wK2EuZy5jbGllbnRIZWlnaHQrOTApPDEmJk5jKGEpLGEuZ2F8fChTKGEuZyx7QToyMH0pLE5jKGEpKSl9LE5jPWZ1bmN0aW9uKGEpe2EubC5zdHlsZS5oZWlnaHQ9IjAiO2EubC5zdHlsZS5vcGFjaXR5PSIwIjthLmwuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiI7YS5qYT0hMX0sUGM9ZnVuY3Rpb24oYSxiKXtpZighaVNSKXt2YXIgYzt2YXIgZD0oYz1zTCkhPW51bGw/YzozNDEyOEUzO1cuc2V0KCJTT0NTIixiP3NDQVM6c0NSUyx7ZG9tYWluOmNvb2tpZURvbWFpbixwYXRoOiIvIixSOmR9KX1kPW5ldyBYTUxIdHRwUmVxdWVzdDtkLm9wZW4oIlBPU1QiLGI/YUFVOnJBVSk7ZC53aXRoQ3JlZGVudGlhbHM9ITA7ZC5zZW5kKCk7YS5jbG9zZSgpfSxRYz1mdW5jdGlvbihhKXt1V0N8fFMoYS5hYSx7QTozfSk7UGMoYSwhMSl9LFJjPWZ1bmN0aW9uKGEpe3VXQ3x8ClMoYS5XLHtBOjN9KTtzRUU/UGMoYSwhMSk6UGMoYSwhMCl9O0xjLnByb3RvdHlwZS5jbG9zZT1mdW5jdGlvbigpe1NjKHRoaXMpO3VXQ3x8S2MoITEpfTt2YXIgWj1mdW5jdGlvbihhLGIsYyl7Yz1jPT09dm9pZCAwP251bGw6YztiJiZiIT09dm9pZCAwJiYoYS5wcmV2ZW50RGVmYXVsdCgpLFMoYix7QTozfSksYj1jfHxiLmdldEF0dHJpYnV0ZSgiaHJlZiIpLGE9d2luZG93LmxvY2F0aW9uLGI9aWMoYiksYiE9PXZvaWQgMCYmKGEuaHJlZj1iKSl9LFRjPWZ1bmN0aW9uKGEsYil7Yj09bnVsbHx8Yi5zdG9wUHJvcGFnYXRpb24oKTthLmomJmEuRiYmIWEuSCYmKGEuai5zdHlsZS5kaXNwbGF5PSJibG9jayIsYS5IPSEwLGEuTiYmSmMoYS5qLnF1ZXJ5U2VsZWN0b3IoImxpIikpLGEuRi5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCJ0cnVlIiksUihbbmV3IE8oYS5qLCJzaG93IildLHtUOmEuRn0pKX0sVWM9ZnVuY3Rpb24oYSl7YS5qJiZhLkYmJihhLmouc3R5bGUuZGlzcGxheT0ibm9uZSIsYS5IPSExLGEuTiYmYS5GLmZvY3VzKCksUihbbmV3IE8oYS5qLCJoaWRlIildKSxhLkYuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwiZmFsc2UiKSl9LFNjPWZ1bmN0aW9uKGEpe2EuaSYmKGEuaS5zdHlsZS5kaXNwbGF5IT09Im5vbmUiJiYoYS5pLnN0eWxlLmRpc3BsYXk9Im5vbmUiKSxhLk0mJmEuTT4wJiZSKFtuZXcgTyhhLmksImhpZGUiKV0se2RhdGE6e2Nkb3Q6U3RyaW5nKERhdGUubm93KCktYS5NKX19KSxhLko9ITEsVmMoYSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsZnVuY3Rpb24oKXtXYyhhKX0pLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLGZ1bmN0aW9uKCl7WGMoYSl9KSl9LCRjPWZ1bmN0aW9uKCl7dmFyIGE9WWM7IWEuaXx8c3JwJiYhYS5rYXx8KGEuaS5zdHlsZS5kaXNwbGF5PSJibG9jayIsYS5NPURhdGUubm93KCksdVdDfHxSKFtuZXcgTyhhLmksInNob3ciKV0se2RhdGE6e2dsOmdMLHBjOnBDLGlzTW9iaWxlOlN0cmluZyhpc01vYmlsZSl9fSksYS5pLmZvY3VzKCksWmMoYSksYS5sJiZhLmcmJihhLlU9YS5nLmNsaWVudEhlaWdodC0KOTAsYS5nLnNjcm9sbEhlaWdodD5hLlUmJihhLmwuc3R5bGUuZGlzcGxheT0iZmxleCIsUihbbmV3IE8oYS5sLCJzaG93IildKSkpLGEuSj0hMCxWYyhhKSl9LFZjPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmJvZHk7YS5KPyhIYyhiLCJFTTFNcmIiKSxhZChhKSk6KEljKGIsIkVNMU1yYiIpLGJkKGEpKX0sYmQ9ZnVuY3Rpb24oYSl7RGEoYS5WLGZ1bmN0aW9uKGIpe2IucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWhpZGRlbiIpfSk7YS5WPVtdfSxhZD1mdW5jdGlvbihhKXtmb3IodmFyIGI9YS5pO2ImJmIhPT1kb2N1bWVudC5ib2R5Oyl7dmFyIGM9RGMoYik7aWYoYyl7dmFyIGQ9Q2MoYyk7RGEoZCxmdW5jdGlvbihmKXt2YXIgZTtpZihlPWYmJmYhPT1iKWU9Zi5nZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiksZT0hKGU9PW51bGx8fGU9PXZvaWQgMD8wOlN0cmluZyhlKSk7ZSYmKGU9ITAsQXJyYXkuaXNBcnJheShlKSYmKGU9ZS5qb2luKCIgIikpLGU9PT0iInx8ZT09dm9pZCAwPyhCY3x8KGU9e30sQmM9KGUuYXRvbWljPSExLGUuYXV0b2NvbXBsZXRlPSJub25lIixlLmRyb3BlZmZlY3Q9Im5vbmUiLGUuaGFzcG9wdXA9ITEsZS5saXZlPSJvZmYiLGUubXVsdGlsaW5lPSExLGUubXVsdGlzZWxlY3RhYmxlPSExLGUub3JpZW50YXRpb249InZlcnRpY2FsIixlLnJlYWRvbmx5PSExLGUucmVsZXZhbnQ9ImFkZGl0aW9ucyB0ZXh0IixlLnJlcXVpcmVkPSExLGUuc29ydD0ibm9uZSIsZS5idXN5PSExLGUuZGlzYWJsZWQ9ITEsZS5oaWRkZW49ITEsZS5pbnZhbGlkPSJmYWxzZSIsZSkpLGU9QmMsImhpZGRlbiJpbiBlP2Yuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsZS5oaWRkZW4pOmYucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWhpZGRlbiIpKTpmLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLGUpLGEuVi5wdXNoKGYpKX0sYSl9Yj1jfX0sV2M9ZnVuY3Rpb24oYSl7YS5KJiZDYShhLkcsZG9jdW1lbnQuYWN0aXZlRWxlbWVudCk8MCYmQ2EoYS5LLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpPAowJiZkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09YS5pJiZhLkdbMF0uZm9jdXMoKX0sWGM9ZnVuY3Rpb24oYSl7YS5KJiZhZChhKTthLmVhJiZhLmVhLnNjcm9sbEludG9WaWV3KCl9LFpjPWZ1bmN0aW9uKGEpe2lmKGEuaSl7dmFyIGI9YS5pO2Iub25jbGljaz1mdW5jdGlvbigpe2EuSCYmVWMoYSl9O2Iub25rZXlkb3duPWZ1bmN0aW9uKGcpeyFhLkp8fGEuWjwwfHwoZy5jb2RlPT09IkVzY2FwZSImJiFhLkgmJmEuZmEmJlMoYS5mYSx7QTozMn0pLGcuc2hpZnRLZXl8fGcuY29kZSE9PSJUYWIifHxkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09YS5HW2EuWl18fChnLnByZXZlbnREZWZhdWx0KCksYS5HWzBdLmZvY3VzKCkpLCFnLnNoaWZ0S2V5fHxnLmNvZGUhPT0iVGFiInx8ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PWEuR1swXSYmZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PWEuaXx8KGcucHJldmVudERlZmF1bHQoKSxhLkdbYS5aXS5mb2N1cygpKSl9fWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzaW4iLGZ1bmN0aW9uKCl7V2MoYSl9KTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixmdW5jdGlvbigpe1hjKGEpfSk7YS5YJiYoYS5YLm9uY2xpY2s9ZnVuY3Rpb24oKXtTKGEuWCx7QTozfSk7YS5IJiZVYyhhKX0pO2EuVyYmKGI9YS5XLGIub25jbGljaz1mdW5jdGlvbigpe1JjKGEpfSxiLm9ua2V5ZG93bj1mdW5jdGlvbihnKXtZKGEsZyxmdW5jdGlvbigpe1JjKGEpfSl9KTthLmFhJiYoYj1hLmFhLGIub25jbGljaz1mdW5jdGlvbigpe1FjKGEpfSxiLm9ua2V5ZG93bj1mdW5jdGlvbihnKXtZKGEsZyxmdW5jdGlvbigpe1FjKGEpfSl9KTtpZihhLmRhKXt2YXIgYz1hLmRhO2Mub25jbGljaz1mdW5jdGlvbihnKXtaKGcsYyxjVSl9O2Mub25rZXlkb3duPWZ1bmN0aW9uKGcpe1koYSxnLGZ1bmN0aW9uKCl7WihnLGMsY1UpfSl9fWEuRiYmKGI9YS5GLGIub25jbGljaz1mdW5jdGlvbihnKXtUYyhhLGcpfSxiLm9ua2V5ZG93bj1mdW5jdGlvbihnKXtZKGEsZyxmdW5jdGlvbigpe1RjKGEsZyl9KX0pO2EuaiYmKGI9YS5qLGIub25jbGljaz1mdW5jdGlvbihnKXtNYyhhLGcpfSxiLm9ua2V5ZG93bj1mdW5jdGlvbihnKXthLk49ITA7aWYoYS5IJiZnKXN3aXRjaChnLmNvZGUpe2Nhc2UgIkFycm93RG93biI6YS52PT09YS5oYT9hLnY9MDphLnYrKzthLktbYS52XSYmYS5LW2Eudl0uZm9jdXMoKTticmVhaztjYXNlICJBcnJvd1VwIjphLnY9PT0wP2Eudj1hLmhhOmEudi0tO2EuS1thLnZdJiZhLktbYS52XS5mb2N1cygpO2JyZWFrO2Nhc2UgIkVzY2FwZSI6Y2FzZSAiVGFiIjpVYyhhKTticmVhaztjYXNlICJFbnRlciI6TWMoYSxnKX19KTtpZihhLmxhKXt2YXIgZD1hLmxhO2Qub25jbGljaz1mdW5jdGlvbihnKXtaKGcsZCxzSVUpfTtkLm9ua2V5ZG93bj1mdW5jdGlvbihnKXtZKGEsZyxmdW5jdGlvbigpe1ooZyxkLHNJVSl9KX19aWYoYS5pYSl7dmFyIGY9YS5pYTtmLm9uY2xpY2s9ZnVuY3Rpb24oZyl7WihnLGYpfTtmLm9ua2V5ZG93bj1mdW5jdGlvbihnKXtZKGEsZyxmdW5jdGlvbigpe1ooZyxmKX0pfX1pZihhLm1hKXt2YXIgZT1hLm1hO2Uub25jbGljaz1mdW5jdGlvbihnKXtaKGcsZSl9O2Uub25rZXlkb3duPWZ1bmN0aW9uKGcpe1koYSxnLGZ1bmN0aW9uKCl7WihnLGUpfSl9fWEubCYmYS5nJiYoYS5sLm9uY2xpY2s9ZnVuY3Rpb24oKXthLmwmJmEuZyYmKHVXQ3x8UyhhLmwse0E6M30pLGEuZy5zY3JvbGxUb3ArPWEuVSxhLmdhPSEwKX0sYj1hLmcsYi5vbnNjcm9sbD1mdW5jdGlvbigpe09jKGEpfSxiLm9ud2hlZWw9ZnVuY3Rpb24oKXtPYyhhKX0pfSxZYz1uZXcgTGMsY2Q7aWYoIShjZD0hZnVuY3Rpb24oKXt0cnl7aWYoIUFjKCkpcmV0dXJuITE7aWYoVy5nLmNvb2tpZSlyZXR1cm4hMDtXLnNldCgiVEVTVENPT0tJRVNFTkFCTEVEIiwiMSIse1I6NjB9KTtpZihXLmdldCgiVEVTVENPT0tJRVNFTkFCTEVEIikhPSIxIilyZXR1cm4hMTt6YyhXLCJURVNUQ09PS0lFU0VOQUJMRUQiKTtyZXR1cm4hMH1jYXRjaChhKXtyZXR1cm4hMX19KCkpKXt2YXIgZGQ7aWYoZGQ9IWlTUilhOnt2YXIgSWE9Vy5nZXQoIlNPQ1MiKTtpZihJYSl0cnl7dmFyIGVkLGZkLGdkPXhjKEphKCkpLkI7ZmQ9d2IoZ2QsRShnZCksMSk7dmFyIGhkO2ZkPT1udWxsP2hkPWZkOmhkPU51bWJlci5pc0Zpbml0ZShmZCk/ZmR8MDp2b2lkIDA7ZWQ9aGQ7ZGQ9ZWQ9PT0xfHxlZD09PTI7YnJlYWsgYX1jYXRjaChhKXt9ZGQ9ITF9Y2Q9ZGR9Y2Q/U2MoWWMpOihLYyghdVdDKSxzcnA/WWMua2E9ITA6JGMoKSk7Z29vZ2xlLmNpcz1nb29nbGUuY2lzfHx7fTtnb29nbGUuY2lzLnNkPWZ1bmN0aW9uKCl7JGMoKX07Z29vZ2xlLmNpcy5oZD1mdW5jdGlvbigpe1NjKFljKTtLYyghMSl9O30pKCk7PC9zY3JpcHQ+PHNwYW4gc3R5bGU9ImRpc3BsYXk6bm9uZSIgYXJpYS1oaWRkZW49InRydWUiPjxzcGFuIGpzY29udHJvbGxlcj0iRGhQWW1lIiBzdHlsZT0iZGlzcGxheTpub25lIiBkYXRhLWF0c2Q9IjEwIiBkYXRhLWRiPSIxIiBkYXRhLW1tY250PSIxMDAiIGpzYWN0aW9uPSJyY3VRNmI6bnBUMm1kIiBkYXRhLWVpPSJoNENyWnZ5TEM1T2ZpLWdQX29xSi1RdyI+PC9zcGFuPjwvc3Bhbj48c2NyaXB0IG5vbmNlPSJhQTdWYS1iZWVoSUxzbDJoRmxQdC1nIiBhcmlhLWhpZGRlbj0idHJ1ZSI+dGhpcy5nYmFyXz10aGlzLmdiYXJffHx7fTsoZnVuY3Rpb24oXyl7dmFyIHdpbmRvdz10aGlzOwp0cnl7Cl8udmQ9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhLmopaWYoYyBpbnN0YW5jZW9mIEFycmF5KWZvcih2YXIgZCBvZiBjKV8udmQoYSxiLGQpO2Vsc2V7ZD0oMCxfLnopKGEuQyxhLGIpO2NvbnN0IGU9YS52K2M7YS52Kys7Yi5kYXRhc2V0LmVxaWQ9ZTthLkJbZV09ZDtiJiZiLmFkZEV2ZW50TGlzdGVuZXI/Yi5hZGRFdmVudExpc3RlbmVyKGMsZCwhMSk6YiYmYi5hdHRhY2hFdmVudD9iLmF0dGFjaEV2ZW50KCJvbiIrYyxkKTphLm8ubG9nKEVycm9yKCJ6YCIrYikpfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciB3ZD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuZ2JfayAuZ2JfZCIpLHhkPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNnYi5nYl9QYyIpO3dkJiYheGQmJl8udmQoXy5mZCx3ZCwiY2xpY2siKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy51aD1mdW5jdGlvbihhKXtjb25zdCBiPVtdO2xldCBjPTA7Zm9yKGNvbnN0IGQgaW4gYSliW2MrK109YVtkXTtyZXR1cm4gYn07Xy52aD1mdW5jdGlvbihhKXtpZihhLnYpcmV0dXJuIGEudjtmb3IoY29uc3QgYiBpbiBhLmkpaWYoYS5pW2JdLnFhKCkmJmEuaVtiXS5CKCkpcmV0dXJuIGEuaVtiXTtyZXR1cm4gbnVsbH07Xy53aD1mdW5jdGlvbihhLGIpe2EuaVtiLksoKV09Yn07dmFyIHhoPW5ldyBjbGFzcyBleHRlbmRzIF8uUntjb25zdHJ1Y3Rvcigpe3ZhciBhPV8uUGM7c3VwZXIoKTt0aGlzLkI9YTt0aGlzLnY9bnVsbDt0aGlzLm89e307dGhpcy5DPXt9O3RoaXMuaT17fTt0aGlzLmo9bnVsbH1BKGEpe3RoaXMuaVthXSYmKF8udmgodGhpcykmJl8udmgodGhpcykuSygpPT1hfHx0aGlzLmlbYV0uUCghMCkpfVhhKGEpe3RoaXMuaj1hO2Zvcihjb25zdCBiIGluIHRoaXMuaSl0aGlzLmlbYl0ucWEoKSYmdGhpcy5pW2JdLlhhKGEpfW5jKGEpe3JldHVybiBhIGluIHRoaXMuaT90aGlzLmlbYV06bnVsbH19O18uaWQoImRkIix4aCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uUGk9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5NKGEsMzYsYil9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgUWk9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmdiX2IgLmdiX2QiKSxSaT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjZ2IuZ2JfUGMiKTtRaSYmIVJpJiZfLnZkKF8uZmQsUWksImNsaWNrIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp9KSh0aGlzLmdiYXJfKTsKLy8gR29vZ2xlIEluYy4KdGhpcy5nYmFyXz10aGlzLmdiYXJffHx7fTsoZnVuY3Rpb24oXyl7dmFyIHdpbmRvdz10aGlzOwp0cnl7CnZhciB6ZDtfLnlkPWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBhO3JldHVybiBiPT0ib2JqZWN0IiYmYSE9bnVsbHx8Yj09ImZ1bmN0aW9uIn07emQ9Y2xhc3MgZXh0ZW5kcyBfLmpke307Xy5BZD1mdW5jdGlvbihhLGIpe2lmKGIgaW4gYS5pKXJldHVybiBhLmlbYl07dGhyb3cgbmV3IHpkO307Xy5CZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5BZChfLmdkLmkoKSxhKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Ci8qCgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KdmFyIEhkLFJkLFRkO18uQ2Q9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gYTtpZih0eXBlb2YgYT09PSJzdHJpbmciKXtpZighYSlyZXR1cm47YT0rYX1pZih0eXBlb2YgYT09PSJudW1iZXIiKXJldHVybiBOdW1iZXIuaXNGaW5pdGUoYSk/YXwwOnZvaWQgMH07Xy5EZD1mdW5jdGlvbihhKXtjb25zdCBiPWEubGVuZ3RoO2lmKGI+MCl7Y29uc3QgYz1BcnJheShiKTtmb3IobGV0IGQ9MDtkPGI7ZCsrKWNbZF09YVtkXTtyZXR1cm4gY31yZXR1cm5bXX07Xy5GZD1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5FZClyZXR1cm4gYS5pO3Rocm93IEVycm9yKCJEIik7fTtIZD1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IEdkKGI9PmIuc3Vic3RyKDAsYS5sZW5ndGgrMSkudG9Mb3dlckNhc2UoKT09PWErIjoiKX07Cl8uSmQ9ZnVuY3Rpb24oYSxiPV8uSWQpe2lmKGEgaW5zdGFuY2VvZiBfLkVkKXJldHVybiBhO2ZvcihsZXQgYz0wO2M8Yi5sZW5ndGg7KytjKXtjb25zdCBkPWJbY107aWYoZCBpbnN0YW5jZW9mIEdkJiZkLlZnKGEpKXJldHVybiBuZXcgXy5FZChhKX19O18uTGQ9ZnVuY3Rpb24oYSl7aWYoS2QudGVzdChhKSlyZXR1cm4gYX07Xy5NZD1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uRWQ/Xy5GZChhKTpfLkxkKGEpfTtfLk5kPWZ1bmN0aW9uKGEsYil7dmFyIGM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBmdW5jdGlvbigpe3ZhciBkPWMuc2xpY2UoKTtkLnB1c2guYXBwbHkoZCxhcmd1bWVudHMpO3JldHVybiBhLmFwcGx5KHRoaXMsZCl9fTtfLk9kPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5zYihhLGIsYywhMSkhPT12b2lkIDB9O18uUGQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5DZChfLkRjKGEsYikpfTsKXy5TPWZ1bmN0aW9uKGEsYil7YT1fLkRjKGEsYik7cmV0dXJuIGE9PW51bGw/YTpOdW1iZXIuaXNGaW5pdGUoYSk/YXwwOnZvaWQgMH07Xy5UPWZ1bmN0aW9uKGEsYixjPTApe3JldHVybiBfLnRiKF8uUGQoYSxiKSxjKX07Xy5RZD1mdW5jdGlvbihhLGIsYz0wKXtyZXR1cm4gXy50YihfLlMoYSxiKSxjKX07UmQ9MDtfLlNkPWZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxfLkhiKSYmYVtfLkhiXXx8KGFbXy5IYl09KytSZCl9O1RkPWZ1bmN0aW9uKGEpe3JldHVybiBhfTtfLlVkPWZ1bmN0aW9uKGEpe3ZhciBiPW51bGwsYz1fLnQudHJ1c3RlZFR5cGVzO2lmKCFjfHwhYy5jcmVhdGVQb2xpY3kpcmV0dXJuIGI7dHJ5e2I9Yy5jcmVhdGVQb2xpY3koYSx7Y3JlYXRlSFRNTDpUZCxjcmVhdGVTY3JpcHQ6VGQsY3JlYXRlU2NyaXB0VVJMOlRkfSl9Y2F0Y2goZCl7Xy50LmNvbnNvbGUmJl8udC5jb25zb2xlLmVycm9yKGQubWVzc2FnZSl9cmV0dXJuIGJ9OwpfLlZkPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEubGFzdEluZGV4T2YoYiwwKT09MH07Xy5XZD1mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGEsYix2b2lkIDApfTt0cnl7KG5ldyBzZWxmLk9mZnNjcmVlbkNhbnZhcygwLDApKS5nZXRDb250ZXh0KCIyZCIpfWNhdGNoKGEpe307dmFyIFhkO18uWWQ9ZnVuY3Rpb24oKXtYZD09PXZvaWQgMCYmKFhkPV8uVWQoIm9nYi1xdG0jaHRtbCIpKTtyZXR1cm4gWGR9O3ZhciBhZTtfLlpkPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaT1hfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuaSsiIn19O18uJGQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLlpkJiZhLmNvbnN0cnVjdG9yPT09Xy5aZD9hLmk6InR5cGVfZXJyb3I6VHJ1c3RlZFJlc291cmNlVXJsIn07YWU9e307Xy5iZT1mdW5jdGlvbihhKXtjb25zdCBiPV8uWWQoKTthPWI/Yi5jcmVhdGVTY3JpcHRVUkwoYSk6YTtyZXR1cm4gbmV3IF8uWmQoYSxhZSl9O18uRWQ9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5pPWF9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5pfX07Xy5jZT1uZXcgXy5FZCgiYWJvdXQ6aW52YWxpZCN6Q2xvc3VyZXoiKTt2YXIgR2QsS2Q7R2Q9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5WZz1hfX07Xy5JZD1bSGQoImRhdGEiKSxIZCgiaHR0cCIpLEhkKCJodHRwcyIpLEhkKCJtYWlsdG8iKSxIZCgiZnRwIiksbmV3IEdkKGE9Pi9eW146XSooWy8/I118JCkvLnRlc3QoYSkpXTtLZD0vXlxzKig/IWphdmFzY3JpcHQ6KSg/OltcdysuLV0rOnxbXjovPyNdKig/OlsvPyNdfCQpKS9pO18uZGU9e307Xy5lZT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmk9YX10b1N0cmluZygpe3JldHVybiB0aGlzLmkudG9TdHJpbmcoKX19O18uZmU9bmV3IF8uZWUoIiIsXy5kZSk7Xy5nZT1SZWdFeHAoIl5bLSssLlwiJyVfISMvIGEtekEtWjAtOVxcW1xcXV0rJCIpO18uaGU9UmVnRXhwKCJcXGIodXJsXFwoWyBcdFxuXSopKCdbIC0mKC1cXFtcXF0tfl0qJ3xcIlsgISMtXFxbXFxdLX5dKlwifFshIy0mKi1cXFtcXF0tfl0qKShbIFx0XG5dKlxcKSkiLCJnIik7Xy5pZT1SZWdFeHAoIlxcYihjYWxjfGN1YmljLWJlemllcnxmaXQtY29udGVudHxoc2x8aHNsYXxsaW5lYXItZ3JhZGllbnR8bWF0cml4fG1pbm1heHxyYWRpYWwtZ3JhZGllbnR8cmVwZWF0fHJnYnxyZ2JhfChyb3RhdGV8c2NhbGV8dHJhbnNsYXRlKShYfFl8WnwzZCk/fHN0ZXBzfHZhcilcXChbLSsqLzAtOWEtekEtWi4lI1xcW1xcXSwgXStcXCkiLCJnIik7Xy5qZT17fTtfLmxlPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluc3RhbmNlb2YgXy5rZSYmYS5jb25zdHJ1Y3Rvcj09PV8ua2U/YS5pOiJ0eXBlX2Vycm9yOlNhZmVIdG1sIn07Xy5rZT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmk9YX10b1N0cmluZygpe3JldHVybiB0aGlzLmkudG9TdHJpbmcoKX19O18ubWU9bmV3IF8ua2UoXy50LnRydXN0ZWRUeXBlcyYmXy50LnRydXN0ZWRUeXBlcy5lbXB0eUhUTUx8fCIiLF8uamUpO18ubmU9ZnVuY3Rpb24oYSl7bGV0IGI9ITEsYztyZXR1cm4gZnVuY3Rpb24oKXtifHwoYz1hKCksYj0hMCk7cmV0dXJuIGN9fShmdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Yi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7YS5hcHBlbmRDaGlsZChiKTtiPWEuZmlyc3RDaGlsZC5maXJzdENoaWxkO2EuaW5uZXJIVE1MPV8ubGUoXy5tZSk7cmV0dXJuIWIucGFyZW50RWxlbWVudH0pO18ub2U9ZnVuY3Rpb24oYSxiKXt0aGlzLndpZHRoPWE7dGhpcy5oZWlnaHQ9Yn07Xy5uPV8ub2UucHJvdG90eXBlO18ubi5hc3BlY3RSYXRpbz1mdW5jdGlvbigpe3JldHVybiB0aGlzLndpZHRoL3RoaXMuaGVpZ2h0fTtfLm4uRWI9ZnVuY3Rpb24oKXtyZXR1cm4hKHRoaXMud2lkdGgqdGhpcy5oZWlnaHQpfTtfLm4uY2VpbD1mdW5jdGlvbigpe3RoaXMud2lkdGg9TWF0aC5jZWlsKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguY2VpbCh0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9O18ubi5mbG9vcj1mdW5jdGlvbigpe3RoaXMud2lkdGg9TWF0aC5mbG9vcih0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmZsb29yKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5uLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLnJvdW5kKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGgucm91bmQodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLlU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1ifHxkb2N1bWVudDtpZihjLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpYT1jLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoYSlbMF07ZWxzZXtjPWRvY3VtZW50O3ZhciBkPWJ8fGM7YT1kLnF1ZXJ5U2VsZWN0b3JBbGwmJmQucXVlcnlTZWxlY3RvciYmYT9kLnF1ZXJ5U2VsZWN0b3IoYT8iLiIrYToiIik6Xy5wZShjLGEsYilbMF18fG51bGx9cmV0dXJuIGF8fG51bGx9OwpfLnBlPWZ1bmN0aW9uKGEsYixjKXt2YXIgZDthPWN8fGE7aWYoYS5xdWVyeVNlbGVjdG9yQWxsJiZhLnF1ZXJ5U2VsZWN0b3ImJmIpcmV0dXJuIGEucXVlcnlTZWxlY3RvckFsbChiPyIuIitiOiIiKTtpZihiJiZhLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpe3ZhciBlPWEuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShiKTtyZXR1cm4gZX1lPWEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKTtpZihiKXt2YXIgZj17fTtmb3IoYz1kPTA7YT1lW2NdO2MrKyl7dmFyIGc9YS5jbGFzc05hbWU7dHlwZW9mIGcuc3BsaXQ9PSJmdW5jdGlvbiImJl8udGEoZy5zcGxpdCgvXHMrLyksYikmJihmW2QrK109YSl9Zi5sZW5ndGg9ZDtyZXR1cm4gZn1yZXR1cm4gZX07Xy5yZT1mdW5jdGlvbihhKXtyZXR1cm4gXy5xZShkb2N1bWVudCxhKX07Cl8ucWU9ZnVuY3Rpb24oYSxiKXtiPVN0cmluZyhiKTthLmNvbnRlbnRUeXBlPT09ImFwcGxpY2F0aW9uL3hodG1sK3htbCImJihiPWIudG9Mb3dlckNhc2UoKSk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChiKX07Xy5zZT1mdW5jdGlvbihhKXtmb3IodmFyIGI7Yj1hLmZpcnN0Q2hpbGQ7KWEucmVtb3ZlQ2hpbGQoYil9O18udGU9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubm9kZVR5cGU9PTk/YTphLm93bmVyRG9jdW1lbnR8fGEuZG9jdW1lbnR9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLldpPWZ1bmN0aW9uKGEsYil7bGV0IGMsZDtyZXR1cm4oYj0oZD0oYz1iLmRvY3VtZW50KS5xdWVyeVNlbGVjdG9yKT09bnVsbD92b2lkIDA6ZC5jYWxsKGMsYCR7YX1bbm9uY2VdYCkpP2Iubm9uY2V8fGIuZ2V0QXR0cmlidXRlKCJub25jZSIpfHwiIjoiIn07Xy5YaT1mdW5jdGlvbihhKXtjb25zdCBiPV8uV2koInNjcmlwdCIsYS5vd25lckRvY3VtZW50JiZhLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXd8fHdpbmRvdyk7YiYmYS5zZXRBdHRyaWJ1dGUoIm5vbmNlIixiKX07Xy5ZaT1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4gbnVsbDthPV8uSihhLDQpO3ZhciBiO2E9PT1udWxsfHxhPT09dm9pZCAwP2I9bnVsbDpiPV8uYmUoYSk7cmV0dXJuIGJ9O18uWmk9Y2xhc3MgZXh0ZW5kcyBfLlF7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTtfLiRpPWZ1bmN0aW9uKGEsYil7cmV0dXJuKGJ8fGRvY3VtZW50KS5nZXRFbGVtZW50c0J5VGFnTmFtZShTdHJpbmcoYSkpfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGJqPWZ1bmN0aW9uKGEsYixjKXthPGI/YWooYSsxLGIpOl8uUGMubG9nKEVycm9yKCJjYWAiK2ErImAiK2IpLHt1cmw6Y30pfSxhaj1mdW5jdGlvbihhLGIpe2lmKGNqKXtjb25zdCBjPV8ucmUoIlNDUklQVCIpO2MuYXN5bmM9ITA7Yy50eXBlPSJ0ZXh0L2phdmFzY3JpcHQiO2MuY2hhcnNldD0iVVRGLTgiO2Muc3JjPV8uJGQoY2opO18uWGkoYyk7Yy5vbmVycm9yPV8uTmQoYmosYSxiLGMuc3JjKTtfLiRpKCJIRUFEIilbMF0uYXBwZW5kQ2hpbGQoYyl9fSxkaj1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciBlaj1fLkYoXy5hZCxkaiwxNyl8fG5ldyBkaixmaixjaj0oZmo9Xy5GKGVqLF8uWmksMSkpP18uWWkoZmopOm51bGwsZ2osaGo9KGdqPV8uRihlaixfLlppLDIpKT9fLllpKGdqKTpudWxsLGlqPWZ1bmN0aW9uKCl7YWooMSwyKTtpZihoail7Y29uc3QgYT1fLnJlKCJMSU5LIik7YS5zZXRBdHRyaWJ1dGUoInR5cGUiLCJ0ZXh0L2NzcyIpO2EuaHJlZj1fLiRkKGhqKS50b1N0cmluZygpO2EucmVsPSJzdHlsZXNoZWV0IjtsZXQgYj1fLldpKCJzdHlsZSIsd2luZG93KTtiJiZhLnNldEF0dHJpYnV0ZSgibm9uY2UiLGIpO18uJGkoIkhFQUQiKVswXS5hcHBlbmRDaGlsZChhKX19OyhmdW5jdGlvbigpe2NvbnN0IGE9Xy5iZCgpO2lmKF8uSShhLDE4KSlpaigpO2Vsc2V7Y29uc3QgYj1fLlBkKGEsMTkpfHwwO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwoKT0+e3dpbmRvdy5zZXRUaW1lb3V0KGlqLGIpfSl9fSkoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9Cn0pKHRoaXMuZ2Jhcl8pOwovLyBHb29nbGUgSW5jLgo8L3NjcmlwdD48ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIj48ZGl2PjwvZGl2PjwvZGl2PjwvZGl2Pjx0ZXh0YXJlYSBjbGFzcz0iY3NpIiBuYW1lPSJjc2kiIHN0eWxlPSJkaXNwbGF5Om5vbmUiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3RleHRhcmVhPjxzY3JpcHQgbm9uY2U9ImFBN1ZhLWJlZWhJTHNsMmhGbFB0LWciIGFyaWEtaGlkZGVuPSJ0cnVlIj4oZnVuY3Rpb24oKXtnb29nbGUuY2FmdD1mdW5jdGlvbihhKXtpZihnb29nbGUuYWZ0cT09PW51bGwpdHJ5e2EoKX1jYXRjaChiKXtnb29nbGUubWwoYiwhMSl9ZWxzZSBnb29nbGUuYWZ0cT1nb29nbGUuYWZ0cXx8W10sZ29vZ2xlLmFmdHEucHVzaChhKX07d2luZG93Lmdvb2dsZT13aW5kb3cuZ29vZ2xlfHx7fTtnb29nbGUuYy5paW09Z29vZ2xlLmMuaWltfHx7fTsoZnVuY3Rpb24oKXt2YXIgYT1EYXRlLm5vdygpO2dvb2dsZS50aWNrKCJsb2FkIiwicHJ0IixhKTtnb29nbGUuYy5lKCJsb2FkIiwiaW1uIixTdHJpbmcoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImltZyIpLmxlbmd0aCkpO2dvb2dsZS5jLnViKCk7Z29vZ2xlLmMuY2FlfHxnb29nbGUuYy5tYWZ0KGEsbnVsbCk7Z29vZ2xlLmMubWltbChhKTtnb29nbGUucmxsKHdpbmRvdywhMSxmdW5jdGlvbigpe2dvb2dsZS50aWNrKCJsb2FkIiwib2xkIil9KTtnb29nbGUuYy51KCJwcnQiKX0pKCk7fSkuY2FsbCh0aGlzKTsoZnVuY3Rpb24oKXt3aW5kb3cuZ29vZ2xlPXdpbmRvdy5nb29nbGV8fHt9O3dpbmRvdy5nb29nbGUuaXNoaz1bXTtmdW5jdGlvbiBhKCl7cmV0dXJuIHdpbmRvdy5zY3JvbGxZK3dpbmRvdy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0Pj1NYXRoLm1heChkb2N1bWVudC5ib2R5LnNjcm9sbEhlaWdodCxkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodCl9ZnVuY3Rpb24gYigpe2EoKSYmd2luZG93Lmdvb2dsZS5pc2hrLmxlbmd0aD09PTAmJih3aW5kb3cuZ29vZ2xlLmJzPSEwLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLGIpKX1hKCk/d2luZG93Lmdvb2dsZS5icz0hMDood2luZG93Lmdvb2dsZS5icz0hMSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixiKSk7fSkuY2FsbCh0aGlzKTsoZnVuY3Rpb24oKXtnb29nbGUuamw9e2JmbDowLGR3OmZhbHNlLGluZTpmYWxzZSx1Ym06ZmFsc2UsdXdwOnRydWUsdnM6ZmFsc2V9O30pKCk7KGZ1bmN0aW9uKCl7dmFyIHBtYz0ne1x4MjJhYVx4MjI6e30sXHgyMmFiZFx4MjI6e1x4MjJhYmRceDIyOmZhbHNlLFx4MjJkZWJceDIyOmZhbHNlLFx4MjJkZXRceDIyOmZhbHNlfSxceDIyYXN5bmNceDIyOnt9LFx4MjJjZG9zXHgyMjp7XHgyMmNkb2JzZWxceDIyOmZhbHNlfSxceDIyY3NpXHgyMjp7fSxceDIyZFx4MjI6e30sXHgyMmdmXHgyMjp7XHgyMnBpZFx4MjI6MTk2fSxceDIyaHNtXHgyMjp7fSxceDIyanNhXHgyMjp7XHgyMmNzaVx4MjI6dHJ1ZSxceDIyY3Npclx4MjI6MTAwfSxceDIybWI0WlViXHgyMjp7fSxceDIycEhYZ2hkXHgyMjp7fSxceDIyc2Jfd2l6XHgyMjp7XHgyMnJmc1x4MjI6W10sXHgyMnNjcVx4MjI6XHgyMlx4MjIsXHgyMnN0b2tceDIyOlx4MjJvTDBnUTJpN1U4MWJLN1RQMkdJOVhkQnFJTEFceDIyfSxceDIyc2ZceDIyOnt9LFx4MjJzb25pY1x4MjI6e30sXHgyMnNwY2hceDIyOntceDIyYWVceDIyOlx4MjJcXHUwMGRjYmVycHJcXHUwMGZjZmUgZGFzIE1pa3JvZm9uLiBcXHUwMDNDYSBocmVmXHgzZFxcXHgyMmh0dHBzOi8vc3VwcG9ydC5nb29nbGUuY29tL2Nocm9tZS8/cFx4M2R1aV92b2ljZV9zZWFyY2hcXFx4MjIgdGFyZ2V0XHgzZFxcXHgyMl9ibGFua1xcXHgyMlxcdTAwM0VXZWl0ZXJlIEluZm9ybWF0aW9uZW5cXHUwMDNDL2FcXHUwMDNFXHgyMixceDIyYWtceDIyOlx4MjJceDIyLFx4MjJhb1x4MjI6dHJ1ZSxceDIyY2RceDIyOjAsXHgyMmZwXHgyMjp0cnVlLFx4MjJobFx4MjI6XHgyMmRlLUxVXHgyMixceDIyaW1ceDIyOlx4MjJLbGlja2UgYXVmIFxcdTAwM0NiXFx1MDAzRVp1bGFzc2VuXFx1MDAzQy9iXFx1MDAzRSwgdW0gbWl0IGRlciBTcHJhY2hzdWNoZSB6dSBiZWdpbm5lbi5ceDIyLFx4MjJpd1x4MjI6XHgyMkJpdHRlIHdhcnRlbi4uLlx4MjIsXHgyMmxtXHgyMjpceDIyQmVyZWl0IGZcXHUwMGZjciBTcHJhY2hlaW5nYWJlXFx1MjAyNlx4MjIsXHgyMmx1XHgyMjpceDIyRGllIFNwcmFjaHN1Y2hlIGlzdCBhdWYgJTEkcyBuaWNodCB2ZXJmXFx1MDBmY2diYXIuXHgyMixceDIybWJceDIyOmZhbHNlLFx4MjJtY1x4MjI6ZmFsc2UsXHgyMm5lXHgyMjpceDIyS2VpbmUgSW50ZXJuZXR2ZXJiaW5kdW5nXHgyMixceDIybnRceDIyOlx4MjJOaWNodCB2ZXJzdGFuZGVuLi4uIFxcdTAwM0NzcGFuXFx1MDAzRVZlcnN1Y2hlIGVzIGVybmV1dC5cXHUwMDNDL3NwYW5cXHUwMDNFXHgyMixceDIybnZceDIyOlx4MjJcXHUwMGRjYmVycHJcXHUwMGZjZmUgZGFzIE1pa3JvZm9uIHVuZCBkaWUgTGF1dHN0XFx1MDBlNHJrZS4gXFx1MDAzQ2EgaHJlZlx4M2RcXFx4MjJodHRwczovL3N1cHBvcnQuZ29vZ2xlLmNvbS9jaHJvbWUvP3BceDNkdWlfdm9pY2Vfc2VhcmNoXFxceDIyIHRhcmdldFx4M2RcXFx4MjJfYmxhbmtcXFx4MjJcXHUwMDNFV2VpdGVyZSBJbmZvcm1hdGlvbmVuXFx1MDAzQy9hXFx1MDAzRVx4MjIsXHgyMnBlXHgyMjpceDIyRGllIFNwcmFjaHN1Y2hlIHd1cmRlIGRlYWt0aXZpZXJ0LiBcXHUwMDNDYSBocmVmXHgzZFxcXHgyMmh0dHBzOi8vc3VwcG9ydC5nb29nbGUuY29tL2Nocm9tZS8/cFx4M2R1aV92b2ljZV9zZWFyY2hcXFx4MjIgdGFyZ2V0XHgzZFxcXHgyMl9ibGFua1xcXHgyMlxcdTAwM0VEZXRhaWxzXFx1MDAzQy9hXFx1MDAzRVx4MjIsXHgyMnJpXHgyMjpmYWxzZSxceDIycm1ceDIyOlx4MjJKZXR6dCBzcHJlY2hlblx4MjIsXHgyMnMzXHgyMjpmYWxzZSxceDIyc2FceDIyOmZhbHNlfX0nO2dvb2dsZS5wbWM9SlNPTi5wYXJzZShwbWMpO30pKCk7KGZ1bmN0aW9uKCl7dmFyIHI9WydzYl93aXonLCdhYScsJ2FiZCcsJ2FzeW5jJywncEhYZ2hkJywnc2YnLCdzb25pYycsJ3NwY2gnXTtnb29nbGUucGxtKHIpO30pKCk7KGZ1bmN0aW9uKCl7dmFyIG09eyJCZTh3c2siOlsiZ3dzLXdpeiIsIiIsIiIsIiIsbnVsbCwxLDAsMCwxMywiZGUiLCJvTDBnUTJpN1U4MWJLN1RQMkdJOVhkQnFJTEEiLCIiLCJoNENyWnZ5TEM1T2ZpLWdQX29xSi1RdyIsMCwiZGUtTFUiLG51bGwsbnVsbCxudWxsLDMsNSwtMSxudWxsLCI4OTk3ODQ0OSIsbnVsbCwxLDAsMTgwMDAwMCwxLDYsbnVsbCwxLjE1LDAsMSwwLG51bGwsMSwxLDAsbnVsbCxudWxsLG51bGwsbnVsbCwxLDEsbnVsbCwiIiwwLDEsbnVsbCxudWxsLG51bGwsMCwwLDAsImZ1dHVyYV9zdWdfenBfc2lfMDAwMDAwMF9lIixudWxsLG51bGwsIiIsMCxudWxsLDEsLTEsLTEsbnVsbCwxLDAsMSwxMDAwLDEsWyJnd3Mtd2l6IiwiIiwiIl0sbnVsbCxbImd3cy13aXotbW9kZWxlc3MtbG9jYWwiLCIiLCIiXSxudWxsLFsiaW1nIiwiZ3dzLXdpei1pbWciLCJpIl0sbnVsbCxbImd3cy13aXotbW9kZWxlc3MtcHJvZHVjdHMiLCIiLCJzaCJdLG51bGwsWyJnd3Mtd2l6LW1vZGVsZXNzIiwiZ3dzLXdpei1wZXJzcGVjdGl2ZXMiLCIiXSxudWxsLFsiZ3dzLXdpei1tb2RlbGVzcy1sb2RnaW5nIiwiIiwiIl0sbnVsbCxbImd3cy13aXotbW9kZWxlc3MtZmxpZ2h0cyIsIiIsIiJdLDEsbnVsbCwwLDEsbnVsbCxudWxsLG51bGwsWyJnd3Mtd2l6LW1vZGVsZXNzLXZzcy1wcm9kdWN0cyIsIiIsIiJdLG51bGwsWyJnd3Mtd2l6LW1vZGVsZXNzLXZzcy1qb2JzIiwiIiwiIl0sbnVsbCxbImd3cy13aXotbW9kZWxlc3MtdnNzLWxvY2FsLXRyYXZlbCIsIiIsIiJdLDEsbnVsbCxudWxsLFsiZ3dzLXdpei1tb2RlbGVzcy12aWRlbyIsIiIsInYiXSxudWxsLG51bGwsbnVsbCxbImd3cy13aXotbW9kZWxlc3Mtam9icyIsIiIsIiJdLG51bGwsWyJnd3Mtd2l6LW1vZGVsZXNzLXZzcy1mbGlnaHRzIiwiIiwiIl0sbnVsbCxbImd3cy13aXotbW9kZWxlc3MiLCIiLCIiXSxudWxsLG51bGwsbnVsbCxbImd3cy13aXotbW9kZWxlc3Mtc2hvcHBpbmciLCIiLCJzaCJdLG51bGwsbnVsbCxudWxsLDAsWyJtdWx0aW1vZGFsLWxlbnMtd2ViIiwiIiwiIl0sWyJnd3Mtd2l6LW1vZGVsZXNzIiwiIiwiIl0sMF0sIkJlOHdzbyI6W251bGwsbnVsbCxudWxsLCJhdXRvY29tcGxldGVfdXNlcl9mZWVkYmFja19rcF9pZCIsbnVsbCwxMSxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsNTAxMDcxNSwic2VhcmNoYm94IixudWxsLCJBdXRvY29tcGxldGVQcmVkaWN0aW9uIixudWxsLG51bGwsbnVsbCxudWxsLDExXSwiQmU4d3NzIjpbMyw2LG51bGwsbnVsbCwxLDEsMCwwLDAsMCwwLDAsMF0sIkJlOHdzdyI6WyIiLDYsMF0sIkJlOHdzMCI6WyIiLDQsMF19O3ZhciBhPW07aWYod2luZG93LldfamQpZm9yKHZhciBiIGluIGEpd2luZG93LldfamRbYl09YVtiXTtlbHNlIHdpbmRvdy5XX2pkPWE7fSkoKTsoZnVuY3Rpb24oKXt3aW5kb3cuV0laX2dsb2JhbF9kYXRhPXsiWWxsaDNlIjoiJS5ALjE3MjI1MTU1OTExODE3NTYsMTE3NjI0NzIzLDM0NzUxMjk3MjZdIiwidzJidEFlIjoiJS5ALlwiXCIsXCJcIixcIjBcIixudWxsLG51bGwsbnVsbCwxXSIsIlMwNkdyYiI6IiIsIlNObE0wZSI6IiIsIkxWSVhYYiI6IjEiLCJJbTZjbWYiOiIvd2l6cnBjdWkvXy9XaXpScGNVaSIsIlM2bFpsIjoiODk5Nzg0NDkiLCJTVGZhUmQiOiJ7fSIsInpDaEpvZCI6IiUuQC5dIiwiR1dzZEtlIjoiZGUtTFUiLCJlcHRaZSI6Ii93aXpycGN1aS9fL1dpelJwY1VpLyIsIm94TjNuYiI6eyIxIjpmYWxzZX0sIlFydHhLIjoiMCJ9O3dpbmRvdy5JSl92YWx1ZXM9eyJlRzhacWYiOjEuMCwiSXZOcXpjIjpmYWxzZSwicWpXdzZjIjp0cnVlLCJ2U2pVWmQiOjI0LCJQNTlRVGMiOmZhbHNlLCJnZnExSWMiOmZhbHNlLCJiczJkcmMiOmZhbHNlLCJ5eXMyeWMiOmZhbHNlLCJSYmF6OWMiOmZhbHNlLCJsQ0N5a2MiOmZhbHNlLCJlZmxjVGQiOmZhbHNlLCJ1Y2lpNGQiOmZhbHNlLCJRUlFZNGIiOmZhbHNlLCJ2d0FuMmQiOmZhbHNlLCJvUzBlbmQiOmZhbHNlLCJqcWN4VSI6IiM0Mjg1ZjQiLCJ0b1ZFTGMiOiIjZjhmOWZhIiwiVjFUSkViIjoiIzFhNzNlOCIsImVhdk45YyI6MzYsIlh1QzVUZCI6MjQsIml2eVdlZCI6MjgsInBzbVF5ZiI6NiwiaE9rak1jIjowLCJxT3B3SmQiOi0xLCJVbEhsbGIiOjEuMCwib3NOeVoiOjEuMCwiTDZXeUVmIjpmYWxzZSwidHN3UlhkIjoibm9uZSIsIm10bXJ0YiI6IjAgMXB4IDZweCByZ2JhKDMyLDMzLDM2LDAuMjgpIiwiVTJHVGsiOiIjZmZmIiwiV2dSTG1lIjoiI2RhZGNlMCIsIlFjWnhTZCI6IiMzYzQwNDMiLCJnNFRvRGYiOiIwIDFweCAycHggcmdiYSg2MCw2NCw2NywuMyksIDAgMnB4IDZweCAycHggcmdiYSg2MCw2NCw2NywuMTUpIiwibXViN0ZkIjoiI2YxZjNmNCIsInoyU1F3ZiI6IiNiZGMxYzYiLCJvYjRZMGMiOiIjZThlYWVkIiwiSTZSNWxmIjoiI2Y4ZjlmYSIsIktDTVhWYiI6IiMyMDIxMjQiLCJ2elJ2Z2IiOiIjZThmMGZlIiwiSE5Md3oiOiIjZDJlM2ZjIiwidUQzTHdjIjoiI2QyZTNmYyIsIm03RW5UYyI6IiM4YWI0ZjgiLCJqeUVVWGUiOiIjZDJlM2ZjIiwiUXl6WjhlIjoiIzE3NGVhNiIsIkNGZ3NiIjoiIzE1NThkNiIsImxZeWVsYiI6InJnYmEoMCwwLDAsLjU0KSIsIm0wUmxLYiI6ZmFsc2UsIndGR0tkYyI6ZmFsc2UsImtsZ2VyZSI6ImludmVydCgxKSBodWUtcm90YXRlKDE4MGRlZykiLCJnSG83YiI6IiNiOGJiYmUiLCJWQlNjOGMiOmZhbHNlLCJvWDJyMmMiOmZhbHNlLCJXaXRWcWUiOmZhbHNlLCJ6c1laSyI6IiNkYWRjZTAiLCJQaTRmOGQiOmZhbHNlLCJWRDR1MWQiOmZhbHNlLCJ4eHRocWYiOnRydWUsIlVzVmM4ZSI6ZmFsc2UsIllqTDlDZSI6ZmFsc2UsIndzUmZJIjpmYWxzZSwicTQ5YnZkIjpmYWxzZSwiV3ZkaEYiOmZhbHNlLCJSb2ppeGMiOiIjYWVjYmZhIiwiUU91dkljIjoiIzFhNzNlOCIsIlp4bDljZSI6ZmFsc2UsIlp1bjNFZiI6ZmFsc2UsIlNPbTRvIjpmYWxzZSwibEw0N1hjIjpmYWxzZSwiVTZ4UDAiOiIjNDI4NWY0IiwiQTV0RjNiIjpmYWxzZSwiTlhEdnRmIjpmYWxzZSwiTHhtam4iOmZhbHNlLCJGeWRDQyI6ZmFsc2UsImtBVVAzYiI6ZmFsc2UsImhnV0o4YyI6ZmFsc2UsIlR4c1RjZiI6IiMwMDAiLCJ2NGlRQ2UiOiIjNDI4NWY0IiwiT2ZxZU9lIjoiIzQyODVmNCIsInpScFVrIjoiIzQyODVmNCIsIlFiWmtsYiI6IiNlOGYwZmUiLCJGY2I0QSI6IiMxYTczZTgiLCJWUnRaUmUiOiIjMTU1OGQ2IiwiT21ZbGdlIjoiIzM0YTg1MyIsInk4SEdnZiI6IiMxZThlM2UiLCJRRFhVeWMiOiIjMTg4MDM4IiwiSlFXcXViIjoiI2VhNDMzNSIsIm5Sd3VaZCI6IiNkOTMwMjUiLCJyWkxKSmIiOiIjZmZmIiwiaGNMRXRjIjoiIzgxYzk5NSIsIkdKUW1tZiI6IiMzNGE4NTMiLCJoRVRJZmIiOiIjZGFkY2UwIiwiTnROanRkIjoiI2RhZGNlMCIsInZDc3J3IjoiI2RhZGNlMCIsInA5NDE2YyI6IiNmOGY5ZmEiLCJ0b1E3dGYiOiIjZjhmOWZhIiwieGdZMW5jIjoiI2Y4ZjlmYSIsInAxb2NKYiI6IiNmOGY5ZmEiLCJGQ0xmQmUiOiIjZjhmOWZhIiwiTW5DMnpmIjoiIzcwNzU3YSIsIklmZEFBZCI6IiM3MDc1N2EiLCJmUDJZbyI6IiM3MDc1N2EiLCJta255dSI6IiM3MDc1N2EiLCJQVWVuVCI6IiMzYzQwNDMiLCJaMERFS2YiOiIjMjAyMTI0Iiwib0hIS3dmIjoiIzIwMjEyNCIsInhOUHppYyI6IiNmZmYiLCJLa1BieWMiOiIjZmJiYzA0IiwidWV6cmUiOiIjZmJiYzA0IiwiU2tHaVpkIjoiI2YyOTkwMCIsIk94UFJyIjoiI2YxZjNmNCIsInVpS0VWIjoiIzIwMjEyNCIsIkJQbHRmIjoiI2YxZjNmNCIsIm04bDh0ZCI6IkNBUkVUIiwicWRvaW5iIjoiIzcwNzU3YSIsImE0cUxuZSI6IiNlYTQzMzUiLCJSaWZOMmQiOiIjMDAwIiwiRnBpN1JjIjoiQXJpYWwsc2Fucy1zZXJpZi1tZWRpdW0sc2Fucy1zZXJpZiIsImEyeWthYyI6IkFyaWFsLHNhbnMtc2VyaWYiLCJNRTROTWMiOiIjMDAwIiwiQnBQQWNkIjoiI2RhZGNlMCIsIk4wd3laIjoiIzAwMCIsImp4WnhuZSI6IiM3MDc1N2EiLCJDUXZNYmUiOiIjMWE3M2U4IiwiZlJrb3EiOnRydWUsIk45OG1lZiI6ZmFsc2UsIldranVPZSI6ZmFsc2UsImNXd3A3YiI6ZmFsc2UsImg2ZVFaYyI6ZmFsc2UsImIwSm9kZSI6ZmFsc2UsIk1vbXJNIjpmYWxzZSwiQXNvajBlIjpmYWxzZSwic0JwVmFjIjoicmdiYSgwLDAsMCwuMjYpIiwiSmNVR2VlIjoiIzcwNzU3YSIsIlBuZ1BiYiI6IiMyMDIxMjQiLCJlc1VndiI6IiNmZmYiLCJLVm10WmMiOiJyZ2JhKDI1NSwyNTUsMjU1LC4zMCkiLCJNb0FmeWYiOiIjZmZmIiwiQUxNU3dlIjoiUm9ib3RvLFJvYm90b0RyYWZ0LEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmIiwiU2dubWxjIjoiMTRweCIsInFrWHZIZCI6IjUwMCIsIlNlelFnZiI6IjUwMCIsIkVKRzR2ZiI6InBvaW50ZXIiLCJXeXZhUmQiOiIwIDFweCAxcHggcmdiYSgwLDAsMCwuMTYpIiwiUk9BbjBlIjoiMCAycHggMnB4IDAgcmdiYSgwLDAsMCwuMTQpLDAgM3B4IDFweCAtMnB4IHJnYmEoMCwwLDAsLjIpLDAgMXB4IDVweCAwIHJnYmEoMCwwLDAsLjEyKSIsInVaTE5GIjp0cnVlLCJKZFBPYWYiOmZhbHNlLCJ6QnhUNSI6dHJ1ZSwiYkRPdkpjIjpmYWxzZSwiWk1JSU1lIjp0cnVlLCJCMGh1c2IiOnRydWUsIm8yOHNCZCI6ZmFsc2UsIm40ZUVJYyI6dHJ1ZSwidHFtb3NiIjoiI2ZmZiIsIkhqTThSIjoiI2ZmZiIsIkZxUDFGYyI6IiMwMDAiLCJTQVROTWMiOiIxcHggc29saWQgI2RhZGNlMCIsIlYwQmx1YyI6Im5vbmUiLCJYMWJVRWMiOiJBcmlhbCxzYW5zLXNlcmlmLW1lZGl1bSxzYW5zLXNlcmlmIiwiUVpoZUdlIjoiR29vZ2xlIFNhbnMsQXJpYWwsc2Fucy1zZXJpZi1tZWRpdW0sc2Fucy1zZXJpZiIsIkxJWURhYyI6IkFyaWFsLHNhbnMtc2VyaWYiLCJtTm1yQWIiOiIjZWJlYmViIiwieDBWQ2tjIjoiMXB4IHNvbGlkICNkYWRjZTAiLCJSdnhzeCI6IjFweCBzb2xpZCAjZGFkY2UwIiwicW1jSm1kIjo2LCJKdXF4VGIiOiIjMjAyMTI0IiwiRTZHa2pkIjoiMCAycHggMTBweCAwIHJnYmEoMCwwLDAsMC4yKSIsIk1DbEJPZSI6InJnYmEoMCwwLDAsMC4xKSIsIlY2ZWg3YyI6MTYsIlp4STdBZiI6IiNmYWZhZmEiLCJzS1BOcmMiOiIjZTZlNmU2IiwiQWdKelEiOiIjZGFkY2UwIiwiRmFnQ2hjIjoiI2ZmZiIsInRDR0p6IjoiI2ZhZmFmYSIsIm9xeDd5YiI6IiM3MDc1N2EiLCJraG9FUGIiOiIjMWEwZGFiIiwiU2ZTbUQiOiIjZGFkY2UwIiwiYXVheEEiOiIjMjAyMTI0IiwicXREbUZjIjoiI2RhZGNlMCIsInY0NHJTYyI6IiM3MDc1N2EiLCJ0ZEM2a2QiOnRydWUsIlVqR09xIjpmYWxzZSwiSVVqNFllIjpmYWxzZSwibTE5UDRlIjpmYWxzZSwiUDZVcjJiIjoiIzFhNzNlOCIsInVoWFBJYyI6IiM4YWI0ZjgiLCJlMTI3U2IiOiIjMWMzYWE5IiwiZXpGZE5kIjoiIzBmOWQ1OCIsIldqYTRmIjoiIzg3Y2VhYyIsImpqYWpJZCI6IiM5ZTllOWUiLCJkMVVMdiI6InJnYmEoMCwwLDAsLjI2KSIsImxRMWtZZCI6IiNiZGJkYmQiLCJmQXVzNiI6IiMwMDAiLCJOTkJuZWIiOiIjNWY2MzY4IiwiTURpOFJkIjoiI2RhZGNlMCIsIkJvSnR4ZiI6ZmFsc2UsIlpUdUpOYyI6ZmFsc2UsInkxSFpFZCI6ZmFsc2UsIkQ4QThoZSI6dHJ1ZSwiYm1RN1JiIjpmYWxzZSwibk1SaEplIjpmYWxzZSwiS1RrREIiOmZhbHNlLCJKeUJvMmMiOmZhbHNlLCJ4REtYciI6ZmFsc2UsIkZZQmxnZiI6ZmFsc2UsIkhwa1FkYyI6dHJ1ZSwiRnVNZVciOnRydWUsImhWRzVjZSI6ZmFsc2UsIklBdHg1ZCI6dHJ1ZSwiVlhJbzdkIjoiOHB4IiwiRWlFZlhiIjoiI2RhZGNlMCIsInpoa1JPIjoiJS5ALjAsMCwwLDAsMSwwLDAsMCxudWxsLDEsbnVsbCwwLDAsbnVsbCwwLDEsMCxcIi9zZXRwcmVmcz9zaWdcXHUwMDNkMF9sckt0eHVnd1FtMnN6MVdIQjRBQ3FrUmd2OTQlM0RcXHUwMDI2c3psXFx1MDAzZDBcIl0iLCJ3MmJ0QWUiOiIlLkAuXCJcIixcIlwiLFwiMFwiLG51bGwsbnVsbCxudWxsLDFdIiwicHhPNFpkIjoiMCIsIm1YT1k1ZCI6IiUuQC5udWxsLDEsMSxudWxsLFtudWxsLDc1NywxNDQwXV0iLCJTc1E0eCI6ImFBN1ZhLWJlZWhJTHNsMmhGbFB0LWciLCJJWUZXbCI6IiUuQC5cIiNiOGJiYmVcIl0iLCJIdDFPMmIiOiIlLkAuMF0iLCJkNkoxbGQiOiIlLkAuMF0iLCJPbzNkS2YiOiIlLkAuXCIwcHggNXB4IDI2cHggMHB4IHJnYmEoMCwwLDAsMC4yMiksMHB4IDIwcHggMjhweCAwcHggcmdiYSgwLDAsMCwwLjMpXCIsXCIjZmZmXCJdIiwidVVCbkViIjoiIiwibmZ4RURlIjoiJS5ALltdLDAsbnVsbCwwLDBdIiwiYXVJdDgiOiIlLkAuMCwwXSIsIllQcWpiZiI6IiUuQC5cInJnYmEoMCwwLDAsMC45KVwiLFwiI2ZmZlwiLFwiMCAwIDJweCAwIHJnYmEoMCwwLDAsMC4xMiksMCAycHggMnB4IDAgcmdiYSgwLDAsMCwwLjEyKVwiLFwiMXB4IHNvbGlkICNkYWRjZTBcIixcIiM3MDc1N2FcIl0iLCJNdUpXamQiOnRydWUsIkdXc2RLZSI6ImRlLUxVIiwiZnJKcUFkIjoiJS5ALlwiMTNweFwiLFwiMTZweFwiLFwiMTFweFwiLDEzLDE2LDExLFwiOHB4XCIsOCwyMF0iLCJOMXljYWIiOiJkZV9MVSIsIkFCNVh3YiI6IiUuQC5cIjEwcHhcIiwxMCxcIjE2cHhcIiwxNixcIjE4cHhcIl0iLCJaOEhMRmYiOiIlLkAuXCIxNHB4XCIsMTRdIiwieW1hT0kiOiIlLkAuNDAsMzIsMTQsXCJcXFwiIzNjNDA0M1xcXCJcIl0iLCJmTnBRbWIiOiIiLCJhTUkybWIiOiIlLkAuXCIwIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwwLjIpXCJdIiwiQlpVRHpjIjoiJS5ALjAsXCIxNHB4XCIsXCI1MDBcIixcIjUwMFwiLFwiMCAxcHggMXB4IHJnYmEoMCwwLDAsLjE2KVwiLFwicG9pbnRlclwiLFwiIzAwMFwiLFwicmdiYSgwLDAsMCwuMjYpXCIsXCIjNzA3NTdhXCIsXCIjMjAyMTI0XCIsXCJyZ2JhKDIwNCwyMDQsMjA0LC4xNSlcIixcInJnYmEoMjA0LDIwNCwyMDQsLjI1KVwiLG51bGwsXCJyZ2JhKDExMiwxMTcsMTIyLC40MClcIixcIiMzNGE4NTNcIixcIiM0Mjg1ZjRcIixcIiMxNTU4ZDZcIixcIiNlYTQzMzVcIixcIiNmYmJjMDRcIixcIiNmOGY5ZmFcIixcIiNmOGY5ZmFcIixcIiMyMDIxMjRcIixcIiMzNGE4NTNcIixcInJnYmEoMCwwLDAsLjEyKVwiLG51bGwsXCIjZmZmXCIsXCJyZ2JhKDI1NSwyNTUsMjU1LC4zMClcIixcIiNmZmZcIixcIiMyMDIxMjRcIixcIiNmZmZcIixudWxsLDBdIiwidjdRdmRjIjoiJS5ALlwiMjBweFwiLFwiNTAwXCIsXCI0MDBcIixcIjEzcHhcIixcIjE1cHhcIixcIjE1cHhcIixcIlJvYm90byxSb2JvdG9EcmFmdCxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZlwiLFwiMjRweFwiLFwiNDAwXCIsXCIzMnB4XCIsXCIyNHB4XCJdIiwiTWdVY0RiIjoiTFUiLCJTSXNyVGQiOmZhbHNlLCJmeUxwRGMiOiIiLCJKUG5UcCI6IiUuQC5cIiNmMWYzZjRcIixcIjM2cHhcIl0iLCJaeHRQQ2QiOiIlLkAue1wiMTAwXCI6XCIxMnB4XCIsXCIxMDFcIjpcIjhweFwiLFwiMTAyXCI6XCI4cHhcIixcIjEwM1wiOlwiMTBweFwiLFwiMTA0XCI6XCI5cHhcIn1dIiwiRHdZUlkiOiIlLkAuXCIjMTk2N2QyXCIsXCIzMnB4XCIsXCIxcHhcIixcIjJweFwiLFwidmFyKC0tYmJReEFiKVwiLFwidmFyKC0tbVhaa3FjKVwiLFwidHJhbnNwYXJlbnRcIixcInRyYW5zcGFyZW50XCIsXCIjMTk2N2QyXCIsXCIjZDJkMmQyNjFcIixcIiM0NzQ3NDc2MVwiLFwiIzFmMWYxZjMzXCIsXCIjMWYxZjFmMzNcIixcIiMxZjFmMWY2NlwiLFwiIzBiNTdkMDE1XCIsXCIjMGI1N2QwMTVcIixcIiMwYjU3ZDAzOVwiLFwiIzBiNTdkMDE1XCIsXCIjMGI1N2QwMTVcIixcIiMwYjU3ZDAzOVwiLFwiIzBiNTdkMDE1XCIsXCIjMGI1N2QwMTVcIixcIiMwYjU3ZDAzOVwiLFwiIzAwMWQzNTMzXCIsXCIjMDAxZDM1MzlcIixcIiMwMDFkMzU2NlwiXSIsIk55ekN3ZSI6IiUuQC5udWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsXCIxOHB4XCIsXCIyMHB4XCIsXCIxOHB4XCIsXCJ2YXIoLS1ZTE5OSGMpXCIsXCIxNnB4XCIsXCJ2YXIoLS1JWG94VWUpXCIsXCJ2YXIoLS1ZTE5OSGMpXCJdIiwic3B6MnEiOiIlLkAuXCJ2YXIoLS14aFVHd2MpXCIsbnVsbCxudWxsLG51bGwsbnVsbCxcIjBweFwiXSIsImdlaVF4YyI6IiUuQC5cIjIzNHB4XCIsXCIxNzZweFwiLFwiMjA0cHhcIixcIjE3MnB4XCIsXCIxMjhweFwiLFwiMTQ4cHhcIixcIjExMXB4XCIsXCI4M3B4XCIsXCI5MnB4XCJdIiwieEZtY29mIjoiJS5ALm51bGwsbnVsbCxudWxsLFwiMjBweFwiLG51bGwsXCIxMnB4XCJdIiwibERxaW9mIjoiJS5ALlwidmFyKC0tWUxOTkhjKVwiLFwidmFyKC0tYmJReEFiKVwiLFwidmFyKC0tcnJKSlVjKVwiLG51bGwsXCJ2YXIoLS1JWG94VWUpXCIsXCJ2YXIoLS1KS3F4MilcIixcIiM2ODFkYThcIixudWxsLG51bGwsXCJ2YXIoLS14aFVHd2MpXCIsXCJ2YXIoLS1Oc20wY2UpXCIsXCJ2YXIoLS1FcEZOVylcIixcIiNlOGYwZmVcIixcIiMwMDFkMzVcIixcIiNmMWYzZjRcIixcIiMxZjFmMWZcIixcIiNmZmZcIixcIiMxZjFmMWZcIixcIiMxZjFmMWZcIixcIiNmZmZcIixcIiNmZmZcIixcIiNmZmZcIixcIiMxNDZjMmVcIixcIiNiMzI2MWVcIixcIiNiMDYwMDBcIixcInZhcigtLW1YWmtxYylcIixcIiNmZmZcIixcInJnYmEoMCwwLDAsMC42KVwiLFwidmFyKC0tQ09FbVkpXCIsXCJ2YXIoLS1nUzVqWGIpXCIsXCIjZDJlM2ZjXCIsbnVsbCxcInZhcigtLVRNWVM5KVwiLFwiIzVlNWU1ZVwiLG51bGwsXCJ0cmFuc3BhcmVudFwiLFwiI2RhZGNlMFwiLFwicmdiYSgwLDAsMCwwLjAzKVwiLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLFwiI2VhNDMzNVwiLFwiIzM0YTg1M1wiLFwiIzQyODVmNFwiLFwiI2ZiYmMwNFwiLFwiI2ZiYmMwNFwiLFwiI2RhZGNlMFwiLFwiI2Y3ZjhmOVwiLG51bGwsbnVsbCxudWxsLG51bGwsXCIjZThmMGZlXCIsXCJ2YXIoLS1YS01EeGMpXCIsXCJ2YXIoLS1hWW4yUylcIixudWxsLFwidmFyKC0tQXFuN3hkKVwiLG51bGwsXCIjYjMyNjFlXCIsXCIjZjlkZWRjXCIsXCIjZmZkZjkyXCIsXCIjZjRiZjAwXCIsXCIjZmZmXCIsXCIjNDEwZTBiXCIsXCIjMjQxYTAwXCIsXCIjMjQxYTAwXCIsXCIjZmZmXCIsXCIjMDcyNzExXCIsXCIjYjMyNjFlXCIsXCIjMTQ2YzJlXCIsXCIjMTQ2YzJlXCIsXCIjYzRlZWQwXCIsXCJ2YXIoLS1ud1hvYmIpXCIsXCJ2YXIoLS12WmUwamIpXCIsXCJ2YXIoLS1RV2FhYWYpXCIsXCJ2YXIoLS1aRXBQbWQpXCIsXCIjYTlhY2FhXCIsXCJ2YXIoLS1MbTU3MGIpXCIsXCIjZmZmXCIsXCJ2YXIoLS1qSU51NmMpXCIsXCJ2YXIoLS1CUkx3RSlcIixcInZhcigtLURFZVN0ZilcIixcInZhcigtLVRTV1pJYilcIixcInZhcigtLXVMejM3YylcIixudWxsLFwiIzU0NWQ3ZVwiLFwidmFyKC0tVHlWWWxkKVwiLG51bGwsbnVsbCxudWxsLG51bGwsXCJ2YXIoLS1WdVpYQmQpXCIsXCJyZ2JhKDIzLDIzLDIzLDAuNzUpXCIse1wiMTAwXCI6XCJyZ2JhKDI0OCwyNDksMjUwLDAuOTYpXCIsXCIxMDFcIjpcInJnYmEoMjU1LDI1NSwyNTUsMC44KVwiLFwiMTAyXCI6XCJyZ2JhKDYwLDY0LDY3LDAuMTYpXCIsXCIxMDNcIjpcIiMxOTY3ZDJcIixcIjEwNFwiOlwiIzIwMjEyNFwiLFwiMTA1XCI6XCIjZjFmM2Y0XCJ9XSIsIkdwbno0YyI6IiUuQC5cIiNlMGU5ZmZcIixcIiNkYWRjZTBcIixcIiNkMmQyZDJcIixcIiMwYjU3ZDBcIixcIiM3NDc4NzhcIixcIiMwMDFkMzVcIixudWxsLFwiI2ViZjFmZlwiLFwiIzAwMWQzNVwiLFwiI2QzZTNmZFwiLFwiI2ZmZlwiLFwiIzVlNWU1ZVwiLFwiIzQ3NDc0N1wiLFwiIzFmMWYxZlwiLFwiIzFhMGRhYlwiLFwiI2QyZDJkMlwiLG51bGwsXCIjMGI1N2QwXCIsXCIjYTNjOWZmXCIsXCIjMDAxZDM1XCIsXCIjZWNlZGVlXCIsXCIjZjdmOGY5XCIsXCIjZmZmXCIsbnVsbCxcIiNmN2Y4ZjlcIixcIiNlMGU5ZmZcIixcIiNmNWY4ZmZcIixcIiNkM2UzZmZcIixcIiNhM2M5ZmZcIixudWxsLFwiI2Y1ZjhmZlwiLFwiIzBiNTdkMFwiLFwiIzU0NWQ3ZVwiLFwiIzAwMWQzNVwiLG51bGwsXCIjZWJmMWZmXCIsXCIjMDAxZDM1XCIsXCIjYzdkYmZmXCIsXCIjZmZmXCIsXCIjZmZmXCIsXCIjNTQ1ZDdlXCIsXCIjMDAxZDM1XCIsXCIjMDAxZDM1XCIsXCIjMGI1N2QwXCIsXCIjYTNjOWZmXCIsXCIjMGI1N2QwXCIsbnVsbCxcInJnYmEoMCwwLDAsMC42KVwiLFwiI2EzYzVmZlwiLFwiIzAwMWQzNVwiLFwiI2ZmZlwiLFwiI2Y1ZjhmZlwiLFwiI2U1ZWRmZlwiLFwiI2VjZWRlZVwiLFwiIzQ0NmVmZlwiLFwiI2IxYzVmZlwiLFwiI2M4ZWNmZlwiXSIsImtYVlV6ZCI6IiUuQC5cIjQwcHhcIixcIjQ4cHhcIl0iLCJEVDM0UWMiOiIlLkAuXCI0NHB4XCIsXCJyZ2JhKDI2LDExNSwyMzIsMC4wOClcIixcIjM2cHhcIixcIiNmMWYzZjRcIiwyMCwxOCwxNixcIiMyMDIxMjRcIl0iLCJzQ1U1MGQiOiIlLkAubnVsbCxcIm5vbmVcIixudWxsLFwiMHB4IDFweCAzcHggcmdiYSg2MCw2NCw2NywwLjA4KVwiLG51bGwsXCIwcHggMnB4IDZweCByZ2JhKDYwLDY0LDY3LDAuMTYpXCIsbnVsbCxcIjBweCA0cHggMTJweCByZ2JhKDYwLDY0LDY3LDAuMjQpXCIsbnVsbCxudWxsLFwiMXB4IHNvbGlkIHZhcigtLW1YWmtxYylcIixcIjBcIixcIjBcIixcIjBcIixudWxsLFwiMHB4IDFweCAzcHggcmdiYSg2MCw2NCw2NywwLjI0KVwiLFwiMFwiXSIsInc5WmljYyI6IiUuQC5cIiNmMWYzZjRcIixcIjI2cHhcIixcIiNlMmVlZmZcIixcIiMwMDYwZjBcIixcIiNlMmVlZmZcIixcIjFweFwiLFwiI2RhZGNlMFwiLFwiMXB4XCIsXCIjZmZmXCIsXCIjZGFkY2UwXCIsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsXCIyOHB4XCIsXCIxMHB4XCIsXCI4cHhcIixcIjIwcHhcIixcIjEwcHhcIixcInZhcigtLVhLTUR4YylcIixcInZhcigtLW1YWmtxYylcIixcIiNmZmZcIl0iLCJJa1NzcmYiOiIlLkAuXCJHb29nbGUgU2FucyxBcmlhbCxzYW5zLXNlcmlmXCIsXCJHb29nbGUgU2FucyxBcmlhbCxzYW5zLXNlcmlmLW1lZGl1bSxzYW5zLXNlcmlmXCIsXCJBcmlhbCxzYW5zLXNlcmlmXCIsXCJBcmlhbCxzYW5zLXNlcmlmLW1lZGl1bSxzYW5zLXNlcmlmXCIsXCJBcmlhbCxzYW5zLXNlcmlmLWxpZ2h0LHNhbnMtc2VyaWZcIl0iLCJNUjB3NCI6IiUuQC5cInZhcigtLWdvb2dsZS1mcywxKVwiLFwidmFyKC0tZ29vZ2xlLXNjcmVlbi1zY2FsZS1yYXRpbywxKVwiXSIsIk9JdE5xZiI6IiUuQC5udWxsLFwiMjRweFwiXSIsIkpNeXVIIjoiJS5ALl0iLCJqMkZvUyI6IiUuQC5udWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsXCIyMHB4XCJdIiwiZTJ6b1ciOiIlLkAuXCIxNnB4XCIsXCIxMnB4XCIsXCIwcHhcIixcIjhweFwiLFwiNHB4XCIsXCIycHhcIixcIjIwcHhcIixcIjI0cHhcIixcIjQ4cHhcIixcIjIwcHhcIixudWxsLG51bGwsXCIwcHhcIixcIjIwcHhcIixcIjM2cHhcIixcIjIwcHhcIixudWxsLFwiODNweFwiLFwiNTJweFwiLFwiNnB4XCIsXCIyMHB4XCIsXCIxOHB4XCIsXCIxNnB4XCIsXCIyNHB4XCIsXCIxMnB4XCIsXCI2cHhcIixcIjc1cHhcIixcIjUycHhcIixcIjk0MC45OHB4XCIsXCI2ODRweFwiLFwiNjgzLjk4cHhcIixcIjExNjMuOThweFwiLFwiOTQxcHhcIixcIjE1NjBweFwiLFwiMTE2NHB4XCJdIiwiVzFCdGUiOiIlLkAuXCJjdWJpYy1iZXppZXIoMC4xLDEsMC4yLDEpXCIsXCJjdWJpYy1iZXppZXIoMC44LDAsMSwwLjgpXCIsXCJjdWJpYy1iZXppZXIoMC4yLDAuNiwwLjIsMSlcIixcImN1YmljLWJlemllcigwLjQsMCwxLDAuOClcIixcIjMwMG1zXCIsXCIxMDBtc1wiLFwiMjAwbXNcIixcIjI1MG1zXCIsXCJjdWJpYy1iZXppZXIoMC40LDAsMC4yLDEpXCIsXCJjdWJpYy1iZXppZXIoMC40LDAsMC42LDEpXCIsXCJjdWJpYy1iZXppZXIoMC42LDAsMCwxKVwiLFwiY3ViaWMtYmV6aWVyKDAsMCwxLDEpXCIsXCJjdWJpYy1iZXppZXIoMC4yLDAsMCwxKVwiLFwiODAwbXNcIixcIjEwMDBtc1wiLFwiNDAwbXNcIixcIjUwMG1zXCIsXCI2MDBtc1wiLFwiNTBtc1wiLFwiNDAwbXNcIixcIjMwMG1zXCIsXCIyNTBtc1wiLFwiMTUwbXNcIixcIjI1MG1zXCIsXCIyMDBtc1wiLFwiMTUwbXNcIixcIjE1MG1zXCIsXCIzMDBtc1wiLFwiMjUwbXNcIixcIjIwMG1zXCIsXCIxNTBtc1wiLFwiNDUwbXNcIixcIjQ1MG1zXCIsXCIzMDBtc1wiLFwiMTUwbXNcIixcIjMwMG1zXCIsXCIyNTBtc1wiLFwiMjAwbXNcIixcIjEwMG1zXCIsXCIyNTBtc1wiLFwiMjAwbXNcIixcIjE1MG1zXCIsXCIxMDBtc1wiLFwiMjUwbXNcIixcIjIwMG1zXCIsXCIxNTBtc1wiLFwiMTAwbXNcIixcIjMwMG1zXCIsXCIyNTBtc1wiLFwiMjAwbXNcIixcIjEwMG1zXCIsXCJudWxsXCIsXCJjdWJpYy1iZXppZXIoMC4zLDAsMC44LDAuMTUpXCIsXCJjdWJpYy1iZXppZXIoMC4wNSwwLjcsMC4xLDEpXCIsXCJjdWJpYy1iZXppZXIoMCwwLDEsMSlcIixcImN1YmljLWJlemllcigwLjIsMCwwLDEpXCIsXCJjdWJpYy1iZXppZXIoMC4zLDAsMSwxKVwiLFwiY3ViaWMtYmV6aWVyKDAsMCwwLDEpXCIsXCIyNTBtc1wiLFwiMjAwbXNcIixcIjE1MG1zXCIsXCI1MG1zXCIsXCI1MG1zXCIsXCI1MG1zXCIsXCI0MDBtc1wiLFwiMzUwbXNcIixcIjI1MG1zXCIsXCI1MG1zXCIsXCI1MG1zXCIsXCI1MG1zXCIsXCIyMDBtc1wiLFwiMTUwbXNcIixcIjEwMG1zXCIsXCI1MG1zXCIsXCIyMDBtc1wiLFwiMTUwbXNcIixcIjEwMG1zXCIsXCI1MG1zXCIsXCI1MG1zXCIsXCI1MG1zXCIsXCIyNTBtc1wiLFwiMjAwbXNcIixcIjE1MG1zXCIsXCI1MG1zXCIsXCI1MG1zXCIsXCI1MG1zXCIsXCJjdWJpYy1iZXppZXIoMC4wNSwwLjcsMC4xLDEpXCIsXCJjdWJpYy1iZXppZXIoMC4zLDAsMC44LDAuMTUpXCJdIiwicGJ2c2hmIjoiJS5ALlwiNDhweFwiXSIsInU5bWVwIjoiJS5ALlwiIzFhMGRhYlwiLG51bGwsXCIjMWYxZjFmXCIsXCJ2YXIoLS1KS3F4MilcIl0iLCJtcnFhUWIiOiIlLkAubnVsbCxudWxsLG51bGwsbnVsbCxcIjJweFwiLFwiMTJweFwiXSIsIms3VHF5ZSI6IiUuQC5udWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLFwiMTZweFwiLFwiMTJweFwiLFwiOHB4XCIsXCIyMHB4XCIsXCI0cHhcIixcIjk5OTlweFwiLFwiMHB4XCIsXCIycHhcIl0iLCJ5NTBMQyI6IiUuQC5udWxsLG51bGwsXCIjNGQ1MTU2XCIsbnVsbCxcIiM1ZjYzNjhcIl0iLCJqZlNFa2QiOiIlLkAuXCIjMGI1N2QwXCIsXCJ2YXIoLS1LSVpQbmUpXCIsXCJ2YXIoLS14UHBpTSlcIixudWxsLFwiI2QyZTNmY1wiLFwiI2QyZTNmY1wiLFwicmdiYSgyNiwxMTUsMjMyLDAuMjQpXCIsXCIjNDc0NzQ3XCIsXCIjZDJkMmQyXCIsXCIjZDJkMmQyXCIsXCIjZjdmOGY5XCIsXCIjMGI1N2QwXCIsXCIjZmZmXCIsXCJyZ2JhKDMyLDMzLDM2LDAuMTYpXCIsbnVsbCxcInJnYmEoMzIsMzMsMzYsMC4zMilcIixcIiNlYmYxZmZcIixcIiMwMDFkMzVcIixcInJnYmEoMzIsMzMsMzYsMC4wOClcIixcInJnYmEoMzIsMzMsMzYsMC4wOClcIixcInJnYmEoMzIsMzMsMzYsMC4yNClcIixcInRyYW5zcGFyZW50XCIsXCJ2YXIoLS1yckpKVWMpXCIsbnVsbCxcInJnYmEoMjYsMTE1LDIzMiwwLjA4KVwiLFwicmdiYSgyNiwxMTUsMjMyLDAuMDgpXCIsXCJyZ2JhKDI2LDExNSwyMzIsMC4yNClcIixudWxsLG51bGwsbnVsbCxcInJnYmEoNjAsNjQsNjcsMC4wOClcIixcInJnYmEoNjAsNjQsNjcsMC4wOClcIixcInJnYmEoNjAsNjQsNjcsMC4yNClcIixcIjJweFwiLFwiMnB4XCIsXCI2MVwiLFwidmFyKC0tYmJReEFiKVwiLFwiI2QzZTNmZFwiLG51bGwsXCIjMGI1N2QwXCIsXCJ2YXIoLS1YS01EeGMpXCIsXCJ2YXIoLS1ZTE5OSGMpXCIsXCIjNWU1ZTVlXCIsXCJ2YXIoLS1ZTE5OSGMpXCIsXCJ2YXIoLS1ZTE5OSGMpXCIsXCIxNVwiLFwiMC4wOFwiLFwiMzlcIixcInZhcigtLWpJTnU2YylcIixcInJnYmEoMzIsMzMsMzYsMC4xNilcIixcIjMzXCIsXCIzOVwiLFwidmFyKC0tRXBGTlcpXCIsXCI2NlwiLFwiIzAwMWQzNVwiLFwiIzVlNWU1ZVwiLFwiMC4wOFwiLFwidmFyKC0tYmJReEFiKVwiLFwiMC4wOFwiLFwiIzVlNWU1ZVwiLFwidmFyKC0tYmJReEFiKVwiLFwiMC4yNFwiLFwidmFyKC0tSVhveFVlKVwiLFwidHJhbnNwYXJlbnRcIixcIjAuMDhcIixcIjAuMDhcIixcInZhcigtLUlYb3hVZSlcIixcIjAuMjRcIixcInZhcigtLUlYb3hVZSlcIixcInRyYW5zcGFyZW50XCIsXCIwLjA4XCIsXCIwLjA4XCIsXCJ2YXIoLS11THozN2MpXCIsXCIwLjI0XCIsXCJ2YXIoLS11THozN2MpXCIsXCJ2YXIoLS1qSU51NmMpXCIsXCJ2YXIoLS1qSU51NmMpXCIsXCIxNVwiLFwiIzE5NjdkMlwiLFwiMTVcIixcIiMwYjU3ZDBcIixcIjM5XCIsXCIjMGI1N2QwXCIsXCIxNVwiLFwiMTVcIixcIiMwYjU3ZDBcIixcIiMwMDFkMzVcIixcIjM5XCIsXCIjMGI1N2QwXCIsXCJ2YXIoLS1qSU51NmMpXCIsXCIxNVwiLFwiMTVcIixcIjM5XCIsXCIjMGI1N2QwXCIsXCJyZ2JhKDAsMCwwLDAuNilcIixcIjMzXCIsXCIzM1wiLFwiI2ZmZlwiLFwiNjZcIix7XCIxMDBcIjpcIiNmZmZcIixcIjEwMVwiOlwiMC4wOFwiLFwiMTAyXCI6XCIwLjA4XCIsXCIxMDNcIjpcIiMxZjFmMWZcIixcIjEwNFwiOlwiMC4yNFwiLFwiMTA1XCI6XCIjMWYxZjFmXCIsXCIxMDZcIjpcInJnYmEoMCwwLDAsMC4xKVwiLFwiMTA3XCI6XCIwLjA4XCIsXCIxMDhcIjpcIiMxODVhYmNcIixcIjEwOVwiOlwiMC4wOFwiLFwiMTEwXCI6XCIwLjI0XCIsXCIxMTFcIjpcInZhcigtLU5zbTBjZSlcIixcIjExMlwiOlwiMFwiLFwiMTEzXCI6XCJ0cmFuc3BhcmVudFwiLFwiMTE0XCI6XCIwLjA4XCIsXCIxMTVcIjpcIjAuMDhcIixcIjExNlwiOlwidmFyKC0tWUxOTkhjKVwiLFwiMTE3XCI6XCIwLjI0XCIsXCIxMThcIjpcInZhcigtLVlMTk5IYylcIixcIjExOVwiOlwiMC43NVwiLFwiMTIwXCI6XCIwLjZcIixcIjEyMVwiOlwicmdiYSgzMSwzMSwzMSwwLjA3ODQzMTM3NSlcIixcIjEyMlwiOlwicmdiYSgzMSwzMSwzMSwwLjA4KVwiLFwiMTIzXCI6XCJyZ2JhKDMxLDMxLDMxLDAuMjM5MjE1NjkpXCIsXCIxMjRcIjpcInJnYmEoMTEsODcsMjA4LDAuMDc4NDMxMzc1KVwiLFwiMTI1XCI6XCJyZ2JhKDExLDg3LDIwOCwwLjA3ODQzMTM3NSlcIixcIjEyNlwiOlwicmdiYSgxMSw4NywyMDgsMC4yMzkyMTU2OSlcIixcIjEyN1wiOlwicmdiYSgzMiwzMywzNiwwLjIpXCIsXCIxMjhcIjpcInJnYmEoMzIsMzMsMzYsMC4yKVwiLFwiMTI5XCI6XCJyZ2JhKDMyLDMzLDM2LDAuNClcIixcIjEzMFwiOlwicmdiYSgzMiwzMywzNiwwLjA3ODQzMTM3NSlcIixcIjEzMVwiOlwicmdiYSgzMiwzMywzNiwwLjA3ODQzMTM3NSlcIixcIjEzMlwiOlwicmdiYSgzMiwzMywzNiwwLjIzOTIxNTY5KVwiLFwiMTMzXCI6XCJ2YXIoLS1FaGg0bWYpXCJ9XSIsIkdWdFBtIjoiJS5ALm51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxcIjAgMCAwIDFweCB2YXIoLS1tWFprcWMpXCIsXCIxcHggc29saWQgdmFyKC0tbVhaa3FjKVwiLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxcInRyYW5zcGFyZW50XCIsXCJyZ2JhKDIzLDIzLDIzLDAuMylcIixudWxsLG51bGwsXCIxNnB4XCJdIiwiTWV4TnRlIjoiJS5ALlwiNzAwXCIsXCI0MDBcIixcInVuZGVybGluZVwiLFwibm9uZVwiLFwiY2FwaXRhbGl6ZVwiLFwibm9uZVwiLFwidXBwZXJjYXNlXCIsXCJub25lXCIsXCI1MDBcIixcImxvd2VyY2FzZVwiLFwiaXRhbGljXCIsbnVsbCxudWxsLFwiLTFweFwiLFwiMC4zcHhcIixcIjIwcHhcIixcIjEycHhcIixudWxsLFwiMTJweFwiLFwiMTRweFwiLFwiMTZweFwiLFwiMThweFwiLFwiMjJweFwiLFwiMjRweFwiLFwiMjZweFwiLFwiMjhweFwiLFwiMzJweFwiLFwiMzZweFwiLFwiNDBweFwiLFwiNDhweFwiLFwiNTJweFwiLFwiNTZweFwiLFwiNjBweFwiLFwiMTRweFwiLFwiMTZweFwiLFwiMThweFwiLFwiMjBweFwiLFwiMjJweFwiLFwiMjRweFwiLFwiMjhweFwiLFwiMzZweFwiLFwiNDBweFwiLFwiNDVweFwiLFwiNDhweFwiLFwiNTZweFwiLFwiMFwiLFwiMC4xcHhcIl0iLCJBYWhjbmYiOiIlLkAuXCIyOHB4XCIsXCIzNnB4XCIsXCI0MDBcIixcIkdvb2dsZSBTYW5zLEFyaWFsLHNhbnMtc2VyaWZcIixudWxsLFwiQXJpYWwsc2Fucy1zZXJpZlwiLFwiMTRweFwiLFwiNDAwXCIsXCIyMnB4XCIsbnVsbCxcIjE4cHhcIixcIjI0cHhcIixcIjQwMFwiLFwiR29vZ2xlIFNhbnMsQXJpYWwsc2Fucy1zZXJpZlwiLG51bGwsXCJHb29nbGUgU2FucyxBcmlhbCxzYW5zLXNlcmlmXCIsXCI1NnB4XCIsXCI0OHB4XCIsXCIwXCIsbnVsbCxcIjQwMFwiLFwiR29vZ2xlIFNhbnMsQXJpYWwsc2Fucy1zZXJpZlwiLFwiMzZweFwiLFwiNDAwXCIsXCI0OHB4XCIsbnVsbCxcIkdvb2dsZSBTYW5zLEFyaWFsLHNhbnMtc2VyaWZcIixcIjM2cHhcIixcIjI4cHhcIixudWxsLFwiNDAwXCIsbnVsbCxcIkFyaWFsLHNhbnMtc2VyaWZcIixcIjI0cHhcIixcIjE4cHhcIixudWxsLFwiNDAwXCIsXCJBcmlhbCxzYW5zLXNlcmlmXCIsXCIxNnB4XCIsXCIxMnB4XCIsbnVsbCxcIjQwMFwiLFwiQXJpYWwsc2Fucy1zZXJpZlwiLFwiMjRweFwiLFwiMTZweFwiLG51bGwsXCI0MDBcIixcIkFyaWFsLHNhbnMtc2VyaWZcIixcIjI0cHhcIixcIjIwcHhcIixudWxsLFwiNDAwXCIsXCJBcmlhbCxzYW5zLXNlcmlmXCIsXCIyNHB4XCIsXCIxNnB4XCIsbnVsbCxcIjQwMFwiLFwiQXJpYWwsc2Fucy1zZXJpZlwiLFwiMThweFwiLFwiMTRweFwiLG51bGwsXCI0MDBcIixudWxsLG51bGwsbnVsbCxudWxsLG51bGwsXCIxNHB4XCIsXCJHb29nbGUgU2FucyxBcmlhbCxzYW5zLXNlcmlmXCIsXCIyMHB4XCIsXCI0MDBcIixcIkdvb2dsZSBTYW5zLEFyaWFsLHNhbnMtc2VyaWZcIixcIjI4cHhcIixcIjIycHhcIixcIjQwMFwiLFwiR29vZ2xlIFNhbnMsQXJpYWwsc2Fucy1zZXJpZlwiLFwiMjRweFwiLFwiMTZweFwiLFwiNDAwXCIsXCJBcmlhbCxzYW5zLXNlcmlmLW1lZGl1bSxzYW5zLXNlcmlmXCIsXCIxNnB4XCIsXCIxMnB4XCIsXCJHb29nbGUgU2FucyxBcmlhbCxzYW5zLXNlcmlmXCIsXCIyOHB4XCIsXCIyMnB4XCIsXCI0MDBcIixudWxsLG51bGwsbnVsbCxudWxsLFwiNTAwXCIsXCIwcHhcIixcIjBweFwiLFwiMFwiXSIsIlBGaG1lZCI6IiUuQC5cInJnYmEoMjU1LDI1NSwyNTUsMClcIixcInJnYmEoMjU1LDI1NSwyNTUsMC45KVwiLG51bGwsXCJyZ2JhKDExLDg3LDIwOCwwLjA4KVwiLFwidmFyKC0tWEtNRHhjKVwiLFwicmdiYSgzMiwzMywzNiwwLjUpXCIsXCIjZWNlZGVlXCIsXCIjZWNlZGVlXCJdIiwibWYxeWlmIjoiJS5ALjRdIiwiQjRwWmJkIjoiTFUiLCJhS1hxR2MiOiIlLkAuXCIxNHB4XCIsMTQsXCIxNnB4XCIsMTYsXCIwXCIsMCxcIm5vbmVcIiw2MzIsXCIxcHggc29saWQgI2RhZGNlMFwiLFwibm9ybWFsXCIsXCJub3JtYWxcIixcIiM3MDc1N2FcIixcIjEycHhcIixcIjEuMzRcIixcIjFweCBzb2xpZCAjZGFkY2UwXCIsXCJub25lXCIsXCIwXCIsXCJub25lXCIsXCJub25lXCIsXCJub25lXCIsXCJub25lXCIsXCI2cHhcIixcIjYzMnB4XCJdIiwiWlAwb2lmIjoiJS5ALlwiMTZweFwiLFwiI2ViZWRlZlwiXSIsIm8wUDhIZiI6IiUuQC5cInJnYmEoMCwwLDAsMC4wKVwiLFwiI2ZmZlwiLFwicmdiYSgyNTUsMjU1LDI1NSwuMClcIixudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxcIiNmOGY5ZmFcIixcIiMwMDBcIixcIiMxYTczZThcIixcIiNkYWRjZTBcIixcIiNmZmZcIixcIiNmZmZcIixudWxsLFwiIzcwNzU3YVwiLFwicmdiYSgwLDAsMCwwLjI2KVwiLFwicmdiYSgwLDAsMCwwLjIpXCIsbnVsbCxudWxsLG51bGwsXCJyZ2JhKDAsMCwwLDAuMSlcIixcIiNmZmZcIixudWxsLG51bGwsXCIjMDAwXCIsbnVsbCxudWxsLG51bGwsXCJyZ2JhKDI1NSwyNTUsMjU1LDAuNSlcIixudWxsLFwicmdiYSgwLDAsMCwwLjMpXCIsXCJyZ2JhKDAsMCwwLDAuMilcIixudWxsLG51bGwsXCJyZ2JhKDAsMCwwLC4wNClcIixudWxsLG51bGwsXCIjNzA3NTdhXCIsXCIjNzA3NTdhXCIsXCJyZ2JhKDAsMCwwLC4yMilcIixcInJnYmEoMCwwLDAsLjMwKVwiLFwicmdiYSgwLDAsMCwuMDYpXCIsbnVsbCxcIiNkMmUzZmNcIixudWxsLFwicmdiYSgzMiwzMywzNiwuNylcIixudWxsLG51bGwsbnVsbCxcInJnYmEoMjU1LDI1NSwyNTUsLjgpXCIsXCJyZ2JhKDYwLDY0LDY3LC4xNSlcIixudWxsLFwicmdiYSgwLDAsMCwuMTYpXCIsbnVsbCxcInJnYmEoMCwwLDAsLjE0KVwiLFwicmdiYSgwLDAsMCwuMTIpXCIsbnVsbCxudWxsLFwicmdiYSgwLDAsMCwuMjQpXCIsXCJyZ2JhKDAsMCwwLC4wNSlcIixcInJnYmEoMCwwLDAsLjEzKVwiLFwicmdiYSg2MCw2NCw2NywuMylcIixcInJnYmEoMCwwLDAsLjM2KVwiLFwicmdiYSgwLDAsMCwuMTUpXCIsXCJyZ2JhKDMyLDMzLDM2LC4yOClcIixcInJnYmEoMjE4LDIyMCwyMjQsLjcpXCIsXCIjZGFkY2UwXCIsXCIjZmZmXCIsXCIjZmZmXCIsXCIjMWE3M2U4XCIsXCIjMDAwXCIsXCJyZ2JhKDAsMCwwLC4wKVwiLFwiIzIwMjEyNFwiLFwicmdiYSgwLDAsMCwuOClcIixcInJnYmEoMjYsMTE1LDIzMiwwKVwiLFwicmdiYSgyNiwxMTUsMjMyLC43KVwiLG51bGwsXCJyZ2JhKDMyLDMzLDM2LC43KVwiLFwicmdiYSgwLDAsMCwuOClcIixudWxsLG51bGwsbnVsbCxudWxsLFwicmdiYSgyNTUsMjU1LDI1NSwuNTQpXCIsbnVsbCxcInJnYmEoNjAsNjQsNjcsLjM4KVwiLFwicmdiYSgyNTUsMjU1LDI1NSwuMylcIixcInJnYmEoMCwwLDAsMC41NClcIixcInJnYmEoMCwwLDAsMC44KVwiLFwicmdiYSgyNDgsMjQ5LDI1MCwwLjg1KVwiLFwiI2RhZGNlMFwiLFwiI2VhNDMzNVwiLFwiIzM0YTg1M1wiLG51bGwsbnVsbCxcIiMzYzQwNDNcIixcIiMyMDIxMjRcIix7XCIxMDBcIjpcIiNmOGY5ZmFcIixcIjEwMVwiOlwiI2RhZGNlMFwiLFwiMTAyXCI6XCIjM2M0MDQzXCIsXCIxMDZcIjpcIiM3MDc1N2FcIixcIjEwOFwiOlwiI2Y4ZjlmYVwiLFwiMTEyXCI6XCIjZGFkY2UwXCIsXCIxMTNcIjpcIiNlOGYwZmVcIixcIjExNFwiOlwiIzQyODVmNFwiLFwiMTE3XCI6XCIjNDI4NWY0XCIsXCIxMThcIjpcIiMxYTczZThcIixcIjEyMVwiOlwiIzQyODVmNFwiLFwiMTI2XCI6XCIjZThmMGZlXCIsXCIxMjdcIjpcIiNkMmUzZmNcIixcIjEyOFwiOlwiIzQyODVmNFwiLFwiMTI5XCI6XCIjMWE3M2U4XCIsXCIxMzBcIjpcIiNmY2U4ZTZcIixcIjEzMVwiOlwiI2ZhZDJjZlwiLFwiMTM0XCI6XCIjZDkzMDI1XCIsXCIxNDBcIjpcIiNkOTMwMjVcIixcIjE0NFwiOlwiI2Q5MzAyNVwiLFwiMTQ3XCI6XCIjZWE0MzM1XCIsXCIxNDlcIjpcIiNhNTBlMGVcIixcIjE1MFwiOlwiI2ZlZjdlMFwiLFwiMTY2XCI6XCIjZmJiYzA0XCIsXCIxNjlcIjpcIiNlYTg2MDBcIixcIjE3MVwiOlwiI2U2ZjRlYVwiLFwiMTgwXCI6XCIjMTg4MDM4XCIsXCIxODdcIjpcIiMzNGE4NTNcIixcIjE4OFwiOlwiIzFlOGUzZVwiLFwiMTg5XCI6XCIjMTg4MDM4XCIsXCIxOTBcIjpcIiMxMzczMzNcIixcIjE5MVwiOlwiIzBkNjUyZFwiLFwiMTkyXCI6XCJyZ2JhKDAsMCwwLC4xKVwiLFwiMTkzXCI6XCJyZ2JhKDAsMCwwLC4yKVwiLFwiMTk2XCI6XCJyZ2JhKDI1NSwyNTUsMjU1LDApXCIsXCIxOTdcIjpcInJnYmEoMCwwLDAsLjEyKVwiLFwiMTk4XCI6XCJyZ2JhKDMyLDMzLDM2LDApXCIsXCIxOTlcIjpcInJnYmEoMzIsMzMsMzYsLjEpXCIsXCIyMDBcIjpcInJnYmEoMCwwLDAsLjEyKVwiLFwiMjAxXCI6XCJyZ2JhKDAsMCwwLC41KVwiLFwiMjAzXCI6XCIjMDAwXCIsXCIyMDRcIjpcInJnYmEoMjU1LDI1NSwyNTUsLjUpXCIsXCIyMDVcIjpcIiMxNTU4ZDZcIixcIjIwN1wiOlwicmdiYSgwLDAsMCwuMjQpXCIsXCIyMDhcIjpcIiNmOGY5ZmFcIixcIjIwOVwiOlwicmdiYSgyNTUsMjU1LDI1NSwuNilcIixcIjIxMFwiOlwiIzFlOGUzZVwiLFwiMjExXCI6XCJyZ2JhKDAsMCwwLC4wMilcIixcIjIxMlwiOlwiIzAwMFwiLFwiMjE0XCI6XCJyZ2JhKDAsMCwwLC43KVwiLFwiMjE1XCI6XCIjMWE3M2U4XCIsXCIyMTZcIjpcIiNkOTMwMjVcIixcIjIxN1wiOlwiIzQyODVmNFwiLFwiMjE4XCI6XCJyZ2JhKDAsMCwwLC4xNSlcIixcIjIxOVwiOlwicmdiYSgwLDAsMCwuMDUpXCIsXCIyMjBcIjpcIiM3MDc1N2FcIixcIjIyMVwiOlwiI2RhZGNlMFwiLFwiMjIyXCI6XCIjMTg4MDM4XCIsXCIyMjNcIjpcInJnYmEoMCwwLDAsLjYpXCIsXCIyMjRcIjpcIiMzNGE4NTNcIixcIjIyNVwiOlwicmdiYSgyNTUsMjU1LDI1NSwuMylcIixcIjIyNlwiOlwicmdiYSgwLDAsMCwuMDUpXCIsXCIyMjdcIjpcInJnYmEoMCwwLDAsLjA1KVwiLFwiMjI4XCI6XCJyZ2JhKDMyLDMzLDM2LC45KVwiLFwiMjI5XCI6XCJyZ2JhKDI1NSwyNTUsMjU1LC42KVwiLFwiMjMwXCI6XCJyZ2JhKDAsMCwwLC4wOClcIixcIjIzMVwiOlwicmdiYSgyNTUsMjU1LDI1NSwuOClcIixcIjIzMlwiOlwicmdiYSgwLDAsMCwuMDUpXCIsXCIyMzNcIjpcIiM0Mjg1ZjRcIixcIjIzNFwiOlwicmdiYSgwLDAsMCwuMTYpXCIsXCIyMzVcIjpcIiNmZmZcIixcIjIzNlwiOlwicmdiYSgwLDAsMCwuODcpXCIsXCIyMzhcIjpcIiNmZGQ2NjNcIixcIjIzOVwiOlwiI2ZkZDY2M1wiLFwiMjQzXCI6XCIjZmRkNjYzXCIsXCIyNDRcIjpcInJnYmEoMjU1LDI1NSwyNTUsLjU0KVwiLFwiMjQ2XCI6XCJyZ2JhKDAsMCwwLC4yNilcIixcIjI0N1wiOlwicmdiYSgwLDAsMCwuMjYpXCIsXCIyNDhcIjpcInJnYmEoMCwwLDAsLjM4KVwiLFwiMjQ5XCI6XCJyZ2JhKDAsMCwwLC4wMylcIixcIjI1MFwiOlwiIzQyODVmNFwiLFwiMjUxXCI6XCJyZ2JhKDYwLDY0LDY3LC4xMilcIixcIjI1MlwiOlwicmdiYSgyNTUsMjU1LDI1NSwwKVwiLFwiMjUzXCI6XCJyZ2JhKDAsMCwwLDApXCIsXCIyNTZcIjpcIiMzYzQwNDNcIixcIjI1N1wiOlwiI2QyZTNmY1wiLFwiMjU4XCI6XCIjZDJlM2ZjXCIsXCIyNTlcIjpcIiM0Mjg1ZjRcIixcIjI2MVwiOlwicmdiYSgwLDAsMCwuMTYpXCIsXCIyNjJcIjpcInJnYmEoMjU1LDI1NSwyNTUsLjMpXCIsXCIyNjNcIjpcInJnYmEoMCwwLDAsMClcIixcIjI2NFwiOlwiI2M1MjIxZlwiLFwiMjY1XCI6XCIjZGFkY2UwXCIsXCIyNjZcIjpcIiNlYTQzMzVcIixcIjI2N1wiOlwiIzM0YTg1M1wiLFwiMjY4XCI6XCJyZ2JhKDYwLDY0LDY3LC4xNSlcIixcIjI2OVwiOlwicmdiYSgxOSwxMTUsNTEsLjE1KVwiLFwiMjcwXCI6XCJyZ2JhKDAsMCwwLC4xNSlcIixcIjI3MVwiOlwicmdiYSgwLDAsMCwuMTgpXCIsXCIyNzJcIjpcInJnYmEoMCwwLDAsLjI4KVwiLFwiMjczXCI6XCJyZ2JhKDYwLDY0LDY3LC4zKVwiLFwiMjc0XCI6XCIjMTU1OGQ2XCIsXCIyNzVcIjpcInJnYmEoMjE4LDIyMCwyMjQsMClcIixcIjI3NlwiOlwicmdiYSgyMTgsMjIwLDIyNCwwLjUpXCIsXCIyNzdcIjpcInJnYmEoMCwwLDAsLjI2KVwifV0iLCJya0QyNSI6IiUuQC5bW1wiaGxcIixcImRlLUxVXCJdXV0iLCJXaUx6WmUiOiIlLkAuXCIjMjAyMTI0XCIsXCIjNzA3NTdhXCIsbnVsbCxudWxsLFwiI2ZmZlwiLFwicmdiYSgyNTUsMjU1LDI1NSwuNzApXCIsMjgsMjQsMjYsMjAsMTYsLTIsMCwtNCwyLDAsMCwyNCwyMCwyMCwxNCwxMl0iLCJBWWtMUmUiOiIlLkAuXCIyMHB4XCIsMjAsXCIxNHB4XCIsMTQsXCJcXFwicmdiYSgwLCAwLCAwLCAuODcpXFxcIlwiXSIsInJOeXVKYyI6IiIsIkxVNWZHYiI6ZmFsc2UsImdYa0hvZSI6IjEwNTI1MDUwNjA5Nzk3OTc1Mzk2OCIsImhldm9uYyI6IiUuQC4xXSIsInNCdmR3YiI6IiUuQC5cInJnYmEoMjYsNzMsMjMyLDAuMSlcIixcInJnYmEoMjYsNzMsMjMyLDAuMDMpXCIsXCJyZ2JhKDAsMCwwLDAuMDUpXCIsXCIxLjNcIl0iLCJ4Y2xqeWIiOiIlLkAuXCI4cHhcIiw4LFwiUm9ib3RvLU1lZGl1bSxIZWx2ZXRpY2FOZXVlLU1lZGl1bSxIZWx2ZXRpY2EgTmV1ZSxzYW5zLXNlcmlmLW1lZGl1bSxBcmlhbCxzYW5zLXNlcmlmXCJdIn07fSkoKTsoZnVuY3Rpb24oKXtnb29nbGUubGRpPXt9O2dvb2dsZS5waW09e307Z29vZ2xlLmxkaWU9W107KGZ1bmN0aW9uKCl7dmFyIGE9Z29vZ2xlLmxkaXx8e30sYj1nb29nbGUucGltfHx7fSxjO2ZvcihjIGluIGEpaWYoYS5oYXNPd25Qcm9wZXJ0eShjKSl7YyBpbiBiJiYoYVtjXT1iW2NdKTt2YXIgZD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChjKXx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2ltZ1tkYXRhLWlpZD0iJytjKyciXScpO2QmJk51bWJlcihkLmdldEF0dHJpYnV0ZSgiZGF0YS1hdGYiKSkmMSYmKGQuc2V0QXR0cmlidXRlKCJkYXRhLWRlZmVycmVkIiwiMiIpLGQuc3JjPWFbY10pfTt9KS5jYWxsKHRoaXMpO30pKCk7KGZ1bmN0aW9uKCl7Zm9yKHZhciBhPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbWciKSxiPTAsYz1hLmxlbmd0aDtiPGM7KytiKXt2YXIgZD1hW2JdLGU7aWYoZT1OdW1iZXIoZC5nZXRBdHRyaWJ1dGUoImRhdGEtYXRmIikpJjEpe3ZhciBmPWQuZ2V0QXR0cmlidXRlKCJqc2NvbnRyb2xsZXIiKTtlPShmPT09IlVCWEhJInx8Zj09PSJSM2Zoa2IifHxmPT09IlRTWkVxZCIpJiZkLmhhc0F0dHJpYnV0ZSgiZGF0YS1zcmMiKX1lJiYoZC5zcmM9ZC5nZXRBdHRyaWJ1dGUoImRhdGEtc3JjIikpfTt9KS5jYWxsKHRoaXMpOyhmdW5jdGlvbigpe3ZhciBiPWZ1bmN0aW9uKGEpe3ZhciBjPTA7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGM8YS5sZW5ndGg/e2RvbmU6ITEsdmFsdWU6YVtjKytdfTp7ZG9uZTohMH19fTsKdmFyIGU9dGhpc3x8c2VsZjt2YXIgZyxoO2E6e2Zvcih2YXIgaz1bIkNMT1NVUkVfRkxBR1MiXSxsPWUsbj0wO248ay5sZW5ndGg7bisrKWlmKGw9bFtrW25dXSxsPT1udWxsKXtoPW51bGw7YnJlYWsgYX1oPWx9dmFyIHA9aCYmaFs2MTA0MDEzMDFdO2c9cCE9bnVsbD9wOiExO3ZhciBxLHI9ZS5uYXZpZ2F0b3I7cT1yP3IudXNlckFnZW50RGF0YXx8bnVsbDpudWxsO2Z1bmN0aW9uIHQoYSl7cmV0dXJuIGc/cT9xLmJyYW5kcy5zb21lKGZ1bmN0aW9uKGMpe3JldHVybihjPWMuYnJhbmQpJiZjLmluZGV4T2YoYSkhPS0xfSk6ITE6ITF9ZnVuY3Rpb24gdShhKXt2YXIgYzthOntpZihjPWUubmF2aWdhdG9yKWlmKGM9Yy51c2VyQWdlbnQpYnJlYWsgYTtjPSIifXJldHVybiBjLmluZGV4T2YoYSkhPS0xfTtmdW5jdGlvbiB2KCl7cmV0dXJuIGc/ISFxJiZxLmJyYW5kcy5sZW5ndGg+MDohMX1mdW5jdGlvbiB3KCl7cmV0dXJuIHUoIlNhZmFyaSIpJiYhKHgoKXx8KHYoKT8wOnUoIkNvYXN0IikpfHwodigpPzA6dSgiT3BlcmEiKSl8fCh2KCk/MDp1KCJFZGdlIikpfHwodigpP3QoIk1pY3Jvc29mdCBFZGdlIik6dSgiRWRnLyIpKXx8KHYoKT90KCJPcGVyYSIpOnUoIk9QUiIpKXx8dSgiRmlyZWZveCIpfHx1KCJGeGlPUyIpfHx1KCJTaWxrIil8fHUoIkFuZHJvaWQiKSl9ZnVuY3Rpb24geCgpe3JldHVybiB2KCk/dCgiQ2hyb21pdW0iKToodSgiQ2hyb21lIil8fHUoIkNyaU9TIikpJiYhKHYoKT8wOnUoIkVkZ2UiKSl8fHUoIlNpbGsiKX1mdW5jdGlvbiB5KCl7cmV0dXJuIHUoIkFuZHJvaWQiKSYmISh4KCl8fHUoIkZpcmVmb3giKXx8dSgiRnhpT1MiKXx8KHYoKT8wOnUoIk9wZXJhIikpfHx1KCJTaWxrIikpfTt2YXIgej12KCk/ITE6dSgiVHJpZGVudCIpfHx1KCJNU0lFIik7eSgpO3goKTt3KCk7dmFyIEE9IXomJiF3KCksRD1mdW5jdGlvbihhKXtpZigvLVthLXpdLy50ZXN0KCJ2ZWQiKSlyZXR1cm4gbnVsbDtpZihBJiZhLmRhdGFzZXQpe2lmKHkoKSYmISgidmVkImluIGEuZGF0YXNldCkpcmV0dXJuIG51bGw7YT1hLmRhdGFzZXQudmVkO3JldHVybiBhPT09dm9pZCAwP251bGw6YX1yZXR1cm4gYS5nZXRBdHRyaWJ1dGUoImRhdGEtIisidmVkIi5yZXBsYWNlKC8oW0EtWl0pL2csIi0kMSIpLnRvTG93ZXJDYXNlKCkpfTt2YXIgRT1bXSxGPW51bGw7ZnVuY3Rpb24gRyhhKXthPWEudGFyZ2V0O3ZhciBjPXBlcmZvcm1hbmNlLm5vdygpLGY9W10sSD1mLmNvbmNhdCxkPUU7aWYoIShkIGluc3RhbmNlb2YgQXJyYXkpKXt2YXIgbT10eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIiYmU3ltYm9sLml0ZXJhdG9yJiZkW1N5bWJvbC5pdGVyYXRvcl07aWYobSlkPW0uY2FsbChkKTtlbHNlIGlmKHR5cGVvZiBkLmxlbmd0aD09Im51bWJlciIpZD17bmV4dDpiKGQpfTtlbHNlIHRocm93IEVycm9yKCJiYCIrU3RyaW5nKGQpKTtmb3IodmFyIEI9W107IShtPWQubmV4dCgpKS5kb25lOylCLnB1c2gobS52YWx1ZSk7ZD1CfUU9SC5jYWxsKGYsZCxbY10pO2lmKGEmJmEgaW5zdGFuY2VvZiBIVE1MRWxlbWVudClpZihhPT09Ril7aWYoYz1FLmxlbmd0aD49NCljPShFW0UubGVuZ3RoLTFdLUVbRS5sZW5ndGgtNF0pLzFFMzw1O2lmKGMpe2M9Z29vZ2xlLmdldEVJKGEpO2EuaGFzQXR0cmlidXRlKCJkYXRhLXZlZCIpP2Y9YT9EKGEpfHwiIjoiIjpmPShmPQphLmNsb3Nlc3QoIltkYXRhLXZlZF0iKSk/RChmKXx8IiI6IiI7Zj1mfHwiIjtpZihhLmhhc0F0dHJpYnV0ZSgianNuYW1lIikpYT1hLmdldEF0dHJpYnV0ZSgianNuYW1lIik7ZWxzZXt2YXIgQzthPShDPWEuY2xvc2VzdCgiW2pzbmFtZV0iKSk9PW51bGw/dm9pZCAwOkMuZ2V0QXR0cmlidXRlKCJqc25hbWUiKX1nb29nbGUubG9nKCJyY20iLCImZWk9IitjKyImdGd0dmVkPSIrZisiJmpzbmFtZT0iKyhhfHwiIikpfX1lbHNlIEY9YSxFPVtjXX13aW5kb3cuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsZnVuY3Rpb24oKXtkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixHKX0pO30pLmNhbGwodGhpcyk7dmFyIHc9ZnVuY3Rpb24oYSl7dmFyIGI9MDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYjxhLmxlbmd0aD97ZG9uZTohMSx2YWx1ZTphW2IrK119Ontkb25lOiEwfX19O3dpbmRvdy5qc2w9d2luZG93LmpzbHx8e307d2luZG93LmpzbC5kaD1mdW5jdGlvbihhLGIsbSl7dHJ5e3ZhciBoPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEpLGU7aWYoIWgmJigoZT1nb29nbGUuc3R2c2MpPT1udWxsPzA6ZS5kZHMpKXtlPVtdO3ZhciBmPWUuY29uY2F0LGM9Z29vZ2xlLnN0dnNjLmRkcztpZihjIGluc3RhbmNlb2YgQXJyYXkpdmFyIG49YztlbHNle3ZhciBwPXR5cGVvZiBTeW1ib2whPSJ1bmRlZmluZWQiJiZTeW1ib2wuaXRlcmF0b3ImJmNbU3ltYm9sLml0ZXJhdG9yXTtpZihwKXZhciBnPXAuY2FsbChjKTtlbHNlIGlmKHR5cGVvZiBjLmxlbmd0aD09Im51bWJlciIpZz17bmV4dDp3KGMpfTtlbHNlIHRocm93IEVycm9yKFN0cmluZyhjKSsiIGlzIG5vdCBhbiBpdGVyYWJsZSBvciBBcnJheUxpa2UiKTtjPWc7dmFyIHE7Zm9yKGc9W107IShxPWMubmV4dCgpKS5kb25lOylnLnB1c2gocS52YWx1ZSk7bj1nfXZhciByPWYuY2FsbChlLG4pO2ZvcihmPTA7ZjxyLmxlbmd0aCYmIShoPXJbZl0uZ2V0RWxlbWVudEJ5SWQoYSkpO2YrKyk7fWlmKGgpaC5pbm5lckhUTUw9YixtJiZtKCk7ZWxzZXt2YXIgZD17aWQ6YSxzY3JpcHQ6U3RyaW5nKCEhbSksbWlsZXN0b25lOlN0cmluZyhnb29nbGUuanNsbXx8MCl9O2dvb2dsZS5qc2xhJiYoZC5hc3luYz1nb29nbGUuanNsYSk7dmFyIHQ9YS5pbmRleE9mKCJfIiksaz10PjA/YS5zdWJzdHJpbmcoMCx0KToiIix1PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3UuaW5uZXJIVE1MPWI7dmFyIGw9dS5jaGlsZHJlblswXTtpZihsJiYoZC50YWc9bC50YWdOYW1lLGRbImNsYXNzIl09U3RyaW5nKGwuY2xhc3NOYW1lfHxudWxsKSxkLm5hbWU9U3RyaW5nKGwuZ2V0QXR0cmlidXRlKCJqc25hbWUiKSksaykpe2E9W107dmFyIHY9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2lkXj0iJytrKydfIl0nKTtmb3IoYj0wO2I8di5sZW5ndGg7KytiKWEucHVzaCh2W2JdLmlkKTtkLmlkcz1hLmpvaW4oIiwiKX1nb29nbGUubWwoRXJyb3Ioaz8iTWlzc2luZyBJRCB3aXRoIHByZWZpeCAiKwprOiJNaXNzaW5nIElEIiksITEsZCl9fWNhdGNoKHgpe2dvb2dsZS5tbCh4LCEwLHsianNsLmRoIjohMH0pfX07KGZ1bmN0aW9uKCl7dmFyIHg9dHJ1ZTtnb29nbGUuanNsbT14PzI6MTt9KSgpO2dvb2dsZS54KG51bGwsIGZ1bmN0aW9uKCl7KGZ1bmN0aW9uKCl7KGZ1bmN0aW9uKCl7Z29vZ2xlLmNzY3Q9e307Z29vZ2xlLmNzY3QucHM9J0FPdlZhdzF6SnppczB6Mk01Wi1TSVBZRDZieDlceDI2dXN0XHgzZDE3MjI2MDE5OTEyNTkwMjYnO30pKCk7fSkoKTsoZnVuY3Rpb24oKXsoZnVuY3Rpb24oKXtnb29nbGUuY3NjdC5waT10cnVlO30pKCk7fSkoKTsoZnVuY3Rpb24oKXt3aW5kb3cuanNsPXdpbmRvdy5qc2x8fHt9O3dpbmRvdy5qc2wuZGg9d2luZG93LmpzbC5kaHx8ZnVuY3Rpb24oaSxjLGQpe3RyeXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpKTtpZihlKXtlLmlubmVySFRNTD1jO2lmKGQpe2QoKTt9fWVsc2V7aWYod2luZG93LmpzbC5lbCl7d2luZG93LmpzbC5lbChuZXcgRXJyb3IoJ01pc3NpbmcgSUQuJykseydpZCc6aX0pO319fWNhdGNoKGUpe2lmKHdpbmRvdy5qc2wuZWwpe3dpbmRvdy5qc2wuZWwobmV3IEVycm9yKCdqc2wuZGgnKSk7fX19O30pKCk7KGZ1bmN0aW9uKCl7d2luZG93LmpzbC5kaCgnc3BjaCcsJ1x4M2NzdHlsZVx4M2Uuc3BjaC1kbGd7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6bm9uZX0uc3BjaHtiYWNrZ3JvdW5kOnZhcigtLXhoVUd3Yyk7aGVpZ2h0OjEwMCU7bGVmdDowO29wYWNpdHk6MDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246Zml4ZWQ7dGV4dC1hbGlnbjpsZWZ0O3RvcDowO3Zpc2liaWxpdHk6aGlkZGVuO3dpZHRoOjEwMCU7ei1pbmRleDoxMDAwMDt0cmFuc2l0aW9uOnZpc2liaWxpdHkgMHMgbGluZWFyIDAuMjE4cyxiYWNrZ3JvdW5kLWNvbG9yIDAuMjE4czt9LnMyZnAuc3BjaHtvcGFjaXR5OjE7dHJhbnNpdGlvbi1kZWxheTowczt2aXNpYmlsaXR5OnZpc2libGU7fS5wejViantiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7Y29sb3I6dmFyKC0tSVhveFVlKTtjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MjZweDtyaWdodDowO2xpbmUtaGVpZ2h0OjE1cHg7b3BhY2l0eTouNjttYXJnaW46LTFweCAtMXB4IDAgMDtwYWRkaW5nOjAgMCAycHggMDtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3otaW5kZXg6MTB9LnB6NWJqOmhvdmVye29wYWNpdHk6Ljh9LnB6NWJqOmFjdGl2ZXtvcGFjaXR5OjF9LnNwY2hje2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjQycHg7cG9pbnRlci1ldmVudHM6bm9uZTttYXJnaW46YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6MDttYXJnaW4tdG9wOjMxMnB4O21heC13aWR0aDo1NzJweDttaW4td2lkdGg6NTM0cHg7cGFkZGluZzowIDIyM3B4fS5pbm5lci1jb250YWluZXJ7aGVpZ2h0OjEwMCU7b3BhY2l0eTouMTtwb2ludGVyLWV2ZW50czpub25lO3dpZHRoOjEwMCU7dHJhbnNpdGlvbjpvcGFjaXR5IC4zMThzIGVhc2UtaW47fS5zMm1sIC5pbm5lci1jb250YWluZXIsLnMycmEgLmlubmVyLWNvbnRhaW5lciwuczJlciAuaW5uZXItY29udGFpbmVyLC5PSmFqdSAuaW5uZXItY29udGFpbmVye29wYWNpdHk6MTt0cmFuc2l0aW9uOm9wYWNpdHkgMHN9XHgzYy9zdHlsZVx4M2VceDNjc3R5bGVceDNlLmdvb2dsZS1sb2dve2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBTHdBQUFCQUNBUUFBQUFLRU5WQ0FBQUkvRWxFUVZSNEFlM2FlM0JVNVJuSDhlL1pUYkloaElSYlJJSnlDWmNFazRaeUU0UkJBaVJCeFJhaEVaQkxRWVVaQWpJZ29MVVdCNndqS0lLMk10QXFPTFZVS1NxV1FXMFphT1FxMElGQUlaVnJnRlFoWEFPU2hJVEViSFk3NDA3bW5QZmM4dTZ5YTJmMGZONi85cnp2Yzg3WjM5bmJlZC9sLzhPaElLTURRK2hIS3AxSkpCNkZLcTVRUWhINzJNWjFJc0RSaHZrVTRiZHM5V3hsTE5FNHdxZzlxNmpCTDlHKzRrbmMvSEI5cVhtdUc0Z29EODlUalQrSVZraW1FL3p0NnNZaC9FRzNXbWFpT01HSGJnUTM4WWZZM2liS0NWNkdNYWJIV1kwYm8rUHM1ampudVlsQ2N6clNrOEhjZ2Q1VTFyT05vRG5HNDhPdmEyVzhSR2VNWEF4aUhmV2FrVDRtT3g4MW9SaUcxL0M1dlloNDdLU3g1ZlppZDRKdnh4VmQ3TWRJcDNFSzA2a05OWFluZUlXdHV0Z0xhSWFzUVV3a0pFN3dFM1N4YnljV1I4U0Q5M0JPaUwyWVJCd1JETjVGd09QY2hhcWVjWlFUUVE0WEFBcHowRnJGUVNMUHdRRDhtbFpORXQ4TDU4NDFENjIvY0pWSWkyY2dQZWxFQWxCT0NZZllTeFh5bWpLQVhxU1FBRlJ3bG9Qc3BScDVkek9NSGlUVGhFcUsyYzFPdkdISXNnLzMwWVVXS0h6REtmWndFQisyeEJuM2dVU1N3bUErTXBsdXJ1WUR5U01QWUQyM1RPclgwVi9xK0NQWllhaSt5SHc4d0tzY2JtaE1EK0lWZnlldmNNbGt1dnhYeEdPcGhURDRHaTRpSjQwQy9EWnRNMTJ3azhMZmJlcy9vU04yN21HUFpXMFJuVm12ZWJ4SU1uZzN6MUJsdWRkejVNaDl3bThpY3FaSXpQSGZaRHhXOHFob3RMNmNVVmg1elA3NFhPQmcwTUVuc2dXL2JmTXh6eUlPWWRnU0l1VjUvSkp0UG1abVNsYjdtSTZaR1RMVlFRYWZTS0hVdnA3QnhGeGhTRDZOOFVzSDRBbjVhVCtKM21OQjFUK0szaGo4WVEvZXpSYnB2WTNDWUtFd1lGTFlndmZUa1FaOXFUTjhuUzNsSWRKSlp3VExEZE56dGZ3VXJUVERwK2hsbG1ucXJ4bytzTHFpMWRXd3VGUEtZbks1aDB3ZTVjL1VoaFQ4ZkYxRkhXc1pUaXM4ZEdBeUI0Uys2N1JGNXdWaHdDL0RHSHh2QXFJNElteXY1MFZpMFlwanNXNGw0QUF1R2lpNjN5RStsaENIVmxPVzZvNzlUeFJOL2VlNjR5L1NIYjhUTzRNT3ZxM3VZaDZpTzFvdWZpUDByMFZuanRBOUs0ekJEelNkZ0t0akpHYnlxQmZHNWRGZ3VDNjJzWmlab0x0MFF5M3F2WXpDS0laTlFRWXZYdXBkeEdPMFJuaTVkTGVibDF3ZXh1RDdBNER1QytncHJNd1R4dTJod1QrRTdjOWlaWUV3N2xNYWlCUGVjekFYVDNFUXdjZHdUYlAxRXEzUml5YVB2Y0llLzRpZ2o5QzVOWXpCcHdPUUttemJoNElWRjRkTXZpT1NoSGZDRWR4WWllS1k4TTVxQ1VDeThFNG94SVdWbndjUmZLNHdkaHFpdGl5azFKQkhKYzNVVTRVVCtIRFJZQURSMUdFbkIyczlXWXJxc3NuNDEvQmp4Y2RyckVPVnpSb2dTNGhxT2ZWWThmSTZxeldYWVRBYmdSd1VWTXZ3WWVVenpwS0NuTUdvYnZJZURSVHVaeWFqaU1Mb01HMm9ST05md25WNWtORE5GSDVaS0FEOFNiUHRGckhZYVNyOCtua0xnQ1hDNTNzQ2Rsb0p6K1JsQUZZSnY1YmlzUE9HOUN2K1UrRitPNkFaTTRTeDJpeitRS1p4V3JnQXJTbUViaUFJcHd2UUdkVi9xTUZPRlVkUmRUYlVuNlFDTzljNGJhanZKaHkvR2p1RnlPcUVxaGhJWnlVWFdFazZlc2Q0aW1UeUtUSUcvMWUwOGtnaE5ORU1SN1dmZ0VSVXBUVG1QS3JtSWRTWEd1cGJpSHUzZFFGWkNhZ3kyTUdYekNBZWtaY1B5U0tEbFZTWVR3c2Y1UUI5YWVCaUNXTUp4Y08wUlBVNUFXNVVQdXlKSTl4aHIvZGl6NHNzRjZvaEdKWHlGbXU0MkZqNU1yVEdNSUxnS1R5SHFwb0NBaXBSM1lFOWNVUkZXT29yVUNWaHJ6V3lLckZXd0dnNjhoSVhHNzl1R3ppRzFydDBJRmhQY0MrcWo2Z2lvQVJWSm03c1JQTVRWQ1dHK3U1NHNCTkhxbTE5Smk3c1pDRHJ2NWdwNTNla2tjTkd2SEp2R0IremRWZCtNNjBKUmkvZVJFdDlWSVFxZ2Z1eE01UTRWRWNNOVI1eXNmTUFVYUE3OGlGVXpSbUlmYjJzdytqOW02bTA0MmxPRXFTMWh2K1IzWTJzdnBTSkN4SkNuOWhqUjV6dHl3U2dnN0J0R3dwV0ZIWUxZKzhDSUIyLzVKcHBqNUJ2b0U3UXovYThiQ1ZTckl2K3F1UXJZQ0xWUWwwTlhWRXBuQkY2ZjRhVlgrZ3V2RUxBUG1IN0dNay9aWDFCZ0tKYjJzekJuRUpCRU1GSFV5WTg0MVNzakdjcjdiR1ZhYkxDOHo2ZHNKUEMzd3cxc3hFOUxmVGVvQWRtZXVtT1BrTnpZY1ViNzc2WTZhZWJPaDVIZzZtNmwxTWFaaFlHT1VuMnNqRDZNQW1ZeWVJV2ZpcVlob0tOTEpObGFDL3J5Q1VHdlJoeVdVZWRZZng3S0lpYWNrNFhmWjV1ak1JNFhld2x4SXB6TUVMMDR3MzFrM1NUdEVXNE5XZDZVdWdyNHlGRUh0NEllbG80aVJ2QytQMjBSNlF3VFpQbkZ0cGpJNGRLaTV2ZUFsYndMUG5NNE5lc1pEczNUY2Q5Umd4R0l3M2pkakNlTzFGUVNHWWl1dzM5RDZBMUNKK3Uvd3NtMHBaQS9TVERFblk5QTlES010UnZaalN0QUlWT3pPSk1TQXNoK1lhTWx0R1hHRUNoSFZQWXIrcy9pZ3NiUFRtSFA4VDJJUjdNdlc0NnZvWmEwKzJ2b0xmQW9yN0dkUHR6NkMweUhWZk50NFMrOUtld3dYVEo4eHR1bVd5djVUNncxNHBOSVlUdTQwVmNXSEh6dnZTZTNzV0Zuc0lxNmZvVktDYjFxeU93Mk4yRW5aSjcrNWFSU0ZBWVMybFFwM21hTE95NVdTNjFweVc0TUtPd0NKL0U1WDhCQlRNdVhzVyt0cElUUVFZUGNYd3M4Wnl1azQyMGVPWnlRU3FxeTh6RGc0eUgrY3AyVDJjWWpwMXNpbTNyVHpFRU80L1lQS05MOUF2cEQwMEsrWlRiblpYd2MxS1NoOUZzcE5ybURiU1ppY1FpcndtekxNSTdRYjdFbmp4TTU3aHAvVEdtRVVOakVsakFaVU50SFcvVEd2aEErSjZRQ3g0Z2ljVmNOVDJyN1R5SWdvRWlHZis5OUNlVkxpVFNES2ltaks4NVFTSDdxQ0o0Q3IwWVJpOVNhSTZmRzV6bElBVWN3UzlkMzROc2VuOVh6M2YxaFJSUUpGMGZ6VkN5eWFRZGNaUnppbDE4ekNVQVB0SGMzczNtVFlJUnpXQ0drRUVINHZGU3htbjJzNWtTSkRnT0dQL2w0SWk4YU9IZXR6ZU9zSWhpTkFYMHdWcTI4TzNsd1hIYmtsbkllUUovUEhKaFFiaDcyWVhqdHMzRXE0bjB0NWg3QkwrbXpjVngyOUtweHk5RTcwSXZWNWg3cWlFSlJ4aXN3QyswZmVUZ0prQWhnM2QwOThTL0o4SVVmaHppT1VBYW91c2NvWUptcE5JTzBXWFN1WVlqTExweEZiOVU4NUtOSTR3eUtKV0tmUUtPTUV0bW0zM3NYQ0NiQ0hDNG1NeFpJV3B4L2FnbEVlTndNNEozS05iOGp2bWFEVHhCSXQ4amhSOHZEMjJJcFlZcjFQQkQ1SEE0SFA4RHhWY3hkd0VMRUZVQUFBQUFTVVZPUks1Q1lJSVx4M2QpIG5vLXJlcGVhdCBjZW50ZXI7YmFja2dyb3VuZC1zaXplOjk0cHggMzJweDtoZWlnaHQ6MzJweDt3aWR0aDo5NHB4O3RvcDo4cHg7b3BhY2l0eTowO2Zsb2F0OnJpZ2h0O2xlZnQ6MjU1cHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZTt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2UtaW4sbGVmdCAuNXMgZWFzZS1pbn1ceDNjL3N0eWxlXHgzZVx4M2NidXR0b24gY2xhc3NceDNkXHgyMnB6NWJqXHgyMiBpZFx4M2RceDIyc3BjaHhceDIyIGFyaWEtbGFiZWxceDNkXHgyMnNjaGxpZVx4ZGZlblx4MjJceDNlXHgzY3NwYW4gc3R5bGVceDNkXHgyMmhlaWdodDoxNnB4O2xpbmUtaGVpZ2h0OjE2cHg7d2lkdGg6MTZweFx4MjIgY2xhc3NceDNkXHgyMnoxYXNDZSB3dVhtcWNceDIyXHgzZVx4M2NzdmcgZm9jdXNhYmxlXHgzZFx4MjJmYWxzZVx4MjIgeG1sbnNceDNkXHgyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXHgyMiB2aWV3Qm94XHgzZFx4MjIwIDAgMjQgMjRceDIyXHgzZVx4M2NwYXRoIGRceDNkXHgyMk0xOSA2LjQxTDE3LjU5IDUgMTIgMTAuNTkgNi40MSA1IDUgNi40MSAxMC41OSAxMiA1IDE3LjU5IDYuNDEgMTkgMTIgMTMuNDEgMTcuNTkgMTkgMTkgMTcuNTkgMTMuNDEgMTJ6XHgyMlx4M2VceDNjL3BhdGhceDNlXHgzYy9zdmdceDNlXHgzYy9zcGFuXHgzZVx4M2MvYnV0dG9uXHgzZVx4M2NkaXYgY2xhc3NceDNkXHgyMnNwY2hjXHgyMiBpZFx4M2RceDIyc3BjaGNceDIyXHgzZVx4M2NkaXYgY2xhc3NceDNkXHgyMmlubmVyLWNvbnRhaW5lclx4MjJceDNlXHgzY2RpdiBjbGFzc1x4M2RceDIyYnV0dG9uLWNvbnRhaW5lclx4MjJceDNlXHgzY3N0eWxlXHgzZS5MZ2JzU2V7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2Y4ZjlmYTtib3JkZXItcmFkaXVzOjEwMCU7Ym90dG9tOjA7Ym94LXNoYWRvdzowIDJweCA1cHggcmdiYSgwLDAsMCwuMSk7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgMC4yMThzLGJvcmRlciAwLjIxOHMsYm94LXNoYWRvdyAwLjIxOHM7dHJhbnNpdGlvbi1kZWxheTowO3Bvc2l0aW9uOmFic29sdXRlO29wYWNpdHk6MDtsZWZ0OjA7dG9wOjB9LnMyZnAgLkxnYnNTZXtvcGFjaXR5OjE7cG9pbnRlci1ldmVudHM6YXV0bzt0cmFuc2Zvcm06c2NhbGUoMSk7fS5zMnJhIC5MZ2JzU2V7YmFja2dyb3VuZC1jb2xvcjojZWE0MzM1O2JvcmRlcjowO2JveC1zaGFkb3c6bm9uZX0ucjhzNGp7YmFja2dyb3VuZC1jb2xvcjojZGFkY2UwO2JvcmRlci1yYWRpdXM6MTAwJTtkaXNwbGF5OmlubGluZS1ibG9jaztvcGFjaXR5OjE7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0cmFuc2Zvcm06c2NhbGUoLjAxKTt0cmFuc2l0aW9uOm9wYWNpdHkgMC4yMThzO2hlaWdodDozMDFweDtsZWZ0Oi02OXB4O3RvcDotNjlweDt3aWR0aDozMDFweDt9LmJ1dHRvbi1jb250YWluZXJ7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAwLjIxOHMsb3BhY2l0eSAwLjIxOHMgZWFzZS1pbjt0cmFuc2Zvcm06c2NhbGUoLjEpO2hlaWdodDoxNjVweDt3aWR0aDoxNjVweDtyaWdodDotNzBweDt0b3A6LTcwcHg7ZmxvYXQ6cmlnaHQ7fS5zMmZwIC5idXR0b24tY29udGFpbmVye3RyYW5zZm9ybTpzY2FsZSgxKX0uczJyYSAuTGdic1NlOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiNjNTIyMWZ9LkxnYnNTZTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojZjhmOWZhfVx4M2Mvc3R5bGVceDNlXHgzY3NwYW4gY2xhc3NceDNkXHgyMnI4czRqXHgyMiBpZFx4M2RceDIyc3BjaGxceDIyXHgzZVx4M2Mvc3Bhblx4M2VceDNjc3BhbiBjbGFzc1x4M2RceDIyTGdic1NlXHgyMiBpZFx4M2RceDIyc3BjaGJceDIyXHgzZVx4M2NkaXYgY2xhc3NceDNkXHgyMm1pY3JvcGhvbmVceDIyXHgzZVx4M2NzdHlsZVx4M2UubWljcm9waG9uZXtoZWlnaHQ6ODdweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjQycHg7dG9wOjQ3cHg7dHJhbnNmb3JtOnNjYWxlKDEpO2xlZnQ6NDNweDt9LnJlY2VpdmVye2JhY2tncm91bmQtY29sb3I6Izk5OTtib3JkZXItcmFkaXVzOjMwcHg7aGVpZ2h0OjQ2cHg7bGVmdDoyNXB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MjRweH0ud3JhcHBlcntib3R0b206MDtoZWlnaHQ6NTNweDtsZWZ0OjExcHg7b3ZlcmZsb3c6aGlkZGVuO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6NTJweH0uc3RlbXtiYWNrZ3JvdW5kLWNvbG9yOiM5OTk7Ym90dG9tOjE0cHg7aGVpZ2h0OjE0cHg7bGVmdDoyMnB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6OXB4O3otaW5kZXg6MX0uc2hlbGx7Ym9yZGVyOjdweCBzb2xpZCAjOTk5O2JvcmRlci1yYWRpdXM6MjhweDtib3R0b206MjdweDtoZWlnaHQ6NTdweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjM4cHg7ei1pbmRleDowO2xlZnQ6MHB4fS5zMm1sIC5yZWNlaXZlciwuczJtbCAuc3RlbXtiYWNrZ3JvdW5kLWNvbG9yOiNmNDR9LnMybWwgLnNoZWxse2JvcmRlci1jb2xvcjojZjQ0fS5zMnJhIC5yZWNlaXZlciwuczJyYSAuc3RlbXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LnMycmEgLnNoZWxse2JvcmRlci1jb2xvcjojZmZmfVx4M2Mvc3R5bGVceDNlXHgzY3NwYW4gY2xhc3NceDNkXHgyMnJlY2VpdmVyXHgyMlx4M2VceDNjL3NwYW5ceDNlXHgzY2RpdiBjbGFzc1x4M2RceDIyd3JhcHBlclx4MjJceDNlXHgzY3NwYW4gY2xhc3NceDNkXHgyMnN0ZW1ceDIyXHgzZVx4M2Mvc3Bhblx4M2VceDNjc3BhbiBjbGFzc1x4M2RceDIyc2hlbGxceDIyXHgzZVx4M2Mvc3Bhblx4M2VceDNjL2Rpdlx4M2VceDNjL2Rpdlx4M2VceDNjL3NwYW5ceDNlXHgzYy9kaXZceDNlXHgzY2RpdiBjbGFzc1x4M2RceDIydGV4dC1jb250YWluZXJceDIyXHgzZVx4M2NzdHlsZVx4M2UudGV4dC1jb250YWluZXJ7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt9LnNwY2h0e2ZvbnQtd2VpZ2h0Om5vcm1hbDtsaW5lLWhlaWdodDoxLjI7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpsZWZ0Oy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBlYXNlLWluLG1hcmdpbi1sZWZ0IC41cyBlYXNlLWluLHRvcCAwcyBsaW5lYXIgMC4yMThzO2xlZnQ6LTQ0cHg7dG9wOi0uMmVtO21hcmdpbi1sZWZ0OjQ0cHg7Zm9udC1zaXplOjMycHg7d2lkdGg6NDYwcHg7fS5zMmZwIC5zcGNodHttYXJnaW4tbGVmdDowO29wYWNpdHk6MTt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2Utb3V0LG1hcmdpbi1sZWZ0IC41cyBlYXNlLW91dH0uc3BjaHRhe2NvbG9yOnZhcigtLUpLcXgyKTtjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MThweDtmb250LXdlaWdodDo1MDA7cG9pbnRlci1ldmVudHM6YXV0bzt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5zcGNoLTJsLnNwY2h0LC5zcGNoLTNsLnNwY2h0LC5zcGNoLTRsLnNwY2h0e3RyYW5zaXRpb246dG9wIDAuMjE4cyBlYXNlLW91dH0uc3BjaC0ybC5zcGNodHt0b3A6LS42ZW19LnNwY2gtM2wuc3BjaHR7dG9wOi0xLjNlbX0uc3BjaC00bC5zcGNodHt0b3A6LTEuN2VtfS5zMmZwIC5zcGNoLTVsLnNwY2h0e3RvcDotMi41ZW07fVx4M2Mvc3R5bGVceDNlXHgzY3NwYW4gY2xhc3NceDNkXHgyMnNwY2h0XHgyMiBzdHlsZVx4M2RceDIyY29sb3I6IzcwNzU3YVx4MjIgaWRceDNkXHgyMnNwY2hpXHgyMlx4M2VceDNjL3NwYW5ceDNlXHgzY3NwYW4gY2xhc3NceDNkXHgyMnNwY2h0XHgyMiBzdHlsZVx4M2RceDIyY29sb3I6IzAwMFx4MjIgaWRceDNkXHgyMnNwY2hmXHgyMlx4M2VceDNjL3NwYW5ceDNlXHgzYy9kaXZceDNlXHgzY2RpdiBjbGFzc1x4M2RceDIyZ29vZ2xlLWxvZ29ceDIyXHgzZVx4M2MvZGl2XHgzZVx4M2MvZGl2XHgzZVx4M2NkaXYgY2xhc3NceDNkXHgyMnBlcm1pc3Npb24tYmFyXHgyMlx4M2VceDNjc3R5bGVceDNlLnBlcm1pc3Npb24tYmFye21hcmdpbi10b3A6LTEwMHB4O29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjUwMHB4O3RyYW5zaXRpb246b3BhY2l0eSAwLjIxOHMgZWFzZS1pbixtYXJnaW4tdG9wIC40cyBlYXNlLWlufS5zMndmcCAucGVybWlzc2lvbi1iYXJ7bWFyZ2luLXRvcDotMzAwcHg7b3BhY2l0eToxO3RyYW5zaXRpb246b3BhY2l0eSAuNXMgZWFzZS1vdXQgMC4yMThzLG1hcmdpbi10b3AgMC4yMThzIGVhc2Utb3V0IDAuMjE4c30ucGVybWlzc2lvbi1iYXItZ3JhZGllbnR7Ym94LXNoYWRvdzowIDFweCAwcHggIzQyODVmNDtoZWlnaHQ6ODBweDtsZWZ0OjA7bWFyZ2luOjA7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246Zml4ZWQ7cmlnaHQ6MDt0b3A6LTgwcHg7dHJhbnNpdGlvbjpvcGFjaXR5IDAuMjE4cyxib3gtc2hhZG93IDAuMjE4c30uczJ3ZnAgLnBlcm1pc3Npb24tYmFyLWdyYWRpZW50e2JveC1zaGFkb3c6MCAxcHggODBweCAjNDI4NWY0O29wYWNpdHk6MTtwb2ludGVyLWV2ZW50czpub25lO2FuaW1hdGlvbjphbGxvdy1hbGVydCAuNzVzIDAgaW5maW5pdGU7YW5pbWF0aW9uLWRpcmVjdGlvbjphbHRlcm5hdGU7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDt0cmFuc2l0aW9uOm9wYWNpdHkgMC4yMThzLGJveC1zaGFkb3cgMC4yMThzfUAtd2Via2l0LWtleWZyYW1lcyBhbGxvdy1hbGVydCB7ZnJvbXtvcGFjaXR5OjF9dG97b3BhY2l0eTouMzV9fVx4M2Mvc3R5bGVceDNlXHgzY2RpdiBjbGFzc1x4M2RceDIycGVybWlzc2lvbi1iYXItZ3JhZGllbnRceDIyXHgzZVx4M2MvZGl2XHgzZVx4M2MvZGl2XHgzZVx4M2MvZGl2XHgzZScpO30pKCk7KGZ1bmN0aW9uKCl7d2luZG93LmpzbC5kaCgnX2g0Q3JadnlMQzVPZmktZ1Bfb3FKLVF3XzQnLCdceDNjc3R5bGVceDNlLllCNGg5e2JhY2tncm91bmQtY29sb3I6dmFyKC0tVE1ZUzkpO2NvbG9yOnZhcigtLUVwRk5XKTtwYWRkaW5nOjE4cHggNjBweCAxOHB4IDEycHg7cG9zaXRpb246cmVsYXRpdmV9LkM4NXJPe2ZvbnQtc2l6ZToyMHB4fS5HdHIwbmV7cGFkZGluZy10b3A6MTBweH0uellTTFlie30uWUI0aDkgLkd0cjBuZSAuellTTFlie2NvbG9yOnZhcigtLUVwRk5XKTt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5ZQjRoOSAuSm9iOHZie3BhZGRpbmc6MjBweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDowfS5ZQjRoOS5yUFBKYmQgLkpvYjh2YntwYWRkaW5nLXRvcDoyNHB4O3BhZGRpbmctcmlnaHQ6OHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjB9LllCNGg5LnE3WE5iYnttYXJnaW4tYm90dG9tOjQ0cHh9LllCNGg5LkpGN2Zre2JvcmRlci1yYWRpdXM6MTZweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOnZhcigtLWdTNWpYYil9LllCNGg5LklQSU5YZHtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjE2cHg7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MTZweDtib3JkZXItY29sb3I6dmFyKC0tZ1M1alhiKTtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXRvcDpub25lfS5ZQjRoOS5yUFBKYmR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS14aFVHd2MpO2NvbG9yOnZhcigtLWJiUXhBYil9LllCNGg5LnJQUEpiZCAuellTTFlie2NvbG9yOnZhcigtLWJiUXhBYik7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0uUjRHbUZie2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O21hcmdpbi1ib3R0b206OHB4fS5SNEdtRmIgc3Zne2Rpc3BsYXk6YmxvY2t9LkpyV2NSe21hcmdpbi1sZWZ0OjEwcHh9XHgzYy9zdHlsZVx4M2VceDNjc3BhbiBjbGFzc1x4M2RceDIySm9iOHZiIHoxYXNDZSB3dVhtcWNceDIyIGFyaWEtbGFiZWxceDNkXHgyMnNjaGxpZVx4ZGZlbiBXXHhlNGhsZSBhdXMsIHdvenUgZHUgRmVlZGJhY2sgZ2ViZW4gbVx4ZjZjaHRlc3RceDIyIHJvbGVceDNkXHgyMmJ1dHRvblx4MjIgdGFiaW5kZXhceDNkXHgyMjBceDIyIGpzYWN0aW9uXHgzZFx4MjJrRU9rNGRceDIyIHN0eWxlXHgzZFx4MjJoZWlnaHQ6MjBweDtsaW5lLWhlaWdodDoyMHB4O3dpZHRoOjIwcHhceDIyIGRhdGEtdmVkXHgzZFx4MjIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFtSWtHQ0F3XHgyMlx4M2VceDNjc3ZnIGZvY3VzYWJsZVx4M2RceDIyZmFsc2VceDIyIHhtbG5zXHgzZFx4MjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1x4MjIgdmlld0JveFx4M2RceDIyMCAwIDI0IDI0XHgyMlx4M2VceDNjcGF0aCBkXHgzZFx4MjJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyelx4MjJceDNlXHgzYy9wYXRoXHgzZVx4M2Mvc3ZnXHgzZVx4M2Mvc3Bhblx4M2VceDNjZGl2IGNsYXNzXHgzZFx4MjJDODVyT1x4MjIgYXJpYS1sZXZlbFx4M2RceDIyMVx4MjIgaWRceDNkXHgyMkVpUVhWZFx4MjIgcm9sZVx4M2RceDIyaGVhZGluZ1x4MjJceDNlV1x4ZTRobGUgYXVzLCB3b3p1IGR1IEZlZWRiYWNrIGdlYmVuIG1ceGY2Y2h0ZXN0XHgzYy9kaXZceDNlJyk7fSkoKTsoZnVuY3Rpb24oKXtnb29nbGUuZHJ0eSYmZ29vZ2xlLmRydHkodW5kZWZpbmVkLHRydWUpO30pKCk7fSk7aWYgKCFnb29nbGUuc3R2c2Mpe2dvb2dsZS5kcnR5ICYmIGdvb2dsZS5kcnR5KHVuZGVmaW5lZCx0cnVlKTt9Cjwvc2NyaXB0PjxkaXYgY2xhc3M9ImdiX24iIG5nLW5vbi1iaW5kYWJsZT0iIj5Hb29nbGUtQXBwczwvZGl2PjxzY3JpcHQgc3JjPSIveGpzL18vanMvaz14anMuaGQuZW4uekhBTHduUjgzcUUuTy9jaz14anMuaGQuaGhrX05SZndKLXMuTC5CMS5PL2FtPUFFd0JBQUFBQUFBQUdBQUFBQUFBQUFBQUFBQUFBQUFBQ0FBQUJBQUFBQUFBcEFBMGtBQ0FBc0FHQkFBQUFFQUFnQUJBZ0NBQWdDZ0FBQkFBSEFBZ0Fnb0FJZ0dBQU1TQ0FEektCd0NFQU1JRUNCQUJpZ0FTQUFLQ0tDSUFBRUFBQUNCQ3dJQmhBQUlWQUF3Q0FBQUFnQUFDQUFBQUExaGpBQUVDQVBvSUFCQUFJQ0lBQUFpZ0F3UUFCQUFGZ0VCUUFCakFBQUVnQUFFQUFBRG9BVUJ3QUF4U0VBQUFBQUFBQUFBQUFBQUFDRUNDWUM0a29DQ0FBQUFBQUFBQUFBQUFBQUFBQUVoSkp4WTIvZD0wL2RnPTAvYnI9MS91amc9MS9ycz1BQ1Q5MG9HT1l1aFVsUkxiS29VZGpBWElVMTYzZUVNRmRnL209c2Jfd2l6LGFhLGFiZCxzeTEyYixzeXRsLHN5dGgsc3kxMmEsc3l1OSxzeXRmLHN5dWEsc3l1YixzeXUyLHN5dTEsc3l1NCxzeXR5LHN5dHosc3l0dixzeXR1LHN5dHEsc3lnYyxzeXR0LHN5dHIsc3l0cyxzeXRwLHN5dTYsc3l0bSxzeXRpLHN5dGosc3lzaSxzeXM3LHN5czUsc3lzNCxzeXR4LHN5MTI5LHN5eHMsc3l1aSxzeXVqLHN5dWgsYXN5bmMscEhYZ2hkLHNmLHN5MWFpLHN5MWFsLHN5NGRlLHNvbmljLFR4Q0pmZCxzeTRkaSxxenh6T2IsSXNkV1ZjLHN5MWZnLHN5MWJwLHN5MWJsLHN5czMsc3lzMSxzeXMyLHN5czAsc3lyeixzeTRieCxzeTJoOCxzeTFpeixzeTFqMSxzeTEzMCxzeTEzMSxzeXJ3LHN5cnUsc3lmcSxzeWQwLHN5YzYsc3ljOSxzeWM0LHN5Yzgsc3ljNyxzcGNoLE1wSndaYyxVVUpxVmUsc3k3cixzT1hGaixzeTdxLHMzOVM0LG9HdEF1YyxOVE1aYWMsbkFGTDMsc3k4aixzeThpLHEweFRpZix5MDVVRCxzeTEzbSxzeTFjYyxzeTFieixzeTFjOCxzeTEzZyxzeTFjNixzeTFjNSxzeTEweCxzeTFieCxzeTE2ZyxzeXZvLHN5MTB6LHN5N3ksc3kxMHksc3kxMHcsc3kxMHYsc3kxMHUsc3lhZyxzeWJjLHN5MWM0LHN5MTY4LHN5MWJ0LHN5MTZkLHN5MWMzLHN5MWJ5LHN5MWJ1LHN5MTZlLHN5MTZmLHN5MWM3LHN5MTMzLHN5MWMyLHN5MWMxLHN5a2ssc3lrbCxzeTFjMCxzeTFjOSxzeTFibixzeTFidixzeTFibSxzeTFicyxzeTFibyxzeTE3YixzeTFidyxzeTFiaSxzeTE2aSxzeTE2aixzeTExMixzeTExMyxlcFlPeCxzeXNsLHN5c2sscnRIMWJkLHN5MWN2LHN5MThiLHN5MTd4LHN5MWN1LHN5MTM4LHN5MWN0LHN5MThjLHN5MWN3LFNNcXVPYixzeThsLHN5aDYsc3loNCxzeWg1LHN5aDcsc3loMyxzeWhlLHN5aGMsc3loYSxzeWgyLHN5YXMsc3lhayxzeWJmLHN5YXIsc3lhcSxzeWFlLHN5YmEsc3lhcCxzeWFuLHN5YXUsc3lkNixzeWN0LHN5YXksc3k5eSxzeTl4LHN5Y3Usc3ljZSxzeWJ3LHN5YnQsc3licyxzeWJ1LHN5YW0sc3liZyxzeWJtLHN5Ymssc3licCxzeWJsLHN5Ym4sc3lhMSxzeWE4LHN5Ym8sc3ljZixzeWdrLHN5aDEsc3lneSxzeWgwLHN5YTMsc3lhNyxzeWE0LHN5OXYsc3k5cyxzeWd4LHN5Z3Usc3lkZixzeWd2LHN5Z3Esc3lncyxzeWdwLHN5Z24sc3k4NCxzeTgxLHN5ODMsc3lnbSxzeWdyLHN5Z2wsc3lnZyxzeWdoLHN5Z2Usc3lnZCxzeTg3LHV4TXBVLHN5Zzgsc3lkZCxzeWFoLHN5YWksc3lhaixzeWFmLHN5ZDcsc3liZCxzeWJlLHN5YmIsc3lkbSxzeWQ5LHN5ZDgsc3licSxzeWQyLHN5ZGssc3lkMyxzeWRsLHN5ZDEsc3ljcixzeWNuLHN5Y28sc3lhdyxzeWJpLHN5YXgsc3lhbCxzeTl1LHN5ZDQsc3lhZCxzeWQ1LHN5ZGIsc3ljeixzeTk0LHN5OTMsc3k5MixNbGhteSxRR1IwZ2QsYXVyRmljLHN5OWQsZktVVjNlLE9UQTNBZSxzeThtLE9tZ2FJLEVFRE9SYixQb0VzOWIsUGpwbHVkLHN5OHosc3k4cyxDT1FibWYsdVk0OWZiLHN5N3csc3k3eCxzeTd2LHN5N3UsYnlmVE9iLGxzalZtYyxMRWlrWmUsa1dnWGVlLFUwYVBnZCxvdkt1TGQsc2dZNlpiLGlvOHQ1ZCxLRzJlWGUsT2o0NjVlLHN5MWQwLHN5MWN4LHN5eGUsc3l0MSxkNUVoSmUsc3kxZGssZkN4RURkLHN5dnAsc3kxZGosc3kxZGksc3kxZGgsc3kxZGUsc3kxZGEsc3kxZDgsc3kxZDQsc3kxZDYsc3kxZDUsc3kxZDksc3kxYTQsc3kxOXQsVDFIT3hjLHN5MWQ3LHN5MWQzLHp4MzBZLHN5MWRtLHN5MWRsLHN5MWRjLFdvM244LHN5dXUsbG9MOHZiLHN5dXksc3l1eCxzeXV3LG1zNG1aYixzeXF1LEIycWxQZSxzeXY2LE56VTZWLHN5eTUsc3l5NCx6R0xtM2Isc3l3eCxzeXd5LHN5d3AsRGhQWW1lP3hqcz1zMyIgbm9uY2U9ImFBN1ZhLWJlZWhJTHNsMmhGbFB0LWciIGFzeW5jPSIiPjwvc2NyaXB0PjxsaW5rIGhyZWY9Ii94anMvXy9qcy9rPXhqcy5oZC5lbi56SEFMd25SODNxRS5PL2FtPUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBaEFBVUFBQ0FBZ0FBQUFBQUFBQUFBQUJBZ0NBQWdDZ0FBQkFBSEFBZ0FnSUFBZ0VBQUVTQ0FEektCd0NBQU1BRUFCQUFnQUFBQUFJQ0FDQUFBRUFBQUFCQ0FBQUFBQUFVQUFBQUFBQUFBQUFBQUFBQUF3aEFBQUFBQUFBQUFBQUFBQUlBQUFDZ0F3QUFBQUFCQUVBUUFCakFBQUVnQUFFQUFBRG9BVUJ3QUF4U0VBQUFBQUFBQUFBQUFBQUFDRUNDWUM0a29DQ0FBQUFBQUFBQUFBQUFBQUFBQUVoSkp4WTIvZD0wL2RnPTAvYnI9MS9ycz1BQ1Q5MG9IWXRMMzFYX2Fib0pUcDJOMUJuZWZ0VXVwV0dnL209c3l2MCxzeXV6LFZzcVNDYyxzeTFlcCxQMTBPd2Ysc3kxZGQsc3kxZGIsc3lybSxnU1p2ZGIsc3l4bixzeXhtLFdsTlFHZCxzeXh6LHN5eHgsbmFiUGJiLHN5cnIsc3lybyxzeXJuLHN5cmwsRFByZUUsc3l4aCxzeXhmLHN5a2Ysc3lsbSxDblNXMmQsa1F2bGVmLHN5eHksZlhPMHhlP3hqcz1zNCIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0IiBmZXRjaHByaW9yaXR5PSJsb3ciPjxzY3JpcHQgc3JjPSIveGpzL18vanMvaz14anMuaGQuZW4uekhBTHduUjgzcUUuTy9hbT1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQWhBQVVBQUNBQWdBQUFBQUFBQUFBQUFCQWdDQUFnQ2dBQUJBQUhBQWdBZ0lBQWdFQUFFU0NBRHpLQndDQUFNQUVBQkFBZ0FBQUFBSUNBQ0FBQUVBQUFBQkNBQUFBQUFBVUFBQUFBQUFBQUFBQUFBQUFBd2hBQUFBQUFBQUFBQUFBQUFJQUFBQ2dBd0FBQUFBQkFFQVFBQmpBQUFFZ0FBRUFBQURvQVVCd0FBeFNFQUFBQUFBQUFBQUFBQUFBQ0VDQ1lDNGtvQ0NBQUFBQUFBQUFBQUFBQUFBQUFFaEpKeFkyL2Q9MC9kZz0wL2JyPTEvcnM9QUNUOTBvSFl0TDMxWF9hYm9KVHAyTjFCbmVmdFV1cFdHZy9tPXN5djAsc3l1eixWc3FTQ2Msc3kxZXAsUDEwT3dmLHN5MWRkLHN5MWRiLHN5cm0sZ1NadmRiLHN5eG4sc3l4bSxXbE5RR2Qsc3l4eixzeXh4LG5hYlBiYixzeXJyLHN5cm8sc3lybixzeXJsLERQcmVFLHN5eGgsc3l4ZixzeWtmLHN5bG0sQ25TVzJkLGtRdmxlZixzeXh5LGZYTzB4ZT94anM9czQiIG5vbmNlPSJhQTdWYS1iZWVoSUxzbDJoRmxQdC1nIiBhc3luYz0iIj48L3NjcmlwdD48bGluayBocmVmPSIveGpzL18vanMvaz14anMuaGQuZW4uekhBTHduUjgzcUUuTy9hbT1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQWhBQVVBQUNBQWdBQUFBQUFBQUFBQUFCQWdDQUFnQ2dBQUJBQUhBQWdBZ0lBQWdFQUFFU0NBRHpLQndDQUFNQUVBQkFBZ0FBQUFBSUNBQ0FBQUVBQUFBQkNBQUFBQUFBVUFBQUFBQUFBQUFBQUFBQUFBd2hBQUFBQUFBQUFBQUFBQUFJQUFBQ2dBd0FBQUFBQkFFQVFBQmpBQUFFZ0FBRUFBQURvQVVCd0FBeFNFQUFBQUFBQUFBQUFBQUFBQ0VDQ1lDNGtvQ0NBQUFBQUFBQUFBQUFBQUFBQUFFaEpKeFkyL2Q9MC9kZz0wL2JyPTEvcnM9QUNUOTBvSFl0TDMxWF9hYm9KVHAyTjFCbmVmdFV1cFdHZy9tPXN5Z2IsYUxVZlA/eGpzPXM0IiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiIGZldGNocHJpb3JpdHk9ImxvdyI+PHNjcmlwdCBzcmM9Ii94anMvXy9qcy9rPXhqcy5oZC5lbi56SEFMd25SODNxRS5PL2FtPUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBaEFBVUFBQ0FBZ0FBQUFBQUFBQUFBQUJBZ0NBQWdDZ0FBQkFBSEFBZ0FnSUFBZ0VBQUVTQ0FEektCd0NBQU1BRUFCQUFnQUFBQUFJQ0FDQUFBRUFBQUFCQ0FBQUFBQUFVQUFBQUFBQUFBQUFBQUFBQUF3aEFBQUFBQUFBQUFBQUFBQUlBQUFDZ0F3QUFBQUFCQUVBUUFCakFBQUVnQUFFQUFBRG9BVUJ3QUF4U0VBQUFBQUFBQUFBQUFBQUFDRUNDWUM0a29DQ0FBQUFBQUFBQUFBQUFBQUFBQUVoSkp4WTIvZD0wL2RnPTAvYnI9MS9ycz1BQ1Q5MG9IWXRMMzFYX2Fib0pUcDJOMUJuZWZ0VXVwV0dnL209c3lnYixhTFVmUD94anM9czQiIG5vbmNlPSJhQTdWYS1iZWVoSUxzbDJoRmxQdC1nIiBhc3luYz0iIiBnYXBpX3Byb2Nlc3NlZD0idHJ1ZSI+PC9zY3JpcHQ+PGxpbmsgaHJlZj0iL3hqcy9fL2pzL2s9eGpzLmhkLmVuLnpIQUx3blI4M3FFLk8vYW09QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFoQUFVQUFDQUFnQUFBQUFBQUFBQUFBQkFnQ0FBZ0NnQUFCQUFIQUFnQWdJQUFnRUFBRVNDQUR6S0J3Q0FBTUFFQUJBQWdBQUFBQUlDQUNBQUFFQUFBQUJDQUFBQUFBQVVBQUFBQUFBQUFBQUFBQUFBQXdoQUFBQUFBQUFBQUFBQUFBSUFBQUNnQXdBQUFBQUJBRUFRQUJqQUFBRWdBQUVBQUFEb0FVQndBQXhTRUFBQUFBQUFBQUFBQUFBQUNFQ0NZQzRrb0NDQUFBQUFBQUFBQUFBQUFBQUFBRWhKSnhZMi9kPTAvZGc9MC9icj0xL3JzPUFDVDkwb0hZdEwzMVhfYWJvSlRwMk4xQm5lZnRVdXBXR2cvbT1rTUZwSGQsc3k5MCxibTUxdGY/eGpzPXM0IiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiIGZldGNocHJpb3JpdHk9ImxvdyI+PHNjcmlwdCBzcmM9Ii94anMvXy9qcy9rPXhqcy5oZC5lbi56SEFMd25SODNxRS5PL2FtPUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBaEFBVUFBQ0FBZ0FBQUFBQUFBQUFBQUJBZ0NBQWdDZ0FBQkFBSEFBZ0FnSUFBZ0VBQUVTQ0FEektCd0NBQU1BRUFCQUFnQUFBQUFJQ0FDQUFBRUFBQUFCQ0FBQUFBQUFVQUFBQUFBQUFBQUFBQUFBQUF3aEFBQUFBQUFBQUFBQUFBQUlBQUFDZ0F3QUFBQUFCQUVBUUFCakFBQUVnQUFFQUFBRG9BVUJ3QUF4U0VBQUFBQUFBQUFBQUFBQUFDRUNDWUM0a29DQ0FBQUFBQUFBQUFBQUFBQUFBQUVoSkp4WTIvZD0wL2RnPTAvYnI9MS9ycz1BQ1Q5MG9IWXRMMzFYX2Fib0pUcDJOMUJuZWZ0VXVwV0dnL209a01GcEhkLHN5OTAsYm01MXRmP3hqcz1zNCIgbm9uY2U9ImFBN1ZhLWJlZWhJTHNsMmhGbFB0LWciIGFzeW5jPSIiPjwvc2NyaXB0PjwvYm9keT48L2h0bWw+","disable_correlation":true,"to_ids":false,"type":"attachment","uuid":"01a89c09-8300-46a5-8080-ce2aa9651cc5","value":"rendered_page.html"},{"category":"Network activity","comment":"The address in the browser address bar at the end of the capture.","disable_correlation":false,"to_ids":true,"type":"url","uuid":"0a037541-3381-4de7-9efe-5e6bd6b05efb","value":"https://www.google.com/"}],"Object":[{"Attribute":[{"category":"Network activity","disable_correlation":false,"object_relation":"url","to_ids":true,"type":"url","uuid":"9c21d633-f0b7-4f1c-8fd4-e2aef745426b","value":"https://pub-2ea7c639b4a14b92a50e348f99b33293.r2.dev/UC-antib0tz/cp1dh-schanzapq3zctybzumh7gs3uqutwyigubmtwjem6xg5s2cznyjavfvy4ae5a3mq6s9o44vmzsxf53ccovcbyx2iosx52i8w6dcdf.htm?egnrfbckdcjocadwfsvioymyeqqrwajviuqnskqwmfsexrtxtn#S0FWSUdATkFWLkdPVi5IVQ"},{"category":"Network activity","disable_correlation":false,"object_relation":"host","to_ids":true,"type":"hostname","uuid":"1c056689-82e0-4608-b090-55de7ede7d4d","value":"pub-2ea7c639b4a14b92a50e348f99b33293.r2.dev"},{"category":"Network activity","disable_correlation":false,"object_relation":"domain","to_ids":true,"type":"domain","uuid":"e0c9185d-92a9-404e-b233-decfbe751604","value":"pub-2ea7c639b4a14b92a50e348f99b33293.r2.dev"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"f574e923-28e3-453a-986a-3ac83328fe19","value":"104.18.50.34"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"06c4efbf-7644-4f9b-ba85-0c702eee8279","value":"172.66.0.235"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"95d0547f-bc6c-44a6-94a6-2129298baaa0","value":"104.18.3.35"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"1dcda9ee-6f6c-4287-8017-93431d7b014f","value":"104.18.54.45"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"adf24a5f-2b64-4d76-8688-c41403f5a9f0","value":"162.159.140.237"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"af011462-8c57-41f8-be0d-a4e5c63b834c","value":"104.18.2.35"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"004407f3-1af8-47bd-885f-d60af5dfe0e5","value":"2606:4700::6812:223"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"d41ffe70-b6e7-4832-af59-1816099e4024","value":"2606:4700:7::eb"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"165b0c35-3648-4848-8df0-fe6c94f42170","value":"2a06:98c1:58::eb"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"329774fd-5221-41a2-9421-afe98d82a399","value":"2606:4700::6812:323"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"c4334916-a70f-4b96-ab1b-097b74a7343d","value":"2606:4700:3117::6812:3222"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"924378c6-56be-4c61-876f-baf41f192aca","value":"2606:4700:3113::6812:362d"}],"ObjectReference":[{"comment":"Capture on lookyloo","object_uuid":"caf063ad-9f65-4d1b-96f0-f335f8a5d578","referenced_uuid":"1c818d90-7503-4a64-9f19-eb38b542cd1f","relationship_type":"captured-by","uuid":"218ff252-eb67-4fcf-a9f6-ea4e3254181b"},{"object_uuid":"caf063ad-9f65-4d1b-96f0-f335f8a5d578","referenced_uuid":"aa2942f7-0ad1-466e-b5ad-d46d65b72654","relationship_type":"redirects-to","uuid":"1650659a-3188-4a29-bcae-69f65f9aa6bf"}],"comment":"Submitted URL","description":"url object describes an url along with its normalized field (like extracted using faup parsing library) and its metadata.","distribution":"5","first_seen":"2024-08-01T12:33:00.387000+00:00","meta-category":"network","name":"url","parsed_url":null,"sharing_group_id":"0","template_uuid":"60efb77b-40b5-4c46-871b-ed1ed999fce5","template_version":"10","uuid":"caf063ad-9f65-4d1b-96f0-f335f8a5d578"},{"Attribute":[{"category":"Network activity","disable_correlation":false,"object_relation":"url","to_ids":true,"type":"url","uuid":"fb4fa224-427d-4219-95d9-2b17bf55aae9","value":"https://pub-2ea7c639b4a14b92a50e348f99b33293.r2.dev/UC-antib0tz/cp1dh-schanzapq3zctybzumh7gs3uqutwyigubmtwjem6xg5s2cznyjavfvy4ae5a3mq6s9o44vmzsxf53ccovcbyx2iosx52i8w6dcdf.htm?egnrfbckdcjocadwfsvioymyeqqrwajviuqnskqwmfsexrtxtn"},{"category":"Network activity","disable_correlation":false,"object_relation":"host","to_ids":true,"type":"hostname","uuid":"6586291f-12b3-4058-b4ec-d4849f1da54c","value":"pub-2ea7c639b4a14b92a50e348f99b33293.r2.dev"},{"category":"Network activity","disable_correlation":false,"object_relation":"domain","to_ids":true,"type":"domain","uuid":"34e40587-cfe5-410f-a5af-355d2bc24301","value":"pub-2ea7c639b4a14b92a50e348f99b33293.r2.dev"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"8c4f5747-0062-47fa-aaf5-9429a3c843b9","value":"104.18.50.34"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"49466863-8343-4f66-b5cf-a5ec71ffc333","value":"172.66.0.235"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"ffb6e765-8af6-4f30-aab2-1b1ad1d83c6f","value":"104.18.3.35"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"130f8aea-7e49-4799-9a2d-d4f8308a6f7e","value":"104.18.54.45"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"3e25810c-1c98-40c9-aebf-f1f825286da4","value":"162.159.140.237"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"537c1408-b3cb-4c23-8bdd-1748de93e1d0","value":"104.18.2.35"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"6115ace5-2b4f-42c4-aa33-d88203655c58","value":"2606:4700::6812:223"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"aed66add-e523-442e-9ad5-885d833d17a0","value":"2606:4700:7::eb"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"179bfead-939d-47d1-aa04-9277d883bae5","value":"2a06:98c1:58::eb"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"5b4906f5-04b5-4b44-838e-5a24b8cc2340","value":"2606:4700::6812:323"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"9a7d8bb8-89b2-4390-a78b-f6d5b53987c6","value":"2606:4700:3117::6812:3222"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"044216b9-80b7-4ac2-992a-c9ebc9219749","value":"2606:4700:3113::6812:362d"}],"ObjectReference":[{"object_uuid":"aa2942f7-0ad1-466e-b5ad-d46d65b72654","referenced_uuid":"86afeb69-812e-4f4d-a3c5-7e9427f9ef29","relationship_type":"redirects-to","uuid":"a25c1391-6600-4fe8-90db-8a9a6f50ae11"}],"comment":"Redirect 0","description":"url object describes an url along with its normalized field (like extracted using faup parsing library) and its metadata.","distribution":"5","first_seen":"2024-08-01T12:33:00.387000+00:00","meta-category":"network","name":"url","parsed_url":null,"sharing_group_id":"0","template_uuid":"60efb77b-40b5-4c46-871b-ed1ed999fce5","template_version":"10","uuid":"aa2942f7-0ad1-466e-b5ad-d46d65b72654"},{"Attribute":[{"category":"Network activity","disable_correlation":false,"object_relation":"url","to_ids":true,"type":"url","uuid":"f1142c70-2857-4f10-b364-b615806c10a3","value":"https://pub-2ea7c639b4a14b92a50e348f99b33293.r2.dev/UC-antib0tz/anti-bot.js"},{"category":"Network activity","disable_correlation":false,"object_relation":"host","to_ids":true,"type":"hostname","uuid":"d879f4f4-1adb-478d-bbcf-794d19d73bc1","value":"pub-2ea7c639b4a14b92a50e348f99b33293.r2.dev"},{"category":"Network activity","disable_correlation":false,"object_relation":"domain","to_ids":true,"type":"domain","uuid":"2cf4a394-f56a-4628-9f82-48bf7ec0f3fc","value":"pub-2ea7c639b4a14b92a50e348f99b33293.r2.dev"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"f7c67cb3-0b65-4398-8554-44287efb03cb","value":"104.18.50.34"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"cd66f261-e15e-4490-8fb0-ee784f84ee2b","value":"172.66.0.235"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"30bc056f-ef3e-4879-ab0c-70610a379d8c","value":"104.18.3.35"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"8ca2f604-b065-4d03-ace1-3b7e616042ef","value":"104.18.54.45"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"aaf20ad4-b055-4f98-8f60-2832328e3254","value":"162.159.140.237"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"c030e828-c8c6-4e08-bc03-001ab12600a6","value":"104.18.2.35"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"f6ee007c-3c0c-4abb-b21b-436a7b12da27","value":"2606:4700::6812:223"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"4830185e-dd0f-4031-9af1-9d96633c001a","value":"2606:4700:7::eb"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"3f58e9dd-bcad-44c4-b0e4-759eaa8ff40a","value":"2a06:98c1:58::eb"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"008390ec-f030-4ab3-9f67-56bceb8303c9","value":"2606:4700::6812:323"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"c706e1bd-ae79-4ff2-bbdc-ad914b062344","value":"2606:4700:3117::6812:3222"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"4f7916eb-f236-4655-95ab-c4f38e22d3d2","value":"2606:4700:3113::6812:362d"}],"ObjectReference":[{"object_uuid":"86afeb69-812e-4f4d-a3c5-7e9427f9ef29","referenced_uuid":"dd7d364e-8d50-43ad-bf60-fa64f01c0dca","relationship_type":"redirects-to","uuid":"e1de3ee3-cd3f-4feb-97d9-36a9c8f9c70f"}],"comment":"Redirect 1","description":"url object describes an url along with its normalized field (like extracted using faup parsing library) and its metadata.","distribution":"5","first_seen":"2024-08-01T12:33:00.387000+00:00","meta-category":"network","name":"url","parsed_url":null,"sharing_group_id":"0","template_uuid":"60efb77b-40b5-4c46-871b-ed1ed999fce5","template_version":"10","uuid":"86afeb69-812e-4f4d-a3c5-7e9427f9ef29"},{"Attribute":[{"category":"Network activity","disable_correlation":false,"object_relation":"url","to_ids":true,"type":"url","uuid":"d91b096f-32b1-47db-95a3-4d5ac5c50bd4","value":"https://google.com/"},{"category":"Network activity","disable_correlation":false,"object_relation":"host","to_ids":true,"type":"hostname","uuid":"604552b4-55e2-44ae-8d88-3ffd4c26ebc1","value":"google.com"},{"category":"Network activity","disable_correlation":false,"object_relation":"domain","to_ids":true,"type":"domain","uuid":"e1ea0c6e-3a97-4f94-96f3-5785833d76a8","value":"google.com"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"23cbbd47-4236-4343-9f36-5a3d09f3049e","value":"172.217.18.14"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"d49bc7a8-828f-4af5-8caf-cfdc815e98f2","value":"142.250.203.206"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"a19c7450-43b6-446e-9705-fa77bd88e44e","value":"142.250.185.238"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"44bb0fc7-a116-4f6c-b7cd-cc22b580b171","value":"2a00:1450:4001:813::200e"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"3d6ffaf5-fe33-4cd4-8039-461c858b1c53","value":"2a00:1450:4016:804::200e"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"4e750c6f-7aec-4302-a0c7-1eed6b8dba71","value":"2a00:1450:4001:80b::200e"}],"ObjectReference":[{"object_uuid":"dd7d364e-8d50-43ad-bf60-fa64f01c0dca","referenced_uuid":"b51057c5-421a-415a-877d-f449c2565f5e","relationship_type":"redirects-to","uuid":"bbd66654-4a22-4393-b2a0-924d64248595"}],"comment":"Redirect 2","description":"url object describes an url along with its normalized field (like extracted using faup parsing library) and its metadata.","distribution":"5","first_seen":"2024-08-01T12:33:11.094000+00:00","meta-category":"network","name":"url","parsed_url":null,"sharing_group_id":"0","template_uuid":"60efb77b-40b5-4c46-871b-ed1ed999fce5","template_version":"10","uuid":"dd7d364e-8d50-43ad-bf60-fa64f01c0dca"},{"Attribute":[{"category":"Network activity","disable_correlation":false,"object_relation":"url","to_ids":true,"type":"url","uuid":"2f4370d5-541c-406a-ba6e-4630a3f79fbb","value":"https://www.google.com/"},{"category":"Network activity","disable_correlation":false,"object_relation":"host","to_ids":true,"type":"hostname","uuid":"9c448eea-2c53-406b-895b-ab367cab4a3c","value":"www.google.com"},{"category":"Network activity","disable_correlation":false,"object_relation":"domain","to_ids":true,"type":"domain","uuid":"d8b0faae-cdf1-45d3-88d0-17119dc15816","value":"google.com"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"b1b9178d-ab60-4fd9-9c13-57f492b09c6d","value":"172.217.16.196"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"cd40123e-5421-459f-b65d-c5ddb17e7246","value":"142.250.203.196"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"a5c52530-7165-49a7-be86-ad8ba7dca25f","value":"142.250.74.196"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"129ae638-9545-44ab-b28f-8d0131cefedf","value":"2a00:1450:4001:81a::2004"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"bcaf90c6-1cbe-480e-bd83-1b8e3d3bb451","value":"2a00:1450:4001:806::2004"},{"category":"Network activity","disable_correlation":false,"object_relation":"ip","to_ids":true,"type":"ip-dst","uuid":"88e59d76-c250-4b85-9ce6-6fa2fd63d93d","value":"2a00:1450:4001:808::2004"},{"category":"Network activity","disable_correlation":false,"object_relation":"dom-hash","to_ids":true,"type":"dom-hash","uuid":"96aedfc9-c65a-41de-9aee-3f27aa2e7a4f","value":"f840baa3ec3683b368e694e1cdac3c1c"}],"comment":"Last redirect (3)","description":"url object describes an url along with its normalized field (like extracted using faup parsing library) and its metadata.","distribution":"5","first_seen":"2024-08-01T12:33:00.643000+00:00","meta-category":"network","name":"url","parsed_url":null,"sharing_group_id":"0","template_uuid":"60efb77b-40b5-4c46-871b-ed1ed999fce5","template_version":"10","uuid":"b51057c5-421a-415a-877d-f449c2565f5e"},{"Attribute":[{"category":"Payload delivery","disable_correlation":true,"object_relation":"filename","to_ids":true,"type":"filename","uuid":"2b633ae7-d980-44a5-96e9-5bf80187f343","value":"file.bin"},{"category":"Other","disable_correlation":true,"object_relation":"size-in-bytes","to_ids":false,"type":"size-in-bytes","uuid":"72cf4b6d-393f-402d-ace9-51197612d5bb","value":"270707"},{"category":"Other","disable_correlation":true,"object_relation":"entropy","to_ids":false,"type":"float","uuid":"9fd0aca4-528b-4bd1-b72c-e4fb56073794","value":5.941001909616419},{"category":"Payload delivery","disable_correlation":false,"object_relation":"md5","to_ids":true,"type":"md5","uuid":"449cc8d9-24e8-4937-8a81-08b19ff1df9e","value":"33451a829f92863c1185acb322f2810d"},{"category":"Payload delivery","disable_correlation":false,"object_relation":"sha1","to_ids":true,"type":"sha1","uuid":"03f03703-3575-4a9d-8ba8-a7044dec3c09","value":"6b00513b09267d1f62de60de9ecb030b5bedfd0a"},{"category":"Payload delivery","disable_correlation":false,"object_relation":"sha256","to_ids":true,"type":"sha256","uuid":"8c8b9d87-1a23-4f3c-869a-273f8fd792f5","value":"3de0d5aa18093e55223a492ae68dcea0fa5b659614688fa330c5d189e713ee46"},{"category":"Payload delivery","disable_correlation":false,"object_relation":"sha512","to_ids":true,"type":"sha512","uuid":"65e805fa-c303-42bb-8fe4-6a8c4cca5f42","value":"7f17f745f64b23137429e21aaf2447ceba1ac98ce14a05abee827c31b45571471849854b3816eef49e9f382cd6728d7c302f0130542244062d2e7e6844039388"},{"category":"Payload delivery","data":"PCFkb2N0eXBlIGh0bWw+PGh0bWwgaXRlbXNjb3BlPSIiIGl0ZW10eXBlPSJodHRwOi8vc2NoZW1hLm9yZy9XZWJQYWdlIiBsYW5nPSJkZS1MVSI+PGhlYWQ+PG1ldGEgY2hhcnNldD0iVVRGLTgiPjxtZXRhIGNvbnRlbnQ9Im9yaWdpbiIgbmFtZT0icmVmZXJyZXIiPjxtZXRhIGNvbnRlbnQ9Ii9pbWFnZXMvYnJhbmRpbmcvZ29vZ2xlZy8xeC9nb29nbGVnX3N0YW5kYXJkX2NvbG9yXzEyOGRwLnBuZyIgaXRlbXByb3A9ImltYWdlIj48dGl0bGU+R29vZ2xlPC90aXRsZT48c2NyaXB0IG5vbmNlPSJhQTdWYS1iZWVoSUxzbDJoRmxQdC1nIj4oZnVuY3Rpb24oKXt2YXIgX2c9e2tFSTonaDRDclp2eUxDNU9maS1nUF9vcUotUXcnLGtFWFBJOiczMScsa0JMOidOUXpiJyxrT1BJOjg5OTc4NDQ5fTsoZnVuY3Rpb24oKXt2YXIgYTsoKGE9d2luZG93Lmdvb2dsZSk9PW51bGw/MDphLnN0dnNjKT9nb29nbGUua0VJPV9nLmtFSTp3aW5kb3cuZ29vZ2xlPV9nO30pLmNhbGwodGhpcyk7fSkoKTsoZnVuY3Rpb24oKXtnb29nbGUuc249J3dlYmhwJztnb29nbGUua0hMPSdkZS1MVSc7fSkoKTsoZnVuY3Rpb24oKXsKdmFyIGg9dGhpc3x8c2VsZjtmdW5jdGlvbiBsKCl7cmV0dXJuIHdpbmRvdy5nb29nbGUhPT12b2lkIDAmJndpbmRvdy5nb29nbGUua09QSSE9PXZvaWQgMCYmd2luZG93Lmdvb2dsZS5rT1BJIT09MD93aW5kb3cuZ29vZ2xlLmtPUEk6bnVsbH07dmFyIG0sbj1bXTtmdW5jdGlvbiBwKGEpe2Zvcih2YXIgYjthJiYoIWEuZ2V0QXR0cmlidXRlfHwhKGI9YS5nZXRBdHRyaWJ1dGUoImVpZCIpKSk7KWE9YS5wYXJlbnROb2RlO3JldHVybiBifHxtfWZ1bmN0aW9uIHEoYSl7Zm9yKHZhciBiPW51bGw7YSYmKCFhLmdldEF0dHJpYnV0ZXx8IShiPWEuZ2V0QXR0cmlidXRlKCJsZWlkIikpKTspYT1hLnBhcmVudE5vZGU7cmV0dXJuIGJ9ZnVuY3Rpb24gcihhKXsvXmh0dHA6L2kudGVzdChhKSYmd2luZG93LmxvY2F0aW9uLnByb3RvY29sPT09Imh0dHBzOiImJihnb29nbGUubWwmJmdvb2dsZS5tbChFcnJvcigiYSIpLCExLHtzcmM6YSxnbG1tOjF9KSxhPSIiKTtyZXR1cm4gYX0KZnVuY3Rpb24gdChhLGIsYyxkLGspe3ZhciBlPSIiO2Iuc2VhcmNoKCImZWk9Iik9PT0tMSYmKGU9IiZlaT0iK3AoZCksYi5zZWFyY2goIiZsZWk9Iik9PT0tMSYmKGQ9cShkKSkmJihlKz0iJmxlaT0iK2QpKTtkPSIiO3ZhciBnPWIuc2VhcmNoKCImY3NoaWQ9Iik9PT0tMSYmYSE9PSJzbGgiLGY9W107Zi5wdXNoKFsiengiLERhdGUubm93KCkudG9TdHJpbmcoKV0pO2guX2NzaGlkJiZnJiZmLnB1c2goWyJjc2hpZCIsaC5fY3NoaWRdKTtjPWMoKTtjIT1udWxsJiZmLnB1c2goWyJvcGkiLGMudG9TdHJpbmcoKV0pO2ZvcihjPTA7YzxmLmxlbmd0aDtjKyspe2lmKGM9PT0wfHxjPjApZCs9IiYiO2QrPWZbY11bMF0rIj0iK2ZbY11bMV19cmV0dXJuIi8iKyhrfHwiZ2VuXzIwNCIpKyI/YXR5cD1pJmN0PSIrU3RyaW5nKGEpKyImY2FkPSIrKGIrZStkKX07bT1nb29nbGUua0VJO2dvb2dsZS5nZXRFST1wO2dvb2dsZS5nZXRMRUk9cTtnb29nbGUubWw9ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH07Z29vZ2xlLmxvZz1mdW5jdGlvbihhLGIsYyxkLGssZSl7ZT1lPT09dm9pZCAwP2w6ZTtjfHwoYz10KGEsYixlLGQsaykpO2lmKGM9cihjKSl7YT1uZXcgSW1hZ2U7dmFyIGc9bi5sZW5ndGg7bltnXT1hO2Eub25lcnJvcj1hLm9ubG9hZD1hLm9uYWJvcnQ9ZnVuY3Rpb24oKXtkZWxldGUgbltnXX07YS5zcmM9Y319O2dvb2dsZS5sb2dVcmw9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/bDpiO3JldHVybiB0KCIiLGEsYil9O30pLmNhbGwodGhpcyk7KGZ1bmN0aW9uKCl7Z29vZ2xlLnk9e307Z29vZ2xlLnN5PVtdO3ZhciBkOyhkPWdvb2dsZSkueHx8KGQueD1mdW5jdGlvbihhLGIpe2lmKGEpdmFyIGM9YS5pZDtlbHNle2RvIGM9TWF0aC5yYW5kb20oKTt3aGlsZShnb29nbGUueVtjXSl9Z29vZ2xlLnlbY109W2EsYl07cmV0dXJuITF9KTt2YXIgZTsoZT1nb29nbGUpLnN4fHwoZS5zeD1mdW5jdGlvbihhKXtnb29nbGUuc3kucHVzaChhKX0pO2dvb2dsZS5sbT1bXTt2YXIgZjsoZj1nb29nbGUpLnBsbXx8KGYucGxtPWZ1bmN0aW9uKGEpe2dvb2dsZS5sbS5wdXNoLmFwcGx5KGdvb2dsZS5sbSxhKX0pO2dvb2dsZS5scT1bXTt2YXIgZzsoZz1nb29nbGUpLmxvYWR8fChnLmxvYWQ9ZnVuY3Rpb24oYSxiLGMpe2dvb2dsZS5scS5wdXNoKFtbYV0sYixjXSl9KTt2YXIgaDsoaD1nb29nbGUpLmxvYWRBbGx8fChoLmxvYWRBbGw9ZnVuY3Rpb24oYSxiKXtnb29nbGUubHEucHVzaChbYSxiXSl9KTtnb29nbGUuYng9ITE7dmFyIGs7KGs9Z29vZ2xlKS5seHx8KGsubHg9ZnVuY3Rpb24oKXt9KTt2YXIgbD1bXSxtOyhtPWdvb2dsZSkuZmNlfHwobS5mY2U9ZnVuY3Rpb24oYSxiLGMsbil7bC5wdXNoKFthLGIsYyxuXSl9KTtnb29nbGUucWNlPWw7fSkuY2FsbCh0aGlzKTtnb29nbGUuZj17fTsoZnVuY3Rpb24oKXsKZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInN1Ym1pdCIsZnVuY3Rpb24oYil7dmFyIGE7aWYoYT1iLnRhcmdldCl7dmFyIGM9YS5nZXRBdHRyaWJ1dGUoImRhdGEtc3VibWl0ZmFsc2UiKTthPWM9PT0iMSJ8fGM9PT0icSImJiFhLmVsZW1lbnRzLnEudmFsdWU/ITA6ITF9ZWxzZSBhPSExO2EmJihiLnByZXZlbnREZWZhdWx0KCksYi5zdG9wUHJvcGFnYXRpb24oKSl9LCEwKTtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGIpe3ZhciBhO2E6e2ZvcihhPWIudGFyZ2V0O2EmJmEhPT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7YT1hLnBhcmVudEVsZW1lbnQpaWYoYS50YWdOYW1lPT09IkEiKXthPWEuZ2V0QXR0cmlidXRlKCJkYXRhLW5vaHJlZiIpPT09IjEiO2JyZWFrIGF9YT0hMX1hJiZiLnByZXZlbnREZWZhdWx0KCl9LCEwKTt9KS5jYWxsKHRoaXMpOyhmdW5jdGlvbigpe2dvb2dsZS5ocz17aDp0cnVlLG5oczpmYWxzZSxzaWU6ZmFsc2V9O30pKCk7KGZ1bmN0aW9uKCl7Z29vZ2xlLmM9e2J0Zmk6ZmFsc2UsYzR0OnRydWUsY2FmOmZhbHNlLGNhcDoyMDAwLGNmcjpmYWxzZSxjcnA6ZmFsc2UsY3NwOmZhbHNlLGNzeHM6ZmFsc2UsZGk6ZmFsc2UsZmxhOmZhbHNlLGZsaTpmYWxzZSxnbDp0cnVlLGlyc2Y6ZmFsc2UsbGhjOmZhbHNlLG1haXM6dHJ1ZSxtYXJiOnRydWUsbWNjOmZhbHNlLHBjaTp0cnVlLHJhZjpmYWxzZSx0YWY6dHJ1ZSx0aW1sOmZhbHNlLHRwcmM6ZmFsc2UsdmlzOnRydWUsd2gwOmZhbHNlLHdodTpmYWxzZX07fSkoKTsoZnVuY3Rpb24oKXsKdmFyIHA9dGhpc3x8c2VsZjt3aW5kb3cuZ29vZ2xlPXdpbmRvdy5nb29nbGV8fHt9O3ZhciBxPXdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmIm5hdmlnYXRpb25TdGFydCJpbiB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLGFhPWdvb2dsZS5zdHZzYyYmZ29vZ2xlLnN0dnNjLm5zLHI9cT9hYXx8d2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQ6dm9pZCAwO2Z1bmN0aW9uIHQoKXtyZXR1cm4gd2luZG93LnBlcmZvcm1hbmNlLm5vdygpLShnb29nbGUuc3R2c2MmJmdvb2dsZS5zdHZzYy5wbm98fDApfXZhciBiYT1nb29nbGUuc3R2c2MmJmdvb2dsZS5zdHZzYy5ycyx1PXE/YmF8fHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcucmVzcG9uc2VTdGFydDp2b2lkIDA7ZnVuY3Rpb24gY2EoYSxiLGMpe2E6e2Zvcih2YXIgZD1hO2QmJmQhPT1iO2Q9ZC5wYXJlbnRFbGVtZW50KWlmKGQuc3R5bGUub3ZlcmZsb3c9PT0iaGlkZGVuInx8ZC50YWdOYW1lPT09IkctRVhQQU5EQUJMRS1DT05URU5UIiYmZ2V0Q29tcHV0ZWRTdHlsZShkKS5nZXRQcm9wZXJ0eVZhbHVlKCJvdmVyZmxvdyIpPT09ImhpZGRlbiIpe2I9ZDticmVhayBhfWI9bnVsbH1pZighYilyZXR1cm4hMTthPWMoYSk7Yz1jKGIpO3JldHVybiBhLmJvdHRvbTxjLnRvcHx8YS50b3A+PWMuYm90dG9tfHxhLnJpZ2h0PGMubGVmdHx8YS5sZWZ0Pj1jLnJpZ2h0fQpmdW5jdGlvbiBkYShhKXtyZXR1cm4gYS5zdHlsZS5kaXNwbGF5PT09Im5vbmUiPyEwOmRvY3VtZW50LmRlZmF1bHRWaWV3JiZkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlPyhhPWRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUoYSksISFhJiYoYS52aXNpYmlsaXR5PT09ImhpZGRlbiJ8fGEuaGVpZ2h0PT09IjBweCImJmEud2lkdGg9PT0iMHB4IikpOiExfQpmdW5jdGlvbiBlYShhLGIsYyxkLGUpe3ZhciBrPWUoYSksbT1rLmxlZnQrKGM/MDp3aW5kb3cucGFnZVhPZmZzZXQpLG49ay50b3ArKGM/MDp3aW5kb3cucGFnZVlPZmZzZXQpLGg9ay53aWR0aCxmPWsuaGVpZ2h0LGc9MDtpZighYiYmZjw9MCYmaDw9MClyZXR1cm4gZztiPXdpbmRvdy5pbm5lckhlaWdodHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodDtuK2Y8MD9nPTI6bj49YiYmKGc9NCk7aWYobStoPDB8fG0+PSh3aW5kb3cuaW5uZXJXaWR0aHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoKSlnfD04O2Vsc2UgaWYoZCl7bT1rLmxlZnQ7aWYoIWMpZm9yKDthJiZhIT09ZDthPWEucGFyZW50RWxlbWVudCltKz1hLnNjcm9sbExlZnQ7ZD1lKGQpO2lmKG0raDxkLmxlZnR8fG0+PWQucmlnaHQpZ3w9ODtrLnRvcD49ZC5ib3R0b20mJihnfD00KX1nfHwoZz0xLG4rZj5iJiYoZ3w9NCkpO3JldHVybiBnfTt2YXIgZmE9Z29vZ2xlLmMuY2FwLGhhPWdvb2dsZS5jLmNzcCx2PWdvb2dsZS5jLnZpcyx3PWdvb2dsZS5jLmdsLGlhPWdvb2dsZS5jLm1hcmIsamE9Z29vZ2xlLmMudGFmLHg9Z29vZ2xlLmMudGltbCxrYT1nb29nbGUuYy5wY2k7ZnVuY3Rpb24geShhLGIpe2dvb2dsZS50aWNrKCJsb2FkIixhLGIpfWZ1bmN0aW9uIHooYSxiKXtnb29nbGUuYy5lKCJsb2FkIixhLFN0cmluZyhiKSl9ZnVuY3Rpb24gQShhLGIsYyxkKXthLmFkZEV2ZW50TGlzdGVuZXI/YS5hZGRFdmVudExpc3RlbmVyKGIsYyxkfHwhMSk6YS5hdHRhY2hFdmVudCYmYS5hdHRhY2hFdmVudCgib24iK2IsYyl9ZnVuY3Rpb24gQihhLGIsYyxkKXsiYWRkRXZlbnRMaXN0ZW5lciJpbiBhP2EucmVtb3ZlRXZlbnRMaXN0ZW5lcihiLGMsZHx8ITEpOmEuYXR0YWNoRXZlbnQmJmEuZGV0YWNoRXZlbnQoIm9uIitiLGMpfTt2YXIgbGE9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZz1hO3RoaXMudj1bXTt0aGlzLkI9dGhpcy5nLmhhc0F0dHJpYnV0ZSgiZGF0YS1ub2FmdCIpO3RoaXMuaj0hIXRoaXMuZy5nZXRBdHRyaWJ1dGUoImRhdGEtZGVmZXJyZWQiKTt2YXIgZDtpZihkPSF0aGlzLmopYTp7Zm9yKGQ9MDtkPEMubGVuZ3RoOysrZClpZihhLmdldEF0dHJpYnV0ZSgiZGF0YS0iK0NbZF0pKXtkPSEwO2JyZWFrIGF9ZD0hMX10aGlzLmw9ZDt0aGlzLkY9dGhpcy5nLmhhc0F0dHJpYnV0ZSgiZGF0YS1ic3JjIik7KGE9dGhpcy5nLnNyYykmJnRoaXMubCYmKHRoaXMuRD1hKTshdGhpcy5sJiZ0eXBlb2YgYT09PSJzdHJpbmciJiZhfHx0aGlzLmcuc2V0QXR0cmlidXRlKCJkYXRhLWx6eV8iLCIxIik7dGhpcy5CP2I9ITA6Ynx8dyYmdGhpcy5pfHx0aGlzLmp8fHRoaXMubD9iPSExOihiPXRoaXMuZy5zcmMsYj10eXBlb2YgYiE9PSJzdHJpbmcifHwhYixhPXRoaXMuZy5nZXRBdHRyaWJ1dGUoImRhdGEtY21wIiksYj0KYSE9PW51bGw/YT09PSIxIjpifHx0aGlzLmcuY29tcGxldGUpO3RoaXMuQT1iO3d8fHRoaXMuQXx8dGhpcy5pfHxEKHRoaXMpO3YmJiFjJiZFKHRoaXMpfSxEPWZ1bmN0aW9uKGEpe2dvb2dsZS5ybGwoYS5nLCEwLGZ1bmN0aW9uKCl7RihhLERhdGUubm93KCkpfSl9LEU9ZnVuY3Rpb24oYSl7aWYoYS5DPT09dm9pZCAwKXt2YXIgYj1hLmc7dmFyIGM7YTp7Zm9yKGM9YjtjO2M9Yy5wYXJlbnRFbGVtZW50KWlmKGMudGFnTmFtZT09PSJHLVNDUk9MTElORy1DQVJPVVNFTCJ8fGhhJiZjLmNsYXNzTGlzdC5jb250YWlucygiWE5mQVViIikpYnJlYWsgYTtjPW51bGx9dmFyIGQ9Yi5wYXJlbnRFbGVtZW50O2lmKGQmJihkLnRhZ05hbWU9PT0iRy1JTUcifHxkLmNsYXNzTGlzdC5jb250YWlucygidWhIT3dmIikpJiYoZC5zdHlsZS5oZWlnaHR8fGQuc3R5bGUud2lkdGgpKXt2YXIgZT1kLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGs9Yi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihlLmhlaWdodDw9CmsuaGVpZ2h0fHxlLndpZHRoPD1rLndpZHRoKWI9ZH1iPWdvb2dsZS5jdihiLCExLHZvaWQgMCxjKTthLkM9Yn1yZXR1cm4gYS5DfSxGPWZ1bmN0aW9uKGEsYil7aWYoYS5EJiZhLmcuc3JjPT09YS5EfHxhLmcuZ2V0QXR0cmlidXRlKCJkYXRhLWRlZmVycmVkIik9PT0iMSIpd3x8RChhKTtlbHNlIGlmKCFhLmkpe2EuaiYmYS5nLnNldEF0dHJpYnV0ZSgiZGF0YS1kZWZlcnJlZCIsIjMiKTthLmk9YjtiPWEuaTtmb3IodmFyIGM9MDtjPGEudi5sZW5ndGg7KytjKWEudltjXShiLGEuZyk7YS52Lmxlbmd0aD0wfX0sQz0ic3JjIGJzcmMgdXJsIGxsIGltYWdlIGltZy11cmwgbGlvaSIuc3BsaXQoIiAiKTtnb29nbGUuYy5paW09Z29vZ2xlLmMuaWltfHx7fTt2YXIgRz1nb29nbGUuYy5paW0sbWE9MDtmdW5jdGlvbiBIKGEsYixjLGQpe3ZhciBlPWEuZ2V0QXR0cmlidXRlKCJkYXRhLWNzaWlkIik7ZXx8KGU9U3RyaW5nKCsrbWEpLGthJiYoZT1nb29nbGUua0VJKyJfIitlKSk7R1tlXXx8KGEuc2V0QXR0cmlidXRlKCJkYXRhLWNzaWlkIixlKSxHW2VdPWI/YihhKTpuZXcgbGEoYSxjLGQpKTtyZXR1cm4gR1tlXX1mdW5jdGlvbiBJKGEpe2Zvcih2YXIgYj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW1nIiksYz0wLGQ9Yi5sZW5ndGg7YzxkOysrYylhKEgoYltjXSkpfTtmdW5jdGlvbiBuYShhKXtpZihhJiYoYT1hLnRhcmdldCxhLnRhZ05hbWU9PT0iSU1HIikpe3ZhciBiPURhdGUubm93KCk7RihIKGEsdm9pZCAwLCEwLCEwKSxiKX19ZnVuY3Rpb24gSihhKXtnb29nbGUuYy5vaWwoYSl9O2dvb2dsZS50aW1lcnM9e307Z29vZ2xlLnN0YXJ0VGljaz1mdW5jdGlvbihhKXtnb29nbGUudGltZXJzW2FdPXt0OntzdGFydDpEYXRlLm5vdygpfSxlOnt9LG06e319fTtnb29nbGUudGljaz1mdW5jdGlvbihhLGIsYyl7Z29vZ2xlLnRpbWVyc1thXXx8Z29vZ2xlLnN0YXJ0VGljayhhKTtjPWMhPT12b2lkIDA/YzpEYXRlLm5vdygpO2IgaW5zdGFuY2VvZiBBcnJheXx8KGI9W2JdKTtmb3IodmFyIGQ9MCxlO2U9YltkKytdOylnb29nbGUudGltZXJzW2FdLnRbZV09Y307Z29vZ2xlLmMuZT1mdW5jdGlvbihhLGIsYyl7Z29vZ2xlLnRpbWVyc1thXS5lW2JdPWN9O2dvb2dsZS5jLmI9ZnVuY3Rpb24oYSxiKXtiPWdvb2dsZS50aW1lcnNbYnx8ImxvYWQiXS5tO2JbYV0mJmdvb2dsZS5tbChFcnJvcigiYSIpLCExLHttOmF9KTtiW2FdPSEwfTtnb29nbGUuYy51PWZ1bmN0aW9uKGEsYil7dmFyIGM9Z29vZ2xlLnRpbWVyc1tifHwibG9hZCJdO2I9Yy5tO2lmKGJbYV0pe2JbYV09ITE7Zm9yKGEgaW4gYilpZihiW2FdKXJldHVybiExO3cmJihCKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwibG9hZCIsSiwhMCksQihkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsImVycm9yIixKLCEwKSk7Z29vZ2xlLmNzaVJlcG9ydChjLCJhbGwiKTtyZXR1cm4hMH1jPSIiO2Zvcih2YXIgZCBpbiBiKWMrPWQrIjoiK2JbZF0rIjsiO2dvb2dsZS5tbChFcnJvcigiYiIpLCExLHttOmEsYjpiW2FdPT09ITEsczpjfSk7cmV0dXJuITF9O2dvb2dsZS5ybGw9ZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoZSl7YyhlKTtCKGEsImxvYWQiLGQpO0IoYSwiZXJyb3IiLGQpfUEoYSwibG9hZCIsZCk7YiYmQShhLCJlcnJvciIsZCl9O3AuZ29vZ2xlLmFmdD1mdW5jdGlvbihhKXthLnNldEF0dHJpYnV0ZSgiZGF0YS1pbWwiLFN0cmluZyhEYXRlLm5vdygpKSl9O2dvb2dsZS5zdGFydFRpY2soImxvYWQiKTtnb29nbGUudGljaygibG9hZCIsImhzdCIpO3ZhciBLPWdvb2dsZS50aW1lcnMubG9hZDtpZighZ29vZ2xlLnN0dnNjfHxnb29nbGUuc3R2c2Muc3cpe3ZhciBMPUsudCxNPXdpbmRvdy5wZXJmb3JtYW5jZTtNJiYociYmdSYmdT5yJiZ1PD1MLnN0YXJ0PyhMLnN0YXJ0PXUsSy53c3J0PXUtcik6TS5ub3cmJihLLndzcnQ9TWF0aC5mbG9vcih0KCkpKSl9Z29vZ2xlLmMuYigieGUiLCJsb2FkIik7dmFyIE47aWYoKE49Z29vZ2xlLnN0dnNjKT09bnVsbD8wOk4uc3RhcnQpZ29vZ2xlLnRpbWVycy5sb2FkLnQuc3RhcnQ9Z29vZ2xlLnN0dnNjLnN0YXJ0O2Z1bmN0aW9uIE8oYSl7aWYoZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlPT09ImhpZGRlbiIpe2dvb2dsZS5jLmZoPWE7dmFyIGI7ciYmKGI9TWF0aC5mbG9vcihyK2EpKTtnb29nbGUudGljaygibG9hZCIsImZodCIsYik7cmV0dXJuITB9cmV0dXJuITF9CmZ1bmN0aW9uIFAoYSl7TyhhLnRpbWVTdGFtcCkmJkIoZG9jdW1lbnQsInZpc2liaWxpdHljaGFuZ2UiLFAsITApfWdvb2dsZS5jLmZoPUluZmluaXR5O0EoZG9jdW1lbnQsInZpc2liaWxpdHljaGFuZ2UiLFAsITApO08oMCk7dyYmKGdvb2dsZS5jLm9pbD1uYSxBKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwibG9hZCIsSiwhMCksQShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsImVycm9yIixKLCEwKSk7Z29vZ2xlLmN2PWZ1bmN0aW9uKGEsYixjLGQpe2lmKCFhfHwhYiYmZGEoYSkpcmV0dXJuIDA7aWYoIWEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KXJldHVybiAxO3ZhciBlPWZ1bmN0aW9uKGspe3JldHVybiBrLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpfTtyZXR1cm4hYiYmY2EoYSxkLGUpPzA6ZWEoYSxiLGMsZCxlKX07ZnVuY3Rpb24gUShhKXt0cnl7YSgpfWNhdGNoKGIpe2dvb2dsZS5tbChiLCExKX19ZnVuY3Rpb24gb2EoKXtpZihnb29nbGUuYWZ0cSE9PW51bGwpe2dvb2dsZS50aWNrKCJsb2FkIiwiYWZ0cWYiLERhdGUubm93KCkpO2Zvcih2YXIgYSxiPTAsYztjPShhPWdvb2dsZS5hZnRxKT09bnVsbD92b2lkIDA6YVtiKytdOylRKGMpO2dvb2dsZS5hZnRxPW51bGx9fWdvb2dsZS5jYWZ0PWZ1bmN0aW9uKGEpe2dvb2dsZS5hZnRxPT09bnVsbD9RKGEpOihnb29nbGUuYWZ0cT1nb29nbGUuYWZ0cXx8W10sZ29vZ2xlLmFmdHEucHVzaChhKSl9O2Z1bmN0aW9uIFIoKXtyZXR1cm4gd2luZG93LnBlcmZvcm1hbmNlJiZ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiYmd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZX07dmFyIHBhPXdpbmRvdy5sb2NhdGlvbixxYT0iYWZ0IGFmdGkgYWZ0ciBhZnRzIGNicyBjYnQgZmh0IGZydHMgZnJ2dCBoY3QgaHN0IHBydCBwcnMgc2N0Ii5zcGxpdCgiICIpO2Z1bmN0aW9uIFMoYSl7cmV0dXJuKGE9cGEuc2VhcmNoLm1hdGNoKG5ldyBSZWdFeHAoIls/Jl0iK2ErIj0oXFxkKykiKSkpP051bWJlcihhWzFdKTotMX0KZnVuY3Rpb24gVChhKXt2YXIgYj1nb29nbGUudGltZXJzLmxvYWQsYz1iLm07aWYoIWN8fCFjLnBycyl7Yz13aW5kb3cuX2NzYz09PSJhZ3NhIiYmd2luZG93Ll9jc2hpZDt2YXIgZD1SKCl8fGM/MDpTKCJxc3VidHMiKTtkPjAmJihjPVMoImZidHMiKSxjPjAmJihiLnQuc3RhcnQ9TWF0aC5tYXgoZCxjKSkpO3ZhciBlPWIudCxrPWUuc3RhcnQ7Yz17fTtiLndzcnQhPT12b2lkIDAmJihjLndzcnQ9Yi53c3J0KTtpZihrKWZvcih2YXIgbT0wLG47bj1xYVttKytdOyl7dmFyIGg9ZVtuXTtoJiYoY1tuXT1NYXRoLm1heChoLWssMCkpfWQ+MCYmKGMuZ3Nhc3J0PWIudC5zdGFydC1kKTtiPWIuZTthPSIvZ2VuXzIwND9zPSIrZ29vZ2xlLnNuKyImdD0iK2ErIiZhdHlwPWNzaSZlaT0iK2dvb2dsZS5rRUkrIiZydD0iO2Q9IiI7Zm9yKHZhciBmIGluIGMpYSs9IiIrZCtmKyIuIitjW2ZdLGQ9IiwiO2Zvcih2YXIgZyBpbiBiKWErPSImIitnKyI9IitiW2ddO2Y9YTtnPSIiO2E9W107cC5fY3NoaWQmJgphLnB1c2goWyJjc2hpZCIscC5fY3NoaWRdKTtiPXdpbmRvdy5nb29nbGUhPT12b2lkIDAmJndpbmRvdy5nb29nbGUua09QSSE9PXZvaWQgMCYmd2luZG93Lmdvb2dsZS5rT1BJIT09MD93aW5kb3cuZ29vZ2xlLmtPUEk6bnVsbDtiIT1udWxsJiZhLnB1c2goWyJvcGkiLGIudG9TdHJpbmcoKV0pO2ZvcihiPTA7YjxhLmxlbmd0aDtiKyspe2lmKGI9PT0wfHxiPjApZys9IiYiO2crPWFbYl1bMF0rIj0iK2FbYl1bMV19YT1mK2c7KGY9Z29vZ2xlLnN0dnNjKSYmKGErPSImc3NyPTEiKTtpZihmP2YuaXNCRjpSKCk9PT0yKWErPSImYmI9MSI7UigpPT09MSYmKGErPSImcj0xIik7ImdzYXNydCJpbiBjJiYoYz1TKCJxc2QiKSxjPjAmJihhKz0iJnFzZD0iK2MpKTtjPWE7dHlwZW9mIG5hdmlnYXRvci5zZW5kQmVhY29uPT09ImZ1bmN0aW9uIj9uYXZpZ2F0b3Iuc2VuZEJlYWNvbihjLCIiKTpnb29nbGUubG9nKCIiLCIiLGMpfX07ZnVuY3Rpb24gVShhKXthJiZnb29nbGUudGljaygibG9hZCIsImNicyIsYSk7Z29vZ2xlLnRpY2soImxvYWQiLCJjYnQiKTtUKCJjYXAiKX07dmFyIHNhPWZ1bmN0aW9uKGEpe3ZhciBiPXJhO2IuZz1hO2IuZyYmKGIuZygpLGIuZz1udWxsKX0scmE9bmV3IGZ1bmN0aW9uKCl7dGhpcy5nPW51bGx9O2Z1bmN0aW9uIFYoYSxiLGMpe2Z1bmN0aW9uIGQoKXtrfHxtIT09bnx8YyhmLGgsZyl9ZnVuY3Rpb24gZShsLHlhKXtsPU1hdGgubWF4KGYsbCk7ZiE9PWwmJihoPWYsZz15YSk7Zj1sOysrbjtkKCl9dmFyIGs9ITAsbT0wLG49MCxoPTAsZj0wLGc7SShmdW5jdGlvbihsKXthKGwpJiYoKyttLGwuaXx8bC5BP2UobC5pfHwwLGwuZyk6bC52LnB1c2goZSkpfSk7YigpO2s9ITE7ZCgpfTt2YXIgVz13aW5kb3cucGVyZm9ybWFuY2U7ZnVuY3Rpb24gdGEoKXtpZihnb29nbGUuYy5jNHQmJlcmJlcubWFyayYmVy50aW1pbmcpe3ZhciBhPWdvb2dsZS50aW1lcnMubG9hZCxiPWEud3NydDthPWEudC5hZnQ7YiYmYj4wJiZhJiZhPjAmJihhLT1XLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQsYT4wJiYoVy5tYXJrKCJTZWFyY2hBRlRTdGFydCIse3N0YXJ0VGltZTpifSksVy5tYXJrKCJ0cmlnZ2VyOlNlYXJjaEFGVEVuZCIse3N0YXJ0VGltZTphfSkpKX19O3ZhciB1YT0hMSxYPTAsWT0wLFo7ZnVuY3Rpb24gdmEoYSxiKXt2YXIgYz1nb29nbGUuYy53aCxkPSFiO2I9Yj9NYXRoLmZsb29yKGIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wK3dpbmRvdy5wYWdlWU9mZnNldCk6LTE7IVkmJihkfHxiPj1jKSYmKFk9YSxYPWIpO2lmKFkpe3ZhciBlPTAsaz0wLG09MCxuPSExO1YoZnVuY3Rpb24oaCl7aWYoIShFKGgpJjEpKXJldHVybiExO2lmKGguQSlyZXR1cm4rK20sIWguQjtFKGgpJjQmJihuPSEwKTtoLmomJisrazsrK2U7cmV0dXJuITB9LGZ1bmN0aW9uKCl7eigiaW1hIixlKTt6KCJpbWFkIixrKTt6KCJpbWFjIixtKTtkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJJYjdFZmMiKS5sZW5ndGgmJnooImRkbCIsMSk7eigid2giLGMpfSxmdW5jdGlvbihoLGYsZyl7aCYmeSgiYWZ0aSIsaCk7ZiYmeSgiYWZ0aXAiLGYpO1g+MCYmeSgiYWZ0cyIsWSk7aWYoZyl7dmFyIGw7Zj0oKGw9Zy5jbG9zZXN0KCJbZGF0YS12ZWRdIikpPT1udWxsP3ZvaWQgMDpsLmdldEF0dHJpYnV0ZSgiZGF0YS12ZWQiKSl8fAoiTkYiO3ooImFmdGllIixmKX1sPVk7Zj1YO2lmKDA+bHx8aWEmJmMmJlg8YyYmMD49YylmPWw9MDtoJiYoIWphfHxoPmx8fG4pJiYobD1oLGY9Yyk7eSgiYWZ0IixsKTt6KCJhZnQiLDEpO3ooImFmdHAiLGYpO3NhKGZ1bmN0aW9uKCl7WiYmY2xlYXJUaW1lb3V0KFopO1QoImFmdCIpfSk7dGEoKTtkb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0iaGlkZGVuIiYmeigiaGRkbiIsMSk7Z29vZ2xlLmMudSgiYWZ0Iik7b2EoKX0pfX07dmFyIHdhPSExO2Z1bmN0aW9uIHhhKGEpe2E9SChhKTt3JiZ2JiZFKGEpO3JldHVybiAwfTtnb29nbGUuYy53aD1NYXRoLmZsb29yKHdpbmRvdy5pbm5lckhlaWdodHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCk7Z29vZ2xlLmMuYigicHJ0Iik7dmFyIHphPWZhfHwwO2lmKHphPjApYTp7aWYociE9PXZvaWQgMCl7dmFyIEFhPXQoKSxCYT16YS1BYTtpZihCYT4wKXtaPXNldFRpbWVvdXQoVSxCYSxNYXRoLmZsb29yKHIrQWEpKTticmVhayBhfVUoKX1aPXZvaWQgMH1nb29nbGUuYy5tYWZ0PWZ1bmN0aW9uKGEsYil7d3x8SShmdW5jdGlvbigpe30pO3VhfHwoZ29vZ2xlLmMuYigiYWZ0IiksdWE9ITApO1l8fHZhKGEsYil9O2dvb2dsZS5jLm1pbWw9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihkKXt2YXIgZT1FKGQpO2QuZy5zZXRBdHRyaWJ1dGUoImRhdGEtYXRmIixTdHJpbmcoZSkpO3JldHVybiB4JiYhZC5CJiYoIWQubHx8ZC5GfHwhIShFKGQpJjEpKX1mdW5jdGlvbiBjKGQpe3gmJnkoImltbCIsZHx8YSk7Z29vZ2xlLmMudSgiaW1sIil9d2F8fChnb29nbGUuYy5iKCJpbWwiKSxmdW5jdGlvbigpe1YoYixmdW5jdGlvbigpe30sYyl9KDApLHdhPSEwKX07Z29vZ2xlLmMudWI9ZnVuY3Rpb24oKXt9O2lmKCF3fHx2KWdvb2dsZS5jLnNldHVwPXhhO30pLmNhbGwodGhpcyk7KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYigpe2Zvcih2YXIgYT1nb29nbGUuZHJjLnNoaWZ0KCk7YTspYSgpLGE9Z29vZ2xlLmRyYy5zaGlmdCgpfTtnb29nbGUuZHJjPVtmdW5jdGlvbigpe2dvb2dsZS50aWNrJiZnb29nbGUudGljaygibG9hZCIsImRjbCIpfV07Z29vZ2xlLmRjbGM9ZnVuY3Rpb24oYSl7Z29vZ2xlLmRyYy5sZW5ndGg/Z29vZ2xlLmRyYy5wdXNoKGEpOmEoKX07d2luZG93LmFkZEV2ZW50TGlzdGVuZXI/KGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLGIsITEpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixiLCExKSk6d2luZG93LmF0dGFjaEV2ZW50JiZ3aW5kb3cuYXR0YWNoRXZlbnQoIm9ubG9hZCIsYik7fSkuY2FsbCh0aGlzKTsoZnVuY3Rpb24oKXt2YXIgYj1bXTtnb29nbGUuanNjPXt4eDpiLHg6ZnVuY3Rpb24oYSl7Yi5wdXNoKGEpfSxtbTpbXSxtOmZ1bmN0aW9uKGEpe2dvb2dsZS5qc2MubW0ubGVuZ3RofHwoZ29vZ2xlLmpzYy5tbT1hKX19O30pLmNhbGwodGhpcyk7KGZ1bmN0aW9uKCl7dmFyIGU9ZnVuY3Rpb24oYil7dmFyIGE9MDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYTxiLmxlbmd0aD97ZG9uZTohMSx2YWx1ZTpiW2ErK119Ontkb25lOiEwfX19LGg9ZnVuY3Rpb24oYil7aWYoIShiIGluc3RhbmNlb2YgQXJyYXkpKXt2YXIgYT10eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIiYmU3ltYm9sLml0ZXJhdG9yJiZiW1N5bWJvbC5pdGVyYXRvcl07aWYoYSliPWEuY2FsbChiKTtlbHNlIGlmKHR5cGVvZiBiLmxlbmd0aD09Im51bWJlciIpYj17bmV4dDplKGIpfTtlbHNlIHRocm93IEVycm9yKCJhYCIrU3RyaW5nKGIpKTtmb3IodmFyIGM9W107IShhPWIubmV4dCgpKS5kb25lOyljLnB1c2goYS52YWx1ZSk7Yj1jfXJldHVybiBifTsKdmFyIGs9dGhpc3x8c2VsZjsKdmFyIGw9WyJmb2N1cyIsImJsdXIiLCJlcnJvciIsImxvYWQiLCJ0b2dnbGUiXTtoKCJjbGljayBkYmxjbGljayBmb2N1c2luIGZvY3Vzb3V0IGtleWRvd24ga2V5dXAga2V5cHJlc3MgbW91c2VvdmVyIG1vdXNlb3V0IHN1Ym1pdCB0b3VjaHN0YXJ0IHRvdWNoZW5kIHRvdWNobW92ZSB0b3VjaGNhbmNlbCBhdXhjbGljayBjaGFuZ2UgY29tcG9zaXRpb25zdGFydCBjb21wb3NpdGlvbnVwZGF0ZSBjb21wb3NpdGlvbmVuZCBiZWZvcmVpbnB1dCBpbnB1dCBzZWxlY3QgY29weSBjdXQgcGFzdGUgbW91c2Vkb3duIG1vdXNldXAgd2hlZWwgY29udGV4dG1lbnUgZHJhZ292ZXIgZHJhZ2VudGVyIGRyYWdsZWF2ZSBkcm9wIGRyYWdzdGFydCBkcmFnZW5kIHBvaW50ZXJkb3duIHBvaW50ZXJtb3ZlIHBvaW50ZXJ1cCBwb2ludGVyY2FuY2VsIHBvaW50ZXJvdmVyIHBvaW50ZXJvdXQgZ290cG9pbnRlcmNhcHR1cmUgbG9zdHBvaW50ZXJjYXB0dXJlIGVuZGVkIGxvYWRlZG1ldGFkYXRhIHBhZ2VoaWRlIHBhZ2VzaG93IHZpc2liaWxpdHljaGFuZ2UgYmVmb3JlbWF0Y2giLnNwbGl0KCIgIikpO2gobCk7dmFyIG49ZnVuY3Rpb24oKXt2YXIgYj1tO3RoaXMudj17fTt0aGlzLkE9e307dGhpcy5qPW51bGw7dGhpcy5nPVtdO3RoaXMuaT1ifTtuLnByb3RvdHlwZS5oYW5kbGVFdmVudD1mdW5jdGlvbihiLGEsYyl7cSh0aGlzLHtldmVudFR5cGU6YixldmVudDphLHRhcmdldEVsZW1lbnQ6YS50YXJnZXQsZWljOmMsdGltZVN0YW1wOkRhdGUubm93KCksZWlhOnZvaWQgMCxlaXJwOnZvaWQgMCxlaWFjazp2b2lkIDB9KX07dmFyIHE9ZnVuY3Rpb24oYixhKXtpZihiLmopYi5qKGEpO2Vsc2V7YS5laXJwPSEwO3ZhciBjOyhjPWIuZyk9PW51bGx8fGMucHVzaChhKX19LHI9ZnVuY3Rpb24oYixhKXtpZighKGEgaW4gYi52KSYmYi5pKXt2YXIgYz1mdW5jdGlvbihnLHAsTyl7Yi5oYW5kbGVFdmVudChnLHAsTyl9O2IudlthXT1jO3ZhciBkPWE9PT0ibW91c2VlbnRlciI/Im1vdXNlb3ZlciI6YT09PSJtb3VzZWxlYXZlIj8ibW91c2VvdXQiOmE9PT0icG9pbnRlcmVudGVyIj8icG9pbnRlcm92ZXIiOmE9PT0icG9pbnRlcmxlYXZlIj8icG9pbnRlcm91dCI6YTtpZihkIT09YSl7dmFyIGY9Yi5BW2RdfHxbXTtmLnB1c2goYSk7Yi5BW2RdPWZ9Yi5pLmFkZEV2ZW50TGlzdGVuZXIoZCxmdW5jdGlvbihnKXtyZXR1cm4gZnVuY3Rpb24ocCl7YyhhLHAsZyl9fSl9fTtuLnByb3RvdHlwZS5zPWZ1bmN0aW9uKGIpe3JldHVybiB0aGlzLnZbYl19O24ucHJvdG90eXBlLmw9ZnVuY3Rpb24oKXt0aGlzLmkubCgpO3RoaXMuaT1udWxsO3RoaXMudj17fTt0aGlzLkE9e307dGhpcy5qPW51bGw7dGhpcy5nPVtdfTtuLnByb3RvdHlwZS5lY3JkPWZ1bmN0aW9uKGIpe3RoaXMuaj1iO3ZhciBhO2lmKChhPXRoaXMuZyk9PW51bGw/MDphLmxlbmd0aCl7Zm9yKGI9MDtiPHRoaXMuZy5sZW5ndGg7YisrKXEodGhpcyx0aGlzLmdbYl0pO3RoaXMuZz1udWxsfX07dmFyIHQ9dHlwZW9mIG5hdmlnYXRvciE9PSJ1bmRlZmluZWQiJiYvaVBob25lfGlQYWR8aVBvZC8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSx2PWZ1bmN0aW9uKCl7dGhpcy5nPXU7dGhpcy5pPVtdfTt2LnByb3RvdHlwZS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGIsYSl7dCYmKHRoaXMuZy5zdHlsZS5jdXJzb3I9InBvaW50ZXIiKTt2YXIgYz10aGlzLmksZD1jLnB1c2gsZj10aGlzLmc7YT1hKHRoaXMuZyk7dmFyIGc9ITE7bC5pbmRleE9mKGIpPj0wJiYoZz0hMCk7Zi5hZGRFdmVudExpc3RlbmVyKGIsYSxnKTtkLmNhbGwoYyx7ZXZlbnRUeXBlOmIsczphLGNhcHR1cmU6Z30pfTt2LnByb3RvdHlwZS5sPWZ1bmN0aW9uKCl7Zm9yKHZhciBiPTA7Yjx0aGlzLmkubGVuZ3RoO2IrKyl7dmFyIGE9dGhpcy5nLGM9dGhpcy5pW2JdO2EucmVtb3ZlRXZlbnRMaXN0ZW5lcj9hLnJlbW92ZUV2ZW50TGlzdGVuZXIoYy5ldmVudFR5cGUsYy5zLGMuY2FwdHVyZSk6YS5kZXRhY2hFdmVudCYmYS5kZXRhY2hFdmVudCgib24iK2MuZXZlbnRUeXBlLGMucyl9dGhpcy5pPVtdfTt2YXIgdz1mdW5jdGlvbigpe3RoaXMuZz1bXTt0aGlzLmk9W107dGhpcy5qPVtdfTt3LnByb3RvdHlwZS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGIsYSl7Zm9yKHZhciBjPWZ1bmN0aW9uKGYpe2YuYWRkRXZlbnRMaXN0ZW5lcihiLGEpfSxkPTA7ZDx0aGlzLmcubGVuZ3RoO2QrKyljKHRoaXMuZ1tkXSk7dGhpcy5qLnB1c2goYyl9O3cucHJvdG90eXBlLmw9ZnVuY3Rpb24oKXtmb3IodmFyIGI9W10uY29uY2F0KGgodGhpcy5nKSxoKHRoaXMuaSkpLGE9MDthPGIubGVuZ3RoO2ErKyliW2FdLmwoKTt0aGlzLmc9W107dGhpcy5pPVtdO3RoaXMuaj1bXX07dmFyIHk9ZnVuY3Rpb24oYil7Zm9yKHZhciBhPXgsYz0wO2M8YS5qLmxlbmd0aDtjKyspYS5qW2NdKGIpfTtmdW5jdGlvbiB6KGIpe2Zvcih2YXIgYT1BLGM9MDtjPGEubGVuZ3RoOysrYylpZihCKGFbY10uZyxiLmcpKXJldHVybiEwO3JldHVybiExfQpmdW5jdGlvbiBCKGIsYSl7aWYoYj09PWEpcmV0dXJuITE7Zm9yKDtiIT09YSYmYS5wYXJlbnROb2RlOylhPWEucGFyZW50Tm9kZTtyZXR1cm4gYj09PWF9O3ZhciBtPW5ldyB3O2E6e2Zvcih2YXIgeD1tLHU9d2luZG93LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxDPTA7Qzx4LmcubGVuZ3RoO0MrKylpZih1PT09eC5nW0NdLmcpYnJlYWsgYTt2YXIgRD1uZXcgdixFO2I6e2Zvcih2YXIgRj0wO0Y8eC5nLmxlbmd0aDtGKyspaWYoQih4LmdbRl0uZyxELmcpKXtFPSEwO2JyZWFrIGJ9RT0hMX1pZihFKXguaS5wdXNoKEQpO2Vsc2V7eShEKTt4LmcucHVzaChEKTtmb3IodmFyIEE9W10uY29uY2F0KGgoeC5pKSxoKHguZykpLEc9W10sSD1bXSxJPTA7STx4LmcubGVuZ3RoOysrSSl7dmFyIEo9eC5nW0ldO3ooSik/KEcucHVzaChKKSxKLmwoKSk6SC5wdXNoKEopfWZvcih2YXIgSz0wO0s8eC5pLmxlbmd0aDsrK0spe3ZhciBMPXguaVtLXTt6KEwpP0cucHVzaChMKTooSC5wdXNoKEwpLHkoTCkpfXguZz1IO3guaT1HfX0KZm9yKHZhciBNPW5ldyBuLE49ImNsaWNrIGZvY3VzIGZvY3VzaW4gYmx1ciBmb2N1c291dCBlcnJvciBsb2FkIGF1eGNsaWNrIGNoYW5nZSBjb3B5IGRibGNsaWNrIGJlZm9yZWlucHV0IGlucHV0IGtleXVwIGtleWRvd24ga2V5cHJlc3MgbW91c2Vkb3duIG1vdXNlZW50ZXIgbW91c2VsZWF2ZSBtb3VzZW91dCBtb3VzZW92ZXIgbW91c2V1cCBwYXN0ZSBwb2ludGVyZW50ZXIgcG9pbnRlcmxlYXZlIHRvdWNoc3RhcnQgdG91Y2htb3ZlIHRvdWNoZW5kIHRvdWNoY2FuY2VsIHRyYW5zaXRpb25jYW5jZWwgdHJhbnNpdGlvbmVuZCB0cmFuc2l0aW9ucnVuIHRyYW5zaXRpb25zdGFydCBkcmFnb3ZlciBkcmFnZW50ZXIgZHJhZ2xlYXZlIGRyb3AgZHJhZ3N0YXJ0IGRyYWdlbmQgc3BlZWNoIi5zcGxpdCgiICIpLFA9MDtQPE4ubGVuZ3RoO1ArKylyKE0sTltQXSk7KGZ1bmN0aW9uKGIpe2dvb2dsZS5qc2FkPWZ1bmN0aW9uKGEpe2EoYil9fSkoTSk7dmFyIFE9ZnVuY3Rpb24oYil7cmV0dXJue3RyaWdnZXI6ZnVuY3Rpb24oYSl7dmFyIGM9Yi5zKGEudHlwZSk7Y3x8KHIoYixhLnR5cGUpLGM9Yi5zKGEudHlwZSkpO3ZhciBkPWEudGFyZ2V0fHxhLnNyY0VsZW1lbnQ7YyYmYyhhLnR5cGUsYSxkLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KX0sY29uZmlndXJlOmZ1bmN0aW9uKGEpe2EoYil9fX0oTSk7ay5nd3Nfd2l6YmluZD1ROyhmdW5jdGlvbihiLGEpe3ZhciBjPWZ1bmN0aW9uKGQpe3ZhciBmPWQuZGV0YWlsO2YmJmYuX3R5cGUmJmEoe3R5cGU6Zi5fdHlwZSx0YXJnZXQ6ZC50YXJnZXQsYnViYmxlczohMCxkZXRhaWw6Zn0pfTtiLmFkZEV2ZW50TGlzdGVuZXIoIl9jdXN0b20iLGMpO3JldHVybiBmdW5jdGlvbigpe2IucmVtb3ZlRXZlbnRMaXN0ZW5lcigiX2N1c3RvbSIsYyl9fSkod2luZG93LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxRLnRyaWdnZXIpO30pLmNhbGwodGhpcyk7PC9zY3JpcHQ+ICA8c2NyaXB0IG5vbmNlPSJhQTdWYS1iZWVoSUxzbDJoRmxQdC1nIj4oZnVuY3Rpb24oKXtnb29nbGUueGpzPXtiYXNlY29tYjonL3hqcy9fL2pzL2tceDNkeGpzLmhkLmVuLnpIQUx3blI4M3FFLk8vY2tceDNkeGpzLmhkLmhoa19OUmZ3Si1zLkwuQjEuTy9hbVx4M2RBRXdCQUFBQUFBQUFHQUFBQUFBQUFBQUFBQUFBQUFBQUNBQUFCQUFBQUFBQXBBQTBrQUNBQXNBR0JBQUFBRUFBZ0FCQWdDQUFnQ2dBQUJBQUhBQWdBZ29BSWdHQUFNU0NBRHpLQndDRUFNSUVDQkFCaWdBU0FBS0NLQ0lBQUVBQUFDQkN3SUJoQUFJVkFBd0NBQUFBZ0FBQ0FBQUFBMWhqQUFFQ0FQb0lBQkFBSUNJQUFBaWdBd1FBQkFBRmdFQlFBQmpBQUFFZ0FBRUFBQURvQVVCd0FBeFNFQUFBQUFBQUFBQUFBQUFBQ0VDQ1lDNGtvQ0NBQUFBQUFBQUFBQUFBQUFBQUFFaEpKeFkyL2RceDNkMS9lZFx4M2QxL2RnXHgzZDAvYnJceDNkMS91amdceDNkMS9yc1x4M2RBQ1Q5MG9HT1l1aFVsUkxiS29VZGpBWElVMTYzZUVNRmRnJyxiYXNlY3NzOicveGpzL18vc3Mva1x4M2R4anMuaGQuaGhrX05SZndKLXMuTC5CMS5PL2FtXHgzZEFFd0JBQUFBQUFBQUdBQUFBQUFBQUFBQUFBQUFBQUFBQ0FBQUJBQUFBQUFBb0FBZ2tBQ0FBTUFHQkFBQUFFQUFnQUFBQUFBQUFDZ0FBQUFBR0FBQUFBZ0FJQUdBQUlDQUFBQUFBd0NFQUFJQUNCQUJpZ0FTQUFLQ0tBSUFBRUFBQUNCQ3dJQmhBQUlWQUF3Q0FBQUFnQUFDQUFBQUFGZ2pBQUVDQVBvSUFCQUFJQ0lBQUFpZ0F3UUFCQUFFZ0FCQUFCakFBQUVBQUFBQUFBQ0FBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNBQUNBQW9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQi9iclx4M2QxL3JzXHgzZEFDVDkwb0Z2T1Qza2ktd2tieEplNko2RDh4ZHV5X1VJY2cnLGJhc2VqczonL3hqcy9fL2pzL2tceDNkeGpzLmhkLmVuLnpIQUx3blI4M3FFLk8vYW1ceDNkQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFoQUFVQUFDQUFnQUFBQUFBQUFBQUFBQkFnQ0FBZ0NnQUFCQUFIQUFnQWdJQUFnRUFBRVNDQUR6S0J3Q0FBTUFFQUJBQWdBQUFBQUlDQUNBQUFFQUFBQUJDQUFBQUFBQVVBQUFBQUFBQUFBQUFBQUFBQXdoQUFBQUFBQUFBQUFBQUFBSUFBQUNnQXdBQUFBQUJBRUFRQUJqQUFBRWdBQUVBQUFEb0FVQndBQXhTRUFBQUFBQUFBQUFBQUFBQUNFQ0NZQzRrb0NDQUFBQUFBQUFBQUFBQUFBQUFBRWhKSnhZMi9kZ1x4M2QwL2JyXHgzZDEvcnNceDNkQUNUOTBvSFl0TDMxWF9hYm9KVHAyTjFCbmVmdFV1cFdHZycsZXhjbTpbXX07fSkoKTs8L3NjcmlwdD4gPHNjcmlwdCBub25jZT0iYUE3VmEtYmVlaElMc2wyaEZsUHQtZyI+KGZ1bmN0aW9uKCl7dmFyIGY9InNyYyBocmVmIGFzeW5jIG5vbmNlIHR5cGUgY2hhcnNldCBjcm9zc29yaWdpbiBvbmxvYWQgcmVsIi5zcGxpdCgiICIpO3dpbmRvdy5fcnRmPWZ1bmN0aW9uKGIsYyl7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChiLnRhZ05hbWUpO2YuZm9yRWFjaChmdW5jdGlvbihlKXthW2VdPWJbZV19KTthLm9uZXJyb3I9ZnVuY3Rpb24oKXt3aW5kb3cuX3J0ZihhLGMpfTt2YXIgZD1iLmRhdGFzZXQucnRjPT09dm9pZCAwPzA6TnVtYmVyKGIuZGF0YXNldC5ydGMpO2Q+PTQ/YyYmYygpOihhLmRhdGFzZXQucnRjPVN0cmluZyhkKzEpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpfSw1MCpNYXRoLnBvdygyLGQpK01hdGgucmFuZG9tKCkqNTApKX07fSkuY2FsbCh0aGlzKTs8L3NjcmlwdD4gPGxpbmsgaHJlZj0iL3hqcy9fL3NzL2s9eGpzLmhkLmhoa19OUmZ3Si1zLkwuQjEuTy9hbT1BRXdCQUFBQUFBQUFHQUFBQUFBQUFBQUFBQUFBQUFBQUNBQUFCQUFBQUFBQW9BQWdrQUNBQU1BR0JBQUFBRUFBZ0FBQUFBQUFBQ2dBQUFBQUdBQUFBQWdBSUFHQUFJQ0FBQUFBQXdDRUFBSUFDQkFCaWdBU0FBS0NLQUlBQUVBQUFDQkN3SUJoQUFJVkFBd0NBQUFBZ0FBQ0FBQUFBRmdqQUFFQ0FQb0lBQkFBSUNJQUFBaWdBd1FBQkFBRWdBQkFBQmpBQUFFQUFBQUFBQUNBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDQUFDQUFvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUIvZD0xL2VkPTEvYnI9MS9ycz1BQ1Q5MG9Gdk9UM2tpLXdrYnhKZTZKNkQ4eGR1eV9VSWNnL209Y2Rvcyxoc20sanNhLG1iNFpVYixkLGNzaSxjRXQ5MGIsU05VbjMscWRkZ0tlLHNUc0RNYyxkdGwwaGQsZUhEZmwiIG9uZXJyb3I9Il9ydGYodGhpcykiIHJlbD0ic3R5bGVzaGVldCIgbm9uY2U9ImFBN1ZhLWJlZWhJTHNsMmhGbFB0LWciPiA8c2NyaXB0IG5vbmNlPSJhQTdWYS1iZWVoSUxzbDJoRmxQdC1nIj4oZnVuY3Rpb24oKXtnb29nbGUua0VYUEk9JzAsMjAyNzI3LDExMDEwNzUsMjM5NjQ0OCwxMTMxLDgsNTUyNzY4LDE1OTAyNSw4NTY0Niw4ODQwNSw1NDgyMSwxMDU2ODUsMzMxODUsNzkwMDIsNTgyOTIsMjIzMDksMjgzLDEzMjA5LDI4Nzc0LDE2NDIsNTIyNDIzNSwxODg4LDI4LDg0LDE2MjczNTE5LDE5MjM0Mjk1LDI2NjQ2NDUyLDc4LDIzODUwLDY5MDU5LDEyNDMzLDMwMTAsMzQ2NjUsMjg0MiwyMTk2OSwyNzMyLDI0NDEsOTU1MSwzNiwxMDA5LDE5OTI2LDMzMjAsMjY5MywzNzUsMzY3NCwxMDYzLDE0MjI1LDEyMyw2MzEsNDI1MiwxNTQ3LDE5MTQsMTE1MTMsOTE5LDI1MDQsODkzNSwxODMyLDQ5LDMxMDgsNDMwNCwyNTc4LDU1NjAsMzgsMjk0NSwxMyw1NTYsMjQsMTI3NCwxMTg4LDExNywzNSw5NSw4ODAsMTAyNSwxOTQxLDE0MjUsMzEzLDkzMCw3NSwyNjk0LDEyMzEsMjk4LDkyLDEzNDcsMTg0LDgzMSwyMzMsODMzLDEwMzEsMjQ3LDY3MTQsMTk2OCw0NDUsMTY5MywyMDE5LDUyNCw1MTEsMTg0Niw3NDUsMjQyMCwxNTEzLDYyMSwyODgsMjAxLDgzLDM0NywyMTUwLDc1NSw1NDgsNjIsNjk1LDE2MSwxNjMnO30pKCk7d2luZG93Ll8gPSB3aW5kb3cuXyB8fCB7fTt3aW5kb3cuX0R1bXBFeGNlcHRpb24gPSBfLl9EdW1wRXhjZXB0aW9uID0gZnVuY3Rpb24oZSl7dGhyb3cgZTt9O3dpbmRvdy5fcyA9IHdpbmRvdy5fcyB8fCB7fTtfcy5fRHVtcEV4Y2VwdGlvbiA9IF8uX0R1bXBFeGNlcHRpb247d2luZG93Ll9xcyA9IHdpbmRvdy5fcXMgfHwge307X3FzLl9EdW1wRXhjZXB0aW9uID0gXy5fRHVtcEV4Y2VwdGlvbjsoZnVuY3Rpb24oKXt2YXIgdD1bOTMxODQsMCw5ODMwNCwwLDAsMCwzMjc2OCwyNTYsNjAzOTc5Nzc2LDM3ODAyMjQyLDczODMzODgxNiw2NzEyNTUwNSwxNjM4NCwxMDA3Mjg4MzQsNDI0NjczNjIsMjcyNTEyLDUyNTU5OTAwLDc2MDI3MTE0LDc0NDQ5MTAwOCw4NDgyMzI0ODAsODgxNDU5OSw1Mzg5NzI5MzYsNTM3NDUyNTYxLDU0NTMyMDk5Niw1NzI3OTU0MzIsMjY0LDQzNjk5NTEwNiwzNTc0NjYxMzYsMzM3MDQ5NjAsMzYxNzU4NzIsMjM1OTMyOCw0MTY2NzgwOTYsMTMxMzI4LDkxOTIsMzU3ODI2NTcsNjcxMjE5NzEyLDIwMTMyNzYxOSwzNDA4NDM1MiwyNTE2NzEwOCwxMzQyMzQxNjAsMjU2LDQ5OTcxMiw1NDk0NTU2MjEsMTA0NCwwLDAsNjA0MDEyNTQ0LDE1MTc1NDc4NCw4Mzk2OTYwLDAsMCwwLDY1OTExMzk4NCw1NTM4OF07d2luZG93Ll9GX3RvZ2dsZXMgPSB3aW5kb3cuX3hqc190b2dnbGVzID0gdDt9KSgpO3dpbmRvdy5fRl9pbnN0YWxsQ3NzID0gd2luZG93Ll9GX2luc3RhbGxDc3MgfHwgZnVuY3Rpb24oY3NzKXt9OyhmdW5jdGlvbigpe3dpbmRvdy5nb29nbGUueGpzdT0nL3hqcy9fL2pzL2tceDNkeGpzLmhkLmVuLnpIQUx3blI4M3FFLk8vYW1ceDNkQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFoQUFVQUFDQUFnQUFBQUFBQUFBQUFBQkFnQ0FBZ0NnQUFCQUFIQUFnQWdJQUFnRUFBRVNDQUR6S0J3Q0FBTUFFQUJBQWdBQUFBQUlDQUNBQUFFQUFBQUJDQUFBQUFBQVVBQUFBQUFBQUFBQUFBQUFBQXdoQUFBQUFBQUFBQUFBQUFBSUFBQUNnQXdBQUFBQUJBRUFRQUJqQUFBRWdBQUVBQUFEb0FVQndBQXhTRUFBQUFBQUFBQUFBQUFBQUNFQ0NZQzRrb0NDQUFBQUFBQUFBQUFBQUFBQUFBRWhKSnhZMi9kXHgzZDEvZWRceDNkMS9kZ1x4M2QzL2JyXHgzZDEvcnNceDNkQUNUOTBvSFl0TDMxWF9hYm9KVHAyTjFCbmVmdFV1cFdHZy9lZVx4M2RBTGVKaWI6QjhnTHdkO0FmZWFQOlRrckFqZjtCTXhBR2M6RTViRnNlO0JnUzZtYjpmaWRqNWQ7Qmp3TWNlOmNYWDJXYjtDeFhBV2I6WXlSTHZjO0RNNTVjOmltTHJLZTtEVUxxQjpSS2ZHNWM7RGtrNmdlOndKcXJyZDtEcGNSM2Q6ekw3MnhmO0VBQlNaOk1YWnQ5ZDtFU3JQUWM6bU5USnZjO0VWTmhqZjpwdzcwR2M7RW1aMkJmOnpyMWpyYjtFbmxjTmQ6V2VIZzQ7RXJsNGZlOkZsb1dtZixGbG9XbWY7RjltcXRlOlVvUmNiZTtGbXY5TmM6TzFUendjO0cwS2hUYjpMSWFvWjtHNndVNmU6aGV6RWJkO0dsZVpMOkoxQTdPZDtITUREV2U6RzhRVWRiO0hvWVZLYjpQa0RON2U7SHFlWFBkOmNtYm5IO0lCQURDYzpSWXF1UmI7SVpyTnFlOlA4aGEyYztJb0dsQ2Y6YjVsaHZiO0lzZFdWYzpxenh6T2I7SlhTOGZiOlFqMHN1YztKYk1UMzpNMjVzUztKc2JOaGM6WGQ4aVVkO0tPeGNLOk9acUd0ZTtLUXpXaWQ6Wk1La047S2Nva1ViOktpdVpCZjtLcFJBdWU6VGlhNTdiO0xCZ1JMYzpTZGN3SGIsWFZNTnZkO0xFaWtaZTpieWZUT2IsbHNqVm1jO0xYQThiOnE3T2RLZDtMc05haGI6dWNHTE5iO01lMzJkZDpNRWVZZ2M7TlBLYUs6U2Rjd0hiO05TRW9YOmxhekc3YjtOcDhRa2Q6RHB4NnFjO055dDZpYzpqbjJzR2Q7T2dhZ0JlOmNOVGUwO09qNDY1ZTpLRzJlWGUsS0cyZVhlO09vaElZZTptcEVBUWI7UGpwbHVkOkVFRE9SYixQb0VzOWI7UTFPdzdiOng1Q1N1O1E2QzVrZjpwZmRaQ2U7UUdSMGdkOk1saG15O1Iya2M4YjpBTEpxV2I7UjRJSUliOlFXZmVLZjtSOVVseDpDUjdVZmU7UkROQmxmOnpQUkNKYjtTTHRxTzpLaDF4WWU7U01ETDRjOmZUZkdPLGZUZkdPO1NOVW4zOlp3RGs5ZCx4OGNIdmI7U2hwRjZlOk4wcHZHYztTelFRM2U6ZE5ob2ZiO1R4ZlY2ZDpZT1JOMGI7VTk2cFJkOkZzUjA0O1VCS0paOkxHREpHYjtVRHJZMWM6ZXBzNDZkO1VWbWpFZDpFZXNSc2I7VXlHN0tiOndRZDBHO1YySFRUZTpSb2xUWTtWR1JmeDpWRnFicjtWTjZqSWM6ZGRReXVmO1ZPY2dEZTpZcXVoVGI7VnNBcVNiOlBHZjJSZTtWeFEzMmI6azBYc0JiO1dDRUtOZDpJNDZIdmQ7V0RHeUZlOmpjVk94ZDtXZm1kdWU6ZzNNSmxiO1hVZXpaOnNhN2xxYjtZVjViZWU6SXZQWjZkO1lrUXRBZjpyeDh1cjtaTXZkdjpQSEZQamI7WlNINnRjOlFBdnlMZTtaV0VVQTphZlI0Q2Y7YTU2cE5lOkpFZkN3YjthQUpFOWM6V0hXNkVmO2FDSjl0ZjpxS2Z0dmM7YVo2MW9kOmFyVHdKO2FmMEVKZjpnaGluSWQ7YkRYd1JlOlVzeU90YztiY1BYU2M6Z1NaTEpiO2NFdDkwYjp3czlUbGM7Y0ZUV2FlOmdUOHFuZDtjb0o4ZTpLdm9XODtkSW9TQmI6WmdHZzliO2RMbGoyOlFxdDNHZjtkYUI2YmU6bE14R1BkO2R0bDBoZDpsTFFXRmU7ZUJBZVNiOkNrNjN0YjtlQlo1TmQ6VnJ1REJkO2VIRGZsOm9malZrYjtlTzNsc2U6bkZDbHJmO2V1T1hZOk9aamJRO2c4bmt4OlU0TXpLYztnYXViNDpUTjZiTWU7Z3RWU2k6ZWtVT1lkO2gzTVlvZDpjRXQ5MGI7aEs2N3FiOlFXRU81YjtoZUhCMTpzRmN6cTtoalJvNmU6RjYyc0c7aHNMc1ljOlZsMTE4O2lGUXlLZjpRSWhGcix2ZnVOSmY7aW1xaW1mOmpLR0wyZTtpbzh0NWQ6c2dZNlpiO2pZMHpnOlE2dE5nYztrMlF4Y2I6WFk1MXBlO2tDUXlKOnVleVBLO2tNRnBIZDpPVEEzQWU7a2JBbTlkOk1rSHlHZDtsa3EwQTpKeUJFM2U7bkFGTDM6TlRNWmFjLHMzOVM0O25KdzRHZDpkUEZaSDtvR3RBdWM6c09YRmo7b1NVTnlkOmZUZkdPLGZUZkdPO29VbG5wYzpSYWdEbGM7b2tVYVVkOndJdGFkYjtwS0ppWGQ6VkNlbmhjO3BOc2wyZDpqOVl1eWM7cFhkUlliOkpLb0tWZTtwajgybGU6bWc1Q1c7cVp4MkZjOmoweHJFO3FhUzNnZDp5aUxnNmU7cWF2clhlOnpRemNYZTtxZGRnS2U6ZDdZU2ZkLHg0RllYZTtyUVNyYWU6QzZENUZjO3NQNFZiZTpWd0R6RmU7c1RzRE1jOmtIVlNVYjtzWm1kdmM6cmRHRWZjO3RINElJZTpZbXJ5Njt0b3NLdmQ6WkNxUDM7dHJaTDBiOnFZOFBGZTt1WTQ5ZmI6Q09RYm1mO3V1UWtZOnUyVjN1ZDt2R3JNWjpsUEpKMGM7dmZWd1BkOmxjcmt3ZTt3M2JaQ2I6WlBHYUliO3c0clNkZjpYS2laOTt3OXc4NmQ6ZHQ0ZzJiO3dRbFl2ZTphTFVmUDt3UjVGUmI6TzFHanplLFR0Y090ZTt3VjVQamM6TDhLR3hlO3doRVphYzpGNEFtTmI7eEJic3JjOk5FVzFRYzt5c05pTWM6Q3BJQmpkO3l4VGNoZjpLVU03Wjt6OTdZR2Y6b3VnOXRlO3pPc0NRZTpLbzc4RGY7emFJZ1BiOlF0cHhiZC9tXHgzZGNkb3MsaHNtLGpzYSxtYjRaVWIsZCxjc2ksY0V0OTBiLFNOVW4zLHFkZGdLZSxzVHNETWMsZHRsMGhkLGVIRGZsJzt3aW5kb3cuX0ZfanNVcmw9Jy94anMvXy9qcy9rXHgzZHhqcy5oZC5lbi56SEFMd25SODNxRS5PL2FtXHgzZEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBaEFBVUFBQ0FBZ0FBQUFBQUFBQUFBQUJBZ0NBQWdDZ0FBQkFBSEFBZ0FnSUFBZ0VBQUVTQ0FEektCd0NBQU1BRUFCQUFnQUFBQUFJQ0FDQUFBRUFBQUFCQ0FBQUFBQUFVQUFBQUFBQUFBQUFBQUFBQUF3aEFBQUFBQUFBQUFBQUFBQUlBQUFDZ0F3QUFBQUFCQUVBUUFCakFBQUVnQUFFQUFBRG9BVUJ3QUF4U0VBQUFBQUFBQUFBQUFBQUFDRUNDWUM0a29DQ0FBQUFBQUFBQUFBQUFBQUFBQUVoSkp4WTIvZFx4M2QxL2VkXHgzZDEvZGdceDNkMy9iclx4M2QxL3JzXHgzZEFDVDkwb0hZdEwzMVhfYWJvSlRwMk4xQm5lZnRVdXBXR2cvZWVceDNkQUxlSmliOkI4Z0x3ZDtBZmVhUDpUa3JBamY7Qk14QUdjOkU1YkZzZTtCZ1M2bWI6ZmlkajVkO0Jqd01jZTpjWFgyV2I7Q3hYQVdiOll5Ukx2YztETTU1YzppbUxyS2U7RFVMcUI6UktmRzVjO0RrazZnZTp3SnFycmQ7RHBjUjNkOnpMNzJ4ZjtFQUJTWjpNWFp0OWQ7RVNyUFFjOm1OVEp2YztFVk5oamY6cHc3MEdjO0VtWjJCZjp6cjFqcmI7RW5sY05kOldlSGc0O0VybDRmZTpGbG9XbWYsRmxvV21mO0Y5bXF0ZTpVb1JjYmU7Rm12OU5jOk8xVHp3YztHMEtoVGI6TElhb1o7RzZ3VTZlOmhlekViZDtHbGVaTDpKMUE3T2Q7SE1ERFdlOkc4UVVkYjtIb1lWS2I6UGtETjdlO0hxZVhQZDpjbWJuSDtJQkFEQ2M6UllxdVJiO0lack5xZTpQOGhhMmM7SW9HbENmOmI1bGh2YjtJc2RXVmM6cXp4ek9iO0pYUzhmYjpRajBzdWM7SmJNVDM6TTI1c1M7SnNiTmhjOlhkOGlVZDtLT3hjSzpPWnFHdGU7S1F6V2lkOlpNS2tOO0tjb2tVYjpLaXVaQmY7S3BSQXVlOlRpYTU3YjtMQmdSTGM6U2Rjd0hiLFhWTU52ZDtMRWlrWmU6YnlmVE9iLGxzalZtYztMWEE4YjpxN09kS2Q7THNOYWhiOnVjR0xOYjtNZTMyZGQ6TUVlWWdjO05QS2FLOlNkY3dIYjtOU0VvWDpsYXpHN2I7TnA4UWtkOkRweDZxYztOeXQ2aWM6am4yc0dkO09nYWdCZTpjTlRlMDtPajQ2NWU6S0cyZVhlLEtHMmVYZTtPb2hJWWU6bXBFQVFiO1BqcGx1ZDpFRURPUmIsUG9FczliO1ExT3c3Yjp4NUNTdTtRNkM1a2Y6cGZkWkNlO1FHUjBnZDpNbGhteTtSMmtjOGI6QUxKcVdiO1I0SUlJYjpRV2ZlS2Y7UjlVbHg6Q1I3VWZlO1JETkJsZjp6UFJDSmI7U0x0cU86S2gxeFllO1NNREw0YzpmVGZHTyxmVGZHTztTTlVuMzpad0RrOWQseDhjSHZiO1NocEY2ZTpOMHB2R2M7U3pRUTNlOmROaG9mYjtUeGZWNmQ6WU9STjBiO1U5NnBSZDpGc1IwNDtVQktKWjpMR0RKR2I7VURyWTFjOmVwczQ2ZDtVVm1qRWQ6RWVzUnNiO1V5RzdLYjp3UWQwRztWMkhUVGU6Um9sVFk7VkdSZng6VkZxYnI7Vk42akljOmRkUXl1ZjtWT2NnRGU6WXF1aFRiO1ZzQXFTYjpQR2YyUmU7VnhRMzJiOmswWHNCYjtXQ0VLTmQ6STQ2SHZkO1dER3lGZTpqY1ZPeGQ7V2ZtZHVlOmczTUpsYjtYVWV6WjpzYTdscWI7WVY1YmVlOkl2UFo2ZDtZa1F0QWY6cng4dXI7Wk12ZHY6UEhGUGpiO1pTSDZ0YzpRQXZ5TGU7WldFVUE6YWZSNENmO2E1NnBOZTpKRWZDd2I7YUFKRTljOldIVzZFZjthQ0o5dGY6cUtmdHZjO2FaNjFvZDphclR3SjthZjBFSmY6Z2hpbklkO2JEWHdSZTpVc3lPdGM7YmNQWFNjOmdTWkxKYjtjRXQ5MGI6d3M5VGxjO2NGVFdhZTpnVDhxbmQ7Y29KOGU6S3ZvVzg7ZElvU0JiOlpnR2c5YjtkTGxqMjpRcXQzR2Y7ZGFCNmJlOmxNeEdQZDtkdGwwaGQ6bExRV0ZlO2VCQWVTYjpDazYzdGI7ZUJaNU5kOlZydURCZDtlSERmbDpvZmpWa2I7ZU8zbHNlOm5GQ2xyZjtldU9YWTpPWmpiUTtnOG5reDpVNE16S2M7Z2F1YjQ6VE42Yk1lO2d0VlNpOmVrVU9ZZDtoM01Zb2Q6Y0V0OTBiO2hLNjdxYjpRV0VPNWI7aGVIQjE6c0ZjenE7aGpSbzZlOkY2MnNHO2hzTHNZYzpWbDExODtpRlF5S2Y6UUloRnIsdmZ1TkpmO2ltcWltZjpqS0dMMmU7aW84dDVkOnNnWTZaYjtqWTB6ZzpRNnROZ2M7azJReGNiOlhZNTFwZTtrQ1F5Sjp1ZXlQSztrTUZwSGQ6T1RBM0FlO2tiQW05ZDpNa0h5R2Q7bGtxMEE6SnlCRTNlO25BRkwzOk5UTVphYyxzMzlTNDtuSnc0R2Q6ZFBGWkg7b0d0QXVjOnNPWEZqO29TVU55ZDpmVGZHTyxmVGZHTztvVWxucGM6UmFnRGxjO29rVWFVZDp3SXRhZGI7cEtKaVhkOlZDZW5oYztwTnNsMmQ6ajlZdXljO3BYZFJZYjpKS29LVmU7cGo4MmxlOm1nNUNXO3FaeDJGYzpqMHhyRTtxYVMzZ2Q6eWlMZzZlO3FhdnJYZTp6UXpjWGU7cWRkZ0tlOmQ3WVNmZCx4NEZZWGU7clFTcmFlOkM2RDVGYztzUDRWYmU6VndEekZlO3NUc0RNYzprSFZTVWI7c1ptZHZjOnJkR0VmYzt0SDRJSWU6WW1yeTY7dG9zS3ZkOlpDcVAzO3RyWkwwYjpxWThQRmU7dVk0OWZiOkNPUWJtZjt1dVFrWTp1MlYzdWQ7dkdyTVo6bFBKSjBjO3ZmVndQZDpsY3Jrd2U7dzNiWkNiOlpQR2FJYjt3NHJTZGY6WEtpWjk7dzl3ODZkOmR0NGcyYjt3UWxZdmU6YUxVZlA7d1I1RlJiOk8xR2p6ZSxUdGNPdGU7d1Y1UGpjOkw4S0d4ZTt3aEVaYWM6RjRBbU5iO3hCYnNyYzpORVcxUWM7eXNOaU1jOkNwSUJqZDt5eFRjaGY6S1VNN1o7ejk3WUdmOm91Zzl0ZTt6T3NDUWU6S283OERmO3phSWdQYjpRdHB4YmQvbVx4M2RjZG9zLGhzbSxqc2EsbWI0WlViLGQsY3NpLGNFdDkwYixTTlVuMyxxZGRnS2Usc1RzRE1jLGR0bDBoZCxlSERmbCc7fSkoKTs8L3NjcmlwdD4gPHNjcmlwdCBkZWZlcj0iIiBzcmM9Ii94anMvXy9qcy9rPXhqcy5oZC5lbi56SEFMd25SODNxRS5PL2FtPUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBaEFBVUFBQ0FBZ0FBQUFBQUFBQUFBQUJBZ0NBQWdDZ0FBQkFBSEFBZ0FnSUFBZ0VBQUVTQ0FEektCd0NBQU1BRUFCQUFnQUFBQUFJQ0FDQUFBRUFBQUFCQ0FBQUFBQUFVQUFBQUFBQUFBQUFBQUFBQUF3aEFBQUFBQUFBQUFBQUFBQUlBQUFDZ0F3QUFBQUFCQUVBUUFCakFBQUVnQUFFQUFBRG9BVUJ3QUF4U0VBQUFBQUFBQUFBQUFBQUFDRUNDWUM0a29DQ0FBQUFBQUFBQUFBQUFBQUFBQUVoSkp4WTIvZD0xL2VkPTEvZGc9My9icj0xL3JzPUFDVDkwb0hZdEwzMVhfYWJvSlRwMk4xQm5lZnRVdXBXR2cvZWU9QUxlSmliOkI4Z0x3ZDtBZmVhUDpUa3JBamY7Qk14QUdjOkU1YkZzZTtCZ1M2bWI6ZmlkajVkO0Jqd01jZTpjWFgyV2I7Q3hYQVdiOll5Ukx2YztETTU1YzppbUxyS2U7RFVMcUI6UktmRzVjO0RrazZnZTp3SnFycmQ7RHBjUjNkOnpMNzJ4ZjtFQUJTWjpNWFp0OWQ7RVNyUFFjOm1OVEp2YztFVk5oamY6cHc3MEdjO0VtWjJCZjp6cjFqcmI7RW5sY05kOldlSGc0O0VybDRmZTpGbG9XbWYsRmxvV21mO0Y5bXF0ZTpVb1JjYmU7Rm12OU5jOk8xVHp3YztHMEtoVGI6TElhb1o7RzZ3VTZlOmhlekViZDtHbGVaTDpKMUE3T2Q7SE1ERFdlOkc4UVVkYjtIb1lWS2I6UGtETjdlO0hxZVhQZDpjbWJuSDtJQkFEQ2M6UllxdVJiO0lack5xZTpQOGhhMmM7SW9HbENmOmI1bGh2YjtJc2RXVmM6cXp4ek9iO0pYUzhmYjpRajBzdWM7SmJNVDM6TTI1c1M7SnNiTmhjOlhkOGlVZDtLT3hjSzpPWnFHdGU7S1F6V2lkOlpNS2tOO0tjb2tVYjpLaXVaQmY7S3BSQXVlOlRpYTU3YjtMQmdSTGM6U2Rjd0hiLFhWTU52ZDtMRWlrWmU6YnlmVE9iLGxzalZtYztMWEE4YjpxN09kS2Q7THNOYWhiOnVjR0xOYjtNZTMyZGQ6TUVlWWdjO05QS2FLOlNkY3dIYjtOU0VvWDpsYXpHN2I7TnA4UWtkOkRweDZxYztOeXQ2aWM6am4yc0dkO09nYWdCZTpjTlRlMDtPajQ2NWU6S0cyZVhlLEtHMmVYZTtPb2hJWWU6bXBFQVFiO1BqcGx1ZDpFRURPUmIsUG9FczliO1ExT3c3Yjp4NUNTdTtRNkM1a2Y6cGZkWkNlO1FHUjBnZDpNbGhteTtSMmtjOGI6QUxKcVdiO1I0SUlJYjpRV2ZlS2Y7UjlVbHg6Q1I3VWZlO1JETkJsZjp6UFJDSmI7U0x0cU86S2gxeFllO1NNREw0YzpmVGZHTyxmVGZHTztTTlVuMzpad0RrOWQseDhjSHZiO1NocEY2ZTpOMHB2R2M7U3pRUTNlOmROaG9mYjtUeGZWNmQ6WU9STjBiO1U5NnBSZDpGc1IwNDtVQktKWjpMR0RKR2I7VURyWTFjOmVwczQ2ZDtVVm1qRWQ6RWVzUnNiO1V5RzdLYjp3UWQwRztWMkhUVGU6Um9sVFk7VkdSZng6VkZxYnI7Vk42akljOmRkUXl1ZjtWT2NnRGU6WXF1aFRiO1ZzQXFTYjpQR2YyUmU7VnhRMzJiOmswWHNCYjtXQ0VLTmQ6STQ2SHZkO1dER3lGZTpqY1ZPeGQ7V2ZtZHVlOmczTUpsYjtYVWV6WjpzYTdscWI7WVY1YmVlOkl2UFo2ZDtZa1F0QWY6cng4dXI7Wk12ZHY6UEhGUGpiO1pTSDZ0YzpRQXZ5TGU7WldFVUE6YWZSNENmO2E1NnBOZTpKRWZDd2I7YUFKRTljOldIVzZFZjthQ0o5dGY6cUtmdHZjO2FaNjFvZDphclR3SjthZjBFSmY6Z2hpbklkO2JEWHdSZTpVc3lPdGM7YmNQWFNjOmdTWkxKYjtjRXQ5MGI6d3M5VGxjO2NGVFdhZTpnVDhxbmQ7Y29KOGU6S3ZvVzg7ZElvU0JiOlpnR2c5YjtkTGxqMjpRcXQzR2Y7ZGFCNmJlOmxNeEdQZDtkdGwwaGQ6bExRV0ZlO2VCQWVTYjpDazYzdGI7ZUJaNU5kOlZydURCZDtlSERmbDpvZmpWa2I7ZU8zbHNlOm5GQ2xyZjtldU9YWTpPWmpiUTtnOG5reDpVNE16S2M7Z2F1YjQ6VE42Yk1lO2d0VlNpOmVrVU9ZZDtoM01Zb2Q6Y0V0OTBiO2hLNjdxYjpRV0VPNWI7aGVIQjE6c0ZjenE7aGpSbzZlOkY2MnNHO2hzTHNZYzpWbDExODtpRlF5S2Y6UUloRnIsdmZ1TkpmO2ltcWltZjpqS0dMMmU7aW84dDVkOnNnWTZaYjtqWTB6ZzpRNnROZ2M7azJReGNiOlhZNTFwZTtrQ1F5Sjp1ZXlQSztrTUZwSGQ6T1RBM0FlO2tiQW05ZDpNa0h5R2Q7bGtxMEE6SnlCRTNlO25BRkwzOk5UTVphYyxzMzlTNDtuSnc0R2Q6ZFBGWkg7b0d0QXVjOnNPWEZqO29TVU55ZDpmVGZHTyxmVGZHTztvVWxucGM6UmFnRGxjO29rVWFVZDp3SXRhZGI7cEtKaVhkOlZDZW5oYztwTnNsMmQ6ajlZdXljO3BYZFJZYjpKS29LVmU7cGo4MmxlOm1nNUNXO3FaeDJGYzpqMHhyRTtxYVMzZ2Q6eWlMZzZlO3FhdnJYZTp6UXpjWGU7cWRkZ0tlOmQ3WVNmZCx4NEZZWGU7clFTcmFlOkM2RDVGYztzUDRWYmU6VndEekZlO3NUc0RNYzprSFZTVWI7c1ptZHZjOnJkR0VmYzt0SDRJSWU6WW1yeTY7dG9zS3ZkOlpDcVAzO3RyWkwwYjpxWThQRmU7dVk0OWZiOkNPUWJtZjt1dVFrWTp1MlYzdWQ7dkdyTVo6bFBKSjBjO3ZmVndQZDpsY3Jrd2U7dzNiWkNiOlpQR2FJYjt3NHJTZGY6WEtpWjk7dzl3ODZkOmR0NGcyYjt3UWxZdmU6YUxVZlA7d1I1RlJiOk8xR2p6ZSxUdGNPdGU7d1Y1UGpjOkw4S0d4ZTt3aEVaYWM6RjRBbU5iO3hCYnNyYzpORVcxUWM7eXNOaU1jOkNwSUJqZDt5eFRjaGY6S1VNN1o7ejk3WUdmOm91Zzl0ZTt6T3NDUWU6S283OERmO3phSWdQYjpRdHB4YmQvbT1jZG9zLGhzbSxqc2EsbWI0WlViLGQsY3NpLGNFdDkwYixTTlVuMyxxZGRnS2Usc1RzRE1jLGR0bDBoZCxlSERmbCIgbm9uY2U9ImFBN1ZhLWJlZWhJTHNsMmhGbFB0LWciPjwvc2NyaXB0PiAgICAgICAgPHNjcmlwdCBub25jZT0iYUE3VmEtYmVlaElMc2wyaEZsUHQtZyI+KGZ1bmN0aW9uKCl7d2luZG93Lmdvb2dsZS5lcmQ9e2pzcjoxLGJ2OjIwNTEsc2Q6dHJ1ZSxkZTp0cnVlfTt9KSgpOyhmdW5jdGlvbigpe3ZhciBzZG89ZmFsc2U7dmFyIG1laT0xMDsKdmFyIGc9dGhpc3x8c2VsZjt2YXIgayxsPShrPWcubWVpKSE9bnVsbD9rOjEsbixwPShuPWcuc2RvKSE9bnVsbD9uOiEwLHE9MCxyLHQ9Z29vZ2xlLmVyZCx2PXQuanNyO2dvb2dsZS5tbD1mdW5jdGlvbihhLGIsZCxtLGUpe2U9ZT09PXZvaWQgMD8yOmU7YiYmKHI9YSYmYS5tZXNzYWdlKTtkPT09dm9pZCAwJiYoZD17fSk7ZC5jYWQ9InBsZV8iK2dvb2dsZS5wbGUrIi5hcGxlXyIrZ29vZ2xlLmFwbGU7aWYoZ29vZ2xlLmRsKXJldHVybiBnb29nbGUuZGwoYSxlLGQsITApLG51bGw7Yj1kO2lmKHY8MCl7d2luZG93LmNvbnNvbGUmJmNvbnNvbGUuZXJyb3IoYSxiKTtpZih2PT09LTIpdGhyb3cgYTtiPSExfWVsc2UgYj0hYXx8IWEubWVzc2FnZXx8YS5tZXNzYWdlPT09IkVycm9yIGxvYWRpbmcgc2NyaXB0Inx8cT49bCYmIW0/ITE6ITA7aWYoIWIpcmV0dXJuIG51bGw7cSsrO2Q9ZHx8e307Yj1lbmNvZGVVUklDb21wb25lbnQ7dmFyIGM9Ii9nZW5fMjA0P2F0eXA9aSZlaT0iK2IoZ29vZ2xlLmtFSSk7Z29vZ2xlLmtFWFBJJiYoYys9IiZqZXhwaWQ9IitiKGdvb2dsZS5rRVhQSSkpO2MrPSImc3JjcGc9IitiKGdvb2dsZS5zbikrIiZqc3I9IitiKHQuanNyKSsKIiZidmVyPSIrYih0LmJ2KTt0LmRwZiYmKGMrPSImZHBmPSIrYih0LmRwZikpO3ZhciBmPWEubGluZU51bWJlcjtmIT09dm9pZCAwJiYoYys9IiZsaW5lPSIrZik7dmFyIGg9YS5maWxlTmFtZTtoJiYoaC5pbmRleE9mKCItZXh0ZW5zaW9uOi8iKT4wJiYoZT0zKSxjKz0iJnNjcmlwdD0iK2IoaCksZiYmaD09PXdpbmRvdy5sb2NhdGlvbi5ocmVmJiYoZj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQub3V0ZXJIVE1MLnNwbGl0KCJcbiIpW2ZdLGMrPSImY2FkPSIrYihmP2Yuc3Vic3RyaW5nKDAsMzAwKToiTm8gc2NyaXB0IGZvdW5kLiIpKSk7Z29vZ2xlLnBsZSYmZ29vZ2xlLnBsZT09PTEmJihlPTIpO2MrPSImanNlbD0iK2U7Zm9yKHZhciB1IGluIGQpYys9IiYiLGMrPWIodSksYys9Ij0iLGMrPWIoZFt1XSk7Yz1jKyImZW1zZz0iK2IoYS5uYW1lKyI6ICIrYS5tZXNzYWdlKTtjPWMrIiZqc3N0PSIrYihhLnN0YWNrfHwiTi9BIik7Yy5sZW5ndGg+PTEyMjg4JiYoYz1jLnN1YnN0cigwLDEyMjg4KSk7YT1jO218fGdvb2dsZS5sb2coMCwiIixhKTtyZXR1cm4gYX07d2luZG93Lm9uZXJyb3I9ZnVuY3Rpb24oYSxiLGQsbSxlKXtyIT09YSYmKGE9ZSBpbnN0YW5jZW9mIEVycm9yP2U6RXJyb3IoYSksZD09PXZvaWQgMHx8ImxpbmVOdW1iZXIiaW4gYXx8KGEubGluZU51bWJlcj1kKSxiPT09dm9pZCAwfHwiZmlsZU5hbWUiaW4gYXx8KGEuZmlsZU5hbWU9YiksZ29vZ2xlLm1sKGEsITEsdm9pZCAwLCExLGEubmFtZT09PSJTeW50YXhFcnJvciJ8fGEubWVzc2FnZS5zdWJzdHJpbmcoMCwxMSk9PT0iU3ludGF4RXJyb3IifHxhLm1lc3NhZ2UuaW5kZXhPZigiU2NyaXB0IGVycm9yIikhPT0tMT8zOjApKTtyPW51bGw7cCYmcT49bCYmKHdpbmRvdy5vbmVycm9yPW51bGwpfTt9KSgpOzt0aGlzLmdiYXJfPXtDT05GSUc6W1tbMCwid3d3LmdzdGF0aWMuY29tIiwib2cucXRtLmVuX1VTLkZ0bFZkeG1Ea1cwLjIwMTkuTyIsImx1IiwiZGUiLCI1MzgiLDAsWzQsMiwiIiwiIiwiIiwiNjU3MDI3NTgzIiwiMCJdLG51bGwsImg0Q3JacGJCRFBlT2ktZ1A2SlM1a0FNIixudWxsLDAsIm9nLnF0bS50TWNNQzVJVG9BWS5MLlcuTyIsIkFBMllyVHYtTTVsNlBkTlFYOElsUWpUSkc4T2pvcV9MZkEiLCJBQTJZclR0dTY4d1U4clFTRXUxekxvVFlfQk9CUVhpYkFnIiwiIiwyLDEsMjAwLCJMVVgiLG51bGwsbnVsbCwiMSIsIjUzOCIsMSxudWxsLG51bGwsODk5Nzg0NDksMV0sbnVsbCxbMSwwLjEwMDAwMDAwMTQ5MDExNjEsMiwxXSxudWxsLFswLDAsMCxudWxsLCIiLCIiLCIiLCIiLDAsMCwwLCIiXSxbMCwwLCIiLDEsMCwwLDAsMCwwLDAsbnVsbCwwLDAsbnVsbCwwLDAsbnVsbCxudWxsLDAsMCwwLCIiLCIiLCIiLCIiLCIiLCIiLG51bGwsMCwwLDAsMCwwLG51bGwsbnVsbCxudWxsLCJyZ2JhKDMyLDMzLDM2LDEpIiwicmdiYSgyNTUsMjU1LDI1NSwxKSIsMCwwLDEsbnVsbCxudWxsLDEsMCwwLG51bGwsMF0sbnVsbCxudWxsLFsiMSIsImdjaV85MWYzMDc1NWQ2YTZiNzg3ZGNjMmE0MDYyZTZlOTgyNC5qcyIsImdvb2dsZWFwaXMuY2xpZW50OmdhcGkuaWZyYW1lcyIsIiIsImRlIl0sbnVsbCxudWxsLG51bGwsbnVsbCxbIm07L18vc2NzL2FiYy1zdGF0aWMvXy9qcy9rPWdhcGkuZ2FwaS5lbi5NR0N4SmJuV19Ydy5PL2FtPUFBQWcvZD0xL3JzPUFIcE9vbzl4YTRodExFVkg5eGU2YzRUb1VlaHRUYUxXdkEvbT1fX2ZlYXR1cmVzX18iLCJodHRwczovL2FwaXMuZ29vZ2xlLmNvbSIsIiIsIiIsIiIsIiIsbnVsbCwxLCJlc19wbHVzb25lX2djXzIwMjQwNzA4LjFfcDIiLCJkZSIsbnVsbCwwXSxbMC4wMDk5OTk5OTk3NzY0ODI1ODIsImx1IiwiNTM4IixbbnVsbCwiIiwiMCIsbnVsbCwxLDUxODQwMDAsbnVsbCxudWxsLCIiLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCwwLG51bGwsMCxudWxsLDEsMCwwLDAsbnVsbCxudWxsLDAsMCxudWxsLDAsMCwwLDAsMF0sbnVsbCxudWxsLG51bGwsMCxudWxsLG51bGwsWyI1MDYxNDUxIiwiZ29vZ2xlXFwuKGNvbXxydXxjYXxieXxrenxjb21cXC5teHxjb21cXC50cikkIiwxXV0sWzEsbnVsbCxudWxsLDQwNDAwLDUzOCwiTFVYIiwiZGUiLCI2NTcwMjc1ODMuMCIsOCxudWxsLDAsMCxudWxsLG51bGwsbnVsbCxudWxsLCIzNzAxMzgxLDM3MDEzODkiLG51bGwsbnVsbCxudWxsLCJoNENyWnBiQkRQZU9pLWdQNkpTNWtBTSIsMCwwLDAsbnVsbCwyLDUsImVoIiwyMywwLDAsMCwwLDEsODk5Nzg0NDksMCwwXSxbW251bGwsbnVsbCxudWxsLCJodHRwczovL3d3dy5nc3RhdGljLmNvbS9vZy9fL2pzL2s9b2cucXRtLmVuX1VTLkZ0bFZkeG1Ea1cwLjIwMTkuTy9ydD1qL209cWFicixxX2RucCxxY3dpZCxxYXBpZCxxYWxkLHFhZHMscV9kZy9leG09cWFhdyxxYWRkLHFhaWQscWVpbixxaGF3LHFoYmEscWhicixxaGNoLHFoZ2EscWhpZCxxaGluL2Q9MS9lZD0xL3JzPUFBMllyVHYtTTVsNlBkTlFYOElsUWpUSkc4T2pvcV9MZkEiXSxbbnVsbCxudWxsLG51bGwsImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL29nL18vc3Mvaz1vZy5xdG0udE1jTUM1SVRvQVkuTC5XLk8vbT1xY3dpZCxkX2JfZ20zLGRfd2lfZ20zLGRfbG9fZ20zL2V4Y209cWFhdyxxYWRkLHFhaWQscWVpbixxaGF3LHFoYmEscWhicixxaGNoLHFoZ2EscWhpZCxxaGluL2Q9MS9lZD0xL2N0PXpnbXMvcnM9QUEyWXJUdHU2OHdVOHJRU0V1MXpMb1RZX0JPQlFYaWJBZyJdXSxudWxsLG51bGwsbnVsbCxbW1tudWxsLG51bGwsW251bGwsbnVsbCxudWxsLCJodHRwczovL29ncy5nb29nbGUuY29tL3dpZGdldC9hcHAvc28/ZW9tPTFcdTAwMjZhd3dkPTFcdTAwMjZnbTM9MSJdLDAsNDcwLDM3MCw0OSw0LDEsMCwwLDYzLDY0LDgwMDAsImh0dHBzOi8vd3d3Lmdvb2dsZS5sdS9pbnRsL2RlL2Fib3V0L3Byb2R1Y3RzIiw2NywxLDY5LG51bGwsMSw3MCwiQmVpbSBMYWRlbiBkZXIgQW53ZW5kdW5nc2xpc3RlIGlzdCBlaW4gUHJvYmxlbSBhdWZnZXRyZXRlbi4gQml0dGUgdmVyc3VjaCBlcyBpbiBlaW4gcGFhciBNaW51dGVuIG5vY2ggZWlubWFsIG9kZXIgZ2VoZSB6dXIgU2VpdGUgJTEkc0dvb2dsZS1Qcm9kdWt0ZSUyJHMuIiwzLDAsMCw3NCwwLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsIi93aWRnZXQvYXBwL3NvIixudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLDAsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCwwXSxbbnVsbCxudWxsLFtudWxsLG51bGwsbnVsbCwiaHR0cHM6Ly9vZ3MuZ29vZ2xlLmNvbS93aWRnZXQvY2FsbG91dD9lb209MVx1MDAyNmRjPTEiXSxudWxsLDI4MCw0MjAsNzAsMjUsMCxudWxsLDAsbnVsbCxudWxsLDgwMDAsbnVsbCw3MSw0LG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCw3NixudWxsLG51bGwsbnVsbCwxMDcsMTA4LDEwOSwiIixudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsMF1dLG51bGwsbnVsbCwiMSIsIjUzOCIsMSwwLG51bGwsImRlIiwwLG51bGwsMCwwLDAsW251bGwsImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vIixudWxsLG51bGwsbnVsbCwwLG51bGwsMCwwLCIiLCIiLCI4IiwiaHR0cHM6Ly9vZ2Fkcy1wYS5nb29nbGVhcGlzLmNvbSIsMCwwLDAsIiIsIiIsMCwwLDAsODY0MDAsMF0sMCxudWxsLG51bGwsbnVsbCwwXV1dLH07dGhpcy5nYmFyXz10aGlzLmdiYXJffHx7fTsoZnVuY3Rpb24oXyl7dmFyIHdpbmRvdz10aGlzOwp0cnl7Cl8uX0ZfdG9nZ2xlc19pbml0aWFsaXplPWZ1bmN0aW9uKGEpeyh0eXBlb2YgZ2xvYmFsVGhpcyE9PSJ1bmRlZmluZWQiP2dsb2JhbFRoaXM6dHlwZW9mIHNlbGYhPT0idW5kZWZpbmVkIj9zZWxmOnRoaXMpLl9GX3RvZ2dsZXM9YXx8W119OygwLF8uX0ZfdG9nZ2xlc19pbml0aWFsaXplKShbXSk7Ci8qCgogQ29weXJpZ2h0IFRoZSBDbG9zdXJlIExpYnJhcnkgQXV0aG9ycy4KIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wCiovCnZhciBmYSxoYSxtYSxvYSxwYSx5YSx6YSxCYSxDYSxEYSxHYSxXYSxWYSxZYSwkYSxaYSxhYixiYixlYixmYixqYixtYixnYixsYixrYixpYixoYixuYixvYix4Yix6YixBYixCYixDYjtfLmFhPWZ1bmN0aW9uKGEsYil7aWYoRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UpRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcyxfLmFhKTtlbHNle2NvbnN0IGM9RXJyb3IoKS5zdGFjaztjJiYodGhpcy5zdGFjaz1jKX1hJiYodGhpcy5tZXNzYWdlPVN0cmluZyhhKSk7YiE9PXZvaWQgMCYmKHRoaXMuY2F1c2U9Yil9O18uYmE9ZnVuY3Rpb24oYSl7Xy50LnNldFRpbWVvdXQoKCk9Pnt0aHJvdyBhO30sMCl9O18uY2E9ZnVuY3Rpb24oKXt2YXIgYT1fLnQubmF2aWdhdG9yO3JldHVybiBhJiYoYT1hLnVzZXJBZ2VudCk/YToiIn07ZmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGRhP2VhP2VhLmJyYW5kcy5zb21lKCh7YnJhbmQ6Yn0pPT5iJiZiLmluZGV4T2YoYSkhPS0xKTohMTohMX07Cl8udT1mdW5jdGlvbihhKXtyZXR1cm4gXy5jYSgpLmluZGV4T2YoYSkhPS0xfTtoYT1mdW5jdGlvbigpe3JldHVybiBkYT8hIWVhJiZlYS5icmFuZHMubGVuZ3RoPjA6ITF9O18uaWE9ZnVuY3Rpb24oKXtyZXR1cm4gaGEoKT8hMTpfLnUoIk9wZXJhIil9O18ua2E9ZnVuY3Rpb24oKXtyZXR1cm4gaGEoKT8hMTpfLnUoIlRyaWRlbnQiKXx8Xy51KCJNU0lFIil9O18ubGE9ZnVuY3Rpb24oKXtyZXR1cm4gXy51KCJGaXJlZm94Iil8fF8udSgiRnhpT1MiKX07Xy5uYT1mdW5jdGlvbigpe3JldHVybiBfLnUoIlNhZmFyaSIpJiYhKG1hKCl8fChoYSgpPzA6Xy51KCJDb2FzdCIpKXx8Xy5pYSgpfHwoaGEoKT8wOl8udSgiRWRnZSIpKXx8KGhhKCk/ZmEoIk1pY3Jvc29mdCBFZGdlIik6Xy51KCJFZGcvIikpfHwoaGEoKT9mYSgiT3BlcmEiKTpfLnUoIk9QUiIpKXx8Xy5sYSgpfHxfLnUoIlNpbGsiKXx8Xy51KCJBbmRyb2lkIikpfTsKbWE9ZnVuY3Rpb24oKXtyZXR1cm4gaGEoKT9mYSgiQ2hyb21pdW0iKTooXy51KCJDaHJvbWUiKXx8Xy51KCJDcmlPUyIpKSYmIShoYSgpPzA6Xy51KCJFZGdlIikpfHxfLnUoIlNpbGsiKX07b2E9ZnVuY3Rpb24oKXtyZXR1cm4gZGE/ISFlYSYmISFlYS5wbGF0Zm9ybTohMX07cGE9ZnVuY3Rpb24oKXtyZXR1cm4gXy51KCJpUGhvbmUiKSYmIV8udSgiaVBvZCIpJiYhXy51KCJpUGFkIil9O18ucWE9ZnVuY3Rpb24oKXtyZXR1cm4gcGEoKXx8Xy51KCJpUGFkIil8fF8udSgiaVBvZCIpfTtfLnJhPWZ1bmN0aW9uKCl7cmV0dXJuIG9hKCk/ZWEucGxhdGZvcm09PT0ibWFjT1MiOl8udSgiTWFjaW50b3NoIil9O18udGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5zYShhLGIpPj0wfTsKXy51YT1mdW5jdGlvbihhKXtsZXQgYj0iIixjPTA7Y29uc3QgZD1hLmxlbmd0aC0xMDI0MDtmb3IoO2M8ZDspYis9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGEuc3ViYXJyYXkoYyxjKz0xMDI0MCkpO2IrPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxjP2Euc3ViYXJyYXkoYyk6YSk7cmV0dXJuIGJ0b2EoYil9O18udmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPW51bGwmJmEgaW5zdGFuY2VvZiBVaW50OEFycmF5fTtfLndhPWZ1bmN0aW9uKGEpe3JldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhKX07Xy54YT1mdW5jdGlvbihhKXtyZXR1cm4hISgoYVtfLnZdfDApJjIpfTt5YT1mdW5jdGlvbihhLGIpe2JbXy52XT0oYXwwKSYtMTQ1OTF9O3phPWZ1bmN0aW9uKGEsYil7YltfLnZdPShhfDM0KSYtMTQ1NTd9O0JhPWZ1bmN0aW9uKGEpe3JldHVybiEoIWF8fHR5cGVvZiBhIT09Im9iamVjdCJ8fGEuaSE9PUFhKX07CkNhPWZ1bmN0aW9uKGEpe3JldHVybiBhIT09bnVsbCYmdHlwZW9mIGE9PT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkoYSkmJmEuY29uc3RydWN0b3I9PT1PYmplY3R9O0RhPWZ1bmN0aW9uKGEsYixjKXtpZighQXJyYXkuaXNBcnJheShhKXx8YS5sZW5ndGgpcmV0dXJuITE7Y29uc3QgZD1hW18udl18MDtpZihkJjEpcmV0dXJuITA7aWYoIShiJiYoQXJyYXkuaXNBcnJheShiKT9iLmluY2x1ZGVzKGMpOmIuaGFzKGMpKSkpcmV0dXJuITE7YVtfLnZdPWR8MTtyZXR1cm4hMH07Xy5FYT1mdW5jdGlvbihhKXtpZihhJjIpdGhyb3cgRXJyb3IoKTt9O0dhPWZ1bmN0aW9uKGEsYil7KGI9Xy5GYT9iW18uRmFdOnZvaWQgMCkmJihhW18uRmFdPV8ud2EoYikpfTtfLklhPWZ1bmN0aW9uKCl7Y29uc3QgYT1FcnJvcigpO0hhKGEsImluY2lkZW50Iik7Xy5iYShhKX07Xy5KYT1mdW5jdGlvbihhKXthPUVycm9yKGEpO0hhKGEsIndhcm5pbmciKTtyZXR1cm4gYX07Cl8uTGE9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGEhPT0iYm9vbGVhbiIpdGhyb3cgRXJyb3IoInNgIitfLkthKGEpKyJgIithKTtyZXR1cm4gYX07Xy5NYT1mdW5jdGlvbihhKXtpZighTnVtYmVyLmlzRmluaXRlKGEpKXRocm93IF8uSmEoImVudW0iKTtyZXR1cm4gYXwwfTtfLk5hPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09Im51bWJlciIpdGhyb3cgXy5KYSgiaW50MzIiKTtpZighTnVtYmVyLmlzRmluaXRlKGEpKXRocm93IF8uSmEoImludDMyIik7cmV0dXJuIGF8MH07Xy5PYT1mdW5jdGlvbihhKXtpZihhIT1udWxsJiZ0eXBlb2YgYSE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIGF9O18uUGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PW51bGx8fHR5cGVvZiBhPT09InN0cmluZyI/YTp2b2lkIDB9OwpfLlJhPWZ1bmN0aW9uKGEsYixjKXtpZihhIT1udWxsJiZ0eXBlb2YgYT09PSJvYmplY3QiJiZhLkVkPT09Xy5RYSlyZXR1cm4gYTtpZihBcnJheS5pc0FycmF5KGEpKXt2YXIgZD1hW18udl18MCxlPWQ7ZT09PTAmJihlfD1jJjMyKTtlfD1jJjI7ZSE9PWQmJihhW18udl09ZSk7cmV0dXJuIG5ldyBiKGEpfX07Xy5UYT1mdW5jdGlvbihhLGIpe1NhPWI7YT1uZXcgYShiKTtTYT12b2lkIDA7cmV0dXJuIGF9OwpfLlVhPWZ1bmN0aW9uKGEsYixjKXthPT1udWxsJiYoYT1TYSk7U2E9dm9pZCAwO2lmKGE9PW51bGwpe3ZhciBkPTk2O2M/KGE9W2NdLGR8PTUxMik6YT1bXTtiJiYoZD1kJi0xNjc2MDgzM3woYiYxMDIzKTw8MTQpfWVsc2V7aWYoIUFycmF5LmlzQXJyYXkoYSkpdGhyb3cgRXJyb3IoInQiKTtkPWFbXy52XXwwO2lmKGQmMjA0OCl0aHJvdyBFcnJvcigidSIpO2lmKGQmNjQpcmV0dXJuIGE7ZHw9NjQ7aWYoYyYmKGR8PTUxMixjIT09YVswXSkpdGhyb3cgRXJyb3IoInYiKTthOntjPWE7Y29uc3QgZT1jLmxlbmd0aDtpZihlKXtjb25zdCBmPWUtMTtpZihDYShjW2ZdKSl7ZHw9MjU2O2I9Zi0oKyEhKGQmNTEyKS0xKTtpZihiPj0xMDI0KXRocm93IEVycm9yKCJ3Iik7ZD1kJi0xNjc2MDgzM3woYiYxMDIzKTw8MTQ7YnJlYWsgYX19aWYoYil7Yj1NYXRoLm1heChiLGUtKCshIShkJjUxMiktMSkpO2lmKGI+MTAyNCl0aHJvdyBFcnJvcigieCIpO2Q9ZCYtMTY3NjA4MzN8KGImMTAyMyk8PDE0fX19YVtfLnZdPQpkO3JldHVybiBhfTtXYT1mdW5jdGlvbihhLGIpe3JldHVybiBWYShiKX07VmE9ZnVuY3Rpb24oYSl7c3dpdGNoKHR5cGVvZiBhKXtjYXNlICJudW1iZXIiOnJldHVybiBpc0Zpbml0ZShhKT9hOlN0cmluZyhhKTtjYXNlICJib29sZWFuIjpyZXR1cm4gYT8xOjA7Y2FzZSAib2JqZWN0IjppZihhKWlmKEFycmF5LmlzQXJyYXkoYSkpe2lmKERhKGEsdm9pZCAwLDApKXJldHVybn1lbHNle2lmKF8udmEoYSkpcmV0dXJuIF8udWEoYSk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIF8uWGEmJmEgaW5zdGFuY2VvZiBfLlhhKXJldHVybiBhLmooKX19cmV0dXJuIGF9O1lhPWZ1bmN0aW9uKGEsYixjKXtjb25zdCBkPV8ud2EoYSk7dmFyIGU9ZC5sZW5ndGg7Y29uc3QgZj1iJjI1Nj9kW2UtMV06dm9pZCAwO2UrPWY/LTE6MDtmb3IoYj1iJjUxMj8xOjA7YjxlO2IrKylkW2JdPWMoZFtiXSk7aWYoZil7Yj1kW2JdPXt9O2Zvcihjb25zdCBnIGluIGYpYltnXT1jKGZbZ10pfUdhKGQsYSk7cmV0dXJuIGR9OwokYT1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKGEhPW51bGwpe2lmKEFycmF5LmlzQXJyYXkoYSkpYT1EYShhLHZvaWQgMCwwKT92b2lkIDA6ZSYmKGFbXy52XXwwKSYyP2E6WmEoYSxiLGMsZCE9PXZvaWQgMCxlKTtlbHNlIGlmKENhKGEpKXtjb25zdCBmPXt9O2ZvcihsZXQgZyBpbiBhKWZbZ109JGEoYVtnXSxiLGMsZCxlKTthPWZ9ZWxzZSBhPWIoYSxkKTtyZXR1cm4gYX19O1phPWZ1bmN0aW9uKGEsYixjLGQsZSl7Y29uc3QgZj1kfHxjP2FbXy52XXwwOjA7ZD1kPyEhKGYmMzIpOnZvaWQgMDtjb25zdCBnPV8ud2EoYSk7Zm9yKGxldCBoPTA7aDxnLmxlbmd0aDtoKyspZ1toXT0kYShnW2hdLGIsYyxkLGUpO2MmJihHYShnLGEpLGMoZixnKSk7cmV0dXJuIGd9O2FiPWZ1bmN0aW9uKGEpe3JldHVybiBhLkVkPT09Xy5RYT9hLnRvSlNPTigpOlZhKGEpfTsKYmI9ZnVuY3Rpb24oYSxiLGM9emEpe2lmKGEhPW51bGwpe2lmKGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KXJldHVybiBiP2E6bmV3IFVpbnQ4QXJyYXkoYSk7aWYoQXJyYXkuaXNBcnJheShhKSl7dmFyIGQ9YVtfLnZdfDA7aWYoZCYyKXJldHVybiBhO2ImJihiPWQ9PT0wfHwhIShkJjMyKSYmIShkJjY0fHwhKGQmMTYpKSk7cmV0dXJuIGI/KGFbXy52XT0oZHwzNCkmLTEyMjkzLGEpOlphKGEsYmIsZCY0P3phOmMsITAsITApfWEuRWQ9PT1fLlFhJiYoYz1hLm1hLGQ9Y1tfLnZdLGE9ZCYyP2E6Xy5UYShhLmNvbnN0cnVjdG9yLF8uY2IoYyxkLCEwKSkpO3JldHVybiBhfX07Xy5jYj1mdW5jdGlvbihhLGIsYyl7Y29uc3QgZD1jfHxiJjI/emE6eWEsZT0hIShiJjMyKTthPVlhKGEsYixmPT5iYihmLGUsZCkpO2FbXy52XT1hW18udl18MzJ8KGM/MjowKTtyZXR1cm4gYX07Cl8uZGI9ZnVuY3Rpb24oYSl7Y29uc3QgYj1hLm1hLGM9YltfLnZdO3JldHVybiBjJjI/Xy5UYShhLmNvbnN0cnVjdG9yLF8uY2IoYixjLCExKSk6YX07ZWI9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O2ZiPWZ1bmN0aW9uKGEpe3JldHVybiBhfTtqYj1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gZ2IoYSxiLGMsZCxoYixpYil9O21iPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBnYihhLGIsYyxkLGtiLGxiKX07CmdiPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZighYy5sZW5ndGgmJiFkKXJldHVybiAwO3ZhciBnPTA7bGV0IGg9MCxrPTA7dmFyIGw9MDtsZXQgbT0wO2Zvcih2YXIgcD1jLmxlbmd0aC0xO3A+PTA7cC0tKXt2YXIgcj1jW3BdO2QmJnA9PT1jLmxlbmd0aC0xJiZyPT09ZHx8KGwrKyxyIT1udWxsJiZrKyspfWlmKGQpZm9yKHZhciBxIGluIGQpcD0rcSxpc05hTihwKXx8KG0rPW5iKHApLGgrKyxwPmcmJihnPXApKTtsPWUobCxrKStmKGgsZyxtKTtxPWs7cD1oO3I9ZztsZXQgeT1tO2ZvcihsZXQgRT1jLmxlbmd0aC0xO0U+PTA7RS0tKXt2YXIgRD1jW0VdO2lmKEQ9PW51bGx8fGQmJkU9PT1jLmxlbmd0aC0xJiZEPT09ZCljb250aW51ZTtEPUUtYjtjb25zdCBHPWUoRCxxKStmKHAscix5KTtHPGwmJihhPTErRCxsPUcpO3ArKztxLS07eSs9bmIoRCk7cj1NYXRoLm1heChyLEQpfWI9ZSgwLDApK2YocCxyLHkpO2I8bCYmKGE9MCxsPWIpO2lmKGQpe3A9aDtyPWc7eT1tO3E9aztmb3IoY29uc3QgRSBpbiBkKWQ9CitFLGlzTmFOKGQpfHxkPj0xMDI0fHwocC0tLHErKyx5LT1FLmxlbmd0aCxnPWUoZCxxKStmKHAscix5KSxnPGwmJihhPTErZCxsPWcpKX1yZXR1cm4gYX07bGI9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBjK2EqMysoYT4xP2EtMTowKX07a2I9ZnVuY3Rpb24oYSxiKXtyZXR1cm4oYT4xP2EtMTowKSsoYS1iKSo0fTtpYj1mdW5jdGlvbihhLGIpe3JldHVybiBhPT0wPzA6OSpNYXRoLm1heCgxPDwzMi1NYXRoLmNsejMyKGErYS8yLTEpLDQpPD1iP2E9PTA/MDphPDQ/MTAwKyhhLTEpKjE2OmE8Nj8xNDgrKGEtNCkqMTY6YTwxMj8yNDQrKGEtNikqMTY6YTwyMj80MzYrKGEtMTIpKjE5OmE8NDQ/ODIwKyhhLTIyKSoxNzo1MiszMiphOjQwKzQqYn07aGI9ZnVuY3Rpb24oYSl7cmV0dXJuIDQwKzQqYX07bmI9ZnVuY3Rpb24oYSl7cmV0dXJuIGE+PTEwMD9hPj0xRTQ/TWF0aC5jZWlsKE1hdGgubG9nMTAoMSthKSk6YTwxRTM/Mzo0OmE8MTA/MToyfTsKb2I9ZnVuY3Rpb24oYSxiLGMsZCl7Yj1kKygrISEoYiY1MTIpLTEpO2lmKCEoYjwwfHxiPj1hLmxlbmd0aHx8Yj49YykpcmV0dXJuIGFbYl19O18ucWI9ZnVuY3Rpb24oYSxiLGMsZCxlKXtjb25zdCBmPWI+PjE0JjEwMjN8fDUzNjg3MDkxMjtpZihjPj1mfHxlJiYhcGIpe2xldCBnPWI7aWYoYiYyNTYpZT1hW2EubGVuZ3RoLTFdO2Vsc2V7aWYoZD09bnVsbClyZXR1cm4gZztlPWFbZisoKyEhKGImNTEyKS0xKV09e307Z3w9MjU2fWVbY109ZDtjPGYmJihhW2MrKCshIShiJjUxMiktMSldPXZvaWQgMCk7ZyE9PWImJihhW18udl09Zyk7cmV0dXJuIGd9YVtjKygrISEoYiY1MTIpLTEpXT1kO2ImMjU2JiYoYT1hW2EubGVuZ3RoLTFdLGMgaW4gYSYmZGVsZXRlIGFbY10pO3JldHVybiBifTtfLnNiPWZ1bmN0aW9uKGEsYixjLGQpe2E9YS5tYTtsZXQgZT1hW18udl07Y29uc3QgZj1fLnJiKGEsZSxjLGQpO2I9Xy5SYShmLGIsZSk7YiE9PWYmJmIhPW51bGwmJl8ucWIoYSxlLGMsYixkKTtyZXR1cm4gYn07Cl8udGI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYSE9bnVsbD9hOmJ9Owp4Yj1mdW5jdGlvbihhKXt2YXIgYj11Yj9hLm1hOlphKGEubWEsYWIsdm9pZCAwLHZvaWQgMCwhMSk7e3ZhciBjPSF1Yjt2YXIgZD12Yj92b2lkIDA6YS5jb25zdHJ1Y3Rvci5vYTt2YXIgZT0oYz9hLm1hOmIpW18udl07bGV0IEI9Yi5sZW5ndGg7aWYoQil7dmFyIGY9YltCLTFdLGc9Q2EoZik7Zz9CLS06Zj12b2lkIDA7YT0rISEoZSY1MTIpLTE7dmFyIGg9Qi1hLGs9ISF3YiYmcGImJiEoZSY1MTIpLGw7ZT0obD13YikhPW51bGw/bDpmYjtlPWs/ZShoLGEsYixmKTpoO2w9KGg9ayYmaCE9PWUpP0FycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGIsMCxCKTpiO2lmKGd8fGgpe2I6e3ZhciBtPWw7dmFyIHA9ZjtnPXt9O2s9ITE7aWYoaClmb3IodmFyIHI9TWF0aC5tYXgoMCxlK2EpO3I8bS5sZW5ndGg7cisrKXt2YXIgcT1tW3JdLHk9ci1hO3E9PW51bGx8fERhKHEsZCx5KXx8QmEocSkmJnEuc2l6ZT09PTB8fChtW3JdPXZvaWQgMCxnW3ldPXEsaz0hMCl9aWYocClmb3IodmFyIEQgaW4gcClpZihyPQorRCxpc05hTihyKSlnW0RdPXBbRF07ZWxzZSBpZihxPXBbRF0sQXJyYXkuaXNBcnJheShxKSYmKERhKHEsZCwrRCl8fEJhKHEpJiZxLnNpemU9PT0wKSYmKHE9bnVsbCkscT09bnVsbCYmKGs9ITApLGgmJnI8ZSl7az0hMDtxPXIrYTtmb3IoeT1tLmxlbmd0aDt5PD1xO3krKyltLnB1c2godm9pZCAwKTttW3FdPXBbcl19ZWxzZSBxIT1udWxsJiYoZ1tEXT1xKTtpZihrKXtmb3IodmFyIEUgaW4gZyl7cD1nO2JyZWFrIGJ9cD1udWxsfX1tPXA9PW51bGw/ZiE9bnVsbDpwIT09Zn1oJiYoQj1sLmxlbmd0aCk7Zm9yKHZhciBHO0I+MDtCLS0pe0U9Qi0xO0Q9bFtFXTtFLT1hO2lmKCEoRD09bnVsbHx8RGEoRCxkLEUpfHxCYShEKSYmRC5zaXplPT09MCkpYnJlYWs7Rz0hMH1pZihsIT09Ynx8bXx8Ryl7aWYoIWgmJiFjKWw9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobCwwLEIpO2Vsc2UgaWYoR3x8bXx8cClsLmxlbmd0aD1CO3AmJmwucHVzaChwKX1iPWx9fXJldHVybiBifTsKXy53PWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEhPW51bGw/ISFhOiEhYn07Xy54PWZ1bmN0aW9uKGEsYil7Yj09dm9pZCAwJiYoYj0iIik7cmV0dXJuIGEhPW51bGw/YTpifTtfLnliPWZ1bmN0aW9uKGEpe2Zvcihjb25zdCBiIGluIGEpcmV0dXJuITE7cmV0dXJuITB9O3piPXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz09ImZ1bmN0aW9uIj9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oYSxiLGMpe2lmKGE9PUFycmF5LnByb3RvdHlwZXx8YT09T2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gYTthW2JdPWMudmFsdWU7cmV0dXJuIGF9OwpBYj1mdW5jdGlvbihhKXthPVsib2JqZWN0Ij09dHlwZW9mIGdsb2JhbFRoaXMmJmdsb2JhbFRoaXMsYSwib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmd2luZG93LCJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiwib2JqZWN0Ij09dHlwZW9mIGdsb2JhbCYmZ2xvYmFsXTtmb3IodmFyIGI9MDtiPGEubGVuZ3RoOysrYil7dmFyIGM9YVtiXTtpZihjJiZjLk1hdGg9PU1hdGgpcmV0dXJuIGN9dGhyb3cgRXJyb3IoImEiKTt9O0JiPUFiKHRoaXMpO0NiPWZ1bmN0aW9uKGEsYil7aWYoYilhOnt2YXIgYz1CYjthPWEuc3BsaXQoIi4iKTtmb3IodmFyIGQ9MDtkPGEubGVuZ3RoLTE7ZCsrKXt2YXIgZT1hW2RdO2lmKCEoZSBpbiBjKSlicmVhayBhO2M9Y1tlXX1hPWFbYS5sZW5ndGgtMV07ZD1jW2FdO2I9YihkKTtiIT1kJiZiIT1udWxsJiZ6YihjLGEse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9fTsKQ2IoIlN5bWJvbC5kaXNwb3NlIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOlN5bWJvbCgiYiIpfSk7Q2IoImdsb2JhbFRoaXMiLGZ1bmN0aW9uKGEpe3JldHVybiBhfHxCYn0pO0NiKCJQcm9taXNlLnByb3RvdHlwZS5maW5hbGx5IixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIpe3JldHVybiB0aGlzLnRoZW4oZnVuY3Rpb24oYyl7cmV0dXJuIFByb21pc2UucmVzb2x2ZShiKCkpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gY30pfSxmdW5jdGlvbihjKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGIoKSkudGhlbihmdW5jdGlvbigpe3Rocm93IGM7fSl9KX19KTt2YXIgRmIsR2IsSWI7Xy5EYj1fLkRifHx7fTtfLnQ9dGhpc3x8c2VsZjtGYj1mdW5jdGlvbihhLGIpe3ZhciBjPV8uRWIoIldJWl9nbG9iYWxfZGF0YS5veE4zbmIiKTthPWMmJmNbYV07cmV0dXJuIGEhPW51bGw/YTpifTtHYj1fLnQuX0ZfdG9nZ2xlc3x8W107Xy5FYj1mdW5jdGlvbihhLGIpe2E9YS5zcGxpdCgiLiIpO2I9Ynx8Xy50O2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWlmKGI9YlthW2NdXSxiPT1udWxsKXJldHVybiBudWxsO3JldHVybiBifTtfLkthPWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBhO3JldHVybiBiIT0ib2JqZWN0Ij9iOmE/QXJyYXkuaXNBcnJheShhKT8iYXJyYXkiOmI6Im51bGwifTtfLkhiPSJjbG9zdXJlX3VpZF8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApO0liPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYS5jYWxsLmFwcGx5KGEuYmluZCxhcmd1bWVudHMpfTsKXy56PWZ1bmN0aW9uKGEsYixjKXtfLno9SWI7cmV0dXJuIF8uei5hcHBseShudWxsLGFyZ3VtZW50cyl9O18uQT1mdW5jdGlvbihhLGIpe2E9YS5zcGxpdCgiLiIpO3ZhciBjPV8udDthWzBdaW4gY3x8dHlwZW9mIGMuZXhlY1NjcmlwdD09InVuZGVmaW5lZCJ8fGMuZXhlY1NjcmlwdCgidmFyICIrYVswXSk7Zm9yKHZhciBkO2EubGVuZ3RoJiYoZD1hLnNoaWZ0KCkpOylhLmxlbmd0aHx8Yj09PXZvaWQgMD9jW2RdJiZjW2RdIT09T2JqZWN0LnByb3RvdHlwZVtkXT9jPWNbZF06Yz1jW2RdPXt9OmNbZF09Yn07Cl8uQz1mdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoKXt9Yy5wcm90b3R5cGU9Yi5wcm90b3R5cGU7YS5XPWIucHJvdG90eXBlO2EucHJvdG90eXBlPW5ldyBjO2EucHJvdG90eXBlLmNvbnN0cnVjdG9yPWE7YS5kaj1mdW5jdGlvbihkLGUsZil7Zm9yKHZhciBnPUFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMiksaD0yO2g8YXJndW1lbnRzLmxlbmd0aDtoKyspZ1toLTJdPWFyZ3VtZW50c1toXTtyZXR1cm4gYi5wcm90b3R5cGVbZV0uYXBwbHkoZCxnKX19O18uQyhfLmFhLEVycm9yKTtfLmFhLnByb3RvdHlwZS5uYW1lPSJDdXN0b21FcnJvciI7dmFyIEpiPSEhKEdiWzBdJjQwOTYpLEtiPSEhKEdiWzBdJjEyOCksTGI9ISEoR2JbMF0mODE5MiksTWI9ISEoR2JbMF0mNjQpLE5iPSEhKEdiWzBdJjE2KSxPYj0hIShHYlswXSYzMik7dmFyIFBiLGRhLHBiO1BiPUZiKDEsITApO2RhPUpiP0xiOkZiKDYxMDQwMTMwMSwhMSk7cGI9SmI/S2J8fCFOYjpGYig2NDUxNzIzNDMsUGIpO18uUWI9SmI/S2J8fCFPYjpGYig2NTM3MTg0OTcsUGIpO3ZhciB2Yj1KYj9LYnx8IU1iOkZiKDE4ODU4ODczNiwhMCk7Xy5SYj10eXBlb2YgVGV4dERlY29kZXIhPT0idW5kZWZpbmVkIjtfLlNiPXR5cGVvZiBUZXh0RW5jb2RlciE9PSJ1bmRlZmluZWQiO18uVWI9ZnVuY3Rpb24oKXtyZXR1cm4gXy5jYSgpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigid2Via2l0IikhPS0xfTt2YXIgZWEsVmI9Xy50Lm5hdmlnYXRvcjtlYT1WYj9WYi51c2VyQWdlbnREYXRhfHxudWxsOm51bGw7Xy5zYT1mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGEsYix2b2lkIDApfTtfLldiPWZ1bmN0aW9uKGEsYixjKXtBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGEsYixjKX07Xy5YYj1mdW5jdGlvbihhKXtfLlhiWyIgIl0oYSk7cmV0dXJuIGF9O18uWGJbIiAiXT1mdW5jdGlvbigpe307dmFyIGpjO18uWWI9Xy5pYSgpO18uWmI9Xy5rYSgpO18uJGI9Xy51KCJFZGdlIik7Xy5hYz1fLnUoIkdlY2tvIikmJiEoXy5VYigpJiYhXy51KCJFZGdlIikpJiYhKF8udSgiVHJpZGVudCIpfHxfLnUoIk1TSUUiKSkmJiFfLnUoIkVkZ2UiKTtfLmJjPV8uVWIoKSYmIV8udSgiRWRnZSIpO18uY2M9Xy5yYSgpO18uZGM9b2EoKT9lYS5wbGF0Zm9ybT09PSJXaW5kb3dzIjpfLnUoIldpbmRvd3MiKTtfLmVjPW9hKCk/ZWEucGxhdGZvcm09PT0iQW5kcm9pZCI6Xy51KCJBbmRyb2lkIik7Xy5mYz1wYSgpO18uZ2M9Xy51KCJpUGFkIik7Xy5oYz1fLnUoImlQb2QiKTtfLmljPV8ucWEoKTsKYTp7dmFyIGtjPSIiLGxjPWZ1bmN0aW9uKCl7dmFyIGE9Xy5jYSgpO2lmKF8uYWMpcmV0dXJuL3J2OihbXlwpO10rKShcKXw7KS8uZXhlYyhhKTtpZihfLiRiKXJldHVybi9FZGdlXC8oW1xkXC5dKykvLmV4ZWMoYSk7aWYoXy5aYilyZXR1cm4vXGIoPzpNU0lFfHJ2KVs6IF0oW15cKTtdKykoXCl8OykvLmV4ZWMoYSk7aWYoXy5iYylyZXR1cm4vV2ViS2l0XC8oXFMrKS8uZXhlYyhhKTtpZihfLlliKXJldHVybi8oPzpWZXJzaW9uKVsgXC9dPyhcUyspLy5leGVjKGEpfSgpO2xjJiYoa2M9bGM/bGNbMV06IiIpO2lmKF8uWmIpe3ZhciBtYyxuYz1fLnQuZG9jdW1lbnQ7bWM9bmM/bmMuZG9jdW1lbnRNb2RlOnZvaWQgMDtpZihtYyE9bnVsbCYmbWM+cGFyc2VGbG9hdChrYykpe2pjPVN0cmluZyhtYyk7YnJlYWsgYX19amM9a2N9Xy5vYz1qYztfLnBjPV8ubGEoKTtfLnFjPXBhKCl8fF8udSgiaVBvZCIpO18ucmM9Xy51KCJpUGFkIik7Xy5zYz1fLnUoIkFuZHJvaWQiKSYmIShtYSgpfHxfLmxhKCl8fF8uaWEoKXx8Xy51KCJTaWxrIikpO18udGM9bWEoKTtfLnVjPV8ubmEoKSYmIV8ucWEoKTt2YXIgdmM7Xy52PVN5bWJvbCgpO3ZjPVN5bWJvbCgpO18ud2M9U3ltYm9sKCk7Xy54Yz1TeW1ib2woKTt2YXIgQWEsemM7Xy5RYT17fTtBYT17fTt6Yz1bXTt6Y1tfLnZdPTU1O18ueWM9T2JqZWN0LmZyZWV6ZSh6Yyk7Xy5BYz1PYmplY3QuZnJlZXplKHt9KTtPYmplY3QuZnJlZXplKHt9KTtfLkJjPU9iamVjdC5mcmVlemUoe30pO3ZhciBIYT1mdW5jdGlvbihhLGIpe2EuX19jbG9zdXJlX19lcnJvcl9fY29udGV4dF9fOTg0MzgyfHwoYS5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODI9e30pO2EuX19jbG9zdXJlX19lcnJvcl9fY29udGV4dF9fOTg0MzgyLnNldmVyaXR5PWJ9O3ZhciBDYzt2YXIgU2E7Xy5EYz1mdW5jdGlvbihhLGIpe2E9YS5tYTtyZXR1cm4gXy5yYihhLGFbXy52XSxiKX07Xy5yYj1mdW5jdGlvbihhLGIsYyxkKXtpZihjPT09LTEpcmV0dXJuIG51bGw7Y29uc3QgZT1iPj4xNCYxMDIzfHw1MzY4NzA5MTI7aWYoYz49ZSl7aWYoYiYyNTYpcmV0dXJuIGFbYS5sZW5ndGgtMV1bY119ZWxzZXt2YXIgZj1hLmxlbmd0aDtpZihkJiZiJjI1NiYmKGQ9YVtmLTFdW2NdLGQhPW51bGwpKXtpZihvYihhLGIsZSxjKSYmdmMhPW51bGwpe3ZhciBnO2E9KGc9Q2MpIT1udWxsP2c6Q2M9e307Zz1hW3ZjXXx8MDtnPj00fHwoYVt2Y109ZysxLF8uSWEoKSl9cmV0dXJuIGR9cmV0dXJuIG9iKGEsYixlLGMpfX07Xy5FYz1mdW5jdGlvbihhLGIsYyl7Y29uc3QgZD1hLm1hO2xldCBlPWRbXy52XTtfLkVhKGUpO18ucWIoZCxlLGIsYyk7cmV0dXJuIGF9OwpfLkY9ZnVuY3Rpb24oYSxiLGMsZD0hMSl7Yj1fLnNiKGEsYixjLGQpO2lmKGI9PW51bGwpcmV0dXJuIGI7YT1hLm1hO2xldCBlPWFbXy52XTtpZighKGUmMikpe2NvbnN0IGY9Xy5kYihiKTtmIT09YiYmKGI9ZixfLnFiKGEsZSxjLGIsZCkpfXJldHVybiBifTtfLkg9ZnVuY3Rpb24oYSxiLGMpe2M9PW51bGwmJihjPXZvaWQgMCk7cmV0dXJuIF8uRWMoYSxiLGMpfTtfLkk9ZnVuY3Rpb24oYSxiKXthPV8uRGMoYSxiKTtyZXR1cm4gYT09bnVsbHx8dHlwZW9mIGE9PT0iYm9vbGVhbiI/YTp0eXBlb2YgYT09PSJudW1iZXIiPyEhYTp2b2lkIDB9O18uSj1mdW5jdGlvbihhLGIpe3JldHVybiBfLlBhKF8uRGMoYSxiKSl9O18uSz1mdW5jdGlvbihhLGIsYz0hMSl7cmV0dXJuIF8udGIoXy5JKGEsYiksYyl9O18uTD1mdW5jdGlvbihhLGIpe3JldHVybiBfLnRiKF8uSihhLGIpLCIiKX07Xy5NPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5FYyhhLGIsYz09bnVsbD9jOl8uTGEoYykpfTsKXy5OPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5FYyhhLGIsYz09bnVsbD9jOl8uTmEoYykpfTtfLk89ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLkVjKGEsYixfLk9hKGMpKX07Xy5QPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5FYyhhLGIsYz09bnVsbD9jOl8uTWEoYykpfTt2YXIgd2IsdWI7Xy5RPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLm1hPV8uVWEoYSxiLGMpfXRvSlNPTigpe3JldHVybiB4Yih0aGlzKX1HYShhKXt0cnl7cmV0dXJuIHViPSEwLGEmJih3Yj1hPT09ZmJ8fGEhPT1lYiYmYSE9PWpiJiZhIT09bWI/ZmI6YSksSlNPTi5zdHJpbmdpZnkoeGIodGhpcyksV2EpfWZpbmFsbHl7YSYmKHdiPXZvaWQgMCksdWI9ITF9fXVjKCl7cmV0dXJuIF8ueGEodGhpcy5tYSl9fTtfLlEucHJvdG90eXBlLkVkPV8uUWE7Xy5RLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3RyeXtyZXR1cm4gdWI9ITAseGIodGhpcykudG9TdHJpbmcoKX1maW5hbGx5e3ViPSExfX07Xy5GYz1TeW1ib2woKTtfLkdjPVN5bWJvbCgpO18uSGM9U3ltYm9sKCk7Xy5JYz1TeW1ib2woKTtfLkpjPVN5bWJvbCgpO3ZhciBLYz1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCl9fTtfLkxjPWNsYXNzIGV4dGVuZHMgXy5Re2NvbnN0cnVjdG9yKCl7c3VwZXIoKX1EKGEpe3JldHVybiBfLk4odGhpcywzLGEpfX07Xy5MYy5vYT1bNjddO3ZhciBNYz1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1MYyhhKXtyZXR1cm4gXy5PKHRoaXMsMjQsYSl9fTtfLk5jPWNsYXNzIGV4dGVuZHMgXy5Re2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07Xy5SPWZ1bmN0aW9uKCl7dGhpcy52YT10aGlzLnZhO3RoaXMuZWE9dGhpcy5lYX07Xy5SLnByb3RvdHlwZS52YT0hMTtfLlIucHJvdG90eXBlLmlzRGlzcG9zZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YX07Xy5SLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy52YXx8KHRoaXMudmE9ITAsdGhpcy5SKCkpfTtfLlIucHJvdG90eXBlW1N5bWJvbC5kaXNwb3NlXT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfTtfLlIucHJvdG90eXBlLlI9ZnVuY3Rpb24oKXtpZih0aGlzLmVhKWZvcig7dGhpcy5lYS5sZW5ndGg7KXRoaXMuZWEuc2hpZnQoKSgpfTt2YXIgT2M9Y2xhc3MgZXh0ZW5kcyBfLlJ7Y29uc3RydWN0b3IoKXt2YXIgYT13aW5kb3c7c3VwZXIoKTt0aGlzLm89YTt0aGlzLmk9W107dGhpcy5qPXt9fXJlc29sdmUoYSl7dmFyIGI9dGhpcy5vO2E9YS5zcGxpdCgiLiIpO2Zvcih2YXIgYz1hLmxlbmd0aCxkPTA7ZDxjOysrZClpZihiW2FbZF1dKWI9YlthW2RdXTtlbHNlIHJldHVybiBudWxsO3JldHVybiBiIGluc3RhbmNlb2YgRnVuY3Rpb24/YjpudWxsfUNiKCl7Zm9yKHZhciBhPXRoaXMuaS5sZW5ndGgsYj10aGlzLmksYz1bXSxkPTA7ZDxhOysrZCl7dmFyIGU9YltkXS5pKCksZj10aGlzLnJlc29sdmUoZSk7aWYoZiYmZiE9dGhpcy5qW2VdKXRyeXtiW2RdLkNiKGYpfWNhdGNoKGcpe31lbHNlIGMucHVzaChiW2RdKX10aGlzLmk9Yy5jb25jYXQoYi5zbGljZShhKSl9fTt2YXIgUWM9Y2xhc3MgZXh0ZW5kcyBfLlJ7Y29uc3RydWN0b3IoKXt2YXIgYT1fLlBjO3N1cGVyKCk7dGhpcy5vPWE7dGhpcy5BPXRoaXMuaT1udWxsO3RoaXMudj0wO3RoaXMuQj17fTt0aGlzLmo9ITE7YT13aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudDthLmluZGV4T2YoIk1TSUUiKT49MCYmYS5pbmRleE9mKCJUcmlkZW50Iik+PTAmJihhPS9cYig/Ok1TSUV8cnYpWzogXShbXlwpO10rKShcKXw7KS8uZXhlYyhhKSkmJmFbMV0mJnBhcnNlRmxvYXQoYVsxXSk8OSYmKHRoaXMuaj0hMCl9QyhhLGIpe3RoaXMuaT1iO3RoaXMuQT1hO2IucHJldmVudERlZmF1bHQ/Yi5wcmV2ZW50RGVmYXVsdCgpOmIucmV0dXJuVmFsdWU9ITF9fTtfLlJjPWNsYXNzIGV4dGVuZHMgXy5Re2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIFNjPWNsYXNzIGV4dGVuZHMgXy5Re2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIFZjO18uVGM9ZnVuY3Rpb24oYSxiLGM9OTgsZD1uZXcgXy5MYyl7aWYoYS5pKXtjb25zdCBlPW5ldyBLYztfLk8oZSwxLGIubWVzc2FnZSk7Xy5PKGUsMixiLnN0YWNrKTtfLk4oZSwzLGIubGluZU51bWJlcik7Xy5QKGUsNSwxKTtfLkgoZCw0MCxlKTthLmkubG9nKGMsZCl9fTtWYz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3ZhciBhPVVjO3RoaXMuaT1udWxsO18uSyhhLDQsITApfWxvZyhhLGIsYz1uZXcgXy5MYyl7Xy5UYyh0aGlzLGEsOTgsYyl9fTt2YXIgV2MsWGM7V2M9ZnVuY3Rpb24oYSl7aWYoYS5vLmxlbmd0aD4wKXt2YXIgYj1hLmkhPT12b2lkIDAsYz1hLmohPT12b2lkIDA7aWYoYnx8Yyl7Yj1iP2EudjphLkE7Yz1hLm87YS5vPVtdO3RyeXtfLldiKGMsYixhKX1jYXRjaChkKXtjb25zb2xlLmVycm9yKGQpfX19fTtfLlljPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaT1hO3RoaXMuaj12b2lkIDA7dGhpcy5vPVtdfXRoZW4oYSxiLGMpe3RoaXMuby5wdXNoKG5ldyBYYyhhLGIsYykpO1djKHRoaXMpfXJlc29sdmUoYSl7aWYodGhpcy5pIT09dm9pZCAwfHx0aGlzLmohPT12b2lkIDApdGhyb3cgRXJyb3IoIkIiKTt0aGlzLmk9YTtXYyh0aGlzKX1yZWplY3QoYSl7aWYodGhpcy5pIT09dm9pZCAwfHx0aGlzLmohPT12b2lkIDApdGhyb3cgRXJyb3IoIkIiKTt0aGlzLmo9YTtXYyh0aGlzKX12KGEpe2EuaiYmYS5qLmNhbGwoYS5pLHRoaXMuaSl9QShhKXthLm8mJmEuby5jYWxsKGEuaSx0aGlzLmopfX07ClhjPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLmo9YTt0aGlzLm89Yjt0aGlzLmk9Y319O18uWmM9YT0+e3ZhciBiPSJyYyI7aWYoYS5yYyYmYS5oYXNPd25Qcm9wZXJ0eShiKSlyZXR1cm4gYS5yYztiPW5ldyBhO3JldHVybiBhLnJjPWJ9O18uJGM9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnY9bmV3IF8uWWM7dGhpcy5pPW5ldyBfLlljO3RoaXMuRD1uZXcgXy5ZYzt0aGlzLkI9bmV3IF8uWWM7dGhpcy5DPW5ldyBfLlljO3RoaXMuQT1uZXcgXy5ZYzt0aGlzLm89bmV3IF8uWWM7dGhpcy5qPW5ldyBfLlljO3RoaXMuRj1uZXcgXy5ZY31LKCl7cmV0dXJuIHRoaXMudn1NKCl7cmV0dXJuIHRoaXMuaX1OKCl7cmV0dXJuIHRoaXMuRH1MKCl7cmV0dXJuIHRoaXMuQn12YSgpe3JldHVybiB0aGlzLkN9ZWEoKXtyZXR1cm4gdGhpcy5BfUooKXtyZXR1cm4gdGhpcy5vfUcoKXtyZXR1cm4gdGhpcy5qfXN0YXRpYyBpKCl7cmV0dXJuIF8uWmMoXy4kYyl9fTt2YXIgZWQ7Xy5iZD1mdW5jdGlvbigpe3JldHVybiBfLkYoXy5hZCxNYywxKX07Xy5jZD1mdW5jdGlvbigpe3JldHVybiBfLkYoXy5hZCxfLk5jLDUpfTtlZD1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3Rvcigpe3N1cGVyKGRkKX19O3ZhciBkZDt3aW5kb3cuZ2Jhcl8mJndpbmRvdy5nYmFyXy5DT05GSUc/ZGQ9d2luZG93LmdiYXJfLkNPTkZJR1swXXx8e306ZGQ9W107Xy5hZD1uZXcgZWQ7dmFyIFVjPV8uRihfLmFkLFNjLDMpfHxuZXcgU2M7Xy5iZCgpfHxuZXcgTWM7Xy5QYz1uZXcgVmM7Xy5BKCJnYmFyXy5fRHVtcEV4Y2VwdGlvbiIsZnVuY3Rpb24oYSl7Xy5QYz9fLlBjLmxvZyhhKTpjb25zb2xlLmVycm9yKGEpfSk7Xy5mZD1uZXcgUWM7dmFyIGhkO18uaWQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLmdkLmkoKTtpZihhIGluIGMuaSl7aWYoYy5pW2FdIT1iKXRocm93IG5ldyBoZDt9ZWxzZXtjLmlbYV09Yjtjb25zdCBoPWMualthXTtpZihoKWZvcihsZXQgaz0wLGw9aC5sZW5ndGg7azxsO2srKyl7Yj1oW2tdO3ZhciBkPWMuaTtkZWxldGUgYi5pW2FdO2lmKF8ueWIoYi5pKSl7Zm9yKHZhciBlPWIuai5sZW5ndGgsZj1BcnJheShlKSxnPTA7ZzxlO2crKylmW2ddPWRbYi5qW2ddXTtiLm8uYXBwbHkoYi52LGYpfX1kZWxldGUgYy5qW2FdfX07Xy5nZD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaT17fTt0aGlzLmo9e319c3RhdGljIGkoKXtyZXR1cm4gXy5aYyhfLmdkKX19O18uamQ9Y2xhc3MgZXh0ZW5kcyBfLmFhe2NvbnN0cnVjdG9yKCl7c3VwZXIoKX19O2hkPWNsYXNzIGV4dGVuZHMgXy5qZHt9O18uQSgiZ2Jhci5BIixfLlljKTtfLlljLnByb3RvdHlwZS5hYT1fLlljLnByb3RvdHlwZS50aGVuO18uQSgiZ2Jhci5CIixfLiRjKTtfLiRjLnByb3RvdHlwZS5iYT1fLiRjLnByb3RvdHlwZS5NO18uJGMucHJvdG90eXBlLmJiPV8uJGMucHJvdG90eXBlLk47Xy4kYy5wcm90b3R5cGUuYmQ9Xy4kYy5wcm90b3R5cGUudmE7Xy4kYy5wcm90b3R5cGUuYmY9Xy4kYy5wcm90b3R5cGUuSztfLiRjLnByb3RvdHlwZS5iZz1fLiRjLnByb3RvdHlwZS5MO18uJGMucHJvdG90eXBlLmJoPV8uJGMucHJvdG90eXBlLmVhO18uJGMucHJvdG90eXBlLmJqPV8uJGMucHJvdG90eXBlLko7Xy4kYy5wcm90b3R5cGUuYms9Xy4kYy5wcm90b3R5cGUuRztfLkEoImdiYXIuYSIsXy4kYy5pKCkpO3dpbmRvdy5nYmFyJiZ3aW5kb3cuZ2Jhci5hcCYmd2luZG93LmdiYXIuYXAod2luZG93LmdiYXIuYSk7dmFyIGtkPW5ldyBPYztfLmlkKCJhcGkiLGtkKTsKdmFyIGxkPV8uY2QoKXx8bmV3IF8uTmMsbWQ9d2luZG93LG5kPV8ueChfLkoobGQsOCkpO21kLl9fUFZUPW5kO18uaWQoImVxIixfLmZkKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5vZD1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgcGQ9Y2xhc3MgZXh0ZW5kcyBfLlF7Y29uc3RydWN0b3IoKXtzdXBlcigpfX07dmFyIHFkPWNsYXNzIGV4dGVuZHMgXy5Se2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLmo9W107dGhpcy5pPVtdfW8oYSxiKXt0aGlzLmoucHVzaCh7ZmVhdHVyZXM6YSxvcHRpb25zOmJ9KX1pbml0KGEsYixjKXt3aW5kb3cuZ2FwaT17fTt2YXIgZD13aW5kb3cuX19fanNsPXt9O2QuaD1fLngoXy5KKGEsMSkpO18uSShhLDEyKSE9bnVsbCYmKGQuZHBvPV8udyhfLksoYSwxMikpKTtkLm1zPV8ueChfLkooYSwyKSk7ZC5tPV8ueChfLkooYSwzKSk7ZC5sPVtdO18uTChiLDEpJiYoYT1fLkooYiwzKSkmJnRoaXMuaS5wdXNoKGEpO18uTChjLDEpJiYoYz1fLkooYywyKSkmJnRoaXMuaS5wdXNoKGMpO18uQSgiZ2FwaS5sb2FkIiwoMCxfLnopKHRoaXMubyx0aGlzKSk7cmV0dXJuIHRoaXN9fTt2YXIgcmQ9Xy5GKF8uYWQsXy5SYywxNCk7aWYocmQpe3ZhciBzZD1fLkYoXy5hZCxfLm9kLDkpfHxuZXcgXy5vZCx0ZD1uZXcgcGQsdWQ9bmV3IHFkO3VkLmluaXQocmQsc2QsdGQpO18uaWQoImdzIix1ZCl9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KfSkodGhpcy5nYmFyXyk7Ci8vIEdvb2dsZSBJbmMuCjwvc2NyaXB0PjxzdHlsZT5oMSxvbCx1bCxsaSxidXR0b257bWFyZ2luOjA7cGFkZGluZzowfWJ1dHRvbntib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOm5vbmV9Ym9keXtiYWNrZ3JvdW5kOiNmZmZ9Ym9keSxpbnB1dCxidXR0b257Zm9udC1zaXplOjE0cHg7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjtjb2xvcjp2YXIoLS1DT0VtWSl9YXtjb2xvcjp2YXIoLS1KS3F4Mik7dGV4dC1kZWNvcmF0aW9uOm5vbmV9YTpob3ZlcixhOmFjdGl2ZXt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfWE6dmlzaXRlZHtjb2xvcjojNjgxZGE4fWh0bWwsYm9keXttaW4td2lkdGg6NDAwcHh9Ym9keSxodG1se2hlaWdodDoxMDAlO21hcmdpbjowO3BhZGRpbmc6MH0uZ2JfOWE6bm90KC5nYl9iZCl7Zm9udDoxM3B4LzI3cHggUm9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7ei1pbmRleDo5ODZ9LmdiX3J7ZGlzcGxheTpub25lfS5nYl9oYSwuZ2JfZGR7Zm9udC1mYW1pbHk6Ikdvb2dsZSBTYW5zIFRleHQiLFJvYm90byxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtmb250LXN0eWxlOm5vcm1hbH1hLmdiX3Zhey13ZWJraXQtYm9yZGVyLXJhZGl1czoxMDBweDtib3JkZXItcmFkaXVzOjEwMHB4O2JhY2tncm91bmQ6IzBiNTdkMDtiYWNrZ3JvdW5kOnZhcigtLWdtMy1zeXMtY29sb3ItcHJpbWFyeSwjMGI1N2QwKTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6I2ZmZjtjb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLW9uLXByaW1hcnksI2ZmZik7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO21pbi1oZWlnaHQ6NDBweDtvdXRsaW5lOm5vbmU7cGFkZGluZzoxMHB4IDI0cHg7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC1kZWNvcmF0aW9uOm5vbmU7d2hpdGUtc3BhY2U6bm9ybWFsO2xpbmUtaGVpZ2h0OjE4cHg7cG9zaXRpb246cmVsYXRpdmV9YS5nYl93YXstd2Via2l0LWJvcmRlci1yYWRpdXM6MTAwcHg7Ym9yZGVyLXJhZGl1czoxMDBweDtib3JkZXI6MXB4IHNvbGlkO2JvcmRlci1jb2xvcjojNzQ3Nzc1O2JvcmRlci1jb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLW91dGxpbmUsIzc0Nzc3NSk7YmFja2dyb3VuZDpub25lOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjojMGI1N2QwO2NvbG9yOnZhcigtLWdtMy1zeXMtY29sb3ItcHJpbWFyeSwjMGI1N2QwKTtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bWluLWhlaWdodDo0MHB4O291dGxpbmU6bm9uZTtwYWRkaW5nOjEwcHggMjRweDt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LWRlY29yYXRpb246bm9uZTt3aGl0ZS1zcGFjZTpub3JtYWw7bGluZS1oZWlnaHQ6MThweDtwb3NpdGlvbjpyZWxhdGl2ZX0uZ2JfQWEuZ2JfaSBhLmdiX3ZhLC5nYl9CYS5nYl9pIGEuZ2JfdmF7YmFja2dyb3VuZDojYThjN2ZhO2JhY2tncm91bmQ6dmFyKC0tZ20zLXN5cy1jb2xvci1wcmltYXJ5LCNhOGM3ZmEpO2NvbG9yOiMwNjJlNmY7Y29sb3I6dmFyKC0tZ20zLXN5cy1jb2xvci1vbi1wcmltYXJ5LCMwNjJlNmYpfS5nYl9DYS5nYl9pIGEuZ2JfdmF7YmFja2dyb3VuZDojYzJlN2ZmO2JhY2tncm91bmQ6dmFyKC0tZ20zLXN5cy1jb2xvci1zZWNvbmRhcnktY29udGFpbmVyLCNjMmU3ZmYpO2NvbG9yOiMwMDFkMzU7Y29sb3I6dmFyKC0tZ20zLXN5cy1jb2xvci1vbi1zZWNvbmRhcnktY29udGFpbmVyLCMwMDFkMzUpfS5nYl9oYS5nYl9pIGEuZ2Jfd2F7Y29sb3I6I2E4YzdmYTtjb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLXByaW1hcnksI2E4YzdmYSl9YS5nYl9lZHtwYWRkaW5nOjEwcHggMTJweDttYXJnaW46MTJweCAxNnB4IDEycHggMTBweDttaW4td2lkdGg6ODVweH1AbWVkaWEgKG1heC13aWR0aDo2NDBweCl7YS5nYl9lZHttaW4td2lkdGg6NzVweH19LmdiX2hhLmdiX0Fhe2NvbG9yOiMxZjFmMWY7Y29sb3I6dmFyKC0tZ20zLXN5cy1jb2xvci1vbi1zdXJmYWNlLCMxZjFmMWYpfS5nYl9oYS5nYl9BYS5nYl9mZHtiYWNrZ3JvdW5kOiNmZmY7YmFja2dyb3VuZDp2YXIoLS1nbTMtc3lzLWNvbG9yLWJhY2tncm91bmQsI2ZmZil9LmdiX2hhLmdiX0FhIC5nYl82Yy5nYl83YywuZ2JfaGEuZ2JfQWEgYS5nYl95LC5nYl9oYS5nYl9BYSBzcGFuLmdiX3ksLmdiX2hhLmdiX0FhIC5nYl84YyAuZ2JfZ2QsLmdiX2hhLmdiX0FhIC5nYl9YYyAuZ2JfZ2R7Y29sb3I6IzFmMWYxZjtjb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLW9uLXN1cmZhY2UsIzFmMWYxZil9LmdiX2hhLmdiX0FhIHN2Z3tjb2xvcjojNDQ0NzQ2O2NvbG9yOnZhcigtLWdtMy1zeXMtY29sb3Itb24tc3VyZmFjZS12YXJpYW50LCM0NDQ3NDYpfS5nYl9oYS5nYl9pLmdiX0Fhe2NvbG9yOiNlM2UzZTM7Y29sb3I6dmFyKC0tZ20zLXN5cy1jb2xvci1vbi1zdXJmYWNlLCNlM2UzZTMpfS5nYl9oYS5nYl9pLmdiX0FhLmdiX2Zke2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9LmdiX2hhLmdiX2kuZ2JfQWEgLmdiXzZjLmdiXzdjLC5nYl9oYS5nYl9pLmdiX0FhIGEuZ2JfeSwuZ2JfaGEuZ2JfaS5nYl9BYSBzcGFuLmdiX3ksLmdiX2hhLmdiX2kuZ2JfQWEgLmdiXzhjIC5nYl9nZCwuZ2JfaGEuZ2JfaS5nYl9BYSAuZ2JfWGMgLmdiX2dke2NvbG9yOiNlM2UzZTM7Y29sb3I6dmFyKC0tZ20zLXN5cy1jb2xvci1vbi1zdXJmYWNlLCNlM2UzZTMpfS5nYl9oYS5nYl9pLmdiX0FhIHN2Z3tjb2xvcjojYzRjN2M1O2NvbG9yOnZhcigtLWdtMy1zeXMtY29sb3Itb24tc3VyZmFjZS12YXJpYW50LCNjNGM3YzUpfS5nYl9oYS5nYl9pLmdiX0FhLmdiX2Zke2JhY2tncm91bmQ6IzFmMWYxZjtiYWNrZ3JvdW5kOnZhcigtLWdtMy1zeXMtY29sb3ItYmFja2dyb3VuZCwjMWYxZjFmKX0uZ2JfaGEuZ2JfQmF7Y29sb3I6IzFmMWYxZjtjb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLW9uLXN1cmZhY2UsIzFmMWYxZil9LmdiX2hhLmdiX0JhLmdiX2Zke2JhY2tncm91bmQ6I2U5ZWVmNjtiYWNrZ3JvdW5kOnZhcigtLWdtMy1zeXMtY29sb3Itc3VyZmFjZS1jb250YWluZXItaGlnaCwjZTllZWY2KX0uZ2JfaGEuZ2JfQmEgLmdiXzZjLmdiXzdjLC5nYl9oYS5nYl9CYSBhLmdiX3ksLmdiX2hhLmdiX0JhIHNwYW4uZ2JfeSwuZ2JfaGEuZ2JfQmEgLmdiXzhjIC5nYl9nZCwuZ2JfaGEuZ2JfQmEgLmdiX1hjIC5nYl9nZHtjb2xvcjojMWYxZjFmO2NvbG9yOnZhcigtLWdtMy1zeXMtY29sb3Itb24tc3VyZmFjZSwjMWYxZjFmKX0uZ2JfaGEuZ2JfQmEgc3Zne2NvbG9yOiM0NDQ3NDY7Y29sb3I6dmFyKC0tZ20zLXN5cy1jb2xvci1vbi1zdXJmYWNlLXZhcmlhbnQsIzQ0NDc0Nil9LmdiX2hhLmdiX2kuZ2JfQmF7Y29sb3I6I2UzZTNlMztjb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLW9uLXN1cmZhY2UsI2UzZTNlMyl9LmdiX2hhLmdiX2kuZ2JfQmEuZ2JfZmR7YmFja2dyb3VuZDojMjgyYTJjO2JhY2tncm91bmQ6dmFyKC0tZ20zLXN5cy1jb2xvci1zdXJmYWNlLWNvbnRhaW5lci1oaWdoLCMyODJhMmMpfS5nYl9oYS5nYl9pLmdiX0JhIC5nYl82Yy5nYl83YywuZ2JfaGEuZ2JfaS5nYl9CYSBhLmdiX3ksLmdiX2hhLmdiX2kuZ2JfQmEgc3Bhbi5nYl95LC5nYl9oYS5nYl9pLmdiX0JhIC5nYl84YyAuZ2JfZ2QsLmdiX2hhLmdiX2kuZ2JfQmEgLmdiX1hjIC5nYl9nZHtjb2xvcjojZTNlM2UzO2NvbG9yOnZhcigtLWdtMy1zeXMtY29sb3Itb24tc3VyZmFjZSwjZTNlM2UzKX0uZ2JfaGEuZ2JfaS5nYl9CYSBzdmd7Y29sb3I6I2M0YzdjNTtjb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLW9uLXN1cmZhY2UtdmFyaWFudCwjYzRjN2M1KX0uZ2JfaGEuZ2JfQ2F7Y29sb3I6IzFmMWYxZjtjb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLW9uLXN1cmZhY2UsIzFmMWYxZil9LmdiX2hhLmdiX0NhLmdiX2Zke2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9LmdiX2hhLmdiX0NhIC5nYl82Yy5nYl83YywuZ2JfaGEuZ2JfQ2EgYS5nYl95LC5nYl9oYS5nYl9DYSBzcGFuLmdiX3ksLmdiX2hhLmdiX0NhIC5nYl84YyAuZ2JfZ2QsLmdiX2hhLmdiX0NhIC5nYl9YYyAuZ2JfZ2R7Y29sb3I6IzFmMWYxZjtjb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLW9uLXN1cmZhY2UsIzFmMWYxZil9LmdiX2hhLmdiX0NhIHN2Z3tjb2xvcjojNDQ0NzQ2O2NvbG9yOnZhcigtLWdtMy1zeXMtY29sb3Itb24tc3VyZmFjZS12YXJpYW50LCM0NDQ3NDYpfS5nYl9oYS5nYl9DYS5nYl9pLmdiX2Zke2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9LmdiX2hhLmdiX0NhLmdiX2kgLmdiXzZjLmdiXzdjLC5nYl9oYS5nYl9DYS5nYl9pIGEuZ2JfeSwuZ2JfaGEuZ2JfQ2EuZ2JfaSBzcGFuLmdiX3ksLmdiX2hhLmdiX0NhLmdiX2kgLmdiXzhjIC5nYl9nZCwuZ2JfaGEuZ2JfQ2EuZ2JfaSAuZ2JfWGMgLmdiX2dkLC5nYl9oYS5nYl9DYS5nYl9pIHN2Z3tjb2xvcjp3aGl0ZTtjb2xvcjp2YXIoLS1vZy10aGVtZS1jb2xvcix3aGl0ZSl9LmdiX2hhIGEuZ2JfeSwuZ2JfaGEgc3Bhbi5nYl95e3RleHQtZGVjb3JhdGlvbjpub25lfS5nYl82Y3tmb250LWZhbWlseTpHb29nbGUgU2FucyxSb2JvdG8sSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6NDAwO2xldHRlci1zcGFjaW5nOi4yNXB4O2xpbmUtaGVpZ2h0OjQ4cHg7bWFyZ2luLWJvdHRvbToycHg7b3BhY2l0eToxO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLWxlZnQ6MTZweDtwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt0b3A6MnB4O3doaXRlLXNwYWNlOm5vd3JhcDstd2Via2l0LWZsZXg6MSAxIGF1dG87LXdlYmtpdC1ib3gtZmxleDoxO2ZsZXg6MSAxIGF1dG99LmdiX2hhLmdiX0phIC5nYl82Y3ttYXJnaW4tYm90dG9tOjB9LmdiXzhjLmdiXzljIC5nYl82Y3twYWRkaW5nLWxlZnQ6NHB4fS5nYl9oYS5nYl9KYSAuZ2JfYWR7cG9zaXRpb246cmVsYXRpdmU7dG9wOi0ycHh9LmdiX2hhe21pbi13aWR0aDoxNjBweDtwb3NpdGlvbjpyZWxhdGl2ZX0uZ2JfaGEuZ2JfUGN7bWluLXdpZHRoOjEyMHB4fS5nYl9oYS5nYl9oZCAuZ2JfaWR7ZGlzcGxheTpub25lfS5nYl9oYS5nYl9oZCAuZ2JfamR7aGVpZ2h0OjU2cHh9aGVhZGVyLmdiX2hhe2Rpc3BsYXk6YmxvY2t9LmdiX2hhIHN2Z3tmaWxsOmN1cnJlbnRDb2xvcn0uZ2Jfa2R7cG9zaXRpb246Zml4ZWQ7dG9wOjA7d2lkdGg6MTAwJX0uZ2JfbGR7LXdlYmtpdC1ib3gtc2hhZG93OjAgNHB4IDVweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpLDAgMnB4IDRweCAtMXB4IHJnYmEoMCwwLDAsLjIpO2JveC1zaGFkb3c6MCA0cHggNXB4IDAgcmdiYSgwLDAsMCwuMTQpLDAgMXB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMiksMCAycHggNHB4IC0xcHggcmdiYSgwLDAsMCwuMil9LmdiX21ke2hlaWdodDo2NHB4fS5nYl9qZHstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1wYWNrOnNwYWNlLWJldHdlZW47LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjttaW4td2lkdGg6LXdlYmtpdC1taW4tY29udGVudDttaW4td2lkdGg6bWluLWNvbnRlbnR9LmdiX2hhOm5vdCguZ2JfSmEpIC5nYl9qZHtwYWRkaW5nOjhweH0uZ2JfaGE6bm90KC5nYl9KYSkgLmdiX2pkIGEuZ2JfbmR7bWFyZ2luOjEycHggOHB4IDEycHggMTBweH0uZ2JfaGEuZ2Jfb2QgLmdiX2pkey13ZWJraXQtZmxleDoxIDAgYXV0bzstd2Via2l0LWJveC1mbGV4OjE7ZmxleDoxIDAgYXV0b30uZ2JfaGEgLmdiX2pkLmdiX3BkLmdiX3Fke21pbi13aWR0aDowfS5nYl9oYS5nYl9KYSAuZ2JfamR7cGFkZGluZzo0cHg7cGFkZGluZy1sZWZ0OjhweDttaW4td2lkdGg6MH0uZ2JfaGEuZ2JfSmEgLmdiX2pkIGEuZ2JfbmR7bWFyZ2luOjEycHggOHB4IDEycHggMTBweH0uZ2JfaWR7aGVpZ2h0OjQ4cHg7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOm5vd3JhcDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZX0uZ2Jfc2Q+LmdiX2lke2Rpc3BsYXk6dGFibGUtY2VsbDt3aWR0aDoxMDAlfS5nYl84Y3twYWRkaW5nLXJpZ2h0OjI1cHg7Ym94LXNpemluZzpib3JkZXItYm94Oy13ZWJraXQtZmxleDoxIDAgYXV0bzstd2Via2l0LWJveC1mbGV4OjE7ZmxleDoxIDAgYXV0b30uZ2JfaGEuZ2JfSmEgLmdiXzhje3BhZGRpbmctcmlnaHQ6MTRweH0uZ2JfdGR7LXdlYmtpdC1mbGV4OjEgMSAxMDAlOy13ZWJraXQtYm94LWZsZXg6MTtmbGV4OjEgMSAxMDAlfS5nYl90ZD46b25seS1jaGlsZHtkaXNwbGF5OmlubGluZS1ibG9ja30uZ2JfdWQuZ2JfWmN7cGFkZGluZy1sZWZ0OjRweH0uZ2JfdWQuZ2JfdmQsLmdiX2hhLmdiX29kIC5nYl91ZCwuZ2JfaGEuZ2JfSmE6bm90KC5nYl9kZCkgLmdiX3Vke3BhZGRpbmctbGVmdDowfS5nYl9oYS5nYl9KYSAuZ2JfdWQuZ2JfdmR7cGFkZGluZy1yaWdodDowfS5nYl9oYS5nYl9KYSAuZ2JfdWQuZ2JfdmQgLmdiX3hhe21hcmdpbi1sZWZ0OjEwcHh9LmdiX1pje2Rpc3BsYXk6aW5saW5lfS5nYl9oYS5nYl9TYyAuZ2JfdWQuZ2Jfd2QsLmdiX2hhLmdiX2RkIC5nYl91ZC5nYl93ZHtwYWRkaW5nLWxlZnQ6MnB4fS5nYl82Y3tkaXNwbGF5OmlubGluZS1ibG9ja30uZ2JfdWR7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2hlaWdodDo0OHB4O3BhZGRpbmc6MCA0cHg7cGFkZGluZy1sZWZ0OjVweDstd2Via2l0LWZsZXg6MCAwIGF1dG87LXdlYmtpdC1ib3gtZmxleDowO2ZsZXg6MCAwIGF1dG87LXdlYmtpdC1ib3gtcGFjazpmbGV4LWVuZDstd2Via2l0LWp1c3RpZnktY29udGVudDpmbGV4LWVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LmdiX2Rke2hlaWdodDo0OHB4fS5nYl9oYS5nYl9kZHttaW4td2lkdGg6YXV0b30uZ2JfZGQgLmdiX3Vke2Zsb2F0OnJpZ2h0O3BhZGRpbmctbGVmdDozMnB4O3BhZGRpbmctbGVmdDp2YXIoLS1vZy1iYXItcGFydHMtc2lkZS1wYWRkaW5nLDMycHgpfS5nYl9kZCAuZ2JfdWQuZ2JfeGR7cGFkZGluZy1sZWZ0OjB9LmdiX3lke2ZvbnQtc2l6ZToxNHB4O21heC13aWR0aDoyMDBweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowIDEycHg7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7LXdlYmtpdC11c2VyLXNlbGVjdDp0ZXh0fS5nYl9NYyBhe2NvbG9yOmluaGVyaXR9LmdiXzdje3RleHQtcmVuZGVyaW5nOm9wdGltaXplTGVnaWJpbGl0eTstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkO29wYWNpdHk6MX0uZ2JfemR7cG9zaXRpb246cmVsYXRpdmV9LmdiX297Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjtsaW5lLWhlaWdodDpub3JtYWw7cGFkZGluZy1yaWdodDoxNXB4fS5nYl96e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmctbGVmdDoxNXB4fS5nYl96IC5nYl95e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2xpbmUtaGVpZ2h0OjI0cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nYl9BZHt0ZXh0LWFsaWduOmxlZnR9LmdiX2x7ZGlzcGxheTpub25lfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MzE5cHgpey5nYl9qZDpub3QoLmdiX3BkKSAuZ2Jfa3tkaXNwbGF5Om5vbmU7dmlzaWJpbGl0eTpoaWRkZW59fS5nYl9rIC5nYl9kLC5nYl9rIC5nYl9kOmhvdmVyLC5nYl9rIC5nYl9kOmZvY3Vze29wYWNpdHk6MX0uZ2JfbntkaXNwbGF5Om5vbmV9LmdiX217ZGlzcGxheTpub25lIWltcG9ydGFudH0uZ2JfVGF7dmlzaWJpbGl0eTpoaWRkZW59QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDozMTlweCl7LmdiX2pkOm5vdCguZ2JfcGQpIC5nYl9re2Rpc3BsYXk6bm9uZTt2aXNpYmlsaXR5OmhpZGRlbn19LmdiX0Zke2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZ2JfSWQgLmdiX3J7Ym90dG9tOi0zcHg7cmlnaHQ6LTVweH0uZ2JfZntwb3NpdGlvbjpyZWxhdGl2ZX0uZ2JfZHtkaXNwbGF5OmlubGluZS1ibG9jaztvdXRsaW5lOm5vbmU7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtYm9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyLXJhZGl1czo1MCU7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2hlaWdodDo0MHB4O3dpZHRoOjQwcHg7Y3Vyc29yOnBvaW50ZXI7dGV4dC1kZWNvcmF0aW9uOm5vbmV9I2diI2diIGEuZ2JfZHtjdXJzb3I6cG9pbnRlcjt0ZXh0LWRlY29yYXRpb246bm9uZX0uZ2JfZCxhLmdiX2R7Y29sb3I6IzAwMH14Oi1vLXByZWZvY3Vze2JvcmRlci1ib3R0b20tY29sb3I6I2NjY30uZ2JfV3tiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4yKTtjb2xvcjojMDAwOy13ZWJraXQtYm94LXNoYWRvdzowIDJweCAxMHB4IHJnYmEoMCwwLDAsLjIpO2JveC1zaGFkb3c6MCAycHggMTBweCByZ2JhKDAsMCwwLC4yKTtkaXNwbGF5Om5vbmU7b3V0bGluZTpub25lO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDo1NHB4Oy13ZWJraXQtYW5pbWF0aW9uOmdiX19hIC4yczstd2Via2l0LWFuaW1hdGlvbjpnYl9fYSAuMnM7YW5pbWF0aW9uOmdiX19hIC4yczstd2Via2l0LWJvcmRlci1yYWRpdXM6MnB4O2JvcmRlci1yYWRpdXM6MnB4Oy13ZWJraXQtdXNlci1zZWxlY3Q6dGV4dH0uZ2JfRmQuZ2JfRWEgLmdiX1csLmdiX0VhLmdiX1d7ZGlzcGxheTpibG9ja30uZ2JfSmR7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6NTRweDt6LWluZGV4Oi0xfS5nYl8wYSAuZ2JfV3ttYXJnaW4tdG9wOi0xMHB4fS5nYl9GZDpmaXJzdC1jaGlsZHtwYWRkaW5nLWxlZnQ6NHB4fS5nYl9oYS5nYl9LZCAuZ2JfRmQ6Zmlyc3QtY2hpbGR7cGFkZGluZy1sZWZ0OjB9LmdiX0xke3Bvc2l0aW9uOnJlbGF0aXZlfS5nYl9YYyAuZ2JfTGQsLmdiX2RkIC5nYl9MZHtmbG9hdDpyaWdodH0uZ2JfZHtwYWRkaW5nOjhweDtjdXJzb3I6cG9pbnRlcn0uZ2JfTWQgYnV0dG9uIHN2ZywuZ2JfZHstd2Via2l0LWJvcmRlci1yYWRpdXM6NTAlO2JvcmRlci1yYWRpdXM6NTAlfS5nYl9GZHtwYWRkaW5nOjRweH0uZ2JfaGEuZ2JfS2QgLmdiX0Zke3BhZGRpbmc6NHB4IDJweH0uZ2JfaGEuZ2JfS2QgLmdiX2IuZ2JfRmR7cGFkZGluZy1sZWZ0OjZweH0uZ2JfV3t6LWluZGV4Ojk5MTtsaW5lLWhlaWdodDpub3JtYWx9LmdiX1cuZ2JfTmR7bGVmdDowO3JpZ2h0OmF1dG99QG1lZGlhIChtYXgtd2lkdGg6MzUwcHgpey5nYl9XLmdiX05ke2xlZnQ6MH19LmdiX09kIC5nYl9Xe3RvcDo1NnB4fS5nYl9xey13ZWJraXQtYmFja2dyb3VuZC1zaXplOjMycHggMzJweDtiYWNrZ3JvdW5kLXNpemU6MzJweCAzMnB4O2JvcmRlcjowOy13ZWJraXQtYm9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyLXJhZGl1czo1MCU7ZGlzcGxheTpibG9jazttYXJnaW46MHB4O3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDozMnB4O3dpZHRoOjMycHg7ei1pbmRleDowfS5nYl9VYXtiYWNrZ3JvdW5kLWNvbG9yOiNlOGYwZmU7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDMyLDMzLDM2LC4wOCk7cG9zaXRpb246cmVsYXRpdmV9LmdiX1VhLmdiX3F7aGVpZ2h0OjMwcHg7d2lkdGg6MzBweH0uZ2JfVWEuZ2JfcTpob3ZlciwuZ2JfVWEuZ2JfcTphY3RpdmV7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lfS5nYl9WYXtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOm5vbmU7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjUwJTtib3JkZXItcmFkaXVzOjUwJTtib3R0b206MnB4Oy13ZWJraXQtYm94LXNoYWRvdzowcHggMXB4IDJweCAwcHggcmdiYSg2MCw2NCw2NywuMzApLDBweCAxcHggM3B4IDFweCByZ2JhKDYwLDY0LDY3LC4xNSk7Ym94LXNoYWRvdzowcHggMXB4IDJweCAwcHggcmdiYSg2MCw2NCw2NywuMzApLDBweCAxcHggM3B4IDFweCByZ2JhKDYwLDY0LDY3LC4xNSk7aGVpZ2h0OjE0cHg7bWFyZ2luOjJweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3dpZHRoOjE0cHh9LmdiX1dhe2NvbG9yOiMxZjcxZTc7Zm9udDo0MDAgMjJweC8zMnB4IEdvb2dsZSBTYW5zLFJvYm90byxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9QG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MS4yNSksKG1pbi1yZXNvbHV0aW9uOjEuMjVkcHB4KSwobWluLWRldmljZS1waXhlbC1yYXRpbzoxLjI1KXsuZ2JfcTo6YmVmb3JlLC5nYl9YYTo6YmVmb3Jle2Rpc3BsYXk6aW5saW5lLWJsb2NrOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDAuNSk7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMC41KTt0cmFuc2Zvcm06c2NhbGUoMC41KTstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46bGVmdCAwOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpsZWZ0IDA7dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IDB9LmdiX0QgLmdiX1hhOjpiZWZvcmV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoc2NhbGUoMC40MTY2NjY2NjcpKTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZShzY2FsZSgwLjQxNjY2NjY2NykpO3RyYW5zZm9ybTpzY2FsZShzY2FsZSgwLjQxNjY2NjY2NykpfX0uZ2JfcTpob3ZlciwuZ2JfcTpmb2N1c3std2Via2l0LWJveC1zaGFkb3c6MCAxcHggMCByZ2JhKDAsMCwwLC4xNSk7Ym94LXNoYWRvdzowIDFweCAwIHJnYmEoMCwwLDAsLjE1KX0uZ2JfcTphY3RpdmV7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMnB4IDAgcmdiYSgwLDAsMCwuMTUpO2JveC1zaGFkb3c6aW5zZXQgMCAycHggMCByZ2JhKDAsMCwwLC4xNSl9LmdiX3E6YWN0aXZlOjphZnRlcntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjEpOy13ZWJraXQtYm9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyLXJhZGl1czo1MCU7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlfS5nYl9aYXtjdXJzb3I6cG9pbnRlcjtsaW5lLWhlaWdodDo0MHB4O21pbi13aWR0aDozMHB4O29wYWNpdHk6Ljc1O292ZXJmbG93OmhpZGRlbjt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uZ2JfZC5nYl9aYXt3aWR0aDphdXRvfS5nYl9aYTpob3ZlciwuZ2JfWmE6Zm9jdXN7b3BhY2l0eTouODV9LmdiXzBhIC5nYl9aYSwuZ2JfMGEgLmdiXzFhe2xpbmUtaGVpZ2h0OjI2cHh9I2diI2diLmdiXzBhIGEuZ2JfWmEsLmdiXzBhIC5nYl8xYXtmb250LXNpemU6MTFweDtoZWlnaHQ6YXV0b30uZ2JfMmF7Ym9yZGVyLXRvcDo0cHggc29saWQgIzAwMDtib3JkZXItbGVmdDo0cHggZGFzaGVkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDo0cHggZGFzaGVkIHRyYW5zcGFyZW50O2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1sZWZ0OjZweDtvcGFjaXR5Oi43NTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmdiX3phOmhvdmVyIC5nYl8yYXtvcGFjaXR5Oi44NX0uZ2JfeGE+LmdiX2J7cGFkZGluZzozcHggM3B4IDNweCA0cHh9LmdiXzNhLmdiX1Rhe2NvbG9yOiNmZmZ9LmdiX0IgLmdiX1phLC5nYl9CIC5nYl8yYXtvcGFjaXR5OjF9I2diI2diLmdiX0IuZ2JfQiBhLmdiX1phLCNnYiNnYiAuZ2JfQi5nYl9CIGEuZ2JfWmF7Y29sb3I6I2ZmZn0uZ2JfQi5nYl9CIC5nYl8yYXtib3JkZXItdG9wLWNvbG9yOiNmZmY7b3BhY2l0eToxfS5nYl9WIC5nYl9xOmhvdmVyLC5nYl9CIC5nYl9xOmhvdmVyLC5nYl9WIC5nYl9xOmZvY3VzLC5nYl9CIC5nYl9xOmZvY3Vzey13ZWJraXQtYm94LXNoYWRvdzowIDFweCAwIHJnYmEoMCwwLDAsLjE1KSwwIDFweCAycHggcmdiYSgwLDAsMCwuMik7Ym94LXNoYWRvdzowIDFweCAwIHJnYmEoMCwwLDAsLjE1KSwwIDFweCAycHggcmdiYSgwLDAsMCwuMil9LmdiXzRhIC5nYl9iLC5nYl81YSAuZ2JfYntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxcHh9LmdiX2IuZ2JfQSwuZ2JfNmEuZ2JfQSwuZ2JfemEuZ2JfQXstd2Via2l0LWZsZXg6MCAxIGF1dG87LXdlYmtpdC1ib3gtZmxleDowO2ZsZXg6MCAxIGF1dG99LmdiXzdhLmdiXzhhIC5nYl9aYXt3aWR0aDozMHB4IWltcG9ydGFudH0uZ2JfcHtoZWlnaHQ6NDBweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDotNXB4O3RvcDotNXB4O3dpZHRoOjQwcHh9LmdiXzlhIC5nYl9wLC5nYl9hYiAuZ2JfcHtyaWdodDowO3RvcDowfS5nYl9iIC5nYl9ke3BhZGRpbmc6NHB4fS5nYl9ze2Rpc3BsYXk6bm9uZX0uZ2JfemE6bm90KC5nYl9uZCl7cG9zaXRpb246cmVsYXRpdmV9LmdiX3phOm5vdCguZ2JfbmQpOjphZnRlcntjb250ZW50OiIiO2JvcmRlcjoxcHggc29saWQgIzIwMjEyNDtvcGFjaXR5Oi4xMztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NHB4O2xlZnQ6NHB4Oy13ZWJraXQtYm9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyLXJhZGl1czo1MCU7d2lkdGg6MzBweDtoZWlnaHQ6MzBweH0uZ2JfeGF7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDo0OHB4O292ZXJmbG93OmhpZGRlbjtvdXRsaW5lOm5vbmU7cGFkZGluZzo3cHggMCAwIDE2cHg7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjE0MnB4Oy13ZWJraXQtYm9yZGVyLXJhZGl1czoyOHB4O2JvcmRlci1yYWRpdXM6MjhweDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjoxcHggc29saWQ7cG9zaXRpb246cmVsYXRpdmV9LmdiX3hhIC5nYl96YXt3aWR0aDozMnB4O2hlaWdodDozMnB4O3BhZGRpbmc6MH0uZ2JfQWEgLmdiX3hhLC5nYl9CYSAuZ2JfeGF7Ym9yZGVyLWNvbG9yOiM3NDc3NzU7Ym9yZGVyLWNvbG9yOnZhcigtLWdtMy1zeXMtY29sb3Itb3V0bGluZSwjNzQ3Nzc1KX0uZ2JfQWEuZ2JfaSAuZ2JfeGEsLmdiX0JhLmdiX2kgLmdiX3hhe2JvcmRlci1jb2xvcjojOGU5MThmO2JvcmRlci1jb2xvcjp2YXIoLS1nbTMtc3lzLWNvbG9yLW91dGxpbmUsIzhlOTE4Zil9LmdiX0NhIC5nYl94YXtib3JkZXItY29sb3I6Izc0Nzc3NTtib3JkZXItY29sb3I6dmFyKC0tZ20zLXN5cy1jb2xvci1vdXRsaW5lLCM3NDc3NzUpfS5nYl9DYS5nYl9pIC5nYl94YXtib3JkZXItY29sb3I6I2UzZTNlMztib3JkZXItY29sb3I6dmFyKC0tZ20zLXN5cy1jb2xvci1vbi1zdXJmYWNlLCNlM2UzZTMpfS5nYl9EYXtkaXNwbGF5OmluaGVyaXR9LmdiX3hhIC5nYl9EYXtiYWNrZ3JvdW5kOiNmZmY7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjZweDtib3JkZXItcmFkaXVzOjZweDtkaXNwbGF5OmlubGluZS1ibG9jaztsZWZ0OjE1cHg7bWFyZ2luLXJpZ2h0OjVweDtwb3NpdGlvbjppbml0aWFsO3BhZGRpbmc6MnB4O3RvcDotMXB4O2hlaWdodDozMnB4Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aWR0aDo3OHB4fS5nYl9GYXt0ZXh0LWFsaWduOmNlbnRlcn0uZ2JfRmEuZ2JfSGF7YmFja2dyb3VuZC1jb2xvcjojZjFmM2Y0fS5nYl9GYSAuZ2JfSWF7dmVydGljYWwtYWxpZ246bWlkZGxlO21heC1oZWlnaHQ6MjhweDttYXgtd2lkdGg6NzRweH0uZ2JfaGEgLmdiX3hhIC5nYl9iLmdiX0Zke3BhZGRpbmc6MDttYXJnaW4tcmlnaHQ6OXB4O2Zsb2F0OnJpZ2h0fS5nYl9oYTpub3QoLmdiX0phKSAuZ2JfeGF7bWFyZ2luLWxlZnQ6MTBweDttYXJnaW4tcmlnaHQ6NHB4fXNlbnRpbmVse306cm9vdHstLUNPRW1ZOiMxZjFmMWY7LS14aFVHd2M6I2ZmZn06cm9vdHstLXZaZTBqYjojYThjN2ZhOy0tbndYb2JiOiM2MzhlZDQ7LS1WdVpYQmQ6IzAwMWQzNTstLXVMejM3YzojNTQ1ZDdlOy0taklOdTZjOiMwMDFkMzU7LS1UeVZZbGQ6IzBiNTdkMDstLVpFcFBtZDojYzNkOWZiOy0tUVdhYWFmOiM2MzhlZDQ7LS1ERWVTdGY6I2Y1ZjhmZjstLVRTV1pJYjojZTVlZGZmOy0tQlJMd0U6I2QzZTNmZDstLWdTNWpYYjojZGFkY2UwOy0tQXFuN3hkOiNkMmQyZDI7LS1FcEZOVzojZmZmOy0tSVhveFVlOiM1ZTVlNWU7LS1iYlF4QWI6IzQ3NDc0NzstLVlMTk5IYzojMWYxZjFmOy0tVE1ZUzk6IzBiNTdkMDstLUpLcXgyOiMxYTBkYWI7LS1yckpKVWM6IzBiNTdkMDstLW1YWmtxYzojZDJkMmQyOy0tTnNtMGNlOiMwYjU3ZDA7LS1YS01EeGM6I2Y3ZjhmOTstLWFZbjJTOiNlY2VkZWU7LS1MbTU3MGI6I2VjZWRlZX0uSWlPU0xiIC5yc0d4SS5XdzRGRmIsLld3NEZGYntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXhoVUd3Yyk7Ym9yZGVyLXJhZGl1czowcHg7Ym9yZGVyLXdpZHRoOjB9LklpT1NMYiAucnNHeEkuV3c0RkZiLC5XdzRGRmJ7Ym94LXNoYWRvdzpub25lfS5XdzRGRmIgLm1uci1jOm5vdCg6ZW1wdHkpLC5tbnItYzpub3QoOmVtcHR5KSAuV3c0RkZiLC5XdzRGRmIgLld3NEZGYntib3gtc2hhZG93Om5vbmU7bWFyZ2luLWJvdHRvbTowcHh9LnZ0NmF6ZHttYXJnaW46MHB4IDBweCA4cHh9LnZ0NmF6ZHttYXJnaW46MHB4IDBweCAzMHB4fS5DQnZ2enttYXJnaW46LXZhcigtLXNkcy1zeXMtbWVhc3VyZW1lbnQtLXNwYWNlLXNtKSAwcHggMHB4fS5DQnZ2enttYXJnaW46LTMwcHggMHB4IDBweH0uamJCSXRme2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmV9LkRVME5Ke2JvdHRvbTowO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDowfS5sUDNKb2Z7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmV9Lm5OTXVPZHthbmltYXRpb246cWxpLWNvbnRhaW5lci1yb3RhdGUgMTU2OC4yMzUyOTQxMTc2bXMgbGluZWFyIGluZmluaXRlfUBrZXlmcmFtZXMgcWxpLWNvbnRhaW5lci1yb3RhdGV7ZnJvbXt0cmFuc2Zvcm06cm90YXRlKDApfXRve3RyYW5zZm9ybTpyb3RhdGUoMXR1cm4pfX0uUm9LbWhie2hlaWdodDoxMDAlO29wYWNpdHk6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlfS5uTk11T2QgLlZRZGVhYnthbmltYXRpb246cWxpLWZpbGwtdW5maWxsLXJvdGF0ZSA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwwLDAuMiwxKSBpbmZpbml0ZSBib3RoLHFsaS1ibHVlLWZhZGUtaW4tb3V0IDUzMzJtcyBjdWJpYy1iZXppZXIoMC40LDAsMC4yLDEpIGluZmluaXRlIGJvdGh9Lm5OTXVPZCAuSUVxaUFme2FuaW1hdGlvbjpxbGktZmlsbC11bmZpbGwtcm90YXRlIDUzMzJtcyBjdWJpYy1iZXppZXIoMC40LDAsMC4yLDEpIGluZmluaXRlIGJvdGgscWxpLXJlZC1mYWRlLWluLW91dCA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwwLDAuMiwxKSBpbmZpbml0ZSBib3RofS5uTk11T2QgLnNtb2NzZXthbmltYXRpb246cWxpLWZpbGwtdW5maWxsLXJvdGF0ZSA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwwLDAuMiwxKSBpbmZpbml0ZSBib3RoLHFsaS15ZWxsb3ctZmFkZS1pbi1vdXQgNTMzMm1zIGN1YmljLWJlemllcigwLjQsMCwwLjIsMSkgaW5maW5pdGUgYm90aH0ubk5NdU9kIC5GbEtiQ2V7YW5pbWF0aW9uOnFsaS1maWxsLXVuZmlsbC1yb3RhdGUgNTMzMm1zIGN1YmljLWJlemllcigwLjQsMCwwLjIsMSkgaW5maW5pdGUgYm90aCxxbGktZ3JlZW4tZmFkZS1pbi1vdXQgNTMzMm1zIGN1YmljLWJlemllcigwLjQsMCwwLjIsMSkgaW5maW5pdGUgYm90aH0uQlNuTGIgLm5OTXVPZCAuUm9LbWhie2FuaW1hdGlvbjpxbGktZmlsbC11bmZpbGwtcm90YXRlIDUzMzJtcyBjdWJpYy1iZXppZXIoMC40LDAsMC4yLDEpIGluZmluaXRlIGJvdGg7b3BhY2l0eTowLjk5fUBrZXlmcmFtZXMgcWxpLWZpbGwtdW5maWxsLXJvdGF0ZXswJXt0cmFuc2Zvcm06cm90YXRlKDApfTEyLjUle3RyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKX0yNSV7dHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpfTM3LjUle3RyYW5zZm9ybTpyb3RhdGUoNDA1ZGVnKX01MCV7dHJhbnNmb3JtOnJvdGF0ZSg1NDBkZWcpfTYyLjUle3RyYW5zZm9ybTpyb3RhdGUoNjc1ZGVnKX03NSV7dHJhbnNmb3JtOnJvdGF0ZSg4MTBkZWcpfTg3LjUle3RyYW5zZm9ybTpyb3RhdGUoOTQ1ZGVnKX0xMDAle3RyYW5zZm9ybTpyb3RhdGUoM3R1cm4pfX1Aa2V5ZnJhbWVzIHFsaS1ibHVlLWZhZGUtaW4tb3V0ezAle29wYWNpdHk6MC45OX0yNSV7b3BhY2l0eTowLjk5fTI2JXtvcGFjaXR5OjB9ODkle29wYWNpdHk6MH05MCV7b3BhY2l0eTowLjk5fTEwMCV7b3BhY2l0eTowLjk5fX1Aa2V5ZnJhbWVzIHFsaS1yZWQtZmFkZS1pbi1vdXR7MCV7b3BhY2l0eTowfTE1JXtvcGFjaXR5OjB9MjUle29wYWNpdHk6MC45OX01MCV7b3BhY2l0eTowLjk5fTUxJXtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgcWxpLXllbGxvdy1mYWRlLWluLW91dHswJXtvcGFjaXR5OjB9NDAle29wYWNpdHk6MH01MCV7b3BhY2l0eTowLjk5fTc1JXtvcGFjaXR5OjAuOTl9NzYle29wYWNpdHk6MH19QGtleWZyYW1lcyBxbGktZ3JlZW4tZmFkZS1pbi1vdXR7MCV7b3BhY2l0eTowfTY1JXtvcGFjaXR5OjB9NzUle29wYWNpdHk6MC45OX05MCV7b3BhY2l0eTowLjk5fTEwMCV7b3BhY2l0eTowfX0uYmVEUVB7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjUwJX0uRmNYZml7Ym94LXNpemluZzpib3JkZXItYm94O2hlaWdodDoxMDAlO2xlZnQ6NDUlO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMCV9LlNQS0ZtY3tib3JkZXItcmFkaXVzOjUwJTtib3JkZXI6M3B4IHNvbGlkIHRyYW5zcGFyZW50O2JveC1zaXppbmc6Ym9yZGVyLWJveH1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKSwocHJlZmVycy1jb250cmFzdDptb3JlKXsuYmVEUVA6bGFzdC1jaGlsZCAuU1BLRm1je2JvcmRlcjpub25lfX0ueDNTZFhke3dpZHRoOjIwMCV9Lko3dXVVZXt0cmFuc2Zvcm06cm90YXRlKDEyOWRlZyl9LnNEUElDe2xlZnQ6LTEwMCU7dHJhbnNmb3JtOnJvdGF0ZSgtMTI5ZGVnKX0udFMzUDV7bGVmdDotNDUwJTt3aWR0aDoxMDAwJX0uVlFkZWFiIC5TUEtGbWN7Ym9yZGVyLWNvbG9yOiM0Mjg1ZjR9LklFcWlBZiAuU1BLRm1je2JvcmRlci1jb2xvcjojZWE0MzM1fS5zbW9jc2UgLlNQS0ZtY3tib3JkZXItY29sb3I6I2ZiYmMwNH0uRmxLYkNlIC5TUEtGbWN7Ym9yZGVyLWNvbG9yOiMzNGE4NTN9LlJvS21oYiAuSjd1dVVle2JvcmRlci1ib3R0b20tY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS5Sb0ttaGIgLnNEUElDe2JvcmRlci1ib3R0b20tY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLWxlZnQtY29sb3I6dHJhbnNwYXJlbnR9LlJvS21oYiAudFMzUDV7Ym9yZGVyLWJvdHRvbS1jb2xvcjp0cmFuc3BhcmVudH0uR2dUSldlIC5uTk11T2QgLko3dXVVZXthbmltYXRpb246cWxpLWxlZnQtc3BpbiAxMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwwLDAuMiwxKSBpbmZpbml0ZSBib3RofS5HZ1RKV2UgLm5OTXVPZCAuc0RQSUN7YW5pbWF0aW9uOnFsaS1yaWdodC1zcGluIDEzMzNtcyBjdWJpYy1iZXppZXIoMC40LDAsMC4yLDEpIGluZmluaXRlIGJvdGh9LkJTbkxiIC5uTk11T2QgLko3dXVVZXthbmltYXRpb246cWxpLWxlZnQtc3BpbiAxMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwwLDAuMiwxKSBpbmZpbml0ZSBib3RoO2JvcmRlci1sZWZ0LWNvbG9yOnZhcigtLUVwRk5XKTtib3JkZXItdG9wLWNvbG9yOnZhcigtLUVwRk5XKX0uQlNuTGIgLm5OTXVPZCAuc0RQSUN7YW5pbWF0aW9uOnFsaS1yaWdodC1zcGluIDEzMzNtcyBjdWJpYy1iZXppZXIoMC40LDAsMC4yLDEpIGluZmluaXRlIGJvdGg7Ym9yZGVyLXJpZ2h0LWNvbG9yOnZhcigtLUVwRk5XKTtib3JkZXItdG9wLWNvbG9yOnZhcigtLUVwRk5XKX0uQlNuTGIgLm5OTXVPZCAudFMzUDV7Ym9yZGVyLWNvbG9yOnZhcigtLUVwRk5XKTtib3JkZXItYm90dG9tLWNvbG9yOnRyYW5zcGFyZW50fUBrZXlmcmFtZXMgcWxpLWxlZnQtc3BpbnswJXt0cmFuc2Zvcm06cm90YXRlKDEzMGRlZyl9NTAle3RyYW5zZm9ybTpyb3RhdGUoLTVkZWcpfTEwMCV7dHJhbnNmb3JtOnJvdGF0ZSgxMzBkZWcpfX1Aa2V5ZnJhbWVzIHFsaS1yaWdodC1zcGluezAle3RyYW5zZm9ybTpyb3RhdGUoLTEzMGRlZyl9NTAle3RyYW5zZm9ybTpyb3RhdGUoNWRlZyl9MTAwJXt0cmFuc2Zvcm06cm90YXRlKC0xMzBkZWcpfX0uT2hTY2lje21hcmdpbjowcHh9LnpzWU1NZXtwYWRkaW5nOjBweH0uYk5nOFJie2NsaXA6cmVjdCgxcHgsMXB4LDFweCwxcHgpO2hlaWdodDoxcHg7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3doaXRlLXNwYWNlOm5vd3JhcDt3aWR0aDoxcHg7ei1pbmRleDotMTAwMDt1c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmV9LlRCQzl1YnttYXJnaW4tbGVmdDowcHg7bWFyZ2luLXJpZ2h0OjBweH0uT1o1YlJke21hcmdpbi1ib3R0b206YXV0bzttYXJnaW4tdG9wOmF1dG99LndnYlJOYntjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6NzJweDtwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO3Zpc2liaWxpdHk6aW5oZXJpdDt3aWR0aDozNnB4O2JvdHRvbTowO29wYWNpdHk6Ljg7dG9wOjA7ei1pbmRleDoxMDF9LndnYlJOYi50SFQwbHt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzLHZpc2liaWxpdHkgLjVzfS53Z2JSTmI6aG92ZXJ7b3BhY2l0eTouOX0ud2diUk5iLnBRWGNIYywud2diUk5iLnBRWGNIYzpob3ZlcntjdXJzb3I6ZGVmYXVsdDtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW59LmI1Szl6ZHtib3R0b206MDtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudDt0b3A6MH0ud2diUk5iLkVOSkhQZDpob3ZlciBnLWZhYntjb2xvcjojMjAyMTI0IWltcG9ydGFudH0uYkN3bEkuRU5KSFBkIGctZmFiLC5WZGVoQmYuRU5KSFBkIGctZmFie2JveC1zaGFkb3c6MCA3cHggMTVweCByZ2JhKDAsMCwwLDAuMil9LndnYlJOYi5FTkpIUGR7aGVpZ2h0OjUwcHg7d2lkdGg6NTBweDtvcGFjaXR5OjF9LndnYlJOYi5FTkpIUGQucFFYY0hjLC53Z2JSTmIuRU5KSFBkLnBRWGNIYzpob3ZlcntvcGFjaXR5OjB9LmJDd2xJLkVOSkhQZCBnLWZhYiwuVmRlaEJmLkVOSkhQZCBnLWZhYntjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6NTBweDt3aWR0aDo1MHB4fS5iQ3dsSS5FTkpIUGR7bGVmdDotMjVweH0uVmRlaEJmLkVOSkhQZHtyaWdodDotMjVweH0ud2diUk5iLkhFZUFxZTpob3ZlciBnLWZhYntjb2xvcjojMjAyMTI0IWltcG9ydGFudH0ud2diUk5iLkhFZUFxZXtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O29wYWNpdHk6Ljl9LndnYlJOYi5IRWVBcWU6aG92ZXJ7b3BhY2l0eToxfS53Z2JSTmIuSEVlQXFlLnBRWGNIYywud2diUk5iLkhFZUFxZS5wUVhjSGM6aG92ZXJ7b3BhY2l0eTowfS5iQ3dsSS5IRWVBcWUgZy1mYWIsLlZkZWhCZi5IRWVBcWUgZy1mYWJ7Ym94LXNoYWRvdzowIDdweCAxNXB4IHJnYmEoMCwwLDAsMC4yKTtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4fS5iQ3dsSS5IRWVBcWV7bGVmdDoyMHB4fS5WZGVoQmYuSEVlQXFle3JpZ2h0OjIwcHh9LndnYlJOYi5UVmdGVmI6aG92ZXIgZy1mYWJ7Y29sb3I6IzIwMjEyNCFpbXBvcnRhbnR9LndnYlJOYi5UVmdGVmJ7aGVpZ2h0OjQwcHg7d2lkdGg6NDBweH0uYkN3bEkuVFZnRlZiIGctZmFiLC5WZGVoQmYuVFZnRlZiIGctZmFie2JveC1zaGFkb3c6MCA0cHggNHB4IHJnYmEoMCwwLDAsMC4zKSwwIDAgNHB4IHJnYmEoMCwwLDAsMC4yKTtjdXJzb3I6cG9pbnRlcn0uYkN3bEkuVFZnRlZie2xlZnQ6LTU4cHh9LlZkZWhCZi5UVmdGVmJ7cmlnaHQ6LTU4cHh9LmJDd2xJLll6ZTI2ZCAudld0bUtmLC5WZGVoQmYuWXplMjZkIC5QRlk0b3tiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUF3QUFBQXVDQVlBQUFBY0VmamFBQUFCVjBsRVFWUkl4KzJWc1c3Q1FCQkVEd1RwSWtYSUNNdXlKZHRmUXNHWFFVVkZsU3BWbWpURVNPbjRCQW9YTGlnc3VlQXZhTTJNQkFodDdnNnYwNlpZd05LODg5M2V6R0xhdGpWNW5pOVFPMlBNQzU5OVpkSTBuV2RaZGdiUTR2c0gwTmdMUUxTbitGWjQvZ1kwY2dKQkVMeENkSGlFVUYrQWhsYUFIOWpXRzBTbGVOT25EYnIvaU9ONEFsRWxvQTlBQXl2QWlxSW9nUEFvb0hjbndJSmdocXJGbVRaT2dKVWtTUVJSSTZDMUU3aHVMOEdiVG1KN0t5MncvUHVXVkljT3czRGF1YTJxaTFOWlEyMCtpNzIzWG51ckEvUVEwYUpUUko4Si9vRXVBRnZOcWNqV1B3VjRpYnpNNjZXZWVjays4WWhUVU5obTd4SVBhVUFoUHRDb1ZqR3RMZHhiTWdLL3pzQ3dNRFJpNVlyaHNuYUpjUlFySHprTnJXMWwwTVhLTlFlQ3k5NXJzWExEVWVOSzNFcXNmT0lROC8wRExWV0Fla3U5RHUxcks2ZWhFMUJmbk5vYXZjd243TDN0Wk85ZUFSSVJMVzRSdlFBMCs2RE53VEhXNlFBQUFBQkpSVTVFcmtKZ2dnPT0pO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtoZWlnaHQ6MjBweDtvcGFjaXR5Oi41Njt3aWR0aDoxMnB4fS5iQ3dsSS5ZemUyNmQsLlZkZWhCZi5ZemUyNmR7b3BhY2l0eTouOTt3aWR0aDo4MHB4fS5iQ3dsSS5ZemUyNmQgLnZXdG1LZntiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTI2cHg7bGVmdDoycHh9LlZkZWhCZi5ZemUyNmQgLlBGWTRve2JhY2tncm91bmQtcG9zaXRpb246MCAwO3JpZ2h0OjJweH0uYkN3bEkuWXplMjZke2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCNmZmYgNTAlLHJnYmEoMjU1LDI1NSwyNTUsMC4wOSkgMTAwJSk7bGVmdDowfS5WZGVoQmYuWXplMjZke2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDI3MGRlZywjZmZmIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LDAuMDkpIDEwMCUpO3JpZ2h0OjB9LndnYlJOYi5UOVdoNTpob3ZlciBnLWZhYntjb2xvcjojMjAyMTI0IWltcG9ydGFudDtib3gtc2hhZG93OjAgMCAwIDFweCByZ2JhKDAsMCwwLDAuMDQpLDAgNHB4IDhweCAwIHJnYmEoMCwwLDAsMC4yKX0ud2diUk5iLlQ5V2g1e2hlaWdodDozNnB4O3dpZHRoOjM2cHg7b3BhY2l0eToxfS53Z2JSTmIuVDlXaDUucFFYY0hjLC53Z2JSTmIuVDlXaDUucFFYY0hjOmhvdmVye29wYWNpdHk6MH0uYkN3bEkuVDlXaDUgZy1mYWIsLlZkZWhCZi5UOVdoNSBnLWZhYntjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6MzZweDt3aWR0aDozNnB4fS5iQ3dsSS5UOVdoNXtsZWZ0Oi0xOHB4fS5WZGVoQmYuVDlXaDV7cmlnaHQ6LTE4cHh9LmJDd2xJLlNMMEdwIC52V3RtS2YsLlZkZWhCZi5TTDBHcCAuUEZZNG97YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O29wYWNpdHk6LjU0O3dpZHRoOjI0cHh9LmJDd2xJLlNMMEdwIC52V3RtS2Z7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FRQUFBQktmdlZ6QUFBQVEwbEVRVlI0QVdOQUJhTkFBUWhKVXY0QUNHVkpVZjZmNFRBRER3MlZIeUZOK1ZFR1htSmRmd0NvL0FlRE5JaEpxUTJFL1VCTExZaUFwVkZNSTlJU1dXQVVBQUF5MXgzRzNqMXd4UUFBQUFCSlJVNUVya0pnZ2c9PSl9LlZkZWhCZi5TTDBHcCAuUEZZNG97YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FRQUFBQktmdlZ6QUFBQVVFbEVRVlI0QVdPQWdGSEFBWVFrS2Q4QmhDUm9VV1o0d2ZDZk5DMWFEQy9wb0VXYjRSV3BXblFZZmdLMWJDQldPU1BERktEeUh3d2V4Q3FmVEZQbGt5REtpUS9TSDJEbEpBQVBJS1FJakFJQURBTWQ1Y2UxajBJQUFBQUFTVVZPUks1Q1lJST0pfS5WZGVoQmYuU0wwR3AsLmJDd2xJLlNMMEdwe3dpZHRoOjI0cHh9LndnYlJOYi5TTDBHcC5wUVhjSGMsLndnYlJOYi5TTDBHcC5wUVhjSGM6aG92ZXJ7Y3Vyc29yOmRlZmF1bHQ7b3BhY2l0eToxO3Zpc2liaWxpdHk6aW5oZXJpdH0ud2diUk5iLlNMMEdwLnBRWGNIYyAudld0bUtmLC53Z2JSTmIuU0wwR3AucFFYY0hjIC5QRlk0b3tvcGFjaXR5Oi4yfS53Z2JSTmIuU0wwR3B7aGVpZ2h0OjI0cHg7bWFyZ2luOjB9LndnYlJOYi5TTDBHcDpob3ZlcntvcGFjaXR5OjF9LndnYlJOYi56ZnBVa2U6aG92ZXIgZy1mYWJ7Y29sb3I6IzIwMjEyNCFpbXBvcnRhbnR9LndnYlJOYi56ZnBVa2V7aGVpZ2h0OjM2cHg7d2lkdGg6MzZweDtvcGFjaXR5OjB9LnoxTW0wZTpob3ZlciAud2diUk5iLnpmcFVrZXtvcGFjaXR5Oi45fS56MU1tMGUgLndnYlJOYi56ZnBVa2U6aG92ZXIsLnoxTW0wZSAud2diUk5iLnpmcFVrZTpmb2N1cy12aXNpYmxle29wYWNpdHk6MX0ud2diUk5iLnpmcFVrZS5wUVhjSGMsLndnYlJOYi56ZnBVa2UucFFYY0hjOmhvdmVye29wYWNpdHk6MH0uYkN3bEkuemZwVWtlIGctZmFiLC5WZGVoQmYuemZwVWtlIGctZmFie2JveC1zaGFkb3c6MCAwIDAgMXB4IHJnYmEoMCwwLDAsMC4wNCksMCA0cHggOHB4IDAgcmdiYSgwLDAsMCwwLjIpO2N1cnNvcjpwb2ludGVyO2hlaWdodDozNnB4O3dpZHRoOjM2cHh9LmJDd2xJLnpmcFVrZXtsZWZ0OjE2cHh9LlZkZWhCZi56ZnBVa2V7cmlnaHQ6MTZweH0uYkN3bEkuRU5wWHliIC52V3RtS2YsLlZkZWhCZi5FTnBYeWIgLlBGWTRve2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQXdBQUFBdUNBWUFBQUFjRWZqYUFBQUJWMGxFUVZSSXgrMlZzVzdDUUJCRUR3VHBJa1hJQ011eUpkdGZRc0dYUVVWRmxTcFZtalRFU09uNEJBb1hMaWdzdWVBdmFNMk1CQWh0N2c2djA2Wll3Tks4ODkzZXpHTGF0alY1bmk5UU8yUE1DNTk5WmRJMG5XZFpkZ2JRNHZzSDBOZ0xRTFNuK0ZaNC9nWTBjZ0pCRUx4Q2RIaUVVRitBaGxhQUg5aldHMFNsZU5PbkRici9pT040QWxFbG9BOUFBeXZBaXFJb2dQQW9vSGNud0lKZ2hxckZtVFpPZ0pVa1NRUlJJNkMxRTdodUw4R2JUbUo3S3kydy9QdVdWSWNPdzNEYXVhMnFpMU5aUTIwK2k3MjNYbnVyQS9RUTBhSlRSSjhKL29FdUFGdk5xY2pXUHdWNGliek02NldlZWNrKzhZaFRVTmhtN3hJUGFVQWhQdENvVmpHdExkeGJNZ0svenNDd01EUmk1WXJoc25hSmNSUXJIemtOclcxbDBNWEtOUWVDeTk1cnNYTERVZU5LM0Vxc2ZPSVE4LzBETFZXQWVrdTlEdTFySzZlaEUxQmZuTm9hdmN3bjdMM3RaTzllQVJJUkxXNFJ2UUEwKzZETndUSFc2UUFBQUFCSlJVNUVya0pnZ2c9PSk7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2hlaWdodDoyMHB4O3dpZHRoOjEycHh9LmJDd2xJLkVOcFh5YiAudld0bUtme2JhY2tncm91bmQtcG9zaXRpb246MCAtMjZweDtsZWZ0OjhweH0uVmRlaEJmLkVOcFh5YiAuUEZZNG97YmFja2dyb3VuZC1wb3NpdGlvbjowIDA7cmlnaHQ6OHB4fS5iQ3dsSS5FTnBYeWJ7bGVmdDowfS5WZGVoQmYuRU5wWHlie3JpZ2h0OjB9LmJDd2xJLkVOcFh5Yntib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czozNnB4O2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjM2cHg7Ym94LXNoYWRvdzoxcHggMCAycHggcmdiYSgwLDAsMCwwLjUpfS5WZGVoQmYuRU5wWHlie2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MzZweDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjM2cHg7Ym94LXNoYWRvdzotMXB4IDAgMnB4IHJnYmEoMCwwLDAsMC41KX0uYkN3bEkuQW9UNnNjIC52V3RtS2Z7bGVmdDoycHh9LlZkZWhCZi5Bb1Q2c2MgLlBGWTRve3JpZ2h0OjJweH0uYkN3bEkuQW9UNnNje2xlZnQ6LTMycHg7Ym9yZGVyOjFweCBzb2xpZCAjZjhmOWZhO2JvcmRlci1yYWRpdXM6MnB4IDAgMCAycHh9LlZkZWhCZi5Bb1Q2c2N7cmlnaHQ6LTMycHg7Ym9yZGVyOjFweCBzb2xpZCAjZjhmOWZhO2JvcmRlci1yYWRpdXM6MCAycHggMnB4IDB9LndnYlJOYi5Bb1Q2c2N7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG9wLCNmOGY5ZmEsI2Y4ZjlmYSk7aGVpZ2h0OjUwcHg7d2lkdGg6MzBweH0ud2diUk5iLkFvVDZzYzpob3ZlcntiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0b3AsI2Y4ZjlmYSwjZjhmOWZhKX0ud2diUk5iLmJ0cE5GZTpob3ZlciBnLWZhYntjb2xvcjojMjAyMTI0IWltcG9ydGFudH0ud2diUk5iLmJ0cE5GZXtoZWlnaHQ6MzZweDt3aWR0aDozNnB4O29wYWNpdHk6Ljl9LndnYlJOYi5idHBORmU6aG92ZXJ7b3BhY2l0eToxfS53Z2JSTmIuYnRwTkZlLnBRWGNIYywud2diUk5iLmJ0cE5GZS5wUVhjSGM6aG92ZXJ7b3BhY2l0eTowfS5iQ3dsSS5idHBORmUgZy1mYWIsLlZkZWhCZi5idHBORmUgZy1mYWJ7Ym94LXNoYWRvdzowIDAgMCAxcHggcmdiYSgwLDAsMCwwLjA0KSwwIDRweCA4cHggMCByZ2JhKDAsMCwwLDAuMik7Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OjM2cHg7d2lkdGg6MzZweH0uYkN3bEkuYnRwTkZle2xlZnQ6LTE4cHh9LlZkZWhCZi5idHBORmV7cmlnaHQ6LTE4cHh9LndnYlJOYi5qU1pNcmU6aG92ZXIgZy1mYWJ7Y29sb3I6IzIwMjEyNCFpbXBvcnRhbnR9LndnYlJOYi5qU1pNcmV7aGVpZ2h0OjMycHg7d2lkdGg6MzJweDtvcGFjaXR5Oi45O3BhZGRpbmc6OHB4fS53Z2JSTmIualNaTXJlOmhvdmVye29wYWNpdHk6MX0ud2diUk5iLmpTWk1yZS5wUVhjSGMsLndnYlJOYi5qU1pNcmUucFFYY0hjOmhvdmVye29wYWNpdHk6MH0uYkN3bEkualNaTXJlIGctZmFiLC5WZGVoQmYualNaTXJlIGctZmFie2JveC1zaGFkb3c6MCA3cHggMTVweCByZ2JhKDAsMCwwLDAuMik7Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0uYkN3bEkualNaTXJle2xlZnQ6MjBweH0uVmRlaEJmLmpTWk1yZXtyaWdodDoyMHB4fS53Z2JSTmIudmtjTGlie2hlaWdodDo0MHB4O3dpZHRoOjQwcHg7b3BhY2l0eTowfS56MU1tMGU6aG92ZXIgLndnYlJOYi52a2NMaWIsLnoxTW0wZSAud2diUk5iLnZrY0xpYjpob3ZlciwuejFNbTBlIC53Z2JSTmIudmtjTGliOmZvY3VzLXZpc2libGV7b3BhY2l0eToxfS53Z2JSTmIudmtjTGliLnBRWGNIYywud2diUk5iLnZrY0xpYi5wUVhjSGM6aG92ZXJ7b3BhY2l0eTowfS5iQ3dsSS52a2NMaWIgZy1mYWIsLlZkZWhCZi52a2NMaWIgZy1mYWJ7Ym94LXNoYWRvdzowIDAgMCAxcHggcmdiYSgwLDAsMCwwLjA0KSwwIDRweCA4cHggMCByZ2JhKDAsMCwwLDAuMik7Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6OHB4O2xlZnQ6OHB4fS5iQ3dsSS52a2NMaWJ7bGVmdDo0cHh9LlZkZWhCZi52a2NMaWJ7cmlnaHQ6NHB4fS5PdlFrU2J7Ym9yZGVyLXJhZGl1czo5OTk5cHh9LlMzUEIyZHttYXJnaW46YXV0b30uc3I5aGVje2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDowfS5zcjloZWN7Y3Vyc29yOnBvaW50ZXJ9LnNyOWhlY3tib3JkZXI6MXB4IHNvbGlkICNkYWRjZTB9LnNyOWhlYzpmb2N1c3tvdXRsaW5lOm5vbmV9LnNyOWhlYyAuVTh2NTFle3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO3RvcDowO2JvdHRvbTowO3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHh9LnMzSUIze3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHh9LmExMVBye3dpZHRoOjU2cHg7aGVpZ2h0OjU2cHh9Lk1LQ1YxYnt3aWR0aDoyOHB4O2hlaWdodDoyOHB4fS5zcjloZWMuTUtDVjFiIC5VOHY1MWV7d2lkdGg6MjJweDtoZWlnaHQ6MjJweH0uT1pRRFdke3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHh9LnNyOWhlYy5PWlFEV2QgLlU4djUxZXt3aWR0aDoxMnB4O2hlaWdodDoxMnB4fS5lNUtaSmZ7ZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3BhY2l0eTouMTtsZWZ0OjA7dG9wOjB9LmU1S1pKZjphY3RpdmV7YW5pbWF0aW9uLWR1cmF0aW9uOi40czthbmltYXRpb24tbmFtZTpzaGlmdH1Aa2V5ZnJhbWVzIHNoaWZ0ezI1JXtiYWNrZ3JvdW5kOiMxZjFmMWZ9fS5YeDdNaWZ7Y29udGFpbjpzdHlsZTtwb3NpdGlvbjpyZWxhdGl2ZX0uRTVlRmJ7d2lkdGg6MTAwJTtjb250YWluOnNpemUgc3R5bGV9LkxveWdHZnt3aWR0aDoxMDAlO2Rpc3BsYXk6YmxvY2t9LkNUT2F4Yntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7Y29udGFpbjpzaXplIGxheW91dCBzdHlsZX0uT01xbWZke3Bvc2l0aW9uOnN0aWNreTt0b3A6MH0uekxTUmdle2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWdTNWpYYil9LkFYMVFme3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTB2dzt3aWR0aDoxcHg7aGVpZ2h0OjJweDt2aXNpYmlsaXR5OmhpZGRlbjtwb2ludGVyLWV2ZW50czpub25lfS5LTEVtU2R7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RhZGNlMH0uQVFpc1piey0tbTNjMTojMGI1N2QwOy0tbTNjMzojZmZmOy0tbTNjNTojZjdmOGY5Oy0tbTNjNjojZWNlZGVlOy0tbTNjNzojZWNlZGVlOy0tbTNjOTojMWYxZjFmOy0tbTNjMTA6IzVlNWU1ZTstLW0zYzExOiMxZjFmMWY7LS1tM2MxMjojMGI1N2QwOy0tbTNjMTM6I2EzYzlmZjstLW0zYzE0OiMwMDFkMzU7LS1tM2MxNTojMGI1N2QwOy0tbTNjMTY6IzVlNWU1ZTstLW0zYzE3OiNkMmQyZDI7LS1tM2MxODojNDQ2ZWZmOy0tbTNjMTk6I2IxYzVmZjstLW0zYzIwOiNjOGVjZmY7LS1tM2MyMTojYTZjOGZmfS5BUWlzWmJ7LS1tM2MyOnJnYmEoMjQ3LDI0OCwyNDksMC41KX0uWXpDY25ley0tbTNjMTojMGI1N2QwOy0tbTNjMzojZmZmOy0tbTNjNTojZjVmOGZmOy0tbTNjNjojZTVlZGZmOy0tbTNjNzojZTVlZGZmOy0tbTNjOTojMDAxZDM1Oy0tbTNjMTA6IzU0NWQ3ZTstLW0zYzExOiMwMDFkMzU7LS1tM2MxMjojMGI1N2QwOy0tbTNjMTM6I2EzYzVmZjstLW0zYzE0OiMwMDFkMzU7LS1tM2MxNTojMGI1N2QwOy0tbTNjMTY6IzU0NWQ3ZTstLW0zYzE3OiNhM2M5ZmY7LS1tM2MxODojNDQ2ZWZmOy0tbTNjMTk6I2IxYzVmZjstLW0zYzIwOiNjOGVjZmY7LS1tM2MyMTojYTZjOGZmfS5ZekNjbmV7LS1tM2MyOnJnYmEoMjQ1LDI0OCwyNTUsMC41KX0ubnhJejlley0tbTNjMTojMTg1ZDAwOy0tbTNjMjpyZ2JhKDI0NSwyNTIsMjM2LDAuNSk7LS1tM2MzOiNmZmY7LS1tM2M1OiNmNWZjZWM7LS1tM2M2OiNlOWY1ZGU7LS1tM2M3OiNkYmU2ZDA7LS1tM2M5OiMwNDIxMDA7LS1tM2MxMDojNDI0OTNlOy0tbTNjMTE6IzA0MjEwMDstLW0zYzEyOiMxODVkMDA7LS1tM2MxMzojYzFmMmE5Oy0tbTNjMTQ6IzA0MjEwMDstLW0zYzE1OiMxODVkMDA7LS1tM2MxNjojNDI0OTNlOy0tbTNjMTc6I2E0ZDQ4ZTstLW0zYzE4OiM3ZmRkNTg7LS1tM2MxOTojOGNmOGI5Oy0tbTNjMjA6I2U3ZjRlODstLW0zYzIxOiNiZmYwYTh9LlJua2xDey0tbTNjMTojOTUwMDg0Oy0tbTNjMjpyZ2JhKDI1NSwyNDcsMjQ5LDAuNSk7LS1tM2MzOiNmZmY7LS1tM2M1OiNmZmY3Zjk7LS1tM2M2OiNmZGU4ZjM7LS1tM2M3OiNmZmQ3ZjA7LS1tM2M5OiMyMzE4MjA7LS1tM2MxMDojNTE0MzRiOy0tbTNjMTE6IzIzMTgyMDstLW0zYzEyOiM5NTAwODQ7LS1tM2MxMzojZmZhY2U4Oy0tbTNjMTQ6IzIzMTgyMDstLW0zYzE1OiM5NTAwODQ7LS1tM2MxNjojNTE0MzRiOy0tbTNjMTc6I2ZmYWNlODstLW0zYzE4OiNlMzQ3ZDE7LS1tM2MxOTojZmY4NjlhOy0tbTNjMjA6I2ZmZTllYTstLW0zYzIxOiNmZmFjZTh9LmtJeU9Dey0tbTNjMTojOGU0ZTAwOy0tbTNjMjpyZ2JhKDI1NSwyNDgsMjQ1LDAuNSk7LS1tM2MzOiNmZmY7LS1tM2M1OiNmZmY4ZjU7LS1tM2M2OiNmZmVlZTI7LS1tM2M3OiNmN2RlY2M7LS1tM2M5OiMyZTE1MDA7LS1tM2MxMDojNGY0NTNkOy0tbTNjMTE6IzJlMTUwMDstLW0zYzEyOiM4ZTRlMDA7LS1tM2MxMzojZmZiNzc5Oy0tbTNjMTQ6IzJlMTUwMDstLW0zYzE1OiM4ZTRlMDA7LS1tM2MxNjojNGY0NTNkOy0tbTNjMTc6I2YxYmM5MDstLW0zYzE4OiNkMTdjMjI7LS1tM2MxOTojZjdiZDU0Oy0tbTNjMjA6I2Y4ZjBkYTstLW0zYzIxOiNmZmI3Nzl9LlRtZTZqZnstLW0zYzE6IzAwNmQ0MjstLW0zYzI6cmdiYSgyNDAsMjUzLDI0MCwwLjUpOy0tbTNjMzojZmZmOy0tbTNjNTojZjBmZGYwOy0tbTNjNjojZTdmNGU4Oy0tbTNjNzojZDllNmRhOy0tbTNjOTojMDAyMTEwOy0tbTNjMTA6IzQyNDg0MzstLW0zYzExOiMwMDIxMTA7LS1tM2MxMjojMDA2ZDQyOy0tbTNjMTM6IzZmZGI5ZTstLW0zYzE0OiMwMDIxMTA7LS1tM2MxNTojMDA2ZDQyOy0tbTNjMTY6IzQyNDg0MzstLW0zYzE3OiNhNmQwYjM7LS1tM2MxODojNjBlMjk5Oy0tbTNjMTk6IzY5ZjlkYTstLW0zYzIwOiNkMmY5ZWU7LS1tM2MyMTojYTJlZGMxfS5hREF0MmN7LS1tM2MxOiMwMDY1OTA7LS1tM2MyOnJnYmEoMjQ2LDI1MCwyNTUsMC41KTstLW0zYzM6I2ZmZjstLW0zYzU6I2Y2ZmFmZjstLW0zYzY6I2U5ZjJmYjstLW0zYzc6I2M4ZTZmZjstLW0zYzk6IzAwMWUyZTstLW0zYzEwOiM0MzQ3NGI7LS1tM2MxMTojMDAxZTJlOy0tbTNjMTI6IzAwNjU5MDstLW0zYzEzOiM4N2NlZmY7LS1tM2MxNDojMDAxZTJlOy0tbTNjMTU6IzAwNjU5MDstLW0zYzE2OiM0MzQ3NGI7LS1tM2MxNzojYWJjYWUzOy0tbTNjMTg6IzY1YmVlMDstLW0zYzE5OiM5ZWMzZmY7LS1tM2MyMDojZWJmMWZmOy0tbTNjMjE6IzllZDdmZn0uejFndDN7LS1tM2MxOiM2MDE4ZDY7LS1tM2MyOnJnYmEoMjU0LDI0NywyNTUsMC41KTstLW0zYzM6I2ZmZjstLW0zYzU6I2ZlZjdmZjstLW0zYzY6I2YzZWJmYTstLW0zYzc6I2U5ZGRmZjstLW0zYzk6IzFlMTkyODstLW0zYzEwOiM0OTQ1NTA7LS1tM2MxMTojMWUxOTI4Oy0tbTNjMTI6IzYwMThkNjstLW0zYzEzOiNjOWIzZmY7LS1tM2MxNDojMWUxOTI4Oy0tbTNjMTU6IzYwMThkNjstLW0zYzE2OiM0OTQ1NTA7LS1tM2MxNzojZDBiY2ZmOy0tbTNjMTg6IzliNWVmZjstLW0zYzE5OiNkODY5ZmY7LS1tM2MyMDojZmJlY2ZhOy0tbTNjMjE6I2QwYmNmZn0uSXpyaG9iey0tbTNjMTojYTIwMDNiOy0tbTNjMjpyZ2JhKDI1NSwyNDgsMjQ3LDAuNSk7LS1tM2MzOiNmZmY7LS1tM2M1OiNmZmY4Zjc7LS1tM2M2OiNmZmU5ZWE7LS1tM2M3OiNmZmQ5ZGQ7LS1tM2M5OiM0MDAwMTQ7LS1tM2MxMDojNTU0MjQ0Oy0tbTNjMTE6IzQwMDAxNDstLW0zYzEyOiNhMjAwM2I7LS1tM2MxMzojZmY5YmE5Oy0tbTNjMTQ6IzQwMDAxNDstLW0zYzE1OiNhMjAwM2I7LS1tM2MxNjojNTU0MjQ0Oy0tbTNjMTc6I2ZmYjJiYzstLW0zYzE4OiNmZjM3NjQ7LS1tM2MxOTojZmY4OTdkOy0tbTNjMjA6I2ZmZWRlNzstLW0zYzIxOiNmZmIyYmN9Lk9tM0lpZXstLW0zYzE6IzAwNjc3ZDstLW0zYzI6cmdiYSgyNDEsMjUxLDI1NSwwLjUpOy0tbTNjMzojZmZmOy0tbTNjNTojZjFmYmZmOy0tbTNjNjojZThmMmY3Oy0tbTNjNzojYzZlOGY1Oy0tbTNjOTojMDAxZjI3Oy0tbTNjMTA6IzQzNDc0OTstLW0zYzExOiMwMDFmMjc7LS1tM2MxMjojMDA2NzdkOy0tbTNjMTM6Izc1ZDNlZjstLW0zYzE0OiMwMDFmMjc7LS1tM2MxNTojMDA2NzdkOy0tbTNjMTY6IzQzNDc0OTstLW0zYzE3OiNhYWNjZDg7LS1tM2MxODojNzBkZWZmOy0tbTNjMTk6IzY2YzBmZjstLW0zYzIwOiNlNWYyZmY7LS1tM2MyMTojOTFmMmY2fS5lWnl3Q2R7LS1tM2MxOiM2ZDVlMDA7LS1tM2MyOnJnYmEoMjU1LDI0OSwyMzYsMC41KTstLW0zYzM6I2ZmZjstLW0zYzU6I2ZmZjllYzstLW0zYzY6I2Y4ZjBkYTstLW0zYzc6I2VhZTJjYzstLW0zYzk6IzIxMWIwMDstLW0zYzEwOiM0YTQ3M2Q7LS1tM2MxMTojMjExYjAwOy0tbTNjMTI6IzZkNWUwMDstLW0zYzEzOiNkZGM3NTU7LS1tM2MxNDojMjExYjAwOy0tbTNjMTU6IzZkNWUwMDstLW0zYzE2OiM0YTQ3M2Q7LS1tM2MxNzojZDNjNzkxOy0tbTNjMTg6I2ZmZTA0MTstLW0zYzE5OiNlZWYyNGE7LS1tM2MyMDojZjZmZmMxOy0tbTNjMjE6I2ZhZTM2ZX0uckVvdzNjey0tbTNjMTojNTY2NTAwOy0tbTNjMjpyZ2JhKDI1MCwyNTEsMjI4LDAuNSk7LS1tM2MzOiNmZmY7LS1tM2M1OiNmYWZiZTQ7LS1tM2M2OiNmMWYyZGI7LS1tM2M3OiNlM2U0Y2Q7LS1tM2M5OiMxODFlMDA7LS1tM2MxMDojNDc0NzNkOy0tbTNjMTE6IzE4MWUwMDstLW0zYzEyOiM1NjY1MDA7LS1tM2MxMzojYmJkMTU2Oy0tbTNjMTQ6IzE4MWUwMDstLW0zYzE1OiM1NjY1MDA7LS1tM2MxNjojNDc0NzNkOy0tbTNjMTc6I2MzY2M5MjstLW0zYzE4OiNiN2RlMDM7LS1tM2MxOTojYTNmZjc2Oy0tbTNjMjA6I2U5ZjVkZTstLW0zYzIxOiNjMWQ5ODd9Lm5kelgzZHstLW0zYzE6IzAwNmI1YjstLW0zYzI6cmdiYSgyMzksMjUyLDI0NywwLjUpOy0tbTNjMzojZmZmOy0tbTNjNTojZWZmY2Y3Oy0tbTNjNjojZTdmNGVlOy0tbTNjNzojZDllNWUwOy0tbTNjOTojMDAyMDFhOy0tbTNjMTA6IzQzNDg0NjstLW0zYzExOiMwMDIwMWE7LS1tM2MxMjojMDA2YjViOy0tbTNjMTM6IzcyZDhjMjstLW0zYzE0OiMwMDIwMWE7LS1tM2MxNTojMDA2YjViOy0tbTNjMTY6IzQzNDg0NjstLW0zYzE3OiNhOGNmYzQ7LS1tM2MxODojNDFkYWI5Oy0tbTNjMTk6IzVjZWVmNDstLW0zYzIwOiNlNGZlZmY7LS1tM2MyMTojNzJkOGMyfS5sSE1DYmR7LS1tM2MxOiMwYTJiY2U7LS1tM2MyOnJnYmEoMjUxLDI0OCwyNTUsMC41KTstLW0zYzM6I2ZmZjstLW0zYzU6I2ZiZjhmZjstLW0zYzY6I2YwZWZmZjstLW0zYzc6I2RmZTBmZjstLW0zYzk6IzE5MWIyODstLW0zYzEwOiM0NjQ2NTA7LS1tM2MxMTojMTkxYjI4Oy0tbTNjMTI6IzBhMmJjZTstLW0zYzEzOiNiY2MyZmY7LS1tM2MxNDojMTkxYjI4Oy0tbTNjMTU6IzBhMmJjZTstLW0zYzE2OiM0NjQ2NTA7LS1tM2MxNzojYmNjMmZmOy0tbTNjMTg6IzY5NzZmZjstLW0zYzE5OiNhZjhjZmY7LS1tM2MyMDojZjNlYmZhOy0tbTNjMjE6I2JjYzJmZn0uSTU4d2pley0tbTNjMTojZjdiZDU0Oy0tbTNjMjpyZ2JhKDI1NSwyNDgsMjQzLDAuNSk7LS1tM2MzOiMyNzE5MDA7LS1tM2M1OiNmZmY4ZjM7LS1tM2M2OiNmZmVlZDk7LS1tM2M3OiNmMGUwY2I7LS1tM2M5OiMyNzE5MDA7LS1tM2MxMDojNGM0NjNkOy0tbTNjMTE6IzI3MTkwMDstLW0zYzEyOiNmN2JkNTQ7LS1tM2MxMzojZTFjMjkxOy0tbTNjMTQ6IzI3MTkwMDstLW0zYzE1OiM1ZjQxMDA7LS1tM2MxNjojNGM0NjNkOy0tbTNjMTc6I2UxYzI5MTstLW0zYzE4OiNkOGEyM2M7LS1tM2MxOTojZjdiZDU0Oy0tbTNjMjA6I2ZhZmJlNDstLW0zYzIxOiNmZmNkNmN9LlE3SmlFey0tbTNjMTojMDA1MDk3Oy0tbTNjMjpyZ2JhKDI0OSwyNDksMjU1LDAuNSk7LS1tM2MzOiNmZmY7LS1tM2M1OiNmOWY5ZmY7LS1tM2M2OiNlYmYxZmY7LS1tM2M3OiNkNWUzZmY7LS1tM2M5OiMwMDFjM2I7LS1tM2MxMDojNDM0NzRlOy0tbTNjMTE6IzAwMWMzYjstLW0zYzEyOiMwMDUwOTc7LS1tM2MxMzojYTZjOGZmOy0tbTNjMTQ6IzAwMWMzYjstLW0zYzE1OiMwMDUwOTc7LS1tM2MxNjojNDM0NzRlOy0tbTNjMTc6I2FkYzhmNTstLW0zYzE4OiM1MTkzZmY7LS1tM2MxOTojYTVhZGZmOy0tbTNjMjA6I2YwZWZmZjstLW0zYzIxOiNhNmM4ZmZ9LnN4V2dxZnstLW0zYzE6IzhmMzEwMDstLW0zYzI6cmdiYSgyNTUsMjQ4LDI0NiwwLjUpOy0tbTNjMzojZmZmOy0tbTNjNTojZmZmOGY2Oy0tbTNjNjojZmZlZGU3Oy0tbTNjNzojZmZkYmNlOy0tbTNjOTojMzcwZTAwOy0tbTNjMTA6IzU0NDMzZDstLW0zYzExOiMzNzBlMDA7LS1tM2MxMjojOGYzMTAwOy0tbTNjMTM6I2ZmYWE4OTstLW0zYzE0OiMzNzBlMDA7LS1tM2MxNTojOGYzMTAwOy0tbTNjMTY6IzU0NDMzZDstLW0zYzE3OiNmZmI1OTk7LS1tM2MxODojZmY2MzFhOy0tbTNjMTk6I2YxOTYzYjstLW0zYzIwOiNmZmVlZDk7LS1tM2MyMTojZmZiNTk5fS5BTG5WN3stLW0zYzE6I2EzMDYyMTstLW0zYzI6cmdiYSgyNTUsMjQ4LDI0NywwLjUpOy0tbTNjMzojZmZmOy0tbTNjNTojZmZmOGY3Oy0tbTNjNjojZmZlZGViOy0tbTNjNzojZmZkYWQ4Oy0tbTNjOTojNDEwMDA3Oy0tbTNjMTA6IzU1NDI0MTstLW0zYzExOiM0MTAwMDc7LS1tM2MxMjojYTMwNjIxOy0tbTNjMTM6I2ZmOWM5YTstLW0zYzE0OiM0MTAwMDc7LS1tM2MxNTojYTMwNjIxOy0tbTNjMTY6IzU1NDI0MTstLW0zYzE3OiNmZmIzYjA7LS1tM2MxODojZmY0YTQzOy0tbTNjMTk6I2ZmOGM1ZDstLW0zYzIwOiNmZmVlZTI7LS1tM2MyMTojZmZiM2IwfS5ZNjVHS2Z7LS1tM2MxOiMwMDVhNWM7LS1tM2MyOnJnYmEoMjQxLDI1MSwyNTEsMC41KTstLW0zYzM6I2ZmZjstLW0zYzU6I2YxZmJmYjstLW0zYzY6I2U3ZjNmMzstLW0zYzc6I2M1ZTllYjstLW0zYzk6IzAwMjAyMTstLW0zYzEwOiM0MzQ4NDg7LS1tM2MxMTojMDAyMDIxOy0tbTNjMTI6IzAwNWE1YzstLW0zYzEzOiM3NGQ2ZGE7LS1tM2MxNDojMDAyMDIxOy0tbTNjMTU6IzAwNWE1YzstLW0zYzE2OiM0MzQ4NDg7LS1tM2MxNzojYTljZGNlOy0tbTNjMTg6IzcyZDhjMjstLW0zYzE5OiM5MWYyZjU7LS1tM2MyMDojZGJmNWZmOy0tbTNjMjE6IzhiZWRkN30udjBycnZke3BhZGRpbmctYm90dG9tOjE2cHh9LkdVSGF6ZHtwYWRkaW5nLWJvdHRvbToxMnB4fS5idlNUS2N7cGFkZGluZzo4cHh9LmNCNE5GY3twYWRkaW5nLXRvcDoxNnB4fS5PZEJoTXtwYWRkaW5nLXRvcDo4cHh9LndvazV2ZntwYWRkaW5nOjI0cHh9QG1lZGlhIChtaW4taGVpZ2h0OjU3NnB4KXsudVNvbG0gLnFrN0xYY3toZWlnaHQ6MTAwJX0ubWNQUFoudVNvbG17cGFkZGluZzo2NHB4IDBweH0ucWs3TFhjLnVTb2xte2hlaWdodDpjYWxjKDEwMCUgLSAxMjhweCl9fUBtZWRpYSAobWF4LWhlaWdodDo1NzVweCl7LnVTb2xtIC5xazdMWGMsLnFrN0xYYy51U29sbXtoZWlnaHQ6MTAwJTttYXgtaGVpZ2h0OjQ0OHB4fX1AbWVkaWEgKG1pbi1oZWlnaHQ6NDk2cHgpey5HZU96bmMgLnFrN0xYY3toZWlnaHQ6MTAwJX0ubWNQUFouR2VPem5je3BhZGRpbmc6MjRweCAwcHh9LnFrN0xYYy5HZU96bmN7aGVpZ2h0OmNhbGMoMTAwJSAtIDQ4cHgpfX1AbWVkaWEgKG1heC1oZWlnaHQ6NDk1cHgpey5HZU96bmMgLnFrN0xYYywucWs3TFhjLkdlT3puY3toZWlnaHQ6MTAwJTttYXgtaGVpZ2h0OjQ0OHB4fX0uVFVPc1Vle3RleHQtYWxpZ246bGVmdH0uS1VmMTguaXZrZGJme2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpO29wYWNpdHk6MTt2aXNpYmlsaXR5OmluaGVyaXR9LlZmc0xwZi5pdmtkYmZ7YmFja2dyb3VuZC1jb2xvcjojMDAwO29wYWNpdHk6LjQ7dmlzaWJpbGl0eTppbmhlcml0fS5KM0hubGYuaXZrZGJme2JhY2tncm91bmQtY29sb3I6IzIwMjEyNDtvcGFjaXR5Oi43O3Zpc2liaWxpdHk6aW5oZXJpdH0uWDQ2bTguaXZrZGJme2JhY2tncm91bmQtY29sb3I6IzAwMDtvcGFjaXR5Oi44O3Zpc2liaWxpdHk6aW5oZXJpdH0uY0JvRGVkLml2a2RiZntiYWNrZ3JvdW5kLWNvbG9yOiNmOGY5ZmE7b3BhY2l0eTouODU7dmlzaWJpbGl0eTppbmhlcml0fS5reWs3cWIuaXZrZGJme2JhY2tncm91bmQtY29sb3I6IzIwMjEyNDtvcGFjaXR5Oi42O3Zpc2liaWxpdHk6aW5oZXJpdH0ucWs3TFhjLml2a2RiZntvcGFjaXR5OjF9Lm1jUFBaLml2a2RiZntvcGFjaXR5OjE7dmlzaWJpbGl0eTppbmhlcml0fS5tY1BQWi5uUDBURGV7Y3Vyc29yOnBvaW50ZXJ9Lm1jUFBaLm5QMFREZSAucWs3TFhje2N1cnNvcjpkZWZhdWx0fS5rSkZmMGN7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDo5OTk3O3JpZ2h0OjA7Ym90dG9tOi0yMDBweDt0b3A6MDtsZWZ0OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXM7b3BhY2l0eTowO3Zpc2liaWxpdHk6aGlkZGVufS5xazdMWGN7ZGlzcGxheTppbmxpbmUtYmxvY2s7ei1pbmRleDo5OTk3O2JhY2tncm91bmQtY29sb3I6I2ZmZjtvcGFjaXR5OjA7d2hpdGUtc3BhY2U6bm9ybWFsO292ZXJmbG93OmhpZGRlbn0ucWs3TFhje2JvcmRlci1yYWRpdXM6OHB4fS5xazdMWGN7Ym94LXNoYWRvdzowcHggNXB4IDI2cHggMHB4IHJnYmEoMCwwLDAsMC4yMiksMHB4IDIwcHggMjhweCAwcHggcmdiYSgwLDAsMCwwLjMpfS5xazdMWGMuREpFT2Zje2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LnFrN0xYYy5ESkVPZmN7Ym94LXNoYWRvdzpub25lfS5xazdMWGMuRmIxQUtje3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ucWs3TFhjLkJ5OW1NY3twb3NpdGlvbjpmaXhlZH0ucWs3TFhjLlc2WjVvZnt0b3A6NTAlO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKX0ucWs3TFhjLnVsV3piZHtwb3NpdGlvbjphYnNvbHV0ZX0ucWs3TFhjLlAxV1lMYntib3JkZXI6MXB4IHNvbGlkIHZhcigtLW1YWmtxYyk7Ym94LXNoYWRvdzojZGFkY2UwfS5tY1BQWntwb3NpdGlvbjpmaXhlZDtyaWdodDowO2JvdHRvbTowO3RvcDowO2xlZnQ6MDt6LWluZGV4Ojk5OTc7dmVydGljYWwtYWxpZ246bWlkZGxlO3Zpc2liaWxpdHk6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDttYXgtaGVpZ2h0OjEwMCU7bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3cteDpoaWRkZW47b3ZlcmZsb3cteTphdXRvfS5tY1BQWi54ZzdyQWV7dGV4dC1hbGlnbjpjZW50ZXJ9Lm1jUFBaOjphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxMDAlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uTGpmUnNme2hlaWdodDowO29wYWNpdHk6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowfS5WSDQ3ZWR7dmlzaWJpbGl0eTpoaWRkZW59LlRhb3lZY3tvdmVyZmxvdzpoaWRkZW59LlRhb3lZY3twb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlfS5xazdMWGMuYUpQeDZle292ZXJmbG93OnZpc2libGV9LnZBSkp6ZHtvcGFjaXR5Oi45OTl9LnlNTkpSIC5xazdMWGMsLnFrN0xYYy55TU5KUnttYXgtd2lkdGg6MTAwJX0uY0pGcXNkIC5xazdMWGMsLnFrN0xYYy5jSkZxc2R7aGVpZ2h0OjEwMCV9LnJmeDJZIC5xazdMWGMsLnFrN0xYYy5yZngyWXt3aWR0aDoxMDAlfS5CaFVIemUgLnFrN0xYYywucWs3TFhjLkJoVUh6ZXt3aWR0aDo3NSV9LmRnVkduYyAucWs3TFhjLC5xazdMWGMuZGdWR25je3dpZHRoOjkwJX0uR21vTDBje21hcmdpbi1yaWdodDoxMnB4fS54VFdsdGZ7bWFyZ2luLXJpZ2h0OjI0cHh9Lld0NVRmZXtwYWRkaW5nLWxlZnQ6MHB4O3BhZGRpbmctcmlnaHQ6MHB4fS5lSnRyTWN7cGFkZGluZy1ib3R0b206OHB4O3BhZGRpbmctdG9wOjhweH0uVkRnVmlle3RleHQtYWxpZ246Y2VudGVyfS5TbFA4eGN7dGV4dC10cmFuc2Zvcm06bm9uZX06cm9vdHstLUtJWlBuZTojYTNjOWZmOy0teFBwaU06IzAwMWQzNTstLUVoaDRtZjp2YXIoLS1Oc20wY2UpfS5rMEpqZywuYnJLbXhiOmZvY3VzLXZpc2libGV7b3V0bGluZTowfS5rMEpqZzpmb2N1cy12aXNpYmxlIC5uaU80dSwuYnJLbXhiOmZvY3VzLXZpc2libGUgLm5pTzR1e291dGxpbmU6MnB4IHNvbGlkICMwYjU3ZDA7b3V0bGluZS1vZmZzZXQ6MXB4fS5uaU80dXthbGlnbi1pdGVtczpjZW50ZXI7Ym94LXNpemluZzpib3JkZXItYm94O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS5nelYxdCAubmlPNHV7YWxpZ24taXRlbXM6c3RyZXRjaDtkaXNwbGF5OmZsZXh9Lm5pTzR1OjpiZWZvcmV7Y29udGVudDoiIjtoZWlnaHQ6NDhweDtsZWZ0OjA7bWFyZ2luLXRvcDotMjRweDttYXJnaW4tbGVmdDotMXB4O21hcmdpbi1yaWdodDotMXB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjUwJX0ua0h0Y3Nke2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6aW5oZXJpdDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTAwJX0uRG9wSHFje2hlaWdodDoxMDAlfS5kM28zQWQsLmNsT3gxZSwuV29BOVpke2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXJ9LlF1VTNXYnttYXJnaW4tdG9wOjZweH0ucmx0N1ViIC5jbE94MWV7bWFyZ2luOjVweCAxNnB4fS5BMjl6Z2Z7Ym9yZGVyLXJhZGl1czo4cHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfS5BMjl6Z2YgLm5pTzR1e2JvcmRlci1yYWRpdXM6OHB4fS5BMjl6Z2YgLmtIdGNzZHtib3JkZXItcmFkaXVzOjdweH0ucEFuN25le3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uZ2pjS0Njey13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0ubmlPNHV7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4yNXMgbGluZWFyfS5idGt1NWJ7dHJhbnNpdGlvbjpjb2xvciAuMjVzIGxpbmVhcn1hLmdqY0tDYzpmb2N1cy12aXNpYmxle2NvbG9yOiMxOTY3ZDJ9YS5namNLQ2M6Zm9jdXMtdmlzaWJsZSAubmlPNHV7YmFja2dyb3VuZC1jb2xvcjojZThmMGZlO30uZkNyWnlje2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZkNyWnljIC5uaU80dXtib3JkZXItcmFkaXVzOjk5OTlweH0uTHdkVjBlLk9KZXV4ZiAuaUNRTzVke3dpZHRoOjM2cHh9LmdVQWNmZi5PSmV1eGYgLmlDUU81ZHt3aWR0aDozMnB4fS5OUVlKdmMuT0pldXhmIC5pQ1FPNWR7d2lkdGg6NDRweH0uT0pldXhmIC5uaU80dTo6YmVmb3Jle3dpZHRoOjQ4cHg7bWFyZ2luLWxlZnQ6LTI0cHg7bGVmdDo1MCV9Lkx3ZFYwZSAueTFDYm9iLnZHblhkYi52R25YZGJ7aGVpZ2h0OjQ4cHg7cGFkZGluZzowIDRweH0uazFVMzZie2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWYtbWVkaXVtLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE2cHh9LlVaWEFOYy5nVUFjZmYgLm5pTzR1e3RvcDozcHg7aGVpZ2h0OjB9Lm1LakVBZC5nVUFjZmYgLm5pTzR1e2hlaWdodDowfS5iYWNIb2QuZ1VBY2ZmIC5SMDRUT2QsLmJhY0hvZC5nVUFjZmYgLmQzbzNBZHtoZWlnaHQ6MTRweH0uZ1VBY2ZmLlByakw4YyAubmlPNHV7aGVpZ2h0OjMycHh9LmdVQWNmZi5nelYxdCAubmlPNHV7bWluLWhlaWdodDozMnB4fS5nVUFjZmYucmx0N1ViIC5jbE94MWV7bWFyZ2luOjVweCAxNnB4fS5nVUFjZmYgLmNsT3gxZXtsaW5lLWhlaWdodDoxNnB4fS5nVUFjZmYgLlIwNFRPZCwuZ1VBY2ZmIC5kM28zQWQsLmdVQWNmZiAuV29BOVpke2hlaWdodDoxNnB4fS5lRlNXeGQuZ1VBY2ZmIC5jbE94MWV7bWFyZ2luOjVweCAxNnB4IDVweCA4cHh9LlIwNFRPZCwuZUZTV3hkLmdVQWNmZiAuZDNvM0Fke21hcmdpbi1sZWZ0OjEycHh9LlVaWEFOYy5VWlhBTmMuTHdkVjBlIC5uaU80dXt0b3A6M3B4O2hlaWdodDowfS5tS2pFQWQubUtqRUFkLkx3ZFYwZSAubmlPNHV7aGVpZ2h0OjB9LmJhY0hvZC5Md2RWMGUgLlIwNFRPZCwuYmFjSG9kLkx3ZFYwZSAuZDNvM0Fke2hlaWdodDoxNnB4fS5Md2RWMGUgLlIwNFRPZCwuTHdkVjBlIC5kM28zQWR7aGVpZ2h0OjE4cHh9Lkx3ZFYwZS5ybHQ3VWIgLmNsT3gxZXttYXJnaW46NXB4IDE2cHh9Lkx3ZFYwZSAuV29BOVpke2hlaWdodDoxOHB4fS5Md2RWMGUuZ3pWMXQgLm5pTzR1e21pbi1oZWlnaHQ6MzZweH0uTHdkVjBlLlByakw4YyAubmlPNHV7aGVpZ2h0OjM2cHh9LmVGU1d4ZC5Md2RWMGUgLmNsT3gxZXttYXJnaW46NXB4IDE2cHggNXB4IDhweH0uUjA0VE9kLC5lRlNXeGQuTHdkVjBlIC5kM28zQWR7bWFyZ2luLWxlZnQ6MTJweH0uTlFZSnZjIC5kM28zQWQsLk5RWUp2YyAuUjA0VE9ke2JvcmRlci1yYWRpdXM6NHB4O2hlaWdodDoyMHB4O292ZXJmbG93OmhpZGRlbn0uTlFZSnZjLnJsdDdVYiAuY2xPeDFle21hcmdpbjo1cHggMTZweH0uTlFZSnZjIC5Xb0E5WmR7aGVpZ2h0OjIwcHh9Lk5RWUp2Yy5nelYxdCAubmlPNHV7bWluLWhlaWdodDo0NHB4fS5OUVlKdmMuUHJqTDhjIC5uaU80dXtoZWlnaHQ6NDRweH0uZUZTV3hkLk5RWUp2YyAuY2xPeDFle21hcmdpbjo1cHggMTZweCA1cHggOHB4fS5SMDRUT2QsLmVGU1d4ZC5OUVlKdmMgLmQzbzNBZHttYXJnaW4tbGVmdDoxMnB4fS5GUjdaU2N7Y29sb3I6dmFyKC0tcnJKSlVjKX0uRlI3WlNjIC5uaU80dXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjoxcHggc29saWQgI2QyZDJkMn0uRlI3WlNjOm5vdChbc2VsZWN0ZWRdKTpub3QoW2Rpc2FibGVkXSkgLmQzbzNBZHtjb2xvcjojMGI1N2QwfS5GUjdaU2MgLmswSmpnOmhvdmVyIC5uaU80dSwuRlI3WlNjLmswSmpnOmhvdmVyIC5uaU80dXtjb2xvcjp2YXIoLS1qSU51NmMpfS5GUjdaU2M6bm90KFtzZWxlY3RlZF0pIC5rMEpqZzpob3ZlciAuZDNvM0FkLC5GUjdaU2MuazBKamc6bm90KFtzZWxlY3RlZF0pOmhvdmVyIC5kM28zQWR7Y29sb3I6dmFyKC0taklOdTZjKX0uRlI3WlNjIC5rMEpqZzpob3ZlciAua0h0Y3NkLC5GUjdaU2MuazBKamc6aG92ZXIgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiMwYjU3ZDAxNX0uYnJLbXhiOmFjdGl2ZSAuRlI3WlNjIC5uaU80dSwuYnJLbXhiOmZvY3VzLXZpc2libGUgLkZSN1pTYyAubmlPNHUsLkZSN1pTYy5rMEpqZzphY3RpdmUgLm5pTzR1LC5GUjdaU2MgLmswSmpnOmFjdGl2ZSAubmlPNHUsLkZSN1pTYy5rMEpqZzpmb2N1cy12aXNpYmxlIC5uaU80dSwuRlI3WlNjIC5rMEpqZzpmb2N1cy12aXNpYmxlIC5uaU80dXtjb2xvcjp2YXIoLS1qSU51NmMpfS5icktteGI6Zm9jdXMtdmlzaWJsZSAuRlI3WlNjOm5vdChbc2VsZWN0ZWRdKTpub3QoW2Rpc2FibGVkXSkgLmQzbzNBZCwuRlI3WlNjOm5vdChbc2VsZWN0ZWRdKTpub3QoW2Rpc2FibGVkXSkgLmswSmpnOmZvY3VzLXZpc2libGUgLmQzbzNBZCwuRlI3WlNjLmswSmpnOm5vdChbc2VsZWN0ZWRdKTpub3QoW2Rpc2FibGVkXSk6Zm9jdXMtdmlzaWJsZSAuZDNvM0Fke2NvbG9yOiMwMDFkMzV9LmJyS214Yjpmb2N1cy12aXNpYmxlIC5GUjdaU2MgLmtIdGNzZCwuRlI3WlNjIC5rMEpqZzpmb2N1cy12aXNpYmxlIC5rSHRjc2QsLkZSN1pTYy5rMEpqZzpmb2N1cy12aXNpYmxlIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojMGI1N2QwMTV9LmJyS214YjphY3RpdmUgLkZSN1pTYzpub3QoW3NlbGVjdGVkXSk6bm90KFtkaXNhYmxlZF0pIC5kM28zQWQsLkZSN1pTYzpub3QoW3NlbGVjdGVkXSk6bm90KFtkaXNhYmxlZF0pIC5rMEpqZzphY3RpdmUgLmQzbzNBZCwuRlI3WlNjLmswSmpnOm5vdChbc2VsZWN0ZWRdKTpub3QoW2Rpc2FibGVkXSk6YWN0aXZlIC5kM28zQWR7Y29sb3I6dmFyKC0tSVhveFVlKX0uYnJLbXhiOmFjdGl2ZSAuRlI3WlNjIC5rSHRjc2QsLkZSN1pTYyAuazBKamc6YWN0aXZlIC5rSHRjc2QsLkZSN1pTYy5rMEpqZzphY3RpdmUgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiMwYjU3ZDAzOX0uZXhwVVBke2NvbG9yOiNmZmZ9LmV4cFVQZCAubmlPNHV7YmFja2dyb3VuZC1jb2xvcjojMGI1N2QwfS5leHBVUGQuazBKamc6aG92ZXIgLmtIdGNzZCwuZXhwVVBkIC5rMEpqZzpob3ZlciAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6IzAwMWQzNTM5fS5icktteGI6Zm9jdXMtdmlzaWJsZSAuZXhwVVBkIC5rSHRjc2QsLmV4cFVQZC5rMEpqZzpmb2N1cy12aXNpYmxlIC5rSHRjc2QsLmV4cFVQZCAuazBKamc6Zm9jdXMtdmlzaWJsZSAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6IzAwMWQzNTMzfS5icktteGI6YWN0aXZlIC5leHBVUGQgLmtIdGNzZCwuZXhwVVBkIC5rMEpqZzphY3RpdmUgLmtIdGNzZCwuZXhwVVBkLmswSmpnOmFjdGl2ZSAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6IzAwMWQzNTY2fUBtZWRpYSAocHJlZmVycy1jb250cmFzdDptb3JlKXsuZXhwVVBkIC5uaU80dXtvdXRsaW5lOjFweCBzb2xpZCAjMWYxZjFmfX0uenFyTzB7Y29sb3I6dmFyKC0tYmJReEFiKX0uenFyTzAgLm5pTzR1e2JhY2tncm91bmQtY29sb3I6dmFyKC0teGhVR3djKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLW1YWmtxYyl9LmJyS214YjphY3RpdmUgLnpxck8wLC5icktteGI6Zm9jdXMtdmlzaWJsZSAuenFyTzAsLnpxck8wIC5rMEpqZzpob3ZlciwuenFyTzAgLmswSmpnOmFjdGl2ZSwuenFyTzAgLmswSmpnOmZvY3VzLXZpc2libGUsLnpxck8wLmswSmpnOmhvdmVyLC56cXJPMC5rMEpqZzpmb2N1cy12aXNpYmxlLC56cXJPMC5rMEpqZzphY3RpdmV7Y29sb3I6dmFyKC0tYmJReEFiKX0uenFyTzAgLmswSmpnOmhvdmVyIC5rSHRjc2QsLnpxck8wLmswSmpnOmhvdmVyIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojMGI1N2QwMTV9LmJyS214Yjpmb2N1cy12aXNpYmxlIC56cXJPMCAua0h0Y3NkLC56cXJPMCAuazBKamc6Zm9jdXMtdmlzaWJsZSAua0h0Y3NkLC56cXJPMC5rMEpqZzpmb2N1cy12aXNpYmxlIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojMGI1N2QwMTV9LmJyS214YjphY3RpdmUgLnpxck8wIC5rSHRjc2QsLnpxck8wIC5rMEpqZzphY3RpdmUgLmtIdGNzZCwuenFyTzAuazBKamc6YWN0aXZlIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojMGI1N2QwMzl9LnhhYjk5ZSAubmlPNHV7ei1pbmRleDoyfS54YWI5OWUgLm5pTzR1e2JhY2tncm91bmQtY29sb3I6dmFyKC0teGhVR3djKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLW1YWmtxYyl9Lk5RWUp2Yy5QcmpMOGMgLm5pTzR1e2hlaWdodDo0MHB4fS5OUVlKdmMuT0pldXhmIC5pQ1FPNWR7d2lkdGg6NDBweH0ueGFiOTllLmswSmpnOmhvdmVyIC5rSHRjc2QsLnhhYjk5ZSAuazBKamc6aG92ZXIgLmtIdGNzZHtib3JkZXI6MDtib3gtc2hhZG93OjBweCA0cHggMTJweCByZ2JhKDYwLDY0LDY3LDAuMjQpfS5OdGFNcGJ7Y29sb3I6dmFyKC0tYmJReEFiKX0uTnRhTXBiIC5uaU80dXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXhoVUd3Yyl9Lk50YU1wYiAuazBKamc6aG92ZXIgLmtIdGNzZCwuTnRhTXBiLmswSmpnOmhvdmVyIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojMGI1N2QwMTV9LmJyS214Yjpmb2N1cy12aXNpYmxlIC5OdGFNcGIgLmtIdGNzZCwuTnRhTXBiIC5rMEpqZzpmb2N1cy12aXNpYmxlIC5rSHRjc2QsLk50YU1wYi5rMEpqZzpmb2N1cy12aXNpYmxlIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojMGI1N2QwMTV9LmJyS214YjphY3RpdmUgLk50YU1wYiAua0h0Y3NkLC5OdGFNcGIgLmswSmpnOmFjdGl2ZSAua0h0Y3NkLC5OdGFNcGIuazBKamc6YWN0aXZlIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojMGI1N2QwMzl9LkJtZWdvZntjb2xvcjojMDAxZDM1fS5CbWVnb2YgLm5pTzR1e2JhY2tncm91bmQtY29sb3I6I2QzZTNmZH0uQm1lZ29mIC5rMEpqZzpob3ZlciAua0h0Y3NkLC5CbWVnb2YuazBKamc6aG92ZXIgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiMwYjU3ZDAxNX0uYnJLbXhiOmZvY3VzLXZpc2libGUgLkJtZWdvZiAua0h0Y3NkLC5CbWVnb2YgLmswSmpnOmZvY3VzLXZpc2libGUgLmtIdGNzZCwuQm1lZ29mLmswSmpnOmZvY3VzLXZpc2libGUgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiMwYjU3ZDAxNX0uYnJLbXhiOmFjdGl2ZSAuQm1lZ29mIC5rSHRjc2QsLkJtZWdvZiAuazBKamc6YWN0aXZlIC5rSHRjc2QsLkJtZWdvZi5rMEpqZzphY3RpdmUgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOiMwYjU3ZDAzOX0ucjY5Rlp7Y29sb3I6IzAwMWQzNX0ucjY5RlogLm5pTzR1e2JhY2tncm91bmQtY29sb3I6I2ViZjFmZn1AbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6bW9yZSl7LmNENmt5ZiAubmlPNHV7b3V0bGluZToxcHggc29saWQgIzFmMWYxZn19LnI2OUZaIC5rMEpqZzpob3ZlciAua0h0Y3NkLC5yNjlGWi5rMEpqZzpob3ZlciAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6IzBiNTdkMDE1fS5icktteGI6Zm9jdXMtdmlzaWJsZSAucjY5RlogLmtIdGNzZCwucjY5RlogLmswSmpnOmZvY3VzLXZpc2libGUgLmtIdGNzZCwucjY5RlouazBKamc6Zm9jdXMtdmlzaWJsZSAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6IzBiNTdkMDE1fS5icktteGI6YWN0aXZlIC5yNjlGWiAua0h0Y3NkLC5yNjlGWiAuazBKamc6YWN0aXZlIC5rSHRjc2QsLnI2OUZaLmswSmpnOmFjdGl2ZSAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6IzBiNTdkMDM5fS5qZE9yWmN7Y29sb3I6dmFyKC0tcnJKSlVjKX0uamRPclpjIC5uaU80dXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS56cXJPMCAuazBKamc6aG92ZXIgLmtIdGNzZCwuenFyTzAuazBKamc6aG92ZXIgLm5pTzR1e2NvbG9yOnZhcigtLWpJTnU2Yyl9LmpkT3JaYyAuazBKamc6aG92ZXIgLmtIdGNzZCwuamRPclpjLmswSmpnOmhvdmVyIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojMGI1N2QwMTV9LmJyS214YjphY3RpdmUgLmpkT3JaYyAubmlPNHUsLmJyS214Yjpmb2N1cy12aXNpYmxlIC5qZE9yWmMgLm5pTzR1LC56cXJPMCAuazBKamc6YWN0aXZlIC5uaU80dSwuenFyTzAgLmswSmpnOmZvY3VzLXZpc2libGUgLm5pTzR1LC56cXJPMC5rMEpqZzphY3RpdmUgLm5pTzR1LC56cXJPMC5rMEpqZzpmb2N1cy12aXNpYmxlIC5uaU80dXtjb2xvcjp2YXIoLS1qSU51NmMpfS5icktteGI6Zm9jdXMtdmlzaWJsZSAuamRPclpjIC5rSHRjc2QsLmpkT3JaYyAuazBKamc6Zm9jdXMtdmlzaWJsZSAua0h0Y3NkLC5qZE9yWmMuazBKamc6Zm9jdXMtdmlzaWJsZSAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6IzBiNTdkMDE1fS5icktteGI6YWN0aXZlIC5qZE9yWmMgLmtIdGNzZCwuamRPclpjIC5rMEpqZzphY3RpdmUgLmtIdGNzZCwuamRPclpjLmswSmpnOmFjdGl2ZSAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6IzBiNTdkMDM5fS5vZ0J4Rntjb2xvcjp2YXIoLS1KS3F4Mil9Lm9nQnhGIC5uaU80dXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjoxcHggc29saWQgdmFyKC0tbVhaa3FjKX0ub2dCeEYgLmswSmpnOmhvdmVyIC5rSHRjc2QsLm9nQnhGLmswSmpnOmhvdmVyIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojMGI1N2QwMTV9LmJyS214Yjpmb2N1cy12aXNpYmxlIC5vZ0J4RiAua0h0Y3NkLC5vZ0J4RiAuazBKamc6Zm9jdXMtdmlzaWJsZSAua0h0Y3NkLC5vZ0J4Ri5rMEpqZzpmb2N1cy12aXNpYmxlIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojMGI1N2QwMTV9LmJyS214YjphY3RpdmUgLm9nQnhGIC5rSHRjc2QsLm9nQnhGIC5rMEpqZzphY3RpdmUgLmtIdGNzZCwub2dCeEYuazBKamc6YWN0aXZlIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojMGI1N2QwMzl9LngyR0pXYntjb2xvcjojMWYxZjFmfS54MkdKV2IgLlF1VTNXYntjb2xvcjojMWYxZjFmO30ueDJHSldiIC5uaU80dXtiYWNrZ3JvdW5kLWNvbG9yOiNmMWYzZjR9YS5MY210VWJ7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fWEuTGNtdFViOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfWEuTGNtdFViOmZvY3VzLXZpc2libGUgLngyR0pXYiAubmlPNHV7b3V0bGluZToycHggc29saWQgdmFyKC0tcnJKSlVjKTtvdXRsaW5lLW9mZnNldDoycHh9LngyR0pXYjphY3RpdmUgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzIsMzMsMzYsMC4yNCl9LngyR0pXYiAuazBKamc6aG92ZXIgLmtIdGNzZCwueDJHSldiLmswSmpnOmhvdmVyIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojMGI1N2QwMTV9LmJyS214Yjpmb2N1cy12aXNpYmxlIC54MkdKV2IgLmtIdGNzZCwueDJHSldiIC5rMEpqZzpmb2N1cy12aXNpYmxlIC5rSHRjc2QsLngyR0pXYi5rMEpqZzpmb2N1cy12aXNpYmxlIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojMGI1N2QwMTV9LmJyS214YjphY3RpdmUgLngyR0pXYiAua0h0Y3NkLC54MkdKV2IgLmswSmpnOmFjdGl2ZSAua0h0Y3NkLC54MkdKV2IuazBKamc6YWN0aXZlIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojMGI1N2QwMzl9LmZYVmFyZntjb2xvcjojZmZmfS5mWFZhcmYgLm5pTzR1e2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpfS5mWFZhcmYgLmswSmpnOmhvdmVyIC5rSHRjc2QsLmZYVmFyZi5rMEpqZzpob3ZlciAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6IzFmMWYxZjMzfS5icktteGI6Zm9jdXMtdmlzaWJsZSAuZlhWYXJmIC5rSHRjc2QsLmZYVmFyZiAuazBKamc6Zm9jdXMtdmlzaWJsZSAua0h0Y3NkLC5mWFZhcmYuazBKamc6Zm9jdXMtdmlzaWJsZSAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6IzFmMWYxZjMzfS5icktteGI6YWN0aXZlIC5mWFZhcmYgLmtIdGNzZCwuZlhWYXJmIC5rMEpqZzphY3RpdmUgLmtIdGNzZCwuZlhWYXJmLmswSmpnOmFjdGl2ZSAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6IzFmMWYxZjY2fS5XNjhBMFtzZWxlY3RlZF17Y29sb3I6dmFyKC0teFBwaU0pfS5XNjhBMFtzZWxlY3RlZF0gLm5pTzR1e2JhY2tncm91bmQtY29sb3I6dmFyKC0tS0laUG5lKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9Llc2OEEwW3NlbGVjdGVkXSAuazBKamc6aG92ZXIgLmtIdGNzZCwuVzY4QTAuazBKamdbc2VsZWN0ZWRdOmhvdmVyIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojZDJlM2ZjfS5yNjlGWiAuZDNvM0FkLC5yNjlGWiAuV29BOVpke2NvbG9yOiMwYjU3ZDB9LnI2OUZaOm5vdChbZGlzYWJsZWRdKSAuazBKamc6aG92ZXIgLmQzbzNBZCwucjY5Rlo6bm90KFtkaXNhYmxlZF0pIC5rMEpqZzpob3ZlciAuV29BOVpkLC5yNjlGWi5rMEpqZzpub3QoW2Rpc2FibGVkXSk6aG92ZXIgLmQzbzNBZCwucjY5RlouazBKamc6bm90KFtkaXNhYmxlZF0pOmhvdmVyIC5Xb0E5WmR7Y29sb3I6IzAwMWQzNX0uYnJLbXhiOmZvY3VzLXZpc2libGUgLnI2OUZaOm5vdChbZGlzYWJsZWRdKSAuZDNvM0FkLC5icktteGI6Zm9jdXMtdmlzaWJsZSAucjY5Rlo6bm90KFtkaXNhYmxlZF0pIC5Xb0E5WmQsLmJyS214YjphY3RpdmUgLnI2OUZaOm5vdChbZGlzYWJsZWRdKSAuZDNvM0FkLC5icktteGI6YWN0aXZlIC5yNjlGWjpub3QoW2Rpc2FibGVkXSkgLldvQTlaZCwucjY5Rlo6bm90KFtkaXNhYmxlZF0pIC5rMEpqZzpmb2N1cy12aXNpYmxlIC5kM28zQWQsLnI2OUZaOm5vdChbZGlzYWJsZWRdKSAuazBKamc6Zm9jdXMtdmlzaWJsZSAuV29BOVpkLC5yNjlGWjpub3QoW2Rpc2FibGVkXSkgLmswSmpnOmFjdGl2ZSAuZDNvM0FkLC5yNjlGWjpub3QoW2Rpc2FibGVkXSkgLmswSmpnOmFjdGl2ZSAuV29BOVpkLC5yNjlGWi5rMEpqZzpub3QoW2Rpc2FibGVkXSk6Zm9jdXMtdmlzaWJsZSAuZDNvM0FkLC5yNjlGWi5rMEpqZzpub3QoW2Rpc2FibGVkXSk6Zm9jdXMtdmlzaWJsZSAuV29BOVpkLC5yNjlGWi5rMEpqZzpub3QoW2Rpc2FibGVkXSk6YWN0aXZlIC5kM28zQWQsLnI2OUZaLmswSmpnOm5vdChbZGlzYWJsZWRdKTphY3RpdmUgLldvQTlaZHtjb2xvcjojMDAxZDM1fS5CbWVnb2YgLmQzbzNBZCwuQm1lZ29mIC5Xb0E5WmR7Y29sb3I6IzBiNTdkMH0uQm1lZ29mOm5vdChbZGlzYWJsZWRdKSAuazBKamc6aG92ZXIgLmQzbzNBZCwuQm1lZ29mOm5vdChbZGlzYWJsZWRdKSAuazBKamc6aG92ZXIgLldvQTlaZCwuQm1lZ29mLmswSmpnOm5vdChbZGlzYWJsZWRdKTpob3ZlciAuZDNvM0FkLC5CbWVnb2YuazBKamc6bm90KFtkaXNhYmxlZF0pOmhvdmVyIC5Xb0E5WmR7Y29sb3I6IzAwMWQzNX0uYnJLbXhiOmZvY3VzLXZpc2libGUgLkJtZWdvZjpub3QoW2Rpc2FibGVkXSkgLmQzbzNBZCwuYnJLbXhiOmZvY3VzLXZpc2libGUgLkJtZWdvZjpub3QoW2Rpc2FibGVkXSkgLldvQTlaZCwuYnJLbXhiOmFjdGl2ZSAuQm1lZ29mOm5vdChbZGlzYWJsZWRdKSAuZDNvM0FkLC5icktteGI6YWN0aXZlIC5CbWVnb2Y6bm90KFtkaXNhYmxlZF0pIC5Xb0E5WmQsLkJtZWdvZjpub3QoW2Rpc2FibGVkXSkgLmswSmpnOmZvY3VzLXZpc2libGUgLmQzbzNBZCwuQm1lZ29mOm5vdChbZGlzYWJsZWRdKSAuazBKamc6Zm9jdXMtdmlzaWJsZSAuV29BOVpkLC5CbWVnb2Y6bm90KFtkaXNhYmxlZF0pIC5rMEpqZzphY3RpdmUgLmQzbzNBZCwuQm1lZ29mOm5vdChbZGlzYWJsZWRdKSAuazBKamc6YWN0aXZlIC5Xb0E5WmQsLkJtZWdvZi5rMEpqZzpub3QoW2Rpc2FibGVkXSk6Zm9jdXMtdmlzaWJsZSAuZDNvM0FkLC5CbWVnb2YuazBKamc6bm90KFtkaXNhYmxlZF0pOmZvY3VzLXZpc2libGUgLldvQTlaZCwuQm1lZ29mLmswSmpnOm5vdChbZGlzYWJsZWRdKTphY3RpdmUgLmQzbzNBZCwuQm1lZ29mLmswSmpnOm5vdChbZGlzYWJsZWRdKTphY3RpdmUgLldvQTlaZHtjb2xvcjojMDAxZDM1fS5zTGw3ZGVbc2VsZWN0ZWRde2NvbG9yOnZhcigtLXhQcGlNKX0uc0xsN2RlW3NlbGVjdGVkXSAubmlPNHV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1LSVpQbmUpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH0uc0xsN2RlLnJsdDdVYltzZWxlY3RlZF0gLmQzbzNBZDpub3QoLlVYd2h2YiksLnNMbDdkZS5lRlNXeGRbc2VsZWN0ZWRdIC5kM28zQWQ6bm90KC5VWHdodmIpe2Rpc3BsYXk6bm9uZX0uc0xsN2RlW3NlbGVjdGVkXSAuUjA0VE9ke2Rpc3BsYXk6ZmxleH0uc0xsN2RlLkx3ZFYwZVtzZWxlY3RlZF0gLmNsT3gxZTpub3QoLmw2UEFPZCl7bWFyZ2luLWxlZnQ6OHB4fS5zTGw3ZGVbc2VsZWN0ZWRdIC5rMEpqZzpob3ZlciAua0h0Y3NkLC5zTGw3ZGUuazBKamdbc2VsZWN0ZWRdOmhvdmVyIC5rSHRjc2R7YmFja2dyb3VuZC1jb2xvcjojZDJlM2ZjfS5kMkQ1aFtzZWxlY3RlZF17Y29sb3I6dmFyKC0tcnJKSlVjKX0uZDJENWhbc2VsZWN0ZWRdIC5uaU80dXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXhoVUd3Yyl9LmQyRDVoLnJsdDdVYltzZWxlY3RlZF0gLmQzbzNBZDpub3QoLlVYd2h2YiksLmQyRDVoLmVGU1d4ZFtzZWxlY3RlZF0gLmQzbzNBZDpub3QoLlVYd2h2Yil7ZGlzcGxheTpub25lfS5kMkQ1aFtzZWxlY3RlZF0gLlIwNFRPZHtkaXNwbGF5OmZsZXh9LmQyRDVoLkx3ZFYwZVtzZWxlY3RlZF0gLmNsT3gxZTpub3QoLmw2UEFPZCl7bWFyZ2luLWxlZnQ6OHB4fS5kMkQ1aFtzZWxlY3RlZF0gLmswSmpnOmhvdmVyLC5kMkQ1aC5rMEpqZ1tzZWxlY3RlZF06aG92ZXJ7Y29sb3I6IzE5NjdkMn0uZDJENWhbc2VsZWN0ZWRdIC5rMEpqZzpob3ZlciAua0h0Y3NkLC5kMkQ1aC5rMEpqZ1tzZWxlY3RlZF06aG92ZXIgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjYsMTE1LDIzMiwuMDgpfS5icktteGI6Zm9jdXMtdmlzaWJsZSAuZDJENWhbc2VsZWN0ZWRdLC5kMkQ1aC5rMEpqZ1tzZWxlY3RlZF06Zm9jdXMtdmlzaWJsZSwuZDJENWhbc2VsZWN0ZWRdIC5rMEpqZzpmb2N1cy12aXNpYmxle2NvbG9yOiMxOTY3ZDJ9LnA5cGRjW3NlbGVjdGVkXXtjb2xvcjp2YXIoLS1yckpKVWMpfS5wOXBkY1tzZWxlY3RlZF0gLm5pTzR1e2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LnA5cGRjLnJsdDdVYltzZWxlY3RlZF0gLmQzbzNBZDpub3QoLlVYd2h2YiksLnA5cGRjLmVGU1d4ZFtzZWxlY3RlZF0gLmQzbzNBZDpub3QoLlVYd2h2Yil7ZGlzcGxheTpub25lfS5wOXBkY1tzZWxlY3RlZF0gLlIwNFRPZHtkaXNwbGF5OmZsZXh9LnA5cGRjLkx3ZFYwZVtzZWxlY3RlZF0gLmNsT3gxZTpub3QoLmw2UEFPZCl7bWFyZ2luLWxlZnQ6OHB4fS5wOXBkY1tzZWxlY3RlZF0gLmswSmpnOmhvdmVyLC5wOXBkYy5rMEpqZ1tzZWxlY3RlZF06aG92ZXIgLmtIdGNzZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjYsMTE1LDIzMiwwLjA4KX0uZkNyWnljW2Rpc2FibGVkXXtjb2xvcjojNDc0NzQ3NjF9LmZDclp5Yy5mQ3JaeWMuZkNyWnljLmZDclp5Yy5mQ3JaeWMuZkNyWnljW2Rpc2FibGVkXSAua0h0Y3Nke2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9LmZDclp5Yy5mQ3JaeWMuZkNyWnljLmZDclp5Yy5mQ3JaeWMuZkNyWnljW2Rpc2FibGVkXSAubmlPNHV7YmFja2dyb3VuZDojZjdmOGY5O291dGxpbmUtY29sb3I6I2QyZDJkMjYxO2N1cnNvcjphdXRvO2NvbG9yOiM0NzQ3NDc2MX1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsuZkNyWnljW2Rpc2FibGVkXSAubmlPNHV7b3V0bGluZS1jb2xvcjpHcmF5VGV4dDtjdXJzb3I6YXV0b30uZkNyWnljW2Rpc2FibGVkXXtjb2xvcjpHcmF5VGV4dH19LlJBNmFLW3NlbGVjdGVkXXtjb2xvcjp2YXIoLS14UHBpTSl9LlJBNmFLW3NlbGVjdGVkXSAubmlPNHV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1LSVpQbmUpfS5jcVYzMmJbc2VsZWN0ZWRde2NvbG9yOnZhcigtLXhQcGlNKX0uY3FWMzJiW3NlbGVjdGVkXSAubmlPNHV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1LSVpQbmUpfS5pQXlQd2Rbc2VsZWN0ZWRde2NvbG9yOnZhcigtLXhQcGlNKX0uaUF5UHdkW3NlbGVjdGVkXSAubmlPNHV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1LSVpQbmUpfS5SMDRUT2R7ZGlzcGxheTpub25lfS5idGt1NWJbc2VsZWN0ZWRdIC5kM28zQWQuVVh3aHZiLC5BMjl6Z2Zbc2VsZWN0ZWRdIC5jbE94MWU6bm90KC5sNlBBT2Qpe21hcmdpbi1sZWZ0OjhweH0uYnRrdTViW3NlbGVjdGVkXSAuazBKamc6aG92ZXIgLmtIdGNzZCwuYnRrdTViLmswSmpnW3NlbGVjdGVkXTpob3ZlciAua0h0Y3Nke2JhY2tncm91bmQtY29sb3I6IzBiNTdkMDE1fS5ybHQ3VWIuZXJGTXJmIC5jbE94MWUuY2xPeDFlLC5lRlNXeGQuZXJGTXJmIC5jbE94MWUuY2xPeDFle21hcmdpbi1yaWdodDowfS5Xb0E5WmR7bWFyZ2luOjAgOHB4IDAgNHB4fS5zalZKUWR7Zm9udC1mYW1pbHk6R29vZ2xlIFNhbnMsQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjBweH0uVHc2Q21le2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS5idGt1NWJbc2VsZWN0ZWRdIC5YTjBZY2V7bWFyZ2luLXJpZ2h0OjhweH0uYnRrdTViLlR3NkNtZVtzZWxlY3RlZF0gLmlZNnJNYiAua0h0Y3NkLC5idGt1NWIuVHc2Q21lW3NlbGVjdGVkXSAuaVk2ck1iIC5uaU80dXtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5idGt1NWIuVHc2Q21lW3NlbGVjdGVkXSAuRUR2UE5jIC5rSHRjc2QsLmJ0a3U1Yi5UdzZDbWVbc2VsZWN0ZWRdIC5FRHZQTmMgLm5pTzR1e2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MH0uYnRrdTViLlR3NkNtZVtzZWxlY3RlZF0gLmlZNnJNYiAubmlPNHUgLmtIdGNzZCAuY2xPeDFle21hcmdpbi1sZWZ0OjB9LmJ0a3U1Yjpub3QoW3NlbGVjdGVkXSkgLkVEdlBOY3tkaXNwbGF5Om5vbmV9LmJ0a3U1Yi5UdzZDbWVbc2VsZWN0ZWRdIC5FRHZQTmMgLm5pTzR1e2JvcmRlci1yaWdodDpub25lfS5idGt1NWIuVHc2Q21lW3NlbGVjdGVkXSAuaVk2ck1iIC5uaU80dXtib3JkZXItbGVmdDpub25lfS5TMm16S2QuUHJqTDhjIC5uaU80dXtib3JkZXItcmFkaXVzOjk5OTk5cHg7aGVpZ2h0OjQwcHg7fS5TMm16S2QuQTI5emdmIC5rMEpqZywuUzJtektkLkEyOXpnZiAua0h0Y3Nke2JvcmRlci1yYWRpdXM6OTk5OTlweH0uekpVdXFme21hcmdpbi1ib3R0b206NHB4fS5BQjRXZmZ7bWFyZ2luLWxlZnQ6MTZweH0ud0hZbFRke2ZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjJweH0ueVVUTWp7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjtmb250LXdlaWdodDo0MDB9QGtleWZyYW1lcyBnLXNuYWNrYmFyLXNob3d7ZnJvbXtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfXRve3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKX19QGtleWZyYW1lcyBnLXNuYWNrYmFyLWhpZGV7ZnJvbXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSl9dG97dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9fUBrZXlmcmFtZXMgZy1zbmFja2Jhci1zaG93LWNvbnRlbnR7ZnJvbXtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgZy1zbmFja2Jhci1oaWRlLWNvbnRlbnR7dG97b3BhY2l0eTowfX0uTEgzd0csLmpoWnZvZHtib3R0b206MDtoZWlnaHQ6MDtwb3NpdGlvbjpmaXhlZDt6LWluZGV4Ojk5OX0uT3g4Q3lke2hlaWdodDowO3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6OTk5fS5FN0hkZ2J7Ym94LXNpemluZzpib3JkZXItYm94O3Zpc2liaWxpdHk6aGlkZGVuO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55SzZqcWUsLld1MHY5Yntib3gtc2l6aW5nOmJvcmRlci1ib3g7dmlzaWJpbGl0eTpoaWRkZW59LnJUWVROYnthbmltYXRpb246Zy1zbmFja2Jhci1oaWRlIC40cyBjdWJpYy1iZXppZXIoMC40LDAsMC4yLDEpIGJvdGg7dmlzaWJpbGl0eTppbmhlcml0fS5VZXdQTWR7YW5pbWF0aW9uOmctc25hY2tiYXItc2hvdyAuNXMgY3ViaWMtYmV6aWVyKDAuNCwwLDAuMiwxKSBib3RoO3Zpc2liaWxpdHk6aW5oZXJpdH0uYjc3SEtme2JhY2tncm91bmQtY29sb3I6IzMyMzIzMjtwYWRkaW5nOjAgMjRweH0uckl4c3Zle2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmJveDtkaXNwbGF5OmZsZXh9LnJUWVROYiAuckl4c3Zle2FuaW1hdGlvbjpnLXNuYWNrYmFyLWhpZGUtY29udGVudCAuMzVzIGN1YmljLWJlemllcigwLjQsMCwwLjIsMSkgYm90aH0uVWV3UE1kIC5ySXhzdmV7YW5pbWF0aW9uOmctc25hY2tiYXItc2hvdy1jb250ZW50IC4zNXMgY3ViaWMtYmV6aWVyKDAuNCwwLDAuMiwxKSAuMTVzIGJvdGh9LlR4bmduYi5UeG5nbmJ7bGluZS1oZWlnaHQ6MjBweH0uVHhuZ25ie2NvbG9yOiNmZmY7ZmxleDoxIDEgYXV0bzttYXJnaW46MTRweCAwO3dvcmQtYnJlYWs6YnJlYWstd29yZH0uc0hGTllke21hcmdpbi1yaWdodDotOHB4fUBtZWRpYSAobWluLXdpZHRoOjU2OXB4KSBhbmQgKG1pbi1oZWlnaHQ6NTY5cHgpey5MSDN3Rywuamhadm9ke3RleHQtYWxpZ246Y2VudGVyfS5XdTB2OWIsLnlLNmpxZXtkaXNwbGF5OmlubGluZS1ibG9jazttYXgtd2lkdGg6NTY4cHg7bWluLXdpZHRoOjI4OHB4O3RleHQtYWxpZ246bGVmdH0uYjc3SEtme2JvcmRlci1yYWRpdXM6OHB4fS5zSEZOWWR7bWFyZ2luLWxlZnQ6NDBweH19LlY5TzFZZCAuckl4c3Zle2Rpc3BsYXk6YmxvY2s7cGFkZGluZzo4cHggMH0uVjlPMVlkIC5zSEZOWWR7bWFyZ2luLWxlZnQ6MH0uVjlPMVlkIC5zSEZOWWQgZy1mbGF0LWJ1dHRvbntwYWRkaW5nLWxlZnQ6MH0uamhadm9ke2xlZnQ6MTZweDtyaWdodDphdXRvfS5MSDN3RywuT3g4Q3lke2xlZnQ6MDtyaWdodDowfS55SzZqcWUsLld1MHY5YiwuRTdIZGdie3Bvc2l0aW9uOnJlbGF0aXZlfS5HOWpvcmV7cG9zaXRpb246YWJzb2x1dGU7dG9wOi0yNHB4O2JvdHRvbTotMjRweDtsZWZ0Oi0yNHB4O3JpZ2h0Oi0yNHB4fS56VWRwcGN7cGFkZGluZy1ib3R0b206NHB4fS5Ua1pac2Z7cGFkZGluZy1ib3R0b206NHB4O3BhZGRpbmctdG9wOjRweH0uTWRGRGdiLkhVUU5JZXtjb2xvcjpyZ2JhKDAsMCwwLC4yNil9LmN6VVkyZXtiYWNrZ3JvdW5kLWNvbG9yOiMwYjU3ZDB9Zy1pbWd7ZGlzcGxheTpibG9ja31nLWltZ3toZWlnaHQ6MTAwJX0uWVE0Z2Fme2Rpc3BsYXk6YmxvY2s7Ym9yZGVyOjB9LnU5d0g3ZCAuWVE0Z2Fme29iamVjdC1maXQ6ZmlsbH0ubU5zSWhiIC5ZUTRnYWZ7b2JqZWN0LWZpdDpjb3Zlcn0udGIwOFBkIC5ZUTRnYWZ7b2JqZWN0LWZpdDpjb250YWlufS53QTFCZ2V7cG9zaXRpb246cmVsYXRpdmV9LmhodGpyY3tmbGV4Om5vbmV9LlpHb21LZntvdmVyZmxvdzpoaWRkZW59LkxMTzh5ZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjAzKTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtwb2ludGVyLWV2ZW50czpub25lO2xlZnQ6MDtyaWdodDowfS5McWtLdGZ7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MTAwJTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2xlZnQ6MDtvcGFjaXR5Oi45OTk7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCV9Lkl6NzQwZC5McWtLdGZ7Ym9yZGVyLXJhZGl1czo1MCV9Lkxxa0t0Zi5EbmdyUGN7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTUwdnc7bWFyZ2luLXJpZ2h0Oi01MHZ3O3JpZ2h0OjUwJTt3aWR0aDoxMDB2d30uYW1wX3Jle3Bvc2l0aW9uOnJlbGF0aXZlfS5ReUpJM2R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS14aFVHd2MpO2NvbG9yOiM2NjY7Ym94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsMC4yKX0ub1FjUHR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS14aFVHd2MpfS5ReUpJM2R7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4yKTtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjkxMjB9Lm5GZEZIZnthbmltYXRpb246Zy1idWJibGUtc2hvdyAuMnMgZm9yd2FyZHN9LmJFM0tpZnthbmltYXRpb246Zy1idWJibGUtaGlkZSAuMnMgZm9yd2FyZHN9QGtleWZyYW1lcyBnLWJ1YmJsZS1zaG93e2Zyb217b3BhY2l0eTowfXRve29wYWNpdHk6MX19QGtleWZyYW1lcyBnLWJ1YmJsZS1oaWRle2Zyb217b3BhY2l0eToxfXRve29wYWNpdHk6MH19LlF5SkkzZC5RSm5vemV7Ym9yZGVyLXJhZGl1czoxMnB4fS5ReUpJM2QuU2lPakpie2JvcmRlci1sZWZ0LXdpZHRoOjA7Ym9yZGVyLXJpZ2h0LXdpZHRoOjA7d2lkdGg6MTAwJX0uUXlKSTNkLlBuUU1pZXtiYWNrZ3JvdW5kLWNvbG9yOiMyMDIxMjQ7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuNSk7Y29sb3I6I2RhZGNlMH0uUXlKSTNkLkxXZW41Y3tiYWNrZ3JvdW5kLWNvbG9yOiMxYTczZTg7Ym9yZGVyOm5vbmU7Y29sb3I6I2ZmZjt6LWluZGV4OjkxMDB9LnRZbWZ4ZXt0cmFuc2Zvcm06dHJhbnNsYXRlKDIuNXB4LDEuOHB4KSByb3RhdGVaKDQ1ZGVnKTtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjkxMjF9W2Rpcj1ydGxdIC50WW1meGV7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMi41cHgsMS44cHgpIHJvdGF0ZVooNDVkZWcpfS5JQlBadS50WW1meGV7dHJhbnNmb3JtOnRyYW5zbGF0ZSgyLjVweCwtNS43cHgpIHJvdGF0ZVooNDVkZWcpfVtkaXI9cnRsXSAuSUJQWnUudFltZnhle3RyYW5zZm9ybTp0cmFuc2xhdGUoLTIuNXB4LC01LjdweCkgcm90YXRlWig0NWRlZyl9Lm9RY1B0e2JvcmRlci1ib3R0b206bm9uZTtib3JkZXItbGVmdDoxcHggc29saWQgcmdiYSgwLDAsMCwuMik7Ym9yZGVyLXJpZ2h0Om5vbmU7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgwLDAsMCwuMik7Ym94LXNpemluZzpib3JkZXItYm94O2hlaWdodDoxMy40MzVweDt3aWR0aDoxMy40MzVweH0uSUJQWnUgLm9RY1B0e2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjIpO2JvcmRlci1sZWZ0Om5vbmU7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCByZ2JhKDAsMCwwLC4yKTtib3JkZXItdG9wOm5vbmV9LlBuUU1pZSAub1FjUHR7YmFja2dyb3VuZC1jb2xvcjojMjAyMTI0O2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuNSl9LkxXZW41YyAub1FjUHR7YmFja2dyb3VuZC1jb2xvcjojMWE3M2U4O2JvcmRlcjpub25lfS5ubkZHdWZ7ZGlzcGxheTpub25lfS5jNWFaUGJ7Y3Vyc29yOnBvaW50ZXJ9LkRjbHRyZXtwb2ludGVyLWV2ZW50czpub25lfS5UWVE4QWZ7Y2xpcDpyZWN0KDFweCwxcHgsMXB4LDFweCk7aGVpZ2h0OjFweDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOjFweDt6LWluZGV4Oi0xMDAwO3RvcDozcHg7cmlnaHQ6M3B4fS5KZ3pxWWR7Zm9udC1mYW1pbHk6R29vZ2xlIFNhbnMsQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MjhweDtsaW5lLWhlaWdodDozNnB4fS5QcWtuMmV7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoyNHB4fS5ad1JoSmR7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxOHB4fS5NQmV1T3tmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OjQwMH0uTUJldU97bGluZS1oZWlnaHQ6MjRweH0uUkVTOWpme2NvbG9yOnZhcigtLVlMTk5IYyl9LkdTNXJSZHtjb2xvcjp2YXIoLS1KS3F4Mil9LkdTNXJSZDp2aXNpdGVke2NvbG9yOiM2ODFkYTh9Lml3WTFNYntoZWlnaHQ6MDtvcGFjaXR5OjA7ZGlzcGxheTpibG9ja30uVjhmV0h7Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2NsaXAtcGF0aDpwb2x5Z29uKDAgMCwwIDAsMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7ei1pbmRleDotMTAwMDt1c2VyLXNlbGVjdDpub25lfS5nVzd6U2N7ZGlzcGxheTpibG9ja30uQ3FtUFJlOmFjdGl2ZSAuYVZsVHBjIHNwYW57YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIsLjIsMCwxKTthbmltYXRpb24tZHVyYXRpb246LjVzfUBrZXlmcmFtZXMgc2hhcGUtdHdlZW4tcmlnaHR7NTAle3RyYW5zZm9ybTpzY2FsZVkoLjkpIHRyYW5zbGF0ZVgoOCUpfTEwMCV7dHJhbnNmb3JtOm5vbmV9fUBrZXlmcmFtZXMgc2hhcGUtdHdlZW4tbGVmdHs1MCV7dHJhbnNmb3JtOnNjYWxlWSguOSkgdHJhbnNsYXRlWCgtOCUpfTEwMCV7dHJhbnNmb3JtOm5vbmV9fS5DcW1QUmU6YWN0aXZlIC5LQXJKdWMgc3BhbnthbmltYXRpb24tbmFtZTpzaGFwZS10d2Vlbi1yaWdodH0uQ3FtUFJlOmFjdGl2ZSAuWWJDcnpkIHNwYW57YW5pbWF0aW9uLW5hbWU6c2hhcGUtdHdlZW4tbGVmdH1Aa2V5ZnJhbWVzIHNoYXBlLXR3ZWVuLXVwezUwJXt0cmFuc2Zvcm06c2NhbGVYKC45KSB0cmFuc2xhdGVZKC04JSl9MTAwJXt0cmFuc2Zvcm06bm9uZX19LkNxbVBSZTphY3RpdmUgLm9YcVp4YyBzcGFue2FuaW1hdGlvbi1uYW1lOnNoYXBlLXR3ZWVuLXVwfUBrZXlmcmFtZXMgc2hhcGUtdHdlZW4tZG93bns1MCV7dHJhbnNmb3JtOnNjYWxlWCguOSkgdHJhbnNsYXRlWSg4JSl9MTAwJXt0cmFuc2Zvcm06bm9uZX19LkNxbVBSZTphY3RpdmUgLlRENUZRZSBzcGFue2FuaW1hdGlvbi1uYW1lOnNoYXBlLXR3ZWVuLWRvd259LkFhamQze3BhZGRpbmctbGVmdDoxNnB4fS5VMDlKeGR7cGFkZGluZy1yaWdodDo0cHh9Lmd4TWRWZHtwYWRkaW5nLXJpZ2h0OjhweH0ubVdjZjBle2N1cnNvcjpwb2ludGVyfUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey5DTmJQbmN7YmFja2dyb3VuZC1jb2xvcjpCdXR0b25GYWNlO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWNvbG9yOkJ1dHRvbkJvcmRlcjtjb2xvcjpCdXR0b25UZXh0fX0uVmZMMll7cG9zaXRpb246cmVsYXRpdmU7fS5ZUXBYOWR7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246cmVsYXRpdmU7fS5MUlp3dWN7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lm5LSHlUY3tjb2xvcjp2YXIoLS1JWG94VWUpO2Zsb2F0OnJpZ2h0O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE2cHg7cGFkZGluZy1ib3R0b206NHB4fS5lREdxTmR7Y29sb3I6dmFyKC0tSVhveFVlKTtmbG9hdDpyaWdodDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNnB4fS5rNjJnamI6aG92ZXIsLms2MmdqYiAuVzdHQ29jOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LnIyZmptZHttYXJnaW4tYm90dG9tOjBweDttYXJnaW4tdG9wOjBweH1nLWRyb3Bkb3duLW1lbnV7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmV9LkpiMFppZiBnLWRyb3Bkb3duLW1lbnV7dmVydGljYWwtYWxpZ246bWlkZGxlfS5XTk4xYntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXhoVUd3Yyl9Llc0WHFOe2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0teGhVR3djKX0uR0tYV1Z7Ym9yZGVyLXRvcDoxcHggc29saWQgI2RhZGNlMDtoZWlnaHQ6MDttYXJnaW4tbGVmdDo1cHg7bWFyZ2luLXJpZ2h0OjVweH0uZU5Sd3lme2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmFkR042W2Rpc2FibGVkXXtwb2ludGVyLWV2ZW50czpub25lO2N1cnNvcjpkZWZhdWx0O2JhY2tncm91bmQtY29sb3I6I2Y3ZjhmOX0ucGtXQnNle2JveC1zaGFkb3c6MCAycHggMTBweCAwIHJnYmEoMCwwLDAsMC4yKX0ucGtXQnNle2JvcmRlci1yYWRpdXM6OHB4fS5VakJHTHtkaXNwbGF5OmJsb2NrfS5DY05lNmV7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmlSUUhaZXtwb3NpdGlvbjphYnNvbHV0ZX0uUWFxdTV7cG9zaXRpb246cmVsYXRpdmV9LnNobk1vYy5DY05lNmV7ZGlzcGxheTpibG9ja30udjRacGJlLkNjTmU2ZXtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uUEJuNDRle2JvcmRlci1yYWRpdXM6OHB4fS55S1V5aiAuRXBQWUxkOmZpcnN0LW9mLXR5cGV7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czo4cHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6OHB4fS55S1V5aiAuRXBQWUxkOmxhc3Qtb2YtdHlwZXtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjhweDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czo4cHh9LnlUaWswe2JvcmRlcjpub25lO2Rpc3BsYXk6YmxvY2s7b3V0bGluZTpub25lfS53cGxKQmR7d2hpdGUtc3BhY2U6bm93cmFwfS5KTTIyUzo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6OHB4fS5KTTIyUzo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojYmFiYWJhO2JvcmRlci1yaWdodDo0cHggc29saWQgI2ZmZn0uaVFYVEple3BhZGRpbmc6NXB4IDB9Llp0MGE1ZS5MR2lsdWN7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1nUzVqWGIpfS5adDBhNWUuTEdpbHVjLC5adDBhNWUuRXBQWUxkW2Rpc2FibGVkXXtjb2xvcjpyZ2JhKDAsMCwwLDAuMjYpIWltcG9ydGFudH0uQ2ppWnZiLC5HWm5RcWUuRXBQWUxkOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4xKX0uRXBQWUxke2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmV9LllwY0RuZntwYWRkaW5nOjAgMTZweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LllwY0RuZi5IRzFkdmR7cGFkZGluZzowfS5IRzFkdmQ+KntwYWRkaW5nOjAgMTZweH0uV3RWNW5kIC5ZcGNEbmZ7cGFkZGluZy1sZWZ0OjI4cHh9Llp0MGE1ZSAuWXBjRG5me2xpbmUtaGVpZ2h0OjQ4cHh9LkdablFxZSAuWXBjRG5me2xpbmUtaGVpZ2h0OjIzcHh9LkVwUFlMZDpob3ZlcntjdXJzb3I6cG9pbnRlcn0uRXBQWUxkLC5DQjhuRGU6aG92ZXJ7Y3Vyc29yOmRlZmF1bHR9LkxHaWx1YywuRXBQWUxkW2Rpc2FibGVkXXtwb2ludGVyLWV2ZW50czpub25lO2N1cnNvcjpkZWZhdWx0fS5MR2lsdWN7Ym9yZGVyLXRvcDoxcHggc29saWQ7aGVpZ2h0OjA7bWFyZ2luOjVweCAwfS5adDBhNWUuQ0I4bkRle2JhY2tncm91bmQ6bm8tcmVwZWF0IGxlZnQgOHB4IGNlbnRlcn0uWnQwYTVlLkNCOG5EZXtiYWNrZ3JvdW5kLWltYWdlOnVybChodHRwczovL3NzbC5nc3RhdGljLmNvbS9pbWFnZXMvaWNvbnMvbWF0ZXJpYWwvc3lzdGVtLzF4L2RvbmVfYmxhY2tfMTZkcC5wbmcpfS5HWm5RcWUuQ0I4bkRle2JhY2tncm91bmQ6bm8tcmVwZWF0IGxlZnQgY2VudGVyfS5HWm5RcWUuQ0I4bkRle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vc3NsLmdzdGF0aWMuY29tL3VpL3YxL21lbnUvY2hlY2ttYXJrMi5wbmcpfS5HWm5RcWUuTEdpbHVjLC5HWm5RcWUuRXBQWUxkW2Rpc2FibGVkXXtvcGFjaXR5OjYxJX0uR1puUXFlLkxHaWx1Y3tib3JkZXItdG9wLWNvbG9yOnZhcigtLWdTNWpYYil9LmVDY1VBLC5jRG54T3twb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvcmRlci1yYWRpdXM6NTAlfS5yTGRXZmV7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czppbmhlcml0O3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS5NRGZvVGQsLmhkcUlGZXtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS5NRGZvVGQsLmNEbnhPe29wYWNpdHk6MH0uaGRxSUZlLC5jRG54T3tvdmVyZmxvdzpoaWRkZW59LmJLdm9nYiAuTURmb1RkLC5iS3ZvZ2IgLmhkcUlGZXtib3JkZXItcmFkaXVzOjUwJX0uYkt2b2diIC5lQ2NVQXtvdmVyZmxvdzpoaWRkZW59Lkx3VnlIZHt0cmFuc2l0aW9uOm1heC1oZWlnaHQgLjNzO292ZXJmbG93OmhpZGRlbn0uWWgzdGZ7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZSFpbXBvcnRhbnQ7cmlnaHQ6MDtjb2xvcjojNWU1ZTVlO3RvcDo1MCU7bWFyZ2luLXRvcDotMTJweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS5GWE1PcGIgLlloM3Rme21hcmdpbi10b3A6LTE0cHh9LkZYTU9wYiAuTUxneDBle3RyYW5zZm9ybTpyb3RhdGVYKDE4MGRlZyl9LnlkU29De3BhZGRpbmctbGVmdDo4cHh9LmtHZnN7cG9zaXRpb246cmVsYXRpdmV9LlloM3RmLmNodllGY3tiYWNrZ3JvdW5kOnZhcigtLVhLTUR4Yyk7Ym9yZGVyLXJhZGl1czoyNXB4O21hcmdpbi10b3A6LTE4cHg7cGFkZGluZzo2cHh9LlNwS3NVY3ttYXJnaW46MCAtMTBweDtwYWRkaW5nOjAgMTBweH0uVjFzTDVje292ZXJmbG93OnZpc2libGV9LlM4UEJ3ZXttYXgtaGVpZ2h0OjA7ZGlzcGxheTpub25lfS5oT2JBY2N7bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDo0cHh9LmdUZXdie3BhZGRpbmctbGVmdDo4cHg7cGFkZGluZy1yaWdodDo4cHh9LnRoc1pYY3tiYWNrZ3JvdW5kOiMxYTczZTh9LmhpUVJRY3tiYWNrZ3JvdW5kOiNlZWVlZWV9LkJiMUpLZXtwYWRkaW5nLWJvdHRvbTo4cHh9Lm91eTdNY3twYWRkaW5nLWxlZnQ6MTZweDtwYWRkaW5nLXJpZ2h0OjE2cHh9Lk04Q0VlZHtwYWRkaW5nLXRvcDoxMnB4fS56MWFzQ2V7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmlsbDpjdXJyZW50Q29sb3I7aGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6MjRweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoyNHB4fS56MWFzQ2Ugc3Zne2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX08L3N0eWxlPjwvaGVhZD48Ym9keSBqc21vZGVsPSJoc3BERGYgIj48bm9zY3JpcHQ+PG1ldGEgY29udGVudD0iMDt1cmw9Lz9zY2FfZXN2PTcwMzVmZjZiZmE0NWY0YTgmYW1wO3NjYV91cHY9MSZhbXA7b3V0cHV0PXNlYXJjaCZhbXA7Z2J2PTEmYW1wO3NlaT1oNENyWnZ5TEM1T2ZpLWdQX29xSi1RdyIgaHR0cC1lcXVpdj0icmVmcmVzaCI+PHN0eWxlPnRhYmxlLGRpdixzcGFuLHB7ZGlzcGxheTpub25lfTwvc3R5bGU+PGRpdiBzdHlsZT0iZGlzcGxheTpibG9jayI+PGEgaHJlZj0iLz9zY2FfZXN2PTcwMzVmZjZiZmE0NWY0YTgmYW1wO3NjYV91cHY9MSZhbXA7b3V0cHV0PXNlYXJjaCZhbXA7Z2J2PTEmYW1wO3NlaT1oNENyWnZ5TEM1T2ZpLWdQX29xSi1RdyI+S2xpY2tlIGhpZXI8L2E+LCB3ZW5uIGR1IG5hY2ggZWluaWdlbiBTZWt1bmRlbiBuaWNodCBhdXRvbWF0aXNjaCB3ZWl0ZXJnZWxlaXRldCB3aXJzdC48L2Rpdj48L25vc2NyaXB0PjxzdHlsZT4uTDNlVWdie2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47aGVpZ2h0OjEwMCV9Lm8zajk5e2ZsZXgtc2hyaW5rOjA7Ym94LXNpemluZzpib3JkZXItYm94fS5uMXhKY2Z7aGVpZ2h0OjYwcHh9LkxMRDRtZXttaW4taGVpZ2h0OjE1MHB4O2hlaWdodDpjYWxjKDEwMCUgLSA1NjBweCk7bWF4LWhlaWdodDoyOTBweH0ueXIxOVpie21pbi1oZWlnaHQ6OTJweH0uaWtyVDRle21heC1oZWlnaHQ6MTYwcHh9Lm13aHQ5ZHtkaXNwbGF5Om5vbmV9LkFESGo0ZXtwYWRkaW5nLXRvcDowcHg7cGFkZGluZy1ib3R0b206ODVweH0ub1d5WnJle3dpZHRoOjEwMCU7aGVpZ2h0OjUwMHB4O2JvcmRlci13aWR0aDowfS5xYXJzdGJ7ZmxleC1ncm93OjF9PC9zdHlsZT48ZGl2IGNsYXNzPSJMM2VVZ2IiIGRhdGEtaHZlaWQ9IjEiPjxkaXYgY2xhc3M9Im8zajk5IG4xeEpjZiBOZTZuU2QiIHJvbGU9Im5hdmlnYXRpb24iPjxzdHlsZT4uTmU2blNke2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzo2cHh9LkxYM3NaYntkaXNwbGF5OmlubGluZS1ibG9jaztmbGV4LWdyb3c6MX08L3N0eWxlPjxkaXYgY2xhc3M9IkxYM3NaYiI+PGRpdj48ZGl2IGNsYXNzPSJnYl9oYSBnYl9kZCBnYl85YSBnYl9DZCBnYl9DYSIgaWQ9ImdiIj48ZGl2IGNsYXNzPSJnYl91ZCBnYl83YSBnYl9pZCIgZGF0YS1vZ3NyLXVwPSIiPjxkaXY+PGRpdiBjbGFzcz0iZ2JfbyBnYl9BIGdiX1BmIGdiX0ZmIiBkYXRhLW9nYmw9IiI+PGRpdiBjbGFzcz0iZ2JfeiBnYl9BIj48YSBjbGFzcz0iZ2JfeSIgYXJpYS1sYWJlbD0iR21haWwgIiBkYXRhLXBpZD0iMjMiIGhyZWY9Imh0dHBzOi8vbWFpbC5nb29nbGUuY29tL21haWwvJmFtcDtvZ2JsIiB0YXJnZXQ9Il90b3AiPkdtYWlsPC9hPjwvZGl2PjxkaXYgY2xhc3M9ImdiX3ogZ2JfQSI+PGEgY2xhc3M9ImdiX3kiIGFyaWEtbGFiZWw9Ik5hY2ggQmlsZGVybiBzdWNoZW4gIiBkYXRhLXBpZD0iMiIgaHJlZj0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9pbWdocD9obD1kZSZhbXA7b2dibCIgdGFyZ2V0PSJfdG9wIj5CaWxkZXI8L2E+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iZ2JfTGQiPjxkaXYgY2xhc3M9ImdiX1pjIj48ZGl2IGNsYXNzPSJnYl9rIGdiX0ZkIGdiX0EiIGRhdGEtb2dzci1mYj0idHJ1ZSIgZGF0YS1vZ3NyLWFsdD0iIiBpZD0iZ2J3YSI+PGRpdiBjbGFzcz0iZ2JfZiI+PGEgY2xhc3M9ImdiX2QiIGFyaWEtbGFiZWw9Ikdvb2dsZS1BcHBzIiBocmVmPSJodHRwczovL3d3dy5nb29nbGUubHUvaW50bC9kZS9hYm91dC9wcm9kdWN0cyIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPjxzdmcgY2xhc3M9ImdiX2giIGZvY3VzYWJsZT0iZmFsc2UiIHZpZXdib3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTYsOGMxLjEsMCAyLC0wLjkgMiwtMnMtMC45LC0yIC0yLC0yIC0yLDAuOSAtMiwyIDAuOSwyIDIsMnpNMTIsMjBjMS4xLDAgMiwtMC45IDIsLTJzLTAuOSwtMiAtMiwtMiAtMiwwLjkgLTIsMiAwLjksMiAyLDJ6TTYsMjBjMS4xLDAgMiwtMC45IDIsLTJzLTAuOSwtMiAtMiwtMiAtMiwwLjkgLTIsMiAwLjksMiAyLDJ6TTYsMTRjMS4xLDAgMiwtMC45IDIsLTJzLTAuOSwtMiAtMiwtMiAtMiwwLjkgLTIsMiAwLjksMiAyLDJ6TTEyLDE0YzEuMSwwIDIsLTAuOSAyLC0ycy0wLjksLTIgLTIsLTIgLTIsMC45IC0yLDIgMC45LDIgMiwyek0xNiw2YzAsMS4xIDAuOSwyIDIsMnMyLC0wLjkgMiwtMiAtMC45LC0yIC0yLC0yIC0yLDAuOSAtMiwyek0xMiw4YzEuMSwwIDIsLTAuOSAyLC0ycy0wLjksLTIgLTIsLTIgLTIsMC45IC0yLDIgMC45LDIgMiwyek0xOCwxNGMxLjEsMCAyLC0wLjkgMiwtMnMtMC45LC0yIC0yLC0yIC0yLDAuOSAtMiwyIDAuOSwyIDIsMnpNMTgsMjBjMS4xLDAgMiwtMC45IDIsLTJzLTAuOSwtMiAtMiwtMiAtMiwwLjkgLTIsMiAwLjksMiAyLDJ6Ij48L3BhdGg+PGltYWdlIHNyYz0iaHR0cHM6Ly9zc2wuZ3N0YXRpYy5jb20vZ2IvaW1hZ2VzL2Jhci9hbC1pY29uLnBuZyIgYWx0PSIiIGhlaWdodD0iMjQiIHdpZHRoPSIyNCIgc3R5bGU9ImJvcmRlcjpub25lO2Rpc3BsYXk6bm9uZSBcOSI+PC9pbWFnZT48L3N2Zz48L2E+PC9kaXY+PC9kaXY+PC9kaXY+PGEgY2xhc3M9ImdiX3ZhIGdiX25kIGdiX2VkIGdiXzlkIiBhcmlhLWxhYmVsPSJBbm1lbGRlbiIgaHJlZj0iaHR0cHM6Ly9hY2NvdW50cy5nb29nbGUuY29tL1NlcnZpY2VMb2dpbj9obD1kZSZhbXA7cGFzc2l2ZT10cnVlJmFtcDtjb250aW51ZT1odHRwczovL3d3dy5nb29nbGUuY29tLyZhbXA7ZWM9R0FaQW1nUSIgdGFyZ2V0PSJfdG9wIj48c3BhbiBjbGFzcz0iZ2JfQmQiPkFubWVsZGVuPC9zcGFuPjwvYT48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvM2o5OSBMTEQ0bWUgTFM4T0oiPjxzdHlsZT4uTFM4T0p7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXJ9LmsxeklBe2hlaWdodDoxMDAlO21hcmdpbi10b3A6YXV0b308L3N0eWxlPjxkaXYgY2xhc3M9ImsxeklBIGtLdnNiIj48c3R5bGU+LmtLdnNie21heC1oZWlnaHQ6MjMwcHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luLWxlZnQ6NDhweDttYXJnaW4tcmlnaHQ6NDhweH0uU3VVY0lie3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0Oi00OHB4O2JvdHRvbTowfTwvc3R5bGU+PGRpdiBzdHlsZT0iaGVpZ2h0OmNhbGMoMTAwJSAtIDIwMHB4KSI+PC9kaXY+PGEgaHJlZj0iL3NlYXJjaD9zY2FfZXN2PTcwMzVmZjZiZmE0NWY0YTgmYW1wO3NjYV91cHY9MSZhbXA7cT1TdXJmZW4rT2x5bXBpYSZhbXA7b2k9ZGRsZSZhbXA7Y3Q9MzM1NjQ1MzE4JmFtcDtobD1kZSZhbXA7c2E9WCZhbXA7dmVkPTBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UVBRZ0MiIGRhdGEtaHZlaWQ9IjIiPjxzdHlsZT4ubG5YZHBke21heC1oZWlnaHQ6MTAwJTttYXgtd2lkdGg6MTAwJTtvYmplY3QtZml0OmNvbnRhaW47b2JqZWN0LXBvc2l0aW9uOmNlbnRlciBib3R0b207d2lkdGg6YXV0bzt2ZXJ0aWNhbC1hbGlnbjpib3R0b219PC9zdHlsZT48cGljdHVyZT48aW1nIGNsYXNzPSJsblhkcGQiIGFsdD0iU29tbWVyc3BpZWxlIGluIFBhcmlzIOKAkyBTdXJmZW4iIGhlaWdodD0iMjAwIiBzcmM9Ii9sb2dvcy9kb29kbGVzLzIwMjQvcGFyaXMtZ2FtZXMtc3VyZmluZy02NzUzNjUxODM3MTEwNTI4LjMtbGF3LmdpZiIgdGl0bGU9IlNvbW1lcnNwaWVsZSBpbiBQYXJpcyDigJMgU3VyZmVuIiB3aWR0aD0iNTAwIiBpZD0iaHBsb2dvIj48L3BpY3R1cmU+PC9hPjxkaXYgY2xhc3M9IlN1VWNJYiI+PHN0eWxlPi5Eb0VMMGJ7Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OjQ4cHg7d2lkdGg6NDhweDtwb3NpdGlvbjpyZWxhdGl2ZX0uQTh4emFie2JvcmRlci1yYWRpdXM6NTAlO21hcmdpbjo4cHg7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1YS01EeGMpfS5VajVpeGN7Ym9yZGVyLXJhZGl1czo1MCU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtvcGFjaXR5OjA7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1ZTE5OSGMpfS5Eb0VMMGI6aG92ZXIgLlVqNWl4Y3tvcGFjaXR5OjE1JX0uRG9FTDBiOmFjdGl2ZSAuVWo1aXhje29wYWNpdHk6MzklfS5DZFhlV2J7bGVmdDotMXB4O3BhZGRpbmc6N3B4O3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOmJvdHRvbTtjb2xvcjp2YXIoLS1ZTE5OSGMpfTwvc3R5bGU+PGJ1dHRvbiBjbGFzcz0iRG9FTDBiIiBkYXRhLWFzeW5jLXRyaWdnZXI9ImRkbHNoYXJlIiB0aXRsZT0iVGVpbGVuIiBqc2FjdGlvbj0idHJpZ2dlci5zempPUiIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UTR6Z0lBdyI+PGRpdiBjbGFzcz0iQTh4emFiIj48ZGl2IGNsYXNzPSJVajVpeGMiPjwvZGl2PjxzcGFuIGNsYXNzPSJDZFhlV2IgejFhc0NlIEZwN015IiBzdHlsZT0iaGVpZ2h0OjE4cHg7bGluZS1oZWlnaHQ6MThweDt3aWR0aDoxOHB4Ij48c3ZnIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTggMTZjLS43OSAwLTEuNS4zMS0yLjAzLjgxTDguOTEgMTIuN2MuMDUtLjIzLjA5LS40Ni4wOS0uN3MtLjA0LS40Ny0uMDktLjdsNy4wNS00LjExYy41My41IDEuMjUuODEgMi4wNC44MSAxLjY2IDAgMy0xLjM0IDMtM3MtMS4zNC0zLTMtMy0zIDEuMzQtMyAzYzAgLjI0LjA0LjQ4LjA5LjdMOC4wNCA5LjgxQzcuNSA5LjMxIDYuNzkgOSA2IDljLTEuNjYgMC0zIDEuMzQtMyAzczEuMzQgMyAzIDNjLjc5IDAgMS41LS4zMSAyLjA0LS44MWw3LjA1IDQuMTJjLS4wNS4yMi0uMDkuNDUtLjA5LjY5IDAgMS42NiAxLjM0IDMgMyAzczMtMS4zNCAzLTMtMS4zNC0zLTMtM3ptMC0xMmMuNTUgMCAxIC40NSAxIDFzLS40NSAxLTEgMS0xLS40NS0xLTEgLjQ1LTEgMS0xek02IDEzYy0uNTUgMC0xLS40NS0xLTFzLjQ1LTEgMS0xIDEgLjQ1IDEgMS0uNDUgMS0xIDF6bTEyIDdjLS41NSAwLTEtLjQ1LTEtMXMuNDUtMSAxLTEgMSAuNDUgMSAxLS40NSAxLTEgMXoiPjwvcGF0aD48L3N2Zz48L3NwYW4+PC9kaXY+PC9idXR0b24+PGlucHV0IHZhbHVlPSIvL2cuY28vZG9vZGxlL3NzcDhmaDgiIGNsYXNzPSJkZGwtc2hvcnRsaW5rIiB0eXBlPSJoaWRkZW4iPjxpbnB1dCB2YWx1ZT0iLy9nLmNvL2Rvb2RsZS92Y2s5d3ZrIiBjbGFzcz0iZGRsLWZhY2Vib29rbGluayIgdHlwZT0iaGlkZGVuIj48aW5wdXQgdmFsdWU9Ii8vZy5jby9kb29kbGUvdWZ2dHY0NCIgY2xhc3M9ImRkbC10d2l0dGVybGluayIgdHlwZT0iaGlkZGVuIj48aW5wdXQgdmFsdWU9Ii8vZy5jby9kb29kbGUvM2ZyZHYzMiIgY2xhc3M9ImRkbC1lbWFpbGxpbmsiIHR5cGU9ImhpZGRlbiI+PGlucHV0IHZhbHVlPSIvL2cuY28vZG9vZGxlL2h6YW5neWMiIGNsYXNzPSJkZGwtY29weWxpbmsiIHR5cGU9ImhpZGRlbiI+PGRpdiBqc2NvbnRyb2xsZXI9IlZzcVNDYyIgc3R5bGU9ImRpc3BsYXk6bm9uZSIgZGF0YS1qaWlzPSJ1cCIgZGF0YS1hc3luYy10eXBlPSJkZGxzaGFyZSIgaWQ9ImRkbHNoYXJlIiBjbGFzcz0ieXAiIGpzYWN0aW9uPSJ3VVZLRWY6Rkw5YUllIj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvM2o5OSBpa3JUNGUgb203bnZmIj48c3R5bGU+Lm9tN252ZntwYWRkaW5nOjIwcHh9PC9zdHlsZT48ZGlhbG9nIGNsYXNzPSJzcGNoLWRsZyIgaWQ9InNwY2gtZGxnIj48ZGl2IGNsYXNzPSJzcGNoIiBzdHlsZT0iZGlzcGxheTpub25lIiBpZD0ic3BjaCI+PC9kaXY+PC9kaWFsb2c+PGZvcm0gYWN0aW9uPSIvc2VhcmNoIiBhdXRvY29tcGxldGU9Im9mZiIgbWV0aG9kPSJHRVQiIHJvbGU9InNlYXJjaCI+IDxkaXYganNtb2RlbD0iYjVXODUgdk56S0hkIiBqc2RhdGE9Ik11SUV2ZDtfO0JlOHdzayI+IDxkaXYganNjb250cm9sbGVyPSJjbmpFQ2YiIGpzbW9kZWw9IlZZa3p1IGtqa3lrZCBFUFJ0OWQgTE03d3ggUWx5cnliIEV0Q3g4YiBJcDNFcmMgTDk3bXVkICAgICAgICAgICIgY2xhc3M9IkE4U0J3ZiIgZGF0YS1hbHQ9ImZhbHNlIiBkYXRhLWJpYm9lPSJmYWxzZSIgZGF0YS1lZmFxbD0iZmFsc2UiIGRhdGEtaHA9InRydWUiIGpzZGF0YT0iTFZwbGNiO187IiBqc2FjdGlvbj0ibFg2UldkOnczV3NtYztvY0RTdmQ6ZHV3Zkc7WG1HUnhiOm1WdzZuYjtEa3BNMGI6ZDNzUUxkO0lRT2F2ZDpkRnlRRWY7WHpaWlBlOmpJM3d6ZjtBZ2hzZjpBVnNubGI7aUhkOVU6UTdDbnJjO2Y1aEVIZTpHMGpnWWQ7dm14VWI6ajNiSm5iO1hCcVc3OmloWWFXYztuVHpmcGY6WVBSYXdiO1IyYzVPOkx1UnVnZjtxaUNrSmQ6QU5kaWRjO1EzdldQZDpGdFd4cWI7aHROTno6U05JSlRkO05PZzlMOkhMZ2gzO3VHb0lrZDplcFVva2I7ekxkTHc6ZWFHQlM7SDltdVZkOko0ZTZsYjtkanlQQ2Y6bk1lVUpmO2hCRUlWYjpuVVo5bGU7cmN1UTZiOm5wVDJtZCI+PHN0eWxlPi5BOFNCd2YsLklvcm1Le3dpZHRoOjY0MHB4O30uQThTQndme21hcmdpbjowIGF1dG87d2lkdGg6YXV0bzttYXgtd2lkdGg6NTg0cHg7cGFkZGluZy10b3A6NnB4O3Bvc2l0aW9uOnJlbGF0aXZlfS5STk5YZ2J7ZGlzcGxheTpmbGV4O3otaW5kZXg6Mztwb3NpdGlvbjpyZWxhdGl2ZTttaW4taGVpZ2h0OjQ0cHg7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI2RmZTFlNTtib3gtc2hhZG93Om5vbmU7Ym9yZGVyLXJhZGl1czoyNHB4O21hcmdpbjowIGF1dG87d2lkdGg6NjM4cHg7d2lkdGg6YXV0bzttYXgtd2lkdGg6NTg0cHh9LmVtY2F2IC5STk5YZ2IsLkJnUFByYyAuUk5OWGdie2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowO2JveC1zaGFkb3c6MCAxcHggNnB4IHJnYmEoMzIsMzMsMzYsLjI4KTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7fS5lbWNhdi5lbWNhdCAuUk5OWGdie2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MjRweDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czoyNHB4fS5STk5YZ2I6aG92ZXIsLnNiZmMgLlJOTlhnYntiYWNrZ3JvdW5kOiNmZmY7Ym94LXNoYWRvdzowIDFweCA2cHggcmdiYSgzMiwzMywzNiwuMjgpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH0uU0RrRVB7ZmxleDoxO2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjAgOHB4IDAgMDt9LkZQZG9MY3twYWRkaW5nLXRvcDoxOHB4fS5lbWNhdi5BOFNCd2YucEQ0cVRke3otaW5kZXg6OTg5fS5pYmxwY3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmctcmlnaHQ6MTNweDtwYWRkaW5nLWxlZnQ6MTRweDtoZWlnaHQ6NDZweH0uTThIOHBie3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO3BhZGRpbmc6aW5oZXJpdDt3aWR0aDppbmhlcml0fTwvc3R5bGU+PGRpdiBqc25hbWU9IlJOTlhnYiIgY2xhc3M9IlJOTlhnYiI+PGRpdiBjbGFzcz0iU0RrRVAiPjxkaXYganNuYW1lPSJ1Rk1Pb2YiIGNsYXNzPSJpYmxwYyI+PHN0eWxlPi5DY0FkTmJ7bWFyZ2luOmF1dG99LlFDem9FY3ttYXJnaW4tdG9wOjNweDtjb2xvcjojOWFhMGE2fTwvc3R5bGU+PGRpdiBjbGFzcz0iQ2NBZE5iIj48c3BhbiBjbGFzcz0iUUN6b0VjIHoxYXNDZSBNWnkxUmIiIHN0eWxlPSJoZWlnaHQ6MjBweDtsaW5lLWhlaWdodDoyMHB4O3dpZHRoOjIwcHgiPjxzdmcgZm9jdXNhYmxlPSJmYWxzZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xNS41IDE0aC0uNzlsLS4yOC0uMjdBNi40NzEgNi40NzEgMCAwIDAgMTYgOS41IDYuNSA2LjUgMCAxIDAgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHoiPjwvcGF0aD48L3N2Zz48L3NwYW4+PC9kaXY+PC9kaXY+PGRpdiBqc2NvbnRyb2xsZXI9InZacjJyYiIganNuYW1lPSJnTEZ5ZiIgY2xhc3M9ImE0YkljIiBkYXRhLWhwbWRlPSJmYWxzZSIgZGF0YS1tbnI9IjEwIiBqc2FjdGlvbj0iaDVNMTJlO2lucHV0OmQzc1FMZDtibHVyOmpJM3d6ZiI+PHN0eWxlPi5nTEZ5ZiwucWwxdE1iLC5ZYWNRdntsaW5lLWhlaWdodDozNHB4O2ZvbnQtc2l6ZToxNnB4O2ZsZXg6MTAwJTt9dGV4dGFyZWEuZ0xGeWYsLnFsMXRNYiwuWWFjUXZ7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjtsaW5lLWhlaWdodDoyMnB4O2JvcmRlci1ib3R0b206OHB4IHNvbGlkIHRyYW5zcGFyZW50O3BhZGRpbmctdG9wOjExcHg7b3ZlcmZsb3cteDpoaWRkZW59dGV4dGFyZWEuZ0xGeWZ7fS5zYmZjIHRleHRhcmVhLmdMRnlme3doaXRlLXNwYWNlOnByZS1saW5lO292ZXJmbG93LXk6YXV0b30uZ0xGeWZ7cmVzaXplOm5vbmU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTttYXJnaW46MDtwYWRkaW5nOjA7Y29sb3I6cmdiYSgwLDAsMCwuODcpO3dvcmQtd3JhcDpicmVhay13b3JkO291dGxpbmU6bm9uZTtkaXNwbGF5OmZsZXg7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS5hNGJJY3tkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7ZmxleDoxO30uWWFjUXZ7Y29sb3I6dHJhbnNwYXJlbnQ7d2hpdGUtc3BhY2U6cHJlO3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOm5vbmV9LllhY1F2IHNwYW57dGV4dC1kZWNvcmF0aW9uOiNiMzI2MWUgZG90dGVkIHVuZGVybGluZX08L3N0eWxlPjxkaXYganNuYW1lPSJ2ZExzdyIgY2xhc3M9IllhY1F2Ij48L2Rpdj48dGV4dGFyZWEgY2xhc3M9ImdMRnlmIiBhcmlhLWNvbnRyb2xzPSJBbGg2aWQiIGFyaWEtb3ducz0iQWxoNmlkIiBhdXRvZm9jdXM9IiIgdGl0bGU9IlN1Y2hlIiB2YWx1ZT0iIiBqc2FjdGlvbj0icGFzdGU6cHV5MjlkOyIgYXJpYS1sYWJlbD0iU3VjaGUiIGFyaWEtYXV0b2NvbXBsZXRlPSJib3RoIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgYXJpYS1oYXNwb3B1cD0iZmFsc2UiIGF1dG9jYXBpdGFsaXplPSJvZmYiIGF1dG9jb21wbGV0ZT0ib2ZmIiBhdXRvY29ycmVjdD0ib2ZmIiBpZD0iQVBqRnFiIiBtYXhsZW5ndGg9IjIwNDgiIG5hbWU9InEiIHJvbGU9ImNvbWJvYm94IiByb3dzPSIxIiBzcGVsbGNoZWNrPSJmYWxzZSIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UTM5VURDQVUiPjwvdGV4dGFyZWE+PC9kaXY+PGRpdiBjbGFzcz0iZk0zM2NlIGRSWVl4ZCI+PHN0eWxlPi5kUllZeGR7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87YWxpZ24taXRlbXM6c3RyZXRjaDtmbGV4LWRpcmVjdGlvbjpyb3c7aGVpZ2h0OjQ0cHh9PC9zdHlsZT4gPHN0eWxlPi5CS1JQZWZ7YmFja2dyb3VuZDp0cmFuc3BhcmVudDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleDoxIDAgYXV0bztmbGV4LWRpcmVjdGlvbjpyb3c7ZGlzcGxheTpmbGV4O2N1cnNvcjpwb2ludGVyfS52T1k3SntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlcjowO2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4OjEgMCBhdXRvO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MTAwJTtsaW5lLWhlaWdodDo0NHB4O291dGxpbmU6bm9uZTtwYWRkaW5nOjAgMTJweH0uTTJ2VjN7ZGlzcGxheTpmbGV4fS5FeENLa2Z7aGVpZ2h0OjEwMCU7Y29sb3I6dmFyKC0tSVhveFVlKTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7b3V0bGluZTpub25lfTwvc3R5bGU+IDxzdHlsZT4uQktSUGVme3BhZGRpbmctcmlnaHQ6NHB4fS5BQ1JBZGR7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNkYWRjZTA7aGVpZ2h0OjY1JX0uQUNSQWRke2Rpc3BsYXk6bm9uZX0uQUNSQWRkLk0ydlYze2Rpc3BsYXk6YmxvY2t9PC9zdHlsZT4gPGRpdiBqc2NvbnRyb2xsZXI9IlB5bUNDZSIganNuYW1lPSJSUDB4b2IiIGNsYXNzPSJCS1JQZWYiPiA8ZGl2IGNsYXNzPSJ2T1k3SiIgdGFiaW5kZXg9IjAiIGpzbmFtZT0icGtqYXNiIiBhcmlhLWxhYmVsPSJMw7ZzY2hlbiIgcm9sZT0iYnV0dG9uIiBqc2FjdGlvbj0iQVZzbmxiO3JjdVE2YjpucFQybWQiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFEwNVlGQ0FZIj4gIDxzcGFuIGpzbmFtZT0iaXRWcUtlIiBjbGFzcz0iRXhDS2tmIHoxYXNDZSByenlBRGIiPjxzdmcgZm9jdXNhYmxlPSJmYWxzZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xOSA2LjQxTDE3LjU5IDUgMTIgMTAuNTkgNi40MSA1IDUgNi40MSAxMC41OSAxMiA1IDE3LjU5IDYuNDEgMTkgMTIgMTMuNDEgMTcuNTkgMTkgMTkgMTcuNTkgMTMuNDEgMTJ6Ij48L3BhdGg+PC9zdmc+PC9zcGFuPiAgIDwvZGl2PiA8c3BhbiBqc25hbWU9InMxVmFSZSIgY2xhc3M9IkFDUkFkZCI+PC9zcGFuPiA8L2Rpdj4gPHN0eWxlPi5YRHlXMGV7ZmxleDoxIDAgYXV0bztkaXNwbGF5OmZsZXg7Y3Vyc29yOnBvaW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlcjowO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7b3V0bGluZTpub25lO3BhZGRpbmc6MCA4cHg7d2lkdGg6MjRweDtsaW5lLWhlaWdodDo0NHB4fS5nb3hqdWJ7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9PC9zdHlsZT48ZGl2IGpzY29udHJvbGxlcj0idW5WNFQiIGpzbmFtZT0iRjd1cUllIiBjbGFzcz0iWER5VzBlIiBhcmlhLWxhYmVsPSJTcHJhY2hzdWNoZSIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCIganNhY3Rpb249Img1TTEyZTtyY3VRNmI6bnBUMm1kIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRdnM4RENBYyI+PHN2ZyBjbGFzcz0iZ294anViIiBmb2N1c2FibGU9ImZhbHNlIiB2aWV3Ym94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iIzQyODVmNCIgZD0ibTEyIDE1YzEuNjYgMCAzLTEuMzEgMy0yLjk3di03LjAyYzAtMS42Ni0xLjM0LTMuMDEtMy0zLjAxcy0zIDEuMzQtMyAzLjAxdjcuMDJjMCAxLjY2IDEuMzQgMi45NyAzIDIuOTd6Ij48L3BhdGg+PHBhdGggZmlsbD0iIzM0YTg1MyIgZD0ibTExIDE4LjA4aDJ2My45MmgtMnoiPjwvcGF0aD48cGF0aCBmaWxsPSIjZmJiYzA0IiBkPSJtNy4wNSAxNi44N2MtMS4yNy0xLjMzLTIuMDUtMi44My0yLjA1LTQuODdoMmMwIDEuNDUgMC41NiAyLjQyIDEuNDcgMy4zOHYwLjMybC0xLjE1IDEuMTh6Ij48L3BhdGg+PHBhdGggZmlsbD0iI2VhNDMzNSIgZD0ibTEyIDE2LjkzYTQuOTcgNS4yNSAwIDAgMSAtMy41NCAtMS41NWwtMS40MSAxLjQ5YzEuMjYgMS4zNCAzLjAyIDIuMTMgNC45NSAyLjEzIDMuODcgMCA2Ljk5LTIuOTIgNi45OS03aC0xLjk5YzAgMi45Mi0yLjI0IDQuOTMtNSA0LjkzeiI+PC9wYXRoPjwvc3ZnPjwvZGl2PjxzdHlsZT4ubkRjRW5ke2ZsZXg6MSAwIGF1dG87ZGlzcGxheTpmbGV4O2N1cnNvcjpwb2ludGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXI6MDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O291dGxpbmU6bm9uZTtwYWRkaW5nOjAgOHB4O3dpZHRoOjI0cHg7bGluZS1oZWlnaHQ6NDRweH0uR2RkNVV7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9PC9zdHlsZT48ZGl2IGpzY29udHJvbGxlcj0ibHBzVUFmIiBqc25hbWU9IlI1bWd5IiBjbGFzcz0ibkRjRW5kIiBkYXRhLWJhc2UtbGVucy11cmw9Imh0dHBzOi8vbGVucy5nb29nbGUuY29tIiBkYXRhLWltYWdlLXByb2Nlc3Nvci1lbmFibGVkPSJ0cnVlIiBkYXRhLWlzLWltYWdlcy1tb2RlPSJmYWxzZSIgZGF0YS1wcmVmZXJyZWQtbWltZS10eXBlPSJpbWFnZS9qcGVnIiBkYXRhLXByb3BhZ2F0ZWQtZXhwZXJpbWVudC1pZHM9IiIgYXJpYS1sYWJlbD0iU3VjaGUgYW5oYW5kIHZvbiBCaWxkZXJuIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIiBqc2FjdGlvbj0icmN1UTZiOm5wVDJtZDtoNU0xMmUiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFocUVJQ0FnIj48c3ZnIGNsYXNzPSJHZGQ1VSIgZm9jdXNhYmxlPSJmYWxzZSIgdmlld2JveD0iMCAwIDE5MiAxOTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3QgZmlsbD0ibm9uZSIgaGVpZ2h0PSIxOTIiIHdpZHRoPSIxOTIiPjwvcmVjdD48Zz48Y2lyY2xlIGZpbGw9IiMzNGE4NTMiIGN4PSIxNDQuMDciIGN5PSIxNDQiIHI9IjE2Ij48L2NpcmNsZT48Y2lyY2xlIGZpbGw9IiM0Mjg1ZjQiIGN4PSI5Ni4wNyIgY3k9IjEwNCIgcj0iMjQiPjwvY2lyY2xlPjxwYXRoIGZpbGw9IiNlYTQzMzUiIGQ9Ik0yNCwxMzUuMmMwLDE4LjExLDE0LjY5LDMyLjgsMzIuOCwzMi44SDk2di0xNmwtNDAuMS0wLjFjLTguOCwwLTE1LjktOC4xOS0xNS45LTE3Ljl2LTE4SDI0VjEzNS4yeiI+PC9wYXRoPjxwYXRoIGZpbGw9IiNmYmJjMDQiIGQ9Ik0xNjgsNzIuOGMwLTE4LjExLTE0LjY5LTMyLjgtMzIuOC0zMi44SDExNmwyMCwxNmM4LjgsMCwxNiw4LjI5LDE2LDE4djMwaDE2VjcyLjh6Ij48L3BhdGg+PHBhdGggZmlsbD0iIzQyODVmNCIgZD0iTTExMiwyNGwtMzIsMEw2OCw0MEg1Ni44QzM4LjY5LDQwLDI0LDU0LjY5LDI0LDcyLjhWOTJoMTZWNzRjMC05LjcxLDcuMi0xOCwxNi0xOGg4MEwxMTIsMjR6Ij48L3BhdGg+PC9nPjwvc3ZnPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYganNjb250cm9sbGVyPSJEdm43ZmUiIGpzbmFtZT0iVVViVDkiIGNsYXNzPSJVVWJUOSBFeUJSdWIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiIGpzYWN0aW9uPSJtb3VzZW91dDpJdHpEQ2Q7bW91c2VsZWF2ZTpNV2Zpa2I7aEJFSVZiOm5VWjlsZTtZTUZDMzpWS3NzVGI7dmtsdTVjOmswMlFZO2xkeUl5ZTpDbVZPZ2MiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFE0dFVEQ0FrIj48c3R5bGU+LlVVYlQ5e3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246bGVmdDt6LWluZGV4OjM7Y3Vyc29yOmRlZmF1bHQ7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3dpZHRoOjEwMCU7bWFyZ2luLXRvcDotMXB4O30uYWFqWkNie2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWFyZ2luOjA7cGFkZGluZzowO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czowIDAgMjRweCAyNHB4O2JveC1zaGFkb3c6MCA0cHggNnB4IHJnYmEoMzIsMzMsMzYsLjI4KTtib3JkZXI6MDtwYWRkaW5nLWJvdHRvbTo0cHh9Lm1pbmlkaXYgLmFhalpDYntib3JkZXItcmFkaXVzOjAgMCAxNnB4IDE2cHh9Lm1rSHJVY3tkaXNwbGF5OmZsZXh9LnBENHFUZCAuckxyUUhme3BhZGRpbmctYm90dG9tOjE2cHh9LnBENHFUZCAuckxyUUhme21pbi13aWR0aDo0NyU7d2lkdGg6NDclO21hcmdpbjo4cHggMTZweCAwfS5wRDRxVGQgLnJMclFIZjplbXB0eXtkaXNwbGF5Om5vbmV9LmVya3ZRZXtwYWRkaW5nLWJvdHRvbTo4cHg7ZmxleDphdXRvO292ZXJmbG93LXg6aGlkZGVufS5SalB1VmJ7aGVpZ2h0OjFweDttYXJnaW46MCAyNnB4IDAgMH0uUzNuRm5ke2Rpc3BsYXk6ZmxleH0uUzNuRm5kIC5SalB1VmIsLlMzbkZuZCAuYWFqWkNie2ZsZXg6MCAwIGF1dG99LmxoODdrZTpsaW5rLC5saDg3a2U6dmlzaXRlZHtjb2xvcjp2YXIoLS1KS3F4Mik7Y3Vyc29yOnBvaW50ZXI7Zm9udDoxMXB4IGFyaWFsLHNhbnMtc2VyaWY7cGFkZGluZzowIDVweDt0ZXh0LWRlY29yYXRpb246bm9uZTtmbGV4OmF1dG87YWxpZ24tc2VsZjpmbGV4LWVuZDttYXJnaW46MCAxNnB4IDVweCAwfS5saDg3a2U6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ueHRTQ0x7Ym9yZGVyLXRvcDoxcHggc29saWQgI2U4ZWFlZDttYXJnaW46MCAyMHB4IDAgMTRweDtwYWRkaW5nLWJvdHRvbTo0cHh9LnNiMjd7YmFja2dyb3VuZDp1cmwoL2ltYWdlcy9zZWFyY2hib3gvZGVza3RvcF9zZWFyY2hib3hfc3ByaXRlczMxOF9oci53ZWJwKSBuby1yZXBlYXQgMCAtMjFweDtiYWNrZ3JvdW5kLXNpemU6MjBweDttaW4taGVpZ2h0OjIwcHg7bWluLXdpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7d2lkdGg6MjBweH0uc2I0M3tiYWNrZ3JvdW5kOnVybCgvaW1hZ2VzL3NlYXJjaGJveC9kZXNrdG9wX3NlYXJjaGJveF9zcHJpdGVzMzE4X2hyLndlYnApIG5vLXJlcGVhdCAwIDA7YmFja2dyb3VuZC1zaXplOjIwcHg7bWluLWhlaWdodDoyMHB4O21pbi13aWR0aDoyMHB4O2hlaWdodDoyMHB4O3dpZHRoOjIwcHh9LnNiNTMuc2I1M3twYWRkaW5nOjAgNHB4O21hcmdpbjowfS5zYjMze2JhY2tncm91bmQ6dXJsKC9pbWFnZXMvc2VhcmNoYm94L2Rlc2t0b3Bfc2VhcmNoYm94X3Nwcml0ZXMzMThfaHIud2VicCkgbm8tcmVwZWF0IDAgLTQycHg7YmFja2dyb3VuZC1zaXplOjIwcHg7aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDt9PC9zdHlsZT48ZGl2IGpzY29udHJvbGxlcj0iV28zbjgiIGpzbmFtZT0iYWFkdmhlIiBqc21vZGVsPSJkNUVoSmUiIGRhdGEtYmt0PSJzZWFyY2hib3giIGRhdGEtZWFzPSIiIGRhdGEtZmhzPSIiIGRhdGEtbWFpbmRhdGE9J1tudWxsLG51bGwsbnVsbCwiYXV0b2NvbXBsZXRlX3VzZXJfZmVlZGJhY2tfa3BfaWQiLG51bGwsMTEsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLDUwMTA3MTUsInNlYXJjaGJveCIsbnVsbCwiQXV0b2NvbXBsZXRlUHJlZGljdGlvbiIsbnVsbCxudWxsLG51bGwsbnVsbCwxMV0nIGRhdGEtcGlkPSI1MDEwNzE1IiBqc2RhdGE9InZTVDdyYjtfO0JlOHdzbyB6RUl5R2Q7XzsiIGpzYWN0aW9uPSJrUHpFTzpNbFAyamU7cWpMeFJjOkZiaFJHO3c4ZjFmYzpoUndTZ2I7a3Eyd3hmOnM1Q1VpZjthSUpBZGY6VWhEVW5kO0JxYlRiZTpuYWE1dmU7a1lBS3JmOkNxVUdyZjtod2hSUmU6S3l4akNkO3JjdVE2YjpucFQybWQiPjxzdHlsZT4uejhncjlle2NvbG9yOnZhcigtLWJiUXhBYil9LlpZSFE3ZXtjb2xvcjp2YXIoLS1JWG94VWUpfTwvc3R5bGU+PHN0eWxlPi5pMWVXcGIgLkdURVJ6ZXtkaXNwbGF5Om5vbmV9Lmt5NGhmZHtkaXNwbGF5Om5vbmV9LmkxZVdwYiAua3k0aGZke2Rpc3BsYXk6YmxvY2t9PC9zdHlsZT48ZGl2IGpzbmFtZT0iR2tqZUlmIiBpZD0iX2g0Q3JadnlMQzVPZmktZ1Bfb3FKLVF3XzIiIGRhdGEtamlpcz0idXAiIGRhdGEtYXN5bmMtdHlwZT0ia3BfZmVlZGJhY2siIGNsYXNzPSJ5cCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UTY4Y0VDQW8iPjwvZGl2PjwvZGl2PjxkaXYganNjb250cm9sbGVyPSJQMTBPd2YiIGNsYXNzPSJZQjRoOSBreTRoZmQiIGpzZGF0YT0idlNUN3JiO187QmU4d3NvIiBhcmlhLWxhYmVsbGVkYnk9IkVpUVhWZCIgcm9sZT0iZGlhbG9nIiBqc2FjdGlvbj0ia1B6RU86TWxQMmplO3FqTHhSYzpNbFAyamU7dzhmMWZjOmhSd1NnYjtrcTJ3eGY6czVDVWlmIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRbG9rR0NBcyI+PGRpdiBpZD0iX2g0Q3JadnlMQzVPZmktZ1Bfb3FKLVF3XzQiPjwvZGl2PjwvZGl2PjxkaXYganNuYW1lPSJSalB1VmIiIGNsYXNzPSJSalB1VmIiPjwvZGl2PjxkaXYganNuYW1lPSJhYWpaQ2IiIGNsYXNzPSJhYWpaQ2IiPjxkaXYgY2xhc3M9Inh0U0NMIj48L2Rpdj48ZGl2IGNsYXNzPSJta0hyVWMiIGlkPSJBbGg2aWQiIHJvbGU9InByZXNlbnRhdGlvbiI+PGRpdiBqc25hbWU9ImVya3ZRZSIgY2xhc3M9ImVya3ZRZSI+PC9kaXY+PGRpdiBqc25hbWU9InRvdkVpYiIgY2xhc3M9InJMclFIZiIgcm9sZT0icHJlc2VudGF0aW9uIj48L2Rpdj48L2Rpdj48c3R5bGU+I3NoSjJWYntkaXNwbGF5Om5vbmV9Lk9CTUVuYntwYWRkaW5nOjA7bWFyZ2luOjB9Lkc0M2Y3ZXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDowO3BhZGRpbmc6MDttYXJnaW46MDtsaXN0LXN0eWxlOm5vbmV9LlllNGpmY3tmbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC13cmFwOndyYXB9PC9zdHlsZT48ZGl2IGpzbmFtZT0iRTgwZTllIiBjbGFzcz0iT0JNRW5iIiBpZD0ic2hKMlZiIiByb2xlPSJwcmVzZW50YXRpb24iPjx1bCBqc25hbWU9ImJ3NGU5YiIgY2xhc3M9Ikc0M2Y3ZSIgcm9sZT0ibGlzdGJveCI+PC91bD48L2Rpdj48c3R5bGU+I3luUnJpY3tkaXNwbGF5Om5vbmV9LnluUnJpY3tsaXN0LXN0eWxlLXR5cGU6bm9uZTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Y29sb3I6dmFyKC0tSVhveFVlKTtmb250LWZhbWlseTpHb29nbGUgU2FucyxBcmlhbCxzYW5zLXNlcmlmLW1lZGl1bSxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O21hcmdpbjowIDIwcHggMCAxNnB4O3BhZGRpbmc6OHB4IDAgOHB4IDA7bGluZS1oZWlnaHQ6MTZweDt3aWR0aDoxMDAlfTwvc3R5bGU+PGRpdiBjbGFzcz0ieW5ScmljIiBpZD0ieW5ScmljIiByb2xlPSJwcmVzZW50YXRpb24iPjwvZGl2PjxzdHlsZT4uc2JjdHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDowO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjB9LmVJUEdSZHtmbGV4OmF1dG87ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW46MCAyMHB4IDAgMTRweH0ucGNUa1Nje2Rpc3BsYXk6ZmxleDtmbGV4OmF1dG87ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDowO3BhZGRpbmc6NnB4IDB9LnNiaWN7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW46MCAxM3B4IDAgMXB4O30uc2JpYy52WU9rYmV7YmFja2dyb3VuZDpjZW50ZXIvY29udGFpbiBuby1yZXBlYXQ7Ym9yZGVyLXJhZGl1czo0cHg7bWluLWhlaWdodDozMnB4O21pbi13aWR0aDozMnB4O21hcmdpbjo0cHggN3B4IDRweCAtNXB4fS5zYnJlIC53TTZXN2R7bGluZS1oZWlnaHQ6MThweH0uQ2xKOVlie2xpbmUtaGVpZ2h0OjEycHg7Zm9udC1zaXplOjEzcHg7Y29sb3I6IzcwNzU3YTttYXJnaW4tdG9wOjJweDtwYWRkaW5nLXJpZ2h0OjhweH0ud002Vzdke2Rpc3BsYXk6ZmxleDtmb250LXNpemU6MTZweDtjb2xvcjojMjEyMTIxO2ZsZXg6YXV0bzthbGlnbi1pdGVtczpjZW50ZXI7d29yZC1icmVhazpicmVhay13b3JkO3BhZGRpbmctcmlnaHQ6OHB4fS5XZ2dRR2R7Y29sb3I6IzUyMTg4Y30ud002VzdkIHNwYW57ZmxleDphdXRvfS5BUVo5VmR7ZGlzcGxheTpmbGV4O2FsaWduLXNlbGY6c3RyZXRjaH0uc2JobHtib3JkZXItcmFkaXVzOjRweDtiYWNrZ3JvdW5kOiNmN2Y4Zjl9LlVVYlQ5LmkxZVdwYiAuUFpQWmxmLnNiaGx7YmFja2dyb3VuZDpub25lfS5VVWJUOS5pMWVXcGIgLlBaUFpsZi5zYmhsIC5nbWxTVmJ7YmFja2dyb3VuZDpyZ2JhKDIzNCw2Nyw1MywuMTIpfUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey5zYmhse2JhY2tncm91bmQtY29sb3I6aGlnaGxpZ2h0fX0ubXVzX3Bje2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjZweCAwfS5tdXNfaWx7Zm9udC1mYW1pbHk6QXJpYWwsSGVsdmV0aWNhIE5ldWUgTGlnaHQsSGVsdmV0aWNhIE5ldWUsSGVsdmV0aWNhO3BhZGRpbmctdG9wOjdweDtwb3NpdGlvbjpyZWxhdGl2ZX0ubXVzX2lsOmZpcnN0LWNoaWxke3BhZGRpbmctdG9wOjB9Lm11c19pbF9hdHttYXJnaW4tbGVmdDoxMHB4fS5tdXNfaWxfc3R7cmlnaHQ6NTJweDtwb3NpdGlvbjphYnNvbHV0ZX0ubXVzX2lsX2l7YWxpZ246bGVmdDttYXJnaW4tcmlnaHQ6MTBweH0ubXVzX2l0M3ttYXJnaW4tYm90dG9tOjNweDttYXgtaGVpZ2h0OjI0cHg7dmVydGljYWwtYWxpZ246Ym90dG9tfS5tdXNfdHQze2NvbG9yOiM3Njc2NzY7Zm9udC1zaXplOjEycHg7dmVydGljYWwtYWxpZ246dG9wfS5tdXNfdHQ1e2NvbG9yOiNkOTMwMjU7Zm9udC1zaXplOjE0cHh9Lm11c190dDZ7Y29sb3I6IzE4ODAzODtmb250LXNpemU6MTRweH0ubXVzX3R0OHtmb250LXNpemU6MTZweDtmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmfS5tdXNfdHQxN3tjb2xvcjojMjEyMTIxO2ZvbnQtc2l6ZToyMHB4fS5tdXNfdHQxOHtjb2xvcjojMjEyMTIxO2ZvbnQtc2l6ZToyOHB4fS5tdXNfdHQxOXtjb2xvcjojNzY3Njc2O2ZvbnQtc2l6ZToxMnB4fS5tdXNfdHQyMHtjb2xvcjojNzY3Njc2O2ZvbnQtc2l6ZToxNHB4fS5tdXNfdHQyM3tjb2xvcjojNzY3Njc2O2ZvbnQtc2l6ZToxOHB4fS5UZmVXZmJ7ZGlzcGxheTpub25lfS54QW1yeWZ7ZGlzcGxheTpub25lfS5ESmJWRmIgLlRmZVdmYntkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7b3ZlcmZsb3cteDpoaWRkZW47d2lkdGg6MTAwJTtoZWlnaHQ6NTJweH0uREpiVkZiIC5BUVo5VmR7ZGlzcGxheTpub25lfS5ESmJWRmIgLnhBbXJ5Zntib3JkZXItcmFkaXVzOjEwMHB4O2JhY2tncm91bmQtY29sb3I6dmFyKC0teGhVR3djKX0uREpiVkZiIC5UZmVXZmJ7ZGlzcGxheTppbmhlcml0fS5ESmJWRmIgLnhBbXJ5ZiAuZUw3b0Fje2Rpc3BsYXk6bm9uZX0uREpiVkZie2JhY2tncm91bmQ6I2Y4ZjlmYTtib3JkZXItcmFkaXVzOjIwcHh9LkRKYlZGYjpob3ZlcntiYWNrZ3JvdW5kOiNlOGVhZWR9LkRKYlZGYiAudllPa2Jle2hlaWdodDotMXB4O3dpZHRoOi0xcHg7ZmxleC1zaHJpbms6MDttYXJnaW46MjBweCAwIDIwcHggOHB4O2Zsb2F0OnJpZ2h0O2JvcmRlci1yYWRpdXM6MTZweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LkRKYlZGYi5zYmhse2JhY2tncm91bmQ6I2U4ZWFlZH0uREpiVkZiIC5DbEo5WWJ7ZGlzcGxheTpub25lfS5ESmJWRmIgLndNNlc3ZHtmbGV4OmluaXRpYWx9LkRKYlZGYiAud002VzdkIHNwYW57dGV4dC1vdmVyZmxvdzplbGxpcHNpczstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW59LkRKYlZGYiAuZUlQR1Jke2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZTthbGlnbi1pdGVtczpzdHJldGNoO21hcmdpbjowIDIwcHggMCAxNHB4fS5ESmJWRmIgLmE1UkxhY3tsaW5lLWhlaWdodDoyNHB4O2ZvbnQtc2l6ZToyMHB4O2ZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7cGFkZGluZy10b3A6MTZweDtjb2xvcjp2YXIoLS1iYlF4QWIpO21hcmdpbi1ib3R0b206YXV0b30uREpiVkZiLnl0TGVkYiAudllPa2Jle2JhY2tncm91bmQtY29sb3I6I2Y4ZjlmYX0uREpiVkZiIC5rekNFMntmb250LXNpemU6MTZweH0uREpiVkZiIC53TTZXN2Qgc3Bhbntjb2xvcjp2YXIoLS1ZTE5OSGMpO2xpbmUtaGVpZ2h0OjM2cHg7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToyOHB4O2ZvbnQtZmFtaWx5Okdvb2dsZSBTYW5zLEFyaWFsLHNhbnMtc2VyaWZ9LkRKYlZGYiAucGNUa1Nje21hcmdpbjoyMHB4IDZweDtwYWRkaW5nOjB9LkRKYlZGYiAudllPa2Jle21hcmdpbjoyMHB4IDAgMjBweCAxOHB4O2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjIwcHh9LkRKYlZGYiAuRU9MS09je3dpZHRoOmNhbGMoNTAlIC0gMXB4KX0uaVF4UFJie2Rpc3BsYXk6ZmxleDtnYXA6MnB4fS5ESmJWRmIgLkVPTEtPYzpmaXJzdC1jaGlsZHtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjIwcHh9LkRKYlZGYiAuRU9MS09jOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MjBweH0uREpiVkZiIC5BWk5EbXtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czoyMHB4O2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MjBweH0uREpiVkZiIC5hNVJMYWMua3pDRTIgc3Bhbnstd2Via2l0LWxpbmUtY2xhbXA6M30uREpiVkZiIC5sbm5WU2V7bWFyZ2luLWJvdHRvbTphdXRvfS5ESmJWRmIgLmE1UkxhYyBzcGFue3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1saW5lLWNsYW1wOjI7b3ZlcmZsb3c6aGlkZGVuO21hcmdpbi1yaWdodDoxMHB4fSNiZ2VMWmR7ZGlzcGxheTpub25lfS54QW1yeWZ7Ym94LXNpemluZzpib3JkZXItYm94O2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6NDBweDtib3JkZXItcmFkaXVzOjhweDtkaXNwbGF5OmZsZXg7Y29sb3I6dmFyKC0tYmJReEFiKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLW1YWmtxYyk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS14aFVHd2MpO2xpbmUtaGVpZ2h0OjIycHh9LnhBbXJ5ZiAuZUw3b0Fje2ZpbGw6dmFyKC0tYmJReEFiKTtwYWRkaW5nLXRvcDoxcHh9LnhBbXJ5Zi5MdnF6UntiYWNrZ3JvdW5kLWNvbG9yOiNlOGYwZmU7Y3Vyc29yOnBvaW50ZXI7Y29sb3I6dmFyKC0tVE1ZUzkpfS54QW1yeWYuTHZxelIgLmVMN29BY3tmaWxsOnZhcigtLVRNWVM5KX0uanRBT2dke3doaXRlLXNwYWNlOm5vd3JhcDtmb250LWZhbWlseTpHb29nbGUgU2FucyxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O21hcmdpbjowIDE0cHh9LlRmZVdmYntnYXA6MTJweCA2cHg7b3ZlcmZsb3cteDphdXRvOy1tcy1vdmVyZmxvdy1zdHlsZTpub25lO3Njcm9sbGJhci13aWR0aDpub25lfS5UZmVXZmI6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0udWhlYkdie2ZvbnQtc3R5bGU6aXRhbGljfSNZTVhle2Rpc3BsYXk6bm9uZX08L3N0eWxlPjxsaSBkYXRhLXZpZXctdHlwZT0iMSIgY2xhc3M9InNiY3QgUFpQWmxmIiBpZD0iWU1YZSIgcm9sZT0icHJlc2VudGF0aW9uIiBkYXRhLWF0dHJpZD0iQXV0b2NvbXBsZXRlUHJlZGljdGlvbiIgZGF0YS1lbnRpdHlpZD0iYXV0b2NvbXBsZXRlX3VzZXJfZmVlZGJhY2tfa3BfaWQiPjxkaXYgY2xhc3M9ImVJUEdSZCI+PGRpdiBjbGFzcz0ic2JpYyI+PGRpdiBjbGFzcz0iajBHSldkIiBzdHlsZT0iZGlzcGxheTpub25lIj48ZGl2PjxpbWcgY2xhc3M9InVIR0ZWZCBBWk5EbSIgYWx0PSIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjwvZGl2PjxkaXYgY2xhc3M9ImlReFBSYiI+PGltZyBjbGFzcz0idUhHRlZkIEVPTEtPYyIgYWx0PSIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjxpbWcgY2xhc3M9InVIR0ZWZCBFT0xLT2MiIGFsdD0iIiBzdHlsZT0iZGlzcGxheTpub25lIj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJwY1RrU2MiPjxkaXYgY2xhc3M9ImxublZTZSIgYXJpYS1hdG9taWM9InRydWUiIHJvbGU9Im9wdGlvbiI+PGRpdiBjbGFzcz0id002VzdkIj48c3Bhbj48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0iQ2xKOVliIj48c3Bhbj48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0iYTVSTGFjIj48c3Bhbj48L3NwYW4+PC9kaXY+PC9kaXY+PHN0eWxlPi5NYWdxTWMgLlpGaXdDZntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1nUzVqWGIpO3dpZHRoOjEwMCV9Lk1hZ3FNYy5VNDhmRHtwYWRkaW5nOjA7bWFyZ2luLXRvcDoxNnB4fS5NYWdxTWMgLkJpOW9RZHtkaXNwbGF5Om5vbmV9Lk1hZ3FNY3twYWRkaW5nOjB9Lk1hZ3FNYzpob3ZlciAuTEd3bnhie2NvbG9yOnZhcigtLVlMTk5IYyl9LnNPbVBjZiAuWkZpd0Nme2JhY2tncm91bmQtY29sb3I6I2ZhZmFmYX08L3N0eWxlPjxkaXYgY2xhc3M9IlN6N0xlZSBNYWdxTWMgVTQ4ZkQiIHN0eWxlPSJkaXNwbGF5Om5vbmUiIGFyaWEtbGFiZWw9Ik1laHIiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPjxzdHlsZT4uVTQ4ZkR7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6YmxvY2s7bGluZS1oZWlnaHQ6MThweDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtwYWRkaW5nOjE2cHg7cGFkZGluZy10b3A6MDttYXJnaW4tdG9wOjI0cHg7cG9zaXRpb246cmVsYXRpdmV9LlRRYzFpZCAuVTQ4ZkR7bWFyZ2luLXRvcDoxNnB4fS5VNDhmRC5kZjEzdWR7bWFyZ2luLXRvcDoxNnB4fS5VNDhmRC5UT1F5RmN7bWFyZ2luLXRvcDowfS5VNDhmRC5wOEZFSWZ7cGFkZGluZy1ib3R0b206MH0uVTQ4ZkQua2U3TTR7cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowfS5qUktDVWQ6OmJlZm9yZXtib3R0b206MTJweDtjb250ZW50OicnO2xlZnQ6MTZweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxNnB4O3RvcDotNHB4fWEualJLQ1VkOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfTwvc3R5bGU+PHN0eWxlPi5aRml3Q2Z7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbjowIGF1dG87d2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOjE4cHg7b3V0bGluZToxcHggc29saWQgdHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1jb2xvcjojZjFmM2Y0O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NDAwO21heC13aWR0aDozMDBweDtoZWlnaHQ6MzZweH1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsuWkZpd0Nme2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnR9fS5UUWMxaWQgLlpGaXdDZnttYXgtd2lkdGg6dW5zZXR9LlpqdGdnYiAuWkZpd0Nme21heC13aWR0aDp1bnNldH0uWkZpd0NmOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZhZmFmYX0ubkNGVXBjIC5aRml3Q2Z7d2lkdGg6MTAwJX0uQmk5b1Fke2JhY2tncm91bmQtY29sb3I6dmFyKC0tZ1M1alhiKTttYXJnaW4tdG9wOjE4cHg7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjA7aGVpZ2h0OjFweDtsZWZ0OjA7d2lkdGg6MTAwJTt9LlRRYzFpZCAuQmk5b1Fke2Rpc3BsYXk6bm9uZX0ua0M4QjRlIC5CaTlvUWR7ZGlzcGxheTpub25lfS53MmZLZGQgc3Zne3dpZHRoOmF1dG99LncyZktkZHtjb2xvcjojNWU1ZTVlfS5MR3dueGJ7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOmF1dG87cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDo4cHg7bWF4LXdpZHRoOm1pbigyMDBweCxjYWxjKDEwMCUgLSA0NHB4KSk7Y29sb3I6IzIwMjEyNH0uTEd3bnhiOmVtcHR5e3BhZGRpbmctcmlnaHQ6MH0uTEd3bnhiIHNwYW4sLkxHd254YiBkaXZ7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOmF1dG99PC9zdHlsZT48aHIgY2xhc3M9IkJpOW9RZCIgYXJpYS1oaWRkZW49InRydWUiPjxkaXYgY2xhc3M9IlpGaXdDZiI+PHNwYW4gY2xhc3M9IkxHd254YiI+TWVocjwvc3Bhbj48c3BhbiBjbGFzcz0idzJmS2RkIHoxYXNDZSIgYXJpYS1oaWRkZW49InRydWUiIHN0eWxlPSJoZWlnaHQ6MjBweDtsaW5lLWhlaWdodDoyMHB4O3dpZHRoOjIwcHgiPjxzdmcgZm9jdXNhYmxlPSJmYWxzZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xMiA0bC0xLjQxIDEuNDFMMTYuMTcgMTFINHYyaDEyLjE3bC01LjU4IDUuNTlMMTIgMjBsOC04eiI+PC9wYXRoPjwvc3ZnPjwvc3Bhbj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJBUVo5VmQiIGFyaWEtYXRvbWljPSJ0cnVlIiByb2xlPSJidXR0b24iPjxzdHlsZT4uSkNIcGNiOmhvdmVyLC5MdnF6UiAuSkNIcGNie2NvbG9yOiMxNTU4ZDY7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0uSkNIcGNie2NvbG9yOiM3MDc1N2E7Zm9udDoxM3B4IGFyaWFsLHNhbnMtc2VyaWY7Y3Vyc29yOnBvaW50ZXI7YWxpZ24tc2VsZjpjZW50ZXJ9QG1lZGlhIChob3Zlcjpob3Zlcil7LnNiYWl7dmlzaWJpbGl0eTpoaWRkZW59LnNiaGwgLnNiYWl7dmlzaWJpbGl0eTppbmhlcml0fX08L3N0eWxlPjxkaXYgY2xhc3M9InNiYWkiIHJvbGU9InByZXNlbnRhdGlvbiI+TMO2c2NoZW48L2Rpdj48L2Rpdj48L2Rpdj48L2xpPjxzdHlsZT4jZDZJdEtie2Rpc3BsYXk6bm9uZX0uQUIyRmRke2Rpc3BsYXk6ZmxleH08L3N0eWxlPjxsaSBjbGFzcz0iQUIyRmRkIiBkYXRhLXZpZXctdHlwZT0iOSIgaWQ9ImQ2SXRLYiIgcm9sZT0icHJlc2VudGF0aW9uIj48ZGl2IGNsYXNzPSJlSVBHUmQiPjxkaXYgY2xhc3M9IlpESHAiIGlkPSJmVTB4QWIiIHJvbGU9InByZXNlbnRhdGlvbiIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PGRpdiBjbGFzcz0ia1p0cjFiIj48c3R5bGU+LlpESHB7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luOjIwcHg7ZGlzcGxheTpmbGV4fS5ESmJWRmIsLm82T0Ywe2JhY2tncm91bmQ6I2Y4ZjlmYTtib3JkZXItcmFkaXVzOjIwcHh9Lm82T0YwOmhvdmVyLC5vNk9GMC5MdnF6UntiYWNrZ3JvdW5kOiNlN2U4ZTl9Lm82T0YwIC5lSVBHUmR7ZGlzcGxheTpibG9ja31AbWVkaWEgKGZvcmNlZC1jb2xvcnM6bm9uZSl7Lm82T0YwLnNiaGx7YmFja2dyb3VuZDojZTdlOGU5fX1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsubzZPRjAuc2JobHtiYWNrZ3JvdW5kLWNvbG9yOmhpZ2hsaWdodH19Lm82T0YwIC5BUVo5VmR7ZGlzcGxheTpub25lfS5vNk9GMCAuc2JpY3tkaXNwbGF5Om5vbmV9Lm82T0YwIC5wY1RrU2N7ZGlzcGxheTpub25lfS5vNk9GMCAud002Vzdke2Rpc3BsYXk6bm9uZX0ubzZPRjAgLmVJUEdSZHttYXgtd2lkdGg6MTAwJTttYXJnaW46MH0uYXo5QWpje3BhZGRpbmdfdG9wOjBweH0uWkRIcCAuU0hGUGtie21hcmdpbi1ib3R0b206MTJweH0ubzZPRjAgLlNIRlBrYntsaW5lLWhlaWdodDo0OHB4O2ZvbnQtZmFtaWx5Okdvb2dsZSBTYW5zLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjM2cHg7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOnZhcigtLVlMTk5IYyk7ZGlzcGxheTotd2Via2l0LWJveDtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1saW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsfS5sUW9vemZ7Zm9udC1zaXplOjI4cHh9Lm82T0YwIC5TSEZQa2IuWko1OTRle3BhZGRpbmctcmlnaHQ6NThweH0ubzZPRjAgLkhyVWxVYywubzZPRjAgLlBuZnFMY3tmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjQwMDttYXgtaGVpZ2h0OjcycHg7Y29sb3I6dmFyKC0tYmJReEFiKX0uWkRIcCAuSHJVbFVjLC5aREhwIC5QbmZxTGN7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjRweH0ubzZPRjAgLmJUU2Y1Y3tmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjp2YXIoLS1iYlF4QWIpfS5aREhwIC5iVFNmNWN7bGluZS1oZWlnaHQ6MjJweDtmb250LXNpemU6MTRweDttYXJnaW4tYm90dG9tOjZweH0uWkRIcCAuSHJVbFVjLC5aREhwIC5QbmZxTGN7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1saW5lLWNsYW1wOjM7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsfS5WbHQzd2J7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjJweDtwYWRkaW5nLXRvcDo4cHg7bWFyZ2luLXRvcDoxMnB4O2NvbG9yOnZhcigtLWJiUXhBYik7Ym9yZGVyLXRvcDoxcHggc29saWQgI2RhZGNlMDtkaXNwbGF5OmZsZXg7d2lkdGg6MTAwJX0uVG52MnRke3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjB9Lno3NlJuYntwYWRkaW5nOjZweDt3aWR0aDoyNHB4O2hlaWdodDoyNHB4O2JhY2tncm91bmQtY29sb3I6dmFyKC0teGhVR3djKTtjb2xvcjojNWU1ZTVlO2JvcmRlci1yYWRpdXM6OTk5OXB4O2JvcmRlcjoxcHggc29saWQgdmFyKC0tbVhaa3FjKTtjdXJzb3I6cG9pbnRlcn0uejc2Um5iLkx2cXpSe2NvbG9yOnZhcigtLVlMTk5IYyk7YmFja2dyb3VuZC1jb2xvcjojZmFmYWZhfS5rWnRyMWJ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWdyb3c6MTttaW4td2lkdGg6MH0uWEFGRDVje3dpZHRoOjIwMHB4O2hlaWdodDoyMDBweDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXhoVUd3Yyk7Ym9yZGVyLXJhZGl1czoyMHB4O21hcmdpbi1sZWZ0OjIwcHg7ZmxleC1zaHJpbms6MDtiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcjtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1zaXplOmNvbnRhaW59LlhBRkQ1Yy5pTkYwVmR7YmFja2dyb3VuZC1zaXplOjEzNnB4fS5aREhwIC5sbm5WU2V7Zm9udC1zaXplOjE4cHg7ZmxleC1ncm93OjF9LlpESHAgLkhyVWxVYywuWkRIcCAuUG5mcUxje2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LnJuQWl4ZHtjb2xvcjojYjMyNjFlfS5penhDSmZ7Y29sb3I6IzE0NmMyZX08L3N0eWxlPjxkaXYgY2xhc3M9ImxublZTZSIgYXJpYS1hdG9taWM9InRydWUiIHJvbGU9Im9wdGlvbiI+PGRpdiBjbGFzcz0iU0hGUGtiIj48L2Rpdj48ZGl2IGNsYXNzPSJiVFNmNWMiPjwvZGl2PjxkaXYgY2xhc3M9IlBuZnFMYyI+PC9kaXY+PGRpdiBjbGFzcz0iSHJVbFVjIj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJUbnYydGQiIGFyaWEtYXRvbWljPSJ0cnVlIiByb2xlPSJidXR0b24iIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjxzcGFuIGNsYXNzPSJ6NzZSbmIgejFhc0NlIEpLdTFqZSI+PHN2ZyBmb2N1c2FibGU9ImZhbHNlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTMgOXY2aDRsNSA1VjRMNyA5SDN6bTEzLjUgM2MwLTEuNzctMS4wMi0zLjI5LTIuNS00LjAzdjguMDVjMS40OC0uNzMgMi41LTIuMjUgMi41LTQuMDJ6TTE0IDMuMjN2Mi4wNmMyLjg5Ljg2IDUgMy41NCA1IDYuNzFzLTIuMTEgNS44NS01IDYuNzF2Mi4wNmM0LjAxLS45MSA3LTQuNDkgNy04Ljc3cy0yLjk5LTcuODYtNy04Ljc3eiI+PC9wYXRoPjwvc3ZnPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJWbHQzd2IiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjwvZGl2PjwvZGl2PjxzcGFuIGNsYXNzPSJYQUZENWMiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjwvc3Bhbj48ZGl2IGNsYXNzPSJqMEdKV2QiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjxkaXY+PGltZyBjbGFzcz0idUhHRlZkIEFaTkRtIiBhbHQ9IiIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PC9kaXY+PGRpdiBjbGFzcz0iaVF4UFJiIj48aW1nIGNsYXNzPSJ1SEdGVmQgRU9MS09jIiBhbHQ9IiIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PGltZyBjbGFzcz0idUhHRlZkIEVPTEtPYyIgYWx0PSIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvbGk+PHN0eWxlPiNtaXRHeWJ7ZGlzcGxheTpub25lfS5zMldqZWN7ZGlzcGxheTpibG9ja30uUTgyT2tme2ZvbnQtc2l6ZToxNnB4O2ZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWZ9PC9zdHlsZT48bGkgZGF0YS12aWV3LXR5cGU9IjgiIGNsYXNzPSJzYmN0IFBaUFpsZiIgaWQ9Im1pdEd5YiIgcm9sZT0icHJlc2VudGF0aW9uIiBkYXRhLWF0dHJpZD0iQXV0b2NvbXBsZXRlUHJlZGljdGlvbiIgZGF0YS1lbnRpdHlpZD0iYXV0b2NvbXBsZXRlX3VzZXJfZmVlZGJhY2tfa3BfaWQiPjxkaXYgY2xhc3M9ImVJUEdSZCBoZHQwbGQiPjxkaXYgY2xhc3M9InNiaWMiPjwvZGl2PjxkaXYgY2xhc3M9InBjVGtTYyI+PGRpdiBhcmlhLWF0b21pYz0idHJ1ZSIgY2xhc3M9ImxublZTZSIgcm9sZT0ib3B0aW9uIj48ZGl2IGNsYXNzPSJ3TTZXN2QiPjxzcGFuPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJDbEo5WWIiPjxzcGFuPjwvc3Bhbj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJBUVo5VmQiIGFyaWEtYXRvbWljPSJ0cnVlIiByb2xlPSJidXR0b24iPjxkaXYgY2xhc3M9InNiYWkiIHJvbGU9InByZXNlbnRhdGlvbiI+TMO2c2NoZW48L2Rpdj48L2Rpdj48L2Rpdj48L2xpPjxkaXYgY2xhc3M9IlpESHAiIGlkPSJmVTB4QWIiIHJvbGU9InByZXNlbnRhdGlvbiIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PGRpdiBjbGFzcz0ia1p0cjFiIj48ZGl2IGNsYXNzPSJsbm5WU2UiIGFyaWEtYXRvbWljPSJ0cnVlIiByb2xlPSJvcHRpb24iPjxkaXYgY2xhc3M9IlNIRlBrYiI+PC9kaXY+PGRpdiBjbGFzcz0iYlRTZjVjIj48L2Rpdj48ZGl2IGNsYXNzPSJQbmZxTGMiPjwvZGl2PjxkaXYgY2xhc3M9IkhyVWxVYyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iVG52MnRkIiBhcmlhLWF0b21pYz0idHJ1ZSIgcm9sZT0iYnV0dG9uIiBzdHlsZT0iZGlzcGxheTpub25lIj48c3BhbiBjbGFzcz0iejc2Um5iIHoxYXNDZSBKS3UxamUiPjxzdmcgZm9jdXNhYmxlPSJmYWxzZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0zIDl2Nmg0bDUgNVY0TDcgOUgzem0xMy41IDNjMC0xLjc3LTEuMDItMy4yOS0yLjUtNC4wM3Y4LjA1YzEuNDgtLjczIDIuNS0yLjI1IDIuNS00LjAyek0xNCAzLjIzdjIuMDZjMi44OS44NiA1IDMuNTQgNSA2Ljcxcy0yLjExIDUuODUtNSA2LjcxdjIuMDZjNC4wMS0uOTEgNy00LjQ5IDctOC43N3MtMi45OS03Ljg2LTctOC43N3oiPjwvcGF0aD48L3N2Zz48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0iVmx0M3diIiBzdHlsZT0iZGlzcGxheTpub25lIj48L2Rpdj48L2Rpdj48c3BhbiBjbGFzcz0iWEFGRDVjIiBzdHlsZT0iZGlzcGxheTpub25lIj48L3NwYW4+PGRpdiBjbGFzcz0iajBHSldkIiBzdHlsZT0iZGlzcGxheTpub25lIj48ZGl2PjxpbWcgY2xhc3M9InVIR0ZWZCBBWk5EbSIgYWx0PSIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjwvZGl2PjxkaXYgY2xhc3M9ImlReFBSYiI+PGltZyBjbGFzcz0idUhHRlZkIEVPTEtPYyIgYWx0PSIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjxpbWcgY2xhc3M9InVIR0ZWZCBFT0xLT2MiIGFsdD0iIiBzdHlsZT0iZGlzcGxheTpub25lIj48L2Rpdj48L2Rpdj48L2Rpdj48c3R5bGU+I1RONHJGZntkaXNwbGF5Om5vbmV9LklEVm52Y3tkaXNwbGF5OmlubGluZS1ibG9jaztvdmVyZmxvdzpoaWRkZW47bWF4LXdpZHRoOjIyM3B4O2JvcmRlci1yYWRpdXM6MTZweDtoZWlnaHQ6MTc4cHg7bWFyZ2luOi0ycHggLTEwcHggMnB4IDEwcHh9LklEVm52Yy5zYmhse2JvcmRlci1yYWRpdXM6MTZweH0uT0JNRW5iOm9ubHktY2hpbGQgLklEVm52Y3ttYXJnaW4tcmlnaHQ6Y2FsYygyNSUgLSAxMTNweCl9LmNSVjloYnt3aWR0aDo5MHB4O3BhZGRpbmc6NnB4fS5jUlY5aGIgLnBjVGtTY3tmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmO292ZXJmbG93OmhpZGRlbjttYXJnaW4tdG9wOjRweDtwYWRkaW5nOjB9LmNSVjloYiAucGNUa1NjIC53TTZXN2R7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MThweDtwYWRkaW5nOjA7Y29sb3I6dmFyKC0tQ09FbVkpfS5jUlY5aGIgLnBjVGtTYyAuQ2xKOVlie2xpbmUtaGVpZ2h0OjE2cHg7Zm9udC1zaXplOjEycHg7ZGlzcGxheTpub25lO2Rpc3BsYXk6ZmxleH0uY1JWOWhiIC5wY1RrU2MgLkNsSjlZYi5FTk1LeGYgc3Bhbnstd2Via2l0LWxpbmUtY2xhbXA6MX0uY1JWOWhiIC5wY1RrU2MgLndNNlc3ZCBzcGFuLC5jUlY5aGIgLnBjVGtTYyAuQ2xKOVliIHNwYW57b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7d2hpdGUtc3BhY2U6bm9ybWFsfS5jUlY5aGIgLnBjVGtTYyAud002VzdkIHNwYW57LXdlYmtpdC1saW5lLWNsYW1wOjJ9LmNSVjloYiAucGNUa1NjIC5DbEo5WWIgc3Bhbnstd2Via2l0LWxpbmUtY2xhbXA6Mn0uYVZiV2Fje2JhY2tncm91bmQ6I2ZmZjtib3JkZXItcmFkaXVzOjEycHg7aGVpZ2h0OjkwcHh9LmFWYldhYyAuc2JpYy52WU9rYmV7aGVpZ2h0OjkwcHg7d2lkdGg6OTBweDtib3JkZXItcmFkaXVzOjEycHg7bWFyZ2luOjB9PC9zdHlsZT48bGkgY2xhc3M9IklEVm52YyBQWlBabGYiIGRhdGEtdmlldy10eXBlPSI2IiBpZD0iVE40ckZmIiByb2xlPSJwcmVzZW50YXRpb24iIGRhdGEtYXR0cmlkPSJBdXRvY29tcGxldGVQcmVkaWN0aW9uIiBkYXRhLWVudGl0eWlkPSJhdXRvY29tcGxldGVfdXNlcl9mZWVkYmFja19rcF9pZCI+PGRpdiBjbGFzcz0iY1JWOWhiIj48ZGl2IGNsYXNzPSJhVmJXYWMiPjxkaXYgY2xhc3M9InNiaWMiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InBjVGtTYyIgcm9sZT0icHJlc2VudGF0aW9uIj48ZGl2IGNsYXNzPSJsbm5WU2UiIGFyaWEtYXRvbWljPSJ0cnVlIiByb2xlPSJvcHRpb24iPjxkaXYgY2xhc3M9IndNNlc3ZCI+PHNwYW4+PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9IkNsSjlZYiI+PHNwYW4+PC9zcGFuPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvbGk+PGRpdiBqc25hbWU9IlZsY0xBZSIgY2xhc3M9ImxKOUZCYyI+IDxzdHlsZT4ubEo5RkJje2hlaWdodDo3MHB4fS5sSjlGQmMgaW5wdXRbdHlwZT0ic3VibWl0Il0sLmdicWZiYXtiYWNrZ3JvdW5kLWNvbG9yOiNmOGY5ZmE7Ym9yZGVyOjFweCBzb2xpZCAjZjhmOWZhO2JvcmRlci1yYWRpdXM6NHB4O2NvbG9yOiMzYzQwNDM7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDttYXJnaW46MTFweCA0cHg7cGFkZGluZzowIDE2cHg7bGluZS1oZWlnaHQ6MjdweDtoZWlnaHQ6MzZweDttaW4td2lkdGg6NTRweDt0ZXh0LWFsaWduOmNlbnRlcjtjdXJzb3I6cG9pbnRlcjt1c2VyLXNlbGVjdDpub25lfS5sSjlGQmMgaW5wdXRbdHlwZT0ic3VibWl0Il06aG92ZXJ7Ym94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMSk7YmFja2dyb3VuZC1jb2xvcjojZjhmOWZhO2JvcmRlcjoxcHggc29saWQgI2RhZGNlMDtjb2xvcjojMjAyMTI0fS5sSjlGQmMgaW5wdXRbdHlwZT0ic3VibWl0Il06Zm9jdXN7Ym9yZGVyOjFweCBzb2xpZCAjNDI4NWY0O291dGxpbmU6bm9uZX08L3N0eWxlPiA8Y2VudGVyPiA8aW5wdXQgY2xhc3M9ImdOTzg5YiIgdmFsdWU9Ikdvb2dsZSBTdWNoZSIgYXJpYS1sYWJlbD0iR29vZ2xlIFN1Y2hlIiBuYW1lPSJidG5LIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIiB0eXBlPSJzdWJtaXQiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFE0ZFVEQ0E0Ij4gPGlucHV0IGNsYXNzPSJSTm1wWGMiIHZhbHVlPSJBdWYgZ3V0IEdsw7xjayEiIGFyaWEtbGFiZWw9IkF1ZiBndXQgR2zDvGNrISIgbmFtZT0iYnRuSSIgdHlwZT0ic3VibWl0IiBqc2FjdGlvbj0idHJpZ2dlci5rV2x4aGMiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFExOVFFQ0E4Ij4gIDwvY2VudGVyPiA8L2Rpdj48L2Rpdj48ZGl2IGpzbmFtZT0iSlV5cFYiPjxzdHlsZT4uV3pOSG17Zm9udC1zaXplOjExcHg7Zm9udC1zdHlsZTppdGFsaWM7bWFyZ2luLXRvcDotMTZweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoyMHB4O2NvbG9yOnZhcigtLUlYb3hVZSl9PC9zdHlsZT48ZGl2IGNsYXNzPSJXek5IbSBtV2NmMGUiIGpzY29udHJvbGxlcj0iZ1NadmRiIiBkYXRhLWRjY2w9ImZhbHNlIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIiBqc2RhdGE9InZTVDdyYjtfO0JlOHdzbyIganNhY3Rpb249Imk1S0NVO2tWQkNWZDp5TTFZSmUiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFE2c2NFQ0JBIj48ZGl2IGNsYXNzPSJWZkwyWSBMUlp3dWMiPlVuYW5nZW1lc3NlbmUgVmVydm9sbHN0w6RuZGlndW5nZW4gbWVsZGVuPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBqc25hbWU9Im12YUs3ZCIgY2xhc3M9Ik04SDhwYiIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UTRkOElDQkUiPjwvZGl2PjxkaXYgY2xhc3M9IkZQZG9MYyBsSjlGQmMiPiAgPGNlbnRlcj4gPGlucHV0IGNsYXNzPSJnTk84OWIiIHZhbHVlPSJHb29nbGUgU3VjaGUiIGFyaWEtbGFiZWw9Ikdvb2dsZSBTdWNoZSIgbmFtZT0iYnRuSyIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCIgdHlwZT0ic3VibWl0IiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRNGRVRENCSSI+IDxpbnB1dCBjbGFzcz0iUk5tcFhjIiB2YWx1ZT0iQXVmIGd1dCBHbMO8Y2shIiBhcmlhLWxhYmVsPSJBdWYgZ3V0IEdsw7xjayEiIG5hbWU9ImJ0bkkiIHR5cGU9InN1Ym1pdCIganNhY3Rpb249InRyaWdnZXIua1dseGhjIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRMTlRRUNCTSI+ICA8L2NlbnRlcj4gPC9kaXY+PC9kaXY+IDxkaXYgc3R5bGU9ImJhY2tncm91bmQ6dXJsKC9pbWFnZXMvc2VhcmNoYm94L2Rlc2t0b3Bfc2VhcmNoYm94X3Nwcml0ZXMzMThfaHIud2VicCkiPiA8L2Rpdj4gPHNjcmlwdCBub25jZT0iYUE3VmEtYmVlaElMc2wyaEZsUHQtZyI+KGZ1bmN0aW9uKCl7CnZhciBhPXRoaXN8fHNlbGY7dmFyIGM9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiZm9ybSIpO2lmKGMpe3ZhciBkPWZ1bmN0aW9uKGIpe2Iua2V5IT09IkVudGVyInx8Yi5zaGlmdEtleXx8KGIucHJldmVudERlZmF1bHQoKSxjLnN1Ym1pdCYmYy5zdWJtaXQoKSl9O2MuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZCk7YS5zYm1saGY9ZH07fSkuY2FsbCh0aGlzKTs8L3NjcmlwdD4gPC9kaXY+IDxkaXYgaWQ9InRvcGhmIj48aW5wdXQgbmFtZT0ic2NhX2VzdiIgdmFsdWU9IjcwMzVmZjZiZmE0NWY0YTgiIHR5cGU9ImhpZGRlbiI+PGlucHV0IG5hbWU9InNjYV91cHYiIHZhbHVlPSIxIiB0eXBlPSJoaWRkZW4iPjxpbnB1dCBuYW1lPSJzb3VyY2UiIHR5cGU9ImhpZGRlbiIgdmFsdWU9ImhwIj48aW5wdXQgdmFsdWU9Img0Q3JadnlMQzVPZmktZ1Bfb3FKLVF3IiBuYW1lPSJlaSIgdHlwZT0iaGlkZGVuIj48aW5wdXQgdmFsdWU9IkFMOWhiZGdBQUFBQVpxdU9seFVwOXZ2X0Y0dzZtRVB6RHh5WnZnLTRlVEVSIiBuYW1lPSJpZmxzaWciIHR5cGU9ImhpZGRlbiI+PC9kaXY+PC9mb3JtPjwvZGl2PjxkaXYgY2xhc3M9Im8zajk5IHFhcnN0YiI+PHN0eWxlPi52Y1ZaN2R7dGV4dC1hbGlnbjpjZW50ZXJ9PC9zdHlsZT48ZGl2IGpzY29udHJvbGxlcj0ibXM0bVpiIiBkYXRhLWVuZHBvaW50PSJvdmVybGF5IiBkYXRhLWppaXM9InVwIiBkYXRhLWFzeW5jLXR5cGU9ImhwYmEiIGlkPSJhM0pVNWIiIGNsYXNzPSJ5cCIganNhY3Rpb249InJjdVE2YjpucFQybWQiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqLTBLQ0JRIj48L2Rpdj48ZGl2IGNsYXNzPSJ2Y1ZaN2QiIGlkPSJnd3Mtb3V0cHV0LXBhZ2VzLWVsZW1lbnRzLWhvbWVwYWdlX2FkZGl0aW9uYWxfbGFuZ3VhZ2VzX19hbHMiPjxzdHlsZT4jZ3dzLW91dHB1dC1wYWdlcy1lbGVtZW50cy1ob21lcGFnZV9hZGRpdGlvbmFsX2xhbmd1YWdlc19fYWxze2ZvbnQtc2l6ZTpzbWFsbDttYXJnaW4tYm90dG9tOjI0cHh9I1NJdkNvYntjb2xvcjp2YXIoLS1iYlF4QWIpO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2xpbmUtaGVpZ2h0OjI4cHg7fSNTSXZDb2IgYXtwYWRkaW5nOjAgM3B4O30uSDZzVzV7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luOjAgMnB4O3doaXRlLXNwYWNlOm5vd3JhcH0uejRoZ1dle2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbjowIDJweH08L3N0eWxlPjxkaXYgaWQ9IlNJdkNvYiI+R29vZ2xlIGdpYnQgZXMgYXVjaCBhdWY6ICA8YSBocmVmPSJodHRwczovL3d3dy5nb29nbGUuY29tL3NldHByZWZzP3NpZz0wX2xyS3R4dWd3UW0yc3oxV0hCNEFDcWtSZ3Y5NCUzRCZhbXA7aGw9ZnImYW1wO3NvdXJjZT1ob21lcGFnZSZhbXA7c2E9WCZhbXA7dmVkPTBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UTJaZ0JDQlkiPkZyYW7Dp2FpczwvYT4gICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9zZXRwcmVmcz9zaWc9MF9sckt0eHVnd1FtMnN6MVdIQjRBQ3FrUmd2OTQlM0QmYW1wO2hsPWVuJmFtcDtzb3VyY2U9aG9tZXBhZ2UmYW1wO3NhPVgmYW1wO3ZlZD0wYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFEyWmdCQ0JjIj5FbmdsaXNoPC9hPiAgPC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBqc2NvbnRyb2xsZXI9IkIycWxQZSIganNuYW1lPSJjZ3NLbGIiIGpzYWN0aW9uPSJyY3VRNmI6bnBUMm1kIj48c3R5bGU+LmNlRTNSe29wYWNpdHk6MC4wNjtwb2ludGVyLWV2ZW50czpub25lfTwvc3R5bGU+PC9kaXY+PGRpdiBjbGFzcz0ibzNqOTkgYzkzR2JlIiByb2xlPSJjb250ZW50aW5mbyI+PHN0eWxlPi5jOTNHYmV7YmFja2dyb3VuZDojZjJmMmYyfS51VTdkSmJ7cGFkZGluZzoxNXB4IDMwcHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tZ1M1alhiKTtmb250LXNpemU6MTVweDtjb2xvcjp2YXIoLS1ZTE5OSGMpO2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0uV3ltZWNle2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uU1N3aklle3BhZGRpbmc6MCAyMHB4fS5LeHdQR2N7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxMjAwcHgpey5LeHdQR2N7anVzdGlmeS1jb250ZW50OnNwYWNlLWV2ZW5seX19LnBIaU9oe2Rpc3BsYXk6YmxvY2s7cGFkZGluZzoxNXB4O3doaXRlLXNwYWNlOm5vd3JhcH0ucEhpT2gsYS5wSGlPaHtjb2xvcjp2YXIoLS1ZTE5OSGMpfTwvc3R5bGU+PGRpdiBjbGFzcz0idVU3ZEpiIj5MdXhlbWJ1cmc8L2Rpdj48ZGl2IGpzY29udHJvbGxlcj0iTnpVNlYiIGNsYXNzPSJLeHdQR2MgU1N3akllIiBkYXRhLXNmZT0iZmFsc2UiIGRhdGEtc2Zzdz0iMTIxMCIganNhY3Rpb249InJjdVE2YjpucFQybWQiPjxkaXYgY2xhc3M9Ikt4d1BHYyBBZ2hHdGQiPjxhIGNsYXNzPSJwSGlPaCIgaHJlZj0iaHR0cHM6Ly9hYm91dC5nb29nbGUvP3V0bV9zb3VyY2U9Z29vZ2xlLUxVJmFtcDt1dG1fbWVkaXVtPXJlZmVycmFsJmFtcDt1dG1fY2FtcGFpZ249aHAtZm9vdGVyJmFtcDtmZz0xIiBwaW5nPSIvdXJsP3NhPXQmYW1wO3JjdD1qJmFtcDtzb3VyY2U9d2ViaHAmYW1wO3VybD1odHRwczovL2Fib3V0Lmdvb2dsZS8lM0Z1dG1fc291cmNlJTNEZ29vZ2xlLUxVJTI2dXRtX21lZGl1bSUzRHJlZmVycmFsJTI2dXRtX2NhbXBhaWduJTNEaHAtZm9vdGVyJTI2ZmclM0QxJmFtcDt2ZWQ9MGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRa05RQ0NCZyZhbXA7Ymw9TlF6YiZhbXA7b3BpPTg5OTc4NDQ5Ij7DnGJlciBHb29nbGU8L2E+PGEgY2xhc3M9InBIaU9oIiBocmVmPSJodHRwczovL3d3dy5nb29nbGUuY29tL2ludGwvZGVfbHUvYWRzLz9zdWJpZD13dy13dy1ldC1nLWF3YS1hLWdfaHBhZm9vdDFfMSFvMiZhbXA7dXRtX3NvdXJjZT1nb29nbGUuY29tJmFtcDt1dG1fbWVkaXVtPXJlZmVycmFsJmFtcDt1dG1fY2FtcGFpZ249Z29vZ2xlX2hwYWZvb3RlciZhbXA7Zmc9MSIgcGluZz0iL3VybD9zYT10JmFtcDtyY3Q9aiZhbXA7c291cmNlPXdlYmhwJmFtcDt1cmw9aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9pbnRsL2RlX2x1L2Fkcy8lM0ZzdWJpZCUzRHd3LXd3LWV0LWctYXdhLWEtZ19ocGFmb290MV8xIW8yJTI2dXRtX3NvdXJjZSUzRGdvb2dsZS5jb20lMjZ1dG1fbWVkaXVtJTNEcmVmZXJyYWwlMjZ1dG1fY2FtcGFpZ24lM0Rnb29nbGVfaHBhZm9vdGVyJTI2ZmclM0QxJmFtcDt2ZWQ9MGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRa2RRQ0NCayZhbXA7Ymw9TlF6YiZhbXA7b3BpPTg5OTc4NDQ5Ij5XZXJiZXByb2dyYW1tZTwvYT48YSBjbGFzcz0icEhpT2giIGhyZWY9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vc2VydmljZXMvP3N1YmlkPXd3LXd3LWV0LWctYXdhLWEtZ19ocGJmb290MV8xIW8yJmFtcDt1dG1fc291cmNlPWdvb2dsZS5jb20mYW1wO3V0bV9tZWRpdW09cmVmZXJyYWwmYW1wO3V0bV9jYW1wYWlnbj1nb29nbGVfaHBiZm9vdGVyJmFtcDtmZz0xIiBwaW5nPSIvdXJsP3NhPXQmYW1wO3JjdD1qJmFtcDtzb3VyY2U9d2ViaHAmYW1wO3VybD1odHRwczovL3d3dy5nb29nbGUuY29tL3NlcnZpY2VzLyUzRnN1YmlkJTNEd3ctd3ctZXQtZy1hd2EtYS1nX2hwYmZvb3QxXzEhbzIlMjZ1dG1fc291cmNlJTNEZ29vZ2xlLmNvbSUyNnV0bV9tZWRpdW0lM0RyZWZlcnJhbCUyNnV0bV9jYW1wYWlnbiUzRGdvb2dsZV9ocGJmb290ZXIlMjZmZyUzRDEmYW1wO3ZlZD0wYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFrdFFDQ0JvJmFtcDtibD1OUXpiJmFtcDtvcGk9ODk5Nzg0NDkiPlVudGVybmVobWVuPC9hPjxhIGNsYXNzPSJwSGlPaCIgaHJlZj0iaHR0cHM6Ly9nb29nbGUuY29tL3NlYXJjaC9ob3dzZWFyY2h3b3Jrcy8/Zmc9MSI+IFdpZSBmdW5rdGlvbmllcnQgZGllIEdvb2dsZSBTdWNoZT8gPC9hPjwvZGl2PjxkaXYgY2xhc3M9Ikt4d1BHYyBpVGp4a2YiPjxhIGNsYXNzPSJwSGlPaCIgaHJlZj0iaHR0cHM6Ly9wb2xpY2llcy5nb29nbGUuY29tL3ByaXZhY3k/aGw9ZGUtTFUmYW1wO2ZnPTEiIHBpbmc9Ii91cmw/c2E9dCZhbXA7cmN0PWomYW1wO3NvdXJjZT13ZWJocCZhbXA7dXJsPWh0dHBzOi8vcG9saWNpZXMuZ29vZ2xlLmNvbS9wcml2YWN5JTNGaGwlM0RkZS1MVSUyNmZnJTNEMSZhbXA7dmVkPTBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UThhd0NDQnMmYW1wO2JsPU5RemImYW1wO29waT04OTk3ODQ0OSI+RGF0ZW5zY2h1dHplcmtsw6RydW5nPC9hPjxhIGNsYXNzPSJwSGlPaCIgaHJlZj0iaHR0cHM6Ly9wb2xpY2llcy5nb29nbGUuY29tL3Rlcm1zP2hsPWRlLUxVJmFtcDtmZz0xIiBwaW5nPSIvdXJsP3NhPXQmYW1wO3JjdD1qJmFtcDtzb3VyY2U9d2ViaHAmYW1wO3VybD1odHRwczovL3BvbGljaWVzLmdvb2dsZS5jb20vdGVybXMlM0ZobCUzRGRlLUxVJTI2ZmclM0QxJmFtcDt2ZWQ9MGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhROHF3Q0NCdyZhbXA7Ymw9TlF6YiZhbXA7b3BpPTg5OTc4NDQ5Ij5OdXR6dW5nc2JlZGluZ3VuZ2VuPC9hPjxzcGFuPjxzdHlsZT4uYXl6cU9jOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9PC9zdHlsZT48c3BhbiBqc2NvbnRyb2xsZXI9Im5hYlBiYiIgZGF0YS1mZnA9ImZhbHNlIiBqc2FjdGlvbj0iS3lQYTBlOlkweTRjO0JWZmpoZjpWRnp3ZWI7d2pPRzdlOmdEa2Y0YzsiPjxzdHlsZT4uY0Y0VjVje2JhY2tncm91bmQtY29sb3I6dmFyKC0teGhVR3djKX0uY0Y0VjVjIGctbWVudS1pdGVte2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjNweDt3aGl0ZS1zcGFjZTpub3dyYXB9LmNGNFY1YyBnLW1lbnUtaXRlbSBhLC5jRjRWNWMgLnkwZlE5Y3tkaXNwbGF5OmJsb2NrO3BhZGRpbmctdG9wOjRweDtwYWRkaW5nLWJvdHRvbTo0cHg7Y3Vyc29yOnBvaW50ZXJ9LmNGNFY1YyBnLW1lbnUtaXRlbSBhLC5jRjRWNWMgZy1tZW51LWl0ZW0gYTp2aXNpdGVkLC5jRjRWNWMgZy1tZW51LWl0ZW0gYTpob3Zlcnt0ZXh0LWRlY29yYXRpb246aW5oZXJpdDtjb2xvcjppbmhlcml0fTwvc3R5bGU+PGctcG9wdXAganNuYW1lPSJWNjhiZGUiIGpzY29udHJvbGxlcj0iRFByZUUiIGpzYWN0aW9uPSJBMDV4QmQ6SVl0QnliO0VPWjU3ZTpXRnJSRmI7IiBqc2RhdGE9Im1WakFqZjtfO0JlOHdzcyI+PGRpdiBqc25hbWU9Im9ZeHRRZCIgY2xhc3M9IkNjTmU2ZSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGFyaWEtaGFzcG9wdXA9InRydWUiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiIGpzYWN0aW9uPSJXRnJSRmI7a2V5ZG93bjp1WVQyVmIiPjxkaXYganNuYW1lPSJMZ2JzU2UiIGNsYXNzPSJheXpxT2MgcEhpT2giIGFyaWEtY29udHJvbHM9Il9oNENyWnZ5TEM1T2ZpLWdQX29xSi1Rd182IiBhcmlhLWhhc3BvcHVwPSJ0cnVlIj5FaW5zdGVsbHVuZ2VuPC9kaXY+PC9kaXY+PGRpdiBqc25hbWU9IlY2OGJkZSIgY2xhc3M9IlVqQkdMIHBrV0JzZSBpUlFIWmUiIHN0eWxlPSJkaXNwbGF5Om5vbmU7ei1pbmRleDoyMDAiPjxnLW1lbnUganNuYW1lPSJ4bDA3T2IiIGNsYXNzPSJjRjRWNWMgeVRpazAgUEJuNDRlIGlRWFRKZSB3cGxKQmQiIGpzY29udHJvbGxlcj0iV2xOUUdkIiByb2xlPSJtZW51IiB0YWJpbmRleD0iLTEiIGpzYWN0aW9uPSJQU2wyOGM7Zm9jdXM6aDA2Ujg7a2V5ZG93bjp1WVQyVmI7bW91c2VlbnRlcjpXT1FxWWI7bW91c2VsZWF2ZTpUeDVSYjttb3VzZW92ZXI6SWdKbDljIj48Zy1tZW51LWl0ZW0ganNuYW1lPSJOTkpMdWQiIGpzY29udHJvbGxlcj0iQ25TVzJkIiBjbGFzcz0iRXBQWUxkIEdablFxZSIgcm9sZT0ibm9uZSIgZGF0YS1zaG9ydC1sYWJlbD0iIiBqc2RhdGE9InpQWHppZTtfO0JlOHdzdyI+PGRpdiBqc25hbWU9ImlibkM2YiIgY2xhc3M9IllwY0RuZiBPU3JYWGIgSEcxZHZkIiByb2xlPSJub25lIj48YSBocmVmPSJodHRwczovL3d3dy5nb29nbGUuY29tL3ByZWZlcmVuY2VzP2hsPWRlLUxVJmFtcDtmZz0xIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj5TdWNoZWluc3RlbGx1bmdlbjwvYT48L2Rpdj48L2ctbWVudS1pdGVtPjxnLW1lbnUtaXRlbSBqc25hbWU9Ik5OSkx1ZCIganNjb250cm9sbGVyPSJDblNXMmQiIGNsYXNzPSJFcFBZTGQgR1puUXFlIiByb2xlPSJub25lIiBkYXRhLXNob3J0LWxhYmVsPSIiIGpzZGF0YT0ielBYemllO187QmU4d3N3Ij48ZGl2IGpzbmFtZT0iaWJuQzZiIiBjbGFzcz0iWXBjRG5mIE9TclhYYiBIRzFkdmQiIHJvbGU9Im5vbmUiPjxhIGhyZWY9Ii9hZHZhbmNlZF9zZWFyY2g/aGw9ZGUtTFUmYW1wO2ZnPTEiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPkVyd2VpdGVydGUgU3VjaGU8L2E+PC9kaXY+PC9nLW1lbnUtaXRlbT48Zy1tZW51LWl0ZW0ganNuYW1lPSJOTkpMdWQiIGpzY29udHJvbGxlcj0iQ25TVzJkIiBjbGFzcz0iRXBQWUxkIEdablFxZSIgcm9sZT0ibm9uZSIgZGF0YS1zaG9ydC1sYWJlbD0iIiBqc2RhdGE9InpQWHppZTtfO0JlOHdzdyI+PGRpdiBqc25hbWU9ImlibkM2YiIgY2xhc3M9IllwY0RuZiBPU3JYWGIgSEcxZHZkIiByb2xlPSJub25lIj48YSBocmVmPSIvaGlzdG9yeS9wcml2YWN5YWR2aXNvci9zZWFyY2gvdW5hdXRoP3V0bV9zb3VyY2U9Z29vZ2xlbWVudSZhbXA7Zmc9MSZhbXA7Y2N0bGQ9Y29tIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj5NZWluZSBEYXRlbiBpbiBkZXIgR29vZ2xlIFN1Y2hlPC9hPjwvZGl2PjwvZy1tZW51LWl0ZW0+PGctbWVudS1pdGVtIGpzbmFtZT0iTk5KTHVkIiBqc2NvbnRyb2xsZXI9IkNuU1cyZCIgY2xhc3M9IkVwUFlMZCBHWm5RcWUiIHJvbGU9Im5vbmUiIGRhdGEtc2hvcnQtbGFiZWw9IiIganNkYXRhPSJ6UFh6aWU7XztCZTh3c3ciPjxkaXYganNuYW1lPSJpYm5DNmIiIGNsYXNzPSJZcGNEbmYgT1NyWFhiIEhHMWR2ZCIgcm9sZT0ibm9uZSI+PGEgaHJlZj0iL2hpc3Rvcnkvb3B0b3V0P2hsPWRlLUxVJmFtcDtmZz0xIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj5TdWNodmVybGF1ZjwvYT48L2Rpdj48L2ctbWVudS1pdGVtPjxnLW1lbnUtaXRlbSBqc25hbWU9Ik5OSkx1ZCIganNjb250cm9sbGVyPSJDblNXMmQiIGNsYXNzPSJFcFBZTGQgR1puUXFlIiByb2xlPSJub25lIiBkYXRhLXNob3J0LWxhYmVsPSIiIGpzZGF0YT0ielBYemllO187QmU4d3N3Ij48ZGl2IGpzbmFtZT0iaWJuQzZiIiBjbGFzcz0iWXBjRG5mIE9TclhYYiBIRzFkdmQiIHJvbGU9Im5vbmUiPjxhIGhyZWY9Imh0dHBzOi8vc3VwcG9ydC5nb29nbGUuY29tL3dlYnNlYXJjaC8/cD13c19yZXN1bHRzX2hlbHAmYW1wO2hsPWRlLUxVJmFtcDtmZz0xIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj5IaWxmZSB6dXIgU3VjaGU8L2E+PC9kaXY+PC9nLW1lbnUtaXRlbT48Zy1tZW51LWl0ZW0ganNuYW1lPSJOTkpMdWQiIGpzY29udHJvbGxlcj0iQ25TVzJkIiBjbGFzcz0iRXBQWUxkIEdablFxZSIgcm9sZT0ibm9uZSIgZGF0YS1zaG9ydC1sYWJlbD0iIiBqc2RhdGE9InpQWHppZTtfO0JlOHdzdyI+PGRpdiBqc25hbWU9ImlibkM2YiIgY2xhc3M9IllwY0RuZiBPU3JYWGIgSEcxZHZkIiByb2xlPSJub25lIj48c3BhbiBkYXRhLWJ1Y2tldD0id2Vic2VhcmNoIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIiBqc2FjdGlvbj0idHJpZ2dlci5ZY2ZKIj5GZWVkYmFjayBnZWJlbjwvc3Bhbj48L2Rpdj48L2ctbWVudS1pdGVtPjxnLW1lbnUtaXRlbSBqc25hbWU9Ik5OSkx1ZCIganNjb250cm9sbGVyPSJDblNXMmQiIGNsYXNzPSJFcFBZTGQgR1puUXFlIExHaWx1YyIgYXJpYS1oaWRkZW49InRydWUiIHJvbGU9InNlcGFyYXRvciIgZGF0YS1zaG9ydC1sYWJlbD0iIiBqc2RhdGE9InpQWHppZTtfO0JlOHdzMCI+PC9nLW1lbnUtaXRlbT48Zy1tZW51LWl0ZW0ganNuYW1lPSJOTkpMdWQiIGpzY29udHJvbGxlcj0iQ25TVzJkIiBjbGFzcz0iRXBQWUxkIEdablFxZSIgcm9sZT0ibm9uZSIgZGF0YS1zaG9ydC1sYWJlbD0iIiBqc2RhdGE9InpQWHppZTtfO0JlOHdzdyI+PGRpdiBqc25hbWU9ImlibkM2YiIgY2xhc3M9IllwY0RuZiBPU3JYWGIgSEcxZHZkIiByb2xlPSJub25lIj48ZGl2IGNsYXNzPSJ5MGZROWMiIGRhdGEtc3BsPSIvc2V0cHJlZnM/aGw9ZGUmYW1wO3ByZXY9aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8/cGNjYyUzRDEmYW1wO3NpZz0wX2xyS3R4dWd3UW0yc3oxV0hCNEFDcWtSZ3Y5NCUzRCZhbXA7Y3M9MiIgaWQ9IllVSUREYiIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+PHN0eWxlPi50RllqWmV7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtwYWRkaW5nLWJvdHRvbTo0cHg7cGFkZGluZy10b3A6NHB4fS50RllqWmU6aG92ZXIgLmlPSE5MYiwudEZZalplOmZvY3VzIC5pT0hOTGJ7b3BhY2l0eToxfS5pT0hOTGJ7Y29sb3I6IzVlNWU1ZTtoZWlnaHQ6MjBweDttYXJnaW4tdG9wOi0ycHg7b3BhY2l0eTowO3dpZHRoOjIwcHh9PC9zdHlsZT48ZGl2IGpzY29udHJvbGxlcj0iZlhPMHhlIiBjbGFzcz0idEZZalplIiBkYXRhLWJzZG09IjAiIGRhdGEtYnRmPSIwIiBkYXRhLWhiYz0iIzFhNzNlOCIgZGF0YS1odGM9IiNmZmYiIGRhdGEtc3B0PSIxIiBkYXRhLXRzZG09IjAiIHJvbGU9ImxpbmsiIHRhYmluZGV4PSIwIiBqc2FjdGlvbj0ib2s1Z0ZjO3g2QkNmYjpnZ0ZDY2U7dzNVa3JmOmFlbHhKYiIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UXFzRUhDQjgiPjxkaXY+RHVua2xlcyBEZXNpZ246IERlYWt0aXZpZXJ0PC9kaXY+PGRpdiBjbGFzcz0iaU9ITkxiIj48c3BhbiBzdHlsZT0iaGVpZ2h0OjIwcHg7bGluZS1oZWlnaHQ6MjBweDt3aWR0aDoyMHB4IiBjbGFzcz0iejFhc0NlIGFxdnhjZCI+PHN2ZyBmb2N1c2FibGU9ImZhbHNlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDI0IDI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCI+PHJlY3QgZmlsbD0ibm9uZSIgaGVpZ2h0PSIyNCIgd2lkdGg9IjI0Ij48L3JlY3Q+PHBhdGggZD0iTTEyLDdjLTIuNzYsMC01LDIuMjQtNSw1czIuMjQsNSw1LDVzNS0yLjI0LDUtNVMxNC43Niw3LDEyLDdMMTIsN3ogTTIsMTNsMiwwYzAuNTUsMCwxLTAuNDUsMS0xcy0wLjQ1LTEtMS0xbC0yLDAgYy0wLjU1LDAtMSwwLjQ1LTEsMVMxLjQ1LDEzLDIsMTN6IE0yMCwxM2wyLDBjMC41NSwwLDEtMC40NSwxLTFzLTAuNDUtMS0xLTFsLTIsMGMtMC41NSwwLTEsMC40NS0xLDFTMTkuNDUsMTMsMjAsMTN6IE0xMSwydjIgYzAsMC41NSwwLjQ1LDEsMSwxczEtMC40NSwxLTFWMmMwLTAuNTUtMC40NS0xLTEtMVMxMSwxLjQ1LDExLDJ6IE0xMSwyMHYyYzAsMC41NSwwLjQ1LDEsMSwxczEtMC40NSwxLTF2LTJjMC0wLjU1LTAuNDUtMS0xLTEgQzExLjQ1LDE5LDExLDE5LjQ1LDExLDIweiBNNS45OSw0LjU4Yy0wLjM5LTAuMzktMS4wMy0wLjM5LTEuNDEsMGMtMC4zOSwwLjM5LTAuMzksMS4wMywwLDEuNDFsMS4wNiwxLjA2IGMwLjM5LDAuMzksMS4wMywwLjM5LDEuNDEsMHMwLjM5LTEuMDMsMC0xLjQxTDUuOTksNC41OHogTTE4LjM2LDE2Ljk1Yy0wLjM5LTAuMzktMS4wMy0wLjM5LTEuNDEsMGMtMC4zOSwwLjM5LTAuMzksMS4wMywwLDEuNDEgbDEuMDYsMS4wNmMwLjM5LDAuMzksMS4wMywwLjM5LDEuNDEsMGMwLjM5LTAuMzksMC4zOS0xLjAzLDAtMS40MUwxOC4zNiwxNi45NXogTTE5LjQyLDUuOTljMC4zOS0wLjM5LDAuMzktMS4wMywwLTEuNDEgYy0wLjM5LTAuMzktMS4wMy0wLjM5LTEuNDEsMGwtMS4wNiwxLjA2Yy0wLjM5LDAuMzktMC4zOSwxLjAzLDAsMS40MXMxLjAzLDAuMzksMS40MSwwTDE5LjQyLDUuOTl6IE03LjA1LDE4LjM2IGMwLjM5LTAuMzksMC4zOS0xLjAzLDAtMS40MWMtMC4zOS0wLjM5LTEuMDMtMC4zOS0xLjQxLDBsLTEuMDYsMS4wNmMtMC4zOSwwLjM5LTAuMzksMS4wMywwLDEuNDFzMS4wMywwLjM5LDEuNDEsMEw3LjA1LDE4LjM2eiI+PC9wYXRoPjwvc3ZnPjwvc3Bhbj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2ctbWVudS1pdGVtPjwvZy1tZW51PjwvZGl2PjwvZy1wb3B1cD48L3NwYW4+PC9zcGFuPjwvZGl2PjwvZGl2PjxkaXYganNjb250cm9sbGVyPSJ6R0xtM2IiIHN0eWxlPSJkaXNwbGF5Om5vbmUiIGRhdGEtcGNzPSIwIiBqc2FjdGlvbj0icmN1UTZiOm5wVDJtZCI+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iRmd2Z2pjIj48c3R5bGU+LkZndmdqY3toZWlnaHQ6MDtvdmVyZmxvdzpoaWRkZW59PC9zdHlsZT48ZGl2IGNsYXNzPSJnVE10TGIgZnAtbmgiIGlkPSJsYiI+PHN0eWxlPi5nVE10TGJ7ei1pbmRleDoxMDAxO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMTAwMHB4fTwvc3R5bGU+PC9kaXY+PHN0eWxlPi5FTTFNcmJ7b3ZlcmZsb3c6aGlkZGVufS5IVGp0SGV7ZGlzcGxheTpub25lfS52VWQ0amJ7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDo5OTk3O3JpZ2h0OjA7Ym90dG9tOi0yMDBweDt0b3A6MDtsZWZ0OjA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNil9LkhidTR5e2hlaWdodDoxcHg7bGVmdDotMTAwMHB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHh9Lmp3OG1Je3Bvc2l0aW9uOmZpeGVkO3JpZ2h0OjA7Ym90dG9tOjA7dG9wOjA7bGVmdDowO3otaW5kZXg6OTk5ODt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2hpdGUtc3BhY2U6bm93cmFwO21heC1oZWlnaHQ6MTAwJTttYXgtd2lkdGg6MTAwJTtvdmVyZmxvdy14OmF1dG87b3ZlcmZsb3cteTphdXRvO3RleHQtYWxpZ246Y2VudGVyOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0uanc4bUk6OmFmdGVye2NvbnRlbnQ6Jyc7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjEwMCU7dmVydGljYWwtYWxpZ246bWlkZGxlfS5LeHZsV2N7Ym9yZGVyLXJhZGl1czoxNnB4O2JvcmRlci1yYWRpdXM6MTZweDtkaXNwbGF5OmlubGluZS1ibG9jazt6LWluZGV4Ojk5OTk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS14aFVHd2MpO3RleHQtYWxpZ246bGVmdDt3aGl0ZS1zcGFjZTpub3JtYWw7b3ZlcmZsb3cteTpoaWRkZW47Ym94LXNoYWRvdzowIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwwLjIpO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtoZWlnaHQ6NTIwcHg7d2lkdGg6MzExcHg7bWF4LXdpZHRoOjY4MHB4O3BhZGRpbmctYm90dG9tOjEwcHh9LkhPcTRIZXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDoxMDAlfS5IVGp0SGUuZmVGWmRiIC5kYnNGcmR7dmlzaWJpbGl0eTpoaWRkZW59LkhUanRIZS5mZUZaZGJ7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmRic0ZyZHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDoxMDAlfS53WDJZSGMgLmRic0ZyZHtwYWRkaW5nLWJvdHRvbToycHh9LnRIbHA4ZHtoZWlnaHQ6NDhweDtkaXNwbGF5OmlubGluZS1ibG9jaztjdXJzb3I6cG9pbnRlcjtib3JkZXI6MDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BhZGRpbmc6MH0udEhscDhkOmZvY3Vze2JvcmRlcjowO291dGxpbmU6MH0uUVM1Z3V7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtib3JkZXItcmFkaXVzOjk5OXJlbTtoZWlnaHQ6MzJweDtwYWRkaW5nOjAgMTZweDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7Zm9udC1mYW1pbHk6R29vZ2xlIFNhbnMsQXJpYWwsc2Fucy1zZXJpZjttYXJnaW4tbGVmdDo4cHg7dGV4dC1hbGlnbjpjZW50ZXI7Ym94LXNpemluZzpib3JkZXItYm94O3doaXRlLXNwYWNlOm5vd3JhcDtoZWlnaHQ6NDBweDtwYWRkaW5nOjAgMjBweDttYXJnaW4tbGVmdDoxMHB4O2xpbmUtaGVpZ2h0OjIwcHh9LmVPalBJZXthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6dmFyKC0tcnJKSlVjKTtiYWNrZ3JvdW5kOnZhcigtLXhoVUd3Yyk7ZGlzcGxheTpmbGV4O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtmb250LWZhbWlseTpHb29nbGUgU2FucyxBcmlhbCxzYW5zLXNlcmlmO2hlaWdodDoxMDAlO3BhZGRpbmc6MCA4cHh9LnVkMWptZntib3JkZXI6MXB4IHNvbGlkIHZhcigtLW1YWmtxYyk7Y29sb3I6dmFyKC0tcnJKSlVjKTtiYWNrZ3JvdW5kOnZhcigtLXhoVUd3Yyl9LnRIbHA4ZDpmb2N1cyAudWQxam1mLC50SGxwOGQ6YWN0aXZlIC51ZDFqbWZ7Ym9yZGVyOjFweCBzb2xpZCAjZThmMGZlO2JhY2tncm91bmQtY29sb3I6I2U4ZjBmZTtib3gtc2hhZG93OjAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLDAuMil9LnVkMWptZjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNlOGYwZmV9LnN5NHZNe2JhY2tncm91bmQtY29sb3I6dmFyKC0tTnNtMGNlKTtjb2xvcjp2YXIoLS1FcEZOVyk7cG9zaXRpb246cmVsYXRpdmU7Ym94LXNpemluZzpib3JkZXItYm94O3RyYW5zaXRpb246Ym94LXNoYWRvdyAyMDBtcyBjdWJpYy1iZXppZXIoMC40LDAsMC4yLDEpOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTtib3JkZXI6MnB4IHNvbGlkIHZhcigtLXhoVUd3Yyk7dGV4dC1kZWNvcmF0aW9uOm5vbmU7anVzdGlmeS1jb250ZW50OmNlbnRlcjtoZWlnaHQ6NDRweH0ucWlpRGpiIC5zeTR2TS5RUzVndXtoZWlnaHQ6MzZweH0udEhscDhkOmZvY3VzIC5zeTR2TSwudEhscDhkOmFjdGl2ZSAuc3k0dk17Ym9yZGVyOjJweCBzb2xpZCB2YXIoLS14aFVHd2MpO291dGxpbmU6MnB4IHNvbGlkIHZhcigtLU5zbTBjZSk7Ym94LXNoYWRvdzowIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwwLjIpO2JhY2tncm91bmQtY29sb3I6IzAwMWQzNX0ubVpLMjR7cG9pbnRlci1ldmVudHM6bm9uZX0ubVpLMjQgLnN5NHZNLC5tWksyNDpmb2N1cyAuc3k0dk0sLm1aSzI0OmFjdGl2ZSAuc3k0dk17Ym9yZGVyOjJweCBzb2xpZCAjZjFmM2Y0O2JhY2tncm91bmQtY29sb3I6I2YxZjNmNDtjb2xvcjp2YXIoLS1JWG94VWUpO2JveC1zaGFkb3c6bm9uZX0uc3k0dk06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMDAxZDM1O2JvcmRlcjoycHggc29saWQgIzAwMWQzNTt0ZXh0LWRlY29yYXRpb246bm9uZX0uU1NTZTVle2JhY2tncm91bmQ6I2YxZjNmNDtoZWlnaHQ6NDBweDt3aWR0aDo5MCU7bWFyZ2luLWxlZnQ6MH0uSWN6WjRie3dpZHRoOmF1dG87ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtwYWRkaW5nOjEycHggMjBweDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LmRBNnM5YyAuSWN6WjRie3BhZGRpbmc6MTJweCAxNnB4fS5ZZU1UdHtib3gtc2hhZG93Om5vbmV9LnFJQm5VY3toZWlnaHQ6MzJweDttYXJnaW4tdG9wOjhweH0uZEE2czljIC5xSUJuVWN7aGVpZ2h0OjI0cHg7bWFyZ2luLXRvcDoxMnB4fS5JWE1JVmJ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LXdyYXA6d3JhcH0ubmVEWXd7cG9zaXRpb246cmVsYXRpdmU7Y3Vyc29yOnBvaW50ZXJ9LlY1T0N0ZHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93fS5GWVhTYWR7bWFyZ2luLWxlZnQ6OXB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsaW5lLWhlaWdodDoyMHB4fS50bjNNbWR7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0uY0dZOGlme2Rpc3BsYXk6YmxvY2s7ZGlzcGxheTpub25lO292ZXJmbG93LXk6c2Nyb2xsO2hlaWdodDozNTBweDt3aWR0aDoxOTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7ei1pbmRleDoxMDAwO2JhY2tncm91bmQtY29sb3I6dmFyKC0teGhVR3djKTtib3gtc2hhZG93OjAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLDAuMik7Ym94LXNpemluZzpib3JkZXItYm94fS55SzU2YntsaXN0LXN0eWxlOm5vbmU7cGFkZGluZzowO21hcmdpbjowO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lkh2NVVFYntjb2xvcjp2YXIoLS1yckpKVWMpO3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7cG9pbnRlci1ldmVudHM6bm9uZX0uYjBwcnh7bWFyZ2luLXJpZ2h0OjIwcHg7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtkaXNwbGF5OmlubGluZS1ibG9ja31wYXRoLnlSUklIZntmaWxsOnZhcigtLWJiUXhBYil9LkFJNndBY3tib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1nUzVqWGIpO3BhZGRpbmc6MTVweCAxMHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93fS5lWmI1NHtmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmO2NvbG9yOnZhcigtLVlMTk5IYyk7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6Ym9sZDtsaW5lLWhlaWdodDoyNHB4fS5HZTBBdWJ7Y29sb3I6dmFyKC0tWUxOTkhjKTtmb250LXNpemU6MTRweDtjdXJzb3I6cG9pbnRlcjt0ZXh0LWRlY29yYXRpb246bm9uZTtsaXN0LXN0eWxlOm5vbmU7ZGlzcGxheTpmbGV4O3BhZGRpbmc6MTVweCA0MHB4IDE1cHggNTVweDtvdmVyZmxvdy14OmhpZGRlbn0uTHhoQURke2NvbG9yOnZhcigtLVlMTk5IYyk7Zm9udC1zaXplOjE2cHg7dGV4dC1kZWNvcmF0aW9uOm5vbmU7bGlzdC1zdHlsZTpub25lO2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjE1cHggMzBweCAxNXB4IDMwcHg7b3ZlcmZsb3cteDpoaWRkZW47Zm9udC13ZWlnaHQ6NzAwfS5HZTBBdWI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmFmYWZhfS5HZTBBdWI6Zm9jdXMsLkFJNndBYzpmb2N1c3tib3JkZXI6MnB4IHNvbGlkIHZhcigtLU5zbTBjZSl9LldyTk91Y3tib3JkZXI6MDtkaXNwbGF5Om5vbmU7ZmxleC1kaXJlY3Rpb246cm93O2p1c3RpZnktY29udGVudDpjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNpdGlvbjpoZWlnaHQgMG1zIDE1MG1zLG9wYWNpdHkgMTUwbXMgbGluZWFyO2JvdHRvbTowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMHB4O2JhY2tncm91bmQ6LW1vei1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUsI2ZmZiAzMyUpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUsI2ZmZiAzMyUpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSxyZ2JhKDI1NSwyNTUsMjU1LDApIDAlLCNmZmYgMzMlKX0uV3JOT3VjOmFjdGl2ZSwuV3JOT3VjOmZvY3Vze291dGxpbmU6MH0uU1NTZTVle2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToyMHB4O2NvbG9yOnZhcigtLVlMTk5IYyl9LlZvdm1JZHtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4O21hcmdpbi1sZWZ0OjEwcHh9Lkk5MFRWYntmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjIwcHg7bGluZS1oZWlnaHQ6MjRweDttYXJnaW46MDtjb2xvcjp2YXIoLS1ZTE5OSGMpO2ZvbnQtZmFtaWx5Okdvb2dsZSBTYW5zLEFyaWFsLHNhbnMtc2VyaWZ9LkFHOTZsYntmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjBweDtsZXR0ZXItc3BhY2luZzowLjJweDt3aGl0ZS1zcGFjZTpub3JtYWw7dGV4dC1hbGlnbjpsZWZ0fS53WDJZSGMgLkFHOTZsYnttYXJnaW4tYm90dG9tOjIwcHh9LlZEaXR5e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3c7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO3Bvc2l0aW9uOnJlbGF0aXZlO21pbi1oZWlnaHQ6NDhweDtoZWlnaHQ6YXV0bztmbGV4LXdyYXA6d3JhcDttYXJnaW4tYm90dG9tOjRweH0uc3BvS1Zke2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LnNwb0tWZCAuUVM1Z3V7bWFyZ2luOjAgNnB4O3BhZGRpbmc6MCA2NXB4O2hlaWdodDo0MHB4fS5HekxqTWR7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXJ9LnFpaURqYntmbGV4LWRpcmVjdGlvbjpjb2x1bW59LnFpaURqYiBidXR0b257cGFkZGluZzo2cHggMDtoZWlnaHQ6YXV0bzttaW4taGVpZ2h0OjQ4cHg7d2lkdGg6MTAwJX0ucWlpRGpiIC5RUzVndXtoZWlnaHQ6YXV0bzttYXJnaW4tbGVmdDowO21pbi1oZWlnaHQ6MzJweDtwYWRkaW5nOjNweCA1cHg7d2lkdGg6MTAwJTt3aGl0ZS1zcGFjZTpub3JtYWx9LkY0YTFse2NvbG9yOnZhcigtLUpLcXgyKTt0ZXh0LWRlY29yYXRpb246bm9uZX0uZUxaWXlme2NvbG9yOnZhcigtLVlMTk5IYyk7Zm9udC1mYW1pbHk6R29vZ2xlIFNhbnMsQXJpYWwsc2Fucy1zZXJpZjttYXJnaW4tYm90dG9tOjE2cHg7bWFyZ2luLXRvcDoyMHB4Oy13ZWJraXQtdGV4dC1zaXplLWFkanVzdDoxMDAlfS5qTGh3ZGN7Y29sb3I6dmFyKC0tWUxOTkhjKTtmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmfS55UzFubGR7Y29sb3I6dmFyKC0tSVhveFVlKTtmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmO21hcmdpbi10b3A6MWVtO21hcmdpbi1ib3R0b206MH0ud1gyWUhjIC5lTFpZeWZ7bWFyZ2luLWJvdHRvbToyNHB4fS53WDJZSGMgLnlTMW5sZHtjb2xvcjp2YXIoLS1iYlF4QWIpfS5JS2w3UXtvdmVyZmxvdy15OmF1dG87aGVpZ2h0OmF1dG87c2Nyb2xsLWJlaGF2aW9yOnNtb290aDtwb3NpdGlvbjpyZWxhdGl2ZX0uU2hjRzF7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtwYWRkaW5nOjAgMjBweDtoZWlnaHQ6YXV0b30ud1gyWUhjIC5TaGNHMXtwYWRkaW5nOjAgMTZweH0uZGJYTzl7bWFyZ2luOjA7cGFkZGluZzowO2NvbG9yOnZhcigtLUlYb3hVZSk7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZn0ud1gyWUhjIC5kYlhPOXtjb2xvcjp2YXIoLS1iYlF4QWIpfS5nb3dzWWR7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb24teDpsZWZ0O2JhY2tncm91bmQtcG9zaXRpb24teTpjZW50ZXI7YmFja2dyb3VuZC1zaXplOjE2cHg7bGlzdC1zdHlsZTpub25lO3BhZGRpbmctbGVmdDozNHB4O21hcmdpbjoxMnB4IDA7Zm9udC1zaXplOjE0cHg7LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OjEwMCV9aHRtbFtkaXI9J3J0bCddPi5nb3dzWWR7YmFja2dyb3VuZC1wb3NpdGlvbi14OnJpZ2h0fS5nb3dzWWQuaWJDRjBje2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsXDAwMDAzY3N2ZyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+XDAwMDAzY3BhdGggIGZpbGw9JyUyMzNjNDA0MycgZD0nTTEzLjk4IDQuODQ2NjhjLjI2LS4yNi4yNi0uNjggMC0uOTRsLTEuODg2Ny0xLjg4NjY3Yy0uMjYtLjI2LS42OC0uMjYtLjk0IDBMOC4xNiA1LjAxMzM1IDUuNTY2NjcgMi40MjAwMWMtLjUyLS41Mi0xLjM2NjY3LS41Mi0xLjg4NjY3IDBMMi40MTMzMyAzLjY4NjY4Yy0uNTIuNTItLjUyIDEuMzY2NjcgMCAxLjg4NjY3bDIuNTkzMzQgMi41OTMzM0wyIDExLjE3MzNWMTRoMi44MjY2N0w3Ljg0IDEwLjk4NjdsMi41OTMzIDIuNTkzM2MuNjMzNC42MzMzIDEuNDg2Ny40IDEuODg2NyAwbDEuMjY2Ny0xLjI2NjdjLjUyLS41Mi41Mi0xLjM2NjYgMC0xLjg4NjZsLTIuNTkzNC0yLjU5MzM1TDEzLjk4IDQuODQ2Njh6bS0xMC42Mi0uMjJsMS4yNi0xLjI2NjY3Ljg0NjY3Ljg0NjY3LS43ODY2Ny43OTMzMy45NC45NC43OTMzMy0uNzkzMzMuOC44LTEuMjY2NjYgMS4yNjY2N0wzLjM2IDQuNjI2Njh6bTcuNDg2NyA0Ljk2bC0uNzkzNC43OTMzMi45NC45NC43OTM0LS43OTMzLjg0NjYuODQ2Ni0xLjI2NjYgMS4yNjY3LTIuNTkzMzctMi41OTMzTDEwLjA0IDguNzgwMDFsLjgwNjcuODA2Njd6TTQuMjczMzMgMTIuNjY2N2gtLjk0di0uOTRMOS43NCA1LjMyMDAxbC44NjY3Ljg2NjY3LjA3MzMuMDczMzMtNi40MDY2NyA2LjQwNjY5ek0xMC42OCA0LjM3MzM1bC45NC0uOTQuOTQuOTQtLjk0Ljk0LS45NC0uOTR6Jy8+XDAwMDAzYy9zdmc+Iil9Lmdvd3NZZC5Hd3doR2Z7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCxcMDAwMDNjc3ZnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgdmlld0JveD0nMCAwIDI0IDI0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnICBmaWxsPSclMjMzYzQwNDMnPlwwMDAwM2NwYXRoIGQ9J00wIDBoMjR2MjRIMFYweicgZmlsbD0nbm9uZScvPlwwMDAwM2NwYXRoIGQ9J00xMiA1Ljk5TDE5LjUzIDE5SDQuNDdMMTIgNS45OU0xMiAyTDEgMjFoMjJMMTIgMnptMSAxNGgtMnYyaDJ2LTJ6bTAtNmgtMnY0aDJ2LTR6Jy8+XDAwMDAzYy9zdmc+Iil9Lmdvd3NZZC5NNmo5cWZ7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCxcMDAwMDNjc3ZnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgdmlld0JveD0nMCAwIDI0IDI0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPlwwMDAwM2NnIGZpbGw9JyUyMzNjNDA0MycgZmlsbC1ydWxlPSdldmVub2RkJyBjbGlwLXJ1bGU9J2V2ZW5vZGQnPlwwMDAwM2NnPlwwMDAwM2NwYXRoIGQ9J00yMSw4Yy0xLjQ1LDAtMi4yNiwxLjQ0LTEuOTMsMi41MWwtMy41NSwzLjU2Yy0wLjMtMC4wOS0wLjc0LTAuMDktMS4wNCwwbC0yLjU1LTIuNTVDMTIuMjcsMTAuNDUsMTEuNDYsOSwxMCw5IGMtMS40NSwwLTIuMjcsMS40NC0xLjkzLDIuNTJsLTQuNTYsNC41NUMyLjQ0LDE1Ljc0LDEsMTYuNTUsMSwxOGMwLDEuMSwwLjksMiwyLDJjMS40NSwwLDIuMjYtMS40NCwxLjkzLTIuNTFsNC41NS00LjU2IGMwLjMsMC4wOSwwLjc0LDAuMDksMS4wNCwwbDIuNTUsMi41NUMxMi43MywxNi41NSwxMy41NCwxOCwxNSwxOGMxLjQ1LDAsMi4yNy0xLjQ0LDEuOTMtMi41MmwzLjU2LTMuNTUgQzIxLjU2LDEyLjI2LDIzLDExLjQ1LDIzLDEwQzIzLDguOSwyMi4xLDgsMjEsOHonLz5cMDAwMDNjcG9seWdvbiBwb2ludHM9JzE1LDkgMTUuOTQsNi45MyAxOCw2IDE1Ljk0LDUuMDcgMTUsMyAxNC4wOCw1LjA3IDEyLDYgMTQuMDgsNi45MycvPlwwMDAwM2Nwb2x5Z29uIHBvaW50cz0nMy41LDExIDQsOSA2LDguNSA0LDggMy41LDYgMyw4IDEsOC41IDMsOScvPlwwMDAwM2MvZz5cMDAwMDNjL2c+XDAwMDAzYy9zdmc+Iil9Lmdvd3NZZC52OEJwZmJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCxcMDAwMDNjc3ZnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgdmlld0JveD0nMCAwIDI0IDI0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPlwwMDAwM2NwYXRoIGZpbGw9JyUyMzNjNDA0MycgZmlsbC1ydWxlPSdldmVub2RkJyBjbGlwLXJ1bGU9J2V2ZW5vZGQnIGQ9J001IDloM3YxMEg1em01LjUtNGgzdjE0aC0zem01LjUgOGgzdjZoLTN6Jy8+XDAwMDAzYy9zdmc+Iil9Lmdvd3NZZC5lMjFNYWN7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCxcMDAwMDNjc3ZnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz5cMDAwMDNjcGF0aCAgZmlsbD0nJTIzM2M0MDQzJyBkPSdNOC4zMzM5OCA1LjY2NjY3TDYuNjY3MzIgMiA1LjAwMDY1IDUuNjY2NjcgMS4zMzM5OCA3LjMzMzMzIDUuMDAwNjUgOWwxLjY2NjY3IDMuNjY2N0w4LjMzMzk4IDlsMy42NjY3Mi0xLjY2NjY3LTMuNjY2NzItMS42NjY2NnptMy42NjY3MiAzTDExLjE2NzMgMTAuNWwtMS44MzMzMi44MzMzIDEuODMzMzIuODMzNEwxMi4wMDA3IDE0bC44MzMzLTEuODMzMyAxLjgzMzMtLjgzMzRMMTIuODM0IDEwLjVsLS44MzMzLTEuODMzMzN6Jy8+XDAwMDAzYy9zdmc+Iil9Lmdvd3NZZC5vaEVXUGN7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCxcMDAwMDNjc3ZnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSclMjMzYzQwNDMnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+XDAwMDAzY3BhdGggZmlsbC1ydWxlPSdldmVub2RkJyBjbGlwLXJ1bGU9J2V2ZW5vZGQnIGQ9J00xMC4xNDgxIDcuNDA3NDNINi41OTI1NVY4LjU5MjYxSDEwLjE0ODFWNy40MDc0M1pNOS44MDkxNCAxMC45NjNIMy4wMzdWOS43Nzc4SDkuNDU3ODNDOS41NjczNCAxMC4xNjEgOS42ODU4NCAxMC41NTgzIDkuODA5MTQgMTAuOTYzWk0xMC4xNzUyIDEyLjE0ODJIMi40NDQ0QzIuMTI0NCAxMi4xNDgyIDEuODUxODEgMTEuOTM0OCAxLjg1MTgxIDExLjY4NTlWNC4zMTQwOUMxLjg1MTgxIDQuMDY1MjEgMi4xMjQ0IDMuODUxODcgMi40NDQ0IDMuODUxODdIMTAuNzM0OEMxMS4wNTQ4IDMuODUxODcgMTEuMzI3NCA0LjA2NTIxIDExLjMyNzQgNC4zMTQwOVY4LjAwMDAySDExLjMzMzNWOS45MzYxM0MxMS41MTE2IDkuOTkxMDQgMTEuNjkxIDEwLjA0NjQgMTEuODcwOSAxMC4xMDE5QzEyLjA4NjQgMTAuMTY4NCAxMi4zMDI1IDEwLjIzNTEgMTIuNTE4NSAxMC4zMDE1VjQuMzE0MDlDMTIuNTE4NSAzLjQwNzQzIDExLjcxMjYgMi42NjY2OSAxMC43NDA3IDIuNjY2NjlIMi40NDQ0QzEuNDcyNTUgMi42NjY2OSAwLjY2NjYyNiAzLjQxMzM1IDAuNjY2NjI2IDQuMzE0MDlWMTEuNjg1OUMwLjY2NjYyNiAxMi41OTI2IDEuNDcyNTUgMTMuMzMzNCAyLjQ0NDQgMTMuMzMzNEgxMC41NDM1QzEwLjQ0NDUgMTMuMDEyMiAxMC4zNDM0IDEyLjY4OCAxMC4yNDI0IDEyLjM2MzdDMTAuMjIgMTIuMjkxOCAxMC4xOTc2IDEyLjIyIDEwLjE3NTIgMTIuMTQ4MlpNNS40MDczNyA4LjU5MjYxSDMuMDM3VjUuMDM3MDZINS40MDczN1Y4LjU5MjYxWk0xMC4xNDgxIDYuMjIyMjRINi41OTI1NVY1LjAzNzA2SDEwLjE0ODFWNi4yMjIyNFonLz5cMDAwMDNjcGF0aCBkPSdNMTAgMTBDMTAuMzYwNiAxMS4zMTUyIDEwLjkxMjEgMTIuOTI3MyAxMS4yNzI3IDE0LjI0MjRMMTEuNzk4OCAxMi42NTE1TDEzLjgxODIgMTQuNjY2N0wxNC42NjY3IDEzLjgxODJMMTIuNjcyNyAxMS44MjQyTDE0LjI0MjQgMTEuMjcyN0MxMi45MjczIDEwLjkxMjEgMTEuMzE1MiAxMC4zODE4IDEwIDEwWicvPlwwMDAwM2Mvc3ZnPiIpfS5YV2xyZmZ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtwYWRkaW5nLXJpZ2h0OjEwcHg7bWFyZ2luOjA7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjQ4cHh9LmNHMERtZntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmctcmlnaHQ6MH0ucGVSTDJlLC5vOUQ1WmJ7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjtjb2xvcjp2YXIoLS1JWG94VWUpO3RleHQtZGVjb3JhdGlvbjpub25lO2ZvbnQtc2l6ZToxMnB4O2hlaWdodDo0OHB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OmNlbnRlcn0ucGVSTDJle3BhZGRpbmctbGVmdDo4cHg7bWFyZ2luLWxlZnQ6LThweDtwYWRkaW5nLXJpZ2h0OjhweDttYXJnaW4tcmlnaHQ6LThweH0ubzlENVpie21hcmdpbjowIDEwcHh9Lkt4dmxXY3t3aWR0aDo4MDBweDtoZWlnaHQ6YXV0bzttYXgtd2lkdGg6bm9uZX0uR1o3eE5le3BhZGRpbmc6MCAzMnB4fS5JS2w3UXt3aWR0aDphdXRvO2hlaWdodDphdXRvO3BhZGRpbmc6MCA0MHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS5JOTBUVmJ7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC10cmFuc2Zvcm06bm9uZTtjb2xvcjp2YXIoLS1ZTE5OSGMpO2ZvbnQtZmFtaWx5Okdvb2dsZSBTYW5zLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjI4cHg7bGluZS1oZWlnaHQ6MzZweDtmb250LXdlaWdodDo0MDA7bGV0dGVyLXNwYWNpbmc6MDttYXJnaW46MCBhdXRvO3BhZGRpbmc6MCAzMnB4fS5nb3dzWWR7bWFyZ2luOjEycHggMDtwYWRkaW5nLWxlZnQ6MzRweH0uVkRpdHl7bWFyZ2luLWJvdHRvbToyNHB4O3BhZGRpbmc6NXB4IDMycHggMH0uSWN6WjRie3BhZGRpbmc6MjRweCAzMnB4IDE4cHh9LnFJQm5VY3toZWlnaHQ6NDBweDt3aWR0aDo0MHB4O21hcmdpbi10b3A6NHB4fS5jR1k4aWZ7aGVpZ2h0OjQ1MHB4fS5JWE1JVmJ7cmlnaHQ6MzJweH0uWFdscmZme3Bvc2l0aW9uOnJlbGF0aXZlfS5wZVJMMmU6Zm9jdXMsLkY0YTFsOmZvY3VzLC5lT2pQSWU6Zm9jdXN7Ym9yZGVyOjFweCBzb2xpZCAjMDAxZDM1fUBtZWRpYSAobWF4LXdpZHRoOjg5MHB4KXsuS3h2bFdje3dpZHRoOjkwJX19QG1lZGlhIChtYXgtd2lkdGg6MzIwcHgpey5LeHZsV2N7d2lkdGg6MjYwcHg7aGVpZ2h0OjQ3MXB4fS5uZURZdyAuUVM1Z3V7cGFkZGluZzowIDVweH0uRllYU2Fke2Rpc3BsYXk6bm9uZX0udG4zTW1ke3Bvc2l0aW9uOnN0YXRpY30uY0dZOGlme3RvcDoxMnB4O3JpZ2h0OjFweDtsZWZ0OnVuc2V0fX1AbWVkaWEgKG1heC13aWR0aDoyODBweCl7LlFTNWd1e3BhZGRpbmc6MCA1cHh9fS55eUowOGMgLkt4dmxXY3toZWlnaHQ6Y2FsYygxMDAlIC0gNjRweCk7d2lkdGg6Y2FsYygxMDB2dyAtIDQ4cHgpfS55eUowOGMgLlZEaXR5e21hcmdpbi1ib3R0b206MH08L3N0eWxlPjxkaXYgY2xhc3M9IkhUanRIZSIgaWQ9InhlN0NPZSIgYXJpYS1sYWJlbD0iQmV2b3IgU2llIHp1ciBHb29nbGUgU3VjaGUgd2VpdGVyZ2VoZW4iIGFyaWEtbW9kYWw9InRydWUiIHJvbGU9ImRpYWxvZyIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFoSkFIQ0NBIj48ZGl2IGNsYXNzPSJ2VWQ0amIiIGlkPSJLamNIUGMiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFoWkFIQ0NFIj48L2Rpdj48ZGl2IGlkPSJyR0RTbmIiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFrWkFIQ0NJIj48L2Rpdj48ZGl2IGNsYXNzPSJqdzhtSSI+PGRpdiBjbGFzcz0iSGJ1NHkiIGlkPSJzTkNRYiIgYXJpYS1saXZlPSJwb2xpdGUiPjwvZGl2PjxzcGFuPjxkaXYgY2xhc3M9Ikt4dmxXYyIgaWQ9IkNYUW5tYiI+PGRpdiBjbGFzcz0iSE9xNEhlIHdYMllIYyI+PGRpdiBjbGFzcz0iZGJzRnJkIj48ZGl2PjxkaXYgY2xhc3M9Ikljelo0YiIgaWQ9InVNb3VzYyI+PGltZyBjbGFzcz0icUlCblVjIiBzcmM9Imh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3Byb2R1Y3Rsb2dvcy9nb29nbGVnL3Y2LzI0cHguc3ZnIiBhbHQ9Ikdvb2dsZSI+PGRpdiBjbGFzcz0iSVhNSVZiIj48ZGl2IGNsYXNzPSJ0bjNNbWQiPjxidXR0b24gY2xhc3M9Im5lRFl3IHRIbHA4ZCIgaWQ9InZjM2pvZiIgYXJpYS1sYWJlbD0iU3ByYWNoZSBhdXN3w6RobGVuLCBkZSIgYXJpYS1kaXNhYmxlZD0iZmFsc2UiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiBhcmlhLWhhc3BvcHVwPSJ0cnVlIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRaTVBSENDTSI+PGRpdiBjbGFzcz0iUVM1Z3UgdWQxam1mIiByb2xlPSJub25lIj48ZGl2IGNsYXNzPSJWNU9DdGQiPjxzdmcgY2xhc3M9Ikh2NVVFYiIgaGVpZ2h0PSIzMCIgdmlld0JveD0iMCAwIDMwIDMwIiB3aWR0aD0iMzAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMi41IDE1QzIuNSA4LjEgOC4wODc1IDIuNSAxNC45ODc1IDIuNUMyMS45IDIuNSAyNy41IDguMSAyNy41IDE1QzI3LjUgMjEuOSAyMS45IDI3LjUgMTQuOTg3NSAyNy41QzguMDg3NSAyNy41IDIuNSAyMS45IDIuNSAxNVpNMTkuOTYyNSAxMEgyMy42NUMyMi40NSA3LjkzNzUgMjAuNTM3NSA2LjMzNzUgMTguMjM3NSA1LjU1QzE4Ljk4NzUgNi45Mzc1IDE5LjU2MjUgOC40Mzc1IDE5Ljk2MjUgMTBaTTE1IDUuMDVDMTYuMDM3NSA2LjU1IDE2Ljg1IDguMjEyNSAxNy4zODc1IDEwSDEyLjYxMjVDMTMuMTUgOC4yMTI1IDEzLjk2MjUgNi41NSAxNSA1LjA1Wk01IDE1QzUgMTUuODYyNSA1LjEyNSAxNi43IDUuMzI1IDE3LjVIOS41NUM5LjQ1IDE2LjY3NSA5LjM3NSAxNS44NSA5LjM3NSAxNUM5LjM3NSAxNC4xNSA5LjQ1IDEzLjMyNSA5LjU1IDEyLjVINS4zMjVDNS4xMjUgMTMuMyA1IDE0LjEzNzUgNSAxNVpNNi4zNSAyMEgxMC4wMzc1QzEwLjQzNzUgMjEuNTYyNSAxMS4wMTI1IDIzLjA2MjUgMTEuNzYyNSAyNC40NUM5LjQ2MjUgMjMuNjYyNSA3LjU1IDIyLjA3NSA2LjM1IDIwWk02LjM1IDEwSDEwLjAzNzVDMTAuNDM3NSA4LjQzNzUgMTEuMDEyNSA2LjkzNzUgMTEuNzYyNSA1LjU1QzkuNDYyNSA2LjMzNzUgNy41NSA3LjkyNSA2LjM1IDEwWk0xNSAyNC45NUMxMy45NjI1IDIzLjQ1IDEzLjE1IDIxLjc4NzUgMTIuNjEyNSAyMEgxNy4zODc1QzE2Ljg1IDIxLjc4NzUgMTYuMDM3NSAyMy40NSAxNSAyNC45NVpNMTEuODc1IDE1QzExLjg3NSAxNS44NSAxMS45NjI1IDE2LjY3NSAxMi4wNzUgMTcuNUgxNy45MjVDMTguMDM3NSAxNi42NzUgMTguMTI1IDE1Ljg1IDE4LjEyNSAxNUMxOC4xMjUgMTQuMTUgMTguMDM3NSAxMy4zMTI1IDE3LjkyNSAxMi41SDEyLjA3NUMxMS45NjI1IDEzLjMxMjUgMTEuODc1IDE0LjE1IDExLjg3NSAxNVpNMTguMjM3NSAyNC40NUMxOC45ODc1IDIzLjA2MjUgMTkuNTYyNSAyMS41NjI1IDE5Ljk2MjUgMjBIMjMuNjVDMjIuNDUgMjIuMDYyNSAyMC41Mzc1IDIzLjY2MjUgMTguMjM3NSAyNC40NVpNMjAuNjI1IDE1QzIwLjYyNSAxNS44NSAyMC41NSAxNi42NzUgMjAuNDUgMTcuNUgyNC42NzVDMjQuODc1IDE2LjcgMjUgMTUuODYyNSAyNSAxNUMyNSAxNC4xMzc1IDI0Ljg3NSAxMy4zIDI0LjY3NSAxMi41SDIwLjQ1QzIwLjU1IDEzLjMyNSAyMC42MjUgMTQuMTUgMjAuNjI1IDE1WiIgZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjwvcGF0aD48L3N2Zz48ZGl2IGNsYXNzPSJGWVhTYWQiPmRlPC9kaXY+PC9kaXY+PC9kaXY+PC9idXR0b24+PGRpdiBjbGFzcz0iY0dZOGlmIiBpZD0idGJUdWJkIiByb2xlPSJtZW51IiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRakpBSENDUSI+PGRpdiBjbGFzcz0ieUs1NmIiIHJvbGU9Im5vbmUiPjxsaSBjbGFzcz0iQUk2d0FjIGVaYjU0IiBhcmlhLWxhYmVsPSLigKpEZXV0c2No4oCsIiBhcmlhLWRpc2FibGVkPSJ0cnVlIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiPjxkaXYgY2xhc3M9ImIwcHJ4IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Ym94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBjbGFzcz0ieVJSSUhmIiBkPSJNOSAxNi4xNzAxTDQuODMgMTIuMDAwMUwzLjQxIDEzLjQxMDFMOSAxOS4wMDAxTDIxIDcuMDAwMDlMMTkuNTkgNS41OTAwOUw5IDE2LjE3MDFaIj48L3BhdGg+PC9zdmc+PC9kaXY+4oCqRGV1dHNjaOKArDwvbGk+PGRpdj48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCqRW5nbGlzaCAoVW5pdGVkIEtpbmdkb20p4oCsIiBkYXRhLWhsPSJlbi1HQiIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRanNvS0NDVSI+4oCqRW5nbGlzaCAoVW5pdGVkIEtpbmdkb20p4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCqRXNwYcOxb2wgKEVzcGHDsWEp4oCsIiBkYXRhLWhsPSJlcyIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRanNvS0NDWSI+4oCqRXNwYcOxb2wgKEVzcGHDsWEp4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCqRnJhbsOnYWlzIChGcmFuY2Up4oCsIiBkYXRhLWhsPSJmciIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRanNvS0NDYyI+4oCqRnJhbsOnYWlzIChGcmFuY2Up4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCqSXRhbGlhbm/igKwiIGRhdGEtaGw9Iml0IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqc29LQ0NnIj7igKpJdGFsaWFub+KArDwvbGk+PGxpIGNsYXNzPSJMeGhBRGQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCI+QWxsZSBTcHJhY2hlbjwvbGk+PC9kaXY+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqkFmcmlrYWFuc+KArCIgZGF0YS1obD0iYWYiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDQ2siPuKAqkFmcmlrYWFuc+KArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqmF6yZlyYmF5Y2Fu4oCsIiBkYXRhLWhsPSJheiIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NDbyI+4oCqYXrJmXJiYXljYW7igKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKpib3NhbnNraeKArCIgZGF0YS1obD0iYnMiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDQ3MiPuKAqmJvc2Fuc2tp4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCqY2F0YWzDoOKArCIgZGF0YS1obD0iY2EiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDQ3ciPuKAqmNhdGFsw6DigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKrEjGXFoXRpbmHigKwiIGRhdGEtaGw9ImNzIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0MwIj7igKrEjGXFoXRpbmHigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKpDeW1yYWVn4oCsIiBkYXRhLWhsPSJjeSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NDNCI+4oCqQ3ltcmFlZ+KArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqkRhbnNr4oCsIiBkYXRhLWhsPSJkYSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NDOCI+4oCqRGFuc2vigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKplZXN0aeKArCIgZGF0YS1obD0iZXQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDREEiPuKAqmVlc3Rp4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCqRW5nbGlzaCAoVW5pdGVkIEtpbmdkb20p4oCsIiBkYXRhLWhsPSJlbi1HQiIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NERSI+4oCqRW5nbGlzaCAoVW5pdGVkIEtpbmdkb20p4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCqRW5nbGlzaCAoVW5pdGVkIFN0YXRlcynigKwiIGRhdGEtaGw9ImVuLVVTIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0RJIj7igKpFbmdsaXNoIChVbml0ZWQgU3RhdGVzKeKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqkVuZ2xpc2jigKwiIGRhdGEtaGw9ImVuIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0RNIj7igKpFbmdsaXNo4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCqRXNwYcOxb2wgKEVzcGHDsWEp4oCsIiBkYXRhLWhsPSJlcyIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NEUSI+4oCqRXNwYcOxb2wgKEVzcGHDsWEp4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCqRXNwYcOxb2wgKExhdGlub2Ftw6lyaWNhKeKArCIgZGF0YS1obD0iZXMtNDE5IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0RVIj7igKpFc3Bhw7FvbCAoTGF0aW5vYW3DqXJpY2Ep4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCqZXVza2FyYeKArCIgZGF0YS1obD0iZXUiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRFkiPuKAqmV1c2thcmHigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKpGaWxpcGlub+KArCIgZGF0YS1obD0iZmlsIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0RjIj7igKpGaWxpcGlub+KArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqkZyYW7Dp2FpcyAoQ2FuYWRhKeKArCIgZGF0YS1obD0iZnItQ0EiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRGciPuKAqkZyYW7Dp2FpcyAoQ2FuYWRhKeKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqkZyYW7Dp2FpcyAoRnJhbmNlKeKArCIgZGF0YS1obD0iZnIiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRGsiPuKAqkZyYW7Dp2FpcyAoRnJhbmNlKeKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqkdhZWlsZ2XigKwiIGRhdGEtaGw9ImdhIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0RvIj7igKpHYWVpbGdl4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCqZ2FsZWdv4oCsIiBkYXRhLWhsPSJnbCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NEcyI+4oCqZ2FsZWdv4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCqSHJ2YXRza2nigKwiIGRhdGEtaGw9ImhyIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0R3Ij7igKpIcnZhdHNraeKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqkluZG9uZXNpYeKArCIgZGF0YS1obD0iaWQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRDAiPuKAqkluZG9uZXNpYeKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqmlzaVp1bHXigKwiIGRhdGEtaGw9Inp1IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0Q0Ij7igKppc2ladWx14oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCqw61zbGVuc2th4oCsIiBkYXRhLWhsPSJpcyIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NEOCI+4oCqw61zbGVuc2th4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCqSXRhbGlhbm/igKwiIGRhdGEtaGw9Iml0IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0VBIj7igKpJdGFsaWFub+KArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqktpc3dhaGlsaeKArCIgZGF0YS1obD0ic3ciIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRUUiPuKAqktpc3dhaGlsaeKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqmxhdHZpZcWhdeKArCIgZGF0YS1obD0ibHYiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRUkiPuKAqmxhdHZpZcWhdeKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqmxpZXR1dmnFs+KArCIgZGF0YS1obD0ibHQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRU0iPuKAqmxpZXR1dmnFs+KArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqm1hZ3lhcuKArCIgZGF0YS1obD0iaHUiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRVEiPuKAqm1hZ3lhcuKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqk1lbGF5deKArCIgZGF0YS1obD0ibXMiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRVUiPuKAqk1lbGF5deKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqk5lZGVybGFuZHPigKwiIGRhdGEtaGw9Im5sIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0VZIj7igKpOZWRlcmxhbmRz4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCqbm9yc2vigKwiIGRhdGEtaGw9Im5vIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0VjIj7igKpub3Jza+KArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqm/igJh6YmVr4oCsIiBkYXRhLWhsPSJ1eiIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NFZyI+4oCqb+KAmHpiZWvigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKpwb2xza2nigKwiIGRhdGEtaGw9InBsIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0VrIj7igKpwb2xza2nigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKpQb3J0dWd1w6pzIChCcmFzaWwp4oCsIiBkYXRhLWhsPSJwdC1CUiIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NFbyI+4oCqUG9ydHVndcOqcyAoQnJhc2lsKeKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqlBvcnR1Z3XDqnMgKFBvcnR1Z2FsKeKArCIgZGF0YS1obD0icHQtUFQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRXMiPuKAqlBvcnR1Z3XDqnMgKFBvcnR1Z2FsKeKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqnJvbcOibsSD4oCsIiBkYXRhLWhsPSJybyIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NFdyI+4oCqcm9tw6JuxIPigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKpzaHFpcOKArCIgZGF0YS1obD0ic3EiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRTAiPuKAqnNocWlw4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCqU2xvdmVuxI1pbmHigKwiIGRhdGEtaGw9InNrIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0U0Ij7igKpTbG92ZW7EjWluYeKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqnNsb3ZlbsWhxI1pbmHigKwiIGRhdGEtaGw9InNsIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0U4Ij7igKpzbG92ZW7FocSNaW5h4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCqc3Jwc2tpIChsYXRpbmljYSnigKwiIGRhdGEtaGw9InNyLUxhdG4iIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRkEiPuKAqnNycHNraSAobGF0aW5pY2Ep4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCqU3VvbWnigKwiIGRhdGEtaGw9ImZpIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0ZFIj7igKpTdW9taeKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqlN2ZW5za2HigKwiIGRhdGEtaGw9InN2IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0ZJIj7igKpTdmVuc2th4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCqVGnhur9uZyBWaeG7h3TigKwiIGRhdGEtaGw9InZpIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0ZNIj7igKpUaeG6v25nIFZp4buHdOKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqlTDvHJrw6dl4oCsIiBkYXRhLWhsPSJ0ciIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NGUSI+4oCqVMO8cmvDp2XigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKrOlc67zrvOt869zrnOus6s4oCsIiBkYXRhLWhsPSJlbCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NGVSI+4oCqzpXOu867zrfOvc65zrrOrOKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqtCx0LXQu9Cw0YDRg9GB0LrQsNGP4oCsIiBkYXRhLWhsPSJiZSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NGWSI+4oCq0LHQtdC70LDRgNGD0YHQutCw0Y/igKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKrQsdGK0LvQs9Cw0YDRgdC60LjigKwiIGRhdGEtaGw9ImJnIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0ZjIj7igKrQsdGK0LvQs9Cw0YDRgdC60LjigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKrQutGL0YDQs9GL0LfRh9Cw4oCsIiBkYXRhLWhsPSJreSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NGZyI+4oCq0LrRi9GA0LPRi9C30YfQsOKArDwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAqtC80LDQutC10LTQvtC90YHQutC44oCsIiBkYXRhLWhsPSJtayIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NGayI+4oCq0LzQsNC60LXQtNC+0L3RgdC60LjigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKrQvNC+0L3Qs9C+0LvigKwiIGRhdGEtaGw9Im1uIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0ZvIj7igKrQvNC+0L3Qs9C+0LvigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKrQoNGD0YHRgdC60LjQueKArCIgZGF0YS1obD0icnUiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRnMiPuKAqtCg0YPRgdGB0LrQuNC54oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCq0YHRgNC/0YHQutC4ICjRm9C40YDQuNC70LjRhtCwKeKArCIgZGF0YS1obD0ic3IiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRnciPuKAqtGB0YDQv9GB0LrQuCAo0ZvQuNGA0LjQu9C40YbQsCnigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKrQo9C60YDQsNGX0L3RgdGM0LrQsOKArCIgZGF0YS1obD0idWsiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRjAiPuKAqtCj0LrRgNCw0ZfQvdGB0YzQutCw4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCq4YOl4YOQ4YOg4YOX4YOj4YOa4YOY4oCsIiBkYXRhLWhsPSJrYSIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NGNCI+4oCq4YOl4YOQ4YOg4YOX4YOj4YOa4YOY4oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCq0pvQsNC30LDSmyDRgtGW0LvRluKArCIgZGF0YS1obD0ia2siIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDRjgiPuKAqtKb0LDQt9Cw0psg0YLRltC70ZbigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKrVsNWh1bXVpdaA1aXVtuKArCIgZGF0YS1obD0iaHkiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDR0EiPuKAqtWw1aHVtdWl1oDVpdW24oCsPC9saT48bGkgY2xhc3M9IkdlMEF1YiIgYXJpYS1sYWJlbD0i4oCr16LXkdeo15nXquKArCIgZGF0YS1obD0iaXciIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWo4b0tDR0UiPjxzcGFuIGRpcj0ibHRyIj7igKvXoteR16jXmdeq4oCsPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAq9in2LHYr9mI4oCsIiBkYXRhLWhsPSJ1ciIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NHSSI+PHNwYW4gZGlyPSJsdHIiPuKAq9in2LHYr9mI4oCsPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAq9in2YTYudix2KjZitip4oCsIiBkYXRhLWhsPSJhciIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSIwIiBkYXRhLXZlZD0iMGFoVUtFd2k4NjdyUDV0T0hBeFdUendJSEhYNUZJczhRajhvS0NHTSI+PHNwYW4gZGlyPSJsdHIiPuKAq9in2YTYudix2KjZitip4oCsPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJHZTBBdWIiIGFyaWEtbGFiZWw9IuKAq9mB2KfYsdiz24zigKwiIGRhdGEtaGw9ImZhIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0dRIj48c3BhbiBkaXI9Imx0ciI+4oCr2YHYp9ix2LPbjOKArDwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKrhiqDhiJvhiK3hipvigKwiIGRhdGEtaGw9ImFtIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0dVIj7igKrhiqDhiJvhiK3hipvigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKrgpKjgpYfgpKrgpL7gpLLgpYDigKwiIGRhdGEtaGw9Im5lIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0dZIj7igKrgpKjgpYfgpKrgpL7gpLLgpYDigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKrgpK7gpLDgpL7gpKDgpYDigKwiIGRhdGEtaGw9Im1yIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0djIj7igKrgpK7gpLDgpL7gpKDgpYDigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKrgpLngpL/gpKjgpY3gpKbgpYDigKwiIGRhdGEtaGw9ImhpIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0dnIj7igKrgpLngpL/gpKjgpY3gpKbgpYDigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKrgpqzgpr7gpoLgprLgpr7igKwiIGRhdGEtaGw9ImJuIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0drIj7igKrgpqzgpr7gpoLgprLgpr7igKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKrgqKrgqbDgqJzgqL7gqKzgqYDigKwiIGRhdGEtaGw9InBhIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0dvIj7igKrgqKrgqbDgqJzgqL7gqKzgqYDigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKrgqpfgq4HgqpzgqrDgqr7gqqTgq4DigKwiIGRhdGEtaGw9Imd1IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0dzIj7igKrgqpfgq4HgqpzgqrDgqr7gqqTgq4DigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKrgrqTgrq7grr/grrTgr43igKwiIGRhdGEtaGw9InRhIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0d3Ij7igKrgrqTgrq7grr/grrTgr43igKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKrgsKTgsYbgsLLgsYHgsJfgsYHigKwiIGRhdGEtaGw9InRlIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0cwIj7igKrgsKTgsYbgsLLgsYHgsJfgsYHigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKrgspXgsqjgs43gsqjgsqHigKwiIGRhdGEtaGw9ImtuIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0c0Ij7igKrgspXgsqjgs43gsqjgsqHigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKrgtK7gtLLgtK/gtL7gtLPgtILigKwiIGRhdGEtaGw9Im1sIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0c4Ij7igKrgtK7gtLLgtK/gtL7gtLPgtILigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKrgt4Pgt5LgtoLgt4Tgtr3igKwiIGRhdGEtaGw9InNpIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0hBIj7igKrgt4Pgt5LgtoLgt4Tgtr3igKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKrguYTguJfguKLigKwiIGRhdGEtaGw9InRoIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0hFIj7igKrguYTguJfguKLigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKrguqXgurLguqfigKwiIGRhdGEtaGw9ImxvIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0hJIj7igKrguqXgurLguqfigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKrhgJnhgLzhgJThgLrhgJnhgKzigKwiIGRhdGEtaGw9Im15IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0hNIj7igKrhgJnhgLzhgJThgLrhgJnhgKzigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKrhnoHhn5Lhnpjhn4LhnprigKwiIGRhdGEtaGw9ImttIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0hRIj7igKrhnoHhn5Lhnpjhn4LhnprigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKrtlZzqta3slrTigKwiIGRhdGEtaGw9ImtvIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0hVIj7igKrtlZzqta3slrTigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKrkuK3mlofvvIjpppnmuK/vvInigKwiIGRhdGEtaGw9InpoLUhLIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0hZIj7igKrkuK3mlofvvIjpppnmuK/vvInigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKrml6XmnKzoqp7igKwiIGRhdGEtaGw9ImphIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0hjIj7igKrml6XmnKzoqp7igKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKrnroDkvZPkuK3mlofigKwiIGRhdGEtaGw9InpoLUNOIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0hnIj7igKrnroDkvZPkuK3mlofigKw8L2xpPjxsaSBjbGFzcz0iR2UwQXViIiBhcmlhLWxhYmVsPSLigKrnuYHpq5TkuK3mlofigKwiIGRhdGEtaGw9InpoLVRXIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9IjAiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqOG9LQ0hrIj7igKrnuYHpq5TkuK3mlofigKw8L2xpPjwvZGl2PjwvZGl2PjwvZGl2PjxidXR0b24gY2xhc3M9Im5lRFl3IHRIbHA4ZCIgaWQ9Imdrc1MxZCIgcm9sZT0ibGluayIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWlwQUhDSG8iPjxkaXYgY2xhc3M9IlFTNWd1IHVkMWptZiIgcm9sZT0ibm9uZSI+QW5tZWxkZW48L2Rpdj48L2J1dHRvbj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJHWjd4TmUiPjxoMSBjbGFzcz0iSTkwVFZiIiBpZD0iUzNCbkVlIj5CZXZvciBTaWUgenUgR29vZ2xlIHdlaXRlcmdlaGVuPC9oMT48ZGl2IGNsYXNzPSJBRzk2bGIiPjxkaXYgY2xhc3M9ImVMWll5ZiI+V2lyIHZlcndlbmRlbiA8YSBjbGFzcz0iRjRhMWwiIGhyZWY9Imh0dHBzOi8vcG9saWNpZXMuZ29vZ2xlLmNvbS90ZWNobm9sb2dpZXMvY29va2llcz91dG1fc291cmNlPXVjYnMmYW1wO2hsPWRlLUxVIiB0YXJnZXQ9Il9ibGFuayI+Q29va2llczwvYT4gdW5kIERhdGVuLCB1bTx1bCBjbGFzcz0iZGJYTzkiPjxsaSBjbGFzcz0iZ293c1lkIGliQ0YwYyI+R29vZ2xlLURpZW5zdGUgenUgZXJicmluZ2VuIHVuZCB6dSBiZXRyZWliZW48L2xpPjxsaSBjbGFzcz0iZ293c1lkIEd3d2hHZiI+QXVzZsOkbGxlIHp1IHByw7xmZW4gdW5kIE1hw59uYWhtZW4gZ2VnZW4gU3BhbSwgQmV0cnVnIHVuZCBNaXNzYnJhdWNoIHp1IGVyZ3JlaWZlbjwvbGk+PGxpIGNsYXNzPSJnb3dzWWQgdjhCcGZiIj5EYXRlbiB6dSBaaWVsZ3J1cHBlbmludGVyYWt0aW9uZW4gdW5kIFdlYnNpdGVzdGF0aXN0aWtlbiB6dSBlcmhlYmVuLiBNaXQgZGVuIGdld29ubmVuZW4gSW5mb3JtYXRpb25lbiBtw7ZjaHRlbiB3aXIgdmVyc3RlaGVuLCB3aWUgdW5zZXJlIERpZW5zdGUgdmVyd2VuZGV0IHdlcmRlbiwgdW5kIGRpZSBRdWFsaXTDpHQgZGllc2VyIERpZW5zdGUgdmVyYmVzc2Vybi48L2xpPjwvdWw+PC9kaXY+PGRpdiBjbGFzcz0iZUxaWXlmIj5XZW5uIFNpZSDigJ5BbGxlIGFremVwdGllcmVu4oCcIGF1c3fDpGhsZW4sIHZlcndlbmRlbiB3aXIgQ29va2llcyB1bmQgRGF0ZW4gYXVjaCwgdW08dWwgY2xhc3M9ImRiWE85Ij48bGkgY2xhc3M9Imdvd3NZZCBNNmo5cWYiPm5ldWUgRGllbnN0ZSB6dSBlbnR3aWNrZWxuIHVuZCB6dSB2ZXJiZXNzZXJuPC9saT48bGkgY2xhc3M9Imdvd3NZZCB2OEJwZmIiPldlcmJ1bmcgYXVzenVsaWVmZXJuIHVuZCBpaHJlIFdpcmt1bmcgenUgbWVzc2VuPC9saT48bGkgY2xhc3M9Imdvd3NZZCBlMjFNYWMiPmplIG5hY2ggSWhyZW4gRWluc3RlbGx1bmdlbiBwZXJzb25hbGlzaWVydGUgSW5oYWx0ZSBhbnp1emVpZ2VuPC9saT48bGkgY2xhc3M9Imdvd3NZZCBvaEVXUGMiPnBlcnNvbmFsaXNpZXJ0ZSBXZXJidW5nIGFuenV6ZWlnZW4sIGFiaMOkbmdpZyB2b24gSWhyZW4gRWluc3RlbGx1bmdlbjwvbGk+PC91bD48ZGl2IGNsYXNzPSJqTGh3ZGMiPldlbm4gU2llIOKAnkFsbGUgYWJsZWhuZW7igJwgYXVzd8OkaGxlbiwgdmVyd2VuZGVuIHdpciBDb29raWVzIG5pY2h0IGbDvHIgZGllc2UgenVzw6R0emxpY2hlbiBad2Vja2UuPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ieVMxbmxkIj5OaWNodCBwZXJzb25hbGlzaWVydGUgSW5oYWx0ZSB3ZXJkZW4gdS7CoGEuIHZvbiBJbmhhbHRlbiwgZGllIFNpZSBzaWNoIGdlcmFkZSBhbnNlaGVuLCBBa3Rpdml0w6R0ZW4gaW4gSWhyZXIgYWt0aXZlbiBTdWNoc2l0enVuZyB1bmQgSWhyZW0gU3RhbmRvcnQgYmVlaW5mbHVzc3QuIE5pY2h0IHBlcnNvbmFsaXNpZXJ0ZSBXZXJidW5nIHdpcmQgdm9uIGRlbiBJbmhhbHRlbiwgZGllIFNpZSBzaWNoIGdlcmFkZSBhbnNlaGVuLCB1bmQgSWhyZW0gYWxsZ2VtZWluZW4gU3RhbmRvcnQgYmVlaW5mbHVzc3QuIFBlcnNvbmFsaXNpZXJ0ZSBJbmhhbHRlIHVuZCBXZXJidW5nIGvDtm5uZW4gYXVjaCByZWxldmFudGVyZSBFcmdlYm5pc3NlLCBFbXBmZWhsdW5nZW4gdW5kIGluZGl2aWR1ZWxsZSBXZXJidW5nIGVudGhhbHRlbiwgZGllIGF1ZiBmcsO8aGVyZW4gQWt0aXZpdMOkdGVuIGluIGRpZXNlbSBCcm93c2VyLCBldHdhIFN1Y2hhbmZyYWdlbiBiZWkgR29vZ2xlLCBiZXJ1aGVuLiBTb2Zlcm4gcmVsZXZhbnQsIHZlcndlbmRlbiB3aXIgQ29va2llcyB1bmQgRGF0ZW4gYXXDn2VyZGVtLCB1bSBJbmhhbHRlIHVuZCBXZXJidW5nIGFsdGVyc2dlcmVjaHQgenUgZ2VzdGFsdGVuLjwvZGl2PjxkaXYgY2xhc3M9InlTMW5sZCI+V8OkaGxlbiBTaWUg4oCeV2VpdGVyZSBPcHRpb25lbuKAnCBhdXMsIHVtIHNpY2ggenVzw6R0emxpY2hlIEluZm9ybWF0aW9uZW4gYW56dXNlaGVuLCBlaW5zY2hsaWXDn2xpY2ggRGV0YWlscyB6dW0gVmVyd2FsdGVuIElocmVyIERhdGVuc2NodXR6ZWluc3RlbGx1bmdlbi4gU2llIGvDtm5uZW4gYXVjaCBqZWRlcnplaXQgPHNwYW4+Zy5jby9wcml2YWN5dG9vbHM8L3NwYW4+IGJlc3VjaGVuLjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNwb0tWZCI+PGRpdiBjbGFzcz0iR3pMak1kIj48YnV0dG9uIGlkPSJXMHdsdGMiIGNsYXNzPSJ0SGxwOGQiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFE0Y0lJQ0hzIj48ZGl2IGNsYXNzPSJRUzVndSBzeTR2TSIgcm9sZT0ibm9uZSI+QWxsZSBhYmxlaG5lbjwvZGl2PjwvYnV0dG9uPjxidXR0b24gaWQ9IkwyQUdMYiIgY2xhc3M9InRIbHA4ZCIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWlaQUhDSHciPjxkaXYgY2xhc3M9IlFTNWd1IHN5NHZNIiByb2xlPSJub25lIj5BbGxlIGFremVwdGllcmVuPC9kaXY+PC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0iR3pMak1kIj48YnV0dG9uIGNsYXNzPSJ0SGxwOGQiIGlkPSJWbmpDY2IiIHJvbGU9ImxpbmsiIHRhYmluZGV4PSItMSIgZGF0YS12ZWQ9IjBhaFVLRXdpODY3clA1dE9IQXhXVHp3SUhIWDVGSXM4UWlKQUhDSDAiPjxhIGNsYXNzPSJlT2pQSWUiIHRhYmluZGV4PSIwIj5XZWl0ZXJlIE9wdGlvbmVuPC9hPjwvYnV0dG9uPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9IlhXbHJmZiBjRzBEbWYiPjxhIGNsYXNzPSJwZVJMMmUiIGhyZWY9Imh0dHBzOi8vcG9saWNpZXMuZ29vZ2xlLmNvbS9wcml2YWN5P2hsPWRlLUxVJmFtcDtmZz0xJmFtcDt1dG1fc291cmNlPXVjYnMiIGlkPSJSUDNWNWMiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFqNUFIQ0g0Ij5EYXRlbnNjaHV0ejwvYT48ZGl2IGNsYXNzPSJvOUQ1WmIiIGFyaWEtaGlkZGVuPSJ0cnVlIj4mbWlkZG90OzwvZGl2PjxhIGNsYXNzPSJwZVJMMmUiIGhyZWY9Imh0dHBzOi8vcG9saWNpZXMuZ29vZ2xlLmNvbS90ZXJtcz9obD1kZS1MVSZhbXA7Zmc9MSZhbXA7dXRtX3NvdXJjZT11Y2JzIiBpZD0iSFExbGIiIGRhdGEtdmVkPSIwYWhVS0V3aTg2N3JQNXRPSEF4V1R6d0lISFg1RklzOFFrSkFIQ0g4Ij5OdXR6dW5nc2JlZGluZ3VuZ2VuPC9hPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2Pjwvc3Bhbj48L2Rpdj48L2Rpdj48c2NyaXB0IG5vbmNlPSJhQTdWYS1iZWVoSUxzbDJoRmxQdC1nIj4oZnVuY3Rpb24oKXt2YXIgY29va2llRG9tYWluPScuZ29vZ2xlLmNvbSc7dmFyIGNvb2tpZVVwZGF0ZUNvbnNlbnRVcmw9Jyc7dmFyIHNDQVM9J0NBSVNIQWdCRWhKbmQzTmZNakF5TkRBM01qUXRNRjlTUXpFYUFtUmxJQUVhQmdpQW9LdTFCZyc7dmFyIHNDUlM9J0NBRVNIQWdCRWhKbmQzTmZNakF5TkRBM01qUXRNRjlTUXpFYUFtUmxJQUVhQmdpQW9LdTFCZyc7dmFyIHNMPTM0MTI4MDAwO3ZhciBzRUU9ZmFsc2U7dmFyIHNJVT0naHR0cHM6Ly9hY2NvdW50cy5nb29nbGUuY29tL1NlcnZpY2VMb2dpbj9obFx4M2RkZVx4MjZjb250aW51ZVx4M2RodHRwczovL3d3dy5nb29nbGUuY29tL1x4MjZnYWVceDNkY2Itbm9uZSc7dmFyIGNVPSdodHRwczovL2NvbnNlbnQuZ29vZ2xlLmNvbS9kP2NvbnRpbnVlXHgzZGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vXHgyNmdsXHgzZExVXHgyNm1ceDNkMFx4MjZwY1x4M2RzaHBceDI2dXhlXHgzZG5vbmVceDI2Y21ceDNkMlx4MjZobFx4M2RkZVx4MjZzcmNceDNkMic7dmFyIHJQVT0nJzt2YXIgclBPVT1bXTt2YXIgYUFVPSdodHRwczovL2NvbnNlbnQuZ29vZ2xlLmNvbS9zYXZlP2NvbnRpbnVlXHgzZGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vXHgyNmdsXHgzZExVXHgyNm1ceDNkMFx4MjZwY1x4M2RzaHBceDI2eFx4M2Q1XHgyNnNyY1x4M2QyXHgyNmhsXHgzZGRlXHgyNmJsXHgzZGd3c18yMDI0MDcyNC0wX1JDMVx4MjZ1eGVceDNkbm9uZVx4MjZjbVx4M2QyXHgyNnNldF9lb21ceDNkZmFsc2VceDI2c2V0X2Fwc1x4M2R0cnVlXHgyNnNldF9zY1x4M2R0cnVlJzt2YXIgckFVPSdodHRwczovL2NvbnNlbnQuZ29vZ2xlLmNvbS9zYXZlP2NvbnRpbnVlXHgzZGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vXHgyNmdsXHgzZExVXHgyNm1ceDNkMFx4MjZwY1x4M2RzaHBceDI2eFx4M2Q1XHgyNnNyY1x4M2QyXHgyNmhsXHgzZGRlXHgyNmJsXHgzZGd3c18yMDI0MDcyNC0wX1JDMVx4MjZ1eGVceDNkbm9uZVx4MjZjbVx4M2QyXHgyNnNldF9lb21ceDNkdHJ1ZSc7dmFyIHBDPSdTRUFSQ0hfSE9NRVBBR0UnO3ZhciBnTD0nbHUnO3ZhciBpc01vYmlsZT1mYWxzZTt2YXIgc3JwPWZhbHNlO3ZhciB1WEpTPWZhbHNlO3ZhciBpRU89dHJ1ZTt2YXIgdVdDPWZhbHNlO3ZhciBpU1I9ZmFsc2U7dmFyIGFhPWZ1bmN0aW9uKGEpe3ZhciBiPTA7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGI8YS5sZW5ndGg/e2RvbmU6ITEsdmFsdWU6YVtiKytdfTp7ZG9uZTohMH19fSxiYT10eXBlb2YgT2JqZWN0LmRlZmluZVByb3BlcnRpZXM9PSJmdW5jdGlvbiI/T2JqZWN0LmRlZmluZVByb3BlcnR5OmZ1bmN0aW9uKGEsYixjKXtpZihhPT1BcnJheS5wcm90b3R5cGV8fGE9PU9iamVjdC5wcm90b3R5cGUpcmV0dXJuIGE7YVtiXT1jLnZhbHVlO3JldHVybiBhfSxjYT1mdW5jdGlvbihhKXthPVsib2JqZWN0Ij09dHlwZW9mIGdsb2JhbFRoaXMmJmdsb2JhbFRoaXMsYSwib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmd2luZG93LCJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiwib2JqZWN0Ij09dHlwZW9mIGdsb2JhbCYmZ2xvYmFsXTtmb3IodmFyIGI9MDtiPGEubGVuZ3RoOysrYil7dmFyIGM9YVtiXTtpZihjJiZjLk1hdGg9PU1hdGgpcmV0dXJuIGN9dGhyb3cgRXJyb3IoImEiKTt9LGRhPWNhKHRoaXMpLHA9ZnVuY3Rpb24oYSxiKXtpZihiKWE6e3ZhciBjPWRhO2E9YS5zcGxpdCgiLiIpO2Zvcih2YXIgZD0wO2Q8YS5sZW5ndGgtMTtkKyspe3ZhciBmPWFbZF07aWYoIShmIGluIGMpKWJyZWFrIGE7Yz1jW2ZdfWE9YVthLmxlbmd0aC0xXTtkPWNbYV07Yj1iKGQpO2IhPWQmJmIhPW51bGwmJmJhKGMsYSx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX19O3AoIlN5bWJvbCIsZnVuY3Rpb24oYSl7aWYoYSlyZXR1cm4gYTt2YXIgYj1mdW5jdGlvbihlLGcpe3RoaXMuZz1lO2JhKHRoaXMsImRlc2NyaXB0aW9uIix7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmd9KX07Yi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nfTt2YXIgYz0ianNjb21wX3N5bWJvbF8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApKyJfIixkPTAsZj1mdW5jdGlvbihlKXtpZih0aGlzIGluc3RhbmNlb2YgZil0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wgaXMgbm90IGEgY29uc3RydWN0b3IiKTtyZXR1cm4gbmV3IGIoYysoZXx8IiIpKyJfIitkKyssZSl9O3JldHVybiBmfSk7cCgiU3ltYm9sLml0ZXJhdG9yIixmdW5jdGlvbihhKXtpZihhKXJldHVybiBhO2E9U3ltYm9sKCJTeW1ib2wuaXRlcmF0b3IiKTtmb3IodmFyIGI9IkFycmF5IEludDhBcnJheSBVaW50OEFycmF5IFVpbnQ4Q2xhbXBlZEFycmF5IEludDE2QXJyYXkgVWludDE2QXJyYXkgSW50MzJBcnJheSBVaW50MzJBcnJheSBGbG9hdDMyQXJyYXkgRmxvYXQ2NEFycmF5Ii5zcGxpdCgiICIpLGM9MDtjPGIubGVuZ3RoO2MrKyl7dmFyIGQ9ZGFbYltjXV07dHlwZW9mIGQ9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgZC5wcm90b3R5cGVbYV0hPSJmdW5jdGlvbiImJmJhKGQucHJvdG90eXBlLGEse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBlYShhYSh0aGlzKSl9fSl9cmV0dXJuIGF9KTt2YXIgZWE9ZnVuY3Rpb24oYSl7YT17bmV4dDphfTthW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc307cmV0dXJuIGF9LHE9ZnVuY3Rpb24oYSl7dmFyIGI9dHlwZW9mIFN5bWJvbCE9InVuZGVmaW5lZCImJlN5bWJvbC5pdGVyYXRvciYmYVtTeW1ib2wuaXRlcmF0b3JdO2lmKGIpcmV0dXJuIGIuY2FsbChhKTtpZih0eXBlb2YgYS5sZW5ndGg9PSJudW1iZXIiKXJldHVybntuZXh0OmFhKGEpfTt0aHJvdyBFcnJvcigiYmAiK1N0cmluZyhhKSk7fSxmYT10eXBlb2YgT2JqZWN0LmNyZWF0ZT09ImZ1bmN0aW9uIj9PYmplY3QuY3JlYXRlOmZ1bmN0aW9uKGEpe3ZhciBiPWZ1bmN0aW9uKCl7fTtiLnByb3RvdHlwZT1hO3JldHVybiBuZXcgYn0saGE7aWYodHlwZW9mIE9iamVjdC5zZXRQcm90b3R5cGVPZj09ImZ1bmN0aW9uIiloYT1PYmplY3Quc2V0UHJvdG90eXBlT2Y7ZWxzZXt2YXIgaWE7YTp7dmFyIGphPXthOiEwfSxrYT17fTt0cnl7a2EuX19wcm90b19fPWphO2lhPWthLmE7YnJlYWsgYX1jYXRjaChhKXt9aWE9ITF9aGE9aWE/ZnVuY3Rpb24oYSxiKXthLl9fcHJvdG9fXz1iO2lmKGEuX19wcm90b19fIT09Yil0aHJvdyBuZXcgVHlwZUVycm9yKGErIiBpcyBub3QgZXh0ZW5zaWJsZSIpO3JldHVybiBhfTpudWxsfXZhciBsYT1oYSxyPWZ1bmN0aW9uKGEsYil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLGIpfTtwKCJXZWFrTWFwIixmdW5jdGlvbihhKXtmdW5jdGlvbiBiKCl7fWZ1bmN0aW9uIGMoayl7dmFyIGw9dHlwZW9mIGs7cmV0dXJuIGw9PT0ib2JqZWN0IiYmayE9PW51bGx8fGw9PT0iZnVuY3Rpb24ifWZ1bmN0aW9uIGQoayl7aWYoIXIoayxlKSl7dmFyIGw9bmV3IGI7YmEoayxlLHt2YWx1ZTpsfSl9fWZ1bmN0aW9uIGYoayl7dmFyIGw9T2JqZWN0W2tdO2wmJihPYmplY3Rba109ZnVuY3Rpb24obSl7aWYobSBpbnN0YW5jZW9mIGIpcmV0dXJuIG07T2JqZWN0LmlzRXh0ZW5zaWJsZShtKSYmZChtKTtyZXR1cm4gbChtKX0pfWlmKGZ1bmN0aW9uKCl7aWYoIWF8fCFPYmplY3Quc2VhbClyZXR1cm4hMTt0cnl7dmFyIGs9T2JqZWN0LnNlYWwoe30pLGw9T2JqZWN0LnNlYWwoe30pLG09bmV3IGEoW1trLDJdLFtsLDNdXSk7aWYobS5nZXQoaykhPTJ8fG0uZ2V0KGwpIT0zKXJldHVybiExO20uZGVsZXRlKGspO20uc2V0KGwsNCk7cmV0dXJuIW0uaGFzKGspJiZtLmdldChsKT09NH1jYXRjaChuKXtyZXR1cm4hMX19KCkpcmV0dXJuIGE7dmFyIGU9IiRqc2NvbXBfaGlkZGVuXyIrTWF0aC5yYW5kb20oKTtmKCJmcmVlemUiKTtmKCJwcmV2ZW50RXh0ZW5zaW9ucyIpO2YoInNlYWwiKTt2YXIgZz0wLGg9ZnVuY3Rpb24oayl7dGhpcy5nPShnKz1NYXRoLnJhbmRvbSgpKzEpLnRvU3RyaW5nKCk7aWYoayl7az1xKGspO2Zvcih2YXIgbDshKGw9ay5uZXh0KCkpLmRvbmU7KWw9bC52YWx1ZSx0aGlzLnNldChsWzBdLGxbMV0pfX07aC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGssbCl7aWYoIWMoaykpdGhyb3cgRXJyb3IoImMiKTtkKGspO2lmKCFyKGssZSkpdGhyb3cgRXJyb3IoImRgIitrKTtrW2VdW3RoaXMuZ109bDtyZXR1cm4gdGhpc307aC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGspe3JldHVybiBjKGspJiZyKGssZSk/a1tlXVt0aGlzLmddOnZvaWQgMH07aC5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGspe3JldHVybiBjKGspJiZyKGssZSkmJnIoa1tlXSx0aGlzLmcpfTtoLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24oayl7cmV0dXJuIGMoaykmJgpyKGssZSkmJnIoa1tlXSx0aGlzLmcpP2RlbGV0ZSBrW2VdW3RoaXMuZ106ITF9O3JldHVybiBofSk7cCgiTWFwIixmdW5jdGlvbihhKXtpZihmdW5jdGlvbigpe2lmKCFhfHx0eXBlb2YgYSE9ImZ1bmN0aW9uInx8IWEucHJvdG90eXBlLmVudHJpZXN8fHR5cGVvZiBPYmplY3Quc2VhbCE9ImZ1bmN0aW9uIilyZXR1cm4hMTt0cnl7dmFyIGg9T2JqZWN0LnNlYWwoe3g6NH0pLGs9bmV3IGEocShbW2gsInMiXV0pKTtpZihrLmdldChoKSE9InMifHxrLnNpemUhPTF8fGsuZ2V0KHt4OjR9KXx8ay5zZXQoe3g6NH0sInQiKSE9a3x8ay5zaXplIT0yKXJldHVybiExO3ZhciBsPWsuZW50cmllcygpLG09bC5uZXh0KCk7aWYobS5kb25lfHxtLnZhbHVlWzBdIT1ofHxtLnZhbHVlWzFdIT0icyIpcmV0dXJuITE7bT1sLm5leHQoKTtyZXR1cm4gbS5kb25lfHxtLnZhbHVlWzBdLnghPTR8fG0udmFsdWVbMV0hPSJ0Inx8IWwubmV4dCgpLmRvbmU/ITE6ITB9Y2F0Y2gobil7cmV0dXJuITF9fSgpKXJldHVybiBhO3ZhciBiPW5ldyBXZWFrTWFwLGM9ZnVuY3Rpb24oaCl7dGhpc1swXT17fTt0aGlzWzFdPQplKCk7dGhpcy5zaXplPTA7aWYoaCl7aD1xKGgpO2Zvcih2YXIgazshKGs9aC5uZXh0KCkpLmRvbmU7KWs9ay52YWx1ZSx0aGlzLnNldChrWzBdLGtbMV0pfX07Yy5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGgsayl7aD1oPT09MD8wOmg7dmFyIGw9ZCh0aGlzLGgpO2wubGlzdHx8KGwubGlzdD10aGlzWzBdW2wuaWRdPVtdKTtsLnM/bC5zLnZhbHVlPWs6KGwucz17bmV4dDp0aGlzWzFdLEM6dGhpc1sxXS5DLGhlYWQ6dGhpc1sxXSxrZXk6aCx2YWx1ZTprfSxsLmxpc3QucHVzaChsLnMpLHRoaXNbMV0uQy5uZXh0PWwucyx0aGlzWzFdLkM9bC5zLHRoaXMuc2l6ZSsrKTtyZXR1cm4gdGhpc307Yy5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKGgpe2g9ZCh0aGlzLGgpO3JldHVybiBoLnMmJmgubGlzdD8oaC5saXN0LnNwbGljZShoLmluZGV4LDEpLGgubGlzdC5sZW5ndGh8fGRlbGV0ZSB0aGlzWzBdW2guaWRdLGgucy5DLm5leHQ9aC5zLm5leHQsaC5zLm5leHQuQz1oLnMuQyxoLnMuaGVhZD0KbnVsbCx0aGlzLnNpemUtLSwhMCk6ITF9O2MucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpc1swXT17fTt0aGlzWzFdPXRoaXNbMV0uQz1lKCk7dGhpcy5zaXplPTB9O2MucHJvdG90eXBlLmhhcz1mdW5jdGlvbihoKXtyZXR1cm4hIWQodGhpcyxoKS5zfTtjLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oaCl7cmV0dXJuKGg9ZCh0aGlzLGgpLnMpJiZoLnZhbHVlfTtjLnByb3RvdHlwZS5lbnRyaWVzPWZ1bmN0aW9uKCl7cmV0dXJuIGYodGhpcyxmdW5jdGlvbihoKXtyZXR1cm5baC5rZXksaC52YWx1ZV19KX07Yy5wcm90b3R5cGUua2V5cz1mdW5jdGlvbigpe3JldHVybiBmKHRoaXMsZnVuY3Rpb24oaCl7cmV0dXJuIGgua2V5fSl9O2MucHJvdG90eXBlLnZhbHVlcz1mdW5jdGlvbigpe3JldHVybiBmKHRoaXMsZnVuY3Rpb24oaCl7cmV0dXJuIGgudmFsdWV9KX07Yy5wcm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbihoLGspe2Zvcih2YXIgbD10aGlzLmVudHJpZXMoKSxtOyEobT1sLm5leHQoKSkuZG9uZTspbT0KbS52YWx1ZSxoLmNhbGwoayxtWzFdLG1bMF0sdGhpcyl9O2MucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl09Yy5wcm90b3R5cGUuZW50cmllczt2YXIgZD1mdW5jdGlvbihoLGspe3ZhciBsPWsmJnR5cGVvZiBrO2w9PSJvYmplY3QifHxsPT0iZnVuY3Rpb24iP2IuaGFzKGspP2w9Yi5nZXQoayk6KGw9IiIrICsrZyxiLnNldChrLGwpKTpsPSJwXyIrazt2YXIgbT1oWzBdW2xdO2lmKG0mJnIoaFswXSxsKSlmb3IoaD0wO2g8bS5sZW5ndGg7aCsrKXt2YXIgbj1tW2hdO2lmKGshPT1rJiZuLmtleSE9PW4ua2V5fHxrPT09bi5rZXkpcmV0dXJue2lkOmwsbGlzdDptLGluZGV4OmgsczpufX1yZXR1cm57aWQ6bCxsaXN0Om0saW5kZXg6LTEsczp2b2lkIDB9fSxmPWZ1bmN0aW9uKGgsayl7dmFyIGw9aFsxXTtyZXR1cm4gZWEoZnVuY3Rpb24oKXtpZihsKXtmb3IoO2wuaGVhZCE9aFsxXTspbD1sLkM7Zm9yKDtsLm5leHQhPWwuaGVhZDspcmV0dXJuIGw9bC5uZXh0LHtkb25lOiExLHZhbHVlOmsobCl9O2w9bnVsbH1yZXR1cm57ZG9uZTohMCx2YWx1ZTp2b2lkIDB9fSl9LGU9ZnVuY3Rpb24oKXt2YXIgaD17fTtyZXR1cm4gaC5DPWgubmV4dD1oLmhlYWQ9aH0sZz0wO3JldHVybiBjfSk7cCgiT2JqZWN0LnZhbHVlcyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXt2YXIgYz1bXSxkO2ZvcihkIGluIGIpcihiLGQpJiZjLnB1c2goYltkXSk7cmV0dXJuIGN9fSk7cCgiT2JqZWN0LmlzIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIsYyl7cmV0dXJuIGI9PT1jP2IhPT0wfHwxL2I9PT0xL2M6YiE9PWImJmMhPT1jfX0pO3AoIkFycmF5LnByb3RvdHlwZS5pbmNsdWRlcyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe3ZhciBkPXRoaXM7ZCBpbnN0YW5jZW9mIFN0cmluZyYmKGQ9U3RyaW5nKGQpKTt2YXIgZj1kLmxlbmd0aDtjPWN8fDA7Zm9yKGM8MCYmKGM9TWF0aC5tYXgoYytmLDApKTtjPGY7YysrKXt2YXIgZT1kW2NdO2lmKGU9PT1ifHxPYmplY3QuaXMoZSxiKSlyZXR1cm4hMH1yZXR1cm4hMX19KTtwKCJTdHJpbmcucHJvdG90eXBlLmluY2x1ZGVzIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIsYyl7aWYodGhpcz09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJUaGUgJ3RoaXMnIHZhbHVlIGZvciBTdHJpbmcucHJvdG90eXBlLmluY2x1ZGVzIG11c3Qgbm90IGJlIG51bGwgb3IgdW5kZWZpbmVkIik7aWYoYiBpbnN0YW5jZW9mIFJlZ0V4cCl0aHJvdyBuZXcgVHlwZUVycm9yKCJGaXJzdCBhcmd1bWVudCB0byBTdHJpbmcucHJvdG90eXBlLmluY2x1ZGVzIG11c3Qgbm90IGJlIGEgcmVndWxhciBleHByZXNzaW9uIik7cmV0dXJuKHRoaXMrIiIpLmluZGV4T2YoYixjfHwwKSE9PS0xfX0pO3AoIk51bWJlci5pc0Zpbml0ZSIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtyZXR1cm4gdHlwZW9mIGIhPT0ibnVtYmVyIj8hMTohaXNOYU4oYikmJmIhPT1JbmZpbml0eSYmYiE9PS1JbmZpbml0eX19KTt2YXIgbWE9ZnVuY3Rpb24oYSxiKXthIGluc3RhbmNlb2YgU3RyaW5nJiYoYSs9IiIpO3ZhciBjPTAsZD0hMSxmPXtuZXh0OmZ1bmN0aW9uKCl7aWYoIWQmJmM8YS5sZW5ndGgpe3ZhciBlPWMrKztyZXR1cm57dmFsdWU6YihlLGFbZV0pLGRvbmU6ITF9fWQ9ITA7cmV0dXJue2RvbmU6ITAsdmFsdWU6dm9pZCAwfX19O2ZbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiBmfTtyZXR1cm4gZn07cCgiQXJyYXkucHJvdG90eXBlLnZhbHVlcyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbigpe3JldHVybiBtYSh0aGlzLGZ1bmN0aW9uKGIsYyl7cmV0dXJuIGN9KX19KTtwKCJTZXQiLGZ1bmN0aW9uKGEpe2lmKGZ1bmN0aW9uKCl7aWYoIWF8fHR5cGVvZiBhIT0iZnVuY3Rpb24ifHwhYS5wcm90b3R5cGUuZW50cmllc3x8dHlwZW9mIE9iamVjdC5zZWFsIT0iZnVuY3Rpb24iKXJldHVybiExO3RyeXt2YXIgYz1PYmplY3Quc2VhbCh7eDo0fSksZD1uZXcgYShxKFtjXSkpO2lmKCFkLmhhcyhjKXx8ZC5zaXplIT0xfHxkLmFkZChjKSE9ZHx8ZC5zaXplIT0xfHxkLmFkZCh7eDo0fSkhPWR8fGQuc2l6ZSE9MilyZXR1cm4hMTt2YXIgZj1kLmVudHJpZXMoKSxlPWYubmV4dCgpO2lmKGUuZG9uZXx8ZS52YWx1ZVswXSE9Y3x8ZS52YWx1ZVsxXSE9YylyZXR1cm4hMTtlPWYubmV4dCgpO3JldHVybiBlLmRvbmV8fGUudmFsdWVbMF09PWN8fGUudmFsdWVbMF0ueCE9NHx8ZS52YWx1ZVsxXSE9ZS52YWx1ZVswXT8hMTpmLm5leHQoKS5kb25lfWNhdGNoKGcpe3JldHVybiExfX0oKSlyZXR1cm4gYTt2YXIgYj1mdW5jdGlvbihjKXt0aGlzLmc9bmV3IE1hcDtpZihjKXtjPQpxKGMpO2Zvcih2YXIgZDshKGQ9Yy5uZXh0KCkpLmRvbmU7KXRoaXMuYWRkKGQudmFsdWUpfXRoaXMuc2l6ZT10aGlzLmcuc2l6ZX07Yi5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGMpe2M9Yz09PTA/MDpjO3RoaXMuZy5zZXQoYyxjKTt0aGlzLnNpemU9dGhpcy5nLnNpemU7cmV0dXJuIHRoaXN9O2IucHJvdG90eXBlLmRlbGV0ZT1mdW5jdGlvbihjKXtjPXRoaXMuZy5kZWxldGUoYyk7dGhpcy5zaXplPXRoaXMuZy5zaXplO3JldHVybiBjfTtiLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuZy5jbGVhcigpO3RoaXMuc2l6ZT0wfTtiLnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24oYyl7cmV0dXJuIHRoaXMuZy5oYXMoYyl9O2IucHJvdG90eXBlLmVudHJpZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLmVudHJpZXMoKX07Yi5wcm90b3R5cGUudmFsdWVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZy52YWx1ZXMoKX07Yi5wcm90b3R5cGUua2V5cz1iLnByb3RvdHlwZS52YWx1ZXM7Yi5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1iLnByb3RvdHlwZS52YWx1ZXM7Yi5wcm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbihjLGQpe3ZhciBmPXRoaXM7dGhpcy5nLmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIGMuY2FsbChkLGUsZSxmKX0pfTtyZXR1cm4gYn0pOwp2YXIgdD10aGlzfHxzZWxmLG5hPWZ1bmN0aW9uKGEsYil7YTp7dmFyIGM9WyJDTE9TVVJFX0ZMQUdTIl07Zm9yKHZhciBkPXQsZj0wO2Y8Yy5sZW5ndGg7ZisrKWlmKGQ9ZFtjW2ZdXSxkPT1udWxsKXtjPW51bGw7YnJlYWsgYX1jPWR9YT1jJiZjW2FdO3JldHVybiBhIT1udWxsP2E6Yn07ZnVuY3Rpb24gdSgpe3Rocm93IEVycm9yKCJlIik7fWZ1bmN0aW9uIG9hKGEsYil7Yj1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYik7cmV0dXJuIGE9PW51bGw/YjphK2J9dmFyIHBhPXZvaWQgMCxxYSxyYT10eXBlb2YgVGV4dERlY29kZXIhPT0idW5kZWZpbmVkIjtmdW5jdGlvbiBzYShhKXt0LnNldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyBhO30sMCl9O3ZhciB0YT1TdHJpbmcucHJvdG90eXBlLnRyaW0/ZnVuY3Rpb24oYSl7cmV0dXJuIGEudHJpbSgpfTpmdW5jdGlvbihhKXtyZXR1cm4vXltcc1x4YTBdKihbXHNcU10qPylbXHNceGEwXSokLy5leGVjKGEpWzFdfTt2YXIgdWE9bmEoNjEwNDAxMzAxLCExKSx2YT1uYSgxODg1ODg3MzYsITApLHdhPW5hKDY0NTE3MjM0MyxuYSgxLCEwKSk7dmFyIHYseGE9dC5uYXZpZ2F0b3I7dj14YT94YS51c2VyQWdlbnREYXRhfHxudWxsOm51bGw7ZnVuY3Rpb24geWEoYSl7cmV0dXJuIHVhP3Y/di5icmFuZHMuc29tZShmdW5jdGlvbihiKXtyZXR1cm4oYj1iLmJyYW5kKSYmYi5pbmRleE9mKGEpIT0tMX0pOiExOiExfWZ1bmN0aW9uIHcoYSl7dmFyIGI7YTp7aWYoYj10Lm5hdmlnYXRvcilpZihiPWIudXNlckFnZW50KWJyZWFrIGE7Yj0iIn1yZXR1cm4gYi5pbmRleE9mKGEpIT0tMX07ZnVuY3Rpb24geSgpe3JldHVybiB1YT8hIXYmJnYuYnJhbmRzLmxlbmd0aD4wOiExfWZ1bmN0aW9uIHphKCl7cmV0dXJuIHcoIlNhZmFyaSIpJiYhKEFhKCl8fCh5KCk/MDp3KCJDb2FzdCIpKXx8KHkoKT8wOncoIk9wZXJhIikpfHwoeSgpPzA6dygiRWRnZSIpKXx8KHkoKT95YSgiTWljcm9zb2Z0IEVkZ2UiKTp3KCJFZGcvIikpfHwoeSgpP3lhKCJPcGVyYSIpOncoIk9QUiIpKXx8dygiRmlyZWZveCIpfHx3KCJGeGlPUyIpfHx3KCJTaWxrIil8fHcoIkFuZHJvaWQiKSl9ZnVuY3Rpb24gQWEoKXtyZXR1cm4geSgpP3lhKCJDaHJvbWl1bSIpOih3KCJDaHJvbWUiKXx8dygiQ3JpT1MiKSkmJiEoeSgpPzA6dygiRWRnZSIpKXx8dygiU2lsayIpfWZ1bmN0aW9uIEJhKCl7cmV0dXJuIHcoIkFuZHJvaWQiKSYmIShBYSgpfHx3KCJGaXJlZm94Iil8fHcoIkZ4aU9TIil8fCh5KCk/MDp3KCJPcGVyYSIpKXx8dygiU2lsayIpKX07dmFyIENhPUFycmF5LnByb3RvdHlwZS5pbmRleE9mP2Z1bmN0aW9uKGEsYil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoYSxiLHZvaWQgMCl9OmZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGE9PT0ic3RyaW5nIilyZXR1cm4gdHlwZW9mIGIhPT0ic3RyaW5nInx8Yi5sZW5ndGghPTE/LTE6YS5pbmRleE9mKGIsMCk7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspaWYoYyBpbiBhJiZhW2NdPT09YilyZXR1cm4gYztyZXR1cm4tMX0sRGE9QXJyYXkucHJvdG90eXBlLmZvckVhY2g/ZnVuY3Rpb24oYSxiLGMpe0FycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoYSxiLGMpfTpmdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPWEubGVuZ3RoLGY9dHlwZW9mIGE9PT0ic3RyaW5nIj9hLnNwbGl0KCIiKTphLGU9MDtlPGQ7ZSsrKWUgaW4gZiYmYi5jYWxsKGMsZltlXSxlLGEpfTt2YXIgRWE9eSgpPyExOncoIlRyaWRlbnQiKXx8dygiTVNJRSIpO0JhKCk7QWEoKTt6YSgpO3ZhciBGYT17fSx6PW51bGwsSmE9ZnVuY3Rpb24oKXt2YXIgYT1bXTtIYShJYSxmdW5jdGlvbihiKXthLnB1c2goYil9KTtyZXR1cm4gYX0sS2E9ZnVuY3Rpb24oYSl7dmFyIGI9YS5sZW5ndGgsYz1iKjMvNDtjJTM/Yz1NYXRoLmZsb29yKGMpOiI9LiIuaW5kZXhPZihhW2ItMV0pIT0tMSYmKGM9Ij0uIi5pbmRleE9mKGFbYi0yXSkhPS0xP2MtMjpjLTEpO3ZhciBkPW5ldyBVaW50OEFycmF5KGMpLGY9MDtIYShhLGZ1bmN0aW9uKGUpe2RbZisrXT1lfSk7cmV0dXJuIGYhPT1jP2Quc3ViYXJyYXkoMCxmKTpkfSxIYT1mdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoayl7Zm9yKDtkPGEubGVuZ3RoOyl7dmFyIGw9YS5jaGFyQXQoZCsrKSxtPXpbbF07aWYobSE9bnVsbClyZXR1cm4gbTtpZighL15bXHNceGEwXSokLy50ZXN0KGwpKXRocm93IEVycm9yKCJmYCIrbCk7fXJldHVybiBrfUxhKCk7Zm9yKHZhciBkPTA7Oyl7dmFyIGY9YygtMSksZT1jKDApLGc9Yyg2NCksaD1jKDY0KTtpZihoPT09CjY0JiZmPT09LTEpYnJlYWs7YihmPDwyfGU+PjQpO2chPTY0JiYoYihlPDw0JjI0MHxnPj4yKSxoIT02NCYmYihnPDw2JjE5MnxoKSl9fSxMYT1mdW5jdGlvbigpe2lmKCF6KXt6PXt9O2Zvcih2YXIgYT0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkiLnNwbGl0KCIiKSxiPVsiKy89IiwiKy8iLCItXz0iLCItXy4iLCItXyJdLGM9MDtjPDU7YysrKXt2YXIgZD1hLmNvbmNhdChiW2NdLnNwbGl0KCIiKSk7RmFbY109ZDtmb3IodmFyIGY9MDtmPGQubGVuZ3RoO2YrKyl7dmFyIGU9ZFtmXTt6W2VdPT09dm9pZCAwJiYoeltlXT1mKX19fX07dmFyIE1hPXR5cGVvZiBVaW50OEFycmF5IT09InVuZGVmaW5lZCIsTmE9IUVhJiZ0eXBlb2YgYnRvYT09PSJmdW5jdGlvbiI7ZnVuY3Rpb24gT2EoYSl7aWYoIU5hKXt2YXIgYjtiPT09dm9pZCAwJiYoYj0wKTtMYSgpO2I9RmFbYl07Zm9yKHZhciBjPUFycmF5KE1hdGguZmxvb3IoYS5sZW5ndGgvMykpLGQ9Yls2NF18fCIiLGY9MCxlPTA7ZjxhLmxlbmd0aC0yO2YrPTMpe3ZhciBnPWFbZl0saD1hW2YrMV0saz1hW2YrMl0sbD1iW2c+PjJdO2c9YlsoZyYzKTw8NHxoPj40XTtoPWJbKGgmMTUpPDwyfGs+PjZdO2s9YltrJjYzXTtjW2UrK109IiIrbCtnK2gra31sPTA7az1kO3N3aXRjaChhLmxlbmd0aC1mKXtjYXNlIDI6bD1hW2YrMV0saz1iWyhsJjE1KTw8Ml18fGQ7Y2FzZSAxOmE9YVtmXSxjW2VdPSIiK2JbYT4+Ml0rYlsoYSYzKTw8NHxsPj40XStrK2R9cmV0dXJuIGMuam9pbigiIil9Yj0iIjtjPTA7Zm9yKGQ9YS5sZW5ndGgtMTAyNDA7YzxkOyliKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYS5zdWJhcnJheShjLGMrPTEwMjQwKSk7Yis9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGM/YS5zdWJhcnJheShjKTphKTtyZXR1cm4gYnRvYShiKX12YXIgUGE9L1stXy5dL2csUWE9eyItIjoiKyIsXzoiLyIsIi4iOiI9In07ZnVuY3Rpb24gUmEoYSl7cmV0dXJuIFFhW2FdfHwiIn1mdW5jdGlvbiBTYShhKXtpZighTmEpcmV0dXJuIEthKGEpO1BhLnRlc3QoYSkmJihhPWEucmVwbGFjZShQYSxSYSkpO2E9YXRvYihhKTtmb3IodmFyIGI9bmV3IFVpbnQ4QXJyYXkoYS5sZW5ndGgpLGM9MDtjPGEubGVuZ3RoO2MrKyliW2NdPWEuY2hhckNvZGVBdChjKTtyZXR1cm4gYn12YXIgQT17fTt2YXIgVGEsQj1mdW5jdGlvbihhLGIpe2lmKGIhPT1BKXRocm93IEVycm9yKCJnIik7dGhpcy5nPWE7aWYoYSE9bnVsbCYmYS5sZW5ndGg9PT0wKXRocm93IEVycm9yKCJoIik7fTt2YXIgVWE7dmFyIFZhPXR5cGVvZiBTeW1ib2w9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgU3ltYm9sKCk9PT0ic3ltYm9sIjtmdW5jdGlvbiBXYShhKXtyZXR1cm4gdHlwZW9mIFN5bWJvbD09PSJmdW5jdGlvbiImJnR5cGVvZiBTeW1ib2woKT09PSJzeW1ib2wiP1N5bWJvbCgpOmF9dmFyIEM9V2EoKSxYYT1XYSgiMmV4Iik7dmFyIFlhPVZhP2Z1bmN0aW9uKGEsYil7YVtDXXw9Yn06ZnVuY3Rpb24oYSxiKXthLkQhPT12b2lkIDA/YS5EfD1iOk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGEse0Q6e3ZhbHVlOmIsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9fSl9LEQ9VmE/ZnVuY3Rpb24oYSl7cmV0dXJuIGFbQ118MH06ZnVuY3Rpb24oYSl7cmV0dXJuIGEuRHwwfSxFPVZhP2Z1bmN0aW9uKGEpe3JldHVybiBhW0NdfTpmdW5jdGlvbihhKXtyZXR1cm4gYS5EfSxGPVZhP2Z1bmN0aW9uKGEsYil7YVtDXT1ifTpmdW5jdGlvbihhLGIpe2EuRCE9PXZvaWQgMD9hLkQ9YjpPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhLHtEOnt2YWx1ZTpiLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCxlbnVtZXJhYmxlOiExfX0pfTtmdW5jdGlvbiBaYShhLGIpe0YoYiwoYXwwKSYtMTQ1OTEpfWZ1bmN0aW9uICRhKGEsYil7RihiLChhfDM0KSYtMTQ1NTcpfTt2YXIgYWI9e30sYmI9e307ZnVuY3Rpb24gY2IoYSl7cmV0dXJuISghYXx8dHlwZW9mIGEhPT0ib2JqZWN0Inx8YS5nIT09YmIpfWZ1bmN0aW9uIGRiKGEpe3JldHVybiBhIT09bnVsbCYmdHlwZW9mIGE9PT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkoYSkmJmEuY29uc3RydWN0b3I9PT1PYmplY3R9ZnVuY3Rpb24gZWIoYSxiLGMpe2lmKCFBcnJheS5pc0FycmF5KGEpfHxhLmxlbmd0aClyZXR1cm4hMTt2YXIgZD1EKGEpO2lmKGQmMSlyZXR1cm4hMDtpZighKGImJihBcnJheS5pc0FycmF5KGIpP2IuaW5jbHVkZXMoYyk6Yi5oYXMoYykpKSlyZXR1cm4hMTtGKGEsZHwxKTtyZXR1cm4hMH12YXIgRztmdW5jdGlvbiBmYihhLGIpeyhiPUc/YltHXTp2b2lkIDApJiYoYVtHXT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChiKSl9dmFyIGdiO3ZhciBoYj10eXBlb2YgVWludDhBcnJheS5wcm90b3R5cGUuc2xpY2U9PT0iZnVuY3Rpb24iO3ZhciBpYixqYixrYjtmdW5jdGlvbiBsYihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgImJvb2xlYW4iOnJldHVybiBqYnx8KGpiPVswLHZvaWQgMCwhMF0pO2Nhc2UgIm51bWJlciI6cmV0dXJuIGE+MD92b2lkIDA6YT09PTA/a2J8fChrYj1bMCx2b2lkIDBdKTpbLWEsdm9pZCAwXTtjYXNlICJzdHJpbmciOnJldHVyblswLGFdO2Nhc2UgIm9iamVjdCI6cmV0dXJuIGF9fQpmdW5jdGlvbiBtYihhLGIsYyl7YT09bnVsbCYmKGE9aWIpO2liPXZvaWQgMDtpZihhPT1udWxsKXt2YXIgZD05NjtjPyhhPVtjXSxkfD01MTIpOmE9W107YiYmKGQ9ZCYtMTY3NjA4MzN8KGImMTAyMyk8PDE0KX1lbHNle2lmKCFBcnJheS5pc0FycmF5KGEpKXRocm93IEVycm9yKCJpIik7ZD1EKGEpO2lmKGQmMjA0OCl0aHJvdyBFcnJvcigiaiIpO2lmKGQmNjQpcmV0dXJuIGE7ZHw9NjQ7aWYoYyYmKGR8PTUxMixjIT09YVswXSkpdGhyb3cgRXJyb3IoImsiKTthOntjPWE7dmFyIGY9Yy5sZW5ndGg7aWYoZil7dmFyIGU9Zi0xO2lmKGRiKGNbZV0pKXtkfD0yNTY7Yj1lLSgrISEoZCY1MTIpLTEpO2lmKGI+PTEwMjQpdGhyb3cgRXJyb3IoImwiKTtkPWQmLTE2NzYwODMzfChiJjEwMjMpPDwxNDticmVhayBhfX1pZihiKXtiPU1hdGgubWF4KGIsZi0oKyEhKGQmNTEyKS0xKSk7aWYoYj4xMDI0KXRocm93IEVycm9yKCJtIik7ZD1kJi0xNjc2MDgzM3woYiYxMDIzKTw8MTR9fX1GKGEsZCk7cmV0dXJuIGF9O2Z1bmN0aW9uIG5iKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAibnVtYmVyIjpyZXR1cm4gaXNGaW5pdGUoYSk/YTpTdHJpbmcoYSk7Y2FzZSAiYm9vbGVhbiI6cmV0dXJuIGE/MTowO2Nhc2UgIm9iamVjdCI6aWYoYSlpZihBcnJheS5pc0FycmF5KGEpKXtpZihlYihhLHZvaWQgMCwwKSlyZXR1cm59ZWxzZXtpZihNYSYmYSE9bnVsbCYmYSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpcmV0dXJuIE9hKGEpO2lmKGEgaW5zdGFuY2VvZiBCKXt2YXIgYj1hLmc7cmV0dXJuIGI9PW51bGw/IiI6dHlwZW9mIGI9PT0ic3RyaW5nIj9iOmEuZz1PYShiKX19fXJldHVybiBhfTtmdW5jdGlvbiBvYihhLGIsYyl7dmFyIGQ9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYSksZj1kLmxlbmd0aCxlPWImMjU2P2RbZi0xXTp2b2lkIDA7Zis9ZT8tMTowO2ZvcihiPWImNTEyPzE6MDtiPGY7YisrKWRbYl09YyhkW2JdKTtpZihlKXtiPWRbYl09e307Zm9yKHZhciBnIGluIGUpYltnXT1jKGVbZ10pfWZiKGQsYSk7cmV0dXJuIGR9ZnVuY3Rpb24gcGIoYSxiLGMsZCxmKXtpZihhIT1udWxsKXtpZihBcnJheS5pc0FycmF5KGEpKWE9ZWIoYSx2b2lkIDAsMCk/dm9pZCAwOmYmJkQoYSkmMj9hOnFiKGEsYixjLGQhPT12b2lkIDAsZik7ZWxzZSBpZihkYihhKSl7dmFyIGU9e30sZztmb3IoZyBpbiBhKWVbZ109cGIoYVtnXSxiLGMsZCxmKTthPWV9ZWxzZSBhPWIoYSxkKTtyZXR1cm4gYX19CmZ1bmN0aW9uIHFiKGEsYixjLGQsZil7dmFyIGU9ZHx8Yz9EKGEpOjA7ZD1kPyEhKGUmMzIpOnZvaWQgMDtmb3IodmFyIGc9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYSksaD0wO2g8Zy5sZW5ndGg7aCsrKWdbaF09cGIoZ1toXSxiLGMsZCxmKTtjJiYoZmIoZyxhKSxjKGUsZykpO3JldHVybiBnfWZ1bmN0aW9uIHJiKGEpe3JldHVybiBhLmNhPT09YWI/YS50b0pTT04oKTpuYihhKX07ZnVuY3Rpb24gc2IoYSxiLGMpe2M9Yz09PXZvaWQgMD8kYTpjO2lmKGEhPW51bGwpe2lmKE1hJiZhIGluc3RhbmNlb2YgVWludDhBcnJheSlyZXR1cm4gYj9hOm5ldyBVaW50OEFycmF5KGEpO2lmKEFycmF5LmlzQXJyYXkoYSkpe3ZhciBkPUQoYSk7aWYoZCYyKXJldHVybiBhO2ImJihiPWQ9PT0wfHwhIShkJjMyKSYmIShkJjY0fHwhKGQmMTYpKSk7cmV0dXJuIGI/KEYoYSwoZHwzNCkmLTEyMjkzKSxhKTpxYihhLHNiLGQmND8kYTpjLCEwLCEwKX1hLmNhPT09YWImJihjPWEuQixkPUUoYyksYT1kJjI/YTp0YihhLGMsZCwhMCkpO3JldHVybiBhfX1mdW5jdGlvbiB0YihhLGIsYyxkKXthPWEuY29uc3RydWN0b3I7aWI9Yj11YihiLGMsZCk7Yj1uZXcgYShiKTtpYj12b2lkIDA7cmV0dXJuIGJ9CmZ1bmN0aW9uIHViKGEsYixjKXt2YXIgZD1jfHxiJjI/JGE6WmEsZj0hIShiJjMyKTthPW9iKGEsYixmdW5jdGlvbihlKXtyZXR1cm4gc2IoZSxmLGQpfSk7WWEoYSwzMnwoYz8yOjApKTtyZXR1cm4gYX07ZnVuY3Rpb24gdmIoYSxiLGMsZCl7Yj1kKygrISEoYiY1MTIpLTEpO2lmKCEoYjwwfHxiPj1hLmxlbmd0aHx8Yj49YykpcmV0dXJuIGFbYl19CnZhciB3Yj1mdW5jdGlvbihhLGIsYyxkKXtpZihjPT09LTEpcmV0dXJuIG51bGw7dmFyIGY9Yj4+MTQmMTAyM3x8NTM2ODcwOTEyO2lmKGM+PWYpe2lmKGImMjU2KXJldHVybiBhW2EubGVuZ3RoLTFdW2NdfWVsc2V7dmFyIGU9YS5sZW5ndGg7aWYoZCYmYiYyNTYmJihkPWFbZS0xXVtjXSxkIT1udWxsKSl7aWYodmIoYSxiLGYsYykmJlhhIT1udWxsKXt2YXIgZzthPShnPVVhKSE9bnVsbD9nOlVhPXt9O2c9YVtYYV18fDA7Zz49NHx8KGFbWGFdPWcrMSxnPUVycm9yKCksZy5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODJ8fChnLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mj17fSksZy5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODIuc2V2ZXJpdHk9ImluY2lkZW50IixzYShnKSl9cmV0dXJuIGR9cmV0dXJuIHZiKGEsYixmLGMpfX07ZnVuY3Rpb24gSChhLGIsYyxkLGYpe3ZhciBlPWI+PjE0JjEwMjN8fDUzNjg3MDkxMjtpZihjPj1lfHxmJiYhd2Epe3ZhciBnPWI7aWYoYiYyNTYpZj1hW2EubGVuZ3RoLTFdO2Vsc2V7aWYoZD09bnVsbClyZXR1cm47Zj1hW2UrKCshIShiJjUxMiktMSldPXt9O2d8PTI1Nn1mW2NdPWQ7YzxlJiYoYVtjKygrISEoYiY1MTIpLTEpXT12b2lkIDApO2chPT1iJiZGKGEsZyl9ZWxzZSBhW2MrKCshIShiJjUxMiktMSldPWQsYiYyNTYmJihhPWFbYS5sZW5ndGgtMV0sYyBpbiBhJiZkZWxldGUgYVtjXSl9CnZhciB4Yj1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZj1FKGEpLGU9d2IoYSxmLGMsZCk7aWYoZSE9bnVsbCYmZS5jYT09PWFiKXtiPWUuQjt2YXIgZz1FKGIpO2I9ZyYyP3RiKGUsYixnLCExKTplO2IhPT1lJiZIKGEsZixjLGIsZCk7cmV0dXJuIGIuQn1pZihBcnJheS5pc0FycmF5KGUpKXt2YXIgaD1EKGUpO2gmMj9nPXViKGUsaCwhMSk6Zz1lO2c9bWIoZyxiWzBdLGJbMV0pfWVsc2UgZz1tYih2b2lkIDAsYlswXSxiWzFdKTtnIT09ZSYmSChhLGYsYyxnLGQpO3JldHVybiBnfTtmdW5jdGlvbiB5YihhKXtpZih0eXBlb2YgYT09PSJzdHJpbmciKXJldHVybntidWZmZXI6U2EoYSksSTohMX07aWYoQXJyYXkuaXNBcnJheShhKSlyZXR1cm57YnVmZmVyOm5ldyBVaW50OEFycmF5KGEpLEk6ITF9O2lmKGEuY29uc3RydWN0b3I9PT1VaW50OEFycmF5KXJldHVybntidWZmZXI6YSxJOiExfTtpZihhLmNvbnN0cnVjdG9yPT09QXJyYXlCdWZmZXIpcmV0dXJue2J1ZmZlcjpuZXcgVWludDhBcnJheShhKSxJOiExfTtpZihhLmNvbnN0cnVjdG9yPT09Qil7aWYoQSE9PUEpdGhyb3cgRXJyb3IoImciKTt2YXIgYj1hLmc7Yj1iPT1udWxsfHxNYSYmYiE9bnVsbCYmYiBpbnN0YW5jZW9mIFVpbnQ4QXJyYXk/Yjp0eXBlb2YgYj09PSJzdHJpbmciP1NhKGIpOm51bGw7cmV0dXJue2J1ZmZlcjooYj09bnVsbD9iOmEuZz1iKXx8bmV3IFVpbnQ4QXJyYXkoMCksSTohMH19aWYoYSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpcmV0dXJue2J1ZmZlcjpuZXcgVWludDhBcnJheShhLmJ1ZmZlcixhLmJ5dGVPZmZzZXQsYS5ieXRlTGVuZ3RoKSxJOiExfTt0aHJvdyBFcnJvcigidiIpO307dmFyIEFiPWZ1bmN0aW9uKGEsYil7dGhpcy5qPW51bGw7dGhpcy52PSExO3RoaXMuZz10aGlzLmk9dGhpcy5sPTA7emIodGhpcyxhLGIpfSx6Yj1mdW5jdGlvbihhLGIsYyl7Yz1jPT09dm9pZCAwP3t9OmM7YS5PPWMuTz09PXZvaWQgMD8hMTpjLk87YiYmKGI9eWIoYiksYS5qPWIuYnVmZmVyLGEudj1iLkksYS5sPTAsYS5pPWEuai5sZW5ndGgsYS5nPWEubCl9O0FiLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuaj1udWxsO3RoaXMudj0hMTt0aGlzLmc9dGhpcy5pPXRoaXMubD0wO3RoaXMuTz0hMX07dmFyIEk9ZnVuY3Rpb24oYSxiKXthLmc9YjtpZihiPmEuaSl0aHJvdyBFcnJvcigidGAiK2IrImAiK2EuaSk7fSxKPWZ1bmN0aW9uKGEpe3ZhciBiPWEuaixjPWEuZyxkPWJbYysrXSxmPWQmMTI3O2lmKGQmMTI4JiYoZD1iW2MrK10sZnw9KGQmMTI3KTw8NyxkJjEyOCYmKGQ9YltjKytdLGZ8PShkJjEyNyk8PDE0LGQmMTI4JiYoZD1iW2MrK10sZnw9KGQmMTI3KTw8MjEsZCYxMjgmJihkPWJbYysrXSxmfD1kPDwyOCxkJjEyOCYmYltjKytdJjEyOCYmYltjKytdJjEyOCYmYltjKytdJjEyOCYmYltjKytdJjEyOCYmYltjKytdJjEyOCkpKSkpdGhyb3cgRXJyb3IoInMiKTtJKGEsYyk7cmV0dXJuIGZ9LEJiPWZ1bmN0aW9uKGEsYil7aWYoYjwwKXRocm93IEVycm9yKCJ1YCIrYik7dmFyIGM9YS5nLGQ9YytiO2lmKGQ+YS5pKXRocm93IEVycm9yKCJ0YCIrKGEuaS1jKSsiYCIrYik7YS5nPWQ7cmV0dXJuIGN9LENiPVtdO3ZhciBFYj1mdW5jdGlvbihhLGIpe2lmKENiLmxlbmd0aCl7dmFyIGM9Q2IucG9wKCk7emIoYyxhLGIpO2E9Y31lbHNlIGE9bmV3IEFiKGEsYik7dGhpcy5nPWE7dGhpcy5qPXRoaXMuZy5nO3RoaXMuaT10aGlzLmw9LTE7RGIodGhpcyxiKX0sRGI9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/e306YjthLmJhPWIuYmE9PT12b2lkIDA/ITE6Yi5iYX0sRmI9ZnVuY3Rpb24oYSl7dmFyIGI9YS5nO2lmKGIuZz09Yi5pKXJldHVybiExO2Euaj1hLmcuZzt2YXIgYz1KKGEuZyk+Pj4wO2I9Yz4+PjM7YyY9NztpZighKGM+PTAmJmM8PTUpKXRocm93IEVycm9yKCJvYCIrYysiYCIrYS5qKTtpZihiPDEpdGhyb3cgRXJyb3IoInBgIitiKyJgIithLmopO2EubD1iO2EuaT1jO3JldHVybiEwfSxHYj1mdW5jdGlvbihhKXtzd2l0Y2goYS5pKXtjYXNlIDA6aWYoYS5pIT0wKUdiKGEpO2Vsc2UgYTp7YT1hLmc7Zm9yKHZhciBiPWEuZyxjPWIrMTAsZD1hLmo7YjxjOylpZigoZFtiKytdJjEyOCk9PT0KMCl7SShhLGIpO2JyZWFrIGF9dGhyb3cgRXJyb3IoInMiKTt9YnJlYWs7Y2FzZSAxOmE9YS5nO0koYSxhLmcrOCk7YnJlYWs7Y2FzZSAyOmEuaSE9Mj9HYihhKTooYj1KKGEuZyk+Pj4wLGE9YS5nLEkoYSxhLmcrYikpO2JyZWFrO2Nhc2UgNTphPWEuZztJKGEsYS5nKzQpO2JyZWFrO2Nhc2UgMzpiPWEubDtkb3tpZighRmIoYSkpdGhyb3cgRXJyb3IoInEiKTtpZihhLmk9PTQpe2lmKGEubCE9Yil0aHJvdyBFcnJvcigiciIpO2JyZWFrfUdiKGEpfXdoaWxlKDEpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoIm9gIithLmkrImAiK2Euaik7fX0sSGI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuZy5pLGY9SihhLmcpPj4+MCxlPWEuZy5nK2YsZz1lLWQ7Zzw9MCYmKGEuZy5pPWUsYyhiLGEsdm9pZCAwLHZvaWQgMCx2b2lkIDApLGc9ZS1hLmcuZyk7aWYoZyl0aHJvdyBFcnJvcigibmAiK2YrImAiKyhmLWcpKTthLmcuZz1lO2EuZy5pPWR9LEliPVtdO3ZhciBKYixLPWZ1bmN0aW9uKGEsYixjKXt0aGlzLkI9bWIoYSxiLGMpfTtLLnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm4gS2IodGhpcyl9O0sucHJvdG90eXBlLkk9ZnVuY3Rpb24oKXtyZXR1cm4hIShEKHRoaXMuQikmMil9O0sucHJvdG90eXBlLmNhPWFiO0sucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7dHJ5e3JldHVybiBKYj0hMCxLYih0aGlzKS50b1N0cmluZygpfWZpbmFsbHl7SmI9ITF9fTtmdW5jdGlvbiBLYihhKXt2YXIgYj1KYj9hLkI6cWIoYS5CLHJiLHZvaWQgMCx2b2lkIDAsITEpO3ZhciBjPSFKYjt2YXIgZD12YT92b2lkIDA6YS5jb25zdHJ1Y3Rvci52YTt2YXIgZj1FKGM/YS5COmIpO2lmKGE9Yi5sZW5ndGgpe3ZhciBlPWJbYS0xXSxnPWRiKGUpO2c/YS0tOmU9dm9pZCAwO2Y9KyEhKGYmNTEyKS0xO3ZhciBoPWI7aWYoZyl7Yjp7dmFyIGs9ZTt2YXIgbD17fTtnPSExO2lmKGspZm9yKHZhciBtIGluIGspaWYoaXNOYU4oK20pKWxbbV09a1ttXTtlbHNle3ZhciBuPWtbbV07QXJyYXkuaXNBcnJheShuKSYmKGViKG4sZCwrbSl8fGNiKG4pJiZuLnNpemU9PT0wKSYmKG49bnVsbCk7bj09bnVsbCYmKGc9ITApO24hPW51bGwmJihsW21dPW4pfWlmKGcpe2Zvcih2YXIgeCBpbiBsKWJyZWFrIGI7bD1udWxsfWVsc2UgbD1rfWs9bD09bnVsbD9lIT1udWxsOmwhPT1lfWZvcih2YXIgR2E7YT4wO2EtLSl7eD1hLTE7bT1oW3hdO3gtPWY7aWYoIShtPT1udWxsfHxlYihtLGQseCl8fGNiKG0pJiZtLnNpemU9PT0wKSlicmVhaztHYT0hMH1pZihoIT09Ynx8a3x8R2Epe2lmKCFjKWg9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoaCwwLGEpO2Vsc2UgaWYoR2F8fGt8fGwpaC5sZW5ndGg9YTtsJiZoLnB1c2gobCl9Yj1ofXJldHVybiBifTt2YXIgTD1mdW5jdGlvbihhLGIpe3RoaXMuZz1hO3RoaXMub2E9Yn07dmFyIExiPVN5bWJvbCgpO2Z1bmN0aW9uIE1iKGEpe3ZhciBiPWFbTGJdO2lmKCFiKXt2YXIgYz1OYihhKSxkPU9iKGEpLGY9ZC5qO2I9Zj9mdW5jdGlvbihlLGcpe3JldHVybiBmKGUsZyxkKX06ZnVuY3Rpb24oZSxnKXtmb3IoO0ZiKGcpJiZnLmkhPTQ7KXt2YXIgaD1nLmwsaz1kW2hdO2lmKCFrKXt2YXIgbD1kLm5hO2wmJihsPWxbaF0pJiYoaz1kW2hdPVBiKGwpKX1rJiZrKGcsZSxoKXx8KGg9ZyxrPWguaixHYihoKSxsPWgsbC5iYT9rPXZvaWQgMDooaD1sLmcuZy1rLGwuZy5nPWssbD1sLmcsaD09MD9oPVRhfHwoVGE9bmV3IEIobnVsbCxBKSk6KGs9QmIobCxoKSxsLk8mJmwudj9oPWwuai5zdWJhcnJheShrLGsraCk6KGw9bC5qLGg9aytoLGg9az09PWg/bmV3IFVpbnQ4QXJyYXkoMCk6aGI/bC5zbGljZShrLGgpOm5ldyBVaW50OEFycmF5KGwuc3ViYXJyYXkoayxoKSkpLGg9aC5sZW5ndGg9PTA/VGF8fChUYT1uZXcgQihudWxsLEEpKTpuZXcgQihoLEEpKSxrPWgpLGg9ZSxrJiYoR3x8KEc9U3ltYm9sKCkpLChsPWhbR10pP2wucHVzaChrKTpoW0ddPVtrXSkpfWM9PT1RYnx8Yz09PVJifHxjLmx8fChlW2difHwoZ2I9U3ltYm9sKCkpXT1jKX07YVtMYl09Yn1yZXR1cm4gYn1mdW5jdGlvbiBQYihhKXthPUFycmF5LmlzQXJyYXkoYSk/YVswXWluc3RhbmNlb2YgTD9hOltTYixhXTpbYSx2b2lkIDBdO3ZhciBiPWFbMF0uZztpZihhPWFbMV0pe3ZhciBjPU1iKGEpLGQ9T2IoYSkuUztyZXR1cm4gZnVuY3Rpb24oZixlLGcpe3JldHVybiBiKGYsZSxnLGQsYyl9fXJldHVybiBifXZhciBUYj1mdW5jdGlvbigpe30sUWIsUmIsTT1TeW1ib2woKTtmdW5jdGlvbiBVYihhLGIsYyl7dmFyIGQ9Y1sxXTtpZihkKXt2YXIgZj1kW01dO3ZhciBlPWY/Zi5TOmxiKGRbMF0pO2FbYl09ZiE9bnVsbD9mOmR9ZSYmZT09PWpiPyhhLmd8fChhLmc9bmV3IFNldCkpLmFkZChiKTpjWzBdJiYoYS5pfHwoYS5pPW5ldyBTZXQpKS5hZGQoYil9CmZ1bmN0aW9uIFZiKGEsYil7cmV0dXJuWyExLCFifHxiWzBdPjA/dm9pZCAwOmJdfWZ1bmN0aW9uIE5iKGEpe3ZhciBiPWFbTV07aWYoYilyZXR1cm4gYjtiPVdiKGEsYVtNXT1uZXcgVGIsVmIsVmIsVWIpO2lmKCFiLm5hJiYhYi5pJiYhYi5nKXt2YXIgYz0hMCxkO2ZvcihkIGluIGIpaXNOYU4oZCl8fChjPSExKTtjPyhsYihhWzBdKT09PWpiP1JiP2I9UmI6KGI9bmV3IFRiLGIuUz1sYighMCksYj1SYj1iKTpiPVFifHwoUWI9bmV3IFRiKSxiPWFbTV09Yik6Yi5sPSEwfXJldHVybiBifWZ1bmN0aW9uIFhiKGEsYixjKXthW2JdPWN9CmZ1bmN0aW9uIFdiKGEsYixjLGQsZil7Zj1mPT09dm9pZCAwP1hiOmY7Yi5TPWxiKGFbMF0pO3ZhciBlPTAsZz1hWysrZV07ZyYmZy5jb25zdHJ1Y3Rvcj09PU9iamVjdCYmKGIubmE9ZyxnPWFbKytlXSx0eXBlb2YgZz09PSJmdW5jdGlvbiImJihiLmo9ZyxiLnY9YVsrK2VdLGc9YVsrK2VdKSk7Zm9yKHZhciBoPXt9O0FycmF5LmlzQXJyYXkoZykmJnR5cGVvZiBnWzBdPT09Im51bWJlciImJmdbMF0+MDspe2Zvcih2YXIgaz0wO2s8Zy5sZW5ndGg7aysrKWhbZ1trXV09ZztnPWFbKytlXX1mb3Ioaz0xO2chPT12b2lkIDA7KXt0eXBlb2YgZz09PSJudW1iZXIiJiYoays9ZyxnPWFbKytlXSk7dmFyIGw9dm9pZCAwO2lmKGcgaW5zdGFuY2VvZiBMKXZhciBtPWc7ZWxzZSBtPVliLGUtLTtpZihtLm9hKXtnPWFbKytlXTtsPWE7dmFyIG49ZTt0eXBlb2YgZz09ImZ1bmN0aW9uIiYmKGc9ZygpLGxbbl09Zyk7bD1nfWc9YVsrK2VdO249aysxO3R5cGVvZiBnPT09Im51bWJlciImJmc8MCYmKG4tPQpnLGc9YVsrK2VdKTtmb3IoO2s8bjtrKyspe3ZhciB4PWhba107ZihiLGssbD9kKG0sbCx4KTpjKG0seCkpfX1yZXR1cm4gYn12YXIgWmI9U3ltYm9sKCksJGI9U3ltYm9sKCk7ZnVuY3Rpb24gYWMoYSxiKXt2YXIgYz1hLmc7cmV0dXJuIGI/ZnVuY3Rpb24oZCxmLGUpe3JldHVybiBjKGQsZixlLGIpfTpjfWZ1bmN0aW9uIGJjKGEsYixjKXt2YXIgZD1hLmcsZixlO3JldHVybiBmdW5jdGlvbihnLGgsayl7cmV0dXJuIGQoZyxoLGssZXx8KGU9T2IoYikuUyksZnx8KGY9TWIoYikpLGMpfX1mdW5jdGlvbiBPYihhKXt2YXIgYj1hWyRiXTtpZihiKXJldHVybiBiO05iKGEpO2I9V2IoYSxhWyRiXT17fSxhYyxiYyk7JGIgaW4gYSYmTSBpbiBhJiZaYiBpbiBhJiYoYS5sZW5ndGg9MCk7cmV0dXJuIGJ9CnZhciBjYz1uZXcgTChmdW5jdGlvbihhLGIsYyl7aWYoYS5pIT09MilyZXR1cm4hMTt2YXIgZD1KKGEuZyk+Pj4wO2E9YS5nO3ZhciBmPUJiKGEsZCk7YT1hLmo7aWYocmEpe3ZhciBlPWEsZzsoZz1xYSl8fChnPXFhPW5ldyBUZXh0RGVjb2RlcigidXRmLTgiLHtmYXRhbDohMH0pKTtkPWYrZDtlPWY9PT0wJiZkPT09ZS5sZW5ndGg/ZTplLnN1YmFycmF5KGYsZCk7dHJ5e3ZhciBoPWcuZGVjb2RlKGUpfWNhdGNoKG4pe2lmKHBhPT09dm9pZCAwKXt0cnl7Zy5kZWNvZGUobmV3IFVpbnQ4QXJyYXkoWzEyOF0pKX1jYXRjaCh4KXt9dHJ5e2cuZGVjb2RlKG5ldyBVaW50OEFycmF5KFs5N10pKSxwYT0hMH1jYXRjaCh4KXtwYT0hMX19IXBhJiYocWE9dm9pZCAwKTt0aHJvdyBuO319ZWxzZXtoPWY7ZD1oK2Q7Zj1bXTtmb3IodmFyIGs9bnVsbCxsLG07aDxkOylsPWFbaCsrXSxsPDEyOD9mLnB1c2gobCk6bDwyMjQ/aD49ZD91KCk6KG09YVtoKytdLGw8MTk0fHwobSYxOTIpIT09MTI4PyhoLS0sdSgpKTpmLnB1c2goKGwmMzEpPDw2fG0mNjMpKTpsPDI0MD9oPj1kLTE/dSgpOihtPWFbaCsrXSwobSYxOTIpIT09MTI4fHxsPT09MjI0JiZtPDE2MHx8bD09PTIzNyYmbT49MTYwfHwoKGc9YVtoKytdKSYxOTIpIT09MTI4PyhoLS0sdSgpKTpmLnB1c2goKGwmMTUpPDwxMnwobSY2Myk8PDZ8ZyY2MykpOmw8PTI0ND9oPj1kLTI/dSgpOihtPWFbaCsrXSwobSYxOTIpIT09MTI4fHwobDw8MjgpKyhtLTE0NCk+PjMwIT09MHx8KChnPWFbaCsrXSkmMTkyKSE9PTEyOHx8KChlPWFbaCsrXSkmMTkyKSE9PTEyOD8oaC0tLHUoKSk6KGw9KGwmNyk8PDE4fChtJjYzKTw8MTJ8KGcmNjMpPDw2fGUmNjMsbC09NjU1MzYsZi5wdXNoKChsPj4xMCYxMDIzKSs1NTI5NiwobCYxMDIzKSs1NjMyMCkpKTp1KCksZi5sZW5ndGg+PTgxOTImJihrPW9hKGssZiksZi5sZW5ndGg9MCk7aD1vYShrLGYpfUgoYixFKGIpLGMsaCk7cmV0dXJuITB9LCExKSxTYj1uZXcgTChmdW5jdGlvbihhLGIsYyxkLGYpe2lmKGEuaSE9PQoyKXJldHVybiExO0hiKGEseGIoYixkLGMsITApLGYpO3JldHVybiEwfSwhMCksWWI9bmV3IEwoZnVuY3Rpb24oYSxiLGMsZCxmKXtpZihhLmkhPT0yKXJldHVybiExO0hiKGEseGIoYixkLGMpLGYpO3JldHVybiEwfSwhMCksTj1uZXcgTChmdW5jdGlvbihhLGIsYyl7aWYoYS5pIT09MClyZXR1cm4hMTthPUooYS5nKTtIKGIsRShiKSxjLGEpO3JldHVybiEwfSwhMSk7dmFyIGRjPVswLG5ldyBMKGZ1bmN0aW9uKGEsYixjKXtpZihhLmkhPT0wKXJldHVybiExO3ZhciBkPWEuZyxmPTAsZT1hPTAsZz1kLmosaD1kLmc7ZG97dmFyIGs9Z1toKytdO2Z8PShrJjEyNyk8PGU7ZSs9N313aGlsZShlPDMyJiZrJjEyOCk7ZT4zMiYmKGF8PShrJjEyNyk+PjQpO2ZvcihlPTM7ZTwzMiYmayYxMjg7ZSs9NylrPWdbaCsrXSxhfD0oayYxMjcpPDxlO0koZCxoKTtpZihrPDEyOCl7ZD1mPj4+MDtrPWE+Pj4wO2lmKGE9ayYyMTQ3NDgzNjQ4KWQ9fmQrMT4+PjAsaz1+az4+PjAsZD09MCYmKGs9aysxPj4+MCk7ZD1rKjQyOTQ5NjcyOTYrKGQ+Pj4wKX1lbHNlIHRocm93IEVycm9yKCJzIik7YT1hPy1kOmQ7SChiLEUoYiksYyxhPT09MD92b2lkIDA6YSk7cmV0dXJuITB9LCExKSxuZXcgTChmdW5jdGlvbihhLGIsYyl7aWYoYS5pIT09MClyZXR1cm4hMTthPUooYS5nKTtIKGIsRShiKSxjLGE9PT0wP3ZvaWQgMDphKTtyZXR1cm4hMH0sITEpXTt2YXIgTz1mdW5jdGlvbihhLGIpe3RoaXMuZz1hO3RoaXMudHlwZT1ifTsKdmFyIFA9ZnVuY3Rpb24oYSl7dGhpcy5nPWF9O1AucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ307dmFyIGVjPW5ldyBQKCJhYm91dDppbnZhbGlkI3pDbG9zdXJleiIpO3ZhciBmYz1mdW5jdGlvbihhKXt0aGlzLnJhPWF9O2Z1bmN0aW9uIFEoYSl7cmV0dXJuIG5ldyBmYyhmdW5jdGlvbihiKXtyZXR1cm4gYi5zdWJzdHIoMCxhLmxlbmd0aCsxKS50b0xvd2VyQ2FzZSgpPT09YSsiOiJ9KX12YXIgZ2M9W1EoImRhdGEiKSxRKCJodHRwIiksUSgiaHR0cHMiKSxRKCJtYWlsdG8iKSxRKCJmdHAiKSxuZXcgZmMoZnVuY3Rpb24oYSl7cmV0dXJuL15bXjpdKihbLz8jXXwkKS8udGVzdChhKX0pXSxoYz0vXlxzKig/IWphdmFzY3JpcHQ6KSg/OltcdysuLV0rOnxbXjovPyNdKig/OlsvPyNdfCQpKS9pO2Z1bmN0aW9uIGljKGEpe2lmKGEgaW5zdGFuY2VvZiBQKWlmKGEgaW5zdGFuY2VvZiBQKWE9YS5nO2Vsc2UgdGhyb3cgRXJyb3IoInciKTtlbHNlIGE9aGMudGVzdChhKT9hOnZvaWQgMDtyZXR1cm4gYX07dmFyIGpjPSFFYSYmIXphKCksa2M9ZnVuY3Rpb24oYSl7aWYoLy1bYS16XS8udGVzdCgidmVkIikpcmV0dXJuIG51bGw7aWYoamMmJmEuZGF0YXNldCl7aWYoQmEoKSYmISgidmVkImluIGEuZGF0YXNldCkpcmV0dXJuIG51bGw7YT1hLmRhdGFzZXQudmVkO3JldHVybiBhPT09dm9pZCAwP251bGw6YX1yZXR1cm4gYS5nZXRBdHRyaWJ1dGUoImRhdGEtIisidmVkIi5yZXBsYWNlKC8oW0EtWl0pL2csIi0kMSIpLnRvTG93ZXJDYXNlKCkpfTt2YXIgbGM9ZnVuY3Rpb24oKXt0aGlzLmc9W107dGhpcy5pPSIifSxtYz1mdW5jdGlvbihhLGIpe3ZhciBjPSIiO2ImJihjPXR5cGVvZiBiPT09InN0cmluZyI/Yjpnb29nbGUuZ2V0RUkoYikpO3JldHVybiBjJiZjIT09YS5pP2M6IiJ9O3ZhciBuYz1mdW5jdGlvbihhLGIpe3RoaXMuZz1hO3RoaXMuaT1ifSxvYz1uZXcgbmMoZW5jb2RlVVJJQ29tcG9uZW50LGZ1bmN0aW9uKGEpe3JldHVybiBkZWNvZGVVUklDb21wb25lbnQoYS5yZXBsYWNlKC9cKy9nLCIlMjAiKSl9KTtmdW5jdGlvbiBwYyhhKXtyZXR1cm4gbmV3IFJlZ0V4cCgiJSg/OiIrZW5jb2RlVVJJQ29tcG9uZW50KGEpLnN1YnN0cigxKS5yZXBsYWNlKC8lL2csInwiKSsiKSIsImciKX12YXIgcWM9cGMoIiQsLzo7P0BbXV5ge3x9Iik7cGMoIj0mJCwvOjtAW11eYHt8fSIpO3ZhciByYz1uZXcgbmMoZnVuY3Rpb24oYSl7cmV0dXJuIG9jLmcoYSkucmVwbGFjZShxYyxkZWNvZGVVUklDb21wb25lbnQpfSxvYy5pKTtmdW5jdGlvbiBSKGEsYil7Yj1iPT09dm9pZCAwP3t9OmI7c2Moe1Q6Yi5ULFA6Yi5QLEE6Yi5BLHFhOmEsZGF0YTpiLmRhdGF9KX1mdW5jdGlvbiBTKGEsYil7Yj1iPT09dm9pZCAwP3t9OmI7c2Moe1Q6YSxQOmIuUCxBOmIuQSxkYXRhOmIuZGF0YX0pfQpmdW5jdGlvbiBzYyhhKXt2YXIgYj1hLlQ7dmFyIGM9YS5QO3ZhciBkPWEuQTt2YXIgZj1hLnFhO2E9YS5kYXRhO3ZhciBlPWI/Z29vZ2xlLmdldEVJKGIpOmdvb2dsZS5rRUksZz1uZXcgdGMoZSk7YiYmKGI9Yj9rYyhiKXx8IiI6IiIsVChnLCJ2ZWQiLGIpKTtjIT09dm9pZCAwJiZUKGcsImljdHgiLFN0cmluZyhjKSk7ZCYmVChnLCJ1YWN0IixTdHJpbmcoZCkpO2lmKGYpe2M9bmV3IGxjO2ZvcihkPTA7Yj1mW2QrK107KXt2YXIgaD0oaD1iLmcpP2tjKGgpfHwiIjoiIjt2YXIgaz1iLmc7Yy5nLnB1c2goe3NhOmgsdGFyZ2V0RWxlbWVudDprPT09dm9pZCAwPyIiOmsscGE6Yi50eXBlfSl9Yy5pPWU7Zj1bXTtmb3IoZT0wO2Q9Yy5nW2UrK107KXt2YXIgbD1kO2Q9bC5zYTtiPWwucGE7aD1sLnVhO3ZhciBtPWwudGE7az1sLnlhO2w9bWMoYyxsLnRhcmdldEVsZW1lbnQpO209bWMoYyxtKTtzd2l0Y2goYil7Y2FzZSAic2hvdyI6Zi5wdXNoKGQrIi4iK2wrIi5zIik7YnJlYWs7Y2FzZSAiaW5zZXJ0IjpmLnB1c2goZCsKIi4iK2wrIi5pIisobT8iLjAuIitoKyIuIittOiIiKSk7YnJlYWs7Y2FzZSAiZGVkdXBlLWluc2VydCI6Zi5wdXNoKGQrIi4iK2wrIi5pIisobT8iLjEuIitoKyIuIittOiIuMSIpKTticmVhaztjYXNlICJoaWRlIjpmLnB1c2goZCsiLiIrbCsiLmgiKTticmVhaztjYXNlICJjb3B5IjpmLnB1c2goIi4iK2srIi5jIil9fVQoZywidmV0IixmLmxlbmd0aD8iMSIrZi5qb2luKCI7Iik6IiIpfWdvb2dsZS5rQkwmJlQoZywiYmwiLGdvb2dsZS5rQkwpO2dvb2dsZS5zbiYmVChnLCJzIixnb29nbGUuc24pO2lmKGEpZm9yKHZhciBuIGluIGEpVChnLG4sYVtuXSk7Zy5sb2coKX12YXIgdGM9ZnVuY3Rpb24oYSl7dGhpcy51cmk9Ii9nZW5fMjA0P2VpPSIrcmMuZyhhKX0sVD1mdW5jdGlvbihhLGIsYyl7YS51cmkrPSImIitiKyI9IityYy5nKGMpfTt0Yy5wcm90b3R5cGUubG9nPWZ1bmN0aW9uKCl7d2luZG93Lm5hdmlnYXRvci5zZW5kQmVhY29uP3dpbmRvdy5uYXZpZ2F0b3Iuc2VuZEJlYWNvbih0aGlzLnVyaSwiIik6Z29vZ2xlLmxvZygiIiwiIix0aGlzLnVyaSl9O3ZhciB1Yz1bMCxOLGNjLC0xLE5dO3ZhciB2Yz1bMCxOLC0xXTt2YXIgVT1mdW5jdGlvbihhKXt0aGlzLkI9bWIoYSl9O1UucHJvdG90eXBlPWZhKEsucHJvdG90eXBlKTtVLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1VO2lmKGxhKWxhKFUsSyk7ZWxzZSBmb3IodmFyIFYgaW4gSylpZihWIT0icHJvdG90eXBlIilpZihPYmplY3QuZGVmaW5lUHJvcGVydGllcyl7dmFyIHdjPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSyxWKTt3YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KFUsVix3Yyl9ZWxzZSBVW1ZdPUtbVl07dmFyIHhjPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGZ1bmN0aW9uKGMsZCl7aWYoSWIubGVuZ3RoKXt2YXIgZj1JYi5wb3AoKTtEYihmLGQpO3piKGYuZyxjLGQpO2M9Zn1lbHNlIGM9bmV3IEViKGMsZCk7dHJ5e3ZhciBlPW5ldyBhLGc9ZS5CO01iKGIpKGcsYyk7dmFyIGg9ZX1maW5hbGx5e2MuZy5jbGVhcigpLGMubD0tMSxjLmk9LTEsSWIubGVuZ3RoPDEwMCYmSWIucHVzaChjKX1yZXR1cm4gaH19KFUsWzAsTix1YyxkYyx2YyxOXSk7dmFyIHljPWZ1bmN0aW9uKCl7dGhpcy5nPSh0eXBlb2YgZG9jdW1lbnQ9PSJ1bmRlZmluZWQiP251bGw6ZG9jdW1lbnQpfHx7Y29va2llOiIifX0sQWM9ZnVuY3Rpb24oKXt2YXIgYT1XO2lmKCF0Lm5hdmlnYXRvci5jb29raWVFbmFibGVkKXJldHVybiExO2lmKGEuZy5jb29raWUpcmV0dXJuITA7YS5zZXQoIlRFU1RDT09LSUVTRU5BQkxFRCIsIjEiLHtSOjYwfSk7aWYoYS5nZXQoIlRFU1RDT09LSUVTRU5BQkxFRCIpIT09IjEiKXJldHVybiExO3pjKGEsIlRFU1RDT09LSUVTRU5BQkxFRCIpO3JldHVybiEwfTt5Yy5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0hMTtpZih0eXBlb2YgYz09PSJvYmplY3QiKXt2YXIgZj1jLndhO2Q9Yy54YXx8ITE7dmFyIGU9Yy5kb21haW58fHZvaWQgMDt2YXIgZz1jLnBhdGh8fHZvaWQgMDt2YXIgaD1jLlJ9aWYoL1s7PVxzXS8udGVzdChhKSl0aHJvdyBFcnJvcigieGAiK2EpO2lmKC9bO1xyXG5dLy50ZXN0KGIpKXRocm93IEVycm9yKCJ5YCIrYik7aD09PXZvaWQgMCYmKGg9LTEpO3RoaXMuZy5jb29raWU9YSsiPSIrYisoZT8iO2RvbWFpbj0iK2U6IiIpKyhnPyI7cGF0aD0iK2c6IiIpKyhoPDA/IiI6aD09MD8iO2V4cGlyZXM9IisobmV3IERhdGUoMTk3MCwxLDEpKS50b1VUQ1N0cmluZygpOiI7ZXhwaXJlcz0iKyhuZXcgRGF0ZShEYXRlLm5vdygpK2gqMUUzKSkudG9VVENTdHJpbmcoKSkrKGQ/IjtzZWN1cmUiOiIiKSsoZiE9bnVsbD8iO3NhbWVzaXRlPSIrZjoiIil9O3ljLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9YSsiPSIsZD0odGhpcy5nLmNvb2tpZXx8IiIpLnNwbGl0KCI7IiksZj0wLGU7ZjxkLmxlbmd0aDtmKyspe2U9dGEoZFtmXSk7aWYoZS5sYXN0SW5kZXhPZihjLDApPT0wKXJldHVybiBlLnNsaWNlKGMubGVuZ3RoKTtpZihlPT1hKXJldHVybiIifXJldHVybiBifTt2YXIgemM9ZnVuY3Rpb24oYSxiKXthLmdldChiKTthLnNldChiLCIiLHtSOjAscGF0aDp2b2lkIDAsZG9tYWluOnZvaWQgMH0pfTt5Yy5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXtmb3IodmFyIGE9KHRoaXMuZy5jb29raWV8fCIiKS5zcGxpdCgiOyIpLGI9W10sYz1bXSxkLGYsZT0wO2U8YS5sZW5ndGg7ZSsrKWY9dGEoYVtlXSksZD1mLmluZGV4T2YoIj0iKSxkPT0tMT8oYi5wdXNoKCIiKSxjLnB1c2goZikpOihiLnB1c2goZi5zdWJzdHJpbmcoMCxkKSksYy5wdXNoKGYuc3Vic3RyaW5nKGQrMSkpKTtmb3IoYT1iLmxlbmd0aC0xO2E+PTA7YS0tKXpjKHRoaXMsYlthXSl9O3ZhciBXPW5ldyB5Yzt2YXIgQmM7dmFyIFg9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQ7cmV0dXJuIHR5cGVvZiBhPT09InN0cmluZyI/Yi5nZXRFbGVtZW50QnlJZChhKTphfSxDYz1mdW5jdGlvbihhKXtyZXR1cm4gYS5jaGlsZHJlbiE9dm9pZCAwP2EuY2hpbGRyZW46QXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGEuY2hpbGROb2RlcyxmdW5jdGlvbihiKXtyZXR1cm4gYi5ub2RlVHlwZT09MX0pfSxEYz1mdW5jdGlvbihhKXt2YXIgYjtpZihiPWEucGFyZW50RWxlbWVudClyZXR1cm4gYjtiPWEucGFyZW50Tm9kZTthPXR5cGVvZiBiO3JldHVybihhPT0ib2JqZWN0IiYmYiE9bnVsbHx8YT09ImZ1bmN0aW9uIikmJmIubm9kZVR5cGU9PTE/YjpudWxsfTt2YXIgRWM9ZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhLmNsYXNzTmFtZT09InN0cmluZyI/YS5jbGFzc05hbWU6YS5nZXRBdHRyaWJ1dGUmJmEuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIn0sRmM9ZnVuY3Rpb24oYSxiKXt0eXBlb2YgYS5jbGFzc05hbWU9PSJzdHJpbmciP2EuY2xhc3NOYW1lPWI6YS5zZXRBdHRyaWJ1dGUmJmEuc2V0QXR0cmlidXRlKCJjbGFzcyIsYil9LEdjPWZ1bmN0aW9uKGEsYil7YS5jbGFzc0xpc3Q/Yj1hLmNsYXNzTGlzdC5jb250YWlucyhiKTooYT1hLmNsYXNzTGlzdD9hLmNsYXNzTGlzdDpFYyhhKS5tYXRjaCgvXFMrL2cpfHxbXSxiPUNhKGEsYik+PTApO3JldHVybiBifSxIYz1mdW5jdGlvbihhLGIpe2lmKGEuY2xhc3NMaXN0KWEuY2xhc3NMaXN0LmFkZChiKTtlbHNlIGlmKCFHYyhhLGIpKXt2YXIgYz1FYyhhKTtGYyhhLGMrKGMubGVuZ3RoPjA/IiAiK2I6YikpfX0sSWM9ZnVuY3Rpb24oYSxiKXthLmNsYXNzTGlzdD9hLmNsYXNzTGlzdC5yZW1vdmUoYik6R2MoYSxiKSYmRmMoYSxBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoYS5jbGFzc0xpc3Q/YS5jbGFzc0xpc3Q6RWMoYSkubWF0Y2goL1xTKy9nKXx8W10sZnVuY3Rpb24oYyl7cmV0dXJuIGMhPWJ9KS5qb2luKCIgIikpfTtmdW5jdGlvbiBKYyhhKXthJiZzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS5mb2N1cygpfSw1MDApfWZ1bmN0aW9uIEtjKGEpe3VYSlN8fCgoZ29vZ2xlLmJ4PWEpfHxnb29nbGUubHgoKSxnb29nbGUubG9nKCJieGpzIiwiJmI9IisoYT8wOjEpKSl9CnZhciBMYz1mdW5jdGlvbigpe3RoaXMuSD0hMTt0aGlzLlU9dGhpcy52PTA7dGhpcy5nYT10aGlzLk49ITE7dGhpcy5qYT0hMDt0aGlzLko9dGhpcy5rYT10aGlzLkw9ITE7dGhpcy5WPVtdO3RoaXMuTT1udWxsO3RoaXMuaT1YKCJ4ZTdDT2UiKTt0aGlzLlg9WCgiS2pjSFBjIik7dGhpcy5XPVgoIkwyQUdMYiIpO3RoaXMuYWE9WCgiVzB3bHRjIik7dGhpcy5kYT1YKCJWbmpDY2IiKTt0aGlzLkY9WCgidmMzam9mIik7dGhpcy5qPVgoInRiVHViZCIpO3RoaXMubGE9WCgiZ2tzUzFkIik7dGhpcy5pYT1YKCJSUDNWNWMiKTt0aGlzLm1hPVgoIkhRMWxiIik7dGhpcy5mYT1YKCJyR0RTbmIiKTt0aGlzLmw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIktCeVF4Iik7dGhpcy5nPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJqWWZYTWIiKTt0aGlzLlk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVNb3VzYyIpO3RoaXMuZWE9WCgiQ1hRbm1iIik7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkhJaFB4ZiIpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzTkNRYiIpO3RoaXMuSz10aGlzLmoucXVlcnlTZWxlY3RvckFsbCgibGkiKTt0aGlzLmhhPXRoaXMuSy5sZW5ndGgtMTt0aGlzLkc9dGhpcy5pLnF1ZXJ5U2VsZWN0b3JBbGwoImEsIGJ1dHRvbiIpO3RoaXMuWj10aGlzLkcubGVuZ3RoLTF9LE1jPWZ1bmN0aW9uKGEsYil7Yi5zdG9wUHJvcGFnYXRpb24oKTtiLnByZXZlbnREZWZhdWx0KCk7UyhhLmose0E6M30pO2lmKGIudGFyZ2V0IGluc3RhbmNlb2YgRWxlbWVudCYmKFMoYi50YXJnZXQse0E6M30pLGE9Yi50YXJnZXQuZ2V0QXR0cmlidXRlKCJkYXRhLWhsIikpKXtiPWVuY29kZVVSSUNvbXBvbmVudCgiaGwiKTthPWVuY29kZVVSSUNvbXBvbmVudChhKTtmb3IodmFyIGM9ZG9jdW1lbnQubG9jYXRpb24uc2VhcmNoPT09IiI/W106ZG9jdW1lbnQubG9jYXRpb24uc2VhcmNoLnN1YnN0cmluZygxKS5zcGxpdCgiJiIpLGQ9MDtkPGMubGVuZ3RoO2QrKylpZihjW2RdLmluZGV4T2YoYisiPSIpIT09Ci0xKXt2YXIgZj1jW2RdLnNwbGl0KCI9Iik7ZlsxXT1hO2NbZF09Zi5qb2luKCI9Iik7YnJlYWt9ZD49Yy5sZW5ndGgmJihjW2MubGVuZ3RoXT1bYixhXS5qb2luKCI9IikpO3ZhciBlPWU9PT12b2lkIDA/Z2M6ZTthOmlmKGE9bG9jYXRpb24ucHJvdG9jb2wrIi8vIitsb2NhdGlvbi5ob3N0K2xvY2F0aW9uLnBhdGhuYW1lKyI/IitjLmpvaW4oIiYiKStsb2NhdGlvbi5oYXNoLGU9ZT09PXZvaWQgMD9nYzplLCEoYSBpbnN0YW5jZW9mIFApKXtmb3IoYj0wO2I8ZS5sZW5ndGg7KytiKWlmKGM9ZVtiXSxjIGluc3RhbmNlb2YgZmMmJmMucmEoYSkpe2E9bmV3IFAoYSk7YnJlYWsgYX1hPXZvaWQgMH1lPWxvY2F0aW9uO2E9aWMoYXx8ZWMpO2EhPT12b2lkIDAmJmUucmVwbGFjZShhKX19LFk9ZnVuY3Rpb24oYSxiLGMpe2EuTj0hMDtiLmNvZGU9PT0iRW50ZXIiJiZjKCl9LE9jPWZ1bmN0aW9uKGEpe2EuWSYmYS5nJiYoYS5nLnNjcm9sbFRvcD4wP2EuTHx8KEhjKGEuWSwiWWVNVHQiKSxhLkw9CiEwKTphLkwmJihJYyhhLlksIlllTVR0IiksYS5MPSExKSk7YS5sJiZhLmphJiZhLmcmJihhLmcuc2Nyb2xsSGVpZ2h0LShhLmcuc2Nyb2xsVG9wK2EuZy5jbGllbnRIZWlnaHQrOTApPDEmJk5jKGEpLGEuZ2F8fChTKGEuZyx7QToyMH0pLE5jKGEpKSl9LE5jPWZ1bmN0aW9uKGEpe2EubC5zdHlsZS5oZWlnaHQ9IjAiO2EubC5zdHlsZS5vcGFjaXR5PSIwIjthLmwuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiI7YS5qYT0hMX0sUGM9ZnVuY3Rpb24oYSxiKXtpZighaVNSKXt2YXIgYzt2YXIgZD0oYz1zTCkhPW51bGw/YzozNDEyOEUzO1cuc2V0KCJTT0NTIixiP3NDQVM6c0NSUyx7ZG9tYWluOmNvb2tpZURvbWFpbixwYXRoOiIvIixSOmR9KX1kPW5ldyBYTUxIdHRwUmVxdWVzdDtkLm9wZW4oIlBPU1QiLGI/YUFVOnJBVSk7ZC53aXRoQ3JlZGVudGlhbHM9ITA7ZC5zZW5kKCk7YS5jbG9zZSgpfSxRYz1mdW5jdGlvbihhKXt1V0N8fFMoYS5hYSx7QTozfSk7UGMoYSwhMSl9LFJjPWZ1bmN0aW9uKGEpe3VXQ3x8ClMoYS5XLHtBOjN9KTtzRUU/UGMoYSwhMSk6UGMoYSwhMCl9O0xjLnByb3RvdHlwZS5jbG9zZT1mdW5jdGlvbigpe1NjKHRoaXMpO3VXQ3x8S2MoITEpfTt2YXIgWj1mdW5jdGlvbihhLGIsYyl7Yz1jPT09dm9pZCAwP251bGw6YztiJiZiIT09dm9pZCAwJiYoYS5wcmV2ZW50RGVmYXVsdCgpLFMoYix7QTozfSksYj1jfHxiLmdldEF0dHJpYnV0ZSgiaHJlZiIpLGE9d2luZG93LmxvY2F0aW9uLGI9aWMoYiksYiE9PXZvaWQgMCYmKGEuaHJlZj1iKSl9LFRjPWZ1bmN0aW9uKGEsYil7Yj09bnVsbHx8Yi5zdG9wUHJvcGFnYXRpb24oKTthLmomJmEuRiYmIWEuSCYmKGEuai5zdHlsZS5kaXNwbGF5PSJibG9jayIsYS5IPSEwLGEuTiYmSmMoYS5qLnF1ZXJ5U2VsZWN0b3IoImxpIikpLGEuRi5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCJ0cnVlIiksUihbbmV3IE8oYS5qLCJzaG93IildLHtUOmEuRn0pKX0sVWM9ZnVuY3Rpb24oYSl7YS5qJiZhLkYmJihhLmouc3R5bGUuZGlzcGxheT0ibm9uZSIsYS5IPSExLGEuTiYmYS5GLmZvY3VzKCksUihbbmV3IE8oYS5qLCJoaWRlIildKSxhLkYuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwiZmFsc2UiKSl9LFNjPWZ1bmN0aW9uKGEpe2EuaSYmKGEuaS5zdHlsZS5kaXNwbGF5IT09Im5vbmUiJiYoYS5pLnN0eWxlLmRpc3BsYXk9Im5vbmUiKSxhLk0mJmEuTT4wJiZSKFtuZXcgTyhhLmksImhpZGUiKV0se2RhdGE6e2Nkb3Q6U3RyaW5nKERhdGUubm93KCktYS5NKX19KSxhLko9ITEsVmMoYSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsZnVuY3Rpb24oKXtXYyhhKX0pLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLGZ1bmN0aW9uKCl7WGMoYSl9KSl9LCRjPWZ1bmN0aW9uKCl7dmFyIGE9WWM7IWEuaXx8c3JwJiYhYS5rYXx8KGEuaS5zdHlsZS5kaXNwbGF5PSJibG9jayIsYS5NPURhdGUubm93KCksdVdDfHxSKFtuZXcgTyhhLmksInNob3ciKV0se2RhdGE6e2dsOmdMLHBjOnBDLGlzTW9iaWxlOlN0cmluZyhpc01vYmlsZSl9fSksYS5pLmZvY3VzKCksWmMoYSksYS5sJiZhLmcmJihhLlU9YS5nLmNsaWVudEhlaWdodC0KOTAsYS5nLnNjcm9sbEhlaWdodD5hLlUmJihhLmwuc3R5bGUuZGlzcGxheT0iZmxleCIsUihbbmV3IE8oYS5sLCJzaG93IildKSkpLGEuSj0hMCxWYyhhKSl9LFZjPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmJvZHk7YS5KPyhIYyhiLCJFTTFNcmIiKSxhZChhKSk6KEljKGIsIkVNMU1yYiIpLGJkKGEpKX0sYmQ9ZnVuY3Rpb24oYSl7RGEoYS5WLGZ1bmN0aW9uKGIpe2IucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWhpZGRlbiIpfSk7YS5WPVtdfSxhZD1mdW5jdGlvbihhKXtmb3IodmFyIGI9YS5pO2ImJmIhPT1kb2N1bWVudC5ib2R5Oyl7dmFyIGM9RGMoYik7aWYoYyl7dmFyIGQ9Q2MoYyk7RGEoZCxmdW5jdGlvbihmKXt2YXIgZTtpZihlPWYmJmYhPT1iKWU9Zi5nZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiksZT0hKGU9PW51bGx8fGU9PXZvaWQgMD8wOlN0cmluZyhlKSk7ZSYmKGU9ITAsQXJyYXkuaXNBcnJheShlKSYmKGU9ZS5qb2luKCIgIikpLGU9PT0iInx8ZT09dm9pZCAwPyhCY3x8KGU9e30sQmM9KGUuYXRvbWljPSExLGUuYXV0b2NvbXBsZXRlPSJub25lIixlLmRyb3BlZmZlY3Q9Im5vbmUiLGUuaGFzcG9wdXA9ITEsZS5saXZlPSJvZmYiLGUubXVsdGlsaW5lPSExLGUubXVsdGlzZWxlY3RhYmxlPSExLGUub3JpZW50YXRpb249InZlcnRpY2FsIixlLnJlYWRvbmx5PSExLGUucmVsZXZhbnQ9ImFkZGl0aW9ucyB0ZXh0IixlLnJlcXVpcmVkPSExLGUuc29ydD0ibm9uZSIsZS5idXN5PSExLGUuZGlzYWJsZWQ9ITEsZS5oaWRkZW49ITEsZS5pbnZhbGlkPSJmYWxzZSIsZSkpLGU9QmMsImhpZGRlbiJpbiBlP2Yuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsZS5oaWRkZW4pOmYucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWhpZGRlbiIpKTpmLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLGUpLGEuVi5wdXNoKGYpKX0sYSl9Yj1jfX0sV2M9ZnVuY3Rpb24oYSl7YS5KJiZDYShhLkcsZG9jdW1lbnQuYWN0aXZlRWxlbWVudCk8MCYmQ2EoYS5LLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpPAowJiZkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09YS5pJiZhLkdbMF0uZm9jdXMoKX0sWGM9ZnVuY3Rpb24oYSl7YS5KJiZhZChhKTthLmVhJiZhLmVhLnNjcm9sbEludG9WaWV3KCl9LFpjPWZ1bmN0aW9uKGEpe2lmKGEuaSl7dmFyIGI9YS5pO2Iub25jbGljaz1mdW5jdGlvbigpe2EuSCYmVWMoYSl9O2Iub25rZXlkb3duPWZ1bmN0aW9uKGcpeyFhLkp8fGEuWjwwfHwoZy5jb2RlPT09IkVzY2FwZSImJiFhLkgmJmEuZmEmJlMoYS5mYSx7QTozMn0pLGcuc2hpZnRLZXl8fGcuY29kZSE9PSJUYWIifHxkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09YS5HW2EuWl18fChnLnByZXZlbnREZWZhdWx0KCksYS5HWzBdLmZvY3VzKCkpLCFnLnNoaWZ0S2V5fHxnLmNvZGUhPT0iVGFiInx8ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PWEuR1swXSYmZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PWEuaXx8KGcucHJldmVudERlZmF1bHQoKSxhLkdbYS5aXS5mb2N1cygpKSl9fWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzaW4iLGZ1bmN0aW9uKCl7V2MoYSl9KTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixmdW5jdGlvbigpe1hjKGEpfSk7YS5YJiYoYS5YLm9uY2xpY2s9ZnVuY3Rpb24oKXtTKGEuWCx7QTozfSk7YS5IJiZVYyhhKX0pO2EuVyYmKGI9YS5XLGIub25jbGljaz1mdW5jdGlvbigpe1JjKGEpfSxiLm9ua2V5ZG93bj1mdW5jdGlvbihnKXtZKGEsZyxmdW5jdGlvbigpe1JjKGEpfSl9KTthLmFhJiYoYj1hLmFhLGIub25jbGljaz1mdW5jdGlvbigpe1FjKGEpfSxiLm9ua2V5ZG93bj1mdW5jdGlvbihnKXtZKGEsZyxmdW5jdGlvbigpe1FjKGEpfSl9KTtpZihhLmRhKXt2YXIgYz1hLmRhO2Mub25jbGljaz1mdW5jdGlvbihnKXtaKGcsYyxjVSl9O2Mub25rZXlkb3duPWZ1bmN0aW9uKGcpe1koYSxnLGZ1bmN0aW9uKCl7WihnLGMsY1UpfSl9fWEuRiYmKGI9YS5GLGIub25jbGljaz1mdW5jdGlvbihnKXtUYyhhLGcpfSxiLm9ua2V5ZG93bj1mdW5jdGlvbihnKXtZKGEsZyxmdW5jdGlvbigpe1RjKGEsZyl9KX0pO2EuaiYmKGI9YS5qLGIub25jbGljaz1mdW5jdGlvbihnKXtNYyhhLGcpfSxiLm9ua2V5ZG93bj1mdW5jdGlvbihnKXthLk49ITA7aWYoYS5IJiZnKXN3aXRjaChnLmNvZGUpe2Nhc2UgIkFycm93RG93biI6YS52PT09YS5oYT9hLnY9MDphLnYrKzthLktbYS52XSYmYS5LW2Eudl0uZm9jdXMoKTticmVhaztjYXNlICJBcnJvd1VwIjphLnY9PT0wP2Eudj1hLmhhOmEudi0tO2EuS1thLnZdJiZhLktbYS52XS5mb2N1cygpO2JyZWFrO2Nhc2UgIkVzY2FwZSI6Y2FzZSAiVGFiIjpVYyhhKTticmVhaztjYXNlICJFbnRlciI6TWMoYSxnKX19KTtpZihhLmxhKXt2YXIgZD1hLmxhO2Qub25jbGljaz1mdW5jdGlvbihnKXtaKGcsZCxzSVUpfTtkLm9ua2V5ZG93bj1mdW5jdGlvbihnKXtZKGEsZyxmdW5jdGlvbigpe1ooZyxkLHNJVSl9KX19aWYoYS5pYSl7dmFyIGY9YS5pYTtmLm9uY2xpY2s9ZnVuY3Rpb24oZyl7WihnLGYpfTtmLm9ua2V5ZG93bj1mdW5jdGlvbihnKXtZKGEsZyxmdW5jdGlvbigpe1ooZyxmKX0pfX1pZihhLm1hKXt2YXIgZT1hLm1hO2Uub25jbGljaz1mdW5jdGlvbihnKXtaKGcsZSl9O2Uub25rZXlkb3duPWZ1bmN0aW9uKGcpe1koYSxnLGZ1bmN0aW9uKCl7WihnLGUpfSl9fWEubCYmYS5nJiYoYS5sLm9uY2xpY2s9ZnVuY3Rpb24oKXthLmwmJmEuZyYmKHVXQ3x8UyhhLmwse0E6M30pLGEuZy5zY3JvbGxUb3ArPWEuVSxhLmdhPSEwKX0sYj1hLmcsYi5vbnNjcm9sbD1mdW5jdGlvbigpe09jKGEpfSxiLm9ud2hlZWw9ZnVuY3Rpb24oKXtPYyhhKX0pfSxZYz1uZXcgTGMsY2Q7aWYoIShjZD0hZnVuY3Rpb24oKXt0cnl7aWYoIUFjKCkpcmV0dXJuITE7aWYoVy5nLmNvb2tpZSlyZXR1cm4hMDtXLnNldCgiVEVTVENPT0tJRVNFTkFCTEVEIiwiMSIse1I6NjB9KTtpZihXLmdldCgiVEVTVENPT0tJRVNFTkFCTEVEIikhPSIxIilyZXR1cm4hMTt6YyhXLCJURVNUQ09PS0lFU0VOQUJMRUQiKTtyZXR1cm4hMH1jYXRjaChhKXtyZXR1cm4hMX19KCkpKXt2YXIgZGQ7aWYoZGQ9IWlTUilhOnt2YXIgSWE9Vy5nZXQoIlNPQ1MiKTtpZihJYSl0cnl7dmFyIGVkLGZkLGdkPXhjKEphKCkpLkI7ZmQ9d2IoZ2QsRShnZCksMSk7dmFyIGhkO2ZkPT1udWxsP2hkPWZkOmhkPU51bWJlci5pc0Zpbml0ZShmZCk/ZmR8MDp2b2lkIDA7ZWQ9aGQ7ZGQ9ZWQ9PT0xfHxlZD09PTI7YnJlYWsgYX1jYXRjaChhKXt9ZGQ9ITF9Y2Q9ZGR9Y2Q/U2MoWWMpOihLYyghdVdDKSxzcnA/WWMua2E9ITA6JGMoKSk7Z29vZ2xlLmNpcz1nb29nbGUuY2lzfHx7fTtnb29nbGUuY2lzLnNkPWZ1bmN0aW9uKCl7JGMoKX07Z29vZ2xlLmNpcy5oZD1mdW5jdGlvbigpe1NjKFljKTtLYyghMSl9O30pKCk7PC9zY3JpcHQ+PHNwYW4gc3R5bGU9ImRpc3BsYXk6bm9uZSI+PHNwYW4ganNjb250cm9sbGVyPSJEaFBZbWUiIHN0eWxlPSJkaXNwbGF5Om5vbmUiIGRhdGEtYXRzZD0iMTAiIGRhdGEtZGI9IjEiIGRhdGEtbW1jbnQ9IjEwMCIganNhY3Rpb249InJjdVE2YjpucFQybWQiPjwvc3Bhbj48L3NwYW4+PHNjcmlwdCBub25jZT0iYUE3VmEtYmVlaElMc2wyaEZsUHQtZyI+dGhpcy5nYmFyXz10aGlzLmdiYXJffHx7fTsoZnVuY3Rpb24oXyl7dmFyIHdpbmRvdz10aGlzOwp0cnl7Cl8udmQ9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhLmopaWYoYyBpbnN0YW5jZW9mIEFycmF5KWZvcih2YXIgZCBvZiBjKV8udmQoYSxiLGQpO2Vsc2V7ZD0oMCxfLnopKGEuQyxhLGIpO2NvbnN0IGU9YS52K2M7YS52Kys7Yi5kYXRhc2V0LmVxaWQ9ZTthLkJbZV09ZDtiJiZiLmFkZEV2ZW50TGlzdGVuZXI/Yi5hZGRFdmVudExpc3RlbmVyKGMsZCwhMSk6YiYmYi5hdHRhY2hFdmVudD9iLmF0dGFjaEV2ZW50KCJvbiIrYyxkKTphLm8ubG9nKEVycm9yKCJ6YCIrYikpfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciB3ZD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuZ2JfayAuZ2JfZCIpLHhkPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNnYi5nYl9QYyIpO3dkJiYheGQmJl8udmQoXy5mZCx3ZCwiY2xpY2siKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy51aD1mdW5jdGlvbihhKXtjb25zdCBiPVtdO2xldCBjPTA7Zm9yKGNvbnN0IGQgaW4gYSliW2MrK109YVtkXTtyZXR1cm4gYn07Xy52aD1mdW5jdGlvbihhKXtpZihhLnYpcmV0dXJuIGEudjtmb3IoY29uc3QgYiBpbiBhLmkpaWYoYS5pW2JdLnFhKCkmJmEuaVtiXS5CKCkpcmV0dXJuIGEuaVtiXTtyZXR1cm4gbnVsbH07Xy53aD1mdW5jdGlvbihhLGIpe2EuaVtiLksoKV09Yn07dmFyIHhoPW5ldyBjbGFzcyBleHRlbmRzIF8uUntjb25zdHJ1Y3Rvcigpe3ZhciBhPV8uUGM7c3VwZXIoKTt0aGlzLkI9YTt0aGlzLnY9bnVsbDt0aGlzLm89e307dGhpcy5DPXt9O3RoaXMuaT17fTt0aGlzLmo9bnVsbH1BKGEpe3RoaXMuaVthXSYmKF8udmgodGhpcykmJl8udmgodGhpcykuSygpPT1hfHx0aGlzLmlbYV0uUCghMCkpfVhhKGEpe3RoaXMuaj1hO2Zvcihjb25zdCBiIGluIHRoaXMuaSl0aGlzLmlbYl0ucWEoKSYmdGhpcy5pW2JdLlhhKGEpfW5jKGEpe3JldHVybiBhIGluIHRoaXMuaT90aGlzLmlbYV06bnVsbH19O18uaWQoImRkIix4aCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uUGk9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5NKGEsMzYsYil9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgUWk9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmdiX2IgLmdiX2QiKSxSaT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjZ2IuZ2JfUGMiKTtRaSYmIVJpJiZfLnZkKF8uZmQsUWksImNsaWNrIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp9KSh0aGlzLmdiYXJfKTsKLy8gR29vZ2xlIEluYy4KdGhpcy5nYmFyXz10aGlzLmdiYXJffHx7fTsoZnVuY3Rpb24oXyl7dmFyIHdpbmRvdz10aGlzOwp0cnl7CnZhciB6ZDtfLnlkPWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBhO3JldHVybiBiPT0ib2JqZWN0IiYmYSE9bnVsbHx8Yj09ImZ1bmN0aW9uIn07emQ9Y2xhc3MgZXh0ZW5kcyBfLmpke307Xy5BZD1mdW5jdGlvbihhLGIpe2lmKGIgaW4gYS5pKXJldHVybiBhLmlbYl07dGhyb3cgbmV3IHpkO307Xy5CZD1mdW5jdGlvbihhKXtyZXR1cm4gXy5BZChfLmdkLmkoKSxhKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Ci8qCgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KdmFyIEhkLFJkLFRkO18uQ2Q9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gYTtpZih0eXBlb2YgYT09PSJzdHJpbmciKXtpZighYSlyZXR1cm47YT0rYX1pZih0eXBlb2YgYT09PSJudW1iZXIiKXJldHVybiBOdW1iZXIuaXNGaW5pdGUoYSk/YXwwOnZvaWQgMH07Xy5EZD1mdW5jdGlvbihhKXtjb25zdCBiPWEubGVuZ3RoO2lmKGI+MCl7Y29uc3QgYz1BcnJheShiKTtmb3IobGV0IGQ9MDtkPGI7ZCsrKWNbZF09YVtkXTtyZXR1cm4gY31yZXR1cm5bXX07Xy5GZD1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5FZClyZXR1cm4gYS5pO3Rocm93IEVycm9yKCJEIik7fTtIZD1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IEdkKGI9PmIuc3Vic3RyKDAsYS5sZW5ndGgrMSkudG9Mb3dlckNhc2UoKT09PWErIjoiKX07Cl8uSmQ9ZnVuY3Rpb24oYSxiPV8uSWQpe2lmKGEgaW5zdGFuY2VvZiBfLkVkKXJldHVybiBhO2ZvcihsZXQgYz0wO2M8Yi5sZW5ndGg7KytjKXtjb25zdCBkPWJbY107aWYoZCBpbnN0YW5jZW9mIEdkJiZkLlZnKGEpKXJldHVybiBuZXcgXy5FZChhKX19O18uTGQ9ZnVuY3Rpb24oYSl7aWYoS2QudGVzdChhKSlyZXR1cm4gYX07Xy5NZD1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uRWQ/Xy5GZChhKTpfLkxkKGEpfTtfLk5kPWZ1bmN0aW9uKGEsYil7dmFyIGM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBmdW5jdGlvbigpe3ZhciBkPWMuc2xpY2UoKTtkLnB1c2guYXBwbHkoZCxhcmd1bWVudHMpO3JldHVybiBhLmFwcGx5KHRoaXMsZCl9fTtfLk9kPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5zYihhLGIsYywhMSkhPT12b2lkIDB9O18uUGQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5DZChfLkRjKGEsYikpfTsKXy5TPWZ1bmN0aW9uKGEsYil7YT1fLkRjKGEsYik7cmV0dXJuIGE9PW51bGw/YTpOdW1iZXIuaXNGaW5pdGUoYSk/YXwwOnZvaWQgMH07Xy5UPWZ1bmN0aW9uKGEsYixjPTApe3JldHVybiBfLnRiKF8uUGQoYSxiKSxjKX07Xy5RZD1mdW5jdGlvbihhLGIsYz0wKXtyZXR1cm4gXy50YihfLlMoYSxiKSxjKX07UmQ9MDtfLlNkPWZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxfLkhiKSYmYVtfLkhiXXx8KGFbXy5IYl09KytSZCl9O1RkPWZ1bmN0aW9uKGEpe3JldHVybiBhfTtfLlVkPWZ1bmN0aW9uKGEpe3ZhciBiPW51bGwsYz1fLnQudHJ1c3RlZFR5cGVzO2lmKCFjfHwhYy5jcmVhdGVQb2xpY3kpcmV0dXJuIGI7dHJ5e2I9Yy5jcmVhdGVQb2xpY3koYSx7Y3JlYXRlSFRNTDpUZCxjcmVhdGVTY3JpcHQ6VGQsY3JlYXRlU2NyaXB0VVJMOlRkfSl9Y2F0Y2goZCl7Xy50LmNvbnNvbGUmJl8udC5jb25zb2xlLmVycm9yKGQubWVzc2FnZSl9cmV0dXJuIGJ9OwpfLlZkPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEubGFzdEluZGV4T2YoYiwwKT09MH07Xy5XZD1mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGEsYix2b2lkIDApfTt0cnl7KG5ldyBzZWxmLk9mZnNjcmVlbkNhbnZhcygwLDApKS5nZXRDb250ZXh0KCIyZCIpfWNhdGNoKGEpe307dmFyIFhkO18uWWQ9ZnVuY3Rpb24oKXtYZD09PXZvaWQgMCYmKFhkPV8uVWQoIm9nYi1xdG0jaHRtbCIpKTtyZXR1cm4gWGR9O3ZhciBhZTtfLlpkPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaT1hfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuaSsiIn19O18uJGQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLlpkJiZhLmNvbnN0cnVjdG9yPT09Xy5aZD9hLmk6InR5cGVfZXJyb3I6VHJ1c3RlZFJlc291cmNlVXJsIn07YWU9e307Xy5iZT1mdW5jdGlvbihhKXtjb25zdCBiPV8uWWQoKTthPWI/Yi5jcmVhdGVTY3JpcHRVUkwoYSk6YTtyZXR1cm4gbmV3IF8uWmQoYSxhZSl9O18uRWQ9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5pPWF9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5pfX07Xy5jZT1uZXcgXy5FZCgiYWJvdXQ6aW52YWxpZCN6Q2xvc3VyZXoiKTt2YXIgR2QsS2Q7R2Q9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5WZz1hfX07Xy5JZD1bSGQoImRhdGEiKSxIZCgiaHR0cCIpLEhkKCJodHRwcyIpLEhkKCJtYWlsdG8iKSxIZCgiZnRwIiksbmV3IEdkKGE9Pi9eW146XSooWy8/I118JCkvLnRlc3QoYSkpXTtLZD0vXlxzKig/IWphdmFzY3JpcHQ6KSg/OltcdysuLV0rOnxbXjovPyNdKig/OlsvPyNdfCQpKS9pO18uZGU9e307Xy5lZT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmk9YX10b1N0cmluZygpe3JldHVybiB0aGlzLmkudG9TdHJpbmcoKX19O18uZmU9bmV3IF8uZWUoIiIsXy5kZSk7Xy5nZT1SZWdFeHAoIl5bLSssLlwiJyVfISMvIGEtekEtWjAtOVxcW1xcXV0rJCIpO18uaGU9UmVnRXhwKCJcXGIodXJsXFwoWyBcdFxuXSopKCdbIC0mKC1cXFtcXF0tfl0qJ3xcIlsgISMtXFxbXFxdLX5dKlwifFshIy0mKi1cXFtcXF0tfl0qKShbIFx0XG5dKlxcKSkiLCJnIik7Xy5pZT1SZWdFeHAoIlxcYihjYWxjfGN1YmljLWJlemllcnxmaXQtY29udGVudHxoc2x8aHNsYXxsaW5lYXItZ3JhZGllbnR8bWF0cml4fG1pbm1heHxyYWRpYWwtZ3JhZGllbnR8cmVwZWF0fHJnYnxyZ2JhfChyb3RhdGV8c2NhbGV8dHJhbnNsYXRlKShYfFl8WnwzZCk/fHN0ZXBzfHZhcilcXChbLSsqLzAtOWEtekEtWi4lI1xcW1xcXSwgXStcXCkiLCJnIik7Xy5qZT17fTtfLmxlPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluc3RhbmNlb2YgXy5rZSYmYS5jb25zdHJ1Y3Rvcj09PV8ua2U/YS5pOiJ0eXBlX2Vycm9yOlNhZmVIdG1sIn07Xy5rZT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmk9YX10b1N0cmluZygpe3JldHVybiB0aGlzLmkudG9TdHJpbmcoKX19O18ubWU9bmV3IF8ua2UoXy50LnRydXN0ZWRUeXBlcyYmXy50LnRydXN0ZWRUeXBlcy5lbXB0eUhUTUx8fCIiLF8uamUpO18ubmU9ZnVuY3Rpb24oYSl7bGV0IGI9ITEsYztyZXR1cm4gZnVuY3Rpb24oKXtifHwoYz1hKCksYj0hMCk7cmV0dXJuIGN9fShmdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Yi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7YS5hcHBlbmRDaGlsZChiKTtiPWEuZmlyc3RDaGlsZC5maXJzdENoaWxkO2EuaW5uZXJIVE1MPV8ubGUoXy5tZSk7cmV0dXJuIWIucGFyZW50RWxlbWVudH0pO18ub2U9ZnVuY3Rpb24oYSxiKXt0aGlzLndpZHRoPWE7dGhpcy5oZWlnaHQ9Yn07Xy5uPV8ub2UucHJvdG90eXBlO18ubi5hc3BlY3RSYXRpbz1mdW5jdGlvbigpe3JldHVybiB0aGlzLndpZHRoL3RoaXMuaGVpZ2h0fTtfLm4uRWI9ZnVuY3Rpb24oKXtyZXR1cm4hKHRoaXMud2lkdGgqdGhpcy5oZWlnaHQpfTtfLm4uY2VpbD1mdW5jdGlvbigpe3RoaXMud2lkdGg9TWF0aC5jZWlsKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguY2VpbCh0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9O18ubi5mbG9vcj1mdW5jdGlvbigpe3RoaXMud2lkdGg9TWF0aC5mbG9vcih0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmZsb29yKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5uLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLnJvdW5kKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGgucm91bmQodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLlU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1ifHxkb2N1bWVudDtpZihjLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpYT1jLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoYSlbMF07ZWxzZXtjPWRvY3VtZW50O3ZhciBkPWJ8fGM7YT1kLnF1ZXJ5U2VsZWN0b3JBbGwmJmQucXVlcnlTZWxlY3RvciYmYT9kLnF1ZXJ5U2VsZWN0b3IoYT8iLiIrYToiIik6Xy5wZShjLGEsYilbMF18fG51bGx9cmV0dXJuIGF8fG51bGx9OwpfLnBlPWZ1bmN0aW9uKGEsYixjKXt2YXIgZDthPWN8fGE7aWYoYS5xdWVyeVNlbGVjdG9yQWxsJiZhLnF1ZXJ5U2VsZWN0b3ImJmIpcmV0dXJuIGEucXVlcnlTZWxlY3RvckFsbChiPyIuIitiOiIiKTtpZihiJiZhLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpe3ZhciBlPWEuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShiKTtyZXR1cm4gZX1lPWEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKTtpZihiKXt2YXIgZj17fTtmb3IoYz1kPTA7YT1lW2NdO2MrKyl7dmFyIGc9YS5jbGFzc05hbWU7dHlwZW9mIGcuc3BsaXQ9PSJmdW5jdGlvbiImJl8udGEoZy5zcGxpdCgvXHMrLyksYikmJihmW2QrK109YSl9Zi5sZW5ndGg9ZDtyZXR1cm4gZn1yZXR1cm4gZX07Xy5yZT1mdW5jdGlvbihhKXtyZXR1cm4gXy5xZShkb2N1bWVudCxhKX07Cl8ucWU9ZnVuY3Rpb24oYSxiKXtiPVN0cmluZyhiKTthLmNvbnRlbnRUeXBlPT09ImFwcGxpY2F0aW9uL3hodG1sK3htbCImJihiPWIudG9Mb3dlckNhc2UoKSk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChiKX07Xy5zZT1mdW5jdGlvbihhKXtmb3IodmFyIGI7Yj1hLmZpcnN0Q2hpbGQ7KWEucmVtb3ZlQ2hpbGQoYil9O18udGU9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubm9kZVR5cGU9PTk/YTphLm93bmVyRG9jdW1lbnR8fGEuZG9jdW1lbnR9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLldpPWZ1bmN0aW9uKGEsYil7bGV0IGMsZDtyZXR1cm4oYj0oZD0oYz1iLmRvY3VtZW50KS5xdWVyeVNlbGVjdG9yKT09bnVsbD92b2lkIDA6ZC5jYWxsKGMsYCR7YX1bbm9uY2VdYCkpP2Iubm9uY2V8fGIuZ2V0QXR0cmlidXRlKCJub25jZSIpfHwiIjoiIn07Xy5YaT1mdW5jdGlvbihhKXtjb25zdCBiPV8uV2koInNjcmlwdCIsYS5vd25lckRvY3VtZW50JiZhLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXd8fHdpbmRvdyk7YiYmYS5zZXRBdHRyaWJ1dGUoIm5vbmNlIixiKX07Xy5ZaT1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4gbnVsbDthPV8uSihhLDQpO3ZhciBiO2E9PT1udWxsfHxhPT09dm9pZCAwP2I9bnVsbDpiPV8uYmUoYSk7cmV0dXJuIGJ9O18uWmk9Y2xhc3MgZXh0ZW5kcyBfLlF7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTtfLiRpPWZ1bmN0aW9uKGEsYil7cmV0dXJuKGJ8fGRvY3VtZW50KS5nZXRFbGVtZW50c0J5VGFnTmFtZShTdHJpbmcoYSkpfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGJqPWZ1bmN0aW9uKGEsYixjKXthPGI/YWooYSsxLGIpOl8uUGMubG9nKEVycm9yKCJjYWAiK2ErImAiK2IpLHt1cmw6Y30pfSxhaj1mdW5jdGlvbihhLGIpe2lmKGNqKXtjb25zdCBjPV8ucmUoIlNDUklQVCIpO2MuYXN5bmM9ITA7Yy50eXBlPSJ0ZXh0L2phdmFzY3JpcHQiO2MuY2hhcnNldD0iVVRGLTgiO2Muc3JjPV8uJGQoY2opO18uWGkoYyk7Yy5vbmVycm9yPV8uTmQoYmosYSxiLGMuc3JjKTtfLiRpKCJIRUFEIilbMF0uYXBwZW5kQ2hpbGQoYyl9fSxkaj1jbGFzcyBleHRlbmRzIF8uUXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciBlaj1fLkYoXy5hZCxkaiwxNyl8fG5ldyBkaixmaixjaj0oZmo9Xy5GKGVqLF8uWmksMSkpP18uWWkoZmopOm51bGwsZ2osaGo9KGdqPV8uRihlaixfLlppLDIpKT9fLllpKGdqKTpudWxsLGlqPWZ1bmN0aW9uKCl7YWooMSwyKTtpZihoail7Y29uc3QgYT1fLnJlKCJMSU5LIik7YS5zZXRBdHRyaWJ1dGUoInR5cGUiLCJ0ZXh0L2NzcyIpO2EuaHJlZj1fLiRkKGhqKS50b1N0cmluZygpO2EucmVsPSJzdHlsZXNoZWV0IjtsZXQgYj1fLldpKCJzdHlsZSIsd2luZG93KTtiJiZhLnNldEF0dHJpYnV0ZSgibm9uY2UiLGIpO18uJGkoIkhFQUQiKVswXS5hcHBlbmRDaGlsZChhKX19OyhmdW5jdGlvbigpe2NvbnN0IGE9Xy5iZCgpO2lmKF8uSShhLDE4KSlpaigpO2Vsc2V7Y29uc3QgYj1fLlBkKGEsMTkpfHwwO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwoKT0+e3dpbmRvdy5zZXRUaW1lb3V0KGlqLGIpfSl9fSkoKTsKfWNhdGNoKGUpe18uX0R1bXB