diff --git a/src/gh/components/DF_global_registration/code.py b/src/gh/components/DF_global_registration/code.py
new file mode 100644
index 00000000..fcb7ffa0
--- /dev/null
+++ b/src/gh/components/DF_global_registration/code.py
@@ -0,0 +1,45 @@
+#! python3
+
+import System
+import typing
+
+import Rhino
+import Rhino.Geometry as rg
+from ghpythonlib.componentbase import executingcomponent as component
+
+import Grasshopper as gh
+from Grasshopper.Kernel import GH_RuntimeMessageLevel as RML
+
+import diffCheck
+from diffCheck import diffcheck_bindings
+import diffCheck.df_cvt_bindings
+
+
+class DFGlobalRegistration(component):
+ def RunScript(self,
+ i_mesh: rg.Mesh,
+ i_points: int) -> rg.PointCloud:
+ """
+ Convert a Rhino mesh to a cloud.
+
+ :param i_mesh: mesh to convert
+ :param i_points: number of points to sample
+
+ :return o_cloud: rhino cloud
+ """
+
+ diffCheck.df_cvt_bindings.test()
+
+ df_mesh = diffCheck.df_cvt_bindings.cvt_rhmesh_2_dfmesh(i_mesh)
+ df_cloud = df_mesh.sample_points_uniformly(i_points)
+
+ # convert the df_cloud to a rhino cloud
+ rgpoints = [rg.Point3d(pt[0], pt[1], pt[2]) for pt in df_cloud.points]
+ rh_cloud = rg.PointCloud(rgpoints)
+
+ return [rh_cloud]
+
+
+if __name__ == "__main__":
+ com = DFGlobalRegistration()
+ com.RunScript(i_mesh, i_points)
\ No newline at end of file
diff --git a/src/gh/components/DF_global_registration/icon.png b/src/gh/components/DF_global_registration/icon.png
new file mode 100644
index 00000000..fbe9c037
Binary files /dev/null and b/src/gh/components/DF_global_registration/icon.png differ
diff --git a/src/gh/components/DF_global_registration/metadata.json b/src/gh/components/DF_global_registration/metadata.json
new file mode 100644
index 00000000..8f8f8e14
--- /dev/null
+++ b/src/gh/components/DF_global_registration/metadata.json
@@ -0,0 +1,52 @@
+{
+ "name": "DFMeshToCloud",
+ "nickname": "Geo2Pcd",
+ "category": "diffCheck",
+ "subcategory": "Cloud",
+ "description": "Sample a point cloud from a mesh.",
+ "exposure": 4,
+ "instanceGuid": "e8e5e122-40d0-45cd-9f93-cc756fd8b307",
+ "ghpython": {
+ "hideOutput": true,
+ "hideInput": true,
+ "isAdvancedMode": true,
+ "marshalOutGuids": true,
+ "iconDisplay": 2,
+ "inputParameters": [
+ {
+ "name": "i_mesh",
+ "nickname": "i_mesh",
+ "description": "Mesh to sample into a point cloud.",
+ "optional": true,
+ "allowTreeAccess": true,
+ "showTypeHints": true,
+ "scriptParamAccess": "item",
+ "wireDisplay": "default",
+ "sourceCount": 0,
+ "typeHintID": "mesh"
+ },
+ {
+ "name": "i_points",
+ "nickname": "i_points",
+ "description": "The number of points of the created cloud.",
+ "optional": false,
+ "allowTreeAccess": true,
+ "showTypeHints": true,
+ "scriptParamAccess": "item",
+ "wireDisplay": "default",
+ "sourceCount": 0,
+ "typeHintID": "int"
+ }
+ ],
+ "outputParameters": [
+ {
+ "name": "o_rh_cloud",
+ "nickname": "o_rh_cloud",
+ "description": "The output sampled cloud.",
+ "optional": false,
+ "sourceCount": 0,
+ "graft": false
+ }
+ ]
+ }
+}
\ No newline at end of file
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 c86b6308..bd766b2e 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/df_geometries.py b/src/gh/diffCheck/diffCheck/df_geometries.py
index 47dbff55..f44d9601 100644
--- a/src/gh/diffCheck/diffCheck/df_geometries.py
+++ b/src/gh/diffCheck/diffCheck/df_geometries.py
@@ -12,7 +12,6 @@
import diffCheck.df_joint_detector
-
@dataclass
class DFVertex:
"""
diff --git a/src/gh/diffCheck/diffCheck_app.py b/src/gh/diffCheck/diffCheck_app.py
index d647920b..e5bfb887 100644
--- a/src/gh/diffCheck/diffCheck_app.py
+++ b/src/gh/diffCheck/diffCheck_app.py
@@ -1,25 +1,88 @@
#! python3
-import Rhino
-import Rhino.Geometry as rg
-
-import os
+import System
import typing
+
+import sys
+
+# Get the directory containing the script file
+script_dir = os.path.dirname(os.path.realpath(__file__))
+
+# Construct absolute paths
+path1 = os.path.join(script_dir, "src", "gh", "diffCheck", "diffCheck")
+path2 = os.path.join(script_dir, "src", "gh", "diffCheck")
+
+# Add the paths to sys.path
+sys.path.append(path1)
+sys.path.append(path2)
+
+# for p in sys.path:
+# print(p)
+
+# modules = [diffCheck, diffCheck.df_cvt_bindings]
+# for module in modules:
+# importlib.reload(module)
+
# packages_2_reload = ["diffCheck"]
-# for package in packages_2_reload:
-# for key in list(sys.modules.keys()):
-# if package in key:
-# importlib.reload(sys.modules[key])
+
+# if packages_2_reload is not None:
+# if packages_2_reload.__len__() != 0:
+# print("Reloading packages")
+# for package in packages_2_reload:
+# for key in list(sys.modules.keys()):
+# if package in key:
+# print(sys.modules[key])
+# #check that the package must have the attribute __path__
+# if hasattr(sys.modules[key], '__file__'):
+# print(sys.modules[key])
+# importlib.reload(sys.modules[key])
+
+import Rhino
+import Rhino.Geometry as rg
+from ghpythonlib.componentbase import executingcomponent as component
+
+import Grasshopper as gh
+from Grasshopper.Kernel import GH_RuntimeMessageLevel as RML
import diffCheck
+from diffCheck import diffcheck_bindings
import diffCheck.df_geometries
-
import diffCheck.df_cvt_bindings
+
+
+
+class DFMeshToCloud(component):
+ def RunScript(self,
+ i_mesh: rg.Mesh,
+ i_points: int) -> rg.PointCloud:
+ """
+ Convert a Rhino mesh to a cloud.
+
+ :param i_mesh: mesh to convert
+ :param i_points: number of points to sample
+
+ :return o_cloud: rhino cloud
+ """
+
+
+ diffCheck.df_cvt_bindings.test()
+ # diffCheck.df_geometries.test()
+
+
+ df_mesh = diffCheck.df_cvt_bindings.cvt_rhmesh_2_dfmesh(i_mesh)
+ df_cloud = df_mesh.sample_points_uniformly(i_points)
+
+ # convert the df_cloud to a rhino cloud
+ rgpoints = [rg.Point3d(pt[0], pt[1], pt[2]) for pt in df_cloud.points]
+ rh_cloud = rg.PointCloud(rgpoints)
+
+ return [rh_cloud]
+
+
if __name__ == "__main__":
- # print("Hello from diffCheck_assspp.py")
- # diffCheck.df_cvt_bindings.test()
- pass
\ No newline at end of file
+ com = DFMeshToCloud()
+ com.RunScript(i_mesh, i_points)
\ No newline at end of file
diff --git a/src/gh/examples/tester.ghx b/src/gh/examples/tester.ghx
index 13fcbfd7..02e43055 100644
--- a/src/gh/examples/tester.ghx
+++ b/src/gh/examples/tester.ghx
@@ -49,10 +49,10 @@
-
- -421
- 402
+ -1910
+ 461
- - 0.7830096
+ - 1.2750001
@@ -68,13 +68,14 @@
-
+
- F:\diffCheck\src\gh\diffCheck\diffCheck_app.py
- F:\diffCheck\src\gh\diffCheck\diffCheck_app.py
- not_found
+ - F:\diffCheck\src\gh\components\DF_global_registration\code.py
- F:\diffCheck\src\gh\diffCheck\diffCheck_app.py
- F:\diffCheck\src\gh\components\DF_bind_tester\code.py
- - F:\diffCheck\src\gh\components\DF_mesh_to_cloud\code.py
+ - F:\diffCheck\src\gh\diffCheck\diffCheck_app.py
- F:\diffCheck\src\gh\diffCheck\diffCheck\diffCheck_app.py
- F:\diffCheck\src\gh\diffCheck\diffCheck\test.py
@@ -106,9 +107,9 @@
- - 18
+ - 20
-
+
- c9b2d725-6f87-4b07-af90-bd9aefef68eb
@@ -117,9 +118,10 @@
-
+
- true
+ - true
- 2
-
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
@@ -140,14 +142,14 @@
-
- 359
- 69
+ 355
+ 61
171
84
-
- 466
- 111
+ 462
+ 103
@@ -186,14 +188,14 @@
-
- 361
- 71
+ 357
+ 63
90
20
-
- 407.5
- 81
+ 403.5
+ 73
@@ -221,14 +223,14 @@
-
- 361
- 91
+ 357
+ 83
90
20
-
- 407.5
- 101
+ 403.5
+ 93
@@ -256,14 +258,14 @@
-
- 361
- 111
+ 357
+ 103
90
20
-
- 407.5
- 121
+ 403.5
+ 113
@@ -292,14 +294,14 @@
-
- 361
- 131
+ 357
+ 123
90
20
-
- 407.5
- 141
+ 403.5
+ 133
@@ -326,14 +328,14 @@
-
- 481
- 71
+ 477
+ 63
47
26
-
- 504.5
- 84.333336
+ 500.5
+ 76.333336
@@ -360,14 +362,14 @@
-
- 481
- 97
+ 477
+ 89
47
27
-
- 504.5
- 111
+ 500.5
+ 103
@@ -394,14 +396,14 @@
-
- 481
- 124
+ 477
+ 116
47
27
-
- 504.5
- 137.66666
+ 500.5
+ 129.66666
@@ -449,8 +451,8 @@
-
- 266
- 61
+ 262
+ 53
66
22
@@ -467,8 +469,9 @@
-
+
- Contains a collection of Breps (Boundary REPresentations)
+ - true
- 65ef74cb-3fba-43d2-b246-64802bad70f8
- Brep
- Brep
@@ -479,14 +482,14 @@
-
- 280
- 137
+ 276
+ 130
50
24
-
- 305.54385
- 149.92307
+ 301.57718
+ 142.5564
@@ -504,7 +507,7 @@
-
- 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WuLweOseN17neIN7LZta3lhuDyL3mU86NN8XDDji1arwrhJgxIxoN2svX/A6/b778dVfZW5tS6bUKuYD9hhuuTDoTI7sl5PH818bce3huWFkG+Gj470ZsoFozB1lDjQygd9qurtyGfIj8NwmBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGiP8HAAD//wMA
+ 7H0HWBQ79/ewdCkCSlGRplhAERSxsht2UQREKWIDkW7vFcXeFXvvFXsv2GGx9957b9der5VvsiZrjDPIvlf/38KT3/MMQ2aS2XOSnOQkOTnhdDiOy+EB7xCmEv5PZHjrNh07KTp16NCpYwWnxkldu7Xp1NG3uoePR2VvL08vj6qenl4VnBQ92nfv0TXJt2NSj+5d49pXcArtEd++TUJwUkqjTu2SOvpWrVq5cnWvpBrVEqpVrVq1iqc+/I0iqk97BCR16pDUvWuKh7xrUmc9/rlhz++/Uiiua0LrNj2TqiR2MO7UOaljxx5d47vpJcZ1j4ORjIyMJJBAi7IcVxlS28XC1FiX/6cw/HPsuA4n+TRAwin5fyA+50i4oogxxZ5OL90WG9Wde2nZmX0n3HzKfVtd8wv/fiSKW5kbyIF3Q75HtpjD/4HP4dd2oy+QXytmuS4mzOScZdY3zmKIjsvLoOIptvBrw9B7C0glBLzj/3/gpeyXR9+fZ9FPyLRh4ZYzqox2A/CZx/bq16aVbArwOxzGcT4s/ZKQM0AyEL/XGmb2DKrb79/QCIAJhs/WXz/UN6VyFTXxNMMdzdJ2ayUzGJkqQourmKGJx+F7Yd/jjLerW1crmcElsnXfmxnPljUXrGb4HQ4/vWObpJXMCMkMTTwO4ziX3z1/nm9KhiaebgAUbrEjtZKZ3Fozmhkct6fvTF2tZAaXwsLda/45Vq2VYDXD73D4xgOrqVrJjOWjxC0+Vq3BG+m0mnvi26iYSenaeLFeYAt1ydDVbuG1+6+1kpncGgCaGRy3accx4/Jt04zDQdGX7m8JLw3Wv/mUmG9khiZ+fCH/XiubeKnDDZW3lVrJDMYapML8+r0f73A4IuTKEK1kpkBWsz6oBROqZu1MLpwekBqpDt8NaKSdWrNe8IfjD2NLKtGjgfDZvKa33x25EKpuzeai8MJm7vEDNtmCEdKL+YeZ1l4JxVcFNgToHcBhnO7g2qMNtJKZBSi3yX7mdvPlQbesAwB+dwuFcZzgwh9a5xtmco5+uO11N0FdEtyx72EJKinDnj67tJIZJB9KlPtK+IyWEbqkbi9tP1ormcFVCAs9fHbyaEq837c66taLlpmMG72PaiUzaoJQFYLPcDONS4ZWPA++4VzyDTN39ma2WP+ykbokbqMwjtOFi7qWb5rmcydebe8UFKcuCRzGMhOy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h8dZ97jxOqcyuNeyqeWNZfYgcq/5xIPzfMCAw16tCu8sAUZMj3az9vIBrzPuux9f9VXm1rZkSm0bb7DbcPOFQWdyZL+cPJ7/2ogPO+1SyDbCW6fyJsgGojF3lNnfyAR+q+muKmXIj8BzmxgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGCD+HwAAAP//AwA=
- 00000000-0000-0000-0000-000000000000
@@ -538,8 +541,8 @@
-
- 232
- 89
+ 228
+ 82
102
20
@@ -547,8 +550,8 @@
- 0
- 0
-
- 232.68063
- 89.84465
+ 228.71396
+ 82.47798
@@ -590,14 +593,14 @@
-
- 278
- 112
+ 274
+ 104
50
24
-
- 303.00827
- 124.19464
+ 299.0416
+ 116.82797
@@ -627,219 +630,6 @@
-
- - c9b2d725-6f87-4b07-af90-bd9aefef68eb
- - 066d0a87-236f-4eae-a0f4-9e42f5327962
- - script-sync cpython
-
-
-
-
-
- - true
- - true
- - 2
- -
- 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
-
- - bd98c51b-c124-405f-9774-7089e62a4a36
- - true
- - false
- - true
- - script-sync cpython
- - scsy-cpy
- - 1
-
- - false
- - false
- - false
-
-
-
-
- -
- 1798
- 54
- 195
- 44
-
- -
- 1913
- 76
-
-
-
-
-
- - 2
- - 08908df5-fa14-4982-9ab2-1aa0927566aa
- - 08908df5-fa14-4982-9ab2-1aa0927566aa
- - 2
- - 08908df5-fa14-4982-9ab2-1aa0927566aa
- - 08908df5-fa14-4982-9ab2-1aa0927566aa
-
-
-
-
- - true
- - Connect a button to open a file dialog to select a cpython file to run.
- -
- iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAOsSURBVEhL1VU5S1xhFB0VB5Fx3x0Vl3Hf9w0VXEARVFQM2gmCgvgLBqIWBg0IoqWFdlaS0spGsIwiLmjhgoImRYKFZjSJnNxz5z0Rxy1VyIHLvHnLufeee77vs/wrOLy8vH7IL/4i3km8DX5+fp/n5+exvr6OtbU1rK6uYmVlBcvLy1hcXMTU1BQGBgbQ2tqK6upqpKamQgq6kE+tboYX4OPj0y4f/lpYWEB5eblGWVkZSkpKUFRUhPz8fOTk5CAjI0OJk5KSkJWVBZvNduXt7e00aJ6FNSgo6NvS0hK6urq0OkZVVZUmYpLCwkLk5uYqaVpaGlJSUjSSk5MhCa6Fw+6megK+vr4f+vv7f4+NjaGmpgZ1dXUavGYSdlJcXKxdZGdnIz09XckTExO1EynuVqT6ZNB5wBEdHX0zOzuLhoYGJa6vr0dLSwvm5uawu7sLE9vb25icnERBQQEcDocmiI+PR1xcHGfBLordlA8g2q91dnait7dXZWGCnp4eHB0dGbSeODg40HeZgOQxMTEICQm5kyQbBu09WsPDw10kpNaUg9UfHh4aVJ5wuVz6u7+/r8NmAlEACQkJEBdeCWefm1oGK9V/qaioAIODZJKZmRkleArn5+fo6OjA2dmZ/h8fH4fdbkdUVJQmYUfSxXfhtllk8u/DwsJcJOfwaEUmYftP4eLiAk1NTWrTkZERvbezs4PY2FhERkYiNDRUBy/XXKjTFsl0mZmZqd5mMAmteHNzox8/hEnO92lRDpmgXNQ/IiKCM9BEeXl5XN2XTDAt9rqmt81EvH6cgLKY5LQn3UMSggkojyiB4OBgfUdcxQ4+Slhs1Is+ZtsMLqKHtiQ5rctnrJzkfH9oaEifb21tafWUh51wvchc3TMw0Ge1Wq/4MR3B34mJCf2YnbS1tek9PqO+JGf1p6en+o7T6byvngYRibgW7l2koHepHZc8SVgtLUicnJxgeHhYW+f9wcFBHB8f67O9vT2tmuTsrLS09E7oPNYBUca9hBYzg84ykzwFknNmHCzl4YwCAwOpvedKJqSLT/LiLTvgwmFQjtHRUWxubhq0wMbGhspC77NyIVV7i2w/hebZvYiwswvqzb2Fi8YMuoQScpjUmxWL+xAQEKDPeTbIHF/eTQ04peVr7payfdyHSUo5zKrlDIC/v79uK9I1yV89DwirSPWVVq2srERtba0SUN/m5mattL29HdwYu7u7dUNsbGx8+4lmgOfr4zP3tXj7mfwfwWL5Ayn3+7H9F88PAAAAAElFTkSuQmCC
-
- - 85e9c8f5-2842-4a71-a745-d8848c0fe2e7
- - btn
- - btn
- - true
- - 0
- - true
- - f858cc51-1d31-4dde-9c0e-296ef455a7a9
- - 1
- - Connect a button to open a file dialog to select a cpython file to run.
- - d60527f5-b5af-4ef6-8970-5f96fe412559
-
-
-
-
- -
- 1800
- 56
- 98
- 20
-
- -
- 1850.5
- 66
-
-
-
-
-
-
-
- - 1
- - true
- - Pass a list with the name of the custom packages you want to reload. This function is useful if you are developing a i.e. PyPI package and you want to reload the submodules after you modified something. The function will reload the package and all its submodules. If you want to reload the package and all its submodules, just pass the package name. If you want to reload only a submodule, pass the package name and the submodule name separated by a dot. If you want to reload multiple submodules, pass the package
- -
- 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==
-
- - a3d9fc6d-7d3e-4181-a38a-274d4cd7646c
- - packages_2_reload
- - packages_2_reload
- - true
- - 1
- - true
- - 7d586578-06cd-4b78-ba4c-40fc44e1a34f
- - 1
- - Pass a list with the name of the custom packages you want to reload. This function is useful if you are developing a i.e. PyPI package and you want to reload the submodules after you modified something. The function will reload the package and all its submodules. If you want to reload the package and all its submodules, just pass the package name. If you want to reload only a submodule, pass the package name and the submodule name separated by a dot. If you want to reload multiple submodules, pass the package
- - 1c282eeb-dd16-439f-94e4-7d92b542fe8b
-
-
-
-
- -
- 1800
- 76
- 98
- 20
-
- -
- 1850.5
- 86
-
-
-
-
-
-
-
- - false
- - The redirected standard output of the component scriptsync.
- -
- 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==
-
- - e3c8284e-af04-4704-8d9e-c87cb6584486
- - stdout
- - stdout
- - false
- - 0
- - true
- - 0
- - The redirected standard output of the component scriptsync.
- - 1c282eeb-dd16-439f-94e4-7d92b542fe8b
-
-
-
-
- -
- 1928
- 56
- 63
- 20
-
- -
- 1959.5
- 66
-
-
-
-
-
-
-
- - false
- - Generic example output of the component
- -
- 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==
-
- - 8877375f-1823-440a-b738-bcfefe0fc124
- - o_rh_cloud
- - o_rh_cloud
- - false
- - 0
- - true
- - 0
- - Generic example output of the component
- - 1c282eeb-dd16-439f-94e4-7d92b542fe8b
-
-
-
-
- -
- 1928
- 76
- 63
- 20
-
- -
- 1959.5
- 86
-
-
-
-
-
-
-
-
-
- - false
- - IyEgcHl0aG9uMwoKZnJvbSBnaHB5dGhvbmxpYi5jb21wb25lbnRiYXNlIGltcG9ydCBleGVjdXRpbmdjb21wb25lbnQgYXMgY29tcG9uZW50CgppbXBvcnQgU3lzdGVtCmltcG9ydCBTeXN0ZW0uRHJhd2luZwppbXBvcnQgU3lzdGVtLldpbmRvd3MuRm9ybXMKaW1wb3J0IFJoaW5vCmltcG9ydCBHcmFzc2hvcHBlcgppbXBvcnQgR3Jhc3Nob3BwZXIgYXMgZ2gKZnJvbSBHcmFzc2hvcHBlci5LZXJuZWwgaW1wb3J0IEdIX1J1bnRpbWVNZXNzYWdlTGV2ZWwgYXMgUk1MCmltcG9ydCBzeXMKaW1wb3J0IG9zCmltcG9ydCB0aW1lCgppbXBvcnQgY29udGV4dGxpYgppbXBvcnQgaW8KCmltcG9ydCBhYmMKaW1wb3J0IHNvY2tldAppbXBvcnQgdGhyZWFkaW5nCmltcG9ydCBxdWV1ZQppbXBvcnQganNvbgoKaW1wb3J0IGltcG9ydGxpYgppbXBvcnQgaW5zcGVjdAppbXBvcnQgc3lzCgoKY2xhc3MgR0hUaHJlYWQodGhyZWFkaW5nLlRocmVhZCwgbWV0YWNsYXNzPWFiYy5BQkNNZXRhKToKICAgICIiIgogICAgICAgIEEgYmFzZSBjbGFzcyBmb3IgR3Jhc3Nob3BwZXIgdGhyZWFkcy4KICAgICIiIgogICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUgOiBzdHIpOgogICAgICAgIHN1cGVyKCkuX19pbml0X18obmFtZT1uYW1lLCBkYWVtb249RmFsc2UpCiAgICAgICAgc2VsZi5fY29tcG9uZW50X29uX2NhbnZhcyA9IFRydWUKICAgICAgICBzZWxmLl9jb21wb25lbnRfZW5hYmxlZCA9IFRydWUKCiAgICBAYWJjLmFic3RyYWN0bWV0aG9kCiAgICBkZWYgcnVuKHNlbGYpOgogICAgICAgICIiIiBSdW4gdGhlIHRocmVhZC4gIiIiCiAgICAgICAgcGFzcwoKICAgIGRlZiBfY2hlY2tfaWZfY29tcG9uZW50X29uX2NhbnZhcyhzZWxmKToKICAgICAgICAiIiIgQ2hlY2sgaWYgdGhlIGNvbXBvbmVudCBpcyBvbiBjYW52YXMgZnJvbSB0aHJlYWQuICIiIgogICAgICAgIGRlZiBfX2NoZWNrX2lmX2NvbXBvbmVudF9vbl9jYW52YXMoKToKICAgICAgICAgICAgaWYgZ2hlbnYuQ29tcG9uZW50Lk9uUGluZ0RvY3VtZW50KCkgaXMgTm9uZToKICAgICAgICAgICAgICAgIHNlbGYuX2NvbXBvbmVudF9vbl9jYW52YXMgPSBGYWxzZQogICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBzZWxmLl9jb21wb25lbnRfb25fY2FudmFzID0gVHJ1ZQogICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKICAgICAgICBhY3Rpb24gPSBTeXN0ZW0uQWN0aW9uKF9fY2hlY2tfaWZfY29tcG9uZW50X29uX2NhbnZhcykKICAgICAgICBSaGluby5SaGlub0FwcC5JbnZva2VPblVpVGhyZWFkKGFjdGlvbikKCiAgICBkZWYgX2NoZWNrX2lmX2NvbXBvbmVudF9lbmFibGVkKHNlbGYpOgogICAgICAgICIiIiBDaGVjayBpZiB0aGUgY29tcG9uZW50IGlzIGVuYWJsZWQgZnJvbSB0aHJlYWQuICIiIgogICAgICAgIGRlZiBfX2NoZWNrX2lmX2NvbXBvbmVudF9lbmFibGVkKCk6CiAgICAgICAgICAgIGlmIGdoZW52LkNvbXBvbmVudC5Mb2NrZWQ6CiAgICAgICAgICAgICAgICBzZWxmLl9jb21wb25lbnRfZW5hYmxlZCA9IEZhbHNlCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBzZWxmLl9jb21wb25lbnRfZW5hYmxlZCA9IFRydWUKICAgICAgICBhY3Rpb24gPSBTeXN0ZW0uQWN0aW9uKF9fY2hlY2tfaWZfY29tcG9uZW50X2VuYWJsZWQpCiAgICAgICAgUmhpbm8uUmhpbm9BcHAuSW52b2tlT25VaVRocmVhZChhY3Rpb24pCgogICAgZGVmIGV4cGlyZV9jb21wb25lbnRfc29sdXRpb24oc2VsZik6CiAgICAgICAgIiIiIEZpcmUgdGhlIHJlY2FsY3VsYXRpb24gb2YgdGhlIGNvbXBvbmVudCBzb2x1dGlvbiBmcm9tIHRocmVhZC4gIiIiCiAgICAgICAgZGVmIF9fZXhwaXJlX2NvbXBvbmVudF9zb2x1dGlvbigpOgogICAgICAgICAgICBnaGVudi5Db21wb25lbnQuUGFyYW1zLk91dHB1dFswXS5DbGVhckRhdGEoKSAgIyBjbGVhciB0aGUgb3V0cHV0CiAgICAgICAgICAgIGdoZW52LkNvbXBvbmVudC5FeHBpcmVTb2x1dGlvbihUcnVlKSAgIyBleHBpcmUgdGhlIGNvbXBvbmVudAogICAgICAgIGFjdGlvbiA9IFN5c3RlbS5BY3Rpb24oX19leHBpcmVfY29tcG9uZW50X3NvbHV0aW9uKQogICAgICAgIFJoaW5vLlJoaW5vQXBwLkludm9rZU9uVWlUaHJlYWQoYWN0aW9uKQoKICAgIGRlZiBjbGVhcl9jb21wb25lbnQoc2VsZik6CiAgICAgICAgIiIiIENsZWFyIHRoZSBjb21wb25lbnQgZnJvbSB0aHJlYWQuICIiIgogICAgICAgIGRlZiBfX2NsZWFyX2NvbXBvbmVudCgpOgogICAgICAgICAgICBnaGVudi5Db21wb25lbnQuQ2xlYXJEYXRhKCkKICAgICAgICBhY3Rpb24gPSBTeXN0ZW0uQWN0aW9uKF9fY2xlYXJfY29tcG9uZW50KQogICAgICAgIFJoaW5vLlJoaW5vQXBwLkludm9rZU9uVWlUaHJlYWQoYWN0aW9uKQoKICAgIGRlZiBhZGRfcnVudGltZV93YXJuaW5nKHNlbGYsIGV4Y2VwdGlvbiA6IHN0cik6CiAgICAgICAgIiIiIEFkZCBhIHdhcm5pbmcgdGFiIHRvIHRoZSBjb21wb25lbnQgZnJvbSBtYWluIHRocmVhZC4gIiIiCiAgICAgICAgYWN0aW9uID0gU3lzdGVtLkFjdGlvbigKICAgICAgICAgICAgbGFtYmRhOiBnaGVudi5Db21wb25lbnQuQWRkUnVudGltZU1lc3NhZ2UoUk1MLldhcm5pbmcsIGV4Y2VwdGlvbikKICAgICAgICApCiAgICAgICAgUmhpbm8uUmhpbm9BcHAuSW52b2tlT25VaVRocmVhZChhY3Rpb24pCgogICAgZGVmIGFkZF9ydW50aW1lX2Vycm9yKHNlbGYsIGV4Y2VwdGlvbiA6IHN0cik6CiAgICAgICAgIiIiIEFkZCBhbiBlcnJvciB0YWIgdG8gdGhlIGNvbXBvbmVudCBmcm9tIG1haW4gdGhyZWFkLiAiIiIKICAgICAgICBhY3Rpb24gPSBTeXN0ZW0uQWN0aW9uKAogICAgICAgICAgICBsYW1iZGE6IGdoZW52LkNvbXBvbmVudC5BZGRSdW50aW1lTWVzc2FnZShSTUwuRXJyb3IsIGV4Y2VwdGlvbikKICAgICAgICApCiAgICAgICAgUmhpbm8uUmhpbm9BcHAuSW52b2tlT25VaVRocmVhZChhY3Rpb24pCgogICAgZGVmIGFkZF9ydW50aW1lX3JlbWFyayhzZWxmLCBleGNlcHRpb24gOiBzdHIpOgogICAgICAgICIiIiBBZGQgYSBibGFuayB0YWIgdG8gdGhlIGNvbXBvbmVudCBmcm9tIG1haW4gdGhyZWFkLiAiIiIKICAgICAgICBhY3Rpb24gPSBTeXN0ZW0uQWN0aW9uKAogICAgICAgICAgICBsYW1iZGE6IGdoZW52LkNvbXBvbmVudC5BZGRSdW50aW1lTWVzc2FnZShSTUwuUmVtYXJrLCBleGNlcHRpb24pCiAgICAgICAgKQogICAgICAgIFJoaW5vLlJoaW5vQXBwLkludm9rZU9uVWlUaHJlYWQoYWN0aW9uKQoKICAgIEBwcm9wZXJ0eQogICAgZGVmIGNvbXBvbmVudF9lbmFibGVkKHNlbGYpOgogICAgICAgIHNlbGYuX2NoZWNrX2lmX2NvbXBvbmVudF9lbmFibGVkKCkKICAgICAgICByZXR1cm4gc2VsZi5fY29tcG9uZW50X2VuYWJsZWQKCiAgICBAcHJvcGVydHkKICAgIGRlZiBjb21wb25lbnRfb25fY2FudmFzKHNlbGYpOgogICAgICAgIHNlbGYuX2NoZWNrX2lmX2NvbXBvbmVudF9vbl9jYW52YXMoKQogICAgICAgIHJldHVybiBzZWxmLl9jb21wb25lbnRfb25fY2FudmFzCgpjbGFzcyBDbGllbnRUaHJlYWQoR0hUaHJlYWQpOgogICAgIiIiCiAgICBBIHRocmVhZCB0byBjb25uZWN0IHRvIHRoZSBWU0NvZGUgc2VydmVyLgogICAgIiIiCiAgICBkZWYgX19pbml0X18oc2VsZiwgdnNjb2RlX3NlcnZlcl9pcDogc3RyLCB2c2NvZGVfc2VydmVyX3BvcnQ6IGludCwgbmFtZTogc3RyLAogICAgICAgICAgICAgICAgIHF1ZXVlX21zZzogcXVldWUuUXVldWUgPSBOb25lLCBsb2NrX3F1ZXVlX21zZzogdGhyZWFkaW5nLkxvY2sgPSBOb25lLAogICAgICAgICAgICAgICAgIGV2ZW50X2ZpcmVfbXNnOiB0aHJlYWRpbmcuRXZlbnQgPSBOb25lKToKICAgICAgICBzdXBlcigpLl9faW5pdF9fKG5hbWU9bmFtZSkKICAgICAgICBzZWxmLnZzY29kZV9zZXJ2ZXJfaXAgPSB2c2NvZGVfc2VydmVyX2lwCiAgICAgICAgc2VsZi52c2NvZGVfc2VydmVyX3BvcnQgPSB2c2NvZGVfc2VydmVyX3BvcnQKICAgICAgICBzZWxmLmlzX2Nvbm5lY3RlZCA9IEZhbHNlCiAgICAgICAgc2VsZi5jb25uZWN0X3JlZnJlc2hfcmF0ZSA9IDEgICMgc2Vjb25kcwogICAgICAgIHNlbGYucXVldWVfbXNnID0gcXVldWVfbXNnCiAgICAgICAgc2VsZi5sb2NrX3F1ZXVlX21zZyA9IGxvY2tfcXVldWVfbXNnCiAgICAgICAgc2VsZi5ldmVudF9maXJlX21zZyA9IGV2ZW50X2ZpcmVfbXNnCiAgICAgICAgc2VsZi5jbGllbnRfc29ja2V0ID0gc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCwgc29ja2V0LlNPQ0tfU1RSRUFNKQoKICAgIGRlZiBydW4oc2VsZik6CiAgICAgICAgIiIiIFJ1biB0aGUgdGhyZWFkLiBTZW5kIHRoZSBtZXNzYWdlIHRvIHRoZSB2c2NvZGUgc2VydmVyLiIiIgogICAgICAgIHdoaWxlIHNlbGYuY29tcG9uZW50X29uX2NhbnZhcyBhbmQgc2VsZi5jb21wb25lbnRfZW5hYmxlZDoKICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgaWYgbm90IHNlbGYuaXNfY29ubmVjdGVkOgogICAgICAgICAgICAgICAgICAgIHNlbGYuY29ubmVjdF90b192c2NvZGVfc2VydmVyKCkKICAgICAgICAgICAgICAgICAgICBzZWxmLmNsZWFyX2NvbXBvbmVudCgpCiAgICAgICAgICAgICAgICAgICAgc2VsZi5leHBpcmVfY29tcG9uZW50X3NvbHV0aW9uKCkKICAgICAgICAgICAgICAgICAgICBjb250aW51ZQoKICAgICAgICAgICAgICAgIHNlbGYuZXZlbnRfZmlyZV9tc2cud2FpdCgpCiAgICAgICAgICAgICAgICBzZWxmLnNlbmRfbWVzc2FnZV9mcm9tX3F1ZXVlKCkKCiAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgICAgIHNlbGYuYWRkX3J1bnRpbWVfd2FybmluZyhmInNjcmlwdC1zeW5jOjpVbmtvd24gZXJyb3IgZnJvbSBydW46IHtzdHIoZSl9IikKICAgICAgICAgICAgICAgIHNlbGYuaXNfY29ubmVjdGVkID0gRmFsc2UKICAgICAgICAgICAgICAgIHNlbGYuY2xpZW50X3NvY2tldCA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQsIHNvY2tldC5TT0NLX1NUUkVBTSkKCiAgICAgICAgc2VsZi5jbGllbnRfc29ja2V0LmNsb3NlKCkKCiAgICBkZWYgc2VuZF9tZXNzYWdlX2Zyb21fcXVldWUoc2VsZik6CiAgICAgICAgd2l0aCBzZWxmLmxvY2tfcXVldWVfbXNnOgogICAgICAgICAgICBpZiBzZWxmLnF1ZXVlX21zZyBhbmQgbm90IHNlbGYucXVldWVfbXNnLmVtcHR5KCk6CiAgICAgICAgICAgICAgICBtc2cgPSBzZWxmLnF1ZXVlX21zZy5nZXQoKQogICAgICAgICAgICAgICAgc2VsZi5xdWV1ZV9tc2cudGFza19kb25lKCkKICAgICAgICAgICAgICAgIHNlbGYuZXZlbnRfZmlyZV9tc2cuc2V0KCkKICAgICAgICAgICAgICAgIHNlbGYuZXZlbnRfZmlyZV9tc2cuY2xlYXIoKQogICAgICAgICAgICAgICAgc2VsZi5jbGllbnRfc29ja2V0LnNlbmQobXNnKQoKICAgIGRlZiBjb25uZWN0X3RvX3ZzY29kZV9zZXJ2ZXIoc2VsZik6CiAgICAgICAgIiIiIENvbm5lY3QgdG8gdGhlIFZTQ29kZSBzZXJ2ZXIuICIiIgogICAgICAgIHdoaWxlIHNlbGYuY29tcG9uZW50X29uX2NhbnZhcyBhbmQgbm90IHNlbGYuaXNfY29ubmVjdGVkOgogICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICBzZWxmLmNsaWVudF9zb2NrZXQuc2VuZChiIiIpCiAgICAgICAgICAgICAgICBzZWxmLmlzX2Nvbm5lY3RlZCA9IFRydWUKICAgICAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvcjoKICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICBzZWxmLmNsaWVudF9zb2NrZXQuY29ubmVjdCgoc2VsZi52c2NvZGVfc2VydmVyX2lwLCBzZWxmLnZzY29kZV9zZXJ2ZXJfcG9ydCkpCiAgICAgICAgICAgICAgICAgICAgc2VsZi5pc19jb25uZWN0ZWQgPSBUcnVlCiAgICAgICAgICAgICAgICBleGNlcHQgKENvbm5lY3Rpb25SZWZ1c2VkRXJyb3IsIENvbm5lY3Rpb25SZXNldEVycm9yLCBzb2NrZXQuZXJyb3IpIGFzIGU6CiAgICAgICAgICAgICAgICAgICAgc2VsZi5oYW5kbGVfY29ubmVjdGlvbl9lcnJvcihlKQogICAgICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICAgICAgdGltZS5zbGVlcChzZWxmLmNvbm5lY3RfcmVmcmVzaF9yYXRlKQoKICAgIGRlZiBoYW5kbGVfY29ubmVjdGlvbl9lcnJvcihzZWxmLCBlKToKICAgICAgICBlcnJvcl9tZXNzYWdlcyA9IHsKICAgICAgICAgICAgQ29ubmVjdGlvblJlZnVzZWRFcnJvcjogInNjcmlwdC1zeW5jOjpDb25uZWN0aW9uIHJlZnVzZWQgYnkgdGhlIHZzY29kZSIsCiAgICAgICAgICAgIENvbm5lY3Rpb25SZXNldEVycm9yOiAic2NyaXB0LXN5bmM6OkNvbm5lY3Rpb24gd2FzIGZvcmNpYmx5IGNsb3NlZCBieSB0aGUgdnNjb2RlIiwKICAgICAgICAgICAgc29ja2V0LmVycm9yOiBmInNjcmlwdC1zeW5jOjpFcnJvciBjb25uZWN0aW5nIHRvIHRoZSB2c2NvZGU6IHtzdHIoZSl9IgogICAgICAgIH0KICAgICAgICBzZWxmLmFkZF9ydW50aW1lX3dhcm5pbmcoZXJyb3JfbWVzc2FnZXNbdHlwZShlKV0pCiAgICAgICAgc2VsZi5pc19jb25uZWN0ZWQgPSBGYWxzZSBpZiB0eXBlKGUpICE9IHNvY2tldC5lcnJvciBvciBlLndpbmVycm9yICE9IDEwMDU2IGVsc2UgVHJ1ZQoKY2xhc3MgRmlsZUNoYW5nZWRUaHJlYWQoR0hUaHJlYWQpOgogICAgIiIiCiAgICAgICAgQSB0aHJlYWQgdG8gY2hlY2sgaWYgdGhlIGZpbGUgaGFzIGNoYW5nZWQgb24gZGlzay4KICAgICIiIgogICAgZGVmIF9faW5pdF9fKHNlbGYsCiAgICAgICAgICAgICAgICBwYXRoIDogc3RyLAogICAgICAgICAgICAgICAgbmFtZSA6IHN0cgogICAgICAgICAgICAgICAgKToKICAgICAgICBzdXBlcigpLl9faW5pdF9fKG5hbWU9bmFtZSkKICAgICAgICBzZWxmLnBhdGggPSBwYXRoCiAgICAgICAgc2VsZi5yZWZyZXNoX3JhdGUgPSAxMDAwICAjIG1pbGxpc2Vjb25kcwogICAgICAgIHNlbGYuX29uX2ZpbGVfY2hhbmdlZCA9IHRocmVhZGluZy5FdmVudCgpCgogICAgZGVmIHJ1bihzZWxmKToKICAgICAgICAiIiIKICAgICAgICAgICAgQ2hlY2sgaWYgdGhlIGZpbGUgaGFzIGNoYW5nZWQgb24gZGlzay4KICAgICAgICAiIiIKICAgICAgICBsYXN0X21vZGlmaWVkID0gb3MucGF0aC5nZXRtdGltZShzZWxmLnBhdGgpCiAgICAgICAgd2hpbGUgc2VsZi5jb21wb25lbnRfb25fY2FudmFzIGFuZCBub3Qgc2VsZi5fb25fZmlsZV9jaGFuZ2VkLmlzX3NldCgpOgogICAgICAgICAgICBTeXN0ZW0uVGhyZWFkaW5nLlRocmVhZC5TbGVlcChzZWxmLnJlZnJlc2hfcmF0ZSkKICAgICAgICAgICAgbGFzdF9tb2RpZmllZCA9IHNlbGYuaXNfZmlsZV9tb2RpZmllZChsYXN0X21vZGlmaWVkKQogICAgICAgIHNlbGYuX29uX2ZpbGVfY2hhbmdlZC5jbGVhcigpCiAgICAgICAgcmV0dXJuCgogICAgZGVmIHN0b3Aoc2VsZik6CiAgICAgICAgIiIiIFN0b3AgdGhlIHRocmVhZC4gIiIiCiAgICAgICAgc2VsZi5fb25fZmlsZV9jaGFuZ2VkLnNldCgpCgogICAgZGVmIGlzX2ZpbGVfbW9kaWZpZWQoc2VsZiwgbGFzdF9tb2RpZmllZCk6CiAgICAgICAgY3VycmVudF9tb2RpZmllZCA9IG9zLnBhdGguZ2V0bXRpbWUoc2VsZi5wYXRoKQogICAgICAgIGlmIGN1cnJlbnRfbW9kaWZpZWQgIT0gbGFzdF9tb2RpZmllZDoKICAgICAgICAgICAgc2VsZi5leHBpcmVfY29tcG9uZW50X3NvbHV0aW9uKCkKICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRfbW9kaWZpZWQKICAgICAgICByZXR1cm4gbGFzdF9tb2RpZmllZAoKCmNsYXNzIFNjcmlwdFN5bmNDUHkoY29tcG9uZW50KToKICAgIGRlZiBfX2luaXRfXyhzZWxmKToKICAgICAgICBzdXBlcihTY3JpcHRTeW5jQ1B5LCBzZWxmKS5fX2luaXRfXygpCiAgICAgICAgc2VsZi5fdmFyX291dHB1dCA9IFtdCgogICAgICAgIHNlbGYuaXNfc3VjY2VzcyA9IEZhbHNlCgogICAgICAgIHNlbGYuY2xpZW50X3RocmVhZF9uYW1lIDogc3RyID0gZiJzY3JpcHQtc3luYy1jbGllbnQtdGhyZWFkOjp7Z2hlbnYuQ29tcG9uZW50Lkluc3RhbmNlR3VpZH0iCiAgICAgICAgc2VsZi52c2NvZGVfc2VydmVyX2lwID0gIjEyNy4wLjAuMSIKICAgICAgICBzZWxmLnZzY29kZV9zZXJ2ZXJfcG9ydCA9IDU4MjYwCiAgICAgICAgc2VsZi5zdGRvdXQgPSBOb25lCiAgICAgICAgc2VsZi5xdWV1ZV9tc2cgPSBxdWV1ZS5RdWV1ZSgpCiAgICAgICAgc2VsZi5xdWV1ZV9tc2dfbG9jayA9IHRocmVhZGluZy5Mb2NrKCkKICAgICAgICBzZWxmLmV2ZW50X2ZpcmVfbXNnID0gdGhyZWFkaW5nLkV2ZW50KCkKCiAgICAgICAgc2VsZi5maWxlY2hhbmdlZF90aHJlYWRfbmFtZSA6IHN0ciA9IGYic2NyaXB0LXN5bmMtZmlsZUNoYW5nZWQtdGhyZWFkOjp7Z2hlbnYuQ29tcG9uZW50Lkluc3RhbmNlR3VpZH0iCiAgICAgICAgc2VsZi5fX3BhdGhfbmFtZV90YWJsZV92YWx1ZSA9ICJzY3JpcHQtc3luYzo6IiArICJwYXRoOjoiICsgc3RyKGdoZW52LkNvbXBvbmVudC5JbnN0YW5jZUd1aWQpCiAgICAgICAgaWYgc2VsZi5wYXRoIGlzIE5vbmU6CiAgICAgICAgICAgIGdoZW52LkNvbXBvbmVudC5NZXNzYWdlID0gInNlbGVjdC1zY3JpcHQiCgogICAgZGVmIFJlbW92ZWRGcm9tRG9jdW1lbnQoc2VsZiwgZG9jKToKICAgICAgICAiIiIgUmVtb3ZlIHRoZSBjb21wb25lbnQgZnJvbSB0aGUgZG9jdW1lbnQuICIiIgogICAgICAgIGlmIHNlbGYuY2xpZW50X3RocmVhZF9uYW1lIGluIFt0Lm5hbWUgZm9yIHQgaW4gdGhyZWFkaW5nLmVudW1lcmF0ZSgpXToKICAgICAgICAgICAgY2xpZW50X3RocmVhZCA9IFt0IGZvciB0IGluIHRocmVhZGluZy5lbnVtZXJhdGUoKSBpZiB0Lm5hbWUgPT0gc2VsZi5jbGllbnRfdGhyZWFkX25hbWVdWzBdCiAgICAgICAgICAgIGNsaWVudF90aHJlYWQuam9pbigpCiAgICAgICAgaWYgc2VsZi5maWxlY2hhbmdlZF90aHJlYWRfbmFtZSBpbiBbdC5uYW1lIGZvciB0IGluIHRocmVhZGluZy5lbnVtZXJhdGUoKV06CiAgICAgICAgICAgIGZpbGVjaGFuZ2VkX3RocmVhZCA9IFt0IGZvciB0IGluIHRocmVhZGluZy5lbnVtZXJhdGUoKSBpZiB0Lm5hbWUgPT0gc2VsZi5maWxlY2hhbmdlZF90aHJlYWRfbmFtZV1bMF0KICAgICAgICAgICAgZmlsZWNoYW5nZWRfdGhyZWFkLmpvaW4oKQogICAgICAgIGlmIHNlbGYucXVldWVfbXNnIGlzIG5vdCBOb25lOgogICAgICAgICAgICBzZWxmLnF1ZXVlX21zZy5qb2luKCkKICAgICAgICBpZiBzZWxmLnF1ZXVlX21zZ19sb2NrIGlzIG5vdCBOb25lOgogICAgICAgICAgICBzZWxmLnF1ZXVlX21zZ19sb2NrLnJlbGVhc2UoKQogICAgICAgIGlmIHNlbGYuZXZlbnRfZmlyZV9tc2cgaXMgbm90IE5vbmU6CiAgICAgICAgICAgIHNlbGYuZXZlbnRfZmlyZV9tc2cuY2xlYXIoKQoKICAgICAgICAjIGNsZWFyIHRoZSBwYXRoIGZyb20gdGhlIHRhYmxlIHZpZXcKICAgICAgICBkZWwgc2VsZi5wYXRoCgogICAgZGVmIGluaXRfc2NyaXB0X3BhdGgoc2VsZiwgYnRuIDogYm9vbCA9IEZhbHNlKToKICAgICAgICAiIiIKICAgICAgICAgICAgQ2hlY2sgaWYgdGhlIGJ1dHRvbiBpcyBwcmVzc2VkIGFuZCBsb2FkL2NoYW5nZSBwYXRoIHNjcmlwdC4KICAgICAgICAgICAgCiAgICAgICAgICAgIDpwYXJhbSBidG46IEEgYm9vbGVhbiBvZiB0aGUgYnV0dG9uCiAgICAgICAgIiIiCiAgICAgICAgIyBjaGVjayBpZiBidXR0b24gaXMgcHJlc3NlZAogICAgICAgIGlmIGJ0biBpcyBUcnVlOgogICAgICAgICAgICBkaWFsb2cgPSBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5PcGVuRmlsZURpYWxvZygpCiAgICAgICAgICAgIGRpYWxvZy5GaWx0ZXIgPSAiUHl0aG9uIGZpbGVzICgqLnB5KXwqLnB5IgogICAgICAgICAgICBkaWFsb2cuVGl0bGUgPSAiU2VsZWN0IGEgUHl0aG9uIGZpbGUiCiAgICAgICAgICAgIGRpYWxvZy5Jbml0aWFsRGlyZWN0b3J5ID0gb3MucGF0aC5kaXJuYW1lKCIiKQogICAgICAgICAgICBkaWFsb2cuRmlsZU5hbWUgPSAiIgogICAgICAgICAgICBkaWFsb2cuTXVsdGlzZWxlY3QgPSBGYWxzZQogICAgICAgICAgICBkaWFsb2cuQ2hlY2tGaWxlRXhpc3RzID0gVHJ1ZQogICAgICAgICAgICBkaWFsb2cuQ2hlY2tQYXRoRXhpc3RzID0gVHJ1ZQogICAgICAgICAgICBkaWFsb2cuUmVzdG9yZURpcmVjdG9yeSA9IFRydWUKICAgICAgICAgICAgaWYgZGlhbG9nLlNob3dEaWFsb2coKSA9PSBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5EaWFsb2dSZXN1bHQuT0s6CiAgICAgICAgICAgICAgICBzZWxmLnBhdGggPSBkaWFsb2cuRmlsZU5hbWUKCiAgICAgICAgIyBkZWZhdWx0IGluaXQgc3RhdXRzCiAgICAgICAgaWYgc2VsZi5wYXRoIGlzIE5vbmU6CiAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigic2NyaXB0LXN5bmM6OkZpbGUgbm90IHNlbGVjdGVkIikKCiAgICAgICAgIyBmaSBmaWxlIGlzIGluIHRhYmxlIHZpZXcgYmVmb3JlCiAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKHNlbGYucGF0aCk6CiAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigic2NyaXB0LXN5bmM6OkZpbGUgZG9lcyBub3QgZXhpc3QiKQogICAgCiAgICBkZWYgcmVsb2FkX2FsbF9tb2R1bGVzKHNlbGYsIGRpcmVjdG9yeSk6CiAgICAgICAgIiIiCiAgICAgICAgICAgIFJlbG9hZCBhbGwgdGhlIG1vZHVsZXMgKGxvY2FsIGZpbGVzKSBpbiB0aGUgZGlyZWN0b3J5IG9mIHRoZSBzY3JpcHQuCgogICAgICAgICAgICA6cGFyYW0gZGlyZWN0b3J5OiBUaGUgZGlyZWN0b3J5IG9mIHRoZSBzY3JpcHQuCiAgICAgICAgIiIiCiAgICAgICAgZm9yIGZpbGVuYW1lIGluIG9zLmxpc3RkaXIoZGlyZWN0b3J5KToKICAgICAgICAgICAgaWYgZmlsZW5hbWUuZW5kc3dpdGgoJy5weScpIGFuZCBmaWxlbmFtZSAhPSAnX19pbml0X18ucHknOgogICAgICAgICAgICAgICAgbW9kdWxlX25hbWUgPSBmaWxlbmFtZVs6LTNdICAjIHJlbW92ZSAnLnB5JyBmcm9tIGZpbGVuYW1lCiAgICAgICAgICAgICAgICBpZiBtb2R1bGVfbmFtZSBpbiBzeXMubW9kdWxlczoKICAgICAgICAgICAgICAgICAgICBpbXBvcnRsaWIucmVsb2FkKHN5cy5tb2R1bGVzW21vZHVsZV9uYW1lXSkKCiAgICBkZWYgZ2V0X3JlbG9hZGFibGVfcGFja2FnZXMoc2VsZik6CiAgICAgICAgIiIiCiAgICAgICAgICAgIEdldCBhbGwgdGhlIHJlbG9hZGFibGUgbW9kdWxlcyBmcm9tIHRoZSBzeXMubW9kdWxlcy4gSXQKICAgICAgICAgICAgbWFrZSBzdXJlIHRvIGNoZWNrIHRoZSBtb2R1bGUgc3BlYyBhbmQgbG9hZGVyIHRvIG9ubHkgcmVsb2FkIG1vZHVsZXMgCiAgICAgICAgICAgIHRoYXQgYXJlIGFjdHVhbGx5IGxvYWRlZCBmcm9tIGEgZmlsZSBvciBkaXJlY3RvcnkKCiAgICAgICAgICAgIDpyZXR1cm46IFRoZSBsaXN0IG9mIHJlbG9hZGFibGUgbW9kdWxlcy4KICAgICAgICAiIiIKICAgICAgICBCVUlMVElOX09SSUdJTlMgPSBbJ2J1aWx0LWluJywgJ2Zyb3plbiddCiAgICAgICAgcmVsb2FkYWJsZXMgPSBbXQogICAgICAgIGZvciBtIGluIHN5cy5tb2R1bGVzLnZhbHVlcygpOgogICAgICAgICAgICBpZiBpbnNwZWN0LmlzbW9kdWxlKG0pOgogICAgICAgICAgICAgICAgc3BlYyA9IGdldGF0dHIobSwgIl9fc3BlY19fIiwgTm9uZSkKICAgICAgICAgICAgICAgIGlmIHNwZWM6CiAgICAgICAgICAgICAgICAgICAgaWYgc3BlYy5vcmlnaW4gaW4gQlVJTFRJTl9PUklHSU5TIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIGlzaW5zdGFuY2Uoc3BlYy5sb2FkZXIsIGltcG9ydGxpYi5tYWNoaW5lcnkuU291cmNlbGVzc0ZpbGVMb2FkZXIpOgogICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgcmVsb2FkYWJsZXMuYXBwZW5kKG0pCgogICAgICAgIHJldHVybiByZWxvYWRhYmxlcwoKICAgIGRlZiBzYWZlX2V4ZWMoc2VsZiwgcGF0aCwgZ2xvYmFscywgbG9jYWxzLCBwYWNrYWdlc18yX3JlbG9hZCk6CiAgICAgICAgIiIiCiAgICAgICAgICAgIEV4ZWN1dGUgUHl0aG9uMyBjb2RlIHNhZmVseS4gSXQgcmVkaXJlY3RzIHRoZSBvdXRwdXQgb2YgdGhlIGNvZGUKICAgICAgICAgICAgdG8gYSBzdHJpbmcgYnVmZmVyICdzdGRvdXQnIHRvIG91dHB1dCB0byB0aGUgR0ggY29tcG9uZW50IHBhcmFtLgogICAgICAgICAgICBJdCBpcyBzZW5kIHRvIHRoZSB2c2NvZGUgc2VydmVyLgogICAgICAgICAgICAKICAgICAgICAgICAgOnBhcmFtIHBhdGg6IFRoZSBwYXRoIG9mIHRoZSBmaWxlIHRvIGV4ZWN1dGUuCiAgICAgICAgICAgIDpwYXJhbSBnbG9iYWxzOiBUaGUgZ2xvYmFscyBkaWN0aW9uYXJ5LgogICAgICAgICAgICA6cGFyYW0gbG9jYWxzOiBUaGUgbG9jYWxzIGRpY3Rpb25hcnkuCiAgICAgICAgICAgIDpwYXJhbSBwYWNrYWdlc18yX3JlbG9hZDogVGhlIGxpc3Qgb2YgcGFja2FnZXMgdG8gcmVsb2FkLCB0aGlzIGlzIHVzZWQgZm9yIGN1c3RvbSBwYWNrYWdlcyBkZXZlbG9wZW1lbnQuCiAgICAgICAgICAgIGluc3RhbGxlZCBvbiB0aGUgc3lzdGVtIHZpYSBhbiBlZGl0YWJsZSBwaXAgaW5zdGFsbGF0aW9uIGZvciBleGFtcGxlLgogICAgICAgICIiIgogICAgICAgIHRyeToKICAgICAgICAgICAgd2l0aCBvcGVuKHBhdGgsICdyJykgYXMgZjoKICAgICAgICAgICAgICAgICMgcmVsb2FkIHRoZSBzcGVjaWZ5ZWQgcGFja2FnZXMKICAgICAgICAgICAgICAgICMgcmVsb2FkYWJsZXMgPSBzZWxmLmdldF9yZWxvYWRhYmxlX3BhY2thZ2VzKCkKICAgICAgICAgICAgICAgICMgIyBpZiBwYWNrYWdlc18yX3JlbG9hZCBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICMgIyAgICAgaWYgcGFja2FnZXNfMl9yZWxvYWQuX19sZW5fXygpICE9IDA6CiAgICAgICAgICAgICAgICAjICMgICAgICAgICBmb3IgcGFja2FnZSBpbiBwYWNrYWdlc18yX3JlbG9hZDoKICAgICAgICAgICAgICAgICMgIyAgICAgICAgICAgICBpZiBwYWNrYWdlIGluIHJlbG9hZGFibGVzOgogICAgICAgICAgICAgICAgIyAjICAgICAgICAgICAgICAgICBpbXBvcnRsaWIucmVsb2FkKHBhY2thZ2UpCiAgICAgICAgICAgICAgICAjIGZvciBwYWNrYWdlIGluIHBhY2thZ2VzXzJfcmVsb2FkOgogICAgICAgICAgICAgICAgIyAgICAgaWYgcGFja2FnZSBpbiByZWxvYWRhYmxlczoKICAgICAgICAgICAgICAgICMgICAgICAgICBpbXBvcnRsaWIucmVsb2FkKHBhY2thZ2UpCgogICAgICAgICAgICAgICAgIyBhZGQgdGhlIHBhdGggYW5kIHN1YiBkaXJlY3RvcmllcyB0byAgdGhlIHN5cyBwYXRoCiAgICAgICAgICAgICAgICBwYXRoX2RpciA9IG9zLnBhdGguZGlybmFtZShwYXRoKQogICAgICAgICAgICAgICAgc3ViX2RpcnMgPSBbXQogICAgICAgICAgICAgICAgZm9yIHJvb3QsIGRpcnMsIGZpbGVzIGluIG9zLndhbGsocGF0aF9kaXIpOgogICAgICAgICAgICAgICAgICAgIGZvciBkIGluIGRpcnM6CiAgICAgICAgICAgICAgICAgICAgICAgIHN1Yl9kaXJzLmFwcGVuZChvcy5wYXRoLmpvaW4ocm9vdCwgZCkpCiAgICAgICAgICAgICAgICBzeXMucGF0aC5leHRlbmQoW3BhdGhfZGlyXSArIHN1Yl9kaXJzKQoKICAgICAgICAgICAgICAgICMgcmVsb2FkIGFsbCB0aGUgbW9kdWxlcyBhbHNvIG9mIHRoZSBzdWIgZGlyZWN0b3JpZXMKICAgICAgICAgICAgICAgIGZvciByb290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKHBhdGhfZGlyKToKICAgICAgICAgICAgICAgICAgICBmb3IgZCBpbiBkaXJzOgogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnJlbG9hZF9hbGxfbW9kdWxlcyhvcy5wYXRoLmpvaW4ocm9vdCwgZCkpCiAgICAgICAgICAgICAgICBzZWxmLnJlbG9hZF9hbGxfbW9kdWxlcyhwYXRoX2RpcikKCiAgICAgICAgICAgICAgICAjIHJlZnJlc2ggdGhlIHB5dGhvbiBpbnRlcnByZXRlcgogICAgICAgICAgICAgICAgaW1wb3J0bGliLmludmFsaWRhdGVfY2FjaGVzKCkKCiAgICAgICAgICAgICAgICAjIHBhcnNlIHRoZSBjb2RlCiAgICAgICAgICAgICAgICBjb2RlID0gY29tcGlsZShmLnJlYWQoKSwgcGF0aCwgJ2V4ZWMnKQogICAgICAgICAgICAgICAgb3V0cHV0ID0gaW8uU3RyaW5nSU8oKQoKICAgICAgICAgICAgICAgICMgZW1wdHkgdGhlIHF1ZXVlIGFuZCBldmVudAogICAgICAgICAgICAgICAgd2l0aCBzZWxmLnF1ZXVlX21zZ19sb2NrOgogICAgICAgICAgICAgICAgICAgIHdoaWxlIG5vdCBzZWxmLnF1ZXVlX21zZy5lbXB0eSgpOgogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnF1ZXVlX21zZy5nZXQoKQogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnF1ZXVlX21zZy50YXNrX2RvbmUoKQogICAgICAgICAgICAgICAgc2VsZi5ldmVudF9maXJlX21zZy5jbGVhcigpCgogICAgICAgICAgICAgICAgIyBleGVjdXRlIHRoZSBjb2RlCiAgICAgICAgICAgICAgICB3aXRoIGNvbnRleHRsaWIucmVkaXJlY3Rfc3Rkb3V0KG91dHB1dCk6CiAgICAgICAgICAgICAgICAgICAgZXhlYyhjb2RlLCBnbG9iYWxzLCBsb2NhbHMpCiAgICAgICAgICAgICAgICBsb2NhbHNbInN0ZG91dCJdID0gb3V0cHV0LmdldHZhbHVlKCkKCiAgICAgICAgICAgICAgICAjIHNlbmQgdGhlIG1zZyB0byB0aGUgdnNjb2RlIHNlcnZlcgogICAgICAgICAgICAgICAgbXNnX2pzb24gPSBqc29uLmR1bXBzKHsic2NyaXB0X3BhdGgiOiBwYXRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ3VpZCI6IHN0cihnaGVudi5Db21wb25lbnQuSW5zdGFuY2VHdWlkKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1zZyI6IG91dHB1dC5nZXR2YWx1ZSgpfSkKICAgICAgICAgICAgICAgIG1zZ19qc29uID0gbXNnX2pzb24uZW5jb2RlKCd1dGYtOCcpCiAgICAgICAgICAgICAgICBzZWxmLnF1ZXVlX21zZy5wdXQobXNnX2pzb24pCiAgICAgICAgICAgICAgICBzZWxmLmV2ZW50X2ZpcmVfbXNnLnNldCgpCgogICAgICAgICAgICAgICAgIyBwYXNzIHRoZSBzY3JpcHQgdmFyaWFibGVzIHRvIHRoZSBHSCBjb21wb25lbnQgb3V0cHV0cwogICAgICAgICAgICAgICAgb3V0cGFyYW0gPSBnaGVudi5Db21wb25lbnQuUGFyYW1zLk91dHB1dAogICAgICAgICAgICAgICAgb3V0cGFyYW1fbmFtZXMgPSBbcC5OaWNrTmFtZSBmb3IgcCBpbiBvdXRwYXJhbV0KICAgICAgICAgICAgICAgIGZvciBvdXRwIGluIG91dHBhcmFtX25hbWVzOgogICAgICAgICAgICAgICAgICAgIGlmIG91dHAgaW4gbG9jYWxzLmtleXMoKToKICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fdmFyX291dHB1dC5hcHBlbmQobG9jYWxzW291dHBdKQogICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3Zhcl9vdXRwdXQuYXBwZW5kKE5vbmUpCgogICAgICAgICAgICAgICAgc3lzLnN0ZG91dCA9IHN5cy5fX3N0ZG91dF9fCiAgICAgICAgICAgIHJldHVybiBsb2NhbHMKCiAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgoKICAgICAgICAgICAgIyBzZW5kIHRoZSBlcnJvciBtZXNzYWdlIHRvIHRoZSB2c2NvZGUgc2VydmVyCiAgICAgICAgICAgIGVycl9qc29uID0ganNvbi5kdW1wcyh7InNjcmlwdF9wYXRoIjogcGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImd1aWQiOiBzdHIoZ2hlbnYuQ29tcG9uZW50Lkluc3RhbmNlR3VpZCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtc2ciOiAiZXJyOiIgKyBzdHIoZSl9KQogICAgICAgICAgICBlcnJfanNvbiA9IGVycl9qc29uLmVuY29kZSgndXRmLTgnKQogICAgICAgICAgICBzZWxmLnF1ZXVlX21zZy5wdXQoZXJyX2pzb24pCiAgICAgICAgICAgIHNlbGYuZXZlbnRfZmlyZV9tc2cuc2V0KCkKICAgICAgICAgICAgCiAgICAgICAgICAgIHN5cy5zdGRvdXQgPSBzeXMuX19zdGRvdXRfXwoKICAgICAgICAgICAgZXJyX21zZyA9IGYic2NyaXB0LXN5bmM6OkVycm9yIGluIHRoZSBjb2RlOiB7c3RyKGUpfSIKICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKGVycl9tc2cpCgogICAgZGVmIFJ1blNjcmlwdChzZWxmLAogICAgICAgICAgICBidG46IGJvb2wsCiAgICAgICAgICAgIHBhY2thZ2VzXzJfcmVsb2FkOiBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5JTGlzdFtvYmplY3RdKToKICAgICAgICAiIiIgVGhpcyBtZXRob2QgaXMgY2FsbGVkIHdoZW5ldmVyIHRoZSBjb21wb25lbnQgaGFzIHRvIGJlIHJlY2FsY3VsYXRlZCBpdCdzIHRoZSBzb2x2ZSBtYWluIGluc3RhbmNlLiAiIiIKICAgICAgICBzZWxmLmlzX3N1Y2Nlc3MgPSBGYWxzZQoKICAgICAgICAjIHNldCB0aGUgcGF0aCBpZiBidXR0b24gaXMgcHJlc3NlZAogICAgICAgIHNlbGYuaW5pdF9zY3JpcHRfcGF0aChidG4pCgogICAgICAgICMgZmlsZSBjaGFuZ2UgbGlzdGVuZXIgdGhyZWFkCiAgICAgICAgaWYgc2VsZi5maWxlY2hhbmdlZF90aHJlYWRfbmFtZSBub3QgaW4gW3QubmFtZSBmb3IgdCBpbiB0aHJlYWRpbmcuZW51bWVyYXRlKCldOgogICAgICAgICAgICBGaWxlQ2hhbmdlZFRocmVhZChzZWxmLnBhdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZmlsZWNoYW5nZWRfdGhyZWFkX25hbWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKS5zdGFydCgpCgogICAgICAgICMgc2V0IHVwIHRoZSB0Y3AgY2xpZW50IHRvIGNvbm5lY3QgdG8gdGhlIHZzY29kZSBzZXJ2ZXIKICAgICAgICBfID0gW3ByaW50KHQubmFtZSkgZm9yIHQgaW4gdGhyZWFkaW5nLmVudW1lcmF0ZSgpXQogICAgICAgIGlmIHNlbGYuY2xpZW50X3RocmVhZF9uYW1lIG5vdCBpbiBbdC5uYW1lIGZvciB0IGluIHRocmVhZGluZy5lbnVtZXJhdGUoKV06CiAgICAgICAgICAgIENsaWVudFRocmVhZChzZWxmLnZzY29kZV9zZXJ2ZXJfaXAsCiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudnNjb2RlX3NlcnZlcl9wb3J0LAogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmNsaWVudF90aHJlYWRfbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5xdWV1ZV9tc2csCiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucXVldWVfbXNnX2xvY2ssCiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZXZlbnRfZmlyZV9tc2cKICAgICAgICAgICAgICAgICAgICAgICAgKS5zdGFydCgpCgogICAgICAgICMgYWRkIHRvIHRoZSBnbG9iYWxzIGFsbCB0aGUgaW5wdXQgcGFyYW1ldGVycyBvZiB0aGUgY29tcG9uZW50ICh0aGUgbG9jYWxzKQogICAgICAgIGdsb2JhbHMoKS51cGRhdGUobG9jYWxzKCkpCgogICAgICAgIHJlcyA9IHNlbGYuc2FmZV9leGVjKHNlbGYucGF0aCwgTm9uZSwgZ2xvYmFscygpLCBwYWNrYWdlc18yX3JlbG9hZCkKICAgICAgICBzZWxmLmlzX3N1Y2Nlc3MgPSBUcnVlCiAgICAgICAgcmV0dXJuCgogICAgZGVmIEFmdGVyUnVuU2NyaXB0KHNlbGYpOgogICAgICAgICIiIgogICAgICAgICAgICBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgYXMgc29vbiBhcyB0aGUgY29tcG9uZW50IGhhcyBmaW5pc2hlZAogICAgICAgICAgICBpdHMgY2FsY3VsYXRpb24uIEl0IGlzIHVzZWQgdG8gbG9hZCB0aGUgR0hDb21wb25lbnQgb3V0cHV0cwogICAgICAgICAgICB3aXRoIHRoZSB2YWx1ZXMgY3JlYXRlZCBpbiB0aGUgc2NyaXB0LgogICAgICAgICIiIgogICAgICAgIGlmIG5vdCBzZWxmLmlzX3N1Y2Nlc3M6CiAgICAgICAgICAgIHJldHVybgogICAgICAgIG91dHBhcmFtID0gW3AgZm9yIHAgaW4gZ2hlbnYuQ29tcG9uZW50LlBhcmFtcy5PdXRwdXRdCiAgICAgICAgb3V0cGFyYW1fbmFtZXMgPSBbcC5OaWNrTmFtZSBmb3IgcCBpbiBvdXRwYXJhbV0KICAgICAgICAKICAgICAgICAjIFRPRE86IGFkZCB0aGUgY29udmVyc2lvbiB0byBkYXRhdHJlZSBmb3IgbmVzdGVkIGxpc3RzIGFuZCB0dXBsZXMKICAgICAgICBmb3IgaWR4LCBvdXRwIGluIGVudW1lcmF0ZShvdXRwYXJhbSk6CiAgICAgICAgICAgICMgZGV0ZWN0IGlmIHRoZSBvdXRwdXQgaXMgYSBsaXN0CiAgICAgICAgICAgIGlmIHR5cGUoc2VsZi5fdmFyX291dHB1dFtpZHhdKSA9PSBsaXN0IG9yIHR5cGUoc2VsZi5fdmFyX291dHB1dFtpZHhdKSA9PSB0dXBsZToKICAgICAgICAgICAgICAgIGdoZW52LkNvbXBvbmVudC5QYXJhbXMuT3V0cHV0W2lkeF0uVm9sYXRpbGVEYXRhLkNsZWFyKCkKICAgICAgICAgICAgICAgIGdoZW52LkNvbXBvbmVudC5QYXJhbXMuT3V0cHV0W2lkeF0uQWRkVm9sYXRpbGVEYXRhTGlzdChnaC5LZXJuZWwuRGF0YS5HSF9QYXRoKDApLCBzZWxmLl92YXJfb3V0cHV0W2lkeF0pCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBnaGVudi5Db21wb25lbnQuUGFyYW1zLk91dHB1dFtpZHhdLlZvbGF0aWxlRGF0YS5DbGVhcigpCiAgICAgICAgICAgICAgICBnaGVudi5Db21wb25lbnQuUGFyYW1zLk91dHB1dFtpZHhdLkFkZFZvbGF0aWxlRGF0YShnaC5LZXJuZWwuRGF0YS5HSF9QYXRoKDApLCAwLCBzZWxmLl92YXJfb3V0cHV0W2lkeF0pCiAgICAgICAgc2VsZi5fdmFyX291dHB1dC5jbGVhcigpCgogICAgQHByb3BlcnR5CiAgICBkZWYgcGF0aChzZWxmKToKICAgICAgICAiIiIgR2V0IHRoZSBwYXRoIG9mIHRoZSBmaWxlIGZyb20gdGhlIHRhYmxlIHZpZXcgdG8gYmUgc3RpY2tpbmcgYmV0d2VlbiB0aGUgc2Vzc2lvbnMuICIiIgogICAgICAgIHRhYmxlX3ZhbHVlID0gZ2hlbnYuQ29tcG9uZW50Lk9uUGluZ0RvY3VtZW50KCkuVmFsdWVUYWJsZS5HZXRWYWx1ZSgKICAgICAgICAgICAgc2VsZi5fX3BhdGhfbmFtZV90YWJsZV92YWx1ZSwgIm5vdF9mb3VuZCIKICAgICAgICApCiAgICAgICAgaWYgdGFibGVfdmFsdWUgIT0gIm5vdF9mb3VuZCI6CiAgICAgICAgICAgIHJldHVybiB0YWJsZV92YWx1ZQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIHJldHVybiBOb25lCgogICAgQHBhdGguc2V0dGVyCiAgICBkZWYgcGF0aChzZWxmLCBwYXRoIDogc3RyKToKICAgICAgICAiIiIgU2V0IHRoZSBwYXRoIG9mIHRoZSBmaWxlIHRvIHRoZSB0YWJsZSB2aWV3IHRvIGJlIHN0aWNraW5nIGJldHdlZW4gdGhlIHNlc3Npb25zLiAiIiIKICAgICAgICBnaGVudi5Db21wb25lbnQuT25QaW5nRG9jdW1lbnQoKS5WYWx1ZVRhYmxlLlNldFZhbHVlKHNlbGYuX19wYXRoX25hbWVfdGFibGVfdmFsdWUsIHBhdGgpCgogICAgICAgIHNjcmlwdF9uYW1lID0gb3MucGF0aC5iYXNlbmFtZShwYXRoKQogICAgICAgIGdoZW52LkNvbXBvbmVudC5NZXNzYWdlID0gZiJ7c2NyaXB0X25hbWV9IgoKICAgICAgICBpZiBzZWxmLmZpbGVjaGFuZ2VkX3RocmVhZF9uYW1lIGluIFt0Lm5hbWUgZm9yIHQgaW4gdGhyZWFkaW5nLmVudW1lcmF0ZSgpXToKICAgICAgICAgICAgXyA9IFt0IGZvciB0IGluIHRocmVhZGluZy5lbnVtZXJhdGUoKSBpZiB0Lm5hbWUgPT0gc2VsZi5maWxlY2hhbmdlZF90aHJlYWRfbmFtZV1bMF0uc3RvcCgpCgogICAgQHBhdGguZGVsZXRlcgogICAgZGVmIHBhdGgoc2VsZik6CiAgICAgICAgIiIiIERlbGV0ZSB0aGUgcGF0aCBvZiB0aGUgZmlsZSBmcm9tIHRoZSB0YWJsZSB2aWV3IGlmIHRoZSBvYmplY3QgaXMgZXJhc2VkLiAiIiIKICAgICAgICBnaGVudi5Db21wb25lbnQuT25QaW5nRG9jdW1lbnQoKS5WYWx1ZVRhYmxlLkRlbGV0ZVZhbHVlKHNlbGYuX19wYXRoX25hbWVfdGFibGVfdmFsdWUpCg==
- - S
-
-
-
-
- - *.*.python
- - 3.*
-
-
-
-
-
-
-
-
-
- a8b97322-2d53-47cd-905e-b932c3ccd74e
- Button
@@ -860,8 +650,8 @@
-
- 1691
- 42
+ 1707
+ 46
66
22
@@ -871,7 +661,7 @@
-
+
- 59e0b89a-e487-49f8-bab8-b5bab16be14c
- Panel
@@ -923,7 +713,7 @@
-
+
- c9b2d725-6f87-4b07-af90-bd9aefef68eb
- 066d0a87-236f-4eae-a0f4-9e42f5327962
@@ -931,9 +721,10 @@
-
+
- true
+ - true
- 2
-
iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAABhWlDQ1BJQ0MgcHJvZmlsZQAAKM+VkT1Iw1AUhU9Ti1KqDhYRcchQnSyIijhKFItgobQVWnUweekfNGlIUlwcBdeCgz+LVQcXZ10dXAVB8AfE2cFJ0UVKvC8ptAgVvPB4H+e9c7jvPkCol5lmdU0Amm6byZgkZrKrYvcrAvChD4MIyswy4qnFNDrW1z3dpbqL8iz8r3rVnMUAn0g8xwzTJt4gntm0Dc77xGFWlFXic+JxkxokfuS64vEb54LLAs8Mm+nkPHGYWCy0sdLGrGhqxNPEEVXTKV/IeKxy3uKslaus2Sd/YSinr6S4TmsEMSwhjgREKKiihDJsRGnXSbGQpHOpg3/Y9SfIpZCrBEaOBVSgQXb94H/we7ZWfmrSSwpJQODFcT5Gge5doFFznO9jx2mcAP5n4Epv+St1YPaT9FpLixwB/dvAxXVLU/aAyx1g6MmQTdmV/LSEfB54P6NvygIDt0BwzZtb8xynD0CaZrV8AxwcAmMFyl7v8O6e9rn9ecedH6QfFkJygq12im8AAAAJcEhZcwAALiIAAC4iAari3ZIAAAAHdElNRQfoBQEOGTWBsptrAAACp0lEQVRIS92VW08TURDH+TwmYpCLUtq99sqdAgIJYoRUDSbyauKLPBFfDJoYg4kaiEovcmkpLZYCtttuL9sraEz0w/w9c2h858CTk2zOdrtnfjP/mTnb9v/b1PQkXC4NA/1utiqw9Xah9deVGeLxLRhGqnUdwuVWoekSX1vviJuqSCgbUVTNOGr5OCr5PeSPwv+ujo7r4hBdVyHLDuY0hlphH6elA9CzTHqTwwigag5xgM/nhWXGkDsMcoiVi3KQxTKirAjgkHrFAKTxmXWAjfcvMDA4i5HRBxgdXsDwSIDrXzX3GDiMW7c7xQCy0sclaZQSmJpYwnPjEybHH2Mp/IEVVzsHHEXgdGpiAN0po1lOYvPja/hZ9H7/IsbGF9l9AF6fjgqTy0iHIck2MQAVr1k+wJuXz7Cysoqx0UXcmVjAoG+OR90oJZFPR7hcrS0XM8qAnNQKceZ0Hl5lCmP+JxjqfwiSr1FIwDz6il5btxiAhogyoK6hKCkjvqoyNE3hzykDCqS15WImSXbUiwlUjBh2Q2/ZtYZocA2x0DsUMzsoZ3d4FwnXgAaKJGoWk6jm9tAo7qPGOqdZ2sfvIR1//BoK37dh6+sRAyiqxAF0NFi5GOqsFlWaaPab1orBjg2WnceriwHcHo1LFFx/hR/1NC8oZXBqpbjuNMkEF+4i2kgdRM5+NY5hZaM4jK/jZz2L0MYqStldflS037gmCNBkrj11C0W7vPwUZ5UM6uZ59xRPttmghdDZ1S4G8HpcPGpyRlIoqp1nQ/UwT7a4ZDkGEJ4DVbHjJPEZ5nGE14K+BwQrZ86lMVIhZL59QXdPhxiAjD6TscgarwVFnkkFueMcA9BBR63cevVSBoftJvpdDsxMDiIwP4NHgbtYuD+NuXuzVwK4hLW1/QVNwS7gNgo0wQAAAABJRU5ErkJggg==
@@ -1027,7 +818,7 @@
-
+
- 57da07bd-ecab-415d-9d86-af36d7073abc
- Number Slider
@@ -1072,7 +863,7 @@
-
+
- 57da07bd-ecab-415d-9d86-af36d7073abc
- Number Slider
@@ -1117,7 +908,7 @@
-
+
- 06953bda-1d37-4d58-9b38-4b3c74e54c8f
- File Path
@@ -1174,7 +965,7 @@
-
+
- 59e0b89a-e487-49f8-bab8-b5bab16be14c
- Panel
@@ -1227,7 +1018,7 @@
-
+
- c9b2d725-6f87-4b07-af90-bd9aefef68eb
- 066d0a87-236f-4eae-a0f4-9e42f5327962
@@ -1235,9 +1026,10 @@
-
+
- true
+ - true
- 2
-
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
@@ -1403,15 +1195,16 @@
-
+
- 850b6368-ff26-48ce-9773-ac554ffbaeef
- Point Cloud
-
+
- Contains a collection of point clouds
+ - true
- 10ea8006-8252-4544-a4a5-07bd1ed4c124
- Point Cloud
- PCloud
@@ -1438,7 +1231,7 @@
-
+
- 59e0b89a-e487-49f8-bab8-b5bab16be14c
- Panel
@@ -1451,8 +1244,8 @@
- Panel
- false
- - 0
- - e3c8284e-af04-4704-8d9e-c87cb6584486
+ - 1
+ - 9dd6891b-d20c-433a-8a0b-3e2e11900fbe
- 1
- Double click to edit panel content…
@@ -1460,17 +1253,17 @@
-
- 2016
- 21
- 306
- 92
+ 2093
+ -87
+ 509
+ 337
- 0
- 0
- 0
-
- 2016.7383
- 21.915852
+ 2093.229
+ -86.305786
@@ -1491,15 +1284,16 @@
-
+
- 1e936df3-0eea-4246-8549-514cb8862b7a
- Mesh
-
+
- Contains a collection of polygon meshes
+ - true
- 2fae0066-4e58-4b19-842d-dacda172902a
- Mesh
- Mesh
@@ -1545,7 +1339,7 @@
-
+
- c9b2d725-6f87-4b07-af90-bd9aefef68eb
- 066d0a87-236f-4eae-a0f4-9e42f5327962
@@ -1553,9 +1347,10 @@
-
- - Sample a point cloud from a mesh.
+
+
- true
+ - true
- 2
-
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
@@ -1601,7 +1396,7 @@
- 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==
+ 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
- fb753c9c-1ad9-424b-866f-cdb3b7da95b7
- i_mesh
@@ -1636,7 +1431,7 @@
- true
- The number of points of the created cloud.
-
- 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
+ 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
- 9771b0c7-0638-4eb5-a786-87f9b4996653
- i_points
@@ -1671,7 +1466,7 @@
- false
- The output sampled cloud.
-
- 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
+ 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
- 04310b0a-5893-4ada-8b51-803304fad26a
- o_rh_cloud
@@ -1721,6 +1516,389 @@
+
+
+ - 57da07bd-ecab-415d-9d86-af36d7073abc
+ - Number Slider
+
+
+
+
+ - Numeric slider for single values
+ - fd0d1a1c-d03e-43a2-900a-8b4be535b99b
+ - Number Slider
+
+ - false
+ - 0
+
+
+
+
+ -
+ 1606
+ 158
+ 170
+ 20
+
+ -
+ 1606.8589
+ 158.71545
+
+
+
+
+
+ - 3
+ - 1
+ - 0
+ - 100
+ - 0
+ - 0
+ - 100
+
+
+
+
+
+
+
+
+ - 1e936df3-0eea-4246-8549-514cb8862b7a
+ - Mesh
+
+
+
+
+ - Contains a collection of polygon meshes
+ - 42bfb2b1-9361-4c39-883d-a4c2ffc4e3b4
+ - Mesh
+ - Mesh
+ - false
+ - 0
+
+
+
+
+ -
+ 1726
+ 128
+ 50
+ 24
+
+ -
+ 1751.8644
+ 140.9184
+
+
+
+
+
+ - 1
+
+
+
+
+ - 1
+ - {0}
+
+
+
+
+ - 2e3af591-6a11-4ff4-a443-ed19f90b2742
+
+
+
+
+
+
+
+
+
+
+
+
+ - c9b2d725-6f87-4b07-af90-bd9aefef68eb
+ - 066d0a87-236f-4eae-a0f4-9e42f5327962
+ - script-sync cpython
+
+
+
+
+
+ - true
+ - 2
+ -
+ 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
+
+ - 268c9dae-7fd5-4d05-ba61-bc0d60eccf62
+ - true
+ - false
+ - true
+ - script-sync cpython
+ - scsy-cpy
+ - 1
+
+ - false
+ - false
+ - false
+
+
+
+
+ -
+ 1824
+ 45
+ 173
+ 84
+
+ -
+ 1939
+ 87
+
+
+
+
+
+ - 4
+ - 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
+ - Connect a button to open a file dialog to select a cpython file to run.
+ -
+ iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAA6xJREFUSEvVVTlLXGEUHRUHkXHfHRWXcd/3DRVcQBFUVAzaCYKC+AsGohYGDQiipYV2VpLSykawjCIuaOGCgiZFgoVmNImc3HPnPRHHLVXIgcu8ecu59557vu+z/Cs4vLy8fsgv/iLeSbwNfn5+n+fn57G+vo61tTWsrq5iZWUFy8vLWFxcxNTUFAYGBtDa2orq6mqkpqZCCrqQT61uhhfg4+PTLh/+WlhYQHl5uUZZWRlKSkpQVFSE/Px85OTkICMjQ4mTkpKQlZUFm8125e3t7TRonoU1KCjo29LSErq6urQ6RlVVlSZiksLCQuTm5ippWloaUlJSNJKTkyEJroXD7qZ6Ar6+vh/6+/t/j42NoaamBnV1dRq8ZhJ2UlxcrF1kZ2cjPT1dyRMTE7UTKe5WpPpk0HnAER0dfTM7O4uGhgYlrq+vR0tLC+bm5rC7uwsT29vbmJycREFBARwOhyaIj49HXFwcZ8Euit2UDyDar3V2dqK3t1dlYYKenh4cHR0ZtJ44ODjQd5mA5DExMQgJCbmTJBsG7T1aw8PDXSSk1pSD1R8eHhpUnnC5XPq7v7+vw2YCUQAJCQkQF14JZ5+bWgYr1X+pqKgAg4NkkpmZGSV4Cufn5+jo6MDZ2Zn+Hx8fh91uR1RUlCZhR9LFd+G2WWTy78PCwlwk5/BoRSZh+0/h4uICTU1NatORkRG9t7Ozg9jYWERGRiI0NFQHL9dcqNMWyXSZmZmp3mYwCa14c3OjHz+ESc73aVEOmaBc1D8iIoIz0ER5eXlc3ZdMMC32uqa3zUS8fpyAspjktCfdQxKCCSiPKIHg4GB9R1zFDj5KWGzUiz5m2wwuooe2JDmty2esnOR8f2hoSJ9vbW1p9ZSHnXC9yFzdMzDQZ7Var/gxHcHfiYkJ/ZidtLW16T0+o74kZ/Wnp6f6jtPpvK+eBhGJuBbuXaSgd6kdlzxJWC0tSJycnGB4eFhb5/3BwUEcHx/rs729Pa2a5OystLT0Tug81gFRxr2EFjODzjKTPAWSc2YcLOXhjAIDA6m950ompItP8uItO+DCYVCO0dFRbG5uGrTAxsaGykLvs3IhVXuLbD+F5tm9iLCzC+rNvYWLxgy6hBJymNSbFYv7EBAQoM95NsgcX95NDTil5WvulrJ93IdJSjnMquUMgL+/v24r0jXJXz0PCKtI9ZVWraysRG1trRJQ3+bmZq20vb0d3Bi7u7t1Q2xsbHz7iWaA5+vjM/e1ePuZ/B/BYvkDKff7sf0Xzw8AAAAASUVORK5CYII=
+
+ - f6d1da7a-1b3f-429f-9909-bc7f2609baa1
+ - btn
+ - btn
+ - true
+ - 0
+ - true
+ - f858cc51-1d31-4dde-9c0e-296ef455a7a9
+ - 1
+ - Connect a button to open a file dialog to select a cpython file to run.
+ - d60527f5-b5af-4ef6-8970-5f96fe412559
+
+
+
+
+ -
+ 1826
+ 47
+ 98
+ 20
+
+ -
+ 1876.5
+ 57
+
+
+
+
+
+
+
+ - 1
+ - true
+ - Pass a list with the name of the custom packages you want to reload. This function is useful if you are developing a i.e. PyPI package and you want to reload the submodules after you modified something. The function will reload the package and all its submodules. If you want to reload the package and all its submodules, just pass the package name. If you want to reload only a submodule, pass the package name and the submodule name separated by a dot. If you want to reload multiple submodules, pass the package
+ -
+ iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAWJQAAFiUBSVIk8AAABBNJREFUSEvVVVsorWkYXshKcj6znM/n81nORCiFTFxRLtw4JFe2JDQy2pLkggunwo22K0opCZHsRHEhKWXPTBp2sazN0DPf8631r+wxe9tzNc1bb+tvrfU/z/s+7/N+n+q/Cj8TE5Mv4hP/In8S+WNhYWHxcWJiAltbW9jY2MDa2hpWVlawuLiIqakpDAwMoKGhAaWlpcjIyEBQUBBEQb+KV9V6hO+EmZlZuXjxz8nJSaSkpMhMTk5GYmIi4uPjERMTg8jISISGhkpgPz8/hIeHw8rK6s7U1PSdAeaboba1tf1jfn4elZWVsjpmenq6JCJJXFwcoqKiJGhwcDACAgJk+vv7QxBoBYZGD/UPYW5u/nN9ff1Td3c3MjMz0djYiP7+fszNzWFzcxPT09NISEiQXURERCAnJ0f+trq6itraWojiHoRUHwxwr8LPzc3ty8jICPLz85Gbm4u6ujqMjo7i6uoK19fX8rOsrAyxsbEoLCzE0dERzs/PcXh4iPHxcXh6enIW7CJBD/kihPYbFRUVqKmpkbJkZ2cjLy9P5v7+Pm5vb3F/fy+BkpKSsL29jYWFBdAMy8vLUlJ3d3fY29s/C5KPBlhjlDo5Oemqq6ul1tScEpGE2dfXB51Oh4eHB5ycnEiStrY2hISESP19fX1l9UIBeHt7Q7jwTmDW6qHFYEX1v6WmpoLJQSokypCLiookwdPTE56fn7G0tPTVkH18fKDRaODq6ipJSCi6uBbYViox+S5HR0cdwTk8WpEktOZLm+7t7UlwRk9Pz1c29fLygoeHB1xcXODg4CBJxfO9IHivEkyfw8LCpLeZJKEV6ZaXOTw8bOxgfX3dWL0iD/V3dnbmDCRRdHQ0t/szCd4Le2npbYWIzySiW5h85hZzBo+Pj3LYJH1ZPeURSsDOzk7iiO/ZwS8iVVbUi39m20zqS58rXXV1daG3txenp6cSXKvVorOzUw6U2rNjVk952AklFXPVz8AQtWq1+o5tM1taWjA2Nob29nYMDQ1hZmZGfj84OIibmxu5E8fHx7KYkpIStLa2GqvnzIRE3AWji2TQu9SO1mtubpYbysNudnbWaEfKcnZ2hsvLS1xcXODg4AA8s1g9wQMDA7kjzwLu1R4wknmWcGhZWVnS501NTcZB0orUm4u4u7uLnZ0ddHR0KMsl5eF229jYUPvXm8wQXXwQf3wgKJ3xMqk1h0lADpRVK7IIUGlv4ZxHAfPNs4ihYRfUm9VyaZQkKCVUgFmxcB+sra3l77wbxBy/f5oa4p1oWUsXiePDmAoo5VCqFncALC0t5Xkluib4m/cBQy2k+p1WTUtLk/MgAPUtLi6WlZaXl4MHY1VVFXh+FRQU8Gj4xHf1EG8H79e/37lv5Y/fyf+jUKn+AkB0rPmebpkgAAAAAElFTkSuQmCC
+
+ - 513f5e84-59f0-46a0-acfd-0a47d4453751
+ - packages_2_reload
+ - packages_2_reload
+ - true
+ - 1
+ - true
+ - 7d586578-06cd-4b78-ba4c-40fc44e1a34f
+ - 1
+ - Pass a list with the name of the custom packages you want to reload. This function is useful if you are developing a i.e. PyPI package and you want to reload the submodules after you modified something. The function will reload the package and all its submodules. If you want to reload the package and all its submodules, just pass the package name. If you want to reload only a submodule, pass the package name and the submodule name separated by a dot. If you want to reload multiple submodules, pass the package
+ - 1c282eeb-dd16-439f-94e4-7d92b542fe8b
+
+
+
+
+ -
+ 1826
+ 67
+ 98
+ 20
+
+ -
+ 1876.5
+ 77
+
+
+
+
+
+
+
+ - true
+ - A generic x input.
+ -
+ iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAWJQAAFiUBSVIk8AAABFhJREFUSEvVVUdInWkUtRBRlNi7sfceTbEbK4i9V+wgukh0F4yMCjIqGFBxpRJ1pYgSFBQUdWEsCNEQ3OhKUJBZqMhgmcwYznzn6siQTBJnNcyFj8f/v/fOveece++n8V+Fk6am5oX6xL84OercLXR1dbcGBgawurqK5eVlLC0tYWFhATMzMxgeHkZnZydqamqQlZWFiIgIuLm5QRV0qP6qc43wndDW1k5PTk7+Y2hoCE+fPhUAAkVFRaG8vBwBAQEICQlBeno6/P39ERoaCm9vbxgYGJxpaWm9uoH5ZugYGhoej46OoqSkBDExMaioqEBSUpIka21tRUJCAl6+fInIyEi4u7sjOzsbPj4+CAwMhEpwrjBsr6H+Ie7du/ezArxqaWlBQUEB6urqkJGRIWBhYWEYGxvDyMgI0tLSBNTDwwP19fXIyckRFqq4T0qqtzdwX4WTlZXVb319fSgsLBTwtrY2DA4OYmpqSnxYWVnB2toa3r17h7m5OYyPj6OnpwcNDQ3ChHIpicki8Bryb6G+WOaPKE1xcTEaGxsRGxsrh9oTeGdnB8HBwSJHbm4uZmdnMTExAUdHR9jZ2cHV1RUODg6fFYutG9jbSDYzM7vMy8uDMhiJiYlob29HdHQ0ysrKsLGxgerqahweHkoCFvHx40epenFxURIEBQUhNTVVOkpPT+9MYRZdQytjVfW/sDPYMeHh4WIoqVMqtinB+e709FRM39/fF5Y0mcnJsqmpCZ6enlAyizeKxYnCNtBQzv9kamp6Sf0ePnwolTx69Aj0YnJyEqWlpXjy5Im8u7i4wPHxsUhGMFa7ubkp5rNACwsLmJiYwM/PD+bm5hzUdg2V6Vd2AF+SPjvk+fPn6O3tlcHa2trC3t4ejo6OJMHV1RUuLy/lme/fv3+P6elpdHV1iZws1MnJSeZFJThlgtdGRkbnTODl5SVJKisrZVppJg+l2t3dxcnJifyGErA1WT3Nt7GxgaWlpTCiAlTiwYMHZPBaHQ0D6sWspE0fqDc19fX1lTlgW3IuDg4OboeLzFJSUjA/Py+687ccSBpOuZSv1x7cRJGOjs4ZK2MSgtTW1uLZs2fgyqBsfLe9vS0rYn19XbqNrcmpZ8VFRUXyzOKUF5yF2y6SUCw+kKazszNcXFxEAg4bW5XPPH8tPLaxra0trK2t0dHRgaqqKva/zMHjx48/K7iv5oARwV1CqWg6lxuTkElzczO6u7tlqt+8eYP+/n55poxsYbJRwMLu/v371D74GvKLUCzeqjb7xEooFSnzcO+w/1+8eCFVkym/z8zMRFxcHEHFXLVdf1cw39xFDFuyoN729vZinuoG0ZXS0UTV32IkFyC/Z+fwkyyUj9/fpjfxytjY+JxdodaHAHKA1DBKe7J6MuSzugOgr68vk6w8IvgP7wOGjpLqiLJwbdBkAvAeIAO2JrXmJUSP8vPzER8ff/cb7Sby1fnyzv3Rufud/D8KDY0/AZndzavmVPx/AAAAAElFTkSuQmCC
+
+ - 608fb7cd-743e-41a0-a671-c8c833eaebe8
+ - i_mesh
+ - i_mesh
+ - true
+ - 0
+ - true
+ - 42bfb2b1-9361-4c39-883d-a4c2ffc4e3b4
+ - 1
+ - A generic x input.
+ - 794a1f9d-21d5-4379-b987-9e8bbf433912
+
+
+
+
+ -
+ 1826
+ 87
+ 98
+ 20
+
+ -
+ 1876.5
+ 97
+
+
+
+
+
+
+
+ - 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
+
+ - 3b06d552-506b-42f4-9b3a-c0e53ce6f80a
+ - i_points
+ - i_points
+ - true
+ - 0
+ - true
+ - fd0d1a1c-d03e-43a2-900a-8b4be535b99b
+ - 1
+
+ - 48d01794-d3d8-4aef-990e-127168822244
+
+
+
+
+ -
+ 1826
+ 107
+ 98
+ 20
+
+ -
+ 1876.5
+ 117
+
+
+
+
+
+
+
+ - false
+ - The redirected standard output of the component scriptsync.
+ -
+ iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAWJQAAFiUBSVIk8AAABBNJREFUSEvVVVsorWkYXshKcj6znM/n81nORCiFTFxRLtw4JFe2JDQy2pLkggunwo22K0opCZHsRHEhKWXPTBp2sazN0DPf8631r+wxe9tzNc1bb+tvrfU/z/s+7/N+n+q/Cj8TE5Mv4hP/In8S+WNhYWHxcWJiAltbW9jY2MDa2hpWVlawuLiIqakpDAwMoKGhAaWlpcjIyEBQUBBEQb+KV9V6hO+EmZlZuXjxz8nJSaSkpMhMTk5GYmIi4uPjERMTg8jISISGhkpgPz8/hIeHw8rK6s7U1PSdAeaboba1tf1jfn4elZWVsjpmenq6JCJJXFwcoqKiJGhwcDACAgJk+vv7QxBoBYZGD/UPYW5u/nN9ff1Td3c3MjMz0djYiP7+fszNzWFzcxPT09NISEiQXURERCAnJ0f+trq6itraWojiHoRUHwxwr8LPzc3ty8jICPLz85Gbm4u6ujqMjo7i6uoK19fX8rOsrAyxsbEoLCzE0dERzs/PcXh4iPHxcXh6enIW7CJBD/kihPYbFRUVqKmpkbJkZ2cjLy9P5v7+Pm5vb3F/fy+BkpKSsL29jYWFBdAMy8vLUlJ3d3fY29s/C5KPBlhjlDo5Oemqq6ul1tScEpGE2dfXB51Oh4eHB5ycnEiStrY2hISESP19fX1l9UIBeHt7Q7jwTmDW6qHFYEX1v6WmpoLJQSokypCLiookwdPTE56fn7G0tPTVkH18fKDRaODq6ipJSCi6uBbYViox+S5HR0cdwTk8WpEktOZLm+7t7UlwRk9Pz1c29fLygoeHB1xcXODg4CBJxfO9IHivEkyfw8LCpLeZJKEV6ZaXOTw8bOxgfX3dWL0iD/V3dnbmDCRRdHQ0t/szCd4Le2npbYWIzySiW5h85hZzBo+Pj3LYJH1ZPeURSsDOzk7iiO/ZwS8iVVbUi39m20zqS58rXXV1daG3txenp6cSXKvVorOzUw6U2rNjVk952AklFXPVz8AQtWq1+o5tM1taWjA2Nob29nYMDQ1hZmZGfj84OIibmxu5E8fHx7KYkpIStLa2GqvnzIRE3AWji2TQu9SO1mtubpYbysNudnbWaEfKcnZ2hsvLS1xcXODg4AA8s1g9wQMDA7kjzwLu1R4wknmWcGhZWVnS501NTcZB0orUm4u4u7uLnZ0ddHR0KMsl5eF229jYUPvXm8wQXXwQf3wgKJ3xMqk1h0lADpRVK7IIUGlv4ZxHAfPNs4ihYRfUm9VyaZQkKCVUgFmxcB+sra3l77wbxBy/f5oa4p1oWUsXiePDmAoo5VCqFncALC0t5Xkluib4m/cBQy2k+p1WTUtLk/MgAPUtLi6WlZaXl4MHY1VVFXh+FRQU8Gj4xHf1EG8H79e/37lv5Y/fyf+jUKn+AkB0rPmebpkgAAAAAElFTkSuQmCC
+
+ - 9dd6891b-d20c-433a-8a0b-3e2e11900fbe
+ - stdout
+ - stdout
+ - false
+ - 0
+ - true
+ - 0
+ - The redirected standard output of the component scriptsync.
+ - 1c282eeb-dd16-439f-94e4-7d92b542fe8b
+
+
+
+
+ -
+ 1954
+ 47
+ 41
+ 40
+
+ -
+ 1974.5
+ 67
+
+
+
+
+
+
+
+ - false
+ - Generic example output of the component
+ -
+ iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAWJQAAFiUBSVIk8AAABBNJREFUSEvVVVsorWkYXshKcj6znM/n81nORCiFTFxRLtw4JFe2JDQy2pLkggunwo22K0opCZHsRHEhKWXPTBp2sazN0DPf8631r+wxe9tzNc1bb+tvrfU/z/s+7/N+n+q/Cj8TE5Mv4hP/In8S+WNhYWHxcWJiAltbW9jY2MDa2hpWVlawuLiIqakpDAwMoKGhAaWlpcjIyEBQUBBEQb+KV9V6hO+EmZlZuXjxz8nJSaSkpMhMTk5GYmIi4uPjERMTg8jISISGhkpgPz8/hIeHw8rK6s7U1PSdAeaboba1tf1jfn4elZWVsjpmenq6JCJJXFwcoqKiJGhwcDACAgJk+vv7QxBoBYZGD/UPYW5u/nN9ff1Td3c3MjMz0djYiP7+fszNzWFzcxPT09NISEiQXURERCAnJ0f+trq6itraWojiHoRUHwxwr8LPzc3ty8jICPLz85Gbm4u6ujqMjo7i6uoK19fX8rOsrAyxsbEoLCzE0dERzs/PcXh4iPHxcXh6enIW7CJBD/kihPYbFRUVqKmpkbJkZ2cjLy9P5v7+Pm5vb3F/fy+BkpKSsL29jYWFBdAMy8vLUlJ3d3fY29s/C5KPBlhjlDo5Oemqq6ul1tScEpGE2dfXB51Oh4eHB5ycnEiStrY2hISESP19fX1l9UIBeHt7Q7jwTmDW6qHFYEX1v6WmpoLJQSokypCLiookwdPTE56fn7G0tPTVkH18fKDRaODq6ipJSCi6uBbYViox+S5HR0cdwTk8WpEktOZLm+7t7UlwRk9Pz1c29fLygoeHB1xcXODg4CBJxfO9IHivEkyfw8LCpLeZJKEV6ZaXOTw8bOxgfX3dWL0iD/V3dnbmDCRRdHQ0t/szCd4Le2npbYWIzySiW5h85hZzBo+Pj3LYJH1ZPeURSsDOzk7iiO/ZwS8iVVbUi39m20zqS58rXXV1daG3txenp6cSXKvVorOzUw6U2rNjVk952AklFXPVz8AQtWq1+o5tM1taWjA2Nob29nYMDQ1hZmZGfj84OIibmxu5E8fHx7KYkpIStLa2GqvnzIRE3AWji2TQu9SO1mtubpYbysNudnbWaEfKcnZ2hsvLS1xcXODg4AA8s1g9wQMDA7kjzwLu1R4wknmWcGhZWVnS501NTcZB0orUm4u4u7uLnZ0ddHR0KMsl5eF229jYUPvXm8wQXXwQf3wgKJ3xMqk1h0lADpRVK7IIUGlv4ZxHAfPNs4ihYRfUm9VyaZQkKCVUgFmxcB+sra3l77wbxBy/f5oa4p1oWUsXiePDmAoo5VCqFncALC0t5Xkluib4m/cBQy2k+p1WTUtLk/MgAPUtLi6WlZaXl4MHY1VVFXh+FRQU8Gj4xHf1EG8H79e/37lv5Y/fyf+jUKn+AkB0rPmebpkgAAAAAElFTkSuQmCC
+
+ - b78bbf09-8720-40fe-9710-de462f477998
+ - a
+ - a
+ - false
+ - 0
+ - true
+ - 0
+ - Generic example output of the component
+ - 1c282eeb-dd16-439f-94e4-7d92b542fe8b
+
+
+
+
+ -
+ 1954
+ 87
+ 41
+ 40
+
+ -
+ 1974.5
+ 107
+
+
+
+
+
+
+
+
+
+ - false
+ - ZnJvbSBnaHB5dGhvbmxpYi5jb21wb25lbnRiYXNlIGltcG9ydCBleGVjdXRpbmdjb21wb25lbnQgYXMgY29tcG9uZW50CgppbXBvcnQgU3lzdGVtCmltcG9ydCBTeXN0ZW0uRHJhd2luZwppbXBvcnQgU3lzdGVtLldpbmRvd3MuRm9ybXMKaW1wb3J0IFJoaW5vCmltcG9ydCBHcmFzc2hvcHBlcgppbXBvcnQgR3Jhc3Nob3BwZXIgYXMgZ2gKZnJvbSBHcmFzc2hvcHBlci5LZXJuZWwgaW1wb3J0IEdIX1J1bnRpbWVNZXNzYWdlTGV2ZWwgYXMgUk1MCmltcG9ydCBzeXMKaW1wb3J0IG9zCmltcG9ydCB0aW1lCgppbXBvcnQgY29udGV4dGxpYgppbXBvcnQgaW8KCmltcG9ydCBhYmMKaW1wb3J0IHNvY2tldAppbXBvcnQgdGhyZWFkaW5nCmltcG9ydCBxdWV1ZQppbXBvcnQganNvbgoKaW1wb3J0IGltcG9ydGxpYgppbXBvcnQgc3lzCgoKY2xhc3MgR0hUaHJlYWQodGhyZWFkaW5nLlRocmVhZCwgbWV0YWNsYXNzPWFiYy5BQkNNZXRhKToKICAgICIiIgogICAgICAgIEEgYmFzZSBjbGFzcyBmb3IgR3Jhc3Nob3BwZXIgdGhyZWFkcy4KICAgICIiIgogICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUgOiBzdHIpOgogICAgICAgIHN1cGVyKCkuX19pbml0X18obmFtZT1uYW1lLCBkYWVtb249RmFsc2UpCiAgICAgICAgc2VsZi5fY29tcG9uZW50X29uX2NhbnZhcyA9IFRydWUKICAgICAgICBzZWxmLl9jb21wb25lbnRfZW5hYmxlZCA9IFRydWUKCiAgICBAYWJjLmFic3RyYWN0bWV0aG9kCiAgICBkZWYgcnVuKHNlbGYpOgogICAgICAgICIiIiBSdW4gdGhlIHRocmVhZC4gIiIiCiAgICAgICAgcGFzcwoKICAgIGRlZiBfY2hlY2tfaWZfY29tcG9uZW50X29uX2NhbnZhcyhzZWxmKToKICAgICAgICAiIiIgQ2hlY2sgaWYgdGhlIGNvbXBvbmVudCBpcyBvbiBjYW52YXMgZnJvbSB0aHJlYWQuICIiIgogICAgICAgIGRlZiBfX2NoZWNrX2lmX2NvbXBvbmVudF9vbl9jYW52YXMoKToKICAgICAgICAgICAgaWYgZ2hlbnYuQ29tcG9uZW50Lk9uUGluZ0RvY3VtZW50KCkgaXMgTm9uZToKICAgICAgICAgICAgICAgIHNlbGYuX2NvbXBvbmVudF9vbl9jYW52YXMgPSBGYWxzZQogICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBzZWxmLl9jb21wb25lbnRfb25fY2FudmFzID0gVHJ1ZQogICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKICAgICAgICBhY3Rpb24gPSBTeXN0ZW0uQWN0aW9uKF9fY2hlY2tfaWZfY29tcG9uZW50X29uX2NhbnZhcykKICAgICAgICBSaGluby5SaGlub0FwcC5JbnZva2VPblVpVGhyZWFkKGFjdGlvbikKCiAgICBkZWYgX2NoZWNrX2lmX2NvbXBvbmVudF9lbmFibGVkKHNlbGYpOgogICAgICAgICIiIiBDaGVjayBpZiB0aGUgY29tcG9uZW50IGlzIGVuYWJsZWQgZnJvbSB0aHJlYWQuICIiIgogICAgICAgIGRlZiBfX2NoZWNrX2lmX2NvbXBvbmVudF9lbmFibGVkKCk6CiAgICAgICAgICAgIGlmIGdoZW52LkNvbXBvbmVudC5Mb2NrZWQ6CiAgICAgICAgICAgICAgICBzZWxmLl9jb21wb25lbnRfZW5hYmxlZCA9IEZhbHNlCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBzZWxmLl9jb21wb25lbnRfZW5hYmxlZCA9IFRydWUKICAgICAgICBhY3Rpb24gPSBTeXN0ZW0uQWN0aW9uKF9fY2hlY2tfaWZfY29tcG9uZW50X2VuYWJsZWQpCiAgICAgICAgUmhpbm8uUmhpbm9BcHAuSW52b2tlT25VaVRocmVhZChhY3Rpb24pCgogICAgZGVmIGV4cGlyZV9jb21wb25lbnRfc29sdXRpb24oc2VsZik6CiAgICAgICAgIiIiIEZpcmUgdGhlIHJlY2FsY3VsYXRpb24gb2YgdGhlIGNvbXBvbmVudCBzb2x1dGlvbiBmcm9tIHRocmVhZC4gIiIiCiAgICAgICAgZGVmIF9fZXhwaXJlX2NvbXBvbmVudF9zb2x1dGlvbigpOgogICAgICAgICAgICBnaGVudi5Db21wb25lbnQuUGFyYW1zLk91dHB1dFswXS5DbGVhckRhdGEoKSAgIyBjbGVhciB0aGUgb3V0cHV0CiAgICAgICAgICAgIGdoZW52LkNvbXBvbmVudC5FeHBpcmVTb2x1dGlvbihUcnVlKSAgIyBleHBpcmUgdGhlIGNvbXBvbmVudAogICAgICAgIGFjdGlvbiA9IFN5c3RlbS5BY3Rpb24oX19leHBpcmVfY29tcG9uZW50X3NvbHV0aW9uKQogICAgICAgIFJoaW5vLlJoaW5vQXBwLkludm9rZU9uVWlUaHJlYWQoYWN0aW9uKQoKICAgIGRlZiBjbGVhcl9jb21wb25lbnQoc2VsZik6CiAgICAgICAgIiIiIENsZWFyIHRoZSBjb21wb25lbnQgZnJvbSB0aHJlYWQuICIiIgogICAgICAgIGRlZiBfX2NsZWFyX2NvbXBvbmVudCgpOgogICAgICAgICAgICBnaGVudi5Db21wb25lbnQuQ2xlYXJEYXRhKCkKICAgICAgICBhY3Rpb24gPSBTeXN0ZW0uQWN0aW9uKF9fY2xlYXJfY29tcG9uZW50KQogICAgICAgIFJoaW5vLlJoaW5vQXBwLkludm9rZU9uVWlUaHJlYWQoYWN0aW9uKQoKICAgIGRlZiBhZGRfcnVudGltZV93YXJuaW5nKHNlbGYsIGV4Y2VwdGlvbiA6IHN0cik6CiAgICAgICAgIiIiIEFkZCBhIHdhcm5pbmcgdGFiIHRvIHRoZSBjb21wb25lbnQgZnJvbSBtYWluIHRocmVhZC4gIiIiCiAgICAgICAgYWN0aW9uID0gU3lzdGVtLkFjdGlvbigKICAgICAgICAgICAgbGFtYmRhOiBnaGVudi5Db21wb25lbnQuQWRkUnVudGltZU1lc3NhZ2UoUk1MLldhcm5pbmcsIGV4Y2VwdGlvbikKICAgICAgICApCiAgICAgICAgUmhpbm8uUmhpbm9BcHAuSW52b2tlT25VaVRocmVhZChhY3Rpb24pCgogICAgZGVmIGFkZF9ydW50aW1lX2Vycm9yKHNlbGYsIGV4Y2VwdGlvbiA6IHN0cik6CiAgICAgICAgIiIiIEFkZCBhbiBlcnJvciB0YWIgdG8gdGhlIGNvbXBvbmVudCBmcm9tIG1haW4gdGhyZWFkLiAiIiIKICAgICAgICBhY3Rpb24gPSBTeXN0ZW0uQWN0aW9uKAogICAgICAgICAgICBsYW1iZGE6IGdoZW52LkNvbXBvbmVudC5BZGRSdW50aW1lTWVzc2FnZShSTUwuRXJyb3IsIGV4Y2VwdGlvbikKICAgICAgICApCiAgICAgICAgUmhpbm8uUmhpbm9BcHAuSW52b2tlT25VaVRocmVhZChhY3Rpb24pCgogICAgZGVmIGFkZF9ydW50aW1lX3JlbWFyayhzZWxmLCBleGNlcHRpb24gOiBzdHIpOgogICAgICAgICIiIiBBZGQgYSBibGFuayB0YWIgdG8gdGhlIGNvbXBvbmVudCBmcm9tIG1haW4gdGhyZWFkLiAiIiIKICAgICAgICBhY3Rpb24gPSBTeXN0ZW0uQWN0aW9uKAogICAgICAgICAgICBsYW1iZGE6IGdoZW52LkNvbXBvbmVudC5BZGRSdW50aW1lTWVzc2FnZShSTUwuUmVtYXJrLCBleGNlcHRpb24pCiAgICAgICAgKQogICAgICAgIFJoaW5vLlJoaW5vQXBwLkludm9rZU9uVWlUaHJlYWQoYWN0aW9uKQoKICAgIEBwcm9wZXJ0eQogICAgZGVmIGNvbXBvbmVudF9lbmFibGVkKHNlbGYpOgogICAgICAgIHNlbGYuX2NoZWNrX2lmX2NvbXBvbmVudF9lbmFibGVkKCkKICAgICAgICByZXR1cm4gc2VsZi5fY29tcG9uZW50X2VuYWJsZWQKCiAgICBAcHJvcGVydHkKICAgIGRlZiBjb21wb25lbnRfb25fY2FudmFzKHNlbGYpOgogICAgICAgIHNlbGYuX2NoZWNrX2lmX2NvbXBvbmVudF9vbl9jYW52YXMoKQogICAgICAgIHJldHVybiBzZWxmLl9jb21wb25lbnRfb25fY2FudmFzCgpjbGFzcyBDbGllbnRUaHJlYWQoR0hUaHJlYWQpOgogICAgIiIiCiAgICBBIHRocmVhZCB0byBjb25uZWN0IHRvIHRoZSBWU0NvZGUgc2VydmVyLgogICAgIiIiCiAgICBkZWYgX19pbml0X18oc2VsZiwgdnNjb2RlX3NlcnZlcl9pcDogc3RyLCB2c2NvZGVfc2VydmVyX3BvcnQ6IGludCwgbmFtZTogc3RyLAogICAgICAgICAgICAgICAgIHF1ZXVlX21zZzogcXVldWUuUXVldWUgPSBOb25lLCBsb2NrX3F1ZXVlX21zZzogdGhyZWFkaW5nLkxvY2sgPSBOb25lLAogICAgICAgICAgICAgICAgIGV2ZW50X2ZpcmVfbXNnOiB0aHJlYWRpbmcuRXZlbnQgPSBOb25lKToKICAgICAgICBzdXBlcigpLl9faW5pdF9fKG5hbWU9bmFtZSkKICAgICAgICBzZWxmLnZzY29kZV9zZXJ2ZXJfaXAgPSB2c2NvZGVfc2VydmVyX2lwCiAgICAgICAgc2VsZi52c2NvZGVfc2VydmVyX3BvcnQgPSB2c2NvZGVfc2VydmVyX3BvcnQKICAgICAgICBzZWxmLmlzX2Nvbm5lY3RlZCA9IEZhbHNlCiAgICAgICAgc2VsZi5jb25uZWN0X3JlZnJlc2hfcmF0ZSA9IDEgICMgc2Vjb25kcwogICAgICAgIHNlbGYucXVldWVfbXNnID0gcXVldWVfbXNnCiAgICAgICAgc2VsZi5sb2NrX3F1ZXVlX21zZyA9IGxvY2tfcXVldWVfbXNnCiAgICAgICAgc2VsZi5ldmVudF9maXJlX21zZyA9IGV2ZW50X2ZpcmVfbXNnCiAgICAgICAgc2VsZi5jbGllbnRfc29ja2V0ID0gc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCwgc29ja2V0LlNPQ0tfU1RSRUFNKQoKICAgIGRlZiBydW4oc2VsZik6CiAgICAgICAgIiIiIFJ1biB0aGUgdGhyZWFkLiBTZW5kIHRoZSBtZXNzYWdlIHRvIHRoZSB2c2NvZGUgc2VydmVyLiIiIgogICAgICAgIHdoaWxlIHNlbGYuY29tcG9uZW50X29uX2NhbnZhcyBhbmQgc2VsZi5jb21wb25lbnRfZW5hYmxlZDoKICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgaWYgbm90IHNlbGYuaXNfY29ubmVjdGVkOgogICAgICAgICAgICAgICAgICAgIHNlbGYuY29ubmVjdF90b192c2NvZGVfc2VydmVyKCkKICAgICAgICAgICAgICAgICAgICBzZWxmLmNsZWFyX2NvbXBvbmVudCgpCiAgICAgICAgICAgICAgICAgICAgc2VsZi5leHBpcmVfY29tcG9uZW50X3NvbHV0aW9uKCkKICAgICAgICAgICAgICAgICAgICBjb250aW51ZQoKICAgICAgICAgICAgICAgIHNlbGYuZXZlbnRfZmlyZV9tc2cud2FpdCgpCiAgICAgICAgICAgICAgICBzZWxmLnNlbmRfbWVzc2FnZV9mcm9tX3F1ZXVlKCkKCiAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgICAgIHNlbGYuYWRkX3J1bnRpbWVfd2FybmluZyhmInNjcmlwdC1zeW5jOjpVbmtvd24gZXJyb3IgZnJvbSBydW46IHtzdHIoZSl9IikKICAgICAgICAgICAgICAgIHNlbGYuaXNfY29ubmVjdGVkID0gRmFsc2UKICAgICAgICAgICAgICAgIHNlbGYuY2xpZW50X3NvY2tldCA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQsIHNvY2tldC5TT0NLX1NUUkVBTSkKCiAgICAgICAgc2VsZi5jbGllbnRfc29ja2V0LmNsb3NlKCkKCiAgICBkZWYgc2VuZF9tZXNzYWdlX2Zyb21fcXVldWUoc2VsZik6CiAgICAgICAgd2l0aCBzZWxmLmxvY2tfcXVldWVfbXNnOgogICAgICAgICAgICBpZiBzZWxmLnF1ZXVlX21zZyBhbmQgbm90IHNlbGYucXVldWVfbXNnLmVtcHR5KCk6CiAgICAgICAgICAgICAgICBtc2cgPSBzZWxmLnF1ZXVlX21zZy5nZXQoKQogICAgICAgICAgICAgICAgc2VsZi5xdWV1ZV9tc2cudGFza19kb25lKCkKICAgICAgICAgICAgICAgIHNlbGYuZXZlbnRfZmlyZV9tc2cuc2V0KCkKICAgICAgICAgICAgICAgIHNlbGYuZXZlbnRfZmlyZV9tc2cuY2xlYXIoKQogICAgICAgICAgICAgICAgc2VsZi5jbGllbnRfc29ja2V0LnNlbmQobXNnKQoKICAgIGRlZiBjb25uZWN0X3RvX3ZzY29kZV9zZXJ2ZXIoc2VsZik6CiAgICAgICAgIiIiIENvbm5lY3QgdG8gdGhlIFZTQ29kZSBzZXJ2ZXIuICIiIgogICAgICAgIHdoaWxlIHNlbGYuY29tcG9uZW50X29uX2NhbnZhcyBhbmQgbm90IHNlbGYuaXNfY29ubmVjdGVkOgogICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICBzZWxmLmNsaWVudF9zb2NrZXQuc2VuZChiIiIpCiAgICAgICAgICAgICAgICBzZWxmLmlzX2Nvbm5lY3RlZCA9IFRydWUKICAgICAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvcjoKICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICBzZWxmLmNsaWVudF9zb2NrZXQuY29ubmVjdCgoc2VsZi52c2NvZGVfc2VydmVyX2lwLCBzZWxmLnZzY29kZV9zZXJ2ZXJfcG9ydCkpCiAgICAgICAgICAgICAgICAgICAgc2VsZi5pc19jb25uZWN0ZWQgPSBUcnVlCiAgICAgICAgICAgICAgICBleGNlcHQgKENvbm5lY3Rpb25SZWZ1c2VkRXJyb3IsIENvbm5lY3Rpb25SZXNldEVycm9yLCBzb2NrZXQuZXJyb3IpIGFzIGU6CiAgICAgICAgICAgICAgICAgICAgc2VsZi5oYW5kbGVfY29ubmVjdGlvbl9lcnJvcihlKQogICAgICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICAgICAgdGltZS5zbGVlcChzZWxmLmNvbm5lY3RfcmVmcmVzaF9yYXRlKQoKICAgIGRlZiBoYW5kbGVfY29ubmVjdGlvbl9lcnJvcihzZWxmLCBlKToKICAgICAgICBlcnJvcl9tZXNzYWdlcyA9IHsKICAgICAgICAgICAgQ29ubmVjdGlvblJlZnVzZWRFcnJvcjogInNjcmlwdC1zeW5jOjpDb25uZWN0aW9uIHJlZnVzZWQgYnkgdGhlIHZzY29kZSIsCiAgICAgICAgICAgIENvbm5lY3Rpb25SZXNldEVycm9yOiAic2NyaXB0LXN5bmM6OkNvbm5lY3Rpb24gd2FzIGZvcmNpYmx5IGNsb3NlZCBieSB0aGUgdnNjb2RlIiwKICAgICAgICAgICAgc29ja2V0LmVycm9yOiBmInNjcmlwdC1zeW5jOjpFcnJvciBjb25uZWN0aW5nIHRvIHRoZSB2c2NvZGU6IHtzdHIoZSl9IgogICAgICAgIH0KICAgICAgICBzZWxmLmFkZF9ydW50aW1lX3dhcm5pbmcoZXJyb3JfbWVzc2FnZXNbdHlwZShlKV0pCiAgICAgICAgc2VsZi5pc19jb25uZWN0ZWQgPSBGYWxzZSBpZiB0eXBlKGUpICE9IHNvY2tldC5lcnJvciBvciBlLndpbmVycm9yICE9IDEwMDU2IGVsc2UgVHJ1ZQoKY2xhc3MgRmlsZUNoYW5nZWRUaHJlYWQoR0hUaHJlYWQpOgogICAgIiIiCiAgICAgICAgQSB0aHJlYWQgdG8gY2hlY2sgaWYgdGhlIGZpbGUgaGFzIGNoYW5nZWQgb24gZGlzay4KICAgICIiIgogICAgZGVmIF9faW5pdF9fKHNlbGYsCiAgICAgICAgICAgICAgICBwYXRoIDogc3RyLAogICAgICAgICAgICAgICAgbmFtZSA6IHN0cgogICAgICAgICAgICAgICAgKToKICAgICAgICBzdXBlcigpLl9faW5pdF9fKG5hbWU9bmFtZSkKICAgICAgICBzZWxmLnBhdGggPSBwYXRoCiAgICAgICAgc2VsZi5yZWZyZXNoX3JhdGUgPSAxMDAwICAjIG1pbGxpc2Vjb25kcwogICAgICAgIHNlbGYuX29uX2ZpbGVfY2hhbmdlZCA9IHRocmVhZGluZy5FdmVudCgpCgogICAgZGVmIHJ1bihzZWxmKToKICAgICAgICAiIiIKICAgICAgICAgICAgQ2hlY2sgaWYgdGhlIGZpbGUgaGFzIGNoYW5nZWQgb24gZGlzay4KICAgICAgICAiIiIKICAgICAgICBsYXN0X21vZGlmaWVkID0gb3MucGF0aC5nZXRtdGltZShzZWxmLnBhdGgpCiAgICAgICAgd2hpbGUgc2VsZi5jb21wb25lbnRfb25fY2FudmFzIGFuZCBub3Qgc2VsZi5fb25fZmlsZV9jaGFuZ2VkLmlzX3NldCgpOgogICAgICAgICAgICBTeXN0ZW0uVGhyZWFkaW5nLlRocmVhZC5TbGVlcChzZWxmLnJlZnJlc2hfcmF0ZSkKICAgICAgICAgICAgbGFzdF9tb2RpZmllZCA9IHNlbGYuaXNfZmlsZV9tb2RpZmllZChsYXN0X21vZGlmaWVkKQogICAgICAgIHNlbGYuX29uX2ZpbGVfY2hhbmdlZC5jbGVhcigpCiAgICAgICAgcmV0dXJuCgogICAgZGVmIHN0b3Aoc2VsZik6CiAgICAgICAgIiIiIFN0b3AgdGhlIHRocmVhZC4gIiIiCiAgICAgICAgc2VsZi5fb25fZmlsZV9jaGFuZ2VkLnNldCgpCgogICAgZGVmIGlzX2ZpbGVfbW9kaWZpZWQoc2VsZiwgbGFzdF9tb2RpZmllZCk6CiAgICAgICAgY3VycmVudF9tb2RpZmllZCA9IG9zLnBhdGguZ2V0bXRpbWUoc2VsZi5wYXRoKQogICAgICAgIGlmIGN1cnJlbnRfbW9kaWZpZWQgIT0gbGFzdF9tb2RpZmllZDoKICAgICAgICAgICAgc2VsZi5leHBpcmVfY29tcG9uZW50X3NvbHV0aW9uKCkKICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRfbW9kaWZpZWQKICAgICAgICByZXR1cm4gbGFzdF9tb2RpZmllZAoKCmNsYXNzIFNjcmlwdFN5bmNDUHkoY29tcG9uZW50KToKICAgIGRlZiBfX2luaXRfXyhzZWxmKToKICAgICAgICBzdXBlcihTY3JpcHRTeW5jQ1B5LCBzZWxmKS5fX2luaXRfXygpCiAgICAgICAgc2VsZi5fdmFyX291dHB1dCA9IFtdCgogICAgICAgIHNlbGYuaXNfc3VjY2VzcyA9IEZhbHNlCgogICAgICAgIHNlbGYuY2xpZW50X3RocmVhZF9uYW1lIDogc3RyID0gZiJzY3JpcHQtc3luYy1jbGllbnQtdGhyZWFkOjp7Z2hlbnYuQ29tcG9uZW50Lkluc3RhbmNlR3VpZH0iCiAgICAgICAgc2VsZi52c2NvZGVfc2VydmVyX2lwID0gIjEyNy4wLjAuMSIKICAgICAgICBzZWxmLnZzY29kZV9zZXJ2ZXJfcG9ydCA9IDU4MjYwCiAgICAgICAgc2VsZi5zdGRvdXQgPSBOb25lCiAgICAgICAgc2VsZi5xdWV1ZV9tc2cgPSBxdWV1ZS5RdWV1ZSgpCiAgICAgICAgc2VsZi5xdWV1ZV9tc2dfbG9jayA9IHRocmVhZGluZy5Mb2NrKCkKICAgICAgICBzZWxmLmV2ZW50X2ZpcmVfbXNnID0gdGhyZWFkaW5nLkV2ZW50KCkKCiAgICAgICAgc2VsZi5maWxlY2hhbmdlZF90aHJlYWRfbmFtZSA6IHN0ciA9IGYic2NyaXB0LXN5bmMtZmlsZUNoYW5nZWQtdGhyZWFkOjp7Z2hlbnYuQ29tcG9uZW50Lkluc3RhbmNlR3VpZH0iCiAgICAgICAgc2VsZi5fX3BhdGhfbmFtZV90YWJsZV92YWx1ZSA9ICJzY3JpcHQtc3luYzo6IiArICJwYXRoOjoiICsgc3RyKGdoZW52LkNvbXBvbmVudC5JbnN0YW5jZUd1aWQpCiAgICAgICAgaWYgc2VsZi5wYXRoIGlzIE5vbmU6CiAgICAgICAgICAgIGdoZW52LkNvbXBvbmVudC5NZXNzYWdlID0gInNlbGVjdC1zY3JpcHQiCgogICAgZGVmIFJlbW92ZWRGcm9tRG9jdW1lbnQoc2VsZiwgZG9jKToKICAgICAgICAiIiIgUmVtb3ZlIHRoZSBjb21wb25lbnQgZnJvbSB0aGUgZG9jdW1lbnQuICIiIgogICAgICAgIGlmIHNlbGYuY2xpZW50X3RocmVhZF9uYW1lIGluIFt0Lm5hbWUgZm9yIHQgaW4gdGhyZWFkaW5nLmVudW1lcmF0ZSgpXToKICAgICAgICAgICAgY2xpZW50X3RocmVhZCA9IFt0IGZvciB0IGluIHRocmVhZGluZy5lbnVtZXJhdGUoKSBpZiB0Lm5hbWUgPT0gc2VsZi5jbGllbnRfdGhyZWFkX25hbWVdWzBdCiAgICAgICAgICAgIGNsaWVudF90aHJlYWQuam9pbigpCiAgICAgICAgaWYgc2VsZi5maWxlY2hhbmdlZF90aHJlYWRfbmFtZSBpbiBbdC5uYW1lIGZvciB0IGluIHRocmVhZGluZy5lbnVtZXJhdGUoKV06CiAgICAgICAgICAgIGZpbGVjaGFuZ2VkX3RocmVhZCA9IFt0IGZvciB0IGluIHRocmVhZGluZy5lbnVtZXJhdGUoKSBpZiB0Lm5hbWUgPT0gc2VsZi5maWxlY2hhbmdlZF90aHJlYWRfbmFtZV1bMF0KICAgICAgICAgICAgZmlsZWNoYW5nZWRfdGhyZWFkLmpvaW4oKQogICAgICAgIGlmIHNlbGYucXVldWVfbXNnIGlzIG5vdCBOb25lOgogICAgICAgICAgICBzZWxmLnF1ZXVlX21zZy5qb2luKCkKICAgICAgICBpZiBzZWxmLnF1ZXVlX21zZ19sb2NrIGlzIG5vdCBOb25lOgogICAgICAgICAgICBzZWxmLnF1ZXVlX21zZ19sb2NrLnJlbGVhc2UoKQogICAgICAgIGlmIHNlbGYuZXZlbnRfZmlyZV9tc2cgaXMgbm90IE5vbmU6CiAgICAgICAgICAgIHNlbGYuZXZlbnRfZmlyZV9tc2cuY2xlYXIoKQoKICAgICAgICAjIGNsZWFyIHRoZSBwYXRoIGZyb20gdGhlIHRhYmxlIHZpZXcKICAgICAgICBkZWwgc2VsZi5wYXRoCgogICAgZGVmIGluaXRfc2NyaXB0X3BhdGgoc2VsZiwgYnRuIDogYm9vbCA9IEZhbHNlKToKICAgICAgICAiIiIKICAgICAgICAgICAgQ2hlY2sgaWYgdGhlIGJ1dHRvbiBpcyBwcmVzc2VkIGFuZCBsb2FkL2NoYW5nZSBwYXRoIHNjcmlwdC4KICAgICAgICAgICAgCiAgICAgICAgICAgIDpwYXJhbSBidG46IEEgYm9vbGVhbiBvZiB0aGUgYnV0dG9uCiAgICAgICAgIiIiCiAgICAgICAgIyBjaGVjayBpZiBidXR0b24gaXMgcHJlc3NlZAogICAgICAgIGlmIGJ0biBpcyBUcnVlOgogICAgICAgICAgICBkaWFsb2cgPSBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5PcGVuRmlsZURpYWxvZygpCiAgICAgICAgICAgIGRpYWxvZy5GaWx0ZXIgPSAiUHl0aG9uIGZpbGVzICgqLnB5KXwqLnB5IgogICAgICAgICAgICBkaWFsb2cuVGl0bGUgPSAiU2VsZWN0IGEgUHl0aG9uIGZpbGUiCiAgICAgICAgICAgIGRpYWxvZy5Jbml0aWFsRGlyZWN0b3J5ID0gb3MucGF0aC5kaXJuYW1lKCIiKQogICAgICAgICAgICBkaWFsb2cuRmlsZU5hbWUgPSAiIgogICAgICAgICAgICBkaWFsb2cuTXVsdGlzZWxlY3QgPSBGYWxzZQogICAgICAgICAgICBkaWFsb2cuQ2hlY2tGaWxlRXhpc3RzID0gVHJ1ZQogICAgICAgICAgICBkaWFsb2cuQ2hlY2tQYXRoRXhpc3RzID0gVHJ1ZQogICAgICAgICAgICBkaWFsb2cuUmVzdG9yZURpcmVjdG9yeSA9IFRydWUKICAgICAgICAgICAgaWYgZGlhbG9nLlNob3dEaWFsb2coKSA9PSBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5EaWFsb2dSZXN1bHQuT0s6CiAgICAgICAgICAgICAgICBzZWxmLnBhdGggPSBkaWFsb2cuRmlsZU5hbWUKCiAgICAgICAgIyBkZWZhdWx0IGluaXQgc3RhdXRzCiAgICAgICAgaWYgc2VsZi5wYXRoIGlzIE5vbmU6CiAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigic2NyaXB0LXN5bmM6OkZpbGUgbm90IHNlbGVjdGVkIikKCiAgICAgICAgIyBmaSBmaWxlIGlzIGluIHRhYmxlIHZpZXcgYmVmb3JlCiAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKHNlbGYucGF0aCk6CiAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigic2NyaXB0LXN5bmM6OkZpbGUgZG9lcyBub3QgZXhpc3QiKQogICAgCiAgICBkZWYgcmVsb2FkX2FsbF9tb2R1bGVzKHNlbGYsIGRpcmVjdG9yeSk6CiAgICAgICAgZm9yIGZpbGVuYW1lIGluIG9zLmxpc3RkaXIoZGlyZWN0b3J5KToKICAgICAgICAgICAgaWYgZmlsZW5hbWUuZW5kc3dpdGgoJy5weScpIGFuZCBmaWxlbmFtZSAhPSAnX19pbml0X18ucHknOgogICAgICAgICAgICAgICAgbW9kdWxlX25hbWUgPSBmaWxlbmFtZVs6LTNdICAjIHJlbW92ZSAnLnB5JyBmcm9tIGZpbGVuYW1lCiAgICAgICAgICAgICAgICBpZiBtb2R1bGVfbmFtZSBpbiBzeXMubW9kdWxlczoKICAgICAgICAgICAgICAgICAgICBpbXBvcnRsaWIucmVsb2FkKHN5cy5tb2R1bGVzW21vZHVsZV9uYW1lXSkKCiAgICBkZWYgc2FmZV9leGVjKHNlbGYsIHBhdGgsIGdsb2JhbHMsIGxvY2FscywgcGFja2FnZXNfMl9yZWxvYWQpOgogICAgICAgICIiIgogICAgICAgICAgICBFeGVjdXRlIFB5dGhvbjMgY29kZSBzYWZlbHkuIEl0IHJlZGlyZWN0cyB0aGUgb3V0cHV0IG9mIHRoZSBjb2RlCiAgICAgICAgICAgIHRvIGEgc3RyaW5nIGJ1ZmZlciAnc3Rkb3V0JyB0byBvdXRwdXQgdG8gdGhlIEdIIGNvbXBvbmVudCBwYXJhbS4KICAgICAgICAgICAgSXQgaXMgc2VuZCB0byB0aGUgdnNjb2RlIHNlcnZlci4KICAgICAgICAgICAgCiAgICAgICAgICAgIDpwYXJhbSBwYXRoOiBUaGUgcGF0aCBvZiB0aGUgZmlsZSB0byBleGVjdXRlLgogICAgICAgICAgICA6cGFyYW0gZ2xvYmFsczogVGhlIGdsb2JhbHMgZGljdGlvbmFyeS4KICAgICAgICAgICAgOnBhcmFtIGxvY2FsczogVGhlIGxvY2FscyBkaWN0aW9uYXJ5LgogICAgICAgICAgICA6cGFyYW0gcGFja2FnZXNfMl9yZWxvYWQ6IFRoZSBsaXN0IG9mIHBhY2thZ2VzIHRvIHJlbG9hZCwgdGhpcyBpcyB1c2VkIGZvciBjdXN0b20gcGFja2FnZXMgZGV2ZWxvcGVtZW50LgogICAgICAgICAgICBpbnN0YWxsZWQgb24gdGhlIHN5c3RlbSB2aWEgYW4gZWRpdGFibGUgcGlwIGluc3RhbGxhdGlvbiBmb3IgZXhhbXBsZS4KICAgICAgICAiIiIKICAgICAgICB0cnk6CiAgICAgICAgICAgIHdpdGggb3BlbihwYXRoLCAncicpIGFzIGY6CiAgICAgICAgICAgICAgICAjIHJlbG9hZCB0aGUgc3BlY2lmeWVkIHBhY2thZ2VzCiAgICAgICAgICAgICAgICBpZiBwYWNrYWdlc18yX3JlbG9hZCBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICAgICBpZiBwYWNrYWdlc18yX3JlbG9hZC5fX2xlbl9fKCkgIT0gMDoKICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHBhY2thZ2UgaW4gcGFja2FnZXNfMl9yZWxvYWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3Iga2V5IGluIGxpc3Qoc3lzLm1vZHVsZXMua2V5cygpKToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBwYWNrYWdlIGluIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2NoZWNrIHRoYXQgdGhlIHBhY2thZ2UgbXVzdCBoYXZlIHRoZSBhdHRyaWJ1dGUgX19wYXRoX18KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgaGFzYXR0cihzeXMubW9kdWxlc1trZXldLCAnX19maWxlX18nKToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50KHN5cy5tb2R1bGVzW2tleV0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbXBvcnRsaWIucmVsb2FkKHN5cy5tb2R1bGVzW2tleV0pCgogICAgICAgICAgICAgICAgIyBhZGQgdGhlIHBhdGggYW5kIHN1YiBkaXJlY3RvcmllcyB0byAgdGhlIHN5cyBwYXRoCiAgICAgICAgICAgICAgICBwYXRoX2RpciA9IG9zLnBhdGguZGlybmFtZShwYXRoKQogICAgICAgICAgICAgICAgc3ViX2RpcnMgPSBbXQogICAgICAgICAgICAgICAgZm9yIHJvb3QsIGRpcnMsIGZpbGVzIGluIG9zLndhbGsocGF0aF9kaXIpOgogICAgICAgICAgICAgICAgICAgIGZvciBkIGluIGRpcnM6CiAgICAgICAgICAgICAgICAgICAgICAgIHN1Yl9kaXJzLmFwcGVuZChvcy5wYXRoLmpvaW4ocm9vdCwgZCkpCiAgICAgICAgICAgICAgICBzeXMucGF0aC5leHRlbmQoW3BhdGhfZGlyXSArIHN1Yl9kaXJzKQoKICAgICAgICAgICAgICAgICMgcmVsb2FkIGFsbCB0aGUgbW9kdWxlcyBhbHNvIG9mIHRoZSBzdWIgZGlyZWN0b3JpZXMKICAgICAgICAgICAgICAgIGZvciByb290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKHBhdGhfZGlyKToKICAgICAgICAgICAgICAgICAgICBmb3IgZCBpbiBkaXJzOgogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnJlbG9hZF9hbGxfbW9kdWxlcyhvcy5wYXRoLmpvaW4ocm9vdCwgZCkpCiAgICAgICAgICAgICAgICBzZWxmLnJlbG9hZF9hbGxfbW9kdWxlcyhwYXRoX2RpcikKCiAgICAgICAgICAgICAgICAjIHJlZnJlc2ggdGhlIHB5dGhvbiBpbnRlcnByZXRlcgogICAgICAgICAgICAgICAgaW1wb3J0bGliLmludmFsaWRhdGVfY2FjaGVzKCkKCiAgICAgICAgICAgICAgICAjIHBhcnNlIHRoZSBjb2RlCiAgICAgICAgICAgICAgICBjb2RlID0gY29tcGlsZShmLnJlYWQoKSwgcGF0aCwgJ2V4ZWMnKQogICAgICAgICAgICAgICAgb3V0cHV0ID0gaW8uU3RyaW5nSU8oKQoKICAgICAgICAgICAgICAgICMgZW1wdHkgdGhlIHF1ZXVlIGFuZCBldmVudAogICAgICAgICAgICAgICAgd2l0aCBzZWxmLnF1ZXVlX21zZ19sb2NrOgogICAgICAgICAgICAgICAgICAgIHdoaWxlIG5vdCBzZWxmLnF1ZXVlX21zZy5lbXB0eSgpOgogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnF1ZXVlX21zZy5nZXQoKQogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnF1ZXVlX21zZy50YXNrX2RvbmUoKQogICAgICAgICAgICAgICAgc2VsZi5ldmVudF9maXJlX21zZy5jbGVhcigpCgogICAgICAgICAgICAgICAgIyBleGVjdXRlIHRoZSBjb2RlCiAgICAgICAgICAgICAgICB3aXRoIGNvbnRleHRsaWIucmVkaXJlY3Rfc3Rkb3V0KG91dHB1dCk6CiAgICAgICAgICAgICAgICAgICAgZXhlYyhjb2RlLCBnbG9iYWxzLCBsb2NhbHMpCiAgICAgICAgICAgICAgICBsb2NhbHNbInN0ZG91dCJdID0gb3V0cHV0LmdldHZhbHVlKCkKCiAgICAgICAgICAgICAgICAjIHNlbmQgdGhlIG1zZyB0byB0aGUgdnNjb2RlIHNlcnZlcgogICAgICAgICAgICAgICAgbXNnX2pzb24gPSBqc29uLmR1bXBzKHsic2NyaXB0X3BhdGgiOiBwYXRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ3VpZCI6IHN0cihnaGVudi5Db21wb25lbnQuSW5zdGFuY2VHdWlkKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1zZyI6IG91dHB1dC5nZXR2YWx1ZSgpfSkKICAgICAgICAgICAgICAgIG1zZ19qc29uID0gbXNnX2pzb24uZW5jb2RlKCd1dGYtOCcpCiAgICAgICAgICAgICAgICBzZWxmLnF1ZXVlX21zZy5wdXQobXNnX2pzb24pCiAgICAgICAgICAgICAgICBzZWxmLmV2ZW50X2ZpcmVfbXNnLnNldCgpCgogICAgICAgICAgICAgICAgIyBwYXNzIHRoZSBzY3JpcHQgdmFyaWFibGVzIHRvIHRoZSBHSCBjb21wb25lbnQgb3V0cHV0cwogICAgICAgICAgICAgICAgb3V0cGFyYW0gPSBnaGVudi5Db21wb25lbnQuUGFyYW1zLk91dHB1dAogICAgICAgICAgICAgICAgb3V0cGFyYW1fbmFtZXMgPSBbcC5OaWNrTmFtZSBmb3IgcCBpbiBvdXRwYXJhbV0KICAgICAgICAgICAgICAgIGZvciBvdXRwIGluIG91dHBhcmFtX25hbWVzOgogICAgICAgICAgICAgICAgICAgIGlmIG91dHAgaW4gbG9jYWxzLmtleXMoKToKICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fdmFyX291dHB1dC5hcHBlbmQobG9jYWxzW291dHBdKQogICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3Zhcl9vdXRwdXQuYXBwZW5kKE5vbmUpCgogICAgICAgICAgICAgICAgc3lzLnN0ZG91dCA9IHN5cy5fX3N0ZG91dF9fCiAgICAgICAgICAgIHJldHVybiBsb2NhbHMKCiAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgoKICAgICAgICAgICAgIyBzZW5kIHRoZSBlcnJvciBtZXNzYWdlIHRvIHRoZSB2c2NvZGUgc2VydmVyCiAgICAgICAgICAgIGVycl9qc29uID0ganNvbi5kdW1wcyh7InNjcmlwdF9wYXRoIjogcGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImd1aWQiOiBzdHIoZ2hlbnYuQ29tcG9uZW50Lkluc3RhbmNlR3VpZCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtc2ciOiAiZXJyOiIgKyBzdHIoZSl9KQogICAgICAgICAgICBlcnJfanNvbiA9IGVycl9qc29uLmVuY29kZSgndXRmLTgnKQogICAgICAgICAgICBzZWxmLnF1ZXVlX21zZy5wdXQoZXJyX2pzb24pCiAgICAgICAgICAgIHNlbGYuZXZlbnRfZmlyZV9tc2cuc2V0KCkKICAgICAgICAgICAgCiAgICAgICAgICAgIHN5cy5zdGRvdXQgPSBzeXMuX19zdGRvdXRfXwoKICAgICAgICAgICAgZXJyX21zZyA9IGYic2NyaXB0LXN5bmM6OkVycm9yIGluIHRoZSBjb2RlOiB7c3RyKGUpfSIKICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKGVycl9tc2cpCgogICAgZGVmIFJ1blNjcmlwdChzZWxmLAogICAgICAgICAgICBidG46IGJvb2wsCiAgICAgICAgICAgIHBhY2thZ2VzXzJfcmVsb2FkOiBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5JTGlzdFtvYmplY3RdLAogICAgICAgICAgICBpX21lc2g6IFJoaW5vLkdlb21ldHJ5Lk1lc2gsCiAgICAgICAgICAgIGlfcG9pbnRzOiBpbnQpOgogICAgICAgICIiIiBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgd2hlbmV2ZXIgdGhlIGNvbXBvbmVudCBoYXMgdG8gYmUgcmVjYWxjdWxhdGVkIGl0J3MgdGhlIHNvbHZlIG1haW4gaW5zdGFuY2UuICIiIgogICAgICAgIHNlbGYuaXNfc3VjY2VzcyA9IEZhbHNlCiAgICAgICAgCiAgICAgICAgIyBzZXQgdGhlIHBhdGggaWYgYnV0dG9uIGlzIHByZXNzZWQKICAgICAgICBzZWxmLmluaXRfc2NyaXB0X3BhdGgoYnRuKQoKICAgICAgICAjIGZpbGUgY2hhbmdlIGxpc3RlbmVyIHRocmVhZAogICAgICAgIGlmIHNlbGYuZmlsZWNoYW5nZWRfdGhyZWFkX25hbWUgbm90IGluIFt0Lm5hbWUgZm9yIHQgaW4gdGhyZWFkaW5nLmVudW1lcmF0ZSgpXToKICAgICAgICAgICAgRmlsZUNoYW5nZWRUaHJlYWQoc2VsZi5wYXRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmZpbGVjaGFuZ2VkX3RocmVhZF9uYW1lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkuc3RhcnQoKQoKICAgICAgICAjIHNldCB1cCB0aGUgdGNwIGNsaWVudCB0byBjb25uZWN0IHRvIHRoZSB2c2NvZGUgc2VydmVyCiAgICAgICAgXyA9IFtwcmludCh0Lm5hbWUpIGZvciB0IGluIHRocmVhZGluZy5lbnVtZXJhdGUoKV0KICAgICAgICBpZiBzZWxmLmNsaWVudF90aHJlYWRfbmFtZSBub3QgaW4gW3QubmFtZSBmb3IgdCBpbiB0aHJlYWRpbmcuZW51bWVyYXRlKCldOgogICAgICAgICAgICBDbGllbnRUaHJlYWQoc2VsZi52c2NvZGVfc2VydmVyX2lwLAogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnZzY29kZV9zZXJ2ZXJfcG9ydCwKICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5jbGllbnRfdGhyZWFkX25hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucXVldWVfbXNnLAogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnF1ZXVlX21zZ19sb2NrLAogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmV2ZW50X2ZpcmVfbXNnCiAgICAgICAgICAgICAgICAgICAgICAgICkuc3RhcnQoKQoKICAgICAgICAjIGFkZCB0byB0aGUgZ2xvYmFscyBhbGwgdGhlIGlucHV0IHBhcmFtZXRlcnMgb2YgdGhlIGNvbXBvbmVudCAodGhlIGxvY2FscykKICAgICAgICBnbG9iYWxzKCkudXBkYXRlKGxvY2FscygpKQoKICAgICAgICByZXMgPSBzZWxmLnNhZmVfZXhlYyhzZWxmLnBhdGgsIE5vbmUsIGdsb2JhbHMoKSwgcGFja2FnZXNfMl9yZWxvYWQpCiAgICAgICAgc2VsZi5pc19zdWNjZXNzID0gVHJ1ZQogICAgICAgIHJldHVybgoKICAgIGRlZiBBZnRlclJ1blNjcmlwdChzZWxmKToKICAgICAgICAiIiIKICAgICAgICAgICAgVGhpcyBtZXRob2QgaXMgY2FsbGVkIGFzIHNvb24gYXMgdGhlIGNvbXBvbmVudCBoYXMgZmluaXNoZWQKICAgICAgICAgICAgaXRzIGNhbGN1bGF0aW9uLiBJdCBpcyB1c2VkIHRvIGxvYWQgdGhlIEdIQ29tcG9uZW50IG91dHB1dHMKICAgICAgICAgICAgd2l0aCB0aGUgdmFsdWVzIGNyZWF0ZWQgaW4gdGhlIHNjcmlwdC4KICAgICAgICAiIiIKICAgICAgICBpZiBub3Qgc2VsZi5pc19zdWNjZXNzOgogICAgICAgICAgICByZXR1cm4KICAgICAgICBvdXRwYXJhbSA9IFtwIGZvciBwIGluIGdoZW52LkNvbXBvbmVudC5QYXJhbXMuT3V0cHV0XQogICAgICAgIG91dHBhcmFtX25hbWVzID0gW3AuTmlja05hbWUgZm9yIHAgaW4gb3V0cGFyYW1dCiAgICAgICAgCiAgICAgICAgIyBUT0RPOiBhZGQgdGhlIGNvbnZlcnNpb24gdG8gZGF0YXRyZWUgZm9yIG5lc3RlZCBsaXN0cyBhbmQgdHVwbGVzCiAgICAgICAgZm9yIGlkeCwgb3V0cCBpbiBlbnVtZXJhdGUob3V0cGFyYW0pOgogICAgICAgICAgICAjIGRldGVjdCBpZiB0aGUgb3V0cHV0IGlzIGEgbGlzdAogICAgICAgICAgICBpZiB0eXBlKHNlbGYuX3Zhcl9vdXRwdXRbaWR4XSkgPT0gbGlzdCBvciB0eXBlKHNlbGYuX3Zhcl9vdXRwdXRbaWR4XSkgPT0gdHVwbGU6CiAgICAgICAgICAgICAgICBnaGVudi5Db21wb25lbnQuUGFyYW1zLk91dHB1dFtpZHhdLlZvbGF0aWxlRGF0YS5DbGVhcigpCiAgICAgICAgICAgICAgICBnaGVudi5Db21wb25lbnQuUGFyYW1zLk91dHB1dFtpZHhdLkFkZFZvbGF0aWxlRGF0YUxpc3QoZ2guS2VybmVsLkRhdGEuR0hfUGF0aCgwKSwgc2VsZi5fdmFyX291dHB1dFtpZHhdKQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgZ2hlbnYuQ29tcG9uZW50LlBhcmFtcy5PdXRwdXRbaWR4XS5Wb2xhdGlsZURhdGEuQ2xlYXIoKQogICAgICAgICAgICAgICAgZ2hlbnYuQ29tcG9uZW50LlBhcmFtcy5PdXRwdXRbaWR4XS5BZGRWb2xhdGlsZURhdGEoZ2guS2VybmVsLkRhdGEuR0hfUGF0aCgwKSwgMCwgc2VsZi5fdmFyX291dHB1dFtpZHhdKQogICAgICAgIHNlbGYuX3Zhcl9vdXRwdXQuY2xlYXIoKQoKICAgIEBwcm9wZXJ0eQogICAgZGVmIHBhdGgoc2VsZik6CiAgICAgICAgIiIiIEdldCB0aGUgcGF0aCBvZiB0aGUgZmlsZSBmcm9tIHRoZSB0YWJsZSB2aWV3IHRvIGJlIHN0aWNraW5nIGJldHdlZW4gdGhlIHNlc3Npb25zLiAiIiIKICAgICAgICB0YWJsZV92YWx1ZSA9IGdoZW52LkNvbXBvbmVudC5PblBpbmdEb2N1bWVudCgpLlZhbHVlVGFibGUuR2V0VmFsdWUoCiAgICAgICAgICAgIHNlbGYuX19wYXRoX25hbWVfdGFibGVfdmFsdWUsICJub3RfZm91bmQiCiAgICAgICAgKQogICAgICAgIGlmIHRhYmxlX3ZhbHVlICE9ICJub3RfZm91bmQiOgogICAgICAgICAgICByZXR1cm4gdGFibGVfdmFsdWUKICAgICAgICBlbHNlOgogICAgICAgICAgICByZXR1cm4gTm9uZQoKICAgIEBwYXRoLnNldHRlcgogICAgZGVmIHBhdGgoc2VsZiwgcGF0aCA6IHN0cik6CiAgICAgICAgIiIiIFNldCB0aGUgcGF0aCBvZiB0aGUgZmlsZSB0byB0aGUgdGFibGUgdmlldyB0byBiZSBzdGlja2luZyBiZXR3ZWVuIHRoZSBzZXNzaW9ucy4gIiIiCiAgICAgICAgZ2hlbnYuQ29tcG9uZW50Lk9uUGluZ0RvY3VtZW50KCkuVmFsdWVUYWJsZS5TZXRWYWx1ZShzZWxmLl9fcGF0aF9uYW1lX3RhYmxlX3ZhbHVlLCBwYXRoKQoKICAgICAgICBzY3JpcHRfbmFtZSA9IG9zLnBhdGguYmFzZW5hbWUocGF0aCkKICAgICAgICBnaGVudi5Db21wb25lbnQuTWVzc2FnZSA9IGYie3NjcmlwdF9uYW1lfSIKCiAgICAgICAgaWYgc2VsZi5maWxlY2hhbmdlZF90aHJlYWRfbmFtZSBpbiBbdC5uYW1lIGZvciB0IGluIHRocmVhZGluZy5lbnVtZXJhdGUoKV06CiAgICAgICAgICAgIF8gPSBbdCBmb3IgdCBpbiB0aHJlYWRpbmcuZW51bWVyYXRlKCkgaWYgdC5uYW1lID09IHNlbGYuZmlsZWNoYW5nZWRfdGhyZWFkX25hbWVdWzBdLnN0b3AoKQoKICAgIEBwYXRoLmRlbGV0ZXIKICAgIGRlZiBwYXRoKHNlbGYpOgogICAgICAgICIiIiBEZWxldGUgdGhlIHBhdGggb2YgdGhlIGZpbGUgZnJvbSB0aGUgdGFibGUgdmlldyBpZiB0aGUgb2JqZWN0IGlzIGVyYXNlZC4gIiIiCiAgICAgICAgZ2hlbnYuQ29tcG9uZW50Lk9uUGluZ0RvY3VtZW50KCkuVmFsdWVUYWJsZS5EZWxldGVWYWx1ZShzZWxmLl9fcGF0aF9uYW1lX3RhYmxlX3ZhbHVlKQo=
+ - S
+
+
+
+
+ - *.*.python
+ - 3.*
+
+
+
+
+
+
+
+
@@ -1728,7 +1906,7 @@
-
- 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
+ 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