{"version":3,"file":"vendors.js","sources":["../../node_modules/browser-update/update.npm.js","../../node_modules/focus-visible/dist/focus-visible.js","../../node_modules/svg4everybody/dist/svg4everybody.js","../../node_modules/details-element-polyfill/dist/details-element-polyfill.js","../../node_modules/object-fit-images/dist/ofi.common-js.js","../../sources/javascripts/vendors.js"],"sourcesContent":["//(c)2019, MIT Style License \r\n//it is recommended to directly link to this file because we update the detection code\r\n\"use strict\";\r\n\r\nvar $bu_= new function() {\r\n var s=this;\r\n this.version=\"3.3.25\";\r\n this.vsakt = {c:\"87.0.4280\",f:83,s:\"13.1.2\",e:86,i:12,ios:\"13.3\",samsung:12.0,o:71,e_a:45.09,o_a:59.1,y:\"20.9.1\",v:3.3,uc:\"13.3\"};\r\n //severely insecure below(!) this version, insecure means remote code execution that is actively being exploited\r\n this.vsinsecure_below = {c:\"86.0.0.4240.111\",f:76,s:\"11.1.1\",e:16,i:11,ios:\"12.3\",samsung:9.0,o:62,o_a:52,y:\"20\",v:\"2.7\",uc:\"13.1\"};\r\n this.vsdefault = {c:-3,f:-3,s:-1,e:17,i:11,ios:10,samsung:9.9,o:-3,o_a:-3,y:20.4,v:2.6,uc:13.0,a:535};\r\n this.names={c:\"Chrome\",f:'Firefox',s:'Safari',e:\"Edge\",i:'Internet Explorer',ios:\"iOS\",samsung:\"Samsung Internet\",o:'Opera',o_a:'Opera', e_a:\"Edge\", y:\"Yandex Browser\",v:\"Vivaldi\",uc:\"UC Browser\",a:\"Android Browser\",x:\"Other\",silk:\"Silk\"};\r\n\r\n this.get_browser = function(ua) {\r\n var n,ua=(ua||navigator.userAgent).replace(\"_\",\".\"),r={n:\"x\",v:0,t:\"other browser\",age_years:undefined,no_device_update:false,available:s.vsakt};\r\n function ignore(reason,pattern){if (new RegExp(pattern,\"i\").test(ua)) return reason;return false}\r\n r.other=ignore(\"bot\",\"Pagespeed|pingdom|Preview|ktxn|dynatrace|Ruxit|PhantomJS|Headless|Lighthouse|bot|spider|archiver|transcoder|crawl|checker|monitoring|prerender|screenshot|python-|php|uptime|validator|fetcher|facebook|slurp|google|yahoo|node|mail.ru|github|cloudflare|addthis|thumb|proxy|feed|fetch|favicon|link|http|scrape|seo|page|search console|AOLBuild|Teoma|Expeditor\")||\r\n ignore(\"TV\",\"SMART-TV|SmartTV\") ||\r\n ignore(\"niche browser\",\"OculusBrowser|Falkon|Brave|Classic Browser|Dorado|LBBROWSER|Focus|waterfox|Firefox/56.2|Firefox/56.3|Whale|MIDP|k-meleon|sparrow|wii|Chromium|Puffin|Opera Mini|maxthon|maxton|dolfin|dolphin|seamonkey|opera mini|netfront|moblin|maemo|arora|kazehakase|epiphany|konqueror|rekonq|symbian|webos|PaleMoon|QupZilla|Otter|Midori|qutebrowser\") ||\r\n ignore(\"mobile without upgrade path or landing page\",\"OPR/44.12.2246|cros|kindle|tizen|silk|blackberry|bb10|RIM|PlayBook|meego|nokia|ucweb|ZuneWP7|537.85.10\");\r\n// ignore(\"android(chrome) web view\",\"; wv\");\r\n r.embedded=/\"QtWebEngine|Teams|Electron/i.test(ua);\r\n r.mobile=(/iphone|ipod|ipad|android|mobile|phone|ios|iemobile/i.test(ua));\r\n r.discontinued=(/netscape|greenbrowser|camino|flot|fennec|galeon|coolnovo/i.test(ua));\r\n\r\n var pats=[\r\n [\"CriOS.VV\",\"c\",'ios'],\r\n [\"FxiOS.VV\",\"f\",'ios'],\r\n [\"Trident.*rv:VV\",\"i\",'i'],\r\n [\"Trident.VV\",\"io\",'i'],\r\n [\"UCBrowser.VV\",\"uc\",'c'],\r\n [\"MSIE.VV\",\"i\",'i'],\r\n [\"Edge.VV\",\"e\",'e'],\r\n [\"Edg.VV\",\"e\",'c'],\r\n [\"EdgA.VV\",\"e_a\",'c'],\r\n [\"Vivaldi.VV\",\"v\",'c'],\r\n [\"Android.*OPR.VV\",\"o_a\",'c'],\r\n [\"OPR.VV\",\"o\",'c'],\r\n [\"YaBrowser.VV\",\"y\",'c'],\r\n [\"SamsungBrowser.VV\",\"samsung\",'c'],\r\n [\"Silk.VV\",\"silk\",'c'],\r\n [\"Chrome.VV\",\"c\",'c'],\r\n [\"Firefox.VV\",\"f\",'f'],\r\n [\" OS.VV.*Safari\",\"ios\",'ios'],\r\n [\"Version.VV.*Safari\",\"s\",'s'],\r\n [\"Safari.VV\",\"so\",'s'],\r\n [\"Opera.*Version.VV\",\"o\"],\r\n [\"Opera.VV\",\"o\"]\r\n ];\r\n var VV=\"(\\\\d+\\\\.?\\\\d+\\\\.?\\\\d*\\\\.?\\\\d*)\";\r\n for (var i=0; i < pats.length; i++) {\r\n if (ua.match(new RegExp(pats[i][0].replace(\"VV\",VV),\"i\"))) {\r\n r.n=pats[i][1];\r\n r.engine=pats[i][2];\r\n break;\r\n } \r\n }\r\n r.fullv=RegExp.$1;\r\n r.v=parseFloat(r.fullv);\r\n\r\n // Special treatment of some systems\r\n //do not notify old systems since there is no up-to-date browser available\r\n if (/windows.nt.5.0|windows.nt.4.0|windows.95|windows.98|os x 10.2|os x 10.3|os x 10.4|os x 10.5/i.test(ua)) {\r\n r.no_device_update=true;\r\n r.available={}\r\n }\r\n //Safari on iOS 13 in Desktop mode\r\n if (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1) {\r\n r.n=\"ios\";\r\n r.engine='ios';\r\n r.fullv=r.v=13;\r\n r.no_device_update=true;//For now, never show a message, TODO!\r\n }\r\n //iOS\r\n if (/iphone|ipod|ipad|ios/i.test(ua)) {\r\n ua.match(new RegExp(\"OS.\"+VV,\"i\"));\r\n r.n=\"ios\";\r\n r.fullv=RegExp.$1;\r\n r.v=parseFloat(r.fullv);\r\n r.engine='ios';\r\n var av=s.available_ios(ua,r.v);\r\n /*\r\n var newmap={10:\"10.3.4\",11:\"12.4.3\",12:\"12.4.3\",13:s.vsakt[\"ios\"]};\r\n\r\n if (av in newmap)\r\n av=newmap[av];\r\n */\r\n if (av < 12 && Math.round(r.v)===11)// all devices with ios 11 support ios 12\r\n av=12\r\n r.available = {\"ios\": av};\r\n if (parseFloat(r.available.ios)<11)\r\n r.no_device_update=true;\r\n }\r\n //winxp/vista/2003\r\n if (/windows.nt.5.1|windows.nt.5.2|windows.nt.6.0/i.test(ua)) {\r\n r.available={\"c\":49.9,\"f\":52.9}\r\n }\r\n //old mac\r\n if (/os x 10.6/i.test(ua)) {\r\n r.available = {\"s\": \"5.1.10\", \"c\": 49.9, \"f\": 48}\r\n r.no_device_update=true;\r\n }\r\n\r\n if (/os x 10.7|os x 10.8/i.test(ua)) {\r\n r.available = {\"s\": \"6.2.8\", \"c\": 49.9, \"f\": 48}\r\n r.no_device_update=true;\r\n }\r\n if (/os x 10.9/i.test(ua))\r\n r.available.s=\"9.1.3\"\r\n\r\n if (/os x 10.10/i.test(ua))\r\n r.available.s=\"10.1.2\"\r\n\r\n //check for android stock browser\r\n if (ua.indexOf('Android')>-1 && r.n===\"s\") {\r\n var v=parseInt((/WebKit\\/([0-9]+)/i.exec(ua) || 0)[1],10) || 2000;\r\n if (v <= 534) {\r\n r.n=\"a\";\r\n r.fullv=r.v=v;\r\n r.is_insecure=true;\r\n }\r\n }\r\n\r\n // Special treatment of some browsers\r\n if (r.n===\"so\") {\r\n r.v=r.fullv=4.0;\r\n r.n=\"s\";\r\n }\r\n if (r.n===\"io\") {\r\n r.n=\"i\";\r\n if (r.v>6) r.v=11;\r\n else if (r.v>5) r.v=10;\r\n else if (r.v>4) r.v=9;\r\n else if (r.v>3.1) r.v=8;\r\n else if (r.v>3) r.v=7;\r\n else r.v=9;\r\n r.fullv=r.v;\r\n }\r\n r.t=s.names[r.n]+\" \"+r.v;\r\n r.is_supported=r.is_latest= !s.vsakt[r.n] ? undefined : s.less(r.fullv,s.vsakt[r.n])<=0;\r\n \r\n r.vmaj=Math.round(r.v);\r\n\r\n r.is_insecure= r.is_insecure|| !s.vsinsecure_below[r.n] ? undefined : s.less(r.fullv,s.vsinsecure_below[r.n])===1;\r\n \r\n if ((r.n===\"f\" && (r.vmaj===78)) || (r.n===\"i\" && r.vmaj===11)) {\r\n r.is_supported=true;\r\n r.is_insecure=false;\r\n if (r.n===\"f\")\r\n r.esr=true;\r\n }\r\n if (r.n===\"ios\" && r.v>10.3)\r\n r.is_supported=true;\r\n if (r.n===\"a\" || r.n===\"x\")\r\n r.t=s.names[r.n];\r\n if (r.n===\"e\") {\r\n r.t = s.names[r.n] + \" \" + r.vmaj;\r\n r.is_supported = s.less(r.fullv, \"18.15063\") != 1\r\n }\r\n if (r.n in [\"c\",\"f\",\"o\",\"e\"] && s.less(r.fullv,parseFloat(s.vsakt[r.n])-1)<=0)\r\n r.is_supported=true; //mark also the version before the current version as supported to make the transitions smoother\r\n\r\n var releases_per_year={'f':7,'c':8,'o':8,'i':1,'e':1,'s':1}//,'v':1}\r\n if (releases_per_year[r.n]) {\r\n r.age_years=Math.round(((s.vsakt[r.n]-r.v)/releases_per_year[r.n])*10)/10 || 0\r\n }\r\n var engines={e:\"Edge.VV\",c:\"Chrome.VV\",f:\"Firefox.VV\",s:\"Version.VV\",i:\"MSIE.VV\",\"ios\":\" OS.VV\"}\r\n if (r.engine) {\r\n ua.match(new RegExp(engines[r.engine].replace(\"VV\",VV),\"i\"))\r\n r.engine_version=parseFloat(RegExp.$1)\r\n } \r\n return r\r\n}\r\nthis.semver = function(vstr) {\r\n if (vstr instanceof Array)\r\n return vstr\r\n var x = (vstr+(\".0.0.0\")).split('.')\r\n return [parseInt(x[0]) || 0, parseInt(x[1]) || 0, parseInt(x[2]) || 0, parseInt(x[3]) || 0]\r\n}\r\nthis.less= function(v1,v2) {\r\n //semantic version comparison: returns 1 if v1v2\r\n v1=s.semver(v1)\r\n v2=s.semver(v2)\r\n for (var i=0; ;i++) {\r\n if (i>=v1.length) return i>=v2.length ? 0 : 1;\r\n if (i>=v2.length) return -1;\r\n var diff = v2[i]-v1[i]\r\n if (diff) return diff>0 ? 1 : -1;\r\n }\r\n}\r\nthis.available_ios=function(ua,v) {\r\n var h = Math.max(window.screen.height, window.screen.width),pr = window.devicePixelRatio\r\n if (/ipad/i.test(ua)) {\r\n if (h == 1024 && pr == 2) // iPad 3 (iOS 9), 4, 5, Mini 2, Mini 3, Mini 4, Air, Air 2, Pro 9.7\r\n return 10//? only ipad 4 has ios 10, all other can have ios 11\r\n if (h == 1112)// iPad Pro 10.5\r\n return 15;\r\n if (h == 1366)//iPad Pro 12.9, Pro 12.9 (2nd Gen)\r\n return 15\r\n if (h == 1024 && v < 6)\r\n return 5 // iPad\r\n return 9 // iPad 2, iPad Mini\r\n }\r\n if (pr == 1)// 1/3G/3GS\r\n return 6//for 3GS\r\n if (h == 812)// && pr == 3)// X\r\n return 11 + 4\r\n if ((h == 736 || h == 667))// && pr == 3)// 6+/6s+/7+ and 8+ or // 6+/6s+/7+ and 8+ in zoom mode + // 6/6s/7 and 8\r\n return 12//latest version for iphone 6 is 12, 13 is for 6S\r\n if (h == 568) // 5/5C/5s/SE or 6/6s/7 and 8 in zoom mode\r\n return 10\r\n if (h == 480) // i4/4s\r\n return 7\r\n return 6\r\n}\r\n/*\r\nthis.sub= function(v,minus) {\r\n //semantic version subtraction\r\n v=s.semver(v)\r\n minus=s.semver(minus)\r\n for (var i=0; ;i++) {\r\n if (i>=v.length||i>minus.length) break;\r\n v[i]-=v[minus];\r\n }\r\n return v.join('.')\r\n}\r\n*/\r\n}\r\n\r\nwindow.$bu_getBrowser=$bu_.get_browser;\r\n\r\nvar $buo = function(op,test) {\r\nvar n = window.navigator,b;\r\nop=window._buorgres=op||{};\r\nvar ll = op.l||(n.languages ? n.languages[0] : null) || n.language || n.browserLanguage || n.userLanguage||document.documentElement.getAttribute(\"lang\")||\"en\";\r\nop.llfull=ll.replace(\"_\",\"-\").toLowerCase().substr(0,5);\r\nop.ll=op.llfull.substr(0,2);\r\nop.domain=op.domain!==undefined?op.domain:(/file:/.test(location.href)?\"https:\":\"\")+\"//browser-update.org\";\r\nop.apiver=op.api||op.c||-1;\r\nop.jsv=$bu_.version;\r\n\r\nvar required_min=(op.apiver<2018&&{i:10,f:11,o:21,s:8,c:30})||{};\r\n\r\nvar vs=op.notify||op.vs||{};//legacy config: maximum version to notify\r\nvs.e=vs.e||vs.i;\r\nvs.i=vs.i||vs.e;\r\nvar required=op.required||{};//minimum browser versions needed\r\nrequired.e=required.e||required.i;\r\nif (!required.i) {\r\n required.i=required.e;\r\n $bu_.vsakt.i=$bu_.vsakt.e;\r\n}\r\n\r\nfor (b in $bu_.vsdefault) {\r\n if (vs[b]) {//legacy style config: browsers to notify\r\n if ($bu_.less(vs[b],0)>=0) // required <= 0\r\n required[b]= parseFloat($bu_.vsakt[b])+parseFloat(vs[b])+0.01\r\n else\r\n required[b] = parseFloat(vs[b]) + 0.01\r\n }\r\n if (!(b in required) || required[b]==null)\r\n required[b]=$bu_.vsdefault[b]\r\n if ($bu_.less(required[b],0)>=0) // case for required <= 0 --> relative to latest version\r\n required[b]=parseFloat($bu_.vsakt[b])+parseFloat(required[b]) // TODO: make it work for string version\r\n if (required_min[b] && $bu_.less(required[b],required_min[b])===1) // required < required_min\r\n required[b]=required_min[b]\r\n}\r\nrequired.ios=required.ios||required.s;\r\n\r\nif (required.i<79 && required.i>65)\r\n required.i=required.i-60\r\nif (required.e<79 && required.e>65)\r\n required.e=required.e-60\r\nop.required=required;\r\nop.reminder=op.reminder<0.1 ? 0 : op.reminder||(24*7);\r\nop.reminderClosed=op.reminderClosed<1 ? 0 : op.reminderClosed||(24*7);\r\nop.onshow = op.onshow||function(o){};\r\nop.onclick = op.onclick||function(o){};\r\nop.onclose = op.onclose||function(o){};\r\nop.pageurl = op.pageurl || location.hostname || \"x\";\r\nop.newwindow=(op.newwindow!==false);\r\n\r\nop.test=test||op.test||(location.hash===\"#test-bu\")||false;\r\nop.ignorecookie=op.ignorecookie||location.hash===\"#ignorecookie-bu\";\r\n\r\nop.reasons=[];\r\nop.hide_reasons=[];\r\nfunction check_show(op) {\r\n var bb=op.browser=$bu_.get_browser(op.override_ua);\r\n op.is_below_required = required[bb.n] && $bu_.less(bb.fullv,required[bb.n])===1; //bb.fullv0)\r\n return false\r\n if (op.reasons.length>0)\r\n return true\r\n return false\r\n }\r\n\r\nop.notified=check_show(op);\r\n\r\nop.already_shown=document.cookie.indexOf(\"browserupdateorg=pause\")>-1 && !op.ignorecookie;\r\n\r\nif (!op.test && (!op.notified || op.already_shown))\r\n return;\r\n\r\nop.setCookie=function(hours) { //sets a cookie that the user has already seen the notification, closed it or permanently wants to hide it. No information on the user is stored.\r\n document.cookie = 'browserupdateorg=pause; expires='+(new Date(new Date().getTime()+3600000*hours)).toGMTString()+'; path=/; SameSite=Lax';\r\n};\r\n\r\nif (op.already_shown && (op.ignorecookie || op.test))\r\n op.setCookie(-10)// remove old cookies if in test mode\r\n\r\nif (op.reminder>0)\r\n op.setCookie(op.reminder);\r\n\r\nif (op.nomessage) {\r\n op.onshow(op);\r\n return;\r\n}\r\n\r\nvar e=document.createElement(\"script\");\r\ne.src = op.jsshowurl||op.domain+\"/update.show.min.js\";\r\ndocument.body.appendChild(e);\r\n};\r\n\r\n\r\nif( typeof( module ) !== 'undefined' ) {\r\n module.exports = $buo;\r\n}\r\n\r\n\r\n\r\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (factory());\n}(this, (function () { 'use strict';\n\n /**\n * Applies the :focus-visible polyfill at the given scope.\n * A scope in this case is either the top-level Document or a Shadow Root.\n *\n * @param {(Document|ShadowRoot)} scope\n * @see https://github.com/WICG/focus-visible\n */\n function applyFocusVisiblePolyfill(scope) {\n var hadKeyboardEvent = true;\n var hadFocusVisibleRecently = false;\n var hadFocusVisibleRecentlyTimeout = null;\n\n var inputTypesAllowlist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n };\n\n /**\n * Helper function for legacy browsers and iframes which sometimes focus\n * elements like document, body, and non-interactive SVG.\n * @param {Element} el\n */\n function isValidFocusTarget(el) {\n if (\n el &&\n el !== document &&\n el.nodeName !== 'HTML' &&\n el.nodeName !== 'BODY' &&\n 'classList' in el &&\n 'contains' in el.classList\n ) {\n return true;\n }\n return false;\n }\n\n /**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} el\n * @return {boolean}\n */\n function focusTriggersKeyboardModality(el) {\n var type = el.type;\n var tagName = el.tagName;\n\n if (tagName === 'INPUT' && inputTypesAllowlist[type] && !el.readOnly) {\n return true;\n }\n\n if (tagName === 'TEXTAREA' && !el.readOnly) {\n return true;\n }\n\n if (el.isContentEditable) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Add the `focus-visible` class to the given element if it was not added by\n * the author.\n * @param {Element} el\n */\n function addFocusVisibleClass(el) {\n if (el.classList.contains('focus-visible')) {\n return;\n }\n el.classList.add('focus-visible');\n el.setAttribute('data-focus-visible-added', '');\n }\n\n /**\n * Remove the `focus-visible` class from the given element if it was not\n * originally added by the author.\n * @param {Element} el\n */\n function removeFocusVisibleClass(el) {\n if (!el.hasAttribute('data-focus-visible-added')) {\n return;\n }\n el.classList.remove('focus-visible');\n el.removeAttribute('data-focus-visible-added');\n }\n\n /**\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * Apply `focus-visible` to any current active element and keep track\n * of our keyboard modality state with `hadKeyboardEvent`.\n * @param {KeyboardEvent} e\n */\n function onKeyDown(e) {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n\n if (isValidFocusTarget(scope.activeElement)) {\n addFocusVisibleClass(scope.activeElement);\n }\n\n hadKeyboardEvent = true;\n }\n\n /**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n * @param {Event} e\n */\n function onPointerDown(e) {\n hadKeyboardEvent = false;\n }\n\n /**\n * On `focus`, add the `focus-visible` class to the target if:\n * - the target received focus as a result of keyboard navigation, or\n * - the event target is an element that will likely require interaction\n * via the keyboard (e.g. a text box)\n * @param {Event} e\n */\n function onFocus(e) {\n // Prevent IE from focusing the document or HTML element.\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {\n addFocusVisibleClass(e.target);\n }\n }\n\n /**\n * On `blur`, remove the `focus-visible` class from the target.\n * @param {Event} e\n */\n function onBlur(e) {\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (\n e.target.classList.contains('focus-visible') ||\n e.target.hasAttribute('data-focus-visible-added')\n ) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n hadFocusVisibleRecentlyTimeout = window.setTimeout(function() {\n hadFocusVisibleRecently = false;\n }, 100);\n removeFocusVisibleClass(e.target);\n }\n }\n\n /**\n * If the user changes tabs, keep track of whether or not the previously\n * focused element had .focus-visible.\n * @param {Event} e\n */\n function onVisibilityChange(e) {\n if (document.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n addInitialPointerMoveListeners();\n }\n }\n\n /**\n * Add a group of listeners to detect usage of any pointing devices.\n * These listeners will be added when the polyfill first loads, and anytime\n * the window is blurred, so that they are active when the window regains\n * focus.\n */\n function addInitialPointerMoveListeners() {\n document.addEventListener('mousemove', onInitialPointerMove);\n document.addEventListener('mousedown', onInitialPointerMove);\n document.addEventListener('mouseup', onInitialPointerMove);\n document.addEventListener('pointermove', onInitialPointerMove);\n document.addEventListener('pointerdown', onInitialPointerMove);\n document.addEventListener('pointerup', onInitialPointerMove);\n document.addEventListener('touchmove', onInitialPointerMove);\n document.addEventListener('touchstart', onInitialPointerMove);\n document.addEventListener('touchend', onInitialPointerMove);\n }\n\n function removeInitialPointerMoveListeners() {\n document.removeEventListener('mousemove', onInitialPointerMove);\n document.removeEventListener('mousedown', onInitialPointerMove);\n document.removeEventListener('mouseup', onInitialPointerMove);\n document.removeEventListener('pointermove', onInitialPointerMove);\n document.removeEventListener('pointerdown', onInitialPointerMove);\n document.removeEventListener('pointerup', onInitialPointerMove);\n document.removeEventListener('touchmove', onInitialPointerMove);\n document.removeEventListener('touchstart', onInitialPointerMove);\n document.removeEventListener('touchend', onInitialPointerMove);\n }\n\n /**\n * When the polfyill first loads, assume the user is in keyboard modality.\n * If any event is received from a pointing device (e.g. mouse, pointer,\n * touch), turn off keyboard modality.\n * This accounts for situations where focus enters the page from the URL bar.\n * @param {Event} e\n */\n function onInitialPointerMove(e) {\n // Work around a Safari quirk that fires a mousemove on whenever the\n // window blurs, even if you're tabbing out of the page. ¯\\_(ツ)_/¯\n if (e.target.nodeName && e.target.nodeName.toLowerCase() === 'html') {\n return;\n }\n\n hadKeyboardEvent = false;\n removeInitialPointerMoveListeners();\n }\n\n // For some kinds of state, we are interested in changes at the global scope\n // only. For example, global pointer input, global key presses and global\n // visibility change should affect the state at every scope:\n document.addEventListener('keydown', onKeyDown, true);\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('visibilitychange', onVisibilityChange, true);\n\n addInitialPointerMoveListeners();\n\n // For focus and blur, we specifically care about state changes in the local\n // scope. This is because focus / blur events that originate from within a\n // shadow root are not re-dispatched from the host element if it was already\n // the active element in its own scope:\n scope.addEventListener('focus', onFocus, true);\n scope.addEventListener('blur', onBlur, true);\n\n // We detect that a node is a ShadowRoot by ensuring that it is a\n // DocumentFragment and also has a host property. This check covers native\n // implementation and polyfill implementation transparently. If we only cared\n // about the native implementation, we could just check if the scope was\n // an instance of a ShadowRoot.\n if (scope.nodeType === Node.DOCUMENT_FRAGMENT_NODE && scope.host) {\n // Since a ShadowRoot is a special kind of DocumentFragment, it does not\n // have a root element to add a class to. So, we add this attribute to the\n // host element instead:\n scope.host.setAttribute('data-js-focus-visible', '');\n } else if (scope.nodeType === Node.DOCUMENT_NODE) {\n document.documentElement.classList.add('js-focus-visible');\n document.documentElement.setAttribute('data-js-focus-visible', '');\n }\n }\n\n // It is important to wrap all references to global window and document in\n // these checks to support server-side rendering use cases\n // @see https://github.com/WICG/focus-visible/issues/199\n if (typeof window !== 'undefined' && typeof document !== 'undefined') {\n // Make the polyfill helper globally available. This can be used as a signal\n // to interested libraries that wish to coordinate with the polyfill for e.g.,\n // applying the polyfill to a shadow root:\n window.applyFocusVisiblePolyfill = applyFocusVisiblePolyfill;\n\n // Notify interested libraries of the polyfill's presence, in case the\n // polyfill was loaded lazily:\n var event;\n\n try {\n event = new CustomEvent('focus-visible-polyfill-ready');\n } catch (error) {\n // IE11 does not support using CustomEvent as a constructor directly:\n event = document.createEvent('CustomEvent');\n event.initCustomEvent('focus-visible-polyfill-ready', false, false, {});\n }\n\n window.dispatchEvent(event);\n }\n\n if (typeof document !== 'undefined') {\n // Apply the polyfill to the global document, so that no JavaScript\n // coordination is required to use the polyfill in the top-level document:\n applyFocusVisiblePolyfill(document);\n }\n\n})));\n","!function(root, factory) {\n \"function\" == typeof define && define.amd ? // AMD. Register as an anonymous module unless amdModuleId is set\n define([], function() {\n return root.svg4everybody = factory();\n }) : \"object\" == typeof module && module.exports ? // Node. Does not work with strict CommonJS, but\n // only CommonJS-like environments that support module.exports,\n // like Node.\n module.exports = factory() : root.svg4everybody = factory();\n}(this, function() {\n /*! svg4everybody v2.1.9 | github.com/jonathantneal/svg4everybody */\n function embed(parent, svg, target) {\n // if the target exists\n if (target) {\n // create a document fragment to hold the contents of the target\n var fragment = document.createDocumentFragment(), viewBox = !svg.hasAttribute(\"viewBox\") && target.getAttribute(\"viewBox\");\n // conditionally set the viewBox on the svg\n viewBox && svg.setAttribute(\"viewBox\", viewBox);\n // copy the contents of the clone into the fragment\n for (// clone the target\n var clone = target.cloneNode(!0); clone.childNodes.length; ) {\n fragment.appendChild(clone.firstChild);\n }\n // append the fragment into the svg\n parent.appendChild(fragment);\n }\n }\n function loadreadystatechange(xhr) {\n // listen to changes in the request\n xhr.onreadystatechange = function() {\n // if the request is ready\n if (4 === xhr.readyState) {\n // get the cached html document\n var cachedDocument = xhr._cachedDocument;\n // ensure the cached html document based on the xhr response\n cachedDocument || (cachedDocument = xhr._cachedDocument = document.implementation.createHTMLDocument(\"\"), \n cachedDocument.body.innerHTML = xhr.responseText, xhr._cachedTarget = {}), // clear the xhr embeds list and embed each item\n xhr._embeds.splice(0).map(function(item) {\n // get the cached target\n var target = xhr._cachedTarget[item.id];\n // ensure the cached target\n target || (target = xhr._cachedTarget[item.id] = cachedDocument.getElementById(item.id)), \n // embed the target into the svg\n embed(item.parent, item.svg, target);\n });\n }\n }, // test the ready state change immediately\n xhr.onreadystatechange();\n }\n function svg4everybody(rawopts) {\n function oninterval() {\n // while the index exists in the live collection\n for (// get the cached index\n var index = 0; index < uses.length; ) {\n // get the current \n var use = uses[index], parent = use.parentNode, svg = getSVGAncestor(parent), src = use.getAttribute(\"xlink:href\") || use.getAttribute(\"href\");\n if (!src && opts.attributeName && (src = use.getAttribute(opts.attributeName)), \n svg && src) {\n if (polyfill) {\n if (!opts.validate || opts.validate(src, svg, use)) {\n // remove the element\n parent.removeChild(use);\n // parse the src and get the url and id\n var srcSplit = src.split(\"#\"), url = srcSplit.shift(), id = srcSplit.join(\"#\");\n // if the link is external\n if (url.length) {\n // get the cached xhr request\n var xhr = requests[url];\n // ensure the xhr request exists\n xhr || (xhr = requests[url] = new XMLHttpRequest(), xhr.open(\"GET\", url), xhr.send(), \n xhr._embeds = []), // add the svg and id as an item to the xhr embeds list\n xhr._embeds.push({\n parent: parent,\n svg: svg,\n id: id\n }), // prepare the xhr ready state change event\n loadreadystatechange(xhr);\n } else {\n // embed the local id into the svg\n embed(parent, svg, document.getElementById(id));\n }\n } else {\n // increase the index when the previous value was not \"valid\"\n ++index, ++numberOfSvgUseElementsToBypass;\n }\n }\n } else {\n // increase the index when the previous value was not \"valid\"\n ++index;\n }\n }\n // continue the interval\n (!uses.length || uses.length - numberOfSvgUseElementsToBypass > 0) && requestAnimationFrame(oninterval, 67);\n }\n var polyfill, opts = Object(rawopts), newerIEUA = /\\bTrident\\/[567]\\b|\\bMSIE (?:9|10)\\.0\\b/, webkitUA = /\\bAppleWebKit\\/(\\d+)\\b/, olderEdgeUA = /\\bEdge\\/12\\.(\\d+)\\b/, edgeUA = /\\bEdge\\/.(\\d+)\\b/, inIframe = window.top !== window.self;\n polyfill = \"polyfill\" in opts ? opts.polyfill : newerIEUA.test(navigator.userAgent) || (navigator.userAgent.match(olderEdgeUA) || [])[1] < 10547 || (navigator.userAgent.match(webkitUA) || [])[1] < 537 || edgeUA.test(navigator.userAgent) && inIframe;\n // create xhr requests object\n var requests = {}, requestAnimationFrame = window.requestAnimationFrame || setTimeout, uses = document.getElementsByTagName(\"use\"), numberOfSvgUseElementsToBypass = 0;\n // conditionally start the interval if the polyfill is active\n polyfill && oninterval();\n }\n function getSVGAncestor(node) {\n for (var svg = node; \"svg\" !== svg.nodeName.toLowerCase() && (svg = svg.parentNode); ) {}\n return svg;\n }\n return svg4everybody;\n});","/*\nDetails Element Polyfill 2.4.0\nCopyright © 2019 Javan Makhmali\n */\n(function() {\n \"use strict\";\n var element = document.createElement(\"details\");\n var elementIsNative = typeof HTMLDetailsElement != \"undefined\" && element instanceof HTMLDetailsElement;\n var support = {\n open: \"open\" in element || elementIsNative,\n toggle: \"ontoggle\" in element\n };\n var styles = '\\ndetails, summary {\\n display: block;\\n}\\ndetails:not([open]) > *:not(summary) {\\n display: none;\\n}\\nsummary::before {\\n content: \"►\";\\n padding-right: 0.3rem;\\n font-size: 0.6rem;\\n cursor: default;\\n}\\n[open] > summary::before {\\n content: \"▼\";\\n}\\n';\n var _ref = [], forEach = _ref.forEach, slice = _ref.slice;\n if (!support.open) {\n polyfillStyles();\n polyfillProperties();\n polyfillToggle();\n polyfillAccessibility();\n }\n if (support.open && !support.toggle) {\n polyfillToggleEvent();\n }\n function polyfillStyles() {\n document.head.insertAdjacentHTML(\"afterbegin\", \"\");\n }\n function polyfillProperties() {\n var prototype = document.createElement(\"details\").constructor.prototype;\n var setAttribute = prototype.setAttribute, removeAttribute = prototype.removeAttribute;\n var open = Object.getOwnPropertyDescriptor(prototype, \"open\");\n Object.defineProperties(prototype, {\n open: {\n get: function get() {\n if (this.tagName == \"DETAILS\") {\n return this.hasAttribute(\"open\");\n } else {\n if (open && open.get) {\n return open.get.call(this);\n }\n }\n },\n set: function set(value) {\n if (this.tagName == \"DETAILS\") {\n return value ? this.setAttribute(\"open\", \"\") : this.removeAttribute(\"open\");\n } else {\n if (open && open.set) {\n return open.set.call(this, value);\n }\n }\n }\n },\n setAttribute: {\n value: function value(name, _value) {\n var _this = this;\n var call = function call() {\n return setAttribute.call(_this, name, _value);\n };\n if (name == \"open\" && this.tagName == \"DETAILS\") {\n var wasOpen = this.hasAttribute(\"open\");\n var result = call();\n if (!wasOpen) {\n var summary = this.querySelector(\"summary\");\n if (summary) summary.setAttribute(\"aria-expanded\", true);\n triggerToggle(this);\n }\n return result;\n }\n return call();\n }\n },\n removeAttribute: {\n value: function value(name) {\n var _this2 = this;\n var call = function call() {\n return removeAttribute.call(_this2, name);\n };\n if (name == \"open\" && this.tagName == \"DETAILS\") {\n var wasOpen = this.hasAttribute(\"open\");\n var result = call();\n if (wasOpen) {\n var summary = this.querySelector(\"summary\");\n if (summary) summary.setAttribute(\"aria-expanded\", false);\n triggerToggle(this);\n }\n return result;\n }\n return call();\n }\n }\n });\n }\n function polyfillToggle() {\n onTogglingTrigger(function(element) {\n element.hasAttribute(\"open\") ? element.removeAttribute(\"open\") : element.setAttribute(\"open\", \"\");\n });\n }\n function polyfillToggleEvent() {\n if (window.MutationObserver) {\n new MutationObserver(function(mutations) {\n forEach.call(mutations, function(mutation) {\n var target = mutation.target, attributeName = mutation.attributeName;\n if (target.tagName == \"DETAILS\" && attributeName == \"open\") {\n triggerToggle(target);\n }\n });\n }).observe(document.documentElement, {\n attributes: true,\n subtree: true\n });\n } else {\n onTogglingTrigger(function(element) {\n var wasOpen = element.getAttribute(\"open\");\n setTimeout(function() {\n var isOpen = element.getAttribute(\"open\");\n if (wasOpen != isOpen) {\n triggerToggle(element);\n }\n }, 1);\n });\n }\n }\n function polyfillAccessibility() {\n setAccessibilityAttributes(document);\n if (window.MutationObserver) {\n new MutationObserver(function(mutations) {\n forEach.call(mutations, function(mutation) {\n forEach.call(mutation.addedNodes, setAccessibilityAttributes);\n });\n }).observe(document.documentElement, {\n subtree: true,\n childList: true\n });\n } else {\n document.addEventListener(\"DOMNodeInserted\", function(event) {\n setAccessibilityAttributes(event.target);\n });\n }\n }\n function setAccessibilityAttributes(root) {\n findElementsWithTagName(root, \"SUMMARY\").forEach(function(summary) {\n var details = findClosestElementWithTagName(summary, \"DETAILS\");\n summary.setAttribute(\"aria-expanded\", details.hasAttribute(\"open\"));\n if (!summary.hasAttribute(\"tabindex\")) summary.setAttribute(\"tabindex\", \"0\");\n if (!summary.hasAttribute(\"role\")) summary.setAttribute(\"role\", \"button\");\n });\n }\n function eventIsSignificant(event) {\n return !(event.defaultPrevented || event.ctrlKey || event.metaKey || event.shiftKey || event.target.isContentEditable);\n }\n function onTogglingTrigger(callback) {\n addEventListener(\"click\", function(event) {\n if (eventIsSignificant(event)) {\n if (event.which <= 1) {\n var element = findClosestElementWithTagName(event.target, \"SUMMARY\");\n if (element && element.parentNode && element.parentNode.tagName == \"DETAILS\") {\n callback(element.parentNode);\n }\n }\n }\n }, false);\n addEventListener(\"keydown\", function(event) {\n if (eventIsSignificant(event)) {\n if (event.keyCode == 13 || event.keyCode == 32) {\n var element = findClosestElementWithTagName(event.target, \"SUMMARY\");\n if (element && element.parentNode && element.parentNode.tagName == \"DETAILS\") {\n callback(element.parentNode);\n event.preventDefault();\n }\n }\n }\n }, false);\n }\n function triggerToggle(element) {\n var event = document.createEvent(\"Event\");\n event.initEvent(\"toggle\", false, false);\n element.dispatchEvent(event);\n }\n function findElementsWithTagName(root, tagName) {\n return (root.tagName == tagName ? [ root ] : []).concat(typeof root.getElementsByTagName == \"function\" ? slice.call(root.getElementsByTagName(tagName)) : []);\n }\n function findClosestElementWithTagName(element, tagName) {\n if (typeof element.closest == \"function\") {\n return element.closest(tagName);\n } else {\n while (element) {\n if (element.tagName == tagName) {\n return element;\n } else {\n element = element.parentNode;\n }\n }\n }\n }\n})();\n","/*! npm.im/object-fit-images 3.2.4 */\n'use strict';\n\nvar OFI = 'bfred-it:object-fit-images';\nvar propRegex = /(object-fit|object-position)\\s*:\\s*([-.\\w\\s%]+)/g;\nvar testImg = typeof Image === 'undefined' ? {style: {'object-position': 1}} : new Image();\nvar supportsObjectFit = 'object-fit' in testImg.style;\nvar supportsObjectPosition = 'object-position' in testImg.style;\nvar supportsOFI = 'background-size' in testImg.style;\nvar supportsCurrentSrc = typeof testImg.currentSrc === 'string';\nvar nativeGetAttribute = testImg.getAttribute;\nvar nativeSetAttribute = testImg.setAttribute;\nvar autoModeEnabled = false;\n\nfunction createPlaceholder(w, h) {\n\treturn (\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='\" + w + \"' height='\" + h + \"'%3E%3C/svg%3E\");\n}\n\nfunction polyfillCurrentSrc(el) {\n\tif (el.srcset && !supportsCurrentSrc && window.picturefill) {\n\t\tvar pf = window.picturefill._;\n\t\t// parse srcset with picturefill where currentSrc isn't available\n\t\tif (!el[pf.ns] || !el[pf.ns].evaled) {\n\t\t\t// force synchronous srcset parsing\n\t\t\tpf.fillImg(el, {reselect: true});\n\t\t}\n\n\t\tif (!el[pf.ns].curSrc) {\n\t\t\t// force picturefill to parse srcset\n\t\t\tel[pf.ns].supported = false;\n\t\t\tpf.fillImg(el, {reselect: true});\n\t\t}\n\n\t\t// retrieve parsed currentSrc, if any\n\t\tel.currentSrc = el[pf.ns].curSrc || el.src;\n\t}\n}\n\nfunction getStyle(el) {\n\tvar style = getComputedStyle(el).fontFamily;\n\tvar parsed;\n\tvar props = {};\n\twhile ((parsed = propRegex.exec(style)) !== null) {\n\t\tprops[parsed[1]] = parsed[2];\n\t}\n\treturn props;\n}\n\nfunction setPlaceholder(img, width, height) {\n\t// Default: fill width, no height\n\tvar placeholder = createPlaceholder(width || 1, height || 0);\n\n\t// Only set placeholder if it's different\n\tif (nativeGetAttribute.call(img, 'src') !== placeholder) {\n\t\tnativeSetAttribute.call(img, 'src', placeholder);\n\t}\n}\n\nfunction onImageReady(img, callback) {\n\t// naturalWidth is only available when the image headers are loaded,\n\t// this loop will poll it every 100ms.\n\tif (img.naturalWidth) {\n\t\tcallback(img);\n\t} else {\n\t\tsetTimeout(onImageReady, 100, img, callback);\n\t}\n}\n\nfunction fixOne(el) {\n\tvar style = getStyle(el);\n\tvar ofi = el[OFI];\n\tstyle['object-fit'] = style['object-fit'] || 'fill'; // default value\n\n\t// Avoid running where unnecessary, unless OFI had already done its deed\n\tif (!ofi.img) {\n\t\t// fill is the default behavior so no action is necessary\n\t\tif (style['object-fit'] === 'fill') {\n\t\t\treturn;\n\t\t}\n\n\t\t// Where object-fit is supported and object-position isn't (Safari < 10)\n\t\tif (\n\t\t\t!ofi.skipTest && // unless user wants to apply regardless of browser support\n\t\t\tsupportsObjectFit && // if browser already supports object-fit\n\t\t\t!style['object-position'] // unless object-position is used\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t}\n\n\t// keep a clone in memory while resetting the original to a blank\n\tif (!ofi.img) {\n\t\tofi.img = new Image(el.width, el.height);\n\t\tofi.img.srcset = nativeGetAttribute.call(el, \"data-ofi-srcset\") || el.srcset;\n\t\tofi.img.src = nativeGetAttribute.call(el, \"data-ofi-src\") || el.src;\n\n\t\t// preserve for any future cloneNode calls\n\t\t// https://github.com/bfred-it/object-fit-images/issues/53\n\t\tnativeSetAttribute.call(el, \"data-ofi-src\", el.src);\n\t\tif (el.srcset) {\n\t\t\tnativeSetAttribute.call(el, \"data-ofi-srcset\", el.srcset);\n\t\t}\n\n\t\tsetPlaceholder(el, el.naturalWidth || el.width, el.naturalHeight || el.height);\n\n\t\t// remove srcset because it overrides src\n\t\tif (el.srcset) {\n\t\t\tel.srcset = '';\n\t\t}\n\t\ttry {\n\t\t\tkeepSrcUsable(el);\n\t\t} catch (err) {\n\t\t\tif (window.console) {\n\t\t\t\tconsole.warn('https://bit.ly/ofi-old-browser');\n\t\t\t}\n\t\t}\n\t}\n\n\tpolyfillCurrentSrc(ofi.img);\n\n\tel.style.backgroundImage = \"url(\\\"\" + ((ofi.img.currentSrc || ofi.img.src).replace(/\"/g, '\\\\\"')) + \"\\\")\";\n\tel.style.backgroundPosition = style['object-position'] || 'center';\n\tel.style.backgroundRepeat = 'no-repeat';\n\tel.style.backgroundOrigin = 'content-box';\n\n\tif (/scale-down/.test(style['object-fit'])) {\n\t\tonImageReady(ofi.img, function () {\n\t\t\tif (ofi.img.naturalWidth > el.width || ofi.img.naturalHeight > el.height) {\n\t\t\t\tel.style.backgroundSize = 'contain';\n\t\t\t} else {\n\t\t\t\tel.style.backgroundSize = 'auto';\n\t\t\t}\n\t\t});\n\t} else {\n\t\tel.style.backgroundSize = style['object-fit'].replace('none', 'auto').replace('fill', '100% 100%');\n\t}\n\n\tonImageReady(ofi.img, function (img) {\n\t\tsetPlaceholder(el, img.naturalWidth, img.naturalHeight);\n\t});\n}\n\nfunction keepSrcUsable(el) {\n\tvar descriptors = {\n\t\tget: function get(prop) {\n\t\t\treturn el[OFI].img[prop ? prop : 'src'];\n\t\t},\n\t\tset: function set(value, prop) {\n\t\t\tel[OFI].img[prop ? prop : 'src'] = value;\n\t\t\tnativeSetAttribute.call(el, (\"data-ofi-\" + prop), value); // preserve for any future cloneNode\n\t\t\tfixOne(el);\n\t\t\treturn value;\n\t\t}\n\t};\n\tObject.defineProperty(el, 'src', descriptors);\n\tObject.defineProperty(el, 'currentSrc', {\n\t\tget: function () { return descriptors.get('currentSrc'); }\n\t});\n\tObject.defineProperty(el, 'srcset', {\n\t\tget: function () { return descriptors.get('srcset'); },\n\t\tset: function (ss) { return descriptors.set(ss, 'srcset'); }\n\t});\n}\n\nfunction hijackAttributes() {\n\tfunction getOfiImageMaybe(el, name) {\n\t\treturn el[OFI] && el[OFI].img && (name === 'src' || name === 'srcset') ? el[OFI].img : el;\n\t}\n\tif (!supportsObjectPosition) {\n\t\tHTMLImageElement.prototype.getAttribute = function (name) {\n\t\t\treturn nativeGetAttribute.call(getOfiImageMaybe(this, name), name);\n\t\t};\n\n\t\tHTMLImageElement.prototype.setAttribute = function (name, value) {\n\t\t\treturn nativeSetAttribute.call(getOfiImageMaybe(this, name), name, String(value));\n\t\t};\n\t}\n}\n\nfunction fix(imgs, opts) {\n\tvar startAutoMode = !autoModeEnabled && !imgs;\n\topts = opts || {};\n\timgs = imgs || 'img';\n\n\tif ((supportsObjectPosition && !opts.skipTest) || !supportsOFI) {\n\t\treturn false;\n\t}\n\n\t// use imgs as a selector or just select all images\n\tif (imgs === 'img') {\n\t\timgs = document.getElementsByTagName('img');\n\t} else if (typeof imgs === 'string') {\n\t\timgs = document.querySelectorAll(imgs);\n\t} else if (!('length' in imgs)) {\n\t\timgs = [imgs];\n\t}\n\n\t// apply fix to all\n\tfor (var i = 0; i < imgs.length; i++) {\n\t\timgs[i][OFI] = imgs[i][OFI] || {\n\t\t\tskipTest: opts.skipTest\n\t\t};\n\t\tfixOne(imgs[i]);\n\t}\n\n\tif (startAutoMode) {\n\t\tdocument.body.addEventListener('load', function (e) {\n\t\t\tif (e.target.tagName === 'IMG') {\n\t\t\t\tfix(e.target, {\n\t\t\t\t\tskipTest: opts.skipTest\n\t\t\t\t});\n\t\t\t}\n\t\t}, true);\n\t\tautoModeEnabled = true;\n\t\timgs = 'img'; // reset to a generic selector for watchMQ\n\t}\n\n\t// if requested, watch media queries for object-fit change\n\tif (opts.watchMQ) {\n\t\twindow.addEventListener('resize', fix.bind(null, imgs, {\n\t\t\tskipTest: opts.skipTest\n\t\t}));\n\t}\n}\n\nfix.supportsObjectFit = supportsObjectFit;\nfix.supportsObjectPosition = supportsObjectPosition;\n\nhijackAttributes();\n\nmodule.exports = fix;\n","import browserUpdate from 'browser-update/update.npm';\nimport 'focus-visible/dist/focus-visible'; // Auto-executing, see: https://github.com/WICG/focus-visible\nimport svg4everybody from 'svg4everybody';\nimport 'details-element-polyfill';\nimport objectFitImages from 'object-fit-images';\n\n// See: https://github.com/browser-update/browser-update/wiki/Details-on-configuration\nbrowserUpdate({\n required: {\n e: 17, // Edge\n i: 11, // IE\n f: 85, // Firefox\n s: 13, // Safari\n c: 87, // Chrome\n },\n insecure: true,\n});\n\n// See: https://github.com/jonathantneal/svg4everybody\nsvg4everybody();\n\n// See: https://github.com/fregante/object-fit-images\nobjectFitImages();\n"],"names":["$bu_","s","this","version","vsakt","c","f","e","i","ios","samsung","o","e_a","o_a","y","v","uc","vsinsecure_below","vsdefault","a","names","x","silk","get_browser","ua","navigator","userAgent","replace","r","n","t","age_years","undefined","no_device_update","available","ignore","reason","pattern","RegExp","test","other","embedded","mobile","discontinued","pats","VV","length","match","engine","fullv","$1","parseFloat","platform","maxTouchPoints","av","available_ios","Math","round","indexOf","parseInt","exec","is_insecure","is_supported","is_latest","less","vmaj","esr","releases_per_year","engine_version","semver","vstr","Array","split","v1","v2","diff","h","max","window","screen","height","width","pr","devicePixelRatio","$bu_getBrowser","module","exports","op","b","ll","_buorgres","l","languages","language","browserLanguage","userLanguage","document","documentElement","getAttribute","llfull","toLowerCase","substr","domain","location","href","apiver","api","jsv","required_min","vs","notify","required","reminder","reminderClosed","onshow","onclick","onclose","pageurl","hostname","newwindow","hash","ignorecookie","reasons","hide_reasons","notified","bb","browser","override_ua","is_below_required","push","notify_esr","insecure","unsecure","unsupported","check_show","already_shown","cookie","setCookie","hours","Date","getTime","toGMTString","nomessage","createElement","src","jsshowurl","body","appendChild","applyFocusVisiblePolyfill","scope","hadKeyboardEvent","hadFocusVisibleRecently","hadFocusVisibleRecentlyTimeout","inputTypesAllowlist","text","search","url","tel","email","password","number","date","month","week","time","datetime","isValidFocusTarget","el","nodeName","classList","focusTriggersKeyboardModality","type","tagName","readOnly","isContentEditable","addFocusVisibleClass","contains","add","setAttribute","removeFocusVisibleClass","hasAttribute","remove","removeAttribute","onKeyDown","metaKey","altKey","ctrlKey","activeElement","onPointerDown","onFocus","target","onBlur","clearTimeout","setTimeout","onVisibilityChange","visibilityState","addInitialPointerMoveListeners","addEventListener","onInitialPointerMove","removeInitialPointerMoveListeners","removeEventListener","nodeType","Node","DOCUMENT_FRAGMENT_NODE","host","DOCUMENT_NODE","event","CustomEvent","error","createEvent","initCustomEvent","dispatchEvent","factory","root","embed","parent","svg","fragment","createDocumentFragment","viewBox","clone","cloneNode","childNodes","firstChild","loadreadystatechange","xhr","onreadystatechange","readyState","cachedDocument","_cachedDocument","implementation","createHTMLDocument","innerHTML","responseText","_cachedTarget","_embeds","splice","map","item","id","getElementById","getSVGAncestor","node","parentNode","rawopts","polyfill","opts","Object","inIframe","top","self","requests","requestAnimationFrame","uses","getElementsByTagName","numberOfSvgUseElementsToBypass","oninterval","index","use","attributeName","validate","removeChild","srcSplit","shift","join","XMLHttpRequest","open","send","svg4everybody","prototype","element","elementIsNative","HTMLDetailsElement","support","styles","_ref","forEach","slice","setAccessibilityAttributes","concat","call","findElementsWithTagName","summary","details","findClosestElementWithTagName","eventIsSignificant","defaultPrevented","shiftKey","onTogglingTrigger","callback","which","keyCode","preventDefault","triggerToggle","initEvent","closest","head","insertAdjacentHTML","constructor","getOwnPropertyDescriptor","defineProperties","get","set","value","name","_value","_this","wasOpen","result","querySelector","_this2","MutationObserver","mutations","mutation","addedNodes","observe","subtree","childList","attributes","isOpen","OFI","propRegex","testImg","Image","style","supportsObjectFit","supportsObjectPosition","supportsOFI","supportsCurrentSrc","currentSrc","nativeGetAttribute","nativeSetAttribute","autoModeEnabled","setPlaceholder","img","placeholder","onImageReady","naturalWidth","fixOne","parsed","getComputedStyle","fontFamily","props","getStyle","ofi","skipTest","srcset","naturalHeight","descriptors","prop","defineProperty","ss","keepSrcUsable","err","console","warn","picturefill","pf","_","ns","evaled","fillImg","reselect","curSrc","supported","polyfillCurrentSrc","backgroundImage","backgroundPosition","backgroundRepeat","backgroundOrigin","backgroundSize","fix","imgs","startAutoMode","querySelectorAll","watchMQ","bind","getOfiImageMaybe","HTMLImageElement","String","hijackAttributes","ofi_commonJs","browserUpdate","objectFitImages"],"mappings":"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"}