mediasfu-angular 1.0.2 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. package/README.md +678 -578
  2. package/dist/README.md +677 -578
  3. package/dist/fesm2022/mediasfu-angular.mjs +5551 -2944
  4. package/dist/fesm2022/mediasfu-angular.mjs.map +1 -1
  5. package/dist/lib/@types/types.d.ts +22 -1
  6. package/dist/lib/components/breakout-components/breakout-rooms-modal.component.d.ts +1 -0
  7. package/dist/lib/components/mediasfu-components/mediasfu-broadcast.component.d.ts +153 -61
  8. package/dist/lib/components/mediasfu-components/mediasfu-chat.component.d.ts +154 -66
  9. package/dist/lib/components/mediasfu-components/mediasfu-conference.component.d.ts +190 -76
  10. package/dist/lib/components/mediasfu-components/mediasfu-generic.component.d.ts +184 -70
  11. package/dist/lib/components/mediasfu-components/mediasfu-webinar.component.d.ts +192 -78
  12. package/dist/lib/components/menu-components/menu-modal/menu-modal.component.d.ts +6 -1
  13. package/dist/lib/components/menu-components/share-buttons-component/share-buttons-component.component.d.ts +5 -2
  14. package/dist/lib/components/misc-components/confirm-here-modal/confirm-here-modal.component.d.ts +4 -2
  15. package/dist/lib/components/misc-components/pre-join-page/pre-join-page.component.d.ts +71 -66
  16. package/dist/lib/components/misc-components/share-event-modal/share-event-modal.component.d.ts +5 -1
  17. package/dist/lib/consumers/connect-local-ips.service.d.ts +81 -0
  18. package/dist/lib/consumers/connect-send-transport-audio.service.d.ts +43 -11
  19. package/dist/lib/consumers/connect-send-transport-screen.service.d.ts +87 -46
  20. package/dist/lib/consumers/connect-send-transport-video.service.d.ts +89 -43
  21. package/dist/lib/consumers/connect-send-transport.service.d.ts +5 -1
  22. package/dist/lib/consumers/create-send-transport.service.d.ts +130 -40
  23. package/dist/lib/consumers/disconnect-send-transport-audio.service.d.ts +77 -40
  24. package/dist/lib/consumers/disconnect-send-transport-screen.service.d.ts +48 -14
  25. package/dist/lib/consumers/disconnect-send-transport-video.service.d.ts +81 -44
  26. package/dist/lib/consumers/get-piped-producers-alt.service.d.ts +5 -1
  27. package/dist/lib/consumers/receive-all-piped-transports.service.d.ts +5 -1
  28. package/dist/lib/consumers/resume-send-transport-audio.service.d.ts +54 -21
  29. package/dist/lib/consumers/stream-success-audio-switch.service.d.ts +124 -40
  30. package/dist/lib/consumers/trigger.service.d.ts +3 -0
  31. package/dist/lib/methods/exit-methods/confirm-exit.service.d.ts +5 -1
  32. package/dist/lib/methods/recording-methods/start-recording.service.d.ts +3 -0
  33. package/dist/lib/methods/recording-methods/stop-recording.service.d.ts +4 -1
  34. package/dist/lib/methods/recording-methods/update-recording.service.d.ts +3 -0
  35. package/dist/lib/methods/stream-methods/click-audio.service.d.ts +3 -0
  36. package/dist/lib/methods/utils/check-limits-and-make-request.service.d.ts +23 -0
  37. package/dist/lib/methods/utils/create-response-join-room.util.d.ts +33 -0
  38. package/dist/lib/methods/utils/create-room-on-media-sfu.service.d.ts +25 -0
  39. package/dist/lib/methods/utils/initial-values.util.d.ts +6 -0
  40. package/dist/lib/methods/utils/join-room-on-media-sfu.service.d.ts +52 -0
  41. package/dist/lib/methods/whiteboard-methods/capture-canvas-stream.service.d.ts +37 -20
  42. package/dist/lib/producers/producer-emits/join-local-room.service.d.ts +125 -0
  43. package/dist/lib/producers/socket-receive-methods/all-members-rest.service.d.ts +7 -2
  44. package/dist/lib/producers/socket-receive-methods/all-members.service.d.ts +7 -2
  45. package/dist/lib/producers/socket-receive-methods/disconnect-user-self.service.d.ts +5 -1
  46. package/dist/lib/sockets/socket-manager.service.d.ts +90 -0
  47. package/dist/public-api.d.ts +11 -1
  48. package/package.json +17 -20
  49. package/dist/esm2022/lib/@types/types.mjs +0 -2
  50. package/dist/esm2022/lib/components/background-components/background-modal/background-modal.component.mjs +0 -799
  51. package/dist/esm2022/lib/components/breakout-components/breakout-rooms-modal.component.mjs +0 -366
  52. package/dist/esm2022/lib/components/breakout-components/edit-room-modal/edit-room-modal.component.mjs +0 -143
  53. package/dist/esm2022/lib/components/breakout-components/room-list/room-list.component.mjs +0 -40
  54. package/dist/esm2022/lib/components/co-host-components/co-host-modal/co-host-modal.component.mjs +0 -245
  55. package/dist/esm2022/lib/components/display-components/alert-component/alert.component.component.mjs +0 -79
  56. package/dist/esm2022/lib/components/display-components/audio-card/audio-card.component.mjs +0 -356
  57. package/dist/esm2022/lib/components/display-components/audio-grid/audio-grid.component.mjs +0 -80
  58. package/dist/esm2022/lib/components/display-components/card-video-display/card-video-display.component.mjs +0 -129
  59. package/dist/esm2022/lib/components/display-components/control-buttons-alt-component/control-buttons-alt-component.component.mjs +0 -138
  60. package/dist/esm2022/lib/components/display-components/control-buttons-component/control-buttons-component.component.mjs +0 -231
  61. package/dist/esm2022/lib/components/display-components/control-buttons-component-touch/control-buttons-component-touch.component.mjs +0 -282
  62. package/dist/esm2022/lib/components/display-components/control-widgets/menu-participants-widget.component.mjs +0 -82
  63. package/dist/esm2022/lib/components/display-components/control-widgets/menu-record-widget.component.mjs +0 -65
  64. package/dist/esm2022/lib/components/display-components/control-widgets/menu-widget.component.mjs +0 -137
  65. package/dist/esm2022/lib/components/display-components/control-widgets/message-widget.component.mjs +0 -137
  66. package/dist/esm2022/lib/components/display-components/control-widgets/record-timer-widget.component.mjs +0 -51
  67. package/dist/esm2022/lib/components/display-components/control-widgets/screenshare-widget.component.mjs +0 -101
  68. package/dist/esm2022/lib/components/display-components/flexible-grid/flexible-grid.component.mjs +0 -151
  69. package/dist/esm2022/lib/components/display-components/flexible-video/flexible-video.component.mjs +0 -250
  70. package/dist/esm2022/lib/components/display-components/loading-modal/loading-modal.component.mjs +0 -102
  71. package/dist/esm2022/lib/components/display-components/main-aspect-component/main-aspect-component.component.mjs +0 -140
  72. package/dist/esm2022/lib/components/display-components/main-container-component/main-container-component.component.mjs +0 -131
  73. package/dist/esm2022/lib/components/display-components/main-grid-component/main-grid-component.component.mjs +0 -120
  74. package/dist/esm2022/lib/components/display-components/main-screen-component/main-screen-component.component.mjs +0 -201
  75. package/dist/esm2022/lib/components/display-components/meeting-progress-timer/meeting-progress-timer.component.mjs +0 -115
  76. package/dist/esm2022/lib/components/display-components/mini-audio/mini-audio.component.mjs +0 -319
  77. package/dist/esm2022/lib/components/display-components/mini-card/mini-card.component.mjs +0 -161
  78. package/dist/esm2022/lib/components/display-components/mini-card-audio/mini-card-audio.component.mjs +0 -230
  79. package/dist/esm2022/lib/components/display-components/other-grid-component/other-grid-component.component.mjs +0 -126
  80. package/dist/esm2022/lib/components/display-components/pagination/pagination.component.mjs +0 -334
  81. package/dist/esm2022/lib/components/display-components/sub-aspect-component/sub-aspect-component.component.mjs +0 -112
  82. package/dist/esm2022/lib/components/display-components/video-card/video-card.component.mjs +0 -392
  83. package/dist/esm2022/lib/components/display-settings-components/display-settings-modal.component.mjs +0 -106
  84. package/dist/esm2022/lib/components/event-settings-components/event-settings-modal/event-settings-modal.component.mjs +0 -199
  85. package/dist/esm2022/lib/components/exit-components/confirm-exit-modal/confirm-exit-modal.component.mjs +0 -132
  86. package/dist/esm2022/lib/components/media-settings-components/media-settings-modal/media-settings-modal.component.mjs +0 -220
  87. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-broadcast.component.mjs +0 -4238
  88. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-chat.component.mjs +0 -3754
  89. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-conference.component.mjs +0 -5071
  90. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-generic.component.mjs +0 -5380
  91. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-webinar.component.mjs +0 -5068
  92. package/dist/esm2022/lib/components/menu-components/custom-buttons/custom-buttons.component.mjs +0 -83
  93. package/dist/esm2022/lib/components/menu-components/meeting-id-component/meeting-id-component.component.mjs +0 -27
  94. package/dist/esm2022/lib/components/menu-components/meeting-passcode-component/meeting-passcode-component.component.mjs +0 -27
  95. package/dist/esm2022/lib/components/menu-components/menu-modal/menu-modal.component.mjs +0 -125
  96. package/dist/esm2022/lib/components/menu-components/share-buttons-component/share-buttons-component.component.mjs +0 -106
  97. package/dist/esm2022/lib/components/message-components/message-panel/message-panel.component.mjs +0 -228
  98. package/dist/esm2022/lib/components/message-components/messages-modal/messages-modal.component.mjs +0 -277
  99. package/dist/esm2022/lib/components/misc-components/confirm-here-modal/confirm-here-modal.component.mjs +0 -130
  100. package/dist/esm2022/lib/components/misc-components/pre-join-page/pre-join-page.component.mjs +0 -343
  101. package/dist/esm2022/lib/components/misc-components/share-event-modal/share-event-modal.component.mjs +0 -127
  102. package/dist/esm2022/lib/components/misc-components/welcome-page/welcome-page.component.mjs +0 -241
  103. package/dist/esm2022/lib/components/participants-components/participant-list/participant-list.component.mjs +0 -82
  104. package/dist/esm2022/lib/components/participants-components/participant-list-item/participant-list-item.component.mjs +0 -139
  105. package/dist/esm2022/lib/components/participants-components/participant-list-others/participant-list-others.component.mjs +0 -40
  106. package/dist/esm2022/lib/components/participants-components/participant-list-others-item/participant-list-others-item.component.mjs +0 -60
  107. package/dist/esm2022/lib/components/participants-components/participants-modal/participants-modal.component.mjs +0 -124
  108. package/dist/esm2022/lib/components/polls-components/poll-modal/poll-modal.component.mjs +0 -201
  109. package/dist/esm2022/lib/components/recording-components/advanced-panel-component/advanced-panel-components.component.mjs +0 -92
  110. package/dist/esm2022/lib/components/recording-components/recording-modal/recording-modal.component.mjs +0 -133
  111. package/dist/esm2022/lib/components/recording-components/standard-panel-component/standard-panel-component.component.mjs +0 -90
  112. package/dist/esm2022/lib/components/requests-components/render-request-component/render-request-component.component.mjs +0 -81
  113. package/dist/esm2022/lib/components/requests-components/requests-modal/requests-modal.component.mjs +0 -147
  114. package/dist/esm2022/lib/components/screenboard-components/screenboard/screenboard.component.mjs +0 -627
  115. package/dist/esm2022/lib/components/screenboard-components/screenboard-modal/screenboard-modal.component.mjs +0 -391
  116. package/dist/esm2022/lib/components/waiting-components/waiting-room-modal.component.mjs +0 -201
  117. package/dist/esm2022/lib/components/whiteboard-components/configure-whiteboard-modal/configure-whiteboard-modal.component.mjs +0 -286
  118. package/dist/esm2022/lib/components/whiteboard-components/whiteboard/whiteboard.component.mjs +0 -1833
  119. package/dist/esm2022/lib/consumers/add-videos-grid.service.mjs +0 -345
  120. package/dist/esm2022/lib/consumers/auto-adjust.service.mjs +0 -109
  121. package/dist/esm2022/lib/consumers/calculate-rows-and-columns.service.mjs +0 -60
  122. package/dist/esm2022/lib/consumers/change-vids.service.mjs +0 -551
  123. package/dist/esm2022/lib/consumers/check-grid.service.mjs +0 -93
  124. package/dist/esm2022/lib/consumers/check-permission.service.mjs +0 -105
  125. package/dist/esm2022/lib/consumers/check-screen-share.service.mjs +0 -106
  126. package/dist/esm2022/lib/consumers/close-and-resize.service.mjs +0 -331
  127. package/dist/esm2022/lib/consumers/compare-active-names.service.mjs +0 -106
  128. package/dist/esm2022/lib/consumers/compare-screen-states.service.mjs +0 -98
  129. package/dist/esm2022/lib/consumers/connect-ips.service.mjs +0 -154
  130. package/dist/esm2022/lib/consumers/connect-recv-transport.service.mjs +0 -146
  131. package/dist/esm2022/lib/consumers/connect-send-transport-audio.service.mjs +0 -84
  132. package/dist/esm2022/lib/consumers/connect-send-transport-screen.service.mjs +0 -102
  133. package/dist/esm2022/lib/consumers/connect-send-transport-video.service.mjs +0 -99
  134. package/dist/esm2022/lib/consumers/connect-send-transport.service.mjs +0 -140
  135. package/dist/esm2022/lib/consumers/consumer-resume.service.mjs +0 -368
  136. package/dist/esm2022/lib/consumers/control-media.service.mjs +0 -113
  137. package/dist/esm2022/lib/consumers/create-send-transport.service.mjs +0 -172
  138. package/dist/esm2022/lib/consumers/disconnect-send-transport-audio.service.mjs +0 -108
  139. package/dist/esm2022/lib/consumers/disconnect-send-transport-screen.service.mjs +0 -84
  140. package/dist/esm2022/lib/consumers/disconnect-send-transport-video.service.mjs +0 -101
  141. package/dist/esm2022/lib/consumers/disp-streams.service.mjs +0 -513
  142. package/dist/esm2022/lib/consumers/generate-page-content.service.mjs +0 -106
  143. package/dist/esm2022/lib/consumers/get-estimate.service.mjs +0 -120
  144. package/dist/esm2022/lib/consumers/get-piped-producers-alt.service.mjs +0 -82
  145. package/dist/esm2022/lib/consumers/get-producers-piped.service.mjs +0 -79
  146. package/dist/esm2022/lib/consumers/get-videos.service.mjs +0 -91
  147. package/dist/esm2022/lib/consumers/mix-streams.service.mjs +0 -95
  148. package/dist/esm2022/lib/consumers/on-screen-changes.service.mjs +0 -103
  149. package/dist/esm2022/lib/consumers/prepopulate-user-media.service.mjs +0 -541
  150. package/dist/esm2022/lib/consumers/process-consumer-transports-audio.service.mjs +0 -101
  151. package/dist/esm2022/lib/consumers/process-consumer-transports.service.mjs +0 -128
  152. package/dist/esm2022/lib/consumers/re-port.service.mjs +0 -114
  153. package/dist/esm2022/lib/consumers/re-update-inter.service.mjs +0 -239
  154. package/dist/esm2022/lib/consumers/readjust.service.mjs +0 -173
  155. package/dist/esm2022/lib/consumers/receive-all-piped-transports.service.mjs +0 -87
  156. package/dist/esm2022/lib/consumers/receive-room-messages.service.mjs +0 -69
  157. package/dist/esm2022/lib/consumers/reorder-streams.service.mjs +0 -239
  158. package/dist/esm2022/lib/consumers/request-screen-share.service.mjs +0 -101
  159. package/dist/esm2022/lib/consumers/resume-pause-audio-streams.service.mjs +0 -150
  160. package/dist/esm2022/lib/consumers/resume-pause-streams.service.mjs +0 -103
  161. package/dist/esm2022/lib/consumers/resume-send-transport-audio.service.mjs +0 -91
  162. package/dist/esm2022/lib/consumers/signal-new-consumer-transport.service.mjs +0 -136
  163. package/dist/esm2022/lib/consumers/socket-receive-methods/join-consume-room.service.mjs +0 -96
  164. package/dist/esm2022/lib/consumers/socket-receive-methods/new-pipe-producer.service.mjs +0 -100
  165. package/dist/esm2022/lib/consumers/socket-receive-methods/producer-closed.service.mjs +0 -78
  166. package/dist/esm2022/lib/consumers/start-share-screen.service.mjs +0 -120
  167. package/dist/esm2022/lib/consumers/stop-share-screen.service.mjs +0 -175
  168. package/dist/esm2022/lib/consumers/stream-success-audio-switch.service.mjs +0 -185
  169. package/dist/esm2022/lib/consumers/stream-success-audio.service.mjs +0 -210
  170. package/dist/esm2022/lib/consumers/stream-success-screen.service.mjs +0 -193
  171. package/dist/esm2022/lib/consumers/stream-success-video.service.mjs +0 -260
  172. package/dist/esm2022/lib/consumers/switch-user-audio.service.mjs +0 -120
  173. package/dist/esm2022/lib/consumers/switch-user-video-alt.service.mjs +0 -260
  174. package/dist/esm2022/lib/consumers/switch-user-video.service.mjs +0 -172
  175. package/dist/esm2022/lib/consumers/trigger.service.mjs +0 -210
  176. package/dist/esm2022/lib/consumers/update-mini-cards-grid.service.mjs +0 -135
  177. package/dist/esm2022/lib/consumers/update-participant-audio-decibels.service.mjs +0 -84
  178. package/dist/esm2022/lib/methods/background-methods/launch-background.service.mjs +0 -48
  179. package/dist/esm2022/lib/methods/breakout-room-methods/breakout-room-updated.service.mjs +0 -183
  180. package/dist/esm2022/lib/methods/breakout-room-methods/launch-breakout-rooms.service.mjs +0 -46
  181. package/dist/esm2022/lib/methods/co-host-methods/launch-co-host.service.mjs +0 -46
  182. package/dist/esm2022/lib/methods/co-host-methods/modify-co-host-settings.service.mjs +0 -104
  183. package/dist/esm2022/lib/methods/display-settings-methods/launch-display-settings.service.mjs +0 -46
  184. package/dist/esm2022/lib/methods/display-settings-methods/modify-display-settings.service.mjs +0 -194
  185. package/dist/esm2022/lib/methods/exit-methods/confirm-exit.service.mjs +0 -52
  186. package/dist/esm2022/lib/methods/exit-methods/launch-confirm-exit.service.mjs +0 -42
  187. package/dist/esm2022/lib/methods/media-settings-methods/launch-media-settings.service.mjs +0 -85
  188. package/dist/esm2022/lib/methods/menu-methods/launch-menu-modal.service.mjs +0 -44
  189. package/dist/esm2022/lib/methods/message-methods/launch-messages.service.mjs +0 -45
  190. package/dist/esm2022/lib/methods/message-methods/send-message.service.mjs +0 -143
  191. package/dist/esm2022/lib/methods/participants-methods/launch-participants.service.mjs +0 -47
  192. package/dist/esm2022/lib/methods/participants-methods/message-participants.service.mjs +0 -98
  193. package/dist/esm2022/lib/methods/participants-methods/mute-participants.service.mjs +0 -96
  194. package/dist/esm2022/lib/methods/participants-methods/remove-participants.service.mjs +0 -107
  195. package/dist/esm2022/lib/methods/polls-methods/handle-create-poll.service.mjs +0 -75
  196. package/dist/esm2022/lib/methods/polls-methods/handle-end-poll.service.mjs +0 -72
  197. package/dist/esm2022/lib/methods/polls-methods/handle-vote-poll.service.mjs +0 -83
  198. package/dist/esm2022/lib/methods/polls-methods/launch-poll.service.mjs +0 -43
  199. package/dist/esm2022/lib/methods/polls-methods/poll-updated.service.mjs +0 -95
  200. package/dist/esm2022/lib/methods/recording-methods/check-pause-state.service.mjs +0 -69
  201. package/dist/esm2022/lib/methods/recording-methods/check-resume-state.service.mjs +0 -56
  202. package/dist/esm2022/lib/methods/recording-methods/confirm-recording.service.mjs +0 -278
  203. package/dist/esm2022/lib/methods/recording-methods/launch-recording.service.mjs +0 -125
  204. package/dist/esm2022/lib/methods/recording-methods/record-pause-timer.service.mjs +0 -67
  205. package/dist/esm2022/lib/methods/recording-methods/record-resume-timer.service.mjs +0 -130
  206. package/dist/esm2022/lib/methods/recording-methods/record-start-timer.service.mjs +0 -134
  207. package/dist/esm2022/lib/methods/recording-methods/record-update-timer.service.mjs +0 -80
  208. package/dist/esm2022/lib/methods/recording-methods/start-recording.service.mjs +0 -197
  209. package/dist/esm2022/lib/methods/recording-methods/stop-recording.service.mjs +0 -112
  210. package/dist/esm2022/lib/methods/recording-methods/update-recording.service.mjs +0 -272
  211. package/dist/esm2022/lib/methods/requests-methods/launch-requests.service.mjs +0 -51
  212. package/dist/esm2022/lib/methods/requests-methods/respond-to-requests.service.mjs +0 -84
  213. package/dist/esm2022/lib/methods/settings-methods/launch-settings.service.mjs +0 -51
  214. package/dist/esm2022/lib/methods/settings-methods/modify-settings.service.mjs +0 -109
  215. package/dist/esm2022/lib/methods/stream-methods/click-audio.service.mjs +0 -275
  216. package/dist/esm2022/lib/methods/stream-methods/click-chat.service.mjs +0 -75
  217. package/dist/esm2022/lib/methods/stream-methods/click-screen-share.service.mjs +0 -178
  218. package/dist/esm2022/lib/methods/stream-methods/click-video.service.mjs +0 -271
  219. package/dist/esm2022/lib/methods/stream-methods/switch-audio.service.mjs +0 -80
  220. package/dist/esm2022/lib/methods/stream-methods/switch-video-alt.service.mjs +0 -116
  221. package/dist/esm2022/lib/methods/stream-methods/switch-video.service.mjs +0 -132
  222. package/dist/esm2022/lib/methods/utils/format-number.service.mjs +0 -57
  223. package/dist/esm2022/lib/methods/utils/generate-random-messages.service.mjs +0 -120
  224. package/dist/esm2022/lib/methods/utils/generate-random-participants.service.mjs +0 -126
  225. package/dist/esm2022/lib/methods/utils/generate-random-polls.service.mjs +0 -78
  226. package/dist/esm2022/lib/methods/utils/generate-random-request-list.service.mjs +0 -90
  227. package/dist/esm2022/lib/methods/utils/generate-random-waiting-room-list.service.mjs +0 -59
  228. package/dist/esm2022/lib/methods/utils/get-modal-position.util.mjs +0 -32
  229. package/dist/esm2022/lib/methods/utils/get-overlay-position.util.mjs +0 -31
  230. package/dist/esm2022/lib/methods/utils/initial-values.util.mjs +0 -379
  231. package/dist/esm2022/lib/methods/utils/meeting-timer/start-meeting-progress-timer.service.mjs +0 -96
  232. package/dist/esm2022/lib/methods/utils/mini-audio-player/mini-audio-player.component.mjs +0 -315
  233. package/dist/esm2022/lib/methods/utils/producer/a-params.service.mjs +0 -58
  234. package/dist/esm2022/lib/methods/utils/producer/h-params.service.mjs +0 -87
  235. package/dist/esm2022/lib/methods/utils/producer/screen-params.service.mjs +0 -61
  236. package/dist/esm2022/lib/methods/utils/producer/v-params.service.mjs +0 -87
  237. package/dist/esm2022/lib/methods/utils/producer/video-capture-constraints.service.mjs +0 -84
  238. package/dist/esm2022/lib/methods/utils/sleep.util.mjs +0 -17
  239. package/dist/esm2022/lib/methods/utils/sound-player.service.mjs +0 -63
  240. package/dist/esm2022/lib/methods/utils/validate-alphanumeric.service.mjs +0 -49
  241. package/dist/esm2022/lib/methods/waiting-methods/launch-waiting.service.mjs +0 -41
  242. package/dist/esm2022/lib/methods/waiting-methods/respond-to-waiting.service.mjs +0 -69
  243. package/dist/esm2022/lib/methods/whiteboard-methods/capture-canvas-stream.service.mjs +0 -98
  244. package/dist/esm2022/lib/methods/whiteboard-methods/launch-configure-whiteboard.service.mjs +0 -44
  245. package/dist/esm2022/lib/producer-client/producer-client-emits/create-device-client.service.mjs +0 -74
  246. package/dist/esm2022/lib/producer-client/producer-client-emits/join-room-client.service.mjs +0 -96
  247. package/dist/esm2022/lib/producer-client/producer-client-emits/update-room-parameters-client.service.mjs +0 -276
  248. package/dist/esm2022/lib/producers/producer-emits/join-con-room.service.mjs +0 -152
  249. package/dist/esm2022/lib/producers/producer-emits/join-room.service.mjs +0 -152
  250. package/dist/esm2022/lib/producers/socket-receive-methods/all-members-rest.service.mjs +0 -228
  251. package/dist/esm2022/lib/producers/socket-receive-methods/all-members.service.mjs +0 -218
  252. package/dist/esm2022/lib/producers/socket-receive-methods/all-waiting-room-members.service.mjs +0 -57
  253. package/dist/esm2022/lib/producers/socket-receive-methods/ban-participant.service.mjs +0 -76
  254. package/dist/esm2022/lib/producers/socket-receive-methods/control-media-host.service.mjs +0 -183
  255. package/dist/esm2022/lib/producers/socket-receive-methods/disconnect-user-self.service.mjs +0 -50
  256. package/dist/esm2022/lib/producers/socket-receive-methods/disconnect.service.mjs +0 -64
  257. package/dist/esm2022/lib/producers/socket-receive-methods/get-domains.service.mjs +0 -78
  258. package/dist/esm2022/lib/producers/socket-receive-methods/host-request-response.service.mjs +0 -150
  259. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-ended.service.mjs +0 -73
  260. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-still-there.service.mjs +0 -47
  261. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-time-remaining.service.mjs +0 -63
  262. package/dist/esm2022/lib/producers/socket-receive-methods/participant-requested.service.mjs +0 -63
  263. package/dist/esm2022/lib/producers/socket-receive-methods/person-joined.service.mjs +0 -54
  264. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-closed.service.mjs +0 -129
  265. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-paused.service.mjs +0 -152
  266. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-resumed.service.mjs +0 -99
  267. package/dist/esm2022/lib/producers/socket-receive-methods/re-initiate-recording.service.mjs +0 -67
  268. package/dist/esm2022/lib/producers/socket-receive-methods/receive-message.service.mjs +0 -134
  269. package/dist/esm2022/lib/producers/socket-receive-methods/recording-notice.service.mjs +0 -233
  270. package/dist/esm2022/lib/producers/socket-receive-methods/room-record-params.service.mjs +0 -121
  271. package/dist/esm2022/lib/producers/socket-receive-methods/screen-producer-id.service.mjs +0 -86
  272. package/dist/esm2022/lib/producers/socket-receive-methods/start-records.service.mjs +0 -60
  273. package/dist/esm2022/lib/producers/socket-receive-methods/stopped-recording.service.mjs +0 -62
  274. package/dist/esm2022/lib/producers/socket-receive-methods/time-left-recording.service.mjs +0 -57
  275. package/dist/esm2022/lib/producers/socket-receive-methods/update-consuming-domains.service.mjs +0 -105
  276. package/dist/esm2022/lib/producers/socket-receive-methods/update-media-settings.service.mjs +0 -66
  277. package/dist/esm2022/lib/producers/socket-receive-methods/updated-co-host.service.mjs +0 -96
  278. package/dist/esm2022/lib/producers/socket-receive-methods/user-waiting.service.mjs +0 -52
  279. package/dist/esm2022/lib/sockets/socket-manager.service.mjs +0 -113
  280. package/dist/esm2022/mediasfu-angular.mjs +0 -5
  281. package/dist/esm2022/public-api.mjs +0 -187
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvQHR5cGVzL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0eXBlcy50c1xuaW1wb3J0IHsgU29ja2V0IH0gZnJvbSAnc29ja2V0LmlvLWNsaWVudCc7XG5pbXBvcnQge1xuICBDb25zdW1lcixcbiAgRHRsc1BhcmFtZXRlcnMsXG4gIEljZUNhbmRpZGF0ZSxcbiAgSWNlUGFyYW1ldGVycyxcbiAgUnRwQ2FwYWJpbGl0aWVzLFxufSBmcm9tICdtZWRpYXNvdXAtY2xpZW50L2xpYi90eXBlcyc7XG5pbXBvcnQgeyBJY29uRGVmaW5pdGlvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBDdXN0b21Db21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2Rpc3BsYXktY29tcG9uZW50cy9jb250cm9sLWJ1dHRvbnMtY29tcG9uZW50L2NvbnRyb2wtYnV0dG9ucy1jb21wb25lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IEN1c3RvbUJ1dHRvbiB9IGZyb20gJy4uL2NvbXBvbmVudHMvbWVudS1jb21wb25lbnRzL2N1c3RvbS1idXR0b25zL2N1c3RvbS1idXR0b25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5cbi8vIC8vY29uc3VtZXJzL3NvY2tldC1yZWNlaXZlLW1ldGhvZHNcbmV4cG9ydCB0eXBlIHtcbiAgSm9pbkNvbnN1bWVSb29tT3B0aW9ucyxcbiAgSm9pbkNvbnN1bWVSb29tVHlwZSxcbiAgSm9pbkNvbnN1bWVSb29tUGFyYW1ldGVycyxcbn0gZnJvbSAnLi4vY29uc3VtZXJzL3NvY2tldC1yZWNlaXZlLW1ldGhvZHMvam9pbi1jb25zdW1lLXJvb20uc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIFByb2R1Y2VyQ2xvc2VkT3B0aW9ucyxcbiAgUHJvZHVjZXJDbG9zZWRUeXBlLFxuICBQcm9kdWNlckNsb3NlZFBhcmFtZXRlcnMsXG59IGZyb20gJy4uL2NvbnN1bWVycy9zb2NrZXQtcmVjZWl2ZS1tZXRob2RzL3Byb2R1Y2VyLWNsb3NlZC5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgTmV3UGlwZVByb2R1Y2VyT3B0aW9ucyxcbiAgTmV3UGlwZVByb2R1Y2VyVHlwZSxcbiAgTmV3UGlwZVByb2R1Y2VyUGFyYW1ldGVycyxcbn0gZnJvbSAnLi4vY29uc3VtZXJzL3NvY2tldC1yZWNlaXZlLW1ldGhvZHMvbmV3LXBpcGUtcHJvZHVjZXIuc2VydmljZSc7XG5cbi8vIC8vY29uc3VtZXJzXG5leHBvcnQgdHlwZSB7XG4gIEFkZFZpZGVvc0dyaWRPcHRpb25zLFxuICBBZGRWaWRlb3NHcmlkVHlwZSxcbiAgQWRkVmlkZW9zR3JpZFBhcmFtZXRlcnMsXG59IGZyb20gJy4uL2NvbnN1bWVycy9hZGQtdmlkZW9zLWdyaWQuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7IEF1dG9BZGp1c3RPcHRpb25zLCBBdXRvQWRqdXN0VHlwZSB9IGZyb20gJy4uL2NvbnN1bWVycy9hdXRvLWFkanVzdC5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgQ2FsY3VsYXRlUm93c0FuZENvbHVtbnNPcHRpb25zLFxuICBDYWxjdWxhdGVSb3dzQW5kQ29sdW1uc1R5cGUsXG59IGZyb20gJy4uL2NvbnN1bWVycy9jYWxjdWxhdGUtcm93cy1hbmQtY29sdW1ucy5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgQ2hhbmdlVmlkc09wdGlvbnMsXG4gIENoYW5nZVZpZHNUeXBlLFxuICBDaGFuZ2VWaWRzUGFyYW1ldGVycyxcbn0gZnJvbSAnLi4vY29uc3VtZXJzL2NoYW5nZS12aWRzLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUgeyBDaGVja0dyaWRPcHRpb25zLCBDaGVja0dyaWRUeXBlIH0gZnJvbSAnLi4vY29uc3VtZXJzL2NoZWNrLWdyaWQuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIENoZWNrUGVybWlzc2lvbk9wdGlvbnMsXG4gIENoZWNrUGVybWlzc2lvblR5cGUsXG59IGZyb20gJy4uL2NvbnN1bWVycy9jaGVjay1wZXJtaXNzaW9uLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBDaGVja1NjcmVlblNoYXJlT3B0aW9ucyxcbiAgQ2hlY2tTY3JlZW5TaGFyZVR5cGUsXG4gIENoZWNrU2NyZWVuU2hhcmVQYXJhbWV0ZXJzLFxufSBmcm9tICcuLi9jb25zdW1lcnMvY2hlY2stc2NyZWVuLXNoYXJlLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBDbG9zZUFuZFJlc2l6ZU9wdGlvbnMsXG4gIENsb3NlQW5kUmVzaXplVHlwZSxcbiAgQ2xvc2VBbmRSZXNpemVQYXJhbWV0ZXJzLFxufSBmcm9tICcuLi9jb25zdW1lcnMvY2xvc2UtYW5kLXJlc2l6ZS5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgQ29tcGFyZUFjdGl2ZU5hbWVzT3B0aW9ucyxcbiAgQ29tcGFyZUFjdGl2ZU5hbWVzVHlwZSxcbiAgQ29tcGFyZUFjdGl2ZU5hbWVzUGFyYW1ldGVycyxcbn0gZnJvbSAnLi4vY29uc3VtZXJzL2NvbXBhcmUtYWN0aXZlLW5hbWVzLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBDb21wYXJlU2NyZWVuU3RhdGVzT3B0aW9ucyxcbiAgQ29tcGFyZVNjcmVlblN0YXRlc1R5cGUsXG4gIENvbXBhcmVTY3JlZW5TdGF0ZXNQYXJhbWV0ZXJzLFxufSBmcm9tICcuLi9jb25zdW1lcnMvY29tcGFyZS1zY3JlZW4tc3RhdGVzLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBDb25uZWN0SXBzT3B0aW9ucyxcbiAgQ29ubmVjdElwc1R5cGUsXG4gIENvbm5lY3RJcHNQYXJhbWV0ZXJzLFxufSBmcm9tICcuLi9jb25zdW1lcnMvY29ubmVjdC1pcHMuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIENvbm5lY3RSZWN2VHJhbnNwb3J0T3B0aW9ucyxcbiAgQ29ubmVjdFJlY3ZUcmFuc3BvcnRUeXBlLFxuICBDb25uZWN0UmVjdlRyYW5zcG9ydFBhcmFtZXRlcnMsXG59IGZyb20gJy4uL2NvbnN1bWVycy9jb25uZWN0LXJlY3YtdHJhbnNwb3J0LnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBDb25uZWN0U2VuZFRyYW5zcG9ydE9wdGlvbnMsXG4gIENvbm5lY3RTZW5kVHJhbnNwb3J0VHlwZSxcbiAgQ29ubmVjdFNlbmRUcmFuc3BvcnRQYXJhbWV0ZXJzLFxufSBmcm9tICcuLi9jb25zdW1lcnMvY29ubmVjdC1zZW5kLXRyYW5zcG9ydC5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgQ29ubmVjdFNlbmRUcmFuc3BvcnRBdWRpb09wdGlvbnMsXG4gIENvbm5lY3RTZW5kVHJhbnNwb3J0QXVkaW9UeXBlLFxuICBDb25uZWN0U2VuZFRyYW5zcG9ydEF1ZGlvUGFyYW1ldGVycyxcbn0gZnJvbSAnLi4vY29uc3VtZXJzL2Nvbm5lY3Qtc2VuZC10cmFuc3BvcnQtYXVkaW8uc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIENvbm5lY3RTZW5kVHJhbnNwb3J0U2NyZWVuT3B0aW9ucyxcbiAgQ29ubmVjdFNlbmRUcmFuc3BvcnRTY3JlZW5UeXBlLFxuICBDb25uZWN0U2VuZFRyYW5zcG9ydFNjcmVlblBhcmFtZXRlcnMsXG59IGZyb20gJy4uL2NvbnN1bWVycy9jb25uZWN0LXNlbmQtdHJhbnNwb3J0LXNjcmVlbi5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgQ29ubmVjdFNlbmRUcmFuc3BvcnRWaWRlb09wdGlvbnMsXG4gIENvbm5lY3RTZW5kVHJhbnNwb3J0VmlkZW9UeXBlLFxuICBDb25uZWN0U2VuZFRyYW5zcG9ydFZpZGVvUGFyYW1ldGVycyxcbn0gZnJvbSAnLi4vY29uc3VtZXJzL2Nvbm5lY3Qtc2VuZC10cmFuc3BvcnQtdmlkZW8uc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIENvbnN1bWVyUmVzdW1lT3B0aW9ucyxcbiAgQ29uc3VtZXJSZXN1bWVUeXBlLFxuICBDb25zdW1lclJlc3VtZVBhcmFtZXRlcnMsXG59IGZyb20gJy4uL2NvbnN1bWVycy9jb25zdW1lci1yZXN1bWUuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7IENvbnRyb2xNZWRpYU9wdGlvbnMsIENvbnRyb2xNZWRpYVR5cGUgfSBmcm9tICcuLi9jb25zdW1lcnMvY29udHJvbC1tZWRpYS5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgQ3JlYXRlU2VuZFRyYW5zcG9ydE9wdGlvbnMsXG4gIENyZWF0ZVNlbmRUcmFuc3BvcnRUeXBlLFxuICBDcmVhdGVTZW5kVHJhbnNwb3J0UGFyYW1ldGVycyxcbn0gZnJvbSAnLi4vY29uc3VtZXJzL2NyZWF0ZS1zZW5kLXRyYW5zcG9ydC5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgRGlzY29ubmVjdFNlbmRUcmFuc3BvcnRBdWRpb09wdGlvbnMsXG4gIERpc2Nvbm5lY3RTZW5kVHJhbnNwb3J0QXVkaW9UeXBlLFxuICBEaXNjb25uZWN0U2VuZFRyYW5zcG9ydEF1ZGlvUGFyYW1ldGVycyxcbn0gZnJvbSAnLi4vY29uc3VtZXJzL2Rpc2Nvbm5lY3Qtc2VuZC10cmFuc3BvcnQtYXVkaW8uc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIERpc2Nvbm5lY3RTZW5kVHJhbnNwb3J0VmlkZW9PcHRpb25zLFxuICBEaXNjb25uZWN0U2VuZFRyYW5zcG9ydFZpZGVvVHlwZSxcbiAgRGlzY29ubmVjdFNlbmRUcmFuc3BvcnRWaWRlb1BhcmFtZXRlcnMsXG59IGZyb20gJy4uL2NvbnN1bWVycy9kaXNjb25uZWN0LXNlbmQtdHJhbnNwb3J0LXZpZGVvLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBEaXNjb25uZWN0U2VuZFRyYW5zcG9ydFNjcmVlbk9wdGlvbnMsXG4gIERpc2Nvbm5lY3RTZW5kVHJhbnNwb3J0U2NyZWVuVHlwZSxcbiAgRGlzY29ubmVjdFNlbmRUcmFuc3BvcnRTY3JlZW5QYXJhbWV0ZXJzLFxufSBmcm9tICcuLi9jb25zdW1lcnMvZGlzY29ubmVjdC1zZW5kLXRyYW5zcG9ydC1zY3JlZW4uc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIERpc3BTdHJlYW1zT3B0aW9ucyxcbiAgRGlzcFN0cmVhbXNUeXBlLFxuICBEaXNwU3RyZWFtc1BhcmFtZXRlcnMsXG59IGZyb20gJy4uL2NvbnN1bWVycy9kaXNwLXN0cmVhbXMuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIEdlbmVyYXRlUGFnZUNvbnRlbnRPcHRpb25zLFxuICBHZW5lcmF0ZVBhZ2VDb250ZW50VHlwZSxcbn0gZnJvbSAnLi4vY29uc3VtZXJzL2dlbmVyYXRlLXBhZ2UtY29udGVudC5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgR2V0RXN0aW1hdGVPcHRpb25zLFxuICBHZXRFc3RpbWF0ZVR5cGUsXG4gIEdldEVzdGltYXRlUGFyYW1ldGVycyxcbn0gZnJvbSAnLi4vY29uc3VtZXJzL2dldC1lc3RpbWF0ZS5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgR2V0UGlwZWRQcm9kdWNlcnNBbHRPcHRpb25zLFxuICBHZXRQaXBlZFByb2R1Y2Vyc0FsdFR5cGUsXG4gIEdldFBpcGVkUHJvZHVjZXJzQWx0UGFyYW1ldGVycyxcbn0gZnJvbSAnLi4vY29uc3VtZXJzL2dldC1waXBlZC1wcm9kdWNlcnMtYWx0LnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBHZXRQcm9kdWNlcnNQaXBlZE9wdGlvbnMsXG4gIEdldFByb2R1Y2Vyc1BpcGVkVHlwZSxcbiAgR2V0UHJvZHVjZXJzUGlwZWRQYXJhbWV0ZXJzLFxufSBmcm9tICcuLi9jb25zdW1lcnMvZ2V0LXByb2R1Y2Vycy1waXBlZC5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHsgR2V0VmlkZW9zT3B0aW9ucywgR2V0VmlkZW9zVHlwZSB9IGZyb20gJy4uL2NvbnN1bWVycy9nZXQtdmlkZW9zLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUgeyBNaXhTdHJlYW1zT3B0aW9ucywgTWl4U3RyZWFtc1R5cGUgfSBmcm9tICcuLi9jb25zdW1lcnMvbWl4LXN0cmVhbXMuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIE9uU2NyZWVuQ2hhbmdlc09wdGlvbnMsXG4gIE9uU2NyZWVuQ2hhbmdlc1R5cGUsXG4gIE9uU2NyZWVuQ2hhbmdlc1BhcmFtZXRlcnMsXG59IGZyb20gJy4uL2NvbnN1bWVycy9vbi1zY3JlZW4tY2hhbmdlcy5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgUHJlcG9wdWxhdGVVc2VyTWVkaWFPcHRpb25zLFxuICBQcmVwb3B1bGF0ZVVzZXJNZWRpYVR5cGUsXG4gIFByZXBvcHVsYXRlVXNlck1lZGlhUGFyYW1ldGVycyxcbn0gZnJvbSAnLi4vY29uc3VtZXJzL3ByZXBvcHVsYXRlLXVzZXItbWVkaWEuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIFByb2Nlc3NDb25zdW1lclRyYW5zcG9ydHNPcHRpb25zLFxuICBQcm9jZXNzQ29uc3VtZXJUcmFuc3BvcnRzVHlwZSxcbiAgUHJvY2Vzc0NvbnN1bWVyVHJhbnNwb3J0c1BhcmFtZXRlcnMsXG59IGZyb20gJy4uL2NvbnN1bWVycy9wcm9jZXNzLWNvbnN1bWVyLXRyYW5zcG9ydHMuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIFByb2Nlc3NDb25zdW1lclRyYW5zcG9ydHNBdWRpb09wdGlvbnMsXG4gIFByb2Nlc3NDb25zdW1lclRyYW5zcG9ydHNBdWRpb1R5cGUsXG4gIFByb2Nlc3NDb25zdW1lclRyYW5zcG9ydHNBdWRpb1BhcmFtZXRlcnMsXG59IGZyb20gJy4uL2NvbnN1bWVycy9wcm9jZXNzLWNvbnN1bWVyLXRyYW5zcG9ydHMtYXVkaW8uc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIFJlYWRqdXN0T3B0aW9ucyxcbiAgUmVhZGp1c3RUeXBlLFxuICBSZWFkanVzdFBhcmFtZXRlcnMsXG59IGZyb20gJy4uL2NvbnN1bWVycy9yZWFkanVzdC5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgUmVjZWl2ZUFsbFBpcGVkVHJhbnNwb3J0c09wdGlvbnMsXG4gIFJlY2VpdmVBbGxQaXBlZFRyYW5zcG9ydHNUeXBlLFxuICBSZWNlaXZlQWxsUGlwZWRUcmFuc3BvcnRzUGFyYW1ldGVycyxcbn0gZnJvbSAnLi4vY29uc3VtZXJzL3JlY2VpdmUtYWxsLXBpcGVkLXRyYW5zcG9ydHMuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIFJlb3JkZXJTdHJlYW1zT3B0aW9ucyxcbiAgUmVvcmRlclN0cmVhbXNUeXBlLFxuICBSZW9yZGVyU3RyZWFtc1BhcmFtZXRlcnMsXG59IGZyb20gJy4uL2NvbnN1bWVycy9yZW9yZGVyLXN0cmVhbXMuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7IFJlUG9ydE9wdGlvbnMsIFJlUG9ydFR5cGUsIFJlUG9ydFBhcmFtZXRlcnMgfSBmcm9tICcuLi9jb25zdW1lcnMvcmUtcG9ydC5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgUmVxdWVzdFNjcmVlblNoYXJlT3B0aW9ucyxcbiAgUmVxdWVzdFNjcmVlblNoYXJlVHlwZSxcbiAgUmVxdWVzdFNjcmVlblNoYXJlUGFyYW1ldGVycyxcbn0gZnJvbSAnLi4vY29uc3VtZXJzL3JlcXVlc3Qtc2NyZWVuLXNoYXJlLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBSZXN1bWVQYXVzZUF1ZGlvU3RyZWFtc09wdGlvbnMsXG4gIFJlc3VtZVBhdXNlQXVkaW9TdHJlYW1zVHlwZSxcbiAgUmVzdW1lUGF1c2VBdWRpb1N0cmVhbXNQYXJhbWV0ZXJzLFxufSBmcm9tICcuLi9jb25zdW1lcnMvcmVzdW1lLXBhdXNlLWF1ZGlvLXN0cmVhbXMuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIFJlc3VtZVBhdXNlU3RyZWFtc09wdGlvbnMsXG4gIFJlc3VtZVBhdXNlU3RyZWFtc1R5cGUsXG4gIFJlc3VtZVBhdXNlU3RyZWFtc1BhcmFtZXRlcnMsXG59IGZyb20gJy4uL2NvbnN1bWVycy9yZXN1bWUtcGF1c2Utc3RyZWFtcy5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgUmVzdW1lU2VuZFRyYW5zcG9ydEF1ZGlvT3B0aW9ucyxcbiAgUmVzdW1lU2VuZFRyYW5zcG9ydEF1ZGlvVHlwZSxcbiAgUmVzdW1lU2VuZFRyYW5zcG9ydEF1ZGlvUGFyYW1ldGVycyxcbn0gZnJvbSAnLi4vY29uc3VtZXJzL3Jlc3VtZS1zZW5kLXRyYW5zcG9ydC1hdWRpby5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgUmVVcGRhdGVJbnRlck9wdGlvbnMsXG4gIFJlVXBkYXRlSW50ZXJUeXBlLFxuICBSZVVwZGF0ZUludGVyUGFyYW1ldGVycyxcbn0gZnJvbSAnLi4vY29uc3VtZXJzL3JlLXVwZGF0ZS1pbnRlci5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgU2lnbmFsTmV3Q29uc3VtZXJUcmFuc3BvcnRPcHRpb25zLFxuICBTaWduYWxOZXdDb25zdW1lclRyYW5zcG9ydFR5cGUsXG4gIFNpZ25hbE5ld0NvbnN1bWVyVHJhbnNwb3J0UGFyYW1ldGVycyxcbn0gZnJvbSAnLi4vY29uc3VtZXJzL3NpZ25hbC1uZXctY29uc3VtZXItdHJhbnNwb3J0LnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBTdGFydFNoYXJlU2NyZWVuT3B0aW9ucyxcbiAgU3RhcnRTaGFyZVNjcmVlblR5cGUsXG4gIFN0YXJ0U2hhcmVTY3JlZW5QYXJhbWV0ZXJzLFxufSBmcm9tICcuLi9jb25zdW1lcnMvc3RhcnQtc2hhcmUtc2NyZWVuLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBTdG9wU2hhcmVTY3JlZW5PcHRpb25zLFxuICBTdG9wU2hhcmVTY3JlZW5UeXBlLFxuICBTdG9wU2hhcmVTY3JlZW5QYXJhbWV0ZXJzLFxufSBmcm9tICcuLi9jb25zdW1lcnMvc3RvcC1zaGFyZS1zY3JlZW4uc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIFN0cmVhbVN1Y2Nlc3NBdWRpb09wdGlvbnMsXG4gIFN0cmVhbVN1Y2Nlc3NBdWRpb1R5cGUsXG4gIFN0cmVhbVN1Y2Nlc3NBdWRpb1BhcmFtZXRlcnMsXG59IGZyb20gJy4uL2NvbnN1bWVycy9zdHJlYW0tc3VjY2Vzcy1hdWRpby5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgU3RyZWFtU3VjY2Vzc0F1ZGlvU3dpdGNoT3B0aW9ucyxcbiAgU3RyZWFtU3VjY2Vzc0F1ZGlvU3dpdGNoVHlwZSxcbiAgU3RyZWFtU3VjY2Vzc0F1ZGlvU3dpdGNoUGFyYW1ldGVycyxcbn0gZnJvbSAnLi4vY29uc3VtZXJzL3N0cmVhbS1zdWNjZXNzLWF1ZGlvLXN3aXRjaC5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgU3RyZWFtU3VjY2Vzc1NjcmVlbk9wdGlvbnMsXG4gIFN0cmVhbVN1Y2Nlc3NTY3JlZW5UeXBlLFxuICBTdHJlYW1TdWNjZXNzU2NyZWVuUGFyYW1ldGVycyxcbn0gZnJvbSAnLi4vY29uc3VtZXJzL3N0cmVhbS1zdWNjZXNzLXNjcmVlbi5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgU3RyZWFtU3VjY2Vzc1ZpZGVvT3B0aW9ucyxcbiAgU3RyZWFtU3VjY2Vzc1ZpZGVvVHlwZSxcbiAgU3RyZWFtU3VjY2Vzc1ZpZGVvUGFyYW1ldGVycyxcbn0gZnJvbSAnLi4vY29uc3VtZXJzL3N0cmVhbS1zdWNjZXNzLXZpZGVvLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBTd2l0Y2hVc2VyQXVkaW9PcHRpb25zLFxuICBTd2l0Y2hVc2VyQXVkaW9UeXBlLFxuICBTd2l0Y2hVc2VyQXVkaW9QYXJhbWV0ZXJzLFxufSBmcm9tICcuLi9jb25zdW1lcnMvc3dpdGNoLXVzZXItYXVkaW8uc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIFN3aXRjaFVzZXJWaWRlb09wdGlvbnMsXG4gIFN3aXRjaFVzZXJWaWRlb1R5cGUsXG4gIFN3aXRjaFVzZXJWaWRlb1BhcmFtZXRlcnMsXG59IGZyb20gJy4uL2NvbnN1bWVycy9zd2l0Y2gtdXNlci12aWRlby5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgU3dpdGNoVXNlclZpZGVvQWx0T3B0aW9ucyxcbiAgU3dpdGNoVXNlclZpZGVvQWx0VHlwZSxcbiAgU3dpdGNoVXNlclZpZGVvQWx0UGFyYW1ldGVycyxcbn0gZnJvbSAnLi4vY29uc3VtZXJzL3N3aXRjaC11c2VyLXZpZGVvLWFsdC5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHsgVHJpZ2dlck9wdGlvbnMsIFRyaWdnZXJUeXBlLCBUcmlnZ2VyUGFyYW1ldGVycyB9IGZyb20gJy4uL2NvbnN1bWVycy90cmlnZ2VyLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBVcGRhdGVNaW5pQ2FyZHNHcmlkT3B0aW9ucyxcbiAgVXBkYXRlTWluaUNhcmRzR3JpZFR5cGUsXG4gIFVwZGF0ZU1pbmlDYXJkc0dyaWRQYXJhbWV0ZXJzLFxufSBmcm9tICcuLi9jb25zdW1lcnMvdXBkYXRlLW1pbmktY2FyZHMtZ3JpZC5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgVXBkYXRlUGFydGljaXBhbnRBdWRpb0RlY2liZWxzT3B0aW9ucyxcbiAgVXBkYXRlUGFydGljaXBhbnRBdWRpb0RlY2liZWxzVHlwZSxcbn0gZnJvbSAnLi4vY29uc3VtZXJzL3VwZGF0ZS1wYXJ0aWNpcGFudC1hdWRpby1kZWNpYmVscy5zZXJ2aWNlJztcblxuZXhwb3J0IHR5cGUgeyBBUGFyYW1zVHlwZSB9IGZyb20gJy4uL21ldGhvZHMvdXRpbHMvcHJvZHVjZXIvYS1wYXJhbXMuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7IEhQYXJhbXNUeXBlIH0gZnJvbSAnLi4vbWV0aG9kcy91dGlscy9wcm9kdWNlci9oLXBhcmFtcy5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHsgU2NyZWVuUGFyYW1zVHlwZSB9IGZyb20gJy4uL21ldGhvZHMvdXRpbHMvcHJvZHVjZXIvc2NyZWVuLXBhcmFtcy5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHsgVlBhcmFtc1R5cGUgfSBmcm9tICcuLi9tZXRob2RzL3V0aWxzL3Byb2R1Y2VyL3YtcGFyYW1zLnNlcnZpY2UnO1xuXG5leHBvcnQgdHlwZSB7XG4gIExhdW5jaEJhY2tncm91bmRPcHRpb25zLFxuICBMYXVuY2hCYWNrZ3JvdW5kVHlwZSxcbn0gZnJvbSAnLi4vbWV0aG9kcy9iYWNrZ3JvdW5kLW1ldGhvZHMvbGF1bmNoLWJhY2tncm91bmQuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIExhdW5jaEJyZWFrb3V0Um9vbXNPcHRpb25zLFxuICBMYXVuY2hCcmVha291dFJvb21zVHlwZSxcbn0gZnJvbSAnLi4vbWV0aG9kcy9icmVha291dC1yb29tLW1ldGhvZHMvbGF1bmNoLWJyZWFrb3V0LXJvb21zLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBCcmVha291dFJvb21VcGRhdGVkT3B0aW9ucyxcbiAgQnJlYWtvdXRSb29tVXBkYXRlZFR5cGUsXG4gIEJyZWFrb3V0Um9vbVVwZGF0ZWRQYXJhbWV0ZXJzLFxufSBmcm9tICcuLi9tZXRob2RzL2JyZWFrb3V0LXJvb20tbWV0aG9kcy9icmVha291dC1yb29tLXVwZGF0ZWQuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIExhdW5jaENvSG9zdE9wdGlvbnMsXG4gIExhdW5jaENvSG9zdFR5cGUsXG59IGZyb20gJy4uL21ldGhvZHMvY28taG9zdC1tZXRob2RzL2xhdW5jaC1jby1ob3N0LnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBNb2RpZnlDb0hvc3RTZXR0aW5nc09wdGlvbnMsXG4gIE1vZGlmeUNvSG9zdFNldHRpbmdzVHlwZSxcbn0gZnJvbSAnLi4vbWV0aG9kcy9jby1ob3N0LW1ldGhvZHMvbW9kaWZ5LWNvLWhvc3Qtc2V0dGluZ3Muc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIExhdW5jaERpc3BsYXlTZXR0aW5nc09wdGlvbnMsXG4gIExhdW5jaERpc3BsYXlTZXR0aW5nc1R5cGUsXG59IGZyb20gJy4uL21ldGhvZHMvZGlzcGxheS1zZXR0aW5ncy1tZXRob2RzL2xhdW5jaC1kaXNwbGF5LXNldHRpbmdzLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBNb2RpZnlEaXNwbGF5U2V0dGluZ3NPcHRpb25zLFxuICBNb2RpZnlEaXNwbGF5U2V0dGluZ3NUeXBlLFxuICBNb2RpZnlEaXNwbGF5U2V0dGluZ3NQYXJhbWV0ZXJzLFxufSBmcm9tICcuLi9tZXRob2RzL2Rpc3BsYXktc2V0dGluZ3MtbWV0aG9kcy9tb2RpZnktZGlzcGxheS1zZXR0aW5ncy5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgTGF1bmNoQ29uZmlybUV4aXRPcHRpb25zLFxuICBMYXVuY2hDb25maXJtRXhpdFR5cGUsXG59IGZyb20gJy4uL21ldGhvZHMvZXhpdC1tZXRob2RzL2xhdW5jaC1jb25maXJtLWV4aXQuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIENvbmZpcm1FeGl0T3B0aW9ucyxcbiAgQ29uZmlybUV4aXRUeXBlLFxufSBmcm9tICcuLi9tZXRob2RzL2V4aXQtbWV0aG9kcy9jb25maXJtLWV4aXQuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIExhdW5jaE1lZGlhU2V0dGluZ3NPcHRpb25zLFxuICBMYXVuY2hNZWRpYVNldHRpbmdzVHlwZSxcbn0gZnJvbSAnLi4vbWV0aG9kcy9tZWRpYS1zZXR0aW5ncy1tZXRob2RzL2xhdW5jaC1tZWRpYS1zZXR0aW5ncy5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgTGF1bmNoTWVudU1vZGFsT3B0aW9ucyxcbiAgTGF1bmNoTWVudU1vZGFsVHlwZSxcbn0gZnJvbSAnLi4vbWV0aG9kcy9tZW51LW1ldGhvZHMvbGF1bmNoLW1lbnUtbW9kYWwuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIExhdW5jaE1lc3NhZ2VzT3B0aW9ucyxcbiAgTGF1bmNoTWVzc2FnZXNUeXBlLFxufSBmcm9tICcuLi9tZXRob2RzL21lc3NhZ2UtbWV0aG9kcy9sYXVuY2gtbWVzc2FnZXMuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIFNlbmRNZXNzYWdlT3B0aW9ucyxcbiAgU2VuZE1lc3NhZ2VUeXBlLFxufSBmcm9tICcuLi9tZXRob2RzL21lc3NhZ2UtbWV0aG9kcy9zZW5kLW1lc3NhZ2Uuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIExhdW5jaFBhcnRpY2lwYW50c09wdGlvbnMsXG4gIExhdW5jaFBhcnRpY2lwYW50c1R5cGUsXG59IGZyb20gJy4uL21ldGhvZHMvcGFydGljaXBhbnRzLW1ldGhvZHMvbGF1bmNoLXBhcnRpY2lwYW50cy5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgTWVzc2FnZVBhcnRpY2lwYW50c09wdGlvbnMsXG4gIE1lc3NhZ2VQYXJ0aWNpcGFudHNUeXBlLFxufSBmcm9tICcuLi9tZXRob2RzL3BhcnRpY2lwYW50cy1tZXRob2RzL21lc3NhZ2UtcGFydGljaXBhbnRzLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBNdXRlUGFydGljaXBhbnRzT3B0aW9ucyxcbiAgTXV0ZVBhcnRpY2lwYW50c1R5cGUsXG59IGZyb20gJy4uL21ldGhvZHMvcGFydGljaXBhbnRzLW1ldGhvZHMvbXV0ZS1wYXJ0aWNpcGFudHMuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIFJlbW92ZVBhcnRpY2lwYW50c09wdGlvbnMsXG4gIFJlbW92ZVBhcnRpY2lwYW50c1R5cGUsXG59IGZyb20gJy4uL21ldGhvZHMvcGFydGljaXBhbnRzLW1ldGhvZHMvcmVtb3ZlLXBhcnRpY2lwYW50cy5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgSGFuZGxlQ3JlYXRlUG9sbE9wdGlvbnMsXG4gIEhhbmRsZUNyZWF0ZVBvbGxUeXBlLFxufSBmcm9tICcuLi9tZXRob2RzL3BvbGxzLW1ldGhvZHMvaGFuZGxlLWNyZWF0ZS1wb2xsLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBIYW5kbGVFbmRQb2xsT3B0aW9ucyxcbiAgSGFuZGxlRW5kUG9sbFR5cGUsXG59IGZyb20gJy4uL21ldGhvZHMvcG9sbHMtbWV0aG9kcy9oYW5kbGUtZW5kLXBvbGwuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIEhhbmRsZVZvdGVQb2xsT3B0aW9ucyxcbiAgSGFuZGxlVm90ZVBvbGxUeXBlLFxufSBmcm9tICcuLi9tZXRob2RzL3BvbGxzLW1ldGhvZHMvaGFuZGxlLXZvdGUtcG9sbC5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgTGF1bmNoUG9sbE9wdGlvbnMsXG4gIExhdW5jaFBvbGxUeXBlLFxufSBmcm9tICcuLi9tZXRob2RzL3BvbGxzLW1ldGhvZHMvbGF1bmNoLXBvbGwuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIFBvbGxVcGRhdGVkT3B0aW9ucyxcbiAgUG9sbFVwZGF0ZWRUeXBlLFxufSBmcm9tICcuLi9tZXRob2RzL3BvbGxzLW1ldGhvZHMvcG9sbC11cGRhdGVkLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBDaGVja1BhdXNlU3RhdGVPcHRpb25zLFxuICBDaGVja1BhdXNlU3RhdGVUeXBlLFxufSBmcm9tICcuLi9tZXRob2RzL3JlY29yZGluZy1tZXRob2RzL2NoZWNrLXBhdXNlLXN0YXRlLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBDaGVja1Jlc3VtZVN0YXRlT3B0aW9ucyxcbiAgQ2hlY2tSZXN1bWVTdGF0ZVR5cGUsXG59IGZyb20gJy4uL21ldGhvZHMvcmVjb3JkaW5nLW1ldGhvZHMvY2hlY2stcmVzdW1lLXN0YXRlLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBDb25maXJtUmVjb3JkaW5nT3B0aW9ucyxcbiAgQ29uZmlybVJlY29yZGluZ1R5cGUsXG4gIENvbmZpcm1SZWNvcmRpbmdQYXJhbWV0ZXJzLFxufSBmcm9tICcuLi9tZXRob2RzL3JlY29yZGluZy1tZXRob2RzL2NvbmZpcm0tcmVjb3JkaW5nLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBMYXVuY2hSZWNvcmRpbmdPcHRpb25zLFxuICBMYXVuY2hSZWNvcmRpbmdUeXBlLFxufSBmcm9tICcuLi9tZXRob2RzL3JlY29yZGluZy1tZXRob2RzL2xhdW5jaC1yZWNvcmRpbmcuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIFJlY29yZFBhdXNlVGltZXJPcHRpb25zLFxuICBSZWNvcmRQYXVzZVRpbWVyVHlwZSxcbn0gZnJvbSAnLi4vbWV0aG9kcy9yZWNvcmRpbmctbWV0aG9kcy9yZWNvcmQtcGF1c2UtdGltZXIuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIFJlY29yZFJlc3VtZVRpbWVyT3B0aW9ucyxcbiAgUmVjb3JkUmVzdW1lVGltZXJUeXBlLFxufSBmcm9tICcuLi9tZXRob2RzL3JlY29yZGluZy1tZXRob2RzL3JlY29yZC1yZXN1bWUtdGltZXIuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIFJlY29yZFN0YXJ0VGltZXJPcHRpb25zLFxuICBSZWNvcmRTdGFydFRpbWVyVHlwZSxcbn0gZnJvbSAnLi4vbWV0aG9kcy9yZWNvcmRpbmctbWV0aG9kcy9yZWNvcmQtc3RhcnQtdGltZXIuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIFJlY29yZFVwZGF0ZVRpbWVyT3B0aW9ucyxcbiAgUmVjb3JkVXBkYXRlVGltZXJUeXBlLFxufSBmcm9tICcuLi9tZXRob2RzL3JlY29yZGluZy1tZXRob2RzL3JlY29yZC11cGRhdGUtdGltZXIuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIFN0YXJ0UmVjb3JkaW5nT3B0aW9ucyxcbiAgU3RhcnRSZWNvcmRpbmdUeXBlLFxuICBTdGFydFJlY29yZGluZ1BhcmFtZXRlcnMsXG59IGZyb20gJy4uL21ldGhvZHMvcmVjb3JkaW5nLW1ldGhvZHMvc3RhcnQtcmVjb3JkaW5nLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBTdG9wUmVjb3JkaW5nT3B0aW9ucyxcbiAgU3RvcFJlY29yZGluZ1R5cGUsXG4gIFN0b3BSZWNvcmRpbmdQYXJhbWV0ZXJzLFxufSBmcm9tICcuLi9tZXRob2RzL3JlY29yZGluZy1tZXRob2RzL3N0b3AtcmVjb3JkaW5nLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBVcGRhdGVSZWNvcmRpbmdPcHRpb25zLFxuICBVcGRhdGVSZWNvcmRpbmdUeXBlLFxuICBVcGRhdGVSZWNvcmRpbmdQYXJhbWV0ZXJzLFxufSBmcm9tICcuLi9tZXRob2RzL3JlY29yZGluZy1tZXRob2RzL3VwZGF0ZS1yZWNvcmRpbmcuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIExhdW5jaFJlcXVlc3RzT3B0aW9ucyxcbiAgTGF1bmNoUmVxdWVzdHNUeXBlLFxufSBmcm9tICcuLi9tZXRob2RzL3JlcXVlc3RzLW1ldGhvZHMvbGF1bmNoLXJlcXVlc3RzLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBSZXNwb25kVG9SZXF1ZXN0c09wdGlvbnMsXG4gIFJlc3BvbmRUb1JlcXVlc3RzVHlwZSxcbn0gZnJvbSAnLi4vbWV0aG9kcy9yZXF1ZXN0cy1tZXRob2RzL3Jlc3BvbmQtdG8tcmVxdWVzdHMuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIExhdW5jaFNldHRpbmdzT3B0aW9ucyxcbiAgTGF1bmNoU2V0dGluZ3NUeXBlLFxufSBmcm9tICcuLi9tZXRob2RzL3NldHRpbmdzLW1ldGhvZHMvbGF1bmNoLXNldHRpbmdzLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBNb2RpZnlTZXR0aW5nc09wdGlvbnMsXG4gIE1vZGlmeVNldHRpbmdzVHlwZSxcbn0gZnJvbSAnLi4vbWV0aG9kcy9zZXR0aW5ncy1tZXRob2RzL21vZGlmeS1zZXR0aW5ncy5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgQ2xpY2tBdWRpb09wdGlvbnMsXG4gIENsaWNrQXVkaW9UeXBlLFxuICBDbGlja0F1ZGlvUGFyYW1ldGVycyxcbn0gZnJvbSAnLi4vbWV0aG9kcy9zdHJlYW0tbWV0aG9kcy9jbGljay1hdWRpby5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHsgQ2xpY2tDaGF0T3B0aW9ucywgQ2xpY2tDaGF0VHlwZSB9IGZyb20gJy4uL21ldGhvZHMvc3RyZWFtLW1ldGhvZHMvY2xpY2stY2hhdC5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgQ2xpY2tTY3JlZW5TaGFyZU9wdGlvbnMsXG4gIENsaWNrU2NyZWVuU2hhcmVUeXBlLFxuICBDbGlja1NjcmVlblNoYXJlUGFyYW1ldGVycyxcbn0gZnJvbSAnLi4vbWV0aG9kcy9zdHJlYW0tbWV0aG9kcy9jbGljay1zY3JlZW4tc2hhcmUuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIENsaWNrVmlkZW9PcHRpb25zLFxuICBDbGlja1ZpZGVvVHlwZSxcbiAgQ2xpY2tWaWRlb1BhcmFtZXRlcnMsXG59IGZyb20gJy4uL21ldGhvZHMvc3RyZWFtLW1ldGhvZHMvY2xpY2stdmlkZW8uc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIFN3aXRjaEF1ZGlvT3B0aW9ucyxcbiAgU3dpdGNoQXVkaW9UeXBlLFxuICBTd2l0Y2hBdWRpb1BhcmFtZXRlcnMsXG59IGZyb20gJy4uL21ldGhvZHMvc3RyZWFtLW1ldGhvZHMvc3dpdGNoLWF1ZGlvLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBTd2l0Y2hWaWRlb09wdGlvbnMsXG4gIFN3aXRjaFZpZGVvVHlwZSxcbiAgU3dpdGNoVmlkZW9QYXJhbWV0ZXJzLFxufSBmcm9tICcuLi9tZXRob2RzL3N0cmVhbS1tZXRob2RzL3N3aXRjaC12aWRlby5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgU3dpdGNoVmlkZW9BbHRPcHRpb25zLFxuICBTd2l0Y2hWaWRlb0FsdFR5cGUsXG59IGZyb20gJy4uL21ldGhvZHMvc3RyZWFtLW1ldGhvZHMvc3dpdGNoLXZpZGVvLWFsdC5zZXJ2aWNlJztcblxuZXhwb3J0IHR5cGUge1xuICBTdGFydE1lZXRpbmdQcm9ncmVzc1RpbWVyT3B0aW9ucyxcbiAgU3RhcnRNZWV0aW5nUHJvZ3Jlc3NUaW1lclR5cGUsXG4gIFN0YXJ0TWVldGluZ1Byb2dyZXNzVGltZXJQYXJhbWV0ZXJzLFxufSBmcm9tICcuLi9tZXRob2RzL3V0aWxzL21lZXRpbmctdGltZXIvc3RhcnQtbWVldGluZy1wcm9ncmVzcy10aW1lci5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgTWluaUF1ZGlvUGxheWVyT3B0aW9ucyxcbiAgTWluaUF1ZGlvUGxheWVyVHlwZSxcbiAgTWluaUF1ZGlvUGxheWVyUGFyYW1ldGVycyxcbn0gZnJvbSAnLi4vbWV0aG9kcy91dGlscy9taW5pLWF1ZGlvLXBsYXllci9taW5pLWF1ZGlvLXBsYXllci5jb21wb25lbnQnO1xuZXhwb3J0IHR5cGUgeyBGb3JtYXROdW1iZXJPcHRpb25zLCBGb3JtYXROdW1iZXJUeXBlIH0gZnJvbSAnLi4vbWV0aG9kcy91dGlscy9mb3JtYXQtbnVtYmVyLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBHZW5lcmF0ZVJhbmRvbU1lc3NhZ2VzT3B0aW9ucyxcbiAgR2VuZXJhdGVSYW5kb21NZXNzYWdlc1R5cGUsXG59IGZyb20gJy4uL21ldGhvZHMvdXRpbHMvZ2VuZXJhdGUtcmFuZG9tLW1lc3NhZ2VzLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBHZW5lcmF0ZVJhbmRvbVBhcnRpY2lwYW50c09wdGlvbnMsXG4gIEdlbmVyYXRlUmFuZG9tUGFydGljaXBhbnRzVHlwZSxcbn0gZnJvbSAnLi4vbWV0aG9kcy91dGlscy9nZW5lcmF0ZS1yYW5kb20tcGFydGljaXBhbnRzLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBHZW5lcmF0ZVJhbmRvbVBvbGxzT3B0aW9ucyxcbiAgR2VuZXJhdGVSYW5kb21Qb2xsc1R5cGUsXG59IGZyb20gJy4uL21ldGhvZHMvdXRpbHMvZ2VuZXJhdGUtcmFuZG9tLXBvbGxzLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBHZW5lcmF0ZVJhbmRvbVJlcXVlc3RMaXN0T3B0aW9ucyxcbiAgR2VuZXJhdGVSYW5kb21SZXF1ZXN0TGlzdFR5cGUsXG59IGZyb20gJy4uL21ldGhvZHMvdXRpbHMvZ2VuZXJhdGUtcmFuZG9tLXJlcXVlc3QtbGlzdC5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHsgR2VuZXJhdGVSYW5kb21XYWl0aW5nUm9vbUxpc3RUeXBlIH0gZnJvbSAnLi4vbWV0aG9kcy91dGlscy9nZW5lcmF0ZS1yYW5kb20td2FpdGluZy1yb29tLWxpc3Quc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIEdldE1vZGFsUG9zaXRpb25PcHRpb25zLFxuICBHZXRNb2RhbFBvc2l0aW9uVHlwZSxcbn0gZnJvbSAnLi4vbWV0aG9kcy91dGlscy9nZXQtbW9kYWwtcG9zaXRpb24udXRpbCc7XG5leHBvcnQgdHlwZSB7XG4gIEdldE92ZXJsYXlQb3NpdGlvbk9wdGlvbnMsXG4gIEdldE92ZXJsYXlQb3NpdGlvblR5cGUsXG59IGZyb20gJy4uL21ldGhvZHMvdXRpbHMvZ2V0LW92ZXJsYXktcG9zaXRpb24udXRpbCc7XG5leHBvcnQgdHlwZSB7IFNsZWVwT3B0aW9ucywgU2xlZXBUeXBlIH0gZnJvbSAnLi4vbWV0aG9kcy91dGlscy9zbGVlcC51dGlsJztcbmV4cG9ydCB0eXBlIHtcbiAgVmFsaWRhdGVBbHBoYW51bWVyaWNPcHRpb25zLFxuICBWYWxpZGF0ZUFscGhhbnVtZXJpY1R5cGUsXG59IGZyb20gJy4uL21ldGhvZHMvdXRpbHMvdmFsaWRhdGUtYWxwaGFudW1lcmljLnNlcnZpY2UnO1xuXG5leHBvcnQgdHlwZSB7XG4gIExhdW5jaFdhaXRpbmdPcHRpb25zLFxuICBMYXVuY2hXYWl0aW5nVHlwZSxcbn0gZnJvbSAnLi4vbWV0aG9kcy93YWl0aW5nLW1ldGhvZHMvbGF1bmNoLXdhaXRpbmcuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIFJlc3BvbmRUb1dhaXRpbmdPcHRpb25zLFxuICBSZXNwb25kVG9XYWl0aW5nVHlwZSxcbn0gZnJvbSAnLi4vbWV0aG9kcy93YWl0aW5nLW1ldGhvZHMvcmVzcG9uZC10by13YWl0aW5nLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBMYXVuY2hDb25maWd1cmVXaGl0ZWJvYXJkT3B0aW9ucyxcbiAgTGF1bmNoQ29uZmlndXJlV2hpdGVib2FyZFR5cGUsXG59IGZyb20gJy4uL21ldGhvZHMvd2hpdGVib2FyZC1tZXRob2RzL2xhdW5jaC1jb25maWd1cmUtd2hpdGVib2FyZC5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgQ2FwdHVyZUNhbnZhc1N0cmVhbU9wdGlvbnMsXG4gIENhcHR1cmVDYW52YXNTdHJlYW1UeXBlLFxuICBDYXB0dXJlQ2FudmFzU3RyZWFtUGFyYW1ldGVycyxcbn0gZnJvbSAnLi4vbWV0aG9kcy93aGl0ZWJvYXJkLW1ldGhvZHMvY2FwdHVyZS1jYW52YXMtc3RyZWFtLnNlcnZpY2UnO1xuXG5leHBvcnQgdHlwZSB7XG4gIENyZWF0ZURldmljZUNsaWVudE9wdGlvbnMsXG4gIENyZWF0ZURldmljZUNsaWVudFR5cGUsXG59IGZyb20gJy4uL3Byb2R1Y2VyLWNsaWVudC9wcm9kdWNlci1jbGllbnQtZW1pdHMvY3JlYXRlLWRldmljZS1jbGllbnQuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIEpvaW5Sb29tQ2xpZW50T3B0aW9ucyxcbiAgSm9pblJvb21DbGllbnRUeXBlLFxufSBmcm9tICcuLi9wcm9kdWNlci1jbGllbnQvcHJvZHVjZXItY2xpZW50LWVtaXRzL2pvaW4tcm9vbS1jbGllbnQuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIFVwZGF0ZVJvb21QYXJhbWV0ZXJzQ2xpZW50T3B0aW9ucyxcbiAgVXBkYXRlUm9vbVBhcmFtZXRlcnNDbGllbnRUeXBlLFxuICBVcGRhdGVSb29tUGFyYW1ldGVyc0NsaWVudFBhcmFtZXRlcnMsXG59IGZyb20gJy4uL3Byb2R1Y2VyLWNsaWVudC9wcm9kdWNlci1jbGllbnQtZW1pdHMvdXBkYXRlLXJvb20tcGFyYW1ldGVycy1jbGllbnQuc2VydmljZSc7XG5cbmV4cG9ydCB0eXBlIHtcbiAgSm9pbkNvblJvb21PcHRpb25zLFxuICBKb2luQ29uUm9vbVR5cGUsXG59IGZyb20gJy4uL3Byb2R1Y2Vycy9wcm9kdWNlci1lbWl0cy9qb2luLWNvbi1yb29tLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUgeyBKb2luUm9vbU9wdGlvbnMsIEpvaW5Sb29tVHlwZSB9IGZyb20gJy4uL3Byb2R1Y2Vycy9wcm9kdWNlci1lbWl0cy9qb2luLXJvb20uc2VydmljZSc7XG5cbmV4cG9ydCB0eXBlIHtcbiAgQWxsTWVtYmVyc09wdGlvbnMsXG4gIEFsbE1lbWJlcnNUeXBlLFxuICBBbGxNZW1iZXJzUGFyYW1ldGVycyxcbn0gZnJvbSAnLi4vcHJvZHVjZXJzL3NvY2tldC1yZWNlaXZlLW1ldGhvZHMvYWxsLW1lbWJlcnMuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIEFsbE1lbWJlcnNSZXN0T3B0aW9ucyxcbiAgQWxsTWVtYmVyc1Jlc3RUeXBlLFxuICBBbGxNZW1iZXJzUmVzdFBhcmFtZXRlcnMsXG59IGZyb20gJy4uL3Byb2R1Y2Vycy9zb2NrZXQtcmVjZWl2ZS1tZXRob2RzL2FsbC1tZW1iZXJzLXJlc3Quc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIEFsbFdhaXRpbmdSb29tTWVtYmVyc09wdGlvbnMsXG4gIEFsbFdhaXRpbmdSb29tTWVtYmVyc1R5cGUsXG59IGZyb20gJy4uL3Byb2R1Y2Vycy9zb2NrZXQtcmVjZWl2ZS1tZXRob2RzL2FsbC13YWl0aW5nLXJvb20tbWVtYmVycy5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgQmFuUGFydGljaXBhbnRPcHRpb25zLFxuICBCYW5QYXJ0aWNpcGFudFR5cGUsXG4gIEJhblBhcnRpY2lwYW50UGFyYW1ldGVycyxcbn0gZnJvbSAnLi4vcHJvZHVjZXJzL3NvY2tldC1yZWNlaXZlLW1ldGhvZHMvYmFuLXBhcnRpY2lwYW50LnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBDb250cm9sTWVkaWFIb3N0T3B0aW9ucyxcbiAgQ29udHJvbE1lZGlhSG9zdFR5cGUsXG4gIENvbnRyb2xNZWRpYUhvc3RQYXJhbWV0ZXJzLFxufSBmcm9tICcuLi9wcm9kdWNlcnMvc29ja2V0LXJlY2VpdmUtbWV0aG9kcy9jb250cm9sLW1lZGlhLWhvc3Quc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIERpc2Nvbm5lY3RPcHRpb25zLFxuICBEaXNjb25uZWN0VHlwZSxcbn0gZnJvbSAnLi4vcHJvZHVjZXJzL3NvY2tldC1yZWNlaXZlLW1ldGhvZHMvZGlzY29ubmVjdC5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgRGlzY29ubmVjdFVzZXJTZWxmT3B0aW9ucyxcbiAgRGlzY29ubmVjdFVzZXJTZWxmVHlwZSxcbn0gZnJvbSAnLi4vcHJvZHVjZXJzL3NvY2tldC1yZWNlaXZlLW1ldGhvZHMvZGlzY29ubmVjdC11c2VyLXNlbGYuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIEdldERvbWFpbnNPcHRpb25zLFxuICBHZXREb21haW5zVHlwZSxcbiAgR2V0RG9tYWluc1BhcmFtZXRlcnMsXG59IGZyb20gJy4uL3Byb2R1Y2Vycy9zb2NrZXQtcmVjZWl2ZS1tZXRob2RzL2dldC1kb21haW5zLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBIb3N0UmVxdWVzdFJlc3BvbnNlT3B0aW9ucyxcbiAgSG9zdFJlcXVlc3RSZXNwb25zZVR5cGUsXG59IGZyb20gJy4uL3Byb2R1Y2Vycy9zb2NrZXQtcmVjZWl2ZS1tZXRob2RzL2hvc3QtcmVxdWVzdC1yZXNwb25zZS5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgTWVldGluZ0VuZGVkT3B0aW9ucyxcbiAgTWVldGluZ0VuZGVkVHlwZSxcbn0gZnJvbSAnLi4vcHJvZHVjZXJzL3NvY2tldC1yZWNlaXZlLW1ldGhvZHMvbWVldGluZy1lbmRlZC5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgTWVldGluZ1N0aWxsVGhlcmVPcHRpb25zLFxuICBNZWV0aW5nU3RpbGxUaGVyZVR5cGUsXG59IGZyb20gJy4uL3Byb2R1Y2Vycy9zb2NrZXQtcmVjZWl2ZS1tZXRob2RzL21lZXRpbmctc3RpbGwtdGhlcmUuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIE1lZXRpbmdUaW1lUmVtYWluaW5nT3B0aW9ucyxcbiAgTWVldGluZ1RpbWVSZW1haW5pbmdUeXBlLFxufSBmcm9tICcuLi9wcm9kdWNlcnMvc29ja2V0LXJlY2VpdmUtbWV0aG9kcy9tZWV0aW5nLXRpbWUtcmVtYWluaW5nLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBQYXJ0aWNpcGFudFJlcXVlc3RlZE9wdGlvbnMsXG4gIFBhcnRpY2lwYW50UmVxdWVzdGVkVHlwZSxcbn0gZnJvbSAnLi4vcHJvZHVjZXJzL3NvY2tldC1yZWNlaXZlLW1ldGhvZHMvcGFydGljaXBhbnQtcmVxdWVzdGVkLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBQZXJzb25Kb2luZWRPcHRpb25zLFxuICBQZXJzb25Kb2luZWRUeXBlLFxufSBmcm9tICcuLi9wcm9kdWNlcnMvc29ja2V0LXJlY2VpdmUtbWV0aG9kcy9wZXJzb24tam9pbmVkLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBQcm9kdWNlck1lZGlhQ2xvc2VkT3B0aW9ucyxcbiAgUHJvZHVjZXJNZWRpYUNsb3NlZFR5cGUsXG4gIFByb2R1Y2VyTWVkaWFDbG9zZWRQYXJhbWV0ZXJzLFxufSBmcm9tICcuLi9wcm9kdWNlcnMvc29ja2V0LXJlY2VpdmUtbWV0aG9kcy9wcm9kdWNlci1tZWRpYS1jbG9zZWQuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIFByb2R1Y2VyTWVkaWFQYXVzZWRPcHRpb25zLFxuICBQcm9kdWNlck1lZGlhUGF1c2VkVHlwZSxcbiAgUHJvZHVjZXJNZWRpYVBhdXNlZFBhcmFtZXRlcnMsXG59IGZyb20gJy4uL3Byb2R1Y2Vycy9zb2NrZXQtcmVjZWl2ZS1tZXRob2RzL3Byb2R1Y2VyLW1lZGlhLXBhdXNlZC5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgUHJvZHVjZXJNZWRpYVJlc3VtZWRPcHRpb25zLFxuICBQcm9kdWNlck1lZGlhUmVzdW1lZFR5cGUsXG4gIFByb2R1Y2VyTWVkaWFSZXN1bWVkUGFyYW1ldGVycyxcbn0gZnJvbSAnLi4vcHJvZHVjZXJzL3NvY2tldC1yZWNlaXZlLW1ldGhvZHMvcHJvZHVjZXItbWVkaWEtcmVzdW1lZC5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgUmVJbml0aWF0ZVJlY29yZGluZ09wdGlvbnMsXG4gIFJlSW5pdGlhdGVSZWNvcmRpbmdUeXBlLFxufSBmcm9tICcuLi9wcm9kdWNlcnMvc29ja2V0LXJlY2VpdmUtbWV0aG9kcy9yZS1pbml0aWF0ZS1yZWNvcmRpbmcuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIFJlY2VpdmVNZXNzYWdlT3B0aW9ucyxcbiAgUmVjZWl2ZU1lc3NhZ2VUeXBlLFxufSBmcm9tICcuLi9wcm9kdWNlcnMvc29ja2V0LXJlY2VpdmUtbWV0aG9kcy9yZWNlaXZlLW1lc3NhZ2Uuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIFJlY29yZGluZ05vdGljZU9wdGlvbnMsXG4gIFJlY29yZGluZ05vdGljZVR5cGUsXG4gIFJlY29yZGluZ05vdGljZVBhcmFtZXRlcnMsXG59IGZyb20gJy4uL3Byb2R1Y2Vycy9zb2NrZXQtcmVjZWl2ZS1tZXRob2RzL3JlY29yZGluZy1ub3RpY2Uuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIFJvb21SZWNvcmRQYXJhbXNPcHRpb25zLFxuICBSb29tUmVjb3JkUGFyYW1zVHlwZSxcbiAgUm9vbVJlY29yZFBhcmFtc1BhcmFtZXRlcnMsXG4gIFJlY29yZFBhcmFtcyxcbn0gZnJvbSAnLi4vcHJvZHVjZXJzL3NvY2tldC1yZWNlaXZlLW1ldGhvZHMvcm9vbS1yZWNvcmQtcGFyYW1zLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBTY3JlZW5Qcm9kdWNlcklkT3B0aW9ucyxcbiAgU2NyZWVuUHJvZHVjZXJJZFR5cGUsXG59IGZyb20gJy4uL3Byb2R1Y2Vycy9zb2NrZXQtcmVjZWl2ZS1tZXRob2RzL3NjcmVlbi1wcm9kdWNlci1pZC5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgU3RhcnRSZWNvcmRzT3B0aW9ucyxcbiAgU3RhcnRSZWNvcmRzVHlwZSxcbn0gZnJvbSAnLi4vcHJvZHVjZXJzL3NvY2tldC1yZWNlaXZlLW1ldGhvZHMvc3RhcnQtcmVjb3Jkcy5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgU3RvcHBlZFJlY29yZGluZ09wdGlvbnMsXG4gIFN0b3BwZWRSZWNvcmRpbmdUeXBlLFxufSBmcm9tICcuLi9wcm9kdWNlcnMvc29ja2V0LXJlY2VpdmUtbWV0aG9kcy9zdG9wcGVkLXJlY29yZGluZy5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgVGltZUxlZnRSZWNvcmRpbmdPcHRpb25zLFxuICBUaW1lTGVmdFJlY29yZGluZ1R5cGUsXG59IGZyb20gJy4uL3Byb2R1Y2Vycy9zb2NrZXQtcmVjZWl2ZS1tZXRob2RzL3RpbWUtbGVmdC1yZWNvcmRpbmcuc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIFVwZGF0ZUNvbnN1bWluZ0RvbWFpbnNPcHRpb25zLFxuICBVcGRhdGVDb25zdW1pbmdEb21haW5zVHlwZSxcbiAgVXBkYXRlQ29uc3VtaW5nRG9tYWluc1BhcmFtZXRlcnMsXG59IGZyb20gJy4uL3Byb2R1Y2Vycy9zb2NrZXQtcmVjZWl2ZS1tZXRob2RzL3VwZGF0ZS1jb25zdW1pbmctZG9tYWlucy5zZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgVXBkYXRlTWVkaWFTZXR0aW5nc09wdGlvbnMsXG4gIFVwZGF0ZU1lZGlhU2V0dGluZ3NUeXBlLFxufSBmcm9tICcuLi9wcm9kdWNlcnMvc29ja2V0LXJlY2VpdmUtbWV0aG9kcy91cGRhdGUtbWVkaWEtc2V0dGluZ3Muc2VydmljZSc7XG5leHBvcnQgdHlwZSB7XG4gIFVwZGF0ZWRDb0hvc3RPcHRpb25zLFxuICBVcGRhdGVkQ29Ib3N0VHlwZSxcbn0gZnJvbSAnLi4vcHJvZHVjZXJzL3NvY2tldC1yZWNlaXZlLW1ldGhvZHMvdXBkYXRlZC1jby1ob3N0LnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBVc2VyV2FpdGluZ09wdGlvbnMsXG4gIFVzZXJXYWl0aW5nVHlwZSxcbn0gZnJvbSAnLi4vcHJvZHVjZXJzL3NvY2tldC1yZWNlaXZlLW1ldGhvZHMvdXNlci13YWl0aW5nLnNlcnZpY2UnO1xuZXhwb3J0IHR5cGUge1xuICBDb25uZWN0U29ja2V0T3B0aW9ucyxcbiAgQ29ubmVjdFNvY2tldFR5cGUsXG4gIERpc2Nvbm5lY3RTb2NrZXRUeXBlLFxuICBEaXNjb25uZWN0U29ja2V0T3B0aW9ucyxcbn0gZnJvbSAnLi4vc29ja2V0cy9zb2NrZXQtbWFuYWdlci5zZXJ2aWNlJztcblxuZXhwb3J0IHR5cGUge1xuICBCYWNrZ3JvdW5kTW9kYWxPcHRpb25zLFxuICBCYWNrZ3JvdW5kTW9kYWxUeXBlLFxuICBCYWNrZ3JvdW5kTW9kYWxQYXJhbWV0ZXJzLFxufSBmcm9tICcuLi9jb21wb25lbnRzL2JhY2tncm91bmQtY29tcG9uZW50cy9iYWNrZ3JvdW5kLW1vZGFsL2JhY2tncm91bmQtbW9kYWwuY29tcG9uZW50JztcbmV4cG9ydCB0eXBlIHtcbiAgQnJlYWtvdXRSb29tc01vZGFsT3B0aW9ucyxcbiAgQnJlYWtvdXRSb29tc01vZGFsVHlwZSxcbiAgQnJlYWtvdXRSb29tc01vZGFsUGFyYW1ldGVycyxcbn0gZnJvbSAnLi4vY29tcG9uZW50cy9icmVha291dC1jb21wb25lbnRzL2JyZWFrb3V0LXJvb21zLW1vZGFsLmNvbXBvbmVudCc7XG5leHBvcnQgdHlwZSB7XG4gIENvSG9zdE1vZGFsT3B0aW9ucyxcbiAgQ29Ib3N0TW9kYWxUeXBlLFxufSBmcm9tICcuLi9jb21wb25lbnRzL2NvLWhvc3QtY29tcG9uZW50cy9jby1ob3N0LW1vZGFsL2NvLWhvc3QtbW9kYWwuY29tcG9uZW50JztcbmV4cG9ydCB0eXBlIHtcbiAgQWxlcnRDb21wb25lbnRPcHRpb25zLFxuICBBbGVydENvbXBvbmVudFR5cGUsXG59IGZyb20gJy4uL2NvbXBvbmVudHMvZGlzcGxheS1jb21wb25lbnRzL2FsZXJ0LWNvbXBvbmVudC9hbGVydC5jb21wb25lbnQuY29tcG9uZW50JztcbmV4cG9ydCB0eXBlIHtcbiAgQXVkaW9DYXJkT3B0aW9ucyxcbiAgQXVkaW9DYXJkVHlwZSxcbiAgQXVkaW9DYXJkUGFyYW1ldGVycyxcbn0gZnJvbSAnLi4vY29tcG9uZW50cy9kaXNwbGF5LWNvbXBvbmVudHMvYXVkaW8tY2FyZC9hdWRpby1jYXJkLmNvbXBvbmVudCc7XG5leHBvcnQgdHlwZSB7XG4gIEF1ZGlvR3JpZE9wdGlvbnMsXG4gIEF1ZGlvR3JpZFR5cGUsXG59IGZyb20gJy4uL2NvbXBvbmVudHMvZGlzcGxheS1jb21wb25lbnRzL2F1ZGlvLWdyaWQvYXVkaW8tZ3JpZC5jb21wb25lbnQnO1xuZXhwb3J0IHR5cGUge1xuICBDYXJkVmlkZW9EaXNwbGF5T3B0aW9ucyxcbiAgQ2FyZFZpZGVvRGlzcGxheVR5cGUsXG59IGZyb20gJy4uL2NvbXBvbmVudHMvZGlzcGxheS1jb21wb25lbnRzL2NhcmQtdmlkZW8tZGlzcGxheS9jYXJkLXZpZGVvLWRpc3BsYXkuY29tcG9uZW50JztcbmV4cG9ydCB0eXBlIHtcbiAgQ29udHJvbEJ1dHRvbnNDb21wb25lbnRPcHRpb25zLFxuICBDb250cm9sQnV0dG9uc0NvbXBvbmVudFR5cGUsXG4gIEJ1dHRvbixcbn0gZnJvbSAnLi4vY29tcG9uZW50cy9kaXNwbGF5LWNvbXBvbmVudHMvY29udHJvbC1idXR0b25zLWNvbXBvbmVudC9jb250cm9sLWJ1dHRvbnMtY29tcG9uZW50LmNvbXBvbmVudCc7XG5leHBvcnQgdHlwZSB7XG4gIENvbnRyb2xCdXR0b25zQWx0Q29tcG9uZW50T3B0aW9ucyxcbiAgQ29udHJvbEJ1dHRvbnNBbHRDb21wb25lbnRUeXBlLFxuICBBbHRCdXR0b24sXG59IGZyb20gJy4uL2NvbXBvbmVudHMvZGlzcGxheS1jb21wb25lbnRzL2NvbnRyb2wtYnV0dG9ucy1hbHQtY29tcG9uZW50L2NvbnRyb2wtYnV0dG9ucy1hbHQtY29tcG9uZW50LmNvbXBvbmVudCc7XG5leHBvcnQgdHlwZSB7XG4gIENvbnRyb2xCdXR0b25zQ29tcG9uZW50VG91Y2hPcHRpb25zLFxuICBDb250cm9sQnV0dG9uc0NvbXBvbmVudFRvdWNoVHlwZSxcbiAgQnV0dG9uVG91Y2gsXG59IGZyb20gJy4uL2NvbXBvbmVudHMvZGlzcGxheS1jb21wb25lbnRzL2NvbnRyb2wtYnV0dG9ucy1jb21wb25lbnQtdG91Y2gvY29udHJvbC1idXR0b25zLWNvbXBvbmVudC10b3VjaC5jb21wb25lbnQnO1xuZXhwb3J0IHR5cGUge1xuICBGbGV4aWJsZUdyaWRPcHRpb25zLFxuICBGbGV4aWJsZUdyaWRUeXBlLFxufSBmcm9tICcuLi9jb21wb25lbnRzL2Rpc3BsYXktY29tcG9uZW50cy9mbGV4aWJsZS1ncmlkL2ZsZXhpYmxlLWdyaWQuY29tcG9uZW50JztcbmV4cG9ydCB0eXBlIHtcbiAgRmxleGlibGVWaWRlb09wdGlvbnMsXG4gIEZsZXhpYmxlVmlkZW9UeXBlLFxufSBmcm9tICcuLi9jb21wb25lbnRzL2Rpc3BsYXktY29tcG9uZW50cy9mbGV4aWJsZS12aWRlby9mbGV4aWJsZS12aWRlby5jb21wb25lbnQnO1xuZXhwb3J0IHR5cGUge1xuICBMb2FkaW5nTW9kYWxPcHRpb25zLFxuICBMb2FkaW5nTW9kYWxUeXBlLFxufSBmcm9tICcuLi9jb21wb25lbnRzL2Rpc3BsYXktY29tcG9uZW50cy9sb2FkaW5nLW1vZGFsL2xvYWRpbmctbW9kYWwuY29tcG9uZW50JztcbmV4cG9ydCB0eXBlIHtcbiAgTWFpbkFzcGVjdENvbXBvbmVudE9wdGlvbnMsXG4gIE1haW5Bc3BlY3RDb21wb25lbnRUeXBlLFxufSBmcm9tICcuLi9jb21wb25lbnRzL2Rpc3BsYXktY29tcG9uZW50cy9tYWluLWFzcGVjdC1jb21wb25lbnQvbWFpbi1hc3BlY3QtY29tcG9uZW50LmNvbXBvbmVudCc7XG5leHBvcnQgdHlwZSB7XG4gIE1haW5Db250YWluZXJDb21wb25lbnRPcHRpb25zLFxuICBNYWluQ29udGFpbmVyQ29tcG9uZW50VHlwZSxcbn0gZnJvbSAnLi4vY29tcG9uZW50cy9kaXNwbGF5LWNvbXBvbmVudHMvbWFpbi1jb250YWluZXItY29tcG9uZW50L21haW4tY29udGFpbmVyLWNvbXBvbmVudC5jb21wb25lbnQnO1xuZXhwb3J0IHR5cGUge1xuICBNYWluR3JpZENvbXBvbmVudE9wdGlvbnMsXG4gIE1haW5HcmlkQ29tcG9uZW50VHlwZSxcbn0gZnJvbSAnLi4vY29tcG9uZW50cy9kaXNwbGF5LWNvbXBvbmVudHMvbWFpbi1ncmlkLWNvbXBvbmVudC9tYWluLWdyaWQtY29tcG9uZW50LmNvbXBvbmVudCc7XG5leHBvcnQgdHlwZSB7XG4gIE1haW5TY3JlZW5Db21wb25lbnRPcHRpb25zLFxuICBNYWluU2NyZWVuQ29tcG9uZW50VHlwZSxcbn0gZnJvbSAnLi4vY29tcG9uZW50cy9kaXNwbGF5LWNvbXBvbmVudHMvbWFpbi1zY3JlZW4tY29tcG9uZW50L21haW4tc2NyZWVuLWNvbXBvbmVudC5jb21wb25lbnQnO1xuZXhwb3J0IHR5cGUge1xuICBNZWV0aW5nUHJvZ3Jlc3NUaW1lck9wdGlvbnMsXG4gIE1lZXRpbmdQcm9ncmVzc1RpbWVyVHlwZSxcbn0gZnJvbSAnLi4vY29tcG9uZW50cy9kaXNwbGF5LWNvbXBvbmVudHMvbWVldGluZy1wcm9ncmVzcy10aW1lci9tZWV0aW5nLXByb2dyZXNzLXRpbWVyLmNvbXBvbmVudCc7XG5leHBvcnQgdHlwZSB7XG4gIE1pbmlBdWRpb09wdGlvbnMsXG4gIE1pbmlBdWRpb1R5cGUsXG59IGZyb20gJy4uL2NvbXBvbmVudHMvZGlzcGxheS1jb21wb25lbnRzL21pbmktYXVkaW8vbWluaS1hdWRpby5jb21wb25lbnQnO1xuZXhwb3J0IHR5cGUge1xuICBNaW5pQ2FyZE9wdGlvbnMsXG4gIE1pbmlDYXJkVHlwZSxcbn0gZnJvbSAnLi4vY29tcG9uZW50cy9kaXNwbGF5LWNvbXBvbmVudHMvbWluaS1jYXJkL21pbmktY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0IHR5cGUge1xuICBNaW5pQ2FyZEF1ZGlvT3B0aW9ucyxcbiAgTWluaUNhcmRBdWRpb1R5cGUsXG59IGZyb20gJy4uL2NvbXBvbmVudHMvZGlzcGxheS1jb21wb25lbnRzL21pbmktY2FyZC1hdWRpby9taW5pLWNhcmQtYXVkaW8uY29tcG9uZW50JztcbmV4cG9ydCB0eXBlIHtcbiAgT3RoZXJHcmlkQ29tcG9uZW50T3B0aW9ucyxcbiAgT3RoZXJHcmlkQ29tcG9uZW50VHlwZSxcbn0gZnJvbSAnLi4vY29tcG9uZW50cy9kaXNwbGF5LWNvbXBvbmVudHMvb3RoZXItZ3JpZC1jb21wb25lbnQvb3RoZXItZ3JpZC1jb21wb25lbnQuY29tcG9uZW50JztcbmV4cG9ydCB0eXBlIHtcbiAgUGFnaW5hdGlvbk9wdGlvbnMsXG4gIFBhZ2luYXRpb25UeXBlLFxufSBmcm9tICcuLi9jb21wb25lbnRzL2Rpc3BsYXktY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCB0eXBlIHtcbiAgU3ViQXNwZWN0Q29tcG9uZW50T3B0aW9ucyxcbiAgU3ViQXNwZWN0Q29tcG9uZW50VHlwZSxcbn0gZnJvbSAnLi4vY29tcG9uZW50cy9kaXNwbGF5LWNvbXBvbmVudHMvc3ViLWFzcGVjdC1jb21wb25lbnQvc3ViLWFzcGVjdC1jb21wb25lbnQuY29tcG9uZW50JztcbmV4cG9ydCB0eXBlIHtcbiAgVmlkZW9DYXJkT3B0aW9ucyxcbiAgVmlkZW9DYXJkVHlwZSxcbiAgVmlkZW9DYXJkUGFyYW1ldGVycyxcbn0gZnJvbSAnLi4vY29tcG9uZW50cy9kaXNwbGF5LWNvbXBvbmVudHMvdmlkZW8tY2FyZC92aWRlby1jYXJkLmNvbXBvbmVudCc7XG5leHBvcnQgdHlwZSB7XG4gIERpc3BsYXlTZXR0aW5nc01vZGFsT3B0aW9ucyxcbiAgRGlzcGxheVNldHRpbmdzTW9kYWxUeXBlLFxuICBEaXNwbGF5U2V0dGluZ3NNb2RhbFBhcmFtZXRlcnMsXG59IGZyb20gJy4uL2NvbXBvbmVudHMvZGlzcGxheS1zZXR0aW5ncy1jb21wb25lbnRzL2Rpc3BsYXktc2V0dGluZ3MtbW9kYWwuY29tcG9uZW50JztcbmV4cG9ydCB0eXBlIHtcbiAgRXZlbnRTZXR0aW5nc01vZGFsT3B0aW9ucyxcbiAgRXZlbnRTZXR0aW5nc01vZGFsVHlwZSxcbn0gZnJvbSAnLi4vY29tcG9uZW50cy9ldmVudC1zZXR0aW5ncy1jb21wb25lbnRzL2V2ZW50LXNldHRpbmdzLW1vZGFsL2V2ZW50LXNldHRpbmdzLW1vZGFsLmNvbXBvbmVudCc7XG5leHBvcnQgdHlwZSB7XG4gIENvbmZpcm1FeGl0TW9kYWxPcHRpb25zLFxuICBDb25maXJtRXhpdE1vZGFsVHlwZSxcbn0gZnJvbSAnLi4vY29tcG9uZW50cy9leGl0LWNvbXBvbmVudHMvY29uZmlybS1leGl0LW1vZGFsL2NvbmZpcm0tZXhpdC1tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0IHR5cGUge1xuICBNZWRpYVNldHRpbmdzTW9kYWxPcHRpb25zLFxuICBNZWRpYVNldHRpbmdzTW9kYWxUeXBlLFxuICBNZWRpYVNldHRpbmdzTW9kYWxQYXJhbWV0ZXJzLFxufSBmcm9tICcuLi9jb21wb25lbnRzL21lZGlhLXNldHRpbmdzLWNvbXBvbmVudHMvbWVkaWEtc2V0dGluZ3MtbW9kYWwvbWVkaWEtc2V0dGluZ3MtbW9kYWwuY29tcG9uZW50JztcbmV4cG9ydCB0eXBlIHtcbiAgTWVudU1vZGFsT3B0aW9ucyxcbiAgTWVudU1vZGFsVHlwZSxcbn0gZnJvbSAnLi4vY29tcG9uZW50cy9tZW51LWNvbXBvbmVudHMvbWVudS1tb2RhbC9tZW51LW1vZGFsLmNvbXBvbmVudCc7XG5leHBvcnQgdHlwZSB7XG4gIE1lc3NhZ2VzTW9kYWxPcHRpb25zLFxuICBNZXNzYWdlc01vZGFsVHlwZSxcbn0gZnJvbSAnLi4vY29tcG9uZW50cy9tZXNzYWdlLWNvbXBvbmVudHMvbWVzc2FnZXMtbW9kYWwvbWVzc2FnZXMtbW9kYWwuY29tcG9uZW50JztcbmV4cG9ydCB0eXBlIHtcbiAgQ29uZmlybUhlcmVNb2RhbE9wdGlvbnMsXG4gIENvbmZpcm1IZXJlTW9kYWxUeXBlLFxufSBmcm9tICcuLi9jb21wb25lbnRzL21pc2MtY29tcG9uZW50cy9jb25maXJtLWhlcmUtbW9kYWwvY29uZmlybS1oZXJlLW1vZGFsLmNvbXBvbmVudCc7XG5leHBvcnQgdHlwZSB7XG4gIFByZUpvaW5QYWdlT3B0aW9ucyxcbiAgUHJlSm9pblBhZ2VUeXBlLFxuICBQcmVKb2luUGFnZVBhcmFtZXRlcnMsXG59IGZyb20gJy4uL2NvbXBvbmVudHMvbWlzYy1jb21wb25lbnRzL3ByZS1qb2luLXBhZ2UvcHJlLWpvaW4tcGFnZS5jb21wb25lbnQnO1xuZXhwb3J0IHR5cGUge1xuICBTaGFyZUV2ZW50TW9kYWxPcHRpb25zLFxuICBTaGFyZUV2ZW50TW9kYWxUeXBlLFxufSBmcm9tICcuLi9jb21wb25lbnRzL21pc2MtY29tcG9uZW50cy9zaGFyZS1ldmVudC1tb2RhbC9zaGFyZS1ldmVudC1tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0IHR5cGUge1xuICBXZWxjb21lUGFnZU9wdGlvbnMsXG4gIFdlbGNvbWVQYWdlVHlwZSxcbiAgV2VsY29tZVBhZ2VQYXJhbWV0ZXJzLFxufSBmcm9tICcuLi9jb21wb25lbnRzL21pc2MtY29tcG9uZW50cy93ZWxjb21lLXBhZ2Uvd2VsY29tZS1wYWdlLmNvbXBvbmVudCc7XG5leHBvcnQgdHlwZSB7XG4gIFBhcnRpY2lwYW50c01vZGFsT3B0aW9ucyxcbiAgUGFydGljaXBhbnRzTW9kYWxUeXBlLFxuICBQYXJ0aWNpcGFudHNNb2RhbFBhcmFtZXRlcnMsXG59IGZyb20gJy4uL2NvbXBvbmVudHMvcGFydGljaXBhbnRzLWNvbXBvbmVudHMvcGFydGljaXBhbnRzLW1vZGFsL3BhcnRpY2lwYW50cy1tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0IHR5cGUge1xuICBQb2xsTW9kYWxPcHRpb25zLFxuICBQb2xsTW9kYWxUeXBlLFxufSBmcm9tICcuLi9jb21wb25lbnRzL3BvbGxzLWNvbXBvbmVudHMvcG9sbC1tb2RhbC9wb2xsLW1vZGFsLmNvbXBvbmVudCc7XG5leHBvcnQgdHlwZSB7XG4gIFJlY29yZGluZ01vZGFsT3B0aW9ucyxcbiAgUmVjb3JkaW5nTW9kYWxUeXBlLFxuICBSZWNvcmRpbmdNb2RhbFBhcmFtZXRlcnMsXG59IGZyb20gJy4uL2NvbXBvbmVudHMvcmVjb3JkaW5nLWNvbXBvbmVudHMvcmVjb3JkaW5nLW1vZGFsL3JlY29yZGluZy1tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0IHR5cGUge1xuICBSZXF1ZXN0c01vZGFsT3B0aW9ucyxcbiAgUmVxdWVzdHNNb2RhbFR5cGUsXG59IGZyb20gJy4uL2NvbXBvbmVudHMvcmVxdWVzdHMtY29tcG9uZW50cy9yZXF1ZXN0cy1tb2RhbC9yZXF1ZXN0cy1tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0IHR5cGUge1xuICBTY3JlZW5ib2FyZE9wdGlvbnMsXG4gIFNjcmVlbmJvYXJkVHlwZSxcbiAgU2NyZWVuYm9hcmRQYXJhbWV0ZXJzLFxufSBmcm9tICcuLi9jb21wb25lbnRzL3NjcmVlbmJvYXJkLWNvbXBvbmVudHMvc2NyZWVuYm9hcmQvc2NyZWVuYm9hcmQuY29tcG9uZW50JztcbmV4cG9ydCB0eXBlIHtcbiAgU2NyZWVuYm9hcmRNb2RhbE9wdGlvbnMsXG4gIFNjcmVlbmJvYXJkTW9kYWxUeXBlLFxufSBmcm9tICcuLi9jb21wb25lbnRzL3NjcmVlbmJvYXJkLWNvbXBvbmVudHMvc2NyZWVuYm9hcmQtbW9kYWwvc2NyZWVuYm9hcmQtbW9kYWwuY29tcG9uZW50JztcbmV4cG9ydCB0eXBlIHtcbiAgV2FpdGluZ1Jvb21Nb2RhbE9wdGlvbnMsXG4gIFdhaXRpbmdSb29tTW9kYWxUeXBlLFxuICBXYWl0aW5nUm9vbU1vZGFsUGFyYW1ldGVycyxcbn0gZnJvbSAnLi4vY29tcG9uZW50cy93YWl0aW5nLWNvbXBvbmVudHMvd2FpdGluZy1yb29tLW1vZGFsLmNvbXBvbmVudCc7XG5leHBvcnQgdHlwZSB7XG4gIENvbmZpZ3VyZVdoaXRlYm9hcmRNb2RhbE9wdGlvbnMsXG4gIENvbmZpZ3VyZVdoaXRlYm9hcmRNb2RhbFR5cGUsXG59IGZyb20gJy4uL2NvbXBvbmVudHMvd2hpdGVib2FyZC1jb21wb25lbnRzL2NvbmZpZ3VyZS13aGl0ZWJvYXJkLW1vZGFsL2NvbmZpZ3VyZS13aGl0ZWJvYXJkLW1vZGFsLmNvbXBvbmVudCc7XG5leHBvcnQgdHlwZSB7XG4gIFdoaXRlYm9hcmRPcHRpb25zLFxuICBXaGl0ZWJvYXJkVHlwZSxcbiAgV2hpdGVib2FyZFBhcmFtZXRlcnMsXG4gIFNoYXBlLFxufSBmcm9tICcuLi9jb21wb25lbnRzL3doaXRlYm9hcmQtY29tcG9uZW50cy93aGl0ZWJvYXJkL3doaXRlYm9hcmQuY29tcG9uZW50JztcblxuZXhwb3J0IHR5cGUgeyBDdXN0b21CdXR0b24gfSBmcm9tICcuLi9jb21wb25lbnRzL21lbnUtY29tcG9uZW50cy9jdXN0b20tYnV0dG9ucy9jdXN0b20tYnV0dG9ucy5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpY2lwYW50IHtcbiAgaWQ/OiBzdHJpbmc7XG4gIGF1ZGlvSUQ6IHN0cmluZztcbiAgdmlkZW9JRDogc3RyaW5nO1xuICBTY3JlZW5JRD86IHN0cmluZztcbiAgU2NyZWVuT24/OiBib29sZWFuO1xuICBpc2xldmVsPzogc3RyaW5nO1xuICBpc0FkbWluPzogYm9vbGVhbjtcbiAgbmFtZTogc3RyaW5nO1xuICBtdXRlZD86IGJvb2xlYW47XG4gIGlzQmFubmVkPzogYm9vbGVhbjtcbiAgaXNTdXNwZW5kZWQ/OiBib29sZWFuO1xuICB1c2VCb2FyZD86IGJvb2xlYW47XG4gIGJyZWFrUm9vbT86IG51bWJlciB8IG51bGw7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdHJlYW0ge1xuICBwcm9kdWNlcklkOiBzdHJpbmc7XG4gIG11dGVkPzogYm9vbGVhbjtcbiAgc3RyZWFtPzogTWVkaWFTdHJlYW07XG4gIHNvY2tldF8/OiBTb2NrZXQ7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0IHtcbiAgaWQ6IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICB1c2VybmFtZT86IHN0cmluZztcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RSZXNwb25zZSB7XG4gIGlkOiBzdHJpbmc7XG4gIGljb24/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHVzZXJuYW1lPzogc3RyaW5nO1xuICBhY3Rpb24/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc3BvcnQge1xuICBwcm9kdWNlcklkOiBzdHJpbmc7XG4gIGNvbnN1bWVyOiBDb25zdW1lcjtcbiAgc29ja2V0XzogU29ja2V0O1xuICBzZXJ2ZXJDb25zdW1lclRyYW5zcG9ydElkOiBzdHJpbmc7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTY3JlZW5TdGF0ZSB7XG4gIG1haW5TY3JlZW5QZXJzb24/OiBzdHJpbmc7XG4gIG1haW5TY3JlZW5Qcm9kdWNlcklkPzogc3RyaW5nO1xuICBtYWluU2NyZWVuRmlsbGVkOiBib29sZWFuO1xuICBhZG1pbk9uTWFpblNjcmVlbjogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcmlkU2l6ZXMge1xuICBncmlkV2lkdGg/OiBudW1iZXI7XG4gIGdyaWRIZWlnaHQ/OiBudW1iZXI7XG4gIGFsdEdyaWRXaWR0aD86IG51bWJlcjtcbiAgYWx0R3JpZEhlaWdodD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb21wb25lbnRTaXplcyB7XG4gIG1haW5XaWR0aDogbnVtYmVyO1xuICBtYWluSGVpZ2h0OiBudW1iZXI7XG4gIG90aGVyV2lkdGg6IG51bWJlcjtcbiAgb3RoZXJIZWlnaHQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdWRpb0RlY2liZWxzIHtcbiAgbmFtZTogc3RyaW5nO1xuICBhdmVyYWdlTG91ZG5lc3M6IG51bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgU2hvd0FsZXJ0ID0gKG9wdGlvbnM6IHtcbiAgbWVzc2FnZTogc3RyaW5nO1xuICB0eXBlOiAnc3VjY2VzcycgfCAnZGFuZ2VyJztcbiAgZHVyYXRpb24/OiBudW1iZXI7XG59KSA9PiB2b2lkO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvSG9zdFJlc3BvbnNpYmlsaXR5IHtcbiAgbmFtZTogc3RyaW5nO1xuICB2YWx1ZTogYm9vbGVhbjtcbiAgZGVkaWNhdGVkOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZpZENvbnMge1xuICB3aWR0aDogbnVtYmVyIHwgeyBpZGVhbD86IG51bWJlcjsgbWF4PzogbnVtYmVyOyBtaW4/OiBudW1iZXIgfTtcbiAgaGVpZ2h0OiBudW1iZXIgfCB7IGlkZWFsPzogbnVtYmVyOyBtYXg/OiBudW1iZXI7IG1pbj86IG51bWJlciB9O1xufVxuXG5leHBvcnQgdHlwZSBTZXR0aW5ncyA9IFtzdHJpbmcsIHN0cmluZywgc3RyaW5nLCBzdHJpbmddO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2Uge1xuICBzZW5kZXI6IHN0cmluZztcbiAgcmVjZWl2ZXJzOiBzdHJpbmdbXTtcbiAgbWVzc2FnZTogc3RyaW5nO1xuICB0aW1lc3RhbXA6IHN0cmluZztcbiAgZ3JvdXA6IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIE1haW5TcGVjcyA9IHtcbiAgbWVkaWFPcHRpb25zOiBzdHJpbmc7XG4gIGF1ZGlvT3B0aW9uczogc3RyaW5nO1xuICB2aWRlb09wdGlvbnM6IHN0cmluZztcbiAgdmlkZW9UeXBlOiBzdHJpbmc7XG4gIHZpZGVvT3B0aW1pemVkOiBib29sZWFuO1xuICByZWNvcmRpbmdEaXNwbGF5VHlwZTogJ3ZpZGVvJyB8ICdtZWRpYScgfCAnYWxsJztcbiAgYWRkSExTOiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgRGlzcFNwZWNzID0ge1xuICBuYW1lVGFnczogYm9vbGVhbjtcbiAgYmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG4gIG5hbWVUYWdzQ29sb3I6IHN0cmluZztcbiAgb3JpZW50YXRpb25WaWRlbzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgVGV4dFNwZWNzID0ge1xuICBhZGRUZXh0OiBib29sZWFuO1xuICBjdXN0b21UZXh0Pzogc3RyaW5nO1xuICBjdXN0b21UZXh0UG9zaXRpb24/OiBzdHJpbmc7XG4gIGN1c3RvbVRleHRDb2xvcj86IHN0cmluZztcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclJlY29yZGluZ1BhcmFtcyB7XG4gIG1haW5TcGVjczogTWFpblNwZWNzO1xuICBkaXNwU3BlY3M6IERpc3BTcGVjcztcbiAgdGV4dFNwZWNzPzogVGV4dFNwZWNzO1xufVxuXG5leHBvcnQgdHlwZSBBbHREb21haW5zID0ge1xuICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBSZXF1ZXN0UGVybWlzc2lvbkF1ZGlvVHlwZSA9ICgpID0+IFByb21pc2U8c3RyaW5nPjtcbmV4cG9ydCB0eXBlIFJlcXVlc3RQZXJtaXNzaW9uQ2FtZXJhVHlwZSA9ICgpID0+IFByb21pc2U8c3RyaW5nPjtcblxuZXhwb3J0IHR5cGUgQ29udHJvbHNQb3NpdGlvbiA9ICd0b3BMZWZ0JyB8ICd0b3BSaWdodCcgfCAnYm90dG9tTGVmdCcgfCAnYm90dG9tUmlnaHQnO1xuZXhwb3J0IHR5cGUgSW5mb1Bvc2l0aW9uID0gJ3RvcExlZnQnIHwgJ3RvcFJpZ2h0JyB8ICdib3R0b21MZWZ0JyB8ICdib3R0b21SaWdodCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9sbCB7XG4gIGlkOiBzdHJpbmc7XG4gIHF1ZXN0aW9uOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgb3B0aW9uczogc3RyaW5nW107XG4gIHZvdGVzOiBudW1iZXJbXTtcbiAgc3RhdHVzOiBzdHJpbmc7XG4gIHZvdGVycz86IFJlY29yZDxzdHJpbmcsIG51bWJlcj47XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXYWl0aW5nUm9vbVBhcnRpY2lwYW50IHtcbiAgbmFtZTogc3RyaW5nO1xuICBpZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vZGFsUG9zaXRpb25TdHlsZSB7XG4gIGp1c3RpZnlDb250ZW50OiBzdHJpbmc7XG4gIGFsaWduSXRlbXM6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPdmVybGF5UG9zaXRpb25TdHlsZSB7XG4gIHRvcD86IG51bWJlcjtcbiAgbGVmdD86IG51bWJlcjtcbiAgcmlnaHQ/OiBudW1iZXI7XG4gIGJvdHRvbT86IG51bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgRXZlbnRUeXBlID0gJ2NvbmZlcmVuY2UnIHwgJ3dlYmluYXInIHwgJ2NoYXQnIHwgJ2Jyb2FkY2FzdCcgfCAnbm9uZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9sbFVwZGF0ZWREYXRhIHtcbiAgcG9sbHM/OiBQb2xsW107XG4gIHBvbGw6IFBvbGw7XG4gIHN0YXR1czogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJyZWFrb3V0UGFydGljaXBhbnQge1xuICBuYW1lOiBzdHJpbmc7XG4gIGJyZWFrUm9vbT86IG51bWJlciB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnJlYWtvdXRSb29tVXBkYXRlZERhdGEge1xuICBmb3JIb3N0PzogYm9vbGVhbjtcbiAgbmV3Um9vbT86IG51bWJlcjtcbiAgbWVtYmVycz86IFBhcnRpY2lwYW50W107XG4gIGJyZWFrb3V0Um9vbXM/OiBCcmVha291dFBhcnRpY2lwYW50W11bXTtcbiAgc3RhdHVzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnN1bWVTb2NrZXQge1xuICBbaXA6IHN0cmluZ106IFNvY2tldDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXaGl0ZWJvYXJkVXNlciB7XG4gIG5hbWU6IHN0cmluZztcbiAgdXNlQm9hcmQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2hhcGVQYXlsb2FkIHtcbiAgdHlwZTogc3RyaW5nO1xuICB4MTogbnVtYmVyO1xuICB5MTogbnVtYmVyO1xuICB4MjogbnVtYmVyO1xuICB5MjogbnVtYmVyO1xuICBjb2xvcjogc3RyaW5nO1xuICB0aGlja25lc3M6IG51bWJlcjtcbiAgbGluZVR5cGU6IHN0cmluZztcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNoYXBlcyB7XG4gIGFjdGlvbjogc3RyaW5nO1xuICBwYXlsb2FkOiBTaGFwZVBheWxvYWQ7XG59XG5leHBvcnQgaW50ZXJmYWNlIFdoaXRlYm9hcmREYXRhIHtcbiAgc2hhcGVzOiBTaGFwZXNbXTtcbiAgcmVkb1N0YWNrOiBTaGFwZXNbXTtcbiAgdW5kb1N0YWNrOiBTaGFwZXNbXTtcbiAgdXNlSW1hZ2VCYWNrZ3JvdW5kOiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBTZWVkRGF0YSA9IHtcbiAgbWVtYmVyPzogc3RyaW5nO1xuICBob3N0Pzogc3RyaW5nO1xuICBldmVudFR5cGU/OiBFdmVudFR5cGU7XG4gIHBhcnRpY2lwYW50cz86IFBhcnRpY2lwYW50W107XG4gIG1lc3NhZ2VzPzogTWVzc2FnZVtdO1xuICBwb2xscz86IFBvbGxbXTtcbiAgYnJlYWtvdXRSb29tcz86IEJyZWFrb3V0UGFydGljaXBhbnRbXVtdO1xuICByZXF1ZXN0cz86IFJlcXVlc3RbXTtcbiAgd2FpdGluZ0xpc3Q/OiBXYWl0aW5nUm9vbVBhcnRpY2lwYW50W107XG4gIHdoaXRlYm9hcmRVc2Vycz86IFdoaXRlYm9hcmRVc2VyW107XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIE1lZXRpbmdSb29tUGFyYW1zIHtcbiAgaXRlbVBhZ2VMaW1pdDogbnVtYmVyOyAvLyBMaW1pdCBmb3IgaXRlbXMgcGVyIHBhZ2VcbiAgbWVkaWFUeXBlOiAnYXVkaW8nIHwgJ3ZpZGVvJzsgLy8gVHlwZSBvZiBtZWRpYSwgY291bGQgYmUgYXVkaW8gb3IgdmlkZW9cbiAgYWRkQ29Ib3N0OiBib29sZWFuOyAvLyBXaGV0aGVyIGNvLWhvc3RzIGNhbiBiZSBhZGRlZFxuICB0YXJnZXRPcmllbnRhdGlvbjogJ2xhbmRzY2FwZScgfCAnbmV1dHJhbCcgfCAncG9ydHJhaXQnOyAvLyBUYXJnZXQgb3JpZW50YXRpb24sIGxhbmRzY2FwZSwgbmV1dHJhbCwgb3IgcG9ydHJhaXRcbiAgdGFyZ2V0T3JpZW50YXRpb25Ib3N0OiAnbGFuZHNjYXBlJyB8ICduZXV0cmFsJyB8ICdwb3J0cmFpdCc7IC8vIEhvc3QncyB0YXJnZXQgb3JpZW50YXRpb24sIGxhbmRzY2FwZSwgbmV1dHJhbCwgb3IgcG9ydHJhaXRcbiAgdGFyZ2V0UmVzb2x1dGlvbjogJ3FoZCcgfCAnZmhkJyB8ICdoZCcgfCAnc2QnIHwgJ1FuSEQnOyAvLyBUYXJnZXQgcmVzb2x1dGlvbiBmb3IgcGFydGljaXBhbnRzXG4gIHRhcmdldFJlc29sdXRpb25Ib3N0OiAncWhkJyB8ICdmaGQnIHwgJ2hkJyB8ICdzZCcgfCAnUW5IRCc7IC8vIFRhcmdldCByZXNvbHV0aW9uIGZvciBob3N0ICB0eXBlOiAnY2hhdCcgfCAnY29uZmVyZW5jZScgfCAnd2ViaW5hcicgfCAnYnJvYWRjYXN0JzsgLy8gUm9vbSB0eXBlOiBjaGF0LCBjb25mZXJlbmNlLCB3ZWJpbmFyLCBvciBicm9hZGNhc3RcbiAgdHlwZTogRXZlbnRUeXBlOyAvLyBSb29tIHR5cGU6IGNoYXQsIGNvbmZlcmVuY2UsIHdlYmluYXIsIG9yIGJyb2FkY2FzdFxuICBhdWRpb1NldHRpbmc6ICdhbGxvdycgfCAnYXBwcm92YWwnIHwgJ2Rpc2FsbG93JzsgLy8gQXVkaW8gc2V0dGluZzogYWxsb3csIGFwcHJvdmFsLCBvciBkaXNhbGxvd1xuICB2aWRlb1NldHRpbmc6ICdhbGxvdycgfCAnYXBwcm92YWwnIHwgJ2Rpc2FsbG93JzsgLy8gVmlkZW8gc2V0dGluZzogYWxsb3csIGFwcHJvdmFsLCBvciBkaXNhbGxvd1xuICBzY3JlZW5zaGFyZVNldHRpbmc6ICdhbGxvdycgfCAnYXBwcm92YWwnIHwgJ2Rpc2FsbG93JzsgLy8gU2NyZWVuc2hhcmUgc2V0dGluZzogYWxsb3csIGFwcHJvdmFsLCBvciBkaXNhbGxvd1xuICBjaGF0U2V0dGluZzogJ2FsbG93JyB8ICdkaXNhbGxvdyc7IC8vIENoYXQgc2V0dGluZzogYWxsb3cgb3IgZGlzYWxsb3dcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWNvcmRpbmdQYXJhbXMge1xuICByZWNvcmRpbmdBdWRpb1BhdXNlc0xpbWl0OiBudW1iZXI7IC8vIExpbWl0IG9uIGF1ZGlvIHJlY29yZGluZyBwYXVzZXNcbiAgcmVjb3JkaW5nQXVkaW9TdXBwb3J0OiBib29sZWFuOyAvLyBXaGV0aGVyIGF1ZGlvIHJlY29yZGluZyBpcyBzdXBwb3J0ZWRcbiAgcmVjb3JkaW5nQXVkaW9QZW9wbGVMaW1pdDogbnVtYmVyOyAvLyBNYXhpbXVtIG51bWJlciBvZiBwZW9wbGUgZm9yIGF1ZGlvIHJlY29yZGluZ1xuICByZWNvcmRpbmdBdWRpb1BhcnRpY2lwYW50c1RpbWVMaW1pdDogbnVtYmVyOyAvLyBUaW1lIGxpbWl0IGZvciBhdWRpbyBwYXJ0aWNpcGFudHMgaW4gcmVjb3JkaW5nXG5cbiAgcmVjb3JkaW5nVmlkZW9QYXVzZXNMaW1pdDogbnVtYmVyOyAvLyBMaW1pdCBvbiB2aWRlbyByZWNvcmRpbmcgcGF1c2VzXG4gIHJlY29yZGluZ1ZpZGVvU3VwcG9ydDogYm9vbGVhbjsgLy8gV2hldGhlciB2aWRlbyByZWNvcmRpbmcgaXMgc3VwcG9ydGVkXG4gIHJlY29yZGluZ1ZpZGVvUGVvcGxlTGltaXQ6IG51bWJlcjsgLy8gTWF4aW11bSBudW1iZXIgb2YgcGVvcGxlIGZvciB2aWRlbyByZWNvcmRpbmdcbiAgcmVjb3JkaW5nVmlkZW9QYXJ0aWNpcGFudHNUaW1lTGltaXQ6IG51bWJlcjsgLy8gVGltZSBsaW1pdCBmb3IgdmlkZW8gcGFydGljaXBhbnRzIGluIHJlY29yZGluZ1xuXG4gIHJlY29yZGluZ0FsbFBhcnRpY2lwYW50c1N1cHBvcnQ6IGJvb2xlYW47IC8vIFdoZXRoZXIgcmVjb3JkaW5nIGFsbCBwYXJ0aWNpcGFudHMgaXMgc3VwcG9ydGVkXG4gIHJlY29yZGluZ1ZpZGVvUGFydGljaXBhbnRzU3VwcG9ydDogYm9vbGVhbjsgLy8gV2hldGhlciB2aWRlbyByZWNvcmRpbmcgZm9yIHBhcnRpY2lwYW50cyBpcyBzdXBwb3J0ZWRcbiAgcmVjb3JkaW5nQWxsUGFydGljaXBhbnRzRnVsbFJvb21TdXBwb3J0OiBib29sZWFuOyAvLyBTdXBwb3J0IGZvciByZWNvcmRpbmcgdGhlIGVudGlyZSByb29tIGZvciBhbGwgcGFydGljaXBhbnRzXG4gIHJlY29yZGluZ1ZpZGVvUGFydGljaXBhbnRzRnVsbFJvb21TdXBwb3J0OiBib29sZWFuOyAvLyBTdXBwb3J0IGZvciByZWNvcmRpbmcgdGhlIGZ1bGwgcm9vbSBmb3IgdmlkZW8gcGFydGljaXBhbnRzXG5cbiAgcmVjb3JkaW5nUHJlZmVycmVkT3JpZW50YXRpb246ICdsYW5kc2NhcGUnIHwgJ3BvcnRyYWl0JzsgLy8gUHJlZmVycmVkIHJlY29yZGluZyBvcmllbnRhdGlvblxuICByZWNvcmRpbmdTdXBwb3J0Rm9yT3RoZXJPcmllbnRhdGlvbjogYm9vbGVhbjsgLy8gU3VwcG9ydCBmb3Igb3JpZW50YXRpb25zIG90aGVyIHRoYW4gdGhlIHByZWZlcnJlZCBvbmVcbiAgcmVjb3JkaW5nTXVsdGlGb3JtYXRzU3VwcG9ydDogYm9vbGVhbjsgLy8gU3VwcG9ydCBmb3IgbXVsdGlwbGUgcmVjb3JkaW5nIGZvcm1hdHNcbiAgcmVjb3JkaW5nSExTU3VwcG9ydDogYm9vbGVhbjsgLy8gV2hldGhlciBITFMgcmVjb3JkaW5nIGlzIHN1cHBvcnRlZFxuXG4gIHJlY29yZGluZ0F1ZGlvUGF1c2VzQ291bnQ/OiBudW1iZXI7IC8vIE51bWJlciBvZiBhdWRpbyByZWNvcmRpbmcgcGF1c2VzXG4gIHJlY29yZGluZ1ZpZGVvUGF1c2VzQ291bnQ/OiBudW1iZXI7IC8vIE51bWJlciBvZiB2aWRlbyByZWNvcmRpbmcgcGF1c2VzXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlUm9vbU9wdGlvbnMge1xuICBhY3Rpb246ICdjcmVhdGUnIHwgJ2pvaW4nOyAvLyBFaXRoZXIgJ2NyZWF0ZScgb3IgJ2pvaW4nIGJhc2VkIG9uIHRoZSByZXF1aXJlbWVudFxuICBtZWV0aW5nSUQ6IHN0cmluZzsgLy8gVGhlIG1lZXRpbmcgSUQsIGluaXRpYWxseSBhbiBlbXB0eSBzdHJpbmdcbiAgZHVyYXRpb246IG51bWJlcjsgLy8gRHVyYXRpb24gb2YgdGhlIG1lZXRpbmcgaW4gbWludXRlc1xuICBjYXBhY2l0eTogbnVtYmVyOyAvLyBNYXggbnVtYmVyIG9mIHBhcnRpY2lwYW50cyBhbGxvd2VkXG4gIHVzZXJOYW1lOiBzdHJpbmc7IC8vIFVzZXJuYW1lIG9mIHRoZSByb29tIGhvc3RcbiAgc2NoZWR1bGVkRGF0ZTogbnVtYmVyOyAvLyBVbml4IHRpbWVzdGFtcCAoaW4gbWlsbGlzZWNvbmRzKSBmb3IgdGhlIHNjaGVkdWxlZCBkYXRlXG4gIHNlY3VyZUNvZGU6IHN0cmluZzsgLy8gU2VjdXJlIGNvZGUgZm9yIHRoZSByb29tIGhvc3RcbiAgZXZlbnRUeXBlOiAnY29uZmVyZW5jZScgfCAnd2ViaW5hcicgfCAnY2hhdCcgfCAnYnJvYWRjYXN0JzsgLy8gVHlwZSBvZiBldmVudFxuICByZWNvcmRPbmx5OiBib29sZWFuOyAvLyBXaGV0aGVyIHRoZSByb29tIGlzIGZvciByZWNvcmRpbmcgb25seVxuICBldmVudFN0YXR1czogJ2FjdGl2ZScgfCAnaW5hY3RpdmUnOyAvLyBTdGF0dXMgb2YgdGhlIGV2ZW50XG4gIHN0YXJ0SW5kZXg6IG51bWJlcjsgLy8gU3RhcnQgaW5kZXggZm9yIHBhZ2luYXRpb24gb3IgZGF0YSBmZXRjaFxuICBwYWdlU2l6ZTogbnVtYmVyOyAvLyBOdW1iZXIgb2YgaXRlbXMgcGVyIHBhZ2VcbiAgc2FmZVJvb206IGJvb2xlYW47IC8vIFdoZXRoZXIgdGhlIHJvb20gaXMgYSBzYWZlIHJvb21cbiAgYXV0b1N0YXJ0U2FmZVJvb206IGJvb2xlYW47IC8vIEF1dG9tYXRpY2FsbHkgc3RhcnQgdGhlIHNhZmUgcm9vbSBmZWF0dXJlXG4gIHNhZmVSb29tQWN0aW9uOiAnd2FybicgfCAna2ljaycgfCAnYmFuJzsgLy8gQWN0aW9uIGZvciB0aGUgc2FmZSByb29tXG4gIGRhdGFCdWZmZXI6IGJvb2xlYW47IC8vIFdoZXRoZXIgdG8gcmV0dXJuIGRhdGEgYnVmZmVyXG4gIGJ1ZmZlclR5cGU6ICdpbWFnZXMnIHwgJ2F1ZGlvJyB8ICdhbGwnOyAvLyBUeXBlIG9mIGJ1ZmZlciBkYXRhXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzcG9uc2VKb2luUm9vbSB7XG4gIHJ0cENhcGFiaWxpdGllcz86IFJ0cENhcGFiaWxpdGllcyB8IG51bGw7IC8vIE9iamVjdCBjb250YWluaW5nIHRoZSBSVFAgY2FwYWJpbGl0aWVzXG4gIHN1Y2Nlc3M6IGJvb2xlYW47IC8vIEluZGljYXRlcyB3aGV0aGVyIHRoZSBvcGVyYXRpb24gKGpvaW5pbmcgdGhlIHJvb20pIHdhcyBzdWNjZXNzZnVsLlxuICByb29tUmVjdklQczogc3RyaW5nW107IC8vIEFycmF5IG9mIHN0cmluZ3MgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZG9tYWlucyB0aGF0IG11c3QgYmUgY29ubmVjdGVkIHRvIGluIG9yZGVyIHRvIHJlY2VpdmUgbWVkaWEuXG4gIG1lZXRpbmdSb29tUGFyYW1zOiBNZWV0aW5nUm9vbVBhcmFtczsgLy8gT2JqZWN0IGNvbnRhaW5pbmcgcGFyYW1ldGVycyByZWxhdGVkIHRvIHRoZSBtZWV0aW5nIHJvb20uXG4gIHJlY29yZGluZ1BhcmFtczogUmVjb3JkaW5nUGFyYW1zOyAvLyBPYmplY3QgY29udGFpbmluZyBwYXJhbWV0ZXJzIHJlbGF0ZWQgdG8gcmVjb3JkaW5nLlxuICBzZWN1cmVDb2RlOiBzdHJpbmc7IC8vIFNlY3VyZSBjb2RlIChob3N0IHBhc3N3b3JkKSBhc3NvY2lhdGVkIHdpdGggdGhlIGhvc3Qgb2YgdGhlIHJvb20uXG4gIHJlY29yZE9ubHk6IGJvb2xlYW47IC8vIEluZGljYXRlcyB3aGV0aGVyIHRoZSByb29tIGlzIGZvciByZWNvcmRpbmcgb25seS5cbiAgaXNIb3N0OiBib29sZWFuOyAvLyBJbmRpY2F0ZXMgd2hldGhlciB0aGUgdXNlciBqb2luaW5nIHRoZSByb29tIGlzIHRoZSBob3N0LlxuICBzYWZlUm9vbTogYm9vbGVhbjsgLy8gSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHJvb20gaXMgYSBzYWZlIHJvb20uXG4gIGF1dG9TdGFydFNhZmVSb29tOiBib29sZWFuOyAvLyBJbmRpY2F0ZXMgd2hldGhlciB0aGUgc2FmZSByb29tIHdpbGwgYXV0b21hdGljYWxseSBzdGFydC5cbiAgc2FmZVJvb21TdGFydGVkOiBib29sZWFuOyAvLyBJbmRpY2F0ZXMgd2hldGhlciB0aGUgc2FmZSByb29tIGhhcyBzdGFydGVkLlxuICBzYWZlUm9vbUVuZGVkOiBib29sZWFuOyAvLyBJbmRpY2F0ZXMgd2hldGhlciB0aGUgc2FmZSByb29tIGhhcyBlbmRlZC5cbiAgcmVhc29uPzogc3RyaW5nOyAvLyBSZWFzb24gZm9yIHRoZSBzdWNjZXNzIG9yIGZhaWx1cmUgb2YgdGhlIG9wZXJhdGlvbi5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbGxNZW1iZXJzRGF0YSB7XG4gIG1lbWJlcnM6IFBhcnRpY2lwYW50W107IC8vIEFycmF5IG9mIG9iamVjdHMgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCBhbGwgdGhlIG1lbWJlcnMgaW4gdGhlIHJvb20uXG4gIHJlcXVlc3RzOiBSZXF1ZXN0W107IC8vIEFycmF5IG9mIG9iamVjdHMgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcmVxdWVzdHMuXG4gIGNvSG9zdD86IHN0cmluZzsgLy8gVGhlIGNvLWhvc3QgaW5mb3JtYXRpb24uXG4gIGNvSG9zdFJlc3BvbnNpYmlsaXRpZXM6IENvSG9zdFJlc3BvbnNpYmlsaXR5W107IC8vIEFycmF5IG9mIG9iamVjdHMgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY28taG9zdCByZXNwb25zaWJpbGl0aWVzLlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFsbE1lbWJlcnNSZXN0RGF0YSB7XG4gIG1lbWJlcnM6IFBhcnRpY2lwYW50W107IC8vIEFycmF5IG9mIG9iamVjdHMgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCBhbGwgdGhlIG1lbWJlcnMgaW4gdGhlIHJvb20uXG4gIHNldHRpbmdzOiBTZXR0aW5nczsgLy8gQXJyYXkgb2Ygc3RyaW5ncyBjb250YWluaW5nIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzZXR0aW5ncy5cbiAgY29Ib3N0Pzogc3RyaW5nOyAvLyBUaGUgY28taG9zdCBpbmZvcm1hdGlvbi5cbiAgY29Ib3N0UmVzcG9uc2liaWxpdGllczogQ29Ib3N0UmVzcG9uc2liaWxpdHlbXTsgLy8gQXJyYXkgb2Ygb2JqZWN0cyBjb250YWluaW5nIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjby1ob3N0IHJlc3BvbnNpYmlsaXRpZXMuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlcldhaXRpbmdEYXRhIHtcbiAgbmFtZTogc3RyaW5nOyAvLyBOYW1lIG9mIHRoZSB1c2VyIHdhaXRpbmcgdG8gam9pbiB0aGUgcm9vbS5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbGxXYWl0aW5nUm9vbU1lbWJlcnNEYXRhIHtcbiAgd2FpdGluZ1BhcnRpY2lwYW50cz86IFdhaXRpbmdSb29tUGFydGljaXBhbnRbXTsgLy8gQXJyYXkgb2Ygb2JqZWN0cyBjb250YWluaW5nIGluZm9ybWF0aW9uIGFib3V0IHRoZSBwYXJ0aWNpcGFudHMgd2FpdGluZyB0byBqb2luIHRoZSByb29tLlxuICB3YWl0aW5nUGFydGljaXBhbnRzcz86IFdhaXRpbmdSb29tUGFydGljaXBhbnRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYW5EYXRhIHtcbiAgbmFtZTogc3RyaW5nOyAvLyBOYW1lIG9mIHRoZSB1c2VyIHRvIGJhbi5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVkQ29Ib3N0RGF0YSB7XG4gIGNvSG9zdDogc3RyaW5nOyAvLyBUaGUgY28taG9zdCBpbmZvcm1hdGlvbi5cbiAgY29Ib3N0UmVzcG9uc2liaWxpdGllczogQ29Ib3N0UmVzcG9uc2liaWxpdHlbXTsgLy8gQXJyYXkgb2Ygb2JqZWN0cyBjb250YWluaW5nIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjby1ob3N0IHJlc3BvbnNpYmlsaXRpZXMuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFydGljaXBhbnRSZXF1ZXN0ZWREYXRhIHtcbiAgdXNlclJlcXVlc3Q6IFJlcXVlc3Q7IC8vIE9iamVjdCBjb250YWluaW5nIGluZm9ybWF0aW9uIGFib3V0IHRoZSB1c2VyIHJlcXVlc3QuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NyZWVuUHJvZHVjZXJJZERhdGEge1xuICBwcm9kdWNlcklkOiBzdHJpbmc7IC8vIFRoZSBwcm9kdWNlciBJRCBvZiB0aGUgc2NyZWVuLlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZU1lZGlhU2V0dGluZ3NEYXRhIHtcbiAgc2V0dGluZ3M6IFNldHRpbmdzOyAvLyBBcnJheSBvZiBzdHJpbmdzIGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNldHRpbmdzLlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y2VyTWVkaWFQYXVzZWREYXRhIHtcbiAgcHJvZHVjZXJJZDogc3RyaW5nOyAvLyBUaGUgcHJvZHVjZXIgSUQgb2YgdGhlIG1lZGlhIHRoYXQgd2FzIHBhdXNlZC5cbiAga2luZDogJ2F1ZGlvJztcbiAgbmFtZTogc3RyaW5nOyAvLyBUaGUgbmFtZSBvZiB0aGUgbWVkaWEgdGhhdCB3YXMgcGF1c2VkLlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y2VyTWVkaWFSZXN1bWVkRGF0YSB7XG4gIGtpbmQ6ICdhdWRpbyc7XG4gIG5hbWU6IHN0cmluZzsgLy8gVGhlIG5hbWUgb2YgdGhlIG1lZGlhIHRoYXQgd2FzIHJlc3VtZWQuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjZXJNZWRpYUNsb3NlZERhdGEge1xuICBwcm9kdWNlcklkOiBzdHJpbmc7IC8vIFRoZSBwcm9kdWNlciBJRCBvZiB0aGUgbWVkaWEgdGhhdCB3YXMgc3RvcHBlZC5cbiAga2luZDogJ2F1ZGlvJyB8ICd2aWRlbycgfCAnc2NyZWVuc2hhcmUnO1xuICBuYW1lOiBzdHJpbmc7IC8vIFRoZSBuYW1lIG9mIHRoZSBtZWRpYSB0aGF0IHdhcyBzdG9wcGVkLlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRyb2xNZWRpYUhvc3REYXRhIHtcbiAgdHlwZTogJ2FsbCcgfCAnYXVkaW8nIHwgJ3ZpZGVvJyB8ICdzY3JlZW5zaGFyZSc7IC8vIFRoZSB0eXBlIG9mIG1lZGlhIHRvIGNvbnRyb2wuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjZWl2ZU1lc3NhZ2VEYXRhIHtcbiAgbWVzc2FnZTogTWVzc2FnZTsgLy8gT2JqZWN0IGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG1lc3NhZ2UuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVldGluZ1RpbWVSZW1haW5pbmdEYXRhIHtcbiAgdGltZVJlbWFpbmluZzogbnVtYmVyOyAvLyBUaGUgdGltZSByZW1haW5pbmcgZm9yIHRoZSBtZWV0aW5nLlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lZXRpbmdTdGlsbFRoZXJlRGF0YSB7XG4gIHRpbWVSZW1haW5pbmc6IG51bWJlcjsgLy8gVGhlIHRpbWUgcmVtYWluaW5nIGZvciB0aGUgbWVldGluZy5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVDb25zdW1pbmdEb21haW5zRGF0YSB7XG4gIGRvbWFpbnM6IHN0cmluZ1tdOyAvLyBBcnJheSBvZiBzdHJpbmdzIGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGRvbWFpbnMgdG8gY29uc3VtZSBtZWRpYSBmcm9tLlxuICBhbHRfZG9tYWluczogQWx0RG9tYWluczsgLy8gT2JqZWN0IGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGFsdGVybmF0aXZlIGRvbWFpbnMgdG8gY29uc3VtZSBtZWRpYSBmcm9tLlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY29yZGluZ05vdGljZURhdGEge1xuICBzdGF0ZTogc3RyaW5nOyAvLyBUaGUgc3RhdGUgb2YgdGhlIHJlY29yZGluZy5cbiAgdXNlclJlY29yZGluZ1BhcmFtOiBVc2VyUmVjb3JkaW5nUGFyYW1zOyAvLyBPYmplY3QgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdXNlciByZWNvcmRpbmcgcGFyYW1ldGVycy5cbiAgcGF1c2VDb3VudDogbnVtYmVyOyAvLyBUaGUgbnVtYmVyIG9mIHRpbWVzIHRoZSByZWNvcmRpbmcgd2FzIHBhdXNlZC5cbiAgdGltZURvbmU6IG51bWJlcjsgLy8gVGhlIHRpbWUgdGhlIHJlY29yZGluZyB3YXMgcGF1c2VkLlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRpbWVMZWZ0UmVjb3JkaW5nRGF0YSB7XG4gIHRpbWVMZWZ0OiBudW1iZXI7IC8vIFRoZSB0aW1lIGxlZnQgZm9yIHJlY29yZGluZy5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdG9wcGVkUmVjb3JkaW5nRGF0YSB7XG4gIHN0YXRlOiBzdHJpbmc7IC8vIFRoZSBzdGF0ZSBvZiB0aGUgcmVjb3JkaW5nLlxuICByZWFzb24/OiBzdHJpbmc7IC8vIFRoZSByZWFzb24gZm9yIHN0b3BwaW5nIHRoZSByZWNvcmRpbmcuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSG9zdFJlcXVlc3RSZXNwb25zZURhdGEge1xuICByZXF1ZXN0UmVzcG9uc2U6IFJlcXVlc3RSZXNwb25zZTsgLy8gT2JqZWN0IGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHJlcXVlc3QgcmVzcG9uc2UuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2FmZVJvb21Ob3RpY2VEYXRhIHtcbiAgc3RhdGU6IHN0cmluZzsgLy8gVGhlIHN0YXRlIG9mIHRoZSBzYWZlIHJvb20uXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVW5TYWZlRGF0YSB7XG4gIHRpbWU6IG51bWJlcjsgLy8gVGhlIHRpbWUgdGhlIHJvb20gd2FzIHVuc2FmZS5cbiAgZXZpZGVuY2U6IEltYWdlRGF0YTsgLy8gVGhlIGV2aWRlbmNlIGZvciB0aGUgcm9vbSBiZWluZyB1bnNhZmUuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVW5zYWZlQWxlcnREYXRhIHtcbiAgbmFtZTogc3RyaW5nOyAvLyBUaGUgbmFtZSBvZiB0aGUgdXNlciB3aG8gdHJpZ2dlcmVkIHRoZSB1bnNhZmUgYWxlcnQuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YUJ1ZmZlck5vdGljZSB7XG4gIHN0YXRlOiBzdHJpbmc7IC8vIFRoZSBzdGF0ZSBvZiB0aGUgZGF0YSBidWZmZXIuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXVkaW9EYXRhIHtcbiAgYXVkaW9CdWZmZXI6IEF1ZGlvQnVmZmVyOyAvLyBUaGUgYXVkaW8gYnVmZmVyLlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlRGF0YSB7XG4gIGpwZWdCdWZmZXI6IEltYWdlRGF0YTsgLy8gVGhlIEpQRUcgYnVmZmVyLlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdoaXRlYm9hcmRVcGRhdGVkRGF0YSB7XG4gIHN0YXR1czogJ3N0YXJ0ZWQnIHwgJ2VuZGVkJzsgLy8gVGhlIHN0YXR1cyBvZiB0aGUgd2hpdGVib2FyZC5cbiAgd2hpdGVib2FyZFVzZXJzOiBXaGl0ZWJvYXJkVXNlcltdOyAvLyBBcnJheSBvZiBvYmplY3RzIGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHdoaXRlYm9hcmQgdXNlcnMuXG4gIG1lbWJlcnM6IFBhcnRpY2lwYW50W107IC8vIEFycmF5IG9mIG9iamVjdHMgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbWVtYmVycy5cbiAgd2hpdGVib2FyZERhdGE6IFdoaXRlYm9hcmREYXRhOyAvLyBPYmplY3QgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgd2hpdGVib2FyZCBkYXRhLlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdoaXRlYm9hcmRBY3Rpb25EYXRhIHtcbiAgYWN0aW9uOiBzdHJpbmc7IC8vIFRoZSBhY3Rpb24gdG8gYmUgcGVyZm9ybWVkIG9uIHRoZSB3aGl0ZWJvYXJkLlxuICBwYXlsb2FkOiBTaGFwZVBheWxvYWQ7IC8vIE9iamVjdCBjb250YWluaW5nIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzaGFwZSBwYXlsb2FkLlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbU1lZGlhQ29tcG9uZW50IHtcbiAgY29tcG9uZW50OiBDb21wb25lbnRUeXBlPGFueT47IC8vIFRoZSBjdXN0b20gbWVkaWEgY29tcG9uZW50LlxuICBpbnB1dHM6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZW5lcmljQnV0dG9uIHtcbiAgbmFtZT86IHN0cmluZztcbiAgaWNvbj86IEljb25EZWZpbml0aW9uO1xuICBhbHRlcm5hdGVJY29uPzogSWNvbkRlZmluaXRpb247XG4gIG9uUHJlc3M/OiAoKSA9PiB2b2lkO1xuICBjb2xvcj86IHN0cmluZztcbiAgYmFja2dyb3VuZENvbG9yPzoge1xuICAgIGRlZmF1bHQ/OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFpbkJ1dHRvbkFsdCBleHRlbmRzIEdlbmVyaWNCdXR0b24ge1xuICBhY3RpdmU/OiBib29sZWFuIHwgKCgpID0+IGJvb2xlYW4pO1xuICBjdXN0b21Db21wb25lbnQ/OiBIVE1MRWxlbWVudCB8IEN1c3RvbUNvbXBvbmVudCB8ICgoKSA9PiBIVE1MRWxlbWVudCB8IEN1c3RvbUNvbXBvbmVudCk7XG4gIGljb25Db21wb25lbnQ/OiBIVE1MRWxlbWVudCB8IEN1c3RvbUNvbXBvbmVudCB8ICgoKSA9PiBIVE1MRWxlbWVudCB8IEN1c3RvbUNvbXBvbmVudCk7XG4gIGFsdGVybmF0ZUljb25Db21wb25lbnQ/OiBIVE1MRWxlbWVudCB8IEN1c3RvbUNvbXBvbmVudCB8ICgoKSA9PiBIVE1MRWxlbWVudCB8IEN1c3RvbUNvbXBvbmVudCk7XG4gIGRpc2FibGVkPzogYm9vbGVhbiB8ICgoKSA9PiBib29sZWFuKTtcbiAgc2hvdz86IGJvb2xlYW4gfCAoKCkgPT4gYm9vbGVhbik7XG4gIGFjdGl2ZUNvbG9yPzogc3RyaW5nIHwgKCgpID0+IHN0cmluZyk7XG4gIGluQWN0aXZlQ29sb3I/OiBzdHJpbmcgfCAoKCkgPT4gc3RyaW5nKTtcbn1cblxuZXhwb3J0IHR5cGUgTWFpbkN1c3RvbUJ1dHRvbiA9IFBpY2s8XG4gIEN1c3RvbUJ1dHRvbixcbiAgRXhjbHVkZTxrZXlvZiBDdXN0b21CdXR0b24sICdjdXN0b21Db21wb25lbnQnPlxuPiAmIHtcbiAgY3VzdG9tQ29tcG9uZW50PzogSFRNTEVsZW1lbnQgfCBDdXN0b21Db21wb25lbnQgfCAoKCkgPT4gSFRNTEVsZW1lbnQgfCBDdXN0b21Db21wb25lbnQpO1xufTtcblxuZXhwb3J0IHR5cGUgeyBDdXN0b21Db21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL21lbnUtY29tcG9uZW50cy9jdXN0b20tYnV0dG9ucy9jdXN0b20tYnV0dG9ucy5jb21wb25lbnQnO1xuXG5leHBvcnQgdHlwZSBDcmVhdGVXZWJSVENUcmFuc3BvcnRSZXNwb25zZSA9IHtcbiAgaWQ6IHN0cmluZztcbiAgZHRsc1BhcmFtZXRlcnM6IER0bHNQYXJhbWV0ZXJzO1xuICBpY2VDYW5kaWRhdGVzOiBJY2VDYW5kaWRhdGVbXTtcbiAgaWNlUGFyYW1ldGVyczogSWNlUGFyYW1ldGVycztcbiAgZXJyb3I/OiBzdHJpbmc7XG59O1xuIl19