{"version":3,"file":"dds-all.js","sources":["src/js/polyfill.js","src/js/utilities.js","src/js/alert.js","src/js/button.js","src/js/carousel.js","src/js/collapse.js","src/js/contact-drawer.js","src/js/dropdown.js","src/js/masthead.js","src/js/modal.js","src/js/popover.js","src/js/scrollspy.js","src/js/tab.js","src/js/tooltip.js","src/js/linkpicker.js","src/js/dds-all.js"],"sourcesContent":["// IE polyfill for the CustomEvent constructor\r\nexport default (function() {\r\n\r\n if (!Element.prototype.matches) {\r\n Element.prototype.matches = Element.prototype.msMatchesSelector ||\r\n Element.prototype.webkitMatchesSelector;\r\n }\r\n\r\n if ( typeof window.CustomEvent === \"function\" ) return false; //If not IE\r\n function CustomEvent ( event, params ) {\r\n params = params || { bubbles: false, cancelable: false, detail: undefined };\r\n var evt = document.createEvent(\"CustomEvent\");\r\n evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail );\r\n return evt;\r\n }\r\n CustomEvent.prototype = window.Event.prototype;\r\n window.CustomEvent = CustomEvent;\r\n})();\r\n","// parse the package.json file to get needed variables\r\nimport {\r\n ddsSpace\r\n} from \"../../package.json\";\r\nimport {\r\n ddsToken\r\n} from \"../../package.json\";\r\n\r\nexport const DOC = document;\r\nexport const HTML = DOC.documentElement;\r\nexport const globalObject = typeof global !== \"undefined\" ? global : window;\r\nexport const prefix = ddsSpace + ddsToken;\r\nexport const supportTransitions =\r\n \"Webkit\" + \"Transition\" in HTML[\"style\"] ||\r\n \"Transition\"[\"toLowerCase\"]() in HTML[\"style\"];\r\nexport const transitionEndEvent =\r\n \"Webkit\" + \"Transition\" in HTML[\"style\"] ?\r\n \"Webkit\"[\"toLowerCase\"]() + \"Transition\" + \"End\" :\r\n \"Transition\"[\"toLowerCase\"]() + \"end\";\r\nexport const transitionDuration =\r\n \"Webkit\" + \"Duration\" in HTML[\"style\"] ?\r\n \"Webkit\"[\"toLowerCase\"]() + \"Transition\" + \"Duration\" :\r\n \"Transition\"[\"toLowerCase\"]() + \"Duration\";\r\nexport const tipPositions = /\\b(top|bottom|left|right)+/;\r\n\r\n// selection methods\r\nexport function whichTransitionEndEvent(element){\r\n var transition;\r\n\r\n var transitions = {\r\n \"transition\" : \"transitionend\",\r\n \"OTransition\" : \"oTransitionEnd\",\r\n \"MozTransition\" : \"transitionend\",\r\n \"WebkitTransition\": \"webkitTransitionEnd\"\r\n }\r\n\r\n for (transition in transitions){\r\n if (element.style[transition] !== undefined){\r\n return transitions[transition];\r\n }\r\n }\r\n}\r\n\r\nexport function getElementsByClassName(element, classNAME) {\r\n // returns Array\r\n return [].slice.call(element[\"getElementsByClassName\"](classNAME));\r\n}\r\n\r\nexport function getSibling(element, selector) {\r\n if(element.nextElementSibling.classList.contains(selector)) {\r\n return element.nextElementSibling;\r\n }\r\n}\r\n\r\nexport function getClosest(element, selector) {\r\n // element is the element and selector is for the closest parent element to find\r\n // source http://gomakethings.com/climbing-up-and-down-the-dom-tree-with-vanilla-javascript/\r\n var firstChar = selector.charAt(0);\r\n\r\n var selectorSubstring = selector.substr(1);\r\n if (firstChar === \".\") {\r\n // If selector is a class\r\n for (; element && element !== DOC; element = element[\"parentNode\"]) {\r\n // Get closest match\r\n if (\r\n element[\"parentNode\"].querySelector(selector) !== null &&\r\n // hasClass(element, selectorSubstring)) {\r\n element.classList[\"contains\"](selectorSubstring)\r\n ) {\r\n return element;\r\n }\r\n }\r\n } else if (firstChar === \"#\") {\r\n // If selector is an ID\r\n for (; element && element !== DOC; element = element[\"parentNode\"]) {\r\n // Get closest match\r\n if (element.id === selectorSubstring) {\r\n return element;\r\n }\r\n }\r\n }\r\n return false;\r\n}\r\n\r\nexport function one(element, event, handler) {\r\n element.addEventListener(\r\n event,\r\n function handlerWrapper(e) {\r\n handler(e);\r\n element.removeEventListener(event, handlerWrapper, false);\r\n },\r\n false\r\n );\r\n}\r\n\r\nexport function getTransitionDurationFromElement(element) {\r\n var duration = supportTransitions ?\r\n globalObject[\"getComputedStyle\"](element)[transitionDuration] :\r\n 0;\r\n duration = parseFloat(duration);\r\n duration =\r\n typeof duration === \"number\" && !isNaN(duration) ? duration * 1000 : 0;\r\n return duration + 50; // we take a short offset to make sure we fire on the next frame after animation\r\n}\r\n\r\nexport function emulateTransitionEnd(element, handler) {\r\n // emulateTransitionEnd since 2.0.4\r\n var called = 0;\r\n\r\n var duration = getTransitionDurationFromElement(element);\r\n supportTransitions &&\r\n one(element, transitionEndEvent, function (e) {\r\n handler(e);\r\n called = 1;\r\n });\r\n setTimeout(function () {\r\n !called && handler();\r\n }, duration);\r\n}\r\n\r\nexport function bootstrapCustomEvent(eventName, componentName, related) {\r\n var OriginalCustomEvent = new CustomEvent(eventName + \".bs.\" + componentName);\r\n OriginalCustomEvent.relatedTarget = related;\r\n this.dispatchEvent(OriginalCustomEvent);\r\n}\r\n\r\n// tooltip / popover stuff\r\nexport function getScroll() {\r\n // also Affix and ScrollSpy uses it\r\n return {\r\n y: globalObject.pageYOffset || HTML[\"scrollTop\"],\r\n x: globalObject.pageXOffset || HTML[\"scrollLeft\"]\r\n };\r\n}\r\n\r\n// set new focus element since 2.0.3\r\nexport function setFocus(element) {\r\n element.focus ? element.focus() : element.setActive();\r\n}\r\n\r\nexport function styleTip(link, element, position, parent) {\r\n // both popovers and tooltips (target,tooltip,placement,elementToAppendTo)\r\n var elementDimensions = {\r\n w: element[\"offsetWidth\"],\r\n h: element[\"offsetHeight\"]\r\n };\r\n\r\n var windowWidth = HTML[\"clientWidth\"] || DOC[\"body\"][\"clientWidth\"];\r\n\r\n var windowHeight = HTML[\"clientHeight\"] || DOC[\"body\"][\"clientHeight\"];\r\n\r\n var rect = link[\"getBoundingClientRect\"]();\r\n\r\n var scroll =\r\n parent === DOC[\"body\"] ?\r\n getScroll() :\r\n {\r\n x: parent[\"offsetLeft\"] + parent[\"scrollLeft\"],\r\n y: parent[\"offsetTop\"] + parent[\"scrollTop\"]\r\n };\r\n\r\n var linkDimensions = {\r\n w: rect[\"right\"] - rect[\"left\"],\r\n h: rect[\"bottom\"] - rect[\"top\"]\r\n };\r\n\r\n var isPopover = element.classList[\"contains\"](\"dds__popover\");\r\n\r\n var topPosition;\r\n\r\n var leftPosition;\r\n\r\n var arrow = element.querySelector(\".arrow\");\r\n\r\n var arrowTop;\r\n\r\n var arrowLeft;\r\n\r\n var arrowWidth;\r\n\r\n var arrowHeight;\r\n\r\n var halfTopExceed =\r\n rect[\"top\"] + linkDimensions.h / 2 - elementDimensions.h / 2 < 0;\r\n\r\n var halfLeftExceed =\r\n rect[\"left\"] + linkDimensions.w / 2 - elementDimensions.w / 2 < 0;\r\n\r\n var halfRightExceed =\r\n rect[\"left\"] + elementDimensions.w / 2 + linkDimensions.w / 2 >= windowWidth;\r\n\r\n var halfBottomExceed =\r\n rect[\"top\"] + elementDimensions.h / 2 + linkDimensions.h / 2 >= windowHeight;\r\n\r\n var topExceed = rect[\"top\"] - elementDimensions.h < 0;\r\n\r\n var leftExceed = rect[\"left\"] - elementDimensions.w < 0;\r\n\r\n var bottomExceed =\r\n rect[\"top\"] + elementDimensions.h + linkDimensions.h >= windowHeight;\r\n\r\n var rightExceed =\r\n rect[\"left\"] + elementDimensions.w + linkDimensions.w >= windowWidth;\r\n\r\n // recompute position\r\n position =\r\n (position === \"left\" || position === \"right\") && leftExceed && rightExceed ?\r\n \"top\" :\r\n position; // first, when both left and right limits are exceeded, we fall back to top|bottom\r\n position = position === \"top\" && topExceed ? \"bottom\" : position;\r\n position = position === \"bottom\" && bottomExceed ? \"top\" : position;\r\n position = position === \"left\" && leftExceed ? \"right\" : position;\r\n position = position === \"right\" && rightExceed ? \"left\" : position;\r\n\r\n // update tooltip/popover class\r\n element.className[\"indexOf\"](position) === -1 &&\r\n (element.className = element.className.replace(tipPositions, position));\r\n\r\n // we check the computed width & height and update here\r\n arrowWidth = arrow[\"offsetWidth\"];\r\n arrowHeight = arrow[\"offsetHeight\"];\r\n\r\n // apply styling to tooltip or popover\r\n if (position === \"left\" || position === \"right\") {\r\n // secondary|side positions\r\n if (position === \"left\") {\r\n // LEFT\r\n leftPosition =\r\n rect[\"left\"] +\r\n scroll.x -\r\n elementDimensions.w -\r\n (isPopover ? arrowWidth : 0);\r\n } else {\r\n // RIGHT\r\n leftPosition = rect[\"left\"] + scroll.x + linkDimensions.w;\r\n }\r\n\r\n // adjust top and arrow\r\n if (halfTopExceed) {\r\n topPosition = rect[\"top\"] + scroll.y;\r\n arrowTop = linkDimensions.h / 2 - arrowWidth;\r\n } else if (halfBottomExceed) {\r\n topPosition =\r\n rect[\"top\"] + scroll.y - elementDimensions.h + linkDimensions.h;\r\n arrowTop = elementDimensions.h - linkDimensions.h / 2 - arrowWidth;\r\n } else {\r\n topPosition =\r\n rect[\"top\"] + scroll.y - elementDimensions.h / 2 + linkDimensions.h / 2;\r\n arrowTop =\r\n elementDimensions.h / 2 -\r\n (isPopover ? arrowHeight * 0.9 : arrowHeight / 2);\r\n }\r\n } else if (position === \"top\" || position === \"bottom\") {\r\n // primary|vertical positions\r\n if (position === top) {\r\n // TOP\r\n topPosition =\r\n rect[\"top\"] +\r\n scroll.y -\r\n elementDimensions.h -\r\n (isPopover ? arrowHeight : 0);\r\n } else {\r\n // BOTTOM\r\n topPosition = rect[\"top\"] + scroll.y + linkDimensions.h;\r\n }\r\n // adjust left | right and also the arrow\r\n if (halfLeftExceed) {\r\n leftPosition = 0;\r\n arrowLeft = rect[\"left\"] + linkDimensions.w / 2 - arrowWidth;\r\n } else if (halfRightExceed) {\r\n leftPosition = windowWidth - elementDimensions.w * 1.01;\r\n arrowLeft =\r\n elementDimensions.w -\r\n (windowWidth - rect[\"left\"]) +\r\n linkDimensions.w / 2 -\r\n arrowWidth / 2;\r\n } else {\r\n leftPosition =\r\n rect[\"left\"] + scroll.x - elementDimensions.w / 2 + linkDimensions.w / 2;\r\n arrowLeft = elementDimensions.w / 2 - arrowWidth / 2;\r\n }\r\n }\r\n\r\n // apply style to tooltip/popover and its arrow\r\n element[\"style\"][\"top\"] = topPosition + \"px\";\r\n element[\"style\"][\"left\"] = leftPosition + \"px\";\r\n\r\n arrowTop && (arrow[\"style\"][\"top\"] = arrowTop + \"px\");\r\n arrowLeft && (arrow[\"style\"][\"left\"] = arrowLeft + \"px\");\r\n}\r\n\r\nexport function handleFirstTab(e) {\r\n if (e.keyCode === 9) {\r\n document.body.classList.add(\"user-is-tabbing\");\r\n\r\n window.removeEventListener(\"keydown\", handleFirstTab);\r\n window.addEventListener(\"mousedown\", handleMouseDownOnce);\r\n }\r\n}\r\n\r\nexport function handleMouseDownOnce(e) {\r\n //NVDA in browse mode swallows the enter key as mouse click: https://github.com/nvaccess/nvda/issues/4903\r\n //This breaks our visual focus toggle. Enter key event has x,y values of 0,0 whereas click has positive x,y values.\r\n //Capture enter key when treated as mousedown by NVDA browse mode.\r\n if (e.x === 0 && e.y === 0) {\r\n return;\r\n }\r\n document.body.classList.remove(\"user-is-tabbing\");\r\n\r\n window.removeEventListener(\"mousedown\", handleMouseDownOnce);\r\n window.addEventListener(\"keydown\", handleFirstTab);\r\n}\r\n\r\n\r\n// Form--passwords validation\r\n//================================================================\r\nexport function passwordVerification() {\r\n var myInput = document.getElementById(\"psw\");\r\n var letter = document.getElementById(\"letter\");\r\n var capital = document.getElementById(\"capital\");\r\n var number = document.getElementById(\"number\");\r\n var length = document.getElementById(\"length\");\r\n\r\n // When the user clicks on the password field, show the message box\r\n myInput.onfocus = function () {\r\n document.getElementById(\"message\").style.display = \"block\";\r\n };\r\n\r\n // When the user clicks outside of the password field, hide the message box\r\n myInput.onblur = function () {\r\n document.getElementById(\"message\").style.display = \"none\";\r\n };\r\n\r\n // When the user starts to type something inside the password field\r\n myInput.onkeyup = function () {\r\n // Validate lowercase letters\r\n var lowerCaseLetters = /[a-z]/g;\r\n if (myInput.value.match(lowerCaseLetters)) {\r\n letter.classList.add(\"valid\");\r\n letter.classList.remove(\"invalid\");\r\n } else {\r\n letter.classList.remove(\"valid\");\r\n letter.classList.add(\"invalid\");\r\n }\r\n\r\n // Validate capital letters\r\n var upperCaseLetters = /[A-Z]/g;\r\n if (myInput.value.match(upperCaseLetters)) {\r\n capital.classList.remove(\"invalid\");\r\n capital.classList.add(\"valid\");\r\n } else {\r\n capital.classList.remove(\"valid\");\r\n capital.classList.add(\"invalid\");\r\n }\r\n\r\n // Validate numbers\r\n var numbers = /[0-9]/g;\r\n if (myInput.value.match(numbers)) {\r\n number.classList.remove(\"invalid\");\r\n number.classList.add(\"valid\");\r\n } else {\r\n number.classList.remove(\"valid\");\r\n number.classList.add(\"invalid\");\r\n }\r\n\r\n // Validate length\r\n if (myInput.value.length >= 8) {\r\n length.classList.remove(\"invalid\");\r\n length.classList.add(\"valid\");\r\n } else {\r\n length.classList.remove(\"valid\");\r\n length.classList.add(\"invalid\");\r\n }\r\n };\r\n}","import \"./polyfill.js\";\r\nimport {getClosest,emulateTransitionEnd,bootstrapCustomEvent,prefix} from \"./utilities.js\";\r\n\r\nexport default function Alert(element) {\r\n // initialization element\r\n element = element instanceof HTMLElement ? element : (function() {\r\n return;\r\n });\r\n\r\n // bind, target alert, duration and stuff\r\n var self = this,\r\n stringAlert = \"Alert\",\r\n component = \"alert\",\r\n alert = getClosest(element, \".\" + prefix + component),\r\n triggerHandler = function() {\r\n alert.classList[\"contains\"](prefix+\"fade\") ? emulateTransitionEnd(alert, transitionEndHandler) : transitionEndHandler();\r\n },\r\n // handlers\r\n clickHandler = function(e) {\r\n //alert = getClosest(e[\"target\"], \".\" + component);\r\n // element = queryElement(\r\n // \"[data-dismiss=\\\"\" + component + \"]\",\r\n // alert\r\n // );\r\n element && alert &&\r\n (element === e[\"target\"] || element[\"contains\"](e[\"target\"])) &&\r\n self.close();\r\n },\r\n transitionEndHandler = function() {\r\n bootstrapCustomEvent.call(alert, \"closed\", component);\r\n element.removeEventListener(\"click\", clickHandler, false); // detach it's listener\r\n alert[\"parentNode\"].removeChild(alert);\r\n };\r\n\r\n // public method\r\n this.close = function() {\r\n if (alert && element) {\r\n if (alert.getAttribute(\"aria-expanded\") === \"true\") {\r\n alert.setAttribute(\"aria-expanded\", \"false\");\r\n } else {\r\n alert.setAttribute(\"aria-expanded\", \"true\");\r\n }\r\n // bootstrapCustomEvent.call(alert, \"close\", component);\r\n // alert.classList.remove(prefix+\"show\");\r\n // alert && triggerHandler();\r\n }\r\n };\r\n\r\n // init\r\n if (!(stringAlert in element)) {\r\n // prevent adding event handlers twice\r\n element.addEventListener(\"click\", clickHandler, false);\r\n }\r\n\r\n element[stringAlert] = self;\r\n}","import \"./polyfill.js\";\r\nimport {DOC,bootstrapCustomEvent,getElementsByClassName,prefix} from \"./utilities.js\";\r\n\r\nexport default function Button(element) {\r\n // initialization element\r\n element = element instanceof HTMLElement ? element : (function() {\r\n return;\r\n });\r\n\r\n // constant\r\n var toggled = false, // toggled makes sure to prevent triggering twice the change.bs.button events\r\n // strings\r\n stringButton = \"Button\",\r\n component = \"button\",\r\n checked = \"checked\",\r\n LABEL = \"LABEL\",\r\n // private methods\r\n keyHandler = function(e) {\r\n var key = e.which || e.keyCode;\r\n key === 32 && e[\"target\"] === DOC.activeElement && toggle(e);\r\n },\r\n preventScroll = function(e) {\r\n var key = e.which || e.keyCode;\r\n key === 32 && e[\"preventDefault\"]();\r\n },\r\n toggle = function(e) {\r\n var label =\r\n e[\"target\"].tagName === LABEL \r\n ? e[\"target\"] \r\n : e[\"target\"][\"parentNode\"].tagName === LABEL \r\n ? e[\"target\"][\"parentNode\"] \r\n : null; // the .btn label\r\n\r\n if (!label) return; //react if a label or its immediate child is clicked\r\n\r\n var eventTarget = e[\"target\"], // the button itself, the target of the handler function\r\n labels = getElementsByClassName(eventTarget[\"parentNode\"], \"btn\"), // all the button group buttons\r\n input = label[\"getElementsByTagName\"](\"INPUT\")[0];\r\n \r\n if (!input) return; //return if no input found\r\n\r\n // manage the dom manipulation\r\n if (input.type === \"checkbox\") {\r\n //checkboxes\r\n if (!input[checked]) {\r\n label.classList.add(prefix+\"active\");\r\n input[\"getAttribute\"](checked);\r\n input[\"setAttribute\"](checked, checked);\r\n input[checked] = true;\r\n } else {\r\n label.classList.remove(prefix+\"active\");\r\n input[\"getAttribute\"](checked);\r\n input.removeAttribute(checked);\r\n input[checked] = false;\r\n }\r\n\r\n if (!toggled) {\r\n // prevent triggering the event twice\r\n toggled = true;\r\n bootstrapCustomEvent.call(input, \"change\", component); //trigger the change for the input\r\n bootstrapCustomEvent.call(element, \"change\", component); //trigger the change for the btn-group\r\n }\r\n }\r\n\r\n if (input.type === \"radio\" && !toggled) {\r\n // radio buttons\r\n if (!input[checked]) {\r\n // don't trigger if already active\r\n label.classList.add(prefix+\"active\");\r\n input[\"setAttribute\"](checked, checked);\r\n input[checked] = true;\r\n bootstrapCustomEvent.call(input, \"change\", component); //trigger the change for the input\r\n bootstrapCustomEvent.call(element, \"change\", component); //trigger the change for the btn-group\r\n\r\n toggled = true;\r\n for (var i = 0, ll = labels[\"length\"]; i < ll; i++) {\r\n var otherLabel = labels[i],\r\n otherInput = otherLabel[\"getElementsByTagName\"](\"INPUT\")[0];\r\n if (otherLabel !== label && otherLabel.classList[\"contains\"](prefix+\"active\")) {\r\n label.classList.remove(prefix+\"active\");\r\n otherInput.removeAttribute(checked);\r\n otherInput[checked] = false;\r\n bootstrapCustomEvent.call(otherInput, \"change\", component); // trigger the change\r\n }\r\n }\r\n }\r\n }\r\n setTimeout(function() {\r\n toggled = false;\r\n }, 50);\r\n };\r\n\r\n // init\r\n if (!(stringButton in element)) {\r\n // prevent adding event handlers twice\r\n element.addEventListener(\"click\", toggle, false);\r\n element[\"hasAttribute\"](\"tabindex\") && \r\n element.addEventListener(\"keyup\", keyHandler, false),\r\n element.addEventListener(\"keydown\", preventScroll, false);\r\n }\r\n\r\n // activate items on load\r\n var labelsToActivate = getElementsByClassName(element, \"dds__btn\"),\r\n lbll = labelsToActivate[\"length\"];\r\n for (var i = 0; i < lbll; i++) {\r\n !labelsToActivate[i].classList[\"contains\"](prefix+\"active\") &&\r\n labelsToActivate[i](\"hasAttribute\")(\"checked\") &&\r\n labelsToActivate[i].classList.add(prefix+\"active\");\r\n }\r\n element[stringButton] = this;\r\n}","import \"./polyfill.js\";\r\nimport {getElementsByClassName,bootstrapCustomEvent,globalObject,supportTransitions,HTML,DOC,getTransitionDurationFromElement,prefix} from \"./utilities.js\";\r\n\r\nexport default function Carousel(element, options) {\r\n // initialization element\r\n element = element instanceof HTMLElement ? element : (function() {\r\n return;\r\n });\r\n\r\n // set options\r\n options = options || {};\r\n\r\n // DATA API\r\n var intervalAttribute = element[\"getAttribute\"](\"data-interval\"),\r\n stringCarousel = \"Carousel\",\r\n intervalOption = options[\"interval\"],\r\n intervalData = intervalAttribute === \"false\" ? 0 : parseInt(intervalAttribute),\r\n pauseData = element[\"getAttribute\"](\"data-pause\") === \"hover\" || false,\r\n keyboardData = element[\"getAttribute\"](\"data-keyboard\") === \"true\" || false,\r\n visibilityState = 'visible',\r\n // strings\r\n paused = \"paused\",\r\n dataSlideTo = \"data-slide-to\",\r\n mouseHover = \"onmouseleave\" in DOC ? [\"mouseenter\", \"mouseleave\"] : [\"mouseover\", \"mouseout\"];\r\n this[\"keyboard\"] = options[\"keyboard\"] === true || keyboardData;\r\n this[\"pause\"] =\r\n options[\"pause\"] === \"hover\" || pauseData ? \"hover\" : false; // false / hover\r\n\r\n this[\"interval\"] =\r\n typeof intervalOption === \"number\"\r\n ? intervalOption\r\n : intervalOption === false ||\r\n intervalData === 0 ||\r\n intervalData === false\r\n ? 0\r\n : isNaN(intervalData)\r\n ? 5000 // bootstrap carousel default interval\r\n : intervalData;\r\n\r\n // bind, event targets\r\n var self = this,\r\n stopAutoRotate = false,\r\n index = (element.index = 0),\r\n timer = (element.timer = 0),\r\n isSliding = false, // isSliding prevents click event handlers when animation is running\r\n slides = getElementsByClassName(element, prefix+\"carousel-item\"),\r\n total = slides[\"length\"],\r\n slideDirection = (this[\"direction\"] = \"left\"),\r\n // Arrow capability\r\n leftArrow = getElementsByClassName(\r\n element,\r\n prefix+\"carousel-control-prev\"\r\n )[0],\r\n rightArrow = getElementsByClassName(\r\n element,\r\n prefix+\"carousel-control-next\"\r\n )[0],\r\n // SVG indicators\r\n svgIndicator = element.querySelector(\".\" + prefix+\"carousel-indicators\"),\r\n svgIndicators = (svgIndicator && svgIndicator[\"getElementsByTagName\"](\"LI\")) || [],\r\n // Button indicatos\r\n btnIndicator = element.querySelector(\".\" + prefix+\"carousel-indicators-btn\"),\r\n btnIndicators = (btnIndicator && btnIndicator[\"getElementsByTagName\"](\"LI\")) || [],\r\n indicator = svgIndicator ? svgIndicator : btnIndicator,\r\n indicators = svgIndicators[\"length\"] > 0 ? svgIndicators : btnIndicators;\r\n\r\n // invalidate when not enough items\r\n if (total < 2) {\r\n return;\r\n }\r\n\r\n // handlers\r\n var pauseHandler = function() {\r\n if (self[\"interval\"] !== false && !element.classList[\"contains\"](paused)) {\r\n element.classList.add(paused);\r\n !isSliding && clearTimer(timer);\r\n }\r\n },\r\n resumeHandler = function() {\r\n if (self[\"interval\"] !== false && element.classList[\"contains\"](paused)) {\r\n element.classList.remove(paused);\r\n !isSliding && clearTimer(timer);\r\n !isSliding && self.cycle();\r\n }\r\n },\r\n indicatorHandler = function(e) {\r\n e[\"preventDefault\"]();\r\n if (isSliding) return;\r\n\r\n var eventTarget = e[\"target\"]; // event target | the current active item\r\n\r\n if (eventTarget && !eventTarget.classList[\"contains\"](prefix+\"active\") && eventTarget[\"getAttribute\"](dataSlideTo)) {\r\n index = parseInt(eventTarget[\"getAttribute\"](dataSlideTo), 10);\r\n stopAutoRotate = true;\r\n } else {\r\n return false;\r\n }\r\n\r\n self.slideTo(index); //Do the slide\r\n },\r\n controlsHandler = function(e) {\r\n e[\"preventDefault\"]();\r\n if (isSliding) return;\r\n\r\n var eventTarget = e.currentTarget || e.srcElement;\r\n\r\n if (eventTarget === rightArrow) {\r\n index++;\r\n } else if (eventTarget === leftArrow) {\r\n index--;\r\n }\r\n\r\n self.slideTo(index); //Do the slide\r\n },\r\n keyHandler = function(e) {\r\n if (isSliding) return;\r\n switch (e.which) {\r\n case 39: index++; break; \r\n case 37: index--; break;\r\n default: return;\r\n }\r\n self.slideTo(index); //Do the slide\r\n },\r\n // private methods\r\n isElementInScrollRange = function() {\r\n var rect = element[\"getBoundingClientRect\"](),\r\n viewportHeight = globalObject[innerHeight] || HTML[\"clientHeight\"];\r\n return rect[\"top\"] <= viewportHeight && rect[\"bottom\"] >= 0; // bottom && top\r\n },\r\n setActivePage = function(pageIndex) {\r\n //indicators\r\n for (var i = 0, icl = indicators[\"length\"]; i < icl; i++) {\r\n indicators[i].classList.remove(prefix+\"active\");\r\n }\r\n if (indicators[pageIndex]) indicators[pageIndex].classList.add(prefix+\"active\");\r\n },\r\n clearTimer = function(timer) {\r\n clearInterval(timer);\r\n timer = null;\r\n };\r\n\r\n // public methods\r\n this.cycle = function() {\r\n if(!stopAutoRotate) {\r\n if (timer) {\r\n clearTimer(timer);\r\n }\r\n timer = setInterval(function() {\r\n isElementInScrollRange() && (index++, self.slideTo(index));\r\n }, this[\"interval\"]);\r\n } else {\r\n if (timer) {\r\n clearTimer(timer);\r\n }\r\n }\r\n };\r\n this.slideTo = function(next) {\r\n if (isSliding) return; // when controled via methods, make sure to check again\r\n\r\n var activeItem = this.getActiveIndex(), // the current active\r\n orientation;\r\n // chaeck to see if we need to reset carousel\r\n \r\n // first return if we're on the same item #227\r\n if (activeItem === next) {\r\n return;\r\n // or determine slideDirection\r\n // } else if (activeItem < next || (activeItem === 0 && next === total - 1)) {\r\n // slideDirection = self[direction] = \"left\"; // next\r\n // } else if (activeItem > next || (activeItem === total - 1 && next === 0)) {\r\n // slideDirection = self[direction] = \"right\"; // prev\r\n }\r\n\r\n // find the right next index\r\n if (next < 0) {\r\n next = total - 1;\r\n } else if (next >= total) {\r\n next = 0;\r\n }\r\n\r\n // update index\r\n index = next;\r\n\r\n orientation = slideDirection === \"left\" ? \"next\" : \"prev\"; //determine type\r\n bootstrapCustomEvent.call(element, \"slide\", prefix+\"carousel\", slides[next]); // here we go with the slide\r\n\r\n isSliding = true;\r\n clearTimer(timer);\r\n setActivePage(next);\r\n\r\n if (supportTransitions && element.classList[\"contains\"](\"slide\")) {\r\n slides[next].classList.add(prefix+\"carousel-item-next\");\r\n slides[next][\"offsetWidth\"];\r\n slides[next].classList.add(prefix+\"carousel-item-left\");\r\n slides[activeItem].classList.add(prefix+\"carousel-item-left\");\r\n\r\n var timeout = getTransitionDurationFromElement(slides[next]);\r\n\r\n isSliding &&\r\n setTimeout(function() {\r\n isSliding = false;\r\n\r\n slides[next].classList.add(prefix+\"active\");\r\n slides[activeItem].classList.remove(prefix+\"active\");\r\n\r\n slides[next].classList.remove(prefix+\"carousel-item-next\");\r\n slides[next].classList.remove(prefix+\"carousel-item-left\");\r\n slides[activeItem].classList.remove(prefix+\"carousel-item-left\");\r\n\r\n bootstrapCustomEvent.call(element, \"slide\", prefix+\"carousel\", slides[next]);\r\n \r\n if (!(visibilityState === 'hidden') && self[\"interval\"] && !element.classList[\"contains\"](paused)) {\r\n self.cycle();\r\n } else {\r\n if(visibilityState === 'hidden') {\r\n pauseHandler();\r\n }\r\n }\r\n }, timeout);\r\n\r\n } else {\r\n slides[next].classList.add(prefix+\"active\");\r\n slides[next][\"offsetWidth\"];\r\n slides[activeItem].classList.remove(prefix+\"active\");\r\n setTimeout(function() {\r\n isSliding = false;\r\n if (self[\"interval\"] && !element.classList[\"contains\"](paused)) {\r\n self.cycle();\r\n }\r\n bootstrapCustomEvent.call( element, \"slide\", prefix+\"carousel\", slides[next]);\r\n }, 100);\r\n }\r\n };\r\n this.getActiveIndex = function() {\r\n return (\r\n slides[\"indexOf\"](\r\n getElementsByClassName(element, prefix+\"carousel-item\" + \" \" + prefix + \"active\")[0]\r\n ) || 0\r\n );\r\n };\r\n\r\n // init\r\n if (!(stringCarousel in element)) {\r\n // prevent adding event handlers twice\r\n DOC.addEventListener(\"visibilitychange\", function(e){\r\n if (visibilityState === 'hidden' && document.visibilityState === 'visible') {\r\n resumeHandler();\r\n }\r\n visibilityState = document.visibilityState;\r\n });\r\n\r\n if (self[\"pause\"] && self[\"interval\"]) {\r\n element.addEventListener(mouseHover[0], pauseHandler, false);\r\n element.addEventListener(mouseHover[1], resumeHandler, false);\r\n element.addEventListener(\"touchstart\", pauseHandler, false);\r\n element.addEventListener(\"touchend\", resumeHandler, false);\r\n }\r\n\r\n rightArrow && rightArrow.addEventListener(\"click\", controlsHandler, false);\r\n leftArrow && leftArrow.addEventListener(\"click\", controlsHandler, false);\r\n\r\n indicator && indicator.addEventListener(\"click\", indicatorHandler, false);\r\n\r\n if (!svgIndicator) {\r\n\r\n for (var i = 0; i < indicators[\"length\"]; i++) {\r\n var childIndicators = indicators[i].children;\r\n for (var x = 0; x < childIndicators[\"length\"]; x++) {\r\n childIndicators[x].addEventListener(\"click\", indicatorHandler);\r\n }\r\n indicators[i].addEventListener(\"click\", indicatorHandler);\r\n }\r\n }\r\n\r\n self[\"keyboard\"] === true && globalObject.addEventListener(\"keydown\", keyHandler, false);\r\n }\r\n if (self.getActiveIndex() < 0) {\r\n slides[length] && slides[0].classList.add(prefix+\"active\");\r\n indicators[length] && setActivePage(0);\r\n }\r\n\r\n if (self[\"interval\"]) {\r\n self.cycle();\r\n }\r\n element[stringCarousel] = self;\r\n}","import \"./polyfill.js\";\r\nimport {bootstrapCustomEvent,prefix,emulateTransitionEnd,getClosest,DOC} from \"./utilities.js\";\r\n\r\nexport default function Collapse(element, options) {\r\n // initialization element\r\n element = element instanceof HTMLElement ? element : (function() {\r\n return;\r\n });\r\n\r\n // set options\r\n options = options || {};\r\n\r\n // event targets and constants\r\n var accordion = null,\r\n stringCollapse = \"Collapse\",\r\n collapse = null,\r\n self = this,\r\n accordionData = element[\"getAttribute\"](\"data-parent\"),\r\n activeCollapse,\r\n activeElement,\r\n // component strings\r\n component = prefix+\"collapse\",\r\n collapsed = prefix+\"collapsed\",\r\n collapsing = prefix+\"collapsing\",\r\n // private methods\r\n openAction = function(collapseElement, toggle) {\r\n bootstrapCustomEvent.call(collapseElement, \"show\", component);\r\n collapseElement[\"isAnimating\"] = true;\r\n collapseElement.classList.add(collapsing);\r\n collapseElement.classList.remove(component);\r\n collapseElement[\"style\"][\"height\"] = collapseElement[\"scrollHeight\"] + \"px\";\r\n collapseElement.children[0].focus();\r\n\r\n emulateTransitionEnd(collapseElement, function() {\r\n collapseElement[\"isAnimating\"] = false;\r\n collapseElement[\"setAttribute\"](\"aria-expanded\", \"true\");\r\n toggle[\"setAttribute\"](\"aria-expanded\", \"true\");\r\n collapseElement.classList.remove(collapsing);\r\n collapseElement.classList.add(component);\r\n collapseElement.classList.add(prefix+\"show\");\r\n collapseElement[\"style\"][\"height\"] = \"\";\r\n bootstrapCustomEvent.call(collapseElement, \"shown\", component);\r\n });\r\n },\r\n closeAction = function(collapseElement, toggle) {\r\n bootstrapCustomEvent.call(collapseElement, \"hide\", component);\r\n collapseElement[\"isAnimating\"] = true;\r\n collapseElement[\"style\"][\"height\"] = collapseElement[\"scrollHeight\"] + \"px\"; // set height first\r\n collapseElement.classList.remove(component);\r\n collapseElement.classList.remove(prefix+\"show\");\r\n collapseElement.classList.add(collapsing);\r\n collapseElement[\"offsetWidth\"]; // force reflow to enable transition\r\n collapseElement[\"style\"][\"height\"] = \"0px\";\r\n\r\n emulateTransitionEnd(collapseElement, function() {\r\n collapseElement[\"isAnimating\"] = false;\r\n collapseElement[\"setAttribute\"](\"aria-expanded\", \"false\");\r\n toggle[\"setAttribute\"](\"aria-expanded\", \"false\");\r\n collapseElement.classList.remove(collapsing);\r\n collapseElement.classList.add(component);\r\n collapseElement[\"style\"][\"height\"] = \"\";\r\n bootstrapCustomEvent.call(collapseElement, \"hidden\", component);\r\n });\r\n },\r\n getTarget = function() {\r\n var href = element.href && element[\"getAttribute\"](\"href\"),\r\n parent = element[\"getAttribute\"](\"data-target\"),\r\n id = href || (parent && parent.charAt(0) === \"#\" && parent);\r\n return id && DOC.querySelector(id);\r\n };\r\n\r\n // public methods\r\n this.toggle = function(e) {\r\n e[\"preventDefault\"]();\r\n if (!collapse.classList[\"contains\"](prefix+\"show\")) {\r\n self.show();\r\n } else {\r\n self.hide();\r\n }\r\n };\r\n this.hide = function() {\r\n if (collapse[\"isAnimating\"]) return;\r\n closeAction(collapse, element);\r\n element.classList.add(collapsed);\r\n };\r\n this.show = function() {\r\n if (accordion) {\r\n activeCollapse = accordion.querySelector(\".\" + component + \".\" + prefix+\"show\");\r\n activeElement =\r\n activeCollapse &&\r\n (accordion.querySelector(\"[\" +\"data-toggle\" + \"=\\\"\" + component + \"\\\"][\" +\"data-target\" + \"=\\\"#\" + activeCollapse.id + \"\\\"]\") ||\r\n accordion.querySelector(\"[\" +\"data-toggle\" + \"=\\\"\" +component + \"\\\"][href=\\\"#\" + activeCollapse.id + \"\\\"]\"));\r\n }\r\n\r\n if (\r\n !collapse[\"isAnimating\"] || (activeCollapse && !activeCollapse[\"isAnimating\"])) {\r\n if (activeElement && activeCollapse !== collapse) {\r\n closeAction(activeCollapse, activeElement);\r\n activeElement.classList.add(collapsed);\r\n }\r\n openAction(collapse, element);\r\n element.classList.remove(collapsed);\r\n }\r\n };\r\n\r\n // init\r\n if (!(stringCollapse in element)) {\r\n // prevent adding event handlers twice\r\n element.addEventListener(\"click\", self.toggle, false);\r\n }\r\n\r\n collapse = getTarget();\r\n collapse[\"isAnimating\"] = false; // when true it will prevent click handlers\r\n accordion = (options.parent) ||\r\n (accordionData && getClosest(element, accordionData));\r\n element[stringCollapse] = self;\r\n}\r\n","export default function ContactDrawer(element, options) {\r\n // initialization element\r\n element = element instanceof HTMLElement ? element : (function() {\r\n return;\r\n });\r\n\r\n // set options\r\n options = options || {\r\n openTime: 5000, // milliseconds\r\n closedTime: 7000, // milliseconds\r\n transitionTime: 500 // milliseconds\r\n };\r\n\r\n // bind, elements\r\n var self = this,\r\n stringContactDrawer = \"ContactDrawer\",\r\n tab = element.querySelector(\".dds__drawer-tab\"),\r\n closeButton = element.querySelector(\".dds__close-x\"),\r\n content = element.querySelector(\".dds__drawer-content\"),\r\n visible = true,\r\n cancelAutomation = false;\r\n\r\n // handlers\r\n var clickHandler = function (e) {\r\n e.preventDefault();\r\n if (!cancelAutomation) {\r\n cancelAutomation = true;\r\n }\r\n toggleAction();\r\n };\r\n\r\n // private methods\r\n var openAction = function() {\r\n visible = true;\r\n element.classList.add(\"dds__drawer-open\");\r\n content.hidden = false;\r\n content.setAttribute(\"aria-hidden\", false);\r\n },\r\n closeAction = function() {\r\n visible = false;\r\n element.classList.remove(\"dds__drawer-open\");\r\n setTimeout(function() {\r\n content.hidden = true;\r\n }, options.transitionTime);\r\n content.setAttribute(\"aria-hidden\", true);\r\n },\r\n toggleAction = function() {\r\n if (visible) {\r\n closeAction();\r\n } else {\r\n openAction();\r\n }\r\n },\r\n setDrawerToggleOptions = function() {\r\n var toggleOptionsStr = content.dataset.contactDrawer;\r\n if (toggleOptionsStr) {\r\n var toggleOptions = JSON.parse(toggleOptionsStr);\r\n\r\n if (toggleOptions) {\r\n if (toggleOptions.OpenTimeInSeconds)\r\n options.openTime = toggleOptions.OpenTimeInSeconds * 1000;\r\n if (toggleOptions.CloseTimeInSeconds)\r\n options.closedTime = toggleOptions.CloseTimeInSeconds * 1000;\r\n if (toggleOptions.TransitionTimeInMilliseconds)\r\n options.transitionTime = toggleOptions.TransitionTimeInMilliseconds;\r\n }\r\n }\r\n },\r\n setTransitionTime = function() {\r\n if (\r\n options.transitionTime > options.openTime ||\r\n options.transitionTime > options.closedTime\r\n ) {\r\n //console.warn(\"contact drawer transition time is too large\");\r\n return;\r\n }\r\n\r\n if (element) {\r\n element.style.transition = \"all \" + options.transitionTime + \"ms ease\";\r\n }\r\n };\r\n\r\n // public methods\r\n this.timerAction = function() {\r\n if (!cancelAutomation) {\r\n if (visible) {\r\n closeAction();\r\n if (options.closedTime) {\r\n setTimeout(function() {\r\n return self.timerAction();\r\n }, options.closedTime);\r\n }\r\n } else {\r\n openAction();\r\n if (options.openTime) {\r\n setTimeout(function() {\r\n return self.timerAction();\r\n }, options.openTime);\r\n }\r\n }\r\n }\r\n };\r\n\r\n // init\r\n if (!(stringContactDrawer in element)) {\r\n\r\n tab.addEventListener(\"click\", clickHandler, false);\r\n closeButton.addEventListener(\"click\", clickHandler, false);\r\n\r\n setDrawerToggleOptions();\r\n setTransitionTime();\r\n }\r\n\r\n if(!cancelAutomation) {\r\n self.timerAction();\r\n }\r\n element[stringContactDrawer] = self;\r\n}\r\n","import \"./polyfill.js\";\r\nimport {prefix,bootstrapCustomEvent,DOC,setFocus} from \"./utilities.js\";\r\n\r\nexport default function Dropdown(element, option) {\r\n // initialization element\r\n element = element instanceof HTMLElement ? element : (function() {\r\n return;\r\n });\r\n\r\n // set option\r\n this.persist =\r\n option === true ||\r\n element[\"getAttribute\"](\"data-persist\") === \"true\" ||\r\n false;\r\n\r\n // constants, event targets, strings\r\n var self = this,\r\n stringDropdown = \"Dropdown\",\r\n children = \"children\",\r\n parent = element[\"parentNode\"],\r\n component = \"dds__dropdown\",\r\n open = \"open\",\r\n showClass = prefix + \"show\",\r\n relatedTarget = null,\r\n menu = parent.querySelector(\".\"+prefix+\"dropdown-menu\"),\r\n menuItems = (function () {\r\n var set = menu[children],\r\n newSet = [];\r\n for (var i = 0; i < set[\"length\"]; i++) {\r\n set[i][children][\"length\"] &&\r\n (set[i][children][0].tagName === \"A\" &&\r\n newSet[\"push\"](set[i][children][0]));\r\n set[i].tagName === \"A\" && newSet[\"push\"](set[i]);\r\n }\r\n return newSet;\r\n })(),\r\n // preventDefault on empty anchor links\r\n preventEmptyAnchor = function (anchor) {\r\n ((anchor.href && anchor.href.slice(-1) === \"#\") ||\r\n (anchor[\"parentNode\"] &&\r\n anchor[\"parentNode\"].href &&\r\n anchor[\"parentNode\"].href.slice(-1) === \"#\")) &&\r\n this[\"preventDefault\"]();\r\n },\r\n // toggle dismissible events\r\n toggleDismiss = function () {\r\n if (element[open]) {\r\n element.addEventListener(\"click\", dismissHandler, false);\r\n element.addEventListener(\"keydown\", preventScroll, false);\r\n element.addEventListener(\"keyup\", keyHandler, false);\r\n } else {\r\n element.removeEventListener(\"click\", dismissHandler, false);\r\n element.removeEventListener(\"keydown\", preventScroll, false);\r\n element.removeEventListener(\"keyup\", keyHandler, false);\r\n }\r\n },\r\n // handlers\r\n dismissHandler = function (e) {\r\n var eventTarget = e[\"target\"], hasData = eventTarget && (stringDropdown in eventTarget || stringDropdown in eventTarget[\"parentNode\"]);\r\n if ((eventTarget === menu || menu[\"contains\"](eventTarget))\r\n && (self.persist || hasData)) {\r\n return;\r\n } else {\r\n relatedTarget =\r\n eventTarget === element || element[\"contains\"](eventTarget)\r\n ? element\r\n : null;\r\n hide();\r\n }\r\n preventEmptyAnchor.call(e, eventTarget);\r\n },\r\n clickHandler = function (e) {\r\n relatedTarget = element;\r\n //show();\r\n self.toggle();\r\n preventEmptyAnchor.call(e, e[\"target\"]);\r\n },\r\n preventScroll = function (e) {\r\n var key = e.which || e.keyCode;\r\n if (key === 38 || key === 40) {\r\n e[\"preventDefault\"]();\r\n }\r\n },\r\n keyHandler = function (e) {\r\n var key = e.which || e.keyCode,\r\n activeItem = DOC.activeElement,\r\n idx = menuItems[\"indexOf\"](activeItem),\r\n isSameElement = activeItem === element,\r\n isInsideMenu = menu[\"contains\"](activeItem),\r\n isMenuItem = activeItem[\"parentNode\"] === menu || activeItem[\"parentNode\"][\"parentNode\"] === menu;\r\n\r\n if (isMenuItem && isSameElement) {\r\n // navigate up | down\r\n idx = isSameElement\r\n ? 0\r\n : key === 38\r\n ? idx > 1\r\n ? idx - 1\r\n : 0\r\n : key === 40\r\n ? idx < menuItems[\"length\"] - 1\r\n ? idx + 1\r\n : idx\r\n : idx;\r\n menuItems[idx] && setFocus(menuItems[idx]);\r\n }\r\n if (\r\n ((menuItems[\"length\"] && isMenuItem) || // menu has items\r\n (!menuItems[\"length\"] && (isInsideMenu || isSameElement)) || // menu might be a form\r\n !isInsideMenu) && // or the focused element is not in the menu at all\r\n element[open] &&\r\n key === 27 // menu must be open\r\n ) {\r\n self.toggle();\r\n relatedTarget = null;\r\n }\r\n if (!isMenuItem && !isSameElement) {\r\n self.toggle();\r\n relatedTarget = null;\r\n }\r\n },\r\n // private methods\r\n show = function () {\r\n bootstrapCustomEvent.call(parent, \"show\", component, relatedTarget);\r\n menu.classList.add(showClass);\r\n parent.classList.add(showClass);\r\n element[\"setAttribute\"](\"aria-expanded\", true);\r\n bootstrapCustomEvent.call(parent, \"shown\", component, relatedTarget);\r\n element[open] = true;\r\n //element.removeEventListener(\"click\",clickHandler, false);\r\n\r\n setTimeout(function () {\r\n var focused = menu[\"getElementsByTagName\"](\"INPUT\")[0] || element;\r\n focused.focus ? focused.focus() : focused.setActive();\r\n toggleDismiss();\r\n }, 1);\r\n },\r\n hide = function () {\r\n bootstrapCustomEvent.call(parent, \"hide\", component, relatedTarget);\r\n menu.classList.remove(showClass);\r\n parent.classList.remove(showClass);\r\n element[\"setAttribute\"](\"aria-expanded\", false);\r\n bootstrapCustomEvent.call(parent, \"hidden\", component, relatedTarget);\r\n element[open] = false;\r\n toggleDismiss();\r\n setTimeout(function () {\r\n element.addEventListener(\"click\", clickHandler, false);\r\n }, 1);\r\n },\r\n blurOutHandler = function(e) {\r\n if(!(e[\"currentTarget\"].contains(e[\"relatedTarget\"]))) {\r\n if(e[\"currentTarget\"].classList.contains(component)) {\r\n relatedTarget = parent = e[\"currentTarget\"];\r\n } else {\r\n relatedTarget = parent = e[\"currentTarget\"][\"parentNode\"];\r\n }\r\n } else {\r\n return;\r\n }\r\n hide();\r\n preventEmptyAnchor.call(e, relatedTarget);\r\n };\r\n\r\n // set initial state to closed\r\n element[open] = false;\r\n\r\n // public methods\r\n this.toggle = function () {\r\n if (parent.classList[\"contains\"](showClass) && element[open]) {\r\n hide();\r\n } else {\r\n show();\r\n }\r\n };\r\n\r\n // init\r\n if (!(stringDropdown in element)) {\r\n // prevent adding event handlers twice\r\n !(\"tabIndex\" in menu) && menu[\"setAttribute\"](\"tabindex\", \"0\"); // Fix onblur on Chrome | Safari\r\n element.addEventListener(\"click\", clickHandler, false);\r\n parent.addEventListener(\"blur\", blurOutHandler, true);\r\n\r\n for (var i = 0; i < menuItems[\"length\"]; i++) {\r\n menuItems[i].addEventListener(\"click\", clickHandler, false);\r\n }\r\n }\r\n\r\n element[stringDropdown] = self;\r\n}\r\n","import \"./polyfill.js\";\r\nimport {prefix,bootstrapCustomEvent,DOC,getElementsByClassName,getSibling} from \"./utilities.js\";\r\n\r\nexport default function Masthead(element) {\r\n // initialization element\r\n element = element instanceof HTMLElement ? element : (function() {\r\n return;\r\n });\r\n\r\n var self = this,\r\n stringMasthead = \"Masthead\",\r\n hamburgerMenuClass = \".dds__msthd-menu-icon-ctnr\",\r\n hamburgerMenu = null,\r\n search = null,\r\n brand = null,\r\n searchClass = \".dds__msthd-search\",\r\n brandCtnrClass = \".dds__msthd-dell-icon-ctnr\",\r\n signin = null,\r\n signinCtnr = null,\r\n signinClass = \".dds__msthd-signin\",\r\n signinCtnrClass = \".dds__msthd-signin-ctnr\",\r\n signinComponent = \"dds__msthd-signin\",\r\n cart = null,\r\n cartCtnrClass = \".dds__msthd-cart-icon-ctnr\",\r\n navBottom = null,\r\n navBottomClass = \".dds__msthd-navbar-bottom\",\r\n offCanvasMenuClass = \"dds__off-canvas-menu\",\r\n offCanvasMenu = null,\r\n parent = null,\r\n menuElement = null,\r\n relatedTarget = null,\r\n menuComponent = \"dds__msthd-dropdown\",\r\n mouseHover = \"onmouseleave\" in DOC ? [\"mouseenter\", \"mouseleave\"] : [\"mouseover\", \"mouseout\"],\r\n // preventDefault on empty anchor links\r\n preventEmptyAnchor = function(anchor) {\r\n ((anchor.href && anchor.href.slice(-1) === \"#\") || (anchor[\"parentNode\"] && anchor[\"parentNode\"].href && anchor[\"parentNode\"].href.slice(-1) === \"#\")) && this[\"preventDefault\"]();\r\n },\r\n // toggle dismissible events\r\n toggleDismiss = function() {\r\n if(signin[\"open\"]) {\r\n signin.addEventListener(\"click\", dismissHandler, false);\r\n }\r\n else {\r\n signin.removeEventListener(\"click\", dismissHandler, false);\r\n }\r\n },\r\n // shared handlers\r\n dismissHandler = function(e) {\r\n var isInSigninCtnr = signinCtnr === e[\"target\"] || signinCtnr[\"contains\"](e[\"target\"]);\r\n // dissmiss signin if open and clicked outside of signin container\r\n if(signin[\"open\"] && !isInSigninCtnr) {\r\n relatedTarget = signinCtnr;\r\n parent = relatedTarget[\"parentNode\"];\r\n hideSignIn();\r\n }\r\n },\r\n clickHandler = function() {\r\n var activeElement = DOC.activeElement,\r\n isSigninElement = activeElement === signin;\r\n if (isSigninElement || signin[\"contains\"](activeElement) ) {\r\n toggleSignIn(signinCtnr);\r\n }\r\n },\r\n hamburgerClickHandler = function(){\r\n \r\n if (DOC.body.classList.contains(prefix+\"active\")) {\r\n DOC.body.classList.remove(prefix+\"active\");\r\n setTimeout(function() {\r\n DOC.body.style.overflow = \"visible\";\r\n DOC.body.style.height=\"auto\";\r\n offCanvasMenu.hidden = true;\r\n offCanvasMenu.setAttribute(\"aria-hidden\", true);\r\n }, 500);\r\n\r\n } else { \r\n DOC.body.style.overflow = \"hidden\";\r\n DOC.body.style.height=\"100%\";\r\n offCanvasMenu.hidden = false;\r\n offCanvasMenu.setAttribute(\"aria-hidden\", false);\r\n DOC.body.classList.add(prefix+\"active\");\r\n }\r\n },\r\n keyHandler = function(e) {\r\n var activeElement = DOC.activeElement;\r\n\r\n // If the active element is signin\r\n if (activeElement === signin) {\r\n if(!(signinCtnr[\"contains\"](activeElement)) && e.type === \"keydown\") {\r\n // If either enter or spacebar is pressed, execute the funtion\r\n if (e.keyCode === 13 || e.keyCode === 32) {\r\n toggleSignIn(signinCtnr);\r\n e[\"preventDefault\"]();\r\n }\r\n }\r\n } else if(navBottom.contains(activeElement)) {\r\n // If either enter or spacebar is pressed, execute the funtion\r\n if (e.keyCode === 13 || e.keyCode === 32) {\r\n if (activeElement.classList.contains(\"dds__msthd-dropdown-item\")) {\r\n activeElement.click();\r\n } else {\r\n toggleMenu(activeElement);\r\n }\r\n e[\"preventDefault\"]();\r\n }\r\n }\r\n },\r\n // handlers used for signin \r\n toggleSignIn = function(element) {\r\n parent = element[\"parentNode\"];\r\n relatedTarget = element;\r\n if (parent[\"open\"] === true) {\r\n hideSignIn();\r\n } else {\r\n showSignIn();\r\n }\r\n },\r\n showSignIn = function() {\r\n bootstrapCustomEvent.call(parent, \"showEvent\", signinComponent, relatedTarget);\r\n relatedTarget.classList.add(prefix+\"show\");\r\n parent.classList.add(prefix+\"show\");\r\n parent[\"setAttribute\"](\"aria-expanded\", true);\r\n bootstrapCustomEvent.call(parent, \"shownEvent\", signinComponent, relatedTarget);\r\n parent[\"open\"] = true;\r\n parent.removeEventListener(\"click\", clickHandler, false);\r\n setTimeout(function() {\r\n var focusElement = relatedTarget[\"getElementsByTagName\"](\"INPUT\")[0] || parent;\r\n focusElement.focus ? focusElement.focus() : focusElement.setActive();\r\n toggleDismiss(parent);\r\n }, 1);\r\n },\r\n hideSignIn = function() {\r\n bootstrapCustomEvent.call(parent, \"hide\", signinComponent, relatedTarget);\r\n relatedTarget.classList.remove(prefix+\"show\");\r\n parent.classList.remove(prefix+\"show\");\r\n parent[\"setAttribute\"](\"aria-expanded\", false);\r\n bootstrapCustomEvent.call(parent, \"hidden\", signinComponent, relatedTarget);\r\n parent[\"open\"] = false;\r\n toggleDismiss(parent);\r\n parent.focus ? parent.focus() : parent.setActive();\r\n setTimeout(function() {\r\n parent.addEventListener(\"click\", clickHandler, false);\r\n }, 1);\r\n },\r\n // handlers used for bottom menu\r\n toggleMenu = function(element) {\r\n relatedTarget = parent = element[\"parentNode\"];\r\n menuElement = parent[\"bottomMenu\"];\r\n if (menuElement[\"open\"] === true) {\r\n hideMenu(menuElement);\r\n } else {\r\n showMenu(menuElement);\r\n }\r\n },\r\n hoverInHandler = function(e) {\r\n if(e[\"currentTarget\"].classList.contains(menuComponent)) {\r\n relatedTarget = parent = e[\"currentTarget\"];\r\n } else {\r\n return;\r\n }\r\n menuElement = parent[\"bottomMenu\"];\r\n showMenu(menuElement);\r\n preventEmptyAnchor.call(e, relatedTarget);\r\n },\r\n blurOutHandler = function(e) {\r\n if(!(e[\"currentTarget\"].contains(e[\"relatedTarget\"]))) {\r\n if(e[\"currentTarget\"].classList.contains(menuComponent)) {\r\n relatedTarget = parent = e[\"currentTarget\"];\r\n } else {\r\n relatedTarget = parent = e[\"currentTarget\"][\"parentNode\"];\r\n }\r\n } else {\r\n return;\r\n }\r\n \r\n menuElement = parent[\"bottomMenu\"];\r\n hideMenu(menuElement);\r\n preventEmptyAnchor.call(e, relatedTarget);\r\n },\r\n hoverOutHandler = function(e) {\r\n if(e[\"currentTarget\"].classList.contains(menuComponent)) {\r\n relatedTarget = parent = e[\"currentTarget\"];\r\n } else {\r\n return;\r\n }\r\n menuElement = parent[\"bottomMenu\"];\r\n hideMenu(menuElement);\r\n preventEmptyAnchor.call(e, relatedTarget);\r\n },\r\n showMenu = function(menuElement) {\r\n bootstrapCustomEvent.call(parent, \"show\", menuComponent, relatedTarget);\r\n menuElement.classList.add(prefix+\"show\");\r\n parent.classList.add(prefix+\"show\");\r\n menuElement[\"setAttribute\"](\"aria-expanded\", true);\r\n bootstrapCustomEvent.call(parent, \"shown\", menuComponent, relatedTarget);\r\n menuElement[\"open\"] = true;\r\n },\r\n hideMenu = function(menuElement) {\r\n bootstrapCustomEvent.call(parent, \"hide\", menuComponent, relatedTarget);\r\n menuElement.classList.remove(prefix+\"show\");\r\n parent.classList.remove(prefix+\"show\");\r\n menuElement[\"setAttribute\"](\"aria-expanded\", false);\r\n bootstrapCustomEvent.call(parent,\"hidden\", menuComponent, relatedTarget);\r\n menuElement[\"open\"] = false;\r\n };\r\n\r\n\r\n if(DOC.querySelector(hamburgerMenuClass) !== null) {\r\n\r\n hamburgerMenu = element.querySelector(hamburgerMenuClass);\r\n\r\n if(hamburgerMenu.getAttribute(\"display\") === \"none\") {\r\n hamburgerMenu.setAttribute(\"style\", \"display: none !important;\");\r\n hamburgerMenu.tabindex = \"-1\";\r\n hamburgerMenu = null;\r\n } else {\r\n hamburgerMenu = element.querySelector(hamburgerMenuClass);\r\n offCanvasMenu = getSibling(element, offCanvasMenuClass);\r\n if (!DOC.body.classList.contains(prefix+\"menu-mobile\")) {\r\n DOC.body.classList.add(prefix+\"menu-mobile\");\r\n }\r\n }\r\n \r\n }\r\n\r\n // hide on display = none\r\n if(DOC.querySelector(searchClass) !== null) {\r\n\r\n search = element.querySelector(searchClass);\r\n brand = element.querySelector(brandCtnrClass);\r\n\r\n if(search.getAttribute(\"display\") === \"none\") {\r\n search.style.visibility = \"hidden\";\r\n for (var i = 0; i < search.children.length; i++) {\r\n search.children[i].tabindex = \"-1\";\r\n }\r\n brand.classList.remove(prefix+\"d-none\");\r\n brand.classList.remove(prefix+\"d-lg-flex\");\r\n search = null;\r\n }\r\n }\r\n if(DOC.querySelector(signinClass) !== null) {\r\n\r\n signin = element.querySelector(signinClass);\r\n\r\n if(signin.getAttribute(\"display\") === \"none\") {\r\n signin.setAttribute(\"style\", \"display: none !important;\");\r\n signin.tabindex = \"-1\";\r\n signinCtnr = null;\r\n signin = null;\r\n } else {\r\n // set initial state to closed\r\n signin[\"open\"] = false;\r\n signinCtnr = element.querySelector(signinCtnrClass);\r\n }\r\n }\r\n if(DOC.querySelector(cartCtnrClass) !== null) {\r\n \r\n cart = element.querySelector(cartCtnrClass);\r\n\r\n if(cart.getAttribute(\"display\") === \"none\") {\r\n cart.setAttribute(\"style\", \"display: none !important;\");\r\n cart.tabindex = \"-1\";\r\n cart = null;\r\n }\r\n }\r\n if(DOC.querySelector(navBottomClass) !== null) {\r\n\r\n navBottom = element.querySelector(navBottomClass);\r\n\r\n if(navBottom.getAttribute(\"display\") === \"none\") {\r\n navBottom.setAttribute(\"style\", \"display: none !important;\");\r\n navBottom.tabindex = \"-1\";\r\n navBottom = null;\r\n }\r\n } \r\n\r\n // public methods\r\n // this.toggle = function() {\r\n // if ((parent.classList[\"contains\"](prefix+\"show\") && element[\"open\"]) || signin[\"open\"]) {\r\n // hideSignIn();\r\n // } else {\r\n // showSignIn();\r\n // }\r\n // };\r\n\r\n // init\r\n if (!(stringMasthead in element)) { // prevent adding event handlers twice\r\n if(signin) {\r\n !(\"tabIndex\" in signinCtnr) && signinCtnr[\"setAttribute\"](\"tabindex\", \"0\"); // Fix onblur on Chrome | Safari\r\n signin.addEventListener(\"click\", clickHandler, false);\r\n signin.addEventListener(\"keydown\", keyHandler, false);\r\n }\r\n if(hamburgerMenu) {\r\n hamburgerMenu.addEventListener(\"click\", hamburgerClickHandler);\r\n }\r\n if (navBottom) { // Populate BottomMenus\r\n navBottom.msthdDropdowns = getElementsByClassName(navBottom, \"dds__msthd-dropdown\");\r\n for(var i = 0; i < navBottom.msthdDropdowns.length; i++) {\r\n navBottom.msthdDropdowns[i].bottomMenu = navBottom.msthdDropdowns[i].querySelector(\".dds__msthd-dropdown-menu\");\r\n // if the element has no buttomMenu, just keep it as it is\r\n if (!navBottom.msthdDropdowns[i].bottomMenu) {\r\n break;\r\n }\r\n navBottom.msthdDropdowns[i].addEventListener(mouseHover[0], hoverInHandler, false);\r\n navBottom.msthdDropdowns[i].addEventListener(\"mousedown\", hoverInHandler, false);\r\n navBottom.msthdDropdowns[i].addEventListener(mouseHover[1], hoverOutHandler, false);\r\n navBottom.msthdDropdowns[i].addEventListener(\"keydown\", keyHandler, false);\r\n navBottom.msthdDropdowns[i].addEventListener(\"blur\", blurOutHandler, true);\r\n\r\n navBottom.msthdDropdowns[i].bottomMenuItems = (function() {\r\n var set = navBottom.msthdDropdowns[i].bottomMenu[\"children\"],\r\n newSet = [];\r\n for (var x = 0; x < set[\"length\"]; x++) {\r\n set[x][\"children\"][length] &&\r\n (set[x][\"children\"][0].tagName === \"A\" &&\r\n newSet[\"push\"](set[x][\"children\"][0]));\r\n set[x].tagName === \"A\" && newSet[\"push\"](set[x]);\r\n }\r\n return newSet;\r\n })();\r\n };\r\n }\r\n }\r\n\r\n element[stringMasthead] = self;\r\n}","import \"./polyfill.js\";\r\nimport {bootstrapCustomEvent, DOC, emulateTransitionEnd, getElementsByClassName, getTransitionDurationFromElement, globalObject, HTML, prefix, supportTransitions} from \"./utilities.js\";\r\n\r\nexport default function Modal (element, options) {\r\n // element can be the modal/triggering button\r\n\r\n // the modal (both JavaScript / DATA API init) / triggering button element (DATA API)\r\n element = element instanceof HTMLElement ? element : (function() {\r\n return;\r\n });\r\n\r\n // determine modal, triggering element\r\n var btnCheck =\r\n element[\"getAttribute\"](\"data-target\") || element[\"getAttribute\"](\"href\"),\r\n checkModal = btnCheck,\r\n modal = element.classList[\"contains\"](prefix + \"modal\") ? element : checkModal,\r\n overlayDelay,\r\n // strings\r\n component = \"dds__modal\",\r\n staticString = \"static\",\r\n modalBackdropString = \"dds__modal-backdrop\",\r\n showClass = prefix + \"show\",\r\n modalOverlay = 0;\r\n\r\n if (element.classList[\"contains\"](prefix + \"modal\")) {\r\n element = null;\r\n } // modal is now independent of it's triggering element\r\n\r\n if (!modal) {\r\n return;\r\n } // invalidate\r\n\r\n // set options\r\n options = options || {};\r\n\r\n this[\"keyboard\"] =\r\n options[\"keyboard\"] === false ||\r\n modal[\"getAttribute\"](\"data-keyboard\") === \"false\"\r\n ? false\r\n : true;\r\n this[\"backdrop\"] =\r\n options[\"backdrop\"] === staticString ||\r\n modal[\"getAttribute\"](\"data-backdrop\") === staticString\r\n ? staticString\r\n : true;\r\n this[\"backdrop\"] =\r\n options[\"backdrop\"] === false ||\r\n modal[\"getAttribute\"](\"data-backdrop\") === \"false\"\r\n ? false\r\n : this[\"backdrop\"];\r\n this[\"content\"] = options[\"content\"]; // JavaScript only\r\n\r\n // bind, constants, event targets and other vars\r\n var self = this,\r\n relatedTarget = null,\r\n bodyIsOverflowing,\r\n modalIsOverflowing,\r\n scrollbarWidth,\r\n overlay,\r\n // also find fixed-top / fixed-bottom items\r\n fixedItems = getElementsByClassName(HTML, \"fixed-top\").concat(\r\n getElementsByClassName(HTML, \"fixed-bottom\")\r\n ),\r\n // private methods\r\n getWindowWidth = function() {\r\n var htmlRect = HTML[\"getBoundingClientRect\"]();\r\n return (\r\n globalObject[innerWidth] || htmlRect[\"right\"] - Math.abs(htmlRect[\"left\"])\r\n );\r\n },\r\n setScrollbar = function() {\r\n var bodyStyle = globalObject[getComputedStyle](DOC[\"body\"]),\r\n bodyPad = parseInt(bodyStyle[\"paddingRight\"], 10),itemPad;\r\n if (bodyIsOverflowing) {\r\n DOC[\"body\"][\"style\"][\"paddingRight\"] = bodyPad + scrollbarWidth + \"px\";\r\n if (fixedItems[length]) {\r\n for (var i = 0; i < fixedItems[length]; i++) {\r\n itemPad = globalObject[getComputedStyle](fixedItems[i])[\"paddingRight\"];\r\n fixedItems[i][\"style\"][\"paddingRight\"] = parseInt(itemPad) + scrollbarWidth + \"px\";\r\n }\r\n }\r\n }\r\n },\r\n resetScrollbar = function() {\r\n DOC[\"body\"][\"style\"][\"paddingRight\"] = \"\";\r\n if (fixedItems[length]) {\r\n for (var i = 0; i < fixedItems[length]; i++) {\r\n fixedItems[i][\"style\"][\"paddingRight\"] = \"\";\r\n }\r\n }\r\n },\r\n measureScrollbar = function() {\r\n // thx walsh\r\n var scrollDiv = DOC[\"createElement\"](\"div\"),\r\n scrollBarWidth;\r\n scrollDiv.className = component + \"-scrollbar-measure\"; // this is here to stay\r\n DOC[\"body\"][\"appendChild\"](scrollDiv);\r\n scrollBarWidth = scrollDiv[\"offsetWidth\"] - scrollDiv[\"clientWidth\"];\r\n DOC[\"body\"].removeChild(scrollDiv);\r\n return scrollBarWidth;\r\n },\r\n checkScrollbar = function() {\r\n bodyIsOverflowing = DOC[\"body\"][\"clientWidth\"] < getWindowWidth();\r\n modalIsOverflowing = modal[\"scrollHeight\"] > HTML[\"clientHeight\"];\r\n scrollbarWidth = measureScrollbar();\r\n },\r\n adjustDialog = function() {\r\n modal[\"style\"][\"paddingLeft\"] =\r\n !bodyIsOverflowing && modalIsOverflowing ? scrollbarWidth + \"px\" : \"\";\r\n modal[\"style\"][\"paddingRight\"] =\r\n bodyIsOverflowing && !modalIsOverflowing ? scrollbarWidth + \"px\" : \"\";\r\n },\r\n resetAdjustments = function() {\r\n modal[\"style\"][\"paddingLeft\"] = \"\";\r\n modal[\"style\"][\"paddingRight\"] = \"\";\r\n },\r\n createOverlay = function() {\r\n modalOverlay = 1;\r\n\r\n var newOverlay = DOC[\"createElement\"](\"div\");\r\n overlay = DOC.querySelectorAll(\".\" + modalBackdropString);\r\n\r\n if (overlay === null) {\r\n newOverlay[\"setAttribute\"](\"class\", modalBackdropString + \" dds__fade\");\r\n overlay = newOverlay;\r\n DOC[\"body\"][\"appendChild\"](overlay);\r\n }\r\n },\r\n removeOverlay = function() {\r\n overlay = DOC.querySelectorAll(\".\" + modalBackdropString);\r\n if (overlay && overlay !== null && typeof overlay === \"object\") {\r\n modalOverlay = 0;\r\n DOC[\"body\"].removeChild(overlay);\r\n overlay = null;\r\n }\r\n bootstrapCustomEvent.call(modal, \"hidden\", component);\r\n },\r\n keydownHandlerToggle = function() {\r\n if (modal.classList[\"contains\"](showClass)) {\r\n DOC.addEventListener(\"keydown\", keyHandler, false);\r\n } else {\r\n DOC.removeEventListener(\"keydown\", keyHandler, false);\r\n }\r\n },\r\n resizeHandlerToggle = function() {\r\n if (modal.classList[\"contains\"](showClass)) {\r\n globalObject.addEventListener(\"resize\", self.update, false);\r\n } else {\r\n globalObject.removeEventListener(\"resize\", self.update, false);\r\n }\r\n },\r\n dismissHandlerToggle = function() {\r\n if (modal.classList[\"contains\"](showClass)) {\r\n modal.addEventListener(\"click\", dismissHandler, false);\r\n } else {\r\n modal.removeEventListener(\"click\", dismissHandler, false);\r\n }\r\n },\r\n // triggers\r\n triggerShow = function() {\r\n resizeHandlerToggle();\r\n dismissHandlerToggle();\r\n keydownHandlerToggle();\r\n modal.focus ? modal.focus() : modal.setActive();\r\n bootstrapCustomEvent.call(modal, \"shown\", component, relatedTarget);\r\n },\r\n triggerHide = function() {\r\n modal[\"style\"].display = \"\";\r\n element && element.focus ? element.focus() : element.setActive();\r\n\r\n (function() {\r\n if (!getElementsByClassName(DOC, component + \" \" + showClass)[0]) {\r\n resetAdjustments();\r\n resetScrollbar();\r\n DOC[\"body\"].classList.remove(component + \"-open\");\r\n overlay && overlay.classList[\"contains\"](prefix + \"fade\")\r\n ? (overlay.classList.remove(showClass),\r\n emulateTransitionEnd(overlay, removeOverlay))\r\n : removeOverlay();\r\n\r\n resizeHandlerToggle();\r\n dismissHandlerToggle();\r\n keydownHandlerToggle();\r\n }\r\n })();\r\n },\r\n // handlers\r\n clickHandler = function(e) {\r\n var clickTarget = e[\"target\"];\r\n clickTarget =\r\n clickTarget[\"hasAttribute\"](\"data-target\") ||\r\n clickTarget[\"hasAttribute\"](\"href\")\r\n ? clickTarget\r\n : clickTarget[\"parentNode\"];\r\n if (clickTarget === element && !(modal.classList[\"contains\"](showClass))) {\r\n modal.modalTrigger = element;\r\n relatedTarget = element;\r\n self.show();\r\n e[\"preventDefault\"]();\r\n }\r\n },\r\n keyHandler = function(e) {\r\n if (self[\"keyboard\"] && e.which == 27 && modal.classList[\"contains\"](showClass)) {\r\n self.hide();\r\n }\r\n },\r\n dismissHandler = function(e) {\r\n var clickTarget = e[\"target\"];\r\n if (\r\n modal.classList[\"contains\"](showClass) &&\r\n (clickTarget[\"parentNode\"][\"getAttribute\"](\"data-dismiss\") === component ||\r\n clickTarget[\"getAttribute\"](\"data-dismiss\") === component ||\r\n (clickTarget === modal && self[\"backdrop\"] !== staticString))\r\n ) {\r\n self.hide();\r\n relatedTarget = null;\r\n e[\"preventDefault\"]();\r\n }\r\n };\r\n\r\n // public methods\r\n this.toggle = function() {\r\n if (modal.classList[\"contains\"](showClass)) {\r\n this.hide();\r\n } else {\r\n this.show();\r\n }\r\n };\r\n this.show = function() {\r\n bootstrapCustomEvent.call(modal, \"show\", component, relatedTarget);\r\n\r\n // we elegantly hide any opened modal\r\n var currentOpen = getElementsByClassName(\r\n DOC,\r\n component + \" \" + showClass\r\n )[0];\r\n currentOpen &&\r\n currentOpen !== modal &&\r\n currentOpen.modalTrigger[\"Modal\"].hide();\r\n\r\n if (this[\"backdrop\"]) {\r\n !modalOverlay && createOverlay();\r\n }\r\n\r\n if (overlay && modalOverlay && !(overlay.classList[\"contains\"](showClass))) {\r\n overlay[\"offsetWidth\"]; // force reflow to enable trasition\r\n overlayDelay = getTransitionDurationFromElement(overlay);\r\n overlay.classList.add(showClass);\r\n }\r\n\r\n setTimeout(\r\n function() {\r\n modal[\"style\"].display = \"block\";\r\n\r\n checkScrollbar();\r\n setScrollbar();\r\n adjustDialog();\r\n\r\n DOC[\"body\"].classList.add(component + \"-open\");\r\n modal.classList.add(showClass);\r\n modal[\"setAttribute\"](\"aria-hidden\", false);\r\n\r\n modal.classList.contains(prefix + \"fade\")\r\n ? emulateTransitionEnd(modal, triggerShow)\r\n : triggerShow();\r\n },\r\n supportTransitions && overlay ? overlayDelay : 0\r\n );\r\n };\r\n this.hide = function() {\r\n bootstrapCustomEvent.call(modal, \"hide\", component);\r\n overlay = DOC.querySelectorAll(\".\" + modalBackdropString);\r\n overlayDelay = overlay && getTransitionDurationFromElement(overlay);\r\n\r\n modal.classList.remove(showClass);\r\n modal[\"setAttribute\"](\"aria-hidden\", true);\r\n\r\n setTimeout(\r\n function() {\r\n modal.classList[\"contains\"](prefix +\"fade\")\r\n ? emulateTransitionEnd(modal, triggerHide)\r\n : triggerHide();\r\n },\r\n supportTransitions && overlay ? overlayDelay : 0\r\n );\r\n };\r\n this.setContent = function(content) {\r\n modal.querySelector(\".\" + component + \"-content\")[\"innerHTML\"] = content;\r\n };\r\n this.update = function() {\r\n if (modal.classList[\"contains\"](showClass)) {\r\n checkScrollbar();\r\n setScrollbar();\r\n adjustDialog();\r\n }\r\n };\r\n\r\n // init\r\n // prevent adding event handlers over and over\r\n // modal is independent of a triggering element\r\n if (!!element && !(\"Modal\" in element)) {\r\n element.addEventListener(\"click\", clickHandler, false);\r\n }\r\n //if (!!self[\"content\"]) {\r\n if(self[\"content\"]){\r\n self.setContent(self[\"content\"]);\r\n }\r\n !!element && (element[\"Modal\"] = self);\r\n}\r\n","import \"./polyfill.js\";\r\nimport {bootstrapCustomEvent,DOC,emulateTransitionEnd,globalObject,getClosest,prefix,styleTip} from \"./utilities.js\";\r\n\r\nexport default function Popover(element, options) {\r\n // initialization element\r\n element = element instanceof HTMLElement ? element : (function() {\r\n return;\r\n });\r\n\r\n // set options\r\n options = options || {};\r\n\r\n // DATA API\r\n var triggerData = element[\"getAttribute\"](\"data-trigger\"), // click / hover / focus\r\n animationData = element[\"getAttribute\"](\"data-animation\"), // true / false\r\n placementData = element[\"getAttribute\"](\"data-placement\"),\r\n dismissibleData = element[\"getAttribute\"](\"data-dismissible\"),\r\n delayData = element[\"getAttribute\"](\"data-delay\"),\r\n containerData = element[\"getAttribute\"](\"data-container\"),\r\n // internal strings\r\n component = \"dds__popover\",\r\n fade = \"dds__fade\",\r\n closeBtn = \"\",\r\n // check container\r\n containerElement = DOC.querySelectorAll(options[\"container\"]),\r\n containerDataElement = DOC.querySelectorAll(containerData),\r\n // maybe the element is inside a modal\r\n modal = getClosest(element, \".dds__modal\"),\r\n mouseHover = \"onmouseleave\" in DOC ? [\"mouseenter\", \"mouseleave\"] : [\"mouseover\", \"mouseout\"],\r\n // maybe the element is inside a fixed navbar\r\n navbarFixedTop = getClosest(element, \".\" + \"fixed-top\"),\r\n navbarFixedBottom = getClosest(element, \".\" + \"fixed-bottom\");\r\n\r\n // set instance options\r\n this[\"template\"] = options[\"template\"] ? options[\"template\"] : null; // JavaScript only\r\n this[\"trigger\"] = options[\"trigger\"]\r\n ? options[\"trigger\"]\r\n : triggerData || \"hover\";\r\n this[\"animation\"] = options[\"animation\"] && options[\"animation\"] !== fade\r\n ? options[\"animation\"]\r\n : animationData || fade;\r\n this[\"placement\"] = options[\"placement\"]\r\n ? options[\"placement\"]\r\n : placementData || top;\r\n this[\"delay\"] = parseInt(options[\"delay\"] || delayData) || 200;\r\n this[\"dismissible\"] =\r\n options[\"dismissible\"] || dismissibleData === \"true\" ? true : false;\r\n this[\"container\"] = containerElement\r\n ? containerElement\r\n : containerDataElement\r\n ? containerDataElement\r\n : navbarFixedTop\r\n ? navbarFixedTop\r\n : navbarFixedBottom\r\n ? navbarFixedBottom\r\n : modal\r\n ? modal\r\n : DOC[\"body\"];\r\n\r\n // bind, content\r\n var self = this,\r\n titleString = element[\"getAttribute\"](\"data-title\") || null,\r\n contentString = element[\"getAttribute\"](\"data-content\") || null;\r\n\r\n if (!contentString && !this[\"template\"]) return; // invalidate\r\n\r\n // constants, vars\r\n var popover = null,\r\n timer = 0,\r\n placementSetting = this[\"placement\"],\r\n // handlers\r\n dismissibleHandler = function(e) {\r\n if (popover !== null &&\r\n e[\"target\"] === popover.querySelector(\".dds__close\")) {\r\n self.hide();\r\n }\r\n },\r\n // private methods\r\n removePopover = function() {\r\n self[\"container\"].removeChild(popover);\r\n timer = null;\r\n popover = null;\r\n },\r\n createPopover = function() {\r\n titleString = element[\"getAttribute\"](\"data-title\"); // check content again\r\n contentString = element[\"getAttribute\"](\"data-content\");\r\n\r\n popover = DOC[\"createElement\"](\"div\");\r\n\r\n // popover arrow\r\n var popoverArrow = DOC[\"createElement\"](\"div\");\r\n popoverArrow[\"setAttribute\"](\"class\", \"arrow\");\r\n popover[\"appendChild\"](popoverArrow);\r\n\r\n if (contentString !== null && self[\"template\"] === null) {\r\n //create the popover from data attributes\r\n\r\n popover[\"setAttribute\"](\"role\", \"tooltip\");\r\n\r\n if (titleString !== null) {\r\n var popoverTitle = DOC[\"createElement\"](\"h3\");\r\n popoverTitle[\"setAttribute\"](\"class\", component + \"-header\");\r\n\r\n popoverTitle[\"innerHTML\"] = self[\"dismissible\"]\r\n ? titleString + closeBtn\r\n : titleString;\r\n popover[\"appendChild\"](popoverTitle);\r\n }\r\n\r\n //set popover content\r\n var popoverContent = DOC[\"createElement\"](\"div\");\r\n popoverContent[\"setAttribute\"](\"class\", component + \"-body\");\r\n popoverContent[\"innerHTML\"] =\r\n self[\"dismissible\"] && titleString === null\r\n ? contentString + closeBtn\r\n : contentString;\r\n popover[\"appendChild\"](popoverContent);\r\n } else {\r\n // or create the popover from template\r\n var popoverTemplate = DOC[\"createElement\"](\"div\");\r\n popoverTemplate[\"innerHTML\"] = self[\"template\"];\r\n popover[\"innerHTML\"] = popoverTemplate.firstChild[\"innerHTML\"];\r\n }\r\n\r\n //append to the container\r\n self[\"container\"][\"appendChild\"](popover);\r\n popover[\"style\"].display = \"block\";\r\n popover[\"setAttribute\"](\"class\",component +\" bs-\" +component +\"-\" +placementSetting +\" \" +self[\"animation\"]);\r\n },\r\n showPopover = function() {\r\n !(popover.classList[\"contains\"](prefix+\"show\")) && popover.classList.add(prefix+\"show\");\r\n },\r\n updatePopover = function() {\r\n styleTip(element, popover, placementSetting, self[\"container\"]);\r\n },\r\n // event toggle\r\n // dismissHandlerToggle = function(type) {\r\n // if (\"click\" == self[\"trigger\"] || \"focus\" == self[\"trigger\"]) {\r\n // !self[\"dismissible\"] && type(element, \"blur\", self.hide);\r\n // }\r\n // self[\"dismissible\"] && type(DOC, \"click\", dismissibleHandler);\r\n // type(globalObject, \"resize\", self.hide);\r\n // },\r\n // triggers\r\n showTrigger = function() {\r\n //dismissHandlerToggle(on);\r\n\r\n if (\"click\" == self[\"trigger\"] || \"focus\" == self[\"trigger\"]) {\r\n !self[\"dismissible\"] && element.addEventListener(\"blur\", self.hide, false);\r\n }\r\n self[\"dismissible\"] && DOC.addEventListener(\"click\", dismissibleHandler, false);\r\n globalObject.addEventListener(\"resize\", self.hide, false);\r\n\r\n bootstrapCustomEvent.call(element, \"shown\", component);\r\n },\r\n hideTrigger = function() {\r\n //dismissHandlerToggle(off);\r\n\r\n if (\"click\" == self[\"trigger\"] || \"focus\" == self[\"trigger\"]) {\r\n !self[\"dismissible\"] && element.addEventListener(\"blur\", self.hide, false);\r\n }\r\n self[\"dismissible\"] && DOC.addEventListener(\"click\", dismissibleHandler, false);\r\n globalObject.addEventListener(\"resize\", self.hide, false);\r\n\r\n\r\n removePopover();\r\n bootstrapCustomEvent.call(element, \"hidden\", component);\r\n };\r\n\r\n // public methods / handlers\r\n this.toggle = function() {\r\n if (popover === null) {\r\n self.show();\r\n } else {\r\n self.hide();\r\n }\r\n };\r\n this.show = function() {\r\n clearTimeout(timer);\r\n timer = setTimeout(function() {\r\n if (popover === null) {\r\n placementSetting = self[\"placement\"]; // we reset placement in all cases\r\n createPopover();\r\n updatePopover();\r\n showPopover();\r\n bootstrapCustomEvent.call(element, \"show\", component);\r\n //!!self[animation]\r\n self[\"animation\"]\r\n ? emulateTransitionEnd(popover, showTrigger)\r\n : showTrigger();\r\n }\r\n }, 20);\r\n };\r\n this.hide = function() {\r\n clearTimeout(timer);\r\n timer = setTimeout(function() {\r\n if (popover && popover !== null && popover.classList[\"contains\"](prefix + \"show\")){\r\n bootstrapCustomEvent.call(element, \"hide\", component);\r\n popover.classList.remove(prefix + \"show\");\r\n //!!self[\"animation\"]\r\n self[\"animation\"]\r\n ? emulateTransitionEnd(popover, hideTrigger)\r\n : hideTrigger();\r\n }\r\n }, self[\"delay\"]);\r\n };\r\n\r\n // init\r\n if (!(\"Popover\" in element)) {\r\n // prevent adding event handlers twice\r\n if (self[\"trigger\"] === \"hover\") {\r\n element.addEventListener(mouseHover[0], self.show, false);\r\n if (!self[\"dismissible\"]) {\r\n element.addEventListener(mouseHover[1], self.show, false);\r\n }\r\n } else if (\"click\" == self[\"trigger\"] || \"focus\" == self[\"trigger\"]) {\r\n element.addEventListener(self[\"trigger\"], self.toggle, false);\r\n }\r\n }\r\n element[\"Popover\"] = self;\r\n}\r\n","import \"./polyfill.js\";\r\nimport {getElementsByClassName,bootstrapCustomEvent,globalObject,prefix,getScroll, DOC} from \"./utilities.js\";\r\n\r\nexport default function ScrollSpy(element, options) {\r\n // initialization element, the element we spy on\r\n element = element instanceof HTMLElement ? element : (function() {\r\n return;\r\n });\r\n\r\n // DATA API\r\n var targetData = DOC.querySelectorAll(element[\"getAttribute\"](\"data-target\")),\r\n offsetData = element[\"getAttribute\"](\"data-offset\");\r\n\r\n // set options\r\n options = options || {};\r\n if (!options[\"target\"] && !targetData) {\r\n return;\r\n } // invalidate\r\n\r\n // event targets, constants\r\n var self = this,\r\n stringScrollSpy = \"ScrollSpy\",\r\n spyTarget =\r\n (options[\"target\"] && DOC.querySelectorAll(options[\"target\"])) || targetData,\r\n links = spyTarget && spyTarget[\"getElementsByTagName\"](\"A\"),\r\n offset = parseInt(offsetData || options[\"offset\"]) || 10,\r\n items = [],\r\n targetItems = [],\r\n scrollOffset,\r\n scrollTarget =\r\n element[\"offsetHeight\"] < element[\"scrollHeight\"] ? element : globalObject, // determine which is the real scrollTarget\r\n isWindow = scrollTarget === globalObject;\r\n\r\n // populate items and targets\r\n for (var i = 0, il = links[length]; i < il; i++) {\r\n var href = links[i][\"getAttribute\"](\"href\"),\r\n targetItem =\r\n href &&\r\n href.charAt(0) === \"#\" &&\r\n href.slice(-1) !== \"#\" &&\r\n DOC.querySelectorAll(href);\r\n if (targetItem) {\r\n items[\"push\"](links[i]);\r\n targetItems[\"push\"](targetItem);\r\n }\r\n }\r\n\r\n // private methods\r\n var updateItem = function(index) {\r\n var item = items[index],\r\n targetItem = targetItems[index], // the menu item targets this element\r\n dropdown = item[\"parentNode\"][\"parentNode\"],\r\n dropdownLink =\r\n dropdown.classList[\"contains\"](prefix + \"dropdown\") &&\r\n dropdown[\"getElementsByTagName\"](\"A\")[0],\r\n targetRect = isWindow && targetItem[\"getBoundingClientRect\"](),\r\n isActive = item.classList[\"contains\"](prefix + \"active\") || false,\r\n topEdge =\r\n (isWindow\r\n ? targetRect[top] + scrollOffset\r\n : targetItem[\"offsetTop\"]) - offset,\r\n bottomEdge = isWindow\r\n ? targetRect[\"bottom\"] + scrollOffset - offset\r\n : targetItems[index + 1]\r\n ? targetItems[index + 1][\"offsetTop\"] - offset\r\n : element[\"scrollHeight\"],\r\n inside = scrollOffset >= topEdge && bottomEdge > scrollOffset;\r\n\r\n if (!isActive && inside) {\r\n if (!(item.classList[\"contains\"](prefix + \"active\")) ) {\r\n item.classList.add(prefix + \"active\");\r\n if (dropdownLink && !(dropdownLink.classList[\"contains\"](prefix + \"active\")) ) {\r\n dropdownLink.classList.add(prefix + \"active\");\r\n }\r\n bootstrapCustomEvent.call(\r\n element,\r\n \"activate\",\r\n \"scrollspy\",\r\n items[index]\r\n );\r\n }\r\n } else if (!inside) {\r\n if (item.classList[\"contains\"](prefix + \"active\")) {\r\n item.classList.remove(prefix + \"active\");\r\n if (\r\n dropdownLink &&\r\n dropdownLink.classList[\"contains\"](prefix + \"active\") &&\r\n !getElementsByClassName(item[\"parentNode\"], prefix + \"active\").length\r\n ) {\r\n dropdownLink.classList.remove(prefix + \"active\");\r\n }\r\n }\r\n } else if ((!inside && !isActive) || (isActive && inside)) {\r\n return;\r\n }\r\n },\r\n updateItems = function() {\r\n scrollOffset = isWindow ? getScroll().y : element[\"scrollTop\"];\r\n for (var index = 0, itl = items[length]; index < itl; index++) {\r\n updateItem(index);\r\n }\r\n };\r\n\r\n // public method\r\n this.refresh = function() {\r\n updateItems();\r\n };\r\n\r\n // init\r\n if (!(stringScrollSpy in element)) {\r\n // prevent adding event handlers twice\r\n scrollTarget.addEventListener(\"scroll\", self.refresh, false);\r\n globalObject.addEventListener(\"resize\", self.refresh, false);\r\n }\r\n self.refresh();\r\n element[stringScrollSpy] = self;\r\n}","import \"./polyfill.js\";\r\nimport {getClosest} from \"./utilities.js\";\r\n\r\nexport default function Tab(element) {\r\n\r\n element = element instanceof HTMLElement ? element : (function() {\r\n return;\r\n });\r\n\r\n var tablist = document.querySelectorAll(\"[role=\\\"tablist\\\"]\")[0],\r\n tabs,\r\n panels,\r\n delay = determineDelay();\r\n\r\n // Key mappings for easy reference\r\n var keys = {\r\n end: 35,\r\n home: 36,\r\n left: 37,\r\n up: 38,\r\n right: 39,\r\n down: 40,\r\n delete: 46\r\n };\r\n\r\n // Add or substract depending on key pressed\r\n var direction = {\r\n 37: -1,\r\n 38: -1,\r\n 39: 1,\r\n 40: 1\r\n };\r\n\r\n // Bind listeners\r\n addListeners();\r\n\r\n function addListeners () {\r\n element.addEventListener(\"keydown\", keydownEventListener);\r\n element.addEventListener(\"keyup\", keyupEventListener);\r\n element.addEventListener(\"click\", clickEventListener);\r\n }\r\n\r\n // When a tab is clicked, activateTab is fired to activate it\r\n function clickEventListener (event) {\r\n var tab = getClosest(event.target, \".dds__tab-link\");\r\n activateTab(tab, false);\r\n }\r\n\r\n // Handle keydown on tabs\r\n function keydownEventListener (event) {\r\n var key = event.keyCode;\r\n\r\n switch (key) {\r\n case keys.end:\r\n event.preventDefault();\r\n // Activate last tab\r\n activateTab(tabs[tabs.length - 1]);\r\n break;\r\n case keys.home:\r\n event.preventDefault();\r\n // Activate first tab\r\n activateTab(tabs[0]);\r\n break;\r\n\r\n // Up, down, left, and right keys are in keydown\r\n // because we need to prevent page scroll\r\n case keys.up:\r\n case keys.down:\r\n determineOrientation(event);\r\n break;\r\n case keys.left:\r\n case keys.right:\r\n determineOrientation(event);\r\n break;\r\n }\r\n }\r\n\r\n // Handle keyup on tabs\r\n function keyupEventListener (event) {\r\n var key = event.keyCode;\r\n\r\n switch (key) {\r\n case keys.delete:\r\n determineDeletable(event);\r\n break;\r\n }\r\n }\r\n\r\n // When a tablist's aria-orientation is set to vertical,\r\n // only up and down arrow should function.\r\n // In all other cases only left and right arrow function.\r\n function determineOrientation (event) {\r\n var key = event.keyCode;\r\n var vertical = tablist.getAttribute(\"aria-orientation\") == \"vertical\";\r\n var proceed = false;\r\n\r\n if (vertical) {\r\n if (key === keys.up || key === keys.down) {\r\n event.preventDefault();\r\n proceed = true;\r\n }\r\n }\r\n else {\r\n if (key === keys.left || key === keys.right) {\r\n event.preventDefault();\r\n proceed = true;\r\n }\r\n }\r\n\r\n if (proceed) {\r\n switchTabOnArrowPress(event);\r\n }\r\n }\r\n\r\n // Find first parent of el with role=\"tablist\"\r\n function getParentTablist(el) {\r\n var role = \"tablist\";\r\n while (el && el.parentNode) {\r\n el = el.parentNode;\r\n if (el.getAttribute(\"role\") && el.getAttribute(\"role\") == role) {\r\n return el;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n // Get all siblings of el with class=\"dds__tab-link\"\r\n function getSiblingTabs (el) {\r\n var parentTablist = getParentTablist(el);\r\n var siblingTabs = parentTablist.querySelectorAll(\".dds__tab-link\");\r\n for (var i = 0; i < siblingTabs.length; i++) {\r\n siblingTabs[i].index = i;\r\n }\r\n return siblingTabs;\r\n }\r\n\r\n function getTablistPanels (tab) {\r\n var controls = tab.getAttribute(\"aria-controls\");\r\n var panelGroup = document.getElementById(controls).parentElement;\r\n var siblingPanels = panelGroup.querySelectorAll(\".dds__tab-pane\");\r\n\r\n return siblingPanels;\r\n\r\n }\r\n\r\n // Either focus the next, previous, first, or last tab\r\n // depening on key pressed\r\n function switchTabOnArrowPress (event) {\r\n var pressed = event.keyCode,\r\n tabs = getSiblingTabs(event.target);\r\n\r\n for (var x = 0; x < tabs.length; x++) {\r\n tabs[x].addEventListener(\"focus\", focusEventHandler);\r\n }\r\n\r\n if (direction[pressed]) {\r\n var target = event.target;\r\n if (target.index !== undefined) {\r\n if (tabs[target.index + direction[pressed]]) {\r\n tabs[target.index + direction[pressed]].focus();\r\n }\r\n else if (pressed === keys.left || pressed === keys.up) {\r\n focusLastTab();\r\n }\r\n else if (pressed === keys.right || pressed == keys.down) {\r\n focusFirstTab();\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Activates any given tab panel\r\n function activateTab (tab, setFocus) {\r\n setFocus = setFocus || true;\r\n\r\n // Deactivate all other tabs\r\n deactivateTabs(tab);\r\n\r\n // Remove tabindex attribute\r\n tab.removeAttribute(\"tabindex\");\r\n\r\n // Set the tab as selected\r\n tab.setAttribute(\"aria-selected\", \"true\");\r\n\r\n // Get the value of aria-controls (which is an ID)\r\n var controls = tab.getAttribute(\"aria-controls\");\r\n\r\n tab.classList.add(\"dds__active\");\r\n\r\n // Remove hidden attribute from tab panel to make it visible\r\n // document.getElementById(controls).removeAttribute('hidden');\r\n document.getElementById(controls).classList.add(\"dds__active\");\r\n document.getElementById(controls).classList.add(\"dds__show\");\r\n\r\n // Set focus when required\r\n if (setFocus) {\r\n tab.focus();\r\n }\r\n }\r\n\r\n // Deactivate all tabs and tab panels\r\n function deactivateTabs (tab) {\r\n tabs = getSiblingTabs(tab);\r\n panels = getTablistPanels (tab);\r\n\r\n for (var t = 0; t < tabs.length; t++) {\r\n tabs[t].setAttribute(\"tabindex\", \"-1\");\r\n tabs[t].setAttribute(\"aria-selected\", \"false\");\r\n tabs[t].removeEventListener(\"focus\", focusEventHandler);\r\n tabs[t].classList.remove(\"dds__active\");\r\n tabs[t].classList.remove(\"dds__show\");\r\n }\r\n\r\n for (var p = 0; p < panels.length; p++) {\r\n // panels[p].setAttribute('hidden', 'hidden');\r\n panels[p].classList.remove(\"dds__active\");\r\n panels[p].classList.remove(\"dds__show\");\r\n }\r\n }\r\n\r\n // Make a guess\r\n function focusFirstTab () {\r\n tabs[0].focus();\r\n }\r\n\r\n // Make a guess\r\n function focusLastTab () {\r\n tabs[tabs.length - 1].focus();\r\n }\r\n\r\n // Detect if a tab is deletable\r\n function determineDeletable (event) {\r\n var target = event.target;\r\n\r\n if (target.getAttribute(\"data-deletable\") !== null) {\r\n // Delete target tab\r\n deleteTab(event, target);\r\n\r\n // Update arrays related to tabs widget\r\n // generateArrays();\r\n\r\n // Activate the closest tab to the one that was just deleted\r\n if (target.index - 1 < 0) {\r\n activateTab(tabs[0]);\r\n }\r\n else {\r\n activateTab(tabs[target.index - 1]);\r\n }\r\n }\r\n }\r\n\r\n // Deletes a tab and its panel\r\n function deleteTab (event) {\r\n var target = event.target;\r\n var panel = document.getElementById(target.getAttribute(\"aria-controls\"));\r\n\r\n target.parentElement.removeChild(target);\r\n panel.parentElement.removeChild(panel);\r\n }\r\n\r\n // Determine whether there should be a delay\r\n // when user navigates with the arrow keys\r\n function determineDelay () {\r\n var hasDelay = tablist.hasAttribute(\"data-delay\");\r\n var delay = 0;\r\n\r\n if (hasDelay) {\r\n var delayValue = tablist.getAttribute(\"data-delay\");\r\n if (delayValue) {\r\n delay = delayValue;\r\n }\r\n else {\r\n // If no value is specified, default to 300ms\r\n delay = 300;\r\n }\r\n }\r\n\r\n return delay;\r\n }\r\n\r\n //\r\n function focusEventHandler (event) {\r\n var target = event.target;\r\n\r\n setTimeout(checkTabFocus, delay, target);\r\n }\r\n\r\n // Only activate tab on focus if it still has focus after the delay\r\n function checkTabFocus (target) {\r\n var focused = document.activeElement;\r\n\r\n if (target === focused) {\r\n activateTab(target, false);\r\n }\r\n }\r\n\r\n // init\r\n // if (!(stringTab in element)) {\r\n // // prevent adding event handlers twice\r\n // element.addEventListener(\"click\", clickHandler, false);\r\n // }\r\n // if (self[\"height\"]) {\r\n // tabsContentContainer = getActiveContent()[\"parentNode\"];\r\n // }\r\n\r\n // element[stringTab] = self;\r\n}\r\n","import \"./polyfill.js\";\r\nimport {getClosest,bootstrapCustomEvent,globalObject,DOC,prefix,styleTip,emulateTransitionEnd} from \"./utilities.js\";\r\n\r\nexport default function Tooltip(element, options) {\r\n // initialization element\r\n element = element instanceof HTMLElement ? element : (function() {\r\n return;\r\n });\r\n\r\n // set options\r\n options = options || {};\r\n\r\n // DATA API\r\n var animationData = element[\"getAttribute\"](\"data-animation\"),\r\n placementData = element[\"getAttribute\"](\"data-placement\"),\r\n delayData = element[\"getAttribute\"](\"data-delay\"),\r\n containerData = element[\"getAttribute\"](\"data-container\"),\r\n // strings\r\n stringTooltip = \"Tooltip\",\r\n component = \"tooltip\",\r\n // check container\r\n containerElement = DOC.querySelectorAll(options[\"container\"]),\r\n containerDataElement = DOC.querySelectorAll(containerData),\r\n // maybe the element is inside a modal\r\n modal = getClosest(element, \".dds__modal\"),\r\n // maybe the element is inside a fixed navbar\r\n navbarFixedTop = getClosest(element, \".\" + \"fixed-top\"),\r\n navbarFixedBottom = getClosest(element, \".\" + \"fixed-bottom\"),\r\n mouseHover = \"onmouseleave\" in DOC ? [\"mouseenter\", \"mouseleave\"] : [\"mouseover\", \"mouseout\"];\r\n\r\n // set instance options\r\n this[\"animation\"] =\r\n options[\"animation\"] && options[\"animation\"] !== prefix + \"fade\"\r\n ? options[\"animation\"]\r\n : animationData || prefix + \"fade\";\r\n this[\"placement\"] = options[\"placement\"]\r\n ? options[\"placement\"]\r\n : placementData || top;\r\n this[\"delay\"] = parseInt(options[\"delay\"] || delayData) || 200;\r\n this[\"container\"] = containerElement\r\n ? containerElement\r\n : containerDataElement\r\n ? containerDataElement\r\n : navbarFixedTop\r\n ? navbarFixedTop\r\n : navbarFixedBottom\r\n ? navbarFixedBottom\r\n : modal\r\n ? modal\r\n : DOC[\"body\"];\r\n\r\n // bind, event targets, title and constants\r\n var self = this,\r\n timer = 0,\r\n placementSetting = this[\"placement\"],\r\n tooltip = null,\r\n titleString =\r\n element[\"getAttribute\"](\"title\") ||\r\n element[\"getAttribute\"](\"data-title\") ||\r\n element[\"getAttribute\"](\"data-original-title\");\r\n\r\n if (!titleString || titleString == \"\") return; // invalidate\r\n\r\n // private methods\r\n var removeToolTip = function() {\r\n self[\"container\"].removeChild(tooltip);\r\n tooltip = null;\r\n timer = null;\r\n },\r\n createToolTip = function() {\r\n titleString =\r\n element[\"getAttribute\"](\"title\") ||\r\n element[\"getAttribute\"](\"data-title\") ||\r\n element[\"getAttribute\"](\"data-original-title\"); // read the title again\r\n if (!titleString || titleString == \"\") return false; // invalidate\r\n tooltip = DOC[\"createElement\"](\"div\");\r\n tooltip[\"setAttribute\"](\"role\", prefix+component);\r\n\r\n // tooltip arrow\r\n var tooltipArrow = DOC[\"createElement\"](\"div\");\r\n tooltipArrow[\"setAttribute\"](\"class\", \"arrow\");\r\n tooltip[\"appendChild\"](tooltipArrow);\r\n\r\n var tooltipInner = DOC[\"createElement\"](\"div\");\r\n tooltipInner[\"setAttribute\"](\"class\", prefix+component + \"-inner\");\r\n tooltip[\"appendChild\"](tooltipInner);\r\n tooltipInner[\"innerHTML\"] = titleString;\r\n\r\n self[\"container\"][\"appendChild\"](tooltip);\r\n tooltip[\"setAttribute\"](\"class\", prefix+component + \" \" + prefix+\"bs-\"+component+\"-\"+placementSetting + \" \" + self[\"animation\"]\r\n );\r\n },\r\n updateTooltip = function() {\r\n styleTip(element, tooltip, placementSetting, self[\"container\"]);\r\n },\r\n showTooltip = function() {\r\n !(tooltip.classList[\"conatins\"](prefix + \"show\")) && tooltip.classList.add(prefix + \"show\");\r\n },\r\n // triggers\r\n showTrigger = function() {\r\n globalObject.addEventListener(\"resize\", self.hide. false);\r\n bootstrapCustomEvent.call(element, \"shown\", component);\r\n },\r\n hideTrigger = function() {\r\n globalObject.removeEventListener(\"resize\", self.hide);\r\n removeToolTip();\r\n bootstrapCustomEvent.call(element, \"hidden\", component);\r\n };\r\n\r\n // public methods\r\n this.show = function() {\r\n clearTimeout(timer);\r\n timer = setTimeout(function() {\r\n if (tooltip === null) {\r\n placementSetting = self[\"placement\"]; // we reset placement in all cases\r\n if (createToolTip() == false) return;\r\n updateTooltip();\r\n showTooltip();\r\n bootstrapCustomEvent.call(element, \"show\", component);\r\n self[\"animation\"]\r\n ? emulateTransitionEnd(tooltip, showTrigger)\r\n : showTrigger();\r\n }\r\n }, 20);\r\n };\r\n this.hide = function() {\r\n clearTimeout(timer);\r\n timer = setTimeout(function() {\r\n if (tooltip && tooltip.classList[\"contains\"](prefix + \"show\")) {\r\n bootstrapCustomEvent.call(element, \"hide\", component);\r\n tooltip.classList.remove(prefix + \"show\");\r\n self[\"animation\"]\r\n ? emulateTransitionEnd(tooltip, hideTrigger)\r\n : hideTrigger();\r\n }\r\n }, self[\"delay\"]);\r\n };\r\n this.toggle = function() {\r\n if (!tooltip) {\r\n self.show();\r\n } else {\r\n self.hide();\r\n }\r\n };\r\n\r\n // init\r\n if (!(stringTooltip in element)) {\r\n // prevent adding event handlers twice\r\n element[\"setAttribute\"](\"data-original-title\", titleString);\r\n element.removeAttribute(\"title\");\r\n element.addEventListener(mouseHover[0], self.show, false);\r\n element.addEventListener(mouseHover[1], self.hide, false);\r\n }\r\n\r\n element[stringTooltip] = self;\r\n}\r\n","export default function LinkPicker(element) {\r\n // initialization element\r\n element = element instanceof HTMLElement ? element : (function() {\r\n return;\r\n });\r\n\r\n // constants, event targets, strings\r\n var self = this,\r\n stringLinkPicker = \"LinkPicker\",\r\n interestName = \"Interest\",\r\n touseName = \"ToUse\",\r\n interest = element.querySelector(\"select[name=\\\"\"+stringLinkPicker+\"_\"+interestName+\"\\\"]\"), \r\n touse = element.querySelector(\"select[name=\\\"\"+stringLinkPicker+\"_\"+touseName+\"\\\"]\"),\r\n interestData = JSON.parse(interest.getAttribute(\"data-select\")),\r\n touseData = JSON.parse(touse.getAttribute(\"data-select\")),\r\n findName = \"Find\",\r\n find = element.querySelector(\"button[name=\\\"\"+stringLinkPicker+\"_\"+findName+\"\\\"]\"),\r\n // handlers\r\n onChangeHandler = function(e) {\r\n var eventTarget = e[\"target\"];\r\n if(eventTarget === interest) {\r\n if(interest.selectedIndex === 0) {\r\n touse.disabled = true;\r\n } else {\r\n touse.disabled = false;\r\n }\r\n var obj = touseData[ touseName ][ interest.value ];\r\n removeAllOptions(touse, true);\r\n appendDataToSelect(touse, obj);\r\n find.classList.add(\"dds__disabled\");\r\n } else {\r\n if(touse.selectedIndex === 0)\r\n {\r\n find.disabled = true;\r\n find.classList.add(\"dds__disabled\");\r\n }\r\n else{\r\n find.disabled = false;\r\n find.classList.remove(\"dds__disabled\");\r\n }\r\n }\r\n },\r\n clickHandler = function() {\r\n var link = touse.options[touse.selectedIndex].value;\r\n find[\"setAttribute\"](\"href\",link);\r\n find.click();\r\n },\r\n removeAllOptions = function(sel, removeGrp) {\r\n var len, groups, par;\r\n if (removeGrp) {\r\n groups = sel.getElementsByTagName(\"optgroup\");\r\n len = groups.length;\r\n for (var i=len; i; i--) {\r\n sel.removeChild( groups[i-1] );\r\n }\r\n }\r\n \r\n len = sel.options.length;\r\n for (i=len; i; i--) {\r\n par = sel.options[i-1].parentNode;\r\n par.removeChild( sel.options[i-1] );\r\n }\r\n },\r\n appendDataToSelect = function(sel, obj) {\r\n var f = document.createDocumentFragment();\r\n var labels = [], group, opts;\r\n \r\n function addOptions(obj) {\r\n var f = document.createDocumentFragment();\r\n var o;\r\n \r\n for (var i=0, len=obj.text.length; i\r\n UIC = (globalObject.UIC = {}),\r\n supports = [];\r\n\r\nvar initializeDataAPI = function (constructor, collection) {\r\n for (var i = 0, l = collection[\"length\"];i < l;i++) {\r\n new constructor(collection[i]);\r\n }\r\n},\r\n initCallback = (UIC.initCallback = function (lookUp) {\r\n lookUp = lookUp || DOC;\r\n for (var i = 0, l = supports[\"length\"];i < l;i++) {\r\n initializeDataAPI(\r\n supports[i][0],\r\n lookUp[\"querySelectorAll\"](supports[i][1])\r\n );\r\n }\r\n });\r\n\r\n// ALERT DATA API\r\nsupports[\"push\"]([Alert, \"[data-dismiss=\\\"\" + prefix + \"alert\\\"]\"]);\r\n\r\n// BUTTON DATA API\r\nsupports[\"push\"]([Button, \"[data-toggle=\\\"\" + prefix + \"button\\\"]\"]);\r\n\r\n// CAROUSEL DATA API\r\nsupports[\"push\"]([Carousel, \"[data-ride=\\\"\" + prefix + \"carousel\\\"]\"]);\r\n\r\n// COLLAPSE DATA API\r\nsupports[\"push\"]([Collapse, \"[data-toggle=\\\"\" + prefix + \"collapse\\\"]\"]);\r\n\r\n// CONTACT DRAWER DATA API\r\nsupports[\"push\"]([ContactDrawer, \"[data-toggle=\\\"\" + prefix + \"contact-drawer\\\"]\"]);\r\n\r\n// DROPDOWN DATA API\r\nsupports[\"push\"]([Dropdown, \"[data-toggle=\\\"\" + prefix + \"dropdown\\\"]\"]);\r\n\r\n// MASTHEAD DATA API\r\nsupports[\"push\"]([Masthead, \"[data-toggle=\\\"\" + prefix + \"msthd\\\"]\"]);\r\n\r\n// MODAL DATA API\r\nsupports[\"push\"]([Modal, \"[data-toggle=\\\"\" + prefix + \"modal\\\"]\"]);\r\n\r\n// POPOVER DATA API\r\nsupports[\"push\"]([Popover, \"[data-toggle=\\\"\" + prefix + \"popover\\\"]\"]);\r\n\r\n// SCROLLSPY DATA API\r\nsupports[\"push\"]([ScrollSpy, \"[data-spy=\\\"scroll\\\"]\"]);\r\n\r\n// TAB DATA API\r\nsupports[\"push\"]([Tab, \"[data-toggle=\\\"\" + prefix + \"tab\\\"]\"]);\r\n\r\n// TOOLTIP DATA API\r\nsupports[\"push\"]([Tooltip, \"[data-toggle=\\\"\" + prefix + \"tooltip\\\"]\"]);\r\n\r\n// TOOLTIP DATA API\r\nsupports[\"push\"]([LinkPicker, \"[data-toggle=\\\"\" + prefix + \"linkpicker\\\"]\"]);\r\n\r\n// bulk initialize all components\r\nDOC[body] ? initCallback() : DOC.addEventListener(\"DOMContentLoaded\", function () {\r\n initCallback();\r\n});\r\n\r\nwindow.addEventListener(\"keydown\", handleFirstTab);\r\n"],"names":[],"mappings":";;;;;IAAA;KACe,CAAC,WAAW;AAC3B;IACA,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE;IACpC,QAAQ,OAAO,CAAC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,iBAAiB;IACvE,oCAAoC,OAAO,CAAC,SAAS,CAAC,qBAAqB,CAAC;IAC5E,OAAO;AACP;IACA,IAAI,KAAK,OAAO,MAAM,CAAC,WAAW,KAAK,UAAU,GAAG,OAAO,KAAK,CAAC;IACjE,IAAI,SAAS,WAAW,GAAG,KAAK,EAAE,MAAM,GAAG;IAC3C,QAAQ,MAAM,GAAG,MAAM,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACpF,QAAQ,IAAI,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IACtD,QAAQ,GAAG,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IACvF,QAAQ,OAAO,GAAG,CAAC;IACnB,KAAK;IACL,IAAI,WAAW,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;IACnD,IAAI,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;IACrC,CAAC,IAAG;;;;;ICjBJ;AACA,AAMA;AACA,IAAO,MAAM,GAAG,GAAG,QAAQ,CAAC;AAC5B,IAAO,MAAM,IAAI,GAAG,GAAG,CAAC,eAAe,CAAC;AACxC,IAAO,MAAM,YAAY,GAAG,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAC5E,IAAO,MAAM,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC1C,IAAO,MAAM,kBAAkB;IAC/B,IAAI,QAAQ,GAAG,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC;IAC5C,IAAI,YAAY,CAAC,aAAa,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;AACnD,IAAO,MAAM,kBAAkB;IAC/B,IAAI,QAAQ,GAAG,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC;IAC5C,QAAQ,QAAQ,CAAC,aAAa,CAAC,EAAE,GAAG,YAAY,GAAG,KAAK;IACxD,QAAQ,YAAY,CAAC,aAAa,CAAC,EAAE,GAAG,KAAK,CAAC;AAC9C,IAAO,MAAM,kBAAkB;IAC/B,IAAI,QAAQ,GAAG,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC;IAC1C,QAAQ,QAAQ,CAAC,aAAa,CAAC,EAAE,GAAG,YAAY,GAAG,UAAU;IAC7D,QAAQ,YAAY,CAAC,aAAa,CAAC,EAAE,GAAG,UAAU,CAAC;AACnD,IAAO,MAAM,YAAY,GAAG,4BAA4B,CAAC;AACzD,AAkBA;AACA,IAAO,SAAS,sBAAsB,CAAC,OAAO,EAAE,SAAS,EAAE;IAC3D;IACA,IAAI,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IACvE,CAAC;AACD;AACA,IAAO,SAAS,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE;IAC9C,IAAI,GAAG,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;IAChE,QAAQ,OAAO,OAAO,CAAC,kBAAkB,CAAC;IAC1C,KAAK;IACL,CAAC;AACD;AACA,IAAO,SAAS,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE;IAC9C;IACA;IACA,IAAI,IAAI,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACvC;IACA,IAAI,IAAI,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/C,IAAI,IAAI,SAAS,KAAK,GAAG,EAAE;IAC3B;IACA,QAAQ,OAAO,OAAO,IAAI,OAAO,KAAK,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,EAAE;IAC5E;IACA,YAAY;IACZ,gBAAgB,OAAO,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,IAAI;IACtE;IACA,gBAAgB,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,iBAAiB,CAAC;IAChE,cAAc;IACd,gBAAgB,OAAO,OAAO,CAAC;IAC/B,aAAa;IACb,SAAS;IACT,KAAK,MAAM,IAAI,SAAS,KAAK,GAAG,EAAE;IAClC;IACA,QAAQ,OAAO,OAAO,IAAI,OAAO,KAAK,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,EAAE;IAC5E;IACA,YAAY,IAAI,OAAO,CAAC,EAAE,KAAK,iBAAiB,EAAE;IAClD,gBAAgB,OAAO,OAAO,CAAC;IAC/B,aAAa;IACb,SAAS;IACT,KAAK;IACL,IAAI,OAAO,KAAK,CAAC;IACjB,CAAC;AACD;AACA,IAAO,SAAS,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;IAC7C,IAAI,OAAO,CAAC,gBAAgB;IAC5B,QAAQ,KAAK;IACb,QAAQ,SAAS,cAAc,CAAC,CAAC,EAAE;IACnC,YAAY,OAAO,CAAC,CAAC,CAAC,CAAC;IACvB,YAAY,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IACtE,SAAS;IACT,QAAQ,KAAK;IACb,KAAK,CAAC;IACN,CAAC;AACD;AACA,IAAO,SAAS,gCAAgC,CAAC,OAAO,EAAE;IAC1D,IAAI,IAAI,QAAQ,GAAG,kBAAkB;IACrC,QAAQ,YAAY,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC;IACrE,QAAQ,CAAC,CAAC;IACV,IAAI,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,QAAQ;IACZ,QAAQ,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC;IAC/E,IAAI,OAAO,QAAQ,GAAG,EAAE,CAAC;IACzB,CAAC;AACD;AACA,IAAO,SAAS,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE;IACvD;IACA,IAAI,IAAI,MAAM,GAAG,CAAC,CAAC;AACnB;IACA,IAAI,IAAI,QAAQ,GAAG,gCAAgC,CAAC,OAAO,CAAC,CAAC;IAC7D,IAAI,kBAAkB;IACtB,QAAQ,GAAG,CAAC,OAAO,EAAE,kBAAkB,EAAE,UAAU,CAAC,EAAE;IACtD,YAAY,OAAO,CAAC,CAAC,CAAC,CAAC;IACvB,YAAY,MAAM,GAAG,CAAC,CAAC;IACvB,SAAS,CAAC,CAAC;IACX,IAAI,UAAU,CAAC,YAAY;IAC3B,QAAQ,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC;IAC7B,KAAK,EAAE,QAAQ,CAAC,CAAC;IACjB,CAAC;AACD;AACA,IAAO,SAAS,oBAAoB,CAAC,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE;IACxE,IAAI,IAAI,mBAAmB,GAAG,IAAI,WAAW,CAAC,SAAS,GAAG,MAAM,GAAG,aAAa,CAAC,CAAC;IAClF,IAAI,mBAAmB,CAAC,aAAa,GAAG,OAAO,CAAC;IAChD,IAAI,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAC5C,CAAC;AACD;IACA;AACA,IAAO,SAAS,SAAS,GAAG;IAC5B;IACA,IAAI,OAAO;IACX,QAAQ,CAAC,EAAE,YAAY,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC;IACxD,QAAQ,CAAC,EAAE,YAAY,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,CAAC;IACzD,KAAK,CAAC;IACN,CAAC;AACD;IACA;AACA,IAAO,SAAS,QAAQ,CAAC,OAAO,EAAE;IAClC,IAAI,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAC1D,CAAC;AACD;AACA,IAAO,SAAS,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE;IAC1D;IACA,IAAI,IAAI,iBAAiB,GAAG;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC;IAClC,KAAK,CAAC;AACN;IACA,IAAI,IAAI,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC;AACxE;IACA,IAAI,IAAI,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;AAC3E;IACA,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC;AAC/C;IACA,IAAI,IAAI,MAAM;IACd,QAAQ,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC;IAC9B,YAAY,SAAS,EAAE;IACvB,YAAY;IACZ,gBAAgB,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC;IAC9D,gBAAgB,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;IAC5D,aAAa,CAAC;AACd;IACA,IAAI,IAAI,cAAc,GAAG;IACzB,QAAQ,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;IACvC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;IACvC,KAAK,CAAC;AACN;IACA,IAAI,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,CAAC;AAClE;IACA,IAAI,IAAI,WAAW,CAAC;AACpB;IACA,IAAI,IAAI,YAAY,CAAC;AACrB;IACA,IAAI,IAAI,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AAChD;IACA,IAAI,IAAI,QAAQ,CAAC;AACjB;IACA,IAAI,IAAI,SAAS,CAAC;AAClB;IACA,IAAI,IAAI,UAAU,CAAC;AACnB;IACA,IAAI,IAAI,WAAW,CAAC;AACpB;IACA,IAAI,IAAI,aAAa;IACrB,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACzE;IACA,IAAI,IAAI,cAAc;IACtB,QAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC1E;IACA,IAAI,IAAI,eAAe;IACvB,QAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC;AACrF;IACA,IAAI,IAAI,gBAAgB;IACxB,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,iBAAiB,CAAC,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC;AACrF;IACA,IAAI,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1D;IACA,IAAI,IAAI,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC;AAC5D;IACA,IAAI,IAAI,YAAY;IACpB,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,iBAAiB,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,IAAI,YAAY,CAAC;AAC7E;IACA,IAAI,IAAI,WAAW;IACnB,QAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,IAAI,WAAW,CAAC;AAC7E;IACA;IACA,IAAI,QAAQ;IACZ,QAAQ,CAAC,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,OAAO,KAAK,UAAU,IAAI,WAAW;IAClF,YAAY,KAAK;IACjB,YAAY,QAAQ,CAAC;IACrB,IAAI,QAAQ,GAAG,QAAQ,KAAK,KAAK,IAAI,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACrE,IAAI,QAAQ,GAAG,QAAQ,KAAK,QAAQ,IAAI,YAAY,GAAG,KAAK,GAAG,QAAQ,CAAC;IACxE,IAAI,QAAQ,GAAG,QAAQ,KAAK,MAAM,IAAI,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;IACtE,IAAI,QAAQ,GAAG,QAAQ,KAAK,OAAO,IAAI,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC;AACvE;IACA;IACA,IAAI,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjD,SAAS,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;AAChF;IACA;IACA,IAAI,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;IACtC,IAAI,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;AACxC;IACA;IACA,IAAI,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,OAAO,EAAE;IACrD;IACA,QAAQ,IAAI,QAAQ,KAAK,MAAM,EAAE;IACjC;IACA,YAAY,YAAY;IACxB,gBAAgB,IAAI,CAAC,MAAM,CAAC;IAC5B,gBAAgB,MAAM,CAAC,CAAC;IACxB,gBAAgB,iBAAiB,CAAC,CAAC;IACnC,iBAAiB,SAAS,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC;IAC7C,SAAS,MAAM;IACf;IACA,YAAY,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;IACtE,SAAS;AACT;IACA;IACA,QAAQ,IAAI,aAAa,EAAE;IAC3B,YAAY,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IACjD,YAAY,QAAQ,GAAG,cAAc,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;IACzD,SAAS,MAAM,IAAI,gBAAgB,EAAE;IACrC,YAAY,WAAW;IACvB,gBAAgB,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;IAChF,YAAY,QAAQ,GAAG,iBAAiB,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;IAC/E,SAAS,MAAM;IACf,YAAY,WAAW;IACvB,gBAAgB,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC;IACxF,YAAY,QAAQ;IACpB,gBAAgB,iBAAiB,CAAC,CAAC,GAAG,CAAC;IACvC,iBAAiB,SAAS,GAAG,WAAW,GAAG,GAAG,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC;IAClE,SAAS;IACT,KAAK,MAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,QAAQ,EAAE;IAC5D;IACA,QAAQ,IAAI,QAAQ,KAAK,GAAG,EAAE;IAC9B;IACA,YAAY,WAAW;IACvB,gBAAgB,IAAI,CAAC,KAAK,CAAC;IAC3B,gBAAgB,MAAM,CAAC,CAAC;IACxB,gBAAgB,iBAAiB,CAAC,CAAC;IACnC,iBAAiB,SAAS,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC;IAC9C,SAAS,MAAM;IACf;IACA,YAAY,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;IACpE,SAAS;IACT;IACA,QAAQ,IAAI,cAAc,EAAE;IAC5B,YAAY,YAAY,GAAG,CAAC,CAAC;IAC7B,YAAY,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;IACzE,SAAS,MAAM,IAAI,eAAe,EAAE;IACpC,YAAY,YAAY,GAAG,WAAW,GAAG,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC;IACpE,YAAY,SAAS;IACrB,gBAAgB,iBAAiB,CAAC,CAAC;IACnC,iBAAiB,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5C,gBAAgB,cAAc,CAAC,CAAC,GAAG,CAAC;IACpC,gBAAgB,UAAU,GAAG,CAAC,CAAC;IAC/B,SAAS,MAAM;IACf,YAAY,YAAY;IACxB,gBAAgB,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC;IACzF,YAAY,SAAS,GAAG,iBAAiB,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;IACjE,SAAS;IACT,KAAK;AACL;IACA;IACA,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,WAAW,GAAG,IAAI,CAAC;IACjD,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,YAAY,GAAG,IAAI,CAAC;AACnD;IACA,IAAI,QAAQ,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC;IAC1D,IAAI,SAAS,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;IAC7D,CAAC;AACD;AACA,IAAO,SAAS,cAAc,CAAC,CAAC,EAAE;IAClC,IAAI,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,EAAE;IACzB,QAAQ,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACvD;IACA,QAAQ,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAC9D,QAAQ,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;IAClE,KAAK;IACL,CAAC;AACD;AACA,IAAO,SAAS,mBAAmB,CAAC,CAAC,EAAE;IACvC;IACA;IACA;IACA,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;IAChC,QAAQ,OAAO;IACf,KAAK;IACL,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACtD;IACA,IAAI,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;IACjE,IAAI,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACvD,CAAC;;ICpTc,SAAS,KAAK,CAAC,OAAO,EAAE;IACvC;IACA,IAAI,OAAO,GAAG,OAAO,YAAY,WAAW,GAAG,OAAO,IAAI,WAAW;IACrE,QAAQ,OAAO;IACf,KAAK,CAAC,CAAC;AACP;IACA;IACA,IAAI,AAAG,IAAC,IAAI,GAAG,IAAI,CAAC;IACpB,QAAQ,WAAW,GAAG,OAAO,CAAC;IAC9B,QAAQ,SAAS,GAAG,OAAO,CAAC;IAC5B,QAAQ,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;IAC9D,QAAQ,AAGA;IACR,QAAQ,YAAY,GAAG,SAAS,CAAC,EAAE;IACnC;IACA;IACA;IACA;IACA;IACA,YAAY,OAAO,IAAI,KAAK;IAC5B,aAAa,OAAO,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzE,YAAY,IAAI,CAAC,KAAK,EAAE,CAAC;IACzB,SAAS,CAAC,CAAC,AAKD;AACV;IACA;IACA,IAAI,IAAI,CAAC,KAAK,GAAG,WAAW;IAC5B,QAAQ,IAAI,KAAK,IAAI,OAAO,EAAE;IAC9B,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,MAAM,EAAE;IAChE,gBAAgB,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAC7D,aAAa,MAAM;IACnB,gBAAgB,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAC5D,aAAa;IACb;IACA;IACA;IACA,SAAS;IACT,KAAK,CAAC;AACN;IACA;IACA,IAAI,IAAI,EAAE,WAAW,IAAI,OAAO,CAAC,EAAE;IACnC;IACA,QAAQ,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IAC/D,KAAK;AACL;IACA,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;IAChC;;KAAC,DCpDc,SAAS,MAAM,CAAC,OAAO,EAAE;IACxC;IACA,IAAI,OAAO,GAAG,OAAO,YAAY,WAAW,GAAG,OAAO,IAAI,WAAW;IACrE,QAAQ,OAAO;IACf,KAAK,CAAC,CAAC;AACP;IACA;IACA,IAAI,IAAI,OAAO,GAAG,KAAK;IACvB;IACA,QAAQ,YAAY,GAAG,QAAQ;IAC/B,QAAQ,SAAS,GAAG,QAAQ;IAC5B,QAAQ,OAAO,GAAG,SAAS;IAC3B,QAAQ,KAAK,GAAG,OAAO;IACvB;IACA,QAAQ,UAAU,GAAG,SAAS,CAAC,EAAE;IACjC,YAAY,IAAI,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC;IAC3C,YAAY,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,aAAa,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;IACzE,SAAS;IACT,QAAQ,aAAa,GAAG,SAAS,CAAC,EAAE;IACpC,YAAY,IAAI,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC;IAC3C,YAAY,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC;IAChD,SAAS;IACT,QAAQ,MAAM,GAAG,SAAS,CAAC,EAAE;IAC7B,YAAY,IAAI,KAAK;IACrB,gBAAgB,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,KAAK,KAAK;IAC7C,sBAAsB,CAAC,CAAC,QAAQ,CAAC;IACjC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,KAAK,KAAK;IACjE,0BAA0B,CAAC,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC;IACnD,0BAA0B,IAAI,CAAC;AAC/B;IACA,YAAY,IAAI,CAAC,KAAK,EAAE,OAAO;AAC/B;IACA,YAAY,IAAI,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC;IACzC,gBAAgB,MAAM,GAAG,sBAAsB,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC;IACjF,gBAAgB,KAAK,GAAG,KAAK,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE;IACA,YAAY,IAAI,CAAC,KAAK,EAAE,OAAO;AAC/B;IACA;IACA,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;IAC3C;IACA,gBAAgB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;IACrC,oBAAoB,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzD,oBAAoB,KAAK,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC;IACnD,oBAAoB,KAAK,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5D,oBAAoB,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAC1C,iBAAiB,MAAM;IACvB,oBAAoB,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5D,oBAAoB,KAAK,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC;IACnD,oBAAoB,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IACnD,oBAAoB,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;IAC3C,iBAAiB;AACjB;IACA,gBAAgB,IAAI,CAAC,OAAO,EAAE;IAC9B;IACA,oBAAoB,OAAO,GAAG,IAAI,CAAC;IACnC,oBAAoB,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC1E,oBAAoB,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC5E,iBAAiB;IACjB,aAAa;AACb;IACA,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,OAAO,EAAE;IACpD;IACA,gBAAgB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;IACrC;IACA,oBAAoB,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzD,oBAAoB,KAAK,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5D,oBAAoB,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAC1C,oBAAoB,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC1E,oBAAoB,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAC5E;IACA,oBAAoB,OAAO,GAAG,IAAI,CAAC;IACnC,oBAAoB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;IACxE,wBAAwB,IAAI,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC;IAClD,4BAA4B,UAAU,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,wBAAwB,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;IACvG,4BAA4B,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpE,4BAA4B,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAChE,4BAA4B,UAAU,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;IACxD,4BAA4B,oBAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACvF,yBAAyB;IACzB,qBAAqB;IACrB,iBAAiB;IACjB,aAAa;IACb,YAAY,UAAU,CAAC,WAAW;IAClC,gBAAgB,OAAO,GAAG,KAAK,CAAC;IAChC,aAAa,EAAE,EAAE,CAAC,CAAC;IACnB,SAAS,CAAC;AACV;IACA;IACA,IAAI,IAAI,EAAE,YAAY,IAAI,OAAO,CAAC,EAAE;IACpC;IACA,QAAQ,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACzD,QAAQ,OAAO,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC;IAC3C,QAAQ,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC;IAC5D,QAAQ,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IAClE,KAAK;AACL;IACA;IACA,IAAI,IAAI,gBAAgB,GAAG,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC;IACtE,QAAQ,IAAI,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;IACnC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IACnE,QAAQ,gBAAgB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC;IACtD,QAAQ,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3D,KAAK;IACL,IAAI,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IACjC;;KAAC,DC3Gc,SAAS,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE;IACnD;IACA,IAAI,OAAO,GAAG,OAAO,YAAY,WAAW,GAAG,OAAO,IAAI,WAAW;IACrE,QAAQ,OAAO;IACf,KAAK,CAAC,CAAC;AACP;IACA;IACA,IAAI,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;AAC5B;IACA;IACA,IAAI,IAAI,iBAAiB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,eAAe,CAAC;IACpE,QAAQ,cAAc,GAAG,UAAU;IACnC,QAAQ,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;IAC5C,QAAQ,YAAY,GAAG,iBAAiB,KAAK,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,iBAAiB,CAAC;IACtF,QAAQ,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,KAAK,OAAO,IAAI,KAAK;IAC9E,QAAQ,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,eAAe,CAAC,KAAK,MAAM,IAAI,KAAK;IACnF,QAAQ,eAAe,GAAG,SAAS;IACnC;IACA,QAAQ,MAAM,GAAG,QAAQ;IACzB,QAAQ,WAAW,GAAG,eAAe;IACrC,QAAQ,UAAU,GAAG,cAAc,IAAI,GAAG,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACtG,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,IAAI,YAAY,CAAC;IACpE,IAAI,IAAI,CAAC,OAAO,CAAC;IACjB,QAAQ,OAAO,CAAC,OAAO,CAAC,KAAK,OAAO,IAAI,SAAS,GAAG,OAAO,GAAG,KAAK,CAAC;AACpE;IACA,IAAI,IAAI,CAAC,UAAU,CAAC;IACpB,QAAQ,OAAO,cAAc,KAAK,QAAQ;IAC1C,cAAc,cAAc;IAC5B,cAAc,cAAc,KAAK,KAAK;IACtC,gBAAgB,YAAY,KAAK,CAAC;IAClC,gBAAgB,YAAY,KAAK,KAAK;IACtC,kBAAkB,CAAC;IACnB,kBAAkB,KAAK,CAAC,YAAY,CAAC;IACrC,sBAAsB,IAAI;IAC1B,sBAAsB,YAAY,CAAC;AACnC;IACA;IACA,IAAI,IAAI,IAAI,GAAG,IAAI;IACnB,QAAQ,cAAc,GAAG,KAAK;IAC9B,QAAQ,KAAK,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;IACnC,QAAQ,KAAK,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;IACnC,QAAQ,SAAS,GAAG,KAAK;IACzB,QAAQ,MAAM,GAAG,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC;IACxE,QAAQ,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC;IAChC,QAAQ,cAAc,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;IACrD;IACA,QAAQ,SAAS,GAAG,sBAAsB;IAC1C,YAAY,OAAO;IACnB,YAAY,MAAM,CAAC,uBAAuB;IAC1C,SAAS,CAAC,CAAC,CAAC;IACZ,QAAQ,UAAU,GAAG,sBAAsB;IAC3C,YAAY,OAAO;IACnB,YAAY,MAAM,CAAC,uBAAuB;IAC1C,SAAS,CAAC,CAAC,CAAC;IACZ;IACA,QAAQ,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG,MAAM,CAAC,qBAAqB,CAAC;IAChF,QAAQ,aAAa,GAAG,CAAC,YAAY,IAAI,YAAY,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE;IAC1F;IACA,QAAQ,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG,MAAM,CAAC,yBAAyB,CAAC;IACpF,QAAQ,aAAa,GAAG,CAAC,YAAY,IAAI,YAAY,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE;IAC1F,QAAQ,SAAS,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY;IAC9D,QAAQ,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,aAAa,GAAG,aAAa,CAAC;AACjF;IACA;IACA,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE;IACnB,QAAQ,OAAO;IACf,KAAK;AACL;IACA;IACA,IAAI,IAAI,YAAY,GAAG,WAAW;IAClC,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EAAE;IACtF,gBAAgB,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9C,gBAAgB,CAAC,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IAChD,aAAa;IACb,SAAS;IACT,QAAQ,aAAa,GAAG,WAAW;IACnC,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EAAE;IACrF,gBAAgB,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjD,gBAAgB,CAAC,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IAChD,gBAAgB,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;IAC3C,aAAa;IACb,SAAS;IACT,QAAQ,gBAAgB,GAAG,SAAS,CAAC,EAAE;IACvC,YAAY,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC;IAClC,YAAY,IAAI,SAAS,EAAE,OAAO;AAClC;IACA,YAAY,IAAI,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC1C;IACA,YAAY,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,EAAE;IAChI,gBAAgB,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/E,gBAAgB,cAAc,GAAG,IAAI,CAAC;IACtC,aAAa,MAAM;IACnB,gBAAgB,OAAO,KAAK,CAAC;IAC7B,aAAa;AACb;IACA,YAAY,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChC,SAAS;IACT,QAAQ,eAAe,GAAG,SAAS,CAAC,EAAE;IACtC,YAAY,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC;IAClC,YAAY,IAAI,SAAS,EAAE,OAAO;AAClC;IACA,YAAY,IAAI,WAAW,GAAG,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,UAAU,CAAC;AAC9D;IACA,YAAY,IAAI,WAAW,KAAK,UAAU,EAAE;IAC5C,gBAAgB,KAAK,EAAE,CAAC;IACxB,aAAa,MAAM,IAAI,WAAW,KAAK,SAAS,EAAE;IAClD,gBAAgB,KAAK,EAAE,CAAC;IACxB,aAAa;AACb;IACA,YAAY,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChC,SAAS;IACT,QAAQ,UAAU,GAAG,SAAS,CAAC,EAAE;IACjC,YAAY,IAAI,SAAS,EAAE,OAAO;IAClC,YAAY,QAAQ,CAAC,CAAC,KAAK;IAC3B,YAAY,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM;IACpC,YAAY,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM;IACpC,YAAY,SAAS,OAAO;IAC5B,aAAa;IACb,YAAY,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChC,SAAS;IACT;IACA,QAAQ,sBAAsB,GAAG,WAAW;IAC5C,YAAY,IAAI,IAAI,GAAG,OAAO,CAAC,uBAAuB,CAAC,EAAE;IACzD,gBAAgB,cAAc,GAAG,YAAY,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC;IACnF,YAAY,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxE,SAAS;IACT,QAAQ,aAAa,GAAG,SAAS,SAAS,EAAE;IAC5C;IACA,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;IACtE,gBAAgB,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChE,aAAa;IACb,YAAY,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5F,SAAS;IACT,QAAQ,UAAU,GAAG,SAAS,KAAK,EAAE;IACrC,YAAY,aAAa,CAAC,KAAK,CAAC,CAAC;IACjC,YAAY,KAAK,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC;AACV;IACA;IACA,IAAI,IAAI,CAAC,KAAK,GAAG,WAAW;IAC5B,QAAQ,GAAG,CAAC,cAAc,EAAE;IAC5B,YAAY,IAAI,KAAK,EAAE;IACvB,gBAAgB,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,aAAa;IACb,YAAY,KAAK,GAAG,WAAW,CAAC,WAAW;IAC3C,gBAAgB,sBAAsB,EAAE,KAAK,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3E,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACjC,SAAS,MAAM;IACf,YAAY,IAAI,KAAK,EAAE;IACvB,gBAAgB,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,aAAa;IACb,SAAS;IACT,KAAK,CAAC;IACN,IAAI,IAAI,CAAC,OAAO,GAAG,SAAS,IAAI,EAAE;IAClC,QAAQ,IAAI,SAAS,EAAE,OAAO;AAC9B;IACA,QAAQ,AAAG,IAAC,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,uBAAuB,AAC9C;IACxB;IACA;IACA;IACA,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE;IACjC,YAAY,OAAO;IACnB;IACA;IACA;IACA;IACA;IACA,SAAS;AACT;IACA;IACA,QAAQ,IAAI,IAAI,GAAG,CAAC,EAAE;IACtB,YAAY,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC;IAC7B,SAAS,MAAM,IAAI,IAAI,IAAI,KAAK,EAAE;IAClC,YAAY,IAAI,GAAG,CAAC,CAAC;IACrB,SAAS;AACT;IACA;IACA,QAAQ,KAAK,GAAG,IAAI,CAAC;AACrB,IAEA,QAAQ,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACrF;IACA,QAAQ,SAAS,GAAG,IAAI,CAAC;IACzB,QAAQ,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1B,QAAQ,aAAa,CAAC,IAAI,CAAC,CAAC;AAC5B;IACA,QAAQ,IAAI,kBAAkB,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE;IAC1E,YAAY,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACpE,YAAY,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;IACxC,YAAY,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACpE,YAAY,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAC1E;IACA,YAAY,IAAI,OAAO,GAAG,gCAAgC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACzE;IACA,YAAY,SAAS;IACrB,YAAY,UAAU,CAAC,WAAW;IAClC,gBAAgB,SAAS,GAAG,KAAK,CAAC;AAClC;IACA,gBAAgB,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5D,gBAAgB,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACrE;IACA,gBAAgB,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC3E,gBAAgB,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC3E,gBAAgB,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;AACjF;IACA,gBAAgB,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7F;IACA,gBAAgB,IAAI,EAAE,eAAe,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EAAE;IACnH,oBAAoB,IAAI,CAAC,KAAK,EAAE,CAAC;IACjC,iBAAiB,MAAM;IACvB,oBAAoB,GAAG,eAAe,KAAK,QAAQ,EAAE;IACrD,wBAAwB,YAAY,EAAE,CAAC;IACvC,qBAAqB;IACrB,iBAAiB;IACjB,aAAa,EAAE,OAAO,CAAC,CAAC;AACxB;IACA,SAAS,MAAM;IACf,YAAY,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxD,YAAY,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;IACxC,YAAY,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjE,YAAY,UAAU,CAAC,WAAW;IAClC,gBAAgB,SAAS,GAAG,KAAK,CAAC;IAClC,gBAAgB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EAAE;IAChF,oBAAoB,IAAI,CAAC,KAAK,EAAE,CAAC;IACjC,iBAAiB;IACjB,gBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9F,aAAa,EAAE,GAAG,CAAC,CAAC;IACpB,SAAS;IACT,KAAK,CAAC;IACN,IAAI,IAAI,CAAC,cAAc,GAAG,WAAW;IACrC,QAAQ;IACR,YAAY,MAAM,CAAC,SAAS,CAAC;IAC7B,gBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,eAAe,GAAG,GAAG,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpG,aAAa,IAAI,CAAC;IAClB,UAAU;IACV,KAAK,CAAC;AACN;IACA;IACA,IAAI,IAAI,EAAE,cAAc,IAAI,OAAO,CAAC,EAAE;IACtC;IACA,QAAQ,GAAG,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;IAC5D,YAAY,IAAI,eAAe,KAAK,QAAQ,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS,EAAE;IACxF,gBAAgB,aAAa,EAAE,CAAC;IAChC,aAAa;IACb,YAAY,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;IACvD,SAAS,CAAC,CAAC;AACX;IACA,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE;IAC/C,YAAY,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IACzE,YAAY,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IAC1E,YAAY,OAAO,CAAC,gBAAgB,CAAC,YAAY,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IACxE,YAAY,OAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IACvE,SAAS;AACT;IACA,QAAQ,UAAU,IAAI,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;IACnF,QAAQ,SAAS,IAAI,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;AACjF;IACA,QAAQ,SAAS,IAAI,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;AAClF;IACA,QAAQ,IAAI,CAAC,YAAY,EAAE;AAC3B;IACA,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE;IAC3D,gBAAgB,IAAI,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC7D,gBAAgB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE;IACpE,oBAAoB,eAAe,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IACnF,iBAAiB;IACjB,gBAAgB,UAAU,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAC1E,aAAa;IACb,SAAS;AACT;IACA,QAAQ,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,IAAI,YAAY,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IACjG,KAAK;IACL,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE;IACnC,QAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnE,QAAQ,UAAU,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;IAC/C,KAAK;AACL;IACA,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE;IAC1B,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,KAAK;IACL,IAAI,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IACnC;;KAAC,DC1Rc,SAAS,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE;IACnD;IACA,IAAI,OAAO,GAAG,OAAO,YAAY,WAAW,GAAG,OAAO,IAAI,WAAW;IACrE,QAAQ,OAAO;IACf,KAAK,CAAC,CAAC;AACP;IACA;IACA,IAAI,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;AAC5B;IACA;IACA,IAAI,IAAI,SAAS,GAAG,IAAI;IACxB,QAAQ,cAAc,GAAG,UAAU;IACnC,QAAQ,QAAQ,GAAG,IAAI;IACvB,QAAQ,IAAI,GAAG,IAAI;IACnB,QAAQ,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC;IAC9D,QAAQ,cAAc;IACtB,QAAQ,aAAa;IACrB;IACA,QAAQ,SAAS,GAAG,MAAM,CAAC,UAAU;IACrC,QAAQ,SAAS,GAAG,MAAM,CAAC,WAAW;IACtC,QAAQ,UAAU,GAAG,MAAM,CAAC,YAAY;IACxC;IACA,QAAQ,UAAU,GAAG,SAAS,eAAe,EAAE,MAAM,EAAE;IACvD,YAAY,oBAAoB,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1E,YAAY,eAAe,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IAClD,YAAY,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACtD,YAAY,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACxD,YAAY,eAAe,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,eAAe,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IACxF,YAAY,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AAChD;IACA,YAAY,oBAAoB,CAAC,eAAe,EAAE,WAAW;IAC7D,gBAAgB,eAAe,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;IACvD,gBAAgB,eAAe,CAAC,cAAc,CAAC,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IACzE,gBAAgB,MAAM,CAAC,cAAc,CAAC,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAChE,gBAAgB,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7D,gBAAgB,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACzD,gBAAgB,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7D,gBAAgB,eAAe,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;IACxD,gBAAgB,oBAAoB,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAC/E,aAAa,CAAC,CAAC;IACf,SAAS;IACT,QAAQ,WAAW,GAAG,SAAS,eAAe,EAAE,MAAM,EAAE;IACxD,YAAY,oBAAoB,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1E,YAAY,eAAe,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IAClD,YAAY,eAAe,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,eAAe,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IACxF,YAAY,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACxD,YAAY,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5D,YAAY,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACtD,YAAY,eAAe,CAAC,aAAa,CAAC,CAAC;IAC3C,YAAY,eAAe,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;AACvD;IACA,YAAY,oBAAoB,CAAC,eAAe,EAAE,WAAW;IAC7D,gBAAgB,eAAe,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;IACvD,gBAAgB,eAAe,CAAC,cAAc,CAAC,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAC1E,gBAAgB,MAAM,CAAC,cAAc,CAAC,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACjE,gBAAgB,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7D,gBAAgB,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACzD,gBAAgB,eAAe,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;IACxD,gBAAgB,oBAAoB,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAChF,aAAa,CAAC,CAAC;IACf,SAAS;IACT,QAAQ,SAAS,GAAG,WAAW;IAC/B,YAAY,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;IACtE,gBAAgB,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC;IAC/D,gBAAgB,EAAE,GAAG,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,CAAC;IAC5E,YAAY,OAAO,EAAE,IAAI,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC/C,SAAS,CAAC;AACV;IACA;IACA,IAAI,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE;IAC9B,QAAQ,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC;IAC9B,QAAQ,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;IAC5D,YAAY,IAAI,CAAC,IAAI,EAAE,CAAC;IACxB,SAAS,MAAM;IACf,YAAY,IAAI,CAAC,IAAI,EAAE,CAAC;IACxB,SAAS;IACT,KAAK,CAAC;IACN,IAAI,IAAI,CAAC,IAAI,GAAG,WAAW;IAC3B,QAAQ,IAAI,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO;IAC5C,QAAQ,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACvC,QAAQ,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACzC,KAAK,CAAC;IACN,IAAI,IAAI,CAAC,IAAI,GAAG,WAAW;IAC3B,QAAQ,IAAI,SAAS,EAAE;IACvB,YAAY,cAAc,GAAG,SAAS,CAAC,aAAa,CAAC,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5F,YAAY,aAAa;IACzB,YAAY,cAAc;IAC1B,aAAa,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,aAAa,GAAG,KAAK,GAAG,SAAS,GAAG,MAAM,EAAE,aAAa,GAAG,MAAM,GAAG,cAAc,CAAC,EAAE,GAAG,KAAK,CAAC;IACzI,YAAY,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,aAAa,GAAG,KAAK,EAAE,SAAS,GAAG,cAAc,GAAG,cAAc,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;IACzH,SAAS;AACT;IACA,QAAQ;IACR,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,cAAc,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,EAAE;IAC5F,YAAY,IAAI,aAAa,IAAI,cAAc,KAAK,QAAQ,EAAE;IAC9D,gBAAgB,WAAW,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IAC3D,gBAAgB,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvD,aAAa;IACb,YAAY,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1C,YAAY,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAChD,SAAS;IACT,KAAK,CAAC;AACN;IACA;IACA,IAAI,IAAI,EAAE,cAAc,IAAI,OAAO,CAAC,EAAE;IACtC;IACA,QAAQ,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC9D,KAAK;AACL;IACA,IAAI,QAAQ,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,QAAQ,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;IACpC,IAAI,SAAS,GAAG,CAAC,OAAO,CAAC,MAAM;IAC/B,SAAS,aAAa,IAAI,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;IAC9D,IAAI,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IACnC,CAAC;;ICpHc,SAAS,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE;IACxD;IACA,IAAI,OAAO,GAAG,OAAO,YAAY,WAAW,GAAG,OAAO,IAAI,WAAW;IACrE,QAAQ,OAAO;IACf,KAAK,CAAC,CAAC;AACP;IACA;IACA,IAAI,OAAO,GAAG,OAAO,IAAI;IACzB,QAAQ,QAAQ,EAAE,IAAI;IACtB,QAAQ,UAAU,EAAE,IAAI;IACxB,QAAQ,cAAc,EAAE,GAAG;IAC3B,KAAK,CAAC;AACN;IACA;IACA,IAAI,IAAI,IAAI,GAAG,IAAI;IACnB,QAAQ,mBAAmB,GAAG,eAAe;IAC7C,QAAQ,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC;IACvD,QAAQ,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC;IAC5D,QAAQ,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC;IAC/D,QAAQ,OAAO,GAAG,IAAI;IACtB,QAAQ,gBAAgB,GAAG,KAAK,CAAC;AACjC;IACA;IACA,IAAI,IAAI,YAAY,GAAG,UAAU,CAAC,EAAE;IACpC,QAAQ,CAAC,CAAC,cAAc,EAAE,CAAC;IAC3B,QAAQ,IAAI,CAAC,gBAAgB,EAAE;IAC/B,YAAY,gBAAgB,GAAG,IAAI,CAAC;IACpC,SAAS;IACT,QAAQ,YAAY,EAAE,CAAC;IACvB,KAAK,CAAC;AACN;IACA;IACA,IAAI,IAAI,UAAU,GAAG,WAAW;IAChC,YAAY,OAAO,GAAG,IAAI,CAAC;IAC3B,YAAY,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACtD,YAAY,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;IACnC,YAAY,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IACvD,SAAS;IACT,QAAQ,WAAW,GAAG,WAAW;IACjC,YAAY,OAAO,GAAG,KAAK,CAAC;IAC5B,YAAY,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACzD,YAAY,UAAU,CAAC,WAAW;IAClC,gBAAgB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IACtC,aAAa,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACvC,YAAY,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IACtD,SAAS;IACT,QAAQ,YAAY,GAAG,WAAW;IAClC,YAAY,IAAI,OAAO,EAAE;IACzB,gBAAgB,WAAW,EAAE,CAAC;IAC9B,aAAa,MAAM;IACnB,gBAAgB,UAAU,EAAE,CAAC;IAC7B,aAAa;IACb,SAAS;IACT,QAAQ,sBAAsB,IAAI,WAAW;IAC7C,YAAY,IAAI,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;IACjE,YAAY,IAAI,gBAAgB,EAAE;IAClC,gBAAgB,IAAI,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;AACjE;IACA,gBAAgB,IAAI,aAAa,EAAE;IACnC,oBAAoB,IAAI,aAAa,CAAC,iBAAiB;IACvD,wBAAwB,OAAO,CAAC,QAAQ,GAAG,aAAa,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAClF,oBAAoB,IAAI,aAAa,CAAC,kBAAkB;IACxD,wBAAwB,OAAO,CAAC,UAAU,GAAG,aAAa,CAAC,kBAAkB,GAAG,IAAI,CAAC;IACrF,oBAAoB,IAAI,aAAa,CAAC,4BAA4B;IAClE,wBAAwB,OAAO,CAAC,cAAc,GAAG,aAAa,CAAC,4BAA4B,CAAC;IAC5F,iBAAiB;IACjB,aAAa;IACb,SAAS;IACT,QAAQ,iBAAiB,GAAG,WAAW;IACvC,YAAY;IACZ,gBAAgB,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,QAAQ;IACzD,gBAAgB,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,UAAU;IAC3D,cAAc;IACd;IACA,gBAAgB,OAAO;IACvB,aAAa;AACb;IACA,YAAY,IAAI,OAAO,EAAE;IACzB,gBAAgB,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IACvF,aAAa;IACb,SAAS,CAAC;AACV;IACA;IACA,IAAI,IAAI,CAAC,WAAW,GAAG,WAAW;IAClC,QAAQ,IAAI,CAAC,gBAAgB,EAAE;IAC/B,YAAY,IAAI,OAAO,EAAE;IACzB,gBAAgB,WAAW,EAAE,CAAC;IAC9B,gBAAgB,IAAI,OAAO,CAAC,UAAU,EAAE;IACxC,oBAAoB,UAAU,CAAC,WAAW;IAC1C,wBAAwB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAClD,qBAAqB,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,iBAAiB;IACjB,aAAa,MAAM;IACnB,gBAAgB,UAAU,EAAE,CAAC;IAC7B,gBAAgB,IAAI,OAAO,CAAC,QAAQ,EAAE;IACtC,oBAAoB,UAAU,CAAC,WAAW;IAC1C,wBAAwB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAClD,qBAAqB,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzC,iBAAiB;IACjB,aAAa;IACb,SAAS;IACT,KAAK,CAAC;AACN;IACA;IACA,IAAI,IAAI,EAAE,mBAAmB,IAAI,OAAO,CAAC,EAAE;AAC3C;IACA,QAAQ,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IAC3D,QAAQ,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;AACnE;IACA,QAAQ,sBAAsB,EAAE,CAAC;IACjC,QAAQ,iBAAiB,EAAE,CAAC;IAC5B,KAAK;AACL;IACA,IAAI,GAAG,CAAC,gBAAgB,EAAE;IAC1B,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;IAC3B,KAAK;IACL,IAAI,OAAO,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC;IACxC,CAAC;;IClHc,SAAS,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE;IAClD;IACA,IAAI,OAAO,GAAG,OAAO,YAAY,WAAW,GAAG,OAAO,IAAI,WAAW;IACrE,QAAQ,OAAO;IACf,KAAK,CAAC,CAAC;AACP;IACA;IACA,IAAI,IAAI,CAAC,OAAO;IAChB,QAAQ,MAAM,KAAK,IAAI;IACvB,QAAQ,OAAO,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,KAAK,MAAM;IAC1D,QAAQ,KAAK,CAAC;AACd;IACA;IACA,IAAI,IAAI,IAAI,GAAG,IAAI;IACnB,QAAQ,cAAc,GAAG,UAAU;IACnC,QAAQ,QAAQ,GAAG,UAAU;IAC7B,QAAQ,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IACtC,QAAQ,SAAS,GAAG,eAAe;IACnC,QAAQ,IAAI,GAAG,MAAM;IACrB,QAAQ,SAAS,GAAG,MAAM,GAAG,MAAM;IACnC,QAAQ,aAAa,GAAG,IAAI;IAC5B,QAAQ,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC;IAC/D,QAAQ,SAAS,GAAG,CAAC,YAAY;IACjC,YAAY,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;IACpC,gBAAgB,MAAM,GAAG,EAAE,CAAC;IAC5B,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE;IACpD,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC;IAC1C,qBAAqB,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG;IACxD,wBAAwB,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,aAAa;IACb,YAAY,OAAO,MAAM,CAAC;IAC1B,SAAS,GAAG;IACZ;IACA,QAAQ,kBAAkB,GAAG,UAAU,MAAM,EAAE;IAC/C,YAAY,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;IAC1D,iBAAiB,MAAM,CAAC,YAAY,CAAC;IACrC,oBAAoB,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI;IAC7C,oBAAoB,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;IAChE,gBAAgB,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;IACzC,SAAS;IACT;IACA,QAAQ,aAAa,GAAG,YAAY;IACpC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;IAC/B,gBAAgB,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IACzE,gBAAgB,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IAC1E,gBAAgB,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IACrE,aAAa,MAAM;IACnB,gBAAgB,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IAC5E,gBAAgB,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IAC7E,gBAAgB,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IACxE,aAAa;IACb,SAAS;IACT;IACA,QAAQ,cAAc,GAAG,UAAU,CAAC,EAAE;IACtC,YAAY,IAAI,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,WAAW,KAAK,cAAc,IAAI,WAAW,IAAI,cAAc,IAAI,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;IACnJ,YAAY,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC;IACtE,oBAAoB,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,EAAE;IAC9C,gBAAgB,OAAO;IACvB,aAAa,MAAM;IACnB,gBAAgB,aAAa;IAC7B,oBAAoB,WAAW,KAAK,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC;IAC/E,0BAA0B,OAAO;IACjC,0BAA0B,IAAI,CAAC;IAC/B,gBAAgB,IAAI,EAAE,CAAC;IACvB,aAAa;IACb,YAAY,kBAAkB,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IACpD,SAAS;IACT,QAAQ,YAAY,GAAG,UAAU,CAAC,EAAE;IACpC,YAAY,aAAa,GAAG,OAAO,CAAC;IACpC;IACA,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC;IAC1B,YAAY,kBAAkB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpD,SAAS;IACT,QAAQ,aAAa,GAAG,UAAU,CAAC,EAAE;IACrC,YAAY,IAAI,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC;IAC3C,YAAY,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,EAAE,EAAE;IAC1C,gBAAgB,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC;IACtC,aAAa;IACb,SAAS;IACT,QAAQ,UAAU,GAAG,UAAU,CAAC,EAAE;IAClC,YAAY,IAAI,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO;IAC1C,gBAAgB,UAAU,GAAG,GAAG,CAAC,aAAa;IAC9C,gBAAgB,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC;IACtD,gBAAgB,aAAa,GAAG,UAAU,KAAK,OAAO;IACtD,gBAAgB,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC;IAC3D,gBAAgB,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,KAAK,IAAI,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;AAClH;IACA,YAAY,IAAI,UAAU,IAAI,aAAa,EAAE;IAC7C;IACA,gBAAgB,GAAG,GAAG,aAAa;IACnC,sBAAsB,CAAC;IACvB,sBAAsB,GAAG,KAAK,EAAE;IAChC,0BAA0B,GAAG,GAAG,CAAC;IACjC,8BAA8B,GAAG,GAAG,CAAC;IACrC,8BAA8B,CAAC;IAC/B,0BAA0B,GAAG,KAAK,EAAE;IACpC,8BAA8B,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;IAC3D,kCAAkC,GAAG,GAAG,CAAC;IACzC,kCAAkC,GAAG;IACrC,8BAA8B,GAAG,CAAC;IAClC,gBAAgB,SAAS,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3D,aAAa;IACb,YAAY;IACZ,gBAAgB,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,UAAU;IACnD,qBAAqB,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,YAAY,IAAI,aAAa,CAAC,CAAC;IAC7E,oBAAoB,CAAC,YAAY;IACjC,gBAAgB,OAAO,CAAC,IAAI,CAAC;IAC7B,gBAAgB,GAAG,KAAK,EAAE;IAC1B,cAAc;IACd,gBAAgB,IAAI,CAAC,MAAM,EAAE,CAAC;IAC9B,gBAAgB,aAAa,GAAG,IAAI,CAAC;IACrC,aAAa;IACb,YAAY,IAAI,CAAC,UAAU,IAAI,CAAC,aAAa,EAAE;IAC/C,gBAAgB,IAAI,CAAC,MAAM,EAAE,CAAC;IAC9B,gBAAgB,aAAa,GAAG,IAAI,CAAC;IACrC,aAAa;IACb,SAAS;IACT;IACA,QAAQ,IAAI,GAAG,YAAY;IAC3B,YAAY,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAChF,YAAY,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1C,YAAY,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC5C,YAAY,OAAO,CAAC,cAAc,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IAC3D,YAAY,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IACjF,YAAY,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACjC;AACA;IACA,YAAY,UAAU,CAAC,YAAY;IACnC,gBAAgB,IAAI,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;IAClF,gBAAgB,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACtE,gBAAgB,aAAa,EAAE,CAAC;IAChC,aAAa,EAAE,CAAC,CAAC,CAAC;IAClB,SAAS;IACT,QAAQ,IAAI,GAAG,YAAY;IAC3B,YAAY,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAChF,YAAY,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC7C,YAAY,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/C,YAAY,OAAO,CAAC,cAAc,CAAC,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IAC5D,YAAY,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAClF,YAAY,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAClC,YAAY,aAAa,EAAE,CAAC;IAC5B,YAAY,UAAU,CAAC,YAAY;IACnC,gBAAgB,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IACvE,aAAa,EAAE,CAAC,CAAC,CAAC;IAClB,SAAS;IACT,QAAQ,cAAc,GAAG,SAAS,CAAC,EAAE;IACrC,YAAY,GAAG,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;IACnE,gBAAgB,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;IACrE,oBAAoB,aAAa,GAAG,MAAM,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC;IAChE,iBAAiB,MAAM;IACvB,oBAAoB,aAAa,GAAG,MAAM,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,YAAY,CAAC,CAAC;IAC9E,iBAAiB;IACjB,aAAa,MAAM;IACnB,gBAAgB,OAAO;IACvB,aAAa;IACb,YAAY,IAAI,EAAE,CAAC;IACnB,YAAY,kBAAkB,CAAC,IAAI,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACtD,SAAS,CAAC;AACV;IACA;IACA,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;AAC1B;IACA;IACA,IAAI,IAAI,CAAC,MAAM,GAAG,YAAY;IAC9B,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;IACtE,YAAY,IAAI,EAAE,CAAC;IACnB,SAAS,MAAM;IACf,YAAY,IAAI,EAAE,CAAC;IACnB,SAAS;IACT,KAAK,CAAC;AACN;IACA;IACA,IAAI,IAAI,EAAE,cAAc,IAAI,OAAO,CAAC,EAAE;IACtC;IACA,QAAQ,EAAE,UAAU,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACvE,QAAQ,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IAC/D,QAAQ,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;AAC9D;IACA,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE;IACtD,YAAY,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IACxE,SAAS;IACT,KAAK;AACL;IACA,IAAI,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IACnC,CAAC;;ICzLc,SAAS,QAAQ,CAAC,OAAO,EAAE;IAC1C;IACA,IAAI,OAAO,GAAG,OAAO,YAAY,WAAW,GAAG,OAAO,IAAI,WAAW;IACrE,QAAQ,OAAO;IACf,KAAK,CAAC,CAAC;AACP;IACA,IAAI,IAAI,IAAI,GAAG,IAAI;IACnB,QAAQ,cAAc,GAAG,UAAU;IACnC,QAAQ,kBAAkB,GAAG,4BAA4B;IACzD,QAAQ,aAAa,GAAG,IAAI;IAC5B,QAAQ,MAAM,GAAG,IAAI;IACrB,QAAQ,KAAK,GAAG,IAAI;IACpB,QAAQ,WAAW,GAAG,oBAAoB;IAC1C,QAAQ,cAAc,GAAG,4BAA4B;IACrD,QAAQ,MAAM,GAAG,IAAI;IACrB,QAAQ,UAAU,GAAG,IAAI;IACzB,QAAQ,WAAW,GAAG,oBAAoB;IAC1C,QAAQ,eAAe,GAAG,yBAAyB;IACnD,QAAQ,eAAe,GAAG,mBAAmB;IAC7C,QAAQ,IAAI,GAAG,IAAI;IACnB,QAAQ,aAAa,GAAG,4BAA4B;IACpD,QAAQ,SAAS,GAAG,IAAI;IACxB,QAAQ,cAAc,GAAG,2BAA2B;IACpD,QAAQ,kBAAkB,GAAG,sBAAsB;IACnD,QAAQ,aAAa,GAAG,IAAI;IAC5B,QAAQ,MAAM,GAAG,IAAI;IACrB,QAAQ,WAAW,GAAG,IAAI;IAC1B,QAAQ,aAAa,GAAG,IAAI;IAC5B,QAAQ,aAAa,GAAG,qBAAqB;IAC7C,QAAQ,UAAU,GAAG,cAAc,IAAI,GAAG,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC;IACrG;IACA,QAAQ,kBAAkB,GAAG,SAAS,MAAM,EAAE;IAC9C,YAAY,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;IAC/L,SAAS;IACT;IACA,QAAQ,aAAa,GAAG,WAAW;IACnC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE;IAC/B,gBAAgB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IACxE,aAAa;IACb,iBAAiB;IACjB,gBAAgB,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IAC3E,aAAa;IACb,SAAS;IACT;IACA,QAAQ,cAAc,GAAG,SAAS,CAAC,EAAE;IACrC,YAAY,IAAI,cAAc,GAAG,UAAU,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnG;IACA,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE;IAClD,gBAAgB,aAAa,GAAG,UAAU,CAAC;IAC3C,gBAAgB,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IACrD,gBAAgB,UAAU,EAAE,CAAC;IAC7B,aAAa;IACb,SAAS;IACT,QAAQ,YAAY,GAAG,WAAW;IAClC,YAAY,IAAI,aAAa,GAAG,GAAG,CAAC,aAAa;IACjD,gBAAgB,eAAe,GAAG,aAAa,KAAK,MAAM,CAAC;IAC3D,YAAY,IAAI,eAAe,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,GAAG;IACvE,gBAAgB,YAAY,CAAC,UAAU,CAAC,CAAC;IACzC,aAAa;IACb,SAAS;IACT,QAAQ,qBAAqB,GAAG,UAAU;IAC1C;IACA,YAAY,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;IAC9D,gBAAgB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3D,gBAAgB,UAAU,CAAC,WAAW;IACtC,oBAAoB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC;IACxD,oBAAoB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;IACjD,oBAAoB,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC;IAChD,oBAAoB,aAAa,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IACpE,iBAAiB,EAAE,GAAG,CAAC,CAAC;AACxB;IACA,aAAa,MAAM;IACnB,gBAAgB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACnD,gBAAgB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;IAC7C,gBAAgB,aAAa,CAAC,MAAM,GAAG,KAAK,CAAC;IAC7C,gBAAgB,aAAa,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IACjE,gBAAgB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxD,aAAa;IACb,SAAS;IACT,QAAQ,UAAU,GAAG,SAAS,CAAC,EAAE;IACjC,YAAY,IAAI,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC;AAClD;IACA;IACA,YAAY,IAAI,aAAa,KAAK,MAAM,EAAE;IAC1C,gBAAgB,GAAG,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE;IACrF;IACA,oBAAoB,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE,EAAE;IAC9D,wBAAwB,YAAY,CAAC,UAAU,CAAC,CAAC;IACjD,wBAAwB,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC;IAC9C,qBAAqB;IACrB,iBAAiB;IACjB,aAAa,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;IACzD;IACA,gBAAgB,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE,EAAE;IAC1D,oBAAoB,IAAI,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE;IACtF,wBAAwB,aAAa,CAAC,KAAK,EAAE,CAAC;IAC9C,qBAAqB,MAAM;IAC3B,wBAAwB,UAAU,CAAC,aAAa,CAAC,CAAC;IAClD,qBAAqB;IACrB,oBAAoB,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC;IAC1C,iBAAiB;IACjB,aAAa;IACb,SAAS;IACT;IACA,QAAQ,YAAY,GAAG,SAAS,OAAO,EAAE;IACzC,YAAY,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3C,YAAY,aAAa,GAAG,OAAO,CAAC;IACpC,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;IACzC,gBAAgB,UAAU,EAAE,CAAC;IAC7B,aAAa,MAAM;IACnB,gBAAgB,UAAU,EAAE,CAAC;IAC7B,aAAa;IACb,SAAS;IACT,QAAQ,UAAU,GAAG,WAAW;IAChC,YAAY,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;IAC3F,YAAY,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvD,YAAY,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChD,YAAY,MAAM,CAAC,cAAc,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IAC1D,YAAY,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;IAC5F,YAAY,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAClC,YAAY,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IACrE,YAAY,UAAU,CAAC,WAAW;IAClC,gBAAgB,IAAI,YAAY,GAAG,aAAa,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;IAC/F,gBAAgB,YAAY,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC;IACrF,gBAAgB,aAAa,CAAC,AAAM,CAAC,CAAC;IACtC,aAAa,EAAE,CAAC,CAAC,CAAC;IAClB,SAAS;IACT,QAAQ,UAAU,GAAG,WAAW;IAChC,YAAY,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;IACtF,YAAY,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1D,YAAY,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnD,YAAY,MAAM,CAAC,cAAc,CAAC,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IAC3D,YAAY,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;IACxF,YAAY,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;IACnC,YAAY,aAAa,CAAC,AAAM,CAAC,CAAC;IAClC,YAAY,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAC/D,YAAY,UAAU,CAAC,WAAW;IAClC,gBAAgB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IACtE,aAAa,EAAE,CAAC,CAAC,CAAC;IAClB,SAAS;IACT;IACA,QAAQ,UAAU,GAAG,SAAS,OAAO,EAAE;IACvC,YAAY,aAAa,GAAG,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3D,YAAY,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IAC/C,YAAY,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;IAC9C,gBAAgB,QAAQ,CAAC,WAAW,CAAC,CAAC;IACtC,aAAa,MAAM;IACnB,gBAAgB,QAAQ,CAAC,WAAW,CAAC,CAAC;IACtC,aAAa;IACb,SAAS;IACT,QAAQ,cAAc,GAAG,SAAS,CAAC,EAAE;IACrC,YAAY,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;IACrE,gBAAgB,aAAa,GAAG,MAAM,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC;IAC5D,aAAa,MAAM;IACnB,gBAAgB,OAAO;IACvB,aAAa;IACb,YAAY,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IAC/C,YAAY,QAAQ,CAAC,WAAW,CAAC,CAAC;IAClC,YAAY,kBAAkB,CAAC,IAAI,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACtD,SAAS;IACT,QAAQ,cAAc,GAAG,SAAS,CAAC,EAAE;IACrC,YAAY,GAAG,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;IACnE,gBAAgB,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;IACzE,oBAAoB,aAAa,GAAG,MAAM,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC;IAChE,iBAAiB,MAAM;IACvB,oBAAoB,aAAa,GAAG,MAAM,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,YAAY,CAAC,CAAC;IAC9E,iBAAiB;IACjB,aAAa,MAAM;IACnB,gBAAgB,OAAO;IACvB,aAAa;IACb;IACA,YAAY,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IAC/C,YAAY,QAAQ,CAAC,WAAW,CAAC,CAAC;IAClC,YAAY,kBAAkB,CAAC,IAAI,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACtD,SAAS;IACT,QAAQ,eAAe,GAAG,SAAS,CAAC,EAAE;IACtC,YAAY,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;IACrE,gBAAgB,aAAa,GAAG,MAAM,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC;IAC5D,aAAa,MAAM;IACnB,gBAAgB,OAAO;IACvB,aAAa;IACb,YAAY,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IAC/C,YAAY,QAAQ,CAAC,WAAW,CAAC,CAAC;IAClC,YAAY,kBAAkB,CAAC,IAAI,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACtD,SAAS;IACT,QAAQ,QAAQ,GAAG,SAAS,WAAW,EAAE;IACzC,YAAY,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;IACpF,YAAY,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrD,YAAY,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChD,YAAY,WAAW,CAAC,cAAc,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IAC/D,YAAY,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;IACrF,YAAY,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACvC,SAAS;IACT,QAAQ,QAAQ,GAAG,SAAS,WAAW,EAAE;IACzC,YAAY,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;IACpF,YAAY,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxD,YAAY,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnD,YAAY,WAAW,CAAC,cAAc,CAAC,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IAChE,YAAY,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;IACrF,YAAY,WAAW,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;IACxC,SAAS,CAAC;AACV;AACA;IACA,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,kBAAkB,CAAC,KAAK,IAAI,EAAE;AACvD;IACA,QAAQ,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;AAClE;IACA,QAAQ,GAAG,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,MAAM,EAAE;IAC7D,YAAY,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;IAC7E,YAAY,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC1C,YAAY,aAAa,GAAG,IAAI,CAAC;IACjC,SAAS,MAAM;IACf,YAAY,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;IACtE,YAAY,aAAa,GAAG,UAAU,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IACpE,YAAY,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;IACpE,gBAAgB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC7D,aAAa;IACb,SAAS;IACT;IACA,KAAK;AACL;IACA;IACA,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;AAChD;IACA,QAAQ,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IACpD,QAAQ,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;AACtD;IACA,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,MAAM,EAAE;IACtD,YAAY,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;IAC/C,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IAC7D,gBAAgB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;IACnD,aAAa;IACb,YAAY,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpD,YAAY,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACvD,YAAY,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS;IACT,KAAK;IACL,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;AAChD;IACA,QAAQ,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;AACpD;IACA,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,MAAM,EAAE;IACtD,YAAY,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;IACtE,YAAY,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;IACnC,YAAY,UAAU,GAAG,IAAI,CAAC;IAC9B,YAAY,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,MAAM;IACf;IACA,YAAY,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;IACnC,YAAY,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IAChE,SAAS;IACT,KAAK;IACL,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE;IAClD;IACA,QAAQ,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;AACpD;IACA,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,MAAM,EAAE;IACpD,YAAY,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;IACpE,YAAY,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACjC,YAAY,IAAI,GAAG,IAAI,CAAC;IACxB,SAAS;IACT,KAAK;IACL,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE;AACnD;IACA,QAAQ,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;AAC1D;IACA,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,MAAM,EAAE;IACzD,YAAY,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;IACzE,YAAY,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;IACtC,YAAY,SAAS,GAAG,IAAI,CAAC;IAC7B,SAAS;IACT,KAAK;AACL;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;AACA;IACA;IACA,IAAI,IAAI,EAAE,cAAc,IAAI,OAAO,CAAC,EAAE;IACtC,QAAQ,GAAG,MAAM,EAAE;IACnB,YAAY,EAAE,UAAU,IAAI,UAAU,CAAC,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACvF,YAAY,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IAClE,YAAY,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IAClE,SAAS;IACT,QAAQ,GAAG,aAAa,EAAE;IAC1B,YAAY,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;IAC3E,SAAS;IACT,QAAQ,IAAI,SAAS,EAAE;IACvB,YAAY,SAAS,CAAC,cAAc,GAAG,sBAAsB,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;IAChG,YAAY,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IACrE,gBAAgB,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;IAChI;IACA,gBAAgB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;IAC7D,oBAAoB,MAAM;IAC1B,iBAAiB;IACjB,gBAAgB,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IACnG,gBAAgB,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IACjG,gBAAgB,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;IACpG,gBAAgB,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IAC3F,gBAAgB,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;AAC3F;IACA,gBAAgB,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,WAAW;IAC1E,oBAAoB,IAAI,GAAG,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;IAChF,wBAAwB,MAAM,GAAG,EAAE,CAAC;IACpC,oBAAoB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE;IAC5D,wBAAwB,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;IAClD,yBAAyB,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG;IAC9D,wBAAwB,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,wBAAwB,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,qBAAqB;IACrB,oBAAoB,OAAO,MAAM,CAAC;IAClC,iBAAiB,GAAG,CAAC;IACrB,aAAa,AACb,SAAS;IACT,KAAK;AACL;IACA,IAAI,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IACnC;;KAAC,DClUc,SAAS,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE;IACjD;AACA;IACA;IACA,IAAI,OAAO,GAAG,OAAO,YAAY,WAAW,GAAG,OAAO,IAAI,WAAW;IACrE,QAAQ,OAAO;IACf,KAAK,CAAC,CAAC;AACP;IACA;IACA,IAAI,IAAI,QAAQ;IAChB,QAAQ,OAAO,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;IACjF,QAAQ,UAAU,GAAG,QAAQ;IAC7B,QAAQ,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,OAAO,GAAG,UAAU;IACtF,QAAQ,YAAY;IACpB;IACA,QAAQ,SAAS,GAAG,YAAY;IAChC,QAAQ,YAAY,GAAG,QAAQ;IAC/B,QAAQ,mBAAmB,GAAG,qBAAqB;IACnD,QAAQ,SAAS,GAAG,MAAM,GAAG,MAAM;IACnC,QAAQ,YAAY,GAAG,CAAC,CAAC;AACzB;IACA,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE;IACzD,QAAQ,OAAO,GAAG,IAAI,CAAC;IACvB,KAAK;AACL;IACA,IAAI,IAAI,CAAC,KAAK,EAAE;IAChB,QAAQ,OAAO;IACf,KAAK;AACL;IACA;IACA,IAAI,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;AAC5B;IACA,IAAI,IAAI,CAAC,UAAU,CAAC;IACpB,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,KAAK;IACnC,MAAM,KAAK,CAAC,cAAc,CAAC,CAAC,eAAe,CAAC,KAAK,OAAO;IACxD,YAAY,KAAK;IACjB,YAAY,IAAI,CAAC;IACjB,IAAI,IAAI,CAAC,UAAU,CAAC;IACpB,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,YAAY;IAC1C,MAAM,KAAK,CAAC,cAAc,CAAC,CAAC,eAAe,CAAC,KAAK,YAAY;IAC7D,YAAY,YAAY;IACxB,YAAY,IAAI,CAAC;IACjB,IAAI,IAAI,CAAC,UAAU,CAAC;IACpB,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,KAAK;IACnC,MAAM,KAAK,CAAC,cAAc,CAAC,CAAC,eAAe,CAAC,KAAK,OAAO;IACxD,YAAY,KAAK;IACjB,YAAY,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7B,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACzC;IACA;IACA,IAAI,IAAI,IAAI,GAAG,IAAI;IACnB,QAAQ,aAAa,GAAG,IAAI;IAC5B,QAAQ,iBAAiB;IACzB,QAAQ,kBAAkB;IAC1B,QAAQ,cAAc;IACtB,QAAQ,OAAO;IACf;IACA,QAAQ,UAAU,GAAG,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,MAAM;IACrE,YAAY,sBAAsB,CAAC,IAAI,EAAE,cAAc,CAAC;IACxD,SAAS;IACT;IACA,QAAQ,cAAc,GAAG,WAAW;IACpC,YAAY,IAAI,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC;IAC3D,YAAY;IACZ,gBAAgB,YAAY,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1F,cAAc;IACd,SAAS;IACT,QAAQ,YAAY,GAAG,WAAW;IAClC,YAAY,IAAI,SAAS,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvE,gBAAgB,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC;IAC1E,YAAY,IAAI,iBAAiB,EAAE;IACnC,gBAAgB,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,GAAG,OAAO,GAAG,cAAc,GAAG,IAAI,CAAC;IACvF,gBAAgB,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE;IACxC,oBAAoB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE;IACjE,wBAAwB,OAAO,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IAChG,wBAAwB,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,cAAc,GAAG,IAAI,CAAC;IAC3G,qBAAqB;IACrB,iBAAiB;IACjB,aAAa;IACb,SAAS;IACT,QAAQ,cAAc,GAAG,WAAW;IACpC,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;IACtD,YAAY,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE;IACpC,gBAAgB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE;IAC7D,oBAAoB,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;IAChE,iBAAiB;IACjB,aAAa;IACb,SAAS;IACT,QAAQ,gBAAgB,GAAG,WAAW;IACtC;IACA,YAAY,IAAI,SAAS,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC;IACvD,gBAAgB,cAAc,CAAC;IAC/B,YAAY,SAAS,CAAC,SAAS,GAAG,SAAS,GAAG,oBAAoB,CAAC;IACnE,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC;IAClD,YAAY,cAAc,GAAG,SAAS,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;IACjF,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC/C,YAAY,OAAO,cAAc,CAAC;IAClC,SAAS;IACT,QAAQ,cAAc,GAAG,WAAW;IACpC,YAAY,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,GAAG,cAAc,EAAE,CAAC;IAC9E,YAAY,kBAAkB,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9E,YAAY,cAAc,GAAG,gBAAgB,EAAE,CAAC;IAChD,SAAS;IACT,QAAQ,YAAY,GAAG,WAAW;IAClC,YAAY,KAAK,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC;IACzC,YAAY,CAAC,iBAAiB,IAAI,kBAAkB,GAAG,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;IAClF,YAAY,KAAK,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC;IAC1C,YAAY,iBAAiB,IAAI,CAAC,kBAAkB,GAAG,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;IAClF,SAAS;IACT,QAAQ,gBAAgB,GAAG,WAAW;IACtC,YAAY,KAAK,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;IAC/C,YAAY,KAAK,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;IAChD,SAAS;IACT,QAAQ,aAAa,GAAG,WAAW;IACnC,YAAY,YAAY,GAAG,CAAC,CAAC;AAC7B;IACA,YAAY,IAAI,UAAU,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC;IACzD,YAAY,OAAO,GAAG,GAAG,CAAC,gBAAgB,CAAC,GAAG,GAAG,mBAAmB,CAAC,CAAC;AACtE;IACA,YAAY,IAAI,OAAO,KAAK,IAAI,EAAE;IAClC,gBAAgB,UAAU,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,mBAAmB,GAAG,YAAY,CAAC,CAAC;IACxF,gBAAgB,OAAO,GAAG,UAAU,CAAC;IACrC,gBAAgB,GAAG,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC;IACpD,aAAa;IACb,SAAS;IACT,QAAQ,aAAa,GAAG,WAAW;IACnC,YAAY,OAAO,GAAG,GAAG,CAAC,gBAAgB,CAAC,GAAG,GAAG,mBAAmB,CAAC,CAAC;IACtE,YAAY,IAAI,OAAO,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;IAC5E,gBAAgB,YAAY,GAAG,CAAC,CAAC;IACjC,gBAAgB,GAAG,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACjD,gBAAgB,OAAO,GAAG,IAAI,CAAC;IAC/B,aAAa;IACb,YAAY,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAClE,SAAS;IACT,QAAQ,oBAAoB,GAAG,WAAW;IAC1C,YAAY,IAAI,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,EAAE;IACxD,gBAAgB,GAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IACnE,aAAa,MAAM;IACnB,gBAAgB,GAAG,CAAC,mBAAmB,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IACtE,aAAa;IACb,SAAS;IACT,QAAQ,mBAAmB,GAAG,WAAW;IACzC,YAAY,IAAI,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,EAAE;IACxD,gBAAgB,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5E,aAAa,MAAM;IACnB,gBAAgB,YAAY,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC/E,aAAa;IACb,SAAS;IACT,QAAQ,oBAAoB,GAAG,WAAW;IAC1C,YAAY,IAAI,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,EAAE;IACxD,gBAAgB,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IACvE,aAAa,MAAM;IACnB,gBAAgB,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IAC1E,aAAa;IACb,SAAS;IACT;IACA,QAAQ,WAAW,GAAG,WAAW;IACjC,YAAY,mBAAmB,EAAE,CAAC;IAClC,YAAY,oBAAoB,EAAE,CAAC;IACnC,YAAY,oBAAoB,EAAE,CAAC;IACnC,YAAY,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;IAC5D,YAAY,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAChF,SAAS;IACT,QAAQ,WAAW,GAAG,WAAW;IACjC,YAAY,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC;IACxC,YAAY,OAAO,IAAI,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;AAC7E;IACA,YAAY,CAAC,WAAW;IACxB,gBAAgB,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,SAAS,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;IAClF,oBAAoB,gBAAgB,EAAE,CAAC;IACvC,oBAAoB,cAAc,EAAE,CAAC;IACrC,oBAAoB,GAAG,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC;IACtE,oBAAoB,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;IAC7E,2BAA2B,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;IAC9D,wBAAwB,oBAAoB,CAAC,OAAO,EAAE,aAAa,CAAC;IACpE,0BAA0B,aAAa,EAAE,CAAC;AAC1C;IACA,oBAAoB,mBAAmB,EAAE,CAAC;IAC1C,oBAAoB,oBAAoB,EAAE,CAAC;IAC3C,oBAAoB,oBAAoB,EAAE,CAAC;IAC3C,iBAAiB;IACjB,aAAa,GAAG,CAAC;IACjB,SAAS;IACT;IACA,QAAQ,YAAY,GAAG,SAAS,CAAC,EAAE;IACnC,YAAY,IAAI,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1C,YAAY,WAAW;IACvB,YAAY,WAAW,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC;IACtD,YAAY,WAAW,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;IAC/C,kBAAkB,WAAW;IAC7B,kBAAkB,WAAW,CAAC,YAAY,CAAC,CAAC;IAC5C,YAAY,IAAI,WAAW,KAAK,OAAO,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE;IACtF,gBAAgB,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC;IAC7C,gBAAgB,aAAa,GAAG,OAAO,CAAC;IACxC,gBAAgB,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,gBAAgB,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC;IACtC,aAAa;IACb,SAAS;IACT,QAAQ,UAAU,GAAG,SAAS,CAAC,EAAE;IACjC,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,EAAE;IAC7F,gBAAgB,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,aAAa;IACb,SAAS;IACT,QAAQ,cAAc,GAAG,SAAS,CAAC,EAAE;IACrC,YAAY,IAAI,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1C,YAAY;IACZ,gBAAgB,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC;IACtD,aAAa,WAAW,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,KAAK,SAAS;IACpF,gBAAgB,WAAW,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,KAAK,SAAS;IACzE,iBAAiB,WAAW,KAAK,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,YAAY,CAAC,CAAC;IAC7E,cAAc;IACd,gBAAgB,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,gBAAgB,aAAa,GAAG,IAAI,CAAC;IACrC,gBAAgB,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC;IACtC,aAAa;IACb,SAAS,CAAC;AACV;IACA;IACA,IAAI,IAAI,CAAC,MAAM,GAAG,WAAW;IAC7B,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,EAAE;IACpD,YAAY,IAAI,CAAC,IAAI,EAAE,CAAC;IACxB,SAAS,MAAM;IACf,YAAY,IAAI,CAAC,IAAI,EAAE,CAAC;IACxB,SAAS;IACT,KAAK,CAAC;IACN,IAAI,IAAI,CAAC,IAAI,GAAG,WAAW;IAC3B,QAAQ,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;AAC3E;IACA;IACA,QAAQ,IAAI,WAAW,GAAG,sBAAsB;IAChD,YAAY,GAAG;IACf,YAAY,SAAS,GAAG,GAAG,GAAG,SAAS;IACvC,SAAS,CAAC,CAAC,CAAC,CAAC;IACb,QAAQ,WAAW;IACnB,QAAQ,WAAW,KAAK,KAAK;IAC7B,QAAQ,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AACjD;IACA,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE;IAC9B,YAAY,CAAC,YAAY,IAAI,aAAa,EAAE,CAAC;IAC7C,SAAS;AACT;IACA,QAAQ,IAAI,OAAO,IAAI,YAAY,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE;IACpF,YAAY,OAAO,CAAC,aAAa,CAAC,CAAC;IACnC,YAAY,YAAY,GAAG,gCAAgC,CAAC,OAAO,CAAC,CAAC;IACrE,YAAY,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7C,SAAS;AACT;IACA,QAAQ,UAAU;IAClB,YAAY,WAAW;IACvB,gBAAgB,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;AACjD;IACA,gBAAgB,cAAc,EAAE,CAAC;IACjC,gBAAgB,YAAY,EAAE,CAAC;IAC/B,gBAAgB,YAAY,EAAE,CAAC;AAC/B;IACA,gBAAgB,GAAG,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC;IAC/D,gBAAgB,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/C,gBAAgB,KAAK,CAAC,cAAc,CAAC,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAC5D;IACA,gBAAgB,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;IACzD,sBAAsB,oBAAoB,CAAC,KAAK,EAAE,WAAW,CAAC;IAC9D,sBAAsB,WAAW,EAAE,CAAC;IACpC,aAAa;IACb,YAAY,kBAAkB,IAAI,OAAO,GAAG,YAAY,GAAG,CAAC;IAC5D,SAAS,CAAC;IACV,KAAK,CAAC;IACN,IAAI,IAAI,CAAC,IAAI,GAAG,WAAW;IAC3B,QAAQ,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC5D,QAAQ,OAAO,GAAG,GAAG,CAAC,gBAAgB,CAAC,GAAG,GAAG,mBAAmB,CAAC,CAAC;IAClE,QAAQ,YAAY,GAAG,OAAO,IAAI,gCAAgC,CAAC,OAAO,CAAC,CAAC;AAC5E;IACA,QAAQ,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC1C,QAAQ,KAAK,CAAC,cAAc,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;AACnD;IACA,QAAQ,UAAU;IAClB,YAAY,WAAW;IACvB,gBAAgB,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC;IAC3D,sBAAsB,oBAAoB,CAAC,KAAK,EAAE,WAAW,CAAC;IAC9D,sBAAsB,WAAW,EAAE,CAAC;IACpC,aAAa;IACb,YAAY,kBAAkB,IAAI,OAAO,GAAG,YAAY,GAAG,CAAC;IAC5D,SAAS,CAAC;IACV,KAAK,CAAC;IACN,IAAI,IAAI,CAAC,UAAU,GAAG,SAAS,OAAO,EAAE;IACxC,QAAQ,KAAK,CAAC,aAAa,CAAC,GAAG,GAAG,SAAS,GAAG,UAAU,CAAC,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC;IACjF,KAAK,CAAC;IACN,IAAI,IAAI,CAAC,MAAM,GAAG,WAAW;IAC7B,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,EAAE;IACpD,YAAY,cAAc,EAAE,CAAC;IAC7B,YAAY,YAAY,EAAE,CAAC;IAC3B,YAAY,YAAY,EAAE,CAAC;IAC3B,SAAS;IACT,KAAK,CAAC;AACN;IACA;IACA;IACA;IACA,IAAI,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,OAAO,IAAI,OAAO,CAAC,EAAE;IAC5C,QAAQ,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IAC/D,KAAK;IACL;IACA,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IACvB,QAAQ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACzC,KAAK;IACL,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IAC3C,CAAC;;ICjTc,SAAS,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE;IAClD;IACA,IAAI,OAAO,GAAG,OAAO,YAAY,WAAW,GAAG,OAAO,IAAI,WAAW;IACrE,QAAQ,OAAO;IACf,KAAK,CAAC,CAAC;AACP;IACA;IACA,IAAI,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;AAC5B;IACA;IACA,IAAI,IAAI,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC;IAC7D,QAAQ,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,gBAAgB,CAAC;IACjE,QAAQ,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,gBAAgB,CAAC;IACjE,QAAQ,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,kBAAkB,CAAC;IACrE,QAAQ,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC;IACzD,QAAQ,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,gBAAgB,CAAC;IACjE;IACA,QAAQ,SAAS,GAAG,cAAc;IAClC,QAAQ,IAAI,GAAG,WAAW;IAC1B,QAAQ,QAAQ,GAAG,oDAAoD;IACvE;IACA,QAAQ,gBAAgB,GAAG,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACrE,QAAQ,oBAAoB,GAAG,GAAG,CAAC,gBAAgB,CAAC,aAAa,CAAC;IAClE;IACA,QAAQ,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC;IAClD,QAAQ,UAAU,GAAG,cAAc,IAAI,GAAG,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC;IACrG;IACA,QAAQ,cAAc,GAAG,UAAU,CAAC,OAAO,EAAE,GAAG,GAAG,WAAW,CAAC;IAC/D,QAAQ,iBAAiB,GAAG,UAAU,CAAC,OAAO,EAAE,GAAG,GAAG,cAAc,CAAC,CAAC;AACtE;IACA;IACA,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IACxE,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IACxC,UAAU,OAAO,CAAC,SAAS,CAAC;IAC5B,UAAU,WAAW,IAAI,OAAO,CAAC;IACjC,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,KAAK,IAAI;IAC7E,UAAU,OAAO,CAAC,WAAW,CAAC;IAC9B,UAAU,aAAa,IAAI,IAAI,CAAC;IAChC,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IAC5C,UAAU,OAAO,CAAC,WAAW,CAAC;IAC9B,UAAU,aAAa,IAAI,GAAG,CAAC;IAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC;IACnE,IAAI,IAAI,CAAC,aAAa,CAAC;IACvB,MAAM,OAAO,CAAC,aAAa,CAAC,IAAI,eAAe,KAAK,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC;IAC1E,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,gBAAgB;IACxC,UAAU,gBAAgB;IAC1B,UAAU,oBAAoB;IAC9B,cAAc,oBAAoB;IAClC,cAAc,cAAc;IAC5B,kBAAkB,cAAc;IAChC,kBAAkB,iBAAiB;IACnC,sBAAsB,iBAAiB;IACvC,sBAAsB,KAAK;IAC3B,0BAA0B,KAAK;IAC/B,0BAA0B,GAAG,CAAC,MAAM,CAAC,CAAC;AACtC;IACA;IACA,IAAI,IAAI,IAAI,GAAG,IAAI;IACnB,QAAQ,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,IAAI,IAAI;IACnE,QAAQ,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC;AACxE;IACA,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO;AACpD;IACA;IACA,IAAI,IAAI,OAAO,GAAG,IAAI;IACtB,QAAQ,KAAK,GAAG,CAAC;IACjB,QAAQ,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC;IAC5C;IACA,QAAQ,kBAAkB,GAAG,SAAS,CAAC,EAAE;IACzC,YAAY,IAAI,OAAO,KAAK,IAAI;IAChC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE;IACtE,gBAAgB,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,aAAa;IACb,SAAS;IACT;IACA,QAAQ,aAAa,GAAG,WAAW;IACnC,YAAY,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACnD,YAAY,KAAK,GAAG,IAAI,CAAC;IACzB,YAAY,OAAO,GAAG,IAAI,CAAC;IAC3B,SAAS;IACT,QAAQ,aAAa,GAAG,WAAW;IACnC,YAAY,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,CAAC;IAChE,YAAY,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,CAAC;AACpE;IACA,YAAY,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC;AAClD;IACA;IACA,YAAY,IAAI,YAAY,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC;IAC3D,YAAY,YAAY,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3D,YAAY,OAAO,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,CAAC;AACjD;IACA,YAAY,IAAI,aAAa,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;IACrE;AACA;IACA,gBAAgB,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAC3D;IACA,gBAAgB,IAAI,WAAW,KAAK,IAAI,EAAE;IAC1C,oBAAoB,IAAI,YAAY,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC;IAClE,oBAAoB,YAAY,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC;AACjF;IACA,oBAAoB,YAAY,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;IACnE,0BAA0B,WAAW,GAAG,QAAQ;IAChD,0BAA0B,WAAW,CAAC;IACtC,oBAAoB,OAAO,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,CAAC;IACzD,iBAAiB;AACjB;IACA;IACA,gBAAgB,IAAI,cAAc,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC;IACjE,gBAAgB,cAAc,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC;IAC7E,gBAAgB,cAAc,CAAC,WAAW,CAAC;IAC3C,oBAAoB,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,KAAK,IAAI;IAC/D,0BAA0B,aAAa,GAAG,QAAQ;IAClD,0BAA0B,aAAa,CAAC;IACxC,gBAAgB,OAAO,CAAC,aAAa,CAAC,CAAC,cAAc,CAAC,CAAC;IACvD,aAAa,MAAM;IACnB;IACA,gBAAgB,IAAI,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC;IAClE,gBAAgB,eAAe,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IAChE,gBAAgB,OAAO,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC/E,aAAa;AACb;IACA;IACA,YAAY,IAAI,CAAC,WAAW,CAAC,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC;IACtD,YAAY,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;IAC/C,YAAY,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACzH,SAAS;IACT,QAAQ,WAAW,GAAG,WAAW;IACjC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpG,SAAS;IACT,QAAQ,aAAa,GAAG,WAAW;IACnC,YAAY,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5E,SAAS;IACT;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,QAAQ,WAAW,GAAG,WAAW;IACjC;AACA;IACA,YAAY,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;IAC1E,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3F,aAAa;IACb,YAAY,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAC;IAC5F,YAAY,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACtE;IACA,YAAY,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IACnE,SAAS;IACT,QAAQ,WAAW,GAAG,WAAW;IACjC;AACA;IACA,YAAY,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;IAC1E,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3F,aAAa;IACb,YAAY,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAC;IAC5F,YAAY,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACtE;AACA;IACA,YAAY,aAAa,EAAE,CAAC;IAC5B,YAAY,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACpE,SAAS,CAAC;AACV;IACA;IACA,IAAI,IAAI,CAAC,MAAM,GAAG,WAAW;IAC7B,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE;IAC9B,YAAY,IAAI,CAAC,IAAI,EAAE,CAAC;IACxB,SAAS,MAAM;IACf,YAAY,IAAI,CAAC,IAAI,EAAE,CAAC;IACxB,SAAS;IACT,KAAK,CAAC;IACN,IAAI,IAAI,CAAC,IAAI,GAAG,WAAW;IAC3B,QAAQ,YAAY,CAAC,KAAK,CAAC,CAAC;IAC5B,QAAQ,KAAK,GAAG,UAAU,CAAC,WAAW;IACtC,YAAY,IAAI,OAAO,KAAK,IAAI,EAAE;IAClC,gBAAgB,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IACrD,gBAAgB,aAAa,EAAE,CAAC;IAChC,gBAAgB,aAAa,EAAE,CAAC;IAChC,gBAAgB,WAAW,EAAE,CAAC;IAC9B,gBAAgB,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACtE;IACA,gBAAgB,IAAI,CAAC,WAAW,CAAC;IACjC,sBAAsB,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC;IAChE,sBAAsB,WAAW,EAAE,CAAC;IACpC,aAAa;IACb,SAAS,EAAE,EAAE,CAAC,CAAC;IACf,KAAK,CAAC;IACN,IAAI,IAAI,CAAC,IAAI,GAAG,WAAW;IAC3B,QAAQ,YAAY,CAAC,KAAK,CAAC,CAAC;IAC5B,QAAQ,KAAK,GAAG,UAAU,CAAC,WAAW;IACtC,YAAY,IAAI,OAAO,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAC9F,gBAAgB,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACtE,gBAAgB,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAC1D;IACA,gBAAgB,IAAI,CAAC,WAAW,CAAC;IACjC,sBAAsB,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC;IAChE,sBAAsB,WAAW,EAAE,CAAC;IACpC,aAAa;IACb,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1B,KAAK,CAAC;AACN;IACA;IACA,IAAI,IAAI,EAAE,SAAS,IAAI,OAAO,CAAC,EAAE;IACjC;IACA,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,OAAO,EAAE;IACzC,YAAY,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtE,YAAY,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;IACtC,gBAAgB,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1E,aAAa;IACb,SAAS,MAAM,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;IAC7E,YAAY,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC1E,SAAS;IACT,KAAK;IACL,IAAI,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IAC9B,CAAC;;ICzNc,SAAS,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE;IACpD;IACA,IAAI,OAAO,GAAG,OAAO,YAAY,WAAW,GAAG,OAAO,IAAI,WAAW;IACrE,QAAQ,OAAO;IACf,KAAK,CAAC,CAAC;AACP;IACA;IACA,IAAI,IAAI,UAAU,GAAG,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC,CAAC;IACjF,QAAQ,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC,CAAC;AAC5D;IACA;IACA,IAAI,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IAC5B,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE;IAC3C,QAAQ,OAAO;IACf,KAAK;AACL;IACA;IACA,IAAI,IAAI,IAAI,GAAG,IAAI;IACnB,QAAQ,eAAe,GAAG,WAAW;IACrC,QAAQ,SAAS;IACjB,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,UAAU;IACpF,QAAQ,KAAK,GAAG,SAAS,IAAI,SAAS,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC;IACnE,QAAQ,MAAM,GAAG,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE;IAChE,QAAQ,KAAK,GAAG,EAAE;IAClB,QAAQ,WAAW,GAAG,EAAE;IACxB,QAAQ,YAAY;IACpB,QAAQ,YAAY;IACpB,QAAQ,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,GAAG,YAAY;IAClF,QAAQ,QAAQ,GAAG,YAAY,KAAK,YAAY,CAAC;AACjD;IACA;IACA,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;IACrD,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;IACnD,YAAY,UAAU;IACtB,YAAY,IAAI;IAChB,YAAY,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG;IAClC,YAAY,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;IAClC,YAAY,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACvC,QAAQ,IAAI,UAAU,EAAE;IACxB,YAAY,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,YAAY,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;IAC5C,SAAS;IACT,KAAK;AACL;IACA;IACA,IAAI,IAAI,UAAU,GAAG,SAAS,KAAK,EAAE;IACrC,YAAY,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;IACnC,gBAAgB,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC;IAC/C,gBAAgB,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC;IAC3D,gBAAgB,YAAY;IAC5B,YAAY,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC;IAC/D,YAAY,QAAQ,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACpD,gBAAgB,UAAU,GAAG,QAAQ,IAAI,UAAU,CAAC,uBAAuB,CAAC,EAAE;IAC9E,gBAAgB,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,KAAK;IACjF,gBAAgB,OAAO;IACvB,gBAAgB,CAAC,QAAQ;IACzB,sBAAsB,UAAU,CAAC,GAAG,CAAC,GAAG,YAAY;IACpD,sBAAsB,UAAU,CAAC,WAAW,CAAC,IAAI,MAAM;IACvD,gBAAgB,UAAU,GAAG,QAAQ;IACrC,sBAAsB,UAAU,CAAC,QAAQ,CAAC,GAAG,YAAY,GAAG,MAAM;IAClE,sBAAsB,WAAW,CAAC,KAAK,GAAG,CAAC,CAAC;IAC5C,0BAA0B,WAAW,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,MAAM;IACtE,0BAA0B,OAAO,CAAC,cAAc,CAAC;IACjD,gBAAgB,MAAM,GAAG,YAAY,IAAI,OAAO,IAAI,UAAU,GAAG,YAAY,CAAC;AAC9E;IACA,YAAY,IAAI,CAAC,QAAQ,IAAI,MAAM,EAAE;IACrC,gBAAgB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,GAAG;IACvE,oBAAoB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC;IAC1D,oBAAoB,IAAI,YAAY,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,GAAG;IACnG,wBAAwB,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC;IACtE,qBAAqB;IACrB,oBAAoB,oBAAoB,CAAC,IAAI;IAC7C,wBAAwB,OAAO;IAC/B,wBAAwB,UAAU;IAClC,wBAAwB,WAAW;IACnC,wBAAwB,KAAK,CAAC,KAAK,CAAC;IACpC,qBAAqB,CAAC;IACtB,iBAAiB;IACjB,aAAa,MAAM,IAAI,CAAC,MAAM,EAAE;IAChC,gBAAgB,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,EAAE;IACnE,oBAAoB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC;IAC7D,oBAAoB;IACpB,wBAAwB,YAAY;IACpC,gBAAgB,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC;IACrE,gBAAgB,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,MAAM;IACrF,sBAAsB;IACtB,wBAAwB,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC;IACzE,qBAAqB;IACrB,iBAAiB;IACjB,aAAa,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,MAAM,QAAQ,IAAI,MAAM,CAAC,EAAE;IACvE,gBAAgB,OAAO;IACvB,aAAa;IACb,SAAS;IACT,QAAQ,WAAW,GAAG,WAAW;IACjC,YAAY,YAAY,GAAG,QAAQ,GAAG,SAAS,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3E,YAAY,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE;IAC3E,gBAAgB,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,aAAa;IACb,SAAS,CAAC;AACV;IACA;IACA,IAAI,IAAI,CAAC,OAAO,GAAG,WAAW;IAC9B,QAAQ,WAAW,EAAE,CAAC;IACtB,KAAK,CAAC;AACN;IACA;IACA,IAAI,IAAI,EAAE,eAAe,IAAI,OAAO,CAAC,EAAE;IACvC;IACA,QAAQ,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACrE,QAAQ,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACrE,KAAK;IACL,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;IACnB,IAAI,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;IACpC;;KAAC,DCjHc,SAAS,GAAG,CAAC,OAAO,EAAE;AACrC;IACA,IAAI,OAAO,GAAG,OAAO,YAAY,WAAW,GAAG,OAAO,IAAI,WAAW;IACrE,QAAQ,OAAO;IACf,KAAK,CAAC,CAAC;AACP;IACA,IAAI,IAAI,OAAO,GAAG,QAAQ,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACpE,QAAQ,IAAI;IACZ,QAAQ,MAAM;IACd,QAAQ,KAAK,GAAG,cAAc,EAAE,CAAC;AACjC;IACA;IACA,IAAI,IAAI,IAAI,GAAG;IACf,QAAQ,GAAG,EAAE,EAAE;IACf,QAAQ,IAAI,EAAE,EAAE;IAChB,QAAQ,IAAI,EAAE,EAAE;IAChB,QAAQ,EAAE,EAAE,EAAE;IACd,QAAQ,KAAK,EAAE,EAAE;IACjB,QAAQ,IAAI,EAAE,EAAE;IAChB,QAAQ,MAAM,EAAE,EAAE;IAClB,KAAK,CAAC;AACN;IACA;IACA,IAAI,IAAI,SAAS,GAAG;IACpB,QAAQ,EAAE,EAAE,CAAC,CAAC;IACd,QAAQ,EAAE,EAAE,CAAC,CAAC;IACd,QAAQ,EAAE,EAAE,CAAC;IACb,QAAQ,EAAE,EAAE,CAAC;IACb,KAAK,CAAC;AACN;IACA;IACA,IAAI,YAAY,EAAE,CAAC;AACnB;IACA,IAAI,SAAS,YAAY,IAAI;IAC7B,QAAQ,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IAClE,QAAQ,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAC9D,QAAQ,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAC9D,KAAK;AACL;IACA;IACA,IAAI,SAAS,kBAAkB,EAAE,KAAK,EAAE;IACxC,QAAQ,IAAI,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC7D,QAAQ,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChC,KAAK;AACL;IACA;IACA,IAAI,SAAS,oBAAoB,EAAE,KAAK,EAAE;IAC1C,QAAQ,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC;AAChC;IACA,QAAQ,QAAQ,GAAG;IACnB,QAAQ,KAAK,IAAI,CAAC,GAAG;IACrB,YAAY,KAAK,CAAC,cAAc,EAAE,CAAC;IACnC;IACA,YAAY,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/C,YAAY,MAAM;IAClB,QAAQ,KAAK,IAAI,CAAC,IAAI;IACtB,YAAY,KAAK,CAAC,cAAc,EAAE,CAAC;IACnC;IACA,YAAY,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,YAAY,MAAM;AAClB;IACA;IACA;IACA,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC;IACrB,QAAQ,KAAK,IAAI,CAAC,IAAI;IACtB,YAAY,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACxC,YAAY,MAAM;IAClB,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC;IACvB,QAAQ,KAAK,IAAI,CAAC,KAAK;IACvB,YAAY,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACxC,YAAY,MAAM;IAClB,SAAS;IACT,KAAK;AACL;IACA;IACA,IAAI,SAAS,kBAAkB,EAAE,KAAK,EAAE;IACxC,QAAQ,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC;AAChC;IACA,QAAQ,QAAQ,GAAG;IACnB,QAAQ,KAAK,IAAI,CAAC,MAAM;IACxB,YAAY,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACtC,YAAY,MAAM;IAClB,SAAS;IACT,KAAK;AACL;IACA;IACA;IACA;IACA,IAAI,SAAS,oBAAoB,EAAE,KAAK,EAAE;IAC1C,QAAQ,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC;IAChC,QAAQ,IAAI,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAI,UAAU,CAAC;IAC9E,QAAQ,IAAI,OAAO,GAAG,KAAK,CAAC;AAC5B;IACA,QAAQ,IAAI,QAAQ,EAAE;IACtB,YAAY,IAAI,GAAG,KAAK,IAAI,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,CAAC,IAAI,EAAE;IACtD,gBAAgB,KAAK,CAAC,cAAc,EAAE,CAAC;IACvC,gBAAgB,OAAO,GAAG,IAAI,CAAC;IAC/B,aAAa;IACb,SAAS;IACT,aAAa;IACb,YAAY,IAAI,GAAG,KAAK,IAAI,CAAC,IAAI,IAAI,GAAG,KAAK,IAAI,CAAC,KAAK,EAAE;IACzD,gBAAgB,KAAK,CAAC,cAAc,EAAE,CAAC;IACvC,gBAAgB,OAAO,GAAG,IAAI,CAAC;IAC/B,aAAa;IACb,SAAS;AACT;IACA,QAAQ,IAAI,OAAO,EAAE;IACrB,YAAY,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACzC,SAAS;IACT,KAAK;AACL;IACA;IACA,IAAI,SAAS,gBAAgB,CAAC,EAAE,EAAE;IAClC,QAAQ,IAAI,IAAI,GAAG,SAAS,CAAC;IAC7B,QAAQ,OAAO,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE;IACpC,YAAY,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC;IAC/B,YAAY,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;IAC5E,gBAAgB,OAAO,EAAE,CAAC;IAC1B,aAAa;IACb,SAAS;IACT,QAAQ,OAAO,IAAI,CAAC;IACpB,KAAK;AACL;IACA;IACA,IAAI,SAAS,cAAc,EAAE,EAAE,EAAE;IACjC,QAAQ,IAAI,aAAa,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACjD,QAAQ,IAAI,WAAW,GAAG,aAAa,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IAC3E,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IACrD,YAAY,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IACrC,SAAS;IACT,QAAQ,OAAO,WAAW,CAAC;IAC3B,KAAK;AACL;IACA,IAAI,SAAS,gBAAgB,EAAE,GAAG,EAAE;IACpC,QAAQ,IAAI,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IACzD,QAAQ,IAAI,UAAU,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC;IACzE,QAAQ,IAAI,aAAa,GAAG,UAAU,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;AAC1E;IACA,QAAQ,OAAO,aAAa,CAAC;AAC7B;IACA,KAAK;AACL;IACA;IACA;IACA,IAAI,SAAS,qBAAqB,EAAE,KAAK,EAAE;IAC3C,QAAQ,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO;IACnC,YAAY,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAChD;IACA,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IAC9C,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IACjE,SAAS;AACT;IACA,QAAQ,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE;IAChC,YAAY,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IACtC,YAAY,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE;IAC5C,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE;IAC7D,oBAAoB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACpE,iBAAiB;IACjB,qBAAqB,IAAI,OAAO,KAAK,IAAI,CAAC,IAAI,IAAI,OAAO,KAAK,IAAI,CAAC,EAAE,EAAE;IACvE,oBAAoB,YAAY,EAAE,CAAC;IACnC,iBAAiB;IACjB,qBAAqB,IAAI,OAAO,KAAK,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE;IACzE,oBAAoB,aAAa,EAAE,CAAC;IACpC,iBAAiB;IACjB,aAAa;IACb,SAAS;IACT,KAAK;AACL;IACA;IACA,IAAI,SAAS,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE;IACzC,QAAQ,QAAQ,GAAG,QAAQ,IAAI,IAAI,CAAC;AACpC;IACA;IACA,QAAQ,cAAc,CAAC,GAAG,CAAC,CAAC;AAC5B;IACA;IACA,QAAQ,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;AACxC;IACA;IACA,QAAQ,GAAG,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;AAClD;IACA;IACA,QAAQ,IAAI,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;AACzD;IACA,QAAQ,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AACzC;IACA;IACA;IACA,QAAQ,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACvE,QAAQ,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACrE;IACA;IACA,QAAQ,IAAI,QAAQ,EAAE;IACtB,YAAY,GAAG,CAAC,KAAK,EAAE,CAAC;IACxB,SAAS;IACT,KAAK;AACL;IACA;IACA,IAAI,SAAS,cAAc,EAAE,GAAG,EAAE;IAClC,QAAQ,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACnC,QAAQ,MAAM,GAAG,gBAAgB,EAAE,GAAG,CAAC,CAAC;AACxC;IACA,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IAC9C,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACnD,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAC3D,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IACpE,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACpD,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAClD,SAAS;AACT;IACA,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IAChD;IACA,YAAY,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACtD,YAAY,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACpD,SAAS;IACT,KAAK;AACL;IACA;IACA,IAAI,SAAS,aAAa,IAAI;IAC9B,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACxB,KAAK;AACL;IACA;IACA,IAAI,SAAS,YAAY,IAAI;IAC7B,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACtC,KAAK;AACL;IACA;IACA,IAAI,SAAS,kBAAkB,EAAE,KAAK,EAAE;IACxC,QAAQ,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;AAClC;IACA,QAAQ,IAAI,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;IAC5D;IACA,YAAY,SAAS,CAAC,KAAK,AAAQ,CAAC,CAAC;AACrC;IACA;IACA;AACA;IACA;IACA,YAAY,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,EAAE;IACtC,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,aAAa;IACb,iBAAiB;IACjB,gBAAgB,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IACpD,aAAa;IACb,SAAS;IACT,KAAK;AACL;IACA;IACA,IAAI,SAAS,SAAS,EAAE,KAAK,EAAE;IAC/B,QAAQ,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAClC,QAAQ,IAAI,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC;AAClF;IACA,QAAQ,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACjD,QAAQ,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC/C,KAAK;AACL;IACA;IACA;IACA,IAAI,SAAS,cAAc,IAAI;IAC/B,QAAQ,IAAI,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAC1D,QAAQ,IAAI,KAAK,GAAG,CAAC,CAAC;AACtB;IACA,QAAQ,IAAI,QAAQ,EAAE;IACtB,YAAY,IAAI,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAChE,YAAY,IAAI,UAAU,EAAE;IAC5B,gBAAgB,KAAK,GAAG,UAAU,CAAC;IACnC,aAAa;IACb,iBAAiB;IACjB;IACA,gBAAgB,KAAK,GAAG,GAAG,CAAC;IAC5B,aAAa;IACb,SAAS;AACT;IACA,QAAQ,OAAO,KAAK,CAAC;IACrB,KAAK;AACL;IACA;IACA,IAAI,SAAS,iBAAiB,EAAE,KAAK,EAAE;IACvC,QAAQ,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;AAClC;IACA,QAAQ,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACjD,KAAK;AACL;IACA;IACA,IAAI,SAAS,aAAa,EAAE,MAAM,EAAE;IACpC,QAAQ,IAAI,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC;AAC7C;IACA,QAAQ,IAAI,MAAM,KAAK,OAAO,EAAE;IAChC,YAAY,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvC,SAAS;IACT,KAAK;AACL;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;AACA;IACA;IACA,CAAC;;IC/Sc,SAAS,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE;IAClD;IACA,IAAI,OAAO,GAAG,OAAO,YAAY,WAAW,GAAG,OAAO,IAAI,WAAW;IACrE,QAAQ,OAAO;IACf,KAAK,CAAC,CAAC;AACP;IACA;IACA,IAAI,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;AAC5B;IACA;IACA,IAAI,IAAI,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,gBAAgB,CAAC;IACjE,QAAQ,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,gBAAgB,CAAC;IACjE,QAAQ,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC;IACzD,QAAQ,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,gBAAgB,CAAC;IACjE;IACA,QAAQ,aAAa,GAAG,SAAS;IACjC,QAAQ,SAAS,GAAG,SAAS;IAC7B;IACA,QAAQ,gBAAgB,GAAG,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACrE,QAAQ,oBAAoB,GAAG,GAAG,CAAC,gBAAgB,CAAC,aAAa,CAAC;IAClE;IACA,QAAQ,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC;IAClD;IACA,QAAQ,cAAc,GAAG,UAAU,CAAC,OAAO,EAAE,GAAG,GAAG,WAAW,CAAC;IAC/D,QAAQ,iBAAiB,GAAG,UAAU,CAAC,OAAO,EAAE,GAAG,GAAG,cAAc,CAAC;IACrE,QAAQ,UAAU,GAAG,cAAc,IAAI,GAAG,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;AACtG;IACA;IACA,IAAI,IAAI,CAAC,WAAW,CAAC;IACrB,QAAQ,OAAO,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,KAAK,MAAM,GAAG,MAAM;IACxE,cAAc,OAAO,CAAC,WAAW,CAAC;IAClC,cAAc,aAAa,IAAI,MAAM,GAAG,MAAM,CAAC;IAC/C,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IAC5C,UAAU,OAAO,CAAC,WAAW,CAAC;IAC9B,UAAU,aAAa,IAAI,GAAG,CAAC;IAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC;IACnE,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,gBAAgB;IACxC,UAAU,gBAAgB;IAC1B,UAAU,oBAAoB;IAC9B,cAAc,oBAAoB;IAClC,cAAc,cAAc;IAC5B,kBAAkB,cAAc;IAChC,kBAAkB,iBAAiB;IACnC,sBAAsB,iBAAiB;IACvC,sBAAsB,KAAK;IAC3B,0BAA0B,KAAK;IAC/B,0BAA0B,GAAG,CAAC,MAAM,CAAC,CAAC;AACtC;IACA;IACA,IAAI,IAAI,IAAI,GAAG,IAAI;IACnB,QAAQ,KAAK,GAAG,CAAC;IACjB,QAAQ,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC;IAC5C,QAAQ,OAAO,GAAG,IAAI;IACtB,QAAQ,WAAW;IACnB,QAAQ,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC;IACxC,QAAQ,OAAO,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC;IAC7C,QAAQ,OAAO,CAAC,cAAc,CAAC,CAAC,qBAAqB,CAAC,CAAC;AACvD;IACA,IAAI,IAAI,CAAC,WAAW,IAAI,WAAW,IAAI,EAAE,EAAE,OAAO;AAClD;IACA;IACA,IAAI,IAAI,aAAa,GAAG,WAAW;IACnC,YAAY,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACnD,YAAY,OAAO,GAAG,IAAI,CAAC;IAC3B,YAAY,KAAK,GAAG,IAAI,CAAC;IACzB,SAAS;IACT,QAAQ,aAAa,GAAG,WAAW;IACnC,YAAY,WAAW;IACvB,YAAY,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC;IAC5C,YAAY,OAAO,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC;IACjD,YAAY,OAAO,CAAC,cAAc,CAAC,CAAC,qBAAqB,CAAC,CAAC;IAC3D,YAAY,IAAI,CAAC,WAAW,IAAI,WAAW,IAAI,EAAE,EAAE,OAAO,KAAK,CAAC;IAChE,YAAY,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC;IAClD,YAAY,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;AAC9D;IACA;IACA,YAAY,IAAI,YAAY,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC;IAC3D,YAAY,YAAY,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3D,YAAY,OAAO,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,CAAC;AACjD;IACA,YAAY,IAAI,YAAY,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC;IAC3D,YAAY,YAAY,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC;IAC/E,YAAY,OAAO,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,CAAC;IACjD,YAAY,YAAY,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;AACpD;IACA,YAAY,IAAI,CAAC,WAAW,CAAC,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC;IACtD,YAAY,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,GAAG,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;IAC3I,aAAa,CAAC;IACd,SAAS;IACT,QAAQ,aAAa,GAAG,WAAW;IACnC,YAAY,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5E,SAAS;IACT,QAAQ,WAAW,GAAG,WAAW;IACjC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACxG,SAAS;IACT;IACA,QAAQ,WAAW,GAAG,WAAW;IACjC,YAAY,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtE,YAAY,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IACnE,SAAS;IACT,QAAQ,WAAW,GAAG,WAAW;IACjC,YAAY,YAAY,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE,YAAY,aAAa,EAAE,CAAC;IAC5B,YAAY,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACpE,SAAS,CAAC;AACV;IACA;IACA,IAAI,IAAI,CAAC,IAAI,GAAG,WAAW;IAC3B,QAAQ,YAAY,CAAC,KAAK,CAAC,CAAC;IAC5B,QAAQ,KAAK,GAAG,UAAU,CAAC,WAAW;IACtC,YAAY,IAAI,OAAO,KAAK,IAAI,EAAE;IAClC,gBAAgB,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IACrD,gBAAgB,IAAI,aAAa,EAAE,IAAI,KAAK,EAAE,OAAO;IACrD,gBAAgB,aAAa,EAAE,CAAC;IAChC,gBAAgB,WAAW,EAAE,CAAC;IAC9B,gBAAgB,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACtE,gBAAgB,IAAI,CAAC,WAAW,CAAC;IACjC,sBAAsB,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC;IAChE,sBAAsB,WAAW,EAAE,CAAC;IACpC,aAAa;IACb,SAAS,EAAE,EAAE,CAAC,CAAC;IACf,KAAK,CAAC;IACN,IAAI,IAAI,CAAC,IAAI,GAAG,WAAW;IAC3B,QAAQ,YAAY,CAAC,KAAK,CAAC,CAAC;IAC5B,QAAQ,KAAK,GAAG,UAAU,CAAC,WAAW;IACtC,YAAY,IAAI,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE;IAC3E,gBAAgB,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACtE,gBAAgB,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAC1D,gBAAgB,IAAI,CAAC,WAAW,CAAC;IACjC,sBAAsB,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC;IAChE,sBAAsB,WAAW,EAAE,CAAC;IACpC,aAAa;IACb,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1B,KAAK,CAAC;IACN,IAAI,IAAI,CAAC,MAAM,GAAG,WAAW;IAC7B,QAAQ,IAAI,CAAC,OAAO,EAAE;IACtB,YAAY,IAAI,CAAC,IAAI,EAAE,CAAC;IACxB,SAAS,MAAM;IACf,YAAY,IAAI,CAAC,IAAI,EAAE,CAAC;IACxB,SAAS;IACT,KAAK,CAAC;AACN;IACA;IACA,IAAI,IAAI,EAAE,aAAa,IAAI,OAAO,CAAC,EAAE;IACrC;IACA,QAAQ,OAAO,CAAC,cAAc,CAAC,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAAC;IACpE,QAAQ,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IACzC,QAAQ,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClE,QAAQ,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClE,KAAK;AACL;IACA,IAAI,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IAClC,CAAC;;IC3Jc,SAAS,UAAU,CAAC,OAAO,EAAE;IAC5C;IACA,IAAI,OAAO,GAAG,OAAO,YAAY,WAAW,GAAG,OAAO,IAAI,WAAW;IACrE,QAAQ,OAAO;IACf,KAAK,CAAC,CAAC;AACP;IACA;IACA,IAAI,IAAI,IAAI,GAAG,IAAI;IACnB,QAAQ,gBAAgB,GAAG,YAAY;IACvC,QAAQ,YAAY,GAAG,UAAU;IACjC,QAAQ,SAAS,GAAG,OAAO;IAC3B,QAAQ,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;IAClG,QAAQ,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;IAC5F,QAAQ,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IACvE,QAAQ,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IACjE,QAAQ,QAAQ,GAAG,MAAM;IACzB,QAAQ,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC1F;IACA,QAAQ,eAAe,GAAG,SAAS,CAAC,EAAE;IACtC,YAAY,IAAI,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1C,YAAY,GAAG,WAAW,KAAK,QAAQ,EAAE;IACzC,gBAAgB,GAAG,QAAQ,CAAC,aAAa,KAAK,CAAC,EAAE;IACjD,oBAAoB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC1C,iBAAiB,MAAM;IACvB,oBAAoB,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC3C,iBAAiB;IACjB,gBAAgB,IAAI,GAAG,GAAG,SAAS,EAAE,SAAS,EAAE,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;IACnE,gBAAgB,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9C,gBAAgB,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC/C,gBAAgB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACpD,aAAa,MAAM;IACnB,gBAAgB,GAAG,KAAK,CAAC,aAAa,KAAK,CAAC;IAC5C,gBAAgB;IAChB,oBAAoB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzC,oBAAoB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACxD,iBAAiB;IACjB,qBAAoB;IACpB,oBAAoB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC1C,oBAAoB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAC3D,iBAAiB;IACjB,aAAa;IACb,SAAS;IACT,QAAQ,YAAY,GAAG,WAAW;IAClC,YAAY,IAAI,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC;IAChE,YAAY,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9C,YAAY,IAAI,CAAC,KAAK,EAAE,CAAC;IACzB,SAAS;IACT,QAAQ,gBAAgB,GAAG,SAAS,GAAG,EAAE,SAAS,EAAE;IACpD,YAAY,IAAI,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC;IACjC,YAAY,IAAI,SAAS,EAAE;IAC3B,gBAAgB,MAAM,GAAG,GAAG,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAC9D,gBAAgB,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;IACpC,gBAAgB,KAAK,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;IACxC,oBAAoB,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,iBAAiB;IACjB,aAAa;IACb;IACA,YAAY,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;IACrC,YAAY,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;IAChC,gBAAgB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAClD,gBAAgB,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,aAAa;IACb,SAAS;IACT,QAAQ,kBAAkB,GAAG,SAAS,GAAG,EAAE,GAAG,EAAE;IAChD,YAAY,IAAI,CAAC,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;IACtD,YAAY,IAAI,MAAM,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC;IACzC;IACA,YAAY,SAAS,UAAU,CAAC,GAAG,EAAE;IACrC,gBAAgB,IAAI,CAAC,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;IAC1D,gBAAgB,IAAI,CAAC,CAAC;IACtB;IACA,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;IAC/D,oBAAoB,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzD,oBAAoB,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC5E;IACA,oBAAoB,KAAK,GAAG,CAAC,KAAK,GAAG;IACrC,wBAAwB,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/C,qBAAqB;IACrB;IACA,oBAAoB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACrC,iBAAiB;IACjB,gBAAgB,OAAO,CAAC,CAAC;IACzB,aAAa;IACb;IACA,YAAY,KAAK,GAAG,CAAC,IAAI,GAAG;IAC5B,gBAAgB,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IACvC,gBAAgB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACpC,aAAa,MAAM;IACnB,gBAAgB,MAAM,IAAI,IAAI,IAAI,GAAG,GAAG;IACxC,oBAAoB,KAAK,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG;IACpD,wBAAwB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,qBAAqB;IACrB,iBAAiB;IACjB;IACA,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;IAC7D,oBAAoB,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAC/D,oBAAoB,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5C,oBAAoB,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACzC,oBAAoB,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACzD,oBAAoB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC5C,iBAAiB;IACjB,aAAa;IACb,YAAY,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,SAAS,CAAC;AACV;AACA;IACA;IACA,IAAI,IAAI,EAAE,gBAAgB,IAAI,OAAO,CAAC,EAAE;IACxC,QAAQ,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACnD,QAAQ,QAAQ,CAAC,aAAa,GAAG,CAAC,CAAC;IACnC,QAAQ,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;IACpE,QAAQ,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;IACjE,QAAQ,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IAC5D,QAAQ,IAAI,IAAI,GAAG,SAAS,EAAE,SAAS,EAAE,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC5D,QAAQ,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACxC,KAAK;AACL;IACA,IAAI,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;IACrC,CAAC;;ICtGD;IACA,IAAI,IAAI,GAAG,MAAM;IACjB,IAAI,GAAG,IAAI,YAAY,CAAC,GAAG,GAAG,EAAE,CAAC;IACjC,IAAI,QAAQ,GAAG,EAAE,CAAC;AAClB;IACA,IAAI,iBAAiB,GAAG,UAAU,WAAW,EAAE,UAAU,EAAE;IAC3D,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;IACxD,QAAQ,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,KAAK;IACL,CAAC;IACD,IAAI,YAAY,IAAI,GAAG,CAAC,YAAY,GAAG,UAAU,MAAM,EAAE;IACzD,QAAQ,MAAM,GAAG,MAAM,IAAI,GAAG,CAAC;IAC/B,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;IAC1D,YAAY,iBAAiB;IAC7B,gBAAgB,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,gBAAgB,MAAM,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,aAAa,CAAC;IACd,SAAS;IACT,KAAK,CAAC,CAAC;AACP;IACA;IACA,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC;AACpE;IACA;IACA,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC;AACrE;IACA;IACA,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC;AACvE;IACA;IACA,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC;AACzE;IACA;IACA,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,EAAE,iBAAiB,GAAG,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC;AACpF;IACA;IACA,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC;AACzE;IACA;IACA,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC;AACtE;IACA;IACA,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC;AACnE;IACA;IACA,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC;AACvE;IACA;IACA,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC,CAAC;AACvD;IACA;IACA,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;AAC/D;IACA;IACA,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC;AACvE;IACA;IACA,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,iBAAiB,GAAG,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC;AAC7E;IACA;IACA,GAAG,CAAC,IAAI,CAAC,GAAG,YAAY,EAAE,GAAG,GAAG,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,YAAY;IAClF,IAAI,YAAY,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;AACH;IACA,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;;;;"}