@finqu/cool 1.2.29 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/README.md +680 -1
  2. package/dist/css/cool.css +23575 -16644
  3. package/dist/css/cool.css.map +1 -154
  4. package/dist/css/cool.min.css +89 -3
  5. package/dist/css/cool.min.css.map +1 -1
  6. package/dist/js/cool.bundle.js +15402 -3800
  7. package/dist/js/cool.bundle.js.map +1 -1
  8. package/dist/js/cool.bundle.min.js +20 -8
  9. package/dist/js/cool.bundle.min.js.map +1 -1
  10. package/dist/js/cool.esm.js +4269 -3360
  11. package/dist/js/cool.esm.js.map +1 -1
  12. package/dist/js/cool.esm.min.js +9 -8
  13. package/dist/js/cool.esm.min.js.map +1 -1
  14. package/dist/js/cool.js +4271 -3362
  15. package/dist/js/cool.js.map +1 -1
  16. package/dist/js/cool.min.js +9 -8
  17. package/dist/js/cool.min.js.map +1 -1
  18. package/package.json +94 -61
  19. package/.babelrc.js +0 -20
  20. package/.browserslistrc +0 -13
  21. package/build/.eslintrc.json +0 -10
  22. package/build/banner.js +0 -14
  23. package/build/build-plugins.js +0 -92
  24. package/build/rollup.config.js +0 -46
  25. package/dist/css/cool-grid.css +0 -4390
  26. package/dist/css/cool-grid.css.map +0 -30
  27. package/dist/css/cool-grid.min.css +0 -7
  28. package/dist/css/cool-grid.min.css.map +0 -1
  29. package/dist/css/cool-reboot.css +0 -286
  30. package/dist/css/cool-reboot.css.map +0 -62
  31. package/dist/css/cool-reboot.min.css +0 -7
  32. package/dist/css/cool-reboot.min.css.map +0 -1
  33. package/html/index.html +0 -2703
  34. package/js/dist/collapse.js +0 -5535
  35. package/js/dist/collapse.js.map +0 -1
  36. package/js/dist/common.js +0 -21996
  37. package/js/dist/common.js.map +0 -1
  38. package/js/dist/cooldropdown.js +0 -467
  39. package/js/dist/cooldropdown.js.map +0 -1
  40. package/js/dist/coolpopover.js +0 -391
  41. package/js/dist/coolpopover.js.map +0 -1
  42. package/js/dist/coolsectiontabs.js +0 -256
  43. package/js/dist/coolsectiontabs.js.map +0 -1
  44. package/js/dist/coolselect.js +0 -796
  45. package/js/dist/coolselect.js.map +0 -1
  46. package/js/dist/cooltooltip.js +0 -360
  47. package/js/dist/cooltooltip.js.map +0 -1
  48. package/js/dist/coolui.js +0 -73
  49. package/js/dist/coolui.js.map +0 -1
  50. package/js/dist/dropdown.js +0 -27421
  51. package/js/dist/dropdown.js.map +0 -1
  52. package/js/dist/popover.js +0 -9472
  53. package/js/dist/popover.js.map +0 -1
  54. package/js/dist/sectiontabs.js +0 -4483
  55. package/js/dist/sectiontabs.js.map +0 -1
  56. package/js/dist/select.js +0 -37080
  57. package/js/dist/select.js.map +0 -1
  58. package/js/dist/tooltip.js +0 -8786
  59. package/js/dist/tooltip.js.map +0 -1
  60. package/js/index.esm.js +0 -21
  61. package/js/index.umd.js +0 -21
  62. package/js/src/abstract-ui-component.js +0 -81
  63. package/js/src/collapse.js +0 -286
  64. package/js/src/common.js +0 -296
  65. package/js/src/dialog.js +0 -579
  66. package/js/src/dropdown.js +0 -525
  67. package/js/src/popover.js +0 -632
  68. package/js/src/section-tabs.js +0 -215
  69. package/js/src/select.js +0 -1342
  70. package/js/src/toast.js +0 -581
  71. package/js/src/tooltip.js +0 -591
  72. package/js/src/util/animate-css.js +0 -22
  73. package/js/src/util/index.js +0 -122
  74. package/js/src/util/perfect-scrollbar.js +0 -1316
  75. package/less/alert.less +0 -345
  76. package/less/badge.less +0 -38
  77. package/less/bootstrap-noconflict.less +0 -23
  78. package/less/bootstrap.less +0 -23
  79. package/less/button-group.less +0 -153
  80. package/less/buttons.less +0 -287
  81. package/less/dialog-noconflict.less +0 -174
  82. package/less/dialog.less +0 -203
  83. package/less/dropdown.less +0 -209
  84. package/less/forms.less +0 -770
  85. package/less/images.less +0 -242
  86. package/less/input-group.less +0 -163
  87. package/less/list-group.less +0 -73
  88. package/less/mixins/aspect-ratio.less +0 -23
  89. package/less/mixins/border-radius.less +0 -24
  90. package/less/mixins/box-shadow.less +0 -4
  91. package/less/mixins/buttons.less +0 -17
  92. package/less/mixins/caret.less +0 -51
  93. package/less/mixins/clearfix.less +0 -10
  94. package/less/mixins/gradients.less +0 -34
  95. package/less/mixins/nav-divider.less +0 -7
  96. package/less/mixins/object-fit.less +0 -13
  97. package/less/mixins/reset-text.less +0 -16
  98. package/less/mixins.less +0 -11
  99. package/less/package.json +0 -11
  100. package/less/pagination.less +0 -69
  101. package/less/popover.less +0 -143
  102. package/less/project.sublime-workspace +0 -774
  103. package/less/reboot.less +0 -235
  104. package/less/section.less +0 -793
  105. package/less/select.less +0 -150
  106. package/less/tables.less +0 -737
  107. package/less/tabs.less +0 -162
  108. package/less/tooltip.less +0 -87
  109. package/less/type.less +0 -71
  110. package/less/utilities/align.less +0 -27
  111. package/less/utilities/animate.less +0 -3512
  112. package/less/utilities/background.less +0 -70
  113. package/less/utilities/borders.less +0 -16
  114. package/less/utilities/color.less +0 -70
  115. package/less/utilities/cursor.less +0 -8
  116. package/less/utilities/display.less +0 -38
  117. package/less/utilities/embed.less +0 -61
  118. package/less/utilities/flex.less +0 -76
  119. package/less/utilities/jquery-ui.less +0 -116
  120. package/less/utilities/lazyload.less +0 -29
  121. package/less/utilities/overflow.less +0 -11
  122. package/less/utilities/pace.less +0 -25
  123. package/less/utilities/placeholder.less +0 -60
  124. package/less/utilities/position.less +0 -42
  125. package/less/utilities/scrollbar.less +0 -152
  126. package/less/utilities/spacing.less +0 -197
  127. package/less/utilities/text.less +0 -68
  128. package/less/utilities/transform.less +0 -7
  129. package/less/utilities.less +0 -21
  130. package/less/variables.less +0 -343
  131. package/scss/LISENCE +0 -15
  132. package/scss/_alert.scss +0 -102
  133. package/scss/_badge.scss +0 -102
  134. package/scss/_button-group.scss +0 -129
  135. package/scss/_buttons.scss +0 -248
  136. package/scss/_custom-forms.scss +0 -444
  137. package/scss/_dialog.scss +0 -160
  138. package/scss/_dropdown.scss +0 -233
  139. package/scss/_forms.scss +0 -258
  140. package/scss/_frame.scss +0 -627
  141. package/scss/_functions.scss +0 -124
  142. package/scss/_grid.scss +0 -35
  143. package/scss/_images.scss +0 -361
  144. package/scss/_input-group.scss +0 -285
  145. package/scss/_list-group.scss +0 -82
  146. package/scss/_mixins.scss +0 -34
  147. package/scss/_navbar.scss +0 -290
  148. package/scss/_notification.scss +0 -13
  149. package/scss/_pagination.scss +0 -88
  150. package/scss/_popover.scss +0 -167
  151. package/scss/_reboot.scss +0 -284
  152. package/scss/_root.scss +0 -15
  153. package/scss/_section.scss +0 -977
  154. package/scss/_select.scss +0 -187
  155. package/scss/_tables.scss +0 -735
  156. package/scss/_tabs.scss +0 -178
  157. package/scss/_toast.scss +0 -182
  158. package/scss/_tooltip.scss +0 -101
  159. package/scss/_type.scss +0 -129
  160. package/scss/_utilities.scss +0 -23
  161. package/scss/_variables.scss +0 -823
  162. package/scss/cool-grid.scss +0 -29
  163. package/scss/cool-reboot.scss +0 -11
  164. package/scss/cool.scss +0 -37
  165. package/scss/mixins/_alert-variant.scss +0 -20
  166. package/scss/mixins/_aspect-ratio.scss +0 -29
  167. package/scss/mixins/_background-variant.scss +0 -25
  168. package/scss/mixins/_badge-variant.scss +0 -36
  169. package/scss/mixins/_breakpoints.scss +0 -102
  170. package/scss/mixins/_buttons.scss +0 -104
  171. package/scss/mixins/_caret.scss +0 -80
  172. package/scss/mixins/_clearfix.scss +0 -10
  173. package/scss/mixins/_float.scss +0 -14
  174. package/scss/mixins/_forms.scss +0 -67
  175. package/scss/mixins/_gradients.scss +0 -40
  176. package/scss/mixins/_grid-framework.scss +0 -72
  177. package/scss/mixins/_grid.scss +0 -60
  178. package/scss/mixins/_nav-divider.scss +0 -9
  179. package/scss/mixins/_notification-variant.scss +0 -7
  180. package/scss/mixins/_object-fit.scss +0 -16
  181. package/scss/mixins/_reset-text.scss +0 -19
  182. package/scss/mixins/_text-emphasis.scss +0 -21
  183. package/scss/mixins/_text-hide.scss +0 -10
  184. package/scss/mixins/_text-truncate.scss +0 -81
  185. package/scss/mixins/_visibility.scss +0 -7
  186. package/scss/project.sublime-workspace +0 -491
  187. package/scss/utilities/_align.scss +0 -41
  188. package/scss/utilities/_animate.scss +0 -3512
  189. package/scss/utilities/_background.scss +0 -14
  190. package/scss/utilities/_borders.scss +0 -146
  191. package/scss/utilities/_clearfix.scss +0 -6
  192. package/scss/utilities/_collapse.scss +0 -33
  193. package/scss/utilities/_cursor.scss +0 -22
  194. package/scss/utilities/_display.scss +0 -16
  195. package/scss/utilities/_embed.scss +0 -78
  196. package/scss/utilities/_flex.scss +0 -52
  197. package/scss/utilities/_lazyload.scss +0 -31
  198. package/scss/utilities/_overflow.scss +0 -6
  199. package/scss/utilities/_perfect-scrollbar.scss +0 -141
  200. package/scss/utilities/_placeholder.scss +0 -77
  201. package/scss/utilities/_position.scss +0 -30
  202. package/scss/utilities/_sizing.scss +0 -32
  203. package/scss/utilities/_spacing.scss +0 -92
  204. package/scss/utilities/_text.scss +0 -99
  205. package/scss/utilities/_user-select.scss +0 -14
  206. package/scss/utilities/_visibility.scss +0 -10
@@ -1 +0,0 @@
1
- {"version":3,"file":"collapse.js","sources":["../src/util/index.js","../src/abstract-ui-component.js","../src/collapse.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 = 'coolCollapse';\nconst DATA_KEY = 'plugin_coolCollapse';\n\nclass Collapse extends AbstractUIComponent {\n\n constructor(el, opts) {\n\n super();\n\n this.opts = {};\n\n if (window.Cool.settings.collapse) {\n\n $.extend(true, this.opts, $.fn[NAME].defaults, window.Cool.settings.dialog, 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.$target = this.$el.data('target') ? $(document).find(this.$el.data('target')) : $(document).find(this.opts.target);\n this.breakpoint = this.$el.data('breakpoint');\n this.expanded = this.$el.attr('aria-expanded') == 'true' ? true : false;\n this.transitionendEvent = this.whichTransitionEvent();\n\n if (this.$target.length) {\n\n this.targetHeight = this.$target.height();\n this.$container = this.$target.closest('.section-collapse');\n this.$indicator = $(document).find('[data-collapse-indicator=\"' + this.$el.data('target') + '\"]');\n\n } else {\n\n this.$target = $(this.$el).parent().find('.collapse');\n this.targetHeight = this.$target.height();\n this.$container = this.$target.closest('.section-collapse');\n this.$indicator = $(this.$el).parent().find('[data-collapse-indicator]');\n }\n\n if (this.expanded) {\n this.$target.css('height', 'auto');\n }\n\n this.log(this.$el);\n this.log(this.$target);\n this.log(this.$container);\n this.log(this.$indicator);\n this.log('Expanded: '+this.expanded);\n this.log('Target height: '+this.targetHeight+'px');\n }\n\n // Bind events that trigger methods\n bindEvents() {\n this.$el.on('click'+'.'+this.name, (e) => {\n if (!this.breakpoint || !window.matchMedia(`(min-width: ${this.breakpoint}px)`).matches) {\n if (this.expanded) {\n this.close();\n } else {\n this.show();\n }\n }\n });\n\n $(window).on('resize', debounce(() => {\n if (this.$target.length) {\n this.targetHeight = this.$target.height();\n this.log('Target height: '+this.targetHeight+'px');\n }\n }, 250));\n }\n\n // Unbind events that trigger methods\n unbindEvents() {\n\n this.$el.off('.'+this.name);\n }\n\n // Which transition\n whichTransitionEvent() {\n\n let el = document.createElement('text-transition');\n let transEndEventNames = {\n 'WebkitTransition': 'webkitTransitionEnd', // Saf 6, Android Browser\n 'MozTransition': 'transitionend', // only for FF < 15\n 'transition': 'transitionend' // IE10, Opera, Chrome, FF 15+, Saf 7+\n };\n\n for (let t in transEndEventNames) {\n\n if (el.style[t] !== undefined) {\n return transEndEventNames[t];\n }\n }\n }\n\n // Show\n show() {\n\n const self = this;\n\n // Update target height if something is added to dom which causes height to change\n if (this.targetHeight !== this.$target.height()) {\n this.targetHeight = this.$target.height();\n }\n\n this.$target.removeClass('collapse show');\n this.$target.addClass('collapsing');\n\n if (this.$el.is('button')) {\n this.$el.attr('disabled', true);\n }\n\n if (this.$container.length) {\n this.$container.addClass('show');\n }\n\n this.$target.css('height');\n this.$target.css('height', this.targetHeight);\n\n if (this.$indicator.length) {\n this.$indicator.addClass('show');\n }\n\n this.$target.on(this.transitionendEvent, function(e) {\n\n if ($(e.target).is(this)) {\n\n self.$target.removeClass('collapsing');\n\n if (self.$el.is('button')) {\n self.$el.attr('disabled', false);\n }\n\n self.$target.removeAttr('style');\n self.$target.addClass('collapse show');\n self.$el.attr('aria-expanded', true);\n self.$target.css('height', 'auto');\n self.expanded = true;\n\n $(this).off(self.transitionendEvent);\n }\n });\n\n this.onShow();\n }\n\n // Close\n close() {\n\n const self = this;\n\n this.$target.removeClass('collapse show');\n this.$target.addClass('collapsing');\n\n if (this.$el.is('button')) {\n this.$el.attr('disabled', true);\n }\n\n if (this.$container.length) {\n this.$container.removeClass('show');\n }\n\n this.$target.css('height', this.$target.height());\n\n setTimeout(() => {\n this.$target.css('height', 0);\n }, 10);\n\n if (this.$indicator.length && this.$indicator.hasClass('show')) {\n this.$indicator.removeClass('show');\n }\n\n this.$target.on(this.transitionendEvent, function(e) {\n\n if ($(e.target).is(this)) {\n\n self.$target.removeClass('collapsing');\n\n if (self.$el.is('button')) {\n self.$el.attr('disabled', false);\n }\n\n self.$target.removeAttr('style');\n self.$target.addClass('collapse');\n self.$el.attr('aria-expanded', false);\n self.expanded = false;\n\n // Update target height if something is added to dom which causes height to change\n if (self.targetHeight !== self.$target.height()) {\n self.targetHeight = self.$target.height();\n }\n\n $(this).off(self.transitionendEvent);\n }\n });\n\n this.onClose();\n }\n\n static _jQueryInterface(config) {\n\n return this.each(function() {\n\n let data = $(this).data(DATA_KEY);\n const _config = typeof config === 'object' && config;\n\n if (!data) {\n data = new Collapse(this, _config);\n $(this).data(DATA_KEY, data);\n }\n\n if (typeof config === 'string') {\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n });\n }\n}\n\nif (typeof $ !== 'undefined') {\n\n // jQuery\n const JQUERY_NO_CONFLICT = $.fn[NAME];\n\n $.fn[NAME] = Collapse._jQueryInterface;\n $.fn[NAME].Constructor = Collapse;\n\n $.fn[NAME].noConflict = () => {\n\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n\n return Collapse._jQueryInterface;\n }\n\n $.fn[NAME].defaults = {\n target: null,\n onInit: null,\n onUpdate: null,\n onDestroy: null,\n onShow: null,\n onClose: null,\n debug: false\n }\n}\n\nexport default Collapse;"],"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","Collapse","el","window","Cool","settings","collapse","extend","fn","defaults","dialog","init","buildCache","bindEvents","destroy","unbindEvents","$el","removeData","update","$target","data","document","find","target","breakpoint","expanded","attr","transitionendEvent","whichTransitionEvent","length","targetHeight","height","$container","closest","$indicator","parent","css","on","name","e","matchMedia","matches","close","show","off","createElement","transEndEventNames","t","style","undefined","self","removeClass","addClass","is","removeAttr","hasClass","_jQueryInterface","config","each","_config","TypeError","JQUERY_NO_CONFLICT","Constructor","noConflict"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EC3EL,IAAMG,I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"}