@aerokit/sdk 12.81.0 → 12.83.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 (376) hide show
  1. package/dist/cjs/bpm/deployer.js +1 -1
  2. package/dist/cjs/bpm/index.js +1 -1
  3. package/dist/cjs/bpm/process.js +1 -1
  4. package/dist/cjs/bpm/tasks.js +1 -1
  5. package/dist/cjs/bpm/tracer.js +1 -1
  6. package/dist/cjs/bpm/values.js +1 -1
  7. package/dist/cjs/cache/cache.js +1 -1
  8. package/dist/cjs/cache/index.js +1 -1
  9. package/dist/cjs/cms/cmis.js +1 -1
  10. package/dist/cjs/cms/index.js +1 -1
  11. package/dist/cjs/component/decorators.js +1 -1
  12. package/dist/cjs/component/index.js +1 -1
  13. package/dist/cjs/core/configurations.js +1 -1
  14. package/dist/cjs/core/context.js +1 -1
  15. package/dist/cjs/core/env.js +1 -1
  16. package/dist/cjs/core/globals.js +1 -1
  17. package/dist/cjs/core/index.js +1 -1
  18. package/dist/cjs/db/dao.js +1 -1
  19. package/dist/cjs/db/database.js +1 -1
  20. package/dist/cjs/db/decorators.js +1 -1
  21. package/dist/cjs/db/index.js +1 -1
  22. package/dist/cjs/db/insert.js +1 -1
  23. package/dist/cjs/db/orm.js +1 -1
  24. package/dist/cjs/db/ormstatements.js +1 -1
  25. package/dist/cjs/db/procedure.js +1 -1
  26. package/dist/cjs/db/query.js +1 -1
  27. package/dist/cjs/db/repository.js +1 -1
  28. package/dist/cjs/db/sequence.js +1 -1
  29. package/dist/cjs/db/sql.js +1 -1
  30. package/dist/cjs/db/store.js +1 -1
  31. package/dist/cjs/db/translator.js +1 -1
  32. package/dist/cjs/db/update.js +1 -1
  33. package/dist/cjs/etcd/client.js +1 -1
  34. package/dist/cjs/etcd/index.js +1 -1
  35. package/dist/cjs/extensions/decorators.js +1 -1
  36. package/dist/cjs/extensions/extensions.js +1 -1
  37. package/dist/cjs/extensions/index.js +1 -1
  38. package/dist/cjs/git/client.js +1 -1
  39. package/dist/cjs/git/index.js +1 -1
  40. package/dist/cjs/http/client-async.js +1 -1
  41. package/dist/cjs/http/client.js +1 -1
  42. package/dist/cjs/http/decorators.js +1 -1
  43. package/dist/cjs/http/errors/ForbiddenError.js +1 -1
  44. package/dist/cjs/http/errors/ValidationError.js +1 -1
  45. package/dist/cjs/http/errors.js +1 -1
  46. package/dist/cjs/http/index.js +1 -1
  47. package/dist/cjs/http/request.js +1 -1
  48. package/dist/cjs/http/response.js +1 -1
  49. package/dist/cjs/http/rs/resource-http-controller.js +1 -1
  50. package/dist/cjs/http/rs/resource-mappings.js +1 -1
  51. package/dist/cjs/http/rs/resource-method.js +1 -1
  52. package/dist/cjs/http/rs/resource.js +1 -1
  53. package/dist/cjs/http/rs.js +1 -1
  54. package/dist/cjs/http/session.js +1 -1
  55. package/dist/cjs/http/upload.js +1 -1
  56. package/dist/cjs/http/utils.js +1 -1
  57. package/dist/cjs/indexing/index.js +1 -1
  58. package/dist/cjs/indexing/searcher.js +1 -1
  59. package/dist/cjs/indexing/writer.js +1 -1
  60. package/dist/cjs/integrations/index.js +1 -1
  61. package/dist/cjs/integrations/integrations.js +1 -1
  62. package/dist/cjs/io/bytes.js +1 -1
  63. package/dist/cjs/io/files.js +1 -1
  64. package/dist/cjs/io/image.js +1 -1
  65. package/dist/cjs/io/index.js +1 -1
  66. package/dist/cjs/io/streams.js +1 -1
  67. package/dist/cjs/io/zip.js +1 -1
  68. package/dist/cjs/job/decorators.js +1 -1
  69. package/dist/cjs/job/index.js +1 -1
  70. package/dist/cjs/job/scheduler.js +1 -1
  71. package/dist/cjs/junit/index.js +1 -1
  72. package/dist/cjs/junit/junit.js +1 -1
  73. package/dist/cjs/kafka/consumer.js +1 -1
  74. package/dist/cjs/kafka/index.js +1 -1
  75. package/dist/cjs/kafka/producer.js +1 -1
  76. package/dist/cjs/log/index.js +1 -1
  77. package/dist/cjs/log/logging.js +1 -1
  78. package/dist/cjs/mail/client.js +1 -1
  79. package/dist/cjs/mail/index.js +1 -1
  80. package/dist/cjs/messaging/consumer.js +1 -1
  81. package/dist/cjs/messaging/decorators.js +1 -1
  82. package/dist/cjs/messaging/index.js +1 -1
  83. package/dist/cjs/messaging/producer.js +1 -1
  84. package/dist/cjs/mongodb/client.js +1 -1
  85. package/dist/cjs/mongodb/dao.js +1 -1
  86. package/dist/cjs/mongodb/index.js +1 -1
  87. package/dist/cjs/net/decorators.js +1 -1
  88. package/dist/cjs/net/index.js +1 -1
  89. package/dist/cjs/net/soap.js +1 -1
  90. package/dist/cjs/net/websockets.js +1 -1
  91. package/dist/cjs/pdf/index.js +1 -1
  92. package/dist/cjs/pdf/pdf.js +3 -3
  93. package/dist/cjs/platform/command.js +1 -1
  94. package/dist/cjs/platform/engines.js +1 -1
  95. package/dist/cjs/platform/index.js +1 -1
  96. package/dist/cjs/platform/lifecycle.js +1 -1
  97. package/dist/cjs/platform/os.js +1 -1
  98. package/dist/cjs/platform/problems.js +1 -1
  99. package/dist/cjs/platform/registry.js +1 -1
  100. package/dist/cjs/platform/repository.js +1 -1
  101. package/dist/cjs/platform/workspace.js +1 -1
  102. package/dist/cjs/qldb/index.js +1 -1
  103. package/dist/cjs/qldb/qldb.js +1 -1
  104. package/dist/cjs/rabbitmq/consumer.js +1 -1
  105. package/dist/cjs/rabbitmq/index.js +1 -1
  106. package/dist/cjs/rabbitmq/producer.js +1 -1
  107. package/dist/cjs/redis/client.js +1 -1
  108. package/dist/cjs/redis/index.js +1 -1
  109. package/dist/cjs/security/decorators.js +1 -1
  110. package/dist/cjs/security/index.js +1 -1
  111. package/dist/cjs/security/oauth.js +1 -1
  112. package/dist/cjs/security/user.js +1 -1
  113. package/dist/cjs/template/engines.js +1 -1
  114. package/dist/cjs/template/index.js +1 -1
  115. package/dist/cjs/utils/alphanumeric.js +2 -2
  116. package/dist/cjs/utils/base64.js +1 -1
  117. package/dist/cjs/utils/converter.js +1 -1
  118. package/dist/cjs/utils/digest.js +1 -1
  119. package/dist/cjs/utils/escape.js +1 -1
  120. package/dist/cjs/utils/hex.js +1 -1
  121. package/dist/cjs/utils/index.js +1 -1
  122. package/dist/cjs/utils/jsonpath.js +1 -1
  123. package/dist/cjs/utils/qrcode.js +1 -1
  124. package/dist/cjs/utils/url.js +1 -1
  125. package/dist/cjs/utils/utf8.js +1 -1
  126. package/dist/cjs/utils/uuid.js +1 -1
  127. package/dist/cjs/utils/xml.js +1 -1
  128. package/dist/dts/bpm/deployer.d.ts +35 -3
  129. package/dist/dts/bpm/index.d.ts +14 -0
  130. package/dist/dts/bpm/process.d.ts +28 -3
  131. package/dist/dts/bpm/tasks.d.ts +32 -1
  132. package/dist/dts/bpm/tracer.d.ts +35 -0
  133. package/dist/dts/bpm/values.d.ts +17 -3
  134. package/dist/dts/cache/cache.d.ts +38 -0
  135. package/dist/dts/cache/index.d.ts +10 -0
  136. package/dist/dts/cms/cmis.d.ts +28 -3
  137. package/dist/dts/cms/index.d.ts +10 -0
  138. package/dist/dts/component/decorators.d.ts +35 -5
  139. package/dist/dts/component/index.d.ts +10 -0
  140. package/dist/dts/core/configurations.d.ts +43 -4
  141. package/dist/dts/core/context.d.ts +35 -2
  142. package/dist/dts/core/env.d.ts +29 -2
  143. package/dist/dts/core/globals.d.ts +34 -2
  144. package/dist/dts/core/index.d.ts +13 -0
  145. package/dist/dts/db/database.d.ts +34 -0
  146. package/dist/dts/db/decorators.d.ts +55 -2
  147. package/dist/dts/db/index.d.ts +19 -0
  148. package/dist/dts/db/orm.d.ts +43 -0
  149. package/dist/dts/db/procedure.d.ts +37 -0
  150. package/dist/dts/db/query.d.ts +25 -1
  151. package/dist/dts/db/repository.d.ts +52 -0
  152. package/dist/dts/db/sequence.d.ts +31 -2
  153. package/dist/dts/db/sql.d.ts +33 -0
  154. package/dist/dts/db/store.d.ts +27 -0
  155. package/dist/dts/db/translator.d.ts +34 -1
  156. package/dist/dts/db/update.d.ts +38 -0
  157. package/dist/dts/etcd/client.d.ts +36 -0
  158. package/dist/dts/etcd/index.d.ts +10 -0
  159. package/dist/dts/extensions/decorators.d.ts +28 -0
  160. package/dist/dts/extensions/extensions.d.ts +30 -1
  161. package/dist/dts/extensions/index.d.ts +11 -0
  162. package/dist/dts/git/client.d.ts +28 -0
  163. package/dist/dts/git/index.d.ts +10 -0
  164. package/dist/dts/http/client-async.d.ts +29 -1
  165. package/dist/dts/http/client.d.ts +29 -1
  166. package/dist/dts/http/decorators.d.ts +38 -0
  167. package/dist/dts/http/errors/ForbiddenError.d.ts +6 -2
  168. package/dist/dts/http/errors/ValidationError.d.ts +6 -2
  169. package/dist/dts/http/errors.d.ts +14 -0
  170. package/dist/dts/http/index.d.ts +18 -0
  171. package/dist/dts/http/request.d.ts +30 -3
  172. package/dist/dts/http/response.d.ts +40 -3
  173. package/dist/dts/http/rs/resource-mappings.d.ts +30 -0
  174. package/dist/dts/http/rs.d.ts +38 -0
  175. package/dist/dts/http/session.d.ts +34 -3
  176. package/dist/dts/http/upload.d.ts +27 -2
  177. package/dist/dts/http/utils.d.ts +42 -0
  178. package/dist/dts/indexing/index.d.ts +11 -0
  179. package/dist/dts/indexing/searcher.d.ts +35 -2
  180. package/dist/dts/indexing/writer.d.ts +23 -2
  181. package/dist/dts/integrations/index.d.ts +10 -0
  182. package/dist/dts/integrations/integrations.d.ts +27 -3
  183. package/dist/dts/io/bytes.d.ts +33 -2
  184. package/dist/dts/io/files.d.ts +34 -2
  185. package/dist/dts/io/image.d.ts +27 -2
  186. package/dist/dts/io/index.d.ts +14 -0
  187. package/dist/dts/io/streams.d.ts +40 -0
  188. package/dist/dts/io/zip.d.ts +32 -0
  189. package/dist/dts/job/decorators.d.ts +29 -0
  190. package/dist/dts/job/index.d.ts +11 -0
  191. package/dist/dts/job/scheduler.d.ts +33 -2
  192. package/dist/dts/junit/index.d.ts +10 -0
  193. package/dist/dts/junit/junit.d.ts +31 -0
  194. package/dist/dts/kafka/consumer.d.ts +31 -0
  195. package/dist/dts/kafka/index.d.ts +11 -0
  196. package/dist/dts/kafka/producer.d.ts +31 -0
  197. package/dist/dts/log/index.d.ts +10 -0
  198. package/dist/dts/log/logging.d.ts +32 -0
  199. package/dist/dts/mail/client.d.ts +27 -0
  200. package/dist/dts/mail/index.d.ts +10 -0
  201. package/dist/dts/messaging/consumer.d.ts +29 -2
  202. package/dist/dts/messaging/decorators.d.ts +32 -0
  203. package/dist/dts/messaging/index.d.ts +12 -0
  204. package/dist/dts/messaging/producer.d.ts +27 -2
  205. package/dist/dts/mongodb/client.d.ts +37 -0
  206. package/dist/dts/mongodb/dao.d.ts +53 -0
  207. package/dist/dts/mongodb/index.d.ts +11 -0
  208. package/dist/dts/net/decorators.d.ts +27 -0
  209. package/dist/dts/net/index.d.ts +13 -0
  210. package/dist/dts/net/soap.d.ts +34 -0
  211. package/dist/dts/net/websockets.d.ts +34 -0
  212. package/dist/dts/pdf/index.d.ts +10 -0
  213. package/dist/dts/pdf/pdf.d.ts +41 -2
  214. package/dist/dts/platform/command.d.ts +26 -0
  215. package/dist/dts/platform/engines.d.ts +38 -0
  216. package/dist/dts/platform/index.d.ts +19 -0
  217. package/dist/dts/platform/lifecycle.d.ts +29 -0
  218. package/dist/dts/platform/os.d.ts +30 -0
  219. package/dist/dts/platform/problems.d.ts +36 -0
  220. package/dist/dts/platform/registry.d.ts +39 -0
  221. package/dist/dts/platform/repository.d.ts +40 -0
  222. package/dist/dts/platform/workspace.d.ts +42 -0
  223. package/dist/dts/qldb/index.d.ts +12 -0
  224. package/dist/dts/qldb/qldb.d.ts +14 -0
  225. package/dist/dts/rabbitmq/consumer.d.ts +24 -3
  226. package/dist/dts/rabbitmq/index.d.ts +13 -0
  227. package/dist/dts/rabbitmq/producer.d.ts +20 -3
  228. package/dist/dts/redis/client.d.ts +31 -3
  229. package/dist/dts/redis/index.d.ts +12 -0
  230. package/dist/dts/security/decorators.d.ts +34 -0
  231. package/dist/dts/security/index.d.ts +14 -0
  232. package/dist/dts/security/oauth.d.ts +27 -0
  233. package/dist/dts/security/user.d.ts +39 -0
  234. package/dist/dts/template/engines.d.ts +31 -0
  235. package/dist/dts/template/index.d.ts +12 -0
  236. package/dist/dts/utils/alphanumeric.d.ts +36 -2
  237. package/dist/dts/utils/base64.d.ts +30 -0
  238. package/dist/dts/utils/converter.d.ts +37 -2
  239. package/dist/dts/utils/digest.d.ts +31 -0
  240. package/dist/dts/utils/escape.d.ts +28 -3
  241. package/dist/dts/utils/hex.d.ts +30 -0
  242. package/dist/dts/utils/index.d.ts +23 -0
  243. package/dist/dts/utils/jsonpath.d.ts +43 -0
  244. package/dist/dts/utils/qrcode.d.ts +24 -3
  245. package/dist/dts/utils/url.d.ts +37 -3
  246. package/dist/dts/utils/utf8.d.ts +34 -3
  247. package/dist/dts/utils/uuid.d.ts +28 -2
  248. package/dist/dts/utils/xml.d.ts +31 -2
  249. package/dist/esm/bpm/deployer.mjs +1 -1
  250. package/dist/esm/bpm/index.mjs +1 -1
  251. package/dist/esm/bpm/process.mjs +1 -1
  252. package/dist/esm/bpm/tasks.mjs +1 -1
  253. package/dist/esm/bpm/tracer.mjs +1 -1
  254. package/dist/esm/bpm/values.mjs +1 -1
  255. package/dist/esm/cache/cache.mjs +1 -1
  256. package/dist/esm/cache/index.mjs +1 -1
  257. package/dist/esm/cms/cmis.mjs +1 -1
  258. package/dist/esm/cms/index.mjs +1 -1
  259. package/dist/esm/component/decorators.mjs +1 -1
  260. package/dist/esm/component/index.mjs +1 -1
  261. package/dist/esm/core/configurations.mjs +1 -1
  262. package/dist/esm/core/context.mjs +1 -1
  263. package/dist/esm/core/env.mjs +1 -1
  264. package/dist/esm/core/globals.mjs +1 -1
  265. package/dist/esm/core/index.mjs +1 -1
  266. package/dist/esm/db/dao.mjs +1 -1
  267. package/dist/esm/db/database.mjs +1 -1
  268. package/dist/esm/db/decorators.mjs +1 -1
  269. package/dist/esm/db/index.mjs +1 -1
  270. package/dist/esm/db/insert.mjs +1 -1
  271. package/dist/esm/db/orm.mjs +1 -1
  272. package/dist/esm/db/ormstatements.mjs +1 -1
  273. package/dist/esm/db/procedure.mjs +1 -1
  274. package/dist/esm/db/query.mjs +1 -1
  275. package/dist/esm/db/repository.mjs +1 -1
  276. package/dist/esm/db/sequence.mjs +1 -1
  277. package/dist/esm/db/sql.mjs +1 -1
  278. package/dist/esm/db/store.mjs +1 -1
  279. package/dist/esm/db/translator.mjs +1 -1
  280. package/dist/esm/db/update.mjs +1 -1
  281. package/dist/esm/etcd/client.mjs +1 -1
  282. package/dist/esm/etcd/index.mjs +1 -1
  283. package/dist/esm/extensions/decorators.mjs +1 -1
  284. package/dist/esm/extensions/extensions.mjs +1 -1
  285. package/dist/esm/extensions/index.mjs +1 -1
  286. package/dist/esm/git/client.mjs +1 -1
  287. package/dist/esm/git/index.mjs +1 -1
  288. package/dist/esm/http/client-async.mjs +1 -1
  289. package/dist/esm/http/client.mjs +1 -1
  290. package/dist/esm/http/decorators.mjs +1 -1
  291. package/dist/esm/http/errors/ForbiddenError.mjs +1 -1
  292. package/dist/esm/http/errors/ValidationError.mjs +1 -1
  293. package/dist/esm/http/errors.mjs +1 -1
  294. package/dist/esm/http/index.mjs +1 -1
  295. package/dist/esm/http/request.mjs +1 -1
  296. package/dist/esm/http/response.mjs +1 -1
  297. package/dist/esm/http/rs/resource-http-controller.mjs +1 -1
  298. package/dist/esm/http/rs/resource-mappings.mjs +1 -1
  299. package/dist/esm/http/rs/resource-method.mjs +1 -1
  300. package/dist/esm/http/rs/resource.mjs +1 -1
  301. package/dist/esm/http/rs.mjs +1 -1
  302. package/dist/esm/http/session.mjs +1 -1
  303. package/dist/esm/http/upload.mjs +1 -1
  304. package/dist/esm/http/utils.mjs +1 -1
  305. package/dist/esm/indexing/index.mjs +1 -1
  306. package/dist/esm/indexing/searcher.mjs +1 -1
  307. package/dist/esm/indexing/writer.mjs +1 -1
  308. package/dist/esm/integrations/index.mjs +1 -1
  309. package/dist/esm/integrations/integrations.mjs +1 -1
  310. package/dist/esm/io/bytes.mjs +1 -1
  311. package/dist/esm/io/files.mjs +1 -1
  312. package/dist/esm/io/image.mjs +1 -1
  313. package/dist/esm/io/index.mjs +1 -1
  314. package/dist/esm/io/streams.mjs +1 -1
  315. package/dist/esm/io/zip.mjs +1 -1
  316. package/dist/esm/job/decorators.mjs +1 -1
  317. package/dist/esm/job/index.mjs +1 -1
  318. package/dist/esm/job/scheduler.mjs +1 -1
  319. package/dist/esm/junit/index.mjs +1 -1
  320. package/dist/esm/junit/junit.mjs +1 -1
  321. package/dist/esm/kafka/consumer.mjs +1 -1
  322. package/dist/esm/kafka/index.mjs +1 -1
  323. package/dist/esm/kafka/producer.mjs +1 -1
  324. package/dist/esm/log/index.mjs +1 -1
  325. package/dist/esm/log/logging.mjs +1 -1
  326. package/dist/esm/mail/client.mjs +1 -1
  327. package/dist/esm/mail/index.mjs +1 -1
  328. package/dist/esm/messaging/consumer.mjs +1 -1
  329. package/dist/esm/messaging/decorators.mjs +1 -1
  330. package/dist/esm/messaging/index.mjs +1 -1
  331. package/dist/esm/messaging/producer.mjs +1 -1
  332. package/dist/esm/mongodb/client.mjs +2 -2
  333. package/dist/esm/mongodb/dao.mjs +1 -1
  334. package/dist/esm/mongodb/index.mjs +1 -1
  335. package/dist/esm/net/decorators.mjs +1 -1
  336. package/dist/esm/net/index.mjs +1 -1
  337. package/dist/esm/net/soap.mjs +1 -1
  338. package/dist/esm/net/websockets.mjs +1 -1
  339. package/dist/esm/pdf/index.mjs +1 -1
  340. package/dist/esm/pdf/pdf.mjs +3 -3
  341. package/dist/esm/platform/command.mjs +1 -1
  342. package/dist/esm/platform/engines.mjs +1 -1
  343. package/dist/esm/platform/index.mjs +1 -1
  344. package/dist/esm/platform/lifecycle.mjs +1 -1
  345. package/dist/esm/platform/os.mjs +1 -1
  346. package/dist/esm/platform/problems.mjs +1 -1
  347. package/dist/esm/platform/registry.mjs +1 -1
  348. package/dist/esm/platform/repository.mjs +1 -1
  349. package/dist/esm/platform/workspace.mjs +1 -1
  350. package/dist/esm/qldb/index.mjs +1 -1
  351. package/dist/esm/qldb/qldb.mjs +1 -1
  352. package/dist/esm/rabbitmq/consumer.mjs +1 -1
  353. package/dist/esm/rabbitmq/index.mjs +1 -1
  354. package/dist/esm/rabbitmq/producer.mjs +1 -1
  355. package/dist/esm/redis/client.mjs +1 -1
  356. package/dist/esm/redis/index.mjs +1 -1
  357. package/dist/esm/security/decorators.mjs +1 -1
  358. package/dist/esm/security/index.mjs +1 -1
  359. package/dist/esm/security/oauth.mjs +1 -1
  360. package/dist/esm/security/user.mjs +1 -1
  361. package/dist/esm/template/engines.mjs +1 -1
  362. package/dist/esm/template/index.mjs +1 -1
  363. package/dist/esm/utils/alphanumeric.mjs +2 -2
  364. package/dist/esm/utils/base64.mjs +1 -1
  365. package/dist/esm/utils/converter.mjs +1 -1
  366. package/dist/esm/utils/digest.mjs +1 -1
  367. package/dist/esm/utils/escape.mjs +1 -1
  368. package/dist/esm/utils/hex.mjs +1 -1
  369. package/dist/esm/utils/index.mjs +1 -1
  370. package/dist/esm/utils/jsonpath.mjs +1 -1
  371. package/dist/esm/utils/qrcode.mjs +1 -1
  372. package/dist/esm/utils/url.mjs +1 -1
  373. package/dist/esm/utils/utf8.mjs +1 -1
  374. package/dist/esm/utils/uuid.mjs +1 -1
  375. package/dist/esm/utils/xml.mjs +1 -1
  376. package/package.json +1 -1
@@ -232,4 +232,4 @@ export {
232
232
  ZipInputStream,
233
233
  ZipOutputStream
234
234
  };
235
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2lvL3ppcC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXHJcbiAqIFByb3ZpZGVzIGEgZmFcdTAwRTdhZGUgZm9yIGhhbmRsaW5nIFpJUCBhcmNoaXZlIG9wZXJhdGlvbnMsIGluY2x1ZGluZ1xyXG4gKiBmaWxlIGNvbXByZXNzaW9uLCBkZWNvbXByZXNzaW9uLCBhbmQgc3RyZWFtLWJhc2VkIGVudHJ5IHByb2Nlc3NpbmcuXHJcbiAqL1xyXG5pbXBvcnQgeyBCeXRlcyB9IGZyb20gXCJAYWVyb2tpdC9zZGsvaW8vYnl0ZXNcIjtcclxuaW1wb3J0IHsgSW5wdXRTdHJlYW0sIE91dHB1dFN0cmVhbSB9IGZyb20gXCJAYWVyb2tpdC9zZGsvaW8vc3RyZWFtc1wiO1xyXG5cclxuY29uc3QgWmlwRmFjYWRlID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLmlvLlppcEZhY2FkZVwiKTtcclxuXHJcbi8qKlxyXG4gKiBUaGUgWmlwIGNsYXNzIHByb3ZpZGVzIHN0YXRpYyB1dGlsaXR5IG1ldGhvZHMgZm9yIG1hbmFnaW5nIFpJUCBhcmNoaXZlc1xyXG4gKiBhdCBib3RoIGZpbGUgcGF0aCBsZXZlbCBhbmQgc3RyZWFtIGxldmVsLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFppcCB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBaaXBzIHRoZSBjb250ZW50IG9mIGEgc291cmNlIGRpcmVjdG9yeSBvciBmaWxlIGludG8gYSB0YXJnZXQgWklQIGZpbGUuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHNvdXJjZVBhdGggVGhlIGZpbGUgc3lzdGVtIHBhdGggdG8gdGhlIGNvbnRlbnQgdG8gYmUgY29tcHJlc3NlZC5cclxuICAgICAqIEBwYXJhbSB6aXBUYXJnZXRQYXRoIFRoZSBmaWxlIHN5c3RlbSBwYXRoIHdoZXJlIHRoZSByZXN1bHRpbmcgWklQIGZpbGUgc2hvdWxkIGJlIHNhdmVkLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIHppcChzb3VyY2VQYXRoOiBzdHJpbmcsIHppcFRhcmdldFBhdGg6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIFppcEZhY2FkZS5leHBvcnRaaXAoc291cmNlUGF0aCwgemlwVGFyZ2V0UGF0aCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBVbnppcHMgYW4gZXhpc3RpbmcgWklQIGZpbGUgaW50byBhIHRhcmdldCBkaXJlY3RvcnkuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHppcFBhdGggVGhlIGZpbGUgc3lzdGVtIHBhdGggdG8gdGhlIFpJUCBmaWxlIHRvIGJlIGV4dHJhY3RlZC5cclxuICAgICAqIEBwYXJhbSB0YXJnZXRQYXRoIFRoZSBmaWxlIHN5c3RlbSBwYXRoIHRvIHRoZSBkaXJlY3Rvcnkgd2hlcmUgY29udGVudCBzaG91bGQgYmUgZXh0cmFjdGVkLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIHVuemlwKHppcFBhdGg6IHN0cmluZywgdGFyZ2V0UGF0aDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgWmlwRmFjYWRlLmltcG9ydFppcCh6aXBQYXRoLCB0YXJnZXRQYXRoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENyZWF0ZXMgYSB7QGxpbmsgWmlwSW5wdXRTdHJlYW19IHRoYXQgcmVhZHMgWklQIGFyY2hpdmUgZGF0YSBmcm9tIGEgcHJvdmlkZWRcclxuICAgICAqIGdlbmVyaWMge0BsaW5rIElucHV0U3RyZWFtfS4gVGhpcyBhbGxvd3MgZm9yIHJlYWRpbmcgWklQIGVudHJpZXMgd2l0aG91dFxyXG4gICAgICogd3JpdGluZyB0aGUgYXJjaGl2ZSB0byBkaXNrIGZpcnN0LlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBpbnB1dFN0cmVhbSBUaGUgc291cmNlIHN0cmVhbSBjb250YWluaW5nIHRoZSByYXcgWklQIGRhdGEuXHJcbiAgICAgKiBAcmV0dXJucyBBIG5ldyB7QGxpbmsgWmlwSW5wdXRTdHJlYW19IGluc3RhbmNlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZVppcElucHV0U3RyZWFtKGlucHV0U3RyZWFtOiBJbnB1dFN0cmVhbSk6IFppcElucHV0U3RyZWFtIHtcclxuICAgICAgICBjb25zdCBuYXRpdmUgPSBaaXBGYWNhZGUuY3JlYXRlWmlwSW5wdXRTdHJlYW0oaW5wdXRTdHJlYW0ubmF0aXZlKTtcclxuICAgICAgICByZXR1cm4gbmV3IFppcElucHV0U3RyZWFtKG5hdGl2ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGVzIGEge0BsaW5rIFppcE91dHB1dFN0cmVhbX0gdGhhdCB3cml0ZXMgY29tcHJlc3NlZCBaSVAgYXJjaGl2ZSBkYXRhXHJcbiAgICAgKiB0byBhIHByb3ZpZGVkIGdlbmVyaWMge0BsaW5rIE91dHB1dFN0cmVhbX0uIFRoaXMgYWxsb3dzIGZvciBjcmVhdGluZyBaSVAgYXJjaGl2ZXNcclxuICAgICAqIGluIG1lbW9yeSBvciBzdHJlYW1pbmcgdGhlbSBkaXJlY3RseS5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gb3V0cHV0U3RyZWFtIFRoZSBkZXN0aW5hdGlvbiBzdHJlYW0gd2hlcmUgdGhlIHJhdyBaSVAgZGF0YSB3aWxsIGJlIHdyaXR0ZW4uXHJcbiAgICAgKiBAcmV0dXJucyBBIG5ldyB7QGxpbmsgWmlwT3V0cHV0U3RyZWFtfSBpbnN0YW5jZS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGVaaXBPdXRwdXRTdHJlYW0ob3V0cHV0U3RyZWFtOiBPdXRwdXRTdHJlYW0pOiBaaXBPdXRwdXRTdHJlYW0ge1xyXG4gICAgICAgIGNvbnN0IG5hdGl2ZSA9IFppcEZhY2FkZS5jcmVhdGVaaXBPdXRwdXRTdHJlYW0ob3V0cHV0U3RyZWFtLm5hdGl2ZSk7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBaaXBPdXRwdXRTdHJlYW0obmF0aXZlKTtcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlcHJlc2VudHMgYW4gaW5wdXQgc3RyZWFtIGZvciByZWFkaW5nIGRhdGEgZnJvbSBhIFpJUCBhcmNoaXZlLlxyXG4gKiBEYXRhIGlzIGFjY2Vzc2VkIHNlcXVlbnRpYWxseSBieSBpdGVyYXRpbmcgdGhyb3VnaCB7QGxpbmsgWmlwRW50cnl9IG9iamVjdHMuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgWmlwSW5wdXRTdHJlYW0ge1xyXG5cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcGFyYW0gbmF0aXZlIFRoZSB1bmRlcmx5aW5nIG5hdGl2ZSBaaXBJbnB1dFN0cmVhbSBvYmplY3QuXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKG5hdGl2ZTogYW55KSB7XHJcbiAgICAgICAgdGhpcy5uYXRpdmUgPSBuYXRpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZWFkcyB0aGUgbmV4dCBaSVAgZmlsZSBlbnRyeSBhbmQgcG9zaXRpb25zIHRoZSBzdHJlYW0gYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZW50cnkgZGF0YS5cclxuICAgICAqIE11c3QgYmUgY2FsbGVkIGJlZm9yZSByZWFkaW5nIGRhdGEgZm9yIGFuIGVudHJ5LlxyXG4gICAgICpcclxuICAgICAqIEByZXR1cm5zIFRoZSBuZXh0IHtAbGluayBaaXBFbnRyeX0gb2JqZWN0LCBvciBudWxsIGlmIHRoZXJlIGFyZSBubyBtb3JlIGVudHJpZXMuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXROZXh0RW50cnkoKTogWmlwRW50cnkge1xyXG4gICAgICAgIGNvbnN0IG5hdGl2ZSA9IHRoaXMubmF0aXZlLmdldE5leHRFbnRyeSgpO1xyXG4gICAgICAgIC8vIElmIG5hdGl2ZSBpcyBudWxsIChlbmQgb2Ygc3RyZWFtKSwgdGhlIFppcEVudHJ5IGNvbnN0cnVjdG9yIHdpbGwgaGFuZGxlIHRoZSBudWxsIGNoZWNrIG9yIHRocm93L3JldHVybiBpbnZhbGlkLlxyXG4gICAgICAgIHJldHVybiBuZXcgWmlwRW50cnkobmF0aXZlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlYWRzIHRoZSBkYXRhIGZvciB0aGUgY3VycmVudCBlbnRyeSBhbmQgcmV0dXJucyBpdCBhcyBhIEphdmFTY3JpcHQgYnl0ZSBhcnJheS5cclxuICAgICAqXHJcbiAgICAgKiBAcmV0dXJucyBBIEphdmFTY3JpcHQgYXJyYXkgKGBudW1iZXJbXWApIG9mIHRoZSBieXRlIHZhbHVlcyBmb3IgdGhlIGN1cnJlbnQgZW50cnkuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZWFkKCk6IGFueVtdIHtcclxuICAgICAgICBjb25zdCBuYXRpdmUgPSBaaXBGYWNhZGUucmVhZE5hdGl2ZSh0aGlzLm5hdGl2ZSk7XHJcbiAgICAgICAgcmV0dXJuIEJ5dGVzLnRvSmF2YVNjcmlwdEJ5dGVzKG5hdGl2ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZWFkcyB0aGUgZGF0YSBmb3IgdGhlIGN1cnJlbnQgZW50cnkgYW5kIHJldHVybnMgdGhlIG5hdGl2ZSBKYXZhIGJ5dGUgYXJyYXkuXHJcbiAgICAgKlxyXG4gICAgICogQHJldHVybnMgVGhlIG5hdGl2ZSBKYXZhIGJ5dGUgYXJyYXkgb2JqZWN0LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVhZE5hdGl2ZSgpOiBhbnlbXSB7XHJcbiAgICAgICAgcmV0dXJuIFppcEZhY2FkZS5yZWFkTmF0aXZlKHRoaXMubmF0aXZlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlYWRzIHRoZSBkYXRhIGZvciB0aGUgY3VycmVudCBlbnRyeSBhbmQgY29udmVydHMgaXQgdG8gYSBzdHJpbmdcclxuICAgICAqIHVzaW5nIHRoZSBwbGF0Zm9ybSdzIGRlZmF1bHQgY2hhcmFjdGVyIGVuY29kaW5nLlxyXG4gICAgICpcclxuICAgICAqIEByZXR1cm5zIFRoZSBjb250ZW50IG9mIHRoZSBjdXJyZW50IGVudHJ5IGFzIGEgc3RyaW5nLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVhZFRleHQoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gWmlwRmFjYWRlLnJlYWRUZXh0KHRoaXMubmF0aXZlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENsb3NlcyB0aGUgdW5kZXJseWluZyBuYXRpdmUgWmlwSW5wdXRTdHJlYW0uXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm5hdGl2ZS5jbG9zZSgpO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlcHJlc2VudHMgYW4gb3V0cHV0IHN0cmVhbSBmb3Igd3JpdGluZyBkYXRhIHRvIGEgWklQIGFyY2hpdmUuXHJcbiAqIEVudHJpZXMgbXVzdCBiZSBleHBsaWNpdGx5IGNyZWF0ZWQgYW5kIGNsb3NlZC5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBaaXBPdXRwdXRTdHJlYW0ge1xyXG5cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcGFyYW0gbmF0aXZlIFRoZSB1bmRlcmx5aW5nIG5hdGl2ZSBaaXBPdXRwdXRTdHJlYW0gb2JqZWN0LlxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xyXG4gICAgICAgIHRoaXMubmF0aXZlID0gbmF0aXZlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3JlYXRlcyBhIG5ldyB7QGxpbmsgWmlwRW50cnl9IHdpdGggdGhlIGdpdmVuIG5hbWUsIGFuZCBiZWdpbnMgd3JpdGluZyB0aGVcclxuICAgICAqIGVudHJ5J3MgaGVhZGVyIHRvIHRoZSBhcmNoaXZlIHN0cmVhbS4gQWxsIHN1YnNlcXVlbnQgd3JpdGUgb3BlcmF0aW9uc1xyXG4gICAgICogd2lsbCBhcHBseSB0byB0aGlzIGVudHJ5IHVudGlsIHtAbGluayBjbG9zZUVudHJ5fSBpcyBjYWxsZWQuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIGZpbGUgb3IgZGlyZWN0b3J5IG5hbWUgdG8gdXNlIGluc2lkZSB0aGUgWklQIGFyY2hpdmUuXHJcbiAgICAgKiBAcmV0dXJucyBUaGUgbmV3bHkgY3JlYXRlZCB7QGxpbmsgWmlwRW50cnl9IG9iamVjdC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGNyZWF0ZVppcEVudHJ5KG5hbWU6IHN0cmluZyk6IFppcEVudHJ5IHtcclxuICAgICAgICBjb25zdCBuYXRpdmVOZXh0ID0gWmlwRmFjYWRlLmNyZWF0ZVppcEVudHJ5KG5hbWUpO1xyXG4gICAgICAgIGNvbnN0IHppcEVudHJ5ID0gbmV3IFppcEVudHJ5KG5hdGl2ZU5leHQpO1xyXG4gICAgICAgIHRoaXMubmF0aXZlLnB1dE5leHRFbnRyeShuYXRpdmVOZXh0KTtcclxuICAgICAgICByZXR1cm4gemlwRW50cnk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBXcml0ZXMgdGhlIGRhdGEgZnJvbSBhIEphdmFTY3JpcHQgYnl0ZSBhcnJheSB0byB0aGUgY3VycmVudCBhY3RpdmUgZW50cnkgaW4gdGhlIHN0cmVhbS5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gZGF0YSBUaGUgSmF2YVNjcmlwdCBhcnJheSAoYG51bWJlcltdYCkgb2YgYnl0ZSB2YWx1ZXMgdG8gd3JpdGUuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB3cml0ZShkYXRhOiBhbnlbXSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IG5hdGl2ZSA9IEJ5dGVzLnRvSmF2YUJ5dGVzKGRhdGEpO1xyXG4gICAgICAgIFppcEZhY2FkZS53cml0ZU5hdGl2ZSh0aGlzLm5hdGl2ZSwgbmF0aXZlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFdyaXRlcyB0aGUgZGF0YSBmcm9tIGEgbmF0aXZlIEphdmEgYnl0ZSBhcnJheSB0byB0aGUgY3VycmVudCBhY3RpdmUgZW50cnkgaW4gdGhlIHN0cmVhbS5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gZGF0YSBUaGUgbmF0aXZlIEphdmEgYnl0ZSBhcnJheSBvYmplY3QgdG8gd3JpdGUuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB3cml0ZU5hdGl2ZShkYXRhOiBhbnlbXSk6IHZvaWQge1xyXG4gICAgICAgIFppcEZhY2FkZS53cml0ZU5hdGl2ZSh0aGlzLm5hdGl2ZSwgZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb252ZXJ0cyB0aGUgc3RyaW5nIHRvIGJ5dGVzIGFuZCB3cml0ZXMgaXQgdG8gdGhlIGN1cnJlbnQgYWN0aXZlIGVudHJ5IGluIHRoZSBzdHJlYW0uXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHRleHQgVGhlIHN0cmluZyBjb250ZW50IHRvIHdyaXRlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgd3JpdGVUZXh0KHRleHQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIFppcEZhY2FkZS53cml0ZVRleHQodGhpcy5uYXRpdmUsIHRleHQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2xvc2VzIHRoZSBjdXJyZW50IGFjdGl2ZSBaSVAgZW50cnkgYW5kIHBvc2l0aW9ucyB0aGUgc3RyZWFtIGZvciB0aGUgbmV4dCBlbnRyeS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGNsb3NlRW50cnkoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5uYXRpdmUuY2xvc2VFbnRyeSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRmluYWxpemVzIHRoZSB3cml0aW5nIG9mIHRoZSBaSVAgZmlsZSwgZmx1c2hlcyB0aGUgc3RyZWFtLCBhbmQgY2xvc2VzIHRoZSBuYXRpdmUgb2JqZWN0LlxyXG4gICAgICogVGhpcyBtdXN0IGJlIGNhbGxlZCBhZnRlciBhbGwgZW50cmllcyBoYXZlIGJlZW4gd3JpdHRlbi5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubmF0aXZlLmZpbmlzaCgpO1xyXG4gICAgICAgIHRoaXMubmF0aXZlLmZsdXNoKCk7XHJcbiAgICAgICAgdGhpcy5uYXRpdmUuY2xvc2UoKTtcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlcHJlc2VudHMgYW4gZW50cnkgKGZpbGUgb3IgZGlyZWN0b3J5KSB3aXRoaW4gYSBaSVAgYXJjaGl2ZS5cclxuICogSXQgaG9sZHMgbWV0YWRhdGEgYWJvdXQgdGhlIGFyY2hpdmVkIGl0ZW0uXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgWmlwRW50cnkge1xyXG5cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcGFyYW0gbmF0aXZlIFRoZSB1bmRlcmx5aW5nIG5hdGl2ZSBaaXBFbnRyeSBvYmplY3QuXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKG5hdGl2ZTogYW55KSB7XHJcbiAgICAgICAgdGhpcy5uYXRpdmUgPSBuYXRpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIHRoZSBuYW1lIG9mIHRoZSBlbnRyeSAocGF0aCByZWxhdGl2ZSB0byB0aGUgWklQIHJvb3QpLlxyXG4gICAgICogQHJldHVybnMgVGhlIG5hbWUgb2YgdGhlIGVudHJ5LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5nZXROYW1lKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIHRoZSB1bmNvbXByZXNzZWQgc2l6ZSBvZiB0aGUgZW50cnkgZGF0YS5cclxuICAgICAqIEByZXR1cm5zIFRoZSBzaXplIGluIGJ5dGVzLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0U2l6ZSgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5nZXRTaXplKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIHRoZSBjb21wcmVzc2VkIHNpemUgb2YgdGhlIGVudHJ5IGRhdGEuXHJcbiAgICAgKiBAcmV0dXJucyBUaGUgY29tcHJlc3NlZCBzaXplIGluIGJ5dGVzLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0Q29tcHJlc3NlZFNpemUoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZ2V0Q29tcHJlc3NlZFNpemUoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgdGhlIG1vZGlmaWNhdGlvbiB0aW1lIG9mIHRoZSBlbnRyeS5cclxuICAgICAqIEByZXR1cm5zIFRoZSB0aW1lIGFzIGEgbnVtZXJpY2FsIHRpbWVzdGFtcC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldFRpbWUoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZ2V0VGltZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyB0aGUgQ1JDLTMyIGNoZWNrc3VtIG9mIHRoZSB1bmNvbXByZXNzZWQgZW50cnkgZGF0YS5cclxuICAgICAqIEByZXR1cm5zIFRoZSBDUkMgdmFsdWUuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRDcmMoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZ2V0Q3JjKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIHRoZSBvcHRpb25hbCBjb21tZW50IGZvciB0aGUgZW50cnkuXHJcbiAgICAgKiBAcmV0dXJucyBUaGUgY29tbWVudCBzdHJpbmcuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRDb21tZW50KCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmdldENvbW1lbnQoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENoZWNrcyBpZiB0aGUgZW50cnkgcmVwcmVzZW50cyBhIGRpcmVjdG9yeS5cclxuICAgICAqIEByZXR1cm5zIFRydWUgaWYgaXQgaXMgYSBkaXJlY3RvcnksIGZhbHNlIG90aGVyd2lzZS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGlzRGlyZWN0b3J5KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5pc0RpcmVjdG9yeSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2hlY2tzIGlmIHRoZSB1bmRlcmx5aW5nIG5hdGl2ZSBaaXBFbnRyeSBvYmplY3QgaXMgZGVmaW5lZCBhbmQgbm9uLW51bGwuXHJcbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBlbnRyeSBpcyB2YWxpZCwgZmFsc2Ugb3RoZXJ3aXNlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaXNWYWxpZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLm5hdGl2ZSAhPT0gbnVsbDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gQHRzLWlnbm9yZVxyXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuXHQvLyBAdHMtaWdub3JlXHJcblx0bW9kdWxlLmV4cG9ydHMgPSBaaXA7XHJcbn1cclxuIl0sCiAgIm1hcHBpbmdzIjogIkFBSUEsU0FBUyxhQUFhO0FBR3RCLE1BQU0sWUFBWSxLQUFLLEtBQUssbURBQW1EO0FBTXhFLE1BQU0sSUFBSTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWIsT0FBYyxJQUFJLFlBQW9CLGVBQTZCO0FBQy9ELGNBQVUsVUFBVSxZQUFZLGFBQWE7QUFBQSxFQUNqRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7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
235
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2lvL3ppcC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXHJcbiAqIEBtb2R1bGUgaW8vemlwXHJcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9pb1xyXG4gKiBAbmFtZSBaaXBcclxuICogQG92ZXJ2aWV3XHJcbiAqIFxyXG4gKiBUaGUgWmlwIGNsYXNzIHByb3ZpZGVzIGEgZmFcdTAwRTdhZGUgZm9yIGhhbmRsaW5nIFpJUCBhcmNoaXZlIG9wZXJhdGlvbnMsIGluY2x1ZGluZyBmaWxlIGNvbXByZXNzaW9uLCBkZWNvbXByZXNzaW9uLCBhbmQgc3RyZWFtLWJhc2VkIGVudHJ5IHByb2Nlc3NpbmcuIEl0IGFsbG93cyBkZXZlbG9wZXJzIHRvIGVhc2lseSBjcmVhdGUgYW5kIGV4dHJhY3QgWklQIGZpbGVzIHVzaW5nIGJvdGggZmlsZSBwYXRocyBhbmQgc3RyZWFtLWJhc2VkIEFQSXMsIGFic3RyYWN0aW5nIGF3YXkgdGhlIGNvbXBsZXhpdGllcyBvZiB3b3JraW5nIHdpdGggWklQIGFyY2hpdmVzIGRpcmVjdGx5LlxyXG4gKiBcclxuICogIyMjIEtleSBGZWF0dXJlczpcclxuICogLSAqKkZpbGUtQmFzZWQgT3BlcmF0aW9ucyoqOiBUaGUgYHppcGAgYW5kIGB1bnppcGAgbWV0aG9kcyBhbGxvdyBmb3Igc3RyYWlnaHRmb3J3YXJkIGNvbXByZXNzaW9uIGFuZCBleHRyYWN0aW9uIG9mIGZpbGVzIGFuZCBkaXJlY3RvcmllcyB1c2luZyBmaWxlIHN5c3RlbSBwYXRocy5cclxuICogLSAqKlN0cmVhbS1CYXNlZCBBUElzKio6IFRoZSBgY3JlYXRlWmlwSW5wdXRTdHJlYW1gIGFuZCBgY3JlYXRlWmlwT3V0cHV0U3RyZWFtYCBtZXRob2RzIGVuYWJsZSB3b3JraW5nIHdpdGggWklQIGRhdGEgaW4gbWVtb3J5IG9yIHRocm91Z2ggbmV0d29yayBzdHJlYW1zLCBwcm92aWRpbmcgZmxleGliaWxpdHkgZm9yIHZhcmlvdXMgdXNlIGNhc2VzLlxyXG4gKiBcclxuICogIyMjIFVzZSBDYXNlczpcclxuICogLSAqKkZpbGUgQXJjaGl2aW5nKio6IERldmVsb3BlcnMgY2FuIHVzZSB0aGUgWmlwIGNsYXNzIHRvIGNyZWF0ZSBaSVAgYXJjaGl2ZXMgb2YgZmlsZXMgYW5kIGRpcmVjdG9yaWVzIGZvciBiYWNrdXAsIGRpc3RyaWJ1dGlvbiwgb3Igc3RvcmFnZSBwdXJwb3Nlcy5cclxuICogLSAqKkRhdGEgU3RyZWFtaW5nKio6IFRoZSBzdHJlYW0tYmFzZWQgQVBJcyBhcmUgdXNlZnVsIGZvciBzY2VuYXJpb3Mgd2hlcmUgWklQIGRhdGEgbmVlZHMgdG8gYmUgcHJvY2Vzc2VkIG9uLXRoZS1mbHksIHN1Y2ggYXMgc3RyZWFtaW5nIGEgWklQIGZpbGUgb3ZlciBIVFRQIG9yIHByb2Nlc3NpbmcgWklQIGRhdGEgZnJvbSBhbiBleHRlcm5hbCBzb3VyY2Ugd2l0aG91dCBzYXZpbmcgaXQgdG8gZGlzay5cclxuICogXHJcbiAqICMjIyBFeGFtcGxlIFVzYWdlOlxyXG4gKiBgYGB0c1xyXG4gKiBpbXBvcnQgeyBaaXAgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2lvXCI7XHJcbiAqICogLy8gWmlwIGEgZGlyZWN0b3J5XHJcbiAqIFppcC56aXAoJy9wYXRoL3RvL3NvdXJjZScsICcvcGF0aC90by9hcmNoaXZlLnppcCcpO1xyXG4gKiAvLyBVbnppcCBhbiBhcmNoaXZlXHJcbiAqIFppcC51bnppcCgnL3BhdGgvdG8vYXJjaGl2ZS56aXAnLCAnL3BhdGgvdG8vZGVzdGluYXRpb24nKTtcclxuICogLy8gQ3JlYXRlIGEgWmlwT3V0cHV0U3RyZWFtIHRvIHdyaXRlIFpJUCBkYXRhIHRvIGFuIE91dHB1dFN0cmVhbVxyXG4gKiBjb25zdCBvdXRwdXRTdHJlYW0gPSBuZXcgT3V0cHV0U3RyZWFtKC4uLik7XHJcbiAqIGNvbnN0IHppcE91dHB1dFN0cmVhbSA9IFppcC5jcmVhdGVaaXBPdXRwdXRTdHJlYW0ob3V0cHV0U3RyZWFtKTtcclxuICogemlwT3V0cHV0U3RyZWFtLmNyZWF0ZVppcEVudHJ5KCdmaWxlLnR4dCcpO1xyXG4gKiB6aXBPdXRwdXRTdHJlYW0ud3JpdGVUZXh0KCdIZWxsbywgWklQIScpO1xyXG4gKiB6aXBPdXRwdXRTdHJlYW0uY2xvc2VFbnRyeSgpO1xyXG4gKiB6aXBPdXRwdXRTdHJlYW0uY2xvc2UoKTtcclxuICogYGBgXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgQnl0ZXMgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2lvL2J5dGVzXCI7XHJcbmltcG9ydCB7IElucHV0U3RyZWFtLCBPdXRwdXRTdHJlYW0gfSBmcm9tIFwiQGFlcm9raXQvc2RrL2lvL3N0cmVhbXNcIjtcclxuXHJcbmNvbnN0IFppcEZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5pby5aaXBGYWNhZGVcIik7XHJcblxyXG4vKipcclxuICogVGhlIFppcCBjbGFzcyBwcm92aWRlcyBzdGF0aWMgdXRpbGl0eSBtZXRob2RzIGZvciBtYW5hZ2luZyBaSVAgYXJjaGl2ZXNcclxuICogYXQgYm90aCBmaWxlIHBhdGggbGV2ZWwgYW5kIHN0cmVhbSBsZXZlbC5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBaaXAge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogWmlwcyB0aGUgY29udGVudCBvZiBhIHNvdXJjZSBkaXJlY3Rvcnkgb3IgZmlsZSBpbnRvIGEgdGFyZ2V0IFpJUCBmaWxlLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBzb3VyY2VQYXRoIFRoZSBmaWxlIHN5c3RlbSBwYXRoIHRvIHRoZSBjb250ZW50IHRvIGJlIGNvbXByZXNzZWQuXHJcbiAgICAgKiBAcGFyYW0gemlwVGFyZ2V0UGF0aCBUaGUgZmlsZSBzeXN0ZW0gcGF0aCB3aGVyZSB0aGUgcmVzdWx0aW5nIFpJUCBmaWxlIHNob3VsZCBiZSBzYXZlZC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyB6aXAoc291cmNlUGF0aDogc3RyaW5nLCB6aXBUYXJnZXRQYXRoOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBaaXBGYWNhZGUuZXhwb3J0WmlwKHNvdXJjZVBhdGgsIHppcFRhcmdldFBhdGgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVW56aXBzIGFuIGV4aXN0aW5nIFpJUCBmaWxlIGludG8gYSB0YXJnZXQgZGlyZWN0b3J5LlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB6aXBQYXRoIFRoZSBmaWxlIHN5c3RlbSBwYXRoIHRvIHRoZSBaSVAgZmlsZSB0byBiZSBleHRyYWN0ZWQuXHJcbiAgICAgKiBAcGFyYW0gdGFyZ2V0UGF0aCBUaGUgZmlsZSBzeXN0ZW0gcGF0aCB0byB0aGUgZGlyZWN0b3J5IHdoZXJlIGNvbnRlbnQgc2hvdWxkIGJlIGV4dHJhY3RlZC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyB1bnppcCh6aXBQYXRoOiBzdHJpbmcsIHRhcmdldFBhdGg6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIFppcEZhY2FkZS5pbXBvcnRaaXAoemlwUGF0aCwgdGFyZ2V0UGF0aCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGVzIGEge0BsaW5rIFppcElucHV0U3RyZWFtfSB0aGF0IHJlYWRzIFpJUCBhcmNoaXZlIGRhdGEgZnJvbSBhIHByb3ZpZGVkXHJcbiAgICAgKiBnZW5lcmljIHtAbGluayBJbnB1dFN0cmVhbX0uIFRoaXMgYWxsb3dzIGZvciByZWFkaW5nIFpJUCBlbnRyaWVzIHdpdGhvdXRcclxuICAgICAqIHdyaXRpbmcgdGhlIGFyY2hpdmUgdG8gZGlzayBmaXJzdC5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gaW5wdXRTdHJlYW0gVGhlIHNvdXJjZSBzdHJlYW0gY29udGFpbmluZyB0aGUgcmF3IFpJUCBkYXRhLlxyXG4gICAgICogQHJldHVybnMgQSBuZXcge0BsaW5rIFppcElucHV0U3RyZWFtfSBpbnN0YW5jZS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGVaaXBJbnB1dFN0cmVhbShpbnB1dFN0cmVhbTogSW5wdXRTdHJlYW0pOiBaaXBJbnB1dFN0cmVhbSB7XHJcbiAgICAgICAgY29uc3QgbmF0aXZlID0gWmlwRmFjYWRlLmNyZWF0ZVppcElucHV0U3RyZWFtKGlucHV0U3RyZWFtLm5hdGl2ZSk7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBaaXBJbnB1dFN0cmVhbShuYXRpdmUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3JlYXRlcyBhIHtAbGluayBaaXBPdXRwdXRTdHJlYW19IHRoYXQgd3JpdGVzIGNvbXByZXNzZWQgWklQIGFyY2hpdmUgZGF0YVxyXG4gICAgICogdG8gYSBwcm92aWRlZCBnZW5lcmljIHtAbGluayBPdXRwdXRTdHJlYW19LiBUaGlzIGFsbG93cyBmb3IgY3JlYXRpbmcgWklQIGFyY2hpdmVzXHJcbiAgICAgKiBpbiBtZW1vcnkgb3Igc3RyZWFtaW5nIHRoZW0gZGlyZWN0bHkuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIG91dHB1dFN0cmVhbSBUaGUgZGVzdGluYXRpb24gc3RyZWFtIHdoZXJlIHRoZSByYXcgWklQIGRhdGEgd2lsbCBiZSB3cml0dGVuLlxyXG4gICAgICogQHJldHVybnMgQSBuZXcge0BsaW5rIFppcE91dHB1dFN0cmVhbX0gaW5zdGFuY2UuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgY3JlYXRlWmlwT3V0cHV0U3RyZWFtKG91dHB1dFN0cmVhbTogT3V0cHV0U3RyZWFtKTogWmlwT3V0cHV0U3RyZWFtIHtcclxuICAgICAgICBjb25zdCBuYXRpdmUgPSBaaXBGYWNhZGUuY3JlYXRlWmlwT3V0cHV0U3RyZWFtKG91dHB1dFN0cmVhbS5uYXRpdmUpO1xyXG4gICAgICAgIHJldHVybiBuZXcgWmlwT3V0cHV0U3RyZWFtKG5hdGl2ZSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXByZXNlbnRzIGFuIGlucHV0IHN0cmVhbSBmb3IgcmVhZGluZyBkYXRhIGZyb20gYSBaSVAgYXJjaGl2ZS5cclxuICogRGF0YSBpcyBhY2Nlc3NlZCBzZXF1ZW50aWFsbHkgYnkgaXRlcmF0aW5nIHRocm91Z2gge0BsaW5rIFppcEVudHJ5fSBvYmplY3RzLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFppcElucHV0U3RyZWFtIHtcclxuXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHBhcmFtIG5hdGl2ZSBUaGUgdW5kZXJseWluZyBuYXRpdmUgWmlwSW5wdXRTdHJlYW0gb2JqZWN0LlxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xyXG4gICAgICAgIHRoaXMubmF0aXZlID0gbmF0aXZlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVhZHMgdGhlIG5leHQgWklQIGZpbGUgZW50cnkgYW5kIHBvc2l0aW9ucyB0aGUgc3RyZWFtIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGVudHJ5IGRhdGEuXHJcbiAgICAgKiBNdXN0IGJlIGNhbGxlZCBiZWZvcmUgcmVhZGluZyBkYXRhIGZvciBhbiBlbnRyeS5cclxuICAgICAqXHJcbiAgICAgKiBAcmV0dXJucyBUaGUgbmV4dCB7QGxpbmsgWmlwRW50cnl9IG9iamVjdCwgb3IgbnVsbCBpZiB0aGVyZSBhcmUgbm8gbW9yZSBlbnRyaWVzLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0TmV4dEVudHJ5KCk6IFppcEVudHJ5IHtcclxuICAgICAgICBjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5nZXROZXh0RW50cnkoKTtcclxuICAgICAgICAvLyBJZiBuYXRpdmUgaXMgbnVsbCAoZW5kIG9mIHN0cmVhbSksIHRoZSBaaXBFbnRyeSBjb25zdHJ1Y3RvciB3aWxsIGhhbmRsZSB0aGUgbnVsbCBjaGVjayBvciB0aHJvdy9yZXR1cm4gaW52YWxpZC5cclxuICAgICAgICByZXR1cm4gbmV3IFppcEVudHJ5KG5hdGl2ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZWFkcyB0aGUgZGF0YSBmb3IgdGhlIGN1cnJlbnQgZW50cnkgYW5kIHJldHVybnMgaXQgYXMgYSBKYXZhU2NyaXB0IGJ5dGUgYXJyYXkuXHJcbiAgICAgKlxyXG4gICAgICogQHJldHVybnMgQSBKYXZhU2NyaXB0IGFycmF5IChgbnVtYmVyW11gKSBvZiB0aGUgYnl0ZSB2YWx1ZXMgZm9yIHRoZSBjdXJyZW50IGVudHJ5LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVhZCgpOiBhbnlbXSB7XHJcbiAgICAgICAgY29uc3QgbmF0aXZlID0gWmlwRmFjYWRlLnJlYWROYXRpdmUodGhpcy5uYXRpdmUpO1xyXG4gICAgICAgIHJldHVybiBCeXRlcy50b0phdmFTY3JpcHRCeXRlcyhuYXRpdmUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVhZHMgdGhlIGRhdGEgZm9yIHRoZSBjdXJyZW50IGVudHJ5IGFuZCByZXR1cm5zIHRoZSBuYXRpdmUgSmF2YSBieXRlIGFycmF5LlxyXG4gICAgICpcclxuICAgICAqIEByZXR1cm5zIFRoZSBuYXRpdmUgSmF2YSBieXRlIGFycmF5IG9iamVjdC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHJlYWROYXRpdmUoKTogYW55W10ge1xyXG4gICAgICAgIHJldHVybiBaaXBGYWNhZGUucmVhZE5hdGl2ZSh0aGlzLm5hdGl2ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZWFkcyB0aGUgZGF0YSBmb3IgdGhlIGN1cnJlbnQgZW50cnkgYW5kIGNvbnZlcnRzIGl0IHRvIGEgc3RyaW5nXHJcbiAgICAgKiB1c2luZyB0aGUgcGxhdGZvcm0ncyBkZWZhdWx0IGNoYXJhY3RlciBlbmNvZGluZy5cclxuICAgICAqXHJcbiAgICAgKiBAcmV0dXJucyBUaGUgY29udGVudCBvZiB0aGUgY3VycmVudCBlbnRyeSBhcyBhIHN0cmluZy5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHJlYWRUZXh0KCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIFppcEZhY2FkZS5yZWFkVGV4dCh0aGlzLm5hdGl2ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDbG9zZXMgdGhlIHVuZGVybHlpbmcgbmF0aXZlIFppcElucHV0U3RyZWFtLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5uYXRpdmUuY2xvc2UoKTtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXByZXNlbnRzIGFuIG91dHB1dCBzdHJlYW0gZm9yIHdyaXRpbmcgZGF0YSB0byBhIFpJUCBhcmNoaXZlLlxyXG4gKiBFbnRyaWVzIG11c3QgYmUgZXhwbGljaXRseSBjcmVhdGVkIGFuZCBjbG9zZWQuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgWmlwT3V0cHV0U3RyZWFtIHtcclxuXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHBhcmFtIG5hdGl2ZSBUaGUgdW5kZXJseWluZyBuYXRpdmUgWmlwT3V0cHV0U3RyZWFtIG9iamVjdC5cclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IobmF0aXZlOiBhbnkpIHtcclxuICAgICAgICB0aGlzLm5hdGl2ZSA9IG5hdGl2ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENyZWF0ZXMgYSBuZXcge0BsaW5rIFppcEVudHJ5fSB3aXRoIHRoZSBnaXZlbiBuYW1lLCBhbmQgYmVnaW5zIHdyaXRpbmcgdGhlXHJcbiAgICAgKiBlbnRyeSdzIGhlYWRlciB0byB0aGUgYXJjaGl2ZSBzdHJlYW0uIEFsbCBzdWJzZXF1ZW50IHdyaXRlIG9wZXJhdGlvbnNcclxuICAgICAqIHdpbGwgYXBwbHkgdG8gdGhpcyBlbnRyeSB1bnRpbCB7QGxpbmsgY2xvc2VFbnRyeX0gaXMgY2FsbGVkLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBmaWxlIG9yIGRpcmVjdG9yeSBuYW1lIHRvIHVzZSBpbnNpZGUgdGhlIFpJUCBhcmNoaXZlLlxyXG4gICAgICogQHJldHVybnMgVGhlIG5ld2x5IGNyZWF0ZWQge0BsaW5rIFppcEVudHJ5fSBvYmplY3QuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjcmVhdGVaaXBFbnRyeShuYW1lOiBzdHJpbmcpOiBaaXBFbnRyeSB7XHJcbiAgICAgICAgY29uc3QgbmF0aXZlTmV4dCA9IFppcEZhY2FkZS5jcmVhdGVaaXBFbnRyeShuYW1lKTtcclxuICAgICAgICBjb25zdCB6aXBFbnRyeSA9IG5ldyBaaXBFbnRyeShuYXRpdmVOZXh0KTtcclxuICAgICAgICB0aGlzLm5hdGl2ZS5wdXROZXh0RW50cnkobmF0aXZlTmV4dCk7XHJcbiAgICAgICAgcmV0dXJuIHppcEVudHJ5O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogV3JpdGVzIHRoZSBkYXRhIGZyb20gYSBKYXZhU2NyaXB0IGJ5dGUgYXJyYXkgdG8gdGhlIGN1cnJlbnQgYWN0aXZlIGVudHJ5IGluIHRoZSBzdHJlYW0uXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIGRhdGEgVGhlIEphdmFTY3JpcHQgYXJyYXkgKGBudW1iZXJbXWApIG9mIGJ5dGUgdmFsdWVzIHRvIHdyaXRlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgd3JpdGUoZGF0YTogYW55W10pOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBuYXRpdmUgPSBCeXRlcy50b0phdmFCeXRlcyhkYXRhKTtcclxuICAgICAgICBaaXBGYWNhZGUud3JpdGVOYXRpdmUodGhpcy5uYXRpdmUsIG5hdGl2ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBXcml0ZXMgdGhlIGRhdGEgZnJvbSBhIG5hdGl2ZSBKYXZhIGJ5dGUgYXJyYXkgdG8gdGhlIGN1cnJlbnQgYWN0aXZlIGVudHJ5IGluIHRoZSBzdHJlYW0uXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIGRhdGEgVGhlIG5hdGl2ZSBKYXZhIGJ5dGUgYXJyYXkgb2JqZWN0IHRvIHdyaXRlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgd3JpdGVOYXRpdmUoZGF0YTogYW55W10pOiB2b2lkIHtcclxuICAgICAgICBaaXBGYWNhZGUud3JpdGVOYXRpdmUodGhpcy5uYXRpdmUsIGRhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29udmVydHMgdGhlIHN0cmluZyB0byBieXRlcyBhbmQgd3JpdGVzIGl0IHRvIHRoZSBjdXJyZW50IGFjdGl2ZSBlbnRyeSBpbiB0aGUgc3RyZWFtLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB0ZXh0IFRoZSBzdHJpbmcgY29udGVudCB0byB3cml0ZS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHdyaXRlVGV4dCh0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBaaXBGYWNhZGUud3JpdGVUZXh0KHRoaXMubmF0aXZlLCB0ZXh0KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENsb3NlcyB0aGUgY3VycmVudCBhY3RpdmUgWklQIGVudHJ5IGFuZCBwb3NpdGlvbnMgdGhlIHN0cmVhbSBmb3IgdGhlIG5leHQgZW50cnkuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjbG9zZUVudHJ5KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubmF0aXZlLmNsb3NlRW50cnkoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEZpbmFsaXplcyB0aGUgd3JpdGluZyBvZiB0aGUgWklQIGZpbGUsIGZsdXNoZXMgdGhlIHN0cmVhbSwgYW5kIGNsb3NlcyB0aGUgbmF0aXZlIG9iamVjdC5cclxuICAgICAqIFRoaXMgbXVzdCBiZSBjYWxsZWQgYWZ0ZXIgYWxsIGVudHJpZXMgaGF2ZSBiZWVuIHdyaXR0ZW4uXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm5hdGl2ZS5maW5pc2goKTtcclxuICAgICAgICB0aGlzLm5hdGl2ZS5mbHVzaCgpO1xyXG4gICAgICAgIHRoaXMubmF0aXZlLmNsb3NlKCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXByZXNlbnRzIGFuIGVudHJ5IChmaWxlIG9yIGRpcmVjdG9yeSkgd2l0aGluIGEgWklQIGFyY2hpdmUuXHJcbiAqIEl0IGhvbGRzIG1ldGFkYXRhIGFib3V0IHRoZSBhcmNoaXZlZCBpdGVtLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFppcEVudHJ5IHtcclxuXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHBhcmFtIG5hdGl2ZSBUaGUgdW5kZXJseWluZyBuYXRpdmUgWmlwRW50cnkgb2JqZWN0LlxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xyXG4gICAgICAgIHRoaXMubmF0aXZlID0gbmF0aXZlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyB0aGUgbmFtZSBvZiB0aGUgZW50cnkgKHBhdGggcmVsYXRpdmUgdG8gdGhlIFpJUCByb290KS5cclxuICAgICAqIEByZXR1cm5zIFRoZSBuYW1lIG9mIHRoZSBlbnRyeS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldE5hbWUoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZ2V0TmFtZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyB0aGUgdW5jb21wcmVzc2VkIHNpemUgb2YgdGhlIGVudHJ5IGRhdGEuXHJcbiAgICAgKiBAcmV0dXJucyBUaGUgc2l6ZSBpbiBieXRlcy5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldFNpemUoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZ2V0U2l6ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyB0aGUgY29tcHJlc3NlZCBzaXplIG9mIHRoZSBlbnRyeSBkYXRhLlxyXG4gICAgICogQHJldHVybnMgVGhlIGNvbXByZXNzZWQgc2l6ZSBpbiBieXRlcy5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldENvbXByZXNzZWRTaXplKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmdldENvbXByZXNzZWRTaXplKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIHRoZSBtb2RpZmljYXRpb24gdGltZSBvZiB0aGUgZW50cnkuXHJcbiAgICAgKiBAcmV0dXJucyBUaGUgdGltZSBhcyBhIG51bWVyaWNhbCB0aW1lc3RhbXAuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRUaW1lKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmdldFRpbWUoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgdGhlIENSQy0zMiBjaGVja3N1bSBvZiB0aGUgdW5jb21wcmVzc2VkIGVudHJ5IGRhdGEuXHJcbiAgICAgKiBAcmV0dXJucyBUaGUgQ1JDIHZhbHVlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0Q3JjKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmdldENyYygpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyB0aGUgb3B0aW9uYWwgY29tbWVudCBmb3IgdGhlIGVudHJ5LlxyXG4gICAgICogQHJldHVybnMgVGhlIGNvbW1lbnQgc3RyaW5nLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0Q29tbWVudCgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5nZXRDb21tZW50KCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDaGVja3MgaWYgdGhlIGVudHJ5IHJlcHJlc2VudHMgYSBkaXJlY3RvcnkuXHJcbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIGl0IGlzIGEgZGlyZWN0b3J5LCBmYWxzZSBvdGhlcndpc2UuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBpc0RpcmVjdG9yeSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuaXNEaXJlY3RvcnkoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENoZWNrcyBpZiB0aGUgdW5kZXJseWluZyBuYXRpdmUgWmlwRW50cnkgb2JqZWN0IGlzIGRlZmluZWQgYW5kIG5vbi1udWxsLlxyXG4gICAgICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgZW50cnkgaXMgdmFsaWQsIGZhbHNlIG90aGVyd2lzZS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGlzVmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5uYXRpdmUgIT09IG51bGw7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEB0cy1pZ25vcmVcclxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XHJcblx0Ly8gQHRzLWlnbm9yZVxyXG5cdG1vZHVsZS5leHBvcnRzID0gWmlwO1xyXG59XHJcbiJdLAogICJtYXBwaW5ncyI6ICJBQWlDQSxTQUFTLGFBQWE7QUFHdEIsTUFBTSxZQUFZLEtBQUssS0FBSyxtREFBbUQ7QUFNeEUsTUFBTSxJQUFJO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRYixPQUFjLElBQUksWUFBb0IsZUFBNkI7QUFDL0QsY0FBVSxVQUFVLFlBQVksYUFBYTtBQUFBLEVBQ2pEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxPQUFjLE1BQU0sU0FBaUIsWUFBMEI7QUFDM0QsY0FBVSxVQUFVLFNBQVMs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
@@ -18,4 +18,4 @@ function Scheduled(options) {
18
18
  export {
19
19
  Scheduled
20
20
  };
21
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2pvYi9kZWNvcmF0b3JzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBTQ0hFRFVMRURfTUVUQURBVEFfS0VZID0gU3ltYm9sKFwic2NoZWR1bGVkOm1ldGFkYXRhXCIpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNjaGVkdWxlZE9wdGlvbnMge1xuICAgIGV4cHJlc3Npb246IHN0cmluZzsgLy8gZS5nLiwgXCIwLzEwICogKiAqICogP1wiXG4gICAgZ3JvdXA/OiBzdHJpbmc7ICAgICAgLy8gZS5nLiwgXCJkZWZpbmVkXCJcbn1cblxuLyoqXG4gKiBAU2NoZWR1bGVkIGRlY29yYXRvclxuICogTWFya3MgYW4gZW50aXJlIGNsYXNzIGFzIGEgc2NoZWR1bGVkIGpvYiB3aXRoIGEgY3JvbiBleHByZXNzaW9uLlxuICpcbiAqIGludHJvZHVjZWQgaW4gVHlwZVNjcmlwdCA1LjAsIHdoaWNoIGV4cGVjdHMgYSBDbGFzc0RlY29yYXRvckNvbnRleHQgb2JqZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gU2NoZWR1bGVkKG9wdGlvbnM6IFNjaGVkdWxlZE9wdGlvbnMpIHtcbiAgICBcbiAgICByZXR1cm4gZnVuY3Rpb24gPFQgZXh0ZW5kcyBhYnN0cmFjdCBuZXcgKC4uLmFyZ3M6IGFueSkgPT4gYW55Pih0YXJnZXQ6IFQsIGNvbnRleHQ6IENsYXNzRGVjb3JhdG9yQ29udGV4dDxUPikge1xuICAgICAgICBcbiAgICAgICAgaWYgKGNvbnRleHQua2luZCAhPT0gJ2NsYXNzJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBAU2NoZWR1bGVkIGNhbiBvbmx5IGJlIHVzZWQgb24gY2xhc3Nlcy5gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIFNDSEVEVUxFRF9NRVRBREFUQV9LRVksIHtcbiAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogb3B0aW9ucy5leHByZXNzaW9uLFxuICAgICAgICAgICAgICAgIGdyb3VwOiBvcHRpb25zLmdyb3VwXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWVcbiAgICAgICAgfSk7XG4gICAgfTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICJBQUFBLE1BQU0seUJBQXlCLHVCQUFPLG9CQUFvQjtBQWFuRCxTQUFTLFVBQVUsU0FBMkI7QUFFakQsU0FBTyxTQUF3RCxRQUFXLFNBQW1DO0FBRXpHLFFBQUksUUFBUSxTQUFTLFNBQVM7QUFDMUIsWUFBTSxJQUFJLE1BQU0seUNBQXlDO0FBQUEsSUFDN0Q7QUFFQSxXQUFPLGVBQWUsUUFBUSx3QkFBd0I7QUFBQSxNQUNsRCxPQUFPO0FBQUEsUUFDSCxZQUFZLFFBQVE7QUFBQSxRQUNwQixPQUFPLFFBQVE7QUFBQSxNQUNuQjtBQUFBLE1BQ0EsVUFBVTtBQUFBLE1BQ1YsY0FBYztBQUFBLE1BQ2QsWUFBWTtBQUFBLElBQ2hCLENBQUM7QUFBQSxFQUNMO0FBQ0o7IiwKICAibmFtZXMiOiBbXQp9Cg==
21
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2pvYi9kZWNvcmF0b3JzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgam9iL2RlY29yYXRvcnNcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9qb2JcbiAqIEBuYW1lIERlY29yYXRvcnNcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBhIHNldCBvZiBkZWNvcmF0b3JzIGZvciBkZWZpbmluZyBzY2hlZHVsZWQgam9icyBpbiBhIGRlY2xhcmF0aXZlIG1hbm5lci4gVGhlIGRlY29yYXRvcnMgYWxsb3cgZGV2ZWxvcGVycyB0byBhbm5vdGF0ZSBjbGFzc2VzIHRvIHNwZWNpZnkgdGhhdCB0aGV5IHNob3VsZCBiZSBleGVjdXRlZCBhY2NvcmRpbmcgdG8gYSBzcGVjaWZpZWQgc2NoZWR1bGUsIG1ha2luZyBpdCBlYXNpZXIgdG8gY3JlYXRlIGFuZCBtYW5hZ2Ugc2NoZWR1bGVkIHRhc2tzIHdpdGhpbiB0aGUgYXBwbGljYXRpb24uXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXM6XG4gKiAtICoqU2NoZWR1bGVkIERlY29yYXRvcioqOiBUaGUgYEBTY2hlZHVsZWRgIGRlY29yYXRvciBpcyB1c2VkIHRvIG1hcmsgYSBjbGFzcyBhcyBhIHNjaGVkdWxlZCBqb2IsIHdoaWNoIHdpbGwgYmUgZXhlY3V0ZWQgYmFzZWQgb24gYSBjcm9uIGV4cHJlc3Npb24gZGVmaW5lZCBpbiB0aGUgZGVjb3JhdG9yJ3Mgb3B0aW9ucy5cbiAqIFxuICogIyMjIFVzZSBDYXNlczpcbiAqIC0gKipUYXNrIFNjaGVkdWxpbmcqKjogVGhlc2UgZGVjb3JhdG9ycyBhcmUgcHJpbWFyaWx5IHVzZWQgZm9yIGRlZmluaW5nIHRhc2tzIHRoYXQgbmVlZCB0byBydW4gYXQgc3BlY2lmaWMgaW50ZXJ2YWxzIG9yIHRpbWVzLCBzdWNoIGFzIGRhdGEgY2xlYW51cCwgcmVwb3J0IGdlbmVyYXRpb24sIG9yIGFueSByZWN1cnJpbmcgYmFja2dyb3VuZCBwcm9jZXNzaW5nLlxuICogLSAqKkNvZGUgT3JnYW5pemF0aW9uKio6IEJ5IHVzaW5nIGRlY29yYXRvcnMsIGRldmVsb3BlcnMgY2FuIGtlZXAgdGhlaXIgY29kZSBvcmdhbml6ZWQgYW5kIG1haW50YWluYWJsZSwgc2VwYXJhdGluZyB0aGUgc2NoZWR1bGluZyBsb2dpYyBmcm9tIHRoZSBidXNpbmVzcyBsb2dpYyB3aXRoaW4gdGhlaXIgam9iIGNsYXNzZXMuXG4gKiBcbiAqICMjIyBFeGFtcGxlIFVzYWdlOlxuICogYGBgdHNcbiAqIGltcG9ydCB7IFNjaGVkdWxlZCB9IGZyb20gXCJAYWVyb2tpdC9zZGsvam9iXCI7XG4gKiBcbiAqIEBTY2hlZHVsZWQoeyBleHByZXNzaW9uOiBcIjAvMTAgKiAqICogKiA/XCIsIGdyb3VwOiBcImRlZmluZWRcIiB9KVxuICogY2xhc3MgTXlTY2hlZHVsZWRKb2Ige1xuICogICAgIGV4ZWN1dGUoKSB7XG4gKiAgICAgICAgIC8vIExvZ2ljIHRvIGJlIGV4ZWN1dGVkIGV2ZXJ5IDEwIHNlY29uZHNcbiAqICAgICB9XG4gKiB9XG4gKiBcbiAqIC8vIFRoZSBqb2Igd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHNjaGVkdWxlZCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgY3JvbiBleHByZXNzaW9uLlxuICogYGBgXG4gKi9cblxuY29uc3QgU0NIRURVTEVEX01FVEFEQVRBX0tFWSA9IFN5bWJvbChcInNjaGVkdWxlZDptZXRhZGF0YVwiKTtcblxuZXhwb3J0IGludGVyZmFjZSBTY2hlZHVsZWRPcHRpb25zIHtcbiAgICBleHByZXNzaW9uOiBzdHJpbmc7IC8vIGUuZy4sIFwiMC8xMCAqICogKiAqID9cIlxuICAgIGdyb3VwPzogc3RyaW5nOyAgICAgIC8vIGUuZy4sIFwiZGVmaW5lZFwiXG59XG5cbi8qKlxuICogQFNjaGVkdWxlZCBkZWNvcmF0b3JcbiAqIE1hcmtzIGFuIGVudGlyZSBjbGFzcyBhcyBhIHNjaGVkdWxlZCBqb2Igd2l0aCBhIGNyb24gZXhwcmVzc2lvbi5cbiAqXG4gKiBpbnRyb2R1Y2VkIGluIFR5cGVTY3JpcHQgNS4wLCB3aGljaCBleHBlY3RzIGEgQ2xhc3NEZWNvcmF0b3JDb250ZXh0IG9iamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFNjaGVkdWxlZChvcHRpb25zOiBTY2hlZHVsZWRPcHRpb25zKSB7XG4gICAgXG4gICAgcmV0dXJuIGZ1bmN0aW9uIDxUIGV4dGVuZHMgYWJzdHJhY3QgbmV3ICguLi5hcmdzOiBhbnkpID0+IGFueT4odGFyZ2V0OiBULCBjb250ZXh0OiBDbGFzc0RlY29yYXRvckNvbnRleHQ8VD4pIHtcbiAgICAgICAgXG4gICAgICAgIGlmIChjb250ZXh0LmtpbmQgIT09ICdjbGFzcycpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQFNjaGVkdWxlZCBjYW4gb25seSBiZSB1c2VkIG9uIGNsYXNzZXMuYCk7XG4gICAgICAgIH1cblxuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBTQ0hFRFVMRURfTUVUQURBVEFfS0VZLCB7XG4gICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IG9wdGlvbnMuZXhwcmVzc2lvbixcbiAgICAgICAgICAgICAgICBncm91cDogb3B0aW9ucy5ncm91cFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlXG4gICAgICAgIH0pO1xuICAgIH07XG59XG4iXSwKICAibWFwcGluZ3MiOiAiQUE4QkEsTUFBTSx5QkFBeUIsdUJBQU8sb0JBQW9CO0FBYW5ELFNBQVMsVUFBVSxTQUEyQjtBQUVqRCxTQUFPLFNBQXdELFFBQVcsU0FBbUM7QUFFekcsUUFBSSxRQUFRLFNBQVMsU0FBUztBQUMxQixZQUFNLElBQUksTUFBTSx5Q0FBeUM7QUFBQSxJQUM3RDtBQUVBLFdBQU8sZUFBZSxRQUFRLHdCQUF3QjtBQUFBLE1BQ2xELE9BQU87QUFBQSxRQUNILFlBQVksUUFBUTtBQUFBLFFBQ3BCLE9BQU8sUUFBUTtBQUFBLE1BQ25CO0FBQUEsTUFDQSxVQUFVO0FBQUEsTUFDVixjQUFjO0FBQUEsTUFDZCxZQUFZO0FBQUEsSUFDaEIsQ0FBQztBQUFBLEVBQ0w7QUFDSjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -6,4 +6,4 @@ export {
6
6
  decorators,
7
7
  Scheduler as scheduler
8
8
  };
9
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2pvYi9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiZXhwb3J0IHsgU2NoZWR1bGVyIGFzIHNjaGVkdWxlciB9IGZyb20gXCIuL3NjaGVkdWxlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2NoZWR1bGVyXCI7XG5leHBvcnQgKiBhcyBkZWNvcmF0b3JzIGZyb20gXCIuL2RlY29yYXRvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlY29yYXRvcnNcIjsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxTQUFzQixpQkFBaUI7QUFDdkMsY0FBYztBQUNkLFlBQVksZ0JBQWdCO0FBQzVCLGNBQWM7IiwKICAibmFtZXMiOiBbXQp9Cg==
9
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2pvYi9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAbW9kdWxlIGpvYi9pbmRleFxuICogQHBhY2thZ2UgQGFlcm9raXQvc2RrL2pvYlxuICogQG92ZXJ2aWV3XG4gKiBcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGZ1bmN0aW9uYWxpdGllcyBmb3Igam9iIHNjaGVkdWxpbmcgYW5kIGV4ZWN1dGlvbiB3aXRoaW4gdGhlIEFlcm9raXQgU0RLLiBJdCBpbmNsdWRlcyBjbGFzc2VzIGFuZCBtZXRob2RzIGZvciBkZWZpbmluZywgc2NoZWR1bGluZywgYW5kIG1hbmFnaW5nIGpvYnMgaW4gYSBtb2R1bGFyIGFyY2hpdGVjdHVyZS5cbiAqIFxuICogVGhlIG1haW4gY29tcG9uZW50cyBvZiB0aGlzIG1vZHVsZSBhcmU6XG4gKiAtIFNjaGVkdWxlcjogUmVwcmVzZW50cyBhIGpvYiBzY2hlZHVsZXIgdGhhdCBhbGxvd3MgeW91IHRvIGRlZmluZSBhbmQgbWFuYWdlIHNjaGVkdWxlZCBqb2JzLlxuICogLSBEZWNvcmF0b3JzOiBQcm92aWRlcyBkZWNvcmF0b3JzIGZvciBkZWZpbmluZyBqb2JzIGFuZCB0aGVpciBwcm9wZXJ0aWVzIGluIGEgZGVjbGFyYXRpdmUgbWFubmVyLlxuICovXG5cbmV4cG9ydCB7IFNjaGVkdWxlciBhcyBzY2hlZHVsZXIgfSBmcm9tIFwiLi9zY2hlZHVsZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NjaGVkdWxlclwiO1xuZXhwb3J0ICogYXMgZGVjb3JhdG9ycyBmcm9tIFwiLi9kZWNvcmF0b3JzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kZWNvcmF0b3JzXCI7Il0sCiAgIm1hcHBpbmdzIjogIkFBWUEsU0FBc0IsaUJBQWlCO0FBQ3ZDLGNBQWM7QUFDZCxZQUFZLGdCQUFnQjtBQUM1QixjQUFjOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -328,4 +328,4 @@ if (typeof module !== "undefined") {
328
328
  export {
329
329
  Scheduler
330
330
  };
331
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2pvYi9zY2hlZHVsZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogUHJvdmlkZXMgdGhlIEFQSSBmb3IgbWFuYWdpbmcgc2NoZWR1bGVkIGpvYnMgYW5kIHRhc2tzIHdpdGhpbiB0aGUgcGxhdGZvcm0sXG4gKiBhbGxvd2luZyB1c2VycyB0byByZXRyaWV2ZSwgZW5hYmxlLCBkaXNhYmxlLCBhbmQgdHJpZ2dlciBqb2JzLCBhcyB3ZWxsIGFzIGxvZyBvdXRwdXQuXG4gKi9cblxuaW1wb3J0IHsgY29uZmlndXJhdGlvbnMgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2NvcmVcIjtcblxuY29uc3QgSm9iRmFjYWRlID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLmpvYi5Kb2JGYWNhZGVcIik7XG5cbi8qKlxuICogVGhlIFNjaGVkdWxlciBjbGFzcyBwcm92aWRlcyBzdGF0aWMgbWV0aG9kcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgam9iIHNjaGVkdWxlcixcbiAqIG9mZmVyaW5nIGdsb2JhbCBjb250cm9sIG92ZXIgdGhlIHN5c3RlbSdzIGRlZmluZWQgam9icy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNjaGVkdWxlciB7XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgYWxsIGpvYiBkZWZpbml0aW9ucyBjdXJyZW50bHkgY29uZmlndXJlZCBpbiB0aGUgc3lzdGVtLlxuICAgICAqXG4gICAgICogQHJldHVybnMgQW4gYXJyYXkgb2Yge0BsaW5rIEpvYn0gb2JqZWN0cy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldEpvYnMoKTogSm9iW10ge1xuICAgICAgICBjb25zdCBqb2JzID0gbmV3IEFycmF5PEpvYj4oKTtcbiAgICAgICAgY29uc3Qgam9iRGVmaW5pdGlvbnMgPSBKU09OLnBhcnNlKEpvYkZhY2FkZS5nZXRKb2JzKCkpO1xuICAgICAgICBmb3IgKGNvbnN0IGRlZmluaXRpb24gb2Ygam9iRGVmaW5pdGlvbnMpIHtcbiAgICAgICAgICAgIGpvYnMucHVzaChuZXcgSm9iKGRlZmluaXRpb24pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gam9icztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgYSBzcGVjaWZpYyBqb2IgZGVmaW5pdGlvbiBieSBpdHMgdW5pcXVlIG5hbWUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgam9iLlxuICAgICAqIEByZXR1cm5zIEEge0BsaW5rIEpvYn0gb2JqZWN0IGNvcnJlc3BvbmRpbmcgdG8gdGhlIHByb3ZpZGVkIG5hbWUuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZXRKb2IobmFtZTogc3RyaW5nKTogSm9iIHtcbiAgICAgICAgY29uc3Qgam9iRGVmaW5pdGlvbiA9IEpTT04ucGFyc2UoSm9iRmFjYWRlLmdldEpvYihuYW1lKSk7XG4gICAgICAgIHJldHVybiBuZXcgSm9iKGpvYkRlZmluaXRpb24pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEVuYWJsZXMgYSBqb2IsIGFsbG93aW5nIGl0IHRvIGJlIGV4ZWN1dGVkIGFjY29yZGluZyB0byBpdHMgc2NoZWR1bGUgKGNyb24gZXhwcmVzc2lvbikuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgam9iIHRvIGVuYWJsZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGVuYWJsZShuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmVuYWJsZShuYW1lKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEaXNhYmxlcyBhIGpvYiwgcHJldmVudGluZyBpdCBmcm9tIGV4ZWN1dGluZyBvbiBpdHMgc2NoZWR1bGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgam9iIHRvIGRpc2FibGUuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBkaXNhYmxlKG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUuZGlzYWJsZShuYW1lKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUcmlnZ2VycyB0aGUgaW1tZWRpYXRlIGV4ZWN1dGlvbiBvZiBhIGpvYi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IgdG8gdHJpZ2dlci5cbiAgICAgKiBAcGFyYW0gcGFyYW1ldGVycyBPcHRpb25hbCBrZXktdmFsdWUgb2JqZWN0IG9mIHBhcmFtZXRlcnMgdG8gcGFzcyB0byB0aGUgam9iIGV4ZWN1dGlvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHRyaWdnZXIobmFtZTogc3RyaW5nLCBwYXJhbWV0ZXJzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge30pOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLnRyaWdnZXIobmFtZSwgSlNPTi5zdHJpbmdpZnkocGFyYW1ldGVycykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvZ3MgYSBtZXNzYWdlIGF0IHRoZSBzdGFuZGFyZCBsb2cgbGV2ZWwgZm9yIGEgc3BlY2lmaWMgam9iIGluc3RhbmNlLlxuICAgICAqIFRoaXMgaXMgdXNlZnVsIHdoZW4gdGhlIGxvZyBjb250ZXh0IG5lZWRzIHRvIGJlIGFzc29jaWF0ZWQgd2l0aCBhIHJ1bm5pbmcgam9iLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGpvYiB0byBhc3NvY2lhdGUgdGhlIGxvZyB3aXRoLlxuICAgICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBsb2cgbWVzc2FnZSBjb250ZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgbG9nKG5hbWU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS5sb2cobmFtZSwgbWVzc2FnZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhbiBlcnJvciBtZXNzYWdlIGZvciBhIHNwZWNpZmljIGpvYiBpbnN0YW5jZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IuXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UgY29udGVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGVycm9yKG5hbWU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS5lcnJvcihuYW1lLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGEgd2FybmluZyBtZXNzYWdlIGZvciBhIHNwZWNpZmljIGpvYiBpbnN0YW5jZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IuXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIHdhcm5pbmcgbWVzc2FnZSBjb250ZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgd2FybihuYW1lOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUud2FybihuYW1lLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGFuIGluZm9ybWF0aW9uYWwgbWVzc2FnZSBmb3IgYSBzcGVjaWZpYyBqb2IgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgam9iLlxuICAgICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBpbmZvcm1hdGlvbiBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBpbmZvKG5hbWU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS5pbmZvKG5hbWUsIG1lc3NhZ2UpO1xuICAgIH1cblxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBzaW5nbGUgc2NoZWR1bGVkIGpvYiBkZWZpbml0aW9uLlxuICovXG5jbGFzcyBKb2Ige1xuXG4gICAgcHJpdmF0ZSBkYXRhOiBhbnk7XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZGF0YSBUaGUgcmF3IGRhdGEgb2JqZWN0IGNvbnRhaW5pbmcgam9iIHByb3BlcnRpZXMuXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoZGF0YTogYW55KSB7XG4gICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgdW5pcXVlIG5hbWUgb2YgdGhlIGpvYi5cbiAgICAgKiBAcmV0dXJucyBUaGUgam9iIG5hbWUuXG4gICAgICovXG4gICAgcHVibGljIGdldE5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5uYW1lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGxvZ2ljYWwgZ3JvdXBpbmcgZm9yIHRoZSBqb2IuXG4gICAgICogQHJldHVybnMgVGhlIGpvYiBncm91cCBuYW1lLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRHcm91cCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmdyb3VwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIEphdmEgY2xhc3MgbmFtZSAoZm9yIEphdmEtYmFzZWQgam9icykgb3Igc2NyaXB0IGZpbGUgbmFtZSAoZm9yIHNjcmlwdC1iYXNlZCBqb2JzKS5cbiAgICAgKiBAcmV0dXJucyBUaGUgam9iIGltcGxlbWVudGF0aW9uIGNsYXNzL2ZpbGUgbmFtZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q2xhenooKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5jbGF6ejtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgam9iJ3MgcHVycG9zZS5cbiAgICAgKiBAcmV0dXJucyBUaGUgam9iIGRlc2NyaXB0aW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXREZXNjcmlwdGlvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmRlc2NyaXB0aW9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGNyb24gZXhwcmVzc2lvbiBkZWZpbmluZyB0aGUgam9iJ3Mgc2NoZWR1bGUuXG4gICAgICogQHJldHVybnMgVGhlIGNyb24gZXhwcmVzc2lvbiBzdHJpbmcuXG4gICAgICovXG4gICAgcHVibGljIGdldEV4cHJlc3Npb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5leHByZXNzaW9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGhhbmRsZXIgZmlsZSBwYXRoIG9yIHJlc291cmNlIG5hbWUgZm9yIHNjcmlwdC1iYXNlZCBqb2JzLlxuICAgICAqIEByZXR1cm5zIFRoZSBoYW5kbGVyIHBhdGguXG4gICAgICovXG4gICAgcHVibGljIGdldEhhbmRsZXIoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5oYW5kbGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGV4ZWN1dGlvbiBlbmdpbmUgdHlwZSAoZS5nLiwgJ0phdmFTY3JpcHQnLCAnSmF2YScpLlxuICAgICAqIEByZXR1cm5zIFRoZSBlbmdpbmUgdHlwZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RW5naW5lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZW5naW5lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgam9iIGlzIGNvbmZpZ3VyZWQgYXMgYSBzaW5nbGV0b24gKG9ubHkgb25lIGluc3RhbmNlIHJ1bnMgYXQgYSB0aW1lKS5cbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBqb2IgaXMgYSBzaW5nbGV0b24uXG4gICAgICovXG4gICAgcHVibGljIGdldFNpbmdsZXRvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5zaW5nbGV0b247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBqb2IgaXMgY3VycmVudGx5IGVuYWJsZWQgZm9yIHNjaGVkdWxlZCBleGVjdXRpb24uXG4gICAgICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgam9iIGlzIGVuYWJsZWQuXG4gICAgICovXG4gICAgcHVibGljIGdldEVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZW5hYmxlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB1c2VyIElEIHdobyBjcmVhdGVkIHRoZSBqb2IgZGVmaW5pdGlvbi5cbiAgICAgKiBAcmV0dXJucyBUaGUgY3JlYXRvcidzIHVzZXIgSUQuXG4gICAgICovXG4gICAgcHVibGljIGdldENyZWF0ZWRCeSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmNyZWF0ZWRCeTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB0aW1lc3RhbXAgd2hlbiB0aGUgam9iIGRlZmluaXRpb24gd2FzIGNyZWF0ZWQuXG4gICAgICogQHJldHVybnMgVGhlIGNyZWF0aW9uIHRpbWUgYXMgYSBudW1lcmljYWwgdGltZXN0YW1wLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDcmVhdGVkQXQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5jcmVhdGVkQXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgcGFyYW1ldGVycyBhc3NvY2lhdGVkIHdpdGggdGhpcyBqb2IgZGVmaW5pdGlvbi5cbiAgICAgKiBAcmV0dXJucyBBIHtAbGluayBKb2JQYXJhbWV0ZXJzfSBvYmplY3QgY29udGFpbmluZyBhbGwgcGFyYW1ldGVycy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UGFyYW1ldGVycygpOiBKb2JQYXJhbWV0ZXJzIHtcbiAgICAgICAgcmV0dXJuIG5ldyBKb2JQYXJhbWV0ZXJzKHRoaXMuZGF0YS5wYXJhbWV0ZXJzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIHZhbHVlIGZvciBhIHNwZWNpZmljIHBhcmFtZXRlciBvZiB0aGlzIGpvYi5cbiAgICAgKiBJdCBjaGVja3MgZm9yIGFuIG92ZXJyaWRpbmcgdmFsdWUgaW4gdGhlIGdsb2JhbCBjb25maWd1cmF0aW9ucyBmaXJzdCxcbiAgICAgKiBhbmQgZmFsbHMgYmFjayB0byB0aGUgZGVmaW5lZCBkZWZhdWx0IHZhbHVlIGlmIHRoZSBjb25maWd1cmF0aW9uIGlzIG5vdCBzZXQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgcGFyYW1ldGVyIHRvIHJldHJpZXZlLlxuICAgICAqIEByZXR1cm5zIFRoZSBwYXJhbWV0ZXIncyBjb25maWd1cmVkIG9yIGRlZmF1bHQgdmFsdWUsIG9yIG51bGwgaWYgbm90IGZvdW5kLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQYXJhbWV0ZXIobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YSkge1xuICAgICAgICAgICAgZm9yIChsZXQgaSBpbiB0aGlzLmRhdGEucGFyYW1ldGVycykge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmRhdGEucGFyYW1ldGVyc1tpXS5uYW1lID09PSBuYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIENoZWNrIGdsb2JhbCBjb25maWd1cmF0aW9uIGZvciBvdmVycmlkZVxuICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBjb25maWd1cmF0aW9ucy5nZXQobmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZSAmJiB2YWx1ZSAhPT0gbnVsbCA/IHZhbHVlIDogdGhpcy5kYXRhLnBhcmFtZXRlcnNbaV0uZGVmYXVsdFZhbHVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJKb2IgaXMgbm90IHZhbGlkXCIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEVuYWJsZXMgdGhpcyBzcGVjaWZpYyBqb2IgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHVibGljIGVuYWJsZSgpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmVuYWJsZSh0aGlzLmdldE5hbWUoKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGlzYWJsZXMgdGhpcyBzcGVjaWZpYyBqb2IgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHVibGljIGRpc2FibGUoKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS5kaXNhYmxlKHRoaXMuZ2V0TmFtZSgpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUcmlnZ2VycyB0aGUgaW1tZWRpYXRlIGV4ZWN1dGlvbiBvZiB0aGlzIGpvYiBpbnN0YW5jZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYXJhbWV0ZXJzIE9wdGlvbmFsIGtleS12YWx1ZSBvYmplY3Qgb2YgcGFyYW1ldGVycyB0byBwYXNzIHRvIHRoZSBqb2IgZXhlY3V0aW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyB0cmlnZ2VyKHBhcmFtZXRlcnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fSk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUudHJpZ2dlcih0aGlzLmdldE5hbWUoKSwgSlNPTi5zdHJpbmdpZnkocGFyYW1ldGVycykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvZ3MgYSBtZXNzYWdlIGF0IHRoZSBzdGFuZGFyZCBsb2cgbGV2ZWwgZm9yIHRoaXMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGxvZyBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIGxvZyhtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmxvZyh0aGlzLmdldE5hbWUoKSwgbWVzc2FnZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhbiBlcnJvciBtZXNzYWdlIGZvciB0aGlzIGpvYiBpbnN0YW5jZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBlcnJvciBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIGVycm9yKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUuZXJyb3IodGhpcy5nZXROYW1lKCksIG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvZ3MgYSB3YXJuaW5nIG1lc3NhZ2UgZm9yIHRoaXMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIHdhcm5pbmcgbWVzc2FnZSBjb250ZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyB3YXJuKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUud2Fybih0aGlzLmdldE5hbWUoKSwgbWVzc2FnZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhbiBpbmZvcm1hdGlvbmFsIG1lc3NhZ2UgZm9yIHRoaXMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGluZm9ybWF0aW9uIG1lc3NhZ2UgY29udGVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgaW5mbyhtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmluZm8odGhpcy5nZXROYW1lKCksIG1lc3NhZ2UpO1xuICAgIH1cbn1cblxuLyoqXG4gKiBBIGNvbnRhaW5lciBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBjb2xsZWN0aW9uIG9mIHBhcmFtZXRlcnMgZm9yIGEge0BsaW5rIEpvYn0uXG4gKi9cbmNsYXNzIEpvYlBhcmFtZXRlcnMge1xuXG4gICAgcHJpdmF0ZSBkYXRhOiBhbnlbXVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGRhdGEgVGhlIGFycmF5IG9mIHJhdyBqb2IgcGFyYW1ldGVyIG9iamVjdHMuXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoZGF0YTogYW55W10pIHtcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgYSBzcGVjaWZpYyBqb2IgcGFyYW1ldGVyIGJ5IGl0cyBpbmRleC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpIFRoZSBpbmRleCBvZiB0aGUgcGFyYW1ldGVyIGluIHRoZSBhcnJheS5cbiAgICAgKiBAcmV0dXJucyBBIHtAbGluayBKb2JQYXJhbWV0ZXJ9IG9iamVjdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0KGk6IG51bWJlcik6IEpvYlBhcmFtZXRlciB7XG4gICAgICAgIHJldHVybiBuZXcgSm9iUGFyYW1ldGVyKHRoaXMuZGF0YVtpXSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgdG90YWwgbnVtYmVyIG9mIHBhcmFtZXRlcnMgZGVmaW5lZCBmb3IgdGhlIGpvYi5cbiAgICAgKiBAcmV0dXJucyBUaGUgY291bnQgb2YgcGFyYW1ldGVycy5cbiAgICAgKi9cbiAgICBwdWJsaWMgY291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5sZW5ndGg7XG4gICAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBzaW5nbGUgcGFyYW1ldGVyIGRlZmluaXRpb24gZm9yIGEgam9iLlxuICovXG5jbGFzcyBKb2JQYXJhbWV0ZXIge1xuXG4gICAgcHJpdmF0ZSBkYXRhOiBhbnk7XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZGF0YSBUaGUgcmF3IGRhdGEgb2JqZWN0IGNvbnRhaW5pbmcgcGFyYW1ldGVyIHByb3BlcnRpZXMuXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoZGF0YTogYW55KSB7XG4gICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbmFtZSBvZiB0aGUgcGFyYW1ldGVyLlxuICAgICAqIEByZXR1cm5zIFRoZSBwYXJhbWV0ZXIgbmFtZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLm5hbWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHBhcmFtZXRlci5cbiAgICAgKiBAcmV0dXJucyBUaGUgcGFyYW1ldGVyIGRlc2NyaXB0aW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXREZXNjcmlwdGlvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmRlc2NyaXB0aW9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGV4cGVjdGVkIGRhdGEgdHlwZSBvZiB0aGUgcGFyYW1ldGVyIChlLmcuLCAnU3RyaW5nJywgJ0ludGVnZXInLCAnQm9vbGVhbicpLlxuICAgICAqIEByZXR1cm5zIFRoZSBwYXJhbWV0ZXIgdHlwZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VHlwZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLnR5cGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgZGVmYXVsdCB2YWx1ZSBmb3IgdGhlIHBhcmFtZXRlci5cbiAgICAgKiBAcmV0dXJucyBUaGUgZGVmYXVsdCB2YWx1ZSBzdHJpbmcuXG4gICAgICovXG4gICAgcHVibGljIGdldERlZmF1bHRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmRlZmF1bHRWYWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGEgbGlzdCBvZiBwcmVkZWZpbmVkIGNob2ljZXMgZm9yIHRoZSBwYXJhbWV0ZXIsIGlmIGFwcGxpY2FibGUuXG4gICAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgY2hvaWNlIHN0cmluZ3MuXG4gICAgICovXG4gICAgcHVibGljIGdldENob2ljZXMoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmNob2ljZXM7XG4gICAgfVxuXG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gU2NoZWR1bGVyO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIkFBS0EsU0FBUyxzQkFBc0I7QUFFL0IsTUFBTSxZQUFZLEtBQUssS0FBSyxvREFBb0Q7QUFNekUsTUFBTSxVQUFVO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT25CLE9BQWMsVUFBaUI7QUFDM0IsVUFBTSxPQUFPLElBQUksTUFBVztBQUM1QixVQUFNLGlCQUFpQixLQUFLLE1BQU0sVUFBVSxRQUFRLENBQUM7QUFDckQsZUFBVyxjQUFjLGdCQUFnQjtBQUNyQyxXQUFLLEtBQUssSUFBSSxJQUFJLFVBQVUsQ0FBQztBQUFBLElBQ2pDO0FBQ0EsV0FBTztBQUFBLEVBQ1g7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFBLE9BQWMsT0FBTyxNQUFtQjtBQUNwQyxVQUFNLGdCQUFnQixLQUFLLE1BQU0sVUFBVSxPQUFPLElBQUksQ0FBQztBQUN2RCxXQUFPLElBQUksSUFBSSxhQUFhO0FBQUEsRUFDaEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxPQUFjLE9BQU8sTUFBb0I7QUFDckMsY0FBVSxPQUFPLElBQUk7QUFBQSxFQUN6QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLE9BQWMsUUFBUSxNQUFvQjtBQUN0QyxjQUFVLFFBQVEsSUFBSTtBQUFBLEVBQzFC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
331
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2pvYi9zY2hlZHVsZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQG1vZHVsZSBqb2Ivc2NoZWR1bGVyXG4gKiBAcGFja2FnZSBAYWVyb2tpdC9zZGsvam9iXG4gKiBAbmFtZSBTY2hlZHVsZXJcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgU2NoZWR1bGVyIGNsYXNzIHByb3ZpZGVzIGEgc3RhdGljIGZhXHUwMEU3YWRlIGZvciBtYW5hZ2luZyBzY2hlZHVsZWQgam9icyBhbmQgdGFza3Mgd2l0aGluIHRoZSBwbGF0Zm9ybS4gSXQgYWxsb3dzIHVzZXJzIHRvIHJldHJpZXZlIGpvYiBkZWZpbml0aW9ucywgZW5hYmxlIG9yIGRpc2FibGUgam9icywgdHJpZ2dlciBpbW1lZGlhdGUgZXhlY3V0aW9uLCBhbmQgbG9nIG91dHB1dCBhc3NvY2lhdGVkIHdpdGggc3BlY2lmaWMgam9iIGluc3RhbmNlcy4gVGhlIFNjaGVkdWxlciBpbnRlcmFjdHMgd2l0aCB0aGUgdW5kZXJseWluZyBqb2Igc2NoZWR1bGluZyBzeXN0ZW0gdG8gZmFjaWxpdGF0ZSB0aGUgZXhlY3V0aW9uIG9mIHJlY3VycmluZyB0YXNrcyBiYXNlZCBvbiBjcm9uIGV4cHJlc3Npb25zIG9yIG90aGVyIHNjaGVkdWxpbmcgY3JpdGVyaWEuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXM6XG4gKiAtICoqSm9iIFJldHJpZXZhbCoqOiBNZXRob2RzIHRvIHJldHJpZXZlIGFsbCBqb2IgZGVmaW5pdGlvbnMgb3IgYSBzcGVjaWZpYyBqb2IgYnkgbmFtZS5cbiAqIC0gKipKb2IgQ29udHJvbCoqOiBNZXRob2RzIHRvIGVuYWJsZSwgZGlzYWJsZSwgb3IgdHJpZ2dlciBqb2JzIG9uIGRlbWFuZC5cbiAqIC0gKipMb2dnaW5nKio6IE1ldGhvZHMgdG8gbG9nIG1lc3NhZ2VzIGF0IHZhcmlvdXMgbGV2ZWxzIChzdGFuZGFyZCwgZXJyb3IsIHdhcm5pbmcsIGluZm8pIGZvciBzcGVjaWZpYyBqb2IgaW5zdGFuY2VzLlxuICogXG4gKiAjIyMgVXNlIENhc2VzOlxuICogLSAqKlRhc2sgU2NoZWR1bGluZyoqOiBEZXZlbG9wZXJzIGNhbiB1c2UgdGhlIFNjaGVkdWxlciB0byBtYW5hZ2UgdGFza3MgdGhhdCBuZWVkIHRvIHJ1biBhdCBzcGVjaWZpYyBpbnRlcnZhbHMsIHN1Y2ggYXMgZGF0YSBjbGVhbnVwLCByZXBvcnQgZ2VuZXJhdGlvbiwgb3IgYW55IHJlY3VycmluZyBiYWNrZ3JvdW5kIHByb2Nlc3NpbmcuXG4gKiAtICoqTW9uaXRvcmluZyBhbmQgRGVidWdnaW5nKio6IFRoZSBsb2dnaW5nIG1ldGhvZHMgYWxsb3cgZGV2ZWxvcGVycyB0byB0cmFjayB0aGUgZXhlY3V0aW9uIG9mIGpvYnMgYW5kIGRpYWdub3NlIGlzc3VlcyBieSBhc3NvY2lhdGluZyBsb2cgbWVzc2FnZXMgd2l0aCBzcGVjaWZpYyBqb2IgaW5zdGFuY2VzLlxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZTpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBTY2hlZHVsZXIgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2pvYlwiO1xuICogXG4gKiAvLyBSZXRyaWV2ZSBhbGwgam9iIGRlZmluaXRpb25zXG4gKiBjb25zdCBqb2JzID0gU2NoZWR1bGVyLmdldEpvYnMoKTtcbiAqIGNvbnNvbGUubG9nKGpvYnMpO1xuICogXG4gKiAvLyBFbmFibGUgYSBzcGVjaWZpYyBqb2JcbiAqIFNjaGVkdWxlci5lbmFibGUoXCJteVNjaGVkdWxlZEpvYlwiKTtcbiAqIFxuICogLy8gVHJpZ2dlciBhIGpvYiBpbW1lZGlhdGVseSB3aXRoIHBhcmFtZXRlcnNcbiAqIFNjaGVkdWxlci50cmlnZ2VyKFwibXlTY2hlZHVsZWRKb2JcIiwgeyBwYXJhbTE6IFwidmFsdWUxXCIsIHBhcmFtMjogXCJ2YWx1ZTJcIiB9KTtcbiAqIFxuICogLy8gTG9nIGEgbWVzc2FnZSBmb3IgYSBzcGVjaWZpYyBqb2IgaW5zdGFuY2VcbiAqIFNjaGVkdWxlci5sb2coXCJteVNjaGVkdWxlZEpvYlwiLCBcIlRoaXMgaXMgYSBsb2cgbWVzc2FnZSBmb3IgdGhlIGpvYiBpbnN0YW5jZS5cIik7XG4gKiBgYGBcbiAqL1xuXG5pbXBvcnQgeyBjb25maWd1cmF0aW9ucyB9IGZyb20gXCJAYWVyb2tpdC9zZGsvY29yZVwiO1xuXG5jb25zdCBKb2JGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkuam9iLkpvYkZhY2FkZVwiKTtcblxuLyoqXG4gKiBUaGUgU2NoZWR1bGVyIGNsYXNzIHByb3ZpZGVzIHN0YXRpYyBtZXRob2RzIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBqb2Igc2NoZWR1bGVyLFxuICogb2ZmZXJpbmcgZ2xvYmFsIGNvbnRyb2wgb3ZlciB0aGUgc3lzdGVtJ3MgZGVmaW5lZCBqb2JzLlxuICovXG5leHBvcnQgY2xhc3MgU2NoZWR1bGVyIHtcblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhbGwgam9iIGRlZmluaXRpb25zIGN1cnJlbnRseSBjb25maWd1cmVkIGluIHRoZSBzeXN0ZW0uXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiB7QGxpbmsgSm9ifSBvYmplY3RzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0Sm9icygpOiBKb2JbXSB7XG4gICAgICAgIGNvbnN0IGpvYnMgPSBuZXcgQXJyYXk8Sm9iPigpO1xuICAgICAgICBjb25zdCBqb2JEZWZpbml0aW9ucyA9IEpTT04ucGFyc2UoSm9iRmFjYWRlLmdldEpvYnMoKSk7XG4gICAgICAgIGZvciAoY29uc3QgZGVmaW5pdGlvbiBvZiBqb2JEZWZpbml0aW9ucykge1xuICAgICAgICAgICAgam9icy5wdXNoKG5ldyBKb2IoZGVmaW5pdGlvbikpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBqb2JzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhIHNwZWNpZmljIGpvYiBkZWZpbml0aW9uIGJ5IGl0cyB1bmlxdWUgbmFtZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IuXG4gICAgICogQHJldHVybnMgQSB7QGxpbmsgSm9ifSBvYmplY3QgY29ycmVzcG9uZGluZyB0byB0aGUgcHJvdmlkZWQgbmFtZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldEpvYihuYW1lOiBzdHJpbmcpOiBKb2Ige1xuICAgICAgICBjb25zdCBqb2JEZWZpbml0aW9uID0gSlNPTi5wYXJzZShKb2JGYWNhZGUuZ2V0Sm9iKG5hbWUpKTtcbiAgICAgICAgcmV0dXJuIG5ldyBKb2Ioam9iRGVmaW5pdGlvbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW5hYmxlcyBhIGpvYiwgYWxsb3dpbmcgaXQgdG8gYmUgZXhlY3V0ZWQgYWNjb3JkaW5nIHRvIGl0cyBzY2hlZHVsZSAoY3JvbiBleHByZXNzaW9uKS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IgdG8gZW5hYmxlLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZW5hYmxlKG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUuZW5hYmxlKG5hbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERpc2FibGVzIGEgam9iLCBwcmV2ZW50aW5nIGl0IGZyb20gZXhlY3V0aW5nIG9uIGl0cyBzY2hlZHVsZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IgdG8gZGlzYWJsZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGRpc2FibGUobmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS5kaXNhYmxlKG5hbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyaWdnZXJzIHRoZSBpbW1lZGlhdGUgZXhlY3V0aW9uIG9mIGEgam9iLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGpvYiB0byB0cmlnZ2VyLlxuICAgICAqIEBwYXJhbSBwYXJhbWV0ZXJzIE9wdGlvbmFsIGtleS12YWx1ZSBvYmplY3Qgb2YgcGFyYW1ldGVycyB0byBwYXNzIHRvIHRoZSBqb2IgZXhlY3V0aW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgdHJpZ2dlcihuYW1lOiBzdHJpbmcsIHBhcmFtZXRlcnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fSk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUudHJpZ2dlcihuYW1lLCBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhIG1lc3NhZ2UgYXQgdGhlIHN0YW5kYXJkIGxvZyBsZXZlbCBmb3IgYSBzcGVjaWZpYyBqb2IgaW5zdGFuY2UuXG4gICAgICogVGhpcyBpcyB1c2VmdWwgd2hlbiB0aGUgbG9nIGNvbnRleHQgbmVlZHMgdG8gYmUgYXNzb2NpYXRlZCB3aXRoIGEgcnVubmluZyBqb2IuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgam9iIHRvIGFzc29jaWF0ZSB0aGUgbG9nIHdpdGguXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGxvZyBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBsb2cobmFtZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmxvZyhuYW1lLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGFuIGVycm9yIG1lc3NhZ2UgZm9yIGEgc3BlY2lmaWMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGpvYi5cbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgZXJyb3IgbWVzc2FnZSBjb250ZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZXJyb3IobmFtZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmVycm9yKG5hbWUsIG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvZ3MgYSB3YXJuaW5nIG1lc3NhZ2UgZm9yIGEgc3BlY2lmaWMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGpvYi5cbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgd2FybmluZyBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyB3YXJuKG5hbWU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS53YXJuKG5hbWUsIG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvZ3MgYW4gaW5mb3JtYXRpb25hbCBtZXNzYWdlIGZvciBhIHNwZWNpZmljIGpvYiBpbnN0YW5jZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IuXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGluZm9ybWF0aW9uIG1lc3NhZ2UgY29udGVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGluZm8obmFtZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmluZm8obmFtZSwgbWVzc2FnZSk7XG4gICAgfVxuXG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNpbmdsZSBzY2hlZHVsZWQgam9iIGRlZmluaXRpb24uXG4gKi9cbmNsYXNzIEpvYiB7XG5cbiAgICBwcml2YXRlIGRhdGE6IGFueTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkYXRhIFRoZSByYXcgZGF0YSBvYmplY3QgY29udGFpbmluZyBqb2IgcHJvcGVydGllcy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBhbnkpIHtcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB1bmlxdWUgbmFtZSBvZiB0aGUgam9iLlxuICAgICAqIEByZXR1cm5zIFRoZSBqb2IgbmFtZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLm5hbWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbG9naWNhbCBncm91cGluZyBmb3IgdGhlIGpvYi5cbiAgICAgKiBAcmV0dXJucyBUaGUgam9iIGdyb3VwIG5hbWUuXG4gICAgICovXG4gICAgcHVibGljIGdldEdyb3VwKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZ3JvdXA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgSmF2YSBjbGFzcyBuYW1lIChmb3IgSmF2YS1iYXNlZCBqb2JzKSBvciBzY3JpcHQgZmlsZSBuYW1lIChmb3Igc2NyaXB0LWJhc2VkIGpvYnMpLlxuICAgICAqIEByZXR1cm5zIFRoZSBqb2IgaW1wbGVtZW50YXRpb24gY2xhc3MvZmlsZSBuYW1lLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDbGF6eigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmNsYXp6O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBqb2IncyBwdXJwb3NlLlxuICAgICAqIEByZXR1cm5zIFRoZSBqb2IgZGVzY3JpcHRpb24uXG4gICAgICovXG4gICAgcHVibGljIGdldERlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZGVzY3JpcHRpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgY3JvbiBleHByZXNzaW9uIGRlZmluaW5nIHRoZSBqb2IncyBzY2hlZHVsZS5cbiAgICAgKiBAcmV0dXJucyBUaGUgY3JvbiBleHByZXNzaW9uIHN0cmluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RXhwcmVzc2lvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmV4cHJlc3Npb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgaGFuZGxlciBmaWxlIHBhdGggb3IgcmVzb3VyY2UgbmFtZSBmb3Igc2NyaXB0LWJhc2VkIGpvYnMuXG4gICAgICogQHJldHVybnMgVGhlIGhhbmRsZXIgcGF0aC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0SGFuZGxlcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmhhbmRsZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgZXhlY3V0aW9uIGVuZ2luZSB0eXBlIChlLmcuLCAnSmF2YVNjcmlwdCcsICdKYXZhJykuXG4gICAgICogQHJldHVybnMgVGhlIGVuZ2luZSB0eXBlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRFbmdpbmUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5lbmdpbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBqb2IgaXMgY29uZmlndXJlZCBhcyBhIHNpbmdsZXRvbiAob25seSBvbmUgaW5zdGFuY2UgcnVucyBhdCBhIHRpbWUpLlxuICAgICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGpvYiBpcyBhIHNpbmdsZXRvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0U2luZ2xldG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLnNpbmdsZXRvbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIGpvYiBpcyBjdXJyZW50bHkgZW5hYmxlZCBmb3Igc2NoZWR1bGVkIGV4ZWN1dGlvbi5cbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBqb2IgaXMgZW5hYmxlZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5lbmFibGVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHVzZXIgSUQgd2hvIGNyZWF0ZWQgdGhlIGpvYiBkZWZpbml0aW9uLlxuICAgICAqIEByZXR1cm5zIFRoZSBjcmVhdG9yJ3MgdXNlciBJRC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q3JlYXRlZEJ5KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuY3JlYXRlZEJ5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHRpbWVzdGFtcCB3aGVuIHRoZSBqb2IgZGVmaW5pdGlvbiB3YXMgY3JlYXRlZC5cbiAgICAgKiBAcmV0dXJucyBUaGUgY3JlYXRpb24gdGltZSBhcyBhIG51bWVyaWNhbCB0aW1lc3RhbXAuXG4gICAgICovXG4gICAgcHVibGljIGdldENyZWF0ZWRBdCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmNyZWF0ZWRBdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBwYXJhbWV0ZXJzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGpvYiBkZWZpbml0aW9uLlxuICAgICAqIEByZXR1cm5zIEEge0BsaW5rIEpvYlBhcmFtZXRlcnN9IG9iamVjdCBjb250YWluaW5nIGFsbCBwYXJhbWV0ZXJzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQYXJhbWV0ZXJzKCk6IEpvYlBhcmFtZXRlcnMge1xuICAgICAgICByZXR1cm4gbmV3IEpvYlBhcmFtZXRlcnModGhpcy5kYXRhLnBhcmFtZXRlcnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgdmFsdWUgZm9yIGEgc3BlY2lmaWMgcGFyYW1ldGVyIG9mIHRoaXMgam9iLlxuICAgICAqIEl0IGNoZWNrcyBmb3IgYW4gb3ZlcnJpZGluZyB2YWx1ZSBpbiB0aGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25zIGZpcnN0LFxuICAgICAqIGFuZCBmYWxscyBiYWNrIHRvIHRoZSBkZWZpbmVkIGRlZmF1bHQgdmFsdWUgaWYgdGhlIGNvbmZpZ3VyYXRpb24gaXMgbm90IHNldC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIgdG8gcmV0cmlldmUuXG4gICAgICogQHJldHVybnMgVGhlIHBhcmFtZXRlcidzIGNvbmZpZ3VyZWQgb3IgZGVmYXVsdCB2YWx1ZSwgb3IgbnVsbCBpZiBub3QgZm91bmQuXG4gICAgICovXG4gICAgcHVibGljIGdldFBhcmFtZXRlcihuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5kYXRhKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpIGluIHRoaXMuZGF0YS5wYXJhbWV0ZXJzKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGF0YS5wYXJhbWV0ZXJzW2ldLm5hbWUgPT09IG5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgZ2xvYmFsIGNvbmZpZ3VyYXRpb24gZm9yIG92ZXJyaWRlXG4gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGNvbmZpZ3VyYXRpb25zLmdldChuYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlICYmIHZhbHVlICE9PSBudWxsID8gdmFsdWUgOiB0aGlzLmRhdGEucGFyYW1ldGVyc1tpXS5kZWZhdWx0VmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIkpvYiBpcyBub3QgdmFsaWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW5hYmxlcyB0aGlzIHNwZWNpZmljIGpvYiBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZW5hYmxlKCk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUuZW5hYmxlKHRoaXMuZ2V0TmFtZSgpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEaXNhYmxlcyB0aGlzIHNwZWNpZmljIGpvYiBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGlzYWJsZSgpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmRpc2FibGUodGhpcy5nZXROYW1lKCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyaWdnZXJzIHRoZSBpbW1lZGlhdGUgZXhlY3V0aW9uIG9mIHRoaXMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHBhcmFtZXRlcnMgT3B0aW9uYWwga2V5LXZhbHVlIG9iamVjdCBvZiBwYXJhbWV0ZXJzIHRvIHBhc3MgdG8gdGhlIGpvYiBleGVjdXRpb24uXG4gICAgICovXG4gICAgcHVibGljIHRyaWdnZXIocGFyYW1ldGVyczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9KTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS50cmlnZ2VyKHRoaXMuZ2V0TmFtZSgpLCBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhIG1lc3NhZ2UgYXQgdGhlIHN0YW5kYXJkIGxvZyBsZXZlbCBmb3IgdGhpcyBqb2IgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgbG9nIG1lc3NhZ2UgY29udGVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgbG9nKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUubG9nKHRoaXMuZ2V0TmFtZSgpLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGFuIGVycm9yIG1lc3NhZ2UgZm9yIHRoaXMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UgY29udGVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZXJyb3IobWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS5lcnJvcih0aGlzLmdldE5hbWUoKSwgbWVzc2FnZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhIHdhcm5pbmcgbWVzc2FnZSBmb3IgdGhpcyBqb2IgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgd2FybmluZyBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIHdhcm4obWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS53YXJuKHRoaXMuZ2V0TmFtZSgpLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGFuIGluZm9ybWF0aW9uYWwgbWVzc2FnZSBmb3IgdGhpcyBqb2IgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgaW5mb3JtYXRpb24gbWVzc2FnZSBjb250ZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBpbmZvKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUuaW5mbyh0aGlzLmdldE5hbWUoKSwgbWVzc2FnZSk7XG4gICAgfVxufVxuXG4vKipcbiAqIEEgY29udGFpbmVyIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIGNvbGxlY3Rpb24gb2YgcGFyYW1ldGVycyBmb3IgYSB7QGxpbmsgSm9ifS5cbiAqL1xuY2xhc3MgSm9iUGFyYW1ldGVycyB7XG5cbiAgICBwcml2YXRlIGRhdGE6IGFueVtdXG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZGF0YSBUaGUgYXJyYXkgb2YgcmF3IGpvYiBwYXJhbWV0ZXIgb2JqZWN0cy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBhbnlbXSkge1xuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhIHNwZWNpZmljIGpvYiBwYXJhbWV0ZXIgYnkgaXRzIGluZGV4LlxuICAgICAqXG4gICAgICogQHBhcmFtIGkgVGhlIGluZGV4IG9mIHRoZSBwYXJhbWV0ZXIgaW4gdGhlIGFycmF5LlxuICAgICAqIEByZXR1cm5zIEEge0BsaW5rIEpvYlBhcmFtZXRlcn0gb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQoaTogbnVtYmVyKTogSm9iUGFyYW1ldGVyIHtcbiAgICAgICAgcmV0dXJuIG5ldyBKb2JQYXJhbWV0ZXIodGhpcy5kYXRhW2ldKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB0b3RhbCBudW1iZXIgb2YgcGFyYW1ldGVycyBkZWZpbmVkIGZvciB0aGUgam9iLlxuICAgICAqIEByZXR1cm5zIFRoZSBjb3VudCBvZiBwYXJhbWV0ZXJzLlxuICAgICAqL1xuICAgIHB1YmxpYyBjb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmxlbmd0aDtcbiAgICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNpbmdsZSBwYXJhbWV0ZXIgZGVmaW5pdGlvbiBmb3IgYSBqb2IuXG4gKi9cbmNsYXNzIEpvYlBhcmFtZXRlciB7XG5cbiAgICBwcml2YXRlIGRhdGE6IGFueTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkYXRhIFRoZSByYXcgZGF0YSBvYmplY3QgY29udGFpbmluZyBwYXJhbWV0ZXIgcHJvcGVydGllcy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBhbnkpIHtcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIuXG4gICAgICogQHJldHVybnMgVGhlIHBhcmFtZXRlciBuYW1lLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXROYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEubmFtZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgcGFyYW1ldGVyLlxuICAgICAqIEByZXR1cm5zIFRoZSBwYXJhbWV0ZXIgZGVzY3JpcHRpb24uXG4gICAgICovXG4gICAgcHVibGljIGdldERlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZGVzY3JpcHRpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgZXhwZWN0ZWQgZGF0YSB0eXBlIG9mIHRoZSBwYXJhbWV0ZXIgKGUuZy4sICdTdHJpbmcnLCAnSW50ZWdlcicsICdCb29sZWFuJykuXG4gICAgICogQHJldHVybnMgVGhlIHBhcmFtZXRlciB0eXBlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRUeXBlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEudHlwZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBkZWZhdWx0IHZhbHVlIGZvciB0aGUgcGFyYW1ldGVyLlxuICAgICAqIEByZXR1cm5zIFRoZSBkZWZhdWx0IHZhbHVlIHN0cmluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RGVmYXVsdFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYSBsaXN0IG9mIHByZWRlZmluZWQgY2hvaWNlcyBmb3IgdGhlIHBhcmFtZXRlciwgaWYgYXBwbGljYWJsZS5cbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBjaG9pY2Ugc3RyaW5ncy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q2hvaWNlcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuY2hvaWNlcztcbiAgICB9XG5cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBTY2hlZHVsZXI7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiQUFvQ0EsU0FBUyxzQkFBc0I7QUFFL0IsTUFBTSxZQUFZLEtBQUssS0FBSyxvREFBb0Q7QUFNekUsTUFBTSxVQUFVO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT25CLE9BQWMsVUFBaUI7QUFDM0IsVUFBTSxPQUFPLElBQUksTUFBVztBQUM1QixVQUFNLGlCQUFpQixLQUFLLE1BQU0sVUFBVSxRQUFRLENBQUM7QUFDckQsZUFBVyxjQUFjLGdCQUFnQjtBQUNyQyxXQUFLLEtBQUssSUFBSSxJQUFJLFVBQVUsQ0FBQztBQUFBLElBQ2pDO0FBQ0EsV0FBTztBQUFBLEVBQ1g7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFBLE9BQWMsT0FBTyxNQUFtQjtBQUNwQyxVQUFNLGdCQUFnQixLQUFLLE1BQU0sVUFBVSxPQUFPLElBQUksQ0FBQztBQUN2RCxXQUFPLElBQUksSUFBSSxhQUFhO0FBQUEsRUFDaEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxPQUFjLE9BQU8sTUFBb0I7QUFDckMsY0FBVSxPQUFPLElBQUk7QUFBQSxFQUN6QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLE9BQWMsUUFBUSxNQUFvQjtBQUN0QyxjQUFVLFFBQVEsSUFBSTtBQUFBLEVBQzFCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxPQUFjLFFBQVEsTUFBYyxhQUF3QyxDQUFDLEdBQVM7QUFDbEYsY0FBVSxRQUFRLE1BQU0sS0FBSyxVQUFVLFVBQVUsQ0FBQztBQUFBLEVBQ3REO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7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
@@ -1,2 +1,2 @@
1
1
  export * from "./junit";
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2p1bml0L2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJleHBvcnQgKiBmcm9tIFwiLi9qdW5pdFwiO1xuIl0sCiAgIm1hcHBpbmdzIjogIkFBQUEsY0FBYzsiLAogICJuYW1lcyI6IFtdCn0K
2
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2p1bml0L2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUganVuaXQvaW5kZXhcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9qdW5pdFxuICogQG92ZXJ2aWV3XG4gKiBcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGZ1bmN0aW9uYWxpdGllcyBmb3IgSlVuaXQgdGVzdGluZyB3aXRoaW4gdGhlIEFlcm9raXQgU0RLLiBJdCBpbmNsdWRlcyBjbGFzc2VzIGFuZCBtZXRob2RzIGZvciBkZWZpbmluZyBhbmQgZXhlY3V0aW5nIEpVbml0IHRlc3RzLCBhcyB3ZWxsIGFzIG1hbmFnaW5nIHRlc3Qgc3VpdGVzIGFuZCB0ZXN0IGNhc2VzIGluIGEgbW9kdWxhciBhcmNoaXRlY3R1cmUuXG4gKiBcbiAqIFRoZSBtYWluIGNvbXBvbmVudHMgb2YgdGhpcyBtb2R1bGUgYXJlOlxuICogLSBKVW5pdDogUmVwcmVzZW50cyBhIHJlZ2lzdHJ5IGZvciBtYW5hZ2luZyBKVW5pdCB0ZXN0cyBhbmQgcHJvdmlkZXMgbWV0aG9kcyB0byBkZWZpbmUgYW5kIGV4ZWN1dGUgdGVzdHMuXG4gKi9cblxuZXhwb3J0ICogZnJvbSBcIi4vanVuaXRcIjtcbiJdLAogICJtYXBwaW5ncyI6ICJBQVdBLGNBQWM7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -45,4 +45,4 @@ export {
45
45
  fail,
46
46
  test
47
47
  };
48
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2p1bml0L2p1bml0LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIFByb3ZpZGVzIGEgc2V0IG9mIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBkZWZpbmluZyB0ZXN0cyBhbmQgcGVyZm9ybWluZyBhc3NlcnRpb25zLFxuICogd3JhcHBpbmcgdGhlIG5hdGl2ZSBKVW5pdCBBc3NlcnRpb25zIGZvciB1c2UgaW4gVHlwZVNjcmlwdC9KYXZhU2NyaXB0IHRlc3RzLlxuICovXG5jb25zdCBBc3NlcnQgPSBKYXZhLnR5cGUoJ29yZy5qdW5pdC5Bc3NlcnQnKTtcblxuLyoqXG4gKiBEZWZpbmVzIGEgdGVzdCBjYXNlLlxuICpcbiAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSB0ZXN0IGNhc2UuXG4gKiBAcGFyYW0gdGVzdEZuIFRoZSBmdW5jdGlvbiBjb250YWluaW5nIHRoZSB0ZXN0IGxvZ2ljIGFuZCBhc3NlcnRpb25zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdGVzdChuYW1lOiBzdHJpbmcsIHRlc3RGbjogKCkgPT4gdm9pZCkge1xuICAgIC8vIENhbGxzIHRoZSBnbG9iYWwgdGVzdCBydW5uZXIgZnVuY3Rpb24gcHJvdmlkZWQgYnkgdGhlIFNESyBlbnZpcm9ubWVudC5cbiAgICAoZ2xvYmFsVGhpcyBhcyBhbnkpLnRlc3QobmFtZSwgdGVzdEZuKTtcbn1cblxuLyoqXG4gKiBBc3NlcnRzIHRoYXQgdHdvIG9iamVjdHMgb3IgcHJpbWl0aXZlIHZhbHVlcyBhcmUgZXF1YWwuXG4gKlxuICogQHRlbXBsYXRlIFQgVGhlIHR5cGUgb2YgdGhlIHZhbHVlcyBiZWluZyBjb21wYXJlZC5cbiAqIEBwYXJhbSBleHBlY3RlZCBUaGUgZXhwZWN0ZWQgdmFsdWUuXG4gKiBAcGFyYW0gYWN0dWFsIFRoZSBhY3R1YWwgdmFsdWUuXG4gKiBAcGFyYW0gbWVzc2FnZSBPcHRpb25hbCBtZXNzYWdlIHRvIGRpc3BsYXkgaWYgdGhlIGFzc2VydGlvbiBmYWlscy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydEVxdWFsczxUPihleHBlY3RlZDogVCwgYWN0dWFsOiBUKTogdm9pZFxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydEVxdWFsczxUPihtZXNzYWdlOiBzdHJpbmcsIGV4cGVjdGVkOiBULCBhY3R1YWw6IFQpOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0RXF1YWxzPFQ+KG1lc3NhZ2VPckV4cGVjdGVkPzogc3RyaW5nIHwgVCwgZXhwZWN0ZWRPckFjdHVhbD86IFQsIGFjdHVhbE9yVW5kZWZpbmVkPzogVCk6IHZvaWQge1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAzKSB7XG4gICAgICAgIEFzc2VydC5hc3NlcnRFcXVhbHMobWVzc2FnZU9yRXhwZWN0ZWQsIGV4cGVjdGVkT3JBY3R1YWwsIGFjdHVhbE9yVW5kZWZpbmVkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBBc3NlcnQuYXNzZXJ0RXF1YWxzKG1lc3NhZ2VPckV4cGVjdGVkLCBleHBlY3RlZE9yQWN0dWFsKTtcbiAgICB9XG59XG5cbi8qKlxuICogQXNzZXJ0cyB0aGF0IHR3byBvYmplY3RzIG9yIHByaW1pdGl2ZSB2YWx1ZXMgYXJlIG5vdCBlcXVhbC5cbiAqXG4gKiBAdGVtcGxhdGUgVCBUaGUgdHlwZSBvZiB0aGUgdmFsdWVzIGJlaW5nIGNvbXBhcmVkLlxuICogQHBhcmFtIHVuZXhwZWN0ZWQgVGhlIHVuZXhwZWN0ZWQgdmFsdWUuXG4gKiBAcGFyYW0gYWN0dWFsIFRoZSBhY3R1YWwgdmFsdWUuXG4gKiBAcGFyYW0gbWVzc2FnZSBPcHRpb25hbCBtZXNzYWdlIHRvIGRpc3BsYXkgaWYgdGhlIGFzc2VydGlvbiBmYWlscy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydE5vdEVxdWFsczxUPih1bmV4cGVjdGVkOiBULCBhY3R1YWw6IFQpOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0Tm90RXF1YWxzPFQ+KG1lc3NhZ2U6IHN0cmluZywgdW5leHBlY3RlZDogVCwgYWN0dWFsOiBUKTogdm9pZFxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydE5vdEVxdWFsczxUPihtZXNzYWdlT3JVbmV4cGVjdGVkPzogc3RyaW5nIHwgVCwgdW5leHBlY3RlZE9yQWN0dWFsPzogVCwgYWN0dWFsT3JVbmRlZmluZWQ/OiBUKTogdm9pZCB7XG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDMpIHtcbiAgICAgICAgQXNzZXJ0LmFzc2VydE5vdEVxdWFscyhtZXNzYWdlT3JVbmV4cGVjdGVkLCB1bmV4cGVjdGVkT3JBY3R1YWwsIGFjdHVhbE9yVW5kZWZpbmVkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBBc3NlcnQuYXNzZXJ0Tm90RXF1YWxzKG1lc3NhZ2VPclVuZXhwZWN0ZWQsIHVuZXhwZWN0ZWRPckFjdHVhbCk7XG4gICAgfVxufVxuXG4vKipcbiAqIEFzc2VydHMgdGhhdCBhIGNvbmRpdGlvbiBpcyB0cnVlLlxuICpcbiAqIEBwYXJhbSBjb25kaXRpb24gVGhlIGNvbmRpdGlvbiB0byB0ZXN0LlxuICogQHBhcmFtIG1lc3NhZ2UgT3B0aW9uYWwgbWVzc2FnZSB0byBkaXNwbGF5IGlmIHRoZSBhc3NlcnRpb24gZmFpbHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRUcnVlKGNvbmRpdGlvbjogYm9vbGVhbik6IHZvaWRcbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRUcnVlKG1lc3NhZ2U6IHN0cmluZywgY29uZGl0aW9uOiBib29sZWFuKTogdm9pZFxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydFRydWUobWVzc2FnZU9yQ29uZGl0aW9uPzogc3RyaW5nIHwgYm9vbGVhbiwgY29uZGl0aW9uT3JVbmRlZmluZWQ/OiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgQXNzZXJ0LmFzc2VydFRydWUobWVzc2FnZU9yQ29uZGl0aW9uLCBjb25kaXRpb25PclVuZGVmaW5lZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgQXNzZXJ0LmFzc2VydFRydWUobWVzc2FnZU9yQ29uZGl0aW9uKTtcbiAgICB9XG59XG5cbi8qKlxuICogQXNzZXJ0cyB0aGF0IGEgY29uZGl0aW9uIGlzIGZhbHNlLlxuICpcbiAqIEBwYXJhbSBjb25kaXRpb24gVGhlIGNvbmRpdGlvbiB0byB0ZXN0LlxuICogQHBhcmFtIG1lc3NhZ2UgT3B0aW9uYWwgbWVzc2FnZSB0byBkaXNwbGF5IGlmIHRoZSBhc3NlcnRpb24gZmFpbHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRGYWxzZShjb25kaXRpb246IGJvb2xlYW4pOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0RmFsc2UobWVzc2FnZTogc3RyaW5nLCBjb25kaXRpb246IGJvb2xlYW4pOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0RmFsc2UobWVzc2FnZU9yQ29uZGl0aW9uPzogc3RyaW5nIHwgYm9vbGVhbiwgY29uZGl0aW9uT3JVbmRlZmluZWQ/OiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgQXNzZXJ0LmFzc2VydEZhbHNlKG1lc3NhZ2VPckNvbmRpdGlvbiwgY29uZGl0aW9uT3JVbmRlZmluZWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIEFzc2VydC5hc3NlcnRGYWxzZShtZXNzYWdlT3JDb25kaXRpb24pO1xuICAgIH1cbn1cblxuLyoqXG4gKiBGYWlscyBhIHRlc3QgaW1tZWRpYXRlbHkuXG4gKlxuICogQHBhcmFtIG1lc3NhZ2UgT3B0aW9uYWwgbWVzc2FnZSB0byBkaXNwbGF5IGluZGljYXRpbmcgdGhlIHJlYXNvbiBmb3IgdGhlIGZhaWx1cmUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmYWlsKCk6IHZvaWRcbmV4cG9ydCBmdW5jdGlvbiBmYWlsKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWRcbmV4cG9ydCBmdW5jdGlvbiBmYWlsKG1lc3NhZ2U/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAobWVzc2FnZSkge1xuICAgICAgICBBc3NlcnQuZmFpbChtZXNzYWdlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBBc3NlcnQuZmFpbCgpO1xuICAgIH1cbn0iXSwKICAibWFwcGluZ3MiOiAiQUFJQSxNQUFNLFNBQVMsS0FBSyxLQUFLLGtCQUFrQjtBQVFwQyxTQUFTLEtBQUssTUFBYyxRQUFvQjtBQUVuRCxFQUFDLFdBQW1CLEtBQUssTUFBTSxNQUFNO0FBQ3pDO0FBWU8sU0FBUyxhQUFnQixtQkFBZ0Msa0JBQXNCLG1CQUE2QjtBQUMvRyxNQUFJLFVBQVUsV0FBVyxHQUFHO0FBQ3hCLFdBQU8sYUFBYSxtQkFBbUIsa0JBQWtCLGlCQUFpQjtBQUFBLEVBQzlFLE9BQU87QUFDSCxXQUFPLGFBQWEsbUJBQW1CLGdCQUFnQjtBQUFBLEVBQzNEO0FBQ0o7QUFZTyxTQUFTLGdCQUFtQixxQkFBa0Msb0JBQXdCLG1CQUE2QjtBQUN0SCxNQUFJLFVBQVUsV0FBVyxHQUFHO0FBQ3hCLFdBQU8sZ0JBQWdCLHFCQUFxQixvQkFBb0IsaUJBQWlCO0FBQUEsRUFDckYsT0FBTztBQUNILFdBQU8sZ0JBQWdCLHFCQUFxQixrQkFBa0I7QUFBQSxFQUNsRTtBQUNKO0FBVU8sU0FBUyxXQUFXLG9CQUF1QyxzQkFBc0M7QUFDcEcsTUFBSSxVQUFVLFdBQVcsR0FBRztBQUN4QixXQUFPLFdBQVcsb0JBQW9CLG9CQUFvQjtBQUFBLEVBQzlELE9BQU87QUFDSCxXQUFPLFdBQVcsa0JBQWtCO0FBQUEsRUFDeEM7QUFDSjtBQVVPLFNBQVMsWUFBWSxvQkFBdUMsc0JBQXNDO0FBQ3JHLE1BQUksVUFBVSxXQUFXLEdBQUc7QUFDeEIsV0FBTyxZQUFZLG9CQUFvQixvQkFBb0I7QUFBQSxFQUMvRCxPQUFPO0FBQ0gsV0FBTyxZQUFZLGtCQUFrQjtBQUFBLEVBQ3pDO0FBQ0o7QUFTTyxTQUFTLEtBQUssU0FBd0I7QUFDekMsTUFBSSxTQUFTO0FBQ1QsV0FBTyxLQUFLLE9BQU87QUFBQSxFQUN2QixPQUFPO0FBQ0gsV0FBTyxLQUFLO0FBQUEsRUFDaEI7QUFDSjsiLAogICJuYW1lcyI6IFtdCn0K
48
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2p1bml0L2p1bml0LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUganVuaXQvanVuaXRcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9qdW5pdFxuICogQG5hbWUgSlVuaXRcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgSlVuaXQgbW9kdWxlIHByb3ZpZGVzIGEgc2V0IG9mIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBkZWZpbmluZyB0ZXN0cyBhbmQgcGVyZm9ybWluZyBhc3NlcnRpb25zLCB3cmFwcGluZyB0aGUgbmF0aXZlIEpVbml0IEFzc2VydGlvbnMgZm9yIHVzZSBpbiBUeXBlU2NyaXB0L0phdmFTY3JpcHQgdGVzdHMuIEl0IGFsbG93cyBkZXZlbG9wZXJzIHRvIHdyaXRlIHRlc3QgY2FzZXMgaW4gYSBmYW1pbGlhciBmb3JtYXQgd2hpbGUgbGV2ZXJhZ2luZyB0aGUgcG93ZXJmdWwgYXNzZXJ0aW9uIGNhcGFiaWxpdGllcyBvZiBKVW5pdCwgbWFraW5nIGl0IGVhc2llciB0byB2YWxpZGF0ZSBjb2RlIGJlaGF2aW9yIGFuZCBlbnN1cmUgY29ycmVjdG5lc3MuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXM6XG4gKiAtICoqVGVzdCBEZWZpbml0aW9uKio6IFRoZSBgdGVzdGAgZnVuY3Rpb24gYWxsb3dzIGRldmVsb3BlcnMgdG8gZGVmaW5lIGluZGl2aWR1YWwgdGVzdCBjYXNlcyB3aXRoIGEgZGVzY3JpcHRpdmUgbmFtZSBhbmQgYSBmdW5jdGlvbiBjb250YWluaW5nIHRoZSB0ZXN0IGxvZ2ljLlxuICogLSAqKkFzc2VydGlvbnMqKjogRnVuY3Rpb25zIHN1Y2ggYXMgYGFzc2VydEVxdWFsc2AsIGBhc3NlcnROb3RFcXVhbHNgLCBgYXNzZXJ0VHJ1ZWAsIGBhc3NlcnRGYWxzZWAsIGFuZCBgZmFpbGAgcHJvdmlkZSBhIHZhcmlldHkgb2YgYXNzZXJ0aW9uIG1ldGhvZHMgdG8gdmFsaWRhdGUgY29uZGl0aW9ucyBhbmQgY29tcGFyZSB2YWx1ZXMgd2l0aGluIHRlc3RzLlxuICogXG4gKiAjIyMgVXNlIENhc2VzOlxuICogLSAqKlVuaXQgVGVzdGluZyoqOiBUaGVzZSB1dGlsaXRpZXMgYXJlIHByaW1hcmlseSB1c2VkIGZvciB3cml0aW5nIHVuaXQgdGVzdHMgdG8gdmVyaWZ5IHRoZSBmdW5jdGlvbmFsaXR5IG9mIGluZGl2aWR1YWwgY29tcG9uZW50cyBvciBmdW5jdGlvbnMgaW4gaXNvbGF0aW9uLlxuICogLSAqKkludGVncmF0aW9uIFRlc3RpbmcqKjogVGhleSBjYW4gYWxzbyBiZSB1c2VkIGluIGludGVncmF0aW9uIHRlc3RzIHRvIHZhbGlkYXRlIHRoZSBiZWhhdmlvciBvZiBtdWx0aXBsZSBjb21wb25lbnRzIHdvcmtpbmcgdG9nZXRoZXIsIGVuc3VyaW5nIHRoYXQgdGhleSBpbnRlcmFjdCBjb3JyZWN0bHkuXG4gKiBcbiAqICMjIyBFeGFtcGxlIFVzYWdlOlxuICogYGBgdHNcbiAqIGltcG9ydCB7IHRlc3QsIGFzc2VydEVxdWFscywgYXNzZXJ0VHJ1ZSB9IGZyb20gXCJAYWVyb2tpdC9zZGsvanVuaXRcIjtcbiAqIFxuICogdGVzdChcInNob3VsZCBhZGQgdHdvIG51bWJlcnMgY29ycmVjdGx5XCIsICgpID0+IHtcbiAqICAgICBjb25zdCByZXN1bHQgPSBhZGQoMiwgMyk7XG4gKiAgICAgYXNzZXJ0RXF1YWxzKDUsIHJlc3VsdCk7XG4gKiB9KTtcbiAqIFxuICogdGVzdChcInNob3VsZCByZXR1cm4gdHJ1ZSBmb3IgdmFsaWQgaW5wdXRcIiwgKCkgPT4ge1xuICogICAgIGNvbnN0IGlzVmFsaWQgPSB2YWxpZGF0ZUlucHV0KFwidmFsaWQgaW5wdXRcIik7XG4gKiAgICAgYXNzZXJ0VHJ1ZShpc1ZhbGlkKTtcbiAqIH0pO1xuICogYGBgXG4gKi9cblxuY29uc3QgQXNzZXJ0ID0gSmF2YS50eXBlKCdvcmcuanVuaXQuQXNzZXJ0Jyk7XG5cbi8qKlxuICogRGVmaW5lcyBhIHRlc3QgY2FzZS5cbiAqXG4gKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgdGVzdCBjYXNlLlxuICogQHBhcmFtIHRlc3RGbiBUaGUgZnVuY3Rpb24gY29udGFpbmluZyB0aGUgdGVzdCBsb2dpYyBhbmQgYXNzZXJ0aW9ucy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRlc3QobmFtZTogc3RyaW5nLCB0ZXN0Rm46ICgpID0+IHZvaWQpIHtcbiAgICAvLyBDYWxscyB0aGUgZ2xvYmFsIHRlc3QgcnVubmVyIGZ1bmN0aW9uIHByb3ZpZGVkIGJ5IHRoZSBTREsgZW52aXJvbm1lbnQuXG4gICAgKGdsb2JhbFRoaXMgYXMgYW55KS50ZXN0KG5hbWUsIHRlc3RGbik7XG59XG5cbi8qKlxuICogQXNzZXJ0cyB0aGF0IHR3byBvYmplY3RzIG9yIHByaW1pdGl2ZSB2YWx1ZXMgYXJlIGVxdWFsLlxuICpcbiAqIEB0ZW1wbGF0ZSBUIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZXMgYmVpbmcgY29tcGFyZWQuXG4gKiBAcGFyYW0gZXhwZWN0ZWQgVGhlIGV4cGVjdGVkIHZhbHVlLlxuICogQHBhcmFtIGFjdHVhbCBUaGUgYWN0dWFsIHZhbHVlLlxuICogQHBhcmFtIG1lc3NhZ2UgT3B0aW9uYWwgbWVzc2FnZSB0byBkaXNwbGF5IGlmIHRoZSBhc3NlcnRpb24gZmFpbHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRFcXVhbHM8VD4oZXhwZWN0ZWQ6IFQsIGFjdHVhbDogVCk6IHZvaWRcbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRFcXVhbHM8VD4obWVzc2FnZTogc3RyaW5nLCBleHBlY3RlZDogVCwgYWN0dWFsOiBUKTogdm9pZFxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydEVxdWFsczxUPihtZXNzYWdlT3JFeHBlY3RlZD86IHN0cmluZyB8IFQsIGV4cGVjdGVkT3JBY3R1YWw/OiBULCBhY3R1YWxPclVuZGVmaW5lZD86IFQpOiB2b2lkIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMykge1xuICAgICAgICBBc3NlcnQuYXNzZXJ0RXF1YWxzKG1lc3NhZ2VPckV4cGVjdGVkLCBleHBlY3RlZE9yQWN0dWFsLCBhY3R1YWxPclVuZGVmaW5lZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgQXNzZXJ0LmFzc2VydEVxdWFscyhtZXNzYWdlT3JFeHBlY3RlZCwgZXhwZWN0ZWRPckFjdHVhbCk7XG4gICAgfVxufVxuXG4vKipcbiAqIEFzc2VydHMgdGhhdCB0d28gb2JqZWN0cyBvciBwcmltaXRpdmUgdmFsdWVzIGFyZSBub3QgZXF1YWwuXG4gKlxuICogQHRlbXBsYXRlIFQgVGhlIHR5cGUgb2YgdGhlIHZhbHVlcyBiZWluZyBjb21wYXJlZC5cbiAqIEBwYXJhbSB1bmV4cGVjdGVkIFRoZSB1bmV4cGVjdGVkIHZhbHVlLlxuICogQHBhcmFtIGFjdHVhbCBUaGUgYWN0dWFsIHZhbHVlLlxuICogQHBhcmFtIG1lc3NhZ2UgT3B0aW9uYWwgbWVzc2FnZSB0byBkaXNwbGF5IGlmIHRoZSBhc3NlcnRpb24gZmFpbHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnROb3RFcXVhbHM8VD4odW5leHBlY3RlZDogVCwgYWN0dWFsOiBUKTogdm9pZFxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydE5vdEVxdWFsczxUPihtZXNzYWdlOiBzdHJpbmcsIHVuZXhwZWN0ZWQ6IFQsIGFjdHVhbDogVCk6IHZvaWRcbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnROb3RFcXVhbHM8VD4obWVzc2FnZU9yVW5leHBlY3RlZD86IHN0cmluZyB8IFQsIHVuZXhwZWN0ZWRPckFjdHVhbD86IFQsIGFjdHVhbE9yVW5kZWZpbmVkPzogVCk6IHZvaWQge1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAzKSB7XG4gICAgICAgIEFzc2VydC5hc3NlcnROb3RFcXVhbHMobWVzc2FnZU9yVW5leHBlY3RlZCwgdW5leHBlY3RlZE9yQWN0dWFsLCBhY3R1YWxPclVuZGVmaW5lZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgQXNzZXJ0LmFzc2VydE5vdEVxdWFscyhtZXNzYWdlT3JVbmV4cGVjdGVkLCB1bmV4cGVjdGVkT3JBY3R1YWwpO1xuICAgIH1cbn1cblxuLyoqXG4gKiBBc3NlcnRzIHRoYXQgYSBjb25kaXRpb24gaXMgdHJ1ZS5cbiAqXG4gKiBAcGFyYW0gY29uZGl0aW9uIFRoZSBjb25kaXRpb24gdG8gdGVzdC5cbiAqIEBwYXJhbSBtZXNzYWdlIE9wdGlvbmFsIG1lc3NhZ2UgdG8gZGlzcGxheSBpZiB0aGUgYXNzZXJ0aW9uIGZhaWxzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0VHJ1ZShjb25kaXRpb246IGJvb2xlYW4pOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0VHJ1ZShtZXNzYWdlOiBzdHJpbmcsIGNvbmRpdGlvbjogYm9vbGVhbik6IHZvaWRcbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRUcnVlKG1lc3NhZ2VPckNvbmRpdGlvbj86IHN0cmluZyB8IGJvb2xlYW4sIGNvbmRpdGlvbk9yVW5kZWZpbmVkPzogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIEFzc2VydC5hc3NlcnRUcnVlKG1lc3NhZ2VPckNvbmRpdGlvbiwgY29uZGl0aW9uT3JVbmRlZmluZWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIEFzc2VydC5hc3NlcnRUcnVlKG1lc3NhZ2VPckNvbmRpdGlvbik7XG4gICAgfVxufVxuXG4vKipcbiAqIEFzc2VydHMgdGhhdCBhIGNvbmRpdGlvbiBpcyBmYWxzZS5cbiAqXG4gKiBAcGFyYW0gY29uZGl0aW9uIFRoZSBjb25kaXRpb24gdG8gdGVzdC5cbiAqIEBwYXJhbSBtZXNzYWdlIE9wdGlvbmFsIG1lc3NhZ2UgdG8gZGlzcGxheSBpZiB0aGUgYXNzZXJ0aW9uIGZhaWxzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0RmFsc2UoY29uZGl0aW9uOiBib29sZWFuKTogdm9pZFxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydEZhbHNlKG1lc3NhZ2U6IHN0cmluZywgY29uZGl0aW9uOiBib29sZWFuKTogdm9pZFxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydEZhbHNlKG1lc3NhZ2VPckNvbmRpdGlvbj86IHN0cmluZyB8IGJvb2xlYW4sIGNvbmRpdGlvbk9yVW5kZWZpbmVkPzogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIEFzc2VydC5hc3NlcnRGYWxzZShtZXNzYWdlT3JDb25kaXRpb24sIGNvbmRpdGlvbk9yVW5kZWZpbmVkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBBc3NlcnQuYXNzZXJ0RmFsc2UobWVzc2FnZU9yQ29uZGl0aW9uKTtcbiAgICB9XG59XG5cbi8qKlxuICogRmFpbHMgYSB0ZXN0IGltbWVkaWF0ZWx5LlxuICpcbiAqIEBwYXJhbSBtZXNzYWdlIE9wdGlvbmFsIG1lc3NhZ2UgdG8gZGlzcGxheSBpbmRpY2F0aW5nIHRoZSByZWFzb24gZm9yIHRoZSBmYWlsdXJlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmFpbCgpOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gZmFpbChtZXNzYWdlOiBzdHJpbmcpOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gZmFpbChtZXNzYWdlPzogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKG1lc3NhZ2UpIHtcbiAgICAgICAgQXNzZXJ0LmZhaWwobWVzc2FnZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgQXNzZXJ0LmZhaWwoKTtcbiAgICB9XG59Il0sCiAgIm1hcHBpbmdzIjogIkFBZ0NBLE1BQU0sU0FBUyxLQUFLLEtBQUssa0JBQWtCO0FBUXBDLFNBQVMsS0FBSyxNQUFjLFFBQW9CO0FBRW5ELEVBQUMsV0FBbUIsS0FBSyxNQUFNLE1BQU07QUFDekM7QUFZTyxTQUFTLGFBQWdCLG1CQUFnQyxrQkFBc0IsbUJBQTZCO0FBQy9HLE1BQUksVUFBVSxXQUFXLEdBQUc7QUFDeEIsV0FBTyxhQUFhLG1CQUFtQixrQkFBa0IsaUJBQWlCO0FBQUEsRUFDOUUsT0FBTztBQUNILFdBQU8sYUFBYSxtQkFBbUIsZ0JBQWdCO0FBQUEsRUFDM0Q7QUFDSjtBQVlPLFNBQVMsZ0JBQW1CLHFCQUFrQyxvQkFBd0IsbUJBQTZCO0FBQ3RILE1BQUksVUFBVSxXQUFXLEdBQUc7QUFDeEIsV0FBTyxnQkFBZ0IscUJBQXFCLG9CQUFvQixpQkFBaUI7QUFBQSxFQUNyRixPQUFPO0FBQ0gsV0FBTyxnQkFBZ0IscUJBQXFCLGtCQUFrQjtBQUFBLEVBQ2xFO0FBQ0o7QUFVTyxTQUFTLFdBQVcsb0JBQXVDLHNCQUFzQztBQUNwRyxNQUFJLFVBQVUsV0FBVyxHQUFHO0FBQ3hCLFdBQU8sV0FBVyxvQkFBb0Isb0JBQW9CO0FBQUEsRUFDOUQsT0FBTztBQUNILFdBQU8sV0FBVyxrQkFBa0I7QUFBQSxFQUN4QztBQUNKO0FBVU8sU0FBUyxZQUFZLG9CQUF1QyxzQkFBc0M7QUFDckcsTUFBSSxVQUFVLFdBQVcsR0FBRztBQUN4QixXQUFPLFlBQVksb0JBQW9CLG9CQUFvQjtBQUFBLEVBQy9ELE9BQU87QUFDSCxXQUFPLFlBQVksa0JBQWtCO0FBQUEsRUFDekM7QUFDSjtBQVNPLFNBQVMsS0FBSyxTQUF3QjtBQUN6QyxNQUFJLFNBQVM7QUFDVCxXQUFPLEtBQUssT0FBTztBQUFBLEVBQ3ZCLE9BQU87QUFDSCxXQUFPLEtBQUs7QUFBQSxFQUNoQjtBQUNKOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -49,4 +49,4 @@ if (typeof module !== "undefined") {
49
49
  export {
50
50
  Consumer
51
51
  };
52
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2thZmthL2NvbnN1bWVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIFByb3ZpZGVzIGFuIEFQSSBmb3IgY29uZmlndXJpbmcgYW5kIG1hbmFnaW5nIEthZmthIGNvbnN1bWVycyxcbiAqIGFsbG93aW5nIHNjcmlwdHMgdG8gc3RhcnQgYW5kIHN0b3AgbGlzdGVuaW5nIHRvIHNwZWNpZmljIHRvcGljcy5cbiAqL1xuY29uc3QgS2Fma2FGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkua2Fma2EuS2Fma2FGYWNhZGVcIik7XG5cbi8qKlxuICogVGhlIENvbnN1bWVyIGNsYXNzIGFjdHMgYXMgdGhlIG1haW4gZW50cnkgcG9pbnQgZm9yIGNyZWF0aW5nIGFuZCBjb25maWd1cmluZ1xuICogS2Fma2EgdG9waWMgY29uc3VtZXJzLlxuICovXG5leHBvcnQgY2xhc3MgQ29uc3VtZXIge1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG5ldyB0b3BpYyBjb25maWd1cmF0aW9uIHdyYXBwZXIgdGhhdCBjYW4gYmUgdXNlZCB0byBzdGFydCBvclxuICAgICAqIHN0b3AgbGlzdGVuaW5nIGZvciBtZXNzYWdlcyBvbiBhIEthZmthIHRvcGljLlxuICAgICAqXG4gICAgICogQHBhcmFtIGRlc3RpbmF0aW9uIFRoZSBuYW1lIG9mIHRoZSBLYWZrYSB0b3BpYyB0byBjb25zdW1lIG1lc3NhZ2VzIGZyb20uXG4gICAgICogQHBhcmFtIGNvbmZpZ3VyYXRpb24gT3B0aW9uYWwga2V5LXZhbHVlIG9iamVjdCBjb250YWluaW5nIEthZmthIGNvbnN1bWVyIHByb3BlcnRpZXNcbiAgICAgKiAoZS5nLiwgJ2dyb3VwLmlkJywgJ2F1dG8ub2Zmc2V0LnJlc2V0JykuXG4gICAgICogQHJldHVybnMgQSB7QGxpbmsgVG9waWN9IGluc3RhbmNlIGNvbmZpZ3VyZWQgZm9yIHRoZSBzcGVjaWZpZWQgZGVzdGluYXRpb24gYW5kIHByb3BlcnRpZXMuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyB0b3BpYyhkZXN0aW5hdGlvbjogc3RyaW5nLCBjb25maWd1cmF0aW9uOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge30pOiBUb3BpYyB7XG4gICAgICAgIHJldHVybiBuZXcgVG9waWMoZGVzdGluYXRpb24sIGNvbmZpZ3VyYXRpb24pO1xuICAgIH1cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgY29uZmlndXJlZCBLYWZrYSB0b3BpYyBjb25zdW1lciBjYXBhYmxlIG9mIHN0YXJ0aW5nIGFuZCBzdG9wcGluZ1xuICogYmFja2dyb3VuZCBtZXNzYWdlIGxpc3RlbmluZy5cbiAqL1xuY2xhc3MgVG9waWMge1xuICAgIHByaXZhdGUgZGVzdGluYXRpb246IHN0cmluZztcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb246IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkZXN0aW5hdGlvbiBUaGUgbmFtZSBvZiB0aGUgS2Fma2EgdG9waWMuXG4gICAgICogQHBhcmFtIGNvbmZpZ3VyYXRpb24gT3B0aW9uYWwga2V5LXZhbHVlIG9iamVjdCBmb3IgY29uc3VtZXIgcHJvcGVydGllcy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkZXN0aW5hdGlvbjogc3RyaW5nLCBjb25maWd1cmF0aW9uOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge30pIHtcbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbiA9IGRlc3RpbmF0aW9uO1xuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFN0YXJ0cyBsaXN0ZW5pbmcgdG8gdGhlIGNvbmZpZ3VyZWQgdG9waWMgaW4gYSBiYWNrZ3JvdW5kIHByb2Nlc3MuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaGFuZGxlciBUaGUgcGF0aCB0byB0aGUgc2NyaXB0IG9yIGZ1bmN0aW9uIG5hbWUgdGhhdCB3aWxsIGhhbmRsZSB0aGUgaW5jb21pbmcgS2Fma2EgbWVzc2FnZXMuXG4gICAgICogVGhpcyBmdW5jdGlvbiBzaG91bGQgYWNjZXB0IHR3byBhcmd1bWVudHM6IGBtZXNzYWdlYCAoc3RyaW5nKSBhbmQgYGhlYWRlcnNgIChvYmplY3QpLlxuICAgICAqIEBwYXJhbSB0aW1lb3V0IFRoZSBtYXhpbXVtIGFtb3VudCBvZiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZSBjb25zdW1lciBzaG91bGQgd2FpdCBmb3IgbWVzc2FnZXMuXG4gICAgICovXG4gICAgcHVibGljIHN0YXJ0TGlzdGVuaW5nKGhhbmRsZXI6IHN0cmluZywgdGltZW91dDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIEthZmthRmFjYWRlLnN0YXJ0TGlzdGVuaW5nKHRoaXMuZGVzdGluYXRpb24sIGhhbmRsZXIsIHRpbWVvdXQsIEpTT04uc3RyaW5naWZ5KHRoaXMuY29uZmlndXJhdGlvbikpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFN0b3BzIHRoZSBiYWNrZ3JvdW5kIHByb2Nlc3MgdGhhdCBpcyBsaXN0ZW5pbmcgdG8gdGhlIGNvbmZpZ3VyZWQgdG9waWMuXG4gICAgICogTm90ZTogU3RvcHBpbmcgaXMgYmFzZWQgb24gbWF0Y2hpbmcgdGhlIHRvcGljIGFuZCBjb25maWd1cmF0aW9uLCBzbyB0aGUgc2FtZVxuICAgICAqIGNvbmZpZ3VyYXRpb24gb2JqZWN0IHVzZWQgaW4gYHN0YXJ0TGlzdGVuaW5nYCBzaG91bGQgYmUgdXNlZCBoZXJlLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdG9wTGlzdGVuaW5nKCk6IHZvaWQge1xuICAgICAgICBLYWZrYUZhY2FkZS5zdG9wTGlzdGVuaW5nKHRoaXMuZGVzdGluYXRpb24sIEpTT04uc3RyaW5naWZ5KHRoaXMuY29uZmlndXJhdGlvbikpO1xuICAgIH1cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIG1vZHVsZS5leHBvcnRzID0gQ29uc3VtZXI7XG59Il0sCiAgIm1hcHBpbmdzIjogIkFBSUEsTUFBTSxjQUFjLEtBQUssS0FBSyx3REFBd0Q7QUFNL0UsTUFBTSxTQUFTO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFXbEIsT0FBYyxNQUFNLGFBQXFCLGdCQUEyQyxDQUFDLEdBQVU7QUFDM0YsV0FBTyxJQUFJLE1BQU0sYUFBYSxhQUFhO0FBQUEsRUFDL0M7QUFDSjtBQU1BLE1BQU0sTUFBTTtBQUFBLEVBQ0E7QUFBQSxFQUNBLGdCQUEyQyxDQUFDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1wRCxZQUFZLGFBQXFCLGdCQUEyQyxDQUFDLEdBQUc7QUFDNUUsU0FBSyxjQUFjO0FBQ25CLFNBQUssZ0JBQWdCO0FBQUEsRUFDekI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU08sZUFBZSxTQUFpQixTQUF1QjtBQUMxRCxnQkFBWSxlQUFlLEtBQUssYUFBYSxTQUFTLFNBQVMsS0FBSyxVQUFVLEtBQUssYUFBYSxDQUFDO0FBQUEsRUFDckc7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPTyxnQkFBc0I7QUFDekIsZ0JBQVksY0FBYyxLQUFLLGFBQWEsS0FBSyxVQUFVLEtBQUssYUFBYSxDQUFDO0FBQUEsRUFDbEY7QUFDSjtBQUdBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFL0IsU0FBTyxVQUFVO0FBQ3JCOyIsCiAgIm5hbWVzIjogW10KfQo=
52
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2thZmthL2NvbnN1bWVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUga2Fma2EvY29uc3VtZXJcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9rYWZrYVxuICogQG5hbWUgQ29uc3VtZXJcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgQ29uc3VtZXIgbW9kdWxlIHByb3ZpZGVzIGFuIEFQSSBmb3IgY29uZmlndXJpbmcgYW5kIG1hbmFnaW5nIEthZmthIGNvbnN1bWVycywgYWxsb3dpbmcgc2NyaXB0cyB0byBzdGFydCBhbmQgc3RvcCBsaXN0ZW5pbmcgdG8gc3BlY2lmaWMgdG9waWNzLiBJdCBhYnN0cmFjdHMgdGhlIGNvbXBsZXhpdGllcyBvZiBLYWZrYSBjb25zdW1lciBjb25maWd1cmF0aW9uIGFuZCBsaWZlY3ljbGUgbWFuYWdlbWVudCwgZW5hYmxpbmcgZGV2ZWxvcGVycyB0byBlYXNpbHkgaW50ZWdyYXRlIEthZmthIG1lc3NhZ2UgY29uc3VtcHRpb24gaW50byB0aGVpciBhcHBsaWNhdGlvbnMuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXM6XG4gKiAtICoqVG9waWMgQ29uZmlndXJhdGlvbioqOiBUaGUgYENvbnN1bWVyLnRvcGljYCBtZXRob2QgYWxsb3dzIGRldmVsb3BlcnMgdG8gY3JlYXRlIGEgdG9waWMgY29uZmlndXJhdGlvbiB3cmFwcGVyIHdpdGggc3BlY2lmaWVkIGRlc3RpbmF0aW9uIGFuZCBwcm9wZXJ0aWVzLlxuICogLSAqKkJhY2tncm91bmQgTGlzdGVuaW5nKio6IFRoZSBgc3RhcnRMaXN0ZW5pbmdgIG1ldGhvZCBzdGFydHMgYSBiYWNrZ3JvdW5kIHByb2Nlc3MgdGhhdCBsaXN0ZW5zIGZvciBtZXNzYWdlcyBvbiB0aGUgY29uZmlndXJlZCB0b3BpYywgaW52b2tpbmcgYSBzcGVjaWZpZWQgaGFuZGxlciBmdW5jdGlvbiBmb3IgaW5jb21pbmcgbWVzc2FnZXMuXG4gKiAtICoqR3JhY2VmdWwgU2h1dGRvd24qKjogVGhlIGBzdG9wTGlzdGVuaW5nYCBtZXRob2QgYWxsb3dzIGRldmVsb3BlcnMgdG8gc3RvcCB0aGUgYmFja2dyb3VuZCBsaXN0ZW5pbmcgcHJvY2VzcyBiYXNlZCBvbiB0aGUgdG9waWMgYW5kIGNvbmZpZ3VyYXRpb24uXG4gKiBcbiAqICMjIyBVc2UgQ2FzZXM6XG4gKiAtICoqUmVhbC10aW1lIERhdGEgUHJvY2Vzc2luZyoqOiBEZXZlbG9wZXJzIGNhbiB1c2UgdGhpcyBtb2R1bGUgdG8gY29uc3VtZSBtZXNzYWdlcyBmcm9tIEthZmthIHRvcGljcyBpbiByZWFsLXRpbWUsIGVuYWJsaW5nIHVzZSBjYXNlcyBzdWNoIGFzIHN0cmVhbSBwcm9jZXNzaW5nLCBldmVudC1kcml2ZW4gYXJjaGl0ZWN0dXJlcywgYW5kIG1pY3Jvc2VydmljZXMgY29tbXVuaWNhdGlvbi5cbiAqIC0gKipJbnRlZ3JhdGlvbiB3aXRoIE90aGVyIFN5c3RlbXMqKjogQnkgY29uc3VtaW5nIEthZmthIG1lc3NhZ2VzLCBhcHBsaWNhdGlvbnMgY2FuIGludGVncmF0ZSB3aXRoIG90aGVyIHN5c3RlbXMgdGhhdCBwcm9kdWNlIG1lc3NhZ2VzIHRvIEthZmthLCBmYWNpbGl0YXRpbmcgZGF0YSBmbG93IGFjcm9zcyBkaWZmZXJlbnQgY29tcG9uZW50cyBvZiBhbiBlY29zeXN0ZW0uXG4gKiBcbiAqICMjIyBFeGFtcGxlIFVzYWdlOlxuICogYGBgdHNcbiAqIGltcG9ydCB7IENvbnN1bWVyIH0gZnJvbSBcIkBhZXJva2l0L3Nkay9rYWZrYVwiO1xuICogXG4gKiAvLyBDcmVhdGUgYSBjb25zdW1lciBmb3IgdGhlIFwib3JkZXJzXCIgdG9waWMgd2l0aCBzcGVjaWZpYyBjb25maWd1cmF0aW9uXG4gKiBjb25zdCBvcmRlcnNDb25zdW1lciA9IENvbnN1bWVyLnRvcGljKFwib3JkZXJzXCIsIHsgXCJncm91cC5pZFwiOiBcIm9yZGVyLXByb2Nlc3NvcnNcIiB9KTtcbiAqIFxuICogLy8gU3RhcnQgbGlzdGVuaW5nIHRvIHRoZSBcIm9yZGVyc1wiIHRvcGljIHdpdGggYSBtZXNzYWdlIGhhbmRsZXIgYW5kIHRpbWVvdXRcbiAqIG9yZGVyc0NvbnN1bWVyLnN0YXJ0TGlzdGVuaW5nKFwiaGFuZGxlT3JkZXJNZXNzYWdlXCIsIDMwMDAwKTtcbiAqIFxuICogLy8gTGF0ZXIsIHN0b3AgbGlzdGVuaW5nIHRvIHRoZSBcIm9yZGVyc1wiIHRvcGljXG4gKiBvcmRlcnNDb25zdW1lci5zdG9wTGlzdGVuaW5nKCk7XG4gKiBgYGBcbiAqL1xuXG5jb25zdCBLYWZrYUZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5rYWZrYS5LYWZrYUZhY2FkZVwiKTtcblxuLyoqXG4gKiBUaGUgQ29uc3VtZXIgY2xhc3MgYWN0cyBhcyB0aGUgbWFpbiBlbnRyeSBwb2ludCBmb3IgY3JlYXRpbmcgYW5kIGNvbmZpZ3VyaW5nXG4gKiBLYWZrYSB0b3BpYyBjb25zdW1lcnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb25zdW1lciB7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgbmV3IHRvcGljIGNvbmZpZ3VyYXRpb24gd3JhcHBlciB0aGF0IGNhbiBiZSB1c2VkIHRvIHN0YXJ0IG9yXG4gICAgICogc3RvcCBsaXN0ZW5pbmcgZm9yIG1lc3NhZ2VzIG9uIGEgS2Fma2EgdG9waWMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGVzdGluYXRpb24gVGhlIG5hbWUgb2YgdGhlIEthZmthIHRvcGljIHRvIGNvbnN1bWUgbWVzc2FnZXMgZnJvbS5cbiAgICAgKiBAcGFyYW0gY29uZmlndXJhdGlvbiBPcHRpb25hbCBrZXktdmFsdWUgb2JqZWN0IGNvbnRhaW5pbmcgS2Fma2EgY29uc3VtZXIgcHJvcGVydGllc1xuICAgICAqIChlLmcuLCAnZ3JvdXAuaWQnLCAnYXV0by5vZmZzZXQucmVzZXQnKS5cbiAgICAgKiBAcmV0dXJucyBBIHtAbGluayBUb3BpY30gaW5zdGFuY2UgY29uZmlndXJlZCBmb3IgdGhlIHNwZWNpZmllZCBkZXN0aW5hdGlvbiBhbmQgcHJvcGVydGllcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHRvcGljKGRlc3RpbmF0aW9uOiBzdHJpbmcsIGNvbmZpZ3VyYXRpb246IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fSk6IFRvcGljIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUb3BpYyhkZXN0aW5hdGlvbiwgY29uZmlndXJhdGlvbik7XG4gICAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjb25maWd1cmVkIEthZmthIHRvcGljIGNvbnN1bWVyIGNhcGFibGUgb2Ygc3RhcnRpbmcgYW5kIHN0b3BwaW5nXG4gKiBiYWNrZ3JvdW5kIG1lc3NhZ2UgbGlzdGVuaW5nLlxuICovXG5jbGFzcyBUb3BpYyB7XG4gICAgcHJpdmF0ZSBkZXN0aW5hdGlvbjogc3RyaW5nO1xuICAgIHByaXZhdGUgY29uZmlndXJhdGlvbjogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGRlc3RpbmF0aW9uIFRoZSBuYW1lIG9mIHRoZSBLYWZrYSB0b3BpYy5cbiAgICAgKiBAcGFyYW0gY29uZmlndXJhdGlvbiBPcHRpb25hbCBrZXktdmFsdWUgb2JqZWN0IGZvciBjb25zdW1lciBwcm9wZXJ0aWVzLlxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKGRlc3RpbmF0aW9uOiBzdHJpbmcsIGNvbmZpZ3VyYXRpb246IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fSkge1xuICAgICAgICB0aGlzLmRlc3RpbmF0aW9uID0gZGVzdGluYXRpb247XG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3RhcnRzIGxpc3RlbmluZyB0byB0aGUgY29uZmlndXJlZCB0b3BpYyBpbiBhIGJhY2tncm91bmQgcHJvY2Vzcy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBoYW5kbGVyIFRoZSBwYXRoIHRvIHRoZSBzY3JpcHQgb3IgZnVuY3Rpb24gbmFtZSB0aGF0IHdpbGwgaGFuZGxlIHRoZSBpbmNvbWluZyBLYWZrYSBtZXNzYWdlcy5cbiAgICAgKiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBhY2NlcHQgdHdvIGFyZ3VtZW50czogYG1lc3NhZ2VgIChzdHJpbmcpIGFuZCBgaGVhZGVyc2AgKG9iamVjdCkuXG4gICAgICogQHBhcmFtIHRpbWVvdXQgVGhlIG1heGltdW0gYW1vdW50IG9mIHRpbWUgKGluIG1pbGxpc2Vjb25kcykgdGhlIGNvbnN1bWVyIHNob3VsZCB3YWl0IGZvciBtZXNzYWdlcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhcnRMaXN0ZW5pbmcoaGFuZGxlcjogc3RyaW5nLCB0aW1lb3V0OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgS2Fma2FGYWNhZGUuc3RhcnRMaXN0ZW5pbmcodGhpcy5kZXN0aW5hdGlvbiwgaGFuZGxlciwgdGltZW91dCwgSlNPTi5zdHJpbmdpZnkodGhpcy5jb25maWd1cmF0aW9uKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3RvcHMgdGhlIGJhY2tncm91bmQgcHJvY2VzcyB0aGF0IGlzIGxpc3RlbmluZyB0byB0aGUgY29uZmlndXJlZCB0b3BpYy5cbiAgICAgKiBOb3RlOiBTdG9wcGluZyBpcyBiYXNlZCBvbiBtYXRjaGluZyB0aGUgdG9waWMgYW5kIGNvbmZpZ3VyYXRpb24sIHNvIHRoZSBzYW1lXG4gICAgICogY29uZmlndXJhdGlvbiBvYmplY3QgdXNlZCBpbiBgc3RhcnRMaXN0ZW5pbmdgIHNob3VsZCBiZSB1c2VkIGhlcmUuXG4gICAgICovXG4gICAgcHVibGljIHN0b3BMaXN0ZW5pbmcoKTogdm9pZCB7XG4gICAgICAgIEthZmthRmFjYWRlLnN0b3BMaXN0ZW5pbmcodGhpcy5kZXN0aW5hdGlvbiwgSlNPTi5zdHJpbmdpZnkodGhpcy5jb25maWd1cmF0aW9uKSk7XG4gICAgfVxufVxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgbW9kdWxlLmV4cG9ydHMgPSBDb25zdW1lcjtcbn0iXSwKICAibWFwcGluZ3MiOiAiQUFnQ0EsTUFBTSxjQUFjLEtBQUssS0FBSyx3REFBd0Q7QUFNL0UsTUFBTSxTQUFTO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFXbEIsT0FBYyxNQUFNLGFBQXFCLGdCQUEyQyxDQUFDLEdBQVU7QUFDM0YsV0FBTyxJQUFJLE1BQU0sYUFBYSxhQUFhO0FBQUEsRUFDL0M7QUFDSjtBQU1BLE1BQU0sTUFBTTtBQUFBLEVBQ0E7QUFBQSxFQUNBLGdCQUEyQyxDQUFDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1wRCxZQUFZLGFBQXFCLGdCQUEyQyxDQUFDLEdBQUc7QUFDNUUsU0FBSyxjQUFjO0FBQ25CLFNBQUssZ0JBQWdCO0FBQUEsRUFDekI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU08sZUFBZSxTQUFpQixTQUF1QjtBQUMxRCxnQkFBWSxlQUFlLEtBQUssYUFBYSxTQUFTLFNBQVMsS0FBSyxVQUFVLEtBQUssYUFBYSxDQUFDO0FBQUEsRUFDckc7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPTyxnQkFBc0I7QUFDekIsZ0JBQVksY0FBYyxLQUFLLGFBQWEsS0FBSyxVQUFVLEtBQUssYUFBYSxDQUFDO0FBQUEsRUFDbEY7QUFDSjtBQUdBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFL0IsU0FBTyxVQUFVO0FBQ3JCOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -6,4 +6,4 @@ export {
6
6
  Consumer as consumer,
7
7
  Producer as producer
8
8
  };
9
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2thZmthL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJleHBvcnQgeyBDb25zdW1lciBhcyBjb25zdW1lciB9IGZyb20gXCIuL2NvbnN1bWVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb25zdW1lclwiO1xuZXhwb3J0IHsgUHJvZHVjZXIgYXMgcHJvZHVjZXIgfSBmcm9tIFwiLi9wcm9kdWNlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJvZHVjZXJcIjsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxTQUFxQixnQkFBZ0I7QUFDckMsY0FBYztBQUNkLFNBQXFCLGdCQUFnQjtBQUNyQyxjQUFjOyIsCiAgIm5hbWVzIjogW10KfQo=
9
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2thZmthL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUga2Fma2EvaW5kZXhcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9rYWZrYVxuICogQG92ZXJ2aWV3XG4gKiBcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGZ1bmN0aW9uYWxpdGllcyBmb3IgS2Fma2EgaW50ZWdyYXRpb24gd2l0aGluIHRoZSBBZXJva2l0IFNESy4gSXQgaW5jbHVkZXMgY2xhc3NlcyBhbmQgbWV0aG9kcyBmb3IgcHJvZHVjaW5nIGFuZCBjb25zdW1pbmcgbWVzc2FnZXMgZnJvbSBLYWZrYSB0b3BpY3MsIGFzIHdlbGwgYXMgbWFuYWdpbmcgS2Fma2EgY29uZmlndXJhdGlvbnMgYW5kIGNvbm5lY3Rpb25zLlxuICogXG4gKiBUaGUgbWFpbiBjb21wb25lbnRzIG9mIHRoaXMgbW9kdWxlIGFyZTpcbiAqIC0gQ29uc3VtZXI6IFJlcHJlc2VudHMgYSBLYWZrYSBjb25zdW1lciB0aGF0IGNhbiBzdWJzY3JpYmUgdG8gdG9waWNzIGFuZCBjb25zdW1lIG1lc3NhZ2VzLlxuICogLSBQcm9kdWNlcjogUmVwcmVzZW50cyBhIEthZmthIHByb2R1Y2VyIHRoYXQgY2FuIHNlbmQgbWVzc2FnZXMgdG8gdG9waWNzLlxuICovXG5cbmV4cG9ydCB7IENvbnN1bWVyIGFzIGNvbnN1bWVyIH0gZnJvbSBcIi4vY29uc3VtZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbnN1bWVyXCI7XG5leHBvcnQgeyBQcm9kdWNlciBhcyBwcm9kdWNlciB9IGZyb20gXCIuL3Byb2R1Y2VyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcm9kdWNlclwiOyJdLAogICJtYXBwaW5ncyI6ICJBQVlBLFNBQXFCLGdCQUFnQjtBQUNyQyxjQUFjO0FBQ2QsU0FBcUIsZ0JBQWdCO0FBQ3JDLGNBQWM7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -50,4 +50,4 @@ if (typeof module !== "undefined") {
50
50
  export {
51
51
  Producer
52
52
  };
53
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2thZmthL3Byb2R1Y2VyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIFByb3ZpZGVzIGFuIEFQSSBmb3IgY29uZmlndXJpbmcgYW5kIG1hbmFnaW5nIEthZmthIHByb2R1Y2VycyxcbiAqIGFsbG93aW5nIHNjcmlwdHMgdG8gY3JlYXRlIHRvcGljcywgc2VuZCBtZXNzYWdlcywgYW5kIGNsb3NlIHRoZSBwcm9kdWNlciBjb25uZWN0aW9uLlxuICovXG5jb25zdCBLYWZrYUZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5rYWZrYS5LYWZrYUZhY2FkZVwiKTtcblxuLyoqXG4gKiBUaGUgUHJvZHVjZXIgY2xhc3Mgc2VydmVzIGFzIHRoZSBtYWluIGVudHJ5IHBvaW50IGZvciBjcmVhdGluZyBhbmQgY29uZmlndXJpbmdcbiAqIEthZmthIHRvcGljIHByb2R1Y2Vycy5cbiAqL1xuZXhwb3J0IGNsYXNzIFByb2R1Y2VyIHtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBuZXcgdG9waWMgY29uZmlndXJhdGlvbiB3cmFwcGVyIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VuZCBtZXNzYWdlc1xuICAgICAqIHRvIGEgc3BlY2lmaWMgS2Fma2EgdG9waWMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGVzdGluYXRpb24gVGhlIG5hbWUgb2YgdGhlIEthZmthIHRvcGljIHRvIHNlbmQgbWVzc2FnZXMgdG8uXG4gICAgICogQHBhcmFtIGNvbmZpZ3VyYXRpb24gT3B0aW9uYWwga2V5LXZhbHVlIG9iamVjdCBjb250YWluaW5nIEthZmthIHByb2R1Y2VyIHByb3BlcnRpZXNcbiAgICAgKiAoZS5nLiwgJ2Jvb3RzdHJhcC5zZXJ2ZXJzJywgJ2Fja3MnKS5cbiAgICAgKiBAcmV0dXJucyBBIHtAbGluayBUb3BpY30gaW5zdGFuY2UgY29uZmlndXJlZCBmb3IgdGhlIHNwZWNpZmllZCBkZXN0aW5hdGlvbiBhbmQgcHJvcGVydGllcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHRvcGljKGRlc3RpbmF0aW9uOiBzdHJpbmcsIGNvbmZpZ3VyYXRpb246IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fSk6IFRvcGljIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUb3BpYyhkZXN0aW5hdGlvbiwgY29uZmlndXJhdGlvbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xvc2VzIHRoZSBLYWZrYSBwcm9kdWNlciBjb25uZWN0aW9uIHBvb2wsIHJlbGVhc2luZyBhc3NvY2lhdGVkIHJlc291cmNlcy5cbiAgICAgKiBUaGlzIHNob3VsZCBiZSBjYWxsZWQgd2hlbiBtZXNzYWdlIHNlbmRpbmcgaXMgY29tcGxldGUgdG8gZW5zdXJlIHByb3BlciBjbGVhbnVwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbmZpZ3VyYXRpb24gT3B0aW9uYWwga2V5LXZhbHVlIG9iamVjdCBjb250YWluaW5nIHRoZSBjb25maWd1cmF0aW9uXG4gICAgICogdXNlZCB0byBpbml0aWFsaXplIHRoZSBwcm9kdWNlciB0byBiZSBjbG9zZWQuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBjbG9zZShjb25maWd1cmF0aW9uOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge30pOiB2b2lkIHtcbiAgICAgICAgS2Fma2FGYWNhZGUuY2xvc2VQcm9kdWNlcihjb25maWd1cmF0aW9uKTtcbiAgICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGNvbmZpZ3VyZWQgS2Fma2EgdG9waWMgdGhhdCBjYW4gYmUgdXNlZCB0byBzZW5kIG1lc3NhZ2VzLlxuICovXG5jbGFzcyBUb3BpYyB7XG5cbiAgICBwcml2YXRlIGRlc3RpbmF0aW9uOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGRlc3RpbmF0aW9uIFRoZSBuYW1lIG9mIHRoZSBLYWZrYSB0b3BpYy5cbiAgICAgKiBAcGFyYW0gY29uZmlndXJhdGlvbiBLZXktdmFsdWUgb2JqZWN0IGZvciBwcm9kdWNlciBwcm9wZXJ0aWVzLlxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKGRlc3RpbmF0aW9uOiBzdHJpbmcsIGNvbmZpZ3VyYXRpb246IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pIHtcbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbiA9IGRlc3RpbmF0aW9uO1xuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlbmRzIGEgbWVzc2FnZSB3aXRoIGFuIG9wdGlvbmFsIGtleSB0byB0aGUgY29uZmlndXJlZCBLYWZrYSB0b3BpYy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSBvZiB0aGUgbWVzc2FnZS4gTWVzc2FnZXMgd2l0aCB0aGUgc2FtZSBrZXkgZ28gdG8gdGhlIHNhbWUgcGFydGl0aW9uLlxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgY29udGVudCBvZiB0aGUgbWVzc2FnZSB0byBiZSBzZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBzZW5kKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEthZmthRmFjYWRlLnNlbmQodGhpcy5kZXN0aW5hdGlvbiwga2V5LCB2YWx1ZSwgSlNPTi5zdHJpbmdpZnkodGhpcy5jb25maWd1cmF0aW9uKSk7XG4gICAgfVxufVxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IFByb2R1Y2VyO1xufSJdLAogICJtYXBwaW5ncyI6ICJBQUlBLE1BQU0sY0FBYyxLQUFLLEtBQUssd0RBQXdEO0FBTS9FLE1BQU0sU0FBUztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBV2xCLE9BQWMsTUFBTSxhQUFxQixnQkFBMkMsQ0FBQyxHQUFVO0FBQzNGLFdBQU8sSUFBSSxNQUFNLGFBQWEsYUFBYTtBQUFBLEVBQy9DO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNBLE9BQWMsTUFBTSxnQkFBMkMsQ0FBQyxHQUFTO0FBQ3JFLGdCQUFZLGNBQWMsYUFBYTtBQUFBLEVBQzNDO0FBQ0o7QUFLQSxNQUFNLE1BQU07QUFBQSxFQUVBO0FBQUEsRUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNUixZQUFZLGFBQXFCLGVBQTBDO0FBQ3ZFLFNBQUssY0FBYztBQUNuQixTQUFLLGdCQUFnQjtBQUFBLEVBQ3pCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRTyxLQUFLLEtBQWEsT0FBcUI7QUFDMUMsZ0JBQVksS0FBSyxLQUFLLGFBQWEsS0FBSyxPQUFPLEtBQUssVUFBVSxLQUFLLGFBQWEsQ0FBQztBQUFBLEVBQ3JGO0FBQ0o7QUFHQSxJQUFJLE9BQU8sV0FBVyxhQUFhO0FBRWxDLFNBQU8sVUFBVTtBQUNsQjsiLAogICJuYW1lcyI6IFtdCn0K
53
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2thZmthL3Byb2R1Y2VyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUga2Fma2EvcHJvZHVjZXJcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9rYWZrYVxuICogQG5hbWUgUHJvZHVjZXJcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgUHJvZHVjZXIgbW9kdWxlIHByb3ZpZGVzIGFuIEFQSSBmb3IgY29uZmlndXJpbmcgYW5kIG1hbmFnaW5nIEthZmthIHByb2R1Y2VycywgYWxsb3dpbmcgc2NyaXB0cyB0byBjcmVhdGUgdG9waWNzLCBzZW5kIG1lc3NhZ2VzLCBhbmQgY2xvc2UgdGhlIHByb2R1Y2VyIGNvbm5lY3Rpb24uIEl0IGFic3RyYWN0cyB0aGUgY29tcGxleGl0aWVzIG9mIEthZmthIHByb2R1Y2VyIGNvbmZpZ3VyYXRpb24gYW5kIG1lc3NhZ2Ugc2VuZGluZywgZW5hYmxpbmcgZGV2ZWxvcGVycyB0byBlYXNpbHkgaW50ZWdyYXRlIEthZmthIG1lc3NhZ2UgcHJvZHVjdGlvbiBpbnRvIHRoZWlyIGFwcGxpY2F0aW9ucy5cbiAqIFxuICogIyMjIEtleSBGZWF0dXJlczpcbiAqIC0gKipUb3BpYyBDb25maWd1cmF0aW9uKio6IFRoZSBgUHJvZHVjZXIudG9waWNgIG1ldGhvZCBhbGxvd3MgZGV2ZWxvcGVycyB0byBjcmVhdGUgYSB0b3BpYyBjb25maWd1cmF0aW9uIHdyYXBwZXIgd2l0aCBzcGVjaWZpZWQgZGVzdGluYXRpb24gYW5kIHByb3BlcnRpZXMuXG4gKiAtICoqTWVzc2FnZSBTZW5kaW5nKio6IFRoZSBgc2VuZGAgbWV0aG9kIG9uIHRoZSBUb3BpYyBjbGFzcyBlbmFibGVzIHNlbmRpbmcgbWVzc2FnZXMgd2l0aCBvcHRpb25hbCBrZXlzIHRvIHRoZSBjb25maWd1cmVkIEthZmthIHRvcGljLlxuICogLSAqKkNvbm5lY3Rpb24gTWFuYWdlbWVudCoqOiBUaGUgYGNsb3NlYCBtZXRob2QgYWxsb3dzIGRldmVsb3BlcnMgdG8gY2xvc2UgdGhlIEthZmthIHByb2R1Y2VyIGNvbm5lY3Rpb24gcG9vbCwgZW5zdXJpbmcgcHJvcGVyIHJlc291cmNlIGNsZWFudXAuXG4gKiBcbiAqICMjIyBVc2UgQ2FzZXM6XG4gKiAtICoqRXZlbnQgUHJvZHVjdGlvbioqOiBEZXZlbG9wZXJzIGNhbiB1c2UgdGhpcyBtb2R1bGUgdG8gcHJvZHVjZSBtZXNzYWdlcyB0byBLYWZrYSB0b3BpY3MgaW4gcmVhbC10aW1lLCBlbmFibGluZyB1c2UgY2FzZXMgc3VjaCBhcyBldmVudC1kcml2ZW4gYXJjaGl0ZWN0dXJlcyBhbmQgbWljcm9zZXJ2aWNlcyBjb21tdW5pY2F0aW9uLlxuICogLSAqKkludGVncmF0aW9uIHdpdGggT3RoZXIgU3lzdGVtcyoqOiBCeSBzZW5kaW5nIEthZmthIG1lc3NhZ2VzLCBhcHBsaWNhdGlvbnMgY2FuIGludGVncmF0ZSB3aXRoIG90aGVyIHN5c3RlbXMgdGhhdCBjb25zdW1lIG1lc3NhZ2VzIGZyb20gS2Fma2EsIGZhY2lsaXRhdGluZyBkYXRhIGZsb3cgYWNyb3NzIGRpZmZlcmVudCBjb21wb25lbnRzIG9mIGFuIGVjb3N5c3RlbS5cbiAqIFxuICogIyMjIEV4YW1wbGUgVXNhZ2U6XG4gKiBgYGB0c1xuICogaW1wb3J0IHsgUHJvZHVjZXIgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2thZmthXCI7XG4gKiBcbiAqIC8vIENyZWF0ZSBhIHByb2R1Y2VyIGZvciB0aGUgXCJvcmRlcnNcIiB0b3BpYyB3aXRoIHNwZWNpZmljIGNvbmZpZ3VyYXRpb25cbiAqIGNvbnN0IG9yZGVyc1Byb2R1Y2VyID0gUHJvZHVjZXIudG9waWMoXCJvcmRlcnNcIiwgeyBcImJvb3RzdHJhcC5zZXJ2ZXJzXCI6IFwibG9jYWxob3N0OjkwOTJcIiB9KTtcbiAqIFxuICogLy8gU2VuZCBhIG1lc3NhZ2Ugd2l0aCBhIGtleSB0byB0aGUgXCJvcmRlcnNcIiB0b3BpY1xuICogb3JkZXJzUHJvZHVjZXIuc2VuZChcIm9yZGVyMTIzXCIsIFwiTmV3IG9yZGVyIHBsYWNlZFwiKTtcbiAqIFxuICogLy8gTGF0ZXIsIGNsb3NlIHRoZSBwcm9kdWNlciBjb25uZWN0aW9uXG4gKiBQcm9kdWNlci5jbG9zZSh7IFwiYm9vdHN0cmFwLnNlcnZlcnNcIjogXCJsb2NhbGhvc3Q6OTA5MlwiIH0pO1xuICogYGBgXG4gKi9cblxuY29uc3QgS2Fma2FGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkua2Fma2EuS2Fma2FGYWNhZGVcIik7XG5cbi8qKlxuICogVGhlIFByb2R1Y2VyIGNsYXNzIHNlcnZlcyBhcyB0aGUgbWFpbiBlbnRyeSBwb2ludCBmb3IgY3JlYXRpbmcgYW5kIGNvbmZpZ3VyaW5nXG4gKiBLYWZrYSB0b3BpYyBwcm9kdWNlcnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9kdWNlciB7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgbmV3IHRvcGljIGNvbmZpZ3VyYXRpb24gd3JhcHBlciB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlbmQgbWVzc2FnZXNcbiAgICAgKiB0byBhIHNwZWNpZmljIEthZmthIHRvcGljLlxuICAgICAqXG4gICAgICogQHBhcmFtIGRlc3RpbmF0aW9uIFRoZSBuYW1lIG9mIHRoZSBLYWZrYSB0b3BpYyB0byBzZW5kIG1lc3NhZ2VzIHRvLlxuICAgICAqIEBwYXJhbSBjb25maWd1cmF0aW9uIE9wdGlvbmFsIGtleS12YWx1ZSBvYmplY3QgY29udGFpbmluZyBLYWZrYSBwcm9kdWNlciBwcm9wZXJ0aWVzXG4gICAgICogKGUuZy4sICdib290c3RyYXAuc2VydmVycycsICdhY2tzJykuXG4gICAgICogQHJldHVybnMgQSB7QGxpbmsgVG9waWN9IGluc3RhbmNlIGNvbmZpZ3VyZWQgZm9yIHRoZSBzcGVjaWZpZWQgZGVzdGluYXRpb24gYW5kIHByb3BlcnRpZXMuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyB0b3BpYyhkZXN0aW5hdGlvbjogc3RyaW5nLCBjb25maWd1cmF0aW9uOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge30pOiBUb3BpYyB7XG4gICAgICAgIHJldHVybiBuZXcgVG9waWMoZGVzdGluYXRpb24sIGNvbmZpZ3VyYXRpb24pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsb3NlcyB0aGUgS2Fma2EgcHJvZHVjZXIgY29ubmVjdGlvbiBwb29sLCByZWxlYXNpbmcgYXNzb2NpYXRlZCByZXNvdXJjZXMuXG4gICAgICogVGhpcyBzaG91bGQgYmUgY2FsbGVkIHdoZW4gbWVzc2FnZSBzZW5kaW5nIGlzIGNvbXBsZXRlIHRvIGVuc3VyZSBwcm9wZXIgY2xlYW51cC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb25maWd1cmF0aW9uIE9wdGlvbmFsIGtleS12YWx1ZSBvYmplY3QgY29udGFpbmluZyB0aGUgY29uZmlndXJhdGlvblxuICAgICAqIHVzZWQgdG8gaW5pdGlhbGl6ZSB0aGUgcHJvZHVjZXIgdG8gYmUgY2xvc2VkLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgY2xvc2UoY29uZmlndXJhdGlvbjogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9KTogdm9pZCB7XG4gICAgICAgIEthZmthRmFjYWRlLmNsb3NlUHJvZHVjZXIoY29uZmlndXJhdGlvbik7XG4gICAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjb25maWd1cmVkIEthZmthIHRvcGljIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VuZCBtZXNzYWdlcy5cbiAqL1xuY2xhc3MgVG9waWMge1xuXG4gICAgcHJpdmF0ZSBkZXN0aW5hdGlvbjogc3RyaW5nO1xuICAgIHByaXZhdGUgY29uZmlndXJhdGlvbjogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkZXN0aW5hdGlvbiBUaGUgbmFtZSBvZiB0aGUgS2Fma2EgdG9waWMuXG4gICAgICogQHBhcmFtIGNvbmZpZ3VyYXRpb24gS2V5LXZhbHVlIG9iamVjdCBmb3IgcHJvZHVjZXIgcHJvcGVydGllcy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkZXN0aW5hdGlvbjogc3RyaW5nLCBjb25maWd1cmF0aW9uOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KSB7XG4gICAgICAgIHRoaXMuZGVzdGluYXRpb24gPSBkZXN0aW5hdGlvbjtcbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZW5kcyBhIG1lc3NhZ2Ugd2l0aCBhbiBvcHRpb25hbCBrZXkgdG8gdGhlIGNvbmZpZ3VyZWQgS2Fma2EgdG9waWMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgb2YgdGhlIG1lc3NhZ2UuIE1lc3NhZ2VzIHdpdGggdGhlIHNhbWUga2V5IGdvIHRvIHRoZSBzYW1lIHBhcnRpdGlvbi5cbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIGNvbnRlbnQgb2YgdGhlIG1lc3NhZ2UgdG8gYmUgc2VudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2VuZChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBLYWZrYUZhY2FkZS5zZW5kKHRoaXMuZGVzdGluYXRpb24sIGtleSwgdmFsdWUsIEpTT04uc3RyaW5naWZ5KHRoaXMuY29uZmlndXJhdGlvbikpO1xuICAgIH1cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBQcm9kdWNlcjtcbn0iXSwKICAibWFwcGluZ3MiOiAiQUFnQ0EsTUFBTSxjQUFjLEtBQUssS0FBSyx3REFBd0Q7QUFNL0UsTUFBTSxTQUFTO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFXbEIsT0FBYyxNQUFNLGFBQXFCLGdCQUEyQyxDQUFDLEdBQVU7QUFDM0YsV0FBTyxJQUFJLE1BQU0sYUFBYSxhQUFhO0FBQUEsRUFDL0M7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU0EsT0FBYyxNQUFNLGdCQUEyQyxDQUFDLEdBQVM7QUFDckUsZ0JBQVksY0FBYyxhQUFhO0FBQUEsRUFDM0M7QUFDSjtBQUtBLE1BQU0sTUFBTTtBQUFBLEVBRUE7QUFBQSxFQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1SLFlBQVksYUFBcUIsZUFBMEM7QUFDdkUsU0FBSyxjQUFjO0FBQ25CLFNBQUssZ0JBQWdCO0FBQUEsRUFDekI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFPLEtBQUssS0FBYSxPQUFxQjtBQUMxQyxnQkFBWSxLQUFLLEtBQUssYUFBYSxLQUFLLE9BQU8sS0FBSyxVQUFVLEtBQUssYUFBYSxDQUFDO0FBQUEsRUFDckY7QUFDSjtBQUdBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFbEMsU0FBTyxVQUFVO0FBQ2xCOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -3,4 +3,4 @@ export * from "./logging";
3
3
  export {
4
4
  Logging as logging
5
5
  };
6
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2xvZy9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiZXhwb3J0IHsgTG9nZ2luZyBhcyBsb2dnaW5nIH0gZnJvbSBcIi4vbG9nZ2luZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbG9nZ2luZ1wiOyJdLAogICJtYXBwaW5ncyI6ICJBQUFBLFNBQW9CLGVBQWU7QUFDbkMsY0FBYzsiLAogICJuYW1lcyI6IFtdCn0K
6
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2xvZy9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAbW9kdWxlIGxvZy9pbmRleFxuICogQHBhY2thZ2UgQGFlcm9raXQvc2RrL2xvZ1xuICogQG92ZXJ2aWV3XG4gKiBcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGZ1bmN0aW9uYWxpdGllcyBmb3IgbG9nZ2luZyB3aXRoaW4gdGhlIEFlcm9raXQgU0RLLiBJdCBpbmNsdWRlcyBjbGFzc2VzIGFuZCBtZXRob2RzIGZvciBtYW5hZ2luZyBsb2dnZXJzLCBjb25maWd1cmluZyBsb2dnaW5nIHNldHRpbmdzLCBhbmQgd3JpdGluZyBsb2cgbWVzc2FnZXMgYXQgdmFyaW91cyBsZXZlbHMgKGUuZy4sIGluZm8sIHdhcm5pbmcsIGVycm9yKS5cbiAqIFxuICogVGhlIG1haW4gY29tcG9uZW50cyBvZiB0aGlzIG1vZHVsZSBhcmU6XG4gKiAtIExvZ2dpbmc6IFJlcHJlc2VudHMgYSBsb2dnaW5nIHV0aWxpdHkgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIGNyZWF0ZSBsb2dnZXJzIGFuZCB3cml0ZSBsb2cgbWVzc2FnZXMuXG4gKi9cblxuZXhwb3J0IHsgTG9nZ2luZyBhcyBsb2dnaW5nIH0gZnJvbSBcIi4vbG9nZ2luZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbG9nZ2luZ1wiOyJdLAogICJtYXBwaW5ncyI6ICJBQVdBLFNBQW9CLGVBQWU7QUFDbkMsY0FBYzsiLAogICJuYW1lcyI6IFtdCn0K
@@ -154,4 +154,4 @@ export {
154
154
  Logger,
155
155
  Logging
156
156
  };
157
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2xvZy9sb2dnaW5nLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIFByb3ZpZGVzIGEgd3JhcHBlciBmb3IgdGhlIHVuZGVybHlpbmcgbG9nZ2luZyBmYWNpbGl0eSwgYWxsb3dpbmdcbiAqIGZvciBjYXRlZ29yaXplZCBhbmQgbGV2ZWxlZCBsb2dnaW5nIG1lc3NhZ2VzIHdpdGggc3VwcG9ydCBmb3IgdmFyaWFibGUgYXJndW1lbnRzLFxuICogaW5jbHVkaW5nIGVycm9yIG9iamVjdHMuXG4gKi9cbmNvbnN0IExvZ0ZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5sb2cuTG9nRmFjYWRlXCIpO1xuXG5cbi8qKlxuICogVGhlIG1haW4gZW50cnkgcG9pbnQgZm9yIHRoZSBsb2dnaW5nIEFQSS4gVXNlIHRoaXMgY2xhc3MgdG8gb2J0YWluIGEgbmFtZWRcbiAqIGxvZ2dlciBpbnN0YW5jZS5cbiAqL1xuZXhwb3J0IGNsYXNzIExvZ2dpbmcge1xuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgb3IgY3JlYXRlcyBhIExvZ2dlciBpbnN0YW5jZSBhc3NvY2lhdGVkIHdpdGggYSBzcGVjaWZpYyBuYW1lLlxuXHQgKiBUaGUgbG9nZ2VyIG5hbWUgaXMgdHlwaWNhbGx5IHVzZWQgdG8gY2F0ZWdvcml6ZSBsb2cgbWVzc2FnZXMgKGUuZy4sICdjb20uYXBwLnNlcnZpY2UnKS5cblx0ICpcblx0ICogQHBhcmFtIGxvZ2dlck5hbWUgVGhlIG5hbWUgb2YgdGhlIGxvZ2dlci5cblx0ICogQHJldHVybnMgQSB7QGxpbmsgTG9nZ2VyfSBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0TG9nZ2VyKGxvZ2dlck5hbWU6IHN0cmluZyk6IExvZ2dlciB7XG5cdFx0cmV0dXJuIG5ldyBMb2dnZXIobG9nZ2VyTmFtZSk7XG5cdH1cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgbmFtZWQgbG9nZ2VyIGluc3RhbmNlIHVzZWQgZm9yIGVtaXR0aW5nIGxvZyBtZXNzYWdlcyBhdCB2YXJpb3VzIGxldmVscy5cbiAqL1xuZXhwb3J0IGNsYXNzIExvZ2dlciB7XG5cblx0cHJpdmF0ZSBsb2dnZXJOYW1lOiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIEBwYXJhbSBsb2dnZXJOYW1lIFRoZSBuYW1lIG9mIHRoZSBsb2dnZXIuXG5cdCAqL1xuXHRjb25zdHJ1Y3Rvcihsb2dnZXJOYW1lOiBzdHJpbmcpIHtcblx0XHR0aGlzLmxvZ2dlck5hbWUgPSBsb2dnZXJOYW1lO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldHMgdGhlIGxvZ2dpbmcgbGV2ZWwgZm9yIHRoaXMgc3BlY2lmaWMgbG9nZ2VyIGluc3RhbmNlLlxuXHQgKiBNZXNzYWdlcyBiZWxvdyB0aGlzIHRocmVzaG9sZCB3aWxsIGJlIGlnbm9yZWQuXG5cdCAqXG5cdCAqIEBwYXJhbSBsZXZlbCBUaGUgZGVzaXJlZCBsb2dnaW5nIGxldmVsIChlLmcuLCAnVFJBQ0UnLCAnREVCVUcnLCAnSU5GTycsICdXQVJOJywgJ0VSUk9SJykuXG5cdCAqIEByZXR1cm5zIFRoZSBMb2dnZXIgaW5zdGFuY2UgZm9yIG1ldGhvZCBjaGFpbmluZy5cblx0ICovXG5cdHB1YmxpYyBzZXRMZXZlbChsZXZlbDogc3RyaW5nKTogTG9nZ2VyIHtcblx0XHRMb2dGYWNhZGUuc2V0TGV2ZWwodGhpcy5sb2dnZXJOYW1lLCBsZXZlbCk7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgREVCVUcgbGV2ZWwgaXMgY3VycmVudGx5IGVuYWJsZWQgZm9yIHRoaXMgbG9nZ2VyLlxuICAgICAqIEByZXR1cm5zIFRydWUgaWYgREVCVUcgbG9nZ2luZyBpcyBlbmFibGVkLCBmYWxzZSBvdGhlcndpc2UuXG4gICAgICovXG4gICAgcHVibGljIGlzRGVidWdFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gTG9nRmFjYWRlLmlzRGVidWdFbmFibGVkKHRoaXMubG9nZ2VyTmFtZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBFUlJPUiBsZXZlbCBpcyBjdXJyZW50bHkgZW5hYmxlZCBmb3IgdGhpcyBsb2dnZXIuXG4gICAgICogQHJldHVybnMgVHJ1ZSBpZiBFUlJPUiBsb2dnaW5nIGlzIGVuYWJsZWQsIGZhbHNlIG90aGVyd2lzZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNFcnJvckVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBMb2dGYWNhZGUuaXNFcnJvckVuYWJsZWQodGhpcy5sb2dnZXJOYW1lKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIFdBUk4gbGV2ZWwgaXMgY3VycmVudGx5IGVuYWJsZWQgZm9yIHRoaXMgbG9nZ2VyLlxuICAgICAqIEByZXR1cm5zIFRydWUgaWYgV0FSTiBsb2dnaW5nIGlzIGVuYWJsZWQsIGZhbHNlIG90aGVyd2lzZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNXYXJuRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIExvZ0ZhY2FkZS5pc1dhcm5FbmFibGVkKHRoaXMubG9nZ2VyTmFtZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBJTkZPIGxldmVsIGlzIGN1cnJlbnRseSBlbmFibGVkIGZvciB0aGlzIGxvZ2dlci5cbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIElORk8gbG9nZ2luZyBpcyBlbmFibGVkLCBmYWxzZSBvdGhlcndpc2UuXG4gICAgICovXG4gICAgcHVibGljIGlzSW5mb0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBMb2dGYWNhZGUuaXNJbmZvRW5hYmxlZCh0aGlzLmxvZ2dlck5hbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgVFJBQ0UgbGV2ZWwgaXMgY3VycmVudGx5IGVuYWJsZWQgZm9yIHRoaXMgbG9nZ2VyLlxuICAgICAqIEByZXR1cm5zIFRydWUgaWYgVFJBQ0UgbG9nZ2luZyBpcyBlbmFibGVkLCBmYWxzZSBvdGhlcndpc2UuXG4gICAgICovXG4gICAgcHVibGljIGlzVHJhY2VFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gTG9nRmFjYWRlLmlzVHJhY2VFbmFibGVkKHRoaXMubG9nZ2VyTmFtZSk7XG4gICAgfVxuXG5cdC8qKlxuXHQgKiBUaGUgY29yZSBsb2dnaW5nIG1ldGhvZC4gTG9ncyBhIG1lc3NhZ2UgYXQgdGhlIHNwZWNpZmllZCBsZXZlbCwgb3B0aW9uYWxseVxuXHQgKiBzdXBwb3J0aW5nIHBhcmFtZXRlcnMgZm9yIG1lc3NhZ2UgZm9ybWF0dGluZyBhbmQgYSBmaW5hbCBFcnJvciBvYmplY3QgZm9yIHN0YWNrIHRyYWNlIGxvZ2dpbmcuXG5cdCAqXG5cdCAqIEBwYXJhbSBtc2cgVGhlIGxvZyBtZXNzYWdlIHRlbXBsYXRlIChlLmcuLCBcIlVzZXIgezB9IGZhaWxlZCB0byBjb25uZWN0OiB7MX1cIikuXG5cdCAqIEBwYXJhbSBsZXZlbCBUaGUgbG9nZ2luZyBsZXZlbCAoZS5nLiwgJ0RFQlVHJywgJ0VSUk9SJykuXG5cdCAqIEBwYXJhbSBbYXJnc10gT3B0aW9uYWwgYXJndW1lbnRzIGZvciBtZXNzYWdlIGZvcm1hdHRpbmcuIFRoZSBsYXN0IGFyZ3VtZW50IGNhbiBiZSBhbiBFcnJvciBvYmplY3QuXG5cdCAqL1xuXHRwdWJsaWMgbG9nKG1zZzogc3RyaW5nLCBsZXZlbDogc3RyaW5nKTogdm9pZCB7XG5cdFx0Y29uc3QgYXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0bGV0IG1zZ1BhcmFtZXRlcnMgPSBbXTtcblxuXHRcdGxldCByYXdFcnJvciA9IG51bGw7XG5cdFx0aWYgKGFyZ3MubGVuZ3RoID4gMikge1xuXHRcdFx0aWYgKGFyZ3NbYXJncy5sZW5ndGgtMV0gaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgICAgIHJhd0Vycm9yID0gYXJnc1thcmdzLmxlbmd0aC0xXTtcblxuICAgICAgICAgICAgICAgIGlmIChyYXdFcnJvci5zdGFjaykge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmRlYnVnKFwiSGFuZGxpbmcgZXJyb3Igd2l0aCBzdGFjazpcXG5cIiArIHJhd0Vycm9yLnN0YWNrKTtcbiAgICAgICAgICAgICAgICB9XG5cdFx0XHR9XG5cdFx0XHRjb25zdCBlbmRJbmRleCA9IHJhd0Vycm9yID8gKGFyZ3MubGVuZ3RoIC0gMSkgOiBhcmdzLmxlbmd0aDtcblx0XHRcdG1zZ1BhcmFtZXRlcnMgPSBhcmdzLnNsaWNlKDIsIGVuZEluZGV4KS5tYXAoZnVuY3Rpb24gKHBhcmFtKSB7XG5cdFx0XHRcdHJldHVybiB0eXBlb2YgcGFyYW0gPT09ICdvYmplY3QnID8gSlNPTi5zdHJpbmdpZnkocGFyYW0pIDogcGFyYW07XG5cdFx0XHR9KTtcblx0XHR9XG5cblx0XHRMb2dGYWNhZGUubG9nKHRoaXMubG9nZ2VyTmFtZSwgbGV2ZWwsIG1zZywgSlNPTi5zdHJpbmdpZnkobXNnUGFyYW1ldGVycyksIHJhd0Vycm9yKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBMb2dzIGEgbWVzc2FnZSBhdCB0aGUgREVCVUcgbGV2ZWwuXG5cdCAqXG5cdCAqIEBwYXJhbSBtc2cgVGhlIGxvZyBtZXNzYWdlIHRlbXBsYXRlLlxuXHQgKiBAcGFyYW0gW2FyZ3NdIE9wdGlvbmFsIGFyZ3VtZW50cyBmb3IgbWVzc2FnZSBmb3JtYXR0aW5nLiBUaGUgbGFzdCBhcmd1bWVudCBjYW4gYmUgYW4gRXJyb3Igb2JqZWN0LlxuXHQgKi9cblx0cHVibGljIGRlYnVnKG1zZzogc3RyaW5nLCAuLi5fOiBhbnlbXSk6IHZvaWQge1xuXHRcdGNvbnN0IGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO1xuXHRcdGFyZ3Muc3BsaWNlKDEsIDAsICdERUJVRycpOy8vaW5zZXJ0IERFQlVHIG9uIHNlY29uZCBwb3NpdGlvbiBpbiBhcmd1bWVudHMgYXJyYXlcblx0XHR0aGlzLmxvZy5hcHBseSh0aGlzLCBhcmdzKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBMb2dzIGEgbWVzc2FnZSBhdCB0aGUgSU5GTyBsZXZlbC5cblx0ICpcblx0ICogQHBhcmFtIG1zZyBUaGUgbG9nIG1lc3NhZ2UgdGVtcGxhdGUuXG5cdCAqIEBwYXJhbSBbYXJnc10gT3B0aW9uYWwgYXJndW1lbnRzIGZvciBtZXNzYWdlIGZvcm1hdHRpbmcuIFRoZSBsYXN0IGFyZ3VtZW50IGNhbiBiZSBhbiBFcnJvciBvYmplY3QuXG5cdCAqL1xuXHRwdWJsaWMgaW5mbyhtc2c6IHN0cmluZywgLi4uXzogYW55W10pOiB2b2lkIHtcblx0XHRjb25zdCBhcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtcblx0XHRhcmdzLnNwbGljZSgxLCAwLCAnSU5GTycpOy8vaW5zZXJ0IElORk8gb24gc2Vjb25kIHBvc2l0aW9uIGluIGFyZ3VtZW50cyBhcnJheVxuXHRcdHRoaXMubG9nLmFwcGx5KHRoaXMsIGFyZ3MpO1xuXHR9XG5cblx0LyoqXG5cdCAqIExvZ3MgYSBtZXNzYWdlIGF0IHRoZSBUUkFDRSBsZXZlbC5cblx0ICpcblx0ICogQHBhcmFtIG1zZyBUaGUgbG9nIG1lc3NhZ2UgdGVtcGxhdGUuXG5cdCAqIEBwYXJhbSBbYXJnc10gT3B0aW9uYWwgYXJndW1lbnRzIGZvciBtZXNzYWdlIGZvcm1hdHRpbmcuIFRoZSBsYXN0IGFyZ3VtZW50IGNhbiBiZSBhbiBFcnJvciBvYmplY3QuXG5cdCAqL1xuXHRwdWJsaWMgdHJhY2UobXNnOiBzdHJpbmcsIC4uLl86IGFueVtdKTogdm9pZCB7XG5cdFx0Y29uc3QgYXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0YXJncy5zcGxpY2UoMSwgMCwgJ1RSQUNFJyk7Ly9pbnNlcnQgVFJBQ0Ugb24gc2Vjb25kIHBvc2l0aW9uIGluIGFyZ3VtZW50cyBhcnJheVxuXHRcdHRoaXMubG9nLmFwcGx5KHRoaXMsIGFyZ3MpO1xuXHR9XG5cblx0LyoqXG5cdCAqIExvZ3MgYSBtZXNzYWdlIGF0IHRoZSBXQVJOIGxldmVsLlxuXHQgKlxuXHQgKiBAcGFyYW0gbXNnIFRoZSBsb2cgbWVzc2FnZSB0ZW1wbGF0ZS5cblx0ICogQHBhcmFtIFthcmdzXSBPcHRpb25hbCBhcmd1bWVudHMgZm9yIG1lc3NhZ2UgZm9ybWF0dGluZy4gVGhlIGxhc3QgYXJndW1lbnQgY2FuIGJlIGFuIEVycm9yIG9iamVjdC5cblx0ICovXG5cdHB1YmxpYyB3YXJuKG1zZzogc3RyaW5nLCAuLi5fOiBhbnlbXSk6IHZvaWQge1xuXHRcdGNvbnN0IGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO1xuXHRcdGFyZ3Muc3BsaWNlKDEsIDAsICdXQVJOJyk7Ly9pbnNlcnQgV0FSTiBvbiBzZWNvbmQgcG9zaXRpb24gaW4gYXJndW1lbnRzIGFycmF5XG5cdFx0dGhpcy5sb2cuYXBwbHkodGhpcywgYXJncyk7XG5cdH1cblxuXHQvKipcblx0ICogTG9ncyBhIG1lc3NhZ2UgYXQgdGhlIEVSUk9SIGxldmVsLlxuXHQgKlxuXHQgKiBAcGFyYW0gbXNnIFRoZSBsb2cgbWVzc2FnZSB0ZW1wbGF0ZS5cblx0ICogQHBhcmFtIFthcmdzXSBPcHRpb25hbCBhcmd1bWVudHMgZm9yIG1lc3NhZ2UgZm9ybWF0dGluZy4gVGhlIGxhc3QgYXJndW1lbnQgY2FuIGJlIGFuIEVycm9yIG9iamVjdC5cblx0ICovXG5cdHB1YmxpYyBlcnJvcihtc2c6IHN0cmluZywgLi4uXzogYW55W10pOiB2b2lkIHtcblx0XHRjb25zdCBhcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtcblx0XHRhcmdzLnNwbGljZSgxLCAwLCAnRVJST1InKTsvL2luc2VydCBFUlJPUiBvbiBzZWNvbmQgcG9zaXRpb24gaW4gYXJndW1lbnRzIGFycmF5XG5cdFx0dGhpcy5sb2cuYXBwbHkodGhpcywgYXJncyk7XG5cdH1cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBMb2dnaW5nO1xufSJdLAogICJtYXBwaW5ncyI6ICJBQUtBLE1BQU0sWUFBWSxLQUFLLEtBQUssb0RBQW9EO0FBT3pFLE1BQU0sUUFBUTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTcEIsT0FBYyxVQUFVLFlBQTRCO0FBQ25ELFdBQU8sSUFBSSxPQUFPLFVBQVU7QUFBQSxFQUM3QjtBQUNEO0FBS08sTUFBTSxPQUFPO0FBQUEsRUFFWDtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS1IsWUFBWSxZQUFvQjtBQUMvQixTQUFLLGFBQWE7QUFBQSxFQUNuQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTTyxTQUFTLE9BQXVCO0FBQ3RDLGNBQVUsU0FBUyxLQUFLLFlBQVksS0FBSztBQUN6QyxXQUFPO0FBQUEsRUFDUjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNVSxpQkFBMEI7QUFDN0IsV0FBTyxVQUFVLGVBQWUsS0FBSyxVQUFVO0FBQUEsRUFDbkQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTU8saUJBQTBCO0FBQzdCLFdBQU8sVUFBVSxlQUFlLEtBQUssVUFBVTtBQUFBLEVBQ25EO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1PLGdCQUF5QjtBQUM1QixXQUFPLFVBQVUsY0FBYyxLQUFLLFVBQVU7QUFBQSxFQUNsRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNTyxnQkFBeUI7QUFDNUIsV0FBTyxVQUFVLGNBQWMsS0FBSyxVQUFVO0FBQUEsRUFDbEQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTU8saUJBQTBCO0FBQzdCLFdBQU8sVUFBVSxlQUFlLEtBQUss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
157
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2xvZy9sb2dnaW5nLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgbG9nL2xvZ2dpbmdcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9sb2dcbiAqIEBuYW1lIExvZ2dpbmdcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgTG9nZ2luZyBtb2R1bGUgcHJvdmlkZXMgYSBzdHJ1Y3R1cmVkIGFuZCBmbGV4aWJsZSBsb2dnaW5nIEFQSSBmb3IgYXBwbGljYXRpb25zLCBhbGxvd2luZyBkZXZlbG9wZXJzIHRvIGNyZWF0ZSBuYW1lZCBsb2dnZXJzIGFuZCBlbWl0IGxvZyBtZXNzYWdlcyBhdCB2YXJpb3VzIGxldmVscyAoZS5nLiwgREVCVUcsIElORk8sIFdBUk4sIEVSUk9SKS4gVGhlIG1vZHVsZSBhYnN0cmFjdHMgdGhlIHVuZGVybHlpbmcgbG9nZ2luZyBpbXBsZW1lbnRhdGlvbiwgcHJvdmlkaW5nIGEgY29uc2lzdGVudCBpbnRlcmZhY2UgZm9yIGxvZ2dpbmcgYWNyb3NzIHRoZSBhcHBsaWNhdGlvbi4gSXQgc3VwcG9ydHMgbWVzc2FnZSBmb3JtYXR0aW5nIHdpdGggdmFyaWFibGUgYXJndW1lbnRzIGFuZCBjYW4gaGFuZGxlIGVycm9yIG9iamVjdHMgdG8gaW5jbHVkZSBzdGFjayB0cmFjZXMgaW4gbG9nIG91dHB1dHMuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXM6XG4gKiAtICoqTmFtZWQgTG9nZ2VycyoqOiBDcmVhdGUgbG9nZ2VycyB3aXRoIHNwZWNpZmljIG5hbWVzIHRvIGNhdGVnb3JpemUgbG9nIG1lc3NhZ2VzIChlLmcuLCAnY29tLmFwcC5zZXJ2aWNlJykuXG4gKiAtICoqTGV2ZWxlZCBMb2dnaW5nKio6IEVtaXQgbG9nIG1lc3NhZ2VzIGF0IGRpZmZlcmVudCBsZXZlbHMgKERFQlVHLCBJTkZPLCBXQVJOLCBFUlJPUikgd2l0aCB0aGUgYWJpbGl0eSB0byBzZXQgbG9nZ2luZyB0aHJlc2hvbGRzLlxuICogLSAqKk1lc3NhZ2UgRm9ybWF0dGluZyoqOiBTdXBwb3J0IGZvciBtZXNzYWdlIHRlbXBsYXRlcyB3aXRoIHZhcmlhYmxlIGFyZ3VtZW50cyBmb3IgZHluYW1pYyBsb2cgY29udGVudC5cbiAqIC0gKipFcnJvciBIYW5kbGluZyoqOiBBYmlsaXR5IHRvIGluY2x1ZGUgRXJyb3Igb2JqZWN0cyBpbiBsb2cgbWVzc2FnZXMgdG8gY2FwdHVyZSBzdGFjayB0cmFjZXMgYW5kIGVycm9yIGRldGFpbHMuXG4gKiBcbiAqICMjIyBVc2UgQ2FzZXM6XG4gKiAtICoqQXBwbGljYXRpb24gTG9nZ2luZyoqOiBVc2UgdGhlIExvZ2dpbmcgbW9kdWxlIHRvIGVtaXQgbG9nIG1lc3NhZ2VzIHRocm91Z2hvdXQgeW91ciBhcHBsaWNhdGlvbiBmb3IgZGVidWdnaW5nLCBtb25pdG9yaW5nLCBhbmQgYXVkaXRpbmcgcHVycG9zZXMuXG4gKiAtICoqRXJyb3IgVHJhY2tpbmcqKjogTG9nIGVycm9ycyB3aXRoIHN0YWNrIHRyYWNlcyB0byBmYWNpbGl0YXRlIHRyb3VibGVzaG9vdGluZyBhbmQgaXNzdWUgcmVzb2x1dGlvbi5cbiAqIC0gKipQZXJmb3JtYW5jZSBNb25pdG9yaW5nKio6IEVtaXQgbG9nIG1lc3NhZ2VzIGF0IGRpZmZlcmVudCBsZXZlbHMgdG8gbW9uaXRvciBhcHBsaWNhdGlvbiBwZXJmb3JtYW5jZSBhbmQgYmVoYXZpb3IgdW5kZXIgdmFyaW91cyBjb25kaXRpb25zLlxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZTpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBMb2dnaW5nIH0gZnJvbSBcIkBhZXJva2l0L3Nkay9sb2dcIjtcbiAqIFxuICogY29uc3QgbG9nZ2VyID0gTG9nZ2luZy5nZXRMb2dnZXIoXCJjb20uYXBwLnNlcnZpY2VcIik7XG4gKiBsb2dnZXIuc2V0TGV2ZWwoXCJERUJVR1wiKTtcbiAqIFxuICogbG9nZ2VyLmRlYnVnKFwiRGVidWdnaW5nIHZhbHVlOiB7MH1cIiwgc29tZVZhcmlhYmxlKTtcbiAqIGxvZ2dlci5pbmZvKFwiU2VydmljZSBzdGFydGVkIHN1Y2Nlc3NmdWxseVwiKTtcbiAqIGxvZ2dlci53YXJuKFwiTG93IGRpc2sgc3BhY2Ugd2FybmluZ1wiKTtcbiAqIGxvZ2dlci5lcnJvcihcIkFuIGVycm9yIG9jY3VycmVkIHdoaWxlIHByb2Nlc3NpbmcgcmVxdWVzdFwiLCBuZXcgRXJyb3IoXCJEYXRhYmFzZSBjb25uZWN0aW9uIGZhaWxlZFwiKSk7XG4gKiBgYGBcbiAqL1xuXG5jb25zdCBMb2dGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkubG9nLkxvZ0ZhY2FkZVwiKTtcblxuLyoqXG4gKiBUaGUgbWFpbiBlbnRyeSBwb2ludCBmb3IgdGhlIGxvZ2dpbmcgQVBJLiBVc2UgdGhpcyBjbGFzcyB0byBvYnRhaW4gYSBuYW1lZFxuICogbG9nZ2VyIGluc3RhbmNlLlxuICovXG5leHBvcnQgY2xhc3MgTG9nZ2luZyB7XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyBvciBjcmVhdGVzIGEgTG9nZ2VyIGluc3RhbmNlIGFzc29jaWF0ZWQgd2l0aCBhIHNwZWNpZmljIG5hbWUuXG5cdCAqIFRoZSBsb2dnZXIgbmFtZSBpcyB0eXBpY2FsbHkgdXNlZCB0byBjYXRlZ29yaXplIGxvZyBtZXNzYWdlcyAoZS5nLiwgJ2NvbS5hcHAuc2VydmljZScpLlxuXHQgKlxuXHQgKiBAcGFyYW0gbG9nZ2VyTmFtZSBUaGUgbmFtZSBvZiB0aGUgbG9nZ2VyLlxuXHQgKiBAcmV0dXJucyBBIHtAbGluayBMb2dnZXJ9IGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXRMb2dnZXIobG9nZ2VyTmFtZTogc3RyaW5nKTogTG9nZ2VyIHtcblx0XHRyZXR1cm4gbmV3IExvZ2dlcihsb2dnZXJOYW1lKTtcblx0fVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBuYW1lZCBsb2dnZXIgaW5zdGFuY2UgdXNlZCBmb3IgZW1pdHRpbmcgbG9nIG1lc3NhZ2VzIGF0IHZhcmlvdXMgbGV2ZWxzLlxuICovXG5leHBvcnQgY2xhc3MgTG9nZ2VyIHtcblxuXHRwcml2YXRlIGxvZ2dlck5hbWU6IHN0cmluZztcblxuXHQvKipcblx0ICogQHBhcmFtIGxvZ2dlck5hbWUgVGhlIG5hbWUgb2YgdGhlIGxvZ2dlci5cblx0ICovXG5cdGNvbnN0cnVjdG9yKGxvZ2dlck5hbWU6IHN0cmluZykge1xuXHRcdHRoaXMubG9nZ2VyTmFtZSA9IGxvZ2dlck5hbWU7XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyB0aGUgbG9nZ2luZyBsZXZlbCBmb3IgdGhpcyBzcGVjaWZpYyBsb2dnZXIgaW5zdGFuY2UuXG5cdCAqIE1lc3NhZ2VzIGJlbG93IHRoaXMgdGhyZXNob2xkIHdpbGwgYmUgaWdub3JlZC5cblx0ICpcblx0ICogQHBhcmFtIGxldmVsIFRoZSBkZXNpcmVkIGxvZ2dpbmcgbGV2ZWwgKGUuZy4sICdUUkFDRScsICdERUJVRycsICdJTkZPJywgJ1dBUk4nLCAnRVJST1InKS5cblx0ICogQHJldHVybnMgVGhlIExvZ2dlciBpbnN0YW5jZSBmb3IgbWV0aG9kIGNoYWluaW5nLlxuXHQgKi9cblx0cHVibGljIHNldExldmVsKGxldmVsOiBzdHJpbmcpOiBMb2dnZXIge1xuXHRcdExvZ0ZhY2FkZS5zZXRMZXZlbCh0aGlzLmxvZ2dlck5hbWUsIGxldmVsKTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBERUJVRyBsZXZlbCBpcyBjdXJyZW50bHkgZW5hYmxlZCBmb3IgdGhpcyBsb2dnZXIuXG4gICAgICogQHJldHVybnMgVHJ1ZSBpZiBERUJVRyBsb2dnaW5nIGlzIGVuYWJsZWQsIGZhbHNlIG90aGVyd2lzZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNEZWJ1Z0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBMb2dGYWNhZGUuaXNEZWJ1Z0VuYWJsZWQodGhpcy5sb2dnZXJOYW1lKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIEVSUk9SIGxldmVsIGlzIGN1cnJlbnRseSBlbmFibGVkIGZvciB0aGlzIGxvZ2dlci5cbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIEVSUk9SIGxvZ2dpbmcgaXMgZW5hYmxlZCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBpc0Vycm9yRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIExvZ0ZhY2FkZS5pc0Vycm9yRW5hYmxlZCh0aGlzLmxvZ2dlck5hbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgV0FSTiBsZXZlbCBpcyBjdXJyZW50bHkgZW5hYmxlZCBmb3IgdGhpcyBsb2dnZXIuXG4gICAgICogQHJldHVybnMgVHJ1ZSBpZiBXQVJOIGxvZ2dpbmcgaXMgZW5hYmxlZCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBpc1dhcm5FbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gTG9nRmFjYWRlLmlzV2FybkVuYWJsZWQodGhpcy5sb2dnZXJOYW1lKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIElORk8gbGV2ZWwgaXMgY3VycmVudGx5IGVuYWJsZWQgZm9yIHRoaXMgbG9nZ2VyLlxuICAgICAqIEByZXR1cm5zIFRydWUgaWYgSU5GTyBsb2dnaW5nIGlzIGVuYWJsZWQsIGZhbHNlIG90aGVyd2lzZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNJbmZvRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIExvZ0ZhY2FkZS5pc0luZm9FbmFibGVkKHRoaXMubG9nZ2VyTmFtZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBUUkFDRSBsZXZlbCBpcyBjdXJyZW50bHkgZW5hYmxlZCBmb3IgdGhpcyBsb2dnZXIuXG4gICAgICogQHJldHVybnMgVHJ1ZSBpZiBUUkFDRSBsb2dnaW5nIGlzIGVuYWJsZWQsIGZhbHNlIG90aGVyd2lzZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNUcmFjZUVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBMb2dGYWNhZGUuaXNUcmFjZUVuYWJsZWQodGhpcy5sb2dnZXJOYW1lKTtcbiAgICB9XG5cblx0LyoqXG5cdCAqIFRoZSBjb3JlIGxvZ2dpbmcgbWV0aG9kLiBMb2dzIGEgbWVzc2FnZSBhdCB0aGUgc3BlY2lmaWVkIGxldmVsLCBvcHRpb25hbGx5XG5cdCAqIHN1cHBvcnRpbmcgcGFyYW1ldGVycyBmb3IgbWVzc2FnZSBmb3JtYXR0aW5nIGFuZCBhIGZpbmFsIEVycm9yIG9iamVjdCBmb3Igc3RhY2sgdHJhY2UgbG9nZ2luZy5cblx0ICpcblx0ICogQHBhcmFtIG1zZyBUaGUgbG9nIG1lc3NhZ2UgdGVtcGxhdGUgKGUuZy4sIFwiVXNlciB7MH0gZmFpbGVkIHRvIGNvbm5lY3Q6IHsxfVwiKS5cblx0ICogQHBhcmFtIGxldmVsIFRoZSBsb2dnaW5nIGxldmVsIChlLmcuLCAnREVCVUcnLCAnRVJST1InKS5cblx0ICogQHBhcmFtIFthcmdzXSBPcHRpb25hbCBhcmd1bWVudHMgZm9yIG1lc3NhZ2UgZm9ybWF0dGluZy4gVGhlIGxhc3QgYXJndW1lbnQgY2FuIGJlIGFuIEVycm9yIG9iamVjdC5cblx0ICovXG5cdHB1YmxpYyBsb2cobXNnOiBzdHJpbmcsIGxldmVsOiBzdHJpbmcpOiB2b2lkIHtcblx0XHRjb25zdCBhcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtcblx0XHRsZXQgbXNnUGFyYW1ldGVycyA9IFtdO1xuXG5cdFx0bGV0IHJhd0Vycm9yID0gbnVsbDtcblx0XHRpZiAoYXJncy5sZW5ndGggPiAyKSB7XG5cdFx0XHRpZiAoYXJnc1thcmdzLmxlbmd0aC0xXSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICAgICAgcmF3RXJyb3IgPSBhcmdzW2FyZ3MubGVuZ3RoLTFdO1xuXG4gICAgICAgICAgICAgICAgaWYgKHJhd0Vycm9yLnN0YWNrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZGVidWcoXCJIYW5kbGluZyBlcnJvciB3aXRoIHN0YWNrOlxcblwiICsgcmF3RXJyb3Iuc3RhY2spO1xuICAgICAgICAgICAgICAgIH1cblx0XHRcdH1cblx0XHRcdGNvbnN0IGVuZEluZGV4ID0gcmF3RXJyb3IgPyAoYXJncy5sZW5ndGggLSAxKSA6IGFyZ3MubGVuZ3RoO1xuXHRcdFx0bXNnUGFyYW1ldGVycyA9IGFyZ3Muc2xpY2UoMiwgZW5kSW5kZXgpLm1hcChmdW5jdGlvbiAocGFyYW0pIHtcblx0XHRcdFx0cmV0dXJuIHR5cGVvZiBwYXJhbSA9PT0gJ29iamVjdCcgPyBKU09OLnN0cmluZ2lmeShwYXJhbSkgOiBwYXJhbTtcblx0XHRcdH0pO1xuXHRcdH1cblxuXHRcdExvZ0ZhY2FkZS5sb2codGhpcy5sb2dnZXJOYW1lLCBsZXZlbCwgbXNnLCBKU09OLnN0cmluZ2lmeShtc2dQYXJhbWV0ZXJzKSwgcmF3RXJyb3IpO1xuXHR9XG5cblx0LyoqXG5cdCAqIExvZ3MgYSBtZXNzYWdlIGF0IHRoZSBERUJVRyBsZXZlbC5cblx0ICpcblx0ICogQHBhcmFtIG1zZyBUaGUgbG9nIG1lc3NhZ2UgdGVtcGxhdGUuXG5cdCAqIEBwYXJhbSBbYXJnc10gT3B0aW9uYWwgYXJndW1lbnRzIGZvciBtZXNzYWdlIGZvcm1hdHRpbmcuIFRoZSBsYXN0IGFyZ3VtZW50IGNhbiBiZSBhbiBFcnJvciBvYmplY3QuXG5cdCAqL1xuXHRwdWJsaWMgZGVidWcobXNnOiBzdHJpbmcsIC4uLl86IGFueVtdKTogdm9pZCB7XG5cdFx0Y29uc3QgYXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0YXJncy5zcGxpY2UoMSwgMCwgJ0RFQlVHJyk7Ly9pbnNlcnQgREVCVUcgb24gc2Vjb25kIHBvc2l0aW9uIGluIGFyZ3VtZW50cyBhcnJheVxuXHRcdHRoaXMubG9nLmFwcGx5KHRoaXMsIGFyZ3MpO1xuXHR9XG5cblx0LyoqXG5cdCAqIExvZ3MgYSBtZXNzYWdlIGF0IHRoZSBJTkZPIGxldmVsLlxuXHQgKlxuXHQgKiBAcGFyYW0gbXNnIFRoZSBsb2cgbWVzc2FnZSB0ZW1wbGF0ZS5cblx0ICogQHBhcmFtIFthcmdzXSBPcHRpb25hbCBhcmd1bWVudHMgZm9yIG1lc3NhZ2UgZm9ybWF0dGluZy4gVGhlIGxhc3QgYXJndW1lbnQgY2FuIGJlIGFuIEVycm9yIG9iamVjdC5cblx0ICovXG5cdHB1YmxpYyBpbmZvKG1zZzogc3RyaW5nLCAuLi5fOiBhbnlbXSk6IHZvaWQge1xuXHRcdGNvbnN0IGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO1xuXHRcdGFyZ3Muc3BsaWNlKDEsIDAsICdJTkZPJyk7Ly9pbnNlcnQgSU5GTyBvbiBzZWNvbmQgcG9zaXRpb24gaW4gYXJndW1lbnRzIGFycmF5XG5cdFx0dGhpcy5sb2cuYXBwbHkodGhpcywgYXJncyk7XG5cdH1cblxuXHQvKipcblx0ICogTG9ncyBhIG1lc3NhZ2UgYXQgdGhlIFRSQUNFIGxldmVsLlxuXHQgKlxuXHQgKiBAcGFyYW0gbXNnIFRoZSBsb2cgbWVzc2FnZSB0ZW1wbGF0ZS5cblx0ICogQHBhcmFtIFthcmdzXSBPcHRpb25hbCBhcmd1bWVudHMgZm9yIG1lc3NhZ2UgZm9ybWF0dGluZy4gVGhlIGxhc3QgYXJndW1lbnQgY2FuIGJlIGFuIEVycm9yIG9iamVjdC5cblx0ICovXG5cdHB1YmxpYyB0cmFjZShtc2c6IHN0cmluZywgLi4uXzogYW55W10pOiB2b2lkIHtcblx0XHRjb25zdCBhcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtcblx0XHRhcmdzLnNwbGljZSgxLCAwLCAnVFJBQ0UnKTsvL2luc2VydCBUUkFDRSBvbiBzZWNvbmQgcG9zaXRpb24gaW4gYXJndW1lbnRzIGFycmF5XG5cdFx0dGhpcy5sb2cuYXBwbHkodGhpcywgYXJncyk7XG5cdH1cblxuXHQvKipcblx0ICogTG9ncyBhIG1lc3NhZ2UgYXQgdGhlIFdBUk4gbGV2ZWwuXG5cdCAqXG5cdCAqIEBwYXJhbSBtc2cgVGhlIGxvZyBtZXNzYWdlIHRlbXBsYXRlLlxuXHQgKiBAcGFyYW0gW2FyZ3NdIE9wdGlvbmFsIGFyZ3VtZW50cyBmb3IgbWVzc2FnZSBmb3JtYXR0aW5nLiBUaGUgbGFzdCBhcmd1bWVudCBjYW4gYmUgYW4gRXJyb3Igb2JqZWN0LlxuXHQgKi9cblx0cHVibGljIHdhcm4obXNnOiBzdHJpbmcsIC4uLl86IGFueVtdKTogdm9pZCB7XG5cdFx0Y29uc3QgYXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0YXJncy5zcGxpY2UoMSwgMCwgJ1dBUk4nKTsvL2luc2VydCBXQVJOIG9uIHNlY29uZCBwb3NpdGlvbiBpbiBhcmd1bWVudHMgYXJyYXlcblx0XHR0aGlzLmxvZy5hcHBseSh0aGlzLCBhcmdzKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBMb2dzIGEgbWVzc2FnZSBhdCB0aGUgRVJST1IgbGV2ZWwuXG5cdCAqXG5cdCAqIEBwYXJhbSBtc2cgVGhlIGxvZyBtZXNzYWdlIHRlbXBsYXRlLlxuXHQgKiBAcGFyYW0gW2FyZ3NdIE9wdGlvbmFsIGFyZ3VtZW50cyBmb3IgbWVzc2FnZSBmb3JtYXR0aW5nLiBUaGUgbGFzdCBhcmd1bWVudCBjYW4gYmUgYW4gRXJyb3Igb2JqZWN0LlxuXHQgKi9cblx0cHVibGljIGVycm9yKG1zZzogc3RyaW5nLCAuLi5fOiBhbnlbXSk6IHZvaWQge1xuXHRcdGNvbnN0IGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO1xuXHRcdGFyZ3Muc3BsaWNlKDEsIDAsICdFUlJPUicpOy8vaW5zZXJ0IEVSUk9SIG9uIHNlY29uZCBwb3NpdGlvbiBpbiBhcmd1bWVudHMgYXJyYXlcblx0XHR0aGlzLmxvZy5hcHBseSh0aGlzLCBhcmdzKTtcblx0fVxufVxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IExvZ2dpbmc7XG59Il0sCiAgIm1hcHBpbmdzIjogIkFBaUNBLE1BQU0sWUFBWSxLQUFLLEtBQUssb0RBQW9EO0FBTXpFLE1BQU0sUUFBUTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTcEIsT0FBYyxVQUFVLFlBQTRCO0FBQ25ELFdBQU8sSUFBSSxPQUFPLFVBQVU7QUFBQSxFQUM3QjtBQUNEO0FBS08sTUFBTSxPQUFPO0FBQUEsRUFFWDtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS1IsWUFBWSxZQUFvQjtBQUMvQixTQUFLLGFBQWE7QUFBQSxFQUNuQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTTyxTQUFTLE9BQXVCO0FBQ3RDLGNBQVUsU0FBUyxLQUFLLFlBQVksS0FBSztBQUN6QyxXQUFPO0FBQUEsRUFDUjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNVSxpQkFBMEI7QUFDN0IsV0FBTyxVQUFVLGVBQWUsS0FBSyxVQUFVO0FBQUEsRUFDbkQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTU8saUJBQTBCO0FBQzdCLFdBQU8sVUFBVSxlQUFlLEtBQUssVUFBVTtBQUFBLEVBQ25EO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1PLGdCQUF5QjtBQUM1QixXQUFPLFVBQVUsY0FBYyxLQUFLLFVBQVU7QUFBQSxFQUNsRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNTyxnQkFBeUI7QUFDNUIsV0FBTyxVQUFVLGNBQWMsS0FBSyxVQUFVO0FBQUEsRUFDbEQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTU8saUJBQTBCO0FBQzdCLFdBQU8sVUFBVSxlQUFlLEtBQUssVUFBVTtBQUFBLEVBQ25EO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBVUksSUFBSSxLQUFhLE9BQXFCO0FBQzVDLFVBQU0sT0FBTyxNQUFNLFVBQVUsTUFBTSxLQUFLLFNBQVM7QUFDakQsUUFBSSxnQkFBZ0IsQ0FBQztBQUVyQixRQUFJLFdBQVc7QUFDZixRQUFJLEtBQUssU0FBUyxHQUFHO0FBQ3BCLFVBQUksS0FBSyxLQUFLLFNBQU8sQ0FBQyxhQUFhLE9BQU87QUFDN0IsbUJBQVcsS0FBSyxLQUFLLFNBQU8sQ0FBQztBQUU3QixZQUFJLFNBQVMsT0FBTztBQUNoQixrQkFBUSxNQUFNLGlDQUFpQyxTQUFTLEtBQUs7QUFBQSxRQUNqRTtBQUFBLE1BQ2I7QUFDQSxZQUFNLFdBQVcsV0FBWSxLQUFLLFNBQVMsSUFBSyxLQUFLO0FBQ3JELHNCQUFnQixLQUFLLE1BQU0sR0FBRyxRQUFRLEVBQUUsSUFBSSxTQUFVLE9BQU87QUFDNUQsZUFBTyxPQUFPLFVBQVUsV0FBVyxLQUFLLFVBQVUsS0FBSyxJQUFJO0FBQUEsTUFDNUQsQ0FBQztBQUFBLElBQ0Y7QUFFQSxjQUFVLElBQUksS0FBSyxZQUFZLE9BQU8sS0FBSyxLQUFLLFVBQVUsYUFBYSxHQUFHLFFBQVE7QUFBQSxFQUNuRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sTUFBTSxRQUFnQixHQUFnQjtBQUM1QyxVQUFNLE9BQU8sTUFBTSxVQUFVLE1BQU0sS0FBSyxTQUFTO0FBQ2pELFNBQUssT0FBTyxHQUFHLEdBQUcsT0FBTztBQUN6QixTQUFLLElBQUksTUFBTSxNQUFNLElBQUk7QUFBQSxFQUMxQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sS0FBSyxRQUFnQixHQUFnQjtBQUMzQyxVQUFNLE9BQU8sTUFBTSxVQUFVLE1BQU0sS0FBSyxTQUFTO0FBQ2pELFNBQUssT0FBTyxHQUFHLEdBQUcsTUFBTTtBQUN4QixTQUFLLElBQUksTUFBTSxNQUFNLElBQUk7QUFBQSxFQUMxQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sTUFBTSxRQUFnQixHQUFnQjtBQUM1QyxVQUFNLE9BQU8sTUFBTSxVQUFVLE1BQU0sS0FBSyxTQUFTO0FBQ2pELFNBQUssT0FBTyxHQUFHLEdBQUcsT0FBTztBQUN6QixTQUFLLElBQUksTUFBTSxNQUFNLElBQUk7QUFBQSxFQUMxQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sS0FBSyxRQUFnQixHQUFnQjtBQUMzQyxVQUFNLE9BQU8sTUFBTSxVQUFVLE1BQU0sS0FBSyxTQUFTO0FBQ2pELFNBQUssT0FBTyxHQUFHLEdBQUcsTUFBTTtBQUN4QixTQUFLLElBQUksTUFBTSxNQUFNLElBQUk7QUFBQSxFQUMxQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sTUFBTSxRQUFnQixHQUFnQjtBQUM1QyxVQUFNLE9BQU8sTUFBTSxVQUFVLE1BQU0sS0FBSyxTQUFTO0FBQ2pELFNBQUssT0FBTyxHQUFHLEdBQUcsT0FBTztBQUN6QixTQUFLLElBQUksTUFBTSxNQUFNLElBQUk7QUFBQSxFQUMxQjtBQUNEO0FBR0EsSUFBSSxPQUFPLFdBQVcsYUFBYTtBQUVsQyxTQUFPLFVBQVU7QUFDbEI7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -132,4 +132,4 @@ if (typeof module !== "undefined") {
132
132
  export {
133
133
  MailClient
134
134
  };
135
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL21haWwvY2xpZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIFByb3ZpZGVzIGEgY2xpZW50IGZvciBzZW5kaW5nIGVtYWlscywgc3VwcG9ydGluZyBib3RoIHNpbXBsZSB0ZXh0L0hUTUxcbiAqIG1lc3NhZ2VzIGFuZCBjb21wbGV4IG11bHRpcGFydCBtZXNzYWdlcyB3aXRoIGF0dGFjaG1lbnRzIG9yIGlubGluZSBjb250ZW50LlxuICovXG5jb25zdCBQcm9wZXJ0aWVzID0gSmF2YS50eXBlKFwiamF2YS51dGlsLlByb3BlcnRpZXNcIik7XG5jb25zdCBNYWlsRmFjYWRlID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLm1haWwuTWFpbEZhY2FkZVwiKTtcblxuLyoqXG4gKiBEZWZpbmVzIHRoZSBzdHJ1Y3R1cmUgZm9yIHNwZWNpZnlpbmcgZW1haWwgcmVjaXBpZW50cy5cbiAqIFJlY2lwaWVudHMgY2FuIGJlIHByb3ZpZGVkIGFzIGEgc2luZ2xlIGVtYWlsIHN0cmluZyBvciBhbiBhcnJheSBvZiBzdHJpbmdzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1haWxSZWNpcGllbnRzIHtcbiAgICAvKiogVGhlIHByaW1hcnkgcmVjaXBpZW50cyBvZiB0aGUgZW1haWwuICovXG4gICAgdG8/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICAvKiogQ2FyYm9uIENvcHkgcmVjaXBpZW50cy4gKi9cbiAgICBjYz86IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgIC8qKiBCbGluZCBDYXJib24gQ29weSByZWNpcGllbnRzLiAqL1xuICAgIGJjYz86IHN0cmluZyB8IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIERlZmluZXMgYSBzaW5nbGUgcGFydCBvZiBhIG11bHRpcGFydCBlbWFpbCBtZXNzYWdlLlxuICogVGhpcyBpcyB1c2VkIGZvciBib2RpZXMsIGF0dGFjaG1lbnRzLCBhbmQgaW5saW5lIGltYWdlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNYWlsTXVsdGlwYXJ0IHtcbiAgICAvKiogVGhlIG5hdHVyZSBvZiB0aGUgcGFydDogJ3RleHQnIChib2R5KSwgJ2lubGluZScgKGUuZy4sIGltYWdlIGRpc3BsYXllZCBpbiBIVE1MKSwgb3IgJ2F0dGFjaG1lbnQnLiAqL1xuICAgIHR5cGU6IFwidGV4dFwiIHwgXCJpbmxpbmVcIiB8IFwiYXR0YWNobWVudFwiO1xuICAgIC8qKiBUaGUgTUlNRSBjb250ZW50IHR5cGUgb2YgdGhlIHBhcnQgKGUuZy4sICd0ZXh0L3BsYWluJywgJ3RleHQvaHRtbCcsICdpbWFnZS9wbmcnKS4gKi9cbiAgICBjb250ZW50VHlwZTogc3RyaW5nO1xuICAgIC8qKiBUaGUgdGV4dCBjb250ZW50IGZvciAndGV4dCcgcGFydHMuICovXG4gICAgdGV4dD86IHN0cmluZztcbiAgICAvKiogUmVxdWlyZWQgZm9yICdpbmxpbmUnIHBhcnRzOyB1c2VkIGluIHRoZSBIVE1MIGJvZHkgdG8gcmVmZXJlbmNlIHRoZSBjb250ZW50IChlLmcuLCBgPGltZyBzcmM9XCJjaWQ6Li4uXCI+YCkuICovXG4gICAgY29udGVudElkPzogc3RyaW5nO1xuICAgIC8qKiBUaGUgbmFtZSBvZiB0aGUgZmlsZSBmb3IgJ2F0dGFjaG1lbnQnIGFuZCAnaW5saW5lJyBwYXJ0cy4gKi9cbiAgICBmaWxlTmFtZT86IHN0cmluZztcbiAgICAvKiogVGhlIGJhc2U2NC1lbmNvZGVkIGRhdGEgY29udGVudCBmb3IgJ2F0dGFjaG1lbnQnIGFuZCAnaW5saW5lJyBwYXJ0cy4gKi9cbiAgICBkYXRhPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIERlZmluZXMgdGhlIGNvbnRlbnQgdHlwZSBmb3Igc2ltcGxlIGVtYWlscyBzZW50IHZpYSB7QGxpbmsgTWFpbENsaWVudC5zZW5kfS5cbiAqL1xudHlwZSBNYWlsQ29udGVudFR5cGUgPSBcImh0bWxcIiB8IFwicGxhaW5cIjtcblxuLyoqXG4gKiBUaGUgTWFpbENsaWVudCBwcm92aWRlcyBtZXRob2RzIGZvciBzZW5kaW5nIGVtYWlscywgaGFuZGxpbmcgcmVjaXBpZW50IHByb2Nlc3NpbmdcbiAqIGFuZCBpbnRlcmZhY2luZyB3aXRoIHRoZSB1bmRlcmx5aW5nIE1haWxGYWNhZGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBNYWlsQ2xpZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xuXG4gICAgLyoqXG4gICAgICogQSBzdGF0aWMgY29udmVuaWVuY2UgbWV0aG9kIHRvIHNlbmQgYSBtdWx0aXBhcnQgZW1haWwgd2l0aG91dCBpbnN0YW50aWF0aW5nIGEgY2xpZW50LlxuICAgICAqIFRoaXMgaXMgc3VpdGFibGUgZm9yIGVtYWlscyB0aGF0IHJlcXVpcmUgYXR0YWNobWVudHMsIGlubGluZSBpbWFnZXMsIG9yIG1peGVkIGNvbnRlbnQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZnJvbSBUaGUgc2VuZGVyJ3MgZW1haWwgYWRkcmVzcy5cbiAgICAgKiBAcGFyYW0gcmVjaXBpZW50cyBUaGUgcmVjaXBpZW50KHMpIHN0cnVjdHVyZSAoc3RyaW5nIGZvciAndG8nLCBvciB7QGxpbmsgTWFpbFJlY2lwaWVudHN9IG9iamVjdCkuXG4gICAgICogQHBhcmFtIHN1YmplY3QgVGhlIHN1YmplY3QgbGluZSBvZiB0aGUgZW1haWwuXG4gICAgICogQHBhcmFtIHBhcnRzIEFuIGFycmF5IG9mIHtAbGluayBNYWlsTXVsdGlwYXJ0fSBvYmplY3RzIGRlZmluaW5nIHRoZSBlbWFpbCBjb250ZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgc2VuZE11bHRpcGFydChmcm9tOiBzdHJpbmcsIHJlY2lwaWVudHM6IHN0cmluZyB8IE1haWxSZWNpcGllbnRzLCBzdWJqZWN0OiBzdHJpbmcsIHBhcnRzOiBNYWlsTXVsdGlwYXJ0W10pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbWFpbENsaWVudCA9IG5ldyBNYWlsQ2xpZW50KCk7XG4gICAgICAgIG1haWxDbGllbnQuc2VuZE11bHRpcGFydChmcm9tLCByZWNpcGllbnRzLCBzdWJqZWN0LCBwYXJ0cyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBzdGF0aWMgY29udmVuaWVuY2UgbWV0aG9kIHRvIHNlbmQgYSBzaW1wbGUgZW1haWwgd2l0aCBvbmx5IGEgc2luZ2xlIHRleHQgb3IgSFRNTCBib2R5LlxuICAgICAqXG4gICAgICogQHBhcmFtIGZyb20gVGhlIHNlbmRlcidzIGVtYWlsIGFkZHJlc3MuXG4gICAgICogQHBhcmFtIHJlY2lwaWVudHMgVGhlIHJlY2lwaWVudChzKSBzdHJ1Y3R1cmUgKHN0cmluZyBmb3IgJ3RvJywgb3Ige0BsaW5rIE1haWxSZWNpcGllbnRzfSBvYmplY3QpLlxuICAgICAqIEBwYXJhbSBzdWJqZWN0IFRoZSBzdWJqZWN0IGxpbmUgb2YgdGhlIGVtYWlsLlxuICAgICAqIEBwYXJhbSB0ZXh0IFRoZSBib2R5IGNvbnRlbnQgb2YgdGhlIGVtYWlsLlxuICAgICAqIEBwYXJhbSBjb250ZW50VHlwZSBTcGVjaWZpZXMgdGhlIGJvZHkgZm9ybWF0OiAnaHRtbCcgb3IgJ3BsYWluJy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHNlbmQoZnJvbTogc3RyaW5nLCByZWNpcGllbnRzOiBzdHJpbmcgfCBNYWlsUmVjaXBpZW50cywgc3ViamVjdDogc3RyaW5nLCB0ZXh0OiBzdHJpbmcsIGNvbnRlbnRUeXBlOiBNYWlsQ29udGVudFR5cGUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbWFpbENsaWVudCA9IG5ldyBNYWlsQ2xpZW50KCk7XG4gICAgICAgIG1haWxDbGllbnQuc2VuZChmcm9tLCByZWNpcGllbnRzLCBzdWJqZWN0LCB0ZXh0LCBjb250ZW50VHlwZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgTWFpbENsaWVudCwgb3B0aW9uYWxseSBjb25maWd1cmluZyB0aGUgdW5kZXJseWluZ1xuICAgICAqIG5hdGl2ZSBtYWlsIGZhY2FkZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbmFsIGtleS12YWx1ZSBvYmplY3QgY29udGFpbmluZyBjb25maWd1cmF0aW9uIHByb3BlcnRpZXMgZm9yIHRoZSBtYWlsIGNsaWVudCAoZS5nLiwgU01UUCBzZXR0aW5ncykuXG4gICAgICovXG4gICAgY29uc3RydWN0b3Iob3B0aW9ucz86IG9iamVjdCkge1xuICAgICAgICB0aGlzLm5hdGl2ZSA9IG9wdGlvbnMgPyBNYWlsRmFjYWRlLmdldEluc3RhbmNlKHRvSmF2YVByb3BlcnRpZXMob3B0aW9ucykpIDogTWFpbEZhY2FkZS5nZXRJbnN0YW5jZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlbmRzIGEgc2ltcGxlIGVtYWlsIHdpdGggYSBzaW5nbGUgYm9keSBwYXJ0ICh0ZXh0IG9yIEhUTUwpLlxuICAgICAqXG4gICAgICogQHBhcmFtIGZyb20gVGhlIHNlbmRlcidzIGVtYWlsIGFkZHJlc3MuXG4gICAgICogQHBhcmFtIF9yZWNpcGllbnRzIFRoZSByZWNpcGllbnQocykgc3RydWN0dXJlIChzdHJpbmcgZm9yICd0bycsIG9yIHtAbGluayBNYWlsUmVjaXBpZW50c30gb2JqZWN0KS5cbiAgICAgKiBAcGFyYW0gc3ViamVjdCBUaGUgc3ViamVjdCBsaW5lIG9mIHRoZSBlbWFpbC5cbiAgICAgKiBAcGFyYW0gdGV4dCBUaGUgYm9keSBjb250ZW50IG9mIHRoZSBlbWFpbC5cbiAgICAgKiBAcGFyYW0gY29udGVudFR5cGUgU3BlY2lmaWVzIHRoZSBib2R5IGZvcm1hdDogJ2h0bWwnIG9yICdwbGFpbicuXG4gICAgICogQHRocm93cyB7RXJyb3J9IFRocm93cyBhbiBlcnJvciBpZiB0aGUgcmVjaXBpZW50IGZvcm1hdCBpcyBpbnZhbGlkIG9yIHRoZSBuYXRpdmUgY2FsbCBmYWlscy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2VuZChmcm9tOiBzdHJpbmcsIF9yZWNpcGllbnRzOiBzdHJpbmcgfCBNYWlsUmVjaXBpZW50cywgc3ViamVjdDogc3RyaW5nLCB0ZXh0OiBzdHJpbmcsIGNvbnRlbnRUeXBlOiBNYWlsQ29udGVudFR5cGUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVjaXBpZW50cyA9IHByb2Nlc3NSZWNpcGllbnRzKF9yZWNpcGllbnRzKTtcblxuICAgICAgICBjb25zdCBwYXJ0ID0ge1xuICAgICAgICAgICAgY29udGVudFR5cGU6IGNvbnRlbnRUeXBlID09PSBcImh0bWxcIiA/IFwidGV4dC9odG1sXCIgOiBcInRleHQvcGxhaW5cIixcbiAgICAgICAgICAgIHRleHQ6IHRleHQsXG4gICAgICAgICAgICB0eXBlOiAndGV4dCdcbiAgICAgICAgfTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmUuc2VuZChmcm9tLCByZWNpcGllbnRzLnRvLCByZWNpcGllbnRzLmNjLCByZWNpcGllbnRzLmJjYywgc3ViamVjdCwgW3BhcnRdKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IgYXMgc3RyaW5nKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlbmRzIGEgY29tcGxleCBlbWFpbCBjb21wb3NlZCBvZiBtdWx0aXBsZSBwYXJ0cyAodGV4dCBib2RpZXMsIEhUTUwsIGF0dGFjaG1lbnRzLCBpbmxpbmUgY29udGVudCkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZnJvbSBUaGUgc2VuZGVyJ3MgZW1haWwgYWRkcmVzcy5cbiAgICAgKiBAcGFyYW0gX3JlY2lwaWVudHMgVGhlIHJlY2lwaWVudChzKSBzdHJ1Y3R1cmUgKHN0cmluZyBmb3IgJ3RvJywgb3Ige0BsaW5rIE1haWxSZWNpcGllbnRzfSBvYmplY3QpLlxuICAgICAqIEBwYXJhbSBzdWJqZWN0IFRoZSBzdWJqZWN0IGxpbmUgb2YgdGhlIGVtYWlsLlxuICAgICAqIEBwYXJhbSBwYXJ0cyBBbiBhcnJheSBvZiB7QGxpbmsgTWFpbE11bHRpcGFydH0gb2JqZWN0cyBkZWZpbmluZyB0aGUgZW1haWwgY29udGVudC5cbiAgICAgKiBAdGhyb3dzIHtFcnJvcn0gVGhyb3dzIGFuIGVycm9yIGlmIHRoZSByZWNpcGllbnQgZm9ybWF0IGlzIGludmFsaWQgb3IgdGhlIG5hdGl2ZSBjYWxsIGZhaWxzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzZW5kTXVsdGlwYXJ0KGZyb206IHN0cmluZywgX3JlY2lwaWVudHM6IHN0cmluZyB8IE1haWxSZWNpcGllbnRzLCBzdWJqZWN0OiBzdHJpbmcsIHBhcnRzOiBNYWlsTXVsdGlwYXJ0W10pOiB2b2lkIHtcbiAgICAgICAgbGV0IHJlY2lwaWVudHMgPSBwcm9jZXNzUmVjaXBpZW50cyhfcmVjaXBpZW50cyk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBOb3RlOiBUaGUgbmF0aXZlIGZhY2FkZSBleHBlY3RzIGJhc2U2NCBkYXRhIHRvIGJlIEpTT04tc3RyaW5naWZpZWQgaWYgcHJlc2VudC5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5zZW5kKGZyb20sIHJlY2lwaWVudHMudG8sIHJlY2lwaWVudHMuY2MsIHJlY2lwaWVudHMuYmNjLCBzdWJqZWN0LCBzdHJpbmdpZnlQYXJ0RGF0YShwYXJ0cykpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvciBhcyBzdHJpbmcpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIFByZXBhcmVzIHRoZSBtdWx0aXBhcnQgYXJyYXkgZm9yIHRoZSBuYXRpdmUgZmFjYWRlIGNhbGwgYnkgSlNPTi1zdHJpbmdpZnlpbmdcbiAqIHRoZSAnZGF0YScgZmllbGQgb2YgYW55IHBhcnQgdGhhdCBoYXMgaXQgKHJlcXVpcmVkIGZvciBiYXNlNjQgZGF0YSB0cmFuc3BvcnQpLlxuICpcbiAqIEBwYXJhbSBwYXJ0cyBUaGUgYXJyYXkgb2YgTWFpbE11bHRpcGFydCBvYmplY3RzLlxuICogQHJldHVybnMgVGhlIG1vZGlmaWVkIHBhcnRzIGFycmF5IHJlYWR5IGZvciB0aGUgbmF0aXZlIGNhbGwuXG4gKi9cbmZ1bmN0aW9uIHN0cmluZ2lmeVBhcnREYXRhKHBhcnRzOiBNYWlsTXVsdGlwYXJ0W10pOiBNYWlsTXVsdGlwYXJ0W10ge1xuICAgIHBhcnRzLmZvckVhY2goZnVuY3Rpb24gKHBhcnQ6IGFueSkge1xuICAgICAgICBpZiAocGFydC5kYXRhKSB7XG4gICAgICAgICAgICBwYXJ0LmRhdGEgPSBKU09OLnN0cmluZ2lmeShwYXJ0LmRhdGEpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwYXJ0O1xuICAgIH0pXG4gICAgcmV0dXJuIHBhcnRzO1xufVxuXG4vKipcbiAqIFByb2Nlc3NlcyB0aGUgcmVjaXBpZW50cyBpbnB1dCAoZWl0aGVyIGEgc2luZ2xlIHN0cmluZyBvciBhIHtAbGluayBNYWlsUmVjaXBpZW50c30gb2JqZWN0KVxuICogaW50byBzZXBhcmF0ZSAndG8nLCAnY2MnLCBhbmQgJ2JjYycgYXJyYXlzIG9mIHN0cmluZ3MuXG4gKlxuICogQHBhcmFtIHJlY2lwaWVudHMgVGhlIHJhdyByZWNpcGllbnQgZGF0YS5cbiAqIEByZXR1cm5zIEFuIG9iamVjdCBjb250YWluaW5nIGB0b2AsIGBjY2AsIGFuZCBgYmNjYCBhcnJheXMuXG4gKiBAdGhyb3dzIHtFcnJvcn0gVGhyb3dzIGFuIGVycm9yIGlmIHRoZSBpbnB1dCBmb3JtYXQgaXMgaW52YWxpZC5cbiAqL1xuZnVuY3Rpb24gcHJvY2Vzc1JlY2lwaWVudHMocmVjaXBpZW50czogc3RyaW5nIHwgTWFpbFJlY2lwaWVudHMpIHtcbiAgICBsZXQgdG8gPSBbXTtcbiAgICBsZXQgY2MgPSBbXTtcbiAgICBsZXQgYmNjID0gW107XG4gICAgaWYgKHR5cGVvZiByZWNpcGllbnRzID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHRvLnB1c2gocmVjaXBpZW50cyk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgcmVjaXBpZW50cyA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICB0byA9IHBhcnNlUmVjaXBpZW50cyhyZWNpcGllbnRzLCBcInRvXCIpO1xuICAgICAgICBjYyA9IHBhcnNlUmVjaXBpZW50cyhyZWNpcGllbnRzLCBcImNjXCIpO1xuICAgICAgICBiY2MgPSBwYXJzZVJlY2lwaWVudHMocmVjaXBpZW50cywgXCJiY2NcIik7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gXCJJbnZhbGlkICdyZWNpcGllbnRzJyBmb3JtYXQ6IFwiICsgSlNPTi5zdHJpbmdpZnkocmVjaXBpZW50cyk7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3JNZXNzYWdlKTtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yTWVzc2FnZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgdG86IHRvLCBjYzogY2MsIGJjYzogYmNjIH07XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBKYXZhU2NyaXB0IG9iamVjdCBvZiBwcm9wZXJ0aWVzIGludG8gYSBKYXZhIFByb3BlcnRpZXMgb2JqZWN0LlxuICpcbiAqIEBwYXJhbSBwcm9wZXJ0aWVzIFRoZSBKYXZhU2NyaXB0IG9iamVjdCBjb250YWluaW5nIGtleS12YWx1ZSBjb25maWd1cmF0aW9uIHBhaXJzLlxuICogQHJldHVybnMgQSBKYXZhIFByb3BlcnRpZXMgaW5zdGFuY2UuXG4gKi9cbmZ1bmN0aW9uIHRvSmF2YVByb3BlcnRpZXMocHJvcGVydGllczogYW55KSB7XG4gICAgY29uc3QgamF2YVByb3BlcnRpZXMgPSBuZXcgUHJvcGVydGllcygpO1xuICAgIE9iamVjdC5rZXlzKHByb3BlcnRpZXMpLmZvckVhY2goZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgamF2YVByb3BlcnRpZXMucHV0KGUsIHByb3BlcnRpZXNbZV0pO1xuICAgIH0pO1xuICAgIHJldHVybiBqYXZhUHJvcGVydGllcztcbn1cblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gc2FmZWx5IGV4dHJhY3QgYW5kIHZhbGlkYXRlIHJlY2lwaWVudHMgZnJvbSBhIHNwZWNpZmljIGZpZWxkICgndG8nLCAnY2MnLCAnYmNjJykuXG4gKlxuICogQHBhcmFtIHJlY2lwaWVudHMgVGhlIE1haWxSZWNpcGllbnRzIG9iamVjdC5cbiAqIEBwYXJhbSB0eXBlIFRoZSBmaWVsZCBuYW1lIHRvIHBhcnNlICgndG8nLCAnY2MnLCBvciAnYmNjJykuXG4gKiBAcmV0dXJucyBBbiBhcnJheSBvZiByZWNpcGllbnQgZW1haWwgc3RyaW5ncy5cbiAqIEB0aHJvd3Mge0Vycm9yfSBUaHJvd3MgYW4gZXJyb3IgaWYgdGhlIGZpZWxkIHZhbHVlIGlzIG5vdCBhIHN0cmluZywgYXJyYXksIG9yIHVuZGVmaW5lZC5cbiAqL1xuZnVuY3Rpb24gcGFyc2VSZWNpcGllbnRzKHJlY2lwaWVudHM6IE1haWxSZWNpcGllbnRzLCB0eXBlOiBrZXlvZiBNYWlsUmVjaXBpZW50cyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBvYmplY3RUeXBlID0gdHlwZW9mIHJlY2lwaWVudHNbdHlwZV07XG4gICAgaWYgKG9iamVjdFR5cGUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmV0dXJuIFtyZWNpcGllbnRzW3R5cGVdIGFzIHN0cmluZ107XG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHJlY2lwaWVudHNbdHlwZV0pKSB7XG4gICAgICAgIHJldHVybiByZWNpcGllbnRzW3R5cGVdIGFzIHN0cmluZ1tdO1xuICAgIH0gZWxzZSBpZiAob2JqZWN0VHlwZSA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGBJbnZhbGlkICdyZWNpcGllbnRzLiR7dHlwZX0nIGZvcm1hdDogWyR7cmVjaXBpZW50c1t0eXBlXX18JHtvYmplY3RUeXBlfV1gO1xuICAgIGNvbnNvbGUuZXJyb3IoZXJyb3JNZXNzYWdlKTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3JNZXNzYWdlKTtcbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBNYWlsQ2xpZW50O1xufSJdLAogICJtYXBwaW5ncyI6ICJBQUlBLE1BQU0sYUFBYSxLQUFLLEtBQUssc0JBQXNCO0FBQ25ELE1BQU0sYUFBYSxLQUFLLEtBQUssc0RBQXNEO0FBMkM1RSxNQUFNLFdBQVc7QUFBQSxFQUNIO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFXakIsT0FBYyxjQUFjLE1BQWMsWUFBcUMsU0FBaUIsT0FBOEI7QUFDMUgsVUFBTSxhQUFhLElBQUksV0FBVztBQUNsQyxlQUFXLGNBQWMsTUFBTSxZQUFZLFNBQVMsS0FBSztBQUFBLEVBQzdEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFXQSxPQUFjLEtBQUssTUFBYyxZQUFxQyxTQUFpQixNQUFjLGFBQW9DO0FBQ3JJLFVBQU0sYUFBYSxJQUFJLFdBQVc7QUFDbEMsZUFBVyxLQUFLLE1BQU0sWUFBWSxTQUFTLE1BQU0sV0FBVztBQUFBLEVBQ2hFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxZQUFZLFNBQWtCO0FBQzFCLFNBQUssU0FBUyxVQUFVLFdBQVcsWUFBWSxpQkFBaUIsT0FBTyxDQUFDLElBQUksV0FBVyxZQUFZO0FBQUEsRUFDdkc7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBWU8sS0FBSyxNQUFjLGFBQXNDLFNBQWlCLE1BQWMsYUFBb0M7QUFDL0gs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
135
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL21haWwvY2xpZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgbWFpbC9jbGllbnRcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9tYWlsXG4gKiBAbmFtZSBNYWlsQ2xpZW50XG4gKiBAb3ZlcnZpZXdcbiAqIFxuICogVGhlIE1haWxDbGllbnQgcHJvdmlkZXMgYSBjbGllbnQgZm9yIHNlbmRpbmcgZW1haWxzLCBzdXBwb3J0aW5nIGJvdGggc2ltcGxlIHRleHQvSFRNTCBtZXNzYWdlcyBhbmQgY29tcGxleCBtdWx0aXBhcnQgbWVzc2FnZXMgd2l0aCBhdHRhY2htZW50cyBvciBpbmxpbmUgY29udGVudC4gSXQgYWJzdHJhY3RzIHRoZSB1bmRlcmx5aW5nIEphdmEgTWFpbEZhY2FkZSwgYWxsb3dpbmcgZGV2ZWxvcGVycyB0byBzZW5kIGVtYWlscyB1c2luZyBhIHN0cmFpZ2h0Zm9yd2FyZCBBUEkgd2hpbGUgaGFuZGxpbmcgcmVjaXBpZW50IHByb2Nlc3NpbmcgYW5kIGNvbnRlbnQgZm9ybWF0dGluZyBpbnRlcm5hbGx5LlxuICogXG4gKiAjIyMgS2V5IEZlYXR1cmVzOlxuICogLSAqKlNpbXBsZSBFbWFpbCBTZW5kaW5nKio6IFRoZSBgc2VuZGAgbWV0aG9kIGFsbG93cyBzZW5kaW5nIGJhc2ljIGVtYWlscyB3aXRoIGEgc2luZ2xlIHRleHQgb3IgSFRNTCBib2R5LlxuICogLSAqKk11bHRpcGFydCBFbWFpbCBTdXBwb3J0Kio6IFRoZSBgc2VuZE11bHRpcGFydGAgbWV0aG9kIGVuYWJsZXMgc2VuZGluZyBjb21wbGV4IGVtYWlscyBjb21wb3NlZCBvZiBtdWx0aXBsZSBwYXJ0cywgaW5jbHVkaW5nIGF0dGFjaG1lbnRzIGFuZCBpbmxpbmUgY29udGVudC5cbiAqIC0gKipSZWNpcGllbnQgSGFuZGxpbmcqKjogU3VwcG9ydHMgZmxleGlibGUgcmVjaXBpZW50IHNwZWNpZmljYXRpb25zLCBhbGxvd2luZyBmb3IgJ3RvJywgJ2NjJywgYW5kICdiY2MnIGZpZWxkcyB0byBiZSBwcm92aWRlZCBhcyBlaXRoZXIgc3RyaW5ncyBvciBhcnJheXMuXG4gKiAtICoqQ29uZmlndXJhdGlvbiBPcHRpb25zKio6IFRoZSBjb25zdHJ1Y3RvciBhY2NlcHRzIGFuIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGZvciBjdXN0b21pemluZyB0aGUgbWFpbCBjbGllbnQgKGUuZy4sIFNNVFAgc2V0dGluZ3MpLlxuICogXG4gKiAjIyMgVXNlIENhc2VzOlxuICogLSAqKk5vdGlmaWNhdGlvbiBFbWFpbHMqKjogVXNlIHRoZSBNYWlsQ2xpZW50IHRvIHNlbmQgbm90aWZpY2F0aW9ucywgYWxlcnRzLCBvciB1cGRhdGVzIHRvIHVzZXJzIHZpYSBlbWFpbC5cbiAqIC0gKipUcmFuc2FjdGlvbmFsIEVtYWlscyoqOiBTZW5kIHRyYW5zYWN0aW9uYWwgZW1haWxzIHN1Y2ggYXMgb3JkZXIgY29uZmlybWF0aW9ucywgcGFzc3dvcmQgcmVzZXRzLCBvciBhY2NvdW50IGFjdGl2YXRpb25zLlxuICogLSAqKlJpY2ggQ29udGVudCBFbWFpbHMqKjogTGV2ZXJhZ2UgbXVsdGlwYXJ0IGVtYWlsIGNhcGFiaWxpdGllcyB0byBpbmNsdWRlIGF0dGFjaG1lbnRzLCBpbmxpbmUgaW1hZ2VzLCBvciBtaXhlZCBjb250ZW50IGluIGVtYWlscy5cbiAqIFxuICogIyMjIEV4YW1wbGUgVXNhZ2U6XG4gKiBgYGB0c1xuICogaW1wb3J0IHsgTWFpbENsaWVudCB9IGZyb20gXCJAYWVyb2tpdC9zZGsvbWFpbFwiO1xuICogXG4gKiAvLyBTZW5kIGEgc2ltcGxlIEhUTUwgZW1haWxcbiAqIE1haWxDbGllbnQuc2VuZChcInVzZXJAZXhhbXBsZS5jb21cIiwgXCJTdWJqZWN0XCIsIFwiPHA+SGVsbG8sIFdvcmxkITwvcD5cIiwgXCJodG1sXCIpO1xuICogYGBgXG4gKi9cblxuY29uc3QgUHJvcGVydGllcyA9IEphdmEudHlwZShcImphdmEudXRpbC5Qcm9wZXJ0aWVzXCIpO1xuY29uc3QgTWFpbEZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5tYWlsLk1haWxGYWNhZGVcIik7XG5cbi8qKlxuICogRGVmaW5lcyB0aGUgc3RydWN0dXJlIGZvciBzcGVjaWZ5aW5nIGVtYWlsIHJlY2lwaWVudHMuXG4gKiBSZWNpcGllbnRzIGNhbiBiZSBwcm92aWRlZCBhcyBhIHNpbmdsZSBlbWFpbCBzdHJpbmcgb3IgYW4gYXJyYXkgb2Ygc3RyaW5ncy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNYWlsUmVjaXBpZW50cyB7XG4gICAgLyoqIFRoZSBwcmltYXJ5IHJlY2lwaWVudHMgb2YgdGhlIGVtYWlsLiAqL1xuICAgIHRvPzogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgLyoqIENhcmJvbiBDb3B5IHJlY2lwaWVudHMuICovXG4gICAgY2M/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICAvKiogQmxpbmQgQ2FyYm9uIENvcHkgcmVjaXBpZW50cy4gKi9cbiAgICBiY2M/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBEZWZpbmVzIGEgc2luZ2xlIHBhcnQgb2YgYSBtdWx0aXBhcnQgZW1haWwgbWVzc2FnZS5cbiAqIFRoaXMgaXMgdXNlZCBmb3IgYm9kaWVzLCBhdHRhY2htZW50cywgYW5kIGlubGluZSBpbWFnZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWFpbE11bHRpcGFydCB7XG4gICAgLyoqIFRoZSBuYXR1cmUgb2YgdGhlIHBhcnQ6ICd0ZXh0JyAoYm9keSksICdpbmxpbmUnIChlLmcuLCBpbWFnZSBkaXNwbGF5ZWQgaW4gSFRNTCksIG9yICdhdHRhY2htZW50Jy4gKi9cbiAgICB0eXBlOiBcInRleHRcIiB8IFwiaW5saW5lXCIgfCBcImF0dGFjaG1lbnRcIjtcbiAgICAvKiogVGhlIE1JTUUgY29udGVudCB0eXBlIG9mIHRoZSBwYXJ0IChlLmcuLCAndGV4dC9wbGFpbicsICd0ZXh0L2h0bWwnLCAnaW1hZ2UvcG5nJykuICovXG4gICAgY29udGVudFR5cGU6IHN0cmluZztcbiAgICAvKiogVGhlIHRleHQgY29udGVudCBmb3IgJ3RleHQnIHBhcnRzLiAqL1xuICAgIHRleHQ/OiBzdHJpbmc7XG4gICAgLyoqIFJlcXVpcmVkIGZvciAnaW5saW5lJyBwYXJ0czsgdXNlZCBpbiB0aGUgSFRNTCBib2R5IHRvIHJlZmVyZW5jZSB0aGUgY29udGVudCAoZS5nLiwgYDxpbWcgc3JjPVwiY2lkOi4uLlwiPmApLiAqL1xuICAgIGNvbnRlbnRJZD86IHN0cmluZztcbiAgICAvKiogVGhlIG5hbWUgb2YgdGhlIGZpbGUgZm9yICdhdHRhY2htZW50JyBhbmQgJ2lubGluZScgcGFydHMuICovXG4gICAgZmlsZU5hbWU/OiBzdHJpbmc7XG4gICAgLyoqIFRoZSBiYXNlNjQtZW5jb2RlZCBkYXRhIGNvbnRlbnQgZm9yICdhdHRhY2htZW50JyBhbmQgJ2lubGluZScgcGFydHMuICovXG4gICAgZGF0YT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBEZWZpbmVzIHRoZSBjb250ZW50IHR5cGUgZm9yIHNpbXBsZSBlbWFpbHMgc2VudCB2aWEge0BsaW5rIE1haWxDbGllbnQuc2VuZH0uXG4gKi9cbnR5cGUgTWFpbENvbnRlbnRUeXBlID0gXCJodG1sXCIgfCBcInBsYWluXCI7XG5cbi8qKlxuICogVGhlIE1haWxDbGllbnQgcHJvdmlkZXMgbWV0aG9kcyBmb3Igc2VuZGluZyBlbWFpbHMsIGhhbmRsaW5nIHJlY2lwaWVudCBwcm9jZXNzaW5nXG4gKiBhbmQgaW50ZXJmYWNpbmcgd2l0aCB0aGUgdW5kZXJseWluZyBNYWlsRmFjYWRlLlxuICovXG5leHBvcnQgY2xhc3MgTWFpbENsaWVudCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuICAgIC8qKlxuICAgICAqIEEgc3RhdGljIGNvbnZlbmllbmNlIG1ldGhvZCB0byBzZW5kIGEgbXVsdGlwYXJ0IGVtYWlsIHdpdGhvdXQgaW5zdGFudGlhdGluZyBhIGNsaWVudC5cbiAgICAgKiBUaGlzIGlzIHN1aXRhYmxlIGZvciBlbWFpbHMgdGhhdCByZXF1aXJlIGF0dGFjaG1lbnRzLCBpbmxpbmUgaW1hZ2VzLCBvciBtaXhlZCBjb250ZW50LlxuICAgICAqXG4gICAgICogQHBhcmFtIGZyb20gVGhlIHNlbmRlcidzIGVtYWlsIGFkZHJlc3MuXG4gICAgICogQHBhcmFtIHJlY2lwaWVudHMgVGhlIHJlY2lwaWVudChzKSBzdHJ1Y3R1cmUgKHN0cmluZyBmb3IgJ3RvJywgb3Ige0BsaW5rIE1haWxSZWNpcGllbnRzfSBvYmplY3QpLlxuICAgICAqIEBwYXJhbSBzdWJqZWN0IFRoZSBzdWJqZWN0IGxpbmUgb2YgdGhlIGVtYWlsLlxuICAgICAqIEBwYXJhbSBwYXJ0cyBBbiBhcnJheSBvZiB7QGxpbmsgTWFpbE11bHRpcGFydH0gb2JqZWN0cyBkZWZpbmluZyB0aGUgZW1haWwgY29udGVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHNlbmRNdWx0aXBhcnQoZnJvbTogc3RyaW5nLCByZWNpcGllbnRzOiBzdHJpbmcgfCBNYWlsUmVjaXBpZW50cywgc3ViamVjdDogc3RyaW5nLCBwYXJ0czogTWFpbE11bHRpcGFydFtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG1haWxDbGllbnQgPSBuZXcgTWFpbENsaWVudCgpO1xuICAgICAgICBtYWlsQ2xpZW50LnNlbmRNdWx0aXBhcnQoZnJvbSwgcmVjaXBpZW50cywgc3ViamVjdCwgcGFydHMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgc3RhdGljIGNvbnZlbmllbmNlIG1ldGhvZCB0byBzZW5kIGEgc2ltcGxlIGVtYWlsIHdpdGggb25seSBhIHNpbmdsZSB0ZXh0IG9yIEhUTUwgYm9keS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBmcm9tIFRoZSBzZW5kZXIncyBlbWFpbCBhZGRyZXNzLlxuICAgICAqIEBwYXJhbSByZWNpcGllbnRzIFRoZSByZWNpcGllbnQocykgc3RydWN0dXJlIChzdHJpbmcgZm9yICd0bycsIG9yIHtAbGluayBNYWlsUmVjaXBpZW50c30gb2JqZWN0KS5cbiAgICAgKiBAcGFyYW0gc3ViamVjdCBUaGUgc3ViamVjdCBsaW5lIG9mIHRoZSBlbWFpbC5cbiAgICAgKiBAcGFyYW0gdGV4dCBUaGUgYm9keSBjb250ZW50IG9mIHRoZSBlbWFpbC5cbiAgICAgKiBAcGFyYW0gY29udGVudFR5cGUgU3BlY2lmaWVzIHRoZSBib2R5IGZvcm1hdDogJ2h0bWwnIG9yICdwbGFpbicuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBzZW5kKGZyb206IHN0cmluZywgcmVjaXBpZW50czogc3RyaW5nIHwgTWFpbFJlY2lwaWVudHMsIHN1YmplY3Q6IHN0cmluZywgdGV4dDogc3RyaW5nLCBjb250ZW50VHlwZTogTWFpbENvbnRlbnRUeXBlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG1haWxDbGllbnQgPSBuZXcgTWFpbENsaWVudCgpO1xuICAgICAgICBtYWlsQ2xpZW50LnNlbmQoZnJvbSwgcmVjaXBpZW50cywgc3ViamVjdCwgdGV4dCwgY29udGVudFR5cGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIE1haWxDbGllbnQsIG9wdGlvbmFsbHkgY29uZmlndXJpbmcgdGhlIHVuZGVybHlpbmdcbiAgICAgKiBuYXRpdmUgbWFpbCBmYWNhZGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25hbCBrZXktdmFsdWUgb2JqZWN0IGNvbnRhaW5pbmcgY29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIGZvciB0aGUgbWFpbCBjbGllbnQgKGUuZy4sIFNNVFAgc2V0dGluZ3MpLlxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM/OiBvYmplY3QpIHtcbiAgICAgICAgdGhpcy5uYXRpdmUgPSBvcHRpb25zID8gTWFpbEZhY2FkZS5nZXRJbnN0YW5jZSh0b0phdmFQcm9wZXJ0aWVzKG9wdGlvbnMpKSA6IE1haWxGYWNhZGUuZ2V0SW5zdGFuY2UoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZW5kcyBhIHNpbXBsZSBlbWFpbCB3aXRoIGEgc2luZ2xlIGJvZHkgcGFydCAodGV4dCBvciBIVE1MKS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBmcm9tIFRoZSBzZW5kZXIncyBlbWFpbCBhZGRyZXNzLlxuICAgICAqIEBwYXJhbSBfcmVjaXBpZW50cyBUaGUgcmVjaXBpZW50KHMpIHN0cnVjdHVyZSAoc3RyaW5nIGZvciAndG8nLCBvciB7QGxpbmsgTWFpbFJlY2lwaWVudHN9IG9iamVjdCkuXG4gICAgICogQHBhcmFtIHN1YmplY3QgVGhlIHN1YmplY3QgbGluZSBvZiB0aGUgZW1haWwuXG4gICAgICogQHBhcmFtIHRleHQgVGhlIGJvZHkgY29udGVudCBvZiB0aGUgZW1haWwuXG4gICAgICogQHBhcmFtIGNvbnRlbnRUeXBlIFNwZWNpZmllcyB0aGUgYm9keSBmb3JtYXQ6ICdodG1sJyBvciAncGxhaW4nLlxuICAgICAqIEB0aHJvd3Mge0Vycm9yfSBUaHJvd3MgYW4gZXJyb3IgaWYgdGhlIHJlY2lwaWVudCBmb3JtYXQgaXMgaW52YWxpZCBvciB0aGUgbmF0aXZlIGNhbGwgZmFpbHMuXG4gICAgICovXG4gICAgcHVibGljIHNlbmQoZnJvbTogc3RyaW5nLCBfcmVjaXBpZW50czogc3RyaW5nIHwgTWFpbFJlY2lwaWVudHMsIHN1YmplY3Q6IHN0cmluZywgdGV4dDogc3RyaW5nLCBjb250ZW50VHlwZTogTWFpbENvbnRlbnRUeXBlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJlY2lwaWVudHMgPSBwcm9jZXNzUmVjaXBpZW50cyhfcmVjaXBpZW50cyk7XG5cbiAgICAgICAgY29uc3QgcGFydCA9IHtcbiAgICAgICAgICAgIGNvbnRlbnRUeXBlOiBjb250ZW50VHlwZSA9PT0gXCJodG1sXCIgPyBcInRleHQvaHRtbFwiIDogXCJ0ZXh0L3BsYWluXCIsXG4gICAgICAgICAgICB0ZXh0OiB0ZXh0LFxuICAgICAgICAgICAgdHlwZTogJ3RleHQnXG4gICAgICAgIH07XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlLnNlbmQoZnJvbSwgcmVjaXBpZW50cy50bywgcmVjaXBpZW50cy5jYywgcmVjaXBpZW50cy5iY2MsIHN1YmplY3QsIFtwYXJ0XSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yIGFzIHN0cmluZyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZW5kcyBhIGNvbXBsZXggZW1haWwgY29tcG9zZWQgb2YgbXVsdGlwbGUgcGFydHMgKHRleHQgYm9kaWVzLCBIVE1MLCBhdHRhY2htZW50cywgaW5saW5lIGNvbnRlbnQpLlxuICAgICAqXG4gICAgICogQHBhcmFtIGZyb20gVGhlIHNlbmRlcidzIGVtYWlsIGFkZHJlc3MuXG4gICAgICogQHBhcmFtIF9yZWNpcGllbnRzIFRoZSByZWNpcGllbnQocykgc3RydWN0dXJlIChzdHJpbmcgZm9yICd0bycsIG9yIHtAbGluayBNYWlsUmVjaXBpZW50c30gb2JqZWN0KS5cbiAgICAgKiBAcGFyYW0gc3ViamVjdCBUaGUgc3ViamVjdCBsaW5lIG9mIHRoZSBlbWFpbC5cbiAgICAgKiBAcGFyYW0gcGFydHMgQW4gYXJyYXkgb2Yge0BsaW5rIE1haWxNdWx0aXBhcnR9IG9iamVjdHMgZGVmaW5pbmcgdGhlIGVtYWlsIGNvbnRlbnQuXG4gICAgICogQHRocm93cyB7RXJyb3J9IFRocm93cyBhbiBlcnJvciBpZiB0aGUgcmVjaXBpZW50IGZvcm1hdCBpcyBpbnZhbGlkIG9yIHRoZSBuYXRpdmUgY2FsbCBmYWlscy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2VuZE11bHRpcGFydChmcm9tOiBzdHJpbmcsIF9yZWNpcGllbnRzOiBzdHJpbmcgfCBNYWlsUmVjaXBpZW50cywgc3ViamVjdDogc3RyaW5nLCBwYXJ0czogTWFpbE11bHRpcGFydFtdKTogdm9pZCB7XG4gICAgICAgIGxldCByZWNpcGllbnRzID0gcHJvY2Vzc1JlY2lwaWVudHMoX3JlY2lwaWVudHMpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gTm90ZTogVGhlIG5hdGl2ZSBmYWNhZGUgZXhwZWN0cyBiYXNlNjQgZGF0YSB0byBiZSBKU09OLXN0cmluZ2lmaWVkIGlmIHByZXNlbnQuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuc2VuZChmcm9tLCByZWNpcGllbnRzLnRvLCByZWNpcGllbnRzLmNjLCByZWNpcGllbnRzLmJjYywgc3ViamVjdCwgc3RyaW5naWZ5UGFydERhdGEocGFydHMpKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IgYXMgc3RyaW5nKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiBQcmVwYXJlcyB0aGUgbXVsdGlwYXJ0IGFycmF5IGZvciB0aGUgbmF0aXZlIGZhY2FkZSBjYWxsIGJ5IEpTT04tc3RyaW5naWZ5aW5nXG4gKiB0aGUgJ2RhdGEnIGZpZWxkIG9mIGFueSBwYXJ0IHRoYXQgaGFzIGl0IChyZXF1aXJlZCBmb3IgYmFzZTY0IGRhdGEgdHJhbnNwb3J0KS5cbiAqXG4gKiBAcGFyYW0gcGFydHMgVGhlIGFycmF5IG9mIE1haWxNdWx0aXBhcnQgb2JqZWN0cy5cbiAqIEByZXR1cm5zIFRoZSBtb2RpZmllZCBwYXJ0cyBhcnJheSByZWFkeSBmb3IgdGhlIG5hdGl2ZSBjYWxsLlxuICovXG5mdW5jdGlvbiBzdHJpbmdpZnlQYXJ0RGF0YShwYXJ0czogTWFpbE11bHRpcGFydFtdKTogTWFpbE11bHRpcGFydFtdIHtcbiAgICBwYXJ0cy5mb3JFYWNoKGZ1bmN0aW9uIChwYXJ0OiBhbnkpIHtcbiAgICAgICAgaWYgKHBhcnQuZGF0YSkge1xuICAgICAgICAgICAgcGFydC5kYXRhID0gSlNPTi5zdHJpbmdpZnkocGFydC5kYXRhKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcGFydDtcbiAgICB9KVxuICAgIHJldHVybiBwYXJ0cztcbn1cblxuLyoqXG4gKiBQcm9jZXNzZXMgdGhlIHJlY2lwaWVudHMgaW5wdXQgKGVpdGhlciBhIHNpbmdsZSBzdHJpbmcgb3IgYSB7QGxpbmsgTWFpbFJlY2lwaWVudHN9IG9iamVjdClcbiAqIGludG8gc2VwYXJhdGUgJ3RvJywgJ2NjJywgYW5kICdiY2MnIGFycmF5cyBvZiBzdHJpbmdzLlxuICpcbiAqIEBwYXJhbSByZWNpcGllbnRzIFRoZSByYXcgcmVjaXBpZW50IGRhdGEuXG4gKiBAcmV0dXJucyBBbiBvYmplY3QgY29udGFpbmluZyBgdG9gLCBgY2NgLCBhbmQgYGJjY2AgYXJyYXlzLlxuICogQHRocm93cyB7RXJyb3J9IFRocm93cyBhbiBlcnJvciBpZiB0aGUgaW5wdXQgZm9ybWF0IGlzIGludmFsaWQuXG4gKi9cbmZ1bmN0aW9uIHByb2Nlc3NSZWNpcGllbnRzKHJlY2lwaWVudHM6IHN0cmluZyB8IE1haWxSZWNpcGllbnRzKSB7XG4gICAgbGV0IHRvID0gW107XG4gICAgbGV0IGNjID0gW107XG4gICAgbGV0IGJjYyA9IFtdO1xuICAgIGlmICh0eXBlb2YgcmVjaXBpZW50cyA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICB0by5wdXNoKHJlY2lwaWVudHMpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHJlY2lwaWVudHMgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgdG8gPSBwYXJzZVJlY2lwaWVudHMocmVjaXBpZW50cywgXCJ0b1wiKTtcbiAgICAgICAgY2MgPSBwYXJzZVJlY2lwaWVudHMocmVjaXBpZW50cywgXCJjY1wiKTtcbiAgICAgICAgYmNjID0gcGFyc2VSZWNpcGllbnRzKHJlY2lwaWVudHMsIFwiYmNjXCIpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IFwiSW52YWxpZCAncmVjaXBpZW50cycgZm9ybWF0OiBcIiArIEpTT04uc3RyaW5naWZ5KHJlY2lwaWVudHMpO1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yTWVzc2FnZSk7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvck1lc3NhZ2UpO1xuICAgIH1cblxuICAgIHJldHVybiB7IHRvOiB0bywgY2M6IGNjLCBiY2M6IGJjYyB9O1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgSmF2YVNjcmlwdCBvYmplY3Qgb2YgcHJvcGVydGllcyBpbnRvIGEgSmF2YSBQcm9wZXJ0aWVzIG9iamVjdC5cbiAqXG4gKiBAcGFyYW0gcHJvcGVydGllcyBUaGUgSmF2YVNjcmlwdCBvYmplY3QgY29udGFpbmluZyBrZXktdmFsdWUgY29uZmlndXJhdGlvbiBwYWlycy5cbiAqIEByZXR1cm5zIEEgSmF2YSBQcm9wZXJ0aWVzIGluc3RhbmNlLlxuICovXG5mdW5jdGlvbiB0b0phdmFQcm9wZXJ0aWVzKHByb3BlcnRpZXM6IGFueSkge1xuICAgIGNvbnN0IGphdmFQcm9wZXJ0aWVzID0gbmV3IFByb3BlcnRpZXMoKTtcbiAgICBPYmplY3Qua2V5cyhwcm9wZXJ0aWVzKS5mb3JFYWNoKGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGphdmFQcm9wZXJ0aWVzLnB1dChlLCBwcm9wZXJ0aWVzW2VdKTtcbiAgICB9KTtcbiAgICByZXR1cm4gamF2YVByb3BlcnRpZXM7XG59XG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIHRvIHNhZmVseSBleHRyYWN0IGFuZCB2YWxpZGF0ZSByZWNpcGllbnRzIGZyb20gYSBzcGVjaWZpYyBmaWVsZCAoJ3RvJywgJ2NjJywgJ2JjYycpLlxuICpcbiAqIEBwYXJhbSByZWNpcGllbnRzIFRoZSBNYWlsUmVjaXBpZW50cyBvYmplY3QuXG4gKiBAcGFyYW0gdHlwZSBUaGUgZmllbGQgbmFtZSB0byBwYXJzZSAoJ3RvJywgJ2NjJywgb3IgJ2JjYycpLlxuICogQHJldHVybnMgQW4gYXJyYXkgb2YgcmVjaXBpZW50IGVtYWlsIHN0cmluZ3MuXG4gKiBAdGhyb3dzIHtFcnJvcn0gVGhyb3dzIGFuIGVycm9yIGlmIHRoZSBmaWVsZCB2YWx1ZSBpcyBub3QgYSBzdHJpbmcsIGFycmF5LCBvciB1bmRlZmluZWQuXG4gKi9cbmZ1bmN0aW9uIHBhcnNlUmVjaXBpZW50cyhyZWNpcGllbnRzOiBNYWlsUmVjaXBpZW50cywgdHlwZToga2V5b2YgTWFpbFJlY2lwaWVudHMpOiBzdHJpbmdbXSB7XG4gICAgY29uc3Qgb2JqZWN0VHlwZSA9IHR5cGVvZiByZWNpcGllbnRzW3R5cGVdO1xuICAgIGlmIChvYmplY3RUeXBlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJldHVybiBbcmVjaXBpZW50c1t0eXBlXSBhcyBzdHJpbmddO1xuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShyZWNpcGllbnRzW3R5cGVdKSkge1xuICAgICAgICByZXR1cm4gcmVjaXBpZW50c1t0eXBlXSBhcyBzdHJpbmdbXTtcbiAgICB9IGVsc2UgaWYgKG9iamVjdFR5cGUgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBgSW52YWxpZCAncmVjaXBpZW50cy4ke3R5cGV9JyBmb3JtYXQ6IFske3JlY2lwaWVudHNbdHlwZV19fCR7b2JqZWN0VHlwZX1dYDtcbiAgICBjb25zb2xlLmVycm9yKGVycm9yTWVzc2FnZSk7XG4gICAgdGhyb3cgbmV3IEVycm9yKGVycm9yTWVzc2FnZSk7XG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gTWFpbENsaWVudDtcbn0iXSwKICAibWFwcGluZ3MiOiAiQUE0QkEsTUFBTSxhQUFhLEtBQUssS0FBSyxzQkFBc0I7QUFDbkQsTUFBTSxhQUFhLEtBQUssS0FBSyxzREFBc0Q7QUEyQzVFLE1BQU0sV0FBVztBQUFBLEVBQ0g7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVdqQixPQUFjLGNBQWMsTUFBYyxZQUFxQyxTQUFpQixPQUE4QjtBQUMxSCxVQUFNLGFBQWEsSUFBSSxXQUFXO0FBQ2xDLGVBQVcsY0FBYyxNQUFNLFlBQVksU0FBUyxLQUFLO0FBQUEsRUFDN0Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVdBLE9BQWMsS0FBSyxNQUFjLFlBQXFDLFNBQWlCLE1BQWMsYUFBb0M7QUFDckksVUFBTSxhQUFhLElBQUksV0FBVztBQUNsQyxlQUFXLEtBQUssTUFBTSxZQUFZLFNBQVMsTUFBTSxXQUFXO0FBQUEsRUFDaEU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFBLFlBQVksU0FBa0I7QUFDMUIsU0FBSyxTQUFTLFVBQVUsV0FBVyxZQUFZLGlCQUFpQixPQUFPLENBQUMsSUFBSSxXQUFXLFlBQVk7QUFBQSxFQUN2RztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFZTyxLQUFLLE1BQWMsYUFBc0MsU0FBaUIsTUFBYyxhQUFvQztBQUMvSCxVQUFNLGFBQWEsa0JBQWtCLFdBQVc7QUFFaEQsVUFBTSxPQUFPO0FBQUEsTUFDVCxhQUFhLGdCQUFnQixTQUFTLGNBQWM7QUFBQSxNQUNwRDtBQUFBLE1BQ0EsTUFBTTtBQUFBLElBQ1Y7QUFFQSxRQUFJO0FBQ0EsV0FBSyxPQUFPLEtBQUssTUFBTSxXQUFXLElBQUksV0FBVyxJQUFJLFdBQVcsS0FBSyxTQUFTLENBQUMsSUFBSSxDQUFDO0FBQUEsSUFDeEYsU0FBUyxPQUFPO0FBQ1osY0FBUSxNQUFNLE1BQU0sT0FBTztBQUMzQixZQUFNLElBQUksTUFBTSxLQUFlO0FBQUEsSUFDbkM7QUFBQSxFQUNKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFXTyxjQUFjLE1BQWMsYUFBc0MsU0FBaUIsT0FBOEI7QUFDcEgsUUFBSSxhQUFhLGtCQUFrQixXQUFXO0FBQzlDLFFBQUk7QUFFQSxhQUFPLEtBQUssT0FBTyxLQUFLLE1BQU0sV0FBVyxJQUFJLFdBQVcsSUFBSSxXQUFXLEtBQUssU0FBUyxrQkFBa0IsS0FBSyxDQUFDO0FBQUEsSUFDakgsU0FBUyxPQUFPO0FBQ1osY0FBUSxNQUFNLE1BQU0sT0FBTztBQUMzQixZQUFNLElBQUksTUFBTSxLQUFlO0FBQUEsSUFDbkM7QUFBQSxFQUNKO0FBQ0o7QUFTQSxTQUFTLGtCQUFrQixPQUF5QztBQUNoRSxRQUFNLFFBQVEsU0FBVSxNQUFXO0FBQy9CLFFBQUksS0FBSyxNQUFNO0FBQ1gsV0FBSyxPQUFPLEtBQUssVUFBVSxLQUFLLElBQUk7QUFBQSxJQUN4QztBQUNBLFdBQU87QUFBQSxFQUNYLENBQUM7QUFDRCxTQUFPO0FBQ1g7QUFVQSxTQUFTLGtCQUFrQixZQUFxQztBQUM1RCxNQUFJLEtBQUssQ0FBQztBQUNWLE1BQUksS0FBSyxDQUFDO0FBQ1YsTUFBSSxNQUFNLENBQUM7QUFDWCxNQUFJLE9BQU8sZUFBZSxVQUFVO0FBQ2hDLE9BQUcsS0FBSyxVQUFVO0FBQUEsRUFDdEIsV0FBVyxPQUFPLGVBQWUsVUFBVTtBQUN2QyxTQUFLLGdCQUFnQixZQUFZLElBQUk7QUFDckMsU0FBSyxnQkFBZ0IsWUFBWSxJQUFJO0FBQ3JDLFVBQU0sZ0JBQWdCLFlBQVksS0FBSztBQUFBLEVBQzNDLE9BQU87QUFDSCxVQUFNLGVBQWUsa0NBQWtDLEtBQUssVUFBVSxVQUFVO0FBQ2hGLFlBQVEsTUFBTSxZQUFZO0FBQzFCLFVBQU0sSUFBSSxNQUFNLFlBQVk7QUFBQSxFQUNoQztBQUVBLFNBQU8sRUFBRSxJQUFRLElBQVEsSUFBUztBQUN0QztBQVFBLFNBQVMsaUJBQWlCLFlBQWlCO0FBQ3ZDLFFBQU0saUJBQWlCLElBQUksV0FBVztBQUN0QyxTQUFPLEtBQUssVUFBVSxFQUFFLFFBQVEsU0FBVSxHQUFHO0FBQ3pDLG1CQUFlLElBQUksR0FBRyxXQUFXLENBQUMsQ0FBQztBQUFBLEVBQ3ZDLENBQUM7QUFDRCxTQUFPO0FBQ1g7QUFVQSxTQUFTLGdCQUFnQixZQUE0QixNQUFzQztBQUN2RixRQUFNLGFBQWEsT0FBTyxXQUFXLElBQUk7QUFDekMsTUFBSSxlQUFlLFVBQVU7QUFDekIsV0FBTyxDQUFDLFdBQVcsSUFBSSxDQUFXO0FBQUEsRUFDdEMsV0FBVyxNQUFNLFFBQVEsV0FBVyxJQUFJLENBQUMsR0FBRztBQUN4QyxXQUFPLFdBQVcsSUFBSTtBQUFBLEVBQzFCLFdBQVcsZUFBZSxhQUFhO0FBQ25DLFdBQU8sQ0FBQztBQUFBLEVBQ1o7QUFDQSxRQUFNLGVBQWUsdUJBQXVCLElBQUksY0FBYyxXQUFXLElBQUksQ0FBQyxJQUFJLFVBQVU7QUFDNUYsVUFBUSxNQUFNLFlBQVk7QUFDMUIsUUFBTSxJQUFJLE1BQU0sWUFBWTtBQUNoQztBQUdBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFbEMsU0FBTyxVQUFVO0FBQ2xCOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -3,4 +3,4 @@ import { MailClient } from "./client";
3
3
  export {
4
4
  MailClient as client
5
5
  };
6
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL21haWwvaW5kZXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImV4cG9ydCAqIGZyb20gXCIuL2NsaWVudFwiO1xuZXhwb3J0IHsgTWFpbENsaWVudCBhcyBjbGllbnQgfSBmcm9tIFwiLi9jbGllbnRcIjtcbiJdLAogICJtYXBwaW5ncyI6ICJBQUFBLGNBQWM7QUFDZCxTQUF1QixrQkFBYzsiLAogICJuYW1lcyI6IFtdCn0K
6
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL21haWwvaW5kZXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQG1vZHVsZSBtYWlsL2luZGV4XG4gKiBAcGFja2FnZSBAYWVyb2tpdC9zZGsvbWFpbFxuICogQG92ZXJ2aWV3XG4gKiBcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGZ1bmN0aW9uYWxpdGllcyBmb3IgZW1haWwgaGFuZGxpbmcgd2l0aGluIHRoZSBBZXJva2l0IFNESy4gSXQgaW5jbHVkZXMgY2xhc3NlcyBhbmQgbWV0aG9kcyBmb3Igc2VuZGluZyBlbWFpbHMsIG1hbmFnaW5nIGVtYWlsIHRlbXBsYXRlcywgYW5kIGNvbmZpZ3VyaW5nIGVtYWlsIHNldHRpbmdzLlxuICogXG4gKiBUaGUgbWFpbiBjb21wb25lbnRzIG9mIHRoaXMgbW9kdWxlIGFyZTpcbiAqIC0gTWFpbENsaWVudDogUmVwcmVzZW50cyBhIGNsaWVudCBmb3Igc2VuZGluZyBlbWFpbHMgYW5kIHByb3ZpZGVzIG1ldGhvZHMgdG8gY29uZmlndXJlIGVtYWlsIHNldHRpbmdzIGFuZCBzZW5kIGVtYWlsIG1lc3NhZ2VzLlxuICovXG5cbmV4cG9ydCAqIGZyb20gXCIuL2NsaWVudFwiO1xuZXhwb3J0IHsgTWFpbENsaWVudCBhcyBjbGllbnQgfSBmcm9tIFwiLi9jbGllbnRcIjtcbiJdLAogICJtYXBwaW5ncyI6ICJBQVdBLGNBQWM7QUFDZCxTQUF1QixrQkFBYzsiLAogICJuYW1lcyI6IFtdCn0K
@@ -63,4 +63,4 @@ if (typeof module !== "undefined") {
63
63
  export {
64
64
  Consumer
65
65
  };
66
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL21lc3NhZ2luZy9jb25zdW1lci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBQcm92aWRlcyBhbiBBUEkgZm9yIGNvbnN1bWluZyBtZXNzYWdlcyBmcm9tIEpNUy1zdHlsZSBkZXN0aW5hdGlvbnMsXG4gKiBzdXBwb3J0aW5nIGJvdGggUXVldWVzIChwb2ludC10by1wb2ludCkgYW5kIFRvcGljcyAocHVibGlzaC9zdWJzY3JpYmUpLlxuICovXG5cbmNvbnN0IE1lc3NhZ2luZ0ZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5tZXNzYWdpbmcuTWVzc2FnaW5nRmFjYWRlXCIpO1xuXG4vKipcbiAqIFRoZSBlbnRyeSBwb2ludCBmb3IgY3JlYXRpbmcgbWVzc2FnaW5nIGNvbnN1bWVycy5cbiAqIFVzZSB0aGlzIGNsYXNzIHRvIG9idGFpbiBpbnN0YW5jZXMgb2YgUXVldWUgb3IgVG9waWMgY29uc3VtZXJzLlxuICovXG5leHBvcnQgY2xhc3MgQ29uc3VtZXIge1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIFF1ZXVlIGNvbnN1bWVyIGluc3RhbmNlIGZvciBwb2ludC10by1wb2ludCBtZXNzYWdpbmcuXG4gICAgICogTWVzc2FnZXMgc2VudCB0byB0aGlzIGRlc3RpbmF0aW9uIGFyZSBjb25zdW1lZCBieSBvbmx5IG9uZSByZWNlaXZlci5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkZXN0aW5hdGlvbiBUaGUgbmFtZSBvZiB0aGUgcXVldWUgZGVzdGluYXRpb24gKGUuZy4sICdvcmRlcnMucXVldWUnKS5cbiAgICAgKiBAcmV0dXJucyBBIHtAbGluayBRdWV1ZX0gaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBxdWV1ZShkZXN0aW5hdGlvbjogc3RyaW5nKTogUXVldWUge1xuICAgICAgICByZXR1cm4gbmV3IFF1ZXVlKGRlc3RpbmF0aW9uKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgVG9waWMgY29uc3VtZXIgaW5zdGFuY2UgZm9yIHB1Ymxpc2gvc3Vic2NyaWJlIG1lc3NhZ2luZy5cbiAgICAgKiBNZXNzYWdlcyBzZW50IHRvIHRoaXMgZGVzdGluYXRpb24gY2FuIGJlIGNvbnN1bWVkIGJ5IG11bHRpcGxlIHN1YnNjcmliZXJzLlxuICAgICAqXG4gICAgICogQHBhcmFtIGRlc3RpbmF0aW9uIFRoZSBuYW1lIG9mIHRoZSB0b3BpYyBkZXN0aW5hdGlvbiAoZS5nLiwgJ21hcmtldC51cGRhdGVzLnRvcGljJykuXG4gICAgICogQHJldHVybnMgQSB7QGxpbmsgVG9waWN9IGluc3RhbmNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgdG9waWMoZGVzdGluYXRpb246IHN0cmluZyk6IFRvcGljIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUb3BpYyhkZXN0aW5hdGlvbik7XG4gICAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjb25zdW1lciBmb3IgYSBRdWV1ZSBkZXN0aW5hdGlvbiAocG9pbnQtdG8tcG9pbnQpLlxuICovXG5jbGFzcyBRdWV1ZSB7XG5cbiAgICBwcml2YXRlIGRlc3RpbmF0aW9uOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZGVzdGluYXRpb24gVGhlIG5hbWUgb2YgdGhlIHF1ZXVlIGRlc3RpbmF0aW9uLlxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKGRlc3RpbmF0aW9uOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbiA9IGRlc3RpbmF0aW9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEF0dGVtcHRzIHRvIHN5bmNocm9ub3VzbHkgcmVjZWl2ZSBhIG1lc3NhZ2UgZnJvbSB0aGUgcXVldWUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdGltZW91dCBUaGUgbWF4aW11bSB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRvIHdhaXQgZm9yIGEgbWVzc2FnZS4gRGVmYXVsdHMgdG8gMTAwMG1zLlxuICAgICAqIEByZXR1cm5zIFRoZSByZWNlaXZlZCBtZXNzYWdlIGNvbnRlbnQgKHVzdWFsbHkgYSBzdHJpbmcgb3Igb2JqZWN0KSwgb3IgbnVsbCBpZiB0aGUgdGltZW91dCBpcyByZWFjaGVkLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWNlaXZlKHRpbWVvdXQ6IG51bWJlciA9IDEwMDApIHtcbiAgICAgICAgcmV0dXJuIE1lc3NhZ2luZ0ZhY2FkZS5yZWNlaXZlRnJvbVF1ZXVlKHRoaXMuZGVzdGluYXRpb24sIHRpbWVvdXQpO1xuICAgIH07XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGNvbnN1bWVyIGZvciBhIFRvcGljIGRlc3RpbmF0aW9uIChwdWJsaXNoL3N1YnNjcmliZSkuXG4gKi9cbmNsYXNzIFRvcGljIHtcblxuICAgIHByaXZhdGUgZGVzdGluYXRpb246IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkZXN0aW5hdGlvbiBUaGUgbmFtZSBvZiB0aGUgdG9waWMgZGVzdGluYXRpb24uXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoZGVzdGluYXRpb246IHN0cmluZykge1xuICAgICAgICB0aGlzLmRlc3RpbmF0aW9uID0gZGVzdGluYXRpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXR0ZW1wdHMgdG8gc3luY2hyb25vdXNseSByZWNlaXZlIGEgbWVzc2FnZSBmcm9tIHRoZSB0b3BpYy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0aW1lb3V0IFRoZSBtYXhpbXVtIHRpbWUgKGluIG1pbGxpc2Vjb25kcykgdG8gd2FpdCBmb3IgYSBtZXNzYWdlLiBEZWZhdWx0cyB0byAxMDAwbXMuXG4gICAgICogQHJldHVybnMgVGhlIHJlY2VpdmVkIG1lc3NhZ2UgY29udGVudCAodXN1YWxseSBhIHN0cmluZyBvciBvYmplY3QpLCBvciBudWxsIGlmIHRoZSB0aW1lb3V0IGlzIHJlYWNoZWQuXG4gICAgICovXG4gICAgcHVibGljIHJlY2VpdmUodGltZW91dDogbnVtYmVyID0gMTAwMCkge1xuICAgICAgICByZXR1cm4gTWVzc2FnaW5nRmFjYWRlLnJlY2VpdmVGcm9tVG9waWModGhpcy5kZXN0aW5hdGlvbiwgdGltZW91dCk7XG4gICAgfVxufVxuXG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBtb2R1bGUuZXhwb3J0cyA9IENvbnN1bWVyO1xufSJdLAogICJtYXBwaW5ncyI6ICJBQUtBLE1BQU0sa0JBQWtCLEtBQUssS0FBSyxnRUFBZ0U7QUFNM0YsTUFBTSxTQUFTO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNsQixPQUFjLE1BQU0sYUFBNEI7QUFDNUMsV0FBTyxJQUFJLE1BQU0sV0FBVztBQUFBLEVBQ2hDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNBLE9BQWMsTUFBTSxhQUE0QjtBQUM1QyxXQUFPLElBQUksTUFBTSxXQUFXO0FBQUEsRUFDaEM7QUFDSjtBQUtBLE1BQU0sTUFBTTtBQUFBLEVBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtSLFlBQVksYUFBcUI7QUFDN0IsU0FBSyxjQUFjO0FBQUEsRUFDdkI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFPLFFBQVEsVUFBa0IsS0FBTTtBQUNuQyxXQUFPLGdCQUFnQixpQkFBaUIsS0FBSyxhQUFhLE9BQU87QUFBQSxFQUNyRTtBQUNKO0FBS0EsTUFBTSxNQUFNO0FBQUEsRUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS1IsWUFBWSxhQUFxQjtBQUM3QixTQUFLLGNBQWM7QUFBQSxFQUN2QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sUUFBUSxVQUFrQixLQUFNO0FBQ25DLFdBQU8sZ0JBQWdCLGlCQUFpQixLQUFLLGFBQWEsT0FBTztBQUFBLEVBQ3JFO0FBQ0o7QUFJQSxJQUFJLE9BQU8sV0FBVyxhQUFhO0FBRS9CLFNBQU8sVUFBVTtBQUNyQjsiLAogICJuYW1lcyI6IFtdCn0K
66
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL21lc3NhZ2luZy9jb25zdW1lci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAbW9kdWxlIG1lc3NhZ2luZy9jb25zdW1lclxuICogQHBhY2thZ2UgQGFlcm9raXQvc2RrL21lc3NhZ2luZ1xuICogQG5hbWUgQ29uc3VtZXJcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgQ29uc3VtZXIgbW9kdWxlIHByb3ZpZGVzIGFuIEFQSSBmb3IgY29uc3VtaW5nIG1lc3NhZ2VzIGZyb20gSk1TLXN0eWxlIGRlc3RpbmF0aW9ucywgc3VwcG9ydGluZyBib3RoIFF1ZXVlcyAocG9pbnQtdG8tcG9pbnQpIGFuZCBUb3BpY3MgKHB1Ymxpc2gvc3Vic2NyaWJlKS4gSXQgYWJzdHJhY3RzIHRoZSBjb21wbGV4aXRpZXMgb2YgbWVzc2FnZSBjb25zdW1wdGlvbiwgYWxsb3dpbmcgZGV2ZWxvcGVycyB0byBlYXNpbHkgcmVjZWl2ZSBtZXNzYWdlcyBmcm9tIGNvbmZpZ3VyZWQgZGVzdGluYXRpb25zIHdpdGggb3B0aW9uYWwgdGltZW91dCBoYW5kbGluZy5cbiAqIFxuICogIyMjIEtleSBGZWF0dXJlczpcbiAqIC0gKipRdWV1ZSBhbmQgVG9waWMgU3VwcG9ydCoqOiBUaGUgbW9kdWxlIHN1cHBvcnRzIGJvdGggUXVldWUgYW5kIFRvcGljIGNvbnN1bWVycywgZW5hYmxpbmcgZGlmZmVyZW50IG1lc3NhZ2luZyBwYXR0ZXJucyAocG9pbnQtdG8tcG9pbnQgYW5kIHB1Ymxpc2gvc3Vic2NyaWJlKS5cbiAqIC0gKipTeW5jaHJvbm91cyBNZXNzYWdlIFJlY2VwdGlvbioqOiBUaGUgYHJlY2VpdmVgIG1ldGhvZCBhbGxvd3MgZm9yIHN5bmNocm9ub3VzIG1lc3NhZ2UgcmV0cmlldmFsIHdpdGggYW4gb3B0aW9uYWwgdGltZW91dCBwYXJhbWV0ZXIuXG4gKiBcbiAqICMjIyBVc2UgQ2FzZXM6XG4gKiAtICoqTWVzc2FnZS1Ecml2ZW4gQXBwbGljYXRpb25zKio6IERldmVsb3BlcnMgY2FuIHVzZSB0aGlzIG1vZHVsZSB0byBidWlsZCBhcHBsaWNhdGlvbnMgdGhhdCByZWFjdCB0byBtZXNzYWdlcyByZWNlaXZlZCBmcm9tIHF1ZXVlcyBvciB0b3BpY3MsIGVuYWJsaW5nIGV2ZW50LWRyaXZlbiBhcmNoaXRlY3R1cmVzLlxuICogLSAqKkludGVncmF0aW9uIHdpdGggTWVzc2FnaW5nIFN5c3RlbXMqKjogQnkgY29uc3VtaW5nIG1lc3NhZ2VzIGZyb20gSk1TLXN0eWxlIGRlc3RpbmF0aW9ucywgYXBwbGljYXRpb25zIGNhbiBpbnRlZ3JhdGUgd2l0aCB2YXJpb3VzIG1lc3NhZ2luZyBzeXN0ZW1zIHRoYXQgc3VwcG9ydCB0aGVzZSBwYXR0ZXJucy5cbiAqIFxuICogIyMjIEV4YW1wbGUgVXNhZ2U6XG4gKiBgYGB0c1xuICogaW1wb3J0IHsgQ29uc3VtZXIgfSBmcm9tIFwiQGFlcm9raXQvc2RrL21lc3NhZ2luZ1wiO1xuICogXG4gKiAvLyBDcmVhdGUgYSBRdWV1ZSBjb25zdW1lciBmb3IgJ29yZGVycy5xdWV1ZSdcbiAqIGNvbnN0IHF1ZXVlQ29uc3VtZXIgPSBDb25zdW1lci5xdWV1ZShcIm9yZGVycy5xdWV1ZVwiKTtcbiAqIGNvbnN0IG1lc3NhZ2VGcm9tUXVldWUgPSBxdWV1ZUNvbnN1bWVyLnJlY2VpdmUoNTAwMCk7IC8vIFdhaXQgdXAgdG8gNSBzZWNvbmRzIGZvciBhIG1lc3NhZ2VcbiAqIGNvbnNvbGUubG9nKFwiUmVjZWl2ZWQgZnJvbSBxdWV1ZTpcIiwgbWVzc2FnZUZyb21RdWV1ZSk7XG4gKiBcbiAqIC8vIENyZWF0ZSBhIFRvcGljIGNvbnN1bWVyIGZvciAnbWFya2V0LnVwZGF0ZXMudG9waWMnXG4gKiBjb25zdCB0b3BpY0NvbnN1bWVyID0gQ29uc3VtZXIudG9waWMoXCJtYXJrZXQudXBkYXRlcy50b3BpY1wiKTtcbiAqIGNvbnN0IG1lc3NhZ2VGcm9tVG9waWMgPSB0b3BpY0NvbnN1bWVyLnJlY2VpdmUoNTAwMCk7IC8vIFdhaXQgdXAgdG8gNSBzZWNvbmRzIGZvciBhIG1lc3NhZ2VcbiAqIGNvbnNvbGUubG9nKFwiUmVjZWl2ZWQgZnJvbSB0b3BpYzpcIiwgbWVzc2FnZUZyb21Ub3BpYyk7XG4gKiBgYGBcbiAqL1xuXG5jb25zdCBNZXNzYWdpbmdGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkubWVzc2FnaW5nLk1lc3NhZ2luZ0ZhY2FkZVwiKTtcblxuLyoqXG4gKiBUaGUgZW50cnkgcG9pbnQgZm9yIGNyZWF0aW5nIG1lc3NhZ2luZyBjb25zdW1lcnMuXG4gKiBVc2UgdGhpcyBjbGFzcyB0byBvYnRhaW4gaW5zdGFuY2VzIG9mIFF1ZXVlIG9yIFRvcGljIGNvbnN1bWVycy5cbiAqL1xuZXhwb3J0IGNsYXNzIENvbnN1bWVyIHtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBRdWV1ZSBjb25zdW1lciBpbnN0YW5jZSBmb3IgcG9pbnQtdG8tcG9pbnQgbWVzc2FnaW5nLlxuICAgICAqIE1lc3NhZ2VzIHNlbnQgdG8gdGhpcyBkZXN0aW5hdGlvbiBhcmUgY29uc3VtZWQgYnkgb25seSBvbmUgcmVjZWl2ZXIuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGVzdGluYXRpb24gVGhlIG5hbWUgb2YgdGhlIHF1ZXVlIGRlc3RpbmF0aW9uIChlLmcuLCAnb3JkZXJzLnF1ZXVlJykuXG4gICAgICogQHJldHVybnMgQSB7QGxpbmsgUXVldWV9IGluc3RhbmNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgcXVldWUoZGVzdGluYXRpb246IHN0cmluZyk6IFF1ZXVlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBRdWV1ZShkZXN0aW5hdGlvbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIFRvcGljIGNvbnN1bWVyIGluc3RhbmNlIGZvciBwdWJsaXNoL3N1YnNjcmliZSBtZXNzYWdpbmcuXG4gICAgICogTWVzc2FnZXMgc2VudCB0byB0aGlzIGRlc3RpbmF0aW9uIGNhbiBiZSBjb25zdW1lZCBieSBtdWx0aXBsZSBzdWJzY3JpYmVycy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkZXN0aW5hdGlvbiBUaGUgbmFtZSBvZiB0aGUgdG9waWMgZGVzdGluYXRpb24gKGUuZy4sICdtYXJrZXQudXBkYXRlcy50b3BpYycpLlxuICAgICAqIEByZXR1cm5zIEEge0BsaW5rIFRvcGljfSBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHRvcGljKGRlc3RpbmF0aW9uOiBzdHJpbmcpOiBUb3BpYyB7XG4gICAgICAgIHJldHVybiBuZXcgVG9waWMoZGVzdGluYXRpb24pO1xuICAgIH1cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgY29uc3VtZXIgZm9yIGEgUXVldWUgZGVzdGluYXRpb24gKHBvaW50LXRvLXBvaW50KS5cbiAqL1xuY2xhc3MgUXVldWUge1xuXG4gICAgcHJpdmF0ZSBkZXN0aW5hdGlvbjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGRlc3RpbmF0aW9uIFRoZSBuYW1lIG9mIHRoZSBxdWV1ZSBkZXN0aW5hdGlvbi5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkZXN0aW5hdGlvbjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZGVzdGluYXRpb24gPSBkZXN0aW5hdGlvbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBdHRlbXB0cyB0byBzeW5jaHJvbm91c2x5IHJlY2VpdmUgYSBtZXNzYWdlIGZyb20gdGhlIHF1ZXVlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHRpbWVvdXQgVGhlIG1heGltdW0gdGltZSAoaW4gbWlsbGlzZWNvbmRzKSB0byB3YWl0IGZvciBhIG1lc3NhZ2UuIERlZmF1bHRzIHRvIDEwMDBtcy5cbiAgICAgKiBAcmV0dXJucyBUaGUgcmVjZWl2ZWQgbWVzc2FnZSBjb250ZW50ICh1c3VhbGx5IGEgc3RyaW5nIG9yIG9iamVjdCksIG9yIG51bGwgaWYgdGhlIHRpbWVvdXQgaXMgcmVhY2hlZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVjZWl2ZSh0aW1lb3V0OiBudW1iZXIgPSAxMDAwKSB7XG4gICAgICAgIHJldHVybiBNZXNzYWdpbmdGYWNhZGUucmVjZWl2ZUZyb21RdWV1ZSh0aGlzLmRlc3RpbmF0aW9uLCB0aW1lb3V0KTtcbiAgICB9O1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjb25zdW1lciBmb3IgYSBUb3BpYyBkZXN0aW5hdGlvbiAocHVibGlzaC9zdWJzY3JpYmUpLlxuICovXG5jbGFzcyBUb3BpYyB7XG5cbiAgICBwcml2YXRlIGRlc3RpbmF0aW9uOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZGVzdGluYXRpb24gVGhlIG5hbWUgb2YgdGhlIHRvcGljIGRlc3RpbmF0aW9uLlxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKGRlc3RpbmF0aW9uOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbiA9IGRlc3RpbmF0aW9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEF0dGVtcHRzIHRvIHN5bmNocm9ub3VzbHkgcmVjZWl2ZSBhIG1lc3NhZ2UgZnJvbSB0aGUgdG9waWMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdGltZW91dCBUaGUgbWF4aW11bSB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRvIHdhaXQgZm9yIGEgbWVzc2FnZS4gRGVmYXVsdHMgdG8gMTAwMG1zLlxuICAgICAqIEByZXR1cm5zIFRoZSByZWNlaXZlZCBtZXNzYWdlIGNvbnRlbnQgKHVzdWFsbHkgYSBzdHJpbmcgb3Igb2JqZWN0KSwgb3IgbnVsbCBpZiB0aGUgdGltZW91dCBpcyByZWFjaGVkLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWNlaXZlKHRpbWVvdXQ6IG51bWJlciA9IDEwMDApIHtcbiAgICAgICAgcmV0dXJuIE1lc3NhZ2luZ0ZhY2FkZS5yZWNlaXZlRnJvbVRvcGljKHRoaXMuZGVzdGluYXRpb24sIHRpbWVvdXQpO1xuICAgIH1cbn1cblxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgbW9kdWxlLmV4cG9ydHMgPSBDb25zdW1lcjtcbn0iXSwKICAibWFwcGluZ3MiOiAiQUFnQ0EsTUFBTSxrQkFBa0IsS0FBSyxLQUFLLGdFQUFnRTtBQU0zRixNQUFNLFNBQVM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU2xCLE9BQWMsTUFBTSxhQUE0QjtBQUM1QyxXQUFPLElBQUksTUFBTSxXQUFXO0FBQUEsRUFDaEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU0EsT0FBYyxNQUFNLGFBQTRCO0FBQzVDLFdBQU8sSUFBSSxNQUFNLFdBQVc7QUFBQSxFQUNoQztBQUNKO0FBS0EsTUFBTSxNQUFNO0FBQUEsRUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS1IsWUFBWSxhQUFxQjtBQUM3QixTQUFLLGNBQWM7QUFBQSxFQUN2QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sUUFBUSxVQUFrQixLQUFNO0FBQ25DLFdBQU8sZ0JBQWdCLGlCQUFpQixLQUFLLGFBQWEsT0FBTztBQUFBLEVBQ3JFO0FBQ0o7QUFLQSxNQUFNLE1BQU07QUFBQSxFQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLUixZQUFZLGFBQXFCO0FBQzdCLFNBQUssY0FBYztBQUFBLEVBQ3ZCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRTyxRQUFRLFVBQWtCLEtBQU07QUFDbkMsV0FBTyxnQkFBZ0IsaUJBQWlCLEtBQUssYUFBYSxPQUFPO0FBQUEsRUFDckU7QUFDSjtBQUlBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFL0IsU0FBTyxVQUFVO0FBQ3JCOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -18,4 +18,4 @@ function Listener(options) {
18
18
  export {
19
19
  Listener
20
20
  };
21
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL21lc3NhZ2luZy9kZWNvcmF0b3JzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBMSVNURU5FUl9NRVRBREFUQV9LRVkgPSBTeW1ib2woXCJsaXN0ZW5lcjptZXRhZGF0YVwiKTtcblxuZXhwb3J0IGludGVyZmFjZSBMaXN0ZW5lck9wdGlvbnMge1xuICAgIG5hbWU6IHN0cmluZzsgLy8gZS5nLiwgXCJNeVF1ZXVlXCJcbiAgICBraW5kOiBzdHJpbmc7ICAgICAgLy8gZS5nLiwgXCJRdWV1ZVwiXG59XG5cbi8qKlxuICogQExpc3RlbmVyIGRlY29yYXRvclxuICogTWFya3MgYW4gZW50aXJlIGNsYXNzIGFzIGEgbGlzdGVuZXJcbiAqXG4gKiBpbnRyb2R1Y2VkIGluIFR5cGVTY3JpcHQgNS4wLCB3aGljaCBleHBlY3RzIGEgQ2xhc3NEZWNvcmF0b3JDb250ZXh0IG9iamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExpc3RlbmVyKG9wdGlvbnM6IExpc3RlbmVyT3B0aW9ucykge1xuICAgIFxuICAgIHJldHVybiBmdW5jdGlvbiA8VCBleHRlbmRzIGFic3RyYWN0IG5ldyAoLi4uYXJnczogYW55KSA9PiBhbnk+KHRhcmdldDogVCwgY29udGV4dDogQ2xhc3NEZWNvcmF0b3JDb250ZXh0PFQ+KSB7XG4gICAgICAgIFxuICAgICAgICBpZiAoY29udGV4dC5raW5kICE9PSAnY2xhc3MnKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEBMaXN0ZW5lciBjYW4gb25seSBiZSB1c2VkIG9uIGNsYXNzZXMuYCk7XG4gICAgICAgIH1cblxuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBMSVNURU5FUl9NRVRBREFUQV9LRVksIHtcbiAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgICAgbmFtZTogb3B0aW9ucy5uYW1lLFxuICAgICAgICAgICAgICAgIGtpbmQ6IG9wdGlvbnMua2luZFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlXG4gICAgICAgIH0pO1xuICAgIH07XG59XG4iXSwKICAibWFwcGluZ3MiOiAiQUFBQSxNQUFNLHdCQUF3Qix1QkFBTyxtQkFBbUI7QUFhakQsU0FBUyxTQUFTLFNBQTBCO0FBRS9DLFNBQU8sU0FBd0QsUUFBVyxTQUFtQztBQUV6RyxRQUFJLFFBQVEsU0FBUyxTQUFTO0FBQzFCLFlBQU0sSUFBSSxNQUFNLHdDQUF3QztBQUFBLElBQzVEO0FBRUEsV0FBTyxlQUFlLFFBQVEsdUJBQXVCO0FBQUEsTUFDakQsT0FBTztBQUFBLFFBQ0gsTUFBTSxRQUFRO0FBQUEsUUFDZCxNQUFNLFFBQVE7QUFBQSxNQUNsQjtBQUFBLE1BQ0EsVUFBVTtBQUFBLE1BQ1YsY0FBYztBQUFBLE1BQ2QsWUFBWTtBQUFBLElBQ2hCLENBQUM7QUFBQSxFQUNMO0FBQ0o7IiwKICAibmFtZXMiOiBbXQp9Cg==
21
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL21lc3NhZ2luZy9kZWNvcmF0b3JzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgbWVzc2FnaW5nL2RlY29yYXRvcnNcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9tZXNzYWdpbmdcbiAqIEBuYW1lIERlY29yYXRvcnNcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBhIHNldCBvZiBkZWNvcmF0b3JzIGZvciBkZWZpbmluZyBtZXNzYWdpbmcgY29uc3VtZXJzIGluIGEgZGVjbGFyYXRpdmUgbWFubmVyLiBUaGUgZGVjb3JhdG9ycyBhbGxvdyBkZXZlbG9wZXJzIHRvIGFubm90YXRlIGNsYXNzZXMgdG8gc3BlY2lmeSB0aGF0IHRoZXkgc2hvdWxkIGFjdCBhcyBjb25zdW1lcnMgZm9yIHNwZWNpZmljIG1lc3NhZ2luZyBkZXN0aW5hdGlvbnMsIHN1Y2ggYXMgcXVldWVzIG9yIHRvcGljcy4gVGhpcyBtYWtlcyBpdCBlYXNpZXIgdG8gY3JlYXRlIGFuZCBtYW5hZ2UgbWVzc2FnZS1kcml2ZW4gY29tcG9uZW50cyB3aXRoaW4gdGhlIGFwcGxpY2F0aW9uLlxuICogXG4gKiAjIyMgS2V5IEZlYXR1cmVzOlxuICogLSAqKkxpc3RlbmVyIERlY29yYXRvcioqOiBUaGUgYEBMaXN0ZW5lcmAgZGVjb3JhdG9yIGlzIHVzZWQgdG8gbWFyayBhIGNsYXNzIGFzIGEgbWVzc2FnaW5nIGNvbnN1bWVyLCBzcGVjaWZ5aW5nIHRoZSBkZXN0aW5hdGlvbiBuYW1lIGFuZCB0eXBlIChlLmcuLCBRdWV1ZSBvciBUb3BpYykuXG4gKiBcbiAqICMjIyBVc2UgQ2FzZXM6XG4gKiAtICoqTWVzc2FnZS1Ecml2ZW4gQXBwbGljYXRpb25zKio6IFRoZXNlIGRlY29yYXRvcnMgYXJlIHByaW1hcmlseSB1c2VkIGZvciBkZWZpbmluZyBjb21wb25lbnRzIHRoYXQgcmVhY3QgdG8gbWVzc2FnZXMgcmVjZWl2ZWQgZnJvbSBxdWV1ZXMgb3IgdG9waWNzLCBlbmFibGluZyBldmVudC1kcml2ZW4gYXJjaGl0ZWN0dXJlcy5cbiAqIC0gKipJbnRlZ3JhdGlvbiB3aXRoIE1lc3NhZ2luZyBTeXN0ZW1zKio6IEJ5IHVzaW5nIHRoZXNlIGRlY29yYXRvcnMsIGRldmVsb3BlcnMgY2FuIGVhc2lseSBpbnRlZ3JhdGUgdGhlaXIgYXBwbGljYXRpb25zIHdpdGggdmFyaW91cyBtZXNzYWdpbmcgc3lzdGVtcyB0aGF0IHN1cHBvcnQgSk1TLXN0eWxlIHBhdHRlcm5zLlxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZTpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBMaXN0ZW5lciB9IGZyb20gXCJAYWVyb2tpdC9zZGsvbWVzc2FnaW5nXCI7XG4gKiBcbiAqIEBMaXN0ZW5lcih7IG5hbWU6IFwib3JkZXJzLnF1ZXVlXCIsIGtpbmQ6IFwiUXVldWVcIiB9KVxuICogY2xhc3MgT3JkZXJDb25zdW1lciB7XG4gKiAgICAgLy8gTG9naWMgdG8gY29uc3VtZSBtZXNzYWdlcyBmcm9tICdvcmRlcnMucXVldWUnXG4gKiB9XG4gKiBcbiAqIEBMaXN0ZW5lcih7IG5hbWU6IFwibWFya2V0LnVwZGF0ZXMudG9waWNcIiwga2luZDogXCJUb3BpY1wiIH0pXG4gKiBjbGFzcyBNYXJrZXRVcGRhdGVzQ29uc3VtZXIge1xuICogICAgIC8vIExvZ2ljIHRvIGNvbnN1bWUgbWVzc2FnZXMgZnJvbSAnbWFya2V0LnVwZGF0ZXMudG9waWMnXG4gKiB9XG4gKiBcbiAqIC8vIFRoZSBjb25zdW1lcnMgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHJlZ2lzdGVyZWQgYmFzZWQgb24gdGhlIHByb3ZpZGVkIG1ldGFkYXRhLlxuICogYGBgXG4gKi9cblxuY29uc3QgTElTVEVORVJfTUVUQURBVEFfS0VZID0gU3ltYm9sKFwibGlzdGVuZXI6bWV0YWRhdGFcIik7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdGVuZXJPcHRpb25zIHtcbiAgICBuYW1lOiBzdHJpbmc7IC8vIGUuZy4sIFwiTXlRdWV1ZVwiXG4gICAga2luZDogc3RyaW5nOyAgICAgIC8vIGUuZy4sIFwiUXVldWVcIlxufVxuXG4vKipcbiAqIEBMaXN0ZW5lciBkZWNvcmF0b3JcbiAqIE1hcmtzIGFuIGVudGlyZSBjbGFzcyBhcyBhIGxpc3RlbmVyXG4gKlxuICogaW50cm9kdWNlZCBpbiBUeXBlU2NyaXB0IDUuMCwgd2hpY2ggZXhwZWN0cyBhIENsYXNzRGVjb3JhdG9yQ29udGV4dCBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMaXN0ZW5lcihvcHRpb25zOiBMaXN0ZW5lck9wdGlvbnMpIHtcbiAgICBcbiAgICByZXR1cm4gZnVuY3Rpb24gPFQgZXh0ZW5kcyBhYnN0cmFjdCBuZXcgKC4uLmFyZ3M6IGFueSkgPT4gYW55Pih0YXJnZXQ6IFQsIGNvbnRleHQ6IENsYXNzRGVjb3JhdG9yQ29udGV4dDxUPikge1xuICAgICAgICBcbiAgICAgICAgaWYgKGNvbnRleHQua2luZCAhPT0gJ2NsYXNzJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBATGlzdGVuZXIgY2FuIG9ubHkgYmUgdXNlZCBvbiBjbGFzc2VzLmApO1xuICAgICAgICB9XG5cbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgTElTVEVORVJfTUVUQURBVEFfS0VZLCB7XG4gICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgIG5hbWU6IG9wdGlvbnMubmFtZSxcbiAgICAgICAgICAgICAgICBraW5kOiBvcHRpb25zLmtpbmRcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZVxuICAgICAgICB9KTtcbiAgICB9O1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIkFBaUNBLE1BQU0sd0JBQXdCLHVCQUFPLG1CQUFtQjtBQWFqRCxTQUFTLFNBQVMsU0FBMEI7QUFFL0MsU0FBTyxTQUF3RCxRQUFXLFNBQW1DO0FBRXpHLFFBQUksUUFBUSxTQUFTLFNBQVM7QUFDMUIsWUFBTSxJQUFJLE1BQU0sd0NBQXdDO0FBQUEsSUFDNUQ7QUFFQSxXQUFPLGVBQWUsUUFBUSx1QkFBdUI7QUFBQSxNQUNqRCxPQUFPO0FBQUEsUUFDSCxNQUFNLFFBQVE7QUFBQSxRQUNkLE1BQU0sUUFBUTtBQUFBLE1BQ2xCO0FBQUEsTUFDQSxVQUFVO0FBQUEsTUFDVixjQUFjO0FBQUEsTUFDZCxZQUFZO0FBQUEsSUFDaEIsQ0FBQztBQUFBLEVBQ0w7QUFDSjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -9,4 +9,4 @@ export {
9
9
  decorators,
10
10
  Producer as producer
11
11
  };
12
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL21lc3NhZ2luZy9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiZXhwb3J0IHsgQ29uc3VtZXIgYXMgY29uc3VtZXIgfSBmcm9tIFwiLi9jb25zdW1lclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uc3VtZXJcIjtcbmV4cG9ydCB7IFByb2R1Y2VyIGFzIHByb2R1Y2VyIH0gZnJvbSBcIi4vcHJvZHVjZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Byb2R1Y2VyXCI7XG5leHBvcnQgKiBhcyBkZWNvcmF0b3JzIGZyb20gXCIuL2RlY29yYXRvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlY29yYXRvcnNcIjsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxTQUFxQixnQkFBZ0I7QUFDckMsY0FBYztBQUNkLFNBQXFCLGdCQUFnQjtBQUNyQyxjQUFjO0FBQ2QsWUFBWSxnQkFBZ0I7QUFDNUIsY0FBYzsiLAogICJuYW1lcyI6IFtdCn0K
12
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL21lc3NhZ2luZy9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAbW9kdWxlIG1lc3NhZ2luZy9pbmRleFxuICogQHBhY2thZ2UgQGFlcm9raXQvc2RrL21lc3NhZ2luZ1xuICogQG92ZXJ2aWV3XG4gKiBcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGZ1bmN0aW9uYWxpdGllcyBmb3IgbWVzc2FnaW5nIHdpdGhpbiB0aGUgQWVyb2tpdCBTREsuIEl0IGluY2x1ZGVzIGNsYXNzZXMgYW5kIG1ldGhvZHMgZm9yIHByb2R1Y2luZyBhbmQgY29uc3VtaW5nIG1lc3NhZ2VzIGZyb20gdmFyaW91cyBtZXNzYWdpbmcgc3lzdGVtcywgYXMgd2VsbCBhcyBtYW5hZ2luZyBtZXNzYWdpbmcgY29uZmlndXJhdGlvbnMgYW5kIGNvbm5lY3Rpb25zLlxuICogXG4gKiBUaGUgbWFpbiBjb21wb25lbnRzIG9mIHRoaXMgbW9kdWxlIGFyZTpcbiAqIC0gQ29uc3VtZXI6IFJlcHJlc2VudHMgYSBtZXNzYWdlIGNvbnN1bWVyIHRoYXQgY2FuIHN1YnNjcmliZSB0byB0b3BpY3MgYW5kIGNvbnN1bWUgbWVzc2FnZXMuXG4gKiAtIFByb2R1Y2VyOiBSZXByZXNlbnRzIGEgbWVzc2FnZSBwcm9kdWNlciB0aGF0IGNhbiBzZW5kIG1lc3NhZ2VzIHRvIHRvcGljcy5cbiAqIC0gRGVjb3JhdG9yczogUHJvdmlkZXMgZGVjb3JhdG9ycyBmb3IgZGVmaW5pbmcgbWVzc2FnZSBoYW5kbGVycyBhbmQgcHJvZHVjZXJzIGluIGEgbW9kdWxhciBhcmNoaXRlY3R1cmUuXG4gKi9cblxuZXhwb3J0IHsgQ29uc3VtZXIgYXMgY29uc3VtZXIgfSBmcm9tIFwiLi9jb25zdW1lclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uc3VtZXJcIjtcbmV4cG9ydCB7IFByb2R1Y2VyIGFzIHByb2R1Y2VyIH0gZnJvbSBcIi4vcHJvZHVjZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Byb2R1Y2VyXCI7XG5leHBvcnQgKiBhcyBkZWNvcmF0b3JzIGZyb20gXCIuL2RlY29yYXRvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlY29yYXRvcnNcIjsiXSwKICAibWFwcGluZ3MiOiAiQUFhQSxTQUFxQixnQkFBZ0I7QUFDckMsY0FBYztBQUNkLFNBQXFCLGdCQUFnQjtBQUNyQyxjQUFjO0FBQ2QsWUFBWSxnQkFBZ0I7QUFDNUIsY0FBYzsiLAogICJuYW1lcyI6IFtdCn0K