@finqu/cool 1.2.29 → 2.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 (221) hide show
  1. package/README.md +694 -1
  2. package/dist/css/cool.css +26902 -14322
  3. package/dist/css/cool.css.map +1 -154
  4. package/dist/css/cool.min.css +2 -7
  5. package/dist/css/cool.min.css.map +1 -1
  6. package/dist/js/cool.bundle.js +16191 -5588
  7. package/dist/js/cool.bundle.js.map +1 -1
  8. package/dist/js/cool.bundle.min.js +13 -8
  9. package/dist/js/cool.bundle.min.js.map +1 -1
  10. package/dist/js/cool.esm.js +4722 -4812
  11. package/dist/js/cool.esm.js.map +1 -1
  12. package/dist/js/cool.esm.min.js +4 -9
  13. package/dist/js/cool.esm.min.js.map +1 -1
  14. package/dist/js/cool.js +5143 -5240
  15. package/dist/js/cool.js.map +1 -1
  16. package/dist/js/cool.min.js +4 -9
  17. package/dist/js/cool.min.js.map +1 -1
  18. package/package.json +125 -60
  19. package/scss/LISENCE +1 -1
  20. package/scss/_badge.scss +134 -102
  21. package/scss/_button-group.scss +80 -129
  22. package/scss/_buttons.scss +257 -201
  23. package/scss/_dark.scss +637 -0
  24. package/scss/_dialog.scss +314 -123
  25. package/scss/_dropdown.scss +165 -233
  26. package/scss/_forms.scss +555 -200
  27. package/scss/_frame.scss +945 -624
  28. package/scss/_grid.scss +215 -35
  29. package/scss/_input-group.scss +326 -285
  30. package/scss/_list-group.scss +127 -82
  31. package/scss/_media.scss +439 -0
  32. package/scss/_navbar.scss +116 -284
  33. package/scss/_notification.scss +111 -9
  34. package/scss/_pagination.scss +82 -88
  35. package/scss/_popover.scss +61 -167
  36. package/scss/_reboot.scss +306 -284
  37. package/scss/_root.scss +848 -15
  38. package/scss/_section.scss +735 -977
  39. package/scss/_select.scss +559 -187
  40. package/scss/_tables.scss +471 -595
  41. package/scss/_tabs.scss +50 -178
  42. package/scss/_toast.scss +242 -147
  43. package/scss/_tooltip.scss +130 -101
  44. package/scss/_typography.scss +166 -0
  45. package/scss/_variables.scss +1154 -748
  46. package/scss/cool.scss +64 -32
  47. package/scss/utilities/_align.scss +51 -41
  48. package/scss/utilities/_animation.scss +165 -0
  49. package/scss/utilities/_background.scss +72 -14
  50. package/scss/utilities/_borders.scss +205 -146
  51. package/scss/utilities/_collapse.scss +20 -25
  52. package/scss/utilities/_cursor.scss +160 -22
  53. package/scss/utilities/_display.scss +116 -16
  54. package/scss/utilities/_embed.scss +89 -78
  55. package/scss/utilities/_fill.scss +79 -0
  56. package/scss/utilities/_filters.scss +233 -0
  57. package/scss/utilities/_flex.scss +216 -52
  58. package/scss/utilities/_grid.scss +136 -0
  59. package/scss/utilities/_opacity.scss +131 -0
  60. package/scss/utilities/_overflow.scss +242 -6
  61. package/scss/utilities/_perfect-scrollbar.scss +147 -141
  62. package/scss/utilities/_pointer-events.scss +125 -0
  63. package/scss/utilities/_position.scss +130 -30
  64. package/scss/utilities/_screen-readers.scss +95 -0
  65. package/scss/utilities/_shadows.scss +195 -0
  66. package/scss/utilities/_sizing.scss +288 -32
  67. package/scss/utilities/_spacing.scss +168 -92
  68. package/scss/utilities/_stroke.scss +124 -0
  69. package/scss/utilities/_text.scss +420 -99
  70. package/scss/utilities/_transform.scss +232 -0
  71. package/scss/utilities/_transitions.scss +147 -0
  72. package/scss/utilities/_user-select.scss +89 -10
  73. package/scss/utilities/_visibility.scss +62 -6
  74. package/scss/utilities/_z-index.scss +169 -0
  75. package/.babelrc.js +0 -20
  76. package/.browserslistrc +0 -13
  77. package/build/.eslintrc.json +0 -10
  78. package/build/banner.js +0 -14
  79. package/build/build-plugins.js +0 -92
  80. package/build/rollup.config.js +0 -46
  81. package/dist/css/cool-grid.css +0 -4390
  82. package/dist/css/cool-grid.css.map +0 -30
  83. package/dist/css/cool-grid.min.css +0 -7
  84. package/dist/css/cool-grid.min.css.map +0 -1
  85. package/dist/css/cool-reboot.css +0 -286
  86. package/dist/css/cool-reboot.css.map +0 -62
  87. package/dist/css/cool-reboot.min.css +0 -7
  88. package/dist/css/cool-reboot.min.css.map +0 -1
  89. package/html/index.html +0 -2703
  90. package/js/dist/collapse.js +0 -5535
  91. package/js/dist/collapse.js.map +0 -1
  92. package/js/dist/common.js +0 -21996
  93. package/js/dist/common.js.map +0 -1
  94. package/js/dist/cooldropdown.js +0 -467
  95. package/js/dist/cooldropdown.js.map +0 -1
  96. package/js/dist/coolpopover.js +0 -391
  97. package/js/dist/coolpopover.js.map +0 -1
  98. package/js/dist/coolsectiontabs.js +0 -256
  99. package/js/dist/coolsectiontabs.js.map +0 -1
  100. package/js/dist/coolselect.js +0 -796
  101. package/js/dist/coolselect.js.map +0 -1
  102. package/js/dist/cooltooltip.js +0 -360
  103. package/js/dist/cooltooltip.js.map +0 -1
  104. package/js/dist/coolui.js +0 -73
  105. package/js/dist/coolui.js.map +0 -1
  106. package/js/dist/dropdown.js +0 -27421
  107. package/js/dist/dropdown.js.map +0 -1
  108. package/js/dist/popover.js +0 -9472
  109. package/js/dist/popover.js.map +0 -1
  110. package/js/dist/sectiontabs.js +0 -4483
  111. package/js/dist/sectiontabs.js.map +0 -1
  112. package/js/dist/select.js +0 -37080
  113. package/js/dist/select.js.map +0 -1
  114. package/js/dist/tooltip.js +0 -8786
  115. package/js/dist/tooltip.js.map +0 -1
  116. package/js/index.esm.js +0 -21
  117. package/js/index.umd.js +0 -21
  118. package/js/src/abstract-ui-component.js +0 -81
  119. package/js/src/collapse.js +0 -286
  120. package/js/src/common.js +0 -296
  121. package/js/src/dialog.js +0 -579
  122. package/js/src/dropdown.js +0 -525
  123. package/js/src/popover.js +0 -632
  124. package/js/src/section-tabs.js +0 -215
  125. package/js/src/select.js +0 -1342
  126. package/js/src/toast.js +0 -581
  127. package/js/src/tooltip.js +0 -591
  128. package/js/src/util/animate-css.js +0 -22
  129. package/js/src/util/index.js +0 -122
  130. package/js/src/util/perfect-scrollbar.js +0 -1316
  131. package/less/alert.less +0 -345
  132. package/less/badge.less +0 -38
  133. package/less/bootstrap-noconflict.less +0 -23
  134. package/less/bootstrap.less +0 -23
  135. package/less/button-group.less +0 -153
  136. package/less/buttons.less +0 -287
  137. package/less/dialog-noconflict.less +0 -174
  138. package/less/dialog.less +0 -203
  139. package/less/dropdown.less +0 -209
  140. package/less/forms.less +0 -770
  141. package/less/images.less +0 -242
  142. package/less/input-group.less +0 -163
  143. package/less/list-group.less +0 -73
  144. package/less/mixins/aspect-ratio.less +0 -23
  145. package/less/mixins/border-radius.less +0 -24
  146. package/less/mixins/box-shadow.less +0 -4
  147. package/less/mixins/buttons.less +0 -17
  148. package/less/mixins/caret.less +0 -51
  149. package/less/mixins/clearfix.less +0 -10
  150. package/less/mixins/gradients.less +0 -34
  151. package/less/mixins/nav-divider.less +0 -7
  152. package/less/mixins/object-fit.less +0 -13
  153. package/less/mixins/reset-text.less +0 -16
  154. package/less/mixins.less +0 -11
  155. package/less/package.json +0 -11
  156. package/less/pagination.less +0 -69
  157. package/less/popover.less +0 -143
  158. package/less/project.sublime-workspace +0 -774
  159. package/less/reboot.less +0 -235
  160. package/less/section.less +0 -793
  161. package/less/select.less +0 -150
  162. package/less/tables.less +0 -737
  163. package/less/tabs.less +0 -162
  164. package/less/tooltip.less +0 -87
  165. package/less/type.less +0 -71
  166. package/less/utilities/align.less +0 -27
  167. package/less/utilities/animate.less +0 -3512
  168. package/less/utilities/background.less +0 -70
  169. package/less/utilities/borders.less +0 -16
  170. package/less/utilities/color.less +0 -70
  171. package/less/utilities/cursor.less +0 -8
  172. package/less/utilities/display.less +0 -38
  173. package/less/utilities/embed.less +0 -61
  174. package/less/utilities/flex.less +0 -76
  175. package/less/utilities/jquery-ui.less +0 -116
  176. package/less/utilities/lazyload.less +0 -29
  177. package/less/utilities/overflow.less +0 -11
  178. package/less/utilities/pace.less +0 -25
  179. package/less/utilities/placeholder.less +0 -60
  180. package/less/utilities/position.less +0 -42
  181. package/less/utilities/scrollbar.less +0 -152
  182. package/less/utilities/spacing.less +0 -197
  183. package/less/utilities/text.less +0 -68
  184. package/less/utilities/transform.less +0 -7
  185. package/less/utilities.less +0 -21
  186. package/less/variables.less +0 -343
  187. package/scss/_alert.scss +0 -102
  188. package/scss/_custom-forms.scss +0 -444
  189. package/scss/_functions.scss +0 -124
  190. package/scss/_images.scss +0 -361
  191. package/scss/_mixins.scss +0 -34
  192. package/scss/_type.scss +0 -129
  193. package/scss/_utilities.scss +0 -23
  194. package/scss/cool-grid.scss +0 -29
  195. package/scss/cool-reboot.scss +0 -11
  196. package/scss/mixins/_alert-variant.scss +0 -20
  197. package/scss/mixins/_aspect-ratio.scss +0 -29
  198. package/scss/mixins/_background-variant.scss +0 -25
  199. package/scss/mixins/_badge-variant.scss +0 -36
  200. package/scss/mixins/_breakpoints.scss +0 -102
  201. package/scss/mixins/_buttons.scss +0 -104
  202. package/scss/mixins/_caret.scss +0 -80
  203. package/scss/mixins/_clearfix.scss +0 -10
  204. package/scss/mixins/_float.scss +0 -14
  205. package/scss/mixins/_forms.scss +0 -67
  206. package/scss/mixins/_gradients.scss +0 -40
  207. package/scss/mixins/_grid-framework.scss +0 -72
  208. package/scss/mixins/_grid.scss +0 -60
  209. package/scss/mixins/_nav-divider.scss +0 -9
  210. package/scss/mixins/_notification-variant.scss +0 -7
  211. package/scss/mixins/_object-fit.scss +0 -16
  212. package/scss/mixins/_reset-text.scss +0 -19
  213. package/scss/mixins/_text-emphasis.scss +0 -21
  214. package/scss/mixins/_text-hide.scss +0 -10
  215. package/scss/mixins/_text-truncate.scss +0 -81
  216. package/scss/mixins/_visibility.scss +0 -7
  217. package/scss/project.sublime-workspace +0 -491
  218. package/scss/utilities/_animate.scss +0 -3512
  219. package/scss/utilities/_clearfix.scss +0 -6
  220. package/scss/utilities/_lazyload.scss +0 -31
  221. package/scss/utilities/_placeholder.scss +0 -77
@@ -1 +0,0 @@
1
- {"version":3,"file":"popover.js","sources":["../src/util/index.js","../src/abstract-ui-component.js","../src/popover.js"],"sourcesContent":["import 'jquery';\n\nconst debounce = function (func, wait, immediate) {\n\n\tlet timeout;\n\n\treturn function() {\n\n\t\tlet context = this;\n\t\tlet args = arguments;\n\t\tlet later = function() {\n\n\t\t\ttimeout = null;\n\n\t\t\tif (!immediate) {\n\t\t\t\tfunc.apply(context, args)\n\t\t\t};\n\t\t};\n\n\t\tlet callNow = immediate && !timeout;\n\n\t\tclearTimeout(timeout);\n\n\t\ttimeout = setTimeout(later, wait);\n\n\t\tif (callNow) {\n\t\t\tfunc.apply(context, args);\n\t\t}\n\t};\n};\n\nconst shallowProperty = function(key) {\n\n\treturn function(obj) {\n\n\t\treturn obj == null ? void 0 : obj[key];\n\t};\n};\n\nconst isArrayLike = function(collection) {\n\n\tlet length = shallowProperty('length');\n\n\treturn typeof length == 'number' && length >= 0 && length <= Math.pow(2, 53) - 1;\n};\n\nconst optimizeCb = function(func, context, argCount) {\n\n if (context === void 0) {\n \treturn func;\n\t}\n\n\tswitch (argCount == null ? 3 : argCount) {\n\n\t\tcase 1: return function(value) {\n\t\t\treturn func.call(context, value);\n\t\t};\n\n\t\tcase 3: return function(value, index, collection) {\n\t\t\treturn func.call(context, value, index, collection);\n\t\t};\n\t\tcase 4: return function(accumulator, value, index, collection) {\n\t\t\treturn func.call(context, accumulator, value, index, collection);\n\t\t};\n\t}\n\n return function() {\n\t\treturn func.apply(context, arguments);\n };\n};\n\nconst each = function(obj, iteratee, context) {\n\n\titeratee = optimizeCb(iteratee, context);\n\n\tlet i;\n\tlet length;\n\n\tif (isArrayLike(obj)) {\n\n\t\tfor (i = 0, length = obj.length; i < length; i++) {\n\t\t\titeratee(obj[i], i, obj);\n\t\t}\n\n\t} else {\n\n\t\tlet keys = Object.keys(obj);\n\n\t\tfor (i = 0, length = keys.length; i < length; i++) {\n\t\t\titeratee(obj[keys[i]], keys[i], obj);\n\t\t}\n\t}\n\n\treturn obj;\n};\n\nconst touchEvents = function () {\n\n\tlet result = false;\n\n\tif (('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch) {\n\t\tresult = true;\n\t}\n\n\treturn result;\n};\n\n$.event.special.destroyed = {\n\n\tremove: function(obj) {\n\n\t\tif (obj.handler) {\n\t\t\tobj.handler();\n\t\t}\n\t}\n}\n\nexport {\n\tdebounce,\n\ttouchEvents,\n\teach\n}","export default class AbstractUIComponent {\n\n\t// Init callback\n onInit() {\n\n let onInit = this.opts.onInit;\n\n if (typeof onInit === 'function') {\n\n onInit.call(this);\n }\n }\n\n // Update callback\n onUpdate() {\n\n let onUpdate = this.opts.onUpdate;\n\n if (typeof onUpdate === 'function') {\n\n onUpdate.call(this);\n }\n }\n\n // Destroy callback\n onDestroy() {\n\n let onDestroy = this.opts.onDestroy;\n\n if (typeof onDestroy === 'function') {\n\n onDestroy.call(this);\n }\n }\n\n // Show callback\n onShow() {\n\n let onShow = this.opts.onShow;\n\n if (typeof onShow === 'function') {\n\n onShow.call(this);\n }\n }\n\n // Close callback\n onClose() {\n\n let onClose = this.opts.onClose;\n\n if (typeof onClose === 'function') {\n\n onClose.call(this);\n }\n }\n\n // Reset callback\n onReset() {\n\n let onReset = this.opts.onReset;\n\n if (typeof onReset === 'function') {\n\n onReset.call(this);\n }\n }\n\n // Debug log\n log(...args) {\n\n \tif (this.debug) {\n\n if (typeof this.debug === 'function') {\n this.debug(...args);\n } else {\n \t \tconsole.log(...args);\n }\n \t}\n }\n}","import 'jquery';\nimport { debounce } from './util/index';\nimport AbstractUIComponent from './abstract-ui-component';\n\nconst NAME = 'coolPopover';\nconst DATA_KEY = 'plugin_coolPopover';\n\nclass Popover extends AbstractUIComponent {\n\n constructor(el, opts) {\n\n super();\n\n this.opts = {};\n\n if (window.Cool.settings.popover) {\n\n $.extend(true, this.opts, $.fn[NAME].defaults, window.Cool.settings.popover, opts);\n\n } else {\n\n $.extend(true, this.opts, $.fn[NAME].defaults, opts);\n }\n\n this.el = el;\n this.debug = this.opts.debug;\n this.init();\n }\n\n // Init plugin\n init() {\n\n this.buildCache();\n this.bindEvents();\n this.onInit();\n }\n\n // Remove plugin instance completely\n destroy() {\n\n this.unbindEvents();\n this.$el.removeData(DATA_KEY);\n this.onDestroy();\n }\n\n // Update plugin data\n update() {\n\n this.buildCache();\n this.onUpdate();\n }\n\n // Cache DOM nodes for performance\n buildCache() {\n\n this.$el = $(this.el);\n this.$container = this.$el.data('container') ? $(this.$el.data('container')) : $(this.opts.container);\n this.containerAutoDetect = this.$el.data('containerAutoDetect') ? this.$el.data('containerAutoDetect') : this.opts.containerAutoDetect;\n this.id = 'popover-'+this.generateUUID();\n this.animation = this.$el.data('animation') ? this.$el.data('animation') : this.opts.animation;\n this.animationIn = this.$el.data('animationIn') ? this.$el.data('animationIn') : this.opts.animationIn;\n this.animationOut = this.$el.data('animationOut') ? this.$el.data('animationOut') : this.opts.animationOut;\n this.animationSpeed = this.$el.data('animationSpeed') ? this.$el.data('animationSpeed') : this.opts.animationSpeed;\n this.trigger = this.$el.data('trigger') ? this.$el.data('trigger') : this.opts.trigger;\n this.placement = this.$el.data('placement') ? this.$el.data('placement') : this.opts.placement;\n this.placementChanged = false;\n this.title = this.$el.data('title') ? this.$el.data('title') : this.opts.title;\n this.content = this.$el.data('content') ? this.$el.data('content') : this.opts.content;\n\n if (this.containerAutoDetect) {\n this.$container = this.$el.offsetParent();\n }\n }\n\n // Bind events that trigger methods\n bindEvents() {\n\n if (this.trigger === 'click') {\n\n this.$el.on('click'+'.'+NAME, () => {\n\n if (this.$popover) {\n this.close();\n } else {\n this.show();\n }\n });\n\n } else if (this.trigger === 'hover') {\n\n this.$el.on('mouseenter'+'.'+NAME, () => {\n\n this.show();\n });\n\n this.$el.on('mouseleave'+'.'+NAME, debounce(() => {\n if (!this.popupHasFocus) {\n this.close();\n }\n }, 500));\n\n } else if (this.trigger === 'focus') {\n\n this.$el.on('focusin'+'.'+NAME, () => {\n\n this.show();\n });\n\n this.$el.on('focusout'+'.'+NAME, () => {\n\n this.close();\n });\n }\n\n $(window).on('resize', debounce(() => {\n\n if (this.$popover) {\n this.setPosition();\n this.onUpdate();\n }\n }, 250));\n }\n\n // Unbind events that trigger methods\n unbindEvents() {\n\n this.$el.off('.'+NAME);\n }\n\n // Generate UUID\n generateUUID() {\n\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\n let r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n }\n\n // Build popover\n buildPopover() {\n\n let content;\n\n \tif (typeof this.content === 'function') {\n \t\tcontent = this.content();\n \t} else {\n content = this.content;\n }\n\n \tthis.$popover = $(`\n \t\t<div class=\"popover\" role=\"tooltip\" id=\"${this.id}\">\n\n\t\t\t <div class=\"arrow\"></div>\n\n\t\t\t <h3 class=\"popover-header\">${this.title}</h3>\n\n\t\t\t <div class=\"popover-body\">${content}</div>\n\n\t\t\t</div>\n \t`);\n\n this.$container.append(this.$popover);\n\n this.$container.find('#'+this.id).on('mouseenter', () => {\n this.popupHasFocus = true;\n });\n\n this.$container.find('#'+this.id).on('mouseleave', () => {\n this.popupHasFocus = false;\n this.close();\n });\n\n this.$arrow = this.$popover.find('.arrow') ? this.$popover.find('.arrow') : false;\n\n this.log(this.$el);\n this.log(this.$container);\n this.log(this.$popover);\n this.log(this.$arrow);\n this.log('Id: '+this.id);\n this.log('Trigger: '+this.trigger);\n this.log('Placement: '+this.placement);\n this.log('Animation: '+this.animation);\n this.log('Animation in: '+this.animationIn);\n this.log('Animation out: '+this.animationOut);\n this.log('Animation speed: '+this.animationSpeed);\n this.log('Title: '+this.title);\n this.log('Content: '+this.content);\n }\n\n // Set positions\n setPosition(placement) {\n\n if (typeof placement === 'undefined' || placement === null) {\n placement = this.placement;\n }\n\n this.$popover.addClass('popover-'+placement);\n\n let containerInnerWidth = this.$container.innerWidth();\n let containerInnerHeight = this.$container.innerHeight();\n let popoverWidth = this.$popover.outerWidth(true);\n let popoverHeight = this.$popover.outerHeight(true);\n let popoverTriggerWidth = this.$el.outerWidth();\n let popoverTriggerHeight = this.$el.outerHeight();\n let popoverTriggerPosX = this.$el.position().left;\n let popoverTriggerPosY = this.$el.position().top;\n let arrowWidth = this.$arrow.outerWidth(true);\n let arrowHeight = this.$arrow.outerHeight(true);\n let arrowPos;\n let popoverPosX;\n let popoverPosY;\n\n if (placement === 'top') {\n\n popoverPosX = Math.round(popoverTriggerPosX - (popoverWidth - popoverTriggerWidth) / 2);\n popoverPosY = Math.round(popoverTriggerPosY - popoverHeight);\n arrowPos = Math.round(popoverWidth / 2 - arrowWidth / 2);\n\n this.$arrow.css({\n left: arrowPos+'px'\n });\n\n } else if (placement === 'right') {\n\n popoverPosX = Math.round(popoverTriggerPosX + popoverTriggerWidth);\n popoverPosY = Math.round(popoverTriggerPosY - (popoverHeight - popoverTriggerHeight) / 2);\n arrowPos = Math.round(popoverHeight / 2 - arrowHeight / 2);\n\n this.$arrow.css({\n top: arrowPos+'px'\n });\n\n } else if (placement === 'bottom') {\n\n popoverPosX = Math.round(popoverTriggerPosX - (popoverWidth - popoverTriggerWidth) / 2);\n popoverPosY = Math.round(popoverTriggerPosY + popoverTriggerHeight);\n arrowPos = Math.round(popoverWidth / 2 - arrowWidth / 2);\n\n this.$arrow.css({\n left: arrowPos+'px'\n });\n\n } else if (placement === 'left') {\n\n popoverPosX = Math.round(popoverTriggerPosX - popoverWidth);\n popoverPosY = Math.round(popoverTriggerPosY - (popoverHeight - popoverTriggerHeight) / 2);\n arrowPos = Math.round(popoverHeight / 2 - arrowHeight / 2);\n\n this.$arrow.css({\n top: arrowPos+'px'\n });\n }\n\n this.$popover.css({\n position: 'absolute',\n top: '0px',\n left: '0px',\n transform: 'translate3d('+popoverPosX+'px, '+popoverPosY+'px, 0px)',\n 'will-change': 'transform'\n });\n\n // Correct placement if popover goes outside of container\n let popoverOverflowCount = 0;\n let popoverPosition = {\n left: this.$popover.position().left,\n top: this.$popover.position().top,\n right: containerInnerWidth - (this.$popover.position().left + popoverWidth),\n bottom: containerInnerHeight - (this.$popover.position().top + popoverHeight),\n };\n let popoverOverflow = {\n left: false,\n top: false,\n right: false,\n bottom: false\n };\n\n if (popoverPosition.right < 0) {\n\n popoverOverflow.right = true;\n popoverOverflowCount++;\n\n this.log('Popover overflowing from right');\n }\n\n if (popoverPosition.left < 0) {\n\n popoverOverflow.left = true;\n popoverOverflowCount++;\n\n this.log('Popover overflowing from left');\n }\n\n if (popoverPosition.bottom < 0) {\n\n popoverOverflow.bottom = true;\n popoverOverflowCount++;\n\n this.log('Popover overflowing from bottom');\n }\n\n if (popoverPosition.top < 0) {\n\n popoverOverflow.top = true;\n popoverOverflowCount++;\n\n this.log('Popover overflowing from top');\n }\n\n if (popoverOverflowCount > 0) {\n\n if (!this.placementChanged && popoverOverflow.left && popoverPosition.right > popoverWidth) {\n\n this.log('Changing popover placement to right');\n\n this.placementChanged = true;\n this.$popover.removeClass('popover-'+placement);\n this.$arrow.removeAttr('style');\n this.setPosition('right');\n\n } else if (!this.placementChanged && popoverOverflow.top && popoverPosition.top > popoverHeight) {\n\n this.log('Changing popover placement to bottom');\n\n this.placementChanged = true;\n this.$popover.removeClass('popover-'+placement);\n this.$arrow.removeAttr('style');\n this.setPosition('bottom');\n\n } else if (!this.placementChanged && popoverOverflow.right && popoverPosition.left > popoverWidth) {\n\n this.log('Changing popover placement to left');\n\n this.placementChanged = true;\n this.$popover.removeClass('popover-'+placement);\n this.$arrow.removeAttr('style');\n this.setPosition('left');\n\n } else if (!this.placementChanged && popoverOverflow.bottom && popoverPosition.top > popoverHeight) {\n\n this.log('Changing popover placement to top');\n\n this.placementChanged = true;\n this.$popover.removeClass('popover-'+placement);\n this.$arrow.removeAttr('style');\n this.setPosition('top');\n\n } else if (!this.placementChanged && (placement !== 'top' || placement !== 'bottom') && (popoverOverflow.left || popoverOverflow.right)) {\n\n if (popoverPosition.top > popoverPosition.bottom) {\n\n this.log('Changing popover placement to top');\n\n this.placementChanged = true;\n this.$popover.removeClass('popover-'+placement);\n this.$arrow.removeAttr('style');\n this.setPosition('top');\n\n } else {\n\n this.log('Changing popover placement to bottom');\n\n this.placementChanged = true;\n this.$popover.removeClass('popover-'+placement);\n this.$arrow.removeAttr('style');\n this.setPosition('bottom');\n }\n\n } else {\n\n this.fixPopoverPosition = true;\n }\n\n if (this.fixPopoverPosition) {\n\n this.log('Adjusting popover size or position in order to popover fit in the container');\n\n if (popoverOverflow.left) {\n\n this.log('Popover overflowing from left');\n\n let overflowAmount = Math.abs(popoverPosition.left);\n let excludePlacements = ['top', 'bottom'];\n\n if ((popoverTriggerPosX >= popoverPosX + overflowAmount) && excludePlacements.indexOf(placement) < 0) {\n\n this.log('Popover adjusting width');\n\n popoverWidth -= overflowAmount;\n popoverPosX += overflowAmount;\n\n } else {\n\n this.log('Popover adjusting position x');\n\n popoverPosX += overflowAmount;\n arrowPos -= overflowAmount;\n }\n }\n\n if (popoverOverflow.top) {\n\n this.log('Popover overflowing from top');\n\n let overflowAmount = Math.abs(popoverPosition.top);\n\n this.log('Popover adjusting position y');\n\n popoverPosY += overflowAmount;\n arrowPos -= overflowAmount;\n }\n\n if (popoverOverflow.right) {\n\n this.log('Popover overflowing from right');\n\n let overflowAmount = Math.abs(popoverPosition.right);\n let excludePlacements = ['top', 'bottom'];\n\n if ((popoverTriggerPosX <= popoverPosX - overflowAmount) && excludePlacements.indexOf(placement) < 0) {\n\n this.log('Popover adjusting width');\n\n popoverWidth -= overflowAmount;\n\n } else {\n\n this.log('Popover adjusting position x');\n\n popoverPosX -= overflowAmount;\n arrowPos += overflowAmount;\n }\n }\n\n if (popoverOverflow.bottom) {\n\n this.log('Popover overflowing from bottom');\n\n let overflowAmount = Math.abs(popoverPosition.bottom);\n\n this.log('Popover adjusting position y');\n\n popoverPosY -= overflowAmount;\n arrowPos += overflowAmount;\n }\n\n if (placement === 'top') {\n\n this.$arrow.css({\n left: arrowPos+'px'\n });\n\n } else if (placement === 'right') {\n\n this.$arrow.css({\n top: arrowPos+'px'\n });\n\n } else if (placement === 'bottom') {\n\n this.$arrow.css({\n left: arrowPos+'px'\n });\n\n } else if (placement === 'left') {\n\n this.$arrow.css({\n top: arrowPos+'px'\n });\n }\n\n this.$popover.css({\n width: popoverWidth,\n transform: 'translate3d('+popoverPosX+'px, '+popoverPosY+'px, 0px)'\n });\n\n this.fixPopoverPosition = false;\n\n this.log('Popover placement changed: '+this.placementChanged);\n this.log('Popover container inner width: '+containerInnerWidth+'px');\n this.log('Popover container inner height: '+containerInnerHeight+'px');\n this.log('Popover trigger width: '+popoverTriggerWidth+'px');\n this.log('Popover trigger height: '+popoverTriggerHeight+'px');\n this.log('popover trigger position x: '+popoverTriggerPosX+'px');\n this.log('Popover trigger position Y: '+popoverTriggerPosY+'px');\n this.log('Popover width: '+popoverWidth+'px');\n this.log('Popover height: '+popoverHeight+'px');\n this.log('Popover position x: '+popoverPosX+'px');\n this.log('Popover position y: '+popoverPosY+'px');\n this.log('Popover position left: '+popoverPosition.left+'px');\n this.log('Popover position top: '+popoverPosition.top+'px');\n this.log('Popover position right: '+popoverPosition.right+'px');\n this.log('Popover position bottom: '+popoverPosition.bottom+'px');\n }\n\n } else {\n\n this.log('Popover placement changed: '+this.placementChanged);\n this.log('Popover container inner width: '+containerInnerWidth+'px');\n this.log('Popover container inner height: '+containerInnerHeight+'px');\n this.log('Popover trigger width: '+popoverTriggerWidth+'px');\n this.log('Popover trigger height: '+popoverTriggerHeight+'px');\n this.log('popover trigger position x: '+popoverTriggerPosX+'px');\n this.log('Popover trigger position Y: '+popoverTriggerPosY+'px');\n this.log('Popover width: '+popoverWidth+'px');\n this.log('Popover height: '+popoverHeight+'px');\n this.log('Popover position x: '+popoverPosX+'px');\n this.log('Popover position y: '+popoverPosY+'px');\n this.log('Popover position left: '+popoverPosition.left+'px');\n this.log('Popover position top: '+popoverPosition.top+'px');\n this.log('Popover position right: '+popoverPosition.right+'px');\n this.log('Popover position bottom: '+popoverPosition.bottom+'px');\n }\n }\n\n // Show\n show() {\n\n if (this.$popover) {\n return;\n }\n\n this.buildPopover();\n this.setPosition();\n\n if (this.animation) {\n\n this.$popover.addClass(this.animationSpeed);\n this.$popover.animateCss(this.animationIn);\n this.$popover.addClass('show');\n this.$popover.attr('id', this.id);\n this.$el.attr('data-popover', this.id);\n\n } else {\n\n this.$popover.addClass('show');\n this.$popover.attr('id', this.id);\n this.$el.attr('data-popover', this.id);\n }\n\n this.onShow();\n }\n\n // Close\n close() {\n\n if (!this.$popover) {\n return;\n }\n\n if (this.animation && !this.$popover.hasClass('animated')) {\n\n this.$popover.animateCss(this.animationOut, () => {\n\n this.$popover.remove();\n this.$el.removeAttr('data-popover');\n this.$popover = null;\n this.placementChanged = false;\n\n this.onClose();\n });\n\n } else {\n\n this.$popover.remove();\n this.$el.removeAttr('data-popover');\n this.$popover = null;\n this.placementChanged = false;\n\n this.onClose();\n }\n }\n\n static _jQueryInterface(config) {\n\n \treturn this.each(function() {\n\n \t\tlet data = $(this).data(DATA_KEY);\n \t\tconst _config = typeof config === 'object' && config;\n\n \t\tif (!data) {\n \t\t\tdata = new Popover(this, _config);\n \t\t\t$(this).data(DATA_KEY, data);\n \t\t}\n\n \t\tif (typeof config === 'string') {\n\n \t\t\tif (typeof data[config] === 'undefined') {\n\t\t \tthrow new TypeError(`No method named \"${config}\"`)\n\t\t }\n\n\t\t data[config]()\n \t\t}\n\t });\n }\n}\n\nif (typeof $ !== 'undefined') {\n\n // jQuery\n const JQUERY_NO_CONFLICT = $.fn[NAME];\n\n $.fn[NAME] = Popover._jQueryInterface;\n $.fn[NAME].Constructor = Popover;\n\n $.fn[NAME].noConflict = () => {\n\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n\n return Popover._jQueryInterface;\n }\n\n $.fn[NAME].defaults = {\n container: '.content-inner',\n containerAutoDetect: false,\n trigger: 'focus',\n placement: 'bottom',\n animation: true,\n animationIn: 'fadeIn',\n animationOut: 'fadeOut',\n animationSpeed: 'fastest',\n title: '',\n content: '',\n onInit: null,\n onUpdate: null,\n onDestroy: null,\n onShow: null,\n onClose: null,\n debug: false\n }\n}\n\nexport default Popover;"],"names":["debounce","func","wait","immediate","timeout","context","args","arguments","later","apply","callNow","clearTimeout","setTimeout","$","event","special","destroyed","remove","obj","handler","AbstractUIComponent","onInit","opts","call","onUpdate","onDestroy","onShow","onClose","onReset","log","debug","console","NAME","DATA_KEY","Popover","el","window","Cool","settings","popover","extend","fn","defaults","init","buildCache","bindEvents","destroy","unbindEvents","$el","removeData","update","$container","data","container","containerAutoDetect","id","generateUUID","animation","animationIn","animationOut","animationSpeed","trigger","placement","placementChanged","title","content","offsetParent","on","$popover","close","show","popupHasFocus","setPosition","off","replace","c","r","Math","random","v","toString","buildPopover","append","find","$arrow","addClass","containerInnerWidth","innerWidth","containerInnerHeight","innerHeight","popoverWidth","outerWidth","popoverHeight","outerHeight","popoverTriggerWidth","popoverTriggerHeight","popoverTriggerPosX","position","left","popoverTriggerPosY","top","arrowWidth","arrowHeight","arrowPos","popoverPosX","popoverPosY","round","css","transform","popoverOverflowCount","popoverPosition","right","bottom","popoverOverflow","removeClass","removeAttr","fixPopoverPosition","overflowAmount","abs","excludePlacements","indexOf","width","animateCss","attr","hasClass","_jQueryInterface","config","each","_config","TypeError","JQUERY_NO_CONFLICT","Constructor","noConflict"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEA,IAAMA,QAAQ,GAAG,SAAXA,QAAW,CAAUC,IAAV,EAAgBC,IAAhB,EAAsBC,SAAtB,EAAiC;EAAA;EAEjD,MAAIC,OAAJ;EAFiD;EAIjD,SAAO,YAAW;EAAA;EAEjB,QAAIC,OAAO,2BAAG,IAAH,CAAX;EACA,QAAIC,IAAI,2BAAGC,SAAH,CAAR;EAHiB;;EAIjB,QAAIC,KAAK,GAAG,SAARA,KAAQ,GAAW;EAAA;EAAA;EAEtBJ,MAAAA,OAAO,GAAG,IAAV;EAFsB;;EAItB,UAAI,CAACD,SAAL,EAAgB;EAAA;EAAA;EACfF,QAAAA,IAAI,CAACQ,KAAL,CAAWJ,OAAX,EAAoBC,IAApB;EACA,OAFD;EAAA;EAAA;EAGA,KAPD;;EASA,QAAII,OAAO,2BAAG,2BAAAP,SAAS,gCAAI,CAACC,OAAL,CAAZ,CAAX;EAbiB;EAejBO,IAAAA,YAAY,CAACP,OAAD,CAAZ;EAfiB;EAiBjBA,IAAAA,OAAO,GAAGQ,UAAU,CAACJ,KAAD,EAAQN,IAAR,CAApB;EAjBiB;;EAmBjB,QAAIQ,OAAJ,EAAa;EAAA;EAAA;EACZT,MAAAA,IAAI,CAACQ,KAAL,CAAWJ,OAAX,EAAoBC,IAApB;EACA,KAFD;EAAA;EAAA;EAGA,GAtBD;EAuBA,CA3BD;;;;;;;;;;;;;EAyGAO,CAAC,CAACC,KAAF,CAAQC,OAAR,CAAgBC,SAAhB,GAA4B;EAE3BC,EAAAA,MAAM,EAAE,gBAASC,GAAT,EAAc;EAAA;EAAA;;EAErB,QAAIA,GAAG,CAACC,OAAR,EAAiB;EAAA;EAAA;EAChBD,MAAAA,GAAG,CAACC,OAAJ;EACA,KAFD;EAAA;EAAA;EAGA;EAP0B,CAA5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MC3GqBC;;;;;;;EAEpB;WACGC,SAAA,kBAAS;EAAA;EAEL,QAAIA,MAAM,0BAAG,KAAKC,IAAL,CAAUD,MAAb,CAAV;EAFK;;EAIL,QAAI,OAAOA,MAAP,KAAkB,UAAtB,EAAkC;EAAA;EAAA;EAE9BA,MAAAA,MAAM,CAACE,IAAP,CAAY,IAAZ;EACH,KAHD;EAAA;EAAA;EAIH;;;WAGDC,WAAA,oBAAW;EAAA;EAEP,QAAIA,QAAQ,0BAAG,KAAKF,IAAL,CAAUE,QAAb,CAAZ;EAFO;;EAIP,QAAI,OAAOA,QAAP,KAAoB,UAAxB,EAAoC;EAAA;EAAA;EAEhCA,MAAAA,QAAQ,CAACD,IAAT,CAAc,IAAd;EACH,KAHD;EAAA;EAAA;EAIH;;;WAGDE,YAAA,qBAAY;EAAA;EAER,QAAIA,SAAS,0BAAG,KAAKH,IAAL,CAAUG,SAAb,CAAb;EAFQ;;EAIR,QAAI,OAAOA,SAAP,KAAqB,UAAzB,EAAqC;EAAA;EAAA;EAEjCA,MAAAA,SAAS,CAACF,IAAV,CAAe,IAAf;EACH,KAHD;EAAA;EAAA;EAIH;;;WAGDG,SAAA,kBAAS;EAAA;EAEL,QAAIA,MAAM,0BAAG,KAAKJ,IAAL,CAAUI,MAAb,CAAV;EAFK;;EAIL,QAAI,OAAOA,MAAP,KAAkB,UAAtB,EAAkC;EAAA;EAAA;EAE9BA,MAAAA,MAAM,CAACH,IAAP,CAAY,IAAZ;EACH,KAHD;EAAA;EAAA;EAIH;;;WAGDI,UAAA,mBAAU;EAAA;EAEN,QAAIA,OAAO,2BAAG,KAAKL,IAAL,CAAUK,OAAb,CAAX;EAFM;;EAIN,QAAI,OAAOA,OAAP,KAAmB,UAAvB,EAAmC;EAAA;EAAA;EAE/BA,MAAAA,OAAO,CAACJ,IAAR,CAAa,IAAb;EACH,KAHD;EAAA;EAAA;EAIH;;;WAGDK,UAAA,mBAAU;EAAA;EAEN,QAAIA,OAAO,2BAAG,KAAKN,IAAL,CAAUM,OAAb,CAAX;EAFM;;EAIN,QAAI,OAAOA,OAAP,KAAmB,UAAvB,EAAmC;EAAA;EAAA;EAE/BA,MAAAA,OAAO,CAACL,IAAR,CAAa,IAAb;EACH,KAHD;EAAA;EAAA;EAIH;;;WAGDM,MAAA,eAAa;EAAA;EAAA;;EAEZ,QAAI,KAAKC,KAAT,EAAgB;EAAA;EAAA;;EAET,UAAI,OAAO,KAAKA,KAAZ,KAAsB,UAA1B,EAAsC;EAAA;EAAA;EAClC,aAAKA,KAAL;EACH,OAFD,MAEO;EAAA;;EAAA;EAAA;;EACT,oBAAAC,OAAO,EAACF,GAAR;EACG;EACP,KAPD;EAAA;EAAA;EAQA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}