@appium/base-driver 8.2.4 → 8.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/build/lib/basedriver/capabilities.d.ts +80 -0
  2. package/build/lib/basedriver/capabilities.d.ts.map +1 -0
  3. package/build/lib/basedriver/capabilities.js +12 -13
  4. package/build/lib/basedriver/commands/event.d.ts +9 -0
  5. package/build/lib/basedriver/commands/event.d.ts.map +1 -0
  6. package/build/lib/basedriver/commands/event.js +21 -23
  7. package/build/lib/basedriver/commands/find.d.ts +11 -0
  8. package/build/lib/basedriver/commands/find.d.ts.map +1 -0
  9. package/build/lib/basedriver/commands/find.js +41 -43
  10. package/build/lib/basedriver/commands/index.d.ts +8 -0
  11. package/build/lib/basedriver/commands/index.d.ts.map +1 -0
  12. package/build/lib/basedriver/commands/index.js +17 -16
  13. package/build/lib/basedriver/commands/log.d.ts +12 -0
  14. package/build/lib/basedriver/commands/log.d.ts.map +1 -0
  15. package/build/lib/basedriver/commands/log.js +23 -30
  16. package/build/lib/basedriver/commands/session.d.ts +11 -0
  17. package/build/lib/basedriver/commands/session.d.ts.map +1 -0
  18. package/build/lib/basedriver/commands/session.js +21 -158
  19. package/build/lib/basedriver/commands/settings.d.ts +10 -0
  20. package/build/lib/basedriver/commands/settings.d.ts.map +1 -0
  21. package/build/lib/basedriver/commands/settings.js +18 -22
  22. package/build/lib/basedriver/commands/timeout.d.ts +8 -0
  23. package/build/lib/basedriver/commands/timeout.d.ts.map +1 -0
  24. package/build/lib/basedriver/commands/timeout.js +118 -144
  25. package/build/lib/basedriver/core.d.ts +235 -0
  26. package/build/lib/basedriver/core.d.ts.map +1 -0
  27. package/build/lib/basedriver/core.js +283 -0
  28. package/build/lib/basedriver/desired-caps.d.ts +5 -0
  29. package/build/lib/basedriver/desired-caps.d.ts.map +1 -0
  30. package/build/lib/basedriver/desired-caps.js +2 -4
  31. package/build/lib/basedriver/device-settings.d.ts +32 -0
  32. package/build/lib/basedriver/device-settings.d.ts.map +1 -0
  33. package/build/lib/basedriver/device-settings.js +33 -15
  34. package/build/lib/basedriver/driver.d.ts +83 -0
  35. package/build/lib/basedriver/driver.d.ts.map +1 -0
  36. package/build/lib/basedriver/driver.js +104 -257
  37. package/build/lib/basedriver/helpers.d.ts +132 -0
  38. package/build/lib/basedriver/helpers.d.ts.map +1 -0
  39. package/build/lib/basedriver/helpers.js +24 -10
  40. package/build/lib/basedriver/logger.d.ts +3 -0
  41. package/build/lib/basedriver/logger.d.ts.map +1 -0
  42. package/build/lib/basedriver/logger.js +2 -4
  43. package/build/lib/constants.d.ts +9 -0
  44. package/build/lib/constants.d.ts.map +1 -0
  45. package/build/lib/constants.js +2 -4
  46. package/build/lib/express/crash.d.ts +3 -0
  47. package/build/lib/express/crash.d.ts.map +1 -0
  48. package/build/lib/express/crash.js +2 -4
  49. package/build/lib/express/express-logging.d.ts +3 -0
  50. package/build/lib/express/express-logging.d.ts.map +1 -0
  51. package/build/lib/express/express-logging.js +3 -5
  52. package/build/lib/express/idempotency.d.ts +2 -0
  53. package/build/lib/express/idempotency.d.ts.map +1 -0
  54. package/build/lib/express/idempotency.js +3 -5
  55. package/build/lib/express/logger.d.ts +3 -0
  56. package/build/lib/express/logger.d.ts.map +1 -0
  57. package/build/lib/express/logger.js +2 -4
  58. package/build/lib/express/middleware.d.ts +9 -0
  59. package/build/lib/express/middleware.d.ts.map +1 -0
  60. package/build/lib/express/middleware.js +2 -4
  61. package/build/lib/express/server.d.ts +10 -0
  62. package/build/lib/express/server.d.ts.map +1 -0
  63. package/build/lib/express/server.js +2 -4
  64. package/build/lib/express/static.d.ts +6 -0
  65. package/build/lib/express/static.d.ts.map +1 -0
  66. package/build/lib/express/static.js +2 -4
  67. package/build/lib/express/websocket.d.ts +64 -0
  68. package/build/lib/express/websocket.d.ts.map +1 -0
  69. package/build/lib/express/websocket.js +2 -4
  70. package/build/lib/helpers/capabilities.d.ts +13 -0
  71. package/build/lib/helpers/capabilities.d.ts.map +1 -0
  72. package/build/lib/helpers/capabilities.js +77 -0
  73. package/build/lib/index.d.ts +183 -0
  74. package/build/lib/index.d.ts.map +1 -0
  75. package/build/lib/index.js +41 -25
  76. package/build/lib/jsonwp-proxy/protocol-converter.d.ts +48 -0
  77. package/build/lib/jsonwp-proxy/protocol-converter.d.ts.map +1 -0
  78. package/build/lib/jsonwp-proxy/protocol-converter.js +19 -15
  79. package/build/lib/jsonwp-proxy/proxy.d.ts +41 -0
  80. package/build/lib/jsonwp-proxy/proxy.d.ts.map +1 -0
  81. package/build/lib/jsonwp-proxy/proxy.js +20 -15
  82. package/build/lib/jsonwp-status/status.d.ts +159 -0
  83. package/build/lib/jsonwp-status/status.d.ts.map +1 -0
  84. package/build/lib/jsonwp-status/status.js +2 -4
  85. package/build/lib/protocol/errors.d.ts +310 -0
  86. package/build/lib/protocol/errors.d.ts.map +1 -0
  87. package/build/lib/protocol/errors.js +82 -5
  88. package/build/lib/protocol/helpers.d.ts +22 -0
  89. package/build/lib/protocol/helpers.d.ts.map +1 -0
  90. package/build/lib/protocol/helpers.js +2 -4
  91. package/build/lib/protocol/index.d.ts +16 -0
  92. package/build/lib/protocol/index.d.ts.map +1 -0
  93. package/build/lib/protocol/index.js +8 -10
  94. package/build/lib/protocol/protocol.d.ts +11 -0
  95. package/build/lib/protocol/protocol.d.ts.map +1 -0
  96. package/build/lib/protocol/protocol.js +38 -35
  97. package/build/lib/protocol/routes.d.ts +6 -0
  98. package/build/lib/protocol/routes.d.ts.map +1 -0
  99. package/build/lib/protocol/routes.js +84 -4
  100. package/build/lib/protocol/validators.d.ts +8 -0
  101. package/build/lib/protocol/validators.d.ts.map +1 -0
  102. package/build/lib/protocol/validators.js +2 -4
  103. package/build/test/basedriver/README.md +5 -0
  104. package/build/test/basedriver/driver-e2e-tests.js +2 -4
  105. package/build/test/basedriver/driver-tests.js +41 -19
  106. package/build/test/basedriver/index.js +2 -4
  107. package/build/test/e2e/basedriver/driver.e2e.spec.js +15 -0
  108. package/build/test/e2e/basedriver/helpers.e2e.spec.js +192 -0
  109. package/build/test/e2e/basedriver/websockets.e2e.spec.js +82 -0
  110. package/build/test/e2e/express/server.e2e.spec.js +159 -0
  111. package/build/test/e2e/jsonwp-proxy/proxy.e2e.spec.js +59 -0
  112. package/build/test/e2e/protocol/fake-driver.js +163 -0
  113. package/build/test/e2e/protocol/helpers.js +25 -0
  114. package/build/test/e2e/protocol/protocol.e2e.spec.js +1186 -0
  115. package/build/test/helpers.js +2 -4
  116. package/build/test/unit/basedriver/capabilities.spec.js +672 -0
  117. package/build/test/unit/basedriver/capability.spec.js +353 -0
  118. package/build/test/unit/basedriver/commands/event.spec.js +110 -0
  119. package/build/test/unit/basedriver/commands/log.spec.js +92 -0
  120. package/build/test/unit/basedriver/driver.spec.js +15 -0
  121. package/build/test/unit/basedriver/helpers.spec.js +151 -0
  122. package/build/test/unit/basedriver/timeout.spec.js +135 -0
  123. package/build/test/unit/express/server.spec.js +155 -0
  124. package/build/test/unit/express/static.spec.js +26 -0
  125. package/build/test/unit/jsonwp-proxy/mock-request.js +91 -0
  126. package/build/test/unit/jsonwp-proxy/protocol-converter.spec.js +171 -0
  127. package/build/test/unit/jsonwp-proxy/proxy.spec.js +292 -0
  128. package/build/test/unit/jsonwp-proxy/url.spec.js +165 -0
  129. package/build/test/unit/jsonwp-status/status.spec.js +34 -0
  130. package/build/test/unit/protocol/errors.spec.js +390 -0
  131. package/build/test/unit/protocol/routes.spec.js +80 -0
  132. package/build/test/unit/protocol/validator.spec.js +149 -0
  133. package/build/tsconfig.tsbuildinfo +1 -0
  134. package/lib/basedriver/capabilities.js +49 -10
  135. package/lib/basedriver/commands/event.js +49 -31
  136. package/lib/basedriver/commands/find.js +107 -45
  137. package/lib/basedriver/commands/index.js +25 -19
  138. package/lib/basedriver/commands/log.js +59 -34
  139. package/lib/basedriver/commands/session.js +39 -142
  140. package/lib/basedriver/commands/settings.js +32 -14
  141. package/lib/basedriver/commands/timeout.js +153 -154
  142. package/lib/basedriver/core.js +497 -0
  143. package/lib/basedriver/desired-caps.js +1 -1
  144. package/lib/basedriver/device-settings.js +57 -13
  145. package/lib/basedriver/driver.js +277 -375
  146. package/lib/basedriver/helpers.js +31 -13
  147. package/lib/express/express-logging.js +1 -1
  148. package/lib/express/idempotency.js +1 -1
  149. package/lib/helpers/capabilities.js +84 -0
  150. package/lib/index.js +17 -13
  151. package/lib/jsonwp-proxy/protocol-converter.js +14 -13
  152. package/lib/jsonwp-proxy/proxy.js +16 -12
  153. package/lib/protocol/errors.js +42 -42
  154. package/lib/protocol/index.js +4 -4
  155. package/lib/protocol/protocol.js +35 -32
  156. package/lib/protocol/routes.js +69 -1
  157. package/package.json +37 -24
  158. package/test/basedriver/README.md +5 -0
  159. package/test/basedriver/driver-e2e-tests.js +1 -1
  160. package/test/basedriver/driver-tests.js +43 -9
  161. package/build/lib/protocol/sessions-cache.js +0 -88
  162. package/build/test/basedriver/capabilities-specs.js +0 -632
  163. package/build/test/basedriver/capability-specs.js +0 -396
  164. package/build/test/basedriver/commands/event-specs.js +0 -112
  165. package/build/test/basedriver/commands/log-specs.js +0 -80
  166. package/build/test/basedriver/driver-e2e-specs.js +0 -17
  167. package/build/test/basedriver/driver-specs.js +0 -17
  168. package/build/test/basedriver/helpers-e2e-specs.js +0 -194
  169. package/build/test/basedriver/helpers-specs.js +0 -153
  170. package/build/test/basedriver/timeout-specs.js +0 -139
  171. package/build/test/basedriver/websockets-e2e-specs.js +0 -84
  172. package/build/test/express/server-e2e-specs.js +0 -156
  173. package/build/test/express/server-specs.js +0 -151
  174. package/build/test/express/static-specs.js +0 -23
  175. package/build/test/jsonwp-proxy/mock-request.js +0 -93
  176. package/build/test/jsonwp-proxy/protocol-converter-specs.js +0 -173
  177. package/build/test/jsonwp-proxy/proxy-e2e-specs.js +0 -61
  178. package/build/test/jsonwp-proxy/proxy-specs.js +0 -294
  179. package/build/test/jsonwp-proxy/url-specs.js +0 -167
  180. package/build/test/jsonwp-status/status-specs.js +0 -36
  181. package/build/test/protocol/errors-specs.js +0 -388
  182. package/build/test/protocol/fake-driver.js +0 -168
  183. package/build/test/protocol/helpers.js +0 -27
  184. package/build/test/protocol/protocol-e2e-specs.js +0 -1182
  185. package/build/test/protocol/routes-specs.js +0 -82
  186. package/build/test/protocol/validator-specs.js +0 -151
  187. package/index.d.ts +0 -386
  188. package/lib/protocol/sessions-cache.js +0 -74
  189. package/test/basedriver/capabilities-specs.js +0 -505
  190. package/test/basedriver/capability-specs.js +0 -409
  191. package/test/basedriver/commands/event-specs.js +0 -74
  192. package/test/basedriver/commands/log-specs.js +0 -70
  193. package/test/basedriver/driver-e2e-specs.js +0 -8
  194. package/test/basedriver/driver-specs.js +0 -8
  195. package/test/basedriver/fixtures/BadZippedApp.zip +0 -1
  196. package/test/basedriver/fixtures/FakeAndroidApp.apk +0 -1
  197. package/test/basedriver/fixtures/FakeAndroidApp.asd +0 -0
  198. package/test/basedriver/fixtures/FakeIOSApp.app +0 -1
  199. package/test/basedriver/fixtures/FakeIOSApp.app.zip +0 -0
  200. package/test/basedriver/fixtures/FakeIOSApp.ipa +0 -0
  201. package/test/basedriver/fixtures/custom-element-finder-bad.js +0 -5
  202. package/test/basedriver/fixtures/custom-element-finder.js +0 -29
  203. package/test/basedriver/helpers-e2e-specs.js +0 -187
  204. package/test/basedriver/helpers-specs.js +0 -137
  205. package/test/basedriver/timeout-specs.js +0 -133
  206. package/test/basedriver/websockets-e2e-specs.js +0 -75
@@ -56,6 +56,17 @@ const METHOD_MAP = {
56
56
  POST: {
57
57
  command: 'timeouts',
58
58
  payloadParams: {
59
+ validate: (jsonObj, protocolName) => {
60
+ if (protocolName === _constants.PROTOCOLS.W3C) {
61
+ if (!_support.util.hasValue(jsonObj.script) && !_support.util.hasValue(jsonObj.pageLoad) && !_support.util.hasValue(jsonObj.implicit)) {
62
+ return 'W3C protocol expects any of script, pageLoad or implicit to be set';
63
+ }
64
+ } else {
65
+ if (!_support.util.hasValue(jsonObj.type) || !_support.util.hasValue(jsonObj.ms)) {
66
+ return 'MJSONWP protocol requires type and ms';
67
+ }
68
+ }
69
+ },
59
70
  optional: ['type', 'ms', 'script', 'pageLoad', 'implicit']
60
71
  }
61
72
  }
@@ -76,11 +87,21 @@ const METHOD_MAP = {
76
87
  }
77
88
  }
78
89
  },
90
+ '/session/:sessionId/window_handle': {
91
+ GET: {
92
+ command: 'getWindowHandle'
93
+ }
94
+ },
79
95
  '/session/:sessionId/window/handle': {
80
96
  GET: {
81
97
  command: 'getWindowHandle'
82
98
  }
83
99
  },
100
+ '/session/:sessionId/window_handles': {
101
+ GET: {
102
+ command: 'getWindowHandles'
103
+ }
104
+ },
84
105
  '/session/:sessionId/window/handles': {
85
106
  GET: {
86
107
  command: 'getWindowHandles'
@@ -112,6 +133,22 @@ const METHOD_MAP = {
112
133
  command: 'refresh'
113
134
  }
114
135
  },
136
+ '/session/:sessionId/execute': {
137
+ POST: {
138
+ command: 'execute',
139
+ payloadParams: {
140
+ required: ['script', 'args']
141
+ }
142
+ }
143
+ },
144
+ '/session/:sessionId/execute_async': {
145
+ POST: {
146
+ command: 'executeAsync',
147
+ payloadParams: {
148
+ required: ['script', 'args']
149
+ }
150
+ }
151
+ },
115
152
  '/session/:sessionId/screenshot': {
116
153
  GET: {
117
154
  command: 'getScreenshot'
@@ -355,6 +392,27 @@ const METHOD_MAP = {
355
392
  command: 'getSize'
356
393
  }
357
394
  },
395
+ '/session/:sessionId/element/:elementId/shadow': {
396
+ GET: {
397
+ command: 'elementShadowRoot'
398
+ }
399
+ },
400
+ '/session/:sessionId/shadow/:shadowId/element': {
401
+ POST: {
402
+ command: 'findElementFromShadowRoot',
403
+ payloadParams: {
404
+ required: ['using', 'value']
405
+ }
406
+ }
407
+ },
408
+ '/session/:sessionId/shadow/:shadowId/elements': {
409
+ POST: {
410
+ command: 'findElementsFromShadowRoot',
411
+ payloadParams: {
412
+ required: ['using', 'value']
413
+ }
414
+ }
415
+ },
358
416
  '/session/:sessionId/element/:elementId/css/:propertyName': {
359
417
  GET: {
360
418
  command: 'getCssProperty'
@@ -1039,6 +1097,25 @@ const METHOD_MAP = {
1039
1097
  }
1040
1098
  }
1041
1099
  },
1100
+ '/session/:sessionId/alert_text': {
1101
+ GET: {
1102
+ command: 'getAlertText'
1103
+ },
1104
+ POST: {
1105
+ command: 'setAlertText',
1106
+ payloadParams: SET_ALERT_TEXT_PAYLOAD_PARAMS
1107
+ }
1108
+ },
1109
+ '/session/:sessionId/accept_alert': {
1110
+ POST: {
1111
+ command: 'postAcceptAlert'
1112
+ }
1113
+ },
1114
+ '/session/:sessionId/dismiss_alert': {
1115
+ POST: {
1116
+ command: 'postDismissAlert'
1117
+ }
1118
+ },
1042
1119
  '/session/:sessionId/alert/text': {
1043
1120
  GET: {
1044
1121
  command: 'getAlertText'
@@ -1079,6 +1156,11 @@ const METHOD_MAP = {
1079
1156
  }
1080
1157
  }
1081
1158
  },
1159
+ '/session/:sessionId/screenshot/:elementId': {
1160
+ GET: {
1161
+ command: 'getElementScreenshot'
1162
+ }
1163
+ },
1082
1164
  '/session/:sessionId/element/:elementId/screenshot': {
1083
1165
  GET: {
1084
1166
  command: 'getElementScreenshot'
@@ -1261,7 +1343,5 @@ function routeToCommandName(endpoint, method, basePath = _constants.DEFAULT_BASE
1261
1343
  }
1262
1344
 
1263
1345
  const NO_SESSION_ID_COMMANDS = ['createSession', 'getStatus', 'getSessions'];
1264
- exports.NO_SESSION_ID_COMMANDS = NO_SESSION_ID_COMMANDS;require('source-map-support').install();
1265
-
1266
-
1267
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9wcm90b2NvbC9yb3V0ZXMuanMiXSwibmFtZXMiOlsiU0VUX0FMRVJUX1RFWFRfUEFZTE9BRF9QQVJBTVMiLCJ2YWxpZGF0ZSIsImpzb25PYmoiLCJ1dGlsIiwiaGFzVmFsdWUiLCJ2YWx1ZSIsInRleHQiLCJvcHRpb25hbCIsIm1ha2VBcmdzIiwiTUVUSE9EX01BUCIsIkdFVCIsImNvbW1hbmQiLCJQT1NUIiwicGF5bG9hZFBhcmFtcyIsImNhcGFiaWxpdGllcyIsImRlc2lyZWRDYXBhYmlsaXRpZXMiLCJERUxFVEUiLCJyZXF1aXJlZCIsImhhbmRsZSIsIm5hbWUiLCJ1bndyYXAiLCJ3cmFwIiwic2lnbmFsU3RyZW5ndGgiLCJzaWduYWxTdHJlbmdoIiwiQUxMX0NPTU1BTkRTIiwidiIsIl8iLCJ2YWx1ZXMiLCJtIiwicHVzaCIsIlJFX0VTQ0FQRSIsIlJFX1BBUkFNIiwiUm91dGUiLCJjb25zdHJ1Y3RvciIsInJvdXRlIiwicGFyYW1OYW1lcyIsInJlU3RyIiwicmVwbGFjZSIsIm1vZGUiLCJyb3V0ZVJlZ2V4cCIsIlJlZ0V4cCIsInBhcnNlIiwidXJsIiwibWF0Y2hlcyIsIm1hdGNoIiwiaSIsInBhcmFtcyIsImxlbmd0aCIsInBhcmFtTmFtZSIsInJvdXRlVG9Db21tYW5kTmFtZSIsImVuZHBvaW50IiwibWV0aG9kIiwiYmFzZVBhdGgiLCJERUZBVUxUX0JBU0VfUEFUSCIsImRzdFJvdXRlIiwiaW5jbHVkZXMiLCJzbGljZSIsImluZGV4T2YiLCJhY3R1YWxFbmRwb2ludCIsInN0YXJ0c1dpdGgiLCJjdXJyZW50Um91dGUiLCJrZXlzIiwibWV0aG9kcyIsImdldCIsInRvVXBwZXIiLCJoYXMiLCJkc3RNZXRob2QiLCJOT19TRVNTSU9OX0lEX0NPTU1BTkRTIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFHQSxNQUFNQSw2QkFBNkIsR0FBRztBQUNwQ0MsRUFBQUEsUUFBUSxFQUFHQyxPQUFELElBQWMsQ0FB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b20gJ0BhcHBpdW0vc3VwcG9ydCc7XG5pbXBvcnQgeyBERUZBVUxUX0JBU0VfUEFUSCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5cblxuY29uc3QgU0VUX0FMRVJUX1RFWFRfUEFZTE9BRF9QQVJBTVMgPSB7XG4gIHZhbGlkYXRlOiAoanNvbk9iaikgPT4gKCF1dGlsLmhhc1ZhbHVlKGpzb25PYmoudmFsdWUpICYmICF1dGlsLmhhc1ZhbHVlKGpzb25PYmoudGV4dCkpICYmXG4gICAgICAnZWl0aGVyIFwidGV4dFwiIG9yIFwidmFsdWVcIiBtdXN0IGJlIHNldCcsXG4gIG9wdGlvbmFsOiBbJ3ZhbHVlJywgJ3RleHQnXSxcbiAgLy8gUHJlZmVyICd2YWx1ZScgc2luY2UgaXQncyBtb3JlIGJhY2t3YXJkLWNvbXBhdGlibGUuXG4gIG1ha2VBcmdzOiAoanNvbk9iaikgPT4gW2pzb25PYmoudmFsdWUgfHwganNvbk9iai50ZXh0XSxcbn07XG5cbi8vIGRlZmluZSB0aGUgcm91dGVzLCBtYXBwaW5nIG9mIEhUVFAgbWV0aG9kcyB0byBwYXJ0aWN1bGFyIGRyaXZlciBjb21tYW5kcyxcbi8vIGFuZCBhbnkgcGFyYW1ldGVycyB0aGF0IGFyZSBleHBlY3RlZCBpbiBhIHJlcXVlc3Rcbi8vIHBhcmFtZXRlcnMgY2FuIGJlIGByZXF1aXJlZGAgb3IgYG9wdGlvbmFsYFxuY29uc3QgTUVUSE9EX01BUCA9IHtcbiAgJy9zdGF0dXMnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFN0YXR1cyd9XG4gIH0sXG4gICcvc2Vzc2lvbic6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2NyZWF0ZVNlc3Npb24nLCBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICB2YWxpZGF0ZTogKGpzb25PYmopID0+ICghanNvbk9iai5jYXBhYmlsaXRpZXMgJiYgIWpzb25PYmouZGVzaXJlZENhcGFiaWxpdGllcykgJiYgJ3dlIHJlcXVpcmUgb25lIG9mIFwiZGVzaXJlZENhcGFiaWxpdGllc1wiIG9yIFwiY2FwYWJpbGl0aWVzXCIgb2JqZWN0JyxcbiAgICAgIG9wdGlvbmFsOiBbJ2Rlc2lyZWRDYXBhYmlsaXRpZXMnLCAncmVxdWlyZWRDYXBhYmlsaXRpZXMnLCAnY2FwYWJpbGl0aWVzJ119fVxuICB9LFxuICAnL3Nlc3Npb25zJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRTZXNzaW9ucyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRTZXNzaW9uJ30sXG4gICAgREVMRVRFOiB7Y29tbWFuZDogJ2RlbGV0ZVNlc3Npb24nfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90aW1lb3V0cyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0VGltZW91dHMnfSwgLy8gVzNDIHJvdXRlXG4gICAgUE9TVDoge2NvbW1hbmQ6ICd0aW1lb3V0cycsIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgIG9wdGlvbmFsOiBbJ3R5cGUnLCAnbXMnLCAnc2NyaXB0JywgJ3BhZ2VMb2FkJywgJ2ltcGxpY2l0J10sXG4gICAgfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdGltZW91dHMvYXN5bmNfc2NyaXB0Jzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnYXN5bmNTY3JpcHRUaW1lb3V0JywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ21zJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90aW1lb3V0cy9pbXBsaWNpdF93YWl0Jzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnaW1wbGljaXRXYWl0JywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ21zJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvaGFuZGxlJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRXaW5kb3dIYW5kbGUnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvaGFuZGxlcyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0V2luZG93SGFuZGxlcyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3VybCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0VXJsJ30sXG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZXRVcmwnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsndXJsJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9mb3J3YXJkJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZm9yd2FyZCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2JhY2snOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdiYWNrJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvcmVmcmVzaCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3JlZnJlc2gnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9zY3JlZW5zaG90Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRTY3JlZW5zaG90J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvaW1lL2F2YWlsYWJsZV9lbmdpbmVzJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdhdmFpbGFibGVJTUVFbmdpbmVzJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvaW1lL2FjdGl2ZV9lbmdpbmUnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEFjdGl2ZUlNRUVuZ2luZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2ltZS9hY3RpdmF0ZWQnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2lzSU1FQWN0aXZhdGVkJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvaW1lL2RlYWN0aXZhdGUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdkZWFjdGl2YXRlSU1FRW5naW5lJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvaW1lL2FjdGl2YXRlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnYWN0aXZhdGVJTUVFbmdpbmUnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnZW5naW5lJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9mcmFtZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NldEZyYW1lJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2lkJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9mcmFtZS9wYXJlbnQnOiB7XG4gICAgUE9TVDoge31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2luZG93Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRXaW5kb3dIYW5kbGUnfSxcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NldFdpbmRvdycsIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgIG9wdGlvbmFsOiBbJ25hbWUnLCAnaGFuZGxlJ10sXG4gICAgICAvLyBSZXR1cm4gYm90aCB2YWx1ZXMgdG8gbWF0Y2ggVzNDIGFuZCBKU09OV1AgcHJvdG9jb2xzXG4gICAgICBtYWtlQXJnczogKGpzb25PYmopID0+IHtcbiAgICAgICAgaWYgKHV0aWwuaGFzVmFsdWUoanNvbk9iai5oYW5kbGUpICYmICF1dGlsLmhhc1ZhbHVlKGpzb25PYmoubmFtZSkpIHtcbiAgICAgICAgICByZXR1cm4gW2pzb25PYmouaGFuZGxlLCBqc29uT2JqLmhhbmRsZV07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHV0aWwuaGFzVmFsdWUoanNvbk9iai5uYW1lKSAmJiAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLmhhbmRsZSkpIHtcbiAgICAgICAgICByZXR1cm4gW2pzb25PYmoubmFtZSwganNvbk9iai5uYW1lXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW2pzb25PYmoubmFtZSwganNvbk9iai5oYW5kbGVdO1xuICAgICAgfSxcbiAgICAgIHZhbGlkYXRlOiAoanNvbk9iaikgPT4gKCF1dGlsLmhhc1ZhbHVlKGpzb25PYmoubmFtZSkgJiYgIXV0aWwuaGFzVmFsdWUoanNvbk9iai5oYW5kbGUpKVxuICAgICAgICAmJiAnd2UgcmVxdWlyZSBvbmUgb2YgXCJuYW1lXCIgb3IgXCJoYW5kbGVcIiB0byBiZSBzZXQnLFxuICAgIH19LFxuICAgIERFTEVURToge2NvbW1hbmQ6ICdjbG9zZVdpbmRvdyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dpbmRvdy86d2luZG93aGFuZGxlL3NpemUnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFdpbmRvd1NpemUnfSxcbiAgICBQT1NUOiB7fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvOndpbmRvd2hhbmRsZS9wb3NpdGlvbic6IHtcbiAgICBQT1NUOiB7fSxcbiAgICBHRVQ6IHt9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dpbmRvdy86d2luZG93aGFuZGxlL21heGltaXplJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnbWF4aW1pemVXaW5kb3cnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9jb29raWUnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldENvb2tpZXMnfSxcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NldENvb2tpZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydjb29raWUnXX19LFxuICAgIERFTEVURToge2NvbW1hbmQ6ICdkZWxldGVDb29raWVzJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvY29va2llLzpuYW1lJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRDb29raWUnfSxcbiAgICBERUxFVEU6IHtjb21tYW5kOiAnZGVsZXRlQ29va2llJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvc291cmNlJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRQYWdlU291cmNlJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdGl0bGUnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ3RpdGxlJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2ZpbmRFbGVtZW50JywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3VzaW5nJywgJ3ZhbHVlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50cyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2ZpbmRFbGVtZW50cycsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd1c2luZycsICd2YWx1ZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC9hY3RpdmUnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2FjdGl2ZSd9LCAvLyBXM0M6IGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJkcml2ZXIvd2ViZHJpdmVyLXNwZWMuaHRtbCNkZm4tZ2V0LWFjdGl2ZS1lbGVtZW50XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdhY3RpdmUnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQnOiB7XG4gICAgR0VUOiB7fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvZWxlbWVudCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2ZpbmRFbGVtZW50RnJvbUVsZW1lbnQnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsndXNpbmcnLCAndmFsdWUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9lbGVtZW50cyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2ZpbmRFbGVtZW50c0Zyb21FbGVtZW50JywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3VzaW5nJywgJ3ZhbHVlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvY2xpY2snOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdjbGljayd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9zdWJtaXQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzdWJtaXQnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvdGV4dCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0VGV4dCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC92YWx1ZSc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnc2V0VmFsdWUnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICB2YWxpZGF0ZTogKGpzb25PYmopID0+ICghdXRpbC5oYXNWYWx1ZShqc29uT2JqLnZhbHVlKSAmJiAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLnRleHQpKSAmJlxuICAgICAgICAgICAgJ3dlIHJlcXVpcmUgb25lIG9mIFwidGV4dFwiIG9yIFwidmFsdWVcIiBwYXJhbXMnLFxuICAgICAgICBvcHRpb25hbDogWyd2YWx1ZScsICd0ZXh0J10sXG4gICAgICAgIC8vIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGFyZ3VtZW50IGNvbnN0cnVjdG9yIGJlY2F1c2Ugb2YgdGhlIHNwZWNpYWxcbiAgICAgICAgLy8gbG9naWMgaGVyZS4gQmFzaWNhbGx5IHdlIHdhbnQgdG8gYWNjZXB0IGVpdGhlciBhIHZhbHVlIChvbGQgSlNPTldQKVxuICAgICAgICAvLyBvciBhIHRleHQgKG5ldyBXM0MpIHBhcmFtZXRlciwgYnV0IG9ubHkgc2VuZCBvbmUgb2YgdGhlbSB0byB0aGVcbiAgICAgICAgLy8gY29tbWFuZCAobm90IGJvdGgpLiBQcmVmZXIgJ3ZhbHVlJyBzaW5jZSBpdCdzIG1vcmVcbiAgICAgICAgLy8gYmFja3dhcmQtY29tcGF0aWJsZS5cbiAgICAgICAgbWFrZUFyZ3M6IChqc29uT2JqKSA9PiBbanNvbk9iai52YWx1ZSB8fCBqc29uT2JqLnRleHRdLFxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQva2V5cyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2tleXMnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsndmFsdWUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9uYW1lJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXROYW1lJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL2NsZWFyJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnY2xlYXInfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvc2VsZWN0ZWQnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2VsZW1lbnRTZWxlY3RlZCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9lbmFibGVkJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdlbGVtZW50RW5hYmxlZCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9hdHRyaWJ1dGUvOm5hbWUnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEF0dHJpYnV0ZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9lcXVhbHMvOm90aGVySWQnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2VxdWFsc0VsZW1lbnQnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvZGlzcGxheWVkJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdlbGVtZW50RGlzcGxheWVkJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL2xvY2F0aW9uJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRMb2NhdGlvbid9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9sb2NhdGlvbl9pbl92aWV3Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRMb2NhdGlvbkluVmlldyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9zaXplJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRTaXplJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL2Nzcy86cHJvcGVydHlOYW1lJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRDc3NQcm9wZXJ0eSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL29yaWVudGF0aW9uJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRPcmllbnRhdGlvbid9LFxuICAgIFBPU1Q6IHtjb21tYW5kOiAnc2V0T3JpZW50YXRpb24nLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnb3JpZW50YXRpb24nXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3JvdGF0aW9uJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRSb3RhdGlvbid9LFxuICAgIFBPU1Q6IHtjb21tYW5kOiAnc2V0Um90YXRpb24nLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsneCcsICd5JywgJ3onXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL21vdmV0byc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ21vdmVUbycsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydlbGVtZW50JywgJ3hvZmZzZXQnLCAneW9mZnNldCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvY2xpY2snOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdjbGlja0N1cnJlbnQnLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnYnV0dG9uJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9idXR0b25kb3duJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnYnV0dG9uRG93bicsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydidXR0b24nXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2J1dHRvbnVwJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnYnV0dG9uVXAnLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnYnV0dG9uJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9kb3VibGVjbGljayc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2RvdWJsZUNsaWNrJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdG91Y2gvY2xpY2snOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdjbGljaycsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydlbGVtZW50J119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90b3VjaC9kb3duJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAndG91Y2hEb3duJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3gnLCAneSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdG91Y2gvdXAnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICd0b3VjaFVwJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3gnLCAneSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdG91Y2gvbW92ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3RvdWNoTW92ZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd4JywgJ3knXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RvdWNoL3Njcm9sbCc6IHtcbiAgICBQT1NUOiB7fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90b3VjaC9kb3VibGVjbGljayc6IHtcbiAgICBQT1NUOiB7fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hY3Rpb25zJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncGVyZm9ybUFjdGlvbnMnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnYWN0aW9ucyddfX0sXG4gICAgREVMRVRFOiB7Y29tbWFuZDogJ3JlbGVhc2VBY3Rpb25zJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdG91Y2gvbG9uZ2NsaWNrJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAndG91Y2hMb25nQ2xpY2snLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnZWxlbWVudHMnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RvdWNoL2ZsaWNrJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZmxpY2snLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnZWxlbWVudCcsICd4c3BlZWQnLCAneXNwZWVkJywgJ3hvZmZzZXQnLCAneW9mZnNldCcsICdzcGVlZCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvbG9jYXRpb24nOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEdlb0xvY2F0aW9uJ30sXG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZXRHZW9Mb2NhdGlvbicsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydsb2NhdGlvbiddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvbG9jYWxfc3RvcmFnZSc6IHtcbiAgICBHRVQ6IHt9LFxuICAgIFBPU1Q6IHt9LFxuICAgIERFTEVURToge31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvbG9jYWxfc3RvcmFnZS9rZXkvOmtleSc6IHtcbiAgICBHRVQ6IHt9LFxuICAgIERFTEVURToge31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvbG9jYWxfc3RvcmFnZS9zaXplJzoge1xuICAgIEdFVDoge31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvc2Vzc2lvbl9zdG9yYWdlJzoge1xuICAgIEdFVDoge30sXG4gICAgUE9TVDoge30sXG4gICAgREVMRVRFOiB7fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9zZXNzaW9uX3N0b3JhZ2Uva2V5LzprZXknOiB7XG4gICAgR0VUOiB7fSxcbiAgICBERUxFVEU6IHt9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3Nlc3Npb25fc3RvcmFnZS9zaXplJzoge1xuICAgIEdFVDoge31cbiAgfSxcbiAgLy8gU2VsZW5pdW0gNCBjbGllbnRzXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3NlL2xvZyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2dldExvZycsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd0eXBlJ119fVxuICB9LFxuICAvLyBTZWxlbml1bSA0IGNsaWVudHNcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvc2UvbG9nL3R5cGVzJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRMb2dUeXBlcyd9XG4gIH0sXG4gIC8vIG1qc29ud2lyZSwgYXBwaXVtIGNsaWVudHNcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvbG9nJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZ2V0TG9nJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3R5cGUnXX19XG4gIH0sXG4gIC8vIG1qc29ud2lyZSwgYXBwaXVtIGNsaWVudHNcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvbG9nL3R5cGVzJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRMb2dUeXBlcyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGxpY2F0aW9uX2NhY2hlL3N0YXR1cyc6IHtcbiAgICBHRVQ6IHt9XG4gIH0sXG5cbiAgLy9cbiAgLy8gbWpzb253aXJlXG4gIC8vXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2NvbnRleHQnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEN1cnJlbnRDb250ZXh0J30sXG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZXRDb250ZXh0JywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ25hbWUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2NvbnRleHRzJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRDb250ZXh0cyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9wYWdlSW5kZXgnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFBhZ2VJbmRleCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL25ldHdvcmtfY29ubmVjdGlvbic6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0TmV0d29ya0Nvbm5lY3Rpb24nfSxcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NldE5ldHdvcmtDb25uZWN0aW9uJywgcGF5bG9hZFBhcmFtczoge3Vud3JhcDogJ3BhcmFtZXRlcnMnLCByZXF1aXJlZDogWyd0eXBlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90b3VjaC9wZXJmb3JtJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncGVyZm9ybVRvdWNoJywgcGF5bG9hZFBhcmFtczoge3dyYXA6ICdhY3Rpb25zJywgcmVxdWlyZWQ6IFsnYWN0aW9ucyddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdG91Y2gvbXVsdGkvcGVyZm9ybSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3BlcmZvcm1NdWx0aUFjdGlvbicsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydhY3Rpb25zJ10sIG9wdGlvbmFsOiBbJ2VsZW1lbnRJZCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvcmVjZWl2ZV9hc3luY19yZXNwb25zZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3JlY2VpdmVBc3luY1Jlc3BvbnNlJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3N0YXR1cycsICd2YWx1ZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9zaGFrZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ21vYmlsZVNoYWtlJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9zeXN0ZW1fdGltZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0RGV2aWNlVGltZScsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydmb3JtYXQnXX19LFxuICAgIFBPU1Q6IHtjb21tYW5kOiAnZ2V0RGV2aWNlVGltZScsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydmb3JtYXQnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvbG9jayc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2xvY2snLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnc2Vjb25kcyddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS91bmxvY2snOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICd1bmxvY2snfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2lzX2xvY2tlZCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2lzTG9ja2VkJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL3N0YXJ0X3JlY29yZGluZ19zY3JlZW4nOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzdGFydFJlY29yZGluZ1NjcmVlbicsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydvcHRpb25zJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vc3RvcF9yZWNvcmRpbmdfc2NyZWVuJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnc3RvcFJlY29yZGluZ1NjcmVlbicsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydvcHRpb25zJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vcGVyZm9ybWFuY2VEYXRhL3R5cGVzJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZ2V0UGVyZm9ybWFuY2VEYXRhVHlwZXMnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZ2V0UGVyZm9ybWFuY2VEYXRhJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZ2V0UGVyZm9ybWFuY2VEYXRhJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3BhY2thZ2VOYW1lJywgJ2RhdGFUeXBlJ10sIG9wdGlvbmFsOiBbJ2RhdGFSZWFkVGltZW91dCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9wcmVzc19rZXljb2RlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncHJlc3NLZXlDb2RlJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2tleWNvZGUnXSwgb3B0aW9uYWw6IFsnbWV0YXN0YXRlJywgJ2ZsYWdzJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2xvbmdfcHJlc3Nfa2V5Y29kZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2xvbmdQcmVzc0tleUNvZGUnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsna2V5Y29kZSddLCBvcHRpb25hbDogWydtZXRhc3RhdGUnLCAnZmxhZ3MnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvZmluZ2VyX3ByaW50Jzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZmluZ2VycHJpbnQnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnZmluZ2VycHJpbnRJZCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9zZW5kX3Ntcyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NlbmRTTVMnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsncGhvbmVOdW1iZXInLCAnbWVzc2FnZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9nc21fY2FsbCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2dzbUNhbGwnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsncGhvbmVOdW1iZXInLCAnYWN0aW9uJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2dzbV9zaWduYWwnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ2dzbVNpZ25hbCcsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHZhbGlkYXRlOiAoanNvbk9iaikgPT4gKCF1dGlsLmhhc1ZhbHVlKGpzb25PYmouc2lnbmFsU3RyZW5ndGgpICYmICF1dGlsLmhhc1ZhbHVlKGpzb25PYmouc2lnbmFsU3RyZW5naCkpICYmXG4gICAgICAgICAgICAnd2UgcmVxdWlyZSBvbmUgb2YgXCJzaWduYWxTdHJlbmd0aFwiIG9yIFwic2lnbmFsU3RyZW5naFwiIHBhcmFtcycsXG4gICAgICAgIG9wdGlvbmFsOiBbJ3NpZ25hbFN0cmVuZ3RoJywgJ3NpZ25hbFN0cmVuZ2gnXSxcbiAgICAgICAgLy8gYmFja3dhcmQtY29tcGF0aWJsZS4gc29uT2JqLnNpZ25hbFN0cmVuZ3RoIGNhbiBiZSAwXG4gICAgICAgIG1ha2VBcmdzOiAoanNvbk9iaikgPT4gW3V0aWwuaGFzVmFsdWUoanNvbk9iai5zaWduYWxTdHJlbmd0aCkgPyBqc29uT2JqLnNpZ25hbFN0cmVuZ3RoIDoganNvbk9iai5zaWduYWxTdHJlbmdoXVxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9nc21fdm9pY2UnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdnc21Wb2ljZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydzdGF0ZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9wb3dlcl9jYXBhY2l0eSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3Bvd2VyQ2FwYWNpdHknLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsncGVyY2VudCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9wb3dlcl9hYyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3Bvd2VyQUMnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnc3RhdGUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvbmV0d29ya19zcGVlZCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ25ldHdvcmtTcGVlZCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyduZXRzcGVlZCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9rZXlldmVudCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2tleWV2ZW50JywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2tleWNvZGUnXSwgb3B0aW9uYWw6IFsnbWV0YXN0YXRlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3JvdGF0ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ21vYmlsZVJvdGF0aW9uJywgcGF5bG9hZFBhcmFtczoge1xuICAgICAgcmVxdWlyZWQ6IFsneCcsICd5JywgJ3JhZGl1cycsICdyb3RhdGlvbicsICd0b3VjaENvdW50JywgJ2R1cmF0aW9uJ10sXG4gICAgICBvcHRpb25hbDogWydlbGVtZW50J10gfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9jdXJyZW50X2FjdGl2aXR5Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRDdXJyZW50QWN0aXZpdHknfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2N1cnJlbnRfcGFja2FnZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0Q3VycmVudFBhY2thZ2UnfVxuICB9LFxuICAvL3JlZ2lvbiBBcHBsaWNhdGlvbnMgTWFuYWdlbWVudFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2luc3RhbGxfYXBwJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdpbnN0YWxsQXBwJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFsnYXBwUGF0aCddLFxuICAgICAgICBvcHRpb25hbDogWydvcHRpb25zJ11cbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvYWN0aXZhdGVfYXBwJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdhY3RpdmF0ZUFwcCcsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHJlcXVpcmVkOiBbWydhcHBJZCddLCBbJ2J1bmRsZUlkJ11dLFxuICAgICAgICBvcHRpb25hbDogWydvcHRpb25zJ11cbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvcmVtb3ZlX2FwcCc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAncmVtb3ZlQXBwJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFtbJ2FwcElkJ10sIFsnYnVuZGxlSWQnXV0sXG4gICAgICAgIG9wdGlvbmFsOiBbJ29wdGlvbnMnXVxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS90ZXJtaW5hdGVfYXBwJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICd0ZXJtaW5hdGVBcHAnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICByZXF1aXJlZDogW1snYXBwSWQnXSwgWydidW5kbGVJZCddXSxcbiAgICAgICAgb3B0aW9uYWw6IFsnb3B0aW9ucyddXG4gICAgICB9XG4gICAgfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2FwcF9pbnN0YWxsZWQnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ2lzQXBwSW5zdGFsbGVkJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFtbJ2FwcElkJ10sIFsnYnVuZGxlSWQnXV1cbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvYXBwX3N0YXRlJzoge1xuICAgIEdFVDoge1xuICAgICAgY29tbWFuZDogJ3F1ZXJ5QXBwU3RhdGUnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICByZXF1aXJlZDogW1snYXBwSWQnXSwgWydidW5kbGVJZCddXVxuICAgICAgfVxuICAgIH0sXG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ3F1ZXJ5QXBwU3RhdGUnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICByZXF1aXJlZDogW1snYXBwSWQnXSwgWydidW5kbGVJZCddXVxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgLy9lbmRyZWdpb25cbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9oaWRlX2tleWJvYXJkJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnaGlkZUtleWJvYXJkJywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ3N0cmF0ZWd5JywgJ2tleScsICdrZXlDb2RlJywgJ2tleU5hbWUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvaXNfa2V5Ym9hcmRfc2hvd24nOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2lzS2V5Ym9hcmRTaG93bid9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvcHVzaF9maWxlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncHVzaEZpbGUnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsncGF0aCcsICdkYXRhJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3B1bGxfZmlsZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3B1bGxGaWxlJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3BhdGgnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvcHVsbF9mb2xkZXInOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdwdWxsRm9sZGVyJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3BhdGgnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvdG9nZ2xlX2FpcnBsYW5lX21vZGUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICd0b2dnbGVGbGlnaHRNb2RlJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS90b2dnbGVfZGF0YSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3RvZ2dsZURhdGEnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3RvZ2dsZV93aWZpJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAndG9nZ2xlV2lGaSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvdG9nZ2xlX2xvY2F0aW9uX3NlcnZpY2VzJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAndG9nZ2xlTG9jYXRpb25TZXJ2aWNlcyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2Uvb3Blbl9ub3RpZmljYXRpb25zJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnb3Blbk5vdGlmaWNhdGlvbnMnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3N0YXJ0X2FjdGl2aXR5Jzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdzdGFydEFjdGl2aXR5JyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFsnYXBwUGFja2FnZScsICdhcHBBY3Rpdml0eSddLFxuICAgICAgICBvcHRpb25hbDogWydhcHBXYWl0UGFja2FnZScsICdhcHBXYWl0QWN0aXZpdHknLCAnaW50ZW50QWN0aW9uJyxcbiAgICAgICAgICAnaW50ZW50Q2F0ZWdvcnknLCAnaW50ZW50RmxhZ3MnLCAnb3B0aW9uYWxJbnRlbnRBcmd1bWVudHMnLCAnZG9udFN0b3BBcHBPblJlc2V0J11cbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2Uvc3lzdGVtX2JhcnMnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFN5c3RlbUJhcnMnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2Rpc3BsYXlfZGVuc2l0eSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0RGlzcGxheURlbnNpdHknfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vc2ltdWxhdG9yL3RvdWNoX2lkJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAndG91Y2hJZCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydtYXRjaCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL3NpbXVsYXRvci90b2dnbGVfdG91Y2hfaWRfZW5yb2xsbWVudCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3RvZ2dsZUVucm9sbFRvdWNoSWQnLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnZW5hYmxlZCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2FwcC9sYXVuY2gnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdsYXVuY2hBcHAnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vYXBwL2Nsb3NlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnY2xvc2VBcHAnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vYXBwL3Jlc2V0Jzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncmVzZXQnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vYXBwL2JhY2tncm91bmQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdiYWNrZ3JvdW5kJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3NlY29uZHMnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9hcHAvZW5kX3Rlc3RfY292ZXJhZ2UnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdlbmRDb3ZlcmFnZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydpbnRlbnQnLCAncGF0aCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2FwcC9zdHJpbmdzJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZ2V0U3RyaW5ncycsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydsYW5ndWFnZScsICdzdHJpbmdGaWxlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZWxlbWVudC86ZWxlbWVudElkL3ZhbHVlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnc2V0VmFsdWVJbW1lZGlhdGUnLCBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICB2YWxpZGF0ZTogKGpzb25PYmopID0+ICghdXRpbC5oYXNWYWx1ZShqc29uT2JqLnZhbHVlKSAmJiAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLnRleHQpKSAmJlxuICAgICAgICAgICd3ZSByZXF1aXJlIG9uZSBvZiBcInRleHRcIiBvciBcInZhbHVlXCIgcGFyYW1zJyxcbiAgICAgIG9wdGlvbmFsOiBbJ3ZhbHVlJywgJ3RleHQnXSxcbiAgICAgIC8vIFdlIHdhbnQgdG8gZWl0aGVyIGEgdmFsdWUgKG9sZCBKU09OV1ApIG9yIGEgdGV4dCAobmV3IFczQykgcGFyYW1ldGVyLFxuICAgICAgLy8gYnV0IG9ubHkgc2VuZCBvbmUgb2YgdGhlbSB0byB0aGUgY29tbWFuZCAobm90IGJvdGgpLlxuICAgICAgLy8gUHJlZmVyICd2YWx1ZScgc2luY2UgaXQncyBtb3JlIGJhY2t3YXJkLWNvbXBhdGlibGUuXG4gICAgICBtYWtlQXJnczogKGpzb25PYmopID0+IFtqc29uT2JqLnZhbHVlIHx8IGpzb25PYmoudGV4dF0sXG4gICAgfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2VsZW1lbnQvOmVsZW1lbnRJZC9yZXBsYWNlX3ZhbHVlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncmVwbGFjZVZhbHVlJywgcGF5bG9hZFBhcmFtczoge1xuICAgICAgdmFsaWRhdGU6IChqc29uT2JqKSA9PiAoIXV0aWwuaGFzVmFsdWUoanNvbk9iai52YWx1ZSkgJiYgIXV0aWwuaGFzVmFsdWUoanNvbk9iai50ZXh0KSkgJiZcbiAgICAgICAgICAnd2UgcmVxdWlyZSBvbmUgb2YgXCJ0ZXh0XCIgb3IgXCJ2YWx1ZVwiIHBhcmFtcycsXG4gICAgICBvcHRpb25hbDogWyd2YWx1ZScsICd0ZXh0J10sXG4gICAgICAvLyBXZSB3YW50IHRvIGVpdGhlciBhIHZhbHVlIChvbGQgSlNPTldQKSBvciBhIHRleHQgKG5ldyBXM0MpIHBhcmFtZXRlcixcbiAgICAgIC8vIGJ1dCBvbmx5IHNlbmQgb25lIG9mIHRoZW0gdG8gdGhlIGNvbW1hbmQgKG5vdCBib3RoKS5cbiAgICAgIC8vIFByZWZlciAndmFsdWUnIHNpbmNlIGl0J3MgbW9yZSBiYWNrd2FyZC1jb21wYXRpYmxlLlxuICAgICAgbWFrZUFyZ3M6IChqc29uT2JqKSA9PiBbanNvbk9iai52YWx1ZSA/PyBqc29uT2JqLnRleHQgPz8gJyddLFxuICAgIH19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9zZXR0aW5ncyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3VwZGF0ZVNldHRpbmdzJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3NldHRpbmdzJ119fSxcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0U2V0dGluZ3MnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vcmVjZWl2ZV9hc3luY19yZXNwb25zZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3JlY2VpdmVBc3luY1Jlc3BvbnNlJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3Jlc3BvbnNlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZXZlbnRzJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZ2V0TG9nRXZlbnRzJywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ3R5cGUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9sb2dfZXZlbnQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdsb2dDdXN0b21FdmVudCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd2ZW5kb3InLCAnZXZlbnQnXX19XG4gIH0sXG5cbiAgLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYmRyaXZlci93ZWJkcml2ZXItc3BlYy5odG1sI3VzZXItcHJvbXB0c1xuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hbGVydC90ZXh0Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRBbGVydFRleHQnfSxcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnc2V0QWxlcnRUZXh0JyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IFNFVF9BTEVSVF9URVhUX1BBWUxPQURfUEFSQU1TLFxuICAgIH1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYWxlcnQvYWNjZXB0Jzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncG9zdEFjY2VwdEFsZXJ0J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYWxlcnQvZGlzbWlzcyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3Bvc3REaXNtaXNzQWxlcnQnfVxuICB9LFxuICAvLyBodHRwczovL3czYy5naXRodWIuaW8vd2ViZHJpdmVyL3dlYmRyaXZlci1zcGVjLmh0bWwjZ2V0LWVsZW1lbnQtcmVjdFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvcmVjdCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0RWxlbWVudFJlY3QnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9leGVjdXRlL3N5bmMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdleGVjdXRlJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3NjcmlwdCcsICdhcmdzJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9leGVjdXRlL2FzeW5jJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZXhlY3V0ZUFzeW5jJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3NjcmlwdCcsICdhcmdzJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvc2NyZWVuc2hvdCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0RWxlbWVudFNjcmVlbnNob3QnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvcmVjdCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0V2luZG93UmVjdCd9LFxuICAgIFBPU1Q6IHtjb21tYW5kOiAnc2V0V2luZG93UmVjdCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd4JywgJ3knLCAnd2lkdGgnLCAnaGVpZ2h0J119fSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2luZG93L21heGltaXplJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnbWF4aW1pemVXaW5kb3cnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvbWluaW1pemUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdtaW5pbWl6ZVdpbmRvdyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dpbmRvdy9mdWxsc2NyZWVuJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZnVsbFNjcmVlbldpbmRvdyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9wcm9wZXJ0eS86bmFtZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0UHJvcGVydHknfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3NldF9jbGlwYm9hcmQnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ3NldENsaXBib2FyZCcsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHJlcXVpcmVkOiBbJ2NvbnRlbnQnXSxcbiAgICAgICAgb3B0aW9uYWw6IFtcbiAgICAgICAgICAnY29udGVudFR5cGUnLFxuICAgICAgICAgICdsYWJlbCcsXG4gICAgICAgIF1cbiAgICAgIH0sXG4gICAgfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2dldF9jbGlwYm9hcmQnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ2dldENsaXBib2FyZCcsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIG9wdGlvbmFsOiBbXG4gICAgICAgICAgJ2NvbnRlbnRUeXBlJyxcbiAgICAgICAgXVxuICAgICAgfSxcbiAgICB9XG4gIH0sXG5cbiAgLy8gY2hyb21pdW0gZGV2dG9vbHNcbiAgLy8gaHR0cHM6Ly9jaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYy8rL21hc3Rlci9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvc2VydmVyL2h0dHBfaGFuZGxlci5jY1xuICAnL3Nlc3Npb24vOnNlc3Npb25JZC86dmVuZG9yL2NkcC9leGVjdXRlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZXhlY3V0ZUNkcCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydjbWQnLCAncGFyYW1zJ119fVxuICB9LFxuXG4gIC8vcmVnaW9uIFdlYmF1dGhuXG4gIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi93ZWJhdXRobi0yLyNzY3RuLWF1dG9tYXRpb24tYWRkLXZpcnR1YWwtYXV0aGVudGljYXRvclxuXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3InOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ2FkZFZpcnR1YWxBdXRoZW50aWNhdG9yJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFsncHJvdG9jb2wnLCAndHJhbnNwb3J0J10sXG4gICAgICAgIG9wdGlvbmFsOiBbJ2hhc1Jlc2lkZW50S2V5JywgJ2hhc1VzZXJWZXJpZmljYXRpb24nLCAnaXNVc2VyQ29uc2VudGluZycsICdpc1VzZXJWZXJpZmllZCddLFxuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93ZWJhdXRobi9hdXRoZW50aWNhdG9yLzphdXRoZW50aWNhdG9ySWQnOiB7XG4gICAgREVMRVRFOiB7XG4gICAgICBjb21tYW5kOiAncmVtb3ZlVmlydHVhbEF1dGhlbnRpY2F0b3InXG4gICAgfVxuICB9LFxuXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3IvOmF1dGhlbnRpY2F0b3JJZC9jcmVkZW50aWFsJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdhZGRBdXRoQ3JlZGVudGlhbCcsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHJlcXVpcmVkOiBbJ2NyZWRlbnRpYWxJZCcsICdpc1Jlc2lkZW50Q3JlZGVudGlhbCcsICdycElkJywgJ3ByaXZhdGVLZXknXSxcbiAgICAgICAgb3B0aW9uYWw6IFsndXNlckhhbmRsZScsICdzaWduQ291bnQnXSxcbiAgICAgIH1cbiAgICB9XG4gIH0sXG5cbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2ViYXV0aG4vYXV0aGVudGljYXRvci86YXV0aGVudGljYXRvcklkL2NyZWRlbnRpYWxzJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRBdXRoQ3JlZGVudGlhbCd9LFxuICAgIERFTEVURToge2NvbW1hbmQ6ICdyZW1vdmVBbGxBdXRoQ3JlZGVudGlhbHMnfSxcbiAgfSxcblxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93ZWJhdXRobi9hdXRoZW50aWNhdG9yLzphdXRoZW50aWNhdG9ySWQvY3JlZGVudGlhbHMvOmNyZWRlbnRpYWxJZCc6IHtcbiAgICBERUxFVEU6IHtjb21tYW5kOiAncmVtb3ZlQXV0aENyZWRlbnRpYWwnfVxuICB9LFxuXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3IvOmF1dGhlbnRpY2F0b3JJZC91dic6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnc2V0VXNlckF1dGhWZXJpZmllZCcsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHJlcXVpcmVkOiBbJ2lzVXNlclZlcmlmaWVkJ11cbiAgICAgIH1cbiAgICB9XG4gIH0sXG5cbiAgLy9lbmRyZWdpb25cblxufTtcblxuLy8gZHJpdmVyIGNvbW1hbmQgbmFtZXNcbmxldCBBTExfQ09NTUFORFMgPSBbXTtcbmZvciAobGV0IHYgb2YgXy52YWx1ZXMoTUVUSE9EX01BUCkpIHtcbiAgZm9yIChsZXQgbSBvZiBfLnZhbHVlcyh2KSkge1xuICAgIGlmIChtLmNvbW1hbmQpIHtcbiAgICAgIEFMTF9DT01NQU5EUy5wdXNoKG0uY29tbWFuZCk7XG4gICAgfVxuICB9XG59XG5cbmNvbnN0IFJFX0VTQ0FQRSA9IC9bLVtcXF17fSgpKz8uLFxcXFxeJHwjXFxzXS9nO1xuY29uc3QgUkVfUEFSQU0gPSAvKFs6Kl0pKFxcdyspL2c7XG5cbmNsYXNzIFJvdXRlIHtcbiAgY29uc3RydWN0b3IgKHJvdXRlKSB7XG4gICAgdGhpcy5wYXJhbU5hbWVzID0gW107XG5cbiAgICBsZXQgcmVTdHIgPSByb3V0ZS5yZXBsYWNlKFJFX0VTQ0FQRSwgJ1xcXFwkJicpO1xuICAgIHJlU3RyID0gcmVTdHIucmVwbGFjZShSRV9QQVJBTSwgKF8sIG1vZGUsIG5hbWUpID0+IHtcbiAgICAgIHRoaXMucGFyYW1OYW1lcy5wdXNoKG5hbWUpO1xuICAgICAgcmV0dXJuIG1vZGUgPT09ICc6JyA/ICcoW14vXSopJyA6ICcoLiopJztcbiAgICB9KTtcbiAgICB0aGlzLnJvdXRlUmVnZXhwID0gbmV3IFJlZ0V4cChgXiR7cmVTdHJ9JGApO1xuICB9XG5cbiAgcGFyc2UgKHVybCkge1xuICAgIC8vaWYgKHVybC5pbmRleE9mKCd0aW1lb3V0cycpICE9PSAtMSAmJiB0aGlzLnJvdXRlUmVnZXhwLnRvU3RyaW5nKCkuaW5kZXhPZigndGltZW91dHMnKSAhPT0gLTEpIHtcbiAgICAvL2RlYnVnZ2VyO1xuICAgIC8vfVxuICAgIGxldCBtYXRjaGVzID0gdXJsLm1hdGNoKHRoaXMucm91dGVSZWdleHApO1xuICAgIGlmICghbWF0Y2hlcykgcmV0dXJuOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGN1cmx5XG4gICAgbGV0IGkgPSAwO1xuICAgIGxldCBwYXJhbXMgPSB7fTtcbiAgICB3aGlsZSAoaSA8IHRoaXMucGFyYW1OYW1lcy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IHBhcmFtTmFtZSA9IHRoaXMucGFyYW1OYW1lc1tpKytdO1xuICAgICAgcGFyYW1zW3BhcmFtTmFtZV0gPSBtYXRjaGVzW2ldO1xuICAgIH1cbiAgICByZXR1cm4gcGFyYW1zO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJvdXRlVG9Db21tYW5kTmFtZSAoZW5kcG9pbnQsIG1ldGhvZCwgYmFzZVBhdGggPSBERUZBVUxUX0JBU0VfUEFUSCkge1xuICBsZXQgZHN0Um91dGUgPSBudWxsO1xuXG4gIC8vIHJlbW92ZSBhbnkgcXVlcnkgc3RyaW5nXG4gIGlmIChlbmRwb2ludC5pbmNsdWRlcygnPycpKSB7XG4gICAgZW5kcG9pbnQgPSBlbmRwb2ludC5zbGljZSgwLCBlbmRwb2ludC5pbmRleE9mKCc/JykpO1xuICB9XG5cbiAgY29uc3QgYWN0dWFsRW5kcG9pbnQgPSBlbmRwb2ludCA9PT0gJy8nID8gJycgOlxuICAgIChfLnN0YXJ0c1dpdGgoZW5kcG9pbnQsICcvJykgPyBlbmRwb2ludCA6IGAvJHtlbmRwb2ludH1gKTtcblxuICBmb3IgKGxldCBjdXJyZW50Um91dGUgb2YgXy5rZXlzKE1FVEhPRF9NQVApKSB7XG4gICAgY29uc3Qgcm91dGUgPSBuZXcgUm91dGUoYCR7YmFzZVBhdGh9JHtjdXJyZW50Um91dGV9YCk7XG4gICAgLy8gd2UgZG9uJ3QgY2FyZSBhYm91dCB0aGUgYWN0dWFsIHNlc3Npb24gaWQgZm9yIG1hdGNoaW5nXG4gICAgaWYgKHJvdXRlLnBhcnNlKGAke2Jhc2VQYXRofS9zZXNzaW9uL2lnbm9yZWQtc2Vzc2lvbi1pZCR7YWN0dWFsRW5kcG9pbnR9YCkgfHxcbiAgICAgICAgcm91dGUucGFyc2UoYCR7YmFzZVBhdGh9JHthY3R1YWxFbmRwb2ludH1gKSB8fCByb3V0ZS5wYXJzZShhY3R1YWxFbmRwb2ludCkpIHtcbiAgICAgIGRzdFJvdXRlID0gY3VycmVudFJvdXRlO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG4gIGlmICghZHN0Um91dGUpIHJldHVybjsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBjdXJseVxuXG4gIGNvbnN0IG1ldGhvZHMgPSBfLmdldChNRVRIT0RfTUFQLCBkc3RSb3V0ZSk7XG4gIG1ldGhvZCA9IF8udG9VcHBlcihtZXRob2QpO1xuICBpZiAoXy5oYXMobWV0aG9kcywgbWV0aG9kKSkge1xuICAgIGNvbnN0IGRzdE1ldGhvZCA9IF8uZ2V0KG1ldGhvZHMsIG1ldGhvZCk7XG4gICAgaWYgKGRzdE1ldGhvZC5jb21tYW5kKSB7XG4gICAgICByZXR1cm4gZHN0TWV0aG9kLmNvbW1hbmQ7XG4gICAgfVxuICB9XG59XG5cbi8vIGRyaXZlciBjb21tYW5kcyB0aGF0IGRvIG5vdCByZXF1aXJlIGEgc2Vzc2lvbiB0byBhbHJlYWR5IGV4aXN0XG5jb25zdCBOT19TRVNTSU9OX0lEX0NPTU1BTkRTID0gWydjcmVhdGVTZXNzaW9uJywgJ2dldFN0YXR1cycsICdnZXRTZXNzaW9ucyddO1xuXG5leHBvcnQgeyBNRVRIT0RfTUFQLCBBTExfQ09NTUFORFMsIE5PX1NFU1NJT05fSURfQ09NTUFORFMsIHJvdXRlVG9Db21tYW5kTmFtZSB9O1xuIl0sImZpbGUiOiJsaWIvcHJvdG9jb2wvcm91dGVzLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uIn0=
1346
+ exports.NO_SESSION_ID_COMMANDS = NO_SESSION_ID_COMMANDS;
1347
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9wcm90b2NvbC9yb3V0ZXMuanMiXSwibmFtZXMiOlsiU0VUX0FMRVJUX1RFWFRfUEFZTE9BRF9QQVJBTVMiLCJ2YWxpZGF0ZSIsImpzb25PYmoiLCJ1dGlsIiwiaGFzVmFsdWUiLCJ2YWx1ZSIsInRleHQiLCJvcHRpb25hbCIsIm1ha2VBcmdzIiwiTUVUSE9EX01BUCIsIkdFVCIsImNvbW1hbmQiLCJQT1NUIiwicGF5bG9hZFBhcmFtcyIsImNhcGFiaWxpdGllcyIsImRlc2lyZWRDYXBhYmlsaXRpZXMiLCJERUxFVEUiLCJwcm90b2NvbE5hbWUiLCJQUk9UT0NPTFMiLCJXM0MiLCJzY3JpcHQiLCJwYWdlTG9hZCIsImltcGxpY2l0IiwidHlwZSIsIm1zIiwicmVxdWlyZWQiLCJoYW5kbGUiLCJuYW1lIiwidW53cmFwIiwid3JhcCIsInNpZ25hbFN0cmVuZ3RoIiwic2lnbmFsU3RyZW5naCIsIkFMTF9DT01NQU5EUyIsInYiLCJfIiwidmFsdWVzIiwibSIsInB1c2giLCJSRV9FU0NBUEUiLCJSRV9QQVJBTSIsIlJvdXRlIiwiY29uc3RydWN0b3IiLCJyb3V0ZSIsInBhcmFtTmFtZXMiLCJyZVN0ciIsInJlcGxhY2UiLCJtb2RlIiwicm91dGVSZWdleHAiLCJSZWdFeHAiLCJwYXJzZSIsInVybCIsIm1hdGNoZXMiLCJtYXRjaCIsImkiLCJwYXJhbXMiLCJsZW5ndGgiLCJwYXJhbU5hbWUiLCJyb3V0ZVRvQ29tbWFuZE5hbWUiLCJlbmRwb2ludCIsIm1ldGhvZCIsImJhc2VQYXRoIiwiREVGQVVMVF9CQVNFX1BBVEgiLCJkc3RSb3V0ZSIsImluY2x1ZGVzIiwic2xpY2UiLCJpbmRleE9mIiwiYWN0dWFsRW5kcG9pbnQiLCJzdGFydHNXaXRoIiwiY3VycmVudFJvdXRlIiwia2V5cyIsIm1ldGhvZHMiLCJnZXQiLCJ0b1VwcGVyIiwiaGFzIiwiZHN0TWV0aG9kIiwiTk9fU0VTU0lPTl9JRF9DT01NQU5EUyJdLCJtYXBwaW5ncyI6Ijs7Ozs7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a1xuXG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgdXRpbCB9IGZyb20gJ0BhcHBpdW0vc3VwcG9ydCc7XG5pbXBvcnQgeyBQUk9UT0NPTFMsIERFRkFVTFRfQkFTRV9QQVRIIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcblxuXG5jb25zdCBTRVRfQUxFUlRfVEVYVF9QQVlMT0FEX1BBUkFNUyA9IHtcbiAgdmFsaWRhdGU6IChqc29uT2JqKSA9PiAoIXV0aWwuaGFzVmFsdWUoanNvbk9iai52YWx1ZSkgJiYgIXV0aWwuaGFzVmFsdWUoanNvbk9iai50ZXh0KSkgJiZcbiAgICAgICdlaXRoZXIgXCJ0ZXh0XCIgb3IgXCJ2YWx1ZVwiIG11c3QgYmUgc2V0JyxcbiAgb3B0aW9uYWw6IFsndmFsdWUnLCAndGV4dCddLFxuICAvLyBQcmVmZXIgJ3ZhbHVlJyBzaW5jZSBpdCdzIG1vcmUgYmFja3dhcmQtY29tcGF0aWJsZS5cbiAgbWFrZUFyZ3M6IChqc29uT2JqKSA9PiBbanNvbk9iai52YWx1ZSB8fCBqc29uT2JqLnRleHRdLFxufTtcblxuLy8gZGVmaW5lIHRoZSByb3V0ZXMsIG1hcHBpbmcgb2YgSFRUUCBtZXRob2RzIHRvIHBhcnRpY3VsYXIgZHJpdmVyIGNvbW1hbmRzLFxuLy8gYW5kIGFueSBwYXJhbWV0ZXJzIHRoYXQgYXJlIGV4cGVjdGVkIGluIGEgcmVxdWVzdFxuLy8gcGFyYW1ldGVycyBjYW4gYmUgYHJlcXVpcmVkYCBvciBgb3B0aW9uYWxgXG4vKiogQHR5cGUge2ltcG9ydCgnQGFwcGl1bS90eXBlcycpLk1ldGhvZE1hcH0gKi9cbmNvbnN0IE1FVEhPRF9NQVAgPSB7XG4gICcvc3RhdHVzJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRTdGF0dXMnfVxuICB9LFxuICAnL3Nlc3Npb24nOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdjcmVhdGVTZXNzaW9uJywgcGF5bG9hZFBhcmFtczoge1xuICAgICAgdmFsaWRhdGU6IChqc29uT2JqKSA9PiAoIWpzb25PYmouY2FwYWJpbGl0aWVzICYmICFqc29uT2JqLmRlc2lyZWRDYXBhYmlsaXRpZXMpICYmICd3ZSByZXF1aXJlIG9uZSBvZiBcImRlc2lyZWRDYXBhYmlsaXRpZXNcIiBvciBcImNhcGFiaWxpdGllc1wiIG9iamVjdCcsXG4gICAgICBvcHRpb25hbDogWydkZXNpcmVkQ2FwYWJpbGl0aWVzJywgJ3JlcXVpcmVkQ2FwYWJpbGl0aWVzJywgJ2NhcGFiaWxpdGllcyddfX1cbiAgfSxcbiAgJy9zZXNzaW9ucyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0U2Vzc2lvbnMnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0U2Vzc2lvbid9LFxuICAgIERFTEVURToge2NvbW1hbmQ6ICdkZWxldGVTZXNzaW9uJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdGltZW91dHMnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFRpbWVvdXRzJ30sIC8vIFczQyByb3V0ZVxuICAgIFBPU1Q6IHtjb21tYW5kOiAndGltZW91dHMnLCBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICB2YWxpZGF0ZTogKGpzb25PYmosIHByb3RvY29sTmFtZSkgPT4ge1xuICAgICAgICBpZiAocHJvdG9jb2xOYW1lID09PSBQUk9UT0NPTFMuVzNDKSB7XG4gICAgICAgICAgaWYgKCF1dGlsLmhhc1ZhbHVlKGpzb25PYmouc2NyaXB0KSAmJiAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLnBhZ2VMb2FkKSAmJiAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLmltcGxpY2l0KSkge1xuICAgICAgICAgICAgcmV0dXJuICdXM0MgcHJvdG9jb2wgZXhwZWN0cyBhbnkgb2Ygc2NyaXB0LCBwYWdlTG9hZCBvciBpbXBsaWNpdCB0byBiZSBzZXQnO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBNSlNPTldQXG4gICAgICAgICAgaWYgKCF1dGlsLmhhc1ZhbHVlKGpzb25PYmoudHlwZSkgfHwgIXV0aWwuaGFzVmFsdWUoanNvbk9iai5tcykpIHtcbiAgICAgICAgICAgIHJldHVybiAnTUpTT05XUCBwcm90b2NvbCByZXF1aXJlcyB0eXBlIGFuZCBtcyc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgb3B0aW9uYWw6IFsndHlwZScsICdtcycsICdzY3JpcHQnLCAncGFnZUxvYWQnLCAnaW1wbGljaXQnXSxcbiAgICB9fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90aW1lb3V0cy9hc3luY19zY3JpcHQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdhc3luY1NjcmlwdFRpbWVvdXQnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnbXMnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RpbWVvdXRzL2ltcGxpY2l0X3dhaXQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdpbXBsaWNpdFdhaXQnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnbXMnXX19XG4gIH0sXG4gIC8vIEpTT05XUFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3dfaGFuZGxlJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRXaW5kb3dIYW5kbGUnfVxuICB9LFxuICAvLyBXM0NcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2luZG93L2hhbmRsZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0V2luZG93SGFuZGxlJ31cbiAgfSxcbiAgLy8gSlNPTldQXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dpbmRvd19oYW5kbGVzJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRXaW5kb3dIYW5kbGVzJ31cbiAgfSxcbiAgLy8gVzNDXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dpbmRvdy9oYW5kbGVzJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRXaW5kb3dIYW5kbGVzJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdXJsJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRVcmwnfSxcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NldFVybCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd1cmwnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2ZvcndhcmQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdmb3J3YXJkJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYmFjayc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2JhY2snfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9yZWZyZXNoJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncmVmcmVzaCd9XG4gIH0sXG4gIC8vIE1KU09OV1BcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZXhlY3V0ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2V4ZWN1dGUnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnc2NyaXB0JywgJ2FyZ3MnXX19XG4gIH0sXG4gIC8vIE1KU09OV1BcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZXhlY3V0ZV9hc3luYyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2V4ZWN1dGVBc3luYycsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydzY3JpcHQnLCAnYXJncyddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvc2NyZWVuc2hvdCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0U2NyZWVuc2hvdCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2ltZS9hdmFpbGFibGVfZW5naW5lcyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnYXZhaWxhYmxlSU1FRW5naW5lcyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2ltZS9hY3RpdmVfZW5naW5lJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRBY3RpdmVJTUVFbmdpbmUnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9pbWUvYWN0aXZhdGVkJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdpc0lNRUFjdGl2YXRlZCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2ltZS9kZWFjdGl2YXRlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZGVhY3RpdmF0ZUlNRUVuZ2luZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2ltZS9hY3RpdmF0ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2FjdGl2YXRlSU1FRW5naW5lJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2VuZ2luZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZnJhbWUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZXRGcmFtZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydpZCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZnJhbWUvcGFyZW50Jzoge1xuICAgIFBPU1Q6IHt9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dpbmRvdyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0V2luZG93SGFuZGxlJ30sXG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZXRXaW5kb3cnLCBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICBvcHRpb25hbDogWyduYW1lJywgJ2hhbmRsZSddLFxuICAgICAgLy8gUmV0dXJuIGJvdGggdmFsdWVzIHRvIG1hdGNoIFczQyBhbmQgSlNPTldQIHByb3RvY29sc1xuICAgICAgbWFrZUFyZ3M6IChqc29uT2JqKSA9PiB7XG4gICAgICAgIGlmICh1dGlsLmhhc1ZhbHVlKGpzb25PYmouaGFuZGxlKSAmJiAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLm5hbWUpKSB7XG4gICAgICAgICAgcmV0dXJuIFtqc29uT2JqLmhhbmRsZSwganNvbk9iai5oYW5kbGVdO1xuICAgICAgICB9XG4gICAgICAgIGlmICh1dGlsLmhhc1ZhbHVlKGpzb25PYmoubmFtZSkgJiYgIXV0aWwuaGFzVmFsdWUoanNvbk9iai5oYW5kbGUpKSB7XG4gICAgICAgICAgcmV0dXJuIFtqc29uT2JqLm5hbWUsIGpzb25PYmoubmFtZV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFtqc29uT2JqLm5hbWUsIGpzb25PYmouaGFuZGxlXTtcbiAgICAgIH0sXG4gICAgICB2YWxpZGF0ZTogKGpzb25PYmopID0+ICghdXRpbC5oYXNWYWx1ZShqc29uT2JqLm5hbWUpICYmICF1dGlsLmhhc1ZhbHVlKGpzb25PYmouaGFuZGxlKSlcbiAgICAgICAgJiYgJ3dlIHJlcXVpcmUgb25lIG9mIFwibmFtZVwiIG9yIFwiaGFuZGxlXCIgdG8gYmUgc2V0JyxcbiAgICB9fSxcbiAgICBERUxFVEU6IHtjb21tYW5kOiAnY2xvc2VXaW5kb3cnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvOndpbmRvd2hhbmRsZS9zaXplJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRXaW5kb3dTaXplJ30sXG4gICAgUE9TVDoge31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2luZG93Lzp3aW5kb3doYW5kbGUvcG9zaXRpb24nOiB7XG4gICAgUE9TVDoge30sXG4gICAgR0VUOiB7fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvOndpbmRvd2hhbmRsZS9tYXhpbWl6ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ21heGltaXplV2luZG93J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvY29va2llJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRDb29raWVzJ30sXG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZXRDb29raWUnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnY29va2llJ119fSxcbiAgICBERUxFVEU6IHtjb21tYW5kOiAnZGVsZXRlQ29va2llcyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2Nvb2tpZS86bmFtZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0Q29va2llJ30sXG4gICAgREVMRVRFOiB7Y29tbWFuZDogJ2RlbGV0ZUNvb2tpZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3NvdXJjZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0UGFnZVNvdXJjZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RpdGxlJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICd0aXRsZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdmaW5kRWxlbWVudCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd1c2luZycsICd2YWx1ZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudHMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdmaW5kRWxlbWVudHMnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsndXNpbmcnLCAndmFsdWUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvYWN0aXZlJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdhY3RpdmUnfSwgLy8gVzNDOiBodHRwczovL3czYy5naXRodWIuaW8vd2ViZHJpdmVyL3dlYmRyaXZlci1zcGVjLmh0bWwjZGZuLWdldC1hY3RpdmUtZWxlbWVudFxuICAgIFBPU1Q6IHtjb21tYW5kOiAnYWN0aXZlJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkJzoge1xuICAgIEdFVDoge31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL2VsZW1lbnQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdmaW5kRWxlbWVudEZyb21FbGVtZW50JywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3VzaW5nJywgJ3ZhbHVlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvZWxlbWVudHMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdmaW5kRWxlbWVudHNGcm9tRWxlbWVudCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd1c2luZycsICd2YWx1ZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL2NsaWNrJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnY2xpY2snfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvc3VibWl0Jzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnc3VibWl0J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL3RleHQnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFRleHQnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvdmFsdWUnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ3NldFZhbHVlJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgdmFsaWRhdGU6IChqc29uT2JqKSA9PiAoIXV0aWwuaGFzVmFsdWUoanNvbk9iai52YWx1ZSkgJiYgIXV0aWwuaGFzVmFsdWUoanNvbk9iai50ZXh0KSkgJiZcbiAgICAgICAgICAgICd3ZSByZXF1aXJlIG9uZSBvZiBcInRleHRcIiBvciBcInZhbHVlXCIgcGFyYW1zJyxcbiAgICAgICAgb3B0aW9uYWw6IFsndmFsdWUnLCAndGV4dCddLFxuICAgICAgICAvLyBvdmVycmlkZSB0aGUgZGVmYXVsdCBhcmd1bWVudCBjb25zdHJ1Y3RvciBiZWNhdXNlIG9mIHRoZSBzcGVjaWFsXG4gICAgICAgIC8vIGxvZ2ljIGhlcmUuIEJhc2ljYWxseSB3ZSB3YW50IHRvIGFjY2VwdCBlaXRoZXIgYSB2YWx1ZSAob2xkIEpTT05XUClcbiAgICAgICAgLy8gb3IgYSB0ZXh0IChuZXcgVzNDKSBwYXJhbWV0ZXIsIGJ1dCBvbmx5IHNlbmQgb25lIG9mIHRoZW0gdG8gdGhlXG4gICAgICAgIC8vIGNvbW1hbmQgKG5vdCBib3RoKS4gUHJlZmVyICd2YWx1ZScgc2luY2UgaXQncyBtb3JlXG4gICAgICAgIC8vIGJhY2t3YXJkLWNvbXBhdGlibGUuXG4gICAgICAgIG1ha2VBcmdzOiAoanNvbk9iaikgPT4gW2pzb25PYmoudmFsdWUgfHwganNvbk9iai50ZXh0XSxcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2tleXMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdrZXlzJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3ZhbHVlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvbmFtZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0TmFtZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9jbGVhcic6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2NsZWFyJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL3NlbGVjdGVkJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdlbGVtZW50U2VsZWN0ZWQnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvZW5hYmxlZCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZWxlbWVudEVuYWJsZWQnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvYXR0cmlidXRlLzpuYW1lJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRBdHRyaWJ1dGUnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvZXF1YWxzLzpvdGhlcklkJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdlcXVhbHNFbGVtZW50J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL2Rpc3BsYXllZCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZWxlbWVudERpc3BsYXllZCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9sb2NhdGlvbic6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0TG9jYXRpb24nfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvbG9jYXRpb25faW5fdmlldyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0TG9jYXRpb25JblZpZXcnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvc2l6ZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0U2l6ZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9zaGFkb3cnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2VsZW1lbnRTaGFkb3dSb290J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvc2hhZG93LzpzaGFkb3dJZC9lbGVtZW50Jzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZmluZEVsZW1lbnRGcm9tU2hhZG93Um9vdCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd1c2luZycsICd2YWx1ZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvc2hhZG93LzpzaGFkb3dJZC9lbGVtZW50cyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2ZpbmRFbGVtZW50c0Zyb21TaGFkb3dSb290JywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3VzaW5nJywgJ3ZhbHVlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvY3NzLzpwcm9wZXJ0eU5hbWUnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldENzc1Byb3BlcnR5J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvb3JpZW50YXRpb24nOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldE9yaWVudGF0aW9uJ30sXG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZXRPcmllbnRhdGlvbicsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydvcmllbnRhdGlvbiddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvcm90YXRpb24nOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFJvdGF0aW9uJ30sXG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZXRSb3RhdGlvbicsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd4JywgJ3knLCAneiddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvbW92ZXRvJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnbW92ZVRvJywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ2VsZW1lbnQnLCAneG9mZnNldCcsICd5b2Zmc2V0J119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9jbGljayc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2NsaWNrQ3VycmVudCcsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydidXR0b24nXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2J1dHRvbmRvd24nOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdidXR0b25Eb3duJywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ2J1dHRvbiddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYnV0dG9udXAnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdidXR0b25VcCcsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydidXR0b24nXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2RvdWJsZWNsaWNrJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZG91YmxlQ2xpY2snfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90b3VjaC9jbGljayc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2NsaWNrJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2VsZW1lbnQnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RvdWNoL2Rvd24nOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICd0b3VjaERvd24nLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsneCcsICd5J119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90b3VjaC91cCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3RvdWNoVXAnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsneCcsICd5J119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90b3VjaC9tb3ZlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAndG91Y2hNb3ZlJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3gnLCAneSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdG91Y2gvc2Nyb2xsJzoge1xuICAgIFBPU1Q6IHt9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RvdWNoL2RvdWJsZWNsaWNrJzoge1xuICAgIFBPU1Q6IHt9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FjdGlvbnMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdwZXJmb3JtQWN0aW9ucycsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydhY3Rpb25zJ119fSxcbiAgICBERUxFVEU6IHtjb21tYW5kOiAncmVsZWFzZUFjdGlvbnMnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90b3VjaC9sb25nY2xpY2snOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICd0b3VjaExvbmdDbGljaycsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydlbGVtZW50cyddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdG91Y2gvZmxpY2snOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdmbGljaycsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydlbGVtZW50JywgJ3hzcGVlZCcsICd5c3BlZWQnLCAneG9mZnNldCcsICd5b2Zmc2V0JywgJ3NwZWVkJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9sb2NhdGlvbic6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0R2VvTG9jYXRpb24nfSxcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NldEdlb0xvY2F0aW9uJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2xvY2F0aW9uJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9sb2NhbF9zdG9yYWdlJzoge1xuICAgIEdFVDoge30sXG4gICAgUE9TVDoge30sXG4gICAgREVMRVRFOiB7fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9sb2NhbF9zdG9yYWdlL2tleS86a2V5Jzoge1xuICAgIEdFVDoge30sXG4gICAgREVMRVRFOiB7fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9sb2NhbF9zdG9yYWdlL3NpemUnOiB7XG4gICAgR0VUOiB7fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9zZXNzaW9uX3N0b3JhZ2UnOiB7XG4gICAgR0VUOiB7fSxcbiAgICBQT1NUOiB7fSxcbiAgICBERUxFVEU6IHt9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3Nlc3Npb25fc3RvcmFnZS9rZXkvOmtleSc6IHtcbiAgICBHRVQ6IHt9LFxuICAgIERFTEVURToge31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvc2Vzc2lvbl9zdG9yYWdlL3NpemUnOiB7XG4gICAgR0VUOiB7fVxuICB9LFxuICAvLyBTZWxlbml1bSA0IGNsaWVudHNcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvc2UvbG9nJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZ2V0TG9nJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3R5cGUnXX19XG4gIH0sXG4gIC8vIFNlbGVuaXVtIDQgY2xpZW50c1xuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9zZS9sb2cvdHlwZXMnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldExvZ1R5cGVzJ31cbiAgfSxcbiAgLy8gbWpzb253aXJlLCBhcHBpdW0gY2xpZW50c1xuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9sb2cnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdnZXRMb2cnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsndHlwZSddfX1cbiAgfSxcbiAgLy8gbWpzb253aXJlLCBhcHBpdW0gY2xpZW50c1xuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9sb2cvdHlwZXMnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldExvZ1R5cGVzJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwbGljYXRpb25fY2FjaGUvc3RhdHVzJzoge1xuICAgIEdFVDoge31cbiAgfSxcblxuICAvL1xuICAvLyBtanNvbndpcmVcbiAgLy9cbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvY29udGV4dCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0Q3VycmVudENvbnRleHQnfSxcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NldENvbnRleHQnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnbmFtZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvY29udGV4dHMnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldENvbnRleHRzJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL3BhZ2VJbmRleCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0UGFnZUluZGV4J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvbmV0d29ya19jb25uZWN0aW9uJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXROZXR3b3JrQ29ubmVjdGlvbid9LFxuICAgIFBPU1Q6IHtjb21tYW5kOiAnc2V0TmV0d29ya0Nvbm5lY3Rpb24nLCBwYXlsb2FkUGFyYW1zOiB7dW53cmFwOiAncGFyYW1ldGVycycsIHJlcXVpcmVkOiBbJ3R5cGUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RvdWNoL3BlcmZvcm0nOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdwZXJmb3JtVG91Y2gnLCBwYXlsb2FkUGFyYW1zOiB7d3JhcDogJ2FjdGlvbnMnLCByZXF1aXJlZDogWydhY3Rpb25zJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90b3VjaC9tdWx0aS9wZXJmb3JtJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncGVyZm9ybU11bHRpQWN0aW9uJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2FjdGlvbnMnXSwgb3B0aW9uYWw6IFsnZWxlbWVudElkJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9yZWNlaXZlX2FzeW5jX3Jlc3BvbnNlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncmVjZWl2ZUFzeW5jUmVzcG9uc2UnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnc3RhdHVzJywgJ3ZhbHVlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3NoYWtlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnbW9iaWxlU2hha2UnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3N5c3RlbV90aW1lJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXREZXZpY2VUaW1lJywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ2Zvcm1hdCddfX0sXG4gICAgUE9TVDoge2NvbW1hbmQ6ICdnZXREZXZpY2VUaW1lJywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ2Zvcm1hdCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9sb2NrJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnbG9jaycsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydzZWNvbmRzJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3VubG9jayc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3VubG9jayd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvaXNfbG9ja2VkJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnaXNMb2NrZWQnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vc3RhcnRfcmVjb3JkaW5nX3NjcmVlbic6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3N0YXJ0UmVjb3JkaW5nU2NyZWVuJywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ29wdGlvbnMnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9zdG9wX3JlY29yZGluZ19zY3JlZW4nOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzdG9wUmVjb3JkaW5nU2NyZWVuJywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ29wdGlvbnMnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9wZXJmb3JtYW5jZURhdGEvdHlwZXMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdnZXRQZXJmb3JtYW5jZURhdGFUeXBlcyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9nZXRQZXJmb3JtYW5jZURhdGEnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdnZXRQZXJmb3JtYW5jZURhdGEnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsncGFja2FnZU5hbWUnLCAnZGF0YVR5cGUnXSwgb3B0aW9uYWw6IFsnZGF0YVJlYWRUaW1lb3V0J119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3ByZXNzX2tleWNvZGUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdwcmVzc0tleUNvZGUnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsna2V5Y29kZSddLCBvcHRpb25hbDogWydtZXRhc3RhdGUnLCAnZmxhZ3MnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvbG9uZ19wcmVzc19rZXljb2RlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnbG9uZ1ByZXNzS2V5Q29kZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydrZXljb2RlJ10sIG9wdGlvbmFsOiBbJ21ldGFzdGF0ZScsICdmbGFncyddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9maW5nZXJfcHJpbnQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdmaW5nZXJwcmludCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydmaW5nZXJwcmludElkJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3NlbmRfc21zJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnc2VuZFNNUycsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydwaG9uZU51bWJlcicsICdtZXNzYWdlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2dzbV9jYWxsJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZ3NtQ2FsbCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydwaG9uZU51bWJlcicsICdhY3Rpb24nXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvZ3NtX3NpZ25hbCc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnZ3NtU2lnbmFsJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgdmFsaWRhdGU6IChqc29uT2JqKSA9PiAoIXV0aWwuaGFzVmFsdWUoanNvbk9iai5zaWduYWxTdHJlbmd0aCkgJiYgIXV0aWwuaGFzVmFsdWUoanNvbk9iai5zaWduYWxTdHJlbmdoKSkgJiZcbiAgICAgICAgICAgICd3ZSByZXF1aXJlIG9uZSBvZiBcInNpZ25hbFN0cmVuZ3RoXCIgb3IgXCJzaWduYWxTdHJlbmdoXCIgcGFyYW1zJyxcbiAgICAgICAgb3B0aW9uYWw6IFsnc2lnbmFsU3RyZW5ndGgnLCAnc2lnbmFsU3RyZW5naCddLFxuICAgICAgICAvLyBiYWNrd2FyZC1jb21wYXRpYmxlLiBzb25PYmouc2lnbmFsU3RyZW5ndGggY2FuIGJlIDBcbiAgICAgICAgbWFrZUFyZ3M6IChqc29uT2JqKSA9PiBbdXRpbC5oYXNWYWx1ZShqc29uT2JqLnNpZ25hbFN0cmVuZ3RoKSA/IGpzb25PYmouc2lnbmFsU3RyZW5ndGggOiBqc29uT2JqLnNpZ25hbFN0cmVuZ2hdXG4gICAgICB9XG4gICAgfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2dzbV92b2ljZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2dzbVZvaWNlJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3N0YXRlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3Bvd2VyX2NhcGFjaXR5Jzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncG93ZXJDYXBhY2l0eScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydwZXJjZW50J119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3Bvd2VyX2FjJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncG93ZXJBQycsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydzdGF0ZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9uZXR3b3JrX3NwZWVkJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnbmV0d29ya1NwZWVkJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ25ldHNwZWVkJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2tleWV2ZW50Jzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAna2V5ZXZlbnQnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsna2V5Y29kZSddLCBvcHRpb25hbDogWydtZXRhc3RhdGUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2Uvcm90YXRlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnbW9iaWxlUm90YXRpb24nLCBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICByZXF1aXJlZDogWyd4JywgJ3knLCAncmFkaXVzJywgJ3JvdGF0aW9uJywgJ3RvdWNoQ291bnQnLCAnZHVyYXRpb24nXSxcbiAgICAgIG9wdGlvbmFsOiBbJ2VsZW1lbnQnXSB9fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2N1cnJlbnRfYWN0aXZpdHknOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEN1cnJlbnRBY3Rpdml0eSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvY3VycmVudF9wYWNrYWdlJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRDdXJyZW50UGFja2FnZSd9XG4gIH0sXG4gIC8vcmVnaW9uIEFwcGxpY2F0aW9ucyBNYW5hZ2VtZW50XG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvaW5zdGFsbF9hcHAnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ2luc3RhbGxBcHAnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICByZXF1aXJlZDogWydhcHBQYXRoJ10sXG4gICAgICAgIG9wdGlvbmFsOiBbJ29wdGlvbnMnXVxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9hY3RpdmF0ZV9hcHAnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ2FjdGl2YXRlQXBwJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFtbJ2FwcElkJ10sIFsnYnVuZGxlSWQnXV0sXG4gICAgICAgIG9wdGlvbmFsOiBbJ29wdGlvbnMnXVxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9yZW1vdmVfYXBwJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdyZW1vdmVBcHAnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICByZXF1aXJlZDogW1snYXBwSWQnXSwgWydidW5kbGVJZCddXSxcbiAgICAgICAgb3B0aW9uYWw6IFsnb3B0aW9ucyddXG4gICAgICB9XG4gICAgfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3Rlcm1pbmF0ZV9hcHAnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ3Rlcm1pbmF0ZUFwcCcsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHJlcXVpcmVkOiBbWydhcHBJZCddLCBbJ2J1bmRsZUlkJ11dLFxuICAgICAgICBvcHRpb25hbDogWydvcHRpb25zJ11cbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvYXBwX2luc3RhbGxlZCc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnaXNBcHBJbnN0YWxsZWQnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICByZXF1aXJlZDogW1snYXBwSWQnXSwgWydidW5kbGVJZCddXVxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9hcHBfc3RhdGUnOiB7XG4gICAgR0VUOiB7XG4gICAgICBjb21tYW5kOiAncXVlcnlBcHBTdGF0ZScsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHJlcXVpcmVkOiBbWydhcHBJZCddLCBbJ2J1bmRsZUlkJ11dXG4gICAgICB9XG4gICAgfSxcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAncXVlcnlBcHBTdGF0ZScsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHJlcXVpcmVkOiBbWydhcHBJZCddLCBbJ2J1bmRsZUlkJ11dXG4gICAgICB9XG4gICAgfVxuICB9LFxuICAvL2VuZHJlZ2lvblxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2hpZGVfa2V5Ym9hcmQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdoaWRlS2V5Ym9hcmQnLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnc3RyYXRlZ3knLCAna2V5JywgJ2tleUNvZGUnLCAna2V5TmFtZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9pc19rZXlib2FyZF9zaG93bic6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnaXNLZXlib2FyZFNob3duJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9wdXNoX2ZpbGUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdwdXNoRmlsZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydwYXRoJywgJ2RhdGEnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvcHVsbF9maWxlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncHVsbEZpbGUnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsncGF0aCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9wdWxsX2ZvbGRlcic6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3B1bGxGb2xkZXInLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsncGF0aCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS90b2dnbGVfYWlycGxhbmVfbW9kZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3RvZ2dsZUZsaWdodE1vZGUnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3RvZ2dsZV9kYXRhJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAndG9nZ2xlRGF0YSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvdG9nZ2xlX3dpZmknOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICd0b2dnbGVXaUZpJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS90b2dnbGVfbG9jYXRpb25fc2VydmljZXMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICd0b2dnbGVMb2NhdGlvblNlcnZpY2VzJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9vcGVuX25vdGlmaWNhdGlvbnMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdvcGVuTm90aWZpY2F0aW9ucyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2Uvc3RhcnRfYWN0aXZpdHknOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ3N0YXJ0QWN0aXZpdHknLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICByZXF1aXJlZDogWydhcHBQYWNrYWdlJywgJ2FwcEFjdGl2aXR5J10sXG4gICAgICAgIG9wdGlvbmFsOiBbJ2FwcFdhaXRQYWNrYWdlJywgJ2FwcFdhaXRBY3Rpdml0eScsICdpbnRlbnRBY3Rpb24nLFxuICAgICAgICAgICdpbnRlbnRDYXRlZ29yeScsICdpbnRlbnRGbGFncycsICdvcHRpb25hbEludGVudEFyZ3VtZW50cycsICdkb250U3RvcEFwcE9uUmVzZXQnXVxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9zeXN0ZW1fYmFycyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0U3lzdGVtQmFycyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvZGlzcGxheV9kZW5zaXR5Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXREaXNwbGF5RGVuc2l0eSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9zaW11bGF0b3IvdG91Y2hfaWQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICd0b3VjaElkJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ21hdGNoJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vc2ltdWxhdG9yL3RvZ2dsZV90b3VjaF9pZF9lbnJvbGxtZW50Jzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAndG9nZ2xlRW5yb2xsVG91Y2hJZCcsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydlbmFibGVkJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vYXBwL2xhdW5jaCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2xhdW5jaEFwcCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9hcHAvY2xvc2UnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdjbG9zZUFwcCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9hcHAvcmVzZXQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdyZXNldCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9hcHAvYmFja2dyb3VuZCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2JhY2tncm91bmQnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnc2Vjb25kcyddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2FwcC9lbmRfdGVzdF9jb3ZlcmFnZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2VuZENvdmVyYWdlJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2ludGVudCcsICdwYXRoJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vYXBwL3N0cmluZ3MnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdnZXRTdHJpbmdzJywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ2xhbmd1YWdlJywgJ3N0cmluZ0ZpbGUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9lbGVtZW50LzplbGVtZW50SWQvdmFsdWUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZXRWYWx1ZUltbWVkaWF0ZScsIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgIHZhbGlkYXRlOiAoanNvbk9iaikgPT4gKCF1dGlsLmhhc1ZhbHVlKGpzb25PYmoudmFsdWUpICYmICF1dGlsLmhhc1ZhbHVlKGpzb25PYmoudGV4dCkpICYmXG4gICAgICAgICAgJ3dlIHJlcXVpcmUgb25lIG9mIFwidGV4dFwiIG9yIFwidmFsdWVcIiBwYXJhbXMnLFxuICAgICAgb3B0aW9uYWw6IFsndmFsdWUnLCAndGV4dCddLFxuICAgICAgLy8gV2Ugd2FudCB0byBlaXRoZXIgYSB2YWx1ZSAob2xkIEpTT05XUCkgb3IgYSB0ZXh0IChuZXcgVzNDKSBwYXJhbWV0ZXIsXG4gICAgICAvLyBidXQgb25seSBzZW5kIG9uZSBvZiB0aGVtIHRvIHRoZSBjb21tYW5kIChub3QgYm90aCkuXG4gICAgICAvLyBQcmVmZXIgJ3ZhbHVlJyBzaW5jZSBpdCdzIG1vcmUgYmFja3dhcmQtY29tcGF0aWJsZS5cbiAgICAgIG1ha2VBcmdzOiAoanNvbk9iaikgPT4gW2pzb25PYmoudmFsdWUgfHwganNvbk9iai50ZXh0XSxcbiAgICB9fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZWxlbWVudC86ZWxlbWVudElkL3JlcGxhY2VfdmFsdWUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdyZXBsYWNlVmFsdWUnLCBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICB2YWxpZGF0ZTogKGpzb25PYmopID0+ICghdXRpbC5oYXNWYWx1ZShqc29uT2JqLnZhbHVlKSAmJiAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLnRleHQpKSAmJlxuICAgICAgICAgICd3ZSByZXF1aXJlIG9uZSBvZiBcInRleHRcIiBvciBcInZhbHVlXCIgcGFyYW1zJyxcbiAgICAgIG9wdGlvbmFsOiBbJ3ZhbHVlJywgJ3RleHQnXSxcbiAgICAgIC8vIFdlIHdhbnQgdG8gZWl0aGVyIGEgdmFsdWUgKG9sZCBKU09OV1ApIG9yIGEgdGV4dCAobmV3IFczQykgcGFyYW1ldGVyLFxuICAgICAgLy8gYnV0IG9ubHkgc2VuZCBvbmUgb2YgdGhlbSB0byB0aGUgY29tbWFuZCAobm90IGJvdGgpLlxuICAgICAgLy8gUHJlZmVyICd2YWx1ZScgc2luY2UgaXQncyBtb3JlIGJhY2t3YXJkLWNvbXBhdGlibGUuXG4gICAgICBtYWtlQXJnczogKGpzb25PYmopID0+IFtqc29uT2JqLnZhbHVlID8/IGpzb25PYmoudGV4dCA/PyAnJ10sXG4gICAgfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL3NldHRpbmdzJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAndXBkYXRlU2V0dGluZ3MnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnc2V0dGluZ3MnXX19LFxuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRTZXR0aW5ncyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9yZWNlaXZlX2FzeW5jX3Jlc3BvbnNlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncmVjZWl2ZUFzeW5jUmVzcG9uc2UnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsncmVzcG9uc2UnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9ldmVudHMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdnZXRMb2dFdmVudHMnLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsndHlwZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2xvZ19ldmVudCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2xvZ0N1c3RvbUV2ZW50JywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3ZlbmRvcicsICdldmVudCddfX1cbiAgfSxcblxuICAvKlxuICAgKiBUaGUgVzNDIHNwZWMgaGFzIHNvbWUgY2hhbmdlcyB0byB0aGUgd2lyZSBwcm90b2NvbC5cbiAgICogaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYmRyaXZlci93ZWJkcml2ZXItc3BlYy5odG1sXG4gICAqIEJlZ2luIHRvIGFkZCB0aG9zZSBjaGFuZ2VzIGhlcmUsIGtlZXBpbmcgdGhlIG9sZCB2ZXJzaW9uXG4gICAqIHNpbmNlIGNsaWVudHMgc3RpbGwgaW1wbGVtZW50IHRoZW0uXG4gICAqL1xuICAvLyBNSlNPTldQXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FsZXJ0X3RleHQnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEFsZXJ0VGV4dCd9LFxuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdzZXRBbGVydFRleHQnLFxuICAgICAgcGF5bG9hZFBhcmFtczogU0VUX0FMRVJUX1RFWFRfUEFZTE9BRF9QQVJBTVMsXG4gICAgfVxuICB9LFxuICAvLyBNSlNPTldQXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FjY2VwdF9hbGVydCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3Bvc3RBY2NlcHRBbGVydCd9XG4gIH0sXG4gIC8vIE1KU09OV1BcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZGlzbWlzc19hbGVydCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3Bvc3REaXNtaXNzQWxlcnQnfVxuICB9LFxuICAvLyBodHRwczovL3czYy5naXRodWIuaW8vd2ViZHJpdmVyL3dlYmRyaXZlci1zcGVjLmh0bWwjdXNlci1wcm9tcHRzXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FsZXJ0L3RleHQnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEFsZXJ0VGV4dCd9LFxuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdzZXRBbGVydFRleHQnLFxuICAgICAgcGF5bG9hZFBhcmFtczogU0VUX0FMRVJUX1RFWFRfUEFZTE9BRF9QQVJBTVMsXG4gICAgfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hbGVydC9hY2NlcHQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdwb3N0QWNjZXB0QWxlcnQnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hbGVydC9kaXNtaXNzJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncG9zdERpc21pc3NBbGVydCd9XG4gIH0sXG4gIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJkcml2ZXIvd2ViZHJpdmVyLXNwZWMuaHRtbCNnZXQtZWxlbWVudC1yZWN0XG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9yZWN0Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRFbGVtZW50UmVjdCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2V4ZWN1dGUvc3luYyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2V4ZWN1dGUnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnc2NyaXB0JywgJ2FyZ3MnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2V4ZWN1dGUvYXN5bmMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdleGVjdXRlQXN5bmMnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnc2NyaXB0JywgJ2FyZ3MnXX19XG4gIH0sXG4gIC8vIFByZS1XM0MgZW5kcG9pbnQgZm9yIGVsZW1lbnQgc2NyZWVuc2hvdFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9zY3JlZW5zaG90LzplbGVtZW50SWQnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEVsZW1lbnRTY3JlZW5zaG90J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL3NjcmVlbnNob3QnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEVsZW1lbnRTY3JlZW5zaG90J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2luZG93L3JlY3QnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFdpbmRvd1JlY3QnfSxcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NldFdpbmRvd1JlY3QnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsneCcsICd5JywgJ3dpZHRoJywgJ2hlaWdodCddfX0sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dpbmRvdy9tYXhpbWl6ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ21heGltaXplV2luZG93J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2luZG93L21pbmltaXplJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnbWluaW1pemVXaW5kb3cnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvZnVsbHNjcmVlbic6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2Z1bGxTY3JlZW5XaW5kb3cnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvcHJvcGVydHkvOm5hbWUnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFByb3BlcnR5J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9zZXRfY2xpcGJvYXJkJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdzZXRDbGlwYm9hcmQnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICByZXF1aXJlZDogWydjb250ZW50J10sXG4gICAgICAgIG9wdGlvbmFsOiBbXG4gICAgICAgICAgJ2NvbnRlbnRUeXBlJyxcbiAgICAgICAgICAnbGFiZWwnLFxuICAgICAgICBdXG4gICAgICB9LFxuICAgIH1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9nZXRfY2xpcGJvYXJkJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdnZXRDbGlwYm9hcmQnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICBvcHRpb25hbDogW1xuICAgICAgICAgICdjb250ZW50VHlwZScsXG4gICAgICAgIF1cbiAgICAgIH0sXG4gICAgfVxuICB9LFxuXG4gIC8vIGNocm9taXVtIGRldnRvb2xzXG4gIC8vIGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMvKy9tYXN0ZXIvY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL3NlcnZlci9odHRwX2hhbmRsZXIuY2NcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvOnZlbmRvci9jZHAvZXhlY3V0ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2V4ZWN1dGVDZHAnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnY21kJywgJ3BhcmFtcyddfX1cbiAgfSxcblxuICAvL3JlZ2lvbiBXZWJhdXRoblxuICAvLyBodHRwczovL3d3dy53My5vcmcvVFIvd2ViYXV0aG4tMi8jc2N0bi1hdXRvbWF0aW9uLWFkZC12aXJ0dWFsLWF1dGhlbnRpY2F0b3JcblxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93ZWJhdXRobi9hdXRoZW50aWNhdG9yJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdhZGRWaXJ0dWFsQXV0aGVudGljYXRvcicsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHJlcXVpcmVkOiBbJ3Byb3RvY29sJywgJ3RyYW5zcG9ydCddLFxuICAgICAgICBvcHRpb25hbDogWydoYXNSZXNpZGVudEtleScsICdoYXNVc2VyVmVyaWZpY2F0aW9uJywgJ2lzVXNlckNvbnNlbnRpbmcnLCAnaXNVc2VyVmVyaWZpZWQnXSxcbiAgICAgIH1cbiAgICB9XG4gIH0sXG5cbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2ViYXV0aG4vYXV0aGVudGljYXRvci86YXV0aGVudGljYXRvcklkJzoge1xuICAgIERFTEVURToge1xuICAgICAgY29tbWFuZDogJ3JlbW92ZVZpcnR1YWxBdXRoZW50aWNhdG9yJ1xuICAgIH1cbiAgfSxcblxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93ZWJhdXRobi9hdXRoZW50aWNhdG9yLzphdXRoZW50aWNhdG9ySWQvY3JlZGVudGlhbCc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnYWRkQXV0aENyZWRlbnRpYWwnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICByZXF1aXJlZDogWydjcmVkZW50aWFsSWQnLCAnaXNSZXNpZGVudENyZWRlbnRpYWwnLCAncnBJZCcsICdwcml2YXRlS2V5J10sXG4gICAgICAgIG9wdGlvbmFsOiBbJ3VzZXJIYW5kbGUnLCAnc2lnbkNvdW50J10sXG4gICAgICB9XG4gICAgfVxuICB9LFxuXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3IvOmF1dGhlbnRpY2F0b3JJZC9jcmVkZW50aWFscyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0QXV0aENyZWRlbnRpYWwnfSxcbiAgICBERUxFVEU6IHtjb21tYW5kOiAncmVtb3ZlQWxsQXV0aENyZWRlbnRpYWxzJ30sXG4gIH0sXG5cbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2ViYXV0aG4vYXV0aGVudGljYXRvci86YXV0aGVudGljYXRvcklkL2NyZWRlbnRpYWxzLzpjcmVkZW50aWFsSWQnOiB7XG4gICAgREVMRVRFOiB7Y29tbWFuZDogJ3JlbW92ZUF1dGhDcmVkZW50aWFsJ31cbiAgfSxcblxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93ZWJhdXRobi9hdXRoZW50aWNhdG9yLzphdXRoZW50aWNhdG9ySWQvdXYnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ3NldFVzZXJBdXRoVmVyaWZpZWQnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICByZXF1aXJlZDogWydpc1VzZXJWZXJpZmllZCddXG4gICAgICB9XG4gICAgfVxuICB9LFxuXG4gIC8vZW5kcmVnaW9uXG5cbn07XG5cbi8vIGRyaXZlciBjb21tYW5kIG5hbWVzXG5sZXQgQUxMX0NPTU1BTkRTID0gW107XG5mb3IgKGxldCB2IG9mIF8udmFsdWVzKE1FVEhPRF9NQVApKSB7XG4gIGZvciAobGV0IG0gb2YgXy52YWx1ZXModikpIHtcbiAgICBpZiAobS5jb21tYW5kKSB7XG4gICAgICBBTExfQ09NTUFORFMucHVzaChtLmNvbW1hbmQpO1xuICAgIH1cbiAgfVxufVxuXG5jb25zdCBSRV9FU0NBUEUgPSAvWy1bXFxde30oKSs/LixcXFxcXiR8I1xcc10vZztcbmNvbnN0IFJFX1BBUkFNID0gLyhbOipdKShcXHcrKS9nO1xuXG5jbGFzcyBSb3V0ZSB7XG4gIGNvbnN0cnVjdG9yIChyb3V0ZSkge1xuICAgIHRoaXMucGFyYW1OYW1lcyA9IFtdO1xuXG4gICAgbGV0IHJlU3RyID0gcm91dGUucmVwbGFjZShSRV9FU0NBUEUsICdcXFxcJCYnKTtcbiAgICByZVN0ciA9IHJlU3RyLnJlcGxhY2UoUkVfUEFSQU0sIChfLCBtb2RlLCBuYW1lKSA9PiB7XG4gICAgICB0aGlzLnBhcmFtTmFtZXMucHVzaChuYW1lKTtcbiAgICAgIHJldHVybiBtb2RlID09PSAnOicgPyAnKFteL10qKScgOiAnKC4qKSc7XG4gICAgfSk7XG4gICAgdGhpcy5yb3V0ZVJlZ2V4cCA9IG5ldyBSZWdFeHAoYF4ke3JlU3RyfSRgKTtcbiAgfVxuXG4gIHBhcnNlICh1cmwpIHtcbiAgICAvL2lmICh1cmwuaW5kZXhPZigndGltZW91dHMnKSAhPT0gLTEgJiYgdGhpcy5yb3V0ZVJlZ2V4cC50b1N0cmluZygpLmluZGV4T2YoJ3RpbWVvdXRzJykgIT09IC0xKSB7XG4gICAgLy9kZWJ1Z2dlcjtcbiAgICAvL31cbiAgICBsZXQgbWF0Y2hlcyA9IHVybC5tYXRjaCh0aGlzLnJvdXRlUmVnZXhwKTtcbiAgICBpZiAoIW1hdGNoZXMpIHJldHVybjsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBjdXJseVxuICAgIGxldCBpID0gMDtcbiAgICBsZXQgcGFyYW1zID0ge307XG4gICAgd2hpbGUgKGkgPCB0aGlzLnBhcmFtTmFtZXMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBwYXJhbU5hbWUgPSB0aGlzLnBhcmFtTmFtZXNbaSsrXTtcbiAgICAgIHBhcmFtc1twYXJhbU5hbWVdID0gbWF0Y2hlc1tpXTtcbiAgICB9XG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxufVxuXG5mdW5jdGlvbiByb3V0ZVRvQ29tbWFuZE5hbWUgKGVuZHBvaW50LCBtZXRob2QsIGJhc2VQYXRoID0gREVGQVVMVF9CQVNFX1BBVEgpIHtcbiAgbGV0IGRzdFJvdXRlID0gbnVsbDtcblxuICAvLyByZW1vdmUgYW55IHF1ZXJ5IHN0cmluZ1xuICBpZiAoZW5kcG9pbnQuaW5jbHVkZXMoJz8nKSkge1xuICAgIGVuZHBvaW50ID0gZW5kcG9pbnQuc2xpY2UoMCwgZW5kcG9pbnQuaW5kZXhPZignPycpKTtcbiAgfVxuXG4gIGNvbnN0IGFjdHVhbEVuZHBvaW50ID0gZW5kcG9pbnQgPT09ICcvJyA/ICcnIDpcbiAgICAoXy5zdGFydHNXaXRoKGVuZHBvaW50LCAnLycpID8gZW5kcG9pbnQgOiBgLyR7ZW5kcG9pbnR9YCk7XG5cbiAgZm9yIChsZXQgY3VycmVudFJvdXRlIG9mIF8ua2V5cyhNRVRIT0RfTUFQKSkge1xuICAgIGNvbnN0IHJvdXRlID0gbmV3IFJvdXRlKGAke2Jhc2VQYXRofSR7Y3VycmVudFJvdXRlfWApO1xuICAgIC8vIHdlIGRvbid0IGNhcmUgYWJvdXQgdGhlIGFjdHVhbCBzZXNzaW9uIGlkIGZvciBtYXRjaGluZ1xuICAgIGlmIChyb3V0ZS5wYXJzZShgJHtiYXNlUGF0aH0vc2Vzc2lvbi9pZ25vcmVkLXNlc3Npb24taWQke2FjdHVhbEVuZHBvaW50fWApIHx8XG4gICAgICAgIHJvdXRlLnBhcnNlKGAke2Jhc2VQYXRofSR7YWN0dWFsRW5kcG9pbnR9YCkgfHwgcm91dGUucGFyc2UoYWN0dWFsRW5kcG9pbnQpKSB7XG4gICAgICBkc3RSb3V0ZSA9IGN1cnJlbnRSb3V0ZTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuICBpZiAoIWRzdFJvdXRlKSByZXR1cm47IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgY3VybHlcblxuICBjb25zdCBtZXRob2RzID0gXy5nZXQoTUVUSE9EX01BUCwgZHN0Um91dGUpO1xuICBtZXRob2QgPSBfLnRvVXBwZXIobWV0aG9kKTtcbiAgaWYgKF8uaGFzKG1ldGhvZHMsIG1ldGhvZCkpIHtcbiAgICBjb25zdCBkc3RNZXRob2QgPSBfLmdldChtZXRob2RzLCBtZXRob2QpO1xuICAgIGlmIChkc3RNZXRob2QuY29tbWFuZCkge1xuICAgICAgcmV0dXJuIGRzdE1ldGhvZC5jb21tYW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLyBkcml2ZXIgY29tbWFuZHMgdGhhdCBkbyBub3QgcmVxdWlyZSBhIHNlc3Npb24gdG8gYWxyZWFkeSBleGlzdFxuY29uc3QgTk9fU0VTU0lPTl9JRF9DT01NQU5EUyA9IFsnY3JlYXRlU2Vzc2lvbicsICdnZXRTdGF0dXMnLCAnZ2V0U2Vzc2lvbnMnXTtcblxuZXhwb3J0IHsgTUVUSE9EX01BUCwgQUxMX0NPTU1BTkRTLCBOT19TRVNTSU9OX0lEX0NPTU1BTkRTLCByb3V0ZVRvQ29tbWFuZE5hbWUgfTtcbiJdfQ==
@@ -0,0 +1,8 @@
1
+ export namespace validators {
2
+ function setUrl(url: any): void;
3
+ function implicitWait(ms: any): void;
4
+ function asyncScriptTimeout(ms: any): void;
5
+ function clickCurrent(button: any): void;
6
+ function setNetworkConnection(type: any): void;
7
+ }
8
+ //# sourceMappingURL=validators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../../lib/protocol/validators.js"],"names":[],"mappings":";IAaU,gCAKP;IACa,qCAEb;IACmB,2CAEnB;IACa,yCAIb;IACqB,+CAIrB"}
@@ -44,7 +44,5 @@ const validators = {
44
44
  }
45
45
  }
46
46
  };
47
- exports.validators = validators;require('source-map-support').install();
48
-
49
-
50
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9wcm90b2NvbC92YWxpZGF0b3JzLmpzIl0sIm5hbWVzIjpbImlzTnVtYmVyIiwibyIsIl8iLCJpc05hTiIsInBhcnNlSW50IiwicGFyc2VGbG9hdCIsIm1zVmFsaWRhdG9yIiwibXMiLCJFcnJvciIsInZhbGlkYXRvcnMiLCJzZXRVcmwiLCJ1cmwiLCJtYXRjaCIsImltcGxpY2l0V2FpdCIsImFzeW5jU2NyaXB0VGltZW91dCIsImNsaWNrQ3VycmVudCIsImJ1dHRvbiIsImlzVW5kZWZpbmVkIiwic2V0TmV0d29ya0Nvbm5lY3Rpb24iLCJ0eXBlIiwiaW5kZXhPZiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQSxTQUFTQSxRQUFULENBQW1CQyxDQUFuQixFQUFzQjtBQUNwQixTQUFPQyxnQkFBRUYsUUFBRixDQUFXQyxDQUFYLEtBQWlCLENBQUNDLGdCQUFFQyxLQUFGLENBQVFDLFFBQVEsQ0FBQ0gsQ0FBRCxFQUFJLEVBQUosQ0FBaEIsQ0FBbEIsSUFBOEMsQ0FBQ0MsZ0JBQUVDLEtBQUYsQ0FBUUUsVUFBVSxDQUFDSixDQUFELENBQWxCLENBQXREO0FBQ0Q7O0FBRUQsU0FBU0ssV0FBVCxDQUFzQkMsRUFBdEIsRUFBMEI7QUFDeEIsTUFBSSxDQUFDTCxnQkFBRUYsUUFBRixDQUFXTyxFQUFYLENBQUQsSUFBbUJBLEVBQUUsR0FBRyxDQUE1QixFQUErQjtBQUM3QixVQUFNLElBQUlDLEtBQUosQ0FBVSxnREFBVixDQUFOO0FBQ0Q7QUFDRjs7QUFFRCxNQUFNQyxVQUFVLEdBQUc7QUFDakJDLEVBQUFBLE1BQU0sRUFBR0MsR0FBRCxJQUFTO0FBRWYsUUFBSSxDQUFDQSxHQUFELElBQVEsQ0FBQ0EsR0FBRyxDQUFDQyxLQUFKLENBQVUsMkNBQVYsQ0FBYixFQUFxRTtBQUNuRSxZQUFNLElBQUlKLEtBQUosQ0FBVSx3Q0FBVixDQUFOO0FBQ0Q7QUFDRixHQU5nQjtBQU9qQkssRUFBQUEsWUFBWSxFQUFHTixFQUFELElBQVE7QUFDcEJELElBQUFBLFdBQVcsQ0FBQ0MsRUFBRCxDQUFYO0FBQ0QsR0FUZ0I7QUFVakJPLEVBQUFBLGtCQUFrQixFQUFHUCxFQUFELElBQVE7QUFDMUJELElBQUFBLFdBQVcsQ0FBQ0MsRUFBRCxDQUFYO0FBQ0QsR0FaZ0I7QUFhakJRLEVBQUFBLFlBQVksRUFBR0MsTUFBRCxJQUFZO0FBQ3hCLFFBQUksRUFBRWhCLFFBQVEsQ0FBQ2dCLE1BQUQsQ0FBUixJQUFvQmQsZ0JBQUVlLFdBQUYsQ0FBY0QsTUFBZCxDQUF0QixLQUFpREEsTUFBTSxHQUFHLENBQVQsSUFBY0EsTUFBTSxHQUFHLENBQTVFLEVBQWdGO0FBQzlFLFlBQU0sSUFBSVIsS0FBSixDQUFVLGlDQUFWLENBQU47QUFDRDtBQUNGLEdBakJnQjtBQWtCakJVLEVBQUFBLG9CQUFvQixFQUFHQyxJQUFELElBQVU7QUFDOUIsUUFBSSxDQUFDbkIsUUFBUSxDQUFDbUIsSUFBRCxDQUFULElBQW1CLENBQUMsQ0FBRCxFQUFJLENBQUosRUFBTyxDQUFQLEVBQVUsQ0FBVixFQUFhLENBQWIsRUFBZ0JDLE9BQWhCLENBQXdCRCxJQUF4QixNQUFrQyxDQUFDLENBQTFELEVBQTZEO0FBQzNELFlBQU0sSUFBSVgsS0FBSixDQUFVLDJDQUFWLENBQU47QUFDRDtBQUNGO0FBdEJnQixDQUFuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmZ1bmN0aW9uIGlzTnVtYmVyIChvKSB7XG4gIHJldHVybiBfLmlzTnVtYmVyKG8pIHx8ICFfLmlzTmFOKHBhcnNlSW50KG8sIDEwKSkgfHwgIV8uaXNOYU4ocGFyc2VGbG9hdChvKSk7XG59XG5cbmZ1bmN0aW9uIG1zVmFsaWRhdG9yIChtcykge1xuICBpZiAoIV8uaXNOdW1iZXIobXMpIHx8IG1zIDwgMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignV2FpdCBtcyBtdXN0IGJlIGEgbnVtYmVyIGVxdWFsIHRvIDAgb3IgZ3JlYXRlcicpO1xuICB9XG59XG5cbmNvbnN0IHZhbGlkYXRvcnMgPSB7XG4gIHNldFVybDogKHVybCkgPT4ge1xuICAgIC8vIGVpdGhlciBhbiBgeHl6Oi8vYCwgYGFib3V0OmAsIG9yIGBkYXRhOmAgc2NoZW1lIGlzIGFsbG93ZWRcbiAgICBpZiAoIXVybCB8fCAhdXJsLm1hdGNoKC9eKFthLXpBLVowLTlfKy4tXSs6XFwvXFwvKXwoYWJvdXQ6KXwoZGF0YTopLykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVXJsIG9yIFVyaSBtdXN0IHN0YXJ0IHdpdGggPHNjaGVtZT46Ly8nKTtcbiAgICB9XG4gIH0sXG4gIGltcGxpY2l0V2FpdDogKG1zKSA9PiB7XG4gICAgbXNWYWxpZGF0b3IobXMpO1xuICB9LFxuICBhc3luY1NjcmlwdFRpbWVvdXQ6IChtcykgPT4ge1xuICAgIG1zVmFsaWRhdG9yKG1zKTtcbiAgfSxcbiAgY2xpY2tDdXJyZW50OiAoYnV0dG9uKSA9PiB7XG4gICAgaWYgKCEoaXNOdW1iZXIoYnV0dG9uKSB8fCBfLmlzVW5kZWZpbmVkKGJ1dHRvbikpIHx8IChidXR0b24gPCAwIHx8IGJ1dHRvbiA+IDIpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NsaWNrIGJ1dHRvbiBtdXN0IGJlIDAsIDEsIG9yIDInKTtcbiAgICB9XG4gIH0sXG4gIHNldE5ldHdvcmtDb25uZWN0aW9uOiAodHlwZSkgPT4ge1xuICAgIGlmICghaXNOdW1iZXIodHlwZSkgfHwgWzAsIDEsIDIsIDQsIDZdLmluZGV4T2YodHlwZSkgPT09IC0xKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05ldHdvcmsgdHlwZSBtdXN0IGJlIG9uZSBvZiAwLCAxLCAyLCA0LCA2Jyk7XG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgeyB2YWxpZGF0b3JzIH07XG4iXSwiZmlsZSI6ImxpYi9wcm90b2NvbC92YWxpZGF0b3JzLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uIn0=
47
+ exports.validators = validators;
48
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9wcm90b2NvbC92YWxpZGF0b3JzLmpzIl0sIm5hbWVzIjpbImlzTnVtYmVyIiwibyIsIl8iLCJpc05hTiIsInBhcnNlSW50IiwicGFyc2VGbG9hdCIsIm1zVmFsaWRhdG9yIiwibXMiLCJFcnJvciIsInZhbGlkYXRvcnMiLCJzZXRVcmwiLCJ1cmwiLCJtYXRjaCIsImltcGxpY2l0V2FpdCIsImFzeW5jU2NyaXB0VGltZW91dCIsImNsaWNrQ3VycmVudCIsImJ1dHRvbiIsImlzVW5kZWZpbmVkIiwic2V0TmV0d29ya0Nvbm5lY3Rpb24iLCJ0eXBlIiwiaW5kZXhPZiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQSxTQUFTQSxRQUFULENBQW1CQyxDQUFuQixFQUFzQjtBQUNwQixTQUFPQyxnQkFBRUYsUUFBRixDQUFXQyxDQUFYLEtBQWlCLENBQUNDLGdCQUFFQyxLQUFGLENBQVFDLFFBQVEsQ0FBQ0gsQ0FBRCxFQUFJLEVBQUosQ0FBaEIsQ0FBbEIsSUFBOEMsQ0FBQ0MsZ0JBQUVDLEtBQUYsQ0FBUUUsVUFBVSxDQUFDSixDQUFELENBQWxCLENBQXREO0FBQ0Q7O0FBRUQsU0FBU0ssV0FBVCxDQUFzQkMsRUFBdEIsRUFBMEI7QUFDeEIsTUFBSSxDQUFDTCxnQkFBRUYsUUFBRixDQUFXTyxFQUFYLENBQUQsSUFBbUJBLEVBQUUsR0FBRyxDQUE1QixFQUErQjtBQUM3QixVQUFNLElBQUlDLEtBQUosQ0FBVSxnREFBVixDQUFOO0FBQ0Q7QUFDRjs7QUFFRCxNQUFNQyxVQUFVLEdBQUc7QUFDakJDLEVBQUFBLE1BQU0sRUFBR0MsR0FBRCxJQUFTO0FBRWYsUUFBSSxDQUFDQSxHQUFELElBQVEsQ0FBQ0EsR0FBRyxDQUFDQyxLQUFKLENBQVUsMkNBQVYsQ0FBYixFQUFxRTtBQUNuRSxZQUFNLElBQUlKLEtBQUosQ0FBVSx3Q0FBVixDQUFOO0FBQ0Q7QUFDRixHQU5nQjtBQU9qQkssRUFBQUEsWUFBWSxFQUFHTixFQUFELElBQVE7QUFDcEJELElBQUFBLFdBQVcsQ0FBQ0MsRUFBRCxDQUFYO0FBQ0QsR0FUZ0I7QUFVakJPLEVBQUFBLGtCQUFrQixFQUFHUCxFQUFELElBQVE7QUFDMUJELElBQUFBLFdBQVcsQ0FBQ0MsRUFBRCxDQUFYO0FBQ0QsR0FaZ0I7QUFhakJRLEVBQUFBLFlBQVksRUFBR0MsTUFBRCxJQUFZO0FBQ3hCLFFBQUksRUFBRWhCLFFBQVEsQ0FBQ2dCLE1BQUQsQ0FBUixJQUFvQmQsZ0JBQUVlLFdBQUYsQ0FBY0QsTUFBZCxDQUF0QixLQUFpREEsTUFBTSxHQUFHLENBQVQsSUFBY0EsTUFBTSxHQUFHLENBQTVFLEVBQWdGO0FBQzlFLFlBQU0sSUFBSVIsS0FBSixDQUFVLGlDQUFWLENBQU47QUFDRDtBQUNGLEdBakJnQjtBQWtCakJVLEVBQUFBLG9CQUFvQixFQUFHQyxJQUFELElBQVU7QUFDOUIsUUFBSSxDQUFDbkIsUUFBUSxDQUFDbUIsSUFBRCxDQUFULElBQW1CLENBQUMsQ0FBRCxFQUFJLENBQUosRUFBTyxDQUFQLEVBQVUsQ0FBVixFQUFhLENBQWIsRUFBZ0JDLE9BQWhCLENBQXdCRCxJQUF4QixNQUFrQyxDQUFDLENBQTFELEVBQTZEO0FBQzNELFlBQU0sSUFBSVgsS0FBSixDQUFVLDJDQUFWLENBQU47QUFDRDtBQUNGO0FBdEJnQixDQUFuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmZ1bmN0aW9uIGlzTnVtYmVyIChvKSB7XG4gIHJldHVybiBfLmlzTnVtYmVyKG8pIHx8ICFfLmlzTmFOKHBhcnNlSW50KG8sIDEwKSkgfHwgIV8uaXNOYU4ocGFyc2VGbG9hdChvKSk7XG59XG5cbmZ1bmN0aW9uIG1zVmFsaWRhdG9yIChtcykge1xuICBpZiAoIV8uaXNOdW1iZXIobXMpIHx8IG1zIDwgMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignV2FpdCBtcyBtdXN0IGJlIGEgbnVtYmVyIGVxdWFsIHRvIDAgb3IgZ3JlYXRlcicpO1xuICB9XG59XG5cbmNvbnN0IHZhbGlkYXRvcnMgPSB7XG4gIHNldFVybDogKHVybCkgPT4ge1xuICAgIC8vIGVpdGhlciBhbiBgeHl6Oi8vYCwgYGFib3V0OmAsIG9yIGBkYXRhOmAgc2NoZW1lIGlzIGFsbG93ZWRcbiAgICBpZiAoIXVybCB8fCAhdXJsLm1hdGNoKC9eKFthLXpBLVowLTlfKy4tXSs6XFwvXFwvKXwoYWJvdXQ6KXwoZGF0YTopLykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVXJsIG9yIFVyaSBtdXN0IHN0YXJ0IHdpdGggPHNjaGVtZT46Ly8nKTtcbiAgICB9XG4gIH0sXG4gIGltcGxpY2l0V2FpdDogKG1zKSA9PiB7XG4gICAgbXNWYWxpZGF0b3IobXMpO1xuICB9LFxuICBhc3luY1NjcmlwdFRpbWVvdXQ6IChtcykgPT4ge1xuICAgIG1zVmFsaWRhdG9yKG1zKTtcbiAgfSxcbiAgY2xpY2tDdXJyZW50OiAoYnV0dG9uKSA9PiB7XG4gICAgaWYgKCEoaXNOdW1iZXIoYnV0dG9uKSB8fCBfLmlzVW5kZWZpbmVkKGJ1dHRvbikpIHx8IChidXR0b24gPCAwIHx8IGJ1dHRvbiA+IDIpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NsaWNrIGJ1dHRvbiBtdXN0IGJlIDAsIDEsIG9yIDInKTtcbiAgICB9XG4gIH0sXG4gIHNldE5ldHdvcmtDb25uZWN0aW9uOiAodHlwZSkgPT4ge1xuICAgIGlmICghaXNOdW1iZXIodHlwZSkgfHwgWzAsIDEsIDIsIDQsIDZdLmluZGV4T2YodHlwZSkgPT09IC0xKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05ldHdvcmsgdHlwZSBtdXN0IGJlIG9uZSBvZiAwLCAxLCAyLCA0LCA2Jyk7XG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgeyB2YWxpZGF0b3JzIH07XG4iXX0=
@@ -0,0 +1,5 @@
1
+ # Driver Test Helpers
2
+
3
+ This directory contains modules which expose test suites that an external driver can use to test against the base implementation. They are published in the `@appium/base-driver` package.
4
+
5
+ Drivers wanting to leverage these suites will want to add `@appium/base-driver` to their `devDependencies`.