@aerokit/sdk 12.44.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 (399) hide show
  1. package/LICENSE +277 -0
  2. package/README.md +170 -0
  3. package/dist/cjs/bpm/deployer.js +57 -0
  4. package/dist/cjs/bpm/index.js +35 -0
  5. package/dist/cjs/bpm/process.js +636 -0
  6. package/dist/cjs/bpm/tasks.js +973 -0
  7. package/dist/cjs/bpm/values.js +82 -0
  8. package/dist/cjs/cache/cache.js +64 -0
  9. package/dist/cjs/cache/index.js +26 -0
  10. package/dist/cjs/cms/cmis.js +689 -0
  11. package/dist/cjs/cms/index.js +26 -0
  12. package/dist/cjs/component/decorators.js +126 -0
  13. package/dist/cjs/component/index.js +36 -0
  14. package/dist/cjs/core/configurations.js +110 -0
  15. package/dist/cjs/core/context.js +47 -0
  16. package/dist/cjs/core/env.js +45 -0
  17. package/dist/cjs/core/globals.js +54 -0
  18. package/dist/cjs/core/index.js +35 -0
  19. package/dist/cjs/db/dao.js +795 -0
  20. package/dist/cjs/db/database.js +904 -0
  21. package/dist/cjs/db/decorators.js +167 -0
  22. package/dist/cjs/db/index.js +72 -0
  23. package/dist/cjs/db/insert.js +51 -0
  24. package/dist/cjs/db/orm.js +245 -0
  25. package/dist/cjs/db/ormstatements.js +243 -0
  26. package/dist/cjs/db/procedure.js +112 -0
  27. package/dist/cjs/db/query.js +57 -0
  28. package/dist/cjs/db/repository.js +148 -0
  29. package/dist/cjs/db/sequence.js +59 -0
  30. package/dist/cjs/db/sql.js +516 -0
  31. package/dist/cjs/db/store.js +172 -0
  32. package/dist/cjs/db/translator.js +100 -0
  33. package/dist/cjs/db/update.js +43 -0
  34. package/dist/cjs/etcd/client.js +174 -0
  35. package/dist/cjs/etcd/index.js +26 -0
  36. package/dist/cjs/extensions/decorators.js +40 -0
  37. package/dist/cjs/extensions/extensions.js +108 -0
  38. package/dist/cjs/extensions/index.js +39 -0
  39. package/dist/cjs/git/client.js +277 -0
  40. package/dist/cjs/git/index.js +26 -0
  41. package/dist/cjs/http/client-async.js +224 -0
  42. package/dist/cjs/http/client.js +145 -0
  43. package/dist/cjs/http/decorators.js +76 -0
  44. package/dist/cjs/http/errors/ForbiddenError.js +41 -0
  45. package/dist/cjs/http/errors/ValidationError.js +41 -0
  46. package/dist/cjs/http/errors.js +26 -0
  47. package/dist/cjs/http/index.js +59 -0
  48. package/dist/cjs/http/request.js +281 -0
  49. package/dist/cjs/http/response.js +452 -0
  50. package/dist/cjs/http/rs/resource-common.js +32 -0
  51. package/dist/cjs/http/rs/resource-http-controller.js +306 -0
  52. package/dist/cjs/http/rs/resource-mappings.js +130 -0
  53. package/dist/cjs/http/rs/resource-method.js +218 -0
  54. package/dist/cjs/http/rs/resource.js +232 -0
  55. package/dist/cjs/http/rs.js +31 -0
  56. package/dist/cjs/http/session.js +124 -0
  57. package/dist/cjs/http/upload.js +144 -0
  58. package/dist/cjs/http/utils.js +106 -0
  59. package/dist/cjs/index.js +1 -0
  60. package/dist/cjs/indexing/index.js +29 -0
  61. package/dist/cjs/indexing/searcher.js +70 -0
  62. package/dist/cjs/indexing/writer.js +45 -0
  63. package/dist/cjs/integrations/index.js +26 -0
  64. package/dist/cjs/integrations/integrations.js +55 -0
  65. package/dist/cjs/io/bytes.js +101 -0
  66. package/dist/cjs/io/files.js +344 -0
  67. package/dist/cjs/io/image.js +43 -0
  68. package/dist/cjs/io/index.js +38 -0
  69. package/dist/cjs/io/streams.js +243 -0
  70. package/dist/cjs/io/zip.js +251 -0
  71. package/dist/cjs/job/decorators.js +40 -0
  72. package/dist/cjs/job/index.js +39 -0
  73. package/dist/cjs/job/scheduler.js +347 -0
  74. package/dist/cjs/junit/index.js +18 -0
  75. package/dist/cjs/junit/junit.js +67 -0
  76. package/dist/cjs/kafka/consumer.js +70 -0
  77. package/dist/cjs/kafka/index.js +29 -0
  78. package/dist/cjs/kafka/producer.js +70 -0
  79. package/dist/cjs/log/index.js +26 -0
  80. package/dist/cjs/log/logging.js +174 -0
  81. package/dist/cjs/mail/client.js +153 -0
  82. package/dist/cjs/mail/index.js +26 -0
  83. package/dist/cjs/messaging/consumer.js +83 -0
  84. package/dist/cjs/messaging/decorators.js +40 -0
  85. package/dist/cjs/messaging/index.js +42 -0
  86. package/dist/cjs/messaging/producer.js +81 -0
  87. package/dist/cjs/mongodb/client.js +627 -0
  88. package/dist/cjs/mongodb/dao.js +390 -0
  89. package/dist/cjs/mongodb/index.js +36 -0
  90. package/dist/cjs/net/decorators.js +40 -0
  91. package/dist/cjs/net/index.js +42 -0
  92. package/dist/cjs/net/soap.js +228 -0
  93. package/dist/cjs/net/websockets.js +151 -0
  94. package/dist/cjs/net/wrappers/onClose.js +2 -0
  95. package/dist/cjs/net/wrappers/onError.js +2 -0
  96. package/dist/cjs/net/wrappers/onMessage.js +2 -0
  97. package/dist/cjs/net/wrappers/onOpen.js +2 -0
  98. package/dist/cjs/pdf/index.js +26 -0
  99. package/dist/cjs/pdf/pdf.js +160 -0
  100. package/dist/cjs/platform/command.js +47 -0
  101. package/dist/cjs/platform/engines.js +70 -0
  102. package/dist/cjs/platform/index.js +47 -0
  103. package/dist/cjs/platform/lifecycle.js +49 -0
  104. package/dist/cjs/platform/os.js +51 -0
  105. package/dist/cjs/platform/problems.js +127 -0
  106. package/dist/cjs/platform/registry.js +319 -0
  107. package/dist/cjs/platform/repository.js +498 -0
  108. package/dist/cjs/platform/workspace.js +574 -0
  109. package/dist/cjs/qldb/index.js +26 -0
  110. package/dist/cjs/qldb/qldb.js +24 -0
  111. package/dist/cjs/rabbitmq/consumer.js +50 -0
  112. package/dist/cjs/rabbitmq/index.js +29 -0
  113. package/dist/cjs/rabbitmq/producer.js +38 -0
  114. package/dist/cjs/redis/client.js +190 -0
  115. package/dist/cjs/redis/index.js +26 -0
  116. package/dist/cjs/security/decorators.js +48 -0
  117. package/dist/cjs/security/index.js +40 -0
  118. package/dist/cjs/security/oauth.js +75 -0
  119. package/dist/cjs/security/user.js +88 -0
  120. package/dist/cjs/template/engines.js +139 -0
  121. package/dist/cjs/template/index.js +26 -0
  122. package/dist/cjs/utils/alphanumeric.js +107 -0
  123. package/dist/cjs/utils/base64.js +104 -0
  124. package/dist/cjs/utils/converter.js +78 -0
  125. package/dist/cjs/utils/digest.js +167 -0
  126. package/dist/cjs/utils/escape.js +160 -0
  127. package/dist/cjs/utils/hex.js +104 -0
  128. package/dist/cjs/utils/index.js +68 -0
  129. package/dist/cjs/utils/jsonpath.js +489 -0
  130. package/dist/cjs/utils/qrcode.js +41 -0
  131. package/dist/cjs/utils/url.js +82 -0
  132. package/dist/cjs/utils/utf8.js +61 -0
  133. package/dist/cjs/utils/uuid.js +48 -0
  134. package/dist/cjs/utils/xml.js +57 -0
  135. package/dist/dts/bpm/deployer.d.ts +29 -0
  136. package/dist/dts/bpm/index.d.ts +8 -0
  137. package/dist/dts/bpm/process.d.ts +433 -0
  138. package/dist/dts/bpm/tasks.d.ts +2022 -0
  139. package/dist/dts/bpm/values.d.ts +38 -0
  140. package/dist/dts/cache/cache.d.ts +30 -0
  141. package/dist/dts/cache/index.d.ts +2 -0
  142. package/dist/dts/cms/cmis.d.ts +413 -0
  143. package/dist/dts/cms/index.d.ts +2 -0
  144. package/dist/dts/component/decorators.d.ts +52 -0
  145. package/dist/dts/component/index.d.ts +2 -0
  146. package/dist/dts/core/configurations.d.ts +65 -0
  147. package/dist/dts/core/context.d.ts +19 -0
  148. package/dist/dts/core/env.d.ts +23 -0
  149. package/dist/dts/core/globals.d.ts +30 -0
  150. package/dist/dts/core/index.d.ts +8 -0
  151. package/dist/dts/db/dao.d.ts +8 -0
  152. package/dist/dts/db/database.d.ts +507 -0
  153. package/dist/dts/db/decorators.d.ts +89 -0
  154. package/dist/dts/db/index.d.ts +25 -0
  155. package/dist/dts/db/insert.d.ts +32 -0
  156. package/dist/dts/db/orm.d.ts +44 -0
  157. package/dist/dts/db/ormstatements.d.ts +4 -0
  158. package/dist/dts/db/procedure.d.ts +25 -0
  159. package/dist/dts/db/query.d.ts +48 -0
  160. package/dist/dts/db/repository.d.ts +64 -0
  161. package/dist/dts/db/sequence.d.ts +34 -0
  162. package/dist/dts/db/sql.d.ts +267 -0
  163. package/dist/dts/db/store.d.ts +138 -0
  164. package/dist/dts/db/translator.d.ts +26 -0
  165. package/dist/dts/db/update.d.ts +21 -0
  166. package/dist/dts/etcd/client.d.ts +92 -0
  167. package/dist/dts/etcd/index.d.ts +2 -0
  168. package/dist/dts/extensions/decorators.d.ts +11 -0
  169. package/dist/dts/extensions/extensions.d.ts +41 -0
  170. package/dist/dts/extensions/index.d.ts +4 -0
  171. package/dist/dts/git/client.d.ts +478 -0
  172. package/dist/dts/git/index.d.ts +2 -0
  173. package/dist/dts/http/client-async.d.ts +158 -0
  174. package/dist/dts/http/client.d.ts +180 -0
  175. package/dist/dts/http/decorators.d.ts +11 -0
  176. package/dist/dts/http/errors/ForbiddenError.d.ts +20 -0
  177. package/dist/dts/http/errors/ValidationError.d.ts +20 -0
  178. package/dist/dts/http/errors.d.ts +2 -0
  179. package/dist/dts/http/index.d.ts +16 -0
  180. package/dist/dts/http/request.d.ts +158 -0
  181. package/dist/dts/http/response.d.ts +281 -0
  182. package/dist/dts/http/rs/resource-common.d.ts +11 -0
  183. package/dist/dts/http/rs/resource-http-controller.d.ts +43 -0
  184. package/dist/dts/http/rs/resource-mappings.d.ts +70 -0
  185. package/dist/dts/http/rs/resource-method.d.ts +206 -0
  186. package/dist/dts/http/rs/resource.d.ts +126 -0
  187. package/dist/dts/http/rs.d.ts +4 -0
  188. package/dist/dts/http/session.d.ts +81 -0
  189. package/dist/dts/http/upload.d.ts +100 -0
  190. package/dist/dts/http/utils.d.ts +54 -0
  191. package/dist/dts/index.d.ts +0 -0
  192. package/dist/dts/indexing/index.d.ts +4 -0
  193. package/dist/dts/indexing/searcher.d.ts +47 -0
  194. package/dist/dts/indexing/writer.d.ts +22 -0
  195. package/dist/dts/integrations/index.d.ts +2 -0
  196. package/dist/dts/integrations/integrations.d.ts +118 -0
  197. package/dist/dts/io/bytes.d.ts +56 -0
  198. package/dist/dts/io/files.d.ts +261 -0
  199. package/dist/dts/io/image.d.ts +22 -0
  200. package/dist/dts/io/index.d.ts +10 -0
  201. package/dist/dts/io/streams.d.ts +172 -0
  202. package/dist/dts/io/zip.d.ts +178 -0
  203. package/dist/dts/job/decorators.d.ts +11 -0
  204. package/dist/dts/job/index.d.ts +4 -0
  205. package/dist/dts/job/scheduler.d.ts +250 -0
  206. package/dist/dts/junit/index.d.ts +1 -0
  207. package/dist/dts/junit/junit.d.ts +50 -0
  208. package/dist/dts/kafka/consumer.d.ts +48 -0
  209. package/dist/dts/kafka/index.d.ts +4 -0
  210. package/dist/dts/kafka/producer.d.ts +50 -0
  211. package/dist/dts/log/index.d.ts +2 -0
  212. package/dist/dts/log/logging.d.ts +102 -0
  213. package/dist/dts/mail/client.d.ts +90 -0
  214. package/dist/dts/mail/index.d.ts +2 -0
  215. package/dist/dts/messaging/consumer.d.ts +61 -0
  216. package/dist/dts/messaging/decorators.d.ts +11 -0
  217. package/dist/dts/messaging/index.d.ts +6 -0
  218. package/dist/dts/messaging/producer.d.ts +59 -0
  219. package/dist/dts/mongodb/client.d.ts +367 -0
  220. package/dist/dts/mongodb/dao.d.ts +24 -0
  221. package/dist/dts/mongodb/index.d.ts +2 -0
  222. package/dist/dts/net/decorators.d.ts +11 -0
  223. package/dist/dts/net/index.d.ts +6 -0
  224. package/dist/dts/net/soap.d.ts +115 -0
  225. package/dist/dts/net/websockets.d.ts +100 -0
  226. package/dist/dts/net/wrappers/onClose.d.ts +0 -0
  227. package/dist/dts/net/wrappers/onError.d.ts +0 -0
  228. package/dist/dts/net/wrappers/onMessage.d.ts +0 -0
  229. package/dist/dts/net/wrappers/onOpen.d.ts +0 -0
  230. package/dist/dts/pdf/index.d.ts +2 -0
  231. package/dist/dts/pdf/pdf.d.ts +72 -0
  232. package/dist/dts/platform/command.d.ts +41 -0
  233. package/dist/dts/platform/engines.d.ts +35 -0
  234. package/dist/dts/platform/index.d.ts +16 -0
  235. package/dist/dts/platform/lifecycle.d.ts +22 -0
  236. package/dist/dts/platform/os.d.ts +23 -0
  237. package/dist/dts/platform/problems.d.ts +114 -0
  238. package/dist/dts/platform/registry.d.ts +227 -0
  239. package/dist/dts/platform/repository.d.ts +354 -0
  240. package/dist/dts/platform/workspace.d.ts +421 -0
  241. package/dist/dts/qldb/index.d.ts +2 -0
  242. package/dist/dts/qldb/qldb.d.ts +1 -0
  243. package/dist/dts/rabbitmq/consumer.d.ts +25 -0
  244. package/dist/dts/rabbitmq/index.d.ts +4 -0
  245. package/dist/dts/rabbitmq/producer.d.ts +15 -0
  246. package/dist/dts/redis/client.d.ts +134 -0
  247. package/dist/dts/redis/index.d.ts +2 -0
  248. package/dist/dts/security/decorators.d.ts +4 -0
  249. package/dist/dts/security/index.d.ts +5 -0
  250. package/dist/dts/security/oauth.d.ts +39 -0
  251. package/dist/dts/security/user.d.ts +51 -0
  252. package/dist/dts/template/engines.d.ts +98 -0
  253. package/dist/dts/template/index.d.ts +2 -0
  254. package/dist/dts/utils/alphanumeric.d.ts +39 -0
  255. package/dist/dts/utils/base64.d.ts +48 -0
  256. package/dist/dts/utils/converter.d.ts +44 -0
  257. package/dist/dts/utils/digest.d.ts +50 -0
  258. package/dist/dts/utils/escape.d.ts +110 -0
  259. package/dist/dts/utils/hex.d.ts +48 -0
  260. package/dist/dts/utils/index.d.ts +23 -0
  261. package/dist/dts/utils/jsonpath.d.ts +22 -0
  262. package/dist/dts/utils/qrcode.d.ts +16 -0
  263. package/dist/dts/utils/url.d.ts +50 -0
  264. package/dist/dts/utils/utf8.d.ts +33 -0
  265. package/dist/dts/utils/uuid.d.ts +21 -0
  266. package/dist/dts/utils/xml.d.ts +22 -0
  267. package/dist/esm/bpm/deployer.mjs +38 -0
  268. package/dist/esm/bpm/index.mjs +15 -0
  269. package/dist/esm/bpm/process.mjs +617 -0
  270. package/dist/esm/bpm/tasks.mjs +954 -0
  271. package/dist/esm/bpm/values.mjs +63 -0
  272. package/dist/esm/cache/cache.mjs +45 -0
  273. package/dist/esm/cache/index.mjs +6 -0
  274. package/dist/esm/cms/cmis.mjs +660 -0
  275. package/dist/esm/cms/index.mjs +6 -0
  276. package/dist/esm/component/decorators.mjs +107 -0
  277. package/dist/esm/component/index.mjs +6 -0
  278. package/dist/esm/core/configurations.mjs +91 -0
  279. package/dist/esm/core/context.mjs +28 -0
  280. package/dist/esm/core/env.mjs +26 -0
  281. package/dist/esm/core/globals.mjs +35 -0
  282. package/dist/esm/core/index.mjs +15 -0
  283. package/dist/esm/db/dao.mjs +775 -0
  284. package/dist/esm/db/database.mjs +885 -0
  285. package/dist/esm/db/decorators.mjs +148 -0
  286. package/dist/esm/db/index.mjs +42 -0
  287. package/dist/esm/db/insert.mjs +32 -0
  288. package/dist/esm/db/orm.mjs +225 -0
  289. package/dist/esm/db/ormstatements.mjs +223 -0
  290. package/dist/esm/db/procedure.mjs +93 -0
  291. package/dist/esm/db/query.mjs +38 -0
  292. package/dist/esm/db/repository.mjs +129 -0
  293. package/dist/esm/db/sequence.mjs +40 -0
  294. package/dist/esm/db/sql.mjs +497 -0
  295. package/dist/esm/db/store.mjs +153 -0
  296. package/dist/esm/db/translator.mjs +81 -0
  297. package/dist/esm/db/update.mjs +24 -0
  298. package/dist/esm/etcd/client.mjs +155 -0
  299. package/dist/esm/etcd/index.mjs +6 -0
  300. package/dist/esm/extensions/decorators.mjs +21 -0
  301. package/dist/esm/extensions/extensions.mjs +89 -0
  302. package/dist/esm/extensions/index.mjs +9 -0
  303. package/dist/esm/git/client.mjs +258 -0
  304. package/dist/esm/git/index.mjs +6 -0
  305. package/dist/esm/http/client-async.mjs +205 -0
  306. package/dist/esm/http/client.mjs +126 -0
  307. package/dist/esm/http/decorators.mjs +47 -0
  308. package/dist/esm/http/errors/ForbiddenError.mjs +22 -0
  309. package/dist/esm/http/errors/ValidationError.mjs +22 -0
  310. package/dist/esm/http/errors.mjs +7 -0
  311. package/dist/esm/http/index.mjs +29 -0
  312. package/dist/esm/http/request.mjs +262 -0
  313. package/dist/esm/http/response.mjs +433 -0
  314. package/dist/esm/http/rs/resource-common.mjs +13 -0
  315. package/dist/esm/http/rs/resource-http-controller.mjs +287 -0
  316. package/dist/esm/http/rs/resource-mappings.mjs +111 -0
  317. package/dist/esm/http/rs/resource-method.mjs +199 -0
  318. package/dist/esm/http/rs/resource.mjs +213 -0
  319. package/dist/esm/http/rs.mjs +12 -0
  320. package/dist/esm/http/session.mjs +105 -0
  321. package/dist/esm/http/upload.mjs +125 -0
  322. package/dist/esm/http/utils.mjs +87 -0
  323. package/dist/esm/index.mjs +1 -0
  324. package/dist/esm/indexing/index.mjs +9 -0
  325. package/dist/esm/indexing/searcher.mjs +51 -0
  326. package/dist/esm/indexing/writer.mjs +26 -0
  327. package/dist/esm/integrations/index.mjs +6 -0
  328. package/dist/esm/integrations/integrations.mjs +36 -0
  329. package/dist/esm/io/bytes.mjs +82 -0
  330. package/dist/esm/io/files.mjs +325 -0
  331. package/dist/esm/io/image.mjs +24 -0
  332. package/dist/esm/io/index.mjs +18 -0
  333. package/dist/esm/io/streams.mjs +224 -0
  334. package/dist/esm/io/zip.mjs +232 -0
  335. package/dist/esm/job/decorators.mjs +21 -0
  336. package/dist/esm/job/index.mjs +9 -0
  337. package/dist/esm/job/scheduler.mjs +328 -0
  338. package/dist/esm/junit/index.mjs +2 -0
  339. package/dist/esm/junit/junit.mjs +48 -0
  340. package/dist/esm/kafka/consumer.mjs +51 -0
  341. package/dist/esm/kafka/index.mjs +9 -0
  342. package/dist/esm/kafka/producer.mjs +51 -0
  343. package/dist/esm/log/index.mjs +6 -0
  344. package/dist/esm/log/logging.mjs +155 -0
  345. package/dist/esm/mail/client.mjs +134 -0
  346. package/dist/esm/mail/index.mjs +6 -0
  347. package/dist/esm/messaging/consumer.mjs +64 -0
  348. package/dist/esm/messaging/decorators.mjs +21 -0
  349. package/dist/esm/messaging/index.mjs +12 -0
  350. package/dist/esm/messaging/producer.mjs +62 -0
  351. package/dist/esm/mongodb/client.mjs +608 -0
  352. package/dist/esm/mongodb/dao.mjs +360 -0
  353. package/dist/esm/mongodb/index.mjs +7 -0
  354. package/dist/esm/net/decorators.mjs +21 -0
  355. package/dist/esm/net/index.mjs +12 -0
  356. package/dist/esm/net/soap.mjs +209 -0
  357. package/dist/esm/net/websockets.mjs +132 -0
  358. package/dist/esm/net/wrappers/onClose.mjs +2 -0
  359. package/dist/esm/net/wrappers/onError.mjs +2 -0
  360. package/dist/esm/net/wrappers/onMessage.mjs +2 -0
  361. package/dist/esm/net/wrappers/onOpen.mjs +2 -0
  362. package/dist/esm/pdf/index.mjs +6 -0
  363. package/dist/esm/pdf/pdf.mjs +141 -0
  364. package/dist/esm/platform/command.mjs +28 -0
  365. package/dist/esm/platform/engines.mjs +51 -0
  366. package/dist/esm/platform/index.mjs +27 -0
  367. package/dist/esm/platform/lifecycle.mjs +30 -0
  368. package/dist/esm/platform/os.mjs +32 -0
  369. package/dist/esm/platform/problems.mjs +108 -0
  370. package/dist/esm/platform/registry.mjs +300 -0
  371. package/dist/esm/platform/repository.mjs +479 -0
  372. package/dist/esm/platform/workspace.mjs +555 -0
  373. package/dist/esm/qldb/index.mjs +6 -0
  374. package/dist/esm/qldb/qldb.mjs +5 -0
  375. package/dist/esm/rabbitmq/consumer.mjs +31 -0
  376. package/dist/esm/rabbitmq/index.mjs +9 -0
  377. package/dist/esm/rabbitmq/producer.mjs +19 -0
  378. package/dist/esm/redis/client.mjs +171 -0
  379. package/dist/esm/redis/index.mjs +6 -0
  380. package/dist/esm/security/decorators.mjs +29 -0
  381. package/dist/esm/security/index.mjs +10 -0
  382. package/dist/esm/security/oauth.mjs +56 -0
  383. package/dist/esm/security/user.mjs +69 -0
  384. package/dist/esm/template/engines.mjs +120 -0
  385. package/dist/esm/template/index.mjs +6 -0
  386. package/dist/esm/utils/alphanumeric.mjs +88 -0
  387. package/dist/esm/utils/base64.mjs +85 -0
  388. package/dist/esm/utils/converter.mjs +59 -0
  389. package/dist/esm/utils/digest.mjs +148 -0
  390. package/dist/esm/utils/escape.mjs +141 -0
  391. package/dist/esm/utils/hex.mjs +85 -0
  392. package/dist/esm/utils/index.mjs +38 -0
  393. package/dist/esm/utils/jsonpath.mjs +470 -0
  394. package/dist/esm/utils/qrcode.mjs +22 -0
  395. package/dist/esm/utils/url.mjs +63 -0
  396. package/dist/esm/utils/utf8.mjs +42 -0
  397. package/dist/esm/utils/uuid.mjs +29 -0
  398. package/dist/esm/utils/xml.mjs +38 -0
  399. package/package.json +58 -0
@@ -0,0 +1,452 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var response_exports = {};
19
+ __export(response_exports, {
20
+ Response: () => Response
21
+ });
22
+ module.exports = __toCommonJS(response_exports);
23
+ var import_streams = require("@aerokit/sdk/io/streams");
24
+ const HttpResponseFacade = Java.type("org.eclipse.dirigible.components.api.http.HttpResponseFacade");
25
+ const OutputStreamWriter = Java.type("java.io.OutputStreamWriter");
26
+ const StandardCharsets = Java.type("java.nio.charset.StandardCharsets");
27
+ class Response {
28
+ static {
29
+ // --- Standard HTTP Status Code Constants (Informational, Success, Redirection, Client Error, Server Error) ---
30
+ this.ACCEPTED = 202;
31
+ }
32
+ static {
33
+ this.BAD_GATEWAY = 502;
34
+ }
35
+ static {
36
+ this.BAD_REQUEST = 400;
37
+ }
38
+ static {
39
+ this.CONFLICT = 409;
40
+ }
41
+ static {
42
+ this.CONTINUE = 100;
43
+ }
44
+ static {
45
+ this.CREATED = 201;
46
+ }
47
+ static {
48
+ this.EXPECTATION_FAILED = 417;
49
+ }
50
+ static {
51
+ this.FORBIDDEN = 403;
52
+ }
53
+ static {
54
+ this.FOUND = 302;
55
+ }
56
+ static {
57
+ this.GATEWAY_TIMEOUT = 504;
58
+ }
59
+ static {
60
+ this.GONE = 410;
61
+ }
62
+ static {
63
+ this.HTTP_VERSION_NOT_SUPPORTED = 505;
64
+ }
65
+ static {
66
+ this.INTERNAL_SERVER_ERROR = 500;
67
+ }
68
+ static {
69
+ this.LENGTH_REQUIRED = 411;
70
+ }
71
+ static {
72
+ this.METHOD_NOT_ALLOWED = 405;
73
+ }
74
+ static {
75
+ this.MOVED_PERMANENTLY = 301;
76
+ }
77
+ static {
78
+ this.MOVED_TEMPORARILY = 302;
79
+ }
80
+ static {
81
+ this.MULTIPLE_CHOICES = 300;
82
+ }
83
+ static {
84
+ this.NO_CONTENT = 204;
85
+ }
86
+ static {
87
+ this.NON_AUTHORITATIVE_INFORMATION = 203;
88
+ }
89
+ static {
90
+ this.NOT_ACCEPTABLE = 406;
91
+ }
92
+ static {
93
+ this.NOT_FOUND = 404;
94
+ }
95
+ static {
96
+ this.NOT_IMPLEMENTED = 501;
97
+ }
98
+ static {
99
+ this.NOT_MODIFIED = 304;
100
+ }
101
+ static {
102
+ this.OK = 200;
103
+ }
104
+ static {
105
+ this.PARTIAL_CONTENT = 206;
106
+ }
107
+ static {
108
+ this.PAYMENT_REQUIRED = 402;
109
+ }
110
+ static {
111
+ this.PRECONDITION_FAILED = 412;
112
+ }
113
+ static {
114
+ this.PROXY_AUTHENTICATION_REQUIRED = 407;
115
+ }
116
+ static {
117
+ this.REQUEST_ENTITY_TOO_LARGE = 413;
118
+ }
119
+ static {
120
+ this.REQUEST_TIMEOUT = 408;
121
+ }
122
+ static {
123
+ this.REQUEST_URI_TOO_LONG = 414;
124
+ }
125
+ static {
126
+ this.REQUESTED_RANGE_NOT_SATISFIABLE = 416;
127
+ }
128
+ static {
129
+ this.RESET_CONTENT = 205;
130
+ }
131
+ static {
132
+ this.SEE_OTHER = 303;
133
+ }
134
+ static {
135
+ this.SERVICE_UNAVAILABLE = 503;
136
+ }
137
+ static {
138
+ this.SWITCHING_PROTOCOLS = 101;
139
+ }
140
+ static {
141
+ this.TEMPORARY_REDIRECT = 307;
142
+ }
143
+ static {
144
+ this.UNAUTHORIZED = 401;
145
+ }
146
+ static {
147
+ this.UNSUPPORTED_MEDIA_TYPE = 415;
148
+ }
149
+ static {
150
+ this.USE_PROXY = 305;
151
+ }
152
+ static {
153
+ this.UNPROCESSABLE_CONTENT = 422;
154
+ }
155
+ static {
156
+ /**
157
+ * Mapping between HTTP response codes (string) and their corresponding reason-phrases
158
+ * as defined in RFC 7231, section 6.1.
159
+ */
160
+ this.HttpCodesReasons = {
161
+ "100": "Continue",
162
+ "101": "Switching Protocols",
163
+ "200": "OK",
164
+ "201": "Created",
165
+ "202": "Accepted",
166
+ "203": "Non-Authoritative Information",
167
+ "204": "No Content",
168
+ "205": "Reset Content",
169
+ "206": "Partial Content",
170
+ "300": "Multiple Choices",
171
+ "301": "Moved Permanently",
172
+ "302": "Found",
173
+ "303": "See Other",
174
+ "304": "Not Modified",
175
+ "305": "Use Proxy",
176
+ "307": "Temporary Redirect",
177
+ "400": "Bad Request",
178
+ "401": "Unauthorized",
179
+ "402": "Payment Required",
180
+ "403": "Forbidden",
181
+ "404": "Not Found",
182
+ "405": "Method Not Allowed",
183
+ "406": "Not Acceptable",
184
+ "407": "Proxy Authentication Required",
185
+ "408": "Request Timeout",
186
+ "409": "Conflict",
187
+ "410": "Gone",
188
+ "411": "Length Required",
189
+ "412": "Precondition Failed",
190
+ "413": "Payload Too Large",
191
+ "414": "URI Too Large",
192
+ "415": "Unsupported Media Type",
193
+ "416": "Range Not Satisfiable",
194
+ "417": "Expectation Failed",
195
+ "422": "Unprocessable Content",
196
+ "426": "Upgrade Required",
197
+ "500": "Internal Server Error",
198
+ "501": "Not Implemented",
199
+ "502": "Bad Gateway",
200
+ "503": "Service Unavailable",
201
+ "504": "Gateway Timmeout",
202
+ "505": "HTTP Version Not Supported",
203
+ /**
204
+ * Utility method that accepts an HTTP code and returns its corresponding reason-phrase.
205
+ * @param code The HTTP status code (number).
206
+ * @returns The reason phrase string.
207
+ * @throws Error if the code is not a valid integer in the range [100-505].
208
+ */
209
+ getReason: (code) => {
210
+ if (isNaN(code) || code < 100 || code > 505) {
211
+ throw Error("Illegal argument for code[" + code + "]. Valid HTTP codes are integer numbers in the range [100-505].");
212
+ }
213
+ return Response.HttpCodesReasons[String(code)];
214
+ }
215
+ };
216
+ }
217
+ /**
218
+ * Checks if the response façade is currently valid or connected to an active request context.
219
+ * @returns True if valid, false otherwise.
220
+ */
221
+ static isValid() {
222
+ return HttpResponseFacade.isValid();
223
+ }
224
+ /**
225
+ * Serializes a JavaScript object to JSON, sets the `Content-Type: application/json` header,
226
+ * and writes the JSON string to the response output stream.
227
+ * @param obj The JavaScript object to be serialized and sent.
228
+ */
229
+ static json(obj) {
230
+ Response.addHeader("Content-Type", "application/json");
231
+ const objJson = JSON.stringify(obj);
232
+ Response.print(objJson);
233
+ }
234
+ /**
235
+ * Writes a string of text to the response body using **UTF-8** encoding.
236
+ * Note: This method automatically handles flushing the output stream.
237
+ * @param text The string content to write.
238
+ */
239
+ static print(text) {
240
+ text = text && text.toString() || "";
241
+ const out = Response.getOutputStream().native;
242
+ const writer = new OutputStreamWriter(out, StandardCharsets.UTF_8);
243
+ writer.write(text);
244
+ writer.flush();
245
+ }
246
+ /**
247
+ * Writes a string of text followed by a newline character (`\n`) to the response body
248
+ * using **UTF-8** encoding.
249
+ * @param text The string content to write.
250
+ */
251
+ static println(text) {
252
+ text = text && text.toString() || "";
253
+ const out = Response.getOutputStream().native;
254
+ const writer = new OutputStreamWriter(out, StandardCharsets.UTF_8);
255
+ writer.write(text);
256
+ writer.write("\n");
257
+ writer.flush();
258
+ }
259
+ /**
260
+ * Writes an array of bytes directly to the response output stream, typically used for binary data.
261
+ * @param bytes The array of bytes to write.
262
+ */
263
+ static write(bytes) {
264
+ if (!bytes) {
265
+ bytes = [];
266
+ }
267
+ HttpResponseFacade.write(bytes);
268
+ }
269
+ /**
270
+ * Checks if the response headers and status have already been sent to the client.
271
+ * @returns True if the response is committed, false otherwise.
272
+ */
273
+ static isCommitted() {
274
+ return HttpResponseFacade.isCommitted();
275
+ }
276
+ /**
277
+ * Sets the value of the `Content-Type` header.
278
+ * @param contentType The MIME type string (e.g., 'text/html', 'application/pdf').
279
+ */
280
+ static setContentType(contentType) {
281
+ HttpResponseFacade.setContentType(contentType);
282
+ }
283
+ /**
284
+ * Forces any buffered output to be written to the client.
285
+ */
286
+ static flush() {
287
+ HttpResponseFacade.flush();
288
+ }
289
+ /**
290
+ * Closes the response output stream.
291
+ */
292
+ static close() {
293
+ HttpResponseFacade.close();
294
+ }
295
+ /**
296
+ * Adds a cookie to the response. The cookie object is serialized to JSON before being passed
297
+ * to the underlying Java facade.
298
+ * @param cookie The cookie definition object.
299
+ */
300
+ static addCookie(cookie) {
301
+ HttpResponseFacade.addCookie(JSON.stringify(cookie));
302
+ }
303
+ /**
304
+ * Checks if a response header with the specified name has already been set.
305
+ * @param name The name of the header.
306
+ * @returns True if the header exists, false otherwise.
307
+ */
308
+ static containsHeader(name) {
309
+ return HttpResponseFacade.containsHeader(name);
310
+ }
311
+ /**
312
+ * Encodes a URL for use in redirects or forms, including session information if necessary.
313
+ * @param url The URL to encode.
314
+ * @returns The encoded URL string.
315
+ */
316
+ static encodeURL(url) {
317
+ return HttpResponseFacade.encodeURL(url);
318
+ }
319
+ /**
320
+ * Gets the character encoding used for the response body.
321
+ * @returns The character encoding string.
322
+ */
323
+ static getCharacterEncoding() {
324
+ return HttpResponseFacade.getCharacterEncoding();
325
+ }
326
+ /**
327
+ * Encodes a URL for use in the `Location` header of a redirect response.
328
+ * @param url The redirect URL to encode.
329
+ * @returns The encoded redirect URL string.
330
+ */
331
+ static encodeRedirectURL(url) {
332
+ return HttpResponseFacade.encodeRedirectURL(url);
333
+ }
334
+ /**
335
+ * Gets the current `Content-Type` header value.
336
+ * @returns The content type string.
337
+ */
338
+ static getContentType() {
339
+ return HttpResponseFacade.getContentType();
340
+ }
341
+ /**
342
+ * Sends an HTTP error response to the client with the specified status code and optional message.
343
+ * This bypasses the normal response body writing process.
344
+ * @param status The HTTP status code (e.g., 404, 500).
345
+ * @param message An optional message to include in the error response.
346
+ */
347
+ static sendError(status, message) {
348
+ HttpResponseFacade.sendError(status, message);
349
+ }
350
+ /**
351
+ * Sets the character encoding to be used for the response body (e.g., 'UTF-8').
352
+ * @param charset The character set string.
353
+ */
354
+ static setCharacterEncoding(charset) {
355
+ HttpResponseFacade.setCharacterEncoding(charset);
356
+ }
357
+ /**
358
+ * Sends a redirect response (status code 302 by default) to the client.
359
+ * @param location The new URL to redirect the client to.
360
+ */
361
+ static sendRedirect(location) {
362
+ HttpResponseFacade.sendRedirect(location);
363
+ }
364
+ /**
365
+ * Sets the `Content-Length` header for the response.
366
+ * @param length The size of the response body in bytes.
367
+ */
368
+ static setContentLength(length) {
369
+ HttpResponseFacade.setContentLength(length);
370
+ }
371
+ /**
372
+ * Sets a response header with the given name and value. If the header already exists, its value is overwritten.
373
+ * @param name The name of the header.
374
+ * @param value The value of the header.
375
+ */
376
+ static setHeader(name, value) {
377
+ HttpResponseFacade.setHeader(name, value);
378
+ }
379
+ /**
380
+ * Adds a response header with the given name and value. If the header already exists, a second header with the same name is added.
381
+ * @param name The name of the header.
382
+ * @param value The value of the header.
383
+ */
384
+ static addHeader(name, value) {
385
+ HttpResponseFacade.addHeader(name, value);
386
+ }
387
+ /**
388
+ * Sets the HTTP status code for the response.
389
+ * @param status The integer status code (e.g., 200, 404).
390
+ */
391
+ static setStatus(status) {
392
+ HttpResponseFacade.setStatus(status);
393
+ }
394
+ /**
395
+ * Clears all buffers, status code, and headers from the response, allowing a new response to be generated.
396
+ * This is only possible if the response has not yet been committed.
397
+ */
398
+ static reset() {
399
+ HttpResponseFacade.reset();
400
+ }
401
+ /**
402
+ * Gets the value of a specific header. If multiple headers with the same name exist, it returns the first one.
403
+ * @param name The name of the header.
404
+ * @returns The header value string.
405
+ */
406
+ static getHeader(name) {
407
+ return HttpResponseFacade.getHeader(name);
408
+ }
409
+ /**
410
+ * Sets the locale for the response, which may affect language and date/time formatting.
411
+ * @param language The language code (e.g., 'en', 'fr').
412
+ * @param country The optional country code (e.g., 'US', 'GB').
413
+ * @param variant The optional variant code.
414
+ */
415
+ static setLocale(language, country, variant) {
416
+ return HttpResponseFacade.setLocale(language, country, variant);
417
+ }
418
+ /**
419
+ * Gets all header values for a specific header name as an array of strings.
420
+ * @param name The name of the header.
421
+ * @returns An array of header values.
422
+ */
423
+ static getHeaders(name) {
424
+ return JSON.parse(HttpResponseFacade.getHeaders(name));
425
+ }
426
+ /**
427
+ * Gets the names of all headers that have been set on the response.
428
+ * @returns An array of header names.
429
+ */
430
+ static getHeaderNames() {
431
+ return JSON.parse(HttpResponseFacade.getHeaderNames());
432
+ }
433
+ /**
434
+ * Gets the currently set locale string for the response.
435
+ * @returns The locale string.
436
+ */
437
+ static getLocale() {
438
+ return HttpResponseFacade.getLocale();
439
+ }
440
+ /**
441
+ * Gets the underlying output stream object, wrapped in the SDK's `OutputStream` class.
442
+ * This is useful for writing raw or large amounts of data.
443
+ * @returns The output stream object.
444
+ */
445
+ static getOutputStream() {
446
+ return new import_streams.OutputStream(HttpResponseFacade.getOutputStream());
447
+ }
448
+ }
449
+ if (typeof module !== "undefined") {
450
+ module.exports = Response;
451
+ }
452
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2h0dHAvcmVzcG9uc2UudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogUHJvdmlkZXMgYSBzdGF0aWMgZmFcdTAwRTdhZGUgKGBSZXNwb25zZWAgY2xhc3MpIGZvciBtYW5hZ2luZyB0aGUgSFRUUCByZXNwb25zZS5cbiAqIFRoaXMgY2xhc3Mgd3JhcHMgYSBuYXRpdmUgSmF2YSBIVFRQIHJlc3BvbnNlIG9iamVjdCwgb2ZmZXJpbmcgbWV0aG9kcyBmb3Igc2V0dGluZ1xuICogc3RhdHVzIGNvZGVzLCBoZWFkZXJzLCBjb29raWVzLCBhbmQgd3JpdGluZyBjb250ZW50ICh0ZXh0LCBKU09OLCBvciBiaW5hcnkpLlxuICovXG5cbmltcG9ydCB7IE91dHB1dFN0cmVhbSB9IGZyb20gXCJAYWVyb2tpdC9zZGsvaW8vc3RyZWFtc1wiXG5cbmNvbnN0IEh0dHBSZXNwb25zZUZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5odHRwLkh0dHBSZXNwb25zZUZhY2FkZVwiKTtcbmNvbnN0IE91dHB1dFN0cmVhbVdyaXRlciA9IEphdmEudHlwZShcImphdmEuaW8uT3V0cHV0U3RyZWFtV3JpdGVyXCIpO1xuY29uc3QgU3RhbmRhcmRDaGFyc2V0cyA9IEphdmEudHlwZShcImphdmEubmlvLmNoYXJzZXQuU3RhbmRhcmRDaGFyc2V0c1wiKTtcblxuLyoqXG4gKiBEZWZpbmVzIHRoZSBzdHJ1Y3R1cmUgZm9yIGFuIEhUVFAgY29va2llLCBpbmNsdWRpbmcgaXRzIG5hbWUsIHZhbHVlLCBhbmQgb3B0aW9uYWwgYXR0cmlidXRlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb29raWUge1xuICAgIC8qKiBUaGUgbmFtZSBvZiB0aGUgY29va2llLiAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKiogVGhlIHZhbHVlIG9mIHRoZSBjb29raWUuICovXG4gICAgdmFsdWU6IHN0cmluZztcbiAgICAvKiogS2V5LXZhbHVlIG1hcCBvZiBjb29raWUgYXR0cmlidXRlcyAoZS5nLiwgJ21heEFnZScsICdwYXRoJywgJ2RvbWFpbicsICdzZWN1cmUnLCAnaHR0cE9ubHknKS4gKi9cbiAgICBhdHRyaWJ1dGVzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuIH1cblxuLyoqXG4gKiBUaGUgc3RhdGljIFJlc3BvbnNlIGNsYXNzIHByb3ZpZGluZyBzdGFuZGFyZGl6ZWQgSFRUUCBzdGF0dXMgY29kZXMgYW5kIG1ldGhvZHNcbiAqIGZvciBjb25zdHJ1Y3RpbmcgdGhlIHNlcnZlcidzIHJlc3BvbnNlLlxuICovXG5leHBvcnQgY2xhc3MgUmVzcG9uc2Uge1xuXG4gICAgLy8gLS0tIFN0YW5kYXJkIEhUVFAgU3RhdHVzIENvZGUgQ29uc3RhbnRzIChJbmZvcm1hdGlvbmFsLCBTdWNjZXNzLCBSZWRpcmVjdGlvbiwgQ2xpZW50IEVycm9yLCBTZXJ2ZXIgRXJyb3IpIC0tLVxuXG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBBQ0NFUFRFRCA9IDIwMjtcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEJBRF9HQVRFV0FZID0gNTAyO1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQkFEX1JFUVVFU1QgPSA0MDA7XG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBDT05GTElDVCA9IDQwOTtcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENPTlRJTlVFID0gMTAwO1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQ1JFQVRFRCA9IDIwMTtcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEVYUEVDVEFUSU9OX0ZBSUxFRCA9IDQxNztcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEZPUkJJRERFTiA9IDQwMztcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEZPVU5EID0gMzAyO1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgR0FURVdBWV9USU1FT1VUID0gNTA0O1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgR09ORSA9IDQxMDtcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEID0gNTA1O1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSU5URVJOQUxfU0VSVkVSX0VSUk9SID0gNTAwO1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTEVOR1RIX1JFUVVJUkVEID0gNDExO1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTUVUSE9EX05PVF9BTExPV0VEID0gNDA1O1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTU9WRURfUEVSTUFORU5UTFkgPSAzMDE7XG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBNT1ZFRF9URU1QT1JBUklMWSA9IDMwMjtcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE1VTFRJUExFX0NIT0lDRVMgPSAzMDA7XG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBOT19DT05URU5UID0gMjA0O1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04gPSAyMDM7XG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBOT1RfQUNDRVBUQUJMRSA9IDQwNjtcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE5PVF9GT1VORCA9IDQwNDtcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE5PVF9JTVBMRU1FTlRFRCA9IDUwMTtcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE5PVF9NT0RJRklFRCA9IDMwNDtcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE9LID0gMjAwO1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSVElBTF9DT05URU5UID0gMjA2O1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFZTUVOVF9SRVFVSVJFRCA9IDQwMjtcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBSRUNPTkRJVElPTl9GQUlMRUQgPSA0MTI7XG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRCA9IDQwNztcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFJFUVVFU1RfRU5USVRZX1RPT19MQVJHRSA9IDQxMztcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFJFUVVFU1RfVElNRU9VVCA9IDQwODtcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFJFUVVFU1RfVVJJX1RPT19MT05HID0gNDE0O1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUkVRVUVTVEVEX1JBTkdFX05PVF9TQVRJU0ZJQUJMRSA9IDQxNjtcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFJFU0VUX0NPTlRFTlQgPSAyMDU7XG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBTRUVfT1RIRVIgPSAzMDM7XG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1VOQVZBSUxBQkxFID0gNTAzO1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU1dJVENISU5HX1BST1RPQ09MUyA9IDEwMTtcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFRFTVBPUkFSWV9SRURJUkVDVCA9IDMwNztcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFVOQVVUSE9SSVpFRCA9IDQwMTtcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFVOU1VQUE9SVEVEX01FRElBX1RZUEUgPSA0MTU7XG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBVU0VfUFJPWFkgPSAzMDU7XG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBVTlBST0NFU1NBQkxFX0NPTlRFTlQgPSA0MjI7XG5cbiAgICAvKipcbiAgICAgKiBNYXBwaW5nIGJldHdlZW4gSFRUUCByZXNwb25zZSBjb2RlcyAoc3RyaW5nKSBhbmQgdGhlaXIgY29ycmVzcG9uZGluZyByZWFzb24tcGhyYXNlc1xuICAgICAqIGFzIGRlZmluZWQgaW4gUkZDIDcyMzEsIHNlY3Rpb24gNi4xLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSHR0cENvZGVzUmVhc29ucyA9IHtcbiAgICAgICAgXCIxMDBcIjogXCJDb250aW51ZVwiLCBcIjEwMVwiOiBcIlN3aXRjaGluZyBQcm90b2NvbHNcIiwgXCIyMDBcIjogXCJPS1wiLCBcIjIwMVwiOiBcIkNyZWF0ZWRcIixcbiAgICAgICAgXCIyMDJcIjogXCJBY2NlcHRlZFwiLCBcIjIwM1wiOiBcIk5vbi1BdXRob3JpdGF0aXZlIEluZm9ybWF0aW9uXCIsIFwiMjA0XCI6IFwiTm8gQ29udGVudFwiLFxuICAgICAgICBcIjIwNVwiOiBcIlJlc2V0IENvbnRlbnRcIiwgXCIyMDZcIjogXCJQYXJ0aWFsIENvbnRlbnRcIiwgXCIzMDBcIjogXCJNdWx0aXBsZSBDaG9pY2VzXCIsXG4gICAgICAgIFwiMzAxXCI6IFwiTW92ZWQgUGVybWFuZW50bHlcIiwgXCIzMDJcIjogXCJGb3VuZFwiLCBcIjMwM1wiOiBcIlNlZSBPdGhlclwiLCBcIjMwNFwiOiBcIk5vdCBNb2RpZmllZFwiLFxuICAgICAgICBcIjMwNVwiOiBcIlVzZSBQcm94eVwiLCBcIjMwN1wiOiBcIlRlbXBvcmFyeSBSZWRpcmVjdFwiLCBcIjQwMFwiOiBcIkJhZCBSZXF1ZXN0XCIsXG4gICAgICAgIFwiNDAxXCI6IFwiVW5hdXRob3JpemVkXCIsIFwiNDAyXCI6IFwiUGF5bWVudCBSZXF1aXJlZFwiLCBcIjQwM1wiOiBcIkZvcmJpZGRlblwiLFxuICAgICAgICBcIjQwNFwiOiBcIk5vdCBGb3VuZFwiLCBcIjQwNVwiOiBcIk1ldGhvZCBOb3QgQWxsb3dlZFwiLCBcIjQwNlwiOiBcIk5vdCBBY2NlcHRhYmxlXCIsXG4gICAgICAgIFwiNDA3XCI6IFwiUHJveHkgQXV0aGVudGljYXRpb24gUmVxdWlyZWRcIiwgXCI0MDhcIjogXCJSZXF1ZXN0IFRpbWVvdXRcIiwgXCI0MDlcIjogXCJDb25mbGljdFwiLFxuICAgICAgICBcIjQxMFwiOiBcIkdvbmVcIiwgXCI0MTFcIjogXCJMZW5ndGggUmVxdWlyZWRcIiwgXCI0MTJcIjogXCJQcmVjb25kaXRpb24gRmFpbGVkXCIsXG4gICAgICAgIFwiNDEzXCI6IFwiUGF5bG9hZCBUb28gTGFyZ2VcIiwgXCI0MTRcIjogXCJVUkkgVG9vIExhcmdlXCIsIFwiNDE1XCI6IFwiVW5zdXBwb3J0ZWQgTWVkaWEgVHlwZVwiLFxuICAgICAgICBcIjQxNlwiOiBcIlJhbmdlIE5vdCBTYXRpc2ZpYWJsZVwiLCBcIjQxN1wiOiBcIkV4cGVjdGF0aW9uIEZhaWxlZFwiLCBcIjQyMlwiOiBcIlVucHJvY2Vzc2FibGUgQ29udGVudFwiLFxuICAgICAgICBcIjQyNlwiOiBcIlVwZ3JhZGUgUmVxdWlyZWRcIiwgXCI1MDBcIjogXCJJbnRlcm5hbCBTZXJ2ZXIgRXJyb3JcIiwgXCI1MDFcIjogXCJOb3QgSW1wbGVtZW50ZWRcIixcbiAgICAgICAgXCI1MDJcIjogXCJCYWQgR2F0ZXdheVwiLCBcIjUwM1wiOiBcIlNlcnZpY2UgVW5hdmFpbGFibGVcIiwgXCI1MDRcIjogXCJHYXRld2F5IFRpbW1lb3V0XCIsXG4gICAgICAgIFwiNTA1XCI6IFwiSFRUUCBWZXJzaW9uIE5vdCBTdXBwb3J0ZWRcIixcblxuICAgICAgICAvKipcbiAgICAgICAgKiBVdGlsaXR5IG1ldGhvZCB0aGF0IGFjY2VwdHMgYW4gSFRUUCBjb2RlIGFuZCByZXR1cm5zIGl0cyBjb3JyZXNwb25kaW5nIHJlYXNvbi1waHJhc2UuXG4gICAgICAgICogQHBhcmFtIGNvZGUgVGhlIEhUVFAgc3RhdHVzIGNvZGUgKG51bWJlcikuXG4gICAgICAgICogQHJldHVybnMgVGhlIHJlYXNvbiBwaHJhc2Ugc3RyaW5nLlxuICAgICAgICAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIGNvZGUgaXMgbm90IGEgdmFsaWQgaW50ZWdlciBpbiB0aGUgcmFuZ2UgWzEwMC01MDVdLlxuICAgICAgICAqL1xuICAgICAgICBnZXRSZWFzb246IChjb2RlOiBudW1iZXIpOiBzdHJpbmcgPT4ge1xuICAgICAgICAgICAgaWYgKGlzTmFOKGNvZGUpIHx8IGNvZGUgPCAxMDAgfHwgY29kZSA+IDUwNSkge1xuICAgICAgICAgICAgICAgIHRocm93IEVycm9yKCdJbGxlZ2FsIGFyZ3VtZW50IGZvciBjb2RlWycgKyBjb2RlICsgJ10uIFZhbGlkIEhUVFAgY29kZXMgYXJlIGludGVnZXIgbnVtYmVycyBpbiB0aGUgcmFuZ2UgWzEwMC01MDVdLicpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gUmVzcG9uc2UuSHR0cENvZGVzUmVhc29uc1tTdHJpbmcoY29kZSldO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSByZXNwb25zZSBmYVx1MDBFN2FkZSBpcyBjdXJyZW50bHkgdmFsaWQgb3IgY29ubmVjdGVkIHRvIGFuIGFjdGl2ZSByZXF1ZXN0IGNvbnRleHQuXG4gICAgICogQHJldHVybnMgVHJ1ZSBpZiB2YWxpZCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIEh0dHBSZXNwb25zZUZhY2FkZS5pc1ZhbGlkKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VyaWFsaXplcyBhIEphdmFTY3JpcHQgb2JqZWN0IHRvIEpTT04sIHNldHMgdGhlIGBDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb25gIGhlYWRlcixcbiAgICAgKiBhbmQgd3JpdGVzIHRoZSBKU09OIHN0cmluZyB0byB0aGUgcmVzcG9uc2Ugb3V0cHV0IHN0cmVhbS5cbiAgICAgKiBAcGFyYW0gb2JqIFRoZSBKYXZhU2NyaXB0IG9iamVjdCB0byBiZSBzZXJpYWxpemVkIGFuZCBzZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMganNvbihvYmo6IGFueSk6IHZvaWQge1xuICAgICAgICBSZXNwb25zZS5hZGRIZWFkZXIoXCJDb250ZW50LVR5cGVcIiwgXCJhcHBsaWNhdGlvbi9qc29uXCIpXG4gICAgICAgIGNvbnN0IG9iakpzb24gPSBKU09OLnN0cmluZ2lmeShvYmopO1xuICAgICAgICBSZXNwb25zZS5wcmludChvYmpKc29uKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBXcml0ZXMgYSBzdHJpbmcgb2YgdGV4dCB0byB0aGUgcmVzcG9uc2UgYm9keSB1c2luZyAqKlVURi04KiogZW5jb2RpbmcuXG4gICAgICogTm90ZTogVGhpcyBtZXRob2QgYXV0b21hdGljYWxseSBoYW5kbGVzIGZsdXNoaW5nIHRoZSBvdXRwdXQgc3RyZWFtLlxuICAgICAqIEBwYXJhbSB0ZXh0IFRoZSBzdHJpbmcgY29udGVudCB0byB3cml0ZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHByaW50KHRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0ZXh0ID0gKHRleHQgJiYgdGV4dC50b1N0cmluZygpKSB8fCBcIlwiO1xuICAgICAgICBjb25zdCBvdXQgPSBSZXNwb25zZS5nZXRPdXRwdXRTdHJlYW0oKS5uYXRpdmU7XG4gICAgICAgIC8vIFVzZSBKYXZhIEkvTyB0byBlbnN1cmUgZXhwbGljaXQgVVRGLTggZW5jb2RpbmdcbiAgICAgICAgY29uc3Qgd3JpdGVyID0gbmV3IE91dHB1dFN0cmVhbVdyaXRlcihvdXQsIFN0YW5kYXJkQ2hhcnNldHMuVVRGXzgpO1xuICAgICAgICB3cml0ZXIud3JpdGUodGV4dCk7XG4gICAgICAgIHdyaXRlci5mbHVzaCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFdyaXRlcyBhIHN0cmluZyBvZiB0ZXh0IGZvbGxvd2VkIGJ5IGEgbmV3bGluZSBjaGFyYWN0ZXIgKGBcXG5gKSB0byB0aGUgcmVzcG9uc2UgYm9keVxuICAgICAqIHVzaW5nICoqVVRGLTgqKiBlbmNvZGluZy5cbiAgICAgKiBAcGFyYW0gdGV4dCBUaGUgc3RyaW5nIGNvbnRlbnQgdG8gd3JpdGUuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBwcmludGxuKHRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0ZXh0ID0gKHRleHQgJiYgdGV4dC50b1N0cmluZygpKSB8fCBcIlwiO1xuICAgICAgICBjb25zdCBvdXQgPSBSZXNwb25zZS5nZXRPdXRwdXRTdHJlYW0oKS5uYXRpdmU7XG4gICAgICAgIGNvbnN0IHdyaXRlciA9IG5ldyBPdXRwdXRTdHJlYW1Xcml0ZXIob3V0LCBTdGFuZGFyZENoYXJzZXRzLlVURl84KTtcbiAgICAgICAgd3JpdGVyLndyaXRlKHRleHQpO1xuICAgICAgICB3cml0ZXIud3JpdGUoXCJcXG5cIik7XG4gICAgICAgIHdyaXRlci5mbHVzaCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFdyaXRlcyBhbiBhcnJheSBvZiBieXRlcyBkaXJlY3RseSB0byB0aGUgcmVzcG9uc2Ugb3V0cHV0IHN0cmVhbSwgdHlwaWNhbGx5IHVzZWQgZm9yIGJpbmFyeSBkYXRhLlxuICAgICAqIEBwYXJhbSBieXRlcyBUaGUgYXJyYXkgb2YgYnl0ZXMgdG8gd3JpdGUuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyB3cml0ZShieXRlczogYW55W10pOiB2b2lkIHtcbiAgICAgICAgaWYgKCFieXRlcykge1xuICAgICAgICAgICAgYnl0ZXMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBIdHRwUmVzcG9uc2VGYWNhZGUud3JpdGUoYnl0ZXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgcmVzcG9uc2UgaGVhZGVycyBhbmQgc3RhdHVzIGhhdmUgYWxyZWFkeSBiZWVuIHNlbnQgdG8gdGhlIGNsaWVudC5cbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSByZXNwb25zZSBpcyBjb21taXR0ZWQsIGZhbHNlIG90aGVyd2lzZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGlzQ29tbWl0dGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gSHR0cFJlc3BvbnNlRmFjYWRlLmlzQ29tbWl0dGVkKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgdmFsdWUgb2YgdGhlIGBDb250ZW50LVR5cGVgIGhlYWRlci5cbiAgICAgKiBAcGFyYW0gY29udGVudFR5cGUgVGhlIE1JTUUgdHlwZSBzdHJpbmcgKGUuZy4sICd0ZXh0L2h0bWwnLCAnYXBwbGljYXRpb24vcGRmJykuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBzZXRDb250ZW50VHlwZShjb250ZW50VHlwZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEh0dHBSZXNwb25zZUZhY2FkZS5zZXRDb250ZW50VHlwZShjb250ZW50VHlwZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRm9yY2VzIGFueSBidWZmZXJlZCBvdXRwdXQgdG8gYmUgd3JpdHRlbiB0byB0aGUgY2xpZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZmx1c2goKTogdm9pZCB7XG4gICAgICAgIEh0dHBSZXNwb25zZUZhY2FkZS5mbHVzaCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsb3NlcyB0aGUgcmVzcG9uc2Ugb3V0cHV0IHN0cmVhbS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICBIdHRwUmVzcG9uc2VGYWNhZGUuY2xvc2UoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIGEgY29va2llIHRvIHRoZSByZXNwb25zZS4gVGhlIGNvb2tpZSBvYmplY3QgaXMgc2VyaWFsaXplZCB0byBKU09OIGJlZm9yZSBiZWluZyBwYXNzZWRcbiAgICAgKiB0byB0aGUgdW5kZXJseWluZyBKYXZhIGZhY2FkZS5cbiAgICAgKiBAcGFyYW0gY29va2llIFRoZSBjb29raWUgZGVmaW5pdGlvbiBvYmplY3QuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBhZGRDb29raWUoY29va2llOiBDb29raWUpOiB2b2lkIHtcbiAgICAgICAgSHR0cFJlc3BvbnNlRmFjYWRlLmFkZENvb2tpZShKU09OLnN0cmluZ2lmeShjb29raWUpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYSByZXNwb25zZSBoZWFkZXIgd2l0aCB0aGUgc3BlY2lmaWVkIG5hbWUgaGFzIGFscmVhZHkgYmVlbiBzZXQuXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGhlYWRlci5cbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBoZWFkZXIgZXhpc3RzLCBmYWxzZSBvdGhlcndpc2UuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBjb250YWluc0hlYWRlcihuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIEh0dHBSZXNwb25zZUZhY2FkZS5jb250YWluc0hlYWRlcihuYW1lKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFbmNvZGVzIGEgVVJMIGZvciB1c2UgaW4gcmVkaXJlY3RzIG9yIGZvcm1zLCBpbmNsdWRpbmcgc2Vzc2lvbiBpbmZvcm1hdGlvbiBpZiBuZWNlc3NhcnkuXG4gICAgICogQHBhcmFtIHVybCBUaGUgVVJMIHRvIGVuY29kZS5cbiAgICAgKiBAcmV0dXJucyBUaGUgZW5jb2RlZCBVUkwgc3RyaW5nLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZW5jb2RlVVJMKHVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEh0dHBSZXNwb25zZUZhY2FkZS5lbmNvZGVVUkwodXJsKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBjaGFyYWN0ZXIgZW5jb2RpbmcgdXNlZCBmb3IgdGhlIHJlc3BvbnNlIGJvZHkuXG4gICAgICogQHJldHVybnMgVGhlIGNoYXJhY3RlciBlbmNvZGluZyBzdHJpbmcuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZXRDaGFyYWN0ZXJFbmNvZGluZygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gSHR0cFJlc3BvbnNlRmFjYWRlLmdldENoYXJhY3RlckVuY29kaW5nKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW5jb2RlcyBhIFVSTCBmb3IgdXNlIGluIHRoZSBgTG9jYXRpb25gIGhlYWRlciBvZiBhIHJlZGlyZWN0IHJlc3BvbnNlLlxuICAgICAqIEBwYXJhbSB1cmwgVGhlIHJlZGlyZWN0IFVSTCB0byBlbmNvZGUuXG4gICAgICogQHJldHVybnMgVGhlIGVuY29kZWQgcmVkaXJlY3QgVVJMIHN0cmluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGVuY29kZVJlZGlyZWN0VVJMKHVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEh0dHBSZXNwb25zZUZhY2FkZS5lbmNvZGVSZWRpcmVjdFVSTCh1cmwpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGN1cnJlbnQgYENvbnRlbnQtVHlwZWAgaGVhZGVyIHZhbHVlLlxuICAgICAqIEByZXR1cm5zIFRoZSBjb250ZW50IHR5cGUgc3RyaW5nLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0Q29udGVudFR5cGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEh0dHBSZXNwb25zZUZhY2FkZS5nZXRDb250ZW50VHlwZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlbmRzIGFuIEhUVFAgZXJyb3IgcmVzcG9uc2UgdG8gdGhlIGNsaWVudCB3aXRoIHRoZSBzcGVjaWZpZWQgc3RhdHVzIGNvZGUgYW5kIG9wdGlvbmFsIG1lc3NhZ2UuXG4gICAgICogVGhpcyBieXBhc3NlcyB0aGUgbm9ybWFsIHJlc3BvbnNlIGJvZHkgd3JpdGluZyBwcm9jZXNzLlxuICAgICAqIEBwYXJhbSBzdGF0dXMgVGhlIEhUVFAgc3RhdHVzIGNvZGUgKGUuZy4sIDQwNCwgNTAwKS5cbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBBbiBvcHRpb25hbCBtZXNzYWdlIHRvIGluY2x1ZGUgaW4gdGhlIGVycm9yIHJlc3BvbnNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgc2VuZEVycm9yKHN0YXR1czogbnVtYmVyLCBtZXNzYWdlPzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEh0dHBSZXNwb25zZUZhY2FkZS5zZW5kRXJyb3Ioc3RhdHVzLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBjaGFyYWN0ZXIgZW5jb2RpbmcgdG8gYmUgdXNlZCBmb3IgdGhlIHJlc3BvbnNlIGJvZHkgKGUuZy4sICdVVEYtOCcpLlxuICAgICAqIEBwYXJhbSBjaGFyc2V0IFRoZSBjaGFyYWN0ZXIgc2V0IHN0cmluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHNldENoYXJhY3RlckVuY29kaW5nKGNoYXJzZXQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBIdHRwUmVzcG9uc2VGYWNhZGUuc2V0Q2hhcmFjdGVyRW5jb2RpbmcoY2hhcnNldCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VuZHMgYSByZWRpcmVjdCByZXNwb25zZSAoc3RhdHVzIGNvZGUgMzAyIGJ5IGRlZmF1bHQpIHRvIHRoZSBjbGllbnQuXG4gICAgICogQHBhcmFtIGxvY2F0aW9uIFRoZSBuZXcgVVJMIHRvIHJlZGlyZWN0IHRoZSBjbGllbnQgdG8uXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBzZW5kUmVkaXJlY3QobG9jYXRpb246IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBIdHRwUmVzcG9uc2VGYWNhZGUuc2VuZFJlZGlyZWN0KGxvY2F0aW9uKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBgQ29udGVudC1MZW5ndGhgIGhlYWRlciBmb3IgdGhlIHJlc3BvbnNlLlxuICAgICAqIEBwYXJhbSBsZW5ndGggVGhlIHNpemUgb2YgdGhlIHJlc3BvbnNlIGJvZHkgaW4gYnl0ZXMuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBzZXRDb250ZW50TGVuZ3RoKGxlbmd0aDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIEh0dHBSZXNwb25zZUZhY2FkZS5zZXRDb250ZW50TGVuZ3RoKGxlbmd0aCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBhIHJlc3BvbnNlIGhlYWRlciB3aXRoIHRoZSBnaXZlbiBuYW1lIGFuZCB2YWx1ZS4gSWYgdGhlIGhlYWRlciBhbHJlYWR5IGV4aXN0cywgaXRzIHZhbHVlIGlzIG92ZXJ3cml0dGVuLlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBoZWFkZXIuXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSBvZiB0aGUgaGVhZGVyLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgc2V0SGVhZGVyKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBIdHRwUmVzcG9uc2VGYWNhZGUuc2V0SGVhZGVyKG5hbWUsIHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIGEgcmVzcG9uc2UgaGVhZGVyIHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIHZhbHVlLiBJZiB0aGUgaGVhZGVyIGFscmVhZHkgZXhpc3RzLCBhIHNlY29uZCBoZWFkZXIgd2l0aCB0aGUgc2FtZSBuYW1lIGlzIGFkZGVkLlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBoZWFkZXIuXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSBvZiB0aGUgaGVhZGVyLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgYWRkSGVhZGVyKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBIdHRwUmVzcG9uc2VGYWNhZGUuYWRkSGVhZGVyKG5hbWUsIHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBIVFRQIHN0YXR1cyBjb2RlIGZvciB0aGUgcmVzcG9uc2UuXG4gICAgICogQHBhcmFtIHN0YXR1cyBUaGUgaW50ZWdlciBzdGF0dXMgY29kZSAoZS5nLiwgMjAwLCA0MDQpLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgc2V0U3RhdHVzKHN0YXR1czogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIEh0dHBSZXNwb25zZUZhY2FkZS5zZXRTdGF0dXMoc3RhdHVzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDbGVhcnMgYWxsIGJ1ZmZlcnMsIHN0YXR1cyBjb2RlLCBhbmQgaGVhZGVycyBmcm9tIHRoZSByZXNwb25zZSwgYWxsb3dpbmcgYSBuZXcgcmVzcG9uc2UgdG8gYmUgZ2VuZXJhdGVkLlxuICAgICAqIFRoaXMgaXMgb25seSBwb3NzaWJsZSBpZiB0aGUgcmVzcG9uc2UgaGFzIG5vdCB5ZXQgYmVlbiBjb21taXR0ZWQuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyByZXNldCgpOiB2b2lkIHtcbiAgICAgICAgSHR0cFJlc3BvbnNlRmFjYWRlLnJlc2V0KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgdmFsdWUgb2YgYSBzcGVjaWZpYyBoZWFkZXIuIElmIG11bHRpcGxlIGhlYWRlcnMgd2l0aCB0aGUgc2FtZSBuYW1lIGV4aXN0LCBpdCByZXR1cm5zIHRoZSBmaXJzdCBvbmUuXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGhlYWRlci5cbiAgICAgKiBAcmV0dXJucyBUaGUgaGVhZGVyIHZhbHVlIHN0cmluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldEhlYWRlcihuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gSHR0cFJlc3BvbnNlRmFjYWRlLmdldEhlYWRlcihuYW1lKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBsb2NhbGUgZm9yIHRoZSByZXNwb25zZSwgd2hpY2ggbWF5IGFmZmVjdCBsYW5ndWFnZSBhbmQgZGF0ZS90aW1lIGZvcm1hdHRpbmcuXG4gICAgICogQHBhcmFtIGxhbmd1YWdlIFRoZSBsYW5ndWFnZSBjb2RlIChlLmcuLCAnZW4nLCAnZnInKS5cbiAgICAgKiBAcGFyYW0gY291bnRyeSBUaGUgb3B0aW9uYWwgY291bnRyeSBjb2RlIChlLmcuLCAnVVMnLCAnR0InKS5cbiAgICAgKiBAcGFyYW0gdmFyaWFudCBUaGUgb3B0aW9uYWwgdmFyaWFudCBjb2RlLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgc2V0TG9jYWxlKGxhbmd1YWdlOiBzdHJpbmcsIGNvdW50cnk/OiBzdHJpbmcsIHZhcmlhbnQ/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgcmV0dXJuIEh0dHBSZXNwb25zZUZhY2FkZS5zZXRMb2NhbGUobGFuZ3VhZ2UsIGNvdW50cnksIHZhcmlhbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYWxsIGhlYWRlciB2YWx1ZXMgZm9yIGEgc3BlY2lmaWMgaGVhZGVyIG5hbWUgYXMgYW4gYXJyYXkgb2Ygc3RyaW5ncy5cbiAgICAgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgaGVhZGVyLlxuICAgICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIGhlYWRlciB2YWx1ZXMuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZXRIZWFkZXJzKG5hbWU6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UoSHR0cFJlc3BvbnNlRmFjYWRlLmdldEhlYWRlcnMobmFtZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIG5hbWVzIG9mIGFsbCBoZWFkZXJzIHRoYXQgaGF2ZSBiZWVuIHNldCBvbiB0aGUgcmVzcG9uc2UuXG4gICAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgaGVhZGVyIG5hbWVzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0SGVhZGVyTmFtZXMoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShIdHRwUmVzcG9uc2VGYWNhZGUuZ2V0SGVhZGVyTmFtZXMoKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgY3VycmVudGx5IHNldCBsb2NhbGUgc3RyaW5nIGZvciB0aGUgcmVzcG9uc2UuXG4gICAgICogQHJldHVybnMgVGhlIGxvY2FsZSBzdHJpbmcuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZXRMb2NhbGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEh0dHBSZXNwb25zZUZhY2FkZS5nZXRMb2NhbGUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB1bmRlcmx5aW5nIG91dHB1dCBzdHJlYW0gb2JqZWN0LCB3cmFwcGVkIGluIHRoZSBTREsncyBgT3V0cHV0U3RyZWFtYCBjbGFzcy5cbiAgICAgKiBUaGlzIGlzIHVzZWZ1bCBmb3Igd3JpdGluZyByYXcgb3IgbGFyZ2UgYW1vdW50cyBvZiBkYXRhLlxuICAgICAqIEByZXR1cm5zIFRoZSBvdXRwdXQgc3RyZWFtIG9iamVjdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldE91dHB1dFN0cmVhbSgpOiBPdXRwdXRTdHJlYW0ge1xuICAgICAgICByZXR1cm4gbmV3IE91dHB1dFN0cmVhbShIdHRwUmVzcG9uc2VGYWNhZGUuZ2V0T3V0cHV0U3RyZWFtKCkpO1xuICAgIH1cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBSZXNwb25zZTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BLHFCQUE2QjtBQUU3QixNQUFNLHFCQUFxQixLQUFLLEtBQUssOERBQThEO0FBQ25HLE1BQU0scUJBQXFCLEtBQUssS0FBSyw0QkFBNEI7QUFDakUsTUFBTSxtQkFBbUIsS0FBSyxLQUFLLG1DQUFtQztBQWtCL0QsTUFBTSxTQUFTO0FBQUEsRUFJbEI7QUFBQTtBQUFBLFNBQXVCLFdBQVc7QUFBQTtBQUFBLEVBQ2xDO0FBQUEsU0FBdUIsY0FBYztBQUFBO0FBQUEsRUFDckM7QUFBQSxTQUF1QixjQUFjO0FBQUE7QUFBQSxFQUNyQztBQUFBLFNBQXVCLFdBQVc7QUFBQTtBQUFBLEVBQ2xDO0FBQUEsU0FBdUIsV0FBVztBQUFBO0FBQUEsRUFDbEM7QUFBQSxTQUF1QixVQUFVO0FBQUE7QUFBQSxFQUNqQztBQUFBLFNBQXVCLHFCQUFxQjtBQUFBO0FBQUEsRUFDNUM7QUFBQSxTQUF1QixZQUFZO0FBQUE7QUFBQSxFQUNuQztBQUFBLFNBQXVCLFFBQVE7QUFBQTtBQUFBLEVBQy9CO0FBQUEsU0FBdUIsa0JBQWtCO0FBQUE7QUFBQSxFQUN6QztBQUFBLFNBQXVCLE9BQU87QUFBQTtBQUFBLEVBQzlCO0FBQUEsU0FBdUIsNkJBQTZCO0FBQUE7QUFBQSxFQUNwRDtBQUFBLFNBQXVCLHdCQUF3QjtBQUFBO0FBQUEsRUFDL0M7QUFBQSxTQUF1QixrQkFBa0I7QUFBQTtBQUFBLEVBQ3pDO0FBQUEsU0FBdUIscUJBQXFCO0FBQUE7QUFBQSxFQUM1QztBQUFBLFNBQXVCLG9CQUFvQjtBQUFBO0FBQUEsRUFDM0M7QUFBQSxTQUF1QixvQkFBb0I7QUFBQTtBQUFBLEVBQzNDO0FBQUEsU0FBdUIsbUJBQW1CO0FBQUE7QUFBQSxFQUMxQztBQUFBLFNBQXVCLGFBQWE7QUFBQTtBQUFBLEVBQ3BDO0FBQUEsU0FBdUIsZ0NBQWdDO0FBQUE7QUFBQSxFQUN2RDtBQUFBLFNBQXVCLGlCQUFpQjtBQUFBO0FBQUEsRUFDeEM7QUFBQSxTQUF1QixZQUFZO0FBQUE7QUFBQSxFQUNuQztBQUFBLFNBQXVCLGtCQUFrQjtBQUFBO0FBQUEsRUFDekM7QUFBQSxTQUF1QixlQUFlO0FBQUE7QUFBQSxFQUN0QztBQUFBLFNBQXVCLEtBQUs7QUFBQTtBQUFBLEVBQzVCO0FBQUEsU0FBdUIsa0JBQWtCO0FBQUE7QUFBQSxFQUN6QztBQUFBLFNBQXVCLG1CQUFtQjtBQUFBO0FBQUEsRUFDMUM7QUFBQSxTQUF1QixzQkFBc0I7QUFBQTtBQUFBLEVBQzdDO0FBQUEsU0FBdUIsZ0NBQWdDO0FBQUE7QUFBQSxFQUN2RDtBQUFBLFNBQXVCLDJCQUEyQjtBQUFBO0FBQUEsRUFDbEQ7QUFBQSxTQUF1QixrQkFBa0I7QUFBQTtBQUFBLEVBQ3pDO0FBQUEsU0FBdUIsdUJBQXVCO0FBQUE7QUFBQSxFQUM5QztBQUFBLFNBQXVCLGtDQUFrQztBQUFBO0FBQUEsRUFDekQ7QUFBQSxTQUF1QixnQkFBZ0I7QUFBQTtBQUFBLEVBQ3ZDO0FBQUEsU0FBdUIsWUFBWTtBQUFBO0FBQUEsRUFDbkM7QUFBQSxTQUF1QixzQkFBc0I7QUFBQTtBQUFBLEVBQzdDO0FBQUEsU0FBdUIsc0JBQXNCO0FBQUE7QUFBQSxFQUM3QztBQUFBLFNBQXVCLHFCQUFxQjtBQUFBO0FBQUEsRUFDNUM7QUFBQSxTQUF1QixlQUFlO0FBQUE7QUFBQSxFQUN0QztBQUFBLFNBQXVCLHlCQUF5QjtBQUFBO0FBQUEsRUFDaEQ7QUFBQSxTQUF1QixZQUFZO0FBQUE7QUFBQSxFQUNuQztBQUFBLFNBQXVCLHdCQUF3QjtBQUFBO0FBQUEsRUFNL0M7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLFNBQXVCLG1CQUFtQjtBQUFBLE1BQ3RDLE9BQU87QUFBQSxNQUFZLE9BQU87QUFBQSxNQUF1QixPQUFPO0FBQUEsTUFBTSxPQUFPO0FBQUEsTUFDckUsT0FBTztBQUFBLE1BQVksT0FBTztBQUFBLE1BQWlDLE9BQU87QUFBQSxNQUNsRSxPQUFPO0FBQUEsTUFBaUIsT0FBTztBQUFBLE1BQW1CLE9BQU87QUFBQSxNQUN6RCxPQUFPO0FBQUEsTUFBcUIsT0FBTztBQUFBLE1BQVMsT0FBTztBQUFBLE1BQWEsT0FBTztBQUFBLE1BQ3ZFLE9BQU87QUFBQSxNQUFhLE9BQU87QUFBQSxNQUFzQixPQUFPO0FBQUEsTUFDeEQsT0FBTztBQUFBLE1BQWdCLE9BQU87QUFBQSxNQUFvQixPQUFPO0FBQUEsTUFDekQsT0FBTztBQUFBLE1BQWEsT0FBTztBQUFBLE1BQXNCLE9BQU87QUFBQSxNQUN4RCxPQUFPO0FBQUEsTUFBaUMsT0FBTztBQUFBLE1BQW1CLE9BQU87QUFBQSxNQUN6RSxPQUFPO0FBQUEsTUFBUSxPQUFPO0FBQUEsTUFBbUIsT0FBTztBQUFBLE1BQ2hELE9BQU87QUFBQSxNQUFxQixPQUFPO0FBQUEsTUFBaUIsT0FBTztBQUFBLE1BQzNELE9BQU87QUFBQSxNQUF5QixPQUFPO0FBQUEsTUFBc0IsT0FBTztBQUFBLE1BQ3BFLE9BQU87QUFBQSxNQUFvQixPQUFPO0FBQUEsTUFBeUIsT0FBTztBQUFBLE1BQ2xFLE9BQU87QUFBQSxNQUFlLE9BQU87QUFBQSxNQUF1QixPQUFPO0FBQUEsTUFDM0QsT0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLE1BUVAsV0FBVyxDQUFDLFNBQXlCO0FBQ2pDLFlBQUksTUFBTSxJQUFJLEtBQUssT0FBTyxPQUFPLE9BQU8sS0FBSztBQUN6QyxnQkFBTSxNQUFNLCtCQUErQixPQUFPLGlFQUFpRTtBQUFBLFFBQ3ZIO0FBQ0EsZUFBTyxTQUFTLGlCQUFpQixPQUFPLElBQUksQ0FBQztBQUFBLE1BQ2pEO0FBQUEsSUFDSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1BLE9BQWMsVUFBbUI7QUFDN0IsV0FBTyxtQkFBbUIsUUFBUTtBQUFBLEVBQ3RDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT0EsT0FBYyxLQUFLLEtBQWdCO0FBQy9CLGFBQVMsVUFBVSxnQkFBZ0Isa0JBQWtCO0FBQ3JELFVBQU0sVUFBVSxLQUFLLFVBQVUsR0FBRztBQUNsQyxhQUFTLE1BQU0sT0FBTztBQUFBLEVBQzFCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT0EsT0FBYyxNQUFNLE1BQW9CO0FBQ3BDLFdBQVEsUUFBUSxLQUFLLFNBQVMsS0FBTTtBQUNwQyxVQUFNLE1BQU0sU0FBUyxnQkFBZ0IsRUFBRTtBQUV2QyxVQUFNLFNBQVMsSUFBSSxtQkFBbUIsS0FBSyxpQkFBaUIsS0FBSztBQUNqRSxXQUFPLE1BQU0sSUFBSTtBQUNqQixXQUFPLE1BQU07QUFBQSxFQUNqQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLE9BQWMsUUFBUSxNQUFvQjtBQUN0QyxXQUFRLFFBQVEsS0FBSyxTQUFTLEtBQU07QUFDcEMsVUFBTSxNQUFNLFNBQVMsZ0JBQWdCLEVBQUU7QUFDdkMsVUFBTSxTQUFTLElBQUksbUJBQW1CLEtBQUssaUJBQWlCLEtBQUs7QUFDakUsV0FBTyxNQUFNLElBQUk7QUFDakIsV0FBTyxNQUFNLElBQUk7QUFDakIsV0FBTyxNQUFNO0FBQUEsRUFDakI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsT0FBYyxNQUFNLE9BQW9CO0FBQ3BDLFFBQUksQ0FBQyxPQUFPO0FBQ1IsY0FBUSxDQUFDO0FBQUEsSUFDYjtBQUNBLHVCQUFtQixNQUFNLEtBQUs7QUFBQSxFQUNsQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNQSxPQUFjLGNBQXVCO0FBQ2pDLFdBQU8sbUJBQW1CLFlBQVk7QUFBQSxFQUMxQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNQSxPQUFjLGVBQWUsYUFBMkI7QUFDcEQsdUJBQW1CLGVBQWUsV0FBVztBQUFBLEVBQ2pEO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLQSxPQUFjLFFBQWM7QUFDeEIsdUJBQW1CLE1BQU07QUFBQSxFQUM3QjtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0EsT0FBYyxRQUFjO0FBQ3hCLHVCQUFtQixNQUFNO0FBQUEsRUFDN0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxPQUFjLFVBQVUsUUFBc0I7QUFDMUMsdUJBQW1CLFVBQVUsS0FBSyxVQUFVLE1BQU0sQ0FBQztBQUFBLEVBQ3ZEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT0EsT0FBYyxlQUFlLE1BQXVCO0FBQ2hELFdBQU8sbUJBQW1CLGVBQWUsSUFBSTtBQUFBLEVBQ2pEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT0EsT0FBYyxVQUFVLEtBQXFCO0FBQ3pDLFdBQU8sbUJBQW1CLFVBQVUsR0FBRztBQUFBLEVBQzNDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1BLE9BQWMsdUJBQStCO0FBQ3pDLFdBQU8sbUJBQW1CLHFCQUFxQjtBQUFBLEVBQ25EO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT0EsT0FBYyxrQkFBa0IsS0FBcUI7QUFDakQsV0FBTyxtQkFBbUIsa0JBQWtCLEdBQUc7QUFBQSxFQUNuRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNQSxPQUFjLGlCQUF5QjtBQUNuQyxXQUFPLG1CQUFtQixlQUFlO0FBQUEsRUFDN0M7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFBLE9BQWMsVUFBVSxRQUFnQixTQUF3QjtBQUM1RCx1QkFBbUIsVUFBVSxRQUFRLE9BQU87QUFBQSxFQUNoRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNQSxPQUFjLHFCQUFxQixTQUF1QjtBQUN0RCx1QkFBbUIscUJBQXFCLE9BQU87QUFBQSxFQUNuRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNQSxPQUFjLGFBQWEsVUFBd0I7QUFDL0MsdUJBQW1CLGFBQWEsUUFBUTtBQUFBLEVBQzVDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1BLE9BQWMsaUJBQWlCLFFBQXNCO0FBQ2pELHVCQUFtQixpQkFBaUIsTUFBTTtBQUFBLEVBQzlDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT0EsT0FBYyxVQUFVLE1BQWMsT0FBcUI7QUFDdkQsdUJBQW1CLFVBQVUsTUFBTSxLQUFLO0FBQUEsRUFDNUM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxPQUFjLFVBQVUsTUFBYyxPQUFxQjtBQUN2RCx1QkFBbUIsVUFBVSxNQUFNLEtBQUs7QUFBQSxFQUM1QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNQSxPQUFjLFVBQVUsUUFBc0I7QUFDMUMsdUJBQW1CLFVBQVUsTUFBTTtBQUFBLEVBQ3ZDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1BLE9BQWMsUUFBYztBQUN4Qix1QkFBbUIsTUFBTTtBQUFBLEVBQzdCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT0EsT0FBYyxVQUFVLE1BQXNCO0FBQzFDLFdBQU8sbUJBQW1CLFVBQVUsSUFBSTtBQUFBLEVBQzVDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxPQUFjLFVBQVUsVUFBa0IsU0FBa0IsU0FBd0I7QUFDaEYsV0FBTyxtQkFBbUIsVUFBVSxVQUFVLFNBQVMsT0FBTztBQUFBLEVBQ2xFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT0EsT0FBYyxXQUFXLE1BQXdCO0FBQzdDLFdBQU8sS0FBSyxNQUFNLG1CQUFtQixXQUFXLElBQUksQ0FBQztBQUFBLEVBQ3pEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1BLE9BQWMsaUJBQTJCO0FBQ3JDLFdBQU8sS0FBSyxNQUFNLG1CQUFtQixlQUFlLENBQUM7QUFBQSxFQUN6RDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNQSxPQUFjLFlBQW9CO0FBQzlCLFdBQU8sbUJBQW1CLFVBQVU7QUFBQSxFQUN4QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLE9BQWMsa0JBQWdDO0FBQzFDLFdBQU8sSUFBSSw0QkFBYSxtQkFBbUIsZ0JBQWdCLENBQUM7QUFBQSxFQUNoRTtBQUNKO0FBR0EsSUFBSSxPQUFPLFdBQVcsYUFBYTtBQUVsQyxTQUFPLFVBQVU7QUFDbEI7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -0,0 +1,32 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var resource_common_exports = {};
19
+ __export(resource_common_exports, {
20
+ handlerFunction: () => handlerFunction
21
+ });
22
+ module.exports = __toCommonJS(resource_common_exports);
23
+ function handlerFunction(thiz, configuration, sHandlerFuncName, fHandler) {
24
+ if (fHandler !== void 0) {
25
+ if (typeof fHandler !== "function" && typeof fHandler !== "string") {
26
+ throw new Error(`Invalid argument: ${sHandlerFuncName} method argument must be a valid javascript function or string, but instead is ${typeof fHandler}`);
27
+ }
28
+ configuration[sHandlerFuncName] = fHandler;
29
+ }
30
+ return thiz;
31
+ }
32
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2h0dHAvcnMvcmVzb3VyY2UtY29tbW9uLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvbW1tb24gZnVuY3Rpb24gZm9yIGluaXRpYWxpem5nIHRoZSBjYWxsYmFjayBmdW5jdGlvbnMgaW4gdGhlIFJlc291cmNlTWV0aG9kIGluc3RhbmNlcy5cbiAqXG4gKiBAcGFyYW0gdGhpeiBUaGUgUmVzb3VyY2VNZXRob2QgaW5zdGFuY2UgdG8gd2hpY2ggdGhlIGZ1bmN0aW9uIGlzIGJvdW5kIChvciBSZXNvdXJjZSBpbnN0YW5jZSBpbiB0aGUgY2FzZSBvZiByZWRpcmVjdCkuXG4gKiBAcGFyYW0gY29uZmlndXJhdGlvbiBUaGUgY29uZmlndXJhdGlvbiBvYmplY3Qgd2hlcmUgdGhlIGhhbmRsZXIgd2lsbCBiZSBhdHRhY2hlZC5cbiAqIEBwYXJhbSBzSGFuZGxlckZ1bmNOYW1lIFRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbiB0aGF0IHdpbGwgYmUgYXR0YWNoZWQgdG8gdGhlIHJlc291cmNlIG1hcHBpbmdzIGNvbmZpZ3VyYXRpb24gKGUuZy4sICdzZXJ2ZScsICdyZWRpcmVjdCcpLlxuICogQHBhcmFtIGZIYW5kbGVyIFRoZSBoYW5kbGVyIGZ1bmN0aW9uIG9yIHZhbHVlIHRoYXQgd2lsbCBiZSBhdHRhY2hlZCB0byB0aGUgcmVzb3VyY2UgbWFwcGluZ3MgY29uZmlndXJhdGlvbi5cbiAqIEByZXR1cm5zIFRoZSBpbnN0YW5jZSBwYXNzZWQgaW4gYXMgJ3RoaXonIGZvciBtZXRob2QgY2hhaW5pbmcuXG4gKiBAcHJpdmF0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlckZ1bmN0aW9uKHRoaXo6IGFueSwgY29uZmlndXJhdGlvbjogYW55LCBzSGFuZGxlckZ1bmNOYW1lOiBzdHJpbmcsIGZIYW5kbGVyOiBGdW5jdGlvbiB8IHN0cmluZyk6IGFueSB7XG4gICAgaWYgKGZIYW5kbGVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgLy8gSWYgZkhhbmRsZXIgaXMgYSBzdHJpbmcgKG9ubHkgdXNlZCBmb3IgJ3JlZGlyZWN0JyksIGl0J3MgdmFsaWQuXG4gICAgICAgIC8vIElmIGZIYW5kbGVyIGlzIGEgZnVuY3Rpb24sIGl0J3MgdmFsaWQuXG4gICAgICAgIGlmICh0eXBlb2YgZkhhbmRsZXIgIT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIGZIYW5kbGVyICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFyZ3VtZW50OiAke3NIYW5kbGVyRnVuY05hbWV9IG1ldGhvZCBhcmd1bWVudCBtdXN0IGJlIGEgdmFsaWQgamF2YXNjcmlwdCBmdW5jdGlvbiBvciBzdHJpbmcsIGJ1dCBpbnN0ZWFkIGlzICR7dHlwZW9mIGZIYW5kbGVyfWApO1xuICAgICAgICB9XG4gICAgICAgIGNvbmZpZ3VyYXRpb25bc0hhbmRsZXJGdW5jTmFtZV0gPSBmSGFuZGxlcjtcbiAgICB9XG5cbiAgICAvLyBSZXR1cm4gdGhlIGNoYWluaW5nIG9iamVjdCAoUmVzb3VyY2Ugb3IgUmVzb3VyY2VNZXRob2QpXG4gICAgcmV0dXJuIHRoaXo7XG59Il0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBVU8sU0FBUyxnQkFBZ0IsTUFBVyxlQUFvQixrQkFBMEIsVUFBa0M7QUFDdkgsTUFBSSxhQUFhLFFBQVc7QUFHeEIsUUFBSSxPQUFPLGFBQWEsY0FBYyxPQUFPLGFBQWEsVUFBVTtBQUNoRSxZQUFNLElBQUksTUFBTSxxQkFBcUIsZ0JBQWdCLGtGQUFrRixPQUFPLFFBQVEsRUFBRTtBQUFBLElBQzVKO0FBQ0Esa0JBQWMsZ0JBQWdCLElBQUk7QUFBQSxFQUN0QztBQUdBLFNBQU87QUFDWDsiLAogICJuYW1lcyI6IFtdCn0K