monkey-style-guide 2.0.108 → 2.0.112

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 (244) hide show
  1. package/assets/scss/partials/_breakpoints.scss +35 -35
  2. package/assets/scss/partials/components/_badge.scss +55 -55
  3. package/assets/scss/partials/components/_expansion.scss +91 -91
  4. package/assets/scss/partials/components/_modal.scss +282 -282
  5. package/assets/scss/partials/components/_tab.scss +82 -82
  6. package/assets/scss/partials/components/_toggle.scss +103 -103
  7. package/{esm2015/lib/components/badge/badge.component.js → esm2020/lib/components/badge/badge.component.mjs} +4 -4
  8. package/{esm2015/lib/components/badge/badge.module.js → esm2020/lib/components/badge/badge.module.mjs} +5 -5
  9. package/{esm2015/lib/components/badge/index.js → esm2020/lib/components/badge/index.mjs} +1 -1
  10. package/{esm2015/lib/components/button/button-avatar.component.js → esm2020/lib/components/button/button-avatar.component.mjs} +5 -5
  11. package/{esm2015/lib/components/button/button-dropdown.component.js → esm2020/lib/components/button/button-dropdown.component.mjs} +4 -4
  12. package/{esm2015/lib/components/button/button.component.js → esm2020/lib/components/button/button.component.mjs} +4 -4
  13. package/{esm2015/lib/components/button/button.module.js → esm2020/lib/components/button/button.module.mjs} +5 -5
  14. package/{esm2015/lib/components/button/index.js → esm2020/lib/components/button/index.mjs} +0 -0
  15. package/{esm2015/lib/components/checkbox/checkbox.component.js → esm2020/lib/components/checkbox/checkbox.component.mjs} +6 -6
  16. package/{esm2015/lib/components/checkbox/checkbox.module.js → esm2020/lib/components/checkbox/checkbox.module.mjs} +5 -5
  17. package/{esm2015/lib/components/checkbox/index.js → esm2020/lib/components/checkbox/index.mjs} +0 -0
  18. package/esm2020/lib/components/date-range-picker/date-range-picker.component.mjs +569 -0
  19. package/{esm2015/lib/components/date-range-picker/date-range-picker.module.js → esm2020/lib/components/date-range-picker/date-range-picker.module.mjs} +5 -5
  20. package/{esm2015/lib/components/date-range-picker/index.js → esm2020/lib/components/date-range-picker/index.mjs} +0 -0
  21. package/{esm2015/lib/components/expansion/expansion.component.js → esm2020/lib/components/expansion/expansion.component.mjs} +71 -71
  22. package/{esm2015/lib/components/expansion/expansion.module.js → esm2020/lib/components/expansion/expansion.module.mjs} +5 -5
  23. package/{esm2015/lib/components/expansion/index.js → esm2020/lib/components/expansion/index.mjs} +1 -1
  24. package/{esm2015/lib/components/file-upload/file-upload.component.js → esm2020/lib/components/file-upload/file-upload.component.mjs} +6 -6
  25. package/{esm2015/lib/components/file-upload/file-upload.module.js → esm2020/lib/components/file-upload/file-upload.module.mjs} +5 -5
  26. package/{esm2015/lib/components/file-upload/index.js → esm2020/lib/components/file-upload/index.mjs} +0 -0
  27. package/esm2020/lib/components/icon/icon-arrow-down.component.mjs +15 -0
  28. package/esm2020/lib/components/icon/icon-arrow-left.component.mjs +15 -0
  29. package/esm2020/lib/components/icon/icon-arrow-right.component.mjs +15 -0
  30. package/esm2020/lib/components/icon/icon-arrow-up.component.mjs +15 -0
  31. package/esm2020/lib/components/icon/icon-bank.component.mjs +15 -0
  32. package/esm2020/lib/components/icon/icon-bell.component.mjs +15 -0
  33. package/esm2020/lib/components/icon/icon-book.component.mjs +15 -0
  34. package/esm2020/lib/components/icon/icon-box.component.mjs +15 -0
  35. package/esm2020/lib/components/icon/icon-calendar.component.mjs +15 -0
  36. package/esm2020/lib/components/icon/icon-camera.component.mjs +15 -0
  37. package/esm2020/lib/components/icon/icon-chat.component.mjs +15 -0
  38. package/esm2020/lib/components/icon/icon-check-circle-out.component.mjs +15 -0
  39. package/esm2020/lib/components/icon/icon-check-circle.component.mjs +15 -0
  40. package/esm2020/lib/components/icon/icon-check-grey.component.mjs +15 -0
  41. package/esm2020/lib/components/icon/icon-check-white.component.mjs +15 -0
  42. package/esm2020/lib/components/icon/icon-check.component.mjs +15 -0
  43. package/esm2020/lib/components/icon/icon-clipboard.component.mjs +15 -0
  44. package/esm2020/lib/components/icon/icon-clock.component.mjs +15 -0
  45. package/esm2020/lib/components/icon/icon-close.component.mjs +15 -0
  46. package/esm2020/lib/components/icon/icon-cnpj.component.mjs +15 -0
  47. package/esm2020/lib/components/icon/icon-codepen.component.mjs +15 -0
  48. package/esm2020/lib/components/icon/icon-company-name.component.mjs +15 -0
  49. package/esm2020/lib/components/icon/icon-contract.component.mjs +15 -0
  50. package/esm2020/lib/components/icon/icon-delete.component.mjs +15 -0
  51. package/esm2020/lib/components/icon/icon-document.component.mjs +15 -0
  52. package/esm2020/lib/components/icon/icon-dollar-sign.component.mjs +15 -0
  53. package/esm2020/lib/components/icon/icon-domain.component.mjs +15 -0
  54. package/esm2020/lib/components/icon/icon-download.component.mjs +15 -0
  55. package/esm2020/lib/components/icon/icon-edit.component.mjs +15 -0
  56. package/esm2020/lib/components/icon/icon-email.component.mjs +15 -0
  57. package/esm2020/lib/components/icon/icon-empty-doc.component.mjs +15 -0
  58. package/esm2020/lib/components/icon/icon-error.component.mjs +15 -0
  59. package/esm2020/lib/components/icon/icon-eye-closed.component.mjs +15 -0
  60. package/esm2020/lib/components/icon/icon-eye-open.component.mjs +15 -0
  61. package/esm2020/lib/components/icon/icon-filter.component.mjs +15 -0
  62. package/esm2020/lib/components/icon/icon-grid.component.mjs +15 -0
  63. package/esm2020/lib/components/icon/icon-help.component.mjs +15 -0
  64. package/esm2020/lib/components/icon/icon-hexagon.component.mjs +15 -0
  65. package/esm2020/lib/components/icon/icon-home.component.mjs +15 -0
  66. package/esm2020/lib/components/icon/icon-image.component.mjs +15 -0
  67. package/esm2020/lib/components/icon/icon-list.component.mjs +15 -0
  68. package/esm2020/lib/components/icon/icon-location-pin.component.mjs +15 -0
  69. package/esm2020/lib/components/icon/icon-login.component.mjs +15 -0
  70. package/esm2020/lib/components/icon/icon-logout.component.mjs +15 -0
  71. package/esm2020/lib/components/icon/icon-menu.component.mjs +15 -0
  72. package/esm2020/lib/components/icon/icon-money-sign.component.mjs +15 -0
  73. package/esm2020/lib/components/icon/icon-more.component.mjs +15 -0
  74. package/esm2020/lib/components/icon/icon-offered.component.mjs +15 -0
  75. package/esm2020/lib/components/icon/icon-password.component.mjs +15 -0
  76. package/esm2020/lib/components/icon/icon-people.component.mjs +15 -0
  77. package/esm2020/lib/components/icon/icon-percent.component.mjs +15 -0
  78. package/esm2020/lib/components/icon/icon-person-document.component.mjs +15 -0
  79. package/esm2020/lib/components/icon/icon-person-sad.component.mjs +15 -0
  80. package/esm2020/lib/components/icon/icon-phone.component.mjs +15 -0
  81. package/esm2020/lib/components/icon/icon-pork.component.mjs +15 -0
  82. package/esm2020/lib/components/icon/icon-refresh.component.mjs +15 -0
  83. package/esm2020/lib/components/icon/icon-repeat.component.mjs +15 -0
  84. package/esm2020/lib/components/icon/icon-search.component.mjs +15 -0
  85. package/esm2020/lib/components/icon/icon-second-warning.component.mjs +15 -0
  86. package/esm2020/lib/components/icon/icon-settings.component.mjs +15 -0
  87. package/esm2020/lib/components/icon/icon-trash.component.mjs +15 -0
  88. package/esm2020/lib/components/icon/icon-upload.component.mjs +15 -0
  89. package/esm2020/lib/components/icon/icon-user.component.mjs +15 -0
  90. package/esm2020/lib/components/icon/icon-wallet.component.mjs +15 -0
  91. package/esm2020/lib/components/icon/icon-warning.component.mjs +15 -0
  92. package/{esm2015/lib/components/icon/icon.component.js → esm2020/lib/components/icon/icon.component.mjs} +6 -6
  93. package/{esm2015/lib/components/icon/icon.module.js → esm2020/lib/components/icon/icon.module.mjs} +5 -5
  94. package/{esm2015/lib/components/icon/index.js → esm2020/lib/components/icon/index.mjs} +0 -0
  95. package/{esm2015/lib/components/image-crop/image-crop.component.js → esm2020/lib/components/image-crop/image-crop.component.mjs} +12 -5
  96. package/{esm2015/lib/components/image-crop/image-crop.module.js → esm2020/lib/components/image-crop/image-crop.module.mjs} +5 -5
  97. package/{esm2015/lib/components/image-crop/index.js → esm2020/lib/components/image-crop/index.mjs} +0 -0
  98. package/{esm2015/lib/components/index.js → esm2020/lib/components/index.mjs} +0 -0
  99. package/{esm2015/lib/components/input/index.js → esm2020/lib/components/input/index.mjs} +0 -0
  100. package/esm2020/lib/components/input/input-filter.component.mjs +261 -0
  101. package/esm2020/lib/components/input/input.component.mjs +380 -0
  102. package/{esm2015/lib/components/input/input.module.js → esm2020/lib/components/input/input.module.mjs} +5 -5
  103. package/{esm2015/lib/components/input-phone/index.js → esm2020/lib/components/input-phone/index.mjs} +0 -0
  104. package/esm2020/lib/components/input-phone/input-phone.component.mjs +304 -0
  105. package/{esm2015/lib/components/input-phone/input-phone.module.js → esm2020/lib/components/input-phone/input-phone.module.mjs} +5 -5
  106. package/{esm2015/lib/components/modal/index.js → esm2020/lib/components/modal/index.mjs} +0 -0
  107. package/esm2020/lib/components/modal/modal.component.mjs +236 -0
  108. package/{esm2015/lib/components/modal/modal.module.js → esm2020/lib/components/modal/modal.module.mjs} +5 -5
  109. package/{esm2015/lib/components/option/index.js → esm2020/lib/components/option/index.mjs} +0 -0
  110. package/{esm2015/lib/components/option/option.component.js → esm2020/lib/components/option/option.component.mjs} +4 -4
  111. package/{esm2015/lib/components/option/option.module.js → esm2020/lib/components/option/option.module.mjs} +5 -5
  112. package/{esm2015/lib/components/radiobutton/index.js → esm2020/lib/components/radiobutton/index.mjs} +0 -0
  113. package/{esm2015/lib/components/radiobutton/radiobutton.component.js → esm2020/lib/components/radiobutton/radiobutton.component.mjs} +6 -6
  114. package/{esm2015/lib/components/radiobutton/radiobutton.module.js → esm2020/lib/components/radiobutton/radiobutton.module.mjs} +5 -5
  115. package/{esm2015/lib/components/select/index.js → esm2020/lib/components/select/index.mjs} +0 -0
  116. package/{esm2015/lib/components/select/select-filter.component.js → esm2020/lib/components/select/select-filter.component.mjs} +6 -6
  117. package/esm2020/lib/components/select/select-multiple.component.mjs +304 -0
  118. package/esm2020/lib/components/select/select-search.component.mjs +306 -0
  119. package/{esm2015/lib/components/select/select.component.js → esm2020/lib/components/select/select.component.mjs} +6 -6
  120. package/{esm2015/lib/components/select/select.module.js → esm2020/lib/components/select/select.module.mjs} +5 -5
  121. package/{esm2015/lib/components/stepper/index.js → esm2020/lib/components/stepper/index.mjs} +0 -0
  122. package/{esm2015/lib/components/stepper/stepper.component.js → esm2020/lib/components/stepper/stepper.component.mjs} +4 -4
  123. package/{esm2015/lib/components/stepper/stepper.module.js → esm2020/lib/components/stepper/stepper.module.mjs} +5 -5
  124. package/{esm2015/lib/components/tab/index.js → esm2020/lib/components/tab/index.mjs} +1 -1
  125. package/{esm2015/lib/components/tab/tab.component.js → esm2020/lib/components/tab/tab.component.mjs} +12 -12
  126. package/{esm2015/lib/components/tab/tab.module.js → esm2020/lib/components/tab/tab.module.mjs} +5 -5
  127. package/{esm2015/lib/components/table/index.js → esm2020/lib/components/table/index.mjs} +0 -0
  128. package/{esm2015/lib/components/table/table-column.component.js → esm2020/lib/components/table/table-column.component.mjs} +4 -4
  129. package/esm2020/lib/components/table/table.component.mjs +203 -0
  130. package/{esm2015/lib/components/table/table.module.js → esm2020/lib/components/table/table.module.mjs} +5 -5
  131. package/{esm2015/lib/components/toggle/index.js → esm2020/lib/components/toggle/index.mjs} +1 -1
  132. package/esm2020/lib/components/toggle/toggle.component.mjs +56 -0
  133. package/{esm2015/lib/components/toggle/toggle.module.js → esm2020/lib/components/toggle/toggle.module.mjs} +5 -5
  134. package/{esm2015/lib/components/wizard/index.js → esm2020/lib/components/wizard/index.mjs} +0 -0
  135. package/{esm2015/lib/components/wizard/wizard.component.js → esm2020/lib/components/wizard/wizard.component.mjs} +4 -4
  136. package/{esm2015/lib/components/wizard/wizard.module.js → esm2020/lib/components/wizard/wizard.module.mjs} +5 -5
  137. package/{esm2015/lib/core/index.js → esm2020/lib/core/index.mjs} +0 -0
  138. package/{esm2015/lib/core/interfaces/index.js → esm2020/lib/core/interfaces/index.mjs} +1 -1
  139. package/esm2020/lib/core/interfaces/monkey-modal-settings.mjs +2 -0
  140. package/{esm2015/lib/core/interfaces/monkey-style-settings.js → esm2020/lib/core/interfaces/monkey-style-settings.mjs} +0 -0
  141. package/{esm2015/lib/core/services/index.js → esm2020/lib/core/services/index.mjs} +0 -0
  142. package/{esm2015/lib/core/services/modal/index.js → esm2020/lib/core/services/modal/index.mjs} +1 -1
  143. package/{esm2015/lib/core/services/modal/monkey-style-guide-modal-fixed.service.js → esm2020/lib/core/services/modal/monkey-style-guide-modal-fixed.service.mjs} +4 -4
  144. package/{esm2015/lib/core/services/modal/monkey-style-guide-modal.service.js → esm2020/lib/core/services/modal/monkey-style-guide-modal.service.mjs} +4 -4
  145. package/{esm2015/lib/core/services/monkey-style-guide.service.js → esm2020/lib/core/services/monkey-style-guide.service.mjs} +4 -4
  146. package/{esm2015/lib/core/services/settings/index.js → esm2020/lib/core/services/settings/index.mjs} +0 -0
  147. package/{esm2015/lib/core/services/settings/monkey-style-guide-settings.service.js → esm2020/lib/core/services/settings/monkey-style-guide-settings.service.mjs} +4 -4
  148. package/esm2020/lib/core/services/settings/monkey-style-guide-theme-settings.service.mjs +80 -0
  149. package/{esm2015/lib/core/services/snackbar/index.js → esm2020/lib/core/services/snackbar/index.mjs} +0 -0
  150. package/{esm2015/lib/core/services/snackbar/mokey-style-guide-snackbar.service.js → esm2020/lib/core/services/snackbar/mokey-style-guide-snackbar.service.mjs} +5 -5
  151. package/{esm2015/lib/core/utils/index.js → esm2020/lib/core/utils/index.mjs} +0 -0
  152. package/esm2020/lib/core/utils/utils.mjs +235 -0
  153. package/{esm2015/lib/monkey-style-guide.module.js → esm2020/lib/monkey-style-guide.module.mjs} +5 -5
  154. package/{esm2015/monkey-style-guide.js → esm2020/monkey-style-guide.mjs} +0 -0
  155. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  156. package/fesm2015/{monkey-style-guide.js → monkey-style-guide.mjs} +547 -803
  157. package/fesm2015/monkey-style-guide.mjs.map +1 -0
  158. package/fesm2020/monkey-style-guide.mjs +7921 -0
  159. package/fesm2020/monkey-style-guide.mjs.map +1 -0
  160. package/lib/components/date-range-picker/date-range-picker.component.d.ts +6 -7
  161. package/lib/core/utils/utils.d.ts +3 -3
  162. package/monkey-style-guide-2.0.112.tgz +0 -0
  163. package/package.json +22 -9
  164. package/bundles/monkey-style-guide.umd.js +0 -6236
  165. package/bundles/monkey-style-guide.umd.js.map +0 -1
  166. package/esm2015/lib/components/date-range-picker/date-range-picker.component.js +0 -569
  167. package/esm2015/lib/components/icon/icon-arrow-down.component.js +0 -19
  168. package/esm2015/lib/components/icon/icon-arrow-left.component.js +0 -19
  169. package/esm2015/lib/components/icon/icon-arrow-right.component.js +0 -19
  170. package/esm2015/lib/components/icon/icon-arrow-up.component.js +0 -19
  171. package/esm2015/lib/components/icon/icon-bank.component.js +0 -19
  172. package/esm2015/lib/components/icon/icon-bell.component.js +0 -19
  173. package/esm2015/lib/components/icon/icon-book.component.js +0 -19
  174. package/esm2015/lib/components/icon/icon-box.component.js +0 -19
  175. package/esm2015/lib/components/icon/icon-calendar.component.js +0 -19
  176. package/esm2015/lib/components/icon/icon-camera.component.js +0 -19
  177. package/esm2015/lib/components/icon/icon-chat.component.js +0 -19
  178. package/esm2015/lib/components/icon/icon-check-circle-out.component.js +0 -19
  179. package/esm2015/lib/components/icon/icon-check-circle.component.js +0 -19
  180. package/esm2015/lib/components/icon/icon-check-grey.component.js +0 -19
  181. package/esm2015/lib/components/icon/icon-check-white.component.js +0 -19
  182. package/esm2015/lib/components/icon/icon-check.component.js +0 -19
  183. package/esm2015/lib/components/icon/icon-clipboard.component.js +0 -19
  184. package/esm2015/lib/components/icon/icon-clock.component.js +0 -19
  185. package/esm2015/lib/components/icon/icon-close.component.js +0 -19
  186. package/esm2015/lib/components/icon/icon-cnpj.component.js +0 -19
  187. package/esm2015/lib/components/icon/icon-codepen.component.js +0 -19
  188. package/esm2015/lib/components/icon/icon-company-name.component.js +0 -19
  189. package/esm2015/lib/components/icon/icon-contract.component.js +0 -19
  190. package/esm2015/lib/components/icon/icon-delete.component.js +0 -19
  191. package/esm2015/lib/components/icon/icon-document.component.js +0 -19
  192. package/esm2015/lib/components/icon/icon-dollar-sign.component.js +0 -19
  193. package/esm2015/lib/components/icon/icon-domain.component.js +0 -19
  194. package/esm2015/lib/components/icon/icon-download.component.js +0 -19
  195. package/esm2015/lib/components/icon/icon-edit.component.js +0 -19
  196. package/esm2015/lib/components/icon/icon-email.component.js +0 -19
  197. package/esm2015/lib/components/icon/icon-empty-doc.component.js +0 -19
  198. package/esm2015/lib/components/icon/icon-error.component.js +0 -19
  199. package/esm2015/lib/components/icon/icon-eye-closed.component.js +0 -19
  200. package/esm2015/lib/components/icon/icon-eye-open.component.js +0 -19
  201. package/esm2015/lib/components/icon/icon-filter.component.js +0 -19
  202. package/esm2015/lib/components/icon/icon-grid.component.js +0 -19
  203. package/esm2015/lib/components/icon/icon-help.component.js +0 -19
  204. package/esm2015/lib/components/icon/icon-hexagon.component.js +0 -19
  205. package/esm2015/lib/components/icon/icon-home.component.js +0 -19
  206. package/esm2015/lib/components/icon/icon-image.component.js +0 -19
  207. package/esm2015/lib/components/icon/icon-list.component.js +0 -19
  208. package/esm2015/lib/components/icon/icon-location-pin.component.js +0 -19
  209. package/esm2015/lib/components/icon/icon-login.component.js +0 -19
  210. package/esm2015/lib/components/icon/icon-logout.component.js +0 -19
  211. package/esm2015/lib/components/icon/icon-menu.component.js +0 -19
  212. package/esm2015/lib/components/icon/icon-money-sign.component.js +0 -19
  213. package/esm2015/lib/components/icon/icon-more.component.js +0 -19
  214. package/esm2015/lib/components/icon/icon-offered.component.js +0 -19
  215. package/esm2015/lib/components/icon/icon-password.component.js +0 -19
  216. package/esm2015/lib/components/icon/icon-people.component.js +0 -19
  217. package/esm2015/lib/components/icon/icon-percent.component.js +0 -19
  218. package/esm2015/lib/components/icon/icon-person-document.component.js +0 -19
  219. package/esm2015/lib/components/icon/icon-person-sad.component.js +0 -19
  220. package/esm2015/lib/components/icon/icon-phone.component.js +0 -19
  221. package/esm2015/lib/components/icon/icon-pork.component.js +0 -19
  222. package/esm2015/lib/components/icon/icon-refresh.component.js +0 -19
  223. package/esm2015/lib/components/icon/icon-repeat.component.js +0 -19
  224. package/esm2015/lib/components/icon/icon-search.component.js +0 -19
  225. package/esm2015/lib/components/icon/icon-second-warning.component.js +0 -19
  226. package/esm2015/lib/components/icon/icon-settings.component.js +0 -19
  227. package/esm2015/lib/components/icon/icon-trash.component.js +0 -19
  228. package/esm2015/lib/components/icon/icon-upload.component.js +0 -19
  229. package/esm2015/lib/components/icon/icon-user.component.js +0 -19
  230. package/esm2015/lib/components/icon/icon-wallet.component.js +0 -19
  231. package/esm2015/lib/components/icon/icon-warning.component.js +0 -19
  232. package/esm2015/lib/components/input/input-filter.component.js +0 -262
  233. package/esm2015/lib/components/input/input.component.js +0 -384
  234. package/esm2015/lib/components/input-phone/input-phone.component.js +0 -307
  235. package/esm2015/lib/components/modal/modal.component.js +0 -241
  236. package/esm2015/lib/components/select/select-multiple.component.js +0 -308
  237. package/esm2015/lib/components/select/select-search.component.js +0 -308
  238. package/esm2015/lib/components/table/table.component.js +0 -204
  239. package/esm2015/lib/components/toggle/toggle.component.js +0 -56
  240. package/esm2015/lib/core/interfaces/monkey-modal-settings.js +0 -2
  241. package/esm2015/lib/core/services/settings/monkey-style-guide-theme-settings.service.js +0 -70
  242. package/esm2015/lib/core/utils/utils.js +0 -237
  243. package/fesm2015/monkey-style-guide.js.map +0 -1
  244. package/monkey-style-guide-2.0.108.tgz +0 -0
@@ -0,0 +1,235 @@
1
+ import { PhoneNumberUtil } from 'google-libphonenumber';
2
+ const phoneUtil = PhoneNumberUtil.getInstance();
3
+ export class MonkeyUtils {
4
+ static persistNullEmptyUndefined(tp) {
5
+ return tp !== null && tp !== undefined && tp !== '';
6
+ }
7
+ static getDocumentType(doc) {
8
+ if (!doc)
9
+ return '';
10
+ return doc.length <= 11 ? 'CPF' : 'CNPJ';
11
+ }
12
+ static getDocumentMask(type) {
13
+ if (type === 'CPF')
14
+ return '000.000.000-00';
15
+ return '00.000.000/0000-00';
16
+ }
17
+ static formatDocumentWithMask(doc, withType) {
18
+ if (!doc)
19
+ return doc;
20
+ let formated = '';
21
+ if (doc.length === 14)
22
+ formated = doc
23
+ .replace(/^(\d{2})(\d)/, '$1.$2')
24
+ .replace(/^(\d{2})\.(\d{3})(\d)/, '$1.$2.$3')
25
+ .replace(/\.(\d{3})(\d)/, '.$1/$2')
26
+ .replace(/(\d{4})(\d)/, '$1-$2');
27
+ else
28
+ formated = doc
29
+ .replace(/^(\d{3})(\d)/, '$1.$2')
30
+ .replace(/^(\d{3})\.(\d{3})(\d)/, '$1.$2.$3')
31
+ .replace(/\.(\d{3})(\d)/, '.$1-$2');
32
+ return `${withType ? `${this.getDocumentType(doc)}:` : ''} ${formated}`;
33
+ }
34
+ static cutFirstLastName(value, tp = 'first') {
35
+ const split = value?.trim()?.split(' ');
36
+ if (tp === 'first')
37
+ return split[0];
38
+ return split?.splice(1, split.length)?.join(' ');
39
+ }
40
+ static isCPFCNPJValid(document) {
41
+ document = document.replace(/[^\d]/g, '');
42
+ if (document.length === 11) {
43
+ let base = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0];
44
+ for (var i = 0, n = 0; i < 9; n += document[i] * base[i++])
45
+ ;
46
+ if (document[9] != ((n %= 11) <= 1 ? 0 : 11 - n)) {
47
+ return false;
48
+ }
49
+ base = [11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0];
50
+ for (var i = 0, n = 0; i <= 9; n += document[i] * base[i++])
51
+ ;
52
+ if (document[10] != ((n %= 11) <= 1 ? 0 : 11 - n)) {
53
+ return false;
54
+ }
55
+ return true;
56
+ }
57
+ else if (document.length === 14 || /0{14}/.test(document)) {
58
+ let base = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];
59
+ for (var i = 0, n = 0; i < 12; n += document[i] * base[++i])
60
+ ;
61
+ if (document[12] != ((n %= 11) < 2 ? 0 : 11 - n)) {
62
+ return false;
63
+ }
64
+ for (var i = 0, n = 0; i <= 12; n += document[i] * base[i++])
65
+ ;
66
+ if (document[13] != ((n %= 11) < 2 ? 0 : 11 - n)) {
67
+ return false;
68
+ }
69
+ return true;
70
+ }
71
+ else
72
+ return false;
73
+ }
74
+ static isValidUrl(txt) {
75
+ const regex = new RegExp(/^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)+[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,10}(:[0-9]{1,5})?(\/.*)?$/gm);
76
+ return regex.test(txt);
77
+ }
78
+ static isValidZipCode(zipCode) {
79
+ return `${this.handleOnlyNumbers(zipCode)}`.length === 8;
80
+ }
81
+ static getRandomString(len, charSet) {
82
+ charSet = charSet || 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
83
+ let randomString = Array.apply(null, Array(len))
84
+ .map(function () {
85
+ return charSet.charAt(Math.floor(Math.random() * charSet.length));
86
+ })
87
+ .join('');
88
+ return randomString;
89
+ }
90
+ static handleOnlyNumbers(value) {
91
+ if (!value)
92
+ return null;
93
+ return value.replace(new RegExp(/[^0-9]/g), '');
94
+ }
95
+ static handleOnlyAlphaNumeric(value) {
96
+ if (!value)
97
+ return '';
98
+ return value.replace(new RegExp(/[^0-9A-Za-z]/, 'g'), '');
99
+ }
100
+ static capitalize(value) {
101
+ return `${value.charAt(0).toUpperCase()}${value.slice(1)}`;
102
+ }
103
+ static formatZipCode(zipCode) {
104
+ if (!zipCode)
105
+ return zipCode;
106
+ const formated = zipCode
107
+ .replace(/^(\d{5})(\d)/, '$1-$2')
108
+ .replace(/\.(\d{3})(\d)/, '.$1-$2');
109
+ return `${formated}`;
110
+ }
111
+ static formatFileSize(size) {
112
+ let units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
113
+ let l = 0;
114
+ while (size >= 1024 && ++l) {
115
+ size = size / 1024;
116
+ }
117
+ return size.toFixed(size < 10 && l > 0 ? 1 : 0) + ' ' + units[l];
118
+ }
119
+ static sufflue(data) {
120
+ for (let i = data.length - 1; i > 0; i--) {
121
+ const j = Math.floor(Math.random() * i);
122
+ const temp = data[i];
123
+ data[i] = data[j];
124
+ data[j] = temp;
125
+ }
126
+ return data;
127
+ }
128
+ static handleBlobFile(theBlob, fileName, fileType) {
129
+ function blobToFile(theBlob, fileName) {
130
+ const b = theBlob;
131
+ b.lastModifiedDate = new Date();
132
+ b.name = fileName;
133
+ return b;
134
+ }
135
+ let file;
136
+ if (!navigator.msSaveBlob) {
137
+ file = new File([theBlob], fileName, { type: fileType });
138
+ }
139
+ else {
140
+ file = new Blob([theBlob], { type: fileType });
141
+ file = blobToFile(file, fileName);
142
+ }
143
+ return file;
144
+ }
145
+ static truncate(text, maxLength = 25) {
146
+ const midChar = '...';
147
+ if (!text)
148
+ return midChar;
149
+ if (text && text.length <= maxLength)
150
+ return text;
151
+ const left = Math.ceil(maxLength / 2);
152
+ const right = text.length - left + 1;
153
+ return `${text.substr(0, left)} ${midChar} ${text.substring(right)}`;
154
+ }
155
+ static isLocalhost() {
156
+ const { href } = window?.location;
157
+ if (!href)
158
+ return false;
159
+ return href?.search('localhost') >= 0;
160
+ }
161
+ static getPhoneRegions() {
162
+ return phoneUtil
163
+ .getSupportedRegions()
164
+ .map((code) => {
165
+ return phoneUtil.getCountryCodeForRegion(code);
166
+ })
167
+ .filter((v, i, a) => a.indexOf(v) === i)
168
+ .sort((a, b) => (a < b ? -1 : 1));
169
+ }
170
+ static getPhoneHandle(internationalNumber = 55) {
171
+ let maxLength = 14;
172
+ let mask = 'XX XXXXX-XXXX';
173
+ try {
174
+ const country = phoneUtil.getRegionCodeForCountryCode(internationalNumber);
175
+ const exampleNumber = phoneUtil.getExampleNumber(country)['values_']['2'];
176
+ const number = phoneUtil.parse(`${exampleNumber}`, country);
177
+ const formated = phoneUtil.format(number, null);
178
+ if (formated) {
179
+ maxLength = `${formated}`.length;
180
+ mask = `${formated}`.replace(new RegExp(/[^0-9]/g), '0');
181
+ }
182
+ }
183
+ catch (e) {
184
+ //not to do
185
+ }
186
+ return {
187
+ maxLength,
188
+ mask,
189
+ };
190
+ }
191
+ static getPhoneCountryCode(phone) {
192
+ if (!phone)
193
+ return '';
194
+ let cc = `${this.handleOnlyNumbers(phone)}`?.substring(0, 2);
195
+ let code;
196
+ try {
197
+ const number = phoneUtil.parse(phone);
198
+ code = number.getCountryCodeOrDefault();
199
+ }
200
+ catch (e) {
201
+ //not to do
202
+ }
203
+ return code || cc;
204
+ }
205
+ static getPhoneNumberFormated(phone, internationalNumber = 55) {
206
+ if (!phone)
207
+ return '';
208
+ phone = phone.replace(`+${internationalNumber}`, '');
209
+ try {
210
+ const country = phoneUtil.getRegionCodeForCountryCode(internationalNumber);
211
+ const number = phoneUtil.parse(phone, country);
212
+ if (phoneUtil.isPossibleNumber(number)) {
213
+ return phoneUtil.format(number, null);
214
+ }
215
+ }
216
+ catch (e) {
217
+ //not to do
218
+ }
219
+ return phone;
220
+ }
221
+ static isPhoneNumberValid(phone, internationalNumber = 55) {
222
+ if (!phone)
223
+ return false;
224
+ try {
225
+ const country = phoneUtil.getRegionCodeForCountryCode(internationalNumber);
226
+ const number = phoneUtil.parse(phone, country);
227
+ return phoneUtil.isValidNumberForRegion(number, country);
228
+ }
229
+ catch (e) {
230
+ //not to do
231
+ }
232
+ return false;
233
+ }
234
+ }
235
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUvc3JjL2xpYi9jb3JlL3V0aWxzL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV4RCxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUM7QUFFaEQsTUFBTSxPQUFPLFdBQVc7SUFDZixNQUFNLENBQUMseUJBQXlCLENBQUMsRUFBTztRQUM3QyxPQUFPLEVBQUUsS0FBSyxJQUFJLElBQUksRUFBRSxLQUFLLFNBQVMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFTSxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQVc7UUFDdkMsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNwQixPQUFPLEdBQUcsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUMzQyxDQUFDO0lBRU0sTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFZO1FBQ3hDLElBQUksSUFBSSxLQUFLLEtBQUs7WUFBRSxPQUFPLGdCQUFnQixDQUFDO1FBQzVDLE9BQU8sb0JBQW9CLENBQUM7SUFDOUIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxHQUFXLEVBQUUsUUFBa0I7UUFDbEUsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPLEdBQUcsQ0FBQztRQUNyQixJQUFJLFFBQVEsR0FBVyxFQUFFLENBQUM7UUFDMUIsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEVBQUU7WUFDbkIsUUFBUSxHQUFHLEdBQUc7aUJBQ1gsT0FBTyxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUM7aUJBQ2hDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxVQUFVLENB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TSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQzFEO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixXQUFXO1NBQ1o7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBob25lTnVtYmVyVXRpbCB9IGZyb20gJ2dvb2dsZS1saWJwaG9uZW51bWJlcic7XHJcblxyXG5jb25zdCBwaG9uZVV0aWwgPSBQaG9uZU51bWJlclV0aWwuZ2V0SW5zdGFuY2UoKTtcclxuXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlVdGlscyB7XHJcbiAgcHVibGljIHN0YXRpYyBwZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKHRwOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cCAhPT0gbnVsbCAmJiB0cCAhPT0gdW5kZWZpbmVkICYmIHRwICE9PSAnJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0RG9jdW1lbnRUeXBlKGRvYzogc3RyaW5nKSB7XHJcbiAgICBpZiAoIWRvYykgcmV0dXJuICcnO1xyXG4gICAgcmV0dXJuIGRvYy5sZW5ndGggPD0gMTEgPyAnQ1BGJyA6ICdDTlBKJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0RG9jdW1lbnRNYXNrKHR5cGU6IHN0cmluZykge1xyXG4gICAgaWYgKHR5cGUgPT09ICdDUEYnKSByZXR1cm4gJzAwMC4wMDAuMDAwLTAwJztcclxuICAgIHJldHVybiAnMDAuMDAwLjAwMC8wMDAwLTAwJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZm9ybWF0RG9jdW1lbnRXaXRoTWFzayhkb2M6IHN0cmluZywgd2l0aFR5cGU/OiBib29sZWFuKTogc3RyaW5nIHtcclxuICAgIGlmICghZG9jKSByZXR1cm4gZG9jO1xyXG4gICAgbGV0IGZvcm1hdGVkOiBzdHJpbmcgPSAnJztcclxuICAgIGlmIChkb2MubGVuZ3RoID09PSAxNClcclxuICAgICAgZm9ybWF0ZWQgPSBkb2NcclxuICAgICAgICAucmVwbGFjZSgvXihcXGR7Mn0pKFxcZCkvLCAnJDEuJDInKVxyXG4gICAgICAgIC5yZXBsYWNlKC9eKFxcZHsyfSlcXC4oXFxkezN9KShcXGQpLywgJyQxLiQyLiQzJylcclxuICAgICAgICAucmVwbGFjZSgvXFwuKFxcZHszfSkoXFxkKS8sICcuJDEvJDInKVxyXG4gICAgICAgIC5yZXBsYWNlKC8oXFxkezR9KShcXGQpLywgJyQxLSQyJyk7XHJcbiAgICBlbHNlXHJcbiAgICAgIGZvcm1hdGVkID0gZG9jXHJcbiAgICAgICAgLnJlcGxhY2UoL14oXFxkezN9KShcXGQpLywgJyQxLiQyJylcclxuICAgICAgICAucmVwbGFjZSgvXihcXGR7M30pXFwuKFxcZHszfSkoXFxkKS8sICckMS4kMi4kMycpXHJcbiAgICAgICAgLnJlcGxhY2UoL1xcLihcXGR7M30pKFxcZCkvLCAnLiQxLSQyJyk7XHJcblxyXG4gICAgcmV0dXJuIGAke3dpdGhUeXBlID8gYCR7dGhpcy5nZXREb2N1bWVudFR5cGUoZG9jKX06YCA6ICcnfSAke2Zvcm1hdGVkfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGN1dEZpcnN0TGFzdE5hbWUodmFsdWU6IHN0cmluZywgdHA6IHN0cmluZyA9ICdmaXJzdCcpIHtcclxuICAgIGNvbnN0IHNwbGl0ID0gdmFsdWU/LnRyaW0oKT8uc3BsaXQoJyAnKTtcclxuXHJcbiAgICBpZiAodHAgPT09ICdmaXJzdCcpIHJldHVybiBzcGxpdFswXTtcclxuICAgIHJldHVybiBzcGxpdD8uc3BsaWNlKDEsIHNwbGl0Lmxlbmd0aCk/LmpvaW4oJyAnKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgaXNDUEZDTlBKVmFsaWQoZG9jdW1lbnQ6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgZG9jdW1lbnQgPSBkb2N1bWVudC5yZXBsYWNlKC9bXlxcZF0vZywgJycpO1xyXG4gICAgaWYgKGRvY3VtZW50Lmxlbmd0aCA9PT0gMTEpIHtcclxuICAgICAgbGV0IGJhc2UgPSBbMTAsIDksIDgsIDcsIDYsIDUsIDQsIDMsIDIsIDEsIDBdO1xyXG4gICAgICBmb3IgKHZhciBpID0gMCwgbiA9IDA7IGkgPCA5OyBuICs9IGRvY3VtZW50W2ldICogYmFzZVtpKytdKTtcclxuICAgICAgaWYgKGRvY3VtZW50WzldICE9ICgobiAlPSAxMSkgPD0gMSA/IDAgOiAxMSAtIG4pKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIGJhc2UgPSBbMTEsIDEwLCA5LCA4LCA3LCA2LCA1LCA0LCAzLCAyLCAxLCAwXTtcclxuICAgICAgZm9yICh2YXIgaSA9IDAsIG4gPSAwOyBpIDw9IDk7IG4gKz0gZG9jdW1lbnRbaV0gKiBiYXNlW2krK10pO1xyXG4gICAgICBpZiAoZG9jdW1lbnRbMTBdICE9ICgobiAlPSAxMSkgPD0gMSA/IDAgOiAxMSAtIG4pKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIGlmIChkb2N1bWVudC5sZW5ndGggPT09IDE0IHx8IC8wezE0fS8udGVzdChkb2N1bWVudCkpIHtcclxuICAgICAgbGV0IGJhc2UgPSBbNiwgNSwgNCwgMywgMiwgOSwgOCwgNywgNiwgNSwgNCwgMywgMl07XHJcbiAgICAgIGZvciAodmFyIGkgPSAwLCBuID0gMDsgaSA8IDEyOyBuICs9IGRvY3VtZW50W2ldICogYmFzZVsrK2ldKTtcclxuICAgICAgaWYgKGRvY3VtZW50WzEyXSAhPSAoKG4gJT0gMTEpIDwgMiA/IDAgOiAxMSAtIG4pKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBmb3IgKHZhciBpID0gMCwgbiA9IDA7IGkgPD0gMTI7IG4gKz0gZG9jdW1lbnRbaV0gKiBiYXNlW2krK10pO1xyXG4gICAgICBpZiAoZG9jdW1lbnRbMTNdICE9ICgobiAlPSAxMSkgPCAyID8gMCA6IDExIC0gbikpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgaXNWYWxpZFVybCh0eHQ6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKFxyXG4gICAgICAvXihodHRwOlxcL1xcL3d3d1xcLnxodHRwczpcXC9cXC93d3dcXC58aHR0cDpcXC9cXC98aHR0cHM6XFwvXFwvKStbYS16MC05XSsoW1xcLVxcLl17MX1bYS16MC05XSspKlxcLlthLXpdezIsMTB9KDpbMC05XXsxLDV9KT8oXFwvLiopPyQvZ21cclxuICAgICk7XHJcbiAgICByZXR1cm4gcmVnZXgudGVzdCh0eHQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBpc1ZhbGlkWmlwQ29kZSh6aXBDb2RlOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBgJHt0aGlzLmhhbmRsZU9ubHlOdW1iZXJzKHppcENvZGUpfWAubGVuZ3RoID09PSA4O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBnZXRSYW5kb21TdHJpbmcobGVuOiBudW1iZXIsIGNoYXJTZXQ/OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY2hhclNldCA9IGNoYXJTZXQgfHwgJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5JztcclxuICAgIGxldCByYW5kb21TdHJpbmc6IHN0cmluZyA9IEFycmF5LmFwcGx5KG51bGwsIEFycmF5KGxlbikpXHJcbiAgICAgIC5tYXAoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHJldHVybiBjaGFyU2V0LmNoYXJBdChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFyU2V0Lmxlbmd0aCkpO1xyXG4gICAgICB9KVxyXG4gICAgICAuam9pbignJyk7XHJcbiAgICByZXR1cm4gcmFuZG9tU3RyaW5nO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBoYW5kbGVPbmx5TnVtYmVycyh2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAoIXZhbHVlKSByZXR1cm4gbnVsbDtcclxuICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKG5ldyBSZWdFeHAoL1teMC05XS9nKSwgJycpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBoYW5kbGVPbmx5QWxwaGFOdW1lcmljKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICghdmFsdWUpIHJldHVybiAnJztcclxuICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKG5ldyBSZWdFeHAoL1teMC05QS1aYS16XS8sICdnJyksICcnKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgY2FwaXRhbGl6ZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gYCR7dmFsdWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCl9JHt2YWx1ZS5zbGljZSgxKX1gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBmb3JtYXRaaXBDb2RlKHppcENvZGU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXppcENvZGUpIHJldHVybiB6aXBDb2RlO1xyXG4gICAgY29uc3QgZm9ybWF0ZWQ6IHN0cmluZyA9IHppcENvZGVcclxuICAgICAgLnJlcGxhY2UoL14oXFxkezV9KShcXGQpLywgJyQxLSQyJylcclxuICAgICAgLnJlcGxhY2UoL1xcLihcXGR7M30pKFxcZCkvLCAnLiQxLSQyJyk7XHJcblxyXG4gICAgcmV0dXJuIGAke2Zvcm1hdGVkfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGZvcm1hdEZpbGVTaXplKHNpemU6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBsZXQgdW5pdHMgPSBbJ0InLCAnS0InLCAnTUInLCAnR0InLCAnVEInLCAnUEInLCAnRUInLCAnWkInLCAnWUInXTtcclxuICAgIGxldCBsID0gMDtcclxuICAgIHdoaWxlIChzaXplID49IDEwMjQgJiYgKytsKSB7XHJcbiAgICAgIHNpemUgPSBzaXplIC8gMTAyNDtcclxuICAgIH1cclxuICAgIHJldHVybiBzaXplLnRvRml4ZWQoc2l6ZSA8IDEwICYmIGwgPiAwID8gMSA6IDApICsgJyAnICsgdW5pdHNbbF07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIHN1ZmZsdWUoZGF0YTogYW55W10pOiBhbnlbXSB7XHJcbiAgICBmb3IgKGxldCBpID0gZGF0YS5sZW5ndGggLSAxOyBpID4gMDsgaS0tKSB7XHJcbiAgICAgIGNvbnN0IGogPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBpKTtcclxuICAgICAgY29uc3QgdGVtcCA9IGRhdGFbaV07XHJcbiAgICAgIGRhdGFbaV0gPSBkYXRhW2pdO1xyXG4gICAgICBkYXRhW2pdID0gdGVtcDtcclxuICAgIH1cclxuICAgIHJldHVybiBkYXRhO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBoYW5kbGVCbG9iRmlsZSh0aGVCbG9iOiBhbnksIGZpbGVOYW1lOiBzdHJpbmcsIGZpbGVUeXBlOiBzdHJpbmcpIHtcclxuICAgIGZ1bmN0aW9uIGJsb2JUb0ZpbGUodGhlQmxvYiwgZmlsZU5hbWUpIHtcclxuICAgICAgY29uc3QgYiA9IHRoZUJsb2I7XHJcbiAgICAgIGIubGFzdE1vZGlmaWVkRGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgIGIubmFtZSA9IGZpbGVOYW1lO1xyXG4gICAgICByZXR1cm4gYjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgZmlsZTogYW55O1xyXG4gICAgaWYgKCEobmF2aWdhdG9yIGFzIGFueSkubXNTYXZlQmxvYikge1xyXG4gICAgICBmaWxlID0gbmV3IEZpbGUoW3RoZUJsb2JdLCBmaWxlTmFtZSwgeyB0eXBlOiBmaWxlVHlwZSB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGZpbGUgPSBuZXcgQmxvYihbdGhlQmxvYl0sIHsgdHlwZTogZmlsZVR5cGUgfSk7XHJcbiAgICAgIGZpbGUgPSBibG9iVG9GaWxlKGZpbGUsIGZpbGVOYW1lKTtcclxuICAgIH1cclxuICAgIHJldHVybiBmaWxlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyB0cnVuY2F0ZSh0ZXh0OiBzdHJpbmcsIG1heExlbmd0aDogbnVtYmVyID0gMjUpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgbWlkQ2hhciA9ICcuLi4nO1xyXG4gICAgaWYgKCF0ZXh0KSByZXR1cm4gbWlkQ2hhcjtcclxuICAgIGlmICh0ZXh0ICYmIHRleHQubGVuZ3RoIDw9IG1heExlbmd0aCkgcmV0dXJuIHRleHQ7XHJcblxyXG4gICAgY29uc3QgbGVmdCA9IE1hdGguY2VpbChtYXhMZW5ndGggLyAyKTtcclxuICAgIGNvbnN0IHJpZ2h0ID0gdGV4dC5sZW5ndGggLSBsZWZ0ICsgMTtcclxuXHJcbiAgICByZXR1cm4gYCR7dGV4dC5zdWJzdHIoMCwgbGVmdCl9ICR7bWlkQ2hhcn0gJHt0ZXh0LnN1YnN0cmluZyhyaWdodCl9YDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgaXNMb2NhbGhvc3QoKSB7XHJcbiAgICBjb25zdCB7IGhyZWYgfSA9IHdpbmRvdz8ubG9jYXRpb247XHJcbiAgICBpZiAoIWhyZWYpIHJldHVybiBmYWxzZTtcclxuICAgIHJldHVybiBocmVmPy5zZWFyY2goJ2xvY2FsaG9zdCcpID49IDA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGdldFBob25lUmVnaW9ucygpIHtcclxuICAgIHJldHVybiBwaG9uZVV0aWxcclxuICAgICAgLmdldFN1cHBvcnRlZFJlZ2lvbnMoKVxyXG4gICAgICAubWFwKChjb2RlOiBzdHJpbmcpID0+IHtcclxuICAgICAgICByZXR1cm4gcGhvbmVVdGlsLmdldENvdW50cnlDb2RlRm9yUmVnaW9uKGNvZGUpO1xyXG4gICAgICB9KVxyXG4gICAgICAuZmlsdGVyKCh2LCBpLCBhKSA9PiBhLmluZGV4T2YodikgPT09IGkpXHJcbiAgICAgIC5zb3J0KChhLCBiKSA9PiAoYSA8IGIgPyAtMSA6IDEpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0UGhvbmVIYW5kbGUoaW50ZXJuYXRpb25hbE51bWJlciA9IDU1KSB7XHJcbiAgICBsZXQgbWF4TGVuZ3RoID0gMTQ7XHJcbiAgICBsZXQgbWFzayA9ICdYWCBYWFhYWC1YWFhYJztcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IGNvdW50cnkgPSBwaG9uZVV0aWwuZ2V0UmVnaW9uQ29kZUZvckNvdW50cnlDb2RlKGludGVybmF0aW9uYWxOdW1iZXIpO1xyXG4gICAgICBjb25zdCBleGFtcGxlTnVtYmVyID0gcGhvbmVVdGlsLmdldEV4YW1wbGVOdW1iZXIoY291bnRyeSlbJ3ZhbHVlc18nXVsnMiddO1xyXG5cclxuICAgICAgY29uc3QgbnVtYmVyID0gcGhvbmVVdGlsLnBhcnNlKGAke2V4YW1wbGVOdW1iZXJ9YCwgY291bnRyeSk7XHJcbiAgICAgIGNvbnN0IGZvcm1hdGVkID0gcGhvbmVVdGlsLmZvcm1hdChudW1iZXIsIG51bGwpO1xyXG4gICAgICBpZiAoZm9ybWF0ZWQpIHtcclxuICAgICAgICBtYXhMZW5ndGggPSBgJHtmb3JtYXRlZH1gLmxlbmd0aDtcclxuICAgICAgICBtYXNrID0gYCR7Zm9ybWF0ZWR9YC5yZXBsYWNlKG5ldyBSZWdFeHAoL1teMC05XS9nKSwgJzAnKTtcclxuICAgICAgfVxyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAvL25vdCB0byBkb1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbWF4TGVuZ3RoLFxyXG4gICAgICBtYXNrLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0UGhvbmVDb3VudHJ5Q29kZShwaG9uZTogc3RyaW5nKSB7XHJcbiAgICBpZiAoIXBob25lKSByZXR1cm4gJyc7XHJcbiAgICBsZXQgY2MgPSBgJHt0aGlzLmhhbmRsZU9ubHlOdW1iZXJzKHBob25lKX1gPy5zdWJzdHJpbmcoMCwgMik7XHJcbiAgICBsZXQgY29kZTtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IG51bWJlciA9IHBob25lVXRpbC5wYXJzZShwaG9uZSk7XHJcbiAgICAgIGNvZGUgPSBudW1iZXIuZ2V0Q291bnRyeUNvZGVPckRlZmF1bHQoKTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgLy9ub3QgdG8gZG9cclxuICAgIH1cclxuICAgIHJldHVybiBjb2RlIHx8IGNjO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBnZXRQaG9uZU51bWJlckZvcm1hdGVkKHBob25lOiBzdHJpbmcsIGludGVybmF0aW9uYWxOdW1iZXIgPSA1NSkge1xyXG4gICAgaWYgKCFwaG9uZSkgcmV0dXJuICcnO1xyXG4gICAgcGhvbmUgPSBwaG9uZS5yZXBsYWNlKGArJHtpbnRlcm5hdGlvbmFsTnVtYmVyfWAsICcnKTtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IGNvdW50cnkgPSBwaG9uZVV0aWwuZ2V0UmVnaW9uQ29kZUZvckNvdW50cnlDb2RlKGludGVybmF0aW9uYWxOdW1iZXIpO1xyXG4gICAgICBjb25zdCBudW1iZXIgPSBwaG9uZVV0aWwucGFyc2UocGhvbmUsIGNvdW50cnkpO1xyXG4gICAgICBpZiAocGhvbmVVdGlsLmlzUG9zc2libGVOdW1iZXIobnVtYmVyKSkge1xyXG4gICAgICAgIHJldHVybiBwaG9uZVV0aWwuZm9ybWF0KG51bWJlciwgbnVsbCk7XHJcbiAgICAgIH1cclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgLy9ub3QgdG8gZG9cclxuICAgIH1cclxuICAgIHJldHVybiBwaG9uZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgaXNQaG9uZU51bWJlclZhbGlkKHBob25lOiBzdHJpbmcsIGludGVybmF0aW9uYWxOdW1iZXIgPSA1NSkge1xyXG4gICAgaWYgKCFwaG9uZSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgY291bnRyeSA9IHBob25lVXRpbC5nZXRSZWdpb25Db2RlRm9yQ291bnRyeUNvZGUoaW50ZXJuYXRpb25hbE51bWJlcik7XHJcbiAgICAgIGNvbnN0IG51bWJlciA9IHBob25lVXRpbC5wYXJzZShwaG9uZSwgY291bnRyeSk7XHJcbiAgICAgIHJldHVybiBwaG9uZVV0aWwuaXNWYWxpZE51bWJlckZvclJlZ2lvbihudW1iZXIsIGNvdW50cnkpO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAvL25vdCB0byBkb1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -8,15 +8,15 @@ import { CommonModule } from '@angular/common';
8
8
  import * as i0 from "@angular/core";
9
9
  export class MonkeyStyleGuideModule {
10
10
  }
11
- MonkeyStyleGuideModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyStyleGuideModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- MonkeyStyleGuideModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyStyleGuideModule, imports: [HttpClientModule, CommonModule] });
13
- MonkeyStyleGuideModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyStyleGuideModule, providers: [
11
+ MonkeyStyleGuideModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MonkeyStyleGuideModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ MonkeyStyleGuideModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MonkeyStyleGuideModule, imports: [HttpClientModule, CommonModule] });
13
+ MonkeyStyleGuideModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MonkeyStyleGuideModule, providers: [
14
14
  MonkeyStyleGuideService,
15
15
  MonkeyStyleGuideSettingsService,
16
16
  MonkeyStyleGuideThemeSettingsService,
17
17
  MonkeyStyleGuideSnackbarService,
18
18
  ], imports: [[HttpClientModule, CommonModule]] });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyStyleGuideModule, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MonkeyStyleGuideModule, decorators: [{
20
20
  type: NgModule,
21
21
  args: [{
22
22
  imports: [HttpClientModule, CommonModule],
@@ -28,4 +28,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImpo
28
28
  ],
29
29
  }]
30
30
  }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5LXN0eWxlLWd1aWRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS9zcmMvbGliL21vbmtleS1zdHlsZS1ndWlkZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUMxSCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBVy9DLE1BQU0sT0FBTyxzQkFBc0I7O29IQUF0QixzQkFBc0I7cUhBQXRCLHNCQUFzQixZQVJ2QixnQkFBZ0IsRUFBRSxZQUFZO3FIQVE3QixzQkFBc0IsYUFQdEI7UUFDVCx1QkFBdUI7UUFDdkIsK0JBQStCO1FBQy9CLG9DQUFvQztRQUNwQywrQkFBK0I7S0FDaEMsWUFOUSxDQUFDLGdCQUFnQixFQUFFLFlBQVksQ0FBQzs0RkFROUIsc0JBQXNCO2tCQVRsQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLFlBQVksQ0FBQztvQkFDekMsU0FBUyxFQUFFO3dCQUNULHVCQUF1Qjt3QkFDdkIsK0JBQStCO3dCQUMvQixvQ0FBb0M7d0JBQ3BDLCtCQUErQjtxQkFDaEM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBNb25rZXlTdHlsZUd1aWRlU2VydmljZSB9IGZyb20gJy4vY29yZS9zZXJ2aWNlcy9tb25rZXktc3R5bGUtZ3VpZGUuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vbmtleVN0eWxlR3VpZGVTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvc2VydmljZXMvc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBNb25rZXlTdHlsZUd1aWRlVGhlbWVTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvc2VydmljZXMvc2V0dGluZ3MvbW9ua2V5LXN0eWxlLWd1aWRlLXRoZW1lLXNldHRpbmdzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb25rZXlTdHlsZUd1aWRlU25hY2tiYXJTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3NlcnZpY2VzL3NuYWNrYmFyJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW0h0dHBDbGllbnRNb2R1bGUsIENvbW1vbk1vZHVsZV0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBNb25rZXlTdHlsZUd1aWRlU2VydmljZSxcclxuICAgIE1vbmtleVN0eWxlR3VpZGVTZXR0aW5nc1NlcnZpY2UsXHJcbiAgICBNb25rZXlTdHlsZUd1aWRlVGhlbWVTZXR0aW5nc1NlcnZpY2UsXHJcbiAgICBNb25rZXlTdHlsZUd1aWRlU25hY2tiYXJTZXJ2aWNlLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlTdHlsZUd1aWRlTW9kdWxlIHt9XHJcbiJdfQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5LXN0eWxlLWd1aWRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS9zcmMvbGliL21vbmtleS1zdHlsZS1ndWlkZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUMxSCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBVy9DLE1BQU0sT0FBTyxzQkFBc0I7O21IQUF0QixzQkFBc0I7b0hBQXRCLHNCQUFzQixZQVJ2QixnQkFBZ0IsRUFBRSxZQUFZO29IQVE3QixzQkFBc0IsYUFQdEI7UUFDVCx1QkFBdUI7UUFDdkIsK0JBQStCO1FBQy9CLG9DQUFvQztRQUNwQywrQkFBK0I7S0FDaEMsWUFOUSxDQUFDLGdCQUFnQixFQUFFLFlBQVksQ0FBQzsyRkFROUIsc0JBQXNCO2tCQVRsQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLFlBQVksQ0FBQztvQkFDekMsU0FBUyxFQUFFO3dCQUNULHVCQUF1Qjt3QkFDdkIsK0JBQStCO3dCQUMvQixvQ0FBb0M7d0JBQ3BDLCtCQUErQjtxQkFDaEM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBNb25rZXlTdHlsZUd1aWRlU2VydmljZSB9IGZyb20gJy4vY29yZS9zZXJ2aWNlcy9tb25rZXktc3R5bGUtZ3VpZGUuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vbmtleVN0eWxlR3VpZGVTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvc2VydmljZXMvc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBNb25rZXlTdHlsZUd1aWRlVGhlbWVTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvc2VydmljZXMvc2V0dGluZ3MvbW9ua2V5LXN0eWxlLWd1aWRlLXRoZW1lLXNldHRpbmdzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb25rZXlTdHlsZUd1aWRlU25hY2tiYXJTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3NlcnZpY2VzL3NuYWNrYmFyJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW0h0dHBDbGllbnRNb2R1bGUsIENvbW1vbk1vZHVsZV0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBNb25rZXlTdHlsZUd1aWRlU2VydmljZSxcclxuICAgIE1vbmtleVN0eWxlR3VpZGVTZXR0aW5nc1NlcnZpY2UsXHJcbiAgICBNb25rZXlTdHlsZUd1aWRlVGhlbWVTZXR0aW5nc1NlcnZpY2UsXHJcbiAgICBNb25rZXlTdHlsZUd1aWRlU25hY2tiYXJTZXJ2aWNlLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlTdHlsZUd1aWRlTW9kdWxlIHt9XHJcbiJdfQ==