diff --git a/src/gh/diffCheck/diffCheck/__pycache__/__init__.cpython-39.pyc b/src/gh/diffCheck/diffCheck/__pycache__/__init__.cpython-39.pyc index 7a9f2d08..7a72282f 100644 Binary files a/src/gh/diffCheck/diffCheck/__pycache__/__init__.cpython-39.pyc and b/src/gh/diffCheck/diffCheck/__pycache__/__init__.cpython-39.pyc differ diff --git a/src/gh/diffCheck/diffCheck/__pycache__/df_geometries.cpython-39.pyc b/src/gh/diffCheck/diffCheck/__pycache__/df_geometries.cpython-39.pyc index 37b36f2c..c86b6308 100644 Binary files a/src/gh/diffCheck/diffCheck/__pycache__/df_geometries.cpython-39.pyc and b/src/gh/diffCheck/diffCheck/__pycache__/df_geometries.cpython-39.pyc differ diff --git a/src/gh/diffCheck/diffCheck/__pycache__/df_joint_detector.cpython-39.pyc b/src/gh/diffCheck/diffCheck/__pycache__/df_joint_detector.cpython-39.pyc index b2161185..b7168bca 100644 Binary files a/src/gh/diffCheck/diffCheck/__pycache__/df_joint_detector.cpython-39.pyc and b/src/gh/diffCheck/diffCheck/__pycache__/df_joint_detector.cpython-39.pyc differ diff --git a/src/gh/diffCheck/diffCheck/__pycache__/df_transformations.cpython-39.pyc b/src/gh/diffCheck/diffCheck/__pycache__/df_transformations.cpython-39.pyc index b58b85f5..5c882e72 100644 Binary files a/src/gh/diffCheck/diffCheck/__pycache__/df_transformations.cpython-39.pyc and b/src/gh/diffCheck/diffCheck/__pycache__/df_transformations.cpython-39.pyc differ diff --git a/src/gh/diffCheck/diffCheck/__pycache__/df_util.cpython-39.pyc b/src/gh/diffCheck/diffCheck/__pycache__/df_util.cpython-39.pyc index 71ed6808..c27d9906 100644 Binary files a/src/gh/diffCheck/diffCheck/__pycache__/df_util.cpython-39.pyc and b/src/gh/diffCheck/diffCheck/__pycache__/df_util.cpython-39.pyc differ diff --git a/src/gh/diffCheck/diffCheck/dlls/.gitkeep b/src/gh/diffCheck/diffCheck/dlls/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/src/gh/examples/tester.ghx b/src/gh/examples/tester.ghx index 80f09b3d..13fcbfd7 100644 --- a/src/gh/examples/tester.ghx +++ b/src/gh/examples/tester.ghx @@ -49,10 +49,10 @@ - -2369 - 216 + -421 + 402 - 1.764706 + 0.7830096 @@ -81,9 +81,9 @@ - 4 + 2 - + Robert McNeel & Associates @@ -93,22 +93,6 @@ - - Robert McNeel & Associates - 00000000-0000-0000-0000-000000000000 - Grasshopper - 8.6.24101.5001 - - - - - Robert McNeel & Associates - 00000000-0000-0000-0000-000000000000 - Grasshopper - 8.6.24101.5001 - - - RhinoCodePluginGH, Version=8.6.24101.5001, Culture=neutral, PublicKeyToken=552281e97c755530 8.6.24101.5001 @@ -122,9 +106,9 @@ - 23 + 18 - + c9b2d725-6f87-4b07-af90-bd9aefef68eb @@ -156,14 +140,14 @@ - 402 - 72 + 359 + 69 171 84 - 509 - 114 + 466 + 111 @@ -202,14 +186,14 @@ - 404 - 74 + 361 + 71 90 20 - 450.5 - 84 + 407.5 + 81 @@ -237,14 +221,14 @@ - 404 - 94 + 361 + 91 90 20 - 450.5 - 104 + 407.5 + 101 @@ -272,14 +256,14 @@ - 404 - 114 + 361 + 111 90 20 - 450.5 - 124 + 407.5 + 121 @@ -308,14 +292,14 @@ - 404 - 134 + 361 + 131 90 20 - 450.5 - 144 + 407.5 + 141 @@ -342,14 +326,14 @@ - 524 - 74 + 481 + 71 47 26 - 547.5 - 87.333336 + 504.5 + 84.333336 @@ -376,14 +360,14 @@ - 524 - 100 + 481 + 97 47 27 - 547.5 - 114 + 504.5 + 111 @@ -410,14 +394,14 @@ - 524 - 127 + 481 + 124 47 27 - 547.5 - 140.66666 + 504.5 + 137.66666 @@ -465,8 +449,8 @@ - 309 - 64 + 266 + 61 66 22 @@ -495,14 +479,14 @@ - 322 - 140 + 280 + 137 50 24 - 347.8968 - 152.276 + 305.54385 + 149.92307 @@ -520,7 +504,7 @@ - 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cXiCVc/rr/M8wd3Wzc2vr7ADkftMJx9a4A0GHvFoU3xXaTByZrSLlYc3eJ1xz/X4mq9Sl/ZlUutZe4E9+lsuDD6TJ/3l5PHC10aUb65zlmwjvLQ8N0M2EI35o8KBJkbwW813V69AfgSe28TAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADx/wAAAP//AwA= + 7H0HWBQ79/ewdCkCiiAiTbGAIiBiZTfuogiIUsQGIt3eK4q99957wd4Ldljsir333q+9XivfZE3WGGeQfa/+v4Unv+cZhswks+ckOclJcnLC6XAcl8MD3iFMJfyfyPDWbTp2UnTq0KFTxwpOjZO6dmvTqaNfNQ9fD28fL08vjyqenl4VnBQ92nfv0TXJr2NSj+5d49pXcArtEd++TUJwUkqjTu2SOvpVqeLtXc0rqXrVhKpVqlSp7KkPf6OI6tMeAUmdOiR175riIe+a1FmPf27Y8/uvFIrrmtC6Tc+kyokdjDt1TurYsUfX+G56iXHd42AkIyMjCSTQoizHeUNqu1iYGuvy/xSGf44d1+EknwZIOCX/D8TnHAlXFDGm2NvppdsSo7rzLi0/s/+Em2+5b2tqfOHfj0RxvbmBHHg35Htki7n8H/gcfm0P+gL5teKW62PCTM5ZZn7jLIbouLwMskuxgV8bht5bQCoh4B3//wMvZb88+v48k35Cpg0Lt5xZebQbgM88dlS7Nr1kU4Df4TCO82HZl4ScAZKB+L3WMLN3UN1+/4ZGAEwwfLbh+uG+Kd6V1cTTDHc0G7tHK5nByFARaqdihiYeh++FfY8zwbZuXa1kBpfItv1vZj5b3lywmuF3OPz0jk2SVjIjJDM08TiM41x+9/x5vikZmni6AVC4xY7USmZya81oZnDcnn6zdLWSGVwKi/as/edY1VaC1Qy/w+EbD6ymaSUzlo8St/patQZvpNNr7I1vo2ImpWvjJXqBLdQlQ1e7Rdfuv9ZKZnJrAGhmcNymHceMz7dNMw4HRV+6vzW8NNjw5lNivpEZmvgJhfx7rWripQ43VN5WaiUzGGuRCvPr9368w+GIkCtDtJKZAlnN+qAWTKiatTO5cHpAaqQ6fDegkXZqzXrBH44/jC2pRI8Gwmfzm95+d/RCqLo1m4fCi5q5xw/YbANGSC/mH2ZaeyXYrQ5sCNA7gMM43aF12Q20kpmFKLfJfuZ28xVBt6wDAH53C4VxnODCH1rnG2Zysj/c9rqboC4J7tj3sASVlGFP391ayQySDyXKfSV8RssIXVK3l7UfrZXM4CqEhR4+O5mdEl/7Wx1160XLTPqN3tlayYyaIFSF4DPcTOOSoRXPQ284l3zDzJ19GS02vGykLonbKIzjdOGiruWbpvnciVc7OgXFqUsCh7HMhCx7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WuLweOseN17neIN7LZta3lhuDyL3mU86NN8XDDji1arwrhJgxIxoN2svX/A6/b778dVfZW5tS6bUKuYD9hhuuTDoTI7sl5PH818bce3huWFkG+Gj470ZsoFozB1lDjQygd9qurtyGfIj8NwmBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGiP8HAAD//wMA 00000000-0000-0000-0000-000000000000 @@ -554,8 +538,8 @@ - 275 - 92 + 232 + 89 102 20 @@ -563,8 +547,8 @@ 0 0 - 275.03357 - 92.19759 + 232.68063 + 89.84465 @@ -606,14 +590,14 @@ - 320 - 114 + 278 + 112 50 24 - 345.3612 - 126.547585 + 303.00827 + 124.19464 @@ -674,29 +658,27 @@ - 1587 - -39 + 1798 + 54 195 - 84 + 44 - 1702 - 3 + 1913 + 76 - - 4 + + 2 08908df5-fa14-4982-9ab2-1aa0927566aa 08908df5-fa14-4982-9ab2-1aa0927566aa - 08908df5-fa14-4982-9ab2-1aa0927566aa - 08908df5-fa14-4982-9ab2-1aa0927566aa 2 08908df5-fa14-4982-9ab2-1aa0927566aa 08908df5-fa14-4982-9ab2-1aa0927566aa - + true @@ -719,14 +701,14 @@ - 1589 - -37 + 1800 + 56 98 20 - 1639.5 - -27 + 1850.5 + 66 @@ -755,84 +737,14 @@ - 1589 - -17 - 98 - 20 - - - 1639.5 - -7 - - - - - - - - true - Converts to collection of polygon meshes - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAARYSURBVEhL1VVHSJ1pFLUQUZTYu7H3Hk2xGyuIvVfsILpIdBeMjAoyKhhQcaUSdaWIEhQUFHVhLAjRENzoSlCQWajIYJnMGM585+rIkEwSZzXMhY/H/7/3zr3nnHvvp/FfhZOmpuaF+sS/ODnq3C10dXW3BgYGsLq6iuXlZSwtLWFhYQEzMzMYHh5GZ2cnampqkJWVhYiICLi5uUEVdKj+qnON8J3Q1tZOT05O/mNoaAhPnz4VAAJFRUWhvLwcAQEBCAkJQXp6Ovz9/REaGgpvb28YGBicaWlpvbqB+WboGBoaHo+OjqKkpAQxMTGoqKhAUlKSJGttbUVCQgJevnyJyMhIuLu7Izs7Gz4+PggMDIRKcK4wbK+h/iHu3bv3swK8amlpQUFBAerq6pCRkSFgYWFhGBsbw8jICNLS0gTUw8MD9fX1yMnJERaquE9Kqrc3cF+Fk5WV1W99fX0oLCwU8La2NgwODmJqakp8WFlZwdraGt69e4e5uTmMj4+jp6cHDQ0NwoRyKYnJIvAa8m+hvljmjyhNcXExGhsbERsbK4faE3hnZwfBwcEiR25uLmZnZzExMQFHR0fY2dnB1dUVDg4OnxWLrRvY20g2MzO7zMvLgzIYiYmJaG9vR3R0NMrKyrCxsYHq6mocHh5KAhbx8eNHqXpxcVESBAUFITU1VTpKT0/vTGEWXUMrY1X1v7Az2DHh4eFiKKlTKrYpwfnu9PRUTN/f3xeWNJnJybKpqQmenp5QMos3isWJwjbQUM7/ZGpqekn9Hj58KJU8evQI9GJychKlpaV48uSJvLu4uMDx8bFIRjBWu7m5KeazQAsLC5iYmMDPzw/m5uYc1HYNlelXdgBfkj475Pnz5+jt7ZXB2trawt7eHo6OjiTB1dUVLi8v5Znv379/j+npaXR1dYmcLNTJyUnmRSU4ZYLXRkZG50zg5eUlSSorK2VaaSYPpdrd3cXJyYn8hhKwNVk9zbexsYGlpaUwogJU4sGDB2TwWh0NA+rFrKRNH6g3NfX19ZU5YFtyLg4ODm6Hi8xSUlIwPz8vuvO3HEgaTrmUr9ce3ESRjo7OGStjEoLU1tbi2bNn4MqgbHy3vb0tK2J9fV26ja3JqWfFRUVF8szilBechdsuklAsPpCms7MzXFxcRAIOG1uVzzx/LTy2sa2tLaytrdHR0YGqqir2v8zB48ePPyu4r+aAEcFdQqloOpcbk5BJc3Mzuru7ZarfvHmD/v5+eaaMbGGyUcDC7v79+9Q++Bryi1As3qo2+8RKKBUp83DvsP9fvHghVZMpv8/MzERcXBxBxVy1XX9XMN/cRQxbsqDe9vb2Yp7qBtGV0tFE1d9iJBcgv2fn8JMslI/f36Y38crY2PicXaHWhwBygNQwSnuyejLks7oDoK+vL5OsPCL4D+8Dho6S6oiycG3QZALwHiADtia15iVEj/Lz8xEfH3/3G+0m8tX58s790bn7nfw/Cg2NPwGZ3c2r5lT8fwAAAABJRU5ErkJggg== - - 707c3b41-7d9a-4530-94d4-78b37cbdae66 - i_mesh - i_mesh - true - 0 - true - e416fc7a-5aa7-46a8-9822-817c9fff706a - 1 - - 794a1f9d-21d5-4379-b987-9e8bbf433912 - - - - - - 1589 - 3 - 98 - 20 - - - 1639.5 - 13 - - - - - - - - true - Converts to collection of integer numbers - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAOdSURBVEhL1VU5SGNRFI2KQSTuu3E37rvRuOGCCwhRAioOphPsbKxEUIIgDFiksbXQRsRCgjbaaBGwESdgZWWlMDPIDCl0Js5MOHPPS/7H0bhMNcyFS15+fs4995z73jP8q7BERUV9k0/8Rb6TfFvExcV9WF9fx8nJCbxeL46OjnBwcIDd3V1sbm5idXUVMzMzsNvt6OrqQllZGYTQR/mrMYTwQsTExDjkjz83NjbQ1tam0mazoaWlBc3NzWhoaEBtbS0qKysVcHFxMaqrq2EymW6jo6MXwzDPhjEpKenL9vY2xsfHFTtmZ2enKsQiTU1NqKurU6Dl5eUoLS1VWVJSAilwJxjmEFSEiI2NfT89Pf1reXkZ3d3d2Nrawktxfn6uwIuKilQnQu5epPKE4Z6EJTs7O7C2toaBgQH09vbi4uIiDBU5VlZWYLFYVIH8/Hzk5eXRC3ZhDUE+CNHeOzY2hqmpKSXL6OgogsEgfD4f9vf3sbe3B4/Ho4y+vr5Wv1E2rQDBc3JykJKSEpQivjCsHvb09PTvk5OT6k/UfH5+HktLS6oTysVnNLu1tRU3Nzc4Pj5GRUWFLhELiAIoKCiATOGtYDpD0GKssP/U3t4OJo3UikQyeXZ2VskzNzenm1xYWAiz2YysrCxVhAWli6+CbTKI8660tLTvBOcIchQJRLYEZT4c08PDQ/j9fjQ2NupjSv1zc3ORmZmJ1NRUVVTW3Khug1TyV1VVqdlmsghH0Wq1/pF8xm4CgQB2dnZ09g/1z8jIoAeqUH19PXe3nwXcMl53nG2tENcsRJZMrvnM5XIpeZxOpzL3IXvKI0ogOTlZ4cjzUAfUiXrxZe5OJjdRTU2N3hXXfHZ6eoqrqysdnIZSe+pO9pSHnVBS8TXkQTicRqPxlm1TV35yQrSCXPf19Sn23CcauCYNJdHY0zP5zr2gT5EKzi5f5JantkwyZXLtdrtVAY4tZSHzx+B8V8Y4KHBP9gHDxrOEpkXKy8tLnJ2dKdbUnLJo4DSW8gwNDSExMZHaP93JDOnCIy/ekzGBtBwZGVHsFxYWFGsaSs015gKqRlgm54fAPHsWMczsgh5QBrLUkqBkrAGTsUwfEhIS1O+8G8THl0/TcCxKy3ecHDk+9NRAKYfGWu4AxMfHo7+/nz4R/NX7gGEUqT5zLDs6OtDT06MAqO/w8LBi6nA4wINxYmICPL8GBwfffqOFg/fr4zv3tXz7nfwfhcHwG4jlh0fOcQdLAAAAAElFTkSuQmCC - - ee0d9a54-793a-4524-ad51-9c4968c6ddb3 - i_points - i_points - true - 0 - true - 81dca6aa-a9dc-4dca-8a43-5470a63ddb8a - 1 - - 48d01794-d3d8-4aef-990e-127168822244 - - - - - - 1589 - 23 + 1800 + 76 98 20 - 1639.5 - 33 + 1850.5 + 86 @@ -859,14 +771,14 @@ - 1717 - -37 + 1928 + 56 63 - 40 + 20 - 1748.5 - -17 + 1959.5 + 66 @@ -893,14 +805,14 @@ - 1717 - 3 + 1928 + 76 63 - 40 + 20 - 1748.5 - 23 + 1959.5 + 86 @@ -911,7 +823,7 @@ false - IyEgcHl0aG9uMwoKZnJvbSBnaHB5dGhvbmxpYi5jb21wb25lbnRiYXNlIGltcG9ydCBleGVjdXRpbmdjb21wb25lbnQgYXMgY29tcG9uZW50CgppbXBvcnQgU3lzdGVtCmltcG9ydCBTeXN0ZW0uRHJhd2luZwppbXBvcnQgU3lzdGVtLldpbmRvd3MuRm9ybXMKaW1wb3J0IFJoaW5vCmltcG9ydCBHcmFzc2hvcHBlcgppbXBvcnQgR3Jhc3Nob3BwZXIgYXMgZ2gKZnJvbSBHcmFzc2hvcHBlci5LZXJuZWwgaW1wb3J0IEdIX1J1bnRpbWVNZXNzYWdlTGV2ZWwgYXMgUk1MCmltcG9ydCBzeXMKaW1wb3J0IG9zCmltcG9ydCB0aW1lCgppbXBvcnQgY29udGV4dGxpYgppbXBvcnQgaW8KCmltcG9ydCBhYmMKaW1wb3J0IHNvY2tldAppbXBvcnQgdGhyZWFkaW5nCmltcG9ydCBxdWV1ZQppbXBvcnQganNvbgoKaW1wb3J0IGltcG9ydGxpYgppbXBvcnQgaW5zcGVjdAppbXBvcnQgc3lzCgoKY2xhc3MgR0hUaHJlYWQodGhyZWFkaW5nLlRocmVhZCwgbWV0YWNsYXNzPWFiYy5BQkNNZXRhKToKICAgICIiIgogICAgICAgIEEgYmFzZSBjbGFzcyBmb3IgR3Jhc3Nob3BwZXIgdGhyZWFkcy4KICAgICIiIgogICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUgOiBzdHIpOgogICAgICAgIHN1cGVyKCkuX19pbml0X18obmFtZT1uYW1lLCBkYWVtb249RmFsc2UpCiAgICAgICAgc2VsZi5fY29tcG9uZW50X29uX2NhbnZhcyA9IFRydWUKICAgICAgICBzZWxmLl9jb21wb25lbnRfZW5hYmxlZCA9IFRydWUKCiAgICBAYWJjLmFic3RyYWN0bWV0aG9kCiAgICBkZWYgcnVuKHNlbGYpOgogICAgICAgICIiIiBSdW4gdGhlIHRocmVhZC4gIiIiCiAgICAgICAgcGFzcwoKICAgIGRlZiBfY2hlY2tfaWZfY29tcG9uZW50X29uX2NhbnZhcyhzZWxmKToKICAgICAgICAiIiIgQ2hlY2sgaWYgdGhlIGNvbXBvbmVudCBpcyBvbiBjYW52YXMgZnJvbSB0aHJlYWQuICIiIgogICAgICAgIGRlZiBfX2NoZWNrX2lmX2NvbXBvbmVudF9vbl9jYW52YXMoKToKICAgICAgICAgICAgaWYgZ2hlbnYuQ29tcG9uZW50Lk9uUGluZ0RvY3VtZW50KCkgaXMgTm9uZToKICAgICAgICAgICAgICAgIHNlbGYuX2NvbXBvbmVudF9vbl9jYW52YXMgPSBGYWxzZQogICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBzZWxmLl9jb21wb25lbnRfb25fY2FudmFzID0gVHJ1ZQogICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKICAgICAgICBhY3Rpb24gPSBTeXN0ZW0uQWN0aW9uKF9fY2hlY2tfaWZfY29tcG9uZW50X29uX2NhbnZhcykKICAgICAgICBSaGluby5SaGlub0FwcC5JbnZva2VPblVpVGhyZWFkKGFjdGlvbikKCiAgICBkZWYgX2NoZWNrX2lmX2NvbXBvbmVudF9lbmFibGVkKHNlbGYpOgogICAgICAgICIiIiBDaGVjayBpZiB0aGUgY29tcG9uZW50IGlzIGVuYWJsZWQgZnJvbSB0aHJlYWQuICIiIgogICAgICAgIGRlZiBfX2NoZWNrX2lmX2NvbXBvbmVudF9lbmFibGVkKCk6CiAgICAgICAgICAgIGlmIGdoZW52LkNvbXBvbmVudC5Mb2NrZWQ6CiAgICAgICAgICAgICAgICBzZWxmLl9jb21wb25lbnRfZW5hYmxlZCA9IEZhbHNlCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBzZWxmLl9jb21wb25lbnRfZW5hYmxlZCA9IFRydWUKICAgICAgICBhY3Rpb24gPSBTeXN0ZW0uQWN0aW9uKF9fY2hlY2tfaWZfY29tcG9uZW50X2VuYWJsZWQpCiAgICAgICAgUmhpbm8uUmhpbm9BcHAuSW52b2tlT25VaVRocmVhZChhY3Rpb24pCgogICAgZGVmIGV4cGlyZV9jb21wb25lbnRfc29sdXRpb24oc2VsZik6CiAgICAgICAgIiIiIEZpcmUgdGhlIHJlY2FsY3VsYXRpb24gb2YgdGhlIGNvbXBvbmVudCBzb2x1dGlvbiBmcm9tIHRocmVhZC4gIiIiCiAgICAgICAgZGVmIF9fZXhwaXJlX2NvbXBvbmVudF9zb2x1dGlvbigpOgogICAgICAgICAgICBnaGVudi5Db21wb25lbnQuUGFyYW1zLk91dHB1dFswXS5DbGVhckRhdGEoKSAgIyBjbGVhciB0aGUgb3V0cHV0CiAgICAgICAgICAgIGdoZW52LkNvbXBvbmVudC5FeHBpcmVTb2x1dGlvbihUcnVlKSAgIyBleHBpcmUgdGhlIGNvbXBvbmVudAogICAgICAgIGFjdGlvbiA9IFN5c3RlbS5BY3Rpb24oX19leHBpcmVfY29tcG9uZW50X3NvbHV0aW9uKQogICAgICAgIFJoaW5vLlJoaW5vQXBwLkludm9rZU9uVWlUaHJlYWQoYWN0aW9uKQoKICAgIGRlZiBjbGVhcl9jb21wb25lbnQoc2VsZik6CiAgICAgICAgIiIiIENsZWFyIHRoZSBjb21wb25lbnQgZnJvbSB0aHJlYWQuICIiIgogICAgICAgIGRlZiBfX2NsZWFyX2NvbXBvbmVudCgpOgogICAgICAgICAgICBnaGVudi5Db21wb25lbnQuQ2xlYXJEYXRhKCkKICAgICAgICBhY3Rpb24gPSBTeXN0ZW0uQWN0aW9uKF9fY2xlYXJfY29tcG9uZW50KQogICAgICAgIFJoaW5vLlJoaW5vQXBwLkludm9rZU9uVWlUaHJlYWQoYWN0aW9uKQoKICAgIGRlZiBhZGRfcnVudGltZV93YXJuaW5nKHNlbGYsIGV4Y2VwdGlvbiA6IHN0cik6CiAgICAgICAgIiIiIEFkZCBhIHdhcm5pbmcgdGFiIHRvIHRoZSBjb21wb25lbnQgZnJvbSBtYWluIHRocmVhZC4gIiIiCiAgICAgICAgYWN0aW9uID0gU3lzdGVtLkFjdGlvbigKICAgICAgICAgICAgbGFtYmRhOiBnaGVudi5Db21wb25lbnQuQWRkUnVudGltZU1lc3NhZ2UoUk1MLldhcm5pbmcsIGV4Y2VwdGlvbikKICAgICAgICApCiAgICAgICAgUmhpbm8uUmhpbm9BcHAuSW52b2tlT25VaVRocmVhZChhY3Rpb24pCgogICAgZGVmIGFkZF9ydW50aW1lX2Vycm9yKHNlbGYsIGV4Y2VwdGlvbiA6IHN0cik6CiAgICAgICAgIiIiIEFkZCBhbiBlcnJvciB0YWIgdG8gdGhlIGNvbXBvbmVudCBmcm9tIG1haW4gdGhyZWFkLiAiIiIKICAgICAgICBhY3Rpb24gPSBTeXN0ZW0uQWN0aW9uKAogICAgICAgICAgICBsYW1iZGE6IGdoZW52LkNvbXBvbmVudC5BZGRSdW50aW1lTWVzc2FnZShSTUwuRXJyb3IsIGV4Y2VwdGlvbikKICAgICAgICApCiAgICAgICAgUmhpbm8uUmhpbm9BcHAuSW52b2tlT25VaVRocmVhZChhY3Rpb24pCgogICAgZGVmIGFkZF9ydW50aW1lX3JlbWFyayhzZWxmLCBleGNlcHRpb24gOiBzdHIpOgogICAgICAgICIiIiBBZGQgYSBibGFuayB0YWIgdG8gdGhlIGNvbXBvbmVudCBmcm9tIG1haW4gdGhyZWFkLiAiIiIKICAgICAgICBhY3Rpb24gPSBTeXN0ZW0uQWN0aW9uKAogICAgICAgICAgICBsYW1iZGE6IGdoZW52LkNvbXBvbmVudC5BZGRSdW50aW1lTWVzc2FnZShSTUwuUmVtYXJrLCBleGNlcHRpb24pCiAgICAgICAgKQogICAgICAgIFJoaW5vLlJoaW5vQXBwLkludm9rZU9uVWlUaHJlYWQoYWN0aW9uKQoKICAgIEBwcm9wZXJ0eQogICAgZGVmIGNvbXBvbmVudF9lbmFibGVkKHNlbGYpOgogICAgICAgIHNlbGYuX2NoZWNrX2lmX2NvbXBvbmVudF9lbmFibGVkKCkKICAgICAgICByZXR1cm4gc2VsZi5fY29tcG9uZW50X2VuYWJsZWQKCiAgICBAcHJvcGVydHkKICAgIGRlZiBjb21wb25lbnRfb25fY2FudmFzKHNlbGYpOgogICAgICAgIHNlbGYuX2NoZWNrX2lmX2NvbXBvbmVudF9vbl9jYW52YXMoKQogICAgICAgIHJldHVybiBzZWxmLl9jb21wb25lbnRfb25fY2FudmFzCgpjbGFzcyBDbGllbnRUaHJlYWQoR0hUaHJlYWQpOgogICAgIiIiCiAgICBBIHRocmVhZCB0byBjb25uZWN0IHRvIHRoZSBWU0NvZGUgc2VydmVyLgogICAgIiIiCiAgICBkZWYgX19pbml0X18oc2VsZiwgdnNjb2RlX3NlcnZlcl9pcDogc3RyLCB2c2NvZGVfc2VydmVyX3BvcnQ6IGludCwgbmFtZTogc3RyLAogICAgICAgICAgICAgICAgIHF1ZXVlX21zZzogcXVldWUuUXVldWUgPSBOb25lLCBsb2NrX3F1ZXVlX21zZzogdGhyZWFkaW5nLkxvY2sgPSBOb25lLAogICAgICAgICAgICAgICAgIGV2ZW50X2ZpcmVfbXNnOiB0aHJlYWRpbmcuRXZlbnQgPSBOb25lKToKICAgICAgICBzdXBlcigpLl9faW5pdF9fKG5hbWU9bmFtZSkKICAgICAgICBzZWxmLnZzY29kZV9zZXJ2ZXJfaXAgPSB2c2NvZGVfc2VydmVyX2lwCiAgICAgICAgc2VsZi52c2NvZGVfc2VydmVyX3BvcnQgPSB2c2NvZGVfc2VydmVyX3BvcnQKICAgICAgICBzZWxmLmlzX2Nvbm5lY3RlZCA9IEZhbHNlCiAgICAgICAgc2VsZi5jb25uZWN0X3JlZnJlc2hfcmF0ZSA9IDEgICMgc2Vjb25kcwogICAgICAgIHNlbGYucXVldWVfbXNnID0gcXVldWVfbXNnCiAgICAgICAgc2VsZi5sb2NrX3F1ZXVlX21zZyA9IGxvY2tfcXVldWVfbXNnCiAgICAgICAgc2VsZi5ldmVudF9maXJlX21zZyA9IGV2ZW50X2ZpcmVfbXNnCiAgICAgICAgc2VsZi5jbGllbnRfc29ja2V0ID0gc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCwgc29ja2V0LlNPQ0tfU1RSRUFNKQoKICAgIGRlZiBydW4oc2VsZik6CiAgICAgICAgIiIiIFJ1biB0aGUgdGhyZWFkLiBTZW5kIHRoZSBtZXNzYWdlIHRvIHRoZSB2c2NvZGUgc2VydmVyLiIiIgogICAgICAgIHdoaWxlIHNlbGYuY29tcG9uZW50X29uX2NhbnZhcyBhbmQgc2VsZi5jb21wb25lbnRfZW5hYmxlZDoKICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgaWYgbm90IHNlbGYuaXNfY29ubmVjdGVkOgogICAgICAgICAgICAgICAgICAgIHNlbGYuY29ubmVjdF90b192c2NvZGVfc2VydmVyKCkKICAgICAgICAgICAgICAgICAgICBzZWxmLmNsZWFyX2NvbXBvbmVudCgpCiAgICAgICAgICAgICAgICAgICAgc2VsZi5leHBpcmVfY29tcG9uZW50X3NvbHV0aW9uKCkKICAgICAgICAgICAgICAgICAgICBjb250aW51ZQoKICAgICAgICAgICAgICAgIHNlbGYuZXZlbnRfZmlyZV9tc2cud2FpdCgpCiAgICAgICAgICAgICAgICBzZWxmLnNlbmRfbWVzc2FnZV9mcm9tX3F1ZXVlKCkKCiAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgICAgIHNlbGYuYWRkX3J1bnRpbWVfd2FybmluZyhmInNjcmlwdC1zeW5jOjpVbmtvd24gZXJyb3IgZnJvbSBydW46IHtzdHIoZSl9IikKICAgICAgICAgICAgICAgIHNlbGYuaXNfY29ubmVjdGVkID0gRmFsc2UKICAgICAgICAgICAgICAgIHNlbGYuY2xpZW50X3NvY2tldCA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQsIHNvY2tldC5TT0NLX1NUUkVBTSkKCiAgICAgICAgc2VsZi5jbGllbnRfc29ja2V0LmNsb3NlKCkKCiAgICBkZWYgc2VuZF9tZXNzYWdlX2Zyb21fcXVldWUoc2VsZik6CiAgICAgICAgd2l0aCBzZWxmLmxvY2tfcXVldWVfbXNnOgogICAgICAgICAgICBpZiBzZWxmLnF1ZXVlX21zZyBhbmQgbm90IHNlbGYucXVldWVfbXNnLmVtcHR5KCk6CiAgICAgICAgICAgICAgICBtc2cgPSBzZWxmLnF1ZXVlX21zZy5nZXQoKQogICAgICAgICAgICAgICAgc2VsZi5xdWV1ZV9tc2cudGFza19kb25lKCkKICAgICAgICAgICAgICAgIHNlbGYuZXZlbnRfZmlyZV9tc2cuc2V0KCkKICAgICAgICAgICAgICAgIHNlbGYuZXZlbnRfZmlyZV9tc2cuY2xlYXIoKQogICAgICAgICAgICAgICAgc2VsZi5jbGllbnRfc29ja2V0LnNlbmQobXNnKQoKICAgIGRlZiBjb25uZWN0X3RvX3ZzY29kZV9zZXJ2ZXIoc2VsZik6CiAgICAgICAgIiIiIENvbm5lY3QgdG8gdGhlIFZTQ29kZSBzZXJ2ZXIuICIiIgogICAgICAgIHdoaWxlIHNlbGYuY29tcG9uZW50X29uX2NhbnZhcyBhbmQgbm90IHNlbGYuaXNfY29ubmVjdGVkOgogICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICBzZWxmLmNsaWVudF9zb2NrZXQuc2VuZChiIiIpCiAgICAgICAgICAgICAgICBzZWxmLmlzX2Nvbm5lY3RlZCA9IFRydWUKICAgICAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvcjoKICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICBzZWxmLmNsaWVudF9zb2NrZXQuY29ubmVjdCgoc2VsZi52c2NvZGVfc2VydmVyX2lwLCBzZWxmLnZzY29kZV9zZXJ2ZXJfcG9ydCkpCiAgICAgICAgICAgICAgICAgICAgc2VsZi5pc19jb25uZWN0ZWQgPSBUcnVlCiAgICAgICAgICAgICAgICBleGNlcHQgKENvbm5lY3Rpb25SZWZ1c2VkRXJyb3IsIENvbm5lY3Rpb25SZXNldEVycm9yLCBzb2NrZXQuZXJyb3IpIGFzIGU6CiAgICAgICAgICAgICAgICAgICAgc2VsZi5oYW5kbGVfY29ubmVjdGlvbl9lcnJvcihlKQogICAgICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICAgICAgdGltZS5zbGVlcChzZWxmLmNvbm5lY3RfcmVmcmVzaF9yYXRlKQoKICAgIGRlZiBoYW5kbGVfY29ubmVjdGlvbl9lcnJvcihzZWxmLCBlKToKICAgICAgICBlcnJvcl9tZXNzYWdlcyA9IHsKICAgICAgICAgICAgQ29ubmVjdGlvblJlZnVzZWRFcnJvcjogInNjcmlwdC1zeW5jOjpDb25uZWN0aW9uIHJlZnVzZWQgYnkgdGhlIHZzY29kZSIsCiAgICAgICAgICAgIENvbm5lY3Rpb25SZXNldEVycm9yOiAic2NyaXB0LXN5bmM6OkNvbm5lY3Rpb24gd2FzIGZvcmNpYmx5IGNsb3NlZCBieSB0aGUgdnNjb2RlIiwKICAgICAgICAgICAgc29ja2V0LmVycm9yOiBmInNjcmlwdC1zeW5jOjpFcnJvciBjb25uZWN0aW5nIHRvIHRoZSB2c2NvZGU6IHtzdHIoZSl9IgogICAgICAgIH0KICAgICAgICBzZWxmLmFkZF9ydW50aW1lX3dhcm5pbmcoZXJyb3JfbWVzc2FnZXNbdHlwZShlKV0pCiAgICAgICAgc2VsZi5pc19jb25uZWN0ZWQgPSBGYWxzZSBpZiB0eXBlKGUpICE9IHNvY2tldC5lcnJvciBvciBlLndpbmVycm9yICE9IDEwMDU2IGVsc2UgVHJ1ZQoKY2xhc3MgRmlsZUNoYW5nZWRUaHJlYWQoR0hUaHJlYWQpOgogICAgIiIiCiAgICAgICAgQSB0aHJlYWQgdG8gY2hlY2sgaWYgdGhlIGZpbGUgaGFzIGNoYW5nZWQgb24gZGlzay4KICAgICIiIgogICAgZGVmIF9faW5pdF9fKHNlbGYsCiAgICAgICAgICAgICAgICBwYXRoIDogc3RyLAogICAgICAgICAgICAgICAgbmFtZSA6IHN0cgogICAgICAgICAgICAgICAgKToKICAgICAgICBzdXBlcigpLl9faW5pdF9fKG5hbWU9bmFtZSkKICAgICAgICBzZWxmLnBhdGggPSBwYXRoCiAgICAgICAgc2VsZi5yZWZyZXNoX3JhdGUgPSAxMDAwICAjIG1pbGxpc2Vjb25kcwogICAgICAgIHNlbGYuX29uX2ZpbGVfY2hhbmdlZCA9IHRocmVhZGluZy5FdmVudCgpCgogICAgZGVmIHJ1bihzZWxmKToKICAgICAgICAiIiIKICAgICAgICAgICAgQ2hlY2sgaWYgdGhlIGZpbGUgaGFzIGNoYW5nZWQgb24gZGlzay4KICAgICAgICAiIiIKICAgICAgICBsYXN0X21vZGlmaWVkID0gb3MucGF0aC5nZXRtdGltZShzZWxmLnBhdGgpCiAgICAgICAgd2hpbGUgc2VsZi5jb21wb25lbnRfb25fY2FudmFzIGFuZCBub3Qgc2VsZi5fb25fZmlsZV9jaGFuZ2VkLmlzX3NldCgpOgogICAgICAgICAgICBTeXN0ZW0uVGhyZWFkaW5nLlRocmVhZC5TbGVlcChzZWxmLnJlZnJlc2hfcmF0ZSkKICAgICAgICAgICAgbGFzdF9tb2RpZmllZCA9IHNlbGYuaXNfZmlsZV9tb2RpZmllZChsYXN0X21vZGlmaWVkKQogICAgICAgIHNlbGYuX29uX2ZpbGVfY2hhbmdlZC5jbGVhcigpCiAgICAgICAgcmV0dXJuCgogICAgZGVmIHN0b3Aoc2VsZik6CiAgICAgICAgIiIiIFN0b3AgdGhlIHRocmVhZC4gIiIiCiAgICAgICAgc2VsZi5fb25fZmlsZV9jaGFuZ2VkLnNldCgpCgogICAgZGVmIGlzX2ZpbGVfbW9kaWZpZWQoc2VsZiwgbGFzdF9tb2RpZmllZCk6CiAgICAgICAgY3VycmVudF9tb2RpZmllZCA9IG9zLnBhdGguZ2V0bXRpbWUoc2VsZi5wYXRoKQogICAgICAgIGlmIGN1cnJlbnRfbW9kaWZpZWQgIT0gbGFzdF9tb2RpZmllZDoKICAgICAgICAgICAgc2VsZi5leHBpcmVfY29tcG9uZW50X3NvbHV0aW9uKCkKICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRfbW9kaWZpZWQKICAgICAgICByZXR1cm4gbGFzdF9tb2RpZmllZAoKCmNsYXNzIFNjcmlwdFN5bmNDUHkoY29tcG9uZW50KToKICAgIGRlZiBfX2luaXRfXyhzZWxmKToKICAgICAgICBzdXBlcihTY3JpcHRTeW5jQ1B5LCBzZWxmKS5fX2luaXRfXygpCiAgICAgICAgc2VsZi5fdmFyX291dHB1dCA9IFtdCgogICAgICAgIHNlbGYuaXNfc3VjY2VzcyA9IEZhbHNlCgogICAgICAgIHNlbGYuY2xpZW50X3RocmVhZF9uYW1lIDogc3RyID0gZiJzY3JpcHQtc3luYy1jbGllbnQtdGhyZWFkOjp7Z2hlbnYuQ29tcG9uZW50Lkluc3RhbmNlR3VpZH0iCiAgICAgICAgc2VsZi52c2NvZGVfc2VydmVyX2lwID0gIjEyNy4wLjAuMSIKICAgICAgICBzZWxmLnZzY29kZV9zZXJ2ZXJfcG9ydCA9IDU4MjYwCiAgICAgICAgc2VsZi5zdGRvdXQgPSBOb25lCiAgICAgICAgc2VsZi5xdWV1ZV9tc2cgPSBxdWV1ZS5RdWV1ZSgpCiAgICAgICAgc2VsZi5xdWV1ZV9tc2dfbG9jayA9IHRocmVhZGluZy5Mb2NrKCkKICAgICAgICBzZWxmLmV2ZW50X2ZpcmVfbXNnID0gdGhyZWFkaW5nLkV2ZW50KCkKCiAgICAgICAgc2VsZi5maWxlY2hhbmdlZF90aHJlYWRfbmFtZSA6IHN0ciA9IGYic2NyaXB0LXN5bmMtZmlsZUNoYW5nZWQtdGhyZWFkOjp7Z2hlbnYuQ29tcG9uZW50Lkluc3RhbmNlR3VpZH0iCiAgICAgICAgc2VsZi5fX3BhdGhfbmFtZV90YWJsZV92YWx1ZSA9ICJzY3JpcHQtc3luYzo6IiArICJwYXRoOjoiICsgc3RyKGdoZW52LkNvbXBvbmVudC5JbnN0YW5jZUd1aWQpCiAgICAgICAgaWYgc2VsZi5wYXRoIGlzIE5vbmU6CiAgICAgICAgICAgIGdoZW52LkNvbXBvbmVudC5NZXNzYWdlID0gInNlbGVjdC1zY3JpcHQiCgogICAgZGVmIFJlbW92ZWRGcm9tRG9jdW1lbnQoc2VsZiwgZG9jKToKICAgICAgICAiIiIgUmVtb3ZlIHRoZSBjb21wb25lbnQgZnJvbSB0aGUgZG9jdW1lbnQuICIiIgogICAgICAgIGlmIHNlbGYuY2xpZW50X3RocmVhZF9uYW1lIGluIFt0Lm5hbWUgZm9yIHQgaW4gdGhyZWFkaW5nLmVudW1lcmF0ZSgpXToKICAgICAgICAgICAgY2xpZW50X3RocmVhZCA9IFt0IGZvciB0IGluIHRocmVhZGluZy5lbnVtZXJhdGUoKSBpZiB0Lm5hbWUgPT0gc2VsZi5jbGllbnRfdGhyZWFkX25hbWVdWzBdCiAgICAgICAgICAgIGNsaWVudF90aHJlYWQuam9pbigpCiAgICAgICAgaWYgc2VsZi5maWxlY2hhbmdlZF90aHJlYWRfbmFtZSBpbiBbdC5uYW1lIGZvciB0IGluIHRocmVhZGluZy5lbnVtZXJhdGUoKV06CiAgICAgICAgICAgIGZpbGVjaGFuZ2VkX3RocmVhZCA9IFt0IGZvciB0IGluIHRocmVhZGluZy5lbnVtZXJhdGUoKSBpZiB0Lm5hbWUgPT0gc2VsZi5maWxlY2hhbmdlZF90aHJlYWRfbmFtZV1bMF0KICAgICAgICAgICAgZmlsZWNoYW5nZWRfdGhyZWFkLmpvaW4oKQogICAgICAgIGlmIHNlbGYucXVldWVfbXNnIGlzIG5vdCBOb25lOgogICAgICAgICAgICBzZWxmLnF1ZXVlX21zZy5qb2luKCkKICAgICAgICBpZiBzZWxmLnF1ZXVlX21zZ19sb2NrIGlzIG5vdCBOb25lOgogICAgICAgICAgICBzZWxmLnF1ZXVlX21zZ19sb2NrLnJlbGVhc2UoKQogICAgICAgIGlmIHNlbGYuZXZlbnRfZmlyZV9tc2cgaXMgbm90IE5vbmU6CiAgICAgICAgICAgIHNlbGYuZXZlbnRfZmlyZV9tc2cuY2xlYXIoKQoKICAgICAgICAjIGNsZWFyIHRoZSBwYXRoIGZyb20gdGhlIHRhYmxlIHZpZXcKICAgICAgICBkZWwgc2VsZi5wYXRoCgogICAgZGVmIGluaXRfc2NyaXB0X3BhdGgoc2VsZiwgYnRuIDogYm9vbCA9IEZhbHNlKToKICAgICAgICAiIiIKICAgICAgICAgICAgQ2hlY2sgaWYgdGhlIGJ1dHRvbiBpcyBwcmVzc2VkIGFuZCBsb2FkL2NoYW5nZSBwYXRoIHNjcmlwdC4KICAgICAgICAgICAgCiAgICAgICAgICAgIDpwYXJhbSBidG46IEEgYm9vbGVhbiBvZiB0aGUgYnV0dG9uCiAgICAgICAgIiIiCiAgICAgICAgIyBjaGVjayBpZiBidXR0b24gaXMgcHJlc3NlZAogICAgICAgIGlmIGJ0biBpcyBUcnVlOgogICAgICAgICAgICBkaWFsb2cgPSBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5PcGVuRmlsZURpYWxvZygpCiAgICAgICAgICAgIGRpYWxvZy5GaWx0ZXIgPSAiUHl0aG9uIGZpbGVzICgqLnB5KXwqLnB5IgogICAgICAgICAgICBkaWFsb2cuVGl0bGUgPSAiU2VsZWN0IGEgUHl0aG9uIGZpbGUiCiAgICAgICAgICAgIGRpYWxvZy5Jbml0aWFsRGlyZWN0b3J5ID0gb3MucGF0aC5kaXJuYW1lKCIiKQogICAgICAgICAgICBkaWFsb2cuRmlsZU5hbWUgPSAiIgogICAgICAgICAgICBkaWFsb2cuTXVsdGlzZWxlY3QgPSBGYWxzZQogICAgICAgICAgICBkaWFsb2cuQ2hlY2tGaWxlRXhpc3RzID0gVHJ1ZQogICAgICAgICAgICBkaWFsb2cuQ2hlY2tQYXRoRXhpc3RzID0gVHJ1ZQogICAgICAgICAgICBkaWFsb2cuUmVzdG9yZURpcmVjdG9yeSA9IFRydWUKICAgICAgICAgICAgaWYgZGlhbG9nLlNob3dEaWFsb2coKSA9PSBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5EaWFsb2dSZXN1bHQuT0s6CiAgICAgICAgICAgICAgICBzZWxmLnBhdGggPSBkaWFsb2cuRmlsZU5hbWUKCiAgICAgICAgIyBkZWZhdWx0IGluaXQgc3RhdXRzCiAgICAgICAgaWYgc2VsZi5wYXRoIGlzIE5vbmU6CiAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigic2NyaXB0LXN5bmM6OkZpbGUgbm90IHNlbGVjdGVkIikKCiAgICAgICAgIyBmaSBmaWxlIGlzIGluIHRhYmxlIHZpZXcgYmVmb3JlCiAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKHNlbGYucGF0aCk6CiAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigic2NyaXB0LXN5bmM6OkZpbGUgZG9lcyBub3QgZXhpc3QiKQogICAgCiAgICBkZWYgcmVsb2FkX2FsbF9tb2R1bGVzKHNlbGYsIGRpcmVjdG9yeSk6CiAgICAgICAgIiIiCiAgICAgICAgICAgIFJlbG9hZCBhbGwgdGhlIG1vZHVsZXMgKGxvY2FsIGZpbGVzKSBpbiB0aGUgZGlyZWN0b3J5IG9mIHRoZSBzY3JpcHQuCgogICAgICAgICAgICA6cGFyYW0gZGlyZWN0b3J5OiBUaGUgZGlyZWN0b3J5IG9mIHRoZSBzY3JpcHQuCiAgICAgICAgIiIiCiAgICAgICAgZm9yIGZpbGVuYW1lIGluIG9zLmxpc3RkaXIoZGlyZWN0b3J5KToKICAgICAgICAgICAgaWYgZmlsZW5hbWUuZW5kc3dpdGgoJy5weScpIGFuZCBmaWxlbmFtZSAhPSAnX19pbml0X18ucHknOgogICAgICAgICAgICAgICAgbW9kdWxlX25hbWUgPSBmaWxlbmFtZVs6LTNdICAjIHJlbW92ZSAnLnB5JyBmcm9tIGZpbGVuYW1lCiAgICAgICAgICAgICAgICBpZiBtb2R1bGVfbmFtZSBpbiBzeXMubW9kdWxlczoKICAgICAgICAgICAgICAgICAgICBpbXBvcnRsaWIucmVsb2FkKHN5cy5tb2R1bGVzW21vZHVsZV9uYW1lXSkKCiAgICBkZWYgZ2V0X3JlbG9hZGFibGVfcGFja2FnZXMoc2VsZik6CiAgICAgICAgIiIiCiAgICAgICAgICAgIEdldCBhbGwgdGhlIHJlbG9hZGFibGUgbW9kdWxlcyBmcm9tIHRoZSBzeXMubW9kdWxlcy4gSXQKICAgICAgICAgICAgbWFrZSBzdXJlIHRvIGNoZWNrIHRoZSBtb2R1bGUgc3BlYyBhbmQgbG9hZGVyIHRvIG9ubHkgcmVsb2FkIG1vZHVsZXMgCiAgICAgICAgICAgIHRoYXQgYXJlIGFjdHVhbGx5IGxvYWRlZCBmcm9tIGEgZmlsZSBvciBkaXJlY3RvcnkKCiAgICAgICAgICAgIDpyZXR1cm46IFRoZSBsaXN0IG9mIHJlbG9hZGFibGUgbW9kdWxlcy4KICAgICAgICAiIiIKICAgICAgICBCVUlMVElOX09SSUdJTlMgPSBbJ2J1aWx0LWluJywgJ2Zyb3plbiddCiAgICAgICAgcmVsb2FkYWJsZXMgPSBbXQogICAgICAgIGZvciBtIGluIHN5cy5tb2R1bGVzLnZhbHVlcygpOgogICAgICAgICAgICBpZiBpbnNwZWN0LmlzbW9kdWxlKG0pOgogICAgICAgICAgICAgICAgc3BlYyA9IGdldGF0dHIobSwgIl9fc3BlY19fIiwgTm9uZSkKICAgICAgICAgICAgICAgIGlmIHNwZWM6CiAgICAgICAgICAgICAgICAgICAgaWYgc3BlYy5vcmlnaW4gaW4gQlVJTFRJTl9PUklHSU5TIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIGlzaW5zdGFuY2Uoc3BlYy5sb2FkZXIsIGltcG9ydGxpYi5tYWNoaW5lcnkuU291cmNlbGVzc0ZpbGVMb2FkZXIpOgogICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgcmVsb2FkYWJsZXMuYXBwZW5kKG0pCgogICAgICAgIHJldHVybiByZWxvYWRhYmxlcwoKICAgIGRlZiBzYWZlX2V4ZWMoc2VsZiwgcGF0aCwgZ2xvYmFscywgbG9jYWxzLCBwYWNrYWdlc18yX3JlbG9hZCk6CiAgICAgICAgIiIiCiAgICAgICAgICAgIEV4ZWN1dGUgUHl0aG9uMyBjb2RlIHNhZmVseS4gSXQgcmVkaXJlY3RzIHRoZSBvdXRwdXQgb2YgdGhlIGNvZGUKICAgICAgICAgICAgdG8gYSBzdHJpbmcgYnVmZmVyICdzdGRvdXQnIHRvIG91dHB1dCB0byB0aGUgR0ggY29tcG9uZW50IHBhcmFtLgogICAgICAgICAgICBJdCBpcyBzZW5kIHRvIHRoZSB2c2NvZGUgc2VydmVyLgogICAgICAgICAgICAKICAgICAgICAgICAgOnBhcmFtIHBhdGg6IFRoZSBwYXRoIG9mIHRoZSBmaWxlIHRvIGV4ZWN1dGUuCiAgICAgICAgICAgIDpwYXJhbSBnbG9iYWxzOiBUaGUgZ2xvYmFscyBkaWN0aW9uYXJ5LgogICAgICAgICAgICA6cGFyYW0gbG9jYWxzOiBUaGUgbG9jYWxzIGRpY3Rpb25hcnkuCiAgICAgICAgICAgIDpwYXJhbSBwYWNrYWdlc18yX3JlbG9hZDogVGhlIGxpc3Qgb2YgcGFja2FnZXMgdG8gcmVsb2FkLCB0aGlzIGlzIHVzZWQgZm9yIGN1c3RvbSBwYWNrYWdlcyBkZXZlbG9wZW1lbnQuCiAgICAgICAgICAgIGluc3RhbGxlZCBvbiB0aGUgc3lzdGVtIHZpYSBhbiBlZGl0YWJsZSBwaXAgaW5zdGFsbGF0aW9uIGZvciBleGFtcGxlLgogICAgICAgICIiIgogICAgICAgIHRyeToKICAgICAgICAgICAgd2l0aCBvcGVuKHBhdGgsICdyJykgYXMgZjoKICAgICAgICAgICAgICAgICMgcmVsb2FkIHRoZSBzcGVjaWZ5ZWQgcGFja2FnZXMKICAgICAgICAgICAgICAgICMgcmVsb2FkYWJsZXMgPSBzZWxmLmdldF9yZWxvYWRhYmxlX3BhY2thZ2VzKCkKICAgICAgICAgICAgICAgICMgIyBpZiBwYWNrYWdlc18yX3JlbG9hZCBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICMgIyAgICAgaWYgcGFja2FnZXNfMl9yZWxvYWQuX19sZW5fXygpICE9IDA6CiAgICAgICAgICAgICAgICAjICMgICAgICAgICBmb3IgcGFja2FnZSBpbiBwYWNrYWdlc18yX3JlbG9hZDoKICAgICAgICAgICAgICAgICMgIyAgICAgICAgICAgICBpZiBwYWNrYWdlIGluIHJlbG9hZGFibGVzOgogICAgICAgICAgICAgICAgIyAjICAgICAgICAgICAgICAgICBpbXBvcnRsaWIucmVsb2FkKHBhY2thZ2UpCiAgICAgICAgICAgICAgICAjIGZvciBwYWNrYWdlIGluIHBhY2thZ2VzXzJfcmVsb2FkOgogICAgICAgICAgICAgICAgIyAgICAgaWYgcGFja2FnZSBpbiByZWxvYWRhYmxlczoKICAgICAgICAgICAgICAgICMgICAgICAgICBpbXBvcnRsaWIucmVsb2FkKHBhY2thZ2UpCgogICAgICAgICAgICAgICAgIyBhZGQgdGhlIHBhdGggYW5kIHN1YiBkaXJlY3RvcmllcyB0byAgdGhlIHN5cyBwYXRoCiAgICAgICAgICAgICAgICBwYXRoX2RpciA9IG9zLnBhdGguZGlybmFtZShwYXRoKQogICAgICAgICAgICAgICAgc3ViX2RpcnMgPSBbXQogICAgICAgICAgICAgICAgZm9yIHJvb3QsIGRpcnMsIGZpbGVzIGluIG9zLndhbGsocGF0aF9kaXIpOgogICAgICAgICAgICAgICAgICAgIGZvciBkIGluIGRpcnM6CiAgICAgICAgICAgICAgICAgICAgICAgIHN1Yl9kaXJzLmFwcGVuZChvcy5wYXRoLmpvaW4ocm9vdCwgZCkpCiAgICAgICAgICAgICAgICBzeXMucGF0aC5leHRlbmQoW3BhdGhfZGlyXSArIHN1Yl9kaXJzKQoKICAgICAgICAgICAgICAgICMgcmVsb2FkIGFsbCB0aGUgbW9kdWxlcyBhbHNvIG9mIHRoZSBzdWIgZGlyZWN0b3JpZXMKICAgICAgICAgICAgICAgIGZvciByb290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKHBhdGhfZGlyKToKICAgICAgICAgICAgICAgICAgICBmb3IgZCBpbiBkaXJzOgogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnJlbG9hZF9hbGxfbW9kdWxlcyhvcy5wYXRoLmpvaW4ocm9vdCwgZCkpCiAgICAgICAgICAgICAgICBzZWxmLnJlbG9hZF9hbGxfbW9kdWxlcyhwYXRoX2RpcikKCiAgICAgICAgICAgICAgICAjIHJlZnJlc2ggdGhlIHB5dGhvbiBpbnRlcnByZXRlcgogICAgICAgICAgICAgICAgaW1wb3J0bGliLmludmFsaWRhdGVfY2FjaGVzKCkKCiAgICAgICAgICAgICAgICAjIHBhcnNlIHRoZSBjb2RlCiAgICAgICAgICAgICAgICBjb2RlID0gY29tcGlsZShmLnJlYWQoKSwgcGF0aCwgJ2V4ZWMnKQogICAgICAgICAgICAgICAgb3V0cHV0ID0gaW8uU3RyaW5nSU8oKQoKICAgICAgICAgICAgICAgICMgZW1wdHkgdGhlIHF1ZXVlIGFuZCBldmVudAogICAgICAgICAgICAgICAgd2l0aCBzZWxmLnF1ZXVlX21zZ19sb2NrOgogICAgICAgICAgICAgICAgICAgIHdoaWxlIG5vdCBzZWxmLnF1ZXVlX21zZy5lbXB0eSgpOgogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnF1ZXVlX21zZy5nZXQoKQogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnF1ZXVlX21zZy50YXNrX2RvbmUoKQogICAgICAgICAgICAgICAgc2VsZi5ldmVudF9maXJlX21zZy5jbGVhcigpCgogICAgICAgICAgICAgICAgIyBleGVjdXRlIHRoZSBjb2RlCiAgICAgICAgICAgICAgICB3aXRoIGNvbnRleHRsaWIucmVkaXJlY3Rfc3Rkb3V0KG91dHB1dCk6CiAgICAgICAgICAgICAgICAgICAgZXhlYyhjb2RlLCBnbG9iYWxzLCBsb2NhbHMpCiAgICAgICAgICAgICAgICBsb2NhbHNbInN0ZG91dCJdID0gb3V0cHV0LmdldHZhbHVlKCkKCiAgICAgICAgICAgICAgICAjIHNlbmQgdGhlIG1zZyB0byB0aGUgdnNjb2RlIHNlcnZlcgogICAgICAgICAgICAgICAgbXNnX2pzb24gPSBqc29uLmR1bXBzKHsic2NyaXB0X3BhdGgiOiBwYXRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ3VpZCI6IHN0cihnaGVudi5Db21wb25lbnQuSW5zdGFuY2VHdWlkKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1zZyI6IG91dHB1dC5nZXR2YWx1ZSgpfSkKICAgICAgICAgICAgICAgIG1zZ19qc29uID0gbXNnX2pzb24uZW5jb2RlKCd1dGYtOCcpCiAgICAgICAgICAgICAgICBzZWxmLnF1ZXVlX21zZy5wdXQobXNnX2pzb24pCiAgICAgICAgICAgICAgICBzZWxmLmV2ZW50X2ZpcmVfbXNnLnNldCgpCgogICAgICAgICAgICAgICAgIyBwYXNzIHRoZSBzY3JpcHQgdmFyaWFibGVzIHRvIHRoZSBHSCBjb21wb25lbnQgb3V0cHV0cwogICAgICAgICAgICAgICAgb3V0cGFyYW0gPSBnaGVudi5Db21wb25lbnQuUGFyYW1zLk91dHB1dAogICAgICAgICAgICAgICAgb3V0cGFyYW1fbmFtZXMgPSBbcC5OaWNrTmFtZSBmb3IgcCBpbiBvdXRwYXJhbV0KICAgICAgICAgICAgICAgIGZvciBvdXRwIGluIG91dHBhcmFtX25hbWVzOgogICAgICAgICAgICAgICAgICAgIGlmIG91dHAgaW4gbG9jYWxzLmtleXMoKToKICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fdmFyX291dHB1dC5hcHBlbmQobG9jYWxzW291dHBdKQogICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3Zhcl9vdXRwdXQuYXBwZW5kKE5vbmUpCgogICAgICAgICAgICAgICAgc3lzLnN0ZG91dCA9IHN5cy5fX3N0ZG91dF9fCiAgICAgICAgICAgIHJldHVybiBsb2NhbHMKCiAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgoKICAgICAgICAgICAgIyBzZW5kIHRoZSBlcnJvciBtZXNzYWdlIHRvIHRoZSB2c2NvZGUgc2VydmVyCiAgICAgICAgICAgIGVycl9qc29uID0ganNvbi5kdW1wcyh7InNjcmlwdF9wYXRoIjogcGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImd1aWQiOiBzdHIoZ2hlbnYuQ29tcG9uZW50Lkluc3RhbmNlR3VpZCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtc2ciOiAiZXJyOiIgKyBzdHIoZSl9KQogICAgICAgICAgICBlcnJfanNvbiA9IGVycl9qc29uLmVuY29kZSgndXRmLTgnKQogICAgICAgICAgICBzZWxmLnF1ZXVlX21zZy5wdXQoZXJyX2pzb24pCiAgICAgICAgICAgIHNlbGYuZXZlbnRfZmlyZV9tc2cuc2V0KCkKICAgICAgICAgICAgCiAgICAgICAgICAgIHN5cy5zdGRvdXQgPSBzeXMuX19zdGRvdXRfXwoKICAgICAgICAgICAgZXJyX21zZyA9IGYic2NyaXB0LXN5bmM6OkVycm9yIGluIHRoZSBjb2RlOiB7c3RyKGUpfSIKICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKGVycl9tc2cpCgogICAgZGVmIFJ1blNjcmlwdChzZWxmLAogICAgICAgICAgICBidG46IGJvb2wsCiAgICAgICAgICAgIHBhY2thZ2VzXzJfcmVsb2FkOiBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5JTGlzdFtvYmplY3RdLAogICAgICAgICAgICBpX21lc2g6IFJoaW5vLkdlb21ldHJ5Lk1lc2gsCiAgICAgICAgICAgIGlfcG9pbnRzOiBpbnQpOgogICAgICAgICIiIiBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgd2hlbmV2ZXIgdGhlIGNvbXBvbmVudCBoYXMgdG8gYmUgcmVjYWxjdWxhdGVkIGl0J3MgdGhlIHNvbHZlIG1haW4gaW5zdGFuY2UuICIiIgogICAgICAgIHNlbGYuaXNfc3VjY2VzcyA9IEZhbHNlCgogICAgICAgICMgc2V0IHRoZSBwYXRoIGlmIGJ1dHRvbiBpcyBwcmVzc2VkCiAgICAgICAgc2VsZi5pbml0X3NjcmlwdF9wYXRoKGJ0bikKCiAgICAgICAgIyBmaWxlIGNoYW5nZSBsaXN0ZW5lciB0aHJlYWQKICAgICAgICBpZiBzZWxmLmZpbGVjaGFuZ2VkX3RocmVhZF9uYW1lIG5vdCBpbiBbdC5uYW1lIGZvciB0IGluIHRocmVhZGluZy5lbnVtZXJhdGUoKV06CiAgICAgICAgICAgIEZpbGVDaGFuZ2VkVGhyZWFkKHNlbGYucGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5maWxlY2hhbmdlZF90aHJlYWRfbmFtZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLnN0YXJ0KCkKCiAgICAgICAgIyBzZXQgdXAgdGhlIHRjcCBjbGllbnQgdG8gY29ubmVjdCB0byB0aGUgdnNjb2RlIHNlcnZlcgogICAgICAgIF8gPSBbcHJpbnQodC5uYW1lKSBmb3IgdCBpbiB0aHJlYWRpbmcuZW51bWVyYXRlKCldCiAgICAgICAgaWYgc2VsZi5jbGllbnRfdGhyZWFkX25hbWUgbm90IGluIFt0Lm5hbWUgZm9yIHQgaW4gdGhyZWFkaW5nLmVudW1lcmF0ZSgpXToKICAgICAgICAgICAgQ2xpZW50VGhyZWFkKHNlbGYudnNjb2RlX3NlcnZlcl9pcCwKICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi52c2NvZGVfc2VydmVyX3BvcnQsCiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuY2xpZW50X3RocmVhZF9uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnF1ZXVlX21zZywKICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5xdWV1ZV9tc2dfbG9jaywKICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5ldmVudF9maXJlX21zZwogICAgICAgICAgICAgICAgICAgICAgICApLnN0YXJ0KCkKCiAgICAgICAgIyBhZGQgdG8gdGhlIGdsb2JhbHMgYWxsIHRoZSBpbnB1dCBwYXJhbWV0ZXJzIG9mIHRoZSBjb21wb25lbnQgKHRoZSBsb2NhbHMpCiAgICAgICAgZ2xvYmFscygpLnVwZGF0ZShsb2NhbHMoKSkKCiAgICAgICAgcmVzID0gc2VsZi5zYWZlX2V4ZWMoc2VsZi5wYXRoLCBOb25lLCBnbG9iYWxzKCksIHBhY2thZ2VzXzJfcmVsb2FkKQogICAgICAgIHNlbGYuaXNfc3VjY2VzcyA9IFRydWUKICAgICAgICByZXR1cm4KCiAgICBkZWYgQWZ0ZXJSdW5TY3JpcHQoc2VsZik6CiAgICAgICAgIiIiCiAgICAgICAgICAgIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCBhcyBzb29uIGFzIHRoZSBjb21wb25lbnQgaGFzIGZpbmlzaGVkCiAgICAgICAgICAgIGl0cyBjYWxjdWxhdGlvbi4gSXQgaXMgdXNlZCB0byBsb2FkIHRoZSBHSENvbXBvbmVudCBvdXRwdXRzCiAgICAgICAgICAgIHdpdGggdGhlIHZhbHVlcyBjcmVhdGVkIGluIHRoZSBzY3JpcHQuCiAgICAgICAgIiIiCiAgICAgICAgaWYgbm90IHNlbGYuaXNfc3VjY2VzczoKICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgb3V0cGFyYW0gPSBbcCBmb3IgcCBpbiBnaGVudi5Db21wb25lbnQuUGFyYW1zLk91dHB1dF0KICAgICAgICBvdXRwYXJhbV9uYW1lcyA9IFtwLk5pY2tOYW1lIGZvciBwIGluIG91dHBhcmFtXQogICAgICAgIAogICAgICAgICMgVE9ETzogYWRkIHRoZSBjb252ZXJzaW9uIHRvIGRhdGF0cmVlIGZvciBuZXN0ZWQgbGlzdHMgYW5kIHR1cGxlcwogICAgICAgIGZvciBpZHgsIG91dHAgaW4gZW51bWVyYXRlKG91dHBhcmFtKToKICAgICAgICAgICAgIyBkZXRlY3QgaWYgdGhlIG91dHB1dCBpcyBhIGxpc3QKICAgICAgICAgICAgaWYgdHlwZShzZWxmLl92YXJfb3V0cHV0W2lkeF0pID09IGxpc3Qgb3IgdHlwZShzZWxmLl92YXJfb3V0cHV0W2lkeF0pID09IHR1cGxlOgogICAgICAgICAgICAgICAgZ2hlbnYuQ29tcG9uZW50LlBhcmFtcy5PdXRwdXRbaWR4XS5Wb2xhdGlsZURhdGEuQ2xlYXIoKQogICAgICAgICAgICAgICAgZ2hlbnYuQ29tcG9uZW50LlBhcmFtcy5PdXRwdXRbaWR4XS5BZGRWb2xhdGlsZURhdGFMaXN0KGdoLktlcm5lbC5EYXRhLkdIX1BhdGgoMCksIHNlbGYuX3Zhcl9vdXRwdXRbaWR4XSkKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIGdoZW52LkNvbXBvbmVudC5QYXJhbXMuT3V0cHV0W2lkeF0uVm9sYXRpbGVEYXRhLkNsZWFyKCkKICAgICAgICAgICAgICAgIGdoZW52LkNvbXBvbmVudC5QYXJhbXMuT3V0cHV0W2lkeF0uQWRkVm9sYXRpbGVEYXRhKGdoLktlcm5lbC5EYXRhLkdIX1BhdGgoMCksIDAsIHNlbGYuX3Zhcl9vdXRwdXRbaWR4XSkKICAgICAgICBzZWxmLl92YXJfb3V0cHV0LmNsZWFyKCkKCiAgICBAcHJvcGVydHkKICAgIGRlZiBwYXRoKHNlbGYpOgogICAgICAgICIiIiBHZXQgdGhlIHBhdGggb2YgdGhlIGZpbGUgZnJvbSB0aGUgdGFibGUgdmlldyB0byBiZSBzdGlja2luZyBiZXR3ZWVuIHRoZSBzZXNzaW9ucy4gIiIiCiAgICAgICAgdGFibGVfdmFsdWUgPSBnaGVudi5Db21wb25lbnQuT25QaW5nRG9jdW1lbnQoKS5WYWx1ZVRhYmxlLkdldFZhbHVlKAogICAgICAgICAgICBzZWxmLl9fcGF0aF9uYW1lX3RhYmxlX3ZhbHVlLCAibm90X2ZvdW5kIgogICAgICAgICkKICAgICAgICBpZiB0YWJsZV92YWx1ZSAhPSAibm90X2ZvdW5kIjoKICAgICAgICAgICAgcmV0dXJuIHRhYmxlX3ZhbHVlCiAgICAgICAgZWxzZToKICAgICAgICAgICAgcmV0dXJuIE5vbmUKCiAgICBAcGF0aC5zZXR0ZXIKICAgIGRlZiBwYXRoKHNlbGYsIHBhdGggOiBzdHIpOgogICAgICAgICIiIiBTZXQgdGhlIHBhdGggb2YgdGhlIGZpbGUgdG8gdGhlIHRhYmxlIHZpZXcgdG8gYmUgc3RpY2tpbmcgYmV0d2VlbiB0aGUgc2Vzc2lvbnMuICIiIgogICAgICAgIGdoZW52LkNvbXBvbmVudC5PblBpbmdEb2N1bWVudCgpLlZhbHVlVGFibGUuU2V0VmFsdWUoc2VsZi5fX3BhdGhfbmFtZV90YWJsZV92YWx1ZSwgcGF0aCkKCiAgICAgICAgc2NyaXB0X25hbWUgPSBvcy5wYXRoLmJhc2VuYW1lKHBhdGgpCiAgICAgICAgZ2hlbnYuQ29tcG9uZW50Lk1lc3NhZ2UgPSBmIntzY3JpcHRfbmFtZX0iCgogICAgICAgIGlmIHNlbGYuZmlsZWNoYW5nZWRfdGhyZWFkX25hbWUgaW4gW3QubmFtZSBmb3IgdCBpbiB0aHJlYWRpbmcuZW51bWVyYXRlKCldOgogICAgICAgICAgICBfID0gW3QgZm9yIHQgaW4gdGhyZWFkaW5nLmVudW1lcmF0ZSgpIGlmIHQubmFtZSA9PSBzZWxmLmZpbGVjaGFuZ2VkX3RocmVhZF9uYW1lXVswXS5zdG9wKCkKCiAgICBAcGF0aC5kZWxldGVyCiAgICBkZWYgcGF0aChzZWxmKToKICAgICAgICAiIiIgRGVsZXRlIHRoZSBwYXRoIG9mIHRoZSBmaWxlIGZyb20gdGhlIHRhYmxlIHZpZXcgaWYgdGhlIG9iamVjdCBpcyBlcmFzZWQuICIiIgogICAgICAgIGdoZW52LkNvbXBvbmVudC5PblBpbmdEb2N1bWVudCgpLlZhbHVlVGFibGUuRGVsZXRlVmFsdWUoc2VsZi5fX3BhdGhfbmFtZV90YWJsZV92YWx1ZSkK + IyEgcHl0aG9uMwoKZnJvbSBnaHB5dGhvbmxpYi5jb21wb25lbnRiYXNlIGltcG9ydCBleGVjdXRpbmdjb21wb25lbnQgYXMgY29tcG9uZW50CgppbXBvcnQgU3lzdGVtCmltcG9ydCBTeXN0ZW0uRHJhd2luZwppbXBvcnQgU3lzdGVtLldpbmRvd3MuRm9ybXMKaW1wb3J0IFJoaW5vCmltcG9ydCBHcmFzc2hvcHBlcgppbXBvcnQgR3Jhc3Nob3BwZXIgYXMgZ2gKZnJvbSBHcmFzc2hvcHBlci5LZXJuZWwgaW1wb3J0IEdIX1J1bnRpbWVNZXNzYWdlTGV2ZWwgYXMgUk1MCmltcG9ydCBzeXMKaW1wb3J0IG9zCmltcG9ydCB0aW1lCgppbXBvcnQgY29udGV4dGxpYgppbXBvcnQgaW8KCmltcG9ydCBhYmMKaW1wb3J0IHNvY2tldAppbXBvcnQgdGhyZWFkaW5nCmltcG9ydCBxdWV1ZQppbXBvcnQganNvbgoKaW1wb3J0IGltcG9ydGxpYgppbXBvcnQgaW5zcGVjdAppbXBvcnQgc3lzCgoKY2xhc3MgR0hUaHJlYWQodGhyZWFkaW5nLlRocmVhZCwgbWV0YWNsYXNzPWFiYy5BQkNNZXRhKToKICAgICIiIgogICAgICAgIEEgYmFzZSBjbGFzcyBmb3IgR3Jhc3Nob3BwZXIgdGhyZWFkcy4KICAgICIiIgogICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUgOiBzdHIpOgogICAgICAgIHN1cGVyKCkuX19pbml0X18obmFtZT1uYW1lLCBkYWVtb249RmFsc2UpCiAgICAgICAgc2VsZi5fY29tcG9uZW50X29uX2NhbnZhcyA9IFRydWUKICAgICAgICBzZWxmLl9jb21wb25lbnRfZW5hYmxlZCA9IFRydWUKCiAgICBAYWJjLmFic3RyYWN0bWV0aG9kCiAgICBkZWYgcnVuKHNlbGYpOgogICAgICAgICIiIiBSdW4gdGhlIHRocmVhZC4gIiIiCiAgICAgICAgcGFzcwoKICAgIGRlZiBfY2hlY2tfaWZfY29tcG9uZW50X29uX2NhbnZhcyhzZWxmKToKICAgICAgICAiIiIgQ2hlY2sgaWYgdGhlIGNvbXBvbmVudCBpcyBvbiBjYW52YXMgZnJvbSB0aHJlYWQuICIiIgogICAgICAgIGRlZiBfX2NoZWNrX2lmX2NvbXBvbmVudF9vbl9jYW52YXMoKToKICAgICAgICAgICAgaWYgZ2hlbnYuQ29tcG9uZW50Lk9uUGluZ0RvY3VtZW50KCkgaXMgTm9uZToKICAgICAgICAgICAgICAgIHNlbGYuX2NvbXBvbmVudF9vbl9jYW52YXMgPSBGYWxzZQogICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBzZWxmLl9jb21wb25lbnRfb25fY2FudmFzID0gVHJ1ZQogICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKICAgICAgICBhY3Rpb24gPSBTeXN0ZW0uQWN0aW9uKF9fY2hlY2tfaWZfY29tcG9uZW50X29uX2NhbnZhcykKICAgICAgICBSaGluby5SaGlub0FwcC5JbnZva2VPblVpVGhyZWFkKGFjdGlvbikKCiAgICBkZWYgX2NoZWNrX2lmX2NvbXBvbmVudF9lbmFibGVkKHNlbGYpOgogICAgICAgICIiIiBDaGVjayBpZiB0aGUgY29tcG9uZW50IGlzIGVuYWJsZWQgZnJvbSB0aHJlYWQuICIiIgogICAgICAgIGRlZiBfX2NoZWNrX2lmX2NvbXBvbmVudF9lbmFibGVkKCk6CiAgICAgICAgICAgIGlmIGdoZW52LkNvbXBvbmVudC5Mb2NrZWQ6CiAgICAgICAgICAgICAgICBzZWxmLl9jb21wb25lbnRfZW5hYmxlZCA9IEZhbHNlCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBzZWxmLl9jb21wb25lbnRfZW5hYmxlZCA9IFRydWUKICAgICAgICBhY3Rpb24gPSBTeXN0ZW0uQWN0aW9uKF9fY2hlY2tfaWZfY29tcG9uZW50X2VuYWJsZWQpCiAgICAgICAgUmhpbm8uUmhpbm9BcHAuSW52b2tlT25VaVRocmVhZChhY3Rpb24pCgogICAgZGVmIGV4cGlyZV9jb21wb25lbnRfc29sdXRpb24oc2VsZik6CiAgICAgICAgIiIiIEZpcmUgdGhlIHJlY2FsY3VsYXRpb24gb2YgdGhlIGNvbXBvbmVudCBzb2x1dGlvbiBmcm9tIHRocmVhZC4gIiIiCiAgICAgICAgZGVmIF9fZXhwaXJlX2NvbXBvbmVudF9zb2x1dGlvbigpOgogICAgICAgICAgICBnaGVudi5Db21wb25lbnQuUGFyYW1zLk91dHB1dFswXS5DbGVhckRhdGEoKSAgIyBjbGVhciB0aGUgb3V0cHV0CiAgICAgICAgICAgIGdoZW52LkNvbXBvbmVudC5FeHBpcmVTb2x1dGlvbihUcnVlKSAgIyBleHBpcmUgdGhlIGNvbXBvbmVudAogICAgICAgIGFjdGlvbiA9IFN5c3RlbS5BY3Rpb24oX19leHBpcmVfY29tcG9uZW50X3NvbHV0aW9uKQogICAgICAgIFJoaW5vLlJoaW5vQXBwLkludm9rZU9uVWlUaHJlYWQoYWN0aW9uKQoKICAgIGRlZiBjbGVhcl9jb21wb25lbnQoc2VsZik6CiAgICAgICAgIiIiIENsZWFyIHRoZSBjb21wb25lbnQgZnJvbSB0aHJlYWQuICIiIgogICAgICAgIGRlZiBfX2NsZWFyX2NvbXBvbmVudCgpOgogICAgICAgICAgICBnaGVudi5Db21wb25lbnQuQ2xlYXJEYXRhKCkKICAgICAgICBhY3Rpb24gPSBTeXN0ZW0uQWN0aW9uKF9fY2xlYXJfY29tcG9uZW50KQogICAgICAgIFJoaW5vLlJoaW5vQXBwLkludm9rZU9uVWlUaHJlYWQoYWN0aW9uKQoKICAgIGRlZiBhZGRfcnVudGltZV93YXJuaW5nKHNlbGYsIGV4Y2VwdGlvbiA6IHN0cik6CiAgICAgICAgIiIiIEFkZCBhIHdhcm5pbmcgdGFiIHRvIHRoZSBjb21wb25lbnQgZnJvbSBtYWluIHRocmVhZC4gIiIiCiAgICAgICAgYWN0aW9uID0gU3lzdGVtLkFjdGlvbigKICAgICAgICAgICAgbGFtYmRhOiBnaGVudi5Db21wb25lbnQuQWRkUnVudGltZU1lc3NhZ2UoUk1MLldhcm5pbmcsIGV4Y2VwdGlvbikKICAgICAgICApCiAgICAgICAgUmhpbm8uUmhpbm9BcHAuSW52b2tlT25VaVRocmVhZChhY3Rpb24pCgogICAgZGVmIGFkZF9ydW50aW1lX2Vycm9yKHNlbGYsIGV4Y2VwdGlvbiA6IHN0cik6CiAgICAgICAgIiIiIEFkZCBhbiBlcnJvciB0YWIgdG8gdGhlIGNvbXBvbmVudCBmcm9tIG1haW4gdGhyZWFkLiAiIiIKICAgICAgICBhY3Rpb24gPSBTeXN0ZW0uQWN0aW9uKAogICAgICAgICAgICBsYW1iZGE6IGdoZW52LkNvbXBvbmVudC5BZGRSdW50aW1lTWVzc2FnZShSTUwuRXJyb3IsIGV4Y2VwdGlvbikKICAgICAgICApCiAgICAgICAgUmhpbm8uUmhpbm9BcHAuSW52b2tlT25VaVRocmVhZChhY3Rpb24pCgogICAgZGVmIGFkZF9ydW50aW1lX3JlbWFyayhzZWxmLCBleGNlcHRpb24gOiBzdHIpOgogICAgICAgICIiIiBBZGQgYSBibGFuayB0YWIgdG8gdGhlIGNvbXBvbmVudCBmcm9tIG1haW4gdGhyZWFkLiAiIiIKICAgICAgICBhY3Rpb24gPSBTeXN0ZW0uQWN0aW9uKAogICAgICAgICAgICBsYW1iZGE6IGdoZW52LkNvbXBvbmVudC5BZGRSdW50aW1lTWVzc2FnZShSTUwuUmVtYXJrLCBleGNlcHRpb24pCiAgICAgICAgKQogICAgICAgIFJoaW5vLlJoaW5vQXBwLkludm9rZU9uVWlUaHJlYWQoYWN0aW9uKQoKICAgIEBwcm9wZXJ0eQogICAgZGVmIGNvbXBvbmVudF9lbmFibGVkKHNlbGYpOgogICAgICAgIHNlbGYuX2NoZWNrX2lmX2NvbXBvbmVudF9lbmFibGVkKCkKICAgICAgICByZXR1cm4gc2VsZi5fY29tcG9uZW50X2VuYWJsZWQKCiAgICBAcHJvcGVydHkKICAgIGRlZiBjb21wb25lbnRfb25fY2FudmFzKHNlbGYpOgogICAgICAgIHNlbGYuX2NoZWNrX2lmX2NvbXBvbmVudF9vbl9jYW52YXMoKQogICAgICAgIHJldHVybiBzZWxmLl9jb21wb25lbnRfb25fY2FudmFzCgpjbGFzcyBDbGllbnRUaHJlYWQoR0hUaHJlYWQpOgogICAgIiIiCiAgICBBIHRocmVhZCB0byBjb25uZWN0IHRvIHRoZSBWU0NvZGUgc2VydmVyLgogICAgIiIiCiAgICBkZWYgX19pbml0X18oc2VsZiwgdnNjb2RlX3NlcnZlcl9pcDogc3RyLCB2c2NvZGVfc2VydmVyX3BvcnQ6IGludCwgbmFtZTogc3RyLAogICAgICAgICAgICAgICAgIHF1ZXVlX21zZzogcXVldWUuUXVldWUgPSBOb25lLCBsb2NrX3F1ZXVlX21zZzogdGhyZWFkaW5nLkxvY2sgPSBOb25lLAogICAgICAgICAgICAgICAgIGV2ZW50X2ZpcmVfbXNnOiB0aHJlYWRpbmcuRXZlbnQgPSBOb25lKToKICAgICAgICBzdXBlcigpLl9faW5pdF9fKG5hbWU9bmFtZSkKICAgICAgICBzZWxmLnZzY29kZV9zZXJ2ZXJfaXAgPSB2c2NvZGVfc2VydmVyX2lwCiAgICAgICAgc2VsZi52c2NvZGVfc2VydmVyX3BvcnQgPSB2c2NvZGVfc2VydmVyX3BvcnQKICAgICAgICBzZWxmLmlzX2Nvbm5lY3RlZCA9IEZhbHNlCiAgICAgICAgc2VsZi5jb25uZWN0X3JlZnJlc2hfcmF0ZSA9IDEgICMgc2Vjb25kcwogICAgICAgIHNlbGYucXVldWVfbXNnID0gcXVldWVfbXNnCiAgICAgICAgc2VsZi5sb2NrX3F1ZXVlX21zZyA9IGxvY2tfcXVldWVfbXNnCiAgICAgICAgc2VsZi5ldmVudF9maXJlX21zZyA9IGV2ZW50X2ZpcmVfbXNnCiAgICAgICAgc2VsZi5jbGllbnRfc29ja2V0ID0gc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCwgc29ja2V0LlNPQ0tfU1RSRUFNKQoKICAgIGRlZiBydW4oc2VsZik6CiAgICAgICAgIiIiIFJ1biB0aGUgdGhyZWFkLiBTZW5kIHRoZSBtZXNzYWdlIHRvIHRoZSB2c2NvZGUgc2VydmVyLiIiIgogICAgICAgIHdoaWxlIHNlbGYuY29tcG9uZW50X29uX2NhbnZhcyBhbmQgc2VsZi5jb21wb25lbnRfZW5hYmxlZDoKICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgaWYgbm90IHNlbGYuaXNfY29ubmVjdGVkOgogICAgICAgICAgICAgICAgICAgIHNlbGYuY29ubmVjdF90b192c2NvZGVfc2VydmVyKCkKICAgICAgICAgICAgICAgICAgICBzZWxmLmNsZWFyX2NvbXBvbmVudCgpCiAgICAgICAgICAgICAgICAgICAgc2VsZi5leHBpcmVfY29tcG9uZW50X3NvbHV0aW9uKCkKICAgICAgICAgICAgICAgICAgICBjb250aW51ZQoKICAgICAgICAgICAgICAgIHNlbGYuZXZlbnRfZmlyZV9tc2cud2FpdCgpCiAgICAgICAgICAgICAgICBzZWxmLnNlbmRfbWVzc2FnZV9mcm9tX3F1ZXVlKCkKCiAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgICAgIHNlbGYuYWRkX3J1bnRpbWVfd2FybmluZyhmInNjcmlwdC1zeW5jOjpVbmtvd24gZXJyb3IgZnJvbSBydW46IHtzdHIoZSl9IikKICAgICAgICAgICAgICAgIHNlbGYuaXNfY29ubmVjdGVkID0gRmFsc2UKICAgICAgICAgICAgICAgIHNlbGYuY2xpZW50X3NvY2tldCA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQsIHNvY2tldC5TT0NLX1NUUkVBTSkKCiAgICAgICAgc2VsZi5jbGllbnRfc29ja2V0LmNsb3NlKCkKCiAgICBkZWYgc2VuZF9tZXNzYWdlX2Zyb21fcXVldWUoc2VsZik6CiAgICAgICAgd2l0aCBzZWxmLmxvY2tfcXVldWVfbXNnOgogICAgICAgICAgICBpZiBzZWxmLnF1ZXVlX21zZyBhbmQgbm90IHNlbGYucXVldWVfbXNnLmVtcHR5KCk6CiAgICAgICAgICAgICAgICBtc2cgPSBzZWxmLnF1ZXVlX21zZy5nZXQoKQogICAgICAgICAgICAgICAgc2VsZi5xdWV1ZV9tc2cudGFza19kb25lKCkKICAgICAgICAgICAgICAgIHNlbGYuZXZlbnRfZmlyZV9tc2cuc2V0KCkKICAgICAgICAgICAgICAgIHNlbGYuZXZlbnRfZmlyZV9tc2cuY2xlYXIoKQogICAgICAgICAgICAgICAgc2VsZi5jbGllbnRfc29ja2V0LnNlbmQobXNnKQoKICAgIGRlZiBjb25uZWN0X3RvX3ZzY29kZV9zZXJ2ZXIoc2VsZik6CiAgICAgICAgIiIiIENvbm5lY3QgdG8gdGhlIFZTQ29kZSBzZXJ2ZXIuICIiIgogICAgICAgIHdoaWxlIHNlbGYuY29tcG9uZW50X29uX2NhbnZhcyBhbmQgbm90IHNlbGYuaXNfY29ubmVjdGVkOgogICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICBzZWxmLmNsaWVudF9zb2NrZXQuc2VuZChiIiIpCiAgICAgICAgICAgICAgICBzZWxmLmlzX2Nvbm5lY3RlZCA9IFRydWUKICAgICAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvcjoKICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICBzZWxmLmNsaWVudF9zb2NrZXQuY29ubmVjdCgoc2VsZi52c2NvZGVfc2VydmVyX2lwLCBzZWxmLnZzY29kZV9zZXJ2ZXJfcG9ydCkpCiAgICAgICAgICAgICAgICAgICAgc2VsZi5pc19jb25uZWN0ZWQgPSBUcnVlCiAgICAgICAgICAgICAgICBleGNlcHQgKENvbm5lY3Rpb25SZWZ1c2VkRXJyb3IsIENvbm5lY3Rpb25SZXNldEVycm9yLCBzb2NrZXQuZXJyb3IpIGFzIGU6CiAgICAgICAgICAgICAgICAgICAgc2VsZi5oYW5kbGVfY29ubmVjdGlvbl9lcnJvcihlKQogICAgICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICAgICAgdGltZS5zbGVlcChzZWxmLmNvbm5lY3RfcmVmcmVzaF9yYXRlKQoKICAgIGRlZiBoYW5kbGVfY29ubmVjdGlvbl9lcnJvcihzZWxmLCBlKToKICAgICAgICBlcnJvcl9tZXNzYWdlcyA9IHsKICAgICAgICAgICAgQ29ubmVjdGlvblJlZnVzZWRFcnJvcjogInNjcmlwdC1zeW5jOjpDb25uZWN0aW9uIHJlZnVzZWQgYnkgdGhlIHZzY29kZSIsCiAgICAgICAgICAgIENvbm5lY3Rpb25SZXNldEVycm9yOiAic2NyaXB0LXN5bmM6OkNvbm5lY3Rpb24gd2FzIGZvcmNpYmx5IGNsb3NlZCBieSB0aGUgdnNjb2RlIiwKICAgICAgICAgICAgc29ja2V0LmVycm9yOiBmInNjcmlwdC1zeW5jOjpFcnJvciBjb25uZWN0aW5nIHRvIHRoZSB2c2NvZGU6IHtzdHIoZSl9IgogICAgICAgIH0KICAgICAgICBzZWxmLmFkZF9ydW50aW1lX3dhcm5pbmcoZXJyb3JfbWVzc2FnZXNbdHlwZShlKV0pCiAgICAgICAgc2VsZi5pc19jb25uZWN0ZWQgPSBGYWxzZSBpZiB0eXBlKGUpICE9IHNvY2tldC5lcnJvciBvciBlLndpbmVycm9yICE9IDEwMDU2IGVsc2UgVHJ1ZQoKY2xhc3MgRmlsZUNoYW5nZWRUaHJlYWQoR0hUaHJlYWQpOgogICAgIiIiCiAgICAgICAgQSB0aHJlYWQgdG8gY2hlY2sgaWYgdGhlIGZpbGUgaGFzIGNoYW5nZWQgb24gZGlzay4KICAgICIiIgogICAgZGVmIF9faW5pdF9fKHNlbGYsCiAgICAgICAgICAgICAgICBwYXRoIDogc3RyLAogICAgICAgICAgICAgICAgbmFtZSA6IHN0cgogICAgICAgICAgICAgICAgKToKICAgICAgICBzdXBlcigpLl9faW5pdF9fKG5hbWU9bmFtZSkKICAgICAgICBzZWxmLnBhdGggPSBwYXRoCiAgICAgICAgc2VsZi5yZWZyZXNoX3JhdGUgPSAxMDAwICAjIG1pbGxpc2Vjb25kcwogICAgICAgIHNlbGYuX29uX2ZpbGVfY2hhbmdlZCA9IHRocmVhZGluZy5FdmVudCgpCgogICAgZGVmIHJ1bihzZWxmKToKICAgICAgICAiIiIKICAgICAgICAgICAgQ2hlY2sgaWYgdGhlIGZpbGUgaGFzIGNoYW5nZWQgb24gZGlzay4KICAgICAgICAiIiIKICAgICAgICBsYXN0X21vZGlmaWVkID0gb3MucGF0aC5nZXRtdGltZShzZWxmLnBhdGgpCiAgICAgICAgd2hpbGUgc2VsZi5jb21wb25lbnRfb25fY2FudmFzIGFuZCBub3Qgc2VsZi5fb25fZmlsZV9jaGFuZ2VkLmlzX3NldCgpOgogICAgICAgICAgICBTeXN0ZW0uVGhyZWFkaW5nLlRocmVhZC5TbGVlcChzZWxmLnJlZnJlc2hfcmF0ZSkKICAgICAgICAgICAgbGFzdF9tb2RpZmllZCA9IHNlbGYuaXNfZmlsZV9tb2RpZmllZChsYXN0X21vZGlmaWVkKQogICAgICAgIHNlbGYuX29uX2ZpbGVfY2hhbmdlZC5jbGVhcigpCiAgICAgICAgcmV0dXJuCgogICAgZGVmIHN0b3Aoc2VsZik6CiAgICAgICAgIiIiIFN0b3AgdGhlIHRocmVhZC4gIiIiCiAgICAgICAgc2VsZi5fb25fZmlsZV9jaGFuZ2VkLnNldCgpCgogICAgZGVmIGlzX2ZpbGVfbW9kaWZpZWQoc2VsZiwgbGFzdF9tb2RpZmllZCk6CiAgICAgICAgY3VycmVudF9tb2RpZmllZCA9IG9zLnBhdGguZ2V0bXRpbWUoc2VsZi5wYXRoKQogICAgICAgIGlmIGN1cnJlbnRfbW9kaWZpZWQgIT0gbGFzdF9tb2RpZmllZDoKICAgICAgICAgICAgc2VsZi5leHBpcmVfY29tcG9uZW50X3NvbHV0aW9uKCkKICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRfbW9kaWZpZWQKICAgICAgICByZXR1cm4gbGFzdF9tb2RpZmllZAoKCmNsYXNzIFNjcmlwdFN5bmNDUHkoY29tcG9uZW50KToKICAgIGRlZiBfX2luaXRfXyhzZWxmKToKICAgICAgICBzdXBlcihTY3JpcHRTeW5jQ1B5LCBzZWxmKS5fX2luaXRfXygpCiAgICAgICAgc2VsZi5fdmFyX291dHB1dCA9IFtdCgogICAgICAgIHNlbGYuaXNfc3VjY2VzcyA9IEZhbHNlCgogICAgICAgIHNlbGYuY2xpZW50X3RocmVhZF9uYW1lIDogc3RyID0gZiJzY3JpcHQtc3luYy1jbGllbnQtdGhyZWFkOjp7Z2hlbnYuQ29tcG9uZW50Lkluc3RhbmNlR3VpZH0iCiAgICAgICAgc2VsZi52c2NvZGVfc2VydmVyX2lwID0gIjEyNy4wLjAuMSIKICAgICAgICBzZWxmLnZzY29kZV9zZXJ2ZXJfcG9ydCA9IDU4MjYwCiAgICAgICAgc2VsZi5zdGRvdXQgPSBOb25lCiAgICAgICAgc2VsZi5xdWV1ZV9tc2cgPSBxdWV1ZS5RdWV1ZSgpCiAgICAgICAgc2VsZi5xdWV1ZV9tc2dfbG9jayA9IHRocmVhZGluZy5Mb2NrKCkKICAgICAgICBzZWxmLmV2ZW50X2ZpcmVfbXNnID0gdGhyZWFkaW5nLkV2ZW50KCkKCiAgICAgICAgc2VsZi5maWxlY2hhbmdlZF90aHJlYWRfbmFtZSA6IHN0ciA9IGYic2NyaXB0LXN5bmMtZmlsZUNoYW5nZWQtdGhyZWFkOjp7Z2hlbnYuQ29tcG9uZW50Lkluc3RhbmNlR3VpZH0iCiAgICAgICAgc2VsZi5fX3BhdGhfbmFtZV90YWJsZV92YWx1ZSA9ICJzY3JpcHQtc3luYzo6IiArICJwYXRoOjoiICsgc3RyKGdoZW52LkNvbXBvbmVudC5JbnN0YW5jZUd1aWQpCiAgICAgICAgaWYgc2VsZi5wYXRoIGlzIE5vbmU6CiAgICAgICAgICAgIGdoZW52LkNvbXBvbmVudC5NZXNzYWdlID0gInNlbGVjdC1zY3JpcHQiCgogICAgZGVmIFJlbW92ZWRGcm9tRG9jdW1lbnQoc2VsZiwgZG9jKToKICAgICAgICAiIiIgUmVtb3ZlIHRoZSBjb21wb25lbnQgZnJvbSB0aGUgZG9jdW1lbnQuICIiIgogICAgICAgIGlmIHNlbGYuY2xpZW50X3RocmVhZF9uYW1lIGluIFt0Lm5hbWUgZm9yIHQgaW4gdGhyZWFkaW5nLmVudW1lcmF0ZSgpXToKICAgICAgICAgICAgY2xpZW50X3RocmVhZCA9IFt0IGZvciB0IGluIHRocmVhZGluZy5lbnVtZXJhdGUoKSBpZiB0Lm5hbWUgPT0gc2VsZi5jbGllbnRfdGhyZWFkX25hbWVdWzBdCiAgICAgICAgICAgIGNsaWVudF90aHJlYWQuam9pbigpCiAgICAgICAgaWYgc2VsZi5maWxlY2hhbmdlZF90aHJlYWRfbmFtZSBpbiBbdC5uYW1lIGZvciB0IGluIHRocmVhZGluZy5lbnVtZXJhdGUoKV06CiAgICAgICAgICAgIGZpbGVjaGFuZ2VkX3RocmVhZCA9IFt0IGZvciB0IGluIHRocmVhZGluZy5lbnVtZXJhdGUoKSBpZiB0Lm5hbWUgPT0gc2VsZi5maWxlY2hhbmdlZF90aHJlYWRfbmFtZV1bMF0KICAgICAgICAgICAgZmlsZWNoYW5nZWRfdGhyZWFkLmpvaW4oKQogICAgICAgIGlmIHNlbGYucXVldWVfbXNnIGlzIG5vdCBOb25lOgogICAgICAgICAgICBzZWxmLnF1ZXVlX21zZy5qb2luKCkKICAgICAgICBpZiBzZWxmLnF1ZXVlX21zZ19sb2NrIGlzIG5vdCBOb25lOgogICAgICAgICAgICBzZWxmLnF1ZXVlX21zZ19sb2NrLnJlbGVhc2UoKQogICAgICAgIGlmIHNlbGYuZXZlbnRfZmlyZV9tc2cgaXMgbm90IE5vbmU6CiAgICAgICAgICAgIHNlbGYuZXZlbnRfZmlyZV9tc2cuY2xlYXIoKQoKICAgICAgICAjIGNsZWFyIHRoZSBwYXRoIGZyb20gdGhlIHRhYmxlIHZpZXcKICAgICAgICBkZWwgc2VsZi5wYXRoCgogICAgZGVmIGluaXRfc2NyaXB0X3BhdGgoc2VsZiwgYnRuIDogYm9vbCA9IEZhbHNlKToKICAgICAgICAiIiIKICAgICAgICAgICAgQ2hlY2sgaWYgdGhlIGJ1dHRvbiBpcyBwcmVzc2VkIGFuZCBsb2FkL2NoYW5nZSBwYXRoIHNjcmlwdC4KICAgICAgICAgICAgCiAgICAgICAgICAgIDpwYXJhbSBidG46IEEgYm9vbGVhbiBvZiB0aGUgYnV0dG9uCiAgICAgICAgIiIiCiAgICAgICAgIyBjaGVjayBpZiBidXR0b24gaXMgcHJlc3NlZAogICAgICAgIGlmIGJ0biBpcyBUcnVlOgogICAgICAgICAgICBkaWFsb2cgPSBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5PcGVuRmlsZURpYWxvZygpCiAgICAgICAgICAgIGRpYWxvZy5GaWx0ZXIgPSAiUHl0aG9uIGZpbGVzICgqLnB5KXwqLnB5IgogICAgICAgICAgICBkaWFsb2cuVGl0bGUgPSAiU2VsZWN0IGEgUHl0aG9uIGZpbGUiCiAgICAgICAgICAgIGRpYWxvZy5Jbml0aWFsRGlyZWN0b3J5ID0gb3MucGF0aC5kaXJuYW1lKCIiKQogICAgICAgICAgICBkaWFsb2cuRmlsZU5hbWUgPSAiIgogICAgICAgICAgICBkaWFsb2cuTXVsdGlzZWxlY3QgPSBGYWxzZQogICAgICAgICAgICBkaWFsb2cuQ2hlY2tGaWxlRXhpc3RzID0gVHJ1ZQogICAgICAgICAgICBkaWFsb2cuQ2hlY2tQYXRoRXhpc3RzID0gVHJ1ZQogICAgICAgICAgICBkaWFsb2cuUmVzdG9yZURpcmVjdG9yeSA9IFRydWUKICAgICAgICAgICAgaWYgZGlhbG9nLlNob3dEaWFsb2coKSA9PSBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5EaWFsb2dSZXN1bHQuT0s6CiAgICAgICAgICAgICAgICBzZWxmLnBhdGggPSBkaWFsb2cuRmlsZU5hbWUKCiAgICAgICAgIyBkZWZhdWx0IGluaXQgc3RhdXRzCiAgICAgICAgaWYgc2VsZi5wYXRoIGlzIE5vbmU6CiAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigic2NyaXB0LXN5bmM6OkZpbGUgbm90IHNlbGVjdGVkIikKCiAgICAgICAgIyBmaSBmaWxlIGlzIGluIHRhYmxlIHZpZXcgYmVmb3JlCiAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKHNlbGYucGF0aCk6CiAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigic2NyaXB0LXN5bmM6OkZpbGUgZG9lcyBub3QgZXhpc3QiKQogICAgCiAgICBkZWYgcmVsb2FkX2FsbF9tb2R1bGVzKHNlbGYsIGRpcmVjdG9yeSk6CiAgICAgICAgIiIiCiAgICAgICAgICAgIFJlbG9hZCBhbGwgdGhlIG1vZHVsZXMgKGxvY2FsIGZpbGVzKSBpbiB0aGUgZGlyZWN0b3J5IG9mIHRoZSBzY3JpcHQuCgogICAgICAgICAgICA6cGFyYW0gZGlyZWN0b3J5OiBUaGUgZGlyZWN0b3J5IG9mIHRoZSBzY3JpcHQuCiAgICAgICAgIiIiCiAgICAgICAgZm9yIGZpbGVuYW1lIGluIG9zLmxpc3RkaXIoZGlyZWN0b3J5KToKICAgICAgICAgICAgaWYgZmlsZW5hbWUuZW5kc3dpdGgoJy5weScpIGFuZCBmaWxlbmFtZSAhPSAnX19pbml0X18ucHknOgogICAgICAgICAgICAgICAgbW9kdWxlX25hbWUgPSBmaWxlbmFtZVs6LTNdICAjIHJlbW92ZSAnLnB5JyBmcm9tIGZpbGVuYW1lCiAgICAgICAgICAgICAgICBpZiBtb2R1bGVfbmFtZSBpbiBzeXMubW9kdWxlczoKICAgICAgICAgICAgICAgICAgICBpbXBvcnRsaWIucmVsb2FkKHN5cy5tb2R1bGVzW21vZHVsZV9uYW1lXSkKCiAgICBkZWYgZ2V0X3JlbG9hZGFibGVfcGFja2FnZXMoc2VsZik6CiAgICAgICAgIiIiCiAgICAgICAgICAgIEdldCBhbGwgdGhlIHJlbG9hZGFibGUgbW9kdWxlcyBmcm9tIHRoZSBzeXMubW9kdWxlcy4gSXQKICAgICAgICAgICAgbWFrZSBzdXJlIHRvIGNoZWNrIHRoZSBtb2R1bGUgc3BlYyBhbmQgbG9hZGVyIHRvIG9ubHkgcmVsb2FkIG1vZHVsZXMgCiAgICAgICAgICAgIHRoYXQgYXJlIGFjdHVhbGx5IGxvYWRlZCBmcm9tIGEgZmlsZSBvciBkaXJlY3RvcnkKCiAgICAgICAgICAgIDpyZXR1cm46IFRoZSBsaXN0IG9mIHJlbG9hZGFibGUgbW9kdWxlcy4KICAgICAgICAiIiIKICAgICAgICBCVUlMVElOX09SSUdJTlMgPSBbJ2J1aWx0LWluJywgJ2Zyb3plbiddCiAgICAgICAgcmVsb2FkYWJsZXMgPSBbXQogICAgICAgIGZvciBtIGluIHN5cy5tb2R1bGVzLnZhbHVlcygpOgogICAgICAgICAgICBpZiBpbnNwZWN0LmlzbW9kdWxlKG0pOgogICAgICAgICAgICAgICAgc3BlYyA9IGdldGF0dHIobSwgIl9fc3BlY19fIiwgTm9uZSkKICAgICAgICAgICAgICAgIGlmIHNwZWM6CiAgICAgICAgICAgICAgICAgICAgaWYgc3BlYy5vcmlnaW4gaW4gQlVJTFRJTl9PUklHSU5TIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIGlzaW5zdGFuY2Uoc3BlYy5sb2FkZXIsIGltcG9ydGxpYi5tYWNoaW5lcnkuU291cmNlbGVzc0ZpbGVMb2FkZXIpOgogICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgcmVsb2FkYWJsZXMuYXBwZW5kKG0pCgogICAgICAgIHJldHVybiByZWxvYWRhYmxlcwoKICAgIGRlZiBzYWZlX2V4ZWMoc2VsZiwgcGF0aCwgZ2xvYmFscywgbG9jYWxzLCBwYWNrYWdlc18yX3JlbG9hZCk6CiAgICAgICAgIiIiCiAgICAgICAgICAgIEV4ZWN1dGUgUHl0aG9uMyBjb2RlIHNhZmVseS4gSXQgcmVkaXJlY3RzIHRoZSBvdXRwdXQgb2YgdGhlIGNvZGUKICAgICAgICAgICAgdG8gYSBzdHJpbmcgYnVmZmVyICdzdGRvdXQnIHRvIG91dHB1dCB0byB0aGUgR0ggY29tcG9uZW50IHBhcmFtLgogICAgICAgICAgICBJdCBpcyBzZW5kIHRvIHRoZSB2c2NvZGUgc2VydmVyLgogICAgICAgICAgICAKICAgICAgICAgICAgOnBhcmFtIHBhdGg6IFRoZSBwYXRoIG9mIHRoZSBmaWxlIHRvIGV4ZWN1dGUuCiAgICAgICAgICAgIDpwYXJhbSBnbG9iYWxzOiBUaGUgZ2xvYmFscyBkaWN0aW9uYXJ5LgogICAgICAgICAgICA6cGFyYW0gbG9jYWxzOiBUaGUgbG9jYWxzIGRpY3Rpb25hcnkuCiAgICAgICAgICAgIDpwYXJhbSBwYWNrYWdlc18yX3JlbG9hZDogVGhlIGxpc3Qgb2YgcGFja2FnZXMgdG8gcmVsb2FkLCB0aGlzIGlzIHVzZWQgZm9yIGN1c3RvbSBwYWNrYWdlcyBkZXZlbG9wZW1lbnQuCiAgICAgICAgICAgIGluc3RhbGxlZCBvbiB0aGUgc3lzdGVtIHZpYSBhbiBlZGl0YWJsZSBwaXAgaW5zdGFsbGF0aW9uIGZvciBleGFtcGxlLgogICAgICAgICIiIgogICAgICAgIHRyeToKICAgICAgICAgICAgd2l0aCBvcGVuKHBhdGgsICdyJykgYXMgZjoKICAgICAgICAgICAgICAgICMgcmVsb2FkIHRoZSBzcGVjaWZ5ZWQgcGFja2FnZXMKICAgICAgICAgICAgICAgICMgcmVsb2FkYWJsZXMgPSBzZWxmLmdldF9yZWxvYWRhYmxlX3BhY2thZ2VzKCkKICAgICAgICAgICAgICAgICMgIyBpZiBwYWNrYWdlc18yX3JlbG9hZCBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICMgIyAgICAgaWYgcGFja2FnZXNfMl9yZWxvYWQuX19sZW5fXygpICE9IDA6CiAgICAgICAgICAgICAgICAjICMgICAgICAgICBmb3IgcGFja2FnZSBpbiBwYWNrYWdlc18yX3JlbG9hZDoKICAgICAgICAgICAgICAgICMgIyAgICAgICAgICAgICBpZiBwYWNrYWdlIGluIHJlbG9hZGFibGVzOgogICAgICAgICAgICAgICAgIyAjICAgICAgICAgICAgICAgICBpbXBvcnRsaWIucmVsb2FkKHBhY2thZ2UpCiAgICAgICAgICAgICAgICAjIGZvciBwYWNrYWdlIGluIHBhY2thZ2VzXzJfcmVsb2FkOgogICAgICAgICAgICAgICAgIyAgICAgaWYgcGFja2FnZSBpbiByZWxvYWRhYmxlczoKICAgICAgICAgICAgICAgICMgICAgICAgICBpbXBvcnRsaWIucmVsb2FkKHBhY2thZ2UpCgogICAgICAgICAgICAgICAgIyBhZGQgdGhlIHBhdGggYW5kIHN1YiBkaXJlY3RvcmllcyB0byAgdGhlIHN5cyBwYXRoCiAgICAgICAgICAgICAgICBwYXRoX2RpciA9IG9zLnBhdGguZGlybmFtZShwYXRoKQogICAgICAgICAgICAgICAgc3ViX2RpcnMgPSBbXQogICAgICAgICAgICAgICAgZm9yIHJvb3QsIGRpcnMsIGZpbGVzIGluIG9zLndhbGsocGF0aF9kaXIpOgogICAgICAgICAgICAgICAgICAgIGZvciBkIGluIGRpcnM6CiAgICAgICAgICAgICAgICAgICAgICAgIHN1Yl9kaXJzLmFwcGVuZChvcy5wYXRoLmpvaW4ocm9vdCwgZCkpCiAgICAgICAgICAgICAgICBzeXMucGF0aC5leHRlbmQoW3BhdGhfZGlyXSArIHN1Yl9kaXJzKQoKICAgICAgICAgICAgICAgICMgcmVsb2FkIGFsbCB0aGUgbW9kdWxlcyBhbHNvIG9mIHRoZSBzdWIgZGlyZWN0b3JpZXMKICAgICAgICAgICAgICAgIGZvciByb290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKHBhdGhfZGlyKToKICAgICAgICAgICAgICAgICAgICBmb3IgZCBpbiBkaXJzOgogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnJlbG9hZF9hbGxfbW9kdWxlcyhvcy5wYXRoLmpvaW4ocm9vdCwgZCkpCiAgICAgICAgICAgICAgICBzZWxmLnJlbG9hZF9hbGxfbW9kdWxlcyhwYXRoX2RpcikKCiAgICAgICAgICAgICAgICAjIHJlZnJlc2ggdGhlIHB5dGhvbiBpbnRlcnByZXRlcgogICAgICAgICAgICAgICAgaW1wb3J0bGliLmludmFsaWRhdGVfY2FjaGVzKCkKCiAgICAgICAgICAgICAgICAjIHBhcnNlIHRoZSBjb2RlCiAgICAgICAgICAgICAgICBjb2RlID0gY29tcGlsZShmLnJlYWQoKSwgcGF0aCwgJ2V4ZWMnKQogICAgICAgICAgICAgICAgb3V0cHV0ID0gaW8uU3RyaW5nSU8oKQoKICAgICAgICAgICAgICAgICMgZW1wdHkgdGhlIHF1ZXVlIGFuZCBldmVudAogICAgICAgICAgICAgICAgd2l0aCBzZWxmLnF1ZXVlX21zZ19sb2NrOgogICAgICAgICAgICAgICAgICAgIHdoaWxlIG5vdCBzZWxmLnF1ZXVlX21zZy5lbXB0eSgpOgogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnF1ZXVlX21zZy5nZXQoKQogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnF1ZXVlX21zZy50YXNrX2RvbmUoKQogICAgICAgICAgICAgICAgc2VsZi5ldmVudF9maXJlX21zZy5jbGVhcigpCgogICAgICAgICAgICAgICAgIyBleGVjdXRlIHRoZSBjb2RlCiAgICAgICAgICAgICAgICB3aXRoIGNvbnRleHRsaWIucmVkaXJlY3Rfc3Rkb3V0KG91dHB1dCk6CiAgICAgICAgICAgICAgICAgICAgZXhlYyhjb2RlLCBnbG9iYWxzLCBsb2NhbHMpCiAgICAgICAgICAgICAgICBsb2NhbHNbInN0ZG91dCJdID0gb3V0cHV0LmdldHZhbHVlKCkKCiAgICAgICAgICAgICAgICAjIHNlbmQgdGhlIG1zZyB0byB0aGUgdnNjb2RlIHNlcnZlcgogICAgICAgICAgICAgICAgbXNnX2pzb24gPSBqc29uLmR1bXBzKHsic2NyaXB0X3BhdGgiOiBwYXRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ3VpZCI6IHN0cihnaGVudi5Db21wb25lbnQuSW5zdGFuY2VHdWlkKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1zZyI6IG91dHB1dC5nZXR2YWx1ZSgpfSkKICAgICAgICAgICAgICAgIG1zZ19qc29uID0gbXNnX2pzb24uZW5jb2RlKCd1dGYtOCcpCiAgICAgICAgICAgICAgICBzZWxmLnF1ZXVlX21zZy5wdXQobXNnX2pzb24pCiAgICAgICAgICAgICAgICBzZWxmLmV2ZW50X2ZpcmVfbXNnLnNldCgpCgogICAgICAgICAgICAgICAgIyBwYXNzIHRoZSBzY3JpcHQgdmFyaWFibGVzIHRvIHRoZSBHSCBjb21wb25lbnQgb3V0cHV0cwogICAgICAgICAgICAgICAgb3V0cGFyYW0gPSBnaGVudi5Db21wb25lbnQuUGFyYW1zLk91dHB1dAogICAgICAgICAgICAgICAgb3V0cGFyYW1fbmFtZXMgPSBbcC5OaWNrTmFtZSBmb3IgcCBpbiBvdXRwYXJhbV0KICAgICAgICAgICAgICAgIGZvciBvdXRwIGluIG91dHBhcmFtX25hbWVzOgogICAgICAgICAgICAgICAgICAgIGlmIG91dHAgaW4gbG9jYWxzLmtleXMoKToKICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fdmFyX291dHB1dC5hcHBlbmQobG9jYWxzW291dHBdKQogICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3Zhcl9vdXRwdXQuYXBwZW5kKE5vbmUpCgogICAgICAgICAgICAgICAgc3lzLnN0ZG91dCA9IHN5cy5fX3N0ZG91dF9fCiAgICAgICAgICAgIHJldHVybiBsb2NhbHMKCiAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgoKICAgICAgICAgICAgIyBzZW5kIHRoZSBlcnJvciBtZXNzYWdlIHRvIHRoZSB2c2NvZGUgc2VydmVyCiAgICAgICAgICAgIGVycl9qc29uID0ganNvbi5kdW1wcyh7InNjcmlwdF9wYXRoIjogcGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImd1aWQiOiBzdHIoZ2hlbnYuQ29tcG9uZW50Lkluc3RhbmNlR3VpZCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtc2ciOiAiZXJyOiIgKyBzdHIoZSl9KQogICAgICAgICAgICBlcnJfanNvbiA9IGVycl9qc29uLmVuY29kZSgndXRmLTgnKQogICAgICAgICAgICBzZWxmLnF1ZXVlX21zZy5wdXQoZXJyX2pzb24pCiAgICAgICAgICAgIHNlbGYuZXZlbnRfZmlyZV9tc2cuc2V0KCkKICAgICAgICAgICAgCiAgICAgICAgICAgIHN5cy5zdGRvdXQgPSBzeXMuX19zdGRvdXRfXwoKICAgICAgICAgICAgZXJyX21zZyA9IGYic2NyaXB0LXN5bmM6OkVycm9yIGluIHRoZSBjb2RlOiB7c3RyKGUpfSIKICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKGVycl9tc2cpCgogICAgZGVmIFJ1blNjcmlwdChzZWxmLAogICAgICAgICAgICBidG46IGJvb2wsCiAgICAgICAgICAgIHBhY2thZ2VzXzJfcmVsb2FkOiBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5JTGlzdFtvYmplY3RdKToKICAgICAgICAiIiIgVGhpcyBtZXRob2QgaXMgY2FsbGVkIHdoZW5ldmVyIHRoZSBjb21wb25lbnQgaGFzIHRvIGJlIHJlY2FsY3VsYXRlZCBpdCdzIHRoZSBzb2x2ZSBtYWluIGluc3RhbmNlLiAiIiIKICAgICAgICBzZWxmLmlzX3N1Y2Nlc3MgPSBGYWxzZQoKICAgICAgICAjIHNldCB0aGUgcGF0aCBpZiBidXR0b24gaXMgcHJlc3NlZAogICAgICAgIHNlbGYuaW5pdF9zY3JpcHRfcGF0aChidG4pCgogICAgICAgICMgZmlsZSBjaGFuZ2UgbGlzdGVuZXIgdGhyZWFkCiAgICAgICAgaWYgc2VsZi5maWxlY2hhbmdlZF90aHJlYWRfbmFtZSBub3QgaW4gW3QubmFtZSBmb3IgdCBpbiB0aHJlYWRpbmcuZW51bWVyYXRlKCldOgogICAgICAgICAgICBGaWxlQ2hhbmdlZFRocmVhZChzZWxmLnBhdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZmlsZWNoYW5nZWRfdGhyZWFkX25hbWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKS5zdGFydCgpCgogICAgICAgICMgc2V0IHVwIHRoZSB0Y3AgY2xpZW50IHRvIGNvbm5lY3QgdG8gdGhlIHZzY29kZSBzZXJ2ZXIKICAgICAgICBfID0gW3ByaW50KHQubmFtZSkgZm9yIHQgaW4gdGhyZWFkaW5nLmVudW1lcmF0ZSgpXQogICAgICAgIGlmIHNlbGYuY2xpZW50X3RocmVhZF9uYW1lIG5vdCBpbiBbdC5uYW1lIGZvciB0IGluIHRocmVhZGluZy5lbnVtZXJhdGUoKV06CiAgICAgICAgICAgIENsaWVudFRocmVhZChzZWxmLnZzY29kZV9zZXJ2ZXJfaXAsCiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudnNjb2RlX3NlcnZlcl9wb3J0LAogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmNsaWVudF90aHJlYWRfbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5xdWV1ZV9tc2csCiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucXVldWVfbXNnX2xvY2ssCiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZXZlbnRfZmlyZV9tc2cKICAgICAgICAgICAgICAgICAgICAgICAgKS5zdGFydCgpCgogICAgICAgICMgYWRkIHRvIHRoZSBnbG9iYWxzIGFsbCB0aGUgaW5wdXQgcGFyYW1ldGVycyBvZiB0aGUgY29tcG9uZW50ICh0aGUgbG9jYWxzKQogICAgICAgIGdsb2JhbHMoKS51cGRhdGUobG9jYWxzKCkpCgogICAgICAgIHJlcyA9IHNlbGYuc2FmZV9leGVjKHNlbGYucGF0aCwgTm9uZSwgZ2xvYmFscygpLCBwYWNrYWdlc18yX3JlbG9hZCkKICAgICAgICBzZWxmLmlzX3N1Y2Nlc3MgPSBUcnVlCiAgICAgICAgcmV0dXJuCgogICAgZGVmIEFmdGVyUnVuU2NyaXB0KHNlbGYpOgogICAgICAgICIiIgogICAgICAgICAgICBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgYXMgc29vbiBhcyB0aGUgY29tcG9uZW50IGhhcyBmaW5pc2hlZAogICAgICAgICAgICBpdHMgY2FsY3VsYXRpb24uIEl0IGlzIHVzZWQgdG8gbG9hZCB0aGUgR0hDb21wb25lbnQgb3V0cHV0cwogICAgICAgICAgICB3aXRoIHRoZSB2YWx1ZXMgY3JlYXRlZCBpbiB0aGUgc2NyaXB0LgogICAgICAgICIiIgogICAgICAgIGlmIG5vdCBzZWxmLmlzX3N1Y2Nlc3M6CiAgICAgICAgICAgIHJldHVybgogICAgICAgIG91dHBhcmFtID0gW3AgZm9yIHAgaW4gZ2hlbnYuQ29tcG9uZW50LlBhcmFtcy5PdXRwdXRdCiAgICAgICAgb3V0cGFyYW1fbmFtZXMgPSBbcC5OaWNrTmFtZSBmb3IgcCBpbiBvdXRwYXJhbV0KICAgICAgICAKICAgICAgICAjIFRPRE86IGFkZCB0aGUgY29udmVyc2lvbiB0byBkYXRhdHJlZSBmb3IgbmVzdGVkIGxpc3RzIGFuZCB0dXBsZXMKICAgICAgICBmb3IgaWR4LCBvdXRwIGluIGVudW1lcmF0ZShvdXRwYXJhbSk6CiAgICAgICAgICAgICMgZGV0ZWN0IGlmIHRoZSBvdXRwdXQgaXMgYSBsaXN0CiAgICAgICAgICAgIGlmIHR5cGUoc2VsZi5fdmFyX291dHB1dFtpZHhdKSA9PSBsaXN0IG9yIHR5cGUoc2VsZi5fdmFyX291dHB1dFtpZHhdKSA9PSB0dXBsZToKICAgICAgICAgICAgICAgIGdoZW52LkNvbXBvbmVudC5QYXJhbXMuT3V0cHV0W2lkeF0uVm9sYXRpbGVEYXRhLkNsZWFyKCkKICAgICAgICAgICAgICAgIGdoZW52LkNvbXBvbmVudC5QYXJhbXMuT3V0cHV0W2lkeF0uQWRkVm9sYXRpbGVEYXRhTGlzdChnaC5LZXJuZWwuRGF0YS5HSF9QYXRoKDApLCBzZWxmLl92YXJfb3V0cHV0W2lkeF0pCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBnaGVudi5Db21wb25lbnQuUGFyYW1zLk91dHB1dFtpZHhdLlZvbGF0aWxlRGF0YS5DbGVhcigpCiAgICAgICAgICAgICAgICBnaGVudi5Db21wb25lbnQuUGFyYW1zLk91dHB1dFtpZHhdLkFkZFZvbGF0aWxlRGF0YShnaC5LZXJuZWwuRGF0YS5HSF9QYXRoKDApLCAwLCBzZWxmLl92YXJfb3V0cHV0W2lkeF0pCiAgICAgICAgc2VsZi5fdmFyX291dHB1dC5jbGVhcigpCgogICAgQHByb3BlcnR5CiAgICBkZWYgcGF0aChzZWxmKToKICAgICAgICAiIiIgR2V0IHRoZSBwYXRoIG9mIHRoZSBmaWxlIGZyb20gdGhlIHRhYmxlIHZpZXcgdG8gYmUgc3RpY2tpbmcgYmV0d2VlbiB0aGUgc2Vzc2lvbnMuICIiIgogICAgICAgIHRhYmxlX3ZhbHVlID0gZ2hlbnYuQ29tcG9uZW50Lk9uUGluZ0RvY3VtZW50KCkuVmFsdWVUYWJsZS5HZXRWYWx1ZSgKICAgICAgICAgICAgc2VsZi5fX3BhdGhfbmFtZV90YWJsZV92YWx1ZSwgIm5vdF9mb3VuZCIKICAgICAgICApCiAgICAgICAgaWYgdGFibGVfdmFsdWUgIT0gIm5vdF9mb3VuZCI6CiAgICAgICAgICAgIHJldHVybiB0YWJsZV92YWx1ZQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIHJldHVybiBOb25lCgogICAgQHBhdGguc2V0dGVyCiAgICBkZWYgcGF0aChzZWxmLCBwYXRoIDogc3RyKToKICAgICAgICAiIiIgU2V0IHRoZSBwYXRoIG9mIHRoZSBmaWxlIHRvIHRoZSB0YWJsZSB2aWV3IHRvIGJlIHN0aWNraW5nIGJldHdlZW4gdGhlIHNlc3Npb25zLiAiIiIKICAgICAgICBnaGVudi5Db21wb25lbnQuT25QaW5nRG9jdW1lbnQoKS5WYWx1ZVRhYmxlLlNldFZhbHVlKHNlbGYuX19wYXRoX25hbWVfdGFibGVfdmFsdWUsIHBhdGgpCgogICAgICAgIHNjcmlwdF9uYW1lID0gb3MucGF0aC5iYXNlbmFtZShwYXRoKQogICAgICAgIGdoZW52LkNvbXBvbmVudC5NZXNzYWdlID0gZiJ7c2NyaXB0X25hbWV9IgoKICAgICAgICBpZiBzZWxmLmZpbGVjaGFuZ2VkX3RocmVhZF9uYW1lIGluIFt0Lm5hbWUgZm9yIHQgaW4gdGhyZWFkaW5nLmVudW1lcmF0ZSgpXToKICAgICAgICAgICAgXyA9IFt0IGZvciB0IGluIHRocmVhZGluZy5lbnVtZXJhdGUoKSBpZiB0Lm5hbWUgPT0gc2VsZi5maWxlY2hhbmdlZF90aHJlYWRfbmFtZV1bMF0uc3RvcCgpCgogICAgQHBhdGguZGVsZXRlcgogICAgZGVmIHBhdGgoc2VsZik6CiAgICAgICAgIiIiIERlbGV0ZSB0aGUgcGF0aCBvZiB0aGUgZmlsZSBmcm9tIHRoZSB0YWJsZSB2aWV3IGlmIHRoZSBvYmplY3QgaXMgZXJhc2VkLiAiIiIKICAgICAgICBnaGVudi5Db21wb25lbnQuT25QaW5nRG9jdW1lbnQoKS5WYWx1ZVRhYmxlLkRlbGV0ZVZhbHVlKHNlbGYuX19wYXRoX25hbWVfdGFibGVfdmFsdWUpCg== S @@ -948,8 +860,8 @@ - 1463 - -71 + 1691 + 42 66 22 @@ -980,8 +892,8 @@ - 1433 - -36 + 1662 + 79 113 38 @@ -989,8 +901,8 @@ 0 0 - 1433.1493 - -35.20298 + 1662.5078 + 79.502075 @@ -1012,63 +924,6 @@ - - 919e146f-30ae-4aae-be34-4d72f555e7da - Brep - - - - - Contains a collection of Breps (Boundary REPresentations) - e416fc7a-5aa7-46a8-9822-817c9fff706a - Brep - Brep - false - 0 - - - - - - 1333 - 20 - 50 - 24 - - - 1358.5637 - 32.91388 - - - - - - 1 - - - - - 1 - {0} - - - - - - 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WuLweOseN17neIN7LZta3lhuDyL3mU86NN8XDDji1arwrhJgxIxoN2svX/A6/b778dVfZW5tS6bUKuYD9hhuuTDoTI7sl5PH818bce3huWFkG+Gj470ZsoFozB1lDjQygd9qurtyGfIj8NwmBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGiP8HAAD//wMA - - 00000000-0000-0000-0000-000000000000 - - - - - - - - - - - c9b2d725-6f87-4b07-af90-bd9aefef68eb 066d0a87-236f-4eae-a0f4-9e42f5327962 @@ -1099,14 +954,14 @@ - 98 - 64 + 55 + 61 109 28 - 112 - 78 + 69 + 75 @@ -1138,14 +993,14 @@ - 127 - 66 + 84 + 63 78 24 - 166 - 78 + 123 + 75 @@ -1172,7 +1027,7 @@ - + 57da07bd-ecab-415d-9d86-af36d7073abc Number Slider @@ -1191,14 +1046,14 @@ - 1361 - 201 - 167 + 1227 + 89 + 170 20 - 1361.9153 - 201.2345 + 1227.4471 + 89.10762 @@ -1217,7 +1072,7 @@ - + 57da07bd-ecab-415d-9d86-af36d7073abc Number Slider @@ -1236,14 +1091,14 @@ - 640 - 105 + 598 + 102 167 20 - 640.7547 - 105.13832 + 598.40173 + 102.78538 @@ -1262,7 +1117,7 @@ - + 06953bda-1d37-4d58-9b38-4b3c74e54c8f File Path @@ -1283,14 +1138,14 @@ - 760 - 74 + 718 + 72 50 24 - 785.9228 - 86.40315 + 743.5698 + 84.05021 @@ -1319,7 +1174,7 @@ - + 59e0b89a-e487-49f8-bab8-b5bab16be14c Panel @@ -1341,8 +1196,8 @@ - 1058 - 75 + 1016 + 72 155 42 @@ -1350,8 +1205,8 @@ 0 0 - 1058.7566 - 75.19455 + 1016.4037 + 72.841606 @@ -1372,7 +1227,7 @@ - + c9b2d725-6f87-4b07-af90-bd9aefef68eb 066d0a87-236f-4eae-a0f4-9e42f5327962 @@ -1403,14 +1258,14 @@ - 831 - 74 + 788 + 71 138 44 - 889 - 96 + 846 + 93 @@ -1445,14 +1300,14 @@ - 833 - 76 + 790 + 73 41 20 - 855 - 86 + 812 + 83 @@ -1480,14 +1335,14 @@ - 833 - 96 + 790 + 93 41 20 - 855 - 106 + 812 + 103 @@ -1514,14 +1369,14 @@ - 904 - 76 + 861 + 73 63 40 - 935.5 - 96 + 892.5 + 93 @@ -1548,7 +1403,7 @@ - + 850b6368-ff26-48ce-9773-ac554ffbaeef Point Cloud @@ -1568,76 +1423,22 @@ - 986 - 83 - 50 - 24 - - - 1011.5503 - 95.828064 - - - - - - - - - - 1e936df3-0eea-4246-8549-514cb8862b7a - Mesh - - - - - Contains a collection of polygon meshes - b33cdca4-0f8e-4192-b3b5-83525babf58f - Mesh - Mesh - false - 0 - - - - - - 1461 - 30 + 944 + 81 50 24 - 1486.6667 - 42.66667 + 969.1974 + 93.47512 - - - 1 - - - - - 1 - {0} - - - - - 3cca2a2e-27f9-4c29-8524-f93d7c7bc8b8 - - - - - - - + 59e0b89a-e487-49f8-bab8-b5bab16be14c Panel @@ -1659,17 +1460,17 @@ - 1849 - -200 + 2016 + 21 306 - 185 + 92 0 0 0 - 1849.2024 - -199.5752 + 2016.7383 + 21.915852 @@ -1690,18 +1491,18 @@ - + - 57da07bd-ecab-415d-9d86-af36d7073abc - Number Slider + 1e936df3-0eea-4246-8549-514cb8862b7a + Mesh - Numeric slider for single values - 81dca6aa-a9dc-4dca-8a43-5470a63ddb8a - Number Slider - + Contains a collection of polygon meshes + 2fae0066-4e58-4b19-842d-dacda172902a + Mesh + Mesh false 0 @@ -1709,391 +1510,210 @@ - 1321 - 124 - 170 - 20 - - - 1321.6498 - 124.86667 - - - - - - 3 - 1 - 1 - 20000 - 0 - 0 - 6067 - - - - - - - - - e9eb1dcf-92f6-4d4d-84ae-96222d60f56b - Move - - - - - Translate (move) an object along a vector. - 0b6606c2-c240-4c96-9108-55f11af3d33d - Move - Move - - - - - - 1914 - 17 - 67 - 44 + 1347 + 59 + 50 + 24 - 1946 - 39 + 1372.4526 + 71.31056 - - - Base geometry - d2de9a94-a13e-4dfc-b6d1-a3c98b399969 - Geometry - G - true - 8877375f-1823-440a-b738-bcfefe0fc124 - 1 + + + 1 - - - - 1916 - 19 - 15 - 20 - - - 1925 - 29 - - - - - - - - Translation vector - 182abd52-98c5-4755-9e2a-3b0ac33313f3 - Motion - T - false - e9ef6558-1c66-44dc-b3e1-fda7c37f5fbd - 1 - - - + - - 1916 - 39 - 15 - 20 - - - 1925 - 49 - - - - - 1 + {0} - - - 1 - {0} + + + 2e3af591-6a11-4ff4-a443-ed19f90b2742 - - - - - 0 - 0 - 10 - - - - - - - Translated geometry - 495515e5-acce-4aeb-9081-7eae556f501e - Geometry - G - false - 0 - - - - - - 1961 - 19 - 18 - 20 - - - 1970 - 29 - - - - - - - - Transformation data - af0a840b-c678-4b65-953c-91d30eea58ff - Transform - X - false - 0 - - - - - - 1961 - 39 - 18 - 20 - - - 1970 - 49 - - - - - - - - 79f9fbb3-8f1d-4d9a-88a9-f7961b1012cd - Unit X + + + c9b2d725-6f87-4b07-af90-bd9aefef68eb + 066d0a87-236f-4eae-a0f4-9e42f5327962 + DFMeshToCloud - - Unit vector parallel to the world {x} axis. - e33b4e87-e06d-4d83-b78a-6d599df97b71 - Unit X - X + + Sample a point cloud from a mesh. + true + 2 + + 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 + + 49020009-201e-47a1-a670-76c7cbf7b005 + true + false + true + DFMeshToCloud + Geo2Pcd + 1 + + false + false + false - 1866 - 117 - 63 - 28 + 1414 + 65 + 141 + 44 - 1895 - 131 + 1475 + 87 - - - Unit multiplication - 659aee7a-8428-4ba8-99e6-80899a8d9405 - Factor - F - false - ad47b65a-c7c6-4bf0-8bce-82b985b07072 - 1 + + + 2 + 08908df5-fa14-4982-9ab2-1aa0927566aa + 08908df5-fa14-4982-9ab2-1aa0927566aa + 1 + 08908df5-fa14-4982-9ab2-1aa0927566aa - - - - - 1868 - 119 - 12 - 24 - - - 1875.5 - 131 + + + + true + Mesh to sample into a point cloud. + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAARYSURBVEhL1VVHSJ1pFLUQUZTYu7H3Hk2xGyuIvVfsILpIdBeMjAoyKhhQcaUSdaWIEhQUFHVhLAjRENzoSlCQWajIYJnMGM585+rIkEwSZzXMhY/H/7/3zr3nnHvvp/FfhZOmpuaF+sS/ODnq3C10dXW3BgYGsLq6iuXlZSwtLWFhYQEzMzMYHh5GZ2cnampqkJWVhYiICLi5uUEVdKj+qnON8J3Q1tZOT05O/mNoaAhPnz4VAAJFRUWhvLwcAQEBCAkJQXp6Ovz9/REaGgpvb28YGBicaWlpvbqB+WboGBoaHo+OjqKkpAQxMTGoqKhAUlKSJGttbUVCQgJevnyJyMhIuLu7Izs7Gz4+PggMDIRKcK4wbK+h/iHu3bv3swK8amlpQUFBAerq6pCRkSFgYWFhGBsbw8jICNLS0gTUw8MD9fX1yMnJERaquE9Kqrc3cF+Fk5WV1W99fX0oLCwU8La2NgwODmJqakp8WFlZwdraGt69e4e5uTmMj4+jp6cHDQ0NwoRyKYnJIvAa8m+hvljmjyhNcXExGhsbERsbK4faE3hnZwfBwcEiR25uLmZnZzExMQFHR0fY2dnB1dUVDg4OnxWLrRvY20g2MzO7zMvLgzIYiYmJaG9vR3R0NMrKyrCxsYHq6mocHh5KAhbx8eNHqXpxcVESBAUFITU1VTpKT0/vTGEWXUMrY1X1v7Az2DHh4eFiKKlTKrYpwfnu9PRUTN/f3xeWNJnJybKpqQmenp5QMos3isWJwjbQUM7/ZGpqekn9Hj58KJU8evQI9GJychKlpaV48uSJvLu4uMDx8bFIRjBWu7m5KeazQAsLC5iYmMDPzw/m5uYc1HYNlelXdgBfkj475Pnz5+jt7ZXB2trawt7eHo6OjiTB1dUVLi8v5Znv379/j+npaXR1dYmcLNTJyUnmRSU4ZYLXRkZG50zg5eUlSSorK2VaaSYPpdrd3cXJyYn8hhKwNVk9zbexsYGlpaUwogJU4sGDB2TwWh0NA+rFrKRNH6g3NfX19ZU5YFtyLg4ODm6Hi8xSUlIwPz8vuvO3HEgaTrmUr9ce3ESRjo7OGStjEoLU1tbi2bNn4MqgbHy3vb0tK2J9fV26ja3JqWfFRUVF8szilBechdsuklAsPpCms7MzXFxcRAIOG1uVzzx/LTy2sa2tLaytrdHR0YGqqir2v8zB48ePPyu4r+aAEcFdQqloOpcbk5BJc3Mzuru7ZarfvHmD/v5+eaaMbGGyUcDC7v79+9Q++Bryi1As3qo2+8RKKBUp83DvsP9fvHghVZMpv8/MzERcXBxBxVy1XX9XMN/cRQxbsqDe9vb2Yp7qBtGV0tFE1d9iJBcgv2fn8JMslI/f36Y38crY2PicXaHWhwBygNQwSnuyejLks7oDoK+vL5OsPCL4D+8Dho6S6oiycG3QZALwHiADtia15iVEj/Lz8xEfH3/3G+0m8tX58s790bn7nfw/Cg2NPwGZ3c2r5lT8fwAAAABJRU5ErkJggg== + fb753c9c-1ad9-424b-866f-cdb3b7da95b7 + i_mesh + i_mesh + true + 0 + true + 2fae0066-4e58-4b19-842d-dacda172902a + 1 + Mesh to sample into a point cloud. + 794a1f9d-21d5-4379-b987-9e8bbf433912 + + + + + 1416 + 67 + 44 + 20 + + + 1439.5 + 77 + + + + - - - 1 + + + true + The number of points of the created cloud. + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAOdSURBVEhL1VU5SGNRFI2KQSTuu3E37rvRuOGCCwhRAioOphPsbKxEUIIgDFiksbXQRsRCgjbaaBGwESdgZWWlMDPIDCl0Js5MOHPPS/7H0bhMNcyFS15+fs4995z73jP8q7BERUV9k0/8Rb6TfFvExcV9WF9fx8nJCbxeL46OjnBwcIDd3V1sbm5idXUVMzMzsNvt6OrqQllZGYTQR/mrMYTwQsTExDjkjz83NjbQ1tam0mazoaWlBc3NzWhoaEBtbS0qKysVcHFxMaqrq2EymW6jo6MXwzDPhjEpKenL9vY2xsfHFTtmZ2enKsQiTU1NqKurU6Dl5eUoLS1VWVJSAilwJxjmEFSEiI2NfT89Pf1reXkZ3d3d2Nrawktxfn6uwIuKilQnQu5epPKE4Z6EJTs7O7C2toaBgQH09vbi4uIiDBU5VlZWYLFYVIH8/Hzk5eXRC3ZhDUE+CNHeOzY2hqmpKSXL6OgogsEgfD4f9vf3sbe3B4/Ho4y+vr5Wv1E2rQDBc3JykJKSEpQivjCsHvb09PTvk5OT6k/UfH5+HktLS6oTysVnNLu1tRU3Nzc4Pj5GRUWFLhELiAIoKCiATOGtYDpD0GKssP/U3t4OJo3UikQyeXZ2VskzNzenm1xYWAiz2YysrCxVhAWli6+CbTKI8660tLTvBOcIchQJRLYEZT4c08PDQ/j9fjQ2NupjSv1zc3ORmZmJ1NRUVVTW3Khug1TyV1VVqdlmsghH0Wq1/pF8xm4CgQB2dnZ09g/1z8jIoAeqUH19PXe3nwXcMl53nG2tENcsRJZMrvnM5XIpeZxOpzL3IXvKI0ogOTlZ4cjzUAfUiXrxZe5OJjdRTU2N3hXXfHZ6eoqrqysdnIZSe+pO9pSHnVBS8TXkQTicRqPxlm1TV35yQrSCXPf19Sn23CcauCYNJdHY0zP5zr2gT5EKzi5f5JantkwyZXLtdrtVAY4tZSHzx+B8V8Y4KHBP9gHDxrOEpkXKy8tLnJ2dKdbUnLJo4DSW8gwNDSExMZHaP93JDOnCIy/ekzGBtBwZGVHsFxYWFGsaSs015gKqRlgm54fAPHsWMczsgh5QBrLUkqBkrAGTsUwfEhIS1O+8G8THl0/TcCxKy3ecHDk+9NRAKYfGWu4AxMfHo7+/nz4R/NX7gGEUqT5zLDs6OtDT06MAqO/w8LBi6nA4wINxYmICPL8GBwfffqOFg/fr4zv3tXz7nfwfhcHwG4jlh0fOcQdLAAAAAElFTkSuQmCC + + 9771b0c7-0638-4eb5-a786-87f9b4996653 + i_points + i_points + true + 0 + true + f70afb73-658f-4d2b-9d6f-91c0101a1850 + 1 + The number of points of the created cloud. + 48d01794-d3d8-4aef-990e-127168822244 - + - 1 - {0} + + 1416 + 87 + 44 + 20 + + + 1439.5 + 97 + - - - - 1 - - - - - - - - World {x} vector - e9ef6558-1c66-44dc-b3e1-fda7c37f5fbd - Unit vector - V - false - 0 - - - - - - 1910 - 119 - 17 - 24 - - - 1918.5 - 131 + + + false + The output sampled cloud. + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAQTSURBVEhL1VVbKK1pGF7ISnI+s5zP5/NZzkQohUxcUS7cOCRXtiQ0MtqS5IILp8KNtitKKQmR7ERxISllz0wadrGszdAz3/Ot9a/sMXvbczXNW2/rb631P8/7Pu/zfp/qvwo/ExOTL+IT/yJ/EvljYWFh8XFiYgJbW1vY2NjA2toaVlZWsLi4iKmpKQwMDKChoQGlpaXIyMhAUFAQREG/ilfVeoTvhJmZWbl48c/JyUmkpKTITE5ORmJiIuLj4xETE4PIyEiEhoZKYD8/P4SHh8PKyurO1NT0nQHmm6G2tbX9Y35+HpWVlbI6Znp6uiQiSVxcHKKioiRocHAwAgICZPr7+0MQaAWGRg/1D2Fubv5zfX39U3d3NzIzM9HY2Ij+/n7Mzc1hc3MT09PTSEhIkF1EREQgJydH/ra6uora2lqI4h6EVB8McK/Cz83N7cvIyAjy8/ORm5uLuro6jI6O4urqCtfX1/KzrKwMsbGxKCwsxNHREc7Pz3F4eIjx8XF4enpyFuwiQQ/5IoT2GxUVFaipqZGyZGdnIy8vT+b+/j5ub29xf38vgZKSkrC9vY2FhQXQDMvLy1JSd3d32NvbPwuSjwZYY5Q6OTnpqqurpdbUnBKRhNnX1wedToeHhwecnJxIkra2NoSEhEj9fX19ZfVCAXh7e0O48E5g1uqhxWBF9b+lpqaCyUEqJMqQi4qKJMHT0xOen5+xtLT01ZB9fHyg0Wjg6uoqSUgourgW2FYqMfkuR0dHHcE5PFqRJLTmS5vu7e1JcEZPT89XNvXy8oKHhwdcXFzg4OAgScXzvSB4rxJMn8PCwqS3mSShFemWlzk8PGzsYH193Vi9Ig/1d3Z25gwkUXR0NLf7MwneC3tp6W2FiM8koluYfOYWcwaPj49y2CR9WT3lEUrAzs5O4ojv2cEvIlVW1It/ZttM6kufK111dXWht7cXp6enElyr1aKzs1MOlNqzY1ZPedgJJRVz1c/AELVqtfqObTNbWlowNjaG9vZ2DA0NYWZmRn4/ODiIm5sbuRPHx8eymJKSErS2thqr58yERNwFo4tk0LvUjtZrbm6WG8rDbnZ21mhHynJ2dobLy0tcXFzg4OAAPLNYPcEDAwO5I88C7tUeMJJ5lnBoWVlZ0udNTU3GQdKK1JuLuLu7i52dHXR0dCjLJeXhdtvY2FD715vMEF18EH98ICid8TKpNYdJQA6UVSuyCFBpb+GcRwHzzbOIoWEX1JvVcmmUJCglVIBZsXAfrK2t5e+8G8Qcv3+aGuKdaFlLF4njw5gKKOVQqhZ3ACwtLeV5Jbom+Jv3AUMtpPqdVk1LS5PzIAD1LS4ulpWWl5eDB2NVVRV4fhUUFPBo+MR39RBvB+/Xv9+5b+WP38n/o1Cp/gJAdKz5nm6ZIAAAAABJRU5ErkJggg== + 04310b0a-5893-4ada-8b51-803304fad26a + o_rh_cloud + o_rh_cloud + false + 0 + true + 0 + The output sampled cloud. + 1c282eeb-dd16-439f-94e4-7d92b542fe8b + + + + + 1490 + 67 + 63 + 40 + + + 1521.5 + 87 + + + + - - - - - - - 57da07bd-ecab-415d-9d86-af36d7073abc - Number Slider - - - - - Numeric slider for single values - ad47b65a-c7c6-4bf0-8bce-82b985b07072 - Number Slider - - false - 0 - - - - - - 1654 - 171 - 163 - 20 - - - 1654.0001 - 171.58833 - - - - - - 2 - 1 - 0 - 200 - 0 - 0 - 49.13 - - - - - - - - - 1e936df3-0eea-4246-8549-514cb8862b7a - Mesh - - - - - Contains a collection of polygon meshes - 2fae0066-4e58-4b19-842d-dacda172902a - Mesh - Mesh - false - 0 - - - - - - 1444 - 94 - 50 - 24 - - - 1469.664 - 106.10069 - - - - - - 1 + + + false + IyEgcHl0aG9uMwoKaW1wb3J0IFN5c3RlbQppbXBvcnQgdHlwaW5nCgppbXBvcnQgUmhpbm8KaW1wb3J0IFJoaW5vLkdlb21ldHJ5IGFzIHJnCmZyb20gZ2hweXRob25saWIuY29tcG9uZW50YmFzZSBpbXBvcnQgZXhlY3V0aW5nY29tcG9uZW50IGFzIGNvbXBvbmVudAoKaW1wb3J0IEdyYXNzaG9wcGVyIGFzIGdoCmZyb20gR3Jhc3Nob3BwZXIuS2VybmVsIGltcG9ydCBHSF9SdW50aW1lTWVzc2FnZUxldmVsIGFzIFJNTAoKaW1wb3J0IGRpZmZDaGVjawpmcm9tIGRpZmZDaGVjayBpbXBvcnQgZGlmZmNoZWNrX2JpbmRpbmdzCmltcG9ydCBkaWZmQ2hlY2suZGZfY3Z0X2JpbmRpbmdzCgoKCmNsYXNzIERGTWVzaFRvQ2xvdWQoY29tcG9uZW50KToKICAgIGRlZiBSdW5TY3JpcHQoc2VsZiwgaV9tZXNoOiBSaGluby5HZW9tZXRyeS5NZXNoLCBpX3BvaW50czogaW50KSAtPiByZy5Qb2ludENsb3VkOgogICAgICAgICIiIgogICAgICAgICAgICBDb252ZXJ0IGEgUmhpbm8gbWVzaCB0byBhIGNsb3VkLgoKICAgICAgICAgICAgOnBhcmFtIGlfbWVzaDogbWVzaCB0byBjb252ZXJ0CiAgICAgICAgICAgIDpwYXJhbSBpX3BvaW50czogbnVtYmVyIG9mIHBvaW50cyB0byBzYW1wbGUKCiAgICAgICAgICAgIDpyZXR1cm4gb19jbG91ZDogcmhpbm8gY2xvdWQKICAgICAgICAiIiIKICAgICAgICBkZl9tZXNoID0gZGlmZkNoZWNrLmRmX2N2dF9iaW5kaW5ncy5jdnRfcmhtZXNoXzJfZGZtZXNoKGlfbWVzaCkKICAgICAgICBkZl9jbG91ZCA9IGRmX21lc2guc2FtcGxlX3BvaW50c191bmlmb3JtbHkoaV9wb2ludHMpCgogICAgICAgICMgY29udmVydCB0aGUgZGZfY2xvdWQgdG8gYSByaGlubyBjbG91ZAogICAgICAgIHJncG9pbnRzID0gW3JnLlBvaW50M2QocHRbMF0sIHB0WzFdLCBwdFsyXSkgZm9yIHB0IGluIGRmX2Nsb3VkLnBvaW50c10KICAgICAgICByaF9jbG91ZCA9IHJnLlBvaW50Q2xvdWQocmdwb2ludHMpCgogICAgICAgIHJldHVybiBbcmhfY2xvdWRd + S - + - 1 - {0} + *.*.python + 3.* - - - - 2e3af591-6a11-4ff4-a443-ed19f90b2742 - - - @@ -2108,7 +1728,7 @@ - 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