bootstrap-material-design.min.js 144 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640
  1. (function(e, t) {
  2. 'object' == typeof exports && 'undefined' != typeof module ? t(require('jquery'), require('popper.js')) : 'function' == typeof define && define.amd ? define(['jquery', 'popper.js'], t) : t(e.jQuery, e.Popper)
  3. })(this, function(e, t) {
  4. 'use strict';
  5. function n(e, t) {
  6. for (var n, o = 0; o < t.length; o++) n = t[o], n.enumerable = n.enumerable || !1, n.configurable = !0, 'value' in n && (n.writable = !0), Object.defineProperty(e, n.key, n)
  7. }
  8. function o(e, t, o) {
  9. return t && n(e.prototype, t), o && n(e, o), e
  10. }
  11. function a() {
  12. return a = Object.assign || function(e) {
  13. for (var t, n = 1; n < arguments.length; n++)
  14. for (var o in t = arguments[n], t) Object.prototype.hasOwnProperty.call(t, o) && (e[o] = t[o]);
  15. return e
  16. }, a.apply(this, arguments)
  17. }
  18. function r(e, t) {
  19. e.prototype = Object.create(t.prototype), e.prototype.constructor = e, e.__proto__ = t
  20. }
  21. var i = Math.max;
  22. e = e && e.hasOwnProperty('default') ? e['default'] : e, t = t && t.hasOwnProperty('default') ? t['default'] : t;
  23. var l = function(e) {
  24. function t(e) {
  25. return {}.toString.call(e).match(/\s([a-z]+)/i)[1].toLowerCase()
  26. }
  27. function n() {
  28. return {
  29. bindType: r.end,
  30. delegateType: r.end,
  31. handle: function(t) {
  32. return e(t.target).is(this) ? t.handleObj.handler.apply(this, arguments) : void 0
  33. }
  34. }
  35. }
  36. function o() {
  37. return 'undefined' != typeof window && window.QUnit ? !1 : {
  38. end: 'transitionend'
  39. }
  40. }
  41. function a(t) {
  42. var n = this,
  43. o = !1;
  44. return e(this).one(i.TRANSITION_END, function() {
  45. o = !0
  46. }), setTimeout(function() {
  47. o || i.triggerTransitionEnd(n)
  48. }, t), this
  49. }
  50. var r = !1,
  51. i = {
  52. TRANSITION_END: 'bsTransitionEnd',
  53. getUID: function(e) {
  54. do e += ~~(Math.random() * 1e6); while (document.getElementById(e));
  55. return e
  56. },
  57. getSelectorFromElement: function(t) {
  58. var n = t.getAttribute('data-target');
  59. n && '#' !== n || (n = t.getAttribute('href') || '');
  60. try {
  61. var o = e(document).find(n);
  62. return 0 < o.length ? n : null
  63. } catch (e) {
  64. return null
  65. }
  66. },
  67. reflow: function(e) {
  68. return e.offsetHeight
  69. },
  70. triggerTransitionEnd: function(t) {
  71. e(t).trigger(r.end)
  72. },
  73. supportsTransitionEnd: function() {
  74. return !!r
  75. },
  76. isElement: function(e) {
  77. return (e[0] || e).nodeType
  78. },
  79. typeCheckConfig: function(e, n, o) {
  80. for (var a in o)
  81. if (Object.prototype.hasOwnProperty.call(o, a)) {
  82. var r = o[a],
  83. l = n[a],
  84. s = l && i.isElement(l) ? 'element' : t(l);
  85. if (!new RegExp(r).test(s)) throw new Error(e.toUpperCase() + ': ' + ('Option "' + a + '" provided type "' + s + '" ') + ('but expected type "' + r + '".'))
  86. }
  87. }
  88. };
  89. return function() {
  90. r = o(), e.fn.emulateTransitionEnd = a, i.supportsTransitionEnd() && (e.event.special[i.TRANSITION_END] = n())
  91. }(), i
  92. }(e),
  93. s = function(e) {
  94. var t = 'alert',
  95. n = 'bs.alert',
  96. a = '.' + n,
  97. r = e.fn[t],
  98. i = {
  99. CLOSE: 'close' + a,
  100. CLOSED: 'closed' + a,
  101. CLICK_DATA_API: 'click' + a + '.data-api'
  102. },
  103. s = {
  104. ALERT: 'alert',
  105. FADE: 'fade',
  106. SHOW: 'show'
  107. },
  108. d = function() {
  109. function t(e) {
  110. this._element = e
  111. }
  112. var a = t.prototype;
  113. return a.close = function(e) {
  114. e = e || this._element;
  115. var t = this._getRootElement(e),
  116. n = this._triggerCloseEvent(t);
  117. n.isDefaultPrevented() || this._removeElement(t)
  118. }, a.dispose = function() {
  119. e.removeData(this._element, n), this._element = null
  120. }, a._getRootElement = function(t) {
  121. var n = l.getSelectorFromElement(t),
  122. o = !1;
  123. return n && (o = e(n)[0]), o || (o = e(t).closest('.' + s.ALERT)[0]), o
  124. }, a._triggerCloseEvent = function(t) {
  125. var n = e.Event(i.CLOSE);
  126. return e(t).trigger(n), n
  127. }, a._removeElement = function(t) {
  128. var n = this;
  129. return e(t).removeClass(s.SHOW), l.supportsTransitionEnd() && e(t).hasClass(s.FADE) ? void e(t).one(l.TRANSITION_END, function(e) {
  130. return n._destroyElement(t, e)
  131. }).emulateTransitionEnd(150) : void this._destroyElement(t)
  132. }, a._destroyElement = function(t) {
  133. e(t).detach().trigger(i.CLOSED).remove()
  134. }, t._jQueryInterface = function(o) {
  135. return this.each(function() {
  136. var a = e(this),
  137. r = a.data(n);
  138. r || (r = new t(this), a.data(n, r)), 'close' === o && r[o](this)
  139. })
  140. }, t._handleDismiss = function(e) {
  141. return function(t) {
  142. t && t.preventDefault(), e.close(this)
  143. }
  144. }, o(t, null, [{
  145. key: 'VERSION',
  146. get: function() {
  147. return '4.0.0'
  148. }
  149. }]), t
  150. }();
  151. return e(document).on(i.CLICK_DATA_API, {
  152. DISMISS: '[data-dismiss="alert"]'
  153. }.DISMISS, d._handleDismiss(new d)), e.fn[t] = d._jQueryInterface, e.fn[t].Constructor = d, e.fn[t].noConflict = function() {
  154. return e.fn[t] = r, d._jQueryInterface
  155. }, d
  156. }(e),
  157. d = function(e) {
  158. var t = 'button',
  159. n = 'bs.button',
  160. a = '.' + n,
  161. r = '.data-api',
  162. i = e.fn[t],
  163. l = {
  164. ACTIVE: 'active',
  165. BUTTON: 'btn',
  166. FOCUS: 'focus'
  167. },
  168. s = {
  169. DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
  170. DATA_TOGGLE: '[data-toggle="buttons"]',
  171. INPUT: 'input',
  172. ACTIVE: '.active',
  173. BUTTON: '.btn'
  174. },
  175. d = {
  176. CLICK_DATA_API: 'click' + a + r,
  177. FOCUS_BLUR_DATA_API: 'focus' + a + r + ' ' + ('blur' + a + r)
  178. },
  179. c = function() {
  180. function t(e) {
  181. this._element = e
  182. }
  183. var a = t.prototype;
  184. return a.toggle = function() {
  185. var t = !0,
  186. n = !0,
  187. o = e(this._element).closest(s.DATA_TOGGLE)[0];
  188. if (o) {
  189. var a = e(this._element).find(s.INPUT)[0];
  190. if (a) {
  191. if ('radio' === a.type)
  192. if (a.checked && e(this._element).hasClass(l.ACTIVE)) t = !1;
  193. else {
  194. var r = e(o).find(s.ACTIVE)[0];
  195. r && e(r).removeClass(l.ACTIVE)
  196. }
  197. if (t) {
  198. if (a.hasAttribute('disabled') || o.hasAttribute('disabled') || a.classList.contains('disabled') || o.classList.contains('disabled')) return;
  199. a.checked = !e(this._element).hasClass(l.ACTIVE), e(a).trigger('change')
  200. }
  201. a.focus(), n = !1
  202. }
  203. }
  204. n && this._element.setAttribute('aria-pressed', !e(this._element).hasClass(l.ACTIVE)), t && e(this._element).toggleClass(l.ACTIVE)
  205. }, a.dispose = function() {
  206. e.removeData(this._element, n), this._element = null
  207. }, t._jQueryInterface = function(o) {
  208. return this.each(function() {
  209. var a = e(this).data(n);
  210. a || (a = new t(this), e(this).data(n, a)), 'toggle' === o && a[o]()
  211. })
  212. }, o(t, null, [{
  213. key: 'VERSION',
  214. get: function() {
  215. return '4.0.0'
  216. }
  217. }]), t
  218. }();
  219. return e(document).on(d.CLICK_DATA_API, s.DATA_TOGGLE_CARROT, function(t) {
  220. t.preventDefault();
  221. var n = t.target;
  222. e(n).hasClass(l.BUTTON) || (n = e(n).closest(s.BUTTON)), c._jQueryInterface.call(e(n), 'toggle')
  223. }).on(d.FOCUS_BLUR_DATA_API, s.DATA_TOGGLE_CARROT, function(t) {
  224. var n = e(t.target).closest(s.BUTTON)[0];
  225. e(n).toggleClass(l.FOCUS, /^focus(in)?$/.test(t.type))
  226. }), e.fn[t] = c._jQueryInterface, e.fn[t].Constructor = c, e.fn[t].noConflict = function() {
  227. return e.fn[t] = i, c._jQueryInterface
  228. }, c
  229. }(e),
  230. c = function(e) {
  231. var t = 'carousel',
  232. n = 'bs.carousel',
  233. a = '.' + n,
  234. r = '.data-api',
  235. i = e.fn[t],
  236. s = {
  237. interval: 5e3,
  238. keyboard: !0,
  239. slide: !1,
  240. pause: 'hover',
  241. wrap: !0
  242. },
  243. d = {
  244. interval: '(number|boolean)',
  245. keyboard: 'boolean',
  246. slide: '(boolean|string)',
  247. pause: '(string|boolean)',
  248. wrap: 'boolean'
  249. },
  250. c = {
  251. NEXT: 'next',
  252. PREV: 'prev',
  253. LEFT: 'left',
  254. RIGHT: 'right'
  255. },
  256. _ = {
  257. SLIDE: 'slide' + a,
  258. SLID: 'slid' + a,
  259. KEYDOWN: 'keydown' + a,
  260. MOUSEENTER: 'mouseenter' + a,
  261. MOUSELEAVE: 'mouseleave' + a,
  262. TOUCHEND: 'touchend' + a,
  263. LOAD_DATA_API: 'load' + a + r,
  264. CLICK_DATA_API: 'click' + a + r
  265. },
  266. p = {
  267. CAROUSEL: 'carousel',
  268. ACTIVE: 'active',
  269. SLIDE: 'slide',
  270. RIGHT: 'carousel-item-right',
  271. LEFT: 'carousel-item-left',
  272. NEXT: 'carousel-item-next',
  273. PREV: 'carousel-item-prev',
  274. ITEM: 'carousel-item'
  275. },
  276. m = {
  277. ACTIVE: '.active',
  278. ACTIVE_ITEM: '.active.carousel-item',
  279. ITEM: '.carousel-item',
  280. NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
  281. INDICATORS: '.carousel-indicators',
  282. DATA_SLIDE: '[data-slide], [data-slide-to]',
  283. DATA_RIDE: '[data-ride="carousel"]'
  284. },
  285. g = function() {
  286. function r(t, n) {
  287. this._items = null, this._interval = null, this._activeElement = null, this._isPaused = !1, this._isSliding = !1, this.touchTimeout = null, this._config = this._getConfig(n), this._element = e(t)[0], this._indicatorsElement = e(this._element).find(m.INDICATORS)[0], this._addEventListeners()
  288. }
  289. var i = r.prototype;
  290. return i.next = function() {
  291. this._isSliding || this._slide(c.NEXT)
  292. }, i.nextWhenVisible = function() {
  293. document.hidden || this.next()
  294. }, i.prev = function() {
  295. this._isSliding || this._slide(c.PREV)
  296. }, i.pause = function(t) {
  297. t || (this._isPaused = !0), e(this._element).find(m.NEXT_PREV)[0] && l.supportsTransitionEnd() && (l.triggerTransitionEnd(this._element), this.cycle(!0)), clearInterval(this._interval), this._interval = null
  298. }, i.cycle = function(e) {
  299. e || (this._isPaused = !1), this._interval && (clearInterval(this._interval), this._interval = null), this._config.interval && !this._isPaused && (this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval))
  300. }, i.to = function(t) {
  301. var n = this;
  302. this._activeElement = e(this._element).find(m.ACTIVE_ITEM)[0];
  303. var o = this._getItemIndex(this._activeElement);
  304. if (!(t > this._items.length - 1 || 0 > t)) {
  305. if (this._isSliding) return void e(this._element).one(_.SLID, function() {
  306. return n.to(t)
  307. });
  308. if (o === t) return this.pause(), void this.cycle();
  309. var a = t > o ? c.NEXT : c.PREV;
  310. this._slide(a, this._items[t])
  311. }
  312. }, i.dispose = function() {
  313. e(this._element).off(a), e.removeData(this._element, n), this._items = null, this._config = null, this._element = null, this._interval = null, this._isPaused = null, this._isSliding = null, this._activeElement = null, this._indicatorsElement = null
  314. }, i._getConfig = function(n) {
  315. return n = e.extend({}, s, n), l.typeCheckConfig(t, n, d), n
  316. }, i._addEventListeners = function() {
  317. var t = this;
  318. this._config.keyboard && e(this._element).on(_.KEYDOWN, function(e) {
  319. return t._keydown(e)
  320. }), 'hover' === this._config.pause && (e(this._element).on(_.MOUSEENTER, function(e) {
  321. return t.pause(e)
  322. }).on(_.MOUSELEAVE, function(e) {
  323. return t.cycle(e)
  324. }), 'ontouchstart' in document.documentElement && e(this._element).on(_.TOUCHEND, function() {
  325. t.pause(), t.touchTimeout && clearTimeout(t.touchTimeout), t.touchTimeout = setTimeout(function(e) {
  326. return t.cycle(e)
  327. }, 500 + t._config.interval)
  328. }))
  329. }, i._keydown = function(e) {
  330. if (!/input|textarea/i.test(e.target.tagName)) switch (e.which) {
  331. case 37:
  332. e.preventDefault(), this.prev();
  333. break;
  334. case 39:
  335. e.preventDefault(), this.next();
  336. break;
  337. default:
  338. }
  339. }, i._getItemIndex = function(t) {
  340. return this._items = e.makeArray(e(t).parent().find(m.ITEM)), this._items.indexOf(t)
  341. }, i._getItemByDirection = function(e, t) {
  342. var n = e === c.NEXT,
  343. o = e === c.PREV,
  344. a = this._getItemIndex(t),
  345. r = this._items.length - 1;
  346. if ((o && 0 === a || n && a === r) && !this._config.wrap) return t;
  347. var i = e === c.PREV ? -1 : 1,
  348. l = (a + i) % this._items.length;
  349. return -1 == l ? this._items[this._items.length - 1] : this._items[l]
  350. }, i._triggerSlideEvent = function(t, n) {
  351. var o = this._getItemIndex(t),
  352. a = this._getItemIndex(e(this._element).find(m.ACTIVE_ITEM)[0]),
  353. r = e.Event(_.SLIDE, {
  354. relatedTarget: t,
  355. direction: n,
  356. from: a,
  357. to: o
  358. });
  359. return e(this._element).trigger(r), r
  360. }, i._setActiveIndicatorElement = function(t) {
  361. if (this._indicatorsElement) {
  362. e(this._indicatorsElement).find(m.ACTIVE).removeClass(p.ACTIVE);
  363. var n = this._indicatorsElement.children[this._getItemIndex(t)];
  364. n && e(n).addClass(p.ACTIVE)
  365. }
  366. }, i._slide = function(t, n) {
  367. var o, a, r, i = this,
  368. s = e(this._element).find(m.ACTIVE_ITEM)[0],
  369. d = this._getItemIndex(s),
  370. g = n || s && this._getItemByDirection(t, s),
  371. f = this._getItemIndex(g),
  372. u = !!this._interval;
  373. if (t === c.NEXT ? (o = p.LEFT, a = p.NEXT, r = c.LEFT) : (o = p.RIGHT, a = p.PREV, r = c.RIGHT), g && e(g).hasClass(p.ACTIVE)) return void(this._isSliding = !1);
  374. var E = this._triggerSlideEvent(g, r);
  375. if (!E.isDefaultPrevented() && s && g) {
  376. this._isSliding = !0, u && this.pause(), this._setActiveIndicatorElement(g);
  377. var h = e.Event(_.SLID, {
  378. relatedTarget: g,
  379. direction: r,
  380. from: d,
  381. to: f
  382. });
  383. l.supportsTransitionEnd() && e(this._element).hasClass(p.SLIDE) ? (e(g).addClass(a), l.reflow(g), e(s).addClass(o), e(g).addClass(o), e(s).one(l.TRANSITION_END, function() {
  384. e(g).removeClass(o + ' ' + a).addClass(p.ACTIVE), e(s).removeClass(p.ACTIVE + ' ' + a + ' ' + o), i._isSliding = !1, setTimeout(function() {
  385. return e(i._element).trigger(h)
  386. }, 0)
  387. }).emulateTransitionEnd(600)) : (e(s).removeClass(p.ACTIVE), e(g).addClass(p.ACTIVE), this._isSliding = !1, e(this._element).trigger(h)), u && this.cycle()
  388. }
  389. }, r._jQueryInterface = function(t) {
  390. return this.each(function() {
  391. var o = e(this).data(n),
  392. a = e.extend({}, s, e(this).data());
  393. 'object' == typeof t && e.extend(a, t);
  394. var i = 'string' == typeof t ? t : a.slide;
  395. if (o || (o = new r(this, a), e(this).data(n, o)), 'number' == typeof t) o.to(t);
  396. else if ('string' == typeof i) {
  397. if (void 0 === o[i]) throw new Error('No method named "' + i + '"');
  398. o[i]()
  399. } else a.interval && (o.pause(), o.cycle())
  400. })
  401. }, r._dataApiClickHandler = function(t) {
  402. var o = l.getSelectorFromElement(this);
  403. if (o) {
  404. var a = e(o)[0];
  405. if (a && e(a).hasClass(p.CAROUSEL)) {
  406. var i = e.extend({}, e(a).data(), e(this).data()),
  407. s = this.getAttribute('data-slide-to');
  408. s && (i.interval = !1), r._jQueryInterface.call(e(a), i), s && e(a).data(n).to(s), t.preventDefault()
  409. }
  410. }
  411. }, o(r, null, [{
  412. key: 'VERSION',
  413. get: function() {
  414. return '4.0.0-beta'
  415. }
  416. }, {
  417. key: 'Default',
  418. get: function() {
  419. return s
  420. }
  421. }]), r
  422. }();
  423. return e(document).on(_.CLICK_DATA_API, m.DATA_SLIDE, g._dataApiClickHandler), e(window).on(_.LOAD_DATA_API, function() {
  424. e(m.DATA_RIDE).each(function() {
  425. var t = e(this);
  426. g._jQueryInterface.call(t, t.data())
  427. })
  428. }), e.fn[t] = g._jQueryInterface, e.fn[t].Constructor = g, e.fn[t].noConflict = function() {
  429. return e.fn[t] = i, g._jQueryInterface
  430. }, g
  431. }(jQuery),
  432. _ = function(e) {
  433. var t = 'collapse',
  434. n = 'bs.collapse',
  435. r = '.' + n,
  436. i = e.fn[t],
  437. s = 600,
  438. d = {
  439. toggle: !0,
  440. parent: ''
  441. },
  442. c = {
  443. toggle: 'boolean',
  444. parent: '(string|element)'
  445. },
  446. _ = {
  447. SHOW: 'show' + r,
  448. SHOWN: 'shown' + r,
  449. HIDE: 'hide' + r,
  450. HIDDEN: 'hidden' + r,
  451. CLICK_DATA_API: 'click' + r + '.data-api'
  452. },
  453. p = {
  454. SHOW: 'show',
  455. COLLAPSE: 'collapse',
  456. COLLAPSING: 'collapsing',
  457. COLLAPSED: 'collapsed'
  458. },
  459. m = {
  460. WIDTH: 'width',
  461. HEIGHT: 'height'
  462. },
  463. g = {
  464. ACTIVES: '.show, .collapsing',
  465. DATA_TOGGLE: '[data-toggle="collapse"]'
  466. },
  467. f = function() {
  468. function r(t, n) {
  469. this._isTransitioning = !1, this._element = t, this._config = this._getConfig(n), this._triggerArray = e.makeArray(e('[data-toggle="collapse"][href="#' + t.id + '"],' + ('[data-toggle="collapse"][data-target="#' + t.id + '"]')));
  470. for (var o = e(g.DATA_TOGGLE), a = 0; a < o.length; a++) {
  471. var r = o[a],
  472. i = l.getSelectorFromElement(r);
  473. null !== i && 0 < e(i).filter(t).length && (this._selector = i, this._triggerArray.push(r))
  474. }
  475. this._parent = this._config.parent ? this._getParent() : null, this._config.parent || this._addAriaAndCollapsedClass(this._element, this._triggerArray), this._config.toggle && this.toggle()
  476. }
  477. var i = r.prototype;
  478. return i.toggle = function() {
  479. e(this._element).hasClass(p.SHOW) ? this.hide() : this.show()
  480. }, i.show = function() {
  481. var t = this;
  482. if (!(this._isTransitioning || e(this._element).hasClass(p.SHOW))) {
  483. var o, a;
  484. if (this._parent && (o = e.makeArray(e(this._parent).find(g.ACTIVES).filter('[data-parent="' + this._config.parent + '"]')), 0 === o.length && (o = null)), !(o && (a = e(o).not(this._selector).data(n), a && a._isTransitioning))) {
  485. var i = e.Event(_.SHOW);
  486. if (e(this._element).trigger(i), !i.isDefaultPrevented()) {
  487. o && (r._jQueryInterface.call(e(o).not(this._selector), 'hide'), !a && e(o).data(n, null));
  488. var d = this._getDimension();
  489. e(this._element).removeClass(p.COLLAPSE).addClass(p.COLLAPSING), this._element.style[d] = 0, 0 < this._triggerArray.length && e(this._triggerArray).removeClass(p.COLLAPSED).attr('aria-expanded', !0), this.setTransitioning(!0);
  490. var c = function() {
  491. e(t._element).removeClass(p.COLLAPSING).addClass(p.COLLAPSE).addClass(p.SHOW), t._element.style[d] = '', t.setTransitioning(!1), e(t._element).trigger(_.SHOWN)
  492. };
  493. if (!l.supportsTransitionEnd()) return void c();
  494. var m = d[0].toUpperCase() + d.slice(1);
  495. e(this._element).one(l.TRANSITION_END, c).emulateTransitionEnd(s), this._element.style[d] = this._element['scroll' + m] + 'px'
  496. }
  497. }
  498. }
  499. }, i.hide = function() {
  500. var t = this;
  501. if (!this._isTransitioning && e(this._element).hasClass(p.SHOW)) {
  502. var n = e.Event(_.HIDE);
  503. if (e(this._element).trigger(n), !n.isDefaultPrevented()) {
  504. var o = this._getDimension();
  505. if (this._element.style[o] = this._element.getBoundingClientRect()[o] + 'px', l.reflow(this._element), e(this._element).addClass(p.COLLAPSING).removeClass(p.COLLAPSE).removeClass(p.SHOW), 0 < this._triggerArray.length)
  506. for (var a = 0; a < this._triggerArray.length; a++) {
  507. var r = this._triggerArray[a],
  508. i = l.getSelectorFromElement(r);
  509. if (null !== i) {
  510. var d = e(i);
  511. d.hasClass(p.SHOW) || e(r).addClass(p.COLLAPSED).attr('aria-expanded', !1)
  512. }
  513. }
  514. this.setTransitioning(!0);
  515. var c = function() {
  516. t.setTransitioning(!1), e(t._element).removeClass(p.COLLAPSING).addClass(p.COLLAPSE).trigger(_.HIDDEN)
  517. };
  518. return this._element.style[o] = '', l.supportsTransitionEnd() ? void e(this._element).one(l.TRANSITION_END, c).emulateTransitionEnd(s) : void c()
  519. }
  520. }
  521. }, i.setTransitioning = function(e) {
  522. this._isTransitioning = e
  523. }, i.dispose = function() {
  524. e.removeData(this._element, n), this._config = null, this._parent = null, this._element = null, this._triggerArray = null, this._isTransitioning = null
  525. }, i._getConfig = function(e) {
  526. return e = a({}, d, e), e.toggle = !!e.toggle, l.typeCheckConfig(t, e, c), e
  527. }, i._getDimension = function() {
  528. var t = e(this._element).hasClass(m.WIDTH);
  529. return t ? m.WIDTH : m.HEIGHT
  530. }, i._getParent = function() {
  531. var t = this,
  532. n = null;
  533. l.isElement(this._config.parent) ? (n = this._config.parent, 'undefined' != typeof this._config.parent.jquery && (n = this._config.parent[0])) : n = e(this._config.parent)[0];
  534. var o = '[data-toggle="collapse"][data-parent="' + this._config.parent + '"]';
  535. return e(n).find(o).each(function(e, n) {
  536. t._addAriaAndCollapsedClass(r._getTargetFromElement(n), [n])
  537. }), n
  538. }, i._addAriaAndCollapsedClass = function(t, n) {
  539. if (t) {
  540. var o = e(t).hasClass(p.SHOW);
  541. 0 < n.length && e(n).toggleClass(p.COLLAPSED, !o).attr('aria-expanded', o)
  542. }
  543. }, r._getTargetFromElement = function(t) {
  544. var n = l.getSelectorFromElement(t);
  545. return n ? e(n)[0] : null
  546. }, r._jQueryInterface = function(t) {
  547. return this.each(function() {
  548. var o = e(this),
  549. i = o.data(n),
  550. l = a({}, d, o.data(), 'object' == typeof t && t);
  551. if (!i && l.toggle && /show|hide/.test(t) && (l.toggle = !1), i || (i = new r(this, l), o.data(n, i)), 'string' == typeof t) {
  552. if ('undefined' == typeof i[t]) throw new TypeError('No method named "' + t + '"');
  553. i[t]()
  554. }
  555. })
  556. }, o(r, null, [{
  557. key: 'VERSION',
  558. get: function() {
  559. return '4.0.0'
  560. }
  561. }, {
  562. key: 'Default',
  563. get: function() {
  564. return d
  565. }
  566. }]), r
  567. }();
  568. return e(document).on(_.CLICK_DATA_API, g.DATA_TOGGLE, function(t) {
  569. 'A' === t.currentTarget.tagName && t.preventDefault();
  570. var o = e(this),
  571. a = l.getSelectorFromElement(this);
  572. e(a).each(function() {
  573. var t = e(this),
  574. a = t.data(n),
  575. r = a ? 'toggle' : o.data();
  576. f._jQueryInterface.call(t, r)
  577. })
  578. }), e.fn[t] = f._jQueryInterface, e.fn[t].Constructor = f, e.fn[t].noConflict = function() {
  579. return e.fn[t] = i, f._jQueryInterface
  580. }, f
  581. }(e),
  582. p = function(e) {
  583. var t = 'modal',
  584. n = 'bs.modal',
  585. r = '.' + n,
  586. i = e.fn[t],
  587. s = 300,
  588. d = 150,
  589. c = {
  590. backdrop: !0,
  591. keyboard: !0,
  592. focus: !0,
  593. show: !0
  594. },
  595. _ = {
  596. backdrop: '(boolean|string)',
  597. keyboard: 'boolean',
  598. focus: 'boolean',
  599. show: 'boolean'
  600. },
  601. p = {
  602. HIDE: 'hide' + r,
  603. HIDDEN: 'hidden' + r,
  604. SHOW: 'show' + r,
  605. SHOWN: 'shown' + r,
  606. FOCUSIN: 'focusin' + r,
  607. RESIZE: 'resize' + r,
  608. CLICK_DISMISS: 'click.dismiss' + r,
  609. KEYDOWN_DISMISS: 'keydown.dismiss' + r,
  610. MOUSEUP_DISMISS: 'mouseup.dismiss' + r,
  611. MOUSEDOWN_DISMISS: 'mousedown.dismiss' + r,
  612. CLICK_DATA_API: 'click' + r + '.data-api'
  613. },
  614. m = {
  615. SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
  616. BACKDROP: 'modal-backdrop',
  617. OPEN: 'modal-open',
  618. FADE: 'fade',
  619. SHOW: 'show'
  620. },
  621. g = {
  622. DIALOG: '.modal-dialog',
  623. DATA_TOGGLE: '[data-toggle="modal"]',
  624. DATA_DISMISS: '[data-dismiss="modal"]',
  625. FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
  626. STICKY_CONTENT: '.sticky-top',
  627. NAVBAR_TOGGLER: '.navbar-toggler'
  628. },
  629. f = function() {
  630. function i(t, n) {
  631. this._config = this._getConfig(n), this._element = t, this._dialog = e(t).find(g.DIALOG)[0], this._backdrop = null, this._isShown = !1, this._isBodyOverflowing = !1, this._ignoreBackdropClick = !1, this._originalBodyPadding = 0, this._scrollbarWidth = 0
  632. }
  633. var f = i.prototype;
  634. return f.toggle = function(e) {
  635. return this._isShown ? this.hide() : this.show(e)
  636. }, f.show = function(t) {
  637. var n = this;
  638. if (!(this._isTransitioning || this._isShown)) {
  639. l.supportsTransitionEnd() && e(this._element).hasClass(m.FADE) && (this._isTransitioning = !0);
  640. var o = e.Event(p.SHOW, {
  641. relatedTarget: t
  642. });
  643. e(this._element).trigger(o), this._isShown || o.isDefaultPrevented() || (this._isShown = !0, this._checkScrollbar(), this._setScrollbar(), this._adjustDialog(), e(document.body).addClass(m.OPEN), this._setEscapeEvent(), this._setResizeEvent(), e(this._element).on(p.CLICK_DISMISS, g.DATA_DISMISS, function(e) {
  644. return n.hide(e)
  645. }), e(this._dialog).on(p.MOUSEDOWN_DISMISS, function() {
  646. e(n._element).one(p.MOUSEUP_DISMISS, function(t) {
  647. e(t.target).is(n._element) && (n._ignoreBackdropClick = !0)
  648. })
  649. }), this._showBackdrop(function() {
  650. return n._showElement(t)
  651. }))
  652. }
  653. }, f.hide = function(t) {
  654. var n = this;
  655. if (t && t.preventDefault(), !this._isTransitioning && this._isShown) {
  656. var o = e.Event(p.HIDE);
  657. if (e(this._element).trigger(o), this._isShown && !o.isDefaultPrevented()) {
  658. this._isShown = !1;
  659. var a = l.supportsTransitionEnd() && e(this._element).hasClass(m.FADE);
  660. a && (this._isTransitioning = !0), this._setEscapeEvent(), this._setResizeEvent(), e(document).off(p.FOCUSIN), e(this._element).removeClass(m.SHOW), e(this._element).off(p.CLICK_DISMISS), e(this._dialog).off(p.MOUSEDOWN_DISMISS), a ? e(this._element).one(l.TRANSITION_END, function(e) {
  661. return n._hideModal(e)
  662. }).emulateTransitionEnd(s) : this._hideModal()
  663. }
  664. }
  665. }, f.dispose = function() {
  666. e.removeData(this._element, n), e(window, document, this._element, this._backdrop).off(r), this._config = null, this._element = null, this._dialog = null, this._backdrop = null, this._isShown = null, this._isBodyOverflowing = null, this._ignoreBackdropClick = null, this._scrollbarWidth = null
  667. }, f.handleUpdate = function() {
  668. this._adjustDialog()
  669. }, f._getConfig = function(e) {
  670. return e = a({}, c, e), l.typeCheckConfig(t, e, _), e
  671. }, f._showElement = function(t) {
  672. var n = this,
  673. o = l.supportsTransitionEnd() && e(this._element).hasClass(m.FADE);
  674. this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE || document.body.appendChild(this._element), this._element.style.display = 'block', this._element.removeAttribute('aria-hidden'), this._element.scrollTop = 0, o && l.reflow(this._element), e(this._element).addClass(m.SHOW), this._config.focus && this._enforceFocus();
  675. var a = e.Event(p.SHOWN, {
  676. relatedTarget: t
  677. }),
  678. r = function() {
  679. n._config.focus && n._element.focus(), n._isTransitioning = !1, e(n._element).trigger(a)
  680. };
  681. o ? e(this._dialog).one(l.TRANSITION_END, r).emulateTransitionEnd(s) : r()
  682. }, f._enforceFocus = function() {
  683. var t = this;
  684. e(document).off(p.FOCUSIN).on(p.FOCUSIN, function(n) {
  685. document !== n.target && t._element !== n.target && 0 === e(t._element).has(n.target).length && t._element.focus()
  686. })
  687. }, f._setEscapeEvent = function() {
  688. var t = this;
  689. this._isShown && this._config.keyboard ? e(this._element).on(p.KEYDOWN_DISMISS, function(e) {
  690. e.which === 27 && (e.preventDefault(), t.hide())
  691. }) : !this._isShown && e(this._element).off(p.KEYDOWN_DISMISS)
  692. }, f._setResizeEvent = function() {
  693. var t = this;
  694. this._isShown ? e(window).on(p.RESIZE, function(e) {
  695. return t.handleUpdate(e)
  696. }) : e(window).off(p.RESIZE)
  697. }, f._hideModal = function() {
  698. var t = this;
  699. this._element.style.display = 'none', this._element.setAttribute('aria-hidden', !0), this._isTransitioning = !1, this._showBackdrop(function() {
  700. e(document.body).removeClass(m.OPEN), t._resetAdjustments(), t._resetScrollbar(), e(t._element).trigger(p.HIDDEN)
  701. })
  702. }, f._removeBackdrop = function() {
  703. this._backdrop && (e(this._backdrop).remove(), this._backdrop = null)
  704. }, f._showBackdrop = function(t) {
  705. var n = this,
  706. o = e(this._element).hasClass(m.FADE) ? m.FADE : '';
  707. if (this._isShown && this._config.backdrop) {
  708. var a = l.supportsTransitionEnd() && o;
  709. if (this._backdrop = document.createElement('div'), this._backdrop.className = m.BACKDROP, o && e(this._backdrop).addClass(o), e(this._backdrop).appendTo(document.body), e(this._element).on(p.CLICK_DISMISS, function(e) {
  710. return n._ignoreBackdropClick ? void(n._ignoreBackdropClick = !1) : void(e.target !== e.currentTarget || ('static' === n._config.backdrop ? n._element.focus() : n.hide()))
  711. }), a && l.reflow(this._backdrop), e(this._backdrop).addClass(m.SHOW), !t) return;
  712. if (!a) return void t();
  713. e(this._backdrop).one(l.TRANSITION_END, t).emulateTransitionEnd(d)
  714. } else if (!this._isShown && this._backdrop) {
  715. e(this._backdrop).removeClass(m.SHOW);
  716. var r = function() {
  717. n._removeBackdrop(), t && t()
  718. };
  719. l.supportsTransitionEnd() && e(this._element).hasClass(m.FADE) ? e(this._backdrop).one(l.TRANSITION_END, r).emulateTransitionEnd(d) : r()
  720. } else t && t()
  721. }, f._adjustDialog = function() {
  722. var e = this._element.scrollHeight > document.documentElement.clientHeight;
  723. !this._isBodyOverflowing && e && (this._element.style.paddingLeft = this._scrollbarWidth + 'px'), this._isBodyOverflowing && !e && (this._element.style.paddingRight = this._scrollbarWidth + 'px')
  724. }, f._resetAdjustments = function() {
  725. this._element.style.paddingLeft = '', this._element.style.paddingRight = ''
  726. }, f._checkScrollbar = function() {
  727. var e = document.body.getBoundingClientRect();
  728. this._isBodyOverflowing = e.left + e.right < window.innerWidth, this._scrollbarWidth = this._getScrollbarWidth()
  729. }, f._setScrollbar = function() {
  730. var t = this;
  731. if (this._isBodyOverflowing) {
  732. e(g.FIXED_CONTENT).each(function(n, o) {
  733. var a = e(o)[0].style.paddingRight,
  734. r = e(o).css('padding-right');
  735. e(o).data('padding-right', a).css('padding-right', parseFloat(r) + t._scrollbarWidth + 'px')
  736. }), e(g.STICKY_CONTENT).each(function(n, o) {
  737. var a = e(o)[0].style.marginRight,
  738. r = e(o).css('margin-right');
  739. e(o).data('margin-right', a).css('margin-right', parseFloat(r) - t._scrollbarWidth + 'px')
  740. }), e(g.NAVBAR_TOGGLER).each(function(n, o) {
  741. var a = e(o)[0].style.marginRight,
  742. r = e(o).css('margin-right');
  743. e(o).data('margin-right', a).css('margin-right', parseFloat(r) + t._scrollbarWidth + 'px')
  744. });
  745. var n = document.body.style.paddingRight,
  746. o = e('body').css('padding-right');
  747. e('body').data('padding-right', n).css('padding-right', parseFloat(o) + this._scrollbarWidth + 'px')
  748. }
  749. }, f._resetScrollbar = function() {
  750. e(g.FIXED_CONTENT).each(function(t, n) {
  751. var o = e(n).data('padding-right');
  752. 'undefined' != typeof o && e(n).css('padding-right', o).removeData('padding-right')
  753. }), e(g.STICKY_CONTENT + ', ' + g.NAVBAR_TOGGLER).each(function(t, n) {
  754. var o = e(n).data('margin-right');
  755. 'undefined' != typeof o && e(n).css('margin-right', o).removeData('margin-right')
  756. });
  757. var t = e('body').data('padding-right');
  758. 'undefined' != typeof t && e('body').css('padding-right', t).removeData('padding-right')
  759. }, f._getScrollbarWidth = function() {
  760. var e = document.createElement('div');
  761. e.className = m.SCROLLBAR_MEASURER, document.body.appendChild(e);
  762. var t = e.getBoundingClientRect().width - e.clientWidth;
  763. return document.body.removeChild(e), t
  764. }, i._jQueryInterface = function(t, o) {
  765. return this.each(function() {
  766. var r = e(this).data(n),
  767. l = a({}, i.Default, e(this).data(), 'object' == typeof t && t);
  768. if (r || (r = new i(this, l), e(this).data(n, r)), 'string' == typeof t) {
  769. if ('undefined' == typeof r[t]) throw new TypeError('No method named "' + t + '"');
  770. r[t](o)
  771. } else l.show && r.show(o)
  772. })
  773. }, o(i, null, [{
  774. key: 'VERSION',
  775. get: function() {
  776. return '4.0.0'
  777. }
  778. }, {
  779. key: 'Default',
  780. get: function() {
  781. return c
  782. }
  783. }]), i
  784. }();
  785. return e(document).on(p.CLICK_DATA_API, g.DATA_TOGGLE, function(t) {
  786. var o, r = this,
  787. i = l.getSelectorFromElement(this);
  788. i && (o = e(i)[0]);
  789. var s = e(o).data(n) ? 'toggle' : a({}, e(o).data(), e(this).data());
  790. ('A' === this.tagName || 'AREA' === this.tagName) && t.preventDefault();
  791. var d = e(o).one(p.SHOW, function(t) {
  792. t.isDefaultPrevented() || d.one(p.HIDDEN, function() {
  793. e(r).is(':visible') && r.focus()
  794. })
  795. });
  796. f._jQueryInterface.call(e(o), s, this)
  797. }), e.fn[t] = f._jQueryInterface, e.fn[t].Constructor = f, e.fn[t].noConflict = function() {
  798. return e.fn[t] = i, f._jQueryInterface
  799. }, f
  800. }(e),
  801. m = function(e) {
  802. var n = 'tooltip',
  803. r = 'bs.tooltip',
  804. i = '.' + r,
  805. s = e.fn[n],
  806. d = /(^|\s)bs-tooltip\S+/g,
  807. c = {
  808. animation: 'boolean',
  809. template: 'string',
  810. title: '(string|element|function)',
  811. trigger: 'string',
  812. delay: '(number|object)',
  813. html: 'boolean',
  814. selector: '(string|boolean)',
  815. placement: '(string|function)',
  816. offset: '(number|string)',
  817. container: '(string|element|boolean)',
  818. fallbackPlacement: '(string|array)',
  819. boundary: '(string|element)'
  820. },
  821. _ = {
  822. AUTO: 'auto',
  823. TOP: 'top',
  824. RIGHT: 'right',
  825. BOTTOM: 'bottom',
  826. LEFT: 'left'
  827. },
  828. p = {
  829. animation: !0,
  830. template: '<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',
  831. trigger: 'hover focus',
  832. title: '',
  833. delay: 0,
  834. html: !1,
  835. selector: !1,
  836. placement: 'top',
  837. offset: 0,
  838. container: !1,
  839. fallbackPlacement: 'flip',
  840. boundary: 'scrollParent'
  841. },
  842. m = {
  843. SHOW: 'show',
  844. OUT: 'out'
  845. },
  846. g = {
  847. HIDE: 'hide' + i,
  848. HIDDEN: 'hidden' + i,
  849. SHOW: 'show' + i,
  850. SHOWN: 'shown' + i,
  851. INSERTED: 'inserted' + i,
  852. CLICK: 'click' + i,
  853. FOCUSIN: 'focusin' + i,
  854. FOCUSOUT: 'focusout' + i,
  855. MOUSEENTER: 'mouseenter' + i,
  856. MOUSELEAVE: 'mouseleave' + i
  857. },
  858. f = {
  859. FADE: 'fade',
  860. SHOW: 'show'
  861. },
  862. u = {
  863. TOOLTIP: '.tooltip',
  864. TOOLTIP_INNER: '.tooltip-inner',
  865. ARROW: '.arrow'
  866. },
  867. E = {
  868. HOVER: 'hover',
  869. FOCUS: 'focus',
  870. CLICK: 'click',
  871. MANUAL: 'manual'
  872. },
  873. h = function() {
  874. function s(e, n) {
  875. if ('undefined' == typeof t) throw new TypeError('Bootstrap tooltips require Popper.js (https://popper.js.org)');
  876. this._isEnabled = !0, this._timeout = 0, this._hoverState = '', this._activeTrigger = {}, this._popper = null, this.element = e, this.config = this._getConfig(n), this.tip = null, this._setListeners()
  877. }
  878. var h = s.prototype;
  879. return h.enable = function() {
  880. this._isEnabled = !0
  881. }, h.disable = function() {
  882. this._isEnabled = !1
  883. }, h.toggleEnabled = function() {
  884. this._isEnabled = !this._isEnabled
  885. }, h.toggle = function(t) {
  886. if (this._isEnabled)
  887. if (t) {
  888. var n = this.constructor.DATA_KEY,
  889. o = e(t.currentTarget).data(n);
  890. o || (o = new this.constructor(t.currentTarget, this._getDelegateConfig()), e(t.currentTarget).data(n, o)), o._activeTrigger.click = !o._activeTrigger.click, o._isWithActiveTrigger() ? o._enter(null, o) : o._leave(null, o)
  891. } else {
  892. if (e(this.getTipElement()).hasClass(f.SHOW)) return void this._leave(null, this);
  893. this._enter(null, this)
  894. }
  895. }, h.dispose = function() {
  896. clearTimeout(this._timeout), e.removeData(this.element, this.constructor.DATA_KEY), e(this.element).off(this.constructor.EVENT_KEY), e(this.element).closest('.modal').off('hide.bs.modal'), this.tip && e(this.tip).remove(), this._isEnabled = null, this._timeout = null, this._hoverState = null, this._activeTrigger = null, null !== this._popper && this._popper.destroy(), this._popper = null, this.element = null, this.config = null, this.tip = null
  897. }, h.show = function() {
  898. var n = this;
  899. if ('none' === e(this.element).css('display')) throw new Error('Please use show on visible elements');
  900. var o = e.Event(this.constructor.Event.SHOW);
  901. if (this.isWithContent() && this._isEnabled) {
  902. e(this.element).trigger(o);
  903. var a = e.contains(this.element.ownerDocument.documentElement, this.element);
  904. if (o.isDefaultPrevented() || !a) return;
  905. var r = this.getTipElement(),
  906. i = l.getUID(this.constructor.NAME);
  907. r.setAttribute('id', i), this.element.setAttribute('aria-describedby', i), this.setContent(), this.config.animation && e(r).addClass(f.FADE);
  908. var d = 'function' == typeof this.config.placement ? this.config.placement.call(this, r, this.element) : this.config.placement,
  909. c = this._getAttachment(d);
  910. this.addAttachmentClass(c);
  911. var _ = !1 === this.config.container ? document.body : e(this.config.container);
  912. e(r).data(this.constructor.DATA_KEY, this), e.contains(this.element.ownerDocument.documentElement, this.tip) || e(r).appendTo(_), e(this.element).trigger(this.constructor.Event.INSERTED), this._popper = new t(this.element, r, {
  913. placement: c,
  914. modifiers: {
  915. offset: {
  916. offset: this.config.offset
  917. },
  918. flip: {
  919. behavior: this.config.fallbackPlacement
  920. },
  921. arrow: {
  922. element: u.ARROW
  923. },
  924. preventOverflow: {
  925. boundariesElement: this.config.boundary
  926. }
  927. },
  928. onCreate: function(e) {
  929. e.originalPlacement !== e.placement && n._handlePopperPlacementChange(e)
  930. },
  931. onUpdate: function(e) {
  932. n._handlePopperPlacementChange(e)
  933. }
  934. }), e(r).addClass(f.SHOW), 'ontouchstart' in document.documentElement && e('body').children().on('mouseover', null, e.noop);
  935. var p = function() {
  936. n.config.animation && n._fixTransition();
  937. var t = n._hoverState;
  938. n._hoverState = null, e(n.element).trigger(n.constructor.Event.SHOWN), t === m.OUT && n._leave(null, n)
  939. };
  940. l.supportsTransitionEnd() && e(this.tip).hasClass(f.FADE) ? e(this.tip).one(l.TRANSITION_END, p).emulateTransitionEnd(s._TRANSITION_DURATION) : p()
  941. }
  942. }, h.hide = function(t) {
  943. var n = this,
  944. o = this.getTipElement(),
  945. a = e.Event(this.constructor.Event.HIDE),
  946. r = function() {
  947. n._hoverState !== m.SHOW && o.parentNode && o.parentNode.removeChild(o), n._cleanTipClass(), n.element.removeAttribute('aria-describedby'), e(n.element).trigger(n.constructor.Event.HIDDEN), null !== n._popper && n._popper.destroy(), t && t()
  948. };
  949. e(this.element).trigger(a), a.isDefaultPrevented() || (e(o).removeClass(f.SHOW), 'ontouchstart' in document.documentElement && e('body').children().off('mouseover', null, e.noop), this._activeTrigger[E.CLICK] = !1, this._activeTrigger[E.FOCUS] = !1, this._activeTrigger[E.HOVER] = !1, l.supportsTransitionEnd() && e(this.tip).hasClass(f.FADE) ? e(o).one(l.TRANSITION_END, r).emulateTransitionEnd(150) : r(), this._hoverState = '')
  950. }, h.update = function() {
  951. null !== this._popper && this._popper.scheduleUpdate()
  952. }, h.isWithContent = function() {
  953. return !!this.getTitle()
  954. }, h.addAttachmentClass = function(t) {
  955. e(this.getTipElement()).addClass('bs-tooltip' + '-' + t)
  956. }, h.getTipElement = function() {
  957. return this.tip = this.tip || e(this.config.template)[0], this.tip
  958. }, h.setContent = function() {
  959. var t = e(this.getTipElement());
  960. this.setElementContent(t.find(u.TOOLTIP_INNER), this.getTitle()), t.removeClass(f.FADE + ' ' + f.SHOW)
  961. }, h.setElementContent = function(t, n) {
  962. var o = this.config.html;
  963. 'object' == typeof n && (n.nodeType || n.jquery) ? o ? !e(n).parent().is(t) && t.empty().append(n) : t.text(e(n).text()) : t[o ? 'html' : 'text'](n)
  964. }, h.getTitle = function() {
  965. var e = this.element.getAttribute('data-original-title');
  966. return e || (e = 'function' == typeof this.config.title ? this.config.title.call(this.element) : this.config.title), e
  967. }, h._getAttachment = function(e) {
  968. return _[e.toUpperCase()]
  969. }, h._setListeners = function() {
  970. var t = this,
  971. n = this.config.trigger.split(' ');
  972. n.forEach(function(n) {
  973. if ('click' === n) e(t.element).on(t.constructor.Event.CLICK, t.config.selector, function(e) {
  974. return t.toggle(e)
  975. });
  976. else if (n !== E.MANUAL) {
  977. var o = n === E.HOVER ? t.constructor.Event.MOUSEENTER : t.constructor.Event.FOCUSIN,
  978. a = n === E.HOVER ? t.constructor.Event.MOUSELEAVE : t.constructor.Event.FOCUSOUT;
  979. e(t.element).on(o, t.config.selector, function(e) {
  980. return t._enter(e)
  981. }).on(a, t.config.selector, function(e) {
  982. return t._leave(e)
  983. })
  984. }
  985. e(t.element).closest('.modal').on('hide.bs.modal', function() {
  986. return t.hide()
  987. })
  988. }), this.config.selector ? this.config = a({}, this.config, {
  989. trigger: 'manual',
  990. selector: ''
  991. }) : this._fixTitle()
  992. }, h._fixTitle = function() {
  993. var e = typeof this.element.getAttribute('data-original-title');
  994. (this.element.getAttribute('title') || 'string' != e) && (this.element.setAttribute('data-original-title', this.element.getAttribute('title') || ''), this.element.setAttribute('title', ''))
  995. }, h._enter = function(t, n) {
  996. var o = this.constructor.DATA_KEY;
  997. return (n = n || e(t.currentTarget).data(o), n || (n = new this.constructor(t.currentTarget, this._getDelegateConfig()), e(t.currentTarget).data(o, n)), t && (n._activeTrigger['focusin' === t.type ? E.FOCUS : E.HOVER] = !0), e(n.getTipElement()).hasClass(f.SHOW) || n._hoverState === m.SHOW) ? void(n._hoverState = m.SHOW) : (clearTimeout(n._timeout), n._hoverState = m.SHOW, n.config.delay && n.config.delay.show ? void(n._timeout = setTimeout(function() {
  998. n._hoverState === m.SHOW && n.show()
  999. }, n.config.delay.show)) : void n.show())
  1000. }, h._leave = function(t, n) {
  1001. var o = this.constructor.DATA_KEY;
  1002. if (n = n || e(t.currentTarget).data(o), n || (n = new this.constructor(t.currentTarget, this._getDelegateConfig()), e(t.currentTarget).data(o, n)), t && (n._activeTrigger['focusout' === t.type ? E.FOCUS : E.HOVER] = !1), !n._isWithActiveTrigger()) return clearTimeout(n._timeout), n._hoverState = m.OUT, n.config.delay && n.config.delay.hide ? void(n._timeout = setTimeout(function() {
  1003. n._hoverState === m.OUT && n.hide()
  1004. }, n.config.delay.hide)) : void n.hide()
  1005. }, h._isWithActiveTrigger = function() {
  1006. for (var e in this._activeTrigger)
  1007. if (this._activeTrigger[e]) return !0;
  1008. return !1
  1009. }, h._getConfig = function(t) {
  1010. return t = a({}, this.constructor.Default, e(this.element).data(), t), 'number' == typeof t.delay && (t.delay = {
  1011. show: t.delay,
  1012. hide: t.delay
  1013. }), 'number' == typeof t.title && (t.title = t.title.toString()), 'number' == typeof t.content && (t.content = t.content.toString()), l.typeCheckConfig(n, t, this.constructor.DefaultType), t
  1014. }, h._getDelegateConfig = function() {
  1015. var e = {};
  1016. if (this.config)
  1017. for (var t in this.config) this.constructor.Default[t] !== this.config[t] && (e[t] = this.config[t]);
  1018. return e
  1019. }, h._cleanTipClass = function() {
  1020. var t = e(this.getTipElement()),
  1021. n = t.attr('class').match(d);
  1022. null !== n && 0 < n.length && t.removeClass(n.join(''))
  1023. }, h._handlePopperPlacementChange = function(e) {
  1024. this._cleanTipClass(), this.addAttachmentClass(this._getAttachment(e.placement))
  1025. }, h._fixTransition = function() {
  1026. var t = this.getTipElement(),
  1027. n = this.config.animation;
  1028. null !== t.getAttribute('x-placement') || (e(t).removeClass(f.FADE), this.config.animation = !1, this.hide(), this.show(), this.config.animation = n)
  1029. }, s._jQueryInterface = function(t) {
  1030. return this.each(function() {
  1031. var n = e(this).data(r);
  1032. if ((n || !/dispose|hide/.test(t)) && (n || (n = new s(this, 'object' == typeof t && t), e(this).data(r, n)), 'string' == typeof t)) {
  1033. if ('undefined' == typeof n[t]) throw new TypeError('No method named "' + t + '"');
  1034. n[t]()
  1035. }
  1036. })
  1037. }, o(s, null, [{
  1038. key: 'VERSION',
  1039. get: function() {
  1040. return '4.0.0'
  1041. }
  1042. }, {
  1043. key: 'Default',
  1044. get: function() {
  1045. return p
  1046. }
  1047. }, {
  1048. key: 'NAME',
  1049. get: function() {
  1050. return n
  1051. }
  1052. }, {
  1053. key: 'DATA_KEY',
  1054. get: function() {
  1055. return r
  1056. }
  1057. }, {
  1058. key: 'Event',
  1059. get: function() {
  1060. return g
  1061. }
  1062. }, {
  1063. key: 'EVENT_KEY',
  1064. get: function() {
  1065. return i
  1066. }
  1067. }, {
  1068. key: 'DefaultType',
  1069. get: function() {
  1070. return c
  1071. }
  1072. }]), s
  1073. }();
  1074. return e.fn[n] = h._jQueryInterface, e.fn[n].Constructor = h, e.fn[n].noConflict = function() {
  1075. return e.fn[n] = s, h._jQueryInterface
  1076. }, h
  1077. }(e, t),
  1078. g = function(e) {
  1079. var t = 'popover',
  1080. n = 'bs.popover',
  1081. i = '.' + n,
  1082. l = e.fn[t],
  1083. s = /(^|\s)bs-popover\S+/g,
  1084. d = a({}, m.Default, {
  1085. placement: 'right',
  1086. trigger: 'click',
  1087. content: '',
  1088. template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'
  1089. }),
  1090. c = a({}, m.DefaultType, {
  1091. content: '(string|element|function)'
  1092. }),
  1093. _ = {
  1094. FADE: 'fade',
  1095. SHOW: 'show'
  1096. },
  1097. p = {
  1098. TITLE: '.popover-header',
  1099. CONTENT: '.popover-body'
  1100. },
  1101. g = {
  1102. HIDE: 'hide' + i,
  1103. HIDDEN: 'hidden' + i,
  1104. SHOW: 'show' + i,
  1105. SHOWN: 'shown' + i,
  1106. INSERTED: 'inserted' + i,
  1107. CLICK: 'click' + i,
  1108. FOCUSIN: 'focusin' + i,
  1109. FOCUSOUT: 'focusout' + i,
  1110. MOUSEENTER: 'mouseenter' + i,
  1111. MOUSELEAVE: 'mouseleave' + i
  1112. },
  1113. f = function(a) {
  1114. function l() {
  1115. return a.apply(this, arguments) || this
  1116. }
  1117. r(l, a);
  1118. var m = l.prototype;
  1119. return m.isWithContent = function() {
  1120. return this.getTitle() || this._getContent()
  1121. }, m.addAttachmentClass = function(t) {
  1122. e(this.getTipElement()).addClass('bs-popover' + '-' + t)
  1123. }, m.getTipElement = function() {
  1124. return this.tip = this.tip || e(this.config.template)[0], this.tip
  1125. }, m.setContent = function() {
  1126. var t = e(this.getTipElement());
  1127. this.setElementContent(t.find(p.TITLE), this.getTitle());
  1128. var n = this._getContent();
  1129. 'function' == typeof n && (n = n.call(this.element)), this.setElementContent(t.find(p.CONTENT), n), t.removeClass(_.FADE + ' ' + _.SHOW)
  1130. }, m._getContent = function() {
  1131. return this.element.getAttribute('data-content') || this.config.content
  1132. }, m._cleanTipClass = function() {
  1133. var t = e(this.getTipElement()),
  1134. n = t.attr('class').match(s);
  1135. null !== n && 0 < n.length && t.removeClass(n.join(''))
  1136. }, l._jQueryInterface = function(t) {
  1137. return this.each(function() {
  1138. var o = e(this).data(n),
  1139. a = 'object' == typeof t ? t : null;
  1140. if ((o || !/destroy|hide/.test(t)) && (o || (o = new l(this, a), e(this).data(n, o)), 'string' == typeof t)) {
  1141. if ('undefined' == typeof o[t]) throw new TypeError('No method named "' + t + '"');
  1142. o[t]()
  1143. }
  1144. })
  1145. }, o(l, null, [{
  1146. key: 'VERSION',
  1147. get: function() {
  1148. return '4.0.0'
  1149. }
  1150. }, {
  1151. key: 'Default',
  1152. get: function() {
  1153. return d
  1154. }
  1155. }, {
  1156. key: 'NAME',
  1157. get: function() {
  1158. return t
  1159. }
  1160. }, {
  1161. key: 'DATA_KEY',
  1162. get: function() {
  1163. return n
  1164. }
  1165. }, {
  1166. key: 'Event',
  1167. get: function() {
  1168. return g
  1169. }
  1170. }, {
  1171. key: 'EVENT_KEY',
  1172. get: function() {
  1173. return i
  1174. }
  1175. }, {
  1176. key: 'DefaultType',
  1177. get: function() {
  1178. return c
  1179. }
  1180. }]), l
  1181. }(m);
  1182. return e.fn[t] = f._jQueryInterface, e.fn[t].Constructor = f, e.fn[t].noConflict = function() {
  1183. return e.fn[t] = l, f._jQueryInterface
  1184. }, f
  1185. }(e),
  1186. f = function(e) {
  1187. var t = 'scrollspy',
  1188. n = 'bs.scrollspy',
  1189. r = '.' + n,
  1190. s = e.fn[t],
  1191. d = {
  1192. offset: 10,
  1193. method: 'auto',
  1194. target: ''
  1195. },
  1196. c = {
  1197. offset: 'number',
  1198. method: 'string',
  1199. target: '(string|element)'
  1200. },
  1201. _ = {
  1202. ACTIVATE: 'activate' + r,
  1203. SCROLL: 'scroll' + r,
  1204. LOAD_DATA_API: 'load' + r + '.data-api'
  1205. },
  1206. p = {
  1207. DROPDOWN_ITEM: 'dropdown-item',
  1208. DROPDOWN_MENU: 'dropdown-menu',
  1209. ACTIVE: 'active'
  1210. },
  1211. m = {
  1212. DATA_SPY: '[data-spy="scroll"]',
  1213. ACTIVE: '.active',
  1214. NAV_LIST_GROUP: '.nav, .list-group',
  1215. NAV_LINKS: '.nav-link',
  1216. NAV_ITEMS: '.nav-item',
  1217. LIST_ITEMS: '.list-group-item',
  1218. DROPDOWN: '.dropdown',
  1219. DROPDOWN_ITEMS: '.dropdown-item',
  1220. DROPDOWN_TOGGLE: '.dropdown-toggle'
  1221. },
  1222. g = {
  1223. OFFSET: 'offset',
  1224. POSITION: 'position'
  1225. },
  1226. f = function() {
  1227. function s(t, n) {
  1228. var o = this;
  1229. this._element = t, this._scrollElement = 'BODY' === t.tagName ? window : t, this._config = this._getConfig(n), this._selector = this._config.target + ' ' + m.NAV_LINKS + ',' + (this._config.target + ' ' + m.LIST_ITEMS + ',') + (this._config.target + ' ' + m.DROPDOWN_ITEMS), this._offsets = [], this._targets = [], this._activeTarget = null, this._scrollHeight = 0, e(this._scrollElement).on(_.SCROLL, function(e) {
  1230. return o._process(e)
  1231. }), this.refresh(), this._process()
  1232. }
  1233. var f = s.prototype;
  1234. return f.refresh = function() {
  1235. var t = this,
  1236. n = this._scrollElement === this._scrollElement.window ? g.OFFSET : g.POSITION,
  1237. o = 'auto' === this._config.method ? n : this._config.method,
  1238. a = o === g.POSITION ? this._getScrollTop() : 0;
  1239. this._offsets = [], this._targets = [], this._scrollHeight = this._getScrollHeight();
  1240. var r = e.makeArray(e(this._selector));
  1241. r.map(function(t) {
  1242. var n, r = l.getSelectorFromElement(t);
  1243. if (r && (n = e(r)[0]), n) {
  1244. var i = n.getBoundingClientRect();
  1245. if (i.width || i.height) return [e(n)[o]().top + a, r]
  1246. }
  1247. return null
  1248. }).filter(function(e) {
  1249. return e
  1250. }).sort(function(e, t) {
  1251. return e[0] - t[0]
  1252. }).forEach(function(e) {
  1253. t._offsets.push(e[0]), t._targets.push(e[1])
  1254. })
  1255. }, f.dispose = function() {
  1256. e.removeData(this._element, n), e(this._scrollElement).off(r), this._element = null, this._scrollElement = null, this._config = null, this._selector = null, this._offsets = null, this._targets = null, this._activeTarget = null, this._scrollHeight = null
  1257. }, f._getConfig = function(n) {
  1258. if (n = a({}, d, n), 'string' != typeof n.target) {
  1259. var o = e(n.target).attr('id');
  1260. o || (o = l.getUID(t), e(n.target).attr('id', o)), n.target = '#' + o
  1261. }
  1262. return l.typeCheckConfig(t, n, c), n
  1263. }, f._getScrollTop = function() {
  1264. return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop
  1265. }, f._getScrollHeight = function() {
  1266. return this._scrollElement.scrollHeight || i(document.body.scrollHeight, document.documentElement.scrollHeight)
  1267. }, f._getOffsetHeight = function() {
  1268. return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height
  1269. }, f._process = function() {
  1270. var e = this._getScrollTop() + this._config.offset,
  1271. t = this._getScrollHeight(),
  1272. n = this._config.offset + t - this._getOffsetHeight();
  1273. if (this._scrollHeight !== t && this.refresh(), e >= n) {
  1274. var o = this._targets[this._targets.length - 1];
  1275. return void(this._activeTarget !== o && this._activate(o))
  1276. }
  1277. if (this._activeTarget && e < this._offsets[0] && 0 < this._offsets[0]) return this._activeTarget = null, void this._clear();
  1278. for (var a, r = this._offsets.length; r--;) a = this._activeTarget !== this._targets[r] && e >= this._offsets[r] && ('undefined' == typeof this._offsets[r + 1] || e < this._offsets[r + 1]), a && this._activate(this._targets[r])
  1279. }, f._activate = function(t) {
  1280. this._activeTarget = t, this._clear();
  1281. var n = this._selector.split(',');
  1282. n = n.map(function(e) {
  1283. return e + '[data-target="' + t + '"],' + (e + '[href="' + t + '"]')
  1284. });
  1285. var o = e(n.join(','));
  1286. o.hasClass(p.DROPDOWN_ITEM) ? (o.closest(m.DROPDOWN).find(m.DROPDOWN_TOGGLE).addClass(p.ACTIVE), o.addClass(p.ACTIVE)) : (o.addClass(p.ACTIVE), o.parents(m.NAV_LIST_GROUP).prev(m.NAV_LINKS + ', ' + m.LIST_ITEMS).addClass(p.ACTIVE), o.parents(m.NAV_LIST_GROUP).prev(m.NAV_ITEMS).children(m.NAV_LINKS).addClass(p.ACTIVE)), e(this._scrollElement).trigger(_.ACTIVATE, {
  1287. relatedTarget: t
  1288. })
  1289. }, f._clear = function() {
  1290. e(this._selector).filter(m.ACTIVE).removeClass(p.ACTIVE)
  1291. }, s._jQueryInterface = function(t) {
  1292. return this.each(function() {
  1293. var o = e(this).data(n);
  1294. if (o || (o = new s(this, 'object' == typeof t && t), e(this).data(n, o)), 'string' == typeof t) {
  1295. if ('undefined' == typeof o[t]) throw new TypeError('No method named "' + t + '"');
  1296. o[t]()
  1297. }
  1298. })
  1299. }, o(s, null, [{
  1300. key: 'VERSION',
  1301. get: function() {
  1302. return '4.0.0'
  1303. }
  1304. }, {
  1305. key: 'Default',
  1306. get: function() {
  1307. return d
  1308. }
  1309. }]), s
  1310. }();
  1311. return e(window).on(_.LOAD_DATA_API, function() {
  1312. for (var t, n = e.makeArray(e(m.DATA_SPY)), o = n.length; o--;) t = e(n[o]), f._jQueryInterface.call(t, t.data())
  1313. }), e.fn[t] = f._jQueryInterface, e.fn[t].Constructor = f, e.fn[t].noConflict = function() {
  1314. return e.fn[t] = s, f._jQueryInterface
  1315. }, f
  1316. }(e),
  1317. u = function(e) {
  1318. var t = 'tab',
  1319. n = 'bs.tab',
  1320. a = '.' + n,
  1321. r = e.fn[t],
  1322. i = {
  1323. HIDE: 'hide' + a,
  1324. HIDDEN: 'hidden' + a,
  1325. SHOW: 'show' + a,
  1326. SHOWN: 'shown' + a,
  1327. CLICK_DATA_API: 'click' + a + '.data-api'
  1328. },
  1329. s = {
  1330. DROPDOWN_MENU: 'dropdown-menu',
  1331. ACTIVE: 'active',
  1332. DISABLED: 'disabled',
  1333. FADE: 'fade',
  1334. SHOW: 'show'
  1335. },
  1336. d = {
  1337. DROPDOWN: '.dropdown',
  1338. NAV_LIST_GROUP: '.nav, .list-group',
  1339. ACTIVE: '.active',
  1340. ACTIVE_UL: '> li > .active',
  1341. DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
  1342. DROPDOWN_TOGGLE: '.dropdown-toggle',
  1343. DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
  1344. },
  1345. c = function() {
  1346. function t(e) {
  1347. this._element = e
  1348. }
  1349. var a = t.prototype;
  1350. return a.show = function() {
  1351. var t = this;
  1352. if (!(this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && e(this._element).hasClass(s.ACTIVE) || e(this._element).hasClass(s.DISABLED))) {
  1353. var n, o, a = e(this._element).closest(d.NAV_LIST_GROUP)[0],
  1354. r = l.getSelectorFromElement(this._element);
  1355. if (a) {
  1356. var c = 'UL' === a.nodeName ? d.ACTIVE_UL : d.ACTIVE;
  1357. o = e.makeArray(e(a).find(c)), o = o[o.length - 1]
  1358. }
  1359. var _ = e.Event(i.HIDE, {
  1360. relatedTarget: this._element
  1361. }),
  1362. p = e.Event(i.SHOW, {
  1363. relatedTarget: o
  1364. });
  1365. if (o && e(o).trigger(_), e(this._element).trigger(p), !(p.isDefaultPrevented() || _.isDefaultPrevented())) {
  1366. r && (n = e(r)[0]), this._activate(this._element, a);
  1367. var m = function() {
  1368. var n = e.Event(i.HIDDEN, {
  1369. relatedTarget: t._element
  1370. }),
  1371. a = e.Event(i.SHOWN, {
  1372. relatedTarget: o
  1373. });
  1374. e(o).trigger(n), e(t._element).trigger(a)
  1375. };
  1376. n ? this._activate(n, n.parentNode, m) : m()
  1377. }
  1378. }
  1379. }, a.dispose = function() {
  1380. e.removeData(this._element, n), this._element = null
  1381. }, a._activate = function(t, n, o) {
  1382. var a, r = this;
  1383. a = 'UL' === n.nodeName ? e(n).find(d.ACTIVE_UL) : e(n).children(d.ACTIVE);
  1384. var i = a[0],
  1385. c = o && l.supportsTransitionEnd() && i && e(i).hasClass(s.FADE),
  1386. _ = function() {
  1387. return r._transitionComplete(t, i, o)
  1388. };
  1389. i && c ? e(i).one(l.TRANSITION_END, _).emulateTransitionEnd(150) : _()
  1390. }, a._transitionComplete = function(t, n, o) {
  1391. if (n) {
  1392. e(n).removeClass(s.SHOW + ' ' + s.ACTIVE);
  1393. var a = e(n.parentNode).find(d.DROPDOWN_ACTIVE_CHILD)[0];
  1394. a && e(a).removeClass(s.ACTIVE), 'tab' === n.getAttribute('role') && n.setAttribute('aria-selected', !1)
  1395. }
  1396. if (e(t).addClass(s.ACTIVE), 'tab' === t.getAttribute('role') && t.setAttribute('aria-selected', !0), l.reflow(t), e(t).addClass(s.SHOW), t.parentNode && e(t.parentNode).hasClass(s.DROPDOWN_MENU)) {
  1397. var r = e(t).closest(d.DROPDOWN)[0];
  1398. r && e(r).find(d.DROPDOWN_TOGGLE).addClass(s.ACTIVE), t.setAttribute('aria-expanded', !0)
  1399. }
  1400. o && o()
  1401. }, t._jQueryInterface = function(o) {
  1402. return this.each(function() {
  1403. var a = e(this),
  1404. r = a.data(n);
  1405. if (r || (r = new t(this), a.data(n, r)), 'string' == typeof o) {
  1406. if ('undefined' == typeof r[o]) throw new TypeError('No method named "' + o + '"');
  1407. r[o]()
  1408. }
  1409. })
  1410. }, o(t, null, [{
  1411. key: 'VERSION',
  1412. get: function() {
  1413. return '4.0.0'
  1414. }
  1415. }]), t
  1416. }();
  1417. return e(document).on(i.CLICK_DATA_API, d.DATA_TOGGLE, function(t) {
  1418. t.preventDefault(), c._jQueryInterface.call(e(this), 'show')
  1419. }), e.fn[t] = c._jQueryInterface, e.fn[t].Constructor = c, e.fn[t].noConflict = function() {
  1420. return e.fn[t] = r, c._jQueryInterface
  1421. }, c
  1422. }(e),
  1423. E = function() {
  1424. function e() {
  1425. if (window.QUnit) return !1;
  1426. var e = document.createElement('bmd');
  1427. for (var t in o)
  1428. if (void 0 !== e.style[t]) return o[t];
  1429. return !1
  1430. }
  1431. var t = !1,
  1432. n = '',
  1433. o = {
  1434. WebkitTransition: 'webkitTransitionEnd',
  1435. MozTransition: 'transitionend',
  1436. OTransition: 'oTransitionEnd otransitionend',
  1437. transition: 'transitionend'
  1438. };
  1439. return function() {
  1440. for (var a in t = e(), o) n += ' ' + o[a]
  1441. }(), {
  1442. transitionEndSupported: function() {
  1443. return t
  1444. },
  1445. transitionEndSelector: function() {
  1446. return n
  1447. },
  1448. isChar: function(e) {
  1449. return !('undefined' != typeof e.which) || 'number' == typeof e.which && 0 < e.which && !e.ctrlKey && !e.metaKey && !e.altKey && 8 !== e.which && 9 !== e.which && 13 !== e.which && 16 !== e.which && 17 !== e.which && 20 !== e.which && 27 !== e.which
  1450. },
  1451. assert: function(e, t, n) {
  1452. if (t) throw void 0 === !e && e.css('border', '1px solid red'), console.error(n, e), n
  1453. },
  1454. describe: function(e) {
  1455. return void 0 === e ? 'undefined' : 0 === e.length ? '(no matching elements)' : e[0].outerHTML.split('>')[0] + '>'
  1456. }
  1457. }
  1458. }(jQuery),
  1459. h = function(e) {
  1460. var t = {
  1461. BMD_FORM_GROUP: 'bmd-form-group',
  1462. IS_FILLED: 'is-filled',
  1463. IS_FOCUSED: 'is-focused'
  1464. },
  1465. n = {
  1466. BMD_FORM_GROUP: '.' + t.BMD_FORM_GROUP
  1467. },
  1468. o = {},
  1469. a = function() {
  1470. function a(t, n, a) {
  1471. for (var r in void 0 === a && (a = {}), this.$element = t, this.config = e.extend(!0, {}, o, n), a) this[r] = a[r]
  1472. }
  1473. var r = a.prototype;
  1474. return r.dispose = function(e) {
  1475. this.$element.data(e, null), this.$element = null, this.config = null
  1476. }, r.addFormGroupFocus = function() {
  1477. this.$element.prop('disabled') || this.$bmdFormGroup.addClass(t.IS_FOCUSED)
  1478. }, r.removeFormGroupFocus = function() {
  1479. this.$bmdFormGroup.removeClass(t.IS_FOCUSED)
  1480. }, r.removeIsFilled = function() {
  1481. this.$bmdFormGroup.removeClass(t.IS_FILLED)
  1482. }, r.addIsFilled = function() {
  1483. this.$bmdFormGroup.addClass(t.IS_FILLED)
  1484. }, r.findMdbFormGroup = function(t) {
  1485. void 0 === t && (t = !0);
  1486. var o = this.$element.closest(n.BMD_FORM_GROUP);
  1487. return 0 === o.length && t && e.error('Failed to find ' + n.BMD_FORM_GROUP + ' for ' + E.describe(this.$element)), o
  1488. }, a
  1489. }();
  1490. return a
  1491. }(jQuery),
  1492. A = function(e) {
  1493. var t = {
  1494. FORM_GROUP: 'form-group',
  1495. BMD_FORM_GROUP: 'bmd-form-group',
  1496. BMD_LABEL: 'bmd-label',
  1497. BMD_LABEL_STATIC: 'bmd-label-static',
  1498. BMD_LABEL_PLACEHOLDER: 'bmd-label-placeholder',
  1499. BMD_LABEL_FLOATING: 'bmd-label-floating',
  1500. HAS_DANGER: 'has-danger',
  1501. IS_FILLED: 'is-filled',
  1502. IS_FOCUSED: 'is-focused',
  1503. INPUT_GROUP: 'input-group'
  1504. },
  1505. n = {
  1506. FORM_GROUP: '.' + t.FORM_GROUP,
  1507. BMD_FORM_GROUP: '.' + t.BMD_FORM_GROUP,
  1508. BMD_LABEL_WILDCARD: 'label[class^=\'' + t.BMD_LABEL + '\'], label[class*=\' ' + t.BMD_LABEL + '\']'
  1509. },
  1510. o = {
  1511. validate: !1,
  1512. formGroup: {
  1513. required: !1
  1514. },
  1515. bmdFormGroup: {
  1516. template: '<span class=\'' + t.BMD_FORM_GROUP + '\'></span>',
  1517. create: !0,
  1518. required: !0
  1519. },
  1520. label: {
  1521. required: !1,
  1522. selectors: ['.form-control-label', '> label'],
  1523. className: t.BMD_LABEL_STATIC
  1524. },
  1525. requiredClasses: [],
  1526. invalidComponentMatches: [],
  1527. convertInputSizeVariations: !0
  1528. },
  1529. a = {
  1530. "form-control-lg": 'bmd-form-group-lg',
  1531. "form-control-sm": 'bmd-form-group-sm'
  1532. },
  1533. i = function(i) {
  1534. function l(t, n, a) {
  1535. var r;
  1536. return void 0 === a && (a = {}), r = i.call(this, t, e.extend(!0, {}, o, n), a) || this, r._rejectInvalidComponentMatches(), r.rejectWithoutRequiredStructure(), r._rejectWithoutRequiredClasses(), r.$formGroup = r.findFormGroup(r.config.formGroup.required), r.$bmdFormGroup = r.resolveMdbFormGroup(), r.$bmdLabel = r.resolveMdbLabel(), r.resolveMdbFormGroupSizing(), r.addFocusListener(), r.addChangeListener(), '' != r.$element.val() && r.addIsFilled(), r
  1537. }
  1538. r(l, i);
  1539. var s = l.prototype;
  1540. return s.dispose = function(e) {
  1541. i.prototype.dispose.call(this, e), this.$bmdFormGroup = null, this.$formGroup = null
  1542. }, s.rejectWithoutRequiredStructure = function() {}, s.addFocusListener = function() {
  1543. var e = this;
  1544. this.$element.on('focus', function() {
  1545. e.addFormGroupFocus()
  1546. }).on('blur', function() {
  1547. e.removeFormGroupFocus()
  1548. })
  1549. }, s.addChangeListener = function() {
  1550. var e = this;
  1551. this.$element.on('keydown paste', function(t) {
  1552. E.isChar(t) && e.addIsFilled()
  1553. }).on('keyup change', function() {
  1554. if (e.isEmpty() ? e.removeIsFilled() : e.addIsFilled(), e.config.validate) {
  1555. var t = 'undefined' == typeof e.$element[0].checkValidity || e.$element[0].checkValidity();
  1556. t ? e.removeHasDanger() : e.addHasDanger()
  1557. }
  1558. })
  1559. }, s.addHasDanger = function() {
  1560. this.$bmdFormGroup.addClass(t.HAS_DANGER)
  1561. }, s.removeHasDanger = function() {
  1562. this.$bmdFormGroup.removeClass(t.HAS_DANGER)
  1563. }, s.isEmpty = function() {
  1564. return null === this.$element.val() || void 0 === this.$element.val() || '' === this.$element.val()
  1565. }, s.resolveMdbFormGroup = function() {
  1566. var e = this.findMdbFormGroup(!1);
  1567. return (void 0 === e || 0 === e.length) && (this.config.bmdFormGroup.create && (void 0 === this.$formGroup || 0 === this.$formGroup.length) ? this.outerElement().parent().hasClass(t.INPUT_GROUP) ? this.outerElement().parent().wrap(this.config.bmdFormGroup.template) : this.outerElement().wrap(this.config.bmdFormGroup.template) : this.$formGroup.addClass(t.BMD_FORM_GROUP), e = this.findMdbFormGroup(this.config.bmdFormGroup.required)), e
  1568. }, s.outerElement = function() {
  1569. return this.$element
  1570. }, s.resolveMdbLabel = function() {
  1571. var e = this.$bmdFormGroup.find(n.BMD_LABEL_WILDCARD);
  1572. return (void 0 === e || 0 === e.length) && (e = this.findMdbLabel(this.config.label.required), void 0 === e || 0 === e.length || e.addClass(this.config.label.className)), e
  1573. }, s.findMdbLabel = function(t) {
  1574. void 0 === t && (t = !0);
  1575. for (var o = null, a = this.config.label.selectors, r = Array.isArray(a), i = 0, a = r ? a : a[Symbol.iterator]();;) {
  1576. var l;
  1577. if (r) {
  1578. if (i >= a.length) break;
  1579. l = a[i++]
  1580. } else {
  1581. if (i = a.next(), i.done) break;
  1582. l = i.value
  1583. }
  1584. var s = l;
  1585. if (o = e.isFunction(s) ? s(this) : this.$bmdFormGroup.find(s), void 0 !== o && 0 < o.length) break
  1586. }
  1587. return 0 === o.length && t && e.error('Failed to find ' + n.BMD_LABEL_WILDCARD + ' within form-group for ' + E.describe(this.$element)), o
  1588. }, s.findFormGroup = function(t) {
  1589. void 0 === t && (t = !0);
  1590. var o = this.$element.closest(n.FORM_GROUP);
  1591. return 0 === o.length && t && e.error('Failed to find ' + n.FORM_GROUP + ' for ' + E.describe(this.$element)), o
  1592. }, s.resolveMdbFormGroupSizing = function() {
  1593. if (this.config.convertInputSizeVariations)
  1594. for (var e in a) this.$element.hasClass(e) && this.$bmdFormGroup.addClass(a[e])
  1595. }, s._rejectInvalidComponentMatches = function() {
  1596. for (var e = this.config.invalidComponentMatches, t = Array.isArray(e), n = 0, e = t ? e : e[Symbol.iterator]();;) {
  1597. var o;
  1598. if (t) {
  1599. if (n >= e.length) break;
  1600. o = e[n++]
  1601. } else {
  1602. if (n = e.next(), n.done) break;
  1603. o = n.value
  1604. }
  1605. var a = o;
  1606. a.rejectMatch(this.constructor.name, this.$element)
  1607. }
  1608. }, s._rejectWithoutRequiredClasses = function() {
  1609. for (var t = this.config.requiredClasses, n = Array.isArray(t), o = 0, t = n ? t : t[Symbol.iterator]();;) {
  1610. var a;
  1611. if (n) {
  1612. if (o >= t.length) break;
  1613. a = t[o++]
  1614. } else {
  1615. if (o = t.next(), o.done) break;
  1616. a = o.value
  1617. }
  1618. var r = a,
  1619. i = !1;
  1620. if (-1 !== r.indexOf('||'))
  1621. for (var l = r.split('||'), s = l, d = Array.isArray(s), c = 0, s = d ? s : s[Symbol.iterator]();;) {
  1622. var _;
  1623. if (d) {
  1624. if (c >= s.length) break;
  1625. _ = s[c++]
  1626. } else {
  1627. if (c = s.next(), c.done) break;
  1628. _ = c.value
  1629. }
  1630. var p = _;
  1631. if (this.$element.hasClass(p)) {
  1632. i = !0;
  1633. break
  1634. }
  1635. } else this.$element.hasClass(r) && (i = !0);
  1636. i || e.error(this.constructor.name + ' element: ' + E.describe(this.$element) + ' requires class: ' + r)
  1637. }
  1638. }, l
  1639. }(h);
  1640. return i
  1641. }(jQuery),
  1642. C = function(e) {
  1643. var t = {
  1644. label: {
  1645. required: !1
  1646. }
  1647. },
  1648. n = {
  1649. LABEL: 'label'
  1650. },
  1651. o = function(o) {
  1652. function a(n, a, r) {
  1653. var i;
  1654. return i = o.call(this, n, e.extend(!0, {}, t, a), r) || this, i.decorateMarkup(), i
  1655. }
  1656. r(a, o);
  1657. var i = a.prototype;
  1658. return i.decorateMarkup = function() {
  1659. var t = e(this.config.template);
  1660. this.$element.after(t), !1 !== this.config.ripples && t.bmdRipples()
  1661. }, i.outerElement = function() {
  1662. return this.$element.parent().closest('.' + this.outerClass)
  1663. }, i.rejectWithoutRequiredStructure = function() {
  1664. E.assert(this.$element, 'label' === !this.$element.parent().prop('tagName'), this.constructor.name + '\'s ' + E.describe(this.$element) + ' parent element should be <label>.'), E.assert(this.$element, !this.outerElement().hasClass(this.outerClass), this.constructor.name + '\'s ' + E.describe(this.$element) + ' outer element should have class ' + this.outerClass + '.')
  1665. }, i.addFocusListener = function() {
  1666. var e = this;
  1667. this.$element.closest(n.LABEL).hover(function() {
  1668. e.addFormGroupFocus()
  1669. }, function() {
  1670. e.removeFormGroupFocus()
  1671. })
  1672. }, i.addChangeListener = function() {
  1673. var e = this;
  1674. this.$element.change(function() {
  1675. e.$element.blur()
  1676. })
  1677. }, a
  1678. }(A);
  1679. return o
  1680. }(jQuery),
  1681. I = function(e) {
  1682. var t = 'checkbox',
  1683. n = 'bmd.' + t,
  1684. o = 'bmd' + (t.charAt(0).toUpperCase() + t.slice(1)),
  1685. a = e.fn[o],
  1686. i = {
  1687. template: '<span class=\'checkbox-decorator\'><span class=\'check\'></span></span>'
  1688. },
  1689. l = function(o) {
  1690. function a(n, a, r) {
  1691. return void 0 === r && (r = {
  1692. inputType: t,
  1693. outerClass: t
  1694. }), o.call(this, n, e.extend(!0, i, a), r) || this
  1695. }
  1696. r(a, o);
  1697. var l = a.prototype;
  1698. return l.dispose = function(e) {
  1699. void 0 === e && (e = n), o.prototype.dispose.call(this, e)
  1700. }, a.matches = function(e) {
  1701. return 'checkbox' === e.attr('type')
  1702. }, a.rejectMatch = function(e, t) {
  1703. E.assert(this.$element, this.matches(t), e + ' component element ' + E.describe(t) + ' is invalid for type=\'checkbox\'.')
  1704. }, a._jQueryInterface = function(t) {
  1705. return this.each(function() {
  1706. var o = e(this),
  1707. r = o.data(n);
  1708. r || (r = new a(o, t), o.data(n, r))
  1709. })
  1710. }, a
  1711. }(C);
  1712. return e.fn[o] = l._jQueryInterface, e.fn[o].Constructor = l, e.fn[o].noConflict = function() {
  1713. return e.fn[o] = a, l._jQueryInterface
  1714. }, l
  1715. }(jQuery),
  1716. T = function(e) {
  1717. var t = 'checkboxInline',
  1718. n = 'bmd.' + t,
  1719. o = 'bmd' + (t.charAt(0).toUpperCase() + t.slice(1)),
  1720. a = e.fn[o],
  1721. i = {
  1722. bmdFormGroup: {
  1723. create: !1,
  1724. required: !1
  1725. }
  1726. },
  1727. l = function(t) {
  1728. function o(n, o, a) {
  1729. return void 0 === a && (a = {
  1730. inputType: 'checkbox',
  1731. outerClass: 'checkbox-inline'
  1732. }), t.call(this, n, e.extend(!0, {}, i, o), a) || this
  1733. }
  1734. r(o, t);
  1735. var a = o.prototype;
  1736. return a.dispose = function() {
  1737. t.prototype.dispose.call(this, n)
  1738. }, o._jQueryInterface = function(t) {
  1739. return this.each(function() {
  1740. var a = e(this),
  1741. r = a.data(n);
  1742. r || (r = new o(a, t), a.data(n, r))
  1743. })
  1744. }, o
  1745. }(I);
  1746. return e.fn[o] = l._jQueryInterface, e.fn[o].Constructor = l, e.fn[o].noConflict = function() {
  1747. return e.fn[o] = a, l._jQueryInterface
  1748. }, l
  1749. }(jQuery),
  1750. N = function(e) {
  1751. var t = 'collapseInline',
  1752. n = 'bmd.' + t,
  1753. o = 'bmd' + (t.charAt(0).toUpperCase() + t.slice(1)),
  1754. a = e.fn[o],
  1755. i = {
  1756. ANY_INPUT: 'input, select, textarea'
  1757. },
  1758. l = {
  1759. IN: 'in',
  1760. COLLAPSE: 'collapse',
  1761. COLLAPSING: 'collapsing',
  1762. COLLAPSED: 'collapsed',
  1763. WIDTH: 'width'
  1764. },
  1765. s = {},
  1766. d = function(t) {
  1767. function o(n, o) {
  1768. var a;
  1769. a = t.call(this, n, e.extend(!0, {}, s, o)) || this, a.$bmdFormGroup = a.findMdbFormGroup(!0);
  1770. var r = n.data('target');
  1771. a.$collapse = e(r), E.assert(n, 0 === a.$collapse.length, 'Cannot find collapse target for ' + E.describe(n)), E.assert(a.$collapse, !a.$collapse.hasClass(l.COLLAPSE), E.describe(a.$collapse) + ' is expected to have the \'' + l.COLLAPSE + '\' class. It is being targeted by ' + E.describe(n));
  1772. var d = a.$bmdFormGroup.find(i.ANY_INPUT);
  1773. return 0 < d.length && (a.$input = d.first()), a.$collapse.hasClass(l.WIDTH) || a.$collapse.addClass(l.WIDTH), a.$input && (a.$collapse.on('shown.bs.collapse', function() {
  1774. a.$input.focus()
  1775. }), a.$input.blur(function() {
  1776. a.$collapse.collapse('hide')
  1777. })), a
  1778. }
  1779. r(o, t);
  1780. var a = o.prototype;
  1781. return a.dispose = function() {
  1782. t.prototype.dispose.call(this, n), this.$bmdFormGroup = null, this.$collapse = null, this.$input = null
  1783. }, o._jQueryInterface = function(t) {
  1784. return this.each(function() {
  1785. var a = e(this),
  1786. r = a.data(n);
  1787. r || (r = new o(a, t), a.data(n, r))
  1788. })
  1789. }, o
  1790. }(h);
  1791. return e.fn[o] = d._jQueryInterface, e.fn[o].Constructor = d, e.fn[o].noConflict = function() {
  1792. return e.fn[o] = a, d._jQueryInterface
  1793. }, d
  1794. }(jQuery),
  1795. b = function(e) {
  1796. var t = 'file',
  1797. n = 'bmd.' + t,
  1798. o = 'bmd' + (t.charAt(0).toUpperCase() + t.slice(1)),
  1799. a = e.fn[o],
  1800. i = {},
  1801. l = {
  1802. FILE: t,
  1803. IS_FILE: 'is-file'
  1804. },
  1805. s = {
  1806. FILENAMES: 'input.form-control[readonly]'
  1807. },
  1808. d = function(t) {
  1809. function o(n, o) {
  1810. var a;
  1811. return a = t.call(this, n, e.extend(!0, i, o)) || this, a.$bmdFormGroup.addClass(l.IS_FILE), a
  1812. }
  1813. r(o, t);
  1814. var a = o.prototype;
  1815. return a.dispose = function() {
  1816. t.prototype.dispose.call(this, n)
  1817. }, o.matches = function(e) {
  1818. return 'file' === e.attr('type')
  1819. }, o.rejectMatch = function(e, t) {
  1820. E.assert(this.$element, this.matches(t), e + ' component element ' + E.describe(t) + ' is invalid for type=\'file\'.')
  1821. }, a.outerElement = function() {
  1822. return this.$element.parent().closest('.' + l.FILE)
  1823. }, a.rejectWithoutRequiredStructure = function() {
  1824. E.assert(this.$element, 'label' === !this.outerElement().prop('tagName'), this.constructor.name + '\'s ' + E.describe(this.$element) + ' parent element ' + E.describe(this.outerElement()) + ' should be <label>.'), E.assert(this.$element, !this.outerElement().hasClass(l.FILE), this.constructor.name + '\'s ' + E.describe(this.$element) + ' parent element ' + E.describe(this.outerElement()) + ' should have class .' + l.FILE + '.')
  1825. }, a.addFocusListener = function() {
  1826. var e = this;
  1827. this.$bmdFormGroup.on('focus', function() {
  1828. e.addFormGroupFocus()
  1829. }).on('blur', function() {
  1830. e.removeFormGroupFocus()
  1831. })
  1832. }, a.addChangeListener = function() {
  1833. var t = this;
  1834. this.$element.on('change', function() {
  1835. var n = '';
  1836. e.each(t.$element.files, function(e, t) {
  1837. n += t.name + ' , '
  1838. }), n = n.substring(0, n.length - 2), n ? t.addIsFilled() : t.removeIsFilled(), t.$bmdFormGroup.find(s.FILENAMES).val(n)
  1839. })
  1840. }, o._jQueryInterface = function(t) {
  1841. return this.each(function() {
  1842. var a = e(this),
  1843. r = a.data(n);
  1844. r || (r = new o(a, t), a.data(n, r))
  1845. })
  1846. }, o
  1847. }(A);
  1848. return e.fn[o] = d._jQueryInterface, e.fn[o].Constructor = d, e.fn[o].noConflict = function() {
  1849. return e.fn[o] = a, d._jQueryInterface
  1850. }, d
  1851. }(jQuery),
  1852. O = function(e) {
  1853. var t = 'radio',
  1854. n = 'bmd.' + t,
  1855. o = 'bmd' + (t.charAt(0).toUpperCase() + t.slice(1)),
  1856. a = e.fn[o],
  1857. i = {
  1858. template: '<span class=\'bmd-radio\'></span>'
  1859. },
  1860. l = function(o) {
  1861. function a(n, a, r) {
  1862. return void 0 === r && (r = {
  1863. inputType: t,
  1864. outerClass: t
  1865. }), o.call(this, n, e.extend(!0, i, a), r) || this
  1866. }
  1867. r(a, o);
  1868. var l = a.prototype;
  1869. return l.dispose = function(e) {
  1870. void 0 === e && (e = n), o.prototype.dispose.call(this, e)
  1871. }, a.matches = function(e) {
  1872. return 'radio' === e.attr('type')
  1873. }, a.rejectMatch = function(e, t) {
  1874. E.assert(this.$element, this.matches(t), e + ' component element ' + E.describe(t) + ' is invalid for type=\'radio\'.')
  1875. }, a._jQueryInterface = function(t) {
  1876. return this.each(function() {
  1877. var o = e(this),
  1878. r = o.data(n);
  1879. r || (r = new a(o, t), o.data(n, r))
  1880. })
  1881. }, a
  1882. }(C);
  1883. return e.fn[o] = l._jQueryInterface, e.fn[o].Constructor = l, e.fn[o].noConflict = function() {
  1884. return e.fn[o] = a, l._jQueryInterface
  1885. }, l
  1886. }(jQuery),
  1887. D = function(e) {
  1888. var t = 'radioInline',
  1889. n = 'bmd.' + t,
  1890. o = 'bmd' + (t.charAt(0).toUpperCase() + t.slice(1)),
  1891. a = e.fn[o],
  1892. i = {
  1893. bmdFormGroup: {
  1894. create: !1,
  1895. required: !1
  1896. }
  1897. },
  1898. l = function(t) {
  1899. function o(n, o, a) {
  1900. return void 0 === a && (a = {
  1901. inputType: 'radio',
  1902. outerClass: 'radio-inline'
  1903. }), t.call(this, n, e.extend(!0, {}, i, o), a) || this
  1904. }
  1905. r(o, t);
  1906. var a = o.prototype;
  1907. return a.dispose = function() {
  1908. t.prototype.dispose.call(this, n)
  1909. }, o._jQueryInterface = function(t) {
  1910. return this.each(function() {
  1911. var a = e(this),
  1912. r = a.data(n);
  1913. r || (r = new o(a, t), a.data(n, r))
  1914. })
  1915. }, o
  1916. }(O);
  1917. return e.fn[o] = l._jQueryInterface, e.fn[o].Constructor = l, e.fn[o].noConflict = function() {
  1918. return e.fn[o] = a, l._jQueryInterface
  1919. }, l
  1920. }(jQuery),
  1921. y = function(e) {
  1922. var t = {
  1923. requiredClasses: ['form-control']
  1924. },
  1925. n = function(n) {
  1926. function o(o, a) {
  1927. var r;
  1928. return r = n.call(this, o, e.extend(!0, t, a)) || this, r.isEmpty() && r.removeIsFilled(), r
  1929. }
  1930. return r(o, n), o
  1931. }(A);
  1932. return n
  1933. }(jQuery),
  1934. S = function(e) {
  1935. var t = 'select',
  1936. n = 'bmd.' + t,
  1937. o = 'bmd' + (t.charAt(0).toUpperCase() + t.slice(1)),
  1938. a = e.fn[o],
  1939. i = {
  1940. requiredClasses: ['form-control||custom-select']
  1941. },
  1942. l = function(t) {
  1943. function o(n, o) {
  1944. var a;
  1945. return a = t.call(this, n, e.extend(!0, i, o)) || this, a.addIsFilled(), a
  1946. }
  1947. r(o, t);
  1948. var a = o.prototype;
  1949. return a.dispose = function() {
  1950. t.prototype.dispose.call(this, n)
  1951. }, o.matches = function(e) {
  1952. return 'select' === e.prop('tagName')
  1953. }, o.rejectMatch = function(e, t) {
  1954. E.assert(this.$element, this.matches(t), e + ' component element ' + E.describe(t) + ' is invalid for <select>.')
  1955. }, o._jQueryInterface = function(t) {
  1956. return this.each(function() {
  1957. var a = e(this),
  1958. r = a.data(n);
  1959. r || (r = new o(a, t), a.data(n, r))
  1960. })
  1961. }, o
  1962. }(y);
  1963. return e.fn[o] = l._jQueryInterface, e.fn[o].Constructor = l, e.fn[o].noConflict = function() {
  1964. return e.fn[o] = a, l._jQueryInterface
  1965. }, l
  1966. }(jQuery),
  1967. v = function(e) {
  1968. var t = 'switch',
  1969. n = 'bmd.' + t,
  1970. o = 'bmd' + (t.charAt(0).toUpperCase() + t.slice(1)),
  1971. a = e.fn[o],
  1972. i = {
  1973. template: '<span class=\'bmd-switch-track\'></span>'
  1974. },
  1975. l = function(t) {
  1976. function o(n, o, a) {
  1977. return void 0 === a && (a = {
  1978. inputType: 'checkbox',
  1979. outerClass: 'switch'
  1980. }), t.call(this, n, e.extend(!0, {}, i, o), a) || this
  1981. }
  1982. r(o, t);
  1983. var a = o.prototype;
  1984. return a.dispose = function() {
  1985. t.prototype.dispose.call(this, n)
  1986. }, o._jQueryInterface = function(t) {
  1987. return this.each(function() {
  1988. var a = e(this),
  1989. r = a.data(n);
  1990. r || (r = new o(a, t), a.data(n, r))
  1991. })
  1992. }, o
  1993. }(I);
  1994. return e.fn[o] = l._jQueryInterface, e.fn[o].Constructor = l, e.fn[o].noConflict = function() {
  1995. return e.fn[o] = a, l._jQueryInterface
  1996. }, l
  1997. }(jQuery),
  1998. R = function(e) {
  1999. var t = 'text',
  2000. n = 'bmd.' + t,
  2001. o = 'bmd' + (t.charAt(0).toUpperCase() + t.slice(1)),
  2002. a = e.fn[o],
  2003. i = {},
  2004. l = function(t) {
  2005. function o(n, o) {
  2006. return t.call(this, n, e.extend(!0, i, o)) || this
  2007. }
  2008. r(o, t);
  2009. var a = o.prototype;
  2010. return a.dispose = function(e) {
  2011. void 0 === e && (e = n), t.prototype.dispose.call(this, e)
  2012. }, o.matches = function(e) {
  2013. return 'text' === e.attr('type')
  2014. }, o.rejectMatch = function(e, t) {
  2015. E.assert(this.$element, this.matches(t), e + ' component element ' + E.describe(t) + ' is invalid for type=\'text\'.')
  2016. }, o._jQueryInterface = function(t) {
  2017. return this.each(function() {
  2018. var a = e(this),
  2019. r = a.data(n);
  2020. r || (r = new o(a, t), a.data(n, r))
  2021. })
  2022. }, o
  2023. }(y);
  2024. return e.fn[o] = l._jQueryInterface, e.fn[o].Constructor = l, e.fn[o].noConflict = function() {
  2025. return e.fn[o] = a, l._jQueryInterface
  2026. }, l
  2027. }(jQuery),
  2028. M = function(e) {
  2029. var t = 'textarea',
  2030. n = 'bmd.' + t,
  2031. o = 'bmd' + (t.charAt(0).toUpperCase() + t.slice(1)),
  2032. a = e.fn[o],
  2033. i = {},
  2034. l = function(t) {
  2035. function o(n, o) {
  2036. return t.call(this, n, e.extend(!0, i, o)) || this
  2037. }
  2038. r(o, t);
  2039. var a = o.prototype;
  2040. return a.dispose = function() {
  2041. t.prototype.dispose.call(this, n)
  2042. }, o.matches = function(e) {
  2043. return 'textarea' === e.prop('tagName')
  2044. }, o.rejectMatch = function(e, t) {
  2045. E.assert(this.$element, this.matches(t), e + ' component element ' + E.describe(t) + ' is invalid for <textarea>.')
  2046. }, o._jQueryInterface = function(t) {
  2047. return this.each(function() {
  2048. var a = e(this),
  2049. r = a.data(n);
  2050. r || (r = new o(a, t), a.data(n, r))
  2051. })
  2052. }, o
  2053. }(y);
  2054. return e.fn[o] = l._jQueryInterface, e.fn[o].Constructor = l, e.fn[o].noConflict = function() {
  2055. return e.fn[o] = a, l._jQueryInterface
  2056. }, l
  2057. }(jQuery),
  2058. L = function(e) {
  2059. if ('undefined' == typeof Popper) throw new Error('Bootstrap dropdown require Popper.js (https://popper.js.org)');
  2060. var t = 'dropdown',
  2061. n = 'bs.dropdown',
  2062. a = '.' + n,
  2063. r = '.data-api',
  2064. i = e.fn[t],
  2065. s = 27,
  2066. d = 32,
  2067. c = 9,
  2068. _ = /38|40|27/,
  2069. p = {
  2070. HIDE: 'hide' + a,
  2071. HIDDEN: 'hidden' + a,
  2072. SHOW: 'show' + a,
  2073. SHOWN: 'shown' + a,
  2074. CLICK: 'click' + a,
  2075. CLICK_DATA_API: 'click' + a + r,
  2076. KEYDOWN_DATA_API: 'keydown' + a + r,
  2077. KEYUP_DATA_API: 'keyup' + a + r,
  2078. TRANSITION_END: 'transitionend webkitTransitionEnd oTransitionEnd animationend webkitAnimationEnd oAnimationEnd'
  2079. },
  2080. m = {
  2081. DISABLED: 'disabled',
  2082. SHOW: 'show',
  2083. SHOWING: 'showing',
  2084. HIDING: 'hiding',
  2085. DROPUP: 'dropup',
  2086. MENURIGHT: 'dropdown-menu-right',
  2087. MENULEFT: 'dropdown-menu-left'
  2088. },
  2089. g = {
  2090. DATA_TOGGLE: '[data-toggle="dropdown"]',
  2091. FORM_CHILD: '.dropdown form',
  2092. MENU: '.dropdown-menu',
  2093. NAVBAR_NAV: '.navbar-nav',
  2094. VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled)'
  2095. },
  2096. f = {
  2097. TOP: 'top-start',
  2098. TOPEND: 'top-end',
  2099. BOTTOM: 'bottom-start',
  2100. BOTTOMEND: 'bottom-end'
  2101. },
  2102. u = {
  2103. placement: f.BOTTOM,
  2104. offset: 0,
  2105. flip: !0
  2106. },
  2107. E = {
  2108. placement: 'string',
  2109. offset: '(number|string)',
  2110. flip: 'boolean'
  2111. },
  2112. h = function() {
  2113. function r(e, t) {
  2114. this._element = e, this._popper = null, this._config = this._getConfig(t), this._menu = this._getMenuElement(), this._inNavbar = this._detectNavbar(), this._addEventListeners()
  2115. }
  2116. var i = r.prototype;
  2117. return i.toggle = function() {
  2118. var t = this;
  2119. if (!(this._element.disabled || e(this._element).hasClass(m.DISABLED))) {
  2120. var n = r._getParentFromElement(this._element),
  2121. o = e(this._menu).hasClass(m.SHOW);
  2122. if (r._clearMenus(), !o) {
  2123. var a = {
  2124. relatedTarget: this._element
  2125. },
  2126. i = e.Event(p.SHOW, a);
  2127. if (e(n).trigger(i), !i.isDefaultPrevented()) {
  2128. var l = this._element;
  2129. e(n).hasClass(m.DROPUP) && (e(this._menu).hasClass(m.MENULEFT) || e(this._menu).hasClass(m.MENURIGHT)) && (l = n), this._popper = new Popper(l, this._menu, this._getPopperConfig()), 'ontouchstart' in document.documentElement && !e(n).closest(g.NAVBAR_NAV).length && e('body').children().on('mouseover', null, e.noop), this._element.focus(), this._element.setAttribute('aria-expanded', !0), e(this._menu).one(p.TRANSITION_END, function() {
  2130. e(n).trigger(e.Event(p.SHOWN, a)), e(t._menu).removeClass(m.SHOWING)
  2131. }), e(this._menu).addClass(m.SHOW + ' ' + m.SHOWING), e(n).addClass(m.SHOW)
  2132. }
  2133. }
  2134. }
  2135. }, i.dispose = function() {
  2136. e.removeData(this._element, n), e(this._element).off(a), this._element = null, this._menu = null, null !== this._popper && this._popper.destroy(), this._popper = null
  2137. }, i.update = function() {
  2138. this._inNavbar = this._detectNavbar(), null !== this._popper && this._popper.scheduleUpdate()
  2139. }, i._addEventListeners = function() {
  2140. var t = this;
  2141. e(this._element).on(p.CLICK, function(e) {
  2142. e.preventDefault(), e.stopPropagation(), t.toggle()
  2143. })
  2144. }, i._getConfig = function(n) {
  2145. var o = e(this._element).data();
  2146. return void 0 !== o.placement && (o.placement = f[o.placement.toUpperCase()]), n = e.extend({}, this.constructor.Default, e(this._element).data(), n), l.typeCheckConfig(t, n, this.constructor.DefaultType), n
  2147. }, i._getMenuElement = function() {
  2148. if (!this._menu) {
  2149. var t = r._getParentFromElement(this._element);
  2150. this._menu = e(t).find(g.MENU)[0]
  2151. }
  2152. return this._menu
  2153. }, i._getPlacement = function() {
  2154. var t = e(this._element).parent(),
  2155. n = this._config.placement;
  2156. return t.hasClass(m.DROPUP) || this._config.placement === f.TOP ? (n = f.TOP, e(this._menu).hasClass(m.MENURIGHT) && (n = f.TOPEND)) : e(this._menu).hasClass(m.MENURIGHT) && (n = f.BOTTOMEND), n
  2157. }, i._detectNavbar = function() {
  2158. return 0 < e(this._element).closest('.navbar').length
  2159. }, i._getPopperConfig = function() {
  2160. var e = {
  2161. placement: this._getPlacement(),
  2162. modifiers: {
  2163. offset: {
  2164. offset: this._config.offset
  2165. },
  2166. flip: {
  2167. enabled: this._config.flip
  2168. }
  2169. }
  2170. };
  2171. return this._inNavbar && (e.modifiers.applyStyle = {
  2172. enabled: !this._inNavbar
  2173. }), e
  2174. }, r._jQueryInterface = function(t) {
  2175. return this.each(function() {
  2176. var o = e(this).data(n),
  2177. a = 'object' == typeof t ? t : null;
  2178. if (o || (o = new r(this, a), e(this).data(n, o)), 'string' == typeof t) {
  2179. if (void 0 === o[t]) throw new Error('No method named "' + t + '"');
  2180. o[t]()
  2181. }
  2182. })
  2183. }, r._clearMenus = function(t) {
  2184. if (!(t && (t.which === 3 || 'keyup' === t.type && t.which !== c)))
  2185. for (var o, a = e.makeArray(e(g.DATA_TOGGLE)), l = function(o) {
  2186. var i = r._getParentFromElement(a[o]),
  2187. l = e(a[o]).data(n),
  2188. s = {
  2189. relatedTarget: a[o]
  2190. };
  2191. if (!l) return 'continue';
  2192. var d = l._menu;
  2193. if (!e(i).hasClass(m.SHOW)) return 'continue';
  2194. if (t && ('click' === t.type && /input|textarea/i.test(t.target.tagName) || 'keyup' === t.type && t.which === c) && e.contains(i, t.target)) return 'continue';
  2195. var _ = e.Event(p.HIDE, s);
  2196. return e(i).trigger(_), _.isDefaultPrevented() ? 'continue' : void(('ontouchstart' in document.documentElement) && e('body').children().off('mouseover', null, e.noop), a[o].setAttribute('aria-expanded', 'false'), e(d).addClass(m.HIDING).removeClass(m.SHOW), e(i).removeClass(m.SHOW), e(d).one(p.TRANSITION_END, function() {
  2197. e(i).trigger(e.Event(p.HIDDEN, s)), e(d).removeClass(m.HIDING)
  2198. }))
  2199. }, s = 0; s < a.length; s++) o = l(s), 'continue' === o
  2200. }, r._getParentFromElement = function(t) {
  2201. var n, o = l.getSelectorFromElement(t);
  2202. return o && (n = e(o)[0]), n || t.parentNode
  2203. }, r._dataApiKeydownHandler = function(t) {
  2204. if (!(!_.test(t.which) || /button/i.test(t.target.tagName) && t.which === d || /input|textarea/i.test(t.target.tagName)) && (t.preventDefault(), t.stopPropagation(), !(this.disabled || e(this).hasClass(m.DISABLED)))) {
  2205. var n = r._getParentFromElement(this),
  2206. o = e(n).hasClass(m.SHOW);
  2207. if (!o && (t.which !== s || t.which !== d) || o && (t.which === s || t.which === d)) {
  2208. if (t.which === s) {
  2209. var a = e(n).find(g.DATA_TOGGLE)[0];
  2210. e(a).trigger('focus')
  2211. }
  2212. return void e(this).trigger('click')
  2213. }
  2214. var i = e(n).find(g.VISIBLE_ITEMS).get();
  2215. if (i.length) {
  2216. var l = i.indexOf(t.target);
  2217. t.which === 38 && 0 < l && l--, t.which === 40 && l < i.length - 1 && l++, 0 > l && (l = 0), i[l].focus()
  2218. }
  2219. }
  2220. }, o(r, null, [{
  2221. key: 'VERSION',
  2222. get: function() {
  2223. return '4.0.0-beta'
  2224. }
  2225. }, {
  2226. key: 'Default',
  2227. get: function() {
  2228. return u
  2229. }
  2230. }, {
  2231. key: 'DefaultType',
  2232. get: function() {
  2233. return E
  2234. }
  2235. }]), r
  2236. }();
  2237. return e(document).on(p.KEYDOWN_DATA_API, g.DATA_TOGGLE, h._dataApiKeydownHandler).on(p.KEYDOWN_DATA_API, g.MENU, h._dataApiKeydownHandler).on(p.CLICK_DATA_API + ' ' + p.KEYUP_DATA_API, h._clearMenus).on(p.CLICK_DATA_API, g.DATA_TOGGLE, function(t) {
  2238. t.preventDefault(), t.stopPropagation(), h._jQueryInterface.call(e(this), 'toggle')
  2239. }).on(p.CLICK_DATA_API, g.FORM_CHILD, function(t) {
  2240. t.stopPropagation()
  2241. }), e.fn[t] = h._jQueryInterface, e.fn[t].Constructor = h, e.fn[t].noConflict = function() {
  2242. return e.fn[t] = i, h._jQueryInterface
  2243. }, h
  2244. }(jQuery),
  2245. U = function(e) {
  2246. var t = {
  2247. CANVAS: 'bmd-layout-canvas',
  2248. CONTAINER: 'bmd-layout-container',
  2249. BACKDROP: 'bmd-layout-backdrop'
  2250. },
  2251. n = {
  2252. CANVAS: '.' + t.CANVAS,
  2253. CONTAINER: '.' + t.CONTAINER,
  2254. BACKDROP: '.' + t.BACKDROP
  2255. },
  2256. o = {
  2257. canvas: {
  2258. create: !0,
  2259. required: !0,
  2260. template: '<div class="' + t.CANVAS + '"></div>'
  2261. },
  2262. backdrop: {
  2263. create: !0,
  2264. required: !0,
  2265. template: '<div class="' + t.BACKDROP + '"></div>'
  2266. }
  2267. },
  2268. a = function(t) {
  2269. function a(n, a, r) {
  2270. var i;
  2271. return void 0 === r && (r = {}), i = t.call(this, n, e.extend(!0, {}, o, a), r) || this, i.$container = i.findContainer(!0), i.$backdrop = i.resolveBackdrop(), i.resolveCanvas(), i
  2272. }
  2273. r(a, t);
  2274. var i = a.prototype;
  2275. return i.dispose = function(e) {
  2276. t.prototype.dispose.call(this, e), this.$container = null, this.$backdrop = null
  2277. }, i.resolveCanvas = function() {
  2278. var e = this.findCanvas(!1);
  2279. return (void 0 === e || 0 === e.length) && (this.config.canvas.create && this.$container.wrap(this.config.canvas.template), e = this.findCanvas(this.config.canvas.required)), e
  2280. }, i.findCanvas = function(t, o) {
  2281. void 0 === t && (t = !0), void 0 === o && (o = this.$container);
  2282. var a = o.closest(n.CANVAS);
  2283. return 0 === a.length && t && e.error('Failed to find ' + n.CANVAS + ' for ' + E.describe(o)), a
  2284. }, i.resolveBackdrop = function() {
  2285. var e = this.findBackdrop(!1);
  2286. return (void 0 === e || 0 === e.length) && (this.config.backdrop.create && this.$container.append(this.config.backdrop.template), e = this.findBackdrop(this.config.backdrop.required)), e
  2287. }, i.findBackdrop = function(t, o) {
  2288. void 0 === t && (t = !0), void 0 === o && (o = this.$container);
  2289. var a = o.find('> ' + n.BACKDROP);
  2290. return 0 === a.length && t && e.error('Failed to find ' + n.BACKDROP + ' for ' + E.describe(o)), a
  2291. }, i.findContainer = function(t, o) {
  2292. void 0 === t && (t = !0), void 0 === o && (o = this.$element);
  2293. var a = o.closest(n.CONTAINER);
  2294. return 0 === a.length && t && e.error('Failed to find ' + n.CONTAINER + ' for ' + E.describe(o)), a
  2295. }, a
  2296. }(h);
  2297. return a
  2298. }(jQuery),
  2299. P = function(e) {
  2300. var t = 'drawer',
  2301. n = 'bmd.' + t,
  2302. o = 'bmd' + (t.charAt(0).toUpperCase() + t.slice(1)),
  2303. a = e.fn[o],
  2304. i = {
  2305. ESCAPE: 27
  2306. },
  2307. l = {
  2308. IN: 'in',
  2309. DRAWER_IN: 'bmd-drawer-in',
  2310. DRAWER_OUT: 'bmd-drawer-out',
  2311. DRAWER: 'bmd-layout-drawer',
  2312. CONTAINER: 'bmd-layout-container'
  2313. },
  2314. s = {
  2315. focusSelector: 'a, button, input'
  2316. },
  2317. d = function(t) {
  2318. function o(n, o) {
  2319. var a;
  2320. return a = t.call(this, n, e.extend(!0, {}, s, o)) || this, a.$toggles = e('[data-toggle="drawer"][href="#' + a.$element[0].id + '"], [data-toggle="drawer"][data-target="#' + a.$element[0].id + '"]'), a._addAria(), a.$backdrop.keydown(function(e) {
  2321. e.which === i.ESCAPE && a.hide()
  2322. }).click(function() {
  2323. a.hide()
  2324. }), a.$element.keydown(function(e) {
  2325. e.which === i.ESCAPE && a.hide()
  2326. }), a.$toggles.click(function() {
  2327. a.toggle()
  2328. }), a
  2329. }
  2330. r(o, t);
  2331. var a = o.prototype;
  2332. return a.dispose = function() {
  2333. t.prototype.dispose.call(this, n), this.$toggles = null
  2334. }, a.toggle = function() {
  2335. this._isOpen() ? this.hide() : this.show()
  2336. }, a.show = function() {
  2337. if (!(this._isForcedClosed() || this._isOpen())) {
  2338. this.$toggles.attr('aria-expanded', !0), this.$element.attr('aria-expanded', !0), this.$element.attr('aria-hidden', !1);
  2339. var e = this.$element.find(this.config.focusSelector);
  2340. 0 < e.length && e.first().focus(), this.$container.addClass(l.DRAWER_IN), this.$backdrop.addClass(l.IN)
  2341. }
  2342. }, a.hide = function() {
  2343. this._isOpen() && (this.$toggles.attr('aria-expanded', !1), this.$element.attr('aria-expanded', !1), this.$element.attr('aria-hidden', !0), this.$container.removeClass(l.DRAWER_IN), this.$backdrop.removeClass(l.IN))
  2344. }, a._isOpen = function() {
  2345. return this.$container.hasClass(l.DRAWER_IN)
  2346. }, a._isForcedClosed = function() {
  2347. return this.$container.hasClass(l.DRAWER_OUT)
  2348. }, a._addAria = function() {
  2349. var e = this._isOpen();
  2350. this.$element.attr('aria-expanded', e), this.$element.attr('aria-hidden', e), this.$toggles.length && this.$toggles.attr('aria-expanded', e)
  2351. }, o._jQueryInterface = function(t) {
  2352. return this.each(function() {
  2353. var a = e(this),
  2354. r = a.data(n);
  2355. r || (r = new o(a, t), a.data(n, r))
  2356. })
  2357. }, o
  2358. }(U);
  2359. return e.fn[o] = d._jQueryInterface, e.fn[o].Constructor = d, e.fn[o].noConflict = function() {
  2360. return e.fn[o] = a, d._jQueryInterface
  2361. }, d
  2362. }(jQuery),
  2363. w = function(e) {
  2364. var t = 'ripples',
  2365. n = 'bmd.' + t,
  2366. o = 'bmd' + (t.charAt(0).toUpperCase() + t.slice(1)),
  2367. a = e.fn[o],
  2368. r = {
  2369. CONTAINER: 'ripple-container',
  2370. DECORATOR: 'ripple-decorator'
  2371. },
  2372. l = {
  2373. CONTAINER: '.' + r.CONTAINER,
  2374. DECORATOR: '.' + r.DECORATOR
  2375. },
  2376. s = {
  2377. container: {
  2378. template: '<div class=\'' + r.CONTAINER + '\'></div>'
  2379. },
  2380. decorator: {
  2381. template: '<div class=\'' + r.DECORATOR + '\'></div>'
  2382. },
  2383. trigger: {
  2384. start: 'mousedown touchstart',
  2385. end: 'mouseup mouseleave touchend'
  2386. },
  2387. touchUserAgentRegex: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i,
  2388. duration: 500
  2389. },
  2390. d = function() {
  2391. function t(t, n) {
  2392. var o = this;
  2393. this.$element = t, this.config = e.extend(!0, {}, s, n), this.$element.on(this.config.trigger.start, function(e) {
  2394. o._onStartRipple(e)
  2395. })
  2396. }
  2397. var o = t.prototype;
  2398. return o.dispose = function() {
  2399. this.$element.data(n, null), this.$element = null, this.$container = null, this.$decorator = null, this.config = null
  2400. }, o._onStartRipple = function(e) {
  2401. var t = this;
  2402. if (!(this._isTouch() && 'mousedown' === e.type)) {
  2403. this._findOrCreateContainer();
  2404. var n = this._getRelY(e),
  2405. o = this._getRelX(e);
  2406. (n || o) && (this.$decorator.css({
  2407. left: o,
  2408. top: n,
  2409. "background-color": this._getRipplesColor()
  2410. }), this._forceStyleApplication(), this.rippleOn(), setTimeout(function() {
  2411. t.rippleEnd()
  2412. }, this.config.duration), this.$element.on(this.config.trigger.end, function() {
  2413. t.$decorator && (t.$decorator.data('mousedown', 'off'), 'off' === t.$decorator.data('animating') && t.rippleOut())
  2414. }))
  2415. }
  2416. }, o._findOrCreateContainer = function() {
  2417. (!this.$container || 0 < !this.$container.length) && (this.$element.append(this.config.container.template), this.$container = this.$element.find(l.CONTAINER)), this.$container.append(this.config.decorator.template), this.$decorator = this.$container.find(l.DECORATOR)
  2418. }, o._forceStyleApplication = function() {
  2419. return window.getComputedStyle(this.$decorator[0]).opacity
  2420. }, o._getRelX = function(e) {
  2421. var t = this.$container.offset(),
  2422. n = null;
  2423. return this._isTouch() ? (e = e.originalEvent, n = 1 === e.touches.length && e.touches[0].pageX - t.left) : n = e.pageX - t.left, n
  2424. }, o._getRelY = function(e) {
  2425. var t = this.$container.offset(),
  2426. n = null;
  2427. return this._isTouch() ? (e = e.originalEvent, n = 1 === e.touches.length && e.touches[0].pageY - t.top) : n = e.pageY - t.top, n
  2428. }, o._getRipplesColor = function() {
  2429. var e = this.$element.data('ripple-color') ? this.$element.data('ripple-color') : window.getComputedStyle(this.$element[0]).color;
  2430. return e
  2431. }, o._isTouch = function() {
  2432. return this.config.touchUserAgentRegex.test(navigator.userAgent)
  2433. }, o.rippleEnd = function() {
  2434. this.$decorator && (this.$decorator.data('animating', 'off'), 'off' === this.$decorator.data('mousedown') && this.rippleOut(this.$decorator))
  2435. }, o.rippleOut = function() {
  2436. var e = this;
  2437. this.$decorator.off(), E.transitionEndSupported() ? this.$decorator.addClass('ripple-out') : this.$decorator.animate({
  2438. opacity: 0
  2439. }, 100, function() {
  2440. e.$decorator.trigger('transitionend')
  2441. }), this.$decorator.on(E.transitionEndSelector(), function() {
  2442. e.$decorator && (e.$decorator.remove(), e.$decorator = null)
  2443. })
  2444. }, o.rippleOn = function() {
  2445. var e = this,
  2446. t = this._getNewSize();
  2447. E.transitionEndSupported() ? this.$decorator.css({
  2448. "-ms-transform": 'scale(' + t + ')',
  2449. "-moz-transform": 'scale(' + t + ')',
  2450. "-webkit-transform": 'scale(' + t + ')',
  2451. transform: 'scale(' + t + ')'
  2452. }).addClass('ripple-on').data('animating', 'on').data('mousedown', 'on') : this.$decorator.animate({
  2453. width: 2 * i(this.$element.outerWidth(), this.$element.outerHeight()),
  2454. height: 2 * i(this.$element.outerWidth(), this.$element.outerHeight()),
  2455. "margin-left": -1 * i(this.$element.outerWidth(), this.$element.outerHeight()),
  2456. "margin-top": -1 * i(this.$element.outerWidth(), this.$element.outerHeight()),
  2457. opacity: 0.2
  2458. }, this.config.duration, function() {
  2459. e.$decorator.trigger('transitionend')
  2460. })
  2461. }, o._getNewSize = function() {
  2462. return 2.5 * (i(this.$element.outerWidth(), this.$element.outerHeight()) / this.$decorator.outerWidth())
  2463. }, t._jQueryInterface = function(o) {
  2464. return this.each(function() {
  2465. var a = e(this),
  2466. r = a.data(n);
  2467. r || (r = new t(a, o), a.data(n, r))
  2468. })
  2469. }, t
  2470. }();
  2471. return e.fn[o] = d._jQueryInterface, e.fn[o].Constructor = d, e.fn[o].noConflict = function() {
  2472. return e.fn[o] = a, d._jQueryInterface
  2473. }, d
  2474. }(jQuery),
  2475. k = function(e) {
  2476. var t = 'autofill',
  2477. n = 'bmd.' + t,
  2478. o = 'bmd' + (t.charAt(0).toUpperCase() + t.slice(1)),
  2479. a = e.fn[o],
  2480. i = {},
  2481. l = function(t) {
  2482. function o(n, o) {
  2483. var a;
  2484. return a = t.call(this, n, e.extend(!0, {}, i, o)) || this, a._watchLoading(), a._attachEventHandlers(), a
  2485. }
  2486. r(o, t);
  2487. var a = o.prototype;
  2488. return a.dispose = function() {
  2489. t.prototype.dispose.call(this, n)
  2490. }, a._watchLoading = function() {
  2491. var e = this;
  2492. setTimeout(function() {
  2493. clearInterval(e._onLoading)
  2494. }, 1e4)
  2495. }, a._onLoading = function() {
  2496. setInterval(function() {
  2497. e('input[type!=checkbox]').each(function(t, n) {
  2498. var o = e(n);
  2499. o.val() && o.val() !== o.attr('value') && o.trigger('change')
  2500. })
  2501. }, 100)
  2502. }, a._attachEventHandlers = function() {
  2503. var t = null;
  2504. e(document).on('focus', 'input', function(n) {
  2505. var o = e(n.currentTarget).closest('form').find('input').not('[type=file]');
  2506. t = setInterval(function() {
  2507. o.each(function(t, n) {
  2508. var o = e(n);
  2509. o.val() !== o.attr('value') && o.trigger('change')
  2510. })
  2511. }, 100)
  2512. }).on('blur', '.form-group input', function() {
  2513. clearInterval(t)
  2514. })
  2515. }, o._jQueryInterface = function(t) {
  2516. return this.each(function() {
  2517. var a = e(this),
  2518. r = a.data(n);
  2519. r || (r = new o(a, t), a.data(n, r))
  2520. })
  2521. }, o
  2522. }(h);
  2523. return e.fn[o] = l._jQueryInterface, e.fn[o].Constructor = l, e.fn[o].noConflict = function() {
  2524. return e.fn[o] = a, l._jQueryInterface
  2525. }, l
  2526. }(jQuery);
  2527. Popper.Defaults.modifiers.computeStyle.gpuAcceleration = !1;
  2528. (function(t) {
  2529. var e = 'bootstrapMaterialDesign',
  2530. n = 'bmd.' + e,
  2531. o = e,
  2532. a = t.fn[o],
  2533. r = {
  2534. global: {
  2535. validate: !1,
  2536. label: {
  2537. className: 'bmd-label-static'
  2538. }
  2539. },
  2540. autofill: {
  2541. selector: 'body'
  2542. },
  2543. checkbox: {
  2544. selector: '.checkbox > label > input[type=checkbox]'
  2545. },
  2546. checkboxInline: {
  2547. selector: 'label.checkbox-inline > input[type=checkbox]'
  2548. },
  2549. collapseInline: {
  2550. selector: '.bmd-collapse-inline [data-toggle="collapse"]'
  2551. },
  2552. drawer: {
  2553. selector: '.bmd-layout-drawer'
  2554. },
  2555. file: {
  2556. selector: 'input[type=file]'
  2557. },
  2558. radio: {
  2559. selector: '.radio > label > input[type=radio]'
  2560. },
  2561. radioInline: {
  2562. selector: 'label.radio-inline > input[type=radio]'
  2563. },
  2564. ripples: {
  2565. selector: ['.btn:not(.ripple-none)', '.card-image:not(.ripple-none)', '.navbar a:not(.ripple-none)', '.dropdown-menu a:not(.ripple-none)', '.nav-tabs a:not(.ripple-none)', '.pagination li:not(.active):not(.disabled) a:not(.ripple-none)', '.ripple']
  2566. },
  2567. select: {
  2568. selector: ['select']
  2569. },
  2570. switch: {
  2571. selector: '.switch > label > input[type=checkbox]'
  2572. },
  2573. text: {
  2574. selector: ['input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=button]):not([type=submit]):not([type=reset])']
  2575. },
  2576. textarea: {
  2577. selector: ['textarea']
  2578. },
  2579. arrive: !0,
  2580. instantiation: ['ripples', 'checkbox', 'checkboxInline', 'collapseInline', 'drawer', 'radio', 'radioInline', 'switch', 'text', 'textarea', 'autofill']
  2581. },
  2582. i = function() {
  2583. function e(e, n) {
  2584. var o = this;
  2585. this.$element = e, this.config = t.extend(!0, {}, r, n);
  2586. for (var a = t(document), i = function(e) {
  2587. var n = o.config[e];
  2588. if (n) {
  2589. var r = o._resolveSelector(n);
  2590. n = t.extend(!0, {}, o.config.global, n);
  2591. var i = '' + (e.charAt(0).toUpperCase() + e.slice(1)),
  2592. l = 'bmd' + i;
  2593. try {
  2594. t(r)[l](n), document.arrive && o.config.arrive && a.arrive(r, function() {
  2595. t(this)[l](n)
  2596. })
  2597. } catch (o) {
  2598. var s = 'Failed to instantiate component: $(\'' + r + '\')[' + l + '](' + n + ')';
  2599. throw console.error(s, o, '\nSelected elements: ', t(r)), o
  2600. }
  2601. }
  2602. }, l = this.config.instantiation, s = Array.isArray(l), d = 0, l = s ? l : l[Symbol.iterator]();;) {
  2603. var c;
  2604. if (s) {
  2605. if (d >= l.length) break;
  2606. c = l[d++]
  2607. } else {
  2608. if (d = l.next(), d.done) break;
  2609. c = d.value
  2610. }
  2611. var _ = c;
  2612. i(_)
  2613. }
  2614. }
  2615. var o = e.prototype;
  2616. return o.dispose = function() {
  2617. this.$element.data(n, null), this.$element = null, this.config = null
  2618. }, o._resolveSelector = function(e) {
  2619. var t = e.selector;
  2620. return Array.isArray(t) && (t = t.join(', ')), t
  2621. }, e._jQueryInterface = function(o) {
  2622. return this.each(function() {
  2623. var a = t(this),
  2624. r = a.data(n);
  2625. r || (r = new e(a, o), a.data(n, r))
  2626. })
  2627. }, e
  2628. }();
  2629. return t.fn[o] = i._jQueryInterface, t.fn[o].Constructor = i, t.fn[o].noConflict = function() {
  2630. return t.fn[o] = a, i._jQueryInterface
  2631. }, i
  2632. })(jQuery)
  2633. });