@gnwebsoft/ui 4.0.0 → 4.0.2

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 (56) hide show
  1. package/dist/chunk-BXF3QEBN.js +2181 -0
  2. package/dist/chunk-DS524L7W.cjs +467 -0
  3. package/dist/chunk-FYU2OIMD.js +15 -0
  4. package/dist/chunk-GHW77WIM.cjs +72 -0
  5. package/dist/chunk-GLN5JSFF.cjs +2181 -0
  6. package/dist/chunk-GVWCGJ3F.js +140 -0
  7. package/dist/chunk-LUW7V5GI.cjs +15 -0
  8. package/dist/chunk-M526GQZS.js +2490 -0
  9. package/dist/chunk-MULSVYFT.js +72 -0
  10. package/dist/chunk-MVPLBJRK.cjs +1 -1
  11. package/dist/chunk-PUQIPRL2.js +467 -0
  12. package/dist/chunk-QLQ6OH25.cjs +2490 -0
  13. package/dist/chunk-Y3QTSDLJ.cjs +140 -0
  14. package/dist/core/index.cjs +121 -0
  15. package/dist/core/index.js +121 -0
  16. package/dist/hooks/index.cjs +3 -3
  17. package/dist/hooks/index.js +1 -1
  18. package/dist/index.cjs +85 -7
  19. package/dist/index.js +147 -69
  20. package/dist/types/index.cjs +3 -3
  21. package/dist/types/index.js +1 -1
  22. package/dist/utils/index.cjs +4 -24
  23. package/dist/utils/index.js +6 -26
  24. package/dist/wrappers/index.cjs +7 -4
  25. package/dist/wrappers/index.js +21 -18
  26. package/package.json +22 -17
  27. package/dist/AsyncSelectPayload-B9-6l33R.d.cts +0 -10
  28. package/dist/AsyncSelectPayload-B9-6l33R.d.ts +0 -10
  29. package/dist/chunk-3OPVOWQK.js +0 -140
  30. package/dist/chunk-AEOF2TUF.cjs +0 -2273
  31. package/dist/chunk-ALHC7RLK.js +0 -575
  32. package/dist/chunk-BRRLB22L.js +0 -72
  33. package/dist/chunk-CHZU4PZB.js +0 -2273
  34. package/dist/chunk-EBRUE2WR.cjs +0 -493
  35. package/dist/chunk-HEHPKM4B.cjs +0 -140
  36. package/dist/chunk-K2EJ4YKO.cjs +0 -72
  37. package/dist/chunk-U6SDYCWF.js +0 -493
  38. package/dist/chunk-XY4U6A77.cjs +0 -575
  39. package/dist/components/index.cjs +0 -25
  40. package/dist/components/index.d.cts +0 -752
  41. package/dist/components/index.d.ts +0 -752
  42. package/dist/components/index.js +0 -25
  43. package/dist/enhanced-CDTkKUlj.d.ts +0 -134
  44. package/dist/enhanced-ZQoS03Cd.d.cts +0 -134
  45. package/dist/events-BcHVCLBz.d.cts +0 -77
  46. package/dist/events-BcHVCLBz.d.ts +0 -77
  47. package/dist/hooks/index.d.cts +0 -96
  48. package/dist/hooks/index.d.ts +0 -96
  49. package/dist/index.d.cts +0 -16
  50. package/dist/index.d.ts +0 -16
  51. package/dist/types/index.d.cts +0 -820
  52. package/dist/types/index.d.ts +0 -820
  53. package/dist/utils/index.d.cts +0 -683
  54. package/dist/utils/index.d.ts +0 -683
  55. package/dist/wrappers/index.d.cts +0 -1753
  56. package/dist/wrappers/index.d.ts +0 -1753
@@ -0,0 +1,72 @@
1
+ // src/types/api.ts
2
+ function isJsonObject(value) {
3
+ return typeof value === "object" && value !== null && !Array.isArray(value) && !(value instanceof FormData);
4
+ }
5
+ function isJsonArray(value) {
6
+ return Array.isArray(value);
7
+ }
8
+ function isFormData(value) {
9
+ return value instanceof FormData;
10
+ }
11
+ function isRequestBody(value) {
12
+ return isJsonObject(value) || isJsonArray(value) || isFormData(value);
13
+ }
14
+
15
+ // src/types/events.ts
16
+ function isInputChangeEvent(value) {
17
+ return typeof value === "object" && value !== null && "target" in value && typeof value.target === "object" && value.target !== null && "value" in value.target;
18
+ }
19
+ function isSelectChangeEvent(value) {
20
+ return isInputChangeEvent(value);
21
+ }
22
+ function isFormChangeEvent(value) {
23
+ return isInputChangeEvent(value) || isSelectChangeEvent(value);
24
+ }
25
+ function extractEventValue(eventOrValue, fallbackValue) {
26
+ if (isFormChangeEvent(eventOrValue)) {
27
+ return eventOrValue.target.value;
28
+ }
29
+ if (typeof eventOrValue === "object" && eventOrValue !== null && "target" in eventOrValue && typeof eventOrValue.target === "object" && eventOrValue.target !== null && "value" in eventOrValue.target) {
30
+ return eventOrValue.target.value;
31
+ }
32
+ return eventOrValue ?? fallbackValue;
33
+ }
34
+ function createEventValueExtractor() {
35
+ return (eventOrValue, directValue) => {
36
+ if (directValue !== void 0) {
37
+ return directValue;
38
+ }
39
+ return extractEventValue(eventOrValue);
40
+ };
41
+ }
42
+
43
+ // src/types/utilities.ts
44
+ function brand(value) {
45
+ return value;
46
+ }
47
+ function typedKeys(obj) {
48
+ return Object.keys(obj);
49
+ }
50
+ function typedEntries(obj) {
51
+ return Object.entries(obj);
52
+ }
53
+ function typedValues(obj) {
54
+ return Object.values(obj);
55
+ }
56
+
57
+ export {
58
+ isJsonObject,
59
+ isJsonArray,
60
+ isFormData,
61
+ isRequestBody,
62
+ isInputChangeEvent,
63
+ isSelectChangeEvent,
64
+ isFormChangeEvent,
65
+ extractEventValue,
66
+ createEventValueExtractor,
67
+ brand,
68
+ typedKeys,
69
+ typedEntries,
70
+ typedValues
71
+ };
72
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3R5cGVzL2FwaS50cyIsICIuLi9zcmMvdHlwZXMvZXZlbnRzLnRzIiwgIi4uL3NyYy90eXBlcy91dGlsaXRpZXMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogVHlwZS1zYWZlIEFQSSByZXF1ZXN0IGFuZCByZXNwb25zZSB1dGlsaXRpZXNcbiAqIEBtb2R1bGUgdHlwZXMvYXBpXG4gKi9cblxuLyoqXG4gKiBIVFRQIG1ldGhvZHMgc3VwcG9ydGVkIGJ5IHRoZSBBUElcbiAqL1xuZXhwb3J0IHR5cGUgSHR0cE1ldGhvZCA9ICdHRVQnIHwgJ1BPU1QnIHwgJ1BVVCcgfCAnREVMRVRFJyB8ICdQQVRDSCc7XG5cbi8qKlxuICogVmFsaWQgSlNPTiBwcmltaXRpdmUgdHlwZXMgdGhhdCBjYW4gYmUgc2VudCBpbiByZXF1ZXN0IGJvZGllc1xuICovXG5leHBvcnQgdHlwZSBKc29uUHJpbWl0aXZlID0gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IG51bGw7XG5cbi8qKlxuICogVmFsaWQgSlNPTiB2YWx1ZXMgKHByaW1pdGl2ZXMsIG9iamVjdHMsIGFycmF5cylcbiAqL1xuZXhwb3J0IHR5cGUgSnNvblZhbHVlID0gSnNvblByaW1pdGl2ZSB8IEpzb25PYmplY3QgfCBKc29uQXJyYXk7XG5cbi8qKlxuICogSlNPTiBvYmplY3Qgd2l0aCBzdHJpbmcga2V5cyBhbmQgSlNPTiB2YWx1ZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBKc29uT2JqZWN0IHtcbiAgW2tleTogc3RyaW5nXTogSnNvblZhbHVlO1xufVxuXG4vKipcbiAqIEpTT04gYXJyYXkgY29udGFpbmluZyBKU09OIHZhbHVlc1xuICovXG5leHBvcnQgdHlwZSBKc29uQXJyYXkgPSBKc29uVmFsdWVbXTtcblxuLyoqXG4gKiBUeXBlLXNhZmUgcmVxdWVzdCBib2R5IC0gbXVzdCBiZSBKU09OLXNlcmlhbGl6YWJsZVxuICovXG5leHBvcnQgdHlwZSBSZXF1ZXN0Qm9keSA9IEpzb25PYmplY3QgfCBKc29uQXJyYXkgfCBGb3JtRGF0YTtcblxuLyoqXG4gKiBTdGFuZGFyZCBIVFRQIGhlYWRlcnMgd2l0aCBrbm93biBoZWFkZXIgbmFtZXNcbiAqL1xuZXhwb3J0IHR5cGUgSHR0cEhlYWRlcnMgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIG1ha2luZyBIVFRQIHJlcXVlc3RzIChiYXNlZCBvbiBmZXRjaCBBUEkpXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdE9wdGlvbnMge1xuICAvKipcbiAgICogSFRUUCBtZXRob2QgZm9yIHRoZSByZXF1ZXN0XG4gICAqL1xuICBtZXRob2Q6IEh0dHBNZXRob2Q7XG4gIC8qKlxuICAgKiBSZXF1ZXN0IGhlYWRlcnNcbiAgICovXG4gIGhlYWRlcnM/OiBIdHRwSGVhZGVycztcbiAgLyoqXG4gICAqIFJlcXVlc3QgYm9keSAoc3RyaW5nIGZvciBKU09OLCBGb3JtRGF0YSBmb3IgZmlsZSB1cGxvYWRzKVxuICAgKi9cbiAgYm9keT86IHN0cmluZyB8IEZvcm1EYXRhO1xuICAvKipcbiAgICogUmVxdWVzdCBjcmVkZW50aWFscyBtb2RlXG4gICAqL1xuICBjcmVkZW50aWFscz86IFJlcXVlc3RDcmVkZW50aWFscztcbiAgLyoqXG4gICAqIFJlcXVlc3QgbW9kZSAoY29ycywgbm8tY29ycywgc2FtZS1vcmlnaW4pXG4gICAqL1xuICBtb2RlPzogUmVxdWVzdE1vZGU7XG4gIC8qKlxuICAgKiBDYWNoZSBtb2RlIGZvciB0aGUgcmVxdWVzdFxuICAgKi9cbiAgY2FjaGU/OiBSZXF1ZXN0Q2FjaGU7XG4gIC8qKlxuICAgKiBSZWRpcmVjdCBtb2RlIGZvciB0aGUgcmVxdWVzdFxuICAgKi9cbiAgcmVkaXJlY3Q/OiBSZXF1ZXN0UmVkaXJlY3Q7XG4gIC8qKlxuICAgKiBSZWZlcnJlciBwb2xpY3kgZm9yIHRoZSByZXF1ZXN0XG4gICAqL1xuICByZWZlcnJlclBvbGljeT86IFJlZmVycmVyUG9saWN5O1xuICAvKipcbiAgICogQWJvcnRTaWduYWwgZm9yIHJlcXVlc3QgY2FuY2VsbGF0aW9uXG4gICAqL1xuICBzaWduYWw/OiBBYm9ydFNpZ25hbDtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIEFQSSBjYWxsc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwaUNhbGxPcHRpb25zIHtcbiAgLyoqXG4gICAqIEN1c3RvbSBoZWFkZXJzIHRvIGluY2x1ZGUgaW4gdGhlIHJlcXVlc3RcbiAgICovXG4gIGhlYWRlcnM/OiBIdHRwSGVhZGVycztcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gaW5jbHVkZSBhdXRoZW50aWNhdGlvbiB0b2tlblxuICAgKiBAZGVmYXVsdFZhbHVlIHRydWVcbiAgICovXG4gIGluY2x1ZGVBdXRoPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFib3J0U2lnbmFsIGZvciByZXF1ZXN0IGNhbmNlbGxhdGlvblxuICAgKi9cbiAgc2lnbmFsPzogQWJvcnRTaWduYWw7XG4gIC8qKlxuICAgKiBDdXN0b20gYmFzZSBVUkwgKG92ZXJyaWRlcyBkZWZhdWx0KVxuICAgKi9cbiAgYmFzZVVybD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBmZXRjaCBvcGVyYXRpb25zIHdpdGggYW55IGFkZGl0aW9uYWwgcGFyYW1ldGVyc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEZldGNoT3B0aW9ucyBleHRlbmRzIE9taXQ8UmVxdWVzdEluaXQsICdib2R5JyB8ICdoZWFkZXJzJz4ge1xuICAvKipcbiAgICogUmVxdWVzdCBoZWFkZXJzXG4gICAqL1xuICBoZWFkZXJzPzogSHR0cEhlYWRlcnM7XG4gIC8qKlxuICAgKiBSZXF1ZXN0IGJvZHlcbiAgICovXG4gIGJvZHk/OiBSZXF1ZXN0Qm9keTtcbn1cblxuLyoqXG4gKiBUeXBlIGd1YXJkIHRvIGNoZWNrIGlmIGEgdmFsdWUgaXMgYSB2YWxpZCBKU09OIG9iamVjdFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNKc29uT2JqZWN0KHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgSnNvbk9iamVjdCB7XG4gIHJldHVybiAoXG4gICAgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJlxuICAgIHZhbHVlICE9PSBudWxsICYmXG4gICAgIUFycmF5LmlzQXJyYXkodmFsdWUpICYmXG4gICAgISh2YWx1ZSBpbnN0YW5jZW9mIEZvcm1EYXRhKVxuICApO1xufVxuXG4vKipcbiAqIFR5cGUgZ3VhcmQgdG8gY2hlY2sgaWYgYSB2YWx1ZSBpcyBhIHZhbGlkIEpTT04gYXJyYXlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzSnNvbkFycmF5KHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgSnNvbkFycmF5IHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpO1xufVxuXG4vKipcbiAqIFR5cGUgZ3VhcmQgdG8gY2hlY2sgaWYgYSB2YWx1ZSBpcyBGb3JtRGF0YVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNGb3JtRGF0YSh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIEZvcm1EYXRhIHtcbiAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgRm9ybURhdGE7XG59XG5cbi8qKlxuICogVHlwZSBndWFyZCB0byBjaGVjayBpZiBhIHZhbHVlIGlzIGEgdmFsaWQgcmVxdWVzdCBib2R5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1JlcXVlc3RCb2R5KHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgUmVxdWVzdEJvZHkge1xuICByZXR1cm4gaXNKc29uT2JqZWN0KHZhbHVlKSB8fCBpc0pzb25BcnJheSh2YWx1ZSkgfHwgaXNGb3JtRGF0YSh2YWx1ZSk7XG59XG4iLCAiLyoqXG4gKiBUeXBlLXNhZmUgRE9NIGV2ZW50IGFuZCBoYW5kbGVyIHV0aWxpdGllcyBmb3IgZm9ybSB0cmFuc2Zvcm1hdGlvbnNcbiAqIEBtb2R1bGUgdHlwZXMvZXZlbnRzXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBDaGFuZ2VFdmVudCwgU3ludGhldGljRXZlbnQgfSBmcm9tICdyZWFjdCc7XG5cbi8qKlxuICogSFRNTCBpbnB1dCBlbGVtZW50cyB0aGF0IHN1cHBvcnQgdGhlIG9uQ2hhbmdlIGV2ZW50IHdpdGggYSB2YWx1ZVxuICovXG5leHBvcnQgdHlwZSBJbnB1dEVsZW1lbnQgPSBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudDtcblxuLyoqXG4gKiBIVE1MIHNlbGVjdCBlbGVtZW50XG4gKi9cbmV4cG9ydCB0eXBlIEh0bWxTZWxlY3RFbGVtZW50ID0gSFRNTFNlbGVjdEVsZW1lbnQ7XG5cbi8qKlxuICogU3RhbmRhcmQgUmVhY3QgY2hhbmdlIGV2ZW50IGZvciBpbnB1dC90ZXh0YXJlYSBlbGVtZW50c1xuICovXG5leHBvcnQgdHlwZSBJbnB1dENoYW5nZUV2ZW50ID0gQ2hhbmdlRXZlbnQ8SW5wdXRFbGVtZW50PjtcblxuLyoqXG4gKiBTdGFuZGFyZCBSZWFjdCBjaGFuZ2UgZXZlbnQgZm9yIHNlbGVjdCBlbGVtZW50c1xuICovXG5leHBvcnQgdHlwZSBTZWxlY3RDaGFuZ2VFdmVudCA9IENoYW5nZUV2ZW50PEh0bWxTZWxlY3RFbGVtZW50PjtcblxuLyoqXG4gKiBVbmlvbiBvZiBhbGwgc3RhbmRhcmQgZm9ybSBjaGFuZ2UgZXZlbnRzXG4gKi9cbmV4cG9ydCB0eXBlIEZvcm1DaGFuZ2VFdmVudCA9IElucHV0Q2hhbmdlRXZlbnQgfCBTZWxlY3RDaGFuZ2VFdmVudDtcblxuLyoqXG4gKiBHZW5lcmljIHN5bnRoZXRpYyBldmVudCBmcm9tIFJlYWN0XG4gKi9cbmV4cG9ydCB0eXBlIEdlbmVyaWNTeW50aGV0aWNFdmVudCA9IFN5bnRoZXRpY0V2ZW50PEVsZW1lbnQ+O1xuXG4vKipcbiAqIFZhbHVlIGV4dHJhY3RlZCBmcm9tIGFuIGV2ZW50IG9yIHBhc3NlZCBkaXJlY3RseVxuICogVGhpcyBjb3ZlcnMgTVVJJ3MgcGF0dGVybiBvZiAoZXZlbnQsIHZhbHVlKSBjYWxsYmFja3NcbiAqL1xuZXhwb3J0IHR5cGUgRXZlbnRPclZhbHVlPFRWYWx1ZSA9IHVua25vd24+ID1cbiAgfCBUVmFsdWVcbiAgfCBJbnB1dENoYW5nZUV2ZW50XG4gIHwgU2VsZWN0Q2hhbmdlRXZlbnRcbiAgfCBHZW5lcmljU3ludGhldGljRXZlbnQ7XG5cbi8qKlxuICogVHJhbnNmb3JtIG91dHB1dCBoYW5kbGVyIHRoYXQgYWNjZXB0cyB2YXJpb3VzIGV2ZW50IHBhdHRlcm5zXG4gKiBTdXBwb3J0czpcbiAqIC0gU3RhbmRhcmQgb25DaGFuZ2U6IChldmVudDogQ2hhbmdlRXZlbnQpID0+IHZvaWRcbiAqIC0gTVVJIG9uQ2hhbmdlOiAoZXZlbnQ6IENoYW5nZUV2ZW50LCB2YWx1ZTogVCkgPT4gdm9pZFxuICogLSBEaXJlY3QgdmFsdWU6ICh2YWx1ZTogVCkgPT4gdm9pZFxuICovXG5leHBvcnQgdHlwZSBUcmFuc2Zvcm1PdXRwdXRIYW5kbGVyPFRWYWx1ZSA9IHVua25vd24+ID0gKFxuICBldmVudE9yVmFsdWU6IEV2ZW50T3JWYWx1ZTxUVmFsdWU+LFxuICB2YWx1ZT86IFRWYWx1ZVxuKSA9PiBUVmFsdWU7XG5cbi8qKlxuICogVHJhbnNmb3JtIGlucHV0IGhhbmRsZXIgdGhhdCBjb252ZXJ0cyBhIHZhbHVlIHRvIGRpc3BsYXkgZm9ybWF0XG4gKi9cbmV4cG9ydCB0eXBlIFRyYW5zZm9ybUlucHV0SGFuZGxlcjxUSW5wdXQgPSB1bmtub3duLCBUT3V0cHV0ID0gdW5rbm93bj4gPSAoXG4gIHZhbHVlOiBUSW5wdXRcbikgPT4gVE91dHB1dDtcblxuLyoqXG4gKiBHZW5lcmljIGV2ZW50IGhhbmRsZXIgdGhhdCBhY2NlcHRzIHJlc3QgcGFyYW1ldGVyc1xuICogVXNlZCBmb3IgZmxleGliaWxpdHkgaW4gZXZlbnQgaGFuZGxpbmdcbiAqL1xuZXhwb3J0IHR5cGUgR2VuZXJpY0V2ZW50SGFuZGxlcjxUUmV0dXJuID0gdm9pZD4gPSAoXG4gIC4uLmFyZ3M6IHVua25vd25bXVxuKSA9PiBUUmV0dXJuO1xuXG4vKipcbiAqIFR5cGUgZ3VhcmQgdG8gY2hlY2sgaWYgYSB2YWx1ZSBpcyBhbiBJbnB1dENoYW5nZUV2ZW50XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0lucHV0Q2hhbmdlRXZlbnQodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBJbnB1dENoYW5nZUV2ZW50IHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmXG4gICAgdmFsdWUgIT09IG51bGwgJiZcbiAgICAndGFyZ2V0JyBpbiB2YWx1ZSAmJlxuICAgIHR5cGVvZiAodmFsdWUgYXMgeyB0YXJnZXQ6IHVua25vd24gfSkudGFyZ2V0ID09PSAnb2JqZWN0JyAmJlxuICAgICh2YWx1ZSBhcyB7IHRhcmdldDogdW5rbm93biB9KS50YXJnZXQgIT09IG51bGwgJiZcbiAgICAndmFsdWUnIGluICh2YWx1ZSBhcyB7IHRhcmdldDogeyB2YWx1ZT86IHVua25vd24gfSB9KS50YXJnZXRcbiAgKTtcbn1cblxuLyoqXG4gKiBUeXBlIGd1YXJkIHRvIGNoZWNrIGlmIGEgdmFsdWUgaXMgYSBTZWxlY3RDaGFuZ2VFdmVudFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNTZWxlY3RDaGFuZ2VFdmVudChcbiAgdmFsdWU6IHVua25vd25cbik6IHZhbHVlIGlzIFNlbGVjdENoYW5nZUV2ZW50IHtcbiAgcmV0dXJuIGlzSW5wdXRDaGFuZ2VFdmVudCh2YWx1ZSk7IC8vIFNhbWUgc3RydWN0dXJlLCBkaWZmZXJlbnQgZWxlbWVudCB0eXBlXG59XG5cbi8qKlxuICogVHlwZSBndWFyZCB0byBjaGVjayBpZiBhIHZhbHVlIGlzIGFueSBmb3JtIGNoYW5nZSBldmVudFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNGb3JtQ2hhbmdlRXZlbnQodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBGb3JtQ2hhbmdlRXZlbnQge1xuICByZXR1cm4gaXNJbnB1dENoYW5nZUV2ZW50KHZhbHVlKSB8fCBpc1NlbGVjdENoYW5nZUV2ZW50KHZhbHVlKTtcbn1cblxuLyoqXG4gKiBFeHRyYWN0IHZhbHVlIGZyb20gZXZlbnQgb3IgcmV0dXJuIHRoZSB2YWx1ZSBkaXJlY3RseVxuICogSGFuZGxlcyB0aGUgY29tbW9uIHBhdHRlcm46IHZhbHVlID8/IGV2ZW50Py50YXJnZXQ/LnZhbHVlID8/IGV2ZW50XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0RXZlbnRWYWx1ZTxUVmFsdWUgPSB1bmtub3duPihcbiAgZXZlbnRPclZhbHVlOiBFdmVudE9yVmFsdWU8VFZhbHVlPixcbiAgZmFsbGJhY2tWYWx1ZT86IFRWYWx1ZVxuKTogVFZhbHVlIHtcbiAgLy8gSWYgaXQncyBhIGZvcm0gY2hhbmdlIGV2ZW50LCBleHRyYWN0IHRoZSB0YXJnZXQgdmFsdWVcbiAgaWYgKGlzRm9ybUNoYW5nZUV2ZW50KGV2ZW50T3JWYWx1ZSkpIHtcbiAgICByZXR1cm4gZXZlbnRPclZhbHVlLnRhcmdldC52YWx1ZSBhcyBUVmFsdWU7XG4gIH1cblxuICAvLyBJZiBpdCBoYXMgYSB0YXJnZXQudmFsdWUgKGJ1dCBkaWRuJ3QgbWF0Y2ggYWJvdmUgZ3VhcmRzKSwgdHJ5IHRvIGV4dHJhY3QgaXRcbiAgaWYgKFxuICAgIHR5cGVvZiBldmVudE9yVmFsdWUgPT09ICdvYmplY3QnICYmXG4gICAgZXZlbnRPclZhbHVlICE9PSBudWxsICYmXG4gICAgJ3RhcmdldCcgaW4gZXZlbnRPclZhbHVlICYmXG4gICAgdHlwZW9mIGV2ZW50T3JWYWx1ZS50YXJnZXQgPT09ICdvYmplY3QnICYmXG4gICAgZXZlbnRPclZhbHVlLnRhcmdldCAhPT0gbnVsbCAmJlxuICAgICd2YWx1ZScgaW4gZXZlbnRPclZhbHVlLnRhcmdldFxuICApIHtcbiAgICByZXR1cm4gKGV2ZW50T3JWYWx1ZS50YXJnZXQgYXMgeyB2YWx1ZTogVFZhbHVlIH0pLnZhbHVlO1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB0cmVhdCBpdCBhcyB0aGUgdmFsdWUgaXRzZWxmXG4gIHJldHVybiAoZXZlbnRPclZhbHVlID8/IGZhbGxiYWNrVmFsdWUpIGFzIFRWYWx1ZTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBzYWZlIGV2ZW50IHZhbHVlIGV4dHJhY3RvciB3aXRoIHR5cGUgbmFycm93aW5nXG4gKiBVc2VmdWwgZm9yIE1VSSBjb21wb25lbnRzIHRoYXQgcGFzcyAoZXZlbnQsIHZhbHVlKSBwYXR0ZXJuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVFdmVudFZhbHVlRXh0cmFjdG9yPFRWYWx1ZSA9IHVua25vd24+KCkge1xuICByZXR1cm4gKGV2ZW50T3JWYWx1ZTogRXZlbnRPclZhbHVlPFRWYWx1ZT4sIGRpcmVjdFZhbHVlPzogVFZhbHVlKTogVFZhbHVlID0+IHtcbiAgICAvLyBJZiBhIGRpcmVjdCB2YWx1ZSBpcyBwcm92aWRlZCAoTVVJIHBhdHRlcm4pLCB1c2UgaXRcbiAgICBpZiAoZGlyZWN0VmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGRpcmVjdFZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiBleHRyYWN0RXZlbnRWYWx1ZShldmVudE9yVmFsdWUpO1xuICB9O1xufVxuIiwgIi8qKlxuICogVXRpbGl0eSB0eXBlcyBhbmQgdHlwZSBoZWxwZXJzIGZvciBlbmhhbmNlZCB0eXBlIHNhZmV0eVxuICogXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqL1xuXG4vKipcbiAqIE1ha2VzIGFsbCBwcm9wZXJ0aWVzIG9mIFQgcmVxdWlyZWQgYW5kIG5vbi1udWxsYWJsZVxuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaW50ZXJmYWNlIFVzZXIge1xuICogICBpZD86IHN0cmluZztcbiAqICAgbmFtZT86IHN0cmluZyB8IG51bGw7XG4gKiB9XG4gKiBcbiAqIHR5cGUgUmVxdWlyZWRVc2VyID0gRGVlcFJlcXVpcmVkPFVzZXI+O1xuICogLy8geyBpZDogc3RyaW5nOyBuYW1lOiBzdHJpbmcgfVxuICogYGBgXG4gKiBcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgRGVlcFJlcXVpcmVkPFQ+ID0ge1xuICBbUCBpbiBrZXlvZiBUXS0/OiBOb25OdWxsYWJsZTxUW1BdPjtcbn07XG5cbi8qKlxuICogTWFrZXMgYWxsIHByb3BlcnRpZXMgb2YgVCBvcHRpb25hbFxuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaW50ZXJmYWNlIFVzZXIge1xuICogICBpZDogc3RyaW5nO1xuICogICBuYW1lOiBzdHJpbmc7XG4gKiB9XG4gKiBcbiAqIHR5cGUgUGFydGlhbFVzZXIgPSBEZWVwUGFydGlhbDxVc2VyPjtcbiAqIC8vIHsgaWQ/OiBzdHJpbmc7IG5hbWU/OiBzdHJpbmcgfVxuICogYGBgXG4gKiBcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgRGVlcFBhcnRpYWw8VD4gPSB7XG4gIFtQIGluIGtleW9mIFRdPzogVFtQXSBleHRlbmRzIG9iamVjdFxuICAgID8gRGVlcFBhcnRpYWw8VFtQXT5cbiAgICA6IFRbUF07XG59O1xuXG4vKipcbiAqIE1ha2VzIGFsbCBwcm9wZXJ0aWVzIG9mIFQgcmVhZG9ubHkgZGVlcGx5XG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbnRlcmZhY2UgVXNlciB7XG4gKiAgIGlkOiBzdHJpbmc7XG4gKiAgIHByb2ZpbGU6IHtcbiAqICAgICBuYW1lOiBzdHJpbmc7XG4gKiAgIH07XG4gKiB9XG4gKiBcbiAqIHR5cGUgUmVhZG9ubHlVc2VyID0gRGVlcFJlYWRvbmx5PFVzZXI+O1xuICogLy8geyByZWFkb25seSBpZDogc3RyaW5nOyByZWFkb25seSBwcm9maWxlOiB7IHJlYWRvbmx5IG5hbWU6IHN0cmluZyB9IH1cbiAqIGBgYFxuICogXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIERlZXBSZWFkb25seTxUPiA9IHtcbiAgcmVhZG9ubHkgW1AgaW4ga2V5b2YgVF06IFRbUF0gZXh0ZW5kcyBvYmplY3RcbiAgICA/IERlZXBSZWFkb25seTxUW1BdPlxuICAgIDogVFtQXTtcbn07XG5cbi8qKlxuICogRXh0cmFjdHMga2V5cyBmcm9tIFQgdGhhdCBhcmUgbm90IHVuZGVmaW5lZFxuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaW50ZXJmYWNlIFVzZXIge1xuICogICBpZDogc3RyaW5nO1xuICogICBuYW1lPzogc3RyaW5nO1xuICogICBlbWFpbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICogfVxuICogXG4gKiB0eXBlIFJlcXVpcmVkS2V5cyA9IFJlcXVpcmVkS2V5czxVc2VyPjtcbiAqIC8vICdpZCdcbiAqIGBgYFxuICogXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIFJlcXVpcmVkS2V5czxUPiA9IHtcbiAgW0sgaW4ga2V5b2YgVF0tPzogdW5kZWZpbmVkIGV4dGVuZHMgVFtLXSA/IG5ldmVyIDogSztcbn1ba2V5b2YgVF07XG5cbi8qKlxuICogRXh0cmFjdHMga2V5cyBmcm9tIFQgdGhhdCBjYW4gYmUgdW5kZWZpbmVkXG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbnRlcmZhY2UgVXNlciB7XG4gKiAgIGlkOiBzdHJpbmc7XG4gKiAgIG5hbWU/OiBzdHJpbmc7XG4gKiAgIGVtYWlsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gKiB9XG4gKiBcbiAqIHR5cGUgT3B0S2V5cyA9IE9wdGlvbmFsS2V5czxVc2VyPjtcbiAqIC8vICduYW1lJyB8ICdlbWFpbCdcbiAqIGBgYFxuICogXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIE9wdGlvbmFsS2V5czxUPiA9IHtcbiAgW0sgaW4ga2V5b2YgVF0tPzogdW5kZWZpbmVkIGV4dGVuZHMgVFtLXSA/IEsgOiBuZXZlcjtcbn1ba2V5b2YgVF07XG5cbi8qKlxuICogTWFrZXMgc3BlY2lmaWVkIGtleXMgSyBvZiB0eXBlIFQgcmVxdWlyZWRcbiAqIFxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGludGVyZmFjZSBVc2VyIHtcbiAqICAgaWQ/OiBzdHJpbmc7XG4gKiAgIG5hbWU/OiBzdHJpbmc7XG4gKiAgIGVtYWlsPzogc3RyaW5nO1xuICogfVxuICogXG4gKiB0eXBlIFVzZXJXaXRoSWQgPSBSZXF1aXJlS2V5czxVc2VyLCAnaWQnIHwgJ2VtYWlsJz47XG4gKiAvLyB7IGlkOiBzdHJpbmc7IG5hbWU/OiBzdHJpbmc7IGVtYWlsOiBzdHJpbmcgfVxuICogYGBgXG4gKiBcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgUmVxdWlyZUtleXM8VCwgSyBleHRlbmRzIGtleW9mIFQ+ID0gT21pdDxULCBLPiAmXG4gIFJlcXVpcmVkPFBpY2s8VCwgSz4+O1xuXG4vKipcbiAqIE1ha2VzIHNwZWNpZmllZCBrZXlzIEsgb2YgdHlwZSBUIG9wdGlvbmFsXG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbnRlcmZhY2UgVXNlciB7XG4gKiAgIGlkOiBzdHJpbmc7XG4gKiAgIG5hbWU6IHN0cmluZztcbiAqICAgZW1haWw6IHN0cmluZztcbiAqIH1cbiAqIFxuICogdHlwZSBVc2VyVXBkYXRlID0gUGFydGlhbEtleXM8VXNlciwgJ25hbWUnIHwgJ2VtYWlsJz47XG4gKiAvLyB7IGlkOiBzdHJpbmc7IG5hbWU/OiBzdHJpbmc7IGVtYWlsPzogc3RyaW5nIH1cbiAqIGBgYFxuICogXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIFBhcnRpYWxLZXlzPFQsIEsgZXh0ZW5kcyBrZXlvZiBUPiA9IE9taXQ8VCwgSz4gJlxuICBQYXJ0aWFsPFBpY2s8VCwgSz4+O1xuXG4vKipcbiAqIEV4Y2x1ZGVzIGtleXMgSyBmcm9tIHR5cGUgVFxuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaW50ZXJmYWNlIFVzZXIge1xuICogICBpZDogc3RyaW5nO1xuICogICBwYXNzd29yZDogc3RyaW5nO1xuICogICBlbWFpbDogc3RyaW5nO1xuICogfVxuICogXG4gKiB0eXBlIFB1YmxpY1VzZXIgPSBFeGNsdWRlS2V5czxVc2VyLCAncGFzc3dvcmQnPjtcbiAqIC8vIHsgaWQ6IHN0cmluZzsgZW1haWw6IHN0cmluZyB9XG4gKiBgYGBcbiAqIFxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBFeGNsdWRlS2V5czxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBPbWl0PFQsIEs+O1xuXG4vKipcbiAqIFBpY2tzIG9ubHkga2V5cyBLIGZyb20gdHlwZSBUXG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbnRlcmZhY2UgVXNlciB7XG4gKiAgIGlkOiBzdHJpbmc7XG4gKiAgIG5hbWU6IHN0cmluZztcbiAqICAgZW1haWw6IHN0cmluZztcbiAqIH1cbiAqIFxuICogdHlwZSBVc2VyQ3JlZGVudGlhbHMgPSBQaWNrS2V5czxVc2VyLCAnZW1haWwnPjtcbiAqIC8vIHsgZW1haWw6IHN0cmluZyB9XG4gKiBgYGBcbiAqIFxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBQaWNrS2V5czxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBQaWNrPFQsIEs+O1xuXG4vKipcbiAqIEV4dHJhY3RzIHRoZSB2YWx1ZSB0eXBlIGZyb20gYW4gYXJyYXkgdHlwZVxuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogdHlwZSBTdHJpbmdBcnJheSA9IHN0cmluZ1tdO1xuICogdHlwZSBJdGVtID0gQXJyYXlFbGVtZW50PFN0cmluZ0FycmF5PjtcbiAqIC8vIHN0cmluZ1xuICogYGBgXG4gKiBcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgQXJyYXlFbGVtZW50PFQ+ID0gVCBleHRlbmRzIFJlYWRvbmx5QXJyYXk8aW5mZXIgRT4gPyBFIDogbmV2ZXI7XG5cbi8qKlxuICogRXh0cmFjdHMgdGhlIHJldHVybiB0eXBlIG9mIGFuIGFzeW5jIGZ1bmN0aW9uXG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBhc3luYyBmdW5jdGlvbiBnZXRVc2VyKCk6IFByb21pc2U8VXNlcj4ge1xuICogICByZXR1cm4geyBpZDogJzEnLCBuYW1lOiAnSm9obicgfTtcbiAqIH1cbiAqIFxuICogdHlwZSBVc2VyID0gQXN5bmNSZXR1cm5UeXBlPHR5cGVvZiBnZXRVc2VyPjtcbiAqIC8vIFVzZXJcbiAqIGBgYFxuICogXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIEFzeW5jUmV0dXJuVHlwZTxUIGV4dGVuZHMgKC4uLmFyZ3M6IHJlYWRvbmx5IHVua25vd25bXSkgPT4gUHJvbWlzZTx1bmtub3duPj4gPVxuICBUIGV4dGVuZHMgKC4uLmFyZ3M6IHJlYWRvbmx5IHVua25vd25bXSkgPT4gUHJvbWlzZTxpbmZlciBSPiA/IFIgOiBuZXZlcjtcblxuLyoqXG4gKiBNYWtlcyBhIHR5cGUgbnVsbGFibGUgKGFkZHMgbnVsbClcbiAqIFxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHR5cGUgVXNlcm5hbWUgPSBzdHJpbmc7XG4gKiB0eXBlIE51bGxhYmxlVXNlcm5hbWUgPSBOdWxsYWJsZTxVc2VybmFtZT47XG4gKiAvLyBzdHJpbmcgfCBudWxsXG4gKiBgYGBcbiAqIFxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBOdWxsYWJsZTxUPiA9IFQgfCBudWxsO1xuXG4vKipcbiAqIE1ha2VzIGEgdHlwZSBvcHRpb25hbCAoYWRkcyB1bmRlZmluZWQpXG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiB0eXBlIFVzZXJuYW1lID0gc3RyaW5nO1xuICogdHlwZSBPcHRpb25hbFVzZXJuYW1lID0gTWF5YmU8VXNlcm5hbWU+O1xuICogLy8gc3RyaW5nIHwgdW5kZWZpbmVkXG4gKiBgYGBcbiAqIFxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBNYXliZTxUPiA9IFQgfCB1bmRlZmluZWQ7XG5cbi8qKlxuICogTWFrZXMgYSB0eXBlIG51bGxpc2ggKGFkZHMgbnVsbCBhbmQgdW5kZWZpbmVkKVxuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogdHlwZSBVc2VybmFtZSA9IHN0cmluZztcbiAqIHR5cGUgTnVsbGlzaFVzZXJuYW1lID0gTnVsbGlzaDxVc2VybmFtZT47XG4gKiAvLyBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkXG4gKiBgYGBcbiAqIFxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBOdWxsaXNoPFQ+ID0gVCB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbi8qKlxuICogQ3JlYXRlcyBhIHVuaW9uIG9mIGFsbCBwb3NzaWJsZSBwYXRocyB0aHJvdWdoIGFuIG9iamVjdCB0eXBlXG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbnRlcmZhY2UgVXNlciB7XG4gKiAgIHByb2ZpbGU6IHtcbiAqICAgICBuYW1lOiBzdHJpbmc7XG4gKiAgICAgYWRkcmVzczoge1xuICogICAgICAgY2l0eTogc3RyaW5nO1xuICogICAgIH07XG4gKiAgIH07XG4gKiB9XG4gKiBcbiAqIHR5cGUgUGF0aHMgPSBPYmplY3RQYXRoczxVc2VyPjtcbiAqIC8vICdwcm9maWxlJyB8ICdwcm9maWxlLm5hbWUnIHwgJ3Byb2ZpbGUuYWRkcmVzcycgfCAncHJvZmlsZS5hZGRyZXNzLmNpdHknXG4gKiBgYGBcbiAqIFxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBPYmplY3RQYXRoczxUPiA9IHtcbiAgW0sgaW4ga2V5b2YgVCAmIHN0cmluZ106IFRbS10gZXh0ZW5kcyBvYmplY3RcbiAgICA/IEsgfCBgJHtLfS4ke09iamVjdFBhdGhzPFRbS10+fWBcbiAgICA6IEs7XG59W2tleW9mIFQgJiBzdHJpbmddO1xuXG4vKipcbiAqIE1lcmdlcyB0d28gdHlwZXMsIHdpdGggcHJvcGVydGllcyBmcm9tIEIgb3ZlcnJpZGluZyB0aG9zZSBpbiBBXG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbnRlcmZhY2UgQSB7XG4gKiAgIGlkOiBudW1iZXI7XG4gKiAgIG5hbWU6IHN0cmluZztcbiAqIH1cbiAqIFxuICogaW50ZXJmYWNlIEIge1xuICogICBpZDogc3RyaW5nO1xuICogICBlbWFpbDogc3RyaW5nO1xuICogfVxuICogXG4gKiB0eXBlIE1lcmdlZCA9IE1lcmdlPEEsIEI+O1xuICogLy8geyBpZDogc3RyaW5nOyBuYW1lOiBzdHJpbmc7IGVtYWlsOiBzdHJpbmcgfVxuICogYGBgXG4gKiBcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgTWVyZ2U8QSwgQj4gPSBPbWl0PEEsIGtleW9mIEI+ICYgQjtcblxuLyoqXG4gKiBFbnN1cmVzIGEgdHlwZSBpcyBzZXJpYWxpemFibGUgKG5vIGZ1bmN0aW9ucywgc3ltYm9scywgdW5kZWZpbmVkKVxuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaW50ZXJmYWNlIERhdGEge1xuICogICBpZDogc3RyaW5nO1xuICogICBjYWxsYmFjazogKCkgPT4gdm9pZDtcbiAqICAgdmFsdWU6IG51bWJlcjtcbiAqIH1cbiAqIFxuICogdHlwZSBTZXJpYWxpemFibGVEYXRhID0gU2VyaWFsaXphYmxlPERhdGE+O1xuICogLy8geyBpZDogc3RyaW5nOyB2YWx1ZTogbnVtYmVyIH1cbiAqIGBgYFxuICogXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIFNlcmlhbGl6YWJsZTxUPiA9IHtcbiAgW0sgaW4ga2V5b2YgVCBhcyBUW0tdIGV4dGVuZHMgKC4uLmFyZ3M6IHJlYWRvbmx5IHVua25vd25bXSkgPT4gdW5rbm93blxuICAgID8gbmV2ZXJcbiAgICA6IFRbS10gZXh0ZW5kcyBzeW1ib2xcbiAgICA/IG5ldmVyXG4gICAgOiBUW0tdIGV4dGVuZHMgdW5kZWZpbmVkXG4gICAgPyBuZXZlclxuICAgIDogS106IFRbS10gZXh0ZW5kcyBvYmplY3QgPyBTZXJpYWxpemFibGU8VFtLXT4gOiBUW0tdO1xufTtcblxuLyoqXG4gKiBDb252ZXJ0cyBhIHVuaW9uIHR5cGUgdG8gYW4gaW50ZXJzZWN0aW9uIHR5cGVcbiAqIFxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHR5cGUgVW5pb24gPSB7IGE6IHN0cmluZyB9IHwgeyBiOiBudW1iZXIgfTtcbiAqIHR5cGUgSW50ZXJzZWN0aW9uID0gVW5pb25Ub0ludGVyc2VjdGlvbjxVbmlvbj47XG4gKiAvLyB7IGE6IHN0cmluZyB9ICYgeyBiOiBudW1iZXIgfVxuICogYGBgXG4gKiBcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgVW5pb25Ub0ludGVyc2VjdGlvbjxVPiA9IChcbiAgVSBleHRlbmRzIHVua25vd24gPyAoazogVSkgPT4gdm9pZCA6IG5ldmVyXG4pIGV4dGVuZHMgKGs6IGluZmVyIEkpID0+IHZvaWRcbiAgPyBJXG4gIDogbmV2ZXI7XG5cbi8qKlxuICogR2V0cyBhbGwga2V5cyBvZiBUIHdob3NlIHZhbHVlcyBleHRlbmQgVlxuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaW50ZXJmYWNlIFVzZXIge1xuICogICBpZDogc3RyaW5nO1xuICogICBhZ2U6IG51bWJlcjtcbiAqICAgbmFtZTogc3RyaW5nO1xuICogICBhY3RpdmU6IGJvb2xlYW47XG4gKiB9XG4gKiBcbiAqIHR5cGUgU3RyaW5nS2V5cyA9IEtleXNPZlR5cGU8VXNlciwgc3RyaW5nPjtcbiAqIC8vICdpZCcgfCAnbmFtZSdcbiAqIGBgYFxuICogXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIEtleXNPZlR5cGU8VCwgVj4gPSB7XG4gIFtLIGluIGtleW9mIFRdOiBUW0tdIGV4dGVuZHMgViA/IEsgOiBuZXZlcjtcbn1ba2V5b2YgVF07XG5cbi8qKlxuICogRW5zdXJlcyBhIHZhbHVlIGlzIGV4YWN0bHkgdGhlIHR5cGUgVCAobm8gd2lkZXIgdHlwZXMgYWxsb3dlZClcbiAqIFxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGNvbmZpZzogRXhhY3Q8eyBkZWJ1ZzogYm9vbGVhbiB9PiA9IHtcbiAqICAgZGVidWc6IHRydWUsXG4gKiAgIC8vIGV4dHJhOiAndmFsdWUnICAvLyBcdTI3NEMgRXJyb3I6IGV4dHJhIHByb3BlcnR5IG5vdCBhbGxvd2VkXG4gKiB9O1xuICogYGBgXG4gKiBcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgRXhhY3Q8VCwgU2hhcGUgPSBUPiA9IFQgZXh0ZW5kcyBTaGFwZVxuICA/IEV4Y2x1ZGU8a2V5b2YgVCwga2V5b2YgU2hhcGU+IGV4dGVuZHMgbmV2ZXJcbiAgICA/IFRcbiAgICA6IG5ldmVyXG4gIDogbmV2ZXI7XG5cbi8qKlxuICogQ3JlYXRlcyBhIGJyYW5kZWQgdHlwZSBmb3Igbm9taW5hbCB0eXBpbmdcbiAqIFRoaXMgcHJldmVudHMgbWl4aW5nIHZhbHVlcyBvZiB0aGUgc2FtZSBwcmltaXRpdmUgdHlwZVxuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogdHlwZSBVc2VySWQgPSBCcmFuZDxzdHJpbmcsICdVc2VySWQnPjtcbiAqIHR5cGUgUHJvZHVjdElkID0gQnJhbmQ8c3RyaW5nLCAnUHJvZHVjdElkJz47XG4gKiBcbiAqIGNvbnN0IHVzZXJJZDogVXNlcklkID0gJzEyMycgYXMgVXNlcklkO1xuICogY29uc3QgcHJvZHVjdElkOiBQcm9kdWN0SWQgPSAnNDU2JyBhcyBQcm9kdWN0SWQ7XG4gKiBcbiAqIC8vIFx1Mjc0QyBUeXBlIGVycm9yOiBVc2VySWQgaXMgbm90IGFzc2lnbmFibGUgdG8gUHJvZHVjdElkXG4gKiBjb25zdCB0ZXN0OiBQcm9kdWN0SWQgPSB1c2VySWQ7XG4gKiBgYGBcbiAqIFxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBCcmFuZDxULCBUQnJhbmQgZXh0ZW5kcyBzdHJpbmc+ID0gVCAmIHtcbiAgcmVhZG9ubHkgX19icmFuZDogVEJyYW5kO1xufTtcblxuLyoqXG4gKiBIZWxwZXIgdG8gY3JlYXRlIGEgYnJhbmRlZCB2YWx1ZVxuICogXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gYnJhbmRcbiAqIEByZXR1cm5zIFRoZSB2YWx1ZSBhcyBhIGJyYW5kZWQgdHlwZVxuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogdHlwZSBVc2VySWQgPSBCcmFuZDxzdHJpbmcsICdVc2VySWQnPjtcbiAqIGNvbnN0IGlkID0gYnJhbmQ8c3RyaW5nLCAnVXNlcklkJz4oJ3VzZXItMTIzJyk7XG4gKiAvLyBpZCBoYXMgdHlwZSBVc2VySWRcbiAqIGBgYFxuICogXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBicmFuZDxULCBUQnJhbmQgZXh0ZW5kcyBzdHJpbmc+KHZhbHVlOiBUKTogQnJhbmQ8VCwgVEJyYW5kPiB7XG4gIHJldHVybiB2YWx1ZSBhcyBCcmFuZDxULCBUQnJhbmQ+O1xufVxuXG4vKipcbiAqIFJlbW92ZXMgYnJhbmRpbmcgZnJvbSBhIGJyYW5kZWQgdHlwZVxuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogdHlwZSBVc2VySWQgPSBCcmFuZDxzdHJpbmcsICdVc2VySWQnPjtcbiAqIHR5cGUgUGxhaW5JZCA9IFVuYnJhbmQ8VXNlcklkPjtcbiAqIC8vIHN0cmluZ1xuICogYGBgXG4gKiBcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgVW5icmFuZDxUPiA9IFQgZXh0ZW5kcyBpbmZlciBVICYgeyByZWFkb25seSBfX2JyYW5kOiBzdHJpbmcgfSA/IFUgOiBUO1xuXG4vKipcbiAqIFR5cGUtc2FmZSBPYmplY3Qua2V5cyB0aGF0IHByZXNlcnZlcyBrZXkgdHlwZXNcbiAqIFxuICogQHBhcmFtIG9iaiAtIFRoZSBvYmplY3QgdG8gZ2V0IGtleXMgZnJvbVxuICogQHJldHVybnMgQXJyYXkgb2Yga2V5cyB3aXRoIHByb3BlciB0eXBlXG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCB1c2VyID0geyBpZDogJzEnLCBuYW1lOiAnSm9obicgfSBhcyBjb25zdDtcbiAqIGNvbnN0IGtleXMgPSB0eXBlZEtleXModXNlcik7XG4gKiAvLyBrZXlzIGhhcyB0eXBlOiAoJ2lkJyB8ICduYW1lJylbXVxuICogYGBgXG4gKiBcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR5cGVkS2V5czxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+KFxuICBvYmo6IFRcbik6IEFycmF5PGtleW9mIFQ+IHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKG9iaikgYXMgQXJyYXk8a2V5b2YgVD47XG59XG5cbi8qKlxuICogVHlwZS1zYWZlIE9iamVjdC5lbnRyaWVzIHRoYXQgcHJlc2VydmVzIGtleSBhbmQgdmFsdWUgdHlwZXNcbiAqIFxuICogQHBhcmFtIG9iaiAtIFRoZSBvYmplY3QgdG8gZ2V0IGVudHJpZXMgZnJvbVxuICogQHJldHVybnMgQXJyYXkgb2YgW2tleSwgdmFsdWVdIHR1cGxlcyB3aXRoIHByb3BlciB0eXBlc1xuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgdXNlciA9IHsgaWQ6ICcxJywgYWdlOiAzMCB9IGFzIGNvbnN0O1xuICogY29uc3QgZW50cmllcyA9IHR5cGVkRW50cmllcyh1c2VyKTtcbiAqIC8vIGVudHJpZXMgaGFzIHR5cGU6IFsnaWQnLCAnMSddIHwgWydhZ2UnLCAzMF1cbiAqIGBgYFxuICogXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0eXBlZEVudHJpZXM8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+PihcbiAgb2JqOiBUXG4pOiBBcnJheTxba2V5b2YgVCwgVFtrZXlvZiBUXV0+IHtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG9iaikgYXMgQXJyYXk8W2tleW9mIFQsIFRba2V5b2YgVF1dPjtcbn1cblxuLyoqXG4gKiBUeXBlLXNhZmUgT2JqZWN0LnZhbHVlcyB0aGF0IHByZXNlcnZlcyB2YWx1ZSB0eXBlc1xuICogXG4gKiBAcGFyYW0gb2JqIC0gVGhlIG9iamVjdCB0byBnZXQgdmFsdWVzIGZyb21cbiAqIEByZXR1cm5zIEFycmF5IG9mIHZhbHVlcyB3aXRoIHByb3BlciB0eXBlXG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCB1c2VyID0geyBpZDogJzEnLCBhZ2U6IDMwIH07XG4gKiBjb25zdCB2YWx1ZXMgPSB0eXBlZFZhbHVlcyh1c2VyKTtcbiAqIC8vIHZhbHVlcyBoYXMgdHlwZTogKHN0cmluZyB8IG51bWJlcilbXVxuICogYGBgXG4gKiBcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR5cGVkVmFsdWVzPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oXG4gIG9iajogVFxuKTogQXJyYXk8VFtrZXlvZiBUXT4ge1xuICByZXR1cm4gT2JqZWN0LnZhbHVlcyhvYmopIGFzIEFycmF5PFRba2V5b2YgVF0+O1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQTRITyxTQUFTLGFBQWEsT0FBcUM7QUFDaEUsU0FDRSxPQUFPLFVBQVUsWUFDakIsVUFBVSxRQUNWLENBQUMsTUFBTSxRQUFRLEtBQUssS0FDcEIsRUFBRSxpQkFBaUI7QUFFdkI7QUFLTyxTQUFTLFlBQVksT0FBb0M7QUFDOUQsU0FBTyxNQUFNLFFBQVEsS0FBSztBQUM1QjtBQUtPLFNBQVMsV0FBVyxPQUFtQztBQUM1RCxTQUFPLGlCQUFpQjtBQUMxQjtBQUtPLFNBQVMsY0FBYyxPQUFzQztBQUNsRSxTQUFPLGFBQWEsS0FBSyxLQUFLLFlBQVksS0FBSyxLQUFLLFdBQVcsS0FBSztBQUN0RTs7O0FDM0VPLFNBQVMsbUJBQW1CLE9BQTJDO0FBQzVFLFNBQ0UsT0FBTyxVQUFVLFlBQ2pCLFVBQVUsUUFDVixZQUFZLFNBQ1osT0FBUSxNQUE4QixXQUFXLFlBQ2hELE1BQThCLFdBQVcsUUFDMUMsV0FBWSxNQUEwQztBQUUxRDtBQUtPLFNBQVMsb0JBQ2QsT0FDNEI7QUFDNUIsU0FBTyxtQkFBbUIsS0FBSztBQUNqQztBQUtPLFNBQVMsa0JBQWtCLE9BQTBDO0FBQzFFLFNBQU8sbUJBQW1CLEtBQUssS0FBSyxvQkFBb0IsS0FBSztBQUMvRDtBQU1PLFNBQVMsa0JBQ2QsY0FDQSxlQUNRO0FBRVIsTUFBSSxrQkFBa0IsWUFBWSxHQUFHO0FBQ25DLFdBQU8sYUFBYSxPQUFPO0FBQUEsRUFDN0I7QUFHQSxNQUNFLE9BQU8saUJBQWlCLFlBQ3hCLGlCQUFpQixRQUNqQixZQUFZLGdCQUNaLE9BQU8sYUFBYSxXQUFXLFlBQy9CLGFBQWEsV0FBVyxRQUN4QixXQUFXLGFBQWEsUUFDeEI7QUFDQSxXQUFRLGFBQWEsT0FBNkI7QUFBQSxFQUNwRDtBQUdBLFNBQVEsZ0JBQWdCO0FBQzFCO0FBTU8sU0FBUyw0QkFBOEM7QUFDNUQsU0FBTyxDQUFDLGNBQW9DLGdCQUFpQztBQUUzRSxRQUFJLGdCQUFnQixRQUFXO0FBQzdCLGFBQU87QUFBQSxJQUNUO0FBRUEsV0FBTyxrQkFBa0IsWUFBWTtBQUFBLEVBQ3ZDO0FBQ0Y7OztBQ29TTyxTQUFTLE1BQWdDLE9BQTRCO0FBQzFFLFNBQU87QUFDVDtBQStCTyxTQUFTLFVBQ2QsS0FDZ0I7QUFDaEIsU0FBTyxPQUFPLEtBQUssR0FBRztBQUN4QjtBQWlCTyxTQUFTLGFBQ2QsS0FDOEI7QUFDOUIsU0FBTyxPQUFPLFFBQVEsR0FBRztBQUMzQjtBQWlCTyxTQUFTLFlBQ2QsS0FDbUI7QUFDbkIsU0FBTyxPQUFPLE9BQU8sR0FBRztBQUMxQjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -1 +1 @@
1
- "use strict";//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvbGlicy9HTldlYlNvZnQuVUkvcGFja2FnZXMvdWkvZGlzdC9jaHVuay1NVlBMQkpSSy5janMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEiLCJmaWxlIjoiL2J1aWxkcy9saWJzL0dOV2ViU29mdC5VSS9wYWNrYWdlcy91aS9kaXN0L2NodW5rLU1WUExCSlJLLmNqcyJ9
1
+ "use strict";//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImM6XFxVdHRhbVxcUHJvamVjdHNcXEdOV2ViU29mdC5VSVxccGFja2FnZXNcXHVpXFxkaXN0XFxjaHVuay1NVlBMQkpSSy5janMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEiLCJmaWxlIjoiQzpcXFV0dGFtXFxQcm9qZWN0c1xcR05XZWJTb2Z0LlVJXFxwYWNrYWdlc1xcdWlcXGRpc3RcXGNodW5rLU1WUExCSlJLLmNqcyJ9