mediasfu-angular 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (459) hide show
  1. package/README.md +194 -192
  2. package/dist/README.md +194 -192
  3. package/dist/esm2022/lib/components/background-components/background-modal/background-modal.component.mjs +37 -1
  4. package/dist/esm2022/lib/components/breakout-components/breakout-rooms-modal.component.mjs +51 -1
  5. package/dist/esm2022/lib/components/breakout-components/edit-room-modal/edit-room-modal.component.mjs +49 -1
  6. package/dist/esm2022/lib/components/co-host-components/co-host-modal/co-host-modal.component.mjs +1 -2
  7. package/dist/esm2022/lib/components/display-components/alert-component/alert.component.component.mjs +25 -19
  8. package/dist/esm2022/lib/components/display-components/audio-card/audio-card.component.mjs +60 -1
  9. package/dist/esm2022/lib/components/display-components/audio-grid/audio-grid.component.mjs +21 -1
  10. package/dist/esm2022/lib/components/display-components/card-video-display/card-video-display.component.mjs +36 -1
  11. package/dist/esm2022/lib/components/display-components/control-buttons-alt-component/control-buttons-alt-component.component.mjs +39 -1
  12. package/dist/esm2022/lib/components/display-components/control-buttons-component-touch/control-buttons-component-touch.component.mjs +25 -41
  13. package/dist/esm2022/lib/components/display-components/control-widgets/menu-participants-widget.component.mjs +22 -1
  14. package/dist/esm2022/lib/components/display-components/control-widgets/menu-record-widget.component.mjs +23 -1
  15. package/dist/esm2022/lib/components/display-components/control-widgets/menu-widget.component.mjs +24 -1
  16. package/dist/esm2022/lib/components/display-components/control-widgets/message-widget.component.mjs +24 -1
  17. package/dist/esm2022/lib/components/display-components/control-widgets/record-timer-widget.component.mjs +16 -1
  18. package/dist/esm2022/lib/components/display-components/control-widgets/screenshare-widget.component.mjs +28 -1
  19. package/dist/esm2022/lib/components/display-components/flexible-grid/flexible-grid.component.mjs +28 -19
  20. package/dist/esm2022/lib/components/display-components/flexible-video/flexible-video.component.mjs +31 -46
  21. package/dist/esm2022/lib/components/display-components/loading-modal/loading-modal.component.mjs +20 -18
  22. package/dist/esm2022/lib/components/display-components/main-aspect-component/main-aspect-component.component.mjs +33 -25
  23. package/dist/esm2022/lib/components/display-components/main-container-component/main-container-component.component.mjs +29 -17
  24. package/dist/esm2022/lib/components/display-components/main-grid-component/main-grid-component.component.mjs +29 -15
  25. package/dist/esm2022/lib/components/display-components/main-screen-component/main-screen-component.component.mjs +44 -23
  26. package/dist/esm2022/lib/components/display-components/meeting-progress-timer/meeting-progress-timer.component.mjs +26 -31
  27. package/dist/esm2022/lib/components/display-components/mini-audio/mini-audio.component.mjs +52 -59
  28. package/dist/esm2022/lib/components/display-components/mini-card/mini-card.component.mjs +20 -24
  29. package/dist/esm2022/lib/components/display-components/mini-card-audio/mini-card-audio.component.mjs +40 -40
  30. package/dist/esm2022/lib/components/display-components/other-grid-component/other-grid-component.component.mjs +29 -14
  31. package/dist/esm2022/lib/components/display-components/pagination/pagination.component.mjs +30 -24
  32. package/dist/esm2022/lib/components/display-components/sub-aspect-component/sub-aspect-component.component.mjs +19 -25
  33. package/dist/esm2022/lib/components/display-components/video-card/video-card.component.mjs +63 -1
  34. package/dist/esm2022/lib/components/display-settings-components/display-settings-modal.component.mjs +29 -18
  35. package/dist/esm2022/lib/components/event-settings-components/event-settings-modal/event-settings-modal.component.mjs +48 -39
  36. package/dist/esm2022/lib/components/exit-components/confirm-exit-modal/confirm-exit-modal.component.mjs +36 -23
  37. package/dist/esm2022/lib/components/media-settings-components/media-settings-modal/media-settings-modal.component.mjs +36 -25
  38. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-broadcast.component.mjs +50 -1
  39. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-chat.component.mjs +50 -1
  40. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-conference.component.mjs +48 -1
  41. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-generic.component.mjs +48 -1
  42. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-webinar.component.mjs +46 -1
  43. package/dist/esm2022/lib/components/menu-components/custom-buttons/custom-buttons.component.mjs +50 -52
  44. package/dist/esm2022/lib/components/menu-components/meeting-id-component/meeting-id-component.component.mjs +7 -2
  45. package/dist/esm2022/lib/components/menu-components/meeting-passcode-component/meeting-passcode-component.component.mjs +6 -1
  46. package/dist/esm2022/lib/components/menu-components/menu-modal/menu-modal.component.mjs +22 -29
  47. package/dist/esm2022/lib/components/menu-components/share-buttons-component/share-buttons-component.component.mjs +16 -14
  48. package/dist/esm2022/lib/components/message-components/message-panel/message-panel.component.mjs +25 -1
  49. package/dist/esm2022/lib/components/message-components/messages-modal/messages-modal.component.mjs +35 -1
  50. package/dist/esm2022/lib/components/misc-components/confirm-here-modal/confirm-here-modal.component.mjs +17 -34
  51. package/dist/esm2022/lib/components/misc-components/pre-join-page/pre-join-page.component.mjs +9 -1
  52. package/dist/esm2022/lib/components/misc-components/share-event-modal/share-event-modal.component.mjs +15 -1
  53. package/dist/esm2022/lib/components/misc-components/welcome-page/welcome-page.component.mjs +16 -1
  54. package/dist/esm2022/lib/components/participants-components/participant-list/participant-list.component.mjs +20 -1
  55. package/dist/esm2022/lib/components/participants-components/participant-list-item/participant-list-item.component.mjs +20 -1
  56. package/dist/esm2022/lib/components/participants-components/participant-list-others/participant-list-others.component.mjs +18 -1
  57. package/dist/esm2022/lib/components/participants-components/participant-list-others-item/participant-list-others-item.component.mjs +18 -1
  58. package/dist/esm2022/lib/components/participants-components/participants-modal/participants-modal.component.mjs +25 -1
  59. package/dist/esm2022/lib/components/polls-components/poll-modal/poll-modal.component.mjs +28 -1
  60. package/dist/esm2022/lib/components/recording-components/advanced-panel-component/advanced-panel-components.component.mjs +16 -1
  61. package/dist/esm2022/lib/components/recording-components/recording-modal/recording-modal.component.mjs +13 -1
  62. package/dist/esm2022/lib/components/recording-components/standard-panel-component/standard-panel-component.component.mjs +6 -1
  63. package/dist/esm2022/lib/components/requests-components/render-request-component/render-request-component.component.mjs +23 -1
  64. package/dist/esm2022/lib/components/requests-components/requests-modal/requests-modal.component.mjs +18 -1
  65. package/dist/esm2022/lib/components/screenboard-components/screenboard/screenboard.component.mjs +11 -1
  66. package/dist/esm2022/lib/components/screenboard-components/screenboard-modal/screenboard-modal.component.mjs +12 -1
  67. package/dist/esm2022/lib/components/waiting-components/waiting-room-modal.component.mjs +60 -1
  68. package/dist/esm2022/lib/components/whiteboard-components/configure-whiteboard-modal/configure-whiteboard-modal.component.mjs +22 -1
  69. package/dist/esm2022/lib/components/whiteboard-components/whiteboard/whiteboard.component.mjs +50 -1
  70. package/dist/esm2022/lib/consumers/add-videos-grid.service.mjs +50 -1
  71. package/dist/esm2022/lib/consumers/auto-adjust.service.mjs +27 -1
  72. package/dist/esm2022/lib/consumers/calculate-rows-and-columns.service.mjs +19 -1
  73. package/dist/esm2022/lib/consumers/change-vids.service.mjs +132 -67
  74. package/dist/esm2022/lib/consumers/check-grid.service.mjs +33 -19
  75. package/dist/esm2022/lib/consumers/check-permission.service.mjs +26 -1
  76. package/dist/esm2022/lib/consumers/check-screen-share.service.mjs +36 -1
  77. package/dist/esm2022/lib/consumers/close-and-resize.service.mjs +103 -1
  78. package/dist/esm2022/lib/consumers/compare-active-names.service.mjs +32 -1
  79. package/dist/esm2022/lib/consumers/compare-screen-states.service.mjs +36 -1
  80. package/dist/esm2022/lib/consumers/connect-ips.service.mjs +43 -1
  81. package/dist/esm2022/lib/consumers/connect-recv-transport.service.mjs +34 -1
  82. package/dist/esm2022/lib/consumers/connect-send-transport-audio.service.mjs +39 -1
  83. package/dist/esm2022/lib/consumers/connect-send-transport-screen.service.mjs +41 -1
  84. package/dist/esm2022/lib/consumers/connect-send-transport-video.service.mjs +45 -1
  85. package/dist/esm2022/lib/consumers/connect-send-transport.service.mjs +55 -1
  86. package/dist/esm2022/lib/consumers/consumer-resume.service.mjs +37 -1
  87. package/dist/esm2022/lib/consumers/control-media.service.mjs +46 -1
  88. package/dist/esm2022/lib/consumers/create-send-transport.service.mjs +47 -1
  89. package/dist/esm2022/lib/consumers/disconnect-send-transport-audio.service.mjs +51 -1
  90. package/dist/esm2022/lib/consumers/disconnect-send-transport-screen.service.mjs +40 -1
  91. package/dist/esm2022/lib/consumers/disconnect-send-transport-video.service.mjs +46 -1
  92. package/dist/esm2022/lib/consumers/disp-streams.service.mjs +93 -1
  93. package/dist/esm2022/lib/consumers/generate-page-content.service.mjs +48 -1
  94. package/dist/esm2022/lib/consumers/get-estimate.service.mjs +51 -1
  95. package/dist/esm2022/lib/consumers/get-piped-producers-alt.service.mjs +34 -1
  96. package/dist/esm2022/lib/consumers/get-producers-piped.service.mjs +34 -1
  97. package/dist/esm2022/lib/consumers/get-videos.service.mjs +34 -1
  98. package/dist/esm2022/lib/consumers/mix-streams.service.mjs +23 -1
  99. package/dist/esm2022/lib/consumers/on-screen-changes.service.mjs +41 -1
  100. package/dist/esm2022/lib/consumers/prepopulate-user-media.service.mjs +100 -1
  101. package/dist/esm2022/lib/consumers/process-consumer-transports-audio.service.mjs +30 -1
  102. package/dist/esm2022/lib/consumers/process-consumer-transports.service.mjs +38 -1
  103. package/dist/esm2022/lib/consumers/re-port.service.mjs +49 -1
  104. package/dist/esm2022/lib/consumers/re-update-inter.service.mjs +83 -1
  105. package/dist/esm2022/lib/consumers/readjust.service.mjs +51 -1
  106. package/dist/esm2022/lib/consumers/receive-all-piped-transports.service.mjs +32 -1
  107. package/dist/esm2022/lib/consumers/receive-room-messages.service.mjs +28 -1
  108. package/dist/esm2022/lib/consumers/reorder-streams.service.mjs +59 -1
  109. package/dist/esm2022/lib/consumers/request-screen-share.service.mjs +35 -1
  110. package/dist/esm2022/lib/consumers/resume-pause-audio-streams.service.mjs +52 -1
  111. package/dist/esm2022/lib/consumers/resume-pause-streams.service.mjs +34 -1
  112. package/dist/esm2022/lib/consumers/resume-send-transport-audio.service.mjs +37 -1
  113. package/dist/esm2022/lib/consumers/signal-new-consumer-transport.service.mjs +38 -38
  114. package/dist/esm2022/lib/consumers/socket-receive-methods/join-consume-room.service.mjs +34 -1
  115. package/dist/esm2022/lib/consumers/socket-receive-methods/new-pipe-producer.service.mjs +40 -1
  116. package/dist/esm2022/lib/consumers/socket-receive-methods/producer-closed.service.mjs +28 -1
  117. package/dist/esm2022/lib/consumers/start-share-screen.service.mjs +41 -1
  118. package/dist/esm2022/lib/consumers/stop-share-screen.service.mjs +56 -1
  119. package/dist/esm2022/lib/consumers/stream-success-audio-switch.service.mjs +54 -1
  120. package/dist/esm2022/lib/consumers/stream-success-audio.service.mjs +62 -1
  121. package/dist/esm2022/lib/consumers/stream-success-screen.service.mjs +51 -1
  122. package/dist/esm2022/lib/consumers/stream-success-video.service.mjs +59 -1
  123. package/dist/esm2022/lib/consumers/switch-user-audio.service.mjs +34 -1
  124. package/dist/esm2022/lib/consumers/switch-user-video-alt.service.mjs +33 -1
  125. package/dist/esm2022/lib/consumers/switch-user-video.service.mjs +48 -1
  126. package/dist/esm2022/lib/consumers/trigger.service.mjs +39 -1
  127. package/dist/esm2022/lib/consumers/update-mini-cards-grid.service.mjs +55 -1
  128. package/dist/esm2022/lib/consumers/update-participant-audio-decibels.service.mjs +46 -1
  129. package/dist/esm2022/lib/methods/background-methods/launch-background.service.mjs +26 -1
  130. package/dist/esm2022/lib/methods/breakout-room-methods/breakout-room-updated.service.mjs +72 -1
  131. package/dist/esm2022/lib/methods/breakout-room-methods/launch-breakout-rooms.service.mjs +25 -1
  132. package/dist/esm2022/lib/methods/co-host-methods/launch-co-host.service.mjs +25 -1
  133. package/dist/esm2022/lib/methods/co-host-methods/modify-co-host-settings.service.mjs +45 -1
  134. package/dist/esm2022/lib/methods/display-settings-methods/launch-display-settings.service.mjs +23 -1
  135. package/dist/esm2022/lib/methods/display-settings-methods/modify-display-settings.service.mjs +76 -1
  136. package/dist/esm2022/lib/methods/exit-methods/confirm-exit.service.mjs +25 -1
  137. package/dist/esm2022/lib/methods/exit-methods/launch-confirm-exit.service.mjs +21 -1
  138. package/dist/esm2022/lib/methods/media-settings-methods/launch-media-settings.service.mjs +36 -1
  139. package/dist/esm2022/lib/methods/menu-methods/launch-menu-modal.service.mjs +23 -1
  140. package/dist/esm2022/lib/methods/message-methods/launch-messages.service.mjs +23 -1
  141. package/dist/esm2022/lib/methods/message-methods/send-message.service.mjs +50 -1
  142. package/dist/esm2022/lib/methods/participants-methods/launch-participants.service.mjs +25 -1
  143. package/dist/esm2022/lib/methods/participants-methods/message-participants.service.mjs +47 -1
  144. package/dist/esm2022/lib/methods/participants-methods/mute-participants.service.mjs +40 -1
  145. package/dist/esm2022/lib/methods/participants-methods/remove-participants.service.mjs +46 -1
  146. package/dist/esm2022/lib/methods/polls-methods/handle-create-poll.service.mjs +39 -1
  147. package/dist/esm2022/lib/methods/polls-methods/handle-end-poll.service.mjs +33 -1
  148. package/dist/esm2022/lib/methods/polls-methods/handle-vote-poll.service.mjs +35 -1
  149. package/dist/esm2022/lib/methods/polls-methods/launch-poll.service.mjs +21 -1
  150. package/dist/esm2022/lib/methods/polls-methods/poll-updated.service.mjs +32 -1
  151. package/dist/esm2022/lib/methods/recording-methods/check-pause-state.service.mjs +25 -1
  152. package/dist/esm2022/lib/methods/recording-methods/check-resume-state.service.mjs +23 -1
  153. package/dist/esm2022/lib/methods/recording-methods/confirm-recording.service.mjs +64 -1
  154. package/dist/esm2022/lib/methods/recording-methods/launch-recording.service.mjs +44 -1
  155. package/dist/esm2022/lib/methods/recording-methods/record-pause-timer.service.mjs +28 -1
  156. package/dist/esm2022/lib/methods/recording-methods/record-resume-timer.service.mjs +45 -1
  157. package/dist/esm2022/lib/methods/recording-methods/record-start-timer.service.mjs +46 -1
  158. package/dist/esm2022/lib/methods/recording-methods/record-update-timer.service.mjs +33 -1
  159. package/dist/esm2022/lib/methods/recording-methods/start-recording.service.mjs +51 -1
  160. package/dist/esm2022/lib/methods/recording-methods/stop-recording.service.mjs +39 -1
  161. package/dist/esm2022/lib/methods/recording-methods/update-recording.service.mjs +49 -1
  162. package/dist/esm2022/lib/methods/requests-methods/launch-requests.service.mjs +26 -1
  163. package/dist/esm2022/lib/methods/requests-methods/respond-to-requests.service.mjs +40 -1
  164. package/dist/esm2022/lib/methods/settings-methods/launch-settings.service.mjs +26 -1
  165. package/dist/esm2022/lib/methods/settings-methods/modify-settings.service.mjs +43 -1
  166. package/dist/esm2022/lib/methods/stream-methods/click-audio.service.mjs +98 -1
  167. package/dist/esm2022/lib/methods/stream-methods/click-chat.service.mjs +32 -1
  168. package/dist/esm2022/lib/methods/stream-methods/click-screen-share.service.mjs +69 -1
  169. package/dist/esm2022/lib/methods/stream-methods/click-video.service.mjs +89 -1
  170. package/dist/esm2022/lib/methods/stream-methods/switch-audio.service.mjs +48 -1
  171. package/dist/esm2022/lib/methods/stream-methods/switch-video-alt.service.mjs +51 -1
  172. package/dist/esm2022/lib/methods/stream-methods/switch-video.service.mjs +57 -1
  173. package/dist/esm2022/lib/methods/utils/format-number.service.mjs +27 -15
  174. package/dist/esm2022/lib/methods/utils/generate-random-messages.service.mjs +34 -1
  175. package/dist/esm2022/lib/methods/utils/generate-random-participants.service.mjs +28 -1
  176. package/dist/esm2022/lib/methods/utils/generate-random-polls.service.mjs +27 -1
  177. package/dist/esm2022/lib/methods/utils/generate-random-request-list.service.mjs +37 -1
  178. package/dist/esm2022/lib/methods/utils/generate-random-waiting-room-list.service.mjs +22 -1
  179. package/dist/esm2022/lib/methods/utils/get-modal-position.util.mjs +14 -4
  180. package/dist/esm2022/lib/methods/utils/get-overlay-position.util.mjs +14 -4
  181. package/dist/esm2022/lib/methods/utils/meeting-timer/start-meeting-progress-timer.service.mjs +38 -1
  182. package/dist/esm2022/lib/methods/utils/mini-audio-player/mini-audio-player.component.mjs +56 -1
  183. package/dist/esm2022/lib/methods/utils/producer/a-params.service.mjs +38 -1
  184. package/dist/esm2022/lib/methods/utils/producer/h-params.service.mjs +51 -1
  185. package/dist/esm2022/lib/methods/utils/producer/screen-params.service.mjs +38 -1
  186. package/dist/esm2022/lib/methods/utils/producer/v-params.service.mjs +51 -1
  187. package/dist/esm2022/lib/methods/utils/producer/video-capture-constraints.service.mjs +47 -1
  188. package/dist/esm2022/lib/methods/utils/sleep.util.mjs +10 -4
  189. package/dist/esm2022/lib/methods/utils/sound-player.service.mjs +22 -1
  190. package/dist/esm2022/lib/methods/utils/validate-alphanumeric.service.mjs +17 -1
  191. package/dist/esm2022/lib/methods/waiting-methods/launch-waiting.service.mjs +19 -1
  192. package/dist/esm2022/lib/methods/waiting-methods/respond-to-waiting.service.mjs +30 -1
  193. package/dist/esm2022/lib/methods/whiteboard-methods/capture-canvas-stream.service.mjs +30 -1
  194. package/dist/esm2022/lib/methods/whiteboard-methods/launch-configure-whiteboard.service.mjs +21 -1
  195. package/dist/esm2022/lib/producer-client/producer-client-emits/create-device-client.service.mjs +24 -1
  196. package/dist/esm2022/lib/producer-client/producer-client-emits/join-room-client.service.mjs +32 -1
  197. package/dist/esm2022/lib/producer-client/producer-client-emits/update-room-parameters-client.service.mjs +45 -1
  198. package/dist/esm2022/lib/producers/producer-emits/join-con-room.service.mjs +39 -1
  199. package/dist/esm2022/lib/producers/producer-emits/join-room.service.mjs +39 -1
  200. package/dist/esm2022/lib/producers/socket-receive-methods/all-members-rest.service.mjs +74 -1
  201. package/dist/esm2022/lib/producers/socket-receive-methods/all-members.service.mjs +72 -1
  202. package/dist/esm2022/lib/producers/socket-receive-methods/all-waiting-room-members.service.mjs +28 -1
  203. package/dist/esm2022/lib/producers/socket-receive-methods/ban-participant.service.mjs +37 -1
  204. package/dist/esm2022/lib/producers/socket-receive-methods/control-media-host.service.mjs +38 -1
  205. package/dist/esm2022/lib/producers/socket-receive-methods/disconnect-user-self.service.mjs +25 -1
  206. package/dist/esm2022/lib/producers/socket-receive-methods/disconnect.service.mjs +27 -1
  207. package/dist/esm2022/lib/producers/socket-receive-methods/get-domains.service.mjs +25 -10
  208. package/dist/esm2022/lib/producers/socket-receive-methods/host-request-response.service.mjs +32 -49
  209. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-ended.service.mjs +30 -1
  210. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-still-there.service.mjs +24 -1
  211. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-time-remaining.service.mjs +28 -1
  212. package/dist/esm2022/lib/producers/socket-receive-methods/participant-requested.service.mjs +32 -1
  213. package/dist/esm2022/lib/producers/socket-receive-methods/person-joined.service.mjs +26 -1
  214. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-closed.service.mjs +62 -1
  215. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-paused.service.mjs +63 -1
  216. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-resumed.service.mjs +46 -1
  217. package/dist/esm2022/lib/producers/socket-receive-methods/re-initiate-recording.service.mjs +30 -1
  218. package/dist/esm2022/lib/producers/socket-receive-methods/receive-message.service.mjs +39 -1
  219. package/dist/esm2022/lib/producers/socket-receive-methods/recording-notice.service.mjs +39 -1
  220. package/dist/esm2022/lib/producers/socket-receive-methods/room-record-params.service.mjs +63 -1
  221. package/dist/esm2022/lib/producers/socket-receive-methods/screen-producer-id.service.mjs +42 -1
  222. package/dist/esm2022/lib/producers/socket-receive-methods/start-records.service.mjs +26 -1
  223. package/dist/esm2022/lib/producers/socket-receive-methods/stopped-recording.service.mjs +26 -1
  224. package/dist/esm2022/lib/producers/socket-receive-methods/time-left-recording.service.mjs +22 -1
  225. package/dist/esm2022/lib/producers/socket-receive-methods/update-consuming-domains.service.mjs +43 -1
  226. package/dist/esm2022/lib/producers/socket-receive-methods/update-media-settings.service.mjs +31 -1
  227. package/dist/esm2022/lib/producers/socket-receive-methods/updated-co-host.service.mjs +41 -1
  228. package/dist/esm2022/lib/producers/socket-receive-methods/user-waiting.service.mjs +15 -41
  229. package/dist/esm2022/lib/sockets/socket-manager.service.mjs +41 -1
  230. package/dist/fesm2022/mediasfu-angular.mjs +8160 -898
  231. package/dist/fesm2022/mediasfu-angular.mjs.map +1 -1
  232. package/dist/lib/components/background-components/background-modal/background-modal.component.d.ts +36 -0
  233. package/dist/lib/components/breakout-components/breakout-rooms-modal.component.d.ts +50 -0
  234. package/dist/lib/components/breakout-components/edit-room-modal/edit-room-modal.component.d.ts +48 -0
  235. package/dist/lib/components/co-host-components/co-host-modal/co-host-modal.component.d.ts +62 -0
  236. package/dist/lib/components/display-components/alert-component/alert.component.component.d.ts +24 -18
  237. package/dist/lib/components/display-components/audio-card/audio-card.component.d.ts +59 -0
  238. package/dist/lib/components/display-components/audio-grid/audio-grid.component.d.ts +20 -0
  239. package/dist/lib/components/display-components/card-video-display/card-video-display.component.d.ts +35 -0
  240. package/dist/lib/components/display-components/control-buttons-alt-component/control-buttons-alt-component.component.d.ts +38 -0
  241. package/dist/lib/components/display-components/control-buttons-component-touch/control-buttons-component-touch.component.d.ts +24 -40
  242. package/dist/lib/components/display-components/control-widgets/menu-participants-widget.component.d.ts +21 -0
  243. package/dist/lib/components/display-components/control-widgets/menu-record-widget.component.d.ts +22 -0
  244. package/dist/lib/components/display-components/control-widgets/menu-widget.component.d.ts +23 -0
  245. package/dist/lib/components/display-components/control-widgets/message-widget.component.d.ts +23 -0
  246. package/dist/lib/components/display-components/control-widgets/record-timer-widget.component.d.ts +15 -0
  247. package/dist/lib/components/display-components/control-widgets/screenshare-widget.component.d.ts +27 -0
  248. package/dist/lib/components/display-components/flexible-grid/flexible-grid.component.d.ts +27 -18
  249. package/dist/lib/components/display-components/flexible-video/flexible-video.component.d.ts +30 -45
  250. package/dist/lib/components/display-components/loading-modal/loading-modal.component.d.ts +19 -17
  251. package/dist/lib/components/display-components/main-aspect-component/main-aspect-component.component.d.ts +32 -24
  252. package/dist/lib/components/display-components/main-container-component/main-container-component.component.d.ts +28 -16
  253. package/dist/lib/components/display-components/main-grid-component/main-grid-component.component.d.ts +28 -14
  254. package/dist/lib/components/display-components/main-screen-component/main-screen-component.component.d.ts +43 -22
  255. package/dist/lib/components/display-components/meeting-progress-timer/meeting-progress-timer.component.d.ts +25 -30
  256. package/dist/lib/components/display-components/mini-audio/mini-audio.component.d.ts +55 -62
  257. package/dist/lib/components/display-components/mini-card/mini-card.component.d.ts +19 -23
  258. package/dist/lib/components/display-components/mini-card-audio/mini-card-audio.component.d.ts +39 -39
  259. package/dist/lib/components/display-components/other-grid-component/other-grid-component.component.d.ts +28 -13
  260. package/dist/lib/components/display-components/pagination/pagination.component.d.ts +29 -23
  261. package/dist/lib/components/display-components/sub-aspect-component/sub-aspect-component.component.d.ts +18 -24
  262. package/dist/lib/components/display-components/video-card/video-card.component.d.ts +62 -0
  263. package/dist/lib/components/display-settings-components/display-settings-modal.component.d.ts +28 -17
  264. package/dist/lib/components/event-settings-components/event-settings-modal/event-settings-modal.component.d.ts +47 -38
  265. package/dist/lib/components/exit-components/confirm-exit-modal/confirm-exit-modal.component.d.ts +35 -22
  266. package/dist/lib/components/media-settings-components/media-settings-modal/media-settings-modal.component.d.ts +35 -24
  267. package/dist/lib/components/mediasfu-components/mediasfu-broadcast.component.d.ts +126 -77
  268. package/dist/lib/components/mediasfu-components/mediasfu-chat.component.d.ts +126 -77
  269. package/dist/lib/components/mediasfu-components/mediasfu-conference.component.d.ts +146 -110
  270. package/dist/lib/components/mediasfu-components/mediasfu-generic.component.d.ts +146 -110
  271. package/dist/lib/components/mediasfu-components/mediasfu-webinar.component.d.ts +144 -110
  272. package/dist/lib/components/menu-components/custom-buttons/custom-buttons.component.d.ts +49 -51
  273. package/dist/lib/components/menu-components/meeting-id-component/meeting-id-component.component.d.ts +6 -1
  274. package/dist/lib/components/menu-components/meeting-passcode-component/meeting-passcode-component.component.d.ts +5 -0
  275. package/dist/lib/components/menu-components/menu-modal/menu-modal.component.d.ts +21 -28
  276. package/dist/lib/components/menu-components/share-buttons-component/share-buttons-component.component.d.ts +15 -13
  277. package/dist/lib/components/message-components/message-panel/message-panel.component.d.ts +24 -0
  278. package/dist/lib/components/message-components/messages-modal/messages-modal.component.d.ts +34 -0
  279. package/dist/lib/components/misc-components/confirm-here-modal/confirm-here-modal.component.d.ts +16 -33
  280. package/dist/lib/components/misc-components/pre-join-page/pre-join-page.component.d.ts +8 -0
  281. package/dist/lib/components/misc-components/share-event-modal/share-event-modal.component.d.ts +14 -0
  282. package/dist/lib/components/misc-components/welcome-page/welcome-page.component.d.ts +15 -0
  283. package/dist/lib/components/participants-components/participant-list/participant-list.component.d.ts +19 -0
  284. package/dist/lib/components/participants-components/participant-list-item/participant-list-item.component.d.ts +19 -0
  285. package/dist/lib/components/participants-components/participant-list-others/participant-list-others.component.d.ts +17 -0
  286. package/dist/lib/components/participants-components/participant-list-others-item/participant-list-others-item.component.d.ts +17 -0
  287. package/dist/lib/components/participants-components/participants-modal/participants-modal.component.d.ts +24 -0
  288. package/dist/lib/components/polls-components/poll-modal/poll-modal.component.d.ts +27 -0
  289. package/dist/lib/components/recording-components/advanced-panel-component/advanced-panel-components.component.d.ts +15 -0
  290. package/dist/lib/components/recording-components/recording-modal/recording-modal.component.d.ts +12 -0
  291. package/dist/lib/components/recording-components/standard-panel-component/standard-panel-component.component.d.ts +5 -0
  292. package/dist/lib/components/requests-components/render-request-component/render-request-component.component.d.ts +22 -0
  293. package/dist/lib/components/requests-components/requests-modal/requests-modal.component.d.ts +17 -0
  294. package/dist/lib/components/screenboard-components/screenboard/screenboard.component.d.ts +10 -0
  295. package/dist/lib/components/screenboard-components/screenboard-modal/screenboard-modal.component.d.ts +11 -0
  296. package/dist/lib/components/waiting-components/waiting-room-modal.component.d.ts +59 -0
  297. package/dist/lib/components/whiteboard-components/configure-whiteboard-modal/configure-whiteboard-modal.component.d.ts +21 -0
  298. package/dist/lib/components/whiteboard-components/whiteboard/whiteboard.component.d.ts +49 -0
  299. package/dist/lib/consumers/add-videos-grid.service.d.ts +49 -0
  300. package/dist/lib/consumers/auto-adjust.service.d.ts +26 -0
  301. package/dist/lib/consumers/calculate-rows-and-columns.service.d.ts +18 -0
  302. package/dist/lib/consumers/change-vids.service.d.ts +131 -66
  303. package/dist/lib/consumers/check-grid.service.d.ts +32 -18
  304. package/dist/lib/consumers/check-permission.service.d.ts +25 -0
  305. package/dist/lib/consumers/check-screen-share.service.d.ts +35 -0
  306. package/dist/lib/consumers/close-and-resize.service.d.ts +102 -0
  307. package/dist/lib/consumers/compare-active-names.service.d.ts +31 -0
  308. package/dist/lib/consumers/compare-screen-states.service.d.ts +35 -0
  309. package/dist/lib/consumers/connect-ips.service.d.ts +42 -0
  310. package/dist/lib/consumers/connect-recv-transport.service.d.ts +33 -0
  311. package/dist/lib/consumers/connect-send-transport-audio.service.d.ts +38 -0
  312. package/dist/lib/consumers/connect-send-transport-screen.service.d.ts +40 -0
  313. package/dist/lib/consumers/connect-send-transport-video.service.d.ts +44 -0
  314. package/dist/lib/consumers/connect-send-transport.service.d.ts +54 -0
  315. package/dist/lib/consumers/consumer-resume.service.d.ts +36 -0
  316. package/dist/lib/consumers/control-media.service.d.ts +45 -0
  317. package/dist/lib/consumers/create-send-transport.service.d.ts +46 -0
  318. package/dist/lib/consumers/disconnect-send-transport-audio.service.d.ts +50 -0
  319. package/dist/lib/consumers/disconnect-send-transport-screen.service.d.ts +39 -0
  320. package/dist/lib/consumers/disconnect-send-transport-video.service.d.ts +45 -0
  321. package/dist/lib/consumers/disp-streams.service.d.ts +92 -0
  322. package/dist/lib/consumers/generate-page-content.service.d.ts +47 -0
  323. package/dist/lib/consumers/get-estimate.service.d.ts +50 -0
  324. package/dist/lib/consumers/get-piped-producers-alt.service.d.ts +33 -0
  325. package/dist/lib/consumers/get-producers-piped.service.d.ts +33 -0
  326. package/dist/lib/consumers/get-videos.service.d.ts +33 -0
  327. package/dist/lib/consumers/mix-streams.service.d.ts +22 -0
  328. package/dist/lib/consumers/on-screen-changes.service.d.ts +40 -0
  329. package/dist/lib/consumers/prepopulate-user-media.service.d.ts +99 -0
  330. package/dist/lib/consumers/process-consumer-transports-audio.service.d.ts +29 -0
  331. package/dist/lib/consumers/process-consumer-transports.service.d.ts +37 -0
  332. package/dist/lib/consumers/re-port.service.d.ts +48 -0
  333. package/dist/lib/consumers/re-update-inter.service.d.ts +82 -0
  334. package/dist/lib/consumers/readjust.service.d.ts +50 -0
  335. package/dist/lib/consumers/receive-all-piped-transports.service.d.ts +31 -0
  336. package/dist/lib/consumers/receive-room-messages.service.d.ts +27 -0
  337. package/dist/lib/consumers/reorder-streams.service.d.ts +58 -0
  338. package/dist/lib/consumers/request-screen-share.service.d.ts +34 -0
  339. package/dist/lib/consumers/resume-pause-audio-streams.service.d.ts +51 -0
  340. package/dist/lib/consumers/resume-pause-streams.service.d.ts +33 -0
  341. package/dist/lib/consumers/resume-send-transport-audio.service.d.ts +36 -0
  342. package/dist/lib/consumers/signal-new-consumer-transport.service.d.ts +37 -37
  343. package/dist/lib/consumers/socket-receive-methods/join-consume-room.service.d.ts +33 -0
  344. package/dist/lib/consumers/socket-receive-methods/new-pipe-producer.service.d.ts +39 -0
  345. package/dist/lib/consumers/socket-receive-methods/producer-closed.service.d.ts +27 -0
  346. package/dist/lib/consumers/start-share-screen.service.d.ts +40 -0
  347. package/dist/lib/consumers/stop-share-screen.service.d.ts +55 -0
  348. package/dist/lib/consumers/stream-success-audio-switch.service.d.ts +53 -0
  349. package/dist/lib/consumers/stream-success-audio.service.d.ts +61 -0
  350. package/dist/lib/consumers/stream-success-screen.service.d.ts +50 -0
  351. package/dist/lib/consumers/stream-success-video.service.d.ts +58 -0
  352. package/dist/lib/consumers/switch-user-audio.service.d.ts +33 -0
  353. package/dist/lib/consumers/switch-user-video-alt.service.d.ts +32 -0
  354. package/dist/lib/consumers/switch-user-video.service.d.ts +47 -0
  355. package/dist/lib/consumers/trigger.service.d.ts +38 -0
  356. package/dist/lib/consumers/update-mini-cards-grid.service.d.ts +54 -0
  357. package/dist/lib/consumers/update-participant-audio-decibels.service.d.ts +45 -0
  358. package/dist/lib/methods/background-methods/launch-background.service.d.ts +25 -0
  359. package/dist/lib/methods/breakout-room-methods/breakout-room-updated.service.d.ts +71 -0
  360. package/dist/lib/methods/breakout-room-methods/launch-breakout-rooms.service.d.ts +24 -0
  361. package/dist/lib/methods/co-host-methods/launch-co-host.service.d.ts +24 -0
  362. package/dist/lib/methods/co-host-methods/modify-co-host-settings.service.d.ts +44 -0
  363. package/dist/lib/methods/display-settings-methods/launch-display-settings.service.d.ts +22 -0
  364. package/dist/lib/methods/display-settings-methods/modify-display-settings.service.d.ts +75 -0
  365. package/dist/lib/methods/exit-methods/confirm-exit.service.d.ts +24 -0
  366. package/dist/lib/methods/exit-methods/launch-confirm-exit.service.d.ts +20 -0
  367. package/dist/lib/methods/media-settings-methods/launch-media-settings.service.d.ts +35 -0
  368. package/dist/lib/methods/menu-methods/launch-menu-modal.service.d.ts +22 -0
  369. package/dist/lib/methods/message-methods/launch-messages.service.d.ts +22 -0
  370. package/dist/lib/methods/message-methods/send-message.service.d.ts +49 -0
  371. package/dist/lib/methods/participants-methods/launch-participants.service.d.ts +24 -0
  372. package/dist/lib/methods/participants-methods/message-participants.service.d.ts +46 -0
  373. package/dist/lib/methods/participants-methods/mute-participants.service.d.ts +39 -0
  374. package/dist/lib/methods/participants-methods/remove-participants.service.d.ts +45 -0
  375. package/dist/lib/methods/polls-methods/handle-create-poll.service.d.ts +38 -0
  376. package/dist/lib/methods/polls-methods/handle-end-poll.service.d.ts +32 -0
  377. package/dist/lib/methods/polls-methods/handle-vote-poll.service.d.ts +34 -0
  378. package/dist/lib/methods/polls-methods/launch-poll.service.d.ts +20 -0
  379. package/dist/lib/methods/polls-methods/poll-updated.service.d.ts +31 -0
  380. package/dist/lib/methods/recording-methods/check-pause-state.service.d.ts +24 -0
  381. package/dist/lib/methods/recording-methods/check-resume-state.service.d.ts +22 -0
  382. package/dist/lib/methods/recording-methods/confirm-recording.service.d.ts +63 -0
  383. package/dist/lib/methods/recording-methods/launch-recording.service.d.ts +43 -0
  384. package/dist/lib/methods/recording-methods/record-pause-timer.service.d.ts +27 -0
  385. package/dist/lib/methods/recording-methods/record-resume-timer.service.d.ts +44 -0
  386. package/dist/lib/methods/recording-methods/record-start-timer.service.d.ts +45 -0
  387. package/dist/lib/methods/recording-methods/record-update-timer.service.d.ts +32 -0
  388. package/dist/lib/methods/recording-methods/start-recording.service.d.ts +50 -0
  389. package/dist/lib/methods/recording-methods/stop-recording.service.d.ts +38 -0
  390. package/dist/lib/methods/recording-methods/update-recording.service.d.ts +48 -0
  391. package/dist/lib/methods/requests-methods/launch-requests.service.d.ts +25 -0
  392. package/dist/lib/methods/requests-methods/respond-to-requests.service.d.ts +39 -0
  393. package/dist/lib/methods/settings-methods/launch-settings.service.d.ts +25 -0
  394. package/dist/lib/methods/settings-methods/modify-settings.service.d.ts +42 -0
  395. package/dist/lib/methods/stream-methods/click-audio.service.d.ts +97 -0
  396. package/dist/lib/methods/stream-methods/click-chat.service.d.ts +31 -0
  397. package/dist/lib/methods/stream-methods/click-screen-share.service.d.ts +68 -0
  398. package/dist/lib/methods/stream-methods/click-video.service.d.ts +88 -0
  399. package/dist/lib/methods/stream-methods/switch-audio.service.d.ts +47 -0
  400. package/dist/lib/methods/stream-methods/switch-video-alt.service.d.ts +50 -0
  401. package/dist/lib/methods/stream-methods/switch-video.service.d.ts +56 -0
  402. package/dist/lib/methods/utils/format-number.service.d.ts +26 -14
  403. package/dist/lib/methods/utils/generate-random-messages.service.d.ts +33 -0
  404. package/dist/lib/methods/utils/generate-random-participants.service.d.ts +27 -0
  405. package/dist/lib/methods/utils/generate-random-polls.service.d.ts +26 -0
  406. package/dist/lib/methods/utils/generate-random-request-list.service.d.ts +36 -0
  407. package/dist/lib/methods/utils/generate-random-waiting-room-list.service.d.ts +21 -0
  408. package/dist/lib/methods/utils/get-modal-position.util.d.ts +13 -3
  409. package/dist/lib/methods/utils/get-overlay-position.util.d.ts +13 -3
  410. package/dist/lib/methods/utils/meeting-timer/start-meeting-progress-timer.service.d.ts +37 -0
  411. package/dist/lib/methods/utils/mini-audio-player/mini-audio-player.component.d.ts +55 -0
  412. package/dist/lib/methods/utils/producer/a-params.service.d.ts +37 -0
  413. package/dist/lib/methods/utils/producer/h-params.service.d.ts +50 -0
  414. package/dist/lib/methods/utils/producer/screen-params.service.d.ts +37 -0
  415. package/dist/lib/methods/utils/producer/v-params.service.d.ts +50 -0
  416. package/dist/lib/methods/utils/producer/video-capture-constraints.service.d.ts +46 -0
  417. package/dist/lib/methods/utils/sleep.util.d.ts +9 -3
  418. package/dist/lib/methods/utils/sound-player.service.d.ts +21 -0
  419. package/dist/lib/methods/utils/validate-alphanumeric.service.d.ts +16 -0
  420. package/dist/lib/methods/waiting-methods/launch-waiting.service.d.ts +18 -0
  421. package/dist/lib/methods/waiting-methods/respond-to-waiting.service.d.ts +29 -0
  422. package/dist/lib/methods/whiteboard-methods/capture-canvas-stream.service.d.ts +29 -0
  423. package/dist/lib/methods/whiteboard-methods/launch-configure-whiteboard.service.d.ts +20 -0
  424. package/dist/lib/producer-client/producer-client-emits/create-device-client.service.d.ts +23 -0
  425. package/dist/lib/producer-client/producer-client-emits/join-room-client.service.d.ts +31 -0
  426. package/dist/lib/producer-client/producer-client-emits/update-room-parameters-client.service.d.ts +44 -0
  427. package/dist/lib/producers/producer-emits/join-con-room.service.d.ts +38 -0
  428. package/dist/lib/producers/producer-emits/join-room.service.d.ts +38 -0
  429. package/dist/lib/producers/socket-receive-methods/all-members-rest.service.d.ts +73 -0
  430. package/dist/lib/producers/socket-receive-methods/all-members.service.d.ts +71 -0
  431. package/dist/lib/producers/socket-receive-methods/all-waiting-room-members.service.d.ts +27 -0
  432. package/dist/lib/producers/socket-receive-methods/ban-participant.service.d.ts +36 -0
  433. package/dist/lib/producers/socket-receive-methods/control-media-host.service.d.ts +37 -0
  434. package/dist/lib/producers/socket-receive-methods/disconnect-user-self.service.d.ts +24 -0
  435. package/dist/lib/producers/socket-receive-methods/disconnect.service.d.ts +26 -0
  436. package/dist/lib/producers/socket-receive-methods/get-domains.service.d.ts +24 -9
  437. package/dist/lib/producers/socket-receive-methods/host-request-response.service.d.ts +31 -48
  438. package/dist/lib/producers/socket-receive-methods/meeting-ended.service.d.ts +29 -0
  439. package/dist/lib/producers/socket-receive-methods/meeting-still-there.service.d.ts +23 -0
  440. package/dist/lib/producers/socket-receive-methods/meeting-time-remaining.service.d.ts +27 -0
  441. package/dist/lib/producers/socket-receive-methods/participant-requested.service.d.ts +31 -0
  442. package/dist/lib/producers/socket-receive-methods/person-joined.service.d.ts +25 -0
  443. package/dist/lib/producers/socket-receive-methods/producer-media-closed.service.d.ts +61 -0
  444. package/dist/lib/producers/socket-receive-methods/producer-media-paused.service.d.ts +62 -0
  445. package/dist/lib/producers/socket-receive-methods/producer-media-resumed.service.d.ts +45 -0
  446. package/dist/lib/producers/socket-receive-methods/re-initiate-recording.service.d.ts +29 -0
  447. package/dist/lib/producers/socket-receive-methods/receive-message.service.d.ts +38 -0
  448. package/dist/lib/producers/socket-receive-methods/recording-notice.service.d.ts +38 -0
  449. package/dist/lib/producers/socket-receive-methods/room-record-params.service.d.ts +62 -0
  450. package/dist/lib/producers/socket-receive-methods/screen-producer-id.service.d.ts +41 -0
  451. package/dist/lib/producers/socket-receive-methods/start-records.service.d.ts +25 -0
  452. package/dist/lib/producers/socket-receive-methods/stopped-recording.service.d.ts +25 -0
  453. package/dist/lib/producers/socket-receive-methods/time-left-recording.service.d.ts +21 -0
  454. package/dist/lib/producers/socket-receive-methods/update-consuming-domains.service.d.ts +42 -0
  455. package/dist/lib/producers/socket-receive-methods/update-media-settings.service.d.ts +30 -0
  456. package/dist/lib/producers/socket-receive-methods/updated-co-host.service.d.ts +40 -0
  457. package/dist/lib/producers/socket-receive-methods/user-waiting.service.d.ts +14 -40
  458. package/dist/lib/sockets/socket-manager.service.d.ts +40 -0
  459. package/package.json +1 -1
@@ -8,6 +8,33 @@ import * as i0 from "@angular/core";
8
8
  import * as i1 from "@angular/common";
9
9
  import * as i2 from "@fortawesome/angular-fontawesome";
10
10
  import * as i3 from "@angular/forms";
11
+ /**
12
+ * Component for displaying a poll modal, allowing users to create, vote, and end polls within a session.
13
+ *
14
+ * @component
15
+ * @selector app-poll-modal
16
+ * @standalone true
17
+ * @templateUrl ./poll-modal.component.html
18
+ * @styleUrls ['./poll-modal.component.css']
19
+ * @imports [CommonModule, FontAwesomeModule, FormsModule]
20
+ *
21
+ * @example
22
+ * ```html
23
+ * <app-poll-modal
24
+ * [isPollModalVisible]="true"
25
+ * [onClose]="closeModalFunction"
26
+ * [member]="currentMember"
27
+ * [islevel]="'2'"
28
+ * [polls]="pollList"
29
+ * [poll]="selectedPoll"
30
+ * [socket]="socketInstance"
31
+ * [roomName]="'exampleRoom'"
32
+ * [handleCreatePoll]="createPollFunction"
33
+ * [handleEndPoll]="endPollFunction"
34
+ * [handleVotePoll]="votePollFunction"
35
+ * ></app-poll-modal>
36
+ * ```
37
+ */
11
38
  export class PollModal {
12
39
  isPollModalVisible = false;
13
40
  onClose;
@@ -171,4 +198,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
171
198
  }], handleVotePoll: [{
172
199
  type: Input
173
200
  }] } });
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9sbC1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9wb2xscy1jb21wb25lbnRzL3BvbGwtbW9kYWwvcG9sbC1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9wb2xscy1jb21wb25lbnRzL3BvbGwtbW9kYWwvcG9sbC1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5REFBeUQ7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQXNDN0MsTUFBTSxPQUFPLFNBQVM7SUFDWCxrQkFBa0IsR0FBRyxLQUFLLENBQUM7SUFDM0IsT0FBTyxDQUFjO0lBQ3JCLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDdEIsZUFBZSxHQUFHLFNBQVMsQ0FBQztJQUM1QixNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ1osT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNiLEtBQUssR0FBVyxFQUFFLENBQUM7SUFDbkIsSUFBSSxHQUFnQixJQUFJLENBQUM7SUFDekIsTUFBTSxHQUFXLEVBQVksQ0FBQztJQUM5QixRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ2QsU0FBUyxHQUFjLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUNoQyx3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Q0FBQyxNQUFNO1lBQ3RELEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNO1NBQ3pELENBQUM7SUFDSixDQUFDO3VHQTlJVSxTQUFTOzJGQUFULFNBQVMscWdCQzNDdEIscWtNQXdLQSwwYkRqSVksWUFBWSxvVkFBRSxpQkFBaUIsNFBBQUUsV0FBVzs7MkZBSTNDLFNBQVM7a0JBUHJCLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGlCQUFpQixFQUFFLFdBQVcsQ0FBQzs4QkFLOUMsa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb24gKi9cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVNb2R1bGUgfSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XG5pbXBvcnQgeyBmYVRpbWVzIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU29ja2V0IH0gZnJvbSAnc29ja2V0LmlvLWNsaWVudCc7XG5pbXBvcnQge1xuICBQb2xsLFxuICBTaG93QWxlcnQsXG4gIEhhbmRsZUNyZWF0ZVBvbGxUeXBlLFxuICBIYW5kbGVFbmRQb2xsVHlwZSxcbiAgSGFuZGxlVm90ZVBvbGxUeXBlLFxufSBmcm9tICcuLi8uLi8uLi9AdHlwZXMvdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBvbGxNb2RhbE9wdGlvbnMge1xuICBpc1BvbGxNb2RhbFZpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xvc2U6ICgpID0+IHZvaWQ7XG4gIHBvc2l0aW9uPzogc3RyaW5nO1xuICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gIG1lbWJlcjogc3RyaW5nO1xuICBpc2xldmVsOiBzdHJpbmc7XG4gIHBvbGxzOiBQb2xsW107XG4gIHBvbGw6IFBvbGwgfCBudWxsO1xuICBzb2NrZXQ6IFNvY2tldDtcbiAgcm9vbU5hbWU6IHN0cmluZztcbiAgc2hvd0FsZXJ0PzogU2hvd0FsZXJ0O1xuICB1cGRhdGVJc1BvbGxNb2RhbFZpc2libGU6IChpc1Zpc2libGU6IGJvb2xlYW4pID0+IHZvaWQ7XG5cbiAgaGFuZGxlQ3JlYXRlUG9sbDogSGFuZGxlQ3JlYXRlUG9sbFR5cGU7XG4gIGhhbmRsZUVuZFBvbGw6IEhhbmRsZUVuZFBvbGxUeXBlO1xuICBoYW5kbGVWb3RlUG9sbDogSGFuZGxlVm90ZVBvbGxUeXBlO1xufVxuXG5leHBvcnQgdHlwZSBQb2xsTW9kYWxUeXBlID0gKG9wdGlvbnM6IFBvbGxNb2RhbE9wdGlvbnMpID0+IEhUTUxFbGVtZW50O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcG9sbC1tb2RhbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvbnRBd2Vzb21lTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9wb2xsLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcG9sbC1tb2RhbC5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBvbGxNb2RhbCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgaXNQb2xsTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gIEBJbnB1dCgpIG9uQ2xvc2UhOiAoKSA9PiB2b2lkO1xuICBASW5wdXQoKSBwb3NpdGlvbiA9ICd0b3BSaWdodCc7XG4gIEBJbnB1dCgpIGJhY2tncm91bmRDb2xvciA9ICcjZjVmNWY1JztcbiAgQElucHV0KCkgbWVtYmVyID0gJyc7XG4gIEBJbnB1dCgpIGlzbGV2ZWwgPSAnJztcbiAgQElucHV0KCkgcG9sbHM6IFBvbGxbXSA9IFtdO1xuICBASW5wdXQoKSBwb2xsOiBQb2xsIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIHNvY2tldDogU29ja2V0ID0ge30gYXMgU29ja2V0O1xuICBASW5wdXQoKSByb29tTmFtZSA9ICcnO1xuICBASW5wdXQoKSBzaG93QWxlcnQ6IFNob3dBbGVydCA9ICgpID0+IHt9O1xuICBASW5wdXQoKSB1cGRhdGVJc1BvbGxNb2RhbFZpc2libGU6IChpc1Zpc2libGU6IGJvb2xlYW4pID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgQElucHV0KCkgaGFuZGxlQ3JlYXRlUG9sbCE6IEhhbmRsZUNyZWF0ZVBvbGxUeXBlO1xuICBASW5wdXQoKSBoYW5kbGVFbmRQb2xsITogSGFuZGxlRW5kUG9sbFR5cGU7XG4gIEBJbnB1dCgpIGhhbmRsZVZvdGVQb2xsITogSGFuZGxlVm90ZVBvbGxUeXBlO1xuXG4gIGZhVGltZXMgPSBmYVRpbWVzO1xuICBuZXdQb2xsOiBhbnkgPSB7IHF1ZXN0aW9uOiAnJywgdHlwZTogJycsIG9wdGlvbnM6IFtdIH07XG5cbiAgc2NyZWVuV2lkdGg6IG51bWJlciA9IHdpbmRvdy5pbm5lcldpZHRoO1xuICBtb2RhbFdpZHRoOiBudW1iZXIgPSB0aGlzLnNjcmVlbldpZHRoID4gNTAwID8gMzUwIDogMC43ICogdGhpcy5zY3JlZW5XaWR0aDtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJlbmRlclBvbGxzKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ2lzUG9sbE1vZGFsVmlzaWJsZSddKSB7XG4gICAgICB0aGlzLnJlbmRlclBvbGxzKCk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyUG9sbHMgPSAoKSA9PiB7XG4gICAgbGV0IGFjdGl2ZVBvbGxDb3VudCA9IDA7XG5cbiAgICB0aGlzLnBvbGxzICYmXG4gICAgICB0aGlzLnBvbGxzLmZvckVhY2goKHBvbGxlZDogYW55KSA9PiB7XG4gICAgICAgIGlmIChwb2xsZWQuc3RhdHVzID09PSAnYWN0aXZlJyAmJiB0aGlzLnBvbGwgJiYgcG9sbGVkLmlkID09PSB0aGlzLnBvbGwuaWQpIHtcbiAgICAgICAgICBhY3RpdmVQb2xsQ291bnQrKztcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICBpZiAodGhpcy5pc2xldmVsID09ICcyJyAmJiBhY3RpdmVQb2xsQ291bnQgPT09IDApIHtcbiAgICAgIGlmICh0aGlzLnBvbGwgJiYgdGhpcy5wb2xsLnN0YXR1cyA9PT0gJ2FjdGl2ZScpIHtcbiAgICAgICAgdGhpcy5wb2xsLnN0YXR1cyA9ICdpbmFjdGl2ZSc7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGNhbGN1bGF0ZVBlcmNlbnRhZ2Uodm90ZXM6IG51bWJlcltdLCBvcHRpb25JbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBjb25zdCB0b3RhbFZvdGVzID0gdm90ZXMucmVkdWNlKChhLCBiKSA9PiBhICsgYiwgMCk7XG4gICAgcmV0dXJuIHRvdGFsVm90ZXMgPiAwID8gcGFyc2VGbG9hdCgoKHZvdGVzW29wdGlvbkluZGV4XSAvIHRvdGFsVm90ZXMpICogMTAwKS50b0ZpeGVkKDIpKSA6IDA7XG4gIH1cblxuICBoYW5kbGVQb2xsVHlwZUNoYW5nZShldmVudDogYW55KSB7XG4gICAgY29uc3QgdHlwZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICBsZXQgb3B0aW9uczogc3RyaW5nW10gPSBbXTtcblxuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAndHJ1ZUZhbHNlJzpcbiAgICAgICAgb3B0aW9ucyA9IFsnVHJ1ZScsICdGYWxzZSddO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3llc05vJzpcbiAgICAgICAgb3B0aW9ucyA9IFsnWWVzJywgJ05vJ107XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnY3VzdG9tJzpcbiAgICAgICAgb3B0aW9ucyA9IFsnJywgJycsICcnLCAnJywgJyddOyAvLyBQcmVsb2FkIDUgZW1wdHkgb3B0aW9uc1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIG9wdGlvbnMgPSBbXTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgdGhpcy5uZXdQb2xsID0geyAuLi50aGlzLm5ld1BvbGwsIHR5cGUsIG9wdGlvbnMgfTtcbiAgfVxuXG4gIGFzeW5jIHZhbGlkYXRlQW5kQ3JlYXRlUG9sbCgpIHtcbiAgICAvLyBSZW1vdmUgZW1wdHkgb3B0aW9ucyBiZWZvcmUgY3JlYXRpbmcgdGhlIHBvbGxcbiAgICB0aGlzLm5ld1BvbGwub3B0aW9ucyA9IHRoaXMubmV3UG9sbC5vcHRpb25zLmZpbHRlcigob3B0aW9uOiBzdHJpbmcpID0+IG9wdGlvbi50cmltKCkgIT09ICcnKTtcblxuICAgIC8vIEVuc3VyZSB0aGVyZSdzIGF0IGxlYXN0IG9uZSB2YWxpZCBvcHRpb25cbiAgICBpZiAodGhpcy5uZXdQb2xsLm9wdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgYXdhaXQgdGhpcy5oYW5kbGVDcmVhdGVQb2xsKHtcbiAgICAgICAgcG9sbDogdGhpcy5uZXdQb2xsLFxuICAgICAgICBzb2NrZXQ6IHRoaXMuc29ja2V0LFxuICAgICAgICByb29tTmFtZTogdGhpcy5yb29tTmFtZSxcbiAgICAgICAgc2hvd0FsZXJ0OiB0aGlzLnNob3dBbGVydCxcbiAgICAgICAgdXBkYXRlSXNQb2xsTW9kYWxWaXNpYmxlOiB0aGlzLnVwZGF0ZUlzUG9sbE1vZGFsVmlzaWJsZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZWRWb3RlUG9sbChwb2xsSWQ6IHN0cmluZywgb3B0aW9uSW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuaGFuZGxlVm90ZVBvbGwoe1xuICAgICAgcG9sbElkLFxuICAgICAgb3B0aW9uSW5kZXgsXG4gICAgICBzb2NrZXQ6IHRoaXMuc29ja2V0LFxuICAgICAgbWVtYmVyOiB0aGlzLm1lbWJlcixcbiAgICAgIHJvb21OYW1lOiB0aGlzLnJvb21OYW1lLFxuICAgICAgc2hvd0FsZXJ0OiB0aGlzLnNob3dBbGVydCxcbiAgICAgIHVwZGF0ZUlzUG9sbE1vZGFsVmlzaWJsZTogdGhpcy51cGRhdGVJc1BvbGxNb2RhbFZpc2libGUsXG4gICAgfSk7XG4gIH1cblxuICBoYW5kbGVkRW5kUG9sbChwb2xsSWQ6IHN0cmluZykge1xuICAgIHRoaXMuaGFuZGxlRW5kUG9sbCh7XG4gICAgICBwb2xsSWQsXG4gICAgICBzb2NrZXQ6IHRoaXMuc29ja2V0LFxuICAgICAgcm9vbU5hbWU6IHRoaXMucm9vbU5hbWUsXG4gICAgICBzaG93QWxlcnQ6IHRoaXMuc2hvd0FsZXJ0LFxuICAgICAgdXBkYXRlSXNQb2xsTW9kYWxWaXNpYmxlOiB0aGlzLnVwZGF0ZUlzUG9sbE1vZGFsVmlzaWJsZSxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBtb2RhbENvbnRhaW5lclN0eWxlKCkge1xuICAgIHJldHVybiB7XG4gICAgICBwb3NpdGlvbjogJ2ZpeGVkJyxcbiAgICAgIHRvcDogMCxcbiAgICAgIGxlZnQ6IDAsXG4gICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDAsIDAsIDAsIDAuNSknLFxuICAgICAgZGlzcGxheTogdGhpcy5pc1BvbGxNb2RhbFZpc2libGUgPyAnYmxvY2snIDogJ25vbmUnLFxuICAgICAgekluZGV4OiA5OTksXG4gICAgfTtcbiAgfVxuXG4gIGdldCBtb2RhbENvbnRlbnRTdHlsZSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoaXMuYmFja2dyb3VuZENvbG9yLFxuICAgICAgYm9yZGVyUmFkaXVzOiAnMTBweCcsXG4gICAgICBwYWRkaW5nOiAnMTBweCcsXG4gICAgICB3aWR0aDogYCR7dGhpcy5tb2RhbFdpZHRofXB4YCxcbiAgICAgIG1heEhlaWdodDogJzc1JScsXG4gICAgICBvdmVyZmxvd1k6ICdhdXRvJyxcbiAgICAgIHRvcDogdGhpcy5wb3NpdGlvbi5pbmNsdWRlcygndG9wJykgPyAnMTBweCcgOiAnYXV0bycsXG4gICAgICBib3R0b206IHRoaXMucG9zaXRpb24uaW5jbHVkZXMoJ2JvdHRvbScpID8gJzEwcHgnIDogJ2F1dG8nLFxuICAgICAgbGVmdDogdGhpcy5wb3NpdGlvbi5pbmNsdWRlcygnTGVmdCcpID8gJzEwcHgnIDogJ2F1dG8nLFxuICAgICAgcmlnaHQ6IHRoaXMucG9zaXRpb24uaW5jbHVkZXMoJ1JpZ2h0JykgPyAnMTBweCcgOiAnYXV0bycsXG4gICAgfTtcbiAgfVxufVxuIiwiPGRpdiBbbmdTdHlsZV09XCJtb2RhbENvbnRhaW5lclN0eWxlXCI+XHJcbiAgPGRpdiBbbmdTdHlsZV09XCJtb2RhbENvbnRlbnRTdHlsZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxyXG4gICAgICA8aDI+UG9sbHM8L2gyPlxyXG4gICAgICA8YnV0dG9uIChjbGljayk9XCJvbkNsb3NlKClcIiBjbGFzcz1cImNsb3NlLWJ1dHRvblwiPlxyXG4gICAgICAgIDxmYS1pY29uIFtpY29uXT1cImZhVGltZXNcIj48L2ZhLWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8aHIgLz5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XHJcbiAgICAgIDwhLS0gUHJldmlvdXMgUG9sbHMgU2VjdGlvbiAtLT5cclxuICAgICAgPGRpdiAqbmdJZj1cImlzbGV2ZWwgPT09ICcyJ1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcmV2aW91cy1wb2xsc1wiPlxyXG4gICAgICAgICAgPGg1PlByZXZpb3VzIFBvbGxzPC9oNT5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJwb2xscy5sZW5ndGggPT09IDBcIj5ObyBwb2xscyBhdmFpbGFibGU8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8IS0tIFVzaW5nIG5nLWNvbnRhaW5lciB0byBhdm9pZCBtdWx0aXBsZSBzdHJ1Y3R1cmFsIGRpcmVjdGl2ZXMgb24gdGhlIHNhbWUgZWxlbWVudCAtLT5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHBvbGxlZCBvZiBwb2xsc1wiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgKm5nSWY9XCIhcG9sbCB8fCBwb2xsZWQuaWQgIT09IHBvbGwuaWQgfHwgcG9sbC5zdGF0dXMgIT09ICdhY3RpdmUnXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cInBvbGxcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGg2PlF1ZXN0aW9uOjwvaDY+XHJcbiAgICAgICAgICAgICAgPHRleHRhcmVhXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICByb3dzPVwiM1wiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwicG9sbGVkLnF1ZXN0aW9uXCJcclxuICAgICAgICAgICAgICA+PC90ZXh0YXJlYT5cclxuICAgICAgICAgICAgICA8YnIgLz5cclxuICAgICAgICAgICAgICA8aDY+T3B0aW9uczo8L2g2PlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBwb2xsZWQub3B0aW9uczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAge3sgb3B0aW9uIH19OiB7eyBwb2xsZWQudm90ZXNbaV0gfX0gdm90ZXMgKHt7XHJcbiAgICAgICAgICAgICAgICAgIGNhbGN1bGF0ZVBlcmNlbnRhZ2UocG9sbGVkLnZvdGVzLCBpKVxyXG4gICAgICAgICAgICAgICAgfX0lKVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwhLS0gRW5kIFBvbGwgQnV0dG9uIChpZiBwb2xsIGlzIGFjdGl2ZSkgLS0+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJwb2xsZWQuc3RhdHVzID09PSAnYWN0aXZlJ1wiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGFuZ2VyXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVkRW5kUG9sbChwb2xsZWQuaWQpXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICBFbmQgUG9sbFxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxociAvPlxyXG5cclxuICAgICAgICA8IS0tIENyZWF0ZSBQb2xsIFNlY3Rpb24gLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNyZWF0ZS1wb2xsXCI+XHJcbiAgICAgICAgICA8aDU+Q3JlYXRlIGEgTmV3IFBvbGw8L2g1PlxyXG4gICAgICAgICAgPGZvcm0gKG5nU3VibWl0KT1cInZhbGlkYXRlQW5kQ3JlYXRlUG9sbCgpXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBvbGxRdWVzdGlvblwiPlBvbGwgUXVlc3Rpb248L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDx0ZXh0YXJlYVxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgaWQ9XCJwb2xsUXVlc3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgcm93cz1cIjNcIlxyXG4gICAgICAgICAgICAgICAgbWF4TGVuZ3RoPVwiMzAwXCJcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm5ld1BvbGwucXVlc3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgbmFtZT1cInF1ZXN0aW9uXCJcclxuICAgICAgICAgICAgICA+PC90ZXh0YXJlYT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBvbGxUeXBlXCI+U2VsZWN0IFBvbGwgQW5zd2VyIFR5cGU8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxzZWxlY3RcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIGlkPVwicG9sbFR5cGVcIlxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiaGFuZGxlUG9sbFR5cGVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm5ld1BvbGwudHlwZVwiXHJcbiAgICAgICAgICAgICAgICBuYW1lPVwidHlwZVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiPkNob29zZS4uLjwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInRydWVGYWxzZVwiPlRydWUvRmFsc2U8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJ5ZXNOb1wiPlllcy9Obzwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImN1c3RvbVwiPkN1c3RvbTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gUmVuZGVyIFBvbGwgT3B0aW9ucyAtLT5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwibmV3UG9sbC50eXBlID09PSAndHJ1ZUZhbHNlJyB8fCBuZXdQb2xsLnR5cGUgPT09ICd5ZXNObydcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBuZXdQb2xsLm9wdGlvbnM7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNoZWNrXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCJcclxuICAgICAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcclxuICAgICAgICAgICAgICAgICAgbmFtZT1cInBvbGxPcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uLnRvTG93ZXJDYXNlKClcIlxyXG4gICAgICAgICAgICAgICAgICBbaWRdPVwiJ29wdGlvbicgKyBvcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIiBbZm9yXT1cIidvcHRpb24nICsgb3B0aW9uXCI+e3tcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uXHJcbiAgICAgICAgICAgICAgICB9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibmV3UG9sbC50eXBlID09PSAnY3VzdG9tJ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgbmV3UG9sbC5vcHRpb25zOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1ncm91cFwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk9wdGlvbiB7eyBpICsgMSB9fVwiXHJcbiAgICAgICAgICAgICAgICAgIG1heExlbmd0aD1cIjUwXCJcclxuICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJuZXdQb2xsLm9wdGlvbnNbaV1cIlxyXG4gICAgICAgICAgICAgICAgICBuYW1lPVwib3B0aW9ue3sgaSB9fVwiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIj5DcmVhdGUgUG9sbDwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9mb3JtPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxociAvPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS0gQ3VycmVudCBQb2xsIFNlY3Rpb24gLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjdXJyZW50LXBvbGxcIj5cclxuICAgICAgICA8aDU+Q3VycmVudCBQb2xsPC9oNT5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwicG9sbCAmJiBwb2xsLnN0YXR1cyA9PT0gJ2FjdGl2ZSdcIj5cclxuICAgICAgICAgIDxoNj5RdWVzdGlvbjo8L2g2PlxyXG4gICAgICAgICAgPHRleHRhcmVhXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgcm93cz1cIjNcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJwb2xsLnF1ZXN0aW9uXCJcclxuICAgICAgICAgID48L3RleHRhcmVhPlxyXG4gICAgICAgICAgPGg2Pk9wdGlvbnM6PC9oNj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBwb2xsLm9wdGlvbnM7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY2hlY2tcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIlxyXG4gICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXHJcbiAgICAgICAgICAgICAgbmFtZT1cInBvbGxPcHRpb25cIlxyXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJpXCJcclxuICAgICAgICAgICAgICBpZD1cInBvbGxPcHRpb257eyBpIH19XCJcclxuICAgICAgICAgICAgICBbY2hlY2tlZF09XCJwb2xsLnZvdGVycz8uW21lbWJlcl0gPT09IGlcIlxyXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwiaGFuZGxlZFZvdGVQb2xsKHBvbGwuaWQsIGkpXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiIFtmb3JdPVwiJ3BvbGxPcHRpb24nICsgaVwiPnt7XHJcbiAgICAgICAgICAgICAgb3B0aW9uXHJcbiAgICAgICAgICAgIH19PC9sYWJlbD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAqbmdJZj1cInBvbGwuc3RhdHVzID09PSAnYWN0aXZlJyAmJiBpc2xldmVsID09PSAnMidcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGFuZ2VyXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZWRFbmRQb2xsKHBvbGwuaWQpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgRW5kIFBvbGxcclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCIhcG9sbCB8fCBwb2xsLnN0YXR1cyAhPT0gJ2FjdGl2ZSdcIj5cclxuICAgICAgICAgIDxociAvPlxyXG4gICAgICAgICAgTm8gYWN0aXZlIHBvbGxcclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
201
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9sbC1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9wb2xscy1jb21wb25lbnRzL3BvbGwtbW9kYWwvcG9sbC1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9wb2xscy1jb21wb25lbnRzL3BvbGwtbW9kYWwvcG9sbC1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5REFBeUQ7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQStCN0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEJHO0FBVUgsTUFBTSxPQUFPLFNBQVM7SUFDWCxrQkFBa0IsR0FBRyxLQUFLLENBQUM7SUFDM0IsT0FBTyxDQUFjO0lBQ3JCLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDdEIsZUFBZSxHQUFHLFNBQVMsQ0FBQztJQUM1QixNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ1osT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNiLEtBQUssR0FBVyxFQUFFLENBQUM7SUFDbkIsSUFBSSxHQUFnQixJQUFJLENBQUM7SUFDekIsTUFBTSxHQUFXLEVBQVksQ0FBQztJQUM5QixRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ2QsU0FBUyxH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LENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNO1lBQ3RELEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNO1NBQ3pELENBQUM7SUFDSixDQUFDO3VHQTlJVSxTQUFTOzJGQUFULFNBQVMscWdCQ3hFdEIscWtNQXdLQSwwYkRwR1ksWUFBWSxvVkFBRSxpQkFBaUIsNFBBQUUsV0FBVzs7MkZBSTNDLFNBQVM7a0JBUHJCLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGlCQUFpQixFQUFFLFdBQVcsQ0FBQzs4QkFLOUMsa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb24gKi9cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVNb2R1bGUgfSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XG5pbXBvcnQgeyBmYVRpbWVzIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU29ja2V0IH0gZnJvbSAnc29ja2V0LmlvLWNsaWVudCc7XG5pbXBvcnQge1xuICBQb2xsLFxuICBTaG93QWxlcnQsXG4gIEhhbmRsZUNyZWF0ZVBvbGxUeXBlLFxuICBIYW5kbGVFbmRQb2xsVHlwZSxcbiAgSGFuZGxlVm90ZVBvbGxUeXBlLFxufSBmcm9tICcuLi8uLi8uLi9AdHlwZXMvdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBvbGxNb2RhbE9wdGlvbnMge1xuICBpc1BvbGxNb2RhbFZpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xvc2U6ICgpID0+IHZvaWQ7XG4gIHBvc2l0aW9uPzogc3RyaW5nO1xuICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gIG1lbWJlcjogc3RyaW5nO1xuICBpc2xldmVsOiBzdHJpbmc7XG4gIHBvbGxzOiBQb2xsW107XG4gIHBvbGw6IFBvbGwgfCBudWxsO1xuICBzb2NrZXQ6IFNvY2tldDtcbiAgcm9vbU5hbWU6IHN0cmluZztcbiAgc2hvd0FsZXJ0PzogU2hvd0FsZXJ0O1xuICB1cGRhdGVJc1BvbGxNb2RhbFZpc2libGU6IChpc1Zpc2libGU6IGJvb2xlYW4pID0+IHZvaWQ7XG5cbiAgaGFuZGxlQ3JlYXRlUG9sbDogSGFuZGxlQ3JlYXRlUG9sbFR5cGU7XG4gIGhhbmRsZUVuZFBvbGw6IEhhbmRsZUVuZFBvbGxUeXBlO1xuICBoYW5kbGVWb3RlUG9sbDogSGFuZGxlVm90ZVBvbGxUeXBlO1xufVxuXG5leHBvcnQgdHlwZSBQb2xsTW9kYWxUeXBlID0gKG9wdGlvbnM6IFBvbGxNb2RhbE9wdGlvbnMpID0+IEhUTUxFbGVtZW50O1xuXG4vKipcbiAqIENvbXBvbmVudCBmb3IgZGlzcGxheWluZyBhIHBvbGwgbW9kYWwsIGFsbG93aW5nIHVzZXJzIHRvIGNyZWF0ZSwgdm90ZSwgYW5kIGVuZCBwb2xscyB3aXRoaW4gYSBzZXNzaW9uLlxuICpcbiAqIEBjb21wb25lbnRcbiAqIEBzZWxlY3RvciBhcHAtcG9sbC1tb2RhbFxuICogQHN0YW5kYWxvbmUgdHJ1ZVxuICogQHRlbXBsYXRlVXJsIC4vcG9sbC1tb2RhbC5jb21wb25lbnQuaHRtbFxuICogQHN0eWxlVXJscyBbJy4vcG9sbC1tb2RhbC5jb21wb25lbnQuY3NzJ11cbiAqIEBpbXBvcnRzIFtDb21tb25Nb2R1bGUsIEZvbnRBd2Vzb21lTW9kdWxlLCBGb3Jtc01vZHVsZV1cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPGFwcC1wb2xsLW1vZGFsXG4gKiAgIFtpc1BvbGxNb2RhbFZpc2libGVdPVwidHJ1ZVwiXG4gKiAgIFtvbkNsb3NlXT1cImNsb3NlTW9kYWxGdW5jdGlvblwiXG4gKiAgIFttZW1iZXJdPVwiY3VycmVudE1lbWJlclwiXG4gKiAgIFtpc2xldmVsXT1cIicyJ1wiXG4gKiAgIFtwb2xsc109XCJwb2xsTGlzdFwiXG4gKiAgIFtwb2xsXT1cInNlbGVjdGVkUG9sbFwiXG4gKiAgIFtzb2NrZXRdPVwic29ja2V0SW5zdGFuY2VcIlxuICogICBbcm9vbU5hbWVdPVwiJ2V4YW1wbGVSb29tJ1wiXG4gKiAgIFtoYW5kbGVDcmVhdGVQb2xsXT1cImNyZWF0ZVBvbGxGdW5jdGlvblwiXG4gKiAgIFtoYW5kbGVFbmRQb2xsXT1cImVuZFBvbGxGdW5jdGlvblwiXG4gKiAgIFtoYW5kbGVWb3RlUG9sbF09XCJ2b3RlUG9sbEZ1bmN0aW9uXCJcbiAqID48L2FwcC1wb2xsLW1vZGFsPlxuICogYGBgXG4gKi9cblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcG9sbC1tb2RhbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvbnRBd2Vzb21lTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9wb2xsLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcG9sbC1tb2RhbC5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBvbGxNb2RhbCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgaXNQb2xsTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gIEBJbnB1dCgpIG9uQ2xvc2UhOiAoKSA9PiB2b2lkO1xuICBASW5wdXQoKSBwb3NpdGlvbiA9ICd0b3BSaWdodCc7XG4gIEBJbnB1dCgpIGJhY2tncm91bmRDb2xvciA9ICcjZjVmNWY1JztcbiAgQElucHV0KCkgbWVtYmVyID0gJyc7XG4gIEBJbnB1dCgpIGlzbGV2ZWwgPSAnJztcbiAgQElucHV0KCkgcG9sbHM6IFBvbGxbXSA9IFtdO1xuICBASW5wdXQoKSBwb2xsOiBQb2xsIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIHNvY2tldDogU29ja2V0ID0ge30gYXMgU29ja2V0O1xuICBASW5wdXQoKSByb29tTmFtZSA9ICcnO1xuICBASW5wdXQoKSBzaG93QWxlcnQ6IFNob3dBbGVydCA9ICgpID0+IHt9O1xuICBASW5wdXQoKSB1cGRhdGVJc1BvbGxNb2RhbFZpc2libGU6IChpc1Zpc2libGU6IGJvb2xlYW4pID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgQElucHV0KCkgaGFuZGxlQ3JlYXRlUG9sbCE6IEhhbmRsZUNyZWF0ZVBvbGxUeXBlO1xuICBASW5wdXQoKSBoYW5kbGVFbmRQb2xsITogSGFuZGxlRW5kUG9sbFR5cGU7XG4gIEBJbnB1dCgpIGhhbmRsZVZvdGVQb2xsITogSGFuZGxlVm90ZVBvbGxUeXBlO1xuXG4gIGZhVGltZXMgPSBmYVRpbWVzO1xuICBuZXdQb2xsOiBhbnkgPSB7IHF1ZXN0aW9uOiAnJywgdHlwZTogJycsIG9wdGlvbnM6IFtdIH07XG5cbiAgc2NyZWVuV2lkdGg6IG51bWJlciA9IHdpbmRvdy5pbm5lcldpZHRoO1xuICBtb2RhbFdpZHRoOiBudW1iZXIgPSB0aGlzLnNjcmVlbldpZHRoID4gNTAwID8gMzUwIDogMC43ICogdGhpcy5zY3JlZW5XaWR0aDtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJlbmRlclBvbGxzKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ2lzUG9sbE1vZGFsVmlzaWJsZSddKSB7XG4gICAgICB0aGlzLnJlbmRlclBvbGxzKCk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyUG9sbHMgPSAoKSA9PiB7XG4gICAgbGV0IGFjdGl2ZVBvbGxDb3VudCA9IDA7XG5cbiAgICB0aGlzLnBvbGxzICYmXG4gICAgICB0aGlzLnBvbGxzLmZvckVhY2goKHBvbGxlZDogYW55KSA9PiB7XG4gICAgICAgIGlmIChwb2xsZWQuc3RhdHVzID09PSAnYWN0aXZlJyAmJiB0aGlzLnBvbGwgJiYgcG9sbGVkLmlkID09PSB0aGlzLnBvbGwuaWQpIHtcbiAgICAgICAgICBhY3RpdmVQb2xsQ291bnQrKztcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICBpZiAodGhpcy5pc2xldmVsID09ICcyJyAmJiBhY3RpdmVQb2xsQ291bnQgPT09IDApIHtcbiAgICAgIGlmICh0aGlzLnBvbGwgJiYgdGhpcy5wb2xsLnN0YXR1cyA9PT0gJ2FjdGl2ZScpIHtcbiAgICAgICAgdGhpcy5wb2xsLnN0YXR1cyA9ICdpbmFjdGl2ZSc7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGNhbGN1bGF0ZVBlcmNlbnRhZ2Uodm90ZXM6IG51bWJlcltdLCBvcHRpb25JbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBjb25zdCB0b3RhbFZvdGVzID0gdm90ZXMucmVkdWNlKChhLCBiKSA9PiBhICsgYiwgMCk7XG4gICAgcmV0dXJuIHRvdGFsVm90ZXMgPiAwID8gcGFyc2VGbG9hdCgoKHZvdGVzW29wdGlvbkluZGV4XSAvIHRvdGFsVm90ZXMpICogMTAwKS50b0ZpeGVkKDIpKSA6IDA7XG4gIH1cblxuICBoYW5kbGVQb2xsVHlwZUNoYW5nZShldmVudDogYW55KSB7XG4gICAgY29uc3QgdHlwZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICBsZXQgb3B0aW9uczogc3RyaW5nW10gPSBbXTtcblxuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAndHJ1ZUZhbHNlJzpcbiAgICAgICAgb3B0aW9ucyA9IFsnVHJ1ZScsICdGYWxzZSddO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3llc05vJzpcbiAgICAgICAgb3B0aW9ucyA9IFsnWWVzJywgJ05vJ107XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnY3VzdG9tJzpcbiAgICAgICAgb3B0aW9ucyA9IFsnJywgJycsICcnLCAnJywgJyddOyAvLyBQcmVsb2FkIDUgZW1wdHkgb3B0aW9uc1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIG9wdGlvbnMgPSBbXTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgdGhpcy5uZXdQb2xsID0geyAuLi50aGlzLm5ld1BvbGwsIHR5cGUsIG9wdGlvbnMgfTtcbiAgfVxuXG4gIGFzeW5jIHZhbGlkYXRlQW5kQ3JlYXRlUG9sbCgpIHtcbiAgICAvLyBSZW1vdmUgZW1wdHkgb3B0aW9ucyBiZWZvcmUgY3JlYXRpbmcgdGhlIHBvbGxcbiAgICB0aGlzLm5ld1BvbGwub3B0aW9ucyA9IHRoaXMubmV3UG9sbC5vcHRpb25zLmZpbHRlcigob3B0aW9uOiBzdHJpbmcpID0+IG9wdGlvbi50cmltKCkgIT09ICcnKTtcblxuICAgIC8vIEVuc3VyZSB0aGVyZSdzIGF0IGxlYXN0IG9uZSB2YWxpZCBvcHRpb25cbiAgICBpZiAodGhpcy5uZXdQb2xsLm9wdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgYXdhaXQgdGhpcy5oYW5kbGVDcmVhdGVQb2xsKHtcbiAgICAgICAgcG9sbDogdGhpcy5uZXdQb2xsLFxuICAgICAgICBzb2NrZXQ6IHRoaXMuc29ja2V0LFxuICAgICAgICByb29tTmFtZTogdGhpcy5yb29tTmFtZSxcbiAgICAgICAgc2hvd0FsZXJ0OiB0aGlzLnNob3dBbGVydCxcbiAgICAgICAgdXBkYXRlSXNQb2xsTW9kYWxWaXNpYmxlOiB0aGlzLnVwZGF0ZUlzUG9sbE1vZGFsVmlzaWJsZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZWRWb3RlUG9sbChwb2xsSWQ6IHN0cmluZywgb3B0aW9uSW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuaGFuZGxlVm90ZVBvbGwoe1xuICAgICAgcG9sbElkLFxuICAgICAgb3B0aW9uSW5kZXgsXG4gICAgICBzb2NrZXQ6IHRoaXMuc29ja2V0LFxuICAgICAgbWVtYmVyOiB0aGlzLm1lbWJlcixcbiAgICAgIHJvb21OYW1lOiB0aGlzLnJvb21OYW1lLFxuICAgICAgc2hvd0FsZXJ0OiB0aGlzLnNob3dBbGVydCxcbiAgICAgIHVwZGF0ZUlzUG9sbE1vZGFsVmlzaWJsZTogdGhpcy51cGRhdGVJc1BvbGxNb2RhbFZpc2libGUsXG4gICAgfSk7XG4gIH1cblxuICBoYW5kbGVkRW5kUG9sbChwb2xsSWQ6IHN0cmluZykge1xuICAgIHRoaXMuaGFuZGxlRW5kUG9sbCh7XG4gICAgICBwb2xsSWQsXG4gICAgICBzb2NrZXQ6IHRoaXMuc29ja2V0LFxuICAgICAgcm9vbU5hbWU6IHRoaXMucm9vbU5hbWUsXG4gICAgICBzaG93QWxlcnQ6IHRoaXMuc2hvd0FsZXJ0LFxuICAgICAgdXBkYXRlSXNQb2xsTW9kYWxWaXNpYmxlOiB0aGlzLnVwZGF0ZUlzUG9sbE1vZGFsVmlzaWJsZSxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBtb2RhbENvbnRhaW5lclN0eWxlKCkge1xuICAgIHJldHVybiB7XG4gICAgICBwb3NpdGlvbjogJ2ZpeGVkJyxcbiAgICAgIHRvcDogMCxcbiAgICAgIGxlZnQ6IDAsXG4gICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDAsIDAsIDAsIDAuNSknLFxuICAgICAgZGlzcGxheTogdGhpcy5pc1BvbGxNb2RhbFZpc2libGUgPyAnYmxvY2snIDogJ25vbmUnLFxuICAgICAgekluZGV4OiA5OTksXG4gICAgfTtcbiAgfVxuXG4gIGdldCBtb2RhbENvbnRlbnRTdHlsZSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoaXMuYmFja2dyb3VuZENvbG9yLFxuICAgICAgYm9yZGVyUmFkaXVzOiAnMTBweCcsXG4gICAgICBwYWRkaW5nOiAnMTBweCcsXG4gICAgICB3aWR0aDogYCR7dGhpcy5tb2RhbFdpZHRofXB4YCxcbiAgICAgIG1heEhlaWdodDogJzc1JScsXG4gICAgICBvdmVyZmxvd1k6ICdhdXRvJyxcbiAgICAgIHRvcDogdGhpcy5wb3NpdGlvbi5pbmNsdWRlcygndG9wJykgPyAnMTBweCcgOiAnYXV0bycsXG4gICAgICBib3R0b206IHRoaXMucG9zaXRpb24uaW5jbHVkZXMoJ2JvdHRvbScpID8gJzEwcHgnIDogJ2F1dG8nLFxuICAgICAgbGVmdDogdGhpcy5wb3NpdGlvbi5pbmNsdWRlcygnTGVmdCcpID8gJzEwcHgnIDogJ2F1dG8nLFxuICAgICAgcmlnaHQ6IHRoaXMucG9zaXRpb24uaW5jbHVkZXMoJ1JpZ2h0JykgPyAnMTBweCcgOiAnYXV0bycsXG4gICAgfTtcbiAgfVxufVxuIiwiPGRpdiBbbmdTdHlsZV09XCJtb2RhbENvbnRhaW5lclN0eWxlXCI+XHJcbiAgPGRpdiBbbmdTdHlsZV09XCJtb2RhbENvbnRlbnRTdHlsZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxyXG4gICAgICA8aDI+UG9sbHM8L2gyPlxyXG4gICAgICA8YnV0dG9uIChjbGljayk9XCJvbkNsb3NlKClcIiBjbGFzcz1cImNsb3NlLWJ1dHRvblwiPlxyXG4gICAgICAgIDxmYS1pY29uIFtpY29uXT1cImZhVGltZXNcIj48L2ZhLWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8aHIgLz5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XHJcbiAgICAgIDwhLS0gUHJldmlvdXMgUG9sbHMgU2VjdGlvbiAtLT5cclxuICAgICAgPGRpdiAqbmdJZj1cImlzbGV2ZWwgPT09ICcyJ1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcmV2aW91cy1wb2xsc1wiPlxyXG4gICAgICAgICAgPGg1PlByZXZpb3VzIFBvbGxzPC9oNT5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJwb2xscy5sZW5ndGggPT09IDBcIj5ObyBwb2xscyBhdmFpbGFibGU8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8IS0tIFVzaW5nIG5nLWNvbnRhaW5lciB0byBhdm9pZCBtdWx0aXBsZSBzdHJ1Y3R1cmFsIGRpcmVjdGl2ZXMgb24gdGhlIHNhbWUgZWxlbWVudCAtLT5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHBvbGxlZCBvZiBwb2xsc1wiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgKm5nSWY9XCIhcG9sbCB8fCBwb2xsZWQuaWQgIT09IHBvbGwuaWQgfHwgcG9sbC5zdGF0dXMgIT09ICdhY3RpdmUnXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cInBvbGxcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGg2PlF1ZXN0aW9uOjwvaDY+XHJcbiAgICAgICAgICAgICAgPHRleHRhcmVhXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICByb3dzPVwiM1wiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwicG9sbGVkLnF1ZXN0aW9uXCJcclxuICAgICAgICAgICAgICA+PC90ZXh0YXJlYT5cclxuICAgICAgICAgICAgICA8YnIgLz5cclxuICAgICAgICAgICAgICA8aDY+T3B0aW9uczo8L2g2PlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBwb2xsZWQub3B0aW9uczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAge3sgb3B0aW9uIH19OiB7eyBwb2xsZWQudm90ZXNbaV0gfX0gdm90ZXMgKHt7XHJcbiAgICAgICAgICAgICAgICAgIGNhbGN1bGF0ZVBlcmNlbnRhZ2UocG9sbGVkLnZvdGVzLCBpKVxyXG4gICAgICAgICAgICAgICAgfX0lKVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwhLS0gRW5kIFBvbGwgQnV0dG9uIChpZiBwb2xsIGlzIGFjdGl2ZSkgLS0+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJwb2xsZWQuc3RhdHVzID09PSAnYWN0aXZlJ1wiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGFuZ2VyXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVkRW5kUG9sbChwb2xsZWQuaWQpXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICBFbmQgUG9sbFxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxociAvPlxyXG5cclxuICAgICAgICA8IS0tIENyZWF0ZSBQb2xsIFNlY3Rpb24gLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNyZWF0ZS1wb2xsXCI+XHJcbiAgICAgICAgICA8aDU+Q3JlYXRlIGEgTmV3IFBvbGw8L2g1PlxyXG4gICAgICAgICAgPGZvcm0gKG5nU3VibWl0KT1cInZhbGlkYXRlQW5kQ3JlYXRlUG9sbCgpXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBvbGxRdWVzdGlvblwiPlBvbGwgUXVlc3Rpb248L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDx0ZXh0YXJlYVxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgaWQ9XCJwb2xsUXVlc3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgcm93cz1cIjNcIlxyXG4gICAgICAgICAgICAgICAgbWF4TGVuZ3RoPVwiMzAwXCJcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm5ld1BvbGwucXVlc3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgbmFtZT1cInF1ZXN0aW9uXCJcclxuICAgICAgICAgICAgICA+PC90ZXh0YXJlYT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBvbGxUeXBlXCI+U2VsZWN0IFBvbGwgQW5zd2VyIFR5cGU8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxzZWxlY3RcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIGlkPVwicG9sbFR5cGVcIlxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiaGFuZGxlUG9sbFR5cGVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm5ld1BvbGwudHlwZVwiXHJcbiAgICAgICAgICAgICAgICBuYW1lPVwidHlwZVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiPkNob29zZS4uLjwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInRydWVGYWxzZVwiPlRydWUvRmFsc2U8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJ5ZXNOb1wiPlllcy9Obzwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImN1c3RvbVwiPkN1c3RvbTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gUmVuZGVyIFBvbGwgT3B0aW9ucyAtLT5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwibmV3UG9sbC50eXBlID09PSAndHJ1ZUZhbHNlJyB8fCBuZXdQb2xsLnR5cGUgPT09ICd5ZXNObydcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBuZXdQb2xsLm9wdGlvbnM7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNoZWNrXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCJcclxuICAgICAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcclxuICAgICAgICAgICAgICAgICAgbmFtZT1cInBvbGxPcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uLnRvTG93ZXJDYXNlKClcIlxyXG4gICAgICAgICAgICAgICAgICBbaWRdPVwiJ29wdGlvbicgKyBvcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIiBbZm9yXT1cIidvcHRpb24nICsgb3B0aW9uXCI+e3tcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uXHJcbiAgICAgICAgICAgICAgICB9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibmV3UG9sbC50eXBlID09PSAnY3VzdG9tJ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgbmV3UG9sbC5vcHRpb25zOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1ncm91cFwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk9wdGlvbiB7eyBpICsgMSB9fVwiXHJcbiAgICAgICAgICAgICAgICAgIG1heExlbmd0aD1cIjUwXCJcclxuICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJuZXdQb2xsLm9wdGlvbnNbaV1cIlxyXG4gICAgICAgICAgICAgICAgICBuYW1lPVwib3B0aW9ue3sgaSB9fVwiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIj5DcmVhdGUgUG9sbDwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9mb3JtPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxociAvPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS0gQ3VycmVudCBQb2xsIFNlY3Rpb24gLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjdXJyZW50LXBvbGxcIj5cclxuICAgICAgICA8aDU+Q3VycmVudCBQb2xsPC9oNT5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwicG9sbCAmJiBwb2xsLnN0YXR1cyA9PT0gJ2FjdGl2ZSdcIj5cclxuICAgICAgICAgIDxoNj5RdWVzdGlvbjo8L2g2PlxyXG4gICAgICAgICAgPHRleHRhcmVhXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgcm93cz1cIjNcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJwb2xsLnF1ZXN0aW9uXCJcclxuICAgICAgICAgID48L3RleHRhcmVhPlxyXG4gICAgICAgICAgPGg2Pk9wdGlvbnM6PC9oNj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBwb2xsLm9wdGlvbnM7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY2hlY2tcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIlxyXG4gICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXHJcbiAgICAgICAgICAgICAgbmFtZT1cInBvbGxPcHRpb25cIlxyXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJpXCJcclxuICAgICAgICAgICAgICBpZD1cInBvbGxPcHRpb257eyBpIH19XCJcclxuICAgICAgICAgICAgICBbY2hlY2tlZF09XCJwb2xsLnZvdGVycz8uW21lbWJlcl0gPT09IGlcIlxyXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwiaGFuZGxlZFZvdGVQb2xsKHBvbGwuaWQsIGkpXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiIFtmb3JdPVwiJ3BvbGxPcHRpb24nICsgaVwiPnt7XHJcbiAgICAgICAgICAgICAgb3B0aW9uXHJcbiAgICAgICAgICAgIH19PC9sYWJlbD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAqbmdJZj1cInBvbGwuc3RhdHVzID09PSAnYWN0aXZlJyAmJiBpc2xldmVsID09PSAnMidcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGFuZ2VyXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZWRFbmRQb2xsKHBvbGwuaWQpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgRW5kIFBvbGxcclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCIhcG9sbCB8fCBwb2xsLnN0YXR1cyAhPT0gJ2FjdGl2ZSdcIj5cclxuICAgICAgICAgIDxociAvPlxyXG4gICAgICAgICAgTm8gYWN0aXZlIHBvbGxcclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -4,6 +4,21 @@ import { FormsModule } from '@angular/forms';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common";
6
6
  import * as i2 from "@angular/forms";
7
+ /**
8
+ * Component for configuring advanced recording options in a MediaSFU session.
9
+ *
10
+ * @component
11
+ * @selector app-advanced-panel-component
12
+ * @standalone true
13
+ * @templateUrl ./advanced-panel-component.component.html
14
+ * @styleUrls ['./advanced-panel-component.component.css']
15
+ * @imports [CommonModule, FormsModule]
16
+ *
17
+ * @example
18
+ * ```html
19
+ * <app-advanced-panel-component [parameters]="advancedPanelOptions"></app-advanced-panel-component>
20
+ * ```
21
+ */
7
22
  export class AdvancedPanelComponent {
8
23
  parameters = {};
9
24
  selectedOrientationVideo;
@@ -74,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
74
89
  }], propDecorators: { parameters: [{
75
90
  type: Input
76
91
  }] } });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtcGFuZWwtY29tcG9uZW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmRpbmctY29tcG9uZW50cy9hZHZhbmNlZC1wYW5lbC1jb21wb25lbnQvYWR2YW5jZWQtcGFuZWwtY29tcG9uZW50cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmRpbmctY29tcG9uZW50cy9hZHZhbmNlZC1wYW5lbC1jb21wb25lbnQvYWR2YW5jZWQtcGFuZWwtY29tcG9uZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBb0M3QyxNQUFNLE9BQU8sc0JBQXNCO0lBQ3hCLFVBQVUsR0FBNEIsRUFBNkIsQ0FBQztJQUU3RSx3QkFBd0IsQ0FBVTtJQUNsQyx5QkFBeUIsQ0FBVztJQUNwQywwQkFBMEIsQ0FBVTtJQUNwQyw0QkFBNEIsQ0FBNkI7SUFDekQsd0JBQXdCLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLHNCQUFzQixHQUFHLEtBQUssQ0FBQztJQUMvQixpQkFBaUIsR0FBRyxFQUFFLENBQUM7SUFDdkIsYUFBYSxDQUFXO0lBQ3hCLFVBQVUsQ0FBVTtJQUNwQixpQkFBaUIsQ0FBVTtJQUUzQixRQUFRO1FBQ04sSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUseUJBQXlCLElBQUksRUFBRSxDQUFDO1FB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QWUsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxVQUFVLENBQUMsNEJBQTRCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEQsQ0FBQztJQUNILENBQUM7dUdBakVVLHNCQUFzQjsyRkFBdEIsc0JBQXNCLG1KQ3RDbkMsa3pJQTBHQSx5RER0RVksWUFBWSx1TkFBRSxXQUFXOzsyRkFFeEIsc0JBQXNCO2tCQVBsQyxTQUFTOytCQUNFLDhCQUE4QixjQUM1QixJQUFJLFdBR1AsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDOzhCQUczQixVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEV2ZW50VHlwZSB9IGZyb20gJy4uLy4uLy4uL0B0eXBlcy90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWR2YW5jZWRQYW5lbFBhcmFtZXRlcnMge1xuICByZWNvcmRpbmdPcmllbnRhdGlvblZpZGVvOiBzdHJpbmc7XG4gIHJlY29yZGluZ05hbWVUYWdzOiBib29sZWFuO1xuICByZWNvcmRpbmdWaWRlb1R5cGU6IHN0cmluZztcbiAgcmVjb3JkaW5nRGlzcGxheVR5cGU6ICd2aWRlbycgfCAnbWVkaWEnIHwgJ2FsbCc7XG4gIHJlY29yZGluZ0FkZFRleHQ6IGJvb2xlYW47XG4gIHJlY29yZGluZ0N1c3RvbVRleHQ6IHN0cmluZztcbiAgcmVjb3JkaW5nQ3VzdG9tVGV4dFBvc2l0aW9uOiBzdHJpbmc7XG4gIHJlY29yZGluZ0JhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICByZWNvcmRpbmdDdXN0b21UZXh0Q29sb3I6IHN0cmluZztcbiAgcmVjb3JkaW5nTmFtZVRhZ3NDb2xvcjogc3RyaW5nO1xuICB1cGRhdGVSZWNvcmRpbmdPcmllbnRhdGlvblZpZGVvOiAob3JpZW50YXRpb246IHN0cmluZykgPT4gdm9pZDtcbiAgdXBkYXRlUmVjb3JkaW5nTmFtZVRhZ3M6IChuYW1lVGFnczogYm9vbGVhbikgPT4gdm9pZDtcbiAgdXBkYXRlUmVjb3JkaW5nVmlkZW9UeXBlOiAodmlkZW9UeXBlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIHVwZGF0ZVJlY29yZGluZ0Rpc3BsYXlUeXBlOiAoZGlzcGxheVR5cGU6ICd2aWRlbycgfCAnbWVkaWEnIHwgJ2FsbCcpID0+IHZvaWQ7XG4gIHVwZGF0ZVJlY29yZGluZ0FkZFRleHQ6IChhZGRUZXh0OiBib29sZWFuKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdDdXN0b21UZXh0OiAoY3VzdG9tVGV4dDogc3RyaW5nKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdDdXN0b21UZXh0UG9zaXRpb246IChwb3NpdGlvbjogc3RyaW5nKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdCYWNrZ3JvdW5kQ29sb3I6IChjb2xvcjogc3RyaW5nKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdDdXN0b21UZXh0Q29sb3I6IChjb2xvcjogc3RyaW5nKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdOYW1lVGFnc0NvbG9yOiAoY29sb3I6IHN0cmluZykgPT4gdm9pZDtcbiAgZXZlbnRUeXBlOiBFdmVudFR5cGU7XG59XG5cbmV4cG9ydCB0eXBlIEFkdmFuY2VkUGFuZWxUeXBlID0gKG9wdGlvbnM6IEFkdmFuY2VkUGFuZWxQYXJhbWV0ZXJzKSA9PiBIVE1MRWxlbWVudDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWFkdmFuY2VkLXBhbmVsLWNvbXBvbmVudCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZHZhbmNlZC1wYW5lbC1jb21wb25lbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZHZhbmNlZC1wYW5lbC1jb21wb25lbnQuY29tcG9uZW50LmNzcyddLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEFkdmFuY2VkUGFuZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHBhcmFtZXRlcnM6IEFkdmFuY2VkUGFuZWxQYXJhbWV0ZXJzID0ge30gYXMgQWR2YW5jZWRQYW5lbFBhcmFtZXRlcnM7XG5cbiAgc2VsZWN0ZWRPcmllbnRhdGlvblZpZGVvITogc3RyaW5nO1xuICBzZWxlY3RlZFJlY29yZGluZ05hbWVUYWdzITogYm9vbGVhbjtcbiAgc2VsZWN0ZWRSZWNvcmRpbmdWaWRlb1R5cGUhOiBzdHJpbmc7XG4gIHNlbGVjdGVkUmVjb3JkaW5nRGlzcGxheVR5cGUhOiAndmlkZW8nIHwgJ21lZGlhJyB8ICdhbGwnO1xuICBzaG93QmFja2dyb3VuZENvbG9yTW9kYWwgPSBmYWxzZTtcbiAgc2hvd05hbWVUYWdzQ29sb3JNb2RhbCA9IGZhbHNlO1xuICBzZWxlY3RlZENvbG9yVHlwZSA9ICcnO1xuICByZWNvcmRpbmdUZXh0ITogYm9vbGVhbjtcbiAgY3VzdG9tVGV4dCE6IHN0cmluZztcbiAgcmVjb3JkaW5nUG9zaXRpb24hOiBzdHJpbmc7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZWxlY3RlZE9yaWVudGF0aW9uVmlkZW8gPSB0aGlzLnBhcmFtZXRlcnM/LnJlY29yZGluZ09yaWVudGF0aW9uVmlkZW8gPz8gJyc7XG4gICAgdGhpcy5zZWxlY3RlZFJlY29yZGluZ05hbWVUYWdzID0gdGhpcy5wYXJhbWV0ZXJzPy5yZWNvcmRpbmdOYW1lVGFncyA/PyBmYWxzZTtcbiAgICB0aGlzLnNlbGVjdGVkUmVjb3JkaW5nVmlkZW9UeXBlID0gdGhpcy5wYXJhbWV0ZXJzPy5yZWNvcmRpbmdWaWRlb1R5cGUgPz8gJyc7XG4gICAgdGhpcy5zZWxlY3RlZFJlY29yZGluZ0Rpc3BsYXlUeXBlID0gdGhpcy5wYXJhbWV0ZXJzPy5yZWNvcmRpbmdEaXNwbGF5VHlwZSA/PyAnbWVkaWEnO1xuICAgIHRoaXMucmVjb3JkaW5nVGV4dCA9IHRoaXMucGFyYW1ldGVycz8ucmVjb3JkaW5nQWRkVGV4dCA/PyBmYWxzZTtcbiAgICB0aGlzLmN1c3RvbVRleHQgPSB0aGlzLnBhcmFtZXRlcnM/LnJlY29yZGluZ0N1c3RvbVRleHQgPz8gJyc7XG4gICAgdGhpcy5yZWNvcmRpbmdQb3NpdGlvbiA9IHRoaXMucGFyYW1ldGVycz8ucmVjb3JkaW5nQ3VzdG9tVGV4dFBvc2l0aW9uID8/ICcnO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydwYXJhbWV0ZXJzJ10pIHtcbiAgICAgIHRoaXMucGFyYW1ldGVycyA9IGNoYW5nZXNbJ3BhcmFtZXRlcnMnXS5jdXJyZW50VmFsdWU7XG4gICAgICB0aGlzLnNlbGVjdGVkT3JpZW50YXRpb25WaWRlbyA9IHRoaXMucGFyYW1ldGVycy5yZWNvcmRpbmdPcmllbnRhdGlvblZpZGVvO1xuICAgICAgdGhpcy5zZWxlY3RlZFJlY29yZGluZ05hbWVUYWdzID0gdGhpcy5wYXJhbWV0ZXJzLnJlY29yZGluZ05hbWVUYWdzO1xuICAgICAgdGhpcy5zZWxlY3RlZFJlY29yZGluZ1ZpZGVvVHlwZSA9IHRoaXMucGFyYW1ldGVycy5yZWNvcmRpbmdWaWRlb1R5cGU7XG4gICAgICB0aGlzLnNlbGVjdGVkUmVjb3JkaW5nRGlzcGxheVR5cGUgPSB0aGlzLnBhcmFtZXRlcnMucmVjb3JkaW5nRGlzcGxheVR5cGU7XG4gICAgICB0aGlzLnJlY29yZGluZ1RleHQgPSB0aGlzLnBhcmFtZXRlcnMucmVjb3JkaW5nQWRkVGV4dDtcbiAgICAgIHRoaXMuY3VzdG9tVGV4dCA9IHRoaXMucGFyYW1ldGVycy5yZWNvcmRpbmdDdXN0b21UZXh0O1xuICAgICAgdGhpcy5yZWNvcmRpbmdQb3NpdGlvbiA9IHRoaXMucGFyYW1ldGVycy5yZWNvcmRpbmdDdXN0b21UZXh0UG9zaXRpb247XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGVUZXh0SW5wdXQoaW5wdXQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJlZ2V4ID0gL15bYS16QS1aMC05XFxzXXsxLDQwfSQvO1xuICAgIHJldHVybiByZWdleC50ZXN0KGlucHV0KTtcbiAgfVxuXG4gIGhhbmRsZVRleHRDaGFuZ2UodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnJlY29yZGluZ1RleHQgPSB2YWx1ZTtcbiAgICB0aGlzLnBhcmFtZXRlcnMudXBkYXRlUmVjb3JkaW5nQWRkVGV4dCh2YWx1ZSk7XG4gIH1cblxuICBvbkNoYW5nZVRleHRIYW5kbGVyKHRleHQ6IHN0cmluZykge1xuICAgIGlmICh0ZXh0ICYmIHRleHQubGVuZ3RoID4gMCAmJiAhdGhpcy52YWxpZGF0ZVRleHRJbnB1dCh0ZXh0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnBhcmFtZXRlcnMudXBkYXRlUmVjb3JkaW5nQ3VzdG9tVGV4dCh0ZXh0KTtcbiAgICB0aGlzLmN1c3RvbVRleHQgPSB0ZXh0O1xuICB9XG5cbiAgaGFuZGxlQ29sb3JDaGFuZ2Uoc2VsZWN0ZWRDb2xvcjogc3RyaW5nLCBldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGNvbnN0IGNvbG9yID0gaW5wdXQudmFsdWU7XG4gICAgaWYgKHNlbGVjdGVkQ29sb3IgPT09ICdiYWNrZ3JvdW5kQ29sb3InKSB7XG4gICAgICB0aGlzLnBhcmFtZXRlcnMudXBkYXRlUmVjb3JkaW5nQmFja2dyb3VuZENvbG9yKGNvbG9yKTtcbiAgICB9IGVsc2UgaWYgKHNlbGVjdGVkQ29sb3IgPT09ICdjdXN0b21UZXh0Q29sb3InKSB7XG4gICAgICB0aGlzLnBhcmFtZXRlcnMudXBkYXRlUmVjb3JkaW5nQ3VzdG9tVGV4dENvbG9yKGNvbG9yKTtcbiAgICB9IGVsc2UgaWYgKHNlbGVjdGVkQ29sb3IgPT09ICduYW1lVGFnc0NvbG9yJykge1xuICAgICAgdGhpcy5wYXJhbWV0ZXJzLnVwZGF0ZVJlY29yZGluZ05hbWVUYWdzQ29sb3IoY29sb3IpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdj5cclxuICA8IS0tIFZpZGVvIFR5cGUgLS0+XHJcbiAgPGRpdj5cclxuICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsXCI+VmlkZW8gVHlwZTo8L2xhYmVsPlxyXG4gICAgPHNlbGVjdCBbKG5nTW9kZWwpXT1cInNlbGVjdGVkUmVjb3JkaW5nVmlkZW9UeXBlXCIgKGNoYW5nZSk9XCJwYXJhbWV0ZXJzLnVwZGF0ZVJlY29yZGluZ1ZpZGVvVHlwZShzZWxlY3RlZFJlY29yZGluZ1ZpZGVvVHlwZSlcIj5cclxuICAgICAgPG9wdGlvbiB2YWx1ZT1cImZ1bGxEaXNwbGF5XCI+RnVsbCBEaXNwbGF5IChubyBiYWNrZ3JvdW5kKTwvb3B0aW9uPlxyXG4gICAgICA8b3B0aW9uIHZhbHVlPVwiYmVzdERpc3BsYXlcIj5GdWxsIFZpZGVvPC9vcHRpb24+XHJcbiAgICAgIDxvcHRpb24gdmFsdWU9XCJhbGxcIj5BbGw8L29wdGlvbj5cclxuICAgIDwvc2VsZWN0PlxyXG4gIDwvZGl2PlxyXG4gIDxociAvPlxyXG5cclxuICA8IS0tIERpc3BsYXkgVHlwZSAtLT5cclxuICA8ZGl2ICpuZ0lmPVwicGFyYW1ldGVycy5ldmVudFR5cGUgIT09ICdicm9hZGNhc3QnXCI+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJsYWJlbFwiPkRpc3BsYXkgVHlwZTo8L2xhYmVsPlxyXG4gICAgPHNlbGVjdCBbKG5nTW9kZWwpXT1cInNlbGVjdGVkUmVjb3JkaW5nRGlzcGxheVR5cGVcIiAoY2hhbmdlKT1cInBhcmFtZXRlcnMudXBkYXRlUmVjb3JkaW5nRGlzcGxheVR5cGUoc2VsZWN0ZWRSZWNvcmRpbmdEaXNwbGF5VHlwZSlcIj5cclxuICAgICAgPG9wdGlvbiB2YWx1ZT1cInZpZGVvXCI+T25seSBWaWRlbyBQYXJ0aWNpcGFudHM8L29wdGlvbj5cclxuICAgICAgPG9wdGlvbiB2YWx1ZT1cInZpZGVvT3B0XCI+T25seSBWaWRlbyBQYXJ0aWNpcGFudHMgKG9wdGltaXplZCk8L29wdGlvbj5cclxuICAgICAgPG9wdGlvbiB2YWx1ZT1cIm1lZGlhXCI+UGFydGljaXBhbnRzIHdpdGggbWVkaWE8L29wdGlvbj5cclxuICAgICAgPG9wdGlvbiB2YWx1ZT1cImFsbFwiPkFsbCBQYXJ0aWNpcGFudHM8L29wdGlvbj5cclxuICAgIDwvc2VsZWN0PlxyXG4gIDwvZGl2PlxyXG4gIDxociAvPlxyXG5cclxuICA8IS0tIEJhY2tncm91bmQgQ29sb3IgLS0+XHJcbiAgPGRpdj5cclxuICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsXCI+QmFja2dyb3VuZCBDb2xvcjo8L2xhYmVsPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbG9yLXByZXZpZXdcIiBbbmdTdHlsZV09XCJ7J2JhY2tncm91bmQtY29sb3InOiBwYXJhbWV0ZXJzLnJlY29yZGluZ0JhY2tncm91bmRDb2xvcn1cIj5cclxuICAgICAge3sgcGFyYW1ldGVycy5yZWNvcmRpbmdCYWNrZ3JvdW5kQ29sb3IgfX1cclxuICAgIDwvZGl2PlxyXG4gICAgPGlucHV0IHR5cGU9XCJjb2xvclwiIFsobmdNb2RlbCldPVwicGFyYW1ldGVycy5yZWNvcmRpbmdCYWNrZ3JvdW5kQ29sb3JcIiAoY2hhbmdlKT1cImhhbmRsZUNvbG9yQ2hhbmdlKCdiYWNrZ3JvdW5kQ29sb3InLCAkZXZlbnQpXCIgLz5cclxuICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIj5DbGljayB0byBzZWxlY3QgY29sb3I8L3NwYW4+XHJcbiAgPC9kaXY+XHJcbiAgPGhyIC8+XHJcblxyXG4gIDwhLS0gQWRkIFRleHQgLS0+XHJcbiAgPGRpdj5cclxuICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsXCI+QWRkIFRleHQ6PC9sYWJlbD5cclxuICAgIDxzZWxlY3QgWyhuZ01vZGVsKV09XCJyZWNvcmRpbmdUZXh0XCIgKGNoYW5nZSk9XCJoYW5kbGVUZXh0Q2hhbmdlKHJlY29yZGluZ1RleHQpXCI+XHJcbiAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwidHJ1ZVwiPlRydWU8L29wdGlvbj5cclxuICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJmYWxzZVwiPkZhbHNlPC9vcHRpb24+XHJcbiAgICA8L3NlbGVjdD5cclxuICA8L2Rpdj5cclxuICA8aHIgLz5cclxuXHJcbiAgPCEtLSBDdXN0b20gVGV4dCAtLT5cclxuICA8ZGl2ICpuZ0lmPVwicmVjb3JkaW5nVGV4dFwiPlxyXG4gICAgPGxhYmVsIGNsYXNzPVwibGFiZWxcIj5DdXN0b20gVGV4dDo8L2xhYmVsPlxyXG4gICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJjdXN0b21UZXh0XCIgKGlucHV0KT1cIm9uQ2hhbmdlVGV4dEhhbmRsZXIoY3VzdG9tVGV4dClcIiAvPlxyXG4gICAgPGhyIC8+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS0gQ3VzdG9tIFRleHQgUG9zaXRpb24gLS0+XHJcbiAgPGRpdiAqbmdJZj1cInJlY29yZGluZ1RleHRcIj5cclxuICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsXCI+Q3VzdG9tIFRleHQgUG9zaXRpb246PC9sYWJlbD5cclxuICAgIDxzZWxlY3QgWyhuZ01vZGVsKV09XCJyZWNvcmRpbmdQb3NpdGlvblwiIChjaGFuZ2UpPVwicGFyYW1ldGVycy51cGRhdGVSZWNvcmRpbmdDdXN0b21UZXh0UG9zaXRpb24ocmVjb3JkaW5nUG9zaXRpb24pXCI+XHJcbiAgICAgIDxvcHRpb24gdmFsdWU9XCJ0b3BcIj5Ub3A8L29wdGlvbj5cclxuICAgICAgPG9wdGlvbiB2YWx1ZT1cIm1pZGRsZVwiPk1pZGRsZTwvb3B0aW9uPlxyXG4gICAgICA8b3B0aW9uIHZhbHVlPVwiYm90dG9tXCI+Qm90dG9tPC9vcHRpb24+XHJcbiAgICA8L3NlbGVjdD5cclxuICAgIDxociAvPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8IS0tIEN1c3RvbSBUZXh0IENvbG9yIC0tPlxyXG4gIDxkaXYgKm5nSWY9XCJyZWNvcmRpbmdUZXh0XCI+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJsYWJlbFwiPkN1c3RvbSBUZXh0IENvbG9yOjwvbGFiZWw+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sb3ItcHJldmlld1wiIFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZC1jb2xvcic6IHBhcmFtZXRlcnMucmVjb3JkaW5nQ3VzdG9tVGV4dENvbG9yfVwiPlxyXG4gICAgICB7eyBwYXJhbWV0ZXJzLnJlY29yZGluZ0N1c3RvbVRleHRDb2xvciB9fVxyXG4gICAgPC9kaXY+XHJcbiAgICA8aW5wdXQgdHlwZT1cImNvbG9yXCIgWyhuZ01vZGVsKV09XCJwYXJhbWV0ZXJzLnJlY29yZGluZ0N1c3RvbVRleHRDb2xvclwiIChjaGFuZ2UpPVwiaGFuZGxlQ29sb3JDaGFuZ2UoJ2N1c3RvbVRleHRDb2xvcicsICRldmVudClcIiAvPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiPkNsaWNrIHRvIHNlbGVjdCBjb2xvcjwvc3Bhbj5cclxuICAgIDxociAvPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8IS0tIEFkZCBOYW1lIFRhZ3MgLS0+XHJcbiAgPGRpdj5cclxuICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsXCI+QWRkIE5hbWUgVGFnczo8L2xhYmVsPlxyXG4gICAgPHNlbGVjdCBbKG5nTW9kZWwpXT1cInNlbGVjdGVkUmVjb3JkaW5nTmFtZVRhZ3NcIiAoY2hhbmdlKT1cInBhcmFtZXRlcnMudXBkYXRlUmVjb3JkaW5nTmFtZVRhZ3Moc2VsZWN0ZWRSZWNvcmRpbmdOYW1lVGFncylcIj5cclxuICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJ0cnVlXCI+VHJ1ZTwvb3B0aW9uPlxyXG4gICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cImZhbHNlXCI+RmFsc2U8L29wdGlvbj5cclxuICAgIDwvc2VsZWN0PlxyXG4gIDwvZGl2PlxyXG4gIDxociAvPlxyXG5cclxuICA8IS0tIE5hbWUgVGFncyBDb2xvciAtLT5cclxuICA8ZGl2PlxyXG4gICAgPGxhYmVsIGNsYXNzPVwibGFiZWxcIj5OYW1lIFRhZ3MgQ29sb3I6PC9sYWJlbD5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2xvci1wcmV2aWV3XCIgW25nU3R5bGVdPVwieydiYWNrZ3JvdW5kLWNvbG9yJzogcGFyYW1ldGVycy5yZWNvcmRpbmdOYW1lVGFnc0NvbG9yfVwiPlxyXG4gICAgICB7eyBwYXJhbWV0ZXJzLnJlY29yZGluZ05hbWVUYWdzQ29sb3IgfX1cclxuICAgIDwvZGl2PlxyXG4gICAgPGlucHV0IHR5cGU9XCJjb2xvclwiIFsobmdNb2RlbCldPVwicGFyYW1ldGVycy5yZWNvcmRpbmdOYW1lVGFnc0NvbG9yXCIgKGNoYW5nZSk9XCJoYW5kbGVDb2xvckNoYW5nZSgnbmFtZVRhZ3NDb2xvcicsICRldmVudClcIiAvPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiPkNsaWNrIHRvIHNlbGVjdCBjb2xvcjwvc3Bhbj5cclxuICA8L2Rpdj5cclxuICA8aHIgLz5cclxuXHJcbiAgPCEtLSBPcmllbnRhdGlvbiAoVmlkZW8pIC0tPlxyXG4gIDxkaXY+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJsYWJlbFwiPk9yaWVudGF0aW9uIChWaWRlbyk6PC9sYWJlbD5cclxuICAgIDxzZWxlY3QgWyhuZ01vZGVsKV09XCJzZWxlY3RlZE9yaWVudGF0aW9uVmlkZW9cIiAoY2hhbmdlKT1cInBhcmFtZXRlcnMudXBkYXRlUmVjb3JkaW5nT3JpZW50YXRpb25WaWRlbyhzZWxlY3RlZE9yaWVudGF0aW9uVmlkZW8pXCI+XHJcbiAgICAgIDxvcHRpb24gdmFsdWU9XCJsYW5kc2NhcGVcIj5MYW5kc2NhcGU8L29wdGlvbj5cclxuICAgICAgPG9wdGlvbiB2YWx1ZT1cInBvcnRyYWl0XCI+UG9ydHJhaXQ8L29wdGlvbj5cclxuICAgICAgPG9wdGlvbiB2YWx1ZT1cImFsbFwiPkFsbDwvb3B0aW9uPlxyXG4gICAgPC9zZWxlY3Q+XHJcbiAgPC9kaXY+XHJcbiAgPGhyIC8+XHJcbjwvZGl2PlxyXG4iXX0=
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtcGFuZWwtY29tcG9uZW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmRpbmctY29tcG9uZW50cy9hZHZhbmNlZC1wYW5lbC1jb21wb25lbnQvYWR2YW5jZWQtcGFuZWwtY29tcG9uZW50cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmRpbmctY29tcG9uZW50cy9hZHZhbmNlZC1wYW5lbC1jb21wb25lbnQvYWR2YW5jZWQtcGFuZWwtY29tcG9uZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBNkI3Qzs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQVVILE1BQU0sT0FBTyxzQkFBc0I7SUFDeEIsVUFBVSxHQUE0QixFQUE2QixDQUFDO0lBRTdFLHdCQUF3QixDQUFVO0lBQ2xDLHlCQUF5QixDQUFXO0lBQ3BDLDBCQUEwQixDQUFVO0lBQ3BDLDRCQUE0QixDQUE2QjtJQUN6RCx3QkFBd0IsR0FBRyxLQUFLLENBQUM7SUFDakMsc0JBQXNCLEdBQUcsS0FBSyxDQUFDO0lBQy9CLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztJQUN2QixhQUFhLENBQVc7SUFDeEIsVUFBVSxDQUFVO0lBQ3BCLGlCQUFpQixDQUFVO0lBRTNCLFFBQVE7UUFDTixJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSx5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O2FBQU0sSUFBSSxhQUFhLEtBQUssZUFBZSxFQUFFLENBQUM7WUFDN0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0RCxDQUFDO0lBQ0gsQ0FBQzt1R0FqRVUsc0JBQXNCOzJGQUF0QixzQkFBc0IsbUpDdkRuQyxreklBMEdBLHlERHJEWSxZQUFZLHVOQUFFLFdBQVc7OzJGQUV4QixzQkFBc0I7a0JBUGxDLFNBQVM7K0JBQ0UsOEJBQThCLGNBQzVCLElBQUksV0FHUCxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUM7OEJBRzNCLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRXZlbnRUeXBlIH0gZnJvbSAnLi4vLi4vLi4vQHR5cGVzL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBBZHZhbmNlZFBhbmVsUGFyYW1ldGVycyB7XG4gIHJlY29yZGluZ09yaWVudGF0aW9uVmlkZW86IHN0cmluZztcbiAgcmVjb3JkaW5nTmFtZVRhZ3M6IGJvb2xlYW47XG4gIHJlY29yZGluZ1ZpZGVvVHlwZTogc3RyaW5nO1xuICByZWNvcmRpbmdEaXNwbGF5VHlwZTogJ3ZpZGVvJyB8ICdtZWRpYScgfCAnYWxsJztcbiAgcmVjb3JkaW5nQWRkVGV4dDogYm9vbGVhbjtcbiAgcmVjb3JkaW5nQ3VzdG9tVGV4dDogc3RyaW5nO1xuICByZWNvcmRpbmdDdXN0b21UZXh0UG9zaXRpb246IHN0cmluZztcbiAgcmVjb3JkaW5nQmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG4gIHJlY29yZGluZ0N1c3RvbVRleHRDb2xvcjogc3RyaW5nO1xuICByZWNvcmRpbmdOYW1lVGFnc0NvbG9yOiBzdHJpbmc7XG4gIHVwZGF0ZVJlY29yZGluZ09yaWVudGF0aW9uVmlkZW86IChvcmllbnRhdGlvbjogc3RyaW5nKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdOYW1lVGFnczogKG5hbWVUYWdzOiBib29sZWFuKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdWaWRlb1R5cGU6ICh2aWRlb1R5cGU6IHN0cmluZykgPT4gdm9pZDtcbiAgdXBkYXRlUmVjb3JkaW5nRGlzcGxheVR5cGU6IChkaXNwbGF5VHlwZTogJ3ZpZGVvJyB8ICdtZWRpYScgfCAnYWxsJykgPT4gdm9pZDtcbiAgdXBkYXRlUmVjb3JkaW5nQWRkVGV4dDogKGFkZFRleHQ6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHVwZGF0ZVJlY29yZGluZ0N1c3RvbVRleHQ6IChjdXN0b21UZXh0OiBzdHJpbmcpID0+IHZvaWQ7XG4gIHVwZGF0ZVJlY29yZGluZ0N1c3RvbVRleHRQb3NpdGlvbjogKHBvc2l0aW9uOiBzdHJpbmcpID0+IHZvaWQ7XG4gIHVwZGF0ZVJlY29yZGluZ0JhY2tncm91bmRDb2xvcjogKGNvbG9yOiBzdHJpbmcpID0+IHZvaWQ7XG4gIHVwZGF0ZVJlY29yZGluZ0N1c3RvbVRleHRDb2xvcjogKGNvbG9yOiBzdHJpbmcpID0+IHZvaWQ7XG4gIHVwZGF0ZVJlY29yZGluZ05hbWVUYWdzQ29sb3I6IChjb2xvcjogc3RyaW5nKSA9PiB2b2lkO1xuICBldmVudFR5cGU6IEV2ZW50VHlwZTtcbn1cblxuZXhwb3J0IHR5cGUgQWR2YW5jZWRQYW5lbFR5cGUgPSAob3B0aW9uczogQWR2YW5jZWRQYW5lbFBhcmFtZXRlcnMpID0+IEhUTUxFbGVtZW50O1xuXG4vKipcbiAqIENvbXBvbmVudCBmb3IgY29uZmlndXJpbmcgYWR2YW5jZWQgcmVjb3JkaW5nIG9wdGlvbnMgaW4gYSBNZWRpYVNGVSBzZXNzaW9uLlxuICpcbiAqIEBjb21wb25lbnRcbiAqIEBzZWxlY3RvciBhcHAtYWR2YW5jZWQtcGFuZWwtY29tcG9uZW50XG4gKiBAc3RhbmRhbG9uZSB0cnVlXG4gKiBAdGVtcGxhdGVVcmwgLi9hZHZhbmNlZC1wYW5lbC1jb21wb25lbnQuY29tcG9uZW50Lmh0bWxcbiAqIEBzdHlsZVVybHMgWycuL2FkdmFuY2VkLXBhbmVsLWNvbXBvbmVudC5jb21wb25lbnQuY3NzJ11cbiAqIEBpbXBvcnRzIFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlXVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8YXBwLWFkdmFuY2VkLXBhbmVsLWNvbXBvbmVudCBbcGFyYW1ldGVyc109XCJhZHZhbmNlZFBhbmVsT3B0aW9uc1wiPjwvYXBwLWFkdmFuY2VkLXBhbmVsLWNvbXBvbmVudD5cbiAqIGBgYFxuICovXG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWFkdmFuY2VkLXBhbmVsLWNvbXBvbmVudCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZHZhbmNlZC1wYW5lbC1jb21wb25lbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZHZhbmNlZC1wYW5lbC1jb21wb25lbnQuY29tcG9uZW50LmNzcyddLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEFkdmFuY2VkUGFuZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHBhcmFtZXRlcnM6IEFkdmFuY2VkUGFuZWxQYXJhbWV0ZXJzID0ge30gYXMgQWR2YW5jZWRQYW5lbFBhcmFtZXRlcnM7XG5cbiAgc2VsZWN0ZWRPcmllbnRhdGlvblZpZGVvITogc3RyaW5nO1xuICBzZWxlY3RlZFJlY29yZGluZ05hbWVUYWdzITogYm9vbGVhbjtcbiAgc2VsZWN0ZWRSZWNvcmRpbmdWaWRlb1R5cGUhOiBzdHJpbmc7XG4gIHNlbGVjdGVkUmVjb3JkaW5nRGlzcGxheVR5cGUhOiAndmlkZW8nIHwgJ21lZGlhJyB8ICdhbGwnO1xuICBzaG93QmFja2dyb3VuZENvbG9yTW9kYWwgPSBmYWxzZTtcbiAgc2hvd05hbWVUYWdzQ29sb3JNb2RhbCA9IGZhbHNlO1xuICBzZWxlY3RlZENvbG9yVHlwZSA9ICcnO1xuICByZWNvcmRpbmdUZXh0ITogYm9vbGVhbjtcbiAgY3VzdG9tVGV4dCE6IHN0cmluZztcbiAgcmVjb3JkaW5nUG9zaXRpb24hOiBzdHJpbmc7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZWxlY3RlZE9yaWVudGF0aW9uVmlkZW8gPSB0aGlzLnBhcmFtZXRlcnM/LnJlY29yZGluZ09yaWVudGF0aW9uVmlkZW8gPz8gJyc7XG4gICAgdGhpcy5zZWxlY3RlZFJlY29yZGluZ05hbWVUYWdzID0gdGhpcy5wYXJhbWV0ZXJzPy5yZWNvcmRpbmdOYW1lVGFncyA/PyBmYWxzZTtcbiAgICB0aGlzLnNlbGVjdGVkUmVjb3JkaW5nVmlkZW9UeXBlID0gdGhpcy5wYXJhbWV0ZXJzPy5yZWNvcmRpbmdWaWRlb1R5cGUgPz8gJyc7XG4gICAgdGhpcy5zZWxlY3RlZFJlY29yZGluZ0Rpc3BsYXlUeXBlID0gdGhpcy5wYXJhbWV0ZXJzPy5yZWNvcmRpbmdEaXNwbGF5VHlwZSA/PyAnbWVkaWEnO1xuICAgIHRoaXMucmVjb3JkaW5nVGV4dCA9IHRoaXMucGFyYW1ldGVycz8ucmVjb3JkaW5nQWRkVGV4dCA/PyBmYWxzZTtcbiAgICB0aGlzLmN1c3RvbVRleHQgPSB0aGlzLnBhcmFtZXRlcnM/LnJlY29yZGluZ0N1c3RvbVRleHQgPz8gJyc7XG4gICAgdGhpcy5yZWNvcmRpbmdQb3NpdGlvbiA9IHRoaXMucGFyYW1ldGVycz8ucmVjb3JkaW5nQ3VzdG9tVGV4dFBvc2l0aW9uID8/ICcnO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydwYXJhbWV0ZXJzJ10pIHtcbiAgICAgIHRoaXMucGFyYW1ldGVycyA9IGNoYW5nZXNbJ3BhcmFtZXRlcnMnXS5jdXJyZW50VmFsdWU7XG4gICAgICB0aGlzLnNlbGVjdGVkT3JpZW50YXRpb25WaWRlbyA9IHRoaXMucGFyYW1ldGVycy5yZWNvcmRpbmdPcmllbnRhdGlvblZpZGVvO1xuICAgICAgdGhpcy5zZWxlY3RlZFJlY29yZGluZ05hbWVUYWdzID0gdGhpcy5wYXJhbWV0ZXJzLnJlY29yZGluZ05hbWVUYWdzO1xuICAgICAgdGhpcy5zZWxlY3RlZFJlY29yZGluZ1ZpZGVvVHlwZSA9IHRoaXMucGFyYW1ldGVycy5yZWNvcmRpbmdWaWRlb1R5cGU7XG4gICAgICB0aGlzLnNlbGVjdGVkUmVjb3JkaW5nRGlzcGxheVR5cGUgPSB0aGlzLnBhcmFtZXRlcnMucmVjb3JkaW5nRGlzcGxheVR5cGU7XG4gICAgICB0aGlzLnJlY29yZGluZ1RleHQgPSB0aGlzLnBhcmFtZXRlcnMucmVjb3JkaW5nQWRkVGV4dDtcbiAgICAgIHRoaXMuY3VzdG9tVGV4dCA9IHRoaXMucGFyYW1ldGVycy5yZWNvcmRpbmdDdXN0b21UZXh0O1xuICAgICAgdGhpcy5yZWNvcmRpbmdQb3NpdGlvbiA9IHRoaXMucGFyYW1ldGVycy5yZWNvcmRpbmdDdXN0b21UZXh0UG9zaXRpb247XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGVUZXh0SW5wdXQoaW5wdXQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJlZ2V4ID0gL15bYS16QS1aMC05XFxzXXsxLDQwfSQvO1xuICAgIHJldHVybiByZWdleC50ZXN0KGlucHV0KTtcbiAgfVxuXG4gIGhhbmRsZVRleHRDaGFuZ2UodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnJlY29yZGluZ1RleHQgPSB2YWx1ZTtcbiAgICB0aGlzLnBhcmFtZXRlcnMudXBkYXRlUmVjb3JkaW5nQWRkVGV4dCh2YWx1ZSk7XG4gIH1cblxuICBvbkNoYW5nZVRleHRIYW5kbGVyKHRleHQ6IHN0cmluZykge1xuICAgIGlmICh0ZXh0ICYmIHRleHQubGVuZ3RoID4gMCAmJiAhdGhpcy52YWxpZGF0ZVRleHRJbnB1dCh0ZXh0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnBhcmFtZXRlcnMudXBkYXRlUmVjb3JkaW5nQ3VzdG9tVGV4dCh0ZXh0KTtcbiAgICB0aGlzLmN1c3RvbVRleHQgPSB0ZXh0O1xuICB9XG5cbiAgaGFuZGxlQ29sb3JDaGFuZ2Uoc2VsZWN0ZWRDb2xvcjogc3RyaW5nLCBldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGNvbnN0IGNvbG9yID0gaW5wdXQudmFsdWU7XG4gICAgaWYgKHNlbGVjdGVkQ29sb3IgPT09ICdiYWNrZ3JvdW5kQ29sb3InKSB7XG4gICAgICB0aGlzLnBhcmFtZXRlcnMudXBkYXRlUmVjb3JkaW5nQmFja2dyb3VuZENvbG9yKGNvbG9yKTtcbiAgICB9IGVsc2UgaWYgKHNlbGVjdGVkQ29sb3IgPT09ICdjdXN0b21UZXh0Q29sb3InKSB7XG4gICAgICB0aGlzLnBhcmFtZXRlcnMudXBkYXRlUmVjb3JkaW5nQ3VzdG9tVGV4dENvbG9yKGNvbG9yKTtcbiAgICB9IGVsc2UgaWYgKHNlbGVjdGVkQ29sb3IgPT09ICduYW1lVGFnc0NvbG9yJykge1xuICAgICAgdGhpcy5wYXJhbWV0ZXJzLnVwZGF0ZVJlY29yZGluZ05hbWVUYWdzQ29sb3IoY29sb3IpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdj5cclxuICA8IS0tIFZpZGVvIFR5cGUgLS0+XHJcbiAgPGRpdj5cclxuICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsXCI+VmlkZW8gVHlwZTo8L2xhYmVsPlxyXG4gICAgPHNlbGVjdCBbKG5nTW9kZWwpXT1cInNlbGVjdGVkUmVjb3JkaW5nVmlkZW9UeXBlXCIgKGNoYW5nZSk9XCJwYXJhbWV0ZXJzLnVwZGF0ZVJlY29yZGluZ1ZpZGVvVHlwZShzZWxlY3RlZFJlY29yZGluZ1ZpZGVvVHlwZSlcIj5cclxuICAgICAgPG9wdGlvbiB2YWx1ZT1cImZ1bGxEaXNwbGF5XCI+RnVsbCBEaXNwbGF5IChubyBiYWNrZ3JvdW5kKTwvb3B0aW9uPlxyXG4gICAgICA8b3B0aW9uIHZhbHVlPVwiYmVzdERpc3BsYXlcIj5GdWxsIFZpZGVvPC9vcHRpb24+XHJcbiAgICAgIDxvcHRpb24gdmFsdWU9XCJhbGxcIj5BbGw8L29wdGlvbj5cclxuICAgIDwvc2VsZWN0PlxyXG4gIDwvZGl2PlxyXG4gIDxociAvPlxyXG5cclxuICA8IS0tIERpc3BsYXkgVHlwZSAtLT5cclxuICA8ZGl2ICpuZ0lmPVwicGFyYW1ldGVycy5ldmVudFR5cGUgIT09ICdicm9hZGNhc3QnXCI+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJsYWJlbFwiPkRpc3BsYXkgVHlwZTo8L2xhYmVsPlxyXG4gICAgPHNlbGVjdCBbKG5nTW9kZWwpXT1cInNlbGVjdGVkUmVjb3JkaW5nRGlzcGxheVR5cGVcIiAoY2hhbmdlKT1cInBhcmFtZXRlcnMudXBkYXRlUmVjb3JkaW5nRGlzcGxheVR5cGUoc2VsZWN0ZWRSZWNvcmRpbmdEaXNwbGF5VHlwZSlcIj5cclxuICAgICAgPG9wdGlvbiB2YWx1ZT1cInZpZGVvXCI+T25seSBWaWRlbyBQYXJ0aWNpcGFudHM8L29wdGlvbj5cclxuICAgICAgPG9wdGlvbiB2YWx1ZT1cInZpZGVvT3B0XCI+T25seSBWaWRlbyBQYXJ0aWNpcGFudHMgKG9wdGltaXplZCk8L29wdGlvbj5cclxuICAgICAgPG9wdGlvbiB2YWx1ZT1cIm1lZGlhXCI+UGFydGljaXBhbnRzIHdpdGggbWVkaWE8L29wdGlvbj5cclxuICAgICAgPG9wdGlvbiB2YWx1ZT1cImFsbFwiPkFsbCBQYXJ0aWNpcGFudHM8L29wdGlvbj5cclxuICAgIDwvc2VsZWN0PlxyXG4gIDwvZGl2PlxyXG4gIDxociAvPlxyXG5cclxuICA8IS0tIEJhY2tncm91bmQgQ29sb3IgLS0+XHJcbiAgPGRpdj5cclxuICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsXCI+QmFja2dyb3VuZCBDb2xvcjo8L2xhYmVsPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbG9yLXByZXZpZXdcIiBbbmdTdHlsZV09XCJ7J2JhY2tncm91bmQtY29sb3InOiBwYXJhbWV0ZXJzLnJlY29yZGluZ0JhY2tncm91bmRDb2xvcn1cIj5cclxuICAgICAge3sgcGFyYW1ldGVycy5yZWNvcmRpbmdCYWNrZ3JvdW5kQ29sb3IgfX1cclxuICAgIDwvZGl2PlxyXG4gICAgPGlucHV0IHR5cGU9XCJjb2xvclwiIFsobmdNb2RlbCldPVwicGFyYW1ldGVycy5yZWNvcmRpbmdCYWNrZ3JvdW5kQ29sb3JcIiAoY2hhbmdlKT1cImhhbmRsZUNvbG9yQ2hhbmdlKCdiYWNrZ3JvdW5kQ29sb3InLCAkZXZlbnQpXCIgLz5cclxuICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIj5DbGljayB0byBzZWxlY3QgY29sb3I8L3NwYW4+XHJcbiAgPC9kaXY+XHJcbiAgPGhyIC8+XHJcblxyXG4gIDwhLS0gQWRkIFRleHQgLS0+XHJcbiAgPGRpdj5cclxuICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsXCI+QWRkIFRleHQ6PC9sYWJlbD5cclxuICAgIDxzZWxlY3QgWyhuZ01vZGVsKV09XCJyZWNvcmRpbmdUZXh0XCIgKGNoYW5nZSk9XCJoYW5kbGVUZXh0Q2hhbmdlKHJlY29yZGluZ1RleHQpXCI+XHJcbiAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwidHJ1ZVwiPlRydWU8L29wdGlvbj5cclxuICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJmYWxzZVwiPkZhbHNlPC9vcHRpb24+XHJcbiAgICA8L3NlbGVjdD5cclxuICA8L2Rpdj5cclxuICA8aHIgLz5cclxuXHJcbiAgPCEtLSBDdXN0b20gVGV4dCAtLT5cclxuICA8ZGl2ICpuZ0lmPVwicmVjb3JkaW5nVGV4dFwiPlxyXG4gICAgPGxhYmVsIGNsYXNzPVwibGFiZWxcIj5DdXN0b20gVGV4dDo8L2xhYmVsPlxyXG4gICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJjdXN0b21UZXh0XCIgKGlucHV0KT1cIm9uQ2hhbmdlVGV4dEhhbmRsZXIoY3VzdG9tVGV4dClcIiAvPlxyXG4gICAgPGhyIC8+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS0gQ3VzdG9tIFRleHQgUG9zaXRpb24gLS0+XHJcbiAgPGRpdiAqbmdJZj1cInJlY29yZGluZ1RleHRcIj5cclxuICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsXCI+Q3VzdG9tIFRleHQgUG9zaXRpb246PC9sYWJlbD5cclxuICAgIDxzZWxlY3QgWyhuZ01vZGVsKV09XCJyZWNvcmRpbmdQb3NpdGlvblwiIChjaGFuZ2UpPVwicGFyYW1ldGVycy51cGRhdGVSZWNvcmRpbmdDdXN0b21UZXh0UG9zaXRpb24ocmVjb3JkaW5nUG9zaXRpb24pXCI+XHJcbiAgICAgIDxvcHRpb24gdmFsdWU9XCJ0b3BcIj5Ub3A8L29wdGlvbj5cclxuICAgICAgPG9wdGlvbiB2YWx1ZT1cIm1pZGRsZVwiPk1pZGRsZTwvb3B0aW9uPlxyXG4gICAgICA8b3B0aW9uIHZhbHVlPVwiYm90dG9tXCI+Qm90dG9tPC9vcHRpb24+XHJcbiAgICA8L3NlbGVjdD5cclxuICAgIDxociAvPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8IS0tIEN1c3RvbSBUZXh0IENvbG9yIC0tPlxyXG4gIDxkaXYgKm5nSWY9XCJyZWNvcmRpbmdUZXh0XCI+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJsYWJlbFwiPkN1c3RvbSBUZXh0IENvbG9yOjwvbGFiZWw+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sb3ItcHJldmlld1wiIFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZC1jb2xvcic6IHBhcmFtZXRlcnMucmVjb3JkaW5nQ3VzdG9tVGV4dENvbG9yfVwiPlxyXG4gICAgICB7eyBwYXJhbWV0ZXJzLnJlY29yZGluZ0N1c3RvbVRleHRDb2xvciB9fVxyXG4gICAgPC9kaXY+XHJcbiAgICA8aW5wdXQgdHlwZT1cImNvbG9yXCIgWyhuZ01vZGVsKV09XCJwYXJhbWV0ZXJzLnJlY29yZGluZ0N1c3RvbVRleHRDb2xvclwiIChjaGFuZ2UpPVwiaGFuZGxlQ29sb3JDaGFuZ2UoJ2N1c3RvbVRleHRDb2xvcicsICRldmVudClcIiAvPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiPkNsaWNrIHRvIHNlbGVjdCBjb2xvcjwvc3Bhbj5cclxuICAgIDxociAvPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8IS0tIEFkZCBOYW1lIFRhZ3MgLS0+XHJcbiAgPGRpdj5cclxuICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsXCI+QWRkIE5hbWUgVGFnczo8L2xhYmVsPlxyXG4gICAgPHNlbGVjdCBbKG5nTW9kZWwpXT1cInNlbGVjdGVkUmVjb3JkaW5nTmFtZVRhZ3NcIiAoY2hhbmdlKT1cInBhcmFtZXRlcnMudXBkYXRlUmVjb3JkaW5nTmFtZVRhZ3Moc2VsZWN0ZWRSZWNvcmRpbmdOYW1lVGFncylcIj5cclxuICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJ0cnVlXCI+VHJ1ZTwvb3B0aW9uPlxyXG4gICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cImZhbHNlXCI+RmFsc2U8L29wdGlvbj5cclxuICAgIDwvc2VsZWN0PlxyXG4gIDwvZGl2PlxyXG4gIDxociAvPlxyXG5cclxuICA8IS0tIE5hbWUgVGFncyBDb2xvciAtLT5cclxuICA8ZGl2PlxyXG4gICAgPGxhYmVsIGNsYXNzPVwibGFiZWxcIj5OYW1lIFRhZ3MgQ29sb3I6PC9sYWJlbD5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2xvci1wcmV2aWV3XCIgW25nU3R5bGVdPVwieydiYWNrZ3JvdW5kLWNvbG9yJzogcGFyYW1ldGVycy5yZWNvcmRpbmdOYW1lVGFnc0NvbG9yfVwiPlxyXG4gICAgICB7eyBwYXJhbWV0ZXJzLnJlY29yZGluZ05hbWVUYWdzQ29sb3IgfX1cclxuICAgIDwvZGl2PlxyXG4gICAgPGlucHV0IHR5cGU9XCJjb2xvclwiIFsobmdNb2RlbCldPVwicGFyYW1ldGVycy5yZWNvcmRpbmdOYW1lVGFnc0NvbG9yXCIgKGNoYW5nZSk9XCJoYW5kbGVDb2xvckNoYW5nZSgnbmFtZVRhZ3NDb2xvcicsICRldmVudClcIiAvPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiPkNsaWNrIHRvIHNlbGVjdCBjb2xvcjwvc3Bhbj5cclxuICA8L2Rpdj5cclxuICA8aHIgLz5cclxuXHJcbiAgPCEtLSBPcmllbnRhdGlvbiAoVmlkZW8pIC0tPlxyXG4gIDxkaXY+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJsYWJlbFwiPk9yaWVudGF0aW9uIChWaWRlbyk6PC9sYWJlbD5cclxuICAgIDxzZWxlY3QgWyhuZ01vZGVsKV09XCJzZWxlY3RlZE9yaWVudGF0aW9uVmlkZW9cIiAoY2hhbmdlKT1cInBhcmFtZXRlcnMudXBkYXRlUmVjb3JkaW5nT3JpZW50YXRpb25WaWRlbyhzZWxlY3RlZE9yaWVudGF0aW9uVmlkZW8pXCI+XHJcbiAgICAgIDxvcHRpb24gdmFsdWU9XCJsYW5kc2NhcGVcIj5MYW5kc2NhcGU8L29wdGlvbj5cclxuICAgICAgPG9wdGlvbiB2YWx1ZT1cInBvcnRyYWl0XCI+UG9ydHJhaXQ8L29wdGlvbj5cclxuICAgICAgPG9wdGlvbiB2YWx1ZT1cImFsbFwiPkFsbDwvb3B0aW9uPlxyXG4gICAgPC9zZWxlY3Q+XHJcbiAgPC9kaXY+XHJcbiAgPGhyIC8+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -36,6 +36,18 @@ import * as i2 from "@fortawesome/angular-fontawesome";
36
36
  * @method ngOnChanges - Lifecycle hook that is called when any data-bound property of a directive changes.
37
37
  * @method confirm - Calls the confirmRecording callback with the current parameters.
38
38
  * @method start - Calls the startRecording callback with the current parameters.
39
+ * @example
40
+ * ```html
41
+ * <app-recording-modal
42
+ * [isRecordingModalVisible]="true"
43
+ * [onClose]="closeRecordingModal"
44
+ * [backgroundColor]="'#83c0e9'"
45
+ * [position]="'bottomRight'"
46
+ * [confirmRecording]="confirmRecording"
47
+ * [startRecording]="startRecording"
48
+ * [parameters]="recordingModalParams"
49
+ * ></app-recording-modal>
50
+ * ```
39
51
  */
40
52
  export class RecordingModal {
41
53
  isRecordingModalVisible = false;
@@ -118,4 +130,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
118
130
  }], parameters: [{
119
131
  type: Input
120
132
  }] } });
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkaW5nLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhc2Z1LWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3JlY29yZGluZy1jb21wb25lbnRzL3JlY29yZGluZy1tb2RhbC9yZWNvcmRpbmctbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWFzZnUtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvcmVjb3JkaW5nLWNvbXBvbmVudHMvcmVjb3JkaW5nLW1vZGFsL3JlY29yZGluZy1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlFQUFpRSxDQUFDOzs7O0FBNkR6Rzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2Qkc7QUFRSCxNQUFNLE9BQU8sY0FBYztJQUNoQix1QkFBdUIsR0FBRyxLQUFLLENBQUM7SUFDaEMsT0FBTyxDQUFjO0lBQ3JCLGVBQWUsR0FBRyxTQUFTLENBQUM7SUFDNUIsUUFBUSxHQUFHLGFBQWEsQ0FBQztJQUN6QixnQkFBZ0IsQ0FBOEM7SUFDOUQsY0FBYyxDQUE0QztJQUMxRCxVQUFVLEdBQTZCLEVBQThCLENBQUM7SUFFL0UsT0FBTyxH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QXhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVNb2R1bGUgfSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XG5pbXBvcnQgeyBmYVRpbWVzLCBmYUNoZWNrLCBmYVBsYXkgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgU3RhbmRhcmRQYW5lbENvbXBvbmVudCB9IGZyb20gJy4uL3N0YW5kYXJkLXBhbmVsLWNvbXBvbmVudC9zdGFuZGFyZC1wYW5lbC1jb21wb25lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IEFkdmFuY2VkUGFuZWxDb21wb25lbnQgfSBmcm9tICcuLi9hZHZhbmNlZC1wYW5lbC1jb21wb25lbnQvYWR2YW5jZWQtcGFuZWwtY29tcG9uZW50cy5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgRXZlbnRUeXBlLFxuICBDb25maXJtUmVjb3JkaW5nUGFyYW1ldGVycyxcbiAgU3RhcnRSZWNvcmRpbmdQYXJhbWV0ZXJzLFxuICBDb25maXJtUmVjb3JkaW5nT3B0aW9ucyxcbiAgU3RhcnRSZWNvcmRpbmdPcHRpb25zLFxufSBmcm9tICcuLi8uLi8uLi9AdHlwZXMvdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlY29yZGluZ01vZGFsUGFyYW1ldGVyc1xuICBleHRlbmRzIENvbmZpcm1SZWNvcmRpbmdQYXJhbWV0ZXJzLFxuICAgIFN0YXJ0UmVjb3JkaW5nUGFyYW1ldGVycyB7XG4gIHJlY29yZFBhdXNlZDogYm9vbGVhbjtcbiAgcmVjb3JkaW5nVmlkZW9UeXBlOiBzdHJpbmc7XG4gIHJlY29yZGluZ0Rpc3BsYXlUeXBlOiAndmlkZW8nIHwgJ21lZGlhJyB8ICdhbGwnO1xuICByZWNvcmRpbmdCYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcbiAgcmVjb3JkaW5nTmFtZVRhZ3NDb2xvcjogc3RyaW5nO1xuICByZWNvcmRpbmdPcmllbnRhdGlvblZpZGVvOiBzdHJpbmc7XG4gIHJlY29yZGluZ05hbWVUYWdzOiBib29sZWFuO1xuICByZWNvcmRpbmdBZGRUZXh0OiBib29sZWFuO1xuICByZWNvcmRpbmdDdXN0b21UZXh0OiBzdHJpbmc7XG4gIHJlY29yZGluZ0N1c3RvbVRleHRQb3NpdGlvbjogc3RyaW5nO1xuICByZWNvcmRpbmdDdXN0b21UZXh0Q29sb3I6IHN0cmluZztcbiAgcmVjb3JkaW5nTWVkaWFPcHRpb25zOiBzdHJpbmc7XG4gIHJlY29yZGluZ0F1ZGlvT3B0aW9uczogc3RyaW5nO1xuICByZWNvcmRpbmdWaWRlb09wdGlvbnM6IHN0cmluZztcbiAgcmVjb3JkaW5nQWRkSExTOiBib29sZWFuO1xuICBldmVudFR5cGU6IEV2ZW50VHlwZTtcbiAgdXBkYXRlUmVjb3JkaW5nVmlkZW9UeXBlOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbiAgdXBkYXRlUmVjb3JkaW5nRGlzcGxheVR5cGU6ICh2YWx1ZTogJ3ZpZGVvJyB8ICdtZWRpYScgfCAnYWxsJykgPT4gdm9pZDtcbiAgdXBkYXRlUmVjb3JkaW5nQmFja2dyb3VuZENvbG9yOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbiAgdXBkYXRlUmVjb3JkaW5nTmFtZVRhZ3NDb2xvcjogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIHVwZGF0ZVJlY29yZGluZ09yaWVudGF0aW9uVmlkZW86ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdOYW1lVGFnczogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdBZGRUZXh0OiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHVwZGF0ZVJlY29yZGluZ0N1c3RvbVRleHQ6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdDdXN0b21UZXh0UG9zaXRpb246ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdDdXN0b21UZXh0Q29sb3I6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdNZWRpYU9wdGlvbnM6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdBdWRpb09wdGlvbnM6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdWaWRlb09wdGlvbnM6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdBZGRITFM6ICh2YWx1ZTogYm9vbGVhbikgPT4gdm9pZDtcblxuICAvLyBtZWRpYXNmdSBmdW5jdGlvbnNcbiAgZ2V0VXBkYXRlZEFsbFBhcmFtczogKCkgPT4gUmVjb3JkaW5nTW9kYWxQYXJhbWV0ZXJzO1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3JkaW5nTW9kYWxPcHRpb25zIHtcbiAgaXNSZWNvcmRpbmdNb2RhbFZpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xvc2U6ICgpID0+IHZvaWQ7XG4gIGJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICBwb3NpdGlvbjogc3RyaW5nO1xuXG4gIGNvbmZpcm1SZWNvcmRpbmc6IChvcHRpb25zOiBDb25maXJtUmVjb3JkaW5nT3B0aW9ucykgPT4gdm9pZDtcbiAgc3RhcnRSZWNvcmRpbmc6IChvcHRpb25zOiBTdGFydFJlY29yZGluZ09wdGlvbnMpID0+IHZvaWQ7XG4gIHBhcmFtZXRlcnM6IFJlY29yZGluZ01vZGFsUGFyYW1ldGVycztcbn1cblxuZXhwb3J0IHR5cGUgUmVjb3JkaW5nTW9kYWxUeXBlID0gKG9wdGlvbnM6IFJlY29yZGluZ01vZGFsT3B0aW9ucykgPT4gSFRNTEVsZW1lbnQ7XG5cbi8qKlxuICogQ29tcG9uZW50IHJlcHJlc2VudGluZyBhIHJlY29yZGluZyBtb2RhbC5cbiAqXG4gKiBAc2VsZWN0b3IgYXBwLXJlY29yZGluZy1tb2RhbFxuICogQHN0YW5kYWxvbmUgdHJ1ZVxuICogQGltcG9ydHMgQ29tbW9uTW9kdWxlLCBGb250QXdlc29tZU1vZHVsZSwgU3RhbmRhcmRQYW5lbENvbXBvbmVudCwgQWR2YW5jZWRQYW5lbENvbXBvbmVudFxuICogQHRlbXBsYXRlVXJsIC4vcmVjb3JkaW5nLW1vZGFsLmNvbXBvbmVudC5odG1sXG4gKiBAc3R5bGVVcmxzIC4vcmVjb3JkaW5nLW1vZGFsLmNvbXBvbmVudC5jc3NcbiAqXG4gKiBAY2xhc3MgUmVjb3JkaW5nTW9kYWxcbiAqIEBpbXBsZW1lbnRzIE9uQ2hhbmdlc1xuICpcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gaXNSZWNvcmRpbmdNb2RhbFZpc2libGUgLSBEZXRlcm1pbmVzIGlmIHRoZSByZWNvcmRpbmcgbW9kYWwgaXMgdmlzaWJsZS5cbiAqIEBwcm9wZXJ0eSB7KCkgPT4gdm9pZH0gb25DbG9zZSAtIENhbGxiYWNrIGZ1bmN0aW9uIHRvIGNsb3NlIHRoZSBtb2RhbC5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBiYWNrZ3JvdW5kQ29sb3IgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBtb2RhbC5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBwb3NpdGlvbiAtIFBvc2l0aW9uIG9mIHRoZSBtb2RhbCBvbiB0aGUgc2NyZWVuLlxuICogQHByb3BlcnR5IHsob3B0aW9uczogQ29uZmlybVJlY29yZGluZ09wdGlvbnMpID0+IHZvaWR9IGNvbmZpcm1SZWNvcmRpbmcgLSBDYWxsYmFjayBmdW5jdGlvbiB0byBjb25maXJtIHJlY29yZGluZy5cbiAqIEBwcm9wZXJ0eSB7KG9wdGlvbnM6IFN0YXJ0UmVjb3JkaW5nT3B0aW9ucykgPT4gdm9pZH0gc3RhcnRSZWNvcmRpbmcgLSBDYWxsYmFjayBmdW5jdGlvbiB0byBzdGFydCByZWNvcmRpbmcuXG4gKiBAcHJvcGVydHkge1JlY29yZGluZ01vZGFsUGFyYW1ldGVyc30gcGFyYW1ldGVycyAtIFBhcmFtZXRlcnMgZm9yIHRoZSByZWNvcmRpbmcgbW9kYWwuXG4gKlxuICogQHByb3BlcnR5IHtJY29uRGVmaW5pdGlvbn0gZmFUaW1lcyAtIEZvbnRBd2Vzb21lIGljb24gZm9yIHRpbWVzIChjbG9zZSkuXG4gKiBAcHJvcGVydHkge0ljb25EZWZpbml0aW9ufSBmYUNoZWNrIC0gRm9udEF3ZXNvbWUgaWNvbiBmb3IgY2hlY2sgKGNvbmZpcm0pLlxuICogQHByb3BlcnR5IHtJY29uRGVmaW5pdGlvbn0gZmFQbGF5IC0gRm9udEF3ZXNvbWUgaWNvbiBmb3IgcGxheSAoc3RhcnQpLlxuICpcbiAqIEBtZXRob2QgbW9kYWxDb250YWluZXJTdHlsZSAtIFJldHVybnMgdGhlIHN0eWxlIG9iamVjdCBmb3IgdGhlIG1vZGFsIGNvbnRhaW5lci5cbiAqIEBtZXRob2QgbW9kYWxDb250ZW50U3R5bGUgLSBSZXR1cm5zIHRoZSBzdHlsZSBvYmplY3QgZm9yIHRoZSBtb2RhbCBjb250ZW50LlxuICogQG1ldGhvZCBuZ09uQ2hhbmdlcyAtIExpZmVjeWNsZSBob29rIHRoYXQgaXMgY2FsbGVkIHdoZW4gYW55IGRhdGEtYm91bmQgcHJvcGVydHkgb2YgYSBkaXJlY3RpdmUgY2hhbmdlcy5cbiAqIEBtZXRob2QgY29uZmlybSAtIENhbGxzIHRoZSBjb25maXJtUmVjb3JkaW5nIGNhbGxiYWNrIHdpdGggdGhlIGN1cnJlbnQgcGFyYW1ldGVycy5cbiAqIEBtZXRob2Qgc3RhcnQgLSBDYWxscyB0aGUgc3RhcnRSZWNvcmRpbmcgY2FsbGJhY2sgd2l0aCB0aGUgY3VycmVudCBwYXJhbWV0ZXJzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcmVjb3JkaW5nLW1vZGFsJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9udEF3ZXNvbWVNb2R1bGUsIFN0YW5kYXJkUGFuZWxDb21wb25lbnQsIEFkdmFuY2VkUGFuZWxDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVjb3JkaW5nLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVjb3JkaW5nLW1vZGFsLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUmVjb3JkaW5nTW9kYWwgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBpc1JlY29yZGluZ01vZGFsVmlzaWJsZSA9IGZhbHNlO1xuICBASW5wdXQoKSBvbkNsb3NlITogKCkgPT4gdm9pZDtcbiAgQElucHV0KCkgYmFja2dyb3VuZENvbG9yID0gJyM4M2MwZTknO1xuICBASW5wdXQoKSBwb3NpdGlvbiA9ICdib3R0b21SaWdodCc7XG4gIEBJbnB1dCgpIGNvbmZpcm1SZWNvcmRpbmchOiAob3B0aW9uczogQ29uZmlybVJlY29yZGluZ09wdGlvbnMpID0+IHZvaWQ7XG4gIEBJbnB1dCgpIHN0YXJ0UmVjb3JkaW5nITogKG9wdGlvbnM6IFN0YXJ0UmVjb3JkaW5nT3B0aW9ucykgPT4gdm9pZDtcbiAgQElucHV0KCkgcGFyYW1ldGVyczogUmVjb3JkaW5nTW9kYWxQYXJhbWV0ZXJzID0ge30gYXMgUmVjb3JkaW5nTW9kYWxQYXJhbWV0ZXJzO1xuXG4gIGZhVGltZXMgPSBmYVRpbWVzO1xuICBmYUNoZWNrID0gZmFDaGVjaztcbiAgZmFQbGF5ID0gZmFQbGF5O1xuXG4gIGdldCBtb2RhbENvbnRhaW5lclN0eWxlKCkge1xuICAgIHJldHVybiB7XG4gICAgICBwb3NpdGlvbjogJ2ZpeGVkJyxcbiAgICAgIHRvcDogMCxcbiAgICAgIGxlZnQ6IDAsXG4gICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDAsIDAsIDAsIDAuNSknLFxuICAgICAgZGlzcGxheTogdGhpcy5pc1JlY29yZGluZ01vZGFsVmlzaWJsZSA/ICdibG9jaycgOiAnbm9uZScsXG4gICAgICB6SW5kZXg6IDk5OSxcbiAgICB9O1xuICB9XG5cbiAgZ2V0IG1vZGFsQ29udGVudFN0eWxlKCkge1xuICAgIGNvbnN0IHNjcmVlbldpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XG4gICAgbGV0IG1vZGFsV2lkdGggPSAwLjggKiBzY3JlZW5XaWR0aDtcbiAgICBpZiAobW9kYWxXaWR0aCA+IDM1MCkge1xuICAgICAgbW9kYWxXaWR0aCA9IDM1MDtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHBvc2l0aW9uOiAnZml4ZWQnLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiB0aGlzLmJhY2tncm91bmRDb2xvcixcbiAgICAgIGJvcmRlclJhZGl1czogJzEwcHgnLFxuICAgICAgcGFkZGluZzogJzEwcHgnLFxuICAgICAgd2lkdGg6IGAke21vZGFsV2lkdGh9cHhgLFxuICAgICAgbWF4SGVpZ2h0OiAnODUlJyxcbiAgICAgIG92ZXJmbG93WTogJ2F1dG8nLFxuICAgICAgdG9wOiB0aGlzLnBvc2l0aW9uLmluY2x1ZGVzKCd0b3AnKSA/ICcxMHB4JyA6ICdhdXRvJyxcbiAgICAgIGJvdHRvbTogdGhpcy5wb3NpdGlvbi5pbmNsdWRlcygnYm90dG9tJykgPyAnMTBweCcgOiAnYXV0bycsXG4gICAgICBsZWZ0OiB0aGlzLnBvc2l0aW9uLmluY2x1ZGVzKCdMZWZ0JykgPyAnMTBweCcgOiAnYXV0bycsXG4gICAgICByaWdodDogdGhpcy5wb3NpdGlvbi5pbmNsdWRlcygnUmlnaHQnKSA/ICcxMHB4JyA6ICdhdXRvJyxcbiAgICB9O1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydpc1JlY29yZGluZ01vZGFsVmlzaWJsZSddKSB7XG4gICAgICBpZiAodGhpcy5wYXJhbWV0ZXJzKSB7XG4gICAgICAgIHRoaXMucGFyYW1ldGVycyA9IHRoaXMucGFyYW1ldGVycy5nZXRVcGRhdGVkQWxsUGFyYW1zKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uZmlybSgpIHtcbiAgICB0aGlzLmNvbmZpcm1SZWNvcmRpbmcoe1xuICAgICAgcGFyYW1ldGVyczogeyAuLi50aGlzLnBhcmFtZXRlcnMgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXJ0KCkge1xuICAgIHRoaXMuc3RhcnRSZWNvcmRpbmcoe1xuICAgICAgcGFyYW1ldGVyczogeyAuLi50aGlzLnBhcmFtZXRlcnMgfSxcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBbbmdTdHlsZV09XCJtb2RhbENvbnRhaW5lclN0eWxlXCI+XHJcbiAgPGRpdiBbbmdTdHlsZV09XCJtb2RhbENvbnRlbnRTdHlsZVwiPlxyXG4gICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XCI+XHJcbiAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IG1hcmdpbi1ib3R0b206IDE1cHg7XCI+XHJcbiAgICAgICAgPGgyIHN0eWxlPVwiZm9udC1zaXplOiB4LWxhcmdlOyBmb250LXdlaWdodDogYm9sZDsgY29sb3I6IGJsYWNrO1wiPlxyXG4gICAgICAgICAgUmVjb3JkaW5nIFNldHRpbmdzXHJcbiAgICAgICAgPC9oMj5cclxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJvbkNsb3NlKClcIiBzdHlsZT1cImJvcmRlcjogbm9uZTsgYmFja2dyb3VuZDogbm9uZTsgY3Vyc29yOiBwb2ludGVyO1wiPlxyXG4gICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiZmFUaW1lc1wiIHNpemU9XCJ4bFwiIHN0eWxlPVwiZm9udC1zaXplOiAyMHB4OyBjb2xvcjogYmxhY2s7XCI+PC9mYS1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGhyIHN0eWxlPVwiaGVpZ2h0OiAxcHg7IGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyBtYXJnaW46IDVweCAwO1wiIC8+XHJcbiAgICAgIDxkaXYgc3R5bGU9XCJmbGV4OiAxO1wiPlxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJvdmVyZmxvdy15OiBhdXRvOyBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSAxMjBweCk7IHBhZGRpbmc6IDA7XCI+XHJcbiAgICAgICAgICA8ZGl2IHN0eWxlPVwibWFyZ2luOiAwOyBwYWRkaW5nOiAwO1wiPlxyXG4gICAgICAgICAgICA8YXBwLXN0YW5kYXJkLXBhbmVsLWNvbXBvbmVudCBbcGFyYW1ldGVyc109XCJwYXJhbWV0ZXJzXCI+PC9hcHAtc3RhbmRhcmQtcGFuZWwtY29tcG9uZW50PlxyXG4gICAgICAgICAgICA8YXBwLWFkdmFuY2VkLXBhbmVsLWNvbXBvbmVudCBbcGFyYW1ldGVyc109XCJwYXJhbWV0ZXJzXCI+PC9hcHAtYWR2YW5jZWQtcGFuZWwtY29tcG9uZW50PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBzdHlsZT1cImhlaWdodDogMXB4OyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgbWFyZ2luLXRvcDogMjBweDtcIj5cclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgKGNsaWNrKT1cImNvbmZpcm0oKVwiXHJcbiAgICAgICAgICAgIHN0eWxlPVwiZmxleDogMTsgcGFkZGluZzogNXB4OyBib3JkZXItcmFkaXVzOiA1cHg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBhbGlnbi1pdGVtczogY2VudGVyOyBtYXJnaW46IDAgMTBweDsgYmFja2dyb3VuZDogIzRDQUY1MDsgY3Vyc29yOiBwb2ludGVyO1wiPlxyXG4gICAgICAgICAgICA8c3BhbiBzdHlsZT1cImNvbG9yOiBibGFjazsgZm9udC1zaXplOiAxNHB4O1wiPkNvbmZpcm08L3NwYW4+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b24gKm5nSWY9XCIhcGFyYW1ldGVycy5yZWNvcmRQYXVzZWRcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwic3RhcnQoKVwiXHJcbiAgICAgICAgICAgIHN0eWxlPVwiZmxleDogMTsgcGFkZGluZzogNXB4OyBib3JkZXItcmFkaXVzOiA1cHg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBhbGlnbi1pdGVtczogY2VudGVyOyBtYXJnaW46IDAgMTBweDsgYmFja2dyb3VuZDogI2Y0NDMzNjsgY3Vyc29yOiBwb2ludGVyO1wiPlxyXG4gICAgICAgICAgICA8c3BhbiBzdHlsZT1cImNvbG9yOiBibGFjazsgZm9udC1zaXplOiAxNHB4O1wiPlN0YXJ0IDxmYS1pY29uIFtpY29uXT1cImZhUGxheVwiPjwvZmEtaWNvbj48L3NwYW4+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkaW5nLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhc2Z1LWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3JlY29yZGluZy1jb21wb25lbnRzL3JlY29yZGluZy1tb2RhbC9yZWNvcmRpbmctbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWFzZnUtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvcmVjb3JkaW5nLWNvbXBvbmVudHMvcmVjb3JkaW5nLW1vZGFsL3JlY29yZGluZy1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlFQUFpRSxDQUFDOzs7O0FBNkR6Rzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5Q0c7QUFRSCxNQUFNLE9BQU8sY0FBYztJQUNoQix1QkFBdUIsR0FBRyxLQUFLLENBQUM7SUFDaEMsT0FBTyxDQUFjO0lBQ3JCLGVBQWUsR0FBRyxTQUFTLENBQUM7SUFDNUIsUUFBUSxHQUFHLGFBQWEsQ0FBQztJQUN6QixnQkFBZ0IsQ0FBOEM7SUFDOUQsY0FBYyxDQUE0QztJQUMxRCxVQUFVLEdBQTZCLEVBQThCLENBQUM7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RyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVNb2R1bGUgfSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XG5pbXBvcnQgeyBmYVRpbWVzLCBmYUNoZWNrLCBmYVBsYXkgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgU3RhbmRhcmRQYW5lbENvbXBvbmVudCB9IGZyb20gJy4uL3N0YW5kYXJkLXBhbmVsLWNvbXBvbmVudC9zdGFuZGFyZC1wYW5lbC1jb21wb25lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IEFkdmFuY2VkUGFuZWxDb21wb25lbnQgfSBmcm9tICcuLi9hZHZhbmNlZC1wYW5lbC1jb21wb25lbnQvYWR2YW5jZWQtcGFuZWwtY29tcG9uZW50cy5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgRXZlbnRUeXBlLFxuICBDb25maXJtUmVjb3JkaW5nUGFyYW1ldGVycyxcbiAgU3RhcnRSZWNvcmRpbmdQYXJhbWV0ZXJzLFxuICBDb25maXJtUmVjb3JkaW5nT3B0aW9ucyxcbiAgU3RhcnRSZWNvcmRpbmdPcHRpb25zLFxufSBmcm9tICcuLi8uLi8uLi9AdHlwZXMvdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlY29yZGluZ01vZGFsUGFyYW1ldGVyc1xuICBleHRlbmRzIENvbmZpcm1SZWNvcmRpbmdQYXJhbWV0ZXJzLFxuICAgIFN0YXJ0UmVjb3JkaW5nUGFyYW1ldGVycyB7XG4gIHJlY29yZFBhdXNlZDogYm9vbGVhbjtcbiAgcmVjb3JkaW5nVmlkZW9UeXBlOiBzdHJpbmc7XG4gIHJlY29yZGluZ0Rpc3BsYXlUeXBlOiAndmlkZW8nIHwgJ21lZGlhJyB8ICdhbGwnO1xuICByZWNvcmRpbmdCYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcbiAgcmVjb3JkaW5nTmFtZVRhZ3NDb2xvcjogc3RyaW5nO1xuICByZWNvcmRpbmdPcmllbnRhdGlvblZpZGVvOiBzdHJpbmc7XG4gIHJlY29yZGluZ05hbWVUYWdzOiBib29sZWFuO1xuICByZWNvcmRpbmdBZGRUZXh0OiBib29sZWFuO1xuICByZWNvcmRpbmdDdXN0b21UZXh0OiBzdHJpbmc7XG4gIHJlY29yZGluZ0N1c3RvbVRleHRQb3NpdGlvbjogc3RyaW5nO1xuICByZWNvcmRpbmdDdXN0b21UZXh0Q29sb3I6IHN0cmluZztcbiAgcmVjb3JkaW5nTWVkaWFPcHRpb25zOiBzdHJpbmc7XG4gIHJlY29yZGluZ0F1ZGlvT3B0aW9uczogc3RyaW5nO1xuICByZWNvcmRpbmdWaWRlb09wdGlvbnM6IHN0cmluZztcbiAgcmVjb3JkaW5nQWRkSExTOiBib29sZWFuO1xuICBldmVudFR5cGU6IEV2ZW50VHlwZTtcbiAgdXBkYXRlUmVjb3JkaW5nVmlkZW9UeXBlOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbiAgdXBkYXRlUmVjb3JkaW5nRGlzcGxheVR5cGU6ICh2YWx1ZTogJ3ZpZGVvJyB8ICdtZWRpYScgfCAnYWxsJykgPT4gdm9pZDtcbiAgdXBkYXRlUmVjb3JkaW5nQmFja2dyb3VuZENvbG9yOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbiAgdXBkYXRlUmVjb3JkaW5nTmFtZVRhZ3NDb2xvcjogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIHVwZGF0ZVJlY29yZGluZ09yaWVudGF0aW9uVmlkZW86ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdOYW1lVGFnczogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdBZGRUZXh0OiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHVwZGF0ZVJlY29yZGluZ0N1c3RvbVRleHQ6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdDdXN0b21UZXh0UG9zaXRpb246ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdDdXN0b21UZXh0Q29sb3I6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdNZWRpYU9wdGlvbnM6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdBdWRpb09wdGlvbnM6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdWaWRlb09wdGlvbnM6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdBZGRITFM6ICh2YWx1ZTogYm9vbGVhbikgPT4gdm9pZDtcblxuICAvLyBtZWRpYXNmdSBmdW5jdGlvbnNcbiAgZ2V0VXBkYXRlZEFsbFBhcmFtczogKCkgPT4gUmVjb3JkaW5nTW9kYWxQYXJhbWV0ZXJzO1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3JkaW5nTW9kYWxPcHRpb25zIHtcbiAgaXNSZWNvcmRpbmdNb2RhbFZpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xvc2U6ICgpID0+IHZvaWQ7XG4gIGJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICBwb3NpdGlvbjogc3RyaW5nO1xuXG4gIGNvbmZpcm1SZWNvcmRpbmc6IChvcHRpb25zOiBDb25maXJtUmVjb3JkaW5nT3B0aW9ucykgPT4gdm9pZDtcbiAgc3RhcnRSZWNvcmRpbmc6IChvcHRpb25zOiBTdGFydFJlY29yZGluZ09wdGlvbnMpID0+IHZvaWQ7XG4gIHBhcmFtZXRlcnM6IFJlY29yZGluZ01vZGFsUGFyYW1ldGVycztcbn1cblxuZXhwb3J0IHR5cGUgUmVjb3JkaW5nTW9kYWxUeXBlID0gKG9wdGlvbnM6IFJlY29yZGluZ01vZGFsT3B0aW9ucykgPT4gSFRNTEVsZW1lbnQ7XG5cbi8qKlxuICogQ29tcG9uZW50IHJlcHJlc2VudGluZyBhIHJlY29yZGluZyBtb2RhbC5cbiAqXG4gKiBAc2VsZWN0b3IgYXBwLXJlY29yZGluZy1tb2RhbFxuICogQHN0YW5kYWxvbmUgdHJ1ZVxuICogQGltcG9ydHMgQ29tbW9uTW9kdWxlLCBGb250QXdlc29tZU1vZHVsZSwgU3RhbmRhcmRQYW5lbENvbXBvbmVudCwgQWR2YW5jZWRQYW5lbENvbXBvbmVudFxuICogQHRlbXBsYXRlVXJsIC4vcmVjb3JkaW5nLW1vZGFsLmNvbXBvbmVudC5odG1sXG4gKiBAc3R5bGVVcmxzIC4vcmVjb3JkaW5nLW1vZGFsLmNvbXBvbmVudC5jc3NcbiAqXG4gKiBAY2xhc3MgUmVjb3JkaW5nTW9kYWxcbiAqIEBpbXBsZW1lbnRzIE9uQ2hhbmdlc1xuICpcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gaXNSZWNvcmRpbmdNb2RhbFZpc2libGUgLSBEZXRlcm1pbmVzIGlmIHRoZSByZWNvcmRpbmcgbW9kYWwgaXMgdmlzaWJsZS5cbiAqIEBwcm9wZXJ0eSB7KCkgPT4gdm9pZH0gb25DbG9zZSAtIENhbGxiYWNrIGZ1bmN0aW9uIHRvIGNsb3NlIHRoZSBtb2RhbC5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBiYWNrZ3JvdW5kQ29sb3IgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBtb2RhbC5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBwb3NpdGlvbiAtIFBvc2l0aW9uIG9mIHRoZSBtb2RhbCBvbiB0aGUgc2NyZWVuLlxuICogQHByb3BlcnR5IHsob3B0aW9uczogQ29uZmlybVJlY29yZGluZ09wdGlvbnMpID0+IHZvaWR9IGNvbmZpcm1SZWNvcmRpbmcgLSBDYWxsYmFjayBmdW5jdGlvbiB0byBjb25maXJtIHJlY29yZGluZy5cbiAqIEBwcm9wZXJ0eSB7KG9wdGlvbnM6IFN0YXJ0UmVjb3JkaW5nT3B0aW9ucykgPT4gdm9pZH0gc3RhcnRSZWNvcmRpbmcgLSBDYWxsYmFjayBmdW5jdGlvbiB0byBzdGFydCByZWNvcmRpbmcuXG4gKiBAcHJvcGVydHkge1JlY29yZGluZ01vZGFsUGFyYW1ldGVyc30gcGFyYW1ldGVycyAtIFBhcmFtZXRlcnMgZm9yIHRoZSByZWNvcmRpbmcgbW9kYWwuXG4gKlxuICogQHByb3BlcnR5IHtJY29uRGVmaW5pdGlvbn0gZmFUaW1lcyAtIEZvbnRBd2Vzb21lIGljb24gZm9yIHRpbWVzIChjbG9zZSkuXG4gKiBAcHJvcGVydHkge0ljb25EZWZpbml0aW9ufSBmYUNoZWNrIC0gRm9udEF3ZXNvbWUgaWNvbiBmb3IgY2hlY2sgKGNvbmZpcm0pLlxuICogQHByb3BlcnR5IHtJY29uRGVmaW5pdGlvbn0gZmFQbGF5IC0gRm9udEF3ZXNvbWUgaWNvbiBmb3IgcGxheSAoc3RhcnQpLlxuICpcbiAqIEBtZXRob2QgbW9kYWxDb250YWluZXJTdHlsZSAtIFJldHVybnMgdGhlIHN0eWxlIG9iamVjdCBmb3IgdGhlIG1vZGFsIGNvbnRhaW5lci5cbiAqIEBtZXRob2QgbW9kYWxDb250ZW50U3R5bGUgLSBSZXR1cm5zIHRoZSBzdHlsZSBvYmplY3QgZm9yIHRoZSBtb2RhbCBjb250ZW50LlxuICogQG1ldGhvZCBuZ09uQ2hhbmdlcyAtIExpZmVjeWNsZSBob29rIHRoYXQgaXMgY2FsbGVkIHdoZW4gYW55IGRhdGEtYm91bmQgcHJvcGVydHkgb2YgYSBkaXJlY3RpdmUgY2hhbmdlcy5cbiAqIEBtZXRob2QgY29uZmlybSAtIENhbGxzIHRoZSBjb25maXJtUmVjb3JkaW5nIGNhbGxiYWNrIHdpdGggdGhlIGN1cnJlbnQgcGFyYW1ldGVycy5cbiAqIEBtZXRob2Qgc3RhcnQgLSBDYWxscyB0aGUgc3RhcnRSZWNvcmRpbmcgY2FsbGJhY2sgd2l0aCB0aGUgY3VycmVudCBwYXJhbWV0ZXJzLlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDxhcHAtcmVjb3JkaW5nLW1vZGFsXG4gKiAgIFtpc1JlY29yZGluZ01vZGFsVmlzaWJsZV09XCJ0cnVlXCJcbiAqICAgW29uQ2xvc2VdPVwiY2xvc2VSZWNvcmRpbmdNb2RhbFwiXG4gKiAgIFtiYWNrZ3JvdW5kQ29sb3JdPVwiJyM4M2MwZTknXCJcbiAqICAgW3Bvc2l0aW9uXT1cIidib3R0b21SaWdodCdcIlxuICogICBbY29uZmlybVJlY29yZGluZ109XCJjb25maXJtUmVjb3JkaW5nXCJcbiAqICAgW3N0YXJ0UmVjb3JkaW5nXT1cInN0YXJ0UmVjb3JkaW5nXCJcbiAqICAgW3BhcmFtZXRlcnNdPVwicmVjb3JkaW5nTW9kYWxQYXJhbXNcIlxuICogPjwvYXBwLXJlY29yZGluZy1tb2RhbD5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcmVjb3JkaW5nLW1vZGFsJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9udEF3ZXNvbWVNb2R1bGUsIFN0YW5kYXJkUGFuZWxDb21wb25lbnQsIEFkdmFuY2VkUGFuZWxDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVjb3JkaW5nLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVjb3JkaW5nLW1vZGFsLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUmVjb3JkaW5nTW9kYWwgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBpc1JlY29yZGluZ01vZGFsVmlzaWJsZSA9IGZhbHNlO1xuICBASW5wdXQoKSBvbkNsb3NlITogKCkgPT4gdm9pZDtcbiAgQElucHV0KCkgYmFja2dyb3VuZENvbG9yID0gJyM4M2MwZTknO1xuICBASW5wdXQoKSBwb3NpdGlvbiA9ICdib3R0b21SaWdodCc7XG4gIEBJbnB1dCgpIGNvbmZpcm1SZWNvcmRpbmchOiAob3B0aW9uczogQ29uZmlybVJlY29yZGluZ09wdGlvbnMpID0+IHZvaWQ7XG4gIEBJbnB1dCgpIHN0YXJ0UmVjb3JkaW5nITogKG9wdGlvbnM6IFN0YXJ0UmVjb3JkaW5nT3B0aW9ucykgPT4gdm9pZDtcbiAgQElucHV0KCkgcGFyYW1ldGVyczogUmVjb3JkaW5nTW9kYWxQYXJhbWV0ZXJzID0ge30gYXMgUmVjb3JkaW5nTW9kYWxQYXJhbWV0ZXJzO1xuXG4gIGZhVGltZXMgPSBmYVRpbWVzO1xuICBmYUNoZWNrID0gZmFDaGVjaztcbiAgZmFQbGF5ID0gZmFQbGF5O1xuXG4gIGdldCBtb2RhbENvbnRhaW5lclN0eWxlKCkge1xuICAgIHJldHVybiB7XG4gICAgICBwb3NpdGlvbjogJ2ZpeGVkJyxcbiAgICAgIHRvcDogMCxcbiAgICAgIGxlZnQ6IDAsXG4gICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDAsIDAsIDAsIDAuNSknLFxuICAgICAgZGlzcGxheTogdGhpcy5pc1JlY29yZGluZ01vZGFsVmlzaWJsZSA/ICdibG9jaycgOiAnbm9uZScsXG4gICAgICB6SW5kZXg6IDk5OSxcbiAgICB9O1xuICB9XG5cbiAgZ2V0IG1vZGFsQ29udGVudFN0eWxlKCkge1xuICAgIGNvbnN0IHNjcmVlbldpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XG4gICAgbGV0IG1vZGFsV2lkdGggPSAwLjggKiBzY3JlZW5XaWR0aDtcbiAgICBpZiAobW9kYWxXaWR0aCA+IDM1MCkge1xuICAgICAgbW9kYWxXaWR0aCA9IDM1MDtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHBvc2l0aW9uOiAnZml4ZWQnLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiB0aGlzLmJhY2tncm91bmRDb2xvcixcbiAgICAgIGJvcmRlclJhZGl1czogJzEwcHgnLFxuICAgICAgcGFkZGluZzogJzEwcHgnLFxuICAgICAgd2lkdGg6IGAke21vZGFsV2lkdGh9cHhgLFxuICAgICAgbWF4SGVpZ2h0OiAnODUlJyxcbiAgICAgIG92ZXJmbG93WTogJ2F1dG8nLFxuICAgICAgdG9wOiB0aGlzLnBvc2l0aW9uLmluY2x1ZGVzKCd0b3AnKSA/ICcxMHB4JyA6ICdhdXRvJyxcbiAgICAgIGJvdHRvbTogdGhpcy5wb3NpdGlvbi5pbmNsdWRlcygnYm90dG9tJykgPyAnMTBweCcgOiAnYXV0bycsXG4gICAgICBsZWZ0OiB0aGlzLnBvc2l0aW9uLmluY2x1ZGVzKCdMZWZ0JykgPyAnMTBweCcgOiAnYXV0bycsXG4gICAgICByaWdodDogdGhpcy5wb3NpdGlvbi5pbmNsdWRlcygnUmlnaHQnKSA/ICcxMHB4JyA6ICdhdXRvJyxcbiAgICB9O1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydpc1JlY29yZGluZ01vZGFsVmlzaWJsZSddKSB7XG4gICAgICBpZiAodGhpcy5wYXJhbWV0ZXJzKSB7XG4gICAgICAgIHRoaXMucGFyYW1ldGVycyA9IHRoaXMucGFyYW1ldGVycy5nZXRVcGRhdGVkQWxsUGFyYW1zKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uZmlybSgpIHtcbiAgICB0aGlzLmNvbmZpcm1SZWNvcmRpbmcoe1xuICAgICAgcGFyYW1ldGVyczogeyAuLi50aGlzLnBhcmFtZXRlcnMgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXJ0KCkge1xuICAgIHRoaXMuc3RhcnRSZWNvcmRpbmcoe1xuICAgICAgcGFyYW1ldGVyczogeyAuLi50aGlzLnBhcmFtZXRlcnMgfSxcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBbbmdTdHlsZV09XCJtb2RhbENvbnRhaW5lclN0eWxlXCI+XHJcbiAgPGRpdiBbbmdTdHlsZV09XCJtb2RhbENvbnRlbnRTdHlsZVwiPlxyXG4gICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XCI+XHJcbiAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IG1hcmdpbi1ib3R0b206IDE1cHg7XCI+XHJcbiAgICAgICAgPGgyIHN0eWxlPVwiZm9udC1zaXplOiB4LWxhcmdlOyBmb250LXdlaWdodDogYm9sZDsgY29sb3I6IGJsYWNrO1wiPlxyXG4gICAgICAgICAgUmVjb3JkaW5nIFNldHRpbmdzXHJcbiAgICAgICAgPC9oMj5cclxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJvbkNsb3NlKClcIiBzdHlsZT1cImJvcmRlcjogbm9uZTsgYmFja2dyb3VuZDogbm9uZTsgY3Vyc29yOiBwb2ludGVyO1wiPlxyXG4gICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiZmFUaW1lc1wiIHNpemU9XCJ4bFwiIHN0eWxlPVwiZm9udC1zaXplOiAyMHB4OyBjb2xvcjogYmxhY2s7XCI+PC9mYS1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGhyIHN0eWxlPVwiaGVpZ2h0OiAxcHg7IGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyBtYXJnaW46IDVweCAwO1wiIC8+XHJcbiAgICAgIDxkaXYgc3R5bGU9XCJmbGV4OiAxO1wiPlxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJvdmVyZmxvdy15OiBhdXRvOyBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSAxMjBweCk7IHBhZGRpbmc6IDA7XCI+XHJcbiAgICAgICAgICA8ZGl2IHN0eWxlPVwibWFyZ2luOiAwOyBwYWRkaW5nOiAwO1wiPlxyXG4gICAgICAgICAgICA8YXBwLXN0YW5kYXJkLXBhbmVsLWNvbXBvbmVudCBbcGFyYW1ldGVyc109XCJwYXJhbWV0ZXJzXCI+PC9hcHAtc3RhbmRhcmQtcGFuZWwtY29tcG9uZW50PlxyXG4gICAgICAgICAgICA8YXBwLWFkdmFuY2VkLXBhbmVsLWNvbXBvbmVudCBbcGFyYW1ldGVyc109XCJwYXJhbWV0ZXJzXCI+PC9hcHAtYWR2YW5jZWQtcGFuZWwtY29tcG9uZW50PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBzdHlsZT1cImhlaWdodDogMXB4OyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgbWFyZ2luLXRvcDogMjBweDtcIj5cclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgKGNsaWNrKT1cImNvbmZpcm0oKVwiXHJcbiAgICAgICAgICAgIHN0eWxlPVwiZmxleDogMTsgcGFkZGluZzogNXB4OyBib3JkZXItcmFkaXVzOiA1cHg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBhbGlnbi1pdGVtczogY2VudGVyOyBtYXJnaW46IDAgMTBweDsgYmFja2dyb3VuZDogIzRDQUY1MDsgY3Vyc29yOiBwb2ludGVyO1wiPlxyXG4gICAgICAgICAgICA8c3BhbiBzdHlsZT1cImNvbG9yOiBibGFjazsgZm9udC1zaXplOiAxNHB4O1wiPkNvbmZpcm08L3NwYW4+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b24gKm5nSWY9XCIhcGFyYW1ldGVycy5yZWNvcmRQYXVzZWRcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwic3RhcnQoKVwiXHJcbiAgICAgICAgICAgIHN0eWxlPVwiZmxleDogMTsgcGFkZGluZzogNXB4OyBib3JkZXItcmFkaXVzOiA1cHg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBhbGlnbi1pdGVtczogY2VudGVyOyBtYXJnaW46IDAgMTBweDsgYmFja2dyb3VuZDogI2Y0NDMzNjsgY3Vyc29yOiBwb2ludGVyO1wiPlxyXG4gICAgICAgICAgICA8c3BhbiBzdHlsZT1cImNvbG9yOiBibGFjazsgZm9udC1zaXplOiAxNHB4O1wiPlN0YXJ0IDxmYS1pY29uIFtpY29uXT1cImZhUGxheVwiPjwvZmEtaWNvbj48L3NwYW4+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -31,6 +31,11 @@ import * as i2 from "@angular/forms";
31
31
  *
32
32
  * @param {SimpleChanges} changes - The changes to the input properties.
33
33
  * @param {any} event - The event object from the change event.
34
+ *
35
+ * @example
36
+ * ```html
37
+ * <app-standard-panel-component [parameters]="standardPanelParameters"></app-standard-panel-component>
38
+ * ```
34
39
  */
35
40
  export class StandardPanelComponent {
36
41
  parameters = {};
@@ -82,4 +87,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
82
87
  }], propDecorators: { parameters: [{
83
88
  type: Input
84
89
  }] } });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtcGFuZWwtY29tcG9uZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhc2Z1LWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3JlY29yZGluZy1jb21wb25lbnRzL3N0YW5kYXJkLXBhbmVsLWNvbXBvbmVudC9zdGFuZGFyZC1wYW5lbC1jb21wb25lbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWFzZnUtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvcmVjb3JkaW5nLWNvbXBvbmVudHMvc3RhbmRhcmQtcGFuZWwtY29tcG9uZW50L3N0YW5kYXJkLXBhbmVsLWNvbXBvbmVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQWlCN0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJCRztBQVFILE1BQU0sT0FBTyxzQkFBc0I7SUFDeEIsVUFBVSxHQUE0QixFQUE2QixDQUFDO0lBRTdFLDZCQUE2QixDQUFVO0lBQ3ZDLDZCQUE2QixDQUFVO0lBQ3ZDLDZCQUE2QixDQUFVO0lBQ3ZDLHVCQUF1QixDQUFXO0lBRWxDLFFBQVE7UUFDTixJQUFJLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQztRQUMzRSxJQUFJLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQztRQUMzRSxJQUFJLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQztRQUMzRSxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUM7SUFDakUsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLFlBQVksQ0FBQztZQUNyRCxJQUFJLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQztZQUMzRSxJQUFJLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQztZQUMzRSxJQUFJLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQztZQUMzRSxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUM7UUFDakUsQ0FBQztJQUNILENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxLQUFVO1FBQ2pDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ2pDLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxLQUFLLENBQUM7UUFDM0MsSUFBSSxDQUFDLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsd0JBQXdCLENBQUMsS0FBVTtRQUNqQyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNqQyxJQUFJLENBQUMsNkJBQTZCLEdBQUcsS0FBSyxDQUFDO1FBQzNDLElBQUksQ0FBQyxVQUFVLENBQUMsMkJBQTJCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELHdCQUF3QixDQUFDLEtBQVU7UUFDakMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDakMsSUFBSSxDQUFDLDZCQUE2QixHQUFHLEtBQUssQ0FBQztRQUMzQyxJQUFJLENBQUMsVUFBVSxDQUFDLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFVO1FBQzNCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLE1BQU0sQ0FBQztRQUM1QyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsS0FBSyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQzt1R0EvQ1Usc0JBQXNCOzJGQUF0QixzQkFBc0IsbUpDdERuQyxtdkRBNENBLHlERFFZLFlBQVksa0lBQUUsV0FBVzs7MkZBRXhCLHNCQUFzQjtrQkFQbEMsU0FBUzsrQkFDRSw4QkFBOEIsY0FDNUIsSUFBSSxXQUdQLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQzs4QkFHM0IsVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFdmVudFR5cGUgfSBmcm9tICcuLi8uLi8uLi9AdHlwZXMvdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0YW5kYXJkUGFuZWxQYXJhbWV0ZXJzIHtcbiAgcmVjb3JkaW5nTWVkaWFPcHRpb25zOiBzdHJpbmc7XG4gIHJlY29yZGluZ0F1ZGlvT3B0aW9uczogc3RyaW5nO1xuICByZWNvcmRpbmdWaWRlb09wdGlvbnM6IHN0cmluZztcbiAgcmVjb3JkaW5nQWRkSExTOiBib29sZWFuO1xuICB1cGRhdGVSZWNvcmRpbmdNZWRpYU9wdGlvbnM6IChtZWRpYU9wdGlvbnM6IHN0cmluZykgPT4gdm9pZDtcbiAgdXBkYXRlUmVjb3JkaW5nQXVkaW9PcHRpb25zOiAoYXVkaW9PcHRpb25zOiBzdHJpbmcpID0+IHZvaWQ7XG4gIHVwZGF0ZVJlY29yZGluZ1ZpZGVvT3B0aW9uczogKHZpZGVvT3B0aW9uczogc3RyaW5nKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdBZGRITFM6IChhZGRITFM6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIGV2ZW50VHlwZTogRXZlbnRUeXBlO1xufVxuXG5leHBvcnQgdHlwZSBTdGFuZGFyZFBhbmVsVHlwZSA9IChvcHRpb25zOiBTdGFuZGFyZFBhbmVsUGFyYW1ldGVycykgPT4gSFRNTEVsZW1lbnQ7XG5cbi8qKlxuICogQGNvbXBvbmVudCBTdGFuZGFyZFBhbmVsQ29tcG9uZW50XG4gKiBAZGVzY3JpcHRpb24gVGhpcyBjb21wb25lbnQgcmVwcmVzZW50cyBhIHN0YW5kYXJkIHBhbmVsIGZvciByZWNvcmRpbmcgb3B0aW9ucy5cbiAqIEl0IGFsbG93cyB1c2VycyB0byBzZWxlY3QgbWVkaWEsIGF1ZGlvLCBhbmQgdmlkZW8gb3B0aW9ucywgYXMgd2VsbCBhcyB0b2dnbGUgSExTIHJlY29yZGluZy5cbiAqXG4gKiBAc2VsZWN0b3IgYXBwLXN0YW5kYXJkLXBhbmVsLWNvbXBvbmVudFxuICogQHN0YW5kYWxvbmUgdHJ1ZVxuICogQHRlbXBsYXRlVXJsIC4vc3RhbmRhcmQtcGFuZWwtY29tcG9uZW50LmNvbXBvbmVudC5odG1sXG4gKiBAc3R5bGVVcmxzIC4vc3RhbmRhcmQtcGFuZWwtY29tcG9uZW50LmNvbXBvbmVudC5jc3NcbiAqIEBpbXBvcnRzIFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlXVxuICpcbiAqIEBpbnB1dCB7U3RhbmRhcmRQYW5lbFBhcmFtZXRlcnN9IHBhcmFtZXRlcnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIHN0YW5kYXJkIHBhbmVsIGNvbXBvbmVudC5cbiAqXG4gKiBAcHJvcGVydHkge3N0cmluZ30gc2VsZWN0ZWRSZWNvcmRpbmdNZWRpYU9wdGlvbnMgLSBUaGUgc2VsZWN0ZWQgbWVkaWEgb3B0aW9ucyBmb3IgcmVjb3JkaW5nLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IHNlbGVjdGVkUmVjb3JkaW5nQXVkaW9PcHRpb25zIC0gVGhlIHNlbGVjdGVkIGF1ZGlvIG9wdGlvbnMgZm9yIHJlY29yZGluZy5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBzZWxlY3RlZFJlY29yZGluZ1ZpZGVvT3B0aW9ucyAtIFRoZSBzZWxlY3RlZCB2aWRlbyBvcHRpb25zIGZvciByZWNvcmRpbmcuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IHNlbGVjdGVkUmVjb3JkaW5nQWRkSExTIC0gVGhlIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIEhMUyByZWNvcmRpbmcgaXMgZW5hYmxlZC5cbiAqXG4gKiBAbWV0aG9kIG5nT25Jbml0IC0gSW5pdGlhbGl6ZXMgdGhlIGNvbXBvbmVudCBhbmQgc2V0cyB0aGUgaW5pdGlhbCB2YWx1ZXMgZm9yIHJlY29yZGluZyBvcHRpb25zLlxuICogQG1ldGhvZCBuZ09uQ2hhbmdlcyAtIEhhbmRsZXMgY2hhbmdlcyB0byB0aGUgaW5wdXQgcGFyYW1ldGVycyBhbmQgdXBkYXRlcyB0aGUgcmVjb3JkaW5nIG9wdGlvbnMgYWNjb3JkaW5nbHkuXG4gKiBAbWV0aG9kIGhhbmRsZU1lZGlhT3B0aW9uc0NoYW5nZSAtIEhhbmRsZXMgY2hhbmdlcyB0byB0aGUgbWVkaWEgb3B0aW9ucyBhbmQgdXBkYXRlcyB0aGUgcGFyYW1ldGVycy5cbiAqIEBtZXRob2QgaGFuZGxlQXVkaW9PcHRpb25zQ2hhbmdlIC0gSGFuZGxlcyBjaGFuZ2VzIHRvIHRoZSBhdWRpbyBvcHRpb25zIGFuZCB1cGRhdGVzIHRoZSBwYXJhbWV0ZXJzLlxuICogQG1ldGhvZCBoYW5kbGVWaWRlb09wdGlvbnNDaGFuZ2UgLSBIYW5kbGVzIGNoYW5nZXMgdG8gdGhlIHZpZGVvIG9wdGlvbnMgYW5kIHVwZGF0ZXMgdGhlIHBhcmFtZXRlcnMuXG4gKiBAbWV0aG9kIGhhbmRsZUFkZEhMU0NoYW5nZSAtIEhhbmRsZXMgY2hhbmdlcyB0byB0aGUgSExTIHJlY29yZGluZyBvcHRpb24gYW5kIHVwZGF0ZXMgdGhlIHBhcmFtZXRlcnMuXG4gKlxuICogQHBhcmFtIHtTaW1wbGVDaGFuZ2VzfSBjaGFuZ2VzIC0gVGhlIGNoYW5nZXMgdG8gdGhlIGlucHV0IHByb3BlcnRpZXMuXG4gKiBAcGFyYW0ge2FueX0gZXZlbnQgLSBUaGUgZXZlbnQgb2JqZWN0IGZyb20gdGhlIGNoYW5nZSBldmVudC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXN0YW5kYXJkLXBhbmVsLWNvbXBvbmVudCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdGFuZGFyZC1wYW5lbC1jb21wb25lbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdGFuZGFyZC1wYW5lbC1jb21wb25lbnQuY29tcG9uZW50LmNzcyddLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFN0YW5kYXJkUGFuZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHBhcmFtZXRlcnM6IFN0YW5kYXJkUGFuZWxQYXJhbWV0ZXJzID0ge30gYXMgU3RhbmRhcmRQYW5lbFBhcmFtZXRlcnM7XG5cbiAgc2VsZWN0ZWRSZWNvcmRpbmdNZWRpYU9wdGlvbnMhOiBzdHJpbmc7XG4gIHNlbGVjdGVkUmVjb3JkaW5nQXVkaW9PcHRpb25zITogc3RyaW5nO1xuICBzZWxlY3RlZFJlY29yZGluZ1ZpZGVvT3B0aW9ucyE6IHN0cmluZztcbiAgc2VsZWN0ZWRSZWNvcmRpbmdBZGRITFMhOiBib29sZWFuO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2VsZWN0ZWRSZWNvcmRpbmdNZWRpYU9wdGlvbnMgPSB0aGlzLnBhcmFtZXRlcnMucmVjb3JkaW5nTWVkaWFPcHRpb25zO1xuICAgIHRoaXMuc2VsZWN0ZWRSZWNvcmRpbmdBdWRpb09wdGlvbnMgPSB0aGlzLnBhcmFtZXRlcnMucmVjb3JkaW5nQXVkaW9PcHRpb25zO1xuICAgIHRoaXMuc2VsZWN0ZWRSZWNvcmRpbmdWaWRlb09wdGlvbnMgPSB0aGlzLnBhcmFtZXRlcnMucmVjb3JkaW5nVmlkZW9PcHRpb25zO1xuICAgIHRoaXMuc2VsZWN0ZWRSZWNvcmRpbmdBZGRITFMgPSB0aGlzLnBhcmFtZXRlcnMucmVjb3JkaW5nQWRkSExTO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydwYXJhbWV0ZXJzJ10pIHtcbiAgICAgIHRoaXMucGFyYW1ldGVycyA9IGNoYW5nZXNbJ3BhcmFtZXRlcnMnXS5jdXJyZW50VmFsdWU7XG4gICAgICB0aGlzLnNlbGVjdGVkUmVjb3JkaW5nTWVkaWFPcHRpb25zID0gdGhpcy5wYXJhbWV0ZXJzLnJlY29yZGluZ01lZGlhT3B0aW9ucztcbiAgICAgIHRoaXMuc2VsZWN0ZWRSZWNvcmRpbmdBdWRpb09wdGlvbnMgPSB0aGlzLnBhcmFtZXRlcnMucmVjb3JkaW5nQXVkaW9PcHRpb25zO1xuICAgICAgdGhpcy5zZWxlY3RlZFJlY29yZGluZ1ZpZGVvT3B0aW9ucyA9IHRoaXMucGFyYW1ldGVycy5yZWNvcmRpbmdWaWRlb09wdGlvbnM7XG4gICAgICB0aGlzLnNlbGVjdGVkUmVjb3JkaW5nQWRkSExTID0gdGhpcy5wYXJhbWV0ZXJzLnJlY29yZGluZ0FkZEhMUztcbiAgICB9XG4gIH1cblxuICBoYW5kbGVNZWRpYU9wdGlvbnNDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IHZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuICAgIHRoaXMuc2VsZWN0ZWRSZWNvcmRpbmdNZWRpYU9wdGlvbnMgPSB2YWx1ZTtcbiAgICB0aGlzLnBhcmFtZXRlcnMudXBkYXRlUmVjb3JkaW5nTWVkaWFPcHRpb25zKHZhbHVlKTtcbiAgfVxuXG4gIGhhbmRsZUF1ZGlvT3B0aW9uc0NoYW5nZShldmVudDogYW55KSB7XG4gICAgY29uc3QgdmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgdGhpcy5zZWxlY3RlZFJlY29yZGluZ0F1ZGlvT3B0aW9ucyA9IHZhbHVlO1xuICAgIHRoaXMucGFyYW1ldGVycy51cGRhdGVSZWNvcmRpbmdBdWRpb09wdGlvbnModmFsdWUpO1xuICB9XG5cbiAgaGFuZGxlVmlkZW9PcHRpb25zQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCB2YWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLnNlbGVjdGVkUmVjb3JkaW5nVmlkZW9PcHRpb25zID0gdmFsdWU7XG4gICAgdGhpcy5wYXJhbWV0ZXJzLnVwZGF0ZVJlY29yZGluZ1ZpZGVvT3B0aW9ucyh2YWx1ZSk7XG4gIH1cblxuICBoYW5kbGVBZGRITFNDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IHZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlID09PSAndHJ1ZSc7XG4gICAgdGhpcy5zZWxlY3RlZFJlY29yZGluZ0FkZEhMUyA9IHZhbHVlO1xuICAgIHRoaXMucGFyYW1ldGVycy51cGRhdGVSZWNvcmRpbmdBZGRITFModmFsdWUpO1xuICB9XG59XG4iLCI8ZGl2PlxyXG4gIDwhLS0gTWVkaWEgT3B0aW9ucyAtLT5cclxuICA8ZGl2PlxyXG4gICAgPGxhYmVsIHN0eWxlPVwibWFyZ2luLXJpZ2h0OjEwcHg7IGZvbnQtd2VpZ2h0OiBib2xkO1wiPk1lZGlhIE9wdGlvbnM6PC9sYWJlbD5cclxuICAgIDxzZWxlY3QgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFJlY29yZGluZ01lZGlhT3B0aW9uc1wiIChjaGFuZ2UpPVwiaGFuZGxlTWVkaWFPcHRpb25zQ2hhbmdlKCRldmVudClcIj5cclxuICAgICAgPG9wdGlvbiB2YWx1ZT1cInZpZGVvXCI+UmVjb3JkIFZpZGVvPC9vcHRpb24+XHJcbiAgICAgIDxvcHRpb24gdmFsdWU9XCJhdWRpb1wiPlJlY29yZCBBdWRpbyBPbmx5PC9vcHRpb24+XHJcbiAgICA8L3NlbGVjdD5cclxuICA8L2Rpdj5cclxuICA8aHIgLz5cclxuXHJcbiAgPCEtLSBTcGVjaWZpYyBBdWRpb3MgLS0+XHJcbiAgPGRpdiAqbmdJZj1cInBhcmFtZXRlcnMuZXZlbnRUeXBlICE9PSAnYnJvYWRjYXN0J1wiPlxyXG4gICAgPGRpdj5cclxuICAgICAgPGxhYmVsIHN0eWxlPVwibWFyZ2luLXJpZ2h0OjEwcHg7IGZvbnQtd2VpZ2h0OiBib2xkO1wiPlNwZWNpZmljIEF1ZGlvczo8L2xhYmVsPlxyXG4gICAgICA8c2VsZWN0IFsobmdNb2RlbCldPVwic2VsZWN0ZWRSZWNvcmRpbmdBdWRpb09wdGlvbnNcIiAoY2hhbmdlKT1cImhhbmRsZUF1ZGlvT3B0aW9uc0NoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImFsbFwiPkFkZCBBbGw8L29wdGlvbj5cclxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwib25TY3JlZW5cIj5BZGQgQWxsIE9uIFNjcmVlbjwvb3B0aW9uPlxyXG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJob3N0XCI+QWRkIEhvc3QgT25seTwvb3B0aW9uPlxyXG4gICAgICA8L3NlbGVjdD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGhyIC8+XHJcblxyXG4gICAgPCEtLSBTcGVjaWZpYyBWaWRlb3MgLS0+XHJcbiAgICA8ZGl2IGlkPVwiY29uZGl0aW9uYWxDb25mZXJlbmNlXCI+XHJcbiAgICAgIDxsYWJlbCBzdHlsZT1cIm1hcmdpbi1yaWdodDoxMHB4OyBmb250LXdlaWdodDogYm9sZDtcIj5TcGVjaWZpYyBWaWRlb3M6PC9sYWJlbD5cclxuICAgICAgPHNlbGVjdCBbKG5nTW9kZWwpXT1cInNlbGVjdGVkUmVjb3JkaW5nVmlkZW9PcHRpb25zXCIgKGNoYW5nZSk9XCJoYW5kbGVWaWRlb09wdGlvbnNDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJhbGxcIj5BZGQgQWxsPC9vcHRpb24+XHJcbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIm1haW5TY3JlZW5cIj5CaWcgU2NyZWVuIE9ubHkgKGluY2x1ZGVzIHNjcmVlbnNoYXJlKTwvb3B0aW9uPlxyXG4gICAgICA8L3NlbGVjdD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGhyIC8+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS0gQWRkIEhMUyAtLT5cclxuICA8ZGl2IGlkPVwiYWRkSExTUGFydFwiPlxyXG4gICAgPGxhYmVsIHN0eWxlPVwibWFyZ2luLXJpZ2h0OjEwcHg7IGZvbnQtd2VpZ2h0OiBib2xkO1wiPkFkZCBITFM6PC9sYWJlbD5cclxuICAgIDxzZWxlY3QgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFJlY29yZGluZ0FkZEhMU1wiIChjaGFuZ2UpPVwiaGFuZGxlQWRkSExTQ2hhbmdlKCRldmVudClcIj5cclxuICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJ0cnVlXCI+VHJ1ZTwvb3B0aW9uPlxyXG4gICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cImZhbHNlXCI+RmFsc2U8L29wdGlvbj5cclxuICAgIDwvc2VsZWN0PlxyXG4gIDwvZGl2PlxyXG4gIDxociAvPlxyXG48L2Rpdj5cclxuIl19
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtcGFuZWwtY29tcG9uZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhc2Z1LWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3JlY29yZGluZy1jb21wb25lbnRzL3N0YW5kYXJkLXBhbmVsLWNvbXBvbmVudC9zdGFuZGFyZC1wYW5lbC1jb21wb25lbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWFzZnUtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvcmVjb3JkaW5nLWNvbXBvbmVudHMvc3RhbmRhcmQtcGFuZWwtY29tcG9uZW50L3N0YW5kYXJkLXBhbmVsLWNvbXBvbmVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQWlCN0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0NHO0FBUUgsTUFBTSxPQUFPLHNCQUFzQjtJQUN4QixVQUFVLEdBQTRCLEVBQTZCLENBQUM7SUFFN0UsNkJBQTZCLENBQVU7SUFDdkMsNkJBQTZCLENBQVU7SUFDdkMsNkJBQTZCLENBQVU7SUFDdkMsdUJBQXVCLENBQVc7SUFFbEMsUUFBUTtRQUNOLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDO1FBQzNFLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDO1FBQzNFLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDO1FBQzNFLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQztJQUNqRSxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsWUFBWSxDQUFDO1lBQ3JELElBQUksQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDO1lBQzNFLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDO1lBQzNFLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDO1lBQzNFLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQztRQUNqRSxDQUFDO0lBQ0gsQ0FBQztJQUVELHdCQUF3QixDQUFDLEtBQVU7UUFDakMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDakMsSUFBSSxDQUFDLDZCQUE2QixHQUFHLEtBQUssQ0FBQztRQUMzQyxJQUFJLENBQUMsVUFBVSxDQUFDLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxLQUFVO1FBQ2pDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ2pDLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxLQUFLLENBQUM7UUFDM0MsSUFBSSxDQUFDLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsd0JBQXdCLENBQUMsS0FBVTtRQUNqQyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNqQyxJQUFJLENBQUMsNkJBQTZCLEdBQUcsS0FBSyxDQUFDO1FBQzNDLElBQUksQ0FBQyxVQUFVLENBQUMsMkJBQTJCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQVU7UUFDM0IsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssTUFBTSxDQUFDO1FBQzVDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUM7UUFDckMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQyxDQUFDO3VHQS9DVSxzQkFBc0I7MkZBQXRCLHNCQUFzQixtSkMzRG5DLG12REE0Q0EseUREYVksWUFBWSxrSUFBRSxXQUFXOzsyRkFFeEIsc0JBQXNCO2tCQVBsQyxTQUFTOytCQUNFLDhCQUE4QixjQUM1QixJQUFJLFdBR1AsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDOzhCQUczQixVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEV2ZW50VHlwZSB9IGZyb20gJy4uLy4uLy4uL0B0eXBlcy90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhbmRhcmRQYW5lbFBhcmFtZXRlcnMge1xuICByZWNvcmRpbmdNZWRpYU9wdGlvbnM6IHN0cmluZztcbiAgcmVjb3JkaW5nQXVkaW9PcHRpb25zOiBzdHJpbmc7XG4gIHJlY29yZGluZ1ZpZGVvT3B0aW9uczogc3RyaW5nO1xuICByZWNvcmRpbmdBZGRITFM6IGJvb2xlYW47XG4gIHVwZGF0ZVJlY29yZGluZ01lZGlhT3B0aW9uczogKG1lZGlhT3B0aW9uczogc3RyaW5nKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdBdWRpb09wdGlvbnM6IChhdWRpb09wdGlvbnM6IHN0cmluZykgPT4gdm9pZDtcbiAgdXBkYXRlUmVjb3JkaW5nVmlkZW9PcHRpb25zOiAodmlkZW9PcHRpb25zOiBzdHJpbmcpID0+IHZvaWQ7XG4gIHVwZGF0ZVJlY29yZGluZ0FkZEhMUzogKGFkZEhMUzogYm9vbGVhbikgPT4gdm9pZDtcbiAgZXZlbnRUeXBlOiBFdmVudFR5cGU7XG59XG5cbmV4cG9ydCB0eXBlIFN0YW5kYXJkUGFuZWxUeXBlID0gKG9wdGlvbnM6IFN0YW5kYXJkUGFuZWxQYXJhbWV0ZXJzKSA9PiBIVE1MRWxlbWVudDtcblxuLyoqXG4gKiBAY29tcG9uZW50IFN0YW5kYXJkUGFuZWxDb21wb25lbnRcbiAqIEBkZXNjcmlwdGlvbiBUaGlzIGNvbXBvbmVudCByZXByZXNlbnRzIGEgc3RhbmRhcmQgcGFuZWwgZm9yIHJlY29yZGluZyBvcHRpb25zLlxuICogSXQgYWxsb3dzIHVzZXJzIHRvIHNlbGVjdCBtZWRpYSwgYXVkaW8sIGFuZCB2aWRlbyBvcHRpb25zLCBhcyB3ZWxsIGFzIHRvZ2dsZSBITFMgcmVjb3JkaW5nLlxuICpcbiAqIEBzZWxlY3RvciBhcHAtc3RhbmRhcmQtcGFuZWwtY29tcG9uZW50XG4gKiBAc3RhbmRhbG9uZSB0cnVlXG4gKiBAdGVtcGxhdGVVcmwgLi9zdGFuZGFyZC1wYW5lbC1jb21wb25lbnQuY29tcG9uZW50Lmh0bWxcbiAqIEBzdHlsZVVybHMgLi9zdGFuZGFyZC1wYW5lbC1jb21wb25lbnQuY29tcG9uZW50LmNzc1xuICogQGltcG9ydHMgW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGVdXG4gKlxuICogQGlucHV0IHtTdGFuZGFyZFBhbmVsUGFyYW1ldGVyc30gcGFyYW1ldGVycyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgc3RhbmRhcmQgcGFuZWwgY29tcG9uZW50LlxuICpcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBzZWxlY3RlZFJlY29yZGluZ01lZGlhT3B0aW9ucyAtIFRoZSBzZWxlY3RlZCBtZWRpYSBvcHRpb25zIGZvciByZWNvcmRpbmcuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gc2VsZWN0ZWRSZWNvcmRpbmdBdWRpb09wdGlvbnMgLSBUaGUgc2VsZWN0ZWQgYXVkaW8gb3B0aW9ucyBmb3IgcmVjb3JkaW5nLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IHNlbGVjdGVkUmVjb3JkaW5nVmlkZW9PcHRpb25zIC0gVGhlIHNlbGVjdGVkIHZpZGVvIG9wdGlvbnMgZm9yIHJlY29yZGluZy5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gc2VsZWN0ZWRSZWNvcmRpbmdBZGRITFMgLSBUaGUgZmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgSExTIHJlY29yZGluZyBpcyBlbmFibGVkLlxuICpcbiAqIEBtZXRob2QgbmdPbkluaXQgLSBJbml0aWFsaXplcyB0aGUgY29tcG9uZW50IGFuZCBzZXRzIHRoZSBpbml0aWFsIHZhbHVlcyBmb3IgcmVjb3JkaW5nIG9wdGlvbnMuXG4gKiBAbWV0aG9kIG5nT25DaGFuZ2VzIC0gSGFuZGxlcyBjaGFuZ2VzIHRvIHRoZSBpbnB1dCBwYXJhbWV0ZXJzIGFuZCB1cGRhdGVzIHRoZSByZWNvcmRpbmcgb3B0aW9ucyBhY2NvcmRpbmdseS5cbiAqIEBtZXRob2QgaGFuZGxlTWVkaWFPcHRpb25zQ2hhbmdlIC0gSGFuZGxlcyBjaGFuZ2VzIHRvIHRoZSBtZWRpYSBvcHRpb25zIGFuZCB1cGRhdGVzIHRoZSBwYXJhbWV0ZXJzLlxuICogQG1ldGhvZCBoYW5kbGVBdWRpb09wdGlvbnNDaGFuZ2UgLSBIYW5kbGVzIGNoYW5nZXMgdG8gdGhlIGF1ZGlvIG9wdGlvbnMgYW5kIHVwZGF0ZXMgdGhlIHBhcmFtZXRlcnMuXG4gKiBAbWV0aG9kIGhhbmRsZVZpZGVvT3B0aW9uc0NoYW5nZSAtIEhhbmRsZXMgY2hhbmdlcyB0byB0aGUgdmlkZW8gb3B0aW9ucyBhbmQgdXBkYXRlcyB0aGUgcGFyYW1ldGVycy5cbiAqIEBtZXRob2QgaGFuZGxlQWRkSExTQ2hhbmdlIC0gSGFuZGxlcyBjaGFuZ2VzIHRvIHRoZSBITFMgcmVjb3JkaW5nIG9wdGlvbiBhbmQgdXBkYXRlcyB0aGUgcGFyYW1ldGVycy5cbiAqXG4gKiBAcGFyYW0ge1NpbXBsZUNoYW5nZXN9IGNoYW5nZXMgLSBUaGUgY2hhbmdlcyB0byB0aGUgaW5wdXQgcHJvcGVydGllcy5cbiAqIEBwYXJhbSB7YW55fSBldmVudCAtIFRoZSBldmVudCBvYmplY3QgZnJvbSB0aGUgY2hhbmdlIGV2ZW50LlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8YXBwLXN0YW5kYXJkLXBhbmVsLWNvbXBvbmVudCBbcGFyYW1ldGVyc109XCJzdGFuZGFyZFBhbmVsUGFyYW1ldGVyc1wiPjwvYXBwLXN0YW5kYXJkLXBhbmVsLWNvbXBvbmVudD5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtc3RhbmRhcmQtcGFuZWwtY29tcG9uZW50JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0YW5kYXJkLXBhbmVsLWNvbXBvbmVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0YW5kYXJkLXBhbmVsLWNvbXBvbmVudC5jb21wb25lbnQuY3NzJ10sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgU3RhbmRhcmRQYW5lbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgcGFyYW1ldGVyczogU3RhbmRhcmRQYW5lbFBhcmFtZXRlcnMgPSB7fSBhcyBTdGFuZGFyZFBhbmVsUGFyYW1ldGVycztcblxuICBzZWxlY3RlZFJlY29yZGluZ01lZGlhT3B0aW9ucyE6IHN0cmluZztcbiAgc2VsZWN0ZWRSZWNvcmRpbmdBdWRpb09wdGlvbnMhOiBzdHJpbmc7XG4gIHNlbGVjdGVkUmVjb3JkaW5nVmlkZW9PcHRpb25zITogc3RyaW5nO1xuICBzZWxlY3RlZFJlY29yZGluZ0FkZEhMUyE6IGJvb2xlYW47XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZWxlY3RlZFJlY29yZGluZ01lZGlhT3B0aW9ucyA9IHRoaXMucGFyYW1ldGVycy5yZWNvcmRpbmdNZWRpYU9wdGlvbnM7XG4gICAgdGhpcy5zZWxlY3RlZFJlY29yZGluZ0F1ZGlvT3B0aW9ucyA9IHRoaXMucGFyYW1ldGVycy5yZWNvcmRpbmdBdWRpb09wdGlvbnM7XG4gICAgdGhpcy5zZWxlY3RlZFJlY29yZGluZ1ZpZGVvT3B0aW9ucyA9IHRoaXMucGFyYW1ldGVycy5yZWNvcmRpbmdWaWRlb09wdGlvbnM7XG4gICAgdGhpcy5zZWxlY3RlZFJlY29yZGluZ0FkZEhMUyA9IHRoaXMucGFyYW1ldGVycy5yZWNvcmRpbmdBZGRITFM7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ3BhcmFtZXRlcnMnXSkge1xuICAgICAgdGhpcy5wYXJhbWV0ZXJzID0gY2hhbmdlc1sncGFyYW1ldGVycyddLmN1cnJlbnRWYWx1ZTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSZWNvcmRpbmdNZWRpYU9wdGlvbnMgPSB0aGlzLnBhcmFtZXRlcnMucmVjb3JkaW5nTWVkaWFPcHRpb25zO1xuICAgICAgdGhpcy5zZWxlY3RlZFJlY29yZGluZ0F1ZGlvT3B0aW9ucyA9IHRoaXMucGFyYW1ldGVycy5yZWNvcmRpbmdBdWRpb09wdGlvbnM7XG4gICAgICB0aGlzLnNlbGVjdGVkUmVjb3JkaW5nVmlkZW9PcHRpb25zID0gdGhpcy5wYXJhbWV0ZXJzLnJlY29yZGluZ1ZpZGVvT3B0aW9ucztcbiAgICAgIHRoaXMuc2VsZWN0ZWRSZWNvcmRpbmdBZGRITFMgPSB0aGlzLnBhcmFtZXRlcnMucmVjb3JkaW5nQWRkSExTO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZU1lZGlhT3B0aW9uc0NoYW5nZShldmVudDogYW55KSB7XG4gICAgY29uc3QgdmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgdGhpcy5zZWxlY3RlZFJlY29yZGluZ01lZGlhT3B0aW9ucyA9IHZhbHVlO1xuICAgIHRoaXMucGFyYW1ldGVycy51cGRhdGVSZWNvcmRpbmdNZWRpYU9wdGlvbnModmFsdWUpO1xuICB9XG5cbiAgaGFuZGxlQXVkaW9PcHRpb25zQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCB2YWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLnNlbGVjdGVkUmVjb3JkaW5nQXVkaW9PcHRpb25zID0gdmFsdWU7XG4gICAgdGhpcy5wYXJhbWV0ZXJzLnVwZGF0ZVJlY29yZGluZ0F1ZGlvT3B0aW9ucyh2YWx1ZSk7XG4gIH1cblxuICBoYW5kbGVWaWRlb09wdGlvbnNDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IHZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuICAgIHRoaXMuc2VsZWN0ZWRSZWNvcmRpbmdWaWRlb09wdGlvbnMgPSB2YWx1ZTtcbiAgICB0aGlzLnBhcmFtZXRlcnMudXBkYXRlUmVjb3JkaW5nVmlkZW9PcHRpb25zKHZhbHVlKTtcbiAgfVxuXG4gIGhhbmRsZUFkZEhMU0NoYW5nZShldmVudDogYW55KSB7XG4gICAgY29uc3QgdmFsdWUgPSBldmVudC50YXJnZXQudmFsdWUgPT09ICd0cnVlJztcbiAgICB0aGlzLnNlbGVjdGVkUmVjb3JkaW5nQWRkSExTID0gdmFsdWU7XG4gICAgdGhpcy5wYXJhbWV0ZXJzLnVwZGF0ZVJlY29yZGluZ0FkZEhMUyh2YWx1ZSk7XG4gIH1cbn1cbiIsIjxkaXY+XHJcbiAgPCEtLSBNZWRpYSBPcHRpb25zIC0tPlxyXG4gIDxkaXY+XHJcbiAgICA8bGFiZWwgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6MTBweDsgZm9udC13ZWlnaHQ6IGJvbGQ7XCI+TWVkaWEgT3B0aW9uczo8L2xhYmVsPlxyXG4gICAgPHNlbGVjdCBbKG5nTW9kZWwpXT1cInNlbGVjdGVkUmVjb3JkaW5nTWVkaWFPcHRpb25zXCIgKGNoYW5nZSk9XCJoYW5kbGVNZWRpYU9wdGlvbnNDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICA8b3B0aW9uIHZhbHVlPVwidmlkZW9cIj5SZWNvcmQgVmlkZW88L29wdGlvbj5cclxuICAgICAgPG9wdGlvbiB2YWx1ZT1cImF1ZGlvXCI+UmVjb3JkIEF1ZGlvIE9ubHk8L29wdGlvbj5cclxuICAgIDwvc2VsZWN0PlxyXG4gIDwvZGl2PlxyXG4gIDxociAvPlxyXG5cclxuICA8IS0tIFNwZWNpZmljIEF1ZGlvcyAtLT5cclxuICA8ZGl2ICpuZ0lmPVwicGFyYW1ldGVycy5ldmVudFR5cGUgIT09ICdicm9hZGNhc3QnXCI+XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8bGFiZWwgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6MTBweDsgZm9udC13ZWlnaHQ6IGJvbGQ7XCI+U3BlY2lmaWMgQXVkaW9zOjwvbGFiZWw+XHJcbiAgICAgIDxzZWxlY3QgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFJlY29yZGluZ0F1ZGlvT3B0aW9uc1wiIChjaGFuZ2UpPVwiaGFuZGxlQXVkaW9PcHRpb25zQ2hhbmdlKCRldmVudClcIj5cclxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwiYWxsXCI+QWRkIEFsbDwvb3B0aW9uPlxyXG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJvblNjcmVlblwiPkFkZCBBbGwgT24gU2NyZWVuPC9vcHRpb24+XHJcbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImhvc3RcIj5BZGQgSG9zdCBPbmx5PC9vcHRpb24+XHJcbiAgICAgIDwvc2VsZWN0PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8aHIgLz5cclxuXHJcbiAgICA8IS0tIFNwZWNpZmljIFZpZGVvcyAtLT5cclxuICAgIDxkaXYgaWQ9XCJjb25kaXRpb25hbENvbmZlcmVuY2VcIj5cclxuICAgICAgPGxhYmVsIHN0eWxlPVwibWFyZ2luLXJpZ2h0OjEwcHg7IGZvbnQtd2VpZ2h0OiBib2xkO1wiPlNwZWNpZmljIFZpZGVvczo8L2xhYmVsPlxyXG4gICAgICA8c2VsZWN0IFsobmdNb2RlbCldPVwic2VsZWN0ZWRSZWNvcmRpbmdWaWRlb09wdGlvbnNcIiAoY2hhbmdlKT1cImhhbmRsZVZpZGVvT3B0aW9uc0NoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImFsbFwiPkFkZCBBbGw8L29wdGlvbj5cclxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwibWFpblNjcmVlblwiPkJpZyBTY3JlZW4gT25seSAoaW5jbHVkZXMgc2NyZWVuc2hhcmUpPC9vcHRpb24+XHJcbiAgICAgIDwvc2VsZWN0PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8aHIgLz5cclxuICA8L2Rpdj5cclxuXHJcbiAgPCEtLSBBZGQgSExTIC0tPlxyXG4gIDxkaXYgaWQ9XCJhZGRITFNQYXJ0XCI+XHJcbiAgICA8bGFiZWwgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6MTBweDsgZm9udC13ZWlnaHQ6IGJvbGQ7XCI+QWRkIEhMUzo8L2xhYmVsPlxyXG4gICAgPHNlbGVjdCBbKG5nTW9kZWwpXT1cInNlbGVjdGVkUmVjb3JkaW5nQWRkSExTXCIgKGNoYW5nZSk9XCJoYW5kbGVBZGRITFNDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cInRydWVcIj5UcnVlPC9vcHRpb24+XHJcbiAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwiZmFsc2VcIj5GYWxzZTwvb3B0aW9uPlxyXG4gICAgPC9zZWxlY3Q+XHJcbiAgPC9kaXY+XHJcbiAgPGhyIC8+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -5,6 +5,28 @@ import { faMicrophone, faDesktop, faVideo, faComments, faCheck, faTimes, } from
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/common";
7
7
  import * as i2 from "@fortawesome/angular-fontawesome";
8
+ /**
9
+ * @component RenderRequestComponent
10
+ * @description Component to render and manage individual requests in a list. Each request can be responded to with specified actions (e.g., approve, deny).
11
+ *
12
+ * @selector app-render-request-component
13
+ * @standalone true
14
+ * @imports [CommonModule, FontAwesomeModule]
15
+ * @templateUrl ./render-request-component.component.html
16
+ * @styleUrls ./render-request-component.component.css
17
+ *
18
+ * @example
19
+ * ```html
20
+ * <app-render-request-component
21
+ * [request]="request"
22
+ * [requestList]="requestList"
23
+ * [roomName]="roomName"
24
+ * [socket]="socket"
25
+ * [onRequestItemPress]="handleRequestPress"
26
+ * [updateRequestList]="updateRequestList">
27
+ * </app-render-request-component>
28
+ * ```
29
+ */
8
30
  export class RenderRequestComponent {
9
31
  request = {};
10
32
  requestList = [];
@@ -56,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
56
78
  }], updateRequestList: [{
57
79
  type: Input
58
80
  }] } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLXJlcXVlc3QtY29tcG9uZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhc2Z1LWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3JlcXVlc3RzLWNvbXBvbmVudHMvcmVuZGVyLXJlcXVlc3QtY29tcG9uZW50L3JlbmRlci1yZXF1ZXN0LWNvbXBvbmVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9yZXF1ZXN0cy1jb21wb25lbnRzL3JlbmRlci1yZXF1ZXN0LWNvbXBvbmVudC9yZW5kZXItcmVxdWVzdC1jb21wb25lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFDTCxZQUFZLEVBQ1osU0FBUyxFQUNULE9BQU8sRUFDUCxVQUFVLEVBQ1YsT0FBTyxFQUNQLE9BQU8sR0FFUixNQUFNLG1DQUFtQyxDQUFDOzs7O0FBc0IzQyxNQUFNLE9BQU8sc0JBQXNCO0lBQ3hCLE9BQU8sR0FBWSxFQUFhLENBQUM7SUFDakMsV0FBVyxHQUFjLEVBQUUsQ0FBQztJQUM1QixRQUFRLENBQVU7SUFDbEIsTUFBTSxHQUFXLEVBQVksQ0FBQztJQUM5QixrQkFBa0IsQ0FBK0M7SUFDakUsaUJBQWlCLENBQXVDO0lBRWpFLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDNUIsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUN0QixPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ2xCLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDeEIsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUNsQixPQUFPLEdBQUcsT0FBTyxDQUFDO0lBRWxCLE1BQU0sR0FBc0M7UUFDMUMsZUFBZSxFQUFFLElBQUksQ0FBQyxZQUFZO1FBQ2xDLFlBQVksRUFBRSxJQUFJLENBQUMsU0FBUztRQUM1QixVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU87UUFDeEIsYUFBYSxFQUFFLElBQUksQ0FBQyxVQUFVO0tBQy9CLENBQUM7SUFFRixPQUFPLENBQUMsUUFBZ0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxtQkFBbUIsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFO1FBQ3ZDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztZQUN0QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtZQUN6QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsTUFBTSxFQUFFLE1BQU07WUFDZCxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQzt1R0FuQ1Msc0JBQXNCOzJGQUF0QixzQkFBc0IsOFFDakNuQyxpckJBZ0JBLHNYRGFZLFlBQVksa0lBQUUsaUJBQWlCOzsyRkFJOUIsc0JBQXNCO2tCQVBsQyxTQUFTOytCQUNFLDhCQUE4QixjQUM1QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLENBQUM7OEJBS2pDLE9BQU87c0JBQWYsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVNb2R1bGUgfSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XG5pbXBvcnQge1xuICBmYU1pY3JvcGhvbmUsXG4gIGZhRGVza3RvcCxcbiAgZmFWaWRlbyxcbiAgZmFDb21tZW50cyxcbiAgZmFDaGVjayxcbiAgZmFUaW1lcyxcbiAgSWNvbkRlZmluaXRpb24sXG59IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBSZXNwb25kVG9SZXF1ZXN0c1R5cGUsIFJlc3BvbmRUb1JlcXVlc3RzT3B0aW9ucywgUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL0B0eXBlcy90eXBlcyc7XG5pbXBvcnQgeyBTb2NrZXQgfSBmcm9tICdzb2NrZXQuaW8tY2xpZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBSZW5kZXJSZXF1ZXN0Q29tcG9uZW50T3B0aW9ucyB7XG4gIHJlcXVlc3Q6IFJlcXVlc3Q7XG4gIG9uUmVxdWVzdEl0ZW1QcmVzczogUmVzcG9uZFRvUmVxdWVzdHNUeXBlO1xuICByZXF1ZXN0TGlzdDogUmVxdWVzdFtdO1xuICB1cGRhdGVSZXF1ZXN0TGlzdDogKG5ld1JlcXVlc3RMaXN0OiBSZXF1ZXN0W10pID0+IHZvaWQ7XG4gIHJvb21OYW1lOiBzdHJpbmc7XG4gIHNvY2tldDogU29ja2V0O1xufVxuXG5leHBvcnQgdHlwZSBSZW5kZXJSZXF1ZXN0Q29tcG9uZW50VHlwZSA9IChvcHRpb25zOiBSZW5kZXJSZXF1ZXN0Q29tcG9uZW50T3B0aW9ucykgPT4gSFRNTEVsZW1lbnQ7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1yZW5kZXItcmVxdWVzdC1jb21wb25lbnQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb250QXdlc29tZU1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9yZW5kZXItcmVxdWVzdC1jb21wb25lbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZW5kZXItcmVxdWVzdC1jb21wb25lbnQuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBSZW5kZXJSZXF1ZXN0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgcmVxdWVzdDogUmVxdWVzdCA9IHt9IGFzIFJlcXVlc3Q7XG4gIEBJbnB1dCgpIHJlcXVlc3RMaXN0OiBSZXF1ZXN0W10gPSBbXTtcbiAgQElucHV0KCkgcm9vbU5hbWUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNvY2tldDogU29ja2V0ID0ge30gYXMgU29ja2V0O1xuICBASW5wdXQoKSBvblJlcXVlc3RJdGVtUHJlc3MhOiAob3B0aW9uczogUmVzcG9uZFRvUmVxdWVzdHNPcHRpb25zKSA9PiB2b2lkO1xuICBASW5wdXQoKSB1cGRhdGVSZXF1ZXN0TGlzdCE6IChuZXdSZXF1ZXN0TGlzdDogUmVxdWVzdFtdKSA9PiB2b2lkO1xuXG4gIGZhTWljcm9waG9uZSA9IGZhTWljcm9waG9uZTtcbiAgZmFEZXNrdG9wID0gZmFEZXNrdG9wO1xuICBmYVZpZGVvID0gZmFWaWRlbztcbiAgZmFDb21tZW50cyA9IGZhQ29tbWVudHM7XG4gIGZhQ2hlY2sgPSBmYUNoZWNrO1xuICBmYVRpbWVzID0gZmFUaW1lcztcblxuICBrZXlNYXA6IHsgW2tleTogc3RyaW5nXTogSWNvbkRlZmluaXRpb24gfSA9IHtcbiAgICAnZmEtbWljcm9waG9uZSc6IHRoaXMuZmFNaWNyb3Bob25lLFxuICAgICdmYS1kZXNrdG9wJzogdGhpcy5mYURlc2t0b3AsXG4gICAgJ2ZhLXZpZGVvJzogdGhpcy5mYVZpZGVvLFxuICAgICdmYS1jb21tZW50cyc6IHRoaXMuZmFDb21tZW50cyxcbiAgfTtcblxuICBnZXRJY29uKGljb25OYW1lOiBzdHJpbmcpOiBJY29uRGVmaW5pdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMua2V5TWFwW2ljb25OYW1lXTtcbiAgfVxuXG4gIGhhbmRsZVJlcXVlc3RBY3Rpb24gPSAoYWN0aW9uOiBzdHJpbmcpID0+IHtcbiAgICB0aGlzLm9uUmVxdWVzdEl0ZW1QcmVzcyh7XG4gICAgICByZXF1ZXN0OiB0aGlzLnJlcXVlc3QsXG4gICAgICB1cGRhdGVSZXF1ZXN0TGlzdDogdGhpcy51cGRhdGVSZXF1ZXN0TGlzdCxcbiAgICAgIHJlcXVlc3RMaXN0OiB0aGlzLnJlcXVlc3RMaXN0LFxuICAgICAgYWN0aW9uOiBhY3Rpb24sXG4gICAgICByb29tTmFtZTogdGhpcy5yb29tTmFtZSxcbiAgICAgIHNvY2tldDogdGhpcy5zb2NrZXQsXG4gICAgfSk7XG4gIH07XG59XG4iLCI8ZGl2IGNsYXNzPVwicmVxdWVzdC1jb250YWluZXJcIiAqbmdJZj1cInJlcXVlc3RcIj5cclxuICA8ZGl2IGNsYXNzPVwicmVxdWVzdC1uYW1lXCI+e3sgcmVxdWVzdC5uYW1lIH19PC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInJlcXVlc3QtaWNvblwiPlxyXG4gICAgPGZhLWljb24gW2ljb25dPVwiZ2V0SWNvbihyZXF1ZXN0Lmljb24pXCIgc2l6ZT1cImxnXCIgY29sb3I9XCJibGFja1wiPjwvZmEtaWNvbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwicmVxdWVzdC1hY3Rpb24gYWNjZXB0XCI+XHJcbiAgICA8YnV0dG9uIChjbGljayk9XCJoYW5kbGVSZXF1ZXN0QWN0aW9uKCdhY2NlcHRlZCcpXCI+XHJcbiAgICAgIDxmYS1pY29uIFtpY29uXT1cImZhQ2hlY2tcIiBzaXplPVwibGdcIiBzdHlsZT1cImNvbG9yOiBncmVlbjtcIj48L2ZhLWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwicmVxdWVzdC1hY3Rpb24gcmVqZWN0XCI+XHJcbiAgICA8YnV0dG9uIChjbGljayk9XCJoYW5kbGVSZXF1ZXN0QWN0aW9uKCdyZWplY3RlZCcpXCI+XHJcbiAgICAgIDxmYS1pY29uIFtpY29uXT1cImZhVGltZXNcIiBzaXplPVwibGdcIiBzdHlsZT1cImNvbG9yOiByZWQ7XCI+PC9mYS1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLXJlcXVlc3QtY29tcG9uZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhc2Z1LWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3JlcXVlc3RzLWNvbXBvbmVudHMvcmVuZGVyLXJlcXVlc3QtY29tcG9uZW50L3JlbmRlci1yZXF1ZXN0LWNvbXBvbmVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9yZXF1ZXN0cy1jb21wb25lbnRzL3JlbmRlci1yZXF1ZXN0LWNvbXBvbmVudC9yZW5kZXItcmVxdWVzdC1jb21wb25lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFDTCxZQUFZLEVBQ1osU0FBUyxFQUNULE9BQU8sRUFDUCxVQUFVLEVBQ1YsT0FBTyxFQUNQLE9BQU8sR0FFUixNQUFNLG1DQUFtQyxDQUFDOzs7O0FBZTNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFTSCxNQUFNLE9BQU8sc0JBQXNCO0lBQ3hCLE9BQU8sR0FBWSxFQUFhLENBQUM7SUFDakMsV0FBVyxHQUFjLEVBQUUsQ0FBQztJQUM1QixRQUFRLENBQVU7SUFDbEIsTUFBTSxHQUFXLEVBQVksQ0FBQztJQUM5QixrQkFBa0IsQ0FBK0M7SUFDakUsaUJBQWlCLENBQXVDO0lBRWpFLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDNUIsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUN0QixPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ2xCLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDeEIsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUNsQixPQUFPLEdBQUcsT0FBTyxDQUFDO0lBRWxCLE1BQU0sR0FBc0M7UUFDMUMsZUFBZSxFQUFFLElBQUksQ0FBQyxZQUFZO1FBQ2xDLFlBQVksRUFBRSxJQUFJLENBQUMsU0FBUztRQUM1QixVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU87UUFDeEIsYUFBYSxFQUFFLElBQUksQ0FBQyxVQUFVO0tBQy9CLENBQUM7SUFFRixPQUFPLENBQUMsUUFBZ0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxtQkFBbUIsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFO1FBQ3ZDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztZQUN0QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtZQUN6QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsTUFBTSxFQUFFLE1BQU07WUFDZCxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQzt1R0FuQ1Msc0JBQXNCOzJGQUF0QixzQkFBc0IsOFFDeERuQyxpckJBZ0JBLHNYRG9DWSxZQUFZLGtJQUFFLGlCQUFpQjs7MkZBSTlCLHNCQUFzQjtrQkFQbEMsU0FBUzsrQkFDRSw4QkFBOEIsY0FDNUIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGlCQUFpQixDQUFDOzhCQUtqQyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lTW9kdWxlIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2FuZ3VsYXItZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHtcbiAgZmFNaWNyb3Bob25lLFxuICBmYURlc2t0b3AsXG4gIGZhVmlkZW8sXG4gIGZhQ29tbWVudHMsXG4gIGZhQ2hlY2ssXG4gIGZhVGltZXMsXG4gIEljb25EZWZpbml0aW9uLFxufSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgUmVzcG9uZFRvUmVxdWVzdHNUeXBlLCBSZXNwb25kVG9SZXF1ZXN0c09wdGlvbnMsIFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9AdHlwZXMvdHlwZXMnO1xuaW1wb3J0IHsgU29ja2V0IH0gZnJvbSAnc29ja2V0LmlvLWNsaWVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVuZGVyUmVxdWVzdENvbXBvbmVudE9wdGlvbnMge1xuICByZXF1ZXN0OiBSZXF1ZXN0O1xuICBvblJlcXVlc3RJdGVtUHJlc3M6IFJlc3BvbmRUb1JlcXVlc3RzVHlwZTtcbiAgcmVxdWVzdExpc3Q6IFJlcXVlc3RbXTtcbiAgdXBkYXRlUmVxdWVzdExpc3Q6IChuZXdSZXF1ZXN0TGlzdDogUmVxdWVzdFtdKSA9PiB2b2lkO1xuICByb29tTmFtZTogc3RyaW5nO1xuICBzb2NrZXQ6IFNvY2tldDtcbn1cblxuZXhwb3J0IHR5cGUgUmVuZGVyUmVxdWVzdENvbXBvbmVudFR5cGUgPSAob3B0aW9uczogUmVuZGVyUmVxdWVzdENvbXBvbmVudE9wdGlvbnMpID0+IEhUTUxFbGVtZW50O1xuXG4vKipcbiAqIEBjb21wb25lbnQgUmVuZGVyUmVxdWVzdENvbXBvbmVudFxuICogQGRlc2NyaXB0aW9uIENvbXBvbmVudCB0byByZW5kZXIgYW5kIG1hbmFnZSBpbmRpdmlkdWFsIHJlcXVlc3RzIGluIGEgbGlzdC4gRWFjaCByZXF1ZXN0IGNhbiBiZSByZXNwb25kZWQgdG8gd2l0aCBzcGVjaWZpZWQgYWN0aW9ucyAoZS5nLiwgYXBwcm92ZSwgZGVueSkuXG4gKlxuICogQHNlbGVjdG9yIGFwcC1yZW5kZXItcmVxdWVzdC1jb21wb25lbnRcbiAqIEBzdGFuZGFsb25lIHRydWVcbiAqIEBpbXBvcnRzIFtDb21tb25Nb2R1bGUsIEZvbnRBd2Vzb21lTW9kdWxlXVxuICogQHRlbXBsYXRlVXJsIC4vcmVuZGVyLXJlcXVlc3QtY29tcG9uZW50LmNvbXBvbmVudC5odG1sXG4gKiBAc3R5bGVVcmxzIC4vcmVuZGVyLXJlcXVlc3QtY29tcG9uZW50LmNvbXBvbmVudC5jc3NcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPGFwcC1yZW5kZXItcmVxdWVzdC1jb21wb25lbnRcbiAqICAgW3JlcXVlc3RdPVwicmVxdWVzdFwiXG4gKiAgIFtyZXF1ZXN0TGlzdF09XCJyZXF1ZXN0TGlzdFwiXG4gKiAgIFtyb29tTmFtZV09XCJyb29tTmFtZVwiXG4gKiAgIFtzb2NrZXRdPVwic29ja2V0XCJcbiAqICAgW29uUmVxdWVzdEl0ZW1QcmVzc109XCJoYW5kbGVSZXF1ZXN0UHJlc3NcIlxuICogICBbdXBkYXRlUmVxdWVzdExpc3RdPVwidXBkYXRlUmVxdWVzdExpc3RcIj5cbiAqIDwvYXBwLXJlbmRlci1yZXF1ZXN0LWNvbXBvbmVudD5cbiAqIGBgYFxuICovXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1yZW5kZXItcmVxdWVzdC1jb21wb25lbnQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb250QXdlc29tZU1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9yZW5kZXItcmVxdWVzdC1jb21wb25lbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZW5kZXItcmVxdWVzdC1jb21wb25lbnQuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBSZW5kZXJSZXF1ZXN0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgcmVxdWVzdDogUmVxdWVzdCA9IHt9IGFzIFJlcXVlc3Q7XG4gIEBJbnB1dCgpIHJlcXVlc3RMaXN0OiBSZXF1ZXN0W10gPSBbXTtcbiAgQElucHV0KCkgcm9vbU5hbWUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNvY2tldDogU29ja2V0ID0ge30gYXMgU29ja2V0O1xuICBASW5wdXQoKSBvblJlcXVlc3RJdGVtUHJlc3MhOiAob3B0aW9uczogUmVzcG9uZFRvUmVxdWVzdHNPcHRpb25zKSA9PiB2b2lkO1xuICBASW5wdXQoKSB1cGRhdGVSZXF1ZXN0TGlzdCE6IChuZXdSZXF1ZXN0TGlzdDogUmVxdWVzdFtdKSA9PiB2b2lkO1xuXG4gIGZhTWljcm9waG9uZSA9IGZhTWljcm9waG9uZTtcbiAgZmFEZXNrdG9wID0gZmFEZXNrdG9wO1xuICBmYVZpZGVvID0gZmFWaWRlbztcbiAgZmFDb21tZW50cyA9IGZhQ29tbWVudHM7XG4gIGZhQ2hlY2sgPSBmYUNoZWNrO1xuICBmYVRpbWVzID0gZmFUaW1lcztcblxuICBrZXlNYXA6IHsgW2tleTogc3RyaW5nXTogSWNvbkRlZmluaXRpb24gfSA9IHtcbiAgICAnZmEtbWljcm9waG9uZSc6IHRoaXMuZmFNaWNyb3Bob25lLFxuICAgICdmYS1kZXNrdG9wJzogdGhpcy5mYURlc2t0b3AsXG4gICAgJ2ZhLXZpZGVvJzogdGhpcy5mYVZpZGVvLFxuICAgICdmYS1jb21tZW50cyc6IHRoaXMuZmFDb21tZW50cyxcbiAgfTtcblxuICBnZXRJY29uKGljb25OYW1lOiBzdHJpbmcpOiBJY29uRGVmaW5pdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMua2V5TWFwW2ljb25OYW1lXTtcbiAgfVxuXG4gIGhhbmRsZVJlcXVlc3RBY3Rpb24gPSAoYWN0aW9uOiBzdHJpbmcpID0+IHtcbiAgICB0aGlzLm9uUmVxdWVzdEl0ZW1QcmVzcyh7XG4gICAgICByZXF1ZXN0OiB0aGlzLnJlcXVlc3QsXG4gICAgICB1cGRhdGVSZXF1ZXN0TGlzdDogdGhpcy51cGRhdGVSZXF1ZXN0TGlzdCxcbiAgICAgIHJlcXVlc3RMaXN0OiB0aGlzLnJlcXVlc3RMaXN0LFxuICAgICAgYWN0aW9uOiBhY3Rpb24sXG4gICAgICByb29tTmFtZTogdGhpcy5yb29tTmFtZSxcbiAgICAgIHNvY2tldDogdGhpcy5zb2NrZXQsXG4gICAgfSk7XG4gIH07XG59XG4iLCI8ZGl2IGNsYXNzPVwicmVxdWVzdC1jb250YWluZXJcIiAqbmdJZj1cInJlcXVlc3RcIj5cclxuICA8ZGl2IGNsYXNzPVwicmVxdWVzdC1uYW1lXCI+e3sgcmVxdWVzdC5uYW1lIH19PC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInJlcXVlc3QtaWNvblwiPlxyXG4gICAgPGZhLWljb24gW2ljb25dPVwiZ2V0SWNvbihyZXF1ZXN0Lmljb24pXCIgc2l6ZT1cImxnXCIgY29sb3I9XCJibGFja1wiPjwvZmEtaWNvbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwicmVxdWVzdC1hY3Rpb24gYWNjZXB0XCI+XHJcbiAgICA8YnV0dG9uIChjbGljayk9XCJoYW5kbGVSZXF1ZXN0QWN0aW9uKCdhY2NlcHRlZCcpXCI+XHJcbiAgICAgIDxmYS1pY29uIFtpY29uXT1cImZhQ2hlY2tcIiBzaXplPVwibGdcIiBzdHlsZT1cImNvbG9yOiBncmVlbjtcIj48L2ZhLWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwicmVxdWVzdC1hY3Rpb24gcmVqZWN0XCI+XHJcbiAgICA8YnV0dG9uIChjbGljayk9XCJoYW5kbGVSZXF1ZXN0QWN0aW9uKCdyZWplY3RlZCcpXCI+XHJcbiAgICAgIDxmYS1pY29uIFtpY29uXT1cImZhVGltZXNcIiBzaXplPVwibGdcIiBzdHlsZT1cImNvbG9yOiByZWQ7XCI+PC9mYS1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -46,6 +46,23 @@ import * as i3 from "@fortawesome/angular-fontawesome";
46
46
  * @method handleModalClose - Handles the modal close action.
47
47
  * @method handleFilterChange - Handles the filter change event.
48
48
  * @param {Event} event - The filter change event.
49
+ * @example
50
+ * ```html
51
+ * <app-requests-modal
52
+ * [isRequestsModalVisible]="isModalVisible"
53
+ * [requestCounter]="requestCounter"
54
+ * [requestList]="requests"
55
+ * [roomName]="roomName"
56
+ * [socket]="socket"
57
+ * [backgroundColor]="'#83c0e9'"
58
+ * [position]="'topRight'"
59
+ * [parameters]="requestParams"
60
+ * (onRequestClose)="handleModalClose()"
61
+ * (onRequestFilterChange)="handleFilterChange($event)"
62
+ * (onRequestItemPress)="handleRequestPress($event)"
63
+ * [updateRequestList]="updateRequestList">
64
+ * </app-requests-modal>
65
+ * ```
49
66
  */
50
67
  export class RequestsModal {
51
68
  respondToRequestsService;
@@ -127,4 +144,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
127
144
  }], updateRequestList: [{
128
145
  type: Input
129
146
  }] } });
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdHMtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWFzZnUtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvcmVxdWVzdHMtY29tcG9uZW50cy9yZXF1ZXN0cy1tb2RhbC9yZXF1ZXN0cy1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9yZXF1ZXN0cy1jb21wb25lbnRzL3JlcXVlc3RzLW1vZGFsL3JlcXVlc3RzLW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzVELE9BQU8sRUFDTCxzQkFBc0IsR0FFdkIsTUFBTSxnRUFBZ0UsQ0FBQzs7Ozs7QUE4QnhFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Q0c7QUFRSCxNQUFNLE9BQU8sYUFBYTtJQW1CSjtJQWxCWCxzQkFBc0IsR0FBRyxLQUFLLENBQUM7SUFDL0IsY0FBYyxHQUFHLENBQUMsQ0FBQztJQUNuQixXQUFXLEdBQWMsRUFBRSxDQUFDO0lBQzVCLFFBQVEsQ0FBVTtJQUNsQixNQUFNLEdBQVcsRUFBWSxDQUFDO0lBQzlCLGVBQWUsR0FBRyxTQUFTLENBQUM7SUFDNUIsUUFBUSxHQUFHLFVBQVUsQ0FBQztJQUN0QixVQUFVLENBQU07SUFDaEIsY0FBYyxDQUFjO0lBQzVCLHFCQUFxQixDQUE0QjtJQUNqRCxrQkFBa0IsQ0FBeUI7SUFDM0MsaUJBQWlCLENBQW1DO0lBRTdELE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDbEIsYUFBYSxHQUFVLEVBQUUsQ0FBQztJQUMxQixnQkFBZ0IsR0FBRyxDQUFDLENBQUM7SUFDckIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUVqQixZQUFvQix3QkFBMkM7UUFBM0MsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUFtQjtJQUFHLENBQUM7SUFFbkUsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUN4QyxJQUFJLENBQUMsd0JBQXdCLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUQsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7WUFDL0UsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLENBQUM7UUFFRCxJQUFJLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ3JFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ3hELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN4QixDQUFDO0lBQ0gsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUN4RCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLElBQUksRUFBRSxDQUFDO1FBQy9ELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQztJQUNyRSxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFZO1FBQzdCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUEwQixDQUFDO1FBQy9DLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDeEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDakMsQ0FBQzt1R0F0RFUsYUFBYTsyRkFBYixhQUFhLCtmQ3BGMUIscTlDQTRCQSxnMkJEb0RZLFlBQVksb1ZBQUUsaUJBQWlCLDZQQUFFLHNCQUFzQjs7MkZBSXRELGFBQWE7a0JBUHpCLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxzQkFBc0IsQ0FBQztzRkFLekQsc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb250QXdlc29tZU1vZHVsZSB9IGZyb20gJ0Bmb3J0YXdlc29tZS9hbmd1bGFyLWZvbnRhd2Vzb21lJztcbmltcG9ydCB7IGZhVGltZXMgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHtcbiAgUmVuZGVyUmVxdWVzdENvbXBvbmVudCxcbiAgUmVuZGVyUmVxdWVzdENvbXBvbmVudE9wdGlvbnMsXG59IGZyb20gJy4uL3JlbmRlci1yZXF1ZXN0LWNvbXBvbmVudC9yZW5kZXItcmVxdWVzdC1jb21wb25lbnQuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIFJlc3BvbmRUb1JlcXVlc3RzLFxuICBSZXNwb25kVG9SZXF1ZXN0c1R5cGUsXG59IGZyb20gJy4uLy4uLy4uL21ldGhvZHMvcmVxdWVzdHMtbWV0aG9kcy9yZXNwb25kLXRvLXJlcXVlc3RzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU29ja2V0IH0gZnJvbSAnc29ja2V0LmlvLWNsaWVudCc7XG5pbXBvcnQgeyBSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vQHR5cGVzL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0c01vZGFsUGFyYW1ldGVycyB7XG4gIGdldFVwZGF0ZWRBbGxQYXJhbXM6ICgpID0+IHsgZmlsdGVyZWRSZXF1ZXN0TGlzdDogUmVxdWVzdFtdIH07XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0c01vZGFsT3B0aW9ucyB7XG4gIGlzUmVxdWVzdHNNb2RhbFZpc2libGU6IGJvb2xlYW47XG4gIHJlcXVlc3RDb3VudGVyOiBudW1iZXI7XG4gIHJlcXVlc3RMaXN0OiBSZXF1ZXN0W107XG4gIHJvb21OYW1lOiBzdHJpbmc7XG4gIHNvY2tldDogU29ja2V0O1xuICBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcbiAgcG9zaXRpb246IHN0cmluZztcbiAgcGFyYW1ldGVyczogUmVxdWVzdHNNb2RhbFBhcmFtZXRlcnM7XG4gIG9uUmVxdWVzdENsb3NlOiAoKSA9PiB2b2lkO1xuICBvblJlcXVlc3RGaWx0ZXJDaGFuZ2U6IChmaWx0ZXI6IHN0cmluZykgPT4gdm9pZDtcbiAgb25SZXF1ZXN0SXRlbVByZXNzPzogUmVzcG9uZFRvUmVxdWVzdHNUeXBlO1xuICB1cGRhdGVSZXF1ZXN0TGlzdDogKG5ld1JlcXVlc3RMaXN0OiBhbnlbXSkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IHR5cGUgUmVxdWVzdHNNb2RhbFR5cGUgPSAob3B0aW9uczogUmVuZGVyUmVxdWVzdENvbXBvbmVudE9wdGlvbnMpID0+IEhUTUxFbGVtZW50O1xuXG4vKipcbiAqIEBjb21wb25lbnQgUmVxdWVzdHNNb2RhbFxuICogQGRlc2NyaXB0aW9uIEEgbW9kYWwgY29tcG9uZW50IHRvIGRpc3BsYXkgYW5kIG1hbmFnZSByZXF1ZXN0cy5cbiAqXG4gKiBAc2VsZWN0b3IgYXBwLXJlcXVlc3RzLW1vZGFsXG4gKiBAc3RhbmRhbG9uZSB0cnVlXG4gKiBAaW1wb3J0cyBbQ29tbW9uTW9kdWxlLCBGb250QXdlc29tZU1vZHVsZSwgUmVuZGVyUmVxdWVzdENvbXBvbmVudF1cbiAqIEB0ZW1wbGF0ZVVybCAuL3JlcXVlc3RzLW1vZGFsLmNvbXBvbmVudC5odG1sXG4gKiBAc3R5bGVVcmxzIC4vcmVxdWVzdHMtbW9kYWwuY29tcG9uZW50LmNzc1xuICpcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gaXNSZXF1ZXN0c01vZGFsVmlzaWJsZSAtIERldGVybWluZXMgaWYgdGhlIHJlcXVlc3RzIG1vZGFsIGlzIHZpc2libGUuXG4gKiBAcHJvcGVydHkge251bWJlcn0gcmVxdWVzdENvdW50ZXIgLSBDb3VudGVyIGZvciB0aGUgbnVtYmVyIG9mIHJlcXVlc3RzLlxuICogQHByb3BlcnR5IHtSZXF1ZXN0W119IHJlcXVlc3RMaXN0IC0gTGlzdCBvZiByZXF1ZXN0cy5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSByb29tTmFtZSAtIE5hbWUgb2YgdGhlIHJvb20uXG4gKiBAcHJvcGVydHkge1NvY2tldH0gc29ja2V0IC0gU29ja2V0IGluc3RhbmNlIGZvciBjb21tdW5pY2F0aW9uLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IGJhY2tncm91bmRDb2xvciAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG1vZGFsLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IHBvc2l0aW9uIC0gUG9zaXRpb24gb2YgdGhlIG1vZGFsLlxuICogQHByb3BlcnR5IHthbnl9IHBhcmFtZXRlcnMgLSBBZGRpdGlvbmFsIHBhcmFtZXRlcnMgZm9yIHRoZSBtb2RhbC5cbiAqIEBwcm9wZXJ0eSB7RnVuY3Rpb259IG9uUmVxdWVzdENsb3NlIC0gQ2FsbGJhY2sgZnVuY3Rpb24gd2hlbiB0aGUgbW9kYWwgaXMgY2xvc2VkLlxuICogQHByb3BlcnR5IHtGdW5jdGlvbn0gb25SZXF1ZXN0RmlsdGVyQ2hhbmdlIC0gQ2FsbGJhY2sgZnVuY3Rpb24gd2hlbiB0aGUgcmVxdWVzdCBmaWx0ZXIgY2hhbmdlcy5cbiAqIEBwcm9wZXJ0eSB7RnVuY3Rpb259IG9uUmVxdWVzdEl0ZW1QcmVzcyAtIENhbGxiYWNrIGZ1bmN0aW9uIHdoZW4gYSByZXF1ZXN0IGl0ZW0gaXMgcHJlc3NlZC5cbiAqIEBwcm9wZXJ0eSB7RnVuY3Rpb259IHVwZGF0ZVJlcXVlc3RMaXN0IC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSByZXF1ZXN0IGxpc3QuXG4gKlxuICogQHByb3BlcnR5IHtJY29uRGVmaW5pdGlvbn0gZmFUaW1lcyAtIEZvbnRBd2Vzb21lIGljb24gZm9yIGNsb3NpbmcgdGhlIG1vZGFsLlxuICogQHByb3BlcnR5IHthbnlbXX0gcmVxdWVzdExpc3RfcyAtIEZpbHRlcmVkIGxpc3Qgb2YgcmVxdWVzdHMuXG4gKiBAcHJvcGVydHkge251bWJlcn0gcmVxdWVzdENvdW50ZXJfcyAtIENvdW50ZXIgZm9yIHRoZSBmaWx0ZXJlZCBsaXN0IG9mIHJlcXVlc3RzLlxuICogQHByb3BlcnR5IHtib29sZWFufSByZVJlbmRlciAtIEZsYWcgdG8gdHJpZ2dlciByZS1yZW5kZXJpbmcuXG4gKlxuICogQGNvbnN0cnVjdG9yXG4gKiBAcGFyYW0ge1Jlc3BvbmRUb1JlcXVlc3RzfSByZXNwb25kVG9SZXF1ZXN0c1NlcnZpY2UgLSBTZXJ2aWNlIHRvIGhhbmRsZSByZXF1ZXN0IHJlc3BvbnNlcy5cbiAqXG4gKiBAbWV0aG9kIG5nT25Jbml0IC0gTGlmZWN5Y2xlIGhvb2sgdGhhdCBpcyBjYWxsZWQgYWZ0ZXIgZGF0YS1ib3VuZCBwcm9wZXJ0aWVzIGFyZSBpbml0aWFsaXplZC5cbiAqIEBtZXRob2QgbmdPbkNoYW5nZXMgLSBMaWZlY3ljbGUgaG9vayB0aGF0IGlzIGNhbGxlZCB3aGVuIGFueSBkYXRhLWJvdW5kIHByb3BlcnR5IGNoYW5nZXMuXG4gKiBAcGFyYW0ge1NpbXBsZUNoYW5nZXN9IGNoYW5nZXMgLSBPYmplY3Qgb2YgY3VycmVudCBhbmQgcHJldmlvdXMgcHJvcGVydHkgdmFsdWVzLlxuICpcbiAqIEBtZXRob2QgdXBkYXRlUmVxdWVzdHMgLSBVcGRhdGVzIHRoZSByZXF1ZXN0IGxpc3QgYW5kIGNvdW50ZXIgYmFzZWQgb24gdGhlIGN1cnJlbnQgcGFyYW1ldGVycy5cbiAqIEBtZXRob2QgaGFuZGxlTW9kYWxDbG9zZSAtIEhhbmRsZXMgdGhlIG1vZGFsIGNsb3NlIGFjdGlvbi5cbiAqIEBtZXRob2QgaGFuZGxlRmlsdGVyQ2hhbmdlIC0gSGFuZGxlcyB0aGUgZmlsdGVyIGNoYW5nZSBldmVudC5cbiAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50IC0gVGhlIGZpbHRlciBjaGFuZ2UgZXZlbnQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1yZXF1ZXN0cy1tb2RhbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvbnRBd2Vzb21lTW9kdWxlLCBSZW5kZXJSZXF1ZXN0Q29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcXVlc3RzLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVxdWVzdHMtbW9kYWwuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBSZXF1ZXN0c01vZGFsIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBpc1JlcXVlc3RzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJlcXVlc3RDb3VudGVyID0gMDtcbiAgQElucHV0KCkgcmVxdWVzdExpc3Q6IFJlcXVlc3RbXSA9IFtdO1xuICBASW5wdXQoKSByb29tTmFtZSE6IHN0cmluZztcbiAgQElucHV0KCkgc29ja2V0OiBTb2NrZXQgPSB7fSBhcyBTb2NrZXQ7XG4gIEBJbnB1dCgpIGJhY2tncm91bmRDb2xvciA9ICcjODNjMGU5JztcbiAgQElucHV0KCkgcG9zaXRpb24gPSAndG9wUmlnaHQnO1xuICBASW5wdXQoKSBwYXJhbWV0ZXJzOiBhbnk7XG4gIEBJbnB1dCgpIG9uUmVxdWVzdENsb3NlITogKCkgPT4gdm9pZDtcbiAgQElucHV0KCkgb25SZXF1ZXN0RmlsdGVyQ2hhbmdlITogKGZpbHRlcjogc3RyaW5nKSA9PiB2b2lkO1xuICBASW5wdXQoKSBvblJlcXVlc3RJdGVtUHJlc3MhOiAocGFyYW1zOiBhbnkpID0+IHZvaWQ7XG4gIEBJbnB1dCgpIHVwZGF0ZVJlcXVlc3RMaXN0ITogKG5ld1JlcXVlc3RMaXN0OiBhbnlbXSkgPT4gdm9pZDtcblxuICBmYVRpbWVzID0gZmFUaW1lcztcbiAgcmVxdWVzdExpc3RfczogYW55W10gPSBbXTtcbiAgcmVxdWVzdENvdW50ZXJfcyA9IDA7XG4gIHJlUmVuZGVyID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXNwb25kVG9SZXF1ZXN0c1NlcnZpY2U6IFJlc3BvbmRUb1JlcXVlc3RzKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICghdGhpcy5vblJlcXVlc3RJdGVtUHJlc3MpIHtcbiAgICAgIHRoaXMub25SZXF1ZXN0SXRlbVByZXNzID0gKHBhcmFtczogYW55KSA9PlxuICAgICAgICB0aGlzLnJlc3BvbmRUb1JlcXVlc3RzU2VydmljZS5yZXNwb25kVG9SZXF1ZXN0cyhwYXJhbXMpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1sncmVxdWVzdExpc3QnXSB8fCBjaGFuZ2VzWydyZVJlbmRlciddIHx8IGNoYW5nZXNbJ3JlcXVlc3RDb3VudGVyJ10pIHtcbiAgICAgIHRoaXMudXBkYXRlUmVxdWVzdHMoKTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlc1snaXNSZXF1ZXN0c01vZGFsVmlzaWJsZSddICYmIHRoaXMuaXNSZXF1ZXN0c01vZGFsVmlzaWJsZSkge1xuICAgICAgdGhpcy5wYXJhbWV0ZXJzID0gdGhpcy5wYXJhbWV0ZXJzLmdldFVwZGF0ZWRBbGxQYXJhbXMoKTtcbiAgICAgIHRoaXMudXBkYXRlUmVxdWVzdHMoKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVSZXF1ZXN0cygpIHtcbiAgICB0aGlzLnBhcmFtZXRlcnMgPSB0aGlzLnBhcmFtZXRlcnMuZ2V0VXBkYXRlZEFsbFBhcmFtcygpO1xuICAgIHRoaXMucmVxdWVzdExpc3RfcyA9IHRoaXMucGFyYW1ldGVycy5maWx0ZXJlZFJlcXVlc3RMaXN0IHx8IFtdO1xuICAgIHRoaXMucmVxdWVzdENvdW50ZXJfcyA9IHRoaXMucGFyYW1ldGVycy5maWx0ZXJlZFJlcXVlc3RMaXN0Lmxlbmd0aDtcbiAgfVxuXG4gIGhhbmRsZU1vZGFsQ2xvc2UoKSB7XG4gICAgdGhpcy5vblJlcXVlc3RDbG9zZSgpO1xuICB9XG5cbiAgaGFuZGxlRmlsdGVyQ2hhbmdlKGV2ZW50OiBFdmVudCkge1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgdGhpcy5vblJlcXVlc3RGaWx0ZXJDaGFuZ2UoaW5wdXQudmFsdWUpO1xuICAgIHRoaXMucGFyYW1ldGVycyA9IHRoaXMucGFyYW1ldGVycy5nZXRVcGRhdGVkQWxsUGFyYW1zKCk7XG4gICAgdGhpcy5yZVJlbmRlciA9ICF0aGlzLnJlUmVuZGVyO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiaXNSZXF1ZXN0c01vZGFsVmlzaWJsZVwiIGNsYXNzPVwibW9kYWwtY29udGFpbmVyXCIgW25nU3R5bGVdPVwieydiYWNrZ3JvdW5kLWNvbG9yJzogJ3JnYmEoMCwgMCwgMCwgMC41KSd9XCI+XHJcbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIiBbbmdTdHlsZV09XCJ7J2JhY2tncm91bmQtY29sb3InOiBiYWNrZ3JvdW5kQ29sb3IsICd0b3AnOiBwb3NpdGlvbi5pbmNsdWRlcygndG9wJykgPyAnMTBweCcgOiAnYXV0bycsICdib3R0b20nOiBwb3NpdGlvbi5pbmNsdWRlcygnYm90dG9tJykgPyAnMTBweCcgOiAnYXV0bycsICdsZWZ0JzogcG9zaXRpb24uaW5jbHVkZXMoJ0xlZnQnKSA/ICcxMHB4JyA6ICdhdXRvJywgJ3JpZ2h0JzogcG9zaXRpb24uaW5jbHVkZXMoJ1JpZ2h0JykgPyAnMTBweCcgOiAnYXV0byd9XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XHJcbiAgICAgIDxkaXY+XHJcbiAgICAgICAgUmVxdWVzdHMgPHNwYW4gY2xhc3M9XCJiYWRnZSB0ZXh0LWRhcmtcIj57eyByZXF1ZXN0Q291bnRlcl9zIH19PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNsb3NlLWljb25cIiAoY2xpY2spPVwiaGFuZGxlTW9kYWxDbG9zZSgpXCI+XHJcbiAgICAgICAgPGZhLWljb24gW2ljb25dPVwiZmFUaW1lc1wiIHNpemU9XCJsZ1wiPjwvZmEtaWNvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxociBjbGFzcz1cInNlcGFyYXRvclwiIC8+XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxyXG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZpbHRlci1pbnB1dFwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoIC4uLlwiIChpbnB1dCk9XCJoYW5kbGVGaWx0ZXJDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicmVxdWVzdC1saXN0XCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcmVxdWVzdEl0ZW0gb2YgcmVxdWVzdExpc3RfczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgPGFwcC1yZW5kZXItcmVxdWVzdC1jb21wb25lbnRcclxuICAgICAgICAgICAgW3JlcXVlc3RdPVwicmVxdWVzdEl0ZW1cIlxyXG4gICAgICAgICAgICBbcmVxdWVzdExpc3RdPVwicmVxdWVzdExpc3RcIlxyXG4gICAgICAgICAgICBbcm9vbU5hbWVdPVwicm9vbU5hbWVcIlxyXG4gICAgICAgICAgICBbc29ja2V0XT1cInNvY2tldFwiXHJcbiAgICAgICAgICAgIFtvblJlcXVlc3RJdGVtUHJlc3NdPVwib25SZXF1ZXN0SXRlbVByZXNzXCJcclxuICAgICAgICAgICAgW3VwZGF0ZVJlcXVlc3RMaXN0XT1cInVwZGF0ZVJlcXVlc3RMaXN0XCI+XHJcbiAgICAgICAgICA8L2FwcC1yZW5kZXItcmVxdWVzdC1jb21wb25lbnQ+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdHMtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWFzZnUtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvcmVxdWVzdHMtY29tcG9uZW50cy9yZXF1ZXN0cy1tb2RhbC9yZXF1ZXN0cy1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9yZXF1ZXN0cy1jb21wb25lbnRzL3JlcXVlc3RzLW1vZGFsL3JlcXVlc3RzLW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzVELE9BQU8sRUFDTCxzQkFBc0IsR0FFdkIsTUFBTSxnRUFBZ0UsQ0FBQzs7Ozs7QUE4QnhFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdERztBQVFILE1BQU0sT0FBTyxhQUFhO0lBbUJKO0lBbEJYLHNCQUFzQixHQUFHLEtBQUssQ0FBQztJQUMvQixjQUFjLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLFdBQVcsR0FBYyxFQUFFLENBQUM7SUFDNUIsUUFBUSxDQUFVO0lBQ2xCLE1BQU0sR0FBVyxFQUFZLENBQUM7SUFDOUIsZUFBZSxHQUFHLFNBQVMsQ0FBQztJQUM1QixRQUFRLEdBQUcsVUFBVSxDQUFDO0lBQ3RCLFVBQVUsQ0FBTTtJQUNoQixjQUFjLENBQWM7SUFDNUIscUJBQXFCLENBQTRCO0lBQ2pELGtCQUFrQixDQUF5QjtJQUMzQyxpQkFBaUIsQ0FBbUM7SUFFN0QsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUNsQixhQUFhLEdBQVUsRUFBRSxDQUFDO0lBQzFCLGdCQUFnQixHQUFHLENBQUMsQ0FBQztJQUNyQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBRWpCLFlBQW9CLHdCQUEyQztRQUEzQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQW1CO0lBQUcsQ0FBQztJQUVuRSxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQ3hDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1RCxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztZQUMvRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsQ0FBQztRQUVELElBQUksT0FBTyxDQUFDLHdCQUF3QixDQUFDLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDckUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDeEQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQ3hELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsSUFBSSxFQUFFLENBQUM7UUFDL0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDO0lBQ3JFLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQVk7UUFDN0IsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQTBCLENBQUM7UUFDL0MsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUN4RCxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNqQyxDQUFDO3VHQXREVSxhQUFhOzJGQUFiLGFBQWEsK2ZDckcxQixxOUNBNEJBLGcyQkRxRVksWUFBWSxvVkFBRSxpQkFBaUIsNlBBQUUsc0JBQXNCOzsyRkFJdEQsYUFBYTtrQkFQekIsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGlCQUFpQixFQUFFLHNCQUFzQixDQUFDO3NGQUt6RCxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lTW9kdWxlIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2FuZ3VsYXItZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgZmFUaW1lcyB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQge1xuICBSZW5kZXJSZXF1ZXN0Q29tcG9uZW50LFxuICBSZW5kZXJSZXF1ZXN0Q29tcG9uZW50T3B0aW9ucyxcbn0gZnJvbSAnLi4vcmVuZGVyLXJlcXVlc3QtY29tcG9uZW50L3JlbmRlci1yZXF1ZXN0LWNvbXBvbmVudC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgUmVzcG9uZFRvUmVxdWVzdHMsXG4gIFJlc3BvbmRUb1JlcXVlc3RzVHlwZSxcbn0gZnJvbSAnLi4vLi4vLi4vbWV0aG9kcy9yZXF1ZXN0cy1tZXRob2RzL3Jlc3BvbmQtdG8tcmVxdWVzdHMuc2VydmljZSc7XG5pbXBvcnQgeyBTb2NrZXQgfSBmcm9tICdzb2NrZXQuaW8tY2xpZW50JztcbmltcG9ydCB7IFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9AdHlwZXMvdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RzTW9kYWxQYXJhbWV0ZXJzIHtcbiAgZ2V0VXBkYXRlZEFsbFBhcmFtczogKCkgPT4geyBmaWx0ZXJlZFJlcXVlc3RMaXN0OiBSZXF1ZXN0W10gfTtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RzTW9kYWxPcHRpb25zIHtcbiAgaXNSZXF1ZXN0c01vZGFsVmlzaWJsZTogYm9vbGVhbjtcbiAgcmVxdWVzdENvdW50ZXI6IG51bWJlcjtcbiAgcmVxdWVzdExpc3Q6IFJlcXVlc3RbXTtcbiAgcm9vbU5hbWU6IHN0cmluZztcbiAgc29ja2V0OiBTb2NrZXQ7XG4gIGJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICBwb3NpdGlvbjogc3RyaW5nO1xuICBwYXJhbWV0ZXJzOiBSZXF1ZXN0c01vZGFsUGFyYW1ldGVycztcbiAgb25SZXF1ZXN0Q2xvc2U6ICgpID0+IHZvaWQ7XG4gIG9uUmVxdWVzdEZpbHRlckNoYW5nZTogKGZpbHRlcjogc3RyaW5nKSA9PiB2b2lkO1xuICBvblJlcXVlc3RJdGVtUHJlc3M/OiBSZXNwb25kVG9SZXF1ZXN0c1R5cGU7XG4gIHVwZGF0ZVJlcXVlc3RMaXN0OiAobmV3UmVxdWVzdExpc3Q6IGFueVtdKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgdHlwZSBSZXF1ZXN0c01vZGFsVHlwZSA9IChvcHRpb25zOiBSZW5kZXJSZXF1ZXN0Q29tcG9uZW50T3B0aW9ucykgPT4gSFRNTEVsZW1lbnQ7XG5cbi8qKlxuICogQGNvbXBvbmVudCBSZXF1ZXN0c01vZGFsXG4gKiBAZGVzY3JpcHRpb24gQSBtb2RhbCBjb21wb25lbnQgdG8gZGlzcGxheSBhbmQgbWFuYWdlIHJlcXVlc3RzLlxuICpcbiAqIEBzZWxlY3RvciBhcHAtcmVxdWVzdHMtbW9kYWxcbiAqIEBzdGFuZGFsb25lIHRydWVcbiAqIEBpbXBvcnRzIFtDb21tb25Nb2R1bGUsIEZvbnRBd2Vzb21lTW9kdWxlLCBSZW5kZXJSZXF1ZXN0Q29tcG9uZW50XVxuICogQHRlbXBsYXRlVXJsIC4vcmVxdWVzdHMtbW9kYWwuY29tcG9uZW50Lmh0bWxcbiAqIEBzdHlsZVVybHMgLi9yZXF1ZXN0cy1tb2RhbC5jb21wb25lbnQuY3NzXG4gKlxuICogQHByb3BlcnR5IHtib29sZWFufSBpc1JlcXVlc3RzTW9kYWxWaXNpYmxlIC0gRGV0ZXJtaW5lcyBpZiB0aGUgcmVxdWVzdHMgbW9kYWwgaXMgdmlzaWJsZS5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSByZXF1ZXN0Q291bnRlciAtIENvdW50ZXIgZm9yIHRoZSBudW1iZXIgb2YgcmVxdWVzdHMuXG4gKiBAcHJvcGVydHkge1JlcXVlc3RbXX0gcmVxdWVzdExpc3QgLSBMaXN0IG9mIHJlcXVlc3RzLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IHJvb21OYW1lIC0gTmFtZSBvZiB0aGUgcm9vbS5cbiAqIEBwcm9wZXJ0eSB7U29ja2V0fSBzb2NrZXQgLSBTb2NrZXQgaW5zdGFuY2UgZm9yIGNvbW11bmljYXRpb24uXG4gKiBAcHJvcGVydHkge3N0cmluZ30gYmFja2dyb3VuZENvbG9yIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgbW9kYWwuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gcG9zaXRpb24gLSBQb3NpdGlvbiBvZiB0aGUgbW9kYWwuXG4gKiBAcHJvcGVydHkge2FueX0gcGFyYW1ldGVycyAtIEFkZGl0aW9uYWwgcGFyYW1ldGVycyBmb3IgdGhlIG1vZGFsLlxuICogQHByb3BlcnR5IHtGdW5jdGlvbn0gb25SZXF1ZXN0Q2xvc2UgLSBDYWxsYmFjayBmdW5jdGlvbiB3aGVuIHRoZSBtb2RhbCBpcyBjbG9zZWQuXG4gKiBAcHJvcGVydHkge0Z1bmN0aW9ufSBvblJlcXVlc3RGaWx0ZXJDaGFuZ2UgLSBDYWxsYmFjayBmdW5jdGlvbiB3aGVuIHRoZSByZXF1ZXN0IGZpbHRlciBjaGFuZ2VzLlxuICogQHByb3BlcnR5IHtGdW5jdGlvbn0gb25SZXF1ZXN0SXRlbVByZXNzIC0gQ2FsbGJhY2sgZnVuY3Rpb24gd2hlbiBhIHJlcXVlc3QgaXRlbSBpcyBwcmVzc2VkLlxuICogQHByb3BlcnR5IHtGdW5jdGlvbn0gdXBkYXRlUmVxdWVzdExpc3QgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHJlcXVlc3QgbGlzdC5cbiAqXG4gKiBAcHJvcGVydHkge0ljb25EZWZpbml0aW9ufSBmYVRpbWVzIC0gRm9udEF3ZXNvbWUgaWNvbiBmb3IgY2xvc2luZyB0aGUgbW9kYWwuXG4gKiBAcHJvcGVydHkge2FueVtdfSByZXF1ZXN0TGlzdF9zIC0gRmlsdGVyZWQgbGlzdCBvZiByZXF1ZXN0cy5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSByZXF1ZXN0Q291bnRlcl9zIC0gQ291bnRlciBmb3IgdGhlIGZpbHRlcmVkIGxpc3Qgb2YgcmVxdWVzdHMuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IHJlUmVuZGVyIC0gRmxhZyB0byB0cmlnZ2VyIHJlLXJlbmRlcmluZy5cbiAqXG4gKiBAY29uc3RydWN0b3JcbiAqIEBwYXJhbSB7UmVzcG9uZFRvUmVxdWVzdHN9IHJlc3BvbmRUb1JlcXVlc3RzU2VydmljZSAtIFNlcnZpY2UgdG8gaGFuZGxlIHJlcXVlc3QgcmVzcG9uc2VzLlxuICpcbiAqIEBtZXRob2QgbmdPbkluaXQgLSBMaWZlY3ljbGUgaG9vayB0aGF0IGlzIGNhbGxlZCBhZnRlciBkYXRhLWJvdW5kIHByb3BlcnRpZXMgYXJlIGluaXRpYWxpemVkLlxuICogQG1ldGhvZCBuZ09uQ2hhbmdlcyAtIExpZmVjeWNsZSBob29rIHRoYXQgaXMgY2FsbGVkIHdoZW4gYW55IGRhdGEtYm91bmQgcHJvcGVydHkgY2hhbmdlcy5cbiAqIEBwYXJhbSB7U2ltcGxlQ2hhbmdlc30gY2hhbmdlcyAtIE9iamVjdCBvZiBjdXJyZW50IGFuZCBwcmV2aW91cyBwcm9wZXJ0eSB2YWx1ZXMuXG4gKlxuICogQG1ldGhvZCB1cGRhdGVSZXF1ZXN0cyAtIFVwZGF0ZXMgdGhlIHJlcXVlc3QgbGlzdCBhbmQgY291bnRlciBiYXNlZCBvbiB0aGUgY3VycmVudCBwYXJhbWV0ZXJzLlxuICogQG1ldGhvZCBoYW5kbGVNb2RhbENsb3NlIC0gSGFuZGxlcyB0aGUgbW9kYWwgY2xvc2UgYWN0aW9uLlxuICogQG1ldGhvZCBoYW5kbGVGaWx0ZXJDaGFuZ2UgLSBIYW5kbGVzIHRoZSBmaWx0ZXIgY2hhbmdlIGV2ZW50LlxuICogQHBhcmFtIHtFdmVudH0gZXZlbnQgLSBUaGUgZmlsdGVyIGNoYW5nZSBldmVudC5cbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8YXBwLXJlcXVlc3RzLW1vZGFsXG4gKiAgIFtpc1JlcXVlc3RzTW9kYWxWaXNpYmxlXT1cImlzTW9kYWxWaXNpYmxlXCJcbiAqICAgW3JlcXVlc3RDb3VudGVyXT1cInJlcXVlc3RDb3VudGVyXCJcbiAqICAgW3JlcXVlc3RMaXN0XT1cInJlcXVlc3RzXCJcbiAqICAgW3Jvb21OYW1lXT1cInJvb21OYW1lXCJcbiAqICAgW3NvY2tldF09XCJzb2NrZXRcIlxuICogICBbYmFja2dyb3VuZENvbG9yXT1cIicjODNjMGU5J1wiXG4gKiAgIFtwb3NpdGlvbl09XCIndG9wUmlnaHQnXCJcbiAqICAgW3BhcmFtZXRlcnNdPVwicmVxdWVzdFBhcmFtc1wiXG4gKiAgIChvblJlcXVlc3RDbG9zZSk9XCJoYW5kbGVNb2RhbENsb3NlKClcIlxuICogICAob25SZXF1ZXN0RmlsdGVyQ2hhbmdlKT1cImhhbmRsZUZpbHRlckNoYW5nZSgkZXZlbnQpXCJcbiAqICAgKG9uUmVxdWVzdEl0ZW1QcmVzcyk9XCJoYW5kbGVSZXF1ZXN0UHJlc3MoJGV2ZW50KVwiXG4gKiAgIFt1cGRhdGVSZXF1ZXN0TGlzdF09XCJ1cGRhdGVSZXF1ZXN0TGlzdFwiPlxuICogPC9hcHAtcmVxdWVzdHMtbW9kYWw+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXJlcXVlc3RzLW1vZGFsJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9udEF3ZXNvbWVNb2R1bGUsIFJlbmRlclJlcXVlc3RDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVxdWVzdHMtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZXF1ZXN0cy1tb2RhbC5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFJlcXVlc3RzTW9kYWwgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGlzUmVxdWVzdHNNb2RhbFZpc2libGUgPSBmYWxzZTtcbiAgQElucHV0KCkgcmVxdWVzdENvdW50ZXIgPSAwO1xuICBASW5wdXQoKSByZXF1ZXN0TGlzdDogUmVxdWVzdFtdID0gW107XG4gIEBJbnB1dCgpIHJvb21OYW1lITogc3RyaW5nO1xuICBASW5wdXQoKSBzb2NrZXQ6IFNvY2tldCA9IHt9IGFzIFNvY2tldDtcbiAgQElucHV0KCkgYmFja2dyb3VuZENvbG9yID0gJyM4M2MwZTknO1xuICBASW5wdXQoKSBwb3NpdGlvbiA9ICd0b3BSaWdodCc7XG4gIEBJbnB1dCgpIHBhcmFtZXRlcnM6IGFueTtcbiAgQElucHV0KCkgb25SZXF1ZXN0Q2xvc2UhOiAoKSA9PiB2b2lkO1xuICBASW5wdXQoKSBvblJlcXVlc3RGaWx0ZXJDaGFuZ2UhOiAoZmlsdGVyOiBzdHJpbmcpID0+IHZvaWQ7XG4gIEBJbnB1dCgpIG9uUmVxdWVzdEl0ZW1QcmVzcyE6IChwYXJhbXM6IGFueSkgPT4gdm9pZDtcbiAgQElucHV0KCkgdXBkYXRlUmVxdWVzdExpc3QhOiAobmV3UmVxdWVzdExpc3Q6IGFueVtdKSA9PiB2b2lkO1xuXG4gIGZhVGltZXMgPSBmYVRpbWVzO1xuICByZXF1ZXN0TGlzdF9zOiBhbnlbXSA9IFtdO1xuICByZXF1ZXN0Q291bnRlcl9zID0gMDtcbiAgcmVSZW5kZXIgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc3BvbmRUb1JlcXVlc3RzU2VydmljZTogUmVzcG9uZFRvUmVxdWVzdHMpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKCF0aGlzLm9uUmVxdWVzdEl0ZW1QcmVzcykge1xuICAgICAgdGhpcy5vblJlcXVlc3RJdGVtUHJlc3MgPSAocGFyYW1zOiBhbnkpID0+XG4gICAgICAgIHRoaXMucmVzcG9uZFRvUmVxdWVzdHNTZXJ2aWNlLnJlc3BvbmRUb1JlcXVlc3RzKHBhcmFtcyk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydyZXF1ZXN0TGlzdCddIHx8IGNoYW5nZXNbJ3JlUmVuZGVyJ10gfHwgY2hhbmdlc1sncmVxdWVzdENvdW50ZXInXSkge1xuICAgICAgdGhpcy51cGRhdGVSZXF1ZXN0cygpO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzWydpc1JlcXVlc3RzTW9kYWxWaXNpYmxlJ10gJiYgdGhpcy5pc1JlcXVlc3RzTW9kYWxWaXNpYmxlKSB7XG4gICAgICB0aGlzLnBhcmFtZXRlcnMgPSB0aGlzLnBhcmFtZXRlcnMuZ2V0VXBkYXRlZEFsbFBhcmFtcygpO1xuICAgICAgdGhpcy51cGRhdGVSZXF1ZXN0cygpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVJlcXVlc3RzKCkge1xuICAgIHRoaXMucGFyYW1ldGVycyA9IHRoaXMucGFyYW1ldGVycy5nZXRVcGRhdGVkQWxsUGFyYW1zKCk7XG4gICAgdGhpcy5yZXF1ZXN0TGlzdF9zID0gdGhpcy5wYXJhbWV0ZXJzLmZpbHRlcmVkUmVxdWVzdExpc3QgfHwgW107XG4gICAgdGhpcy5yZXF1ZXN0Q291bnRlcl9zID0gdGhpcy5wYXJhbWV0ZXJzLmZpbHRlcmVkUmVxdWVzdExpc3QubGVuZ3RoO1xuICB9XG5cbiAgaGFuZGxlTW9kYWxDbG9zZSgpIHtcbiAgICB0aGlzLm9uUmVxdWVzdENsb3NlKCk7XG4gIH1cblxuICBoYW5kbGVGaWx0ZXJDaGFuZ2UoZXZlbnQ6IEV2ZW50KSB7XG4gICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICB0aGlzLm9uUmVxdWVzdEZpbHRlckNoYW5nZShpbnB1dC52YWx1ZSk7XG4gICAgdGhpcy5wYXJhbWV0ZXJzID0gdGhpcy5wYXJhbWV0ZXJzLmdldFVwZGF0ZWRBbGxQYXJhbXMoKTtcbiAgICB0aGlzLnJlUmVuZGVyID0gIXRoaXMucmVSZW5kZXI7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJpc1JlcXVlc3RzTW9kYWxWaXNpYmxlXCIgY2xhc3M9XCJtb2RhbC1jb250YWluZXJcIiBbbmdTdHlsZV09XCJ7J2JhY2tncm91bmQtY29sb3InOiAncmdiYSgwLCAwLCAwLCAwLjUpJ31cIj5cclxuICA8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiIFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZC1jb2xvcic6IGJhY2tncm91bmRDb2xvciwgJ3RvcCc6IHBvc2l0aW9uLmluY2x1ZGVzKCd0b3AnKSA/ICcxMHB4JyA6ICdhdXRvJywgJ2JvdHRvbSc6IHBvc2l0aW9uLmluY2x1ZGVzKCdib3R0b20nKSA/ICcxMHB4JyA6ICdhdXRvJywgJ2xlZnQnOiBwb3NpdGlvbi5pbmNsdWRlcygnTGVmdCcpID8gJzEwcHgnIDogJ2F1dG8nLCAncmlnaHQnOiBwb3NpdGlvbi5pbmNsdWRlcygnUmlnaHQnKSA/ICcxMHB4JyA6ICdhdXRvJ31cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cclxuICAgICAgPGRpdj5cclxuICAgICAgICBSZXF1ZXN0cyA8c3BhbiBjbGFzcz1cImJhZGdlIHRleHQtZGFya1wiPnt7IHJlcXVlc3RDb3VudGVyX3MgfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2xvc2UtaWNvblwiIChjbGljayk9XCJoYW5kbGVNb2RhbENsb3NlKClcIj5cclxuICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJmYVRpbWVzXCIgc2l6ZT1cImxnXCI+PC9mYS1pY29uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGhyIGNsYXNzPVwic2VwYXJhdG9yXCIgLz5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XHJcbiAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZmlsdGVyLWlucHV0XCIgcGxhY2Vob2xkZXI9XCJTZWFyY2ggLi4uXCIgKGlucHV0KT1cImhhbmRsZUZpbHRlckNoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyZXF1ZXN0LWxpc3RcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByZXF1ZXN0SXRlbSBvZiByZXF1ZXN0TGlzdF9zOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICA8YXBwLXJlbmRlci1yZXF1ZXN0LWNvbXBvbmVudFxyXG4gICAgICAgICAgICBbcmVxdWVzdF09XCJyZXF1ZXN0SXRlbVwiXHJcbiAgICAgICAgICAgIFtyZXF1ZXN0TGlzdF09XCJyZXF1ZXN0TGlzdFwiXHJcbiAgICAgICAgICAgIFtyb29tTmFtZV09XCJyb29tTmFtZVwiXHJcbiAgICAgICAgICAgIFtzb2NrZXRdPVwic29ja2V0XCJcclxuICAgICAgICAgICAgW29uUmVxdWVzdEl0ZW1QcmVzc109XCJvblJlcXVlc3RJdGVtUHJlc3NcIlxyXG4gICAgICAgICAgICBbdXBkYXRlUmVxdWVzdExpc3RdPVwidXBkYXRlUmVxdWVzdExpc3RcIj5cclxuICAgICAgICAgIDwvYXBwLXJlbmRlci1yZXF1ZXN0LWNvbXBvbmVudD5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==