@envive-ai/react-hooks 0.2.7 → 0.2.8

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 (171) hide show
  1. package/dist/{NewOrgConfig-Bo1seKr6.cjs → NewOrgConfig-BYo4V8-u.cjs} +2 -2
  2. package/dist/{NewOrgConfig-yptI2imS.js → NewOrgConfig-kYrS59aR.js} +2 -2
  3. package/dist/{TrackComponentVisibleEvent-qNE0dIL1.js → TrackComponentVisibleEvent-BHVBHQhu.js} +2 -2
  4. package/dist/{TrackComponentVisibleEvent-tDRnrJi3.cjs → TrackComponentVisibleEvent-B_2kXqvV.cjs} +2 -2
  5. package/dist/{amplitudeContext-C6LHpqP_.cjs → amplitudeContext-CjkMpI_a.cjs} +2 -2
  6. package/dist/{amplitudeContext-rEjGf57q.js → amplitudeContext-D58WY1aS.js} +2 -2
  7. package/dist/application/models/index.cjs +1 -1
  8. package/dist/application/models/index.d.cts +4 -4
  9. package/dist/application/models/index.d.ts +4 -4
  10. package/dist/application/models/index.js +1 -1
  11. package/dist/application/utils/index.cjs +3 -3
  12. package/dist/application/utils/index.d.cts +6 -6
  13. package/dist/application/utils/index.d.ts +4 -4
  14. package/dist/application/utils/index.js +3 -3
  15. package/dist/atoms/app/index.cjs +1 -1
  16. package/dist/atoms/app/index.d.cts +11 -11
  17. package/dist/atoms/app/index.d.ts +4 -4
  18. package/dist/atoms/app/index.js +1 -1
  19. package/dist/atoms/chat/index.cjs +4 -4
  20. package/dist/atoms/chat/index.d.cts +31 -31
  21. package/dist/atoms/chat/index.d.ts +5 -5
  22. package/dist/atoms/chat/index.js +4 -4
  23. package/dist/atoms/org/index.d.cts +21 -21
  24. package/dist/atoms/org/index.d.ts +22 -22
  25. package/dist/atoms/search/index.cjs +6 -6
  26. package/dist/atoms/search/index.d.cts +5 -5
  27. package/dist/atoms/search/index.d.ts +5 -5
  28. package/dist/atoms/search/index.js +6 -6
  29. package/dist/{chat-L_N0qaqs.cjs → chat-CLo8FBCb.cjs} +4 -4
  30. package/dist/{chat-DChvXHjz.js → chat-Qkx5llOV.js} +4 -4
  31. package/dist/{chatElementDisplayLocation-D4XF0UfI.d.ts → chatElementDisplayLocation-BO3fY4hq.d.ts} +2 -1
  32. package/dist/{chatElementDisplayLocation-B7vr33eG.d.cts → chatElementDisplayLocation-Igta1TL1.d.cts} +2 -1
  33. package/dist/{chatSearch-B5whqPLW.cjs → chatSearch-CP7QtVyA.cjs} +4 -4
  34. package/dist/{chatSearch-so-qeiEL.js → chatSearch-CjMcB3fG.js} +4 -4
  35. package/dist/{chatState-Dl5lyuKC.js → chatState-BUN8ehpy.js} +3 -3
  36. package/dist/{chatState-D9_aA1_h.cjs → chatState-BUlDJ4NK.cjs} +3 -3
  37. package/dist/{commerce-api-DEFd5HUH.js → commerce-api-CxnUXpTq.js} +3 -3
  38. package/dist/{commerce-api-DqVD4NH8.cjs → commerce-api-DNnrOYWX.cjs} +3 -3
  39. package/dist/contexts/amplitudeContext/index.cjs +2 -2
  40. package/dist/contexts/amplitudeContext/index.js +2 -2
  41. package/dist/contexts/chatContext/index.cjs +8 -8
  42. package/dist/contexts/chatContext/index.d.cts +2 -2
  43. package/dist/contexts/chatContext/index.d.ts +4 -4
  44. package/dist/contexts/chatContext/index.js +8 -8
  45. package/dist/contexts/enviveConfigContext/index.d.cts +2 -2
  46. package/dist/contexts/enviveConfigContext/index.d.ts +2 -2
  47. package/dist/contexts/enviveCssContext/index.cjs +5 -5
  48. package/dist/contexts/enviveCssContext/index.js +5 -5
  49. package/dist/contexts/featureFlagContext/index.d.cts +2 -2
  50. package/dist/contexts/featureFlagContext/index.d.ts +2 -2
  51. package/dist/contexts/featureFlagServiceContext/index.d.cts +3 -3
  52. package/dist/contexts/featureFlagServiceContext/index.d.ts +3 -3
  53. package/dist/contexts/graphqlContext/index.cjs +2 -2
  54. package/dist/contexts/graphqlContext/index.d.cts +5 -5
  55. package/dist/contexts/graphqlContext/index.d.ts +5 -5
  56. package/dist/contexts/graphqlContext/index.js +2 -2
  57. package/dist/contexts/newOrgConfigContext/index.cjs +4 -4
  58. package/dist/contexts/newOrgConfigContext/index.d.cts +6 -6
  59. package/dist/contexts/newOrgConfigContext/index.d.ts +6 -6
  60. package/dist/contexts/newOrgConfigContext/index.js +4 -4
  61. package/dist/contexts/searchContext/index.cjs +5 -5
  62. package/dist/contexts/searchContext/index.js +5 -5
  63. package/dist/contexts/shopifyUrlContext/index.d.cts +2 -2
  64. package/dist/contexts/shopifyUrlContext/index.d.ts +2 -2
  65. package/dist/contexts/systemSettingsContext/index.d.cts +6 -6
  66. package/dist/contexts/systemSettingsContext/index.d.ts +8 -8
  67. package/dist/contexts/types.d.cts +2 -2
  68. package/dist/contexts/types.d.ts +2 -2
  69. package/dist/contexts/userIdentityContext/index.cjs +5 -5
  70. package/dist/contexts/userIdentityContext/index.js +5 -5
  71. package/dist/{featureFlagServiceContext-p5UBwPM3.d.cts → featureFlagServiceContext-CPqbnfe3.d.cts} +2 -2
  72. package/dist/{featureFlagServiceContext-CpxlOkI9.d.ts → featureFlagServiceContext-mFEI_SIk.d.ts} +2 -2
  73. package/dist/{frontendConfig-iZipB5FG.d.cts → frontendConfig-DPpzM5cz.d.cts} +3 -2
  74. package/dist/{frontendConfig-Cawh5iqv.d.ts → frontendConfig-msK69LYN.d.ts} +3 -2
  75. package/dist/{graphqlContext-czH0kIZg.js → graphqlContext-C0hG5Uer.js} +2 -2
  76. package/dist/{graphqlContext-CXQl0hq2.d.ts → graphqlContext-D_UHK3hc.d.ts} +2 -2
  77. package/dist/{graphqlContext-DP8T3-Kd.cjs → graphqlContext-Dddy7mr7.cjs} +2 -2
  78. package/dist/{graphqlContext-BeyKU1Dr.d.cts → graphqlContext-Y9q6GK71.d.cts} +2 -2
  79. package/dist/hooks/AmplitudeOperations/index.cjs +3 -3
  80. package/dist/hooks/AmplitudeOperations/index.js +3 -3
  81. package/dist/hooks/AppDetails/index.cjs +4 -4
  82. package/dist/hooks/AppDetails/index.d.cts +4 -4
  83. package/dist/hooks/AppDetails/index.d.ts +4 -4
  84. package/dist/hooks/AppDetails/index.js +4 -4
  85. package/dist/hooks/ChatToggle/index.cjs +4 -4
  86. package/dist/hooks/ChatToggle/index.d.cts +1 -1
  87. package/dist/hooks/ChatToggle/index.d.ts +1 -1
  88. package/dist/hooks/ChatToggle/index.js +4 -4
  89. package/dist/hooks/ChatToggleAnalytics/index.cjs +4 -4
  90. package/dist/hooks/ChatToggleAnalytics/index.d.cts +1 -1
  91. package/dist/hooks/ChatToggleAnalytics/index.d.ts +1 -1
  92. package/dist/hooks/ChatToggleAnalytics/index.js +4 -4
  93. package/dist/hooks/GrabAndScroll/index.d.cts +2 -2
  94. package/dist/hooks/GraphQLConfig/index.cjs +3 -3
  95. package/dist/hooks/GraphQLConfig/index.d.cts +5 -5
  96. package/dist/hooks/GraphQLConfig/index.d.ts +5 -5
  97. package/dist/hooks/GraphQLConfig/index.js +3 -3
  98. package/dist/hooks/IdentifyUser/index.cjs +5 -5
  99. package/dist/hooks/IdentifyUser/index.js +5 -5
  100. package/dist/hooks/ImageResolver/index.cjs +1 -1
  101. package/dist/hooks/ImageResolver/index.js +1 -1
  102. package/dist/hooks/MessageFilter/index.cjs +1 -1
  103. package/dist/hooks/MessageFilter/index.d.cts +4 -4
  104. package/dist/hooks/MessageFilter/index.d.ts +4 -4
  105. package/dist/hooks/MessageFilter/index.js +1 -1
  106. package/dist/hooks/NewOrgConfig/index.cjs +5 -5
  107. package/dist/hooks/NewOrgConfig/index.d.cts +6 -6
  108. package/dist/hooks/NewOrgConfig/index.d.ts +6 -6
  109. package/dist/hooks/NewOrgConfig/index.js +5 -5
  110. package/dist/hooks/Search/index.cjs +19 -13
  111. package/dist/hooks/Search/index.d.cts +10 -7
  112. package/dist/hooks/Search/index.d.ts +10 -7
  113. package/dist/hooks/Search/index.js +19 -13
  114. package/dist/hooks/SearchOperations/index.cjs +5 -5
  115. package/dist/hooks/SearchOperations/index.js +5 -5
  116. package/dist/hooks/ShopifyUrlOperations/index.d.cts +4 -4
  117. package/dist/hooks/ShopifyUrlOperations/index.d.ts +4 -4
  118. package/dist/hooks/SystemSettingsContext/index.d.cts +6 -6
  119. package/dist/hooks/SystemSettingsContext/index.d.ts +4 -4
  120. package/dist/hooks/TrackComponentVisibleEvent/index.cjs +3 -3
  121. package/dist/hooks/TrackComponentVisibleEvent/index.d.cts +1 -1
  122. package/dist/hooks/TrackComponentVisibleEvent/index.d.ts +1 -1
  123. package/dist/hooks/TrackComponentVisibleEvent/index.js +3 -3
  124. package/dist/hooks/UpdateAnalyticsProps/index.cjs +2 -2
  125. package/dist/hooks/UpdateAnalyticsProps/index.js +2 -2
  126. package/dist/hooks/utils.d.cts +5 -5
  127. package/dist/hooks/utils.d.ts +5 -5
  128. package/dist/{index-CUO68KG3.d.ts → index-BVsXKN48.d.ts} +2 -2
  129. package/dist/{index-BUDrAxnl.d.ts → index-Bb3zXP0P.d.ts} +2 -2
  130. package/dist/{index-Dy3TTIOm.d.cts → index-DXTWZLEm.d.cts} +2 -2
  131. package/dist/{index-BSd8767K.d.cts → index-ri9oOY3g.d.cts} +31 -31
  132. package/dist/interceptors/index.d.cts +4 -4
  133. package/dist/interceptors/index.d.ts +4 -4
  134. package/dist/interceptors/types.d.cts +4 -4
  135. package/dist/interceptors/types.d.ts +4 -4
  136. package/dist/models-CE5YjbzE.js +1286 -0
  137. package/dist/models-CJy0mOoW.cjs +1521 -0
  138. package/dist/{newOrgConfigContext-Bet9CgKP.cjs → newOrgConfigContext-Dg2gtrwB.cjs} +2 -2
  139. package/dist/{newOrgConfigContext-CJI3tsVV.d.cts → newOrgConfigContext-DhsBBjlG.d.cts} +2 -2
  140. package/dist/{newOrgConfigContext-I2qceBB4.d.ts → newOrgConfigContext-Dkyzaadi.d.ts} +2 -2
  141. package/dist/{newOrgConfigContext-Bi_dBNe5.js → newOrgConfigContext-P4xkie1E.js} +2 -2
  142. package/dist/{search-DbZeJYdg.js → search-BRBqhum7.js} +2 -2
  143. package/dist/{search-CneZkauD.cjs → search-Bpd_wxaK.cjs} +2 -2
  144. package/dist/{searchContext-DksJfC1s.cjs → searchContext-4mMbhaHA.cjs} +2 -2
  145. package/dist/{searchContext-BmgoAFMF.js → searchContext-nzEsa-bl.js} +2 -2
  146. package/dist/{spiffyWidgets-eNbU1gMc.d.cts → spiffyWidgets-DK7Ekcy7.d.cts} +2 -1
  147. package/dist/{spiffyWidgets-CR6F7FRE.d.ts → spiffyWidgets-MTUAQq_u.d.ts} +2 -1
  148. package/dist/types-BegmH0S1.d.ts +1 -1
  149. package/dist/types-CtUb63bt.js +1 -1
  150. package/dist/types-UUvB6h05.cjs +1 -1
  151. package/dist/types.d.cts +2 -2
  152. package/dist/types.d.ts +2 -2
  153. package/dist/{useAmplitudeOperations-B9HjVe6G.js → useAmplitudeOperations-Cr03Hlk6.js} +2 -2
  154. package/dist/{useAmplitudeOperations-BdvxAzuI.cjs → useAmplitudeOperations-DzFMBUU_.cjs} +2 -2
  155. package/dist/{useAppDetails-B584gkCs.js → useAppDetails-Bgql1vXN.js} +2 -2
  156. package/dist/{useAppDetails-DczgqeLG.cjs → useAppDetails-D-l3HbOk.cjs} +2 -2
  157. package/dist/{useGraphQLConfig-7UxACM4n.js → useGraphQLConfig-8oeOwWRP.js} +2 -2
  158. package/dist/{useGraphQLConfig-D_rF2Sun.cjs → useGraphQLConfig-CO9lCk8b.cjs} +2 -2
  159. package/dist/{userIdentityContext-DdySlQBz.cjs → userIdentityContext-B_CPsBYG.cjs} +2 -2
  160. package/dist/{userIdentityContext-CPztaX6-.js → userIdentityContext-BtOui2qA.js} +2 -2
  161. package/dist/{utils-BRVP7Mnu.cjs → utils-BXfzt6tu.cjs} +3 -3
  162. package/dist/{utils-CBD4g2Nc.d.cts → utils-C2HshI4X.d.cts} +2 -2
  163. package/dist/{utils-B4PvsKVY.js → utils-Cv772xzd.js} +3 -3
  164. package/dist/{utils-QKFAbPT6.d.ts → utils-aa1jK0Xe.d.ts} +2 -2
  165. package/package.json +1 -1
  166. package/src/application/models/chatElementDisplayLocation.ts +1 -0
  167. package/src/application/models/spiffyWidgets.ts +2 -0
  168. package/src/contexts/types.ts +1 -0
  169. package/src/hooks/Search/useSearch.tsx +10 -2
  170. package/dist/models-CWOgrLCm.js +0 -1284
  171. package/dist/models-DqdLOi2I.cjs +0 -1519
@@ -1,5 +1,5 @@
1
1
  import { ProductResponseAttributes } from "./responseGenerics-D9bS-Dd6.js";
2
- import { Message } from "./index-BUDrAxnl.js";
2
+ import { Message } from "./index-Bb3zXP0P.js";
3
3
  import { SearchParams, SearchResult } from "./search-DrJiCT7d.js";
4
4
  import { ChatSearchFilter, ChatSearchStateType, ProductSorting } from "./types-BegmH0S1.js";
5
5
  import * as jotai46 from "jotai";
@@ -183,4 +183,4 @@ declare const performSearchAtom: jotai46.WritableAtom<null, [params: SearchParam
183
183
  };
184
184
  //#endregion
185
185
  export { ChatSearchTurn, ChatSearchTurnAtom, SelectedChatSearchFilterOption, SelectedFilterOption, addSearchFilterAtom, additiveDynamicFiltersAtom, chatSearchFiltersAtom, chatSearchHasProductsAtom, chatSearchIdAtom, chatSearchIsLoadingAtom, chatSearchParamsAtom, chatSearchProductSortingAtom, chatSearchProducts, chatSearchQueryAtom, chatSearchStateAtom, clearSearchFiltersAtom, createChatSearchFilterOption, createFilterOption, filteredSearchProductsAtom, getSearchParamsAtom, handleSearchResultsAtom, initiateChatSearchAtom, internalSearchSystemStateAtom, performSearchAtom, removeSearchFilterAtom, searchAtom, searchFiltersAtom, searchParamsAtom, searchProductSortingAtom, searchSelectedFiltersAtom, searchSystemAtom, selectedFilterOptionsAtom, setChatSearchParamsAtom, setSearchParams };
186
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtQ1VPNjhLRzMuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi9zcmMvYXRvbXMvc2VhcmNoL2NoYXRTZWFyY2guZC50cyIsIi4uL3NyYy9hdG9tcy9zZWFyY2gvc2VhcmNoQVBJLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVzc2FnZSwgUHJvZHVjdFJlc3BvbnNlQXR0cmlidXRlcyB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzXCI7XG5pbXBvcnQgeyBDaGF0U2VhcmNoU3RhdGVUeXBlLCBQcm9kdWN0U29ydGluZyB9IGZyb20gXCIuL3R5cGVzXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBjaGF0U2VhcmNoU3RhdGVBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5QcmltaXRpdmVBdG9tPENoYXRTZWFyY2hTdGF0ZVR5cGU+ICYge1xuICAgIGluaXQ6IENoYXRTZWFyY2hTdGF0ZVR5cGU7XG59O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgY2hhdFNlYXJjaEhhc1Byb2R1Y3RzQXRvbTogaW1wb3J0KFwiam90YWlcIikuUHJpbWl0aXZlQXRvbTxib29sZWFuPiAmIHtcbiAgICBpbml0OiBib29sZWFuO1xufTtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNoYXRTZWFyY2hQcm9kdWN0U29ydGluZ0F0b206IGltcG9ydChcImpvdGFpXCIpLlByaW1pdGl2ZUF0b208UHJvZHVjdFNvcnRpbmc+ICYge1xuICAgIGluaXQ6IFByb2R1Y3RTb3J0aW5nO1xufTtcbmV4cG9ydCB0eXBlIENoYXRTZWFyY2hUdXJuID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgZ2VuZXJhdGVkUXVlcnk/OiBzdHJpbmc7XG4gICAgcHJvZHVjdENvdW50OiBudW1iZXI7XG4gICAgcHJvZHVjdExpc3Q6IFByb2R1Y3RSZXNwb25zZUF0dHJpYnV0ZXNbXCJhdHRyaWJ1dGVzXCJdW107XG4gICAgZmlsdGVyTGlzdDogc3RyaW5nW107XG4gICAgbWVzc2FnZXM6IE1lc3NhZ2VbXTtcbn07XG5leHBvcnQgZGVjbGFyZSBjb25zdCBjaGF0U2VhcmNoSXNMb2FkaW5nQXRvbTogaW1wb3J0KFwiam90YWlcIikuUHJpbWl0aXZlQXRvbTxib29sZWFuPiAmIHtcbiAgICBpbml0OiBib29sZWFuO1xufTtcbmV4cG9ydCB0eXBlIFNlbGVjdGVkQ2hhdFNlYXJjaEZpbHRlck9wdGlvbiA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgZmlsdGVySWQ6IHN0cmluZztcbiAgICBmaWx0ZXJJdGVtSWQ6IHN0cmluZztcbn07XG5leHBvcnQgZGVjbGFyZSBjb25zdCBzZWxlY3RlZEZpbHRlck9wdGlvbnNBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5QcmltaXRpdmVBdG9tPFNlbGVjdGVkQ2hhdFNlYXJjaEZpbHRlck9wdGlvbltdPiAmIHtcbiAgICBpbml0OiBTZWxlY3RlZENoYXRTZWFyY2hGaWx0ZXJPcHRpb25bXTtcbn07XG5leHBvcnQgZGVjbGFyZSBjb25zdCBhZGRpdGl2ZUR5bmFtaWNGaWx0ZXJzQXRvbTogaW1wb3J0KFwiam90YWlcIikuQXRvbTxib29sZWFuPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNyZWF0ZUNoYXRTZWFyY2hGaWx0ZXJPcHRpb246IChmaWx0ZXJJZDogc3RyaW5nLCBmaWx0ZXJJdGVtSWQ6IHN0cmluZywgZGlzcGxheU5hbWU6IHN0cmluZykgPT4gU2VsZWN0ZWRDaGF0U2VhcmNoRmlsdGVyT3B0aW9uO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgY2hhdFNlYXJjaFBhcmFtc0F0b206IGltcG9ydChcImpvdGFpXCIpLldyaXRhYmxlQXRvbTx7XG4gICAgaWQ6IHN0cmluZyB8IG51bGw7XG4gICAgcXVlcnk6IHN0cmluZyB8IG51bGw7XG59LCBbdmFsdWU6IHtcbiAgICBpZDogc3RyaW5nIHwgbnVsbDtcbiAgICBxdWVyeTogc3RyaW5nIHwgbnVsbDtcbn1dLCB2b2lkPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNoYXRTZWFyY2hRdWVyeUF0b206IGltcG9ydChcImpvdGFpXCIpLldyaXRhYmxlQXRvbTxzdHJpbmcgfCBudWxsLCBbdmFsdWU6IHN0cmluZyB8IG51bGxdLCB2b2lkPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNoYXRTZWFyY2hJZEF0b206IGltcG9ydChcImpvdGFpXCIpLldyaXRhYmxlQXRvbTxzdHJpbmcgfCBudWxsLCBbdmFsdWU6IHN0cmluZyB8IG51bGxdLCB2b2lkPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IENoYXRTZWFyY2hUdXJuQXRvbTogaW1wb3J0KFwiam90YWlcIikuQXRvbTx7XG4gICAgcHJvZHVjdExpc3Q6IHtcbiAgICAgICAgYXZlcmFnZVJhdGluZz86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICAgICAgY29sb3JzPzogc3RyaW5nW10gfCB1bmRlZmluZWQ7XG4gICAgICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICBmaWx0ZXJzPzoge1xuICAgICAgICAgICAgW3g6IHN0cmluZ106IHN0cmluZ1tdO1xuICAgICAgICB9IHwgdW5kZWZpbmVkO1xuICAgICAgICBpZDogc3RyaW5nO1xuICAgICAgICBpbWFnZVVybD86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgaW1hZ2VVcmxzPzogc3RyaW5nW10gfCB1bmRlZmluZWQ7XG4gICAgICAgIGlzRm9yR3JpZD86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgICAgIG1ldGFkYXRhPzoge1xuICAgICAgICAgICAgbGFiZWw6IHN0cmluZztcbiAgICAgICAgICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgICAgIH1bXSB8IHVuZGVmaW5lZDtcbiAgICAgICAgbnVtYmVyUmV2aWV3cz86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICAgICAgb3JpZ2luYWxQcmljZT86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICAgICAgc2FsZVByaWNlPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgICAgICBzaXplcz86IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICAgICAgICB0aXRsZTogc3RyaW5nO1xuICAgICAgICB1cmw6IHN0cmluZztcbiAgICB9W107XG4gICAgcHJvZHVjdENvdW50OiBudW1iZXI7XG4gICAgaWQ6IHN0cmluZztcbiAgICBnZW5lcmF0ZWRRdWVyeT86IHN0cmluZztcbiAgICBmaWx0ZXJMaXN0OiBzdHJpbmdbXTtcbiAgICBtZXNzYWdlczogTWVzc2FnZVtdO1xufSB8IG51bGw+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgY2hhdFNlYXJjaFByb2R1Y3RzOiBpbXBvcnQoXCJqb3RhaVwiKS5BdG9tPHtcbiAgICBhdmVyYWdlUmF0aW5nPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIGNvbG9ycz86IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGZpbHRlcnM/OiB7XG4gICAgICAgIFt4OiBzdHJpbmddOiBzdHJpbmdbXTtcbiAgICB9IHwgdW5kZWZpbmVkO1xuICAgIGlkOiBzdHJpbmc7XG4gICAgaW1hZ2VVcmw/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgaW1hZ2VVcmxzPzogc3RyaW5nW10gfCB1bmRlZmluZWQ7XG4gICAgaXNGb3JHcmlkPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgICBtZXRhZGF0YT86IHtcbiAgICAgICAgbGFiZWw6IHN0cmluZztcbiAgICAgICAgdmFsdWU6IHN0cmluZztcbiAgICB9W10gfCB1bmRlZmluZWQ7XG4gICAgbnVtYmVyUmV2aWV3cz86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBvcmlnaW5hbFByaWNlPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIHNhbGVQcmljZT86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBzaXplcz86IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgdXJsOiBzdHJpbmc7XG59W10+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgY2hhdFNlYXJjaEZpbHRlcnNBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5BdG9tPGltcG9ydChcIi4vdHlwZXNcIikuQ2hhdFNlYXJjaEZpbHRlcltdPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHNldFNlYXJjaFBhcmFtczogKHF1ZXJ5OiBzdHJpbmcpID0+IHZvaWQ7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBnZXRTZWFyY2hQYXJhbXNBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5BdG9tPHtcbiAgICBlczogc3RyaW5nIHwgbnVsbDtcbiAgICBlc3E6IHN0cmluZyB8IG51bGw7XG59PjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGluaXRpYXRlQ2hhdFNlYXJjaEF0b206IGltcG9ydChcImpvdGFpXCIpLldyaXRhYmxlQXRvbTxudWxsLCBbcXVlcnk6IHN0cmluZ10sIHZvaWQ+ICYge1xuICAgIGluaXQ6IG51bGw7XG59O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaGFuZGxlU2VhcmNoUmVzdWx0c0F0b206IGltcG9ydChcImpvdGFpXCIpLldyaXRhYmxlQXRvbTxudWxsLCBbbWVzc2FnZTogTWVzc2FnZSB8IHVuZGVmaW5lZF0sIHZvaWQ+ICYge1xuICAgIGluaXQ6IG51bGw7XG59O1xuZXhwb3J0IGRlY2xhcmUgY29uc3Qgc2V0Q2hhdFNlYXJjaFBhcmFtc0F0b206IGltcG9ydChcImpvdGFpXCIpLldyaXRhYmxlQXRvbTxudWxsLCBbcXVlcnk6IHN0cmluZ10sIHZvaWQ+ICYge1xuICAgIGluaXQ6IG51bGw7XG59O1xuIiwiaW1wb3J0IHsgU2VhcmNoUmVzdWx0LCBTZWFyY2hQYXJhbXMgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvc2VhcmNoXCI7XG5pbXBvcnQgeyBQcm9kdWN0U29ydGluZyB9IGZyb20gXCIuL3R5cGVzXCI7XG5leHBvcnQgdHlwZSBTZWxlY3RlZEZpbHRlck9wdGlvbiA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgZmlsdGVySWQ6IHN0cmluZztcbiAgICBmaWx0ZXJJdGVtSWQ6IHN0cmluZztcbn07XG5pbnRlcmZhY2UgU2VhcmNoU3RhdGUge1xuICAgIGRhdGE6IFNlYXJjaFJlc3VsdCB8IG51bGw7XG4gICAgbG9hZGluZzogYm9vbGVhbjtcbiAgICBlcnJvcjogc3RyaW5nIHwgbnVsbDtcbiAgICBsYXN0UXVlcnk6IHN0cmluZyB8IG51bGw7XG59XG5leHBvcnQgZGVjbGFyZSBjb25zdCBzZWFyY2hBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5QcmltaXRpdmVBdG9tPFNlYXJjaFN0YXRlPiAmIHtcbiAgICBpbml0OiBTZWFyY2hTdGF0ZTtcbn07XG5leHBvcnQgZGVjbGFyZSBjb25zdCBzZWFyY2hQcm9kdWN0U29ydGluZ0F0b206IGltcG9ydChcImpvdGFpXCIpLlByaW1pdGl2ZUF0b208UHJvZHVjdFNvcnRpbmc+ICYge1xuICAgIGluaXQ6IFByb2R1Y3RTb3J0aW5nO1xufTtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHNlYXJjaFNlbGVjdGVkRmlsdGVyc0F0b206IGltcG9ydChcImpvdGFpXCIpLlByaW1pdGl2ZUF0b208U2VsZWN0ZWRGaWx0ZXJPcHRpb25bXT4gJiB7XG4gICAgaW5pdDogU2VsZWN0ZWRGaWx0ZXJPcHRpb25bXTtcbn07XG5leHBvcnQgZGVjbGFyZSBjb25zdCBjcmVhdGVGaWx0ZXJPcHRpb246IChmaWx0ZXJJZDogc3RyaW5nLCBmaWx0ZXJJdGVtSWQ6IHN0cmluZywgZGlzcGxheU5hbWU6IHN0cmluZykgPT4gU2VsZWN0ZWRGaWx0ZXJPcHRpb247XG5leHBvcnQgZGVjbGFyZSBjb25zdCBzZWFyY2hQYXJhbXNBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5Xcml0YWJsZUF0b208e1xuICAgIGlkOiBzdHJpbmcgfCBudWxsO1xuICAgIHF1ZXJ5OiBzdHJpbmcgfCBudWxsO1xufSwgW3ZhbHVlOiB7XG4gICAgaWQ6IHN0cmluZyB8IG51bGw7XG4gICAgcXVlcnk6IHN0cmluZyB8IG51bGw7XG59XSwgdm9pZD47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpbnRlcm5hbFNlYXJjaFN5c3RlbVN0YXRlQXRvbTogaW1wb3J0KFwiam90YWlcIikuUHJpbWl0aXZlQXRvbTxib29sZWFuPiAmIHtcbiAgICBpbml0OiBib29sZWFuO1xufTtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHNlYXJjaFN5c3RlbUF0b206IGltcG9ydChcImpvdGFpXCIpLldyaXRhYmxlQXRvbTxib29sZWFuLCBbdmFsdWU6IGJvb2xlYW5dLCB2b2lkPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGZpbHRlcmVkU2VhcmNoUHJvZHVjdHNBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5BdG9tPHtcbiAgICBhdmVyYWdlUmF0aW5nPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIGNvbG9ycz86IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGZpbHRlcnM/OiB7XG4gICAgICAgIFt4OiBzdHJpbmddOiBzdHJpbmdbXTtcbiAgICB9IHwgdW5kZWZpbmVkO1xuICAgIGlkOiBzdHJpbmc7XG4gICAgaW1hZ2VVcmw/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgaW1hZ2VVcmxzPzogc3RyaW5nW10gfCB1bmRlZmluZWQ7XG4gICAgaXNGb3JHcmlkPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgICBtZXRhZGF0YT86IHtcbiAgICAgICAgbGFiZWw6IHN0cmluZztcbiAgICAgICAgdmFsdWU6IHN0cmluZztcbiAgICB9W10gfCB1bmRlZmluZWQ7XG4gICAgbnVtYmVyUmV2aWV3cz86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBvcmlnaW5hbFByaWNlPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIHNhbGVQcmljZT86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBzaXplcz86IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgdXJsOiBzdHJpbmc7XG59W10+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3Qgc2VhcmNoRmlsdGVyc0F0b206IGltcG9ydChcImpvdGFpXCIpLkF0b208aW1wb3J0KFwiLi90eXBlc1wiKS5DaGF0U2VhcmNoRmlsdGVyW10+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgYWRkU2VhcmNoRmlsdGVyQXRvbTogaW1wb3J0KFwiam90YWlcIikuV3JpdGFibGVBdG9tPG51bGwsIFtmaWx0ZXI6IFNlbGVjdGVkRmlsdGVyT3B0aW9uXSwgdm9pZD4gJiB7XG4gICAgaW5pdDogbnVsbDtcbn07XG5leHBvcnQgZGVjbGFyZSBjb25zdCByZW1vdmVTZWFyY2hGaWx0ZXJBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5Xcml0YWJsZUF0b208bnVsbCwgW2ZpbHRlcklkOiBzdHJpbmddLCB2b2lkPiAmIHtcbiAgICBpbml0OiBudWxsO1xufTtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNsZWFyU2VhcmNoRmlsdGVyc0F0b206IGltcG9ydChcImpvdGFpXCIpLldyaXRhYmxlQXRvbTxudWxsLCBbXSwgdm9pZD4gJiB7XG4gICAgaW5pdDogbnVsbDtcbn07XG5leHBvcnQgZGVjbGFyZSBjb25zdCBwZXJmb3JtU2VhcmNoQXRvbTogaW1wb3J0KFwiam90YWlcIikuV3JpdGFibGVBdG9tPG51bGwsIFtwYXJhbXM6IFNlYXJjaFBhcmFtcywgYWxsb3dSZWRpcmVjdD86IHVua25vd25dLCBQcm9taXNlPHZvaWQ+PiAmIHtcbiAgICBpbml0OiBudWxsO1xufTtcbmV4cG9ydCB7fTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLElBQUMsc0JBQUE7Q0FBQTtPQUFBO09BQUEsUUFBQTtPQUFBO0NBQUE7QUFDRCxJQUFXLDRCQUE0QixDQUFDLFdBQVcsUUFBUSxjQUFjO0FBQ3pFLElBQVcsK0JBQU07Q0FBQTtPQUFBO09BQUEsUUFBQTtPQUFBO0NBQUE7QUFDakIsSUFBQyxpQkFBQTtDQUFBO09BQUE7T0FBQTtDQUFBO0FBQ0QsSUFBVywwQkFBMEIsQ0FBQyxXQUFXLFFBQVEsY0FBYztBQUN2RSxJQUFXLGlDQUFhLENBQUEsSUFBQTtBQUN4QixJQUFDLDRCQUFBO0NBQUE7T0FBQTtPQUFBLFFBQUE7T0FBQTtDQUFBO0FBQ0QsSUFBVyw2QkFBa0IsQ0FBQSxXQUFBLFFBQUEsS0FBQTtBQUM3QixJQUFXLCtCQUFHLENBQUEsV0FBQSwrQkFBQTtBQUNkLElBQVcsdUJBQWdCLENBQUEsV0FBQSxRQUFBLGFBQUE7QUFDM0IsSUFBVyxzQkFBYSxDQUFBLFdBQUEsUUFBQSxhQUFBO0FBQ3hCLElBQVcsbUJBQW1CLENBQUMsV0FBVyxRQUFRLGFBQVE7QUFDMUQsSUFBVyxxQkFBYTtDQUFBO09BQUE7T0FBQSxRQUFBO0NBQUE7QUFDeEIsSUFBVyxxQkFBWSxDQUFBLFdBQUEsUUFBQSxLQUFBO0FBQ3ZCLElBQUMsd0JBQUE7Q0FBQTtPQUFBO09BQUEsUUFBQTtDQUFBO0FBQ0QsSUFBVyxrQkFBa0IsQ0FBQyxJQUFJO0FBQ2xDLElBQVcsc0JBQU0sQ0FBQSxXQUFBLFFBQUEsS0FBQTtBQUNqQixJQUFDLHlCQUFBLENBQUEsV0FBQSxRQUFBLGFBQUE7QUFDRCxJQUFXLDBCQUEwQjtDQUFDO09BQU87T0FBQSxRQUFBO0NBQUE7QUFDN0MsSUFBVywwQkFBRyxDQUFBLFdBQUEsUUFBQSxhQUFBOzs7O0FDbkJkLElBQVcsdUJBQVksQ0FBQSxJQUFBO0FBQ3ZCLElBQUksY0FBYyxDQUFDLFdBQUMsYUFBQTtBQUNwQixJQUFXLGFBQWE7Q0FBQTtPQUFBO09BQUEsUUFBQTtPQUFBO0NBQUE7QUFDeEIsSUFBQywyQkFBQTtDQUFBO09BQUE7T0FBQSxRQUFBO09BQUE7Q0FBQTtBQUNELElBQVcsNEJBQVc7Q0FBQTtPQUFBO09BQUEsUUFBQTtPQUFBO0NBQUE7QUFDdEIsSUFBVyxxQkFBa0IsQ0FBQSxXQUFBLHFCQUFBO0FBQzdCLElBQVcsbUJBQVMsQ0FBQSxXQUFBLFFBQUEsYUFBQTtBQUNwQixJQUFXLGdDQUFhLENBQUEsV0FBQSxRQUFBLGNBQUE7QUFDeEIsSUFBVyxtQkFBaUIsQ0FBQSxXQUFBLFFBQUEsYUFBQTtBQUM1QixJQUFBLDZCQUFBLENBQUEsV0FBQSxRQUFBLEtBQUE7QUFDQSxJQUFXLG9CQUFvQjtDQUFDO09BQVc7T0FBaUMsUUFBRTtDQUFBO0FBQzlFLElBQVcsc0JBQVU7Q0FBQTtPQUFBO09BQUEsUUFBQTtDQUFBO0FBQ3JCLElBQUMseUJBQUEsQ0FBQSxXQUFBLFFBQUEsYUFBQTtBQUNELElBQVcseUJBQXlCLENBQUMsV0FBVyxRQUFRLGFBQWE7QUFDckUsSUFBVyxvQkFBYTtDQUFBO09BQUE7T0FBQTtPQUFBLFFBQUE7Q0FBQSJ9
186
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtQlZzWEtONDguZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi9zcmMvYXRvbXMvc2VhcmNoL2NoYXRTZWFyY2guZC50cyIsIi4uL3NyYy9hdG9tcy9zZWFyY2gvc2VhcmNoQVBJLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVzc2FnZSwgUHJvZHVjdFJlc3BvbnNlQXR0cmlidXRlcyB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzXCI7XG5pbXBvcnQgeyBDaGF0U2VhcmNoU3RhdGVUeXBlLCBQcm9kdWN0U29ydGluZyB9IGZyb20gXCIuL3R5cGVzXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBjaGF0U2VhcmNoU3RhdGVBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5QcmltaXRpdmVBdG9tPENoYXRTZWFyY2hTdGF0ZVR5cGU+ICYge1xuICAgIGluaXQ6IENoYXRTZWFyY2hTdGF0ZVR5cGU7XG59O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgY2hhdFNlYXJjaEhhc1Byb2R1Y3RzQXRvbTogaW1wb3J0KFwiam90YWlcIikuUHJpbWl0aXZlQXRvbTxib29sZWFuPiAmIHtcbiAgICBpbml0OiBib29sZWFuO1xufTtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNoYXRTZWFyY2hQcm9kdWN0U29ydGluZ0F0b206IGltcG9ydChcImpvdGFpXCIpLlByaW1pdGl2ZUF0b208UHJvZHVjdFNvcnRpbmc+ICYge1xuICAgIGluaXQ6IFByb2R1Y3RTb3J0aW5nO1xufTtcbmV4cG9ydCB0eXBlIENoYXRTZWFyY2hUdXJuID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgZ2VuZXJhdGVkUXVlcnk/OiBzdHJpbmc7XG4gICAgcHJvZHVjdENvdW50OiBudW1iZXI7XG4gICAgcHJvZHVjdExpc3Q6IFByb2R1Y3RSZXNwb25zZUF0dHJpYnV0ZXNbXCJhdHRyaWJ1dGVzXCJdW107XG4gICAgZmlsdGVyTGlzdDogc3RyaW5nW107XG4gICAgbWVzc2FnZXM6IE1lc3NhZ2VbXTtcbn07XG5leHBvcnQgZGVjbGFyZSBjb25zdCBjaGF0U2VhcmNoSXNMb2FkaW5nQXRvbTogaW1wb3J0KFwiam90YWlcIikuUHJpbWl0aXZlQXRvbTxib29sZWFuPiAmIHtcbiAgICBpbml0OiBib29sZWFuO1xufTtcbmV4cG9ydCB0eXBlIFNlbGVjdGVkQ2hhdFNlYXJjaEZpbHRlck9wdGlvbiA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgZmlsdGVySWQ6IHN0cmluZztcbiAgICBmaWx0ZXJJdGVtSWQ6IHN0cmluZztcbn07XG5leHBvcnQgZGVjbGFyZSBjb25zdCBzZWxlY3RlZEZpbHRlck9wdGlvbnNBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5QcmltaXRpdmVBdG9tPFNlbGVjdGVkQ2hhdFNlYXJjaEZpbHRlck9wdGlvbltdPiAmIHtcbiAgICBpbml0OiBTZWxlY3RlZENoYXRTZWFyY2hGaWx0ZXJPcHRpb25bXTtcbn07XG5leHBvcnQgZGVjbGFyZSBjb25zdCBhZGRpdGl2ZUR5bmFtaWNGaWx0ZXJzQXRvbTogaW1wb3J0KFwiam90YWlcIikuQXRvbTxib29sZWFuPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNyZWF0ZUNoYXRTZWFyY2hGaWx0ZXJPcHRpb246IChmaWx0ZXJJZDogc3RyaW5nLCBmaWx0ZXJJdGVtSWQ6IHN0cmluZywgZGlzcGxheU5hbWU6IHN0cmluZykgPT4gU2VsZWN0ZWRDaGF0U2VhcmNoRmlsdGVyT3B0aW9uO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgY2hhdFNlYXJjaFBhcmFtc0F0b206IGltcG9ydChcImpvdGFpXCIpLldyaXRhYmxlQXRvbTx7XG4gICAgaWQ6IHN0cmluZyB8IG51bGw7XG4gICAgcXVlcnk6IHN0cmluZyB8IG51bGw7XG59LCBbdmFsdWU6IHtcbiAgICBpZDogc3RyaW5nIHwgbnVsbDtcbiAgICBxdWVyeTogc3RyaW5nIHwgbnVsbDtcbn1dLCB2b2lkPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNoYXRTZWFyY2hRdWVyeUF0b206IGltcG9ydChcImpvdGFpXCIpLldyaXRhYmxlQXRvbTxzdHJpbmcgfCBudWxsLCBbdmFsdWU6IHN0cmluZyB8IG51bGxdLCB2b2lkPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNoYXRTZWFyY2hJZEF0b206IGltcG9ydChcImpvdGFpXCIpLldyaXRhYmxlQXRvbTxzdHJpbmcgfCBudWxsLCBbdmFsdWU6IHN0cmluZyB8IG51bGxdLCB2b2lkPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IENoYXRTZWFyY2hUdXJuQXRvbTogaW1wb3J0KFwiam90YWlcIikuQXRvbTx7XG4gICAgcHJvZHVjdExpc3Q6IHtcbiAgICAgICAgYXZlcmFnZVJhdGluZz86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICAgICAgY29sb3JzPzogc3RyaW5nW10gfCB1bmRlZmluZWQ7XG4gICAgICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICBmaWx0ZXJzPzoge1xuICAgICAgICAgICAgW3g6IHN0cmluZ106IHN0cmluZ1tdO1xuICAgICAgICB9IHwgdW5kZWZpbmVkO1xuICAgICAgICBpZDogc3RyaW5nO1xuICAgICAgICBpbWFnZVVybD86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgaW1hZ2VVcmxzPzogc3RyaW5nW10gfCB1bmRlZmluZWQ7XG4gICAgICAgIGlzRm9yR3JpZD86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgICAgIG1ldGFkYXRhPzoge1xuICAgICAgICAgICAgbGFiZWw6IHN0cmluZztcbiAgICAgICAgICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgICAgIH1bXSB8IHVuZGVmaW5lZDtcbiAgICAgICAgbnVtYmVyUmV2aWV3cz86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICAgICAgb3JpZ2luYWxQcmljZT86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICAgICAgc2FsZVByaWNlPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgICAgICBzaXplcz86IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICAgICAgICB0aXRsZTogc3RyaW5nO1xuICAgICAgICB1cmw6IHN0cmluZztcbiAgICB9W107XG4gICAgcHJvZHVjdENvdW50OiBudW1iZXI7XG4gICAgaWQ6IHN0cmluZztcbiAgICBnZW5lcmF0ZWRRdWVyeT86IHN0cmluZztcbiAgICBmaWx0ZXJMaXN0OiBzdHJpbmdbXTtcbiAgICBtZXNzYWdlczogTWVzc2FnZVtdO1xufSB8IG51bGw+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgY2hhdFNlYXJjaFByb2R1Y3RzOiBpbXBvcnQoXCJqb3RhaVwiKS5BdG9tPHtcbiAgICBhdmVyYWdlUmF0aW5nPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIGNvbG9ycz86IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGZpbHRlcnM/OiB7XG4gICAgICAgIFt4OiBzdHJpbmddOiBzdHJpbmdbXTtcbiAgICB9IHwgdW5kZWZpbmVkO1xuICAgIGlkOiBzdHJpbmc7XG4gICAgaW1hZ2VVcmw/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgaW1hZ2VVcmxzPzogc3RyaW5nW10gfCB1bmRlZmluZWQ7XG4gICAgaXNGb3JHcmlkPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgICBtZXRhZGF0YT86IHtcbiAgICAgICAgbGFiZWw6IHN0cmluZztcbiAgICAgICAgdmFsdWU6IHN0cmluZztcbiAgICB9W10gfCB1bmRlZmluZWQ7XG4gICAgbnVtYmVyUmV2aWV3cz86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBvcmlnaW5hbFByaWNlPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIHNhbGVQcmljZT86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBzaXplcz86IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgdXJsOiBzdHJpbmc7XG59W10+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgY2hhdFNlYXJjaEZpbHRlcnNBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5BdG9tPGltcG9ydChcIi4vdHlwZXNcIikuQ2hhdFNlYXJjaEZpbHRlcltdPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHNldFNlYXJjaFBhcmFtczogKHF1ZXJ5OiBzdHJpbmcpID0+IHZvaWQ7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBnZXRTZWFyY2hQYXJhbXNBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5BdG9tPHtcbiAgICBlczogc3RyaW5nIHwgbnVsbDtcbiAgICBlc3E6IHN0cmluZyB8IG51bGw7XG59PjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGluaXRpYXRlQ2hhdFNlYXJjaEF0b206IGltcG9ydChcImpvdGFpXCIpLldyaXRhYmxlQXRvbTxudWxsLCBbcXVlcnk6IHN0cmluZ10sIHZvaWQ+ICYge1xuICAgIGluaXQ6IG51bGw7XG59O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaGFuZGxlU2VhcmNoUmVzdWx0c0F0b206IGltcG9ydChcImpvdGFpXCIpLldyaXRhYmxlQXRvbTxudWxsLCBbbWVzc2FnZTogTWVzc2FnZSB8IHVuZGVmaW5lZF0sIHZvaWQ+ICYge1xuICAgIGluaXQ6IG51bGw7XG59O1xuZXhwb3J0IGRlY2xhcmUgY29uc3Qgc2V0Q2hhdFNlYXJjaFBhcmFtc0F0b206IGltcG9ydChcImpvdGFpXCIpLldyaXRhYmxlQXRvbTxudWxsLCBbcXVlcnk6IHN0cmluZ10sIHZvaWQ+ICYge1xuICAgIGluaXQ6IG51bGw7XG59O1xuIiwiaW1wb3J0IHsgU2VhcmNoUmVzdWx0LCBTZWFyY2hQYXJhbXMgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvc2VhcmNoXCI7XG5pbXBvcnQgeyBQcm9kdWN0U29ydGluZyB9IGZyb20gXCIuL3R5cGVzXCI7XG5leHBvcnQgdHlwZSBTZWxlY3RlZEZpbHRlck9wdGlvbiA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgZmlsdGVySWQ6IHN0cmluZztcbiAgICBmaWx0ZXJJdGVtSWQ6IHN0cmluZztcbn07XG5pbnRlcmZhY2UgU2VhcmNoU3RhdGUge1xuICAgIGRhdGE6IFNlYXJjaFJlc3VsdCB8IG51bGw7XG4gICAgbG9hZGluZzogYm9vbGVhbjtcbiAgICBlcnJvcjogc3RyaW5nIHwgbnVsbDtcbiAgICBsYXN0UXVlcnk6IHN0cmluZyB8IG51bGw7XG59XG5leHBvcnQgZGVjbGFyZSBjb25zdCBzZWFyY2hBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5QcmltaXRpdmVBdG9tPFNlYXJjaFN0YXRlPiAmIHtcbiAgICBpbml0OiBTZWFyY2hTdGF0ZTtcbn07XG5leHBvcnQgZGVjbGFyZSBjb25zdCBzZWFyY2hQcm9kdWN0U29ydGluZ0F0b206IGltcG9ydChcImpvdGFpXCIpLlByaW1pdGl2ZUF0b208UHJvZHVjdFNvcnRpbmc+ICYge1xuICAgIGluaXQ6IFByb2R1Y3RTb3J0aW5nO1xufTtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHNlYXJjaFNlbGVjdGVkRmlsdGVyc0F0b206IGltcG9ydChcImpvdGFpXCIpLlByaW1pdGl2ZUF0b208U2VsZWN0ZWRGaWx0ZXJPcHRpb25bXT4gJiB7XG4gICAgaW5pdDogU2VsZWN0ZWRGaWx0ZXJPcHRpb25bXTtcbn07XG5leHBvcnQgZGVjbGFyZSBjb25zdCBjcmVhdGVGaWx0ZXJPcHRpb246IChmaWx0ZXJJZDogc3RyaW5nLCBmaWx0ZXJJdGVtSWQ6IHN0cmluZywgZGlzcGxheU5hbWU6IHN0cmluZykgPT4gU2VsZWN0ZWRGaWx0ZXJPcHRpb247XG5leHBvcnQgZGVjbGFyZSBjb25zdCBzZWFyY2hQYXJhbXNBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5Xcml0YWJsZUF0b208e1xuICAgIGlkOiBzdHJpbmcgfCBudWxsO1xuICAgIHF1ZXJ5OiBzdHJpbmcgfCBudWxsO1xufSwgW3ZhbHVlOiB7XG4gICAgaWQ6IHN0cmluZyB8IG51bGw7XG4gICAgcXVlcnk6IHN0cmluZyB8IG51bGw7XG59XSwgdm9pZD47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpbnRlcm5hbFNlYXJjaFN5c3RlbVN0YXRlQXRvbTogaW1wb3J0KFwiam90YWlcIikuUHJpbWl0aXZlQXRvbTxib29sZWFuPiAmIHtcbiAgICBpbml0OiBib29sZWFuO1xufTtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHNlYXJjaFN5c3RlbUF0b206IGltcG9ydChcImpvdGFpXCIpLldyaXRhYmxlQXRvbTxib29sZWFuLCBbdmFsdWU6IGJvb2xlYW5dLCB2b2lkPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGZpbHRlcmVkU2VhcmNoUHJvZHVjdHNBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5BdG9tPHtcbiAgICBhdmVyYWdlUmF0aW5nPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIGNvbG9ycz86IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGZpbHRlcnM/OiB7XG4gICAgICAgIFt4OiBzdHJpbmddOiBzdHJpbmdbXTtcbiAgICB9IHwgdW5kZWZpbmVkO1xuICAgIGlkOiBzdHJpbmc7XG4gICAgaW1hZ2VVcmw/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgaW1hZ2VVcmxzPzogc3RyaW5nW10gfCB1bmRlZmluZWQ7XG4gICAgaXNGb3JHcmlkPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgICBtZXRhZGF0YT86IHtcbiAgICAgICAgbGFiZWw6IHN0cmluZztcbiAgICAgICAgdmFsdWU6IHN0cmluZztcbiAgICB9W10gfCB1bmRlZmluZWQ7XG4gICAgbnVtYmVyUmV2aWV3cz86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBvcmlnaW5hbFByaWNlPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIHNhbGVQcmljZT86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBzaXplcz86IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgdXJsOiBzdHJpbmc7XG59W10+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3Qgc2VhcmNoRmlsdGVyc0F0b206IGltcG9ydChcImpvdGFpXCIpLkF0b208aW1wb3J0KFwiLi90eXBlc1wiKS5DaGF0U2VhcmNoRmlsdGVyW10+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgYWRkU2VhcmNoRmlsdGVyQXRvbTogaW1wb3J0KFwiam90YWlcIikuV3JpdGFibGVBdG9tPG51bGwsIFtmaWx0ZXI6IFNlbGVjdGVkRmlsdGVyT3B0aW9uXSwgdm9pZD4gJiB7XG4gICAgaW5pdDogbnVsbDtcbn07XG5leHBvcnQgZGVjbGFyZSBjb25zdCByZW1vdmVTZWFyY2hGaWx0ZXJBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5Xcml0YWJsZUF0b208bnVsbCwgW2ZpbHRlcklkOiBzdHJpbmddLCB2b2lkPiAmIHtcbiAgICBpbml0OiBudWxsO1xufTtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNsZWFyU2VhcmNoRmlsdGVyc0F0b206IGltcG9ydChcImpvdGFpXCIpLldyaXRhYmxlQXRvbTxudWxsLCBbXSwgdm9pZD4gJiB7XG4gICAgaW5pdDogbnVsbDtcbn07XG5leHBvcnQgZGVjbGFyZSBjb25zdCBwZXJmb3JtU2VhcmNoQXRvbTogaW1wb3J0KFwiam90YWlcIikuV3JpdGFibGVBdG9tPG51bGwsIFtwYXJhbXM6IFNlYXJjaFBhcmFtcywgYWxsb3dSZWRpcmVjdD86IHVua25vd25dLCBQcm9taXNlPHZvaWQ+PiAmIHtcbiAgICBpbml0OiBudWxsO1xufTtcbmV4cG9ydCB7fTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLElBQUMsc0JBQUE7Q0FBQTtPQUFBO09BQUEsUUFBQTtPQUFBO0NBQUE7QUFDRCxJQUFXLDRCQUE0QixDQUFDLFdBQVcsUUFBUSxjQUFjO0FBQ3pFLElBQVcsK0JBQU07Q0FBQTtPQUFBO09BQUEsUUFBQTtPQUFBO0NBQUE7QUFDakIsSUFBQyxpQkFBQTtDQUFBO09BQUE7T0FBQTtDQUFBO0FBQ0QsSUFBVywwQkFBMEIsQ0FBQyxXQUFXLFFBQVEsY0FBYztBQUN2RSxJQUFXLGlDQUFhLENBQUEsSUFBQTtBQUN4QixJQUFDLDRCQUFBO0NBQUE7T0FBQTtPQUFBLFFBQUE7T0FBQTtDQUFBO0FBQ0QsSUFBVyw2QkFBa0IsQ0FBQSxXQUFBLFFBQUEsS0FBQTtBQUM3QixJQUFXLCtCQUFHLENBQUEsV0FBQSwrQkFBQTtBQUNkLElBQVcsdUJBQWdCLENBQUEsV0FBQSxRQUFBLGFBQUE7QUFDM0IsSUFBVyxzQkFBYSxDQUFBLFdBQUEsUUFBQSxhQUFBO0FBQ3hCLElBQVcsbUJBQW1CLENBQUMsV0FBVyxRQUFRLGFBQVE7QUFDMUQsSUFBVyxxQkFBYTtDQUFBO09BQUE7T0FBQSxRQUFBO0NBQUE7QUFDeEIsSUFBVyxxQkFBWSxDQUFBLFdBQUEsUUFBQSxLQUFBO0FBQ3ZCLElBQUMsd0JBQUE7Q0FBQTtPQUFBO09BQUEsUUFBQTtDQUFBO0FBQ0QsSUFBVyxrQkFBa0IsQ0FBQyxJQUFJO0FBQ2xDLElBQVcsc0JBQU0sQ0FBQSxXQUFBLFFBQUEsS0FBQTtBQUNqQixJQUFDLHlCQUFBLENBQUEsV0FBQSxRQUFBLGFBQUE7QUFDRCxJQUFXLDBCQUEwQjtDQUFDO09BQU87T0FBQSxRQUFBO0NBQUE7QUFDN0MsSUFBVywwQkFBRyxDQUFBLFdBQUEsUUFBQSxhQUFBOzs7O0FDbkJkLElBQVcsdUJBQVksQ0FBQSxJQUFBO0FBQ3ZCLElBQUksY0FBYyxDQUFDLFdBQUMsYUFBQTtBQUNwQixJQUFXLGFBQWE7Q0FBQTtPQUFBO09BQUEsUUFBQTtPQUFBO0NBQUE7QUFDeEIsSUFBQywyQkFBQTtDQUFBO09BQUE7T0FBQSxRQUFBO09BQUE7Q0FBQTtBQUNELElBQVcsNEJBQVc7Q0FBQTtPQUFBO09BQUEsUUFBQTtPQUFBO0NBQUE7QUFDdEIsSUFBVyxxQkFBa0IsQ0FBQSxXQUFBLHFCQUFBO0FBQzdCLElBQVcsbUJBQVMsQ0FBQSxXQUFBLFFBQUEsYUFBQTtBQUNwQixJQUFXLGdDQUFhLENBQUEsV0FBQSxRQUFBLGNBQUE7QUFDeEIsSUFBVyxtQkFBaUIsQ0FBQSxXQUFBLFFBQUEsYUFBQTtBQUM1QixJQUFBLDZCQUFBLENBQUEsV0FBQSxRQUFBLEtBQUE7QUFDQSxJQUFXLG9CQUFvQjtDQUFDO09BQVc7T0FBaUMsUUFBRTtDQUFBO0FBQzlFLElBQVcsc0JBQVU7Q0FBQTtPQUFBO09BQUEsUUFBQTtDQUFBO0FBQ3JCLElBQUMseUJBQUEsQ0FBQSxXQUFBLFFBQUEsYUFBQTtBQUNELElBQVcseUJBQXlCLENBQUMsV0FBVyxRQUFRLGFBQWE7QUFDckUsSUFBVyxvQkFBYTtDQUFBO09BQUE7T0FBQTtPQUFBLFFBQUE7Q0FBQSJ9
@@ -1,7 +1,7 @@
1
1
  import { GetMerchantColorsQueryData } from "./index-DM_5fh8c.js";
2
2
  import { CamelCasedPropertiesDeep, NonRecursiveType, UnknownArray, UpperCaseCharacters, WordSeparators } from "./index-Dxpscrvz.js";
3
3
  import { AcceptableFormFieldType, ApiFormResponseAttributes, ApiPageResponseAttributes, OrderResponseAttributes as OrderResponseAttributes$1, PageResponseAttributes, ProductResponseAttributes, Response as Response$1, ReviewResponseAttributes, SearchProductFilterAttributes, SearchProductResponseAttributes, SearchResponseAttributes, TextResponseAttributes } from "./responseGenerics-D9bS-Dd6.js";
4
- import { ColorMapping, FrontendConfig, OrgConfig$1 as OrgConfig, OrganizationConfig as OrganizationConfig$1, PageVariantConfig, WidgetConfig, WidgetMountingConfig } from "./frontendConfig-Cawh5iqv.js";
4
+ import { ColorMapping, FrontendConfig, OrgConfig$1 as OrgConfig, OrganizationConfig as OrganizationConfig$1, PageVariantConfig, WidgetConfig, WidgetMountingConfig } from "./frontendConfig-msK69LYN.js";
5
5
  import { VariantInfo } from "./index-D7htGSQC.js";
6
6
  import { Context, CustServiceAttachment, FormSubmittedAttributes, FormType, FulfillmentDisplayStatus, GenerationParams, OrderItemInfo, OrderResponseAttributes, OrganizationConfig, OrganizationSettings, PDPAttributes, PLPAttributes, PLPIdAttributes, PageVisitCategory, ProductSearchFilterResponseAttributes, QueryTypedAttributes, SearchAttributes, StatsigExperiment, StatsigFeatureGate, Suggestion, SuggestionClickedAttributes, UserEvent, UserEventCategory } from "@spiffy-ai/commerce-api-client";
7
7
 
@@ -670,4 +670,4 @@ declare const validateSuggestion: (data: unknown) => Suggestion$1 | undefined;
670
670
  declare const validateUserEvent: (data: unknown) => UserEvent$1 | undefined;
671
671
  //#endregion
672
672
  export { ApiOrderItemInfo, ApiOrderResponseAttributes, ApiOrganizationConfig, AppLoadedUserEvent, AppUnloadedEvent, BaseEcommerceEvent, type CachedValue, type ClientDetails, Context$1 as Context, ConversationalSearchIds, DelimiterCase, DelimiterCasedPropertiesDeep, FormField, FormSubmitted, FormSubmittedAttributes$1 as FormSubmittedAttributes, GA4EcommerceEvent, GenerationParams$1 as GenerationParams, GoogleAnalyticsEvents, Message, MessageRole, MessageType, MobilePLPChatPlacementParameter, NextMessageRequest$1 as NextMessageRequest, OrgShortName, PDPAttributes$1 as PDPAttributes, PDPUserEvent, PLPAttributes$1 as PLPAttributes, PLPUserEvent, PageVisitAttributes, PageVisitEvent, ProductExperiment, ProductMessageMetadata, ProductSearchMessageMetadata, QueryTypedAttributes$1 as QueryTypedAttributes, QueryTypedUserEvent, SearchAttributes$1 as SearchAttributes, SearchUserEvent, SnakeCasedPropertiesDeep, SpanxTakeAQuizCtaParameter, SpiffyEventName, SplitIncludingDelimiters, Suggestion$1 as Suggestion, SuggestionClickedAttributes$1 as SuggestionClickedAttributes, SuggestionsClickedUserEvent, SupportedEventRequest$1 as SupportedEventRequest, UAEcommerceEvent, UserEvent$1 as UserEvent, UserEventAttributes, isApiFormResponseAttributes, isApiFormSubmittedResponseAttributes, isApiOrderResponseAttributes, isApiOrgConfigResults, isApiOrganizationConfig, isApiPLPEventAttributes, isApiPLPIdAttribute, isApiPageResponseAttributes, isApiProductSearchFilterResponseAttributes, isBaseEcommerceEvent, isGA4EcommerceEvent, isGraphQLColorsConfig, isLegacyUAEcommerceEvent, isMobilePLPChatPlacementParameter, isSpanxTakeAQuizCtaParameter, isVariantInfo, stringToFulfillmentDisplayStatusEnumValue, transformCamelToSnake, transformSnakeToCamel, validateAndTransformMountingConfig, validateAndTransformPageVariants, validateAndTransformWidgetConfig, validateGraphQLColorsConfig, validateGraphQLFrontendConfig, validateGraphQLOrgId, validateMobilePLPChatPlacementParameter, validateOrgConfigResults, validateOrganizationConfig, validateResponse, validateSuggestion, validateUserEvent };
673
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtQlVEckF4bmwuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2NhY2hlZFZhbHVlLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2NsaWVudERldGFpbHMuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvY29udmVyc2F0aW9uYWxTZWFyY2hJZHMuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZGF0YUxheWVyLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2V2ZW50cy5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9nb29nbGVBbmFseXRpY3NFdmVudHMuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvbWVzc2FnZS5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9tb2JpbGVQTFBDaGF0UGxhY2VtZW50UGFyYW1ldGVyLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL29yZ3NFbnVtLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3Byb2R1Y3RFeHBlcmltZW50LmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3NwYW54VGFrZUFRdWl6Q3RhUGFyYW1ldGVyLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9jb250ZXh0LmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9nZW5lcmF0aW9uUGFyYW1zLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS91c2VyRXZlbnQuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL25leHRNZXNzYWdlUmVxdWVzdC5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvc3VnZ2VzdGlvbi5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvc3VwcG9ydGVkRXZlbnRSZXF1ZXN0LmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9pc0Jhc2VFY29tbWVyY2VFdmVudC5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvaXNHQTRFY29tbWVyY2VFdmVudC5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvaXNMZWdhY3lVQUVjb21tZXJjZUV2ZW50LmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9pc01vYmlsZVBMUENoYXRQbGFjZW1lbnRQYXJhbWV0ZXIuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2lzU3BhbnhUYWtlQVF1aXpDdGFQYXJhbWV0ZXIuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2lzVmFyaWFudEluZm8uZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2FwaS9pc0FwaUZvcm1SZXNwb25zZS5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvYXBpL2lzQXBpRm9ybVN1Ym1pdHRlZFJlc3BvbnNlQXR0cmlidXRlcy5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvYXBpL2lzQXBpT3JkZXJSZXNwb25zZUF0dHJpYnV0ZXMuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2FwaS9pc0FwaU9yZ2FuaXphdGlvbkNvbmZpZy5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvYXBpL2lzQXBpT3JnQ29uZmlnUmVzdWx0cy5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvYXBpL2lzQXBpUGFnZVJlc3BvbnNlQXR0cmlidXRlcy5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvYXBpL2lzQXBpUExQRXZlbnRBdHRyaWJ1dGVzLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9hcGkvaXNBcGlQcm9kdWN0U2VhcmNoRmlsdGVyQXR0cmlidXRlcy5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvZ3JhcGhRTC9pc0dyYXBoUUxDb2xvcnNDb25maWcuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdXRpbGl0eVR5cGVzL2RlbGltaXRlckNhc2UuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdXRpbGl0eVR5cGVzL2RlbGltaXRlckNhc2VkUHJvcGVydGllc0RlZXAuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdXRpbGl0eVR5cGVzL3NuYWtlQ2FzZWRQcm9wZXJ0aWVzRGVlcC5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy91dGlscy9zbmFrZVRvQ2FtZWxUcmFuc2Zvcm1lci5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy91dGlscy9zdHJpbmdUb0Z1bGZpbGxtZW50RGlzcGxheVN0YXR1c0VudW1WYWx1ZS5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy92YWxpZGF0b3JzL3ZhbGlkYXRlR3JhcGhRTENvbG9yc0NvbmZpZy5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy92YWxpZGF0b3JzL3ZhbGlkYXRlR3JhcGhRTEZyb250ZW5kQ29uZmlnLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3ZhbGlkYXRvcnMvdmFsaWRhdGVHcmFwaFFMT3JnSWQuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdmFsaWRhdG9ycy92YWxpZGF0ZU1vYmlsZVBMUENoYXRQbGFjZW1lbnRQYXJhbWV0ZXIuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdmFsaWRhdG9ycy92YWxpZGF0ZU9yZ2FuaXphdGlvbkNvbmZpZy5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy92YWxpZGF0b3JzL3ZhbGlkYXRlT3JnQ29uZmlnUmVzdWx0cy5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy92YWxpZGF0b3JzL3ZhbGlkYXRlUmVzcG9uc2UuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdmFsaWRhdG9ycy92YWxpZGF0ZVN1Z2dlc3Rpb24uZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdmFsaWRhdG9ycy92YWxpZGF0ZVVzZXJFdmVudC5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImludGVyZmFjZSBDYWNoZWRWYWx1ZSB7XG4gICAgdmFsdWU6IHVua25vd247XG4gICAgZXhwaXJ5OiBudW1iZXI7XG59XG5leHBvcnQgdHlwZSB7IENhY2hlZFZhbHVlIH07XG4iLCJpbnRlcmZhY2UgQ2xpZW50RGV0YWlscyB7XG4gICAgb3M/OiBzdHJpbmc7XG4gICAgb3NWZXJzaW9uPzogc3RyaW5nO1xuICAgIGRldmljZUJyYW5kPzogc3RyaW5nO1xuICAgIGRldmljZU1hbnVmYWN0dXJlcj86IHN0cmluZztcbiAgICBkZXZpY2VNb2RlbD86IHN0cmluZztcbiAgICBjYXJyaWVyPzogc3RyaW5nO1xuICAgIGNvdW50cnk/OiBzdHJpbmc7XG4gICAgcmVnaW9uPzogc3RyaW5nO1xuICAgIGJyb3dzZXI/OiBzdHJpbmc7XG4gICAgYnJvd3NlclZlcnNpb24/OiBzdHJpbmc7XG4gICAgYnJvd3NlcklwQWRkcmVzcz86IHN0cmluZztcbiAgICB1c2VyQWdlbnQ/OiBzdHJpbmc7XG59XG5leHBvcnQgdHlwZSB7IENsaWVudERldGFpbHMsIH07XG4iLCJleHBvcnQgdHlwZSBDb252ZXJzYXRpb25hbFNlYXJjaElkcyA9IHtcbiAgICBjb252ZXJzYXRpb25hbFNlYXJjaEVudHJ5cG9pbnRJZD86IHN0cmluZztcbiAgICBjb252ZXJzYXRpb25hbFNlYXJjaElucHV0SWQ/OiBzdHJpbmc7XG4gICAgY29udmVyc2F0aW9uYWxTZWFyY2hNb2RhbElkPzogc3RyaW5nO1xufTtcbiIsIi8qKlxuICogQmFzZSBpbnRlcmZhY2UgZm9yIGNvbW1vbiBwcm9wZXJ0aWVzIGFjcm9zcyBhbGwgZWNvbW1lcmNlIGV2ZW50c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VFY29tbWVyY2VFdmVudCB7XG4gICAgZXZlbnQ6IHN0cmluZztcbiAgICBlY29tbWVyY2U6IFVBRWNvbW1lcmNlRGF0YSB8IEdBNEVjb21tZXJjZURhdGE7XG59XG4vKipcbiAqIExlZ2FjeSB1bml2ZXJzYWwgYW5hbHl0aWNzIGRhdGEuIFRoZSBhY3R1YWwgcGF5bG9hZCBjb250YWlucyBtb3JlIGZpZWxkcywgYnV0IHdlXG4gKiBvbmx5IG5lZWQgdGhlIG9uZXMgbGlzdGVkIGJlbG93LlxuICovXG5pbnRlcmZhY2UgVUFFY29tbWVyY2VEYXRhIHtcbiAgICBhZGQ6IHtcbiAgICAgICAgcHJvZHVjdHM6IHtcbiAgICAgICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgICAgIGNhdGVnb3J5OiBzdHJpbmc7XG4gICAgICAgICAgICBwcmljZTogc3RyaW5nO1xuICAgICAgICAgICAgcXVhbnRpdHk6IHN0cmluZztcbiAgICAgICAgfVtdO1xuICAgICAgICBjdXJyZW5jeUNvZGU6IHN0cmluZztcbiAgICB9O1xufVxuLyoqXG4gKiBHb29nbGUgQW5hbHl0aWNzIDQgZGF0YS4gVGhlIGFjdHVhbCBwYXlsb2FkIGNvbnRhaW5zIG1vcmUgZmllbGRzLCBidXQgd2VcbiAqIG9ubHkgbmVlZCB0aGUgb25lcyBsaXN0ZWQgYmVsb3cuXG4gKi9cbmludGVyZmFjZSBHQTRFY29tbWVyY2VEYXRhIHtcbiAgICBjdXJyZW5jeTogc3RyaW5nO1xuICAgIGl0ZW1zOiB7XG4gICAgICAgIGl0ZW1fbmFtZTogc3RyaW5nO1xuICAgICAgICBpdGVtX2NhdGVnb3J5OiBzdHJpbmc7XG4gICAgICAgIHByaWNlOiBudW1iZXI7XG4gICAgICAgIHF1YW50aXR5OiBudW1iZXI7XG4gICAgfVtdO1xufVxuZXhwb3J0IGludGVyZmFjZSBVQUVjb21tZXJjZUV2ZW50IGV4dGVuZHMgQmFzZUVjb21tZXJjZUV2ZW50IHtcbiAgICBlY29tbWVyY2U6IFVBRWNvbW1lcmNlRGF0YTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgR0E0RWNvbW1lcmNlRXZlbnQgZXh0ZW5kcyBCYXNlRWNvbW1lcmNlRXZlbnQge1xuICAgIGVjb21tZXJjZTogR0E0RWNvbW1lcmNlRGF0YTtcbn1cbmV4cG9ydCB7fTtcbiIsImV4cG9ydCBkZWNsYXJlIGVudW0gU3BpZmZ5RXZlbnROYW1lIHtcbiAgICBXaWRnZXRPcGVuID0gXCJzcGlmZnk6d2lkZ2V0b3BlblwiLFxuICAgIFdpZGdldENsb3NlID0gXCJzcGlmZnk6d2lkZ2V0Y2xvc2VcIlxufVxuIiwiZGVjbGFyZSBlbnVtIEdvb2dsZUFuYWx5dGljc0V2ZW50cyB7XG4gICAgQUREX1RPX0NBUlRfdjEgPSBcImFkZF90b19jYXJ0XCIsXG4gICAgQUREX1RPX0NBUlRfdjIgPSBcImFkZFRvQ2FydFwiXG59XG5leHBvcnQgeyBHb29nbGVBbmFseXRpY3NFdmVudHMgfTtcbiIsImltcG9ydCB7IEN1c3RTZXJ2aWNlQXR0YWNobWVudCwgRm9ybVR5cGUgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgT3JkZXJSZXNwb25zZUF0dHJpYnV0ZXMsIFByb2R1Y3RSZXNwb25zZUF0dHJpYnV0ZXMsIFJldmlld1Jlc3BvbnNlQXR0cmlidXRlcywgUGFnZVJlc3BvbnNlQXR0cmlidXRlcywgVGV4dFJlc3BvbnNlQXR0cmlidXRlcywgU2VhcmNoUmVzcG9uc2VBdHRyaWJ1dGVzLCBTZWFyY2hQcm9kdWN0UmVzcG9uc2VBdHRyaWJ1dGVzLCBBY2NlcHRhYmxlRm9ybUZpZWxkVHlwZSwgU2VhcmNoUHJvZHVjdEZpbHRlckF0dHJpYnV0ZXMgfSBmcm9tICcuL2FwaS9yZXNwb25zZSc7XG5leHBvcnQgZGVjbGFyZSBlbnVtIE1lc3NhZ2VSb2xlIHtcbiAgICBVc2VyID0gXCJ1c2VyXCIsXG4gICAgQXNzaXN0YW50ID0gXCJhc3Npc3RhbnRcIlxufVxuZXhwb3J0IGRlY2xhcmUgZW51bSBNZXNzYWdlVHlwZSB7XG4gICAgVGV4dCA9IFwidGV4dFwiLFxuICAgIFN1Z2dlc3Rpb25DbGlja2VkID0gXCJzdWdnZXN0aW9uX2NsaWNrZWRcIixcbiAgICBQcm9kdWN0ID0gXCJwcm9kdWN0XCIsXG4gICAgUHJvZHVjdFNlYXJjaCA9IFwicHJvZHVjdF9zZWFyY2hcIixcbiAgICBSZXZpZXcgPSBcInJldmlld1wiLFxuICAgIFF1ZXJ5VHlwZWQgPSBcInF1ZXJ5X3R5cGVkXCIsXG4gICAgU2VwYXJhdG9yID0gXCJzZXBhcmF0b3JcIixcbiAgICBQYWdlID0gXCJwYWdlXCIsXG4gICAgU2VhcmNoID0gXCJzZWFyY2hcIixcbiAgICBBdHRhY2htZW50ID0gXCJhdHRhY2htZW50XCIsXG4gICAgQ1hBZ2VudFJlc3BvbnNlID0gXCJjeF9hZ2VudF9yZXNwb25zZVwiLFxuICAgIEZvcm0gPSBcImZvcm1cIixcbiAgICBPcmRlciA9IFwib3JkZXJcIixcbiAgICBQcm9kdWN0U2VhcmNoRmlsdGVyID0gXCJwcm9kdWN0X3NlYXJjaF9maWx0ZXJcIlxufVxuZXhwb3J0IHR5cGUgTWVzc2FnZSA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHJvbGU6IE1lc3NhZ2VSb2xlO1xuICAgIGNyZWF0ZWRBdDogc3RyaW5nO1xufSAmIChUZXh0TWVzc2FnZU1ldGFkYXRhIHwgUXVlcnlUeXBlZE1ldGFkYXRhIHwgU3VnZ2VzdGlvbk1lc3NhZ2VNZXRhZGF0YSB8IFByb2R1Y3RNZXNzYWdlTWV0YWRhdGEgfCBQcm9kdWN0U2VhcmNoTWVzc2FnZU1ldGFkYXRhIHwgUmV2aWV3TWVzc2FnZU1ldGFkYXRhIHwgU2VwYXJhdG9yTWVzc2FnZU1ldGFkYXRhIHwgUGFnZU1lc3NhZ2VNZXRhZGF0YSB8IFNlYXJjaE1lc3NhZ2VNZXRhZGF0YSB8IEF0dGFjaG1lbnRNZXRhZGF0YSB8IENYQWdlbnRSZXNwb25zZU1ldGFkYXRhIHwgRm9ybU1lc3NhZ2VNZXRhZGF0YSB8IE9yZGVyTWVzc2FnZU1ldGFkYXRhIHwgUHJvZHVjdFNlYXJjaEZpbHRlck1ldGFkYXRhKTtcbnR5cGUgQXR0YWNobWVudE1ldGFkYXRhID0ge1xuICAgIHR5cGU6IE1lc3NhZ2VUeXBlLkF0dGFjaG1lbnQ7XG4gICAgbWV0YWRhdGE6IHtcbiAgICAgICAgbWVzc2FnZT86IHN0cmluZztcbiAgICAgICAgYXR0YWNobWVudDogQ3VzdFNlcnZpY2VBdHRhY2htZW50W107XG4gICAgfTtcbn07XG50eXBlIENYQWdlbnRSZXNwb25zZU1ldGFkYXRhID0ge1xuICAgIHR5cGU6IE1lc3NhZ2VUeXBlLkNYQWdlbnRSZXNwb25zZTtcbiAgICBtZXRhZGF0YToge1xuICAgICAgICBtZXNzYWdlOiBzdHJpbmc7XG4gICAgICAgIGFnZW50TmFtZTogc3RyaW5nO1xuICAgIH07XG59O1xudHlwZSBUZXh0TWVzc2FnZU1ldGFkYXRhID0ge1xuICAgIHR5cGU6IE1lc3NhZ2VUeXBlLlRleHQ7XG4gICAgbWV0YWRhdGE6IFRleHRSZXNwb25zZUF0dHJpYnV0ZXNbJ2F0dHJpYnV0ZXMnXTtcbn07XG50eXBlIFF1ZXJ5VHlwZWRNZXRhZGF0YSA9IHtcbiAgICB0eXBlOiBNZXNzYWdlVHlwZS5RdWVyeVR5cGVkO1xuICAgIG1ldGFkYXRhOiBUZXh0UmVzcG9uc2VBdHRyaWJ1dGVzWydhdHRyaWJ1dGVzJ107XG59O1xudHlwZSBTdWdnZXN0aW9uTWVzc2FnZU1ldGFkYXRhID0ge1xuICAgIHR5cGU6IE1lc3NhZ2VUeXBlLlN1Z2dlc3Rpb25DbGlja2VkO1xuICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIHN1Z2dlc3Rpb25JZDogc3RyaW5nO1xuICAgICAgICBzdWdnZXN0aW9uQ29udGVudDogc3RyaW5nO1xuICAgIH07XG59O1xuZXhwb3J0IHR5cGUgUHJvZHVjdE1lc3NhZ2VNZXRhZGF0YSA9IHtcbiAgICB0eXBlOiBNZXNzYWdlVHlwZS5Qcm9kdWN0O1xuICAgIG1ldGFkYXRhOiBQcm9kdWN0UmVzcG9uc2VBdHRyaWJ1dGVzWydhdHRyaWJ1dGVzJ107XG59O1xuZXhwb3J0IHR5cGUgUHJvZHVjdFNlYXJjaE1lc3NhZ2VNZXRhZGF0YSA9IHtcbiAgICB0eXBlOiBNZXNzYWdlVHlwZS5Qcm9kdWN0U2VhcmNoO1xuICAgIG1ldGFkYXRhOiBTZWFyY2hQcm9kdWN0UmVzcG9uc2VBdHRyaWJ1dGVzWydhdHRyaWJ1dGVzJ107XG59O1xudHlwZSBSZXZpZXdNZXNzYWdlTWV0YWRhdGEgPSB7XG4gICAgdHlwZTogTWVzc2FnZVR5cGUuUmV2aWV3O1xuICAgIG1ldGFkYXRhOiBSZXZpZXdSZXNwb25zZUF0dHJpYnV0ZXNbJ2F0dHJpYnV0ZXMnXTtcbn07XG50eXBlIFNlcGFyYXRvck1lc3NhZ2VNZXRhZGF0YSA9IHtcbiAgICB0eXBlOiBNZXNzYWdlVHlwZS5TZXBhcmF0b3I7XG59O1xudHlwZSBQYWdlTWVzc2FnZU1ldGFkYXRhID0ge1xuICAgIHR5cGU6IE1lc3NhZ2VUeXBlLlBhZ2U7XG4gICAgbWV0YWRhdGE6IFBhZ2VSZXNwb25zZUF0dHJpYnV0ZXNbJ2F0dHJpYnV0ZXMnXTtcbn07XG50eXBlIFNlYXJjaE1lc3NhZ2VNZXRhZGF0YSA9IHtcbiAgICB0eXBlOiBNZXNzYWdlVHlwZS5TZWFyY2g7XG4gICAgbWV0YWRhdGE6IFNlYXJjaFJlc3BvbnNlQXR0cmlidXRlc1snYXR0cmlidXRlcyddO1xufTtcbnR5cGUgUHJvZHVjdFNlYXJjaEZpbHRlck1ldGFkYXRhID0ge1xuICAgIHR5cGU6IE1lc3NhZ2VUeXBlLlByb2R1Y3RTZWFyY2hGaWx0ZXI7XG4gICAgbWV0YWRhdGE6IFNlYXJjaFByb2R1Y3RGaWx0ZXJBdHRyaWJ1dGVzWydhdHRyaWJ1dGVzJ107XG59O1xuZXhwb3J0IHR5cGUgRm9ybUZpZWxkID0ge1xuICAgIGtleTogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgdHlwZTogQWNjZXB0YWJsZUZvcm1GaWVsZFR5cGU7XG4gICAgcmVxdWlyZWQ6IGJvb2xlYW47XG4gICAgZm9ybWF0PzogJ2VtYWlsJztcbiAgICB2YWx1ZT86IHN0cmluZztcbn07XG50eXBlIEZvcm1NZXNzYWdlTWV0YWRhdGEgPSB7XG4gICAgdHlwZTogTWVzc2FnZVR5cGUuRm9ybTtcbiAgICBtZXRhZGF0YToge1xuICAgICAgICBmb3JtVHlwZT86IEZvcm1UeXBlO1xuICAgICAgICBmaWVsZHM6IEZvcm1GaWVsZFtdO1xuICAgIH07XG59O1xudHlwZSBPcmRlck1lc3NhZ2VNZXRhZGF0YSA9IHtcbiAgICB0eXBlOiBNZXNzYWdlVHlwZS5PcmRlcjtcbiAgICBtZXRhZGF0YTogT3JkZXJSZXNwb25zZUF0dHJpYnV0ZXNbJ2F0dHJpYnV0ZXMnXTtcbn07XG5leHBvcnQge307XG4iLCJleHBvcnQgaW50ZXJmYWNlIE1vYmlsZVBMUENoYXRQbGFjZW1lbnRQYXJhbWV0ZXIge1xuICAgIHJvd0luZGV4OiBudW1iZXI7XG59XG4iLCJleHBvcnQgZGVjbGFyZSBjb25zdCBPcmdTaG9ydE5hbWU6IHtcbiAgICByZWFkb25seSBDb3RlcmllOiBcImNvdGVyaWVcIjtcbiAgICByZWFkb25seSBGb3JMb3ZlQW5kTGVtb25zOiBcImZvci1sb3ZlLWFuZC1sZW1vbnNcIjtcbiAgICByZWFkb25seSBHcmVlbnBhbjogXCJncmVlbnBhblwiO1xuICAgIHJlYWRvbmx5IEpvcmRhbkNyYWlnOiBcImpvcmRhbi1jcmFpZ1wiO1xuICAgIHJlYWRvbmx5IExhcnJ5QW5kU2VyZ2VzOiBcImxhcnJ5X2FuZF9zZXJnZXNcIjtcbiAgICByZWFkb25seSBMZWFwc0FuZFJlYm91bmRzOiBcImxlYXBzLWFuZC1yZWJvdW5kc1wiO1xuICAgIHJlYWRvbmx5IE1hbnRyYUJyYW5kOiBcIm1hbnRyYS1icmFuZFwiO1xuICAgIHJlYWRvbmx5IFNwYW54OiBcInNwYW54XCI7XG4gICAgcmVhZG9ubHkgU3BhbnhTdGFnaW5nOiBcInN0YWdpbmctc3BhbnhcIjtcbiAgICByZWFkb25seSBTdXBlcmdvb3A6IFwic3VwZXJnb29wXCI7XG4gICAgcmVhZG9ubHkgVW5pcXVlVmludGFnZTogXCJ1bmlxdWUtdmludGFnZVwiO1xuICAgIHJlYWRvbmx5IEphY2tBcmNoZXI6IFwiamFjay1hcmNoZXJcIjtcbiAgICByZWFkb25seSBTa2luUGVyZmVjdGlvbjogXCJza2luLXBlcmZlY3Rpb25cIjtcbiAgICByZWFkb25seSBMb29rT3B0aWM6IFwibG9vay1vcHRpY1wiO1xuICAgIHJlYWRvbmx5IEZpdmVDYmQ6IFwiZml2ZS1jYmRcIjtcbiAgICByZWFkb25seSBTbmFwU3VwcGxlbWVudHM6IFwic25hcC1zdXBwbGVtZW50c1wiO1xuICAgIHJlYWRvbmx5IExvbmdldml0eXJ4OiBcImxvbmdldml0eXJ4XCI7XG4gICAgcmVhZG9ubHkgVmVuYUNiZDogXCJ2ZW5hLWNiZFwiO1xuICAgIHJlYWRvbmx5IE1lZHRlcnJhOiBcIm1lZHRlcnJhXCI7XG4gICAgcmVhZG9ubHkgTW9kZWxsczogXCJtb2RlbGxzXCI7XG4gICAgcmVhZG9ubHkgUHJlc3NlZEZsb3JhbDogXCJwcmVzc2VkLWZsb3JhbFwiO1xuICAgIHJlYWRvbmx5IEtpbmRyZWRCcmF2ZWx5OiBcImtpbmRyZWQtYnJhdmVseVwiO1xuICAgIHJlYWRvbmx5IFdpbmVFbnRodXNpYXN0OiBcIndpbmUtZW50aHVzaWFzdFwiO1xuICAgIHJlYWRvbmx5IEhvbWVncm93bkNhbm5hYmlzOiBcImhvbWVncm93bi1jYW5uYWJpc1wiO1xuICAgIHJlYWRvbmx5IERyZWFtbGFuZEJhYnk6IFwiZHJlYW1sYW5kLWJhYnlcIjtcbiAgICByZWFkb25seSBCYW5kb2xpZXI6IFwiYmFuZG9saWVyXCI7XG4gICAgcmVhZG9ubHkgV2VzdG9uSm9uQm91Y2hlcjogXCJ3ZXN0b24tam9uLWJvdWNoZXJcIjtcbiAgICByZWFkb25seSBLdXRGcm9tVGhlS2xvdGg6IFwia3V0LWZyb20tdGhlLWtsb3RoXCI7XG4gICAgcmVhZG9ubHkgR3Jvb3ZlTGlmZTogXCJncm9vdmUtbGlmZVwiO1xuICAgIHJlYWRvbmx5IENhcnBlOiBcImNhcnBlXCI7XG4gICAgcmVhZG9ubHkgV29sZlRhY3RpY2FsOiBcIndvbGYtdGFjdGljYWxcIjtcbiAgICByZWFkb25seSBXb2xmTWF0dHJlc3M6IFwid29sZm1hdHRyZXNzXCI7XG4gICAgcmVhZG9ubHkgRGVmYXVsdDogXCJkZWZhdWx0XCI7XG59O1xuIiwiZXhwb3J0IGRlY2xhcmUgZW51bSBQcm9kdWN0RXhwZXJpbWVudCB7XG4gICAgRGVmYXVsdCA9IFwiZGVmYXVsdFwiXG59XG4iLCJleHBvcnQgaW50ZXJmYWNlIFNwYW54VGFrZUFRdWl6Q3RhUGFyYW1ldGVyIHtcbiAgICB0ZXh0Pzogc3RyaW5nO1xuICAgIHZhbHVlPzogc3RyaW5nO1xufVxuIiwiaW1wb3J0IHsgQ29udGV4dCBhcyBBcGlDb250ZXh0IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcCB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdXRpbGl0eVR5cGVzJztcbmV4cG9ydCBpbnRlcmZhY2UgQ29udGV4dCBleHRlbmRzIENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxBcGlDb250ZXh0PiB7XG59XG4iLCJpbXBvcnQgeyBHZW5lcmF0aW9uUGFyYW1zIGFzIEFwaUdlbmVyYXRpb25QYXJhbXMgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy91dGlsaXR5VHlwZXMnO1xuZXhwb3J0IGludGVyZmFjZSBHZW5lcmF0aW9uUGFyYW1zIGV4dGVuZHMgQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPEFwaUdlbmVyYXRpb25QYXJhbXM+IHtcbn1cbiIsImltcG9ydCB7IFBEUEF0dHJpYnV0ZXMgYXMgQXBpUERQQXR0cmlidXRlcywgUExQQXR0cmlidXRlcyBhcyBBcGlQTFBBdHRyaWJ1dGVzLCBRdWVyeVR5cGVkQXR0cmlidXRlcyBhcyBBcGlRdWVyeVR5cGVkQXR0cmlidXRlcywgU2VhcmNoQXR0cmlidXRlcyBhcyBBcGlTZWFyY2hBdHRyaWJ1dGVzLCBTdWdnZXN0aW9uQ2xpY2tlZEF0dHJpYnV0ZXMgYXMgQXBpU3VnZ2VzdGlvbkNsaWNrZWRBdHRyaWJ1dGVzLCBVc2VyRXZlbnQgYXMgQXBpVXNlckV2ZW50LCBGb3JtVHlwZSwgUGFnZVZpc2l0Q2F0ZWdvcnksIFVzZXJFdmVudENhdGVnb3J5IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcCB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdXRpbGl0eVR5cGVzJztcbmV4cG9ydCBpbnRlcmZhY2UgUERQQXR0cmlidXRlcyBleHRlbmRzIENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxBcGlQRFBBdHRyaWJ1dGVzPiB7XG59XG5leHBvcnQgaW50ZXJmYWNlIFBMUEF0dHJpYnV0ZXMgZXh0ZW5kcyBDYW1lbENhc2VkUHJvcGVydGllc0RlZXA8QXBpUExQQXR0cmlidXRlcz4ge1xufVxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hBdHRyaWJ1dGVzIGV4dGVuZHMgQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPEFwaVNlYXJjaEF0dHJpYnV0ZXM+IHtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlUeXBlZEF0dHJpYnV0ZXMgZXh0ZW5kcyBDYW1lbENhc2VkUHJvcGVydGllc0RlZXA8QXBpUXVlcnlUeXBlZEF0dHJpYnV0ZXM+IHtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVN1Ym1pdHRlZEF0dHJpYnV0ZXMge1xuICAgIGZpbGxlZFNjaGVtYTogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgZm9ybVJlc3BvbnNlSWQ6IHN0cmluZztcbiAgICBmb3JtVHlwZTogRm9ybVR5cGU7XG59XG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VWaXNpdEF0dHJpYnV0ZXMge1xuICAgIHVybDogc3RyaW5nO1xuICAgIHBhZ2VWaXNpdENhdGVnb3J5OiBQYWdlVmlzaXRDYXRlZ29yeTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU3VnZ2VzdGlvbkNsaWNrZWRBdHRyaWJ1dGVzIGV4dGVuZHMgQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPEFwaVN1Z2dlc3Rpb25DbGlja2VkQXR0cmlidXRlcz4ge1xufVxuZXhwb3J0IHR5cGUgVXNlckV2ZW50QXR0cmlidXRlcyA9IFBEUEF0dHJpYnV0ZXMgfCBQTFBBdHRyaWJ1dGVzIHwgUXVlcnlUeXBlZEF0dHJpYnV0ZXMgfCBTZWFyY2hBdHRyaWJ1dGVzIHwgU3VnZ2VzdGlvbkNsaWNrZWRBdHRyaWJ1dGVzIHwgUGFnZVZpc2l0QXR0cmlidXRlcztcbmV4cG9ydCBpbnRlcmZhY2UgUERQVXNlckV2ZW50IHtcbiAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuUGRwVmlzaXQgfCBVc2VyRXZlbnRDYXRlZ29yeS5BZGRUb0NhcnQ7XG4gICAgYXR0cmlidXRlczogUERQQXR0cmlidXRlcztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUExQVXNlckV2ZW50IHtcbiAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuUGxwVmlzaXQ7XG4gICAgYXR0cmlidXRlczogUExQQXR0cmlidXRlcztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlUeXBlZFVzZXJFdmVudCB7XG4gICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LlF1ZXJ5VHlwZWQ7XG4gICAgYXR0cmlidXRlczogUXVlcnlUeXBlZEF0dHJpYnV0ZXM7XG59XG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaFVzZXJFdmVudCB7XG4gICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LlNlYXJjaDtcbiAgICBhdHRyaWJ1dGVzOiBTZWFyY2hBdHRyaWJ1dGVzO1xufVxuZXhwb3J0IGludGVyZmFjZSBTdWdnZXN0aW9uc0NsaWNrZWRVc2VyRXZlbnQge1xuICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5TdWdnZXN0aW9uQ2xpY2tlZDtcbiAgICBhdHRyaWJ1dGVzOiBTdWdnZXN0aW9uQ2xpY2tlZEF0dHJpYnV0ZXM7XG59XG5leHBvcnQgaW50ZXJmYWNlIEFwcExvYWRlZFVzZXJFdmVudCB7XG4gICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LkFwcExvYWRlZDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQXBwVW5sb2FkZWRFdmVudCB7XG4gICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LkFwcFVubG9hZGVkO1xufVxuZXhwb3J0IGludGVyZmFjZSBQYWdlVmlzaXRFdmVudCB7XG4gICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LlBhZ2VWaXNpdDtcbiAgICBhdHRyaWJ1dGVzOiBQYWdlVmlzaXRBdHRyaWJ1dGVzO1xufVxuZXhwb3J0IGludGVyZmFjZSBGb3JtU3VibWl0dGVkIHtcbiAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuRm9ybVN1Ym1pdHRlZDtcbiAgICBhdHRyaWJ1dGVzOiBGb3JtU3VibWl0dGVkQXR0cmlidXRlcztcbn1cbmV4cG9ydCB0eXBlIFVzZXJFdmVudCA9IENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxQaWNrPEFwaVVzZXJFdmVudCwgJ2V2ZW50X2lkJyB8ICdjYXRlZ29yeScgfCAnY3JlYXRlZF9hdCc+PiAmIChTdWdnZXN0aW9uc0NsaWNrZWRVc2VyRXZlbnQgfCBBcHBMb2FkZWRVc2VyRXZlbnQgfCBQRFBVc2VyRXZlbnQgfCBRdWVyeVR5cGVkVXNlckV2ZW50IHwgU2VhcmNoVXNlckV2ZW50IHwgQXBwVW5sb2FkZWRFdmVudCB8IFBMUFVzZXJFdmVudCB8IFBhZ2VWaXNpdEV2ZW50IHwgRm9ybVN1Ym1pdHRlZCk7XG4iLCJpbXBvcnQgeyBDb250ZXh0IH0gZnJvbSAnLi9jb250ZXh0JztcbmltcG9ydCB7IFVzZXJFdmVudCB9IGZyb20gJy4vdXNlckV2ZW50JztcbmltcG9ydCB7IEdlbmVyYXRpb25QYXJhbXMgfSBmcm9tICcuL2dlbmVyYXRpb25QYXJhbXMnO1xuZXhwb3J0IGludGVyZmFjZSBOZXh0TWVzc2FnZVJlcXVlc3Qge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgY29udGV4dDogQ29udGV4dDtcbiAgICB1c2VyRXZlbnRzPzogVXNlckV2ZW50W107XG4gICAgZmVhdHVyZUZsYWdzPzogUmVjb3JkPHN0cmluZywgYm9vbGVhbj47XG4gICAgZ2VuZXJhdGlvblBhcmFtcz86IEdlbmVyYXRpb25QYXJhbXM7XG59XG4iLCJpbXBvcnQgeyBTdWdnZXN0aW9uIGFzIEFwaVN1Z2dlc3Rpb24gfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy91dGlsaXR5VHlwZXMnO1xuZXhwb3J0IGludGVyZmFjZSBTdWdnZXN0aW9uIGV4dGVuZHMgQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPEFwaVN1Z2dlc3Rpb24+IHtcbn1cbiIsImltcG9ydCB7IFVzZXJFdmVudCB9IGZyb20gJy4vdXNlckV2ZW50JztcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tICcuL2NvbnRleHQnO1xuZXhwb3J0IGludGVyZmFjZSBTdXBwb3J0ZWRFdmVudFJlcXVlc3Qge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgY29udGV4dDogQ29udGV4dDtcbiAgICB1c2VyRXZlbnQ6IFVzZXJFdmVudDtcbn1cbiIsImltcG9ydCB0eXBlIHsgQmFzZUVjb21tZXJjZUV2ZW50IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG4vKipcbiAqIENoZWNrcyBpZiBhbiBldmVudCBpcyBhIGJhc2UgR29vZ2xlIEFuYWx5dGljcyBlY29tbWVyY2UgZXZlbnQuXG4gKlxuICogQHBhcmFtIGRhdGEgVGhlIGV2ZW50IHRvIGNoZWNrLlxuICpcbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGV2ZW50IGlzIGEgYmFzZSBlY29tbWVyY2UgZXZlbnQsIGZhbHNlIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNCYXNlRWNvbW1lcmNlRXZlbnQ6IChkYXRhOiB1bmtub3duKSA9PiBkYXRhIGlzIEJhc2VFY29tbWVyY2VFdmVudDtcbiIsImltcG9ydCB0eXBlIHsgR0E0RWNvbW1lcmNlRXZlbnQgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbi8qKlxuICogQ2hlY2tzIGlmIGFuIGV2ZW50IGlzIGEgR29vZ2xlIEFuYWx5dGljcyA0IGVjb21tZXJjZSBldmVudC5cbiAqXG4gKiBAcGFyYW0gZGF0YSBUaGUgZXZlbnQgdG8gY2hlY2suXG4gKlxuICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgZXZlbnQgaXMgYSBHQTQgZWNvbW1lcmNlIGV2ZW50LCBmYWxzZSBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzR0E0RWNvbW1lcmNlRXZlbnQ6IChkYXRhOiB1bmtub3duKSA9PiBkYXRhIGlzIEdBNEVjb21tZXJjZUV2ZW50O1xuIiwiaW1wb3J0IHR5cGUgeyBVQUVjb21tZXJjZUV2ZW50IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG4vKipcbiAqIENoZWNrcyBpZiBhbiBldmVudCBpcyBhIGxlZ2FjeSBVbml2ZXJzYWwgQW5hbHl0aWNzIGVjb21tZXJjZSBldmVudC5cbiAqXG4gKiBAcGFyYW0gZGF0YSBUaGUgZXZlbnQgdG8gY2hlY2suXG4gKlxuICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgZXZlbnQgaXMgYSBsZWdhY3kgVUEgZWNvbW1lcmNlIGV2ZW50LCBmYWxzZSBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzTGVnYWN5VUFFY29tbWVyY2VFdmVudDogKGRhdGE6IHVua25vd24pID0+IGRhdGEgaXMgVUFFY29tbWVyY2VFdmVudDtcbiIsImludGVyZmFjZSBNb2JpbGVQbHBDaGF0UGxhY2VtZW50UGFyYW1ldGVyIHtcbiAgICByb3dfaW5kZXg6IG51bWJlcjtcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzTW9iaWxlUExQQ2hhdFBsYWNlbWVudFBhcmFtZXRlcjogKHZhbHVlOiB1bmtub3duKSA9PiB2YWx1ZSBpcyBNb2JpbGVQbHBDaGF0UGxhY2VtZW50UGFyYW1ldGVyO1xuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IHsgU3BhbnhUYWtlQVF1aXpDdGFQYXJhbWV0ZXIgfSBmcm9tICcuLi9zcGFueFRha2VBUXVpekN0YVBhcmFtZXRlcic7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc1NwYW54VGFrZUFRdWl6Q3RhUGFyYW1ldGVyOiAodmFsdWU6IHVua25vd24pID0+IHZhbHVlIGlzIFNwYW54VGFrZUFRdWl6Q3RhUGFyYW1ldGVyO1xuIiwiaW1wb3J0IHsgVmFyaWFudEluZm8gfSBmcm9tICcuLi92YXJpYW50SW5mbyc7XG4vKipcbiAqIFR5cGUgZ3VhcmQgdG8gY2hlY2sgaWYgYW4gb2JqZWN0IGlzIGEgdmFsaWQgVmFyaWFudEluZm8uXG4gKlxuICogQHBhcmFtIHZhcmlhbnRJbmZvIC0gVGhlIHVua25vd24gb2JqZWN0IHRvIGNoZWNrLlxuICpcbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGRhdGEgaXMgYSB2YWxpZCBWYXJpYW50SW5mbyBvYmplY3QsIGZhbHNlIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNWYXJpYW50SW5mbzogKHZhcmlhbnRJbmZvOiB1bmtub3duKSA9PiB2YXJpYW50SW5mbyBpcyBWYXJpYW50SW5mbztcbiIsImltcG9ydCB7IEFwaUZvcm1SZXNwb25zZUF0dHJpYnV0ZXMgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9yZXNwb25zZUdlbmVyaWNzJztcbi8qKlxuICogVHlwZSBndWFyZCB0byBjaGVjayBpZiB0aGUgcHJvdmlkZWQgZGF0YSBoYXMgdGhlIGFsbCBvZiB0aGUgcHJvcGVydGllcyAod2l0aCB0aGUgY29ycmVjdCB0eXBlcykgb2ZcbiAqIGEgRm9ybVJlc3BvbnNlQXR0cmlidXRlXG4gKlxuICogQHBhcmFtIGRhdGEgLSBUaGUgZGF0YSB0byBjaGVja1xuICpcbiAqIEByZXR1cm5zIHRydWUgaWYgdGhlIGRhdGEgaGFzIHRoZSBjb3JyZWN0IHByb3BlcnRpZXMsIGZhbHNlIG90aGVyd2lzZVxuICovXG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc0FwaUZvcm1SZXNwb25zZUF0dHJpYnV0ZXM6IChkYXRhOiB1bmtub3duKSA9PiBkYXRhIGlzIEFwaUZvcm1SZXNwb25zZUF0dHJpYnV0ZXM7XG4iLCJpbXBvcnQgeyBGb3JtU3VibWl0dGVkQXR0cmlidXRlcyB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc0FwaUZvcm1TdWJtaXR0ZWRSZXNwb25zZUF0dHJpYnV0ZXM6IChkYXRhOiB1bmtub3duKSA9PiBkYXRhIGlzIEZvcm1TdWJtaXR0ZWRBdHRyaWJ1dGVzO1xuIiwiaW1wb3J0IHsgT3JkZXJJdGVtSW5mbywgT3JkZXJSZXNwb25zZUF0dHJpYnV0ZXMgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuZXhwb3J0IGludGVyZmFjZSBBcGlPcmRlckl0ZW1JbmZvIGV4dGVuZHMgT21pdDxPcmRlckl0ZW1JbmZvLCAnZGVsaXZlcmVkX2F0JyB8ICdlc3RpbWF0ZWRfZGVsaXZlcnlfYXQnIHwgJ2luX3RyYW5zaXRfYXQnPiB7XG4gICAgZGVsaXZlcmVkX2F0Pzogc3RyaW5nO1xuICAgIGVzdGltYXRlZF9kZWxpdmVyeV9hdD86IHN0cmluZztcbiAgICBpbl90cmFuc2l0X2F0Pzogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBBcGlPcmRlclJlc3BvbnNlQXR0cmlidXRlcyBleHRlbmRzIE9taXQ8T3JkZXJSZXNwb25zZUF0dHJpYnV0ZXMsICdjcmVhdGVkX2F0JyB8ICdsYXRlc3RfZXZlbnRfZGF0ZScgfCAnbGluZV9pdGVtcyc+IHtcbiAgICBjcmVhdGVkX2F0OiBzdHJpbmc7XG4gICAgbGF0ZXN0X2V2ZW50X2RhdGU6IHN0cmluZztcbiAgICBsaW5lX2l0ZW1zOiBBcGlPcmRlckl0ZW1JbmZvW107XG59XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc0FwaU9yZGVyUmVzcG9uc2VBdHRyaWJ1dGVzOiAoZGF0YTogdW5rbm93bikgPT4gZGF0YSBpcyBBcGlPcmRlclJlc3BvbnNlQXR0cmlidXRlcztcbiIsImltcG9ydCB7IE9yZ2FuaXphdGlvbkNvbmZpZyB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbnRlcmZhY2UgQXBpT3JnQW5hbHl0aWNzQ29uZmlnQW1wbGl0dWRlIHtcbiAgICBzZXNzaW9uX3JlcGxheV9lbmFibGVkOiBib29sZWFuO1xuICAgIHNlc3Npb25fcmVwbGF5X3NhbXBsZV9yYXRlOiBudW1iZXI7XG4gICAgdHJhY2tpbmdfZW5hYmxlZDogYm9vbGVhbjtcbn1cbmludGVyZmFjZSBBcGlPcmdBbmFseXRpY3NDb25maWdDdXN0b21lclNlcnZpY2Uge1xuICAgIHByb3ZpZGVyOiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgQXBpT3JnQW5hbHl0aWNzQ29uZmlnR29vZ2xlQW5hbHl0aWNzIHtcbiAgICBtZWFzdXJlbWVudF9pZDogc3RyaW5nO1xufVxuaW50ZXJmYWNlIEFwaU9yZ0FuYWx5dGljc0NvbmZpZyB7XG4gICAgYW1wbGl0dWRlPzogQXBpT3JnQW5hbHl0aWNzQ29uZmlnQW1wbGl0dWRlO1xuICAgIGN1c3RvbWVyX3NlcnZpY2U/OiBBcGlPcmdBbmFseXRpY3NDb25maWdDdXN0b21lclNlcnZpY2U7XG4gICAgZ29vZ2xlX2FuYWx5dGljcz86IEFwaU9yZ0FuYWx5dGljc0NvbmZpZ0dvb2dsZUFuYWx5dGljcztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQXBpT3JnYW5pemF0aW9uQ29uZmlnIGV4dGVuZHMgT3JnYW5pemF0aW9uQ29uZmlnIHtcbiAgICBjb25maWc6IEFwaU9yZ0FuYWx5dGljc0NvbmZpZztcbn1cbi8qKlxuICpcbiAqIEBwYXJhbSBkYXRhXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc0FwaU9yZ2FuaXphdGlvbkNvbmZpZzogKGRhdGE6IHVua25vd24pID0+IGRhdGEgaXMgQXBpT3JnYW5pemF0aW9uQ29uZmlnO1xuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IHsgU3RhdHNpZ0V4cGVyaW1lbnQgYXMgQXBpT3JnQ29uZmlnRXhwZXJpbWVudCwgU3RhdHNpZ0ZlYXR1cmVHYXRlIGFzIEFwaU9yZ0NvbmZpZ0ZlYXR1cmVHYXRlLCBPcmdhbml6YXRpb25TZXR0aW5ncyBhcyBBcGlPcmdDb25maWdPcmdhbml6YXRpb25TZXR0aW5ncyB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBBcGlPcmdhbml6YXRpb25Db25maWcgfSBmcm9tICcuL2lzQXBpT3JnYW5pemF0aW9uQ29uZmlnJztcbmludGVyZmFjZSBBcGlPcmdDb25maWdSZXN1bHRzIHtcbiAgICBjb25maWdzOiBBcGlPcmdhbml6YXRpb25Db25maWdbXTtcbiAgICBleHBlcmltZW50czogQXBpT3JnQ29uZmlnRXhwZXJpbWVudFtdO1xuICAgIGdhdGVzOiBBcGlPcmdDb25maWdGZWF0dXJlR2F0ZVtdO1xuICAgIG9yZzogQXBpT3JnQ29uZmlnT3JnYW5pemF0aW9uU2V0dGluZ3M7XG59XG4vKipcbiAqXG4gKiBAcGFyYW0gZGF0YVxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNBcGlPcmdDb25maWdSZXN1bHRzOiAoZGF0YTogdW5rbm93bikgPT4gZGF0YSBpcyBSZXF1aXJlZDxBcGlPcmdDb25maWdSZXN1bHRzPjtcbmV4cG9ydCB7fTtcbiIsImltcG9ydCB7IEFwaVBhZ2VSZXNwb25zZUF0dHJpYnV0ZXMgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9yZXNwb25zZUdlbmVyaWNzJztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzQXBpUGFnZVJlc3BvbnNlQXR0cmlidXRlczogKG9iajogdW5rbm93bikgPT4gb2JqIGlzIEFwaVBhZ2VSZXNwb25zZUF0dHJpYnV0ZXM7XG4iLCJpbXBvcnQgeyBQTFBBdHRyaWJ1dGVzLCBQTFBJZEF0dHJpYnV0ZXMgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNBcGlQTFBJZEF0dHJpYnV0ZTogKGRhdGE6IHVua25vd24pID0+IGRhdGEgaXMgUExQSWRBdHRyaWJ1dGVzO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNBcGlQTFBFdmVudEF0dHJpYnV0ZXM6IChkYXRhOiB1bmtub3duKSA9PiBkYXRhIGlzIFBMUEF0dHJpYnV0ZXM7XG4iLCJpbXBvcnQgeyBQcm9kdWN0U2VhcmNoRmlsdGVyUmVzcG9uc2VBdHRyaWJ1dGVzIH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzQXBpUHJvZHVjdFNlYXJjaEZpbHRlclJlc3BvbnNlQXR0cmlidXRlczogKGF0dHJpYnV0ZXM6IHVua25vd24pID0+IGF0dHJpYnV0ZXMgaXMgUHJvZHVjdFNlYXJjaEZpbHRlclJlc3BvbnNlQXR0cmlidXRlcztcbiIsImltcG9ydCB7IEdldE1lcmNoYW50Q29sb3JzUXVlcnlEYXRhIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ncmFwaHFsJztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzR3JhcGhRTENvbG9yc0NvbmZpZzogKGRhdGE6IHVua25vd24pID0+IGRhdGEgaXMgR2V0TWVyY2hhbnRDb2xvcnNRdWVyeURhdGE7XG4iLCJpbXBvcnQgdHlwZSB7IFVwcGVyQ2FzZUNoYXJhY3RlcnMsIFdvcmRTZXBhcmF0b3JzIH0gZnJvbSAnLi9pbnRlcm5hbCc7XG50eXBlIFVwcGVyQ2FzZVRvTG93ZXJDYXNlPFQgZXh0ZW5kcyBzdHJpbmc+ID0gVCBleHRlbmRzIFVwcGVyY2FzZTxUPiA/IExvd2VyY2FzZTxUPiA6IFQ7XG50eXBlIFNwbGl0SW5jbHVkaW5nRGVsaW1pdGVyc188U291cmNlIGV4dGVuZHMgc3RyaW5nLCBEZWxpbWl0ZXIgZXh0ZW5kcyBzdHJpbmc+ID0gU291cmNlIGV4dGVuZHMgJycgPyBbXSA6IFNvdXJjZSBleHRlbmRzIGAke2luZmVyIEZpcnN0UGFydH0ke0RlbGltaXRlcn0ke2luZmVyIFNlY29uZFBhcnR9YCA/IFNvdXJjZSBleHRlbmRzIGAke0ZpcnN0UGFydH0ke2luZmVyIFVzZWREZWxpbWl0ZXJ9JHtTZWNvbmRQYXJ0fWAgPyBVc2VkRGVsaW1pdGVyIGV4dGVuZHMgRGVsaW1pdGVyID8gU291cmNlIGV4dGVuZHMgYCR7aW5mZXIgRmlyc3RQYXJ0fSR7VXNlZERlbGltaXRlcn0ke2luZmVyIFNlY29uZFBhcnR9YCA/IFtcbiAgICAuLi5TcGxpdEluY2x1ZGluZ0RlbGltaXRlcnM8Rmlyc3RQYXJ0LCBEZWxpbWl0ZXI+LFxuICAgIFVzZWREZWxpbWl0ZXIsXG4gICAgLi4uU3BsaXRJbmNsdWRpbmdEZWxpbWl0ZXJzPFNlY29uZFBhcnQsIERlbGltaXRlcj5cbl0gOiBuZXZlciA6IG5ldmVyIDogbmV2ZXIgOiBbU291cmNlXTtcbi8qKlxuICogVW5saWtlIGEgc2ltcGxlciBzcGxpdCwgdGhpcyBvbmUgaW5jbHVkZXMgdGhlIGRlbGltaXRlciBzcGxpdHRlZCBvbiBpbiB0aGUgcmVzdWx0aW5nIGFycmF5IGxpdGVyYWwuIFRoaXMgaXMgdG8gZW5hYmxlIHNwbGl0dGluZyBvbiwgZm9yIGV4YW1wbGUsIHVwcGVyLWNhc2UgY2hhcmFjdGVycy5cbiAqXG4gKiBAY2F0ZWdvcnkgVGVtcGxhdGUgbGl0ZXJhbFxuICovXG5leHBvcnQgdHlwZSBTcGxpdEluY2x1ZGluZ0RlbGltaXRlcnM8U291cmNlIGV4dGVuZHMgc3RyaW5nLCBEZWxpbWl0ZXIgZXh0ZW5kcyBzdHJpbmc+ID0gU3BsaXRJbmNsdWRpbmdEZWxpbWl0ZXJzXzxVcHBlckNhc2VUb0xvd2VyQ2FzZTxTb3VyY2U+LCBEZWxpbWl0ZXI+O1xuLyoqXG4gKkZvcm1hdCBhIHNwZWNpZmljIHBhcnQgb2YgdGhlIHNwbGl0dGVkIHN0cmluZyBsaXRlcmFsIHRoYXQgYFN0cmluZ0FycmF5VG9EZWxpbWl0ZXJDYXNlPD5gIGZ1c2VzIHRvZ2V0aGVyLCBlbnN1cmluZyBkZXNpcmVkIGNhc2luZy5cbiAqXG4gKkBzZWUgU3RyaW5nQXJyYXlUb0RlbGltaXRlckNhc2VcbiAqL1xudHlwZSBTdHJpbmdQYXJ0VG9EZWxpbWl0ZXJDYXNlPFN0cmluZ1BhcnQgZXh0ZW5kcyBzdHJpbmcsIFN0YXJ0IGV4dGVuZHMgYm9vbGVhbiwgVXNlZFdvcmRTZXBhcmF0b3JzIGV4dGVuZHMgc3RyaW5nLCBVc2VkVXBwZXJDYXNlQ2hhcmFjdGVycyBleHRlbmRzIHN0cmluZywgRGVsaW1pdGVyIGV4dGVuZHMgc3RyaW5nPiA9IFN0cmluZ1BhcnQgZXh0ZW5kcyBVc2VkV29yZFNlcGFyYXRvcnMgPyBEZWxpbWl0ZXIgOiBTdGFydCBleHRlbmRzIHRydWUgPyBMb3dlcmNhc2U8U3RyaW5nUGFydD4gOiBTdHJpbmdQYXJ0IGV4dGVuZHMgVXNlZFVwcGVyQ2FzZUNoYXJhY3RlcnMgPyBgJHtEZWxpbWl0ZXJ9JHtMb3dlcmNhc2U8U3RyaW5nUGFydD59YCA6IFN0cmluZ1BhcnQ7XG4vKipcbiAqIFRha2VzIHRoZSByZXN1bHQgb2YgYSBzcGxpdHRlZCBzdHJpbmcgbGl0ZXJhbCBhbmQgcmVjdXJzaXZlbHkgY29uY2F0ZW5hdGVzIGl0IHRvZ2V0aGVyIGludG8gdGhlIGRlc2lyZWQgY2FzaW5nLlxuICpcbiAqIEl0IHJlY2VpdmVzIGBVc2VkV29yZFNlcGFyYXRvcnNgIGFuZCBgVXNlZFVwcGVyQ2FzZUNoYXJhY3RlcnNgIGFzIGlucHV0IHRvIGVuc3VyZSBpdCdzIGZ1bGx5IGVuY2Fwc3VsYXRlZC5cbiAqXG4gKiBAc2VlIFNwbGl0SW5jbHVkaW5nRGVsaW1pdGVyc1xuICovXG50eXBlIFN0cmluZ0FycmF5VG9EZWxpbWl0ZXJDYXNlPFBhcnRzIGV4dGVuZHMgcmVhZG9ubHkgYW55W10sIFN0YXJ0IGV4dGVuZHMgYm9vbGVhbiwgVXNlZFdvcmRTZXBhcmF0b3JzIGV4dGVuZHMgc3RyaW5nLCBVc2VkVXBwZXJDYXNlQ2hhcmFjdGVycyBleHRlbmRzIHN0cmluZywgRGVsaW1pdGVyIGV4dGVuZHMgc3RyaW5nPiA9IFBhcnRzIGV4dGVuZHMgW2Ake2luZmVyIEZpcnN0UGFydH1gLCAuLi5pbmZlciBSZW1haW5pbmdQYXJ0c10gPyBgJHtTdHJpbmdQYXJ0VG9EZWxpbWl0ZXJDYXNlPEZpcnN0UGFydCwgU3RhcnQsIFVzZWRXb3JkU2VwYXJhdG9ycywgVXNlZFVwcGVyQ2FzZUNoYXJhY3RlcnMsIERlbGltaXRlcj59JHtTdHJpbmdBcnJheVRvRGVsaW1pdGVyQ2FzZTxSZW1haW5pbmdQYXJ0cywgZmFsc2UsIFVzZWRXb3JkU2VwYXJhdG9ycywgVXNlZFVwcGVyQ2FzZUNoYXJhY3RlcnMsIERlbGltaXRlcj59YCA6IFBhcnRzIGV4dGVuZHMgW3N0cmluZ10gPyBzdHJpbmcgOiAnJztcbi8qKlxuICogQ29udmVydCBhIHN0cmluZyBsaXRlcmFsIHRvIGEgY3VzdG9tIHN0cmluZyBkZWxpbWl0ZXIgY2FzaW5nLlxuICpcbiAqIFRoaXMgY2FuIGJlIHVzZWZ1bCB3aGVuLCBmb3IgZXhhbXBsZSwgY29udmVydGluZyBhIGNhbWVsLWNhc2VkIG9iamVjdCBwcm9wZXJ0eSB0byBhbiBvZGRseSBjYXNlZCBvbmUuXG4gKlxuICogQHNlZSBLZWJhYkNhc2VcbiAqIEBzZWUgU25ha2VDYXNlXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYFxuICogaW1wb3J0IHR5cGUge0RlbGltaXRlckNhc2V9IGZyb20gJ3R5cGUtZmVzdCc7XG4gKlxuICogLy8gU2ltcGxlXG4gKlxuICogY29uc3Qgc29tZVZhcmlhYmxlOiBEZWxpbWl0ZXJDYXNlPCdmb29CYXInLCAnIyc+ID0gJ2ZvbyNiYXInO1xuICpcbiAqIC8vIEFkdmFuY2VkXG4gKlxuICogdHlwZSBPZGRseUNhc2VkUHJvcGVydGllczxUPiA9IHtcbiAqIFx0W0sgaW4ga2V5b2YgVCBhcyBEZWxpbWl0ZXJDYXNlPEssICcjJz5dOiBUW0tdXG4gKiB9O1xuICpcbiAqIGludGVyZmFjZSBTb21lT3B0aW9ucyB7XG4gKiBcdGRyeVJ1bjogYm9vbGVhbjtcbiAqIFx0aW5jbHVkZUZpbGU6IHN0cmluZztcbiAqIFx0Zm9vOiBudW1iZXI7XG4gKiB9XG4gKlxuICogY29uc3QgcmF3Q2xpT3B0aW9uczogT2RkbHlDYXNlZFByb3BlcnRpZXM8U29tZU9wdGlvbnM+ID0ge1xuICogXHQnZHJ5I3J1bic6IHRydWUsXG4gKiBcdCdpbmNsdWRlI2ZpbGUnOiAnYmFyLmpzJyxcbiAqIFx0Zm9vOiAxMjNcbiAqIH07XG4gKiBgYGBcbiAqXG4gKiBAY2F0ZWdvcnkgQ2hhbmdlIGNhc2VcbiAqIEBjYXRlZ29yeSBUZW1wbGF0ZSBsaXRlcmFsXG4gKi9cbmV4cG9ydCB0eXBlIERlbGltaXRlckNhc2U8VmFsdWUsIERlbGltaXRlciBleHRlbmRzIHN0cmluZz4gPSBzdHJpbmcgZXh0ZW5kcyBWYWx1ZSA/IFZhbHVlIDogVmFsdWUgZXh0ZW5kcyBzdHJpbmcgPyBTdHJpbmdBcnJheVRvRGVsaW1pdGVyQ2FzZTxTcGxpdEluY2x1ZGluZ0RlbGltaXRlcnM8VmFsdWUsIFdvcmRTZXBhcmF0b3JzIHwgVXBwZXJDYXNlQ2hhcmFjdGVycz4sIHRydWUsIFdvcmRTZXBhcmF0b3JzLCBVcHBlckNhc2VDaGFyYWN0ZXJzLCBEZWxpbWl0ZXI+IDogVmFsdWU7XG5leHBvcnQge307XG4iLCJpbXBvcnQgdHlwZSB7IERlbGltaXRlckNhc2UgfSBmcm9tICcuL2RlbGltaXRlckNhc2UnO1xuaW1wb3J0IHR5cGUgeyBOb25SZWN1cnNpdmVUeXBlIH0gZnJvbSAnLi9pbnRlcm5hbCc7XG5pbXBvcnQgdHlwZSB7IFVua25vd25BcnJheSB9IGZyb20gJy4vdW5rbm93bkFycmF5Jztcbi8qKlxuICogQ29udmVydCBvYmplY3QgcHJvcGVydGllcyB0byBkZWxpbWl0ZXIgY2FzZSByZWN1cnNpdmVseS5cbiAqXG4gKiBUaGlzIGNhbiBiZSB1c2VmdWwgd2hlbiwgZm9yIGV4YW1wbGUsIGNvbnZlcnRpbmcgc29tZSBBUEkgdHlwZXMgZnJvbSBhIGRpZmZlcmVudCBzdHlsZS5cbiAqXG4gKiBAc2VlIERlbGltaXRlckNhc2VcbiAqIEBzZWUgRGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYFxuICogaW1wb3J0IHR5cGUge0RlbGltaXRlckNhc2VkUHJvcGVydGllc0RlZXB9IGZyb20gJ3R5cGUtZmVzdCc7XG4gKlxuICogaW50ZXJmYWNlIFVzZXIge1xuICogXHR1c2VySWQ6IG51bWJlcjtcbiAqIFx0dXNlck5hbWU6IHN0cmluZztcbiAqIH1cbiAqXG4gKiBpbnRlcmZhY2UgVXNlcldpdGhGcmllbmRzIHtcbiAqIFx0dXNlckluZm86IFVzZXI7XG4gKiBcdHVzZXJGcmllbmRzOiBVc2VyW107XG4gKiB9XG4gKlxuICogY29uc3QgcmVzdWx0OiBEZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwPFVzZXJXaXRoRnJpZW5kcywgJy0nPiA9IHtcbiAqIFx0J3VzZXItaW5mbyc6IHtcbiAqIFx0J3VzZXItaWQnOiAxLFxuICogXHRcdCd1c2VyLW5hbWUnOiAnVG9tJyxcbiAqIFx0fSxcbiAqIFx0J3VzZXItZnJpZW5kcyc6IFtcbiAqIFx0XHR7XG4gKiBcdFx0XHQndXNlci1pZCc6IDIsXG4gKiBcdFx0XHQndXNlci1uYW1lJzogJ0plcnJ5JyxcbiAqIFx0XHR9LFxuICogXHRcdHtcbiAqIFx0XHRcdCd1c2VyLWlkJzogMyxcbiAqIFx0XHRcdCd1c2VyLW5hbWUnOiAnU3Bpa2UnLFxuICogXHRcdH0sXG4gKiBcdF0sXG4gKiB9O1xuICogYGBgXG4gKlxuICogQGNhdGVnb3J5IENoYW5nZSBjYXNlXG4gKiBAY2F0ZWdvcnkgVGVtcGxhdGUgbGl0ZXJhbFxuICogQGNhdGVnb3J5IE9iamVjdFxuICovXG5leHBvcnQgdHlwZSBEZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwPFZhbHVlLCBEZWxpbWl0ZXIgZXh0ZW5kcyBzdHJpbmc+ID0gVmFsdWUgZXh0ZW5kcyBOb25SZWN1cnNpdmVUeXBlID8gVmFsdWUgOiBWYWx1ZSBleHRlbmRzIFVua25vd25BcnJheSA/IERlbGltaXRlckNhc2VkUHJvcGVydGllc0FycmF5RGVlcDxWYWx1ZSwgRGVsaW1pdGVyPiA6IFZhbHVlIGV4dGVuZHMgU2V0PGluZmVyIFU+ID8gU2V0PERlbGltaXRlckNhc2VkUHJvcGVydGllc0RlZXA8VSwgRGVsaW1pdGVyPj4gOiB7XG4gICAgW0sgaW4ga2V5b2YgVmFsdWUgYXMgRGVsaW1pdGVyQ2FzZTxLLCBEZWxpbWl0ZXI+XTogRGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzRGVlcDxWYWx1ZVtLXSwgRGVsaW1pdGVyPjtcbn07XG50eXBlIERlbGltaXRlckNhc2VkUHJvcGVydGllc0FycmF5RGVlcDxWYWx1ZSBleHRlbmRzIFVua25vd25BcnJheSwgRGVsaW1pdGVyIGV4dGVuZHMgc3RyaW5nPiA9IFZhbHVlIGV4dGVuZHMgW10gPyBbXSA6IFZhbHVlIGV4dGVuZHMgW2luZmVyIFUsIC4uLmluZmVyIFZdID8gW0RlbGltaXRlckNhc2VkUHJvcGVydGllc0RlZXA8VSwgRGVsaW1pdGVyPiwgLi4uRGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzRGVlcDxWLCBEZWxpbWl0ZXI+XSA6IFZhbHVlIGV4dGVuZHMgcmVhZG9ubHkgW2luZmVyIFUsIC4uLmluZmVyIFZdID8gcmVhZG9ubHkgW1xuICAgIERlbGltaXRlckNhc2VkUHJvcGVydGllc0RlZXA8VSwgRGVsaW1pdGVyPixcbiAgICAuLi5EZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwPFYsIERlbGltaXRlcj5cbl0gOiBWYWx1ZSBleHRlbmRzIHJlYWRvbmx5IFsuLi5pbmZlciBVLCBpbmZlciBWXSA/IFtcbiAgICAuLi5EZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwPFUsIERlbGltaXRlcj4sXG4gICAgRGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzRGVlcDxWLCBEZWxpbWl0ZXI+XG5dIDogVmFsdWUgZXh0ZW5kcyByZWFkb25seSBbLi4uaW5mZXIgVSwgaW5mZXIgVl0gPyByZWFkb25seSBbXG4gICAgLi4uRGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzRGVlcDxVLCBEZWxpbWl0ZXI+LFxuICAgIERlbGltaXRlckNhc2VkUHJvcGVydGllc0RlZXA8ViwgRGVsaW1pdGVyPlxuXSA6IFZhbHVlIGV4dGVuZHMgQXJyYXk8aW5mZXIgVT4gPyBBcnJheTxEZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwPFUsIERlbGltaXRlcj4+IDogVmFsdWUgZXh0ZW5kcyBSZWFkb25seUFycmF5PGluZmVyIFU+ID8gUmVhZG9ubHlBcnJheTxEZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwPFUsIERlbGltaXRlcj4+IDogbmV2ZXI7XG5leHBvcnQge307XG4iLCJpbXBvcnQgdHlwZSB7IERlbGltaXRlckNhc2VkUHJvcGVydGllc0RlZXAgfSBmcm9tICcuL2RlbGltaXRlckNhc2VkUHJvcGVydGllc0RlZXAnO1xuLyoqXG4gKiBDb252ZXJ0IG9iamVjdCBwcm9wZXJ0aWVzIHRvIHNuYWtlIGNhc2UgcmVjdXJzaXZlbHkuXG4gKlxuICogVGhpcyBjYW4gYmUgdXNlZnVsIHdoZW4sIGZvciBleGFtcGxlLCBjb252ZXJ0aW5nIHNvbWUgQVBJIHR5cGVzIGZyb20gYSBkaWZmZXJlbnQgc3R5bGUuXG4gKlxuICogQHNlZSBTbmFrZUNhc2VcbiAqIEBzZWUgU25ha2VDYXNlZFByb3BlcnRpZXNcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgXG4gKiBpbXBvcnQgdHlwZSB7U25ha2VDYXNlZFByb3BlcnRpZXNEZWVwfSBmcm9tICd0eXBlLWZlc3QnO1xuICpcbiAqIGludGVyZmFjZSBVc2VyIHtcbiAqIFx0dXNlcklkOiBudW1iZXI7XG4gKiBcdHVzZXJOYW1lOiBzdHJpbmc7XG4gKiB9XG4gKlxuICogaW50ZXJmYWNlIFVzZXJXaXRoRnJpZW5kcyB7XG4gKiBcdHVzZXJJbmZvOiBVc2VyO1xuICogXHR1c2VyRnJpZW5kczogVXNlcltdO1xuICogfVxuICpcbiAqIGNvbnN0IHJlc3VsdDogU25ha2VDYXNlZFByb3BlcnRpZXNEZWVwPFVzZXJXaXRoRnJpZW5kcz4gPSB7XG4gKiBcdHVzZXJfaW5mbzoge1xuICogXHRcdHVzZXJfaWQ6IDEsXG4gKiBcdFx0dXNlcl9uYW1lOiAnVG9tJyxcbiAqIFx0fSxcbiAqIFx0dXNlcl9mcmllbmRzOiBbXG4gKiBcdFx0e1xuICogXHRcdFx0dXNlcl9pZDogMixcbiAqIFx0XHRcdHVzZXJfbmFtZTogJ0plcnJ5JyxcbiAqIFx0XHR9LFxuICogXHRcdHtcbiAqIFx0XHRcdHVzZXJfaWQ6IDMsXG4gKiBcdFx0XHR1c2VyX25hbWU6ICdTcGlrZScsXG4gKiBcdFx0fSxcbiAqIFx0XSxcbiAqIH07XG4gKiBgYGBcbiAqXG4gKiBAY2F0ZWdvcnkgQ2hhbmdlIGNhc2VcbiAqIEBjYXRlZ29yeSBUZW1wbGF0ZSBsaXRlcmFsXG4gKiBAY2F0ZWdvcnkgT2JqZWN0XG4gKi9cbmV4cG9ydCB0eXBlIFNuYWtlQ2FzZWRQcm9wZXJ0aWVzRGVlcDxWYWx1ZT4gPSBEZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwPFZhbHVlLCAnXyc+O1xuIiwiLyoqXG4gKiBHZW5lcmljIHV0aWxpdHkgdG8gdHJhbnNmb3JtIHNuYWtlX2Nhc2Ugb2JqZWN0IGtleXMgdG8gY2FtZWxDYXNlIGF0IHJ1bnRpbWUuXG4gKiBUaGlzIGlzIHRoZSBydW50aW1lIGVxdWl2YWxlbnQgb2YgdGhlIENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcCB0eXBlIHV0aWxpdHkuXG4gKi9cbi8qKlxuICogUmVjdXJzaXZlbHkgdHJhbnNmb3JtcyBhbGwgb2JqZWN0IGtleXMgZnJvbSBzbmFrZV9jYXNlIHRvIGNhbWVsQ2FzZVxuICovXG5leHBvcnQgZGVjbGFyZSBjb25zdCB0cmFuc2Zvcm1TbmFrZVRvQ2FtZWw6IChvYmo6IHVua25vd24pID0+IHVua25vd247XG4vKipcbiAqIFJlY3Vyc2l2ZWx5IHRyYW5zZm9ybXMgYWxsIG9iamVjdCBrZXlzIGZyb20gY2FtZWxDYXNlIHRvIHNuYWtlX2Nhc2VcbiAqL1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdHJhbnNmb3JtQ2FtZWxUb1NuYWtlOiAob2JqOiB1bmtub3duKSA9PiB1bmtub3duO1xuIiwiaW1wb3J0IHsgRnVsZmlsbG1lbnREaXNwbGF5U3RhdHVzIH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50Jztcbi8qKlxuICogQ29udmVydHMgYSBzdHJpbmcgdG8gYSBGdWxmaWxsbWVudERpc3BsYXlTdGF0dXMgZW51bSB2YWx1ZS5cbiAqXG4gKiBAcGFyYW0gc3RhdHVzIC0gVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICpcbiAqIEByZXR1cm5zIFRoZSBGdWxmaWxsbWVudERpc3BsYXlTdGF0dXMgZW51bSB2YWx1ZSBvciB1bmRlZmluZWQgaWYgdGhlIHN0cmluZ1xuICogZG9lcyBub3QgbWFwIHRvIGEgdmFsaWQgZW51bVxuICovXG5leHBvcnQgZGVjbGFyZSBjb25zdCBzdHJpbmdUb0Z1bGZpbGxtZW50RGlzcGxheVN0YXR1c0VudW1WYWx1ZTogKHN0YXR1czogc3RyaW5nKSA9PiBGdWxmaWxsbWVudERpc3BsYXlTdGF0dXMgfCB1bmRlZmluZWQ7XG4iLCJpbXBvcnQgeyBDb2xvck1hcHBpbmcgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVscy9jb2xvcnNDb25maWdcIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHZhbGlkYXRlR3JhcGhRTENvbG9yc0NvbmZpZzogKGRhdGE6IHVua25vd24pID0+IENvbG9yTWFwcGluZyB8IHVuZGVmaW5lZDtcbiIsImltcG9ydCB7IEZyb250ZW5kQ29uZmlnIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9mcm9udGVuZENvbmZpZyc7XG5pbXBvcnQgeyBXaWRnZXRDb25maWcsIFBhZ2VWYXJpYW50Q29uZmlnLCBXaWRnZXRNb3VudGluZ0NvbmZpZyB9IGZyb20gJ3NyYy9jb250ZXh0cy90eXBlcyc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCB2YWxpZGF0ZUFuZFRyYW5zZm9ybVBhZ2VWYXJpYW50czogKGNvbmZpZzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IFBhZ2VWYXJpYW50Q29uZmlnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdmFsaWRhdGVBbmRUcmFuc2Zvcm1Nb3VudGluZ0NvbmZpZzogKGNvbmZpZzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIGNvbmZpZ0tleTogc3RyaW5nKSA9PiBXaWRnZXRNb3VudGluZ0NvbmZpZztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHZhbGlkYXRlQW5kVHJhbnNmb3JtV2lkZ2V0Q29uZmlnOiAoY29uZmlnOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgY29uZmlnS2V5OiBzdHJpbmcpID0+IFdpZGdldENvbmZpZztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHZhbGlkYXRlR3JhcGhRTEZyb250ZW5kQ29uZmlnOiAoZGF0YTogdW5rbm93bikgPT4gRnJvbnRlbmRDb25maWcgfCB1bmRlZmluZWQ7XG4iLCJleHBvcnQgZGVjbGFyZSBjb25zdCB2YWxpZGF0ZUdyYXBoUUxPcmdJZDogKGRhdGE6IHVua25vd24pID0+IHN0cmluZyB8IHVuZGVmaW5lZDtcbiIsImltcG9ydCB7IE1vYmlsZVBMUENoYXRQbGFjZW1lbnRQYXJhbWV0ZXIgfSBmcm9tICcuLi9tb2JpbGVQTFBDaGF0UGxhY2VtZW50UGFyYW1ldGVyJztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHZhbGlkYXRlTW9iaWxlUExQQ2hhdFBsYWNlbWVudFBhcmFtZXRlcjogKHZhbHVlOiB1bmtub3duKSA9PiBNb2JpbGVQTFBDaGF0UGxhY2VtZW50UGFyYW1ldGVyIHwgdW5kZWZpbmVkO1xuIiwiaW1wb3J0IHsgT3JnYW5pemF0aW9uQ29uZmlnIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvb3JnYW5pemF0aW9uQ29uZmlnJztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHZhbGlkYXRlT3JnYW5pemF0aW9uQ29uZmlnOiAoZGF0YTogdW5rbm93bikgPT4gT3JnYW5pemF0aW9uQ29uZmlnIHwgdW5kZWZpbmVkO1xuIiwiaW1wb3J0IHsgT3JnQ29uZmlnIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvb3JnQ29uZmlnUmVzdWx0cyc7XG4vKipcbiAqXG4gKiBAcGFyYW0gZGF0YVxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdmFsaWRhdGVPcmdDb25maWdSZXN1bHRzOiAoZGF0YTogdW5rbm93bikgPT4gT3JnQ29uZmlnIHwgdW5kZWZpbmVkO1xuIiwiaW1wb3J0IHsgUmVzcG9uc2UgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2luZGV4JztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHZhbGlkYXRlUmVzcG9uc2U6IChkYXRhOiB1bmtub3duKSA9PiBSZXNwb25zZSB8IHVuZGVmaW5lZDtcbiIsImltcG9ydCB7IFN1Z2dlc3Rpb24gfSBmcm9tICcuLi9hcGkvc3VnZ2VzdGlvbic7XG5leHBvcnQgZGVjbGFyZSBjb25zdCB2YWxpZGF0ZVN1Z2dlc3Rpb246IChkYXRhOiB1bmtub3duKSA9PiBTdWdnZXN0aW9uIHwgdW5kZWZpbmVkO1xuIiwiaW1wb3J0IHsgVXNlckV2ZW50IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9pbmRleCc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCB2YWxpZGF0ZVVzZXJFdmVudDogKGRhdGE6IHVua25vd24pID0+IFVzZXJFdmVudCB8IHVuZGVmaW5lZDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFJLGNBQWMsQ0FBQyxJQUFHOzs7O0FDQXRCLElBQUksZ0JBQWdCLENBQUMsSUFBRzs7OztBQ0F4QixJQUFXLDBCQUEwQixDQUFDLElBQUE7Ozs7QUNBdEMsSUFBRSxxQkFBQTtDQUFBO09BQUE7T0FBQTtDQUFBO0FBQ0YsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJO0FBQzNCLElBQUUsbUJBQUEsQ0FB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
673
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtQmIzelhQMFAuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2NhY2hlZFZhbHVlLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2NsaWVudERldGFpbHMuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvY29udmVyc2F0aW9uYWxTZWFyY2hJZHMuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZGF0YUxheWVyLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2V2ZW50cy5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9nb29nbGVBbmFseXRpY3NFdmVudHMuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvbWVzc2FnZS5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9tb2JpbGVQTFBDaGF0UGxhY2VtZW50UGFyYW1ldGVyLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL29yZ3NFbnVtLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3Byb2R1Y3RFeHBlcmltZW50LmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3NwYW54VGFrZUFRdWl6Q3RhUGFyYW1ldGVyLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9jb250ZXh0LmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9nZW5lcmF0aW9uUGFyYW1zLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS91c2VyRXZlbnQuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL25leHRNZXNzYWdlUmVxdWVzdC5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvc3VnZ2VzdGlvbi5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvc3VwcG9ydGVkRXZlbnRSZXF1ZXN0LmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9pc0Jhc2VFY29tbWVyY2VFdmVudC5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvaXNHQTRFY29tbWVyY2VFdmVudC5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvaXNMZWdhY3lVQUVjb21tZXJjZUV2ZW50LmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9pc01vYmlsZVBMUENoYXRQbGFjZW1lbnRQYXJhbWV0ZXIuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2lzU3BhbnhUYWtlQVF1aXpDdGFQYXJhbWV0ZXIuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2lzVmFyaWFudEluZm8uZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2FwaS9pc0FwaUZvcm1SZXNwb25zZS5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvYXBpL2lzQXBpRm9ybVN1Ym1pdHRlZFJlc3BvbnNlQXR0cmlidXRlcy5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvYXBpL2lzQXBpT3JkZXJSZXNwb25zZUF0dHJpYnV0ZXMuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2FwaS9pc0FwaU9yZ2FuaXphdGlvbkNvbmZpZy5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvYXBpL2lzQXBpT3JnQ29uZmlnUmVzdWx0cy5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvYXBpL2lzQXBpUGFnZVJlc3BvbnNlQXR0cmlidXRlcy5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvYXBpL2lzQXBpUExQRXZlbnRBdHRyaWJ1dGVzLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9hcGkvaXNBcGlQcm9kdWN0U2VhcmNoRmlsdGVyQXR0cmlidXRlcy5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvZ3JhcGhRTC9pc0dyYXBoUUxDb2xvcnNDb25maWcuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdXRpbGl0eVR5cGVzL2RlbGltaXRlckNhc2UuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdXRpbGl0eVR5cGVzL2RlbGltaXRlckNhc2VkUHJvcGVydGllc0RlZXAuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdXRpbGl0eVR5cGVzL3NuYWtlQ2FzZWRQcm9wZXJ0aWVzRGVlcC5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy91dGlscy9zbmFrZVRvQ2FtZWxUcmFuc2Zvcm1lci5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy91dGlscy9zdHJpbmdUb0Z1bGZpbGxtZW50RGlzcGxheVN0YXR1c0VudW1WYWx1ZS5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy92YWxpZGF0b3JzL3ZhbGlkYXRlR3JhcGhRTENvbG9yc0NvbmZpZy5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy92YWxpZGF0b3JzL3ZhbGlkYXRlR3JhcGhRTEZyb250ZW5kQ29uZmlnLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3ZhbGlkYXRvcnMvdmFsaWRhdGVHcmFwaFFMT3JnSWQuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdmFsaWRhdG9ycy92YWxpZGF0ZU1vYmlsZVBMUENoYXRQbGFjZW1lbnRQYXJhbWV0ZXIuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdmFsaWRhdG9ycy92YWxpZGF0ZU9yZ2FuaXphdGlvbkNvbmZpZy5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy92YWxpZGF0b3JzL3ZhbGlkYXRlT3JnQ29uZmlnUmVzdWx0cy5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy92YWxpZGF0b3JzL3ZhbGlkYXRlUmVzcG9uc2UuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdmFsaWRhdG9ycy92YWxpZGF0ZVN1Z2dlc3Rpb24uZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdmFsaWRhdG9ycy92YWxpZGF0ZVVzZXJFdmVudC5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImludGVyZmFjZSBDYWNoZWRWYWx1ZSB7XG4gICAgdmFsdWU6IHVua25vd247XG4gICAgZXhwaXJ5OiBudW1iZXI7XG59XG5leHBvcnQgdHlwZSB7IENhY2hlZFZhbHVlIH07XG4iLCJpbnRlcmZhY2UgQ2xpZW50RGV0YWlscyB7XG4gICAgb3M/OiBzdHJpbmc7XG4gICAgb3NWZXJzaW9uPzogc3RyaW5nO1xuICAgIGRldmljZUJyYW5kPzogc3RyaW5nO1xuICAgIGRldmljZU1hbnVmYWN0dXJlcj86IHN0cmluZztcbiAgICBkZXZpY2VNb2RlbD86IHN0cmluZztcbiAgICBjYXJyaWVyPzogc3RyaW5nO1xuICAgIGNvdW50cnk/OiBzdHJpbmc7XG4gICAgcmVnaW9uPzogc3RyaW5nO1xuICAgIGJyb3dzZXI/OiBzdHJpbmc7XG4gICAgYnJvd3NlclZlcnNpb24/OiBzdHJpbmc7XG4gICAgYnJvd3NlcklwQWRkcmVzcz86IHN0cmluZztcbiAgICB1c2VyQWdlbnQ/OiBzdHJpbmc7XG59XG5leHBvcnQgdHlwZSB7IENsaWVudERldGFpbHMsIH07XG4iLCJleHBvcnQgdHlwZSBDb252ZXJzYXRpb25hbFNlYXJjaElkcyA9IHtcbiAgICBjb252ZXJzYXRpb25hbFNlYXJjaEVudHJ5cG9pbnRJZD86IHN0cmluZztcbiAgICBjb252ZXJzYXRpb25hbFNlYXJjaElucHV0SWQ/OiBzdHJpbmc7XG4gICAgY29udmVyc2F0aW9uYWxTZWFyY2hNb2RhbElkPzogc3RyaW5nO1xufTtcbiIsIi8qKlxuICogQmFzZSBpbnRlcmZhY2UgZm9yIGNvbW1vbiBwcm9wZXJ0aWVzIGFjcm9zcyBhbGwgZWNvbW1lcmNlIGV2ZW50c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VFY29tbWVyY2VFdmVudCB7XG4gICAgZXZlbnQ6IHN0cmluZztcbiAgICBlY29tbWVyY2U6IFVBRWNvbW1lcmNlRGF0YSB8IEdBNEVjb21tZXJjZURhdGE7XG59XG4vKipcbiAqIExlZ2FjeSB1bml2ZXJzYWwgYW5hbHl0aWNzIGRhdGEuIFRoZSBhY3R1YWwgcGF5bG9hZCBjb250YWlucyBtb3JlIGZpZWxkcywgYnV0IHdlXG4gKiBvbmx5IG5lZWQgdGhlIG9uZXMgbGlzdGVkIGJlbG93LlxuICovXG5pbnRlcmZhY2UgVUFFY29tbWVyY2VEYXRhIHtcbiAgICBhZGQ6IHtcbiAgICAgICAgcHJvZHVjdHM6IHtcbiAgICAgICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgICAgIGNhdGVnb3J5OiBzdHJpbmc7XG4gICAgICAgICAgICBwcmljZTogc3RyaW5nO1xuICAgICAgICAgICAgcXVhbnRpdHk6IHN0cmluZztcbiAgICAgICAgfVtdO1xuICAgICAgICBjdXJyZW5jeUNvZGU6IHN0cmluZztcbiAgICB9O1xufVxuLyoqXG4gKiBHb29nbGUgQW5hbHl0aWNzIDQgZGF0YS4gVGhlIGFjdHVhbCBwYXlsb2FkIGNvbnRhaW5zIG1vcmUgZmllbGRzLCBidXQgd2VcbiAqIG9ubHkgbmVlZCB0aGUgb25lcyBsaXN0ZWQgYmVsb3cuXG4gKi9cbmludGVyZmFjZSBHQTRFY29tbWVyY2VEYXRhIHtcbiAgICBjdXJyZW5jeTogc3RyaW5nO1xuICAgIGl0ZW1zOiB7XG4gICAgICAgIGl0ZW1fbmFtZTogc3RyaW5nO1xuICAgICAgICBpdGVtX2NhdGVnb3J5OiBzdHJpbmc7XG4gICAgICAgIHByaWNlOiBudW1iZXI7XG4gICAgICAgIHF1YW50aXR5OiBudW1iZXI7XG4gICAgfVtdO1xufVxuZXhwb3J0IGludGVyZmFjZSBVQUVjb21tZXJjZUV2ZW50IGV4dGVuZHMgQmFzZUVjb21tZXJjZUV2ZW50IHtcbiAgICBlY29tbWVyY2U6IFVBRWNvbW1lcmNlRGF0YTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgR0E0RWNvbW1lcmNlRXZlbnQgZXh0ZW5kcyBCYXNlRWNvbW1lcmNlRXZlbnQge1xuICAgIGVjb21tZXJjZTogR0E0RWNvbW1lcmNlRGF0YTtcbn1cbmV4cG9ydCB7fTtcbiIsImV4cG9ydCBkZWNsYXJlIGVudW0gU3BpZmZ5RXZlbnROYW1lIHtcbiAgICBXaWRnZXRPcGVuID0gXCJzcGlmZnk6d2lkZ2V0b3BlblwiLFxuICAgIFdpZGdldENsb3NlID0gXCJzcGlmZnk6d2lkZ2V0Y2xvc2VcIlxufVxuIiwiZGVjbGFyZSBlbnVtIEdvb2dsZUFuYWx5dGljc0V2ZW50cyB7XG4gICAgQUREX1RPX0NBUlRfdjEgPSBcImFkZF90b19jYXJ0XCIsXG4gICAgQUREX1RPX0NBUlRfdjIgPSBcImFkZFRvQ2FydFwiXG59XG5leHBvcnQgeyBHb29nbGVBbmFseXRpY3NFdmVudHMgfTtcbiIsImltcG9ydCB7IEN1c3RTZXJ2aWNlQXR0YWNobWVudCwgRm9ybVR5cGUgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgT3JkZXJSZXNwb25zZUF0dHJpYnV0ZXMsIFByb2R1Y3RSZXNwb25zZUF0dHJpYnV0ZXMsIFJldmlld1Jlc3BvbnNlQXR0cmlidXRlcywgUGFnZVJlc3BvbnNlQXR0cmlidXRlcywgVGV4dFJlc3BvbnNlQXR0cmlidXRlcywgU2VhcmNoUmVzcG9uc2VBdHRyaWJ1dGVzLCBTZWFyY2hQcm9kdWN0UmVzcG9uc2VBdHRyaWJ1dGVzLCBBY2NlcHRhYmxlRm9ybUZpZWxkVHlwZSwgU2VhcmNoUHJvZHVjdEZpbHRlckF0dHJpYnV0ZXMgfSBmcm9tICcuL2FwaS9yZXNwb25zZSc7XG5leHBvcnQgZGVjbGFyZSBlbnVtIE1lc3NhZ2VSb2xlIHtcbiAgICBVc2VyID0gXCJ1c2VyXCIsXG4gICAgQXNzaXN0YW50ID0gXCJhc3Npc3RhbnRcIlxufVxuZXhwb3J0IGRlY2xhcmUgZW51bSBNZXNzYWdlVHlwZSB7XG4gICAgVGV4dCA9IFwidGV4dFwiLFxuICAgIFN1Z2dlc3Rpb25DbGlja2VkID0gXCJzdWdnZXN0aW9uX2NsaWNrZWRcIixcbiAgICBQcm9kdWN0ID0gXCJwcm9kdWN0XCIsXG4gICAgUHJvZHVjdFNlYXJjaCA9IFwicHJvZHVjdF9zZWFyY2hcIixcbiAgICBSZXZpZXcgPSBcInJldmlld1wiLFxuICAgIFF1ZXJ5VHlwZWQgPSBcInF1ZXJ5X3R5cGVkXCIsXG4gICAgU2VwYXJhdG9yID0gXCJzZXBhcmF0b3JcIixcbiAgICBQYWdlID0gXCJwYWdlXCIsXG4gICAgU2VhcmNoID0gXCJzZWFyY2hcIixcbiAgICBBdHRhY2htZW50ID0gXCJhdHRhY2htZW50XCIsXG4gICAgQ1hBZ2VudFJlc3BvbnNlID0gXCJjeF9hZ2VudF9yZXNwb25zZVwiLFxuICAgIEZvcm0gPSBcImZvcm1cIixcbiAgICBPcmRlciA9IFwib3JkZXJcIixcbiAgICBQcm9kdWN0U2VhcmNoRmlsdGVyID0gXCJwcm9kdWN0X3NlYXJjaF9maWx0ZXJcIlxufVxuZXhwb3J0IHR5cGUgTWVzc2FnZSA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHJvbGU6IE1lc3NhZ2VSb2xlO1xuICAgIGNyZWF0ZWRBdDogc3RyaW5nO1xufSAmIChUZXh0TWVzc2FnZU1ldGFkYXRhIHwgUXVlcnlUeXBlZE1ldGFkYXRhIHwgU3VnZ2VzdGlvbk1lc3NhZ2VNZXRhZGF0YSB8IFByb2R1Y3RNZXNzYWdlTWV0YWRhdGEgfCBQcm9kdWN0U2VhcmNoTWVzc2FnZU1ldGFkYXRhIHwgUmV2aWV3TWVzc2FnZU1ldGFkYXRhIHwgU2VwYXJhdG9yTWVzc2FnZU1ldGFkYXRhIHwgUGFnZU1lc3NhZ2VNZXRhZGF0YSB8IFNlYXJjaE1lc3NhZ2VNZXRhZGF0YSB8IEF0dGFjaG1lbnRNZXRhZGF0YSB8IENYQWdlbnRSZXNwb25zZU1ldGFkYXRhIHwgRm9ybU1lc3NhZ2VNZXRhZGF0YSB8IE9yZGVyTWVzc2FnZU1ldGFkYXRhIHwgUHJvZHVjdFNlYXJjaEZpbHRlck1ldGFkYXRhKTtcbnR5cGUgQXR0YWNobWVudE1ldGFkYXRhID0ge1xuICAgIHR5cGU6IE1lc3NhZ2VUeXBlLkF0dGFjaG1lbnQ7XG4gICAgbWV0YWRhdGE6IHtcbiAgICAgICAgbWVzc2FnZT86IHN0cmluZztcbiAgICAgICAgYXR0YWNobWVudDogQ3VzdFNlcnZpY2VBdHRhY2htZW50W107XG4gICAgfTtcbn07XG50eXBlIENYQWdlbnRSZXNwb25zZU1ldGFkYXRhID0ge1xuICAgIHR5cGU6IE1lc3NhZ2VUeXBlLkNYQWdlbnRSZXNwb25zZTtcbiAgICBtZXRhZGF0YToge1xuICAgICAgICBtZXNzYWdlOiBzdHJpbmc7XG4gICAgICAgIGFnZW50TmFtZTogc3RyaW5nO1xuICAgIH07XG59O1xudHlwZSBUZXh0TWVzc2FnZU1ldGFkYXRhID0ge1xuICAgIHR5cGU6IE1lc3NhZ2VUeXBlLlRleHQ7XG4gICAgbWV0YWRhdGE6IFRleHRSZXNwb25zZUF0dHJpYnV0ZXNbJ2F0dHJpYnV0ZXMnXTtcbn07XG50eXBlIFF1ZXJ5VHlwZWRNZXRhZGF0YSA9IHtcbiAgICB0eXBlOiBNZXNzYWdlVHlwZS5RdWVyeVR5cGVkO1xuICAgIG1ldGFkYXRhOiBUZXh0UmVzcG9uc2VBdHRyaWJ1dGVzWydhdHRyaWJ1dGVzJ107XG59O1xudHlwZSBTdWdnZXN0aW9uTWVzc2FnZU1ldGFkYXRhID0ge1xuICAgIHR5cGU6IE1lc3NhZ2VUeXBlLlN1Z2dlc3Rpb25DbGlja2VkO1xuICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIHN1Z2dlc3Rpb25JZDogc3RyaW5nO1xuICAgICAgICBzdWdnZXN0aW9uQ29udGVudDogc3RyaW5nO1xuICAgIH07XG59O1xuZXhwb3J0IHR5cGUgUHJvZHVjdE1lc3NhZ2VNZXRhZGF0YSA9IHtcbiAgICB0eXBlOiBNZXNzYWdlVHlwZS5Qcm9kdWN0O1xuICAgIG1ldGFkYXRhOiBQcm9kdWN0UmVzcG9uc2VBdHRyaWJ1dGVzWydhdHRyaWJ1dGVzJ107XG59O1xuZXhwb3J0IHR5cGUgUHJvZHVjdFNlYXJjaE1lc3NhZ2VNZXRhZGF0YSA9IHtcbiAgICB0eXBlOiBNZXNzYWdlVHlwZS5Qcm9kdWN0U2VhcmNoO1xuICAgIG1ldGFkYXRhOiBTZWFyY2hQcm9kdWN0UmVzcG9uc2VBdHRyaWJ1dGVzWydhdHRyaWJ1dGVzJ107XG59O1xudHlwZSBSZXZpZXdNZXNzYWdlTWV0YWRhdGEgPSB7XG4gICAgdHlwZTogTWVzc2FnZVR5cGUuUmV2aWV3O1xuICAgIG1ldGFkYXRhOiBSZXZpZXdSZXNwb25zZUF0dHJpYnV0ZXNbJ2F0dHJpYnV0ZXMnXTtcbn07XG50eXBlIFNlcGFyYXRvck1lc3NhZ2VNZXRhZGF0YSA9IHtcbiAgICB0eXBlOiBNZXNzYWdlVHlwZS5TZXBhcmF0b3I7XG59O1xudHlwZSBQYWdlTWVzc2FnZU1ldGFkYXRhID0ge1xuICAgIHR5cGU6IE1lc3NhZ2VUeXBlLlBhZ2U7XG4gICAgbWV0YWRhdGE6IFBhZ2VSZXNwb25zZUF0dHJpYnV0ZXNbJ2F0dHJpYnV0ZXMnXTtcbn07XG50eXBlIFNlYXJjaE1lc3NhZ2VNZXRhZGF0YSA9IHtcbiAgICB0eXBlOiBNZXNzYWdlVHlwZS5TZWFyY2g7XG4gICAgbWV0YWRhdGE6IFNlYXJjaFJlc3BvbnNlQXR0cmlidXRlc1snYXR0cmlidXRlcyddO1xufTtcbnR5cGUgUHJvZHVjdFNlYXJjaEZpbHRlck1ldGFkYXRhID0ge1xuICAgIHR5cGU6IE1lc3NhZ2VUeXBlLlByb2R1Y3RTZWFyY2hGaWx0ZXI7XG4gICAgbWV0YWRhdGE6IFNlYXJjaFByb2R1Y3RGaWx0ZXJBdHRyaWJ1dGVzWydhdHRyaWJ1dGVzJ107XG59O1xuZXhwb3J0IHR5cGUgRm9ybUZpZWxkID0ge1xuICAgIGtleTogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgdHlwZTogQWNjZXB0YWJsZUZvcm1GaWVsZFR5cGU7XG4gICAgcmVxdWlyZWQ6IGJvb2xlYW47XG4gICAgZm9ybWF0PzogJ2VtYWlsJztcbiAgICB2YWx1ZT86IHN0cmluZztcbn07XG50eXBlIEZvcm1NZXNzYWdlTWV0YWRhdGEgPSB7XG4gICAgdHlwZTogTWVzc2FnZVR5cGUuRm9ybTtcbiAgICBtZXRhZGF0YToge1xuICAgICAgICBmb3JtVHlwZT86IEZvcm1UeXBlO1xuICAgICAgICBmaWVsZHM6IEZvcm1GaWVsZFtdO1xuICAgIH07XG59O1xudHlwZSBPcmRlck1lc3NhZ2VNZXRhZGF0YSA9IHtcbiAgICB0eXBlOiBNZXNzYWdlVHlwZS5PcmRlcjtcbiAgICBtZXRhZGF0YTogT3JkZXJSZXNwb25zZUF0dHJpYnV0ZXNbJ2F0dHJpYnV0ZXMnXTtcbn07XG5leHBvcnQge307XG4iLCJleHBvcnQgaW50ZXJmYWNlIE1vYmlsZVBMUENoYXRQbGFjZW1lbnRQYXJhbWV0ZXIge1xuICAgIHJvd0luZGV4OiBudW1iZXI7XG59XG4iLCJleHBvcnQgZGVjbGFyZSBjb25zdCBPcmdTaG9ydE5hbWU6IHtcbiAgICByZWFkb25seSBDb3RlcmllOiBcImNvdGVyaWVcIjtcbiAgICByZWFkb25seSBGb3JMb3ZlQW5kTGVtb25zOiBcImZvci1sb3ZlLWFuZC1sZW1vbnNcIjtcbiAgICByZWFkb25seSBHcmVlbnBhbjogXCJncmVlbnBhblwiO1xuICAgIHJlYWRvbmx5IEpvcmRhbkNyYWlnOiBcImpvcmRhbi1jcmFpZ1wiO1xuICAgIHJlYWRvbmx5IExhcnJ5QW5kU2VyZ2VzOiBcImxhcnJ5X2FuZF9zZXJnZXNcIjtcbiAgICByZWFkb25seSBMZWFwc0FuZFJlYm91bmRzOiBcImxlYXBzLWFuZC1yZWJvdW5kc1wiO1xuICAgIHJlYWRvbmx5IE1hbnRyYUJyYW5kOiBcIm1hbnRyYS1icmFuZFwiO1xuICAgIHJlYWRvbmx5IFNwYW54OiBcInNwYW54XCI7XG4gICAgcmVhZG9ubHkgU3BhbnhTdGFnaW5nOiBcInN0YWdpbmctc3BhbnhcIjtcbiAgICByZWFkb25seSBTdXBlcmdvb3A6IFwic3VwZXJnb29wXCI7XG4gICAgcmVhZG9ubHkgVW5pcXVlVmludGFnZTogXCJ1bmlxdWUtdmludGFnZVwiO1xuICAgIHJlYWRvbmx5IEphY2tBcmNoZXI6IFwiamFjay1hcmNoZXJcIjtcbiAgICByZWFkb25seSBTa2luUGVyZmVjdGlvbjogXCJza2luLXBlcmZlY3Rpb25cIjtcbiAgICByZWFkb25seSBMb29rT3B0aWM6IFwibG9vay1vcHRpY1wiO1xuICAgIHJlYWRvbmx5IEZpdmVDYmQ6IFwiZml2ZS1jYmRcIjtcbiAgICByZWFkb25seSBTbmFwU3VwcGxlbWVudHM6IFwic25hcC1zdXBwbGVtZW50c1wiO1xuICAgIHJlYWRvbmx5IExvbmdldml0eXJ4OiBcImxvbmdldml0eXJ4XCI7XG4gICAgcmVhZG9ubHkgVmVuYUNiZDogXCJ2ZW5hLWNiZFwiO1xuICAgIHJlYWRvbmx5IE1lZHRlcnJhOiBcIm1lZHRlcnJhXCI7XG4gICAgcmVhZG9ubHkgTW9kZWxsczogXCJtb2RlbGxzXCI7XG4gICAgcmVhZG9ubHkgUHJlc3NlZEZsb3JhbDogXCJwcmVzc2VkLWZsb3JhbFwiO1xuICAgIHJlYWRvbmx5IEtpbmRyZWRCcmF2ZWx5OiBcImtpbmRyZWQtYnJhdmVseVwiO1xuICAgIHJlYWRvbmx5IFdpbmVFbnRodXNpYXN0OiBcIndpbmUtZW50aHVzaWFzdFwiO1xuICAgIHJlYWRvbmx5IEhvbWVncm93bkNhbm5hYmlzOiBcImhvbWVncm93bi1jYW5uYWJpc1wiO1xuICAgIHJlYWRvbmx5IERyZWFtbGFuZEJhYnk6IFwiZHJlYW1sYW5kLWJhYnlcIjtcbiAgICByZWFkb25seSBCYW5kb2xpZXI6IFwiYmFuZG9saWVyXCI7XG4gICAgcmVhZG9ubHkgV2VzdG9uSm9uQm91Y2hlcjogXCJ3ZXN0b24tam9uLWJvdWNoZXJcIjtcbiAgICByZWFkb25seSBLdXRGcm9tVGhlS2xvdGg6IFwia3V0LWZyb20tdGhlLWtsb3RoXCI7XG4gICAgcmVhZG9ubHkgR3Jvb3ZlTGlmZTogXCJncm9vdmUtbGlmZVwiO1xuICAgIHJlYWRvbmx5IENhcnBlOiBcImNhcnBlXCI7XG4gICAgcmVhZG9ubHkgV29sZlRhY3RpY2FsOiBcIndvbGYtdGFjdGljYWxcIjtcbiAgICByZWFkb25seSBXb2xmTWF0dHJlc3M6IFwid29sZm1hdHRyZXNzXCI7XG4gICAgcmVhZG9ubHkgRGVmYXVsdDogXCJkZWZhdWx0XCI7XG59O1xuIiwiZXhwb3J0IGRlY2xhcmUgZW51bSBQcm9kdWN0RXhwZXJpbWVudCB7XG4gICAgRGVmYXVsdCA9IFwiZGVmYXVsdFwiXG59XG4iLCJleHBvcnQgaW50ZXJmYWNlIFNwYW54VGFrZUFRdWl6Q3RhUGFyYW1ldGVyIHtcbiAgICB0ZXh0Pzogc3RyaW5nO1xuICAgIHZhbHVlPzogc3RyaW5nO1xufVxuIiwiaW1wb3J0IHsgQ29udGV4dCBhcyBBcGlDb250ZXh0IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcCB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdXRpbGl0eVR5cGVzJztcbmV4cG9ydCBpbnRlcmZhY2UgQ29udGV4dCBleHRlbmRzIENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxBcGlDb250ZXh0PiB7XG59XG4iLCJpbXBvcnQgeyBHZW5lcmF0aW9uUGFyYW1zIGFzIEFwaUdlbmVyYXRpb25QYXJhbXMgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy91dGlsaXR5VHlwZXMnO1xuZXhwb3J0IGludGVyZmFjZSBHZW5lcmF0aW9uUGFyYW1zIGV4dGVuZHMgQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPEFwaUdlbmVyYXRpb25QYXJhbXM+IHtcbn1cbiIsImltcG9ydCB7IFBEUEF0dHJpYnV0ZXMgYXMgQXBpUERQQXR0cmlidXRlcywgUExQQXR0cmlidXRlcyBhcyBBcGlQTFBBdHRyaWJ1dGVzLCBRdWVyeVR5cGVkQXR0cmlidXRlcyBhcyBBcGlRdWVyeVR5cGVkQXR0cmlidXRlcywgU2VhcmNoQXR0cmlidXRlcyBhcyBBcGlTZWFyY2hBdHRyaWJ1dGVzLCBTdWdnZXN0aW9uQ2xpY2tlZEF0dHJpYnV0ZXMgYXMgQXBpU3VnZ2VzdGlvbkNsaWNrZWRBdHRyaWJ1dGVzLCBVc2VyRXZlbnQgYXMgQXBpVXNlckV2ZW50LCBGb3JtVHlwZSwgUGFnZVZpc2l0Q2F0ZWdvcnksIFVzZXJFdmVudENhdGVnb3J5IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcCB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdXRpbGl0eVR5cGVzJztcbmV4cG9ydCBpbnRlcmZhY2UgUERQQXR0cmlidXRlcyBleHRlbmRzIENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxBcGlQRFBBdHRyaWJ1dGVzPiB7XG59XG5leHBvcnQgaW50ZXJmYWNlIFBMUEF0dHJpYnV0ZXMgZXh0ZW5kcyBDYW1lbENhc2VkUHJvcGVydGllc0RlZXA8QXBpUExQQXR0cmlidXRlcz4ge1xufVxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hBdHRyaWJ1dGVzIGV4dGVuZHMgQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPEFwaVNlYXJjaEF0dHJpYnV0ZXM+IHtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlUeXBlZEF0dHJpYnV0ZXMgZXh0ZW5kcyBDYW1lbENhc2VkUHJvcGVydGllc0RlZXA8QXBpUXVlcnlUeXBlZEF0dHJpYnV0ZXM+IHtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVN1Ym1pdHRlZEF0dHJpYnV0ZXMge1xuICAgIGZpbGxlZFNjaGVtYTogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgZm9ybVJlc3BvbnNlSWQ6IHN0cmluZztcbiAgICBmb3JtVHlwZTogRm9ybVR5cGU7XG59XG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VWaXNpdEF0dHJpYnV0ZXMge1xuICAgIHVybDogc3RyaW5nO1xuICAgIHBhZ2VWaXNpdENhdGVnb3J5OiBQYWdlVmlzaXRDYXRlZ29yeTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU3VnZ2VzdGlvbkNsaWNrZWRBdHRyaWJ1dGVzIGV4dGVuZHMgQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPEFwaVN1Z2dlc3Rpb25DbGlja2VkQXR0cmlidXRlcz4ge1xufVxuZXhwb3J0IHR5cGUgVXNlckV2ZW50QXR0cmlidXRlcyA9IFBEUEF0dHJpYnV0ZXMgfCBQTFBBdHRyaWJ1dGVzIHwgUXVlcnlUeXBlZEF0dHJpYnV0ZXMgfCBTZWFyY2hBdHRyaWJ1dGVzIHwgU3VnZ2VzdGlvbkNsaWNrZWRBdHRyaWJ1dGVzIHwgUGFnZVZpc2l0QXR0cmlidXRlcztcbmV4cG9ydCBpbnRlcmZhY2UgUERQVXNlckV2ZW50IHtcbiAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuUGRwVmlzaXQgfCBVc2VyRXZlbnRDYXRlZ29yeS5BZGRUb0NhcnQ7XG4gICAgYXR0cmlidXRlczogUERQQXR0cmlidXRlcztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUExQVXNlckV2ZW50IHtcbiAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuUGxwVmlzaXQ7XG4gICAgYXR0cmlidXRlczogUExQQXR0cmlidXRlcztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlUeXBlZFVzZXJFdmVudCB7XG4gICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LlF1ZXJ5VHlwZWQ7XG4gICAgYXR0cmlidXRlczogUXVlcnlUeXBlZEF0dHJpYnV0ZXM7XG59XG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaFVzZXJFdmVudCB7XG4gICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LlNlYXJjaDtcbiAgICBhdHRyaWJ1dGVzOiBTZWFyY2hBdHRyaWJ1dGVzO1xufVxuZXhwb3J0IGludGVyZmFjZSBTdWdnZXN0aW9uc0NsaWNrZWRVc2VyRXZlbnQge1xuICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5TdWdnZXN0aW9uQ2xpY2tlZDtcbiAgICBhdHRyaWJ1dGVzOiBTdWdnZXN0aW9uQ2xpY2tlZEF0dHJpYnV0ZXM7XG59XG5leHBvcnQgaW50ZXJmYWNlIEFwcExvYWRlZFVzZXJFdmVudCB7XG4gICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LkFwcExvYWRlZDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQXBwVW5sb2FkZWRFdmVudCB7XG4gICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LkFwcFVubG9hZGVkO1xufVxuZXhwb3J0IGludGVyZmFjZSBQYWdlVmlzaXRFdmVudCB7XG4gICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LlBhZ2VWaXNpdDtcbiAgICBhdHRyaWJ1dGVzOiBQYWdlVmlzaXRBdHRyaWJ1dGVzO1xufVxuZXhwb3J0IGludGVyZmFjZSBGb3JtU3VibWl0dGVkIHtcbiAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuRm9ybVN1Ym1pdHRlZDtcbiAgICBhdHRyaWJ1dGVzOiBGb3JtU3VibWl0dGVkQXR0cmlidXRlcztcbn1cbmV4cG9ydCB0eXBlIFVzZXJFdmVudCA9IENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxQaWNrPEFwaVVzZXJFdmVudCwgJ2V2ZW50X2lkJyB8ICdjYXRlZ29yeScgfCAnY3JlYXRlZF9hdCc+PiAmIChTdWdnZXN0aW9uc0NsaWNrZWRVc2VyRXZlbnQgfCBBcHBMb2FkZWRVc2VyRXZlbnQgfCBQRFBVc2VyRXZlbnQgfCBRdWVyeVR5cGVkVXNlckV2ZW50IHwgU2VhcmNoVXNlckV2ZW50IHwgQXBwVW5sb2FkZWRFdmVudCB8IFBMUFVzZXJFdmVudCB8IFBhZ2VWaXNpdEV2ZW50IHwgRm9ybVN1Ym1pdHRlZCk7XG4iLCJpbXBvcnQgeyBDb250ZXh0IH0gZnJvbSAnLi9jb250ZXh0JztcbmltcG9ydCB7IFVzZXJFdmVudCB9IGZyb20gJy4vdXNlckV2ZW50JztcbmltcG9ydCB7IEdlbmVyYXRpb25QYXJhbXMgfSBmcm9tICcuL2dlbmVyYXRpb25QYXJhbXMnO1xuZXhwb3J0IGludGVyZmFjZSBOZXh0TWVzc2FnZVJlcXVlc3Qge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgY29udGV4dDogQ29udGV4dDtcbiAgICB1c2VyRXZlbnRzPzogVXNlckV2ZW50W107XG4gICAgZmVhdHVyZUZsYWdzPzogUmVjb3JkPHN0cmluZywgYm9vbGVhbj47XG4gICAgZ2VuZXJhdGlvblBhcmFtcz86IEdlbmVyYXRpb25QYXJhbXM7XG59XG4iLCJpbXBvcnQgeyBTdWdnZXN0aW9uIGFzIEFwaVN1Z2dlc3Rpb24gfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy91dGlsaXR5VHlwZXMnO1xuZXhwb3J0IGludGVyZmFjZSBTdWdnZXN0aW9uIGV4dGVuZHMgQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPEFwaVN1Z2dlc3Rpb24+IHtcbn1cbiIsImltcG9ydCB7IFVzZXJFdmVudCB9IGZyb20gJy4vdXNlckV2ZW50JztcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tICcuL2NvbnRleHQnO1xuZXhwb3J0IGludGVyZmFjZSBTdXBwb3J0ZWRFdmVudFJlcXVlc3Qge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgY29udGV4dDogQ29udGV4dDtcbiAgICB1c2VyRXZlbnQ6IFVzZXJFdmVudDtcbn1cbiIsImltcG9ydCB0eXBlIHsgQmFzZUVjb21tZXJjZUV2ZW50IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG4vKipcbiAqIENoZWNrcyBpZiBhbiBldmVudCBpcyBhIGJhc2UgR29vZ2xlIEFuYWx5dGljcyBlY29tbWVyY2UgZXZlbnQuXG4gKlxuICogQHBhcmFtIGRhdGEgVGhlIGV2ZW50IHRvIGNoZWNrLlxuICpcbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGV2ZW50IGlzIGEgYmFzZSBlY29tbWVyY2UgZXZlbnQsIGZhbHNlIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNCYXNlRWNvbW1lcmNlRXZlbnQ6IChkYXRhOiB1bmtub3duKSA9PiBkYXRhIGlzIEJhc2VFY29tbWVyY2VFdmVudDtcbiIsImltcG9ydCB0eXBlIHsgR0E0RWNvbW1lcmNlRXZlbnQgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbi8qKlxuICogQ2hlY2tzIGlmIGFuIGV2ZW50IGlzIGEgR29vZ2xlIEFuYWx5dGljcyA0IGVjb21tZXJjZSBldmVudC5cbiAqXG4gKiBAcGFyYW0gZGF0YSBUaGUgZXZlbnQgdG8gY2hlY2suXG4gKlxuICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgZXZlbnQgaXMgYSBHQTQgZWNvbW1lcmNlIGV2ZW50LCBmYWxzZSBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzR0E0RWNvbW1lcmNlRXZlbnQ6IChkYXRhOiB1bmtub3duKSA9PiBkYXRhIGlzIEdBNEVjb21tZXJjZUV2ZW50O1xuIiwiaW1wb3J0IHR5cGUgeyBVQUVjb21tZXJjZUV2ZW50IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG4vKipcbiAqIENoZWNrcyBpZiBhbiBldmVudCBpcyBhIGxlZ2FjeSBVbml2ZXJzYWwgQW5hbHl0aWNzIGVjb21tZXJjZSBldmVudC5cbiAqXG4gKiBAcGFyYW0gZGF0YSBUaGUgZXZlbnQgdG8gY2hlY2suXG4gKlxuICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgZXZlbnQgaXMgYSBsZWdhY3kgVUEgZWNvbW1lcmNlIGV2ZW50LCBmYWxzZSBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzTGVnYWN5VUFFY29tbWVyY2VFdmVudDogKGRhdGE6IHVua25vd24pID0+IGRhdGEgaXMgVUFFY29tbWVyY2VFdmVudDtcbiIsImludGVyZmFjZSBNb2JpbGVQbHBDaGF0UGxhY2VtZW50UGFyYW1ldGVyIHtcbiAgICByb3dfaW5kZXg6IG51bWJlcjtcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzTW9iaWxlUExQQ2hhdFBsYWNlbWVudFBhcmFtZXRlcjogKHZhbHVlOiB1bmtub3duKSA9PiB2YWx1ZSBpcyBNb2JpbGVQbHBDaGF0UGxhY2VtZW50UGFyYW1ldGVyO1xuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IHsgU3BhbnhUYWtlQVF1aXpDdGFQYXJhbWV0ZXIgfSBmcm9tICcuLi9zcGFueFRha2VBUXVpekN0YVBhcmFtZXRlcic7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc1NwYW54VGFrZUFRdWl6Q3RhUGFyYW1ldGVyOiAodmFsdWU6IHVua25vd24pID0+IHZhbHVlIGlzIFNwYW54VGFrZUFRdWl6Q3RhUGFyYW1ldGVyO1xuIiwiaW1wb3J0IHsgVmFyaWFudEluZm8gfSBmcm9tICcuLi92YXJpYW50SW5mbyc7XG4vKipcbiAqIFR5cGUgZ3VhcmQgdG8gY2hlY2sgaWYgYW4gb2JqZWN0IGlzIGEgdmFsaWQgVmFyaWFudEluZm8uXG4gKlxuICogQHBhcmFtIHZhcmlhbnRJbmZvIC0gVGhlIHVua25vd24gb2JqZWN0IHRvIGNoZWNrLlxuICpcbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGRhdGEgaXMgYSB2YWxpZCBWYXJpYW50SW5mbyBvYmplY3QsIGZhbHNlIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNWYXJpYW50SW5mbzogKHZhcmlhbnRJbmZvOiB1bmtub3duKSA9PiB2YXJpYW50SW5mbyBpcyBWYXJpYW50SW5mbztcbiIsImltcG9ydCB7IEFwaUZvcm1SZXNwb25zZUF0dHJpYnV0ZXMgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9yZXNwb25zZUdlbmVyaWNzJztcbi8qKlxuICogVHlwZSBndWFyZCB0byBjaGVjayBpZiB0aGUgcHJvdmlkZWQgZGF0YSBoYXMgdGhlIGFsbCBvZiB0aGUgcHJvcGVydGllcyAod2l0aCB0aGUgY29ycmVjdCB0eXBlcykgb2ZcbiAqIGEgRm9ybVJlc3BvbnNlQXR0cmlidXRlXG4gKlxuICogQHBhcmFtIGRhdGEgLSBUaGUgZGF0YSB0byBjaGVja1xuICpcbiAqIEByZXR1cm5zIHRydWUgaWYgdGhlIGRhdGEgaGFzIHRoZSBjb3JyZWN0IHByb3BlcnRpZXMsIGZhbHNlIG90aGVyd2lzZVxuICovXG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc0FwaUZvcm1SZXNwb25zZUF0dHJpYnV0ZXM6IChkYXRhOiB1bmtub3duKSA9PiBkYXRhIGlzIEFwaUZvcm1SZXNwb25zZUF0dHJpYnV0ZXM7XG4iLCJpbXBvcnQgeyBGb3JtU3VibWl0dGVkQXR0cmlidXRlcyB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc0FwaUZvcm1TdWJtaXR0ZWRSZXNwb25zZUF0dHJpYnV0ZXM6IChkYXRhOiB1bmtub3duKSA9PiBkYXRhIGlzIEZvcm1TdWJtaXR0ZWRBdHRyaWJ1dGVzO1xuIiwiaW1wb3J0IHsgT3JkZXJJdGVtSW5mbywgT3JkZXJSZXNwb25zZUF0dHJpYnV0ZXMgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuZXhwb3J0IGludGVyZmFjZSBBcGlPcmRlckl0ZW1JbmZvIGV4dGVuZHMgT21pdDxPcmRlckl0ZW1JbmZvLCAnZGVsaXZlcmVkX2F0JyB8ICdlc3RpbWF0ZWRfZGVsaXZlcnlfYXQnIHwgJ2luX3RyYW5zaXRfYXQnPiB7XG4gICAgZGVsaXZlcmVkX2F0Pzogc3RyaW5nO1xuICAgIGVzdGltYXRlZF9kZWxpdmVyeV9hdD86IHN0cmluZztcbiAgICBpbl90cmFuc2l0X2F0Pzogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBBcGlPcmRlclJlc3BvbnNlQXR0cmlidXRlcyBleHRlbmRzIE9taXQ8T3JkZXJSZXNwb25zZUF0dHJpYnV0ZXMsICdjcmVhdGVkX2F0JyB8ICdsYXRlc3RfZXZlbnRfZGF0ZScgfCAnbGluZV9pdGVtcyc+IHtcbiAgICBjcmVhdGVkX2F0OiBzdHJpbmc7XG4gICAgbGF0ZXN0X2V2ZW50X2RhdGU6IHN0cmluZztcbiAgICBsaW5lX2l0ZW1zOiBBcGlPcmRlckl0ZW1JbmZvW107XG59XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc0FwaU9yZGVyUmVzcG9uc2VBdHRyaWJ1dGVzOiAoZGF0YTogdW5rbm93bikgPT4gZGF0YSBpcyBBcGlPcmRlclJlc3BvbnNlQXR0cmlidXRlcztcbiIsImltcG9ydCB7IE9yZ2FuaXphdGlvbkNvbmZpZyB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbnRlcmZhY2UgQXBpT3JnQW5hbHl0aWNzQ29uZmlnQW1wbGl0dWRlIHtcbiAgICBzZXNzaW9uX3JlcGxheV9lbmFibGVkOiBib29sZWFuO1xuICAgIHNlc3Npb25fcmVwbGF5X3NhbXBsZV9yYXRlOiBudW1iZXI7XG4gICAgdHJhY2tpbmdfZW5hYmxlZDogYm9vbGVhbjtcbn1cbmludGVyZmFjZSBBcGlPcmdBbmFseXRpY3NDb25maWdDdXN0b21lclNlcnZpY2Uge1xuICAgIHByb3ZpZGVyOiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgQXBpT3JnQW5hbHl0aWNzQ29uZmlnR29vZ2xlQW5hbHl0aWNzIHtcbiAgICBtZWFzdXJlbWVudF9pZDogc3RyaW5nO1xufVxuaW50ZXJmYWNlIEFwaU9yZ0FuYWx5dGljc0NvbmZpZyB7XG4gICAgYW1wbGl0dWRlPzogQXBpT3JnQW5hbHl0aWNzQ29uZmlnQW1wbGl0dWRlO1xuICAgIGN1c3RvbWVyX3NlcnZpY2U/OiBBcGlPcmdBbmFseXRpY3NDb25maWdDdXN0b21lclNlcnZpY2U7XG4gICAgZ29vZ2xlX2FuYWx5dGljcz86IEFwaU9yZ0FuYWx5dGljc0NvbmZpZ0dvb2dsZUFuYWx5dGljcztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQXBpT3JnYW5pemF0aW9uQ29uZmlnIGV4dGVuZHMgT3JnYW5pemF0aW9uQ29uZmlnIHtcbiAgICBjb25maWc6IEFwaU9yZ0FuYWx5dGljc0NvbmZpZztcbn1cbi8qKlxuICpcbiAqIEBwYXJhbSBkYXRhXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc0FwaU9yZ2FuaXphdGlvbkNvbmZpZzogKGRhdGE6IHVua25vd24pID0+IGRhdGEgaXMgQXBpT3JnYW5pemF0aW9uQ29uZmlnO1xuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IHsgU3RhdHNpZ0V4cGVyaW1lbnQgYXMgQXBpT3JnQ29uZmlnRXhwZXJpbWVudCwgU3RhdHNpZ0ZlYXR1cmVHYXRlIGFzIEFwaU9yZ0NvbmZpZ0ZlYXR1cmVHYXRlLCBPcmdhbml6YXRpb25TZXR0aW5ncyBhcyBBcGlPcmdDb25maWdPcmdhbml6YXRpb25TZXR0aW5ncyB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBBcGlPcmdhbml6YXRpb25Db25maWcgfSBmcm9tICcuL2lzQXBpT3JnYW5pemF0aW9uQ29uZmlnJztcbmludGVyZmFjZSBBcGlPcmdDb25maWdSZXN1bHRzIHtcbiAgICBjb25maWdzOiBBcGlPcmdhbml6YXRpb25Db25maWdbXTtcbiAgICBleHBlcmltZW50czogQXBpT3JnQ29uZmlnRXhwZXJpbWVudFtdO1xuICAgIGdhdGVzOiBBcGlPcmdDb25maWdGZWF0dXJlR2F0ZVtdO1xuICAgIG9yZzogQXBpT3JnQ29uZmlnT3JnYW5pemF0aW9uU2V0dGluZ3M7XG59XG4vKipcbiAqXG4gKiBAcGFyYW0gZGF0YVxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNBcGlPcmdDb25maWdSZXN1bHRzOiAoZGF0YTogdW5rbm93bikgPT4gZGF0YSBpcyBSZXF1aXJlZDxBcGlPcmdDb25maWdSZXN1bHRzPjtcbmV4cG9ydCB7fTtcbiIsImltcG9ydCB7IEFwaVBhZ2VSZXNwb25zZUF0dHJpYnV0ZXMgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9yZXNwb25zZUdlbmVyaWNzJztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzQXBpUGFnZVJlc3BvbnNlQXR0cmlidXRlczogKG9iajogdW5rbm93bikgPT4gb2JqIGlzIEFwaVBhZ2VSZXNwb25zZUF0dHJpYnV0ZXM7XG4iLCJpbXBvcnQgeyBQTFBBdHRyaWJ1dGVzLCBQTFBJZEF0dHJpYnV0ZXMgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNBcGlQTFBJZEF0dHJpYnV0ZTogKGRhdGE6IHVua25vd24pID0+IGRhdGEgaXMgUExQSWRBdHRyaWJ1dGVzO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNBcGlQTFBFdmVudEF0dHJpYnV0ZXM6IChkYXRhOiB1bmtub3duKSA9PiBkYXRhIGlzIFBMUEF0dHJpYnV0ZXM7XG4iLCJpbXBvcnQgeyBQcm9kdWN0U2VhcmNoRmlsdGVyUmVzcG9uc2VBdHRyaWJ1dGVzIH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzQXBpUHJvZHVjdFNlYXJjaEZpbHRlclJlc3BvbnNlQXR0cmlidXRlczogKGF0dHJpYnV0ZXM6IHVua25vd24pID0+IGF0dHJpYnV0ZXMgaXMgUHJvZHVjdFNlYXJjaEZpbHRlclJlc3BvbnNlQXR0cmlidXRlcztcbiIsImltcG9ydCB7IEdldE1lcmNoYW50Q29sb3JzUXVlcnlEYXRhIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ncmFwaHFsJztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzR3JhcGhRTENvbG9yc0NvbmZpZzogKGRhdGE6IHVua25vd24pID0+IGRhdGEgaXMgR2V0TWVyY2hhbnRDb2xvcnNRdWVyeURhdGE7XG4iLCJpbXBvcnQgdHlwZSB7IFVwcGVyQ2FzZUNoYXJhY3RlcnMsIFdvcmRTZXBhcmF0b3JzIH0gZnJvbSAnLi9pbnRlcm5hbCc7XG50eXBlIFVwcGVyQ2FzZVRvTG93ZXJDYXNlPFQgZXh0ZW5kcyBzdHJpbmc+ID0gVCBleHRlbmRzIFVwcGVyY2FzZTxUPiA/IExvd2VyY2FzZTxUPiA6IFQ7XG50eXBlIFNwbGl0SW5jbHVkaW5nRGVsaW1pdGVyc188U291cmNlIGV4dGVuZHMgc3RyaW5nLCBEZWxpbWl0ZXIgZXh0ZW5kcyBzdHJpbmc+ID0gU291cmNlIGV4dGVuZHMgJycgPyBbXSA6IFNvdXJjZSBleHRlbmRzIGAke2luZmVyIEZpcnN0UGFydH0ke0RlbGltaXRlcn0ke2luZmVyIFNlY29uZFBhcnR9YCA/IFNvdXJjZSBleHRlbmRzIGAke0ZpcnN0UGFydH0ke2luZmVyIFVzZWREZWxpbWl0ZXJ9JHtTZWNvbmRQYXJ0fWAgPyBVc2VkRGVsaW1pdGVyIGV4dGVuZHMgRGVsaW1pdGVyID8gU291cmNlIGV4dGVuZHMgYCR7aW5mZXIgRmlyc3RQYXJ0fSR7VXNlZERlbGltaXRlcn0ke2luZmVyIFNlY29uZFBhcnR9YCA/IFtcbiAgICAuLi5TcGxpdEluY2x1ZGluZ0RlbGltaXRlcnM8Rmlyc3RQYXJ0LCBEZWxpbWl0ZXI+LFxuICAgIFVzZWREZWxpbWl0ZXIsXG4gICAgLi4uU3BsaXRJbmNsdWRpbmdEZWxpbWl0ZXJzPFNlY29uZFBhcnQsIERlbGltaXRlcj5cbl0gOiBuZXZlciA6IG5ldmVyIDogbmV2ZXIgOiBbU291cmNlXTtcbi8qKlxuICogVW5saWtlIGEgc2ltcGxlciBzcGxpdCwgdGhpcyBvbmUgaW5jbHVkZXMgdGhlIGRlbGltaXRlciBzcGxpdHRlZCBvbiBpbiB0aGUgcmVzdWx0aW5nIGFycmF5IGxpdGVyYWwuIFRoaXMgaXMgdG8gZW5hYmxlIHNwbGl0dGluZyBvbiwgZm9yIGV4YW1wbGUsIHVwcGVyLWNhc2UgY2hhcmFjdGVycy5cbiAqXG4gKiBAY2F0ZWdvcnkgVGVtcGxhdGUgbGl0ZXJhbFxuICovXG5leHBvcnQgdHlwZSBTcGxpdEluY2x1ZGluZ0RlbGltaXRlcnM8U291cmNlIGV4dGVuZHMgc3RyaW5nLCBEZWxpbWl0ZXIgZXh0ZW5kcyBzdHJpbmc+ID0gU3BsaXRJbmNsdWRpbmdEZWxpbWl0ZXJzXzxVcHBlckNhc2VUb0xvd2VyQ2FzZTxTb3VyY2U+LCBEZWxpbWl0ZXI+O1xuLyoqXG4gKkZvcm1hdCBhIHNwZWNpZmljIHBhcnQgb2YgdGhlIHNwbGl0dGVkIHN0cmluZyBsaXRlcmFsIHRoYXQgYFN0cmluZ0FycmF5VG9EZWxpbWl0ZXJDYXNlPD5gIGZ1c2VzIHRvZ2V0aGVyLCBlbnN1cmluZyBkZXNpcmVkIGNhc2luZy5cbiAqXG4gKkBzZWUgU3RyaW5nQXJyYXlUb0RlbGltaXRlckNhc2VcbiAqL1xudHlwZSBTdHJpbmdQYXJ0VG9EZWxpbWl0ZXJDYXNlPFN0cmluZ1BhcnQgZXh0ZW5kcyBzdHJpbmcsIFN0YXJ0IGV4dGVuZHMgYm9vbGVhbiwgVXNlZFdvcmRTZXBhcmF0b3JzIGV4dGVuZHMgc3RyaW5nLCBVc2VkVXBwZXJDYXNlQ2hhcmFjdGVycyBleHRlbmRzIHN0cmluZywgRGVsaW1pdGVyIGV4dGVuZHMgc3RyaW5nPiA9IFN0cmluZ1BhcnQgZXh0ZW5kcyBVc2VkV29yZFNlcGFyYXRvcnMgPyBEZWxpbWl0ZXIgOiBTdGFydCBleHRlbmRzIHRydWUgPyBMb3dlcmNhc2U8U3RyaW5nUGFydD4gOiBTdHJpbmdQYXJ0IGV4dGVuZHMgVXNlZFVwcGVyQ2FzZUNoYXJhY3RlcnMgPyBgJHtEZWxpbWl0ZXJ9JHtMb3dlcmNhc2U8U3RyaW5nUGFydD59YCA6IFN0cmluZ1BhcnQ7XG4vKipcbiAqIFRha2VzIHRoZSByZXN1bHQgb2YgYSBzcGxpdHRlZCBzdHJpbmcgbGl0ZXJhbCBhbmQgcmVjdXJzaXZlbHkgY29uY2F0ZW5hdGVzIGl0IHRvZ2V0aGVyIGludG8gdGhlIGRlc2lyZWQgY2FzaW5nLlxuICpcbiAqIEl0IHJlY2VpdmVzIGBVc2VkV29yZFNlcGFyYXRvcnNgIGFuZCBgVXNlZFVwcGVyQ2FzZUNoYXJhY3RlcnNgIGFzIGlucHV0IHRvIGVuc3VyZSBpdCdzIGZ1bGx5IGVuY2Fwc3VsYXRlZC5cbiAqXG4gKiBAc2VlIFNwbGl0SW5jbHVkaW5nRGVsaW1pdGVyc1xuICovXG50eXBlIFN0cmluZ0FycmF5VG9EZWxpbWl0ZXJDYXNlPFBhcnRzIGV4dGVuZHMgcmVhZG9ubHkgYW55W10sIFN0YXJ0IGV4dGVuZHMgYm9vbGVhbiwgVXNlZFdvcmRTZXBhcmF0b3JzIGV4dGVuZHMgc3RyaW5nLCBVc2VkVXBwZXJDYXNlQ2hhcmFjdGVycyBleHRlbmRzIHN0cmluZywgRGVsaW1pdGVyIGV4dGVuZHMgc3RyaW5nPiA9IFBhcnRzIGV4dGVuZHMgW2Ake2luZmVyIEZpcnN0UGFydH1gLCAuLi5pbmZlciBSZW1haW5pbmdQYXJ0c10gPyBgJHtTdHJpbmdQYXJ0VG9EZWxpbWl0ZXJDYXNlPEZpcnN0UGFydCwgU3RhcnQsIFVzZWRXb3JkU2VwYXJhdG9ycywgVXNlZFVwcGVyQ2FzZUNoYXJhY3RlcnMsIERlbGltaXRlcj59JHtTdHJpbmdBcnJheVRvRGVsaW1pdGVyQ2FzZTxSZW1haW5pbmdQYXJ0cywgZmFsc2UsIFVzZWRXb3JkU2VwYXJhdG9ycywgVXNlZFVwcGVyQ2FzZUNoYXJhY3RlcnMsIERlbGltaXRlcj59YCA6IFBhcnRzIGV4dGVuZHMgW3N0cmluZ10gPyBzdHJpbmcgOiAnJztcbi8qKlxuICogQ29udmVydCBhIHN0cmluZyBsaXRlcmFsIHRvIGEgY3VzdG9tIHN0cmluZyBkZWxpbWl0ZXIgY2FzaW5nLlxuICpcbiAqIFRoaXMgY2FuIGJlIHVzZWZ1bCB3aGVuLCBmb3IgZXhhbXBsZSwgY29udmVydGluZyBhIGNhbWVsLWNhc2VkIG9iamVjdCBwcm9wZXJ0eSB0byBhbiBvZGRseSBjYXNlZCBvbmUuXG4gKlxuICogQHNlZSBLZWJhYkNhc2VcbiAqIEBzZWUgU25ha2VDYXNlXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYFxuICogaW1wb3J0IHR5cGUge0RlbGltaXRlckNhc2V9IGZyb20gJ3R5cGUtZmVzdCc7XG4gKlxuICogLy8gU2ltcGxlXG4gKlxuICogY29uc3Qgc29tZVZhcmlhYmxlOiBEZWxpbWl0ZXJDYXNlPCdmb29CYXInLCAnIyc+ID0gJ2ZvbyNiYXInO1xuICpcbiAqIC8vIEFkdmFuY2VkXG4gKlxuICogdHlwZSBPZGRseUNhc2VkUHJvcGVydGllczxUPiA9IHtcbiAqIFx0W0sgaW4ga2V5b2YgVCBhcyBEZWxpbWl0ZXJDYXNlPEssICcjJz5dOiBUW0tdXG4gKiB9O1xuICpcbiAqIGludGVyZmFjZSBTb21lT3B0aW9ucyB7XG4gKiBcdGRyeVJ1bjogYm9vbGVhbjtcbiAqIFx0aW5jbHVkZUZpbGU6IHN0cmluZztcbiAqIFx0Zm9vOiBudW1iZXI7XG4gKiB9XG4gKlxuICogY29uc3QgcmF3Q2xpT3B0aW9uczogT2RkbHlDYXNlZFByb3BlcnRpZXM8U29tZU9wdGlvbnM+ID0ge1xuICogXHQnZHJ5I3J1bic6IHRydWUsXG4gKiBcdCdpbmNsdWRlI2ZpbGUnOiAnYmFyLmpzJyxcbiAqIFx0Zm9vOiAxMjNcbiAqIH07XG4gKiBgYGBcbiAqXG4gKiBAY2F0ZWdvcnkgQ2hhbmdlIGNhc2VcbiAqIEBjYXRlZ29yeSBUZW1wbGF0ZSBsaXRlcmFsXG4gKi9cbmV4cG9ydCB0eXBlIERlbGltaXRlckNhc2U8VmFsdWUsIERlbGltaXRlciBleHRlbmRzIHN0cmluZz4gPSBzdHJpbmcgZXh0ZW5kcyBWYWx1ZSA/IFZhbHVlIDogVmFsdWUgZXh0ZW5kcyBzdHJpbmcgPyBTdHJpbmdBcnJheVRvRGVsaW1pdGVyQ2FzZTxTcGxpdEluY2x1ZGluZ0RlbGltaXRlcnM8VmFsdWUsIFdvcmRTZXBhcmF0b3JzIHwgVXBwZXJDYXNlQ2hhcmFjdGVycz4sIHRydWUsIFdvcmRTZXBhcmF0b3JzLCBVcHBlckNhc2VDaGFyYWN0ZXJzLCBEZWxpbWl0ZXI+IDogVmFsdWU7XG5leHBvcnQge307XG4iLCJpbXBvcnQgdHlwZSB7IERlbGltaXRlckNhc2UgfSBmcm9tICcuL2RlbGltaXRlckNhc2UnO1xuaW1wb3J0IHR5cGUgeyBOb25SZWN1cnNpdmVUeXBlIH0gZnJvbSAnLi9pbnRlcm5hbCc7XG5pbXBvcnQgdHlwZSB7IFVua25vd25BcnJheSB9IGZyb20gJy4vdW5rbm93bkFycmF5Jztcbi8qKlxuICogQ29udmVydCBvYmplY3QgcHJvcGVydGllcyB0byBkZWxpbWl0ZXIgY2FzZSByZWN1cnNpdmVseS5cbiAqXG4gKiBUaGlzIGNhbiBiZSB1c2VmdWwgd2hlbiwgZm9yIGV4YW1wbGUsIGNvbnZlcnRpbmcgc29tZSBBUEkgdHlwZXMgZnJvbSBhIGRpZmZlcmVudCBzdHlsZS5cbiAqXG4gKiBAc2VlIERlbGltaXRlckNhc2VcbiAqIEBzZWUgRGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYFxuICogaW1wb3J0IHR5cGUge0RlbGltaXRlckNhc2VkUHJvcGVydGllc0RlZXB9IGZyb20gJ3R5cGUtZmVzdCc7XG4gKlxuICogaW50ZXJmYWNlIFVzZXIge1xuICogXHR1c2VySWQ6IG51bWJlcjtcbiAqIFx0dXNlck5hbWU6IHN0cmluZztcbiAqIH1cbiAqXG4gKiBpbnRlcmZhY2UgVXNlcldpdGhGcmllbmRzIHtcbiAqIFx0dXNlckluZm86IFVzZXI7XG4gKiBcdHVzZXJGcmllbmRzOiBVc2VyW107XG4gKiB9XG4gKlxuICogY29uc3QgcmVzdWx0OiBEZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwPFVzZXJXaXRoRnJpZW5kcywgJy0nPiA9IHtcbiAqIFx0J3VzZXItaW5mbyc6IHtcbiAqIFx0J3VzZXItaWQnOiAxLFxuICogXHRcdCd1c2VyLW5hbWUnOiAnVG9tJyxcbiAqIFx0fSxcbiAqIFx0J3VzZXItZnJpZW5kcyc6IFtcbiAqIFx0XHR7XG4gKiBcdFx0XHQndXNlci1pZCc6IDIsXG4gKiBcdFx0XHQndXNlci1uYW1lJzogJ0plcnJ5JyxcbiAqIFx0XHR9LFxuICogXHRcdHtcbiAqIFx0XHRcdCd1c2VyLWlkJzogMyxcbiAqIFx0XHRcdCd1c2VyLW5hbWUnOiAnU3Bpa2UnLFxuICogXHRcdH0sXG4gKiBcdF0sXG4gKiB9O1xuICogYGBgXG4gKlxuICogQGNhdGVnb3J5IENoYW5nZSBjYXNlXG4gKiBAY2F0ZWdvcnkgVGVtcGxhdGUgbGl0ZXJhbFxuICogQGNhdGVnb3J5IE9iamVjdFxuICovXG5leHBvcnQgdHlwZSBEZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwPFZhbHVlLCBEZWxpbWl0ZXIgZXh0ZW5kcyBzdHJpbmc+ID0gVmFsdWUgZXh0ZW5kcyBOb25SZWN1cnNpdmVUeXBlID8gVmFsdWUgOiBWYWx1ZSBleHRlbmRzIFVua25vd25BcnJheSA/IERlbGltaXRlckNhc2VkUHJvcGVydGllc0FycmF5RGVlcDxWYWx1ZSwgRGVsaW1pdGVyPiA6IFZhbHVlIGV4dGVuZHMgU2V0PGluZmVyIFU+ID8gU2V0PERlbGltaXRlckNhc2VkUHJvcGVydGllc0RlZXA8VSwgRGVsaW1pdGVyPj4gOiB7XG4gICAgW0sgaW4ga2V5b2YgVmFsdWUgYXMgRGVsaW1pdGVyQ2FzZTxLLCBEZWxpbWl0ZXI+XTogRGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzRGVlcDxWYWx1ZVtLXSwgRGVsaW1pdGVyPjtcbn07XG50eXBlIERlbGltaXRlckNhc2VkUHJvcGVydGllc0FycmF5RGVlcDxWYWx1ZSBleHRlbmRzIFVua25vd25BcnJheSwgRGVsaW1pdGVyIGV4dGVuZHMgc3RyaW5nPiA9IFZhbHVlIGV4dGVuZHMgW10gPyBbXSA6IFZhbHVlIGV4dGVuZHMgW2luZmVyIFUsIC4uLmluZmVyIFZdID8gW0RlbGltaXRlckNhc2VkUHJvcGVydGllc0RlZXA8VSwgRGVsaW1pdGVyPiwgLi4uRGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzRGVlcDxWLCBEZWxpbWl0ZXI+XSA6IFZhbHVlIGV4dGVuZHMgcmVhZG9ubHkgW2luZmVyIFUsIC4uLmluZmVyIFZdID8gcmVhZG9ubHkgW1xuICAgIERlbGltaXRlckNhc2VkUHJvcGVydGllc0RlZXA8VSwgRGVsaW1pdGVyPixcbiAgICAuLi5EZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwPFYsIERlbGltaXRlcj5cbl0gOiBWYWx1ZSBleHRlbmRzIHJlYWRvbmx5IFsuLi5pbmZlciBVLCBpbmZlciBWXSA/IFtcbiAgICAuLi5EZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwPFUsIERlbGltaXRlcj4sXG4gICAgRGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzRGVlcDxWLCBEZWxpbWl0ZXI+XG5dIDogVmFsdWUgZXh0ZW5kcyByZWFkb25seSBbLi4uaW5mZXIgVSwgaW5mZXIgVl0gPyByZWFkb25seSBbXG4gICAgLi4uRGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzRGVlcDxVLCBEZWxpbWl0ZXI+LFxuICAgIERlbGltaXRlckNhc2VkUHJvcGVydGllc0RlZXA8ViwgRGVsaW1pdGVyPlxuXSA6IFZhbHVlIGV4dGVuZHMgQXJyYXk8aW5mZXIgVT4gPyBBcnJheTxEZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwPFUsIERlbGltaXRlcj4+IDogVmFsdWUgZXh0ZW5kcyBSZWFkb25seUFycmF5PGluZmVyIFU+ID8gUmVhZG9ubHlBcnJheTxEZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwPFUsIERlbGltaXRlcj4+IDogbmV2ZXI7XG5leHBvcnQge307XG4iLCJpbXBvcnQgdHlwZSB7IERlbGltaXRlckNhc2VkUHJvcGVydGllc0RlZXAgfSBmcm9tICcuL2RlbGltaXRlckNhc2VkUHJvcGVydGllc0RlZXAnO1xuLyoqXG4gKiBDb252ZXJ0IG9iamVjdCBwcm9wZXJ0aWVzIHRvIHNuYWtlIGNhc2UgcmVjdXJzaXZlbHkuXG4gKlxuICogVGhpcyBjYW4gYmUgdXNlZnVsIHdoZW4sIGZvciBleGFtcGxlLCBjb252ZXJ0aW5nIHNvbWUgQVBJIHR5cGVzIGZyb20gYSBkaWZmZXJlbnQgc3R5bGUuXG4gKlxuICogQHNlZSBTbmFrZUNhc2VcbiAqIEBzZWUgU25ha2VDYXNlZFByb3BlcnRpZXNcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgXG4gKiBpbXBvcnQgdHlwZSB7U25ha2VDYXNlZFByb3BlcnRpZXNEZWVwfSBmcm9tICd0eXBlLWZlc3QnO1xuICpcbiAqIGludGVyZmFjZSBVc2VyIHtcbiAqIFx0dXNlcklkOiBudW1iZXI7XG4gKiBcdHVzZXJOYW1lOiBzdHJpbmc7XG4gKiB9XG4gKlxuICogaW50ZXJmYWNlIFVzZXJXaXRoRnJpZW5kcyB7XG4gKiBcdHVzZXJJbmZvOiBVc2VyO1xuICogXHR1c2VyRnJpZW5kczogVXNlcltdO1xuICogfVxuICpcbiAqIGNvbnN0IHJlc3VsdDogU25ha2VDYXNlZFByb3BlcnRpZXNEZWVwPFVzZXJXaXRoRnJpZW5kcz4gPSB7XG4gKiBcdHVzZXJfaW5mbzoge1xuICogXHRcdHVzZXJfaWQ6IDEsXG4gKiBcdFx0dXNlcl9uYW1lOiAnVG9tJyxcbiAqIFx0fSxcbiAqIFx0dXNlcl9mcmllbmRzOiBbXG4gKiBcdFx0e1xuICogXHRcdFx0dXNlcl9pZDogMixcbiAqIFx0XHRcdHVzZXJfbmFtZTogJ0plcnJ5JyxcbiAqIFx0XHR9LFxuICogXHRcdHtcbiAqIFx0XHRcdHVzZXJfaWQ6IDMsXG4gKiBcdFx0XHR1c2VyX25hbWU6ICdTcGlrZScsXG4gKiBcdFx0fSxcbiAqIFx0XSxcbiAqIH07XG4gKiBgYGBcbiAqXG4gKiBAY2F0ZWdvcnkgQ2hhbmdlIGNhc2VcbiAqIEBjYXRlZ29yeSBUZW1wbGF0ZSBsaXRlcmFsXG4gKiBAY2F0ZWdvcnkgT2JqZWN0XG4gKi9cbmV4cG9ydCB0eXBlIFNuYWtlQ2FzZWRQcm9wZXJ0aWVzRGVlcDxWYWx1ZT4gPSBEZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwPFZhbHVlLCAnXyc+O1xuIiwiLyoqXG4gKiBHZW5lcmljIHV0aWxpdHkgdG8gdHJhbnNmb3JtIHNuYWtlX2Nhc2Ugb2JqZWN0IGtleXMgdG8gY2FtZWxDYXNlIGF0IHJ1bnRpbWUuXG4gKiBUaGlzIGlzIHRoZSBydW50aW1lIGVxdWl2YWxlbnQgb2YgdGhlIENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcCB0eXBlIHV0aWxpdHkuXG4gKi9cbi8qKlxuICogUmVjdXJzaXZlbHkgdHJhbnNmb3JtcyBhbGwgb2JqZWN0IGtleXMgZnJvbSBzbmFrZV9jYXNlIHRvIGNhbWVsQ2FzZVxuICovXG5leHBvcnQgZGVjbGFyZSBjb25zdCB0cmFuc2Zvcm1TbmFrZVRvQ2FtZWw6IChvYmo6IHVua25vd24pID0+IHVua25vd247XG4vKipcbiAqIFJlY3Vyc2l2ZWx5IHRyYW5zZm9ybXMgYWxsIG9iamVjdCBrZXlzIGZyb20gY2FtZWxDYXNlIHRvIHNuYWtlX2Nhc2VcbiAqL1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdHJhbnNmb3JtQ2FtZWxUb1NuYWtlOiAob2JqOiB1bmtub3duKSA9PiB1bmtub3duO1xuIiwiaW1wb3J0IHsgRnVsZmlsbG1lbnREaXNwbGF5U3RhdHVzIH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50Jztcbi8qKlxuICogQ29udmVydHMgYSBzdHJpbmcgdG8gYSBGdWxmaWxsbWVudERpc3BsYXlTdGF0dXMgZW51bSB2YWx1ZS5cbiAqXG4gKiBAcGFyYW0gc3RhdHVzIC0gVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICpcbiAqIEByZXR1cm5zIFRoZSBGdWxmaWxsbWVudERpc3BsYXlTdGF0dXMgZW51bSB2YWx1ZSBvciB1bmRlZmluZWQgaWYgdGhlIHN0cmluZ1xuICogZG9lcyBub3QgbWFwIHRvIGEgdmFsaWQgZW51bVxuICovXG5leHBvcnQgZGVjbGFyZSBjb25zdCBzdHJpbmdUb0Z1bGZpbGxtZW50RGlzcGxheVN0YXR1c0VudW1WYWx1ZTogKHN0YXR1czogc3RyaW5nKSA9PiBGdWxmaWxsbWVudERpc3BsYXlTdGF0dXMgfCB1bmRlZmluZWQ7XG4iLCJpbXBvcnQgeyBDb2xvck1hcHBpbmcgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVscy9jb2xvcnNDb25maWdcIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHZhbGlkYXRlR3JhcGhRTENvbG9yc0NvbmZpZzogKGRhdGE6IHVua25vd24pID0+IENvbG9yTWFwcGluZyB8IHVuZGVmaW5lZDtcbiIsImltcG9ydCB7IEZyb250ZW5kQ29uZmlnIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9mcm9udGVuZENvbmZpZyc7XG5pbXBvcnQgeyBXaWRnZXRDb25maWcsIFBhZ2VWYXJpYW50Q29uZmlnLCBXaWRnZXRNb3VudGluZ0NvbmZpZyB9IGZyb20gJ3NyYy9jb250ZXh0cy90eXBlcyc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCB2YWxpZGF0ZUFuZFRyYW5zZm9ybVBhZ2VWYXJpYW50czogKGNvbmZpZzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IFBhZ2VWYXJpYW50Q29uZmlnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdmFsaWRhdGVBbmRUcmFuc2Zvcm1Nb3VudGluZ0NvbmZpZzogKGNvbmZpZzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIGNvbmZpZ0tleTogc3RyaW5nKSA9PiBXaWRnZXRNb3VudGluZ0NvbmZpZztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHZhbGlkYXRlQW5kVHJhbnNmb3JtV2lkZ2V0Q29uZmlnOiAoY29uZmlnOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgY29uZmlnS2V5OiBzdHJpbmcpID0+IFdpZGdldENvbmZpZztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHZhbGlkYXRlR3JhcGhRTEZyb250ZW5kQ29uZmlnOiAoZGF0YTogdW5rbm93bikgPT4gRnJvbnRlbmRDb25maWcgfCB1bmRlZmluZWQ7XG4iLCJleHBvcnQgZGVjbGFyZSBjb25zdCB2YWxpZGF0ZUdyYXBoUUxPcmdJZDogKGRhdGE6IHVua25vd24pID0+IHN0cmluZyB8IHVuZGVmaW5lZDtcbiIsImltcG9ydCB7IE1vYmlsZVBMUENoYXRQbGFjZW1lbnRQYXJhbWV0ZXIgfSBmcm9tICcuLi9tb2JpbGVQTFBDaGF0UGxhY2VtZW50UGFyYW1ldGVyJztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHZhbGlkYXRlTW9iaWxlUExQQ2hhdFBsYWNlbWVudFBhcmFtZXRlcjogKHZhbHVlOiB1bmtub3duKSA9PiBNb2JpbGVQTFBDaGF0UGxhY2VtZW50UGFyYW1ldGVyIHwgdW5kZWZpbmVkO1xuIiwiaW1wb3J0IHsgT3JnYW5pemF0aW9uQ29uZmlnIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvb3JnYW5pemF0aW9uQ29uZmlnJztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHZhbGlkYXRlT3JnYW5pemF0aW9uQ29uZmlnOiAoZGF0YTogdW5rbm93bikgPT4gT3JnYW5pemF0aW9uQ29uZmlnIHwgdW5kZWZpbmVkO1xuIiwiaW1wb3J0IHsgT3JnQ29uZmlnIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvb3JnQ29uZmlnUmVzdWx0cyc7XG4vKipcbiAqXG4gKiBAcGFyYW0gZGF0YVxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdmFsaWRhdGVPcmdDb25maWdSZXN1bHRzOiAoZGF0YTogdW5rbm93bikgPT4gT3JnQ29uZmlnIHwgdW5kZWZpbmVkO1xuIiwiaW1wb3J0IHsgUmVzcG9uc2UgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2luZGV4JztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHZhbGlkYXRlUmVzcG9uc2U6IChkYXRhOiB1bmtub3duKSA9PiBSZXNwb25zZSB8IHVuZGVmaW5lZDtcbiIsImltcG9ydCB7IFN1Z2dlc3Rpb24gfSBmcm9tICcuLi9hcGkvc3VnZ2VzdGlvbic7XG5leHBvcnQgZGVjbGFyZSBjb25zdCB2YWxpZGF0ZVN1Z2dlc3Rpb246IChkYXRhOiB1bmtub3duKSA9PiBTdWdnZXN0aW9uIHwgdW5kZWZpbmVkO1xuIiwiaW1wb3J0IHsgVXNlckV2ZW50IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9pbmRleCc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCB2YWxpZGF0ZVVzZXJFdmVudDogKGRhdGE6IHVua25vd24pID0+IFVzZXJFdmVudCB8IHVuZGVmaW5lZDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFJLGNBQWMsQ0FBQyxJQUFHOzs7O0FDQXRCLElBQUksZ0JBQWdCLENBQUMsSUFBRzs7OztBQ0F4QixJQUFXLDBCQUEwQixDQUFDLElBQUE7Ozs7QUNBdEMsSUFBRSxxQkFBQTtDQUFBO09BQUE7T0FBQTtDQUFBO0FBQ0YsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJO0FBQzNCLElBQUUsbUJBQUEsQ0FB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
@@ -1,7 +1,7 @@
1
1
  import { GetMerchantColorsQueryData } from "./index-DU7uw0ba.cjs";
2
2
  import { CamelCasedPropertiesDeep, NonRecursiveType, UnknownArray, UpperCaseCharacters, WordSeparators } from "./index-CESxqFso.cjs";
3
3
  import { AcceptableFormFieldType, ApiFormResponseAttributes, ApiPageResponseAttributes, OrderResponseAttributes as OrderResponseAttributes$1, PageResponseAttributes, ProductResponseAttributes, Response as Response$1, ReviewResponseAttributes, SearchProductFilterAttributes, SearchProductResponseAttributes, SearchResponseAttributes, TextResponseAttributes } from "./responseGenerics-DWLV09cQ.cjs";
4
- import { ColorMapping, FrontendConfig, OrgConfig$1 as OrgConfig, OrganizationConfig as OrganizationConfig$1, PageVariantConfig, WidgetConfig, WidgetMountingConfig } from "./frontendConfig-iZipB5FG.cjs";
4
+ import { ColorMapping, FrontendConfig, OrgConfig$1 as OrgConfig, OrganizationConfig as OrganizationConfig$1, PageVariantConfig, WidgetConfig, WidgetMountingConfig } from "./frontendConfig-DPpzM5cz.cjs";
5
5
  import { VariantInfo } from "./index-OkKEOL6H.cjs";
6
6
  import { Context, CustServiceAttachment, FormSubmittedAttributes, FormType, FulfillmentDisplayStatus, GenerationParams, OrderItemInfo, OrderResponseAttributes, OrganizationConfig, OrganizationSettings, PDPAttributes, PLPAttributes, PLPIdAttributes, PageVisitCategory, ProductSearchFilterResponseAttributes, QueryTypedAttributes, SearchAttributes, StatsigExperiment, StatsigFeatureGate, Suggestion, SuggestionClickedAttributes, UserEvent, UserEventCategory } from "@spiffy-ai/commerce-api-client";
7
7
 
@@ -670,4 +670,4 @@ declare const validateSuggestion: (data: unknown) => Suggestion$1 | undefined;
670
670
  declare const validateUserEvent: (data: unknown) => UserEvent$1 | undefined;
671
671
  //#endregion
672
672
  export { ApiOrderItemInfo, ApiOrderResponseAttributes, ApiOrganizationConfig, AppLoadedUserEvent, AppUnloadedEvent, BaseEcommerceEvent, type CachedValue, type ClientDetails, Context$1 as Context, ConversationalSearchIds, DelimiterCase, DelimiterCasedPropertiesDeep, FormField, FormSubmitted, FormSubmittedAttributes$1 as FormSubmittedAttributes, GA4EcommerceEvent, GenerationParams$1 as GenerationParams, GoogleAnalyticsEvents, Message, MessageRole, MessageType, MobilePLPChatPlacementParameter, NextMessageRequest$1 as NextMessageRequest, OrgShortName, PDPAttributes$1 as PDPAttributes, PDPUserEvent, PLPAttributes$1 as PLPAttributes, PLPUserEvent, PageVisitAttributes, PageVisitEvent, ProductExperiment, ProductMessageMetadata, ProductSearchMessageMetadata, QueryTypedAttributes$1 as QueryTypedAttributes, QueryTypedUserEvent, SearchAttributes$1 as SearchAttributes, SearchUserEvent, SnakeCasedPropertiesDeep, SpanxTakeAQuizCtaParameter, SpiffyEventName, SplitIncludingDelimiters, Suggestion$1 as Suggestion, SuggestionClickedAttributes$1 as SuggestionClickedAttributes, SuggestionsClickedUserEvent, SupportedEventRequest$1 as SupportedEventRequest, UAEcommerceEvent, UserEvent$1 as UserEvent, UserEventAttributes, isApiFormResponseAttributes, isApiFormSubmittedResponseAttributes, isApiOrderResponseAttributes, isApiOrgConfigResults, isApiOrganizationConfig, isApiPLPEventAttributes, isApiPLPIdAttribute, isApiPageResponseAttributes, isApiProductSearchFilterResponseAttributes, isBaseEcommerceEvent, isGA4EcommerceEvent, isGraphQLColorsConfig, isLegacyUAEcommerceEvent, isMobilePLPChatPlacementParameter, isSpanxTakeAQuizCtaParameter, isVariantInfo, stringToFulfillmentDisplayStatusEnumValue, transformCamelToSnake, transformSnakeToCamel, validateAndTransformMountingConfig, validateAndTransformPageVariants, validateAndTransformWidgetConfig, validateGraphQLColorsConfig, validateGraphQLFrontendConfig, validateGraphQLOrgId, validateMobilePLPChatPlacementParameter, validateOrgConfigResults, validateOrganizationConfig, validateResponse, validateSuggestion, validateUserEvent };
673
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtRHkzVFRJT20uZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9jYWNoZWRWYWx1ZS5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9jbGllbnREZXRhaWxzLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2NvbnZlcnNhdGlvbmFsU2VhcmNoSWRzLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2RhdGFMYXllci5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ldmVudHMuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ29vZ2xlQW5hbHl0aWNzRXZlbnRzLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL21lc3NhZ2UuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvbW9iaWxlUExQQ2hhdFBsYWNlbWVudFBhcmFtZXRlci5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9vcmdzRW51bS5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9wcm9kdWN0RXhwZXJpbWVudC5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9zcGFueFRha2VBUXVpekN0YVBhcmFtZXRlci5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvY29udGV4dC5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvZ2VuZXJhdGlvblBhcmFtcy5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvdXNlckV2ZW50LmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9uZXh0TWVzc2FnZVJlcXVlc3QuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL3N1Z2dlc3Rpb24uZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL3N1cHBvcnRlZEV2ZW50UmVxdWVzdC5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvaXNCYXNlRWNvbW1lcmNlRXZlbnQuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2lzR0E0RWNvbW1lcmNlRXZlbnQuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2lzTGVnYWN5VUFFY29tbWVyY2VFdmVudC5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvaXNNb2JpbGVQTFBDaGF0UGxhY2VtZW50UGFyYW1ldGVyLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9pc1NwYW54VGFrZUFRdWl6Q3RhUGFyYW1ldGVyLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9pc1ZhcmlhbnRJbmZvLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9hcGkvaXNBcGlGb3JtUmVzcG9uc2UuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2FwaS9pc0FwaUZvcm1TdWJtaXR0ZWRSZXNwb25zZUF0dHJpYnV0ZXMuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2FwaS9pc0FwaU9yZGVyUmVzcG9uc2VBdHRyaWJ1dGVzLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9hcGkvaXNBcGlPcmdhbml6YXRpb25Db25maWcuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2FwaS9pc0FwaU9yZ0NvbmZpZ1Jlc3VsdHMuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2FwaS9pc0FwaVBhZ2VSZXNwb25zZUF0dHJpYnV0ZXMuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2FwaS9pc0FwaVBMUEV2ZW50QXR0cmlidXRlcy5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvYXBpL2lzQXBpUHJvZHVjdFNlYXJjaEZpbHRlckF0dHJpYnV0ZXMuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2dyYXBoUUwvaXNHcmFwaFFMQ29sb3JzQ29uZmlnLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3V0aWxpdHlUeXBlcy9kZWxpbWl0ZXJDYXNlLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3V0aWxpdHlUeXBlcy9kZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3V0aWxpdHlUeXBlcy9zbmFrZUNhc2VkUHJvcGVydGllc0RlZXAuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdXRpbHMvc25ha2VUb0NhbWVsVHJhbnNmb3JtZXIuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdXRpbHMvc3RyaW5nVG9GdWxmaWxsbWVudERpc3BsYXlTdGF0dXNFbnVtVmFsdWUuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdmFsaWRhdG9ycy92YWxpZGF0ZUdyYXBoUUxDb2xvcnNDb25maWcuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdmFsaWRhdG9ycy92YWxpZGF0ZUdyYXBoUUxGcm9udGVuZENvbmZpZy5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy92YWxpZGF0b3JzL3ZhbGlkYXRlR3JhcGhRTE9yZ0lkLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3ZhbGlkYXRvcnMvdmFsaWRhdGVNb2JpbGVQTFBDaGF0UGxhY2VtZW50UGFyYW1ldGVyLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3ZhbGlkYXRvcnMvdmFsaWRhdGVPcmdhbml6YXRpb25Db25maWcuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdmFsaWRhdG9ycy92YWxpZGF0ZU9yZ0NvbmZpZ1Jlc3VsdHMuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdmFsaWRhdG9ycy92YWxpZGF0ZVJlc3BvbnNlLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3ZhbGlkYXRvcnMvdmFsaWRhdGVTdWdnZXN0aW9uLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3ZhbGlkYXRvcnMvdmFsaWRhdGVVc2VyRXZlbnQuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbnRlcmZhY2UgQ2FjaGVkVmFsdWUge1xuICAgIHZhbHVlOiB1bmtub3duO1xuICAgIGV4cGlyeTogbnVtYmVyO1xufVxuZXhwb3J0IHR5cGUgeyBDYWNoZWRWYWx1ZSB9O1xuIiwiaW50ZXJmYWNlIENsaWVudERldGFpbHMge1xuICAgIG9zPzogc3RyaW5nO1xuICAgIG9zVmVyc2lvbj86IHN0cmluZztcbiAgICBkZXZpY2VCcmFuZD86IHN0cmluZztcbiAgICBkZXZpY2VNYW51ZmFjdHVyZXI/OiBzdHJpbmc7XG4gICAgZGV2aWNlTW9kZWw/OiBzdHJpbmc7XG4gICAgY2Fycmllcj86IHN0cmluZztcbiAgICBjb3VudHJ5Pzogc3RyaW5nO1xuICAgIHJlZ2lvbj86IHN0cmluZztcbiAgICBicm93c2VyPzogc3RyaW5nO1xuICAgIGJyb3dzZXJWZXJzaW9uPzogc3RyaW5nO1xuICAgIGJyb3dzZXJJcEFkZHJlc3M/OiBzdHJpbmc7XG4gICAgdXNlckFnZW50Pzogc3RyaW5nO1xufVxuZXhwb3J0IHR5cGUgeyBDbGllbnREZXRhaWxzLCB9O1xuIiwiZXhwb3J0IHR5cGUgQ29udmVyc2F0aW9uYWxTZWFyY2hJZHMgPSB7XG4gICAgY29udmVyc2F0aW9uYWxTZWFyY2hFbnRyeXBvaW50SWQ/OiBzdHJpbmc7XG4gICAgY29udmVyc2F0aW9uYWxTZWFyY2hJbnB1dElkPzogc3RyaW5nO1xuICAgIGNvbnZlcnNhdGlvbmFsU2VhcmNoTW9kYWxJZD86IHN0cmluZztcbn07XG4iLCIvKipcbiAqIEJhc2UgaW50ZXJmYWNlIGZvciBjb21tb24gcHJvcGVydGllcyBhY3Jvc3MgYWxsIGVjb21tZXJjZSBldmVudHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXNlRWNvbW1lcmNlRXZlbnQge1xuICAgIGV2ZW50OiBzdHJpbmc7XG4gICAgZWNvbW1lcmNlOiBVQUVjb21tZXJjZURhdGEgfCBHQTRFY29tbWVyY2VEYXRhO1xufVxuLyoqXG4gKiBMZWdhY3kgdW5pdmVyc2FsIGFuYWx5dGljcyBkYXRhLiBUaGUgYWN0dWFsIHBheWxvYWQgY29udGFpbnMgbW9yZSBmaWVsZHMsIGJ1dCB3ZVxuICogb25seSBuZWVkIHRoZSBvbmVzIGxpc3RlZCBiZWxvdy5cbiAqL1xuaW50ZXJmYWNlIFVBRWNvbW1lcmNlRGF0YSB7XG4gICAgYWRkOiB7XG4gICAgICAgIHByb2R1Y3RzOiB7XG4gICAgICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgICAgICBjYXRlZ29yeTogc3RyaW5nO1xuICAgICAgICAgICAgcHJpY2U6IHN0cmluZztcbiAgICAgICAgICAgIHF1YW50aXR5OiBzdHJpbmc7XG4gICAgICAgIH1bXTtcbiAgICAgICAgY3VycmVuY3lDb2RlOiBzdHJpbmc7XG4gICAgfTtcbn1cbi8qKlxuICogR29vZ2xlIEFuYWx5dGljcyA0IGRhdGEuIFRoZSBhY3R1YWwgcGF5bG9hZCBjb250YWlucyBtb3JlIGZpZWxkcywgYnV0IHdlXG4gKiBvbmx5IG5lZWQgdGhlIG9uZXMgbGlzdGVkIGJlbG93LlxuICovXG5pbnRlcmZhY2UgR0E0RWNvbW1lcmNlRGF0YSB7XG4gICAgY3VycmVuY3k6IHN0cmluZztcbiAgICBpdGVtczoge1xuICAgICAgICBpdGVtX25hbWU6IHN0cmluZztcbiAgICAgICAgaXRlbV9jYXRlZ29yeTogc3RyaW5nO1xuICAgICAgICBwcmljZTogbnVtYmVyO1xuICAgICAgICBxdWFudGl0eTogbnVtYmVyO1xuICAgIH1bXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVUFFY29tbWVyY2VFdmVudCBleHRlbmRzIEJhc2VFY29tbWVyY2VFdmVudCB7XG4gICAgZWNvbW1lcmNlOiBVQUVjb21tZXJjZURhdGE7XG59XG5leHBvcnQgaW50ZXJmYWNlIEdBNEVjb21tZXJjZUV2ZW50IGV4dGVuZHMgQmFzZUVjb21tZXJjZUV2ZW50IHtcbiAgICBlY29tbWVyY2U6IEdBNEVjb21tZXJjZURhdGE7XG59XG5leHBvcnQge307XG4iLCJleHBvcnQgZGVjbGFyZSBlbnVtIFNwaWZmeUV2ZW50TmFtZSB7XG4gICAgV2lkZ2V0T3BlbiA9IFwic3BpZmZ5OndpZGdldG9wZW5cIixcbiAgICBXaWRnZXRDbG9zZSA9IFwic3BpZmZ5OndpZGdldGNsb3NlXCJcbn1cbiIsImRlY2xhcmUgZW51bSBHb29nbGVBbmFseXRpY3NFdmVudHMge1xuICAgIEFERF9UT19DQVJUX3YxID0gXCJhZGRfdG9fY2FydFwiLFxuICAgIEFERF9UT19DQVJUX3YyID0gXCJhZGRUb0NhcnRcIlxufVxuZXhwb3J0IHsgR29vZ2xlQW5hbHl0aWNzRXZlbnRzIH07XG4iLCJpbXBvcnQgeyBDdXN0U2VydmljZUF0dGFjaG1lbnQsIEZvcm1UeXBlIH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IE9yZGVyUmVzcG9uc2VBdHRyaWJ1dGVzLCBQcm9kdWN0UmVzcG9uc2VBdHRyaWJ1dGVzLCBSZXZpZXdSZXNwb25zZUF0dHJpYnV0ZXMsIFBhZ2VSZXNwb25zZUF0dHJpYnV0ZXMsIFRleHRSZXNwb25zZUF0dHJpYnV0ZXMsIFNlYXJjaFJlc3BvbnNlQXR0cmlidXRlcywgU2VhcmNoUHJvZHVjdFJlc3BvbnNlQXR0cmlidXRlcywgQWNjZXB0YWJsZUZvcm1GaWVsZFR5cGUsIFNlYXJjaFByb2R1Y3RGaWx0ZXJBdHRyaWJ1dGVzIH0gZnJvbSAnLi9hcGkvcmVzcG9uc2UnO1xuZXhwb3J0IGRlY2xhcmUgZW51bSBNZXNzYWdlUm9sZSB7XG4gICAgVXNlciA9IFwidXNlclwiLFxuICAgIEFzc2lzdGFudCA9IFwiYXNzaXN0YW50XCJcbn1cbmV4cG9ydCBkZWNsYXJlIGVudW0gTWVzc2FnZVR5cGUge1xuICAgIFRleHQgPSBcInRleHRcIixcbiAgICBTdWdnZXN0aW9uQ2xpY2tlZCA9IFwic3VnZ2VzdGlvbl9jbGlja2VkXCIsXG4gICAgUHJvZHVjdCA9IFwicHJvZHVjdFwiLFxuICAgIFByb2R1Y3RTZWFyY2ggPSBcInByb2R1Y3Rfc2VhcmNoXCIsXG4gICAgUmV2aWV3ID0gXCJyZXZpZXdcIixcbiAgICBRdWVyeVR5cGVkID0gXCJxdWVyeV90eXBlZFwiLFxuICAgIFNlcGFyYXRvciA9IFwic2VwYXJhdG9yXCIsXG4gICAgUGFnZSA9IFwicGFnZVwiLFxuICAgIFNlYXJjaCA9IFwic2VhcmNoXCIsXG4gICAgQXR0YWNobWVudCA9IFwiYXR0YWNobWVudFwiLFxuICAgIENYQWdlbnRSZXNwb25zZSA9IFwiY3hfYWdlbnRfcmVzcG9uc2VcIixcbiAgICBGb3JtID0gXCJmb3JtXCIsXG4gICAgT3JkZXIgPSBcIm9yZGVyXCIsXG4gICAgUHJvZHVjdFNlYXJjaEZpbHRlciA9IFwicHJvZHVjdF9zZWFyY2hfZmlsdGVyXCJcbn1cbmV4cG9ydCB0eXBlIE1lc3NhZ2UgPSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICByb2xlOiBNZXNzYWdlUm9sZTtcbiAgICBjcmVhdGVkQXQ6IHN0cmluZztcbn0gJiAoVGV4dE1lc3NhZ2VNZXRhZGF0YSB8IFF1ZXJ5VHlwZWRNZXRhZGF0YSB8IFN1Z2dlc3Rpb25NZXNzYWdlTWV0YWRhdGEgfCBQcm9kdWN0TWVzc2FnZU1ldGFkYXRhIHwgUHJvZHVjdFNlYXJjaE1lc3NhZ2VNZXRhZGF0YSB8IFJldmlld01lc3NhZ2VNZXRhZGF0YSB8IFNlcGFyYXRvck1lc3NhZ2VNZXRhZGF0YSB8IFBhZ2VNZXNzYWdlTWV0YWRhdGEgfCBTZWFyY2hNZXNzYWdlTWV0YWRhdGEgfCBBdHRhY2htZW50TWV0YWRhdGEgfCBDWEFnZW50UmVzcG9uc2VNZXRhZGF0YSB8IEZvcm1NZXNzYWdlTWV0YWRhdGEgfCBPcmRlck1lc3NhZ2VNZXRhZGF0YSB8IFByb2R1Y3RTZWFyY2hGaWx0ZXJNZXRhZGF0YSk7XG50eXBlIEF0dGFjaG1lbnRNZXRhZGF0YSA9IHtcbiAgICB0eXBlOiBNZXNzYWdlVHlwZS5BdHRhY2htZW50O1xuICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIG1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgICAgIGF0dGFjaG1lbnQ6IEN1c3RTZXJ2aWNlQXR0YWNobWVudFtdO1xuICAgIH07XG59O1xudHlwZSBDWEFnZW50UmVzcG9uc2VNZXRhZGF0YSA9IHtcbiAgICB0eXBlOiBNZXNzYWdlVHlwZS5DWEFnZW50UmVzcG9uc2U7XG4gICAgbWV0YWRhdGE6IHtcbiAgICAgICAgbWVzc2FnZTogc3RyaW5nO1xuICAgICAgICBhZ2VudE5hbWU6IHN0cmluZztcbiAgICB9O1xufTtcbnR5cGUgVGV4dE1lc3NhZ2VNZXRhZGF0YSA9IHtcbiAgICB0eXBlOiBNZXNzYWdlVHlwZS5UZXh0O1xuICAgIG1ldGFkYXRhOiBUZXh0UmVzcG9uc2VBdHRyaWJ1dGVzWydhdHRyaWJ1dGVzJ107XG59O1xudHlwZSBRdWVyeVR5cGVkTWV0YWRhdGEgPSB7XG4gICAgdHlwZTogTWVzc2FnZVR5cGUuUXVlcnlUeXBlZDtcbiAgICBtZXRhZGF0YTogVGV4dFJlc3BvbnNlQXR0cmlidXRlc1snYXR0cmlidXRlcyddO1xufTtcbnR5cGUgU3VnZ2VzdGlvbk1lc3NhZ2VNZXRhZGF0YSA9IHtcbiAgICB0eXBlOiBNZXNzYWdlVHlwZS5TdWdnZXN0aW9uQ2xpY2tlZDtcbiAgICBtZXRhZGF0YToge1xuICAgICAgICBzdWdnZXN0aW9uSWQ6IHN0cmluZztcbiAgICAgICAgc3VnZ2VzdGlvbkNvbnRlbnQ6IHN0cmluZztcbiAgICB9O1xufTtcbmV4cG9ydCB0eXBlIFByb2R1Y3RNZXNzYWdlTWV0YWRhdGEgPSB7XG4gICAgdHlwZTogTWVzc2FnZVR5cGUuUHJvZHVjdDtcbiAgICBtZXRhZGF0YTogUHJvZHVjdFJlc3BvbnNlQXR0cmlidXRlc1snYXR0cmlidXRlcyddO1xufTtcbmV4cG9ydCB0eXBlIFByb2R1Y3RTZWFyY2hNZXNzYWdlTWV0YWRhdGEgPSB7XG4gICAgdHlwZTogTWVzc2FnZVR5cGUuUHJvZHVjdFNlYXJjaDtcbiAgICBtZXRhZGF0YTogU2VhcmNoUHJvZHVjdFJlc3BvbnNlQXR0cmlidXRlc1snYXR0cmlidXRlcyddO1xufTtcbnR5cGUgUmV2aWV3TWVzc2FnZU1ldGFkYXRhID0ge1xuICAgIHR5cGU6IE1lc3NhZ2VUeXBlLlJldmlldztcbiAgICBtZXRhZGF0YTogUmV2aWV3UmVzcG9uc2VBdHRyaWJ1dGVzWydhdHRyaWJ1dGVzJ107XG59O1xudHlwZSBTZXBhcmF0b3JNZXNzYWdlTWV0YWRhdGEgPSB7XG4gICAgdHlwZTogTWVzc2FnZVR5cGUuU2VwYXJhdG9yO1xufTtcbnR5cGUgUGFnZU1lc3NhZ2VNZXRhZGF0YSA9IHtcbiAgICB0eXBlOiBNZXNzYWdlVHlwZS5QYWdlO1xuICAgIG1ldGFkYXRhOiBQYWdlUmVzcG9uc2VBdHRyaWJ1dGVzWydhdHRyaWJ1dGVzJ107XG59O1xudHlwZSBTZWFyY2hNZXNzYWdlTWV0YWRhdGEgPSB7XG4gICAgdHlwZTogTWVzc2FnZVR5cGUuU2VhcmNoO1xuICAgIG1ldGFkYXRhOiBTZWFyY2hSZXNwb25zZUF0dHJpYnV0ZXNbJ2F0dHJpYnV0ZXMnXTtcbn07XG50eXBlIFByb2R1Y3RTZWFyY2hGaWx0ZXJNZXRhZGF0YSA9IHtcbiAgICB0eXBlOiBNZXNzYWdlVHlwZS5Qcm9kdWN0U2VhcmNoRmlsdGVyO1xuICAgIG1ldGFkYXRhOiBTZWFyY2hQcm9kdWN0RmlsdGVyQXR0cmlidXRlc1snYXR0cmlidXRlcyddO1xufTtcbmV4cG9ydCB0eXBlIEZvcm1GaWVsZCA9IHtcbiAgICBrZXk6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHR5cGU6IEFjY2VwdGFibGVGb3JtRmllbGRUeXBlO1xuICAgIHJlcXVpcmVkOiBib29sZWFuO1xuICAgIGZvcm1hdD86ICdlbWFpbCc7XG4gICAgdmFsdWU/OiBzdHJpbmc7XG59O1xudHlwZSBGb3JtTWVzc2FnZU1ldGFkYXRhID0ge1xuICAgIHR5cGU6IE1lc3NhZ2VUeXBlLkZvcm07XG4gICAgbWV0YWRhdGE6IHtcbiAgICAgICAgZm9ybVR5cGU/OiBGb3JtVHlwZTtcbiAgICAgICAgZmllbGRzOiBGb3JtRmllbGRbXTtcbiAgICB9O1xufTtcbnR5cGUgT3JkZXJNZXNzYWdlTWV0YWRhdGEgPSB7XG4gICAgdHlwZTogTWVzc2FnZVR5cGUuT3JkZXI7XG4gICAgbWV0YWRhdGE6IE9yZGVyUmVzcG9uc2VBdHRyaWJ1dGVzWydhdHRyaWJ1dGVzJ107XG59O1xuZXhwb3J0IHt9O1xuIiwiZXhwb3J0IGludGVyZmFjZSBNb2JpbGVQTFBDaGF0UGxhY2VtZW50UGFyYW1ldGVyIHtcbiAgICByb3dJbmRleDogbnVtYmVyO1xufVxuIiwiZXhwb3J0IGRlY2xhcmUgY29uc3QgT3JnU2hvcnROYW1lOiB7XG4gICAgcmVhZG9ubHkgQ290ZXJpZTogXCJjb3RlcmllXCI7XG4gICAgcmVhZG9ubHkgRm9yTG92ZUFuZExlbW9uczogXCJmb3ItbG92ZS1hbmQtbGVtb25zXCI7XG4gICAgcmVhZG9ubHkgR3JlZW5wYW46IFwiZ3JlZW5wYW5cIjtcbiAgICByZWFkb25seSBKb3JkYW5DcmFpZzogXCJqb3JkYW4tY3JhaWdcIjtcbiAgICByZWFkb25seSBMYXJyeUFuZFNlcmdlczogXCJsYXJyeV9hbmRfc2VyZ2VzXCI7XG4gICAgcmVhZG9ubHkgTGVhcHNBbmRSZWJvdW5kczogXCJsZWFwcy1hbmQtcmVib3VuZHNcIjtcbiAgICByZWFkb25seSBNYW50cmFCcmFuZDogXCJtYW50cmEtYnJhbmRcIjtcbiAgICByZWFkb25seSBTcGFueDogXCJzcGFueFwiO1xuICAgIHJlYWRvbmx5IFNwYW54U3RhZ2luZzogXCJzdGFnaW5nLXNwYW54XCI7XG4gICAgcmVhZG9ubHkgU3VwZXJnb29wOiBcInN1cGVyZ29vcFwiO1xuICAgIHJlYWRvbmx5IFVuaXF1ZVZpbnRhZ2U6IFwidW5pcXVlLXZpbnRhZ2VcIjtcbiAgICByZWFkb25seSBKYWNrQXJjaGVyOiBcImphY2stYXJjaGVyXCI7XG4gICAgcmVhZG9ubHkgU2tpblBlcmZlY3Rpb246IFwic2tpbi1wZXJmZWN0aW9uXCI7XG4gICAgcmVhZG9ubHkgTG9va09wdGljOiBcImxvb2stb3B0aWNcIjtcbiAgICByZWFkb25seSBGaXZlQ2JkOiBcImZpdmUtY2JkXCI7XG4gICAgcmVhZG9ubHkgU25hcFN1cHBsZW1lbnRzOiBcInNuYXAtc3VwcGxlbWVudHNcIjtcbiAgICByZWFkb25seSBMb25nZXZpdHlyeDogXCJsb25nZXZpdHlyeFwiO1xuICAgIHJlYWRvbmx5IFZlbmFDYmQ6IFwidmVuYS1jYmRcIjtcbiAgICByZWFkb25seSBNZWR0ZXJyYTogXCJtZWR0ZXJyYVwiO1xuICAgIHJlYWRvbmx5IE1vZGVsbHM6IFwibW9kZWxsc1wiO1xuICAgIHJlYWRvbmx5IFByZXNzZWRGbG9yYWw6IFwicHJlc3NlZC1mbG9yYWxcIjtcbiAgICByZWFkb25seSBLaW5kcmVkQnJhdmVseTogXCJraW5kcmVkLWJyYXZlbHlcIjtcbiAgICByZWFkb25seSBXaW5lRW50aHVzaWFzdDogXCJ3aW5lLWVudGh1c2lhc3RcIjtcbiAgICByZWFkb25seSBIb21lZ3Jvd25DYW5uYWJpczogXCJob21lZ3Jvd24tY2FubmFiaXNcIjtcbiAgICByZWFkb25seSBEcmVhbWxhbmRCYWJ5OiBcImRyZWFtbGFuZC1iYWJ5XCI7XG4gICAgcmVhZG9ubHkgQmFuZG9saWVyOiBcImJhbmRvbGllclwiO1xuICAgIHJlYWRvbmx5IFdlc3RvbkpvbkJvdWNoZXI6IFwid2VzdG9uLWpvbi1ib3VjaGVyXCI7XG4gICAgcmVhZG9ubHkgS3V0RnJvbVRoZUtsb3RoOiBcImt1dC1mcm9tLXRoZS1rbG90aFwiO1xuICAgIHJlYWRvbmx5IEdyb292ZUxpZmU6IFwiZ3Jvb3ZlLWxpZmVcIjtcbiAgICByZWFkb25seSBDYXJwZTogXCJjYXJwZVwiO1xuICAgIHJlYWRvbmx5IFdvbGZUYWN0aWNhbDogXCJ3b2xmLXRhY3RpY2FsXCI7XG4gICAgcmVhZG9ubHkgV29sZk1hdHRyZXNzOiBcIndvbGZtYXR0cmVzc1wiO1xuICAgIHJlYWRvbmx5IERlZmF1bHQ6IFwiZGVmYXVsdFwiO1xufTtcbiIsImV4cG9ydCBkZWNsYXJlIGVudW0gUHJvZHVjdEV4cGVyaW1lbnQge1xuICAgIERlZmF1bHQgPSBcImRlZmF1bHRcIlxufVxuIiwiZXhwb3J0IGludGVyZmFjZSBTcGFueFRha2VBUXVpekN0YVBhcmFtZXRlciB7XG4gICAgdGV4dD86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZztcbn1cbiIsImltcG9ydCB7IENvbnRleHQgYXMgQXBpQ29udGV4dCB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBDYW1lbENhc2VkUHJvcGVydGllc0RlZXAgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL3V0aWxpdHlUeXBlcyc7XG5leHBvcnQgaW50ZXJmYWNlIENvbnRleHQgZXh0ZW5kcyBDYW1lbENhc2VkUHJvcGVydGllc0RlZXA8QXBpQ29udGV4dD4ge1xufVxuIiwiaW1wb3J0IHsgR2VuZXJhdGlvblBhcmFtcyBhcyBBcGlHZW5lcmF0aW9uUGFyYW1zIH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcCB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdXRpbGl0eVR5cGVzJztcbmV4cG9ydCBpbnRlcmZhY2UgR2VuZXJhdGlvblBhcmFtcyBleHRlbmRzIENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxBcGlHZW5lcmF0aW9uUGFyYW1zPiB7XG59XG4iLCJpbXBvcnQgeyBQRFBBdHRyaWJ1dGVzIGFzIEFwaVBEUEF0dHJpYnV0ZXMsIFBMUEF0dHJpYnV0ZXMgYXMgQXBpUExQQXR0cmlidXRlcywgUXVlcnlUeXBlZEF0dHJpYnV0ZXMgYXMgQXBpUXVlcnlUeXBlZEF0dHJpYnV0ZXMsIFNlYXJjaEF0dHJpYnV0ZXMgYXMgQXBpU2VhcmNoQXR0cmlidXRlcywgU3VnZ2VzdGlvbkNsaWNrZWRBdHRyaWJ1dGVzIGFzIEFwaVN1Z2dlc3Rpb25DbGlja2VkQXR0cmlidXRlcywgVXNlckV2ZW50IGFzIEFwaVVzZXJFdmVudCwgRm9ybVR5cGUsIFBhZ2VWaXNpdENhdGVnb3J5LCBVc2VyRXZlbnRDYXRlZ29yeSB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBDYW1lbENhc2VkUHJvcGVydGllc0RlZXAgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL3V0aWxpdHlUeXBlcyc7XG5leHBvcnQgaW50ZXJmYWNlIFBEUEF0dHJpYnV0ZXMgZXh0ZW5kcyBDYW1lbENhc2VkUHJvcGVydGllc0RlZXA8QXBpUERQQXR0cmlidXRlcz4ge1xufVxuZXhwb3J0IGludGVyZmFjZSBQTFBBdHRyaWJ1dGVzIGV4dGVuZHMgQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPEFwaVBMUEF0dHJpYnV0ZXM+IHtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoQXR0cmlidXRlcyBleHRlbmRzIENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxBcGlTZWFyY2hBdHRyaWJ1dGVzPiB7XG59XG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5VHlwZWRBdHRyaWJ1dGVzIGV4dGVuZHMgQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPEFwaVF1ZXJ5VHlwZWRBdHRyaWJ1dGVzPiB7XG59XG5leHBvcnQgaW50ZXJmYWNlIEZvcm1TdWJtaXR0ZWRBdHRyaWJ1dGVzIHtcbiAgICBmaWxsZWRTY2hlbWE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgIGZvcm1SZXNwb25zZUlkOiBzdHJpbmc7XG4gICAgZm9ybVR5cGU6IEZvcm1UeXBlO1xufVxuZXhwb3J0IGludGVyZmFjZSBQYWdlVmlzaXRBdHRyaWJ1dGVzIHtcbiAgICB1cmw6IHN0cmluZztcbiAgICBwYWdlVmlzaXRDYXRlZ29yeTogUGFnZVZpc2l0Q2F0ZWdvcnk7XG59XG5leHBvcnQgaW50ZXJmYWNlIFN1Z2dlc3Rpb25DbGlja2VkQXR0cmlidXRlcyBleHRlbmRzIENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxBcGlTdWdnZXN0aW9uQ2xpY2tlZEF0dHJpYnV0ZXM+IHtcbn1cbmV4cG9ydCB0eXBlIFVzZXJFdmVudEF0dHJpYnV0ZXMgPSBQRFBBdHRyaWJ1dGVzIHwgUExQQXR0cmlidXRlcyB8IFF1ZXJ5VHlwZWRBdHRyaWJ1dGVzIHwgU2VhcmNoQXR0cmlidXRlcyB8IFN1Z2dlc3Rpb25DbGlja2VkQXR0cmlidXRlcyB8IFBhZ2VWaXNpdEF0dHJpYnV0ZXM7XG5leHBvcnQgaW50ZXJmYWNlIFBEUFVzZXJFdmVudCB7XG4gICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LlBkcFZpc2l0IHwgVXNlckV2ZW50Q2F0ZWdvcnkuQWRkVG9DYXJ0O1xuICAgIGF0dHJpYnV0ZXM6IFBEUEF0dHJpYnV0ZXM7XG59XG5leHBvcnQgaW50ZXJmYWNlIFBMUFVzZXJFdmVudCB7XG4gICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LlBscFZpc2l0O1xuICAgIGF0dHJpYnV0ZXM6IFBMUEF0dHJpYnV0ZXM7XG59XG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5VHlwZWRVc2VyRXZlbnQge1xuICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5RdWVyeVR5cGVkO1xuICAgIGF0dHJpYnV0ZXM6IFF1ZXJ5VHlwZWRBdHRyaWJ1dGVzO1xufVxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hVc2VyRXZlbnQge1xuICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5TZWFyY2g7XG4gICAgYXR0cmlidXRlczogU2VhcmNoQXR0cmlidXRlcztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU3VnZ2VzdGlvbnNDbGlja2VkVXNlckV2ZW50IHtcbiAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuU3VnZ2VzdGlvbkNsaWNrZWQ7XG4gICAgYXR0cmlidXRlczogU3VnZ2VzdGlvbkNsaWNrZWRBdHRyaWJ1dGVzO1xufVxuZXhwb3J0IGludGVyZmFjZSBBcHBMb2FkZWRVc2VyRXZlbnQge1xuICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5BcHBMb2FkZWQ7XG59XG5leHBvcnQgaW50ZXJmYWNlIEFwcFVubG9hZGVkRXZlbnQge1xuICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5BcHBVbmxvYWRlZDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUGFnZVZpc2l0RXZlbnQge1xuICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5QYWdlVmlzaXQ7XG4gICAgYXR0cmlidXRlczogUGFnZVZpc2l0QXR0cmlidXRlcztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVN1Ym1pdHRlZCB7XG4gICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LkZvcm1TdWJtaXR0ZWQ7XG4gICAgYXR0cmlidXRlczogRm9ybVN1Ym1pdHRlZEF0dHJpYnV0ZXM7XG59XG5leHBvcnQgdHlwZSBVc2VyRXZlbnQgPSBDYW1lbENhc2VkUHJvcGVydGllc0RlZXA8UGljazxBcGlVc2VyRXZlbnQsICdldmVudF9pZCcgfCAnY2F0ZWdvcnknIHwgJ2NyZWF0ZWRfYXQnPj4gJiAoU3VnZ2VzdGlvbnNDbGlja2VkVXNlckV2ZW50IHwgQXBwTG9hZGVkVXNlckV2ZW50IHwgUERQVXNlckV2ZW50IHwgUXVlcnlUeXBlZFVzZXJFdmVudCB8IFNlYXJjaFVzZXJFdmVudCB8IEFwcFVubG9hZGVkRXZlbnQgfCBQTFBVc2VyRXZlbnQgfCBQYWdlVmlzaXRFdmVudCB8IEZvcm1TdWJtaXR0ZWQpO1xuIiwiaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gJy4vY29udGV4dCc7XG5pbXBvcnQgeyBVc2VyRXZlbnQgfSBmcm9tICcuL3VzZXJFdmVudCc7XG5pbXBvcnQgeyBHZW5lcmF0aW9uUGFyYW1zIH0gZnJvbSAnLi9nZW5lcmF0aW9uUGFyYW1zJztcbmV4cG9ydCBpbnRlcmZhY2UgTmV4dE1lc3NhZ2VSZXF1ZXN0IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGNvbnRleHQ6IENvbnRleHQ7XG4gICAgdXNlckV2ZW50cz86IFVzZXJFdmVudFtdO1xuICAgIGZlYXR1cmVGbGFncz86IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+O1xuICAgIGdlbmVyYXRpb25QYXJhbXM/OiBHZW5lcmF0aW9uUGFyYW1zO1xufVxuIiwiaW1wb3J0IHsgU3VnZ2VzdGlvbiBhcyBBcGlTdWdnZXN0aW9uIH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcCB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdXRpbGl0eVR5cGVzJztcbmV4cG9ydCBpbnRlcmZhY2UgU3VnZ2VzdGlvbiBleHRlbmRzIENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxBcGlTdWdnZXN0aW9uPiB7XG59XG4iLCJpbXBvcnQgeyBVc2VyRXZlbnQgfSBmcm9tICcuL3VzZXJFdmVudCc7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSAnLi9jb250ZXh0JztcbmV4cG9ydCBpbnRlcmZhY2UgU3VwcG9ydGVkRXZlbnRSZXF1ZXN0IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGNvbnRleHQ6IENvbnRleHQ7XG4gICAgdXNlckV2ZW50OiBVc2VyRXZlbnQ7XG59XG4iLCJpbXBvcnQgdHlwZSB7IEJhc2VFY29tbWVyY2VFdmVudCB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuLyoqXG4gKiBDaGVja3MgaWYgYW4gZXZlbnQgaXMgYSBiYXNlIEdvb2dsZSBBbmFseXRpY3MgZWNvbW1lcmNlIGV2ZW50LlxuICpcbiAqIEBwYXJhbSBkYXRhIFRoZSBldmVudCB0byBjaGVjay5cbiAqXG4gKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBldmVudCBpcyBhIGJhc2UgZWNvbW1lcmNlIGV2ZW50LCBmYWxzZSBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzQmFzZUVjb21tZXJjZUV2ZW50OiAoZGF0YTogdW5rbm93bikgPT4gZGF0YSBpcyBCYXNlRWNvbW1lcmNlRXZlbnQ7XG4iLCJpbXBvcnQgdHlwZSB7IEdBNEVjb21tZXJjZUV2ZW50IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG4vKipcbiAqIENoZWNrcyBpZiBhbiBldmVudCBpcyBhIEdvb2dsZSBBbmFseXRpY3MgNCBlY29tbWVyY2UgZXZlbnQuXG4gKlxuICogQHBhcmFtIGRhdGEgVGhlIGV2ZW50IHRvIGNoZWNrLlxuICpcbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGV2ZW50IGlzIGEgR0E0IGVjb21tZXJjZSBldmVudCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICovXG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc0dBNEVjb21tZXJjZUV2ZW50OiAoZGF0YTogdW5rbm93bikgPT4gZGF0YSBpcyBHQTRFY29tbWVyY2VFdmVudDtcbiIsImltcG9ydCB0eXBlIHsgVUFFY29tbWVyY2VFdmVudCB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuLyoqXG4gKiBDaGVja3MgaWYgYW4gZXZlbnQgaXMgYSBsZWdhY3kgVW5pdmVyc2FsIEFuYWx5dGljcyBlY29tbWVyY2UgZXZlbnQuXG4gKlxuICogQHBhcmFtIGRhdGEgVGhlIGV2ZW50IHRvIGNoZWNrLlxuICpcbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGV2ZW50IGlzIGEgbGVnYWN5IFVBIGVjb21tZXJjZSBldmVudCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICovXG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc0xlZ2FjeVVBRWNvbW1lcmNlRXZlbnQ6IChkYXRhOiB1bmtub3duKSA9PiBkYXRhIGlzIFVBRWNvbW1lcmNlRXZlbnQ7XG4iLCJpbnRlcmZhY2UgTW9iaWxlUGxwQ2hhdFBsYWNlbWVudFBhcmFtZXRlciB7XG4gICAgcm93X2luZGV4OiBudW1iZXI7XG59XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc01vYmlsZVBMUENoYXRQbGFjZW1lbnRQYXJhbWV0ZXI6ICh2YWx1ZTogdW5rbm93bikgPT4gdmFsdWUgaXMgTW9iaWxlUGxwQ2hhdFBsYWNlbWVudFBhcmFtZXRlcjtcbmV4cG9ydCB7fTtcbiIsImltcG9ydCB7IFNwYW54VGFrZUFRdWl6Q3RhUGFyYW1ldGVyIH0gZnJvbSAnLi4vc3BhbnhUYWtlQVF1aXpDdGFQYXJhbWV0ZXInO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNTcGFueFRha2VBUXVpekN0YVBhcmFtZXRlcjogKHZhbHVlOiB1bmtub3duKSA9PiB2YWx1ZSBpcyBTcGFueFRha2VBUXVpekN0YVBhcmFtZXRlcjtcbiIsImltcG9ydCB7IFZhcmlhbnRJbmZvIH0gZnJvbSAnLi4vdmFyaWFudEluZm8nO1xuLyoqXG4gKiBUeXBlIGd1YXJkIHRvIGNoZWNrIGlmIGFuIG9iamVjdCBpcyBhIHZhbGlkIFZhcmlhbnRJbmZvLlxuICpcbiAqIEBwYXJhbSB2YXJpYW50SW5mbyAtIFRoZSB1bmtub3duIG9iamVjdCB0byBjaGVjay5cbiAqXG4gKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBkYXRhIGlzIGEgdmFsaWQgVmFyaWFudEluZm8gb2JqZWN0LCBmYWxzZSBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzVmFyaWFudEluZm86ICh2YXJpYW50SW5mbzogdW5rbm93bikgPT4gdmFyaWFudEluZm8gaXMgVmFyaWFudEluZm87XG4iLCJpbXBvcnQgeyBBcGlGb3JtUmVzcG9uc2VBdHRyaWJ1dGVzIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvcmVzcG9uc2VHZW5lcmljcyc7XG4vKipcbiAqIFR5cGUgZ3VhcmQgdG8gY2hlY2sgaWYgdGhlIHByb3ZpZGVkIGRhdGEgaGFzIHRoZSBhbGwgb2YgdGhlIHByb3BlcnRpZXMgKHdpdGggdGhlIGNvcnJlY3QgdHlwZXMpIG9mXG4gKiBhIEZvcm1SZXNwb25zZUF0dHJpYnV0ZVxuICpcbiAqIEBwYXJhbSBkYXRhIC0gVGhlIGRhdGEgdG8gY2hlY2tcbiAqXG4gKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBkYXRhIGhhcyB0aGUgY29ycmVjdCBwcm9wZXJ0aWVzLCBmYWxzZSBvdGhlcndpc2VcbiAqL1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNBcGlGb3JtUmVzcG9uc2VBdHRyaWJ1dGVzOiAoZGF0YTogdW5rbm93bikgPT4gZGF0YSBpcyBBcGlGb3JtUmVzcG9uc2VBdHRyaWJ1dGVzO1xuIiwiaW1wb3J0IHsgRm9ybVN1Ym1pdHRlZEF0dHJpYnV0ZXMgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNBcGlGb3JtU3VibWl0dGVkUmVzcG9uc2VBdHRyaWJ1dGVzOiAoZGF0YTogdW5rbm93bikgPT4gZGF0YSBpcyBGb3JtU3VibWl0dGVkQXR0cmlidXRlcztcbiIsImltcG9ydCB7IE9yZGVySXRlbUluZm8sIE9yZGVyUmVzcG9uc2VBdHRyaWJ1dGVzIH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmV4cG9ydCBpbnRlcmZhY2UgQXBpT3JkZXJJdGVtSW5mbyBleHRlbmRzIE9taXQ8T3JkZXJJdGVtSW5mbywgJ2RlbGl2ZXJlZF9hdCcgfCAnZXN0aW1hdGVkX2RlbGl2ZXJ5X2F0JyB8ICdpbl90cmFuc2l0X2F0Jz4ge1xuICAgIGRlbGl2ZXJlZF9hdD86IHN0cmluZztcbiAgICBlc3RpbWF0ZWRfZGVsaXZlcnlfYXQ/OiBzdHJpbmc7XG4gICAgaW5fdHJhbnNpdF9hdD86IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQXBpT3JkZXJSZXNwb25zZUF0dHJpYnV0ZXMgZXh0ZW5kcyBPbWl0PE9yZGVyUmVzcG9uc2VBdHRyaWJ1dGVzLCAnY3JlYXRlZF9hdCcgfCAnbGF0ZXN0X2V2ZW50X2RhdGUnIHwgJ2xpbmVfaXRlbXMnPiB7XG4gICAgY3JlYXRlZF9hdDogc3RyaW5nO1xuICAgIGxhdGVzdF9ldmVudF9kYXRlOiBzdHJpbmc7XG4gICAgbGluZV9pdGVtczogQXBpT3JkZXJJdGVtSW5mb1tdO1xufVxuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNBcGlPcmRlclJlc3BvbnNlQXR0cmlidXRlczogKGRhdGE6IHVua25vd24pID0+IGRhdGEgaXMgQXBpT3JkZXJSZXNwb25zZUF0dHJpYnV0ZXM7XG4iLCJpbXBvcnQgeyBPcmdhbml6YXRpb25Db25maWcgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW50ZXJmYWNlIEFwaU9yZ0FuYWx5dGljc0NvbmZpZ0FtcGxpdHVkZSB7XG4gICAgc2Vzc2lvbl9yZXBsYXlfZW5hYmxlZDogYm9vbGVhbjtcbiAgICBzZXNzaW9uX3JlcGxheV9zYW1wbGVfcmF0ZTogbnVtYmVyO1xuICAgIHRyYWNraW5nX2VuYWJsZWQ6IGJvb2xlYW47XG59XG5pbnRlcmZhY2UgQXBpT3JnQW5hbHl0aWNzQ29uZmlnQ3VzdG9tZXJTZXJ2aWNlIHtcbiAgICBwcm92aWRlcjogc3RyaW5nO1xufVxuaW50ZXJmYWNlIEFwaU9yZ0FuYWx5dGljc0NvbmZpZ0dvb2dsZUFuYWx5dGljcyB7XG4gICAgbWVhc3VyZW1lbnRfaWQ6IHN0cmluZztcbn1cbmludGVyZmFjZSBBcGlPcmdBbmFseXRpY3NDb25maWcge1xuICAgIGFtcGxpdHVkZT86IEFwaU9yZ0FuYWx5dGljc0NvbmZpZ0FtcGxpdHVkZTtcbiAgICBjdXN0b21lcl9zZXJ2aWNlPzogQXBpT3JnQW5hbHl0aWNzQ29uZmlnQ3VzdG9tZXJTZXJ2aWNlO1xuICAgIGdvb2dsZV9hbmFseXRpY3M/OiBBcGlPcmdBbmFseXRpY3NDb25maWdHb29nbGVBbmFseXRpY3M7XG59XG5leHBvcnQgaW50ZXJmYWNlIEFwaU9yZ2FuaXphdGlvbkNvbmZpZyBleHRlbmRzIE9yZ2FuaXphdGlvbkNvbmZpZyB7XG4gICAgY29uZmlnOiBBcGlPcmdBbmFseXRpY3NDb25maWc7XG59XG4vKipcbiAqXG4gKiBAcGFyYW0gZGF0YVxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNBcGlPcmdhbml6YXRpb25Db25maWc6IChkYXRhOiB1bmtub3duKSA9PiBkYXRhIGlzIEFwaU9yZ2FuaXphdGlvbkNvbmZpZztcbmV4cG9ydCB7fTtcbiIsImltcG9ydCB7IFN0YXRzaWdFeHBlcmltZW50IGFzIEFwaU9yZ0NvbmZpZ0V4cGVyaW1lbnQsIFN0YXRzaWdGZWF0dXJlR2F0ZSBhcyBBcGlPcmdDb25maWdGZWF0dXJlR2F0ZSwgT3JnYW5pemF0aW9uU2V0dGluZ3MgYXMgQXBpT3JnQ29uZmlnT3JnYW5pemF0aW9uU2V0dGluZ3MgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgQXBpT3JnYW5pemF0aW9uQ29uZmlnIH0gZnJvbSAnLi9pc0FwaU9yZ2FuaXphdGlvbkNvbmZpZyc7XG5pbnRlcmZhY2UgQXBpT3JnQ29uZmlnUmVzdWx0cyB7XG4gICAgY29uZmlnczogQXBpT3JnYW5pemF0aW9uQ29uZmlnW107XG4gICAgZXhwZXJpbWVudHM6IEFwaU9yZ0NvbmZpZ0V4cGVyaW1lbnRbXTtcbiAgICBnYXRlczogQXBpT3JnQ29uZmlnRmVhdHVyZUdhdGVbXTtcbiAgICBvcmc6IEFwaU9yZ0NvbmZpZ09yZ2FuaXphdGlvblNldHRpbmdzO1xufVxuLyoqXG4gKlxuICogQHBhcmFtIGRhdGFcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzQXBpT3JnQ29uZmlnUmVzdWx0czogKGRhdGE6IHVua25vd24pID0+IGRhdGEgaXMgUmVxdWlyZWQ8QXBpT3JnQ29uZmlnUmVzdWx0cz47XG5leHBvcnQge307XG4iLCJpbXBvcnQgeyBBcGlQYWdlUmVzcG9uc2VBdHRyaWJ1dGVzIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvcmVzcG9uc2VHZW5lcmljcyc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc0FwaVBhZ2VSZXNwb25zZUF0dHJpYnV0ZXM6IChvYmo6IHVua25vd24pID0+IG9iaiBpcyBBcGlQYWdlUmVzcG9uc2VBdHRyaWJ1dGVzO1xuIiwiaW1wb3J0IHsgUExQQXR0cmlidXRlcywgUExQSWRBdHRyaWJ1dGVzIH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzQXBpUExQSWRBdHRyaWJ1dGU6IChkYXRhOiB1bmtub3duKSA9PiBkYXRhIGlzIFBMUElkQXR0cmlidXRlcztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzQXBpUExQRXZlbnRBdHRyaWJ1dGVzOiAoZGF0YTogdW5rbm93bikgPT4gZGF0YSBpcyBQTFBBdHRyaWJ1dGVzO1xuIiwiaW1wb3J0IHsgUHJvZHVjdFNlYXJjaEZpbHRlclJlc3BvbnNlQXR0cmlidXRlcyB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc0FwaVByb2R1Y3RTZWFyY2hGaWx0ZXJSZXNwb25zZUF0dHJpYnV0ZXM6IChhdHRyaWJ1dGVzOiB1bmtub3duKSA9PiBhdHRyaWJ1dGVzIGlzIFByb2R1Y3RTZWFyY2hGaWx0ZXJSZXNwb25zZUF0dHJpYnV0ZXM7XG4iLCJpbXBvcnQgeyBHZXRNZXJjaGFudENvbG9yc1F1ZXJ5RGF0YSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3JhcGhxbCc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc0dyYXBoUUxDb2xvcnNDb25maWc6IChkYXRhOiB1bmtub3duKSA9PiBkYXRhIGlzIEdldE1lcmNoYW50Q29sb3JzUXVlcnlEYXRhO1xuIiwiaW1wb3J0IHR5cGUgeyBVcHBlckNhc2VDaGFyYWN0ZXJzLCBXb3JkU2VwYXJhdG9ycyB9IGZyb20gJy4vaW50ZXJuYWwnO1xudHlwZSBVcHBlckNhc2VUb0xvd2VyQ2FzZTxUIGV4dGVuZHMgc3RyaW5nPiA9IFQgZXh0ZW5kcyBVcHBlcmNhc2U8VD4gPyBMb3dlcmNhc2U8VD4gOiBUO1xudHlwZSBTcGxpdEluY2x1ZGluZ0RlbGltaXRlcnNfPFNvdXJjZSBleHRlbmRzIHN0cmluZywgRGVsaW1pdGVyIGV4dGVuZHMgc3RyaW5nPiA9IFNvdXJjZSBleHRlbmRzICcnID8gW10gOiBTb3VyY2UgZXh0ZW5kcyBgJHtpbmZlciBGaXJzdFBhcnR9JHtEZWxpbWl0ZXJ9JHtpbmZlciBTZWNvbmRQYXJ0fWAgPyBTb3VyY2UgZXh0ZW5kcyBgJHtGaXJzdFBhcnR9JHtpbmZlciBVc2VkRGVsaW1pdGVyfSR7U2Vjb25kUGFydH1gID8gVXNlZERlbGltaXRlciBleHRlbmRzIERlbGltaXRlciA/IFNvdXJjZSBleHRlbmRzIGAke2luZmVyIEZpcnN0UGFydH0ke1VzZWREZWxpbWl0ZXJ9JHtpbmZlciBTZWNvbmRQYXJ0fWAgPyBbXG4gICAgLi4uU3BsaXRJbmNsdWRpbmdEZWxpbWl0ZXJzPEZpcnN0UGFydCwgRGVsaW1pdGVyPixcbiAgICBVc2VkRGVsaW1pdGVyLFxuICAgIC4uLlNwbGl0SW5jbHVkaW5nRGVsaW1pdGVyczxTZWNvbmRQYXJ0LCBEZWxpbWl0ZXI+XG5dIDogbmV2ZXIgOiBuZXZlciA6IG5ldmVyIDogW1NvdXJjZV07XG4vKipcbiAqIFVubGlrZSBhIHNpbXBsZXIgc3BsaXQsIHRoaXMgb25lIGluY2x1ZGVzIHRoZSBkZWxpbWl0ZXIgc3BsaXR0ZWQgb24gaW4gdGhlIHJlc3VsdGluZyBhcnJheSBsaXRlcmFsLiBUaGlzIGlzIHRvIGVuYWJsZSBzcGxpdHRpbmcgb24sIGZvciBleGFtcGxlLCB1cHBlci1jYXNlIGNoYXJhY3RlcnMuXG4gKlxuICogQGNhdGVnb3J5IFRlbXBsYXRlIGxpdGVyYWxcbiAqL1xuZXhwb3J0IHR5cGUgU3BsaXRJbmNsdWRpbmdEZWxpbWl0ZXJzPFNvdXJjZSBleHRlbmRzIHN0cmluZywgRGVsaW1pdGVyIGV4dGVuZHMgc3RyaW5nPiA9IFNwbGl0SW5jbHVkaW5nRGVsaW1pdGVyc188VXBwZXJDYXNlVG9Mb3dlckNhc2U8U291cmNlPiwgRGVsaW1pdGVyPjtcbi8qKlxuICpGb3JtYXQgYSBzcGVjaWZpYyBwYXJ0IG9mIHRoZSBzcGxpdHRlZCBzdHJpbmcgbGl0ZXJhbCB0aGF0IGBTdHJpbmdBcnJheVRvRGVsaW1pdGVyQ2FzZTw+YCBmdXNlcyB0b2dldGhlciwgZW5zdXJpbmcgZGVzaXJlZCBjYXNpbmcuXG4gKlxuICpAc2VlIFN0cmluZ0FycmF5VG9EZWxpbWl0ZXJDYXNlXG4gKi9cbnR5cGUgU3RyaW5nUGFydFRvRGVsaW1pdGVyQ2FzZTxTdHJpbmdQYXJ0IGV4dGVuZHMgc3RyaW5nLCBTdGFydCBleHRlbmRzIGJvb2xlYW4sIFVzZWRXb3JkU2VwYXJhdG9ycyBleHRlbmRzIHN0cmluZywgVXNlZFVwcGVyQ2FzZUNoYXJhY3RlcnMgZXh0ZW5kcyBzdHJpbmcsIERlbGltaXRlciBleHRlbmRzIHN0cmluZz4gPSBTdHJpbmdQYXJ0IGV4dGVuZHMgVXNlZFdvcmRTZXBhcmF0b3JzID8gRGVsaW1pdGVyIDogU3RhcnQgZXh0ZW5kcyB0cnVlID8gTG93ZXJjYXNlPFN0cmluZ1BhcnQ+IDogU3RyaW5nUGFydCBleHRlbmRzIFVzZWRVcHBlckNhc2VDaGFyYWN0ZXJzID8gYCR7RGVsaW1pdGVyfSR7TG93ZXJjYXNlPFN0cmluZ1BhcnQ+fWAgOiBTdHJpbmdQYXJ0O1xuLyoqXG4gKiBUYWtlcyB0aGUgcmVzdWx0IG9mIGEgc3BsaXR0ZWQgc3RyaW5nIGxpdGVyYWwgYW5kIHJlY3Vyc2l2ZWx5IGNvbmNhdGVuYXRlcyBpdCB0b2dldGhlciBpbnRvIHRoZSBkZXNpcmVkIGNhc2luZy5cbiAqXG4gKiBJdCByZWNlaXZlcyBgVXNlZFdvcmRTZXBhcmF0b3JzYCBhbmQgYFVzZWRVcHBlckNhc2VDaGFyYWN0ZXJzYCBhcyBpbnB1dCB0byBlbnN1cmUgaXQncyBmdWxseSBlbmNhcHN1bGF0ZWQuXG4gKlxuICogQHNlZSBTcGxpdEluY2x1ZGluZ0RlbGltaXRlcnNcbiAqL1xudHlwZSBTdHJpbmdBcnJheVRvRGVsaW1pdGVyQ2FzZTxQYXJ0cyBleHRlbmRzIHJlYWRvbmx5IGFueVtdLCBTdGFydCBleHRlbmRzIGJvb2xlYW4sIFVzZWRXb3JkU2VwYXJhdG9ycyBleHRlbmRzIHN0cmluZywgVXNlZFVwcGVyQ2FzZUNoYXJhY3RlcnMgZXh0ZW5kcyBzdHJpbmcsIERlbGltaXRlciBleHRlbmRzIHN0cmluZz4gPSBQYXJ0cyBleHRlbmRzIFtgJHtpbmZlciBGaXJzdFBhcnR9YCwgLi4uaW5mZXIgUmVtYWluaW5nUGFydHNdID8gYCR7U3RyaW5nUGFydFRvRGVsaW1pdGVyQ2FzZTxGaXJzdFBhcnQsIFN0YXJ0LCBVc2VkV29yZFNlcGFyYXRvcnMsIFVzZWRVcHBlckNhc2VDaGFyYWN0ZXJzLCBEZWxpbWl0ZXI+fSR7U3RyaW5nQXJyYXlUb0RlbGltaXRlckNhc2U8UmVtYWluaW5nUGFydHMsIGZhbHNlLCBVc2VkV29yZFNlcGFyYXRvcnMsIFVzZWRVcHBlckNhc2VDaGFyYWN0ZXJzLCBEZWxpbWl0ZXI+fWAgOiBQYXJ0cyBleHRlbmRzIFtzdHJpbmddID8gc3RyaW5nIDogJyc7XG4vKipcbiAqIENvbnZlcnQgYSBzdHJpbmcgbGl0ZXJhbCB0byBhIGN1c3RvbSBzdHJpbmcgZGVsaW1pdGVyIGNhc2luZy5cbiAqXG4gKiBUaGlzIGNhbiBiZSB1c2VmdWwgd2hlbiwgZm9yIGV4YW1wbGUsIGNvbnZlcnRpbmcgYSBjYW1lbC1jYXNlZCBvYmplY3QgcHJvcGVydHkgdG8gYW4gb2RkbHkgY2FzZWQgb25lLlxuICpcbiAqIEBzZWUgS2ViYWJDYXNlXG4gKiBAc2VlIFNuYWtlQ2FzZVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBcbiAqIGltcG9ydCB0eXBlIHtEZWxpbWl0ZXJDYXNlfSBmcm9tICd0eXBlLWZlc3QnO1xuICpcbiAqIC8vIFNpbXBsZVxuICpcbiAqIGNvbnN0IHNvbWVWYXJpYWJsZTogRGVsaW1pdGVyQ2FzZTwnZm9vQmFyJywgJyMnPiA9ICdmb28jYmFyJztcbiAqXG4gKiAvLyBBZHZhbmNlZFxuICpcbiAqIHR5cGUgT2RkbHlDYXNlZFByb3BlcnRpZXM8VD4gPSB7XG4gKiBcdFtLIGluIGtleW9mIFQgYXMgRGVsaW1pdGVyQ2FzZTxLLCAnIyc+XTogVFtLXVxuICogfTtcbiAqXG4gKiBpbnRlcmZhY2UgU29tZU9wdGlvbnMge1xuICogXHRkcnlSdW46IGJvb2xlYW47XG4gKiBcdGluY2x1ZGVGaWxlOiBzdHJpbmc7XG4gKiBcdGZvbzogbnVtYmVyO1xuICogfVxuICpcbiAqIGNvbnN0IHJhd0NsaU9wdGlvbnM6IE9kZGx5Q2FzZWRQcm9wZXJ0aWVzPFNvbWVPcHRpb25zPiA9IHtcbiAqIFx0J2RyeSNydW4nOiB0cnVlLFxuICogXHQnaW5jbHVkZSNmaWxlJzogJ2Jhci5qcycsXG4gKiBcdGZvbzogMTIzXG4gKiB9O1xuICogYGBgXG4gKlxuICogQGNhdGVnb3J5IENoYW5nZSBjYXNlXG4gKiBAY2F0ZWdvcnkgVGVtcGxhdGUgbGl0ZXJhbFxuICovXG5leHBvcnQgdHlwZSBEZWxpbWl0ZXJDYXNlPFZhbHVlLCBEZWxpbWl0ZXIgZXh0ZW5kcyBzdHJpbmc+ID0gc3RyaW5nIGV4dGVuZHMgVmFsdWUgPyBWYWx1ZSA6IFZhbHVlIGV4dGVuZHMgc3RyaW5nID8gU3RyaW5nQXJyYXlUb0RlbGltaXRlckNhc2U8U3BsaXRJbmNsdWRpbmdEZWxpbWl0ZXJzPFZhbHVlLCBXb3JkU2VwYXJhdG9ycyB8IFVwcGVyQ2FzZUNoYXJhY3RlcnM+LCB0cnVlLCBXb3JkU2VwYXJhdG9ycywgVXBwZXJDYXNlQ2hhcmFjdGVycywgRGVsaW1pdGVyPiA6IFZhbHVlO1xuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IHR5cGUgeyBEZWxpbWl0ZXJDYXNlIH0gZnJvbSAnLi9kZWxpbWl0ZXJDYXNlJztcbmltcG9ydCB0eXBlIHsgTm9uUmVjdXJzaXZlVHlwZSB9IGZyb20gJy4vaW50ZXJuYWwnO1xuaW1wb3J0IHR5cGUgeyBVbmtub3duQXJyYXkgfSBmcm9tICcuL3Vua25vd25BcnJheSc7XG4vKipcbiAqIENvbnZlcnQgb2JqZWN0IHByb3BlcnRpZXMgdG8gZGVsaW1pdGVyIGNhc2UgcmVjdXJzaXZlbHkuXG4gKlxuICogVGhpcyBjYW4gYmUgdXNlZnVsIHdoZW4sIGZvciBleGFtcGxlLCBjb252ZXJ0aW5nIHNvbWUgQVBJIHR5cGVzIGZyb20gYSBkaWZmZXJlbnQgc3R5bGUuXG4gKlxuICogQHNlZSBEZWxpbWl0ZXJDYXNlXG4gKiBAc2VlIERlbGltaXRlckNhc2VkUHJvcGVydGllc1xuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBcbiAqIGltcG9ydCB0eXBlIHtEZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwfSBmcm9tICd0eXBlLWZlc3QnO1xuICpcbiAqIGludGVyZmFjZSBVc2VyIHtcbiAqIFx0dXNlcklkOiBudW1iZXI7XG4gKiBcdHVzZXJOYW1lOiBzdHJpbmc7XG4gKiB9XG4gKlxuICogaW50ZXJmYWNlIFVzZXJXaXRoRnJpZW5kcyB7XG4gKiBcdHVzZXJJbmZvOiBVc2VyO1xuICogXHR1c2VyRnJpZW5kczogVXNlcltdO1xuICogfVxuICpcbiAqIGNvbnN0IHJlc3VsdDogRGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzRGVlcDxVc2VyV2l0aEZyaWVuZHMsICctJz4gPSB7XG4gKiBcdCd1c2VyLWluZm8nOiB7XG4gKiBcdCd1c2VyLWlkJzogMSxcbiAqIFx0XHQndXNlci1uYW1lJzogJ1RvbScsXG4gKiBcdH0sXG4gKiBcdCd1c2VyLWZyaWVuZHMnOiBbXG4gKiBcdFx0e1xuICogXHRcdFx0J3VzZXItaWQnOiAyLFxuICogXHRcdFx0J3VzZXItbmFtZSc6ICdKZXJyeScsXG4gKiBcdFx0fSxcbiAqIFx0XHR7XG4gKiBcdFx0XHQndXNlci1pZCc6IDMsXG4gKiBcdFx0XHQndXNlci1uYW1lJzogJ1NwaWtlJyxcbiAqIFx0XHR9LFxuICogXHRdLFxuICogfTtcbiAqIGBgYFxuICpcbiAqIEBjYXRlZ29yeSBDaGFuZ2UgY2FzZVxuICogQGNhdGVnb3J5IFRlbXBsYXRlIGxpdGVyYWxcbiAqIEBjYXRlZ29yeSBPYmplY3RcbiAqL1xuZXhwb3J0IHR5cGUgRGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzRGVlcDxWYWx1ZSwgRGVsaW1pdGVyIGV4dGVuZHMgc3RyaW5nPiA9IFZhbHVlIGV4dGVuZHMgTm9uUmVjdXJzaXZlVHlwZSA/IFZhbHVlIDogVmFsdWUgZXh0ZW5kcyBVbmtub3duQXJyYXkgPyBEZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNBcnJheURlZXA8VmFsdWUsIERlbGltaXRlcj4gOiBWYWx1ZSBleHRlbmRzIFNldDxpbmZlciBVPiA/IFNldDxEZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwPFUsIERlbGltaXRlcj4+IDoge1xuICAgIFtLIGluIGtleW9mIFZhbHVlIGFzIERlbGltaXRlckNhc2U8SywgRGVsaW1pdGVyPl06IERlbGltaXRlckNhc2VkUHJvcGVydGllc0RlZXA8VmFsdWVbS10sIERlbGltaXRlcj47XG59O1xudHlwZSBEZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNBcnJheURlZXA8VmFsdWUgZXh0ZW5kcyBVbmtub3duQXJyYXksIERlbGltaXRlciBleHRlbmRzIHN0cmluZz4gPSBWYWx1ZSBleHRlbmRzIFtdID8gW10gOiBWYWx1ZSBleHRlbmRzIFtpbmZlciBVLCAuLi5pbmZlciBWXSA/IFtEZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwPFUsIERlbGltaXRlcj4sIC4uLkRlbGltaXRlckNhc2VkUHJvcGVydGllc0RlZXA8ViwgRGVsaW1pdGVyPl0gOiBWYWx1ZSBleHRlbmRzIHJlYWRvbmx5IFtpbmZlciBVLCAuLi5pbmZlciBWXSA/IHJlYWRvbmx5IFtcbiAgICBEZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwPFUsIERlbGltaXRlcj4sXG4gICAgLi4uRGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzRGVlcDxWLCBEZWxpbWl0ZXI+XG5dIDogVmFsdWUgZXh0ZW5kcyByZWFkb25seSBbLi4uaW5mZXIgVSwgaW5mZXIgVl0gPyBbXG4gICAgLi4uRGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzRGVlcDxVLCBEZWxpbWl0ZXI+LFxuICAgIERlbGltaXRlckNhc2VkUHJvcGVydGllc0RlZXA8ViwgRGVsaW1pdGVyPlxuXSA6IFZhbHVlIGV4dGVuZHMgcmVhZG9ubHkgWy4uLmluZmVyIFUsIGluZmVyIFZdID8gcmVhZG9ubHkgW1xuICAgIC4uLkRlbGltaXRlckNhc2VkUHJvcGVydGllc0RlZXA8VSwgRGVsaW1pdGVyPixcbiAgICBEZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwPFYsIERlbGltaXRlcj5cbl0gOiBWYWx1ZSBleHRlbmRzIEFycmF5PGluZmVyIFU+ID8gQXJyYXk8RGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzRGVlcDxVLCBEZWxpbWl0ZXI+PiA6IFZhbHVlIGV4dGVuZHMgUmVhZG9ubHlBcnJheTxpbmZlciBVPiA/IFJlYWRvbmx5QXJyYXk8RGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzRGVlcDxVLCBEZWxpbWl0ZXI+PiA6IG5ldmVyO1xuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IHR5cGUgeyBEZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwIH0gZnJvbSAnLi9kZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwJztcbi8qKlxuICogQ29udmVydCBvYmplY3QgcHJvcGVydGllcyB0byBzbmFrZSBjYXNlIHJlY3Vyc2l2ZWx5LlxuICpcbiAqIFRoaXMgY2FuIGJlIHVzZWZ1bCB3aGVuLCBmb3IgZXhhbXBsZSwgY29udmVydGluZyBzb21lIEFQSSB0eXBlcyBmcm9tIGEgZGlmZmVyZW50IHN0eWxlLlxuICpcbiAqIEBzZWUgU25ha2VDYXNlXG4gKiBAc2VlIFNuYWtlQ2FzZWRQcm9wZXJ0aWVzXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYFxuICogaW1wb3J0IHR5cGUge1NuYWtlQ2FzZWRQcm9wZXJ0aWVzRGVlcH0gZnJvbSAndHlwZS1mZXN0JztcbiAqXG4gKiBpbnRlcmZhY2UgVXNlciB7XG4gKiBcdHVzZXJJZDogbnVtYmVyO1xuICogXHR1c2VyTmFtZTogc3RyaW5nO1xuICogfVxuICpcbiAqIGludGVyZmFjZSBVc2VyV2l0aEZyaWVuZHMge1xuICogXHR1c2VySW5mbzogVXNlcjtcbiAqIFx0dXNlckZyaWVuZHM6IFVzZXJbXTtcbiAqIH1cbiAqXG4gKiBjb25zdCByZXN1bHQ6IFNuYWtlQ2FzZWRQcm9wZXJ0aWVzRGVlcDxVc2VyV2l0aEZyaWVuZHM+ID0ge1xuICogXHR1c2VyX2luZm86IHtcbiAqIFx0XHR1c2VyX2lkOiAxLFxuICogXHRcdHVzZXJfbmFtZTogJ1RvbScsXG4gKiBcdH0sXG4gKiBcdHVzZXJfZnJpZW5kczogW1xuICogXHRcdHtcbiAqIFx0XHRcdHVzZXJfaWQ6IDIsXG4gKiBcdFx0XHR1c2VyX25hbWU6ICdKZXJyeScsXG4gKiBcdFx0fSxcbiAqIFx0XHR7XG4gKiBcdFx0XHR1c2VyX2lkOiAzLFxuICogXHRcdFx0dXNlcl9uYW1lOiAnU3Bpa2UnLFxuICogXHRcdH0sXG4gKiBcdF0sXG4gKiB9O1xuICogYGBgXG4gKlxuICogQGNhdGVnb3J5IENoYW5nZSBjYXNlXG4gKiBAY2F0ZWdvcnkgVGVtcGxhdGUgbGl0ZXJhbFxuICogQGNhdGVnb3J5IE9iamVjdFxuICovXG5leHBvcnQgdHlwZSBTbmFrZUNhc2VkUHJvcGVydGllc0RlZXA8VmFsdWU+ID0gRGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzRGVlcDxWYWx1ZSwgJ18nPjtcbiIsIi8qKlxuICogR2VuZXJpYyB1dGlsaXR5IHRvIHRyYW5zZm9ybSBzbmFrZV9jYXNlIG9iamVjdCBrZXlzIHRvIGNhbWVsQ2FzZSBhdCBydW50aW1lLlxuICogVGhpcyBpcyB0aGUgcnVudGltZSBlcXVpdmFsZW50IG9mIHRoZSBDYW1lbENhc2VkUHJvcGVydGllc0RlZXAgdHlwZSB1dGlsaXR5LlxuICovXG4vKipcbiAqIFJlY3Vyc2l2ZWx5IHRyYW5zZm9ybXMgYWxsIG9iamVjdCBrZXlzIGZyb20gc25ha2VfY2FzZSB0byBjYW1lbENhc2VcbiAqL1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdHJhbnNmb3JtU25ha2VUb0NhbWVsOiAob2JqOiB1bmtub3duKSA9PiB1bmtub3duO1xuLyoqXG4gKiBSZWN1cnNpdmVseSB0cmFuc2Zvcm1zIGFsbCBvYmplY3Qga2V5cyBmcm9tIGNhbWVsQ2FzZSB0byBzbmFrZV9jYXNlXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHRyYW5zZm9ybUNhbWVsVG9TbmFrZTogKG9iajogdW5rbm93bikgPT4gdW5rbm93bjtcbiIsImltcG9ydCB7IEZ1bGZpbGxtZW50RGlzcGxheVN0YXR1cyB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG4vKipcbiAqIENvbnZlcnRzIGEgc3RyaW5nIHRvIGEgRnVsZmlsbG1lbnREaXNwbGF5U3RhdHVzIGVudW0gdmFsdWUuXG4gKlxuICogQHBhcmFtIHN0YXR1cyAtIFRoZSBzdHJpbmcgdG8gY29udmVydC5cbiAqXG4gKiBAcmV0dXJucyBUaGUgRnVsZmlsbG1lbnREaXNwbGF5U3RhdHVzIGVudW0gdmFsdWUgb3IgdW5kZWZpbmVkIGlmIHRoZSBzdHJpbmdcbiAqIGRvZXMgbm90IG1hcCB0byBhIHZhbGlkIGVudW1cbiAqL1xuZXhwb3J0IGRlY2xhcmUgY29uc3Qgc3RyaW5nVG9GdWxmaWxsbWVudERpc3BsYXlTdGF0dXNFbnVtVmFsdWU6IChzdGF0dXM6IHN0cmluZykgPT4gRnVsZmlsbG1lbnREaXNwbGF5U3RhdHVzIHwgdW5kZWZpbmVkO1xuIiwiaW1wb3J0IHsgQ29sb3JNYXBwaW5nIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHMvY29sb3JzQ29uZmlnXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCB2YWxpZGF0ZUdyYXBoUUxDb2xvcnNDb25maWc6IChkYXRhOiB1bmtub3duKSA9PiBDb2xvck1hcHBpbmcgfCB1bmRlZmluZWQ7XG4iLCJpbXBvcnQgeyBGcm9udGVuZENvbmZpZyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZnJvbnRlbmRDb25maWcnO1xuaW1wb3J0IHsgV2lkZ2V0Q29uZmlnLCBQYWdlVmFyaWFudENvbmZpZywgV2lkZ2V0TW91bnRpbmdDb25maWcgfSBmcm9tICdzcmMvY29udGV4dHMvdHlwZXMnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdmFsaWRhdGVBbmRUcmFuc2Zvcm1QYWdlVmFyaWFudHM6IChjb25maWc6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiBQYWdlVmFyaWFudENvbmZpZztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHZhbGlkYXRlQW5kVHJhbnNmb3JtTW91bnRpbmdDb25maWc6IChjb25maWc6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBjb25maWdLZXk6IHN0cmluZykgPT4gV2lkZ2V0TW91bnRpbmdDb25maWc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCB2YWxpZGF0ZUFuZFRyYW5zZm9ybVdpZGdldENvbmZpZzogKGNvbmZpZzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIGNvbmZpZ0tleTogc3RyaW5nKSA9PiBXaWRnZXRDb25maWc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCB2YWxpZGF0ZUdyYXBoUUxGcm9udGVuZENvbmZpZzogKGRhdGE6IHVua25vd24pID0+IEZyb250ZW5kQ29uZmlnIHwgdW5kZWZpbmVkO1xuIiwiZXhwb3J0IGRlY2xhcmUgY29uc3QgdmFsaWRhdGVHcmFwaFFMT3JnSWQ6IChkYXRhOiB1bmtub3duKSA9PiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4iLCJpbXBvcnQgeyBNb2JpbGVQTFBDaGF0UGxhY2VtZW50UGFyYW1ldGVyIH0gZnJvbSAnLi4vbW9iaWxlUExQQ2hhdFBsYWNlbWVudFBhcmFtZXRlcic7XG5leHBvcnQgZGVjbGFyZSBjb25zdCB2YWxpZGF0ZU1vYmlsZVBMUENoYXRQbGFjZW1lbnRQYXJhbWV0ZXI6ICh2YWx1ZTogdW5rbm93bikgPT4gTW9iaWxlUExQQ2hhdFBsYWNlbWVudFBhcmFtZXRlciB8IHVuZGVmaW5lZDtcbiIsImltcG9ydCB7IE9yZ2FuaXphdGlvbkNvbmZpZyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL29yZ2FuaXphdGlvbkNvbmZpZyc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCB2YWxpZGF0ZU9yZ2FuaXphdGlvbkNvbmZpZzogKGRhdGE6IHVua25vd24pID0+IE9yZ2FuaXphdGlvbkNvbmZpZyB8IHVuZGVmaW5lZDtcbiIsImltcG9ydCB7IE9yZ0NvbmZpZyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL29yZ0NvbmZpZ1Jlc3VsdHMnO1xuLyoqXG4gKlxuICogQHBhcmFtIGRhdGFcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHZhbGlkYXRlT3JnQ29uZmlnUmVzdWx0czogKGRhdGE6IHVua25vd24pID0+IE9yZ0NvbmZpZyB8IHVuZGVmaW5lZDtcbiIsImltcG9ydCB7IFJlc3BvbnNlIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9pbmRleCc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCB2YWxpZGF0ZVJlc3BvbnNlOiAoZGF0YTogdW5rbm93bikgPT4gUmVzcG9uc2UgfCB1bmRlZmluZWQ7XG4iLCJpbXBvcnQgeyBTdWdnZXN0aW9uIH0gZnJvbSAnLi4vYXBpL3N1Z2dlc3Rpb24nO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdmFsaWRhdGVTdWdnZXN0aW9uOiAoZGF0YTogdW5rbm93bikgPT4gU3VnZ2VzdGlvbiB8IHVuZGVmaW5lZDtcbiIsImltcG9ydCB7IFVzZXJFdmVudCB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvaW5kZXgnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdmFsaWRhdGVVc2VyRXZlbnQ6IChkYXRhOiB1bmtub3duKSA9PiBVc2VyRXZlbnQgfCB1bmRlZmluZWQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBSSxjQUFjLENBQUMsSUFBRzs7OztBQ0F0QixJQUFJLGdCQUFnQixDQUFDLElBQUc7Ozs7QUNBeEIsSUFBVywwQkFBMEIsQ0FBQyxJQUFBOzs7O0FDQXRDLElBQUUscUJBQUE7Q0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNGLElBQUksa0JBQWtCLENBQUMsSUFBSTtBQUMzQixJQUFFLG1CQUFBLENB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
673
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtRFhUV1pMRW0uZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9jYWNoZWRWYWx1ZS5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9jbGllbnREZXRhaWxzLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2NvbnZlcnNhdGlvbmFsU2VhcmNoSWRzLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2RhdGFMYXllci5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ldmVudHMuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ29vZ2xlQW5hbHl0aWNzRXZlbnRzLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL21lc3NhZ2UuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvbW9iaWxlUExQQ2hhdFBsYWNlbWVudFBhcmFtZXRlci5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9vcmdzRW51bS5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9wcm9kdWN0RXhwZXJpbWVudC5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9zcGFueFRha2VBUXVpekN0YVBhcmFtZXRlci5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvY29udGV4dC5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvZ2VuZXJhdGlvblBhcmFtcy5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvdXNlckV2ZW50LmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9uZXh0TWVzc2FnZVJlcXVlc3QuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL3N1Z2dlc3Rpb24uZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL3N1cHBvcnRlZEV2ZW50UmVxdWVzdC5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvaXNCYXNlRWNvbW1lcmNlRXZlbnQuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2lzR0E0RWNvbW1lcmNlRXZlbnQuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2lzTGVnYWN5VUFFY29tbWVyY2VFdmVudC5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvaXNNb2JpbGVQTFBDaGF0UGxhY2VtZW50UGFyYW1ldGVyLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9pc1NwYW54VGFrZUFRdWl6Q3RhUGFyYW1ldGVyLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9pc1ZhcmlhbnRJbmZvLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9hcGkvaXNBcGlGb3JtUmVzcG9uc2UuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2FwaS9pc0FwaUZvcm1TdWJtaXR0ZWRSZXNwb25zZUF0dHJpYnV0ZXMuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2FwaS9pc0FwaU9yZGVyUmVzcG9uc2VBdHRyaWJ1dGVzLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9hcGkvaXNBcGlPcmdhbml6YXRpb25Db25maWcuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2FwaS9pc0FwaU9yZ0NvbmZpZ1Jlc3VsdHMuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2FwaS9pc0FwaVBhZ2VSZXNwb25zZUF0dHJpYnV0ZXMuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2FwaS9pc0FwaVBMUEV2ZW50QXR0cmlidXRlcy5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvYXBpL2lzQXBpUHJvZHVjdFNlYXJjaEZpbHRlckF0dHJpYnV0ZXMuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2dyYXBoUUwvaXNHcmFwaFFMQ29sb3JzQ29uZmlnLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3V0aWxpdHlUeXBlcy9kZWxpbWl0ZXJDYXNlLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3V0aWxpdHlUeXBlcy9kZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3V0aWxpdHlUeXBlcy9zbmFrZUNhc2VkUHJvcGVydGllc0RlZXAuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdXRpbHMvc25ha2VUb0NhbWVsVHJhbnNmb3JtZXIuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdXRpbHMvc3RyaW5nVG9GdWxmaWxsbWVudERpc3BsYXlTdGF0dXNFbnVtVmFsdWUuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdmFsaWRhdG9ycy92YWxpZGF0ZUdyYXBoUUxDb2xvcnNDb25maWcuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdmFsaWRhdG9ycy92YWxpZGF0ZUdyYXBoUUxGcm9udGVuZENvbmZpZy5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy92YWxpZGF0b3JzL3ZhbGlkYXRlR3JhcGhRTE9yZ0lkLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3ZhbGlkYXRvcnMvdmFsaWRhdGVNb2JpbGVQTFBDaGF0UGxhY2VtZW50UGFyYW1ldGVyLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3ZhbGlkYXRvcnMvdmFsaWRhdGVPcmdhbml6YXRpb25Db25maWcuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdmFsaWRhdG9ycy92YWxpZGF0ZU9yZ0NvbmZpZ1Jlc3VsdHMuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdmFsaWRhdG9ycy92YWxpZGF0ZVJlc3BvbnNlLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3ZhbGlkYXRvcnMvdmFsaWRhdGVTdWdnZXN0aW9uLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3ZhbGlkYXRvcnMvdmFsaWRhdGVVc2VyRXZlbnQuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbnRlcmZhY2UgQ2FjaGVkVmFsdWUge1xuICAgIHZhbHVlOiB1bmtub3duO1xuICAgIGV4cGlyeTogbnVtYmVyO1xufVxuZXhwb3J0IHR5cGUgeyBDYWNoZWRWYWx1ZSB9O1xuIiwiaW50ZXJmYWNlIENsaWVudERldGFpbHMge1xuICAgIG9zPzogc3RyaW5nO1xuICAgIG9zVmVyc2lvbj86IHN0cmluZztcbiAgICBkZXZpY2VCcmFuZD86IHN0cmluZztcbiAgICBkZXZpY2VNYW51ZmFjdHVyZXI/OiBzdHJpbmc7XG4gICAgZGV2aWNlTW9kZWw/OiBzdHJpbmc7XG4gICAgY2Fycmllcj86IHN0cmluZztcbiAgICBjb3VudHJ5Pzogc3RyaW5nO1xuICAgIHJlZ2lvbj86IHN0cmluZztcbiAgICBicm93c2VyPzogc3RyaW5nO1xuICAgIGJyb3dzZXJWZXJzaW9uPzogc3RyaW5nO1xuICAgIGJyb3dzZXJJcEFkZHJlc3M/OiBzdHJpbmc7XG4gICAgdXNlckFnZW50Pzogc3RyaW5nO1xufVxuZXhwb3J0IHR5cGUgeyBDbGllbnREZXRhaWxzLCB9O1xuIiwiZXhwb3J0IHR5cGUgQ29udmVyc2F0aW9uYWxTZWFyY2hJZHMgPSB7XG4gICAgY29udmVyc2F0aW9uYWxTZWFyY2hFbnRyeXBvaW50SWQ/OiBzdHJpbmc7XG4gICAgY29udmVyc2F0aW9uYWxTZWFyY2hJbnB1dElkPzogc3RyaW5nO1xuICAgIGNvbnZlcnNhdGlvbmFsU2VhcmNoTW9kYWxJZD86IHN0cmluZztcbn07XG4iLCIvKipcbiAqIEJhc2UgaW50ZXJmYWNlIGZvciBjb21tb24gcHJvcGVydGllcyBhY3Jvc3MgYWxsIGVjb21tZXJjZSBldmVudHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXNlRWNvbW1lcmNlRXZlbnQge1xuICAgIGV2ZW50OiBzdHJpbmc7XG4gICAgZWNvbW1lcmNlOiBVQUVjb21tZXJjZURhdGEgfCBHQTRFY29tbWVyY2VEYXRhO1xufVxuLyoqXG4gKiBMZWdhY3kgdW5pdmVyc2FsIGFuYWx5dGljcyBkYXRhLiBUaGUgYWN0dWFsIHBheWxvYWQgY29udGFpbnMgbW9yZSBmaWVsZHMsIGJ1dCB3ZVxuICogb25seSBuZWVkIHRoZSBvbmVzIGxpc3RlZCBiZWxvdy5cbiAqL1xuaW50ZXJmYWNlIFVBRWNvbW1lcmNlRGF0YSB7XG4gICAgYWRkOiB7XG4gICAgICAgIHByb2R1Y3RzOiB7XG4gICAgICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgICAgICBjYXRlZ29yeTogc3RyaW5nO1xuICAgICAgICAgICAgcHJpY2U6IHN0cmluZztcbiAgICAgICAgICAgIHF1YW50aXR5OiBzdHJpbmc7XG4gICAgICAgIH1bXTtcbiAgICAgICAgY3VycmVuY3lDb2RlOiBzdHJpbmc7XG4gICAgfTtcbn1cbi8qKlxuICogR29vZ2xlIEFuYWx5dGljcyA0IGRhdGEuIFRoZSBhY3R1YWwgcGF5bG9hZCBjb250YWlucyBtb3JlIGZpZWxkcywgYnV0IHdlXG4gKiBvbmx5IG5lZWQgdGhlIG9uZXMgbGlzdGVkIGJlbG93LlxuICovXG5pbnRlcmZhY2UgR0E0RWNvbW1lcmNlRGF0YSB7XG4gICAgY3VycmVuY3k6IHN0cmluZztcbiAgICBpdGVtczoge1xuICAgICAgICBpdGVtX25hbWU6IHN0cmluZztcbiAgICAgICAgaXRlbV9jYXRlZ29yeTogc3RyaW5nO1xuICAgICAgICBwcmljZTogbnVtYmVyO1xuICAgICAgICBxdWFudGl0eTogbnVtYmVyO1xuICAgIH1bXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVUFFY29tbWVyY2VFdmVudCBleHRlbmRzIEJhc2VFY29tbWVyY2VFdmVudCB7XG4gICAgZWNvbW1lcmNlOiBVQUVjb21tZXJjZURhdGE7XG59XG5leHBvcnQgaW50ZXJmYWNlIEdBNEVjb21tZXJjZUV2ZW50IGV4dGVuZHMgQmFzZUVjb21tZXJjZUV2ZW50IHtcbiAgICBlY29tbWVyY2U6IEdBNEVjb21tZXJjZURhdGE7XG59XG5leHBvcnQge307XG4iLCJleHBvcnQgZGVjbGFyZSBlbnVtIFNwaWZmeUV2ZW50TmFtZSB7XG4gICAgV2lkZ2V0T3BlbiA9IFwic3BpZmZ5OndpZGdldG9wZW5cIixcbiAgICBXaWRnZXRDbG9zZSA9IFwic3BpZmZ5OndpZGdldGNsb3NlXCJcbn1cbiIsImRlY2xhcmUgZW51bSBHb29nbGVBbmFseXRpY3NFdmVudHMge1xuICAgIEFERF9UT19DQVJUX3YxID0gXCJhZGRfdG9fY2FydFwiLFxuICAgIEFERF9UT19DQVJUX3YyID0gXCJhZGRUb0NhcnRcIlxufVxuZXhwb3J0IHsgR29vZ2xlQW5hbHl0aWNzRXZlbnRzIH07XG4iLCJpbXBvcnQgeyBDdXN0U2VydmljZUF0dGFjaG1lbnQsIEZvcm1UeXBlIH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IE9yZGVyUmVzcG9uc2VBdHRyaWJ1dGVzLCBQcm9kdWN0UmVzcG9uc2VBdHRyaWJ1dGVzLCBSZXZpZXdSZXNwb25zZUF0dHJpYnV0ZXMsIFBhZ2VSZXNwb25zZUF0dHJpYnV0ZXMsIFRleHRSZXNwb25zZUF0dHJpYnV0ZXMsIFNlYXJjaFJlc3BvbnNlQXR0cmlidXRlcywgU2VhcmNoUHJvZHVjdFJlc3BvbnNlQXR0cmlidXRlcywgQWNjZXB0YWJsZUZvcm1GaWVsZFR5cGUsIFNlYXJjaFByb2R1Y3RGaWx0ZXJBdHRyaWJ1dGVzIH0gZnJvbSAnLi9hcGkvcmVzcG9uc2UnO1xuZXhwb3J0IGRlY2xhcmUgZW51bSBNZXNzYWdlUm9sZSB7XG4gICAgVXNlciA9IFwidXNlclwiLFxuICAgIEFzc2lzdGFudCA9IFwiYXNzaXN0YW50XCJcbn1cbmV4cG9ydCBkZWNsYXJlIGVudW0gTWVzc2FnZVR5cGUge1xuICAgIFRleHQgPSBcInRleHRcIixcbiAgICBTdWdnZXN0aW9uQ2xpY2tlZCA9IFwic3VnZ2VzdGlvbl9jbGlja2VkXCIsXG4gICAgUHJvZHVjdCA9IFwicHJvZHVjdFwiLFxuICAgIFByb2R1Y3RTZWFyY2ggPSBcInByb2R1Y3Rfc2VhcmNoXCIsXG4gICAgUmV2aWV3ID0gXCJyZXZpZXdcIixcbiAgICBRdWVyeVR5cGVkID0gXCJxdWVyeV90eXBlZFwiLFxuICAgIFNlcGFyYXRvciA9IFwic2VwYXJhdG9yXCIsXG4gICAgUGFnZSA9IFwicGFnZVwiLFxuICAgIFNlYXJjaCA9IFwic2VhcmNoXCIsXG4gICAgQXR0YWNobWVudCA9IFwiYXR0YWNobWVudFwiLFxuICAgIENYQWdlbnRSZXNwb25zZSA9IFwiY3hfYWdlbnRfcmVzcG9uc2VcIixcbiAgICBGb3JtID0gXCJmb3JtXCIsXG4gICAgT3JkZXIgPSBcIm9yZGVyXCIsXG4gICAgUHJvZHVjdFNlYXJjaEZpbHRlciA9IFwicHJvZHVjdF9zZWFyY2hfZmlsdGVyXCJcbn1cbmV4cG9ydCB0eXBlIE1lc3NhZ2UgPSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICByb2xlOiBNZXNzYWdlUm9sZTtcbiAgICBjcmVhdGVkQXQ6IHN0cmluZztcbn0gJiAoVGV4dE1lc3NhZ2VNZXRhZGF0YSB8IFF1ZXJ5VHlwZWRNZXRhZGF0YSB8IFN1Z2dlc3Rpb25NZXNzYWdlTWV0YWRhdGEgfCBQcm9kdWN0TWVzc2FnZU1ldGFkYXRhIHwgUHJvZHVjdFNlYXJjaE1lc3NhZ2VNZXRhZGF0YSB8IFJldmlld01lc3NhZ2VNZXRhZGF0YSB8IFNlcGFyYXRvck1lc3NhZ2VNZXRhZGF0YSB8IFBhZ2VNZXNzYWdlTWV0YWRhdGEgfCBTZWFyY2hNZXNzYWdlTWV0YWRhdGEgfCBBdHRhY2htZW50TWV0YWRhdGEgfCBDWEFnZW50UmVzcG9uc2VNZXRhZGF0YSB8IEZvcm1NZXNzYWdlTWV0YWRhdGEgfCBPcmRlck1lc3NhZ2VNZXRhZGF0YSB8IFByb2R1Y3RTZWFyY2hGaWx0ZXJNZXRhZGF0YSk7XG50eXBlIEF0dGFjaG1lbnRNZXRhZGF0YSA9IHtcbiAgICB0eXBlOiBNZXNzYWdlVHlwZS5BdHRhY2htZW50O1xuICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIG1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgICAgIGF0dGFjaG1lbnQ6IEN1c3RTZXJ2aWNlQXR0YWNobWVudFtdO1xuICAgIH07XG59O1xudHlwZSBDWEFnZW50UmVzcG9uc2VNZXRhZGF0YSA9IHtcbiAgICB0eXBlOiBNZXNzYWdlVHlwZS5DWEFnZW50UmVzcG9uc2U7XG4gICAgbWV0YWRhdGE6IHtcbiAgICAgICAgbWVzc2FnZTogc3RyaW5nO1xuICAgICAgICBhZ2VudE5hbWU6IHN0cmluZztcbiAgICB9O1xufTtcbnR5cGUgVGV4dE1lc3NhZ2VNZXRhZGF0YSA9IHtcbiAgICB0eXBlOiBNZXNzYWdlVHlwZS5UZXh0O1xuICAgIG1ldGFkYXRhOiBUZXh0UmVzcG9uc2VBdHRyaWJ1dGVzWydhdHRyaWJ1dGVzJ107XG59O1xudHlwZSBRdWVyeVR5cGVkTWV0YWRhdGEgPSB7XG4gICAgdHlwZTogTWVzc2FnZVR5cGUuUXVlcnlUeXBlZDtcbiAgICBtZXRhZGF0YTogVGV4dFJlc3BvbnNlQXR0cmlidXRlc1snYXR0cmlidXRlcyddO1xufTtcbnR5cGUgU3VnZ2VzdGlvbk1lc3NhZ2VNZXRhZGF0YSA9IHtcbiAgICB0eXBlOiBNZXNzYWdlVHlwZS5TdWdnZXN0aW9uQ2xpY2tlZDtcbiAgICBtZXRhZGF0YToge1xuICAgICAgICBzdWdnZXN0aW9uSWQ6IHN0cmluZztcbiAgICAgICAgc3VnZ2VzdGlvbkNvbnRlbnQ6IHN0cmluZztcbiAgICB9O1xufTtcbmV4cG9ydCB0eXBlIFByb2R1Y3RNZXNzYWdlTWV0YWRhdGEgPSB7XG4gICAgdHlwZTogTWVzc2FnZVR5cGUuUHJvZHVjdDtcbiAgICBtZXRhZGF0YTogUHJvZHVjdFJlc3BvbnNlQXR0cmlidXRlc1snYXR0cmlidXRlcyddO1xufTtcbmV4cG9ydCB0eXBlIFByb2R1Y3RTZWFyY2hNZXNzYWdlTWV0YWRhdGEgPSB7XG4gICAgdHlwZTogTWVzc2FnZVR5cGUuUHJvZHVjdFNlYXJjaDtcbiAgICBtZXRhZGF0YTogU2VhcmNoUHJvZHVjdFJlc3BvbnNlQXR0cmlidXRlc1snYXR0cmlidXRlcyddO1xufTtcbnR5cGUgUmV2aWV3TWVzc2FnZU1ldGFkYXRhID0ge1xuICAgIHR5cGU6IE1lc3NhZ2VUeXBlLlJldmlldztcbiAgICBtZXRhZGF0YTogUmV2aWV3UmVzcG9uc2VBdHRyaWJ1dGVzWydhdHRyaWJ1dGVzJ107XG59O1xudHlwZSBTZXBhcmF0b3JNZXNzYWdlTWV0YWRhdGEgPSB7XG4gICAgdHlwZTogTWVzc2FnZVR5cGUuU2VwYXJhdG9yO1xufTtcbnR5cGUgUGFnZU1lc3NhZ2VNZXRhZGF0YSA9IHtcbiAgICB0eXBlOiBNZXNzYWdlVHlwZS5QYWdlO1xuICAgIG1ldGFkYXRhOiBQYWdlUmVzcG9uc2VBdHRyaWJ1dGVzWydhdHRyaWJ1dGVzJ107XG59O1xudHlwZSBTZWFyY2hNZXNzYWdlTWV0YWRhdGEgPSB7XG4gICAgdHlwZTogTWVzc2FnZVR5cGUuU2VhcmNoO1xuICAgIG1ldGFkYXRhOiBTZWFyY2hSZXNwb25zZUF0dHJpYnV0ZXNbJ2F0dHJpYnV0ZXMnXTtcbn07XG50eXBlIFByb2R1Y3RTZWFyY2hGaWx0ZXJNZXRhZGF0YSA9IHtcbiAgICB0eXBlOiBNZXNzYWdlVHlwZS5Qcm9kdWN0U2VhcmNoRmlsdGVyO1xuICAgIG1ldGFkYXRhOiBTZWFyY2hQcm9kdWN0RmlsdGVyQXR0cmlidXRlc1snYXR0cmlidXRlcyddO1xufTtcbmV4cG9ydCB0eXBlIEZvcm1GaWVsZCA9IHtcbiAgICBrZXk6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHR5cGU6IEFjY2VwdGFibGVGb3JtRmllbGRUeXBlO1xuICAgIHJlcXVpcmVkOiBib29sZWFuO1xuICAgIGZvcm1hdD86ICdlbWFpbCc7XG4gICAgdmFsdWU/OiBzdHJpbmc7XG59O1xudHlwZSBGb3JtTWVzc2FnZU1ldGFkYXRhID0ge1xuICAgIHR5cGU6IE1lc3NhZ2VUeXBlLkZvcm07XG4gICAgbWV0YWRhdGE6IHtcbiAgICAgICAgZm9ybVR5cGU/OiBGb3JtVHlwZTtcbiAgICAgICAgZmllbGRzOiBGb3JtRmllbGRbXTtcbiAgICB9O1xufTtcbnR5cGUgT3JkZXJNZXNzYWdlTWV0YWRhdGEgPSB7XG4gICAgdHlwZTogTWVzc2FnZVR5cGUuT3JkZXI7XG4gICAgbWV0YWRhdGE6IE9yZGVyUmVzcG9uc2VBdHRyaWJ1dGVzWydhdHRyaWJ1dGVzJ107XG59O1xuZXhwb3J0IHt9O1xuIiwiZXhwb3J0IGludGVyZmFjZSBNb2JpbGVQTFBDaGF0UGxhY2VtZW50UGFyYW1ldGVyIHtcbiAgICByb3dJbmRleDogbnVtYmVyO1xufVxuIiwiZXhwb3J0IGRlY2xhcmUgY29uc3QgT3JnU2hvcnROYW1lOiB7XG4gICAgcmVhZG9ubHkgQ290ZXJpZTogXCJjb3RlcmllXCI7XG4gICAgcmVhZG9ubHkgRm9yTG92ZUFuZExlbW9uczogXCJmb3ItbG92ZS1hbmQtbGVtb25zXCI7XG4gICAgcmVhZG9ubHkgR3JlZW5wYW46IFwiZ3JlZW5wYW5cIjtcbiAgICByZWFkb25seSBKb3JkYW5DcmFpZzogXCJqb3JkYW4tY3JhaWdcIjtcbiAgICByZWFkb25seSBMYXJyeUFuZFNlcmdlczogXCJsYXJyeV9hbmRfc2VyZ2VzXCI7XG4gICAgcmVhZG9ubHkgTGVhcHNBbmRSZWJvdW5kczogXCJsZWFwcy1hbmQtcmVib3VuZHNcIjtcbiAgICByZWFkb25seSBNYW50cmFCcmFuZDogXCJtYW50cmEtYnJhbmRcIjtcbiAgICByZWFkb25seSBTcGFueDogXCJzcGFueFwiO1xuICAgIHJlYWRvbmx5IFNwYW54U3RhZ2luZzogXCJzdGFnaW5nLXNwYW54XCI7XG4gICAgcmVhZG9ubHkgU3VwZXJnb29wOiBcInN1cGVyZ29vcFwiO1xuICAgIHJlYWRvbmx5IFVuaXF1ZVZpbnRhZ2U6IFwidW5pcXVlLXZpbnRhZ2VcIjtcbiAgICByZWFkb25seSBKYWNrQXJjaGVyOiBcImphY2stYXJjaGVyXCI7XG4gICAgcmVhZG9ubHkgU2tpblBlcmZlY3Rpb246IFwic2tpbi1wZXJmZWN0aW9uXCI7XG4gICAgcmVhZG9ubHkgTG9va09wdGljOiBcImxvb2stb3B0aWNcIjtcbiAgICByZWFkb25seSBGaXZlQ2JkOiBcImZpdmUtY2JkXCI7XG4gICAgcmVhZG9ubHkgU25hcFN1cHBsZW1lbnRzOiBcInNuYXAtc3VwcGxlbWVudHNcIjtcbiAgICByZWFkb25seSBMb25nZXZpdHlyeDogXCJsb25nZXZpdHlyeFwiO1xuICAgIHJlYWRvbmx5IFZlbmFDYmQ6IFwidmVuYS1jYmRcIjtcbiAgICByZWFkb25seSBNZWR0ZXJyYTogXCJtZWR0ZXJyYVwiO1xuICAgIHJlYWRvbmx5IE1vZGVsbHM6IFwibW9kZWxsc1wiO1xuICAgIHJlYWRvbmx5IFByZXNzZWRGbG9yYWw6IFwicHJlc3NlZC1mbG9yYWxcIjtcbiAgICByZWFkb25seSBLaW5kcmVkQnJhdmVseTogXCJraW5kcmVkLWJyYXZlbHlcIjtcbiAgICByZWFkb25seSBXaW5lRW50aHVzaWFzdDogXCJ3aW5lLWVudGh1c2lhc3RcIjtcbiAgICByZWFkb25seSBIb21lZ3Jvd25DYW5uYWJpczogXCJob21lZ3Jvd24tY2FubmFiaXNcIjtcbiAgICByZWFkb25seSBEcmVhbWxhbmRCYWJ5OiBcImRyZWFtbGFuZC1iYWJ5XCI7XG4gICAgcmVhZG9ubHkgQmFuZG9saWVyOiBcImJhbmRvbGllclwiO1xuICAgIHJlYWRvbmx5IFdlc3RvbkpvbkJvdWNoZXI6IFwid2VzdG9uLWpvbi1ib3VjaGVyXCI7XG4gICAgcmVhZG9ubHkgS3V0RnJvbVRoZUtsb3RoOiBcImt1dC1mcm9tLXRoZS1rbG90aFwiO1xuICAgIHJlYWRvbmx5IEdyb292ZUxpZmU6IFwiZ3Jvb3ZlLWxpZmVcIjtcbiAgICByZWFkb25seSBDYXJwZTogXCJjYXJwZVwiO1xuICAgIHJlYWRvbmx5IFdvbGZUYWN0aWNhbDogXCJ3b2xmLXRhY3RpY2FsXCI7XG4gICAgcmVhZG9ubHkgV29sZk1hdHRyZXNzOiBcIndvbGZtYXR0cmVzc1wiO1xuICAgIHJlYWRvbmx5IERlZmF1bHQ6IFwiZGVmYXVsdFwiO1xufTtcbiIsImV4cG9ydCBkZWNsYXJlIGVudW0gUHJvZHVjdEV4cGVyaW1lbnQge1xuICAgIERlZmF1bHQgPSBcImRlZmF1bHRcIlxufVxuIiwiZXhwb3J0IGludGVyZmFjZSBTcGFueFRha2VBUXVpekN0YVBhcmFtZXRlciB7XG4gICAgdGV4dD86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZztcbn1cbiIsImltcG9ydCB7IENvbnRleHQgYXMgQXBpQ29udGV4dCB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBDYW1lbENhc2VkUHJvcGVydGllc0RlZXAgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL3V0aWxpdHlUeXBlcyc7XG5leHBvcnQgaW50ZXJmYWNlIENvbnRleHQgZXh0ZW5kcyBDYW1lbENhc2VkUHJvcGVydGllc0RlZXA8QXBpQ29udGV4dD4ge1xufVxuIiwiaW1wb3J0IHsgR2VuZXJhdGlvblBhcmFtcyBhcyBBcGlHZW5lcmF0aW9uUGFyYW1zIH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcCB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdXRpbGl0eVR5cGVzJztcbmV4cG9ydCBpbnRlcmZhY2UgR2VuZXJhdGlvblBhcmFtcyBleHRlbmRzIENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxBcGlHZW5lcmF0aW9uUGFyYW1zPiB7XG59XG4iLCJpbXBvcnQgeyBQRFBBdHRyaWJ1dGVzIGFzIEFwaVBEUEF0dHJpYnV0ZXMsIFBMUEF0dHJpYnV0ZXMgYXMgQXBpUExQQXR0cmlidXRlcywgUXVlcnlUeXBlZEF0dHJpYnV0ZXMgYXMgQXBpUXVlcnlUeXBlZEF0dHJpYnV0ZXMsIFNlYXJjaEF0dHJpYnV0ZXMgYXMgQXBpU2VhcmNoQXR0cmlidXRlcywgU3VnZ2VzdGlvbkNsaWNrZWRBdHRyaWJ1dGVzIGFzIEFwaVN1Z2dlc3Rpb25DbGlja2VkQXR0cmlidXRlcywgVXNlckV2ZW50IGFzIEFwaVVzZXJFdmVudCwgRm9ybVR5cGUsIFBhZ2VWaXNpdENhdGVnb3J5LCBVc2VyRXZlbnRDYXRlZ29yeSB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBDYW1lbENhc2VkUHJvcGVydGllc0RlZXAgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL3V0aWxpdHlUeXBlcyc7XG5leHBvcnQgaW50ZXJmYWNlIFBEUEF0dHJpYnV0ZXMgZXh0ZW5kcyBDYW1lbENhc2VkUHJvcGVydGllc0RlZXA8QXBpUERQQXR0cmlidXRlcz4ge1xufVxuZXhwb3J0IGludGVyZmFjZSBQTFBBdHRyaWJ1dGVzIGV4dGVuZHMgQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPEFwaVBMUEF0dHJpYnV0ZXM+IHtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoQXR0cmlidXRlcyBleHRlbmRzIENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxBcGlTZWFyY2hBdHRyaWJ1dGVzPiB7XG59XG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5VHlwZWRBdHRyaWJ1dGVzIGV4dGVuZHMgQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPEFwaVF1ZXJ5VHlwZWRBdHRyaWJ1dGVzPiB7XG59XG5leHBvcnQgaW50ZXJmYWNlIEZvcm1TdWJtaXR0ZWRBdHRyaWJ1dGVzIHtcbiAgICBmaWxsZWRTY2hlbWE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgIGZvcm1SZXNwb25zZUlkOiBzdHJpbmc7XG4gICAgZm9ybVR5cGU6IEZvcm1UeXBlO1xufVxuZXhwb3J0IGludGVyZmFjZSBQYWdlVmlzaXRBdHRyaWJ1dGVzIHtcbiAgICB1cmw6IHN0cmluZztcbiAgICBwYWdlVmlzaXRDYXRlZ29yeTogUGFnZVZpc2l0Q2F0ZWdvcnk7XG59XG5leHBvcnQgaW50ZXJmYWNlIFN1Z2dlc3Rpb25DbGlja2VkQXR0cmlidXRlcyBleHRlbmRzIENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxBcGlTdWdnZXN0aW9uQ2xpY2tlZEF0dHJpYnV0ZXM+IHtcbn1cbmV4cG9ydCB0eXBlIFVzZXJFdmVudEF0dHJpYnV0ZXMgPSBQRFBBdHRyaWJ1dGVzIHwgUExQQXR0cmlidXRlcyB8IFF1ZXJ5VHlwZWRBdHRyaWJ1dGVzIHwgU2VhcmNoQXR0cmlidXRlcyB8IFN1Z2dlc3Rpb25DbGlja2VkQXR0cmlidXRlcyB8IFBhZ2VWaXNpdEF0dHJpYnV0ZXM7XG5leHBvcnQgaW50ZXJmYWNlIFBEUFVzZXJFdmVudCB7XG4gICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LlBkcFZpc2l0IHwgVXNlckV2ZW50Q2F0ZWdvcnkuQWRkVG9DYXJ0O1xuICAgIGF0dHJpYnV0ZXM6IFBEUEF0dHJpYnV0ZXM7XG59XG5leHBvcnQgaW50ZXJmYWNlIFBMUFVzZXJFdmVudCB7XG4gICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LlBscFZpc2l0O1xuICAgIGF0dHJpYnV0ZXM6IFBMUEF0dHJpYnV0ZXM7XG59XG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5VHlwZWRVc2VyRXZlbnQge1xuICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5RdWVyeVR5cGVkO1xuICAgIGF0dHJpYnV0ZXM6IFF1ZXJ5VHlwZWRBdHRyaWJ1dGVzO1xufVxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hVc2VyRXZlbnQge1xuICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5TZWFyY2g7XG4gICAgYXR0cmlidXRlczogU2VhcmNoQXR0cmlidXRlcztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU3VnZ2VzdGlvbnNDbGlja2VkVXNlckV2ZW50IHtcbiAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuU3VnZ2VzdGlvbkNsaWNrZWQ7XG4gICAgYXR0cmlidXRlczogU3VnZ2VzdGlvbkNsaWNrZWRBdHRyaWJ1dGVzO1xufVxuZXhwb3J0IGludGVyZmFjZSBBcHBMb2FkZWRVc2VyRXZlbnQge1xuICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5BcHBMb2FkZWQ7XG59XG5leHBvcnQgaW50ZXJmYWNlIEFwcFVubG9hZGVkRXZlbnQge1xuICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5BcHBVbmxvYWRlZDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUGFnZVZpc2l0RXZlbnQge1xuICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5QYWdlVmlzaXQ7XG4gICAgYXR0cmlidXRlczogUGFnZVZpc2l0QXR0cmlidXRlcztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVN1Ym1pdHRlZCB7XG4gICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LkZvcm1TdWJtaXR0ZWQ7XG4gICAgYXR0cmlidXRlczogRm9ybVN1Ym1pdHRlZEF0dHJpYnV0ZXM7XG59XG5leHBvcnQgdHlwZSBVc2VyRXZlbnQgPSBDYW1lbENhc2VkUHJvcGVydGllc0RlZXA8UGljazxBcGlVc2VyRXZlbnQsICdldmVudF9pZCcgfCAnY2F0ZWdvcnknIHwgJ2NyZWF0ZWRfYXQnPj4gJiAoU3VnZ2VzdGlvbnNDbGlja2VkVXNlckV2ZW50IHwgQXBwTG9hZGVkVXNlckV2ZW50IHwgUERQVXNlckV2ZW50IHwgUXVlcnlUeXBlZFVzZXJFdmVudCB8IFNlYXJjaFVzZXJFdmVudCB8IEFwcFVubG9hZGVkRXZlbnQgfCBQTFBVc2VyRXZlbnQgfCBQYWdlVmlzaXRFdmVudCB8IEZvcm1TdWJtaXR0ZWQpO1xuIiwiaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gJy4vY29udGV4dCc7XG5pbXBvcnQgeyBVc2VyRXZlbnQgfSBmcm9tICcuL3VzZXJFdmVudCc7XG5pbXBvcnQgeyBHZW5lcmF0aW9uUGFyYW1zIH0gZnJvbSAnLi9nZW5lcmF0aW9uUGFyYW1zJztcbmV4cG9ydCBpbnRlcmZhY2UgTmV4dE1lc3NhZ2VSZXF1ZXN0IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGNvbnRleHQ6IENvbnRleHQ7XG4gICAgdXNlckV2ZW50cz86IFVzZXJFdmVudFtdO1xuICAgIGZlYXR1cmVGbGFncz86IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+O1xuICAgIGdlbmVyYXRpb25QYXJhbXM/OiBHZW5lcmF0aW9uUGFyYW1zO1xufVxuIiwiaW1wb3J0IHsgU3VnZ2VzdGlvbiBhcyBBcGlTdWdnZXN0aW9uIH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcCB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdXRpbGl0eVR5cGVzJztcbmV4cG9ydCBpbnRlcmZhY2UgU3VnZ2VzdGlvbiBleHRlbmRzIENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxBcGlTdWdnZXN0aW9uPiB7XG59XG4iLCJpbXBvcnQgeyBVc2VyRXZlbnQgfSBmcm9tICcuL3VzZXJFdmVudCc7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSAnLi9jb250ZXh0JztcbmV4cG9ydCBpbnRlcmZhY2UgU3VwcG9ydGVkRXZlbnRSZXF1ZXN0IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGNvbnRleHQ6IENvbnRleHQ7XG4gICAgdXNlckV2ZW50OiBVc2VyRXZlbnQ7XG59XG4iLCJpbXBvcnQgdHlwZSB7IEJhc2VFY29tbWVyY2VFdmVudCB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuLyoqXG4gKiBDaGVja3MgaWYgYW4gZXZlbnQgaXMgYSBiYXNlIEdvb2dsZSBBbmFseXRpY3MgZWNvbW1lcmNlIGV2ZW50LlxuICpcbiAqIEBwYXJhbSBkYXRhIFRoZSBldmVudCB0byBjaGVjay5cbiAqXG4gKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBldmVudCBpcyBhIGJhc2UgZWNvbW1lcmNlIGV2ZW50LCBmYWxzZSBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzQmFzZUVjb21tZXJjZUV2ZW50OiAoZGF0YTogdW5rbm93bikgPT4gZGF0YSBpcyBCYXNlRWNvbW1lcmNlRXZlbnQ7XG4iLCJpbXBvcnQgdHlwZSB7IEdBNEVjb21tZXJjZUV2ZW50IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG4vKipcbiAqIENoZWNrcyBpZiBhbiBldmVudCBpcyBhIEdvb2dsZSBBbmFseXRpY3MgNCBlY29tbWVyY2UgZXZlbnQuXG4gKlxuICogQHBhcmFtIGRhdGEgVGhlIGV2ZW50IHRvIGNoZWNrLlxuICpcbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGV2ZW50IGlzIGEgR0E0IGVjb21tZXJjZSBldmVudCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICovXG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc0dBNEVjb21tZXJjZUV2ZW50OiAoZGF0YTogdW5rbm93bikgPT4gZGF0YSBpcyBHQTRFY29tbWVyY2VFdmVudDtcbiIsImltcG9ydCB0eXBlIHsgVUFFY29tbWVyY2VFdmVudCB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuLyoqXG4gKiBDaGVja3MgaWYgYW4gZXZlbnQgaXMgYSBsZWdhY3kgVW5pdmVyc2FsIEFuYWx5dGljcyBlY29tbWVyY2UgZXZlbnQuXG4gKlxuICogQHBhcmFtIGRhdGEgVGhlIGV2ZW50IHRvIGNoZWNrLlxuICpcbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGV2ZW50IGlzIGEgbGVnYWN5IFVBIGVjb21tZXJjZSBldmVudCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICovXG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc0xlZ2FjeVVBRWNvbW1lcmNlRXZlbnQ6IChkYXRhOiB1bmtub3duKSA9PiBkYXRhIGlzIFVBRWNvbW1lcmNlRXZlbnQ7XG4iLCJpbnRlcmZhY2UgTW9iaWxlUGxwQ2hhdFBsYWNlbWVudFBhcmFtZXRlciB7XG4gICAgcm93X2luZGV4OiBudW1iZXI7XG59XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc01vYmlsZVBMUENoYXRQbGFjZW1lbnRQYXJhbWV0ZXI6ICh2YWx1ZTogdW5rbm93bikgPT4gdmFsdWUgaXMgTW9iaWxlUGxwQ2hhdFBsYWNlbWVudFBhcmFtZXRlcjtcbmV4cG9ydCB7fTtcbiIsImltcG9ydCB7IFNwYW54VGFrZUFRdWl6Q3RhUGFyYW1ldGVyIH0gZnJvbSAnLi4vc3BhbnhUYWtlQVF1aXpDdGFQYXJhbWV0ZXInO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNTcGFueFRha2VBUXVpekN0YVBhcmFtZXRlcjogKHZhbHVlOiB1bmtub3duKSA9PiB2YWx1ZSBpcyBTcGFueFRha2VBUXVpekN0YVBhcmFtZXRlcjtcbiIsImltcG9ydCB7IFZhcmlhbnRJbmZvIH0gZnJvbSAnLi4vdmFyaWFudEluZm8nO1xuLyoqXG4gKiBUeXBlIGd1YXJkIHRvIGNoZWNrIGlmIGFuIG9iamVjdCBpcyBhIHZhbGlkIFZhcmlhbnRJbmZvLlxuICpcbiAqIEBwYXJhbSB2YXJpYW50SW5mbyAtIFRoZSB1bmtub3duIG9iamVjdCB0byBjaGVjay5cbiAqXG4gKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBkYXRhIGlzIGEgdmFsaWQgVmFyaWFudEluZm8gb2JqZWN0LCBmYWxzZSBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzVmFyaWFudEluZm86ICh2YXJpYW50SW5mbzogdW5rbm93bikgPT4gdmFyaWFudEluZm8gaXMgVmFyaWFudEluZm87XG4iLCJpbXBvcnQgeyBBcGlGb3JtUmVzcG9uc2VBdHRyaWJ1dGVzIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvcmVzcG9uc2VHZW5lcmljcyc7XG4vKipcbiAqIFR5cGUgZ3VhcmQgdG8gY2hlY2sgaWYgdGhlIHByb3ZpZGVkIGRhdGEgaGFzIHRoZSBhbGwgb2YgdGhlIHByb3BlcnRpZXMgKHdpdGggdGhlIGNvcnJlY3QgdHlwZXMpIG9mXG4gKiBhIEZvcm1SZXNwb25zZUF0dHJpYnV0ZVxuICpcbiAqIEBwYXJhbSBkYXRhIC0gVGhlIGRhdGEgdG8gY2hlY2tcbiAqXG4gKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBkYXRhIGhhcyB0aGUgY29ycmVjdCBwcm9wZXJ0aWVzLCBmYWxzZSBvdGhlcndpc2VcbiAqL1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNBcGlGb3JtUmVzcG9uc2VBdHRyaWJ1dGVzOiAoZGF0YTogdW5rbm93bikgPT4gZGF0YSBpcyBBcGlGb3JtUmVzcG9uc2VBdHRyaWJ1dGVzO1xuIiwiaW1wb3J0IHsgRm9ybVN1Ym1pdHRlZEF0dHJpYnV0ZXMgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNBcGlGb3JtU3VibWl0dGVkUmVzcG9uc2VBdHRyaWJ1dGVzOiAoZGF0YTogdW5rbm93bikgPT4gZGF0YSBpcyBGb3JtU3VibWl0dGVkQXR0cmlidXRlcztcbiIsImltcG9ydCB7IE9yZGVySXRlbUluZm8sIE9yZGVyUmVzcG9uc2VBdHRyaWJ1dGVzIH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmV4cG9ydCBpbnRlcmZhY2UgQXBpT3JkZXJJdGVtSW5mbyBleHRlbmRzIE9taXQ8T3JkZXJJdGVtSW5mbywgJ2RlbGl2ZXJlZF9hdCcgfCAnZXN0aW1hdGVkX2RlbGl2ZXJ5X2F0JyB8ICdpbl90cmFuc2l0X2F0Jz4ge1xuICAgIGRlbGl2ZXJlZF9hdD86IHN0cmluZztcbiAgICBlc3RpbWF0ZWRfZGVsaXZlcnlfYXQ/OiBzdHJpbmc7XG4gICAgaW5fdHJhbnNpdF9hdD86IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQXBpT3JkZXJSZXNwb25zZUF0dHJpYnV0ZXMgZXh0ZW5kcyBPbWl0PE9yZGVyUmVzcG9uc2VBdHRyaWJ1dGVzLCAnY3JlYXRlZF9hdCcgfCAnbGF0ZXN0X2V2ZW50X2RhdGUnIHwgJ2xpbmVfaXRlbXMnPiB7XG4gICAgY3JlYXRlZF9hdDogc3RyaW5nO1xuICAgIGxhdGVzdF9ldmVudF9kYXRlOiBzdHJpbmc7XG4gICAgbGluZV9pdGVtczogQXBpT3JkZXJJdGVtSW5mb1tdO1xufVxuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNBcGlPcmRlclJlc3BvbnNlQXR0cmlidXRlczogKGRhdGE6IHVua25vd24pID0+IGRhdGEgaXMgQXBpT3JkZXJSZXNwb25zZUF0dHJpYnV0ZXM7XG4iLCJpbXBvcnQgeyBPcmdhbml6YXRpb25Db25maWcgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW50ZXJmYWNlIEFwaU9yZ0FuYWx5dGljc0NvbmZpZ0FtcGxpdHVkZSB7XG4gICAgc2Vzc2lvbl9yZXBsYXlfZW5hYmxlZDogYm9vbGVhbjtcbiAgICBzZXNzaW9uX3JlcGxheV9zYW1wbGVfcmF0ZTogbnVtYmVyO1xuICAgIHRyYWNraW5nX2VuYWJsZWQ6IGJvb2xlYW47XG59XG5pbnRlcmZhY2UgQXBpT3JnQW5hbHl0aWNzQ29uZmlnQ3VzdG9tZXJTZXJ2aWNlIHtcbiAgICBwcm92aWRlcjogc3RyaW5nO1xufVxuaW50ZXJmYWNlIEFwaU9yZ0FuYWx5dGljc0NvbmZpZ0dvb2dsZUFuYWx5dGljcyB7XG4gICAgbWVhc3VyZW1lbnRfaWQ6IHN0cmluZztcbn1cbmludGVyZmFjZSBBcGlPcmdBbmFseXRpY3NDb25maWcge1xuICAgIGFtcGxpdHVkZT86IEFwaU9yZ0FuYWx5dGljc0NvbmZpZ0FtcGxpdHVkZTtcbiAgICBjdXN0b21lcl9zZXJ2aWNlPzogQXBpT3JnQW5hbHl0aWNzQ29uZmlnQ3VzdG9tZXJTZXJ2aWNlO1xuICAgIGdvb2dsZV9hbmFseXRpY3M/OiBBcGlPcmdBbmFseXRpY3NDb25maWdHb29nbGVBbmFseXRpY3M7XG59XG5leHBvcnQgaW50ZXJmYWNlIEFwaU9yZ2FuaXphdGlvbkNvbmZpZyBleHRlbmRzIE9yZ2FuaXphdGlvbkNvbmZpZyB7XG4gICAgY29uZmlnOiBBcGlPcmdBbmFseXRpY3NDb25maWc7XG59XG4vKipcbiAqXG4gKiBAcGFyYW0gZGF0YVxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNBcGlPcmdhbml6YXRpb25Db25maWc6IChkYXRhOiB1bmtub3duKSA9PiBkYXRhIGlzIEFwaU9yZ2FuaXphdGlvbkNvbmZpZztcbmV4cG9ydCB7fTtcbiIsImltcG9ydCB7IFN0YXRzaWdFeHBlcmltZW50IGFzIEFwaU9yZ0NvbmZpZ0V4cGVyaW1lbnQsIFN0YXRzaWdGZWF0dXJlR2F0ZSBhcyBBcGlPcmdDb25maWdGZWF0dXJlR2F0ZSwgT3JnYW5pemF0aW9uU2V0dGluZ3MgYXMgQXBpT3JnQ29uZmlnT3JnYW5pemF0aW9uU2V0dGluZ3MgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgQXBpT3JnYW5pemF0aW9uQ29uZmlnIH0gZnJvbSAnLi9pc0FwaU9yZ2FuaXphdGlvbkNvbmZpZyc7XG5pbnRlcmZhY2UgQXBpT3JnQ29uZmlnUmVzdWx0cyB7XG4gICAgY29uZmlnczogQXBpT3JnYW5pemF0aW9uQ29uZmlnW107XG4gICAgZXhwZXJpbWVudHM6IEFwaU9yZ0NvbmZpZ0V4cGVyaW1lbnRbXTtcbiAgICBnYXRlczogQXBpT3JnQ29uZmlnRmVhdHVyZUdhdGVbXTtcbiAgICBvcmc6IEFwaU9yZ0NvbmZpZ09yZ2FuaXphdGlvblNldHRpbmdzO1xufVxuLyoqXG4gKlxuICogQHBhcmFtIGRhdGFcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzQXBpT3JnQ29uZmlnUmVzdWx0czogKGRhdGE6IHVua25vd24pID0+IGRhdGEgaXMgUmVxdWlyZWQ8QXBpT3JnQ29uZmlnUmVzdWx0cz47XG5leHBvcnQge307XG4iLCJpbXBvcnQgeyBBcGlQYWdlUmVzcG9uc2VBdHRyaWJ1dGVzIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvcmVzcG9uc2VHZW5lcmljcyc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc0FwaVBhZ2VSZXNwb25zZUF0dHJpYnV0ZXM6IChvYmo6IHVua25vd24pID0+IG9iaiBpcyBBcGlQYWdlUmVzcG9uc2VBdHRyaWJ1dGVzO1xuIiwiaW1wb3J0IHsgUExQQXR0cmlidXRlcywgUExQSWRBdHRyaWJ1dGVzIH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzQXBpUExQSWRBdHRyaWJ1dGU6IChkYXRhOiB1bmtub3duKSA9PiBkYXRhIGlzIFBMUElkQXR0cmlidXRlcztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzQXBpUExQRXZlbnRBdHRyaWJ1dGVzOiAoZGF0YTogdW5rbm93bikgPT4gZGF0YSBpcyBQTFBBdHRyaWJ1dGVzO1xuIiwiaW1wb3J0IHsgUHJvZHVjdFNlYXJjaEZpbHRlclJlc3BvbnNlQXR0cmlidXRlcyB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc0FwaVByb2R1Y3RTZWFyY2hGaWx0ZXJSZXNwb25zZUF0dHJpYnV0ZXM6IChhdHRyaWJ1dGVzOiB1bmtub3duKSA9PiBhdHRyaWJ1dGVzIGlzIFByb2R1Y3RTZWFyY2hGaWx0ZXJSZXNwb25zZUF0dHJpYnV0ZXM7XG4iLCJpbXBvcnQgeyBHZXRNZXJjaGFudENvbG9yc1F1ZXJ5RGF0YSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3JhcGhxbCc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc0dyYXBoUUxDb2xvcnNDb25maWc6IChkYXRhOiB1bmtub3duKSA9PiBkYXRhIGlzIEdldE1lcmNoYW50Q29sb3JzUXVlcnlEYXRhO1xuIiwiaW1wb3J0IHR5cGUgeyBVcHBlckNhc2VDaGFyYWN0ZXJzLCBXb3JkU2VwYXJhdG9ycyB9IGZyb20gJy4vaW50ZXJuYWwnO1xudHlwZSBVcHBlckNhc2VUb0xvd2VyQ2FzZTxUIGV4dGVuZHMgc3RyaW5nPiA9IFQgZXh0ZW5kcyBVcHBlcmNhc2U8VD4gPyBMb3dlcmNhc2U8VD4gOiBUO1xudHlwZSBTcGxpdEluY2x1ZGluZ0RlbGltaXRlcnNfPFNvdXJjZSBleHRlbmRzIHN0cmluZywgRGVsaW1pdGVyIGV4dGVuZHMgc3RyaW5nPiA9IFNvdXJjZSBleHRlbmRzICcnID8gW10gOiBTb3VyY2UgZXh0ZW5kcyBgJHtpbmZlciBGaXJzdFBhcnR9JHtEZWxpbWl0ZXJ9JHtpbmZlciBTZWNvbmRQYXJ0fWAgPyBTb3VyY2UgZXh0ZW5kcyBgJHtGaXJzdFBhcnR9JHtpbmZlciBVc2VkRGVsaW1pdGVyfSR7U2Vjb25kUGFydH1gID8gVXNlZERlbGltaXRlciBleHRlbmRzIERlbGltaXRlciA/IFNvdXJjZSBleHRlbmRzIGAke2luZmVyIEZpcnN0UGFydH0ke1VzZWREZWxpbWl0ZXJ9JHtpbmZlciBTZWNvbmRQYXJ0fWAgPyBbXG4gICAgLi4uU3BsaXRJbmNsdWRpbmdEZWxpbWl0ZXJzPEZpcnN0UGFydCwgRGVsaW1pdGVyPixcbiAgICBVc2VkRGVsaW1pdGVyLFxuICAgIC4uLlNwbGl0SW5jbHVkaW5nRGVsaW1pdGVyczxTZWNvbmRQYXJ0LCBEZWxpbWl0ZXI+XG5dIDogbmV2ZXIgOiBuZXZlciA6IG5ldmVyIDogW1NvdXJjZV07XG4vKipcbiAqIFVubGlrZSBhIHNpbXBsZXIgc3BsaXQsIHRoaXMgb25lIGluY2x1ZGVzIHRoZSBkZWxpbWl0ZXIgc3BsaXR0ZWQgb24gaW4gdGhlIHJlc3VsdGluZyBhcnJheSBsaXRlcmFsLiBUaGlzIGlzIHRvIGVuYWJsZSBzcGxpdHRpbmcgb24sIGZvciBleGFtcGxlLCB1cHBlci1jYXNlIGNoYXJhY3RlcnMuXG4gKlxuICogQGNhdGVnb3J5IFRlbXBsYXRlIGxpdGVyYWxcbiAqL1xuZXhwb3J0IHR5cGUgU3BsaXRJbmNsdWRpbmdEZWxpbWl0ZXJzPFNvdXJjZSBleHRlbmRzIHN0cmluZywgRGVsaW1pdGVyIGV4dGVuZHMgc3RyaW5nPiA9IFNwbGl0SW5jbHVkaW5nRGVsaW1pdGVyc188VXBwZXJDYXNlVG9Mb3dlckNhc2U8U291cmNlPiwgRGVsaW1pdGVyPjtcbi8qKlxuICpGb3JtYXQgYSBzcGVjaWZpYyBwYXJ0IG9mIHRoZSBzcGxpdHRlZCBzdHJpbmcgbGl0ZXJhbCB0aGF0IGBTdHJpbmdBcnJheVRvRGVsaW1pdGVyQ2FzZTw+YCBmdXNlcyB0b2dldGhlciwgZW5zdXJpbmcgZGVzaXJlZCBjYXNpbmcuXG4gKlxuICpAc2VlIFN0cmluZ0FycmF5VG9EZWxpbWl0ZXJDYXNlXG4gKi9cbnR5cGUgU3RyaW5nUGFydFRvRGVsaW1pdGVyQ2FzZTxTdHJpbmdQYXJ0IGV4dGVuZHMgc3RyaW5nLCBTdGFydCBleHRlbmRzIGJvb2xlYW4sIFVzZWRXb3JkU2VwYXJhdG9ycyBleHRlbmRzIHN0cmluZywgVXNlZFVwcGVyQ2FzZUNoYXJhY3RlcnMgZXh0ZW5kcyBzdHJpbmcsIERlbGltaXRlciBleHRlbmRzIHN0cmluZz4gPSBTdHJpbmdQYXJ0IGV4dGVuZHMgVXNlZFdvcmRTZXBhcmF0b3JzID8gRGVsaW1pdGVyIDogU3RhcnQgZXh0ZW5kcyB0cnVlID8gTG93ZXJjYXNlPFN0cmluZ1BhcnQ+IDogU3RyaW5nUGFydCBleHRlbmRzIFVzZWRVcHBlckNhc2VDaGFyYWN0ZXJzID8gYCR7RGVsaW1pdGVyfSR7TG93ZXJjYXNlPFN0cmluZ1BhcnQ+fWAgOiBTdHJpbmdQYXJ0O1xuLyoqXG4gKiBUYWtlcyB0aGUgcmVzdWx0IG9mIGEgc3BsaXR0ZWQgc3RyaW5nIGxpdGVyYWwgYW5kIHJlY3Vyc2l2ZWx5IGNvbmNhdGVuYXRlcyBpdCB0b2dldGhlciBpbnRvIHRoZSBkZXNpcmVkIGNhc2luZy5cbiAqXG4gKiBJdCByZWNlaXZlcyBgVXNlZFdvcmRTZXBhcmF0b3JzYCBhbmQgYFVzZWRVcHBlckNhc2VDaGFyYWN0ZXJzYCBhcyBpbnB1dCB0byBlbnN1cmUgaXQncyBmdWxseSBlbmNhcHN1bGF0ZWQuXG4gKlxuICogQHNlZSBTcGxpdEluY2x1ZGluZ0RlbGltaXRlcnNcbiAqL1xudHlwZSBTdHJpbmdBcnJheVRvRGVsaW1pdGVyQ2FzZTxQYXJ0cyBleHRlbmRzIHJlYWRvbmx5IGFueVtdLCBTdGFydCBleHRlbmRzIGJvb2xlYW4sIFVzZWRXb3JkU2VwYXJhdG9ycyBleHRlbmRzIHN0cmluZywgVXNlZFVwcGVyQ2FzZUNoYXJhY3RlcnMgZXh0ZW5kcyBzdHJpbmcsIERlbGltaXRlciBleHRlbmRzIHN0cmluZz4gPSBQYXJ0cyBleHRlbmRzIFtgJHtpbmZlciBGaXJzdFBhcnR9YCwgLi4uaW5mZXIgUmVtYWluaW5nUGFydHNdID8gYCR7U3RyaW5nUGFydFRvRGVsaW1pdGVyQ2FzZTxGaXJzdFBhcnQsIFN0YXJ0LCBVc2VkV29yZFNlcGFyYXRvcnMsIFVzZWRVcHBlckNhc2VDaGFyYWN0ZXJzLCBEZWxpbWl0ZXI+fSR7U3RyaW5nQXJyYXlUb0RlbGltaXRlckNhc2U8UmVtYWluaW5nUGFydHMsIGZhbHNlLCBVc2VkV29yZFNlcGFyYXRvcnMsIFVzZWRVcHBlckNhc2VDaGFyYWN0ZXJzLCBEZWxpbWl0ZXI+fWAgOiBQYXJ0cyBleHRlbmRzIFtzdHJpbmddID8gc3RyaW5nIDogJyc7XG4vKipcbiAqIENvbnZlcnQgYSBzdHJpbmcgbGl0ZXJhbCB0byBhIGN1c3RvbSBzdHJpbmcgZGVsaW1pdGVyIGNhc2luZy5cbiAqXG4gKiBUaGlzIGNhbiBiZSB1c2VmdWwgd2hlbiwgZm9yIGV4YW1wbGUsIGNvbnZlcnRpbmcgYSBjYW1lbC1jYXNlZCBvYmplY3QgcHJvcGVydHkgdG8gYW4gb2RkbHkgY2FzZWQgb25lLlxuICpcbiAqIEBzZWUgS2ViYWJDYXNlXG4gKiBAc2VlIFNuYWtlQ2FzZVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBcbiAqIGltcG9ydCB0eXBlIHtEZWxpbWl0ZXJDYXNlfSBmcm9tICd0eXBlLWZlc3QnO1xuICpcbiAqIC8vIFNpbXBsZVxuICpcbiAqIGNvbnN0IHNvbWVWYXJpYWJsZTogRGVsaW1pdGVyQ2FzZTwnZm9vQmFyJywgJyMnPiA9ICdmb28jYmFyJztcbiAqXG4gKiAvLyBBZHZhbmNlZFxuICpcbiAqIHR5cGUgT2RkbHlDYXNlZFByb3BlcnRpZXM8VD4gPSB7XG4gKiBcdFtLIGluIGtleW9mIFQgYXMgRGVsaW1pdGVyQ2FzZTxLLCAnIyc+XTogVFtLXVxuICogfTtcbiAqXG4gKiBpbnRlcmZhY2UgU29tZU9wdGlvbnMge1xuICogXHRkcnlSdW46IGJvb2xlYW47XG4gKiBcdGluY2x1ZGVGaWxlOiBzdHJpbmc7XG4gKiBcdGZvbzogbnVtYmVyO1xuICogfVxuICpcbiAqIGNvbnN0IHJhd0NsaU9wdGlvbnM6IE9kZGx5Q2FzZWRQcm9wZXJ0aWVzPFNvbWVPcHRpb25zPiA9IHtcbiAqIFx0J2RyeSNydW4nOiB0cnVlLFxuICogXHQnaW5jbHVkZSNmaWxlJzogJ2Jhci5qcycsXG4gKiBcdGZvbzogMTIzXG4gKiB9O1xuICogYGBgXG4gKlxuICogQGNhdGVnb3J5IENoYW5nZSBjYXNlXG4gKiBAY2F0ZWdvcnkgVGVtcGxhdGUgbGl0ZXJhbFxuICovXG5leHBvcnQgdHlwZSBEZWxpbWl0ZXJDYXNlPFZhbHVlLCBEZWxpbWl0ZXIgZXh0ZW5kcyBzdHJpbmc+ID0gc3RyaW5nIGV4dGVuZHMgVmFsdWUgPyBWYWx1ZSA6IFZhbHVlIGV4dGVuZHMgc3RyaW5nID8gU3RyaW5nQXJyYXlUb0RlbGltaXRlckNhc2U8U3BsaXRJbmNsdWRpbmdEZWxpbWl0ZXJzPFZhbHVlLCBXb3JkU2VwYXJhdG9ycyB8IFVwcGVyQ2FzZUNoYXJhY3RlcnM+LCB0cnVlLCBXb3JkU2VwYXJhdG9ycywgVXBwZXJDYXNlQ2hhcmFjdGVycywgRGVsaW1pdGVyPiA6IFZhbHVlO1xuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IHR5cGUgeyBEZWxpbWl0ZXJDYXNlIH0gZnJvbSAnLi9kZWxpbWl0ZXJDYXNlJztcbmltcG9ydCB0eXBlIHsgTm9uUmVjdXJzaXZlVHlwZSB9IGZyb20gJy4vaW50ZXJuYWwnO1xuaW1wb3J0IHR5cGUgeyBVbmtub3duQXJyYXkgfSBmcm9tICcuL3Vua25vd25BcnJheSc7XG4vKipcbiAqIENvbnZlcnQgb2JqZWN0IHByb3BlcnRpZXMgdG8gZGVsaW1pdGVyIGNhc2UgcmVjdXJzaXZlbHkuXG4gKlxuICogVGhpcyBjYW4gYmUgdXNlZnVsIHdoZW4sIGZvciBleGFtcGxlLCBjb252ZXJ0aW5nIHNvbWUgQVBJIHR5cGVzIGZyb20gYSBkaWZmZXJlbnQgc3R5bGUuXG4gKlxuICogQHNlZSBEZWxpbWl0ZXJDYXNlXG4gKiBAc2VlIERlbGltaXRlckNhc2VkUHJvcGVydGllc1xuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBcbiAqIGltcG9ydCB0eXBlIHtEZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwfSBmcm9tICd0eXBlLWZlc3QnO1xuICpcbiAqIGludGVyZmFjZSBVc2VyIHtcbiAqIFx0dXNlcklkOiBudW1iZXI7XG4gKiBcdHVzZXJOYW1lOiBzdHJpbmc7XG4gKiB9XG4gKlxuICogaW50ZXJmYWNlIFVzZXJXaXRoRnJpZW5kcyB7XG4gKiBcdHVzZXJJbmZvOiBVc2VyO1xuICogXHR1c2VyRnJpZW5kczogVXNlcltdO1xuICogfVxuICpcbiAqIGNvbnN0IHJlc3VsdDogRGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzRGVlcDxVc2VyV2l0aEZyaWVuZHMsICctJz4gPSB7XG4gKiBcdCd1c2VyLWluZm8nOiB7XG4gKiBcdCd1c2VyLWlkJzogMSxcbiAqIFx0XHQndXNlci1uYW1lJzogJ1RvbScsXG4gKiBcdH0sXG4gKiBcdCd1c2VyLWZyaWVuZHMnOiBbXG4gKiBcdFx0e1xuICogXHRcdFx0J3VzZXItaWQnOiAyLFxuICogXHRcdFx0J3VzZXItbmFtZSc6ICdKZXJyeScsXG4gKiBcdFx0fSxcbiAqIFx0XHR7XG4gKiBcdFx0XHQndXNlci1pZCc6IDMsXG4gKiBcdFx0XHQndXNlci1uYW1lJzogJ1NwaWtlJyxcbiAqIFx0XHR9LFxuICogXHRdLFxuICogfTtcbiAqIGBgYFxuICpcbiAqIEBjYXRlZ29yeSBDaGFuZ2UgY2FzZVxuICogQGNhdGVnb3J5IFRlbXBsYXRlIGxpdGVyYWxcbiAqIEBjYXRlZ29yeSBPYmplY3RcbiAqL1xuZXhwb3J0IHR5cGUgRGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzRGVlcDxWYWx1ZSwgRGVsaW1pdGVyIGV4dGVuZHMgc3RyaW5nPiA9IFZhbHVlIGV4dGVuZHMgTm9uUmVjdXJzaXZlVHlwZSA/IFZhbHVlIDogVmFsdWUgZXh0ZW5kcyBVbmtub3duQXJyYXkgPyBEZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNBcnJheURlZXA8VmFsdWUsIERlbGltaXRlcj4gOiBWYWx1ZSBleHRlbmRzIFNldDxpbmZlciBVPiA/IFNldDxEZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwPFUsIERlbGltaXRlcj4+IDoge1xuICAgIFtLIGluIGtleW9mIFZhbHVlIGFzIERlbGltaXRlckNhc2U8SywgRGVsaW1pdGVyPl06IERlbGltaXRlckNhc2VkUHJvcGVydGllc0RlZXA8VmFsdWVbS10sIERlbGltaXRlcj47XG59O1xudHlwZSBEZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNBcnJheURlZXA8VmFsdWUgZXh0ZW5kcyBVbmtub3duQXJyYXksIERlbGltaXRlciBleHRlbmRzIHN0cmluZz4gPSBWYWx1ZSBleHRlbmRzIFtdID8gW10gOiBWYWx1ZSBleHRlbmRzIFtpbmZlciBVLCAuLi5pbmZlciBWXSA/IFtEZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwPFUsIERlbGltaXRlcj4sIC4uLkRlbGltaXRlckNhc2VkUHJvcGVydGllc0RlZXA8ViwgRGVsaW1pdGVyPl0gOiBWYWx1ZSBleHRlbmRzIHJlYWRvbmx5IFtpbmZlciBVLCAuLi5pbmZlciBWXSA/IHJlYWRvbmx5IFtcbiAgICBEZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwPFUsIERlbGltaXRlcj4sXG4gICAgLi4uRGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzRGVlcDxWLCBEZWxpbWl0ZXI+XG5dIDogVmFsdWUgZXh0ZW5kcyByZWFkb25seSBbLi4uaW5mZXIgVSwgaW5mZXIgVl0gPyBbXG4gICAgLi4uRGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzRGVlcDxVLCBEZWxpbWl0ZXI+LFxuICAgIERlbGltaXRlckNhc2VkUHJvcGVydGllc0RlZXA8ViwgRGVsaW1pdGVyPlxuXSA6IFZhbHVlIGV4dGVuZHMgcmVhZG9ubHkgWy4uLmluZmVyIFUsIGluZmVyIFZdID8gcmVhZG9ubHkgW1xuICAgIC4uLkRlbGltaXRlckNhc2VkUHJvcGVydGllc0RlZXA8VSwgRGVsaW1pdGVyPixcbiAgICBEZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwPFYsIERlbGltaXRlcj5cbl0gOiBWYWx1ZSBleHRlbmRzIEFycmF5PGluZmVyIFU+ID8gQXJyYXk8RGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzRGVlcDxVLCBEZWxpbWl0ZXI+PiA6IFZhbHVlIGV4dGVuZHMgUmVhZG9ubHlBcnJheTxpbmZlciBVPiA/IFJlYWRvbmx5QXJyYXk8RGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzRGVlcDxVLCBEZWxpbWl0ZXI+PiA6IG5ldmVyO1xuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IHR5cGUgeyBEZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwIH0gZnJvbSAnLi9kZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwJztcbi8qKlxuICogQ29udmVydCBvYmplY3QgcHJvcGVydGllcyB0byBzbmFrZSBjYXNlIHJlY3Vyc2l2ZWx5LlxuICpcbiAqIFRoaXMgY2FuIGJlIHVzZWZ1bCB3aGVuLCBmb3IgZXhhbXBsZSwgY29udmVydGluZyBzb21lIEFQSSB0eXBlcyBmcm9tIGEgZGlmZmVyZW50IHN0eWxlLlxuICpcbiAqIEBzZWUgU25ha2VDYXNlXG4gKiBAc2VlIFNuYWtlQ2FzZWRQcm9wZXJ0aWVzXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYFxuICogaW1wb3J0IHR5cGUge1NuYWtlQ2FzZWRQcm9wZXJ0aWVzRGVlcH0gZnJvbSAndHlwZS1mZXN0JztcbiAqXG4gKiBpbnRlcmZhY2UgVXNlciB7XG4gKiBcdHVzZXJJZDogbnVtYmVyO1xuICogXHR1c2VyTmFtZTogc3RyaW5nO1xuICogfVxuICpcbiAqIGludGVyZmFjZSBVc2VyV2l0aEZyaWVuZHMge1xuICogXHR1c2VySW5mbzogVXNlcjtcbiAqIFx0dXNlckZyaWVuZHM6IFVzZXJbXTtcbiAqIH1cbiAqXG4gKiBjb25zdCByZXN1bHQ6IFNuYWtlQ2FzZWRQcm9wZXJ0aWVzRGVlcDxVc2VyV2l0aEZyaWVuZHM+ID0ge1xuICogXHR1c2VyX2luZm86IHtcbiAqIFx0XHR1c2VyX2lkOiAxLFxuICogXHRcdHVzZXJfbmFtZTogJ1RvbScsXG4gKiBcdH0sXG4gKiBcdHVzZXJfZnJpZW5kczogW1xuICogXHRcdHtcbiAqIFx0XHRcdHVzZXJfaWQ6IDIsXG4gKiBcdFx0XHR1c2VyX25hbWU6ICdKZXJyeScsXG4gKiBcdFx0fSxcbiAqIFx0XHR7XG4gKiBcdFx0XHR1c2VyX2lkOiAzLFxuICogXHRcdFx0dXNlcl9uYW1lOiAnU3Bpa2UnLFxuICogXHRcdH0sXG4gKiBcdF0sXG4gKiB9O1xuICogYGBgXG4gKlxuICogQGNhdGVnb3J5IENoYW5nZSBjYXNlXG4gKiBAY2F0ZWdvcnkgVGVtcGxhdGUgbGl0ZXJhbFxuICogQGNhdGVnb3J5IE9iamVjdFxuICovXG5leHBvcnQgdHlwZSBTbmFrZUNhc2VkUHJvcGVydGllc0RlZXA8VmFsdWU+ID0gRGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzRGVlcDxWYWx1ZSwgJ18nPjtcbiIsIi8qKlxuICogR2VuZXJpYyB1dGlsaXR5IHRvIHRyYW5zZm9ybSBzbmFrZV9jYXNlIG9iamVjdCBrZXlzIHRvIGNhbWVsQ2FzZSBhdCBydW50aW1lLlxuICogVGhpcyBpcyB0aGUgcnVudGltZSBlcXVpdmFsZW50IG9mIHRoZSBDYW1lbENhc2VkUHJvcGVydGllc0RlZXAgdHlwZSB1dGlsaXR5LlxuICovXG4vKipcbiAqIFJlY3Vyc2l2ZWx5IHRyYW5zZm9ybXMgYWxsIG9iamVjdCBrZXlzIGZyb20gc25ha2VfY2FzZSB0byBjYW1lbENhc2VcbiAqL1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdHJhbnNmb3JtU25ha2VUb0NhbWVsOiAob2JqOiB1bmtub3duKSA9PiB1bmtub3duO1xuLyoqXG4gKiBSZWN1cnNpdmVseSB0cmFuc2Zvcm1zIGFsbCBvYmplY3Qga2V5cyBmcm9tIGNhbWVsQ2FzZSB0byBzbmFrZV9jYXNlXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHRyYW5zZm9ybUNhbWVsVG9TbmFrZTogKG9iajogdW5rbm93bikgPT4gdW5rbm93bjtcbiIsImltcG9ydCB7IEZ1bGZpbGxtZW50RGlzcGxheVN0YXR1cyB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG4vKipcbiAqIENvbnZlcnRzIGEgc3RyaW5nIHRvIGEgRnVsZmlsbG1lbnREaXNwbGF5U3RhdHVzIGVudW0gdmFsdWUuXG4gKlxuICogQHBhcmFtIHN0YXR1cyAtIFRoZSBzdHJpbmcgdG8gY29udmVydC5cbiAqXG4gKiBAcmV0dXJucyBUaGUgRnVsZmlsbG1lbnREaXNwbGF5U3RhdHVzIGVudW0gdmFsdWUgb3IgdW5kZWZpbmVkIGlmIHRoZSBzdHJpbmdcbiAqIGRvZXMgbm90IG1hcCB0byBhIHZhbGlkIGVudW1cbiAqL1xuZXhwb3J0IGRlY2xhcmUgY29uc3Qgc3RyaW5nVG9GdWxmaWxsbWVudERpc3BsYXlTdGF0dXNFbnVtVmFsdWU6IChzdGF0dXM6IHN0cmluZykgPT4gRnVsZmlsbG1lbnREaXNwbGF5U3RhdHVzIHwgdW5kZWZpbmVkO1xuIiwiaW1wb3J0IHsgQ29sb3JNYXBwaW5nIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHMvY29sb3JzQ29uZmlnXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCB2YWxpZGF0ZUdyYXBoUUxDb2xvcnNDb25maWc6IChkYXRhOiB1bmtub3duKSA9PiBDb2xvck1hcHBpbmcgfCB1bmRlZmluZWQ7XG4iLCJpbXBvcnQgeyBGcm9udGVuZENvbmZpZyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZnJvbnRlbmRDb25maWcnO1xuaW1wb3J0IHsgV2lkZ2V0Q29uZmlnLCBQYWdlVmFyaWFudENvbmZpZywgV2lkZ2V0TW91bnRpbmdDb25maWcgfSBmcm9tICdzcmMvY29udGV4dHMvdHlwZXMnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdmFsaWRhdGVBbmRUcmFuc2Zvcm1QYWdlVmFyaWFudHM6IChjb25maWc6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiBQYWdlVmFyaWFudENvbmZpZztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHZhbGlkYXRlQW5kVHJhbnNmb3JtTW91bnRpbmdDb25maWc6IChjb25maWc6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBjb25maWdLZXk6IHN0cmluZykgPT4gV2lkZ2V0TW91bnRpbmdDb25maWc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCB2YWxpZGF0ZUFuZFRyYW5zZm9ybVdpZGdldENvbmZpZzogKGNvbmZpZzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIGNvbmZpZ0tleTogc3RyaW5nKSA9PiBXaWRnZXRDb25maWc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCB2YWxpZGF0ZUdyYXBoUUxGcm9udGVuZENvbmZpZzogKGRhdGE6IHVua25vd24pID0+IEZyb250ZW5kQ29uZmlnIHwgdW5kZWZpbmVkO1xuIiwiZXhwb3J0IGRlY2xhcmUgY29uc3QgdmFsaWRhdGVHcmFwaFFMT3JnSWQ6IChkYXRhOiB1bmtub3duKSA9PiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4iLCJpbXBvcnQgeyBNb2JpbGVQTFBDaGF0UGxhY2VtZW50UGFyYW1ldGVyIH0gZnJvbSAnLi4vbW9iaWxlUExQQ2hhdFBsYWNlbWVudFBhcmFtZXRlcic7XG5leHBvcnQgZGVjbGFyZSBjb25zdCB2YWxpZGF0ZU1vYmlsZVBMUENoYXRQbGFjZW1lbnRQYXJhbWV0ZXI6ICh2YWx1ZTogdW5rbm93bikgPT4gTW9iaWxlUExQQ2hhdFBsYWNlbWVudFBhcmFtZXRlciB8IHVuZGVmaW5lZDtcbiIsImltcG9ydCB7IE9yZ2FuaXphdGlvbkNvbmZpZyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL29yZ2FuaXphdGlvbkNvbmZpZyc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCB2YWxpZGF0ZU9yZ2FuaXphdGlvbkNvbmZpZzogKGRhdGE6IHVua25vd24pID0+IE9yZ2FuaXphdGlvbkNvbmZpZyB8IHVuZGVmaW5lZDtcbiIsImltcG9ydCB7IE9yZ0NvbmZpZyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL29yZ0NvbmZpZ1Jlc3VsdHMnO1xuLyoqXG4gKlxuICogQHBhcmFtIGRhdGFcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHZhbGlkYXRlT3JnQ29uZmlnUmVzdWx0czogKGRhdGE6IHVua25vd24pID0+IE9yZ0NvbmZpZyB8IHVuZGVmaW5lZDtcbiIsImltcG9ydCB7IFJlc3BvbnNlIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9pbmRleCc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCB2YWxpZGF0ZVJlc3BvbnNlOiAoZGF0YTogdW5rbm93bikgPT4gUmVzcG9uc2UgfCB1bmRlZmluZWQ7XG4iLCJpbXBvcnQgeyBTdWdnZXN0aW9uIH0gZnJvbSAnLi4vYXBpL3N1Z2dlc3Rpb24nO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdmFsaWRhdGVTdWdnZXN0aW9uOiAoZGF0YTogdW5rbm93bikgPT4gU3VnZ2VzdGlvbiB8IHVuZGVmaW5lZDtcbiIsImltcG9ydCB7IFVzZXJFdmVudCB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvaW5kZXgnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdmFsaWRhdGVVc2VyRXZlbnQ6IChkYXRhOiB1bmtub3duKSA9PiBVc2VyRXZlbnQgfCB1bmRlZmluZWQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBSSxjQUFjLENBQUMsSUFBRzs7OztBQ0F0QixJQUFJLGdCQUFnQixDQUFDLElBQUc7Ozs7QUNBeEIsSUFBVywwQkFBMEIsQ0FBQyxJQUFBOzs7O0FDQXRDLElBQUUscUJBQUE7Q0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNGLElBQUksa0JBQWtCLENBQUMsSUFBSTtBQUMzQixJQUFFLG1CQUFBLENB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