@aerokit/sdk 12.80.0 → 12.82.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
@@ -559,4 +559,4 @@ export {
559
559
  Projects,
560
560
  Workspace
561
561
  };
562
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BsYXRmb3JtL3dvcmtzcGFjZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBQcm92aWRlcyBhIHdyYXBwZXIgZm9yIHRoZSBwbGF0Zm9ybSdzIFdvcmtzcGFjZUZhY2FkZSB0byBtYW5hZ2UgV29ya3NwYWNlcyxcbiAqIFByb2plY3RzLCBGb2xkZXJzLCBhbmQgRmlsZXMuXG4gKi9cbmltcG9ydCB7IEJ5dGVzIH0gZnJvbSBcIkBhZXJva2l0L3Nkay9pby9ieXRlc1wiO1xuXG5jb25zdCBXb3Jrc3BhY2VGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkucGxhdGZvcm0uV29ya3NwYWNlRmFjYWRlXCIpO1xuXG4vKipcbiAqIEBjbGFzcyBXb3Jrc3BhY2VcbiAqIEBkZXNjcmlwdGlvbiBSZXByZXNlbnRzIGEgbG9naWNhbCBjb250YWluZXIgZm9yIHByb2plY3RzLCBwcm92aWRpbmcgc3RhdGljIG1ldGhvZHMgZm9yXG4gKiBoaWdoLWxldmVsIHdvcmtzcGFjZSBtYW5hZ2VtZW50IGFuZCBpbnN0YW5jZSBtZXRob2RzIGZvciBwcm9qZWN0IG1hbmFnZW1lbnQgd2l0aGluIHRoZSB3b3Jrc3BhY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBXb3Jrc3BhY2Uge1xuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgbmV3IHdvcmtzcGFjZSB3aXRoIHRoZSBnaXZlbiBuYW1lLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBUaGUgbmFtZSBvZiB0aGUgd29ya3NwYWNlIHRvIGNyZWF0ZS5cblx0ICogQHJldHVybnMge1dvcmtzcGFjZX0gVGhlIG5ld2x5IGNyZWF0ZWQgV29ya3NwYWNlIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBjcmVhdGVXb3Jrc3BhY2UobmFtZTogc3RyaW5nKTogV29ya3NwYWNlIHtcblx0XHRjb25zdCBuYXRpdmUgPSBXb3Jrc3BhY2VGYWNhZGUuY3JlYXRlV29ya3NwYWNlKG5hbWUpO1xuXHRcdHJldHVybiBuZXcgV29ya3NwYWNlKG5hdGl2ZSk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIGFuIGV4aXN0aW5nIHdvcmtzcGFjZSBieSBuYW1lLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBUaGUgbmFtZSBvZiB0aGUgd29ya3NwYWNlIHRvIHJldHJpZXZlLlxuXHQgKiBAcmV0dXJucyB7V29ya3NwYWNlfSBUaGUgV29ya3NwYWNlIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXRXb3Jrc3BhY2UobmFtZTogc3RyaW5nKTogV29ya3NwYWNlIHtcblx0XHRjb25zdCBuYXRpdmUgPSBXb3Jrc3BhY2VGYWNhZGUuZ2V0V29ya3NwYWNlKG5hbWUpO1xuXHRcdHJldHVybiBuZXcgV29ya3NwYWNlKG5hdGl2ZSk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIHRoZSBuYW1lcyBvZiBhbGwgZXhpc3Rpbmcgd29ya3NwYWNlcy5cblx0ICpcblx0ICogQHJldHVybnMge3N0cmluZ1tdfSBBbiBhcnJheSBvZiB3b3Jrc3BhY2UgbmFtZXMuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldFdvcmtzcGFjZXNOYW1lcygpOiBzdHJpbmdbXSB7XG5cdFx0Y29uc3Qgd29ya3NwYWNlc05hbWVzID0gV29ya3NwYWNlRmFjYWRlLmdldFdvcmtzcGFjZXNOYW1lcygpO1xuXHRcdGlmICh3b3Jrc3BhY2VzTmFtZXMpIHtcblx0XHRcdC8vIFRoZSBuYXRpdmUgbWV0aG9kIHJldHVybnMgYSBKU09OIHN0cmluZyBhcnJheSB0aGF0IG5lZWRzIHRvIGJlIHBhcnNlZC5cblx0XHRcdHJldHVybiBKU09OLnBhcnNlKHdvcmtzcGFjZXNOYW1lcyk7XG5cdFx0fVxuXHRcdC8vIElmIG51bGwgb3IgdW5kZWZpbmVkIGlzIHJldHVybmVkLCByZXR1cm4gdGhlIHJhdyB2YWx1ZSAod2hpY2ggd2lsbCBiZSBudWxsL3VuZGVmaW5lZCkuXG5cdFx0cmV0dXJuIHdvcmtzcGFjZXNOYW1lcztcblx0fVxuXG5cdC8qKlxuXHQgKiBEZWxldGVzIHRoZSB3b3Jrc3BhY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIG5hbWUuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIFRoZSBuYW1lIG9mIHRoZSB3b3Jrc3BhY2UgdG8gZGVsZXRlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBkZWxldGVXb3Jrc3BhY2UobmFtZTogc3RyaW5nKTogdm9pZCB7XG5cdFx0V29ya3NwYWNlRmFjYWRlLmRlbGV0ZVdvcmtzcGFjZShuYW1lKTtcblx0fVxuXG5cdHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cblx0LyoqXG5cdCAqIEBjb25zdHJ1Y3RvclxuXHQgKiBAcGFyYW0ge2FueX0gbmF0aXZlIFRoZSBuYXRpdmUgSmF2YSBvYmplY3QgaW5zdGFuY2UgcmVwcmVzZW50aW5nIHRoZSB3b3Jrc3BhY2UuXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xuXHRcdHRoaXMubmF0aXZlID0gbmF0aXZlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgYSBjb2xsZWN0aW9uIG9mIGFsbCBwcm9qZWN0cyB3aXRoaW4gdGhpcyB3b3Jrc3BhY2UuXG5cdCAqXG5cdCAqIEByZXR1cm5zIHtQcm9qZWN0c30gQSBQcm9qZWN0cyBjb2xsZWN0aW9uIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGdldFByb2plY3RzKCk6IFByb2plY3RzIHtcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5nZXRQcm9qZWN0cygpO1xuXHRcdHJldHVybiBuZXcgUHJvamVjdHMobmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgbmV3IHByb2plY3Qgd2l0aGluIHRoaXMgd29ya3NwYWNlLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBUaGUgbmFtZSBvZiB0aGUgcHJvamVjdCB0byBjcmVhdGUuXG5cdCAqIEByZXR1cm5zIHtQcm9qZWN0fSBUaGUgbmV3bHkgY3JlYXRlZCBQcm9qZWN0IGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGNyZWF0ZVByb2plY3QobmFtZTogc3RyaW5nKTogUHJvamVjdCB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuY3JlYXRlUHJvamVjdChuYW1lKTtcblx0XHRyZXR1cm4gbmV3IFByb2plY3QobmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgYW4gZXhpc3RpbmcgcHJvamVjdCBieSBuYW1lIGZyb20gdGhpcyB3b3Jrc3BhY2UuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBwcm9qZWN0IHRvIHJldHJpZXZlLlxuXHQgKiBAcmV0dXJucyB7UHJvamVjdH0gVGhlIFByb2plY3QgaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0UHJvamVjdChuYW1lOiBzdHJpbmcpOiBQcm9qZWN0IHtcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5nZXRQcm9qZWN0KG5hbWUpO1xuXHRcdHJldHVybiBuZXcgUHJvamVjdChuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIERlbGV0ZXMgYSBwcm9qZWN0IGZyb20gdGhpcyB3b3Jrc3BhY2UgYnkgbmFtZS5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgVGhlIG5hbWUgb2YgdGhlIHByb2plY3QgdG8gZGVsZXRlLlxuXHQgKi9cblx0cHVibGljIGRlbGV0ZVByb2plY3QobmFtZTogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5uYXRpdmUuZGVsZXRlUHJvamVjdChuYW1lKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhlIHdvcmtzcGFjZSBjdXJyZW50bHkgZXhpc3RzLlxuXHQgKlxuXHQgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgd29ya3NwYWNlIGV4aXN0cywgZmFsc2Ugb3RoZXJ3aXNlLlxuXHQgKi9cblx0cHVibGljIGV4aXN0cygpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZXhpc3RzKCk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIGEgc3BlY2lmaWMgZm9sZGVyIHBhdGggZXhpc3RzIHdpdGhpbiB0aGUgd29ya3NwYWNlJ3MgZmlsZXN5c3RlbSBzdHJ1Y3R1cmUuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSByZWxhdGl2ZSBwYXRoIHRvIHRoZSBmb2xkZXIuXG5cdCAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSBmb2xkZXIgZXhpc3RzLlxuXHQgKi9cblx0cHVibGljIGV4aXN0c0ZvbGRlcihwYXRoOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZXhpc3RzRm9sZGVyKHBhdGgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiBhIHNwZWNpZmljIGZpbGUgcGF0aCBleGlzdHMgd2l0aGluIHRoZSB3b3Jrc3BhY2UncyBmaWxlc3lzdGVtIHN0cnVjdHVyZS5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHJlbGF0aXZlIHBhdGggdG8gdGhlIGZpbGUuXG5cdCAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSBmaWxlIGV4aXN0cy5cblx0ICovXG5cdHB1YmxpYyBleGlzdHNGaWxlKHBhdGg6IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5leGlzdHNGaWxlKHBhdGgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENvcGllcyBhIHByb2plY3QgZnJvbSBhIHNvdXJjZSBuYW1lIHRvIGEgdGFyZ2V0IG5hbWUgd2l0aGluIHRoZSB3b3Jrc3BhY2UuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBzb3VyY2UgVGhlIG5hbWUgb2YgdGhlIHByb2plY3QgdG8gY29weS5cblx0ICogQHBhcmFtIHtzdHJpbmd9IHRhcmdldCBUaGUgbmFtZSBvZiB0aGUgbmV3IHByb2plY3QgY29weS5cblx0ICovXG5cdHB1YmxpYyBjb3B5UHJvamVjdChzb3VyY2U6IHN0cmluZywgdGFyZ2V0OiBzdHJpbmcpOiB2b2lkIHtcblx0XHR0aGlzLm5hdGl2ZS5jb3B5UHJvamVjdChzb3VyY2UsIHRhcmdldCk7XG5cdH1cblxuXHQvKipcblx0ICogTW92ZXMgYSBwcm9qZWN0IGZyb20gYSBzb3VyY2UgbmFtZSB0byBhIHRhcmdldCBuYW1lIChyZW5hbWluZyBpdCkuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBzb3VyY2UgVGhlIGN1cnJlbnQgbmFtZSBvZiB0aGUgcHJvamVjdC5cblx0ICogQHBhcmFtIHtzdHJpbmd9IHRhcmdldCBUaGUgbmV3IG5hbWUvcGF0aCBvZiB0aGUgcHJvamVjdC5cblx0ICovXG5cdHB1YmxpYyBtb3ZlUHJvamVjdChzb3VyY2U6IHN0cmluZywgdGFyZ2V0OiBzdHJpbmcpOiB2b2lkIHtcblx0XHR0aGlzLm5hdGl2ZS5tb3ZlUHJvamVjdChzb3VyY2UsIHRhcmdldCk7XG5cdH1cblxufVxuXG4vKipcbiAqIEBjbGFzcyBQcm9qZWN0c1xuICogQGRlc2NyaXB0aW9uIEEgY29sbGVjdGlvbi9saXN0IG9mIHByb2plY3RzIHdpdGhpbiBhIHdvcmtzcGFjZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFByb2plY3RzIHtcblx0cHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuXHQvKipcblx0ICogQGNvbnN0cnVjdG9yXG5cdCAqIEBwYXJhbSB7YW55fSBuYXRpdmUgVGhlIG5hdGl2ZSBKYXZhIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIGxpc3Qgb2YgcHJvamVjdHMuXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xuXHRcdHRoaXMubmF0aXZlID0gbmF0aXZlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIG51bWJlciBvZiBwcm9qZWN0cyBpbiB0aGUgY29sbGVjdGlvbi5cblx0ICogQHJldHVybnMge251bWJlcn0gVGhlIHNpemUgb2YgdGhlIGNvbGxlY3Rpb24uXG5cdCAqL1xuXHRwdWJsaWMgc2l6ZSgpOiBudW1iZXIge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5zaXplKCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyBhIFByb2plY3QgaW5zdGFuY2UgYXQgdGhlIHNwZWNpZmllZCBpbmRleC5cblx0ICogQHBhcmFtIHtudW1iZXJ9IGluZGV4IFRoZSBpbmRleCBvZiB0aGUgcHJvamVjdC5cblx0ICogQHJldHVybnMge1Byb2plY3R9IFRoZSBQcm9qZWN0IGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGdldChpbmRleDogbnVtYmVyKTogUHJvamVjdCB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuZ2V0KGluZGV4KTtcblx0XHRyZXR1cm4gbmV3IFByb2plY3QobmF0aXZlKTtcblx0fVxuXG59XG5cbi8qKlxuICogQGNsYXNzIFByb2plY3RcbiAqIEBkZXNjcmlwdGlvbiBSZXByZXNlbnRzIGEgUHJvamVjdCB3aXRoaW4gYSB3b3Jrc3BhY2UuIEl0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIG1hbmFnaW5nXG4gKiBmb2xkZXJzIGFuZCBmaWxlcyB3aXRoaW4gdGhlIHByb2plY3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9qZWN0IHtcblx0cHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuXHQvKipcblx0ICogQGNvbnN0cnVjdG9yXG5cdCAqIEBwYXJhbSB7YW55fSBuYXRpdmUgVGhlIG5hdGl2ZSBKYXZhIG9iamVjdCBpbnN0YW5jZSByZXByZXNlbnRpbmcgdGhlIHByb2plY3QuXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xuXHRcdHRoaXMubmF0aXZlID0gbmF0aXZlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIG5hbWUgb2YgdGhlIHByb2plY3QuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBwcm9qZWN0IG5hbWUuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuXHRcdGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLm5hdGl2ZS5nZXRJbnRlcm5hbCgpO1xuXHRcdHJldHVybiBjb2xsZWN0aW9uLmdldE5hbWUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBwYXRoIG9mIHRoZSBwcm9qZWN0LlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgcHJvamVjdCBwYXRoIChyZWxhdGl2ZSB0byB0aGUgcmVwb3NpdG9yeS93b3Jrc3BhY2Ugcm9vdCkuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0UGF0aCgpOiBzdHJpbmcge1xuXHRcdGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLm5hdGl2ZS5nZXRJbnRlcm5hbCgpO1xuXHRcdHJldHVybiBjb2xsZWN0aW9uLmdldFBhdGgoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgbmV3IGZvbGRlciB3aXRoaW4gdGhlIHByb2plY3QuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBmb2xkZXIgdG8gY3JlYXRlIChyZWxhdGl2ZSB0byB0aGUgcHJvamVjdCByb290KS5cblx0ICogQHJldHVybnMge0ZvbGRlcn0gVGhlIG5ld2x5IGNyZWF0ZWQgRm9sZGVyIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGNyZWF0ZUZvbGRlcihwYXRoOiBzdHJpbmcpOiBGb2xkZXIge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IHRoaXMubmF0aXZlLmNyZWF0ZUZvbGRlcihwYXRoKTtcblx0XHRyZXR1cm4gbmV3IEZvbGRlcihuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgcHJvamVjdCBpdHNlbGYgZXhpc3RzLlxuXHQgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgcHJvamVjdCBleGlzdHMuXG5cdCAqL1xuXHRwdWJsaWMgZXhpc3RzKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5leGlzdHMoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgYSBzcGVjaWZpYyBmb2xkZXIgcGF0aCBleGlzdHMgd2l0aGluIHRoZSBwcm9qZWN0LlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcmVsYXRpdmUgcGF0aCB0byB0aGUgZm9sZGVyLlxuXHQgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgZm9sZGVyIGV4aXN0cy5cblx0ICovXG5cdHB1YmxpYyBleGlzdHNGb2xkZXIocGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmV4aXN0c0ZvbGRlcihwYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgYSBmb2xkZXIgYnkgaXRzIHBhdGggcmVsYXRpdmUgdG8gdGhlIHByb2plY3Qgcm9vdC5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHJlbGF0aXZlIHBhdGggdG8gdGhlIGZvbGRlci5cblx0ICogQHJldHVybnMge0ZvbGRlcn0gVGhlIEZvbGRlciBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBnZXRGb2xkZXIocGF0aDogc3RyaW5nKTogRm9sZGVyIHtcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5nZXRGb2xkZXIocGF0aCk7XG5cdFx0cmV0dXJuIG5ldyBGb2xkZXIobmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgYSBjb2xsZWN0aW9uIG9mIGZvbGRlcnMgYXQgYSBzcGVjaWZpYyBwYXRoLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCBjb250YWluaW5nIHRoZSBmb2xkZXJzIHRvIHJldHJpZXZlLlxuXHQgKiBAcmV0dXJucyB7Rm9sZGVyc30gVGhlIEZvbGRlcnMgY29sbGVjdGlvbiBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBnZXRGb2xkZXJzKHBhdGg6IHN0cmluZyk6IEZvbGRlcnMge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IHRoaXMubmF0aXZlLmdldEZvbGRlcnMocGF0aCk7XG5cdFx0cmV0dXJuIG5ldyBGb2xkZXJzKG5hdGl2ZSk7XG5cdH1cblxuXHQvKipcblx0ICogRGVsZXRlcyBhIGZvbGRlciBmcm9tIHRoZSBwcm9qZWN0LlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgZm9sZGVyIHRvIGRlbGV0ZSAocmVsYXRpdmUgdG8gdGhlIHByb2plY3Qgcm9vdCkuXG5cdCAqL1xuXHRwdWJsaWMgZGVsZXRlRm9sZGVyKHBhdGg6IHN0cmluZyk6IHZvaWQge1xuXHRcdHRoaXMubmF0aXZlLmRlbGV0ZUZvbGRlcihwYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgbmV3IGZpbGUgd2l0aGluIHRoZSBwcm9qZWN0LlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgZmlsZSB0byBjcmVhdGUgKHJlbGF0aXZlIHRvIHRoZSBwcm9qZWN0IHJvb3QpLlxuXHQgKiBAcGFyYW0ge2FueVtdfSBbaW5wdXQ9W11dIE9wdGlvbmFsIGluaXRpYWwgY29udGVudCBhcyBhIGJ5dGUgYXJyYXkuXG5cdCAqIEByZXR1cm5zIHtGaWxlfSBUaGUgbmV3bHkgY3JlYXRlZCBGaWxlIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGNyZWF0ZUZpbGUocGF0aDogc3RyaW5nLCBpbnB1dDogYW55W10gPSBbXSk6IEZpbGUge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IHRoaXMubmF0aXZlLmNyZWF0ZUZpbGUocGF0aCwgaW5wdXQpO1xuXHRcdHJldHVybiBuZXcgRmlsZShuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiBhIHNwZWNpZmljIGZpbGUgcGF0aCBleGlzdHMgd2l0aGluIHRoZSBwcm9qZWN0LlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcmVsYXRpdmUgcGF0aCB0byB0aGUgZmlsZS5cblx0ICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIGZpbGUgZXhpc3RzLlxuXHQgKi9cblx0cHVibGljIGV4aXN0c0ZpbGUocGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmV4aXN0c0ZpbGUocGF0aCk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIGEgZmlsZSBieSBpdHMgcGF0aCByZWxhdGl2ZSB0byB0aGUgcHJvamVjdCByb290LlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcmVsYXRpdmUgcGF0aCB0byB0aGUgZmlsZS5cblx0ICogQHJldHVybnMge0ZpbGV9IFRoZSBGaWxlIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGdldEZpbGUocGF0aDogc3RyaW5nKTogRmlsZSB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuZ2V0RmlsZShwYXRoKTtcblx0XHRyZXR1cm4gbmV3IEZpbGUobmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgYSBjb2xsZWN0aW9uIG9mIGZpbGVzIGF0IGEgc3BlY2lmaWMgcGF0aC5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHBhdGggY29udGFpbmluZyB0aGUgZmlsZXMgdG8gcmV0cmlldmUuXG5cdCAqIEByZXR1cm5zIHtGaWxlc30gVGhlIEZpbGVzIGNvbGxlY3Rpb24gaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0RmlsZXMocGF0aDogc3RyaW5nKTogRmlsZXMge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IHRoaXMubmF0aXZlLmdldEZpbGVzKHBhdGgpO1xuXHRcdHJldHVybiBuZXcgRmlsZXMobmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBEZWxldGVzIGEgZmlsZSBmcm9tIHRoZSBwcm9qZWN0LlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgZmlsZSB0byBkZWxldGUgKHJlbGF0aXZlIHRvIHRoZSBwcm9qZWN0IHJvb3QpLlxuXHQgKi9cblx0cHVibGljIGRlbGV0ZUZpbGUocGF0aDogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5uYXRpdmUuZGVsZXRlRmlsZShwYXRoKTtcblx0fVxuXG59XG5cbi8qKlxuICogQGNsYXNzIEZvbGRlcnNcbiAqIEBkZXNjcmlwdGlvbiBBIGNvbGxlY3Rpb24vbGlzdCBvZiBmb2xkZXJzLlxuICovXG5leHBvcnQgY2xhc3MgRm9sZGVycyB7XG5cdHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cblx0LyoqXG5cdCAqIEBjb25zdHJ1Y3RvclxuXHQgKiBAcGFyYW0ge2FueX0gbmF0aXZlIFRoZSBuYXRpdmUgSmF2YSBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBsaXN0IG9mIGZvbGRlcnMuXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xuXHRcdHRoaXMubmF0aXZlID0gbmF0aXZlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIG51bWJlciBvZiBmb2xkZXJzIGluIHRoZSBjb2xsZWN0aW9uLlxuXHQgKiBAcmV0dXJucyB7bnVtYmVyfSBUaGUgc2l6ZSBvZiB0aGUgY29sbGVjdGlvbi5cblx0ICovXG5cdHB1YmxpYyBzaXplKCk6IG51bWJlciB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLnNpemUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIGEgRm9sZGVyIGluc3RhbmNlIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXguXG5cdCAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleCBUaGUgaW5kZXggb2YgdGhlIGZvbGRlci5cblx0ICogQHJldHVybnMge0ZvbGRlcn0gVGhlIEZvbGRlciBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBnZXQoaW5kZXg6IG51bWJlcik6IEZvbGRlciB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuZ2V0KGluZGV4KTtcblx0XHRyZXR1cm4gbmV3IEZvbGRlcihuYXRpdmUpO1xuXHR9XG5cbn1cblxuLyoqXG4gKiBAY2xhc3MgRmlsZXNcbiAqIEBkZXNjcmlwdGlvbiBBIGNvbGxlY3Rpb24vbGlzdCBvZiBmaWxlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEZpbGVzIHtcblx0cHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuXHQvKipcblx0ICogQGNvbnN0cnVjdG9yXG5cdCAqIEBwYXJhbSB7YW55fSBuYXRpdmUgVGhlIG5hdGl2ZSBKYXZhIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIGxpc3Qgb2YgZmlsZXMuXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xuXHRcdHRoaXMubmF0aXZlID0gbmF0aXZlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIG51bWJlciBvZiBmaWxlcyBpbiB0aGUgY29sbGVjdGlvbi5cblx0ICogQHJldHVybnMge251bWJlcn0gVGhlIHNpemUgb2YgdGhlIGNvbGxlY3Rpb24uXG5cdCAqL1xuXHRwdWJsaWMgc2l6ZSgpOiBudW1iZXIge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5zaXplKCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyBhIEZpbGUgaW5zdGFuY2UgYXQgdGhlIHNwZWNpZmllZCBpbmRleC5cblx0ICogQHBhcmFtIHtudW1iZXJ9IGluZGV4IFRoZSBpbmRleCBvZiB0aGUgZmlsZS5cblx0ICogQHJldHVybnMge0ZpbGV9IFRoZSBGaWxlIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGdldChpbmRleDogbnVtYmVyKTogRmlsZSB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuZ2V0KGluZGV4KTtcblx0XHRyZXR1cm4gbmV3IEZpbGUobmF0aXZlKTtcblx0fVxuXG59XG5cbi8qKlxuICogQGNsYXNzIEZvbGRlclxuICogQGRlc2NyaXB0aW9uIFJlcHJlc2VudHMgYSBkaXJlY3Rvcnkgb3IgZm9sZGVyIHdpdGhpbiBhIHByb2plY3QsIHByb3ZpZGluZyBtZXRob2RzIGZvclxuICogbWFuYWdpbmcgc3ViLWZvbGRlcnMgYW5kIGZpbGVzLlxuICovXG5leHBvcnQgY2xhc3MgRm9sZGVyIHtcblx0cHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuXHQvKipcblx0ICogQGNvbnN0cnVjdG9yXG5cdCAqIEBwYXJhbSB7YW55fSBuYXRpdmUgVGhlIG5hdGl2ZSBKYXZhIG9iamVjdCBpbnN0YW5jZSByZXByZXNlbnRpbmcgdGhlIGZvbGRlci5cblx0ICovXG5cdGNvbnN0cnVjdG9yKG5hdGl2ZTogYW55KSB7XG5cdFx0dGhpcy5uYXRpdmUgPSBuYXRpdmU7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgbmFtZSBvZiB0aGUgZm9sZGVyLlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgZm9sZGVyIG5hbWUuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuXHRcdGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLm5hdGl2ZS5nZXRJbnRlcm5hbCgpO1xuXHRcdHJldHVybiBjb2xsZWN0aW9uLmdldE5hbWUoKTtcblx0fTtcblxuXHQvKipcblx0ICogR2V0cyB0aGUgZnVsbCBwYXRoIG9mIHRoZSBmb2xkZXIuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBmb2xkZXIgcGF0aC5cblx0ICovXG5cdHB1YmxpYyBnZXRQYXRoKCk6IHN0cmluZyB7XG5cdFx0Y29uc3QgY29sbGVjdGlvbiA9IHRoaXMubmF0aXZlLmdldEludGVybmFsKCk7XG5cdFx0cmV0dXJuIGNvbGxlY3Rpb24uZ2V0UGF0aCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBuZXcgc3ViLWZvbGRlciB3aXRoaW4gdGhpcyBmb2xkZXIuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBzdWItZm9sZGVyIHRvIGNyZWF0ZSAocmVsYXRpdmUgdG8gdGhpcyBmb2xkZXIpLlxuXHQgKiBAcmV0dXJucyB7Rm9sZGVyfSBUaGUgbmV3bHkgY3JlYXRlZCBGb2xkZXIgaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgY3JlYXRlRm9sZGVyKHBhdGg6IHN0cmluZyk6IEZvbGRlciB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuY3JlYXRlRm9sZGVyKHBhdGgpO1xuXHRcdHJldHVybiBuZXcgRm9sZGVyKG5hdGl2ZSk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHRoZSBmb2xkZXIgaXRzZWxmIGV4aXN0cy5cblx0ICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIGZvbGRlciBleGlzdHMuXG5cdCAqL1xuXHRwdWJsaWMgZXhpc3RzKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5leGlzdHMoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgYSBzcGVjaWZpYyBzdWItZm9sZGVyIHBhdGggZXhpc3RzIHdpdGhpbiB0aGlzIGZvbGRlci5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHJlbGF0aXZlIHBhdGggdG8gdGhlIHN1Yi1mb2xkZXIuXG5cdCAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSBzdWItZm9sZGVyIGV4aXN0cy5cblx0ICovXG5cdHB1YmxpYyBleGlzdHNGb2xkZXIocGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmV4aXN0c0ZvbGRlcihwYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgYSBzdWItZm9sZGVyIGJ5IGl0cyBwYXRoIHJlbGF0aXZlIHRvIHRoaXMgZm9sZGVyLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcmVsYXRpdmUgcGF0aCB0byB0aGUgc3ViLWZvbGRlci5cblx0ICogQHJldHVybnMge0ZvbGRlcn0gVGhlIEZvbGRlciBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBnZXRGb2xkZXIocGF0aDogc3RyaW5nKTogRm9sZGVyIHtcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5nZXRGb2xkZXIocGF0aCk7XG5cdFx0cmV0dXJuIG5ldyBGb2xkZXIobmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgYSBjb2xsZWN0aW9uIG9mIGZvbGRlcnMgYXQgYSBzcGVjaWZpYyBwYXRoIHJlbGF0aXZlIHRvIHRoaXMgZm9sZGVyLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCBjb250YWluaW5nIHRoZSBmb2xkZXJzIHRvIHJldHJpZXZlLlxuXHQgKiBAcmV0dXJucyB7Rm9sZGVyc30gVGhlIEZvbGRlcnMgY29sbGVjdGlvbiBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBnZXRGb2xkZXJzKHBhdGg6IHN0cmluZyk6IEZvbGRlcnMge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IHRoaXMubmF0aXZlLmdldEZvbGRlcnMocGF0aCk7XG5cdFx0cmV0dXJuIG5ldyBGb2xkZXJzKG5hdGl2ZSk7XG5cdH1cblxuXHQvKipcblx0ICogRGVsZXRlcyBhIHN1Yi1mb2xkZXIgZnJvbSB0aGlzIGZvbGRlci5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHBhdGggb2YgdGhlIHN1Yi1mb2xkZXIgdG8gZGVsZXRlIChyZWxhdGl2ZSB0byB0aGlzIGZvbGRlcikuXG5cdCAqL1xuXHRwdWJsaWMgZGVsZXRlRm9sZGVyKHBhdGg6IHN0cmluZyk6IHZvaWQge1xuXHRcdHRoaXMubmF0aXZlLmRlbGV0ZUZvbGRlcihwYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgbmV3IGZpbGUgd2l0aGluIHRoaXMgZm9sZGVyLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgZmlsZSB0byBjcmVhdGUgKHJlbGF0aXZlIHRvIHRoaXMgZm9sZGVyKS5cblx0ICogQHBhcmFtIHthbnlbXX0gW2lucHV0PVtdXSBPcHRpb25hbCBpbml0aWFsIGNvbnRlbnQgYXMgYSBieXRlIGFycmF5LlxuXHQgKiBAcmV0dXJucyB7RmlsZX0gVGhlIG5ld2x5IGNyZWF0ZWQgRmlsZSBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBjcmVhdGVGaWxlKHBhdGg6IHN0cmluZywgaW5wdXQ6IGFueVtdID0gW10pOiBGaWxlIHtcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5jcmVhdGVGaWxlKHBhdGgsIGlucHV0KTtcblx0XHRyZXR1cm4gbmV3IEZpbGUobmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgYSBzcGVjaWZpYyBmaWxlIHBhdGggZXhpc3RzIHdpdGhpbiB0aGlzIGZvbGRlci5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHJlbGF0aXZlIHBhdGggdG8gdGhlIGZpbGUuXG5cdCAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSBmaWxlIGV4aXN0cy5cblx0ICovXG5cdHB1YmxpYyBleGlzdHNGaWxlKHBhdGg6IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5leGlzdHNGaWxlKHBhdGgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyBhIGZpbGUgYnkgaXRzIHBhdGggcmVsYXRpdmUgdG8gdGhpcyBmb2xkZXIuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSByZWxhdGl2ZSBwYXRoIHRvIHRoZSBmaWxlLlxuXHQgKiBAcmV0dXJucyB7RmlsZX0gVGhlIEZpbGUgaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0RmlsZShwYXRoOiBzdHJpbmcpOiBGaWxlIHtcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5nZXRGaWxlKHBhdGgpO1xuXHRcdHJldHVybiBuZXcgRmlsZShuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyBhIGNvbGxlY3Rpb24gb2YgZmlsZXMgYXQgYSBzcGVjaWZpYyBwYXRoIHJlbGF0aXZlIHRvIHRoaXMgZm9sZGVyLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCBjb250YWluaW5nIHRoZSBmaWxlcyB0byByZXRyaWV2ZS5cblx0ICogQHJldHVybnMge0ZpbGVzfSBUaGUgRmlsZXMgY29sbGVjdGlvbiBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBnZXRGaWxlcyhwYXRoOiBzdHJpbmcpOiBGaWxlcyB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuZ2V0RmlsZXMocGF0aCk7XG5cdFx0cmV0dXJuIG5ldyBGaWxlcyhuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIERlbGV0ZXMgYSBmaWxlIGZyb20gdGhpcyBmb2xkZXIuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBmaWxlIHRvIGRlbGV0ZSAocmVsYXRpdmUgdG8gdGhpcyBmb2xkZXIpLlxuXHQgKi9cblx0cHVibGljIGRlbGV0ZUZpbGUocGF0aDogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5uYXRpdmUuZGVsZXRlRmlsZShwYXRoKTtcblx0fVxuXG59XG5cbi8qKlxuICogQGNsYXNzIEZpbGVcbiAqIEBkZXNjcmlwdGlvbiBSZXByZXNlbnRzIGEgZmlsZSAocmVzb3VyY2UpIHdpdGhpbiB0aGUgd29ya3NwYWNlLCBwcm92aWRpbmcgbWV0aG9kcyBmb3JcbiAqIGNvbnRlbnQgYWNjZXNzIGFuZCBtYW5pcHVsYXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBGaWxlIHtcblx0cHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuXHQvKipcblx0ICogQGNvbnN0cnVjdG9yXG5cdCAqIEBwYXJhbSB7YW55fSBuYXRpdmUgVGhlIG5hdGl2ZSBKYXZhIG9iamVjdCBpbnN0YW5jZSByZXByZXNlbnRpbmcgdGhlIGZpbGUuXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xuXHRcdHRoaXMubmF0aXZlID0gbmF0aXZlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIG5hbWUgb2YgdGhlIGZpbGUuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBmaWxlIG5hbWUuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuXHRcdGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLm5hdGl2ZS5nZXRJbnRlcm5hbCgpO1xuXHRcdHJldHVybiBjb2xsZWN0aW9uLmdldE5hbWUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBmdWxsIHBhdGggb2YgdGhlIGZpbGUuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBmaWxlIHBhdGguXG5cdCAqL1xuXHRwdWJsaWMgZ2V0UGF0aCgpOiBzdHJpbmcge1xuXHRcdGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLm5hdGl2ZS5nZXRJbnRlcm5hbCgpO1xuXHRcdHJldHVybiBjb2xsZWN0aW9uLmdldFBhdGgoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBjb250ZW50IHR5cGUgKE1JTUUgdHlwZSkgb2YgdGhlIGZpbGUuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBjb250ZW50IHR5cGUgc3RyaW5nLlxuXHQgKi9cblx0cHVibGljIGdldENvbnRlbnRUeXBlKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldENvbnRlbnRUeXBlKCk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHRoZSBmaWxlIGNvbnRlbnQgaXMgZGV0ZXJtaW5lZCB0byBiZSBiaW5hcnkuXG5cdCAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIGJpbmFyeSwgZmFsc2UgaWYgdGV4dC5cblx0ICovXG5cdHB1YmxpYyBpc0JpbmFyeSgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuaXNCaW5hcnkoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBjb250ZW50IG9mIHRoZSBmaWxlIGFzIGEgSmF2YVNjcmlwdC1mcmllbmRseSBieXRlIGFycmF5LlxuXHQgKiBAcmV0dXJucyB7YW55W119IFRoZSBjb250ZW50IGJ5dGVzLlxuXHQgKi9cblx0cHVibGljIGdldENvbnRlbnQoKTogYW55W10ge1xuXHRcdGNvbnN0IG91dHB1dCA9IFdvcmtzcGFjZUZhY2FkZS5nZXRDb250ZW50KHRoaXMubmF0aXZlKTtcblx0XHRpZiAob3V0cHV0KSB7XG5cdFx0XHQvLyBFbnN1cmUgaXQncyByZXR1cm5lZCBpZiBpdCBleGlzdHNcblx0XHRcdHJldHVybiBvdXRwdXQ7XG5cdFx0fVxuXHRcdHJldHVybiBvdXRwdXQ7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgY29udGVudCBvZiB0aGUgZmlsZSBhcyBhIHRleHQgc3RyaW5nLlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgdGV4dCBjb250ZW50LlxuXHQgKi9cblx0cHVibGljIGdldFRleHQoKTogc3RyaW5nIHtcblx0XHRjb25zdCBieXRlc091dHB1dCA9IHRoaXMuZ2V0Q29udGVudCgpO1xuXHRcdHJldHVybiBCeXRlcy5ieXRlQXJyYXlUb1RleHQoYnl0ZXNPdXRwdXQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldHMgdGhlIGNvbnRlbnQgb2YgdGhlIGZpbGUgdXNpbmcgYSBieXRlIGFycmF5LlxuXHQgKiBAcGFyYW0ge2FueVtdfSBpbnB1dCBUaGUgbmV3IGNvbnRlbnQgYnl0ZXMuXG5cdCAqL1xuXHRwdWJsaWMgc2V0Q29udGVudChpbnB1dDogYW55W10pOiB2b2lkIHtcblx0XHRXb3Jrc3BhY2VGYWNhZGUuc2V0Q29udGVudCh0aGlzLm5hdGl2ZSwgaW5wdXQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldHMgdGhlIGNvbnRlbnQgb2YgdGhlIGZpbGUgdXNpbmcgYSB0ZXh0IHN0cmluZy5cblx0ICogVGhlIHN0cmluZyBpcyBjb252ZXJ0ZWQgdG8gYSBieXRlIGFycmF5IGJlZm9yZSBzYXZpbmcuXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBpbnB1dCBUaGUgbmV3IHRleHQgY29udGVudC5cblx0ICovXG5cdHB1YmxpYyBzZXRUZXh0KGlucHV0OiBzdHJpbmcpOiB2b2lkIHtcblx0XHRjb25zdCBieXRlc0lucHV0ID0gQnl0ZXMudGV4dFRvQnl0ZUFycmF5KGlucHV0KTtcblx0XHR0aGlzLnNldENvbnRlbnQoYnl0ZXNJbnB1dCk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHRoZSBmaWxlIGV4aXN0cy5cblx0ICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIGZpbGUgZXhpc3RzLlxuXHQgKi9cblx0cHVibGljIGV4aXN0cygpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZXhpc3RzKCk7XG5cdH1cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBXb3Jrc3BhY2U7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiQUFJQSxTQUFTLGFBQWE7QUFFdEIsTUFBTSxrQkFBa0IsS0FBSyxLQUFLLCtEQUErRDtBQU8xRixNQUFNLFVBQVU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVF0QixPQUFjLGdCQUFnQixNQUF5QjtBQUN0RCxVQUFNLFNBQVMsZ0JBQWdCLGdCQUFnQixJQUFJO0FBQ25ELFdBQU8sSUFBSSxVQUFVLE1BQU07QUFBQSxFQUM1QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsT0FBYyxhQUFhLE1BQXlCO0FBQ25ELFVBQU0sU0FBUyxnQkFBZ0IsYUFBYSxJQUFJO0FBQ2hELFdBQU8sSUFBSSxVQUFVLE1BQU07QUFBQSxFQUM1QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLE9BQWMscUJBQStCO0FBQzVDLFVBQU0sa0JBQWtCLGdCQUFnQixtQkFBbUI7QUFDM0QsUUFBSSxpQkFBaUI7QUFFcEIsYUFBTyxLQUFLLE1B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
562
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BsYXRmb3JtL3dvcmtzcGFjZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAbW9kdWxlIHBsYXRmb3JtL3dvcmtzcGFjZVxuICogQHBhY2thZ2UgQGFlcm9raXQvc2RrL3BsYXRmb3JtXG4gKiBAbmFtZSBXb3Jrc3BhY2VcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgV29ya3NwYWNlIG1vZHVsZSBwcm92aWRlcyBhIHdyYXBwZXIgZm9yIHRoZSBwbGF0Zm9ybSdzIFdvcmtzcGFjZUZhY2FkZSwgYWxsb3dpbmcgZGV2ZWxvcGVycyB0byBtYW5hZ2Ugd29ya3NwYWNlcywgcHJvamVjdHMsIGZvbGRlcnMsIGFuZCBmaWxlcyBpbiBhIHN0cnVjdHVyZWQgbWFubmVyLiBJdCBhYnN0cmFjdHMgdGhlIHVuZGVybHlpbmcgSmF2YSBBUEksIHByb3ZpZGluZyBhIG1vcmUgaW50dWl0aXZlIGFuZCBKYXZhU2NyaXB0LWZyaWVuZGx5IGludGVyZmFjZSBmb3IgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgcGxhdGZvcm0ncyBmaWxlc3lzdGVtIGFuZCBwcm9qZWN0IG1hbmFnZW1lbnQgY2FwYWJpbGl0aWVzLlxuICogXG4gKiAjIyMgS2V5IEZlYXR1cmVzOlxuICogLSAqKldvcmtzcGFjZSBNYW5hZ2VtZW50Kio6IENyZWF0ZSwgcmV0cmlldmUsIGxpc3QsIGFuZCBkZWxldGUgd29ya3NwYWNlcy5cbiAqIC0gKipQcm9qZWN0IE1hbmFnZW1lbnQqKjogQ3JlYXRlLCByZXRyaWV2ZSwgbGlzdCwgY29weSwgbW92ZSwgYW5kIGRlbGV0ZSBwcm9qZWN0cyB3aXRoaW4gYSB3b3Jrc3BhY2UuXG4gKiAtICoqRm9sZGVyIGFuZCBGaWxlIE1hbmFnZW1lbnQqKjogQ3JlYXRlLCByZXRyaWV2ZSwgbGlzdCwgYW5kIGRlbGV0ZSBmb2xkZXJzIGFuZCBmaWxlcyB3aXRoaW4gcHJvamVjdHMuXG4gKiAtICoqQ29udGVudCBBY2Nlc3MqKjogUmVhZCBhbmQgd3JpdGUgZmlsZSBjb250ZW50IGFzIGJ5dGUgYXJyYXlzIG9yIHRleHQgc3RyaW5ncy5cbiAqIFxuICogIyMjIFVzZSBDYXNlczpcbiAqIC0gKipQcm9qZWN0IE9yZ2FuaXphdGlvbioqOiBUaGlzIG1vZHVsZSBpcyBpZGVhbCBmb3IgYXBwbGljYXRpb25zIHRoYXQgbmVlZCB0byBvcmdhbml6ZSBjb2RlIGFuZCByZXNvdXJjZXMgaW50byBwcm9qZWN0cyBhbmQgd29ya3NwYWNlcyBvbiB0aGUgcGxhdGZvcm0uXG4gKiAtICoqRmlsZSBNYW5pcHVsYXRpb24qKjogRGV2ZWxvcGVycyBjYW4gdXNlIHRoaXMgbW9kdWxlIHRvIG1hbmFnZSBmaWxlcyBhbmQgZm9sZGVycyB3aXRoaW4gdGhlaXIgcHJvamVjdHMsIGluY2x1ZGluZyByZWFkaW5nIGFuZCB3cml0aW5nIGZpbGUgY29udGVudC5cbiAqIFxuICogIyMjIEV4YW1wbGUgVXNhZ2U6XG4gKiBgYGB0c1xuICogaW1wb3J0IHsgV29ya3NwYWNlIH0gZnJvbSBcIkBhZXJva2l0L3Nkay9wbGF0Zm9ybVwiO1xuICogXG4gKiAvLyBDcmVhdGUgYSBuZXcgd29ya3NwYWNlXG4gKiBjb25zdCB3b3Jrc3BhY2UgPSBXb3Jrc3BhY2UuY3JlYXRlV29ya3NwYWNlKFwiTXlXb3Jrc3BhY2VcIik7XG4gKiBcbiAqIC8vIENyZWF0ZSBhIG5ldyBwcm9qZWN0IHdpdGhpbiB0aGUgd29ya3NwYWNlXG4gKiBjb25zdCBwcm9qZWN0ID0gd29ya3NwYWNlLmNyZWF0ZVByb2plY3QoXCJNeVByb2plY3RcIik7XG4gKiBcbiAqIC8vIENyZWF0ZSBhIG5ldyBmb2xkZXIgd2l0aGluIHRoZSBwcm9qZWN0XG4gKiBjb25zdCBmb2xkZXIgPSBwcm9qZWN0LmNyZWF0ZUZvbGRlcihcInNyY1wiKTtcbiAqIFxuICogLy8gQ3JlYXRlIGEgbmV3IGZpbGUgd2l0aGluIHRoZSBmb2xkZXIgd2l0aCBpbml0aWFsIGNvbnRlbnRcbiAqIGNvbnN0IGZpbGUgPSBmb2xkZXIuY3JlYXRlRmlsZShcImluZGV4LmpzXCIsIFsuLi5dKTsgLy8gSW5pdGlhbCBjb250ZW50IGFzIGJ5dGUgYXJyYXlcbiAqIFxuICogLy8gUmVhZCBmaWxlIGNvbnRlbnQgYXMgdGV4dFxuICogY29uc3QgY29udGVudCA9IGZpbGUuZ2V0VGV4dCgpO1xuICogY29uc29sZS5sb2coXCJGaWxlIENvbnRlbnQ6XCIsIGNvbnRlbnQpO1xuICogXG4gKiAvLyBVcGRhdGUgZmlsZSBjb250ZW50IHdpdGggbmV3IHRleHRcbiAqIGZpbGUuc2V0VGV4dChcImNvbnNvbGUubG9nKCdIZWxsbywgV29ybGQhJyk7XCIpO1xuICogYGBgXG4gKi9cblxuaW1wb3J0IHsgQnl0ZXMgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2lvL2J5dGVzXCI7XG5cbmNvbnN0IFdvcmtzcGFjZUZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5wbGF0Zm9ybS5Xb3Jrc3BhY2VGYWNhZGVcIik7XG5cbi8qKlxuICogQGNsYXNzIFdvcmtzcGFjZVxuICogQGRlc2NyaXB0aW9uIFJlcHJlc2VudHMgYSBsb2dpY2FsIGNvbnRhaW5lciBmb3IgcHJvamVjdHMsIHByb3ZpZGluZyBzdGF0aWMgbWV0aG9kcyBmb3JcbiAqIGhpZ2gtbGV2ZWwgd29ya3NwYWNlIG1hbmFnZW1lbnQgYW5kIGluc3RhbmNlIG1ldGhvZHMgZm9yIHByb2plY3QgbWFuYWdlbWVudCB3aXRoaW4gdGhlIHdvcmtzcGFjZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFdvcmtzcGFjZSB7XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBuZXcgd29ya3NwYWNlIHdpdGggdGhlIGdpdmVuIG5hbWUuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIFRoZSBuYW1lIG9mIHRoZSB3b3Jrc3BhY2UgdG8gY3JlYXRlLlxuXHQgKiBAcmV0dXJucyB7V29ya3NwYWNlfSBUaGUgbmV3bHkgY3JlYXRlZCBXb3Jrc3BhY2UgaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGNyZWF0ZVdvcmtzcGFjZShuYW1lOiBzdHJpbmcpOiBXb3Jrc3BhY2Uge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IFdvcmtzcGFjZUZhY2FkZS5jcmVhdGVXb3Jrc3BhY2UobmFtZSk7XG5cdFx0cmV0dXJuIG5ldyBXb3Jrc3BhY2UobmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgYW4gZXhpc3Rpbmcgd29ya3NwYWNlIGJ5IG5hbWUuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIFRoZSBuYW1lIG9mIHRoZSB3b3Jrc3BhY2UgdG8gcmV0cmlldmUuXG5cdCAqIEByZXR1cm5zIHtXb3Jrc3BhY2V9IFRoZSBXb3Jrc3BhY2UgaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldFdvcmtzcGFjZShuYW1lOiBzdHJpbmcpOiBXb3Jrc3BhY2Uge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IFdvcmtzcGFjZUZhY2FkZS5nZXRXb3Jrc3BhY2UobmFtZSk7XG5cdFx0cmV0dXJuIG5ldyBXb3Jrc3BhY2UobmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgdGhlIG5hbWVzIG9mIGFsbCBleGlzdGluZyB3b3Jrc3BhY2VzLlxuXHQgKlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nW119IEFuIGFycmF5IG9mIHdvcmtzcGFjZSBuYW1lcy5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0V29ya3NwYWNlc05hbWVzKCk6IHN0cmluZ1tdIHtcblx0XHRjb25zdCB3b3Jrc3BhY2VzTmFtZXMgPSBXb3Jrc3BhY2VGYWNhZGUuZ2V0V29ya3NwYWNlc05hbWVzKCk7XG5cdFx0aWYgKHdvcmtzcGFjZXNOYW1lcykge1xuXHRcdFx0Ly8gVGhlIG5hdGl2ZSBtZXRob2QgcmV0dXJucyBhIEpTT04gc3RyaW5nIGFycmF5IHRoYXQgbmVlZHMgdG8gYmUgcGFyc2VkLlxuXHRcdFx0cmV0dXJuIEpTT04ucGFyc2Uod29ya3NwYWNlc05hbWVzKTtcblx0XHR9XG5cdFx0Ly8gSWYgbnVsbCBvciB1bmRlZmluZWQgaXMgcmV0dXJuZWQsIHJldHVybiB0aGUgcmF3IHZhbHVlICh3aGljaCB3aWxsIGJlIG51bGwvdW5kZWZpbmVkKS5cblx0XHRyZXR1cm4gd29ya3NwYWNlc05hbWVzO1xuXHR9XG5cblx0LyoqXG5cdCAqIERlbGV0ZXMgdGhlIHdvcmtzcGFjZSB3aXRoIHRoZSBzcGVjaWZpZWQgbmFtZS5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgVGhlIG5hbWUgb2YgdGhlIHdvcmtzcGFjZSB0byBkZWxldGUuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGRlbGV0ZVdvcmtzcGFjZShuYW1lOiBzdHJpbmcpOiB2b2lkIHtcblx0XHRXb3Jrc3BhY2VGYWNhZGUuZGVsZXRlV29ya3NwYWNlKG5hbWUpO1xuXHR9XG5cblx0cHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuXHQvKipcblx0ICogQGNvbnN0cnVjdG9yXG5cdCAqIEBwYXJhbSB7YW55fSBuYXRpdmUgVGhlIG5hdGl2ZSBKYXZhIG9iamVjdCBpbnN0YW5jZSByZXByZXNlbnRpbmcgdGhlIHdvcmtzcGFjZS5cblx0ICovXG5cdGNvbnN0cnVjdG9yKG5hdGl2ZTogYW55KSB7XG5cdFx0dGhpcy5uYXRpdmUgPSBuYXRpdmU7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyBhIGNvbGxlY3Rpb24gb2YgYWxsIHByb2plY3RzIHdpdGhpbiB0aGlzIHdvcmtzcGFjZS5cblx0ICpcblx0ICogQHJldHVybnMge1Byb2plY3RzfSBBIFByb2plY3RzIGNvbGxlY3Rpb24gaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0UHJvamVjdHMoKTogUHJvamVjdHMge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IHRoaXMubmF0aXZlLmdldFByb2plY3RzKCk7XG5cdFx0cmV0dXJuIG5ldyBQcm9qZWN0cyhuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBuZXcgcHJvamVjdCB3aXRoaW4gdGhpcyB3b3Jrc3BhY2UuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBwcm9qZWN0IHRvIGNyZWF0ZS5cblx0ICogQHJldHVybnMge1Byb2plY3R9IFRoZSBuZXdseSBjcmVhdGVkIFByb2plY3QgaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgY3JlYXRlUHJvamVjdChuYW1lOiBzdHJpbmcpOiBQcm9qZWN0IHtcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5jcmVhdGVQcm9qZWN0KG5hbWUpO1xuXHRcdHJldHVybiBuZXcgUHJvamVjdChuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyBhbiBleGlzdGluZyBwcm9qZWN0IGJ5IG5hbWUgZnJvbSB0aGlzIHdvcmtzcGFjZS5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgVGhlIG5hbWUgb2YgdGhlIHByb2plY3QgdG8gcmV0cmlldmUuXG5cdCAqIEByZXR1cm5zIHtQcm9qZWN0fSBUaGUgUHJvamVjdCBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBnZXRQcm9qZWN0KG5hbWU6IHN0cmluZyk6IFByb2plY3Qge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IHRoaXMubmF0aXZlLmdldFByb2plY3QobmFtZSk7XG5cdFx0cmV0dXJuIG5ldyBQcm9qZWN0KG5hdGl2ZSk7XG5cdH1cblxuXHQvKipcblx0ICogRGVsZXRlcyBhIHByb2plY3QgZnJvbSB0aGlzIHdvcmtzcGFjZSBieSBuYW1lLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBUaGUgbmFtZSBvZiB0aGUgcHJvamVjdCB0byBkZWxldGUuXG5cdCAqL1xuXHRwdWJsaWMgZGVsZXRlUHJvamVjdChuYW1lOiBzdHJpbmcpOiB2b2lkIHtcblx0XHR0aGlzLm5hdGl2ZS5kZWxldGVQcm9qZWN0KG5hbWUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgd29ya3NwYWNlIGN1cnJlbnRseSBleGlzdHMuXG5cdCAqXG5cdCAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSB3b3Jrc3BhY2UgZXhpc3RzLCBmYWxzZSBvdGhlcndpc2UuXG5cdCAqL1xuXHRwdWJsaWMgZXhpc3RzKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5leGlzdHMoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgYSBzcGVjaWZpYyBmb2xkZXIgcGF0aCBleGlzdHMgd2l0aGluIHRoZSB3b3Jrc3BhY2UncyBmaWxlc3lzdGVtIHN0cnVjdHVyZS5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHJlbGF0aXZlIHBhdGggdG8gdGhlIGZvbGRlci5cblx0ICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIGZvbGRlciBleGlzdHMuXG5cdCAqL1xuXHRwdWJsaWMgZXhpc3RzRm9sZGVyKHBhdGg6IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5leGlzdHNGb2xkZXIocGF0aCk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIGEgc3BlY2lmaWMgZmlsZSBwYXRoIGV4aXN0cyB3aXRoaW4gdGhlIHdvcmtzcGFjZSdzIGZpbGVzeXN0ZW0gc3RydWN0dXJlLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcmVsYXRpdmUgcGF0aCB0byB0aGUgZmlsZS5cblx0ICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIGZpbGUgZXhpc3RzLlxuXHQgKi9cblx0cHVibGljIGV4aXN0c0ZpbGUocGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmV4aXN0c0ZpbGUocGF0aCk7XG5cdH1cblxuXHQvKipcblx0ICogQ29waWVzIGEgcHJvamVjdCBmcm9tIGEgc291cmNlIG5hbWUgdG8gYSB0YXJnZXQgbmFtZSB3aXRoaW4gdGhlIHdvcmtzcGFjZS5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHNvdXJjZSBUaGUgbmFtZSBvZiB0aGUgcHJvamVjdCB0byBjb3B5LlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gdGFyZ2V0IFRoZSBuYW1lIG9mIHRoZSBuZXcgcHJvamVjdCBjb3B5LlxuXHQgKi9cblx0cHVibGljIGNvcHlQcm9qZWN0KHNvdXJjZTogc3RyaW5nLCB0YXJnZXQ6IHN0cmluZyk6IHZvaWQge1xuXHRcdHRoaXMubmF0aXZlLmNvcHlQcm9qZWN0KHNvdXJjZSwgdGFyZ2V0KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBNb3ZlcyBhIHByb2plY3QgZnJvbSBhIHNvdXJjZSBuYW1lIHRvIGEgdGFyZ2V0IG5hbWUgKHJlbmFtaW5nIGl0KS5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHNvdXJjZSBUaGUgY3VycmVudCBuYW1lIG9mIHRoZSBwcm9qZWN0LlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gdGFyZ2V0IFRoZSBuZXcgbmFtZS9wYXRoIG9mIHRoZSBwcm9qZWN0LlxuXHQgKi9cblx0cHVibGljIG1vdmVQcm9qZWN0KHNvdXJjZTogc3RyaW5nLCB0YXJnZXQ6IHN0cmluZyk6IHZvaWQge1xuXHRcdHRoaXMubmF0aXZlLm1vdmVQcm9qZWN0KHNvdXJjZSwgdGFyZ2V0KTtcblx0fVxuXG59XG5cbi8qKlxuICogQGNsYXNzIFByb2plY3RzXG4gKiBAZGVzY3JpcHRpb24gQSBjb2xsZWN0aW9uL2xpc3Qgb2YgcHJvamVjdHMgd2l0aGluIGEgd29ya3NwYWNlLlxuICovXG5leHBvcnQgY2xhc3MgUHJvamVjdHMge1xuXHRwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xuXG5cdC8qKlxuXHQgKiBAY29uc3RydWN0b3Jcblx0ICogQHBhcmFtIHthbnl9IG5hdGl2ZSBUaGUgbmF0aXZlIEphdmEgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgbGlzdCBvZiBwcm9qZWN0cy5cblx0ICovXG5cdGNvbnN0cnVjdG9yKG5hdGl2ZTogYW55KSB7XG5cdFx0dGhpcy5uYXRpdmUgPSBuYXRpdmU7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgbnVtYmVyIG9mIHByb2plY3RzIGluIHRoZSBjb2xsZWN0aW9uLlxuXHQgKiBAcmV0dXJucyB7bnVtYmVyfSBUaGUgc2l6ZSBvZiB0aGUgY29sbGVjdGlvbi5cblx0ICovXG5cdHB1YmxpYyBzaXplKCk6IG51bWJlciB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLnNpemUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIGEgUHJvamVjdCBpbnN0YW5jZSBhdCB0aGUgc3BlY2lmaWVkIGluZGV4LlxuXHQgKiBAcGFyYW0ge251bWJlcn0gaW5kZXggVGhlIGluZGV4IG9mIHRoZSBwcm9qZWN0LlxuXHQgKiBAcmV0dXJucyB7UHJvamVjdH0gVGhlIFByb2plY3QgaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0KGluZGV4OiBudW1iZXIpOiBQcm9qZWN0IHtcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5nZXQoaW5kZXgpO1xuXHRcdHJldHVybiBuZXcgUHJvamVjdChuYXRpdmUpO1xuXHR9XG5cbn1cblxuLyoqXG4gKiBAY2xhc3MgUHJvamVjdFxuICogQGRlc2NyaXB0aW9uIFJlcHJlc2VudHMgYSBQcm9qZWN0IHdpdGhpbiBhIHdvcmtzcGFjZS4gSXQgcHJvdmlkZXMgbWV0aG9kcyBmb3IgbWFuYWdpbmdcbiAqIGZvbGRlcnMgYW5kIGZpbGVzIHdpdGhpbiB0aGUgcHJvamVjdC5cbiAqL1xuZXhwb3J0IGNsYXNzIFByb2plY3Qge1xuXHRwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xuXG5cdC8qKlxuXHQgKiBAY29uc3RydWN0b3Jcblx0ICogQHBhcmFtIHthbnl9IG5hdGl2ZSBUaGUgbmF0aXZlIEphdmEgb2JqZWN0IGluc3RhbmNlIHJlcHJlc2VudGluZyB0aGUgcHJvamVjdC5cblx0ICovXG5cdGNvbnN0cnVjdG9yKG5hdGl2ZTogYW55KSB7XG5cdFx0dGhpcy5uYXRpdmUgPSBuYXRpdmU7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgbmFtZSBvZiB0aGUgcHJvamVjdC5cblx0ICogQHJldHVybnMge3N0cmluZ30gVGhlIHByb2plY3QgbmFtZS5cblx0ICovXG5cdHB1YmxpYyBnZXROYW1lKCk6IHN0cmluZyB7XG5cdFx0Y29uc3QgY29sbGVjdGlvbiA9IHRoaXMubmF0aXZlLmdldEludGVybmFsKCk7XG5cdFx0cmV0dXJuIGNvbGxlY3Rpb24uZ2V0TmFtZSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHBhdGggb2YgdGhlIHByb2plY3QuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBwcm9qZWN0IHBhdGggKHJlbGF0aXZlIHRvIHRoZSByZXBvc2l0b3J5L3dvcmtzcGFjZSByb290KS5cblx0ICovXG5cdHB1YmxpYyBnZXRQYXRoKCk6IHN0cmluZyB7XG5cdFx0Y29uc3QgY29sbGVjdGlvbiA9IHRoaXMubmF0aXZlLmdldEludGVybmFsKCk7XG5cdFx0cmV0dXJuIGNvbGxlY3Rpb24uZ2V0UGF0aCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBuZXcgZm9sZGVyIHdpdGhpbiB0aGUgcHJvamVjdC5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHBhdGggb2YgdGhlIGZvbGRlciB0byBjcmVhdGUgKHJlbGF0aXZlIHRvIHRoZSBwcm9qZWN0IHJvb3QpLlxuXHQgKiBAcmV0dXJucyB7Rm9sZGVyfSBUaGUgbmV3bHkgY3JlYXRlZCBGb2xkZXIgaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgY3JlYXRlRm9sZGVyKHBhdGg6IHN0cmluZyk6IEZvbGRlciB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuY3JlYXRlRm9sZGVyKHBhdGgpO1xuXHRcdHJldHVybiBuZXcgRm9sZGVyKG5hdGl2ZSk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHRoZSBwcm9qZWN0IGl0c2VsZiBleGlzdHMuXG5cdCAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSBwcm9qZWN0IGV4aXN0cy5cblx0ICovXG5cdHB1YmxpYyBleGlzdHMoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmV4aXN0cygpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiBhIHNwZWNpZmljIGZvbGRlciBwYXRoIGV4aXN0cyB3aXRoaW4gdGhlIHByb2plY3QuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSByZWxhdGl2ZSBwYXRoIHRvIHRoZSBmb2xkZXIuXG5cdCAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSBmb2xkZXIgZXhpc3RzLlxuXHQgKi9cblx0cHVibGljIGV4aXN0c0ZvbGRlcihwYXRoOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZXhpc3RzRm9sZGVyKHBhdGgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyBhIGZvbGRlciBieSBpdHMgcGF0aCByZWxhdGl2ZSB0byB0aGUgcHJvamVjdCByb290LlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcmVsYXRpdmUgcGF0aCB0byB0aGUgZm9sZGVyLlxuXHQgKiBAcmV0dXJucyB7Rm9sZGVyfSBUaGUgRm9sZGVyIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGdldEZvbGRlcihwYXRoOiBzdHJpbmcpOiBGb2xkZXIge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IHRoaXMubmF0aXZlLmdldEZvbGRlcihwYXRoKTtcblx0XHRyZXR1cm4gbmV3IEZvbGRlcihuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyBhIGNvbGxlY3Rpb24gb2YgZm9sZGVycyBhdCBhIHNwZWNpZmljIHBhdGguXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBwYXRoIGNvbnRhaW5pbmcgdGhlIGZvbGRlcnMgdG8gcmV0cmlldmUuXG5cdCAqIEByZXR1cm5zIHtGb2xkZXJzfSBUaGUgRm9sZGVycyBjb2xsZWN0aW9uIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGdldEZvbGRlcnMocGF0aDogc3RyaW5nKTogRm9sZGVycyB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuZ2V0Rm9sZGVycyhwYXRoKTtcblx0XHRyZXR1cm4gbmV3IEZvbGRlcnMobmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBEZWxldGVzIGEgZm9sZGVyIGZyb20gdGhlIHByb2plY3QuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBmb2xkZXIgdG8gZGVsZXRlIChyZWxhdGl2ZSB0byB0aGUgcHJvamVjdCByb290KS5cblx0ICovXG5cdHB1YmxpYyBkZWxldGVGb2xkZXIocGF0aDogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5uYXRpdmUuZGVsZXRlRm9sZGVyKHBhdGgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBuZXcgZmlsZSB3aXRoaW4gdGhlIHByb2plY3QuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBmaWxlIHRvIGNyZWF0ZSAocmVsYXRpdmUgdG8gdGhlIHByb2plY3Qgcm9vdCkuXG5cdCAqIEBwYXJhbSB7YW55W119IFtpbnB1dD1bXV0gT3B0aW9uYWwgaW5pdGlhbCBjb250ZW50IGFzIGEgYnl0ZSBhcnJheS5cblx0ICogQHJldHVybnMge0ZpbGV9IFRoZSBuZXdseSBjcmVhdGVkIEZpbGUgaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgY3JlYXRlRmlsZShwYXRoOiBzdHJpbmcsIGlucHV0OiBhbnlbXSA9IFtdKTogRmlsZSB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuY3JlYXRlRmlsZShwYXRoLCBpbnB1dCk7XG5cdFx0cmV0dXJuIG5ldyBGaWxlKG5hdGl2ZSk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIGEgc3BlY2lmaWMgZmlsZSBwYXRoIGV4aXN0cyB3aXRoaW4gdGhlIHByb2plY3QuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSByZWxhdGl2ZSBwYXRoIHRvIHRoZSBmaWxlLlxuXHQgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgZmlsZSBleGlzdHMuXG5cdCAqL1xuXHRwdWJsaWMgZXhpc3RzRmlsZShwYXRoOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZXhpc3RzRmlsZShwYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgYSBmaWxlIGJ5IGl0cyBwYXRoIHJlbGF0aXZlIHRvIHRoZSBwcm9qZWN0IHJvb3QuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSByZWxhdGl2ZSBwYXRoIHRvIHRoZSBmaWxlLlxuXHQgKiBAcmV0dXJucyB7RmlsZX0gVGhlIEZpbGUgaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0RmlsZShwYXRoOiBzdHJpbmcpOiBGaWxlIHtcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5nZXRGaWxlKHBhdGgpO1xuXHRcdHJldHVybiBuZXcgRmlsZShuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyBhIGNvbGxlY3Rpb24gb2YgZmlsZXMgYXQgYSBzcGVjaWZpYyBwYXRoLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCBjb250YWluaW5nIHRoZSBmaWxlcyB0byByZXRyaWV2ZS5cblx0ICogQHJldHVybnMge0ZpbGVzfSBUaGUgRmlsZXMgY29sbGVjdGlvbiBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBnZXRGaWxlcyhwYXRoOiBzdHJpbmcpOiBGaWxlcyB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuZ2V0RmlsZXMocGF0aCk7XG5cdFx0cmV0dXJuIG5ldyBGaWxlcyhuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIERlbGV0ZXMgYSBmaWxlIGZyb20gdGhlIHByb2plY3QuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBmaWxlIHRvIGRlbGV0ZSAocmVsYXRpdmUgdG8gdGhlIHByb2plY3Qgcm9vdCkuXG5cdCAqL1xuXHRwdWJsaWMgZGVsZXRlRmlsZShwYXRoOiBzdHJpbmcpOiB2b2lkIHtcblx0XHR0aGlzLm5hdGl2ZS5kZWxldGVGaWxlKHBhdGgpO1xuXHR9XG5cbn1cblxuLyoqXG4gKiBAY2xhc3MgRm9sZGVyc1xuICogQGRlc2NyaXB0aW9uIEEgY29sbGVjdGlvbi9saXN0IG9mIGZvbGRlcnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBGb2xkZXJzIHtcblx0cHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuXHQvKipcblx0ICogQGNvbnN0cnVjdG9yXG5cdCAqIEBwYXJhbSB7YW55fSBuYXRpdmUgVGhlIG5hdGl2ZSBKYXZhIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIGxpc3Qgb2YgZm9sZGVycy5cblx0ICovXG5cdGNvbnN0cnVjdG9yKG5hdGl2ZTogYW55KSB7XG5cdFx0dGhpcy5uYXRpdmUgPSBuYXRpdmU7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgbnVtYmVyIG9mIGZvbGRlcnMgaW4gdGhlIGNvbGxlY3Rpb24uXG5cdCAqIEByZXR1cm5zIHtudW1iZXJ9IFRoZSBzaXplIG9mIHRoZSBjb2xsZWN0aW9uLlxuXHQgKi9cblx0cHVibGljIHNpemUoKTogbnVtYmVyIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuc2l6ZSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgYSBGb2xkZXIgaW5zdGFuY2UgYXQgdGhlIHNwZWNpZmllZCBpbmRleC5cblx0ICogQHBhcmFtIHtudW1iZXJ9IGluZGV4IFRoZSBpbmRleCBvZiB0aGUgZm9sZGVyLlxuXHQgKiBAcmV0dXJucyB7Rm9sZGVyfSBUaGUgRm9sZGVyIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGdldChpbmRleDogbnVtYmVyKTogRm9sZGVyIHtcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5nZXQoaW5kZXgpO1xuXHRcdHJldHVybiBuZXcgRm9sZGVyKG5hdGl2ZSk7XG5cdH1cblxufVxuXG4vKipcbiAqIEBjbGFzcyBGaWxlc1xuICogQGRlc2NyaXB0aW9uIEEgY29sbGVjdGlvbi9saXN0IG9mIGZpbGVzLlxuICovXG5leHBvcnQgY2xhc3MgRmlsZXMge1xuXHRwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xuXG5cdC8qKlxuXHQgKiBAY29uc3RydWN0b3Jcblx0ICogQHBhcmFtIHthbnl9IG5hdGl2ZSBUaGUgbmF0aXZlIEphdmEgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgbGlzdCBvZiBmaWxlcy5cblx0ICovXG5cdGNvbnN0cnVjdG9yKG5hdGl2ZTogYW55KSB7XG5cdFx0dGhpcy5uYXRpdmUgPSBuYXRpdmU7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgbnVtYmVyIG9mIGZpbGVzIGluIHRoZSBjb2xsZWN0aW9uLlxuXHQgKiBAcmV0dXJucyB7bnVtYmVyfSBUaGUgc2l6ZSBvZiB0aGUgY29sbGVjdGlvbi5cblx0ICovXG5cdHB1YmxpYyBzaXplKCk6IG51bWJlciB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLnNpemUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIGEgRmlsZSBpbnN0YW5jZSBhdCB0aGUgc3BlY2lmaWVkIGluZGV4LlxuXHQgKiBAcGFyYW0ge251bWJlcn0gaW5kZXggVGhlIGluZGV4IG9mIHRoZSBmaWxlLlxuXHQgKiBAcmV0dXJucyB7RmlsZX0gVGhlIEZpbGUgaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0KGluZGV4OiBudW1iZXIpOiBGaWxlIHtcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5nZXQoaW5kZXgpO1xuXHRcdHJldHVybiBuZXcgRmlsZShuYXRpdmUpO1xuXHR9XG5cbn1cblxuLyoqXG4gKiBAY2xhc3MgRm9sZGVyXG4gKiBAZGVzY3JpcHRpb24gUmVwcmVzZW50cyBhIGRpcmVjdG9yeSBvciBmb2xkZXIgd2l0aGluIGEgcHJvamVjdCwgcHJvdmlkaW5nIG1ldGhvZHMgZm9yXG4gKiBtYW5hZ2luZyBzdWItZm9sZGVycyBhbmQgZmlsZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBGb2xkZXIge1xuXHRwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xuXG5cdC8qKlxuXHQgKiBAY29uc3RydWN0b3Jcblx0ICogQHBhcmFtIHthbnl9IG5hdGl2ZSBUaGUgbmF0aXZlIEphdmEgb2JqZWN0IGluc3RhbmNlIHJlcHJlc2VudGluZyB0aGUgZm9sZGVyLlxuXHQgKi9cblx0Y29uc3RydWN0b3IobmF0aXZlOiBhbnkpIHtcblx0XHR0aGlzLm5hdGl2ZSA9IG5hdGl2ZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBuYW1lIG9mIHRoZSBmb2xkZXIuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBmb2xkZXIgbmFtZS5cblx0ICovXG5cdHB1YmxpYyBnZXROYW1lKCk6IHN0cmluZyB7XG5cdFx0Y29uc3QgY29sbGVjdGlvbiA9IHRoaXMubmF0aXZlLmdldEludGVybmFsKCk7XG5cdFx0cmV0dXJuIGNvbGxlY3Rpb24uZ2V0TmFtZSgpO1xuXHR9O1xuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBmdWxsIHBhdGggb2YgdGhlIGZvbGRlci5cblx0ICogQHJldHVybnMge3N0cmluZ30gVGhlIGZvbGRlciBwYXRoLlxuXHQgKi9cblx0cHVibGljIGdldFBhdGgoKTogc3RyaW5nIHtcblx0XHRjb25zdCBjb2xsZWN0aW9uID0gdGhpcy5uYXRpdmUuZ2V0SW50ZXJuYWwoKTtcblx0XHRyZXR1cm4gY29sbGVjdGlvbi5nZXRQYXRoKCk7XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIG5ldyBzdWItZm9sZGVyIHdpdGhpbiB0aGlzIGZvbGRlci5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHBhdGggb2YgdGhlIHN1Yi1mb2xkZXIgdG8gY3JlYXRlIChyZWxhdGl2ZSB0byB0aGlzIGZvbGRlcikuXG5cdCAqIEByZXR1cm5zIHtGb2xkZXJ9IFRoZSBuZXdseSBjcmVhdGVkIEZvbGRlciBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBjcmVhdGVGb2xkZXIocGF0aDogc3RyaW5nKTogRm9sZGVyIHtcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5jcmVhdGVGb2xkZXIocGF0aCk7XG5cdFx0cmV0dXJuIG5ldyBGb2xkZXIobmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhlIGZvbGRlciBpdHNlbGYgZXhpc3RzLlxuXHQgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgZm9sZGVyIGV4aXN0cy5cblx0ICovXG5cdHB1YmxpYyBleGlzdHMoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmV4aXN0cygpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiBhIHNwZWNpZmljIHN1Yi1mb2xkZXIgcGF0aCBleGlzdHMgd2l0aGluIHRoaXMgZm9sZGVyLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcmVsYXRpdmUgcGF0aCB0byB0aGUgc3ViLWZvbGRlci5cblx0ICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIHN1Yi1mb2xkZXIgZXhpc3RzLlxuXHQgKi9cblx0cHVibGljIGV4aXN0c0ZvbGRlcihwYXRoOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZXhpc3RzRm9sZGVyKHBhdGgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyBhIHN1Yi1mb2xkZXIgYnkgaXRzIHBhdGggcmVsYXRpdmUgdG8gdGhpcyBmb2xkZXIuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSByZWxhdGl2ZSBwYXRoIHRvIHRoZSBzdWItZm9sZGVyLlxuXHQgKiBAcmV0dXJucyB7Rm9sZGVyfSBUaGUgRm9sZGVyIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGdldEZvbGRlcihwYXRoOiBzdHJpbmcpOiBGb2xkZXIge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IHRoaXMubmF0aXZlLmdldEZvbGRlcihwYXRoKTtcblx0XHRyZXR1cm4gbmV3IEZvbGRlcihuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyBhIGNvbGxlY3Rpb24gb2YgZm9sZGVycyBhdCBhIHNwZWNpZmljIHBhdGggcmVsYXRpdmUgdG8gdGhpcyBmb2xkZXIuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBwYXRoIGNvbnRhaW5pbmcgdGhlIGZvbGRlcnMgdG8gcmV0cmlldmUuXG5cdCAqIEByZXR1cm5zIHtGb2xkZXJzfSBUaGUgRm9sZGVycyBjb2xsZWN0aW9uIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGdldEZvbGRlcnMocGF0aDogc3RyaW5nKTogRm9sZGVycyB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuZ2V0Rm9sZGVycyhwYXRoKTtcblx0XHRyZXR1cm4gbmV3IEZvbGRlcnMobmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBEZWxldGVzIGEgc3ViLWZvbGRlciBmcm9tIHRoaXMgZm9sZGVyLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgc3ViLWZvbGRlciB0byBkZWxldGUgKHJlbGF0aXZlIHRvIHRoaXMgZm9sZGVyKS5cblx0ICovXG5cdHB1YmxpYyBkZWxldGVGb2xkZXIocGF0aDogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5uYXRpdmUuZGVsZXRlRm9sZGVyKHBhdGgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBuZXcgZmlsZSB3aXRoaW4gdGhpcyBmb2xkZXIuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBmaWxlIHRvIGNyZWF0ZSAocmVsYXRpdmUgdG8gdGhpcyBmb2xkZXIpLlxuXHQgKiBAcGFyYW0ge2FueVtdfSBbaW5wdXQ9W11dIE9wdGlvbmFsIGluaXRpYWwgY29udGVudCBhcyBhIGJ5dGUgYXJyYXkuXG5cdCAqIEByZXR1cm5zIHtGaWxlfSBUaGUgbmV3bHkgY3JlYXRlZCBGaWxlIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGNyZWF0ZUZpbGUocGF0aDogc3RyaW5nLCBpbnB1dDogYW55W10gPSBbXSk6IEZpbGUge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IHRoaXMubmF0aXZlLmNyZWF0ZUZpbGUocGF0aCwgaW5wdXQpO1xuXHRcdHJldHVybiBuZXcgRmlsZShuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiBhIHNwZWNpZmljIGZpbGUgcGF0aCBleGlzdHMgd2l0aGluIHRoaXMgZm9sZGVyLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcmVsYXRpdmUgcGF0aCB0byB0aGUgZmlsZS5cblx0ICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIGZpbGUgZXhpc3RzLlxuXHQgKi9cblx0cHVibGljIGV4aXN0c0ZpbGUocGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmV4aXN0c0ZpbGUocGF0aCk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIGEgZmlsZSBieSBpdHMgcGF0aCByZWxhdGl2ZSB0byB0aGlzIGZvbGRlci5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHJlbGF0aXZlIHBhdGggdG8gdGhlIGZpbGUuXG5cdCAqIEByZXR1cm5zIHtGaWxlfSBUaGUgRmlsZSBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBnZXRGaWxlKHBhdGg6IHN0cmluZyk6IEZpbGUge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IHRoaXMubmF0aXZlLmdldEZpbGUocGF0aCk7XG5cdFx0cmV0dXJuIG5ldyBGaWxlKG5hdGl2ZSk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIGEgY29sbGVjdGlvbiBvZiBmaWxlcyBhdCBhIHNwZWNpZmljIHBhdGggcmVsYXRpdmUgdG8gdGhpcyBmb2xkZXIuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBwYXRoIGNvbnRhaW5pbmcgdGhlIGZpbGVzIHRvIHJldHJpZXZlLlxuXHQgKiBAcmV0dXJucyB7RmlsZXN9IFRoZSBGaWxlcyBjb2xsZWN0aW9uIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGdldEZpbGVzKHBhdGg6IHN0cmluZyk6IEZpbGVzIHtcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5nZXRGaWxlcyhwYXRoKTtcblx0XHRyZXR1cm4gbmV3IEZpbGVzKG5hdGl2ZSk7XG5cdH1cblxuXHQvKipcblx0ICogRGVsZXRlcyBhIGZpbGUgZnJvbSB0aGlzIGZvbGRlci5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHBhdGggb2YgdGhlIGZpbGUgdG8gZGVsZXRlIChyZWxhdGl2ZSB0byB0aGlzIGZvbGRlcikuXG5cdCAqL1xuXHRwdWJsaWMgZGVsZXRlRmlsZShwYXRoOiBzdHJpbmcpOiB2b2lkIHtcblx0XHR0aGlzLm5hdGl2ZS5kZWxldGVGaWxlKHBhdGgpO1xuXHR9XG5cbn1cblxuLyoqXG4gKiBAY2xhc3MgRmlsZVxuICogQGRlc2NyaXB0aW9uIFJlcHJlc2VudHMgYSBmaWxlIChyZXNvdXJjZSkgd2l0aGluIHRoZSB3b3Jrc3BhY2UsIHByb3ZpZGluZyBtZXRob2RzIGZvclxuICogY29udGVudCBhY2Nlc3MgYW5kIG1hbmlwdWxhdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIEZpbGUge1xuXHRwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xuXG5cdC8qKlxuXHQgKiBAY29uc3RydWN0b3Jcblx0ICogQHBhcmFtIHthbnl9IG5hdGl2ZSBUaGUgbmF0aXZlIEphdmEgb2JqZWN0IGluc3RhbmNlIHJlcHJlc2VudGluZyB0aGUgZmlsZS5cblx0ICovXG5cdGNvbnN0cnVjdG9yKG5hdGl2ZTogYW55KSB7XG5cdFx0dGhpcy5uYXRpdmUgPSBuYXRpdmU7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgbmFtZSBvZiB0aGUgZmlsZS5cblx0ICogQHJldHVybnMge3N0cmluZ30gVGhlIGZpbGUgbmFtZS5cblx0ICovXG5cdHB1YmxpYyBnZXROYW1lKCk6IHN0cmluZyB7XG5cdFx0Y29uc3QgY29sbGVjdGlvbiA9IHRoaXMubmF0aXZlLmdldEludGVybmFsKCk7XG5cdFx0cmV0dXJuIGNvbGxlY3Rpb24uZ2V0TmFtZSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGZ1bGwgcGF0aCBvZiB0aGUgZmlsZS5cblx0ICogQHJldHVybnMge3N0cmluZ30gVGhlIGZpbGUgcGF0aC5cblx0ICovXG5cdHB1YmxpYyBnZXRQYXRoKCk6IHN0cmluZyB7XG5cdFx0Y29uc3QgY29sbGVjdGlvbiA9IHRoaXMubmF0aXZlLmdldEludGVybmFsKCk7XG5cdFx0cmV0dXJuIGNvbGxlY3Rpb24uZ2V0UGF0aCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGNvbnRlbnQgdHlwZSAoTUlNRSB0eXBlKSBvZiB0aGUgZmlsZS5cblx0ICogQHJldHVybnMge3N0cmluZ30gVGhlIGNvbnRlbnQgdHlwZSBzdHJpbmcuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0Q29udGVudFR5cGUoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZ2V0Q29udGVudFR5cGUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhlIGZpbGUgY29udGVudCBpcyBkZXRlcm1pbmVkIHRvIGJlIGJpbmFyeS5cblx0ICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgYmluYXJ5LCBmYWxzZSBpZiB0ZXh0LlxuXHQgKi9cblx0cHVibGljIGlzQmluYXJ5KCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5pc0JpbmFyeSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGNvbnRlbnQgb2YgdGhlIGZpbGUgYXMgYSBKYXZhU2NyaXB0LWZyaWVuZGx5IGJ5dGUgYXJyYXkuXG5cdCAqIEByZXR1cm5zIHthbnlbXX0gVGhlIGNvbnRlbnQgYnl0ZXMuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0Q29udGVudCgpOiBhbnlbXSB7XG5cdFx0Y29uc3Qgb3V0cHV0ID0gV29ya3NwYWNlRmFjYWRlLmdldENvbnRlbnQodGhpcy5uYXRpdmUpO1xuXHRcdGlmIChvdXRwdXQpIHtcblx0XHRcdC8vIEVuc3VyZSBpdCdzIHJldHVybmVkIGlmIGl0IGV4aXN0c1xuXHRcdFx0cmV0dXJuIG91dHB1dDtcblx0XHR9XG5cdFx0cmV0dXJuIG91dHB1dDtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBjb250ZW50IG9mIHRoZSBmaWxlIGFzIGEgdGV4dCBzdHJpbmcuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSB0ZXh0IGNvbnRlbnQuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0VGV4dCgpOiBzdHJpbmcge1xuXHRcdGNvbnN0IGJ5dGVzT3V0cHV0ID0gdGhpcy5nZXRDb250ZW50KCk7XG5cdFx0cmV0dXJuIEJ5dGVzLmJ5dGVBcnJheVRvVGV4dChieXRlc091dHB1dCk7XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyB0aGUgY29udGVudCBvZiB0aGUgZmlsZSB1c2luZyBhIGJ5dGUgYXJyYXkuXG5cdCAqIEBwYXJhbSB7YW55W119IGlucHV0IFRoZSBuZXcgY29udGVudCBieXRlcy5cblx0ICovXG5cdHB1YmxpYyBzZXRDb250ZW50KGlucHV0OiBhbnlbXSk6IHZvaWQge1xuXHRcdFdvcmtzcGFjZUZhY2FkZS5zZXRDb250ZW50KHRoaXMubmF0aXZlLCBpbnB1dCk7XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyB0aGUgY29udGVudCBvZiB0aGUgZmlsZSB1c2luZyBhIHRleHQgc3RyaW5nLlxuXHQgKiBUaGUgc3RyaW5nIGlzIGNvbnZlcnRlZCB0byBhIGJ5dGUgYXJyYXkgYmVmb3JlIHNhdmluZy5cblx0ICogQHBhcmFtIHtzdHJpbmd9IGlucHV0IFRoZSBuZXcgdGV4dCBjb250ZW50LlxuXHQgKi9cblx0cHVibGljIHNldFRleHQoaW5wdXQ6IHN0cmluZyk6IHZvaWQge1xuXHRcdGNvbnN0IGJ5dGVzSW5wdXQgPSBCeXRlcy50ZXh0VG9CeXRlQXJyYXkoaW5wdXQpO1xuXHRcdHRoaXMuc2V0Q29udGVudChieXRlc0lucHV0KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhlIGZpbGUgZXhpc3RzLlxuXHQgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgZmlsZSBleGlzdHMuXG5cdCAqL1xuXHRwdWJsaWMgZXhpc3RzKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5leGlzdHMoKTtcblx0fVxufVxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IFdvcmtzcGFjZTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICJBQTJDQSxTQUFTLGFBQWE7QUFFdEIsTUFBTSxrQkFBa0IsS0FBSyxLQUFLLCtEQUErRDtBQU8xRixNQUFNLFVBQVU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVF0QixPQUFjLGdCQUFnQixNQUF5QjtBQUN0RCxVQUFNLFNBQVMsZ0JBQWdCLGdCQUFnQixJQUFJO0FBQ25ELFdBQU8sSUFBSSxVQUFVLE1BQU07QUFBQSxFQUM1QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsT0FBYyxhQUFhLE1BQXlCO0FBQ25ELFVBQU0sU0FBUyxnQkFBZ0IsYUFBYSxJQUFJO0FBQ2hELFdBQU8sSUFBSSxVQUFVLE1BQU07QUFBQSxFQUM1QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7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
@@ -3,4 +3,4 @@ import { QLDBRepository } from "./qldb";
3
3
  export {
4
4
  QLDBRepository as qldb
5
5
  };
6
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3FsZGIvaW5kZXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImV4cG9ydCAqIGZyb20gXCIuL3FsZGJcIjtcbmV4cG9ydCB7IFFMREJSZXBvc2l0b3J5IGFzIHFsZGIgfSBmcm9tIFwiLi9xbGRiXCI7Il0sCiAgIm1hcHBpbmdzIjogIkFBQUEsY0FBYztBQUNkLFNBQTJCLHNCQUFZOyIsCiAgIm5hbWVzIjogW10KfQo=
6
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3FsZGIvaW5kZXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQG1vZHVsZSBxbGRiL2luZGV4XG4gKiBAcGFja2FnZSBAYWVyb2tpdC9zZGsvcWxkYlxuICogQG92ZXJ2aWV3XG4gKiBcbiAqIFByb3ZpZGVzIHNpbXBsaWZpZWQgaW50ZWdyYXRpb24gd2l0aCBBbWF6b24gUUxEQiAoUXVhbnR1bSBMZWRnZXIgRGF0YWJhc2UpIGZvciBBZXJva2l0IFNESy5cbiAqIFRoZSBtb2R1bGUgZXhwb3NlcyByZXBvc2l0b3J5IGFic3RyYWN0aW9ucyB0byBpbnRlcmFjdCB3aXRoIFFMREIgbGVkZ2VycywgZXhlY3V0ZSBzdGF0ZW1lbnRzLFxuICogbWFuYWdlIHNlc3Npb25zIGFuZCBoYW5kbGUgcmVzdWx0cyBpbiBhIHN0cnVjdHVyZWQgd2F5LlxuICpcbiAqIFRoZSBtYWluIGNvbXBvbmVudHMgb2YgdGhpcyBtb2R1bGUgYXJlOlxuICogLSBRTERCUmVwb3NpdG9yeTogUHJpbWFyeSBpbnRlcmZhY2UgZm9yIGNvbm5lY3RpbmcgdG8gYW5kIG9wZXJhdGluZyBvbiBRTERCIGxlZGdlcnMuXG4gKi9cblxuZXhwb3J0ICogZnJvbSBcIi4vcWxkYlwiO1xuZXhwb3J0IHsgUUxEQlJlcG9zaXRvcnkgYXMgcWxkYiB9IGZyb20gXCIuL3FsZGJcIjsiXSwKICAibWFwcGluZ3MiOiAiQUFhQSxjQUFjO0FBQ2QsU0FBMkIsc0JBQVk7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -2,4 +2,4 @@ const QLDBRepository = Java.type("org.eclipse.dirigible.components.api.qldb.QLDB
2
2
  export {
3
3
  QLDBRepository
4
4
  };
5
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3FsZGIvcWxkYi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiZXhwb3J0IGNvbnN0IFFMREJSZXBvc2l0b3J5ID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLnFsZGIuUUxEQlJlcG9zaXRvcnlcIik7Il0sCiAgIm1hcHBpbmdzIjogIkFBQU8sTUFBTSxpQkFBaUIsS0FBSyxLQUFLLDBEQUEwRDsiLAogICJuYW1lcyI6IFtdCn0K
5
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3FsZGIvcWxkYi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAbW9kdWxlIHFsZGIvcWxkYlxuICogQHBhY2thZ2UgQGFlcm9raXQvc2RrL3FsZGJcbiAqIEBuYW1lIFFMREJSZXBvc2l0b3J5XG4gKiBAb3ZlcnZpZXdcbiAqXG4gKiBFbnRyeSBwb2ludCBmb3IgQW1hem9uIFFMREIgcmVwb3NpdG9yeSBpbnRlZ3JhdGlvbiBpbiBBZXJva2l0IFNESy5cbiAqXG4gKiBFeHBvc2VzIHRoZSBgUUxEQlJlcG9zaXRvcnlgIGNsYXNzIGFsaWFzIHRvIHRoZSB1bmRlcmx5aW5nIEphdmEgaW1wbGVtZW50YXRpb246XG4gKiBgb3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLnFsZGIuUUxEQlJlcG9zaXRvcnlgLlxuICpcbiAqIFRoaXMgb2JqZWN0IGlzIHVzZWQgdG8gY3JlYXRlIGFuZCBtYW5hZ2UgUUxEQiBsZWRnZXIgc2Vzc2lvbnMsIGV4ZWN1dGUgc3RhdGVtZW50cyxcbiAqIGFuZCBoYW5kbGUgdHJhbnNhY3Rpb24gbGlmZWN5Y2xlcyBmcm9tIEphdmFTY3JpcHQgY29kZS5cbiAqL1xuXG5leHBvcnQgY29uc3QgUUxEQlJlcG9zaXRvcnkgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkucWxkYi5RTERCUmVwb3NpdG9yeVwiKTsiXSwKICAibWFwcGluZ3MiOiAiQUFlTyxNQUFNLGlCQUFpQixLQUFLLEtBQUssMERBQTBEOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -28,4 +28,4 @@ if (typeof module !== "undefined") {
28
28
  export {
29
29
  Consumer
30
30
  };
31
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3JhYmJpdG1xL2NvbnN1bWVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIFJhYmJpdE1RIENvbnN1bWVyXG4gKlxuICogVGhpcyBmYWNhZGUgcHJvdmlkZXMgc3RhdGljIG1ldGhvZHMgdG8gc3RhcnQgYW5kIHN0b3AgbGlzdGVuaW5nIG9uIFJhYmJpdE1RIHF1ZXVlcyxcbiAqIHdyYXBwaW5nIHRoZSB1bmRlcmx5aW5nIEphdmEgaW1wbGVtZW50YXRpb24gcHJvdmlkZWQgYnkgdGhlIGBSYWJiaXRNUUZhY2FkZWAuXG4gKi9cblxuY29uc3QgUmFiYml0TVFGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkucmFiYml0bXEuUmFiYml0TVFGYWNhZGVcIik7XG5cbmV4cG9ydCBjbGFzcyBDb25zdW1lciB7XG5cblx0LyoqXG5cdCAqIFN0YXJ0cyBsaXN0ZW5pbmcgZm9yIG1lc3NhZ2VzIG9uIGEgc3BlY2lmaWVkIFJhYmJpdE1RIHF1ZXVlLlxuXHQgKiBUaGUgaGFuZGxlciBpcyB0eXBpY2FsbHkgYSBzZXJ2aWNlIG9yIHNjcmlwdCBVUkkgdGhhdCB3aWxsIGJlIGV4ZWN1dGVkXG5cdCAqIHdoZW4gYSBtZXNzYWdlIGFycml2ZXMuXG5cdCAqXG5cdCAqIEBwYXJhbSBxdWV1ZSBUaGUgbmFtZSBvZiB0aGUgUmFiYml0TVEgcXVldWUgdG8gbGlzdGVuIHRvLlxuXHQgKiBAcGFyYW0gaGFuZGxlciBUaGUgVVJJL25hbWUgb2YgdGhlIGNvbXBvbmVudC9zY3JpcHQgdGhhdCB3aWxsIGhhbmRsZSB0aGUgbWVzc2FnZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgc3RhcnRMaXN0ZW5pbmcocXVldWU6IHN0cmluZywgaGFuZGxlcjogc3RyaW5nKTogdm9pZCB7XG5cdFx0UmFiYml0TVFGYWNhZGUuc3RhcnRMaXN0ZW5pbmcocXVldWUsIGhhbmRsZXIpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFN0b3BzIHRoZSBtZXNzYWdlIGxpc3RlbmVyIHByZXZpb3VzbHkgc3RhcnRlZCBvbiBhIHNwZWNpZmllZCBSYWJiaXRNUSBxdWV1ZVxuXHQgKiBmb3IgYSBnaXZlbiBoYW5kbGVyLlxuXHQgKlxuXHQgKiBAcGFyYW0gcXVldWUgVGhlIG5hbWUgb2YgdGhlIFJhYmJpdE1RIHF1ZXVlLlxuXHQgKiBAcGFyYW0gaGFuZGxlciBUaGUgVVJJL25hbWUgb2YgdGhlIGNvbXBvbmVudC9zY3JpcHQgd2hvc2UgbGlzdGVuZXIgc2hvdWxkIGJlIHN0b3BwZWQuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHN0b3BMaXN0ZW5pbmcocXVldWU6IHN0cmluZywgaGFuZGxlcjogc3RyaW5nKTogdm9pZCB7XG5cdFx0UmFiYml0TVFGYWNhZGUuc3RvcExpc3RlbmluZyhxdWV1ZSwgaGFuZGxlcik7XG5cdH1cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBDb25zdW1lcjtcbn0iXSwKICAibWFwcGluZ3MiOiAiQUFPQSxNQUFNLGlCQUFpQixLQUFLLEtBQUssOERBQThEO0FBRXhGLE1BQU0sU0FBUztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVVyQixPQUFjLGVBQWUsT0FBZSxTQUF1QjtBQUNsRSxtQkFBZSxlQUFlLE9BQU8sT0FBTztBQUFBLEVBQzdDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNBLE9BQWMsY0FBYyxPQUFlLFNBQXVCO0FBQ2pFLG1CQUFlLGNBQWMsT0FBTyxPQUFPO0FBQUEsRUFDNUM7QUFDRDtBQUdBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFbEMsU0FBTyxVQUFVO0FBQ2xCOyIsCiAgIm5hbWVzIjogW10KfQo=
31
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3JhYmJpdG1xL2NvbnN1bWVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgcmFiYml0bXEvY29uc3VtZXJcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9yYWJiaXRtcVxuICogQG5hbWUgQ29uc3VtZXJcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgUmFiYml0TVEgQ29uc3VtZXIgbW9kdWxlIHByb3ZpZGVzIGEgZmFjYWRlIGZvciBtYW5hZ2luZyBtZXNzYWdlIGxpc3RlbmVycyBvbiBSYWJiaXRNUSBxdWV1ZXMuIEl0IGFsbG93cyBkZXZlbG9wZXJzIHRvIHN0YXJ0IGFuZCBzdG9wIGxpc3RlbmluZyBmb3IgbWVzc2FnZXMgb24gc3BlY2lmaWVkIHF1ZXVlcywgZGVsZWdhdGluZyB0aGUgaGFuZGxpbmcgb2YgaW5jb21pbmcgbWVzc2FnZXMgdG8gZGVzaWduYXRlZCBjb21wb25lbnRzIG9yIHNjcmlwdHMuIFRoaXMgbW9kdWxlIGFic3RyYWN0cyB0aGUgdW5kZXJseWluZyBKYXZhIGltcGxlbWVudGF0aW9uLCBwcm92aWRpbmcgYSBzaW1wbGUgaW50ZXJmYWNlIGZvciBpbnRlZ3JhdGluZyBSYWJiaXRNUSBtZXNzYWdlIGNvbnN1bXB0aW9uIGludG8gYXBwbGljYXRpb25zIGJ1aWx0IG9uIHRoZSBwbGF0Zm9ybS5cbiAqIFxuICogIyMjIEtleSBGZWF0dXJlczpcbiAqIC0gKipTdGFydCBMaXN0ZW5pbmcqKjogVGhlIGBzdGFydExpc3RlbmluZ2AgbWV0aG9kIGVuYWJsZXMgdGhlIGFwcGxpY2F0aW9uIHRvIGJlZ2luIGNvbnN1bWluZyBtZXNzYWdlcyBmcm9tIGEgc3BlY2lmaWVkIFJhYmJpdE1RIHF1ZXVlLCB3aXRoIGEgZGVzaWduYXRlZCBoYW5kbGVyIGZvciBwcm9jZXNzaW5nIGluY29taW5nIG1lc3NhZ2VzLlxuICogLSAqKlN0b3AgTGlzdGVuaW5nKio6IFRoZSBgc3RvcExpc3RlbmluZ2AgbWV0aG9kIGFsbG93cyB0aGUgYXBwbGljYXRpb24gdG8gY2Vhc2UgY29uc3VtaW5nIG1lc3NhZ2VzIGZyb20gYSBzcGVjaWZpZWQgcXVldWUgZm9yIGEgZ2l2ZW4gaGFuZGxlciwgcHJvdmlkaW5nIGNvbnRyb2wgb3ZlciBtZXNzYWdlIGNvbnN1bXB0aW9uLlxuICogXG4gKiAjIyMgVXNlIENhc2VzOlxuICogLSAqKk1lc3NhZ2UtRHJpdmVuIEFyY2hpdGVjdHVyZSoqOiBUaGlzIG1vZHVsZSBpcyBpZGVhbCBmb3IgYXBwbGljYXRpb25zIHRoYXQgZm9sbG93IGEgbWVzc2FnZS1kcml2ZW4gYXJjaGl0ZWN0dXJlLCBhbGxvd2luZyB0aGVtIHRvIHJlYWN0IHRvIGV2ZW50cyBvciBkYXRhIGNoYW5nZXMgYnkgY29uc3VtaW5nIG1lc3NhZ2VzIGZyb20gUmFiYml0TVEgcXVldWVzLlxuICogLSAqKkludGVncmF0aW9uIHdpdGggRXh0ZXJuYWwgU3lzdGVtcyoqOiBEZXZlbG9wZXJzIGNhbiB1c2UgdGhpcyBtb2R1bGUgdG8gaW50ZWdyYXRlIHRoZWlyIGFwcGxpY2F0aW9ucyB3aXRoIGV4dGVybmFsIHN5c3RlbXMgdGhhdCBjb21tdW5pY2F0ZSB2aWEgUmFiYml0TVEsIGVuYWJsaW5nIHNlYW1sZXNzIGRhdGEgZXhjaGFuZ2UgYW5kIGV2ZW50IGhhbmRsaW5nLlxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZTpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBDb25zdW1lciB9IGZyb20gXCJAYWVyb2tpdC9zZGsvcmFiYml0bXFcIjtcbiAqIFxuICogLy8gU3RhcnQgbGlzdGVuaW5nIG9uIGEgUmFiYml0TVEgcXVldWVcbiAqIENvbnN1bWVyLnN0YXJ0TGlzdGVuaW5nKFwibXlRdWV1ZVwiLCBcIm15SGFuZGxlclwiKTtcbiAqIFxuICogLy8gU3RvcCBsaXN0ZW5pbmcgb24gdGhlIFJhYmJpdE1RIHF1ZXVlXG4gKiBDb25zdW1lci5zdG9wTGlzdGVuaW5nKFwibXlRdWV1ZVwiLCBcIm15SGFuZGxlclwiKTtcbiAqIGBgYFxuICovXG5cbmNvbnN0IFJhYmJpdE1RRmFjYWRlID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLnJhYmJpdG1xLlJhYmJpdE1RRmFjYWRlXCIpO1xuXG5leHBvcnQgY2xhc3MgQ29uc3VtZXIge1xuXG5cdC8qKlxuXHQgKiBTdGFydHMgbGlzdGVuaW5nIGZvciBtZXNzYWdlcyBvbiBhIHNwZWNpZmllZCBSYWJiaXRNUSBxdWV1ZS5cblx0ICogVGhlIGhhbmRsZXIgaXMgdHlwaWNhbGx5IGEgc2VydmljZSBvciBzY3JpcHQgVVJJIHRoYXQgd2lsbCBiZSBleGVjdXRlZFxuXHQgKiB3aGVuIGEgbWVzc2FnZSBhcnJpdmVzLlxuXHQgKlxuXHQgKiBAcGFyYW0gcXVldWUgVGhlIG5hbWUgb2YgdGhlIFJhYmJpdE1RIHF1ZXVlIHRvIGxpc3RlbiB0by5cblx0ICogQHBhcmFtIGhhbmRsZXIgVGhlIFVSSS9uYW1lIG9mIHRoZSBjb21wb25lbnQvc2NyaXB0IHRoYXQgd2lsbCBoYW5kbGUgdGhlIG1lc3NhZ2UuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHN0YXJ0TGlzdGVuaW5nKHF1ZXVlOiBzdHJpbmcsIGhhbmRsZXI6IHN0cmluZyk6IHZvaWQge1xuXHRcdFJhYmJpdE1RRmFjYWRlLnN0YXJ0TGlzdGVuaW5nKHF1ZXVlLCBoYW5kbGVyKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBTdG9wcyB0aGUgbWVzc2FnZSBsaXN0ZW5lciBwcmV2aW91c2x5IHN0YXJ0ZWQgb24gYSBzcGVjaWZpZWQgUmFiYml0TVEgcXVldWVcblx0ICogZm9yIGEgZ2l2ZW4gaGFuZGxlci5cblx0ICpcblx0ICogQHBhcmFtIHF1ZXVlIFRoZSBuYW1lIG9mIHRoZSBSYWJiaXRNUSBxdWV1ZS5cblx0ICogQHBhcmFtIGhhbmRsZXIgVGhlIFVSSS9uYW1lIG9mIHRoZSBjb21wb25lbnQvc2NyaXB0IHdob3NlIGxpc3RlbmVyIHNob3VsZCBiZSBzdG9wcGVkLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBzdG9wTGlzdGVuaW5nKHF1ZXVlOiBzdHJpbmcsIGhhbmRsZXI6IHN0cmluZyk6IHZvaWQge1xuXHRcdFJhYmJpdE1RRmFjYWRlLnN0b3BMaXN0ZW5pbmcocXVldWUsIGhhbmRsZXIpO1xuXHR9XG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gQ29uc3VtZXI7XG59Il0sCiAgIm1hcHBpbmdzIjogIkFBNEJBLE1BQU0saUJBQWlCLEtBQUssS0FBSyw4REFBOEQ7QUFFeEYsTUFBTSxTQUFTO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBVXJCLE9BQWMsZUFBZSxPQUFlLFNBQXVCO0FBQ2xFLG1CQUFlLGVBQWUsT0FBTyxPQUFPO0FBQUEsRUFDN0M7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU0EsT0FBYyxjQUFjLE9BQWUsU0FBdUI7QUFDakUsbUJBQWUsY0FBYyxPQUFPLE9BQU87QUFBQSxFQUM1QztBQUNEO0FBR0EsSUFBSSxPQUFPLFdBQVcsYUFBYTtBQUVsQyxTQUFPLFVBQVU7QUFDbEI7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -6,4 +6,4 @@ export {
6
6
  Consumer as consumer,
7
7
  Producer as producer
8
8
  };
9
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3JhYmJpdG1xL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJleHBvcnQgKiBmcm9tIFwiLi9jb25zdW1lclwiO1xuZXhwb3J0IHsgQ29uc3VtZXIgYXMgY29uc3VtZXIgfSBmcm9tIFwiLi9jb25zdW1lclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJvZHVjZXJcIjtcbmV4cG9ydCB7IFByb2R1Y2VyIGFzIHByb2R1Y2VyIH0gZnJvbSBcIi4vcHJvZHVjZXJcIjtcbiJdLAogICJtYXBwaW5ncyI6ICJBQUFBLGNBQWM7QUFDZCxTQUFxQixnQkFBZ0I7QUFDckMsY0FBYztBQUNkLFNBQXFCLGdCQUFnQjsiLAogICJuYW1lcyI6IFtdCn0K
9
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3JhYmJpdG1xL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgcmFiYml0bXEvaW5kZXhcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9yYWJiaXRtcVxuICogQG92ZXJ2aWV3XG4gKlxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgUmFiYml0TVEgbWVzc2FnaW5nIGNhcGFiaWxpdGllcyBmb3IgdGhlIEFlcm9raXQgU0RLLlxuICogSXQgaW5jbHVkZXMgY29uc3VtZXIgYW5kIHByb2R1Y2VyIGFic3RyYWN0aW9ucyB0byBjb25uZWN0IHRvIEFNUVAgYnJva2VycyxcbiAqIHNlbmQgYW5kIHJlY2VpdmUgbWVzc2FnZXMsIGFuZCBtYW5hZ2UgcXVldWVzL2V4Y2hhbmdlcy5cbiAqXG4gKiBUaGUgbWFpbiBjb21wb25lbnRzIG9mIHRoaXMgbW9kdWxlIGFyZTpcbiAqIC0gQ29uc3VtZXI6IFJlY2VpdmVzIG1lc3NhZ2VzIGZyb20gcXVldWVzIGFuZCBoYW5kbGVzIG1lc3NhZ2UgcHJvY2Vzc2luZy5cbiAqIC0gUHJvZHVjZXI6IFB1Ymxpc2hlcyBtZXNzYWdlcyB0byBleGNoYW5nZXMgb3IgcXVldWVzLlxuICovXG5cbmV4cG9ydCAqIGZyb20gXCIuL2NvbnN1bWVyXCI7XG5leHBvcnQgeyBDb25zdW1lciBhcyBjb25zdW1lciB9IGZyb20gXCIuL2NvbnN1bWVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcm9kdWNlclwiO1xuZXhwb3J0IHsgUHJvZHVjZXIgYXMgcHJvZHVjZXIgfSBmcm9tIFwiLi9wcm9kdWNlclwiO1xuIl0sCiAgIm1hcHBpbmdzIjogIkFBY0EsY0FBYztBQUNkLFNBQXFCLGdCQUFnQjtBQUNyQyxjQUFjO0FBQ2QsU0FBcUIsZ0JBQWdCOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -16,4 +16,4 @@ if (typeof module !== "undefined") {
16
16
  export {
17
17
  Producer
18
18
  };
19
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3JhYmJpdG1xL3Byb2R1Y2VyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIFJhYmJpdE1RIFByb2R1Y2VyXG4gKlxuICogVGhpcyBmYWNhZGUgcHJvdmlkZXMgYSBzdGF0aWMgbWV0aG9kIHRvIHNlbmQgbWVzc2FnZXMgdG8gYSBSYWJiaXRNUSBxdWV1ZSxcbiAqIHdyYXBwaW5nIHRoZSB1bmRlcmx5aW5nIEphdmEgaW1wbGVtZW50YXRpb24gcHJvdmlkZWQgYnkgdGhlIGBSYWJiaXRNUUZhY2FkZWAuXG4gKi9cblxuY29uc3QgUmFiYml0TVFGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkucmFiYml0bXEuUmFiYml0TVFGYWNhZGVcIik7XG5cbmV4cG9ydCBjbGFzcyBQcm9kdWNlciB7XG5cbiAgICAvKipcbiAgICAgKiBTZW5kcyBhIG1lc3NhZ2UgdG8gdGhlIHNwZWNpZmllZCBSYWJiaXRNUSBxdWV1ZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBxdWV1ZSBUaGUgbmFtZSBvZiB0aGUgUmFiYml0TVEgcXVldWUgdG8gc2VuZCB0aGUgbWVzc2FnZSB0by5cbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgY29udGVudCBvZiB0aGUgbWVzc2FnZSB0byBiZSBzZW50IChhcyBhIHN0cmluZykuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBzZW5kKHF1ZXVlOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBSYWJiaXRNUUZhY2FkZS5zZW5kKHF1ZXVlLCBtZXNzYWdlKTtcbiAgICB9XG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBtb2R1bGUuZXhwb3J0cyA9IFByb2R1Y2VyO1xufSJdLAogICJtYXBwaW5ncyI6ICJBQU9BLE1BQU0saUJBQWlCLEtBQUssS0FBSyw4REFBOEQ7QUFFeEYsTUFBTSxTQUFTO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRbEIsT0FBYyxLQUFLLE9BQWUsU0FBdUI7QUFDckQsbUJBQWUsS0FBSyxPQUFPLE9BQU87QUFBQSxFQUN0QztBQUNKO0FBR0EsSUFBSSxPQUFPLFdBQVcsYUFBYTtBQUUvQixTQUFPLFVBQVU7QUFDckI7IiwKICAibmFtZXMiOiBbXQp9Cg==
19
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3JhYmJpdG1xL3Byb2R1Y2VyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgcmFiYml0bXEvcHJvZHVjZXJcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9yYWJiaXRtcVxuICogQG5hbWUgUHJvZHVjZXJcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgUmFiYml0TVEgUHJvZHVjZXIgbW9kdWxlIHByb3ZpZGVzIGEgc2ltcGxlIGZhY2FkZSBmb3Igc2VuZGluZyBtZXNzYWdlcyB0byBSYWJiaXRNUSBxdWV1ZXMuIEl0IGFic3RyYWN0cyB0aGUgdW5kZXJseWluZyBKYXZhIGltcGxlbWVudGF0aW9uLCBhbGxvd2luZyBkZXZlbG9wZXJzIHRvIGVhc2lseSBpbnRlZ3JhdGUgbWVzc2FnZSBzZW5kaW5nIGNhcGFiaWxpdGllcyBpbnRvIHRoZWlyIGFwcGxpY2F0aW9ucyBidWlsdCBvbiB0aGUgcGxhdGZvcm0uIFRoaXMgbW9kdWxlIGlzIGRlc2lnbmVkIHRvIGZhY2lsaXRhdGUgY29tbXVuaWNhdGlvbiB3aXRoIFJhYmJpdE1RIGJ5IHByb3ZpZGluZyBhIHN0cmFpZ2h0Zm9yd2FyZCBpbnRlcmZhY2UgZm9yIHNlbmRpbmcgbWVzc2FnZXMgdG8gc3BlY2lmaWVkIHF1ZXVlcy5cbiAqIFxuICogIyMjIEtleSBGZWF0dXJlczpcbiAqIC0gKipNZXNzYWdlIFNlbmRpbmcqKjogVGhlIGBzZW5kYCBtZXRob2QgYWxsb3dzIGRldmVsb3BlcnMgdG8gc2VuZCBtZXNzYWdlcyB0byBhIHNwZWNpZmllZCBSYWJiaXRNUSBxdWV1ZSB3aXRoIGVhc2UuXG4gKiBcbiAqICMjIyBVc2UgQ2FzZXM6XG4gKiAtICoqRXZlbnQtRHJpdmVuIEFyY2hpdGVjdHVyZSoqOiBUaGlzIG1vZHVsZSBpcyBpZGVhbCBmb3IgYXBwbGljYXRpb25zIHRoYXQgZm9sbG93IGFuIGV2ZW50LWRyaXZlbiBhcmNoaXRlY3R1cmUsIGVuYWJsaW5nIHRoZW0gdG8gcHVibGlzaCBldmVudHMgb3IgZGF0YSBjaGFuZ2VzIHRvIFJhYmJpdE1RIHF1ZXVlcyBmb3IgY29uc3VtcHRpb24gYnkgb3RoZXIgc2VydmljZXMgb3IgY29tcG9uZW50cy5cbiAqIC0gKipJbnRlZ3JhdGlvbiB3aXRoIEV4dGVybmFsIFN5c3RlbXMqKjogRGV2ZWxvcGVycyBjYW4gdXNlIHRoaXMgbW9kdWxlIHRvIGludGVncmF0ZSB0aGVpciBhcHBsaWNhdGlvbnMgd2l0aCBleHRlcm5hbCBzeXN0ZW1zIHRoYXQgY29tbXVuaWNhdGUgdmlhIFJhYmJpdE1RLCBmYWNpbGl0YXRpbmcgc2VhbWxlc3MgZGF0YSBleGNoYW5nZSBhbmQgZXZlbnQgaGFuZGxpbmcuXG4gKiBcbiAqICMjIyBFeGFtcGxlIFVzYWdlOlxuICogYGBgdHNcbiAqIGltcG9ydCB7IFByb2R1Y2VyIH0gZnJvbSBcIkBhZXJva2l0L3Nkay9yYWJiaXRtcVwiO1xuICogXG4gKiAvLyBTZW5kIGEgbWVzc2FnZSB0byBhIFJhYmJpdE1RIHF1ZXVlXG4gKiBQcm9kdWNlci5zZW5kKFwibXlRdWV1ZVwiLCBcIkhlbGxvLCBSYWJiaXRNUSFcIik7XG4gKiBgYGBcbiAqL1xuXG5jb25zdCBSYWJiaXRNUUZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5yYWJiaXRtcS5SYWJiaXRNUUZhY2FkZVwiKTtcblxuZXhwb3J0IGNsYXNzIFByb2R1Y2VyIHtcblxuICAgIC8qKlxuICAgICAqIFNlbmRzIGEgbWVzc2FnZSB0byB0aGUgc3BlY2lmaWVkIFJhYmJpdE1RIHF1ZXVlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHF1ZXVlIFRoZSBuYW1lIG9mIHRoZSBSYWJiaXRNUSBxdWV1ZSB0byBzZW5kIHRoZSBtZXNzYWdlIHRvLlxuICAgICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBjb250ZW50IG9mIHRoZSBtZXNzYWdlIHRvIGJlIHNlbnQgKGFzIGEgc3RyaW5nKS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHNlbmQocXVldWU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIFJhYmJpdE1RRmFjYWRlLnNlbmQocXVldWUsIG1lc3NhZ2UpO1xuICAgIH1cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIG1vZHVsZS5leHBvcnRzID0gUHJvZHVjZXI7XG59Il0sCiAgIm1hcHBpbmdzIjogIkFBd0JBLE1BQU0saUJBQWlCLEtBQUssS0FBSyw4REFBOEQ7QUFFeEYsTUFBTSxTQUFTO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRbEIsT0FBYyxLQUFLLE9BQWUsU0FBdUI7QUFDckQsbUJBQWUsS0FBSyxPQUFPLE9BQU87QUFBQSxFQUN0QztBQUNKO0FBR0EsSUFBSSxPQUFPLFdBQVcsYUFBYTtBQUUvQixTQUFPLFVBQVU7QUFDckI7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -169,4 +169,4 @@ if (typeof module !== "undefined") {
169
169
  export {
170
170
  Client
171
171
  };
172
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3JlZGlzL2NsaWVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBSZWRpcyBDbGllbnRcbiAqXG4gKiBUaGlzIGNsYXNzIHNlcnZlcyBhcyBhIGZhY2FkZSBmb3IgY29tbW9uIFJlZGlzIG9wZXJhdGlvbnMsIHByb3ZpZGluZyBhIGNvbnZlbmllbnRcbiAqIEphdmFTY3JpcHQgaW50ZXJmYWNlIHRoYXQgd3JhcHMgdGhlIHVuZGVybHlpbmcgSmF2YSBSZWRpcyBjbGllbnQgaW1wbGVtZW50YXRpb24uXG4gKi9cblxuY29uc3QgUmVkaXNGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkucmVkaXMuUmVkaXNGYWNhZGVcIik7XG5cbmV4cG9ydCBjbGFzcyBDbGllbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplcyB0aGUgUmVkaXMgQ2xpZW50IGFuZCByZXRyaWV2ZXMgdGhlIG5hdGl2ZSBjbGllbnQgaW5zdGFuY2VcbiAgICAgKiBmcm9tIHRoZSBSZWRpcyBGYWNhZGUuXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMubmF0aXZlID0gUmVkaXNGYWNhZGUuZ2V0Q2xpZW50KCk7XG4gICAgfVxuXG4gICAgLy8gLS0tIEtleS1WYWx1ZSBhbmQgR2VuZXJhbCBPcGVyYXRpb25zIC0tLVxuXG4gICAgLyoqXG4gICAgICogQXBwZW5kcyBhIHZhbHVlIHRvIHRoZSB2YWx1ZSBvZiBhIGtleS4gSWYgdGhlIGtleSBkb2VzIG5vdCBleGlzdCxcbiAgICAgKiBpdCBpcyBjcmVhdGVkIGFuZCBzZXQgdG8gdGhlIGluaXRpYWwgdmFsdWUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gYXBwZW5kIHRvLlxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgc3RyaW5nIHRvIGFwcGVuZC5cbiAgICAgKiBAcmV0dXJucyBUaGUgbGVuZ3RoIG9mIHRoZSBzdHJpbmcgYWZ0ZXIgdGhlIGFwcGVuZCBvcGVyYXRpb24uXG4gICAgICovXG4gICAgcHVibGljIGFwcGVuZChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5hcHBlbmQoa2V5LCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ291bnRzIHRoZSBudW1iZXIgb2Ygc2V0IGJpdHMgKDFzKSBpbiB0aGUgc3RyaW5nIHZhbHVlIG9mIGEga2V5LlxuICAgICAqXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IHRvIHBlcmZvcm0gdGhlIGJpdGNvdW50IG9uLlxuICAgICAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2Ygc2V0IGJpdHMuXG4gICAgICovXG4gICAgcHVibGljIGJpdGNvdW50KGtleTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmJpdGNvdW50KGtleSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVjcmVtZW50cyB0aGUgbnVtYmVyIHN0b3JlZCBhdCBrZXkgYnkgb25lLlxuICAgICAqXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IGhvbGRpbmcgdGhlIG51bWVyaWMgdmFsdWUuXG4gICAgICogQHJldHVybnMgVGhlIHZhbHVlIG9mIGtleSBhZnRlciB0aGUgZGVjcmVtZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBkZWNyKGtleTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmRlY3Ioa2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWxldGVzIHRoZSBzcGVjaWZpZWQga2V5LlxuICAgICAqXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IHRvIGRlbGV0ZS5cbiAgICAgKiBAcmV0dXJucyBUaGUgbnVtYmVyIG9mIGtleXMgdGhhdCB3ZXJlIHJlbW92ZWQgKDEgaWYgc3VjY2Vzc2Z1bCwgMCBvdGhlcndpc2UpLlxuICAgICAqL1xuICAgIHB1YmxpYyBkZWwoa2V5OiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZGVsKGtleSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBzcGVjaWZpZWQga2V5IGV4aXN0cy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBrZXkgZXhpc3RzLCBmYWxzZSBvdGhlcndpc2UuXG4gICAgICovXG4gICAgcHVibGljIGV4aXN0cyhrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZXhpc3RzKGtleSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgdmFsdWUgb2YgdGhlIHNwZWNpZmllZCBrZXkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gcmV0cmlldmUgdGhlIHZhbHVlIGZvci5cbiAgICAgKiBAcmV0dXJucyBUaGUgdmFsdWUgb2YgdGhlIGtleSwgb3IgbnVsbCBpZiB0aGUga2V5IGRvZXMgbm90IGV4aXN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZ2V0KGtleSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5jcmVtZW50cyB0aGUgbnVtYmVyIHN0b3JlZCBhdCBrZXkgYnkgb25lLlxuICAgICAqXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IGhvbGRpbmcgdGhlIG51bWVyaWMgdmFsdWUuXG4gICAgICogQHJldHVybnMgVGhlIHZhbHVlIG9mIGtleSBhZnRlciB0aGUgaW5jcmVtZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBpbmNyKGtleTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmluY3Ioa2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGaW5kcyBhbGwga2V5cyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0dGVybi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYXR0ZXJuIFRoZSBwYXR0ZXJuIHRvIG1hdGNoIGtleXMgYWdhaW5zdCAoZS5nLiwgXCJ1c2VyOipcIikuXG4gICAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgbWF0Y2hpbmcga2V5cy5cbiAgICAgKi9cbiAgICBwdWJsaWMga2V5cyhwYXR0ZXJuOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5rZXlzKHBhdHRlcm4pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHN0cmluZyB2YWx1ZSBvZiBhIGtleS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byBzZXQuXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSBzdHJpbmcgdmFsdWUgdG8gYXNzaWduIHRvIHRoZSBrZXkuXG4gICAgICogQHJldHVybnMgJ09LJyBvbiBzdWNjZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuc2V0KGtleSwgdmFsdWUpO1xuICAgIH1cblxuICAgIC8vIC0tLSBMaXN0IE9wZXJhdGlvbnMgLS0tXG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGFuIGVsZW1lbnQgZnJvbSBhIGxpc3QgYnkgaXRzIHplcm8tYmFzZWQgaW5kZXguXG4gICAgICpcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgb2YgdGhlIGxpc3QuXG4gICAgICogQHBhcmFtIGluZGV4IFRoZSB6ZXJvLWJhc2VkIGluZGV4ICgwIGlzIHRoZSBmaXJzdCBlbGVtZW50LCAtMSBpcyB0aGUgbGFzdCkuXG4gICAgICogQHJldHVybnMgVGhlIGVsZW1lbnQgYXQgdGhlIHNwZWNpZmllZCBpbmRleCwgb3IgbnVsbCBpZiB0aGUgaW5kZXggaXMgb3V0IG9mIHJhbmdlLlxuICAgICAqL1xuICAgIHB1YmxpYyBsaW5kZXgoa2V5OiBzdHJpbmcsIGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUubGluZGV4KGtleSwgaW5kZXgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGxlbmd0aCBvZiB0aGUgbGlzdCBzdG9yZWQgYXQgdGhlIGtleS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSBvZiB0aGUgbGlzdC5cbiAgICAgKiBAcmV0dXJucyBUaGUgbGVuZ3RoIG9mIHRoZSBsaXN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBsbGVuKGtleTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmxsZW4oa2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGFuZCByZXR1cm5zIHRoZSBmaXJzdCBlbGVtZW50IG9mIHRoZSBsaXN0IHN0b3JlZCBhdCB0aGUga2V5IChMZWZ0IFBPUCkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgb2YgdGhlIGxpc3QuXG4gICAgICogQHJldHVybnMgVGhlIGZpcnN0IGVsZW1lbnQgb2YgdGhlIGxpc3QsIG9yIG51bGwgd2hlbiB0aGUgbGlzdCBpcyBlbXB0eS5cbiAgICAgKi9cbiAgICBwdWJsaWMgbHBvcChrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5scG9wKGtleSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5zZXJ0cyBhbGwgc3BlY2lmaWVkIHZhbHVlcyBhdCB0aGUgaGVhZCBvZiB0aGUgbGlzdCBzdG9yZWQgYXQgdGhlIGtleSAoTGVmdCBQVVNIKS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSBvZiB0aGUgbGlzdC5cbiAgICAgKiBAcGFyYW0gdmFsdWUgT25lIG9yIG1vcmUgdmFsdWVzIHRvIHByZXBlbmQgdG8gdGhlIGxpc3QuXG4gICAgICogQHJldHVybnMgVGhlIG5ldyBsZW5ndGggb2YgdGhlIGxpc3QuXG4gICAgICovXG4gICAgcHVibGljIGxwdXNoKGtleTogc3RyaW5nLCAuLi52YWx1ZTogc3RyaW5nW10pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmxwdXNoKGtleSwgdmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIHNwZWNpZmllZCBlbGVtZW50cyBvZiB0aGUgbGlzdCBzdG9yZWQgYXQgdGhlIGtleS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSBvZiB0aGUgbGlzdC5cbiAgICAgKiBAcGFyYW0gc3RhcnQgVGhlIHN0YXJ0aW5nIHplcm8tYmFzZWQgb2Zmc2V0LlxuICAgICAqIEBwYXJhbSBzdG9wIFRoZSBzdG9wcGluZyB6ZXJvLWJhc2VkIG9mZnNldC5cbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBlbGVtZW50cyBpbiB0aGUgc3BlY2lmaWVkIHJhbmdlLlxuICAgICAqL1xuICAgIHB1YmxpYyBscmFuZ2Uoa2V5OiBzdHJpbmcsIHN0YXJ0OiBudW1iZXIsIHN0b3A6IG51bWJlcik6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmxyYW5nZShrZXksIHN0YXJ0LCBzdG9wKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGFuZCByZXR1cm5zIHRoZSBsYXN0IGVsZW1lbnQgb2YgdGhlIGxpc3Qgc3RvcmVkIGF0IHRoZSBrZXkgKFJpZ2h0IFBPUCkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgb2YgdGhlIGxpc3QuXG4gICAgICogQHJldHVybnMgVGhlIGxhc3QgZWxlbWVudCBvZiB0aGUgbGlzdCwgb3IgbnVsbCB3aGVuIHRoZSBsaXN0IGlzIGVtcHR5LlxuICAgICAqL1xuICAgIHB1YmxpYyBycG9wKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLnJwb3Aoa2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbnNlcnRzIGFsbCBzcGVjaWZpZWQgdmFsdWVzIGF0IHRoZSB0YWlsIG9mIHRoZSBsaXN0IHN0b3JlZCBhdCB0aGUga2V5IChSaWdodCBQVVNIKS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSBvZiB0aGUgbGlzdC5cbiAgICAgKiBAcGFyYW0gdmFsdWUgT25lIG9yIG1vcmUgdmFsdWVzIHRvIGFwcGVuZCB0byB0aGUgbGlzdC5cbiAgICAgKiBAcmV0dXJucyBUaGUgbmV3IGxlbmd0aCBvZiB0aGUgbGlzdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcnB1c2goa2V5OiBzdHJpbmcsIC4uLnZhbHVlOiBzdHJpbmdbXSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5ycHVzaChrZXksIHZhbHVlKTtcbiAgICB9XG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBtb2R1bGUuZXhwb3J0cyA9IENsaWVudDtcbn0iXSwKICAibWFwcGluZ3MiOiAiQUFPQSxNQUFNLGNBQWMsS0FBSyxLQUFLLHdEQUF3RDtBQUUvRSxNQUFNLE9BQU87QUFBQSxFQUNDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1qQixjQUFjO0FBQ1YsU0FBSyxTQUFTLFlBQVksVUFBVTtBQUFBLEVBQ3hDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFZTyxPQUFPLEtBQWEsT0FBdUI7QUFDOUMsV0FBTyxLQUFLLE9BQU8sT0FBTyxLQUFLLEtBQUs7QUFBQSxFQUN4QztBQUFB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
172
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3JlZGlzL2NsaWVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAbW9kdWxlIHJlZGlzL2NsaWVudFxuICogQHBhY2thZ2UgQGFlcm9raXQvc2RrL3JlZGlzXG4gKiBAbmFtZSBDbGllbnRcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgUmVkaXMgQ2xpZW50IG1vZHVsZSBwcm92aWRlcyBhIEphdmFTY3JpcHQgaW50ZXJmYWNlIGZvciBpbnRlcmFjdGluZyB3aXRoIFJlZGlzLCBhIHBvcHVsYXIgaW4tbWVtb3J5IGRhdGEgc3RydWN0dXJlIHN0b3JlLiBUaGlzIG1vZHVsZSBzZXJ2ZXMgYXMgYSBmYWNhZGUgZm9yIHRoZSB1bmRlcmx5aW5nIEphdmEgUmVkaXMgY2xpZW50IGltcGxlbWVudGF0aW9uLCBhbGxvd2luZyBkZXZlbG9wZXJzIHRvIHBlcmZvcm0gY29tbW9uIFJlZGlzIG9wZXJhdGlvbnMgc3VjaCBhcyBrZXktdmFsdWUgbWFuaXB1bGF0aW9uIGFuZCBsaXN0IG1hbmFnZW1lbnQgdXNpbmcgYSBzaW1wbGUgYW5kIGludHVpdGl2ZSBBUEkuIFRoZSBDbGllbnQgY2xhc3MgYWJzdHJhY3RzIHRoZSBjb21wbGV4aXRpZXMgb2YgdGhlIEphdmEgaW1wbGVtZW50YXRpb24sIHByb3ZpZGluZyBhIHNlYW1sZXNzIGV4cGVyaWVuY2UgZm9yIGRldmVsb3BlcnMgd29ya2luZyB3aXRoIFJlZGlzIGluIHRoZWlyIGFwcGxpY2F0aW9ucyBidWlsdCBvbiB0aGUgcGxhdGZvcm0uXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXM6XG4gKiAtICoqS2V5LVZhbHVlIE9wZXJhdGlvbnMqKjogTWV0aG9kcyBmb3Igc2V0dGluZywgZ2V0dGluZywgZGVsZXRpbmcsIGFuZCBjaGVja2luZyB0aGUgZXhpc3RlbmNlIG9mIGtleXMsIGFzIHdlbGwgYXMgaW5jcmVtZW50aW5nIGFuZCBkZWNyZW1lbnRpbmcgbnVtZXJpYyB2YWx1ZXMuXG4gKiAtICoqTGlzdCBPcGVyYXRpb25zKio6IE1ldGhvZHMgZm9yIG1hbmFnaW5nIGxpc3RzLCBpbmNsdWRpbmcgcHVzaGluZyBhbmQgcG9wcGluZyBlbGVtZW50cyBmcm9tIGJvdGggZW5kcyBvZiB0aGUgbGlzdCBhbmQgcmV0cmlldmluZyBsaXN0IGVsZW1lbnRzIGJ5IGluZGV4IG9yIHJhbmdlLlxuICogXG4gKiAjIyMgVXNlIENhc2VzOlxuICogLSAqKkNhY2hpbmcqKjogVGhlIFJlZGlzIENsaWVudCBjYW4gYmUgdXNlZCB0byBpbXBsZW1lbnQgY2FjaGluZyBtZWNoYW5pc21zIGluIGFwcGxpY2F0aW9ucywgaW1wcm92aW5nIHBlcmZvcm1hbmNlIGJ5IHN0b3JpbmcgZnJlcXVlbnRseSBhY2Nlc3NlZCBkYXRhIGluIG1lbW9yeS5cbiAqIC0gKipTZXNzaW9uIE1hbmFnZW1lbnQqKjogRGV2ZWxvcGVycyBjYW4gdXNlIHRoaXMgbW9kdWxlIHRvIG1hbmFnZSB1c2VyIHNlc3Npb25zIGluIHdlYiBhcHBsaWNhdGlvbnMgYnkgc3RvcmluZyBzZXNzaW9uIGRhdGEgaW4gUmVkaXMuXG4gKiAtICoqUmVhbC1UaW1lIERhdGEgUHJvY2Vzc2luZyoqOiBUaGUgUmVkaXMgQ2xpZW50IGlzIGlkZWFsIGZvciBhcHBsaWNhdGlvbnMgdGhhdCByZXF1aXJlIHJlYWwtdGltZSBkYXRhIHByb2Nlc3NpbmcgYW5kIHF1aWNrIGFjY2VzcyB0byBkYXRhIHN0cnVjdHVyZXMgbGlrZSBsaXN0cyBhbmQgc2V0cy5cbiAqIFxuICogIyMjIEV4YW1wbGUgVXNhZ2U6XG4gKiBgYGB0c1xuICogaW1wb3J0IHsgQ2xpZW50IH0gZnJvbSBcIkBhZXJva2l0L3Nkay9yZWRpc1wiO1xuICogXG4gKiBjb25zdCByZWRpc0NsaWVudCA9IG5ldyBDbGllbnQoKTtcbiAqIFxuICogLy8gU2V0IGEga2V5LXZhbHVlIHBhaXJcbiAqIHJlZGlzQ2xpZW50LnNldChcIm15S2V5XCIsIFwiSGVsbG8sIFJlZGlzIVwiKTtcbiAqIFxuICogLy8gR2V0IHRoZSB2YWx1ZSBvZiBhIGtleVxuICogY29uc3QgdmFsdWUgPSByZWRpc0NsaWVudC5nZXQoXCJteUtleVwiKTtcbiAqIGNvbnNvbGUubG9nKHZhbHVlKTsgLy8gT3V0cHV0OiBIZWxsbywgUmVkaXMhXG4gKiBcbiAqIC8vIFB1c2ggdmFsdWVzIHRvIGEgbGlzdFxuICogcmVkaXNDbGllbnQucnB1c2goXCJteUxpc3RcIiwgXCJpdGVtMVwiLCBcIml0ZW0yXCIsIFwiaXRlbTNcIik7XG4gKiBgYGBcbiAqL1xuXG5jb25zdCBSZWRpc0ZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5yZWRpcy5SZWRpc0ZhY2FkZVwiKTtcblxuZXhwb3J0IGNsYXNzIENsaWVudCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuICAgIC8qKlxuICAgICAqIEluaXRpYWxpemVzIHRoZSBSZWRpcyBDbGllbnQgYW5kIHJldHJpZXZlcyB0aGUgbmF0aXZlIGNsaWVudCBpbnN0YW5jZVxuICAgICAqIGZyb20gdGhlIFJlZGlzIEZhY2FkZS5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5uYXRpdmUgPSBSZWRpc0ZhY2FkZS5nZXRDbGllbnQoKTtcbiAgICB9XG5cbiAgICAvLyAtLS0gS2V5LVZhbHVlIGFuZCBHZW5lcmFsIE9wZXJhdGlvbnMgLS0tXG5cbiAgICAvKipcbiAgICAgKiBBcHBlbmRzIGEgdmFsdWUgdG8gdGhlIHZhbHVlIG9mIGEga2V5LiBJZiB0aGUga2V5IGRvZXMgbm90IGV4aXN0LFxuICAgICAqIGl0IGlzIGNyZWF0ZWQgYW5kIHNldCB0byB0aGUgaW5pdGlhbCB2YWx1ZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byBhcHBlbmQgdG8uXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSBzdHJpbmcgdG8gYXBwZW5kLlxuICAgICAqIEByZXR1cm5zIFRoZSBsZW5ndGggb2YgdGhlIHN0cmluZyBhZnRlciB0aGUgYXBwZW5kIG9wZXJhdGlvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgYXBwZW5kKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmFwcGVuZChrZXksIHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3VudHMgdGhlIG51bWJlciBvZiBzZXQgYml0cyAoMXMpIGluIHRoZSBzdHJpbmcgdmFsdWUgb2YgYSBrZXkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gcGVyZm9ybSB0aGUgYml0Y291bnQgb24uXG4gICAgICogQHJldHVybnMgVGhlIG51bWJlciBvZiBzZXQgYml0cy5cbiAgICAgKi9cbiAgICBwdWJsaWMgYml0Y291bnQoa2V5OiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuYml0Y291bnQoa2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWNyZW1lbnRzIHRoZSBudW1iZXIgc3RvcmVkIGF0IGtleSBieSBvbmUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgaG9sZGluZyB0aGUgbnVtZXJpYyB2YWx1ZS5cbiAgICAgKiBAcmV0dXJucyBUaGUgdmFsdWUgb2Yga2V5IGFmdGVyIHRoZSBkZWNyZW1lbnQuXG4gICAgICovXG4gICAgcHVibGljIGRlY3Ioa2V5OiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZGVjcihrZXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlbGV0ZXMgdGhlIHNwZWNpZmllZCBrZXkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gZGVsZXRlLlxuICAgICAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2Yga2V5cyB0aGF0IHdlcmUgcmVtb3ZlZCAoMSBpZiBzdWNjZXNzZnVsLCAwIG90aGVyd2lzZSkuXG4gICAgICovXG4gICAgcHVibGljIGRlbChrZXk6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5kZWwoa2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIHNwZWNpZmllZCBrZXkgZXhpc3RzLlxuICAgICAqXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGtleSBleGlzdHMsIGZhbHNlIG90aGVyd2lzZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZXhpc3RzKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5leGlzdHMoa2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB2YWx1ZSBvZiB0aGUgc3BlY2lmaWVkIGtleS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byByZXRyaWV2ZSB0aGUgdmFsdWUgZm9yLlxuICAgICAqIEByZXR1cm5zIFRoZSB2YWx1ZSBvZiB0aGUga2V5LCBvciBudWxsIGlmIHRoZSBrZXkgZG9lcyBub3QgZXhpc3QuXG4gICAgICovXG4gICAgcHVibGljIGdldChrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5nZXQoa2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbmNyZW1lbnRzIHRoZSBudW1iZXIgc3RvcmVkIGF0IGtleSBieSBvbmUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgaG9sZGluZyB0aGUgbnVtZXJpYyB2YWx1ZS5cbiAgICAgKiBAcmV0dXJucyBUaGUgdmFsdWUgb2Yga2V5IGFmdGVyIHRoZSBpbmNyZW1lbnQuXG4gICAgICovXG4gICAgcHVibGljIGluY3Ioa2V5OiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuaW5jcihrZXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZpbmRzIGFsbCBrZXlzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXR0ZXJuLlxuICAgICAqXG4gICAgICogQHBhcmFtIHBhdHRlcm4gVGhlIHBhdHRlcm4gdG8gbWF0Y2gga2V5cyBhZ2FpbnN0IChlLmcuLCBcInVzZXI6KlwiKS5cbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBtYXRjaGluZyBrZXlzLlxuICAgICAqL1xuICAgIHB1YmxpYyBrZXlzKHBhdHRlcm46IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmtleXMocGF0dGVybik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgc3RyaW5nIHZhbHVlIG9mIGEga2V5LlxuICAgICAqXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IHRvIHNldC5cbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIHN0cmluZyB2YWx1ZSB0byBhc3NpZ24gdG8gdGhlIGtleS5cbiAgICAgKiBAcmV0dXJucyAnT0snIG9uIHN1Y2Nlc3MuXG4gICAgICovXG4gICAgcHVibGljIHNldChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgLy8gLS0tIExpc3QgT3BlcmF0aW9ucyAtLS1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYW4gZWxlbWVudCBmcm9tIGEgbGlzdCBieSBpdHMgemVyby1iYXNlZCBpbmRleC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSBvZiB0aGUgbGlzdC5cbiAgICAgKiBAcGFyYW0gaW5kZXggVGhlIHplcm8tYmFzZWQgaW5kZXggKDAgaXMgdGhlIGZpcnN0IGVsZW1lbnQsIC0xIGlzIHRoZSBsYXN0KS5cbiAgICAgKiBAcmV0dXJucyBUaGUgZWxlbWVudCBhdCB0aGUgc3BlY2lmaWVkIGluZGV4LCBvciBudWxsIGlmIHRoZSBpbmRleCBpcyBvdXQgb2YgcmFuZ2UuXG4gICAgICovXG4gICAgcHVibGljIGxpbmRleChrZXk6IHN0cmluZywgaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5saW5kZXgoa2V5LCBpbmRleCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbGVuZ3RoIG9mIHRoZSBsaXN0IHN0b3JlZCBhdCB0aGUga2V5LlxuICAgICAqXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IG9mIHRoZSBsaXN0LlxuICAgICAqIEByZXR1cm5zIFRoZSBsZW5ndGggb2YgdGhlIGxpc3QuXG4gICAgICovXG4gICAgcHVibGljIGxsZW4oa2V5OiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUubGxlbihrZXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgYW5kIHJldHVybnMgdGhlIGZpcnN0IGVsZW1lbnQgb2YgdGhlIGxpc3Qgc3RvcmVkIGF0IHRoZSBrZXkgKExlZnQgUE9QKS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSBvZiB0aGUgbGlzdC5cbiAgICAgKiBAcmV0dXJucyBUaGUgZmlyc3QgZWxlbWVudCBvZiB0aGUgbGlzdCwgb3IgbnVsbCB3aGVuIHRoZSBsaXN0IGlzIGVtcHR5LlxuICAgICAqL1xuICAgIHB1YmxpYyBscG9wKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmxwb3Aoa2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbnNlcnRzIGFsbCBzcGVjaWZpZWQgdmFsdWVzIGF0IHRoZSBoZWFkIG9mIHRoZSBsaXN0IHN0b3JlZCBhdCB0aGUga2V5IChMZWZ0IFBVU0gpLlxuICAgICAqXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IG9mIHRoZSBsaXN0LlxuICAgICAqIEBwYXJhbSB2YWx1ZSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gcHJlcGVuZCB0byB0aGUgbGlzdC5cbiAgICAgKiBAcmV0dXJucyBUaGUgbmV3IGxlbmd0aCBvZiB0aGUgbGlzdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgbHB1c2goa2V5OiBzdHJpbmcsIC4uLnZhbHVlOiBzdHJpbmdbXSkge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUubHB1c2goa2V5LCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgc3BlY2lmaWVkIGVsZW1lbnRzIG9mIHRoZSBsaXN0IHN0b3JlZCBhdCB0aGUga2V5LlxuICAgICAqXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IG9mIHRoZSBsaXN0LlxuICAgICAqIEBwYXJhbSBzdGFydCBUaGUgc3RhcnRpbmcgemVyby1iYXNlZCBvZmZzZXQuXG4gICAgICogQHBhcmFtIHN0b3AgVGhlIHN0b3BwaW5nIHplcm8tYmFzZWQgb2Zmc2V0LlxuICAgICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIGVsZW1lbnRzIGluIHRoZSBzcGVjaWZpZWQgcmFuZ2UuXG4gICAgICovXG4gICAgcHVibGljIGxyYW5nZShrZXk6IHN0cmluZywgc3RhcnQ6IG51bWJlciwgc3RvcDogbnVtYmVyKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUubHJhbmdlKGtleSwgc3RhcnQsIHN0b3ApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgYW5kIHJldHVybnMgdGhlIGxhc3QgZWxlbWVudCBvZiB0aGUgbGlzdCBzdG9yZWQgYXQgdGhlIGtleSAoUmlnaHQgUE9QKS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSBvZiB0aGUgbGlzdC5cbiAgICAgKiBAcmV0dXJucyBUaGUgbGFzdCBlbGVtZW50IG9mIHRoZSBsaXN0LCBvciBudWxsIHdoZW4gdGhlIGxpc3QgaXMgZW1wdHkuXG4gICAgICovXG4gICAgcHVibGljIHJwb3Aoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUucnBvcChrZXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEluc2VydHMgYWxsIHNwZWNpZmllZCB2YWx1ZXMgYXQgdGhlIHRhaWwgb2YgdGhlIGxpc3Qgc3RvcmVkIGF0IHRoZSBrZXkgKFJpZ2h0IFBVU0gpLlxuICAgICAqXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IG9mIHRoZSBsaXN0LlxuICAgICAqIEBwYXJhbSB2YWx1ZSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gYXBwZW5kIHRvIHRoZSBsaXN0LlxuICAgICAqIEByZXR1cm5zIFRoZSBuZXcgbGVuZ3RoIG9mIHRoZSBsaXN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBycHVzaChrZXk6IHN0cmluZywgLi4udmFsdWU6IHN0cmluZ1tdKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLnJwdXNoKGtleSwgdmFsdWUpO1xuICAgIH1cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIG1vZHVsZS5leHBvcnRzID0gQ2xpZW50O1xufSJdLAogICJtYXBwaW5ncyI6ICJBQW1DQSxNQUFNLGNBQWMsS0FBSyxLQUFLLHdEQUF3RDtBQUUvRSxNQUFNLE9BQU87QUFBQSxFQUNDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1qQixjQUFjO0FBQ1YsU0FBSyxTQUFTLFlBQVksVUFBVTtBQUFBLEVBQ3hDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFZTyxPQUFPLEtBQWEsT0FBdUI7QUFDOUMsV0FBTyxLQUFLLE9BQU8sT0FBTyxLQUFLLEtBQUs7QUFBQSxFQUN4QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sU0FB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
@@ -3,4 +3,4 @@ import { Client } from "./client";
3
3
  export {
4
4
  Client as client
5
5
  };
6
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3JlZGlzL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJleHBvcnQgKiBmcm9tIFwiLi9jbGllbnRcIjtcbmV4cG9ydCB7IENsaWVudCBhcyBjbGllbnQgfSBmcm9tIFwiLi9jbGllbnRcIjtcbiJdLAogICJtYXBwaW5ncyI6ICJBQUFBLGNBQWM7QUFDZCxTQUFtQixjQUFjOyIsCiAgIm5hbWVzIjogW10KfQo=
6
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3JlZGlzL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgcmVkaXMvaW5kZXhcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9yZWRpc1xuICogQG92ZXJ2aWV3XG4gKlxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgUmVkaXMgY2xpZW50IGludGVncmF0aW9uIGZvciB0aGUgQWVyb2tpdCBTREsuXG4gKiBJdCBleHBvc2VzIGNhcGFiaWxpdGllcyB0byBjb25uZWN0IHRvIFJlZGlzIHNlcnZlcnMsIGV4ZWN1dGUgY29tbWFuZHMsXG4gKiBhbmQgbWFuYWdlIGRhdGEgc3RydWN0dXJlcyBhbmQgdHJhbnNhY3Rpb25zLlxuICpcbiAqIFRoZSBtYWluIGNvbXBvbmVudHMgb2YgdGhpcyBtb2R1bGUgYXJlOlxuICogLSBDbGllbnQ6IFJlZGlzIGNsaWVudCB3cmFwcGVyIHdpdGggY29tbWFuZCBleGVjdXRpb24gYW5kIGNvbm5lY3Rpb24gbWFuYWdlbWVudC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tIFwiLi9jbGllbnRcIjtcbmV4cG9ydCB7IENsaWVudCBhcyBjbGllbnQgfSBmcm9tIFwiLi9jbGllbnRcIjtcbiJdLAogICJtYXBwaW5ncyI6ICJBQWFBLGNBQWM7QUFDZCxTQUFtQixjQUFjOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -26,4 +26,4 @@ function Roles(roles) {
26
26
  export {
27
27
  Roles
28
28
  };
29
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NlY3VyaXR5L2RlY29yYXRvcnMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IFVzZXJGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkuc2VjdXJpdHkuVXNlckZhY2FkZVwiKTtcblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSByb2xlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gUm9sZXMocm9sZXMpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldCwgX2NvbnRleHQpIHtcbiAgICAgICAgY29uc3QgbW9kdWxlTmFtZSA9IHRhcmdldC5uYW1lIHx8IFwiPHVua25vd24+XCI7XG4gICAgICAgIGZvciAoY29uc3QgbWV0aG9kTmFtZSBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0YXJnZXQucHJvdG90eXBlKSkge1xuICAgICAgICAgICAgaWYgKG1ldGhvZE5hbWUgPT09IFwiY29uc3RydWN0b3JcIikge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3Qgb3JpZ2luYWwgPSB0YXJnZXQucHJvdG90eXBlW21ldGhvZE5hbWVdO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBvcmlnaW5hbCAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0YXJnZXQucHJvdG90eXBlW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKC4uLmFyZ3MpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhbGxvd2VkID0gcm9sZXMuc29tZShyb2xlID0+IFVzZXJGYWNhZGUuaXNJblJvbGUocm9sZSkpO1xuICAgICAgICAgICAgICAgIGlmICghYWxsb3dlZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBgQ3VycmVudCB1c2VyIFske1VzZXJGYWNhZGUuZ2V0TmFtZSgpfV0gaXMgbm90IGFsbG93ZWQgdG8gY2FsbCBtb2R1bGUgWyR7bW9kdWxlTmFtZX1dLiBSZXF1aXJlZCBzb21lIG9mIHJvbGVzIFske3JvbGVzfV1gO1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yTWVzc2FnZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yTWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbC5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGFyZ2V0O1xuICAgIH07XG59XG4iXSwKICAibWFwcGluZ3MiOiAiQUFBQSxNQUFNLGFBQWEsS0FBSyxLQUFLLDBEQUEwRDtBQUtoRixTQUFTLE1BQU0sT0FBTztBQUN6QixTQUFPLFNBQVUsUUFBUSxVQUFVO0FBQy9CLFVBQU0sYUFBYSxPQUFPLFFBQVE7QUFDbEMsZUFBVyxjQUFjLE9BQU8sb0JBQW9CLE9BQU8sU0FBUyxHQUFHO0FBQ25FLFVBQUksZUFBZSxlQUFlO0FBQzlCO0FBQUEsTUFDSjtBQUNBLFlBQU0sV0FBVyxPQUFPLFVBQVUsVUFBVTtBQUM1QyxVQUFJLE9BQU8sYUFBYSxZQUFZO0FBQ2hDO0FBQUEsTUFDSjtBQUNBLGFBQU8sVUFBVSxVQUFVLElBQUksWUFBYSxNQUFNO0FBQzlDLGNBQU0sVUFBVSxNQUFNLEtBQUssVUFBUSxXQUFXLFNBQVMsSUFBSSxDQUFDO0FBQzVELFlBQUksQ0FBQyxTQUFTO0FBQ1YsZ0JBQU0sZUFBZSxpQkFBaUIsV0FBVyxRQUFRLENBQUMsb0NBQW9DLFVBQVUsOEJBQThCLEtBQUs7QUFDM0ksa0JBQVEsTUFBTSxZQUFZO0FBRTFCLGdCQUFNLElBQUksTUFBTSxZQUFZO0FBQUEsUUFDaEM7QUFDQSxlQUFPLFNBQVMsTUFBTSxNQUFNLElBQUk7QUFBQSxNQUNwQztBQUFBLElBQ0o7QUFFQSxXQUFPO0FBQUEsRUFDWDtBQUNKOyIsCiAgIm5hbWVzIjogW10KfQo=
29
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NlY3VyaXR5L2RlY29yYXRvcnMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQG1vZHVsZSBzZWN1cml0eS9kZWNvcmF0b3JzXG4gKiBAcGFja2FnZSBAYWVyb2tpdC9zZGsvc2VjdXJpdHlcbiAqIEBuYW1lIERlY29yYXRvcnNcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBzZWN1cml0eS1yZWxhdGVkIGRlY29yYXRvcnMgZm9yIGVuZm9yY2luZyByb2xlLWJhc2VkIGFjY2VzcyBjb250cm9sIG9uIGNsYXNzZXMgYW5kIG1ldGhvZHMuIFRoZSBwcmltYXJ5IGRlY29yYXRvciwgYEBSb2xlc2AsIGFsbG93cyBkZXZlbG9wZXJzIHRvIHNwZWNpZnkgd2hpY2ggdXNlciByb2xlcyBhcmUgcmVxdWlyZWQgdG8gYWNjZXNzIGNlcnRhaW4gZnVuY3Rpb25hbGl0eSB3aXRoaW4gdGhlaXIgYXBwbGljYXRpb24uIEJ5IGFwcGx5aW5nIHRoZSBgQFJvbGVzYCBkZWNvcmF0b3IgdG8gYSBjbGFzcyBvciBtZXRob2QsIGRldmVsb3BlcnMgY2FuIGVuc3VyZSB0aGF0IG9ubHkgdXNlcnMgd2l0aCB0aGUgYXBwcm9wcmlhdGUgcm9sZXMgY2FuIGV4ZWN1dGUgdGhlIGFzc29jaWF0ZWQgY29kZSwgZW5oYW5jaW5nIHRoZSBzZWN1cml0eSBvZiB0aGVpciBhcHBsaWNhdGlvbnMuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXM6XG4gKiAtICoqUm9sZS1CYXNlZCBBY2Nlc3MgQ29udHJvbCoqOiBUaGUgYEBSb2xlc2AgZGVjb3JhdG9yIGVuYWJsZXMgZGV2ZWxvcGVycyB0byBkZWZpbmUgYWNjZXNzIGNvbnRyb2wgcnVsZXMgYmFzZWQgb24gdXNlciByb2xlcywgZW5zdXJpbmcgdGhhdCBvbmx5IGF1dGhvcml6ZWQgdXNlcnMgY2FuIGFjY2VzcyBzcGVjaWZpYyBmdW5jdGlvbmFsaXR5LlxuICogLSAqKkNsYXNzIGFuZCBNZXRob2QgTGV2ZWwgU2VjdXJpdHkqKjogVGhlIGBAUm9sZXNgIGRlY29yYXRvciBjYW4gYmUgYXBwbGllZCBhdCBib3RoIHRoZSBjbGFzcyBhbmQgbWV0aG9kIGxldmVscywgYWxsb3dpbmcgZm9yIGZsZXhpYmxlIHNlY3VyaXR5IGNvbmZpZ3VyYXRpb25zLlxuICogXG4gKiAjIyMgVXNlIENhc2VzOlxuICogLSAqKlNlY3VyaW5nIEFQSSBFbmRwb2ludHMqKjogRGV2ZWxvcGVycyBjYW4gdXNlIHRoZSBgQFJvbGVzYCBkZWNvcmF0b3IgdG8gcHJvdGVjdCBBUEkgZW5kcG9pbnRzLCBlbnN1cmluZyB0aGF0IG9ubHkgdXNlcnMgd2l0aCB0aGUgbmVjZXNzYXJ5IHJvbGVzIGNhbiBhY2Nlc3MgY2VydGFpbiByb3V0ZXMgb3IgcGVyZm9ybSBzcGVjaWZpYyBhY3Rpb25zLlxuICogLSAqKkVuZm9yY2luZyBCdXNpbmVzcyBMb2dpYyoqOiBCeSBhcHBseWluZyB0aGUgYEBSb2xlc2AgZGVjb3JhdG9yIHRvIG1ldGhvZHMgdGhhdCBjb250YWluIGNyaXRpY2FsIGJ1c2luZXNzIGxvZ2ljLCBkZXZlbG9wZXJzIGNhbiBwcmV2ZW50IHVuYXV0aG9yaXplZCBhY2Nlc3MgYW5kIG1haW50YWluIHRoZSBpbnRlZ3JpdHkgb2YgdGhlaXIgYXBwbGljYXRpb25zLlxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZTpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBSb2xlcyB9IGZyb20gXCJAYWVyb2tpdC9zZGsvc2VjdXJpdHlcIjtcbiAqIFxuICogQFJvbGVzKFtcImFkbWluXCJdKVxuICogY2xhc3MgQWRtaW5Db250cm9sbGVyIHtcbiAqICAgICBAUm9sZXMoW1wiYWRtaW5cIiwgXCJtYW5hZ2VyXCJdKVxuICogICAgIGRlbGV0ZVVzZXIodXNlcklkOiBzdHJpbmcpIHtcbiAqICAgICAgICAgLy8gTG9naWMgdG8gZGVsZXRlIGEgdXNlciwgYWNjZXNzaWJsZSBvbmx5IHRvIGFkbWluIGFuZCBtYW5hZ2VyIHJvbGVzXG4gKiAgICAgfVxuICogXG4gKiAgICAgQFJvbGVzKFtcImFkbWluXCJdKVxuICogICAgIGNyZWF0ZVVzZXIodXNlckRhdGE6IGFueSkge1xuICogICAgICAgICAvLyBMb2dpYyB0byBjcmVhdGUgYSBuZXcgdXNlciwgYWNjZXNzaWJsZSBvbmx5IHRvIGFkbWluIHJvbGVcbiAqICAgICB9XG4gKiB9XG4gKiBgYGBcbiAqL1xuXG5jb25zdCBVc2VyRmFjYWRlID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLnNlY3VyaXR5LlVzZXJGYWNhZGVcIik7XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmdbXX0gcm9sZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFJvbGVzKHJvbGVzKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQsIF9jb250ZXh0KSB7XG4gICAgICAgIGNvbnN0IG1vZHVsZU5hbWUgPSB0YXJnZXQubmFtZSB8fCBcIjx1bmtub3duPlwiO1xuICAgICAgICBmb3IgKGNvbnN0IG1ldGhvZE5hbWUgb2YgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGFyZ2V0LnByb3RvdHlwZSkpIHtcbiAgICAgICAgICAgIGlmIChtZXRob2ROYW1lID09PSBcImNvbnN0cnVjdG9yXCIpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IG9yaWdpbmFsID0gdGFyZ2V0LnByb3RvdHlwZVttZXRob2ROYW1lXTtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygb3JpZ2luYWwgIT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGFyZ2V0LnByb3RvdHlwZVttZXRob2ROYW1lXSA9IGZ1bmN0aW9uICguLi5hcmdzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWxsb3dlZCA9IHJvbGVzLnNvbWUocm9sZSA9PiBVc2VyRmFjYWRlLmlzSW5Sb2xlKHJvbGUpKTtcbiAgICAgICAgICAgICAgICBpZiAoIWFsbG93ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gYEN1cnJlbnQgdXNlciBbJHtVc2VyRmFjYWRlLmdldE5hbWUoKX1dIGlzIG5vdCBhbGxvd2VkIHRvIGNhbGwgbW9kdWxlIFske21vZHVsZU5hbWV9XS4gUmVxdWlyZWQgc29tZSBvZiByb2xlcyBbJHtyb2xlc31dYDtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvck1lc3NhZ2UpO1xuXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvck1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb3JpZ2luYWwuYXBwbHkodGhpcywgYXJncyk7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRhcmdldDtcbiAgICB9O1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIkFBbUNBLE1BQU0sYUFBYSxLQUFLLEtBQUssMERBQTBEO0FBS2hGLFNBQVMsTUFBTSxPQUFPO0FBQ3pCLFNBQU8sU0FBVSxRQUFRLFVBQVU7QUFDL0IsVUFBTSxhQUFhLE9BQU8sUUFBUTtBQUNsQyxlQUFXLGNBQWMsT0FBTyxvQkFBb0IsT0FBTyxTQUFTLEdBQUc7QUFDbkUsVUFBSSxlQUFlLGVBQWU7QUFDOUI7QUFBQSxNQUNKO0FBQ0EsWUFBTSxXQUFXLE9BQU8sVUFBVSxVQUFVO0FBQzVDLFVBQUksT0FBTyxhQUFhLFlBQVk7QUFDaEM7QUFBQSxNQUNKO0FBQ0EsYUFBTyxVQUFVLFVBQVUsSUFBSSxZQUFhLE1BQU07QUFDOUMsY0FBTSxVQUFVLE1BQU0sS0FBSyxVQUFRLFdBQVcsU0FBUyxJQUFJLENBQUM7QUFDNUQsWUFBSSxDQUFDLFNBQVM7QUFDVixnQkFBTSxlQUFlLGlCQUFpQixXQUFXLFFBQVEsQ0FBQyxvQ0FBb0MsVUFBVSw4QkFBOEIsS0FBSztBQUMzSSxrQkFBUSxNQUFNLFlBQVk7QUFFMUIsZ0JBQU0sSUFBSSxNQUFNLFlBQVk7QUFBQSxRQUNoQztBQUNBLGVBQU8sU0FBUyxNQUFNLE1BQU0sSUFBSTtBQUFBLE1BQ3BDO0FBQUEsSUFDSjtBQUVBLFdBQU87QUFBQSxFQUNYO0FBQ0o7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -7,4 +7,4 @@ export {
7
7
  decorators,
8
8
  User as user
9
9
  };
10
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NlY3VyaXR5L2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJleHBvcnQgKiBmcm9tIFwiLi91c2VyXCI7XG5leHBvcnQgeyBVc2VyIGFzIHVzZXIgfSBmcm9tIFwiLi91c2VyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9vYXV0aFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuZXhwb3J0ICogYXMgZGVjb3JhdG9ycyBmcm9tIFwiLi9kZWNvcmF0b3JzXCI7XG4iXSwKICAibWFwcGluZ3MiOiAiQUFBQSxjQUFjO0FBQ2QsU0FBaUIsWUFBWTtBQUM3QixjQUFjO0FBQ2QsY0FBYztBQUNkLFlBQVksZ0JBQWdCOyIsCiAgIm5hbWVzIjogW10KfQo=
10
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NlY3VyaXR5L2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgc2VjdXJpdHkvaW5kZXhcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9zZWN1cml0eVxuICogQG92ZXJ2aWV3XG4gKlxuICogUHJvdmlkZXMgc2VjdXJpdHkgaGVscGVycyBmb3IgdXNlciBhdXRoZW50aWNhdGlvbiwgT0F1dGggZmxvd3MsIGFuZCBtZXRhZGF0YSBkZWNvcmF0b3JzLlxuICogSXQgZXhwb3NlcyB1c2VyIG1hbmFnZW1lbnQgdXRpbGl0aWVzLCBPQXV0aCBpbnRlZ3JhdGlvbiwgYW5kIHVzZWZ1bCBzZWN1cml0eSBkZWNvcmF0b3JzXG4gKiBmb3IgcHJvdGVjdGVkIHJvdXRlIGhhbmRsaW5nIGFuZCByb2xlLWJhc2VkIGFjY2VzcyBjb250cm9sLlxuICpcbiAqIFRoZSBtYWluIGNvbXBvbmVudHMgb2YgdGhpcyBtb2R1bGUgYXJlOlxuICogLSBVc2VyOiBVc2VyIGlkZW50aXR5IGFuZCBhdXRoZW50aWNhdGlvbiB1dGlsaXRpZXMuXG4gKiAtIE9BdXRoOiBPQXV0aDIgaW50ZWdyYXRpb24gaGVscGVycyBmb3IgYXV0aGVudGljYXRpb24gZmxvd3MuXG4gKiAtIERlY29yYXRvcnM6IFNlY3VyaXR5IGRlY29yYXRvcnMgZm9yIGVuZHBvaW50IGFjY2VzcyBjb250cm9sLlxuICovXG5cbmV4cG9ydCAqIGZyb20gXCIuL3VzZXJcIjtcbmV4cG9ydCB7IFVzZXIgYXMgdXNlciB9IGZyb20gXCIuL3VzZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL29hdXRoXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kZWNvcmF0b3JzXCI7XG5leHBvcnQgKiBhcyBkZWNvcmF0b3JzIGZyb20gXCIuL2RlY29yYXRvcnNcIjtcbiJdLAogICJtYXBwaW5ncyI6ICJBQWVBLGNBQWM7QUFDZCxTQUFpQixZQUFZO0FBQzdCLGNBQWM7QUFDZCxjQUFjO0FBQ2QsWUFBWSxnQkFBZ0I7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -54,4 +54,4 @@ class OAuthClient {
54
54
  export {
55
55
  OAuthClient
56
56
  };
57
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NlY3VyaXR5L29hdXRoLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQgeyBjbGllbnQgYXMgaHR0cENsaWVudH0gZnJvbSBcIkBhZXJva2l0L3Nkay9odHRwXCJcbmltcG9ydCB7IHVybCB9IGZyb20gXCJAYWVyb2tpdC9zZGsvdXRpbHNcIlxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gc3RydWN0dXJlIGZvciB0aGUgT0F1dGggY2xpZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9BdXRoQ2xpZW50Q29uZmlnIHtcbiAgICAvKiogVGhlIFVSTCBlbmRwb2ludCBmb3IgdGhlIE9BdXRoIHRva2VuIHNlcnZpY2UgKGUuZy4sICcvb2F1dGgvdG9rZW4nKS4gKi9cbiAgICByZWFkb25seSB1cmw6IHN0cmluZztcbiAgICAvKiogVGhlIGNsaWVudCBJRCBmb3IgYXV0aGVudGljYXRpb24uICovXG4gICAgcmVhZG9ubHkgY2xpZW50SWQ6IHN0cmluZztcbiAgICAvKiogVGhlIGNsaWVudCBzZWNyZXQgZm9yIGF1dGhlbnRpY2F0aW9uLiAqL1xuICAgIHJlYWRvbmx5IGNsaWVudFNlY3JldDogc3RyaW5nO1xuICAgIC8qKiBUaGUgZ3JhbnQgdHlwZSB0byBiZSB1c2VkLiBEZWZhdWx0cyB0byAnY2xpZW50X2NyZWRlbnRpYWxzJy4gKi9cbiAgICByZWFkb25seSBncmFudFR5cGU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBjbGllbnQgY2xhc3MgZm9yIGZldGNoaW5nIE9BdXRoIGFjY2VzcyB0b2tlbnMuXG4gKlxuICogSXQgdXNlcyB0aGUgSFRUUCBjbGllbnQgdG8gc2VuZCBhIFBPU1QgcmVxdWVzdCB3aXRoIGNsaWVudCBjcmVkZW50aWFsc1xuICogdG8gdGhlIHNwZWNpZmllZCB0b2tlbiBlbmRwb2ludC5cbiAqL1xuZXhwb3J0IGNsYXNzIE9BdXRoQ2xpZW50IHtcbiAgICBwcml2YXRlIGNvbmZpZzogT0F1dGhDbGllbnRDb25maWc7XG5cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplcyB0aGUgT0F1dGhDbGllbnQgd2l0aCB0aGUgcmVxdWlyZWQgY29uZmlndXJhdGlvbi5cbiAgICAgKiBTZXRzICdjbGllbnRfY3JlZGVudGlhbHMnIGFzIHRoZSBkZWZhdWx0IGdyYW50IHR5cGUgaWYgbm9uZSBpcyBwcm92aWRlZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb25maWcgVGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGNvbnRhaW5pbmcgVVJMLCBjbGllbnQgSUQsIGFuZCBzZWNyZXQuXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY29uZmlnOiBPQXV0aENsaWVudENvbmZpZykge1xuICAgICAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgICAgICAgaWYgKCFjb25maWcuZ3JhbnRUeXBlKSB7XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICBjb25maWcuZ3JhbnRUeXBlID0gXCJjbGllbnRfY3JlZGVudGlhbHNcIjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIHRoZSBPQXV0aCB0b2tlbiByZXF1ZXN0IGFuZCByZXR1cm5zIHRoZSBwYXJzZWQgcmVzcG9uc2UuXG4gICAgICpcbiAgICAgKiBUaGUgcmVxdWVzdCB1c2VzIHRoZSBjbGllbnQgY3JlZGVudGlhbHMgZ3JhbnQgdHlwZSAoZGVmYXVsdCkgYW5kXG4gICAgICogc2VuZHMgY3JlZGVudGlhbHMgYXMgVVJMLWVuY29kZWQgcGFyYW1ldGVycyBpbiB0aGUgYm9keS5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIEEgcGFyc2VkIEpTT04gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIE9BdXRoIHRva2VuIChlLmcuLCB7IGFjY2Vzc190b2tlbjogc3RyaW5nLCBleHBpcmVzX2luOiBudW1iZXIsIC4uLiB9KS5cbiAgICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIEhUVFAgc3RhdHVzIGNvZGUgaXMgbm90IDIwMC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VG9rZW4oKSB7XG4gICAgICAgIC8vIFByZXBhcmUgdGhlIHJlcXVlc3QgYm9keSBwYXJhbWV0ZXJzXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IFt7XG4gICAgICAgICAgICBuYW1lOiBcImdyYW50X3R5cGVcIixcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLmNvbmZpZy5ncmFudFR5cGVcbiAgICAgICAgfSwge1xuICAgICAgICAgICAgbmFtZTogXCJjbGllbnRfaWRcIixcbiAgICAgICAgICAgIC8vIFRoZSBjbGllbnQgSUQgaXMgVVJMLWVuY29kZWRcbiAgICAgICAgICAgIHZhbHVlOiB1cmwuZW5jb2RlKHRoaXMuY29uZmlnLmNsaWVudElkKVxuICAgICAgICB9LCB7XG4gICAgICAgICAgICBuYW1lOiBcImNsaWVudF9zZWNyZXRcIixcbiAgICAgICAgICAgIC8vIFRoZSBjbGllbnQgc2VjcmV0IGlzIFVSTC1lbmNvZGVkXG4gICAgICAgICAgICB2YWx1ZTogdXJsLmVuY29kZSh0aGlzLmNvbmZpZy5jbGllbnRTZWNyZXQpXG4gICAgICAgIH1dO1xuXG4gICAgICAgIGNvbnN0IG9hdXRoUmVzcG9uc2UgPSBodHRwQ2xpZW50LnBvc3QodGhpcy5jb25maWcudXJsLCB7XG4gICAgICAgICAgICBwYXJhbXM6IHBhcmFtcyxcbiAgICAgICAgICAgIGhlYWRlcnM6IFt7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJDb250ZW50LVR5cGVcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIlxuICAgICAgICAgICAgfV1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKG9hdXRoUmVzcG9uc2Uuc3RhdHVzQ29kZSAhPT0gMjAwKSB7XG4gICAgICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBgRXJyb3Igb2NjdXJyZWQgd2hpbGUgcmV0cmlldmluZyBPQXV0aCB0b2tlbi4gU3RhdHVzIGNvZGU6IFske29hdXRoUmVzcG9uc2Uuc3RhdHVzQ29kZX1dLCB0ZXh0OiBbJHtvYXV0aFJlc3BvbnNlLnRleHR9XWA7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yTWVzc2FnZSk7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3JNZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFBhcnNlIGFuZCByZXR1cm4gdGhlIHRva2VuIHJlc3BvbnNlXG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKG9hdXRoUmVzcG9uc2UudGV4dCk7XG4gICAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIkFBQUEsU0FBUyxVQUFVLGtCQUFpQjtBQUNwQyxTQUFTLFdBQVc7QUFzQmIsTUFBTSxZQUFZO0FBQUEsRUFDYjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUVIsWUFBWSxRQUEyQjtBQUNuQyxTQUFLLFNBQVM7QUFDZCxRQUFJLENBQUMsT0FBTyxXQUFXO0FBRW5CLGFBQU8sWUFBWTtBQUFBLElBQ3ZCO0FBQUEsRUFDSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBV08sV0FBVztBQUVkLFVBQU0sU0FBUyxDQUFDO0FBQUEsTUFDWixNQUFNO0FBQUEsTUFDTixPQUFPLEtBQUssT0FBTztBQUFBLElBQ3ZCLEdBQUc7QUFBQSxNQUNDLE1BQU07QUFBQTtBQUFBLE1BRU4sT0FBTyxJQUFJLE9BQU8sS0FBSyxPQUFPLFFBQVE7QUFBQSxJQUMxQyxHQUFHO0FBQUEsTUFDQyxNQUFNO0FBQUE7QUFBQSxNQUVOLE9BQU8sSUFBSSxPQUFPLEtBQUssT0FBTyxZQUFZO0FBQUEsSUFDOUMsQ0FBQztBQUVELFVBQU0sZ0JBQWdCLFdBQVcsS0FBSyxLQUFLLE9BQU8sS0FBSztBQUFBLE1BQ25EO0FBQUEsTUFDQSxTQUFTLENBQUM7QUFBQSxRQUNOLE1BQU07QUFBQSxRQUNOLE9BQU87QUFBQSxNQUNYLENBQUM7QUFBQSxJQUNMLENBQUM7QUFFRCxRQUFJLGNBQWMsZUFBZSxLQUFLO0FBQ2xDLFlBQU0sZUFBZSw4REFBOEQsY0FBYyxVQUFVLGFBQWEsY0FBYyxJQUFJO0FBQzFJLGNBQVEsTUFBTSxZQUFZO0FBQzFCLFlBQU0sSUFBSSxNQUFNLFlBQVk7QUFBQSxJQUNoQztBQUdBLFdBQU8sS0FBSyxNQUFNLGNBQWMsSUFBSTtBQUFBLEVBQ3hDO0FBQ0o7IiwKICAibmFtZXMiOiBbXQp9Cg==
57
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NlY3VyaXR5L29hdXRoLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgc2VjdXJpdHkvb2F1dGhcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9zZWN1cml0eVxuICogQG5hbWUgT0F1dGhDbGllbnRcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgT0F1dGhDbGllbnQgY2xhc3MgcHJvdmlkZXMgYSBzaW1wbGUgaW50ZXJmYWNlIGZvciBvYnRhaW5pbmcgT0F1dGggYWNjZXNzIHRva2VucyB1c2luZyB0aGUgY2xpZW50IGNyZWRlbnRpYWxzIGdyYW50IHR5cGUuIEl0IGFic3RyYWN0cyB0aGUgcHJvY2VzcyBvZiBtYWtpbmcgSFRUUCByZXF1ZXN0cyB0byBhbiBPQXV0aCB0b2tlbiBlbmRwb2ludCwgYWxsb3dpbmcgZGV2ZWxvcGVycyB0byBlYXNpbHkgaW50ZWdyYXRlIE9BdXRoIGF1dGhlbnRpY2F0aW9uIGludG8gdGhlaXIgYXBwbGljYXRpb25zLiBCeSBwcm92aWRpbmcgdGhlIG5lY2Vzc2FyeSBjb25maWd1cmF0aW9uIHBhcmFtZXRlcnMgc3VjaCBhcyB0aGUgdG9rZW4gZW5kcG9pbnQgVVJMLCBjbGllbnQgSUQsIGFuZCBjbGllbnQgc2VjcmV0LCBkZXZlbG9wZXJzIGNhbiB1c2UgdGhpcyBjbGFzcyB0byByZXRyaWV2ZSBhY2Nlc3MgdG9rZW5zIHRoYXQgY2FuIGJlIHVzZWQgZm9yIGF1dGhlbnRpY2F0aW5nIEFQSSByZXF1ZXN0cyBvciBhY2Nlc3NpbmcgcHJvdGVjdGVkIHJlc291cmNlcy5cbiAqIFxuICogIyMjIEtleSBGZWF0dXJlczpcbiAqIC0gKipUb2tlbiBSZXRyaWV2YWwqKjogVGhlIGBnZXRUb2tlbmAgbWV0aG9kIHNlbmRzIGEgUE9TVCByZXF1ZXN0IHRvIHRoZSBzcGVjaWZpZWQgT0F1dGggdG9rZW4gZW5kcG9pbnQgd2l0aCB0aGUgY2xpZW50IGNyZWRlbnRpYWxzIGFuZCByZXRyaWV2ZXMgdGhlIGFjY2VzcyB0b2tlbi5cbiAqIC0gKipDb25maWd1cmFibGUgR3JhbnQgVHlwZSoqOiBXaGlsZSB0aGUgZGVmYXVsdCBncmFudCB0eXBlIGlzIHNldCB0byAnY2xpZW50X2NyZWRlbnRpYWxzJywgZGV2ZWxvcGVycyBjYW4gc3BlY2lmeSBvdGhlciBncmFudCB0eXBlcyBpZiBuZWVkZWQgYnkgcHJvdmlkaW5nIGl0IGluIHRoZSBjb25maWd1cmF0aW9uLlxuICogXG4gKiAjIyMgVXNlIENhc2VzOlxuICogLSAqKkFQSSBBdXRoZW50aWNhdGlvbioqOiBUaGUgT0F1dGhDbGllbnQgY2FuIGJlIHVzZWQgdG8gYXV0aGVudGljYXRlIEFQSSByZXF1ZXN0cyBieSBvYnRhaW5pbmcgYWNjZXNzIHRva2VucyB0aGF0IGFyZSByZXF1aXJlZCBmb3IgYWNjZXNzaW5nIHByb3RlY3RlZCBlbmRwb2ludHMuXG4gKiAtICoqSW50ZWdyYXRpb24gd2l0aCBPQXV0aCBQcm92aWRlcnMqKjogRGV2ZWxvcGVycyBjYW4gdXNlIHRoaXMgY2xhc3MgdG8gaW50ZWdyYXRlIHRoZWlyIGFwcGxpY2F0aW9ucyB3aXRoIHZhcmlvdXMgT0F1dGggcHJvdmlkZXJzIHRoYXQgc3VwcG9ydCB0aGUgY2xpZW50IGNyZWRlbnRpYWxzIGdyYW50IHR5cGUsIGVuYWJsaW5nIHNlY3VyZSBhY2Nlc3MgdG8gcmVzb3VyY2VzLlxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZTpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBPQXV0aENsaWVudCB9IGZyb20gXCJAYWVyb2tpdC9zZGsvc2VjdXJpdHlcIjtcbiAqIFxuICogY29uc3Qgb2F1dGhDbGllbnQgPSBuZXcgT0F1dGhDbGllbnQoe1xuICogICB1cmw6IFwiaHR0cHM6Ly9leGFtcGxlLmNvbS9vYXV0aC90b2tlblwiLFxuICogICBjbGllbnRJZDogXCJ5b3VyLWNsaWVudC1pZFwiLFxuICogICBjbGllbnRTZWNyZXQ6IFwieW91ci1jbGllbnQtc2VjcmV0XCJcbiAqIH0pO1xuICogYGBgXG4gKi9cblxuaW1wb3J0IHsgY2xpZW50IGFzIGh0dHBDbGllbnR9IGZyb20gXCJAYWVyb2tpdC9zZGsvaHR0cFwiXG5pbXBvcnQgeyB1cmwgfSBmcm9tIFwiQGFlcm9raXQvc2RrL3V0aWxzXCJcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIHN0cnVjdHVyZSBmb3IgdGhlIE9BdXRoIGNsaWVudC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPQXV0aENsaWVudENvbmZpZyB7XG4gICAgLyoqIFRoZSBVUkwgZW5kcG9pbnQgZm9yIHRoZSBPQXV0aCB0b2tlbiBzZXJ2aWNlIChlLmcuLCAnL29hdXRoL3Rva2VuJykuICovXG4gICAgcmVhZG9ubHkgdXJsOiBzdHJpbmc7XG4gICAgLyoqIFRoZSBjbGllbnQgSUQgZm9yIGF1dGhlbnRpY2F0aW9uLiAqL1xuICAgIHJlYWRvbmx5IGNsaWVudElkOiBzdHJpbmc7XG4gICAgLyoqIFRoZSBjbGllbnQgc2VjcmV0IGZvciBhdXRoZW50aWNhdGlvbi4gKi9cbiAgICByZWFkb25seSBjbGllbnRTZWNyZXQ6IHN0cmluZztcbiAgICAvKiogVGhlIGdyYW50IHR5cGUgdG8gYmUgdXNlZC4gRGVmYXVsdHMgdG8gJ2NsaWVudF9jcmVkZW50aWFscycuICovXG4gICAgcmVhZG9ubHkgZ3JhbnRUeXBlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgY2xpZW50IGNsYXNzIGZvciBmZXRjaGluZyBPQXV0aCBhY2Nlc3MgdG9rZW5zLlxuICpcbiAqIEl0IHVzZXMgdGhlIEhUVFAgY2xpZW50IHRvIHNlbmQgYSBQT1NUIHJlcXVlc3Qgd2l0aCBjbGllbnQgY3JlZGVudGlhbHNcbiAqIHRvIHRoZSBzcGVjaWZpZWQgdG9rZW4gZW5kcG9pbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBPQXV0aENsaWVudCB7XG4gICAgcHJpdmF0ZSBjb25maWc6IE9BdXRoQ2xpZW50Q29uZmlnO1xuXG4gICAgLyoqXG4gICAgICogSW5pdGlhbGl6ZXMgdGhlIE9BdXRoQ2xpZW50IHdpdGggdGhlIHJlcXVpcmVkIGNvbmZpZ3VyYXRpb24uXG4gICAgICogU2V0cyAnY2xpZW50X2NyZWRlbnRpYWxzJyBhcyB0aGUgZGVmYXVsdCBncmFudCB0eXBlIGlmIG5vbmUgaXMgcHJvdmlkZWQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29uZmlnIFRoZSBjb25maWd1cmF0aW9uIG9iamVjdCBjb250YWluaW5nIFVSTCwgY2xpZW50IElELCBhbmQgc2VjcmV0LlxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKGNvbmZpZzogT0F1dGhDbGllbnRDb25maWcpIHtcbiAgICAgICAgdGhpcy5jb25maWcgPSBjb25maWc7XG4gICAgICAgIGlmICghY29uZmlnLmdyYW50VHlwZSkge1xuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgY29uZmlnLmdyYW50VHlwZSA9IFwiY2xpZW50X2NyZWRlbnRpYWxzXCI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFeGVjdXRlcyB0aGUgT0F1dGggdG9rZW4gcmVxdWVzdCBhbmQgcmV0dXJucyB0aGUgcGFyc2VkIHJlc3BvbnNlLlxuICAgICAqXG4gICAgICogVGhlIHJlcXVlc3QgdXNlcyB0aGUgY2xpZW50IGNyZWRlbnRpYWxzIGdyYW50IHR5cGUgKGRlZmF1bHQpIGFuZFxuICAgICAqIHNlbmRzIGNyZWRlbnRpYWxzIGFzIFVSTC1lbmNvZGVkIHBhcmFtZXRlcnMgaW4gdGhlIGJvZHkuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBIHBhcnNlZCBKU09OIG9iamVjdCBjb250YWluaW5nIHRoZSBPQXV0aCB0b2tlbiAoZS5nLiwgeyBhY2Nlc3NfdG9rZW46IHN0cmluZywgZXhwaXJlc19pbjogbnVtYmVyLCAuLi4gfSkuXG4gICAgICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBIVFRQIHN0YXR1cyBjb2RlIGlzIG5vdCAyMDAuXG4gICAgICovXG4gICAgcHVibGljIGdldFRva2VuKCkge1xuICAgICAgICAvLyBQcmVwYXJlIHRoZSByZXF1ZXN0IGJvZHkgcGFyYW1ldGVyc1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBbe1xuICAgICAgICAgICAgbmFtZTogXCJncmFudF90eXBlXCIsXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy5jb25maWcuZ3JhbnRUeXBlXG4gICAgICAgIH0sIHtcbiAgICAgICAgICAgIG5hbWU6IFwiY2xpZW50X2lkXCIsXG4gICAgICAgICAgICAvLyBUaGUgY2xpZW50IElEIGlzIFVSTC1lbmNvZGVkXG4gICAgICAgICAgICB2YWx1ZTogdXJsLmVuY29kZSh0aGlzLmNvbmZpZy5jbGllbnRJZClcbiAgICAgICAgfSwge1xuICAgICAgICAgICAgbmFtZTogXCJjbGllbnRfc2VjcmV0XCIsXG4gICAgICAgICAgICAvLyBUaGUgY2xpZW50IHNlY3JldCBpcyBVUkwtZW5jb2RlZFxuICAgICAgICAgICAgdmFsdWU6IHVybC5lbmNvZGUodGhpcy5jb25maWcuY2xpZW50U2VjcmV0KVxuICAgICAgICB9XTtcblxuICAgICAgICBjb25zdCBvYXV0aFJlc3BvbnNlID0gaHR0cENsaWVudC5wb3N0KHRoaXMuY29uZmlnLnVybCwge1xuICAgICAgICAgICAgcGFyYW1zOiBwYXJhbXMsXG4gICAgICAgICAgICBoZWFkZXJzOiBbe1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiQ29udGVudC1UeXBlXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCJcbiAgICAgICAgICAgIH1dXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChvYXV0aFJlc3BvbnNlLnN0YXR1c0NvZGUgIT09IDIwMCkge1xuICAgICAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gYEVycm9yIG9jY3VycmVkIHdoaWxlIHJldHJpZXZpbmcgT0F1dGggdG9rZW4uIFN0YXR1cyBjb2RlOiBbJHtvYXV0aFJlc3BvbnNlLnN0YXR1c0NvZGV9XSwgdGV4dDogWyR7b2F1dGhSZXNwb25zZS50ZXh0fV1gO1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvck1lc3NhZ2UpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yTWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQYXJzZSBhbmQgcmV0dXJuIHRoZSB0b2tlbiByZXNwb25zZVxuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShvYXV0aFJlc3BvbnNlLnRleHQpO1xuICAgIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICJBQTRCQSxTQUFTLFVBQVUsa0JBQWlCO0FBQ3BDLFNBQVMsV0FBVztBQXNCYixNQUFNLFlBQVk7QUFBQSxFQUNiO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRUixZQUFZLFFBQTJCO0FBQ25DLFNBQUssU0FBUztBQUNkLFFBQUksQ0FBQyxPQUFPLFdBQVc7QUFFbkIsYUFBTyxZQUFZO0FBQUEsSUFDdkI7QUFBQSxFQUNKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFXTyxXQUFXO0FBRWQsVUFBTSxTQUFTLENBQUM7QUFBQSxNQUNaLE1BQU07QUFBQSxNQUNOLE9BQU8sS0FBSyxPQUFPO0FBQUEsSUFDdkIsR0FBRztBQUFBLE1BQ0MsTUFBTTtBQUFBO0FBQUEsTUFFTixPQUFPLElBQUksT0FBTyxLQUFLLE9BQU8sUUFBUTtBQUFBLElBQzFDLEdBQUc7QUFBQSxNQUNDLE1BQU07QUFBQTtBQUFBLE1BRU4sT0FBTyxJQUFJLE9BQU8sS0FBSyxPQUFPLFlBQVk7QUFBQSxJQUM5QyxDQUFDO0FBRUQsVUFBTSxnQkFBZ0IsV0FBVyxLQUFLLEtBQUssT0FBTyxLQUFLO0FBQUEsTUFDbkQ7QUFBQSxNQUNBLFNBQVMsQ0FBQztBQUFBLFFBQ04sTUFBTTtBQUFBLFFBQ04sT0FBTztBQUFBLE1BQ1gsQ0FBQztBQUFBLElBQ0wsQ0FBQztBQUVELFFBQUksY0FBYyxlQUFlLEtBQUs7QUFDbEMsWUFBTSxlQUFlLDhEQUE4RCxjQUFjLFVBQVUsYUFBYSxjQUFjLElBQUk7QUFDMUksY0FBUSxNQUFNLFlBQVk7QUFDMUIsWUFBTSxJQUFJLE1BQU0sWUFBWTtBQUFBLElBQ2hDO0FBR0EsV0FBTyxLQUFLLE1BQU0sY0FBYyxJQUFJO0FBQUEsRUFDeEM7QUFDSjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -66,4 +66,4 @@ if (typeof module !== "undefined") {
66
66
  export {
67
67
  User
68
68
  };
69
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NlY3VyaXR5L3VzZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IFVzZXJGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkuc2VjdXJpdHkuVXNlckZhY2FkZVwiKTtcblxuLyoqXG4gKiBQcm92aWRlcyBzdGF0aWMgYWNjZXNzIHRvIHRoZSBjdXJyZW50bHkgYXV0aGVudGljYXRlZCB1c2VyJ3Mgc2VjdXJpdHkgYW5kIHNlc3Npb24gY29udGV4dC5cbiAqIFRoaXMgY2xhc3MgYWN0cyBhcyBhIGZhY2FkZSBmb3IgdGhlIHVuZGVybHlpbmcgVXNlckZhY2FkZSBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBVc2VyIHtcblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgcHJpbmNpcGFsIG5hbWUgKHVzZXJuYW1lIG9yIElEKSBvZiB0aGUgY3VycmVudGx5IGF1dGhlbnRpY2F0ZWQgdXNlci5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIFRoZSB1c2VyJ3MgbmFtZSBvciBpZGVudGlmaWVyIGFzIGEgc3RyaW5nLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gVXNlckZhY2FkZS5nZXROYW1lKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBjdXJyZW50bHkgYXV0aGVudGljYXRlZCB1c2VyIGlzIGFzc2lnbmVkIHRvIGEgc3BlY2lmaWMgc2VjdXJpdHkgcm9sZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSByb2xlIFRoZSBuYW1lIG9mIHRoZSByb2xlIHRvIGNoZWNrIChlLmcuLCAnQWRtaW5pc3RyYXRvcicsICdVc2VyJykuXG4gICAgICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgdXNlciBpcyBpbiB0aGUgc3BlY2lmaWVkIHJvbGUsIGZhbHNlIG90aGVyd2lzZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGlzSW5Sb2xlKHJvbGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gVXNlckZhY2FkZS5pc0luUm9sZShyb2xlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIHJlbWFpbmluZyBzZXNzaW9uIHRpbWVvdXQgZm9yIHRoZSBjdXJyZW50IHVzZXIgc2Vzc2lvbiBpbiBzZWNvbmRzLlxuICAgICAqXG4gICAgICogQHJldHVybnMgVGhlIHNlc3Npb24gdGltZW91dCBkdXJhdGlvbiBpbiBzZWNvbmRzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0VGltZW91dCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gVXNlckZhY2FkZS5nZXRUaW1lb3V0KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBhdXRoZW50aWNhdGlvbiBtZWNoYW5pc20gdXNlZCBmb3IgdGhlIGN1cnJlbnQgc2Vzc2lvbiAoZS5nLiwgJ0JBU0lDJywgJ0ZPUk0nKS5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIFRoZSB0eXBlIG9mIGF1dGhlbnRpY2F0aW9uIHVzZWQuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZXRBdXRoVHlwZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gVXNlckZhY2FkZS5nZXRBdXRoVHlwZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgc2VjdXJpdHkgdG9rZW4gYXNzb2NpYXRlZCB3aXRoIHRoZSBjdXJyZW50IHVzZXIgc2Vzc2lvbi5cbiAgICAgKiBUaGlzIG1pZ2h0IGJlIGEgc2Vzc2lvbiBJRCBvciBhbiBhY2Nlc3MgdG9rZW4uXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUaGUgc2VjdXJpdHkgdG9rZW4gYXMgYSBzdHJpbmcuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZXRTZWN1cml0eVRva2VuKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBVc2VyRmFjYWRlLmdldFNlY3VyaXR5VG9rZW4oKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIG51bWJlciBvZiByZXF1ZXN0cyAoaW52b2NhdGlvbnMpIG1hZGUgYnkgdGhlIGN1cnJlbnQgdXNlclxuICAgICAqIGR1cmluZyB0aGUgbGlmZWN5Y2xlIG9mIHRoZSBjdXJyZW50IHNlc3Npb24uXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUaGUgdG90YWwgaW52b2NhdGlvbiBjb3VudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldEludm9jYXRpb25Db3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gVXNlckZhY2FkZS5nZXRJbnZvY2F0aW9uQ291bnQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIHByZWZlcnJlZCBsYW5ndWFnZSBzZXR0aW5nIChlLmcuLCAnZW4nLCAnZGUnLCAnZXMnKSBmb3IgdGhlIGN1cnJlbnQgdXNlci5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIFRoZSB1c2VyJ3MgcHJlZmVycmVkIGxhbmd1YWdlIGNvZGUuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZXRMYW5ndWFnZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gVXNlckZhY2FkZS5nZXRMYW5ndWFnZSgpO1xuICAgIH1cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBVc2VyO1xufSJdLAogICJtYXBwaW5ncyI6ICJBQUFBLE1BQU0sYUFBYSxLQUFLLEtBQUssMERBQTBEO0FBTWhGLE1BQU0sS0FBSztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9kLE9BQWMsVUFBa0I7QUFDNUIsV0FBTyxXQUFXLFFBQVE7QUFBQSxFQUM5QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsT0FBYyxTQUFTLE1BQXVCO0FBQzFDLFdBQU8sV0FBVyxTQUFTLElBQUk7QUFBQSxFQUNuQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLE9BQWMsYUFBcUI7QUFDL0IsV0FBTyxXQUFXLFdBQVc7QUFBQSxFQUNqQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLE9BQWMsY0FBc0I7QUFDaEMsV0FBTyxXQUFXLFlBQVk7QUFBQSxFQUNsQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsT0FBYyxtQkFBMkI7QUFDckMsV0FBTyxXQUFXLGlCQUFpQjtBQUFBLEVBQ3ZDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxPQUFjLHFCQUE2QjtBQUN2QyxXQUFPLFdBQVcsbUJBQW1CO0FBQUEsRUFDekM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxPQUFjLGNBQXNCO0FBQ2hDLFdBQU8sV0FBVyxZQUFZO0FBQUEsRUFDbEM7QUFDSjtBQUdBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFbEMsU0FBTyxVQUFVO0FBQ2xCOyIsCiAgIm5hbWVzIjogW10KfQo=
69
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NlY3VyaXR5L3VzZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQG1vZHVsZSBzZWN1cml0eS91c2VyXG4gKiBAcGFja2FnZSBAYWVyb2tpdC9zZGsvc2VjdXJpdHlcbiAqIEBuYW1lIFVzZXJcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgVXNlciBjbGFzcyBwcm92aWRlcyBzdGF0aWMgbWV0aG9kcyB0byBhY2Nlc3MgdGhlIHNlY3VyaXR5IGFuZCBzZXNzaW9uIGNvbnRleHQgb2YgdGhlIGN1cnJlbnRseSBhdXRoZW50aWNhdGVkIHVzZXIuIEl0IHNlcnZlcyBhcyBhIGZhY2FkZSBmb3IgdGhlIHVuZGVybHlpbmcgVXNlckZhY2FkZSBjb21wb25lbnQsIGFsbG93aW5nIGRldmVsb3BlcnMgdG8gZWFzaWx5IHJldHJpZXZlIGluZm9ybWF0aW9uIGFib3V0IHRoZSB1c2VyJ3MgaWRlbnRpdHksIHJvbGVzLCBzZXNzaW9uIHRpbWVvdXQsIGF1dGhlbnRpY2F0aW9uIHR5cGUsIHNlY3VyaXR5IHRva2VuLCBpbnZvY2F0aW9uIGNvdW50LCBhbmQgcHJlZmVycmVkIGxhbmd1YWdlLiBUaGlzIGNsYXNzIGlzIGVzc2VudGlhbCBmb3IgaW1wbGVtZW50aW5nIHJvbGUtYmFzZWQgYWNjZXNzIGNvbnRyb2wgYW5kIG1hbmFnaW5nIHVzZXIgc2Vzc2lvbnMgd2l0aGluIGFwcGxpY2F0aW9ucyBidWlsdCBvbiB0aGUgcGxhdGZvcm0uXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXM6XG4gKiAtICoqVXNlciBJZGVudGl0eSoqOiBSZXRyaWV2ZSB0aGUgcHJpbmNpcGFsIG5hbWUgKHVzZXJuYW1lIG9yIElEKSBvZiB0aGUgY3VycmVudGx5IGF1dGhlbnRpY2F0ZWQgdXNlci5cbiAqIC0gKipSb2xlIENoZWNraW5nKio6IERldGVybWluZSBpZiB0aGUgdXNlciBpcyBhc3NpZ25lZCB0byBzcGVjaWZpYyBzZWN1cml0eSByb2xlcywgZW5hYmxpbmcgcm9sZS1iYXNlZCBhY2Nlc3MgY29udHJvbC5cbiAqIC0gKipTZXNzaW9uIEluZm9ybWF0aW9uKio6IEFjY2VzcyBzZXNzaW9uLXJlbGF0ZWQgaW5mb3JtYXRpb24gc3VjaCBhcyByZW1haW5pbmcgdGltZW91dCBhbmQgc2VjdXJpdHkgdG9rZW5zLlxuICogLSAqKkludm9jYXRpb24gVHJhY2tpbmcqKjogTW9uaXRvciB0aGUgbnVtYmVyIG9mIHJlcXVlc3RzIG1hZGUgYnkgdGhlIHVzZXIgZHVyaW5nIHRoZWlyIHNlc3Npb24uXG4gKiAtICoqTG9jYWxpemF0aW9uIFN1cHBvcnQqKjogUmV0cmlldmUgdGhlIHVzZXIncyBwcmVmZXJyZWQgbGFuZ3VhZ2Ugc2V0dGluZyBmb3IgbG9jYWxpemF0aW9uIHB1cnBvc2VzLlxuICogXG4gKiAjIyMgVXNlIENhc2VzOlxuICogLSAqKkFjY2VzcyBDb250cm9sKio6IFVzZSB0aGUgYGlzSW5Sb2xlYCBtZXRob2QgdG8gZW5mb3JjZSByb2xlLWJhc2VkIGFjY2VzcyBjb250cm9sIGluIHlvdXIgYXBwbGljYXRpb24sIGVuc3VyaW5nIHRoYXQgb25seSBhdXRob3JpemVkIHVzZXJzIGNhbiBhY2Nlc3MgY2VydGFpbiBmdW5jdGlvbmFsaXR5LlxuICogLSAqKlNlc3Npb24gTWFuYWdlbWVudCoqOiBVdGlsaXplIHNlc3Npb24gaW5mb3JtYXRpb24gdG8gbWFuYWdlIHVzZXIgc2Vzc2lvbnMgZWZmZWN0aXZlbHksIHN1Y2ggYXMgaW1wbGVtZW50aW5nIHNlc3Npb24gdGltZW91dHMgb3IgdHJhY2tpbmcgdXNlciBhY3Rpdml0eS5cbiAqIC0gKipMb2NhbGl6YXRpb24qKjogTGV2ZXJhZ2UgdGhlIHVzZXIncyBwcmVmZXJyZWQgbGFuZ3VhZ2UgdG8gcHJvdmlkZSBsb2NhbGl6ZWQgY29udGVudCBhbmQgZW5oYW5jZSB0aGUgdXNlciBleHBlcmllbmNlLlxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZTpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBVc2VyIH0gZnJvbSBcIkBhZXJva2l0L3Nkay9zZWN1cml0eVwiO1xuICogXG4gKiAvLyBDaGVjayBpZiB0aGUgY3VycmVudCB1c2VyIGlzIGFuIGFkbWluaXN0cmF0b3JcbiAqIGlmIChVc2VyLmlzSW5Sb2xlKFwiQWRtaW5pc3RyYXRvclwiKSkge1xuICogICAgIGNvbnNvbGUubG9nKGBXZWxjb21lLCAke1VzZXIuZ2V0TmFtZSgpfSEgWW91IGhhdmUgYWRtaW5pc3RyYXRvciBhY2Nlc3MuYCk7XG4gKiB9IGVsc2Uge1xuICogICAgIGNvbnNvbGUubG9nKGBIZWxsbywgJHtVc2VyLmdldE5hbWUoKX0uIFlvdSBkbyBub3QgaGF2ZSBhZG1pbmlzdHJhdG9yIGFjY2Vzcy5gKTtcbiAqIH1cbiAqIFxuICogLy8gR2V0IHNlc3Npb24gaW5mb3JtYXRpb25cbiAqIGNvbnN0IHRpbWVvdXQgPSBVc2VyLmdldFRpbWVvdXQoKTtcbiAqIGNvbnN0IGF1dGhUeXBlID0gVXNlci5nZXRBdXRoVHlwZSgpO1xuICogY29uc3Qgc2VjdXJpdHlUb2tlbiA9IFVzZXIuZ2V0U2VjdXJpdHlUb2tlbigpO1xuICogY29uc3QgaW52b2NhdGlvbkNvdW50ID0gVXNlci5nZXRJbnZvY2F0aW9uQ291bnQoKTtcbiAqIGNvbnN0IHByZWZlcnJlZExhbmd1YWdlID0gVXNlci5nZXRMYW5ndWFnZSgpO1xuICogYGBgXG4gKi9cblxuY29uc3QgVXNlckZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5zZWN1cml0eS5Vc2VyRmFjYWRlXCIpO1xuXG4vKipcbiAqIFByb3ZpZGVzIHN0YXRpYyBhY2Nlc3MgdG8gdGhlIGN1cnJlbnRseSBhdXRoZW50aWNhdGVkIHVzZXIncyBzZWN1cml0eSBhbmQgc2Vzc2lvbiBjb250ZXh0LlxuICogVGhpcyBjbGFzcyBhY3RzIGFzIGEgZmFjYWRlIGZvciB0aGUgdW5kZXJseWluZyBVc2VyRmFjYWRlIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIFVzZXIge1xuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBwcmluY2lwYWwgbmFtZSAodXNlcm5hbWUgb3IgSUQpIG9mIHRoZSBjdXJyZW50bHkgYXV0aGVudGljYXRlZCB1c2VyLlxuICAgICAqXG4gICAgICogQHJldHVybnMgVGhlIHVzZXIncyBuYW1lIG9yIGlkZW50aWZpZXIgYXMgYSBzdHJpbmcuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZXROYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBVc2VyRmFjYWRlLmdldE5hbWUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIGN1cnJlbnRseSBhdXRoZW50aWNhdGVkIHVzZXIgaXMgYXNzaWduZWQgdG8gYSBzcGVjaWZpYyBzZWN1cml0eSByb2xlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHJvbGUgVGhlIG5hbWUgb2YgdGhlIHJvbGUgdG8gY2hlY2sgKGUuZy4sICdBZG1pbmlzdHJhdG9yJywgJ1VzZXInKS5cbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSB1c2VyIGlzIGluIHRoZSBzcGVjaWZpZWQgcm9sZSwgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgaXNJblJvbGUocm9sZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBVc2VyRmFjYWRlLmlzSW5Sb2xlKHJvbGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgcmVtYWluaW5nIHNlc3Npb24gdGltZW91dCBmb3IgdGhlIGN1cnJlbnQgdXNlciBzZXNzaW9uIGluIHNlY29uZHMuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUaGUgc2Vzc2lvbiB0aW1lb3V0IGR1cmF0aW9uIGluIHNlY29uZHMuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZXRUaW1lb3V0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBVc2VyRmFjYWRlLmdldFRpbWVvdXQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIGF1dGhlbnRpY2F0aW9uIG1lY2hhbmlzbSB1c2VkIGZvciB0aGUgY3VycmVudCBzZXNzaW9uIChlLmcuLCAnQkFTSUMnLCAnRk9STScpLlxuICAgICAqXG4gICAgICogQHJldHVybnMgVGhlIHR5cGUgb2YgYXV0aGVudGljYXRpb24gdXNlZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldEF1dGhUeXBlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBVc2VyRmFjYWRlLmdldEF1dGhUeXBlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBzZWN1cml0eSB0b2tlbiBhc3NvY2lhdGVkIHdpdGggdGhlIGN1cnJlbnQgdXNlciBzZXNzaW9uLlxuICAgICAqIFRoaXMgbWlnaHQgYmUgYSBzZXNzaW9uIElEIG9yIGFuIGFjY2VzcyB0b2tlbi5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIFRoZSBzZWN1cml0eSB0b2tlbiBhcyBhIHN0cmluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldFNlY3VyaXR5VG9rZW4oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFVzZXJGYWNhZGUuZ2V0U2VjdXJpdHlUb2tlbigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgbnVtYmVyIG9mIHJlcXVlc3RzIChpbnZvY2F0aW9ucykgbWFkZSBieSB0aGUgY3VycmVudCB1c2VyXG4gICAgICogZHVyaW5nIHRoZSBsaWZlY3ljbGUgb2YgdGhlIGN1cnJlbnQgc2Vzc2lvbi5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIFRoZSB0b3RhbCBpbnZvY2F0aW9uIGNvdW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0SW52b2NhdGlvbkNvdW50KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBVc2VyRmFjYWRlLmdldEludm9jYXRpb25Db3VudCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgcHJlZmVycmVkIGxhbmd1YWdlIHNldHRpbmcgKGUuZy4sICdlbicsICdkZScsICdlcycpIGZvciB0aGUgY3VycmVudCB1c2VyLlxuICAgICAqXG4gICAgICogQHJldHVybnMgVGhlIHVzZXIncyBwcmVmZXJyZWQgbGFuZ3VhZ2UgY29kZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldExhbmd1YWdlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBVc2VyRmFjYWRlLmdldExhbmd1YWdlKCk7XG4gICAgfVxufVxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IFVzZXI7XG59Il0sCiAgIm1hcHBpbmdzIjogIkFBd0NBLE1BQU0sYUFBYSxLQUFLLEtBQUssMERBQTBEO0FBTWhGLE1BQU0sS0FBSztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9kLE9BQWMsVUFBa0I7QUFDNUIsV0FBTyxXQUFXLFFBQVE7QUFBQSxFQUM5QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsT0FBYyxTQUFTLE1BQXVCO0FBQzFDLFdBQU8sV0FBVyxTQUFTLElBQUk7QUFBQSxFQUNuQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLE9BQWMsYUFBcUI7QUFDL0IsV0FBTyxXQUFXLFdBQVc7QUFBQSxFQUNqQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLE9BQWMsY0FBc0I7QUFDaEMsV0FBTyxXQUFXLFlBQVk7QUFBQSxFQUNsQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsT0FBYyxtQkFBMkI7QUFDckMsV0FBTyxXQUFXLGlCQUFpQjtBQUFBLEVBQ3ZDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxPQUFjLHFCQUE2QjtBQUN2QyxXQUFPLFdBQVcsbUJBQW1CO0FBQUEsRUFDekM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxPQUFjLGNBQXNCO0FBQ2hDLFdBQU8sV0FBVyxZQUFZO0FBQUEsRUFDbEM7QUFDSjtBQUdBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFbEMsU0FBTyxVQUFVO0FBQ2xCOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -122,4 +122,4 @@ if (typeof module !== "undefined") {
122
122
  export {
123
123
  TemplateEngines
124
124
  };
125
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3RlbXBsYXRlL2VuZ2luZXMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IFJlcG9zaXRvcnkgfSBmcm9tIFwiQGFlcm9raXQvc2RrL3BsYXRmb3JtL3JlcG9zaXRvcnlcIjtcblxuY29uc3QgUkVHSVNUUllfUFVCTElDID0gXCIvcmVnaXN0cnkvcHVibGljL1wiO1xuY29uc3QgTVVTVEFDSEVfRklMRV9FWFRFTlNJT04gPSBcIi5tdXN0YWNoZVwiO1xuXG5jb25zdCBUZW1wbGF0ZUVuZ2luZXNGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkudGVtcGxhdGVzLlRlbXBsYXRlRW5naW5lc0ZhY2FkZVwiKTtcblxuLyoqXG4gKiBBbiBpbnRlcm5hbCB3cmFwcGVyIGNsYXNzIHRoYXQgYWRhcHRzIGEgbmF0aXZlIHRlbXBsYXRlIGVuZ2luZSBpbXBsZW1lbnRhdGlvbi5cbiAqIEl0IG1hbmFnZXMgdGhlIGVuZ2luZSBpbnN0YW5jZSBhbmQgb3B0aW9uYWwgY3VzdG9tIHN0YXJ0L2VuZCBtYXJrZXJzLlxuICovXG5jbGFzcyBUZW1wbGF0ZUVuZ2luZSB7XG5cbiAgICBwcml2YXRlIGVuZ2luZTogYW55O1xuICAgIC8qKiBUaGUgc3RhcnQgbWFya2VyIHN0cmluZyAoZS5nLiwgJ3t7JyBmb3IgTXVzdGFjaGUpLiAqL1xuICAgIHByaXZhdGUgc206IHN0cmluZyB8IG51bGw7XG4gICAgLyoqIFRoZSBlbmQgbWFya2VyIHN0cmluZyAoZS5nLiwgJ319JyBmb3IgTXVzdGFjaGUpLiAqL1xuICAgIHByaXZhdGUgZW06IHN0cmluZyB8IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIFRlbXBsYXRlRW5naW5lLlxuICAgICAqXG4gICAgICogQHBhcmFtIGVuZ2luZSBUaGUgbmF0aXZlIHRlbXBsYXRlIGVuZ2luZSBvYmplY3QgZnJvbSB0aGUgRmFjYWRlLlxuICAgICAqIEBwYXJhbSB0eXBlIFRoZSB0eXBlIG9mIHRoZSBlbmdpbmUgKCdtdXN0YWNoZScsICd2ZWxvY2l0eScsICdqYXZhc2NyaXB0JykuXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoZW5naW5lOiBhbnksIHR5cGU6IHN0cmluZykge1xuICAgICAgICB0aGlzLmVuZ2luZSA9IGVuZ2luZTtcbiAgICAgICAgLy8gRGVmYXVsdCBtYXJrZXJzIGZvciBNdXN0YWNoZSBlbmdpbmVcbiAgICAgICAgdGhpcy5zbSA9IHR5cGUgPT09IFwibXVzdGFjaGVcIiA/IFwie3tcIiA6IG51bGw7XG4gICAgICAgIHRoaXMuZW0gPSB0eXBlID09PSBcIm11c3RhY2hlXCIgPyBcIn19XCIgOiBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdlbmVyYXRlcyB0aGUgZmluYWwgb3V0cHV0IGJ5IGV4ZWN1dGluZyB0aGUgdGVtcGxhdGUgd2l0aCB0aGUgcHJvdmlkZWQgcGFyYW1ldGVycy5cbiAgICAgKiBOb3RlOiBQYXJhbWV0ZXJzIGFyZSBpbnRlcm5hbGx5IHNlcmlhbGl6ZWQgdG8gSlNPTiBiZWZvcmUgYmVpbmcgcGFzc2VkIHRvIHRoZSBuYXRpdmUgZW5naW5lLlxuICAgICAqXG4gICAgICogQHBhcmFtIGxvY2F0aW9uIEEgc3RyaW5nIGlkZW50aWZ5aW5nIHRoZSB0ZW1wbGF0ZSAodXNlZCBmb3IgZXJyb3IgcmVwb3J0aW5nL2NhY2hpbmcsIG9mdGVuIGEgZmlsZSBwYXRoKS5cbiAgICAgKiBAcGFyYW0gdGVtcGxhdGUgVGhlIHJhdyB0ZW1wbGF0ZSBzdHJpbmcgY29udGVudCB0byBwcm9jZXNzLlxuICAgICAqIEBwYXJhbSBwYXJhbWV0ZXJzIEFuIG9iamVjdCBjb250YWluaW5nIHRoZSBjb250ZXh0IGRhdGEgdG8gYmUgdXNlZCBpbiB0aGUgdGVtcGxhdGUuXG4gICAgICogQHJldHVybnMgVGhlIHByb2Nlc3NlZCBvdXRwdXQgc3RyaW5nLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZW5lcmF0ZShsb2NhdGlvbjogc3RyaW5nLCB0ZW1wbGF0ZTogc3RyaW5nLCBwYXJhbWV0ZXJzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW5naW5lLmdlbmVyYXRlKGxvY2F0aW9uLCB0ZW1wbGF0ZSwgSlNPTi5zdHJpbmdpZnkocGFyYW1ldGVycyksIHRoaXMuc20sIHRoaXMuZW0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgYSBjdXN0b20gc3RhcnQgbWFya2VyIGZvciB0aGUgdGVtcGxhdGUgZW5naW5lLiBUaGlzIGlzIHByaW1hcmlseSB1c2VmdWwgZm9yIE11c3RhY2hlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHNtIFRoZSBuZXcgc3RhcnQgbWFya2VyIHN0cmluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0U20oc206IGFueSkge1xuICAgICAgICB0aGlzLnNtID0gc207XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBhIGN1c3RvbSBlbmQgbWFya2VyIGZvciB0aGUgdGVtcGxhdGUgZW5naW5lLiBUaGlzIGlzIHByaW1hcmlseSB1c2VmdWwgZm9yIE11c3RhY2hlLlxuICAgICAqXG4gICAgICogQHBhcmFtIGVtIFRoZSBuZXcgZW5kIG1hcmtlciBzdHJpbmcuXG4gICAgICovXG4gICAgcHVibGljIHNldEVtKGVtOiBhbnkpIHtcbiAgICAgICAgdGhpcy5lbSA9IGVtO1xuICAgIH1cbn1cblxuLyoqXG4gKiBQcm92aWRlcyBhY2Nlc3MgdG8gdmFyaW91cyBzZXJ2ZXItc2lkZSB0ZW1wbGF0ZSBlbmdpbmVzIChWZWxvY2l0eSwgTXVzdGFjaGUsIEphdmFTY3JpcHQpLlxuICogSXQgb2ZmZXJzIHV0aWxpdHkgbWV0aG9kcyBmb3IgZ2VuZXJhdGluZyBjb250ZW50IGZyb20gdGVtcGxhdGVzIGRpcmVjdGx5IG9yIGZyb20gZmlsZXNcbiAqIHN0b3JlZCBpbiB0aGUgcmVnaXN0cnkuXG4gKi9cbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZUVuZ2luZXMge1xuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBkZWZhdWx0IHRlbXBsYXRlIGVuZ2luZSwgd2hpY2ggaXMgY3VycmVudGx5IHRoZSBWZWxvY2l0eSBlbmdpbmUuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUaGUgZGVmYXVsdCB0ZW1wbGF0ZSBlbmdpbmUgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZXREZWZhdWx0RW5naW5lKCk6IFRlbXBsYXRlRW5naW5lIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VmVsb2NpdHlFbmdpbmUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIE11c3RhY2hlIHRlbXBsYXRlIGVuZ2luZSBpbnN0YW5jZS5cbiAgICAgKiBNdXN0YWNoZSBpcyBvZnRlbiB1c2VkIGZvciBsb2dpYy1sZXNzIHRlbXBsYXRpbmcgYW5kIHVzZXMgJ3t7JyBhbmQgJ319JyBhcyBkZWZhdWx0IG1hcmtlcnMuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUaGUgTXVzdGFjaGUgdGVtcGxhdGUgZW5naW5lIGluc3RhbmNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0TXVzdGFjaGVFbmdpbmUoKTogVGVtcGxhdGVFbmdpbmUge1xuICAgICAgICBjb25zdCBlbmdpbmUgPSBUZW1wbGF0ZUVuZ2luZXNGYWNhZGUuZ2V0TXVzdGFjaGVFbmdpbmUoKTtcbiAgICAgICAgcmV0dXJuIG5ldyBUZW1wbGF0ZUVuZ2luZShlbmdpbmUsIFwibXVzdGFjaGVcIik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBWZWxvY2l0eSB0ZW1wbGF0ZSBlbmdpbmUgaW5zdGFuY2UuXG4gICAgICogVmVsb2NpdHkgaXMgb2Z0ZW4gdXNlZCBmb3IgY29tcGxleCB0ZW1wbGF0aW5nIHdpdGggZGlyZWN0aXZlcyAoZS5nLiwgI3NldCwgI2ZvcmVhY2gpLlxuICAgICAqXG4gICAgICogQHJldHVybnMgVGhlIFZlbG9jaXR5IHRlbXBsYXRlIGVuZ2luZSBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldFZlbG9jaXR5RW5naW5lKCk6IFRlbXBsYXRlRW5naW5lIHtcbiAgICAgICAgY29uc3QgZW5naW5lID0gVGVtcGxhdGVFbmdpbmVzRmFjYWRlLmdldFZlbG9jaXR5RW5naW5lKCk7XG4gICAgICAgIHJldHVybiBuZXcgVGVtcGxhdGVFbmdpbmUoZW5naW5lLCBcInZlbG9jaXR5XCIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgSmF2YVNjcmlwdCB0ZW1wbGF0ZSBlbmdpbmUgaW5zdGFuY2UgKHVzdWFsbHkgdXNlZCBmb3Igc2VydmVyLXNpZGUgZXZhbHVhdGlvbikuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUaGUgSmF2YVNjcmlwdCB0ZW1wbGF0ZSBlbmdpbmUgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZXRKYXZhc2NyaXB0RW5naW5lKCk6IFRlbXBsYXRlRW5naW5lIHtcbiAgICAgICAgY29uc3QgZW5naW5lID0gVGVtcGxhdGVFbmdpbmVzRmFjYWRlLmdldEphdmFzY3JpcHRFbmdpbmUoKTtcbiAgICAgICAgcmV0dXJuIG5ldyBUZW1wbGF0ZUVuZ2luZShlbmdpbmUsIFwiamF2YXNjcmlwdFwiKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZW5lcmF0ZXMgb3V0cHV0IGJ5IHByb2Nlc3NpbmcgYSByYXcgdGVtcGxhdGUgc3RyaW5nIHVzaW5nIHRoZSAqKmRlZmF1bHQgdGVtcGxhdGUgZW5naW5lIChWZWxvY2l0eSkqKi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBsb2NhdGlvbiBBIHN0cmluZyBpZGVudGlmeWluZyB0aGUgdGVtcGxhdGUgKHVzZWQgZm9yIGVycm9yIHJlcG9ydGluZy9jYWNoaW5nLCBvZnRlbiBhIGZpbGUgcGF0aCkuXG4gICAgICogQHBhcmFtIHRlbXBsYXRlIFRoZSByYXcgdGVtcGxhdGUgc3RyaW5nIGNvbnRlbnQgdG8gcHJvY2Vzcy5cbiAgICAgKiBAcGFyYW0gcGFyYW1ldGVycyBBbiBvYmplY3QgY29udGFpbmluZyBrZXktdmFsdWUgcGFpcnMgdG8gYmUgdXNlZCBhcyBjb250ZXh0IHZhcmlhYmxlcyBpbiB0aGUgdGVtcGxhdGUuXG4gICAgICogQHJldHVybnMgVGhlIHByb2Nlc3NlZCBvdXRwdXQgc3RyaW5nLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2VuZXJhdGUobG9jYXRpb246IHN0cmluZywgdGVtcGxhdGU6IHN0cmluZywgcGFyYW1ldGVyczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldERlZmF1bHRFbmdpbmUoKS5nZW5lcmF0ZShsb2NhdGlvbiwgdGVtcGxhdGUsIHBhcmFtZXRlcnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvYWRzIGEgdGVtcGxhdGUgZnJvbSB0aGUgcHVibGljIHJlZ2lzdHJ5LCBzZWxlY3RzIGFuIGFwcHJvcHJpYXRlIGVuZ2luZSwgYW5kIGdlbmVyYXRlcyBvdXRwdXQuXG4gICAgICogSXQgdXNlcyB0aGUgKipNdXN0YWNoZSBlbmdpbmUqKiBpZiB0aGUgZmlsZSBleHRlbnNpb24gaXMgYC5tdXN0YWNoZWAsIG90aGVyd2lzZSBpdCB1c2VzIHRoZSAqKmRlZmF1bHQgKFZlbG9jaXR5KSoqLlxuICAgICAqXG4gICAgICogQHBhcmFtIGxvY2F0aW9uIFRoZSBwYXRoIHRvIHRoZSB0ZW1wbGF0ZSBmaWxlIHdpdGhpbiB0aGUgYC9yZWdpc3RyeS9wdWJsaWMvYCBkaXJlY3RvcnkgKGUuZy4sICd0ZW1wbGF0ZXMvZW1haWwubXVzdGFjaGUnKS5cbiAgICAgKiBAcGFyYW0gcGFyYW1ldGVycyBBbiBvYmplY3QgY29udGFpbmluZyBrZXktdmFsdWUgcGFpcnMgdG8gYmUgdXNlZCBhcyBjb250ZXh0IHZhcmlhYmxlcyBpbiB0aGUgdGVtcGxhdGUuXG4gICAgICogQHJldHVybnMgVGhlIHByb2Nlc3NlZCBvdXRwdXQgc3RyaW5nLCBvciBgdW5kZWZpbmVkYCBpZiB0aGUgcmVzb3VyY2UgZG9lcyBub3QgZXhpc3QuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZW5lcmF0ZUZyb21GaWxlKGxvY2F0aW9uOiBzdHJpbmcsIHBhcmFtZXRlcnM6IHsgW2tleTogc3RyaW5nXTogYW55IH0pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCByZXNvdXJjZSA9IFJlcG9zaXRvcnkuZ2V0UmVzb3VyY2UoUkVHSVNUUllfUFVCTElDICsgbG9jYXRpb24pO1xuICAgICAgICBpZiAocmVzb3VyY2UuZXhpc3RzKCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzTXVzdGFjaGVUZW1wbGF0ZSA9IGxvY2F0aW9uLmVuZHNXaXRoKE1VU1RBQ0hFX0ZJTEVfRVhURU5TSU9OKTtcbiAgICAgICAgICAgIGNvbnN0IGVuZ2luZSA9IGlzTXVzdGFjaGVUZW1wbGF0ZSA/IHRoaXMuZ2V0TXVzdGFjaGVFbmdpbmUoKSA6IHRoaXMuZ2V0RGVmYXVsdEVuZ2luZSgpO1xuICAgICAgICAgICAgY29uc3QgdGVtcGxhdGUgPSByZXNvdXJjZS5nZXRUZXh0KCk7XG4gICAgICAgICAgICByZXR1cm4gZW5naW5lLmdlbmVyYXRlKGxvY2F0aW9uLCB0ZW1wbGF0ZSwgcGFyYW1ldGVycyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gVGVtcGxhdGVFbmdpbmVzO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIkFBQUEsU0FBUyxrQkFBa0I7QUFFM0IsTUFBTSxrQkFBa0I7QUFDeEIsTUFBTSwwQkFBMEI7QUFFaEMsTUFBTSx3QkFBd0IsS0FBSyxL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
125
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3RlbXBsYXRlL2VuZ2luZXMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQG1vZHVsZSB0ZW1wbGF0ZS9lbmdpbmVzXG4gKiBAcGFja2FnZSBAYWVyb2tpdC9zZGsvdGVtcGxhdGVcbiAqIEBuYW1lIFRlbXBsYXRlRW5naW5lc1xuICogQG92ZXJ2aWV3XG4gKiBcbiAqIFRoZSBUZW1wbGF0ZUVuZ2luZXMgbW9kdWxlIHByb3ZpZGVzIGEgdW5pZmllZCBpbnRlcmZhY2UgZm9yIHdvcmtpbmcgd2l0aCB2YXJpb3VzIHNlcnZlci1zaWRlIHRlbXBsYXRlIGVuZ2luZXMsIGluY2x1ZGluZyBWZWxvY2l0eSwgTXVzdGFjaGUsIGFuZCBKYXZhU2NyaXB0LiBJdCBhbGxvd3MgZGV2ZWxvcGVycyB0byBnZW5lcmF0ZSBkeW5hbWljIGNvbnRlbnQgYnkgcHJvY2Vzc2luZyB0ZW1wbGF0ZXMgd2l0aCBwcm92aWRlZCBwYXJhbWV0ZXJzLiBUaGUgbW9kdWxlIGFic3RyYWN0cyB0aGUgdW5kZXJseWluZyB0ZW1wbGF0ZSBlbmdpbmUgaW1wbGVtZW50YXRpb25zLCBvZmZlcmluZyBhIGNvbnNpc3RlbnQgQVBJIGZvciBnZW5lcmF0aW5nIG91dHB1dCBmcm9tIGJvdGggcmF3IHRlbXBsYXRlIHN0cmluZ3MgYW5kIHRlbXBsYXRlcyBzdG9yZWQgaW4gdGhlIHJlZ2lzdHJ5LlxuICogXG4gKiAjIyMgS2V5IEZlYXR1cmVzOlxuICogLSAqKk11bHRpcGxlIFRlbXBsYXRlIEVuZ2luZXMqKjogU3VwcG9ydHMgVmVsb2NpdHksIE11c3RhY2hlLCBhbmQgSmF2YVNjcmlwdCB0ZW1wbGF0ZSBlbmdpbmVzLCBhbGxvd2luZyBkZXZlbG9wZXJzIHRvIGNob29zZSB0aGUgbW9zdCBzdWl0YWJsZSBvbmUgZm9yIHRoZWlyIHVzZSBjYXNlLlxuICogLSAqKkR5bmFtaWMgQ29udGVudCBHZW5lcmF0aW9uKio6IEVuYWJsZXMgdGhlIGdlbmVyYXRpb24gb2YgZHluYW1pYyBjb250ZW50IGJ5IHByb2Nlc3NpbmcgdGVtcGxhdGVzIHdpdGggY29udGV4dCBwYXJhbWV0ZXJzLlxuICogLSAqKkZpbGUtQmFzZWQgVGVtcGxhdGVzKio6IFByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgdG8gbG9hZCB0ZW1wbGF0ZXMgZnJvbSB0aGUgcHVibGljIHJlZ2lzdHJ5IGFuZCBnZW5lcmF0ZSBvdXRwdXQgYmFzZWQgb24gdGhlaXIgY29udGVudC5cbiAqIFxuICogIyMjIFVzZSBDYXNlczpcbiAqIC0gKipFbWFpbCBUZW1wbGF0aW5nKio6IEdlbmVyYXRlIGR5bmFtaWMgZW1haWwgY29udGVudCB1c2luZyB0ZW1wbGF0ZXMgc3RvcmVkIGluIHRoZSByZWdpc3RyeS5cbiAqIC0gKipSZXBvcnQgR2VuZXJhdGlvbioqOiBDcmVhdGUgZHluYW1pYyByZXBvcnRzIGJ5IHByb2Nlc3NpbmcgdGVtcGxhdGVzIHdpdGggZGF0YSByZXRyaWV2ZWQgZnJvbSB2YXJpb3VzIHNvdXJjZXMuXG4gKiAtICoqU2VydmVyLVNpZGUgUmVuZGVyaW5nKio6IFVzZSBKYXZhU2NyaXB0IHRlbXBsYXRlcyBmb3Igc2VydmVyLXNpZGUgcmVuZGVyaW5nIG9mIEhUTUwgY29udGVudC5cbiAqIFxuICogIyMjIEV4YW1wbGUgVXNhZ2U6XG4gKiBgYGB0c1xuICogaW1wb3J0IHsgVGVtcGxhdGVFbmdpbmVzIH0gZnJvbSBcIkBhZXJva2l0L3Nkay90ZW1wbGF0ZVwiO1xuICogXG4gKiAvLyBHZW5lcmF0ZSBjb250ZW50IGZyb20gYSByYXcgdGVtcGxhdGUgc3RyaW5nXG4gKiBjb25zdCBvdXRwdXQgPSBUZW1wbGF0ZUVuZ2luZXMuZ2VuZXJhdGUoXCJ0ZW1wbGF0ZTFcIiwgXCJIZWxsbywge3tuYW1lfX0hXCIsIHsgbmFtZTogXCJXb3JsZFwiIH0pO1xuICogY29uc29sZS5sb2cob3V0cHV0KTsgLy8gT3V0cHV0OiBIZWxsbywgV29ybGQhXG4gKiBcbiAqIC8vIEdlbmVyYXRlIGNvbnRlbnQgZnJvbSBhIHRlbXBsYXRlIGZpbGUgaW4gdGhlIHJlZ2lzdHJ5XG4gKiBjb25zdCBmaWxlT3V0cHV0ID0gVGVtcGxhdGVFbmdpbmVzLmdlbmVyYXRlRnJvbUZpbGUoXCJ0ZW1wbGF0ZXMvZW1haWwubXVzdGFjaGVcIiwgeyBuYW1lOiBcIkFsaWNlXCIgfSk7XG4gKiBjb25zb2xlLmxvZyhmaWxlT3V0cHV0KTsgLy8gT3V0cHV0IGRlcGVuZHMgb24gdGhlIGNvbnRlbnQgb2YgJ2VtYWlsLm11c3RhY2hlJ1xuICogYGBgXG4gKi9cblxuaW1wb3J0IHsgUmVwb3NpdG9yeSB9IGZyb20gXCJAYWVyb2tpdC9zZGsvcGxhdGZvcm0vcmVwb3NpdG9yeVwiO1xuXG5jb25zdCBSRUdJU1RSWV9QVUJMSUMgPSBcIi9yZWdpc3RyeS9wdWJsaWMvXCI7XG5jb25zdCBNVVNUQUNIRV9GSUxFX0VYVEVOU0lPTiA9IFwiLm11c3RhY2hlXCI7XG5cbmNvbnN0IFRlbXBsYXRlRW5naW5lc0ZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS50ZW1wbGF0ZXMuVGVtcGxhdGVFbmdpbmVzRmFjYWRlXCIpO1xuXG4vKipcbiAqIEFuIGludGVybmFsIHdyYXBwZXIgY2xhc3MgdGhhdCBhZGFwdHMgYSBuYXRpdmUgdGVtcGxhdGUgZW5naW5lIGltcGxlbWVudGF0aW9uLlxuICogSXQgbWFuYWdlcyB0aGUgZW5naW5lIGluc3RhbmNlIGFuZCBvcHRpb25hbCBjdXN0b20gc3RhcnQvZW5kIG1hcmtlcnMuXG4gKi9cbmNsYXNzIFRlbXBsYXRlRW5naW5lIHtcblxuICAgIHByaXZhdGUgZW5naW5lOiBhbnk7XG4gICAgLyoqIFRoZSBzdGFydCBtYXJrZXIgc3RyaW5nIChlLmcuLCAne3snIGZvciBNdXN0YWNoZSkuICovXG4gICAgcHJpdmF0ZSBzbTogc3RyaW5nIHwgbnVsbDtcbiAgICAvKiogVGhlIGVuZCBtYXJrZXIgc3RyaW5nIChlLmcuLCAnfX0nIGZvciBNdXN0YWNoZSkuICovXG4gICAgcHJpdmF0ZSBlbTogc3RyaW5nIHwgbnVsbDtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgVGVtcGxhdGVFbmdpbmUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZW5naW5lIFRoZSBuYXRpdmUgdGVtcGxhdGUgZW5naW5lIG9iamVjdCBmcm9tIHRoZSBGYWNhZGUuXG4gICAgICogQHBhcmFtIHR5cGUgVGhlIHR5cGUgb2YgdGhlIGVuZ2luZSAoJ211c3RhY2hlJywgJ3ZlbG9jaXR5JywgJ2phdmFzY3JpcHQnKS5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihlbmdpbmU6IGFueSwgdHlwZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZW5naW5lID0gZW5naW5lO1xuICAgICAgICAvLyBEZWZhdWx0IG1hcmtlcnMgZm9yIE11c3RhY2hlIGVuZ2luZVxuICAgICAgICB0aGlzLnNtID0gdHlwZSA9PT0gXCJtdXN0YWNoZVwiID8gXCJ7e1wiIDogbnVsbDtcbiAgICAgICAgdGhpcy5lbSA9IHR5cGUgPT09IFwibXVzdGFjaGVcIiA/IFwifX1cIiA6IG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2VuZXJhdGVzIHRoZSBmaW5hbCBvdXRwdXQgYnkgZXhlY3V0aW5nIHRoZSB0ZW1wbGF0ZSB3aXRoIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzLlxuICAgICAqIE5vdGU6IFBhcmFtZXRlcnMgYXJlIGludGVybmFsbHkgc2VyaWFsaXplZCB0byBKU09OIGJlZm9yZSBiZWluZyBwYXNzZWQgdG8gdGhlIG5hdGl2ZSBlbmdpbmUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbG9jYXRpb24gQSBzdHJpbmcgaWRlbnRpZnlpbmcgdGhlIHRlbXBsYXRlICh1c2VkIGZvciBlcnJvciByZXBvcnRpbmcvY2FjaGluZywgb2Z0ZW4gYSBmaWxlIHBhdGgpLlxuICAgICAqIEBwYXJhbSB0ZW1wbGF0ZSBUaGUgcmF3IHRlbXBsYXRlIHN0cmluZyBjb250ZW50IHRvIHByb2Nlc3MuXG4gICAgICogQHBhcmFtIHBhcmFtZXRlcnMgQW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGNvbnRleHQgZGF0YSB0byBiZSB1c2VkIGluIHRoZSB0ZW1wbGF0ZS5cbiAgICAgKiBAcmV0dXJucyBUaGUgcHJvY2Vzc2VkIG91dHB1dCBzdHJpbmcuXG4gICAgICovXG4gICAgcHVibGljIGdlbmVyYXRlKGxvY2F0aW9uOiBzdHJpbmcsIHRlbXBsYXRlOiBzdHJpbmcsIHBhcmFtZXRlcnM6IHsgW2tleTogc3RyaW5nXTogYW55IH0pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5lbmdpbmUuZ2VuZXJhdGUobG9jYXRpb24sIHRlbXBsYXRlLCBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzKSwgdGhpcy5zbSwgdGhpcy5lbSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBhIGN1c3RvbSBzdGFydCBtYXJrZXIgZm9yIHRoZSB0ZW1wbGF0ZSBlbmdpbmUuIFRoaXMgaXMgcHJpbWFyaWx5IHVzZWZ1bCBmb3IgTXVzdGFjaGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc20gVGhlIG5ldyBzdGFydCBtYXJrZXIgc3RyaW5nLlxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRTbShzbTogYW55KSB7XG4gICAgICAgIHRoaXMuc20gPSBzbTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGEgY3VzdG9tIGVuZCBtYXJrZXIgZm9yIHRoZSB0ZW1wbGF0ZSBlbmdpbmUuIFRoaXMgaXMgcHJpbWFyaWx5IHVzZWZ1bCBmb3IgTXVzdGFjaGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZW0gVGhlIG5ldyBlbmQgbWFya2VyIHN0cmluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0RW0oZW06IGFueSkge1xuICAgICAgICB0aGlzLmVtID0gZW07XG4gICAgfVxufVxuXG4vKipcbiAqIFByb3ZpZGVzIGFjY2VzcyB0byB2YXJpb3VzIHNlcnZlci1zaWRlIHRlbXBsYXRlIGVuZ2luZXMgKFZlbG9jaXR5LCBNdXN0YWNoZSwgSmF2YVNjcmlwdCkuXG4gKiBJdCBvZmZlcnMgdXRpbGl0eSBtZXRob2RzIGZvciBnZW5lcmF0aW5nIGNvbnRlbnQgZnJvbSB0ZW1wbGF0ZXMgZGlyZWN0bHkgb3IgZnJvbSBmaWxlc1xuICogc3RvcmVkIGluIHRoZSByZWdpc3RyeS5cbiAqL1xuZXhwb3J0IGNsYXNzIFRlbXBsYXRlRW5naW5lcyB7XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIGRlZmF1bHQgdGVtcGxhdGUgZW5naW5lLCB3aGljaCBpcyBjdXJyZW50bHkgdGhlIFZlbG9jaXR5IGVuZ2luZS5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIFRoZSBkZWZhdWx0IHRlbXBsYXRlIGVuZ2luZSBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldERlZmF1bHRFbmdpbmUoKTogVGVtcGxhdGVFbmdpbmUge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRWZWxvY2l0eUVuZ2luZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgTXVzdGFjaGUgdGVtcGxhdGUgZW5naW5lIGluc3RhbmNlLlxuICAgICAqIE11c3RhY2hlIGlzIG9mdGVuIHVzZWQgZm9yIGxvZ2ljLWxlc3MgdGVtcGxhdGluZyBhbmQgdXNlcyAne3snIGFuZCAnfX0nIGFzIGRlZmF1bHQgbWFya2Vycy5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIFRoZSBNdXN0YWNoZSB0ZW1wbGF0ZSBlbmdpbmUgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZXRNdXN0YWNoZUVuZ2luZSgpOiBUZW1wbGF0ZUVuZ2luZSB7XG4gICAgICAgIGNvbnN0IGVuZ2luZSA9IFRlbXBsYXRlRW5naW5lc0ZhY2FkZS5nZXRNdXN0YWNoZUVuZ2luZSgpO1xuICAgICAgICByZXR1cm4gbmV3IFRlbXBsYXRlRW5naW5lKGVuZ2luZSwgXCJtdXN0YWNoZVwiKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIFZlbG9jaXR5IHRlbXBsYXRlIGVuZ2luZSBpbnN0YW5jZS5cbiAgICAgKiBWZWxvY2l0eSBpcyBvZnRlbiB1c2VkIGZvciBjb21wbGV4IHRlbXBsYXRpbmcgd2l0aCBkaXJlY3RpdmVzIChlLmcuLCAjc2V0LCAjZm9yZWFjaCkuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUaGUgVmVsb2NpdHkgdGVtcGxhdGUgZW5naW5lIGluc3RhbmNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0VmVsb2NpdHlFbmdpbmUoKTogVGVtcGxhdGVFbmdpbmUge1xuICAgICAgICBjb25zdCBlbmdpbmUgPSBUZW1wbGF0ZUVuZ2luZXNGYWNhZGUuZ2V0VmVsb2NpdHlFbmdpbmUoKTtcbiAgICAgICAgcmV0dXJuIG5ldyBUZW1wbGF0ZUVuZ2luZShlbmdpbmUsIFwidmVsb2NpdHlcIik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBKYXZhU2NyaXB0IHRlbXBsYXRlIGVuZ2luZSBpbnN0YW5jZSAodXN1YWxseSB1c2VkIGZvciBzZXJ2ZXItc2lkZSBldmFsdWF0aW9uKS5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIFRoZSBKYXZhU2NyaXB0IHRlbXBsYXRlIGVuZ2luZSBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldEphdmFzY3JpcHRFbmdpbmUoKTogVGVtcGxhdGVFbmdpbmUge1xuICAgICAgICBjb25zdCBlbmdpbmUgPSBUZW1wbGF0ZUVuZ2luZXNGYWNhZGUuZ2V0SmF2YXNjcmlwdEVuZ2luZSgpO1xuICAgICAgICByZXR1cm4gbmV3IFRlbXBsYXRlRW5naW5lKGVuZ2luZSwgXCJqYXZhc2NyaXB0XCIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdlbmVyYXRlcyBvdXRwdXQgYnkgcHJvY2Vzc2luZyBhIHJhdyB0ZW1wbGF0ZSBzdHJpbmcgdXNpbmcgdGhlICoqZGVmYXVsdCB0ZW1wbGF0ZSBlbmdpbmUgKFZlbG9jaXR5KSoqLlxuICAgICAqXG4gICAgICogQHBhcmFtIGxvY2F0aW9uIEEgc3RyaW5nIGlkZW50aWZ5aW5nIHRoZSB0ZW1wbGF0ZSAodXNlZCBmb3IgZXJyb3IgcmVwb3J0aW5nL2NhY2hpbmcsIG9mdGVuIGEgZmlsZSBwYXRoKS5cbiAgICAgKiBAcGFyYW0gdGVtcGxhdGUgVGhlIHJhdyB0ZW1wbGF0ZSBzdHJpbmcgY29udGVudCB0byBwcm9jZXNzLlxuICAgICAqIEBwYXJhbSBwYXJhbWV0ZXJzIEFuIG9iamVjdCBjb250YWluaW5nIGtleS12YWx1ZSBwYWlycyB0byBiZSB1c2VkIGFzIGNvbnRleHQgdmFyaWFibGVzIGluIHRoZSB0ZW1wbGF0ZS5cbiAgICAgKiBAcmV0dXJucyBUaGUgcHJvY2Vzc2VkIG91dHB1dCBzdHJpbmcuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZW5lcmF0ZShsb2NhdGlvbjogc3RyaW5nLCB0ZW1wbGF0ZTogc3RyaW5nLCBwYXJhbWV0ZXJzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RGVmYXVsdEVuZ2luZSgpLmdlbmVyYXRlKGxvY2F0aW9uLCB0ZW1wbGF0ZSwgcGFyYW1ldGVycyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9hZHMgYSB0ZW1wbGF0ZSBmcm9tIHRoZSBwdWJsaWMgcmVnaXN0cnksIHNlbGVjdHMgYW4gYXBwcm9wcmlhdGUgZW5naW5lLCBhbmQgZ2VuZXJhdGVzIG91dHB1dC5cbiAgICAgKiBJdCB1c2VzIHRoZSAqKk11c3RhY2hlIGVuZ2luZSoqIGlmIHRoZSBmaWxlIGV4dGVuc2lvbiBpcyBgLm11c3RhY2hlYCwgb3RoZXJ3aXNlIGl0IHVzZXMgdGhlICoqZGVmYXVsdCAoVmVsb2NpdHkpKiouXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbG9jYXRpb24gVGhlIHBhdGggdG8gdGhlIHRlbXBsYXRlIGZpbGUgd2l0aGluIHRoZSBgL3JlZ2lzdHJ5L3B1YmxpYy9gIGRpcmVjdG9yeSAoZS5nLiwgJ3RlbXBsYXRlcy9lbWFpbC5tdXN0YWNoZScpLlxuICAgICAqIEBwYXJhbSBwYXJhbWV0ZXJzIEFuIG9iamVjdCBjb250YWluaW5nIGtleS12YWx1ZSBwYWlycyB0byBiZSB1c2VkIGFzIGNvbnRleHQgdmFyaWFibGVzIGluIHRoZSB0ZW1wbGF0ZS5cbiAgICAgKiBAcmV0dXJucyBUaGUgcHJvY2Vzc2VkIG91dHB1dCBzdHJpbmcsIG9yIGB1bmRlZmluZWRgIGlmIHRoZSByZXNvdXJjZSBkb2VzIG5vdCBleGlzdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdlbmVyYXRlRnJvbUZpbGUobG9jYXRpb246IHN0cmluZywgcGFyYW1ldGVyczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IHJlc291cmNlID0gUmVwb3NpdG9yeS5nZXRSZXNvdXJjZShSRUdJU1RSWV9QVUJMSUMgKyBsb2NhdGlvbik7XG4gICAgICAgIGlmIChyZXNvdXJjZS5leGlzdHMoKSkge1xuICAgICAgICAgICAgY29uc3QgaXNNdXN0YWNoZVRlbXBsYXRlID0gbG9jYXRpb24uZW5kc1dpdGgoTVVTVEFDSEVfRklMRV9FWFRFTlNJT04pO1xuICAgICAgICAgICAgY29uc3QgZW5naW5lID0gaXNNdXN0YWNoZVRlbXBsYXRlID8gdGhpcy5nZXRNdXN0YWNoZUVuZ2luZSgpIDogdGhpcy5nZXREZWZhdWx0RW5naW5lKCk7XG4gICAgICAgICAgICBjb25zdCB0ZW1wbGF0ZSA9IHJlc291cmNlLmdldFRleHQoKTtcbiAgICAgICAgICAgIHJldHVybiBlbmdpbmUuZ2VuZXJhdGUobG9jYXRpb24sIHRlbXBsYXRlLCBwYXJhbWV0ZXJzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBUZW1wbGF0ZUVuZ2luZXM7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiQUFnQ0EsU0FBUyxrQkFBa0I7QUFFM0IsTUFBTSxrQkFBa0I7QUFDeEIsTUFBTSwwQkFBMEI7QUFFaEMsTUFBTSx3QkFBd0IsS0FBSyxLQUFLLHNFQUFzRTtBQU05RyxNQUFNLGVBQWU7QUFBQSxFQUVUO0FBQUE7QUFBQSxFQUVBO0FBQUE7QUFBQSxFQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRUixZQUFZLFFBQWEsTUFBYztBQUNuQyxTQUFLLFNBQVM7QUFFZCxTQUFLLEtBQUssU0FBUyxhQUFhLE9BQU87QUFDdkMsU0FBSyxLQUFLLFNBQVMsYUFBYSxPQUFPO0FBQUEsRUFDM0M7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVdPLFNBQVMsVUFBa0IsVUFBa0IsWUFBNEM7QUFDNUYsV0FBTyxLQUFLLE9BQU8sU0FBUyxVQUFVLFVBQVUsS0FBSyxVQUFVLFVBQVUsR0FBRyxLQUFLLElBQUksS0FBSyxFQUFFO0FBQUEsRUFDaEc7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPTyxNQUFNLElBQVM7QUFDbEIsU0FBSyxLQUFLO0FBQUEsRUFDZDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9PLE1BQU0sSUFBUztBQUNsQixTQUFLLEtBQUs7QUFBQSxFQUNkO0FBQ0o7QUFPTyxNQUFNLGdCQUFnQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU96QixPQUFjLG1CQUFtQztBQUM3QyxXQUFPLEtBQUssa0JBQWtCO0FBQUEsRUFDbEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFBLE9BQWMsb0JBQW9DO0FBQzlDLFVBQU0sU0FBUyxzQkFBc0Isa0JBQWtCO0FBQ3ZELFdBQU8sSUFBSSxlQUFlLFFBQVEsVUFBVTtBQUFBLEVBQ2hEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxPQUFjLG9CQUFvQztBQUM5QyxVQUFNLFNBQVMsc0JBQXNCLGtCQUFrQjtBQUN2RCxXQUFPLElBQUksZUFBZSxRQUFRLFVBQVU7QUFBQSxFQUNoRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLE9BQWMsc0JBQXNDO0FBQ2hELFVBQU0sU0FBUyxzQkFBc0Isb0JBQW9CO0FBQ3pELFdBQU8sSUFBSSxlQUFlLFFBQVEsWUFBWTtBQUFBLEVBQ2xEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBVUEsT0FBYyxTQUFTLFVBQWtCLFVBQWtCLFlBQTRDO0FBQ25HLFdBQU8sS0FBSyxpQkFBaUIsRUFBRSxTQUFTLFVBQVUsVUFBVSxVQUFVO0FBQUEsRUFDMUU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFVQSxPQUFjLGlCQUFpQixVQUFrQixZQUF3RDtBQUNyRyxVQUFNLFdBQVcsV0FBVyxZQUFZLGtCQUFrQixRQUFRO0FBQ2xFLFFBQUksU0FBUyxPQUFPLEdBQUc7QUFDbkIsWUFBTSxxQkFBcUIsU0FBUyxTQUFTLHVCQUF1QjtBQUNwRSxZQUFNLFNBQVMscUJBQXFCLEtBQUssa0JBQWtCLElBQUksS0FBSyxpQkFBaUI7QUFDckYsWUFBTSxXQUFXLFNBQVMsUUFBUTtBQUNsQyxhQUFPLE9BQU8sU0FBUyxVQUFVLFVBQVUsVUFBVTtBQUFBLElBQ3pEO0FBQ0EsV0FBTztBQUFBLEVBQ1g7QUFDSjtBQUdBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFbEMsU0FBTyxVQUFVO0FBQ2xCOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -3,4 +3,4 @@ export * from "./engines";
3
3
  export {
4
4
  TemplateEngines as engines
5
5
  };
6
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3RlbXBsYXRlL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJleHBvcnQgeyBUZW1wbGF0ZUVuZ2luZXMgYXMgZW5naW5lcyB9IGZyb20gXCIuL2VuZ2luZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VuZ2luZXNcIjsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxTQUE0Qix1QkFBZTtBQUMzQyxjQUFjOyIsCiAgIm5hbWVzIjogW10KfQo=
6
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3RlbXBsYXRlL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgdGVtcGxhdGUvaW5kZXhcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay90ZW1wbGF0ZVxuICogQG92ZXJ2aWV3XG4gKlxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdGVtcGxhdGUgZW5naW5lIHV0aWxpdGllcyBmb3IgdGhlIEFlcm9raXQgU0RLLlxuICogSXQgZXhwb3NlcyB2YXJpb3VzIHRlbXBsYXRlIGVuZ2luZXMgZm9yIHJlbmRlcmluZyBkeW5hbWljIGNvbnRlbnQsXG4gKiBzdXBwb3J0aW5nIG11bHRpcGxlIHRlbXBsYXRlIGxhbmd1YWdlcyBhbmQgZm9ybWF0dGluZyBvcHRpb25zLlxuICpcbiAqIFRoZSBtYWluIGNvbXBvbmVudHMgb2YgdGhpcyBtb2R1bGUgYXJlOlxuICogLSBUZW1wbGF0ZUVuZ2luZXM6IFJlZ2lzdHJ5IGFuZCBtYW5hZ2VtZW50IG9mIGF2YWlsYWJsZSB0ZW1wbGF0ZSBlbmdpbmVzLlxuICovXG5cbmV4cG9ydCB7IFRlbXBsYXRlRW5naW5lcyBhcyBlbmdpbmVzIH0gZnJvbSBcIi4vZW5naW5lc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW5naW5lc1wiOyJdLAogICJtYXBwaW5ncyI6ICJBQWFBLFNBQTRCLHVCQUFlO0FBQzNDLGNBQWM7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -1,4 +1,4 @@
1
- let LOWERCASEASCII = "abcdefghijklmnopqrstuvwxyz";
1
+ const LOWERCASEASCII = "abcdefghijklmnopqrstuvwxyz";
2
2
  const UPPERCASEASCII = LOWERCASEASCII.toUpperCase();
3
3
  const NUMBERS = "1234567890";
4
4
  class Alphanumeric {
@@ -85,4 +85,4 @@ if (typeof module !== "undefined") {
85
85
  export {
86
86
  Alphanumeric
87
87
  };
88
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3V0aWxzL2FscGhhbnVtZXJpYy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBUcmFuc2Zvcm1zIGEgc3RyaW5nIHRvIGFuIGFscGhhbnVtZXJpYyBzZXF1ZW5jZSwgc3RyaXBwaW5nIG5vbi1jb25mb3JtYW50IGNoYXJhY3RlcnMgZm9yIGl0LlxuICogQHBhcmFtIHN0cmluZyB7U3RyaW5nfSB0aGUgc3RyaW5nIHRvIHRyYW5zZm9ybVxuICovXG5cbmxldCBMT1dFUkNBU0VBU0NJSSA9IFwiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpcIjtcbmNvbnN0IFVQUEVSQ0FTRUFTQ0lJID0gTE9XRVJDQVNFQVNDSUkudG9VcHBlckNhc2UoKTtcbmNvbnN0IE5VTUJFUlMgPSBcIjEyMzQ1Njc4OTBcIjtcblxuZXhwb3J0IGNsYXNzIEFscGhhbnVtZXJpYyB7XG5cblx0cHVibGljIHN0YXRpYyB0b0FscGhhbnVtZXJpYyhzdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHN0cmluZy5yZXBsYWNlKC9bXkEtWmEtejAtOV9dL2csICcnKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSByYW5kb20gYWxwaGFudW1lcmljIHNlcXVlbmNlIHdpdGggdGhlIHNwZWNpZmllZCBsZW5ndGhcblx0ICogQHBhcmFtIGxlbmd0aCB7SW50ZWdlcn0gRGVmYXVsdHMgdG8gNFxuXHQgKi9cblx0cHVibGljIHN0YXRpYyByYW5kb21TdHJpbmcobGVuZ3RoOiBudW1iZXIsIGNoYXJzZXQ6IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0bGV0IHRleHQgPSBcIlwiO1xuXHRcdGlmIChsZW5ndGggPCAxKVxuXHRcdFx0bGVuZ3RoID0gNDtcblx0XHRmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKVxuXHRcdFx0dGV4dCArPSBjaGFyc2V0LmNoYXJBdChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFyc2V0Lmxlbmd0aCkpO1xuXHRcdHJldHVybiB0ZXh0O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIHJhbmRvbSBhbHBoYW51bWVyaWMgc2VxdWVuY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIGxlbmd0aFxuXHQgKiBAcGFyYW0gbGVuZ3RoIHtJbnRlZ2VyfSBEZWZhdWx0cyB0byA0XG5cdCAqIEBwYXJhbSBsb3dlcmNhc2Uge0Jvb2xlYW59IERlZmF1bHRzIHRvIHRydWVcblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgYWxwaGFudW1lcmljKGxlbmd0aDogbnVtYmVyLCBsb3dlcmNhc2U6IGJvb2xlYW4pOiBzdHJpbmcge1xuXHRcdGxldCBjaGFyc2V0ID0gTE9XRVJDQVNFQVNDSUkgKyBOVU1CRVJTO1xuXHRcdGlmICghbG93ZXJjYXNlKSB7XG5cdFx0XHRjaGFyc2V0ICs9IFVQUEVSQ0FTRUFTQ0lJO1xuXHRcdH1cblx0XHRyZXR1cm4gQWxwaGFudW1lcmljLnJhbmRvbVN0cmluZyhsZW5ndGgsIGNoYXJzZXQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIHJhbmRvbSBBU0NJSSBzZXF1ZW5jZSB3aXRoIHRoZSBzcGVjaWZpZWQgbGVuZ3RoXG5cdCAqIEBwYXJhbSBsZW5ndGgge0ludGVnZXJ9IERlZmF1bHRzIHRvIDRcblx0ICogQHBhcmFtIGxvd2VyY2FzZSB7Qm9vbGVhbn0gRGVmYXVsdHMgdG8gdHJ1ZVxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBhbHBoYShsZW5ndGg6IG51bWJlciwgbG93ZXJjYXNlOiBib29sZWFuKTogc3RyaW5nIHtcblx0XHRsZXQgY2hhcnNldCA9IExPV0VSQ0FTRUFTQ0lJO1xuXHRcdGlmICghbG93ZXJjYXNlKSB7XG5cdFx0XHRjaGFyc2V0ICs9IFVQUEVSQ0FTRUFTQ0lJO1xuXHRcdH1cblx0XHRyZXR1cm4gQWxwaGFudW1lcmljLnJhbmRvbVN0cmluZyhsZW5ndGgsIGNoYXJzZXQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIHJhbmRvbSBudW1lcmljIHZhbHVlXG5cdCAqIEBwYXJhbSBsZW5ndGgge0ludGVnZXJ9IERlZmF1bHRzIHRvIDRcblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgbnVtZXJpYyhsZW5ndGg6IG51bWJlcik6IHN0cmluZyB7XG5cdFx0cmV0dXJuIEFscGhhbnVtZXJpYy5yYW5kb21TdHJpbmcobGVuZ3RoLCBOVU1CRVJTKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBUZXN0cyBpcyB0aGUgcHJvdmlkZWQgYHN0cmAgYXJndW1lbnQgaXMgYSB2YWxpZCBudW1lcmljIHNlcXVlbmNlLlxuXHQgKiBAcGFyYW0gc3RyIHtTdHJpbmd9IHRoZSBzdHJpbmcgdG8gdGVzdFxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBpc051bWVyaWMoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHQvLyBhIGZhc3RlciBhbHRlcm5hdGl2ZSB0byBjaGVja2luZyB3aXRoICAvW15hLXpBLVowLTldLy50ZXN0KHN0cilcblx0XHQvLyBjb3B5IGZyb20gcHVibGljIGRvbWFpbiBhdDogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzI1MzUyMzAwXG5cdFx0bGV0IGNvZGUsIGksIGxlbjtcblx0XHRmb3IgKGkgPSAwLCBsZW4gPSBzdHIubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcblx0XHRcdGNvZGUgPSBzdHIuY2hhckNvZGVBdChpKTtcblx0XHRcdGlmICghKGNvZGUgPiA0NyAmJiBjb2RlIDwgNTgpKSB7IC8vIG51bWVyaWMgKDAtOSlcblx0XHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBUZXN0cyBpcyB0aGUgcHJvdmlkZWQgYHN0cmAgYXJndW1lbnQgaXMgYSB2YWxpZCBhbHBoYW51bWVyaWMgc2VxdWVuY2UuXG5cdCAqIEBwYXJhbSBzdHIge1N0cmluZ30gdGhlIHN0cmluZyB0byB0ZXN0XG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGlzQWxwaGFudW1lcmljKHN0cjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0Ly8gYSBmYXN0ZXIgYWx0ZXJuYXRpdmUgdG8gY2hlY2tpbmcgd2l0aCAgL1teYS16QS1aMC05XS8udGVzdChzdHIpXG5cdFx0Ly8gY29weSBmcm9tIHB1YmxpYyBkb21haW4gYXQ6IGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8yNTM1MjMwMFxuXHRcdGxldCBjb2RlLCBpLCBsZW47XG5cdFx0Zm9yIChpID0gMCwgbGVuID0gc3RyLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG5cdFx0XHRjb2RlID0gc3RyLmNoYXJDb2RlQXQoaSk7XG5cdFx0XHRpZiAoIShjb2RlID4gNDcgJiYgY29kZSA8IDU4KSAmJiAvLyBudW1lcmljICgwLTkpXG5cdFx0XHRcdCEoY29kZSA+IDY0ICYmIGNvZGUgPCA5MSkgJiYgLy8gdXBwZXIgYWxwaGEgKEEtWilcblx0XHRcdFx0IShjb2RlID4gOTYgJiYgY29kZSA8IDEyMykpIHsgLy8gbG93ZXIgYWxwaGEgKGEteilcblx0XHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxufVxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IEFscGhhbnVtZXJpYztcbn1cbiJdLAogICJtYXBwaW5ncyI6ICJBQUtBLElBQUksaUJBQWlCO0FBQ3JCLE1BQU0saUJBQWlCLGVBQWUsWUFBWTtBQUNsRCxNQUFNLFVBQVU7QUFFVCxNQUFNLGFBQWE7QUFBQSxFQUV6QixPQUFjLGVBQWUsUUFBd0I7QUFDcEQsV0FBTyxPQUFPLFFBQVEsa0JBQWtCLEVBQUU7QUFBQSxFQUMzQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNQSxPQUFjLGFBQWEsUUFBZ0IsU0FBeUI7QUFDbkUsUUFBSSxPQUFPO0FBQ1gsUUFBSSxTQUFTO0FBQ1osZUFBUztBQUNWLGFBQVMsSUFBSSxHQUFHLElBQUksUUFBUTtBQUMzQixjQUFRLFFBQVEsT0FBTyxLQUFLLE1BQU0sS0FBSyxPQUFPLElBQUksUUFBUSxNQUFNLENBQUM7QUFDbEUsV0FBTztBQUFBLEVBQ1I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxPQUFjLGFBQWEsUUFBZ0IsV0FBNEI7QUFDdEUsUUFBSSxVQUFVLGlCQUFpQjtBQUMvQixRQUFJLENBQUMsV0FBVztBQUNmLGlCQUFXO0FBQUEsSUFDWjtBQUNBLFdBQU8sYUFBYSxhQUFhLFFBQVEsT0FBTztBQUFBLEVBQ2pEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT0EsT0FBYyxNQUFNLFFBQWdCLFdBQTRCO0FBQy9ELFFBQUksVUFBVTtBQUNkLFFBQUksQ0FBQyxXQUFXO0FBQ2YsaUJBQVc7QUFBQSxJQUNaO0FBQ0EsV0FBTyxhQUFhLGFBQWEsUUFBUSxPQUFPO0FBQUEsRUFDakQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsT0FBYyxRQUFRLFFBQXdCO0FBQzdDLFdBQU8sYUFBYSxhQUFhLFFBQVEsT0FBTztBQUFBLEVBQ2pEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1BLE9BQWMsVUFBVSxLQUFzQjtBQUc3QyxRQUFJLE1BQU0sR0FBRztBQUNiLFNBQUssSUFBSSxHQUFHLE1BQU0sSUFBSSxRQUFRLElBQUksS0FBSyxLQUFLO0FBQzNDLGFBQU8sSUFBSSxXQUFXLENBQUM7QUFDdkIsVUFBSSxFQUFFLE9BQU8sTUFBTSxPQUFPLEtBQUs7QUFDOUIsZUFBTztBQUFBLE1BQ1I7QUFBQSxJQUNEO0FBQ0EsV0FBTztBQUFBLEVBQ1I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsT0FBYyxlQUFlLEtBQXNCO0FBR2xELFFBQUksTUFBTSxHQUFHO0FBQ2IsU0FBSyxJQUFJLEdBQUcsTUFBTSxJQUFJLFFBQVEsSUFBSSxLQUFLLEtBQUs7QUFDM0MsYUFBTyxJQUFJLFdBQVcsQ0FBQztBQUN2QixVQUFJLEVBQUUsT0FBTyxNQUFNLE9BQU87QUFBQSxNQUN6QixFQUFFLE9BQU8sTUFBTSxPQUFPO0FBQUEsTUFDdEIsRUFBRSxPQUFPLE1BQU0sT0FBTyxNQUFNO0FBQzVCLGVBQU87QUFBQSxNQUNSO0FBQUEsSUFDRDtBQUNBLFdBQU87QUFBQSxFQUNSO0FBQ0Q7QUFHQSxJQUFJLE9BQU8sV0FBVyxhQUFhO0FBRWxDLFNBQU8sVUFBVTtBQUNsQjsiLAogICJuYW1lcyI6IFtdCn0K
88
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3V0aWxzL2FscGhhbnVtZXJpYy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAbW9kdWxlIHV0aWxzL2FscGhhbnVtZXJpY1xuICogQHBhY2thZ2UgQGFlcm9raXQvc2RrL3V0aWxzXG4gKiBAbmFtZSBBbHBoYW51bWVyaWNcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgQWxwaGFudW1lcmljIGNsYXNzIHByb3ZpZGVzIGEgY29sbGVjdGlvbiBvZiBzdGF0aWMgdXRpbGl0eSBtZXRob2RzIGZvciBnZW5lcmF0aW5nIGFuZCB2YWxpZGF0aW5nIGFscGhhbnVtZXJpYyBzdHJpbmdzLiBJdCBpbmNsdWRlcyBtZXRob2RzIGZvciB0cmFuc2Zvcm1pbmcgc3RyaW5ncyB0byBhbHBoYW51bWVyaWMgZm9ybWF0LCBnZW5lcmF0aW5nIHJhbmRvbSBhbHBoYW51bWVyaWMgc2VxdWVuY2VzLCBhbmQgdmFsaWRhdGluZyB3aGV0aGVyIGEgZ2l2ZW4gc3RyaW5nIGlzIG51bWVyaWMgb3IgYWxwaGFudW1lcmljLiBUaGVzZSB1dGlsaXRpZXMgYXJlIGVzc2VudGlhbCBmb3Igc2NlbmFyaW9zIHdoZXJlIGlucHV0IHNhbml0aXphdGlvbiwgcmFuZG9tIGlkZW50aWZpZXIgZ2VuZXJhdGlvbiwgb3IgZm9ybWF0IHZhbGlkYXRpb24gaXMgcmVxdWlyZWQsIG1ha2luZyBpdCBlYXNpZXIgZm9yIGRldmVsb3BlcnMgdG8gaGFuZGxlIGNvbW1vbiBzdHJpbmcgbWFuaXB1bGF0aW9uIHRhc2tzIGluIGEgY29uc2lzdGVudCBtYW5uZXIuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXM6XG4gKiAtICoqU3RyaW5nIFRyYW5zZm9ybWF0aW9uKio6IFRoZSBgdG9BbHBoYW51bWVyaWNgIG1ldGhvZCB0cmFuc2Zvcm1zIGEgZ2l2ZW4gc3RyaW5nIGludG8gYW4gYWxwaGFudW1lcmljIHNlcXVlbmNlIGJ5IHJlbW92aW5nIG5vbi1jb25mb3JtYW50IGNoYXJhY3RlcnMuXG4gKiAtICoqUmFuZG9tIFN0cmluZyBHZW5lcmF0aW9uKio6IE1ldGhvZHMgbGlrZSBgcmFuZG9tU3RyaW5nYCwgYGFscGhhbnVtZXJpY2AsIGFuZCBgYWxwaGFgIGFsbG93IGZvciBnZW5lcmF0aW5nIHJhbmRvbSBzdHJpbmdzIG9mIHNwZWNpZmllZCBsZW5ndGhzIGFuZCBjaGFyYWN0ZXIgc2V0cy5cbiAqIC0gKipWYWxpZGF0aW9uIE1ldGhvZHMqKjogVGhlIGBpc051bWVyaWNgIGFuZCBgaXNBbHBoYW51bWVyaWNgIG1ldGhvZHMgcHJvdmlkZSBhIHdheSB0byB2YWxpZGF0ZSB3aGV0aGVyIGEgc3RyaW5nIGlzIHB1cmVseSBudW1lcmljIG9yIGFscGhhbnVtZXJpYywgcmVzcGVjdGl2ZWx5LlxuICogXG4gKiAjIyMgVXNlIENhc2VzOlxuICogLSAqKklucHV0IFNhbml0aXphdGlvbioqOiBUaGUgYHRvQWxwaGFudW1lcmljYCBtZXRob2QgY2FuIGJlIHVzZWQgdG8gc2FuaXRpemUgdXNlciBpbnB1dCBieSBzdHJpcHBpbmcgb3V0IHVud2FudGVkIGNoYXJhY3RlcnMsIGVuc3VyaW5nIHRoYXQgb25seSB2YWxpZCBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyBhcmUgcmV0YWluZWQuXG4gKiAtICoqSWRlbnRpZmllciBHZW5lcmF0aW9uKio6IFRoZSByYW5kb20gc3RyaW5nIGdlbmVyYXRpb24gbWV0aG9kcyBhcmUgdXNlZnVsIGZvciBjcmVhdGluZyB1bmlxdWUgaWRlbnRpZmllcnMsIHN1Y2ggYXMgdXNlciBJRHMsIHNlc3Npb24gdG9rZW5zLCBvciBhbnkgb3RoZXIgc2NlbmFyaW8gd2hlcmUgYSByYW5kb20gc3RyaW5nIGlzIG5lZWRlZC5cbiAqIC0gKipGb3JtYXQgVmFsaWRhdGlvbioqOiBUaGUgdmFsaWRhdGlvbiBtZXRob2RzIGNhbiBiZSB1c2VkIHRvIGNoZWNrIGlmIHVzZXIgaW5wdXQgb3IgZGF0YSBjb25mb3JtcyB0byBleHBlY3RlZCBmb3JtYXRzLCBzdWNoIGFzIGVuc3VyaW5nIHRoYXQgYSBzdHJpbmcgaXMgbnVtZXJpYyBiZWZvcmUgcHJvY2Vzc2luZyBpdCBhcyBhIG51bWJlci5cbiAqIFxuICogIyMjIEV4YW1wbGUgVXNhZ2U6XG4gKiBgYGB0c1xuICogaW1wb3J0IHsgQWxwaGFudW1lcmljIH0gZnJvbSBcIkBhZXJva2l0L3Nkay91dGlsc1wiO1xuICogXG4gKiAvLyBUcmFuc2Zvcm0gYSBzdHJpbmcgdG8gYWxwaGFudW1lcmljIGZvcm1hdFxuICogY29uc3Qgc2FuaXRpemVkID0gQWxwaGFudW1lcmljLnRvQWxwaGFudW1lcmljKFwiSGVsbG8sIFdvcmxkISAxMjNcIik7XG4gKiBjb25zb2xlLmxvZyhzYW5pdGl6ZWQpOyAvLyBPdXRwdXQ6IFwiSGVsbG9Xb3JsZDEyM1wiXG4gKiBcbiAqIC8vIEdlbmVyYXRlIGEgcmFuZG9tIGFscGhhbnVtZXJpYyBzdHJpbmcgb2YgbGVuZ3RoIDhcbiAqIGNvbnN0IHJhbmRvbUlkID0gQWxwaGFudW1lcmljLmFscGhhbnVtZXJpYyg4LCB0cnVlKTtcbiAqIGNvbnNvbGUubG9nKHJhbmRvbUlkKTsgLy8gT3V0cHV0OiBlLmcuLCBcImExYjJjM2Q0XCJcbiAqIFxuICogLy8gVmFsaWRhdGUgaWYgYSBzdHJpbmcgaXMgbnVtZXJpY1xuICogY29uc3QgaXNOdW1lcmljID0gQWxwaGFudW1lcmljLmlzTnVtZXJpYyhcIjEyMzQ1XCIpO1xuICogY29uc29sZS5sb2coaXNOdW1lcmljKTsgLy8gT3V0cHV0OiB0cnVlXG4gKiBcbiAqIC8vIFZhbGlkYXRlIGlmIGEgc3RyaW5nIGlzIGFscGhhbnVtZXJpYyAqIGNvbnN0IGlzQWxwaGFudW1lcmljID0gQWxwaGFudW1lcmljLmlzQWxwaGFudW1lcmljKFwiYWJjMTIzXCIpO1xuICogY29uc29sZS5sb2coaXNBbHBoYW51bWVyaWMpOyAvLyBPdXRwdXQ6IHRydWVcbiAqIGBgYFxuICovXG5cbmNvbnN0IExPV0VSQ0FTRUFTQ0lJID0gXCJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5elwiO1xuY29uc3QgVVBQRVJDQVNFQVNDSUkgPSBMT1dFUkNBU0VBU0NJSS50b1VwcGVyQ2FzZSgpO1xuY29uc3QgTlVNQkVSUyA9IFwiMTIzNDU2Nzg5MFwiO1xuXG5leHBvcnQgY2xhc3MgQWxwaGFudW1lcmljIHtcblxuXHRwdWJsaWMgc3RhdGljIHRvQWxwaGFudW1lcmljKHN0cmluZzogc3RyaW5nKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gc3RyaW5nLnJlcGxhY2UoL1teQS1aYS16MC05X10vZywgJycpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIHJhbmRvbSBhbHBoYW51bWVyaWMgc2VxdWVuY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIGxlbmd0aFxuXHQgKiBAcGFyYW0gbGVuZ3RoIHtJbnRlZ2VyfSBEZWZhdWx0cyB0byA0XG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHJhbmRvbVN0cmluZyhsZW5ndGg6IG51bWJlciwgY2hhcnNldDogc3RyaW5nKTogc3RyaW5nIHtcblx0XHRsZXQgdGV4dCA9IFwiXCI7XG5cdFx0aWYgKGxlbmd0aCA8IDEpXG5cdFx0XHRsZW5ndGggPSA0O1xuXHRcdGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspXG5cdFx0XHR0ZXh0ICs9IGNoYXJzZXQuY2hhckF0KE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNoYXJzZXQubGVuZ3RoKSk7XG5cdFx0cmV0dXJuIHRleHQ7XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgcmFuZG9tIGFscGhhbnVtZXJpYyBzZXF1ZW5jZSB3aXRoIHRoZSBzcGVjaWZpZWQgbGVuZ3RoXG5cdCAqIEBwYXJhbSBsZW5ndGgge0ludGVnZXJ9IERlZmF1bHRzIHRvIDRcblx0ICogQHBhcmFtIGxvd2VyY2FzZSB7Qm9vbGVhbn0gRGVmYXVsdHMgdG8gdHJ1ZVxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBhbHBoYW51bWVyaWMobGVuZ3RoOiBudW1iZXIsIGxvd2VyY2FzZTogYm9vbGVhbik6IHN0cmluZyB7XG5cdFx0bGV0IGNoYXJzZXQgPSBMT1dFUkNBU0VBU0NJSSArIE5VTUJFUlM7XG5cdFx0aWYgKCFsb3dlcmNhc2UpIHtcblx0XHRcdGNoYXJzZXQgKz0gVVBQRVJDQVNFQVNDSUk7XG5cdFx0fVxuXHRcdHJldHVybiBBbHBoYW51bWVyaWMucmFuZG9tU3RyaW5nKGxlbmd0aCwgY2hhcnNldCk7XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgcmFuZG9tIEFTQ0lJIHNlcXVlbmNlIHdpdGggdGhlIHNwZWNpZmllZCBsZW5ndGhcblx0ICogQHBhcmFtIGxlbmd0aCB7SW50ZWdlcn0gRGVmYXVsdHMgdG8gNFxuXHQgKiBAcGFyYW0gbG93ZXJjYXNlIHtCb29sZWFufSBEZWZhdWx0cyB0byB0cnVlXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGFscGhhKGxlbmd0aDogbnVtYmVyLCBsb3dlcmNhc2U6IGJvb2xlYW4pOiBzdHJpbmcge1xuXHRcdGxldCBjaGFyc2V0ID0gTE9XRVJDQVNFQVNDSUk7XG5cdFx0aWYgKCFsb3dlcmNhc2UpIHtcblx0XHRcdGNoYXJzZXQgKz0gVVBQRVJDQVNFQVNDSUk7XG5cdFx0fVxuXHRcdHJldHVybiBBbHBoYW51bWVyaWMucmFuZG9tU3RyaW5nKGxlbmd0aCwgY2hhcnNldCk7XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgcmFuZG9tIG51bWVyaWMgdmFsdWVcblx0ICogQHBhcmFtIGxlbmd0aCB7SW50ZWdlcn0gRGVmYXVsdHMgdG8gNFxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBudW1lcmljKGxlbmd0aDogbnVtYmVyKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gQWxwaGFudW1lcmljLnJhbmRvbVN0cmluZyhsZW5ndGgsIE5VTUJFUlMpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFRlc3RzIGlzIHRoZSBwcm92aWRlZCBgc3RyYCBhcmd1bWVudCBpcyBhIHZhbGlkIG51bWVyaWMgc2VxdWVuY2UuXG5cdCAqIEBwYXJhbSBzdHIge1N0cmluZ30gdGhlIHN0cmluZyB0byB0ZXN0XG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGlzTnVtZXJpYyhzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdC8vIGEgZmFzdGVyIGFsdGVybmF0aXZlIHRvIGNoZWNraW5nIHdpdGggIC9bXmEtekEtWjAtOV0vLnRlc3Qoc3RyKVxuXHRcdC8vIGNvcHkgZnJvbSBwdWJsaWMgZG9tYWluIGF0OiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMjUzNTIzMDBcblx0XHRsZXQgY29kZSwgaSwgbGVuO1xuXHRcdGZvciAoaSA9IDAsIGxlbiA9IHN0ci5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuXHRcdFx0Y29kZSA9IHN0ci5jaGFyQ29kZUF0KGkpO1xuXHRcdFx0aWYgKCEoY29kZSA+IDQ3ICYmIGNvZGUgPCA1OCkpIHsgLy8gbnVtZXJpYyAoMC05KVxuXHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiB0cnVlO1xuXHR9XG5cblx0LyoqXG5cdCAqIFRlc3RzIGlzIHRoZSBwcm92aWRlZCBgc3RyYCBhcmd1bWVudCBpcyBhIHZhbGlkIGFscGhhbnVtZXJpYyBzZXF1ZW5jZS5cblx0ICogQHBhcmFtIHN0ciB7U3RyaW5nfSB0aGUgc3RyaW5nIHRvIHRlc3Rcblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgaXNBbHBoYW51bWVyaWMoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHQvLyBhIGZhc3RlciBhbHRlcm5hdGl2ZSB0byBjaGVja2luZyB3aXRoICAvW15hLXpBLVowLTldLy50ZXN0KHN0cilcblx0XHQvLyBjb3B5IGZyb20gcHVibGljIGRvbWFpbiBhdDogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzI1MzUyMzAwXG5cdFx0bGV0IGNvZGUsIGksIGxlbjtcblx0XHRmb3IgKGkgPSAwLCBsZW4gPSBzdHIubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcblx0XHRcdGNvZGUgPSBzdHIuY2hhckNvZGVBdChpKTtcblx0XHRcdGlmICghKGNvZGUgPiA0NyAmJiBjb2RlIDwgNTgpICYmIC8vIG51bWVyaWMgKDAtOSlcblx0XHRcdFx0IShjb2RlID4gNjQgJiYgY29kZSA8IDkxKSAmJiAvLyB1cHBlciBhbHBoYSAoQS1aKVxuXHRcdFx0XHQhKGNvZGUgPiA5NiAmJiBjb2RlIDwgMTIzKSkgeyAvLyBsb3dlciBhbHBoYSAoYS16KVxuXHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiB0cnVlO1xuXHR9XG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gQWxwaGFudW1lcmljO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIkFBdUNBLE1BQU0saUJBQWlCO0FBQ3ZCLE1BQU0saUJBQWlCLGVBQWUsWUFBWTtBQUNsRCxNQUFNLFVBQVU7QUFFVCxNQUFNLGFBQWE7QUFBQSxFQUV6QixPQUFjLGVBQWUsUUFBd0I7QUFDcEQsV0FBTyxPQUFPLFFBQVEsa0JBQWtCLEVBQUU7QUFBQSxFQUMzQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNQSxPQUFjLGFBQWEsUUFBZ0IsU0FBeUI7QUFDbkUsUUFBSSxPQUFPO0FBQ1gsUUFBSSxTQUFTO0FBQ1osZUFBUztBQUNWLGFBQVMsSUFBSSxHQUFHLElBQUksUUFBUTtBQUMzQixjQUFRLFFBQVEsT0FBTyxLQUFLLE1BQU0sS0FBSyxPQUFPLElBQUksUUFBUSxNQUFNLENBQUM7QUFDbEUsV0FBTztBQUFBLEVBQ1I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxPQUFjLGFBQWEsUUFBZ0IsV0FBNEI7QUFDdEUsUUFBSSxVQUFVLGlCQUFpQjtBQUMvQixRQUFJLENBQUMsV0FBVztBQUNmLGlCQUFXO0FBQUEsSUFDWjtBQUNBLFdBQU8sYUFBYSxhQUFhLFFBQVEsT0FBTztBQUFBLEVBQ2pEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT0EsT0FBYyxNQUFNLFFBQWdCLFdBQTRCO0FBQy9ELFFBQUksVUFBVTtBQUNkLFFBQUksQ0FBQyxXQUFXO0FBQ2YsaUJBQVc7QUFBQSxJQUNaO0FBQ0EsV0FBTyxhQUFhLGFBQWEsUUFBUSxPQUFPO0FBQUEsRUFDakQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsT0FBYyxRQUFRLFFBQXdCO0FBQzdDLFdBQU8sYUFBYSxhQUFhLFFBQVEsT0FBTztBQUFBLEVBQ2pEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1BLE9BQWMsVUFBVSxLQUFzQjtBQUc3QyxRQUFJLE1BQU0sR0FBRztBQUNiLFNBQUssSUFBSSxHQUFHLE1BQU0sSUFBSSxRQUFRLElBQUksS0FBSyxLQUFLO0FBQzNDLGFBQU8sSUFBSSxXQUFXLENBQUM7QUFDdkIsVUFBSSxFQUFFLE9BQU8sTUFBTSxPQUFPLEtBQUs7QUFDOUIsZUFBTztBQUFBLE1BQ1I7QUFBQSxJQUNEO0FBQ0EsV0FBTztBQUFBLEVBQ1I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsT0FBYyxlQUFlLEtBQXNCO0FBR2xELFFBQUksTUFBTSxHQUFHO0FBQ2IsU0FBSyxJQUFJLEdBQUcsTUFBTSxJQUFJLFFBQVEsSUFBSSxLQUFLLEtBQUs7QUFDM0MsYUFBTyxJQUFJLFdBQVcsQ0FBQztBQUN2QixVQUFJLEVBQUUsT0FBTyxNQUFNLE9BQU87QUFBQSxNQUN6QixFQUFFLE9BQU8sTUFBTSxPQUFPO0FBQUEsTUFDdEIsRUFBRSxPQUFPLE1BQU0sT0FBTyxNQUFNO0FBQzVCLGVBQU87QUFBQSxNQUNSO0FBQUEsSUFDRDtBQUNBLFdBQU87QUFBQSxFQUNSO0FBQ0Q7QUFHQSxJQUFJLE9BQU8sV0FBVyxhQUFhO0FBRWxDLFNBQU8sVUFBVTtBQUNsQjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -82,4 +82,4 @@ if (typeof module !== "undefined") {
82
82
  export {
83
83
  Base64
84
84
  };
85
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3V0aWxzL2Jhc2U2NC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHsgU3RyZWFtcyB9IGZyb20gXCJAYWVyb2tpdC9zZGsvaW8vc3RyZWFtc1wiO1xuaW1wb3J0IHsgQnl0ZXMgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2lvL2J5dGVzXCI7XG5cbmNvbnN0IEJhc2U2NEZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS51dGlscy5CYXNlNjRGYWNhZGVcIik7XG5cbi8qKlxuICogVXRpbGl0eSBjbGFzcyBmb3IgcGVyZm9ybWluZyAqKkJhc2U2NCBlbmNvZGluZyBhbmQgZGVjb2RpbmcqKiBvZiBkYXRhLlxuICogSXQgaGFuZGxlcyBjb252ZXJzaW9uIGJldHdlZW4gSmF2YVNjcmlwdCBzdHJpbmdzLCBKYXZhU2NyaXB0IGJ5dGUgYXJyYXlzIChhbnlbXSksXG4gKiBhbmQgdGhlIG5hdGl2ZSBKYXZhIGJ5dGUgYXJyYXlzIHJlcXVpcmVkIGJ5IHRoZSB1bmRlcmx5aW5nIEJhc2U2NEZhY2FkZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEJhc2U2NCB7XG5cblx0LyoqXG5cdCAqIEJhc2U2NCBlbmNvZGluZzogQ29udmVydHMgdGhlIGlucHV0IGRhdGEgKHRleHQgb3IgYnl0ZSBhcnJheSkgaW50byBhXG5cdCAqIHN0YW5kYXJkICoqQmFzZTY0IGVuY29kZWQgc3RyaW5nIHJlcHJlc2VudGF0aW9uKiouXG5cdCAqXG5cdCAqIEBwYXJhbSBpbnB1dCBUaGUgZGF0YSB0byBlbmNvZGUsIGVpdGhlciBhcyBhIHN0cmluZyBvciBhIEphdmFTY3JpcHQgYnl0ZSBhcnJheSAoYW55W10pLlxuXHQgKiBAcmV0dXJucyBUaGUgcmVzdWx0aW5nIEJhc2U2NCBlbmNvZGVkIHN0cmluZy5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZW5jb2RlKGlucHV0OiBzdHJpbmcgfCBhbnlbXSk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIEJ5dGVzLmJ5dGVBcnJheVRvVGV4dChCYXNlNjQuZW5jb2RlQXNOYXRpdmVCeXRlcyhpbnB1dCkpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEJhc2U2NCBlbmNvZGluZzogQ29udmVydHMgdGhlIGlucHV0IGRhdGEgKHRleHQgb3IgYnl0ZSBhcnJheSkgaW50byBhXG5cdCAqICoqSmF2YVNjcmlwdCBieXRlIGFycmF5IChhbnlbXSkqKiBjb250YWluaW5nIHRoZSBCYXNlNjQgZW5jb2RlZCByZXByZXNlbnRhdGlvbi5cblx0ICpcblx0ICogQHBhcmFtIGlucHV0IFRoZSBkYXRhIHRvIGVuY29kZSwgZWl0aGVyIGFzIGEgc3RyaW5nIG9yIGEgSmF2YVNjcmlwdCBieXRlIGFycmF5IChhbnlbXSkuXG5cdCAqIEByZXR1cm5zIFRoZSByZXN1bHRpbmcgYnl0ZSBhcnJheSBjb250YWluaW5nIHRoZSBCYXNlNjQgZW5jb2RlZCBkYXRhLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBlbmNvZGVBc0J5dGVzKGlucHV0OiBzdHJpbmcgfCBhbnlbXSk6IGFueVtdIHtcblx0XHRyZXR1cm4gQnl0ZXMudG9KYXZhU2NyaXB0Qnl0ZXMoQmFzZTY0LmVuY29kZUFzTmF0aXZlQnl0ZXMoaW5wdXQpKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCYXNlNjQgZW5jb2Rpbmc6IENvbnZlcnRzIHRoZSBpbnB1dCBkYXRhICh0ZXh0IG9yIGJ5dGUgYXJyYXkpIGludG8gYVxuXHQgKiAqKm5hdGl2ZSBKYXZhIGJ5dGUgYXJyYXkqKiBjb250YWluaW5nIHRoZSBCYXNlNjQgZW5jb2RlZCByZXByZXNlbnRhdGlvbi5cblx0ICogVGhpcyBtZXRob2QgaXMgZ2VuZXJhbGx5IGZvciBpbnRlcm5hbCB1c2UuXG5cdCAqXG5cdCAqIEBwYXJhbSBpbnB1dCBUaGUgZGF0YSB0byBlbmNvZGUsIGVpdGhlciBhcyBhIHN0cmluZyBvciBhIEphdmFTY3JpcHQgYnl0ZSBhcnJheSAoYW55W10pLlxuXHQgKiBAcmV0dXJucyBUaGUgcmVzdWx0aW5nIG5hdGl2ZSBKYXZhIGJ5dGUgYXJyYXkgY29udGFpbmluZyB0aGUgQmFzZTY0IGRhdGEuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGVuY29kZUFzTmF0aXZlQnl0ZXMoaW5wdXQ6IHN0cmluZyB8IGFueVtdKTogYW55W10ge1xuXHRcdGNvbnN0IGRhdGEgPSBpbnB1dDtcblx0XHRsZXQgbmF0aXZlO1xuXHRcdGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIHtcblx0XHRcdGNvbnN0IGJhb3MgPSBTdHJlYW1zLmNyZWF0ZUJ5dGVBcnJheU91dHB1dFN0cmVhbSgpO1xuXHRcdFx0YmFvcy53cml0ZVRleHQoZGF0YSk7XG5cdFx0XHRuYXRpdmUgPSBiYW9zLmdldEJ5dGVzTmF0aXZlKCk7XG5cdFx0fSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGRhdGEpKSB7XG5cdFx0XHRuYXRpdmUgPSBCeXRlcy50b0phdmFCeXRlcyhkYXRhKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gQmFzZTY0RmFjYWRlLmVuY29kZU5hdGl2ZShuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEJhc2U2NCBkZWNvZGluZzogQ29udmVydHMgYSBCYXNlNjQgaW5wdXQgKHRleHQgb3IgYnl0ZSBhcnJheSkgYmFjayBpbnRvXG5cdCAqIHRoZSBvcmlnaW5hbCAqKnJhdyBieXRlIGFycmF5IChKYXZhU2NyaXB0IGFueVtdKSoqLlxuXHQgKlxuXHQgKiBAcGFyYW0gaW5wdXQgVGhlIEJhc2U2NCBkYXRhIHRvIGRlY29kZSwgZWl0aGVyIGFzIGEgc3RyaW5nIG9yIGEgSmF2YVNjcmlwdCBieXRlIGFycmF5IChhbnlbXSkuXG5cdCAqIEByZXR1cm5zIFRoZSBkZWNvZGVkIHJhdyBieXRlIGFycmF5IChhbnlbXSkuIFJldHVybnMgbnVsbCBpZiBkZWNvZGluZyBmYWlscyBvciBpbnB1dCBpcyBudWxsLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBkZWNvZGUoaW5wdXQ6IHN0cmluZyB8IGFueVtdKTogYW55W10ge1xuXHRcdGNvbnN0IG91dHB1dCA9IEJhc2U2NC5kZWNvZGVBc05hdGl2ZUJ5dGVzKGlucHV0KTtcblx0XHRpZiAob3V0cHV0KSB7XG5cdFx0XHRyZXR1cm4gQnl0ZXMudG9KYXZhU2NyaXB0Qnl0ZXMob3V0cHV0KTtcblx0XHR9XG5cdFx0cmV0dXJuIG91dHB1dDtcblx0fVxuXG5cdC8qKlxuXHQgKiBCYXNlNjQgZGVjb2Rpbmc6IENvbnZlcnRzIGEgQmFzZTY0IGlucHV0ICh0ZXh0IG9yIGJ5dGUgYXJyYXkpIGJhY2sgaW50b1xuXHQgKiB0aGUgb3JpZ2luYWwgKipuYXRpdmUgSmF2YSByYXcgYnl0ZSBhcnJheSoqLiBUaGlzIG1ldGhvZCBpcyBnZW5lcmFsbHkgZm9yIGludGVybmFsIHVzZS5cblx0ICpcblx0ICogQHBhcmFtIGlucHV0IFRoZSBCYXNlNjQgZGF0YSB0byBkZWNvZGUsIGVpdGhlciBhcyBhIHN0cmluZyBvciBhIEphdmFTY3JpcHQgYnl0ZSBhcnJheSAoYW55W10pLlxuXHQgKiBAcmV0dXJucyBUaGUgZGVjb2RlZCBuYXRpdmUgSmF2YSBieXRlIGFycmF5LlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBkZWNvZGVBc05hdGl2ZUJ5dGVzKGlucHV0OiBzdHJpbmcgfCBhbnlbXSk6IGFueVtdIHtcblx0XHRjb25zdCBkYXRhID0gaW5wdXQ7XG5cdFx0bGV0IG5hdGl2ZTtcblx0XHRpZiAodHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnKSB7XG5cdFx0XHRjb25zdCBiYW9zID0gU3RyZWFtcy5jcmVhdGVCeXRlQXJyYXlPdXRwdXRTdHJlYW0oKTtcblx0XHRcdGJhb3Mud3JpdGVUZXh0KGRhdGEpO1xuXHRcdFx0bmF0aXZlID0gYmFvcy5nZXRCeXRlc05hdGl2ZSgpO1xuXHRcdH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSkge1xuXHRcdFx0bmF0aXZlID0gQnl0ZXMudG9KYXZhQnl0ZXMoZGF0YSk7XG5cdFx0fVxuXHRcdHJldHVybiBCYXNlNjRGYWNhZGUuZGVjb2RlTmF0aXZlKG5hdGl2ZSk7XG5cdH1cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBCYXNlNjQ7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiQUFBQSxTQUFTLGVBQWU7QUFDeEIsU0FBUyxhQUFhO0FBRXRCLE1BQU0sZUFBZSxLQUFLLEtBQUsseURBQXlEO0FBT2pGLE1BQU0sT0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTbkIsT0FBYyxPQUFPLE9BQStCO0FBQ25ELFdBQU8sTUFBTSxnQkFBZ0IsT0FBTyxvQkFBb0IsS0FBSyxDQUFDO0FBQUEsRUFDL0Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU0EsT0FBYyxjQUFjLE9BQThCO0FBQ3pELFdBQU8sTUFBTSxrQkFBa0IsT0FBTyxvQkFBb0IsS0FBSyxDQUFDO0FBQUEsRUFDakU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFVQSxPQUFjLG9CQUFvQixPQUE4QjtBQUMvRCxVQUFNLE9BQU87QUFDYixRQUFJO0FBQ0osUUFBSSxPQUFPLFNBQVMsVUFBVTtBQUM3QixZQUFNLE9BQU8sUUFBUSw0QkFBNEI7QUFDakQsV0FBSyxVQUFVLElBQUk7QUFDbkIsZUFBUyxLQUFLLGVBQWU7QUFBQSxJQUM5QixXQUFXLE1BQU0sUUFBUSxJQUFJLEdBQUc7QUFDL0IsZUFBUyxNQUFNLFlBQVksSUFBSTtBQUFBLElBQ2hDO0FBRUEsV0FBTyxhQUFhLGFBQWEsTUFBTTtBQUFBLEVBQ3hDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNBLE9BQWMsT0FBTyxPQUE4QjtBQUNsRCxVQUFNLFNBQVMsT0FBTyxvQkFBb0IsS0FBSztBQUMvQyxRQUFJLFFBQVE7QUFDWCxhQUFPLE1BQU0sa0JBQWtCLE1BQU07QUFBQSxJQUN0QztBQUNBLFdBQU87QUFBQSxFQUNSO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNBLE9BQWMsb0JBQW9CLE9BQThCO0FBQy9ELFVBQU0sT0FBTztBQUNiLFFBQUk7QUFDSixRQUFJLE9BQU8sU0FBUyxVQUFVO0FBQzdCLFlBQU0sT0FBTyxRQUFRLDRCQUE0QjtBQUNqRCxXQUFLLFVBQVUsSUFBSTtBQUNuQixlQUFTLEtBQUssZUFBZTtBQUFBLElBQzlCLFdBQVcsTUFBTSxRQUFRLElBQUksR0FBRztBQUMvQixlQUFTLE1BQU0sWUFBWSxJQUFJO0FBQUEsSUFDaEM7QUFDQSxXQUFPLGFBQWEsYUFBYSxNQUFNO0FBQUEsRUFDeEM7QUFDRDtBQUdBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFbEMsU0FBTyxVQUFVO0FBQ2xCOyIsCiAgIm5hbWVzIjogW10KfQo=
85
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3V0aWxzL2Jhc2U2NC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAbW9kdWxlIHV0aWxzL2Jhc2U2NFxuICogQHBhY2thZ2UgQGFlcm9raXQvc2RrL3V0aWxzXG4gKiBAbmFtZSBCYXNlNjRcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgQmFzZTY0IGNsYXNzIHByb3ZpZGVzIHN0YXRpYyB1dGlsaXR5IG1ldGhvZHMgZm9yIGVuY29kaW5nIGFuZCBkZWNvZGluZyBkYXRhIHVzaW5nIHRoZSBCYXNlNjQgZW5jb2Rpbmcgc2NoZW1lLiBJdCBzdXBwb3J0cyBib3RoIHN0cmluZyBhbmQgYnl0ZSBhcnJheSBpbnB1dHMsIGFsbG93aW5nIGRldmVsb3BlcnMgdG8gZWFzaWx5IGNvbnZlcnQgZGF0YSB0byBhbmQgZnJvbSBCYXNlNjQgZm9ybWF0LiBUaGUgY2xhc3MgYWJzdHJhY3RzIHRoZSB1bmRlcmx5aW5nIEphdmEgaW1wbGVtZW50YXRpb24sIHByb3ZpZGluZyBhIHNpbXBsZSBpbnRlcmZhY2UgZm9yIHBlcmZvcm1pbmcgQmFzZTY0IG9wZXJhdGlvbnMgaW4gSmF2YVNjcmlwdC5cbiAqIFxuICogIyMjIEtleSBGZWF0dXJlczpcbiAqIC0gKipFbmNvZGluZyoqOiBNZXRob2RzIHRvIGVuY29kZSBzdHJpbmdzIG9yIGJ5dGUgYXJyYXlzIGludG8gQmFzZTY0IGZvcm1hdCwgcmV0dXJuaW5nIGVpdGhlciBhIEJhc2U2NCBzdHJpbmcgb3IgYSBieXRlIGFycmF5LlxuICogLSAqKkRlY29kaW5nKio6IE1ldGhvZHMgdG8gZGVjb2RlIEJhc2U2NCBzdHJpbmdzIG9yIGJ5dGUgYXJyYXlzIGJhY2sgaW50byB0aGVpciBvcmlnaW5hbCBieXRlIGFycmF5IGZvcm0uXG4gKiBcbiAqICMjIyBVc2UgQ2FzZXM6XG4gKiAtICoqRGF0YSBTZXJpYWxpemF0aW9uKio6IEJhc2U2NCBlbmNvZGluZyBpcyBjb21tb25seSB1c2VkIGZvciBzZXJpYWxpemluZyBiaW5hcnkgZGF0YSAobGlrZSBpbWFnZXMgb3IgZmlsZXMpIGludG8gYSB0ZXh0IGZvcm1hdCB0aGF0IGNhbiBiZSBlYXNpbHkgdHJhbnNtaXR0ZWQgb3ZlciB0ZXh0LWJhc2VkIHByb3RvY29scyBzdWNoIGFzIEhUVFAuXG4gKiAtICoqQXV0aGVudGljYXRpb24qKjogQmFzZTY0IGVuY29kaW5nIGlzIG9mdGVuIHVzZWQgaW4gYXV0aGVudGljYXRpb24gc2NoZW1lcyAoZS5nLiwgQmFzaWMgQXV0aGVudGljYXRpb24pIHRvIGVuY29kZSBjcmVkZW50aWFscyBiZWZvcmUgdHJhbnNtaXNzaW9uLlxuICogLSAqKkRhdGEgU3RvcmFnZSoqOiBEZXZlbG9wZXJzIGNhbiB1c2UgQmFzZTY0IGVuY29kaW5nIHRvIHN0b3JlIGJpbmFyeSBkYXRhIGluIGRhdGFiYXNlcyB0aGF0IG9ubHkgc3VwcG9ydCB0ZXh0IGZvcm1hdHMuXG4gKiBcbiAqICMjIyBFeGFtcGxlIFVzYWdlOlxuICogYGBgdHNcbiAqIGltcG9ydCB7IEJhc2U2NCB9IGZyb20gXCJAYWVyb2tpdC9zZGsvdXRpbHNcIjtcbiAqIFxuICogLy8gRW5jb2RpbmcgYSBzdHJpbmcgdG8gQmFzZTY0XG4gKiBjb25zdCBlbmNvZGVkU3RyaW5nID0gQmFzZTY0LmVuY29kZShcIkhlbGxvLCBXb3JsZCFcIik7XG4gKiBjb25zb2xlLmxvZyhlbmNvZGVkU3RyaW5nKTsgLy8gT3V0cHV0OiBTR1ZzYkc4c0lGZHZjbXhrSVE9PVxuICogXG4gKiAvLyBEZWNvZGluZyBhIEJhc2U2NCBzdHJpbmcgYmFjayB0byBieXRlc1xuICogY29uc3QgZGVjb2RlZEJ5dGVzID0gQmFzZTY0LmRlY29kZShlbmNvZGVkU3RyaW5nKTtcbiAqIGNvbnNvbGUubG9nKGRlY29kZWRCeXRlcyk7IC8vIE91dHB1dDogWzcyLCAxMDEsIDEwOCwgMTA4LCAxMTEsIDQ0LCAzMiwgODcsIDExMSwgMTE0LCAxMDgsIDEwMCwgMzNdXG4gKiBgYGBcbiAqL1xuXG5pbXBvcnQgeyBTdHJlYW1zIH0gZnJvbSBcIkBhZXJva2l0L3Nkay9pby9zdHJlYW1zXCI7XG5pbXBvcnQgeyBCeXRlcyB9IGZyb20gXCJAYWVyb2tpdC9zZGsvaW8vYnl0ZXNcIjtcblxuY29uc3QgQmFzZTY0RmFjYWRlID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLnV0aWxzLkJhc2U2NEZhY2FkZVwiKTtcblxuLyoqXG4gKiBVdGlsaXR5IGNsYXNzIGZvciBwZXJmb3JtaW5nICoqQmFzZTY0IGVuY29kaW5nIGFuZCBkZWNvZGluZyoqIG9mIGRhdGEuXG4gKiBJdCBoYW5kbGVzIGNvbnZlcnNpb24gYmV0d2VlbiBKYXZhU2NyaXB0IHN0cmluZ3MsIEphdmFTY3JpcHQgYnl0ZSBhcnJheXMgKGFueVtdKSxcbiAqIGFuZCB0aGUgbmF0aXZlIEphdmEgYnl0ZSBhcnJheXMgcmVxdWlyZWQgYnkgdGhlIHVuZGVybHlpbmcgQmFzZTY0RmFjYWRlLlxuICovXG5leHBvcnQgY2xhc3MgQmFzZTY0IHtcblxuXHQvKipcblx0ICogQmFzZTY0IGVuY29kaW5nOiBDb252ZXJ0cyB0aGUgaW5wdXQgZGF0YSAodGV4dCBvciBieXRlIGFycmF5KSBpbnRvIGFcblx0ICogc3RhbmRhcmQgKipCYXNlNjQgZW5jb2RlZCBzdHJpbmcgcmVwcmVzZW50YXRpb24qKi5cblx0ICpcblx0ICogQHBhcmFtIGlucHV0IFRoZSBkYXRhIHRvIGVuY29kZSwgZWl0aGVyIGFzIGEgc3RyaW5nIG9yIGEgSmF2YVNjcmlwdCBieXRlIGFycmF5IChhbnlbXSkuXG5cdCAqIEByZXR1cm5zIFRoZSByZXN1bHRpbmcgQmFzZTY0IGVuY29kZWQgc3RyaW5nLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBlbmNvZGUoaW5wdXQ6IHN0cmluZyB8IGFueVtdKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gQnl0ZXMuYnl0ZUFycmF5VG9UZXh0KEJhc2U2NC5lbmNvZGVBc05hdGl2ZUJ5dGVzKGlucHV0KSk7XG5cdH1cblxuXHQvKipcblx0ICogQmFzZTY0IGVuY29kaW5nOiBDb252ZXJ0cyB0aGUgaW5wdXQgZGF0YSAodGV4dCBvciBieXRlIGFycmF5KSBpbnRvIGFcblx0ICogKipKYXZhU2NyaXB0IGJ5dGUgYXJyYXkgKGFueVtdKSoqIGNvbnRhaW5pbmcgdGhlIEJhc2U2NCBlbmNvZGVkIHJlcHJlc2VudGF0aW9uLlxuXHQgKlxuXHQgKiBAcGFyYW0gaW5wdXQgVGhlIGRhdGEgdG8gZW5jb2RlLCBlaXRoZXIgYXMgYSBzdHJpbmcgb3IgYSBKYXZhU2NyaXB0IGJ5dGUgYXJyYXkgKGFueVtdKS5cblx0ICogQHJldHVybnMgVGhlIHJlc3VsdGluZyBieXRlIGFycmF5IGNvbnRhaW5pbmcgdGhlIEJhc2U2NCBlbmNvZGVkIGRhdGEuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGVuY29kZUFzQnl0ZXMoaW5wdXQ6IHN0cmluZyB8IGFueVtdKTogYW55W10ge1xuXHRcdHJldHVybiBCeXRlcy50b0phdmFTY3JpcHRCeXRlcyhCYXNlNjQuZW5jb2RlQXNOYXRpdmVCeXRlcyhpbnB1dCkpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEJhc2U2NCBlbmNvZGluZzogQ29udmVydHMgdGhlIGlucHV0IGRhdGEgKHRleHQgb3IgYnl0ZSBhcnJheSkgaW50byBhXG5cdCAqICoqbmF0aXZlIEphdmEgYnl0ZSBhcnJheSoqIGNvbnRhaW5pbmcgdGhlIEJhc2U2NCBlbmNvZGVkIHJlcHJlc2VudGF0aW9uLlxuXHQgKiBUaGlzIG1ldGhvZCBpcyBnZW5lcmFsbHkgZm9yIGludGVybmFsIHVzZS5cblx0ICpcblx0ICogQHBhcmFtIGlucHV0IFRoZSBkYXRhIHRvIGVuY29kZSwgZWl0aGVyIGFzIGEgc3RyaW5nIG9yIGEgSmF2YVNjcmlwdCBieXRlIGFycmF5IChhbnlbXSkuXG5cdCAqIEByZXR1cm5zIFRoZSByZXN1bHRpbmcgbmF0aXZlIEphdmEgYnl0ZSBhcnJheSBjb250YWluaW5nIHRoZSBCYXNlNjQgZGF0YS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZW5jb2RlQXNOYXRpdmVCeXRlcyhpbnB1dDogc3RyaW5nIHwgYW55W10pOiBhbnlbXSB7XG5cdFx0Y29uc3QgZGF0YSA9IGlucHV0O1xuXHRcdGxldCBuYXRpdmU7XG5cdFx0aWYgKHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJykge1xuXHRcdFx0Y29uc3QgYmFvcyA9IFN0cmVhbXMuY3JlYXRlQnl0ZUFycmF5T3V0cHV0U3RyZWFtKCk7XG5cdFx0XHRiYW9zLndyaXRlVGV4dChkYXRhKTtcblx0XHRcdG5hdGl2ZSA9IGJhb3MuZ2V0Qnl0ZXNOYXRpdmUoKTtcblx0XHR9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkpIHtcblx0XHRcdG5hdGl2ZSA9IEJ5dGVzLnRvSmF2YUJ5dGVzKGRhdGEpO1xuXHRcdH1cblxuXHRcdHJldHVybiBCYXNlNjRGYWNhZGUuZW5jb2RlTmF0aXZlKG5hdGl2ZSk7XG5cdH1cblxuXHQvKipcblx0ICogQmFzZTY0IGRlY29kaW5nOiBDb252ZXJ0cyBhIEJhc2U2NCBpbnB1dCAodGV4dCBvciBieXRlIGFycmF5KSBiYWNrIGludG9cblx0ICogdGhlIG9yaWdpbmFsICoqcmF3IGJ5dGUgYXJyYXkgKEphdmFTY3JpcHQgYW55W10pKiouXG5cdCAqXG5cdCAqIEBwYXJhbSBpbnB1dCBUaGUgQmFzZTY0IGRhdGEgdG8gZGVjb2RlLCBlaXRoZXIgYXMgYSBzdHJpbmcgb3IgYSBKYXZhU2NyaXB0IGJ5dGUgYXJyYXkgKGFueVtdKS5cblx0ICogQHJldHVybnMgVGhlIGRlY29kZWQgcmF3IGJ5dGUgYXJyYXkgKGFueVtdKS4gUmV0dXJucyBudWxsIGlmIGRlY29kaW5nIGZhaWxzIG9yIGlucHV0IGlzIG51bGwuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGRlY29kZShpbnB1dDogc3RyaW5nIHwgYW55W10pOiBhbnlbXSB7XG5cdFx0Y29uc3Qgb3V0cHV0ID0gQmFzZTY0LmRlY29kZUFzTmF0aXZlQnl0ZXMoaW5wdXQpO1xuXHRcdGlmIChvdXRwdXQpIHtcblx0XHRcdHJldHVybiBCeXRlcy50b0phdmFTY3JpcHRCeXRlcyhvdXRwdXQpO1xuXHRcdH1cblx0XHRyZXR1cm4gb3V0cHV0O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJhc2U2NCBkZWNvZGluZzogQ29udmVydHMgYSBCYXNlNjQgaW5wdXQgKHRleHQgb3IgYnl0ZSBhcnJheSkgYmFjayBpbnRvXG5cdCAqIHRoZSBvcmlnaW5hbCAqKm5hdGl2ZSBKYXZhIHJhdyBieXRlIGFycmF5KiouIFRoaXMgbWV0aG9kIGlzIGdlbmVyYWxseSBmb3IgaW50ZXJuYWwgdXNlLlxuXHQgKlxuXHQgKiBAcGFyYW0gaW5wdXQgVGhlIEJhc2U2NCBkYXRhIHRvIGRlY29kZSwgZWl0aGVyIGFzIGEgc3RyaW5nIG9yIGEgSmF2YVNjcmlwdCBieXRlIGFycmF5IChhbnlbXSkuXG5cdCAqIEByZXR1cm5zIFRoZSBkZWNvZGVkIG5hdGl2ZSBKYXZhIGJ5dGUgYXJyYXkuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGRlY29kZUFzTmF0aXZlQnl0ZXMoaW5wdXQ6IHN0cmluZyB8IGFueVtdKTogYW55W10ge1xuXHRcdGNvbnN0IGRhdGEgPSBpbnB1dDtcblx0XHRsZXQgbmF0aXZlO1xuXHRcdGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIHtcblx0XHRcdGNvbnN0IGJhb3MgPSBTdHJlYW1zLmNyZWF0ZUJ5dGVBcnJheU91dHB1dFN0cmVhbSgpO1xuXHRcdFx0YmFvcy53cml0ZVRleHQoZGF0YSk7XG5cdFx0XHRuYXRpdmUgPSBiYW9zLmdldEJ5dGVzTmF0aXZlKCk7XG5cdFx0fSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGRhdGEpKSB7XG5cdFx0XHRuYXRpdmUgPSBCeXRlcy50b0phdmFCeXRlcyhkYXRhKTtcblx0XHR9XG5cdFx0cmV0dXJuIEJhc2U2NEZhY2FkZS5kZWNvZGVOYXRpdmUobmF0aXZlKTtcblx0fVxufVxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IEJhc2U2NDtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICJBQStCQSxTQUFTLGVBQWU7QUFDeEIsU0FBUyxhQUFhO0FBRXRCLE1BQU0sZUFBZSxLQUFLLEtBQUsseURBQXlEO0FBT2pGLE1BQU0sT0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTbkIsT0FBYyxPQUFPLE9BQStCO0FBQ25ELFdBQU8sTUFBTSxnQkFBZ0IsT0FBTyxvQkFBb0IsS0FBSyxDQUFDO0FBQUEsRUFDL0Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU0EsT0FBYyxjQUFjLE9BQThCO0FBQ3pELFdBQU8sTUFBTSxrQkFBa0IsT0FBTyxvQkFBb0IsS0FBSyxDQUFDO0FBQUEsRUFDakU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFVQSxPQUFjLG9CQUFvQixPQUE4QjtBQUMvRCxVQUFNLE9BQU87QUFDYixRQUFJO0FBQ0osUUFBSSxPQUFPLFNBQVMsVUFBVTtBQUM3QixZQUFNLE9BQU8sUUFBUSw0QkFBNEI7QUFDakQsV0FBSyxVQUFVLElBQUk7QUFDbkIsZUFBUyxLQUFLLGVBQWU7QUFBQSxJQUM5QixXQUFXLE1BQU0sUUFBUSxJQUFJLEdBQUc7QUFDL0IsZUFBUyxNQUFNLFlBQVksSUFBSTtBQUFBLElBQ2hDO0FBRUEsV0FBTyxhQUFhLGFBQWEsTUFBTTtBQUFBLEVBQ3hDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNBLE9BQWMsT0FBTyxPQUE4QjtBQUNsRCxVQUFNLFNBQVMsT0FBTyxvQkFBb0IsS0FBSztBQUMvQyxRQUFJLFFBQVE7QUFDWCxhQUFPLE1BQU0sa0JBQWtCLE1BQU07QUFBQSxJQUN0QztBQUNBLFdBQU87QUFBQSxFQUNSO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNBLE9BQWMsb0JBQW9CLE9BQThCO0FBQy9ELFVBQU0sT0FBTztBQUNiLFFBQUk7QUFDSixRQUFJLE9BQU8sU0FBUyxVQUFVO0FBQzdCLFlBQU0sT0FBTyxRQUFRLDRCQUE0QjtBQUNqRCxXQUFLLFVBQVUsSUFBSTtBQUNuQixlQUFTLEtBQUssZUFBZTtBQUFBLElBQzlCLFdBQVcsTUFBTSxRQUFRLElBQUksR0FBRztBQUMvQixlQUFTLE1BQU0sWUFBWSxJQUFJO0FBQUEsSUFDaEM7QUFDQSxXQUFPLGFBQWEsYUFBYSxNQUFNO0FBQUEsRUFDeEM7QUFDRDtBQUdBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFbEMsU0FBTyxVQUFVO0FBQ2xCOyIsCiAgIm5hbWVzIjogW10KfQo=