customer-chat-sdk 1.2.0 → 1.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- !function(A,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((A="undefined"!=typeof globalThis?globalThis:A||self).CustomerSDK={})}(this,function(A){"use strict";class e{constructor(A,e=!1,t,n){this.iconElement=null,this.badgeElement=null,this.onClickCallback=null,this.notificationCallback=null,this.iconPosition=null,this.debug=!1,this.isClickEnabled=!0,this.target=null,this.isDragging=!1,this.dragStarted=!1,this.dragIntent=!1,this.hasMoved=!1,this.dragOffset={x:0,y:0},this.lastTouchPosition={x:0,y:0},this.touchStartTime=0,this.clickThreshold=15,this.stoppedByIframe=!1,this.cachedContainer=null,this.cachedContainerRect=null,this.cachedIconSize={width:0,height:0},this.lastContainerUpdateTime=0,this.containerUpdateInterval=100,this.cachedIframes=[],this.lastIframeUpdateTime=0,this.iframeUpdateInterval=16,this.rafId=null,this.pendingPosition={x:0,y:0,needsUpdate:!1},this.activeDetectionRafId=null,this.activeDetectionTimeoutId=null,this.lastMousePosition={x:0,y:0,timestamp:0},this.mouseVelocity={vx:0,vy:0},this.onDragHandler=null,this.stopDragHandler=null,this.startDragHandler=null,this.mouseLeaveHandler=null,this.pointerLeaveHandler=null,this.blurHandler=null,this.dragTimeoutId=null,this.mouseLeaveTimeout=null,this.pointerLeaveTimeout=null,this.isStoppingDrag=!1,this.hasLoggedIframeWarning=!1,this.sideAttach=!0,this.sideHideRatio=.5,this.magnetic=!0,this.magneticDirection="x",this.margin=10,this.isAttachedToSide=!1,this.attachedSide="",this.autoAttachDelay=3e3,this.autoAttachTimer=null,this.iconPosition=A||null,this.debug=e,this.target=t||null,n&&(this.sideAttach=void 0===n.sideAttach||n.sideAttach,this.sideHideRatio=void 0!==n.sideHideRatio?n.sideHideRatio:.5,this.magnetic=void 0===n.magnetic||n.magnetic,this.magneticDirection=n.magneticDirection||"x",this.margin=void 0!==n.margin?n.margin:10,this.autoAttachDelay=void 0!==n.autoAttachDelay?n.autoAttachDelay:3e3)}async show(){if(this.iconElement)return;this.iconElement=document.createElement("div"),this.iconElement.className="customer-sdk-icon";const A={position:"absolute",width:"30px",height:"30px",backgroundColor:"transparent",borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer",zIndex:"1000002",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.15)",userSelect:"none",transition:"transform 0.2s ease",border:"none",outline:"none",overflow:"visible",pointerEvents:"none"};if(this.iconPosition)void 0!==this.iconPosition.x?(A.left="number"==typeof this.iconPosition.x?`${this.iconPosition.x}px`:this.iconPosition.x,A.right="auto"):A.right="20px",void 0!==this.iconPosition.y?(A.top="number"==typeof this.iconPosition.y?`${this.iconPosition.y}px`:this.iconPosition.y,A.bottom="auto"):A.bottom="80px";else if(this.sideAttach&&this.magnetic){const e=30*this.sideHideRatio;A.right=`-${e}px`,A.left="auto",A.bottom="80px",A.transform="translateX(0)",this.isAttachedToSide=!0,this.attachedSide="right"}else A.bottom="80px",A.right="20px";if(this.sideAttach&&this.isAttachedToSide&&this.attachedSide){const e=30*this.sideHideRatio;"left"===this.attachedSide?(A.left=`-${e}px`,A.right="auto",A.transform="translateX(0)"):"right"===this.attachedSide&&(A.right=`-${e}px`,A.left="auto",A.transform="translateX(0)")}Object.assign(this.iconElement.style,A);const e=document.createElement("img");e.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAArKSURBVHgB7Z1NbFTXFcf/93mwaGyEabLoIgFTqWRFMZUitSoIu80ial01SFWrKgsGKXYpWdRtFilRK4xUgbKICosmCKIySKCo2UAE6i61XVroDuOoi2YT02RZVFNwQTAzN+e8N88ej9+8j5n3ce5wf5JhPvyY4f3f/9xzz73vXoUeYKish6oljCiFYQ2MaAebVR3D/Jzf1xpDUPTTggIW6feXoOlH0Q9wS9exRK/Pl6qYX6qoJRiOgoEMvqpHWUjlYJ9iQeEJmTb07y6y2CT6HP99/z01C8MwQmB26OMSyuTIH9LTkSA35oLn9FmKCB/WHmP2YUUtQjhiBV4jqsIoJKJJbOC8ZLHFCczhl75UWXvCFuPUDiBXV5TGeWlhXIzALCx9m6Ni3RqfeRL71PJZVYEAChfYdayDc1klSkXBCRr9caxooQsTuIccG4qbiddxsKjQnbvAlDwNVzfgXK8L2wq30ZSMHcs7GctV4IFX9ZTyXGtM8pQq2i2qnCQ3H0NO5CLwk+radnDYrj3CWB5udpAx7FoS96YVdxVy1XCJzgmfG2RMZg5268P9FI6BzP8TRlN3Q/YvkRGZCOyG5H5cApcVLZFkGbJTF3igrEccErfX+rVZk5XIqbbBmyb1y2oDZqy4yfHbZT6HSJHUHDwwqQ/QP1aBpWvIIOXlM+o8UiAVga246ZOWyF0LbMXNjjRE7kpgbi/oS1yCJTNIoP33zqjL6JCOBW5Up24+sWXHvKDyJplojEal5tEBHWXRLG6tHzNW3BxQ7oTBSxvpnKMDOhKYxbVdofxwu1BUW+DqIBKSWODBSf17K24hjFRLbuk3EYkEbhTHbW25KBxMJR2giJ1k2aRKCJR0VR9jd9ySZmwH26RKCKRBicfWYxJLYGp3j9p2VxA0th43VEeGaBuahRIzVEc6uFbCtBVXIDFDdaiDBw/pUdSp7bXIpY6xsCm5oQ5W9fiNuaUgVHjfuK2DN01ovj/IaIE3PwVs/TL9PEOPv7T2vX/fAe7+H/j4c5hPiItLbQ9SyasmRcOCvvJN4OvPAXueB7Y9He+4a/8CFkjoq1TO/9snMA7tuEbcHvReoINNc++eHcCb48De59E1t+94gp+46rncGNq4OFBg6vfehAEzIl/5FnDkB/GdmpQL1w0SWmP2/lk11vryOoFNyJx3Pgu89eN0HBuHP3zkCc1ttmgCXLwui1ZVlCGYw98Brv82P3GZ174L/P031LY/C9FQs3qg9bU1Dm5MWP8UAuEE6v1D+QobxPErnptFQtWt0mNsb14daI2Daxtk3j+09WnPQUWLy7xJbf6RcciEqlu8rknzS2sEpnT7AITB4v759ewSqU6QLHJjJaLV5/4DieFZorjNSA3XpUfY4ofpFQdLDM/vH5YrLsNO5qRPGs1hekVgGu9N9Z6YbuEQKD1rZVjkrcIuwuYw3dwG74MQ+ITxiTMBN7s/DGmsFKlcgd3ihqAxX253TYIjjahQTVq6qxihIbCuyilLcvlRcrvbDo447GYp6IaLXYGVoPUzjhgSmlthcSW52NfUF3gXBGCqe324pCnFxbqhqcO3Q0iZMckCm4w/Hi0Bvt2FtXWqG2W0v5w5SyhFdsv4boiBV8F3pCRYe3egJ+D/h6AwPewoR0b3yPTw3Mzer0EEvN2BQ/m0CAfzPKpeYY+QpoY3J3Eoj96Mgtn5nKw+ZLdI6QmoOraXoIsP0a1TWoPg6TLv/AW4/R/v9zmZSdJuv/MRsPCZd+xrL8avH/PnXryR7NidQqIRtcHbSkpjiy543feoK54nvX3vbW/Gow+LHWdclgXiYxc+T35su8996yfhRQ1JfXmHVUbBRDmCx11v3wl+fSFi4vobHwT/Dh977ZPOPveNP0VPwJPQ5JB5hzJfTjgNrt5q/x7PYQ7j48/av7cQ8l7U5164gVDiNDuZowwROIwoJy096PzYXkCEwFEnOmzgPyrRGt/V+bGhnxvRFZIyWV6GwA/C33+3HNxOc6ITdaIPv9j5se0+15TZJkxf/zempyhWb0SBbHsG+NEL7d8fooRlfGTV6Tu+4g0rvv4SIknz2Be+CvzqJW/UKAxu2//4V4hAbZrQi0Vn0uySfx5Hz8B3Kf70XRQOLzIuIkT79+r2ClHZeV5QN2nJoXqliLnQ1wy8L7cdgu4xvuuQyrchgKj+rClwJBJ0sZKDNURsY37xH+gJrna06G9GKMw7vHU5BCDsyu+YizcgBl1nB/dhEUI4cQVGw8mipIuUzeuUHspwMMMnx6h1MVo4LuwCLVVJYL4LTUqixRyqwEj4whQVnqkPzNo6jSeiXGxiWyzNvWRadyzME1hjFoL4ecWswsfF67Lcy/iaenc2lOQ4mOFB9uNS18FogUOzxJvA/d7RymSdwQn9X2mryp4uy55Oy1Hm278LnvVRKFTbuH9WbeGHq7VoR5aLmXbTbaTw6w8Eiusx5z9YvcO/hg8hjKAJc1LgPOGCsHbXh5LmlZ3SVgTeUJW5/6AvspQSIH8fyeIytb7VpHlFYHdVFiUrm/bhk8rhuujM2p9GK1lcsu/cw9Ory/yvXSdLYJhm/OWUipyKyhGEEyrJOQGjW3aCXSOwG6aFjC75FL1Wlu9anqGxZEDfvDk8M2sEdsuWSo6LixSXmwPu37JrTamsaYVKc3hm1q34rh1ycb34JQ2LEJdF5RB84oqZ5VJVw7rNpIMXBP+ZnqFQPYqCyEtc7sNyCOa7H1hQnmpjQhgORGOeihvr1hcI3rNB4ViRAv/vAfD9t5EpQgsUHUPJ1amg19vvujKpP7Xb2ZkBDw0un1GBm3K0nTZLbfFBWMxAU8RtQ/jOZwW3xZZowtzLhE98V+2vDIsMVD080oYKfP+0mpVavrR4/d6wfQuZyFtXSoquEGHVLQvcMd9ajAgbKfASVUa0DdXy0DjVWrUKIvbyKzbhkkNUYtVM7LsLbagWAodmB2Nxfz22wDZUy0BTnzdOaPZJdH8whYWTHPthKQY698vvkQYJSLwEGq9BXO13N68UvztpL5Gk3W0m8R3+PGZccrCfroxFWHKBxU3S7jbT8SKGAxN6hA6ekTaXuuegpKrah91J2t1mOl6jY/msmlfKDkhkDZ/jTsVlulqE5d4ZdVlpK3JWUMZ8kM8xuiCVdWY3TegydaHOwZIaLC5FyQq6JLWFhK3I6ZGWuExq62Tdoy9EV8t+W+3qAjp3fA7TEpdJfSnwoUN6uFbHjJ3ukwzuCtEfLG6qN+mkvtIdlzT7qM9m+8mJmOd+btriMpksZeiK/Ai7bVkzBnSOSk9hrJuuUBiZ79YwMKmnqCt11BZEWqD2lgcOktaWk5LLdhy2XV7HXNVBOSvXNpPrfiuDk3qartxfPLFuzsm1zeS+oU7DzdPk5sLvf8qZ3FzbTGE7JvG28qqOc09A2J6jVHbanaFaAAVvieVVwOhbHO01oblfqxwcLEpYn8IF9mmUOqfooYjdyLugUMe2IkZgn0boLhvVRnPy5OAyDe2dlyKsjziBfdxkrIZRcnWZnu6DTOZ0HZc3DKKydFKJrMGLFbiZFbGBl8FiF9XN4oEUhVvSRW3GCIFb4TDOW9NTSByln11ZJWi8zDKvxMsLe/J6ntLCbxyMFLiVoSk9VH2IEVd03rKedzX3XD7EO3AG7gvlDc3ddR8qLLpZr6LX6iRoHxZLGzFvgkOj+ALBlx6CtCZy6AAAAABJRU5ErkJggg==",e.style.width="100%",e.style.height="100%",e.style.objectFit="cover",e.style.display="block",e.alt="Customer Service",e.onload=()=>{this.debug&&console.log("Icon image loaded successfully"),this.iconElement&&(e.style.opacity="1",e.style.visibility="visible")},e.onerror=A=>{console.error("Failed to load icon image",A)},e.style.opacity="1",e.style.visibility="visible";const t=document.createElement("div");Object.assign(t.style,{width:"100%",height:"100%",borderRadius:"50%",overflow:"hidden",position:"relative",pointerEvents:"auto"}),t.appendChild(e),this.iconElement.appendChild(t);const n=this.getTargetElement();if(this.debug&&console.log("[IconManager] Target element for icon:",{target:this.target,targetElement:n,targetElementId:n.id,targetElementClass:n.className,isBody:n===document.body}),this.sideAttach&&n!==document.body){const A=window.getComputedStyle(n),e=A.overflowX,t=A.overflowY;"hidden"!==e&&(n.dataset.originalOverflowX||(n.dataset.originalOverflowX=e||"visible",n.dataset.originalOverflowY=t||"visible"),n.style.overflowX="hidden","visible"===t&&(n.style.overflowY="auto"),this.debug&&console.log("[IconManager] Set overflow-x: hidden on target container",{target:this.target,originalOverflowX:e,originalOverflowY:t}))}n?(n.appendChild(this.iconElement),this.debug&&console.log("[IconManager] Icon added to target element:",{target:this.target,targetElement:n,targetElementId:n.id,targetElementClass:n.className})):(document.body.appendChild(this.iconElement),this.debug&&console.warn("[IconManager] Target element not found, icon added to document.body")),this.setupDragEvents(),this.magnetic&&!this.iconPosition&&setTimeout(()=>{if(this.iconElement){const A=this.getTargetElement();if(A){const e=A.getBoundingClientRect(),t=this.iconElement.offsetWidth||30,n=this.iconElement.offsetHeight||30,r=20,o=80,i=e.width-t-r,s=e.height-n-o;if(this.iconElement.style.left=`${i}px`,this.iconElement.style.top=`${s}px`,this.iconElement.style.right="auto",this.iconElement.style.bottom="auto",this.sideAttach){this.isAttachedToSide=!0,this.attachedSide="right";const A=t*this.sideHideRatio;this.iconElement.style.right=`-${A}px`,this.iconElement.style.left="auto",this.iconElement.style.bottom=`${o}px`,this.iconElement.style.top="auto",this.iconElement.style.transform="translateX(0)",this.iconElement.style.transition="all 0.3s ease",this.debug&&console.log("[IconManager] Auto side attach on init",{isAttachedToSide:this.isAttachedToSide,attachedSide:this.attachedSide,hideDistance:A,right:`-${A}px`})}else this.magneticSnap(),this.debug&&console.log("[IconManager] Auto magnetic snap on init",{isAttachedToSide:this.isAttachedToSide,attachedSide:this.attachedSide})}}},200),this.sideAttach&&this.autoAttachDelay>0&&!this.isAttachedToSide&&setTimeout(()=>{this.startAutoAttachTimer()},300),this.debug&&console.log("CustomerSDK icon displayed")}forceCleanupDragEvents(){this.cleanupDragEvents()}hide(){if(this.cleanupDragEvents(),this.clearAutoAttachTimer(),this.iconElement){const A=window.getComputedStyle(this.iconElement),e=A.left,t=A.top;if("auto"!==e&&"auto"!==t&&""!==e&&""!==t){const A=parseFloat(e),n=parseFloat(t);isNaN(A)||isNaN(n)||(this.iconPosition={x:A,y:n},this.debug&&console.log("Icon position saved before hide:",this.iconPosition))}this.iconElement.remove(),this.iconElement=null,this.debug&&console.log("CustomerSDK icon hidden")}}setPosition(A){}setIconPosition(A){this.iconPosition=A,this.iconElement&&(void 0!==A.x&&(this.iconElement.style.left="number"==typeof A.x?`${A.x}px`:A.x,this.iconElement.style.right="auto"),void 0!==A.y&&(this.iconElement.style.top="number"==typeof A.y?`${A.y}px`:A.y,this.iconElement.style.bottom="auto"))}setStyle(A){}startAutoAttachTimer(){this.clearAutoAttachTimer(),this.isAttachedToSide||(this.autoAttachTimer=window.setTimeout(()=>{!this.iconElement||this.isDragging||this.dragStarted||this.autoAttachToSide(),this.autoAttachTimer=null},this.autoAttachDelay),this.debug&&console.log(`[IconManager] Auto attach timer started, will attach in ${this.autoAttachDelay}ms`))}clearAutoAttachTimer(){null!==this.autoAttachTimer&&(window.clearTimeout(this.autoAttachTimer),this.autoAttachTimer=null,this.debug&&console.log("[IconManager] Auto attach timer cleared"))}autoAttachToSide(){if(this.iconElement&&this.sideAttach)try{const A=this.getTargetElement();if(!A)return;const e=A.getBoundingClientRect(),t=this.iconElement.offsetWidth||30,n=window.getComputedStyle(this.iconElement),r=parseFloat(n.left)||0,o=n.right,i=e.width;let s=!0;if("auto"!==o&&""!==o){const A=parseFloat(o);if(!isNaN(A)){s=i-t-A>=i/2}}else s=r>=i/2;if(s){this.isAttachedToSide=!0,this.attachedSide="right";const A=t*this.sideHideRatio;this.iconElement.style.right=`-${A}px`,this.iconElement.style.left="auto"}else{this.isAttachedToSide=!0,this.attachedSide="left";const A=t*this.sideHideRatio;this.iconElement.style.left=`-${A}px`,this.iconElement.style.right="auto"}const a=window.getComputedStyle(this.iconElement);"auto"!==a.top&&""!==a.top?(this.iconElement.style.top=a.top,this.iconElement.style.bottom="auto"):"auto"!==a.bottom&&""!==a.bottom&&(this.iconElement.style.bottom=a.bottom,this.iconElement.style.top="auto"),this.iconElement.style.transform="translateX(0)",this.iconElement.style.transition="all 0.3s ease",this.debug&&console.log("[IconManager] Auto attached to side",{attachedSide:this.attachedSide,hideDistance:t*this.sideHideRatio})}catch(A){this.debug&&console.error("[IconManager] Error in autoAttachToSide:",A)}}onClick(A){this.onClickCallback=A}onNotification(A){this.notificationCallback=A}showNotification(A){if(!this.iconElement)return void(this.debug&&console.warn("Icon not displayed, cannot show notification"));const{showBadge:e=!0,badgeCount:t=0,badgeText:n="",pulse:r=!1}=A;(e||t>0)&&this.createBadge(t,n,r),this.notificationCallback&&this.notificationCallback({badgeCount:t,badgeText:n,pulse:r}),this.debug&&console.log("Notification shown:",{badgeCount:t,badgeText:n})}clearNotification(){this.badgeElement&&(this.badgeElement.remove(),this.badgeElement=null),this.debug&&console.log("Notification cleared")}setupDragEvents(){this.iconElement&&(this.startDragHandler=this.startDrag.bind(this),this.onDragHandler=this.onDrag.bind(this),this.stopDragHandler=this.stopDrag.bind(this),this.iconElement.addEventListener("mousedown",this.startDragHandler),this.iconElement.addEventListener("touchstart",this.startDragHandler,{passive:!1}))}isSDKIframeOpen(){if(!(window.innerWidth>768))return!1;const A=document.querySelector(".customer-sdk-container");if(!A)return this.debug&&console.log("[IconManager] [PC+iframe] SDK iframe container not found"),!1;const e=window.getComputedStyle(A),t=e.visibility,n=e.opacity,r=e.display,o="visible"===t&&parseFloat(n)>0&&"none"!==r;return this.debug&&console.log("[IconManager] [PC+iframe] Checking SDK iframe visibility:",{visibility:t,opacity:n,display:r,isVisible:o,parsedOpacity:parseFloat(n)}),o}startDrag(A){if(!this.iconElement||!this.isClickEnabled)return;const e="touches"in A?A.touches[0].clientX:A.clientX,t="touches"in A?A.touches[0].clientY:A.clientY;if(this.isSDKIframeOpen())return this.debug&&console.log("[IconManager] [PC+iframe] SDK iframe is open, icon dragging disabled, but click is allowed"),this.touchStartTime=Date.now(),this.lastTouchPosition.x=e,this.lastTouchPosition.y=t,this.hasMoved=!1,this.dragIntent=!1,this.dragStarted=!1,this.isDragging=!1,void(this.stopDragHandler&&(document.addEventListener("mouseup",this.stopDragHandler),document.addEventListener("touchend",this.stopDragHandler)));const n=window.innerWidth>768;if(n&&this.isMouseOverIframe(e,t))return this.debug&&console.log("[IconManager] [PC+iframe] Mouse is over iframe, icon dragging disabled, but click is allowed",{clientX:e,clientY:t,isPC:n}),this.touchStartTime=Date.now(),this.lastTouchPosition.x=e,this.lastTouchPosition.y=t,this.hasMoved=!1,this.dragIntent=!1,this.dragStarted=!1,this.isDragging=!1,void(this.stopDragHandler&&(document.addEventListener("mouseup",this.stopDragHandler),document.addEventListener("touchend",this.stopDragHandler)));if(this.clearAutoAttachTimer(),this.isStoppingDrag)return void(this.debug&&console.warn("[IconManager] startDrag called while stopping, ignoring"));if(this.isDragging||this.dragStarted)return void(this.debug&&console.warn("[IconManager] startDrag called but already dragging, ignoring",{isDragging:this.isDragging,dragStarted:this.dragStarted}));this.hasLoggedIframeWarning=!1,null===this.dragTimeoutId&&null===this.activeDetectionRafId&&null===this.rafId||(this.debug&&console.warn("[IconManager] startDrag found leftover resources, cleaning up",{hasTimeout:null!==this.dragTimeoutId,hasActiveDetection:null!==this.activeDetectionRafId,hasRaf:null!==this.rafId}),this.cleanupDragEvents());const r=A.target;if(!r||!("IFRAME"===r.tagName||r.closest("iframe")||r.closest(".customer-sdk-container")||r.closest(".customer-sdk-overlay"))){if(this.iconElement){const A=this.iconElement.getBoundingClientRect(),n=A.left+A.width/2,r=A.top+A.height/2,o=Math.min(A.width,A.height)/2,i=Math.sqrt(Math.pow(e-n,2)+Math.pow(t-r,2));if(i>o+10)return void(this.debug&&console.log("[IconManager] Touch point outside icon circle, allowing event to pass through",{distance:i,radius:o,touchPoint:{x:e,y:t},iconCenter:{x:n,y:r}}))}A.preventDefault(),A.stopPropagation(),this.iconElement&&(this.iconElement.style.pointerEvents="auto"),this.hasMoved=!1,this.dragStarted=!1,this.isDragging=!1,this.dragIntent=!0,this.touchStartTime=Date.now(),this.lastMousePosition={x:e,y:t,timestamp:Date.now()},this.lastTouchPosition.x=e,this.lastTouchPosition.y=t;try{const A=this.iconElement.getBoundingClientRect();if(!this.getTargetElement())return void(this.debug&&console.warn("Container not found"));this.dragOffset.x=e-A.left,this.dragOffset.y=t-A.top;const n=document.querySelectorAll("iframe");this.cachedIframes=Array.from(n).filter(A=>!A.closest(".customer-sdk-container")).map(A=>({element:A,rect:A.getBoundingClientRect()})),this.lastIframeUpdateTime=Date.now(),this.debug&&console.log(`[IconManager] Drag start - Found ${this.cachedIframes.length} iframe(s) (excluding SDK iframes)`,{iframes:this.cachedIframes.map(({rect:A})=>({left:A.left,top:A.top,right:A.right,bottom:A.bottom,width:A.width,height:A.height}))}),this.onDragHandler&&(document.addEventListener("mousemove",this.onDragHandler),document.addEventListener("touchmove",this.onDragHandler,{passive:!1})),this.stopDragHandler&&(document.addEventListener("mouseup",this.stopDragHandler),document.addEventListener("touchend",this.stopDragHandler)),this.mouseLeaveHandler=A=>{(A.clientY<-10||A.clientX<-10||A.clientX>window.innerWidth+10||A.clientY>window.innerHeight+10)&&!this.isMouseOverIframe(A.clientX,A.clientY)&&(this.mouseLeaveTimeout&&clearTimeout(this.mouseLeaveTimeout),this.mouseLeaveTimeout=window.setTimeout(()=>{!this.isDragging&&!this.dragStarted||this.isStoppingDrag||this.isMouseOverIframe(A.clientX,A.clientY)||(this.debug&&console.log("[IconManager] Mouse left window, stopping drag"),this.stopDrag()),this.mouseLeaveTimeout=null},100))},this.pointerLeaveHandler=A=>{(A.clientY<-10||A.clientX<-10||A.clientX>window.innerWidth+10||A.clientY>window.innerHeight+10)&&!this.isMouseOverIframe(A.clientX,A.clientY)&&(this.pointerLeaveTimeout&&clearTimeout(this.pointerLeaveTimeout),this.pointerLeaveTimeout=window.setTimeout(()=>{!this.isDragging&&!this.dragStarted||this.isStoppingDrag||this.isMouseOverIframe(A.clientX,A.clientY)||(this.debug&&console.log("[IconManager] Pointer left window, stopping drag"),this.stopDrag()),this.pointerLeaveTimeout=null},100))},document.addEventListener("mouseleave",this.mouseLeaveHandler),document.addEventListener("pointerleave",this.pointerLeaveHandler),this.blurHandler=()=>{this.isStoppingDrag||(this.isDragging||this.dragStarted)&&(this.debug&&console.log("[IconManager] Window lost focus, stopping drag"),this.stopDrag())},window.addEventListener("blur",this.blurHandler);const r=window.innerWidth>768,o=this.isMouseOverIframe(e,t);if(r)if(o){const A=()=>{const e=this.lastMousePosition;if(e&&this.isMouseOverIframe(e.x,e.y)&&(this.dragIntent||this.dragStarted||this.isDragging)){if(this.debug){const A=Date.now()-this.lastMousePosition.timestamp;console.log("[IconManager] [PC+iframe] Drag timeout but mouse is over iframe, keeping drag active (waiting for mouseup)",{timeSinceLastMove:A,lastMousePosition:this.lastMousePosition})}this.dragTimeoutId=window.setTimeout(A,5e3)}else(this.isDragging||this.dragStarted)&&this.dragStarted&&(this.debug&&console.warn("[IconManager] [PC+iframe] Drag timeout triggered, stopping drag"),this.stopDrag())};this.dragTimeoutId=window.setTimeout(A,5e3)}else this.dragTimeoutId=window.setTimeout(()=>{this.isDragging&&this.dragStarted&&(this.debug&&console.log("Drag timeout, stopping drag (likely mouse moved over iframe)"),this.stopDrag())},50);else if(o){const A=()=>{const e=this.lastMousePosition;if(e&&this.isMouseOverIframe(e.x,e.y)&&(this.dragIntent||this.dragStarted||this.isDragging)){if(this.debug){const A=Date.now()-this.lastMousePosition.timestamp;console.log("[IconManager] [Mobile+iframe] Drag timeout but mouse is over iframe, keeping drag active (waiting for mouseup)",{timeSinceLastMove:A,lastMousePosition:this.lastMousePosition})}this.dragTimeoutId=window.setTimeout(A,3e3)}else(this.isDragging||this.dragStarted)&&this.dragStarted&&(this.debug&&console.warn("[IconManager] [Mobile+iframe] Drag timeout triggered, stopping drag"),this.stopDrag())};this.dragTimeoutId=window.setTimeout(A,3e3)}else this.dragTimeoutId=window.setTimeout(()=>{this.isDragging&&this.dragStarted&&(this.debug&&console.log("Drag timeout, stopping drag (likely mouse moved over iframe)"),this.stopDrag())},50);this.startActiveDetection(),this.debug&&console.log("[IconManager] Drag start",{startPosition:{x:e,y:t},iconRect:{left:A.left,top:A.top,width:A.width,height:A.height},dragOffset:this.dragOffset})}catch(A){this.debug&&console.error("Error in startDrag:",A)}}}onDrag(A){if(!this.iconElement)return;const e="touches"in A?A.touches[0].clientX:A.clientX,t="touches"in A?A.touches[0].clientY:A.clientY,n=this.isSDKIframeOpen();if(this.debug&&console.log("[IconManager] [PC+iframe] Checking SDK iframe status:",{isSDKOpen:n,windowWidth:window.innerWidth,isPC:window.innerWidth>768}),n)return void(this.debug&&console.log("[IconManager] [PC+iframe] SDK iframe is open, blocking drag - returning immediately"));const r=window.innerWidth>768;if(r&&this.isMouseOverIframe(e,t))return void(this.debug&&console.log("[IconManager] [PC+iframe] Mouse is over iframe, blocking drag - returning immediately",{clientX:e,clientY:t,isPC:r}));if(A.preventDefault(),this.debug&&console.log("[IconManager] onDrag called",{clientPosition:{x:e,y:t},isDragging:this.isDragging,dragStarted:this.dragStarted}),this.isDragging||this.dragIntent||this.dragStarted){const A=Date.now();if(0===this.cachedIframes.length||A-this.lastIframeUpdateTime>this.iframeUpdateInterval){const e=document.querySelectorAll("iframe"),t=this.cachedIframes.length;this.cachedIframes=Array.from(e).filter(A=>!A.closest(".customer-sdk-container")).map(A=>({element:A,rect:A.getBoundingClientRect()})),this.lastIframeUpdateTime=A,this.debug&&this.cachedIframes.length!==t&&console.log(`[IconManager] Iframe cache updated - Found ${this.cachedIframes.length} iframe(s) (excluding SDK iframes)`,{iframes:this.cachedIframes.map(({rect:A})=>({left:A.left,top:A.top,right:A.right,bottom:A.bottom}))})}}const o=Date.now(),i=o-this.lastMousePosition.timestamp,s=this.lastMousePosition.x,a=this.lastMousePosition.y,c=this.lastMousePosition.timestamp;if(this.lastMousePosition={x:e,y:t,timestamp:o},c>0&&i>0&&i<100){const A=i/1e3;this.mouseVelocity.vx=(e-s)/A,this.mouseVelocity.vy=(t-a)/A,this.mouseVelocity.vx=Math.max(-2e3,Math.min(2e3,this.mouseVelocity.vx)),this.mouseVelocity.vy=Math.max(-2e3,Math.min(2e3,this.mouseVelocity.vy))}if(this.debug&&i>50&&this.lastMousePosition.timestamp>0&&console.warn(`[IconManager] Long gap between mousemove events: ${i}ms`,{lastPosition:{x:s,y:a},currentPosition:{x:e,y:t},velocity:{vx:this.mouseVelocity.vx,vy:this.mouseVelocity.vy}}),null!==this.dragTimeoutId){window.clearTimeout(this.dragTimeoutId);const A=window.innerWidth>768,n=this.isMouseOverIframe(e,t);if(A);else if(n){const A=()=>{const e=this.lastMousePosition;if(e&&this.isMouseOverIframe(e.x,e.y)&&(this.dragIntent||this.dragStarted||this.isDragging)){if(this.debug){const A=Date.now()-this.lastMousePosition.timestamp;console.log("[IconManager] [Mobile+iframe] Drag timeout but mouse is over iframe, keeping drag active (waiting for mouseup)",{timeSinceLastMove:A,lastMousePosition:this.lastMousePosition})}this.dragTimeoutId=window.setTimeout(A,3e3)}else(this.isDragging||this.dragStarted)&&(this.debug&&console.warn("[IconManager] [Mobile+iframe] Drag timeout triggered, stopping drag"),this.stopDrag())};this.dragTimeoutId=window.setTimeout(A,3e3)}else this.dragTimeoutId=window.setTimeout(()=>{if(this.isDragging){if(this.debug){const A=Date.now()-this.lastMousePosition.timestamp;console.warn("[IconManager] [Mobile] Drag timeout triggered, stopping drag",{timeSinceLastMove:A,lastMousePosition:this.lastMousePosition,iframeCount:this.cachedIframes.length})}this.stopDrag()}},200)}const l=Math.abs(e-this.lastTouchPosition.x),u=Math.abs(t-this.lastTouchPosition.y);if(Math.sqrt(l*l+u*u)>this.clickThreshold&&(this.hasMoved=!0,!this.dragStarted)){this.dragStarted=!0,this.isDragging=!0,this.isAttachedToSide&&(this.isAttachedToSide=!1,this.attachedSide="",this.iconElement&&(this.iconElement.style.transform=""));const A=window.getComputedStyle(this.iconElement);if("auto"!==A.right||"auto"!==A.bottom){const A=this.iconElement.getBoundingClientRect(),n=this.getTargetElement();if(n){const r=n.getBoundingClientRect(),o=A.left-r.left,i=A.top-r.top;this.iconElement.style.left=`${o}px`,this.iconElement.style.top=`${i}px`,this.iconElement.style.right="auto",this.iconElement.style.bottom="auto",this.dragOffset.x=e-A.left,this.dragOffset.y=t-A.top}}this.iconElement.style.transition="none",this.iconElement.style.cursor="grabbing",this.debug&&console.log("Drag started (moved > threshold)")}if(this.isDragging||this.dragIntent||this.dragStarted)try{const A=Date.now(),n=this.getTargetElement();if(!n)return;(!this.cachedContainer||this.cachedContainer!==n||A-this.lastContainerUpdateTime>this.containerUpdateInterval)&&(this.cachedContainer=n,this.cachedContainerRect=n.getBoundingClientRect(),this.cachedIconSize={width:this.iconElement.offsetWidth,height:this.iconElement.offsetHeight},this.lastContainerUpdateTime=A);const r=this.cachedContainerRect,o=this.cachedIconSize.width,i=this.cachedIconSize.height,s=window.getComputedStyle(n).maxWidth,a=s&&"none"!==s?Math.min(r.width,parseFloat(s)||r.width):r.width,c=r.height;if(0===this.dragOffset.x&&0===this.dragOffset.y&&(this.dragIntent||this.dragStarted)&&this.iconElement&&!this.dragStarted){const A=this.iconElement.getBoundingClientRect();this.dragOffset.x=e-A.left,this.dragOffset.y=t-A.top,this.debug&&console.log("[IconManager] Calculated dragOffset in onDrag (fallback)",{dragOffset:this.dragOffset,clientPosition:{x:e,y:t},iconRect:A,dragStarted:this.dragStarted,dragIntent:this.dragIntent})}let l=e-this.dragOffset.x-r.left,u=t-this.dragOffset.y-r.top;const h=5-o,g=n===document.body?window.innerWidth-5:a+o-5,d=5-i,B=n===document.body?window.innerHeight-5:c+i-5;l=Math.max(h,Math.min(l,g)),u=Math.max(d,Math.min(u,B));const f=window.innerWidth>768,w=this.isMouseOverIframe(e,t);if(this.iconElement){if(this.dragIntent&&0===this.dragOffset.x&&0===this.dragOffset.y){const A=this.iconElement.getBoundingClientRect(),n={x:this.dragOffset.x,y:this.dragOffset.y};this.dragOffset.x=e-A.left,this.dragOffset.y=t-A.top,this.debug&&f&&console.log("[IconManager] [PC+iframe] Calculated dragOffset",{oldDragOffset:n,newDragOffset:{x:this.dragOffset.x,y:this.dragOffset.y},clientPosition:{x:e,y:t},iconRect:A,isOverIframe:w})}else this.debug&&f&&this.dragStarted&&0===this.dragOffset.x&&0===this.dragOffset.y&&console.warn("[IconManager] [PC] dragOffset is 0 but dragStarted is true! This should not happen.",{dragStarted:this.dragStarted,dragIntent:this.dragIntent,isDragging:this.isDragging,isOverIframe:w});if(w&&this.dragIntent&&!this.dragStarted&&(this.dragStarted=!0,this.isDragging=!0,this.hasMoved=!0),this.iconElement.style.left=`${l}px`,this.iconElement.style.top=`${u}px`,this.iconElement.style.right="auto",this.iconElement.style.bottom="auto",this.debug&&f){const A=e-this.dragOffset.x-r.left,n=t-this.dragOffset.y-r.top;console.log("[IconManager] [PC+iframe] Icon position:",{x:l,y:u,isOverIframe:w,clientX:e,clientY:t,dragOffset:{x:this.dragOffset.x,y:this.dragOffset.y},containerLeft:r.left,containerTop:r.top,calculatedX:A,calculatedY:n,minX:h,maxX:g,actualWidth:a}),(Math.abs(A-l)>1||Math.abs(n-u)>1)&&console.warn("[IconManager] [PC+iframe] Position calculation mismatch!",{calculated:{x:A,y:n},actual:{x:l,y:u},dragOffset:{x:this.dragOffset.x,y:this.dragOffset.y},containerRect:{left:r.left,top:r.top},clientPosition:{x:e,y:t}})}}f?this.dragTimeoutId=w?window.setTimeout(()=>{this.isDragging&&this.dragStarted&&this.stopDrag()},5e3):window.setTimeout(()=>{this.isDragging&&this.dragStarted&&this.stopDrag()},50):w?this.iconElement&&(this.iconElement.style.left=`${l}px`,this.iconElement.style.top=`${u}px`,this.iconElement.style.right="auto",this.iconElement.style.bottom="auto"):(this.pendingPosition.x=l,this.pendingPosition.y=u,this.pendingPosition.needsUpdate=!0,null===this.rafId&&(this.rafId=requestAnimationFrame(()=>{this.rafId=null,this.pendingPosition.needsUpdate&&this.iconElement&&this.isDragging&&(this.iconElement.style.left=`${this.pendingPosition.x}px`,this.iconElement.style.top=`${this.pendingPosition.y}px`,this.iconElement.style.right="auto",this.iconElement.style.bottom="auto",this.pendingPosition.needsUpdate=!1)}))),this.lastTouchPosition.x=e,this.lastTouchPosition.y=t,this.lastMousePosition.x=e,this.lastMousePosition.y=t,this.lastMousePosition.timestamp=Date.now()}catch(A){this.debug&&console.error("Error in onDrag:",A)}}updateIconPositionFromMouse(A,e){if(this.iconElement&&(this.isDragging||this.dragIntent||this.dragStarted)){if(0===this.dragOffset.x&&0===this.dragOffset.y){if(!this.dragStarted||!this.iconElement)return;{const t=this.iconElement.getBoundingClientRect();this.dragOffset.x=A-t.left,this.dragOffset.y=e-t.top}}try{const t=this.getTargetElement();if(!t)return;const n=t.getBoundingClientRect(),r=this.iconElement.offsetWidth,o=this.iconElement.offsetHeight,i=t===document.body?window.innerWidth:t.offsetWidth,s=t===document.body?window.innerHeight:t.offsetHeight;let a=A-this.dragOffset.x-n.left,c=e-this.dragOffset.y-n.top;const l=5-r,u=t===document.body?window.innerWidth-5:i+r-5,h=5-o,g=t===document.body?window.innerHeight-5:s+o-5;if(a=Math.max(l,Math.min(a,u)),c=Math.max(h,Math.min(c,g)),this.iconElement&&(this.iconElement.style.left=`${a}px`,this.iconElement.style.top=`${c}px`,this.iconElement.style.right="auto",this.iconElement.style.bottom="auto",this.debug)){const t=Date.now()-this.lastMousePosition.timestamp;console.log("[IconManager] [PC+iframe] Updated icon position in startActiveDetection",{mousePosition:{x:A,y:e},iconPosition:{x:a,y:c},timeSinceLastMove:t,lastMousePosition:this.lastMousePosition})}}catch(A){this.debug&&console.error("[IconManager] Error in updateIconPositionFromMouse:",A)}}}stopDrag(A){if(this.isStoppingDrag)return void(this.debug&&console.warn("[IconManager] stopDrag already in progress, ignoring duplicate call"));const e=this.touchStartTime>0&&!this.isDragging&&!this.dragStarted&&!this.hasMoved;if(!(this.isDragging||this.dragStarted||this.dragTimeoutId||this.activeDetectionRafId||e))return this.debug&&console.warn("[IconManager] stopDrag called but not dragging and not a click, ignoring"),void(this.stopDragHandler&&(document.removeEventListener("mouseup",this.stopDragHandler),document.removeEventListener("touchend",this.stopDragHandler)));if(this.isStoppingDrag=!0,A&&this.dragStarted&&this.iconElement){const e="clientX"in A?A.clientX:A.touches?.[0]?.clientX??A.changedTouches?.[0]?.clientX??0,t="clientY"in A?A.clientY:A.touches?.[0]?.clientY??A.changedTouches?.[0]?.clientY??0;if(e>0&&t>0){this.isMouseOverIframe(e,t)&&(this.lastMousePosition={x:e,y:t,timestamp:Date.now()},this.updateIconPositionFromMouse(e,t),this.debug&&console.log("[IconManager] [PC+iframe] Updated icon position from mouseup event",{mousePosition:{x:e,y:t},iconPosition:this.iconElement?{left:this.iconElement.style.left,top:this.iconElement.style.top}:null}))}}const t=this.isDragging?"drag_stopped":"not_dragging",n=this.iconElement?{left:this.iconElement.style.left,top:this.iconElement.style.top,computed:"auto"!==window.getComputedStyle(this.iconElement).left?{left:window.getComputedStyle(this.iconElement).left,top:window.getComputedStyle(this.iconElement).top}:null}:null;if(this.cleanupDragEvents(),!this.iconElement)return this.hasMoved=!1,this.isDragging=!1,this.dragStarted=!1,this.dragIntent=!1,void(this.isStoppingDrag=!1);this.iconElement.style.transition="transform 0.2s ease",this.iconElement.style.cursor="pointer",this.iconElement.style.pointerEvents="none";const r=Date.now()-this.touchStartTime,o=!this.hasMoved&&r<1e3&&!this.dragStarted&&!this.isDragging&&(!this.dragIntent||r<200);this.debug&&console.log("[IconManager] Drag end",{stopReason:t,hasMoved:this.hasMoved,dragStarted:this.dragStarted,touchDuration:r,isValidClick:o,finalPosition:n,lastMousePosition:this.lastMousePosition});const i=o,s=this.stoppedByIframe;if(this.stoppedByIframe)this.debug&&console.log("[IconManager] Drag stopped by iframe, skipping magnetic snap and auto attach");else if(this.dragStarted&&this.magnetic&&this.iconElement&&this.magneticSnap(),this.dragStarted&&this.isDragging&&this.iconElement){const A=window.getComputedStyle(this.iconElement),e=A.left,t=A.top;if("auto"!==e&&"auto"!==t){const A=parseFloat(e),n=parseFloat(t);isNaN(A)||isNaN(n)||(this.iconPosition={x:A,y:n},this.debug&&console.log("Icon position saved:",this.iconPosition))}}this.hasMoved=!1,this.isDragging=!1,this.dragStarted=!1,this.dragIntent=!1,this.isStoppingDrag=!1,this.stoppedByIframe=!1,this.hasLoggedIframeWarning=!1,!s&&!this.isAttachedToSide&&this.sideAttach&&this.autoAttachDelay>0&&this.startAutoAttachTimer(),i&&setTimeout(()=>{!this.isClickEnabled||this.dragStarted||this.hasMoved||this.isDragging||this.handleClick()},100)}startActiveDetection(){if(null!==this.activeDetectionRafId)return void(this.debug&&console.log("[IconManager] Active detection already running"));this.debug&&console.log("[IconManager] Starting active detection mechanism");const A=()=>{if(this.isStoppingDrag||!this.isDragging&&!this.dragStarted&&!this.dragIntent)return this.debug&&console.log("[IconManager] Active detection stopped (drag ended or stopping)",{isDragging:this.isDragging,dragStarted:this.dragStarted,dragIntent:this.dragIntent,isStoppingDrag:this.isStoppingDrag}),this.activeDetectionRafId=null,void(null!==this.activeDetectionTimeoutId&&(window.clearTimeout(this.activeDetectionTimeoutId),this.activeDetectionTimeoutId=null));const e=Date.now(),t=e-this.lastMousePosition.timestamp;if(t>100){const A=this.lastMousePosition.x,n=this.lastMousePosition.y;if(0===this.cachedIframes.length||e-this.lastIframeUpdateTime>this.iframeUpdateInterval){const A=document.querySelectorAll("iframe");this.cachedIframes=Array.from(A).filter(A=>!A.closest(".customer-sdk-container")).map(A=>({element:A,rect:A.getBoundingClientRect()})),this.lastIframeUpdateTime=e}this.isMouseOverIframe(A,n)&&(!this.isDragging&&this.dragStarted&&(this.isDragging=!0,this.debug&&console.log("[IconManager] [PC+iframe] Active detection: Mouse over iframe, keeping drag state active (waiting for mouseup)")),this.debug&&t>500&&!this.hasLoggedIframeWarning&&(console.warn("[IconManager] [PC+iframe] Mouse entered iframe - mousemove events lost. Icon position frozen at last known position. Will update on mouseup.",{timeSinceLastMove:t,lastMousePosition:{x:this.lastMousePosition.x,y:this.lastMousePosition.y},note:"This is a browser security limitation. Icon will update to final position when mouse is released (mouseup event)."}),this.hasLoggedIframeWarning=!0))}const n=t>100&&this.isMouseOverIframe(this.lastMousePosition.x,this.lastMousePosition.y)?16:100;this.activeDetectionTimeoutId=window.setTimeout(()=>{this.activeDetectionTimeoutId=null,requestAnimationFrame(A)},n)};this.activeDetectionRafId=requestAnimationFrame(A)}stopActiveDetection(){null!==this.activeDetectionRafId&&(this.debug&&console.log("[IconManager] Stopping active detection mechanism"),cancelAnimationFrame(this.activeDetectionRafId),this.activeDetectionRafId=null)}isMouseOverIframe(A,e){const t=Date.now();if(0===this.cachedIframes.length||t-this.lastIframeUpdateTime>this.iframeUpdateInterval){const A=document.querySelectorAll("iframe");this.cachedIframes=Array.from(A).filter(A=>!A.closest(".customer-sdk-container")).map(A=>({element:A,rect:A.getBoundingClientRect()})),this.lastIframeUpdateTime=t}for(const{rect:t}of this.cachedIframes)if(A>=t.left&&A<=t.right&&e>=t.top&&e<=t.bottom)return!0;return!1}cleanupDragEvents(){this.onDragHandler&&(document.removeEventListener("mousemove",this.onDragHandler),document.removeEventListener("touchmove",this.onDragHandler)),this.stopDragHandler&&(document.removeEventListener("mouseup",this.stopDragHandler),document.removeEventListener("touchend",this.stopDragHandler)),this.mouseLeaveHandler&&(document.removeEventListener("mouseleave",this.mouseLeaveHandler),this.mouseLeaveHandler=null),this.pointerLeaveHandler&&(document.removeEventListener("pointerleave",this.pointerLeaveHandler),this.pointerLeaveHandler=null),this.blurHandler&&(window.removeEventListener("blur",this.blurHandler),this.blurHandler=null),null!==this.mouseLeaveTimeout&&(window.clearTimeout(this.mouseLeaveTimeout),this.mouseLeaveTimeout=null),null!==this.pointerLeaveTimeout&&(window.clearTimeout(this.pointerLeaveTimeout),this.pointerLeaveTimeout=null),null!==this.dragTimeoutId&&(window.clearTimeout(this.dragTimeoutId),this.dragTimeoutId=null),null!==this.rafId&&(cancelAnimationFrame(this.rafId),this.rafId=null),this.stopActiveDetection(),null!==this.activeDetectionRafId&&(this.debug&&console.warn("[IconManager] Active detection RAF ID still exists, force cleaning"),cancelAnimationFrame(this.activeDetectionRafId),this.activeDetectionRafId=null),this.cachedContainer=null,this.cachedContainerRect=null,this.cachedIframes=[],this.pendingPosition.needsUpdate=!1,this.debug&&console.log("[IconManager] Cleanup completed",{isDragging:this.isDragging,dragStarted:this.dragStarted,isStoppingDrag:this.isStoppingDrag,hasTimeout:null!==this.dragTimeoutId,hasActiveDetection:null!==this.activeDetectionRafId,hasRaf:null!==this.rafId})}handleClick(){this.isClickEnabled&&(this.clearAutoAttachTimer(),this.onClickCallback&&this.onClickCallback())}disableClick(){this.isClickEnabled=!1,this.iconElement&&this.startDragHandler&&(this.iconElement.removeEventListener("mousedown",this.startDragHandler),this.iconElement.removeEventListener("touchstart",this.startDragHandler)),this.iconElement&&(this.iconElement.style.pointerEvents="none",this.iconElement.style.cursor="default"),this.forceCleanupDragEvents()}enableClick(){this.isClickEnabled=!0,this.iconElement&&this.startDragHandler?(this.iconElement.addEventListener("mousedown",this.startDragHandler),this.iconElement.addEventListener("touchstart",this.startDragHandler,{passive:!1})):this.iconElement&&this.setupDragEvents(),this.iconElement&&(this.iconElement.style.pointerEvents="auto",this.iconElement.style.cursor="pointer")}magneticSnap(){if(this.iconElement)try{const A=this.getTargetElement();if(!A)return;const e=A.getBoundingClientRect(),t=this.iconElement.offsetWidth||30,n=this.iconElement.offsetHeight||30,r=window.getComputedStyle(A).maxWidth,o=r&&"none"!==r?Math.min(e.width,parseFloat(r)||e.width):e.width,i=window.getComputedStyle(this.iconElement),s=parseFloat(i.left)||0,a=parseFloat(i.top)||0;let c=s,l=a;if("x"===this.magneticDirection||"both"===this.magneticDirection){const A=o;if(s<A/2)if(c=this.margin,this.sideAttach&&s<t/2){this.isAttachedToSide=!0,this.attachedSide="left";c=-(t*this.sideHideRatio)}else this.isAttachedToSide=!1,this.attachedSide="";else if(c=A-t-this.margin,this.sideAttach){if(A-s-t<t/2||isNaN(s)||0===s||s>=A-t-this.margin-t/2){this.isAttachedToSide=!0,this.attachedSide="right";c=A-t*(1-this.sideHideRatio)}else this.isAttachedToSide=!1,this.attachedSide=""}else this.isAttachedToSide=!1,this.attachedSide=""}if("y"===this.magneticDirection||"both"===this.magneticDirection){const A=e.height;l=a<A/2?this.margin:A-n-this.margin}if(this.isAttachedToSide&&"right"===this.attachedSide){const A=t*this.sideHideRatio;this.iconElement.style.right=`-${A}px`,this.iconElement.style.left="auto"}else if(this.isAttachedToSide&&"left"===this.attachedSide){const A=t*this.sideHideRatio;this.iconElement.style.left=`-${A}px`,this.iconElement.style.right="auto"}else this.iconElement.style.left=`${c}px`,this.iconElement.style.right="auto";this.iconElement.style.top=`${l}px`,this.iconElement.style.bottom="auto",this.isAttachedToSide&&this.attachedSide?(this.iconElement.style.transform="translateX(0)",this.iconElement.style.transition="all 0.3s ease"):this.iconElement.style.transform="",this.isAttachedToSide&&"right"===this.attachedSide?this.iconPosition=null:this.iconPosition={x:c,y:l},this.debug&&console.log("[IconManager] Magnetic snap applied",{newPosition:{x:c,y:l},isAttachedToSide:this.isAttachedToSide,attachedSide:this.attachedSide})}catch(A){this.debug&&console.error("[IconManager] Error in magneticSnap:",A)}}getTargetElement(){if(!this.target)return document.body;if("string"==typeof this.target){const A=document.querySelector(this.target);return A||(this.debug&&console.warn(`Target element not found: ${this.target}, falling back to document.body`),document.body)}return this.target instanceof HTMLElement?document.body.contains(this.target)?this.target:(this.debug&&console.warn("Target element no longer in DOM, falling back to document.body"),document.body):document.body}createBadge(A,e="",t=!1){this.clearNotification(),this.badgeElement=document.createElement("div"),this.badgeElement.className="customer-sdk-icon-badge",this.badgeElement.textContent=A>0?A>99?"99+":A.toString():e||"",Object.assign(this.badgeElement.style,{position:"absolute",top:"-4px",left:"-4px",right:"auto",minWidth:"18px",height:"18px",borderRadius:"50%",backgroundColor:"#ff4444",color:"#ffffff",fontSize:"10px",fontWeight:"bold",display:"flex",alignItems:"center",justifyContent:"center",zIndex:"1000001",boxShadow:"0 -1px 4px rgba(0, 0, 0, 0.3), 0 2px 8px rgba(0, 0, 0, 0.15)",pointerEvents:"auto",...0===A&&""===e&&{width:"12px",height:"12px",minWidth:"12px",top:"-2px",left:"-2px"},...t&&{animation:"sdk-badge-pulse 1.5s infinite"}}),this.iconElement&&this.iconElement.appendChild(this.badgeElement)}}class t{constructor(A={}){this.iframeElement=null,this.containerElement=null,this.isOpen=!1,this.isCreated=!1,this.debug=!1,this.targetElement=null,this.messageHandler=null,this.config={src:"",mode:"auto",width:450,height:600,allowClose:!0,...A},this.debug=A.debug??!1}async init(){try{this.setupMessageListener(),this.cleanupOrphanedElements(),this.createIframe(),this.isCreated=!0,this.debug&&console.log("CustomerSDK iframe initialized (hidden, SSE connected)")}catch(A){throw console.error("Failed to initialize iframe:",A),this.messageHandler&&(window.removeEventListener("message",this.messageHandler),this.messageHandler=null),A}}show(){if(!this.isOpen){if(!this.isCreated)throw new Error("Iframe not initialized. Call init() first.");try{if(this.containerElement){if(!this.containerElement.parentNode)if(this.targetElement&&this.targetElement!==document.body){"static"===window.getComputedStyle(this.targetElement).position&&(this.targetElement.style.position="relative"),this.targetElement.appendChild(this.containerElement),this.debug&&console.log("Iframe container re-added to target element in show()")}else document.body.appendChild(this.containerElement),this.debug&&console.log("Iframe container re-added to document.body in show()");const A=!!this.targetElement&&this.targetElement!==document.body?{position:"absolute",visibility:"visible",opacity:"1",display:"block"}:{position:"fixed",visibility:"visible",opacity:"1",display:"block"};Object.assign(this.containerElement.style,A),this.preventBodyScroll(!0)}this.isOpen=!0,this.debug&&console.log("CustomerSDK iframe shown")}catch(A){console.error("Failed to show iframe:",A)}}}open(){this.show()}hide(){this.isOpen&&(this.containerElement&&Object.assign(this.containerElement.style,{visibility:"hidden",opacity:"0",display:"none"}),this.preventBodyScroll(!1),this.isOpen=!1,this.debug&&console.log("CustomerSDK iframe hidden (SSE still connected)"),this.config.onClose&&this.config.onClose())}close(){this.hide()}destroy(){this.hide(),this.messageHandler&&(window.removeEventListener("message",this.messageHandler),this.messageHandler=null),this.containerElement&&(this.containerElement.remove(),this.containerElement=null,this.iframeElement=null),this.isCreated=!1,this.debug&&console.log("CustomerSDK container destroyed")}isIframeOpen(){return this.isOpen}sendToIframe(A){this.iframeElement&&this.iframeElement.contentWindow&&this.iframeElement.contentWindow.postMessage(A,"*")}cleanupOrphanedElements(){document.querySelectorAll(".customer-sdk-container").forEach(A=>{A!==this.containerElement&&(A.remove(),this.debug&&console.log("清理旧的容器元素"))})}createIframe(){this.containerElement=document.createElement("div"),this.containerElement.className="customer-sdk-container",this.containerElement.draggable=!1,this.iframeElement=document.createElement("iframe"),this.iframeElement.className="customer-sdk-iframe",this.iframeElement.src=this.config.src||"",this.iframeElement.frameBorder="0",this.iframeElement.setAttribute("allow",["microphone","camera","geolocation","clipboard-read","clipboard-write","fullscreen","autoplay","encrypted-media"].join("; ")),this.iframeElement.setAttribute("sandbox",["allow-same-origin","allow-scripts","allow-forms","allow-popups","allow-popups-to-escape-sandbox","allow-presentation","allow-top-navigation","allow-top-navigation-by-user-activation","allow-downloads","allow-modals","allow-orientation-lock","allow-pointer-lock","allow-storage-access-by-user-activation"].join(" ")),this.config.target&&(this.targetElement=this.getTargetElement(this.config.target));const A="popup"===this.getActualMode();this.iframeElement.scrolling="auto";const e=!!this.targetElement&&this.targetElement!==document.body,t=e?{width:"100%",height:"100%",maxWidth:"100%",maxHeight:"100%",backgroundColor:"#ffffff",borderRadius:"0",boxShadow:A?"none":"0 -4px 16px rgba(0, 0, 0, 0.25)",border:"none",position:"absolute",zIndex:"999999",top:"0",left:"0",bottom:"0",right:"0",transform:"none",overflow:"hidden",visibility:"hidden",opacity:"0",display:"none"}:A?{width:`${this.config.width||450}px`,height:`${this.config.height||600}px`,maxWidth:"90vw",maxHeight:"90vh",backgroundColor:"#ffffff",borderRadius:"8px",boxShadow:"0 4px 16px rgba(0, 0, 0, 0.25)",border:"none",position:"fixed",zIndex:"999999",top:"auto",left:"auto",bottom:"20px",right:"20px",transform:"none",overflow:"hidden",userSelect:"none",WebkitUserSelect:"none",MozUserSelect:"none",msUserSelect:"none",visibility:"hidden",opacity:"0",display:"none"}:{width:"100%",height:"100%",maxWidth:"100%",maxHeight:"100%",backgroundColor:"#ffffff",borderRadius:"0",boxShadow:"0 -4px 16px rgba(0, 0, 0, 0.25)",border:"none",position:"fixed",zIndex:"999999",top:"0",left:"0",bottom:"0",right:"0",transform:"none",overflow:"hidden",visibility:"hidden",opacity:"0",display:"none"};Object.assign(this.containerElement.style,t);if(Object.assign(this.iframeElement.style,{width:"100%",height:"100%",border:"none",borderRadius:"inherit"}),this.containerElement.appendChild(this.iframeElement),A&&!e&&(this.containerElement.addEventListener("dragstart",A=>(A.preventDefault(),A.stopPropagation(),!1),!1),this.containerElement.addEventListener("mousedown",A=>{const e=this.containerElement.getBoundingClientRect();(A.clientX<e.left+10||A.clientX>e.right-10||A.clientY<e.top+10||A.clientY>e.bottom-10)&&(A.preventDefault(),A.stopPropagation())},!1)),this.iframeElement.addEventListener("load",()=>{A||this.injectMobileStyles()}),this.targetElement&&this.targetElement!==document.body){"static"===window.getComputedStyle(this.targetElement).position&&(this.targetElement.style.position="relative",this.debug&&console.log("Set target element position to relative for iframe container")),this.targetElement.appendChild(this.containerElement),this.debug&&console.log("Iframe container added to target element")}else document.body.appendChild(this.containerElement),this.debug&&console.log("Iframe container added to document.body");this.debug&&console.log("CustomerSDK container created (hidden, ready for SSE)")}injectMobileStyles(){if(this.iframeElement)try{const A=this.iframeElement.contentDocument||this.iframeElement.contentWindow?.document;if(A){const e=A.createElement("style");e.textContent="\n /* 移动端iframe全屏样式优化 */\n * {\n -webkit-overflow-scrolling: touch !important;\n }\n \n body, html, #app, .container {\n overflow: auto !important;\n -webkit-overflow-scrolling: touch !important;\n }\n \n /* 隐藏所有滚动条 */\n ::-webkit-scrollbar {\n width: 0px !important;\n height: 0px !important;\n background: transparent !important;\n }\n \n /* Firefox */\n html {\n scrollbar-width: none !important;\n }\n \n /* IE/Edge */\n body {\n -ms-overflow-style: none !important;\n }\n \n /* 确保内容可以滚动 */\n body {\n overflow: auto !important;\n height: 100vh !important;\n margin: 0 !important;\n padding: 0 !important;\n }\n ",A.head?.appendChild(e),this.debug&&console.log("CustomerSDK mobile styles injected successfully")}}catch(A){this.debug&&console.log("Cannot inject styles due to cross-origin restrictions:",A)}}preventBodyScroll(A){if(A){const A=window.scrollY;Object.assign(document.body.style,{position:"fixed",top:`-${A}px`,width:"100%",overflow:"hidden"}),document.body.setAttribute("data-scroll-position",A.toString())}else{const A=parseInt(document.body.getAttribute("data-scroll-position")||"0");Object.assign(document.body.style,{position:"",top:"",width:"",overflow:""}),document.body.removeAttribute("data-scroll-position"),window.scrollTo(0,A)}}isMobileDevice(){return window.innerWidth<=768||/Android|iPhone|iPad|iPod|Opera Mini|IEMobile/i.test(navigator.userAgent)}getActualMode(){return"auto"===this.config.mode?this.isMobileDevice()?"fullscreen":"popup":this.config.mode}setupMessageListener(){this.messageHandler&&window.removeEventListener("message",this.messageHandler),this.messageHandler=A=>{A.source!==window?(this.debug&&console.log("[IframeManager] Message received:",{data:A.data,origin:A.origin,source:A.source}),this.handleIframeMessage(A.data)):this.debug&&console.log("[IframeManager] Ignoring self-broadcasted message to prevent infinite loop:",A.data)},window.addEventListener("message",this.messageHandler,!1)}handleIframeMessage(A){let e;if(this.debug&&console.log("[IframeManager] Message from iframe received:",A),"string"==typeof A)e=A;else{if(!A||!A.type)return void(this.debug&&console.log("[IframeManager] Unknown message format:",A));e=A.type}switch(this.debug&&console.log("[IframeManager] Parsed message type:",e),e){case"iframe_ready":this.debug&&console.log("Iframe is ready");break;case"close_iframe":case"close":this.close();break;case"resize_iframe":case"resize":"popup"===this.getActualMode()&&A.width&&A.height?this.resizeIframe(A.width,A.height):this.debug&&console.log("Resize request ignored (fullscreen mode)");break;case"new-message":this.debug&&console.log("Received new message notification"),this.config.onMessage&&this.config.onMessage(e,A);break;case"goto-login":this.debug&&console.log("Received goto-login message, broadcasting to Vue page"),this.broadcastMessageToPage(A),this.config.onMessage&&this.config.onMessage(e,A);break;case"DCR_DEPOSIT":if(this.debug){const e=A.payload?.depositType,t=0===e?"钱包直充":2===e?"线下充值":"未知类型";console.log(`[IframeManager] Received DCR_DEPOSIT message (${t}):`,{type:A.type,payload:A.payload,depositType:t})}this.broadcastMessageToPage(A),this.config.onMessage&&this.config.onMessage(e,A);break;case"DCR_ACTIVITY":this.debug&&console.log("[IframeManager] Received DCR_ACTIVITY message:",{type:A.type,payload:A.payload,activityId:A.payload?.activityId}),this.broadcastMessageToPage(A),this.config.onMessage&&this.config.onMessage(e,A);break;default:this.debug&&console.log("[IframeManager] Custom message:",A)}}broadcastMessageToPage(A){try{const e=new MessageEvent("message",{data:A,origin:window.location.origin,source:window,bubbles:!0,cancelable:!0});window.dispatchEvent(e),this.debug&&console.log("[IframeManager] Message broadcasted to Vue page via window.dispatchEvent:",{data:A,origin:window.location.origin,type:"message",note:'origin is window.location.origin, not "*" (MessageEvent does not support "*")'})}catch(A){this.debug&&console.error("[IframeManager] Failed to broadcast message:",A)}}resizeIframe(A,e){this.containerElement&&(this.containerElement.style.width=`${A}px`,this.containerElement.style.height=`${e}px`)}getTargetElement(A){if("string"==typeof A){const e=document.querySelector(A);return e||(this.debug&&console.warn(`Target element not found: ${A}, falling back to document.body`),document.body)}return A instanceof HTMLElement?document.body.contains(A)?A:(this.debug&&console.warn("Target element no longer in DOM, falling back to document.body"),document.body):document.body}}const n="p".charCodeAt(0),r="H".charCodeAt(0),o="Y".charCodeAt(0),i="s".charCodeAt(0);let s;function a(A){let e=-1;s||(s=function(){const A=new Int32Array(256);for(let e=0;e<256;e++){let t=e;for(let A=0;A<8;A++)t=1&t?3988292384^t>>>1:t>>>1;A[e]=t}return A}());for(let t=0;t<A.length;t++)e=s[255&(e^A[t])]^e>>>8;return-1^e}function c(A,e,t=!1){const s=new Uint8Array(13);e*=39.3701,s[0]=n,s[1]=r,s[2]=o,s[3]=i,s[4]=e>>>24,s[5]=e>>>16,s[6]=e>>>8,s[7]=255&e,s[8]=s[4],s[9]=s[5],s[10]=s[6],s[11]=s[7],s[12]=1;const c=a(s),l=new Uint8Array(4);if(l[0]=c>>>24,l[1]=c>>>16,l[2]=c>>>8,l[3]=255&c,t){const e=function(A){for(let e=A.length-1;e>=4;e--)if(9===A[e-4]&&A[e-3]===n&&A[e-2]===r&&A[e-1]===o&&A[e]===i)return e-3;return 0}(A);return A.set(s,e),A.set(l,e+13),A}{const e=new Uint8Array(4);e[0]=0,e[1]=0,e[2]=0,e[3]=9;const t=new Uint8Array(54);return t.set(A,0),t.set(e,33),t.set(s,37),t.set(l,50),t}}const l="[modern-screenshot]",u="undefined"!=typeof window,h=u&&"Worker"in window,g=u&&"atob"in window,d=u&&"btoa"in window,B=u?window.navigator?.userAgent:"",f=B.includes("Chrome"),w=B.includes("AppleWebKit")&&!f,p=B.includes("Firefox"),m=A=>1===A.nodeType,C=A=>"object"==typeof A.className,Q=A=>"image"===A.tagName,y=A=>m(A)&&void 0!==A.style&&!C(A),U=A=>8===A.nodeType,F=A=>"IMG"===A.tagName,b=A=>"VIDEO"===A.tagName,v=A=>"SLOT"===A.tagName;function E(A){const e=A?.createElement?.("canvas");return e&&(e.height=e.width=1),Boolean(e)&&"toDataURL"in e&&Boolean(e.toDataURL("image/webp").includes("image/webp"))}const H=A=>A.startsWith("data:");function I(A,e){if(A.match(/^[a-z]+:\/\//i))return A;if(u&&A.match(/^\/\//))return window.location.protocol+A;if(A.match(/^[a-z]+:/i))return A;if(!u)return A;const t=x().implementation.createHTMLDocument(),n=t.createElement("base"),r=t.createElement("a");return t.head.appendChild(n),t.body.appendChild(r),e&&(n.href=e),r.href=A,r.href}function x(A){return(A&&m(A)?A?.ownerDocument:A)??window.document}const S="http://www.w3.org/2000/svg";const L=A=>function(A,e){return new Promise((t,n)=>{const r=new FileReader;r.onload=()=>t(r.result),r.onerror=()=>n(r.error),r.onabort=()=>n(new Error(`Failed read blob to ${e}`)),r.readAsDataURL(A)})}(A,"dataUrl");function M(A,e){const t=x(e).createElement("img");return t.decoding="sync",t.loading="eager",t.src=A,t}function D(A,e){return new Promise(t=>{const{timeout:n,ownerDocument:r,onError:o,onWarn:i}=e??{},s="string"==typeof A?M(A,x(r)):A;let a=null,c=null;function l(){t(s),a&&clearTimeout(a),c?.()}if(n&&(a=setTimeout(l,n)),b(s)){const A=s.currentSrc||s.src;if(!A)return s.poster?D(s.poster,e).then(t):l();if(s.readyState>=2)return l();const n=l,r=e=>{i?.("Failed video load",A,e),o?.(e),l()};c=()=>{s.removeEventListener("loadeddata",n),s.removeEventListener("error",r)},s.addEventListener("loadeddata",n,{once:!0}),s.addEventListener("error",r,{once:!0})}else{const A=Q(s)?s.href.baseVal:s.currentSrc||s.src;if(!A)return l();const e=async()=>{if(F(s)&&"decode"in s)try{await s.decode()}catch(e){i?.("Failed to decode image, trying to render anyway",s.dataset.originalSrc||A,e)}l()},t=e=>{i?.("Failed image load",s.dataset.originalSrc||A,e),l()};if(F(s)&&s.complete)return e();c=()=>{s.removeEventListener("load",e),s.removeEventListener("error",t)},s.addEventListener("load",e,{once:!0}),s.addEventListener("error",t,{once:!0})}})}const k=function(){let A=0;return()=>(A+=1,`u${`0000${(Math.random()*36**4|0).toString(36)}`.slice(-4)}${A}`)}();function K(A){return A?.split(",").map(A=>A.trim().replace(/"|'/g,"").toLowerCase()).filter(Boolean)}let T=0;function R(A){const e=`${l}[#${T}]`;return T++,{time:t=>A&&console.time(`${e} ${t}`),timeEnd:t=>A&&console.timeEnd(`${e} ${t}`),warn:(...e)=>A&&((...A)=>console.warn(l,...A))(...e)}}async function P(A,e){return(t=A)&&"__CONTEXT__"in t?A:O(A,{...e,autoDestruct:!0});var t}async function O(A,e){const{scale:t=1,workerUrl:n,workerNumber:r=1}=e||{},o=Boolean(e?.debug),i=e?.features??!0,s=A.ownerDocument??(u?window.document:void 0),a=A.ownerDocument?.defaultView??(u?window:void 0),c=new Map,l={width:0,height:0,quality:1,type:"image/png",scale:t,backgroundColor:null,style:null,filter:null,maximumCanvasSize:0,timeout:3e4,progress:null,debug:o,fetch:{requestInit:(g=e?.fetch?.bypassingCache,{cache:g?"no-cache":"force-cache"}),placeholderImage:"data:image/png;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",bypassingCache:!1,...e?.fetch},fetchFn:null,font:{},drawImageInterval:100,workerUrl:null,workerNumber:r,onCloneEachNode:null,onCloneNode:null,onEmbedNode:null,onCreateForeignObjectSvg:null,includeStyleProperties:null,autoDestruct:!1,...e,__CONTEXT__:!0,log:R(o),node:A,ownerDocument:s,ownerWindow:a,dpi:1===t?null:96*t,svgStyleElement:V(s),svgDefsElement:s?.createElementNS(S,"defs"),svgStyles:new Map,defaultComputedStyles:new Map,workers:[...Array.from({length:h&&n&&r?r:0})].map(()=>{try{const A=new Worker(n);return A.onmessage=async A=>{const{url:e,result:t}=A.data;t?c.get(e)?.resolve?.(t):c.get(e)?.reject?.(new Error(`Error receiving message from worker: ${e}`))},A.onmessageerror=A=>{const{url:e}=A.data;c.get(e)?.reject?.(new Error(`Error receiving message from worker: ${e}`))},A}catch(A){return l.log.warn("Failed to new Worker",A),null}}).filter(Boolean),fontFamilies:new Map,fontCssTexts:new Map,acceptOfImage:`${[E(s)&&"image/webp","image/svg+xml","image/*","*/*"].filter(Boolean).join(",")};q=0.8`,requests:c,drawImageCount:0,tasks:[],features:i,isEnable:A=>"restoreScrollPosition"===A?"boolean"!=typeof i&&(i[A]??!1):"boolean"==typeof i?i:i[A]??!0,shadowRoots:[]};var g;l.log.time("wait until load"),await async function(A,e){y(A)&&(F(A)||b(A)?await D(A,e):await Promise.all(["img","video"].flatMap(t=>Array.from(A.querySelectorAll(t)).map(A=>D(A,e)))))}(A,{timeout:l.timeout,onWarn:l.log.warn}),l.log.timeEnd("wait until load");const{width:d,height:B}=function(A,e){let{width:t,height:n}=e;if(m(A)&&(!t||!n)){const e=A.getBoundingClientRect();t=t||e.width||Number(A.getAttribute("width"))||0,n=n||e.height||Number(A.getAttribute("height"))||0}return{width:t,height:n}}(A,l);return l.width=d,l.height=B,l}function V(A){if(!A)return;const e=A.createElement("style"),t=e.ownerDocument.createTextNode("\n.______background-clip--text {\n background-clip: text;\n -webkit-background-clip: text;\n}\n");return e.appendChild(t),e}async function N(A,e){const{log:t,timeout:n,drawImageCount:r,drawImageInterval:o}=e;t.time("image to canvas");const i=await D(A,{timeout:n,onWarn:e.log.warn}),{canvas:s,context2d:a}=function(A,e){const{width:t,height:n,scale:r,backgroundColor:o,maximumCanvasSize:i}=e,s=A.createElement("canvas");s.width=Math.floor(t*r),s.height=Math.floor(n*r),s.style.width=`${t}px`,s.style.height=`${n}px`,i&&(s.width>i||s.height>i)&&(s.width>i&&s.height>i?s.width>s.height?(s.height*=i/s.width,s.width=i):(s.width*=i/s.height,s.height=i):s.width>i?(s.height*=i/s.width,s.width=i):(s.width*=i/s.height,s.height=i));const a=s.getContext("2d");a&&o&&(a.fillStyle=o,a.fillRect(0,0,s.width,s.height));return{canvas:s,context2d:a}}(A.ownerDocument,e),c=()=>{try{a?.drawImage(i,0,0,s.width,s.height)}catch(A){e.log.warn("Failed to drawImage",A)}};if(c(),e.isEnable("fixSvgXmlDecode"))for(let A=0;A<r;A++)await new Promise(e=>{setTimeout(()=>{a?.clearRect(0,0,s.width,s.height),c(),e()},A+o)});return e.drawImageCount=0,t.timeEnd("image to canvas"),s}function G(A,e){if(A.ownerDocument)try{const e=A.toDataURL();if("data:,"!==e)return M(e,A.ownerDocument)}catch(A){e.log.warn("Failed to clone canvas",A)}const t=A.cloneNode(!1),n=A.getContext("2d"),r=t.getContext("2d");try{return n&&r&&r.putImageData(n.getImageData(0,0,A.width,A.height),0,0),t}catch(A){e.log.warn("Failed to clone canvas",A)}return t}function W(A,e){return(A=>"CANVAS"===A.tagName)(A)?G(A,e):(A=>"IFRAME"===A.tagName)(A)?function(A,e){try{if(A?.contentDocument?.body)return eA(A.contentDocument.body,e)}catch(A){e.log.warn("Failed to clone iframe",A)}return A.cloneNode(!1)}(A,e):F(A)?function(A){const e=A.cloneNode(!1);return A.currentSrc&&A.currentSrc!==A.src&&(e.src=A.currentSrc,e.srcset=""),"lazy"===e.loading&&(e.loading="eager"),e}(A):b(A)?async function(A,e){if(A.ownerDocument&&!A.currentSrc&&A.poster)return M(A.poster,A.ownerDocument);const t=A.cloneNode(!1);t.crossOrigin="anonymous",A.currentSrc&&A.currentSrc!==A.src&&(t.src=A.currentSrc);const n=t.ownerDocument;if(n){let r=!0;if(await D(t,{onError:()=>r=!1,onWarn:e.log.warn}),!r)return A.poster?M(A.poster,A.ownerDocument):t;t.currentTime=A.currentTime,await new Promise(A=>{t.addEventListener("seeked",A,{once:!0})});const o=n.createElement("canvas");o.width=A.offsetWidth,o.height=A.offsetHeight;try{const A=o.getContext("2d");A&&A.drawImage(t,0,0,o.width,o.height)}catch(n){return e.log.warn("Failed to clone video",n),A.poster?M(A.poster,A.ownerDocument):t}return G(o,e)}return t}(A,e):A.cloneNode(!1)}const _=["width","height","-webkit-text-fill-color"],X=["stroke","fill"];function J(A,e,t){const{defaultComputedStyles:n}=t,r=A.nodeName.toLowerCase(),o=C(A)&&"svg"!==r,i=o?X.map(e=>[e,A.getAttribute(e)]).filter(([,A])=>null!==A):[],s=[o&&"svg",r,i.map((A,e)=>`${A}=${e}`).join(","),e].filter(Boolean).join(":");if(n.has(s))return n.get(s);const a=function(A){let e=A.sandbox;if(!e){const{ownerDocument:t}=A;try{t&&(e=t.createElement("iframe"),e.id=`__SANDBOX__${k()}`,e.width="0",e.height="0",e.style.visibility="hidden",e.style.position="fixed",t.body.appendChild(e),e.srcdoc='<!DOCTYPE html><meta charset="UTF-8"><title></title><body>',A.sandbox=e)}catch(e){A.log.warn("Failed to getSandBox",e)}}return e}(t),c=a?.contentWindow;if(!c)return new Map;const l=c?.document;let u,h;o?(u=l.createElementNS(S,"svg"),h=u.ownerDocument.createElementNS(u.namespaceURI,r),i.forEach(([A,e])=>{h.setAttributeNS(null,A,e)}),u.appendChild(h)):u=h=l.createElement(r),h.textContent=" ",l.body.appendChild(u);const g=c.getComputedStyle(h,e),d=new Map;for(let A=g.length,e=0;e<A;e++){const A=g.item(e);_.includes(A)||d.set(A,g.getPropertyValue(A))}return l.body.removeChild(u),n.set(s,d),d}function Y(A,e,t){const n=new Map,r=[],o=new Map;if(t)for(const A of t)i(A);else for(let e=A.length,t=0;t<e;t++){i(A.item(t))}for(let A=r.length,e=0;e<A;e++)o.get(r[e])?.forEach((A,e)=>n.set(e,A));function i(t){const i=A.getPropertyValue(t),s=A.getPropertyPriority(t),a=t.lastIndexOf("-"),c=a>-1?t.substring(0,a):void 0;if(c){let A=o.get(c);A||(A=new Map,o.set(c,A)),A.set(t,[i,s])}(e.get(t)!==i||s)&&(c?r.push(c):n.set(t,[i,s]))}return n}const $=[":before",":after"],Z=[":-webkit-scrollbar",":-webkit-scrollbar-button",":-webkit-scrollbar-thumb",":-webkit-scrollbar-track",":-webkit-scrollbar-track-piece",":-webkit-scrollbar-corner",":-webkit-resizer"];const z=new Set(["symbol"]);async function j(A,e,t,n,r){if(m(t)&&((A=>"STYLE"===A.tagName)(t)||(A=>"SCRIPT"===A.tagName)(t)))return;if(n.filter&&!n.filter(t))return;z.has(e.nodeName)||z.has(t.nodeName)?n.currentParentNodeStyle=void 0:n.currentParentNodeStyle=n.currentNodeStyle;const o=await eA(t,n,!1,r);n.isEnable("restoreScrollPosition")&&function(A,e){if(!y(A)||!y(e))return;const{scrollTop:t,scrollLeft:n}=A;if(!t&&!n)return;const{transform:r}=e.style,o=new DOMMatrix(r),{a:i,b:s,c:a,d:c}=o;o.a=1,o.b=0,o.c=0,o.d=1,o.translateSelf(-n,-t),o.a=i,o.b=s,o.c=a,o.d=c,e.style.transform=o.toString()}(A,o),e.appendChild(o)}async function q(A,e,t,n){let r=A.firstChild;m(A)&&A.shadowRoot&&(r=A.shadowRoot?.firstChild,t.shadowRoots.push(A.shadowRoot));for(let o=r;o;o=o.nextSibling)if(!U(o))if(m(o)&&v(o)&&"function"==typeof o.assignedNodes){const r=o.assignedNodes();for(let o=0;o<r.length;o++)await j(A,e,r[o],t,n)}else await j(A,e,o,t,n)}const AA=/^[\w-:]+$/;async function eA(A,e,t=!1,n){const{ownerDocument:r,ownerWindow:o,fontFamilies:i,onCloneEachNode:s}=e;if(r&&(A=>3===A.nodeType)(A))return n&&/\S/.test(A.data)&&n(A.data),r.createTextNode(A.data);if(r&&o&&m(A)&&(y(A)||C(A))){const n=await W(A,e);if(e.isEnable("removeAbnormalAttributes")){const A=n.getAttributeNames();for(let e=A.length,t=0;t<e;t++){const e=A[t];AA.test(e)||n.removeAttribute(e)}}const r=e.currentNodeStyle=function(A,e,t,n){const{ownerWindow:r,includeStyleProperties:o,currentParentNodeStyle:i}=n,s=e.style,a=r.getComputedStyle(A),c=J(A,null,n);i?.forEach((A,e)=>{c.delete(e)});const l=Y(a,c,o);l.delete("transition-property"),l.delete("all"),l.delete("d"),l.delete("content"),t&&(l.delete("margin-top"),l.delete("margin-right"),l.delete("margin-bottom"),l.delete("margin-left"),l.delete("margin-block-start"),l.delete("margin-block-end"),l.delete("margin-inline-start"),l.delete("margin-inline-end"),l.set("box-sizing",["border-box",""])),"text"===l.get("background-clip")?.[0]&&e.classList.add("______background-clip--text"),f&&(l.has("font-kerning")||l.set("font-kerning",["normal",""]),"hidden"!==l.get("overflow-x")?.[0]&&"hidden"!==l.get("overflow-y")?.[0]||"ellipsis"!==l.get("text-overflow")?.[0]||A.scrollWidth!==A.clientWidth||l.set("text-overflow",["clip",""]));for(let A=s.length,e=0;e<A;e++)s.removeProperty(s.item(e));return l.forEach(([A,e],t)=>{s.setProperty(t,A,e)}),l}(A,n,t,e);t&&function(A,e){const{backgroundColor:t,width:n,height:r,style:o}=e,i=A.style;if(t&&i.setProperty("background-color",t,"important"),n&&i.setProperty("width",`${n}px`,"important"),r&&i.setProperty("height",`${r}px`,"important"),o)for(const A in o)i[A]=o[A]}(n,e);let o=!1;if(e.isEnable("copyScrollbar")){const e=[r.get("overflow-x")?.[0],r.get("overflow-y")?.[0]];o=e.includes("scroll")||(e.includes("auto")||e.includes("overlay"))&&(A.scrollHeight>A.clientHeight||A.scrollWidth>A.clientWidth)}const a=r.get("text-transform")?.[0],c=K(r.get("font-family")?.[0]),l=c?A=>{"uppercase"===a?A=A.toUpperCase():"lowercase"===a?A=A.toLowerCase():"capitalize"===a&&(A=A[0].toUpperCase()+A.substring(1)),c.forEach(e=>{let t=i.get(e);t||i.set(e,t=new Set),A.split("").forEach(A=>t.add(A))})}:void 0;return function(A,e,t,n,r){const{ownerWindow:o,svgStyleElement:i,svgStyles:s,currentNodeStyle:a}=n;function c(t){const i=o.getComputedStyle(A,t);let c=i.getPropertyValue("content");if(!c||"none"===c)return;r?.(c),c=c.replace(/(')|(")|(counter\(.+\))/g,"");const l=[k()],u=J(A,t,n);a?.forEach((A,e)=>{u.delete(e)});const h=Y(i,u,n.includeStyleProperties);h.delete("content"),h.delete("-webkit-locale"),"text"===h.get("background-clip")?.[0]&&e.classList.add("______background-clip--text");const g=[`content: '${c}';`];if(h.forEach(([A,e],t)=>{g.push(`${t}: ${A}${e?" !important":""};`)}),1===g.length)return;try{e.className=[e.className,...l].join(" ")}catch(A){return void n.log.warn("Failed to copyPseudoClass",A)}const d=g.join("\n ");let B=s.get(d);B||(B=[],s.set(d,B)),B.push(`.${l[0]}:${t}`)}i&&o&&($.forEach(c),t&&Z.forEach(c))}(A,n,o,e,l),function(A,e){((A=>"TEXTAREA"===A.tagName)(A)||(A=>"INPUT"===A.tagName)(A)||(A=>"SELECT"===A.tagName)(A))&&e.setAttribute("value",A.value)}(A,n),b(A)||await q(A,n,e,l),await(s?.(n)),n}const a=A.cloneNode(!1);return await q(A,a,e),await(s?.(a)),a}function tA(A){if(A.ownerDocument=void 0,A.ownerWindow=void 0,A.svgStyleElement=void 0,A.svgDefsElement=void 0,A.svgStyles.clear(),A.defaultComputedStyles.clear(),A.sandbox){try{A.sandbox.remove()}catch(e){A.log.warn("Failed to destroyContext",e)}A.sandbox=void 0}A.workers=[],A.fontFamilies.clear(),A.fontCssTexts.clear(),A.requests.clear(),A.tasks=[],A.shadowRoots=[]}function nA(A,e){const{url:t,requestType:n="text",responseType:r="text",imageDom:o}=e;let i=t;const{timeout:s,acceptOfImage:a,requests:c,fetchFn:l,fetch:{requestInit:u,bypassingCache:h,placeholderImage:g},font:d,workers:B,fontFamilies:f}=A;"image"===n&&(w||p)&&A.drawImageCount++;let m=c.get(t);if(!m){h&&h instanceof RegExp&&h.test(i)&&(i+=(/\?/.test(i)?"&":"?")+(new Date).getTime());const e=n.startsWith("font")&&d&&d.minify,p=new Set;if(e){n.split(";")[1].split(",").forEach(A=>{f.has(A)&&f.get(A).forEach(A=>p.add(A))})}const C=e&&p.size,Q={url:i,timeout:s,responseType:C?"arrayBuffer":r,headers:"image"===n?{accept:a}:void 0,...u};m={type:n,resolve:void 0,reject:void 0,response:null},m.response=(async()=>{if(l&&"image"===n){const A=await l(t);if(A)return A}return!w&&t.startsWith("http")&&B.length?new Promise((A,e)=>{B[c.size&B.length-1].postMessage({rawUrl:t,...Q}),m.resolve=A,m.reject=e}):function(A){const{url:e,timeout:t,responseType:n,...r}=A,o=new AbortController,i=t?setTimeout(()=>o.abort(),t):void 0;return fetch(e,{signal:o.signal,...r}).then(A=>{if(!A.ok)throw new Error("Failed fetch, not 2xx response",{cause:A});switch(n){case"arrayBuffer":return A.arrayBuffer();case"dataUrl":return A.blob().then(L);default:return A.text()}}).finally(()=>clearTimeout(i))}(Q)})().catch(e=>{if(c.delete(t),"image"===n&&g)return A.log.warn("Failed to fetch image base64, trying to use placeholder image",i),"string"==typeof g?g:g(o);throw e}),c.set(t,m)}return m.response}async function rA(A,e,t,n){if(!oA(A))return A;for(const[r,o]of function(A,e){const t=[];return A.replace(iA,(A,n,r)=>(t.push([r,I(r,e)]),A)),t.filter(([A])=>!H(A))}(A,e))try{const e=await nA(t,{url:o,requestType:n?"image":"text",responseType:"dataUrl"});A=A.replace(sA(r),`$1${e}$3`)}catch(A){t.log.warn("Failed to fetch css data url",r,A)}return A}function oA(A){return/url\((['"]?)([^'"]+?)\1\)/.test(A)}const iA=/url\((['"]?)([^'"]+?)\1\)/g;function sA(A){const e=A.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1");return new RegExp(`(url\\(['"]?)(${e})(['"]?\\))`,"g")}const aA=["background-image","border-image-source","-webkit-border-image","-webkit-mask-image","list-style-image"];function cA(A,e){const{tasks:t}=e;m(A)&&((F(A)||Q(A))&&t.push(...function(A,e){if(F(A)){const t=A.currentSrc||A.src;if(!H(t))return[nA(e,{url:t,imageDom:A,requestType:"image",responseType:"dataUrl"}).then(e=>{e&&(A.srcset="",A.dataset.originalSrc=t,A.src=e||"")})];(w||p)&&e.drawImageCount++}else if(C(A)&&!H(A.href.baseVal)){const t=A.href.baseVal;return[nA(e,{url:t,imageDom:A,requestType:"image",responseType:"dataUrl"}).then(e=>{e&&(A.dataset.originalSrc=t,A.href.baseVal=e||"")})]}return[]}(A,e)),"use"===A.tagName&&t.push(...function(A,e){const{ownerDocument:t,svgDefsElement:n}=e,r=A.getAttribute("href")??A.getAttribute("xlink:href");if(!r)return[];const[o,i]=r.split("#");if(i){const r=`#${i}`,s=e.shadowRoots.reduce((A,e)=>A??e.querySelector(`svg ${r}`),t?.querySelector(`svg ${r}`));if(o&&A.setAttribute("href",r),n?.querySelector(r))return[];if(s)return n?.appendChild(s.cloneNode(!0)),[];if(o)return[nA(e,{url:o,responseType:"text"}).then(A=>{n?.insertAdjacentHTML("beforeend",A)})]}return[]}(A,e))),y(A)&&t.push(...function(A,e){return aA.map(t=>{const n=A.getPropertyValue(t);return n&&"none"!==n?((w||p)&&e.drawImageCount++,rA(n,null,e,!0).then(e=>{e&&n!==e&&A.setProperty(t,e,A.getPropertyPriority(t))})):null}).filter(Boolean)}(A.style,e)),A.childNodes.forEach(A=>{cA(A,e)})}async function lA(A,e){const{ownerDocument:t,svgStyleElement:n,fontFamilies:r,fontCssTexts:o,tasks:i,font:s}=e;if(t&&n&&r.size)if(s&&s.cssText){const A=BA(s.cssText,e);n.appendChild(t.createTextNode(`${A}\n`))}else{const A=Array.from(t.styleSheets).filter(A=>{try{return"cssRules"in A&&Boolean(A.cssRules.length)}catch(t){return e.log.warn(`Error while reading CSS rules from ${A.href}`,t),!1}});await Promise.all(A.flatMap(A=>Array.from(A.cssRules).map(async(t,n)=>{if("CSSImportRule"===t.constructor.name){let r=n+1;const o=t.href;let i="";try{i=await nA(e,{url:o,requestType:"text",responseType:"text"})}catch(A){e.log.warn(`Error fetch remote css import from ${o}`,A)}const s=i.replace(iA,(A,e,t)=>A.replace(t,I(t,o)));for(const t of function(A){if(null==A)return[];const e=[];let t=A.replace(uA,"");for(;;){const A=hA.exec(t);if(!A)break;e.push(A[0])}t=t.replace(hA,"");const n=/@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi,r=new RegExp("((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})","gi");for(;;){let A=n.exec(t);if(A)r.lastIndex=n.lastIndex;else{if(A=r.exec(t),!A)break;n.lastIndex=r.lastIndex}e.push(A[0])}return e}(s))try{A.insertRule(t,t.startsWith("@import")?r+=1:A.cssRules.length)}catch(A){e.log.warn("Error inserting rule from remote css import",{rule:t,error:A})}}})));A.flatMap(A=>Array.from(A.cssRules)).filter(A=>"CSSFontFaceRule"===A.constructor.name&&oA(A.style.getPropertyValue("src"))&&K(A.style.getPropertyValue("font-family"))?.some(A=>r.has(A))).forEach(A=>{const r=A,s=o.get(r.cssText);s?n.appendChild(t.createTextNode(`${s}\n`)):i.push(rA(r.cssText,r.parentStyleSheet?r.parentStyleSheet.href:null,e).then(A=>{A=BA(A,e),o.set(r.cssText,A),n.appendChild(t.createTextNode(`${A}\n`))}))})}}const uA=/(\/\*[\s\S]*?\*\/)/g,hA=/((@.*?keyframes [\s\S]*?){([\s\S]*?}\s*?)})/gi;const gA=/url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g,dA=/src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;function BA(A,e){const{font:t}=e,n=t?t?.preferredFormat:void 0;return n?A.replace(dA,A=>{for(;;){const[e,,t]=gA.exec(A)||[];if(!t)return"";if(t===n)return`src: ${e};`}}):A}async function fA(A,e){const t=await P(A,e);if(m(t.node)&&C(t.node))return t.node;const{ownerDocument:n,log:r,tasks:o,svgStyleElement:i,svgDefsElement:s,svgStyles:a,font:c,progress:l,autoDestruct:u,onCloneNode:h,onEmbedNode:g,onCreateForeignObjectSvg:d}=t;r.time("clone node");const B=await eA(t.node,t,!0);if(i&&n){let A="";a.forEach((e,t)=>{A+=`${e.join(",\n")} {\n ${t}\n}\n`}),i.appendChild(n.createTextNode(A))}r.timeEnd("clone node"),await(h?.(B)),!1!==c&&m(B)&&(r.time("embed web font"),await lA(0,t),r.timeEnd("embed web font")),r.time("embed node"),cA(B,t);const f=o.length;let w=0;l?.(w,f),await Promise.all([...Array.from({length:4})].map(async()=>{for(;;){const A=o.pop();if(!A)break;try{await A}catch(A){t.log.warn("Failed to run task",A)}l?.(++w,f)}})),r.timeEnd("embed node"),await(g?.(B));const p=function(A,e){const{width:t,height:n}=e,r=function(A,e,t){const n=x(t).createElementNS(S,"svg");return n.setAttributeNS(null,"width",A.toString()),n.setAttributeNS(null,"height",e.toString()),n.setAttributeNS(null,"viewBox",`0 0 ${A} ${e}`),n}(t,n,A.ownerDocument),o=r.ownerDocument.createElementNS(r.namespaceURI,"foreignObject");return o.setAttributeNS(null,"x","0%"),o.setAttributeNS(null,"y","0%"),o.setAttributeNS(null,"width","100%"),o.setAttributeNS(null,"height","100%"),o.append(A),r.appendChild(o),r}(B,t);return s&&p.insertBefore(s,p.children[0]),i&&p.insertBefore(i,p.children[0]),u&&tA(t),await(d?.(p)),p}async function wA(A,e){const t=await P(A,e),n=await fA(t),r=function(A,e){let t=(new XMLSerializer).serializeToString(A);return e&&(t=t.replace(/[\u0000-\u0008\v\f\u000E-\u001F\uD800-\uDFFF\uFFFE\uFFFF]/gu,"")),`data:image/svg+xml;charset=utf-8,${encodeURIComponent(t)}`}(n,t.isEnable("removeControlCharacter"));t.autoDestruct||(t.svgStyleElement=V(t.ownerDocument),t.svgDefsElement=t.ownerDocument?.createElementNS(S,"defs"),t.svgStyles.clear());const o=M(r,n.ownerDocument);return await N(o,t)}async function pA(A,e){const t=await P(A,e),{log:n,quality:r,type:o,dpi:i}=t,s=await wA(t);n.time("canvas to data url");let a=s.toDataURL(o,r);if(["image/png","image/jpeg"].includes(o)&&i&&g&&d){const[A,e]=a.split(",");let t=0,n=!1;if("image/png"===o){const A=function(A){let e=A.indexOf("AAlwSFlz");return-1===e&&(e=A.indexOf("AAAJcEhZ")),-1===e&&(e=A.indexOf("AAAACXBI")),e}(e);A>=0?(t=4*Math.ceil((A+28)/3),n=!0):t=44}else"image/jpeg"===o&&(t=24);const r=e.substring(0,t),s=e.substring(t),l=window.atob(r),u=new Uint8Array(l.length);for(let A=0;A<u.length;A++)u[A]=l.charCodeAt(A);const h="image/png"===o?c(u,i,n):function(A,e){return A[13]=1,A[14]=e>>8,A[15]=255&e,A[16]=e>>8,A[17]=255&e,A}(u,i);a=[A,",",window.btoa(String.fromCharCode(...h)),s].join("")}return n.timeEnd("canvas to data url"),a}async function mA(A,e){return pA(await P(A,{...e,type:"image/jpeg"}))}async function CA(A,e){return pA(await P(A,{...e,type:"image/png"}))}async function QA(A,e){return pA(await P(A,{...e,type:"image/webp"}))}var yA={image:new Map,background:new Map,resource:new Map,defaultStyle:new Map,baseStyle:new Map,computedStyle:new WeakMap,font:new Set,session:{styleMap:new Map,styleCache:new WeakMap,nodeMap:new Map}};function UA(A){const e=A.match(/url\((['"]?)(.*?)(\1)\)/);if(!e)return null;const t=e[2].trim();return t.startsWith("#")?null:t}function FA(A){if(/%[0-9A-Fa-f]{2}/.test(A))return A;try{return encodeURI(A)}catch{return A}}var bA=function(A="[snapDOM]",{ttlMs:e=3e5,maxEntries:t=12}={}){const n=new Map;let r=0;function o(o,i,s){if(r>=t)return;const a=Date.now();(n.get(i)||0)>a||(n.set(i,a+e),r++,"warn"===o&&console&&console.warn?console.warn(`${A} ${s}`):console&&console.error&&console.error(`${A} ${s}`))}return{warnOnce(A,e){o("warn",A,e)},errorOnce(A,e){o("error",A,e)},reset(){n.clear(),r=0}}}("[snapDOM]",{ttlMs:18e4,maxEntries:10}),vA=new Map,EA=new Map;function HA(A,e){if(!e)return!1;if(function(A){return/^data:|^blob:|^about:blank$/i.test(A)}(A))return!1;if(function(A,e){try{const t="undefined"!=typeof location&&location.href?location.href:"http://localhost/",n=e.includes("{url}")?e.split("{url}")[0]:e,r=new URL(n||".",t),o=new URL(A,t);if(o.origin===r.origin)return!0;const i=o.searchParams;if(i&&(i.has("url")||i.has("target")))return!0}catch{}return!1}(A,e))return!1;try{const e="undefined"!=typeof location&&location.href?location.href:"http://localhost/",t=new URL(A,e);return"undefined"==typeof location||t.origin!==location.origin}catch{return!!e}}function IA(A){return new Promise((e,t)=>{const n=new FileReader;n.onload=()=>e(String(n.result||"")),n.onerror=()=>t(new Error("read_failed")),n.readAsDataURL(A)})}async function xA(A,e={}){const t=e.as??"blob",n=e.timeout??3e3,r=e.useProxy||"",o=e.errorTTL??8e3,i=e.headers||{},s=!!e.silent;if(/^data:/i.test(A))try{if("text"===t)return{ok:!0,data:String(A),status:200,url:A,fromCache:!1};if("dataURL"===t)return{ok:!0,data:String(A),status:200,url:A,fromCache:!1,mime:String(A).slice(5).split(";")[0]||""};const[,e="",n=""]=String(A).match(/^data:([^,]*),(.*)$/)||[],r=/;base64/i.test(e)?atob(n):decodeURIComponent(n),o=new Uint8Array([...r].map(A=>A.charCodeAt(0))),i=new Blob([o],{type:(e||"").split(";")[0]||""});return{ok:!0,data:i,status:200,url:A,fromCache:!1,mime:i.type||""}}catch{return{ok:!1,data:null,status:0,url:A,fromCache:!1,reason:"special_url_error"}}if(/^blob:/i.test(A))try{const e=await fetch(A);if(!e.ok)return{ok:!1,data:null,status:e.status,url:A,fromCache:!1,reason:"http_error"};const n=await e.blob(),r=n.type||e.headers.get("content-type")||"";if("dataURL"===t){return{ok:!0,data:await IA(n),status:e.status,url:A,fromCache:!1,mime:r}}if("text"===t){return{ok:!0,data:await n.text(),status:e.status,url:A,fromCache:!1,mime:r}}return{ok:!0,data:n,status:e.status,url:A,fromCache:!1,mime:r}}catch{return{ok:!1,data:null,status:0,url:A,fromCache:!1,reason:"network"}}if(/^about:blank$/i.test(A))return"dataURL"===t?{ok:!0,data:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg==",status:200,url:A,fromCache:!1,mime:"image/png"}:{ok:!0,data:"text"===t?"":new Blob([]),status:200,url:A,fromCache:!1};const a=function(A,e){return[e.as||"blob",e.timeout??3e3,e.useProxy||"",e.errorTTL??8e3,A].join("|")}(A,{as:t,timeout:n,useProxy:r,errorTTL:o}),c=EA.get(a);if(c&&c.until>Date.now())return{...c.result,fromCache:!0};c&&EA.delete(a);const l=vA.get(a);if(l)return l;const u=HA(A,r)?function(A,e){if(!e)return A;if(e.includes("{url}"))return e.replace("{urlRaw}",FA(A)).replace("{url}",encodeURIComponent(A));if(/[?&]url=?$/.test(e))return`${e}${encodeURIComponent(A)}`;if(e.endsWith("?"))return`${e}url=${encodeURIComponent(A)}`;if(e.endsWith("/"))return`${e}${FA(A)}`;const t=e.includes("?")?"&":"?";return`${e}${t}url=${encodeURIComponent(A)}`}(A,r):A;let h=e.credentials;if(!h)try{const e="undefined"!=typeof location&&location.href?location.href:"http://localhost/",t=new URL(A,e),n="undefined"!=typeof location&&t.origin===location.origin;h=n?"include":"omit"}catch{h="omit"}const g=new AbortController,d=setTimeout(()=>g.abort("timeout"),n),B=(async()=>{try{const n=await fetch(u,{signal:g.signal,credentials:h,headers:i});if(!n.ok){const r={ok:!1,data:null,status:n.status,url:u,fromCache:!1,reason:"http_error"};if(o>0&&EA.set(a,{until:Date.now()+o,result:r}),!s){const e=`${n.status} ${n.statusText||""}`.trim();bA.warnOnce(`http:${n.status}:${t}:${new URL(A,location?.href??"http://localhost/").origin}`,`HTTP error ${e} while fetching ${t} ${A}`)}return e.onError&&e.onError(r),r}if("text"===t){return{ok:!0,data:await n.text(),status:n.status,url:u,fromCache:!1}}const r=await n.blob(),c=r.type||n.headers.get("content-type")||"";if("dataURL"===t){return{ok:!0,data:await IA(r),status:n.status,url:u,fromCache:!1,mime:c}}return{ok:!0,data:r,status:n.status,url:u,fromCache:!1,mime:c}}catch(r){const i=r&&"object"==typeof r&&"name"in r&&"AbortError"===r.name?String(r.message||"").includes("timeout")?"timeout":"abort":"network",c={ok:!1,data:null,status:0,url:u,fromCache:!1,reason:i};if(!/^blob:/i.test(A)&&o>0&&EA.set(a,{until:Date.now()+o,result:c}),!s){const e=`${i}:${t}:${new URL(A,location?.href??"http://localhost/").origin}`,r="timeout"===i?`Timeout after ${n}ms. Consider increasing timeout or using a proxy for ${A}`:"abort"===i?`Request aborted while fetching ${t} ${A}`:`Network/CORS issue while fetching ${t} ${A}. A proxy may be required`;bA.errorOnce(e,r)}return e.onError&&e.onError(c),c}finally{clearTimeout(d),vA.delete(a)}})();return vA.set(a,B),B}function SA(A,e){if(!e||!A.width||!A.height)return A;const t=document.createElement("canvas");t.width=A.width,t.height=A.height;const n=t.getContext("2d");return n.fillStyle=e,n.fillRect(0,0,t.width,t.height),n.drawImage(A,0,0),t}async function LA(A,e={}){if(/^((repeating-)?(linear|radial|conic)-gradient)\(/i.test(A)||"none"===A.trim())return A;const t=UA(A);if(!t)return A;const n=FA(t);if(yA.background.has(n)){const A=yA.background.get(n);return A?`url("${A}")`:"none"}try{const A=await xA(n,{as:"dataURL",useProxy:e.useProxy});return A.ok?(yA.background.set(n,A.data),`url("${A.data}")`):(yA.background.set(n,null),"none")}catch{return yA.background.set(n,null),"none"}}var MA=new Set(["meta","script","noscript","title","link","template"]),DA=new Set(["meta","link","style","title","noscript","script","template","g","defs","use","marker","mask","clipPath","pattern","path","polygon","polyline","line","circle","ellipse","rect","filter","lineargradient","radialgradient","stop"]);var kA=/(?:^|-)(animation|transition)(?:-|$)/i,KA=/^(--|view-timeline|scroll-timeline|animation-trigger|offset-|position-try|app-region|interactivity|overlay|view-transition|-webkit-locale|-webkit-user-(?:drag|modify)|-webkit-tap-highlight-color|-webkit-text-security)$/i,TA=new Set(["cursor","pointer-events","touch-action","user-select","print-color-adjust","speak","reading-flow","reading-order","anchor-name","anchor-scope","container-name","container-type","timeline-scope"]);function RA(A){const e=String(A).toLowerCase();return!!TA.has(e)||(!!KA.test(e)||!!kA.test(e))}function PA(A,e){if(e=String(e||"").toLowerCase(),DA.has(e))return"";const t=[],n=function(A){if(A=String(A).toLowerCase(),DA.has(A)){const e={};return yA.defaultStyle.set(A,e),e}if(yA.defaultStyle.has(A))return yA.defaultStyle.get(A);let e=document.getElementById("snapdom-sandbox");e||(e=document.createElement("div"),e.id="snapdom-sandbox",e.setAttribute("data-snapdom-sandbox","true"),e.setAttribute("aria-hidden","true"),e.style.position="absolute",e.style.left="-9999px",e.style.top="-9999px",e.style.width="0px",e.style.height="0px",e.style.overflow="hidden",document.body.appendChild(e));const t=document.createElement(A);t.style.all="initial",e.appendChild(t);const n=getComputedStyle(t),r={};for(let A of n){if(RA(A))continue;const e=n.getPropertyValue(A);r[A]=e}return e.removeChild(t),yA.defaultStyle.set(A,r),r}(e);for(let[e,r]of Object.entries(A)){if(RA(e))continue;const A=n[e];r&&r!==A&&t.push(`${e}:${r}`)}return t.sort(),t.join(";")}function OA(A,e=null){if(!(A instanceof Element))return window.getComputedStyle(A,e);let t=yA.computedStyle.get(A);if(t||(t=new Map,yA.computedStyle.set(A,t)),!t.has(e)){const n=window.getComputedStyle(A,e);t.set(e,n)}return t.get(e)}function VA(A){const e={};for(let t of A)e[t]=A.getPropertyValue(t);return e}function NA(A){const e=[];let t=0,n=0;for(let r=0;r<A.length;r++){const o=A[r];"("===o&&t++,")"===o&&t--,","===o&&0===t&&(e.push(A.slice(n,r).trim()),n=r+1)}return e.push(A.slice(n).trim()),e}function GA(A,{fast:e=!1}={}){if(e)return A();"requestIdleCallback"in window?requestIdleCallback(A,{timeout:50}):setTimeout(A,1)}function WA(){const A="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent:"",e=/^((?!chrome|android).)*safari/i.test(A),t=/AppleWebKit/i.test(A)&&/Mobile/i.test(A)&&!/Safari/i.test(A),n=/(MicroMessenger|wxwork|WeCom|WindowsWechat|MacWechat)/i.test(A);return e||t||n}var _A=new WeakMap,XA=new Map,JA=0;function YA(){JA++}var $A=!1;var ZA=new WeakMap;function zA(A,e=null,t={}){const n=_A.get(A);if(n&&n.epoch===JA)return n.snapshot;const r=e||getComputedStyle(A),o=function(A,e={}){const t={},n=A.getPropertyValue("visibility");for(let e=0;e<A.length;e++){const n=A[e];let r=A.getPropertyValue(n);"background-image"!==n&&"content"!==n||!r.includes("url(")||r.includes("data:")||(r="none"),t[n]=r}if(e.embedFonts){const e=["font-feature-settings","font-variation-settings","font-kerning","font-variant","font-variant-ligatures","font-optical-sizing"];for(const n of e)if(!t[n])try{const e=A.getPropertyValue(n);e&&(t[n]=e)}catch{}}return"hidden"===n&&(t.opacity="0"),t}(r,t);return function(A,e,t){if(A instanceof HTMLElement&&A.style&&A.style.height)return;const n=e.display||"";if(n.includes("flex")||n.includes("grid"))return;if(function(A){return A instanceof HTMLImageElement||A instanceof HTMLCanvasElement||A instanceof HTMLVideoElement||A instanceof HTMLIFrameElement||A instanceof SVGElement||A instanceof HTMLObjectElement||A instanceof HTMLEmbedElement}(A))return;const r=e.position;if("absolute"===r||"fixed"===r||"sticky"===r)return;if("none"!==e.transform)return;if(function(A){if(A.backgroundImage&&"none"!==A.backgroundImage)return!0;if(A.backgroundColor&&"rgba(0, 0, 0, 0)"!==A.backgroundColor&&"transparent"!==A.backgroundColor)return!0;if((parseFloat(A.borderTopWidth)||0)>0)return!0;if((parseFloat(A.borderBottomWidth)||0)>0)return!0;if((parseFloat(A.paddingTop)||0)>0)return!0;if((parseFloat(A.paddingBottom)||0)>0)return!0;const e=A.overflowBlock||A.overflowY||"visible";return"visible"!==e}(e))return;if(function(A){const e=A.parentElement;if(!e)return!1;const t=getComputedStyle(e).display||"";return t.includes("flex")||t.includes("grid")}(A))return;if(!function(A,e){if(A.textContent&&/\S/.test(A.textContent))return!0;const t=A.firstElementChild,n=A.lastElementChild;if(t&&"BR"===t.tagName||n&&"BR"===n.tagName)return!0;const r=A.scrollHeight;if(0===r)return!1;const o=parseFloat(e.paddingTop)||0,i=parseFloat(e.paddingBottom)||0;return r>o+i}(A,e))return;delete t.height,delete t["block-size"]}(A,r,o),_A.set(A,{epoch:JA,snapshot:o}),o}async function jA(A,e,t,n){if("STYLE"===A.tagName)return;const r=function(A,e){return A&&A.session&&A.persist?A:A&&(A.styleMap||A.styleCache||A.nodeMap)?{session:A,persist:{snapshotKeyCache:XA,defaultStyle:yA.defaultStyle,baseStyle:yA.baseStyle,image:yA.image,resource:yA.resource,background:yA.background,font:yA.font},options:e||{}}:{session:yA.session,persist:{snapshotKeyCache:XA,defaultStyle:yA.defaultStyle,baseStyle:yA.baseStyle,image:yA.image,resource:yA.resource,background:yA.background,font:yA.font},options:A||e||{}}}(t,n),o=r.options&&r.options.cache||"auto";if("disabled"!==o&&function(A=document.documentElement){if(!$A){$A=!0;try{new MutationObserver(()=>YA()).observe(A,{subtree:!0,childList:!0,characterData:!0,attributes:!0})}catch{}try{new MutationObserver(()=>YA()).observe(document.head,{subtree:!0,childList:!0,characterData:!0,attributes:!0})}catch{}try{const A=document.fonts;A&&(A.addEventListener?.("loadingdone",YA),A.ready?.then(()=>YA()).catch(()=>{}))}catch{}}}(document.documentElement),"disabled"!==o||r.session.__bumpedForDisabled||(YA(),XA.clear(),r.session.__bumpedForDisabled=!0),DA.has(A.tagName?.toLowerCase())){const t=A.getAttribute?.("style");t&&e.setAttribute("style",t)}const{session:i,persist:s}=r;i.styleCache.has(A)||i.styleCache.set(A,getComputedStyle(A));const a=zA(A,i.styleCache.get(A),r.options),c=function(A){let e=ZA.get(A);return e||(e=Object.entries(A).sort((A,e)=>A[0]<e[0]?-1:A[0]>e[0]?1:0).map(([A,e])=>`${A}:${e}`).join(";"),ZA.set(A,e),e)}(a);let l=s.snapshotKeyCache.get(c);if(!l){l=PA(a,A.tagName?.toLowerCase()||"div"),s.snapshotKeyCache.set(c,l)}i.styleMap.set(e,l)}function qA(A,e,t){return Promise.all(A.map(A=>new Promise(n=>{!function r(){GA(t=>{!t||"function"!=typeof t.timeRemaining||t.timeRemaining()>0?e(A,n):r()},{fast:t})}()})))}function Ae(A,e){return A?A=(A=(A=(A=(A=A.replace(/:host\(([^)]+)\)/g,(A,t)=>`:where(${e}:is(${t.trim()}))`)).replace(/:host\b/g,`:where(${e})`)).replace(/:host-context\(([^)]+)\)/g,(A,t)=>`:where(:where(${t.trim()}) ${e})`)).replace(/::slotted\(([^)]+)\)/g,(A,t)=>`:where(${e} ${t.trim()})`)).replace(/(^|})(\s*)([^@}{]+){/g,(A,t,n,r)=>{const o=function(A,e,t=!0){return A.split(",").map(A=>A.trim()).filter(Boolean).map(A=>{if(A.startsWith(":where("))return A;if(A.startsWith("@"))return A;const n=t?(r=(r=A).trim())?/:not\(\s*\[data-sd-slotted\]\s*\)\s*$/.test(r)?r:`${r}:not([data-sd-slotted])`:r:A;var r;return`:where(${e} ${n})`}).join(", ")}(r,e,!0);return`${t}${n}${o}{`}):""}function ee(A,e){try{let t=getComputedStyle(A).getPropertyValue(e).trim();if(t)return t}catch{}try{let A=getComputedStyle(document.documentElement).getPropertyValue(e).trim();if(A)return A}catch{}return""}async function te(A,e,t){const n=await async function(A,e=3){const t=()=>{try{return A.contentDocument||A.contentWindow?.document||null}catch{return null}};let n=t(),r=0;for(;r<e&&(!n||!n.body&&!n.documentElement);)await new Promise(A=>setTimeout(A,0)),n=t(),r++;return n&&(n.body||n.documentElement)?n:null}(A,3);if(!n)throw new Error("iframe document not accessible/ready");const{contentWidth:r,contentHeight:o,rect:i}=function(A){const e=A.getBoundingClientRect();let t=0,n=0,r=0,o=0;try{const e=getComputedStyle(A);t=parseFloat(e.borderLeftWidth)||0,n=parseFloat(e.borderRightWidth)||0,r=parseFloat(e.borderTopWidth)||0,o=parseFloat(e.borderBottomWidth)||0}catch{}return{contentWidth:Math.max(0,Math.round(e.width-(t+n))),contentHeight:Math.max(0,Math.round(e.height-(r+o))),rect:e}}(A),s=t?.snap;if(!s||"function"!=typeof s.toPng)throw new Error("snapdom.toPng not available in iframe or window");const a={...t,scale:1},c=function(A,e,t){const n=A.createElement("style");return n.setAttribute("data-sd-iframe-pin",""),n.textContent=`html, body {margin: 0 !important;padding: 0 !important;width: ${e}px !important;height: ${t}px !important;min-width: ${e}px !important;min-height: ${t}px !important;box-sizing: border-box !important;overflow: hidden !important;background-clip: border-box !important;}`,(A.head||A.documentElement).appendChild(n),()=>{try{n.remove()}catch{}}}(n,r,o);let l;try{l=await s.toPng(n.documentElement,a)}finally{c()}l.style.display="block",l.style.width=`${r}px`,l.style.height=`${o}px`;const u=document.createElement("div");return e.nodeMap.set(u,A),jA(A,u,e,t),u.style.overflow="hidden",u.style.display="block",u.style.width||(u.style.width=`${Math.round(i.width)}px`),u.style.height||(u.style.height=`${Math.round(i.height)}px`),u.appendChild(l),u}async function ne(A,e,t){if(!A)throw new Error("Invalid node");const n=new Set;let r,o=null,i=null;if(A.nodeType===Node.ELEMENT_NODE){const e=(A.localName||A.tagName||"").toLowerCase();if("snapdom-sandbox"===A.id||A.hasAttribute("data-snapdom-sandbox"))return null;if(MA.has(e))return null}if(A.nodeType===Node.TEXT_NODE)return A.cloneNode(!0);if(A.nodeType!==Node.ELEMENT_NODE)return A.cloneNode(!0);if("exclude"===A.getAttribute("data-capture")){if("hide"===t.excludeMode){const e=document.createElement("div"),t=A.getBoundingClientRect();return e.style.cssText=`display:inline-block;width:${t.width}px;height:${t.height}px;visibility:hidden;`,e}if("remove"===t.excludeMode)return null}if(t.exclude&&Array.isArray(t.exclude))for(const e of t.exclude)try{if(A.matches?.(e)){if("hide"===t.excludeMode){const e=document.createElement("div"),t=A.getBoundingClientRect();return e.style.cssText=`display:inline-block;width:${t.width}px;height:${t.height}px;visibility:hidden;`,e}if("remove"===t.excludeMode)return null}}catch(A){console.warn(`Invalid selector in exclude option: ${e}`,A)}if("function"==typeof t.filter)try{if(!t.filter(A)){if("hide"===t.filterMode){const e=document.createElement("div"),t=A.getBoundingClientRect();return e.style.cssText=`display:inline-block;width:${t.width}px;height:${t.height}px;visibility:hidden;`,e}if("remove"===t.filterMode)return null}}catch(A){console.warn("Error in filter function:",A)}if("IFRAME"===A.tagName){let n=!1;try{n=!(!A.contentDocument&&!A.contentWindow?.document)}catch{n=!1}if(n)try{return await te(A,e,t)}catch(A){console.warn("[SnapDOM] iframe rasterization failed, fallback:",A)}if(t.placeholders){const n=document.createElement("div");return n.style.cssText=`width:${A.offsetWidth}px;height:${A.offsetHeight}px;background-image:repeating-linear-gradient(45deg,#ddd,#ddd 5px,#f9f9f9 5px,#f9f9f9 10px);display:flex;align-items:center;justify-content:center;font-size:12px;color:#555;border:1px solid #aaa;`,jA(A,n,e,t),n}{const n=A.getBoundingClientRect(),r=document.createElement("div");return r.style.cssText=`display:inline-block;width:${n.width}px;height:${n.height}px;visibility:hidden;`,jA(A,r,e,t),r}}if("placeholder"===A.getAttribute("data-capture")){const n=A.cloneNode(!1);e.nodeMap.set(n,A),jA(A,n,e,t);const r=document.createElement("div");return r.textContent=A.getAttribute("data-placeholder-text")||"",r.style.cssText="color:#666;font-size:12px;text-align:center;line-height:1.4;padding:0.5em;box-sizing:border-box;",n.appendChild(r),n}if("CANVAS"===A.tagName){const n=A.toDataURL(),r=document.createElement("img");return r.src=n,r.width=A.width,r.height=A.height,e.nodeMap.set(r,A),jA(A,r,e,t),r}try{if(r=A.cloneNode(!1),function(A,e){if(!(A instanceof Element&&e instanceof Element))return;const t=A.getAttribute?.("style");let n,r=!(!t||!t.includes("var("));if(!r&&A.attributes?.length){const e=A.attributes;for(let A=0;A<e.length;A++){const t=e[A];if(t&&"string"==typeof t.value&&t.value.includes("var(")){r=!0;break}}}if(!r)return;try{n=getComputedStyle(A)}catch{return}const o=A.style;if(o&&o.length)for(let A=0;A<o.length;A++){const t=o[A],r=o.getPropertyValue(t);if(!r||!r.includes("var("))continue;const i=n.getPropertyValue(t);if(i)try{e.style.setProperty(t,i.trim(),o.getPropertyPriority(t))}catch{}}if(A.attributes?.length){const t=A.attributes;for(let A=0;A<t.length;A++){const r=t[A];if(!r||"string"!=typeof r.value||!r.value.includes("var("))continue;const o=r.name;let i="";try{i=n.getPropertyValue(o)}catch{}if(i)try{e.style.setProperty(o,i.trim())}catch{}}}}(A,r),e.nodeMap.set(r,A),"IMG"===A.tagName){!function(A,e){try{const t=A.currentSrc||A.src||"";if(!t)return;e.setAttribute("src",t),e.removeAttribute("srcset"),e.removeAttribute("sizes"),e.loading="eager",e.decoding="sync"}catch{}}(A,r);try{const e=A.getBoundingClientRect();let t=Math.round(e.width||0),n=Math.round(e.height||0);if(!t||!n){const e=window.getComputedStyle(A),r=parseFloat(e.width)||0,o=parseFloat(e.height)||0,i=parseInt(A.getAttribute("width")||"",10)||0,s=parseInt(A.getAttribute("height")||"",10)||0,a=A.width||A.naturalWidth||0,c=A.height||A.naturalHeight||0;t=Math.round(t||r||i||a||0),n=Math.round(n||o||s||c||0)}t&&(r.dataset.snapdomWidth=String(t)),n&&(r.dataset.snapdomHeight=String(n))}catch{}}}catch(e){throw console.error("[Snapdom] Failed to clone node:",A,e),e}if(A instanceof HTMLTextAreaElement){const e=A.getBoundingClientRect();r.style.width=`${e.width}px`,r.style.height=`${e.height}px`}if(A instanceof HTMLInputElement&&(r.value=A.value,r.setAttribute("value",A.value),void 0!==A.checked&&(r.checked=A.checked,A.checked&&r.setAttribute("checked",""),A.indeterminate&&(r.indeterminate=A.indeterminate))),A instanceof HTMLSelectElement&&(o=A.value),A instanceof HTMLTextAreaElement&&(i=A.value),jA(A,r,e,t),A.shadowRoot){let o=function(A,n){if(A.nodeType===Node.ELEMENT_NODE&&"STYLE"===A.tagName)return n(null);ne(A,e,t).then(A=>{n(A||null)}).catch(()=>{n(null)})};try{const e=A.shadowRoot.querySelectorAll("slot");for(const A of e){let e=[];try{e=A.assignedNodes?.({flatten:!0})||A.assignedNodes?.()||[]}catch{e=A.assignedNodes?.()||[]}for(const A of e)n.add(A)}}catch{}const i=function(A){return A.shadowScopeSeq=(A.shadowScopeSeq||0)+1,`s${A.shadowScopeSeq}`}(e),s=`[data-sd="${i}"]`;try{r.setAttribute("data-sd",i)}catch{}const a=function(A){let e="";try{A.querySelectorAll("style").forEach(A=>{e+=(A.textContent||"")+"\n"});const t=A.adoptedStyleSheets||[];for(const A of t)try{if(A&&A.cssRules)for(const t of A.cssRules)e+=t.cssText+"\n"}catch{}}catch{}return e}(A.shadowRoot),c=Ae(a,s),l=function(A,e,t){const n=[];for(const t of e){const e=ee(A,t);e&&n.push(`${t}: ${e};`)}return n.length?`${t}{${n.join("")}}\n`:""}(A,function(A){const e=new Set;if(!A)return e;const t=/var\(\s*(--[A-Za-z0-9_-]+)\b/g;let n;for(;n=t.exec(A);)e.add(n[1]);return e}(a),s);!function(A,e,t){if(!e)return;const n=document.createElement("style");n.setAttribute("data-sd",t),n.textContent=e,A.insertBefore(n,A.firstChild||null)}(r,l+c,i);const u=document.createDocumentFragment(),h=await qA(Array.from(A.shadowRoot.childNodes),o,t.fast);u.append(...h.filter(A=>!!A)),r.appendChild(u)}if("SLOT"===A.tagName){let n=function(A,n){ne(A,e,t).then(A=>{var e;A&&(e=A)&&(e.nodeType===Node.ELEMENT_NODE&&e.setAttribute("data-sd-slotted",""),e.querySelectorAll&&e.querySelectorAll("*").forEach(A=>A.setAttribute("data-sd-slotted",""))),n(A||null)}).catch(()=>{n(null)})};const r=A.assignedNodes?.({flatten:!0})||[],o=r.length>0?r:Array.from(A.childNodes),i=document.createDocumentFragment(),s=await qA(Array.from(o),n,t.fast);return i.append(...s.filter(A=>!!A)),i}const s=await qA(Array.from(A.childNodes),function(A,r){if(n.has(A))return r(null);ne(A,e,t).then(A=>{r(A||null)}).catch(()=>{r(null)})},t.fast);if(r.append(...s.filter(A=>!!A)),null!==o&&r instanceof HTMLSelectElement){r.value=o;for(const A of r.options)A.value===o?A.setAttribute("selected",""):A.removeAttribute("selected")}return null!==i&&r instanceof HTMLTextAreaElement&&(r.textContent=i),r}var re=[/font\s*awesome/i,/material\s*icons/i,/ionicons/i,/glyphicons/i,/feather/i,/bootstrap\s*icons/i,/remix\s*icons/i,/heroicons/i,/layui/i,/lucide/i],oe=[];function ie(A){const e="string"==typeof A?A:"",t=[...re,...oe];for(const A of t)if(A instanceof RegExp&&A.test(e))return!0;return!!(/icon/i.test(e)||/glyph/i.test(e)||/symbols/i.test(e)||/feather/i.test(e)||/fontawesome/i.test(e))}async function se(A,e,t,n=32,r="#000"){e=e.replace(/^['"]+|['"]+$/g,"");const o=window.devicePixelRatio||1;try{await document.fonts.ready}catch{}const i=document.createElement("span");i.textContent=A,i.style.position="absolute",i.style.visibility="hidden",i.style.fontFamily=`"${e}"`,i.style.fontWeight=t||"normal",i.style.fontSize=`${n}px`,i.style.lineHeight="1",i.style.whiteSpace="nowrap",i.style.padding="0",i.style.margin="0",document.body.appendChild(i);const s=i.getBoundingClientRect(),a=Math.ceil(s.width),c=Math.ceil(s.height);document.body.removeChild(i);const l=document.createElement("canvas");l.width=Math.max(1,a*o),l.height=Math.max(1,c*o);const u=l.getContext("2d");return u.scale(o,o),u.font=t?`${t} ${n}px "${e}"`:`${n}px "${e}"`,u.textAlign="left",u.textBaseline="top",u.fillStyle=r,u.fillText(A,0,0),{dataUrl:l.toDataURL(),width:a,height:c}}var ae=new Set(["serif","sans-serif","monospace","cursive","fantasy","system-ui","emoji","math","fangsong","ui-serif","ui-sans-serif","ui-monospace","ui-rounded"]);function ce(A){if(!A)return"";for(let e of A.split(",")){let A=e.trim().replace(/^['"]+|['"]+$/g,"");if(A&&!ae.has(A.toLowerCase()))return A}return""}function le(A){const e=String(A??"400").trim().toLowerCase();if("normal"===e)return 400;if("bold"===e)return 700;const t=parseInt(e,10);return Number.isFinite(t)?Math.min(900,Math.max(100,t)):400}function ue(A){const e=String(A??"normal").trim().toLowerCase();return e.startsWith("italic")?"italic":e.startsWith("oblique")?"oblique":"normal"}function he(A,e){if(!A)return!1;try{const t=new URL(A,location.href);if(t.origin===location.origin)return!0;const n=t.host.toLowerCase();if(["fonts.googleapis.com","fonts.gstatic.com","use.typekit.net","p.typekit.net","kit.fontawesome.com","use.fontawesome.com"].some(A=>n.endsWith(A)))return!0;const r=(t.pathname+t.search).toLowerCase();if(/\bfont(s)?\b/.test(r)||/\.woff2?(\b|$)/.test(r))return!0;for(const A of e){const e=A.toLowerCase().replace(/\s+/g,"+"),t=A.toLowerCase().replace(/\s+/g,"-");if(r.includes(e)||r.includes(t))return!0}return!1}catch{return!1}}function ge(A,e){return A?A.replace(/url\(\s*(['"]?)([^)'"]+)\1\s*\)/g,(A,t,n)=>{const r=(n||"").trim();if(!r||/^data:|^blob:|^https?:|^file:|^about:/i.test(r))return A;let o=r;try{o=new URL(r,e||location.href).href}catch{}return`url("${o}")`}):A}var de=/@import\s+(?:url\(\s*(['"]?)([^)"']+)\1\s*\)|(['"])([^"']+)\3)([^;]*);/g;async function Be(A,e,t){if(!A)return A;const n=new Set;function r(A,e){try{return new URL(A,e||location.href).href}catch{return A}}let o=ge(A,e||location.href);return o=await async function A(e,o,i=0){if(i>4)return console.warn(`[snapDOM] @import depth exceeded (4) at ${o}`),e;let s,a="",c=0;for(;s=de.exec(e);){a+=e.slice(c,s.index),c=de.lastIndex;const l=r((s[2]||s[4]||"").trim(),o);if(n.has(l)){console.warn(`[snapDOM] Skipping circular @import: ${l}`);continue}n.add(l);let u="";try{const A=await xA(l,{as:"text",useProxy:t,silent:!0});A.ok&&"string"==typeof A.data&&(u=A.data)}catch{}u?(u=ge(u,l),u=await A(u,l,i+1),a+=`\n/* inlined: ${l} */\n${u}\n`):a+=s[0]}return a+=e.slice(c),a}(o,e||location.href,0),o}var fe=/url\((["']?)([^"')]+)\1\)/g,we=/@font-face[^{}]*\{[^}]*\}/g;function pe(A){if(!A)return[];const e=[],t=A.split(",").map(A=>A.trim()).filter(Boolean);for(const A of t){const t=A.match(/^U\+([0-9A-Fa-f?]+)(?:-([0-9A-Fa-f?]+))?$/);if(!t)continue;const n=t[1],r=t[2],o=A=>{if(!A.includes("?"))return parseInt(A,16);return[parseInt(A.replace(/\?/g,"0"),16),parseInt(A.replace(/\?/g,"F"),16)]};if(r){const A=o(n),t=o(r),i=Array.isArray(A)?A[0]:A,s=Array.isArray(t)?t[1]:t;e.push([Math.min(i,s),Math.max(i,s)])}else{const A=o(n);Array.isArray(A)?e.push([A[0],A[1]]):e.push([A,A])}}return e}function me(A,e){if(!e.length)return!0;if(!A||0===A.size)return!0;for(const t of A)for(const[A,n]of e)if(t>=A&&t<=n)return!0;return!1}function Ce(A,e){const t=[];if(!A)return t;for(const n of A.matchAll(fe)){let A=(n[2]||"").trim();if(A&&!A.startsWith("data:")){if(!/^https?:/i.test(A))try{A=new URL(A,e||location.href).href}catch{}t.push(A)}}return t}async function Qe(A,e,t=""){let n=A;for(const r of A.matchAll(fe)){const A=UA(r[0]);if(!A)continue;let o=A;if(!o.startsWith("http")&&!o.startsWith("data:"))try{o=new URL(o,e||location.href).href}catch{}if(!ie(o))if(yA.resource?.has(o))yA.font?.add(o),n=n.replace(r[0],`url(${yA.resource.get(o)})`);else if(!yA.font?.has(o))try{const A=await xA(o,{as:"dataURL",useProxy:t,silent:!0});if(A.ok&&"string"==typeof A.data){const e=A.data;yA.resource?.set(o,e),yA.font?.add(o),n=n.replace(r[0],`url(${e})`)}}catch{console.warn("[snapDOM] Failed to fetch font resource:",o)}}return n}function ye(A={}){const e=new Set((A.families||[]).map(A=>String(A).toLowerCase())),t=new Set((A.domains||[]).map(A=>String(A).toLowerCase())),n=new Set((A.subsets||[]).map(A=>String(A).toLowerCase()));return(A,r)=>{if(e.size&&e.has(A.family.toLowerCase()))return!0;if(t.size)for(const e of A.srcUrls)try{if(t.has(new URL(e).host.toLowerCase()))return!0}catch{}if(n.size){const A=function(A){if(!A.length)return null;const e=(e,t)=>A.some(([A,n])=>!(n<e||A>t)),t=e(0,255)||e(305,305),n=e(256,591)||e(7680,7935),r=e(880,1023),o=e(1024,1279);return e(7840,7929)||e(258,259)||e(416,417)||e(431,432)?"vietnamese":o?"cyrillic":r?"greek":n?"latin-ext":t?"latin":null}(r);if(A&&n.has(A))return!0}return!1}}async function Ue(A,e,t,n){let r;try{r=A.cssRules||[]}catch{return}const o=(A,e)=>{try{return new URL(A,e||location.href).href}catch{return A}};for(const A of r){if(A.type===CSSRule.IMPORT_RULE&&A.styleSheet){const r=A.href?o(A.href,e):e;if(n.depth>=4){console.warn(`[snapDOM] CSSOM import depth exceeded (4) at ${r}`);continue}if(r&&n.visitedSheets.has(r)){console.warn(`[snapDOM] Skipping circular CSSOM import: ${r}`);continue}r&&n.visitedSheets.add(r);const i={...n,depth:(n.depth||0)+1};await Ue(A.styleSheet,r,t,i);continue}if(A.type===CSSRule.FONT_FACE_RULE){const r=ce((A.style.getPropertyValue("font-family")||"").trim());if(!r||ie(r))continue;const o=(A.style.getPropertyValue("font-weight")||"400").trim(),i=(A.style.getPropertyValue("font-style")||"normal").trim(),s=(A.style.getPropertyValue("font-stretch")||"100%").trim(),a=(A.style.getPropertyValue("src")||"").trim(),c=(A.style.getPropertyValue("unicode-range")||"").trim();if(!n.faceMatchesRequired(r,i,o,s))continue;const l=pe(c);if(!me(n.usedCodepoints,l))continue;const u={family:r,weightSpec:o,styleSpec:i,stretchSpec:s,unicodeRange:c,srcRaw:a,srcUrls:Ce(a,e||location.href),href:e||location.href};if(n.simpleExcluder&&n.simpleExcluder(u,l))continue;if(/url\(/i.test(a)){const A=await Qe(a,e||location.href,n.useProxy);await t(`@font-face{font-family:${r};src:${A};font-style:${i};font-weight:${o};font-stretch:${s};${c?`unicode-range:${c};`:""}}`)}else await t(`@font-face{font-family:${r};src:${a};font-style:${i};font-weight:${o};font-stretch:${s};${c?`unicode-range:${c};`:""}}`)}}}async function Fe({required:A,usedCodepoints:e,exclude:t,localFonts:n=[],useProxy:r=""}={}){A instanceof Set||(A=new Set),e instanceof Set||(e=new Set);const o=new Map;for(const e of A){const[A,t,n,r]=String(e).split("__");if(!A)continue;const i=o.get(A)||[];i.push({w:parseInt(t,10),s:n,st:parseInt(r,10)}),o.set(A,i)}function i(A,e,t,n){if(!o.has(A))return!1;const r=o.get(A),i=function(A){const e=String(A||"400").trim(),t=e.match(/^(\d{2,3})\s+(\d{2,3})$/);if(t){const A=le(t[1]),e=le(t[2]);return{min:Math.min(A,e),max:Math.max(A,e)}}const n=le(e);return{min:n,max:n}}(t),s=function(A){const e=String(A||"normal").trim().toLowerCase();return"italic"===e?{kind:"italic"}:e.startsWith("oblique")?{kind:"oblique"}:{kind:"normal"}}(e),a=function(A){const e=String(A||"100%").trim(),t=e.match(/(\d+(?:\.\d+)?)\s*%\s+(\d+(?:\.\d+)?)\s*%/);if(t){const A=parseFloat(t[1]),e=parseFloat(t[2]);return{min:Math.min(A,e),max:Math.max(A,e)}}const n=e.match(/(\d+(?:\.\d+)?)\s*%/),r=n?parseFloat(n[1]):100;return{min:r,max:r}}(n),c=i.min!==i.max,l=i.min,u=A=>"normal"===s.kind&&"normal"===A||"normal"!==s.kind&&("italic"===A||"oblique"===A);let h=!1;for(const A of r){const e=c?A.w>=i.min&&A.w<=i.max:A.w===l,t=u(ue(A.s)),n=A.st>=a.min&&A.st<=a.max;if(e&&t&&n){h=!0;break}}if(h)return!0;if(!c)for(const A of r){const e=u(ue(A.s)),t=A.st>=a.min&&A.st<=a.max;if(Math.abs(l-A.w)<=300&&e&&t)return!0}return!1}const s=ye(t),a=function(A,e,t,n){return`fonts-embed-css::req=${Array.from(A||[]).sort().join("|")}::ex=${e?JSON.stringify({families:(e.families||[]).map(A=>String(A).toLowerCase()).sort(),domains:(e.domains||[]).map(A=>String(A).toLowerCase()).sort(),subsets:(e.subsets||[]).map(A=>String(A).toLowerCase()).sort()}):""}::lf=${(t||[]).map(A=>`${(A.family||"").toLowerCase()}::${A.weight||"normal"}::${A.style||"normal"}::${A.src||""}`).sort().join("|")}::px=${n||""}`}(A,t,n,r);if(yA.resource?.has(a))return yA.resource.get(a);const c=function(A){const e=new Set;for(const t of A||[]){const A=String(t).split("__")[0]?.trim();A&&e.add(A)}return e}(A),l=[],u=de;for(const A of document.querySelectorAll("style")){const e=A.textContent||"";for(const A of e.matchAll(u)){const e=(A[2]||A[4]||"").trim();if(!e||ie(e))continue;!!document.querySelector(`link[rel="stylesheet"][href="${e}"]`)||l.push(e)}}l.length&&await Promise.all(l.map(A=>new Promise(e=>{if(document.querySelector(`link[rel="stylesheet"][href="${A}"]`))return e(null);const t=document.createElement("link");t.rel="stylesheet",t.href=A,t.setAttribute("data-snapdom","injected-import"),t.onload=()=>e(t),t.onerror=()=>e(null),document.head.appendChild(t)})));let h="";const g=Array.from(document.querySelectorAll('link[rel="stylesheet"]')).filter(A=>!!A.href);for(const A of g)try{if(ie(A.href))continue;let n="",o=!1;try{o=new URL(A.href,location.href).origin===location.origin}catch{}if(!o&&!he(A.href,c))continue;if(o){const e=Array.from(document.styleSheets).find(e=>e.href===A.href);if(e)try{const A=e.cssRules||[];n=Array.from(A).map(A=>A.cssText).join("")}catch{}}if(!n){if(n=(await xA(A.href,{as:"text",useProxy:r})).data,ie(A.href))continue}n=await Be(n,A.href,r);let a="";for(const o of n.match(we)||[]){const n=ce((o.match(/font-family:\s*([^;]+);/i)?.[1]||"").trim());if(!n||ie(n))continue;const c=(o.match(/font-weight:\s*([^;]+);/i)?.[1]||"400").trim(),l=(o.match(/font-style:\s*([^;]+);/i)?.[1]||"normal").trim(),u=(o.match(/font-stretch:\s*([^;]+);/i)?.[1]||"100%").trim(),h=(o.match(/unicode-range:\s*([^;]+);/i)?.[1]||"").trim(),g=(o.match(/src\s*:\s*([^;]+);/i)?.[1]||"").trim(),d=Ce(g,A.href);if(!i(n,l,c,u))continue;const B=pe(h);if(!me(e,B))continue;const f={family:n,weightSpec:c,styleSpec:l,stretchSpec:u,unicodeRange:h,srcRaw:g,srcUrls:d,href:A.href};if(t&&s(f,B))continue;a+=/url\(/i.test(g)?await Qe(o,A.href,r):o}a.trim()&&(h+=a)}catch{console.warn("[snapDOM] Failed to process stylesheet:",A.href)}const d={requiredIndex:o,usedCodepoints:e,faceMatchesRequired:i,simpleExcluder:t?ye(t):null,useProxy:r,visitedSheets:new Set,depth:0};for(const A of document.styleSheets)if(!A.href||!g.some(e=>e.href===A.href))try{const e=A.href||location.href;e&&d.visitedSheets.add(e),await Ue(A,e,async A=>{h+=A},d)}catch{}try{for(const A of document.fonts||[]){if(!A||!A.family||"loaded"!==A.status||!A._snapdomSrc)continue;const e=String(A.family).replace(/^['"]+|['"]+$/g,"");if(ie(e))continue;if(!o.has(e))continue;if(t?.families&&t.families.some(A=>String(A).toLowerCase()===e.toLowerCase()))continue;let n=A._snapdomSrc;if(!String(n).startsWith("data:"))if(yA.resource?.has(A._snapdomSrc))n=yA.resource.get(A._snapdomSrc),yA.font?.add(A._snapdomSrc);else if(!yA.font?.has(A._snapdomSrc))try{const e=await xA(A._snapdomSrc,{as:"dataURL",useProxy:r,silent:!0});if(!e.ok||"string"!=typeof e.data)continue;n=e.data,yA.resource?.set(A._snapdomSrc,n),yA.font?.add(A._snapdomSrc)}catch{console.warn("[snapDOM] Failed to fetch dynamic font src:",A._snapdomSrc);continue}h+=`@font-face{font-family:'${e}';src:url(${n});font-style:${A.style||"normal"};font-weight:${A.weight||"normal"};}`}}catch{}for(const A of n){if(!A||"object"!=typeof A)continue;const e=String(A.family||"").replace(/^['"]+|['"]+$/g,"");if(!e||ie(e))continue;if(!o.has(e))continue;if(t?.families&&t.families.some(A=>String(A).toLowerCase()===e.toLowerCase()))continue;const n=null!=A.weight?String(A.weight):"normal",i=null!=A.style?String(A.style):"normal",s=null!=A.stretchPct?`${A.stretchPct}%`:"100%",a=String(A.src||"");let c=a;if(!c.startsWith("data:"))if(yA.resource?.has(a))c=yA.resource.get(a),yA.font?.add(a);else if(!yA.font?.has(a))try{const A=await xA(a,{as:"dataURL",useProxy:r,silent:!0});if(!A.ok||"string"!=typeof A.data)continue;c=A.data,yA.resource?.set(a,c),yA.font?.add(a)}catch{console.warn("[snapDOM] Failed to fetch localFonts src:",a);continue}h+=`@font-face{font-family:'${e}';src:url(${c});font-style:${i};font-weight:${n};font-stretch:${s};}`}return h&&(h=function(A){if(!A)return A;const e=/@font-face[^{}]*\{[^}]*\}/gi,t=new Set,n=[];for(const r of A.match(e)||[]){const A=ce(r.match(/font-family:\s*([^;]+);/i)?.[1]||""),e=(r.match(/font-weight:\s*([^;]+);/i)?.[1]||"400").trim(),o=(r.match(/font-style:\s*([^;]+);/i)?.[1]||"normal").trim(),i=(r.match(/font-stretch:\s*([^;]+);/i)?.[1]||"100%").trim(),s=(r.match(/unicode-range:\s*([^;]+);/i)?.[1]||"").trim(),a=(r.match(/src\s*:\s*([^;]+);/i)?.[1]||"").trim(),c=Ce(a,location.href),l=c.length?c.map(A=>String(A).toLowerCase()).sort().join("|"):a.toLowerCase(),u=[String(A||"").toLowerCase(),e,o,i,s.toLowerCase(),l].join("|");t.has(u)||(t.add(u),n.push(r))}if(0===n.length)return A;let r=0;return A.replace(e,()=>n[r++]||"")}(h),yA.resource?.set(a,h)),h}function be(A){const e=new Set;if(!A)return e;const t=document.createTreeWalker(A,NodeFilter.SHOW_ELEMENT,null),n=A=>{const t=ce(A.fontFamily);if(!t)return;var n,r,o;e.add((n=A.fontWeight,r=A.fontStyle,o=A.fontStretch,`${t}__${le(n)}__${ue(r)}__${function(A){const e=String(A??"100%").match(/(\d+(?:\.\d+)?)\s*%/);return e?Math.max(50,Math.min(200,parseFloat(e[1]))):100}(o)}`))};n(getComputedStyle(A));const r=getComputedStyle(A,"::before");r&&r.content&&"none"!==r.content&&n(r);const o=getComputedStyle(A,"::after");for(o&&o.content&&"none"!==o.content&&n(o);t.nextNode();){const A=t.currentNode;n(getComputedStyle(A));const e=getComputedStyle(A,"::before");e&&e.content&&"none"!==e.content&&n(e);const r=getComputedStyle(A,"::after");r&&r.content&&"none"!==r.content&&n(r)}return e}function ve(A,e=!1){let t="",n=Math.max(1,A);for(;n>0;)n--,t=String.fromCharCode(97+n%26)+t,n=Math.floor(n/26);return e?t.toUpperCase():t}function Ee(A,e=!0){const t=[[1e3,"M"],[900,"CM"],[500,"D"],[400,"CD"],[100,"C"],[90,"XC"],[50,"L"],[40,"XL"],[10,"X"],[9,"IX"],[5,"V"],[4,"IV"],[1,"I"]];let n=Math.max(1,Math.min(3999,A)),r="";for(const[A,e]of t)for(;n>=A;)r+=e,n-=A;return e?r:r.toLowerCase()}function He(A,e){switch((e||"decimal").toLowerCase()){case"decimal":default:return String(Math.max(0,A));case"decimal-leading-zero":return(A<10?"0":"")+String(Math.max(0,A));case"lower-alpha":return ve(A,!1);case"upper-alpha":return ve(A,!0);case"lower-roman":return Ee(A,!1);case"upper-roman":return Ee(A,!0)}}function Ie(A){const e=new WeakMap,t=A instanceof Document?A.documentElement:A,n=A=>{let e=0,t=A?.parentElement;if(!t)return 0;for(const n of t.children){if(n===A)break;"LI"===n.tagName&&e++}return e},r=(A,e,t)=>{const r=(A=>{const e=new Map;for(const[t,n]of A)e.set(t,n.slice());return e})(A);let o,i;try{o=t.style?.counterReset||getComputedStyle(t).counterReset}catch{}if(o&&"none"!==o)for(const A of o.split(",")){const t=A.trim().split(/\s+/),n=t[0],o=Number.isFinite(Number(t[1]))?Number(t[1]):0;if(!n)continue;const i=e.get(n);if(i&&i.length){const A=i.slice();A.push(o),r.set(n,A)}else r.set(n,[o])}try{i=t.style?.counterIncrement||getComputedStyle(t).counterIncrement}catch{}if(i&&"none"!==i)for(const A of i.split(",")){const e=A.trim().split(/\s+/),t=e[0],n=Number.isFinite(Number(e[1]))?Number(e[1]):1;if(!t)continue;const o=r.get(t)||[];0===o.length&&o.push(0),o[o.length-1]+=n,r.set(t,o)}try{if("list-item"===getComputedStyle(t).display&&(A=>A&&"LI"===A.tagName)(t)){const A=t.parentElement;let e=1;if(A&&"OL"===A.tagName){const r=A.getAttribute("start"),o=Number.isFinite(Number(r))?Number(r):1,i=n(t),s=t.getAttribute("value");e=Number.isFinite(Number(s))?Number(s):o+i}else e=1+n(t);const o=r.get("list-item")||[];0===o.length&&o.push(0),o[o.length-1]=e,r.set("list-item",o)}}catch{}return r},o=(A,t,n)=>{const i=r(n,t,A);e.set(A,i);let s=i;for(const e of A.children){s=o(e,i,s)}return i},i=new Map;return o(t,i,i),{get(A,t){const n=e.get(A)?.get(t);return n&&n.length?n[n.length-1]:0},getStack(A,t){const n=e.get(A)?.get(t);return n?n.slice():[]}}}var xe=null,Se=new WeakMap;function Le(A,e){const t=A.parentElement,n=t?Se.get(t):null;return n?{get(A,t){const r=e.get(A,t),o=n.get(t);return"number"==typeof o?Math.max(r,o):r},getStack(A,t){const r=e.getStack(A,t);if(!r.length)return r;const o=n.get(t);if("number"==typeof o){const A=r.slice();return A[A.length-1]=Math.max(A[A.length-1],o),A}return r}}:e}function Me(A,e,t){const n=new Map;function r(A){const e=[];if(!A||"none"===A)return e;for(const t of String(A).split(",")){const A=t.trim().split(/\s+/),n=A[0],r=Number.isFinite(Number(A[1]))?Number(A[1]):void 0;n&&e.push({name:n,num:r})}return e}const o=r(e?.counterReset),i=r(e?.counterIncrement);function s(e){if(n.has(e))return n.get(e).slice();let r=t.getStack(A,e);r=r.length?r.slice():[];const s=o.find(A=>A.name===e);if(s){const A=Number.isFinite(s.num)?s.num:0;r=r.length?[...r,A]:[A]}const a=i.find(A=>A.name===e);if(a){const A=Number.isFinite(a.num)?a.num:1;0===r.length&&(r=[0]),r[r.length-1]+=A}return n.set(e,r.slice()),r}return{get(A,e){const t=s(e);return t.length?t[t.length-1]:0},getStack:(A,e)=>s(e),__incs:i}}function De(A,e,t){let n;try{n=getComputedStyle(A,e)}catch{}const r=n?.content;if(!r||"none"===r||"normal"===r)return{text:"",incs:[]};const o=Me(A,n,Le(A,t));let i=/\bcounter\s*\(|\bcounters\s*\(/.test(r||"")?function(A,e,t){if(!A||"none"===A)return A;try{const n=/\b(counter|counters)\s*\(([^)]+)\)/g;return(A.replace(n,(A,n,r)=>{const o=String(r).split(",").map(A=>A.trim());if("counter"===n){const A=o[0]?.replace(/^["']|["']$/g,""),n=(o[1]||"decimal").toLowerCase();return He(t.get(e,A),n)}{const A=o[0]?.replace(/^["']|["']$/g,""),n=o[1]?.replace(/^["']|["']$/g,"")??"",r=(o[2]||"decimal").toLowerCase(),i=t.getStack(e,A);return i.length?i.map(A=>He(A,r)).join(n):""}})||"").replace(/"([^"]*)"/g,"$1")}catch{return"- "}}(r,A,o):r;const s=function(A){if(!A)return"";const e=[],t=/"([^"]*)"/g;let n;for(;n=t.exec(A);)e.push(n[1]);return e.length?e.join(""):(A||"").replace(/"([^"]*)"/g,"$1")}(i);return{text:s,incs:o.__incs||[]}}async function ke(A,e,t,n){if(!(A instanceof Element&&e instanceof Element))return;if(!xe)try{xe=Ie(A.ownerDocument||document)}catch{}for(const r of["::before","::after","::first-letter"])try{const o=OA(A,r);if(!o||"function"!=typeof o[Symbol.iterator])continue;if(!("none"!==o.content||"none"!==o.backgroundImage||"transparent"!==o.backgroundColor||"none"!==o.borderStyle&&0!==parseFloat(o.borderWidth)||o.transform&&"none"!==o.transform||"inline"!==o.display))continue;if("::first-letter"===r){const n=getComputedStyle(A);if(!(o.color!==n.color||o.fontSize!==n.fontSize||o.fontWeight!==n.fontWeight))continue;const r=Array.from(e.childNodes).find(A=>A.nodeType===Node.TEXT_NODE&&A.textContent?.trim().length>0);if(!r)continue;const i=r.textContent,s=i.match(/^([^\p{L}\p{N}\s]*[\p{L}\p{N}](?:['’])?)/u),a=s?.[0],c=i.slice(a?.length||0);if(!a||/[\uD800-\uDFFF]/.test(a))continue;const l=document.createElement("span");l.textContent=a,l.dataset.snapdomPseudo="::first-letter";const u=PA(VA(o),"span");t.styleMap.set(l,u);const h=document.createTextNode(c);e.replaceChild(h,r),e.insertBefore(l,h);continue}const i=o.content,{text:s,incs:a}=De(A,r,xe),c=o.backgroundImage,l=o.backgroundColor,u=o.fontFamily,h=parseInt(o.fontSize)||32,g=parseInt(o.fontWeight)||!1,d=o.color||"#000",B=o.borderStyle,f=parseFloat(o.borderWidth),w=o.transform,p=ie(u),m="none"!==i&&""!==s,C=c&&"none"!==c,Q=l&&"transparent"!==l&&"rgba(0, 0, 0, 0)"!==l,y=B&&"none"!==B&&f>0,U=w&&"none"!==w;if(!(m||C||Q||y||U)){if(a&&a.length&&A.parentElement){const e=Se.get(A.parentElement)||new Map;for(const{name:t}of a){if(!t)continue;const n=Le(A,xe),o=Me(A,getComputedStyle(A,r),n).get(A,t);e.set(t,o)}Se.set(A.parentElement,e)}continue}const F=document.createElement("span");F.dataset.snapdomPseudo=r,F.style.verticalAlign="middle",F.style.pointerEvents="none";const b=PA(VA(o),"span");if(t.styleMap.set(F,b),p&&s&&1===s.length){const{dataUrl:A,width:t,height:n}=await se(s,u,g,h,d),r=document.createElement("img");r.src=A,r.style=`height:${h}px;width:${t/n*h}px;object-fit:contain;`,F.appendChild(r),e.dataset.snapdomHasIcon="true"}else if(s&&s.startsWith("url(")){const e=UA(s);if(e?.trim())try{const A=document.createElement("img"),t=await xA(FA(e),{as:"dataURL",useProxy:n.useProxy});A.src=t.data,A.style=`width:${h}px;height:auto;object-fit:contain;`,F.appendChild(A)}catch(e){console.error(`[snapdom] Error in pseudo ${r} for`,A,e)}}else!p&&m&&(F.textContent=s);if(F.style.background="none","mask"in F.style&&(F.style.mask="none"),C)try{const A=NA(c),e=await Promise.all(A.map(LA));F.style.backgroundImage=e.join(", ")}catch(A){console.warn(`[snapdom] Failed to inline background-image for ${r}`,A)}Q&&(F.style.backgroundColor=l);const v=F.childNodes.length>0||""!==F.textContent?.trim()||C||Q||y||U;if(a&&a.length&&A.parentElement){const e=Se.get(A.parentElement)||new Map,t=Le(A,xe),n=Me(A,getComputedStyle(A,r),t);for(const{name:t}of a){if(!t)continue;const r=n.get(A,t);e.set(t,r)}Se.set(A.parentElement,e)}if(!v)continue;"::before"===r?e.insertBefore(F,e.firstChild):e.appendChild(F)}catch(e){console.warn(`[snapdom] Failed to capture ${r} for`,A,e)}const r=Array.from(A.children),o=Array.from(e.children).filter(A=>!A.dataset.snapdomPseudo);for(let A=0;A<Math.min(r.length,o.length);A++)await ke(r[A],o[A],t,n)}function Ke(A){if(!A||"auto"===A)return null;const e=Number.parseFloat(A);return Number.isFinite(e)?e:null}function Te(A,e){const t=[];for(let n=A;n&&n!==e;){const A=n.parentElement;if(!A)break;t.push(Array.prototype.indexOf.call(A.children,n)),n=A}return t.reverse()}function Re(A,e,t){let n=A;for(let A=0;A<e.length;A++){if(n=Pe(n,t)[e[A]],!n)return null}return n instanceof HTMLElement?n:null}function Pe(A,e){const t=[],n=A.children;for(let A=0;A<n.length;A++){const r=n[A];r.hasAttribute(e)||t.push(r)}return t}async function Oe(A,e={}){const t={styleMap:yA.session.styleMap,styleCache:yA.session.styleCache,nodeMap:yA.session.nodeMap};let n,r="",o="";!function(A){const e=getComputedStyle(A),t=e.outlineStyle,n=e.outlineWidth,r=e.borderStyle,o=e.borderWidth,i="none"!==t&&parseFloat(n)>0,s="none"===r||0===parseFloat(o);i&&s&&(A.style.border=`${n} solid transparent`)}(A);try{!function(A){if(!A)return;const e=new Set;if(A.querySelectorAll("use").forEach(A=>{const t=A.getAttribute("xlink:href")||A.getAttribute("href");t&&t.startsWith("#")&&e.add(t.slice(1))}),!e.size)return;const t=Array.from(document.querySelectorAll("svg > symbol, svg > defs")),n=t.filter(A=>"symbol"===A.tagName.toLowerCase()),r=t.filter(A=>"defs"===A.tagName.toLowerCase());let o=A.querySelector("svg.inline-defs-container");o||(o=document.createElementNS("http://www.w3.org/2000/svg","svg"),o.setAttribute("aria-hidden","true"),o.setAttribute("style","position: absolute; width: 0; height: 0; overflow: hidden;"),o.classList.add("inline-defs-container"),A.insertBefore(o,A.firstChild));const i=new Set;A.querySelectorAll("symbol[id], defs > *[id]").forEach(A=>{i.add(A.id)}),e.forEach(A=>{if(i.has(A))return;const e=n.find(e=>e.id===A);if(e)return o.appendChild(e.cloneNode(!0)),void i.add(A);for(const e of r){const t=e.querySelector(`#${CSS.escape(A)}`);if(t){let e=o.querySelector("defs");e||(e=document.createElementNS("http://www.w3.org/2000/svg","defs"),o.appendChild(e)),e.appendChild(t.cloneNode(!0)),i.add(A);break}}})}(A)}catch(A){console.warn("inlineExternal defs or symbol failed:",A)}try{n=await ne(A,t,e)}catch(A){throw console.warn("deepClone failed:",A),A}try{await ke(A,n,t,e)}catch(A){console.warn("inlinePseudoElements failed:",A)}await async function(A){if(!A)return;const e=A.querySelectorAll?A.querySelectorAll("img"):[];for(const A of e)try{const e=A.getAttribute("src")||A.currentSrc||"";if(_e(e)){const t=await Ne(e);A.setAttribute("src",t)}const t=A.getAttribute("srcset");if(t&&t.includes("blob:")){const e=Xe(t);let n=!1;for(const A of e)if(_e(A.url))try{A.url=await Ne(A.url),n=!0}catch{}n&&A.setAttribute("srcset",Je(e))}}catch{}const t=A.querySelectorAll?A.querySelectorAll("image"):[];for(const A of t)try{const e="http://www.w3.org/1999/xlink",t=A.getAttribute("href")||A.getAttributeNS?.(e,"href");if(_e(t)){const n=await Ne(t);A.setAttribute("href",n),A.removeAttributeNS?.(e,"href")}}catch{}const n=A.querySelectorAll?A.querySelectorAll("[style*='blob:']"):[];for(const A of n)try{const e=A.getAttribute("style");if(e&&e.includes("blob:")){const t=await We(e);A.setAttribute("style",t)}}catch{}const r=A.querySelectorAll?A.querySelectorAll("style"):[];for(const A of r)try{const e=A.textContent||"";e.includes("blob:")&&(A.textContent=await We(e))}catch{}const o=["poster"];for(const e of o){const t=A.querySelectorAll?A.querySelectorAll(`[${e}^='blob:']`):[];for(const A of t)try{const t=A.getAttribute(e);_e(t)&&A.setAttribute(e,await Ne(t))}catch{}}}(n);try{const A=n.querySelectorAll("style[data-sd]");for(const e of A)o+=e.textContent||"",e.remove()}catch{}const i=function(A){const e=Array.from(new Set(A.values())).filter(Boolean).sort(),t=new Map;let n=1;for(const A of e)t.set(A,"c"+n++);return t}(t.styleMap);r=Array.from(i.entries()).map(([A,e])=>`.${e}{${A}}`).join(""),r=o+r;for(const[A,e]of t.styleMap.entries()){if("STYLE"===A.tagName)continue;if(A.getRootNode&&A.getRootNode()instanceof ShadowRoot){A.setAttribute("style",e.replace(/;/g,"; "));continue}const t=i.get(e);t&&A.classList.add(t);const n=A.style?.backgroundImage,r=A.dataset?.snapdomHasIcon;n&&"none"!==n&&(A.style.backgroundImage=n),r&&(A.style.verticalAlign="middle",A.style.display="inline")}for(const[A,e]of t.nodeMap.entries()){const t=e.scrollLeft,n=e.scrollTop;if((t||n)&&A instanceof HTMLElement){A.style.overflow="hidden",A.style.scrollbarWidth="none",A.style.msOverflowStyle="none";const e=document.createElement("div");for(e.style.transform=`translate(${-t}px, ${-n}px)`,e.style.willChange="transform",e.style.display="inline-block",e.style.width="100%";A.firstChild;)e.appendChild(A.firstChild);A.appendChild(e)}}if(function(A,e){if(!A||!e)return;const t=A.scrollTop||0;if(!t)return;"static"===getComputedStyle(e).position&&(e.style.position="relative");const n=A.getBoundingClientRect(),r=A.clientHeight,o="data-snap-ph",i=document.createTreeWalker(A,NodeFilter.SHOW_ELEMENT);for(;i.nextNode();){const s=i.currentNode,a=getComputedStyle(s),c=a.position;if("sticky"!==c&&"-webkit-sticky"!==c)continue;const l=Ke(a.top),u=Ke(a.bottom);if(null==l&&null==u)continue;const h=Re(e,Te(s,A),o);if(!h)continue;const g=s.getBoundingClientRect(),d=g.width,B=g.height,f=g.left-n.left;if(!(d>0&&B>0))continue;if(!Number.isFinite(f))continue;const w=null!=l?l+t:t+(r-B-u);if(!Number.isFinite(w))continue;const p=Number.parseInt(a.zIndex,10),m=Number.isFinite(p),C=m?Math.max(p,1)+1:2,Q=m?p-1:0,y=h.cloneNode(!1);y.setAttribute(o,"1"),y.style.position="sticky",y.style.left=`${f}px`,y.style.top=`${w}px`,y.style.width=`${d}px`,y.style.height=`${B}px`,y.style.visibility="hidden",y.style.zIndex=String(Q),y.style.overflow="hidden",y.style.background="transparent",y.style.boxShadow="none",y.style.filter="none",h.parentElement?.insertBefore(y,h),h.style.position="absolute",h.style.left=`${f}px`,h.style.top=`${w}px`,h.style.bottom="auto",h.style.zIndex=String(C),h.style.pointerEvents="none"}}(A,n instanceof HTMLElement&&n.firstElementChild instanceof HTMLElement?n.firstElementChild:n),A===t.nodeMap.get(n)){const e=t.styleCache.get(A)||window.getComputedStyle(A);t.styleCache.set(A,e);const r=function(A){if(!A||"none"===A)return"";let e=A.replace(/translate[XY]?\([^)]*\)/g,"");return e=e.replace(/matrix\(([^)]+)\)/g,(A,e)=>{const t=e.split(",").map(A=>A.trim());return 6!==t.length?`matrix(${e})`:(t[4]="0",t[5]="0",`matrix(${t.join(", ")})`)}),e=e.replace(/matrix3d\(([^)]+)\)/g,(A,e)=>{const t=e.split(",").map(A=>A.trim());return 16!==t.length?`matrix3d(${e})`:(t[12]="0",t[13]="0",`matrix3d(${t.join(", ")})`)}),e.trim().replace(/\s{2,}/g," ")}(e.transform);n.style.margin="0",n.style.top="auto",n.style.left="auto",n.style.right="auto",n.style.bottom="auto",n.style.animation="none",n.style.transition="none",n.style.willChange="auto",n.style.float="none",n.style.clear="none",n.style.transform=r||""}for(const[A,e]of t.nodeMap.entries())"PRE"===e.tagName&&(A.style.marginTop="0",A.style.marginBlockStart="0");return{clone:n,classCSS:r,styleCache:t.styleCache}}var Ve=new Map;async function Ne(A){if(yA.resource?.has(A))return yA.resource.get(A);if(Ve.has(A))return Ve.get(A);const e=(async()=>{const e=await xA(A,{as:"dataURL",silent:!0});if(!e.ok||"string"!=typeof e.data)throw new Error(`[snapDOM] Failed to read blob URL: ${A}`);return yA.resource?.set(A,e.data),e.data})();Ve.set(A,e);try{const t=await e;return Ve.set(A,t),t}catch(e){throw Ve.delete(A),e}}var Ge=/\bblob:[^)"'\s]+/g;async function We(A){if(!A||-1===A.indexOf("blob:"))return A;const e=Array.from(new Set(A.match(Ge)||[]));if(0===e.length)return A;let t=A;for(const A of e)try{const e=await Ne(A);t=t.split(A).join(e)}catch{}return t}function _e(A){return"string"==typeof A&&A.startsWith("blob:")}function Xe(A){return(A||"").split(",").map(A=>A.trim()).filter(Boolean).map(A=>{const e=A.match(/^(\S+)(\s+.+)?$/);return e?{url:e[1],desc:e[2]||""}:null}).filter(Boolean)}function Je(A){return A.map(A=>A.desc?`${A.url} ${A.desc.trim()}`:A.url).join(", ")}function Ye(A){if(!A)return()=>{};const e=function(A){const e=getComputedStyle(A);let t=e.getPropertyValue("-webkit-line-clamp")||e.getPropertyValue("line-clamp");t=(t||"").trim();const n=parseInt(t,10);return Number.isFinite(n)&&n>0?n:0}(A);if(e<=0)return()=>{};if(!function(A){return!(A.childElementCount>0)&&Array.from(A.childNodes).some(A=>A.nodeType===Node.TEXT_NODE)}(A))return()=>{};const t=getComputedStyle(A),n=Math.round(function(A){const e=(A.lineHeight||"").trim(),t=parseFloat(A.fontSize)||16;return e&&"normal"!==e?e.endsWith("px")?parseFloat(e):/^\d+(\.\d+)?$/.test(e)?Math.round(parseFloat(e)*t):e.endsWith("%")?Math.round(parseFloat(e)/100*t):Math.round(1.2*t):Math.round(1.2*t)}(t)*e+function(A){return(parseFloat(A.paddingTop)||0)+(parseFloat(A.paddingBottom)||0)}(t)),r=A.textContent??"",o=r;if(A.scrollHeight<=n+.5)return()=>{};let i=0,s=r.length,a=-1;for(;i<=s;){const e=i+s>>1;A.textContent=r.slice(0,e)+"…",A.scrollHeight<=n+.5?(a=e,i=e+1):s=e-1}return A.textContent=(a>=0?r.slice(0,a):"")+"…",()=>{A.textContent=o}}async function $e(A,e){if(!A)throw new Error("Element cannot be null or undefined");!function(A="soft"){switch(A){case"auto":return yA.session.styleMap=new Map,void(yA.session.nodeMap=new Map);case"soft":default:return yA.session.styleMap=new Map,yA.session.nodeMap=new Map,void(yA.session.styleCache=new WeakMap);case"full":return;case"disabled":yA.session.styleMap=new Map,yA.session.nodeMap=new Map,yA.session.styleCache=new WeakMap,yA.computedStyle=new WeakMap,yA.baseStyle=new Map,yA.defaultStyle=new Map,yA.image=new Map,yA.background=new Map,yA.resource=new Map,yA.font=new Set}}(e.cache);const t=e.fast,n=!!e.straighten,r=!!e.noShadows;let o,i,s,a,c,l="",u="",h=null;const g=Ye(A);try{({clone:o,classCSS:i,styleCache:s}=await Oe(A,e)),n&&o&&(h=function(A,e){if(!A||!e||!e.style)return null;const t=getComputedStyle(A);try{e.style.transformOrigin="0 0"}catch{}try{"translate"in e.style&&(e.style.translate="none"),"rotate"in e.style&&(e.style.rotate="none")}catch{}const n=t.transform||"none";if("none"===n)try{const t=ze(A);if(1===t.a&&0===t.b&&0===t.c&&1===t.d)return e.style.transform="none",{a:1,b:0,c:0,d:1}}catch{}const r=n.match(/^matrix\(\s*([^)]+)\)$/i);if(r){const A=r[1].split(",").map(A=>parseFloat(A.trim()));if(6===A.length&&A.every(Number.isFinite)){const[t,n,r,o]=A,i=Math.sqrt(t*t+n*n)||0;let s=0,a=0,c=0,l=0,u=0,h=0;i>0&&(s=t/i,a=n/i,c=s*r+a*o,l=r-s*c,u=o-a*c,h=Math.sqrt(l*l+u*u)||0,h>0?c/=h:c=0);const g=i,d=0,B=c*h,f=h;try{e.style.transform=`matrix(${g}, ${d}, ${B}, ${f}, 0, 0)`}catch{}return{a:g,b:d,c:B,d:f}}}try{const A=String(n).trim();return e.style.transform=A+" translate(0px, 0px) rotate(0deg)",null}catch{return null}}(A,o)),r&&o&&function(A,e){if(!A||!e||!e.style)return;const t=getComputedStyle(A);try{e.style.boxShadow="none"}catch{}try{e.style.textShadow="none"}catch{}try{e.style.outline="none"}catch{}const n=(t.filter||"").replace(/\bblur\([^()]*\)\s*/gi,"").replace(/\bdrop-shadow\([^()]*\)\s*/gi,"").trim().replace(/\s+/g," ");try{e.style.filter=n.length?n:"none"}catch{}}(A,o)}finally{g()}await new Promise(A=>{GA(async()=>{await async function(A,e={}){const t=Array.from(A.querySelectorAll("img")),n=async A=>{if(!A.getAttribute("src")){const e=A.currentSrc||A.src||"";e&&A.setAttribute("src",e)}A.removeAttribute("srcset"),A.removeAttribute("sizes");const t=A.src||"";if(!t)return;const n=await xA(t,{as:"dataURL",useProxy:e.useProxy});if(n.ok&&"string"==typeof n.data&&n.data.startsWith("data:"))return A.src=n.data,A.width||(A.width=A.naturalWidth||100),void(A.height||(A.height=A.naturalHeight||100));const{fallbackURL:r}=e||{};if(r)try{const n=parseInt(A.dataset?.snapdomWidth||"",10)||0,o=parseInt(A.dataset?.snapdomHeight||"",10)||0,i=parseInt(A.getAttribute("width")||"",10)||0,s=parseInt(A.getAttribute("height")||"",10)||0,a=parseFloat(A.style?.width||"")||0,c=parseFloat(A.style?.height||"")||0,l=n||a||i||A.width||void 0,u=o||c||s||A.height||void 0,h="function"==typeof r?await r({width:l,height:u,src:t,element:A}):r;if(h){const t=await xA(h,{as:"dataURL",useProxy:e.useProxy});return A.src=t.data,!A.width&&l&&(A.width=l),!A.height&&u&&(A.height=u),A.width||(A.width=A.naturalWidth||100),void(A.height||(A.height=A.naturalHeight||100))}}catch{}const o=A.width||A.naturalWidth||100,i=A.height||A.naturalHeight||100;if(!1!==e.placeholders){const e=document.createElement("div");e.style.cssText=[`width:${o}px`,`height:${i}px`,"background:#ccc","display:inline-block","text-align:center",`line-height:${i}px`,"color:#666","font-size:12px","overflow:hidden"].join(";"),e.textContent="img",A.replaceWith(e)}else{const e=document.createElement("div");e.style.cssText=`display:inline-block;width:${o}px;height:${i}px;visibility:hidden;`,A.replaceWith(e)}};for(let A=0;A<t.length;A+=4){const e=t.slice(A,A+4).map(n);await Promise.allSettled(e)}}(o,e),A()},{fast:t})}),await new Promise(n=>{GA(async()=>{await async function(A,e,t,n={}){const r=[[A,e]],o=["background-image","mask","mask-image","-webkit-mask","-webkit-mask-image","mask-source","mask-box-image-source","mask-border-source","-webkit-mask-box-image-source","border-image","border-image-source"],i=["mask-position","mask-size","mask-repeat","-webkit-mask-position","-webkit-mask-size","-webkit-mask-repeat","mask-origin","mask-clip","-webkit-mask-origin","-webkit-mask-clip","-webkit-mask-position-x","-webkit-mask-position-y"],s=["border-image-slice","border-image-width","border-image-outset","border-image-repeat"];for(;r.length;){const[A,e]=r.shift(),a=t.get(A)||OA(A);t.has(A)||t.set(A,a);const c=(()=>{const A=a.getPropertyValue("border-image"),e=a.getPropertyValue("border-image-source");return A&&"none"!==A||e&&"none"!==e})();for(const A of o){const t=a.getPropertyValue(A);if(!t||"none"===t)continue;const r=NA(t),o=await Promise.all(r.map(A=>LA(A,n)));o.some(A=>A&&"none"!==A&&!/^url\(undefined/.test(A))&&e.style.setProperty(A,o.join(", "))}for(const A of i){const t=a.getPropertyValue(A);t&&"initial"!==t&&e.style.setProperty(A,t)}if(c)for(const A of s){const t=a.getPropertyValue(A);t&&"initial"!==t&&e.style.setProperty(A,t)}const l=Array.from(A.children),u=Array.from(e.children);for(let A=0;A<Math.min(l.length,u.length);A++)r.push([l[A],u[A]])}}(A,o,s,e),n()},{fast:t})}),e.embedFonts&&await new Promise(n=>{GA(async()=>{const t=be(A),r=function(A){const e=new Set,t=A=>{if(A)for(const t of A)e.add(t.codePointAt(0))},n=document.createTreeWalker(A,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,null);for(;n.nextNode();){const A=n.currentNode;if(A.nodeType===Node.TEXT_NODE)t(A.nodeValue||"");else if(A.nodeType===Node.ELEMENT_NODE){const n=A;for(const A of["::before","::after"]){const r=getComputedStyle(n,A),o=r?.getPropertyValue("content");if(o&&"none"!==o)if(/^"/.test(o)||/^'/.test(o))t(o.slice(1,-1));else{const A=o.match(/\\[0-9A-Fa-f]{1,6}/g);if(A)for(const t of A)try{e.add(parseInt(t.slice(1),16))}catch{}}}}}return e}(A);if(WA()){const A=new Set(Array.from(t).map(A=>String(A).split("__")[0]).filter(Boolean));await async function(A,e=2){try{await document.fonts.ready}catch{}const t=Array.from(A||[]).filter(Boolean);if(0===t.length)return;const n=()=>{const A=document.createElement("div");A.style.cssText="position:absolute!important;left:-9999px!important;top:0!important;opacity:0!important;pointer-events:none!important;contain:layout size style;";for(const e of t){const t=document.createElement("span");t.textContent="AaBbGg1234ÁÉÍÓÚçñ—∞",t.style.fontFamily=`"${e}"`,t.style.fontWeight="700",t.style.fontStyle="italic",t.style.fontSize="32px",t.style.lineHeight="1",t.style.whiteSpace="nowrap",t.style.margin="0",t.style.padding="0",A.appendChild(t)}document.body.appendChild(A),A.offsetWidth,document.body.removeChild(A)};for(let A=0;A<Math.max(1,e);A++)n(),await new Promise(A=>requestAnimationFrame(()=>requestAnimationFrame(A)))}(A,1)}l=await Fe({required:t,usedCodepoints:r,exclude:e.excludeFonts,useProxy:e.useProxy}),n()},{fast:t})});const d=function(A){const e=new Set;return A.nodeType!==Node.ELEMENT_NODE&&A.nodeType!==Node.DOCUMENT_FRAGMENT_NODE?[]:(A.tagName&&e.add(A.tagName.toLowerCase()),"function"==typeof A.querySelectorAll&&A.querySelectorAll("*").forEach(A=>e.add(A.tagName.toLowerCase())),Array.from(e))}(o).sort(),B=d.join(",");yA.baseStyle.has(B)?u=yA.baseStyle.get(B):await new Promise(A=>{GA(()=>{u=function(A){const e=new Map;for(let t of A){const A=yA.defaultStyle.get(t);if(!A)continue;const n=Object.entries(A).map(([A,e])=>`${A}:${e};`).sort().join("");n&&(e.has(n)||e.set(n,[]),e.get(n).push(t))}let t="";for(let[A,n]of e.entries())t+=`${n.join(",")} { ${A} }\n`;return t}(d),yA.baseStyle.set(B,u),A()},{fast:t})}),await new Promise(s=>{GA(()=>{const t=getComputedStyle(A);const g=A.getBoundingClientRect(),d=Math.max(1,Math.ceil(A.offsetWidth||parseFloat(t.width)||g.width||1)),B=Math.max(1,Math.ceil(A.offsetHeight||parseFloat(t.height)||g.height||1)),f=(A,e=NaN)=>{const t="string"==typeof A?parseFloat(A):A;return Number.isFinite(t)?t:e},w=f(e.width),p=f(e.height);let m=d,C=B;const Q=Number.isFinite(w),y=Number.isFinite(p),U=B>0?d/B:1;Q&&y?(m=Math.max(1,Math.ceil(w)),C=Math.max(1,Math.ceil(p))):Q?(m=Math.max(1,Math.ceil(w)),C=Math.max(1,Math.ceil(m/(U||1)))):y?(C=Math.max(1,Math.ceil(p)),m=Math.max(1,Math.ceil(C*(U||1)))):(m=d,C=B);let F=0,b=0,v=d,E=B;if(n&&h&&Number.isFinite(h.a)){const A=Ze(d,B,{a:h.a,b:h.b||0,c:h.c||0,d:h.d||1,e:0,f:0},0,0);F=A.minX,b=A.minY,v=A.maxX,E=A.maxY}else{if(!n&&function(A){const e=getComputedStyle(A),t=e.transform||"none";if("none"!==t&&!/^matrix\(\s*1\s*,\s*0\s*,\s*0\s*,\s*1\s*,\s*0\s*,\s*0\s*\)$/i.test(t))return!0;const n=e.rotate&&"none"!==e.rotate&&"0deg"!==e.rotate,r=e.scale&&"none"!==e.scale&&"1"!==e.scale,o=e.translate&&"none"!==e.translate&&"0px 0px"!==e.translate;return Boolean(n||r||o)}(A)){const e=t.transform&&"none"!==t.transform?t.transform:"",n=function(A){const e={rotate:"0deg",scale:null,translate:null},t="function"==typeof A.computedStyleMap?A.computedStyleMap():null;if(t){const n=A=>{try{return"function"!=typeof t.has||t.has(A)?"function"!=typeof t.get?null:t.get(A):null}catch{return null}},r=n("rotate");if(r)if(r.angle){const A=r.angle;e.rotate="rad"===A.unit?180*A.value/Math.PI+"deg":A.value+A.unit}else r.unit?e.rotate="rad"===r.unit?180*r.value/Math.PI+"deg":r.value+r.unit:e.rotate=String(r);else{const t=getComputedStyle(A);e.rotate=t.rotate&&"none"!==t.rotate?t.rotate:"0deg"}const o=n("scale");if(o){const A="x"in o&&null!=o.x?.value?o.x.value:Array.isArray(o)?o[0]?.value:Number(o)||1,t="y"in o&&null!=o.y?.value?o.y.value:Array.isArray(o)?o[1]?.value:A;e.scale=`${A} ${t}`}else{const t=getComputedStyle(A);e.scale=t.scale&&"none"!==t.scale?t.scale:null}const i=n("translate");if(i){const A="x"in i&&"value"in i.x?i.x.value:Array.isArray(i)?i[0]?.value:0,t="y"in i&&"value"in i.y?i.y.value:Array.isArray(i)?i[1]?.value:0,n="x"in i&&i.x?.unit?i.x.unit:"px",r="y"in i&&i.y?.unit?i.y.unit:"px";e.translate=`${A}${n} ${t}${r}`}else{const t=getComputedStyle(A);e.translate=t.translate&&"none"!==t.translate?t.translate:null}return e}const n=getComputedStyle(A);return e.rotate=n.rotate&&"none"!==n.rotate?n.rotate:"0deg",e.scale=n.scale&&"none"!==n.scale?n.scale:null,e.translate=n.translate&&"none"!==n.translate?n.translate:null,e}(A),r=function(A){const e=function(){if(je)return je;const A=document.createElement("div");return A.id="snapdom-measure-slot",A.setAttribute("aria-hidden","true"),Object.assign(A.style,{position:"absolute",left:"-99999px",top:"0px",width:"0px",height:"0px",overflow:"hidden",opacity:"0",pointerEvents:"none",contain:"size layout style"}),document.documentElement.appendChild(A),je=A,A}(),t=document.createElement("div");t.style.transformOrigin="0 0",A.baseTransform&&(t.style.transform=A.baseTransform);A.rotate&&(t.style.rotate=A.rotate);A.scale&&(t.style.scale=A.scale);A.translate&&(t.style.translate=A.translate);e.appendChild(t);const n=ze(t);return e.removeChild(t),n}({baseTransform:e,rotate:n.rotate||"0deg",scale:n.scale,translate:n.translate}),{ox:o,oy:i}=function(A,e,t){const n=(A.transformOrigin||"0 0").trim().split(/\s+/),[r,o]=[n[0]||"0",n[1]||"0"],i=(A,e)=>{const t=A.toLowerCase();return"left"===t||"top"===t?0:"center"===t?e/2:"right"===t||"bottom"===t?e:t.endsWith("px")?parseFloat(t)||0:t.endsWith("%")?(parseFloat(t)||0)*e/100:/^-?\d+(\.\d+)?$/.test(t)&&parseFloat(t)||0};return{ox:i(r,e),oy:i(o,t)}}(t,d,B),s=Ze(d,B,r.is2D?r:new DOMMatrix(r.toString()),o,i);F=s.minX,b=s.minY,v=s.maxX,E=s.maxY}}const H=function(A){const e=A.boxShadow||"";if(!e||"none"===e)return{top:0,right:0,bottom:0,left:0};const t=e.split(/\),(?=(?:[^()]*\([^()]*\))*[^()]*$)/).map(A=>A.trim());let n=0,r=0,o=0,i=0;for(const A of t){const e=A.match(/-?\d+(\.\d+)?px/g)?.map(A=>parseFloat(A))||[];if(e.length<2)continue;const[t,s,a=0,c=0]=e,l=Math.abs(t)+a+c,u=Math.abs(s)+a+c;r=Math.max(r,l+Math.max(t,0)),i=Math.max(i,l+Math.max(-t,0)),o=Math.max(o,u+Math.max(s,0)),n=Math.max(n,u+Math.max(-s,0))}return{top:Math.ceil(n),right:Math.ceil(r),bottom:Math.ceil(o),left:Math.ceil(i)}}(t),I=function(A){const e=(A.filter||"").match(/blur\(\s*([0-9.]+)px\s*\)/),t=e?Math.ceil(parseFloat(e[1])||0):0;return{top:t,right:t,bottom:t,left:t}}(t),x=function(A){if("none"===(A.outlineStyle||"none"))return{top:0,right:0,bottom:0,left:0};const e=Math.ceil(parseFloat(A.outlineWidth||"0")||0);return{top:e,right:e,bottom:e,left:e}}(t),S=function(A){const e=`${A.filter||""} ${A.webkitFilter||""}`.trim();if(!e||"none"===e)return{bleed:{top:0,right:0,bottom:0,left:0},has:!1};const t=e.match(/drop-shadow\((?:[^()]|\([^()]*\))*\)/gi)||[];let n=0,r=0,o=0,i=0,s=!1;for(const A of t){s=!0;const e=A.match(/-?\d+(?:\.\d+)?px/gi)?.map(A=>parseFloat(A))||[],[t=0,a=0,c=0]=e,l=Math.abs(t)+c,u=Math.abs(a)+c;r=Math.max(r,l+Math.max(t,0)),i=Math.max(i,l+Math.max(-t,0)),o=Math.max(o,u+Math.max(a,0)),n=Math.max(n,u+Math.max(-a,0))}return{bleed:{top:Math.ceil(n),right:Math.ceil(r),bottom:Math.ceil(o),left:Math.ceil(i)},has:s}}(t),L=r?{top:0,right:0,bottom:0,left:0}:{top:H.top+I.top+x.top+S.bleed.top,right:H.right+I.right+x.right+S.bleed.right,bottom:H.bottom+I.bottom+x.bottom+S.bleed.bottom,left:H.left+I.left+x.left+S.bleed.left};F-=L.left,b-=L.top,v+=L.right,E+=L.bottom;const M=Math.max(1,Math.ceil(v-F)),D=Math.max(1,Math.ceil(E-b)),k=Math.max(1,Math.round(M*(Q||y?m/d:1))),K=Math.max(1,Math.round(D*(y||Q?C/B:1))),T="http://www.w3.org/2000/svg",R=(WA()?1:0)+(n?1:0),P=document.createElementNS(T,"foreignObject"),O=Math.floor(F),V=Math.floor(b);P.setAttribute("x",String(-(O-R))),P.setAttribute("y",String(-(V-R))),P.setAttribute("width",String(Math.ceil(d+2*R))),P.setAttribute("height",String(Math.ceil(B+2*R))),P.style.overflow="visible";const N=document.createElement("style");N.textContent=u+l+"svg{overflow:visible;} foreignObject{overflow:visible;}"+i,P.appendChild(N);const G=document.createElement("div");G.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),G.style.width=`${d}px`,G.style.height=`${B}px`,G.style.overflow="visible",o.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),G.appendChild(o),P.appendChild(G);const W=(new XMLSerializer).serializeToString(P),_=M+2*R,X=D+2*R,J=Q||y;e.meta={w0:d,h0:B,vbW:_,vbH:X,targetW:m,targetH:C};const Y=WA()&&J?_:k+2*R,$=WA()&&J?X:K+2*R;c=`<svg xmlns="${T}" width="${Y}" height="${$}" viewBox="0 0 ${_} ${X}">`+W+"</svg>",a=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(c)}`,s()},{fast:t})});const f=document.getElementById("snapdom-sandbox");return f&&"absolute"===f.style.position&&f.remove(),a}function Ze(A,e,t,n,r){const o=t.a,i=t.b,s=t.c,a=t.d,c=t.e||0,l=t.f||0;function u(A,e){let t=A-n,u=e-r,h=o*t+s*u,g=i*t+a*u;return h+=n+c,g+=r+l,[h,g]}const h=[u(0,0),u(A,0),u(0,e),u(A,e)];let g=1/0,d=1/0,B=-1/0,f=-1/0;for(const[A,e]of h)A<g&&(g=A),e<d&&(d=e),A>B&&(B=A),e>f&&(f=e);return{minX:g,minY:d,maxX:B,maxY:f,width:B-g,height:f-d}}function ze(A){const e=getComputedStyle(A).transform;if(!e||"none"===e)return new DOMMatrix;try{return new DOMMatrix(e)}catch{return new WebKitCSSMatrix(e)}}var je=null;function qe(A){const e=function(A){let e=[],t="",n=0;for(let r=0;r<A.length;r++){const o=A[r];"("===o&&n++,")"===o&&(n=Math.max(0,n-1)),";"===o&&0===n?(e.push(t),t=""):t+=o}return t.trim()&&e.push(t),e.map(A=>A.trim()).filter(Boolean)}(A);let t=null,n=null,r=null;const o=[];for(const A of e){const e=A.indexOf(":");if(e<0)continue;const i=A.slice(0,e).trim().toLowerCase(),s=A.slice(e+1).trim();"box-shadow"===i?r=s:"filter"===i?t=s:"-webkit-filter"===i?n=s:o.push([i,s])}if(r){const A=function(A){const e=[];let t="",n=0;for(let r=0;r<A.length;r++){const o=A[r];"("===o&&n++,")"===o&&(n=Math.max(0,n-1)),","===o&&0===n?(e.push(t.trim()),t=""):t+=o}t.trim()&&e.push(t.trim());const r=[];for(const A of e){if(/\binset\b/i.test(A))continue;const e=A.match(/-?\d+(?:\.\d+)?px/gi)||[],[t="0px",n="0px",o="0px"]=e;let i=A.replace(/-?\d+(?:\.\d+)?px/gi,"").replace(/\binset\b/gi,"").trim().replace(/\s{2,}/g," ");const s=!!i&&","!==i;r.push(`drop-shadow(${t} ${n} ${o}${s?` ${i}`:""})`)}return r.join(" ")}(r);A&&(t=t?`${t} ${A}`:A,n=n?`${n} ${A}`:A)}const i=[...o];return t&&i.push(["filter",t]),n&&i.push(["-webkit-filter",n]),i.map(([A,e])=>`${A}:${e}`).join(";")}function At(A){return A=(A=A.replace(/<style[^>]*>([\s\S]*?)<\/style>/gi,(A,e)=>A.replace(e,function(A){return A.replace(/([^{}]+)\{([^}]*)\}/g,(A,e,t)=>`${e}{${qe(t)}}`)}(e)))).replace(/style=(['"])([\s\S]*?)\1/gi,(A,e,t)=>`style=${e}${qe(t)}${e}`)}function et(A){if(!WA()||("string"!=typeof(e=A)||!/^data:image\/svg\+xml/i.test(e)))return A;var e;try{const e=function(A){const e=A.indexOf(",");return e>=0?decodeURIComponent(A.slice(e+1)):""}(A),t=At(e);return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(t)}`}catch{return A}}async function tt(A,e){let{width:t,height:n,scale:r=1,dpr:o=1,meta:i={}}=e;A=et(A);const s=new Image;s.loading="eager",s.decoding="sync",s.crossOrigin="anonymous",s.src=A,await s.decode();const a=s.naturalWidth,c=s.naturalHeight,l=Number.isFinite(i.w0)?i.w0:a,u=Number.isFinite(i.h0)?i.h0:c;let h,g;const d=Number.isFinite(t),B=Number.isFinite(n);if(d&&B)h=Math.max(1,t),g=Math.max(1,n);else if(d){const A=t/Math.max(1,l);h=t,g=Math.round(u*A)}else if(B){const A=n/Math.max(1,u);g=n,h=Math.round(l*A)}else h=a,g=c;h=Math.round(h*r),g=Math.round(g*r);const f=document.createElement("canvas");f.width=Math.ceil(h*o),f.height=Math.ceil(g*o),f.style.width=`${h}px`,f.style.height=`${g}px`;const w=f.getContext("2d");return 1!==o&&w.scale(o,o),w.drawImage(s,0,0,h,g),f}async function nt(A,e){const t=await tt(A,e),n=e.backgroundColor?SA(t,e.backgroundColor):t,r=new Image;return r.src=n.toDataURL(`image/${e.format}`,e.quality),await r.decode(),r.style.width=n.width/e.dpr+"px",r.style.height=n.height/e.dpr+"px",r}async function rt(A,e){const{scale:t=1,width:n,height:r,meta:o={}}=e,i=Number.isFinite(n),s=Number.isFinite(r),a=Number.isFinite(t)&&1!==t||i||s;if(WA()&&a){return await nt(A,{...e,format:"png",quality:1,meta:o})}const c=new Image;if(c.decoding="sync",c.loading="eager",c.src=A,await c.decode(),i&&s)c.style.width=`${n}px`,c.style.height=`${r}px`;else if(i){const A=Number.isFinite(o.w0)?o.w0:c.naturalWidth,e=Number.isFinite(o.h0)?o.h0:c.naturalHeight,t=n/Math.max(1,A);c.style.width=`${n}px`,c.style.height=`${Math.round(e*t)}px`}else if(s){const A=Number.isFinite(o.w0)?o.w0:c.naturalWidth,e=Number.isFinite(o.h0)?o.h0:c.naturalHeight,t=r/Math.max(1,e);c.style.height=`${r}px`,c.style.width=`${Math.round(A*t)}px`}else{const e=Math.round(c.naturalWidth*t),n=Math.round(c.naturalHeight*t);if(c.style.width=`${e}px`,c.style.height=`${n}px`,"string"==typeof A&&A.startsWith("data:image/svg+xml"))try{const t=decodeURIComponent(A.split(",")[1]).replace(/width="[^"]*"/,`width="${e}"`).replace(/height="[^"]*"/,`height="${n}"`);A=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(t)}`,c.src=A}catch{}}return c}async function ot(A,e){const t=e.type;if("svg"===t){const e=decodeURIComponent(A.split(",")[1]);return new Blob([e],{type:"image/svg+xml"})}const n=await tt(A,e),r=e.backgroundColor?SA(n,e.backgroundColor):n;return new Promise(A=>r.toBlob(e=>A(e),`image/${t}`,e.quality))}var it=Symbol("snapdom.internal"),st=!1;async function at(A,e){if(!A)throw new Error("Element cannot be null or undefined");const t=function(A={}){const e=A.format??"png",t=function(A){if("string"==typeof A){const e=A.toLowerCase().trim();if("disabled"===e||"full"===e||"auto"===e||"soft"===e)return e}return"soft"}(A.cache);return{debug:A.debug??!1,fast:A.fast??!0,scale:A.scale??1,exclude:A.exclude??[],excludeMode:A.excludeMode??"hide",filter:A.filter??null,filterMode:A.filterMode??"hide",placeholders:!1!==A.placeholders,embedFonts:A.embedFonts??!1,iconFonts:Array.isArray(A.iconFonts)?A.iconFonts:A.iconFonts?[A.iconFonts]:[],localFonts:Array.isArray(A.localFonts)?A.localFonts:[],excludeFonts:A.excludeFonts??void 0,fallbackURL:A.fallbackURL??void 0,cache:t,useProxy:"string"==typeof A.useProxy?A.useProxy:"",width:A.width??null,height:A.height??null,format:e,type:A.type??"svg",quality:A.quality??.92,dpr:A.dpr??(window.devicePixelRatio||1),backgroundColor:A.backgroundColor??(["jpg","jpeg","webp"].includes(e)?"#ffffff":null),filename:A.filename??"snapDOM",straighten:A.straighten??!1,noShadows:A.noShadows??!1}}(e);if(WA()&&(!0===t.embedFonts||function(A){const e=document.createTreeWalker(A,NodeFilter.SHOW_ELEMENT);for(;e.nextNode();){const A=e.currentNode,t=getComputedStyle(A),n=t.backgroundImage&&"none"!==t.backgroundImage,r=t.maskImage&&"none"!==t.maskImage||t.webkitMaskImage&&"none"!==t.webkitMaskImage;if(n||r)return!0}return!1}(A)))for(let t=0;t<3;t++)try{await ct(A,e),console.log("Iteración número:",t),st=!1}catch{}return t.iconFonts&&t.iconFonts.length>0&&function(A){const e=Array.isArray(A)?A:[A];for(const A of e)A instanceof RegExp?oe.push(A):"string"==typeof A?oe.push(new RegExp(A,"i")):console.warn("[snapdom] Ignored invalid iconFont value:",A)}(t.iconFonts),t.snap||(t.snap={toPng:(A,e)=>at.toPng(A,e),toSvg:(A,e)=>at.toSvg(A,e)}),at.capture(A,t,it)}async function ct(A,e){if(st)return;const t={...e,fast:!0,embedFonts:!0,scale:.2};let n;try{n=await $e(A,t)}catch{return}await new Promise(A=>{const e=new Image;e.decoding="sync",e.loading="eager",e.style.position="fixed",e.style.left=0,e.style.top=0,e.style.width="10px",e.style.height="10px",e.style.opacity="0.01",e.style.transform="translateZ(10px)",e.style.willChange="transform,opacity;",e.src=n;document.body.appendChild(e),(async()=>{await new Promise(A=>setTimeout(A,100)),e&&e.parentNode&&e.parentNode.removeChild(e),st=!0,A()})()})}at.capture=async(A,e,t)=>{if(t!==it)throw new Error("[snapdom.capture] is internal. Use snapdom(...) instead.");const n=await $e(A,e),r=A=>({...e,...A||{}}),o=A=>e=>{const t=r({...e||{},format:A}),o="jpeg"===A||"jpg"===A,i=null==t.backgroundColor||"transparent"===t.backgroundColor;return o&&i&&(t.backgroundColor="#ffffff"),nt(n,t)};return{url:n,toRaw:()=>n,toImg:A=>rt(n,r(A)),toSvg:A=>rt(n,r(A)),toCanvas:A=>tt(n,r(A)),toBlob:A=>ot(n,r(A)),toPng:o("png"),toJpg:o("jpeg"),toWebp:o("webp"),download:A=>async function(A,e){if(e.dpr=1,"svg"===e.format){const t=await ot(A,{...e,type:"svg"}),n=URL.createObjectURL(t),r=document.createElement("a");return r.href=n,r.download=e.filename,r.click(),void URL.revokeObjectURL(n)}const t=await tt(A,e),n=e.backgroundColor?SA(t,e.backgroundColor):t,r=document.createElement("a");r.href=n.toDataURL(`image/${e.format}`,e.quality),r.download=e.filename,r.click()}(n,r(A))}},at.toRaw=(A,e)=>at(A,e).then(A=>A.toRaw()),at.toImg=(A,e)=>at(A,e).then(A=>A.toImg()),at.toSvg=(A,e)=>at(A,e).then(A=>A.toSvg()),at.toCanvas=(A,e)=>at(A,e).then(A=>A.toCanvas()),at.toBlob=(A,e)=>at(A,e).then(A=>A.toBlob()),at.toPng=(A,e)=>at(A,{...e,format:"png"}).then(A=>A.toPng()),at.toJpg=(A,e)=>at(A,{...e,format:"jpeg"}).then(A=>A.toJpg()),at.toWebp=(A,e)=>at(A,{...e,format:"webp"}).then(A=>A.toWebp()),at.download=(A,e)=>at(A,e).then(A=>A.download());var lt="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function ut(A){return A&&A.__esModule&&Object.prototype.hasOwnProperty.call(A,"default")?A.default:A}function ht(A){if(A.__esModule)return A;var e=A.default;if("function"==typeof e){var t=function A(){return this instanceof A?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};t.prototype=e.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(A).forEach(function(e){var n=Object.getOwnPropertyDescriptor(A,e);Object.defineProperty(t,e,n.get?n:{enumerable:!0,get:function(){return A[e]}})}),t}var gt={exports:{}};
1
+ !function(A,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((A="undefined"!=typeof globalThis?globalThis:A||self).CustomerSDK={})}(this,function(A){"use strict";class e{constructor(A,e=!1,t,n){this.iconElement=null,this.badgeElement=null,this.onClickCallback=null,this.notificationCallback=null,this.iconPosition=null,this.debug=!1,this.isClickEnabled=!0,this.target=null,this.isDragging=!1,this.dragStarted=!1,this.dragIntent=!1,this.hasMoved=!1,this.dragOffset={x:0,y:0},this.lastTouchPosition={x:0,y:0},this.touchStartTime=0,this.clickThreshold=15,this.stoppedByIframe=!1,this.cachedContainer=null,this.cachedContainerRect=null,this.cachedIconSize={width:0,height:0},this.lastContainerUpdateTime=0,this.containerUpdateInterval=100,this.cachedIframes=[],this.lastIframeUpdateTime=0,this.iframeUpdateInterval=16,this.rafId=null,this.pendingPosition={x:0,y:0,needsUpdate:!1},this.activeDetectionRafId=null,this.activeDetectionTimeoutId=null,this.lastMousePosition={x:0,y:0,timestamp:0},this.mouseVelocity={vx:0,vy:0},this.onDragHandler=null,this.stopDragHandler=null,this.startDragHandler=null,this.mouseLeaveHandler=null,this.pointerLeaveHandler=null,this.blurHandler=null,this.dragTimeoutId=null,this.mouseLeaveTimeout=null,this.pointerLeaveTimeout=null,this.isStoppingDrag=!1,this.hasLoggedIframeWarning=!1,this.sideAttach=!0,this.sideHideRatio=.5,this.magnetic=!0,this.magneticDirection="x",this.margin=10,this.isAttachedToSide=!1,this.attachedSide="",this.autoAttachDelay=3e3,this.autoAttachTimer=null,this.iconPosition=A||null,this.debug=e,this.target=t||null,n&&(this.sideAttach=void 0===n.sideAttach||n.sideAttach,this.sideHideRatio=void 0!==n.sideHideRatio?n.sideHideRatio:.5,this.magnetic=void 0===n.magnetic||n.magnetic,this.magneticDirection=n.magneticDirection||"x",this.margin=void 0!==n.margin?n.margin:10,this.autoAttachDelay=void 0!==n.autoAttachDelay?n.autoAttachDelay:3e3)}async show(){if(this.iconElement)return;this.iconElement=document.createElement("div"),this.iconElement.className="customer-sdk-icon";const A={position:"absolute",width:"30px",height:"30px",backgroundColor:"transparent",borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer",zIndex:"1000002",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.15)",userSelect:"none",transition:"transform 0.2s ease",border:"none",outline:"none",overflow:"visible",pointerEvents:"none"};if(this.iconPosition)void 0!==this.iconPosition.x?(A.left="number"==typeof this.iconPosition.x?`${this.iconPosition.x}px`:this.iconPosition.x,A.right="auto"):A.right="20px",void 0!==this.iconPosition.y?(A.top="number"==typeof this.iconPosition.y?`${this.iconPosition.y}px`:this.iconPosition.y,A.bottom="auto"):A.bottom="80px";else if(this.sideAttach&&this.magnetic){const e=30*this.sideHideRatio;A.right=`-${e}px`,A.left="auto",A.bottom="80px",A.transform="translateX(0)",this.isAttachedToSide=!0,this.attachedSide="right"}else A.bottom="80px",A.right="20px";if(this.sideAttach&&this.isAttachedToSide&&this.attachedSide){const e=30*this.sideHideRatio;"left"===this.attachedSide?(A.left=`-${e}px`,A.right="auto",A.transform="translateX(0)"):"right"===this.attachedSide&&(A.right=`-${e}px`,A.left="auto",A.transform="translateX(0)")}Object.assign(this.iconElement.style,A);const e=document.createElement("img");e.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAArKSURBVHgB7Z1NbFTXFcf/93mwaGyEabLoIgFTqWRFMZUitSoIu80ial01SFWrKgsGKXYpWdRtFilRK4xUgbKICosmCKIySKCo2UAE6i61XVroDuOoi2YT02RZVFNwQTAzN+e8N88ej9+8j5n3ce5wf5JhPvyY4f3f/9xzz73vXoUeYKish6oljCiFYQ2MaAebVR3D/Jzf1xpDUPTTggIW6feXoOlH0Q9wS9exRK/Pl6qYX6qoJRiOgoEMvqpHWUjlYJ9iQeEJmTb07y6y2CT6HP99/z01C8MwQmB26OMSyuTIH9LTkSA35oLn9FmKCB/WHmP2YUUtQjhiBV4jqsIoJKJJbOC8ZLHFCczhl75UWXvCFuPUDiBXV5TGeWlhXIzALCx9m6Ni3RqfeRL71PJZVYEAChfYdayDc1klSkXBCRr9caxooQsTuIccG4qbiddxsKjQnbvAlDwNVzfgXK8L2wq30ZSMHcs7GctV4IFX9ZTyXGtM8pQq2i2qnCQ3H0NO5CLwk+radnDYrj3CWB5udpAx7FoS96YVdxVy1XCJzgmfG2RMZg5268P9FI6BzP8TRlN3Q/YvkRGZCOyG5H5cApcVLZFkGbJTF3igrEccErfX+rVZk5XIqbbBmyb1y2oDZqy4yfHbZT6HSJHUHDwwqQ/QP1aBpWvIIOXlM+o8UiAVga246ZOWyF0LbMXNjjRE7kpgbi/oS1yCJTNIoP33zqjL6JCOBW5Up24+sWXHvKDyJplojEal5tEBHWXRLG6tHzNW3BxQ7oTBSxvpnKMDOhKYxbVdofxwu1BUW+DqIBKSWODBSf17K24hjFRLbuk3EYkEbhTHbW25KBxMJR2giJ1k2aRKCJR0VR9jd9ySZmwH26RKCKRBicfWYxJLYGp3j9p2VxA0th43VEeGaBuahRIzVEc6uFbCtBVXIDFDdaiDBw/pUdSp7bXIpY6xsCm5oQ5W9fiNuaUgVHjfuK2DN01ovj/IaIE3PwVs/TL9PEOPv7T2vX/fAe7+H/j4c5hPiItLbQ9SyasmRcOCvvJN4OvPAXueB7Y9He+4a/8CFkjoq1TO/9snMA7tuEbcHvReoINNc++eHcCb48De59E1t+94gp+46rncGNq4OFBg6vfehAEzIl/5FnDkB/GdmpQL1w0SWmP2/lk11vryOoFNyJx3Pgu89eN0HBuHP3zkCc1ttmgCXLwui1ZVlCGYw98Brv82P3GZ174L/P031LY/C9FQs3qg9bU1Dm5MWP8UAuEE6v1D+QobxPErnptFQtWt0mNsb14daI2Daxtk3j+09WnPQUWLy7xJbf6RcciEqlu8rknzS2sEpnT7AITB4v759ewSqU6QLHJjJaLV5/4DieFZorjNSA3XpUfY4ofpFQdLDM/vH5YrLsNO5qRPGs1hekVgGu9N9Z6YbuEQKD1rZVjkrcIuwuYw3dwG74MQ+ITxiTMBN7s/DGmsFKlcgd3ihqAxX253TYIjjahQTVq6qxihIbCuyilLcvlRcrvbDo447GYp6IaLXYGVoPUzjhgSmlthcSW52NfUF3gXBGCqe324pCnFxbqhqcO3Q0iZMckCm4w/Hi0Bvt2FtXWqG2W0v5w5SyhFdsv4boiBV8F3pCRYe3egJ+D/h6AwPewoR0b3yPTw3Mzer0EEvN2BQ/m0CAfzPKpeYY+QpoY3J3Eoj96Mgtn5nKw+ZLdI6QmoOraXoIsP0a1TWoPg6TLv/AW4/R/v9zmZSdJuv/MRsPCZd+xrL8avH/PnXryR7NidQqIRtcHbSkpjiy543feoK54nvX3vbW/Gow+LHWdclgXiYxc+T35su8996yfhRQ1JfXmHVUbBRDmCx11v3wl+fSFi4vobHwT/Dh977ZPOPveNP0VPwJPQ5JB5hzJfTjgNrt5q/x7PYQ7j48/av7cQ8l7U5164gVDiNDuZowwROIwoJy096PzYXkCEwFEnOmzgPyrRGt/V+bGhnxvRFZIyWV6GwA/C33+3HNxOc6ITdaIPv9j5se0+15TZJkxf/zempyhWb0SBbHsG+NEL7d8fooRlfGTV6Tu+4g0rvv4SIknz2Be+CvzqJW/UKAxu2//4V4hAbZrQi0Vn0uySfx5Hz8B3Kf70XRQOLzIuIkT79+r2ClHZeV5QN2nJoXqliLnQ1wy8L7cdgu4xvuuQyrchgKj+rClwJBJ0sZKDNURsY37xH+gJrna06G9GKMw7vHU5BCDsyu+YizcgBl1nB/dhEUI4cQVGw8mipIuUzeuUHspwMMMnx6h1MVo4LuwCLVVJYL4LTUqixRyqwEj4whQVnqkPzNo6jSeiXGxiWyzNvWRadyzME1hjFoL4ecWswsfF67Lcy/iaenc2lOQ4mOFB9uNS18FogUOzxJvA/d7RymSdwQn9X2mryp4uy55Oy1Hm278LnvVRKFTbuH9WbeGHq7VoR5aLmXbTbaTw6w8Eiusx5z9YvcO/hg8hjKAJc1LgPOGCsHbXh5LmlZ3SVgTeUJW5/6AvspQSIH8fyeIytb7VpHlFYHdVFiUrm/bhk8rhuujM2p9GK1lcsu/cw9Ory/yvXSdLYJhm/OWUipyKyhGEEyrJOQGjW3aCXSOwG6aFjC75FL1Wlu9anqGxZEDfvDk8M2sEdsuWSo6LixSXmwPu37JrTamsaYVKc3hm1q34rh1ycb34JQ2LEJdF5RB84oqZ5VJVw7rNpIMXBP+ZnqFQPYqCyEtc7sNyCOa7H1hQnmpjQhgORGOeihvr1hcI3rNB4ViRAv/vAfD9t5EpQgsUHUPJ1amg19vvujKpP7Xb2ZkBDw0un1GBm3K0nTZLbfFBWMxAU8RtQ/jOZwW3xZZowtzLhE98V+2vDIsMVD080oYKfP+0mpVavrR4/d6wfQuZyFtXSoquEGHVLQvcMd9ajAgbKfASVUa0DdXy0DjVWrUKIvbyKzbhkkNUYtVM7LsLbagWAodmB2Nxfz22wDZUy0BTnzdOaPZJdH8whYWTHPthKQY698vvkQYJSLwEGq9BXO13N68UvztpL5Gk3W0m8R3+PGZccrCfroxFWHKBxU3S7jbT8SKGAxN6hA6ekTaXuuegpKrah91J2t1mOl6jY/msmlfKDkhkDZ/jTsVlulqE5d4ZdVlpK3JWUMZ8kM8xuiCVdWY3TegydaHOwZIaLC5FyQq6JLWFhK3I6ZGWuExq62Tdoy9EV8t+W+3qAjp3fA7TEpdJfSnwoUN6uFbHjJ3ukwzuCtEfLG6qN+mkvtIdlzT7qM9m+8mJmOd+btriMpksZeiK/Ai7bVkzBnSOSk9hrJuuUBiZ79YwMKmnqCt11BZEWqD2lgcOktaWk5LLdhy2XV7HXNVBOSvXNpPrfiuDk3qartxfPLFuzsm1zeS+oU7DzdPk5sLvf8qZ3FzbTGE7JvG28qqOc09A2J6jVHbanaFaAAVvieVVwOhbHO01oblfqxwcLEpYn8IF9mmUOqfooYjdyLugUMe2IkZgn0boLhvVRnPy5OAyDe2dlyKsjziBfdxkrIZRcnWZnu6DTOZ0HZc3DKKydFKJrMGLFbiZFbGBl8FiF9XN4oEUhVvSRW3GCIFb4TDOW9NTSByln11ZJWi8zDKvxMsLe/J6ntLCbxyMFLiVoSk9VH2IEVd03rKedzX3XD7EO3AG7gvlDc3ddR8qLLpZr6LX6iRoHxZLGzFvgkOj+ALBlx6CtCZy6AAAAABJRU5ErkJggg==",e.style.width="100%",e.style.height="100%",e.style.objectFit="cover",e.style.display="block",e.alt="Customer Service",e.onload=()=>{this.debug&&console.log("Icon image loaded successfully"),this.iconElement&&(e.style.opacity="1",e.style.visibility="visible")},e.onerror=A=>{console.error("Failed to load icon image",A)},e.style.opacity="1",e.style.visibility="visible";const t=document.createElement("div");Object.assign(t.style,{width:"100%",height:"100%",borderRadius:"50%",overflow:"hidden",position:"relative",pointerEvents:"auto"}),t.appendChild(e),this.iconElement.appendChild(t);const n=this.getTargetElement();if(this.debug&&console.log("[IconManager] Target element for icon:",{target:this.target,targetElement:n,targetElementId:n.id,targetElementClass:n.className,isBody:n===document.body}),this.sideAttach&&n!==document.body){const A=window.getComputedStyle(n),e=A.overflowX,t=A.overflowY;"hidden"!==e&&(n.dataset.originalOverflowX||(n.dataset.originalOverflowX=e||"visible",n.dataset.originalOverflowY=t||"visible"),n.style.overflowX="hidden","visible"===t&&(n.style.overflowY="auto"),this.debug&&console.log("[IconManager] Set overflow-x: hidden on target container",{target:this.target,originalOverflowX:e,originalOverflowY:t}))}n?(n.appendChild(this.iconElement),this.debug&&console.log("[IconManager] Icon added to target element:",{target:this.target,targetElement:n,targetElementId:n.id,targetElementClass:n.className})):(document.body.appendChild(this.iconElement),this.debug&&console.warn("[IconManager] Target element not found, icon added to document.body")),this.setupDragEvents(),this.magnetic&&!this.iconPosition&&setTimeout(()=>{if(this.iconElement){const A=this.getTargetElement();if(A){const e=A.getBoundingClientRect(),t=this.iconElement.offsetWidth||30,n=this.iconElement.offsetHeight||30,r=20,o=80,i=e.width-t-r,s=e.height-n-o;if(this.iconElement.style.left=`${i}px`,this.iconElement.style.top=`${s}px`,this.iconElement.style.right="auto",this.iconElement.style.bottom="auto",this.sideAttach){this.isAttachedToSide=!0,this.attachedSide="right";const A=t*this.sideHideRatio;this.iconElement.style.right=`-${A}px`,this.iconElement.style.left="auto",this.iconElement.style.bottom=`${o}px`,this.iconElement.style.top="auto",this.iconElement.style.transform="translateX(0)",this.iconElement.style.transition="all 0.3s ease",this.debug&&console.log("[IconManager] Auto side attach on init",{isAttachedToSide:this.isAttachedToSide,attachedSide:this.attachedSide,hideDistance:A,right:`-${A}px`})}else this.magneticSnap(),this.debug&&console.log("[IconManager] Auto magnetic snap on init",{isAttachedToSide:this.isAttachedToSide,attachedSide:this.attachedSide})}}},200),this.sideAttach&&this.autoAttachDelay>0&&!this.isAttachedToSide&&setTimeout(()=>{this.startAutoAttachTimer()},300),this.debug&&console.log("CustomerSDK icon displayed")}forceCleanupDragEvents(){this.cleanupDragEvents()}hide(){if(this.cleanupDragEvents(),this.clearAutoAttachTimer(),this.iconElement){const A=window.getComputedStyle(this.iconElement),e=A.left,t=A.top;if("auto"!==e&&"auto"!==t&&""!==e&&""!==t){const A=parseFloat(e),n=parseFloat(t);isNaN(A)||isNaN(n)||(this.iconPosition={x:A,y:n},this.debug&&console.log("Icon position saved before hide:",this.iconPosition))}this.iconElement.remove(),this.iconElement=null,this.debug&&console.log("CustomerSDK icon hidden")}}setPosition(A){}setIconPosition(A){this.iconPosition=A,this.iconElement&&(void 0!==A.x&&(this.iconElement.style.left="number"==typeof A.x?`${A.x}px`:A.x,this.iconElement.style.right="auto"),void 0!==A.y&&(this.iconElement.style.top="number"==typeof A.y?`${A.y}px`:A.y,this.iconElement.style.bottom="auto"))}setStyle(A){}startAutoAttachTimer(){this.clearAutoAttachTimer(),this.isAttachedToSide||(this.autoAttachTimer=window.setTimeout(()=>{!this.iconElement||this.isDragging||this.dragStarted||this.autoAttachToSide(),this.autoAttachTimer=null},this.autoAttachDelay),this.debug&&console.log(`[IconManager] Auto attach timer started, will attach in ${this.autoAttachDelay}ms`))}clearAutoAttachTimer(){null!==this.autoAttachTimer&&(window.clearTimeout(this.autoAttachTimer),this.autoAttachTimer=null,this.debug&&console.log("[IconManager] Auto attach timer cleared"))}autoAttachToSide(){if(this.iconElement&&this.sideAttach)try{const A=this.getTargetElement();if(!A)return;const e=A.getBoundingClientRect(),t=this.iconElement.offsetWidth||30,n=window.getComputedStyle(this.iconElement),r=parseFloat(n.left)||0,o=n.right,i=e.width;let s=!0;if("auto"!==o&&""!==o){const A=parseFloat(o);if(!isNaN(A)){s=i-t-A>=i/2}}else s=r>=i/2;if(s){this.isAttachedToSide=!0,this.attachedSide="right";const A=t*this.sideHideRatio;this.iconElement.style.right=`-${A}px`,this.iconElement.style.left="auto"}else{this.isAttachedToSide=!0,this.attachedSide="left";const A=t*this.sideHideRatio;this.iconElement.style.left=`-${A}px`,this.iconElement.style.right="auto"}const a=window.getComputedStyle(this.iconElement);"auto"!==a.top&&""!==a.top?(this.iconElement.style.top=a.top,this.iconElement.style.bottom="auto"):"auto"!==a.bottom&&""!==a.bottom&&(this.iconElement.style.bottom=a.bottom,this.iconElement.style.top="auto"),this.iconElement.style.transform="translateX(0)",this.iconElement.style.transition="all 0.3s ease",this.debug&&console.log("[IconManager] Auto attached to side",{attachedSide:this.attachedSide,hideDistance:t*this.sideHideRatio})}catch(A){this.debug&&console.error("[IconManager] Error in autoAttachToSide:",A)}}onClick(A){this.onClickCallback=A}onNotification(A){this.notificationCallback=A}showNotification(A){if(!this.iconElement)return void(this.debug&&console.warn("Icon not displayed, cannot show notification"));const{showBadge:e=!0,badgeCount:t=0,badgeText:n="",pulse:r=!1}=A;(e||t>0)&&this.createBadge(t,n,r),this.notificationCallback&&this.notificationCallback({badgeCount:t,badgeText:n,pulse:r}),this.debug&&console.log("Notification shown:",{badgeCount:t,badgeText:n})}clearNotification(){this.badgeElement&&(this.badgeElement.remove(),this.badgeElement=null),this.debug&&console.log("Notification cleared")}setupDragEvents(){this.iconElement&&(this.startDragHandler=this.startDrag.bind(this),this.onDragHandler=this.onDrag.bind(this),this.stopDragHandler=this.stopDrag.bind(this),this.iconElement.addEventListener("mousedown",this.startDragHandler),this.iconElement.addEventListener("touchstart",this.startDragHandler,{passive:!1}))}isSDKIframeOpen(){if(!(window.innerWidth>768))return!1;const A=document.querySelector(".customer-sdk-container");if(!A)return this.debug&&console.log("[IconManager] [PC+iframe] SDK iframe container not found"),!1;const e=window.getComputedStyle(A),t=e.visibility,n=e.opacity,r=e.display,o="visible"===t&&parseFloat(n)>0&&"none"!==r;return this.debug&&console.log("[IconManager] [PC+iframe] Checking SDK iframe visibility:",{visibility:t,opacity:n,display:r,isVisible:o,parsedOpacity:parseFloat(n)}),o}startDrag(A){if(!this.iconElement||!this.isClickEnabled)return;const e="touches"in A?A.touches[0].clientX:A.clientX,t="touches"in A?A.touches[0].clientY:A.clientY;if(this.isSDKIframeOpen())return this.debug&&console.log("[IconManager] [PC+iframe] SDK iframe is open, icon dragging disabled, but click is allowed"),this.touchStartTime=Date.now(),this.lastTouchPosition.x=e,this.lastTouchPosition.y=t,this.hasMoved=!1,this.dragIntent=!1,this.dragStarted=!1,this.isDragging=!1,void(this.stopDragHandler&&(document.addEventListener("mouseup",this.stopDragHandler),document.addEventListener("touchend",this.stopDragHandler)));const n=window.innerWidth>768;if(n&&this.isMouseOverIframe(e,t))return this.debug&&console.log("[IconManager] [PC+iframe] Mouse is over iframe, icon dragging disabled, but click is allowed",{clientX:e,clientY:t,isPC:n}),this.touchStartTime=Date.now(),this.lastTouchPosition.x=e,this.lastTouchPosition.y=t,this.hasMoved=!1,this.dragIntent=!1,this.dragStarted=!1,this.isDragging=!1,void(this.stopDragHandler&&(document.addEventListener("mouseup",this.stopDragHandler),document.addEventListener("touchend",this.stopDragHandler)));if(this.clearAutoAttachTimer(),this.isStoppingDrag)return void(this.debug&&console.warn("[IconManager] startDrag called while stopping, ignoring"));if(this.isDragging||this.dragStarted)return void(this.debug&&console.warn("[IconManager] startDrag called but already dragging, ignoring",{isDragging:this.isDragging,dragStarted:this.dragStarted}));this.hasLoggedIframeWarning=!1,null===this.dragTimeoutId&&null===this.activeDetectionRafId&&null===this.rafId||(this.debug&&console.warn("[IconManager] startDrag found leftover resources, cleaning up",{hasTimeout:null!==this.dragTimeoutId,hasActiveDetection:null!==this.activeDetectionRafId,hasRaf:null!==this.rafId}),this.cleanupDragEvents());const r=A.target;if(!r||!("IFRAME"===r.tagName||r.closest("iframe")||r.closest(".customer-sdk-container")||r.closest(".customer-sdk-overlay"))){if(this.iconElement){const A=this.iconElement.getBoundingClientRect(),n=A.left+A.width/2,r=A.top+A.height/2,o=Math.min(A.width,A.height)/2,i=Math.sqrt(Math.pow(e-n,2)+Math.pow(t-r,2));if(i>o+10)return void(this.debug&&console.log("[IconManager] Touch point outside icon circle, allowing event to pass through",{distance:i,radius:o,touchPoint:{x:e,y:t},iconCenter:{x:n,y:r}}))}A.preventDefault(),A.stopPropagation(),this.iconElement&&(this.iconElement.style.pointerEvents="auto"),this.hasMoved=!1,this.dragStarted=!1,this.isDragging=!1,this.dragIntent=!0,this.touchStartTime=Date.now(),this.lastMousePosition={x:e,y:t,timestamp:Date.now()},this.lastTouchPosition.x=e,this.lastTouchPosition.y=t;try{const A=this.iconElement.getBoundingClientRect();if(!this.getTargetElement())return void(this.debug&&console.warn("Container not found"));this.dragOffset.x=e-A.left,this.dragOffset.y=t-A.top;const n=document.querySelectorAll("iframe");this.cachedIframes=Array.from(n).filter(A=>!A.closest(".customer-sdk-container")).map(A=>({element:A,rect:A.getBoundingClientRect()})),this.lastIframeUpdateTime=Date.now(),this.debug&&console.log(`[IconManager] Drag start - Found ${this.cachedIframes.length} iframe(s) (excluding SDK iframes)`,{iframes:this.cachedIframes.map(({rect:A})=>({left:A.left,top:A.top,right:A.right,bottom:A.bottom,width:A.width,height:A.height}))}),this.onDragHandler&&(document.addEventListener("mousemove",this.onDragHandler),document.addEventListener("touchmove",this.onDragHandler,{passive:!1})),this.stopDragHandler&&(document.addEventListener("mouseup",this.stopDragHandler),document.addEventListener("touchend",this.stopDragHandler)),this.mouseLeaveHandler=A=>{(A.clientY<-10||A.clientX<-10||A.clientX>window.innerWidth+10||A.clientY>window.innerHeight+10)&&!this.isMouseOverIframe(A.clientX,A.clientY)&&(this.mouseLeaveTimeout&&clearTimeout(this.mouseLeaveTimeout),this.mouseLeaveTimeout=window.setTimeout(()=>{!this.isDragging&&!this.dragStarted||this.isStoppingDrag||this.isMouseOverIframe(A.clientX,A.clientY)||(this.debug&&console.log("[IconManager] Mouse left window, stopping drag"),this.stopDrag()),this.mouseLeaveTimeout=null},100))},this.pointerLeaveHandler=A=>{(A.clientY<-10||A.clientX<-10||A.clientX>window.innerWidth+10||A.clientY>window.innerHeight+10)&&!this.isMouseOverIframe(A.clientX,A.clientY)&&(this.pointerLeaveTimeout&&clearTimeout(this.pointerLeaveTimeout),this.pointerLeaveTimeout=window.setTimeout(()=>{!this.isDragging&&!this.dragStarted||this.isStoppingDrag||this.isMouseOverIframe(A.clientX,A.clientY)||(this.debug&&console.log("[IconManager] Pointer left window, stopping drag"),this.stopDrag()),this.pointerLeaveTimeout=null},100))},document.addEventListener("mouseleave",this.mouseLeaveHandler),document.addEventListener("pointerleave",this.pointerLeaveHandler),this.blurHandler=()=>{this.isStoppingDrag||(this.isDragging||this.dragStarted)&&(this.debug&&console.log("[IconManager] Window lost focus, stopping drag"),this.stopDrag())},window.addEventListener("blur",this.blurHandler);const r=window.innerWidth>768,o=this.isMouseOverIframe(e,t);if(r)if(o){const A=()=>{const e=this.lastMousePosition;if(e&&this.isMouseOverIframe(e.x,e.y)&&(this.dragIntent||this.dragStarted||this.isDragging)){if(this.debug){const A=Date.now()-this.lastMousePosition.timestamp;console.log("[IconManager] [PC+iframe] Drag timeout but mouse is over iframe, keeping drag active (waiting for mouseup)",{timeSinceLastMove:A,lastMousePosition:this.lastMousePosition})}this.dragTimeoutId=window.setTimeout(A,5e3)}else(this.isDragging||this.dragStarted)&&this.dragStarted&&(this.debug&&console.warn("[IconManager] [PC+iframe] Drag timeout triggered, stopping drag"),this.stopDrag())};this.dragTimeoutId=window.setTimeout(A,5e3)}else this.dragTimeoutId=window.setTimeout(()=>{this.isDragging&&this.dragStarted&&(this.debug&&console.log("Drag timeout, stopping drag (likely mouse moved over iframe)"),this.stopDrag())},50);else if(o){const A=()=>{const e=this.lastMousePosition;if(e&&this.isMouseOverIframe(e.x,e.y)&&(this.dragIntent||this.dragStarted||this.isDragging)){if(this.debug){const A=Date.now()-this.lastMousePosition.timestamp;console.log("[IconManager] [Mobile+iframe] Drag timeout but mouse is over iframe, keeping drag active (waiting for mouseup)",{timeSinceLastMove:A,lastMousePosition:this.lastMousePosition})}this.dragTimeoutId=window.setTimeout(A,3e3)}else(this.isDragging||this.dragStarted)&&this.dragStarted&&(this.debug&&console.warn("[IconManager] [Mobile+iframe] Drag timeout triggered, stopping drag"),this.stopDrag())};this.dragTimeoutId=window.setTimeout(A,3e3)}else this.dragTimeoutId=window.setTimeout(()=>{this.isDragging&&this.dragStarted&&(this.debug&&console.log("Drag timeout, stopping drag (likely mouse moved over iframe)"),this.stopDrag())},50);this.startActiveDetection(),this.debug&&console.log("[IconManager] Drag start",{startPosition:{x:e,y:t},iconRect:{left:A.left,top:A.top,width:A.width,height:A.height},dragOffset:this.dragOffset})}catch(A){this.debug&&console.error("Error in startDrag:",A)}}}onDrag(A){if(!this.iconElement)return;const e="touches"in A?A.touches[0].clientX:A.clientX,t="touches"in A?A.touches[0].clientY:A.clientY,n=this.isSDKIframeOpen();if(this.debug&&console.log("[IconManager] [PC+iframe] Checking SDK iframe status:",{isSDKOpen:n,windowWidth:window.innerWidth,isPC:window.innerWidth>768}),n)return void(this.debug&&console.log("[IconManager] [PC+iframe] SDK iframe is open, blocking drag - returning immediately"));const r=window.innerWidth>768;if(r&&this.isMouseOverIframe(e,t))return void(this.debug&&console.log("[IconManager] [PC+iframe] Mouse is over iframe, blocking drag - returning immediately",{clientX:e,clientY:t,isPC:r}));if(A.preventDefault(),this.debug&&console.log("[IconManager] onDrag called",{clientPosition:{x:e,y:t},isDragging:this.isDragging,dragStarted:this.dragStarted}),this.isDragging||this.dragIntent||this.dragStarted){const A=Date.now();if(0===this.cachedIframes.length||A-this.lastIframeUpdateTime>this.iframeUpdateInterval){const e=document.querySelectorAll("iframe"),t=this.cachedIframes.length;this.cachedIframes=Array.from(e).filter(A=>!A.closest(".customer-sdk-container")).map(A=>({element:A,rect:A.getBoundingClientRect()})),this.lastIframeUpdateTime=A,this.debug&&this.cachedIframes.length!==t&&console.log(`[IconManager] Iframe cache updated - Found ${this.cachedIframes.length} iframe(s) (excluding SDK iframes)`,{iframes:this.cachedIframes.map(({rect:A})=>({left:A.left,top:A.top,right:A.right,bottom:A.bottom}))})}}const o=Date.now(),i=o-this.lastMousePosition.timestamp,s=this.lastMousePosition.x,a=this.lastMousePosition.y,c=this.lastMousePosition.timestamp;if(this.lastMousePosition={x:e,y:t,timestamp:o},c>0&&i>0&&i<100){const A=i/1e3;this.mouseVelocity.vx=(e-s)/A,this.mouseVelocity.vy=(t-a)/A,this.mouseVelocity.vx=Math.max(-2e3,Math.min(2e3,this.mouseVelocity.vx)),this.mouseVelocity.vy=Math.max(-2e3,Math.min(2e3,this.mouseVelocity.vy))}if(this.debug&&i>50&&this.lastMousePosition.timestamp>0&&console.warn(`[IconManager] Long gap between mousemove events: ${i}ms`,{lastPosition:{x:s,y:a},currentPosition:{x:e,y:t},velocity:{vx:this.mouseVelocity.vx,vy:this.mouseVelocity.vy}}),null!==this.dragTimeoutId){window.clearTimeout(this.dragTimeoutId);const A=window.innerWidth>768,n=this.isMouseOverIframe(e,t);if(A);else if(n){const A=()=>{const e=this.lastMousePosition;if(e&&this.isMouseOverIframe(e.x,e.y)&&(this.dragIntent||this.dragStarted||this.isDragging)){if(this.debug){const A=Date.now()-this.lastMousePosition.timestamp;console.log("[IconManager] [Mobile+iframe] Drag timeout but mouse is over iframe, keeping drag active (waiting for mouseup)",{timeSinceLastMove:A,lastMousePosition:this.lastMousePosition})}this.dragTimeoutId=window.setTimeout(A,3e3)}else(this.isDragging||this.dragStarted)&&(this.debug&&console.warn("[IconManager] [Mobile+iframe] Drag timeout triggered, stopping drag"),this.stopDrag())};this.dragTimeoutId=window.setTimeout(A,3e3)}else this.dragTimeoutId=window.setTimeout(()=>{if(this.isDragging){if(this.debug){const A=Date.now()-this.lastMousePosition.timestamp;console.warn("[IconManager] [Mobile] Drag timeout triggered, stopping drag",{timeSinceLastMove:A,lastMousePosition:this.lastMousePosition,iframeCount:this.cachedIframes.length})}this.stopDrag()}},200)}const l=Math.abs(e-this.lastTouchPosition.x),u=Math.abs(t-this.lastTouchPosition.y);if(Math.sqrt(l*l+u*u)>this.clickThreshold&&(this.hasMoved=!0,!this.dragStarted)){this.dragStarted=!0,this.isDragging=!0,this.isAttachedToSide&&(this.isAttachedToSide=!1,this.attachedSide="",this.iconElement&&(this.iconElement.style.transform=""));const A=window.getComputedStyle(this.iconElement);if("auto"!==A.right||"auto"!==A.bottom){const A=this.iconElement.getBoundingClientRect(),n=this.getTargetElement();if(n){const r=n.getBoundingClientRect(),o=A.left-r.left,i=A.top-r.top;this.iconElement.style.left=`${o}px`,this.iconElement.style.top=`${i}px`,this.iconElement.style.right="auto",this.iconElement.style.bottom="auto",this.dragOffset.x=e-A.left,this.dragOffset.y=t-A.top}}this.iconElement.style.transition="none",this.iconElement.style.cursor="grabbing",this.debug&&console.log("Drag started (moved > threshold)")}if(this.isDragging||this.dragIntent||this.dragStarted)try{const A=Date.now(),n=this.getTargetElement();if(!n)return;(!this.cachedContainer||this.cachedContainer!==n||A-this.lastContainerUpdateTime>this.containerUpdateInterval)&&(this.cachedContainer=n,this.cachedContainerRect=n.getBoundingClientRect(),this.cachedIconSize={width:this.iconElement.offsetWidth,height:this.iconElement.offsetHeight},this.lastContainerUpdateTime=A);const r=this.cachedContainerRect,o=this.cachedIconSize.width,i=this.cachedIconSize.height,s=window.getComputedStyle(n).maxWidth,a=s&&"none"!==s?Math.min(r.width,parseFloat(s)||r.width):r.width,c=r.height;if(0===this.dragOffset.x&&0===this.dragOffset.y&&(this.dragIntent||this.dragStarted)&&this.iconElement&&!this.dragStarted){const A=this.iconElement.getBoundingClientRect();this.dragOffset.x=e-A.left,this.dragOffset.y=t-A.top,this.debug&&console.log("[IconManager] Calculated dragOffset in onDrag (fallback)",{dragOffset:this.dragOffset,clientPosition:{x:e,y:t},iconRect:A,dragStarted:this.dragStarted,dragIntent:this.dragIntent})}let l=e-this.dragOffset.x-r.left,u=t-this.dragOffset.y-r.top;const h=5-o,g=n===document.body?window.innerWidth-5:a+o-5,d=5-i,B=n===document.body?window.innerHeight-5:c+i-5;l=Math.max(h,Math.min(l,g)),u=Math.max(d,Math.min(u,B));const f=window.innerWidth>768,w=this.isMouseOverIframe(e,t);if(this.iconElement){if(this.dragIntent&&0===this.dragOffset.x&&0===this.dragOffset.y){const A=this.iconElement.getBoundingClientRect(),n={x:this.dragOffset.x,y:this.dragOffset.y};this.dragOffset.x=e-A.left,this.dragOffset.y=t-A.top,this.debug&&f&&console.log("[IconManager] [PC+iframe] Calculated dragOffset",{oldDragOffset:n,newDragOffset:{x:this.dragOffset.x,y:this.dragOffset.y},clientPosition:{x:e,y:t},iconRect:A,isOverIframe:w})}else this.debug&&f&&this.dragStarted&&0===this.dragOffset.x&&0===this.dragOffset.y&&console.warn("[IconManager] [PC] dragOffset is 0 but dragStarted is true! This should not happen.",{dragStarted:this.dragStarted,dragIntent:this.dragIntent,isDragging:this.isDragging,isOverIframe:w});if(w&&this.dragIntent&&!this.dragStarted&&(this.dragStarted=!0,this.isDragging=!0,this.hasMoved=!0),this.iconElement.style.left=`${l}px`,this.iconElement.style.top=`${u}px`,this.iconElement.style.right="auto",this.iconElement.style.bottom="auto",this.debug&&f){const A=e-this.dragOffset.x-r.left,n=t-this.dragOffset.y-r.top;console.log("[IconManager] [PC+iframe] Icon position:",{x:l,y:u,isOverIframe:w,clientX:e,clientY:t,dragOffset:{x:this.dragOffset.x,y:this.dragOffset.y},containerLeft:r.left,containerTop:r.top,calculatedX:A,calculatedY:n,minX:h,maxX:g,actualWidth:a}),(Math.abs(A-l)>1||Math.abs(n-u)>1)&&console.warn("[IconManager] [PC+iframe] Position calculation mismatch!",{calculated:{x:A,y:n},actual:{x:l,y:u},dragOffset:{x:this.dragOffset.x,y:this.dragOffset.y},containerRect:{left:r.left,top:r.top},clientPosition:{x:e,y:t}})}}f?this.dragTimeoutId=w?window.setTimeout(()=>{this.isDragging&&this.dragStarted&&this.stopDrag()},5e3):window.setTimeout(()=>{this.isDragging&&this.dragStarted&&this.stopDrag()},50):w?this.iconElement&&(this.iconElement.style.left=`${l}px`,this.iconElement.style.top=`${u}px`,this.iconElement.style.right="auto",this.iconElement.style.bottom="auto"):(this.pendingPosition.x=l,this.pendingPosition.y=u,this.pendingPosition.needsUpdate=!0,null===this.rafId&&(this.rafId=requestAnimationFrame(()=>{this.rafId=null,this.pendingPosition.needsUpdate&&this.iconElement&&this.isDragging&&(this.iconElement.style.left=`${this.pendingPosition.x}px`,this.iconElement.style.top=`${this.pendingPosition.y}px`,this.iconElement.style.right="auto",this.iconElement.style.bottom="auto",this.pendingPosition.needsUpdate=!1)}))),this.lastTouchPosition.x=e,this.lastTouchPosition.y=t,this.lastMousePosition.x=e,this.lastMousePosition.y=t,this.lastMousePosition.timestamp=Date.now()}catch(A){this.debug&&console.error("Error in onDrag:",A)}}updateIconPositionFromMouse(A,e){if(this.iconElement&&(this.isDragging||this.dragIntent||this.dragStarted)){if(0===this.dragOffset.x&&0===this.dragOffset.y){if(!this.dragStarted||!this.iconElement)return;{const t=this.iconElement.getBoundingClientRect();this.dragOffset.x=A-t.left,this.dragOffset.y=e-t.top}}try{const t=this.getTargetElement();if(!t)return;const n=t.getBoundingClientRect(),r=this.iconElement.offsetWidth,o=this.iconElement.offsetHeight,i=t===document.body?window.innerWidth:t.offsetWidth,s=t===document.body?window.innerHeight:t.offsetHeight;let a=A-this.dragOffset.x-n.left,c=e-this.dragOffset.y-n.top;const l=5-r,u=t===document.body?window.innerWidth-5:i+r-5,h=5-o,g=t===document.body?window.innerHeight-5:s+o-5;if(a=Math.max(l,Math.min(a,u)),c=Math.max(h,Math.min(c,g)),this.iconElement&&(this.iconElement.style.left=`${a}px`,this.iconElement.style.top=`${c}px`,this.iconElement.style.right="auto",this.iconElement.style.bottom="auto",this.debug)){const t=Date.now()-this.lastMousePosition.timestamp;console.log("[IconManager] [PC+iframe] Updated icon position in startActiveDetection",{mousePosition:{x:A,y:e},iconPosition:{x:a,y:c},timeSinceLastMove:t,lastMousePosition:this.lastMousePosition})}}catch(A){this.debug&&console.error("[IconManager] Error in updateIconPositionFromMouse:",A)}}}stopDrag(A){if(this.isStoppingDrag)return void(this.debug&&console.warn("[IconManager] stopDrag already in progress, ignoring duplicate call"));const e=this.touchStartTime>0&&!this.isDragging&&!this.dragStarted&&!this.hasMoved;if(!(this.isDragging||this.dragStarted||this.dragTimeoutId||this.activeDetectionRafId||e))return this.debug&&console.warn("[IconManager] stopDrag called but not dragging and not a click, ignoring"),void(this.stopDragHandler&&(document.removeEventListener("mouseup",this.stopDragHandler),document.removeEventListener("touchend",this.stopDragHandler)));if(this.isStoppingDrag=!0,A&&this.dragStarted&&this.iconElement){const e="clientX"in A?A.clientX:A.touches?.[0]?.clientX??A.changedTouches?.[0]?.clientX??0,t="clientY"in A?A.clientY:A.touches?.[0]?.clientY??A.changedTouches?.[0]?.clientY??0;if(e>0&&t>0){this.isMouseOverIframe(e,t)&&(this.lastMousePosition={x:e,y:t,timestamp:Date.now()},this.updateIconPositionFromMouse(e,t),this.debug&&console.log("[IconManager] [PC+iframe] Updated icon position from mouseup event",{mousePosition:{x:e,y:t},iconPosition:this.iconElement?{left:this.iconElement.style.left,top:this.iconElement.style.top}:null}))}}const t=this.isDragging?"drag_stopped":"not_dragging",n=this.iconElement?{left:this.iconElement.style.left,top:this.iconElement.style.top,computed:"auto"!==window.getComputedStyle(this.iconElement).left?{left:window.getComputedStyle(this.iconElement).left,top:window.getComputedStyle(this.iconElement).top}:null}:null;if(this.cleanupDragEvents(),!this.iconElement)return this.hasMoved=!1,this.isDragging=!1,this.dragStarted=!1,this.dragIntent=!1,void(this.isStoppingDrag=!1);this.iconElement.style.transition="transform 0.2s ease",this.iconElement.style.cursor="pointer",this.iconElement.style.pointerEvents="none";const r=Date.now()-this.touchStartTime,o=!this.hasMoved&&r<1e3&&!this.dragStarted&&!this.isDragging&&(!this.dragIntent||r<200);this.debug&&console.log("[IconManager] Drag end",{stopReason:t,hasMoved:this.hasMoved,dragStarted:this.dragStarted,touchDuration:r,isValidClick:o,finalPosition:n,lastMousePosition:this.lastMousePosition});const i=o,s=this.stoppedByIframe;if(this.stoppedByIframe)this.debug&&console.log("[IconManager] Drag stopped by iframe, skipping magnetic snap and auto attach");else if(this.dragStarted&&this.magnetic&&this.iconElement&&this.magneticSnap(),this.dragStarted&&this.isDragging&&this.iconElement){const A=window.getComputedStyle(this.iconElement),e=A.left,t=A.top;if("auto"!==e&&"auto"!==t){const A=parseFloat(e),n=parseFloat(t);isNaN(A)||isNaN(n)||(this.iconPosition={x:A,y:n},this.debug&&console.log("Icon position saved:",this.iconPosition))}}this.hasMoved=!1,this.isDragging=!1,this.dragStarted=!1,this.dragIntent=!1,this.isStoppingDrag=!1,this.stoppedByIframe=!1,this.hasLoggedIframeWarning=!1,!s&&!this.isAttachedToSide&&this.sideAttach&&this.autoAttachDelay>0&&this.startAutoAttachTimer(),i&&setTimeout(()=>{!this.isClickEnabled||this.dragStarted||this.hasMoved||this.isDragging||this.handleClick()},100)}startActiveDetection(){if(null!==this.activeDetectionRafId)return void(this.debug&&console.log("[IconManager] Active detection already running"));this.debug&&console.log("[IconManager] Starting active detection mechanism");const A=()=>{if(this.isStoppingDrag||!this.isDragging&&!this.dragStarted&&!this.dragIntent)return this.debug&&console.log("[IconManager] Active detection stopped (drag ended or stopping)",{isDragging:this.isDragging,dragStarted:this.dragStarted,dragIntent:this.dragIntent,isStoppingDrag:this.isStoppingDrag}),this.activeDetectionRafId=null,void(null!==this.activeDetectionTimeoutId&&(window.clearTimeout(this.activeDetectionTimeoutId),this.activeDetectionTimeoutId=null));const e=Date.now(),t=e-this.lastMousePosition.timestamp;if(t>100){const A=this.lastMousePosition.x,n=this.lastMousePosition.y;if(0===this.cachedIframes.length||e-this.lastIframeUpdateTime>this.iframeUpdateInterval){const A=document.querySelectorAll("iframe");this.cachedIframes=Array.from(A).filter(A=>!A.closest(".customer-sdk-container")).map(A=>({element:A,rect:A.getBoundingClientRect()})),this.lastIframeUpdateTime=e}this.isMouseOverIframe(A,n)&&(!this.isDragging&&this.dragStarted&&(this.isDragging=!0,this.debug&&console.log("[IconManager] [PC+iframe] Active detection: Mouse over iframe, keeping drag state active (waiting for mouseup)")),this.debug&&t>500&&!this.hasLoggedIframeWarning&&(console.warn("[IconManager] [PC+iframe] Mouse entered iframe - mousemove events lost. Icon position frozen at last known position. Will update on mouseup.",{timeSinceLastMove:t,lastMousePosition:{x:this.lastMousePosition.x,y:this.lastMousePosition.y},note:"This is a browser security limitation. Icon will update to final position when mouse is released (mouseup event)."}),this.hasLoggedIframeWarning=!0))}const n=t>100&&this.isMouseOverIframe(this.lastMousePosition.x,this.lastMousePosition.y)?16:100;this.activeDetectionTimeoutId=window.setTimeout(()=>{this.activeDetectionTimeoutId=null,requestAnimationFrame(A)},n)};this.activeDetectionRafId=requestAnimationFrame(A)}stopActiveDetection(){null!==this.activeDetectionRafId&&(this.debug&&console.log("[IconManager] Stopping active detection mechanism"),cancelAnimationFrame(this.activeDetectionRafId),this.activeDetectionRafId=null)}isMouseOverIframe(A,e){const t=Date.now();if(0===this.cachedIframes.length||t-this.lastIframeUpdateTime>this.iframeUpdateInterval){const A=document.querySelectorAll("iframe");this.cachedIframes=Array.from(A).filter(A=>!A.closest(".customer-sdk-container")).map(A=>({element:A,rect:A.getBoundingClientRect()})),this.lastIframeUpdateTime=t}for(const{rect:t}of this.cachedIframes)if(A>=t.left&&A<=t.right&&e>=t.top&&e<=t.bottom)return!0;return!1}cleanupDragEvents(){this.onDragHandler&&(document.removeEventListener("mousemove",this.onDragHandler),document.removeEventListener("touchmove",this.onDragHandler)),this.stopDragHandler&&(document.removeEventListener("mouseup",this.stopDragHandler),document.removeEventListener("touchend",this.stopDragHandler)),this.mouseLeaveHandler&&(document.removeEventListener("mouseleave",this.mouseLeaveHandler),this.mouseLeaveHandler=null),this.pointerLeaveHandler&&(document.removeEventListener("pointerleave",this.pointerLeaveHandler),this.pointerLeaveHandler=null),this.blurHandler&&(window.removeEventListener("blur",this.blurHandler),this.blurHandler=null),null!==this.mouseLeaveTimeout&&(window.clearTimeout(this.mouseLeaveTimeout),this.mouseLeaveTimeout=null),null!==this.pointerLeaveTimeout&&(window.clearTimeout(this.pointerLeaveTimeout),this.pointerLeaveTimeout=null),null!==this.dragTimeoutId&&(window.clearTimeout(this.dragTimeoutId),this.dragTimeoutId=null),null!==this.rafId&&(cancelAnimationFrame(this.rafId),this.rafId=null),this.stopActiveDetection(),null!==this.activeDetectionRafId&&(this.debug&&console.warn("[IconManager] Active detection RAF ID still exists, force cleaning"),cancelAnimationFrame(this.activeDetectionRafId),this.activeDetectionRafId=null),this.cachedContainer=null,this.cachedContainerRect=null,this.cachedIframes=[],this.pendingPosition.needsUpdate=!1,this.debug&&console.log("[IconManager] Cleanup completed",{isDragging:this.isDragging,dragStarted:this.dragStarted,isStoppingDrag:this.isStoppingDrag,hasTimeout:null!==this.dragTimeoutId,hasActiveDetection:null!==this.activeDetectionRafId,hasRaf:null!==this.rafId})}handleClick(){this.isClickEnabled&&(this.clearAutoAttachTimer(),this.onClickCallback&&this.onClickCallback())}disableClick(){this.isClickEnabled=!1,this.iconElement&&this.startDragHandler&&(this.iconElement.removeEventListener("mousedown",this.startDragHandler),this.iconElement.removeEventListener("touchstart",this.startDragHandler)),this.iconElement&&(this.iconElement.style.pointerEvents="none",this.iconElement.style.cursor="default"),this.forceCleanupDragEvents()}enableClick(){this.isClickEnabled=!0,this.iconElement&&this.startDragHandler?(this.iconElement.addEventListener("mousedown",this.startDragHandler),this.iconElement.addEventListener("touchstart",this.startDragHandler,{passive:!1})):this.iconElement&&this.setupDragEvents(),this.iconElement&&(this.iconElement.style.pointerEvents="auto",this.iconElement.style.cursor="pointer")}magneticSnap(){if(this.iconElement)try{const A=this.getTargetElement();if(!A)return;const e=A.getBoundingClientRect(),t=this.iconElement.offsetWidth||30,n=this.iconElement.offsetHeight||30,r=window.getComputedStyle(A).maxWidth,o=r&&"none"!==r?Math.min(e.width,parseFloat(r)||e.width):e.width,i=window.getComputedStyle(this.iconElement),s=parseFloat(i.left)||0,a=parseFloat(i.top)||0;let c=s,l=a;if("x"===this.magneticDirection||"both"===this.magneticDirection){const A=o;if(s<A/2)if(c=this.margin,this.sideAttach&&s<t/2){this.isAttachedToSide=!0,this.attachedSide="left";c=-(t*this.sideHideRatio)}else this.isAttachedToSide=!1,this.attachedSide="";else if(c=A-t-this.margin,this.sideAttach){if(A-s-t<t/2||isNaN(s)||0===s||s>=A-t-this.margin-t/2){this.isAttachedToSide=!0,this.attachedSide="right";c=A-t*(1-this.sideHideRatio)}else this.isAttachedToSide=!1,this.attachedSide=""}else this.isAttachedToSide=!1,this.attachedSide=""}if("y"===this.magneticDirection||"both"===this.magneticDirection){const A=e.height;l=a<A/2?this.margin:A-n-this.margin}if(this.isAttachedToSide&&"right"===this.attachedSide){const A=t*this.sideHideRatio;this.iconElement.style.right=`-${A}px`,this.iconElement.style.left="auto"}else if(this.isAttachedToSide&&"left"===this.attachedSide){const A=t*this.sideHideRatio;this.iconElement.style.left=`-${A}px`,this.iconElement.style.right="auto"}else this.iconElement.style.left=`${c}px`,this.iconElement.style.right="auto";this.iconElement.style.top=`${l}px`,this.iconElement.style.bottom="auto",this.isAttachedToSide&&this.attachedSide?(this.iconElement.style.transform="translateX(0)",this.iconElement.style.transition="all 0.3s ease"):this.iconElement.style.transform="",this.isAttachedToSide&&"right"===this.attachedSide?this.iconPosition=null:this.iconPosition={x:c,y:l},this.debug&&console.log("[IconManager] Magnetic snap applied",{newPosition:{x:c,y:l},isAttachedToSide:this.isAttachedToSide,attachedSide:this.attachedSide})}catch(A){this.debug&&console.error("[IconManager] Error in magneticSnap:",A)}}getTargetElement(){if(!this.target)return document.body;if("string"==typeof this.target){const A=document.querySelector(this.target);return A||(this.debug&&console.warn(`Target element not found: ${this.target}, falling back to document.body`),document.body)}return this.target instanceof HTMLElement?document.body.contains(this.target)?this.target:(this.debug&&console.warn("Target element no longer in DOM, falling back to document.body"),document.body):document.body}createBadge(A,e="",t=!1){this.clearNotification(),this.badgeElement=document.createElement("div"),this.badgeElement.className="customer-sdk-icon-badge",this.badgeElement.textContent=A>0?A>99?"99+":A.toString():e||"",Object.assign(this.badgeElement.style,{position:"absolute",top:"-4px",left:"-4px",right:"auto",minWidth:"18px",height:"18px",borderRadius:"50%",backgroundColor:"#ff4444",color:"#ffffff",fontSize:"10px",fontWeight:"bold",display:"flex",alignItems:"center",justifyContent:"center",zIndex:"1000001",boxShadow:"0 -1px 4px rgba(0, 0, 0, 0.3), 0 2px 8px rgba(0, 0, 0, 0.15)",pointerEvents:"auto",...0===A&&""===e&&{width:"12px",height:"12px",minWidth:"12px",top:"-2px",left:"-2px"},...t&&{animation:"sdk-badge-pulse 1.5s infinite"}}),this.iconElement&&this.iconElement.appendChild(this.badgeElement)}}const t="p".charCodeAt(0),n="H".charCodeAt(0),r="Y".charCodeAt(0),o="s".charCodeAt(0);let i;function s(A){let e=-1;i||(i=function(){const A=new Int32Array(256);for(let e=0;e<256;e++){let t=e;for(let A=0;A<8;A++)t=1&t?3988292384^t>>>1:t>>>1;A[e]=t}return A}());for(let t=0;t<A.length;t++)e=i[255&(e^A[t])]^e>>>8;return-1^e}function a(A,e,i=!1){const a=new Uint8Array(13);e*=39.3701,a[0]=t,a[1]=n,a[2]=r,a[3]=o,a[4]=e>>>24,a[5]=e>>>16,a[6]=e>>>8,a[7]=255&e,a[8]=a[4],a[9]=a[5],a[10]=a[6],a[11]=a[7],a[12]=1;const c=s(a),l=new Uint8Array(4);if(l[0]=c>>>24,l[1]=c>>>16,l[2]=c>>>8,l[3]=255&c,i){const e=function(A){for(let e=A.length-1;e>=4;e--)if(9===A[e-4]&&A[e-3]===t&&A[e-2]===n&&A[e-1]===r&&A[e]===o)return e-3;return 0}(A);return A.set(a,e),A.set(l,e+13),A}{const e=new Uint8Array(4);e[0]=0,e[1]=0,e[2]=0,e[3]=9;const t=new Uint8Array(54);return t.set(A,0),t.set(e,33),t.set(a,37),t.set(l,50),t}}const c="[modern-screenshot]",l="undefined"!=typeof window,u=l&&"Worker"in window,h=l&&"atob"in window,g=l&&"btoa"in window,d=l?window.navigator?.userAgent:"",B=d.includes("Chrome"),f=d.includes("AppleWebKit")&&!B,w=d.includes("Firefox"),p=A=>1===A.nodeType,m=A=>"object"==typeof A.className,C=A=>"image"===A.tagName,Q=A=>p(A)&&void 0!==A.style&&!m(A),y=A=>8===A.nodeType,U=A=>"IMG"===A.tagName,F=A=>"VIDEO"===A.tagName,b=A=>"SLOT"===A.tagName;function v(A){const e=A?.createElement?.("canvas");return e&&(e.height=e.width=1),Boolean(e)&&"toDataURL"in e&&Boolean(e.toDataURL("image/webp").includes("image/webp"))}const E=A=>A.startsWith("data:");function H(A,e){if(A.match(/^[a-z]+:\/\//i))return A;if(l&&A.match(/^\/\//))return window.location.protocol+A;if(A.match(/^[a-z]+:/i))return A;if(!l)return A;const t=I().implementation.createHTMLDocument(),n=t.createElement("base"),r=t.createElement("a");return t.head.appendChild(n),t.body.appendChild(r),e&&(n.href=e),r.href=A,r.href}function I(A){return(A&&p(A)?A?.ownerDocument:A)??window.document}const x="http://www.w3.org/2000/svg";const S=A=>function(A,e){return new Promise((t,n)=>{const r=new FileReader;r.onload=()=>t(r.result),r.onerror=()=>n(r.error),r.onabort=()=>n(new Error(`Failed read blob to ${e}`)),r.readAsDataURL(A)})}(A,"dataUrl");function L(A,e){const t=I(e).createElement("img");return t.decoding="sync",t.loading="eager",t.src=A,t}function D(A,e){return new Promise(t=>{const{timeout:n,ownerDocument:r,onError:o,onWarn:i}=e??{},s="string"==typeof A?L(A,I(r)):A;let a=null,c=null;function l(){t(s),a&&clearTimeout(a),c?.()}if(n&&(a=setTimeout(l,n)),F(s)){const A=s.currentSrc||s.src;if(!A)return s.poster?D(s.poster,e).then(t):l();if(s.readyState>=2)return l();const n=l,r=e=>{i?.("Failed video load",A,e),o?.(e),l()};c=()=>{s.removeEventListener("loadeddata",n),s.removeEventListener("error",r)},s.addEventListener("loadeddata",n,{once:!0}),s.addEventListener("error",r,{once:!0})}else{const A=C(s)?s.href.baseVal:s.currentSrc||s.src;if(!A)return l();const e=async()=>{if(U(s)&&"decode"in s)try{await s.decode()}catch(e){i?.("Failed to decode image, trying to render anyway",s.dataset.originalSrc||A,e)}l()},t=e=>{i?.("Failed image load",s.dataset.originalSrc||A,e),l()};if(U(s)&&s.complete)return e();c=()=>{s.removeEventListener("load",e),s.removeEventListener("error",t)},s.addEventListener("load",e,{once:!0}),s.addEventListener("error",t,{once:!0})}})}const M=function(){let A=0;return()=>(A+=1,`u${`0000${(Math.random()*36**4|0).toString(36)}`.slice(-4)}${A}`)}();function K(A){return A?.split(",").map(A=>A.trim().replace(/"|'/g,"").toLowerCase()).filter(Boolean)}let k=0;function T(A){const e=`${c}[#${k}]`;return k++,{time:t=>A&&console.time(`${e} ${t}`),timeEnd:t=>A&&console.timeEnd(`${e} ${t}`),warn:(...e)=>A&&((...A)=>console.warn(c,...A))(...e)}}async function R(A,e){return(t=A)&&"__CONTEXT__"in t?A:P(A,{...e,autoDestruct:!0});var t}async function P(A,e){const{scale:t=1,workerUrl:n,workerNumber:r=1}=e||{},o=Boolean(e?.debug),i=e?.features??!0,s=A.ownerDocument??(l?window.document:void 0),a=A.ownerDocument?.defaultView??(l?window:void 0),c=new Map,h={width:0,height:0,quality:1,type:"image/png",scale:t,backgroundColor:null,style:null,filter:null,maximumCanvasSize:0,timeout:3e4,progress:null,debug:o,fetch:{requestInit:(g=e?.fetch?.bypassingCache,{cache:g?"no-cache":"force-cache"}),placeholderImage:"data:image/png;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",bypassingCache:!1,...e?.fetch},fetchFn:null,font:{},drawImageInterval:100,workerUrl:null,workerNumber:r,onCloneEachNode:null,onCloneNode:null,onEmbedNode:null,onCreateForeignObjectSvg:null,includeStyleProperties:null,autoDestruct:!1,...e,__CONTEXT__:!0,log:T(o),node:A,ownerDocument:s,ownerWindow:a,dpi:1===t?null:96*t,svgStyleElement:O(s),svgDefsElement:s?.createElementNS(x,"defs"),svgStyles:new Map,defaultComputedStyles:new Map,workers:[...Array.from({length:u&&n&&r?r:0})].map(()=>{try{const A=new Worker(n);return A.onmessage=async A=>{const{url:e,result:t}=A.data;t?c.get(e)?.resolve?.(t):c.get(e)?.reject?.(new Error(`Error receiving message from worker: ${e}`))},A.onmessageerror=A=>{const{url:e}=A.data;c.get(e)?.reject?.(new Error(`Error receiving message from worker: ${e}`))},A}catch(A){return h.log.warn("Failed to new Worker",A),null}}).filter(Boolean),fontFamilies:new Map,fontCssTexts:new Map,acceptOfImage:`${[v(s)&&"image/webp","image/svg+xml","image/*","*/*"].filter(Boolean).join(",")};q=0.8`,requests:c,drawImageCount:0,tasks:[],features:i,isEnable:A=>"restoreScrollPosition"===A?"boolean"!=typeof i&&(i[A]??!1):"boolean"==typeof i?i:i[A]??!0,shadowRoots:[]};var g;h.log.time("wait until load"),await async function(A,e){Q(A)&&(U(A)||F(A)?await D(A,e):await Promise.all(["img","video"].flatMap(t=>Array.from(A.querySelectorAll(t)).map(A=>D(A,e)))))}(A,{timeout:h.timeout,onWarn:h.log.warn}),h.log.timeEnd("wait until load");const{width:d,height:B}=function(A,e){let{width:t,height:n}=e;if(p(A)&&(!t||!n)){const e=A.getBoundingClientRect();t=t||e.width||Number(A.getAttribute("width"))||0,n=n||e.height||Number(A.getAttribute("height"))||0}return{width:t,height:n}}(A,h);return h.width=d,h.height=B,h}function O(A){if(!A)return;const e=A.createElement("style"),t=e.ownerDocument.createTextNode("\n.______background-clip--text {\n background-clip: text;\n -webkit-background-clip: text;\n}\n");return e.appendChild(t),e}async function V(A,e){const{log:t,timeout:n,drawImageCount:r,drawImageInterval:o}=e;t.time("image to canvas");const i=await D(A,{timeout:n,onWarn:e.log.warn}),{canvas:s,context2d:a}=function(A,e){const{width:t,height:n,scale:r,backgroundColor:o,maximumCanvasSize:i}=e,s=A.createElement("canvas");s.width=Math.floor(t*r),s.height=Math.floor(n*r),s.style.width=`${t}px`,s.style.height=`${n}px`,i&&(s.width>i||s.height>i)&&(s.width>i&&s.height>i?s.width>s.height?(s.height*=i/s.width,s.width=i):(s.width*=i/s.height,s.height=i):s.width>i?(s.height*=i/s.width,s.width=i):(s.width*=i/s.height,s.height=i));const a=s.getContext("2d");a&&o&&(a.fillStyle=o,a.fillRect(0,0,s.width,s.height));return{canvas:s,context2d:a}}(A.ownerDocument,e),c=()=>{try{a?.drawImage(i,0,0,s.width,s.height)}catch(A){e.log.warn("Failed to drawImage",A)}};if(c(),e.isEnable("fixSvgXmlDecode"))for(let A=0;A<r;A++)await new Promise(e=>{setTimeout(()=>{a?.clearRect(0,0,s.width,s.height),c(),e()},A+o)});return e.drawImageCount=0,t.timeEnd("image to canvas"),s}function N(A,e){if(A.ownerDocument)try{const e=A.toDataURL();if("data:,"!==e)return L(e,A.ownerDocument)}catch(A){e.log.warn("Failed to clone canvas",A)}const t=A.cloneNode(!1),n=A.getContext("2d"),r=t.getContext("2d");try{return n&&r&&r.putImageData(n.getImageData(0,0,A.width,A.height),0,0),t}catch(A){e.log.warn("Failed to clone canvas",A)}return t}function G(A,e){return(A=>"CANVAS"===A.tagName)(A)?N(A,e):(A=>"IFRAME"===A.tagName)(A)?function(A,e){try{if(A?.contentDocument?.body)return AA(A.contentDocument.body,e)}catch(A){e.log.warn("Failed to clone iframe",A)}return A.cloneNode(!1)}(A,e):U(A)?function(A){const e=A.cloneNode(!1);return A.currentSrc&&A.currentSrc!==A.src&&(e.src=A.currentSrc,e.srcset=""),"lazy"===e.loading&&(e.loading="eager"),e}(A):F(A)?async function(A,e){if(A.ownerDocument&&!A.currentSrc&&A.poster)return L(A.poster,A.ownerDocument);const t=A.cloneNode(!1);t.crossOrigin="anonymous",A.currentSrc&&A.currentSrc!==A.src&&(t.src=A.currentSrc);const n=t.ownerDocument;if(n){let r=!0;if(await D(t,{onError:()=>r=!1,onWarn:e.log.warn}),!r)return A.poster?L(A.poster,A.ownerDocument):t;t.currentTime=A.currentTime,await new Promise(A=>{t.addEventListener("seeked",A,{once:!0})});const o=n.createElement("canvas");o.width=A.offsetWidth,o.height=A.offsetHeight;try{const A=o.getContext("2d");A&&A.drawImage(t,0,0,o.width,o.height)}catch(n){return e.log.warn("Failed to clone video",n),A.poster?L(A.poster,A.ownerDocument):t}return N(o,e)}return t}(A,e):A.cloneNode(!1)}const W=["width","height","-webkit-text-fill-color"],_=["stroke","fill"];function X(A,e,t){const{defaultComputedStyles:n}=t,r=A.nodeName.toLowerCase(),o=m(A)&&"svg"!==r,i=o?_.map(e=>[e,A.getAttribute(e)]).filter(([,A])=>null!==A):[],s=[o&&"svg",r,i.map((A,e)=>`${A}=${e}`).join(","),e].filter(Boolean).join(":");if(n.has(s))return n.get(s);const a=function(A){let e=A.sandbox;if(!e){const{ownerDocument:t}=A;try{t&&(e=t.createElement("iframe"),e.id=`__SANDBOX__${M()}`,e.width="0",e.height="0",e.style.visibility="hidden",e.style.position="fixed",t.body.appendChild(e),e.srcdoc='<!DOCTYPE html><meta charset="UTF-8"><title></title><body>',A.sandbox=e)}catch(e){A.log.warn("Failed to getSandBox",e)}}return e}(t),c=a?.contentWindow;if(!c)return new Map;const l=c?.document;let u,h;o?(u=l.createElementNS(x,"svg"),h=u.ownerDocument.createElementNS(u.namespaceURI,r),i.forEach(([A,e])=>{h.setAttributeNS(null,A,e)}),u.appendChild(h)):u=h=l.createElement(r),h.textContent=" ",l.body.appendChild(u);const g=c.getComputedStyle(h,e),d=new Map;for(let A=g.length,e=0;e<A;e++){const A=g.item(e);W.includes(A)||d.set(A,g.getPropertyValue(A))}return l.body.removeChild(u),n.set(s,d),d}function J(A,e,t){const n=new Map,r=[],o=new Map;if(t)for(const A of t)i(A);else for(let e=A.length,t=0;t<e;t++){i(A.item(t))}for(let A=r.length,e=0;e<A;e++)o.get(r[e])?.forEach((A,e)=>n.set(e,A));function i(t){const i=A.getPropertyValue(t),s=A.getPropertyPriority(t),a=t.lastIndexOf("-"),c=a>-1?t.substring(0,a):void 0;if(c){let A=o.get(c);A||(A=new Map,o.set(c,A)),A.set(t,[i,s])}(e.get(t)!==i||s)&&(c?r.push(c):n.set(t,[i,s]))}return n}const Y=[":before",":after"],$=[":-webkit-scrollbar",":-webkit-scrollbar-button",":-webkit-scrollbar-thumb",":-webkit-scrollbar-track",":-webkit-scrollbar-track-piece",":-webkit-scrollbar-corner",":-webkit-resizer"];const Z=new Set(["symbol"]);async function z(A,e,t,n,r){if(p(t)&&((A=>"STYLE"===A.tagName)(t)||(A=>"SCRIPT"===A.tagName)(t)))return;if(n.filter&&!n.filter(t))return;Z.has(e.nodeName)||Z.has(t.nodeName)?n.currentParentNodeStyle=void 0:n.currentParentNodeStyle=n.currentNodeStyle;const o=await AA(t,n,!1,r);n.isEnable("restoreScrollPosition")&&function(A,e){if(!Q(A)||!Q(e))return;const{scrollTop:t,scrollLeft:n}=A;if(!t&&!n)return;const{transform:r}=e.style,o=new DOMMatrix(r),{a:i,b:s,c:a,d:c}=o;o.a=1,o.b=0,o.c=0,o.d=1,o.translateSelf(-n,-t),o.a=i,o.b=s,o.c=a,o.d=c,e.style.transform=o.toString()}(A,o),e.appendChild(o)}async function j(A,e,t,n){let r=A.firstChild;p(A)&&A.shadowRoot&&(r=A.shadowRoot?.firstChild,t.shadowRoots.push(A.shadowRoot));for(let o=r;o;o=o.nextSibling)if(!y(o))if(p(o)&&b(o)&&"function"==typeof o.assignedNodes){const r=o.assignedNodes();for(let o=0;o<r.length;o++)await z(A,e,r[o],t,n)}else await z(A,e,o,t,n)}const q=/^[\w-:]+$/;async function AA(A,e,t=!1,n){const{ownerDocument:r,ownerWindow:o,fontFamilies:i,onCloneEachNode:s}=e;if(r&&(A=>3===A.nodeType)(A))return n&&/\S/.test(A.data)&&n(A.data),r.createTextNode(A.data);if(r&&o&&p(A)&&(Q(A)||m(A))){const n=await G(A,e);if(e.isEnable("removeAbnormalAttributes")){const A=n.getAttributeNames();for(let e=A.length,t=0;t<e;t++){const e=A[t];q.test(e)||n.removeAttribute(e)}}const r=e.currentNodeStyle=function(A,e,t,n){const{ownerWindow:r,includeStyleProperties:o,currentParentNodeStyle:i}=n,s=e.style,a=r.getComputedStyle(A),c=X(A,null,n);i?.forEach((A,e)=>{c.delete(e)});const l=J(a,c,o);l.delete("transition-property"),l.delete("all"),l.delete("d"),l.delete("content"),t&&(l.delete("margin-top"),l.delete("margin-right"),l.delete("margin-bottom"),l.delete("margin-left"),l.delete("margin-block-start"),l.delete("margin-block-end"),l.delete("margin-inline-start"),l.delete("margin-inline-end"),l.set("box-sizing",["border-box",""])),"text"===l.get("background-clip")?.[0]&&e.classList.add("______background-clip--text"),B&&(l.has("font-kerning")||l.set("font-kerning",["normal",""]),"hidden"!==l.get("overflow-x")?.[0]&&"hidden"!==l.get("overflow-y")?.[0]||"ellipsis"!==l.get("text-overflow")?.[0]||A.scrollWidth!==A.clientWidth||l.set("text-overflow",["clip",""]));for(let A=s.length,e=0;e<A;e++)s.removeProperty(s.item(e));return l.forEach(([A,e],t)=>{s.setProperty(t,A,e)}),l}(A,n,t,e);t&&function(A,e){const{backgroundColor:t,width:n,height:r,style:o}=e,i=A.style;if(t&&i.setProperty("background-color",t,"important"),n&&i.setProperty("width",`${n}px`,"important"),r&&i.setProperty("height",`${r}px`,"important"),o)for(const A in o)i[A]=o[A]}(n,e);let o=!1;if(e.isEnable("copyScrollbar")){const e=[r.get("overflow-x")?.[0],r.get("overflow-y")?.[0]];o=e.includes("scroll")||(e.includes("auto")||e.includes("overlay"))&&(A.scrollHeight>A.clientHeight||A.scrollWidth>A.clientWidth)}const a=r.get("text-transform")?.[0],c=K(r.get("font-family")?.[0]),l=c?A=>{"uppercase"===a?A=A.toUpperCase():"lowercase"===a?A=A.toLowerCase():"capitalize"===a&&(A=A[0].toUpperCase()+A.substring(1)),c.forEach(e=>{let t=i.get(e);t||i.set(e,t=new Set),A.split("").forEach(A=>t.add(A))})}:void 0;return function(A,e,t,n,r){const{ownerWindow:o,svgStyleElement:i,svgStyles:s,currentNodeStyle:a}=n;function c(t){const i=o.getComputedStyle(A,t);let c=i.getPropertyValue("content");if(!c||"none"===c)return;r?.(c),c=c.replace(/(')|(")|(counter\(.+\))/g,"");const l=[M()],u=X(A,t,n);a?.forEach((A,e)=>{u.delete(e)});const h=J(i,u,n.includeStyleProperties);h.delete("content"),h.delete("-webkit-locale"),"text"===h.get("background-clip")?.[0]&&e.classList.add("______background-clip--text");const g=[`content: '${c}';`];if(h.forEach(([A,e],t)=>{g.push(`${t}: ${A}${e?" !important":""};`)}),1===g.length)return;try{e.className=[e.className,...l].join(" ")}catch(A){return void n.log.warn("Failed to copyPseudoClass",A)}const d=g.join("\n ");let B=s.get(d);B||(B=[],s.set(d,B)),B.push(`.${l[0]}:${t}`)}i&&o&&(Y.forEach(c),t&&$.forEach(c))}(A,n,o,e,l),function(A,e){((A=>"TEXTAREA"===A.tagName)(A)||(A=>"INPUT"===A.tagName)(A)||(A=>"SELECT"===A.tagName)(A))&&e.setAttribute("value",A.value)}(A,n),F(A)||await j(A,n,e,l),await(s?.(n)),n}const a=A.cloneNode(!1);return await j(A,a,e),await(s?.(a)),a}function eA(A){if(A.ownerDocument=void 0,A.ownerWindow=void 0,A.svgStyleElement=void 0,A.svgDefsElement=void 0,A.svgStyles.clear(),A.defaultComputedStyles.clear(),A.sandbox){try{A.sandbox.remove()}catch(e){A.log.warn("Failed to destroyContext",e)}A.sandbox=void 0}A.workers=[],A.fontFamilies.clear(),A.fontCssTexts.clear(),A.requests.clear(),A.tasks=[],A.shadowRoots=[]}function tA(A,e){const{url:t,requestType:n="text",responseType:r="text",imageDom:o}=e;let i=t;const{timeout:s,acceptOfImage:a,requests:c,fetchFn:l,fetch:{requestInit:u,bypassingCache:h,placeholderImage:g},font:d,workers:B,fontFamilies:p}=A;"image"===n&&(f||w)&&A.drawImageCount++;let m=c.get(t);if(!m){h&&h instanceof RegExp&&h.test(i)&&(i+=(/\?/.test(i)?"&":"?")+(new Date).getTime());const e=n.startsWith("font")&&d&&d.minify,w=new Set;if(e){n.split(";")[1].split(",").forEach(A=>{p.has(A)&&p.get(A).forEach(A=>w.add(A))})}const C=e&&w.size,Q={url:i,timeout:s,responseType:C?"arrayBuffer":r,headers:"image"===n?{accept:a}:void 0,...u};m={type:n,resolve:void 0,reject:void 0,response:null},m.response=(async()=>{if(l&&"image"===n){const A=await l(t);if(A)return A}return!f&&t.startsWith("http")&&B.length?new Promise((A,e)=>{B[c.size&B.length-1].postMessage({rawUrl:t,...Q}),m.resolve=A,m.reject=e}):function(A){const{url:e,timeout:t,responseType:n,...r}=A,o=new AbortController,i=t?setTimeout(()=>o.abort(),t):void 0;return fetch(e,{signal:o.signal,...r}).then(A=>{if(!A.ok)throw new Error("Failed fetch, not 2xx response",{cause:A});switch(n){case"arrayBuffer":return A.arrayBuffer();case"dataUrl":return A.blob().then(S);default:return A.text()}}).finally(()=>clearTimeout(i))}(Q)})().catch(e=>{if(c.delete(t),"image"===n&&g)return A.log.warn("Failed to fetch image base64, trying to use placeholder image",i),"string"==typeof g?g:g(o);throw e}),c.set(t,m)}return m.response}async function nA(A,e,t,n){if(!rA(A))return A;for(const[r,o]of function(A,e){const t=[];return A.replace(oA,(A,n,r)=>(t.push([r,H(r,e)]),A)),t.filter(([A])=>!E(A))}(A,e))try{const e=await tA(t,{url:o,requestType:n?"image":"text",responseType:"dataUrl"});A=A.replace(iA(r),`$1${e}$3`)}catch(A){t.log.warn("Failed to fetch css data url",r,A)}return A}function rA(A){return/url\((['"]?)([^'"]+?)\1\)/.test(A)}const oA=/url\((['"]?)([^'"]+?)\1\)/g;function iA(A){const e=A.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1");return new RegExp(`(url\\(['"]?)(${e})(['"]?\\))`,"g")}const sA=["background-image","border-image-source","-webkit-border-image","-webkit-mask-image","list-style-image"];function aA(A,e){const{tasks:t}=e;p(A)&&((U(A)||C(A))&&t.push(...function(A,e){if(U(A)){const t=A.currentSrc||A.src;if(!E(t))return[tA(e,{url:t,imageDom:A,requestType:"image",responseType:"dataUrl"}).then(e=>{e&&(A.srcset="",A.dataset.originalSrc=t,A.src=e||"")})];(f||w)&&e.drawImageCount++}else if(m(A)&&!E(A.href.baseVal)){const t=A.href.baseVal;return[tA(e,{url:t,imageDom:A,requestType:"image",responseType:"dataUrl"}).then(e=>{e&&(A.dataset.originalSrc=t,A.href.baseVal=e||"")})]}return[]}(A,e)),"use"===A.tagName&&t.push(...function(A,e){const{ownerDocument:t,svgDefsElement:n}=e,r=A.getAttribute("href")??A.getAttribute("xlink:href");if(!r)return[];const[o,i]=r.split("#");if(i){const r=`#${i}`,s=e.shadowRoots.reduce((A,e)=>A??e.querySelector(`svg ${r}`),t?.querySelector(`svg ${r}`));if(o&&A.setAttribute("href",r),n?.querySelector(r))return[];if(s)return n?.appendChild(s.cloneNode(!0)),[];if(o)return[tA(e,{url:o,responseType:"text"}).then(A=>{n?.insertAdjacentHTML("beforeend",A)})]}return[]}(A,e))),Q(A)&&t.push(...function(A,e){return sA.map(t=>{const n=A.getPropertyValue(t);return n&&"none"!==n?((f||w)&&e.drawImageCount++,nA(n,null,e,!0).then(e=>{e&&n!==e&&A.setProperty(t,e,A.getPropertyPriority(t))})):null}).filter(Boolean)}(A.style,e)),A.childNodes.forEach(A=>{aA(A,e)})}async function cA(A,e){const{ownerDocument:t,svgStyleElement:n,fontFamilies:r,fontCssTexts:o,tasks:i,font:s}=e;if(t&&n&&r.size)if(s&&s.cssText){const A=dA(s.cssText,e);n.appendChild(t.createTextNode(`${A}\n`))}else{const A=Array.from(t.styleSheets).filter(A=>{try{return"cssRules"in A&&Boolean(A.cssRules.length)}catch(t){return e.log.warn(`Error while reading CSS rules from ${A.href}`,t),!1}});await Promise.all(A.flatMap(A=>Array.from(A.cssRules).map(async(t,n)=>{if("CSSImportRule"===t.constructor.name){let r=n+1;const o=t.href;let i="";try{i=await tA(e,{url:o,requestType:"text",responseType:"text"})}catch(A){e.log.warn(`Error fetch remote css import from ${o}`,A)}const s=i.replace(oA,(A,e,t)=>A.replace(t,H(t,o)));for(const t of function(A){if(null==A)return[];const e=[];let t=A.replace(lA,"");for(;;){const A=uA.exec(t);if(!A)break;e.push(A[0])}t=t.replace(uA,"");const n=/@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi,r=new RegExp("((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})","gi");for(;;){let A=n.exec(t);if(A)r.lastIndex=n.lastIndex;else{if(A=r.exec(t),!A)break;n.lastIndex=r.lastIndex}e.push(A[0])}return e}(s))try{A.insertRule(t,t.startsWith("@import")?r+=1:A.cssRules.length)}catch(A){e.log.warn("Error inserting rule from remote css import",{rule:t,error:A})}}})));A.flatMap(A=>Array.from(A.cssRules)).filter(A=>"CSSFontFaceRule"===A.constructor.name&&rA(A.style.getPropertyValue("src"))&&K(A.style.getPropertyValue("font-family"))?.some(A=>r.has(A))).forEach(A=>{const r=A,s=o.get(r.cssText);s?n.appendChild(t.createTextNode(`${s}\n`)):i.push(nA(r.cssText,r.parentStyleSheet?r.parentStyleSheet.href:null,e).then(A=>{A=dA(A,e),o.set(r.cssText,A),n.appendChild(t.createTextNode(`${A}\n`))}))})}}const lA=/(\/\*[\s\S]*?\*\/)/g,uA=/((@.*?keyframes [\s\S]*?){([\s\S]*?}\s*?)})/gi;const hA=/url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g,gA=/src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;function dA(A,e){const{font:t}=e,n=t?t?.preferredFormat:void 0;return n?A.replace(gA,A=>{for(;;){const[e,,t]=hA.exec(A)||[];if(!t)return"";if(t===n)return`src: ${e};`}}):A}async function BA(A,e){const t=await R(A,e);if(p(t.node)&&m(t.node))return t.node;const{ownerDocument:n,log:r,tasks:o,svgStyleElement:i,svgDefsElement:s,svgStyles:a,font:c,progress:l,autoDestruct:u,onCloneNode:h,onEmbedNode:g,onCreateForeignObjectSvg:d}=t;r.time("clone node");const B=await AA(t.node,t,!0);if(i&&n){let A="";a.forEach((e,t)=>{A+=`${e.join(",\n")} {\n ${t}\n}\n`}),i.appendChild(n.createTextNode(A))}r.timeEnd("clone node"),await(h?.(B)),!1!==c&&p(B)&&(r.time("embed web font"),await cA(0,t),r.timeEnd("embed web font")),r.time("embed node"),aA(B,t);const f=o.length;let w=0;l?.(w,f),await Promise.all([...Array.from({length:4})].map(async()=>{for(;;){const A=o.pop();if(!A)break;try{await A}catch(A){t.log.warn("Failed to run task",A)}l?.(++w,f)}})),r.timeEnd("embed node"),await(g?.(B));const C=function(A,e){const{width:t,height:n}=e,r=function(A,e,t){const n=I(t).createElementNS(x,"svg");return n.setAttributeNS(null,"width",A.toString()),n.setAttributeNS(null,"height",e.toString()),n.setAttributeNS(null,"viewBox",`0 0 ${A} ${e}`),n}(t,n,A.ownerDocument),o=r.ownerDocument.createElementNS(r.namespaceURI,"foreignObject");return o.setAttributeNS(null,"x","0%"),o.setAttributeNS(null,"y","0%"),o.setAttributeNS(null,"width","100%"),o.setAttributeNS(null,"height","100%"),o.append(A),r.appendChild(o),r}(B,t);return s&&C.insertBefore(s,C.children[0]),i&&C.insertBefore(i,C.children[0]),u&&eA(t),await(d?.(C)),C}async function fA(A,e){const t=await R(A,e),n=await BA(t),r=function(A,e){let t=(new XMLSerializer).serializeToString(A);return e&&(t=t.replace(/[\u0000-\u0008\v\f\u000E-\u001F\uD800-\uDFFF\uFFFE\uFFFF]/gu,"")),`data:image/svg+xml;charset=utf-8,${encodeURIComponent(t)}`}(n,t.isEnable("removeControlCharacter"));t.autoDestruct||(t.svgStyleElement=O(t.ownerDocument),t.svgDefsElement=t.ownerDocument?.createElementNS(x,"defs"),t.svgStyles.clear());const o=L(r,n.ownerDocument);return await V(o,t)}async function wA(A,e){const t=await R(A,e),{log:n,quality:r,type:o,dpi:i}=t,s=await fA(t);n.time("canvas to data url");let c=s.toDataURL(o,r);if(["image/png","image/jpeg"].includes(o)&&i&&h&&g){const[A,e]=c.split(",");let t=0,n=!1;if("image/png"===o){const A=function(A){let e=A.indexOf("AAlwSFlz");return-1===e&&(e=A.indexOf("AAAJcEhZ")),-1===e&&(e=A.indexOf("AAAACXBI")),e}(e);A>=0?(t=4*Math.ceil((A+28)/3),n=!0):t=44}else"image/jpeg"===o&&(t=24);const r=e.substring(0,t),s=e.substring(t),l=window.atob(r),u=new Uint8Array(l.length);for(let A=0;A<u.length;A++)u[A]=l.charCodeAt(A);const h="image/png"===o?a(u,i,n):function(A,e){return A[13]=1,A[14]=e>>8,A[15]=255&e,A[16]=e>>8,A[17]=255&e,A}(u,i);c=[A,",",window.btoa(String.fromCharCode(...h)),s].join("")}return n.timeEnd("canvas to data url"),c}async function pA(A,e){return wA(await R(A,{...e,type:"image/jpeg"}))}async function mA(A,e){return wA(await R(A,{...e,type:"image/png"}))}async function CA(A,e){return wA(await R(A,{...e,type:"image/webp"}))}var QA={image:new Map,background:new Map,resource:new Map,defaultStyle:new Map,baseStyle:new Map,computedStyle:new WeakMap,font:new Set,session:{styleMap:new Map,styleCache:new WeakMap,nodeMap:new Map}};function yA(A){const e=A.match(/url\((['"]?)(.*?)(\1)\)/);if(!e)return null;const t=e[2].trim();return t.startsWith("#")?null:t}function UA(A){if(/%[0-9A-Fa-f]{2}/.test(A))return A;try{return encodeURI(A)}catch{return A}}var FA=function(A="[snapDOM]",{ttlMs:e=3e5,maxEntries:t=12}={}){const n=new Map;let r=0;function o(o,i,s){if(r>=t)return;const a=Date.now();(n.get(i)||0)>a||(n.set(i,a+e),r++,"warn"===o&&console&&console.warn?console.warn(`${A} ${s}`):console&&console.error&&console.error(`${A} ${s}`))}return{warnOnce(A,e){o("warn",A,e)},errorOnce(A,e){o("error",A,e)},reset(){n.clear(),r=0}}}("[snapDOM]",{ttlMs:18e4,maxEntries:10}),bA=new Map,vA=new Map;function EA(A,e){if(!e)return!1;if(function(A){return/^data:|^blob:|^about:blank$/i.test(A)}(A))return!1;if(function(A,e){try{const t="undefined"!=typeof location&&location.href?location.href:"http://localhost/",n=e.includes("{url}")?e.split("{url}")[0]:e,r=new URL(n||".",t),o=new URL(A,t);if(o.origin===r.origin)return!0;const i=o.searchParams;if(i&&(i.has("url")||i.has("target")))return!0}catch{}return!1}(A,e))return!1;try{const e="undefined"!=typeof location&&location.href?location.href:"http://localhost/",t=new URL(A,e);return"undefined"==typeof location||t.origin!==location.origin}catch{return!!e}}function HA(A){return new Promise((e,t)=>{const n=new FileReader;n.onload=()=>e(String(n.result||"")),n.onerror=()=>t(new Error("read_failed")),n.readAsDataURL(A)})}async function IA(A,e={}){const t=e.as??"blob",n=e.timeout??3e3,r=e.useProxy||"",o=e.errorTTL??8e3,i=e.headers||{},s=!!e.silent;if(/^data:/i.test(A))try{if("text"===t)return{ok:!0,data:String(A),status:200,url:A,fromCache:!1};if("dataURL"===t)return{ok:!0,data:String(A),status:200,url:A,fromCache:!1,mime:String(A).slice(5).split(";")[0]||""};const[,e="",n=""]=String(A).match(/^data:([^,]*),(.*)$/)||[],r=/;base64/i.test(e)?atob(n):decodeURIComponent(n),o=new Uint8Array([...r].map(A=>A.charCodeAt(0))),i=new Blob([o],{type:(e||"").split(";")[0]||""});return{ok:!0,data:i,status:200,url:A,fromCache:!1,mime:i.type||""}}catch{return{ok:!1,data:null,status:0,url:A,fromCache:!1,reason:"special_url_error"}}if(/^blob:/i.test(A))try{const e=await fetch(A);if(!e.ok)return{ok:!1,data:null,status:e.status,url:A,fromCache:!1,reason:"http_error"};const n=await e.blob(),r=n.type||e.headers.get("content-type")||"";if("dataURL"===t){return{ok:!0,data:await HA(n),status:e.status,url:A,fromCache:!1,mime:r}}if("text"===t){return{ok:!0,data:await n.text(),status:e.status,url:A,fromCache:!1,mime:r}}return{ok:!0,data:n,status:e.status,url:A,fromCache:!1,mime:r}}catch{return{ok:!1,data:null,status:0,url:A,fromCache:!1,reason:"network"}}if(/^about:blank$/i.test(A))return"dataURL"===t?{ok:!0,data:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg==",status:200,url:A,fromCache:!1,mime:"image/png"}:{ok:!0,data:"text"===t?"":new Blob([]),status:200,url:A,fromCache:!1};const a=function(A,e){return[e.as||"blob",e.timeout??3e3,e.useProxy||"",e.errorTTL??8e3,A].join("|")}(A,{as:t,timeout:n,useProxy:r,errorTTL:o}),c=vA.get(a);if(c&&c.until>Date.now())return{...c.result,fromCache:!0};c&&vA.delete(a);const l=bA.get(a);if(l)return l;const u=EA(A,r)?function(A,e){if(!e)return A;if(e.includes("{url}"))return e.replace("{urlRaw}",UA(A)).replace("{url}",encodeURIComponent(A));if(/[?&]url=?$/.test(e))return`${e}${encodeURIComponent(A)}`;if(e.endsWith("?"))return`${e}url=${encodeURIComponent(A)}`;if(e.endsWith("/"))return`${e}${UA(A)}`;const t=e.includes("?")?"&":"?";return`${e}${t}url=${encodeURIComponent(A)}`}(A,r):A;let h=e.credentials;if(!h)try{const e="undefined"!=typeof location&&location.href?location.href:"http://localhost/",t=new URL(A,e),n="undefined"!=typeof location&&t.origin===location.origin;h=n?"include":"omit"}catch{h="omit"}const g=new AbortController,d=setTimeout(()=>g.abort("timeout"),n),B=(async()=>{try{const n=await fetch(u,{signal:g.signal,credentials:h,headers:i});if(!n.ok){const r={ok:!1,data:null,status:n.status,url:u,fromCache:!1,reason:"http_error"};if(o>0&&vA.set(a,{until:Date.now()+o,result:r}),!s){const e=`${n.status} ${n.statusText||""}`.trim();FA.warnOnce(`http:${n.status}:${t}:${new URL(A,location?.href??"http://localhost/").origin}`,`HTTP error ${e} while fetching ${t} ${A}`)}return e.onError&&e.onError(r),r}if("text"===t){return{ok:!0,data:await n.text(),status:n.status,url:u,fromCache:!1}}const r=await n.blob(),c=r.type||n.headers.get("content-type")||"";if("dataURL"===t){return{ok:!0,data:await HA(r),status:n.status,url:u,fromCache:!1,mime:c}}return{ok:!0,data:r,status:n.status,url:u,fromCache:!1,mime:c}}catch(r){const i=r&&"object"==typeof r&&"name"in r&&"AbortError"===r.name?String(r.message||"").includes("timeout")?"timeout":"abort":"network",c={ok:!1,data:null,status:0,url:u,fromCache:!1,reason:i};if(!/^blob:/i.test(A)&&o>0&&vA.set(a,{until:Date.now()+o,result:c}),!s){const e=`${i}:${t}:${new URL(A,location?.href??"http://localhost/").origin}`,r="timeout"===i?`Timeout after ${n}ms. Consider increasing timeout or using a proxy for ${A}`:"abort"===i?`Request aborted while fetching ${t} ${A}`:`Network/CORS issue while fetching ${t} ${A}. A proxy may be required`;FA.errorOnce(e,r)}return e.onError&&e.onError(c),c}finally{clearTimeout(d),bA.delete(a)}})();return bA.set(a,B),B}function xA(A,e){if(!e||!A.width||!A.height)return A;const t=document.createElement("canvas");t.width=A.width,t.height=A.height;const n=t.getContext("2d");return n.fillStyle=e,n.fillRect(0,0,t.width,t.height),n.drawImage(A,0,0),t}async function SA(A,e={}){if(/^((repeating-)?(linear|radial|conic)-gradient)\(/i.test(A)||"none"===A.trim())return A;const t=yA(A);if(!t)return A;const n=UA(t);if(QA.background.has(n)){const A=QA.background.get(n);return A?`url("${A}")`:"none"}try{const A=await IA(n,{as:"dataURL",useProxy:e.useProxy});return A.ok?(QA.background.set(n,A.data),`url("${A.data}")`):(QA.background.set(n,null),"none")}catch{return QA.background.set(n,null),"none"}}var LA=new Set(["meta","script","noscript","title","link","template"]),DA=new Set(["meta","link","style","title","noscript","script","template","g","defs","use","marker","mask","clipPath","pattern","path","polygon","polyline","line","circle","ellipse","rect","filter","lineargradient","radialgradient","stop"]);var MA=/(?:^|-)(animation|transition)(?:-|$)/i,KA=/^(--|view-timeline|scroll-timeline|animation-trigger|offset-|position-try|app-region|interactivity|overlay|view-transition|-webkit-locale|-webkit-user-(?:drag|modify)|-webkit-tap-highlight-color|-webkit-text-security)$/i,kA=new Set(["cursor","pointer-events","touch-action","user-select","print-color-adjust","speak","reading-flow","reading-order","anchor-name","anchor-scope","container-name","container-type","timeline-scope"]);function TA(A){const e=String(A).toLowerCase();return!!kA.has(e)||(!!KA.test(e)||!!MA.test(e))}function RA(A,e){if(e=String(e||"").toLowerCase(),DA.has(e))return"";const t=[],n=function(A){if(A=String(A).toLowerCase(),DA.has(A)){const e={};return QA.defaultStyle.set(A,e),e}if(QA.defaultStyle.has(A))return QA.defaultStyle.get(A);let e=document.getElementById("snapdom-sandbox");e||(e=document.createElement("div"),e.id="snapdom-sandbox",e.setAttribute("data-snapdom-sandbox","true"),e.setAttribute("aria-hidden","true"),e.style.position="absolute",e.style.left="-9999px",e.style.top="-9999px",e.style.width="0px",e.style.height="0px",e.style.overflow="hidden",document.body.appendChild(e));const t=document.createElement(A);t.style.all="initial",e.appendChild(t);const n=getComputedStyle(t),r={};for(let A of n){if(TA(A))continue;const e=n.getPropertyValue(A);r[A]=e}return e.removeChild(t),QA.defaultStyle.set(A,r),r}(e);for(let[e,r]of Object.entries(A)){if(TA(e))continue;const A=n[e];r&&r!==A&&t.push(`${e}:${r}`)}return t.sort(),t.join(";")}function PA(A,e=null){if(!(A instanceof Element))return window.getComputedStyle(A,e);let t=QA.computedStyle.get(A);if(t||(t=new Map,QA.computedStyle.set(A,t)),!t.has(e)){const n=window.getComputedStyle(A,e);t.set(e,n)}return t.get(e)}function OA(A){const e={};for(let t of A)e[t]=A.getPropertyValue(t);return e}function VA(A){const e=[];let t=0,n=0;for(let r=0;r<A.length;r++){const o=A[r];"("===o&&t++,")"===o&&t--,","===o&&0===t&&(e.push(A.slice(n,r).trim()),n=r+1)}return e.push(A.slice(n).trim()),e}function NA(A,{fast:e=!1}={}){if(e)return A();"requestIdleCallback"in window?requestIdleCallback(A,{timeout:50}):setTimeout(A,1)}function GA(){const A="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent:"",e=/^((?!chrome|android).)*safari/i.test(A),t=/AppleWebKit/i.test(A)&&/Mobile/i.test(A)&&!/Safari/i.test(A),n=/(MicroMessenger|wxwork|WeCom|WindowsWechat|MacWechat)/i.test(A);return e||t||n}var WA=new WeakMap,_A=new Map,XA=0;function JA(){XA++}var YA=!1;var $A=new WeakMap;function ZA(A,e=null,t={}){const n=WA.get(A);if(n&&n.epoch===XA)return n.snapshot;const r=e||getComputedStyle(A),o=function(A,e={}){const t={},n=A.getPropertyValue("visibility");for(let e=0;e<A.length;e++){const n=A[e];let r=A.getPropertyValue(n);"background-image"!==n&&"content"!==n||!r.includes("url(")||r.includes("data:")||(r="none"),t[n]=r}if(e.embedFonts){const e=["font-feature-settings","font-variation-settings","font-kerning","font-variant","font-variant-ligatures","font-optical-sizing"];for(const n of e)if(!t[n])try{const e=A.getPropertyValue(n);e&&(t[n]=e)}catch{}}return"hidden"===n&&(t.opacity="0"),t}(r,t);return function(A,e,t){if(A instanceof HTMLElement&&A.style&&A.style.height)return;const n=e.display||"";if(n.includes("flex")||n.includes("grid"))return;if(function(A){return A instanceof HTMLImageElement||A instanceof HTMLCanvasElement||A instanceof HTMLVideoElement||A instanceof HTMLIFrameElement||A instanceof SVGElement||A instanceof HTMLObjectElement||A instanceof HTMLEmbedElement}(A))return;const r=e.position;if("absolute"===r||"fixed"===r||"sticky"===r)return;if("none"!==e.transform)return;if(function(A){if(A.backgroundImage&&"none"!==A.backgroundImage)return!0;if(A.backgroundColor&&"rgba(0, 0, 0, 0)"!==A.backgroundColor&&"transparent"!==A.backgroundColor)return!0;if((parseFloat(A.borderTopWidth)||0)>0)return!0;if((parseFloat(A.borderBottomWidth)||0)>0)return!0;if((parseFloat(A.paddingTop)||0)>0)return!0;if((parseFloat(A.paddingBottom)||0)>0)return!0;const e=A.overflowBlock||A.overflowY||"visible";return"visible"!==e}(e))return;if(function(A){const e=A.parentElement;if(!e)return!1;const t=getComputedStyle(e).display||"";return t.includes("flex")||t.includes("grid")}(A))return;if(!function(A,e){if(A.textContent&&/\S/.test(A.textContent))return!0;const t=A.firstElementChild,n=A.lastElementChild;if(t&&"BR"===t.tagName||n&&"BR"===n.tagName)return!0;const r=A.scrollHeight;if(0===r)return!1;const o=parseFloat(e.paddingTop)||0,i=parseFloat(e.paddingBottom)||0;return r>o+i}(A,e))return;delete t.height,delete t["block-size"]}(A,r,o),WA.set(A,{epoch:XA,snapshot:o}),o}async function zA(A,e,t,n){if("STYLE"===A.tagName)return;const r=function(A,e){return A&&A.session&&A.persist?A:A&&(A.styleMap||A.styleCache||A.nodeMap)?{session:A,persist:{snapshotKeyCache:_A,defaultStyle:QA.defaultStyle,baseStyle:QA.baseStyle,image:QA.image,resource:QA.resource,background:QA.background,font:QA.font},options:e||{}}:{session:QA.session,persist:{snapshotKeyCache:_A,defaultStyle:QA.defaultStyle,baseStyle:QA.baseStyle,image:QA.image,resource:QA.resource,background:QA.background,font:QA.font},options:A||e||{}}}(t,n),o=r.options&&r.options.cache||"auto";if("disabled"!==o&&function(A=document.documentElement){if(!YA){YA=!0;try{new MutationObserver(()=>JA()).observe(A,{subtree:!0,childList:!0,characterData:!0,attributes:!0})}catch{}try{new MutationObserver(()=>JA()).observe(document.head,{subtree:!0,childList:!0,characterData:!0,attributes:!0})}catch{}try{const A=document.fonts;A&&(A.addEventListener?.("loadingdone",JA),A.ready?.then(()=>JA()).catch(()=>{}))}catch{}}}(document.documentElement),"disabled"!==o||r.session.__bumpedForDisabled||(JA(),_A.clear(),r.session.__bumpedForDisabled=!0),DA.has(A.tagName?.toLowerCase())){const t=A.getAttribute?.("style");t&&e.setAttribute("style",t)}const{session:i,persist:s}=r;i.styleCache.has(A)||i.styleCache.set(A,getComputedStyle(A));const a=ZA(A,i.styleCache.get(A),r.options),c=function(A){let e=$A.get(A);return e||(e=Object.entries(A).sort((A,e)=>A[0]<e[0]?-1:A[0]>e[0]?1:0).map(([A,e])=>`${A}:${e}`).join(";"),$A.set(A,e),e)}(a);let l=s.snapshotKeyCache.get(c);if(!l){l=RA(a,A.tagName?.toLowerCase()||"div"),s.snapshotKeyCache.set(c,l)}i.styleMap.set(e,l)}function jA(A,e,t){return Promise.all(A.map(A=>new Promise(n=>{!function r(){NA(t=>{!t||"function"!=typeof t.timeRemaining||t.timeRemaining()>0?e(A,n):r()},{fast:t})}()})))}function qA(A,e){return A?A=(A=(A=(A=(A=A.replace(/:host\(([^)]+)\)/g,(A,t)=>`:where(${e}:is(${t.trim()}))`)).replace(/:host\b/g,`:where(${e})`)).replace(/:host-context\(([^)]+)\)/g,(A,t)=>`:where(:where(${t.trim()}) ${e})`)).replace(/::slotted\(([^)]+)\)/g,(A,t)=>`:where(${e} ${t.trim()})`)).replace(/(^|})(\s*)([^@}{]+){/g,(A,t,n,r)=>{const o=function(A,e,t=!0){return A.split(",").map(A=>A.trim()).filter(Boolean).map(A=>{if(A.startsWith(":where("))return A;if(A.startsWith("@"))return A;const n=t?(r=(r=A).trim())?/:not\(\s*\[data-sd-slotted\]\s*\)\s*$/.test(r)?r:`${r}:not([data-sd-slotted])`:r:A;var r;return`:where(${e} ${n})`}).join(", ")}(r,e,!0);return`${t}${n}${o}{`}):""}function Ae(A,e){try{let t=getComputedStyle(A).getPropertyValue(e).trim();if(t)return t}catch{}try{let A=getComputedStyle(document.documentElement).getPropertyValue(e).trim();if(A)return A}catch{}return""}async function ee(A,e,t){const n=await async function(A,e=3){const t=()=>{try{return A.contentDocument||A.contentWindow?.document||null}catch{return null}};let n=t(),r=0;for(;r<e&&(!n||!n.body&&!n.documentElement);)await new Promise(A=>setTimeout(A,0)),n=t(),r++;return n&&(n.body||n.documentElement)?n:null}(A,3);if(!n)throw new Error("iframe document not accessible/ready");const{contentWidth:r,contentHeight:o,rect:i}=function(A){const e=A.getBoundingClientRect();let t=0,n=0,r=0,o=0;try{const e=getComputedStyle(A);t=parseFloat(e.borderLeftWidth)||0,n=parseFloat(e.borderRightWidth)||0,r=parseFloat(e.borderTopWidth)||0,o=parseFloat(e.borderBottomWidth)||0}catch{}return{contentWidth:Math.max(0,Math.round(e.width-(t+n))),contentHeight:Math.max(0,Math.round(e.height-(r+o))),rect:e}}(A),s=t?.snap;if(!s||"function"!=typeof s.toPng)throw new Error("snapdom.toPng not available in iframe or window");const a={...t,scale:1},c=function(A,e,t){const n=A.createElement("style");return n.setAttribute("data-sd-iframe-pin",""),n.textContent=`html, body {margin: 0 !important;padding: 0 !important;width: ${e}px !important;height: ${t}px !important;min-width: ${e}px !important;min-height: ${t}px !important;box-sizing: border-box !important;overflow: hidden !important;background-clip: border-box !important;}`,(A.head||A.documentElement).appendChild(n),()=>{try{n.remove()}catch{}}}(n,r,o);let l;try{l=await s.toPng(n.documentElement,a)}finally{c()}l.style.display="block",l.style.width=`${r}px`,l.style.height=`${o}px`;const u=document.createElement("div");return e.nodeMap.set(u,A),zA(A,u,e,t),u.style.overflow="hidden",u.style.display="block",u.style.width||(u.style.width=`${Math.round(i.width)}px`),u.style.height||(u.style.height=`${Math.round(i.height)}px`),u.appendChild(l),u}async function te(A,e,t){if(!A)throw new Error("Invalid node");const n=new Set;let r,o=null,i=null;if(A.nodeType===Node.ELEMENT_NODE){const e=(A.localName||A.tagName||"").toLowerCase();if("snapdom-sandbox"===A.id||A.hasAttribute("data-snapdom-sandbox"))return null;if(LA.has(e))return null}if(A.nodeType===Node.TEXT_NODE)return A.cloneNode(!0);if(A.nodeType!==Node.ELEMENT_NODE)return A.cloneNode(!0);if("exclude"===A.getAttribute("data-capture")){if("hide"===t.excludeMode){const e=document.createElement("div"),t=A.getBoundingClientRect();return e.style.cssText=`display:inline-block;width:${t.width}px;height:${t.height}px;visibility:hidden;`,e}if("remove"===t.excludeMode)return null}if(t.exclude&&Array.isArray(t.exclude))for(const e of t.exclude)try{if(A.matches?.(e)){if("hide"===t.excludeMode){const e=document.createElement("div"),t=A.getBoundingClientRect();return e.style.cssText=`display:inline-block;width:${t.width}px;height:${t.height}px;visibility:hidden;`,e}if("remove"===t.excludeMode)return null}}catch(A){console.warn(`Invalid selector in exclude option: ${e}`,A)}if("function"==typeof t.filter)try{if(!t.filter(A)){if("hide"===t.filterMode){const e=document.createElement("div"),t=A.getBoundingClientRect();return e.style.cssText=`display:inline-block;width:${t.width}px;height:${t.height}px;visibility:hidden;`,e}if("remove"===t.filterMode)return null}}catch(A){console.warn("Error in filter function:",A)}if("IFRAME"===A.tagName){let n=!1;try{n=!(!A.contentDocument&&!A.contentWindow?.document)}catch{n=!1}if(n)try{return await ee(A,e,t)}catch(A){console.warn("[SnapDOM] iframe rasterization failed, fallback:",A)}if(t.placeholders){const n=document.createElement("div");return n.style.cssText=`width:${A.offsetWidth}px;height:${A.offsetHeight}px;background-image:repeating-linear-gradient(45deg,#ddd,#ddd 5px,#f9f9f9 5px,#f9f9f9 10px);display:flex;align-items:center;justify-content:center;font-size:12px;color:#555;border:1px solid #aaa;`,zA(A,n,e,t),n}{const n=A.getBoundingClientRect(),r=document.createElement("div");return r.style.cssText=`display:inline-block;width:${n.width}px;height:${n.height}px;visibility:hidden;`,zA(A,r,e,t),r}}if("placeholder"===A.getAttribute("data-capture")){const n=A.cloneNode(!1);e.nodeMap.set(n,A),zA(A,n,e,t);const r=document.createElement("div");return r.textContent=A.getAttribute("data-placeholder-text")||"",r.style.cssText="color:#666;font-size:12px;text-align:center;line-height:1.4;padding:0.5em;box-sizing:border-box;",n.appendChild(r),n}if("CANVAS"===A.tagName){const n=A.toDataURL(),r=document.createElement("img");return r.src=n,r.width=A.width,r.height=A.height,e.nodeMap.set(r,A),zA(A,r,e,t),r}try{if(r=A.cloneNode(!1),function(A,e){if(!(A instanceof Element&&e instanceof Element))return;const t=A.getAttribute?.("style");let n,r=!(!t||!t.includes("var("));if(!r&&A.attributes?.length){const e=A.attributes;for(let A=0;A<e.length;A++){const t=e[A];if(t&&"string"==typeof t.value&&t.value.includes("var(")){r=!0;break}}}if(!r)return;try{n=getComputedStyle(A)}catch{return}const o=A.style;if(o&&o.length)for(let A=0;A<o.length;A++){const t=o[A],r=o.getPropertyValue(t);if(!r||!r.includes("var("))continue;const i=n.getPropertyValue(t);if(i)try{e.style.setProperty(t,i.trim(),o.getPropertyPriority(t))}catch{}}if(A.attributes?.length){const t=A.attributes;for(let A=0;A<t.length;A++){const r=t[A];if(!r||"string"!=typeof r.value||!r.value.includes("var("))continue;const o=r.name;let i="";try{i=n.getPropertyValue(o)}catch{}if(i)try{e.style.setProperty(o,i.trim())}catch{}}}}(A,r),e.nodeMap.set(r,A),"IMG"===A.tagName){!function(A,e){try{const t=A.currentSrc||A.src||"";if(!t)return;e.setAttribute("src",t),e.removeAttribute("srcset"),e.removeAttribute("sizes"),e.loading="eager",e.decoding="sync"}catch{}}(A,r);try{const e=A.getBoundingClientRect();let t=Math.round(e.width||0),n=Math.round(e.height||0);if(!t||!n){const e=window.getComputedStyle(A),r=parseFloat(e.width)||0,o=parseFloat(e.height)||0,i=parseInt(A.getAttribute("width")||"",10)||0,s=parseInt(A.getAttribute("height")||"",10)||0,a=A.width||A.naturalWidth||0,c=A.height||A.naturalHeight||0;t=Math.round(t||r||i||a||0),n=Math.round(n||o||s||c||0)}t&&(r.dataset.snapdomWidth=String(t)),n&&(r.dataset.snapdomHeight=String(n))}catch{}}}catch(e){throw console.error("[Snapdom] Failed to clone node:",A,e),e}if(A instanceof HTMLTextAreaElement){const e=A.getBoundingClientRect();r.style.width=`${e.width}px`,r.style.height=`${e.height}px`}if(A instanceof HTMLInputElement&&(r.value=A.value,r.setAttribute("value",A.value),void 0!==A.checked&&(r.checked=A.checked,A.checked&&r.setAttribute("checked",""),A.indeterminate&&(r.indeterminate=A.indeterminate))),A instanceof HTMLSelectElement&&(o=A.value),A instanceof HTMLTextAreaElement&&(i=A.value),zA(A,r,e,t),A.shadowRoot){let o=function(A,n){if(A.nodeType===Node.ELEMENT_NODE&&"STYLE"===A.tagName)return n(null);te(A,e,t).then(A=>{n(A||null)}).catch(()=>{n(null)})};try{const e=A.shadowRoot.querySelectorAll("slot");for(const A of e){let e=[];try{e=A.assignedNodes?.({flatten:!0})||A.assignedNodes?.()||[]}catch{e=A.assignedNodes?.()||[]}for(const A of e)n.add(A)}}catch{}const i=function(A){return A.shadowScopeSeq=(A.shadowScopeSeq||0)+1,`s${A.shadowScopeSeq}`}(e),s=`[data-sd="${i}"]`;try{r.setAttribute("data-sd",i)}catch{}const a=function(A){let e="";try{A.querySelectorAll("style").forEach(A=>{e+=(A.textContent||"")+"\n"});const t=A.adoptedStyleSheets||[];for(const A of t)try{if(A&&A.cssRules)for(const t of A.cssRules)e+=t.cssText+"\n"}catch{}}catch{}return e}(A.shadowRoot),c=qA(a,s),l=function(A,e,t){const n=[];for(const t of e){const e=Ae(A,t);e&&n.push(`${t}: ${e};`)}return n.length?`${t}{${n.join("")}}\n`:""}(A,function(A){const e=new Set;if(!A)return e;const t=/var\(\s*(--[A-Za-z0-9_-]+)\b/g;let n;for(;n=t.exec(A);)e.add(n[1]);return e}(a),s);!function(A,e,t){if(!e)return;const n=document.createElement("style");n.setAttribute("data-sd",t),n.textContent=e,A.insertBefore(n,A.firstChild||null)}(r,l+c,i);const u=document.createDocumentFragment(),h=await jA(Array.from(A.shadowRoot.childNodes),o,t.fast);u.append(...h.filter(A=>!!A)),r.appendChild(u)}if("SLOT"===A.tagName){let n=function(A,n){te(A,e,t).then(A=>{var e;A&&(e=A)&&(e.nodeType===Node.ELEMENT_NODE&&e.setAttribute("data-sd-slotted",""),e.querySelectorAll&&e.querySelectorAll("*").forEach(A=>A.setAttribute("data-sd-slotted",""))),n(A||null)}).catch(()=>{n(null)})};const r=A.assignedNodes?.({flatten:!0})||[],o=r.length>0?r:Array.from(A.childNodes),i=document.createDocumentFragment(),s=await jA(Array.from(o),n,t.fast);return i.append(...s.filter(A=>!!A)),i}const s=await jA(Array.from(A.childNodes),function(A,r){if(n.has(A))return r(null);te(A,e,t).then(A=>{r(A||null)}).catch(()=>{r(null)})},t.fast);if(r.append(...s.filter(A=>!!A)),null!==o&&r instanceof HTMLSelectElement){r.value=o;for(const A of r.options)A.value===o?A.setAttribute("selected",""):A.removeAttribute("selected")}return null!==i&&r instanceof HTMLTextAreaElement&&(r.textContent=i),r}var ne=[/font\s*awesome/i,/material\s*icons/i,/ionicons/i,/glyphicons/i,/feather/i,/bootstrap\s*icons/i,/remix\s*icons/i,/heroicons/i,/layui/i,/lucide/i],re=[];function oe(A){const e="string"==typeof A?A:"",t=[...ne,...re];for(const A of t)if(A instanceof RegExp&&A.test(e))return!0;return!!(/icon/i.test(e)||/glyph/i.test(e)||/symbols/i.test(e)||/feather/i.test(e)||/fontawesome/i.test(e))}async function ie(A,e,t,n=32,r="#000"){e=e.replace(/^['"]+|['"]+$/g,"");const o=window.devicePixelRatio||1;try{await document.fonts.ready}catch{}const i=document.createElement("span");i.textContent=A,i.style.position="absolute",i.style.visibility="hidden",i.style.fontFamily=`"${e}"`,i.style.fontWeight=t||"normal",i.style.fontSize=`${n}px`,i.style.lineHeight="1",i.style.whiteSpace="nowrap",i.style.padding="0",i.style.margin="0",document.body.appendChild(i);const s=i.getBoundingClientRect(),a=Math.ceil(s.width),c=Math.ceil(s.height);document.body.removeChild(i);const l=document.createElement("canvas");l.width=Math.max(1,a*o),l.height=Math.max(1,c*o);const u=l.getContext("2d");return u.scale(o,o),u.font=t?`${t} ${n}px "${e}"`:`${n}px "${e}"`,u.textAlign="left",u.textBaseline="top",u.fillStyle=r,u.fillText(A,0,0),{dataUrl:l.toDataURL(),width:a,height:c}}var se=new Set(["serif","sans-serif","monospace","cursive","fantasy","system-ui","emoji","math","fangsong","ui-serif","ui-sans-serif","ui-monospace","ui-rounded"]);function ae(A){if(!A)return"";for(let e of A.split(",")){let A=e.trim().replace(/^['"]+|['"]+$/g,"");if(A&&!se.has(A.toLowerCase()))return A}return""}function ce(A){const e=String(A??"400").trim().toLowerCase();if("normal"===e)return 400;if("bold"===e)return 700;const t=parseInt(e,10);return Number.isFinite(t)?Math.min(900,Math.max(100,t)):400}function le(A){const e=String(A??"normal").trim().toLowerCase();return e.startsWith("italic")?"italic":e.startsWith("oblique")?"oblique":"normal"}function ue(A,e){if(!A)return!1;try{const t=new URL(A,location.href);if(t.origin===location.origin)return!0;const n=t.host.toLowerCase();if(["fonts.googleapis.com","fonts.gstatic.com","use.typekit.net","p.typekit.net","kit.fontawesome.com","use.fontawesome.com"].some(A=>n.endsWith(A)))return!0;const r=(t.pathname+t.search).toLowerCase();if(/\bfont(s)?\b/.test(r)||/\.woff2?(\b|$)/.test(r))return!0;for(const A of e){const e=A.toLowerCase().replace(/\s+/g,"+"),t=A.toLowerCase().replace(/\s+/g,"-");if(r.includes(e)||r.includes(t))return!0}return!1}catch{return!1}}function he(A,e){return A?A.replace(/url\(\s*(['"]?)([^)'"]+)\1\s*\)/g,(A,t,n)=>{const r=(n||"").trim();if(!r||/^data:|^blob:|^https?:|^file:|^about:/i.test(r))return A;let o=r;try{o=new URL(r,e||location.href).href}catch{}return`url("${o}")`}):A}var ge=/@import\s+(?:url\(\s*(['"]?)([^)"']+)\1\s*\)|(['"])([^"']+)\3)([^;]*);/g;async function de(A,e,t){if(!A)return A;const n=new Set;function r(A,e){try{return new URL(A,e||location.href).href}catch{return A}}let o=he(A,e||location.href);return o=await async function A(e,o,i=0){if(i>4)return console.warn(`[snapDOM] @import depth exceeded (4) at ${o}`),e;let s,a="",c=0;for(;s=ge.exec(e);){a+=e.slice(c,s.index),c=ge.lastIndex;const l=r((s[2]||s[4]||"").trim(),o);if(n.has(l)){console.warn(`[snapDOM] Skipping circular @import: ${l}`);continue}n.add(l);let u="";try{const A=await IA(l,{as:"text",useProxy:t,silent:!0});A.ok&&"string"==typeof A.data&&(u=A.data)}catch{}u?(u=he(u,l),u=await A(u,l,i+1),a+=`\n/* inlined: ${l} */\n${u}\n`):a+=s[0]}return a+=e.slice(c),a}(o,e||location.href,0),o}var Be=/url\((["']?)([^"')]+)\1\)/g,fe=/@font-face[^{}]*\{[^}]*\}/g;function we(A){if(!A)return[];const e=[],t=A.split(",").map(A=>A.trim()).filter(Boolean);for(const A of t){const t=A.match(/^U\+([0-9A-Fa-f?]+)(?:-([0-9A-Fa-f?]+))?$/);if(!t)continue;const n=t[1],r=t[2],o=A=>{if(!A.includes("?"))return parseInt(A,16);return[parseInt(A.replace(/\?/g,"0"),16),parseInt(A.replace(/\?/g,"F"),16)]};if(r){const A=o(n),t=o(r),i=Array.isArray(A)?A[0]:A,s=Array.isArray(t)?t[1]:t;e.push([Math.min(i,s),Math.max(i,s)])}else{const A=o(n);Array.isArray(A)?e.push([A[0],A[1]]):e.push([A,A])}}return e}function pe(A,e){if(!e.length)return!0;if(!A||0===A.size)return!0;for(const t of A)for(const[A,n]of e)if(t>=A&&t<=n)return!0;return!1}function me(A,e){const t=[];if(!A)return t;for(const n of A.matchAll(Be)){let A=(n[2]||"").trim();if(A&&!A.startsWith("data:")){if(!/^https?:/i.test(A))try{A=new URL(A,e||location.href).href}catch{}t.push(A)}}return t}async function Ce(A,e,t=""){let n=A;for(const r of A.matchAll(Be)){const A=yA(r[0]);if(!A)continue;let o=A;if(!o.startsWith("http")&&!o.startsWith("data:"))try{o=new URL(o,e||location.href).href}catch{}if(!oe(o))if(QA.resource?.has(o))QA.font?.add(o),n=n.replace(r[0],`url(${QA.resource.get(o)})`);else if(!QA.font?.has(o))try{const A=await IA(o,{as:"dataURL",useProxy:t,silent:!0});if(A.ok&&"string"==typeof A.data){const e=A.data;QA.resource?.set(o,e),QA.font?.add(o),n=n.replace(r[0],`url(${e})`)}}catch{console.warn("[snapDOM] Failed to fetch font resource:",o)}}return n}function Qe(A={}){const e=new Set((A.families||[]).map(A=>String(A).toLowerCase())),t=new Set((A.domains||[]).map(A=>String(A).toLowerCase())),n=new Set((A.subsets||[]).map(A=>String(A).toLowerCase()));return(A,r)=>{if(e.size&&e.has(A.family.toLowerCase()))return!0;if(t.size)for(const e of A.srcUrls)try{if(t.has(new URL(e).host.toLowerCase()))return!0}catch{}if(n.size){const A=function(A){if(!A.length)return null;const e=(e,t)=>A.some(([A,n])=>!(n<e||A>t)),t=e(0,255)||e(305,305),n=e(256,591)||e(7680,7935),r=e(880,1023),o=e(1024,1279);return e(7840,7929)||e(258,259)||e(416,417)||e(431,432)?"vietnamese":o?"cyrillic":r?"greek":n?"latin-ext":t?"latin":null}(r);if(A&&n.has(A))return!0}return!1}}async function ye(A,e,t,n){let r;try{r=A.cssRules||[]}catch{return}const o=(A,e)=>{try{return new URL(A,e||location.href).href}catch{return A}};for(const A of r){if(A.type===CSSRule.IMPORT_RULE&&A.styleSheet){const r=A.href?o(A.href,e):e;if(n.depth>=4){console.warn(`[snapDOM] CSSOM import depth exceeded (4) at ${r}`);continue}if(r&&n.visitedSheets.has(r)){console.warn(`[snapDOM] Skipping circular CSSOM import: ${r}`);continue}r&&n.visitedSheets.add(r);const i={...n,depth:(n.depth||0)+1};await ye(A.styleSheet,r,t,i);continue}if(A.type===CSSRule.FONT_FACE_RULE){const r=ae((A.style.getPropertyValue("font-family")||"").trim());if(!r||oe(r))continue;const o=(A.style.getPropertyValue("font-weight")||"400").trim(),i=(A.style.getPropertyValue("font-style")||"normal").trim(),s=(A.style.getPropertyValue("font-stretch")||"100%").trim(),a=(A.style.getPropertyValue("src")||"").trim(),c=(A.style.getPropertyValue("unicode-range")||"").trim();if(!n.faceMatchesRequired(r,i,o,s))continue;const l=we(c);if(!pe(n.usedCodepoints,l))continue;const u={family:r,weightSpec:o,styleSpec:i,stretchSpec:s,unicodeRange:c,srcRaw:a,srcUrls:me(a,e||location.href),href:e||location.href};if(n.simpleExcluder&&n.simpleExcluder(u,l))continue;if(/url\(/i.test(a)){const A=await Ce(a,e||location.href,n.useProxy);await t(`@font-face{font-family:${r};src:${A};font-style:${i};font-weight:${o};font-stretch:${s};${c?`unicode-range:${c};`:""}}`)}else await t(`@font-face{font-family:${r};src:${a};font-style:${i};font-weight:${o};font-stretch:${s};${c?`unicode-range:${c};`:""}}`)}}}async function Ue({required:A,usedCodepoints:e,exclude:t,localFonts:n=[],useProxy:r=""}={}){A instanceof Set||(A=new Set),e instanceof Set||(e=new Set);const o=new Map;for(const e of A){const[A,t,n,r]=String(e).split("__");if(!A)continue;const i=o.get(A)||[];i.push({w:parseInt(t,10),s:n,st:parseInt(r,10)}),o.set(A,i)}function i(A,e,t,n){if(!o.has(A))return!1;const r=o.get(A),i=function(A){const e=String(A||"400").trim(),t=e.match(/^(\d{2,3})\s+(\d{2,3})$/);if(t){const A=ce(t[1]),e=ce(t[2]);return{min:Math.min(A,e),max:Math.max(A,e)}}const n=ce(e);return{min:n,max:n}}(t),s=function(A){const e=String(A||"normal").trim().toLowerCase();return"italic"===e?{kind:"italic"}:e.startsWith("oblique")?{kind:"oblique"}:{kind:"normal"}}(e),a=function(A){const e=String(A||"100%").trim(),t=e.match(/(\d+(?:\.\d+)?)\s*%\s+(\d+(?:\.\d+)?)\s*%/);if(t){const A=parseFloat(t[1]),e=parseFloat(t[2]);return{min:Math.min(A,e),max:Math.max(A,e)}}const n=e.match(/(\d+(?:\.\d+)?)\s*%/),r=n?parseFloat(n[1]):100;return{min:r,max:r}}(n),c=i.min!==i.max,l=i.min,u=A=>"normal"===s.kind&&"normal"===A||"normal"!==s.kind&&("italic"===A||"oblique"===A);let h=!1;for(const A of r){const e=c?A.w>=i.min&&A.w<=i.max:A.w===l,t=u(le(A.s)),n=A.st>=a.min&&A.st<=a.max;if(e&&t&&n){h=!0;break}}if(h)return!0;if(!c)for(const A of r){const e=u(le(A.s)),t=A.st>=a.min&&A.st<=a.max;if(Math.abs(l-A.w)<=300&&e&&t)return!0}return!1}const s=Qe(t),a=function(A,e,t,n){return`fonts-embed-css::req=${Array.from(A||[]).sort().join("|")}::ex=${e?JSON.stringify({families:(e.families||[]).map(A=>String(A).toLowerCase()).sort(),domains:(e.domains||[]).map(A=>String(A).toLowerCase()).sort(),subsets:(e.subsets||[]).map(A=>String(A).toLowerCase()).sort()}):""}::lf=${(t||[]).map(A=>`${(A.family||"").toLowerCase()}::${A.weight||"normal"}::${A.style||"normal"}::${A.src||""}`).sort().join("|")}::px=${n||""}`}(A,t,n,r);if(QA.resource?.has(a))return QA.resource.get(a);const c=function(A){const e=new Set;for(const t of A||[]){const A=String(t).split("__")[0]?.trim();A&&e.add(A)}return e}(A),l=[],u=ge;for(const A of document.querySelectorAll("style")){const e=A.textContent||"";for(const A of e.matchAll(u)){const e=(A[2]||A[4]||"").trim();if(!e||oe(e))continue;!!document.querySelector(`link[rel="stylesheet"][href="${e}"]`)||l.push(e)}}l.length&&await Promise.all(l.map(A=>new Promise(e=>{if(document.querySelector(`link[rel="stylesheet"][href="${A}"]`))return e(null);const t=document.createElement("link");t.rel="stylesheet",t.href=A,t.setAttribute("data-snapdom","injected-import"),t.onload=()=>e(t),t.onerror=()=>e(null),document.head.appendChild(t)})));let h="";const g=Array.from(document.querySelectorAll('link[rel="stylesheet"]')).filter(A=>!!A.href);for(const A of g)try{if(oe(A.href))continue;let n="",o=!1;try{o=new URL(A.href,location.href).origin===location.origin}catch{}if(!o&&!ue(A.href,c))continue;if(o){const e=Array.from(document.styleSheets).find(e=>e.href===A.href);if(e)try{const A=e.cssRules||[];n=Array.from(A).map(A=>A.cssText).join("")}catch{}}if(!n){if(n=(await IA(A.href,{as:"text",useProxy:r})).data,oe(A.href))continue}n=await de(n,A.href,r);let a="";for(const o of n.match(fe)||[]){const n=ae((o.match(/font-family:\s*([^;]+);/i)?.[1]||"").trim());if(!n||oe(n))continue;const c=(o.match(/font-weight:\s*([^;]+);/i)?.[1]||"400").trim(),l=(o.match(/font-style:\s*([^;]+);/i)?.[1]||"normal").trim(),u=(o.match(/font-stretch:\s*([^;]+);/i)?.[1]||"100%").trim(),h=(o.match(/unicode-range:\s*([^;]+);/i)?.[1]||"").trim(),g=(o.match(/src\s*:\s*([^;]+);/i)?.[1]||"").trim(),d=me(g,A.href);if(!i(n,l,c,u))continue;const B=we(h);if(!pe(e,B))continue;const f={family:n,weightSpec:c,styleSpec:l,stretchSpec:u,unicodeRange:h,srcRaw:g,srcUrls:d,href:A.href};if(t&&s(f,B))continue;a+=/url\(/i.test(g)?await Ce(o,A.href,r):o}a.trim()&&(h+=a)}catch{console.warn("[snapDOM] Failed to process stylesheet:",A.href)}const d={requiredIndex:o,usedCodepoints:e,faceMatchesRequired:i,simpleExcluder:t?Qe(t):null,useProxy:r,visitedSheets:new Set,depth:0};for(const A of document.styleSheets)if(!A.href||!g.some(e=>e.href===A.href))try{const e=A.href||location.href;e&&d.visitedSheets.add(e),await ye(A,e,async A=>{h+=A},d)}catch{}try{for(const A of document.fonts||[]){if(!A||!A.family||"loaded"!==A.status||!A._snapdomSrc)continue;const e=String(A.family).replace(/^['"]+|['"]+$/g,"");if(oe(e))continue;if(!o.has(e))continue;if(t?.families&&t.families.some(A=>String(A).toLowerCase()===e.toLowerCase()))continue;let n=A._snapdomSrc;if(!String(n).startsWith("data:"))if(QA.resource?.has(A._snapdomSrc))n=QA.resource.get(A._snapdomSrc),QA.font?.add(A._snapdomSrc);else if(!QA.font?.has(A._snapdomSrc))try{const e=await IA(A._snapdomSrc,{as:"dataURL",useProxy:r,silent:!0});if(!e.ok||"string"!=typeof e.data)continue;n=e.data,QA.resource?.set(A._snapdomSrc,n),QA.font?.add(A._snapdomSrc)}catch{console.warn("[snapDOM] Failed to fetch dynamic font src:",A._snapdomSrc);continue}h+=`@font-face{font-family:'${e}';src:url(${n});font-style:${A.style||"normal"};font-weight:${A.weight||"normal"};}`}}catch{}for(const A of n){if(!A||"object"!=typeof A)continue;const e=String(A.family||"").replace(/^['"]+|['"]+$/g,"");if(!e||oe(e))continue;if(!o.has(e))continue;if(t?.families&&t.families.some(A=>String(A).toLowerCase()===e.toLowerCase()))continue;const n=null!=A.weight?String(A.weight):"normal",i=null!=A.style?String(A.style):"normal",s=null!=A.stretchPct?`${A.stretchPct}%`:"100%",a=String(A.src||"");let c=a;if(!c.startsWith("data:"))if(QA.resource?.has(a))c=QA.resource.get(a),QA.font?.add(a);else if(!QA.font?.has(a))try{const A=await IA(a,{as:"dataURL",useProxy:r,silent:!0});if(!A.ok||"string"!=typeof A.data)continue;c=A.data,QA.resource?.set(a,c),QA.font?.add(a)}catch{console.warn("[snapDOM] Failed to fetch localFonts src:",a);continue}h+=`@font-face{font-family:'${e}';src:url(${c});font-style:${i};font-weight:${n};font-stretch:${s};}`}return h&&(h=function(A){if(!A)return A;const e=/@font-face[^{}]*\{[^}]*\}/gi,t=new Set,n=[];for(const r of A.match(e)||[]){const A=ae(r.match(/font-family:\s*([^;]+);/i)?.[1]||""),e=(r.match(/font-weight:\s*([^;]+);/i)?.[1]||"400").trim(),o=(r.match(/font-style:\s*([^;]+);/i)?.[1]||"normal").trim(),i=(r.match(/font-stretch:\s*([^;]+);/i)?.[1]||"100%").trim(),s=(r.match(/unicode-range:\s*([^;]+);/i)?.[1]||"").trim(),a=(r.match(/src\s*:\s*([^;]+);/i)?.[1]||"").trim(),c=me(a,location.href),l=c.length?c.map(A=>String(A).toLowerCase()).sort().join("|"):a.toLowerCase(),u=[String(A||"").toLowerCase(),e,o,i,s.toLowerCase(),l].join("|");t.has(u)||(t.add(u),n.push(r))}if(0===n.length)return A;let r=0;return A.replace(e,()=>n[r++]||"")}(h),QA.resource?.set(a,h)),h}function Fe(A){const e=new Set;if(!A)return e;const t=document.createTreeWalker(A,NodeFilter.SHOW_ELEMENT,null),n=A=>{const t=ae(A.fontFamily);if(!t)return;var n,r,o;e.add((n=A.fontWeight,r=A.fontStyle,o=A.fontStretch,`${t}__${ce(n)}__${le(r)}__${function(A){const e=String(A??"100%").match(/(\d+(?:\.\d+)?)\s*%/);return e?Math.max(50,Math.min(200,parseFloat(e[1]))):100}(o)}`))};n(getComputedStyle(A));const r=getComputedStyle(A,"::before");r&&r.content&&"none"!==r.content&&n(r);const o=getComputedStyle(A,"::after");for(o&&o.content&&"none"!==o.content&&n(o);t.nextNode();){const A=t.currentNode;n(getComputedStyle(A));const e=getComputedStyle(A,"::before");e&&e.content&&"none"!==e.content&&n(e);const r=getComputedStyle(A,"::after");r&&r.content&&"none"!==r.content&&n(r)}return e}function be(A,e=!1){let t="",n=Math.max(1,A);for(;n>0;)n--,t=String.fromCharCode(97+n%26)+t,n=Math.floor(n/26);return e?t.toUpperCase():t}function ve(A,e=!0){const t=[[1e3,"M"],[900,"CM"],[500,"D"],[400,"CD"],[100,"C"],[90,"XC"],[50,"L"],[40,"XL"],[10,"X"],[9,"IX"],[5,"V"],[4,"IV"],[1,"I"]];let n=Math.max(1,Math.min(3999,A)),r="";for(const[A,e]of t)for(;n>=A;)r+=e,n-=A;return e?r:r.toLowerCase()}function Ee(A,e){switch((e||"decimal").toLowerCase()){case"decimal":default:return String(Math.max(0,A));case"decimal-leading-zero":return(A<10?"0":"")+String(Math.max(0,A));case"lower-alpha":return be(A,!1);case"upper-alpha":return be(A,!0);case"lower-roman":return ve(A,!1);case"upper-roman":return ve(A,!0)}}function He(A){const e=new WeakMap,t=A instanceof Document?A.documentElement:A,n=A=>{let e=0,t=A?.parentElement;if(!t)return 0;for(const n of t.children){if(n===A)break;"LI"===n.tagName&&e++}return e},r=(A,e,t)=>{const r=(A=>{const e=new Map;for(const[t,n]of A)e.set(t,n.slice());return e})(A);let o,i;try{o=t.style?.counterReset||getComputedStyle(t).counterReset}catch{}if(o&&"none"!==o)for(const A of o.split(",")){const t=A.trim().split(/\s+/),n=t[0],o=Number.isFinite(Number(t[1]))?Number(t[1]):0;if(!n)continue;const i=e.get(n);if(i&&i.length){const A=i.slice();A.push(o),r.set(n,A)}else r.set(n,[o])}try{i=t.style?.counterIncrement||getComputedStyle(t).counterIncrement}catch{}if(i&&"none"!==i)for(const A of i.split(",")){const e=A.trim().split(/\s+/),t=e[0],n=Number.isFinite(Number(e[1]))?Number(e[1]):1;if(!t)continue;const o=r.get(t)||[];0===o.length&&o.push(0),o[o.length-1]+=n,r.set(t,o)}try{if("list-item"===getComputedStyle(t).display&&(A=>A&&"LI"===A.tagName)(t)){const A=t.parentElement;let e=1;if(A&&"OL"===A.tagName){const r=A.getAttribute("start"),o=Number.isFinite(Number(r))?Number(r):1,i=n(t),s=t.getAttribute("value");e=Number.isFinite(Number(s))?Number(s):o+i}else e=1+n(t);const o=r.get("list-item")||[];0===o.length&&o.push(0),o[o.length-1]=e,r.set("list-item",o)}}catch{}return r},o=(A,t,n)=>{const i=r(n,t,A);e.set(A,i);let s=i;for(const e of A.children){s=o(e,i,s)}return i},i=new Map;return o(t,i,i),{get(A,t){const n=e.get(A)?.get(t);return n&&n.length?n[n.length-1]:0},getStack(A,t){const n=e.get(A)?.get(t);return n?n.slice():[]}}}var Ie=null,xe=new WeakMap;function Se(A,e){const t=A.parentElement,n=t?xe.get(t):null;return n?{get(A,t){const r=e.get(A,t),o=n.get(t);return"number"==typeof o?Math.max(r,o):r},getStack(A,t){const r=e.getStack(A,t);if(!r.length)return r;const o=n.get(t);if("number"==typeof o){const A=r.slice();return A[A.length-1]=Math.max(A[A.length-1],o),A}return r}}:e}function Le(A,e,t){const n=new Map;function r(A){const e=[];if(!A||"none"===A)return e;for(const t of String(A).split(",")){const A=t.trim().split(/\s+/),n=A[0],r=Number.isFinite(Number(A[1]))?Number(A[1]):void 0;n&&e.push({name:n,num:r})}return e}const o=r(e?.counterReset),i=r(e?.counterIncrement);function s(e){if(n.has(e))return n.get(e).slice();let r=t.getStack(A,e);r=r.length?r.slice():[];const s=o.find(A=>A.name===e);if(s){const A=Number.isFinite(s.num)?s.num:0;r=r.length?[...r,A]:[A]}const a=i.find(A=>A.name===e);if(a){const A=Number.isFinite(a.num)?a.num:1;0===r.length&&(r=[0]),r[r.length-1]+=A}return n.set(e,r.slice()),r}return{get(A,e){const t=s(e);return t.length?t[t.length-1]:0},getStack:(A,e)=>s(e),__incs:i}}function De(A,e,t){let n;try{n=getComputedStyle(A,e)}catch{}const r=n?.content;if(!r||"none"===r||"normal"===r)return{text:"",incs:[]};const o=Le(A,n,Se(A,t));let i=/\bcounter\s*\(|\bcounters\s*\(/.test(r||"")?function(A,e,t){if(!A||"none"===A)return A;try{const n=/\b(counter|counters)\s*\(([^)]+)\)/g;return(A.replace(n,(A,n,r)=>{const o=String(r).split(",").map(A=>A.trim());if("counter"===n){const A=o[0]?.replace(/^["']|["']$/g,""),n=(o[1]||"decimal").toLowerCase();return Ee(t.get(e,A),n)}{const A=o[0]?.replace(/^["']|["']$/g,""),n=o[1]?.replace(/^["']|["']$/g,"")??"",r=(o[2]||"decimal").toLowerCase(),i=t.getStack(e,A);return i.length?i.map(A=>Ee(A,r)).join(n):""}})||"").replace(/"([^"]*)"/g,"$1")}catch{return"- "}}(r,A,o):r;const s=function(A){if(!A)return"";const e=[],t=/"([^"]*)"/g;let n;for(;n=t.exec(A);)e.push(n[1]);return e.length?e.join(""):(A||"").replace(/"([^"]*)"/g,"$1")}(i);return{text:s,incs:o.__incs||[]}}async function Me(A,e,t,n){if(!(A instanceof Element&&e instanceof Element))return;if(!Ie)try{Ie=He(A.ownerDocument||document)}catch{}for(const r of["::before","::after","::first-letter"])try{const o=PA(A,r);if(!o||"function"!=typeof o[Symbol.iterator])continue;if(!("none"!==o.content||"none"!==o.backgroundImage||"transparent"!==o.backgroundColor||"none"!==o.borderStyle&&0!==parseFloat(o.borderWidth)||o.transform&&"none"!==o.transform||"inline"!==o.display))continue;if("::first-letter"===r){const n=getComputedStyle(A);if(!(o.color!==n.color||o.fontSize!==n.fontSize||o.fontWeight!==n.fontWeight))continue;const r=Array.from(e.childNodes).find(A=>A.nodeType===Node.TEXT_NODE&&A.textContent?.trim().length>0);if(!r)continue;const i=r.textContent,s=i.match(/^([^\p{L}\p{N}\s]*[\p{L}\p{N}](?:['’])?)/u),a=s?.[0],c=i.slice(a?.length||0);if(!a||/[\uD800-\uDFFF]/.test(a))continue;const l=document.createElement("span");l.textContent=a,l.dataset.snapdomPseudo="::first-letter";const u=RA(OA(o),"span");t.styleMap.set(l,u);const h=document.createTextNode(c);e.replaceChild(h,r),e.insertBefore(l,h);continue}const i=o.content,{text:s,incs:a}=De(A,r,Ie),c=o.backgroundImage,l=o.backgroundColor,u=o.fontFamily,h=parseInt(o.fontSize)||32,g=parseInt(o.fontWeight)||!1,d=o.color||"#000",B=o.borderStyle,f=parseFloat(o.borderWidth),w=o.transform,p=oe(u),m="none"!==i&&""!==s,C=c&&"none"!==c,Q=l&&"transparent"!==l&&"rgba(0, 0, 0, 0)"!==l,y=B&&"none"!==B&&f>0,U=w&&"none"!==w;if(!(m||C||Q||y||U)){if(a&&a.length&&A.parentElement){const e=xe.get(A.parentElement)||new Map;for(const{name:t}of a){if(!t)continue;const n=Se(A,Ie),o=Le(A,getComputedStyle(A,r),n).get(A,t);e.set(t,o)}xe.set(A.parentElement,e)}continue}const F=document.createElement("span");F.dataset.snapdomPseudo=r,F.style.verticalAlign="middle",F.style.pointerEvents="none";const b=RA(OA(o),"span");if(t.styleMap.set(F,b),p&&s&&1===s.length){const{dataUrl:A,width:t,height:n}=await ie(s,u,g,h,d),r=document.createElement("img");r.src=A,r.style=`height:${h}px;width:${t/n*h}px;object-fit:contain;`,F.appendChild(r),e.dataset.snapdomHasIcon="true"}else if(s&&s.startsWith("url(")){const e=yA(s);if(e?.trim())try{const A=document.createElement("img"),t=await IA(UA(e),{as:"dataURL",useProxy:n.useProxy});A.src=t.data,A.style=`width:${h}px;height:auto;object-fit:contain;`,F.appendChild(A)}catch(e){console.error(`[snapdom] Error in pseudo ${r} for`,A,e)}}else!p&&m&&(F.textContent=s);if(F.style.background="none","mask"in F.style&&(F.style.mask="none"),C)try{const A=VA(c),e=await Promise.all(A.map(SA));F.style.backgroundImage=e.join(", ")}catch(A){console.warn(`[snapdom] Failed to inline background-image for ${r}`,A)}Q&&(F.style.backgroundColor=l);const v=F.childNodes.length>0||""!==F.textContent?.trim()||C||Q||y||U;if(a&&a.length&&A.parentElement){const e=xe.get(A.parentElement)||new Map,t=Se(A,Ie),n=Le(A,getComputedStyle(A,r),t);for(const{name:t}of a){if(!t)continue;const r=n.get(A,t);e.set(t,r)}xe.set(A.parentElement,e)}if(!v)continue;"::before"===r?e.insertBefore(F,e.firstChild):e.appendChild(F)}catch(e){console.warn(`[snapdom] Failed to capture ${r} for`,A,e)}const r=Array.from(A.children),o=Array.from(e.children).filter(A=>!A.dataset.snapdomPseudo);for(let A=0;A<Math.min(r.length,o.length);A++)await Me(r[A],o[A],t,n)}function Ke(A){if(!A||"auto"===A)return null;const e=Number.parseFloat(A);return Number.isFinite(e)?e:null}function ke(A,e){const t=[];for(let n=A;n&&n!==e;){const A=n.parentElement;if(!A)break;t.push(Array.prototype.indexOf.call(A.children,n)),n=A}return t.reverse()}function Te(A,e,t){let n=A;for(let A=0;A<e.length;A++){if(n=Re(n,t)[e[A]],!n)return null}return n instanceof HTMLElement?n:null}function Re(A,e){const t=[],n=A.children;for(let A=0;A<n.length;A++){const r=n[A];r.hasAttribute(e)||t.push(r)}return t}async function Pe(A,e={}){const t={styleMap:QA.session.styleMap,styleCache:QA.session.styleCache,nodeMap:QA.session.nodeMap};let n,r="",o="";!function(A){const e=getComputedStyle(A),t=e.outlineStyle,n=e.outlineWidth,r=e.borderStyle,o=e.borderWidth,i="none"!==t&&parseFloat(n)>0,s="none"===r||0===parseFloat(o);i&&s&&(A.style.border=`${n} solid transparent`)}(A);try{!function(A){if(!A)return;const e=new Set;if(A.querySelectorAll("use").forEach(A=>{const t=A.getAttribute("xlink:href")||A.getAttribute("href");t&&t.startsWith("#")&&e.add(t.slice(1))}),!e.size)return;const t=Array.from(document.querySelectorAll("svg > symbol, svg > defs")),n=t.filter(A=>"symbol"===A.tagName.toLowerCase()),r=t.filter(A=>"defs"===A.tagName.toLowerCase());let o=A.querySelector("svg.inline-defs-container");o||(o=document.createElementNS("http://www.w3.org/2000/svg","svg"),o.setAttribute("aria-hidden","true"),o.setAttribute("style","position: absolute; width: 0; height: 0; overflow: hidden;"),o.classList.add("inline-defs-container"),A.insertBefore(o,A.firstChild));const i=new Set;A.querySelectorAll("symbol[id], defs > *[id]").forEach(A=>{i.add(A.id)}),e.forEach(A=>{if(i.has(A))return;const e=n.find(e=>e.id===A);if(e)return o.appendChild(e.cloneNode(!0)),void i.add(A);for(const e of r){const t=e.querySelector(`#${CSS.escape(A)}`);if(t){let e=o.querySelector("defs");e||(e=document.createElementNS("http://www.w3.org/2000/svg","defs"),o.appendChild(e)),e.appendChild(t.cloneNode(!0)),i.add(A);break}}})}(A)}catch(A){console.warn("inlineExternal defs or symbol failed:",A)}try{n=await te(A,t,e)}catch(A){throw console.warn("deepClone failed:",A),A}try{await Me(A,n,t,e)}catch(A){console.warn("inlinePseudoElements failed:",A)}await async function(A){if(!A)return;const e=A.querySelectorAll?A.querySelectorAll("img"):[];for(const A of e)try{const e=A.getAttribute("src")||A.currentSrc||"";if(We(e)){const t=await Ve(e);A.setAttribute("src",t)}const t=A.getAttribute("srcset");if(t&&t.includes("blob:")){const e=_e(t);let n=!1;for(const A of e)if(We(A.url))try{A.url=await Ve(A.url),n=!0}catch{}n&&A.setAttribute("srcset",Xe(e))}}catch{}const t=A.querySelectorAll?A.querySelectorAll("image"):[];for(const A of t)try{const e="http://www.w3.org/1999/xlink",t=A.getAttribute("href")||A.getAttributeNS?.(e,"href");if(We(t)){const n=await Ve(t);A.setAttribute("href",n),A.removeAttributeNS?.(e,"href")}}catch{}const n=A.querySelectorAll?A.querySelectorAll("[style*='blob:']"):[];for(const A of n)try{const e=A.getAttribute("style");if(e&&e.includes("blob:")){const t=await Ge(e);A.setAttribute("style",t)}}catch{}const r=A.querySelectorAll?A.querySelectorAll("style"):[];for(const A of r)try{const e=A.textContent||"";e.includes("blob:")&&(A.textContent=await Ge(e))}catch{}const o=["poster"];for(const e of o){const t=A.querySelectorAll?A.querySelectorAll(`[${e}^='blob:']`):[];for(const A of t)try{const t=A.getAttribute(e);We(t)&&A.setAttribute(e,await Ve(t))}catch{}}}(n);try{const A=n.querySelectorAll("style[data-sd]");for(const e of A)o+=e.textContent||"",e.remove()}catch{}const i=function(A){const e=Array.from(new Set(A.values())).filter(Boolean).sort(),t=new Map;let n=1;for(const A of e)t.set(A,"c"+n++);return t}(t.styleMap);r=Array.from(i.entries()).map(([A,e])=>`.${e}{${A}}`).join(""),r=o+r;for(const[A,e]of t.styleMap.entries()){if("STYLE"===A.tagName)continue;if(A.getRootNode&&A.getRootNode()instanceof ShadowRoot){A.setAttribute("style",e.replace(/;/g,"; "));continue}const t=i.get(e);t&&A.classList.add(t);const n=A.style?.backgroundImage,r=A.dataset?.snapdomHasIcon;n&&"none"!==n&&(A.style.backgroundImage=n),r&&(A.style.verticalAlign="middle",A.style.display="inline")}for(const[A,e]of t.nodeMap.entries()){const t=e.scrollLeft,n=e.scrollTop;if((t||n)&&A instanceof HTMLElement){A.style.overflow="hidden",A.style.scrollbarWidth="none",A.style.msOverflowStyle="none";const e=document.createElement("div");for(e.style.transform=`translate(${-t}px, ${-n}px)`,e.style.willChange="transform",e.style.display="inline-block",e.style.width="100%";A.firstChild;)e.appendChild(A.firstChild);A.appendChild(e)}}if(function(A,e){if(!A||!e)return;const t=A.scrollTop||0;if(!t)return;"static"===getComputedStyle(e).position&&(e.style.position="relative");const n=A.getBoundingClientRect(),r=A.clientHeight,o="data-snap-ph",i=document.createTreeWalker(A,NodeFilter.SHOW_ELEMENT);for(;i.nextNode();){const s=i.currentNode,a=getComputedStyle(s),c=a.position;if("sticky"!==c&&"-webkit-sticky"!==c)continue;const l=Ke(a.top),u=Ke(a.bottom);if(null==l&&null==u)continue;const h=Te(e,ke(s,A),o);if(!h)continue;const g=s.getBoundingClientRect(),d=g.width,B=g.height,f=g.left-n.left;if(!(d>0&&B>0))continue;if(!Number.isFinite(f))continue;const w=null!=l?l+t:t+(r-B-u);if(!Number.isFinite(w))continue;const p=Number.parseInt(a.zIndex,10),m=Number.isFinite(p),C=m?Math.max(p,1)+1:2,Q=m?p-1:0,y=h.cloneNode(!1);y.setAttribute(o,"1"),y.style.position="sticky",y.style.left=`${f}px`,y.style.top=`${w}px`,y.style.width=`${d}px`,y.style.height=`${B}px`,y.style.visibility="hidden",y.style.zIndex=String(Q),y.style.overflow="hidden",y.style.background="transparent",y.style.boxShadow="none",y.style.filter="none",h.parentElement?.insertBefore(y,h),h.style.position="absolute",h.style.left=`${f}px`,h.style.top=`${w}px`,h.style.bottom="auto",h.style.zIndex=String(C),h.style.pointerEvents="none"}}(A,n instanceof HTMLElement&&n.firstElementChild instanceof HTMLElement?n.firstElementChild:n),A===t.nodeMap.get(n)){const e=t.styleCache.get(A)||window.getComputedStyle(A);t.styleCache.set(A,e);const r=function(A){if(!A||"none"===A)return"";let e=A.replace(/translate[XY]?\([^)]*\)/g,"");return e=e.replace(/matrix\(([^)]+)\)/g,(A,e)=>{const t=e.split(",").map(A=>A.trim());return 6!==t.length?`matrix(${e})`:(t[4]="0",t[5]="0",`matrix(${t.join(", ")})`)}),e=e.replace(/matrix3d\(([^)]+)\)/g,(A,e)=>{const t=e.split(",").map(A=>A.trim());return 16!==t.length?`matrix3d(${e})`:(t[12]="0",t[13]="0",`matrix3d(${t.join(", ")})`)}),e.trim().replace(/\s{2,}/g," ")}(e.transform);n.style.margin="0",n.style.top="auto",n.style.left="auto",n.style.right="auto",n.style.bottom="auto",n.style.animation="none",n.style.transition="none",n.style.willChange="auto",n.style.float="none",n.style.clear="none",n.style.transform=r||""}for(const[A,e]of t.nodeMap.entries())"PRE"===e.tagName&&(A.style.marginTop="0",A.style.marginBlockStart="0");return{clone:n,classCSS:r,styleCache:t.styleCache}}var Oe=new Map;async function Ve(A){if(QA.resource?.has(A))return QA.resource.get(A);if(Oe.has(A))return Oe.get(A);const e=(async()=>{const e=await IA(A,{as:"dataURL",silent:!0});if(!e.ok||"string"!=typeof e.data)throw new Error(`[snapDOM] Failed to read blob URL: ${A}`);return QA.resource?.set(A,e.data),e.data})();Oe.set(A,e);try{const t=await e;return Oe.set(A,t),t}catch(e){throw Oe.delete(A),e}}var Ne=/\bblob:[^)"'\s]+/g;async function Ge(A){if(!A||-1===A.indexOf("blob:"))return A;const e=Array.from(new Set(A.match(Ne)||[]));if(0===e.length)return A;let t=A;for(const A of e)try{const e=await Ve(A);t=t.split(A).join(e)}catch{}return t}function We(A){return"string"==typeof A&&A.startsWith("blob:")}function _e(A){return(A||"").split(",").map(A=>A.trim()).filter(Boolean).map(A=>{const e=A.match(/^(\S+)(\s+.+)?$/);return e?{url:e[1],desc:e[2]||""}:null}).filter(Boolean)}function Xe(A){return A.map(A=>A.desc?`${A.url} ${A.desc.trim()}`:A.url).join(", ")}function Je(A){if(!A)return()=>{};const e=function(A){const e=getComputedStyle(A);let t=e.getPropertyValue("-webkit-line-clamp")||e.getPropertyValue("line-clamp");t=(t||"").trim();const n=parseInt(t,10);return Number.isFinite(n)&&n>0?n:0}(A);if(e<=0)return()=>{};if(!function(A){return!(A.childElementCount>0)&&Array.from(A.childNodes).some(A=>A.nodeType===Node.TEXT_NODE)}(A))return()=>{};const t=getComputedStyle(A),n=Math.round(function(A){const e=(A.lineHeight||"").trim(),t=parseFloat(A.fontSize)||16;return e&&"normal"!==e?e.endsWith("px")?parseFloat(e):/^\d+(\.\d+)?$/.test(e)?Math.round(parseFloat(e)*t):e.endsWith("%")?Math.round(parseFloat(e)/100*t):Math.round(1.2*t):Math.round(1.2*t)}(t)*e+function(A){return(parseFloat(A.paddingTop)||0)+(parseFloat(A.paddingBottom)||0)}(t)),r=A.textContent??"",o=r;if(A.scrollHeight<=n+.5)return()=>{};let i=0,s=r.length,a=-1;for(;i<=s;){const e=i+s>>1;A.textContent=r.slice(0,e)+"…",A.scrollHeight<=n+.5?(a=e,i=e+1):s=e-1}return A.textContent=(a>=0?r.slice(0,a):"")+"…",()=>{A.textContent=o}}async function Ye(A,e){if(!A)throw new Error("Element cannot be null or undefined");!function(A="soft"){switch(A){case"auto":return QA.session.styleMap=new Map,void(QA.session.nodeMap=new Map);case"soft":default:return QA.session.styleMap=new Map,QA.session.nodeMap=new Map,void(QA.session.styleCache=new WeakMap);case"full":return;case"disabled":QA.session.styleMap=new Map,QA.session.nodeMap=new Map,QA.session.styleCache=new WeakMap,QA.computedStyle=new WeakMap,QA.baseStyle=new Map,QA.defaultStyle=new Map,QA.image=new Map,QA.background=new Map,QA.resource=new Map,QA.font=new Set}}(e.cache);const t=e.fast,n=!!e.straighten,r=!!e.noShadows;let o,i,s,a,c,l="",u="",h=null;const g=Je(A);try{({clone:o,classCSS:i,styleCache:s}=await Pe(A,e)),n&&o&&(h=function(A,e){if(!A||!e||!e.style)return null;const t=getComputedStyle(A);try{e.style.transformOrigin="0 0"}catch{}try{"translate"in e.style&&(e.style.translate="none"),"rotate"in e.style&&(e.style.rotate="none")}catch{}const n=t.transform||"none";if("none"===n)try{const t=Ze(A);if(1===t.a&&0===t.b&&0===t.c&&1===t.d)return e.style.transform="none",{a:1,b:0,c:0,d:1}}catch{}const r=n.match(/^matrix\(\s*([^)]+)\)$/i);if(r){const A=r[1].split(",").map(A=>parseFloat(A.trim()));if(6===A.length&&A.every(Number.isFinite)){const[t,n,r,o]=A,i=Math.sqrt(t*t+n*n)||0;let s=0,a=0,c=0,l=0,u=0,h=0;i>0&&(s=t/i,a=n/i,c=s*r+a*o,l=r-s*c,u=o-a*c,h=Math.sqrt(l*l+u*u)||0,h>0?c/=h:c=0);const g=i,d=0,B=c*h,f=h;try{e.style.transform=`matrix(${g}, ${d}, ${B}, ${f}, 0, 0)`}catch{}return{a:g,b:d,c:B,d:f}}}try{const A=String(n).trim();return e.style.transform=A+" translate(0px, 0px) rotate(0deg)",null}catch{return null}}(A,o)),r&&o&&function(A,e){if(!A||!e||!e.style)return;const t=getComputedStyle(A);try{e.style.boxShadow="none"}catch{}try{e.style.textShadow="none"}catch{}try{e.style.outline="none"}catch{}const n=(t.filter||"").replace(/\bblur\([^()]*\)\s*/gi,"").replace(/\bdrop-shadow\([^()]*\)\s*/gi,"").trim().replace(/\s+/g," ");try{e.style.filter=n.length?n:"none"}catch{}}(A,o)}finally{g()}await new Promise(A=>{NA(async()=>{await async function(A,e={}){const t=Array.from(A.querySelectorAll("img")),n=async A=>{if(!A.getAttribute("src")){const e=A.currentSrc||A.src||"";e&&A.setAttribute("src",e)}A.removeAttribute("srcset"),A.removeAttribute("sizes");const t=A.src||"";if(!t)return;const n=await IA(t,{as:"dataURL",useProxy:e.useProxy});if(n.ok&&"string"==typeof n.data&&n.data.startsWith("data:"))return A.src=n.data,A.width||(A.width=A.naturalWidth||100),void(A.height||(A.height=A.naturalHeight||100));const{fallbackURL:r}=e||{};if(r)try{const n=parseInt(A.dataset?.snapdomWidth||"",10)||0,o=parseInt(A.dataset?.snapdomHeight||"",10)||0,i=parseInt(A.getAttribute("width")||"",10)||0,s=parseInt(A.getAttribute("height")||"",10)||0,a=parseFloat(A.style?.width||"")||0,c=parseFloat(A.style?.height||"")||0,l=n||a||i||A.width||void 0,u=o||c||s||A.height||void 0,h="function"==typeof r?await r({width:l,height:u,src:t,element:A}):r;if(h){const t=await IA(h,{as:"dataURL",useProxy:e.useProxy});return A.src=t.data,!A.width&&l&&(A.width=l),!A.height&&u&&(A.height=u),A.width||(A.width=A.naturalWidth||100),void(A.height||(A.height=A.naturalHeight||100))}}catch{}const o=A.width||A.naturalWidth||100,i=A.height||A.naturalHeight||100;if(!1!==e.placeholders){const e=document.createElement("div");e.style.cssText=[`width:${o}px`,`height:${i}px`,"background:#ccc","display:inline-block","text-align:center",`line-height:${i}px`,"color:#666","font-size:12px","overflow:hidden"].join(";"),e.textContent="img",A.replaceWith(e)}else{const e=document.createElement("div");e.style.cssText=`display:inline-block;width:${o}px;height:${i}px;visibility:hidden;`,A.replaceWith(e)}};for(let A=0;A<t.length;A+=4){const e=t.slice(A,A+4).map(n);await Promise.allSettled(e)}}(o,e),A()},{fast:t})}),await new Promise(n=>{NA(async()=>{await async function(A,e,t,n={}){const r=[[A,e]],o=["background-image","mask","mask-image","-webkit-mask","-webkit-mask-image","mask-source","mask-box-image-source","mask-border-source","-webkit-mask-box-image-source","border-image","border-image-source"],i=["mask-position","mask-size","mask-repeat","-webkit-mask-position","-webkit-mask-size","-webkit-mask-repeat","mask-origin","mask-clip","-webkit-mask-origin","-webkit-mask-clip","-webkit-mask-position-x","-webkit-mask-position-y"],s=["border-image-slice","border-image-width","border-image-outset","border-image-repeat"];for(;r.length;){const[A,e]=r.shift(),a=t.get(A)||PA(A);t.has(A)||t.set(A,a);const c=(()=>{const A=a.getPropertyValue("border-image"),e=a.getPropertyValue("border-image-source");return A&&"none"!==A||e&&"none"!==e})();for(const A of o){const t=a.getPropertyValue(A);if(!t||"none"===t)continue;const r=VA(t),o=await Promise.all(r.map(A=>SA(A,n)));o.some(A=>A&&"none"!==A&&!/^url\(undefined/.test(A))&&e.style.setProperty(A,o.join(", "))}for(const A of i){const t=a.getPropertyValue(A);t&&"initial"!==t&&e.style.setProperty(A,t)}if(c)for(const A of s){const t=a.getPropertyValue(A);t&&"initial"!==t&&e.style.setProperty(A,t)}const l=Array.from(A.children),u=Array.from(e.children);for(let A=0;A<Math.min(l.length,u.length);A++)r.push([l[A],u[A]])}}(A,o,s,e),n()},{fast:t})}),e.embedFonts&&await new Promise(n=>{NA(async()=>{const t=Fe(A),r=function(A){const e=new Set,t=A=>{if(A)for(const t of A)e.add(t.codePointAt(0))},n=document.createTreeWalker(A,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,null);for(;n.nextNode();){const A=n.currentNode;if(A.nodeType===Node.TEXT_NODE)t(A.nodeValue||"");else if(A.nodeType===Node.ELEMENT_NODE){const n=A;for(const A of["::before","::after"]){const r=getComputedStyle(n,A),o=r?.getPropertyValue("content");if(o&&"none"!==o)if(/^"/.test(o)||/^'/.test(o))t(o.slice(1,-1));else{const A=o.match(/\\[0-9A-Fa-f]{1,6}/g);if(A)for(const t of A)try{e.add(parseInt(t.slice(1),16))}catch{}}}}}return e}(A);if(GA()){const A=new Set(Array.from(t).map(A=>String(A).split("__")[0]).filter(Boolean));await async function(A,e=2){try{await document.fonts.ready}catch{}const t=Array.from(A||[]).filter(Boolean);if(0===t.length)return;const n=()=>{const A=document.createElement("div");A.style.cssText="position:absolute!important;left:-9999px!important;top:0!important;opacity:0!important;pointer-events:none!important;contain:layout size style;";for(const e of t){const t=document.createElement("span");t.textContent="AaBbGg1234ÁÉÍÓÚçñ—∞",t.style.fontFamily=`"${e}"`,t.style.fontWeight="700",t.style.fontStyle="italic",t.style.fontSize="32px",t.style.lineHeight="1",t.style.whiteSpace="nowrap",t.style.margin="0",t.style.padding="0",A.appendChild(t)}document.body.appendChild(A),A.offsetWidth,document.body.removeChild(A)};for(let A=0;A<Math.max(1,e);A++)n(),await new Promise(A=>requestAnimationFrame(()=>requestAnimationFrame(A)))}(A,1)}l=await Ue({required:t,usedCodepoints:r,exclude:e.excludeFonts,useProxy:e.useProxy}),n()},{fast:t})});const d=function(A){const e=new Set;return A.nodeType!==Node.ELEMENT_NODE&&A.nodeType!==Node.DOCUMENT_FRAGMENT_NODE?[]:(A.tagName&&e.add(A.tagName.toLowerCase()),"function"==typeof A.querySelectorAll&&A.querySelectorAll("*").forEach(A=>e.add(A.tagName.toLowerCase())),Array.from(e))}(o).sort(),B=d.join(",");QA.baseStyle.has(B)?u=QA.baseStyle.get(B):await new Promise(A=>{NA(()=>{u=function(A){const e=new Map;for(let t of A){const A=QA.defaultStyle.get(t);if(!A)continue;const n=Object.entries(A).map(([A,e])=>`${A}:${e};`).sort().join("");n&&(e.has(n)||e.set(n,[]),e.get(n).push(t))}let t="";for(let[A,n]of e.entries())t+=`${n.join(",")} { ${A} }\n`;return t}(d),QA.baseStyle.set(B,u),A()},{fast:t})}),await new Promise(s=>{NA(()=>{const t=getComputedStyle(A);const g=A.getBoundingClientRect(),d=Math.max(1,Math.ceil(A.offsetWidth||parseFloat(t.width)||g.width||1)),B=Math.max(1,Math.ceil(A.offsetHeight||parseFloat(t.height)||g.height||1)),f=(A,e=NaN)=>{const t="string"==typeof A?parseFloat(A):A;return Number.isFinite(t)?t:e},w=f(e.width),p=f(e.height);let m=d,C=B;const Q=Number.isFinite(w),y=Number.isFinite(p),U=B>0?d/B:1;Q&&y?(m=Math.max(1,Math.ceil(w)),C=Math.max(1,Math.ceil(p))):Q?(m=Math.max(1,Math.ceil(w)),C=Math.max(1,Math.ceil(m/(U||1)))):y?(C=Math.max(1,Math.ceil(p)),m=Math.max(1,Math.ceil(C*(U||1)))):(m=d,C=B);let F=0,b=0,v=d,E=B;if(n&&h&&Number.isFinite(h.a)){const A=$e(d,B,{a:h.a,b:h.b||0,c:h.c||0,d:h.d||1,e:0,f:0},0,0);F=A.minX,b=A.minY,v=A.maxX,E=A.maxY}else{if(!n&&function(A){const e=getComputedStyle(A),t=e.transform||"none";if("none"!==t&&!/^matrix\(\s*1\s*,\s*0\s*,\s*0\s*,\s*1\s*,\s*0\s*,\s*0\s*\)$/i.test(t))return!0;const n=e.rotate&&"none"!==e.rotate&&"0deg"!==e.rotate,r=e.scale&&"none"!==e.scale&&"1"!==e.scale,o=e.translate&&"none"!==e.translate&&"0px 0px"!==e.translate;return Boolean(n||r||o)}(A)){const e=t.transform&&"none"!==t.transform?t.transform:"",n=function(A){const e={rotate:"0deg",scale:null,translate:null},t="function"==typeof A.computedStyleMap?A.computedStyleMap():null;if(t){const n=A=>{try{return"function"!=typeof t.has||t.has(A)?"function"!=typeof t.get?null:t.get(A):null}catch{return null}},r=n("rotate");if(r)if(r.angle){const A=r.angle;e.rotate="rad"===A.unit?180*A.value/Math.PI+"deg":A.value+A.unit}else r.unit?e.rotate="rad"===r.unit?180*r.value/Math.PI+"deg":r.value+r.unit:e.rotate=String(r);else{const t=getComputedStyle(A);e.rotate=t.rotate&&"none"!==t.rotate?t.rotate:"0deg"}const o=n("scale");if(o){const A="x"in o&&null!=o.x?.value?o.x.value:Array.isArray(o)?o[0]?.value:Number(o)||1,t="y"in o&&null!=o.y?.value?o.y.value:Array.isArray(o)?o[1]?.value:A;e.scale=`${A} ${t}`}else{const t=getComputedStyle(A);e.scale=t.scale&&"none"!==t.scale?t.scale:null}const i=n("translate");if(i){const A="x"in i&&"value"in i.x?i.x.value:Array.isArray(i)?i[0]?.value:0,t="y"in i&&"value"in i.y?i.y.value:Array.isArray(i)?i[1]?.value:0,n="x"in i&&i.x?.unit?i.x.unit:"px",r="y"in i&&i.y?.unit?i.y.unit:"px";e.translate=`${A}${n} ${t}${r}`}else{const t=getComputedStyle(A);e.translate=t.translate&&"none"!==t.translate?t.translate:null}return e}const n=getComputedStyle(A);return e.rotate=n.rotate&&"none"!==n.rotate?n.rotate:"0deg",e.scale=n.scale&&"none"!==n.scale?n.scale:null,e.translate=n.translate&&"none"!==n.translate?n.translate:null,e}(A),r=function(A){const e=function(){if(ze)return ze;const A=document.createElement("div");return A.id="snapdom-measure-slot",A.setAttribute("aria-hidden","true"),Object.assign(A.style,{position:"absolute",left:"-99999px",top:"0px",width:"0px",height:"0px",overflow:"hidden",opacity:"0",pointerEvents:"none",contain:"size layout style"}),document.documentElement.appendChild(A),ze=A,A}(),t=document.createElement("div");t.style.transformOrigin="0 0",A.baseTransform&&(t.style.transform=A.baseTransform);A.rotate&&(t.style.rotate=A.rotate);A.scale&&(t.style.scale=A.scale);A.translate&&(t.style.translate=A.translate);e.appendChild(t);const n=Ze(t);return e.removeChild(t),n}({baseTransform:e,rotate:n.rotate||"0deg",scale:n.scale,translate:n.translate}),{ox:o,oy:i}=function(A,e,t){const n=(A.transformOrigin||"0 0").trim().split(/\s+/),[r,o]=[n[0]||"0",n[1]||"0"],i=(A,e)=>{const t=A.toLowerCase();return"left"===t||"top"===t?0:"center"===t?e/2:"right"===t||"bottom"===t?e:t.endsWith("px")?parseFloat(t)||0:t.endsWith("%")?(parseFloat(t)||0)*e/100:/^-?\d+(\.\d+)?$/.test(t)&&parseFloat(t)||0};return{ox:i(r,e),oy:i(o,t)}}(t,d,B),s=$e(d,B,r.is2D?r:new DOMMatrix(r.toString()),o,i);F=s.minX,b=s.minY,v=s.maxX,E=s.maxY}}const H=function(A){const e=A.boxShadow||"";if(!e||"none"===e)return{top:0,right:0,bottom:0,left:0};const t=e.split(/\),(?=(?:[^()]*\([^()]*\))*[^()]*$)/).map(A=>A.trim());let n=0,r=0,o=0,i=0;for(const A of t){const e=A.match(/-?\d+(\.\d+)?px/g)?.map(A=>parseFloat(A))||[];if(e.length<2)continue;const[t,s,a=0,c=0]=e,l=Math.abs(t)+a+c,u=Math.abs(s)+a+c;r=Math.max(r,l+Math.max(t,0)),i=Math.max(i,l+Math.max(-t,0)),o=Math.max(o,u+Math.max(s,0)),n=Math.max(n,u+Math.max(-s,0))}return{top:Math.ceil(n),right:Math.ceil(r),bottom:Math.ceil(o),left:Math.ceil(i)}}(t),I=function(A){const e=(A.filter||"").match(/blur\(\s*([0-9.]+)px\s*\)/),t=e?Math.ceil(parseFloat(e[1])||0):0;return{top:t,right:t,bottom:t,left:t}}(t),x=function(A){if("none"===(A.outlineStyle||"none"))return{top:0,right:0,bottom:0,left:0};const e=Math.ceil(parseFloat(A.outlineWidth||"0")||0);return{top:e,right:e,bottom:e,left:e}}(t),S=function(A){const e=`${A.filter||""} ${A.webkitFilter||""}`.trim();if(!e||"none"===e)return{bleed:{top:0,right:0,bottom:0,left:0},has:!1};const t=e.match(/drop-shadow\((?:[^()]|\([^()]*\))*\)/gi)||[];let n=0,r=0,o=0,i=0,s=!1;for(const A of t){s=!0;const e=A.match(/-?\d+(?:\.\d+)?px/gi)?.map(A=>parseFloat(A))||[],[t=0,a=0,c=0]=e,l=Math.abs(t)+c,u=Math.abs(a)+c;r=Math.max(r,l+Math.max(t,0)),i=Math.max(i,l+Math.max(-t,0)),o=Math.max(o,u+Math.max(a,0)),n=Math.max(n,u+Math.max(-a,0))}return{bleed:{top:Math.ceil(n),right:Math.ceil(r),bottom:Math.ceil(o),left:Math.ceil(i)},has:s}}(t),L=r?{top:0,right:0,bottom:0,left:0}:{top:H.top+I.top+x.top+S.bleed.top,right:H.right+I.right+x.right+S.bleed.right,bottom:H.bottom+I.bottom+x.bottom+S.bleed.bottom,left:H.left+I.left+x.left+S.bleed.left};F-=L.left,b-=L.top,v+=L.right,E+=L.bottom;const D=Math.max(1,Math.ceil(v-F)),M=Math.max(1,Math.ceil(E-b)),K=Math.max(1,Math.round(D*(Q||y?m/d:1))),k=Math.max(1,Math.round(M*(y||Q?C/B:1))),T="http://www.w3.org/2000/svg",R=(GA()?1:0)+(n?1:0),P=document.createElementNS(T,"foreignObject"),O=Math.floor(F),V=Math.floor(b);P.setAttribute("x",String(-(O-R))),P.setAttribute("y",String(-(V-R))),P.setAttribute("width",String(Math.ceil(d+2*R))),P.setAttribute("height",String(Math.ceil(B+2*R))),P.style.overflow="visible";const N=document.createElement("style");N.textContent=u+l+"svg{overflow:visible;} foreignObject{overflow:visible;}"+i,P.appendChild(N);const G=document.createElement("div");G.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),G.style.width=`${d}px`,G.style.height=`${B}px`,G.style.overflow="visible",o.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),G.appendChild(o),P.appendChild(G);const W=(new XMLSerializer).serializeToString(P),_=D+2*R,X=M+2*R,J=Q||y;e.meta={w0:d,h0:B,vbW:_,vbH:X,targetW:m,targetH:C};const Y=GA()&&J?_:K+2*R,$=GA()&&J?X:k+2*R;c=`<svg xmlns="${T}" width="${Y}" height="${$}" viewBox="0 0 ${_} ${X}">`+W+"</svg>",a=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(c)}`,s()},{fast:t})});const f=document.getElementById("snapdom-sandbox");return f&&"absolute"===f.style.position&&f.remove(),a}function $e(A,e,t,n,r){const o=t.a,i=t.b,s=t.c,a=t.d,c=t.e||0,l=t.f||0;function u(A,e){let t=A-n,u=e-r,h=o*t+s*u,g=i*t+a*u;return h+=n+c,g+=r+l,[h,g]}const h=[u(0,0),u(A,0),u(0,e),u(A,e)];let g=1/0,d=1/0,B=-1/0,f=-1/0;for(const[A,e]of h)A<g&&(g=A),e<d&&(d=e),A>B&&(B=A),e>f&&(f=e);return{minX:g,minY:d,maxX:B,maxY:f,width:B-g,height:f-d}}function Ze(A){const e=getComputedStyle(A).transform;if(!e||"none"===e)return new DOMMatrix;try{return new DOMMatrix(e)}catch{return new WebKitCSSMatrix(e)}}var ze=null;function je(A){const e=function(A){let e=[],t="",n=0;for(let r=0;r<A.length;r++){const o=A[r];"("===o&&n++,")"===o&&(n=Math.max(0,n-1)),";"===o&&0===n?(e.push(t),t=""):t+=o}return t.trim()&&e.push(t),e.map(A=>A.trim()).filter(Boolean)}(A);let t=null,n=null,r=null;const o=[];for(const A of e){const e=A.indexOf(":");if(e<0)continue;const i=A.slice(0,e).trim().toLowerCase(),s=A.slice(e+1).trim();"box-shadow"===i?r=s:"filter"===i?t=s:"-webkit-filter"===i?n=s:o.push([i,s])}if(r){const A=function(A){const e=[];let t="",n=0;for(let r=0;r<A.length;r++){const o=A[r];"("===o&&n++,")"===o&&(n=Math.max(0,n-1)),","===o&&0===n?(e.push(t.trim()),t=""):t+=o}t.trim()&&e.push(t.trim());const r=[];for(const A of e){if(/\binset\b/i.test(A))continue;const e=A.match(/-?\d+(?:\.\d+)?px/gi)||[],[t="0px",n="0px",o="0px"]=e;let i=A.replace(/-?\d+(?:\.\d+)?px/gi,"").replace(/\binset\b/gi,"").trim().replace(/\s{2,}/g," ");const s=!!i&&","!==i;r.push(`drop-shadow(${t} ${n} ${o}${s?` ${i}`:""})`)}return r.join(" ")}(r);A&&(t=t?`${t} ${A}`:A,n=n?`${n} ${A}`:A)}const i=[...o];return t&&i.push(["filter",t]),n&&i.push(["-webkit-filter",n]),i.map(([A,e])=>`${A}:${e}`).join(";")}function qe(A){return A=(A=A.replace(/<style[^>]*>([\s\S]*?)<\/style>/gi,(A,e)=>A.replace(e,function(A){return A.replace(/([^{}]+)\{([^}]*)\}/g,(A,e,t)=>`${e}{${je(t)}}`)}(e)))).replace(/style=(['"])([\s\S]*?)\1/gi,(A,e,t)=>`style=${e}${je(t)}${e}`)}function At(A){if(!GA()||("string"!=typeof(e=A)||!/^data:image\/svg\+xml/i.test(e)))return A;var e;try{const e=function(A){const e=A.indexOf(",");return e>=0?decodeURIComponent(A.slice(e+1)):""}(A),t=qe(e);return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(t)}`}catch{return A}}async function et(A,e){let{width:t,height:n,scale:r=1,dpr:o=1,meta:i={}}=e;A=At(A);const s=new Image;s.loading="eager",s.decoding="sync",s.crossOrigin="anonymous",s.src=A,await s.decode();const a=s.naturalWidth,c=s.naturalHeight,l=Number.isFinite(i.w0)?i.w0:a,u=Number.isFinite(i.h0)?i.h0:c;let h,g;const d=Number.isFinite(t),B=Number.isFinite(n);if(d&&B)h=Math.max(1,t),g=Math.max(1,n);else if(d){const A=t/Math.max(1,l);h=t,g=Math.round(u*A)}else if(B){const A=n/Math.max(1,u);g=n,h=Math.round(l*A)}else h=a,g=c;h=Math.round(h*r),g=Math.round(g*r);const f=document.createElement("canvas");f.width=Math.ceil(h*o),f.height=Math.ceil(g*o),f.style.width=`${h}px`,f.style.height=`${g}px`;const w=f.getContext("2d");return 1!==o&&w.scale(o,o),w.drawImage(s,0,0,h,g),f}async function tt(A,e){const t=await et(A,e),n=e.backgroundColor?xA(t,e.backgroundColor):t,r=new Image;return r.src=n.toDataURL(`image/${e.format}`,e.quality),await r.decode(),r.style.width=n.width/e.dpr+"px",r.style.height=n.height/e.dpr+"px",r}async function nt(A,e){const{scale:t=1,width:n,height:r,meta:o={}}=e,i=Number.isFinite(n),s=Number.isFinite(r),a=Number.isFinite(t)&&1!==t||i||s;if(GA()&&a){return await tt(A,{...e,format:"png",quality:1,meta:o})}const c=new Image;if(c.decoding="sync",c.loading="eager",c.src=A,await c.decode(),i&&s)c.style.width=`${n}px`,c.style.height=`${r}px`;else if(i){const A=Number.isFinite(o.w0)?o.w0:c.naturalWidth,e=Number.isFinite(o.h0)?o.h0:c.naturalHeight,t=n/Math.max(1,A);c.style.width=`${n}px`,c.style.height=`${Math.round(e*t)}px`}else if(s){const A=Number.isFinite(o.w0)?o.w0:c.naturalWidth,e=Number.isFinite(o.h0)?o.h0:c.naturalHeight,t=r/Math.max(1,e);c.style.height=`${r}px`,c.style.width=`${Math.round(A*t)}px`}else{const e=Math.round(c.naturalWidth*t),n=Math.round(c.naturalHeight*t);if(c.style.width=`${e}px`,c.style.height=`${n}px`,"string"==typeof A&&A.startsWith("data:image/svg+xml"))try{const t=decodeURIComponent(A.split(",")[1]).replace(/width="[^"]*"/,`width="${e}"`).replace(/height="[^"]*"/,`height="${n}"`);A=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(t)}`,c.src=A}catch{}}return c}async function rt(A,e){const t=e.type;if("svg"===t){const e=decodeURIComponent(A.split(",")[1]);return new Blob([e],{type:"image/svg+xml"})}const n=await et(A,e),r=e.backgroundColor?xA(n,e.backgroundColor):n;return new Promise(A=>r.toBlob(e=>A(e),`image/${t}`,e.quality))}var ot=Symbol("snapdom.internal"),it=!1;async function st(A,e){if(!A)throw new Error("Element cannot be null or undefined");const t=function(A={}){const e=A.format??"png",t=function(A){if("string"==typeof A){const e=A.toLowerCase().trim();if("disabled"===e||"full"===e||"auto"===e||"soft"===e)return e}return"soft"}(A.cache);return{debug:A.debug??!1,fast:A.fast??!0,scale:A.scale??1,exclude:A.exclude??[],excludeMode:A.excludeMode??"hide",filter:A.filter??null,filterMode:A.filterMode??"hide",placeholders:!1!==A.placeholders,embedFonts:A.embedFonts??!1,iconFonts:Array.isArray(A.iconFonts)?A.iconFonts:A.iconFonts?[A.iconFonts]:[],localFonts:Array.isArray(A.localFonts)?A.localFonts:[],excludeFonts:A.excludeFonts??void 0,fallbackURL:A.fallbackURL??void 0,cache:t,useProxy:"string"==typeof A.useProxy?A.useProxy:"",width:A.width??null,height:A.height??null,format:e,type:A.type??"svg",quality:A.quality??.92,dpr:A.dpr??(window.devicePixelRatio||1),backgroundColor:A.backgroundColor??(["jpg","jpeg","webp"].includes(e)?"#ffffff":null),filename:A.filename??"snapDOM",straighten:A.straighten??!1,noShadows:A.noShadows??!1}}(e);if(GA()&&(!0===t.embedFonts||function(A){const e=document.createTreeWalker(A,NodeFilter.SHOW_ELEMENT);for(;e.nextNode();){const A=e.currentNode,t=getComputedStyle(A),n=t.backgroundImage&&"none"!==t.backgroundImage,r=t.maskImage&&"none"!==t.maskImage||t.webkitMaskImage&&"none"!==t.webkitMaskImage;if(n||r)return!0}return!1}(A)))for(let t=0;t<3;t++)try{await at(A,e),console.log("Iteración número:",t),it=!1}catch{}return t.iconFonts&&t.iconFonts.length>0&&function(A){const e=Array.isArray(A)?A:[A];for(const A of e)A instanceof RegExp?re.push(A):"string"==typeof A?re.push(new RegExp(A,"i")):console.warn("[snapdom] Ignored invalid iconFont value:",A)}(t.iconFonts),t.snap||(t.snap={toPng:(A,e)=>st.toPng(A,e),toSvg:(A,e)=>st.toSvg(A,e)}),st.capture(A,t,ot)}async function at(A,e){if(it)return;const t={...e,fast:!0,embedFonts:!0,scale:.2};let n;try{n=await Ye(A,t)}catch{return}await new Promise(A=>{const e=new Image;e.decoding="sync",e.loading="eager",e.style.position="fixed",e.style.left=0,e.style.top=0,e.style.width="10px",e.style.height="10px",e.style.opacity="0.01",e.style.transform="translateZ(10px)",e.style.willChange="transform,opacity;",e.src=n;document.body.appendChild(e),(async()=>{await new Promise(A=>setTimeout(A,100)),e&&e.parentNode&&e.parentNode.removeChild(e),it=!0,A()})()})}st.capture=async(A,e,t)=>{if(t!==ot)throw new Error("[snapdom.capture] is internal. Use snapdom(...) instead.");const n=await Ye(A,e),r=A=>({...e,...A||{}}),o=A=>e=>{const t=r({...e||{},format:A}),o="jpeg"===A||"jpg"===A,i=null==t.backgroundColor||"transparent"===t.backgroundColor;return o&&i&&(t.backgroundColor="#ffffff"),tt(n,t)};return{url:n,toRaw:()=>n,toImg:A=>nt(n,r(A)),toSvg:A=>nt(n,r(A)),toCanvas:A=>et(n,r(A)),toBlob:A=>rt(n,r(A)),toPng:o("png"),toJpg:o("jpeg"),toWebp:o("webp"),download:A=>async function(A,e){if(e.dpr=1,"svg"===e.format){const t=await rt(A,{...e,type:"svg"}),n=URL.createObjectURL(t),r=document.createElement("a");return r.href=n,r.download=e.filename,r.click(),void URL.revokeObjectURL(n)}const t=await et(A,e),n=e.backgroundColor?xA(t,e.backgroundColor):t,r=document.createElement("a");r.href=n.toDataURL(`image/${e.format}`,e.quality),r.download=e.filename,r.click()}(n,r(A))}},st.toRaw=(A,e)=>st(A,e).then(A=>A.toRaw()),st.toImg=(A,e)=>st(A,e).then(A=>A.toImg()),st.toSvg=(A,e)=>st(A,e).then(A=>A.toSvg()),st.toCanvas=(A,e)=>st(A,e).then(A=>A.toCanvas()),st.toBlob=(A,e)=>st(A,e).then(A=>A.toBlob()),st.toPng=(A,e)=>st(A,{...e,format:"png"}).then(A=>A.toPng()),st.toJpg=(A,e)=>st(A,{...e,format:"jpeg"}).then(A=>A.toJpg()),st.toWebp=(A,e)=>st(A,{...e,format:"webp"}).then(A=>A.toWebp()),st.download=(A,e)=>st(A,e).then(A=>A.download());var ct="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function lt(A){return A&&A.__esModule&&Object.prototype.hasOwnProperty.call(A,"default")?A.default:A}function ut(A){if(A.__esModule)return A;var e=A.default;if("function"==typeof e){var t=function A(){return this instanceof A?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};t.prototype=e.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(A).forEach(function(e){var n=Object.getOwnPropertyDescriptor(A,e);Object.defineProperty(t,e,n.get?n:{enumerable:!0,get:function(){return A[e]}})}),t}var ht={exports:{}};
2
2
  /*!
3
3
  * html2canvas 1.4.1 <https://html2canvas.hertzen.com>
4
4
  * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com>
@@ -18,13 +18,13 @@
18
18
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19
19
  PERFORMANCE OF THIS SOFTWARE.
20
20
  ***************************************************************************** */
21
- var A=function(e,t){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(A,e){A.__proto__=e}||function(A,e){for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(A[t]=e[t])},A(e,t)};function e(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}A(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var t=function(){return t=Object.assign||function(A){for(var e,t=1,n=arguments.length;t<n;t++)for(var r in e=arguments[t])Object.prototype.hasOwnProperty.call(e,r)&&(A[r]=e[r]);return A},t.apply(this,arguments)};function n(A,e,t,n){function r(A){return A instanceof t?A:new t(function(e){e(A)})}return new(t||(t=Promise))(function(e,t){function o(A){try{s(n.next(A))}catch(A){t(A)}}function i(A){try{s(n.throw(A))}catch(A){t(A)}}function s(A){A.done?e(A.value):r(A.value).then(o,i)}s((n=n.apply(A,[])).next())})}function r(A,e){var t,n,r,o,i={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(A){return function(e){return a([A,e])}}function a(o){if(t)throw new TypeError("Generator is already executing.");for(;i;)try{if(t=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,n=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!((r=(r=i.trys).length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){i=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){i.label=o[1];break}if(6===o[0]&&i.label<r[1]){i.label=r[1],r=o;break}if(r&&i.label<r[2]){i.label=r[2],i.ops.push(o);break}r[2]&&i.ops.pop(),i.trys.pop();continue}o=e.call(A,i)}catch(A){o=[6,A],n=0}finally{t=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}}function o(A,e,t){if(2===arguments.length)for(var n,r=0,o=e.length;r<o;r++)!n&&r in e||(n||(n=Array.prototype.slice.call(e,0,r)),n[r]=e[r]);return A.concat(n||e)}for(var i=function(){function A(A,e,t,n){this.left=A,this.top=e,this.width=t,this.height=n}return A.prototype.add=function(e,t,n,r){return new A(this.left+e,this.top+t,this.width+n,this.height+r)},A.fromClientRect=function(e,t){return new A(t.left+e.windowBounds.left,t.top+e.windowBounds.top,t.width,t.height)},A.fromDOMRectList=function(e,t){var n=Array.from(t).find(function(A){return 0!==A.width});return n?new A(n.left+e.windowBounds.left,n.top+e.windowBounds.top,n.width,n.height):A.EMPTY},A.EMPTY=new A(0,0,0,0),A}(),s=function(A,e){return i.fromClientRect(A,e.getBoundingClientRect())},a=function(A){var e=A.body,t=A.documentElement;if(!e||!t)throw new Error("Unable to get document size");var n=Math.max(Math.max(e.scrollWidth,t.scrollWidth),Math.max(e.offsetWidth,t.offsetWidth),Math.max(e.clientWidth,t.clientWidth)),r=Math.max(Math.max(e.scrollHeight,t.scrollHeight),Math.max(e.offsetHeight,t.offsetHeight),Math.max(e.clientHeight,t.clientHeight));return new i(0,0,n,r)},c=function(A){for(var e=[],t=0,n=A.length;t<n;){var r=A.charCodeAt(t++);if(r>=55296&&r<=56319&&t<n){var o=A.charCodeAt(t++);56320==(64512&o)?e.push(((1023&r)<<10)+(1023&o)+65536):(e.push(r),t--)}else e.push(r)}return e},l=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];if(String.fromCodePoint)return String.fromCodePoint.apply(String,A);var t=A.length;if(!t)return"";for(var n=[],r=-1,o="";++r<t;){var i=A[r];i<=65535?n.push(i):(i-=65536,n.push(55296+(i>>10),i%1024+56320)),(r+1===t||n.length>16384)&&(o+=String.fromCharCode.apply(String,n),n.length=0)}return o},u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",h="undefined"==typeof Uint8Array?[]:new Uint8Array(256),g=0;g<u.length;g++)h[u.charCodeAt(g)]=g;for(var d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",B="undefined"==typeof Uint8Array?[]:new Uint8Array(256),f=0;f<d.length;f++)B[d.charCodeAt(f)]=f;for(var w=function(A){var e,t,n,r,o,i=.75*A.length,s=A.length,a=0;"="===A[A.length-1]&&(i--,"="===A[A.length-2]&&i--);var c="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(i):new Array(i),l=Array.isArray(c)?c:new Uint8Array(c);for(e=0;e<s;e+=4)t=B[A.charCodeAt(e)],n=B[A.charCodeAt(e+1)],r=B[A.charCodeAt(e+2)],o=B[A.charCodeAt(e+3)],l[a++]=t<<2|n>>4,l[a++]=(15&n)<<4|r>>2,l[a++]=(3&r)<<6|63&o;return c},p=function(A){for(var e=A.length,t=[],n=0;n<e;n+=2)t.push(A[n+1]<<8|A[n]);return t},m=function(A){for(var e=A.length,t=[],n=0;n<e;n+=4)t.push(A[n+3]<<24|A[n+2]<<16|A[n+1]<<8|A[n]);return t},C=5,Q=11,y=2,U=65536>>C,F=(1<<C)-1,b=U+(1024>>C)+32,v=65536>>Q,E=(1<<Q-C)-1,H=function(A,e,t){return A.slice?A.slice(e,t):new Uint16Array(Array.prototype.slice.call(A,e,t))},I=function(A,e,t){return A.slice?A.slice(e,t):new Uint32Array(Array.prototype.slice.call(A,e,t))},x=function(A,e){var t=w(A),n=Array.isArray(t)?m(t):new Uint32Array(t),r=Array.isArray(t)?p(t):new Uint16Array(t),o=24,i=H(r,o/2,n[4]/2),s=2===n[5]?H(r,(o+n[4])/2):I(n,Math.ceil((o+n[4])/4));return new S(n[0],n[1],n[2],n[3],i,s)},S=function(){function A(A,e,t,n,r,o){this.initialValue=A,this.errorValue=e,this.highStart=t,this.highValueIndex=n,this.index=r,this.data=o}return A.prototype.get=function(A){var e;if(A>=0){if(A<55296||A>56319&&A<=65535)return e=((e=this.index[A>>C])<<y)+(A&F),this.data[e];if(A<=65535)return e=((e=this.index[U+(A-55296>>C)])<<y)+(A&F),this.data[e];if(A<this.highStart)return e=b-v+(A>>Q),e=this.index[e],e+=A>>C&E,e=((e=this.index[e])<<y)+(A&F),this.data[e];if(A<=1114111)return this.data[this.highValueIndex]}return this.errorValue},A}(),L="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",M="undefined"==typeof Uint8Array?[]:new Uint8Array(256),D=0;D<L.length;D++)M[L.charCodeAt(D)]=D;var k=50,K=1,T=2,R=3,P=4,O=5,V=7,N=8,G=9,W=10,_=11,X=12,J=13,Y=14,$=15,Z=16,z=17,j=18,q=19,AA=20,eA=21,tA=22,nA=23,rA=24,oA=25,iA=26,sA=27,aA=28,cA=29,lA=30,uA=31,hA=32,gA=33,dA=34,BA=35,fA=36,wA=37,pA=38,mA=39,CA=40,QA=41,yA=42,UA=43,FA=[9001,65288],bA="!",vA="×",EA="÷",HA=x("KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA=="),IA=[lA,fA],xA=[K,T,R,O],SA=[W,N],LA=[sA,iA],MA=xA.concat(SA),DA=[pA,mA,CA,dA,BA],kA=[$,J],KA=function(A,e){void 0===e&&(e="strict");var t=[],n=[],r=[];return A.forEach(function(A,o){var i=HA.get(A);if(i>k?(r.push(!0),i-=k):r.push(!1),-1!==["normal","auto","loose"].indexOf(e)&&-1!==[8208,8211,12316,12448].indexOf(A))return n.push(o),t.push(Z);if(i===P||i===_){if(0===o)return n.push(o),t.push(lA);var s=t[o-1];return-1===MA.indexOf(s)?(n.push(n[o-1]),t.push(s)):(n.push(o),t.push(lA))}return n.push(o),i===uA?t.push("strict"===e?eA:wA):i===yA||i===cA?t.push(lA):i===UA?A>=131072&&A<=196605||A>=196608&&A<=262141?t.push(wA):t.push(lA):void t.push(i)}),[n,t,r]},TA=function(A,e,t,n){var r=n[t];if(Array.isArray(A)?-1!==A.indexOf(r):A===r)for(var o=t;o<=n.length;){if((a=n[++o])===e)return!0;if(a!==W)break}if(r===W)for(o=t;o>0;){var i=n[--o];if(Array.isArray(A)?-1!==A.indexOf(i):A===i)for(var s=t;s<=n.length;){var a;if((a=n[++s])===e)return!0;if(a!==W)break}if(i!==W)break}return!1},RA=function(A,e){for(var t=A;t>=0;){var n=e[t];if(n!==W)return n;t--}return 0},PA=function(A,e,t,n,r){if(0===t[n])return vA;var o=n-1;if(Array.isArray(r)&&!0===r[o])return vA;var i=o-1,s=o+1,a=e[o],c=i>=0?e[i]:0,l=e[s];if(a===T&&l===R)return vA;if(-1!==xA.indexOf(a))return bA;if(-1!==xA.indexOf(l))return vA;if(-1!==SA.indexOf(l))return vA;if(RA(o,e)===N)return EA;if(HA.get(A[o])===_)return vA;if((a===hA||a===gA)&&HA.get(A[s])===_)return vA;if(a===V||l===V)return vA;if(a===G)return vA;if(-1===[W,J,$].indexOf(a)&&l===G)return vA;if(-1!==[z,j,q,rA,aA].indexOf(l))return vA;if(RA(o,e)===tA)return vA;if(TA(nA,tA,o,e))return vA;if(TA([z,j],eA,o,e))return vA;if(TA(X,X,o,e))return vA;if(a===W)return EA;if(a===nA||l===nA)return vA;if(l===Z||a===Z)return EA;if(-1!==[J,$,eA].indexOf(l)||a===Y)return vA;if(c===fA&&-1!==kA.indexOf(a))return vA;if(a===aA&&l===fA)return vA;if(l===AA)return vA;if(-1!==IA.indexOf(l)&&a===oA||-1!==IA.indexOf(a)&&l===oA)return vA;if(a===sA&&-1!==[wA,hA,gA].indexOf(l)||-1!==[wA,hA,gA].indexOf(a)&&l===iA)return vA;if(-1!==IA.indexOf(a)&&-1!==LA.indexOf(l)||-1!==LA.indexOf(a)&&-1!==IA.indexOf(l))return vA;if(-1!==[sA,iA].indexOf(a)&&(l===oA||-1!==[tA,$].indexOf(l)&&e[s+1]===oA)||-1!==[tA,$].indexOf(a)&&l===oA||a===oA&&-1!==[oA,aA,rA].indexOf(l))return vA;if(-1!==[oA,aA,rA,z,j].indexOf(l))for(var u=o;u>=0;){if((h=e[u])===oA)return vA;if(-1===[aA,rA].indexOf(h))break;u--}if(-1!==[sA,iA].indexOf(l))for(u=-1!==[z,j].indexOf(a)?i:o;u>=0;){var h;if((h=e[u])===oA)return vA;if(-1===[aA,rA].indexOf(h))break;u--}if(pA===a&&-1!==[pA,mA,dA,BA].indexOf(l)||-1!==[mA,dA].indexOf(a)&&-1!==[mA,CA].indexOf(l)||-1!==[CA,BA].indexOf(a)&&l===CA)return vA;if(-1!==DA.indexOf(a)&&-1!==[AA,iA].indexOf(l)||-1!==DA.indexOf(l)&&a===sA)return vA;if(-1!==IA.indexOf(a)&&-1!==IA.indexOf(l))return vA;if(a===rA&&-1!==IA.indexOf(l))return vA;if(-1!==IA.concat(oA).indexOf(a)&&l===tA&&-1===FA.indexOf(A[s])||-1!==IA.concat(oA).indexOf(l)&&a===j)return vA;if(a===QA&&l===QA){for(var g=t[o],d=1;g>0&&e[--g]===QA;)d++;if(d%2!=0)return vA}return a===hA&&l===gA?vA:EA},OA=function(A,e){e||(e={lineBreak:"normal",wordBreak:"normal"});var t=KA(A,e.lineBreak),n=t[0],r=t[1],o=t[2];"break-all"!==e.wordBreak&&"break-word"!==e.wordBreak||(r=r.map(function(A){return-1!==[oA,lA,yA].indexOf(A)?wA:A}));var i="keep-all"===e.wordBreak?o.map(function(e,t){return e&&A[t]>=19968&&A[t]<=40959}):void 0;return[n,r,i]},VA=function(){function A(A,e,t,n){this.codePoints=A,this.required=e===bA,this.start=t,this.end=n}return A.prototype.slice=function(){return l.apply(void 0,this.codePoints.slice(this.start,this.end))},A}(),NA=function(A,e){var t=c(A),n=OA(t,e),r=n[0],o=n[1],i=n[2],s=t.length,a=0,l=0;return{next:function(){if(l>=s)return{done:!0,value:null};for(var A=vA;l<s&&(A=PA(t,o,r,++l,i))===vA;);if(A!==vA||l===s){var e=new VA(t,A,a,l);return a=l,{value:e,done:!1}}return{done:!0,value:null}}}},GA=1,WA=2,_A=4,XA=8,JA=10,YA=47,$A=92,ZA=9,zA=32,jA=34,qA=61,Ae=35,ee=36,te=37,ne=39,re=40,oe=41,ie=95,se=45,ae=33,ce=60,le=62,ue=64,he=91,ge=93,de=61,Be=123,fe=63,we=125,pe=124,me=126,Ce=128,Qe=65533,ye=42,Ue=43,Fe=44,be=58,ve=59,Ee=46,He=0,Ie=8,xe=11,Se=14,Le=31,Me=127,De=-1,ke=48,Ke=97,Te=101,Re=102,Pe=117,Oe=122,Ve=65,Ne=69,Ge=70,We=85,_e=90,Xe=function(A){return A>=ke&&A<=57},Je=function(A){return A>=55296&&A<=57343},Ye=function(A){return Xe(A)||A>=Ve&&A<=Ge||A>=Ke&&A<=Re},$e=function(A){return A>=Ke&&A<=Oe},Ze=function(A){return A>=Ve&&A<=_e},ze=function(A){return $e(A)||Ze(A)},je=function(A){return A>=Ce},qe=function(A){return A===JA||A===ZA||A===zA},At=function(A){return ze(A)||je(A)||A===ie},et=function(A){return At(A)||Xe(A)||A===se},tt=function(A){return A>=He&&A<=Ie||A===xe||A>=Se&&A<=Le||A===Me},nt=function(A,e){return A===$A&&e!==JA},rt=function(A,e,t){return A===se?At(e)||nt(e,t):!!At(A)||!(A!==$A||!nt(A,e))},ot=function(A,e,t){return A===Ue||A===se?!!Xe(e)||e===Ee&&Xe(t):Xe(A===Ee?e:A)},it=function(A){var e=0,t=1;A[e]!==Ue&&A[e]!==se||(A[e]===se&&(t=-1),e++);for(var n=[];Xe(A[e]);)n.push(A[e++]);var r=n.length?parseInt(l.apply(void 0,n),10):0;A[e]===Ee&&e++;for(var o=[];Xe(A[e]);)o.push(A[e++]);var i=o.length,s=i?parseInt(l.apply(void 0,o),10):0;A[e]!==Ne&&A[e]!==Te||e++;var a=1;A[e]!==Ue&&A[e]!==se||(A[e]===se&&(a=-1),e++);for(var c=[];Xe(A[e]);)c.push(A[e++]);var u=c.length?parseInt(l.apply(void 0,c),10):0;return t*(r+s*Math.pow(10,-i))*Math.pow(10,a*u)},st={type:2},at={type:3},ct={type:4},lt={type:13},ut={type:8},ht={type:21},gt={type:9},dt={type:10},Bt={type:11},ft={type:12},wt={type:14},pt={type:23},mt={type:1},Ct={type:25},Qt={type:24},yt={type:26},Ut={type:27},Ft={type:28},bt={type:29},vt={type:31},Et={type:32},Ht=function(){function A(){this._value=[]}return A.prototype.write=function(A){this._value=this._value.concat(c(A))},A.prototype.read=function(){for(var A=[],e=this.consumeToken();e!==Et;)A.push(e),e=this.consumeToken();return A},A.prototype.consumeToken=function(){var A=this.consumeCodePoint();switch(A){case jA:return this.consumeStringToken(jA);case Ae:var e=this.peekCodePoint(0),t=this.peekCodePoint(1),n=this.peekCodePoint(2);if(et(e)||nt(t,n)){var r=rt(e,t,n)?WA:GA;return{type:5,value:this.consumeName(),flags:r}}break;case ee:if(this.peekCodePoint(0)===qA)return this.consumeCodePoint(),lt;break;case ne:return this.consumeStringToken(ne);case re:return st;case oe:return at;case ye:if(this.peekCodePoint(0)===qA)return this.consumeCodePoint(),wt;break;case Ue:if(ot(A,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(A),this.consumeNumericToken();break;case Fe:return ct;case se:var o=A,i=this.peekCodePoint(0),s=this.peekCodePoint(1);if(ot(o,i,s))return this.reconsumeCodePoint(A),this.consumeNumericToken();if(rt(o,i,s))return this.reconsumeCodePoint(A),this.consumeIdentLikeToken();if(i===se&&s===le)return this.consumeCodePoint(),this.consumeCodePoint(),Qt;break;case Ee:if(ot(A,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(A),this.consumeNumericToken();break;case YA:if(this.peekCodePoint(0)===ye)for(this.consumeCodePoint();;){var a=this.consumeCodePoint();if(a===ye&&(a=this.consumeCodePoint())===YA)return this.consumeToken();if(a===De)return this.consumeToken()}break;case be:return yt;case ve:return Ut;case ce:if(this.peekCodePoint(0)===ae&&this.peekCodePoint(1)===se&&this.peekCodePoint(2)===se)return this.consumeCodePoint(),this.consumeCodePoint(),Ct;break;case ue:var c=this.peekCodePoint(0),u=this.peekCodePoint(1),h=this.peekCodePoint(2);if(rt(c,u,h))return{type:7,value:this.consumeName()};break;case he:return Ft;case $A:if(nt(A,this.peekCodePoint(0)))return this.reconsumeCodePoint(A),this.consumeIdentLikeToken();break;case ge:return bt;case de:if(this.peekCodePoint(0)===qA)return this.consumeCodePoint(),ut;break;case Be:return Bt;case we:return ft;case Pe:case We:var g=this.peekCodePoint(0),d=this.peekCodePoint(1);return g!==Ue||!Ye(d)&&d!==fe||(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(A),this.consumeIdentLikeToken();case pe:if(this.peekCodePoint(0)===qA)return this.consumeCodePoint(),gt;if(this.peekCodePoint(0)===pe)return this.consumeCodePoint(),ht;break;case me:if(this.peekCodePoint(0)===qA)return this.consumeCodePoint(),dt;break;case De:return Et}return qe(A)?(this.consumeWhiteSpace(),vt):Xe(A)?(this.reconsumeCodePoint(A),this.consumeNumericToken()):At(A)?(this.reconsumeCodePoint(A),this.consumeIdentLikeToken()):{type:6,value:l(A)}},A.prototype.consumeCodePoint=function(){var A=this._value.shift();return void 0===A?-1:A},A.prototype.reconsumeCodePoint=function(A){this._value.unshift(A)},A.prototype.peekCodePoint=function(A){return A>=this._value.length?-1:this._value[A]},A.prototype.consumeUnicodeRangeToken=function(){for(var A=[],e=this.consumeCodePoint();Ye(e)&&A.length<6;)A.push(e),e=this.consumeCodePoint();for(var t=!1;e===fe&&A.length<6;)A.push(e),e=this.consumeCodePoint(),t=!0;if(t)return{type:30,start:parseInt(l.apply(void 0,A.map(function(A){return A===fe?ke:A})),16),end:parseInt(l.apply(void 0,A.map(function(A){return A===fe?Ge:A})),16)};var n=parseInt(l.apply(void 0,A),16);if(this.peekCodePoint(0)===se&&Ye(this.peekCodePoint(1))){this.consumeCodePoint(),e=this.consumeCodePoint();for(var r=[];Ye(e)&&r.length<6;)r.push(e),e=this.consumeCodePoint();return{type:30,start:n,end:parseInt(l.apply(void 0,r),16)}}return{type:30,start:n,end:n}},A.prototype.consumeIdentLikeToken=function(){var A=this.consumeName();return"url"===A.toLowerCase()&&this.peekCodePoint(0)===re?(this.consumeCodePoint(),this.consumeUrlToken()):this.peekCodePoint(0)===re?(this.consumeCodePoint(),{type:19,value:A}):{type:20,value:A}},A.prototype.consumeUrlToken=function(){var A=[];if(this.consumeWhiteSpace(),this.peekCodePoint(0)===De)return{type:22,value:""};var e=this.peekCodePoint(0);if(e===ne||e===jA){var t=this.consumeStringToken(this.consumeCodePoint());return 0===t.type&&(this.consumeWhiteSpace(),this.peekCodePoint(0)===De||this.peekCodePoint(0)===oe)?(this.consumeCodePoint(),{type:22,value:t.value}):(this.consumeBadUrlRemnants(),pt)}for(;;){var n=this.consumeCodePoint();if(n===De||n===oe)return{type:22,value:l.apply(void 0,A)};if(qe(n))return this.consumeWhiteSpace(),this.peekCodePoint(0)===De||this.peekCodePoint(0)===oe?(this.consumeCodePoint(),{type:22,value:l.apply(void 0,A)}):(this.consumeBadUrlRemnants(),pt);if(n===jA||n===ne||n===re||tt(n))return this.consumeBadUrlRemnants(),pt;if(n===$A){if(!nt(n,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),pt;A.push(this.consumeEscapedCodePoint())}else A.push(n)}},A.prototype.consumeWhiteSpace=function(){for(;qe(this.peekCodePoint(0));)this.consumeCodePoint()},A.prototype.consumeBadUrlRemnants=function(){for(;;){var A=this.consumeCodePoint();if(A===oe||A===De)return;nt(A,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},A.prototype.consumeStringSlice=function(A){for(var e=5e4,t="";A>0;){var n=Math.min(e,A);t+=l.apply(void 0,this._value.splice(0,n)),A-=n}return this._value.shift(),t},A.prototype.consumeStringToken=function(A){for(var e="",t=0;;){var n=this._value[t];if(n===De||void 0===n||n===A)return{type:0,value:e+=this.consumeStringSlice(t)};if(n===JA)return this._value.splice(0,t),mt;if(n===$A){var r=this._value[t+1];r!==De&&void 0!==r&&(r===JA?(e+=this.consumeStringSlice(t),t=-1,this._value.shift()):nt(n,r)&&(e+=this.consumeStringSlice(t),e+=l(this.consumeEscapedCodePoint()),t=-1))}t++}},A.prototype.consumeNumber=function(){var A=[],e=_A,t=this.peekCodePoint(0);for(t!==Ue&&t!==se||A.push(this.consumeCodePoint());Xe(this.peekCodePoint(0));)A.push(this.consumeCodePoint());t=this.peekCodePoint(0);var n=this.peekCodePoint(1);if(t===Ee&&Xe(n))for(A.push(this.consumeCodePoint(),this.consumeCodePoint()),e=XA;Xe(this.peekCodePoint(0));)A.push(this.consumeCodePoint());t=this.peekCodePoint(0),n=this.peekCodePoint(1);var r=this.peekCodePoint(2);if((t===Ne||t===Te)&&((n===Ue||n===se)&&Xe(r)||Xe(n)))for(A.push(this.consumeCodePoint(),this.consumeCodePoint()),e=XA;Xe(this.peekCodePoint(0));)A.push(this.consumeCodePoint());return[it(A),e]},A.prototype.consumeNumericToken=function(){var A=this.consumeNumber(),e=A[0],t=A[1],n=this.peekCodePoint(0),r=this.peekCodePoint(1),o=this.peekCodePoint(2);return rt(n,r,o)?{type:15,number:e,flags:t,unit:this.consumeName()}:n===te?(this.consumeCodePoint(),{type:16,number:e,flags:t}):{type:17,number:e,flags:t}},A.prototype.consumeEscapedCodePoint=function(){var A=this.consumeCodePoint();if(Ye(A)){for(var e=l(A);Ye(this.peekCodePoint(0))&&e.length<6;)e+=l(this.consumeCodePoint());qe(this.peekCodePoint(0))&&this.consumeCodePoint();var t=parseInt(e,16);return 0===t||Je(t)||t>1114111?Qe:t}return A===De?Qe:A},A.prototype.consumeName=function(){for(var A="";;){var e=this.consumeCodePoint();if(et(e))A+=l(e);else{if(!nt(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),A;A+=l(this.consumeEscapedCodePoint())}}},A}(),It=function(){function A(A){this._tokens=A}return A.create=function(e){var t=new Ht;return t.write(e),new A(t.read())},A.parseValue=function(e){return A.create(e).parseComponentValue()},A.parseValues=function(e){return A.create(e).parseComponentValues()},A.prototype.parseComponentValue=function(){for(var A=this.consumeToken();31===A.type;)A=this.consumeToken();if(32===A.type)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(A);var e=this.consumeComponentValue();do{A=this.consumeToken()}while(31===A.type);if(32===A.type)return e;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},A.prototype.parseComponentValues=function(){for(var A=[];;){var e=this.consumeComponentValue();if(32===e.type)return A;A.push(e),A.push()}},A.prototype.consumeComponentValue=function(){var A=this.consumeToken();switch(A.type){case 11:case 28:case 2:return this.consumeSimpleBlock(A.type);case 19:return this.consumeFunction(A)}return A},A.prototype.consumeSimpleBlock=function(A){for(var e={type:A,values:[]},t=this.consumeToken();;){if(32===t.type||Rt(t,A))return e;this.reconsumeToken(t),e.values.push(this.consumeComponentValue()),t=this.consumeToken()}},A.prototype.consumeFunction=function(A){for(var e={name:A.value,values:[],type:18};;){var t=this.consumeToken();if(32===t.type||3===t.type)return e;this.reconsumeToken(t),e.values.push(this.consumeComponentValue())}},A.prototype.consumeToken=function(){var A=this._tokens.shift();return void 0===A?Et:A},A.prototype.reconsumeToken=function(A){this._tokens.unshift(A)},A}(),xt=function(A){return 15===A.type},St=function(A){return 17===A.type},Lt=function(A){return 20===A.type},Mt=function(A){return 0===A.type},Dt=function(A,e){return Lt(A)&&A.value===e},kt=function(A){return 31!==A.type},Kt=function(A){return 31!==A.type&&4!==A.type},Tt=function(A){var e=[],t=[];return A.forEach(function(A){if(4===A.type){if(0===t.length)throw new Error("Error parsing function args, zero tokens for arg");return e.push(t),void(t=[])}31!==A.type&&t.push(A)}),t.length&&e.push(t),e},Rt=function(A,e){return 11===e&&12===A.type||28===e&&29===A.type||2===e&&3===A.type},Pt=function(A){return 17===A.type||15===A.type},Ot=function(A){return 16===A.type||Pt(A)},Vt=function(A){return A.length>1?[A[0],A[1]]:[A[0]]},Nt={type:17,number:0,flags:_A},Gt={type:16,number:50,flags:_A},Wt={type:16,number:100,flags:_A},_t=function(A,e,t){var n=A[0],r=A[1];return[Xt(n,e),Xt(void 0!==r?r:n,t)]},Xt=function(A,e){if(16===A.type)return A.number/100*e;if(xt(A))switch(A.unit){case"rem":case"em":return 16*A.number;default:return A.number}return A.number},Jt="deg",Yt="grad",$t="rad",Zt="turn",zt={name:"angle",parse:function(A,e){if(15===e.type)switch(e.unit){case Jt:return Math.PI*e.number/180;case Yt:return Math.PI/200*e.number;case $t:return e.number;case Zt:return 2*Math.PI*e.number}throw new Error("Unsupported angle type")}},jt=function(A){return 15===A.type&&(A.unit===Jt||A.unit===Yt||A.unit===$t||A.unit===Zt)},qt=function(A){switch(A.filter(Lt).map(function(A){return A.value}).join(" ")){case"to bottom right":case"to right bottom":case"left top":case"top left":return[Nt,Nt];case"to top":case"bottom":return An(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[Nt,Wt];case"to right":case"left":return An(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[Wt,Wt];case"to bottom":case"top":return An(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[Wt,Nt];case"to left":case"right":return An(270)}return 0},An=function(A){return Math.PI*A/180},en={name:"color",parse:function(A,e){if(18===e.type){var t=ln[e.name];if(void 0===t)throw new Error('Attempting to parse an unsupported color function "'+e.name+'"');return t(A,e.values)}if(5===e.type){if(3===e.value.length){var n=e.value.substring(0,1),r=e.value.substring(1,2),o=e.value.substring(2,3);return rn(parseInt(n+n,16),parseInt(r+r,16),parseInt(o+o,16),1)}if(4===e.value.length){n=e.value.substring(0,1),r=e.value.substring(1,2),o=e.value.substring(2,3);var i=e.value.substring(3,4);return rn(parseInt(n+n,16),parseInt(r+r,16),parseInt(o+o,16),parseInt(i+i,16)/255)}if(6===e.value.length)return n=e.value.substring(0,2),r=e.value.substring(2,4),o=e.value.substring(4,6),rn(parseInt(n,16),parseInt(r,16),parseInt(o,16),1);if(8===e.value.length)return n=e.value.substring(0,2),r=e.value.substring(2,4),o=e.value.substring(4,6),i=e.value.substring(6,8),rn(parseInt(n,16),parseInt(r,16),parseInt(o,16),parseInt(i,16)/255)}if(20===e.type){var s=hn[e.value.toUpperCase()];if(void 0!==s)return s}return hn.TRANSPARENT}},tn=function(A){return!(255&A)},nn=function(A){var e=255&A,t=255&A>>8,n=255&A>>16,r=255&A>>24;return e<255?"rgba("+r+","+n+","+t+","+e/255+")":"rgb("+r+","+n+","+t+")"},rn=function(A,e,t,n){return(A<<24|e<<16|t<<8|Math.round(255*n))>>>0},on=function(A,e){if(17===A.type)return A.number;if(16===A.type){var t=3===e?1:255;return 3===e?A.number/100*t:Math.round(A.number/100*t)}return 0},sn=function(A,e){var t=e.filter(Kt);if(3===t.length){var n=t.map(on),r=n[0],o=n[1],i=n[2];return rn(r,o,i,1)}if(4===t.length){var s=t.map(on),a=(r=s[0],o=s[1],i=s[2],s[3]);return rn(r,o,i,a)}return 0};function an(A,e,t){return t<0&&(t+=1),t>=1&&(t-=1),t<1/6?(e-A)*t*6+A:t<.5?e:t<2/3?6*(e-A)*(2/3-t)+A:A}var cn=function(A,e){var t=e.filter(Kt),n=t[0],r=t[1],o=t[2],i=t[3],s=(17===n.type?An(n.number):zt.parse(A,n))/(2*Math.PI),a=Ot(r)?r.number/100:0,c=Ot(o)?o.number/100:0,l=void 0!==i&&Ot(i)?Xt(i,1):1;if(0===a)return rn(255*c,255*c,255*c,1);var u=c<=.5?c*(a+1):c+a-c*a,h=2*c-u,g=an(h,u,s+1/3),d=an(h,u,s),B=an(h,u,s-1/3);return rn(255*g,255*d,255*B,l)},ln={hsl:cn,hsla:cn,rgb:sn,rgba:sn},un=function(A,e){return en.parse(A,It.create(e).parseComponentValue())},hn={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},gn={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(A,e){return e.map(function(A){if(Lt(A))switch(A.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},dn={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},Bn=function(A,e){var t=en.parse(A,e[0]),n=e[1];return n&&Ot(n)?{color:t,stop:n}:{color:t,stop:null}},fn=function(A,e){var t=A[0],n=A[A.length-1];null===t.stop&&(t.stop=Nt),null===n.stop&&(n.stop=Wt);for(var r=[],o=0,i=0;i<A.length;i++){var s=A[i].stop;if(null!==s){var a=Xt(s,e);a>o?r.push(a):r.push(o),o=a}else r.push(null)}var c=null;for(i=0;i<r.length;i++){var l=r[i];if(null===l)null===c&&(c=i);else if(null!==c){for(var u=i-c,h=(l-r[c-1])/(u+1),g=1;g<=u;g++)r[c+g-1]=h*g;c=null}}return A.map(function(A,t){return{color:A.color,stop:Math.max(Math.min(1,r[t]/e),0)}})},wn=function(A,e,t){var n=e/2,r=t/2,o=Xt(A[0],e)-n,i=r-Xt(A[1],t);return(Math.atan2(i,o)+2*Math.PI)%(2*Math.PI)},pn=function(A,e,t){var n="number"==typeof A?A:wn(A,e,t),r=Math.abs(e*Math.sin(n))+Math.abs(t*Math.cos(n)),o=e/2,i=t/2,s=r/2,a=Math.sin(n-Math.PI/2)*s,c=Math.cos(n-Math.PI/2)*s;return[r,o-c,o+c,i-a,i+a]},mn=function(A,e){return Math.sqrt(A*A+e*e)},Cn=function(A,e,t,n,r){return[[0,0],[0,e],[A,0],[A,e]].reduce(function(A,e){var o=e[0],i=e[1],s=mn(t-o,n-i);return(r?s<A.optimumDistance:s>A.optimumDistance)?{optimumCorner:e,optimumDistance:s}:A},{optimumDistance:r?1/0:-1/0,optimumCorner:null}).optimumCorner},Qn=function(A,e,t,n,r){var o=0,i=0;switch(A.size){case 0:0===A.shape?o=i=Math.min(Math.abs(e),Math.abs(e-n),Math.abs(t),Math.abs(t-r)):1===A.shape&&(o=Math.min(Math.abs(e),Math.abs(e-n)),i=Math.min(Math.abs(t),Math.abs(t-r)));break;case 2:if(0===A.shape)o=i=Math.min(mn(e,t),mn(e,t-r),mn(e-n,t),mn(e-n,t-r));else if(1===A.shape){var s=Math.min(Math.abs(t),Math.abs(t-r))/Math.min(Math.abs(e),Math.abs(e-n)),a=Cn(n,r,e,t,!0),c=a[0],l=a[1];i=s*(o=mn(c-e,(l-t)/s))}break;case 1:0===A.shape?o=i=Math.max(Math.abs(e),Math.abs(e-n),Math.abs(t),Math.abs(t-r)):1===A.shape&&(o=Math.max(Math.abs(e),Math.abs(e-n)),i=Math.max(Math.abs(t),Math.abs(t-r)));break;case 3:if(0===A.shape)o=i=Math.max(mn(e,t),mn(e,t-r),mn(e-n,t),mn(e-n,t-r));else if(1===A.shape){s=Math.max(Math.abs(t),Math.abs(t-r))/Math.max(Math.abs(e),Math.abs(e-n));var u=Cn(n,r,e,t,!1);c=u[0],l=u[1],i=s*(o=mn(c-e,(l-t)/s))}}return Array.isArray(A.size)&&(o=Xt(A.size[0],n),i=2===A.size.length?Xt(A.size[1],r):o),[o,i]},yn=function(A,e){var t=An(180),n=[];return Tt(e).forEach(function(e,r){if(0===r){var o=e[0];if(20===o.type&&-1!==["top","left","right","bottom"].indexOf(o.value))return void(t=qt(e));if(jt(o))return void(t=(zt.parse(A,o)+An(270))%An(360))}var i=Bn(A,e);n.push(i)}),{angle:t,stops:n,type:1}},Un="closest-side",Fn="farthest-side",bn="closest-corner",vn="farthest-corner",En="circle",Hn="ellipse",In="cover",xn="contain",Sn=function(A,e){var t=0,n=3,r=[],o=[];return Tt(e).forEach(function(e,i){var s=!0;if(0===i?s=e.reduce(function(A,e){if(Lt(e))switch(e.value){case"center":return o.push(Gt),!1;case"top":case"left":return o.push(Nt),!1;case"right":case"bottom":return o.push(Wt),!1}else if(Ot(e)||Pt(e))return o.push(e),!1;return A},s):1===i&&(s=e.reduce(function(A,e){if(Lt(e))switch(e.value){case En:return t=0,!1;case Hn:return t=1,!1;case xn:case Un:return n=0,!1;case Fn:return n=1,!1;case bn:return n=2,!1;case In:case vn:return n=3,!1}else if(Pt(e)||Ot(e))return Array.isArray(n)||(n=[]),n.push(e),!1;return A},s)),s){var a=Bn(A,e);r.push(a)}}),{size:n,shape:t,stops:r,position:o,type:2}},Ln=function(A){return 1===A.type},Mn=function(A){return 2===A.type},Dn={name:"image",parse:function(A,e){if(22===e.type){var t={url:e.value,type:0};return A.cache.addImage(e.value),t}if(18===e.type){var n=Tn[e.name];if(void 0===n)throw new Error('Attempting to parse an unsupported image function "'+e.name+'"');return n(A,e.values)}throw new Error("Unsupported image type "+e.type)}};function kn(A){return!(20===A.type&&"none"===A.value||18===A.type&&!Tn[A.name])}var Kn,Tn={"linear-gradient":function(A,e){var t=An(180),n=[];return Tt(e).forEach(function(e,r){if(0===r){var o=e[0];if(20===o.type&&"to"===o.value)return void(t=qt(e));if(jt(o))return void(t=zt.parse(A,o))}var i=Bn(A,e);n.push(i)}),{angle:t,stops:n,type:1}},"-moz-linear-gradient":yn,"-ms-linear-gradient":yn,"-o-linear-gradient":yn,"-webkit-linear-gradient":yn,"radial-gradient":function(A,e){var t=0,n=3,r=[],o=[];return Tt(e).forEach(function(e,i){var s=!0;if(0===i){var a=!1;s=e.reduce(function(A,e){if(a)if(Lt(e))switch(e.value){case"center":return o.push(Gt),A;case"top":case"left":return o.push(Nt),A;case"right":case"bottom":return o.push(Wt),A}else(Ot(e)||Pt(e))&&o.push(e);else if(Lt(e))switch(e.value){case En:return t=0,!1;case Hn:return t=1,!1;case"at":return a=!0,!1;case Un:return n=0,!1;case In:case Fn:return n=1,!1;case xn:case bn:return n=2,!1;case vn:return n=3,!1}else if(Pt(e)||Ot(e))return Array.isArray(n)||(n=[]),n.push(e),!1;return A},s)}if(s){var c=Bn(A,e);r.push(c)}}),{size:n,shape:t,stops:r,position:o,type:2}},"-moz-radial-gradient":Sn,"-ms-radial-gradient":Sn,"-o-radial-gradient":Sn,"-webkit-radial-gradient":Sn,"-webkit-gradient":function(A,e){var t=An(180),n=[],r=1,o=0,i=3,s=[];return Tt(e).forEach(function(e,t){var o=e[0];if(0===t){if(Lt(o)&&"linear"===o.value)return void(r=1);if(Lt(o)&&"radial"===o.value)return void(r=2)}if(18===o.type)if("from"===o.name){var i=en.parse(A,o.values[0]);n.push({stop:Nt,color:i})}else if("to"===o.name)i=en.parse(A,o.values[0]),n.push({stop:Wt,color:i});else if("color-stop"===o.name){var s=o.values.filter(Kt);if(2===s.length){i=en.parse(A,s[1]);var a=s[0];St(a)&&n.push({stop:{type:16,number:100*a.number,flags:a.flags},color:i})}}}),1===r?{angle:(t+An(180))%An(360),stops:n,type:r}:{size:i,shape:o,stops:n,position:s,type:r}}},Rn={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(A,e){if(0===e.length)return[];var t=e[0];return 20===t.type&&"none"===t.value?[]:e.filter(function(A){return Kt(A)&&kn(A)}).map(function(e){return Dn.parse(A,e)})}},Pn={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(A,e){return e.map(function(A){if(Lt(A))switch(A.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},On={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(A,e){return Tt(e).map(function(A){return A.filter(Ot)}).map(Vt)}},Vn={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(A,e){return Tt(e).map(function(A){return A.filter(Lt).map(function(A){return A.value}).join(" ")}).map(Nn)}},Nn=function(A){switch(A){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;default:return 0}};!function(A){A.AUTO="auto",A.CONTAIN="contain",A.COVER="cover"}(Kn||(Kn={}));var Gn,Wn={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(A,e){return Tt(e).map(function(A){return A.filter(_n)})}},_n=function(A){return Lt(A)||Ot(A)},Xn=function(A){return{name:"border-"+A+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},Jn=Xn("top"),Yn=Xn("right"),$n=Xn("bottom"),Zn=Xn("left"),zn=function(A){return{name:"border-radius-"+A,initialValue:"0 0",prefix:!1,type:1,parse:function(A,e){return Vt(e.filter(Ot))}}},jn=zn("top-left"),qn=zn("top-right"),Ar=zn("bottom-right"),er=zn("bottom-left"),tr=function(A){return{name:"border-"+A+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(A,e){switch(e){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},nr=tr("top"),rr=tr("right"),or=tr("bottom"),ir=tr("left"),sr=function(A){return{name:"border-"+A+"-width",initialValue:"0",type:0,prefix:!1,parse:function(A,e){return xt(e)?e.number:0}}},ar=sr("top"),cr=sr("right"),lr=sr("bottom"),ur=sr("left"),hr={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},gr={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(A,e){return"rtl"===e?1:0}},dr={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(A,e){return e.filter(Lt).reduce(function(A,e){return A|Br(e.value)},0)}},Br=function(A){switch(A){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0},fr={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(A,e){switch(e){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},wr={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(A,e){return 20===e.type&&"normal"===e.value?0:17===e.type||15===e.type?e.number:0}};!function(A){A.NORMAL="normal",A.STRICT="strict"}(Gn||(Gn={}));var pr,mr={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(A,e){return"strict"===e?Gn.STRICT:Gn.NORMAL}},Cr={name:"line-height",initialValue:"normal",prefix:!1,type:4},Qr=function(A,e){return Lt(A)&&"normal"===A.value?1.2*e:17===A.type?e*A.number:Ot(A)?Xt(A,e):e},yr={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(A,e){return 20===e.type&&"none"===e.value?null:Dn.parse(A,e)}},Ur={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(A,e){return"inside"===e?0:1}},Fr={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(A,e){switch(e){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;default:return-1}}},br=function(A){return{name:"margin-"+A,initialValue:"0",prefix:!1,type:4}},vr=br("top"),Er=br("right"),Hr=br("bottom"),Ir=br("left"),xr={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(A,e){return e.filter(Lt).map(function(A){switch(A.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;default:return 0}})}},Sr={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(A,e){return"break-word"===e?"break-word":"normal"}},Lr=function(A){return{name:"padding-"+A,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},Mr=Lr("top"),Dr=Lr("right"),kr=Lr("bottom"),Kr=Lr("left"),Tr={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(A,e){switch(e){case"right":return 2;case"center":case"justify":return 1;default:return 0}}},Rr={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(A,e){switch(e){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},Pr={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(A,e){return 1===e.length&&Dt(e[0],"none")?[]:Tt(e).map(function(e){for(var t={color:hn.TRANSPARENT,offsetX:Nt,offsetY:Nt,blur:Nt},n=0,r=0;r<e.length;r++){var o=e[r];Pt(o)?(0===n?t.offsetX=o:1===n?t.offsetY=o:t.blur=o,n++):t.color=en.parse(A,o)}return t})}},Or={name:"text-transform",initialValue:"none",prefix:!1,type:2,parse:function(A,e){switch(e){case"uppercase":return 2;case"lowercase":return 1;case"capitalize":return 3}return 0}},Vr={name:"transform",initialValue:"none",prefix:!0,type:0,parse:function(A,e){if(20===e.type&&"none"===e.value)return null;if(18===e.type){var t=Nr[e.name];if(void 0===t)throw new Error('Attempting to parse an unsupported transform function "'+e.name+'"');return t(e.values)}return null}},Nr={matrix:function(A){var e=A.filter(function(A){return 17===A.type}).map(function(A){return A.number});return 6===e.length?e:null},matrix3d:function(A){var e=A.filter(function(A){return 17===A.type}).map(function(A){return A.number}),t=e[0],n=e[1];e[2],e[3];var r=e[4],o=e[5];e[6],e[7],e[8],e[9],e[10],e[11];var i=e[12],s=e[13];return e[14],e[15],16===e.length?[t,n,r,o,i,s]:null}},Gr={type:16,number:50,flags:_A},Wr=[Gr,Gr],_r={name:"transform-origin",initialValue:"50% 50%",prefix:!0,type:1,parse:function(A,e){var t=e.filter(Ot);return 2!==t.length?Wr:[t[0],t[1]]}},Xr={name:"visible",initialValue:"none",prefix:!1,type:2,parse:function(A,e){switch(e){case"hidden":return 1;case"collapse":return 2;default:return 0}}};!function(A){A.NORMAL="normal",A.BREAK_ALL="break-all",A.KEEP_ALL="keep-all"}(pr||(pr={}));for(var Jr={name:"word-break",initialValue:"normal",prefix:!1,type:2,parse:function(A,e){switch(e){case"break-all":return pr.BREAK_ALL;case"keep-all":return pr.KEEP_ALL;default:return pr.NORMAL}}},Yr={name:"z-index",initialValue:"auto",prefix:!1,type:0,parse:function(A,e){if(20===e.type)return{auto:!0,order:0};if(St(e))return{auto:!1,order:e.number};throw new Error("Invalid z-index number parsed")}},$r={name:"time",parse:function(A,e){if(15===e.type)switch(e.unit.toLowerCase()){case"s":return 1e3*e.number;case"ms":return e.number}throw new Error("Unsupported time type")}},Zr={name:"opacity",initialValue:"1",type:0,prefix:!1,parse:function(A,e){return St(e)?e.number:1}},zr={name:"text-decoration-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},jr={name:"text-decoration-line",initialValue:"none",prefix:!1,type:1,parse:function(A,e){return e.filter(Lt).map(function(A){switch(A.value){case"underline":return 1;case"overline":return 2;case"line-through":return 3;case"none":return 4}return 0}).filter(function(A){return 0!==A})}},qr={name:"font-family",initialValue:"",prefix:!1,type:1,parse:function(A,e){var t=[],n=[];return e.forEach(function(A){switch(A.type){case 20:case 0:t.push(A.value);break;case 17:t.push(A.number.toString());break;case 4:n.push(t.join(" ")),t.length=0}}),t.length&&n.push(t.join(" ")),n.map(function(A){return-1===A.indexOf(" ")?A:"'"+A+"'"})}},Ao={name:"font-size",initialValue:"0",prefix:!1,type:3,format:"length"},eo={name:"font-weight",initialValue:"normal",type:0,prefix:!1,parse:function(A,e){return St(e)?e.number:Lt(e)&&"bold"===e.value?700:400}},to={name:"font-variant",initialValue:"none",type:1,prefix:!1,parse:function(A,e){return e.filter(Lt).map(function(A){return A.value})}},no={name:"font-style",initialValue:"normal",prefix:!1,type:2,parse:function(A,e){switch(e){case"oblique":return"oblique";case"italic":return"italic";default:return"normal"}}},ro=function(A,e){return 0!==(A&e)},oo={name:"content",initialValue:"none",type:1,prefix:!1,parse:function(A,e){if(0===e.length)return[];var t=e[0];return 20===t.type&&"none"===t.value?[]:e}},io={name:"counter-increment",initialValue:"none",prefix:!0,type:1,parse:function(A,e){if(0===e.length)return null;var t=e[0];if(20===t.type&&"none"===t.value)return null;for(var n=[],r=e.filter(kt),o=0;o<r.length;o++){var i=r[o],s=r[o+1];if(20===i.type){var a=s&&St(s)?s.number:1;n.push({counter:i.value,increment:a})}}return n}},so={name:"counter-reset",initialValue:"none",prefix:!0,type:1,parse:function(A,e){if(0===e.length)return[];for(var t=[],n=e.filter(kt),r=0;r<n.length;r++){var o=n[r],i=n[r+1];if(Lt(o)&&"none"!==o.value){var s=i&&St(i)?i.number:0;t.push({counter:o.value,reset:s})}}return t}},ao={name:"duration",initialValue:"0s",prefix:!1,type:1,parse:function(A,e){return e.filter(xt).map(function(e){return $r.parse(A,e)})}},co={name:"quotes",initialValue:"none",prefix:!0,type:1,parse:function(A,e){if(0===e.length)return null;var t=e[0];if(20===t.type&&"none"===t.value)return null;var n=[],r=e.filter(Mt);if(r.length%2!=0)return null;for(var o=0;o<r.length;o+=2){var i=r[o].value,s=r[o+1].value;n.push({open:i,close:s})}return n}},lo=function(A,e,t){if(!A)return"";var n=A[Math.min(e,A.length-1)];return n?t?n.open:n.close:""},uo={name:"box-shadow",initialValue:"none",type:1,prefix:!1,parse:function(A,e){return 1===e.length&&Dt(e[0],"none")?[]:Tt(e).map(function(e){for(var t={color:255,offsetX:Nt,offsetY:Nt,blur:Nt,spread:Nt,inset:!1},n=0,r=0;r<e.length;r++){var o=e[r];Dt(o,"inset")?t.inset=!0:Pt(o)?(0===n?t.offsetX=o:1===n?t.offsetY=o:2===n?t.blur=o:t.spread=o,n++):t.color=en.parse(A,o)}return t})}},ho={name:"paint-order",initialValue:"normal",prefix:!1,type:1,parse:function(A,e){var t=[0,1,2],n=[];return e.filter(Lt).forEach(function(A){switch(A.value){case"stroke":n.push(1);break;case"fill":n.push(0);break;case"markers":n.push(2)}}),t.forEach(function(A){-1===n.indexOf(A)&&n.push(A)}),n}},go={name:"-webkit-text-stroke-color",initialValue:"currentcolor",prefix:!1,type:3,format:"color"},Bo={name:"-webkit-text-stroke-width",initialValue:"0",type:0,prefix:!1,parse:function(A,e){return xt(e)?e.number:0}},fo=function(){function A(A,e){var t,n;this.animationDuration=mo(A,ao,e.animationDuration),this.backgroundClip=mo(A,gn,e.backgroundClip),this.backgroundColor=mo(A,dn,e.backgroundColor),this.backgroundImage=mo(A,Rn,e.backgroundImage),this.backgroundOrigin=mo(A,Pn,e.backgroundOrigin),this.backgroundPosition=mo(A,On,e.backgroundPosition),this.backgroundRepeat=mo(A,Vn,e.backgroundRepeat),this.backgroundSize=mo(A,Wn,e.backgroundSize),this.borderTopColor=mo(A,Jn,e.borderTopColor),this.borderRightColor=mo(A,Yn,e.borderRightColor),this.borderBottomColor=mo(A,$n,e.borderBottomColor),this.borderLeftColor=mo(A,Zn,e.borderLeftColor),this.borderTopLeftRadius=mo(A,jn,e.borderTopLeftRadius),this.borderTopRightRadius=mo(A,qn,e.borderTopRightRadius),this.borderBottomRightRadius=mo(A,Ar,e.borderBottomRightRadius),this.borderBottomLeftRadius=mo(A,er,e.borderBottomLeftRadius),this.borderTopStyle=mo(A,nr,e.borderTopStyle),this.borderRightStyle=mo(A,rr,e.borderRightStyle),this.borderBottomStyle=mo(A,or,e.borderBottomStyle),this.borderLeftStyle=mo(A,ir,e.borderLeftStyle),this.borderTopWidth=mo(A,ar,e.borderTopWidth),this.borderRightWidth=mo(A,cr,e.borderRightWidth),this.borderBottomWidth=mo(A,lr,e.borderBottomWidth),this.borderLeftWidth=mo(A,ur,e.borderLeftWidth),this.boxShadow=mo(A,uo,e.boxShadow),this.color=mo(A,hr,e.color),this.direction=mo(A,gr,e.direction),this.display=mo(A,dr,e.display),this.float=mo(A,fr,e.cssFloat),this.fontFamily=mo(A,qr,e.fontFamily),this.fontSize=mo(A,Ao,e.fontSize),this.fontStyle=mo(A,no,e.fontStyle),this.fontVariant=mo(A,to,e.fontVariant),this.fontWeight=mo(A,eo,e.fontWeight),this.letterSpacing=mo(A,wr,e.letterSpacing),this.lineBreak=mo(A,mr,e.lineBreak),this.lineHeight=mo(A,Cr,e.lineHeight),this.listStyleImage=mo(A,yr,e.listStyleImage),this.listStylePosition=mo(A,Ur,e.listStylePosition),this.listStyleType=mo(A,Fr,e.listStyleType),this.marginTop=mo(A,vr,e.marginTop),this.marginRight=mo(A,Er,e.marginRight),this.marginBottom=mo(A,Hr,e.marginBottom),this.marginLeft=mo(A,Ir,e.marginLeft),this.opacity=mo(A,Zr,e.opacity);var r=mo(A,xr,e.overflow);this.overflowX=r[0],this.overflowY=r[r.length>1?1:0],this.overflowWrap=mo(A,Sr,e.overflowWrap),this.paddingTop=mo(A,Mr,e.paddingTop),this.paddingRight=mo(A,Dr,e.paddingRight),this.paddingBottom=mo(A,kr,e.paddingBottom),this.paddingLeft=mo(A,Kr,e.paddingLeft),this.paintOrder=mo(A,ho,e.paintOrder),this.position=mo(A,Rr,e.position),this.textAlign=mo(A,Tr,e.textAlign),this.textDecorationColor=mo(A,zr,null!==(t=e.textDecorationColor)&&void 0!==t?t:e.color),this.textDecorationLine=mo(A,jr,null!==(n=e.textDecorationLine)&&void 0!==n?n:e.textDecoration),this.textShadow=mo(A,Pr,e.textShadow),this.textTransform=mo(A,Or,e.textTransform),this.transform=mo(A,Vr,e.transform),this.transformOrigin=mo(A,_r,e.transformOrigin),this.visibility=mo(A,Xr,e.visibility),this.webkitTextStrokeColor=mo(A,go,e.webkitTextStrokeColor),this.webkitTextStrokeWidth=mo(A,Bo,e.webkitTextStrokeWidth),this.wordBreak=mo(A,Jr,e.wordBreak),this.zIndex=mo(A,Yr,e.zIndex)}return A.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&0===this.visibility},A.prototype.isTransparent=function(){return tn(this.backgroundColor)},A.prototype.isTransformed=function(){return null!==this.transform},A.prototype.isPositioned=function(){return 0!==this.position},A.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},A.prototype.isFloating=function(){return 0!==this.float},A.prototype.isInlineLevel=function(){return ro(this.display,4)||ro(this.display,33554432)||ro(this.display,268435456)||ro(this.display,536870912)||ro(this.display,67108864)||ro(this.display,134217728)},A}(),wo=function(){function A(A,e){this.content=mo(A,oo,e.content),this.quotes=mo(A,co,e.quotes)}return A}(),po=function(){function A(A,e){this.counterIncrement=mo(A,io,e.counterIncrement),this.counterReset=mo(A,so,e.counterReset)}return A}(),mo=function(A,e,t){var n=new Ht,r=null!=t?t.toString():e.initialValue;n.write(r);var o=new It(n.read());switch(e.type){case 2:var i=o.parseComponentValue();return e.parse(A,Lt(i)?i.value:e.initialValue);case 0:return e.parse(A,o.parseComponentValue());case 1:return e.parse(A,o.parseComponentValues());case 4:return o.parseComponentValue();case 3:switch(e.format){case"angle":return zt.parse(A,o.parseComponentValue());case"color":return en.parse(A,o.parseComponentValue());case"image":return Dn.parse(A,o.parseComponentValue());case"length":var s=o.parseComponentValue();return Pt(s)?s:Nt;case"length-percentage":var a=o.parseComponentValue();return Ot(a)?a:Nt;case"time":return $r.parse(A,o.parseComponentValue())}}},Co="data-html2canvas-debug",Qo=function(A){switch(A.getAttribute(Co)){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}},yo=function(A,e){var t=Qo(A);return 1===t||e===t},Uo=function(){function A(A,e){this.context=A,this.textNodes=[],this.elements=[],this.flags=0,yo(e,3),this.styles=new fo(A,window.getComputedStyle(e,null)),ls(e)&&(this.styles.animationDuration.some(function(A){return A>0})&&(e.style.animationDuration="0s"),null!==this.styles.transform&&(e.style.transform="none")),this.bounds=s(this.context,e),yo(e,4)&&(this.flags|=16)}return A}(),Fo="AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=",bo="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",vo="undefined"==typeof Uint8Array?[]:new Uint8Array(256),Eo=0;Eo<bo.length;Eo++)vo[bo.charCodeAt(Eo)]=Eo;for(var Ho=function(A){var e,t,n,r,o,i=.75*A.length,s=A.length,a=0;"="===A[A.length-1]&&(i--,"="===A[A.length-2]&&i--);var c="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(i):new Array(i),l=Array.isArray(c)?c:new Uint8Array(c);for(e=0;e<s;e+=4)t=vo[A.charCodeAt(e)],n=vo[A.charCodeAt(e+1)],r=vo[A.charCodeAt(e+2)],o=vo[A.charCodeAt(e+3)],l[a++]=t<<2|n>>4,l[a++]=(15&n)<<4|r>>2,l[a++]=(3&r)<<6|63&o;return c},Io=function(A){for(var e=A.length,t=[],n=0;n<e;n+=2)t.push(A[n+1]<<8|A[n]);return t},xo=function(A){for(var e=A.length,t=[],n=0;n<e;n+=4)t.push(A[n+3]<<24|A[n+2]<<16|A[n+1]<<8|A[n]);return t},So=5,Lo=11,Mo=2,Do=65536>>So,ko=(1<<So)-1,Ko=Do+(1024>>So)+32,To=65536>>Lo,Ro=(1<<Lo-So)-1,Po=function(A,e,t){return A.slice?A.slice(e,t):new Uint16Array(Array.prototype.slice.call(A,e,t))},Oo=function(A,e,t){return A.slice?A.slice(e,t):new Uint32Array(Array.prototype.slice.call(A,e,t))},Vo=function(A,e){var t=Ho(A),n=Array.isArray(t)?xo(t):new Uint32Array(t),r=Array.isArray(t)?Io(t):new Uint16Array(t),o=24,i=Po(r,o/2,n[4]/2),s=2===n[5]?Po(r,(o+n[4])/2):Oo(n,Math.ceil((o+n[4])/4));return new No(n[0],n[1],n[2],n[3],i,s)},No=function(){function A(A,e,t,n,r,o){this.initialValue=A,this.errorValue=e,this.highStart=t,this.highValueIndex=n,this.index=r,this.data=o}return A.prototype.get=function(A){var e;if(A>=0){if(A<55296||A>56319&&A<=65535)return e=((e=this.index[A>>So])<<Mo)+(A&ko),this.data[e];if(A<=65535)return e=((e=this.index[Do+(A-55296>>So)])<<Mo)+(A&ko),this.data[e];if(A<this.highStart)return e=Ko-To+(A>>Lo),e=this.index[e],e+=A>>So&Ro,e=((e=this.index[e])<<Mo)+(A&ko),this.data[e];if(A<=1114111)return this.data[this.highValueIndex]}return this.errorValue},A}(),Go="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Wo="undefined"==typeof Uint8Array?[]:new Uint8Array(256),_o=0;_o<Go.length;_o++)Wo[Go.charCodeAt(_o)]=_o;var Xo,Jo=1,Yo=2,$o=3,Zo=4,zo=5,jo=7,qo=8,Ai=9,ei=10,ti=11,ni=12,ri=13,oi=14,ii=15,si=function(A){for(var e=[],t=0,n=A.length;t<n;){var r=A.charCodeAt(t++);if(r>=55296&&r<=56319&&t<n){var o=A.charCodeAt(t++);56320==(64512&o)?e.push(((1023&r)<<10)+(1023&o)+65536):(e.push(r),t--)}else e.push(r)}return e},ai=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];if(String.fromCodePoint)return String.fromCodePoint.apply(String,A);var t=A.length;if(!t)return"";for(var n=[],r=-1,o="";++r<t;){var i=A[r];i<=65535?n.push(i):(i-=65536,n.push(55296+(i>>10),i%1024+56320)),(r+1===t||n.length>16384)&&(o+=String.fromCharCode.apply(String,n),n.length=0)}return o},ci=Vo(Fo),li="×",ui="÷",hi=function(A){return ci.get(A)},gi=function(A,e,t){var n=t-2,r=e[n],o=e[t-1],i=e[t];if(o===Yo&&i===$o)return li;if(o===Yo||o===$o||o===Zo)return ui;if(i===Yo||i===$o||i===Zo)return ui;if(o===qo&&-1!==[qo,Ai,ti,ni].indexOf(i))return li;if(!(o!==ti&&o!==Ai||i!==Ai&&i!==ei))return li;if((o===ni||o===ei)&&i===ei)return li;if(i===ri||i===zo)return li;if(i===jo)return li;if(o===Jo)return li;if(o===ri&&i===oi){for(;r===zo;)r=e[--n];if(r===oi)return li}if(o===ii&&i===ii){for(var s=0;r===ii;)s++,r=e[--n];if(s%2==0)return li}return ui},di=function(A){var e=si(A),t=e.length,n=0,r=0,o=e.map(hi);return{next:function(){if(n>=t)return{done:!0,value:null};for(var A=li;n<t&&(A=gi(e,o,++n))===li;);if(A!==li||n===t){var i=ai.apply(null,e.slice(r,n));return r=n,{value:i,done:!1}}return{done:!0,value:null}}}},Bi=function(A){for(var e,t=di(A),n=[];!(e=t.next()).done;)e.value&&n.push(e.value.slice());return n},fi=function(A){var e=123;if(A.createRange){var t=A.createRange();if(t.getBoundingClientRect){var n=A.createElement("boundtest");n.style.height=e+"px",n.style.display="block",A.body.appendChild(n),t.selectNode(n);var r=t.getBoundingClientRect(),o=Math.round(r.height);if(A.body.removeChild(n),o===e)return!0}}return!1},wi=function(A){var e=A.createElement("boundtest");e.style.width="50px",e.style.display="block",e.style.fontSize="12px",e.style.letterSpacing="0px",e.style.wordSpacing="0px",A.body.appendChild(e);var t=A.createRange();e.innerHTML="function"==typeof"".repeat?"&#128104;".repeat(10):"";var n=e.firstChild,r=c(n.data).map(function(A){return l(A)}),o=0,i={},s=r.every(function(A,e){t.setStart(n,o),t.setEnd(n,o+A.length);var r=t.getBoundingClientRect();o+=A.length;var s=r.x>i.x||r.y>i.y;return i=r,0===e||s});return A.body.removeChild(e),s},pi=function(){return void 0!==(new Image).crossOrigin},mi=function(){return"string"==typeof(new XMLHttpRequest).responseType},Ci=function(A){var e=new Image,t=A.createElement("canvas"),n=t.getContext("2d");if(!n)return!1;e.src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'></svg>";try{n.drawImage(e,0,0),t.toDataURL()}catch(A){return!1}return!0},Qi=function(A){return 0===A[0]&&255===A[1]&&0===A[2]&&255===A[3]},yi=function(A){var e=A.createElement("canvas"),t=100;e.width=t,e.height=t;var n=e.getContext("2d");if(!n)return Promise.reject(!1);n.fillStyle="rgb(0, 255, 0)",n.fillRect(0,0,t,t);var r=new Image,o=e.toDataURL();r.src=o;var i=Ui(t,t,0,0,r);return n.fillStyle="red",n.fillRect(0,0,t,t),Fi(i).then(function(e){n.drawImage(e,0,0);var r=n.getImageData(0,0,t,t).data;n.fillStyle="red",n.fillRect(0,0,t,t);var i=A.createElement("div");return i.style.backgroundImage="url("+o+")",i.style.height=t+"px",Qi(r)?Fi(Ui(t,t,0,0,i)):Promise.reject(!1)}).then(function(A){return n.drawImage(A,0,0),Qi(n.getImageData(0,0,t,t).data)}).catch(function(){return!1})},Ui=function(A,e,t,n,r){var o="http://www.w3.org/2000/svg",i=document.createElementNS(o,"svg"),s=document.createElementNS(o,"foreignObject");return i.setAttributeNS(null,"width",A.toString()),i.setAttributeNS(null,"height",e.toString()),s.setAttributeNS(null,"width","100%"),s.setAttributeNS(null,"height","100%"),s.setAttributeNS(null,"x",t.toString()),s.setAttributeNS(null,"y",n.toString()),s.setAttributeNS(null,"externalResourcesRequired","true"),i.appendChild(s),s.appendChild(r),i},Fi=function(A){return new Promise(function(e,t){var n=new Image;n.onload=function(){return e(n)},n.onerror=t,n.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent((new XMLSerializer).serializeToString(A))})},bi={get SUPPORT_RANGE_BOUNDS(){var A=fi(document);return Object.defineProperty(bi,"SUPPORT_RANGE_BOUNDS",{value:A}),A},get SUPPORT_WORD_BREAKING(){var A=bi.SUPPORT_RANGE_BOUNDS&&wi(document);return Object.defineProperty(bi,"SUPPORT_WORD_BREAKING",{value:A}),A},get SUPPORT_SVG_DRAWING(){var A=Ci(document);return Object.defineProperty(bi,"SUPPORT_SVG_DRAWING",{value:A}),A},get SUPPORT_FOREIGNOBJECT_DRAWING(){var A="function"==typeof Array.from&&"function"==typeof window.fetch?yi(document):Promise.resolve(!1);return Object.defineProperty(bi,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:A}),A},get SUPPORT_CORS_IMAGES(){var A=pi();return Object.defineProperty(bi,"SUPPORT_CORS_IMAGES",{value:A}),A},get SUPPORT_RESPONSE_TYPE(){var A=mi();return Object.defineProperty(bi,"SUPPORT_RESPONSE_TYPE",{value:A}),A},get SUPPORT_CORS_XHR(){var A="withCredentials"in new XMLHttpRequest;return Object.defineProperty(bi,"SUPPORT_CORS_XHR",{value:A}),A},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var A=!("undefined"==typeof Intl||!Intl.Segmenter);return Object.defineProperty(bi,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:A}),A}},vi=function(){function A(A,e){this.text=A,this.bounds=e}return A}(),Ei=function(A,e,t,n){var r=Li(e,t),o=[],s=0;return r.forEach(function(e){if(t.textDecorationLine.length||e.trim().length>0)if(bi.SUPPORT_RANGE_BOUNDS){var r=Ii(n,s,e.length).getClientRects();if(r.length>1){var a=xi(e),c=0;a.forEach(function(e){o.push(new vi(e,i.fromDOMRectList(A,Ii(n,c+s,e.length).getClientRects()))),c+=e.length})}else o.push(new vi(e,i.fromDOMRectList(A,r)))}else{var l=n.splitText(e.length);o.push(new vi(e,Hi(A,n))),n=l}else bi.SUPPORT_RANGE_BOUNDS||(n=n.splitText(e.length));s+=e.length}),o},Hi=function(A,e){var t=e.ownerDocument;if(t){var n=t.createElement("html2canvaswrapper");n.appendChild(e.cloneNode(!0));var r=e.parentNode;if(r){r.replaceChild(n,e);var o=s(A,n);return n.firstChild&&r.replaceChild(n.firstChild,n),o}}return i.EMPTY},Ii=function(A,e,t){var n=A.ownerDocument;if(!n)throw new Error("Node has no owner document");var r=n.createRange();return r.setStart(A,e),r.setEnd(A,e+t),r},xi=function(A){if(bi.SUPPORT_NATIVE_TEXT_SEGMENTATION){var e=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(e.segment(A)).map(function(A){return A.segment})}return Bi(A)},Si=function(A,e){if(bi.SUPPORT_NATIVE_TEXT_SEGMENTATION){var t=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(t.segment(A)).map(function(A){return A.segment})}return Di(A,e)},Li=function(A,e){return 0!==e.letterSpacing?xi(A):Si(A,e)},Mi=[32,160,4961,65792,65793,4153,4241],Di=function(A,e){for(var t,n=NA(A,{lineBreak:e.lineBreak,wordBreak:"break-word"===e.overflowWrap?"break-word":e.wordBreak}),r=[],o=function(){if(t.value){var A=t.value.slice(),e=c(A),n="";e.forEach(function(A){-1===Mi.indexOf(A)?n+=l(A):(n.length&&r.push(n),r.push(l(A)),n="")}),n.length&&r.push(n)}};!(t=n.next()).done;)o();return r},ki=function(){function A(A,e,t){this.text=Ki(e.data,t.textTransform),this.textBounds=Ei(A,this.text,t,e)}return A}(),Ki=function(A,e){switch(e){case 1:return A.toLowerCase();case 3:return A.replace(Ti,Ri);case 2:return A.toUpperCase();default:return A}},Ti=/(^|\s|:|-|\(|\))([a-z])/g,Ri=function(A,e,t){return A.length>0?e+t.toUpperCase():A},Pi=function(A){function t(e,t){var n=A.call(this,e,t)||this;return n.src=t.currentSrc||t.src,n.intrinsicWidth=t.naturalWidth,n.intrinsicHeight=t.naturalHeight,n.context.cache.addImage(n.src),n}return e(t,A),t}(Uo),Oi=function(A){function t(e,t){var n=A.call(this,e,t)||this;return n.canvas=t,n.intrinsicWidth=t.width,n.intrinsicHeight=t.height,n}return e(t,A),t}(Uo),Vi=function(A){function t(e,t){var n=A.call(this,e,t)||this,r=new XMLSerializer,o=s(e,t);return t.setAttribute("width",o.width+"px"),t.setAttribute("height",o.height+"px"),n.svg="data:image/svg+xml,"+encodeURIComponent(r.serializeToString(t)),n.intrinsicWidth=t.width.baseVal.value,n.intrinsicHeight=t.height.baseVal.value,n.context.cache.addImage(n.svg),n}return e(t,A),t}(Uo),Ni=function(A){function t(e,t){var n=A.call(this,e,t)||this;return n.value=t.value,n}return e(t,A),t}(Uo),Gi=function(A){function t(e,t){var n=A.call(this,e,t)||this;return n.start=t.start,n.reversed="boolean"==typeof t.reversed&&!0===t.reversed,n}return e(t,A),t}(Uo),Wi=[{type:15,flags:0,unit:"px",number:3}],_i=[{type:16,flags:0,number:50}],Xi=function(A){return A.width>A.height?new i(A.left+(A.width-A.height)/2,A.top,A.height,A.height):A.width<A.height?new i(A.left,A.top+(A.height-A.width)/2,A.width,A.width):A},Ji=function(A){var e=A.type===Zi?new Array(A.value.length+1).join("•"):A.value;return 0===e.length?A.placeholder||"":e},Yi="checkbox",$i="radio",Zi="password",zi=707406591,ji=function(A){function t(e,t){var n=A.call(this,e,t)||this;switch(n.type=t.type.toLowerCase(),n.checked=t.checked,n.value=Ji(t),n.type!==Yi&&n.type!==$i||(n.styles.backgroundColor=3739148031,n.styles.borderTopColor=n.styles.borderRightColor=n.styles.borderBottomColor=n.styles.borderLeftColor=2779096575,n.styles.borderTopWidth=n.styles.borderRightWidth=n.styles.borderBottomWidth=n.styles.borderLeftWidth=1,n.styles.borderTopStyle=n.styles.borderRightStyle=n.styles.borderBottomStyle=n.styles.borderLeftStyle=1,n.styles.backgroundClip=[0],n.styles.backgroundOrigin=[0],n.bounds=Xi(n.bounds)),n.type){case Yi:n.styles.borderTopRightRadius=n.styles.borderTopLeftRadius=n.styles.borderBottomRightRadius=n.styles.borderBottomLeftRadius=Wi;break;case $i:n.styles.borderTopRightRadius=n.styles.borderTopLeftRadius=n.styles.borderBottomRightRadius=n.styles.borderBottomLeftRadius=_i}return n}return e(t,A),t}(Uo),qi=function(A){function t(e,t){var n=A.call(this,e,t)||this,r=t.options[t.selectedIndex||0];return n.value=r&&r.text||"",n}return e(t,A),t}(Uo),As=function(A){function t(e,t){var n=A.call(this,e,t)||this;return n.value=t.value,n}return e(t,A),t}(Uo),es=function(A){function t(e,t){var n=A.call(this,e,t)||this;n.src=t.src,n.width=parseInt(t.width,10)||0,n.height=parseInt(t.height,10)||0,n.backgroundColor=n.styles.backgroundColor;try{if(t.contentWindow&&t.contentWindow.document&&t.contentWindow.document.documentElement){n.tree=os(e,t.contentWindow.document.documentElement);var r=t.contentWindow.document.documentElement?un(e,getComputedStyle(t.contentWindow.document.documentElement).backgroundColor):hn.TRANSPARENT,o=t.contentWindow.document.body?un(e,getComputedStyle(t.contentWindow.document.body).backgroundColor):hn.TRANSPARENT;n.backgroundColor=tn(r)?tn(o)?n.styles.backgroundColor:o:r}}catch(A){}return n}return e(t,A),t}(Uo),ts=["OL","UL","MENU"],ns=function(A,e,t,n){for(var r=e.firstChild,o=void 0;r;r=o)if(o=r.nextSibling,as(r)&&r.data.trim().length>0)t.textNodes.push(new ki(A,r,t.styles));else if(cs(r))if(vs(r)&&r.assignedNodes)r.assignedNodes().forEach(function(e){return ns(A,e,t,n)});else{var i=rs(A,r);i.styles.isVisible()&&(is(r,i,n)?i.flags|=4:ss(i.styles)&&(i.flags|=2),-1!==ts.indexOf(r.tagName)&&(i.flags|=8),t.elements.push(i),r.slot,r.shadowRoot?ns(A,r.shadowRoot,i,n):Fs(r)||fs(r)||bs(r)||ns(A,r,i,n))}},rs=function(A,e){return Cs(e)?new Pi(A,e):ps(e)?new Oi(A,e):fs(e)?new Vi(A,e):hs(e)?new Ni(A,e):gs(e)?new Gi(A,e):ds(e)?new ji(A,e):bs(e)?new qi(A,e):Fs(e)?new As(A,e):Qs(e)?new es(A,e):new Uo(A,e)},os=function(A,e){var t=rs(A,e);return t.flags|=4,ns(A,e,t,t),t},is=function(A,e,t){return e.styles.isPositionedWithZIndex()||e.styles.opacity<1||e.styles.isTransformed()||ws(A)&&t.styles.isTransparent()},ss=function(A){return A.isPositioned()||A.isFloating()},as=function(A){return A.nodeType===Node.TEXT_NODE},cs=function(A){return A.nodeType===Node.ELEMENT_NODE},ls=function(A){return cs(A)&&void 0!==A.style&&!us(A)},us=function(A){return"object"==typeof A.className},hs=function(A){return"LI"===A.tagName},gs=function(A){return"OL"===A.tagName},ds=function(A){return"INPUT"===A.tagName},Bs=function(A){return"HTML"===A.tagName},fs=function(A){return"svg"===A.tagName},ws=function(A){return"BODY"===A.tagName},ps=function(A){return"CANVAS"===A.tagName},ms=function(A){return"VIDEO"===A.tagName},Cs=function(A){return"IMG"===A.tagName},Qs=function(A){return"IFRAME"===A.tagName},ys=function(A){return"STYLE"===A.tagName},Us=function(A){return"SCRIPT"===A.tagName},Fs=function(A){return"TEXTAREA"===A.tagName},bs=function(A){return"SELECT"===A.tagName},vs=function(A){return"SLOT"===A.tagName},Es=function(A){return A.tagName.indexOf("-")>0},Hs=function(){function A(){this.counters={}}return A.prototype.getCounterValue=function(A){var e=this.counters[A];return e&&e.length?e[e.length-1]:1},A.prototype.getCounterValues=function(A){var e=this.counters[A];return e||[]},A.prototype.pop=function(A){var e=this;A.forEach(function(A){return e.counters[A].pop()})},A.prototype.parse=function(A){var e=this,t=A.counterIncrement,n=A.counterReset,r=!0;null!==t&&t.forEach(function(A){var t=e.counters[A.counter];t&&0!==A.increment&&(r=!1,t.length||t.push(1),t[Math.max(0,t.length-1)]+=A.increment)});var o=[];return r&&n.forEach(function(A){var t=e.counters[A.counter];o.push(A.counter),t||(t=e.counters[A.counter]=[]),t.push(A.reset)}),o},A}(),Is={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},xs={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},Ss={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},Ls={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},Ms=function(A,e,t,n,r,o){return A<e||A>t?Xs(A,r,o.length>0):n.integers.reduce(function(e,t,r){for(;A>=t;)A-=t,e+=n.values[r];return e},"")+o},Ds=function(A,e,t,n){var r="";do{t||A--,r=n(A)+r,A/=e}while(A*e>=e);return r},ks=function(A,e,t,n,r){var o=t-e+1;return(A<0?"-":"")+(Ds(Math.abs(A),o,n,function(A){return l(Math.floor(A%o)+e)})+r)},Ks=function(A,e,t){void 0===t&&(t=". ");var n=e.length;return Ds(Math.abs(A),n,!1,function(A){return e[Math.floor(A%n)]})+t},Ts=1,Rs=2,Ps=4,Os=8,Vs=function(A,e,t,n,r,o){if(A<-9999||A>9999)return Xs(A,4,r.length>0);var i=Math.abs(A),s=r;if(0===i)return e[0]+s;for(var a=0;i>0&&a<=4;a++){var c=i%10;0===c&&ro(o,Ts)&&""!==s?s=e[c]+s:c>1||1===c&&0===a||1===c&&1===a&&ro(o,Rs)||1===c&&1===a&&ro(o,Ps)&&A>100||1===c&&a>1&&ro(o,Os)?s=e[c]+(a>0?t[a-1]:"")+s:1===c&&a>0&&(s=t[a-1]+s),i=Math.floor(i/10)}return(A<0?n:"")+s},Ns="十百千萬",Gs="拾佰仟萬",Ws="マイナス",_s="마이너스",Xs=function(A,e,t){var n=t?". ":"",r=t?"、":"",o=t?", ":"",i=t?" ":"";switch(e){case 0:return"•"+i;case 1:return"◦"+i;case 2:return"◾"+i;case 5:var s=ks(A,48,57,!0,n);return s.length<4?"0"+s:s;case 4:return Ks(A,"〇一二三四五六七八九",r);case 6:return Ms(A,1,3999,Is,3,n).toLowerCase();case 7:return Ms(A,1,3999,Is,3,n);case 8:return ks(A,945,969,!1,n);case 9:return ks(A,97,122,!1,n);case 10:return ks(A,65,90,!1,n);case 11:return ks(A,1632,1641,!0,n);case 12:case 49:return Ms(A,1,9999,xs,3,n);case 35:return Ms(A,1,9999,xs,3,n).toLowerCase();case 13:return ks(A,2534,2543,!0,n);case 14:case 30:return ks(A,6112,6121,!0,n);case 15:return Ks(A,"子丑寅卯辰巳午未申酉戌亥",r);case 16:return Ks(A,"甲乙丙丁戊己庚辛壬癸",r);case 17:case 48:return Vs(A,"零一二三四五六七八九",Ns,"負",r,Rs|Ps|Os);case 47:return Vs(A,"零壹貳參肆伍陸柒捌玖",Gs,"負",r,Ts|Rs|Ps|Os);case 42:return Vs(A,"零一二三四五六七八九",Ns,"负",r,Rs|Ps|Os);case 41:return Vs(A,"零壹贰叁肆伍陆柒捌玖",Gs,"负",r,Ts|Rs|Ps|Os);case 26:return Vs(A,"〇一二三四五六七八九","十百千万",Ws,r,0);case 25:return Vs(A,"零壱弐参四伍六七八九","拾百千万",Ws,r,Ts|Rs|Ps);case 31:return Vs(A,"영일이삼사오육칠팔구","십백천만",_s,o,Ts|Rs|Ps);case 33:return Vs(A,"零一二三四五六七八九","十百千萬",_s,o,0);case 32:return Vs(A,"零壹貳參四五六七八九","拾百千",_s,o,Ts|Rs|Ps);case 18:return ks(A,2406,2415,!0,n);case 20:return Ms(A,1,19999,Ls,3,n);case 21:return ks(A,2790,2799,!0,n);case 22:return ks(A,2662,2671,!0,n);case 22:return Ms(A,1,10999,Ss,3,n);case 23:return Ks(A,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return Ks(A,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return ks(A,3302,3311,!0,n);case 28:return Ks(A,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",r);case 29:return Ks(A,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",r);case 34:return ks(A,3792,3801,!0,n);case 37:return ks(A,6160,6169,!0,n);case 38:return ks(A,4160,4169,!0,n);case 39:return ks(A,2918,2927,!0,n);case 40:return ks(A,1776,1785,!0,n);case 43:return ks(A,3046,3055,!0,n);case 44:return ks(A,3174,3183,!0,n);case 45:return ks(A,3664,3673,!0,n);case 46:return ks(A,3872,3881,!0,n);default:return ks(A,48,57,!0,n)}},Js="data-html2canvas-ignore",Ys=function(){function A(A,e,t){if(this.context=A,this.options=t,this.scrolledElements=[],this.referenceElement=e,this.counters=new Hs,this.quoteDepth=0,!e.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(e.ownerDocument.documentElement,!1)}return A.prototype.toIFrame=function(A,e){var t=this,o=Zs(A,e);if(!o.contentWindow)return Promise.reject("Unable to find iframe window");var i=A.defaultView.pageXOffset,s=A.defaultView.pageYOffset,a=o.contentWindow,c=a.document,l=qs(o).then(function(){return n(t,void 0,void 0,function(){var A,t;return r(this,function(n){switch(n.label){case 0:return this.scrolledElements.forEach(ra),a&&(a.scrollTo(e.left,e.top),!/(iPad|iPhone|iPod)/g.test(navigator.userAgent)||a.scrollY===e.top&&a.scrollX===e.left||(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(a.scrollX-e.left,a.scrollY-e.top,0,0))),A=this.options.onclone,void 0===(t=this.clonedReferenceElement)?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:c.fonts&&c.fonts.ready?[4,c.fonts.ready]:[3,2];case 1:n.sent(),n.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,js(c)]:[3,4];case 3:n.sent(),n.label=4;case 4:return"function"==typeof A?[2,Promise.resolve().then(function(){return A(c,t)}).then(function(){return o})]:[2,o]}})})});return c.open(),c.write(ta(document.doctype)+"<html></html>"),na(this.referenceElement.ownerDocument,i,s),c.replaceChild(c.adoptNode(this.documentElement),c.documentElement),c.close(),l},A.prototype.createElementClone=function(A){if(yo(A,2),ps(A))return this.createCanvasClone(A);if(ms(A))return this.createVideoClone(A);if(ys(A))return this.createStyleClone(A);var e=A.cloneNode(!1);return Cs(e)&&(Cs(A)&&A.currentSrc&&A.currentSrc!==A.src&&(e.src=A.currentSrc,e.srcset=""),"lazy"===e.loading&&(e.loading="eager")),Es(e)?this.createCustomElementClone(e):e},A.prototype.createCustomElementClone=function(A){var e=document.createElement("html2canvascustomelement");return ea(A.style,e),e},A.prototype.createStyleClone=function(A){try{var e=A.sheet;if(e&&e.cssRules){var t=[].slice.call(e.cssRules,0).reduce(function(A,e){return e&&"string"==typeof e.cssText?A+e.cssText:A},""),n=A.cloneNode(!1);return n.textContent=t,n}}catch(A){if(this.context.logger.error("Unable to access cssRules property",A),"SecurityError"!==A.name)throw A}return A.cloneNode(!1)},A.prototype.createCanvasClone=function(A){var e;if(this.options.inlineImages&&A.ownerDocument){var t=A.ownerDocument.createElement("img");try{return t.src=A.toDataURL(),t}catch(e){this.context.logger.info("Unable to inline canvas contents, canvas is tainted",A)}}var n=A.cloneNode(!1);try{n.width=A.width,n.height=A.height;var r=A.getContext("2d"),o=n.getContext("2d");if(o)if(!this.options.allowTaint&&r)o.putImageData(r.getImageData(0,0,A.width,A.height),0,0);else{var i=null!==(e=A.getContext("webgl2"))&&void 0!==e?e:A.getContext("webgl");if(i){var s=i.getContextAttributes();!1===(null==s?void 0:s.preserveDrawingBuffer)&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",A)}o.drawImage(A,0,0)}return n}catch(e){this.context.logger.info("Unable to clone canvas as it is tainted",A)}return n},A.prototype.createVideoClone=function(A){var e=A.ownerDocument.createElement("canvas");e.width=A.offsetWidth,e.height=A.offsetHeight;var t=e.getContext("2d");try{return t&&(t.drawImage(A,0,0,e.width,e.height),this.options.allowTaint||t.getImageData(0,0,e.width,e.height)),e}catch(e){this.context.logger.info("Unable to clone video as it is tainted",A)}var n=A.ownerDocument.createElement("canvas");return n.width=A.offsetWidth,n.height=A.offsetHeight,n},A.prototype.appendChildNode=function(A,e,t){cs(e)&&(Us(e)||e.hasAttribute(Js)||"function"==typeof this.options.ignoreElements&&this.options.ignoreElements(e))||this.options.copyStyles&&cs(e)&&ys(e)||A.appendChild(this.cloneNode(e,t))},A.prototype.cloneChildNodes=function(A,e,t){for(var n=this,r=A.shadowRoot?A.shadowRoot.firstChild:A.firstChild;r;r=r.nextSibling)if(cs(r)&&vs(r)&&"function"==typeof r.assignedNodes){var o=r.assignedNodes();o.length&&o.forEach(function(A){return n.appendChildNode(e,A,t)})}else this.appendChildNode(e,r,t)},A.prototype.cloneNode=function(A,e){if(as(A))return document.createTextNode(A.data);if(!A.ownerDocument)return A.cloneNode(!1);var t=A.ownerDocument.defaultView;if(t&&cs(A)&&(ls(A)||us(A))){var n=this.createElementClone(A);n.style.transitionProperty="none";var r=t.getComputedStyle(A),o=t.getComputedStyle(A,":before"),i=t.getComputedStyle(A,":after");this.referenceElement===A&&ls(n)&&(this.clonedReferenceElement=n),ws(n)&&la(n);var s=this.counters.parse(new po(this.context,r)),a=this.resolvePseudoContent(A,n,o,Xo.BEFORE);Es(A)&&(e=!0),ms(A)||this.cloneChildNodes(A,n,e),a&&n.insertBefore(a,n.firstChild);var c=this.resolvePseudoContent(A,n,i,Xo.AFTER);return c&&n.appendChild(c),this.counters.pop(s),(r&&(this.options.copyStyles||us(A))&&!Qs(A)||e)&&ea(r,n),0===A.scrollTop&&0===A.scrollLeft||this.scrolledElements.push([n,A.scrollLeft,A.scrollTop]),(Fs(A)||bs(A))&&(Fs(n)||bs(n))&&(n.value=A.value),n}return A.cloneNode(!1)},A.prototype.resolvePseudoContent=function(A,e,t,n){var r=this;if(t){var o=t.content,i=e.ownerDocument;if(i&&o&&"none"!==o&&"-moz-alt-content"!==o&&"none"!==t.display){this.counters.parse(new po(this.context,t));var s=new wo(this.context,t),a=i.createElement("html2canvaspseudoelement");ea(t,a),s.content.forEach(function(e){if(0===e.type)a.appendChild(i.createTextNode(e.value));else if(22===e.type){var t=i.createElement("img");t.src=e.value,t.style.opacity="1",a.appendChild(t)}else if(18===e.type){if("attr"===e.name){var n=e.values.filter(Lt);n.length&&a.appendChild(i.createTextNode(A.getAttribute(n[0].value)||""))}else if("counter"===e.name){var o=e.values.filter(Kt),c=o[0],l=o[1];if(c&&Lt(c)){var u=r.counters.getCounterValue(c.value),h=l&&Lt(l)?Fr.parse(r.context,l.value):3;a.appendChild(i.createTextNode(Xs(u,h,!1)))}}else if("counters"===e.name){var g=e.values.filter(Kt),d=(c=g[0],g[1]);if(l=g[2],c&&Lt(c)){var B=r.counters.getCounterValues(c.value),f=l&&Lt(l)?Fr.parse(r.context,l.value):3,w=d&&0===d.type?d.value:"",p=B.map(function(A){return Xs(A,f,!1)}).join(w);a.appendChild(i.createTextNode(p))}}}else if(20===e.type)switch(e.value){case"open-quote":a.appendChild(i.createTextNode(lo(s.quotes,r.quoteDepth++,!0)));break;case"close-quote":a.appendChild(i.createTextNode(lo(s.quotes,--r.quoteDepth,!1)));break;default:a.appendChild(i.createTextNode(e.value))}}),a.className=sa+" "+aa;var c=n===Xo.BEFORE?" "+sa:" "+aa;return us(e)?e.className.baseValue+=c:e.className+=c,a}}},A.destroy=function(A){return!!A.parentNode&&(A.parentNode.removeChild(A),!0)},A}();!function(A){A[A.BEFORE=0]="BEFORE",A[A.AFTER=1]="AFTER"}(Xo||(Xo={}));var $s,Zs=function(A,e){var t=A.createElement("iframe");return t.className="html2canvas-container",t.style.visibility="hidden",t.style.position="fixed",t.style.left="-10000px",t.style.top="0px",t.style.border="0",t.width=e.width.toString(),t.height=e.height.toString(),t.scrolling="no",t.setAttribute(Js,"true"),A.body.appendChild(t),t},zs=function(A){return new Promise(function(e){A.complete?e():A.src?(A.onload=e,A.onerror=e):e()})},js=function(A){return Promise.all([].slice.call(A.images,0).map(zs))},qs=function(A){return new Promise(function(e,t){var n=A.contentWindow;if(!n)return t("No window assigned for iframe");var r=n.document;n.onload=A.onload=function(){n.onload=A.onload=null;var t=setInterval(function(){r.body.childNodes.length>0&&"complete"===r.readyState&&(clearInterval(t),e(A))},50)}})},Aa=["all","d","content"],ea=function(A,e){for(var t=A.length-1;t>=0;t--){var n=A.item(t);-1===Aa.indexOf(n)&&e.style.setProperty(n,A.getPropertyValue(n))}return e},ta=function(A){var e="";return A&&(e+="<!DOCTYPE ",A.name&&(e+=A.name),A.internalSubset&&(e+=A.internalSubset),A.publicId&&(e+='"'+A.publicId+'"'),A.systemId&&(e+='"'+A.systemId+'"'),e+=">"),e},na=function(A,e,t){A&&A.defaultView&&(e!==A.defaultView.pageXOffset||t!==A.defaultView.pageYOffset)&&A.defaultView.scrollTo(e,t)},ra=function(A){var e=A[0],t=A[1],n=A[2];e.scrollLeft=t,e.scrollTop=n},oa=":before",ia=":after",sa="___html2canvas___pseudoelement_before",aa="___html2canvas___pseudoelement_after",ca='{\n content: "" !important;\n display: none !important;\n}',la=function(A){ua(A,"."+sa+oa+ca+"\n ."+aa+ia+ca)},ua=function(A,e){var t=A.ownerDocument;if(t){var n=t.createElement("style");n.textContent=e,A.appendChild(n)}},ha=function(){function A(){}return A.getOrigin=function(e){var t=A._link;return t?(t.href=e,t.href=t.href,t.protocol+t.hostname+t.port):"about:blank"},A.isSameOrigin=function(e){return A.getOrigin(e)===A._origin},A.setContext=function(e){A._link=e.document.createElement("a"),A._origin=A.getOrigin(e.location.href)},A._origin="about:blank",A}(),ga=function(){function A(A,e){this.context=A,this._options=e,this._cache={}}return A.prototype.addImage=function(A){var e=Promise.resolve();return this.has(A)?e:Ca(A)||wa(A)?((this._cache[A]=this.loadImage(A)).catch(function(){}),e):e},A.prototype.match=function(A){return this._cache[A]},A.prototype.loadImage=function(A){return n(this,void 0,void 0,function(){var e,t,n,o,i=this;return r(this,function(r){switch(r.label){case 0:return e=ha.isSameOrigin(A),t=!pa(A)&&!0===this._options.useCORS&&bi.SUPPORT_CORS_IMAGES&&!e,n=!pa(A)&&!e&&!Ca(A)&&"string"==typeof this._options.proxy&&bi.SUPPORT_CORS_XHR&&!t,e||!1!==this._options.allowTaint||pa(A)||Ca(A)||n||t?(o=A,n?[4,this.proxy(o)]:[3,2]):[2];case 1:o=r.sent(),r.label=2;case 2:return this.context.logger.debug("Added image "+A.substring(0,256)),[4,new Promise(function(A,e){var n=new Image;n.onload=function(){return A(n)},n.onerror=e,(ma(o)||t)&&(n.crossOrigin="anonymous"),n.src=o,!0===n.complete&&setTimeout(function(){return A(n)},500),i._options.imageTimeout>0&&setTimeout(function(){return e("Timed out ("+i._options.imageTimeout+"ms) loading image")},i._options.imageTimeout)})];case 3:return[2,r.sent()]}})})},A.prototype.has=function(A){return void 0!==this._cache[A]},A.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},A.prototype.proxy=function(A){var e=this,t=this._options.proxy;if(!t)throw new Error("No proxy defined");var n=A.substring(0,256);return new Promise(function(r,o){var i=bi.SUPPORT_RESPONSE_TYPE?"blob":"text",s=new XMLHttpRequest;s.onload=function(){if(200===s.status)if("text"===i)r(s.response);else{var A=new FileReader;A.addEventListener("load",function(){return r(A.result)},!1),A.addEventListener("error",function(A){return o(A)},!1),A.readAsDataURL(s.response)}else o("Failed to proxy resource "+n+" with status code "+s.status)},s.onerror=o;var a=t.indexOf("?")>-1?"&":"?";if(s.open("GET",""+t+a+"url="+encodeURIComponent(A)+"&responseType="+i),"text"!==i&&s instanceof XMLHttpRequest&&(s.responseType=i),e._options.imageTimeout){var c=e._options.imageTimeout;s.timeout=c,s.ontimeout=function(){return o("Timed out ("+c+"ms) proxying "+n)}}s.send()})},A}(),da=/^data:image\/svg\+xml/i,Ba=/^data:image\/.*;base64,/i,fa=/^data:image\/.*/i,wa=function(A){return bi.SUPPORT_SVG_DRAWING||!Qa(A)},pa=function(A){return fa.test(A)},ma=function(A){return Ba.test(A)},Ca=function(A){return"blob"===A.substr(0,4)},Qa=function(A){return"svg"===A.substr(-3).toLowerCase()||da.test(A)},ya=function(){function A(A,e){this.type=0,this.x=A,this.y=e}return A.prototype.add=function(e,t){return new A(this.x+e,this.y+t)},A}(),Ua=function(A,e,t){return new ya(A.x+(e.x-A.x)*t,A.y+(e.y-A.y)*t)},Fa=function(){function A(A,e,t,n){this.type=1,this.start=A,this.startControl=e,this.endControl=t,this.end=n}return A.prototype.subdivide=function(e,t){var n=Ua(this.start,this.startControl,e),r=Ua(this.startControl,this.endControl,e),o=Ua(this.endControl,this.end,e),i=Ua(n,r,e),s=Ua(r,o,e),a=Ua(i,s,e);return t?new A(this.start,n,i,a):new A(a,s,o,this.end)},A.prototype.add=function(e,t){return new A(this.start.add(e,t),this.startControl.add(e,t),this.endControl.add(e,t),this.end.add(e,t))},A.prototype.reverse=function(){return new A(this.end,this.endControl,this.startControl,this.start)},A}(),ba=function(A){return 1===A.type},va=function(){function A(A){var e=A.styles,t=A.bounds,n=_t(e.borderTopLeftRadius,t.width,t.height),r=n[0],o=n[1],i=_t(e.borderTopRightRadius,t.width,t.height),s=i[0],a=i[1],c=_t(e.borderBottomRightRadius,t.width,t.height),l=c[0],u=c[1],h=_t(e.borderBottomLeftRadius,t.width,t.height),g=h[0],d=h[1],B=[];B.push((r+s)/t.width),B.push((g+l)/t.width),B.push((o+d)/t.height),B.push((a+u)/t.height);var f=Math.max.apply(Math,B);f>1&&(r/=f,o/=f,s/=f,a/=f,l/=f,u/=f,g/=f,d/=f);var w=t.width-s,p=t.height-u,m=t.width-l,C=t.height-d,Q=e.borderTopWidth,y=e.borderRightWidth,U=e.borderBottomWidth,F=e.borderLeftWidth,b=Xt(e.paddingTop,A.bounds.width),v=Xt(e.paddingRight,A.bounds.width),E=Xt(e.paddingBottom,A.bounds.width),H=Xt(e.paddingLeft,A.bounds.width);this.topLeftBorderDoubleOuterBox=r>0||o>0?Ea(t.left+F/3,t.top+Q/3,r-F/3,o-Q/3,$s.TOP_LEFT):new ya(t.left+F/3,t.top+Q/3),this.topRightBorderDoubleOuterBox=r>0||o>0?Ea(t.left+w,t.top+Q/3,s-y/3,a-Q/3,$s.TOP_RIGHT):new ya(t.left+t.width-y/3,t.top+Q/3),this.bottomRightBorderDoubleOuterBox=l>0||u>0?Ea(t.left+m,t.top+p,l-y/3,u-U/3,$s.BOTTOM_RIGHT):new ya(t.left+t.width-y/3,t.top+t.height-U/3),this.bottomLeftBorderDoubleOuterBox=g>0||d>0?Ea(t.left+F/3,t.top+C,g-F/3,d-U/3,$s.BOTTOM_LEFT):new ya(t.left+F/3,t.top+t.height-U/3),this.topLeftBorderDoubleInnerBox=r>0||o>0?Ea(t.left+2*F/3,t.top+2*Q/3,r-2*F/3,o-2*Q/3,$s.TOP_LEFT):new ya(t.left+2*F/3,t.top+2*Q/3),this.topRightBorderDoubleInnerBox=r>0||o>0?Ea(t.left+w,t.top+2*Q/3,s-2*y/3,a-2*Q/3,$s.TOP_RIGHT):new ya(t.left+t.width-2*y/3,t.top+2*Q/3),this.bottomRightBorderDoubleInnerBox=l>0||u>0?Ea(t.left+m,t.top+p,l-2*y/3,u-2*U/3,$s.BOTTOM_RIGHT):new ya(t.left+t.width-2*y/3,t.top+t.height-2*U/3),this.bottomLeftBorderDoubleInnerBox=g>0||d>0?Ea(t.left+2*F/3,t.top+C,g-2*F/3,d-2*U/3,$s.BOTTOM_LEFT):new ya(t.left+2*F/3,t.top+t.height-2*U/3),this.topLeftBorderStroke=r>0||o>0?Ea(t.left+F/2,t.top+Q/2,r-F/2,o-Q/2,$s.TOP_LEFT):new ya(t.left+F/2,t.top+Q/2),this.topRightBorderStroke=r>0||o>0?Ea(t.left+w,t.top+Q/2,s-y/2,a-Q/2,$s.TOP_RIGHT):new ya(t.left+t.width-y/2,t.top+Q/2),this.bottomRightBorderStroke=l>0||u>0?Ea(t.left+m,t.top+p,l-y/2,u-U/2,$s.BOTTOM_RIGHT):new ya(t.left+t.width-y/2,t.top+t.height-U/2),this.bottomLeftBorderStroke=g>0||d>0?Ea(t.left+F/2,t.top+C,g-F/2,d-U/2,$s.BOTTOM_LEFT):new ya(t.left+F/2,t.top+t.height-U/2),this.topLeftBorderBox=r>0||o>0?Ea(t.left,t.top,r,o,$s.TOP_LEFT):new ya(t.left,t.top),this.topRightBorderBox=s>0||a>0?Ea(t.left+w,t.top,s,a,$s.TOP_RIGHT):new ya(t.left+t.width,t.top),this.bottomRightBorderBox=l>0||u>0?Ea(t.left+m,t.top+p,l,u,$s.BOTTOM_RIGHT):new ya(t.left+t.width,t.top+t.height),this.bottomLeftBorderBox=g>0||d>0?Ea(t.left,t.top+C,g,d,$s.BOTTOM_LEFT):new ya(t.left,t.top+t.height),this.topLeftPaddingBox=r>0||o>0?Ea(t.left+F,t.top+Q,Math.max(0,r-F),Math.max(0,o-Q),$s.TOP_LEFT):new ya(t.left+F,t.top+Q),this.topRightPaddingBox=s>0||a>0?Ea(t.left+Math.min(w,t.width-y),t.top+Q,w>t.width+y?0:Math.max(0,s-y),Math.max(0,a-Q),$s.TOP_RIGHT):new ya(t.left+t.width-y,t.top+Q),this.bottomRightPaddingBox=l>0||u>0?Ea(t.left+Math.min(m,t.width-F),t.top+Math.min(p,t.height-U),Math.max(0,l-y),Math.max(0,u-U),$s.BOTTOM_RIGHT):new ya(t.left+t.width-y,t.top+t.height-U),this.bottomLeftPaddingBox=g>0||d>0?Ea(t.left+F,t.top+Math.min(C,t.height-U),Math.max(0,g-F),Math.max(0,d-U),$s.BOTTOM_LEFT):new ya(t.left+F,t.top+t.height-U),this.topLeftContentBox=r>0||o>0?Ea(t.left+F+H,t.top+Q+b,Math.max(0,r-(F+H)),Math.max(0,o-(Q+b)),$s.TOP_LEFT):new ya(t.left+F+H,t.top+Q+b),this.topRightContentBox=s>0||a>0?Ea(t.left+Math.min(w,t.width+F+H),t.top+Q+b,w>t.width+F+H?0:s-F+H,a-(Q+b),$s.TOP_RIGHT):new ya(t.left+t.width-(y+v),t.top+Q+b),this.bottomRightContentBox=l>0||u>0?Ea(t.left+Math.min(m,t.width-(F+H)),t.top+Math.min(p,t.height+Q+b),Math.max(0,l-(y+v)),u-(U+E),$s.BOTTOM_RIGHT):new ya(t.left+t.width-(y+v),t.top+t.height-(U+E)),this.bottomLeftContentBox=g>0||d>0?Ea(t.left+F+H,t.top+C,Math.max(0,g-(F+H)),d-(U+E),$s.BOTTOM_LEFT):new ya(t.left+F+H,t.top+t.height-(U+E))}return A}();!function(A){A[A.TOP_LEFT=0]="TOP_LEFT",A[A.TOP_RIGHT=1]="TOP_RIGHT",A[A.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",A[A.BOTTOM_LEFT=3]="BOTTOM_LEFT"}($s||($s={}));var Ea=function(A,e,t,n,r){var o=(Math.sqrt(2)-1)/3*4,i=t*o,s=n*o,a=A+t,c=e+n;switch(r){case $s.TOP_LEFT:return new Fa(new ya(A,c),new ya(A,c-s),new ya(a-i,e),new ya(a,e));case $s.TOP_RIGHT:return new Fa(new ya(A,e),new ya(A+i,e),new ya(a,c-s),new ya(a,c));case $s.BOTTOM_RIGHT:return new Fa(new ya(a,e),new ya(a,e+s),new ya(A+i,c),new ya(A,c));case $s.BOTTOM_LEFT:default:return new Fa(new ya(a,c),new ya(a-i,c),new ya(A,e+s),new ya(A,e))}},Ha=function(A){return[A.topLeftBorderBox,A.topRightBorderBox,A.bottomRightBorderBox,A.bottomLeftBorderBox]},Ia=function(A){return[A.topLeftContentBox,A.topRightContentBox,A.bottomRightContentBox,A.bottomLeftContentBox]},xa=function(A){return[A.topLeftPaddingBox,A.topRightPaddingBox,A.bottomRightPaddingBox,A.bottomLeftPaddingBox]},Sa=function(){function A(A,e,t){this.offsetX=A,this.offsetY=e,this.matrix=t,this.type=0,this.target=6}return A}(),La=function(){function A(A,e){this.path=A,this.target=e,this.type=1}return A}(),Ma=function(){function A(A){this.opacity=A,this.type=2,this.target=6}return A}(),Da=function(A){return 0===A.type},ka=function(A){return 1===A.type},Ka=function(A){return 2===A.type},Ta=function(A,e){return A.length===e.length&&A.some(function(A,t){return A===e[t]})},Ra=function(A,e,t,n,r){return A.map(function(A,o){switch(o){case 0:return A.add(e,t);case 1:return A.add(e+n,t);case 2:return A.add(e+n,t+r);case 3:return A.add(e,t+r)}return A})},Pa=function(){function A(A){this.element=A,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]}return A}(),Oa=function(){function A(A,e){if(this.container=A,this.parent=e,this.effects=[],this.curves=new va(this.container),this.container.styles.opacity<1&&this.effects.push(new Ma(this.container.styles.opacity)),null!==this.container.styles.transform){var t=this.container.bounds.left+this.container.styles.transformOrigin[0].number,n=this.container.bounds.top+this.container.styles.transformOrigin[1].number,r=this.container.styles.transform;this.effects.push(new Sa(t,n,r))}if(0!==this.container.styles.overflowX){var o=Ha(this.curves),i=xa(this.curves);Ta(o,i)?this.effects.push(new La(o,6)):(this.effects.push(new La(o,2)),this.effects.push(new La(i,4)))}}return A.prototype.getEffects=function(A){for(var e=-1===[2,3].indexOf(this.container.styles.position),t=this.parent,n=this.effects.slice(0);t;){var r=t.effects.filter(function(A){return!ka(A)});if(e||0!==t.container.styles.position||!t.parent){if(n.unshift.apply(n,r),e=-1===[2,3].indexOf(t.container.styles.position),0!==t.container.styles.overflowX){var o=Ha(t.curves),i=xa(t.curves);Ta(o,i)||n.unshift(new La(i,6))}}else n.unshift.apply(n,r);t=t.parent}return n.filter(function(e){return ro(e.target,A)})},A}(),Va=function(A,e,t,n){A.container.elements.forEach(function(r){var o=ro(r.flags,4),i=ro(r.flags,2),s=new Oa(r,A);ro(r.styles.display,2048)&&n.push(s);var a=ro(r.flags,8)?[]:n;if(o||i){var c=o||r.styles.isPositioned()?t:e,l=new Pa(s);if(r.styles.isPositioned()||r.styles.opacity<1||r.styles.isTransformed()){var u=r.styles.zIndex.order;if(u<0){var h=0;c.negativeZIndex.some(function(A,e){return u>A.element.container.styles.zIndex.order?(h=e,!1):h>0}),c.negativeZIndex.splice(h,0,l)}else if(u>0){var g=0;c.positiveZIndex.some(function(A,e){return u>=A.element.container.styles.zIndex.order?(g=e+1,!1):g>0}),c.positiveZIndex.splice(g,0,l)}else c.zeroOrAutoZIndexOrTransformedOrOpacity.push(l)}else r.styles.isFloating()?c.nonPositionedFloats.push(l):c.nonPositionedInlineLevel.push(l);Va(s,l,o?l:t,a)}else r.styles.isInlineLevel()?e.inlineLevel.push(s):e.nonInlineLevel.push(s),Va(s,e,t,a);ro(r.flags,8)&&Na(r,a)})},Na=function(A,e){for(var t=A instanceof Gi?A.start:1,n=A instanceof Gi&&A.reversed,r=0;r<e.length;r++){var o=e[r];o.container instanceof Ni&&"number"==typeof o.container.value&&0!==o.container.value&&(t=o.container.value),o.listValue=Xs(t,o.container.styles.listStyleType,!0),t+=n?-1:1}},Ga=function(A){var e=new Oa(A,null),t=new Pa(e),n=[];return Va(e,t,t,n),Na(e.container,n),t},Wa=function(A,e){switch(e){case 0:return $a(A.topLeftBorderBox,A.topLeftPaddingBox,A.topRightBorderBox,A.topRightPaddingBox);case 1:return $a(A.topRightBorderBox,A.topRightPaddingBox,A.bottomRightBorderBox,A.bottomRightPaddingBox);case 2:return $a(A.bottomRightBorderBox,A.bottomRightPaddingBox,A.bottomLeftBorderBox,A.bottomLeftPaddingBox);default:return $a(A.bottomLeftBorderBox,A.bottomLeftPaddingBox,A.topLeftBorderBox,A.topLeftPaddingBox)}},_a=function(A,e){switch(e){case 0:return $a(A.topLeftBorderBox,A.topLeftBorderDoubleOuterBox,A.topRightBorderBox,A.topRightBorderDoubleOuterBox);case 1:return $a(A.topRightBorderBox,A.topRightBorderDoubleOuterBox,A.bottomRightBorderBox,A.bottomRightBorderDoubleOuterBox);case 2:return $a(A.bottomRightBorderBox,A.bottomRightBorderDoubleOuterBox,A.bottomLeftBorderBox,A.bottomLeftBorderDoubleOuterBox);default:return $a(A.bottomLeftBorderBox,A.bottomLeftBorderDoubleOuterBox,A.topLeftBorderBox,A.topLeftBorderDoubleOuterBox)}},Xa=function(A,e){switch(e){case 0:return $a(A.topLeftBorderDoubleInnerBox,A.topLeftPaddingBox,A.topRightBorderDoubleInnerBox,A.topRightPaddingBox);case 1:return $a(A.topRightBorderDoubleInnerBox,A.topRightPaddingBox,A.bottomRightBorderDoubleInnerBox,A.bottomRightPaddingBox);case 2:return $a(A.bottomRightBorderDoubleInnerBox,A.bottomRightPaddingBox,A.bottomLeftBorderDoubleInnerBox,A.bottomLeftPaddingBox);default:return $a(A.bottomLeftBorderDoubleInnerBox,A.bottomLeftPaddingBox,A.topLeftBorderDoubleInnerBox,A.topLeftPaddingBox)}},Ja=function(A,e){switch(e){case 0:return Ya(A.topLeftBorderStroke,A.topRightBorderStroke);case 1:return Ya(A.topRightBorderStroke,A.bottomRightBorderStroke);case 2:return Ya(A.bottomRightBorderStroke,A.bottomLeftBorderStroke);default:return Ya(A.bottomLeftBorderStroke,A.topLeftBorderStroke)}},Ya=function(A,e){var t=[];return ba(A)?t.push(A.subdivide(.5,!1)):t.push(A),ba(e)?t.push(e.subdivide(.5,!0)):t.push(e),t},$a=function(A,e,t,n){var r=[];return ba(A)?r.push(A.subdivide(.5,!1)):r.push(A),ba(t)?r.push(t.subdivide(.5,!0)):r.push(t),ba(n)?r.push(n.subdivide(.5,!0).reverse()):r.push(n),ba(e)?r.push(e.subdivide(.5,!1).reverse()):r.push(e),r},Za=function(A){var e=A.bounds,t=A.styles;return e.add(t.borderLeftWidth,t.borderTopWidth,-(t.borderRightWidth+t.borderLeftWidth),-(t.borderTopWidth+t.borderBottomWidth))},za=function(A){var e=A.styles,t=A.bounds,n=Xt(e.paddingLeft,t.width),r=Xt(e.paddingRight,t.width),o=Xt(e.paddingTop,t.width),i=Xt(e.paddingBottom,t.width);return t.add(n+e.borderLeftWidth,o+e.borderTopWidth,-(e.borderRightWidth+e.borderLeftWidth+n+r),-(e.borderTopWidth+e.borderBottomWidth+o+i))},ja=function(A,e){return 0===A?e.bounds:2===A?za(e):Za(e)},qa=function(A,e){return 0===A?e.bounds:2===A?za(e):Za(e)},Ac=function(A,e,t){var n=ja(rc(A.styles.backgroundOrigin,e),A),r=qa(rc(A.styles.backgroundClip,e),A),o=nc(rc(A.styles.backgroundSize,e),t,n),i=o[0],s=o[1],a=_t(rc(A.styles.backgroundPosition,e),n.width-i,n.height-s);return[oc(rc(A.styles.backgroundRepeat,e),a,o,n,r),Math.round(n.left+a[0]),Math.round(n.top+a[1]),i,s]},ec=function(A){return Lt(A)&&A.value===Kn.AUTO},tc=function(A){return"number"==typeof A},nc=function(A,e,t){var n=e[0],r=e[1],o=e[2],i=A[0],s=A[1];if(!i)return[0,0];if(Ot(i)&&s&&Ot(s))return[Xt(i,t.width),Xt(s,t.height)];var a=tc(o);if(Lt(i)&&(i.value===Kn.CONTAIN||i.value===Kn.COVER))return tc(o)?t.width/t.height<o!=(i.value===Kn.COVER)?[t.width,t.width/o]:[t.height*o,t.height]:[t.width,t.height];var c=tc(n),l=tc(r),u=c||l;if(ec(i)&&(!s||ec(s)))return c&&l?[n,r]:a||u?u&&a?[c?n:r*o,l?r:n/o]:[c?n:t.width,l?r:t.height]:[t.width,t.height];if(a){var h=0,g=0;return Ot(i)?h=Xt(i,t.width):Ot(s)&&(g=Xt(s,t.height)),ec(i)?h=g*o:s&&!ec(s)||(g=h/o),[h,g]}var d=null,B=null;if(Ot(i)?d=Xt(i,t.width):s&&Ot(s)&&(B=Xt(s,t.height)),null===d||s&&!ec(s)||(B=c&&l?d/n*r:t.height),null!==B&&ec(i)&&(d=c&&l?B/r*n:t.width),null!==d&&null!==B)return[d,B];throw new Error("Unable to calculate background-size for element")},rc=function(A,e){var t=A[e];return void 0===t?A[0]:t},oc=function(A,e,t,n,r){var o=e[0],i=e[1],s=t[0],a=t[1];switch(A){case 2:return[new ya(Math.round(n.left),Math.round(n.top+i)),new ya(Math.round(n.left+n.width),Math.round(n.top+i)),new ya(Math.round(n.left+n.width),Math.round(a+n.top+i)),new ya(Math.round(n.left),Math.round(a+n.top+i))];case 3:return[new ya(Math.round(n.left+o),Math.round(n.top)),new ya(Math.round(n.left+o+s),Math.round(n.top)),new ya(Math.round(n.left+o+s),Math.round(n.height+n.top)),new ya(Math.round(n.left+o),Math.round(n.height+n.top))];case 1:return[new ya(Math.round(n.left+o),Math.round(n.top+i)),new ya(Math.round(n.left+o+s),Math.round(n.top+i)),new ya(Math.round(n.left+o+s),Math.round(n.top+i+a)),new ya(Math.round(n.left+o),Math.round(n.top+i+a))];default:return[new ya(Math.round(r.left),Math.round(r.top)),new ya(Math.round(r.left+r.width),Math.round(r.top)),new ya(Math.round(r.left+r.width),Math.round(r.height+r.top)),new ya(Math.round(r.left),Math.round(r.height+r.top))]}},ic="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",sc="Hidden Text",ac=function(){function A(A){this._data={},this._document=A}return A.prototype.parseMetrics=function(A,e){var t=this._document.createElement("div"),n=this._document.createElement("img"),r=this._document.createElement("span"),o=this._document.body;t.style.visibility="hidden",t.style.fontFamily=A,t.style.fontSize=e,t.style.margin="0",t.style.padding="0",t.style.whiteSpace="nowrap",o.appendChild(t),n.src=ic,n.width=1,n.height=1,n.style.margin="0",n.style.padding="0",n.style.verticalAlign="baseline",r.style.fontFamily=A,r.style.fontSize=e,r.style.margin="0",r.style.padding="0",r.appendChild(this._document.createTextNode(sc)),t.appendChild(r),t.appendChild(n);var i=n.offsetTop-r.offsetTop+2;t.removeChild(r),t.appendChild(this._document.createTextNode(sc)),t.style.lineHeight="normal",n.style.verticalAlign="super";var s=n.offsetTop-t.offsetTop+2;return o.removeChild(t),{baseline:i,middle:s}},A.prototype.getMetrics=function(A,e){var t=A+" "+e;return void 0===this._data[t]&&(this._data[t]=this.parseMetrics(A,e)),this._data[t]},A}(),cc=function(){function A(A,e){this.context=A,this.options=e}return A}(),lc=1e4,uc=function(A){function t(e,t){var n=A.call(this,e,t)||this;return n._activeEffects=[],n.canvas=t.canvas?t.canvas:document.createElement("canvas"),n.ctx=n.canvas.getContext("2d"),t.canvas||(n.canvas.width=Math.floor(t.width*t.scale),n.canvas.height=Math.floor(t.height*t.scale),n.canvas.style.width=t.width+"px",n.canvas.style.height=t.height+"px"),n.fontMetrics=new ac(document),n.ctx.scale(n.options.scale,n.options.scale),n.ctx.translate(-t.x,-t.y),n.ctx.textBaseline="bottom",n._activeEffects=[],n.context.logger.debug("Canvas renderer initialized ("+t.width+"x"+t.height+") with scale "+t.scale),n}return e(t,A),t.prototype.applyEffects=function(A){for(var e=this;this._activeEffects.length;)this.popEffect();A.forEach(function(A){return e.applyEffect(A)})},t.prototype.applyEffect=function(A){this.ctx.save(),Ka(A)&&(this.ctx.globalAlpha=A.opacity),Da(A)&&(this.ctx.translate(A.offsetX,A.offsetY),this.ctx.transform(A.matrix[0],A.matrix[1],A.matrix[2],A.matrix[3],A.matrix[4],A.matrix[5]),this.ctx.translate(-A.offsetX,-A.offsetY)),ka(A)&&(this.path(A.path),this.ctx.clip()),this._activeEffects.push(A)},t.prototype.popEffect=function(){this._activeEffects.pop(),this.ctx.restore()},t.prototype.renderStack=function(A){return n(this,void 0,void 0,function(){return r(this,function(e){switch(e.label){case 0:return A.element.container.styles.isVisible()?[4,this.renderStackContent(A)]:[3,2];case 1:e.sent(),e.label=2;case 2:return[2]}})})},t.prototype.renderNode=function(A){return n(this,void 0,void 0,function(){return r(this,function(e){switch(e.label){case 0:return ro(A.container.flags,16),A.container.styles.isVisible()?[4,this.renderNodeBackgroundAndBorders(A)]:[3,3];case 1:return e.sent(),[4,this.renderNodeContent(A)];case 2:e.sent(),e.label=3;case 3:return[2]}})})},t.prototype.renderTextWithLetterSpacing=function(A,e,t){var n=this;0===e?this.ctx.fillText(A.text,A.bounds.left,A.bounds.top+t):xi(A.text).reduce(function(e,r){return n.ctx.fillText(r,e,A.bounds.top+t),e+n.ctx.measureText(r).width},A.bounds.left)},t.prototype.createFontStyle=function(A){var e=A.fontVariant.filter(function(A){return"normal"===A||"small-caps"===A}).join(""),t=fc(A.fontFamily).join(", "),n=xt(A.fontSize)?""+A.fontSize.number+A.fontSize.unit:A.fontSize.number+"px";return[[A.fontStyle,e,A.fontWeight,n,t].join(" "),t,n]},t.prototype.renderTextNode=function(A,e){return n(this,void 0,void 0,function(){var t,n,o,i,s,a,c,l,u=this;return r(this,function(r){return t=this.createFontStyle(e),n=t[0],o=t[1],i=t[2],this.ctx.font=n,this.ctx.direction=1===e.direction?"rtl":"ltr",this.ctx.textAlign="left",this.ctx.textBaseline="alphabetic",s=this.fontMetrics.getMetrics(o,i),a=s.baseline,c=s.middle,l=e.paintOrder,A.textBounds.forEach(function(A){l.forEach(function(t){switch(t){case 0:u.ctx.fillStyle=nn(e.color),u.renderTextWithLetterSpacing(A,e.letterSpacing,a);var n=e.textShadow;n.length&&A.text.trim().length&&(n.slice(0).reverse().forEach(function(t){u.ctx.shadowColor=nn(t.color),u.ctx.shadowOffsetX=t.offsetX.number*u.options.scale,u.ctx.shadowOffsetY=t.offsetY.number*u.options.scale,u.ctx.shadowBlur=t.blur.number,u.renderTextWithLetterSpacing(A,e.letterSpacing,a)}),u.ctx.shadowColor="",u.ctx.shadowOffsetX=0,u.ctx.shadowOffsetY=0,u.ctx.shadowBlur=0),e.textDecorationLine.length&&(u.ctx.fillStyle=nn(e.textDecorationColor||e.color),e.textDecorationLine.forEach(function(e){switch(e){case 1:u.ctx.fillRect(A.bounds.left,Math.round(A.bounds.top+a),A.bounds.width,1);break;case 2:u.ctx.fillRect(A.bounds.left,Math.round(A.bounds.top),A.bounds.width,1);break;case 3:u.ctx.fillRect(A.bounds.left,Math.ceil(A.bounds.top+c),A.bounds.width,1)}}));break;case 1:e.webkitTextStrokeWidth&&A.text.trim().length&&(u.ctx.strokeStyle=nn(e.webkitTextStrokeColor),u.ctx.lineWidth=e.webkitTextStrokeWidth,u.ctx.lineJoin=window.chrome?"miter":"round",u.ctx.strokeText(A.text,A.bounds.left,A.bounds.top+a)),u.ctx.strokeStyle="",u.ctx.lineWidth=0,u.ctx.lineJoin="miter"}})}),[2]})})},t.prototype.renderReplacedElement=function(A,e,t){if(t&&A.intrinsicWidth>0&&A.intrinsicHeight>0){var n=za(A),r=xa(e);this.path(r),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(t,0,0,A.intrinsicWidth,A.intrinsicHeight,n.left,n.top,n.width,n.height),this.ctx.restore()}},t.prototype.renderNodeContent=function(A){return n(this,void 0,void 0,function(){var e,n,o,s,a,c,l,u,h,g,d,B,f,w,p,m,C,Q;return r(this,function(r){switch(r.label){case 0:this.applyEffects(A.getEffects(4)),e=A.container,n=A.curves,o=e.styles,s=0,a=e.textNodes,r.label=1;case 1:return s<a.length?(c=a[s],[4,this.renderTextNode(c,o)]):[3,4];case 2:r.sent(),r.label=3;case 3:return s++,[3,1];case 4:if(!(e instanceof Pi))return[3,8];r.label=5;case 5:return r.trys.push([5,7,,8]),[4,this.context.cache.match(e.src)];case 6:return p=r.sent(),this.renderReplacedElement(e,n,p),[3,8];case 7:return r.sent(),this.context.logger.error("Error loading image "+e.src),[3,8];case 8:if(e instanceof Oi&&this.renderReplacedElement(e,n,e.canvas),!(e instanceof Vi))return[3,12];r.label=9;case 9:return r.trys.push([9,11,,12]),[4,this.context.cache.match(e.svg)];case 10:return p=r.sent(),this.renderReplacedElement(e,n,p),[3,12];case 11:return r.sent(),this.context.logger.error("Error loading svg "+e.svg.substring(0,255)),[3,12];case 12:return e instanceof es&&e.tree?[4,new t(this.context,{scale:this.options.scale,backgroundColor:e.backgroundColor,x:0,y:0,width:e.width,height:e.height}).render(e.tree)]:[3,14];case 13:l=r.sent(),e.width&&e.height&&this.ctx.drawImage(l,0,0,e.width,e.height,e.bounds.left,e.bounds.top,e.bounds.width,e.bounds.height),r.label=14;case 14:if(e instanceof ji&&(u=Math.min(e.bounds.width,e.bounds.height),e.type===Yi?e.checked&&(this.ctx.save(),this.path([new ya(e.bounds.left+.39363*u,e.bounds.top+.79*u),new ya(e.bounds.left+.16*u,e.bounds.top+.5549*u),new ya(e.bounds.left+.27347*u,e.bounds.top+.44071*u),new ya(e.bounds.left+.39694*u,e.bounds.top+.5649*u),new ya(e.bounds.left+.72983*u,e.bounds.top+.23*u),new ya(e.bounds.left+.84*u,e.bounds.top+.34085*u),new ya(e.bounds.left+.39363*u,e.bounds.top+.79*u)]),this.ctx.fillStyle=nn(zi),this.ctx.fill(),this.ctx.restore()):e.type===$i&&e.checked&&(this.ctx.save(),this.ctx.beginPath(),this.ctx.arc(e.bounds.left+u/2,e.bounds.top+u/2,u/4,0,2*Math.PI,!0),this.ctx.fillStyle=nn(zi),this.ctx.fill(),this.ctx.restore())),hc(e)&&e.value.length){switch(h=this.createFontStyle(o),C=h[0],g=h[1],d=this.fontMetrics.getMetrics(C,g).baseline,this.ctx.font=C,this.ctx.fillStyle=nn(o.color),this.ctx.textBaseline="alphabetic",this.ctx.textAlign=dc(e.styles.textAlign),Q=za(e),B=0,e.styles.textAlign){case 1:B+=Q.width/2;break;case 2:B+=Q.width}f=Q.add(B,0,0,-Q.height/2+1),this.ctx.save(),this.path([new ya(Q.left,Q.top),new ya(Q.left+Q.width,Q.top),new ya(Q.left+Q.width,Q.top+Q.height),new ya(Q.left,Q.top+Q.height)]),this.ctx.clip(),this.renderTextWithLetterSpacing(new vi(e.value,f),o.letterSpacing,d),this.ctx.restore(),this.ctx.textBaseline="alphabetic",this.ctx.textAlign="left"}if(!ro(e.styles.display,2048))return[3,20];if(null===e.styles.listStyleImage)return[3,19];if(0!==(w=e.styles.listStyleImage).type)return[3,18];p=void 0,m=w.url,r.label=15;case 15:return r.trys.push([15,17,,18]),[4,this.context.cache.match(m)];case 16:return p=r.sent(),this.ctx.drawImage(p,e.bounds.left-(p.width+10),e.bounds.top),[3,18];case 17:return r.sent(),this.context.logger.error("Error loading list-style-image "+m),[3,18];case 18:return[3,20];case 19:A.listValue&&-1!==e.styles.listStyleType&&(C=this.createFontStyle(o)[0],this.ctx.font=C,this.ctx.fillStyle=nn(o.color),this.ctx.textBaseline="middle",this.ctx.textAlign="right",Q=new i(e.bounds.left,e.bounds.top+Xt(e.styles.paddingTop,e.bounds.width),e.bounds.width,Qr(o.lineHeight,o.fontSize.number)/2+1),this.renderTextWithLetterSpacing(new vi(A.listValue,Q),o.letterSpacing,Qr(o.lineHeight,o.fontSize.number)/2+2),this.ctx.textBaseline="bottom",this.ctx.textAlign="left"),r.label=20;case 20:return[2]}})})},t.prototype.renderStackContent=function(A){return n(this,void 0,void 0,function(){var e,t,n,o,i,s,a,c,l,u,h,g,d,B,f;return r(this,function(r){switch(r.label){case 0:return ro(A.element.container.flags,16),[4,this.renderNodeBackgroundAndBorders(A.element)];case 1:r.sent(),e=0,t=A.negativeZIndex,r.label=2;case 2:return e<t.length?(f=t[e],[4,this.renderStack(f)]):[3,5];case 3:r.sent(),r.label=4;case 4:return e++,[3,2];case 5:return[4,this.renderNodeContent(A.element)];case 6:r.sent(),n=0,o=A.nonInlineLevel,r.label=7;case 7:return n<o.length?(f=o[n],[4,this.renderNode(f)]):[3,10];case 8:r.sent(),r.label=9;case 9:return n++,[3,7];case 10:i=0,s=A.nonPositionedFloats,r.label=11;case 11:return i<s.length?(f=s[i],[4,this.renderStack(f)]):[3,14];case 12:r.sent(),r.label=13;case 13:return i++,[3,11];case 14:a=0,c=A.nonPositionedInlineLevel,r.label=15;case 15:return a<c.length?(f=c[a],[4,this.renderStack(f)]):[3,18];case 16:r.sent(),r.label=17;case 17:return a++,[3,15];case 18:l=0,u=A.inlineLevel,r.label=19;case 19:return l<u.length?(f=u[l],[4,this.renderNode(f)]):[3,22];case 20:r.sent(),r.label=21;case 21:return l++,[3,19];case 22:h=0,g=A.zeroOrAutoZIndexOrTransformedOrOpacity,r.label=23;case 23:return h<g.length?(f=g[h],[4,this.renderStack(f)]):[3,26];case 24:r.sent(),r.label=25;case 25:return h++,[3,23];case 26:d=0,B=A.positiveZIndex,r.label=27;case 27:return d<B.length?(f=B[d],[4,this.renderStack(f)]):[3,30];case 28:r.sent(),r.label=29;case 29:return d++,[3,27];case 30:return[2]}})})},t.prototype.mask=function(A){this.ctx.beginPath(),this.ctx.moveTo(0,0),this.ctx.lineTo(this.canvas.width,0),this.ctx.lineTo(this.canvas.width,this.canvas.height),this.ctx.lineTo(0,this.canvas.height),this.ctx.lineTo(0,0),this.formatPath(A.slice(0).reverse()),this.ctx.closePath()},t.prototype.path=function(A){this.ctx.beginPath(),this.formatPath(A),this.ctx.closePath()},t.prototype.formatPath=function(A){var e=this;A.forEach(function(A,t){var n=ba(A)?A.start:A;0===t?e.ctx.moveTo(n.x,n.y):e.ctx.lineTo(n.x,n.y),ba(A)&&e.ctx.bezierCurveTo(A.startControl.x,A.startControl.y,A.endControl.x,A.endControl.y,A.end.x,A.end.y)})},t.prototype.renderRepeat=function(A,e,t,n){this.path(A),this.ctx.fillStyle=e,this.ctx.translate(t,n),this.ctx.fill(),this.ctx.translate(-t,-n)},t.prototype.resizeImage=function(A,e,t){var n;if(A.width===e&&A.height===t)return A;var r=(null!==(n=this.canvas.ownerDocument)&&void 0!==n?n:document).createElement("canvas");return r.width=Math.max(1,e),r.height=Math.max(1,t),r.getContext("2d").drawImage(A,0,0,A.width,A.height,0,0,e,t),r},t.prototype.renderBackgroundImage=function(A){return n(this,void 0,void 0,function(){var e,t,n,o,i,s;return r(this,function(a){switch(a.label){case 0:e=A.styles.backgroundImage.length-1,t=function(t){var o,i,s,a,c,l,u,h,g,d,B,f,w,p,m,C,Q,y,U,F,b,v,E,H,I,x,S,L,M,D,k;return r(this,function(r){switch(r.label){case 0:if(0!==t.type)return[3,5];o=void 0,i=t.url,r.label=1;case 1:return r.trys.push([1,3,,4]),[4,n.context.cache.match(i)];case 2:return o=r.sent(),[3,4];case 3:return r.sent(),n.context.logger.error("Error loading background-image "+i),[3,4];case 4:return o&&(s=Ac(A,e,[o.width,o.height,o.width/o.height]),C=s[0],v=s[1],E=s[2],U=s[3],F=s[4],p=n.ctx.createPattern(n.resizeImage(o,U,F),"repeat"),n.renderRepeat(C,p,v,E)),[3,6];case 5:Ln(t)?(a=Ac(A,e,[null,null,null]),C=a[0],v=a[1],E=a[2],U=a[3],F=a[4],c=pn(t.angle,U,F),l=c[0],u=c[1],h=c[2],g=c[3],d=c[4],(B=document.createElement("canvas")).width=U,B.height=F,f=B.getContext("2d"),w=f.createLinearGradient(u,g,h,d),fn(t.stops,l).forEach(function(A){return w.addColorStop(A.stop,nn(A.color))}),f.fillStyle=w,f.fillRect(0,0,U,F),U>0&&F>0&&(p=n.ctx.createPattern(B,"repeat"),n.renderRepeat(C,p,v,E))):Mn(t)&&(m=Ac(A,e,[null,null,null]),C=m[0],Q=m[1],y=m[2],U=m[3],F=m[4],b=0===t.position.length?[Gt]:t.position,v=Xt(b[0],U),E=Xt(b[b.length-1],F),H=Qn(t,v,E,U,F),I=H[0],x=H[1],I>0&&x>0&&(S=n.ctx.createRadialGradient(Q+v,y+E,0,Q+v,y+E,I),fn(t.stops,2*I).forEach(function(A){return S.addColorStop(A.stop,nn(A.color))}),n.path(C),n.ctx.fillStyle=S,I!==x?(L=A.bounds.left+.5*A.bounds.width,M=A.bounds.top+.5*A.bounds.height,k=1/(D=x/I),n.ctx.save(),n.ctx.translate(L,M),n.ctx.transform(1,0,0,D,0,0),n.ctx.translate(-L,-M),n.ctx.fillRect(Q,k*(y-M)+M,U,F*k),n.ctx.restore()):n.ctx.fill())),r.label=6;case 6:return e--,[2]}})},n=this,o=0,i=A.styles.backgroundImage.slice(0).reverse(),a.label=1;case 1:return o<i.length?(s=i[o],[5,t(s)]):[3,4];case 2:a.sent(),a.label=3;case 3:return o++,[3,1];case 4:return[2]}})})},t.prototype.renderSolidBorder=function(A,e,t){return n(this,void 0,void 0,function(){return r(this,function(n){return this.path(Wa(t,e)),this.ctx.fillStyle=nn(A),this.ctx.fill(),[2]})})},t.prototype.renderDoubleBorder=function(A,e,t,o){return n(this,void 0,void 0,function(){var n,i;return r(this,function(r){switch(r.label){case 0:return e<3?[4,this.renderSolidBorder(A,t,o)]:[3,2];case 1:return r.sent(),[2];case 2:return n=_a(o,t),this.path(n),this.ctx.fillStyle=nn(A),this.ctx.fill(),i=Xa(o,t),this.path(i),this.ctx.fill(),[2]}})})},t.prototype.renderNodeBackgroundAndBorders=function(A){return n(this,void 0,void 0,function(){var e,t,n,o,i,s,a,c,l=this;return r(this,function(r){switch(r.label){case 0:return this.applyEffects(A.getEffects(2)),e=A.container.styles,t=!tn(e.backgroundColor)||e.backgroundImage.length,n=[{style:e.borderTopStyle,color:e.borderTopColor,width:e.borderTopWidth},{style:e.borderRightStyle,color:e.borderRightColor,width:e.borderRightWidth},{style:e.borderBottomStyle,color:e.borderBottomColor,width:e.borderBottomWidth},{style:e.borderLeftStyle,color:e.borderLeftColor,width:e.borderLeftWidth}],o=gc(rc(e.backgroundClip,0),A.curves),t||e.boxShadow.length?(this.ctx.save(),this.path(o),this.ctx.clip(),tn(e.backgroundColor)||(this.ctx.fillStyle=nn(e.backgroundColor),this.ctx.fill()),[4,this.renderBackgroundImage(A.container)]):[3,2];case 1:r.sent(),this.ctx.restore(),e.boxShadow.slice(0).reverse().forEach(function(e){l.ctx.save();var t=Ha(A.curves),n=e.inset?0:lc,r=Ra(t,-n+(e.inset?1:-1)*e.spread.number,(e.inset?1:-1)*e.spread.number,e.spread.number*(e.inset?-2:2),e.spread.number*(e.inset?-2:2));e.inset?(l.path(t),l.ctx.clip(),l.mask(r)):(l.mask(t),l.ctx.clip(),l.path(r)),l.ctx.shadowOffsetX=e.offsetX.number+n,l.ctx.shadowOffsetY=e.offsetY.number,l.ctx.shadowColor=nn(e.color),l.ctx.shadowBlur=e.blur.number,l.ctx.fillStyle=e.inset?nn(e.color):"rgba(0,0,0,1)",l.ctx.fill(),l.ctx.restore()}),r.label=2;case 2:i=0,s=0,a=n,r.label=3;case 3:return s<a.length?0!==(c=a[s]).style&&!tn(c.color)&&c.width>0?2!==c.style?[3,5]:[4,this.renderDashedDottedBorder(c.color,c.width,i,A.curves,2)]:[3,11]:[3,13];case 4:return r.sent(),[3,11];case 5:return 3!==c.style?[3,7]:[4,this.renderDashedDottedBorder(c.color,c.width,i,A.curves,3)];case 6:return r.sent(),[3,11];case 7:return 4!==c.style?[3,9]:[4,this.renderDoubleBorder(c.color,c.width,i,A.curves)];case 8:return r.sent(),[3,11];case 9:return[4,this.renderSolidBorder(c.color,i,A.curves)];case 10:r.sent(),r.label=11;case 11:i++,r.label=12;case 12:return s++,[3,3];case 13:return[2]}})})},t.prototype.renderDashedDottedBorder=function(A,e,t,o,i){return n(this,void 0,void 0,function(){var n,s,a,c,l,u,h,g,d,B,f,w,p,m,C,Q;return r(this,function(r){return this.ctx.save(),n=Ja(o,t),s=Wa(o,t),2===i&&(this.path(s),this.ctx.clip()),ba(s[0])?(a=s[0].start.x,c=s[0].start.y):(a=s[0].x,c=s[0].y),ba(s[1])?(l=s[1].end.x,u=s[1].end.y):(l=s[1].x,u=s[1].y),h=0===t||2===t?Math.abs(a-l):Math.abs(c-u),this.ctx.beginPath(),3===i?this.formatPath(n):this.formatPath(s.slice(0,2)),g=e<3?3*e:2*e,d=e<3?2*e:e,3===i&&(g=e,d=e),B=!0,h<=2*g?B=!1:h<=2*g+d?(g*=f=h/(2*g+d),d*=f):(w=Math.floor((h+d)/(g+d)),p=(h-w*g)/(w-1),d=(m=(h-(w+1)*g)/w)<=0||Math.abs(d-p)<Math.abs(d-m)?p:m),B&&(3===i?this.ctx.setLineDash([0,g+d]):this.ctx.setLineDash([g,d])),3===i?(this.ctx.lineCap="round",this.ctx.lineWidth=e):this.ctx.lineWidth=2*e+1.1,this.ctx.strokeStyle=nn(A),this.ctx.stroke(),this.ctx.setLineDash([]),2===i&&(ba(s[0])&&(C=s[3],Q=s[0],this.ctx.beginPath(),this.formatPath([new ya(C.end.x,C.end.y),new ya(Q.start.x,Q.start.y)]),this.ctx.stroke()),ba(s[1])&&(C=s[1],Q=s[2],this.ctx.beginPath(),this.formatPath([new ya(C.end.x,C.end.y),new ya(Q.start.x,Q.start.y)]),this.ctx.stroke())),this.ctx.restore(),[2]})})},t.prototype.render=function(A){return n(this,void 0,void 0,function(){var e;return r(this,function(t){switch(t.label){case 0:return this.options.backgroundColor&&(this.ctx.fillStyle=nn(this.options.backgroundColor),this.ctx.fillRect(this.options.x,this.options.y,this.options.width,this.options.height)),e=Ga(A),[4,this.renderStack(e)];case 1:return t.sent(),this.applyEffects([]),[2,this.canvas]}})})},t}(cc),hc=function(A){return A instanceof As||A instanceof qi||A instanceof ji&&A.type!==$i&&A.type!==Yi},gc=function(A,e){switch(A){case 0:return Ha(e);case 2:return Ia(e);default:return xa(e)}},dc=function(A){switch(A){case 1:return"center";case 2:return"right";default:return"left"}},Bc=["-apple-system","system-ui"],fc=function(A){return/iPhone OS 15_(0|1)/.test(window.navigator.userAgent)?A.filter(function(A){return-1===Bc.indexOf(A)}):A},wc=function(A){function t(e,t){var n=A.call(this,e,t)||this;return n.canvas=t.canvas?t.canvas:document.createElement("canvas"),n.ctx=n.canvas.getContext("2d"),n.options=t,n.canvas.width=Math.floor(t.width*t.scale),n.canvas.height=Math.floor(t.height*t.scale),n.canvas.style.width=t.width+"px",n.canvas.style.height=t.height+"px",n.ctx.scale(n.options.scale,n.options.scale),n.ctx.translate(-t.x,-t.y),n.context.logger.debug("EXPERIMENTAL ForeignObject renderer initialized ("+t.width+"x"+t.height+" at "+t.x+","+t.y+") with scale "+t.scale),n}return e(t,A),t.prototype.render=function(A){return n(this,void 0,void 0,function(){var e,t;return r(this,function(n){switch(n.label){case 0:return e=Ui(this.options.width*this.options.scale,this.options.height*this.options.scale,this.options.scale,this.options.scale,A),[4,pc(e)];case 1:return t=n.sent(),this.options.backgroundColor&&(this.ctx.fillStyle=nn(this.options.backgroundColor),this.ctx.fillRect(0,0,this.options.width*this.options.scale,this.options.height*this.options.scale)),this.ctx.drawImage(t,-this.options.x*this.options.scale,-this.options.y*this.options.scale),[2,this.canvas]}})})},t}(cc),pc=function(A){return new Promise(function(e,t){var n=new Image;n.onload=function(){e(n)},n.onerror=t,n.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent((new XMLSerializer).serializeToString(A))})},mc=function(){function A(A){var e=A.id,t=A.enabled;this.id=e,this.enabled=t,this.start=Date.now()}return A.prototype.debug=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&("undefined"!=typeof window&&window.console&&"function"==typeof console.debug?console.debug.apply(console,o([this.id,this.getTime()+"ms"],A)):this.info.apply(this,A))},A.prototype.getTime=function(){return Date.now()-this.start},A.prototype.info=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&"undefined"!=typeof window&&window.console&&"function"==typeof console.info&&console.info.apply(console,o([this.id,this.getTime()+"ms"],A))},A.prototype.warn=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&("undefined"!=typeof window&&window.console&&"function"==typeof console.warn?console.warn.apply(console,o([this.id,this.getTime()+"ms"],A)):this.info.apply(this,A))},A.prototype.error=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&("undefined"!=typeof window&&window.console&&"function"==typeof console.error?console.error.apply(console,o([this.id,this.getTime()+"ms"],A)):this.info.apply(this,A))},A.instances={},A}(),Cc=function(){function A(e,t){var n;this.windowBounds=t,this.instanceName="#"+A.instanceCount++,this.logger=new mc({id:this.instanceName,enabled:e.logging}),this.cache=null!==(n=e.cache)&&void 0!==n?n:new ga(this,e)}return A.instanceCount=1,A}(),Qc=function(A,e){return void 0===e&&(e={}),yc(A,e)};"undefined"!=typeof window&&ha.setContext(window);var yc=function(A,e){return n(void 0,void 0,void 0,function(){var n,o,c,l,u,h,g,d,B,f,w,p,m,C,Q,y,U,F,b,v,E,H,I,x,S,L,M,D,k,K,T,R,P,O,V,N,G,W;return r(this,function(r){switch(r.label){case 0:if(!A||"object"!=typeof A)return[2,Promise.reject("Invalid element provided as first argument")];if(!(n=A.ownerDocument))throw new Error("Element is not attached to a Document");if(!(o=n.defaultView))throw new Error("Document is not attached to a Window");return c={allowTaint:null!==(H=e.allowTaint)&&void 0!==H&&H,imageTimeout:null!==(I=e.imageTimeout)&&void 0!==I?I:15e3,proxy:e.proxy,useCORS:null!==(x=e.useCORS)&&void 0!==x&&x},l=t({logging:null===(S=e.logging)||void 0===S||S,cache:e.cache},c),u={windowWidth:null!==(L=e.windowWidth)&&void 0!==L?L:o.innerWidth,windowHeight:null!==(M=e.windowHeight)&&void 0!==M?M:o.innerHeight,scrollX:null!==(D=e.scrollX)&&void 0!==D?D:o.pageXOffset,scrollY:null!==(k=e.scrollY)&&void 0!==k?k:o.pageYOffset},h=new i(u.scrollX,u.scrollY,u.windowWidth,u.windowHeight),g=new Cc(l,h),d=null!==(K=e.foreignObjectRendering)&&void 0!==K&&K,B={allowTaint:null!==(T=e.allowTaint)&&void 0!==T&&T,onclone:e.onclone,ignoreElements:e.ignoreElements,inlineImages:d,copyStyles:d},g.logger.debug("Starting document clone with size "+h.width+"x"+h.height+" scrolled to "+-h.left+","+-h.top),f=new Ys(g,A,B),(w=f.clonedReferenceElement)?[4,f.toIFrame(n,h)]:[2,Promise.reject("Unable to find element in cloned iframe")];case 1:return p=r.sent(),m=ws(w)||Bs(w)?a(w.ownerDocument):s(g,w),C=m.width,Q=m.height,y=m.left,U=m.top,F=Uc(g,w,e.backgroundColor),b={canvas:e.canvas,backgroundColor:F,scale:null!==(P=null!==(R=e.scale)&&void 0!==R?R:o.devicePixelRatio)&&void 0!==P?P:1,x:(null!==(O=e.x)&&void 0!==O?O:0)+y,y:(null!==(V=e.y)&&void 0!==V?V:0)+U,width:null!==(N=e.width)&&void 0!==N?N:Math.ceil(C),height:null!==(G=e.height)&&void 0!==G?G:Math.ceil(Q)},d?(g.logger.debug("Document cloned, using foreign object rendering"),[4,new wc(g,b).render(w)]):[3,3];case 2:return v=r.sent(),[3,5];case 3:return g.logger.debug("Document cloned, element located at "+y+","+U+" with size "+C+"x"+Q+" using computed rendering"),g.logger.debug("Starting DOM parsing"),E=os(g,w),F===E.styles.backgroundColor&&(E.styles.backgroundColor=hn.TRANSPARENT),g.logger.debug("Starting renderer for element at "+b.x+","+b.y+" with size "+b.width+"x"+b.height),[4,new uc(g,b).render(E)];case 4:v=r.sent(),r.label=5;case 5:return(null===(W=e.removeContainer)||void 0===W||W)&&(Ys.destroy(p)||g.logger.error("Cannot detach cloned iframe as it is not in the DOM anymore")),g.logger.debug("Finished rendering"),[2,v]}})})},Uc=function(A,e,t){var n=e.ownerDocument,r=n.documentElement?un(A,getComputedStyle(n.documentElement).backgroundColor):hn.TRANSPARENT,o=n.body?un(A,getComputedStyle(n.body).backgroundColor):hn.TRANSPARENT,i="string"==typeof t?un(A,t):null===t?hn.TRANSPARENT:4294967295;return e===n.documentElement?tn(r)?tn(o)?i:o:r:i};return Qc}()}(gt);var dt=ut(gt.exports);class Bt{constructor(A,e={},t){this.targetElement=null,this.isRunning=!1,this.screenshotCount=0,this.screenshotHistory=[],this.lastScreenshotTime=0,this.error=null,this.isEnabled=!1,this.uploadError=null,this.currentBinaryConfig=null,this.sendToIframeCallback=null,this.worker=null,this.screenshotTimer=null,this.screenshotContext=null,this.isScreenshotInProgress=!1,this.screenshotQueue=[],this.isProcessingQueue=!1,this.messageHandler=null,this.dynamicInterval=null,this.expirationTimer=null,this.isCurrentTaskCompleted=!0,this.scheduleNextFn=null,this.imageProxyCache=new Map,this.intersectionObserver=null,this.visibleElementsCache=new Set,this.preconnected=!1,this.imageDownloadQueue=new Map,this.activeDownloads=new Set,this.maxConcurrentImageDownloads=5,this.globalErrorHandler=null,this.globalRejectionHandler=null,this.targetElement=A,this.sendToIframeCallback=t||null,this.options={interval:e.interval??1e3,quality:e.quality??.15,scale:e.scale??1,maxHistory:e.maxHistory??10,compress:e.compress??!1,maxWidth:e.maxWidth??1600,maxHeight:e.maxHeight??900,outputFormat:e.outputFormat??"webp",enableCORS:e.enableCORS??!0,proxyUrl:e.proxyUrl??"",useProxy:e.useProxy??!0,engine:e.engine??"modern-screenshot",corsMode:e.corsMode??"canvas-proxy",debug:void 0!==e.debug&&e.debug,maxRetries:e.maxRetries??2,preloadImages:e.preloadImages??!1,maxConcurrentDownloads:e.maxConcurrentDownloads??10,onlyVisibleImages:e.onlyVisibleImages??!0,imageCacheTTL:e.imageCacheTTL??6e5,usePreconnect:e.usePreconnect??!0,imageLoadTimeout:e.imageLoadTimeout??5e3,useIntersectionObserver:e.useIntersectionObserver??!0,fetchPriority:e.fetchPriority??"high",maxImageSize:e.maxImageSize??5,skipLargeImages:e.skipLargeImages??!0,workerNumber:e.workerNumber??void 0,workerUrl:e.workerUrl??void 0,drawImageInterval:e.drawImageInterval??20,backgroundColor:e.backgroundColor??"#ffffff"},this.setupMessageListener(),this.setupVisibilityChangeListener(),this.options.debug&&(console.log("📸 ScreenshotManager 初始化完成"),console.log(`📸 配置: interval=${this.options.interval}ms, engine=${this.options.engine}, debug=${this.options.debug}`),console.log("📸 等待 iframe 发送 checkScreenshot 消息...")),this.startCacheCleanup(),this.options.usePreconnect&&this.options.useProxy&&this.options.proxyUrl&&""!==this.options.proxyUrl.trim()&&this.preconnectProxy(),this.options.useIntersectionObserver&&this.options.onlyVisibleImages&&this.initIntersectionObserver()}setTargetElement(A){if(this.targetElement!==A&&this.screenshotContext){try{tA(this.screenshotContext),this.options.debug&&console.log("📸 目标元素变化,清理 context")}catch(A){}this.screenshotContext=null}this.targetElement=A}setupMessageListener(){this.messageHandler||(this.messageHandler=A=>{this.handleIframeMessage(A)},window.addEventListener("message",this.messageHandler),this.options.debug&&console.log("📸 消息监听器已设置,正在监听 iframe 消息..."))}setupVisibilityChangeListener(){document.addEventListener("visibilitychange",()=>{document.hidden?this.options.debug&&console.log("📸 页面隐藏,截图轮询已暂停"):this.options.debug&&console.log("📸 页面显示,截图轮询已恢复")})}handleIframeMessage(A){try{if(!A.data||"checkScreenshot"!==A.data.type)return;this.options.debug&&console.log("📸 [iframe] 收到消息:",A.data);const e=this.parseBinaryConfig(A.data.data);if(e){this.currentBinaryConfig=e;const A=Date.now();if(e.ttl>0&&e.ttl>A){this.isEnabled||(this.options.debug&&console.log("📸 [iframe] 启用截图功能(二进制模式)"),this.isEnabled=!0),this.dynamicInterval=e.duration||this.options.interval;const t=e.ttl-A;if(this.options.debug){const A=Math.ceil(t/6e4);console.log(`📸 [iframe] 设置轮询间隔: ${this.dynamicInterval}ms,剩余有效时间: ${A}分钟`)}this.takeScreenshotAndSendBinary(e),this.expirationTimer&&(clearTimeout(this.expirationTimer),this.expirationTimer=null),this.expirationTimer=setTimeout(()=>{this.options.debug&&console.log("📸 [iframe] 二进制配置已过期,停止截图"),this.stopScreenshot(),this.isEnabled=!1,this.currentBinaryConfig=null,this.expirationTimer=null},t)}else this.options.debug&&(0===e.ttl?console.log("📸 [iframe] ttl == 0,禁用截图功能"):console.log("📸 [iframe] ttl 已过期,禁用截图功能")),this.stopScreenshot(),this.isEnabled=!1,this.currentBinaryConfig=null,this.expirationTimer&&(clearTimeout(this.expirationTimer),this.expirationTimer=null);return}this.options.debug&&console.error("📸 [iframe] 解析配置失败:未识别的配置格式"),this.uploadError="解析配置失败:仅支持二进制配置格式"}catch(A){this.options.debug&&console.error("📸 [iframe] 处理消息失败:",A),this.uploadError=A instanceof Error?A.message:String(A)}}parseBinaryConfig(A){try{const e="string"==typeof A?A:JSON.stringify(A),t=JSON.parse(e);return"string"==typeof t.sign&&"number"==typeof t.type&&"string"==typeof t.topic&&"number"==typeof t.ttl?{sign:String(t.sign),agent:String(t.agent||""),type:t.type,topic:t.topic,routingKey:String(t.routingKey),ttl:t.ttl,duration:"number"==typeof t.duration&&t.duration>0?t.duration:this.options.interval}:null}catch(A){return null}}startScreenshot(A){if(!this.isEnabled)return void(this.options.debug&&console.warn("📸 截图功能已禁用,无法启动"));const e=A||this.dynamicInterval||this.options.interval;this.isRunning&&(this.options.debug&&console.log(`📸 更新轮询间隔: ${e}ms`),this.stopScreenshot()),this.options.debug&&console.log(`📸 开始轮询截图,间隔: ${e}ms`),this.isRunning=!0,!this.worker&&this.options.compress&&(this.worker=this.createWorker());const t=async()=>{if(!this.isCurrentTaskCompleted){this.options.debug&&console.log("📸 [定时] 等待上次任务完成...");const A=setInterval(()=>{this.isCurrentTaskCompleted&&this.isRunning?(clearInterval(A),t()):this.isRunning||clearInterval(A)},100);return}if(this.isRunning&&this.isEnabled&&!document.hidden){this.isCurrentTaskCompleted=!1;const A=performance.now();this.options.debug&&console.log("📸 [定时开始] 开始新一轮截图任务");try{if(await this.takeScreenshot(A),this.currentBinaryConfig&&!this.options.compress){const e=performance.now(),t=this.getLatestScreenshot();if(t)try{const n=(t.split(",")[1]||"").length,r=performance.now(),o=this.dataUrlToArrayBuffer(t),i=o.byteLength,s=performance.now()-r,a=performance.now(),c=this.buildBinaryConfig(this.currentBinaryConfig),l=c.byteLength,u=performance.now()-a,h=performance.now(),g=this.combineBinaryData(c,o),d=g.byteLength,B=performance.now()-h;if(this.options.debug&&(console.log("📸 [轮询-大小统计]"),console.log(` Base64 大小: ${n} 字符`),console.log(` 图片字节大小: ${(i/1024).toFixed(2)} KB (${i} 字节)`),console.log(` 配置字节大小: ${l} 字节`),console.log(` 拼接后总大小: ${(d/1024).toFixed(2)} KB (${d} 字节)`),console.log(` ⏱️ 数据转换耗时: ${s.toFixed(2)}ms`),console.log(` ⏱️ 构建配置耗时: ${u.toFixed(2)}ms`),console.log(` ⏱️ 合并数据耗时: ${B.toFixed(2)}ms`)),this.sendToIframeCallback){const t=performance.now(),n={type:"screenshotBinary",data:g};this.sendToIframeCallback(n);const r=performance.now()-t,o=performance.now()-e,i=performance.now()-A;this.options.debug&&(console.log("📸 [轮询] ✅ 二进制数据已发送到 iframe"),console.log(` ⏱️ 发送回调耗时: ${r.toFixed(2)}ms`),console.log(` ⏱️ 发送阶段总耗时: ${o.toFixed(2)}ms`),console.log(` ⏱️ 从定时开始到发送完成总耗时: ${i.toFixed(2)}ms`))}}catch(A){this.options.debug&&console.error("📸 [轮询] ❌ 处理二进制数据失败:",A)}this.isCurrentTaskCompleted=!0}else this.currentBinaryConfig&&this.options.compress?this.options.debug&&console.log("📸 [轮询] 等待 Worker 压缩完成后发送到 iframe..."):this.isCurrentTaskCompleted=!0}catch(A){this.options.debug&&console.error("📸 [轮询] 截图失败:",A),this.isCurrentTaskCompleted=!0}}this.isRunning&&this.isCurrentTaskCompleted&&(this.screenshotTimer=setTimeout(t,e))};this.scheduleNextFn=t,t()}stopScreenshot(){this.isRunning&&(this.options.debug&&console.log("📸 停止轮询截图"),this.isRunning=!1,this.screenshotTimer&&(clearInterval(this.screenshotTimer),this.screenshotTimer=null),this.isCurrentTaskCompleted=!0,this.scheduleNextFn=null)}async captureOnce(A=!1){return this.isEnabled||A?await this.takeScreenshot():(this.options.debug&&console.warn("📸 截图功能已禁用,无法执行截图。如需测试,请先调用 enable(true) 启用截图功能"),!1)}async takeScreenshot(A){if(!this.targetElement)return this.options.debug&&console.warn("📸 目标元素不存在"),!1;const e=performance.now();this.setupGlobalErrorHandlers();try{if(this.options.debug&&(console.log(`📸 开始截图 #${this.screenshotCount+1}...`),A)){const t=e-A;console.log(` ⏱️ 定时到截图开始耗时: ${t.toFixed(2)}ms`)}const t=performance.now();await Promise.all([this.waitForStylesAndFonts(),this.waitForFonts()]);const n=performance.now()-t;this.options.debug&&console.log(` ⏱️ 等待样式和字体加载耗时: ${n.toFixed(2)}ms`);const r=performance.now();await new Promise(A=>requestAnimationFrame(()=>{requestAnimationFrame(()=>A())}));const o=performance.now()-r;this.options.debug&&console.log(` ⏱️ 等待渲染完成耗时: ${o.toFixed(2)}ms`);const i=this.options.engine||"modern-screenshot";let s;this.options.debug&&console.log(`📸 使用截图引擎: ${i}`),this.options.preloadImages&&this.options.enableCORS&&"modern-screenshot"===i?(this.cleanExpiredCache(),await this.preprocessNetworkImages(this.targetElement),await this.waitForImagesToLoad(this.targetElement)):this.cleanExpiredCache();const a=performance.now();"html2canvas"===i?(await Promise.all([this.waitForStylesAndFonts(),this.waitForFonts()]),await new Promise(A=>setTimeout(A,200)),s=await this.takeScreenshotWithHtml2Canvas(this.targetElement)):"snapdom"===i?(await new Promise(A=>setTimeout(A,50)),s=await this.takeScreenshotWithSnapdom(this.targetElement)):(await new Promise(A=>setTimeout(A,50)),s=await this.takeScreenshotWithModernScreenshot(this.targetElement));const c=performance.now()-a;this.options.debug&&console.log(` ⏱️ 截图引擎执行耗时: ${c.toFixed(2)}ms`);const l=Date.now();if(this.screenshotCount++,this.lastScreenshotTime=l,this.screenshotHistory.length>=this.options.maxHistory){const A=this.screenshotHistory.shift();A&&A.length>1e6&&this.options.debug&&console.log(`📸 清理旧截图,释放内存: ${Math.round(.75*A.length/1024)} KB`)}this.screenshotHistory.push(s);let u=this.screenshotHistory.reduce((A,e)=>A+e.length,0);const h=52428800;for(;this.screenshotHistory.length>0&&u>h;){const A=this.screenshotHistory.shift();if(!A)break;{const e=A.length;u-=e,this.options.debug&&console.warn(`📸 ⚠️ 历史记录总大小超过限制,清理最旧截图: ${Math.round(.75*e/1024)} KB`)}}const g=performance.now()-e,d=s.split(",")[1]||"";this.options.debug&&(console.log("📸 截图完成:"),console.log(`📸 编号: #${this.screenshotCount}`),console.log(`📸 时间: ${new Date(l).toLocaleTimeString()}`),console.log(`📸 原始大小: ${Math.round(.75*d.length/1024)} KB`),console.log(`📸 Base64 长度: ${d.length} 字符`),console.log(` ⏱️ 截图总耗时: ${g.toFixed(2)}ms`),console.log("📸 [压缩前] 完整 Base64:"),console.log(d),console.log("📸 [压缩前] 完整 Data URL:"),console.log(s));if(this.options.compress)if(this.worker||(this.worker=this.createWorker(),this.options.debug&&(this.worker?console.log("📸 Worker 已创建,准备压缩"):console.warn("📸 ⚠️ Worker 创建失败,无法使用压缩功能"))),this.worker){const e=performance.now();this.options.debug&&console.log("📸 发送到 WebWorker 进行压缩...");const t=s;this.worker.__compressStartTime=e,this.worker.__scheduleStartTime=A,this.worker.postMessage({type:"COMPRESS_IMAGE",data:{dataUrl:t,maxWidth:this.options.maxWidth,maxHeight:this.options.maxHeight,quality:this.options.quality,outputFormat:this.options.outputFormat,timestamp:l,count:this.screenshotCount}})}else if(this.options.debug&&console.warn("📸 ⚠️ Worker 不可用,跳过压缩(使用原始截图)"),this.currentBinaryConfig&&this.sendToIframeCallback){const A=this.getLatestScreenshot();if(A)try{const e=this.dataUrlToArrayBuffer(A),t=this.buildBinaryConfig(this.currentBinaryConfig),n={type:"screenshotBinary",data:this.combineBinaryData(t,e)};this.sendToIframeCallback(n),this.options.debug&&console.log("📸 [Worker 不可用] ✅ 原始截图已发送到 iframe")}catch(A){console.error("📸 [Worker 不可用] ❌ 发送原始截图失败:",A)}}return this.error=null,!0}catch(A){const e=A instanceof Error?A.message:String(A);return e.includes("CORS")||e.includes("Access-Control-Allow-Origin")||e.includes("cross-origin")||e.includes("XMLHttpRequest")||e.includes("Status:0")?this.options.debug&&console.warn("📸 截图遇到跨域问题(已忽略)"):(console.error("📸 截图失败:",A),this.error=e),!1}finally{this.removeGlobalErrorHandlers()}}async takeScreenshotWithSnapdom(A){this.options.debug&&console.log("📸 使用 snapdom 引擎截图...");let e=A,t=null;try{const n=A.getBoundingClientRect();if(0===n.width||0===n.height)throw new Error("元素尺寸为 0,无法截图");const r={};if(A===document.body||A===document.documentElement)t=document.createElement("div"),t.style.position="fixed",t.style.top="0",t.style.left="0",t.style.width=`${window.innerWidth}px`,t.style.height=`${window.innerHeight}px`,t.style.overflow="hidden",t.style.zIndex="999999",t.style.pointerEvents="none",t.style.backgroundColor=window.getComputedStyle(document.body).backgroundColor||"white",document.body.appendChild(t),e=A,this.options.debug&&(console.log("📸 注意:snapdom 将截图整个 body,建议使用 html2canvas 或 modern-screenshot 来限制可见区域"),console.log(`📸 可见区域尺寸: ${window.innerWidth}x${window.innerHeight}`)),t&&t.parentNode&&t.parentNode.removeChild(t),t=null;else{const e=A.getBoundingClientRect();!(e.top>=0&&e.left>=0&&e.bottom<=window.innerHeight&&e.right<=window.innerWidth)&&this.options.debug&&(console.warn("📸 ⚠️ 元素部分不可见,snapdom 可能会截图整个元素(包括不可见部分)"),console.warn("📸 建议:使用 html2canvas 或 modern-screenshot 来限制可见区域"))}if(this.options.useProxy&&this.options.proxyUrl&&""!==this.options.proxyUrl.trim()){let A=this.options.proxyUrl.trim();A.includes("?url=")||(A=A.endsWith("?")?A+"url=":A+"?url="),r.useProxy=A,this.options.debug&&console.log(`📸 使用代理服务器处理跨域图片: ${A}`)}else this.options.debug&&(this.options.useProxy?this.options.proxyUrl&&""!==this.options.proxyUrl.trim()||console.log("📸 未配置代理服务器(proxyUrl 为空),直接截图(可能遇到 CORS 问题)"):console.log("📸 代理功能已禁用(useProxy: false)"));const o=this.options.outputFormat||"png";let i;switch(o){case"jpeg":i=await at.toJpg(e,r);break;case"webp":i=await at.toWebp(e,r);break;default:i=await at.toPng(e,r)}const s=i.src;if(!s||s.length<100)throw new Error("生成的 base64 数据无效或过短");if(null!==t){const A=t,e=A.parentNode;e&&e.removeChild(A)}return this.options.debug&&console.log(`📸 snapdom 截图成功!格式: ${o}, 尺寸: ${i.width}x${i.height}`),s}catch(A){if(null!==t){const A=t,e=A.parentNode;e&&e.removeChild(A)}const e=A instanceof Error?A.message:String(A);throw"EncodingError"===(A instanceof Error?A.name:"Unknown")||e.includes("cannot be decoded")?this.options.debug&&(console.warn("📸 ⚠️ 图片解码失败 - 这通常是因为跨域图片无法访问"),console.warn("📸 💡 解决方案:配置 proxyUrl 选项"),console.warn("📸 📖 参考: https://snapdom.dev/#cors")):(e.includes("CORS")||e.includes("cross-origin"))&&this.options.debug&&console.warn("📸 ⚠️ 检测到 CORS 错误,建议配置 proxyUrl 选项"),A}}async takeScreenshotWithHtml2Canvas(A){this.options.debug&&console.log("📸 使用 html2canvas 引擎截图...");try{const e=/iPhone|iPad|iPod/i.test(navigator.userAgent);await this.waitForAllStylesLoaded(),await this.waitForFonts(),e&&await new Promise(A=>setTimeout(A,300)),await new Promise(A=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{setTimeout(()=>A(),e?200:100)})})});const t=A.getBoundingClientRect();if(0===t.width||0===t.height)throw new Error("元素尺寸为 0,无法截图");const n=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);let r=A.scrollWidth||A.clientWidth||A.offsetWidth,o=A.scrollHeight||A.clientHeight||A.offsetHeight;A!==document.body&&A!==document.documentElement||(r=Math.max(A.scrollWidth,A.offsetWidth,document.documentElement.scrollWidth,document.documentElement.offsetWidth,window.innerWidth),o=Math.max(A.scrollHeight,A.offsetHeight,document.documentElement.scrollHeight,document.documentElement.offsetHeight,window.innerHeight));const i=Math.max(this.options.quality||.4,.1),s={backgroundColor:"#ffffff",scale:void 0!==this.options.scale?this.options.scale:n?.5:.6,useCORS:this.options.enableCORS,allowTaint:!this.options.enableCORS,logging:this.options.debug,onclone:(A,e)=>{const t=/iPhone|iPad|iPod/i.test(navigator.userAgent);if(!A.head){const e=A.createElement("head");A.documentElement&&A.documentElement.insertBefore(e,A.documentElement.firstChild)}if(!A.head)return;document.querySelectorAll('link[rel="stylesheet"]').forEach(e=>{const t=e.getAttribute("href");if(t){if(!A.querySelector(`link[href="${t}"]`)){const n=A.createElement("link");n.rel="stylesheet",n.type=e.getAttribute("type")||"text/css",n.href=t,n.media=e.getAttribute("media")||"all",A.head.appendChild(n)}}});document.querySelectorAll("style").forEach(e=>{if(e.textContent){const t=A.querySelectorAll("style");let n=!1;for(const A of Array.from(t))if(A.textContent===e.textContent){n=!0;break}if(!n){const t=A.createElement("style");t.textContent=e.textContent,t.type=e.type||"text/css",A.head.appendChild(t)}}});try{Array.from(document.styleSheets).forEach(e=>{try{if(e.cssRules&&e.cssRules.length>0){let t="";for(let A=0;A<e.cssRules.length;A++)t+=e.cssRules[A].cssText+"\n";if(t){const e=A.querySelectorAll("style");let n=!1;for(const A of Array.from(e))if(A.textContent&&A.textContent.includes(t.substring(0,100))){n=!0;break}if(!n){const e=A.createElement("style");e.textContent=t,A.head.appendChild(e)}}}}catch(A){}})}catch(A){}if(t)try{e.querySelectorAll("*").forEach(A=>{try{const e=A,t=window.getComputedStyle(e),n=[];for(let A=0;A<t.length;A++){const e=t[A],r=t.getPropertyValue(e),o=t.getPropertyPriority(e);r&&"none"!==r&&"auto"!==r&&"normal"!==r&&n.push(`${e}: ${r}${"important"===o?" !important":""}`)}if(n.length>0){const A=e.getAttribute("style")||"",t=A?`${A}; ${n.join("; ")}`:n.join("; ");e.setAttribute("style",t)}}catch(A){}})}catch(A){this.options.debug&&console.warn("📸 iOS 样式内联化失败:",A)}if(this.options.debug){const e=A.querySelectorAll('link[rel="stylesheet"]').length,n=A.querySelectorAll("style").length;console.log(`📸 onclone: 已复制 ${e} 个样式表链接和 ${n} 个内联样式标签${t?" (iOS 模式:已内联化计算样式)":""}`)}},removeContainer:!0,imageTimeout:this.options.imageLoadTimeout||5e3,ignoreElements:A=>{const e=window.getComputedStyle(A);return"none"===e.display||"hidden"===e.visibility||"0"===e.opacity}};if(this.options.useProxy&&this.options.proxyUrl&&""!==this.options.proxyUrl.trim()){const A=s.onclone;s.onclone=(e,t)=>{A&&A(e,t);e.querySelectorAll("img").forEach(A=>{const e=A.getAttribute("src");if(!e)return;try{if(new URL(e,window.location.href).origin===window.location.origin)return}catch{}const t=this.getCachedImage(e);if(t)return A.src=t,void(this.options.debug&&console.log(`📸 使用缓存的图片: ${e.substring(0,50)}...`));try{if(!this.options.proxyUrl)return void(this.options.debug&&console.warn(`📸 ⚠️ 未配置代理 URL,跨域图片可能无法显示: ${e}`));const t=new URLSearchParams({url:e});let n=this.options.proxyUrl.trim();n=n.replace(/[?&]$/,"");const r=`${n}?${t.toString()}`;A.src=r,this.options.debug&&console.log(`📸 使用代理 URL 替换跨域图片: ${e.substring(0,50)}... -> ${r.substring(0,50)}...`)}catch(A){this.options.debug&&console.warn(`📸 ⚠️ 处理图片 URL 失败: ${e}`,A)}})}}this.options.debug&&(console.log(`📸 html2canvas 配置: 元素尺寸 ${r}x${o}, 质量 ${i.toFixed(2)}, 缩放 ${s.scale}`),console.log("📸 html2canvas 将自动计算截图尺寸(不限制 width/height)"),console.log(`📸 用户配置质量: ${this.options.quality}, 实际使用质量: ${i.toFixed(2)}`));const a=await dt(A,s);let c,l="image/png";if("webp"===this.options.outputFormat)try{const A=document.createElement("canvas");A.width=1,A.height=1;-1!==A.toDataURL("image/webp").indexOf("webp")?(l="image/webp",c=i):(l="image/jpeg",c=i)}catch{l="image/jpeg",c=i}else"jpeg"===this.options.outputFormat&&(l="image/jpeg",c=i);const u="image/png"===l?a.toDataURL(l):a.toDataURL(l,c);if(!u||u.length<100)throw new Error("生成的截图数据无效或过短");return this.options.debug&&(console.log(`📸 html2canvas 截图成功!格式: ${l}, 尺寸: ${a.width}x${a.height}, 质量: ${c?.toFixed(2)||"N/A (PNG)"}`),console.log(`📸 输出格式: ${l}, 用户配置质量: ${this.options.quality}, 实际使用质量: ${c?.toFixed(2)||"N/A (PNG)"}`)),u}catch(A){const e=A instanceof Error?A.message:String(A);throw this.options.debug&&(console.error("📸 html2canvas 截图失败:",e),(e.includes("CORS")||e.includes("cross-origin"))&&console.warn("📸 💡 建议:配置 proxyUrl 选项处理跨域图片")),A}}async takeScreenshotWithModernScreenshot(A){if(this.isScreenshotInProgress)return this.screenshotQueue.length>=1?(this.options.debug&&console.log("📸 截图队列已满,跳过当前请求(等待队列处理)"),new Promise((e,t)=>{const n=()=>{this.isScreenshotInProgress||0!==this.screenshotQueue.length?setTimeout(n,100):this.takeScreenshotWithModernScreenshot(A).then(e).catch(t)};n()})):new Promise((e,t)=>{this.screenshotQueue.push({resolve:()=>{this.takeScreenshotWithModernScreenshot(A).then(e).catch(t)},reject:t}),this.isProcessingQueue||this.processScreenshotQueue()});this.isScreenshotInProgress=!0,this.options.debug&&console.log("📸 使用 modern-screenshot 引擎截图(Worker 模式)...");try{let e,t;A===document.body||A===document.documentElement?(e=window.innerWidth,t=window.innerHeight):(e=A.clientWidth||A.offsetWidth||A.scrollWidth,t=A.clientHeight||A.offsetHeight||A.scrollHeight),this.options.debug&&(console.log(`📸 目标元素: ${A.tagName}${A.id?"#"+A.id:""}${A.className?"."+A.className.split(" ").join("."):""}`),console.log(`📸 元素尺寸: ${e}x${t}`),console.log(`📸 scrollWidth: ${A.scrollWidth}, scrollHeight: ${A.scrollHeight}`),console.log(`📸 clientWidth: ${A.clientWidth}, clientHeight: ${A.clientHeight}`),console.log(`📸 offsetWidth: ${A.offsetWidth}, offsetHeight: ${A.offsetHeight}`),A!==document.body&&A!==document.documentElement||(console.log(`📸 页面完整尺寸: ${document.documentElement.scrollWidth}x${document.documentElement.scrollHeight}`),console.log(`📸 窗口尺寸: ${window.innerWidth}x${window.innerHeight}`)));const n=this.options.useProxy&&this.options.proxyUrl&&""!==this.options.proxyUrl.trim(),r=async A=>{if(A.startsWith("data:")||A.startsWith("blob:"))return A;try{if(new URL(A,window.location.href).origin===window.location.origin)return A}catch(A){}const e=this.getCachedImage(A);if(e)return this.options.debug&&console.log(`📸 ✅ 使用内存缓存图片: ${A.substring(0,50)}...`),e;try{const e=new URLSearchParams({url:A,maxWidth:String(this.options.maxWidth||1600),maxHeight:String(this.options.maxHeight||900),quality:String(Math.round(100*(this.options.quality||.4))),format:this.options.outputFormat||"webp"});let t=this.options.proxyUrl;t=t.replace(/[?&]$/,"");const n=`${t}?${e.toString()}`,r=new AbortController,o=setTimeout(()=>r.abort(),this.options.imageLoadTimeout);try{const e={method:"GET",mode:"cors",credentials:"omit",headers:{Accept:"image/*"},cache:"no-cache",signal:r.signal};"priority"in e&&(e.priority=this.options.fetchPriority);const t=await fetch(n,e);if(clearTimeout(o),!t.ok)throw new Error(`代理请求失败: ${t.status}`);const i=await t.blob(),s=await this.blobToDataUrl(i);return this.setCachedImage(A,s),s}catch(A){throw clearTimeout(o),A}}catch(e){return this.options.debug&&console.warn(`📸 代理处理图片失败: ${A.substring(0,100)}...`,e),A}},o=A.getBoundingClientRect();if(0===o.width||0===o.height)throw new Error("元素尺寸为 0,无法截图");let i;if(void 0!==this.options.workerNumber&&this.options.workerNumber>0)i=this.options.workerNumber;else{const A=navigator.hardwareConcurrency||4,e=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),t=navigator.hardwareConcurrency&&navigator.hardwareConcurrency<=4;if(e||t)i=1;else if(A>=8){i=this.options.interval<2e3?Math.min(4,Math.floor(A/2)):3}else i=A>=4?2:1}if(i=Math.max(1,Math.min(8,i)),!this.screenshotContext){this.options.debug&&(console.log("📸 创建截图 Worker 上下文..."),console.log(`📸 Worker 模式: ${i} 个 Worker`));const e={workerNumber:i,...n?{fetchFn:r,fetch:{requestInit:{cache:"no-cache"},bypassingCache:!0}}:{}};this.options.workerUrl?(e.workerUrl=this.options.workerUrl,this.options.debug&&console.log(`📸 使用指定的 Worker URL: ${this.options.workerUrl}`)):this.options.debug&&console.log("📸 Worker URL 未指定,modern-screenshot 将自动处理");try{this.screenshotContext=await O(A,e),this.options.debug&&console.log("📸 Worker 上下文创建成功")}catch(A){throw this.options.debug&&console.error("📸 创建 Worker 上下文失败:",A),A}}try{let e;const t=this.options.outputFormat||"webp";this.options.debug&&console.log(`📸 使用 ${t.toUpperCase()} 格式截图(直接输出,无需转换)...`);const n={scale:this.options.scale??.7,backgroundColor:this.options.backgroundColor??"#ffffff",type:`image/${t}`,quality:this.options.quality??.6,drawImageInterval:this.options.drawImageInterval??20,features:{copyScrollbar:!1,removeAbnormalAttributes:!0,removeControlCharacter:!0,fixSvgXmlDecode:!0,restoreScrollPosition:!1},timeout:1e4};try{if(e="webp"===t?await QA(this.screenshotContext,n):"jpeg"===t?await mA(this.screenshotContext,n):await CA(this.screenshotContext,n),!e||e.length<100)throw new Error("生成的截图数据无效或过短");return this.options.debug&&console.log(`📸 ✅ modern-screenshot 截图成功(Worker 模式,${t.toUpperCase()} 格式)`),e}catch(n){if(this.options.debug&&console.warn("📸 Worker 模式失败,回退到普通模式:",n),this.screenshotContext){try{tA(this.screenshotContext)}catch{}this.screenshotContext=null}const r={scale:.3,backgroundColor:this.options.backgroundColor??"#ffffff",type:`image/${t}`,quality:.3,drawImageInterval:this.options.drawImageInterval??20,features:{copyScrollbar:!1,removeAbnormalAttributes:!0,removeControlCharacter:!0,fixSvgXmlDecode:!0,restoreScrollPosition:!1},timeout:1e4};if(e="webp"===t?await QA(A,r):"jpeg"===t?await mA(A,r):await CA(A,r),!e||e.length<100)throw new Error("生成的截图数据无效或过短");return this.options.debug&&console.log(`📸 ✅ modern-screenshot 截图成功(普通模式,${t.toUpperCase()} 格式)`),e}}catch(e){const t=e instanceof Error?e.message:String(e);throw this.options.debug&&(console.error("📸 modern-screenshot 截图失败:",t),console.error("📸 元素信息:",{width:o.width,height:o.height,scrollWidth:A.scrollWidth,scrollHeight:A.scrollHeight,display:window.getComputedStyle(A).display,visibility:window.getComputedStyle(A).visibility})),e}finally{this.isScreenshotInProgress=!1}}catch(A){const e=A instanceof Error?A.message:String(A);throw this.options.debug&&console.error("📸 modern-screenshot 截图异常:",e),A}finally{this.isScreenshotInProgress&&(this.isScreenshotInProgress=!1),this.processScreenshotQueue()}}async processScreenshotQueue(){if(!this.isProcessingQueue&&0!==this.screenshotQueue.length){for(this.isProcessingQueue=!0;this.screenshotQueue.length>0&&!this.isScreenshotInProgress;){const A=this.screenshotQueue.shift();if(A)try{for(A.resolve();this.isScreenshotInProgress;)await new Promise(A=>setTimeout(A,50))}catch(e){A.reject(e instanceof Error?e:new Error(String(e)))}}this.isProcessingQueue=!1}}preconnectProxy(){if(!this.preconnected&&this.options.proxyUrl)try{const A=new URL(this.options.proxyUrl).origin,e=document.createElement("link");e.rel="preconnect",e.href=A,e.crossOrigin="anonymous",document.head.appendChild(e),this.preconnected=!0,this.options.debug&&console.log(`📸 ✅ 已预连接代理服务器: ${A}`)}catch(A){}}initIntersectionObserver(){"IntersectionObserver"in window&&(this.intersectionObserver=new IntersectionObserver(A=>{A.forEach(A=>{A.isIntersecting?this.visibleElementsCache.add(A.target):this.visibleElementsCache.delete(A.target)})},{root:null,rootMargin:"50px",threshold:.01}))}estimateDataUrlSize(A){const e=A.split(",")[1]||"";return Math.ceil(.75*e.length)+30}async getIndexedDBCacheSize(){return 0}async cleanIndexedDBCache(){}async cleanIndexedDBCacheBySize(A){}async deleteIndexedDBCache(A){}isElementVisible(A,e){if(!this.options.onlyVisibleImages)return!0;if(this.options.useIntersectionObserver&&this.intersectionObserver){if(this.visibleElementsCache.has(A))return!0;this.intersectionObserver.observe(A)}try{const t=A.getBoundingClientRect(),n=e.getBoundingClientRect(),r=!(t.bottom<n.top||t.top>n.bottom||t.right<n.left||t.left>n.right)&&t.width>0&&t.height>0&&"none"!==window.getComputedStyle(A).display&&"hidden"!==window.getComputedStyle(A).visibility&&"0"!==window.getComputedStyle(A).opacity;return this.options.useIntersectionObserver&&this.intersectionObserver&&(r?this.visibleElementsCache.add(A):this.visibleElementsCache.delete(A)),r}catch{return!0}}async preprocessNetworkImages(A){const e=A.querySelectorAll("img"),t=Array.from(e).filter(e=>{const t=e.src.startsWith("blob:"),n=e.src.startsWith("data:"),r=e.src.startsWith(window.location.origin),o=this.isElementVisible(e,A);return!t&&!n&&!r&&o});if(0===t.length)return;if(this.options.debug){const A=e.length;console.log(`📸 发现 ${t.length}/${A} 个可视区域内的跨域图片,开始并行预加载...`)}if(this.options.useProxy&&this.options.proxyUrl&&""!==this.options.proxyUrl.trim()){this.options.debug&&console.log(`📸 使用代理服务器处理跨域图片: ${this.options.proxyUrl}`);const A=this.options.maxConcurrentDownloads||10,e=[];for(let n=0;n<t.length;n+=A)e.push(t.slice(n,n+A));await Promise.all(e.map(async A=>{await Promise.all(A.map(async A=>{const e=A.src;if(!this.getCachedImage(e))try{const A=await this.proxyImage(e);A&&this.setCachedImage(e,A)}catch(A){this.options.debug&&console.warn(`📸 ❌ 代理预加载失败: ${e.substring(0,50)}...`)}}))})),this.options.debug&&console.log(`📸 ✅ 预处理完成,缓存了 ${this.imageProxyCache.size} 个代理图片`)}}async proxyImage(A){if(!this.options.proxyUrl||""===this.options.proxyUrl.trim())throw new Error("proxyUrl 未配置");const e=new URLSearchParams({url:A,maxWidth:String(this.options.maxWidth||1600),maxHeight:String(this.options.maxHeight||900),quality:String(Math.round(100*(this.options.quality||.4))),format:this.options.outputFormat||"webp"});let t=this.options.proxyUrl;t=t.replace(/[?&]$/,"");const n=`${t}?${e.toString()}`;this.options.debug&&console.log(`📸 🔄 代理请求 URL: ${n.substring(0,200)}...`);const r=await fetch(n,{method:"GET",mode:"cors",credentials:"omit",headers:{Accept:"image/*"}});if(!r.ok){const A=await r.text().catch(()=>"");throw new Error(`代理请求失败: ${r.status} ${r.statusText}${A?` - ${A.substring(0,200)}`:""}`)}const o=await r.blob(),i=await this.blobToDataUrl(o);return this.options.debug&&console.log(`📸 ✅ 代理模式成功(已转换为 data URL): ${A.substring(0,100)}...`),i}async downloadImageWithoutProxy(A){try{const e=new AbortController,t=setTimeout(()=>e.abort(),this.options.imageLoadTimeout||5e3),n=await fetch(A,{method:"GET",mode:"cors",credentials:"omit",cache:"no-cache",signal:e.signal}).catch(()=>null).finally(()=>{clearTimeout(t)});if(n&&n.ok){const e=n.headers.get("content-length");if(e){const t=parseInt(e,10)/1048576,n=this.options.maxImageSize||5;if(t>n){if(this.options.skipLargeImages)return this.options.debug&&console.warn(`📸 ⚠️ 跳过过大图片(${t.toFixed(2)}MB > ${n}MB): ${A.substring(0,100)}...`),"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==";this.options.debug&&console.warn(`📸 ⚠️ 图片较大(${t.toFixed(2)}MB),可能导致内存问题: ${A.substring(0,100)}...`)}}const t=await n.blob(),r=t.size/1048576,o=this.options.maxImageSize||5;if(r>o){if(this.options.skipLargeImages)return this.options.debug&&console.warn(`📸 ⚠️ 跳过过大图片(实际大小 ${r.toFixed(2)}MB > ${o}MB): ${A.substring(0,100)}...`),"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==";this.options.debug&&console.warn(`📸 ⚠️ 图片较大(实际大小 ${r.toFixed(2)}MB),可能导致内存问题: ${A.substring(0,100)}...`)}const i=await this.blobToDataUrl(t);return this.setCachedImage(A,i),i}return A}catch(e){return this.options.debug&&console.warn(`📸 ⚠️ 下载图片失败: ${A.substring(0,100)}...`,e),A}}blobToDataUrl(A){return new Promise((e,t)=>{const n=new FileReader,r=setTimeout(()=>{t(new Error("图片转换超时"))},1e4);n.onload=()=>{clearTimeout(r),e(n.result)},n.onerror=A=>{clearTimeout(r),t(A)},n.readAsDataURL(A)})}async waitForImagesToLoad(A){const e=A.querySelectorAll("img"),t=[];Array.from(e).forEach(A=>{if(A.complete)return;const e=this.options.imageLoadTimeout||5e3;t.push(Promise.race([new Promise(e=>{A.onload=()=>e(),A.onerror=()=>e()}),new Promise(A=>{setTimeout(()=>A(),e)})]))}),t.length>0&&await Promise.all(t)}async waitForStylesAndFonts(){const A=Array.from(document.styleSheets).map(A=>new Promise(e=>{try{A.cssRules?e():setTimeout(()=>e(),100)}catch(A){e()}}));await Promise.all(A),await new Promise(A=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{setTimeout(()=>{A()},100)})})})}async waitForFonts(){if(!document.fonts)return Promise.resolve();try{await document.fonts.ready,await new Promise(A=>setTimeout(A,100))}catch{}}async waitForAllStylesLoaded(){const A=Array.from(document.styleSheets),e=[];A.forEach(A=>{e.push(new Promise(e=>{try{const t=A.cssRules;if(t&&t.length>0)e();else if(t)e();else{let t=0;const n=100,r=setInterval(()=>{t++;try{(A.cssRules||t>=n)&&(clearInterval(r),e())}catch{clearInterval(r),e()}},50);setTimeout(()=>{clearInterval(r),e()},5e3)}}catch(A){e()}}))}),await Promise.all(e),await new Promise(A=>setTimeout(A,300)),await new Promise(A=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{setTimeout(()=>A(),100)})})})}calculateCompressedSize(A,e,t,n){let r=A,o=e;if(r>t||o>n){const A=t/r,e=n/o,i=Math.min(A,e);r=Math.round(r*i),o=Math.round(o*i)}return{width:r,height:o}}createWorker(){if("undefined"==typeof Worker)return null;try{const A=new Blob(["\n // 图片压缩 Worker(类似 TinyPNG 的智能压缩)\n self.onmessage = async function(e) {\n const { type, data } = e.data;\n \n if (type === 'COMPRESS_IMAGE') {\n try {\n const { dataUrl, maxWidth, maxHeight, quality, outputFormat } = data;\n \n // 1. 加载图片\n const img = await loadImage(dataUrl);\n \n // 获取图片尺寸(ImageBitmap 或 Image 都支持)\n const imgWidth = img.width || img.naturalWidth || 0;\n const imgHeight = img.height || img.naturalHeight || 0;\n \n if (imgWidth === 0 || imgHeight === 0) {\n throw new Error('无法获取图片尺寸');\n }\n \n // 2. 计算压缩后的尺寸(保持宽高比)\n const { width, height } = calculateSize(\n imgWidth,\n imgHeight,\n maxWidth || 1600,\n maxHeight || 900\n );\n \n // 3. 创建 OffscreenCanvas(Worker 中必须使用 OffscreenCanvas)\n if (typeof OffscreenCanvas === 'undefined') {\n throw new Error('浏览器不支持 OffscreenCanvas,无法在 Worker 中压缩');\n }\n \n const canvas = new OffscreenCanvas(width, height);\n const ctx = canvas.getContext('2d');\n \n if (!ctx) {\n throw new Error('无法获取 Canvas 上下文');\n }\n \n // 4. 优化绘制设置(提升压缩质量)\n ctx.imageSmoothingEnabled = true;\n ctx.imageSmoothingQuality = 'high';\n \n // 5. 使用白色背景(避免透明区域压缩问题)\n ctx.fillStyle = '#ffffff';\n ctx.fillRect(0, 0, width, height);\n \n // 6. 绘制图片(高质量缩放)\n ctx.drawImage(img, 0, 0, width, height);\n \n // 7. 转换为目标格式(智能质量调整)\n // OffscreenCanvas 使用 convertToBlob 而不是 toDataURL\n let compressedDataUrl;\n const finalQuality = Math.max(0.1, Math.min(0.95, quality || 0.15));\n \n // 辅助函数:将 Blob 转换为 data URL\n async function blobToDataURL(blob) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = () => resolve(reader.result);\n reader.onerror = reject;\n reader.readAsDataURL(blob);\n });\n }\n \n // 确定 MIME 类型\n let mimeType = 'image/png';\n if (outputFormat === 'webp') {\n mimeType = 'image/webp';\n } else if (outputFormat === 'jpeg') {\n mimeType = 'image/jpeg';\n }\n \n // 第一次压缩\n let blob = await canvas.convertToBlob({\n type: mimeType,\n quality: finalQuality\n });\n \n compressedDataUrl = await blobToDataURL(blob);\n \n // 8. 如果压缩后文件仍然较大,尝试进一步降低质量\n const originalSize = dataUrl.length;\n let compressedSize = compressedDataUrl.length;\n \n // 如果压缩后大小减少不足 20%,尝试更激进的压缩\n if (compressedSize > originalSize * 0.8 && finalQuality > 0.1 && (outputFormat === 'webp' || outputFormat === 'jpeg')) {\n const aggressiveQuality = Math.max(0.1, finalQuality * 0.7);\n \n try {\n const moreCompressedBlob = await canvas.convertToBlob({\n type: mimeType,\n quality: aggressiveQuality\n });\n \n const moreCompressedDataUrl = await blobToDataURL(moreCompressedBlob);\n \n // 如果更激进的压缩效果更好,使用它\n if (moreCompressedDataUrl.length < compressedDataUrl.length) {\n compressedDataUrl = moreCompressedDataUrl;\n compressedSize = compressedDataUrl.length;\n }\n } catch (e) {\n // 忽略错误,使用之前的压缩结果\n }\n }\n \n // 9. 返回压缩结果\n self.postMessage({\n type: 'SCREENSHOT_RESULT',\n data: {\n compressed: {\n dataUrl: compressedDataUrl,\n originalSize: originalSize,\n compressedSize: compressedDataUrl.length,\n compressionRatio: ((1 - compressedDataUrl.length / originalSize) * 100).toFixed(1)\n }\n }\n });\n } catch (error) {\n // 压缩失败,返回原始数据\n self.postMessage({\n type: 'SCREENSHOT_RESULT',\n data: {\n compressed: {\n dataUrl: data.dataUrl,\n error: error.message\n }\n }\n });\n }\n }\n };\n \n // 加载图片的辅助函数(Worker 中使用 createImageBitmap)\n async function loadImage(dataUrl) {\n try {\n // 将 data URL 转换为 Blob\n let blob;\n if (typeof fetch !== 'undefined') {\n try {\n const response = await fetch(dataUrl);\n blob = await response.blob();\n } catch (e) {\n // fetch 失败,手动转换 data URL 到 Blob\n blob = dataURLToBlob(dataUrl);\n }\n } else {\n // 没有 fetch,手动转换\n blob = dataURLToBlob(dataUrl);\n }\n \n // 使用 createImageBitmap 创建图片(Worker 中推荐方式)\n if (typeof createImageBitmap !== 'undefined') {\n return await createImageBitmap(blob);\n } else {\n // 回退方案:使用 Image(某些 Worker 环境可能支持)\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.onload = () => resolve(img);\n img.onerror = reject;\n img.src = dataUrl;\n });\n }\n } catch (error) {\n // 如果 createImageBitmap 失败,尝试直接使用 Image\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.onload = () => resolve(img);\n img.onerror = () => reject(error);\n img.src = dataUrl;\n });\n }\n }\n \n // 将 data URL 转换为 Blob 的辅助函数\n function dataURLToBlob(dataUrl) {\n const arr = dataUrl.split(',');\n const mimeMatch = arr[0].match(/:(.*?);/);\n const mime = mimeMatch ? mimeMatch[1] : 'image/png';\n const bstr = atob(arr[1]);\n let n = bstr.length;\n const u8arr = new Uint8Array(n);\n while (n--) {\n u8arr[n] = bstr.charCodeAt(n);\n }\n return new Blob([u8arr], { type: mime });\n }\n \n // 计算压缩后尺寸的辅助函数(保持宽高比)\n function calculateSize(originalWidth, originalHeight, maxWidth, maxHeight) {\n let width = originalWidth;\n let height = originalHeight;\n \n if (width > maxWidth || height > maxHeight) {\n const widthRatio = maxWidth / width;\n const heightRatio = maxHeight / height;\n const ratio = Math.min(widthRatio, heightRatio);\n width = Math.round(width * ratio);\n height = Math.round(height * ratio);\n }\n \n return { width, height };\n }\n "],{type:"application/javascript"}),e=URL.createObjectURL(A),t=new Worker(e);return t.onmessage=A=>{const{type:e,data:n}=A.data;if("SCREENSHOT_RESULT"===e&&n?.compressed){const A=n.compressed,e=performance.now(),r=t.__compressStartTime||e,o=t.__scheduleStartTime,i=e-r,s=this.screenshotHistory.length>0?this.screenshotHistory[this.screenshotHistory.length-1]:"";if(this.screenshotHistory.length>0&&A.dataUrl){const t=s.split(",")[1]||"",n=A.dataUrl.split(",")[1]||"";if(this.screenshotHistory[this.screenshotHistory.length-1]=A.dataUrl,this.options.debug)if(A.error)console.warn("📸 [Worker 压缩] ⚠️ 压缩失败,使用原始截图"),console.warn(` ⚠️ 错误: ${A.error}`),console.log(` ⏱️ Worker 压缩耗时: ${i.toFixed(2)}ms`),console.log(`📸 [压缩前] Base64 长度: ${t.length} 字符`),console.log("📸 [压缩前] 完整 Base64:"),console.log(t),console.log("📸 [压缩前] 完整 Data URL:"),console.log(s);else if(A.originalSize&&A.compressedSize){const e=(.75*A.originalSize/1024).toFixed(2),r=(.75*A.compressedSize/1024).toFixed(2),o=A.compressionRatio||"0";console.log("📸 [Worker 压缩] ✅ 压缩完成"),console.log(` 原始大小: ${e} KB`),console.log(` 压缩后: ${r} KB`),console.log(` 压缩率: ${o}%`),console.log(` ⏱️ Worker 压缩耗时: ${i.toFixed(2)}ms`),console.log(`📸 [压缩前] Base64 长度: ${t.length} 字符`),console.log("📸 [压缩前] 完整 Base64:"),console.log(t),console.log("📸 [压缩前] 完整 Data URL:"),console.log(s),console.log(`📸 [压缩后] Base64 长度: ${n.length} 字符`),console.log("📸 [压缩后] 完整 Base64:"),console.log(n),console.log("📸 [压缩后] 完整 Data URL:"),console.log(A.dataUrl)}this.currentBinaryConfig&&A.dataUrl&&this.sendCompressedScreenshotToIframe(A.dataUrl,o,e)}if(this.isCurrentTaskCompleted=!0,this.isRunning&&this.scheduleNextFn){const A=this.dynamicInterval||this.options.interval;this.screenshotTimer=setTimeout(()=>{this.screenshotTimer=null,this.scheduleNextFn?.()},A)}}},t.onerror=A=>{if(console.error("📸 WebWorker 错误:",A),this.options.debug&&console.warn("📸 Worker 压缩失败,使用原始截图"),this.currentBinaryConfig&&this.sendToIframeCallback){const A=this.getLatestScreenshot();if(A)try{const e=this.dataUrlToArrayBuffer(A),t=this.buildBinaryConfig(this.currentBinaryConfig),n={type:"screenshotBinary",data:this.combineBinaryData(t,e)};this.sendToIframeCallback(n),this.options.debug&&console.log("📸 [Worker 错误] ✅ 原始截图已发送到 iframe")}catch(A){console.error("📸 [Worker 错误] ❌ 发送原始截图失败:",A)}}if(this.isCurrentTaskCompleted=!0,this.isRunning&&this.scheduleNextFn){const A=this.dynamicInterval||this.options.interval;this.screenshotTimer=setTimeout(()=>{this.screenshotTimer=null,this.scheduleNextFn?.()},A)}},t}catch(A){return console.error("📸 创建 WebWorker 失败:",A),null}}setupGlobalErrorHandlers(){this.globalErrorHandler=A=>{const e=A.message||A.error?.message||"";return!(e.includes("CORS")||e.includes("Access-Control-Allow-Origin")||e.includes("cross-origin"))||(A.preventDefault(),A.stopPropagation(),!1)},this.globalRejectionHandler=A=>{const e=A.reason?.message||String(A.reason)||"";return!(e.includes("CORS")||e.includes("Access-Control-Allow-Origin")||e.includes("cross-origin"))||(A.preventDefault(),!1)},window.addEventListener("error",this.globalErrorHandler,!0),window.addEventListener("unhandledrejection",this.globalRejectionHandler,!0)}removeGlobalErrorHandlers(){this.globalErrorHandler&&(window.removeEventListener("error",this.globalErrorHandler,!0),this.globalErrorHandler=null),this.globalRejectionHandler&&(window.removeEventListener("unhandledrejection",this.globalRejectionHandler,!0),this.globalRejectionHandler=null)}dataUrlToArrayBuffer(A){const e=A.split(","),t=atob(e[1]),n=t.length,r=new Uint8Array(n);for(let A=0;A<n;A++)r[A]=t.charCodeAt(A);return r.buffer}arrayBufferToBase64(A){const e=new Uint8Array(A);let t="";for(let A=0;A<e.length;A++)t+=String.fromCharCode(e[A]);return btoa(t)}buildBinaryConfig(A){const e=new TextEncoder,t=e.encode(A.agent),n=t.length,r=e.encode(A.topic),o=r.length,i=e.encode(A.routingKey.trim()),s=i.length,a=new ArrayBuffer(21+n+1+1+o+1+s),c=new DataView(a);let l=0;const u=String(A.sign),h=e.encode(u);new Uint8Array(a,l,20).set(h.slice(0,20)),l+=20,c.setUint8(l,n),l+=1;new Uint8Array(a,l,n).set(t),l+=n,c.setUint8(l,A.type),l+=1,c.setUint8(l,o),l+=1;new Uint8Array(a,l,o).set(r),l+=o,c.setUint8(l,s),l+=1;return new Uint8Array(a,l,s).set(i),l+=s,a}combineBinaryData(A,e){const t=A.byteLength+e.byteLength,n=new ArrayBuffer(t),r=new Uint8Array(n);return r.set(new Uint8Array(A),0),r.set(new Uint8Array(e),A.byteLength),n}async takeScreenshotAndSendBinary(A){this.isRunning&&(this.options.debug&&console.log(`📸 更新轮询间隔: ${this.dynamicInterval||this.options.interval}ms`),this.stopScreenshot()),this.startScreenshot(this.dynamicInterval||this.options.interval);try{if(await this.takeScreenshot())if(await new Promise(A=>setTimeout(A,100)),this.options.compress)this.options.debug&&console.log("📸 [iframe] 等待 Worker 压缩完成后发送到 iframe...");else{const e=this.getLatestScreenshot();if(e)try{const t=e.split(",")[1]||"",n=t.length,r=this.dataUrlToArrayBuffer(e),o=r.byteLength,i=this.arrayBufferToBase64(r),s=t===i;this.options.debug&&(console.log("📸 [发送前] 数据流程分析:"),console.log(` latestScreenshot: ${e.substring(0,50)}... (原始 data URL)`),console.log(` base64Data (从 latestScreenshot 提取): 长度 ${t.length} 字符`),console.log(` imageBuffer: ArrayBuffer, 大小 ${o} 字节`),console.log(` imageBufferBase64 (从 imageBuffer 转换): 长度 ${i.length} 字符`),console.log(" ✅ 验证: base64Data === imageBufferBase64 ? "+(s?"✅ 一致":"❌ 不一致")),s||(console.warn("📸 ⚠️ 警告: base64Data 和 imageBufferBase64 不一致!"),console.log(" base64Data (前100字符):",t.substring(0,100)),console.log(" imageBufferBase64 (前100字符):",i.substring(0,100))),console.log("📸 [发送前] imageBuffer 转换为 Base64(用于和接收端对比):"),console.log(` Base64 长度: ${i.length} 字符`),console.log(" Base64 完整字符串:"),console.log(i),console.log(" 📌 接收端使用方法: const imageUrl = `data:image/webp;base64,${receivedBase64}`"),console.log(` Data URL: data:image/webp;base64,${i}`));const a=this.buildBinaryConfig(A),c=a.byteLength,l=this.combineBinaryData(a,r),u=l.byteLength;if(this.options.debug&&(console.log("📸 [大小统计]"),console.log(` Base64 大小: ${n} 字符`),console.log(` 图片字节大小: ${(o/1024).toFixed(2)} KB (${o} 字节)`),console.log(` 配置字节大小: ${c} 字节`),console.log(` 拼接后总大小: ${(u/1024).toFixed(2)} KB (${u} 字节)`)),this.sendToIframeCallback){const A={type:"screenshotBinary",data:l};this.sendToIframeCallback(A),this.options.debug&&console.log("📸 [iframe] ✅ 二进制数据已发送到 iframe")}else console.error("📸 [iframe] ❌ 无法发送二进制数据:未提供发送消息的回调函数")}catch(A){console.error("📸 [iframe] ❌ 处理二进制数据失败:",A),this.uploadError=A instanceof Error?A.message:String(A)}else this.options.debug&&console.warn("📸 [iframe] 截图完成但未找到截图数据")}}catch(A){console.error("📸 [iframe] 截图失败:",A),this.uploadError=A instanceof Error?A.message:String(A)}}getLatestScreenshot(){return this.screenshotHistory[this.screenshotHistory.length-1]||null}sendCompressedScreenshotToIframe(A,e,t){if(!this.currentBinaryConfig||!this.sendToIframeCallback)return;const n=performance.now();try{const r=A.split(",")[1]||"",o=r.length;this.options.debug&&(console.log("📸 [发送前] Base64 信息:"),console.log(` Base64 长度: ${o} 字符`),console.log(" 📸 [发送前] 完整 Base64:"),console.log(r),console.log(" 📸 [发送前] 完整 Data URL:"),console.log(A));const i=performance.now(),s=this.dataUrlToArrayBuffer(A),a=s.byteLength,c=performance.now()-i,l=performance.now(),u=this.buildBinaryConfig(this.currentBinaryConfig),h=u.byteLength,g=performance.now()-l,d=performance.now(),B=this.combineBinaryData(u,s),f=B.byteLength,w=performance.now()-d;this.options.debug&&(console.log("📸 [压缩后-大小统计]"),console.log(` Base64 大小: ${o} 字符`),console.log(` 图片字节大小: ${(a/1024).toFixed(2)} KB (${a} 字节)`),console.log(` 配置字节大小: ${h} 字节`),console.log(` 拼接后总大小: ${(f/1024).toFixed(2)} KB (${f} 字节)`),console.log(` ⏱️ 数据转换耗时: ${c.toFixed(2)}ms`),console.log(` ⏱️ 构建配置耗时: ${g.toFixed(2)}ms`),console.log(` ⏱️ 合并数据耗时: ${w.toFixed(2)}ms`));const p=performance.now(),m={type:"screenshotBinary",data:B};this.sendToIframeCallback(m);const C=performance.now()-p,Q=performance.now()-n;let y=0;if(e&&(y=performance.now()-e),this.options.debug&&(console.log("📸 [压缩后] ✅ 二进制数据已发送到 iframe"),console.log(` ⏱️ 发送回调耗时: ${C.toFixed(2)}ms`),console.log(` ⏱️ 发送阶段总耗时: ${Q.toFixed(2)}ms`),e&&(console.log(` ⏱️ 从定时开始到发送完成总耗时: ${y.toFixed(2)}ms`),t))){const A=n-t;console.log(` ⏱️ 压缩完成到发送开始耗时: ${A.toFixed(2)}ms`)}}catch(A){console.error("📸 [压缩后] ❌ 处理二进制数据失败:",A)}}getCompressedScreenshot(A="dataUrl",e){const t=this.getLatestScreenshot();if(!t)return null;switch(A){case"dataUrl":default:return t;case"blob":{const A=t.split(","),e=A[0].match(/:(.*?);/)?.[1]||"image/webp",n=atob(A[1]),r=n.length,o=new Uint8Array(r);for(let A=0;A<r;A++)o[A]=n.charCodeAt(A);return new Blob([o],{type:e})}case"arrayBuffer":return this.dataUrlToArrayBuffer(t);case"file":{const A=t.split(","),n=A[0].match(/:(.*?);/)?.[1]||"image/webp",r=atob(A[1]),o=r.length,i=new Uint8Array(o);for(let A=0;A<o;A++)i[A]=r.charCodeAt(A);const s=new Blob([i],{type:n}),a=n.split("/")[1]||"webp";return new File([s],e||`screenshot.${a}`,{type:n})}case"image":return new Promise(A=>{const e=new Image;e.onload=()=>A(e),e.onerror=()=>A(null),e.src=t})}}enable(A){this.isEnabled=A,!A&&this.isRunning&&this.stopScreenshot()}updateOptions(A){const e=this.options.engine,t=A.engine;if(void 0!==A.engine&&(this.options.engine=A.engine),void 0!==A.quality&&(this.options.quality=A.quality),void 0!==A.scale&&(this.options.scale=A.scale),void 0!==A.maxWidth&&(this.options.maxWidth=A.maxWidth),void 0!==A.maxHeight&&(this.options.maxHeight=A.maxHeight),void 0!==A.outputFormat&&(this.options.outputFormat=A.outputFormat),void 0!==A.compress&&(this.options.compress=A.compress),void 0!==A.debug&&(this.options.debug=A.debug),void 0!==A.proxyUrl&&(this.options.proxyUrl=A.proxyUrl),void 0!==A.useProxy&&(this.options.useProxy=A.useProxy),t&&t!==e){if(this.screenshotContext){try{tA(this.screenshotContext),this.options.debug&&console.log(`📸 引擎已从 ${e} 切换到 ${t},已清理旧 context`)}catch(A){}this.screenshotContext=null}this.options.debug&&(console.log(`📸 截图引擎已更新: ${e} → ${t}`),console.log(`📸 下次截图时将使用新引擎: ${t}`))}else this.options.debug&&console.log("📸 截图配置已更新")}destroy(){if(this.screenshotContext){try{tA(this.screenshotContext)}catch(A){}this.screenshotContext=null}if(this.stopScreenshot(),this.worker&&(this.worker.terminate(),this.worker=null),this.screenshotContext){try{tA(this.screenshotContext)}catch(A){}this.screenshotContext=null}this.expirationTimer&&(clearTimeout(this.expirationTimer),this.expirationTimer=null),this.messageHandler&&(window.removeEventListener("message",this.messageHandler),this.messageHandler=null),this.removeGlobalErrorHandlers(),this.intersectionObserver&&(this.intersectionObserver.disconnect(),this.intersectionObserver=null,this.visibleElementsCache.clear()),this.imageProxyCache.clear(),this.screenshotHistory.length=0,this.imageDownloadQueue.clear(),this.activeDownloads.clear()}getCachedImage(A){const e=this.imageProxyCache.get(A);if(!e)return null;return Date.now()-e.timestamp>this.options.imageCacheTTL?(this.imageProxyCache.delete(A),null):e.dataUrl}setCachedImage(A,e){let t=0;this.imageProxyCache.forEach(A=>{t+=.75*A.dataUrl.length/1048576});const n=.75*e.length/1048576;if(t+n>100){const A=Array.from(this.imageProxyCache.entries()).sort((A,e)=>A[1].timestamp-e[1].timestamp);let e=t;for(const[t,r]of A){if(e+n<=100)break;const A=.75*r.dataUrl.length/1048576;this.imageProxyCache.delete(t),e-=A,this.options.debug&&console.log(`📸 清理内存缓存(超过限制): ${t.substring(0,50)}...`)}}this.imageProxyCache.set(A,{dataUrl:e,timestamp:Date.now()})}cleanExpiredCache(){const A=Date.now(),e=[];this.imageProxyCache.forEach((t,n)=>{A-t.timestamp>this.options.imageCacheTTL&&e.push(n)}),e.forEach(A=>{this.imageProxyCache.delete(A)}),e.length>0&&this.options.debug&&console.log(`📸 清理了 ${e.length} 个过期缓存`)}startCacheCleanup(){setInterval(()=>{if(this.cleanExpiredCache(),this.options.debug){const A=this.imageProxyCache.size,e=Array.from(this.imageProxyCache.values()).reduce((A,e)=>A+.75*e.dataUrl.length/1048576,0),t=this.screenshotHistory.reduce((A,e)=>A+.75*e.length/1048576,0);console.log(`📸 清理过期缓存,内存缓存: ${A} 项,${e.toFixed(2)} MB,历史记录: ${t.toFixed(2)} MB`)}},12e4)}getState(){return{isRunning:this.isRunning,screenshotCount:this.screenshotCount,lastScreenshotTime:this.lastScreenshotTime,error:this.error,isEnabled:this.isEnabled,uploadError:this.uploadError,currentBinaryConfig:this.currentBinaryConfig}}}var ft=function(){return ft=Object.assign||function(A){for(var e,t=1,n=arguments.length;t<n;t++)for(var r in e=arguments[t])Object.prototype.hasOwnProperty.call(e,r)&&(A[r]=e[r]);return A},ft.apply(this,arguments)};function wt(A,e,t,n){return new(t||(t=Promise))(function(r,o){function i(A){try{a(n.next(A))}catch(A){o(A)}}function s(A){try{a(n.throw(A))}catch(A){o(A)}}function a(A){var e;A.done?r(A.value):(e=A.value,e instanceof t?e:new t(function(A){A(e)})).then(i,s)}a((n=n.apply(A,e||[])).next())})}function pt(A,e){var t,n,r,o={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=s(0),i.throw=s(1),i.return=s(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(a){return function(s){if(t)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(o=0)),o;)try{if(t=1,n&&(r=2&s[0]?n.return:s[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,s[1])).done)return r;switch(n=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,n=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!(r=o.trys,(r=r.length>0&&r[r.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){o.label=s[1];break}if(6===s[0]&&o.label<r[1]){o.label=r[1],r=s;break}if(r&&o.label<r[2]){o.label=r[2],o.ops.push(s);break}r[2]&&o.ops.pop(),o.trys.pop();continue}s=e.call(A,o)}catch(A){s=[6,A],n=0}finally{t=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,a])}}}function mt(A,e,t){if(t||2===arguments.length)for(var n,r=0,o=e.length;r<o;r++)!n&&r in e||(n||(n=Array.prototype.slice.call(e,0,r)),n[r]=e[r]);return A.concat(n||Array.prototype.slice.call(e))}"function"==typeof SuppressedError&&SuppressedError;var Ct="4.6.2";function Qt(A,e){return new Promise(function(t){return setTimeout(t,A,e)})}function yt(A){return!!A&&"function"==typeof A.then}function Ut(A,e){try{var t=A();yt(t)?t.then(function(A){return e(!0,A)},function(A){return e(!1,A)}):e(!0,t)}catch(A){e(!1,A)}}function Ft(A,e,t){return void 0===t&&(t=16),wt(this,void 0,void 0,function(){var n,r,o,i;return pt(this,function(s){switch(s.label){case 0:n=Array(A.length),r=Date.now(),o=0,s.label=1;case 1:return o<A.length?(n[o]=e(A[o],o),(i=Date.now())>=r+t?(r=i,[4,new Promise(function(A){var e=new MessageChannel;e.port1.onmessage=function(){return A()},e.port2.postMessage(null)})]):[3,3]):[3,4];case 2:s.sent(),s.label=3;case 3:return++o,[3,1];case 4:return[2,n]}})})}function bt(A){return A.then(void 0,function(){}),A}function vt(A){return parseInt(A)}function Et(A){return parseFloat(A)}function Ht(A,e){return"number"==typeof A&&isNaN(A)?e:A}function It(A){return A.reduce(function(A,e){return A+(e?1:0)},0)}function xt(A,e){if(void 0===e&&(e=1),Math.abs(e)>=1)return Math.round(A/e)*e;var t=1/e;return Math.round(A*t)/t}function St(A,e){var t=A[0]>>>16,n=65535&A[0],r=A[1]>>>16,o=65535&A[1],i=e[0]>>>16,s=65535&e[0],a=e[1]>>>16,c=0,l=0,u=0,h=0;u+=(h+=o+(65535&e[1]))>>>16,h&=65535,l+=(u+=r+a)>>>16,u&=65535,c+=(l+=n+s)>>>16,l&=65535,c+=t+i,c&=65535,A[0]=c<<16|l,A[1]=u<<16|h}function Lt(A,e){var t=A[0]>>>16,n=65535&A[0],r=A[1]>>>16,o=65535&A[1],i=e[0]>>>16,s=65535&e[0],a=e[1]>>>16,c=65535&e[1],l=0,u=0,h=0,g=0;h+=(g+=o*c)>>>16,g&=65535,u+=(h+=r*c)>>>16,h&=65535,u+=(h+=o*a)>>>16,h&=65535,l+=(u+=n*c)>>>16,u&=65535,l+=(u+=r*a)>>>16,u&=65535,l+=(u+=o*s)>>>16,u&=65535,l+=t*c+n*a+r*s+o*i,l&=65535,A[0]=l<<16|u,A[1]=h<<16|g}function Mt(A,e){var t=A[0];32===(e%=64)?(A[0]=A[1],A[1]=t):e<32?(A[0]=t<<e|A[1]>>>32-e,A[1]=A[1]<<e|t>>>32-e):(e-=32,A[0]=A[1]<<e|t>>>32-e,A[1]=t<<e|A[1]>>>32-e)}function Dt(A,e){0!==(e%=64)&&(e<32?(A[0]=A[1]>>>32-e,A[1]=A[1]<<e):(A[0]=A[1]<<e-32,A[1]=0))}function kt(A,e){A[0]^=e[0],A[1]^=e[1]}var Kt=[4283543511,3981806797],Tt=[3301882366,444984403];function Rt(A){var e=[0,A[0]>>>1];kt(A,e),Lt(A,Kt),e[1]=A[0]>>>1,kt(A,e),Lt(A,Tt),e[1]=A[0]>>>1,kt(A,e)}var Pt=[2277735313,289559509],Ot=[1291169091,658871167],Vt=[0,5],Nt=[0,1390208809],Gt=[0,944331445];function Wt(A,e){var t=function(A){for(var e=new Uint8Array(A.length),t=0;t<A.length;t++){var n=A.charCodeAt(t);if(n>127)return(new TextEncoder).encode(A);e[t]=n}return e}(A);e=e||0;var n,r=[0,t.length],o=r[1]%16,i=r[1]-o,s=[0,e],a=[0,e],c=[0,0],l=[0,0];for(n=0;n<i;n+=16)c[0]=t[n+4]|t[n+5]<<8|t[n+6]<<16|t[n+7]<<24,c[1]=t[n]|t[n+1]<<8|t[n+2]<<16|t[n+3]<<24,l[0]=t[n+12]|t[n+13]<<8|t[n+14]<<16|t[n+15]<<24,l[1]=t[n+8]|t[n+9]<<8|t[n+10]<<16|t[n+11]<<24,Lt(c,Pt),Mt(c,31),Lt(c,Ot),kt(s,c),Mt(s,27),St(s,a),Lt(s,Vt),St(s,Nt),Lt(l,Ot),Mt(l,33),Lt(l,Pt),kt(a,l),Mt(a,31),St(a,s),Lt(a,Vt),St(a,Gt);c[0]=0,c[1]=0,l[0]=0,l[1]=0;var u=[0,0];switch(o){case 15:u[1]=t[n+14],Dt(u,48),kt(l,u);case 14:u[1]=t[n+13],Dt(u,40),kt(l,u);case 13:u[1]=t[n+12],Dt(u,32),kt(l,u);case 12:u[1]=t[n+11],Dt(u,24),kt(l,u);case 11:u[1]=t[n+10],Dt(u,16),kt(l,u);case 10:u[1]=t[n+9],Dt(u,8),kt(l,u);case 9:u[1]=t[n+8],kt(l,u),Lt(l,Ot),Mt(l,33),Lt(l,Pt),kt(a,l);case 8:u[1]=t[n+7],Dt(u,56),kt(c,u);case 7:u[1]=t[n+6],Dt(u,48),kt(c,u);case 6:u[1]=t[n+5],Dt(u,40),kt(c,u);case 5:u[1]=t[n+4],Dt(u,32),kt(c,u);case 4:u[1]=t[n+3],Dt(u,24),kt(c,u);case 3:u[1]=t[n+2],Dt(u,16),kt(c,u);case 2:u[1]=t[n+1],Dt(u,8),kt(c,u);case 1:u[1]=t[n],kt(c,u),Lt(c,Pt),Mt(c,31),Lt(c,Ot),kt(s,c)}return kt(s,r),kt(a,r),St(s,a),St(a,s),Rt(s),Rt(a),St(s,a),St(a,s),("00000000"+(s[0]>>>0).toString(16)).slice(-8)+("00000000"+(s[1]>>>0).toString(16)).slice(-8)+("00000000"+(a[0]>>>0).toString(16)).slice(-8)+("00000000"+(a[1]>>>0).toString(16)).slice(-8)}function _t(A,e,t,n){var r=Object.keys(A).filter(function(A){return!function(A,e){for(var t=0,n=A.length;t<n;++t)if(A[t]===e)return!0;return!1}(t,A)}),o=bt(Ft(r,function(t){return function(A,e){var t=bt(new Promise(function(t){var n=Date.now();Ut(A.bind(null,e),function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];var r=Date.now()-n;if(!A[0])return t(function(){return{error:A[1],duration:r}});var o=A[1];if(function(A){return"function"!=typeof A}(o))return t(function(){return{value:o,duration:r}});t(function(){return new Promise(function(A){var e=Date.now();Ut(o,function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var o=r+Date.now()-e;if(!t[0])return A({error:t[1],duration:o});A({value:t[1],duration:o})})})})})}));return function(){return t.then(function(A){return A()})}}(A[t],e)},n));return function(){return wt(this,void 0,void 0,function(){var A,e,t,i;return pt(this,function(s){switch(s.label){case 0:return[4,o];case 1:return[4,Ft(s.sent(),function(A){return bt(A())},n)];case 2:return A=s.sent(),[4,Promise.all(A)];case 3:for(e=s.sent(),t={},i=0;i<r.length;++i)t[r[i]]=e[i];return[2,t]}})})}}function Xt(){var A=window,e=navigator;return It(["MSCSSMatrix"in A,"msSetImmediate"in A,"msIndexedDB"in A,"msMaxTouchPoints"in e,"msPointerEnabled"in e])>=4}function Jt(){var A=window,e=navigator;return It(["webkitPersistentStorage"in e,"webkitTemporaryStorage"in e,0===(e.vendor||"").indexOf("Google"),"webkitResolveLocalFileSystemURL"in A,"BatteryManager"in A,"webkitMediaStream"in A,"webkitSpeechGrammar"in A])>=5}function Yt(){var A=window;return It(["ApplePayError"in A,"CSSPrimitiveValue"in A,"Counter"in A,0===navigator.vendor.indexOf("Apple"),"RGBColor"in A,"WebKitMediaKeys"in A])>=4}function $t(){var A=window,e=A.HTMLElement,t=A.Document;return It(["safari"in A,!("ongestureend"in A),!("TouchEvent"in A),!("orientation"in A),e&&!("autocapitalize"in e.prototype),t&&"pointerLockElement"in t.prototype])>=4}function Zt(){var A,e=window;return A=e.print,/^function\s.*?\{\s*\[native code]\s*}$/.test(String(A))&&"[object WebPageNamespace]"===String(e.browser)}function zt(){var A,e,t=window;return It(["buildID"in navigator,"MozAppearance"in(null!==(e=null===(A=document.documentElement)||void 0===A?void 0:A.style)&&void 0!==e?e:{}),"onmozfullscreenchange"in t,"mozInnerScreenX"in t,"CSSMozDocumentRule"in t,"CanvasCaptureMediaStream"in t])>=4}function jt(){var A=window,e=navigator,t=A.CSS,n=A.HTMLButtonElement;return It([!("getStorageUpdates"in e),n&&"popover"in n.prototype,"CSSCounterStyleRule"in A,t.supports("font-size-adjust: ex-height 0.5"),t.supports("text-transform: full-width")])>=4}function qt(){var A=document;return(A.exitFullscreen||A.msExitFullscreen||A.mozCancelFullScreen||A.webkitExitFullscreen).call(A)}function An(){var A=Jt(),e=zt(),t=window,n=navigator,r="connection";return A?It([!("SharedWorker"in t),n[r]&&"ontypechange"in n[r],!("sinkId"in new Audio)])>=2:!!e&&It(["onorientationchange"in t,"orientation"in t,/android/i.test(n.appVersion)])>=2}function en(A){var e=new Error(A);return e.name=A,e}function tn(A,e,t){var n,r,o;return void 0===t&&(t=50),wt(this,void 0,void 0,function(){var i,s;return pt(this,function(a){switch(a.label){case 0:i=document,a.label=1;case 1:return i.body?[3,3]:[4,Qt(t)];case 2:return a.sent(),[3,1];case 3:s=i.createElement("iframe"),a.label=4;case 4:return a.trys.push([4,,10,11]),[4,new Promise(function(A,t){var n=!1,r=function(){n=!0,A()};s.onload=r,s.onerror=function(A){n=!0,t(A)};var o=s.style;o.setProperty("display","block","important"),o.position="absolute",o.top="0",o.left="0",o.visibility="hidden",e&&"srcdoc"in s?s.srcdoc=e:s.src="about:blank",i.body.appendChild(s);var a=function(){var A,e;n||("complete"===(null===(e=null===(A=s.contentWindow)||void 0===A?void 0:A.document)||void 0===e?void 0:e.readyState)?r():setTimeout(a,10))};a()})];case 5:a.sent(),a.label=6;case 6:return(null===(r=null===(n=s.contentWindow)||void 0===n?void 0:n.document)||void 0===r?void 0:r.body)?[3,8]:[4,Qt(t)];case 7:return a.sent(),[3,6];case 8:return[4,A(s,s.contentWindow)];case 9:return[2,a.sent()];case 10:return null===(o=s.parentNode)||void 0===o||o.removeChild(s),[7];case 11:return[2]}})})}function nn(A){for(var e=function(A){for(var e,t,n="Unexpected syntax '".concat(A,"'"),r=/^\s*([a-z-]*)(.*)$/i.exec(A),o=r[1]||void 0,i={},s=/([.:#][\w-]+|\[.+?\])/gi,a=function(A,e){i[A]=i[A]||[],i[A].push(e)};;){var c=s.exec(r[2]);if(!c)break;var l=c[0];switch(l[0]){case".":a("class",l.slice(1));break;case"#":a("id",l.slice(1));break;case"[":var u=/^\[([\w-]+)([~|^$*]?=("(.*?)"|([\w-]+)))?(\s+[is])?\]$/.exec(l);if(!u)throw new Error(n);a(u[1],null!==(t=null!==(e=u[4])&&void 0!==e?e:u[5])&&void 0!==t?t:"");break;default:throw new Error(n)}}return[o,i]}(A),t=e[0],n=e[1],r=document.createElement(null!=t?t:"div"),o=0,i=Object.keys(n);o<i.length;o++){var s=i[o],a=n[s].join(" ");"style"===s?rn(r.style,a):r.setAttribute(s,a)}return r}function rn(A,e){for(var t=0,n=e.split(";");t<n.length;t++){var r=n[t],o=/^\s*([\w-]+)\s*:\s*(.+?)(\s*!([\w-]+))?\s*$/.exec(r);if(o){var i=o[1],s=o[2],a=o[4];A.setProperty(i,s,a||"")}}}var on=["monospace","sans-serif","serif"],sn=["sans-serif-thin","ARNO PRO","Agency FB","Arabic Typesetting","Arial Unicode MS","AvantGarde Bk BT","BankGothic Md BT","Batang","Bitstream Vera Sans Mono","Calibri","Century","Century Gothic","Clarendon","EUROSTILE","Franklin Gothic","Futura Bk BT","Futura Md BT","GOTHAM","Gill Sans","HELV","Haettenschweiler","Helvetica Neue","Humanst521 BT","Leelawadee","Letter Gothic","Levenim MT","Lucida Bright","Lucida Sans","Menlo","MS Mincho","MS Outlook","MS Reference Specialty","MS UI Gothic","MT Extra","MYRIAD PRO","Marlett","Meiryo UI","Microsoft Uighur","Minion Pro","Monotype Corsiva","PMingLiU","Pristina","SCRIPTINA","Segoe UI Light","Serifa","SimHei","Small Fonts","Staccato222 BT","TRAJAN PRO","Univers CE 55 Medium","Vrinda","ZWAdobeF"];function an(A){return A.toDataURL()}var cn,ln;function un(){var A=this;return function(){if(void 0===ln){var A=function(){var e=hn();gn(e)?ln=setTimeout(A,2500):(cn=e,ln=void 0)};A()}}(),function(){return wt(A,void 0,void 0,function(){var A;return pt(this,function(e){switch(e.label){case 0:return gn(A=hn())?cn?[2,mt([],cn,!0)]:(t=document).fullscreenElement||t.msFullscreenElement||t.mozFullScreenElement||t.webkitFullscreenElement?[4,qt()]:[3,2]:[3,2];case 1:e.sent(),A=hn(),e.label=2;case 2:return gn(A)||(cn=A),[2,A]}var t})})}}function hn(){var A=screen;return[Ht(Et(A.availTop),null),Ht(Et(A.width)-Et(A.availWidth)-Ht(Et(A.availLeft),0),null),Ht(Et(A.height)-Et(A.availHeight)-Ht(Et(A.availTop),0),null),Ht(Et(A.availLeft),null)]}function gn(A){for(var e=0;e<4;++e)if(A[e])return!1;return!0}function dn(A){var e;return wt(this,void 0,void 0,function(){var t,n,r,o,i,s,a;return pt(this,function(c){switch(c.label){case 0:for(t=document,n=t.createElement("div"),r=new Array(A.length),o={},Bn(n),a=0;a<A.length;++a)"DIALOG"===(i=nn(A[a])).tagName&&i.show(),Bn(s=t.createElement("div")),s.appendChild(i),n.appendChild(s),r[a]=i;c.label=1;case 1:return t.body?[3,3]:[4,Qt(50)];case 2:return c.sent(),[3,1];case 3:t.body.appendChild(n);try{for(a=0;a<A.length;++a)r[a].offsetParent||(o[A[a]]=!0)}finally{null===(e=n.parentNode)||void 0===e||e.removeChild(n)}return[2,o]}})})}function Bn(A){A.style.setProperty("visibility","hidden","important"),A.style.setProperty("display","block","important")}function fn(A){return matchMedia("(inverted-colors: ".concat(A,")")).matches}function wn(A){return matchMedia("(forced-colors: ".concat(A,")")).matches}function pn(A){return matchMedia("(prefers-contrast: ".concat(A,")")).matches}function mn(A){return matchMedia("(prefers-reduced-motion: ".concat(A,")")).matches}function Cn(A){return matchMedia("(prefers-reduced-transparency: ".concat(A,")")).matches}function Qn(A){return matchMedia("(dynamic-range: ".concat(A,")")).matches}var yn=Math,Un=function(){return 0};var Fn={default:[],apple:[{font:"-apple-system-body"}],serif:[{fontFamily:"serif"}],sans:[{fontFamily:"sans-serif"}],mono:[{fontFamily:"monospace"}],min:[{fontSize:"1px"}],system:[{fontFamily:"system-ui"}]};var bn=function(){for(var A=window;;){var e=A.parent;if(!e||e===A)return!1;try{if(e.location.origin!==A.location.origin)return!0}catch(A){if(A instanceof Error&&"SecurityError"===A.name)return!0;throw A}A=e}};var vn=new Set([10752,2849,2884,2885,2886,2928,2929,2930,2931,2932,2960,2961,2962,2963,2964,2965,2966,2967,2968,2978,3024,3042,3088,3089,3106,3107,32773,32777,32777,32823,32824,32936,32937,32938,32939,32968,32969,32970,32971,3317,33170,3333,3379,3386,33901,33902,34016,34024,34076,3408,3410,3411,3412,3413,3414,3415,34467,34816,34817,34818,34819,34877,34921,34930,35660,35661,35724,35738,35739,36003,36004,36005,36347,36348,36349,37440,37441,37443,7936,7937,7938]),En=new Set([34047,35723,36063,34852,34853,34854,34229,36392,36795,38449]),Hn=["FRAGMENT_SHADER","VERTEX_SHADER"],In=["LOW_FLOAT","MEDIUM_FLOAT","HIGH_FLOAT","LOW_INT","MEDIUM_INT","HIGH_INT"],xn="WEBGL_debug_renderer_info";function Sn(A){if(A.webgl)return A.webgl.context;var e,t=document.createElement("canvas");t.addEventListener("webglCreateContextError",function(){return e=void 0});for(var n=0,r=["webgl","experimental-webgl"];n<r.length;n++){var o=r[n];try{e=t.getContext(o)}catch(A){}if(e)break}return A.webgl={context:e},e}function Ln(A,e,t){var n=A.getShaderPrecisionFormat(A[e],A[t]);return n?[n.rangeMin,n.rangeMax,n.precision]:[]}function Mn(A){return Object.keys(A.__proto__).filter(Dn)}function Dn(A){return"string"==typeof A&&!A.match(/[^A-Z0-9_x]/)}function kn(){return zt()}function Kn(){return Jt()||Yt()}function Tn(A){return"function"==typeof A.getParameter}var Rn={fonts:function(){var A=this;return tn(function(e,t){var n=t.document;return wt(A,void 0,void 0,function(){var A,e,t,r,o,i,s,a,c,l,u;return pt(this,function(h){for((A=n.body).style.fontSize="48px",(e=n.createElement("div")).style.setProperty("visibility","hidden","important"),t={},r={},o=function(A){var t=n.createElement("span"),r=t.style;return r.position="absolute",r.top="0",r.left="0",r.fontFamily=A,t.textContent="mmMwWLliI0O&1",e.appendChild(t),t},i=function(A,e){return o("'".concat(A,"',").concat(e))},s=function(){for(var A={},e=function(e){A[e]=on.map(function(A){return i(e,A)})},t=0,n=sn;t<n.length;t++){e(n[t])}return A},a=function(A){return on.some(function(e,n){return A[n].offsetWidth!==t[e]||A[n].offsetHeight!==r[e]})},c=function(){return on.map(o)}(),l=s(),A.appendChild(e),u=0;u<on.length;u++)t[on[u]]=c[u].offsetWidth,r[on[u]]=c[u].offsetHeight;return[2,sn.filter(function(A){return a(l[A])})]})})})},domBlockers:function(A){var e=(void 0===A?{}:A).debug;return wt(this,void 0,void 0,function(){var A,t,n,r,o;return pt(this,function(i){switch(i.label){case 0:return Yt()||An()?(s=atob,A={abpIndo:["#Iklan-Melayang","#Kolom-Iklan-728","#SidebarIklan-wrapper",'[title="ALIENBOLA" i]',s("I0JveC1CYW5uZXItYWRz")],abpvn:[".quangcao","#mobileCatfish",s("LmNsb3NlLWFkcw=="),'[id^="bn_bottom_fixed_"]',"#pmadv"],adBlockFinland:[".mainostila",s("LnNwb25zb3JpdA=="),".ylamainos",s("YVtocmVmKj0iL2NsaWNrdGhyZ2guYXNwPyJd"),s("YVtocmVmXj0iaHR0cHM6Ly9hcHAucmVhZHBlYWsuY29tL2FkcyJd")],adBlockPersian:["#navbar_notice_50",".kadr",'TABLE[width="140px"]',"#divAgahi",s("YVtocmVmXj0iaHR0cDovL2cxLnYuZndtcm0ubmV0L2FkLyJd")],adBlockWarningRemoval:["#adblock-honeypot",".adblocker-root",".wp_adblock_detect",s("LmhlYWRlci1ibG9ja2VkLWFk"),s("I2FkX2Jsb2NrZXI=")],adGuardAnnoyances:[".hs-sosyal","#cookieconsentdiv",'div[class^="app_gdpr"]',".as-oil",'[data-cypress="soft-push-notification-modal"]'],adGuardBase:[".BetterJsPopOverlay",s("I2FkXzMwMFgyNTA="),s("I2Jhbm5lcmZsb2F0MjI="),s("I2NhbXBhaWduLWJhbm5lcg=="),s("I0FkLUNvbnRlbnQ=")],adGuardChinese:[s("LlppX2FkX2FfSA=="),s("YVtocmVmKj0iLmh0aGJldDM0LmNvbSJd"),"#widget-quan",s("YVtocmVmKj0iLzg0OTkyMDIwLnh5eiJd"),s("YVtocmVmKj0iLjE5NTZobC5jb20vIl0=")],adGuardFrench:["#pavePub",s("LmFkLWRlc2t0b3AtcmVjdGFuZ2xl"),".mobile_adhesion",".widgetadv",s("LmFkc19iYW4=")],adGuardGerman:['aside[data-portal-id="leaderboard"]'],adGuardJapanese:["#kauli_yad_1",s("YVtocmVmXj0iaHR0cDovL2FkMi50cmFmZmljZ2F0ZS5uZXQvIl0="),s("Ll9wb3BJbl9pbmZpbml0ZV9hZA=="),s("LmFkZ29vZ2xl"),s("Ll9faXNib29zdFJldHVybkFk")],adGuardMobile:[s("YW1wLWF1dG8tYWRz"),s("LmFtcF9hZA=="),'amp-embed[type="24smi"]',"#mgid_iframe1",s("I2FkX2ludmlld19hcmVh")],adGuardRussian:[s("YVtocmVmXj0iaHR0cHM6Ly9hZC5sZXRtZWFkcy5jb20vIl0="),s("LnJlY2xhbWE="),'div[id^="smi2adblock"]',s("ZGl2W2lkXj0iQWRGb3hfYmFubmVyXyJd"),"#psyduckpockeball"],adGuardSocial:[s("YVtocmVmXj0iLy93d3cuc3R1bWJsZXVwb24uY29tL3N1Ym1pdD91cmw9Il0="),s("YVtocmVmXj0iLy90ZWxlZ3JhbS5tZS9zaGFyZS91cmw/Il0="),".etsy-tweet","#inlineShare",".popup-social"],adGuardSpanishPortuguese:["#barraPublicidade","#Publicidade","#publiEspecial","#queTooltip",".cnt-publi"],adGuardTrackingProtection:["#qoo-counter",s("YVtocmVmXj0iaHR0cDovL2NsaWNrLmhvdGxvZy5ydS8iXQ=="),s("YVtocmVmXj0iaHR0cDovL2hpdGNvdW50ZXIucnUvdG9wL3N0YXQucGhwIl0="),s("YVtocmVmXj0iaHR0cDovL3RvcC5tYWlsLnJ1L2p1bXAiXQ=="),"#top100counter"],adGuardTurkish:["#backkapat",s("I3Jla2xhbWk="),s("YVtocmVmXj0iaHR0cDovL2Fkc2Vydi5vbnRlay5jb20udHIvIl0="),s("YVtocmVmXj0iaHR0cDovL2l6bGVuemkuY29tL2NhbXBhaWduLyJd"),s("YVtocmVmXj0iaHR0cDovL3d3dy5pbnN0YWxsYWRzLm5ldC8iXQ==")],bulgarian:[s("dGQjZnJlZW5ldF90YWJsZV9hZHM="),"#ea_intext_div",".lapni-pop-over","#xenium_hot_offers"],easyList:[".yb-floorad",s("LndpZGdldF9wb19hZHNfd2lkZ2V0"),s("LnRyYWZmaWNqdW5reS1hZA=="),".textad_headline",s("LnNwb25zb3JlZC10ZXh0LWxpbmtz")],easyListChina:[s("LmFwcGd1aWRlLXdyYXBbb25jbGljayo9ImJjZWJvcy5jb20iXQ=="),s("LmZyb250cGFnZUFkdk0="),"#taotaole","#aafoot.top_box",".cfa_popup"],easyListCookie:[".ezmob-footer",".cc-CookieWarning","[data-cookie-number]",s("LmF3LWNvb2tpZS1iYW5uZXI="),".sygnal24-gdpr-modal-wrap"],easyListCzechSlovak:["#onlajny-stickers",s("I3Jla2xhbW5pLWJveA=="),s("LnJla2xhbWEtbWVnYWJvYXJk"),".sklik",s("W2lkXj0ic2tsaWtSZWtsYW1hIl0=")],easyListDutch:[s("I2FkdmVydGVudGll"),s("I3ZpcEFkbWFya3RCYW5uZXJCbG9jaw=="),".adstekst",s("YVtocmVmXj0iaHR0cHM6Ly94bHR1YmUubmwvY2xpY2svIl0="),"#semilo-lrectangle"],easyListGermany:["#SSpotIMPopSlider",s("LnNwb25zb3JsaW5rZ3J1ZW4="),s("I3dlcmJ1bmdza3k="),s("I3Jla2xhbWUtcmVjaHRzLW1pdHRl"),s("YVtocmVmXj0iaHR0cHM6Ly9iZDc0Mi5jb20vIl0=")],easyListItaly:[s("LmJveF9hZHZfYW5udW5jaQ=="),".sb-box-pubbliredazionale",s("YVtocmVmXj0iaHR0cDovL2FmZmlsaWF6aW9uaWFkcy5zbmFpLml0LyJd"),s("YVtocmVmXj0iaHR0cHM6Ly9hZHNlcnZlci5odG1sLml0LyJd"),s("YVtocmVmXj0iaHR0cHM6Ly9hZmZpbGlhemlvbmlhZHMuc25haS5pdC8iXQ==")],easyListLithuania:[s("LnJla2xhbW9zX3RhcnBhcw=="),s("LnJla2xhbW9zX251b3JvZG9z"),s("aW1nW2FsdD0iUmVrbGFtaW5pcyBza3lkZWxpcyJd"),s("aW1nW2FsdD0iRGVkaWt1b3RpLmx0IHNlcnZlcmlhaSJd"),s("aW1nW2FsdD0iSG9zdGluZ2FzIFNlcnZlcmlhaS5sdCJd")],estonian:[s("QVtocmVmKj0iaHR0cDovL3BheTRyZXN1bHRzMjQuZXUiXQ==")],fanboyAnnoyances:["#ac-lre-player",".navigate-to-top","#subscribe_popup",".newsletter_holder","#back-top"],fanboyAntiFacebook:[".util-bar-module-firefly-visible"],fanboyEnhancedTrackers:[".open.pushModal","#issuem-leaky-paywall-articles-zero-remaining-nag","#sovrn_container",'div[class$="-hide"][zoompage-fontsize][style="display: block;"]',".BlockNag__Card"],fanboySocial:["#FollowUs","#meteored_share","#social_follow",".article-sharer",".community__social-desc"],frellwitSwedish:[s("YVtocmVmKj0iY2FzaW5vcHJvLnNlIl1bdGFyZ2V0PSJfYmxhbmsiXQ=="),s("YVtocmVmKj0iZG9rdG9yLXNlLm9uZWxpbmsubWUiXQ=="),"article.category-samarbete",s("ZGl2LmhvbGlkQWRz"),"ul.adsmodern"],greekAdBlock:[s("QVtocmVmKj0iYWRtYW4ub3RlbmV0LmdyL2NsaWNrPyJd"),s("QVtocmVmKj0iaHR0cDovL2F4aWFiYW5uZXJzLmV4b2R1cy5nci8iXQ=="),s("QVtocmVmKj0iaHR0cDovL2ludGVyYWN0aXZlLmZvcnRobmV0LmdyL2NsaWNrPyJd"),"DIV.agores300","TABLE.advright"],hungarian:["#cemp_doboz",".optimonk-iframe-container",s("LmFkX19tYWlu"),s("W2NsYXNzKj0iR29vZ2xlQWRzIl0="),"#hirdetesek_box"],iDontCareAboutCookies:['.alert-info[data-block-track*="CookieNotice"]',".ModuleTemplateCookieIndicator",".o--cookies--container","#cookies-policy-sticky","#stickyCookieBar"],icelandicAbp:[s("QVtocmVmXj0iL2ZyYW1ld29yay9yZXNvdXJjZXMvZm9ybXMvYWRzLmFzcHgiXQ==")],latvian:[s("YVtocmVmPSJodHRwOi8vd3d3LnNhbGlkemluaS5sdi8iXVtzdHlsZT0iZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMjBweDsgaGVpZ2h0OiA0MHB4OyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogcmVsYXRpdmU7Il0="),s("YVtocmVmPSJodHRwOi8vd3d3LnNhbGlkemluaS5sdi8iXVtzdHlsZT0iZGlzcGxheTogYmxvY2s7IHdpZHRoOiA4OHB4OyBoZWlnaHQ6IDMxcHg7IG92ZXJmbG93OiBoaWRkZW47IHBvc2l0aW9uOiByZWxhdGl2ZTsiXQ==")],listKr:[s("YVtocmVmKj0iLy9hZC5wbGFuYnBsdXMuY28ua3IvIl0="),s("I2xpdmVyZUFkV3JhcHBlcg=="),s("YVtocmVmKj0iLy9hZHYuaW1hZHJlcC5jby5rci8iXQ=="),s("aW5zLmZhc3R2aWV3LWFk"),".revenue_unit_item.dable"],listeAr:[s("LmdlbWluaUxCMUFk"),".right-and-left-sponsers",s("YVtocmVmKj0iLmFmbGFtLmluZm8iXQ=="),s("YVtocmVmKj0iYm9vcmFxLm9yZyJd"),s("YVtocmVmKj0iZHViaXp6bGUuY29tL2FyLz91dG1fc291cmNlPSJd")],listeFr:[s("YVtocmVmXj0iaHR0cDovL3Byb21vLnZhZG9yLmNvbS8iXQ=="),s("I2FkY29udGFpbmVyX3JlY2hlcmNoZQ=="),s("YVtocmVmKj0id2Vib3JhbWEuZnIvZmNnaS1iaW4vIl0="),".site-pub-interstitiel",'div[id^="crt-"][data-criteo-id]'],officialPolish:["#ceneo-placeholder-ceneo-12",s("W2hyZWZePSJodHRwczovL2FmZi5zZW5kaHViLnBsLyJd"),s("YVtocmVmXj0iaHR0cDovL2Fkdm1hbmFnZXIudGVjaGZ1bi5wbC9yZWRpcmVjdC8iXQ=="),s("YVtocmVmXj0iaHR0cDovL3d3dy50cml6ZXIucGwvP3V0bV9zb3VyY2UiXQ=="),s("ZGl2I3NrYXBpZWNfYWQ=")],ro:[s("YVtocmVmXj0iLy9hZmZ0cmsuYWx0ZXgucm8vQ291bnRlci9DbGljayJd"),s("YVtocmVmXj0iaHR0cHM6Ly9ibGFja2ZyaWRheXNhbGVzLnJvL3Ryay9zaG9wLyJd"),s("YVtocmVmXj0iaHR0cHM6Ly9ldmVudC4ycGVyZm9ybWFudC5jb20vZXZlbnRzL2NsaWNrIl0="),s("YVtocmVmXj0iaHR0cHM6Ly9sLnByb2ZpdHNoYXJlLnJvLyJd"),'a[href^="/url/"]'],ruAd:[s("YVtocmVmKj0iLy9mZWJyYXJlLnJ1LyJd"),s("YVtocmVmKj0iLy91dGltZy5ydS8iXQ=="),s("YVtocmVmKj0iOi8vY2hpa2lkaWtpLnJ1Il0="),"#pgeldiz",".yandex-rtb-block"],thaiAds:["a[href*=macau-uta-popup]",s("I2Fkcy1nb29nbGUtbWlkZGxlX3JlY3RhbmdsZS1ncm91cA=="),s("LmFkczMwMHM="),".bumq",".img-kosana"],webAnnoyancesUltralist:["#mod-social-share-2","#social-tools",s("LmN0cGwtZnVsbGJhbm5lcg=="),".zergnet-recommend",".yt.btn-link.btn-md.btn"]},t=Object.keys(A),[4,dn((o=[]).concat.apply(o,t.map(function(e){return A[e]})))]):[2,void 0];case 1:return n=i.sent(),e&&function(A,e){for(var t="DOM blockers debug:\n```",n=0,r=Object.keys(A);n<r.length;n++){var o=r[n];t+="\n".concat(o,":");for(var i=0,s=A[o];i<s.length;i++){var a=s[i];t+="\n ".concat(e[a]?"🚫":"➡️"," ").concat(a)}}console.log("".concat(t,"\n```"))}(A,n),(r=t.filter(function(e){var t=A[e];return It(t.map(function(A){return n[A]}))>.6*t.length})).sort(),[2,r]}var s})})},fontPreferences:function(){return function(A,e){void 0===e&&(e=4e3);return tn(function(t,n){var r=n.document,o=r.body,i=o.style;i.width="".concat(e,"px"),i.webkitTextSizeAdjust=i.textSizeAdjust="none",Jt()?o.style.zoom="".concat(1/n.devicePixelRatio):Yt()&&(o.style.zoom="reset");var s=r.createElement("div");return s.textContent=mt([],Array(e/20|0),!0).map(function(){return"word"}).join(" "),o.appendChild(s),A(r,o)},'<!doctype html><html><head><meta name="viewport" content="width=device-width, initial-scale=1">')}(function(A,e){for(var t={},n={},r=0,o=Object.keys(Fn);r<o.length;r++){var i=o[r],s=Fn[i],a=s[0],c=void 0===a?{}:a,l=s[1],u=void 0===l?"mmMwWLliI0fiflO&1":l,h=A.createElement("span");h.textContent=u,h.style.whiteSpace="nowrap";for(var g=0,d=Object.keys(c);g<d.length;g++){var B=d[g],f=c[B];void 0!==f&&(h.style[B]=f)}t[i]=h,e.append(A.createElement("br"),h)}for(var w=0,p=Object.keys(Fn);w<p.length;w++){n[i=p[w]]=t[i].getBoundingClientRect().width}return n})},audio:function(){return Yt()&&jt()&&Zt()||Jt()&&(A=navigator,e=window,t=Audio.prototype,n=e.visualViewport,It(["srLatency"in t,"srChannelCount"in t,"devicePosture"in A,n&&"segments"in n,"getTextInformation"in Image.prototype])>=3)&&function(){var A=window,e=A.URLPattern;return It(["union"in Set.prototype,"Iterator"in A,e&&"hasRegExpGroups"in e.prototype,"RGB8"in WebGLRenderingContext.prototype])>=3}()?-4:function(){var A=window,e=A.OfflineAudioContext||A.webkitOfflineAudioContext;if(!e)return-2;if(Yt()&&!$t()&&!function(){var A=window;return It(["DOMRectList"in A,"RTCPeerConnectionIceEvent"in A,"SVGGeometryElement"in A,"ontransitioncancel"in A])>=3}())return-1;var t=4500,n=new e(1,5e3,44100),r=n.createOscillator();r.type="triangle",r.frequency.value=1e4;var o=n.createDynamicsCompressor();o.threshold.value=-50,o.knee.value=40,o.ratio.value=12,o.attack.value=0,o.release.value=.25,r.connect(o),o.connect(n.destination),r.start(0);var i=function(A){var e=3,t=500,n=500,r=5e3,o=function(){},i=new Promise(function(i,s){var a=!1,c=0,l=0;A.oncomplete=function(A){return i(A.renderedBuffer)};var u=function(){setTimeout(function(){return s(en("timeout"))},Math.min(n,l+r-Date.now()))},h=function(){try{var n=A.startRendering();switch(yt(n)&&bt(n),A.state){case"running":l=Date.now(),a&&u();break;case"suspended":document.hidden||c++,a&&c>=e?s(en("suspended")):setTimeout(h,t)}}catch(A){s(A)}};h(),o=function(){a||(a=!0,l>0&&u())}});return[i,o]}(n),s=i[0],a=i[1],c=bt(s.then(function(A){return function(A){for(var e=0,t=0;t<A.length;++t)e+=Math.abs(A[t]);return e}(A.getChannelData(0).subarray(t))},function(A){if("timeout"===A.name||"suspended"===A.name)return-3;throw A}));return function(){return a(),c}}();var A,e,t,n},screenFrame:function(){var A=this;if(Yt()&&jt()&&Zt())return function(){return Promise.resolve(void 0)};var e=un();return function(){return wt(A,void 0,void 0,function(){var A,t;return pt(this,function(n){switch(n.label){case 0:return[4,e()];case 1:return A=n.sent(),[2,[(t=function(A){return null===A?null:xt(A,10)})(A[0]),t(A[1]),t(A[2]),t(A[3])]]}})})}},canvas:function(){return function(A){var e,t,n,r=!1,o=function(){var A=document.createElement("canvas");return A.width=1,A.height=1,[A,A.getContext("2d")]}(),i=o[0],s=o[1];!function(A,e){return!(!e||!A.toDataURL)}(i,s)?t=n="unsupported":(r=function(A){return A.rect(0,0,10,10),A.rect(2,2,6,6),!A.isPointInPath(5,5,"evenodd")}(s),A?t=n="skipped":(e=function(A,e){!function(A,e){A.width=240,A.height=60,e.textBaseline="alphabetic",e.fillStyle="#f60",e.fillRect(100,1,62,20),e.fillStyle="#069",e.font='11pt "Times New Roman"';var t="Cwm fjordbank gly ".concat(String.fromCharCode(55357,56835));e.fillText(t,2,15),e.fillStyle="rgba(102, 204, 0, 0.2)",e.font="18pt Arial",e.fillText(t,4,45)}(A,e);var t=an(A),n=an(A);if(t!==n)return["unstable","unstable"];!function(A,e){A.width=122,A.height=110,e.globalCompositeOperation="multiply";for(var t=0,n=[["#f2f",40,40],["#2ff",80,40],["#ff2",60,80]];t<n.length;t++){var r=n[t],o=r[0],i=r[1],s=r[2];e.fillStyle=o,e.beginPath(),e.arc(i,s,40,0,2*Math.PI,!0),e.closePath(),e.fill()}e.fillStyle="#f9c",e.arc(60,60,60,0,2*Math.PI,!0),e.arc(60,60,20,0,2*Math.PI,!0),e.fill("evenodd")}(A,e);var r=an(A);return[r,t]}(i,s),t=e[0],n=e[1]));return{winding:r,geometry:t,text:n}}(Yt()&&jt()&&Zt())},osCpu:function(){return navigator.oscpu},languages:function(){var A,e=navigator,t=[],n=e.language||e.userLanguage||e.browserLanguage||e.systemLanguage;if(void 0!==n&&t.push([n]),Array.isArray(e.languages))Jt()&&It([!("MediaSettingsRange"in(A=window)),"RTCEncodedAudioFrame"in A,""+A.Intl=="[object Intl]",""+A.Reflect=="[object Reflect]"])>=3||t.push(e.languages);else if("string"==typeof e.languages){var r=e.languages;r&&t.push(r.split(","))}return t},colorDepth:function(){return window.screen.colorDepth},deviceMemory:function(){return Ht(Et(navigator.deviceMemory),void 0)},screenResolution:function(){var A,e,t;if(!(Yt()&&jt()&&Zt()))return A=screen,(t=[(e=function(A){return Ht(vt(A),null)})(A.width),e(A.height)]).sort().reverse(),t},hardwareConcurrency:function(){return Ht(vt(navigator.hardwareConcurrency),void 0)},timezone:function(){var A,e=null===(A=window.Intl)||void 0===A?void 0:A.DateTimeFormat;if(e){var t=(new e).resolvedOptions().timeZone;if(t)return t}var n,r=(n=(new Date).getFullYear(),-Math.max(Et(new Date(n,0,1).getTimezoneOffset()),Et(new Date(n,6,1).getTimezoneOffset())));return"UTC".concat(r>=0?"+":"").concat(r)},sessionStorage:function(){try{return!!window.sessionStorage}catch(A){return!0}},localStorage:function(){try{return!!window.localStorage}catch(A){return!0}},indexedDB:function(){var A,e;if(!(Xt()||(A=window,e=navigator,It(["msWriteProfilerMark"in A,"MSStream"in A,"msLaunchUri"in e,"msSaveBlob"in e])>=3&&!Xt())))try{return!!window.indexedDB}catch(A){return!0}},openDatabase:function(){return!!window.openDatabase},cpuClass:function(){return navigator.cpuClass},platform:function(){var A=navigator.platform;return"MacIntel"===A&&Yt()&&!$t()?function(){if("iPad"===navigator.platform)return!0;var A=screen,e=A.width/A.height;return It(["MediaSource"in window,!!Element.prototype.webkitRequestFullscreen,e>.65&&e<1.53])>=2}()?"iPad":"iPhone":A},plugins:function(){var A=navigator.plugins;if(A){for(var e=[],t=0;t<A.length;++t){var n=A[t];if(n){for(var r=[],o=0;o<n.length;++o){var i=n[o];r.push({type:i.type,suffixes:i.suffixes})}e.push({name:n.name,description:n.description,mimeTypes:r})}}return e}},touchSupport:function(){var A,e=navigator,t=0;void 0!==e.maxTouchPoints?t=vt(e.maxTouchPoints):void 0!==e.msMaxTouchPoints&&(t=e.msMaxTouchPoints);try{document.createEvent("TouchEvent"),A=!0}catch(e){A=!1}return{maxTouchPoints:t,touchEvent:A,touchStart:"ontouchstart"in window}},vendor:function(){return navigator.vendor||""},vendorFlavors:function(){for(var A=[],e=0,t=["chrome","safari","__crWeb","__gCrWeb","yandex","__yb","__ybro","__firefox__","__edgeTrackingPreventionStatistics","webkit","oprt","samsungAr","ucweb","UCShellJava","puffinDevice"];e<t.length;e++){var n=t[e],r=window[n];r&&"object"==typeof r&&A.push(n)}return A.sort()},cookiesEnabled:function(){var A=document;try{A.cookie="cookietest=1; SameSite=Strict;";var e=-1!==A.cookie.indexOf("cookietest=");return A.cookie="cookietest=1; SameSite=Strict; expires=Thu, 01-Jan-1970 00:00:01 GMT",e}catch(A){return!1}},colorGamut:function(){for(var A=0,e=["rec2020","p3","srgb"];A<e.length;A++){var t=e[A];if(matchMedia("(color-gamut: ".concat(t,")")).matches)return t}},invertedColors:function(){return!!fn("inverted")||!fn("none")&&void 0},forcedColors:function(){return!!wn("active")||!wn("none")&&void 0},monochrome:function(){if(matchMedia("(min-monochrome: 0)").matches){for(var A=0;A<=100;++A)if(matchMedia("(max-monochrome: ".concat(A,")")).matches)return A;throw new Error("Too high value")}},contrast:function(){return pn("no-preference")?0:pn("high")||pn("more")?1:pn("low")||pn("less")?-1:pn("forced")?10:void 0},reducedMotion:function(){return!!mn("reduce")||!mn("no-preference")&&void 0},reducedTransparency:function(){return!!Cn("reduce")||!Cn("no-preference")&&void 0},hdr:function(){return!!Qn("high")||!Qn("standard")&&void 0},math:function(){var A,e=yn.acos||Un,t=yn.acosh||Un,n=yn.asin||Un,r=yn.asinh||Un,o=yn.atanh||Un,i=yn.atan||Un,s=yn.sin||Un,a=yn.sinh||Un,c=yn.cos||Un,l=yn.cosh||Un,u=yn.tan||Un,h=yn.tanh||Un,g=yn.exp||Un,d=yn.expm1||Un,B=yn.log1p||Un;return{acos:e(.12312423423423424),acosh:t(1e308),acoshPf:(A=1e154,yn.log(A+yn.sqrt(A*A-1))),asin:n(.12312423423423424),asinh:r(1),asinhPf:function(A){return yn.log(A+yn.sqrt(A*A+1))}(1),atanh:o(.5),atanhPf:function(A){return yn.log((1+A)/(1-A))/2}(.5),atan:i(.5),sin:s(-1e300),sinh:a(1),sinhPf:function(A){return yn.exp(A)-1/yn.exp(A)/2}(1),cos:c(10.000000000123),cosh:l(1),coshPf:function(A){return(yn.exp(A)+1/yn.exp(A))/2}(1),tan:u(-1e300),tanh:h(1),tanhPf:function(A){return(yn.exp(2*A)-1)/(yn.exp(2*A)+1)}(1),exp:g(1),expm1:d(1),expm1Pf:function(A){return yn.exp(A)-1}(1),log1p:B(10),log1pPf:function(A){return yn.log(1+A)}(10),powPI:function(A){return yn.pow(yn.PI,A)}(-100)}},pdfViewerEnabled:function(){return navigator.pdfViewerEnabled},architecture:function(){var A=new Float32Array(1),e=new Uint8Array(A.buffer);return A[0]=1/0,A[0]=A[0]-A[0],e[3]},applePay:function(){var A=window.ApplePaySession;if("function"!=typeof(null==A?void 0:A.canMakePayments))return-1;if(bn())return-3;try{return A.canMakePayments()?1:0}catch(A){return function(A){if(A instanceof Error&&"InvalidAccessError"===A.name&&/\bfrom\b.*\binsecure\b/i.test(A.message))return-2;throw A}(A)}},privateClickMeasurement:function(){var A,e=document.createElement("a"),t=null!==(A=e.attributionSourceId)&&void 0!==A?A:e.attributionsourceid;return void 0===t?void 0:String(t)},audioBaseLatency:function(){if(!(An()||Yt()))return-2;if(!window.AudioContext)return-1;var A=(new AudioContext).baseLatency;return null==A?-1:isFinite(A)?A:-3},dateTimeLocale:function(){if(!window.Intl)return-1;var A=window.Intl.DateTimeFormat;if(!A)return-2;var e=A().resolvedOptions().locale;return e||""===e?e:-3},webGlBasics:function(A){var e,t,n,r,o,i,s=Sn(A.cache);if(!s)return-1;if(!Tn(s))return-2;var a=kn()?null:s.getExtension(xn);return{version:(null===(e=s.getParameter(s.VERSION))||void 0===e?void 0:e.toString())||"",vendor:(null===(t=s.getParameter(s.VENDOR))||void 0===t?void 0:t.toString())||"",vendorUnmasked:a?null===(n=s.getParameter(a.UNMASKED_VENDOR_WEBGL))||void 0===n?void 0:n.toString():"",renderer:(null===(r=s.getParameter(s.RENDERER))||void 0===r?void 0:r.toString())||"",rendererUnmasked:a?null===(o=s.getParameter(a.UNMASKED_RENDERER_WEBGL))||void 0===o?void 0:o.toString():"",shadingLanguageVersion:(null===(i=s.getParameter(s.SHADING_LANGUAGE_VERSION))||void 0===i?void 0:i.toString())||""}},webGlExtensions:function(A){var e=Sn(A.cache);if(!e)return-1;if(!Tn(e))return-2;var t=e.getSupportedExtensions(),n=e.getContextAttributes(),r=[],o=[],i=[],s=[],a=[];if(n)for(var c=0,l=Object.keys(n);c<l.length;c++){var u=l[c];o.push("".concat(u,"=").concat(n[u]))}for(var h=0,g=Mn(e);h<g.length;h++){var d=e[Q=g[h]];i.push("".concat(Q,"=").concat(d).concat(vn.has(d)?"=".concat(e.getParameter(d)):""))}if(t)for(var B=0,f=t;B<f.length;B++){var w=f[B];if(!(w===xn&&kn()||"WEBGL_polygon_mode"===w&&Kn())){var p=e.getExtension(w);if(p)for(var m=0,C=Mn(p);m<C.length;m++){var Q;d=p[Q=C[m]];s.push("".concat(Q,"=").concat(d).concat(En.has(d)?"=".concat(e.getParameter(d)):""))}else r.push(w)}}for(var y=0,U=Hn;y<U.length;y++)for(var F=U[y],b=0,v=In;b<v.length;b++){var E=v[b],H=Ln(e,F,E);a.push("".concat(F,".").concat(E,"=").concat(H.join(",")))}return s.sort(),i.sort(),{contextAttributes:o,parameters:i,shaderPrecisions:a,extensions:t,extensionParameters:s,unsupportedExtensions:r}}};function Pn(A){var e=function(A){if(An())return.4;if(Yt())return!$t()||jt()&&Zt()?.3:.5;var e="value"in A.platform?A.platform.value:"";if(/^Win/.test(e))return.6;if(/^Mac/.test(e))return.5;return.7}(A),t=function(A){return xt(.99+.01*A,1e-4)}(e);return{score:e,comment:"$ if upgrade to Pro: https://fpjs.dev/pro".replace(/\$/g,"".concat(t))}}function On(A){return JSON.stringify(A,function(A,e){return e instanceof Error?ft({name:(t=e).name,message:t.message,stack:null===(n=t.stack)||void 0===n?void 0:n.split("\n")},t):e;var t,n},2)}function Vn(A){return Wt(function(A){for(var e="",t=0,n=Object.keys(A).sort();t<n.length;t++){var r=n[t],o=A[r],i="error"in o?"error":JSON.stringify(o.value);e+="".concat(e?"|":"").concat(r.replace(/([:|\\])/g,"\\$1"),":").concat(i)}return e}(A))}function Nn(A){return void 0===A&&(A=50),function(A,e){void 0===e&&(e=1/0);var t=window.requestIdleCallback;return t?new Promise(function(A){return t.call(window,function(){return A()},{timeout:e})}):Qt(Math.min(A,e))}(A,2*A)}function Gn(A,e){var t=Date.now();return{get:function(n){return wt(this,void 0,void 0,function(){var r,o,i;return pt(this,function(s){switch(s.label){case 0:return r=Date.now(),[4,A()];case 1:return o=s.sent(),i=function(A){var e,t=Pn(A);return{get visitorId(){return void 0===e&&(e=Vn(this.components)),e},set visitorId(A){e=A},confidence:t,components:A,version:Ct}}(o),(e||(null==n?void 0:n.debug))&&console.log("Copy the text below to get the debug data:\n\n```\nversion: ".concat(i.version,"\nuserAgent: ").concat(navigator.userAgent,"\ntimeBetweenLoadAndGet: ").concat(r-t,"\nvisitorId: ").concat(i.visitorId,"\ncomponents: ").concat(On(o),"\n```")),[2,i]}})})}}}var Wn={load:function(A){var e;return void 0===A&&(A={}),wt(this,void 0,void 0,function(){var t,n,r;return pt(this,function(o){switch(o.label){case 0:return(null===(e=A.monitoring)||void 0===e||e)&&function(){if(!(window.__fpjs_d_m||Math.random()>=.001))try{var A=new XMLHttpRequest;A.open("get","https://m1.openfpcdn.io/fingerprintjs/v".concat(Ct,"/npm-monitoring"),!0),A.send()}catch(A){console.error(A)}}(),t=A.delayFallback,n=A.debug,[4,Nn(t)];case 1:return o.sent(),r=function(A){return _t(Rn,A,[])}({cache:{},debug:n}),[2,Gn(r,n)]}})})},hashComponents:Vn,componentsToDebugString:On},_n={exports:{}};var Xn,Jn={exports:{}},Yn=ht(Object.freeze({__proto__:null,default:{}}));function $n(){return Xn||(Xn=1,function(A){var e;A.exports=(e=e||function(A,e){var t;if("undefined"!=typeof window&&window.crypto&&(t=window.crypto),"undefined"!=typeof self&&self.crypto&&(t=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(t=globalThis.crypto),!t&&"undefined"!=typeof window&&window.msCrypto&&(t=window.msCrypto),!t&&void 0!==lt&&lt.crypto&&(t=lt.crypto),!t)try{t=Yn}catch(A){}var n=function(){if(t){if("function"==typeof t.getRandomValues)try{return t.getRandomValues(new Uint32Array(1))[0]}catch(A){}if("function"==typeof t.randomBytes)try{return t.randomBytes(4).readInt32LE()}catch(A){}}throw new Error("Native crypto module could not be used to get secure random number.")},r=Object.create||function(){function A(){}return function(e){var t;return A.prototype=e,t=new A,A.prototype=null,t}}(),o={},i=o.lib={},s=i.Base={extend:function(A){var e=r(this);return A&&e.mixIn(A),e.hasOwnProperty("init")&&this.init!==e.init||(e.init=function(){e.$super.init.apply(this,arguments)}),e.init.prototype=e,e.$super=this,e},create:function(){var A=this.extend();return A.init.apply(A,arguments),A},init:function(){},mixIn:function(A){for(var e in A)A.hasOwnProperty(e)&&(this[e]=A[e]);A.hasOwnProperty("toString")&&(this.toString=A.toString)},clone:function(){return this.init.prototype.extend(this)}},a=i.WordArray=s.extend({init:function(A,t){A=this.words=A||[],this.sigBytes=t!=e?t:4*A.length},toString:function(A){return(A||l).stringify(this)},concat:function(A){var e=this.words,t=A.words,n=this.sigBytes,r=A.sigBytes;if(this.clamp(),n%4)for(var o=0;o<r;o++){var i=t[o>>>2]>>>24-o%4*8&255;e[n+o>>>2]|=i<<24-(n+o)%4*8}else for(var s=0;s<r;s+=4)e[n+s>>>2]=t[s>>>2];return this.sigBytes+=r,this},clamp:function(){var e=this.words,t=this.sigBytes;e[t>>>2]&=4294967295<<32-t%4*8,e.length=A.ceil(t/4)},clone:function(){var A=s.clone.call(this);return A.words=this.words.slice(0),A},random:function(A){for(var e=[],t=0;t<A;t+=4)e.push(n());return new a.init(e,A)}}),c=o.enc={},l=c.Hex={stringify:function(A){for(var e=A.words,t=A.sigBytes,n=[],r=0;r<t;r++){var o=e[r>>>2]>>>24-r%4*8&255;n.push((o>>>4).toString(16)),n.push((15&o).toString(16))}return n.join("")},parse:function(A){for(var e=A.length,t=[],n=0;n<e;n+=2)t[n>>>3]|=parseInt(A.substr(n,2),16)<<24-n%8*4;return new a.init(t,e/2)}},u=c.Latin1={stringify:function(A){for(var e=A.words,t=A.sigBytes,n=[],r=0;r<t;r++){var o=e[r>>>2]>>>24-r%4*8&255;n.push(String.fromCharCode(o))}return n.join("")},parse:function(A){for(var e=A.length,t=[],n=0;n<e;n++)t[n>>>2]|=(255&A.charCodeAt(n))<<24-n%4*8;return new a.init(t,e)}},h=c.Utf8={stringify:function(A){try{return decodeURIComponent(escape(u.stringify(A)))}catch(A){throw new Error("Malformed UTF-8 data")}},parse:function(A){return u.parse(unescape(encodeURIComponent(A)))}},g=i.BufferedBlockAlgorithm=s.extend({reset:function(){this._data=new a.init,this._nDataBytes=0},_append:function(A){"string"==typeof A&&(A=h.parse(A)),this._data.concat(A),this._nDataBytes+=A.sigBytes},_process:function(e){var t,n=this._data,r=n.words,o=n.sigBytes,i=this.blockSize,s=o/(4*i),c=(s=e?A.ceil(s):A.max((0|s)-this._minBufferSize,0))*i,l=A.min(4*c,o);if(c){for(var u=0;u<c;u+=i)this._doProcessBlock(r,u);t=r.splice(0,c),n.sigBytes-=l}return new a.init(t,l)},clone:function(){var A=s.clone.call(this);return A._data=this._data.clone(),A},_minBufferSize:0});i.Hasher=g.extend({cfg:s.extend(),init:function(A){this.cfg=this.cfg.extend(A),this.reset()},reset:function(){g.reset.call(this),this._doReset()},update:function(A){return this._append(A),this._process(),this},finalize:function(A){return A&&this._append(A),this._doFinalize()},blockSize:16,_createHelper:function(A){return function(e,t){return new A.init(t).finalize(e)}},_createHmacHelper:function(A){return function(e,t){return new d.HMAC.init(A,t).finalize(e)}}});var d=o.algo={};return o}(Math),e)}(Jn)),Jn.exports}var Zn,zn={exports:{}};function jn(){return Zn||(Zn=1,function(A){var e,t,n,r,o,i,s;A.exports=(s=$n(),n=(t=s).lib,r=n.Base,o=n.WordArray,(i=t.x64={}).Word=r.extend({init:function(A,e){this.high=A,this.low=e}}),i.WordArray=r.extend({init:function(A,t){A=this.words=A||[],this.sigBytes=t!=e?t:8*A.length},toX32:function(){for(var A=this.words,e=A.length,t=[],n=0;n<e;n++){var r=A[n];t.push(r.high),t.push(r.low)}return o.create(t,this.sigBytes)},clone:function(){for(var A=r.clone.call(this),e=A.words=this.words.slice(0),t=e.length,n=0;n<t;n++)e[n]=e[n].clone();return A}}),s)}(zn)),zn.exports}var qn,Ar={exports:{}};function er(){return qn||(qn=1,function(A){var e;A.exports=(e=$n(),function(){if("function"==typeof ArrayBuffer){var A=e.lib.WordArray,t=A.init,n=A.init=function(A){if(A instanceof ArrayBuffer&&(A=new Uint8Array(A)),(A instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&A instanceof Uint8ClampedArray||A instanceof Int16Array||A instanceof Uint16Array||A instanceof Int32Array||A instanceof Uint32Array||A instanceof Float32Array||A instanceof Float64Array)&&(A=new Uint8Array(A.buffer,A.byteOffset,A.byteLength)),A instanceof Uint8Array){for(var e=A.byteLength,n=[],r=0;r<e;r++)n[r>>>2]|=A[r]<<24-r%4*8;t.call(this,n,e)}else t.apply(this,arguments)};n.prototype=A}}(),e.lib.WordArray)}(Ar)),Ar.exports}var tr,nr={exports:{}};function rr(){return tr||(tr=1,function(A){var e;A.exports=(e=$n(),function(){var A=e,t=A.lib.WordArray,n=A.enc;function r(A){return A<<8&4278255360|A>>>8&16711935}n.Utf16=n.Utf16BE={stringify:function(A){for(var e=A.words,t=A.sigBytes,n=[],r=0;r<t;r+=2){var o=e[r>>>2]>>>16-r%4*8&65535;n.push(String.fromCharCode(o))}return n.join("")},parse:function(A){for(var e=A.length,n=[],r=0;r<e;r++)n[r>>>1]|=A.charCodeAt(r)<<16-r%2*16;return t.create(n,2*e)}},n.Utf16LE={stringify:function(A){for(var e=A.words,t=A.sigBytes,n=[],o=0;o<t;o+=2){var i=r(e[o>>>2]>>>16-o%4*8&65535);n.push(String.fromCharCode(i))}return n.join("")},parse:function(A){for(var e=A.length,n=[],o=0;o<e;o++)n[o>>>1]|=r(A.charCodeAt(o)<<16-o%2*16);return t.create(n,2*e)}}}(),e.enc.Utf16)}(nr)),nr.exports}var or,ir={exports:{}};function sr(){return or||(or=1,function(A){var e;A.exports=(e=$n(),function(){var A=e,t=A.lib.WordArray;function n(A,e,n){for(var r=[],o=0,i=0;i<e;i++)if(i%4){var s=n[A.charCodeAt(i-1)]<<i%4*2|n[A.charCodeAt(i)]>>>6-i%4*2;r[o>>>2]|=s<<24-o%4*8,o++}return t.create(r,o)}A.enc.Base64={stringify:function(A){var e=A.words,t=A.sigBytes,n=this._map;A.clamp();for(var r=[],o=0;o<t;o+=3)for(var i=(e[o>>>2]>>>24-o%4*8&255)<<16|(e[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|e[o+2>>>2]>>>24-(o+2)%4*8&255,s=0;s<4&&o+.75*s<t;s++)r.push(n.charAt(i>>>6*(3-s)&63));var a=n.charAt(64);if(a)for(;r.length%4;)r.push(a);return r.join("")},parse:function(A){var e=A.length,t=this._map,r=this._reverseMap;if(!r){r=this._reverseMap=[];for(var o=0;o<t.length;o++)r[t.charCodeAt(o)]=o}var i=t.charAt(64);if(i){var s=A.indexOf(i);-1!==s&&(e=s)}return n(A,e,r)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),e.enc.Base64)}(ir)),ir.exports}var ar,cr={exports:{}};function lr(){return ar||(ar=1,function(A){var e;A.exports=(e=$n(),function(){var A=e,t=A.lib.WordArray;function n(A,e,n){for(var r=[],o=0,i=0;i<e;i++)if(i%4){var s=n[A.charCodeAt(i-1)]<<i%4*2|n[A.charCodeAt(i)]>>>6-i%4*2;r[o>>>2]|=s<<24-o%4*8,o++}return t.create(r,o)}A.enc.Base64url={stringify:function(A,e){void 0===e&&(e=!0);var t=A.words,n=A.sigBytes,r=e?this._safe_map:this._map;A.clamp();for(var o=[],i=0;i<n;i+=3)for(var s=(t[i>>>2]>>>24-i%4*8&255)<<16|(t[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|t[i+2>>>2]>>>24-(i+2)%4*8&255,a=0;a<4&&i+.75*a<n;a++)o.push(r.charAt(s>>>6*(3-a)&63));var c=r.charAt(64);if(c)for(;o.length%4;)o.push(c);return o.join("")},parse:function(A,e){void 0===e&&(e=!0);var t=A.length,r=e?this._safe_map:this._map,o=this._reverseMap;if(!o){o=this._reverseMap=[];for(var i=0;i<r.length;i++)o[r.charCodeAt(i)]=i}var s=r.charAt(64);if(s){var a=A.indexOf(s);-1!==a&&(t=a)}return n(A,t,o)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"}}(),e.enc.Base64url)}(cr)),cr.exports}var ur,hr={exports:{}};function gr(){return ur||(ur=1,function(A){var e;A.exports=(e=$n(),function(A){var t=e,n=t.lib,r=n.WordArray,o=n.Hasher,i=t.algo,s=[];!function(){for(var e=0;e<64;e++)s[e]=4294967296*A.abs(A.sin(e+1))|0}();var a=i.MD5=o.extend({_doReset:function(){this._hash=new r.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(A,e){for(var t=0;t<16;t++){var n=e+t,r=A[n];A[n]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8)}var o=this._hash.words,i=A[e+0],a=A[e+1],g=A[e+2],d=A[e+3],B=A[e+4],f=A[e+5],w=A[e+6],p=A[e+7],m=A[e+8],C=A[e+9],Q=A[e+10],y=A[e+11],U=A[e+12],F=A[e+13],b=A[e+14],v=A[e+15],E=o[0],H=o[1],I=o[2],x=o[3];E=c(E,H,I,x,i,7,s[0]),x=c(x,E,H,I,a,12,s[1]),I=c(I,x,E,H,g,17,s[2]),H=c(H,I,x,E,d,22,s[3]),E=c(E,H,I,x,B,7,s[4]),x=c(x,E,H,I,f,12,s[5]),I=c(I,x,E,H,w,17,s[6]),H=c(H,I,x,E,p,22,s[7]),E=c(E,H,I,x,m,7,s[8]),x=c(x,E,H,I,C,12,s[9]),I=c(I,x,E,H,Q,17,s[10]),H=c(H,I,x,E,y,22,s[11]),E=c(E,H,I,x,U,7,s[12]),x=c(x,E,H,I,F,12,s[13]),I=c(I,x,E,H,b,17,s[14]),E=l(E,H=c(H,I,x,E,v,22,s[15]),I,x,a,5,s[16]),x=l(x,E,H,I,w,9,s[17]),I=l(I,x,E,H,y,14,s[18]),H=l(H,I,x,E,i,20,s[19]),E=l(E,H,I,x,f,5,s[20]),x=l(x,E,H,I,Q,9,s[21]),I=l(I,x,E,H,v,14,s[22]),H=l(H,I,x,E,B,20,s[23]),E=l(E,H,I,x,C,5,s[24]),x=l(x,E,H,I,b,9,s[25]),I=l(I,x,E,H,d,14,s[26]),H=l(H,I,x,E,m,20,s[27]),E=l(E,H,I,x,F,5,s[28]),x=l(x,E,H,I,g,9,s[29]),I=l(I,x,E,H,p,14,s[30]),E=u(E,H=l(H,I,x,E,U,20,s[31]),I,x,f,4,s[32]),x=u(x,E,H,I,m,11,s[33]),I=u(I,x,E,H,y,16,s[34]),H=u(H,I,x,E,b,23,s[35]),E=u(E,H,I,x,a,4,s[36]),x=u(x,E,H,I,B,11,s[37]),I=u(I,x,E,H,p,16,s[38]),H=u(H,I,x,E,Q,23,s[39]),E=u(E,H,I,x,F,4,s[40]),x=u(x,E,H,I,i,11,s[41]),I=u(I,x,E,H,d,16,s[42]),H=u(H,I,x,E,w,23,s[43]),E=u(E,H,I,x,C,4,s[44]),x=u(x,E,H,I,U,11,s[45]),I=u(I,x,E,H,v,16,s[46]),E=h(E,H=u(H,I,x,E,g,23,s[47]),I,x,i,6,s[48]),x=h(x,E,H,I,p,10,s[49]),I=h(I,x,E,H,b,15,s[50]),H=h(H,I,x,E,f,21,s[51]),E=h(E,H,I,x,U,6,s[52]),x=h(x,E,H,I,d,10,s[53]),I=h(I,x,E,H,Q,15,s[54]),H=h(H,I,x,E,a,21,s[55]),E=h(E,H,I,x,m,6,s[56]),x=h(x,E,H,I,v,10,s[57]),I=h(I,x,E,H,w,15,s[58]),H=h(H,I,x,E,F,21,s[59]),E=h(E,H,I,x,B,6,s[60]),x=h(x,E,H,I,y,10,s[61]),I=h(I,x,E,H,g,15,s[62]),H=h(H,I,x,E,C,21,s[63]),o[0]=o[0]+E|0,o[1]=o[1]+H|0,o[2]=o[2]+I|0,o[3]=o[3]+x|0},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;t[r>>>5]|=128<<24-r%32;var o=A.floor(n/4294967296),i=n;t[15+(r+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),t[14+(r+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),e.sigBytes=4*(t.length+1),this._process();for(var s=this._hash,a=s.words,c=0;c<4;c++){var l=a[c];a[c]=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8)}return s},clone:function(){var A=o.clone.call(this);return A._hash=this._hash.clone(),A}});function c(A,e,t,n,r,o,i){var s=A+(e&t|~e&n)+r+i;return(s<<o|s>>>32-o)+e}function l(A,e,t,n,r,o,i){var s=A+(e&n|t&~n)+r+i;return(s<<o|s>>>32-o)+e}function u(A,e,t,n,r,o,i){var s=A+(e^t^n)+r+i;return(s<<o|s>>>32-o)+e}function h(A,e,t,n,r,o,i){var s=A+(t^(e|~n))+r+i;return(s<<o|s>>>32-o)+e}t.MD5=o._createHelper(a),t.HmacMD5=o._createHmacHelper(a)}(Math),e.MD5)}(hr)),hr.exports}var dr,Br={exports:{}};function fr(){return dr||(dr=1,function(A){var e,t,n,r,o,i,s,a;A.exports=(a=$n(),t=(e=a).lib,n=t.WordArray,r=t.Hasher,o=e.algo,i=[],s=o.SHA1=r.extend({_doReset:function(){this._hash=new n.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(A,e){for(var t=this._hash.words,n=t[0],r=t[1],o=t[2],s=t[3],a=t[4],c=0;c<80;c++){if(c<16)i[c]=0|A[e+c];else{var l=i[c-3]^i[c-8]^i[c-14]^i[c-16];i[c]=l<<1|l>>>31}var u=(n<<5|n>>>27)+a+i[c];u+=c<20?1518500249+(r&o|~r&s):c<40?1859775393+(r^o^s):c<60?(r&o|r&s|o&s)-1894007588:(r^o^s)-899497514,a=s,s=o,o=r<<30|r>>>2,r=n,n=u}t[0]=t[0]+n|0,t[1]=t[1]+r|0,t[2]=t[2]+o|0,t[3]=t[3]+s|0,t[4]=t[4]+a|0},_doFinalize:function(){var A=this._data,e=A.words,t=8*this._nDataBytes,n=8*A.sigBytes;return e[n>>>5]|=128<<24-n%32,e[14+(n+64>>>9<<4)]=Math.floor(t/4294967296),e[15+(n+64>>>9<<4)]=t,A.sigBytes=4*e.length,this._process(),this._hash},clone:function(){var A=r.clone.call(this);return A._hash=this._hash.clone(),A}}),e.SHA1=r._createHelper(s),e.HmacSHA1=r._createHmacHelper(s),a.SHA1)}(Br)),Br.exports}var wr,pr={exports:{}};function mr(){return wr||(wr=1,function(A){var e;A.exports=(e=$n(),function(A){var t=e,n=t.lib,r=n.WordArray,o=n.Hasher,i=t.algo,s=[],a=[];!function(){function e(e){for(var t=A.sqrt(e),n=2;n<=t;n++)if(!(e%n))return!1;return!0}function t(A){return 4294967296*(A-(0|A))|0}for(var n=2,r=0;r<64;)e(n)&&(r<8&&(s[r]=t(A.pow(n,.5))),a[r]=t(A.pow(n,1/3)),r++),n++}();var c=[],l=i.SHA256=o.extend({_doReset:function(){this._hash=new r.init(s.slice(0))},_doProcessBlock:function(A,e){for(var t=this._hash.words,n=t[0],r=t[1],o=t[2],i=t[3],s=t[4],l=t[5],u=t[6],h=t[7],g=0;g<64;g++){if(g<16)c[g]=0|A[e+g];else{var d=c[g-15],B=(d<<25|d>>>7)^(d<<14|d>>>18)^d>>>3,f=c[g-2],w=(f<<15|f>>>17)^(f<<13|f>>>19)^f>>>10;c[g]=B+c[g-7]+w+c[g-16]}var p=n&r^n&o^r&o,m=(n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22),C=h+((s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25))+(s&l^~s&u)+a[g]+c[g];h=u,u=l,l=s,s=i+C|0,i=o,o=r,r=n,n=C+(m+p)|0}t[0]=t[0]+n|0,t[1]=t[1]+r|0,t[2]=t[2]+o|0,t[3]=t[3]+i|0,t[4]=t[4]+s|0,t[5]=t[5]+l|0,t[6]=t[6]+u|0,t[7]=t[7]+h|0},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[14+(r+64>>>9<<4)]=A.floor(n/4294967296),t[15+(r+64>>>9<<4)]=n,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var A=o.clone.call(this);return A._hash=this._hash.clone(),A}});t.SHA256=o._createHelper(l),t.HmacSHA256=o._createHmacHelper(l)}(Math),e.SHA256)}(pr)),pr.exports}var Cr,Qr={exports:{}};var yr,Ur={exports:{}};function Fr(){return yr||(yr=1,function(A){var e;A.exports=(e=$n(),jn(),function(){var A=e,t=A.lib.Hasher,n=A.x64,r=n.Word,o=n.WordArray,i=A.algo;function s(){return r.create.apply(r,arguments)}var a=[s(1116352408,3609767458),s(1899447441,602891725),s(3049323471,3964484399),s(3921009573,2173295548),s(961987163,4081628472),s(1508970993,3053834265),s(2453635748,2937671579),s(2870763221,3664609560),s(3624381080,2734883394),s(310598401,1164996542),s(607225278,1323610764),s(1426881987,3590304994),s(1925078388,4068182383),s(2162078206,991336113),s(2614888103,633803317),s(3248222580,3479774868),s(3835390401,2666613458),s(4022224774,944711139),s(264347078,2341262773),s(604807628,2007800933),s(770255983,1495990901),s(1249150122,1856431235),s(1555081692,3175218132),s(1996064986,2198950837),s(2554220882,3999719339),s(2821834349,766784016),s(2952996808,2566594879),s(3210313671,3203337956),s(3336571891,1034457026),s(3584528711,2466948901),s(113926993,3758326383),s(338241895,168717936),s(666307205,1188179964),s(773529912,1546045734),s(1294757372,1522805485),s(1396182291,2643833823),s(1695183700,2343527390),s(1986661051,1014477480),s(2177026350,1206759142),s(2456956037,344077627),s(2730485921,1290863460),s(2820302411,3158454273),s(3259730800,3505952657),s(3345764771,106217008),s(3516065817,3606008344),s(3600352804,1432725776),s(4094571909,1467031594),s(275423344,851169720),s(430227734,3100823752),s(506948616,1363258195),s(659060556,3750685593),s(883997877,3785050280),s(958139571,3318307427),s(1322822218,3812723403),s(1537002063,2003034995),s(1747873779,3602036899),s(1955562222,1575990012),s(2024104815,1125592928),s(2227730452,2716904306),s(2361852424,442776044),s(2428436474,593698344),s(2756734187,3733110249),s(3204031479,2999351573),s(3329325298,3815920427),s(3391569614,3928383900),s(3515267271,566280711),s(3940187606,3454069534),s(4118630271,4000239992),s(116418474,1914138554),s(174292421,2731055270),s(289380356,3203993006),s(460393269,320620315),s(685471733,587496836),s(852142971,1086792851),s(1017036298,365543100),s(1126000580,2618297676),s(1288033470,3409855158),s(1501505948,4234509866),s(1607167915,987167468),s(1816402316,1246189591)],c=[];!function(){for(var A=0;A<80;A++)c[A]=s()}();var l=i.SHA512=t.extend({_doReset:function(){this._hash=new o.init([new r.init(1779033703,4089235720),new r.init(3144134277,2227873595),new r.init(1013904242,4271175723),new r.init(2773480762,1595750129),new r.init(1359893119,2917565137),new r.init(2600822924,725511199),new r.init(528734635,4215389547),new r.init(1541459225,327033209)])},_doProcessBlock:function(A,e){for(var t=this._hash.words,n=t[0],r=t[1],o=t[2],i=t[3],s=t[4],l=t[5],u=t[6],h=t[7],g=n.high,d=n.low,B=r.high,f=r.low,w=o.high,p=o.low,m=i.high,C=i.low,Q=s.high,y=s.low,U=l.high,F=l.low,b=u.high,v=u.low,E=h.high,H=h.low,I=g,x=d,S=B,L=f,M=w,D=p,k=m,K=C,T=Q,R=y,P=U,O=F,V=b,N=v,G=E,W=H,_=0;_<80;_++){var X,J,Y=c[_];if(_<16)J=Y.high=0|A[e+2*_],X=Y.low=0|A[e+2*_+1];else{var $=c[_-15],Z=$.high,z=$.low,j=(Z>>>1|z<<31)^(Z>>>8|z<<24)^Z>>>7,q=(z>>>1|Z<<31)^(z>>>8|Z<<24)^(z>>>7|Z<<25),AA=c[_-2],eA=AA.high,tA=AA.low,nA=(eA>>>19|tA<<13)^(eA<<3|tA>>>29)^eA>>>6,rA=(tA>>>19|eA<<13)^(tA<<3|eA>>>29)^(tA>>>6|eA<<26),oA=c[_-7],iA=oA.high,sA=oA.low,aA=c[_-16],cA=aA.high,lA=aA.low;J=(J=(J=j+iA+((X=q+sA)>>>0<q>>>0?1:0))+nA+((X+=rA)>>>0<rA>>>0?1:0))+cA+((X+=lA)>>>0<lA>>>0?1:0),Y.high=J,Y.low=X}var uA,hA=T&P^~T&V,gA=R&O^~R&N,dA=I&S^I&M^S&M,BA=x&L^x&D^L&D,fA=(I>>>28|x<<4)^(I<<30|x>>>2)^(I<<25|x>>>7),wA=(x>>>28|I<<4)^(x<<30|I>>>2)^(x<<25|I>>>7),pA=(T>>>14|R<<18)^(T>>>18|R<<14)^(T<<23|R>>>9),mA=(R>>>14|T<<18)^(R>>>18|T<<14)^(R<<23|T>>>9),CA=a[_],QA=CA.high,yA=CA.low,UA=G+pA+((uA=W+mA)>>>0<W>>>0?1:0),FA=wA+BA;G=V,W=N,V=P,N=O,P=T,O=R,T=k+(UA=(UA=(UA=UA+hA+((uA+=gA)>>>0<gA>>>0?1:0))+QA+((uA+=yA)>>>0<yA>>>0?1:0))+J+((uA+=X)>>>0<X>>>0?1:0))+((R=K+uA|0)>>>0<K>>>0?1:0)|0,k=M,K=D,M=S,D=L,S=I,L=x,I=UA+(fA+dA+(FA>>>0<wA>>>0?1:0))+((x=uA+FA|0)>>>0<uA>>>0?1:0)|0}d=n.low=d+x,n.high=g+I+(d>>>0<x>>>0?1:0),f=r.low=f+L,r.high=B+S+(f>>>0<L>>>0?1:0),p=o.low=p+D,o.high=w+M+(p>>>0<D>>>0?1:0),C=i.low=C+K,i.high=m+k+(C>>>0<K>>>0?1:0),y=s.low=y+R,s.high=Q+T+(y>>>0<R>>>0?1:0),F=l.low=F+O,l.high=U+P+(F>>>0<O>>>0?1:0),v=u.low=v+N,u.high=b+V+(v>>>0<N>>>0?1:0),H=h.low=H+W,h.high=E+G+(H>>>0<W>>>0?1:0)},_doFinalize:function(){var A=this._data,e=A.words,t=8*this._nDataBytes,n=8*A.sigBytes;return e[n>>>5]|=128<<24-n%32,e[30+(n+128>>>10<<5)]=Math.floor(t/4294967296),e[31+(n+128>>>10<<5)]=t,A.sigBytes=4*e.length,this._process(),this._hash.toX32()},clone:function(){var A=t.clone.call(this);return A._hash=this._hash.clone(),A},blockSize:32});A.SHA512=t._createHelper(l),A.HmacSHA512=t._createHmacHelper(l)}(),e.SHA512)}(Ur)),Ur.exports}var br,vr={exports:{}};var Er,Hr={exports:{}};function Ir(){return Er||(Er=1,function(A){var e;A.exports=(e=$n(),jn(),function(A){var t=e,n=t.lib,r=n.WordArray,o=n.Hasher,i=t.x64.Word,s=t.algo,a=[],c=[],l=[];!function(){for(var A=1,e=0,t=0;t<24;t++){a[A+5*e]=(t+1)*(t+2)/2%64;var n=(2*A+3*e)%5;A=e%5,e=n}for(A=0;A<5;A++)for(e=0;e<5;e++)c[A+5*e]=e+(2*A+3*e)%5*5;for(var r=1,o=0;o<24;o++){for(var s=0,u=0,h=0;h<7;h++){if(1&r){var g=(1<<h)-1;g<32?u^=1<<g:s^=1<<g-32}128&r?r=r<<1^113:r<<=1}l[o]=i.create(s,u)}}();var u=[];!function(){for(var A=0;A<25;A++)u[A]=i.create()}();var h=s.SHA3=o.extend({cfg:o.cfg.extend({outputLength:512}),_doReset:function(){for(var A=this._state=[],e=0;e<25;e++)A[e]=new i.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(A,e){for(var t=this._state,n=this.blockSize/2,r=0;r<n;r++){var o=A[e+2*r],i=A[e+2*r+1];o=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),i=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),(H=t[r]).high^=i,H.low^=o}for(var s=0;s<24;s++){for(var h=0;h<5;h++){for(var g=0,d=0,B=0;B<5;B++)g^=(H=t[h+5*B]).high,d^=H.low;var f=u[h];f.high=g,f.low=d}for(h=0;h<5;h++){var w=u[(h+4)%5],p=u[(h+1)%5],m=p.high,C=p.low;for(g=w.high^(m<<1|C>>>31),d=w.low^(C<<1|m>>>31),B=0;B<5;B++)(H=t[h+5*B]).high^=g,H.low^=d}for(var Q=1;Q<25;Q++){var y=(H=t[Q]).high,U=H.low,F=a[Q];F<32?(g=y<<F|U>>>32-F,d=U<<F|y>>>32-F):(g=U<<F-32|y>>>64-F,d=y<<F-32|U>>>64-F);var b=u[c[Q]];b.high=g,b.low=d}var v=u[0],E=t[0];for(v.high=E.high,v.low=E.low,h=0;h<5;h++)for(B=0;B<5;B++){var H=t[Q=h+5*B],I=u[Q],x=u[(h+1)%5+5*B],S=u[(h+2)%5+5*B];H.high=I.high^~x.high&S.high,H.low=I.low^~x.low&S.low}H=t[0];var L=l[s];H.high^=L.high,H.low^=L.low}},_doFinalize:function(){var e=this._data,t=e.words;this._nDataBytes;var n=8*e.sigBytes,o=32*this.blockSize;t[n>>>5]|=1<<24-n%32,t[(A.ceil((n+1)/o)*o>>>5)-1]|=128,e.sigBytes=4*t.length,this._process();for(var i=this._state,s=this.cfg.outputLength/8,a=s/8,c=[],l=0;l<a;l++){var u=i[l],h=u.high,g=u.low;h=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8),g=16711935&(g<<8|g>>>24)|4278255360&(g<<24|g>>>8),c.push(g),c.push(h)}return new r.init(c,s)},clone:function(){for(var A=o.clone.call(this),e=A._state=this._state.slice(0),t=0;t<25;t++)e[t]=e[t].clone();return A}});t.SHA3=o._createHelper(h),t.HmacSHA3=o._createHmacHelper(h)}(Math),e.SHA3)}(Hr)),Hr.exports}var xr,Sr={exports:{}};var Lr,Mr={exports:{}};function Dr(){return Lr||(Lr=1,function(A){var e,t,n,r;A.exports=(e=$n(),n=(t=e).lib.Base,r=t.enc.Utf8,void(t.algo.HMAC=n.extend({init:function(A,e){A=this._hasher=new A.init,"string"==typeof e&&(e=r.parse(e));var t=A.blockSize,n=4*t;e.sigBytes>n&&(e=A.finalize(e)),e.clamp();for(var o=this._oKey=e.clone(),i=this._iKey=e.clone(),s=o.words,a=i.words,c=0;c<t;c++)s[c]^=1549556828,a[c]^=909522486;o.sigBytes=i.sigBytes=n,this.reset()},reset:function(){var A=this._hasher;A.reset(),A.update(this._iKey)},update:function(A){return this._hasher.update(A),this},finalize:function(A){var e=this._hasher,t=e.finalize(A);return e.reset(),e.finalize(this._oKey.clone().concat(t))}})))}(Mr)),Mr.exports}var kr,Kr={exports:{}};var Tr,Rr={exports:{}};function Pr(){return Tr||(Tr=1,function(A){var e,t,n,r,o,i,s,a;A.exports=(a=$n(),fr(),Dr(),t=(e=a).lib,n=t.Base,r=t.WordArray,o=e.algo,i=o.MD5,s=o.EvpKDF=n.extend({cfg:n.extend({keySize:4,hasher:i,iterations:1}),init:function(A){this.cfg=this.cfg.extend(A)},compute:function(A,e){for(var t,n=this.cfg,o=n.hasher.create(),i=r.create(),s=i.words,a=n.keySize,c=n.iterations;s.length<a;){t&&o.update(t),t=o.update(A).finalize(e),o.reset();for(var l=1;l<c;l++)t=o.finalize(t),o.reset();i.concat(t)}return i.sigBytes=4*a,i}}),e.EvpKDF=function(A,e,t){return s.create(t).compute(A,e)},a.EvpKDF)}(Rr)),Rr.exports}var Or,Vr={exports:{}};function Nr(){return Or||(Or=1,function(A){var e;A.exports=(e=$n(),Pr(),void(e.lib.Cipher||function(A){var t=e,n=t.lib,r=n.Base,o=n.WordArray,i=n.BufferedBlockAlgorithm,s=t.enc;s.Utf8;var a=s.Base64,c=t.algo.EvpKDF,l=n.Cipher=i.extend({cfg:r.extend(),createEncryptor:function(A,e){return this.create(this._ENC_XFORM_MODE,A,e)},createDecryptor:function(A,e){return this.create(this._DEC_XFORM_MODE,A,e)},init:function(A,e,t){this.cfg=this.cfg.extend(t),this._xformMode=A,this._key=e,this.reset()},reset:function(){i.reset.call(this),this._doReset()},process:function(A){return this._append(A),this._process()},finalize:function(A){return A&&this._append(A),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function A(A){return"string"==typeof A?m:w}return function(e){return{encrypt:function(t,n,r){return A(n).encrypt(e,t,n,r)},decrypt:function(t,n,r){return A(n).decrypt(e,t,n,r)}}}}()});n.StreamCipher=l.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var u=t.mode={},h=n.BlockCipherMode=r.extend({createEncryptor:function(A,e){return this.Encryptor.create(A,e)},createDecryptor:function(A,e){return this.Decryptor.create(A,e)},init:function(A,e){this._cipher=A,this._iv=e}}),g=u.CBC=function(){var e=h.extend();function t(e,t,n){var r,o=this._iv;o?(r=o,this._iv=A):r=this._prevBlock;for(var i=0;i<n;i++)e[t+i]^=r[i]}return e.Encryptor=e.extend({processBlock:function(A,e){var n=this._cipher,r=n.blockSize;t.call(this,A,e,r),n.encryptBlock(A,e),this._prevBlock=A.slice(e,e+r)}}),e.Decryptor=e.extend({processBlock:function(A,e){var n=this._cipher,r=n.blockSize,o=A.slice(e,e+r);n.decryptBlock(A,e),t.call(this,A,e,r),this._prevBlock=o}}),e}(),d=(t.pad={}).Pkcs7={pad:function(A,e){for(var t=4*e,n=t-A.sigBytes%t,r=n<<24|n<<16|n<<8|n,i=[],s=0;s<n;s+=4)i.push(r);var a=o.create(i,n);A.concat(a)},unpad:function(A){var e=255&A.words[A.sigBytes-1>>>2];A.sigBytes-=e}};n.BlockCipher=l.extend({cfg:l.cfg.extend({mode:g,padding:d}),reset:function(){var A;l.reset.call(this);var e=this.cfg,t=e.iv,n=e.mode;this._xformMode==this._ENC_XFORM_MODE?A=n.createEncryptor:(A=n.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==A?this._mode.init(this,t&&t.words):(this._mode=A.call(n,this,t&&t.words),this._mode.__creator=A)},_doProcessBlock:function(A,e){this._mode.processBlock(A,e)},_doFinalize:function(){var A,e=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(e.pad(this._data,this.blockSize),A=this._process(!0)):(A=this._process(!0),e.unpad(A)),A},blockSize:4});var B=n.CipherParams=r.extend({init:function(A){this.mixIn(A)},toString:function(A){return(A||this.formatter).stringify(this)}}),f=(t.format={}).OpenSSL={stringify:function(A){var e=A.ciphertext,t=A.salt;return(t?o.create([1398893684,1701076831]).concat(t).concat(e):e).toString(a)},parse:function(A){var e,t=a.parse(A),n=t.words;return 1398893684==n[0]&&1701076831==n[1]&&(e=o.create(n.slice(2,4)),n.splice(0,4),t.sigBytes-=16),B.create({ciphertext:t,salt:e})}},w=n.SerializableCipher=r.extend({cfg:r.extend({format:f}),encrypt:function(A,e,t,n){n=this.cfg.extend(n);var r=A.createEncryptor(t,n),o=r.finalize(e),i=r.cfg;return B.create({ciphertext:o,key:t,iv:i.iv,algorithm:A,mode:i.mode,padding:i.padding,blockSize:A.blockSize,formatter:n.format})},decrypt:function(A,e,t,n){return n=this.cfg.extend(n),e=this._parse(e,n.format),A.createDecryptor(t,n).finalize(e.ciphertext)},_parse:function(A,e){return"string"==typeof A?e.parse(A,this):A}}),p=(t.kdf={}).OpenSSL={execute:function(A,e,t,n,r){if(n||(n=o.random(8)),r)i=c.create({keySize:e+t,hasher:r}).compute(A,n);else var i=c.create({keySize:e+t}).compute(A,n);var s=o.create(i.words.slice(e),4*t);return i.sigBytes=4*e,B.create({key:i,iv:s,salt:n})}},m=n.PasswordBasedCipher=w.extend({cfg:w.cfg.extend({kdf:p}),encrypt:function(A,e,t,n){var r=(n=this.cfg.extend(n)).kdf.execute(t,A.keySize,A.ivSize,n.salt,n.hasher);n.iv=r.iv;var o=w.encrypt.call(this,A,e,r.key,n);return o.mixIn(r),o},decrypt:function(A,e,t,n){n=this.cfg.extend(n),e=this._parse(e,n.format);var r=n.kdf.execute(t,A.keySize,A.ivSize,e.salt,n.hasher);return n.iv=r.iv,w.decrypt.call(this,A,e,r.key,n)}})}()))}(Vr)),Vr.exports}var Gr,Wr={exports:{}};function _r(){return Gr||(Gr=1,function(A){var e;A.exports=(e=$n(),Nr(),e.mode.CFB=function(){var A=e.lib.BlockCipherMode.extend();function t(A,e,t,n){var r,o=this._iv;o?(r=o.slice(0),this._iv=void 0):r=this._prevBlock,n.encryptBlock(r,0);for(var i=0;i<t;i++)A[e+i]^=r[i]}return A.Encryptor=A.extend({processBlock:function(A,e){var n=this._cipher,r=n.blockSize;t.call(this,A,e,r,n),this._prevBlock=A.slice(e,e+r)}}),A.Decryptor=A.extend({processBlock:function(A,e){var n=this._cipher,r=n.blockSize,o=A.slice(e,e+r);t.call(this,A,e,r,n),this._prevBlock=o}}),A}(),e.mode.CFB)}(Wr)),Wr.exports}var Xr,Jr={exports:{}};function Yr(){return Xr||(Xr=1,function(A){var e,t,n;A.exports=(n=$n(),Nr(),n.mode.CTR=(e=n.lib.BlockCipherMode.extend(),t=e.Encryptor=e.extend({processBlock:function(A,e){var t=this._cipher,n=t.blockSize,r=this._iv,o=this._counter;r&&(o=this._counter=r.slice(0),this._iv=void 0);var i=o.slice(0);t.encryptBlock(i,0),o[n-1]=o[n-1]+1|0;for(var s=0;s<n;s++)A[e+s]^=i[s]}}),e.Decryptor=t,e),n.mode.CTR)}(Jr)),Jr.exports}var $r,Zr={exports:{}};function zr(){return $r||($r=1,function(A){var e;A.exports=(e=$n(),Nr(),
21
+ var A=function(e,t){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(A,e){A.__proto__=e}||function(A,e){for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(A[t]=e[t])},A(e,t)};function e(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}A(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var t=function(){return t=Object.assign||function(A){for(var e,t=1,n=arguments.length;t<n;t++)for(var r in e=arguments[t])Object.prototype.hasOwnProperty.call(e,r)&&(A[r]=e[r]);return A},t.apply(this,arguments)};function n(A,e,t,n){function r(A){return A instanceof t?A:new t(function(e){e(A)})}return new(t||(t=Promise))(function(e,t){function o(A){try{s(n.next(A))}catch(A){t(A)}}function i(A){try{s(n.throw(A))}catch(A){t(A)}}function s(A){A.done?e(A.value):r(A.value).then(o,i)}s((n=n.apply(A,[])).next())})}function r(A,e){var t,n,r,o,i={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(A){return function(e){return a([A,e])}}function a(o){if(t)throw new TypeError("Generator is already executing.");for(;i;)try{if(t=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,n=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!((r=(r=i.trys).length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){i=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){i.label=o[1];break}if(6===o[0]&&i.label<r[1]){i.label=r[1],r=o;break}if(r&&i.label<r[2]){i.label=r[2],i.ops.push(o);break}r[2]&&i.ops.pop(),i.trys.pop();continue}o=e.call(A,i)}catch(A){o=[6,A],n=0}finally{t=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}}function o(A,e,t){if(2===arguments.length)for(var n,r=0,o=e.length;r<o;r++)!n&&r in e||(n||(n=Array.prototype.slice.call(e,0,r)),n[r]=e[r]);return A.concat(n||e)}for(var i=function(){function A(A,e,t,n){this.left=A,this.top=e,this.width=t,this.height=n}return A.prototype.add=function(e,t,n,r){return new A(this.left+e,this.top+t,this.width+n,this.height+r)},A.fromClientRect=function(e,t){return new A(t.left+e.windowBounds.left,t.top+e.windowBounds.top,t.width,t.height)},A.fromDOMRectList=function(e,t){var n=Array.from(t).find(function(A){return 0!==A.width});return n?new A(n.left+e.windowBounds.left,n.top+e.windowBounds.top,n.width,n.height):A.EMPTY},A.EMPTY=new A(0,0,0,0),A}(),s=function(A,e){return i.fromClientRect(A,e.getBoundingClientRect())},a=function(A){var e=A.body,t=A.documentElement;if(!e||!t)throw new Error("Unable to get document size");var n=Math.max(Math.max(e.scrollWidth,t.scrollWidth),Math.max(e.offsetWidth,t.offsetWidth),Math.max(e.clientWidth,t.clientWidth)),r=Math.max(Math.max(e.scrollHeight,t.scrollHeight),Math.max(e.offsetHeight,t.offsetHeight),Math.max(e.clientHeight,t.clientHeight));return new i(0,0,n,r)},c=function(A){for(var e=[],t=0,n=A.length;t<n;){var r=A.charCodeAt(t++);if(r>=55296&&r<=56319&&t<n){var o=A.charCodeAt(t++);56320==(64512&o)?e.push(((1023&r)<<10)+(1023&o)+65536):(e.push(r),t--)}else e.push(r)}return e},l=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];if(String.fromCodePoint)return String.fromCodePoint.apply(String,A);var t=A.length;if(!t)return"";for(var n=[],r=-1,o="";++r<t;){var i=A[r];i<=65535?n.push(i):(i-=65536,n.push(55296+(i>>10),i%1024+56320)),(r+1===t||n.length>16384)&&(o+=String.fromCharCode.apply(String,n),n.length=0)}return o},u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",h="undefined"==typeof Uint8Array?[]:new Uint8Array(256),g=0;g<u.length;g++)h[u.charCodeAt(g)]=g;for(var d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",B="undefined"==typeof Uint8Array?[]:new Uint8Array(256),f=0;f<d.length;f++)B[d.charCodeAt(f)]=f;for(var w=function(A){var e,t,n,r,o,i=.75*A.length,s=A.length,a=0;"="===A[A.length-1]&&(i--,"="===A[A.length-2]&&i--);var c="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(i):new Array(i),l=Array.isArray(c)?c:new Uint8Array(c);for(e=0;e<s;e+=4)t=B[A.charCodeAt(e)],n=B[A.charCodeAt(e+1)],r=B[A.charCodeAt(e+2)],o=B[A.charCodeAt(e+3)],l[a++]=t<<2|n>>4,l[a++]=(15&n)<<4|r>>2,l[a++]=(3&r)<<6|63&o;return c},p=function(A){for(var e=A.length,t=[],n=0;n<e;n+=2)t.push(A[n+1]<<8|A[n]);return t},m=function(A){for(var e=A.length,t=[],n=0;n<e;n+=4)t.push(A[n+3]<<24|A[n+2]<<16|A[n+1]<<8|A[n]);return t},C=5,Q=11,y=2,U=65536>>C,F=(1<<C)-1,b=U+(1024>>C)+32,v=65536>>Q,E=(1<<Q-C)-1,H=function(A,e,t){return A.slice?A.slice(e,t):new Uint16Array(Array.prototype.slice.call(A,e,t))},I=function(A,e,t){return A.slice?A.slice(e,t):new Uint32Array(Array.prototype.slice.call(A,e,t))},x=function(A,e){var t=w(A),n=Array.isArray(t)?m(t):new Uint32Array(t),r=Array.isArray(t)?p(t):new Uint16Array(t),o=24,i=H(r,o/2,n[4]/2),s=2===n[5]?H(r,(o+n[4])/2):I(n,Math.ceil((o+n[4])/4));return new S(n[0],n[1],n[2],n[3],i,s)},S=function(){function A(A,e,t,n,r,o){this.initialValue=A,this.errorValue=e,this.highStart=t,this.highValueIndex=n,this.index=r,this.data=o}return A.prototype.get=function(A){var e;if(A>=0){if(A<55296||A>56319&&A<=65535)return e=((e=this.index[A>>C])<<y)+(A&F),this.data[e];if(A<=65535)return e=((e=this.index[U+(A-55296>>C)])<<y)+(A&F),this.data[e];if(A<this.highStart)return e=b-v+(A>>Q),e=this.index[e],e+=A>>C&E,e=((e=this.index[e])<<y)+(A&F),this.data[e];if(A<=1114111)return this.data[this.highValueIndex]}return this.errorValue},A}(),L="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",D="undefined"==typeof Uint8Array?[]:new Uint8Array(256),M=0;M<L.length;M++)D[L.charCodeAt(M)]=M;var K=50,k=1,T=2,R=3,P=4,O=5,V=7,N=8,G=9,W=10,_=11,X=12,J=13,Y=14,$=15,Z=16,z=17,j=18,q=19,AA=20,eA=21,tA=22,nA=23,rA=24,oA=25,iA=26,sA=27,aA=28,cA=29,lA=30,uA=31,hA=32,gA=33,dA=34,BA=35,fA=36,wA=37,pA=38,mA=39,CA=40,QA=41,yA=42,UA=43,FA=[9001,65288],bA="!",vA="×",EA="÷",HA=x("KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA=="),IA=[lA,fA],xA=[k,T,R,O],SA=[W,N],LA=[sA,iA],DA=xA.concat(SA),MA=[pA,mA,CA,dA,BA],KA=[$,J],kA=function(A,e){void 0===e&&(e="strict");var t=[],n=[],r=[];return A.forEach(function(A,o){var i=HA.get(A);if(i>K?(r.push(!0),i-=K):r.push(!1),-1!==["normal","auto","loose"].indexOf(e)&&-1!==[8208,8211,12316,12448].indexOf(A))return n.push(o),t.push(Z);if(i===P||i===_){if(0===o)return n.push(o),t.push(lA);var s=t[o-1];return-1===DA.indexOf(s)?(n.push(n[o-1]),t.push(s)):(n.push(o),t.push(lA))}return n.push(o),i===uA?t.push("strict"===e?eA:wA):i===yA||i===cA?t.push(lA):i===UA?A>=131072&&A<=196605||A>=196608&&A<=262141?t.push(wA):t.push(lA):void t.push(i)}),[n,t,r]},TA=function(A,e,t,n){var r=n[t];if(Array.isArray(A)?-1!==A.indexOf(r):A===r)for(var o=t;o<=n.length;){if((a=n[++o])===e)return!0;if(a!==W)break}if(r===W)for(o=t;o>0;){var i=n[--o];if(Array.isArray(A)?-1!==A.indexOf(i):A===i)for(var s=t;s<=n.length;){var a;if((a=n[++s])===e)return!0;if(a!==W)break}if(i!==W)break}return!1},RA=function(A,e){for(var t=A;t>=0;){var n=e[t];if(n!==W)return n;t--}return 0},PA=function(A,e,t,n,r){if(0===t[n])return vA;var o=n-1;if(Array.isArray(r)&&!0===r[o])return vA;var i=o-1,s=o+1,a=e[o],c=i>=0?e[i]:0,l=e[s];if(a===T&&l===R)return vA;if(-1!==xA.indexOf(a))return bA;if(-1!==xA.indexOf(l))return vA;if(-1!==SA.indexOf(l))return vA;if(RA(o,e)===N)return EA;if(HA.get(A[o])===_)return vA;if((a===hA||a===gA)&&HA.get(A[s])===_)return vA;if(a===V||l===V)return vA;if(a===G)return vA;if(-1===[W,J,$].indexOf(a)&&l===G)return vA;if(-1!==[z,j,q,rA,aA].indexOf(l))return vA;if(RA(o,e)===tA)return vA;if(TA(nA,tA,o,e))return vA;if(TA([z,j],eA,o,e))return vA;if(TA(X,X,o,e))return vA;if(a===W)return EA;if(a===nA||l===nA)return vA;if(l===Z||a===Z)return EA;if(-1!==[J,$,eA].indexOf(l)||a===Y)return vA;if(c===fA&&-1!==KA.indexOf(a))return vA;if(a===aA&&l===fA)return vA;if(l===AA)return vA;if(-1!==IA.indexOf(l)&&a===oA||-1!==IA.indexOf(a)&&l===oA)return vA;if(a===sA&&-1!==[wA,hA,gA].indexOf(l)||-1!==[wA,hA,gA].indexOf(a)&&l===iA)return vA;if(-1!==IA.indexOf(a)&&-1!==LA.indexOf(l)||-1!==LA.indexOf(a)&&-1!==IA.indexOf(l))return vA;if(-1!==[sA,iA].indexOf(a)&&(l===oA||-1!==[tA,$].indexOf(l)&&e[s+1]===oA)||-1!==[tA,$].indexOf(a)&&l===oA||a===oA&&-1!==[oA,aA,rA].indexOf(l))return vA;if(-1!==[oA,aA,rA,z,j].indexOf(l))for(var u=o;u>=0;){if((h=e[u])===oA)return vA;if(-1===[aA,rA].indexOf(h))break;u--}if(-1!==[sA,iA].indexOf(l))for(u=-1!==[z,j].indexOf(a)?i:o;u>=0;){var h;if((h=e[u])===oA)return vA;if(-1===[aA,rA].indexOf(h))break;u--}if(pA===a&&-1!==[pA,mA,dA,BA].indexOf(l)||-1!==[mA,dA].indexOf(a)&&-1!==[mA,CA].indexOf(l)||-1!==[CA,BA].indexOf(a)&&l===CA)return vA;if(-1!==MA.indexOf(a)&&-1!==[AA,iA].indexOf(l)||-1!==MA.indexOf(l)&&a===sA)return vA;if(-1!==IA.indexOf(a)&&-1!==IA.indexOf(l))return vA;if(a===rA&&-1!==IA.indexOf(l))return vA;if(-1!==IA.concat(oA).indexOf(a)&&l===tA&&-1===FA.indexOf(A[s])||-1!==IA.concat(oA).indexOf(l)&&a===j)return vA;if(a===QA&&l===QA){for(var g=t[o],d=1;g>0&&e[--g]===QA;)d++;if(d%2!=0)return vA}return a===hA&&l===gA?vA:EA},OA=function(A,e){e||(e={lineBreak:"normal",wordBreak:"normal"});var t=kA(A,e.lineBreak),n=t[0],r=t[1],o=t[2];"break-all"!==e.wordBreak&&"break-word"!==e.wordBreak||(r=r.map(function(A){return-1!==[oA,lA,yA].indexOf(A)?wA:A}));var i="keep-all"===e.wordBreak?o.map(function(e,t){return e&&A[t]>=19968&&A[t]<=40959}):void 0;return[n,r,i]},VA=function(){function A(A,e,t,n){this.codePoints=A,this.required=e===bA,this.start=t,this.end=n}return A.prototype.slice=function(){return l.apply(void 0,this.codePoints.slice(this.start,this.end))},A}(),NA=function(A,e){var t=c(A),n=OA(t,e),r=n[0],o=n[1],i=n[2],s=t.length,a=0,l=0;return{next:function(){if(l>=s)return{done:!0,value:null};for(var A=vA;l<s&&(A=PA(t,o,r,++l,i))===vA;);if(A!==vA||l===s){var e=new VA(t,A,a,l);return a=l,{value:e,done:!1}}return{done:!0,value:null}}}},GA=1,WA=2,_A=4,XA=8,JA=10,YA=47,$A=92,ZA=9,zA=32,jA=34,qA=61,Ae=35,ee=36,te=37,ne=39,re=40,oe=41,ie=95,se=45,ae=33,ce=60,le=62,ue=64,he=91,ge=93,de=61,Be=123,fe=63,we=125,pe=124,me=126,Ce=128,Qe=65533,ye=42,Ue=43,Fe=44,be=58,ve=59,Ee=46,He=0,Ie=8,xe=11,Se=14,Le=31,De=127,Me=-1,Ke=48,ke=97,Te=101,Re=102,Pe=117,Oe=122,Ve=65,Ne=69,Ge=70,We=85,_e=90,Xe=function(A){return A>=Ke&&A<=57},Je=function(A){return A>=55296&&A<=57343},Ye=function(A){return Xe(A)||A>=Ve&&A<=Ge||A>=ke&&A<=Re},$e=function(A){return A>=ke&&A<=Oe},Ze=function(A){return A>=Ve&&A<=_e},ze=function(A){return $e(A)||Ze(A)},je=function(A){return A>=Ce},qe=function(A){return A===JA||A===ZA||A===zA},At=function(A){return ze(A)||je(A)||A===ie},et=function(A){return At(A)||Xe(A)||A===se},tt=function(A){return A>=He&&A<=Ie||A===xe||A>=Se&&A<=Le||A===De},nt=function(A,e){return A===$A&&e!==JA},rt=function(A,e,t){return A===se?At(e)||nt(e,t):!!At(A)||!(A!==$A||!nt(A,e))},ot=function(A,e,t){return A===Ue||A===se?!!Xe(e)||e===Ee&&Xe(t):Xe(A===Ee?e:A)},it=function(A){var e=0,t=1;A[e]!==Ue&&A[e]!==se||(A[e]===se&&(t=-1),e++);for(var n=[];Xe(A[e]);)n.push(A[e++]);var r=n.length?parseInt(l.apply(void 0,n),10):0;A[e]===Ee&&e++;for(var o=[];Xe(A[e]);)o.push(A[e++]);var i=o.length,s=i?parseInt(l.apply(void 0,o),10):0;A[e]!==Ne&&A[e]!==Te||e++;var a=1;A[e]!==Ue&&A[e]!==se||(A[e]===se&&(a=-1),e++);for(var c=[];Xe(A[e]);)c.push(A[e++]);var u=c.length?parseInt(l.apply(void 0,c),10):0;return t*(r+s*Math.pow(10,-i))*Math.pow(10,a*u)},st={type:2},at={type:3},ct={type:4},lt={type:13},ut={type:8},ht={type:21},gt={type:9},dt={type:10},Bt={type:11},ft={type:12},wt={type:14},pt={type:23},mt={type:1},Ct={type:25},Qt={type:24},yt={type:26},Ut={type:27},Ft={type:28},bt={type:29},vt={type:31},Et={type:32},Ht=function(){function A(){this._value=[]}return A.prototype.write=function(A){this._value=this._value.concat(c(A))},A.prototype.read=function(){for(var A=[],e=this.consumeToken();e!==Et;)A.push(e),e=this.consumeToken();return A},A.prototype.consumeToken=function(){var A=this.consumeCodePoint();switch(A){case jA:return this.consumeStringToken(jA);case Ae:var e=this.peekCodePoint(0),t=this.peekCodePoint(1),n=this.peekCodePoint(2);if(et(e)||nt(t,n)){var r=rt(e,t,n)?WA:GA;return{type:5,value:this.consumeName(),flags:r}}break;case ee:if(this.peekCodePoint(0)===qA)return this.consumeCodePoint(),lt;break;case ne:return this.consumeStringToken(ne);case re:return st;case oe:return at;case ye:if(this.peekCodePoint(0)===qA)return this.consumeCodePoint(),wt;break;case Ue:if(ot(A,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(A),this.consumeNumericToken();break;case Fe:return ct;case se:var o=A,i=this.peekCodePoint(0),s=this.peekCodePoint(1);if(ot(o,i,s))return this.reconsumeCodePoint(A),this.consumeNumericToken();if(rt(o,i,s))return this.reconsumeCodePoint(A),this.consumeIdentLikeToken();if(i===se&&s===le)return this.consumeCodePoint(),this.consumeCodePoint(),Qt;break;case Ee:if(ot(A,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(A),this.consumeNumericToken();break;case YA:if(this.peekCodePoint(0)===ye)for(this.consumeCodePoint();;){var a=this.consumeCodePoint();if(a===ye&&(a=this.consumeCodePoint())===YA)return this.consumeToken();if(a===Me)return this.consumeToken()}break;case be:return yt;case ve:return Ut;case ce:if(this.peekCodePoint(0)===ae&&this.peekCodePoint(1)===se&&this.peekCodePoint(2)===se)return this.consumeCodePoint(),this.consumeCodePoint(),Ct;break;case ue:var c=this.peekCodePoint(0),u=this.peekCodePoint(1),h=this.peekCodePoint(2);if(rt(c,u,h))return{type:7,value:this.consumeName()};break;case he:return Ft;case $A:if(nt(A,this.peekCodePoint(0)))return this.reconsumeCodePoint(A),this.consumeIdentLikeToken();break;case ge:return bt;case de:if(this.peekCodePoint(0)===qA)return this.consumeCodePoint(),ut;break;case Be:return Bt;case we:return ft;case Pe:case We:var g=this.peekCodePoint(0),d=this.peekCodePoint(1);return g!==Ue||!Ye(d)&&d!==fe||(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(A),this.consumeIdentLikeToken();case pe:if(this.peekCodePoint(0)===qA)return this.consumeCodePoint(),gt;if(this.peekCodePoint(0)===pe)return this.consumeCodePoint(),ht;break;case me:if(this.peekCodePoint(0)===qA)return this.consumeCodePoint(),dt;break;case Me:return Et}return qe(A)?(this.consumeWhiteSpace(),vt):Xe(A)?(this.reconsumeCodePoint(A),this.consumeNumericToken()):At(A)?(this.reconsumeCodePoint(A),this.consumeIdentLikeToken()):{type:6,value:l(A)}},A.prototype.consumeCodePoint=function(){var A=this._value.shift();return void 0===A?-1:A},A.prototype.reconsumeCodePoint=function(A){this._value.unshift(A)},A.prototype.peekCodePoint=function(A){return A>=this._value.length?-1:this._value[A]},A.prototype.consumeUnicodeRangeToken=function(){for(var A=[],e=this.consumeCodePoint();Ye(e)&&A.length<6;)A.push(e),e=this.consumeCodePoint();for(var t=!1;e===fe&&A.length<6;)A.push(e),e=this.consumeCodePoint(),t=!0;if(t)return{type:30,start:parseInt(l.apply(void 0,A.map(function(A){return A===fe?Ke:A})),16),end:parseInt(l.apply(void 0,A.map(function(A){return A===fe?Ge:A})),16)};var n=parseInt(l.apply(void 0,A),16);if(this.peekCodePoint(0)===se&&Ye(this.peekCodePoint(1))){this.consumeCodePoint(),e=this.consumeCodePoint();for(var r=[];Ye(e)&&r.length<6;)r.push(e),e=this.consumeCodePoint();return{type:30,start:n,end:parseInt(l.apply(void 0,r),16)}}return{type:30,start:n,end:n}},A.prototype.consumeIdentLikeToken=function(){var A=this.consumeName();return"url"===A.toLowerCase()&&this.peekCodePoint(0)===re?(this.consumeCodePoint(),this.consumeUrlToken()):this.peekCodePoint(0)===re?(this.consumeCodePoint(),{type:19,value:A}):{type:20,value:A}},A.prototype.consumeUrlToken=function(){var A=[];if(this.consumeWhiteSpace(),this.peekCodePoint(0)===Me)return{type:22,value:""};var e=this.peekCodePoint(0);if(e===ne||e===jA){var t=this.consumeStringToken(this.consumeCodePoint());return 0===t.type&&(this.consumeWhiteSpace(),this.peekCodePoint(0)===Me||this.peekCodePoint(0)===oe)?(this.consumeCodePoint(),{type:22,value:t.value}):(this.consumeBadUrlRemnants(),pt)}for(;;){var n=this.consumeCodePoint();if(n===Me||n===oe)return{type:22,value:l.apply(void 0,A)};if(qe(n))return this.consumeWhiteSpace(),this.peekCodePoint(0)===Me||this.peekCodePoint(0)===oe?(this.consumeCodePoint(),{type:22,value:l.apply(void 0,A)}):(this.consumeBadUrlRemnants(),pt);if(n===jA||n===ne||n===re||tt(n))return this.consumeBadUrlRemnants(),pt;if(n===$A){if(!nt(n,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),pt;A.push(this.consumeEscapedCodePoint())}else A.push(n)}},A.prototype.consumeWhiteSpace=function(){for(;qe(this.peekCodePoint(0));)this.consumeCodePoint()},A.prototype.consumeBadUrlRemnants=function(){for(;;){var A=this.consumeCodePoint();if(A===oe||A===Me)return;nt(A,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},A.prototype.consumeStringSlice=function(A){for(var e=5e4,t="";A>0;){var n=Math.min(e,A);t+=l.apply(void 0,this._value.splice(0,n)),A-=n}return this._value.shift(),t},A.prototype.consumeStringToken=function(A){for(var e="",t=0;;){var n=this._value[t];if(n===Me||void 0===n||n===A)return{type:0,value:e+=this.consumeStringSlice(t)};if(n===JA)return this._value.splice(0,t),mt;if(n===$A){var r=this._value[t+1];r!==Me&&void 0!==r&&(r===JA?(e+=this.consumeStringSlice(t),t=-1,this._value.shift()):nt(n,r)&&(e+=this.consumeStringSlice(t),e+=l(this.consumeEscapedCodePoint()),t=-1))}t++}},A.prototype.consumeNumber=function(){var A=[],e=_A,t=this.peekCodePoint(0);for(t!==Ue&&t!==se||A.push(this.consumeCodePoint());Xe(this.peekCodePoint(0));)A.push(this.consumeCodePoint());t=this.peekCodePoint(0);var n=this.peekCodePoint(1);if(t===Ee&&Xe(n))for(A.push(this.consumeCodePoint(),this.consumeCodePoint()),e=XA;Xe(this.peekCodePoint(0));)A.push(this.consumeCodePoint());t=this.peekCodePoint(0),n=this.peekCodePoint(1);var r=this.peekCodePoint(2);if((t===Ne||t===Te)&&((n===Ue||n===se)&&Xe(r)||Xe(n)))for(A.push(this.consumeCodePoint(),this.consumeCodePoint()),e=XA;Xe(this.peekCodePoint(0));)A.push(this.consumeCodePoint());return[it(A),e]},A.prototype.consumeNumericToken=function(){var A=this.consumeNumber(),e=A[0],t=A[1],n=this.peekCodePoint(0),r=this.peekCodePoint(1),o=this.peekCodePoint(2);return rt(n,r,o)?{type:15,number:e,flags:t,unit:this.consumeName()}:n===te?(this.consumeCodePoint(),{type:16,number:e,flags:t}):{type:17,number:e,flags:t}},A.prototype.consumeEscapedCodePoint=function(){var A=this.consumeCodePoint();if(Ye(A)){for(var e=l(A);Ye(this.peekCodePoint(0))&&e.length<6;)e+=l(this.consumeCodePoint());qe(this.peekCodePoint(0))&&this.consumeCodePoint();var t=parseInt(e,16);return 0===t||Je(t)||t>1114111?Qe:t}return A===Me?Qe:A},A.prototype.consumeName=function(){for(var A="";;){var e=this.consumeCodePoint();if(et(e))A+=l(e);else{if(!nt(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),A;A+=l(this.consumeEscapedCodePoint())}}},A}(),It=function(){function A(A){this._tokens=A}return A.create=function(e){var t=new Ht;return t.write(e),new A(t.read())},A.parseValue=function(e){return A.create(e).parseComponentValue()},A.parseValues=function(e){return A.create(e).parseComponentValues()},A.prototype.parseComponentValue=function(){for(var A=this.consumeToken();31===A.type;)A=this.consumeToken();if(32===A.type)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(A);var e=this.consumeComponentValue();do{A=this.consumeToken()}while(31===A.type);if(32===A.type)return e;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},A.prototype.parseComponentValues=function(){for(var A=[];;){var e=this.consumeComponentValue();if(32===e.type)return A;A.push(e),A.push()}},A.prototype.consumeComponentValue=function(){var A=this.consumeToken();switch(A.type){case 11:case 28:case 2:return this.consumeSimpleBlock(A.type);case 19:return this.consumeFunction(A)}return A},A.prototype.consumeSimpleBlock=function(A){for(var e={type:A,values:[]},t=this.consumeToken();;){if(32===t.type||Rt(t,A))return e;this.reconsumeToken(t),e.values.push(this.consumeComponentValue()),t=this.consumeToken()}},A.prototype.consumeFunction=function(A){for(var e={name:A.value,values:[],type:18};;){var t=this.consumeToken();if(32===t.type||3===t.type)return e;this.reconsumeToken(t),e.values.push(this.consumeComponentValue())}},A.prototype.consumeToken=function(){var A=this._tokens.shift();return void 0===A?Et:A},A.prototype.reconsumeToken=function(A){this._tokens.unshift(A)},A}(),xt=function(A){return 15===A.type},St=function(A){return 17===A.type},Lt=function(A){return 20===A.type},Dt=function(A){return 0===A.type},Mt=function(A,e){return Lt(A)&&A.value===e},Kt=function(A){return 31!==A.type},kt=function(A){return 31!==A.type&&4!==A.type},Tt=function(A){var e=[],t=[];return A.forEach(function(A){if(4===A.type){if(0===t.length)throw new Error("Error parsing function args, zero tokens for arg");return e.push(t),void(t=[])}31!==A.type&&t.push(A)}),t.length&&e.push(t),e},Rt=function(A,e){return 11===e&&12===A.type||28===e&&29===A.type||2===e&&3===A.type},Pt=function(A){return 17===A.type||15===A.type},Ot=function(A){return 16===A.type||Pt(A)},Vt=function(A){return A.length>1?[A[0],A[1]]:[A[0]]},Nt={type:17,number:0,flags:_A},Gt={type:16,number:50,flags:_A},Wt={type:16,number:100,flags:_A},_t=function(A,e,t){var n=A[0],r=A[1];return[Xt(n,e),Xt(void 0!==r?r:n,t)]},Xt=function(A,e){if(16===A.type)return A.number/100*e;if(xt(A))switch(A.unit){case"rem":case"em":return 16*A.number;default:return A.number}return A.number},Jt="deg",Yt="grad",$t="rad",Zt="turn",zt={name:"angle",parse:function(A,e){if(15===e.type)switch(e.unit){case Jt:return Math.PI*e.number/180;case Yt:return Math.PI/200*e.number;case $t:return e.number;case Zt:return 2*Math.PI*e.number}throw new Error("Unsupported angle type")}},jt=function(A){return 15===A.type&&(A.unit===Jt||A.unit===Yt||A.unit===$t||A.unit===Zt)},qt=function(A){switch(A.filter(Lt).map(function(A){return A.value}).join(" ")){case"to bottom right":case"to right bottom":case"left top":case"top left":return[Nt,Nt];case"to top":case"bottom":return An(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[Nt,Wt];case"to right":case"left":return An(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[Wt,Wt];case"to bottom":case"top":return An(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[Wt,Nt];case"to left":case"right":return An(270)}return 0},An=function(A){return Math.PI*A/180},en={name:"color",parse:function(A,e){if(18===e.type){var t=ln[e.name];if(void 0===t)throw new Error('Attempting to parse an unsupported color function "'+e.name+'"');return t(A,e.values)}if(5===e.type){if(3===e.value.length){var n=e.value.substring(0,1),r=e.value.substring(1,2),o=e.value.substring(2,3);return rn(parseInt(n+n,16),parseInt(r+r,16),parseInt(o+o,16),1)}if(4===e.value.length){n=e.value.substring(0,1),r=e.value.substring(1,2),o=e.value.substring(2,3);var i=e.value.substring(3,4);return rn(parseInt(n+n,16),parseInt(r+r,16),parseInt(o+o,16),parseInt(i+i,16)/255)}if(6===e.value.length)return n=e.value.substring(0,2),r=e.value.substring(2,4),o=e.value.substring(4,6),rn(parseInt(n,16),parseInt(r,16),parseInt(o,16),1);if(8===e.value.length)return n=e.value.substring(0,2),r=e.value.substring(2,4),o=e.value.substring(4,6),i=e.value.substring(6,8),rn(parseInt(n,16),parseInt(r,16),parseInt(o,16),parseInt(i,16)/255)}if(20===e.type){var s=hn[e.value.toUpperCase()];if(void 0!==s)return s}return hn.TRANSPARENT}},tn=function(A){return!(255&A)},nn=function(A){var e=255&A,t=255&A>>8,n=255&A>>16,r=255&A>>24;return e<255?"rgba("+r+","+n+","+t+","+e/255+")":"rgb("+r+","+n+","+t+")"},rn=function(A,e,t,n){return(A<<24|e<<16|t<<8|Math.round(255*n))>>>0},on=function(A,e){if(17===A.type)return A.number;if(16===A.type){var t=3===e?1:255;return 3===e?A.number/100*t:Math.round(A.number/100*t)}return 0},sn=function(A,e){var t=e.filter(kt);if(3===t.length){var n=t.map(on),r=n[0],o=n[1],i=n[2];return rn(r,o,i,1)}if(4===t.length){var s=t.map(on),a=(r=s[0],o=s[1],i=s[2],s[3]);return rn(r,o,i,a)}return 0};function an(A,e,t){return t<0&&(t+=1),t>=1&&(t-=1),t<1/6?(e-A)*t*6+A:t<.5?e:t<2/3?6*(e-A)*(2/3-t)+A:A}var cn=function(A,e){var t=e.filter(kt),n=t[0],r=t[1],o=t[2],i=t[3],s=(17===n.type?An(n.number):zt.parse(A,n))/(2*Math.PI),a=Ot(r)?r.number/100:0,c=Ot(o)?o.number/100:0,l=void 0!==i&&Ot(i)?Xt(i,1):1;if(0===a)return rn(255*c,255*c,255*c,1);var u=c<=.5?c*(a+1):c+a-c*a,h=2*c-u,g=an(h,u,s+1/3),d=an(h,u,s),B=an(h,u,s-1/3);return rn(255*g,255*d,255*B,l)},ln={hsl:cn,hsla:cn,rgb:sn,rgba:sn},un=function(A,e){return en.parse(A,It.create(e).parseComponentValue())},hn={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},gn={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(A,e){return e.map(function(A){if(Lt(A))switch(A.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},dn={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},Bn=function(A,e){var t=en.parse(A,e[0]),n=e[1];return n&&Ot(n)?{color:t,stop:n}:{color:t,stop:null}},fn=function(A,e){var t=A[0],n=A[A.length-1];null===t.stop&&(t.stop=Nt),null===n.stop&&(n.stop=Wt);for(var r=[],o=0,i=0;i<A.length;i++){var s=A[i].stop;if(null!==s){var a=Xt(s,e);a>o?r.push(a):r.push(o),o=a}else r.push(null)}var c=null;for(i=0;i<r.length;i++){var l=r[i];if(null===l)null===c&&(c=i);else if(null!==c){for(var u=i-c,h=(l-r[c-1])/(u+1),g=1;g<=u;g++)r[c+g-1]=h*g;c=null}}return A.map(function(A,t){return{color:A.color,stop:Math.max(Math.min(1,r[t]/e),0)}})},wn=function(A,e,t){var n=e/2,r=t/2,o=Xt(A[0],e)-n,i=r-Xt(A[1],t);return(Math.atan2(i,o)+2*Math.PI)%(2*Math.PI)},pn=function(A,e,t){var n="number"==typeof A?A:wn(A,e,t),r=Math.abs(e*Math.sin(n))+Math.abs(t*Math.cos(n)),o=e/2,i=t/2,s=r/2,a=Math.sin(n-Math.PI/2)*s,c=Math.cos(n-Math.PI/2)*s;return[r,o-c,o+c,i-a,i+a]},mn=function(A,e){return Math.sqrt(A*A+e*e)},Cn=function(A,e,t,n,r){return[[0,0],[0,e],[A,0],[A,e]].reduce(function(A,e){var o=e[0],i=e[1],s=mn(t-o,n-i);return(r?s<A.optimumDistance:s>A.optimumDistance)?{optimumCorner:e,optimumDistance:s}:A},{optimumDistance:r?1/0:-1/0,optimumCorner:null}).optimumCorner},Qn=function(A,e,t,n,r){var o=0,i=0;switch(A.size){case 0:0===A.shape?o=i=Math.min(Math.abs(e),Math.abs(e-n),Math.abs(t),Math.abs(t-r)):1===A.shape&&(o=Math.min(Math.abs(e),Math.abs(e-n)),i=Math.min(Math.abs(t),Math.abs(t-r)));break;case 2:if(0===A.shape)o=i=Math.min(mn(e,t),mn(e,t-r),mn(e-n,t),mn(e-n,t-r));else if(1===A.shape){var s=Math.min(Math.abs(t),Math.abs(t-r))/Math.min(Math.abs(e),Math.abs(e-n)),a=Cn(n,r,e,t,!0),c=a[0],l=a[1];i=s*(o=mn(c-e,(l-t)/s))}break;case 1:0===A.shape?o=i=Math.max(Math.abs(e),Math.abs(e-n),Math.abs(t),Math.abs(t-r)):1===A.shape&&(o=Math.max(Math.abs(e),Math.abs(e-n)),i=Math.max(Math.abs(t),Math.abs(t-r)));break;case 3:if(0===A.shape)o=i=Math.max(mn(e,t),mn(e,t-r),mn(e-n,t),mn(e-n,t-r));else if(1===A.shape){s=Math.max(Math.abs(t),Math.abs(t-r))/Math.max(Math.abs(e),Math.abs(e-n));var u=Cn(n,r,e,t,!1);c=u[0],l=u[1],i=s*(o=mn(c-e,(l-t)/s))}}return Array.isArray(A.size)&&(o=Xt(A.size[0],n),i=2===A.size.length?Xt(A.size[1],r):o),[o,i]},yn=function(A,e){var t=An(180),n=[];return Tt(e).forEach(function(e,r){if(0===r){var o=e[0];if(20===o.type&&-1!==["top","left","right","bottom"].indexOf(o.value))return void(t=qt(e));if(jt(o))return void(t=(zt.parse(A,o)+An(270))%An(360))}var i=Bn(A,e);n.push(i)}),{angle:t,stops:n,type:1}},Un="closest-side",Fn="farthest-side",bn="closest-corner",vn="farthest-corner",En="circle",Hn="ellipse",In="cover",xn="contain",Sn=function(A,e){var t=0,n=3,r=[],o=[];return Tt(e).forEach(function(e,i){var s=!0;if(0===i?s=e.reduce(function(A,e){if(Lt(e))switch(e.value){case"center":return o.push(Gt),!1;case"top":case"left":return o.push(Nt),!1;case"right":case"bottom":return o.push(Wt),!1}else if(Ot(e)||Pt(e))return o.push(e),!1;return A},s):1===i&&(s=e.reduce(function(A,e){if(Lt(e))switch(e.value){case En:return t=0,!1;case Hn:return t=1,!1;case xn:case Un:return n=0,!1;case Fn:return n=1,!1;case bn:return n=2,!1;case In:case vn:return n=3,!1}else if(Pt(e)||Ot(e))return Array.isArray(n)||(n=[]),n.push(e),!1;return A},s)),s){var a=Bn(A,e);r.push(a)}}),{size:n,shape:t,stops:r,position:o,type:2}},Ln=function(A){return 1===A.type},Dn=function(A){return 2===A.type},Mn={name:"image",parse:function(A,e){if(22===e.type){var t={url:e.value,type:0};return A.cache.addImage(e.value),t}if(18===e.type){var n=Tn[e.name];if(void 0===n)throw new Error('Attempting to parse an unsupported image function "'+e.name+'"');return n(A,e.values)}throw new Error("Unsupported image type "+e.type)}};function Kn(A){return!(20===A.type&&"none"===A.value||18===A.type&&!Tn[A.name])}var kn,Tn={"linear-gradient":function(A,e){var t=An(180),n=[];return Tt(e).forEach(function(e,r){if(0===r){var o=e[0];if(20===o.type&&"to"===o.value)return void(t=qt(e));if(jt(o))return void(t=zt.parse(A,o))}var i=Bn(A,e);n.push(i)}),{angle:t,stops:n,type:1}},"-moz-linear-gradient":yn,"-ms-linear-gradient":yn,"-o-linear-gradient":yn,"-webkit-linear-gradient":yn,"radial-gradient":function(A,e){var t=0,n=3,r=[],o=[];return Tt(e).forEach(function(e,i){var s=!0;if(0===i){var a=!1;s=e.reduce(function(A,e){if(a)if(Lt(e))switch(e.value){case"center":return o.push(Gt),A;case"top":case"left":return o.push(Nt),A;case"right":case"bottom":return o.push(Wt),A}else(Ot(e)||Pt(e))&&o.push(e);else if(Lt(e))switch(e.value){case En:return t=0,!1;case Hn:return t=1,!1;case"at":return a=!0,!1;case Un:return n=0,!1;case In:case Fn:return n=1,!1;case xn:case bn:return n=2,!1;case vn:return n=3,!1}else if(Pt(e)||Ot(e))return Array.isArray(n)||(n=[]),n.push(e),!1;return A},s)}if(s){var c=Bn(A,e);r.push(c)}}),{size:n,shape:t,stops:r,position:o,type:2}},"-moz-radial-gradient":Sn,"-ms-radial-gradient":Sn,"-o-radial-gradient":Sn,"-webkit-radial-gradient":Sn,"-webkit-gradient":function(A,e){var t=An(180),n=[],r=1,o=0,i=3,s=[];return Tt(e).forEach(function(e,t){var o=e[0];if(0===t){if(Lt(o)&&"linear"===o.value)return void(r=1);if(Lt(o)&&"radial"===o.value)return void(r=2)}if(18===o.type)if("from"===o.name){var i=en.parse(A,o.values[0]);n.push({stop:Nt,color:i})}else if("to"===o.name)i=en.parse(A,o.values[0]),n.push({stop:Wt,color:i});else if("color-stop"===o.name){var s=o.values.filter(kt);if(2===s.length){i=en.parse(A,s[1]);var a=s[0];St(a)&&n.push({stop:{type:16,number:100*a.number,flags:a.flags},color:i})}}}),1===r?{angle:(t+An(180))%An(360),stops:n,type:r}:{size:i,shape:o,stops:n,position:s,type:r}}},Rn={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(A,e){if(0===e.length)return[];var t=e[0];return 20===t.type&&"none"===t.value?[]:e.filter(function(A){return kt(A)&&Kn(A)}).map(function(e){return Mn.parse(A,e)})}},Pn={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(A,e){return e.map(function(A){if(Lt(A))switch(A.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},On={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(A,e){return Tt(e).map(function(A){return A.filter(Ot)}).map(Vt)}},Vn={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(A,e){return Tt(e).map(function(A){return A.filter(Lt).map(function(A){return A.value}).join(" ")}).map(Nn)}},Nn=function(A){switch(A){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;default:return 0}};!function(A){A.AUTO="auto",A.CONTAIN="contain",A.COVER="cover"}(kn||(kn={}));var Gn,Wn={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(A,e){return Tt(e).map(function(A){return A.filter(_n)})}},_n=function(A){return Lt(A)||Ot(A)},Xn=function(A){return{name:"border-"+A+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},Jn=Xn("top"),Yn=Xn("right"),$n=Xn("bottom"),Zn=Xn("left"),zn=function(A){return{name:"border-radius-"+A,initialValue:"0 0",prefix:!1,type:1,parse:function(A,e){return Vt(e.filter(Ot))}}},jn=zn("top-left"),qn=zn("top-right"),Ar=zn("bottom-right"),er=zn("bottom-left"),tr=function(A){return{name:"border-"+A+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(A,e){switch(e){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},nr=tr("top"),rr=tr("right"),or=tr("bottom"),ir=tr("left"),sr=function(A){return{name:"border-"+A+"-width",initialValue:"0",type:0,prefix:!1,parse:function(A,e){return xt(e)?e.number:0}}},ar=sr("top"),cr=sr("right"),lr=sr("bottom"),ur=sr("left"),hr={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},gr={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(A,e){return"rtl"===e?1:0}},dr={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(A,e){return e.filter(Lt).reduce(function(A,e){return A|Br(e.value)},0)}},Br=function(A){switch(A){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0},fr={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(A,e){switch(e){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},wr={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(A,e){return 20===e.type&&"normal"===e.value?0:17===e.type||15===e.type?e.number:0}};!function(A){A.NORMAL="normal",A.STRICT="strict"}(Gn||(Gn={}));var pr,mr={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(A,e){return"strict"===e?Gn.STRICT:Gn.NORMAL}},Cr={name:"line-height",initialValue:"normal",prefix:!1,type:4},Qr=function(A,e){return Lt(A)&&"normal"===A.value?1.2*e:17===A.type?e*A.number:Ot(A)?Xt(A,e):e},yr={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(A,e){return 20===e.type&&"none"===e.value?null:Mn.parse(A,e)}},Ur={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(A,e){return"inside"===e?0:1}},Fr={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(A,e){switch(e){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;default:return-1}}},br=function(A){return{name:"margin-"+A,initialValue:"0",prefix:!1,type:4}},vr=br("top"),Er=br("right"),Hr=br("bottom"),Ir=br("left"),xr={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(A,e){return e.filter(Lt).map(function(A){switch(A.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;default:return 0}})}},Sr={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(A,e){return"break-word"===e?"break-word":"normal"}},Lr=function(A){return{name:"padding-"+A,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},Dr=Lr("top"),Mr=Lr("right"),Kr=Lr("bottom"),kr=Lr("left"),Tr={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(A,e){switch(e){case"right":return 2;case"center":case"justify":return 1;default:return 0}}},Rr={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(A,e){switch(e){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},Pr={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(A,e){return 1===e.length&&Mt(e[0],"none")?[]:Tt(e).map(function(e){for(var t={color:hn.TRANSPARENT,offsetX:Nt,offsetY:Nt,blur:Nt},n=0,r=0;r<e.length;r++){var o=e[r];Pt(o)?(0===n?t.offsetX=o:1===n?t.offsetY=o:t.blur=o,n++):t.color=en.parse(A,o)}return t})}},Or={name:"text-transform",initialValue:"none",prefix:!1,type:2,parse:function(A,e){switch(e){case"uppercase":return 2;case"lowercase":return 1;case"capitalize":return 3}return 0}},Vr={name:"transform",initialValue:"none",prefix:!0,type:0,parse:function(A,e){if(20===e.type&&"none"===e.value)return null;if(18===e.type){var t=Nr[e.name];if(void 0===t)throw new Error('Attempting to parse an unsupported transform function "'+e.name+'"');return t(e.values)}return null}},Nr={matrix:function(A){var e=A.filter(function(A){return 17===A.type}).map(function(A){return A.number});return 6===e.length?e:null},matrix3d:function(A){var e=A.filter(function(A){return 17===A.type}).map(function(A){return A.number}),t=e[0],n=e[1];e[2],e[3];var r=e[4],o=e[5];e[6],e[7],e[8],e[9],e[10],e[11];var i=e[12],s=e[13];return e[14],e[15],16===e.length?[t,n,r,o,i,s]:null}},Gr={type:16,number:50,flags:_A},Wr=[Gr,Gr],_r={name:"transform-origin",initialValue:"50% 50%",prefix:!0,type:1,parse:function(A,e){var t=e.filter(Ot);return 2!==t.length?Wr:[t[0],t[1]]}},Xr={name:"visible",initialValue:"none",prefix:!1,type:2,parse:function(A,e){switch(e){case"hidden":return 1;case"collapse":return 2;default:return 0}}};!function(A){A.NORMAL="normal",A.BREAK_ALL="break-all",A.KEEP_ALL="keep-all"}(pr||(pr={}));for(var Jr={name:"word-break",initialValue:"normal",prefix:!1,type:2,parse:function(A,e){switch(e){case"break-all":return pr.BREAK_ALL;case"keep-all":return pr.KEEP_ALL;default:return pr.NORMAL}}},Yr={name:"z-index",initialValue:"auto",prefix:!1,type:0,parse:function(A,e){if(20===e.type)return{auto:!0,order:0};if(St(e))return{auto:!1,order:e.number};throw new Error("Invalid z-index number parsed")}},$r={name:"time",parse:function(A,e){if(15===e.type)switch(e.unit.toLowerCase()){case"s":return 1e3*e.number;case"ms":return e.number}throw new Error("Unsupported time type")}},Zr={name:"opacity",initialValue:"1",type:0,prefix:!1,parse:function(A,e){return St(e)?e.number:1}},zr={name:"text-decoration-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},jr={name:"text-decoration-line",initialValue:"none",prefix:!1,type:1,parse:function(A,e){return e.filter(Lt).map(function(A){switch(A.value){case"underline":return 1;case"overline":return 2;case"line-through":return 3;case"none":return 4}return 0}).filter(function(A){return 0!==A})}},qr={name:"font-family",initialValue:"",prefix:!1,type:1,parse:function(A,e){var t=[],n=[];return e.forEach(function(A){switch(A.type){case 20:case 0:t.push(A.value);break;case 17:t.push(A.number.toString());break;case 4:n.push(t.join(" ")),t.length=0}}),t.length&&n.push(t.join(" ")),n.map(function(A){return-1===A.indexOf(" ")?A:"'"+A+"'"})}},Ao={name:"font-size",initialValue:"0",prefix:!1,type:3,format:"length"},eo={name:"font-weight",initialValue:"normal",type:0,prefix:!1,parse:function(A,e){return St(e)?e.number:Lt(e)&&"bold"===e.value?700:400}},to={name:"font-variant",initialValue:"none",type:1,prefix:!1,parse:function(A,e){return e.filter(Lt).map(function(A){return A.value})}},no={name:"font-style",initialValue:"normal",prefix:!1,type:2,parse:function(A,e){switch(e){case"oblique":return"oblique";case"italic":return"italic";default:return"normal"}}},ro=function(A,e){return 0!==(A&e)},oo={name:"content",initialValue:"none",type:1,prefix:!1,parse:function(A,e){if(0===e.length)return[];var t=e[0];return 20===t.type&&"none"===t.value?[]:e}},io={name:"counter-increment",initialValue:"none",prefix:!0,type:1,parse:function(A,e){if(0===e.length)return null;var t=e[0];if(20===t.type&&"none"===t.value)return null;for(var n=[],r=e.filter(Kt),o=0;o<r.length;o++){var i=r[o],s=r[o+1];if(20===i.type){var a=s&&St(s)?s.number:1;n.push({counter:i.value,increment:a})}}return n}},so={name:"counter-reset",initialValue:"none",prefix:!0,type:1,parse:function(A,e){if(0===e.length)return[];for(var t=[],n=e.filter(Kt),r=0;r<n.length;r++){var o=n[r],i=n[r+1];if(Lt(o)&&"none"!==o.value){var s=i&&St(i)?i.number:0;t.push({counter:o.value,reset:s})}}return t}},ao={name:"duration",initialValue:"0s",prefix:!1,type:1,parse:function(A,e){return e.filter(xt).map(function(e){return $r.parse(A,e)})}},co={name:"quotes",initialValue:"none",prefix:!0,type:1,parse:function(A,e){if(0===e.length)return null;var t=e[0];if(20===t.type&&"none"===t.value)return null;var n=[],r=e.filter(Dt);if(r.length%2!=0)return null;for(var o=0;o<r.length;o+=2){var i=r[o].value,s=r[o+1].value;n.push({open:i,close:s})}return n}},lo=function(A,e,t){if(!A)return"";var n=A[Math.min(e,A.length-1)];return n?t?n.open:n.close:""},uo={name:"box-shadow",initialValue:"none",type:1,prefix:!1,parse:function(A,e){return 1===e.length&&Mt(e[0],"none")?[]:Tt(e).map(function(e){for(var t={color:255,offsetX:Nt,offsetY:Nt,blur:Nt,spread:Nt,inset:!1},n=0,r=0;r<e.length;r++){var o=e[r];Mt(o,"inset")?t.inset=!0:Pt(o)?(0===n?t.offsetX=o:1===n?t.offsetY=o:2===n?t.blur=o:t.spread=o,n++):t.color=en.parse(A,o)}return t})}},ho={name:"paint-order",initialValue:"normal",prefix:!1,type:1,parse:function(A,e){var t=[0,1,2],n=[];return e.filter(Lt).forEach(function(A){switch(A.value){case"stroke":n.push(1);break;case"fill":n.push(0);break;case"markers":n.push(2)}}),t.forEach(function(A){-1===n.indexOf(A)&&n.push(A)}),n}},go={name:"-webkit-text-stroke-color",initialValue:"currentcolor",prefix:!1,type:3,format:"color"},Bo={name:"-webkit-text-stroke-width",initialValue:"0",type:0,prefix:!1,parse:function(A,e){return xt(e)?e.number:0}},fo=function(){function A(A,e){var t,n;this.animationDuration=mo(A,ao,e.animationDuration),this.backgroundClip=mo(A,gn,e.backgroundClip),this.backgroundColor=mo(A,dn,e.backgroundColor),this.backgroundImage=mo(A,Rn,e.backgroundImage),this.backgroundOrigin=mo(A,Pn,e.backgroundOrigin),this.backgroundPosition=mo(A,On,e.backgroundPosition),this.backgroundRepeat=mo(A,Vn,e.backgroundRepeat),this.backgroundSize=mo(A,Wn,e.backgroundSize),this.borderTopColor=mo(A,Jn,e.borderTopColor),this.borderRightColor=mo(A,Yn,e.borderRightColor),this.borderBottomColor=mo(A,$n,e.borderBottomColor),this.borderLeftColor=mo(A,Zn,e.borderLeftColor),this.borderTopLeftRadius=mo(A,jn,e.borderTopLeftRadius),this.borderTopRightRadius=mo(A,qn,e.borderTopRightRadius),this.borderBottomRightRadius=mo(A,Ar,e.borderBottomRightRadius),this.borderBottomLeftRadius=mo(A,er,e.borderBottomLeftRadius),this.borderTopStyle=mo(A,nr,e.borderTopStyle),this.borderRightStyle=mo(A,rr,e.borderRightStyle),this.borderBottomStyle=mo(A,or,e.borderBottomStyle),this.borderLeftStyle=mo(A,ir,e.borderLeftStyle),this.borderTopWidth=mo(A,ar,e.borderTopWidth),this.borderRightWidth=mo(A,cr,e.borderRightWidth),this.borderBottomWidth=mo(A,lr,e.borderBottomWidth),this.borderLeftWidth=mo(A,ur,e.borderLeftWidth),this.boxShadow=mo(A,uo,e.boxShadow),this.color=mo(A,hr,e.color),this.direction=mo(A,gr,e.direction),this.display=mo(A,dr,e.display),this.float=mo(A,fr,e.cssFloat),this.fontFamily=mo(A,qr,e.fontFamily),this.fontSize=mo(A,Ao,e.fontSize),this.fontStyle=mo(A,no,e.fontStyle),this.fontVariant=mo(A,to,e.fontVariant),this.fontWeight=mo(A,eo,e.fontWeight),this.letterSpacing=mo(A,wr,e.letterSpacing),this.lineBreak=mo(A,mr,e.lineBreak),this.lineHeight=mo(A,Cr,e.lineHeight),this.listStyleImage=mo(A,yr,e.listStyleImage),this.listStylePosition=mo(A,Ur,e.listStylePosition),this.listStyleType=mo(A,Fr,e.listStyleType),this.marginTop=mo(A,vr,e.marginTop),this.marginRight=mo(A,Er,e.marginRight),this.marginBottom=mo(A,Hr,e.marginBottom),this.marginLeft=mo(A,Ir,e.marginLeft),this.opacity=mo(A,Zr,e.opacity);var r=mo(A,xr,e.overflow);this.overflowX=r[0],this.overflowY=r[r.length>1?1:0],this.overflowWrap=mo(A,Sr,e.overflowWrap),this.paddingTop=mo(A,Dr,e.paddingTop),this.paddingRight=mo(A,Mr,e.paddingRight),this.paddingBottom=mo(A,Kr,e.paddingBottom),this.paddingLeft=mo(A,kr,e.paddingLeft),this.paintOrder=mo(A,ho,e.paintOrder),this.position=mo(A,Rr,e.position),this.textAlign=mo(A,Tr,e.textAlign),this.textDecorationColor=mo(A,zr,null!==(t=e.textDecorationColor)&&void 0!==t?t:e.color),this.textDecorationLine=mo(A,jr,null!==(n=e.textDecorationLine)&&void 0!==n?n:e.textDecoration),this.textShadow=mo(A,Pr,e.textShadow),this.textTransform=mo(A,Or,e.textTransform),this.transform=mo(A,Vr,e.transform),this.transformOrigin=mo(A,_r,e.transformOrigin),this.visibility=mo(A,Xr,e.visibility),this.webkitTextStrokeColor=mo(A,go,e.webkitTextStrokeColor),this.webkitTextStrokeWidth=mo(A,Bo,e.webkitTextStrokeWidth),this.wordBreak=mo(A,Jr,e.wordBreak),this.zIndex=mo(A,Yr,e.zIndex)}return A.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&0===this.visibility},A.prototype.isTransparent=function(){return tn(this.backgroundColor)},A.prototype.isTransformed=function(){return null!==this.transform},A.prototype.isPositioned=function(){return 0!==this.position},A.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},A.prototype.isFloating=function(){return 0!==this.float},A.prototype.isInlineLevel=function(){return ro(this.display,4)||ro(this.display,33554432)||ro(this.display,268435456)||ro(this.display,536870912)||ro(this.display,67108864)||ro(this.display,134217728)},A}(),wo=function(){function A(A,e){this.content=mo(A,oo,e.content),this.quotes=mo(A,co,e.quotes)}return A}(),po=function(){function A(A,e){this.counterIncrement=mo(A,io,e.counterIncrement),this.counterReset=mo(A,so,e.counterReset)}return A}(),mo=function(A,e,t){var n=new Ht,r=null!=t?t.toString():e.initialValue;n.write(r);var o=new It(n.read());switch(e.type){case 2:var i=o.parseComponentValue();return e.parse(A,Lt(i)?i.value:e.initialValue);case 0:return e.parse(A,o.parseComponentValue());case 1:return e.parse(A,o.parseComponentValues());case 4:return o.parseComponentValue();case 3:switch(e.format){case"angle":return zt.parse(A,o.parseComponentValue());case"color":return en.parse(A,o.parseComponentValue());case"image":return Mn.parse(A,o.parseComponentValue());case"length":var s=o.parseComponentValue();return Pt(s)?s:Nt;case"length-percentage":var a=o.parseComponentValue();return Ot(a)?a:Nt;case"time":return $r.parse(A,o.parseComponentValue())}}},Co="data-html2canvas-debug",Qo=function(A){switch(A.getAttribute(Co)){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}},yo=function(A,e){var t=Qo(A);return 1===t||e===t},Uo=function(){function A(A,e){this.context=A,this.textNodes=[],this.elements=[],this.flags=0,yo(e,3),this.styles=new fo(A,window.getComputedStyle(e,null)),ls(e)&&(this.styles.animationDuration.some(function(A){return A>0})&&(e.style.animationDuration="0s"),null!==this.styles.transform&&(e.style.transform="none")),this.bounds=s(this.context,e),yo(e,4)&&(this.flags|=16)}return A}(),Fo="AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=",bo="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",vo="undefined"==typeof Uint8Array?[]:new Uint8Array(256),Eo=0;Eo<bo.length;Eo++)vo[bo.charCodeAt(Eo)]=Eo;for(var Ho=function(A){var e,t,n,r,o,i=.75*A.length,s=A.length,a=0;"="===A[A.length-1]&&(i--,"="===A[A.length-2]&&i--);var c="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(i):new Array(i),l=Array.isArray(c)?c:new Uint8Array(c);for(e=0;e<s;e+=4)t=vo[A.charCodeAt(e)],n=vo[A.charCodeAt(e+1)],r=vo[A.charCodeAt(e+2)],o=vo[A.charCodeAt(e+3)],l[a++]=t<<2|n>>4,l[a++]=(15&n)<<4|r>>2,l[a++]=(3&r)<<6|63&o;return c},Io=function(A){for(var e=A.length,t=[],n=0;n<e;n+=2)t.push(A[n+1]<<8|A[n]);return t},xo=function(A){for(var e=A.length,t=[],n=0;n<e;n+=4)t.push(A[n+3]<<24|A[n+2]<<16|A[n+1]<<8|A[n]);return t},So=5,Lo=11,Do=2,Mo=65536>>So,Ko=(1<<So)-1,ko=Mo+(1024>>So)+32,To=65536>>Lo,Ro=(1<<Lo-So)-1,Po=function(A,e,t){return A.slice?A.slice(e,t):new Uint16Array(Array.prototype.slice.call(A,e,t))},Oo=function(A,e,t){return A.slice?A.slice(e,t):new Uint32Array(Array.prototype.slice.call(A,e,t))},Vo=function(A,e){var t=Ho(A),n=Array.isArray(t)?xo(t):new Uint32Array(t),r=Array.isArray(t)?Io(t):new Uint16Array(t),o=24,i=Po(r,o/2,n[4]/2),s=2===n[5]?Po(r,(o+n[4])/2):Oo(n,Math.ceil((o+n[4])/4));return new No(n[0],n[1],n[2],n[3],i,s)},No=function(){function A(A,e,t,n,r,o){this.initialValue=A,this.errorValue=e,this.highStart=t,this.highValueIndex=n,this.index=r,this.data=o}return A.prototype.get=function(A){var e;if(A>=0){if(A<55296||A>56319&&A<=65535)return e=((e=this.index[A>>So])<<Do)+(A&Ko),this.data[e];if(A<=65535)return e=((e=this.index[Mo+(A-55296>>So)])<<Do)+(A&Ko),this.data[e];if(A<this.highStart)return e=ko-To+(A>>Lo),e=this.index[e],e+=A>>So&Ro,e=((e=this.index[e])<<Do)+(A&Ko),this.data[e];if(A<=1114111)return this.data[this.highValueIndex]}return this.errorValue},A}(),Go="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Wo="undefined"==typeof Uint8Array?[]:new Uint8Array(256),_o=0;_o<Go.length;_o++)Wo[Go.charCodeAt(_o)]=_o;var Xo,Jo=1,Yo=2,$o=3,Zo=4,zo=5,jo=7,qo=8,Ai=9,ei=10,ti=11,ni=12,ri=13,oi=14,ii=15,si=function(A){for(var e=[],t=0,n=A.length;t<n;){var r=A.charCodeAt(t++);if(r>=55296&&r<=56319&&t<n){var o=A.charCodeAt(t++);56320==(64512&o)?e.push(((1023&r)<<10)+(1023&o)+65536):(e.push(r),t--)}else e.push(r)}return e},ai=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];if(String.fromCodePoint)return String.fromCodePoint.apply(String,A);var t=A.length;if(!t)return"";for(var n=[],r=-1,o="";++r<t;){var i=A[r];i<=65535?n.push(i):(i-=65536,n.push(55296+(i>>10),i%1024+56320)),(r+1===t||n.length>16384)&&(o+=String.fromCharCode.apply(String,n),n.length=0)}return o},ci=Vo(Fo),li="×",ui="÷",hi=function(A){return ci.get(A)},gi=function(A,e,t){var n=t-2,r=e[n],o=e[t-1],i=e[t];if(o===Yo&&i===$o)return li;if(o===Yo||o===$o||o===Zo)return ui;if(i===Yo||i===$o||i===Zo)return ui;if(o===qo&&-1!==[qo,Ai,ti,ni].indexOf(i))return li;if(!(o!==ti&&o!==Ai||i!==Ai&&i!==ei))return li;if((o===ni||o===ei)&&i===ei)return li;if(i===ri||i===zo)return li;if(i===jo)return li;if(o===Jo)return li;if(o===ri&&i===oi){for(;r===zo;)r=e[--n];if(r===oi)return li}if(o===ii&&i===ii){for(var s=0;r===ii;)s++,r=e[--n];if(s%2==0)return li}return ui},di=function(A){var e=si(A),t=e.length,n=0,r=0,o=e.map(hi);return{next:function(){if(n>=t)return{done:!0,value:null};for(var A=li;n<t&&(A=gi(e,o,++n))===li;);if(A!==li||n===t){var i=ai.apply(null,e.slice(r,n));return r=n,{value:i,done:!1}}return{done:!0,value:null}}}},Bi=function(A){for(var e,t=di(A),n=[];!(e=t.next()).done;)e.value&&n.push(e.value.slice());return n},fi=function(A){var e=123;if(A.createRange){var t=A.createRange();if(t.getBoundingClientRect){var n=A.createElement("boundtest");n.style.height=e+"px",n.style.display="block",A.body.appendChild(n),t.selectNode(n);var r=t.getBoundingClientRect(),o=Math.round(r.height);if(A.body.removeChild(n),o===e)return!0}}return!1},wi=function(A){var e=A.createElement("boundtest");e.style.width="50px",e.style.display="block",e.style.fontSize="12px",e.style.letterSpacing="0px",e.style.wordSpacing="0px",A.body.appendChild(e);var t=A.createRange();e.innerHTML="function"==typeof"".repeat?"&#128104;".repeat(10):"";var n=e.firstChild,r=c(n.data).map(function(A){return l(A)}),o=0,i={},s=r.every(function(A,e){t.setStart(n,o),t.setEnd(n,o+A.length);var r=t.getBoundingClientRect();o+=A.length;var s=r.x>i.x||r.y>i.y;return i=r,0===e||s});return A.body.removeChild(e),s},pi=function(){return void 0!==(new Image).crossOrigin},mi=function(){return"string"==typeof(new XMLHttpRequest).responseType},Ci=function(A){var e=new Image,t=A.createElement("canvas"),n=t.getContext("2d");if(!n)return!1;e.src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'></svg>";try{n.drawImage(e,0,0),t.toDataURL()}catch(A){return!1}return!0},Qi=function(A){return 0===A[0]&&255===A[1]&&0===A[2]&&255===A[3]},yi=function(A){var e=A.createElement("canvas"),t=100;e.width=t,e.height=t;var n=e.getContext("2d");if(!n)return Promise.reject(!1);n.fillStyle="rgb(0, 255, 0)",n.fillRect(0,0,t,t);var r=new Image,o=e.toDataURL();r.src=o;var i=Ui(t,t,0,0,r);return n.fillStyle="red",n.fillRect(0,0,t,t),Fi(i).then(function(e){n.drawImage(e,0,0);var r=n.getImageData(0,0,t,t).data;n.fillStyle="red",n.fillRect(0,0,t,t);var i=A.createElement("div");return i.style.backgroundImage="url("+o+")",i.style.height=t+"px",Qi(r)?Fi(Ui(t,t,0,0,i)):Promise.reject(!1)}).then(function(A){return n.drawImage(A,0,0),Qi(n.getImageData(0,0,t,t).data)}).catch(function(){return!1})},Ui=function(A,e,t,n,r){var o="http://www.w3.org/2000/svg",i=document.createElementNS(o,"svg"),s=document.createElementNS(o,"foreignObject");return i.setAttributeNS(null,"width",A.toString()),i.setAttributeNS(null,"height",e.toString()),s.setAttributeNS(null,"width","100%"),s.setAttributeNS(null,"height","100%"),s.setAttributeNS(null,"x",t.toString()),s.setAttributeNS(null,"y",n.toString()),s.setAttributeNS(null,"externalResourcesRequired","true"),i.appendChild(s),s.appendChild(r),i},Fi=function(A){return new Promise(function(e,t){var n=new Image;n.onload=function(){return e(n)},n.onerror=t,n.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent((new XMLSerializer).serializeToString(A))})},bi={get SUPPORT_RANGE_BOUNDS(){var A=fi(document);return Object.defineProperty(bi,"SUPPORT_RANGE_BOUNDS",{value:A}),A},get SUPPORT_WORD_BREAKING(){var A=bi.SUPPORT_RANGE_BOUNDS&&wi(document);return Object.defineProperty(bi,"SUPPORT_WORD_BREAKING",{value:A}),A},get SUPPORT_SVG_DRAWING(){var A=Ci(document);return Object.defineProperty(bi,"SUPPORT_SVG_DRAWING",{value:A}),A},get SUPPORT_FOREIGNOBJECT_DRAWING(){var A="function"==typeof Array.from&&"function"==typeof window.fetch?yi(document):Promise.resolve(!1);return Object.defineProperty(bi,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:A}),A},get SUPPORT_CORS_IMAGES(){var A=pi();return Object.defineProperty(bi,"SUPPORT_CORS_IMAGES",{value:A}),A},get SUPPORT_RESPONSE_TYPE(){var A=mi();return Object.defineProperty(bi,"SUPPORT_RESPONSE_TYPE",{value:A}),A},get SUPPORT_CORS_XHR(){var A="withCredentials"in new XMLHttpRequest;return Object.defineProperty(bi,"SUPPORT_CORS_XHR",{value:A}),A},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var A=!("undefined"==typeof Intl||!Intl.Segmenter);return Object.defineProperty(bi,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:A}),A}},vi=function(){function A(A,e){this.text=A,this.bounds=e}return A}(),Ei=function(A,e,t,n){var r=Li(e,t),o=[],s=0;return r.forEach(function(e){if(t.textDecorationLine.length||e.trim().length>0)if(bi.SUPPORT_RANGE_BOUNDS){var r=Ii(n,s,e.length).getClientRects();if(r.length>1){var a=xi(e),c=0;a.forEach(function(e){o.push(new vi(e,i.fromDOMRectList(A,Ii(n,c+s,e.length).getClientRects()))),c+=e.length})}else o.push(new vi(e,i.fromDOMRectList(A,r)))}else{var l=n.splitText(e.length);o.push(new vi(e,Hi(A,n))),n=l}else bi.SUPPORT_RANGE_BOUNDS||(n=n.splitText(e.length));s+=e.length}),o},Hi=function(A,e){var t=e.ownerDocument;if(t){var n=t.createElement("html2canvaswrapper");n.appendChild(e.cloneNode(!0));var r=e.parentNode;if(r){r.replaceChild(n,e);var o=s(A,n);return n.firstChild&&r.replaceChild(n.firstChild,n),o}}return i.EMPTY},Ii=function(A,e,t){var n=A.ownerDocument;if(!n)throw new Error("Node has no owner document");var r=n.createRange();return r.setStart(A,e),r.setEnd(A,e+t),r},xi=function(A){if(bi.SUPPORT_NATIVE_TEXT_SEGMENTATION){var e=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(e.segment(A)).map(function(A){return A.segment})}return Bi(A)},Si=function(A,e){if(bi.SUPPORT_NATIVE_TEXT_SEGMENTATION){var t=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(t.segment(A)).map(function(A){return A.segment})}return Mi(A,e)},Li=function(A,e){return 0!==e.letterSpacing?xi(A):Si(A,e)},Di=[32,160,4961,65792,65793,4153,4241],Mi=function(A,e){for(var t,n=NA(A,{lineBreak:e.lineBreak,wordBreak:"break-word"===e.overflowWrap?"break-word":e.wordBreak}),r=[],o=function(){if(t.value){var A=t.value.slice(),e=c(A),n="";e.forEach(function(A){-1===Di.indexOf(A)?n+=l(A):(n.length&&r.push(n),r.push(l(A)),n="")}),n.length&&r.push(n)}};!(t=n.next()).done;)o();return r},Ki=function(){function A(A,e,t){this.text=ki(e.data,t.textTransform),this.textBounds=Ei(A,this.text,t,e)}return A}(),ki=function(A,e){switch(e){case 1:return A.toLowerCase();case 3:return A.replace(Ti,Ri);case 2:return A.toUpperCase();default:return A}},Ti=/(^|\s|:|-|\(|\))([a-z])/g,Ri=function(A,e,t){return A.length>0?e+t.toUpperCase():A},Pi=function(A){function t(e,t){var n=A.call(this,e,t)||this;return n.src=t.currentSrc||t.src,n.intrinsicWidth=t.naturalWidth,n.intrinsicHeight=t.naturalHeight,n.context.cache.addImage(n.src),n}return e(t,A),t}(Uo),Oi=function(A){function t(e,t){var n=A.call(this,e,t)||this;return n.canvas=t,n.intrinsicWidth=t.width,n.intrinsicHeight=t.height,n}return e(t,A),t}(Uo),Vi=function(A){function t(e,t){var n=A.call(this,e,t)||this,r=new XMLSerializer,o=s(e,t);return t.setAttribute("width",o.width+"px"),t.setAttribute("height",o.height+"px"),n.svg="data:image/svg+xml,"+encodeURIComponent(r.serializeToString(t)),n.intrinsicWidth=t.width.baseVal.value,n.intrinsicHeight=t.height.baseVal.value,n.context.cache.addImage(n.svg),n}return e(t,A),t}(Uo),Ni=function(A){function t(e,t){var n=A.call(this,e,t)||this;return n.value=t.value,n}return e(t,A),t}(Uo),Gi=function(A){function t(e,t){var n=A.call(this,e,t)||this;return n.start=t.start,n.reversed="boolean"==typeof t.reversed&&!0===t.reversed,n}return e(t,A),t}(Uo),Wi=[{type:15,flags:0,unit:"px",number:3}],_i=[{type:16,flags:0,number:50}],Xi=function(A){return A.width>A.height?new i(A.left+(A.width-A.height)/2,A.top,A.height,A.height):A.width<A.height?new i(A.left,A.top+(A.height-A.width)/2,A.width,A.width):A},Ji=function(A){var e=A.type===Zi?new Array(A.value.length+1).join("•"):A.value;return 0===e.length?A.placeholder||"":e},Yi="checkbox",$i="radio",Zi="password",zi=707406591,ji=function(A){function t(e,t){var n=A.call(this,e,t)||this;switch(n.type=t.type.toLowerCase(),n.checked=t.checked,n.value=Ji(t),n.type!==Yi&&n.type!==$i||(n.styles.backgroundColor=3739148031,n.styles.borderTopColor=n.styles.borderRightColor=n.styles.borderBottomColor=n.styles.borderLeftColor=2779096575,n.styles.borderTopWidth=n.styles.borderRightWidth=n.styles.borderBottomWidth=n.styles.borderLeftWidth=1,n.styles.borderTopStyle=n.styles.borderRightStyle=n.styles.borderBottomStyle=n.styles.borderLeftStyle=1,n.styles.backgroundClip=[0],n.styles.backgroundOrigin=[0],n.bounds=Xi(n.bounds)),n.type){case Yi:n.styles.borderTopRightRadius=n.styles.borderTopLeftRadius=n.styles.borderBottomRightRadius=n.styles.borderBottomLeftRadius=Wi;break;case $i:n.styles.borderTopRightRadius=n.styles.borderTopLeftRadius=n.styles.borderBottomRightRadius=n.styles.borderBottomLeftRadius=_i}return n}return e(t,A),t}(Uo),qi=function(A){function t(e,t){var n=A.call(this,e,t)||this,r=t.options[t.selectedIndex||0];return n.value=r&&r.text||"",n}return e(t,A),t}(Uo),As=function(A){function t(e,t){var n=A.call(this,e,t)||this;return n.value=t.value,n}return e(t,A),t}(Uo),es=function(A){function t(e,t){var n=A.call(this,e,t)||this;n.src=t.src,n.width=parseInt(t.width,10)||0,n.height=parseInt(t.height,10)||0,n.backgroundColor=n.styles.backgroundColor;try{if(t.contentWindow&&t.contentWindow.document&&t.contentWindow.document.documentElement){n.tree=os(e,t.contentWindow.document.documentElement);var r=t.contentWindow.document.documentElement?un(e,getComputedStyle(t.contentWindow.document.documentElement).backgroundColor):hn.TRANSPARENT,o=t.contentWindow.document.body?un(e,getComputedStyle(t.contentWindow.document.body).backgroundColor):hn.TRANSPARENT;n.backgroundColor=tn(r)?tn(o)?n.styles.backgroundColor:o:r}}catch(A){}return n}return e(t,A),t}(Uo),ts=["OL","UL","MENU"],ns=function(A,e,t,n){for(var r=e.firstChild,o=void 0;r;r=o)if(o=r.nextSibling,as(r)&&r.data.trim().length>0)t.textNodes.push(new Ki(A,r,t.styles));else if(cs(r))if(vs(r)&&r.assignedNodes)r.assignedNodes().forEach(function(e){return ns(A,e,t,n)});else{var i=rs(A,r);i.styles.isVisible()&&(is(r,i,n)?i.flags|=4:ss(i.styles)&&(i.flags|=2),-1!==ts.indexOf(r.tagName)&&(i.flags|=8),t.elements.push(i),r.slot,r.shadowRoot?ns(A,r.shadowRoot,i,n):Fs(r)||fs(r)||bs(r)||ns(A,r,i,n))}},rs=function(A,e){return Cs(e)?new Pi(A,e):ps(e)?new Oi(A,e):fs(e)?new Vi(A,e):hs(e)?new Ni(A,e):gs(e)?new Gi(A,e):ds(e)?new ji(A,e):bs(e)?new qi(A,e):Fs(e)?new As(A,e):Qs(e)?new es(A,e):new Uo(A,e)},os=function(A,e){var t=rs(A,e);return t.flags|=4,ns(A,e,t,t),t},is=function(A,e,t){return e.styles.isPositionedWithZIndex()||e.styles.opacity<1||e.styles.isTransformed()||ws(A)&&t.styles.isTransparent()},ss=function(A){return A.isPositioned()||A.isFloating()},as=function(A){return A.nodeType===Node.TEXT_NODE},cs=function(A){return A.nodeType===Node.ELEMENT_NODE},ls=function(A){return cs(A)&&void 0!==A.style&&!us(A)},us=function(A){return"object"==typeof A.className},hs=function(A){return"LI"===A.tagName},gs=function(A){return"OL"===A.tagName},ds=function(A){return"INPUT"===A.tagName},Bs=function(A){return"HTML"===A.tagName},fs=function(A){return"svg"===A.tagName},ws=function(A){return"BODY"===A.tagName},ps=function(A){return"CANVAS"===A.tagName},ms=function(A){return"VIDEO"===A.tagName},Cs=function(A){return"IMG"===A.tagName},Qs=function(A){return"IFRAME"===A.tagName},ys=function(A){return"STYLE"===A.tagName},Us=function(A){return"SCRIPT"===A.tagName},Fs=function(A){return"TEXTAREA"===A.tagName},bs=function(A){return"SELECT"===A.tagName},vs=function(A){return"SLOT"===A.tagName},Es=function(A){return A.tagName.indexOf("-")>0},Hs=function(){function A(){this.counters={}}return A.prototype.getCounterValue=function(A){var e=this.counters[A];return e&&e.length?e[e.length-1]:1},A.prototype.getCounterValues=function(A){var e=this.counters[A];return e||[]},A.prototype.pop=function(A){var e=this;A.forEach(function(A){return e.counters[A].pop()})},A.prototype.parse=function(A){var e=this,t=A.counterIncrement,n=A.counterReset,r=!0;null!==t&&t.forEach(function(A){var t=e.counters[A.counter];t&&0!==A.increment&&(r=!1,t.length||t.push(1),t[Math.max(0,t.length-1)]+=A.increment)});var o=[];return r&&n.forEach(function(A){var t=e.counters[A.counter];o.push(A.counter),t||(t=e.counters[A.counter]=[]),t.push(A.reset)}),o},A}(),Is={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},xs={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},Ss={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},Ls={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},Ds=function(A,e,t,n,r,o){return A<e||A>t?Xs(A,r,o.length>0):n.integers.reduce(function(e,t,r){for(;A>=t;)A-=t,e+=n.values[r];return e},"")+o},Ms=function(A,e,t,n){var r="";do{t||A--,r=n(A)+r,A/=e}while(A*e>=e);return r},Ks=function(A,e,t,n,r){var o=t-e+1;return(A<0?"-":"")+(Ms(Math.abs(A),o,n,function(A){return l(Math.floor(A%o)+e)})+r)},ks=function(A,e,t){void 0===t&&(t=". ");var n=e.length;return Ms(Math.abs(A),n,!1,function(A){return e[Math.floor(A%n)]})+t},Ts=1,Rs=2,Ps=4,Os=8,Vs=function(A,e,t,n,r,o){if(A<-9999||A>9999)return Xs(A,4,r.length>0);var i=Math.abs(A),s=r;if(0===i)return e[0]+s;for(var a=0;i>0&&a<=4;a++){var c=i%10;0===c&&ro(o,Ts)&&""!==s?s=e[c]+s:c>1||1===c&&0===a||1===c&&1===a&&ro(o,Rs)||1===c&&1===a&&ro(o,Ps)&&A>100||1===c&&a>1&&ro(o,Os)?s=e[c]+(a>0?t[a-1]:"")+s:1===c&&a>0&&(s=t[a-1]+s),i=Math.floor(i/10)}return(A<0?n:"")+s},Ns="十百千萬",Gs="拾佰仟萬",Ws="マイナス",_s="마이너스",Xs=function(A,e,t){var n=t?". ":"",r=t?"、":"",o=t?", ":"",i=t?" ":"";switch(e){case 0:return"•"+i;case 1:return"◦"+i;case 2:return"◾"+i;case 5:var s=Ks(A,48,57,!0,n);return s.length<4?"0"+s:s;case 4:return ks(A,"〇一二三四五六七八九",r);case 6:return Ds(A,1,3999,Is,3,n).toLowerCase();case 7:return Ds(A,1,3999,Is,3,n);case 8:return Ks(A,945,969,!1,n);case 9:return Ks(A,97,122,!1,n);case 10:return Ks(A,65,90,!1,n);case 11:return Ks(A,1632,1641,!0,n);case 12:case 49:return Ds(A,1,9999,xs,3,n);case 35:return Ds(A,1,9999,xs,3,n).toLowerCase();case 13:return Ks(A,2534,2543,!0,n);case 14:case 30:return Ks(A,6112,6121,!0,n);case 15:return ks(A,"子丑寅卯辰巳午未申酉戌亥",r);case 16:return ks(A,"甲乙丙丁戊己庚辛壬癸",r);case 17:case 48:return Vs(A,"零一二三四五六七八九",Ns,"負",r,Rs|Ps|Os);case 47:return Vs(A,"零壹貳參肆伍陸柒捌玖",Gs,"負",r,Ts|Rs|Ps|Os);case 42:return Vs(A,"零一二三四五六七八九",Ns,"负",r,Rs|Ps|Os);case 41:return Vs(A,"零壹贰叁肆伍陆柒捌玖",Gs,"负",r,Ts|Rs|Ps|Os);case 26:return Vs(A,"〇一二三四五六七八九","十百千万",Ws,r,0);case 25:return Vs(A,"零壱弐参四伍六七八九","拾百千万",Ws,r,Ts|Rs|Ps);case 31:return Vs(A,"영일이삼사오육칠팔구","십백천만",_s,o,Ts|Rs|Ps);case 33:return Vs(A,"零一二三四五六七八九","十百千萬",_s,o,0);case 32:return Vs(A,"零壹貳參四五六七八九","拾百千",_s,o,Ts|Rs|Ps);case 18:return Ks(A,2406,2415,!0,n);case 20:return Ds(A,1,19999,Ls,3,n);case 21:return Ks(A,2790,2799,!0,n);case 22:return Ks(A,2662,2671,!0,n);case 22:return Ds(A,1,10999,Ss,3,n);case 23:return ks(A,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return ks(A,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return Ks(A,3302,3311,!0,n);case 28:return ks(A,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",r);case 29:return ks(A,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",r);case 34:return Ks(A,3792,3801,!0,n);case 37:return Ks(A,6160,6169,!0,n);case 38:return Ks(A,4160,4169,!0,n);case 39:return Ks(A,2918,2927,!0,n);case 40:return Ks(A,1776,1785,!0,n);case 43:return Ks(A,3046,3055,!0,n);case 44:return Ks(A,3174,3183,!0,n);case 45:return Ks(A,3664,3673,!0,n);case 46:return Ks(A,3872,3881,!0,n);default:return Ks(A,48,57,!0,n)}},Js="data-html2canvas-ignore",Ys=function(){function A(A,e,t){if(this.context=A,this.options=t,this.scrolledElements=[],this.referenceElement=e,this.counters=new Hs,this.quoteDepth=0,!e.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(e.ownerDocument.documentElement,!1)}return A.prototype.toIFrame=function(A,e){var t=this,o=Zs(A,e);if(!o.contentWindow)return Promise.reject("Unable to find iframe window");var i=A.defaultView.pageXOffset,s=A.defaultView.pageYOffset,a=o.contentWindow,c=a.document,l=qs(o).then(function(){return n(t,void 0,void 0,function(){var A,t;return r(this,function(n){switch(n.label){case 0:return this.scrolledElements.forEach(ra),a&&(a.scrollTo(e.left,e.top),!/(iPad|iPhone|iPod)/g.test(navigator.userAgent)||a.scrollY===e.top&&a.scrollX===e.left||(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(a.scrollX-e.left,a.scrollY-e.top,0,0))),A=this.options.onclone,void 0===(t=this.clonedReferenceElement)?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:c.fonts&&c.fonts.ready?[4,c.fonts.ready]:[3,2];case 1:n.sent(),n.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,js(c)]:[3,4];case 3:n.sent(),n.label=4;case 4:return"function"==typeof A?[2,Promise.resolve().then(function(){return A(c,t)}).then(function(){return o})]:[2,o]}})})});return c.open(),c.write(ta(document.doctype)+"<html></html>"),na(this.referenceElement.ownerDocument,i,s),c.replaceChild(c.adoptNode(this.documentElement),c.documentElement),c.close(),l},A.prototype.createElementClone=function(A){if(yo(A,2),ps(A))return this.createCanvasClone(A);if(ms(A))return this.createVideoClone(A);if(ys(A))return this.createStyleClone(A);var e=A.cloneNode(!1);return Cs(e)&&(Cs(A)&&A.currentSrc&&A.currentSrc!==A.src&&(e.src=A.currentSrc,e.srcset=""),"lazy"===e.loading&&(e.loading="eager")),Es(e)?this.createCustomElementClone(e):e},A.prototype.createCustomElementClone=function(A){var e=document.createElement("html2canvascustomelement");return ea(A.style,e),e},A.prototype.createStyleClone=function(A){try{var e=A.sheet;if(e&&e.cssRules){var t=[].slice.call(e.cssRules,0).reduce(function(A,e){return e&&"string"==typeof e.cssText?A+e.cssText:A},""),n=A.cloneNode(!1);return n.textContent=t,n}}catch(A){if(this.context.logger.error("Unable to access cssRules property",A),"SecurityError"!==A.name)throw A}return A.cloneNode(!1)},A.prototype.createCanvasClone=function(A){var e;if(this.options.inlineImages&&A.ownerDocument){var t=A.ownerDocument.createElement("img");try{return t.src=A.toDataURL(),t}catch(e){this.context.logger.info("Unable to inline canvas contents, canvas is tainted",A)}}var n=A.cloneNode(!1);try{n.width=A.width,n.height=A.height;var r=A.getContext("2d"),o=n.getContext("2d");if(o)if(!this.options.allowTaint&&r)o.putImageData(r.getImageData(0,0,A.width,A.height),0,0);else{var i=null!==(e=A.getContext("webgl2"))&&void 0!==e?e:A.getContext("webgl");if(i){var s=i.getContextAttributes();!1===(null==s?void 0:s.preserveDrawingBuffer)&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",A)}o.drawImage(A,0,0)}return n}catch(e){this.context.logger.info("Unable to clone canvas as it is tainted",A)}return n},A.prototype.createVideoClone=function(A){var e=A.ownerDocument.createElement("canvas");e.width=A.offsetWidth,e.height=A.offsetHeight;var t=e.getContext("2d");try{return t&&(t.drawImage(A,0,0,e.width,e.height),this.options.allowTaint||t.getImageData(0,0,e.width,e.height)),e}catch(e){this.context.logger.info("Unable to clone video as it is tainted",A)}var n=A.ownerDocument.createElement("canvas");return n.width=A.offsetWidth,n.height=A.offsetHeight,n},A.prototype.appendChildNode=function(A,e,t){cs(e)&&(Us(e)||e.hasAttribute(Js)||"function"==typeof this.options.ignoreElements&&this.options.ignoreElements(e))||this.options.copyStyles&&cs(e)&&ys(e)||A.appendChild(this.cloneNode(e,t))},A.prototype.cloneChildNodes=function(A,e,t){for(var n=this,r=A.shadowRoot?A.shadowRoot.firstChild:A.firstChild;r;r=r.nextSibling)if(cs(r)&&vs(r)&&"function"==typeof r.assignedNodes){var o=r.assignedNodes();o.length&&o.forEach(function(A){return n.appendChildNode(e,A,t)})}else this.appendChildNode(e,r,t)},A.prototype.cloneNode=function(A,e){if(as(A))return document.createTextNode(A.data);if(!A.ownerDocument)return A.cloneNode(!1);var t=A.ownerDocument.defaultView;if(t&&cs(A)&&(ls(A)||us(A))){var n=this.createElementClone(A);n.style.transitionProperty="none";var r=t.getComputedStyle(A),o=t.getComputedStyle(A,":before"),i=t.getComputedStyle(A,":after");this.referenceElement===A&&ls(n)&&(this.clonedReferenceElement=n),ws(n)&&la(n);var s=this.counters.parse(new po(this.context,r)),a=this.resolvePseudoContent(A,n,o,Xo.BEFORE);Es(A)&&(e=!0),ms(A)||this.cloneChildNodes(A,n,e),a&&n.insertBefore(a,n.firstChild);var c=this.resolvePseudoContent(A,n,i,Xo.AFTER);return c&&n.appendChild(c),this.counters.pop(s),(r&&(this.options.copyStyles||us(A))&&!Qs(A)||e)&&ea(r,n),0===A.scrollTop&&0===A.scrollLeft||this.scrolledElements.push([n,A.scrollLeft,A.scrollTop]),(Fs(A)||bs(A))&&(Fs(n)||bs(n))&&(n.value=A.value),n}return A.cloneNode(!1)},A.prototype.resolvePseudoContent=function(A,e,t,n){var r=this;if(t){var o=t.content,i=e.ownerDocument;if(i&&o&&"none"!==o&&"-moz-alt-content"!==o&&"none"!==t.display){this.counters.parse(new po(this.context,t));var s=new wo(this.context,t),a=i.createElement("html2canvaspseudoelement");ea(t,a),s.content.forEach(function(e){if(0===e.type)a.appendChild(i.createTextNode(e.value));else if(22===e.type){var t=i.createElement("img");t.src=e.value,t.style.opacity="1",a.appendChild(t)}else if(18===e.type){if("attr"===e.name){var n=e.values.filter(Lt);n.length&&a.appendChild(i.createTextNode(A.getAttribute(n[0].value)||""))}else if("counter"===e.name){var o=e.values.filter(kt),c=o[0],l=o[1];if(c&&Lt(c)){var u=r.counters.getCounterValue(c.value),h=l&&Lt(l)?Fr.parse(r.context,l.value):3;a.appendChild(i.createTextNode(Xs(u,h,!1)))}}else if("counters"===e.name){var g=e.values.filter(kt),d=(c=g[0],g[1]);if(l=g[2],c&&Lt(c)){var B=r.counters.getCounterValues(c.value),f=l&&Lt(l)?Fr.parse(r.context,l.value):3,w=d&&0===d.type?d.value:"",p=B.map(function(A){return Xs(A,f,!1)}).join(w);a.appendChild(i.createTextNode(p))}}}else if(20===e.type)switch(e.value){case"open-quote":a.appendChild(i.createTextNode(lo(s.quotes,r.quoteDepth++,!0)));break;case"close-quote":a.appendChild(i.createTextNode(lo(s.quotes,--r.quoteDepth,!1)));break;default:a.appendChild(i.createTextNode(e.value))}}),a.className=sa+" "+aa;var c=n===Xo.BEFORE?" "+sa:" "+aa;return us(e)?e.className.baseValue+=c:e.className+=c,a}}},A.destroy=function(A){return!!A.parentNode&&(A.parentNode.removeChild(A),!0)},A}();!function(A){A[A.BEFORE=0]="BEFORE",A[A.AFTER=1]="AFTER"}(Xo||(Xo={}));var $s,Zs=function(A,e){var t=A.createElement("iframe");return t.className="html2canvas-container",t.style.visibility="hidden",t.style.position="fixed",t.style.left="-10000px",t.style.top="0px",t.style.border="0",t.width=e.width.toString(),t.height=e.height.toString(),t.scrolling="no",t.setAttribute(Js,"true"),A.body.appendChild(t),t},zs=function(A){return new Promise(function(e){A.complete?e():A.src?(A.onload=e,A.onerror=e):e()})},js=function(A){return Promise.all([].slice.call(A.images,0).map(zs))},qs=function(A){return new Promise(function(e,t){var n=A.contentWindow;if(!n)return t("No window assigned for iframe");var r=n.document;n.onload=A.onload=function(){n.onload=A.onload=null;var t=setInterval(function(){r.body.childNodes.length>0&&"complete"===r.readyState&&(clearInterval(t),e(A))},50)}})},Aa=["all","d","content"],ea=function(A,e){for(var t=A.length-1;t>=0;t--){var n=A.item(t);-1===Aa.indexOf(n)&&e.style.setProperty(n,A.getPropertyValue(n))}return e},ta=function(A){var e="";return A&&(e+="<!DOCTYPE ",A.name&&(e+=A.name),A.internalSubset&&(e+=A.internalSubset),A.publicId&&(e+='"'+A.publicId+'"'),A.systemId&&(e+='"'+A.systemId+'"'),e+=">"),e},na=function(A,e,t){A&&A.defaultView&&(e!==A.defaultView.pageXOffset||t!==A.defaultView.pageYOffset)&&A.defaultView.scrollTo(e,t)},ra=function(A){var e=A[0],t=A[1],n=A[2];e.scrollLeft=t,e.scrollTop=n},oa=":before",ia=":after",sa="___html2canvas___pseudoelement_before",aa="___html2canvas___pseudoelement_after",ca='{\n content: "" !important;\n display: none !important;\n}',la=function(A){ua(A,"."+sa+oa+ca+"\n ."+aa+ia+ca)},ua=function(A,e){var t=A.ownerDocument;if(t){var n=t.createElement("style");n.textContent=e,A.appendChild(n)}},ha=function(){function A(){}return A.getOrigin=function(e){var t=A._link;return t?(t.href=e,t.href=t.href,t.protocol+t.hostname+t.port):"about:blank"},A.isSameOrigin=function(e){return A.getOrigin(e)===A._origin},A.setContext=function(e){A._link=e.document.createElement("a"),A._origin=A.getOrigin(e.location.href)},A._origin="about:blank",A}(),ga=function(){function A(A,e){this.context=A,this._options=e,this._cache={}}return A.prototype.addImage=function(A){var e=Promise.resolve();return this.has(A)?e:Ca(A)||wa(A)?((this._cache[A]=this.loadImage(A)).catch(function(){}),e):e},A.prototype.match=function(A){return this._cache[A]},A.prototype.loadImage=function(A){return n(this,void 0,void 0,function(){var e,t,n,o,i=this;return r(this,function(r){switch(r.label){case 0:return e=ha.isSameOrigin(A),t=!pa(A)&&!0===this._options.useCORS&&bi.SUPPORT_CORS_IMAGES&&!e,n=!pa(A)&&!e&&!Ca(A)&&"string"==typeof this._options.proxy&&bi.SUPPORT_CORS_XHR&&!t,e||!1!==this._options.allowTaint||pa(A)||Ca(A)||n||t?(o=A,n?[4,this.proxy(o)]:[3,2]):[2];case 1:o=r.sent(),r.label=2;case 2:return this.context.logger.debug("Added image "+A.substring(0,256)),[4,new Promise(function(A,e){var n=new Image;n.onload=function(){return A(n)},n.onerror=e,(ma(o)||t)&&(n.crossOrigin="anonymous"),n.src=o,!0===n.complete&&setTimeout(function(){return A(n)},500),i._options.imageTimeout>0&&setTimeout(function(){return e("Timed out ("+i._options.imageTimeout+"ms) loading image")},i._options.imageTimeout)})];case 3:return[2,r.sent()]}})})},A.prototype.has=function(A){return void 0!==this._cache[A]},A.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},A.prototype.proxy=function(A){var e=this,t=this._options.proxy;if(!t)throw new Error("No proxy defined");var n=A.substring(0,256);return new Promise(function(r,o){var i=bi.SUPPORT_RESPONSE_TYPE?"blob":"text",s=new XMLHttpRequest;s.onload=function(){if(200===s.status)if("text"===i)r(s.response);else{var A=new FileReader;A.addEventListener("load",function(){return r(A.result)},!1),A.addEventListener("error",function(A){return o(A)},!1),A.readAsDataURL(s.response)}else o("Failed to proxy resource "+n+" with status code "+s.status)},s.onerror=o;var a=t.indexOf("?")>-1?"&":"?";if(s.open("GET",""+t+a+"url="+encodeURIComponent(A)+"&responseType="+i),"text"!==i&&s instanceof XMLHttpRequest&&(s.responseType=i),e._options.imageTimeout){var c=e._options.imageTimeout;s.timeout=c,s.ontimeout=function(){return o("Timed out ("+c+"ms) proxying "+n)}}s.send()})},A}(),da=/^data:image\/svg\+xml/i,Ba=/^data:image\/.*;base64,/i,fa=/^data:image\/.*/i,wa=function(A){return bi.SUPPORT_SVG_DRAWING||!Qa(A)},pa=function(A){return fa.test(A)},ma=function(A){return Ba.test(A)},Ca=function(A){return"blob"===A.substr(0,4)},Qa=function(A){return"svg"===A.substr(-3).toLowerCase()||da.test(A)},ya=function(){function A(A,e){this.type=0,this.x=A,this.y=e}return A.prototype.add=function(e,t){return new A(this.x+e,this.y+t)},A}(),Ua=function(A,e,t){return new ya(A.x+(e.x-A.x)*t,A.y+(e.y-A.y)*t)},Fa=function(){function A(A,e,t,n){this.type=1,this.start=A,this.startControl=e,this.endControl=t,this.end=n}return A.prototype.subdivide=function(e,t){var n=Ua(this.start,this.startControl,e),r=Ua(this.startControl,this.endControl,e),o=Ua(this.endControl,this.end,e),i=Ua(n,r,e),s=Ua(r,o,e),a=Ua(i,s,e);return t?new A(this.start,n,i,a):new A(a,s,o,this.end)},A.prototype.add=function(e,t){return new A(this.start.add(e,t),this.startControl.add(e,t),this.endControl.add(e,t),this.end.add(e,t))},A.prototype.reverse=function(){return new A(this.end,this.endControl,this.startControl,this.start)},A}(),ba=function(A){return 1===A.type},va=function(){function A(A){var e=A.styles,t=A.bounds,n=_t(e.borderTopLeftRadius,t.width,t.height),r=n[0],o=n[1],i=_t(e.borderTopRightRadius,t.width,t.height),s=i[0],a=i[1],c=_t(e.borderBottomRightRadius,t.width,t.height),l=c[0],u=c[1],h=_t(e.borderBottomLeftRadius,t.width,t.height),g=h[0],d=h[1],B=[];B.push((r+s)/t.width),B.push((g+l)/t.width),B.push((o+d)/t.height),B.push((a+u)/t.height);var f=Math.max.apply(Math,B);f>1&&(r/=f,o/=f,s/=f,a/=f,l/=f,u/=f,g/=f,d/=f);var w=t.width-s,p=t.height-u,m=t.width-l,C=t.height-d,Q=e.borderTopWidth,y=e.borderRightWidth,U=e.borderBottomWidth,F=e.borderLeftWidth,b=Xt(e.paddingTop,A.bounds.width),v=Xt(e.paddingRight,A.bounds.width),E=Xt(e.paddingBottom,A.bounds.width),H=Xt(e.paddingLeft,A.bounds.width);this.topLeftBorderDoubleOuterBox=r>0||o>0?Ea(t.left+F/3,t.top+Q/3,r-F/3,o-Q/3,$s.TOP_LEFT):new ya(t.left+F/3,t.top+Q/3),this.topRightBorderDoubleOuterBox=r>0||o>0?Ea(t.left+w,t.top+Q/3,s-y/3,a-Q/3,$s.TOP_RIGHT):new ya(t.left+t.width-y/3,t.top+Q/3),this.bottomRightBorderDoubleOuterBox=l>0||u>0?Ea(t.left+m,t.top+p,l-y/3,u-U/3,$s.BOTTOM_RIGHT):new ya(t.left+t.width-y/3,t.top+t.height-U/3),this.bottomLeftBorderDoubleOuterBox=g>0||d>0?Ea(t.left+F/3,t.top+C,g-F/3,d-U/3,$s.BOTTOM_LEFT):new ya(t.left+F/3,t.top+t.height-U/3),this.topLeftBorderDoubleInnerBox=r>0||o>0?Ea(t.left+2*F/3,t.top+2*Q/3,r-2*F/3,o-2*Q/3,$s.TOP_LEFT):new ya(t.left+2*F/3,t.top+2*Q/3),this.topRightBorderDoubleInnerBox=r>0||o>0?Ea(t.left+w,t.top+2*Q/3,s-2*y/3,a-2*Q/3,$s.TOP_RIGHT):new ya(t.left+t.width-2*y/3,t.top+2*Q/3),this.bottomRightBorderDoubleInnerBox=l>0||u>0?Ea(t.left+m,t.top+p,l-2*y/3,u-2*U/3,$s.BOTTOM_RIGHT):new ya(t.left+t.width-2*y/3,t.top+t.height-2*U/3),this.bottomLeftBorderDoubleInnerBox=g>0||d>0?Ea(t.left+2*F/3,t.top+C,g-2*F/3,d-2*U/3,$s.BOTTOM_LEFT):new ya(t.left+2*F/3,t.top+t.height-2*U/3),this.topLeftBorderStroke=r>0||o>0?Ea(t.left+F/2,t.top+Q/2,r-F/2,o-Q/2,$s.TOP_LEFT):new ya(t.left+F/2,t.top+Q/2),this.topRightBorderStroke=r>0||o>0?Ea(t.left+w,t.top+Q/2,s-y/2,a-Q/2,$s.TOP_RIGHT):new ya(t.left+t.width-y/2,t.top+Q/2),this.bottomRightBorderStroke=l>0||u>0?Ea(t.left+m,t.top+p,l-y/2,u-U/2,$s.BOTTOM_RIGHT):new ya(t.left+t.width-y/2,t.top+t.height-U/2),this.bottomLeftBorderStroke=g>0||d>0?Ea(t.left+F/2,t.top+C,g-F/2,d-U/2,$s.BOTTOM_LEFT):new ya(t.left+F/2,t.top+t.height-U/2),this.topLeftBorderBox=r>0||o>0?Ea(t.left,t.top,r,o,$s.TOP_LEFT):new ya(t.left,t.top),this.topRightBorderBox=s>0||a>0?Ea(t.left+w,t.top,s,a,$s.TOP_RIGHT):new ya(t.left+t.width,t.top),this.bottomRightBorderBox=l>0||u>0?Ea(t.left+m,t.top+p,l,u,$s.BOTTOM_RIGHT):new ya(t.left+t.width,t.top+t.height),this.bottomLeftBorderBox=g>0||d>0?Ea(t.left,t.top+C,g,d,$s.BOTTOM_LEFT):new ya(t.left,t.top+t.height),this.topLeftPaddingBox=r>0||o>0?Ea(t.left+F,t.top+Q,Math.max(0,r-F),Math.max(0,o-Q),$s.TOP_LEFT):new ya(t.left+F,t.top+Q),this.topRightPaddingBox=s>0||a>0?Ea(t.left+Math.min(w,t.width-y),t.top+Q,w>t.width+y?0:Math.max(0,s-y),Math.max(0,a-Q),$s.TOP_RIGHT):new ya(t.left+t.width-y,t.top+Q),this.bottomRightPaddingBox=l>0||u>0?Ea(t.left+Math.min(m,t.width-F),t.top+Math.min(p,t.height-U),Math.max(0,l-y),Math.max(0,u-U),$s.BOTTOM_RIGHT):new ya(t.left+t.width-y,t.top+t.height-U),this.bottomLeftPaddingBox=g>0||d>0?Ea(t.left+F,t.top+Math.min(C,t.height-U),Math.max(0,g-F),Math.max(0,d-U),$s.BOTTOM_LEFT):new ya(t.left+F,t.top+t.height-U),this.topLeftContentBox=r>0||o>0?Ea(t.left+F+H,t.top+Q+b,Math.max(0,r-(F+H)),Math.max(0,o-(Q+b)),$s.TOP_LEFT):new ya(t.left+F+H,t.top+Q+b),this.topRightContentBox=s>0||a>0?Ea(t.left+Math.min(w,t.width+F+H),t.top+Q+b,w>t.width+F+H?0:s-F+H,a-(Q+b),$s.TOP_RIGHT):new ya(t.left+t.width-(y+v),t.top+Q+b),this.bottomRightContentBox=l>0||u>0?Ea(t.left+Math.min(m,t.width-(F+H)),t.top+Math.min(p,t.height+Q+b),Math.max(0,l-(y+v)),u-(U+E),$s.BOTTOM_RIGHT):new ya(t.left+t.width-(y+v),t.top+t.height-(U+E)),this.bottomLeftContentBox=g>0||d>0?Ea(t.left+F+H,t.top+C,Math.max(0,g-(F+H)),d-(U+E),$s.BOTTOM_LEFT):new ya(t.left+F+H,t.top+t.height-(U+E))}return A}();!function(A){A[A.TOP_LEFT=0]="TOP_LEFT",A[A.TOP_RIGHT=1]="TOP_RIGHT",A[A.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",A[A.BOTTOM_LEFT=3]="BOTTOM_LEFT"}($s||($s={}));var Ea=function(A,e,t,n,r){var o=(Math.sqrt(2)-1)/3*4,i=t*o,s=n*o,a=A+t,c=e+n;switch(r){case $s.TOP_LEFT:return new Fa(new ya(A,c),new ya(A,c-s),new ya(a-i,e),new ya(a,e));case $s.TOP_RIGHT:return new Fa(new ya(A,e),new ya(A+i,e),new ya(a,c-s),new ya(a,c));case $s.BOTTOM_RIGHT:return new Fa(new ya(a,e),new ya(a,e+s),new ya(A+i,c),new ya(A,c));case $s.BOTTOM_LEFT:default:return new Fa(new ya(a,c),new ya(a-i,c),new ya(A,e+s),new ya(A,e))}},Ha=function(A){return[A.topLeftBorderBox,A.topRightBorderBox,A.bottomRightBorderBox,A.bottomLeftBorderBox]},Ia=function(A){return[A.topLeftContentBox,A.topRightContentBox,A.bottomRightContentBox,A.bottomLeftContentBox]},xa=function(A){return[A.topLeftPaddingBox,A.topRightPaddingBox,A.bottomRightPaddingBox,A.bottomLeftPaddingBox]},Sa=function(){function A(A,e,t){this.offsetX=A,this.offsetY=e,this.matrix=t,this.type=0,this.target=6}return A}(),La=function(){function A(A,e){this.path=A,this.target=e,this.type=1}return A}(),Da=function(){function A(A){this.opacity=A,this.type=2,this.target=6}return A}(),Ma=function(A){return 0===A.type},Ka=function(A){return 1===A.type},ka=function(A){return 2===A.type},Ta=function(A,e){return A.length===e.length&&A.some(function(A,t){return A===e[t]})},Ra=function(A,e,t,n,r){return A.map(function(A,o){switch(o){case 0:return A.add(e,t);case 1:return A.add(e+n,t);case 2:return A.add(e+n,t+r);case 3:return A.add(e,t+r)}return A})},Pa=function(){function A(A){this.element=A,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]}return A}(),Oa=function(){function A(A,e){if(this.container=A,this.parent=e,this.effects=[],this.curves=new va(this.container),this.container.styles.opacity<1&&this.effects.push(new Da(this.container.styles.opacity)),null!==this.container.styles.transform){var t=this.container.bounds.left+this.container.styles.transformOrigin[0].number,n=this.container.bounds.top+this.container.styles.transformOrigin[1].number,r=this.container.styles.transform;this.effects.push(new Sa(t,n,r))}if(0!==this.container.styles.overflowX){var o=Ha(this.curves),i=xa(this.curves);Ta(o,i)?this.effects.push(new La(o,6)):(this.effects.push(new La(o,2)),this.effects.push(new La(i,4)))}}return A.prototype.getEffects=function(A){for(var e=-1===[2,3].indexOf(this.container.styles.position),t=this.parent,n=this.effects.slice(0);t;){var r=t.effects.filter(function(A){return!Ka(A)});if(e||0!==t.container.styles.position||!t.parent){if(n.unshift.apply(n,r),e=-1===[2,3].indexOf(t.container.styles.position),0!==t.container.styles.overflowX){var o=Ha(t.curves),i=xa(t.curves);Ta(o,i)||n.unshift(new La(i,6))}}else n.unshift.apply(n,r);t=t.parent}return n.filter(function(e){return ro(e.target,A)})},A}(),Va=function(A,e,t,n){A.container.elements.forEach(function(r){var o=ro(r.flags,4),i=ro(r.flags,2),s=new Oa(r,A);ro(r.styles.display,2048)&&n.push(s);var a=ro(r.flags,8)?[]:n;if(o||i){var c=o||r.styles.isPositioned()?t:e,l=new Pa(s);if(r.styles.isPositioned()||r.styles.opacity<1||r.styles.isTransformed()){var u=r.styles.zIndex.order;if(u<0){var h=0;c.negativeZIndex.some(function(A,e){return u>A.element.container.styles.zIndex.order?(h=e,!1):h>0}),c.negativeZIndex.splice(h,0,l)}else if(u>0){var g=0;c.positiveZIndex.some(function(A,e){return u>=A.element.container.styles.zIndex.order?(g=e+1,!1):g>0}),c.positiveZIndex.splice(g,0,l)}else c.zeroOrAutoZIndexOrTransformedOrOpacity.push(l)}else r.styles.isFloating()?c.nonPositionedFloats.push(l):c.nonPositionedInlineLevel.push(l);Va(s,l,o?l:t,a)}else r.styles.isInlineLevel()?e.inlineLevel.push(s):e.nonInlineLevel.push(s),Va(s,e,t,a);ro(r.flags,8)&&Na(r,a)})},Na=function(A,e){for(var t=A instanceof Gi?A.start:1,n=A instanceof Gi&&A.reversed,r=0;r<e.length;r++){var o=e[r];o.container instanceof Ni&&"number"==typeof o.container.value&&0!==o.container.value&&(t=o.container.value),o.listValue=Xs(t,o.container.styles.listStyleType,!0),t+=n?-1:1}},Ga=function(A){var e=new Oa(A,null),t=new Pa(e),n=[];return Va(e,t,t,n),Na(e.container,n),t},Wa=function(A,e){switch(e){case 0:return $a(A.topLeftBorderBox,A.topLeftPaddingBox,A.topRightBorderBox,A.topRightPaddingBox);case 1:return $a(A.topRightBorderBox,A.topRightPaddingBox,A.bottomRightBorderBox,A.bottomRightPaddingBox);case 2:return $a(A.bottomRightBorderBox,A.bottomRightPaddingBox,A.bottomLeftBorderBox,A.bottomLeftPaddingBox);default:return $a(A.bottomLeftBorderBox,A.bottomLeftPaddingBox,A.topLeftBorderBox,A.topLeftPaddingBox)}},_a=function(A,e){switch(e){case 0:return $a(A.topLeftBorderBox,A.topLeftBorderDoubleOuterBox,A.topRightBorderBox,A.topRightBorderDoubleOuterBox);case 1:return $a(A.topRightBorderBox,A.topRightBorderDoubleOuterBox,A.bottomRightBorderBox,A.bottomRightBorderDoubleOuterBox);case 2:return $a(A.bottomRightBorderBox,A.bottomRightBorderDoubleOuterBox,A.bottomLeftBorderBox,A.bottomLeftBorderDoubleOuterBox);default:return $a(A.bottomLeftBorderBox,A.bottomLeftBorderDoubleOuterBox,A.topLeftBorderBox,A.topLeftBorderDoubleOuterBox)}},Xa=function(A,e){switch(e){case 0:return $a(A.topLeftBorderDoubleInnerBox,A.topLeftPaddingBox,A.topRightBorderDoubleInnerBox,A.topRightPaddingBox);case 1:return $a(A.topRightBorderDoubleInnerBox,A.topRightPaddingBox,A.bottomRightBorderDoubleInnerBox,A.bottomRightPaddingBox);case 2:return $a(A.bottomRightBorderDoubleInnerBox,A.bottomRightPaddingBox,A.bottomLeftBorderDoubleInnerBox,A.bottomLeftPaddingBox);default:return $a(A.bottomLeftBorderDoubleInnerBox,A.bottomLeftPaddingBox,A.topLeftBorderDoubleInnerBox,A.topLeftPaddingBox)}},Ja=function(A,e){switch(e){case 0:return Ya(A.topLeftBorderStroke,A.topRightBorderStroke);case 1:return Ya(A.topRightBorderStroke,A.bottomRightBorderStroke);case 2:return Ya(A.bottomRightBorderStroke,A.bottomLeftBorderStroke);default:return Ya(A.bottomLeftBorderStroke,A.topLeftBorderStroke)}},Ya=function(A,e){var t=[];return ba(A)?t.push(A.subdivide(.5,!1)):t.push(A),ba(e)?t.push(e.subdivide(.5,!0)):t.push(e),t},$a=function(A,e,t,n){var r=[];return ba(A)?r.push(A.subdivide(.5,!1)):r.push(A),ba(t)?r.push(t.subdivide(.5,!0)):r.push(t),ba(n)?r.push(n.subdivide(.5,!0).reverse()):r.push(n),ba(e)?r.push(e.subdivide(.5,!1).reverse()):r.push(e),r},Za=function(A){var e=A.bounds,t=A.styles;return e.add(t.borderLeftWidth,t.borderTopWidth,-(t.borderRightWidth+t.borderLeftWidth),-(t.borderTopWidth+t.borderBottomWidth))},za=function(A){var e=A.styles,t=A.bounds,n=Xt(e.paddingLeft,t.width),r=Xt(e.paddingRight,t.width),o=Xt(e.paddingTop,t.width),i=Xt(e.paddingBottom,t.width);return t.add(n+e.borderLeftWidth,o+e.borderTopWidth,-(e.borderRightWidth+e.borderLeftWidth+n+r),-(e.borderTopWidth+e.borderBottomWidth+o+i))},ja=function(A,e){return 0===A?e.bounds:2===A?za(e):Za(e)},qa=function(A,e){return 0===A?e.bounds:2===A?za(e):Za(e)},Ac=function(A,e,t){var n=ja(rc(A.styles.backgroundOrigin,e),A),r=qa(rc(A.styles.backgroundClip,e),A),o=nc(rc(A.styles.backgroundSize,e),t,n),i=o[0],s=o[1],a=_t(rc(A.styles.backgroundPosition,e),n.width-i,n.height-s);return[oc(rc(A.styles.backgroundRepeat,e),a,o,n,r),Math.round(n.left+a[0]),Math.round(n.top+a[1]),i,s]},ec=function(A){return Lt(A)&&A.value===kn.AUTO},tc=function(A){return"number"==typeof A},nc=function(A,e,t){var n=e[0],r=e[1],o=e[2],i=A[0],s=A[1];if(!i)return[0,0];if(Ot(i)&&s&&Ot(s))return[Xt(i,t.width),Xt(s,t.height)];var a=tc(o);if(Lt(i)&&(i.value===kn.CONTAIN||i.value===kn.COVER))return tc(o)?t.width/t.height<o!=(i.value===kn.COVER)?[t.width,t.width/o]:[t.height*o,t.height]:[t.width,t.height];var c=tc(n),l=tc(r),u=c||l;if(ec(i)&&(!s||ec(s)))return c&&l?[n,r]:a||u?u&&a?[c?n:r*o,l?r:n/o]:[c?n:t.width,l?r:t.height]:[t.width,t.height];if(a){var h=0,g=0;return Ot(i)?h=Xt(i,t.width):Ot(s)&&(g=Xt(s,t.height)),ec(i)?h=g*o:s&&!ec(s)||(g=h/o),[h,g]}var d=null,B=null;if(Ot(i)?d=Xt(i,t.width):s&&Ot(s)&&(B=Xt(s,t.height)),null===d||s&&!ec(s)||(B=c&&l?d/n*r:t.height),null!==B&&ec(i)&&(d=c&&l?B/r*n:t.width),null!==d&&null!==B)return[d,B];throw new Error("Unable to calculate background-size for element")},rc=function(A,e){var t=A[e];return void 0===t?A[0]:t},oc=function(A,e,t,n,r){var o=e[0],i=e[1],s=t[0],a=t[1];switch(A){case 2:return[new ya(Math.round(n.left),Math.round(n.top+i)),new ya(Math.round(n.left+n.width),Math.round(n.top+i)),new ya(Math.round(n.left+n.width),Math.round(a+n.top+i)),new ya(Math.round(n.left),Math.round(a+n.top+i))];case 3:return[new ya(Math.round(n.left+o),Math.round(n.top)),new ya(Math.round(n.left+o+s),Math.round(n.top)),new ya(Math.round(n.left+o+s),Math.round(n.height+n.top)),new ya(Math.round(n.left+o),Math.round(n.height+n.top))];case 1:return[new ya(Math.round(n.left+o),Math.round(n.top+i)),new ya(Math.round(n.left+o+s),Math.round(n.top+i)),new ya(Math.round(n.left+o+s),Math.round(n.top+i+a)),new ya(Math.round(n.left+o),Math.round(n.top+i+a))];default:return[new ya(Math.round(r.left),Math.round(r.top)),new ya(Math.round(r.left+r.width),Math.round(r.top)),new ya(Math.round(r.left+r.width),Math.round(r.height+r.top)),new ya(Math.round(r.left),Math.round(r.height+r.top))]}},ic="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",sc="Hidden Text",ac=function(){function A(A){this._data={},this._document=A}return A.prototype.parseMetrics=function(A,e){var t=this._document.createElement("div"),n=this._document.createElement("img"),r=this._document.createElement("span"),o=this._document.body;t.style.visibility="hidden",t.style.fontFamily=A,t.style.fontSize=e,t.style.margin="0",t.style.padding="0",t.style.whiteSpace="nowrap",o.appendChild(t),n.src=ic,n.width=1,n.height=1,n.style.margin="0",n.style.padding="0",n.style.verticalAlign="baseline",r.style.fontFamily=A,r.style.fontSize=e,r.style.margin="0",r.style.padding="0",r.appendChild(this._document.createTextNode(sc)),t.appendChild(r),t.appendChild(n);var i=n.offsetTop-r.offsetTop+2;t.removeChild(r),t.appendChild(this._document.createTextNode(sc)),t.style.lineHeight="normal",n.style.verticalAlign="super";var s=n.offsetTop-t.offsetTop+2;return o.removeChild(t),{baseline:i,middle:s}},A.prototype.getMetrics=function(A,e){var t=A+" "+e;return void 0===this._data[t]&&(this._data[t]=this.parseMetrics(A,e)),this._data[t]},A}(),cc=function(){function A(A,e){this.context=A,this.options=e}return A}(),lc=1e4,uc=function(A){function t(e,t){var n=A.call(this,e,t)||this;return n._activeEffects=[],n.canvas=t.canvas?t.canvas:document.createElement("canvas"),n.ctx=n.canvas.getContext("2d"),t.canvas||(n.canvas.width=Math.floor(t.width*t.scale),n.canvas.height=Math.floor(t.height*t.scale),n.canvas.style.width=t.width+"px",n.canvas.style.height=t.height+"px"),n.fontMetrics=new ac(document),n.ctx.scale(n.options.scale,n.options.scale),n.ctx.translate(-t.x,-t.y),n.ctx.textBaseline="bottom",n._activeEffects=[],n.context.logger.debug("Canvas renderer initialized ("+t.width+"x"+t.height+") with scale "+t.scale),n}return e(t,A),t.prototype.applyEffects=function(A){for(var e=this;this._activeEffects.length;)this.popEffect();A.forEach(function(A){return e.applyEffect(A)})},t.prototype.applyEffect=function(A){this.ctx.save(),ka(A)&&(this.ctx.globalAlpha=A.opacity),Ma(A)&&(this.ctx.translate(A.offsetX,A.offsetY),this.ctx.transform(A.matrix[0],A.matrix[1],A.matrix[2],A.matrix[3],A.matrix[4],A.matrix[5]),this.ctx.translate(-A.offsetX,-A.offsetY)),Ka(A)&&(this.path(A.path),this.ctx.clip()),this._activeEffects.push(A)},t.prototype.popEffect=function(){this._activeEffects.pop(),this.ctx.restore()},t.prototype.renderStack=function(A){return n(this,void 0,void 0,function(){return r(this,function(e){switch(e.label){case 0:return A.element.container.styles.isVisible()?[4,this.renderStackContent(A)]:[3,2];case 1:e.sent(),e.label=2;case 2:return[2]}})})},t.prototype.renderNode=function(A){return n(this,void 0,void 0,function(){return r(this,function(e){switch(e.label){case 0:return ro(A.container.flags,16),A.container.styles.isVisible()?[4,this.renderNodeBackgroundAndBorders(A)]:[3,3];case 1:return e.sent(),[4,this.renderNodeContent(A)];case 2:e.sent(),e.label=3;case 3:return[2]}})})},t.prototype.renderTextWithLetterSpacing=function(A,e,t){var n=this;0===e?this.ctx.fillText(A.text,A.bounds.left,A.bounds.top+t):xi(A.text).reduce(function(e,r){return n.ctx.fillText(r,e,A.bounds.top+t),e+n.ctx.measureText(r).width},A.bounds.left)},t.prototype.createFontStyle=function(A){var e=A.fontVariant.filter(function(A){return"normal"===A||"small-caps"===A}).join(""),t=fc(A.fontFamily).join(", "),n=xt(A.fontSize)?""+A.fontSize.number+A.fontSize.unit:A.fontSize.number+"px";return[[A.fontStyle,e,A.fontWeight,n,t].join(" "),t,n]},t.prototype.renderTextNode=function(A,e){return n(this,void 0,void 0,function(){var t,n,o,i,s,a,c,l,u=this;return r(this,function(r){return t=this.createFontStyle(e),n=t[0],o=t[1],i=t[2],this.ctx.font=n,this.ctx.direction=1===e.direction?"rtl":"ltr",this.ctx.textAlign="left",this.ctx.textBaseline="alphabetic",s=this.fontMetrics.getMetrics(o,i),a=s.baseline,c=s.middle,l=e.paintOrder,A.textBounds.forEach(function(A){l.forEach(function(t){switch(t){case 0:u.ctx.fillStyle=nn(e.color),u.renderTextWithLetterSpacing(A,e.letterSpacing,a);var n=e.textShadow;n.length&&A.text.trim().length&&(n.slice(0).reverse().forEach(function(t){u.ctx.shadowColor=nn(t.color),u.ctx.shadowOffsetX=t.offsetX.number*u.options.scale,u.ctx.shadowOffsetY=t.offsetY.number*u.options.scale,u.ctx.shadowBlur=t.blur.number,u.renderTextWithLetterSpacing(A,e.letterSpacing,a)}),u.ctx.shadowColor="",u.ctx.shadowOffsetX=0,u.ctx.shadowOffsetY=0,u.ctx.shadowBlur=0),e.textDecorationLine.length&&(u.ctx.fillStyle=nn(e.textDecorationColor||e.color),e.textDecorationLine.forEach(function(e){switch(e){case 1:u.ctx.fillRect(A.bounds.left,Math.round(A.bounds.top+a),A.bounds.width,1);break;case 2:u.ctx.fillRect(A.bounds.left,Math.round(A.bounds.top),A.bounds.width,1);break;case 3:u.ctx.fillRect(A.bounds.left,Math.ceil(A.bounds.top+c),A.bounds.width,1)}}));break;case 1:e.webkitTextStrokeWidth&&A.text.trim().length&&(u.ctx.strokeStyle=nn(e.webkitTextStrokeColor),u.ctx.lineWidth=e.webkitTextStrokeWidth,u.ctx.lineJoin=window.chrome?"miter":"round",u.ctx.strokeText(A.text,A.bounds.left,A.bounds.top+a)),u.ctx.strokeStyle="",u.ctx.lineWidth=0,u.ctx.lineJoin="miter"}})}),[2]})})},t.prototype.renderReplacedElement=function(A,e,t){if(t&&A.intrinsicWidth>0&&A.intrinsicHeight>0){var n=za(A),r=xa(e);this.path(r),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(t,0,0,A.intrinsicWidth,A.intrinsicHeight,n.left,n.top,n.width,n.height),this.ctx.restore()}},t.prototype.renderNodeContent=function(A){return n(this,void 0,void 0,function(){var e,n,o,s,a,c,l,u,h,g,d,B,f,w,p,m,C,Q;return r(this,function(r){switch(r.label){case 0:this.applyEffects(A.getEffects(4)),e=A.container,n=A.curves,o=e.styles,s=0,a=e.textNodes,r.label=1;case 1:return s<a.length?(c=a[s],[4,this.renderTextNode(c,o)]):[3,4];case 2:r.sent(),r.label=3;case 3:return s++,[3,1];case 4:if(!(e instanceof Pi))return[3,8];r.label=5;case 5:return r.trys.push([5,7,,8]),[4,this.context.cache.match(e.src)];case 6:return p=r.sent(),this.renderReplacedElement(e,n,p),[3,8];case 7:return r.sent(),this.context.logger.error("Error loading image "+e.src),[3,8];case 8:if(e instanceof Oi&&this.renderReplacedElement(e,n,e.canvas),!(e instanceof Vi))return[3,12];r.label=9;case 9:return r.trys.push([9,11,,12]),[4,this.context.cache.match(e.svg)];case 10:return p=r.sent(),this.renderReplacedElement(e,n,p),[3,12];case 11:return r.sent(),this.context.logger.error("Error loading svg "+e.svg.substring(0,255)),[3,12];case 12:return e instanceof es&&e.tree?[4,new t(this.context,{scale:this.options.scale,backgroundColor:e.backgroundColor,x:0,y:0,width:e.width,height:e.height}).render(e.tree)]:[3,14];case 13:l=r.sent(),e.width&&e.height&&this.ctx.drawImage(l,0,0,e.width,e.height,e.bounds.left,e.bounds.top,e.bounds.width,e.bounds.height),r.label=14;case 14:if(e instanceof ji&&(u=Math.min(e.bounds.width,e.bounds.height),e.type===Yi?e.checked&&(this.ctx.save(),this.path([new ya(e.bounds.left+.39363*u,e.bounds.top+.79*u),new ya(e.bounds.left+.16*u,e.bounds.top+.5549*u),new ya(e.bounds.left+.27347*u,e.bounds.top+.44071*u),new ya(e.bounds.left+.39694*u,e.bounds.top+.5649*u),new ya(e.bounds.left+.72983*u,e.bounds.top+.23*u),new ya(e.bounds.left+.84*u,e.bounds.top+.34085*u),new ya(e.bounds.left+.39363*u,e.bounds.top+.79*u)]),this.ctx.fillStyle=nn(zi),this.ctx.fill(),this.ctx.restore()):e.type===$i&&e.checked&&(this.ctx.save(),this.ctx.beginPath(),this.ctx.arc(e.bounds.left+u/2,e.bounds.top+u/2,u/4,0,2*Math.PI,!0),this.ctx.fillStyle=nn(zi),this.ctx.fill(),this.ctx.restore())),hc(e)&&e.value.length){switch(h=this.createFontStyle(o),C=h[0],g=h[1],d=this.fontMetrics.getMetrics(C,g).baseline,this.ctx.font=C,this.ctx.fillStyle=nn(o.color),this.ctx.textBaseline="alphabetic",this.ctx.textAlign=dc(e.styles.textAlign),Q=za(e),B=0,e.styles.textAlign){case 1:B+=Q.width/2;break;case 2:B+=Q.width}f=Q.add(B,0,0,-Q.height/2+1),this.ctx.save(),this.path([new ya(Q.left,Q.top),new ya(Q.left+Q.width,Q.top),new ya(Q.left+Q.width,Q.top+Q.height),new ya(Q.left,Q.top+Q.height)]),this.ctx.clip(),this.renderTextWithLetterSpacing(new vi(e.value,f),o.letterSpacing,d),this.ctx.restore(),this.ctx.textBaseline="alphabetic",this.ctx.textAlign="left"}if(!ro(e.styles.display,2048))return[3,20];if(null===e.styles.listStyleImage)return[3,19];if(0!==(w=e.styles.listStyleImage).type)return[3,18];p=void 0,m=w.url,r.label=15;case 15:return r.trys.push([15,17,,18]),[4,this.context.cache.match(m)];case 16:return p=r.sent(),this.ctx.drawImage(p,e.bounds.left-(p.width+10),e.bounds.top),[3,18];case 17:return r.sent(),this.context.logger.error("Error loading list-style-image "+m),[3,18];case 18:return[3,20];case 19:A.listValue&&-1!==e.styles.listStyleType&&(C=this.createFontStyle(o)[0],this.ctx.font=C,this.ctx.fillStyle=nn(o.color),this.ctx.textBaseline="middle",this.ctx.textAlign="right",Q=new i(e.bounds.left,e.bounds.top+Xt(e.styles.paddingTop,e.bounds.width),e.bounds.width,Qr(o.lineHeight,o.fontSize.number)/2+1),this.renderTextWithLetterSpacing(new vi(A.listValue,Q),o.letterSpacing,Qr(o.lineHeight,o.fontSize.number)/2+2),this.ctx.textBaseline="bottom",this.ctx.textAlign="left"),r.label=20;case 20:return[2]}})})},t.prototype.renderStackContent=function(A){return n(this,void 0,void 0,function(){var e,t,n,o,i,s,a,c,l,u,h,g,d,B,f;return r(this,function(r){switch(r.label){case 0:return ro(A.element.container.flags,16),[4,this.renderNodeBackgroundAndBorders(A.element)];case 1:r.sent(),e=0,t=A.negativeZIndex,r.label=2;case 2:return e<t.length?(f=t[e],[4,this.renderStack(f)]):[3,5];case 3:r.sent(),r.label=4;case 4:return e++,[3,2];case 5:return[4,this.renderNodeContent(A.element)];case 6:r.sent(),n=0,o=A.nonInlineLevel,r.label=7;case 7:return n<o.length?(f=o[n],[4,this.renderNode(f)]):[3,10];case 8:r.sent(),r.label=9;case 9:return n++,[3,7];case 10:i=0,s=A.nonPositionedFloats,r.label=11;case 11:return i<s.length?(f=s[i],[4,this.renderStack(f)]):[3,14];case 12:r.sent(),r.label=13;case 13:return i++,[3,11];case 14:a=0,c=A.nonPositionedInlineLevel,r.label=15;case 15:return a<c.length?(f=c[a],[4,this.renderStack(f)]):[3,18];case 16:r.sent(),r.label=17;case 17:return a++,[3,15];case 18:l=0,u=A.inlineLevel,r.label=19;case 19:return l<u.length?(f=u[l],[4,this.renderNode(f)]):[3,22];case 20:r.sent(),r.label=21;case 21:return l++,[3,19];case 22:h=0,g=A.zeroOrAutoZIndexOrTransformedOrOpacity,r.label=23;case 23:return h<g.length?(f=g[h],[4,this.renderStack(f)]):[3,26];case 24:r.sent(),r.label=25;case 25:return h++,[3,23];case 26:d=0,B=A.positiveZIndex,r.label=27;case 27:return d<B.length?(f=B[d],[4,this.renderStack(f)]):[3,30];case 28:r.sent(),r.label=29;case 29:return d++,[3,27];case 30:return[2]}})})},t.prototype.mask=function(A){this.ctx.beginPath(),this.ctx.moveTo(0,0),this.ctx.lineTo(this.canvas.width,0),this.ctx.lineTo(this.canvas.width,this.canvas.height),this.ctx.lineTo(0,this.canvas.height),this.ctx.lineTo(0,0),this.formatPath(A.slice(0).reverse()),this.ctx.closePath()},t.prototype.path=function(A){this.ctx.beginPath(),this.formatPath(A),this.ctx.closePath()},t.prototype.formatPath=function(A){var e=this;A.forEach(function(A,t){var n=ba(A)?A.start:A;0===t?e.ctx.moveTo(n.x,n.y):e.ctx.lineTo(n.x,n.y),ba(A)&&e.ctx.bezierCurveTo(A.startControl.x,A.startControl.y,A.endControl.x,A.endControl.y,A.end.x,A.end.y)})},t.prototype.renderRepeat=function(A,e,t,n){this.path(A),this.ctx.fillStyle=e,this.ctx.translate(t,n),this.ctx.fill(),this.ctx.translate(-t,-n)},t.prototype.resizeImage=function(A,e,t){var n;if(A.width===e&&A.height===t)return A;var r=(null!==(n=this.canvas.ownerDocument)&&void 0!==n?n:document).createElement("canvas");return r.width=Math.max(1,e),r.height=Math.max(1,t),r.getContext("2d").drawImage(A,0,0,A.width,A.height,0,0,e,t),r},t.prototype.renderBackgroundImage=function(A){return n(this,void 0,void 0,function(){var e,t,n,o,i,s;return r(this,function(a){switch(a.label){case 0:e=A.styles.backgroundImage.length-1,t=function(t){var o,i,s,a,c,l,u,h,g,d,B,f,w,p,m,C,Q,y,U,F,b,v,E,H,I,x,S,L,D,M,K;return r(this,function(r){switch(r.label){case 0:if(0!==t.type)return[3,5];o=void 0,i=t.url,r.label=1;case 1:return r.trys.push([1,3,,4]),[4,n.context.cache.match(i)];case 2:return o=r.sent(),[3,4];case 3:return r.sent(),n.context.logger.error("Error loading background-image "+i),[3,4];case 4:return o&&(s=Ac(A,e,[o.width,o.height,o.width/o.height]),C=s[0],v=s[1],E=s[2],U=s[3],F=s[4],p=n.ctx.createPattern(n.resizeImage(o,U,F),"repeat"),n.renderRepeat(C,p,v,E)),[3,6];case 5:Ln(t)?(a=Ac(A,e,[null,null,null]),C=a[0],v=a[1],E=a[2],U=a[3],F=a[4],c=pn(t.angle,U,F),l=c[0],u=c[1],h=c[2],g=c[3],d=c[4],(B=document.createElement("canvas")).width=U,B.height=F,f=B.getContext("2d"),w=f.createLinearGradient(u,g,h,d),fn(t.stops,l).forEach(function(A){return w.addColorStop(A.stop,nn(A.color))}),f.fillStyle=w,f.fillRect(0,0,U,F),U>0&&F>0&&(p=n.ctx.createPattern(B,"repeat"),n.renderRepeat(C,p,v,E))):Dn(t)&&(m=Ac(A,e,[null,null,null]),C=m[0],Q=m[1],y=m[2],U=m[3],F=m[4],b=0===t.position.length?[Gt]:t.position,v=Xt(b[0],U),E=Xt(b[b.length-1],F),H=Qn(t,v,E,U,F),I=H[0],x=H[1],I>0&&x>0&&(S=n.ctx.createRadialGradient(Q+v,y+E,0,Q+v,y+E,I),fn(t.stops,2*I).forEach(function(A){return S.addColorStop(A.stop,nn(A.color))}),n.path(C),n.ctx.fillStyle=S,I!==x?(L=A.bounds.left+.5*A.bounds.width,D=A.bounds.top+.5*A.bounds.height,K=1/(M=x/I),n.ctx.save(),n.ctx.translate(L,D),n.ctx.transform(1,0,0,M,0,0),n.ctx.translate(-L,-D),n.ctx.fillRect(Q,K*(y-D)+D,U,F*K),n.ctx.restore()):n.ctx.fill())),r.label=6;case 6:return e--,[2]}})},n=this,o=0,i=A.styles.backgroundImage.slice(0).reverse(),a.label=1;case 1:return o<i.length?(s=i[o],[5,t(s)]):[3,4];case 2:a.sent(),a.label=3;case 3:return o++,[3,1];case 4:return[2]}})})},t.prototype.renderSolidBorder=function(A,e,t){return n(this,void 0,void 0,function(){return r(this,function(n){return this.path(Wa(t,e)),this.ctx.fillStyle=nn(A),this.ctx.fill(),[2]})})},t.prototype.renderDoubleBorder=function(A,e,t,o){return n(this,void 0,void 0,function(){var n,i;return r(this,function(r){switch(r.label){case 0:return e<3?[4,this.renderSolidBorder(A,t,o)]:[3,2];case 1:return r.sent(),[2];case 2:return n=_a(o,t),this.path(n),this.ctx.fillStyle=nn(A),this.ctx.fill(),i=Xa(o,t),this.path(i),this.ctx.fill(),[2]}})})},t.prototype.renderNodeBackgroundAndBorders=function(A){return n(this,void 0,void 0,function(){var e,t,n,o,i,s,a,c,l=this;return r(this,function(r){switch(r.label){case 0:return this.applyEffects(A.getEffects(2)),e=A.container.styles,t=!tn(e.backgroundColor)||e.backgroundImage.length,n=[{style:e.borderTopStyle,color:e.borderTopColor,width:e.borderTopWidth},{style:e.borderRightStyle,color:e.borderRightColor,width:e.borderRightWidth},{style:e.borderBottomStyle,color:e.borderBottomColor,width:e.borderBottomWidth},{style:e.borderLeftStyle,color:e.borderLeftColor,width:e.borderLeftWidth}],o=gc(rc(e.backgroundClip,0),A.curves),t||e.boxShadow.length?(this.ctx.save(),this.path(o),this.ctx.clip(),tn(e.backgroundColor)||(this.ctx.fillStyle=nn(e.backgroundColor),this.ctx.fill()),[4,this.renderBackgroundImage(A.container)]):[3,2];case 1:r.sent(),this.ctx.restore(),e.boxShadow.slice(0).reverse().forEach(function(e){l.ctx.save();var t=Ha(A.curves),n=e.inset?0:lc,r=Ra(t,-n+(e.inset?1:-1)*e.spread.number,(e.inset?1:-1)*e.spread.number,e.spread.number*(e.inset?-2:2),e.spread.number*(e.inset?-2:2));e.inset?(l.path(t),l.ctx.clip(),l.mask(r)):(l.mask(t),l.ctx.clip(),l.path(r)),l.ctx.shadowOffsetX=e.offsetX.number+n,l.ctx.shadowOffsetY=e.offsetY.number,l.ctx.shadowColor=nn(e.color),l.ctx.shadowBlur=e.blur.number,l.ctx.fillStyle=e.inset?nn(e.color):"rgba(0,0,0,1)",l.ctx.fill(),l.ctx.restore()}),r.label=2;case 2:i=0,s=0,a=n,r.label=3;case 3:return s<a.length?0!==(c=a[s]).style&&!tn(c.color)&&c.width>0?2!==c.style?[3,5]:[4,this.renderDashedDottedBorder(c.color,c.width,i,A.curves,2)]:[3,11]:[3,13];case 4:return r.sent(),[3,11];case 5:return 3!==c.style?[3,7]:[4,this.renderDashedDottedBorder(c.color,c.width,i,A.curves,3)];case 6:return r.sent(),[3,11];case 7:return 4!==c.style?[3,9]:[4,this.renderDoubleBorder(c.color,c.width,i,A.curves)];case 8:return r.sent(),[3,11];case 9:return[4,this.renderSolidBorder(c.color,i,A.curves)];case 10:r.sent(),r.label=11;case 11:i++,r.label=12;case 12:return s++,[3,3];case 13:return[2]}})})},t.prototype.renderDashedDottedBorder=function(A,e,t,o,i){return n(this,void 0,void 0,function(){var n,s,a,c,l,u,h,g,d,B,f,w,p,m,C,Q;return r(this,function(r){return this.ctx.save(),n=Ja(o,t),s=Wa(o,t),2===i&&(this.path(s),this.ctx.clip()),ba(s[0])?(a=s[0].start.x,c=s[0].start.y):(a=s[0].x,c=s[0].y),ba(s[1])?(l=s[1].end.x,u=s[1].end.y):(l=s[1].x,u=s[1].y),h=0===t||2===t?Math.abs(a-l):Math.abs(c-u),this.ctx.beginPath(),3===i?this.formatPath(n):this.formatPath(s.slice(0,2)),g=e<3?3*e:2*e,d=e<3?2*e:e,3===i&&(g=e,d=e),B=!0,h<=2*g?B=!1:h<=2*g+d?(g*=f=h/(2*g+d),d*=f):(w=Math.floor((h+d)/(g+d)),p=(h-w*g)/(w-1),d=(m=(h-(w+1)*g)/w)<=0||Math.abs(d-p)<Math.abs(d-m)?p:m),B&&(3===i?this.ctx.setLineDash([0,g+d]):this.ctx.setLineDash([g,d])),3===i?(this.ctx.lineCap="round",this.ctx.lineWidth=e):this.ctx.lineWidth=2*e+1.1,this.ctx.strokeStyle=nn(A),this.ctx.stroke(),this.ctx.setLineDash([]),2===i&&(ba(s[0])&&(C=s[3],Q=s[0],this.ctx.beginPath(),this.formatPath([new ya(C.end.x,C.end.y),new ya(Q.start.x,Q.start.y)]),this.ctx.stroke()),ba(s[1])&&(C=s[1],Q=s[2],this.ctx.beginPath(),this.formatPath([new ya(C.end.x,C.end.y),new ya(Q.start.x,Q.start.y)]),this.ctx.stroke())),this.ctx.restore(),[2]})})},t.prototype.render=function(A){return n(this,void 0,void 0,function(){var e;return r(this,function(t){switch(t.label){case 0:return this.options.backgroundColor&&(this.ctx.fillStyle=nn(this.options.backgroundColor),this.ctx.fillRect(this.options.x,this.options.y,this.options.width,this.options.height)),e=Ga(A),[4,this.renderStack(e)];case 1:return t.sent(),this.applyEffects([]),[2,this.canvas]}})})},t}(cc),hc=function(A){return A instanceof As||A instanceof qi||A instanceof ji&&A.type!==$i&&A.type!==Yi},gc=function(A,e){switch(A){case 0:return Ha(e);case 2:return Ia(e);default:return xa(e)}},dc=function(A){switch(A){case 1:return"center";case 2:return"right";default:return"left"}},Bc=["-apple-system","system-ui"],fc=function(A){return/iPhone OS 15_(0|1)/.test(window.navigator.userAgent)?A.filter(function(A){return-1===Bc.indexOf(A)}):A},wc=function(A){function t(e,t){var n=A.call(this,e,t)||this;return n.canvas=t.canvas?t.canvas:document.createElement("canvas"),n.ctx=n.canvas.getContext("2d"),n.options=t,n.canvas.width=Math.floor(t.width*t.scale),n.canvas.height=Math.floor(t.height*t.scale),n.canvas.style.width=t.width+"px",n.canvas.style.height=t.height+"px",n.ctx.scale(n.options.scale,n.options.scale),n.ctx.translate(-t.x,-t.y),n.context.logger.debug("EXPERIMENTAL ForeignObject renderer initialized ("+t.width+"x"+t.height+" at "+t.x+","+t.y+") with scale "+t.scale),n}return e(t,A),t.prototype.render=function(A){return n(this,void 0,void 0,function(){var e,t;return r(this,function(n){switch(n.label){case 0:return e=Ui(this.options.width*this.options.scale,this.options.height*this.options.scale,this.options.scale,this.options.scale,A),[4,pc(e)];case 1:return t=n.sent(),this.options.backgroundColor&&(this.ctx.fillStyle=nn(this.options.backgroundColor),this.ctx.fillRect(0,0,this.options.width*this.options.scale,this.options.height*this.options.scale)),this.ctx.drawImage(t,-this.options.x*this.options.scale,-this.options.y*this.options.scale),[2,this.canvas]}})})},t}(cc),pc=function(A){return new Promise(function(e,t){var n=new Image;n.onload=function(){e(n)},n.onerror=t,n.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent((new XMLSerializer).serializeToString(A))})},mc=function(){function A(A){var e=A.id,t=A.enabled;this.id=e,this.enabled=t,this.start=Date.now()}return A.prototype.debug=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&("undefined"!=typeof window&&window.console&&"function"==typeof console.debug?console.debug.apply(console,o([this.id,this.getTime()+"ms"],A)):this.info.apply(this,A))},A.prototype.getTime=function(){return Date.now()-this.start},A.prototype.info=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&"undefined"!=typeof window&&window.console&&"function"==typeof console.info&&console.info.apply(console,o([this.id,this.getTime()+"ms"],A))},A.prototype.warn=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&("undefined"!=typeof window&&window.console&&"function"==typeof console.warn?console.warn.apply(console,o([this.id,this.getTime()+"ms"],A)):this.info.apply(this,A))},A.prototype.error=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&("undefined"!=typeof window&&window.console&&"function"==typeof console.error?console.error.apply(console,o([this.id,this.getTime()+"ms"],A)):this.info.apply(this,A))},A.instances={},A}(),Cc=function(){function A(e,t){var n;this.windowBounds=t,this.instanceName="#"+A.instanceCount++,this.logger=new mc({id:this.instanceName,enabled:e.logging}),this.cache=null!==(n=e.cache)&&void 0!==n?n:new ga(this,e)}return A.instanceCount=1,A}(),Qc=function(A,e){return void 0===e&&(e={}),yc(A,e)};"undefined"!=typeof window&&ha.setContext(window);var yc=function(A,e){return n(void 0,void 0,void 0,function(){var n,o,c,l,u,h,g,d,B,f,w,p,m,C,Q,y,U,F,b,v,E,H,I,x,S,L,D,M,K,k,T,R,P,O,V,N,G,W;return r(this,function(r){switch(r.label){case 0:if(!A||"object"!=typeof A)return[2,Promise.reject("Invalid element provided as first argument")];if(!(n=A.ownerDocument))throw new Error("Element is not attached to a Document");if(!(o=n.defaultView))throw new Error("Document is not attached to a Window");return c={allowTaint:null!==(H=e.allowTaint)&&void 0!==H&&H,imageTimeout:null!==(I=e.imageTimeout)&&void 0!==I?I:15e3,proxy:e.proxy,useCORS:null!==(x=e.useCORS)&&void 0!==x&&x},l=t({logging:null===(S=e.logging)||void 0===S||S,cache:e.cache},c),u={windowWidth:null!==(L=e.windowWidth)&&void 0!==L?L:o.innerWidth,windowHeight:null!==(D=e.windowHeight)&&void 0!==D?D:o.innerHeight,scrollX:null!==(M=e.scrollX)&&void 0!==M?M:o.pageXOffset,scrollY:null!==(K=e.scrollY)&&void 0!==K?K:o.pageYOffset},h=new i(u.scrollX,u.scrollY,u.windowWidth,u.windowHeight),g=new Cc(l,h),d=null!==(k=e.foreignObjectRendering)&&void 0!==k&&k,B={allowTaint:null!==(T=e.allowTaint)&&void 0!==T&&T,onclone:e.onclone,ignoreElements:e.ignoreElements,inlineImages:d,copyStyles:d},g.logger.debug("Starting document clone with size "+h.width+"x"+h.height+" scrolled to "+-h.left+","+-h.top),f=new Ys(g,A,B),(w=f.clonedReferenceElement)?[4,f.toIFrame(n,h)]:[2,Promise.reject("Unable to find element in cloned iframe")];case 1:return p=r.sent(),m=ws(w)||Bs(w)?a(w.ownerDocument):s(g,w),C=m.width,Q=m.height,y=m.left,U=m.top,F=Uc(g,w,e.backgroundColor),b={canvas:e.canvas,backgroundColor:F,scale:null!==(P=null!==(R=e.scale)&&void 0!==R?R:o.devicePixelRatio)&&void 0!==P?P:1,x:(null!==(O=e.x)&&void 0!==O?O:0)+y,y:(null!==(V=e.y)&&void 0!==V?V:0)+U,width:null!==(N=e.width)&&void 0!==N?N:Math.ceil(C),height:null!==(G=e.height)&&void 0!==G?G:Math.ceil(Q)},d?(g.logger.debug("Document cloned, using foreign object rendering"),[4,new wc(g,b).render(w)]):[3,3];case 2:return v=r.sent(),[3,5];case 3:return g.logger.debug("Document cloned, element located at "+y+","+U+" with size "+C+"x"+Q+" using computed rendering"),g.logger.debug("Starting DOM parsing"),E=os(g,w),F===E.styles.backgroundColor&&(E.styles.backgroundColor=hn.TRANSPARENT),g.logger.debug("Starting renderer for element at "+b.x+","+b.y+" with size "+b.width+"x"+b.height),[4,new uc(g,b).render(E)];case 4:v=r.sent(),r.label=5;case 5:return(null===(W=e.removeContainer)||void 0===W||W)&&(Ys.destroy(p)||g.logger.error("Cannot detach cloned iframe as it is not in the DOM anymore")),g.logger.debug("Finished rendering"),[2,v]}})})},Uc=function(A,e,t){var n=e.ownerDocument,r=n.documentElement?un(A,getComputedStyle(n.documentElement).backgroundColor):hn.TRANSPARENT,o=n.body?un(A,getComputedStyle(n.body).backgroundColor):hn.TRANSPARENT,i="string"==typeof t?un(A,t):null===t?hn.TRANSPARENT:4294967295;return e===n.documentElement?tn(r)?tn(o)?i:o:r:i};return Qc}()}(ht);var gt=lt(ht.exports);class dt{constructor(A,e={},t){this.targetElement=null,this.isRunning=!1,this.screenshotCount=0,this.screenshotHistory=[],this.lastScreenshotTime=0,this.error=null,this.isEnabled=!1,this.uploadError=null,this.currentBinaryConfig=null,this.sendToIframeCallback=null,this.worker=null,this.screenshotTimer=null,this.screenshotContext=null,this.isScreenshotInProgress=!1,this.screenshotQueue=[],this.isProcessingQueue=!1,this.messageHandler=null,this.dynamicInterval=null,this.expirationTimer=null,this.isCurrentTaskCompleted=!0,this.scheduleNextFn=null,this.imageProxyCache=new Map,this.intersectionObserver=null,this.visibleElementsCache=new Set,this.preconnected=!1,this.imageDownloadQueue=new Map,this.activeDownloads=new Set,this.maxConcurrentImageDownloads=5,this.globalErrorHandler=null,this.globalRejectionHandler=null,this.targetElement=A,this.sendToIframeCallback=t||null,this.options={interval:e.interval??1e3,quality:e.quality??.15,scale:e.scale??1,maxHistory:e.maxHistory??10,compress:e.compress??!1,maxWidth:e.maxWidth??1600,maxHeight:e.maxHeight??900,outputFormat:e.outputFormat??"webp",enableCORS:e.enableCORS??!0,proxyUrl:e.proxyUrl??"",useProxy:e.useProxy??!0,engine:e.engine??"modern-screenshot",corsMode:e.corsMode??"canvas-proxy",debug:void 0!==e.debug&&e.debug,maxRetries:e.maxRetries??2,preloadImages:e.preloadImages??!1,maxConcurrentDownloads:e.maxConcurrentDownloads??10,onlyVisibleImages:e.onlyVisibleImages??!0,imageCacheTTL:e.imageCacheTTL??6e5,usePreconnect:e.usePreconnect??!0,imageLoadTimeout:e.imageLoadTimeout??5e3,useIntersectionObserver:e.useIntersectionObserver??!0,fetchPriority:e.fetchPriority??"high",maxImageSize:e.maxImageSize??5,skipLargeImages:e.skipLargeImages??!0,workerNumber:e.workerNumber??void 0,workerUrl:e.workerUrl??void 0,drawImageInterval:e.drawImageInterval??20,backgroundColor:e.backgroundColor??"#ffffff"},this.setupMessageListener(),this.setupVisibilityChangeListener(),this.options.debug&&(console.log("📸 ScreenshotManager 初始化完成"),console.log(`📸 配置: interval=${this.options.interval}ms, engine=${this.options.engine}, debug=${this.options.debug}`),console.log("📸 等待 iframe 发送 checkScreenshot 消息...")),this.startCacheCleanup(),this.options.usePreconnect&&this.options.useProxy&&this.options.proxyUrl&&""!==this.options.proxyUrl.trim()&&this.preconnectProxy(),this.options.useIntersectionObserver&&this.options.onlyVisibleImages&&this.initIntersectionObserver()}setTargetElement(A){if(this.targetElement!==A&&this.screenshotContext){try{eA(this.screenshotContext),this.options.debug&&console.log("📸 目标元素变化,清理 context")}catch(A){}this.screenshotContext=null}this.targetElement=A}setupMessageListener(){this.messageHandler||(this.messageHandler=A=>{this.handleIframeMessage(A)},window.addEventListener("message",this.messageHandler),this.options.debug&&console.log("📸 消息监听器已设置,正在监听 iframe 消息..."))}setupVisibilityChangeListener(){document.addEventListener("visibilitychange",()=>{document.hidden?this.options.debug&&console.log("📸 页面隐藏,截图轮询已暂停"):this.options.debug&&console.log("📸 页面显示,截图轮询已恢复")})}handleScreenshotConfig(A){try{const e={data:{type:"checkScreenshot",data:A}};this.handleIframeMessage(e)}catch(A){this.options.debug&&console.error("📸 [ScreenshotManager] Error handling screenshot config:",A)}}handleIframeMessage(A){try{if(!A.data||"checkScreenshot"!==A.data.type)return;this.options.debug&&console.log("📸 [iframe] 收到消息:",A.data);const e=this.parseBinaryConfig(A.data.data);if(e){this.currentBinaryConfig=e;const A=Date.now();if(e.ttl>0&&e.ttl>A){this.isEnabled||(this.options.debug&&console.log("📸 [iframe] 启用截图功能(二进制模式)"),this.isEnabled=!0),this.dynamicInterval=e.duration||this.options.interval;const t=e.ttl-A;if(this.options.debug){const A=Math.ceil(t/6e4);console.log(`📸 [iframe] 设置轮询间隔: ${this.dynamicInterval}ms,剩余有效时间: ${A}分钟`)}this.takeScreenshotAndSendBinary(e),this.expirationTimer&&(clearTimeout(this.expirationTimer),this.expirationTimer=null),this.expirationTimer=setTimeout(()=>{this.options.debug&&console.log("📸 [iframe] 二进制配置已过期,停止截图"),this.stopScreenshot(),this.isEnabled=!1,this.currentBinaryConfig=null,this.expirationTimer=null},t)}else this.options.debug&&(0===e.ttl?console.log("📸 [iframe] ttl == 0,禁用截图功能"):console.log("📸 [iframe] ttl 已过期,禁用截图功能")),this.stopScreenshot(),this.isEnabled=!1,this.currentBinaryConfig=null,this.expirationTimer&&(clearTimeout(this.expirationTimer),this.expirationTimer=null);return}this.options.debug&&console.error("📸 [iframe] 解析配置失败:未识别的配置格式"),this.uploadError="解析配置失败:仅支持二进制配置格式"}catch(A){this.options.debug&&console.error("📸 [iframe] 处理消息失败:",A),this.uploadError=A instanceof Error?A.message:String(A)}}parseBinaryConfig(A){try{const e="string"==typeof A?A:JSON.stringify(A),t=JSON.parse(e);return"string"==typeof t.sign&&"number"==typeof t.type&&"string"==typeof t.topic&&"number"==typeof t.ttl?{sign:String(t.sign),agent:String(t.agent||""),type:t.type,topic:t.topic,routingKey:String(t.routingKey),ttl:t.ttl,duration:"number"==typeof t.duration&&t.duration>0?t.duration:this.options.interval}:null}catch(A){return null}}startScreenshot(A){if(!this.isEnabled)return void(this.options.debug&&console.warn("📸 截图功能已禁用,无法启动"));const e=A||this.dynamicInterval||this.options.interval;this.isRunning&&(this.options.debug&&console.log(`📸 更新轮询间隔: ${e}ms`),this.stopScreenshot()),this.options.debug&&console.log(`📸 开始轮询截图,间隔: ${e}ms`),this.isRunning=!0,!this.worker&&this.options.compress&&(this.worker=this.createWorker());const t=async()=>{if(!this.isCurrentTaskCompleted){this.options.debug&&console.log("📸 [定时] 等待上次任务完成...");const A=setInterval(()=>{this.isCurrentTaskCompleted&&this.isRunning?(clearInterval(A),t()):this.isRunning||clearInterval(A)},100);return}if(this.isRunning&&this.isEnabled&&!document.hidden){this.isCurrentTaskCompleted=!1;const A=performance.now();this.options.debug&&console.log("📸 [定时开始] 开始新一轮截图任务");try{if(await this.takeScreenshot(A),this.currentBinaryConfig&&!this.options.compress){const e=performance.now(),t=this.getLatestScreenshot();if(t)try{const n=(t.split(",")[1]||"").length,r=performance.now(),o=this.dataUrlToArrayBuffer(t),i=o.byteLength,s=performance.now()-r,a=performance.now(),c=this.buildBinaryConfig(this.currentBinaryConfig),l=c.byteLength,u=performance.now()-a,h=performance.now(),g=this.combineBinaryData(c,o),d=g.byteLength,B=performance.now()-h;if(this.options.debug&&(console.log("📸 [轮询-大小统计]"),console.log(` Base64 大小: ${n} 字符`),console.log(` 图片字节大小: ${(i/1024).toFixed(2)} KB (${i} 字节)`),console.log(` 配置字节大小: ${l} 字节`),console.log(` 拼接后总大小: ${(d/1024).toFixed(2)} KB (${d} 字节)`),console.log(` ⏱️ 数据转换耗时: ${s.toFixed(2)}ms`),console.log(` ⏱️ 构建配置耗时: ${u.toFixed(2)}ms`),console.log(` ⏱️ 合并数据耗时: ${B.toFixed(2)}ms`)),this.sendToIframeCallback){const t=performance.now(),n={type:"screenshotBinary",data:g};this.sendToIframeCallback(n);const r=performance.now()-t,o=performance.now()-e,i=performance.now()-A;this.options.debug&&(console.log("📸 [轮询] ✅ 二进制数据已发送到 iframe"),console.log(` ⏱️ 发送回调耗时: ${r.toFixed(2)}ms`),console.log(` ⏱️ 发送阶段总耗时: ${o.toFixed(2)}ms`),console.log(` ⏱️ 从定时开始到发送完成总耗时: ${i.toFixed(2)}ms`))}}catch(A){this.options.debug&&console.error("📸 [轮询] ❌ 处理二进制数据失败:",A)}this.isCurrentTaskCompleted=!0}else this.currentBinaryConfig&&this.options.compress?this.options.debug&&console.log("📸 [轮询] 等待 Worker 压缩完成后发送到 iframe..."):this.isCurrentTaskCompleted=!0}catch(A){this.options.debug&&console.error("📸 [轮询] 截图失败:",A),this.isCurrentTaskCompleted=!0}}this.isRunning&&this.isCurrentTaskCompleted&&(this.screenshotTimer=setTimeout(t,e))};this.scheduleNextFn=t,t()}stopScreenshot(){this.isRunning&&(this.options.debug&&console.log("📸 停止轮询截图"),this.isRunning=!1,this.screenshotTimer&&(clearInterval(this.screenshotTimer),this.screenshotTimer=null),this.isCurrentTaskCompleted=!0,this.scheduleNextFn=null)}async captureOnce(A=!1){return this.isEnabled||A?await this.takeScreenshot():(this.options.debug&&console.warn("📸 截图功能已禁用,无法执行截图。如需测试,请先调用 enable(true) 启用截图功能"),!1)}async takeScreenshot(A){if(!this.targetElement)return this.options.debug&&console.warn("📸 目标元素不存在"),!1;const e=performance.now();this.setupGlobalErrorHandlers();try{if(this.options.debug&&(console.log(`📸 开始截图 #${this.screenshotCount+1}...`),A)){const t=e-A;console.log(` ⏱️ 定时到截图开始耗时: ${t.toFixed(2)}ms`)}const t=performance.now();await Promise.all([this.waitForStylesAndFonts(),this.waitForFonts()]);const n=performance.now()-t;this.options.debug&&console.log(` ⏱️ 等待样式和字体加载耗时: ${n.toFixed(2)}ms`);const r=performance.now();await new Promise(A=>requestAnimationFrame(()=>{requestAnimationFrame(()=>A())}));const o=performance.now()-r;this.options.debug&&console.log(` ⏱️ 等待渲染完成耗时: ${o.toFixed(2)}ms`);const i=this.options.engine||"modern-screenshot";let s;this.options.debug&&console.log(`📸 使用截图引擎: ${i}`),this.options.preloadImages&&this.options.enableCORS&&"modern-screenshot"===i?(this.cleanExpiredCache(),await this.preprocessNetworkImages(this.targetElement),await this.waitForImagesToLoad(this.targetElement)):this.cleanExpiredCache();const a=performance.now();"html2canvas"===i?(await Promise.all([this.waitForStylesAndFonts(),this.waitForFonts()]),await new Promise(A=>setTimeout(A,200)),s=await this.takeScreenshotWithHtml2Canvas(this.targetElement)):"snapdom"===i?(await new Promise(A=>setTimeout(A,50)),s=await this.takeScreenshotWithSnapdom(this.targetElement)):(await new Promise(A=>setTimeout(A,50)),s=await this.takeScreenshotWithModernScreenshot(this.targetElement));const c=performance.now()-a;this.options.debug&&console.log(` ⏱️ 截图引擎执行耗时: ${c.toFixed(2)}ms`);const l=Date.now();if(this.screenshotCount++,this.lastScreenshotTime=l,this.screenshotHistory.length>=this.options.maxHistory){const A=this.screenshotHistory.shift();A&&A.length>1e6&&this.options.debug&&console.log(`📸 清理旧截图,释放内存: ${Math.round(.75*A.length/1024)} KB`)}this.screenshotHistory.push(s);let u=this.screenshotHistory.reduce((A,e)=>A+e.length,0);const h=52428800;for(;this.screenshotHistory.length>0&&u>h;){const A=this.screenshotHistory.shift();if(!A)break;{const e=A.length;u-=e,this.options.debug&&console.warn(`📸 ⚠️ 历史记录总大小超过限制,清理最旧截图: ${Math.round(.75*e/1024)} KB`)}}const g=performance.now()-e,d=s.split(",")[1]||"";this.options.debug&&(console.log("📸 截图完成:"),console.log(`📸 编号: #${this.screenshotCount}`),console.log(`📸 时间: ${new Date(l).toLocaleTimeString()}`),console.log(`📸 原始大小: ${Math.round(.75*d.length/1024)} KB`),console.log(`📸 Base64 长度: ${d.length} 字符`),console.log(` ⏱️ 截图总耗时: ${g.toFixed(2)}ms`),console.log("📸 [压缩前] 完整 Base64:"),console.log(d),console.log("📸 [压缩前] 完整 Data URL:"),console.log(s));if(this.options.compress)if(this.worker||(this.worker=this.createWorker(),this.options.debug&&(this.worker?console.log("📸 Worker 已创建,准备压缩"):console.warn("📸 ⚠️ Worker 创建失败,无法使用压缩功能"))),this.worker){const e=performance.now();this.options.debug&&console.log("📸 发送到 WebWorker 进行压缩...");const t=s;this.worker.__compressStartTime=e,this.worker.__scheduleStartTime=A,this.worker.postMessage({type:"COMPRESS_IMAGE",data:{dataUrl:t,maxWidth:this.options.maxWidth,maxHeight:this.options.maxHeight,quality:this.options.quality,outputFormat:this.options.outputFormat,timestamp:l,count:this.screenshotCount}})}else if(this.options.debug&&console.warn("📸 ⚠️ Worker 不可用,跳过压缩(使用原始截图)"),this.currentBinaryConfig&&this.sendToIframeCallback){const A=this.getLatestScreenshot();if(A)try{const e=this.dataUrlToArrayBuffer(A),t=this.buildBinaryConfig(this.currentBinaryConfig),n={type:"screenshotBinary",data:this.combineBinaryData(t,e)};this.sendToIframeCallback(n),this.options.debug&&console.log("📸 [Worker 不可用] ✅ 原始截图已发送到 iframe")}catch(A){console.error("📸 [Worker 不可用] ❌ 发送原始截图失败:",A)}}return this.error=null,!0}catch(A){const e=A instanceof Error?A.message:String(A);return e.includes("CORS")||e.includes("Access-Control-Allow-Origin")||e.includes("cross-origin")||e.includes("XMLHttpRequest")||e.includes("Status:0")?this.options.debug&&console.warn("📸 截图遇到跨域问题(已忽略)"):(console.error("📸 截图失败:",A),this.error=e),!1}finally{this.removeGlobalErrorHandlers()}}async takeScreenshotWithSnapdom(A){this.options.debug&&console.log("📸 使用 snapdom 引擎截图...");let e=A,t=null;try{const n=A.getBoundingClientRect();if(0===n.width||0===n.height)throw new Error("元素尺寸为 0,无法截图");const r={};if(A===document.body||A===document.documentElement)t=document.createElement("div"),t.style.position="fixed",t.style.top="0",t.style.left="0",t.style.width=`${window.innerWidth}px`,t.style.height=`${window.innerHeight}px`,t.style.overflow="hidden",t.style.zIndex="999999",t.style.pointerEvents="none",t.style.backgroundColor=window.getComputedStyle(document.body).backgroundColor||"white",document.body.appendChild(t),e=A,this.options.debug&&(console.log("📸 注意:snapdom 将截图整个 body,建议使用 html2canvas 或 modern-screenshot 来限制可见区域"),console.log(`📸 可见区域尺寸: ${window.innerWidth}x${window.innerHeight}`)),t&&t.parentNode&&t.parentNode.removeChild(t),t=null;else{const e=A.getBoundingClientRect();!(e.top>=0&&e.left>=0&&e.bottom<=window.innerHeight&&e.right<=window.innerWidth)&&this.options.debug&&(console.warn("📸 ⚠️ 元素部分不可见,snapdom 可能会截图整个元素(包括不可见部分)"),console.warn("📸 建议:使用 html2canvas 或 modern-screenshot 来限制可见区域"))}if(this.options.useProxy&&this.options.proxyUrl&&""!==this.options.proxyUrl.trim()){let A=this.options.proxyUrl.trim();A.includes("?url=")||(A=A.endsWith("?")?A+"url=":A+"?url="),r.useProxy=A,this.options.debug&&console.log(`📸 使用代理服务器处理跨域图片: ${A}`)}else this.options.debug&&(this.options.useProxy?this.options.proxyUrl&&""!==this.options.proxyUrl.trim()||console.log("📸 未配置代理服务器(proxyUrl 为空),直接截图(可能遇到 CORS 问题)"):console.log("📸 代理功能已禁用(useProxy: false)"));const o=this.options.outputFormat||"png";let i;switch(o){case"jpeg":i=await st.toJpg(e,r);break;case"webp":i=await st.toWebp(e,r);break;default:i=await st.toPng(e,r)}const s=i.src;if(!s||s.length<100)throw new Error("生成的 base64 数据无效或过短");if(null!==t){const A=t,e=A.parentNode;e&&e.removeChild(A)}return this.options.debug&&console.log(`📸 snapdom 截图成功!格式: ${o}, 尺寸: ${i.width}x${i.height}`),s}catch(A){if(null!==t){const A=t,e=A.parentNode;e&&e.removeChild(A)}const e=A instanceof Error?A.message:String(A);throw"EncodingError"===(A instanceof Error?A.name:"Unknown")||e.includes("cannot be decoded")?this.options.debug&&(console.warn("📸 ⚠️ 图片解码失败 - 这通常是因为跨域图片无法访问"),console.warn("📸 💡 解决方案:配置 proxyUrl 选项"),console.warn("📸 📖 参考: https://snapdom.dev/#cors")):(e.includes("CORS")||e.includes("cross-origin"))&&this.options.debug&&console.warn("📸 ⚠️ 检测到 CORS 错误,建议配置 proxyUrl 选项"),A}}async takeScreenshotWithHtml2Canvas(A){this.options.debug&&console.log("📸 使用 html2canvas 引擎截图...");try{const e=/iPhone|iPad|iPod/i.test(navigator.userAgent);await this.waitForAllStylesLoaded(),await this.waitForFonts(),e&&await new Promise(A=>setTimeout(A,300)),await new Promise(A=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{setTimeout(()=>A(),e?200:100)})})});const t=A.getBoundingClientRect();if(0===t.width||0===t.height)throw new Error("元素尺寸为 0,无法截图");const n=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);let r=A.scrollWidth||A.clientWidth||A.offsetWidth,o=A.scrollHeight||A.clientHeight||A.offsetHeight;A!==document.body&&A!==document.documentElement||(r=Math.max(A.scrollWidth,A.offsetWidth,document.documentElement.scrollWidth,document.documentElement.offsetWidth,window.innerWidth),o=Math.max(A.scrollHeight,A.offsetHeight,document.documentElement.scrollHeight,document.documentElement.offsetHeight,window.innerHeight));const i=Math.max(this.options.quality||.4,.1),s={backgroundColor:"#ffffff",scale:void 0!==this.options.scale?this.options.scale:n?.5:.6,useCORS:this.options.enableCORS,allowTaint:!this.options.enableCORS,logging:this.options.debug,onclone:(A,e)=>{const t=/iPhone|iPad|iPod/i.test(navigator.userAgent);if(!A.head){const e=A.createElement("head");A.documentElement&&A.documentElement.insertBefore(e,A.documentElement.firstChild)}if(!A.head)return;document.querySelectorAll('link[rel="stylesheet"]').forEach(e=>{const t=e.getAttribute("href");if(t){if(!A.querySelector(`link[href="${t}"]`)){const n=A.createElement("link");n.rel="stylesheet",n.type=e.getAttribute("type")||"text/css",n.href=t,n.media=e.getAttribute("media")||"all",A.head.appendChild(n)}}});document.querySelectorAll("style").forEach(e=>{if(e.textContent){const t=A.querySelectorAll("style");let n=!1;for(const A of Array.from(t))if(A.textContent===e.textContent){n=!0;break}if(!n){const t=A.createElement("style");t.textContent=e.textContent,t.type=e.type||"text/css",A.head.appendChild(t)}}});try{Array.from(document.styleSheets).forEach(e=>{try{if(e.cssRules&&e.cssRules.length>0){let t="";for(let A=0;A<e.cssRules.length;A++)t+=e.cssRules[A].cssText+"\n";if(t){const e=A.querySelectorAll("style");let n=!1;for(const A of Array.from(e))if(A.textContent&&A.textContent.includes(t.substring(0,100))){n=!0;break}if(!n){const e=A.createElement("style");e.textContent=t,A.head.appendChild(e)}}}}catch(A){}})}catch(A){}if(t)try{e.querySelectorAll("*").forEach(A=>{try{const e=A,t=window.getComputedStyle(e),n=[];for(let A=0;A<t.length;A++){const e=t[A],r=t.getPropertyValue(e),o=t.getPropertyPriority(e);r&&"none"!==r&&"auto"!==r&&"normal"!==r&&n.push(`${e}: ${r}${"important"===o?" !important":""}`)}if(n.length>0){const A=e.getAttribute("style")||"",t=A?`${A}; ${n.join("; ")}`:n.join("; ");e.setAttribute("style",t)}}catch(A){}})}catch(A){this.options.debug&&console.warn("📸 iOS 样式内联化失败:",A)}if(this.options.debug){const e=A.querySelectorAll('link[rel="stylesheet"]').length,n=A.querySelectorAll("style").length;console.log(`📸 onclone: 已复制 ${e} 个样式表链接和 ${n} 个内联样式标签${t?" (iOS 模式:已内联化计算样式)":""}`)}},removeContainer:!0,imageTimeout:this.options.imageLoadTimeout||5e3,ignoreElements:A=>{const e=window.getComputedStyle(A);return"none"===e.display||"hidden"===e.visibility||"0"===e.opacity}};if(this.options.useProxy&&this.options.proxyUrl&&""!==this.options.proxyUrl.trim()){const A=s.onclone;s.onclone=(e,t)=>{A&&A(e,t);e.querySelectorAll("img").forEach(A=>{const e=A.getAttribute("src");if(!e)return;try{if(new URL(e,window.location.href).origin===window.location.origin)return}catch{}const t=this.getCachedImage(e);if(t)return A.src=t,void(this.options.debug&&console.log(`📸 使用缓存的图片: ${e.substring(0,50)}...`));try{if(!this.options.proxyUrl)return void(this.options.debug&&console.warn(`📸 ⚠️ 未配置代理 URL,跨域图片可能无法显示: ${e}`));const t=new URLSearchParams({url:e});let n=this.options.proxyUrl.trim();n=n.replace(/[?&]$/,"");const r=`${n}?${t.toString()}`;A.src=r,this.options.debug&&console.log(`📸 使用代理 URL 替换跨域图片: ${e.substring(0,50)}... -> ${r.substring(0,50)}...`)}catch(A){this.options.debug&&console.warn(`📸 ⚠️ 处理图片 URL 失败: ${e}`,A)}})}}this.options.debug&&(console.log(`📸 html2canvas 配置: 元素尺寸 ${r}x${o}, 质量 ${i.toFixed(2)}, 缩放 ${s.scale}`),console.log("📸 html2canvas 将自动计算截图尺寸(不限制 width/height)"),console.log(`📸 用户配置质量: ${this.options.quality}, 实际使用质量: ${i.toFixed(2)}`));const a=await gt(A,s);let c,l="image/png";if("webp"===this.options.outputFormat)try{const A=document.createElement("canvas");A.width=1,A.height=1;-1!==A.toDataURL("image/webp").indexOf("webp")?(l="image/webp",c=i):(l="image/jpeg",c=i)}catch{l="image/jpeg",c=i}else"jpeg"===this.options.outputFormat&&(l="image/jpeg",c=i);const u="image/png"===l?a.toDataURL(l):a.toDataURL(l,c);if(!u||u.length<100)throw new Error("生成的截图数据无效或过短");return this.options.debug&&(console.log(`📸 html2canvas 截图成功!格式: ${l}, 尺寸: ${a.width}x${a.height}, 质量: ${c?.toFixed(2)||"N/A (PNG)"}`),console.log(`📸 输出格式: ${l}, 用户配置质量: ${this.options.quality}, 实际使用质量: ${c?.toFixed(2)||"N/A (PNG)"}`)),u}catch(A){const e=A instanceof Error?A.message:String(A);throw this.options.debug&&(console.error("📸 html2canvas 截图失败:",e),(e.includes("CORS")||e.includes("cross-origin"))&&console.warn("📸 💡 建议:配置 proxyUrl 选项处理跨域图片")),A}}async takeScreenshotWithModernScreenshot(A){if(this.isScreenshotInProgress)return this.screenshotQueue.length>=1?(this.options.debug&&console.log("📸 截图队列已满,跳过当前请求(等待队列处理)"),new Promise((e,t)=>{const n=()=>{this.isScreenshotInProgress||0!==this.screenshotQueue.length?setTimeout(n,100):this.takeScreenshotWithModernScreenshot(A).then(e).catch(t)};n()})):new Promise((e,t)=>{this.screenshotQueue.push({resolve:()=>{this.takeScreenshotWithModernScreenshot(A).then(e).catch(t)},reject:t}),this.isProcessingQueue||this.processScreenshotQueue()});this.isScreenshotInProgress=!0,this.options.debug&&console.log("📸 使用 modern-screenshot 引擎截图(Worker 模式)...");try{let e,t;A===document.body||A===document.documentElement?(e=window.innerWidth,t=window.innerHeight):(e=A.clientWidth||A.offsetWidth||A.scrollWidth,t=A.clientHeight||A.offsetHeight||A.scrollHeight),this.options.debug&&(console.log(`📸 目标元素: ${A.tagName}${A.id?"#"+A.id:""}${A.className?"."+A.className.split(" ").join("."):""}`),console.log(`📸 元素尺寸: ${e}x${t}`),console.log(`📸 scrollWidth: ${A.scrollWidth}, scrollHeight: ${A.scrollHeight}`),console.log(`📸 clientWidth: ${A.clientWidth}, clientHeight: ${A.clientHeight}`),console.log(`📸 offsetWidth: ${A.offsetWidth}, offsetHeight: ${A.offsetHeight}`),A!==document.body&&A!==document.documentElement||(console.log(`📸 页面完整尺寸: ${document.documentElement.scrollWidth}x${document.documentElement.scrollHeight}`),console.log(`📸 窗口尺寸: ${window.innerWidth}x${window.innerHeight}`)));const n=this.options.useProxy&&this.options.proxyUrl&&""!==this.options.proxyUrl.trim(),r=async A=>{if(A.startsWith("data:")||A.startsWith("blob:"))return A;try{if(new URL(A,window.location.href).origin===window.location.origin)return A}catch(A){}const e=this.getCachedImage(A);if(e)return this.options.debug&&console.log(`📸 ✅ 使用内存缓存图片: ${A.substring(0,50)}...`),e;try{const e=new URLSearchParams({url:A,maxWidth:String(this.options.maxWidth||1600),maxHeight:String(this.options.maxHeight||900),quality:String(Math.round(100*(this.options.quality||.4))),format:this.options.outputFormat||"webp"});let t=this.options.proxyUrl;t=t.replace(/[?&]$/,"");const n=`${t}?${e.toString()}`,r=new AbortController,o=setTimeout(()=>r.abort(),this.options.imageLoadTimeout);try{const e={method:"GET",mode:"cors",credentials:"omit",headers:{Accept:"image/*"},cache:"no-cache",signal:r.signal};"priority"in e&&(e.priority=this.options.fetchPriority);const t=await fetch(n,e);if(clearTimeout(o),!t.ok)throw new Error(`代理请求失败: ${t.status}`);const i=await t.blob(),s=await this.blobToDataUrl(i);return this.setCachedImage(A,s),s}catch(A){throw clearTimeout(o),A}}catch(e){return this.options.debug&&console.warn(`📸 代理处理图片失败: ${A.substring(0,100)}...`,e),A}},o=A.getBoundingClientRect();if(0===o.width||0===o.height)throw new Error("元素尺寸为 0,无法截图");let i;if(void 0!==this.options.workerNumber&&this.options.workerNumber>0)i=this.options.workerNumber;else{const A=navigator.hardwareConcurrency||4,e=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),t=navigator.hardwareConcurrency&&navigator.hardwareConcurrency<=4;if(e||t)i=1;else if(A>=8){i=this.options.interval<2e3?Math.min(4,Math.floor(A/2)):3}else i=A>=4?2:1}if(i=Math.max(1,Math.min(8,i)),!this.screenshotContext){this.options.debug&&(console.log("📸 创建截图 Worker 上下文..."),console.log(`📸 Worker 模式: ${i} 个 Worker`));const e={workerNumber:i,...n?{fetchFn:r,fetch:{requestInit:{cache:"no-cache"},bypassingCache:!0}}:{}};this.options.workerUrl?(e.workerUrl=this.options.workerUrl,this.options.debug&&console.log(`📸 使用指定的 Worker URL: ${this.options.workerUrl}`)):this.options.debug&&console.log("📸 Worker URL 未指定,modern-screenshot 将自动处理");try{this.screenshotContext=await P(A,e),this.options.debug&&console.log("📸 Worker 上下文创建成功")}catch(A){throw this.options.debug&&console.error("📸 创建 Worker 上下文失败:",A),A}}try{let e;const t=this.options.outputFormat||"webp";this.options.debug&&console.log(`📸 使用 ${t.toUpperCase()} 格式截图(直接输出,无需转换)...`);const n={scale:this.options.scale??.7,backgroundColor:this.options.backgroundColor??"#ffffff",type:`image/${t}`,quality:this.options.quality??.6,drawImageInterval:this.options.drawImageInterval??20,features:{copyScrollbar:!1,removeAbnormalAttributes:!0,removeControlCharacter:!0,fixSvgXmlDecode:!0,restoreScrollPosition:!1},timeout:1e4};try{if(e="webp"===t?await CA(this.screenshotContext,n):"jpeg"===t?await pA(this.screenshotContext,n):await mA(this.screenshotContext,n),!e||e.length<100)throw new Error("生成的截图数据无效或过短");return this.options.debug&&console.log(`📸 ✅ modern-screenshot 截图成功(Worker 模式,${t.toUpperCase()} 格式)`),e}catch(n){if(this.options.debug&&console.warn("📸 Worker 模式失败,回退到普通模式:",n),this.screenshotContext){try{eA(this.screenshotContext)}catch{}this.screenshotContext=null}const r={scale:.3,backgroundColor:this.options.backgroundColor??"#ffffff",type:`image/${t}`,quality:.3,drawImageInterval:this.options.drawImageInterval??20,features:{copyScrollbar:!1,removeAbnormalAttributes:!0,removeControlCharacter:!0,fixSvgXmlDecode:!0,restoreScrollPosition:!1},timeout:1e4};if(e="webp"===t?await CA(A,r):"jpeg"===t?await pA(A,r):await mA(A,r),!e||e.length<100)throw new Error("生成的截图数据无效或过短");return this.options.debug&&console.log(`📸 ✅ modern-screenshot 截图成功(普通模式,${t.toUpperCase()} 格式)`),e}}catch(e){const t=e instanceof Error?e.message:String(e);throw this.options.debug&&(console.error("📸 modern-screenshot 截图失败:",t),console.error("📸 元素信息:",{width:o.width,height:o.height,scrollWidth:A.scrollWidth,scrollHeight:A.scrollHeight,display:window.getComputedStyle(A).display,visibility:window.getComputedStyle(A).visibility})),e}finally{this.isScreenshotInProgress=!1}}catch(A){const e=A instanceof Error?A.message:String(A);throw this.options.debug&&console.error("📸 modern-screenshot 截图异常:",e),A}finally{this.isScreenshotInProgress&&(this.isScreenshotInProgress=!1),this.processScreenshotQueue()}}async processScreenshotQueue(){if(!this.isProcessingQueue&&0!==this.screenshotQueue.length){for(this.isProcessingQueue=!0;this.screenshotQueue.length>0&&!this.isScreenshotInProgress;){const A=this.screenshotQueue.shift();if(A)try{for(A.resolve();this.isScreenshotInProgress;)await new Promise(A=>setTimeout(A,50))}catch(e){A.reject(e instanceof Error?e:new Error(String(e)))}}this.isProcessingQueue=!1}}preconnectProxy(){if(!this.preconnected&&this.options.proxyUrl)try{const A=new URL(this.options.proxyUrl).origin,e=document.createElement("link");e.rel="preconnect",e.href=A,e.crossOrigin="anonymous",document.head.appendChild(e),this.preconnected=!0,this.options.debug&&console.log(`📸 ✅ 已预连接代理服务器: ${A}`)}catch(A){}}initIntersectionObserver(){"IntersectionObserver"in window&&(this.intersectionObserver=new IntersectionObserver(A=>{A.forEach(A=>{A.isIntersecting?this.visibleElementsCache.add(A.target):this.visibleElementsCache.delete(A.target)})},{root:null,rootMargin:"50px",threshold:.01}))}estimateDataUrlSize(A){const e=A.split(",")[1]||"";return Math.ceil(.75*e.length)+30}async getIndexedDBCacheSize(){return 0}async cleanIndexedDBCache(){}async cleanIndexedDBCacheBySize(A){}async deleteIndexedDBCache(A){}isElementVisible(A,e){if(!this.options.onlyVisibleImages)return!0;if(this.options.useIntersectionObserver&&this.intersectionObserver){if(this.visibleElementsCache.has(A))return!0;this.intersectionObserver.observe(A)}try{const t=A.getBoundingClientRect(),n=e.getBoundingClientRect(),r=!(t.bottom<n.top||t.top>n.bottom||t.right<n.left||t.left>n.right)&&t.width>0&&t.height>0&&"none"!==window.getComputedStyle(A).display&&"hidden"!==window.getComputedStyle(A).visibility&&"0"!==window.getComputedStyle(A).opacity;return this.options.useIntersectionObserver&&this.intersectionObserver&&(r?this.visibleElementsCache.add(A):this.visibleElementsCache.delete(A)),r}catch{return!0}}async preprocessNetworkImages(A){const e=A.querySelectorAll("img"),t=Array.from(e).filter(e=>{const t=e.src.startsWith("blob:"),n=e.src.startsWith("data:"),r=e.src.startsWith(window.location.origin),o=this.isElementVisible(e,A);return!t&&!n&&!r&&o});if(0===t.length)return;if(this.options.debug){const A=e.length;console.log(`📸 发现 ${t.length}/${A} 个可视区域内的跨域图片,开始并行预加载...`)}if(this.options.useProxy&&this.options.proxyUrl&&""!==this.options.proxyUrl.trim()){this.options.debug&&console.log(`📸 使用代理服务器处理跨域图片: ${this.options.proxyUrl}`);const A=this.options.maxConcurrentDownloads||10,e=[];for(let n=0;n<t.length;n+=A)e.push(t.slice(n,n+A));await Promise.all(e.map(async A=>{await Promise.all(A.map(async A=>{const e=A.src;if(!this.getCachedImage(e))try{const A=await this.proxyImage(e);A&&this.setCachedImage(e,A)}catch(A){this.options.debug&&console.warn(`📸 ❌ 代理预加载失败: ${e.substring(0,50)}...`)}}))})),this.options.debug&&console.log(`📸 ✅ 预处理完成,缓存了 ${this.imageProxyCache.size} 个代理图片`)}}async proxyImage(A){if(!this.options.proxyUrl||""===this.options.proxyUrl.trim())throw new Error("proxyUrl 未配置");const e=new URLSearchParams({url:A,maxWidth:String(this.options.maxWidth||1600),maxHeight:String(this.options.maxHeight||900),quality:String(Math.round(100*(this.options.quality||.4))),format:this.options.outputFormat||"webp"});let t=this.options.proxyUrl;t=t.replace(/[?&]$/,"");const n=`${t}?${e.toString()}`;this.options.debug&&console.log(`📸 🔄 代理请求 URL: ${n.substring(0,200)}...`);const r=await fetch(n,{method:"GET",mode:"cors",credentials:"omit",headers:{Accept:"image/*"}});if(!r.ok){const A=await r.text().catch(()=>"");throw new Error(`代理请求失败: ${r.status} ${r.statusText}${A?` - ${A.substring(0,200)}`:""}`)}const o=await r.blob(),i=await this.blobToDataUrl(o);return this.options.debug&&console.log(`📸 ✅ 代理模式成功(已转换为 data URL): ${A.substring(0,100)}...`),i}async downloadImageWithoutProxy(A){try{const e=new AbortController,t=setTimeout(()=>e.abort(),this.options.imageLoadTimeout||5e3),n=await fetch(A,{method:"GET",mode:"cors",credentials:"omit",cache:"no-cache",signal:e.signal}).catch(()=>null).finally(()=>{clearTimeout(t)});if(n&&n.ok){const e=n.headers.get("content-length");if(e){const t=parseInt(e,10)/1048576,n=this.options.maxImageSize||5;if(t>n){if(this.options.skipLargeImages)return this.options.debug&&console.warn(`📸 ⚠️ 跳过过大图片(${t.toFixed(2)}MB > ${n}MB): ${A.substring(0,100)}...`),"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==";this.options.debug&&console.warn(`📸 ⚠️ 图片较大(${t.toFixed(2)}MB),可能导致内存问题: ${A.substring(0,100)}...`)}}const t=await n.blob(),r=t.size/1048576,o=this.options.maxImageSize||5;if(r>o){if(this.options.skipLargeImages)return this.options.debug&&console.warn(`📸 ⚠️ 跳过过大图片(实际大小 ${r.toFixed(2)}MB > ${o}MB): ${A.substring(0,100)}...`),"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==";this.options.debug&&console.warn(`📸 ⚠️ 图片较大(实际大小 ${r.toFixed(2)}MB),可能导致内存问题: ${A.substring(0,100)}...`)}const i=await this.blobToDataUrl(t);return this.setCachedImage(A,i),i}return A}catch(e){return this.options.debug&&console.warn(`📸 ⚠️ 下载图片失败: ${A.substring(0,100)}...`,e),A}}blobToDataUrl(A){return new Promise((e,t)=>{const n=new FileReader,r=setTimeout(()=>{t(new Error("图片转换超时"))},1e4);n.onload=()=>{clearTimeout(r),e(n.result)},n.onerror=A=>{clearTimeout(r),t(A)},n.readAsDataURL(A)})}async waitForImagesToLoad(A){const e=A.querySelectorAll("img"),t=[];Array.from(e).forEach(A=>{if(A.complete)return;const e=this.options.imageLoadTimeout||5e3;t.push(Promise.race([new Promise(e=>{A.onload=()=>e(),A.onerror=()=>e()}),new Promise(A=>{setTimeout(()=>A(),e)})]))}),t.length>0&&await Promise.all(t)}async waitForStylesAndFonts(){const A=Array.from(document.styleSheets).map(A=>new Promise(e=>{try{A.cssRules?e():setTimeout(()=>e(),100)}catch(A){e()}}));await Promise.all(A),await new Promise(A=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{setTimeout(()=>{A()},100)})})})}async waitForFonts(){if(!document.fonts)return Promise.resolve();try{await document.fonts.ready,await new Promise(A=>setTimeout(A,100))}catch{}}async waitForAllStylesLoaded(){const A=Array.from(document.styleSheets),e=[];A.forEach(A=>{e.push(new Promise(e=>{try{const t=A.cssRules;if(t&&t.length>0)e();else if(t)e();else{let t=0;const n=100,r=setInterval(()=>{t++;try{(A.cssRules||t>=n)&&(clearInterval(r),e())}catch{clearInterval(r),e()}},50);setTimeout(()=>{clearInterval(r),e()},5e3)}}catch(A){e()}}))}),await Promise.all(e),await new Promise(A=>setTimeout(A,300)),await new Promise(A=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{setTimeout(()=>A(),100)})})})}calculateCompressedSize(A,e,t,n){let r=A,o=e;if(r>t||o>n){const A=t/r,e=n/o,i=Math.min(A,e);r=Math.round(r*i),o=Math.round(o*i)}return{width:r,height:o}}createWorker(){if("undefined"==typeof Worker)return null;try{const A=new Blob(["\n // 图片压缩 Worker(类似 TinyPNG 的智能压缩)\n self.onmessage = async function(e) {\n const { type, data } = e.data;\n \n if (type === 'COMPRESS_IMAGE') {\n try {\n const { dataUrl, maxWidth, maxHeight, quality, outputFormat } = data;\n \n // 1. 加载图片\n const img = await loadImage(dataUrl);\n \n // 获取图片尺寸(ImageBitmap 或 Image 都支持)\n const imgWidth = img.width || img.naturalWidth || 0;\n const imgHeight = img.height || img.naturalHeight || 0;\n \n if (imgWidth === 0 || imgHeight === 0) {\n throw new Error('无法获取图片尺寸');\n }\n \n // 2. 计算压缩后的尺寸(保持宽高比)\n const { width, height } = calculateSize(\n imgWidth,\n imgHeight,\n maxWidth || 1600,\n maxHeight || 900\n );\n \n // 3. 创建 OffscreenCanvas(Worker 中必须使用 OffscreenCanvas)\n if (typeof OffscreenCanvas === 'undefined') {\n throw new Error('浏览器不支持 OffscreenCanvas,无法在 Worker 中压缩');\n }\n \n const canvas = new OffscreenCanvas(width, height);\n const ctx = canvas.getContext('2d');\n \n if (!ctx) {\n throw new Error('无法获取 Canvas 上下文');\n }\n \n // 4. 优化绘制设置(提升压缩质量)\n ctx.imageSmoothingEnabled = true;\n ctx.imageSmoothingQuality = 'high';\n \n // 5. 使用白色背景(避免透明区域压缩问题)\n ctx.fillStyle = '#ffffff';\n ctx.fillRect(0, 0, width, height);\n \n // 6. 绘制图片(高质量缩放)\n ctx.drawImage(img, 0, 0, width, height);\n \n // 7. 转换为目标格式(智能质量调整)\n // OffscreenCanvas 使用 convertToBlob 而不是 toDataURL\n let compressedDataUrl;\n const finalQuality = Math.max(0.1, Math.min(0.95, quality || 0.15));\n \n // 辅助函数:将 Blob 转换为 data URL\n async function blobToDataURL(blob) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = () => resolve(reader.result);\n reader.onerror = reject;\n reader.readAsDataURL(blob);\n });\n }\n \n // 确定 MIME 类型\n let mimeType = 'image/png';\n if (outputFormat === 'webp') {\n mimeType = 'image/webp';\n } else if (outputFormat === 'jpeg') {\n mimeType = 'image/jpeg';\n }\n \n // 第一次压缩\n let blob = await canvas.convertToBlob({\n type: mimeType,\n quality: finalQuality\n });\n \n compressedDataUrl = await blobToDataURL(blob);\n \n // 8. 如果压缩后文件仍然较大,尝试进一步降低质量\n const originalSize = dataUrl.length;\n let compressedSize = compressedDataUrl.length;\n \n // 如果压缩后大小减少不足 20%,尝试更激进的压缩\n if (compressedSize > originalSize * 0.8 && finalQuality > 0.1 && (outputFormat === 'webp' || outputFormat === 'jpeg')) {\n const aggressiveQuality = Math.max(0.1, finalQuality * 0.7);\n \n try {\n const moreCompressedBlob = await canvas.convertToBlob({\n type: mimeType,\n quality: aggressiveQuality\n });\n \n const moreCompressedDataUrl = await blobToDataURL(moreCompressedBlob);\n \n // 如果更激进的压缩效果更好,使用它\n if (moreCompressedDataUrl.length < compressedDataUrl.length) {\n compressedDataUrl = moreCompressedDataUrl;\n compressedSize = compressedDataUrl.length;\n }\n } catch (e) {\n // 忽略错误,使用之前的压缩结果\n }\n }\n \n // 9. 返回压缩结果\n self.postMessage({\n type: 'SCREENSHOT_RESULT',\n data: {\n compressed: {\n dataUrl: compressedDataUrl,\n originalSize: originalSize,\n compressedSize: compressedDataUrl.length,\n compressionRatio: ((1 - compressedDataUrl.length / originalSize) * 100).toFixed(1)\n }\n }\n });\n } catch (error) {\n // 压缩失败,返回原始数据\n self.postMessage({\n type: 'SCREENSHOT_RESULT',\n data: {\n compressed: {\n dataUrl: data.dataUrl,\n error: error.message\n }\n }\n });\n }\n }\n };\n \n // 加载图片的辅助函数(Worker 中使用 createImageBitmap)\n async function loadImage(dataUrl) {\n try {\n // 将 data URL 转换为 Blob\n let blob;\n if (typeof fetch !== 'undefined') {\n try {\n const response = await fetch(dataUrl);\n blob = await response.blob();\n } catch (e) {\n // fetch 失败,手动转换 data URL 到 Blob\n blob = dataURLToBlob(dataUrl);\n }\n } else {\n // 没有 fetch,手动转换\n blob = dataURLToBlob(dataUrl);\n }\n \n // 使用 createImageBitmap 创建图片(Worker 中推荐方式)\n if (typeof createImageBitmap !== 'undefined') {\n return await createImageBitmap(blob);\n } else {\n // 回退方案:使用 Image(某些 Worker 环境可能支持)\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.onload = () => resolve(img);\n img.onerror = reject;\n img.src = dataUrl;\n });\n }\n } catch (error) {\n // 如果 createImageBitmap 失败,尝试直接使用 Image\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.onload = () => resolve(img);\n img.onerror = () => reject(error);\n img.src = dataUrl;\n });\n }\n }\n \n // 将 data URL 转换为 Blob 的辅助函数\n function dataURLToBlob(dataUrl) {\n const arr = dataUrl.split(',');\n const mimeMatch = arr[0].match(/:(.*?);/);\n const mime = mimeMatch ? mimeMatch[1] : 'image/png';\n const bstr = atob(arr[1]);\n let n = bstr.length;\n const u8arr = new Uint8Array(n);\n while (n--) {\n u8arr[n] = bstr.charCodeAt(n);\n }\n return new Blob([u8arr], { type: mime });\n }\n \n // 计算压缩后尺寸的辅助函数(保持宽高比)\n function calculateSize(originalWidth, originalHeight, maxWidth, maxHeight) {\n let width = originalWidth;\n let height = originalHeight;\n \n if (width > maxWidth || height > maxHeight) {\n const widthRatio = maxWidth / width;\n const heightRatio = maxHeight / height;\n const ratio = Math.min(widthRatio, heightRatio);\n width = Math.round(width * ratio);\n height = Math.round(height * ratio);\n }\n \n return { width, height };\n }\n "],{type:"application/javascript"}),e=URL.createObjectURL(A),t=new Worker(e);return t.onmessage=A=>{const{type:e,data:n}=A.data;if("SCREENSHOT_RESULT"===e&&n?.compressed){const A=n.compressed,e=performance.now(),r=t.__compressStartTime||e,o=t.__scheduleStartTime,i=e-r,s=this.screenshotHistory.length>0?this.screenshotHistory[this.screenshotHistory.length-1]:"";if(this.screenshotHistory.length>0&&A.dataUrl){const t=s.split(",")[1]||"",n=A.dataUrl.split(",")[1]||"";if(this.screenshotHistory[this.screenshotHistory.length-1]=A.dataUrl,this.options.debug)if(A.error)console.warn("📸 [Worker 压缩] ⚠️ 压缩失败,使用原始截图"),console.warn(` ⚠️ 错误: ${A.error}`),console.log(` ⏱️ Worker 压缩耗时: ${i.toFixed(2)}ms`),console.log(`📸 [压缩前] Base64 长度: ${t.length} 字符`),console.log("📸 [压缩前] 完整 Base64:"),console.log(t),console.log("📸 [压缩前] 完整 Data URL:"),console.log(s);else if(A.originalSize&&A.compressedSize){const e=(.75*A.originalSize/1024).toFixed(2),r=(.75*A.compressedSize/1024).toFixed(2),o=A.compressionRatio||"0";console.log("📸 [Worker 压缩] ✅ 压缩完成"),console.log(` 原始大小: ${e} KB`),console.log(` 压缩后: ${r} KB`),console.log(` 压缩率: ${o}%`),console.log(` ⏱️ Worker 压缩耗时: ${i.toFixed(2)}ms`),console.log(`📸 [压缩前] Base64 长度: ${t.length} 字符`),console.log("📸 [压缩前] 完整 Base64:"),console.log(t),console.log("📸 [压缩前] 完整 Data URL:"),console.log(s),console.log(`📸 [压缩后] Base64 长度: ${n.length} 字符`),console.log("📸 [压缩后] 完整 Base64:"),console.log(n),console.log("📸 [压缩后] 完整 Data URL:"),console.log(A.dataUrl)}this.currentBinaryConfig&&A.dataUrl&&this.sendCompressedScreenshotToIframe(A.dataUrl,o,e)}if(this.isCurrentTaskCompleted=!0,this.isRunning&&this.scheduleNextFn){const A=this.dynamicInterval||this.options.interval;this.screenshotTimer=setTimeout(()=>{this.screenshotTimer=null,this.scheduleNextFn?.()},A)}}},t.onerror=A=>{if(console.error("📸 WebWorker 错误:",A),this.options.debug&&console.warn("📸 Worker 压缩失败,使用原始截图"),this.currentBinaryConfig&&this.sendToIframeCallback){const A=this.getLatestScreenshot();if(A)try{const e=this.dataUrlToArrayBuffer(A),t=this.buildBinaryConfig(this.currentBinaryConfig),n={type:"screenshotBinary",data:this.combineBinaryData(t,e)};this.sendToIframeCallback(n),this.options.debug&&console.log("📸 [Worker 错误] ✅ 原始截图已发送到 iframe")}catch(A){console.error("📸 [Worker 错误] ❌ 发送原始截图失败:",A)}}if(this.isCurrentTaskCompleted=!0,this.isRunning&&this.scheduleNextFn){const A=this.dynamicInterval||this.options.interval;this.screenshotTimer=setTimeout(()=>{this.screenshotTimer=null,this.scheduleNextFn?.()},A)}},t}catch(A){return console.error("📸 创建 WebWorker 失败:",A),null}}setupGlobalErrorHandlers(){this.globalErrorHandler=A=>{const e=A.message||A.error?.message||"";return!(e.includes("CORS")||e.includes("Access-Control-Allow-Origin")||e.includes("cross-origin"))||(A.preventDefault(),A.stopPropagation(),!1)},this.globalRejectionHandler=A=>{const e=A.reason?.message||String(A.reason)||"";return!(e.includes("CORS")||e.includes("Access-Control-Allow-Origin")||e.includes("cross-origin"))||(A.preventDefault(),!1)},window.addEventListener("error",this.globalErrorHandler,!0),window.addEventListener("unhandledrejection",this.globalRejectionHandler,!0)}removeGlobalErrorHandlers(){this.globalErrorHandler&&(window.removeEventListener("error",this.globalErrorHandler,!0),this.globalErrorHandler=null),this.globalRejectionHandler&&(window.removeEventListener("unhandledrejection",this.globalRejectionHandler,!0),this.globalRejectionHandler=null)}dataUrlToArrayBuffer(A){const e=A.split(","),t=atob(e[1]),n=t.length,r=new Uint8Array(n);for(let A=0;A<n;A++)r[A]=t.charCodeAt(A);return r.buffer}arrayBufferToBase64(A){const e=new Uint8Array(A);let t="";for(let A=0;A<e.length;A++)t+=String.fromCharCode(e[A]);return btoa(t)}buildBinaryConfig(A){const e=new TextEncoder,t=e.encode(A.agent),n=t.length,r=e.encode(A.topic),o=r.length,i=e.encode(A.routingKey.trim()),s=i.length,a=new ArrayBuffer(21+n+1+1+o+1+s),c=new DataView(a);let l=0;const u=String(A.sign),h=e.encode(u);new Uint8Array(a,l,20).set(h.slice(0,20)),l+=20,c.setUint8(l,n),l+=1;new Uint8Array(a,l,n).set(t),l+=n,c.setUint8(l,A.type),l+=1,c.setUint8(l,o),l+=1;new Uint8Array(a,l,o).set(r),l+=o,c.setUint8(l,s),l+=1;return new Uint8Array(a,l,s).set(i),l+=s,a}combineBinaryData(A,e){const t=A.byteLength+e.byteLength,n=new ArrayBuffer(t),r=new Uint8Array(n);return r.set(new Uint8Array(A),0),r.set(new Uint8Array(e),A.byteLength),n}async takeScreenshotAndSendBinary(A){this.isRunning&&(this.options.debug&&console.log(`📸 更新轮询间隔: ${this.dynamicInterval||this.options.interval}ms`),this.stopScreenshot()),this.startScreenshot(this.dynamicInterval||this.options.interval);try{if(await this.takeScreenshot())if(await new Promise(A=>setTimeout(A,100)),this.options.compress)this.options.debug&&console.log("📸 [iframe] 等待 Worker 压缩完成后发送到 iframe...");else{const e=this.getLatestScreenshot();if(e)try{const t=e.split(",")[1]||"",n=t.length,r=this.dataUrlToArrayBuffer(e),o=r.byteLength,i=this.arrayBufferToBase64(r),s=t===i;this.options.debug&&(console.log("📸 [发送前] 数据流程分析:"),console.log(` latestScreenshot: ${e.substring(0,50)}... (原始 data URL)`),console.log(` base64Data (从 latestScreenshot 提取): 长度 ${t.length} 字符`),console.log(` imageBuffer: ArrayBuffer, 大小 ${o} 字节`),console.log(` imageBufferBase64 (从 imageBuffer 转换): 长度 ${i.length} 字符`),console.log(" ✅ 验证: base64Data === imageBufferBase64 ? "+(s?"✅ 一致":"❌ 不一致")),s||(console.warn("📸 ⚠️ 警告: base64Data 和 imageBufferBase64 不一致!"),console.log(" base64Data (前100字符):",t.substring(0,100)),console.log(" imageBufferBase64 (前100字符):",i.substring(0,100))),console.log("📸 [发送前] imageBuffer 转换为 Base64(用于和接收端对比):"),console.log(` Base64 长度: ${i.length} 字符`),console.log(" Base64 完整字符串:"),console.log(i),console.log(" 📌 接收端使用方法: const imageUrl = `data:image/webp;base64,${receivedBase64}`"),console.log(` Data URL: data:image/webp;base64,${i}`));const a=this.buildBinaryConfig(A),c=a.byteLength,l=this.combineBinaryData(a,r),u=l.byteLength;if(this.options.debug&&(console.log("📸 [大小统计]"),console.log(` Base64 大小: ${n} 字符`),console.log(` 图片字节大小: ${(o/1024).toFixed(2)} KB (${o} 字节)`),console.log(` 配置字节大小: ${c} 字节`),console.log(` 拼接后总大小: ${(u/1024).toFixed(2)} KB (${u} 字节)`)),this.sendToIframeCallback){const A={type:"screenshotBinary",data:l};this.sendToIframeCallback(A),this.options.debug&&console.log("📸 [iframe] ✅ 二进制数据已发送到 iframe")}else console.error("📸 [iframe] ❌ 无法发送二进制数据:未提供发送消息的回调函数")}catch(A){console.error("📸 [iframe] ❌ 处理二进制数据失败:",A),this.uploadError=A instanceof Error?A.message:String(A)}else this.options.debug&&console.warn("📸 [iframe] 截图完成但未找到截图数据")}}catch(A){console.error("📸 [iframe] 截图失败:",A),this.uploadError=A instanceof Error?A.message:String(A)}}getLatestScreenshot(){return this.screenshotHistory[this.screenshotHistory.length-1]||null}sendCompressedScreenshotToIframe(A,e,t){if(!this.currentBinaryConfig||!this.sendToIframeCallback)return;const n=performance.now();try{const r=A.split(",")[1]||"",o=r.length;this.options.debug&&(console.log("📸 [发送前] Base64 信息:"),console.log(` Base64 长度: ${o} 字符`),console.log(" 📸 [发送前] 完整 Base64:"),console.log(r),console.log(" 📸 [发送前] 完整 Data URL:"),console.log(A));const i=performance.now(),s=this.dataUrlToArrayBuffer(A),a=s.byteLength,c=performance.now()-i,l=performance.now(),u=this.buildBinaryConfig(this.currentBinaryConfig),h=u.byteLength,g=performance.now()-l,d=performance.now(),B=this.combineBinaryData(u,s),f=B.byteLength,w=performance.now()-d;this.options.debug&&(console.log("📸 [压缩后-大小统计]"),console.log(` Base64 大小: ${o} 字符`),console.log(` 图片字节大小: ${(a/1024).toFixed(2)} KB (${a} 字节)`),console.log(` 配置字节大小: ${h} 字节`),console.log(` 拼接后总大小: ${(f/1024).toFixed(2)} KB (${f} 字节)`),console.log(` ⏱️ 数据转换耗时: ${c.toFixed(2)}ms`),console.log(` ⏱️ 构建配置耗时: ${g.toFixed(2)}ms`),console.log(` ⏱️ 合并数据耗时: ${w.toFixed(2)}ms`));const p=performance.now(),m={type:"screenshotBinary",data:B};this.sendToIframeCallback(m);const C=performance.now()-p,Q=performance.now()-n;let y=0;if(e&&(y=performance.now()-e),this.options.debug&&(console.log("📸 [压缩后] ✅ 二进制数据已发送到 iframe"),console.log(` ⏱️ 发送回调耗时: ${C.toFixed(2)}ms`),console.log(` ⏱️ 发送阶段总耗时: ${Q.toFixed(2)}ms`),e&&(console.log(` ⏱️ 从定时开始到发送完成总耗时: ${y.toFixed(2)}ms`),t))){const A=n-t;console.log(` ⏱️ 压缩完成到发送开始耗时: ${A.toFixed(2)}ms`)}}catch(A){console.error("📸 [压缩后] ❌ 处理二进制数据失败:",A)}}getCompressedScreenshot(A="dataUrl",e){const t=this.getLatestScreenshot();if(!t)return null;switch(A){case"dataUrl":default:return t;case"blob":{const A=t.split(","),e=A[0].match(/:(.*?);/)?.[1]||"image/webp",n=atob(A[1]),r=n.length,o=new Uint8Array(r);for(let A=0;A<r;A++)o[A]=n.charCodeAt(A);return new Blob([o],{type:e})}case"arrayBuffer":return this.dataUrlToArrayBuffer(t);case"file":{const A=t.split(","),n=A[0].match(/:(.*?);/)?.[1]||"image/webp",r=atob(A[1]),o=r.length,i=new Uint8Array(o);for(let A=0;A<o;A++)i[A]=r.charCodeAt(A);const s=new Blob([i],{type:n}),a=n.split("/")[1]||"webp";return new File([s],e||`screenshot.${a}`,{type:n})}case"image":return new Promise(A=>{const e=new Image;e.onload=()=>A(e),e.onerror=()=>A(null),e.src=t})}}enable(A){this.isEnabled=A,!A&&this.isRunning&&this.stopScreenshot()}updateOptions(A){const e=this.options.engine,t=A.engine;if(void 0!==A.engine&&(this.options.engine=A.engine),void 0!==A.quality&&(this.options.quality=A.quality),void 0!==A.scale&&(this.options.scale=A.scale),void 0!==A.maxWidth&&(this.options.maxWidth=A.maxWidth),void 0!==A.maxHeight&&(this.options.maxHeight=A.maxHeight),void 0!==A.outputFormat&&(this.options.outputFormat=A.outputFormat),void 0!==A.compress&&(this.options.compress=A.compress),void 0!==A.debug&&(this.options.debug=A.debug),void 0!==A.proxyUrl&&(this.options.proxyUrl=A.proxyUrl),void 0!==A.useProxy&&(this.options.useProxy=A.useProxy),t&&t!==e){if(this.screenshotContext){try{eA(this.screenshotContext),this.options.debug&&console.log(`📸 引擎已从 ${e} 切换到 ${t},已清理旧 context`)}catch(A){}this.screenshotContext=null}this.options.debug&&(console.log(`📸 截图引擎已更新: ${e} → ${t}`),console.log(`📸 下次截图时将使用新引擎: ${t}`))}else this.options.debug&&console.log("📸 截图配置已更新")}destroy(){if(this.screenshotContext){try{eA(this.screenshotContext)}catch(A){}this.screenshotContext=null}if(this.stopScreenshot(),this.worker&&(this.worker.terminate(),this.worker=null),this.screenshotContext){try{eA(this.screenshotContext)}catch(A){}this.screenshotContext=null}this.expirationTimer&&(clearTimeout(this.expirationTimer),this.expirationTimer=null),this.messageHandler&&(window.removeEventListener("message",this.messageHandler),this.messageHandler=null),this.removeGlobalErrorHandlers(),this.intersectionObserver&&(this.intersectionObserver.disconnect(),this.intersectionObserver=null,this.visibleElementsCache.clear()),this.imageProxyCache.clear(),this.screenshotHistory.length=0,this.imageDownloadQueue.clear(),this.activeDownloads.clear()}getCachedImage(A){const e=this.imageProxyCache.get(A);if(!e)return null;return Date.now()-e.timestamp>this.options.imageCacheTTL?(this.imageProxyCache.delete(A),null):e.dataUrl}setCachedImage(A,e){let t=0;this.imageProxyCache.forEach(A=>{t+=.75*A.dataUrl.length/1048576});const n=.75*e.length/1048576;if(t+n>100){const A=Array.from(this.imageProxyCache.entries()).sort((A,e)=>A[1].timestamp-e[1].timestamp);let e=t;for(const[t,r]of A){if(e+n<=100)break;const A=.75*r.dataUrl.length/1048576;this.imageProxyCache.delete(t),e-=A,this.options.debug&&console.log(`📸 清理内存缓存(超过限制): ${t.substring(0,50)}...`)}}this.imageProxyCache.set(A,{dataUrl:e,timestamp:Date.now()})}cleanExpiredCache(){const A=Date.now(),e=[];this.imageProxyCache.forEach((t,n)=>{A-t.timestamp>this.options.imageCacheTTL&&e.push(n)}),e.forEach(A=>{this.imageProxyCache.delete(A)}),e.length>0&&this.options.debug&&console.log(`📸 清理了 ${e.length} 个过期缓存`)}startCacheCleanup(){setInterval(()=>{if(this.cleanExpiredCache(),this.options.debug){const A=this.imageProxyCache.size,e=Array.from(this.imageProxyCache.values()).reduce((A,e)=>A+.75*e.dataUrl.length/1048576,0),t=this.screenshotHistory.reduce((A,e)=>A+.75*e.length/1048576,0);console.log(`📸 清理过期缓存,内存缓存: ${A} 项,${e.toFixed(2)} MB,历史记录: ${t.toFixed(2)} MB`)}},12e4)}getState(){return{isRunning:this.isRunning,screenshotCount:this.screenshotCount,lastScreenshotTime:this.lastScreenshotTime,error:this.error,isEnabled:this.isEnabled,uploadError:this.uploadError,currentBinaryConfig:this.currentBinaryConfig}}}var Bt=function(){return Bt=Object.assign||function(A){for(var e,t=1,n=arguments.length;t<n;t++)for(var r in e=arguments[t])Object.prototype.hasOwnProperty.call(e,r)&&(A[r]=e[r]);return A},Bt.apply(this,arguments)};function ft(A,e,t,n){return new(t||(t=Promise))(function(r,o){function i(A){try{a(n.next(A))}catch(A){o(A)}}function s(A){try{a(n.throw(A))}catch(A){o(A)}}function a(A){var e;A.done?r(A.value):(e=A.value,e instanceof t?e:new t(function(A){A(e)})).then(i,s)}a((n=n.apply(A,e||[])).next())})}function wt(A,e){var t,n,r,o={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=s(0),i.throw=s(1),i.return=s(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(a){return function(s){if(t)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(o=0)),o;)try{if(t=1,n&&(r=2&s[0]?n.return:s[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,s[1])).done)return r;switch(n=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,n=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!(r=o.trys,(r=r.length>0&&r[r.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){o.label=s[1];break}if(6===s[0]&&o.label<r[1]){o.label=r[1],r=s;break}if(r&&o.label<r[2]){o.label=r[2],o.ops.push(s);break}r[2]&&o.ops.pop(),o.trys.pop();continue}s=e.call(A,o)}catch(A){s=[6,A],n=0}finally{t=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,a])}}}function pt(A,e,t){if(t||2===arguments.length)for(var n,r=0,o=e.length;r<o;r++)!n&&r in e||(n||(n=Array.prototype.slice.call(e,0,r)),n[r]=e[r]);return A.concat(n||Array.prototype.slice.call(e))}"function"==typeof SuppressedError&&SuppressedError;var mt="4.6.2";function Ct(A,e){return new Promise(function(t){return setTimeout(t,A,e)})}function Qt(A){return!!A&&"function"==typeof A.then}function yt(A,e){try{var t=A();Qt(t)?t.then(function(A){return e(!0,A)},function(A){return e(!1,A)}):e(!0,t)}catch(A){e(!1,A)}}function Ut(A,e,t){return void 0===t&&(t=16),ft(this,void 0,void 0,function(){var n,r,o,i;return wt(this,function(s){switch(s.label){case 0:n=Array(A.length),r=Date.now(),o=0,s.label=1;case 1:return o<A.length?(n[o]=e(A[o],o),(i=Date.now())>=r+t?(r=i,[4,new Promise(function(A){var e=new MessageChannel;e.port1.onmessage=function(){return A()},e.port2.postMessage(null)})]):[3,3]):[3,4];case 2:s.sent(),s.label=3;case 3:return++o,[3,1];case 4:return[2,n]}})})}function Ft(A){return A.then(void 0,function(){}),A}function bt(A){return parseInt(A)}function vt(A){return parseFloat(A)}function Et(A,e){return"number"==typeof A&&isNaN(A)?e:A}function Ht(A){return A.reduce(function(A,e){return A+(e?1:0)},0)}function It(A,e){if(void 0===e&&(e=1),Math.abs(e)>=1)return Math.round(A/e)*e;var t=1/e;return Math.round(A*t)/t}function xt(A,e){var t=A[0]>>>16,n=65535&A[0],r=A[1]>>>16,o=65535&A[1],i=e[0]>>>16,s=65535&e[0],a=e[1]>>>16,c=0,l=0,u=0,h=0;u+=(h+=o+(65535&e[1]))>>>16,h&=65535,l+=(u+=r+a)>>>16,u&=65535,c+=(l+=n+s)>>>16,l&=65535,c+=t+i,c&=65535,A[0]=c<<16|l,A[1]=u<<16|h}function St(A,e){var t=A[0]>>>16,n=65535&A[0],r=A[1]>>>16,o=65535&A[1],i=e[0]>>>16,s=65535&e[0],a=e[1]>>>16,c=65535&e[1],l=0,u=0,h=0,g=0;h+=(g+=o*c)>>>16,g&=65535,u+=(h+=r*c)>>>16,h&=65535,u+=(h+=o*a)>>>16,h&=65535,l+=(u+=n*c)>>>16,u&=65535,l+=(u+=r*a)>>>16,u&=65535,l+=(u+=o*s)>>>16,u&=65535,l+=t*c+n*a+r*s+o*i,l&=65535,A[0]=l<<16|u,A[1]=h<<16|g}function Lt(A,e){var t=A[0];32===(e%=64)?(A[0]=A[1],A[1]=t):e<32?(A[0]=t<<e|A[1]>>>32-e,A[1]=A[1]<<e|t>>>32-e):(e-=32,A[0]=A[1]<<e|t>>>32-e,A[1]=t<<e|A[1]>>>32-e)}function Dt(A,e){0!==(e%=64)&&(e<32?(A[0]=A[1]>>>32-e,A[1]=A[1]<<e):(A[0]=A[1]<<e-32,A[1]=0))}function Mt(A,e){A[0]^=e[0],A[1]^=e[1]}var Kt=[4283543511,3981806797],kt=[3301882366,444984403];function Tt(A){var e=[0,A[0]>>>1];Mt(A,e),St(A,Kt),e[1]=A[0]>>>1,Mt(A,e),St(A,kt),e[1]=A[0]>>>1,Mt(A,e)}var Rt=[2277735313,289559509],Pt=[1291169091,658871167],Ot=[0,5],Vt=[0,1390208809],Nt=[0,944331445];function Gt(A,e){var t=function(A){for(var e=new Uint8Array(A.length),t=0;t<A.length;t++){var n=A.charCodeAt(t);if(n>127)return(new TextEncoder).encode(A);e[t]=n}return e}(A);e=e||0;var n,r=[0,t.length],o=r[1]%16,i=r[1]-o,s=[0,e],a=[0,e],c=[0,0],l=[0,0];for(n=0;n<i;n+=16)c[0]=t[n+4]|t[n+5]<<8|t[n+6]<<16|t[n+7]<<24,c[1]=t[n]|t[n+1]<<8|t[n+2]<<16|t[n+3]<<24,l[0]=t[n+12]|t[n+13]<<8|t[n+14]<<16|t[n+15]<<24,l[1]=t[n+8]|t[n+9]<<8|t[n+10]<<16|t[n+11]<<24,St(c,Rt),Lt(c,31),St(c,Pt),Mt(s,c),Lt(s,27),xt(s,a),St(s,Ot),xt(s,Vt),St(l,Pt),Lt(l,33),St(l,Rt),Mt(a,l),Lt(a,31),xt(a,s),St(a,Ot),xt(a,Nt);c[0]=0,c[1]=0,l[0]=0,l[1]=0;var u=[0,0];switch(o){case 15:u[1]=t[n+14],Dt(u,48),Mt(l,u);case 14:u[1]=t[n+13],Dt(u,40),Mt(l,u);case 13:u[1]=t[n+12],Dt(u,32),Mt(l,u);case 12:u[1]=t[n+11],Dt(u,24),Mt(l,u);case 11:u[1]=t[n+10],Dt(u,16),Mt(l,u);case 10:u[1]=t[n+9],Dt(u,8),Mt(l,u);case 9:u[1]=t[n+8],Mt(l,u),St(l,Pt),Lt(l,33),St(l,Rt),Mt(a,l);case 8:u[1]=t[n+7],Dt(u,56),Mt(c,u);case 7:u[1]=t[n+6],Dt(u,48),Mt(c,u);case 6:u[1]=t[n+5],Dt(u,40),Mt(c,u);case 5:u[1]=t[n+4],Dt(u,32),Mt(c,u);case 4:u[1]=t[n+3],Dt(u,24),Mt(c,u);case 3:u[1]=t[n+2],Dt(u,16),Mt(c,u);case 2:u[1]=t[n+1],Dt(u,8),Mt(c,u);case 1:u[1]=t[n],Mt(c,u),St(c,Rt),Lt(c,31),St(c,Pt),Mt(s,c)}return Mt(s,r),Mt(a,r),xt(s,a),xt(a,s),Tt(s),Tt(a),xt(s,a),xt(a,s),("00000000"+(s[0]>>>0).toString(16)).slice(-8)+("00000000"+(s[1]>>>0).toString(16)).slice(-8)+("00000000"+(a[0]>>>0).toString(16)).slice(-8)+("00000000"+(a[1]>>>0).toString(16)).slice(-8)}function Wt(A,e,t,n){var r=Object.keys(A).filter(function(A){return!function(A,e){for(var t=0,n=A.length;t<n;++t)if(A[t]===e)return!0;return!1}(t,A)}),o=Ft(Ut(r,function(t){return function(A,e){var t=Ft(new Promise(function(t){var n=Date.now();yt(A.bind(null,e),function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];var r=Date.now()-n;if(!A[0])return t(function(){return{error:A[1],duration:r}});var o=A[1];if(function(A){return"function"!=typeof A}(o))return t(function(){return{value:o,duration:r}});t(function(){return new Promise(function(A){var e=Date.now();yt(o,function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var o=r+Date.now()-e;if(!t[0])return A({error:t[1],duration:o});A({value:t[1],duration:o})})})})})}));return function(){return t.then(function(A){return A()})}}(A[t],e)},n));return function(){return ft(this,void 0,void 0,function(){var A,e,t,i;return wt(this,function(s){switch(s.label){case 0:return[4,o];case 1:return[4,Ut(s.sent(),function(A){return Ft(A())},n)];case 2:return A=s.sent(),[4,Promise.all(A)];case 3:for(e=s.sent(),t={},i=0;i<r.length;++i)t[r[i]]=e[i];return[2,t]}})})}}function _t(){var A=window,e=navigator;return Ht(["MSCSSMatrix"in A,"msSetImmediate"in A,"msIndexedDB"in A,"msMaxTouchPoints"in e,"msPointerEnabled"in e])>=4}function Xt(){var A=window,e=navigator;return Ht(["webkitPersistentStorage"in e,"webkitTemporaryStorage"in e,0===(e.vendor||"").indexOf("Google"),"webkitResolveLocalFileSystemURL"in A,"BatteryManager"in A,"webkitMediaStream"in A,"webkitSpeechGrammar"in A])>=5}function Jt(){var A=window;return Ht(["ApplePayError"in A,"CSSPrimitiveValue"in A,"Counter"in A,0===navigator.vendor.indexOf("Apple"),"RGBColor"in A,"WebKitMediaKeys"in A])>=4}function Yt(){var A=window,e=A.HTMLElement,t=A.Document;return Ht(["safari"in A,!("ongestureend"in A),!("TouchEvent"in A),!("orientation"in A),e&&!("autocapitalize"in e.prototype),t&&"pointerLockElement"in t.prototype])>=4}function $t(){var A,e=window;return A=e.print,/^function\s.*?\{\s*\[native code]\s*}$/.test(String(A))&&"[object WebPageNamespace]"===String(e.browser)}function Zt(){var A,e,t=window;return Ht(["buildID"in navigator,"MozAppearance"in(null!==(e=null===(A=document.documentElement)||void 0===A?void 0:A.style)&&void 0!==e?e:{}),"onmozfullscreenchange"in t,"mozInnerScreenX"in t,"CSSMozDocumentRule"in t,"CanvasCaptureMediaStream"in t])>=4}function zt(){var A=window,e=navigator,t=A.CSS,n=A.HTMLButtonElement;return Ht([!("getStorageUpdates"in e),n&&"popover"in n.prototype,"CSSCounterStyleRule"in A,t.supports("font-size-adjust: ex-height 0.5"),t.supports("text-transform: full-width")])>=4}function jt(){var A=document;return(A.exitFullscreen||A.msExitFullscreen||A.mozCancelFullScreen||A.webkitExitFullscreen).call(A)}function qt(){var A=Xt(),e=Zt(),t=window,n=navigator,r="connection";return A?Ht([!("SharedWorker"in t),n[r]&&"ontypechange"in n[r],!("sinkId"in new Audio)])>=2:!!e&&Ht(["onorientationchange"in t,"orientation"in t,/android/i.test(n.appVersion)])>=2}function An(A){var e=new Error(A);return e.name=A,e}function en(A,e,t){var n,r,o;return void 0===t&&(t=50),ft(this,void 0,void 0,function(){var i,s;return wt(this,function(a){switch(a.label){case 0:i=document,a.label=1;case 1:return i.body?[3,3]:[4,Ct(t)];case 2:return a.sent(),[3,1];case 3:s=i.createElement("iframe"),a.label=4;case 4:return a.trys.push([4,,10,11]),[4,new Promise(function(A,t){var n=!1,r=function(){n=!0,A()};s.onload=r,s.onerror=function(A){n=!0,t(A)};var o=s.style;o.setProperty("display","block","important"),o.position="absolute",o.top="0",o.left="0",o.visibility="hidden",e&&"srcdoc"in s?s.srcdoc=e:s.src="about:blank",i.body.appendChild(s);var a=function(){var A,e;n||("complete"===(null===(e=null===(A=s.contentWindow)||void 0===A?void 0:A.document)||void 0===e?void 0:e.readyState)?r():setTimeout(a,10))};a()})];case 5:a.sent(),a.label=6;case 6:return(null===(r=null===(n=s.contentWindow)||void 0===n?void 0:n.document)||void 0===r?void 0:r.body)?[3,8]:[4,Ct(t)];case 7:return a.sent(),[3,6];case 8:return[4,A(s,s.contentWindow)];case 9:return[2,a.sent()];case 10:return null===(o=s.parentNode)||void 0===o||o.removeChild(s),[7];case 11:return[2]}})})}function tn(A){for(var e=function(A){for(var e,t,n="Unexpected syntax '".concat(A,"'"),r=/^\s*([a-z-]*)(.*)$/i.exec(A),o=r[1]||void 0,i={},s=/([.:#][\w-]+|\[.+?\])/gi,a=function(A,e){i[A]=i[A]||[],i[A].push(e)};;){var c=s.exec(r[2]);if(!c)break;var l=c[0];switch(l[0]){case".":a("class",l.slice(1));break;case"#":a("id",l.slice(1));break;case"[":var u=/^\[([\w-]+)([~|^$*]?=("(.*?)"|([\w-]+)))?(\s+[is])?\]$/.exec(l);if(!u)throw new Error(n);a(u[1],null!==(t=null!==(e=u[4])&&void 0!==e?e:u[5])&&void 0!==t?t:"");break;default:throw new Error(n)}}return[o,i]}(A),t=e[0],n=e[1],r=document.createElement(null!=t?t:"div"),o=0,i=Object.keys(n);o<i.length;o++){var s=i[o],a=n[s].join(" ");"style"===s?nn(r.style,a):r.setAttribute(s,a)}return r}function nn(A,e){for(var t=0,n=e.split(";");t<n.length;t++){var r=n[t],o=/^\s*([\w-]+)\s*:\s*(.+?)(\s*!([\w-]+))?\s*$/.exec(r);if(o){var i=o[1],s=o[2],a=o[4];A.setProperty(i,s,a||"")}}}var rn=["monospace","sans-serif","serif"],on=["sans-serif-thin","ARNO PRO","Agency FB","Arabic Typesetting","Arial Unicode MS","AvantGarde Bk BT","BankGothic Md BT","Batang","Bitstream Vera Sans Mono","Calibri","Century","Century Gothic","Clarendon","EUROSTILE","Franklin Gothic","Futura Bk BT","Futura Md BT","GOTHAM","Gill Sans","HELV","Haettenschweiler","Helvetica Neue","Humanst521 BT","Leelawadee","Letter Gothic","Levenim MT","Lucida Bright","Lucida Sans","Menlo","MS Mincho","MS Outlook","MS Reference Specialty","MS UI Gothic","MT Extra","MYRIAD PRO","Marlett","Meiryo UI","Microsoft Uighur","Minion Pro","Monotype Corsiva","PMingLiU","Pristina","SCRIPTINA","Segoe UI Light","Serifa","SimHei","Small Fonts","Staccato222 BT","TRAJAN PRO","Univers CE 55 Medium","Vrinda","ZWAdobeF"];function sn(A){return A.toDataURL()}var an,cn;function ln(){var A=this;return function(){if(void 0===cn){var A=function(){var e=un();hn(e)?cn=setTimeout(A,2500):(an=e,cn=void 0)};A()}}(),function(){return ft(A,void 0,void 0,function(){var A;return wt(this,function(e){switch(e.label){case 0:return hn(A=un())?an?[2,pt([],an,!0)]:(t=document).fullscreenElement||t.msFullscreenElement||t.mozFullScreenElement||t.webkitFullscreenElement?[4,jt()]:[3,2]:[3,2];case 1:e.sent(),A=un(),e.label=2;case 2:return hn(A)||(an=A),[2,A]}var t})})}}function un(){var A=screen;return[Et(vt(A.availTop),null),Et(vt(A.width)-vt(A.availWidth)-Et(vt(A.availLeft),0),null),Et(vt(A.height)-vt(A.availHeight)-Et(vt(A.availTop),0),null),Et(vt(A.availLeft),null)]}function hn(A){for(var e=0;e<4;++e)if(A[e])return!1;return!0}function gn(A){var e;return ft(this,void 0,void 0,function(){var t,n,r,o,i,s,a;return wt(this,function(c){switch(c.label){case 0:for(t=document,n=t.createElement("div"),r=new Array(A.length),o={},dn(n),a=0;a<A.length;++a)"DIALOG"===(i=tn(A[a])).tagName&&i.show(),dn(s=t.createElement("div")),s.appendChild(i),n.appendChild(s),r[a]=i;c.label=1;case 1:return t.body?[3,3]:[4,Ct(50)];case 2:return c.sent(),[3,1];case 3:t.body.appendChild(n);try{for(a=0;a<A.length;++a)r[a].offsetParent||(o[A[a]]=!0)}finally{null===(e=n.parentNode)||void 0===e||e.removeChild(n)}return[2,o]}})})}function dn(A){A.style.setProperty("visibility","hidden","important"),A.style.setProperty("display","block","important")}function Bn(A){return matchMedia("(inverted-colors: ".concat(A,")")).matches}function fn(A){return matchMedia("(forced-colors: ".concat(A,")")).matches}function wn(A){return matchMedia("(prefers-contrast: ".concat(A,")")).matches}function pn(A){return matchMedia("(prefers-reduced-motion: ".concat(A,")")).matches}function mn(A){return matchMedia("(prefers-reduced-transparency: ".concat(A,")")).matches}function Cn(A){return matchMedia("(dynamic-range: ".concat(A,")")).matches}var Qn=Math,yn=function(){return 0};var Un={default:[],apple:[{font:"-apple-system-body"}],serif:[{fontFamily:"serif"}],sans:[{fontFamily:"sans-serif"}],mono:[{fontFamily:"monospace"}],min:[{fontSize:"1px"}],system:[{fontFamily:"system-ui"}]};var Fn=function(){for(var A=window;;){var e=A.parent;if(!e||e===A)return!1;try{if(e.location.origin!==A.location.origin)return!0}catch(A){if(A instanceof Error&&"SecurityError"===A.name)return!0;throw A}A=e}};var bn=new Set([10752,2849,2884,2885,2886,2928,2929,2930,2931,2932,2960,2961,2962,2963,2964,2965,2966,2967,2968,2978,3024,3042,3088,3089,3106,3107,32773,32777,32777,32823,32824,32936,32937,32938,32939,32968,32969,32970,32971,3317,33170,3333,3379,3386,33901,33902,34016,34024,34076,3408,3410,3411,3412,3413,3414,3415,34467,34816,34817,34818,34819,34877,34921,34930,35660,35661,35724,35738,35739,36003,36004,36005,36347,36348,36349,37440,37441,37443,7936,7937,7938]),vn=new Set([34047,35723,36063,34852,34853,34854,34229,36392,36795,38449]),En=["FRAGMENT_SHADER","VERTEX_SHADER"],Hn=["LOW_FLOAT","MEDIUM_FLOAT","HIGH_FLOAT","LOW_INT","MEDIUM_INT","HIGH_INT"],In="WEBGL_debug_renderer_info";function xn(A){if(A.webgl)return A.webgl.context;var e,t=document.createElement("canvas");t.addEventListener("webglCreateContextError",function(){return e=void 0});for(var n=0,r=["webgl","experimental-webgl"];n<r.length;n++){var o=r[n];try{e=t.getContext(o)}catch(A){}if(e)break}return A.webgl={context:e},e}function Sn(A,e,t){var n=A.getShaderPrecisionFormat(A[e],A[t]);return n?[n.rangeMin,n.rangeMax,n.precision]:[]}function Ln(A){return Object.keys(A.__proto__).filter(Dn)}function Dn(A){return"string"==typeof A&&!A.match(/[^A-Z0-9_x]/)}function Mn(){return Zt()}function Kn(){return Xt()||Jt()}function kn(A){return"function"==typeof A.getParameter}var Tn={fonts:function(){var A=this;return en(function(e,t){var n=t.document;return ft(A,void 0,void 0,function(){var A,e,t,r,o,i,s,a,c,l,u;return wt(this,function(h){for((A=n.body).style.fontSize="48px",(e=n.createElement("div")).style.setProperty("visibility","hidden","important"),t={},r={},o=function(A){var t=n.createElement("span"),r=t.style;return r.position="absolute",r.top="0",r.left="0",r.fontFamily=A,t.textContent="mmMwWLliI0O&1",e.appendChild(t),t},i=function(A,e){return o("'".concat(A,"',").concat(e))},s=function(){for(var A={},e=function(e){A[e]=rn.map(function(A){return i(e,A)})},t=0,n=on;t<n.length;t++){e(n[t])}return A},a=function(A){return rn.some(function(e,n){return A[n].offsetWidth!==t[e]||A[n].offsetHeight!==r[e]})},c=function(){return rn.map(o)}(),l=s(),A.appendChild(e),u=0;u<rn.length;u++)t[rn[u]]=c[u].offsetWidth,r[rn[u]]=c[u].offsetHeight;return[2,on.filter(function(A){return a(l[A])})]})})})},domBlockers:function(A){var e=(void 0===A?{}:A).debug;return ft(this,void 0,void 0,function(){var A,t,n,r,o;return wt(this,function(i){switch(i.label){case 0:return Jt()||qt()?(s=atob,A={abpIndo:["#Iklan-Melayang","#Kolom-Iklan-728","#SidebarIklan-wrapper",'[title="ALIENBOLA" i]',s("I0JveC1CYW5uZXItYWRz")],abpvn:[".quangcao","#mobileCatfish",s("LmNsb3NlLWFkcw=="),'[id^="bn_bottom_fixed_"]',"#pmadv"],adBlockFinland:[".mainostila",s("LnNwb25zb3JpdA=="),".ylamainos",s("YVtocmVmKj0iL2NsaWNrdGhyZ2guYXNwPyJd"),s("YVtocmVmXj0iaHR0cHM6Ly9hcHAucmVhZHBlYWsuY29tL2FkcyJd")],adBlockPersian:["#navbar_notice_50",".kadr",'TABLE[width="140px"]',"#divAgahi",s("YVtocmVmXj0iaHR0cDovL2cxLnYuZndtcm0ubmV0L2FkLyJd")],adBlockWarningRemoval:["#adblock-honeypot",".adblocker-root",".wp_adblock_detect",s("LmhlYWRlci1ibG9ja2VkLWFk"),s("I2FkX2Jsb2NrZXI=")],adGuardAnnoyances:[".hs-sosyal","#cookieconsentdiv",'div[class^="app_gdpr"]',".as-oil",'[data-cypress="soft-push-notification-modal"]'],adGuardBase:[".BetterJsPopOverlay",s("I2FkXzMwMFgyNTA="),s("I2Jhbm5lcmZsb2F0MjI="),s("I2NhbXBhaWduLWJhbm5lcg=="),s("I0FkLUNvbnRlbnQ=")],adGuardChinese:[s("LlppX2FkX2FfSA=="),s("YVtocmVmKj0iLmh0aGJldDM0LmNvbSJd"),"#widget-quan",s("YVtocmVmKj0iLzg0OTkyMDIwLnh5eiJd"),s("YVtocmVmKj0iLjE5NTZobC5jb20vIl0=")],adGuardFrench:["#pavePub",s("LmFkLWRlc2t0b3AtcmVjdGFuZ2xl"),".mobile_adhesion",".widgetadv",s("LmFkc19iYW4=")],adGuardGerman:['aside[data-portal-id="leaderboard"]'],adGuardJapanese:["#kauli_yad_1",s("YVtocmVmXj0iaHR0cDovL2FkMi50cmFmZmljZ2F0ZS5uZXQvIl0="),s("Ll9wb3BJbl9pbmZpbml0ZV9hZA=="),s("LmFkZ29vZ2xl"),s("Ll9faXNib29zdFJldHVybkFk")],adGuardMobile:[s("YW1wLWF1dG8tYWRz"),s("LmFtcF9hZA=="),'amp-embed[type="24smi"]',"#mgid_iframe1",s("I2FkX2ludmlld19hcmVh")],adGuardRussian:[s("YVtocmVmXj0iaHR0cHM6Ly9hZC5sZXRtZWFkcy5jb20vIl0="),s("LnJlY2xhbWE="),'div[id^="smi2adblock"]',s("ZGl2W2lkXj0iQWRGb3hfYmFubmVyXyJd"),"#psyduckpockeball"],adGuardSocial:[s("YVtocmVmXj0iLy93d3cuc3R1bWJsZXVwb24uY29tL3N1Ym1pdD91cmw9Il0="),s("YVtocmVmXj0iLy90ZWxlZ3JhbS5tZS9zaGFyZS91cmw/Il0="),".etsy-tweet","#inlineShare",".popup-social"],adGuardSpanishPortuguese:["#barraPublicidade","#Publicidade","#publiEspecial","#queTooltip",".cnt-publi"],adGuardTrackingProtection:["#qoo-counter",s("YVtocmVmXj0iaHR0cDovL2NsaWNrLmhvdGxvZy5ydS8iXQ=="),s("YVtocmVmXj0iaHR0cDovL2hpdGNvdW50ZXIucnUvdG9wL3N0YXQucGhwIl0="),s("YVtocmVmXj0iaHR0cDovL3RvcC5tYWlsLnJ1L2p1bXAiXQ=="),"#top100counter"],adGuardTurkish:["#backkapat",s("I3Jla2xhbWk="),s("YVtocmVmXj0iaHR0cDovL2Fkc2Vydi5vbnRlay5jb20udHIvIl0="),s("YVtocmVmXj0iaHR0cDovL2l6bGVuemkuY29tL2NhbXBhaWduLyJd"),s("YVtocmVmXj0iaHR0cDovL3d3dy5pbnN0YWxsYWRzLm5ldC8iXQ==")],bulgarian:[s("dGQjZnJlZW5ldF90YWJsZV9hZHM="),"#ea_intext_div",".lapni-pop-over","#xenium_hot_offers"],easyList:[".yb-floorad",s("LndpZGdldF9wb19hZHNfd2lkZ2V0"),s("LnRyYWZmaWNqdW5reS1hZA=="),".textad_headline",s("LnNwb25zb3JlZC10ZXh0LWxpbmtz")],easyListChina:[s("LmFwcGd1aWRlLXdyYXBbb25jbGljayo9ImJjZWJvcy5jb20iXQ=="),s("LmZyb250cGFnZUFkdk0="),"#taotaole","#aafoot.top_box",".cfa_popup"],easyListCookie:[".ezmob-footer",".cc-CookieWarning","[data-cookie-number]",s("LmF3LWNvb2tpZS1iYW5uZXI="),".sygnal24-gdpr-modal-wrap"],easyListCzechSlovak:["#onlajny-stickers",s("I3Jla2xhbW5pLWJveA=="),s("LnJla2xhbWEtbWVnYWJvYXJk"),".sklik",s("W2lkXj0ic2tsaWtSZWtsYW1hIl0=")],easyListDutch:[s("I2FkdmVydGVudGll"),s("I3ZpcEFkbWFya3RCYW5uZXJCbG9jaw=="),".adstekst",s("YVtocmVmXj0iaHR0cHM6Ly94bHR1YmUubmwvY2xpY2svIl0="),"#semilo-lrectangle"],easyListGermany:["#SSpotIMPopSlider",s("LnNwb25zb3JsaW5rZ3J1ZW4="),s("I3dlcmJ1bmdza3k="),s("I3Jla2xhbWUtcmVjaHRzLW1pdHRl"),s("YVtocmVmXj0iaHR0cHM6Ly9iZDc0Mi5jb20vIl0=")],easyListItaly:[s("LmJveF9hZHZfYW5udW5jaQ=="),".sb-box-pubbliredazionale",s("YVtocmVmXj0iaHR0cDovL2FmZmlsaWF6aW9uaWFkcy5zbmFpLml0LyJd"),s("YVtocmVmXj0iaHR0cHM6Ly9hZHNlcnZlci5odG1sLml0LyJd"),s("YVtocmVmXj0iaHR0cHM6Ly9hZmZpbGlhemlvbmlhZHMuc25haS5pdC8iXQ==")],easyListLithuania:[s("LnJla2xhbW9zX3RhcnBhcw=="),s("LnJla2xhbW9zX251b3JvZG9z"),s("aW1nW2FsdD0iUmVrbGFtaW5pcyBza3lkZWxpcyJd"),s("aW1nW2FsdD0iRGVkaWt1b3RpLmx0IHNlcnZlcmlhaSJd"),s("aW1nW2FsdD0iSG9zdGluZ2FzIFNlcnZlcmlhaS5sdCJd")],estonian:[s("QVtocmVmKj0iaHR0cDovL3BheTRyZXN1bHRzMjQuZXUiXQ==")],fanboyAnnoyances:["#ac-lre-player",".navigate-to-top","#subscribe_popup",".newsletter_holder","#back-top"],fanboyAntiFacebook:[".util-bar-module-firefly-visible"],fanboyEnhancedTrackers:[".open.pushModal","#issuem-leaky-paywall-articles-zero-remaining-nag","#sovrn_container",'div[class$="-hide"][zoompage-fontsize][style="display: block;"]',".BlockNag__Card"],fanboySocial:["#FollowUs","#meteored_share","#social_follow",".article-sharer",".community__social-desc"],frellwitSwedish:[s("YVtocmVmKj0iY2FzaW5vcHJvLnNlIl1bdGFyZ2V0PSJfYmxhbmsiXQ=="),s("YVtocmVmKj0iZG9rdG9yLXNlLm9uZWxpbmsubWUiXQ=="),"article.category-samarbete",s("ZGl2LmhvbGlkQWRz"),"ul.adsmodern"],greekAdBlock:[s("QVtocmVmKj0iYWRtYW4ub3RlbmV0LmdyL2NsaWNrPyJd"),s("QVtocmVmKj0iaHR0cDovL2F4aWFiYW5uZXJzLmV4b2R1cy5nci8iXQ=="),s("QVtocmVmKj0iaHR0cDovL2ludGVyYWN0aXZlLmZvcnRobmV0LmdyL2NsaWNrPyJd"),"DIV.agores300","TABLE.advright"],hungarian:["#cemp_doboz",".optimonk-iframe-container",s("LmFkX19tYWlu"),s("W2NsYXNzKj0iR29vZ2xlQWRzIl0="),"#hirdetesek_box"],iDontCareAboutCookies:['.alert-info[data-block-track*="CookieNotice"]',".ModuleTemplateCookieIndicator",".o--cookies--container","#cookies-policy-sticky","#stickyCookieBar"],icelandicAbp:[s("QVtocmVmXj0iL2ZyYW1ld29yay9yZXNvdXJjZXMvZm9ybXMvYWRzLmFzcHgiXQ==")],latvian:[s("YVtocmVmPSJodHRwOi8vd3d3LnNhbGlkemluaS5sdi8iXVtzdHlsZT0iZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMjBweDsgaGVpZ2h0OiA0MHB4OyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogcmVsYXRpdmU7Il0="),s("YVtocmVmPSJodHRwOi8vd3d3LnNhbGlkemluaS5sdi8iXVtzdHlsZT0iZGlzcGxheTogYmxvY2s7IHdpZHRoOiA4OHB4OyBoZWlnaHQ6IDMxcHg7IG92ZXJmbG93OiBoaWRkZW47IHBvc2l0aW9uOiByZWxhdGl2ZTsiXQ==")],listKr:[s("YVtocmVmKj0iLy9hZC5wbGFuYnBsdXMuY28ua3IvIl0="),s("I2xpdmVyZUFkV3JhcHBlcg=="),s("YVtocmVmKj0iLy9hZHYuaW1hZHJlcC5jby5rci8iXQ=="),s("aW5zLmZhc3R2aWV3LWFk"),".revenue_unit_item.dable"],listeAr:[s("LmdlbWluaUxCMUFk"),".right-and-left-sponsers",s("YVtocmVmKj0iLmFmbGFtLmluZm8iXQ=="),s("YVtocmVmKj0iYm9vcmFxLm9yZyJd"),s("YVtocmVmKj0iZHViaXp6bGUuY29tL2FyLz91dG1fc291cmNlPSJd")],listeFr:[s("YVtocmVmXj0iaHR0cDovL3Byb21vLnZhZG9yLmNvbS8iXQ=="),s("I2FkY29udGFpbmVyX3JlY2hlcmNoZQ=="),s("YVtocmVmKj0id2Vib3JhbWEuZnIvZmNnaS1iaW4vIl0="),".site-pub-interstitiel",'div[id^="crt-"][data-criteo-id]'],officialPolish:["#ceneo-placeholder-ceneo-12",s("W2hyZWZePSJodHRwczovL2FmZi5zZW5kaHViLnBsLyJd"),s("YVtocmVmXj0iaHR0cDovL2Fkdm1hbmFnZXIudGVjaGZ1bi5wbC9yZWRpcmVjdC8iXQ=="),s("YVtocmVmXj0iaHR0cDovL3d3dy50cml6ZXIucGwvP3V0bV9zb3VyY2UiXQ=="),s("ZGl2I3NrYXBpZWNfYWQ=")],ro:[s("YVtocmVmXj0iLy9hZmZ0cmsuYWx0ZXgucm8vQ291bnRlci9DbGljayJd"),s("YVtocmVmXj0iaHR0cHM6Ly9ibGFja2ZyaWRheXNhbGVzLnJvL3Ryay9zaG9wLyJd"),s("YVtocmVmXj0iaHR0cHM6Ly9ldmVudC4ycGVyZm9ybWFudC5jb20vZXZlbnRzL2NsaWNrIl0="),s("YVtocmVmXj0iaHR0cHM6Ly9sLnByb2ZpdHNoYXJlLnJvLyJd"),'a[href^="/url/"]'],ruAd:[s("YVtocmVmKj0iLy9mZWJyYXJlLnJ1LyJd"),s("YVtocmVmKj0iLy91dGltZy5ydS8iXQ=="),s("YVtocmVmKj0iOi8vY2hpa2lkaWtpLnJ1Il0="),"#pgeldiz",".yandex-rtb-block"],thaiAds:["a[href*=macau-uta-popup]",s("I2Fkcy1nb29nbGUtbWlkZGxlX3JlY3RhbmdsZS1ncm91cA=="),s("LmFkczMwMHM="),".bumq",".img-kosana"],webAnnoyancesUltralist:["#mod-social-share-2","#social-tools",s("LmN0cGwtZnVsbGJhbm5lcg=="),".zergnet-recommend",".yt.btn-link.btn-md.btn"]},t=Object.keys(A),[4,gn((o=[]).concat.apply(o,t.map(function(e){return A[e]})))]):[2,void 0];case 1:return n=i.sent(),e&&function(A,e){for(var t="DOM blockers debug:\n```",n=0,r=Object.keys(A);n<r.length;n++){var o=r[n];t+="\n".concat(o,":");for(var i=0,s=A[o];i<s.length;i++){var a=s[i];t+="\n ".concat(e[a]?"🚫":"➡️"," ").concat(a)}}console.log("".concat(t,"\n```"))}(A,n),(r=t.filter(function(e){var t=A[e];return Ht(t.map(function(A){return n[A]}))>.6*t.length})).sort(),[2,r]}var s})})},fontPreferences:function(){return function(A,e){void 0===e&&(e=4e3);return en(function(t,n){var r=n.document,o=r.body,i=o.style;i.width="".concat(e,"px"),i.webkitTextSizeAdjust=i.textSizeAdjust="none",Xt()?o.style.zoom="".concat(1/n.devicePixelRatio):Jt()&&(o.style.zoom="reset");var s=r.createElement("div");return s.textContent=pt([],Array(e/20|0),!0).map(function(){return"word"}).join(" "),o.appendChild(s),A(r,o)},'<!doctype html><html><head><meta name="viewport" content="width=device-width, initial-scale=1">')}(function(A,e){for(var t={},n={},r=0,o=Object.keys(Un);r<o.length;r++){var i=o[r],s=Un[i],a=s[0],c=void 0===a?{}:a,l=s[1],u=void 0===l?"mmMwWLliI0fiflO&1":l,h=A.createElement("span");h.textContent=u,h.style.whiteSpace="nowrap";for(var g=0,d=Object.keys(c);g<d.length;g++){var B=d[g],f=c[B];void 0!==f&&(h.style[B]=f)}t[i]=h,e.append(A.createElement("br"),h)}for(var w=0,p=Object.keys(Un);w<p.length;w++){n[i=p[w]]=t[i].getBoundingClientRect().width}return n})},audio:function(){return Jt()&&zt()&&$t()||Xt()&&(A=navigator,e=window,t=Audio.prototype,n=e.visualViewport,Ht(["srLatency"in t,"srChannelCount"in t,"devicePosture"in A,n&&"segments"in n,"getTextInformation"in Image.prototype])>=3)&&function(){var A=window,e=A.URLPattern;return Ht(["union"in Set.prototype,"Iterator"in A,e&&"hasRegExpGroups"in e.prototype,"RGB8"in WebGLRenderingContext.prototype])>=3}()?-4:function(){var A=window,e=A.OfflineAudioContext||A.webkitOfflineAudioContext;if(!e)return-2;if(Jt()&&!Yt()&&!function(){var A=window;return Ht(["DOMRectList"in A,"RTCPeerConnectionIceEvent"in A,"SVGGeometryElement"in A,"ontransitioncancel"in A])>=3}())return-1;var t=4500,n=new e(1,5e3,44100),r=n.createOscillator();r.type="triangle",r.frequency.value=1e4;var o=n.createDynamicsCompressor();o.threshold.value=-50,o.knee.value=40,o.ratio.value=12,o.attack.value=0,o.release.value=.25,r.connect(o),o.connect(n.destination),r.start(0);var i=function(A){var e=3,t=500,n=500,r=5e3,o=function(){},i=new Promise(function(i,s){var a=!1,c=0,l=0;A.oncomplete=function(A){return i(A.renderedBuffer)};var u=function(){setTimeout(function(){return s(An("timeout"))},Math.min(n,l+r-Date.now()))},h=function(){try{var n=A.startRendering();switch(Qt(n)&&Ft(n),A.state){case"running":l=Date.now(),a&&u();break;case"suspended":document.hidden||c++,a&&c>=e?s(An("suspended")):setTimeout(h,t)}}catch(A){s(A)}};h(),o=function(){a||(a=!0,l>0&&u())}});return[i,o]}(n),s=i[0],a=i[1],c=Ft(s.then(function(A){return function(A){for(var e=0,t=0;t<A.length;++t)e+=Math.abs(A[t]);return e}(A.getChannelData(0).subarray(t))},function(A){if("timeout"===A.name||"suspended"===A.name)return-3;throw A}));return function(){return a(),c}}();var A,e,t,n},screenFrame:function(){var A=this;if(Jt()&&zt()&&$t())return function(){return Promise.resolve(void 0)};var e=ln();return function(){return ft(A,void 0,void 0,function(){var A,t;return wt(this,function(n){switch(n.label){case 0:return[4,e()];case 1:return A=n.sent(),[2,[(t=function(A){return null===A?null:It(A,10)})(A[0]),t(A[1]),t(A[2]),t(A[3])]]}})})}},canvas:function(){return function(A){var e,t,n,r=!1,o=function(){var A=document.createElement("canvas");return A.width=1,A.height=1,[A,A.getContext("2d")]}(),i=o[0],s=o[1];!function(A,e){return!(!e||!A.toDataURL)}(i,s)?t=n="unsupported":(r=function(A){return A.rect(0,0,10,10),A.rect(2,2,6,6),!A.isPointInPath(5,5,"evenodd")}(s),A?t=n="skipped":(e=function(A,e){!function(A,e){A.width=240,A.height=60,e.textBaseline="alphabetic",e.fillStyle="#f60",e.fillRect(100,1,62,20),e.fillStyle="#069",e.font='11pt "Times New Roman"';var t="Cwm fjordbank gly ".concat(String.fromCharCode(55357,56835));e.fillText(t,2,15),e.fillStyle="rgba(102, 204, 0, 0.2)",e.font="18pt Arial",e.fillText(t,4,45)}(A,e);var t=sn(A),n=sn(A);if(t!==n)return["unstable","unstable"];!function(A,e){A.width=122,A.height=110,e.globalCompositeOperation="multiply";for(var t=0,n=[["#f2f",40,40],["#2ff",80,40],["#ff2",60,80]];t<n.length;t++){var r=n[t],o=r[0],i=r[1],s=r[2];e.fillStyle=o,e.beginPath(),e.arc(i,s,40,0,2*Math.PI,!0),e.closePath(),e.fill()}e.fillStyle="#f9c",e.arc(60,60,60,0,2*Math.PI,!0),e.arc(60,60,20,0,2*Math.PI,!0),e.fill("evenodd")}(A,e);var r=sn(A);return[r,t]}(i,s),t=e[0],n=e[1]));return{winding:r,geometry:t,text:n}}(Jt()&&zt()&&$t())},osCpu:function(){return navigator.oscpu},languages:function(){var A,e=navigator,t=[],n=e.language||e.userLanguage||e.browserLanguage||e.systemLanguage;if(void 0!==n&&t.push([n]),Array.isArray(e.languages))Xt()&&Ht([!("MediaSettingsRange"in(A=window)),"RTCEncodedAudioFrame"in A,""+A.Intl=="[object Intl]",""+A.Reflect=="[object Reflect]"])>=3||t.push(e.languages);else if("string"==typeof e.languages){var r=e.languages;r&&t.push(r.split(","))}return t},colorDepth:function(){return window.screen.colorDepth},deviceMemory:function(){return Et(vt(navigator.deviceMemory),void 0)},screenResolution:function(){var A,e,t;if(!(Jt()&&zt()&&$t()))return A=screen,(t=[(e=function(A){return Et(bt(A),null)})(A.width),e(A.height)]).sort().reverse(),t},hardwareConcurrency:function(){return Et(bt(navigator.hardwareConcurrency),void 0)},timezone:function(){var A,e=null===(A=window.Intl)||void 0===A?void 0:A.DateTimeFormat;if(e){var t=(new e).resolvedOptions().timeZone;if(t)return t}var n,r=(n=(new Date).getFullYear(),-Math.max(vt(new Date(n,0,1).getTimezoneOffset()),vt(new Date(n,6,1).getTimezoneOffset())));return"UTC".concat(r>=0?"+":"").concat(r)},sessionStorage:function(){try{return!!window.sessionStorage}catch(A){return!0}},localStorage:function(){try{return!!window.localStorage}catch(A){return!0}},indexedDB:function(){var A,e;if(!(_t()||(A=window,e=navigator,Ht(["msWriteProfilerMark"in A,"MSStream"in A,"msLaunchUri"in e,"msSaveBlob"in e])>=3&&!_t())))try{return!!window.indexedDB}catch(A){return!0}},openDatabase:function(){return!!window.openDatabase},cpuClass:function(){return navigator.cpuClass},platform:function(){var A=navigator.platform;return"MacIntel"===A&&Jt()&&!Yt()?function(){if("iPad"===navigator.platform)return!0;var A=screen,e=A.width/A.height;return Ht(["MediaSource"in window,!!Element.prototype.webkitRequestFullscreen,e>.65&&e<1.53])>=2}()?"iPad":"iPhone":A},plugins:function(){var A=navigator.plugins;if(A){for(var e=[],t=0;t<A.length;++t){var n=A[t];if(n){for(var r=[],o=0;o<n.length;++o){var i=n[o];r.push({type:i.type,suffixes:i.suffixes})}e.push({name:n.name,description:n.description,mimeTypes:r})}}return e}},touchSupport:function(){var A,e=navigator,t=0;void 0!==e.maxTouchPoints?t=bt(e.maxTouchPoints):void 0!==e.msMaxTouchPoints&&(t=e.msMaxTouchPoints);try{document.createEvent("TouchEvent"),A=!0}catch(e){A=!1}return{maxTouchPoints:t,touchEvent:A,touchStart:"ontouchstart"in window}},vendor:function(){return navigator.vendor||""},vendorFlavors:function(){for(var A=[],e=0,t=["chrome","safari","__crWeb","__gCrWeb","yandex","__yb","__ybro","__firefox__","__edgeTrackingPreventionStatistics","webkit","oprt","samsungAr","ucweb","UCShellJava","puffinDevice"];e<t.length;e++){var n=t[e],r=window[n];r&&"object"==typeof r&&A.push(n)}return A.sort()},cookiesEnabled:function(){var A=document;try{A.cookie="cookietest=1; SameSite=Strict;";var e=-1!==A.cookie.indexOf("cookietest=");return A.cookie="cookietest=1; SameSite=Strict; expires=Thu, 01-Jan-1970 00:00:01 GMT",e}catch(A){return!1}},colorGamut:function(){for(var A=0,e=["rec2020","p3","srgb"];A<e.length;A++){var t=e[A];if(matchMedia("(color-gamut: ".concat(t,")")).matches)return t}},invertedColors:function(){return!!Bn("inverted")||!Bn("none")&&void 0},forcedColors:function(){return!!fn("active")||!fn("none")&&void 0},monochrome:function(){if(matchMedia("(min-monochrome: 0)").matches){for(var A=0;A<=100;++A)if(matchMedia("(max-monochrome: ".concat(A,")")).matches)return A;throw new Error("Too high value")}},contrast:function(){return wn("no-preference")?0:wn("high")||wn("more")?1:wn("low")||wn("less")?-1:wn("forced")?10:void 0},reducedMotion:function(){return!!pn("reduce")||!pn("no-preference")&&void 0},reducedTransparency:function(){return!!mn("reduce")||!mn("no-preference")&&void 0},hdr:function(){return!!Cn("high")||!Cn("standard")&&void 0},math:function(){var A,e=Qn.acos||yn,t=Qn.acosh||yn,n=Qn.asin||yn,r=Qn.asinh||yn,o=Qn.atanh||yn,i=Qn.atan||yn,s=Qn.sin||yn,a=Qn.sinh||yn,c=Qn.cos||yn,l=Qn.cosh||yn,u=Qn.tan||yn,h=Qn.tanh||yn,g=Qn.exp||yn,d=Qn.expm1||yn,B=Qn.log1p||yn;return{acos:e(.12312423423423424),acosh:t(1e308),acoshPf:(A=1e154,Qn.log(A+Qn.sqrt(A*A-1))),asin:n(.12312423423423424),asinh:r(1),asinhPf:function(A){return Qn.log(A+Qn.sqrt(A*A+1))}(1),atanh:o(.5),atanhPf:function(A){return Qn.log((1+A)/(1-A))/2}(.5),atan:i(.5),sin:s(-1e300),sinh:a(1),sinhPf:function(A){return Qn.exp(A)-1/Qn.exp(A)/2}(1),cos:c(10.000000000123),cosh:l(1),coshPf:function(A){return(Qn.exp(A)+1/Qn.exp(A))/2}(1),tan:u(-1e300),tanh:h(1),tanhPf:function(A){return(Qn.exp(2*A)-1)/(Qn.exp(2*A)+1)}(1),exp:g(1),expm1:d(1),expm1Pf:function(A){return Qn.exp(A)-1}(1),log1p:B(10),log1pPf:function(A){return Qn.log(1+A)}(10),powPI:function(A){return Qn.pow(Qn.PI,A)}(-100)}},pdfViewerEnabled:function(){return navigator.pdfViewerEnabled},architecture:function(){var A=new Float32Array(1),e=new Uint8Array(A.buffer);return A[0]=1/0,A[0]=A[0]-A[0],e[3]},applePay:function(){var A=window.ApplePaySession;if("function"!=typeof(null==A?void 0:A.canMakePayments))return-1;if(Fn())return-3;try{return A.canMakePayments()?1:0}catch(A){return function(A){if(A instanceof Error&&"InvalidAccessError"===A.name&&/\bfrom\b.*\binsecure\b/i.test(A.message))return-2;throw A}(A)}},privateClickMeasurement:function(){var A,e=document.createElement("a"),t=null!==(A=e.attributionSourceId)&&void 0!==A?A:e.attributionsourceid;return void 0===t?void 0:String(t)},audioBaseLatency:function(){if(!(qt()||Jt()))return-2;if(!window.AudioContext)return-1;var A=(new AudioContext).baseLatency;return null==A?-1:isFinite(A)?A:-3},dateTimeLocale:function(){if(!window.Intl)return-1;var A=window.Intl.DateTimeFormat;if(!A)return-2;var e=A().resolvedOptions().locale;return e||""===e?e:-3},webGlBasics:function(A){var e,t,n,r,o,i,s=xn(A.cache);if(!s)return-1;if(!kn(s))return-2;var a=Mn()?null:s.getExtension(In);return{version:(null===(e=s.getParameter(s.VERSION))||void 0===e?void 0:e.toString())||"",vendor:(null===(t=s.getParameter(s.VENDOR))||void 0===t?void 0:t.toString())||"",vendorUnmasked:a?null===(n=s.getParameter(a.UNMASKED_VENDOR_WEBGL))||void 0===n?void 0:n.toString():"",renderer:(null===(r=s.getParameter(s.RENDERER))||void 0===r?void 0:r.toString())||"",rendererUnmasked:a?null===(o=s.getParameter(a.UNMASKED_RENDERER_WEBGL))||void 0===o?void 0:o.toString():"",shadingLanguageVersion:(null===(i=s.getParameter(s.SHADING_LANGUAGE_VERSION))||void 0===i?void 0:i.toString())||""}},webGlExtensions:function(A){var e=xn(A.cache);if(!e)return-1;if(!kn(e))return-2;var t=e.getSupportedExtensions(),n=e.getContextAttributes(),r=[],o=[],i=[],s=[],a=[];if(n)for(var c=0,l=Object.keys(n);c<l.length;c++){var u=l[c];o.push("".concat(u,"=").concat(n[u]))}for(var h=0,g=Ln(e);h<g.length;h++){var d=e[Q=g[h]];i.push("".concat(Q,"=").concat(d).concat(bn.has(d)?"=".concat(e.getParameter(d)):""))}if(t)for(var B=0,f=t;B<f.length;B++){var w=f[B];if(!(w===In&&Mn()||"WEBGL_polygon_mode"===w&&Kn())){var p=e.getExtension(w);if(p)for(var m=0,C=Ln(p);m<C.length;m++){var Q;d=p[Q=C[m]];s.push("".concat(Q,"=").concat(d).concat(vn.has(d)?"=".concat(e.getParameter(d)):""))}else r.push(w)}}for(var y=0,U=En;y<U.length;y++)for(var F=U[y],b=0,v=Hn;b<v.length;b++){var E=v[b],H=Sn(e,F,E);a.push("".concat(F,".").concat(E,"=").concat(H.join(",")))}return s.sort(),i.sort(),{contextAttributes:o,parameters:i,shaderPrecisions:a,extensions:t,extensionParameters:s,unsupportedExtensions:r}}};function Rn(A){var e=function(A){if(qt())return.4;if(Jt())return!Yt()||zt()&&$t()?.3:.5;var e="value"in A.platform?A.platform.value:"";if(/^Win/.test(e))return.6;if(/^Mac/.test(e))return.5;return.7}(A),t=function(A){return It(.99+.01*A,1e-4)}(e);return{score:e,comment:"$ if upgrade to Pro: https://fpjs.dev/pro".replace(/\$/g,"".concat(t))}}function Pn(A){return JSON.stringify(A,function(A,e){return e instanceof Error?Bt({name:(t=e).name,message:t.message,stack:null===(n=t.stack)||void 0===n?void 0:n.split("\n")},t):e;var t,n},2)}function On(A){return Gt(function(A){for(var e="",t=0,n=Object.keys(A).sort();t<n.length;t++){var r=n[t],o=A[r],i="error"in o?"error":JSON.stringify(o.value);e+="".concat(e?"|":"").concat(r.replace(/([:|\\])/g,"\\$1"),":").concat(i)}return e}(A))}function Vn(A){return void 0===A&&(A=50),function(A,e){void 0===e&&(e=1/0);var t=window.requestIdleCallback;return t?new Promise(function(A){return t.call(window,function(){return A()},{timeout:e})}):Ct(Math.min(A,e))}(A,2*A)}function Nn(A,e){var t=Date.now();return{get:function(n){return ft(this,void 0,void 0,function(){var r,o,i;return wt(this,function(s){switch(s.label){case 0:return r=Date.now(),[4,A()];case 1:return o=s.sent(),i=function(A){var e,t=Rn(A);return{get visitorId(){return void 0===e&&(e=On(this.components)),e},set visitorId(A){e=A},confidence:t,components:A,version:mt}}(o),(e||(null==n?void 0:n.debug))&&console.log("Copy the text below to get the debug data:\n\n```\nversion: ".concat(i.version,"\nuserAgent: ").concat(navigator.userAgent,"\ntimeBetweenLoadAndGet: ").concat(r-t,"\nvisitorId: ").concat(i.visitorId,"\ncomponents: ").concat(Pn(o),"\n```")),[2,i]}})})}}}var Gn={load:function(A){var e;return void 0===A&&(A={}),ft(this,void 0,void 0,function(){var t,n,r;return wt(this,function(o){switch(o.label){case 0:return(null===(e=A.monitoring)||void 0===e||e)&&function(){if(!(window.__fpjs_d_m||Math.random()>=.001))try{var A=new XMLHttpRequest;A.open("get","https://m1.openfpcdn.io/fingerprintjs/v".concat(mt,"/npm-monitoring"),!0),A.send()}catch(A){console.error(A)}}(),t=A.delayFallback,n=A.debug,[4,Vn(t)];case 1:return o.sent(),r=function(A){return Wt(Tn,A,[])}({cache:{},debug:n}),[2,Nn(r,n)]}})})},hashComponents:On,componentsToDebugString:Pn},Wn={exports:{}};var _n,Xn={exports:{}},Jn=ut(Object.freeze({__proto__:null,default:{}}));function Yn(){return _n||(_n=1,function(A){var e;A.exports=(e=e||function(A,e){var t;if("undefined"!=typeof window&&window.crypto&&(t=window.crypto),"undefined"!=typeof self&&self.crypto&&(t=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(t=globalThis.crypto),!t&&"undefined"!=typeof window&&window.msCrypto&&(t=window.msCrypto),!t&&void 0!==ct&&ct.crypto&&(t=ct.crypto),!t)try{t=Jn}catch(A){}var n=function(){if(t){if("function"==typeof t.getRandomValues)try{return t.getRandomValues(new Uint32Array(1))[0]}catch(A){}if("function"==typeof t.randomBytes)try{return t.randomBytes(4).readInt32LE()}catch(A){}}throw new Error("Native crypto module could not be used to get secure random number.")},r=Object.create||function(){function A(){}return function(e){var t;return A.prototype=e,t=new A,A.prototype=null,t}}(),o={},i=o.lib={},s=i.Base={extend:function(A){var e=r(this);return A&&e.mixIn(A),e.hasOwnProperty("init")&&this.init!==e.init||(e.init=function(){e.$super.init.apply(this,arguments)}),e.init.prototype=e,e.$super=this,e},create:function(){var A=this.extend();return A.init.apply(A,arguments),A},init:function(){},mixIn:function(A){for(var e in A)A.hasOwnProperty(e)&&(this[e]=A[e]);A.hasOwnProperty("toString")&&(this.toString=A.toString)},clone:function(){return this.init.prototype.extend(this)}},a=i.WordArray=s.extend({init:function(A,t){A=this.words=A||[],this.sigBytes=t!=e?t:4*A.length},toString:function(A){return(A||l).stringify(this)},concat:function(A){var e=this.words,t=A.words,n=this.sigBytes,r=A.sigBytes;if(this.clamp(),n%4)for(var o=0;o<r;o++){var i=t[o>>>2]>>>24-o%4*8&255;e[n+o>>>2]|=i<<24-(n+o)%4*8}else for(var s=0;s<r;s+=4)e[n+s>>>2]=t[s>>>2];return this.sigBytes+=r,this},clamp:function(){var e=this.words,t=this.sigBytes;e[t>>>2]&=4294967295<<32-t%4*8,e.length=A.ceil(t/4)},clone:function(){var A=s.clone.call(this);return A.words=this.words.slice(0),A},random:function(A){for(var e=[],t=0;t<A;t+=4)e.push(n());return new a.init(e,A)}}),c=o.enc={},l=c.Hex={stringify:function(A){for(var e=A.words,t=A.sigBytes,n=[],r=0;r<t;r++){var o=e[r>>>2]>>>24-r%4*8&255;n.push((o>>>4).toString(16)),n.push((15&o).toString(16))}return n.join("")},parse:function(A){for(var e=A.length,t=[],n=0;n<e;n+=2)t[n>>>3]|=parseInt(A.substr(n,2),16)<<24-n%8*4;return new a.init(t,e/2)}},u=c.Latin1={stringify:function(A){for(var e=A.words,t=A.sigBytes,n=[],r=0;r<t;r++){var o=e[r>>>2]>>>24-r%4*8&255;n.push(String.fromCharCode(o))}return n.join("")},parse:function(A){for(var e=A.length,t=[],n=0;n<e;n++)t[n>>>2]|=(255&A.charCodeAt(n))<<24-n%4*8;return new a.init(t,e)}},h=c.Utf8={stringify:function(A){try{return decodeURIComponent(escape(u.stringify(A)))}catch(A){throw new Error("Malformed UTF-8 data")}},parse:function(A){return u.parse(unescape(encodeURIComponent(A)))}},g=i.BufferedBlockAlgorithm=s.extend({reset:function(){this._data=new a.init,this._nDataBytes=0},_append:function(A){"string"==typeof A&&(A=h.parse(A)),this._data.concat(A),this._nDataBytes+=A.sigBytes},_process:function(e){var t,n=this._data,r=n.words,o=n.sigBytes,i=this.blockSize,s=o/(4*i),c=(s=e?A.ceil(s):A.max((0|s)-this._minBufferSize,0))*i,l=A.min(4*c,o);if(c){for(var u=0;u<c;u+=i)this._doProcessBlock(r,u);t=r.splice(0,c),n.sigBytes-=l}return new a.init(t,l)},clone:function(){var A=s.clone.call(this);return A._data=this._data.clone(),A},_minBufferSize:0});i.Hasher=g.extend({cfg:s.extend(),init:function(A){this.cfg=this.cfg.extend(A),this.reset()},reset:function(){g.reset.call(this),this._doReset()},update:function(A){return this._append(A),this._process(),this},finalize:function(A){return A&&this._append(A),this._doFinalize()},blockSize:16,_createHelper:function(A){return function(e,t){return new A.init(t).finalize(e)}},_createHmacHelper:function(A){return function(e,t){return new d.HMAC.init(A,t).finalize(e)}}});var d=o.algo={};return o}(Math),e)}(Xn)),Xn.exports}var $n,Zn={exports:{}};function zn(){return $n||($n=1,function(A){var e,t,n,r,o,i,s;A.exports=(s=Yn(),n=(t=s).lib,r=n.Base,o=n.WordArray,(i=t.x64={}).Word=r.extend({init:function(A,e){this.high=A,this.low=e}}),i.WordArray=r.extend({init:function(A,t){A=this.words=A||[],this.sigBytes=t!=e?t:8*A.length},toX32:function(){for(var A=this.words,e=A.length,t=[],n=0;n<e;n++){var r=A[n];t.push(r.high),t.push(r.low)}return o.create(t,this.sigBytes)},clone:function(){for(var A=r.clone.call(this),e=A.words=this.words.slice(0),t=e.length,n=0;n<t;n++)e[n]=e[n].clone();return A}}),s)}(Zn)),Zn.exports}var jn,qn={exports:{}};function Ar(){return jn||(jn=1,function(A){var e;A.exports=(e=Yn(),function(){if("function"==typeof ArrayBuffer){var A=e.lib.WordArray,t=A.init,n=A.init=function(A){if(A instanceof ArrayBuffer&&(A=new Uint8Array(A)),(A instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&A instanceof Uint8ClampedArray||A instanceof Int16Array||A instanceof Uint16Array||A instanceof Int32Array||A instanceof Uint32Array||A instanceof Float32Array||A instanceof Float64Array)&&(A=new Uint8Array(A.buffer,A.byteOffset,A.byteLength)),A instanceof Uint8Array){for(var e=A.byteLength,n=[],r=0;r<e;r++)n[r>>>2]|=A[r]<<24-r%4*8;t.call(this,n,e)}else t.apply(this,arguments)};n.prototype=A}}(),e.lib.WordArray)}(qn)),qn.exports}var er,tr={exports:{}};function nr(){return er||(er=1,function(A){var e;A.exports=(e=Yn(),function(){var A=e,t=A.lib.WordArray,n=A.enc;function r(A){return A<<8&4278255360|A>>>8&16711935}n.Utf16=n.Utf16BE={stringify:function(A){for(var e=A.words,t=A.sigBytes,n=[],r=0;r<t;r+=2){var o=e[r>>>2]>>>16-r%4*8&65535;n.push(String.fromCharCode(o))}return n.join("")},parse:function(A){for(var e=A.length,n=[],r=0;r<e;r++)n[r>>>1]|=A.charCodeAt(r)<<16-r%2*16;return t.create(n,2*e)}},n.Utf16LE={stringify:function(A){for(var e=A.words,t=A.sigBytes,n=[],o=0;o<t;o+=2){var i=r(e[o>>>2]>>>16-o%4*8&65535);n.push(String.fromCharCode(i))}return n.join("")},parse:function(A){for(var e=A.length,n=[],o=0;o<e;o++)n[o>>>1]|=r(A.charCodeAt(o)<<16-o%2*16);return t.create(n,2*e)}}}(),e.enc.Utf16)}(tr)),tr.exports}var rr,or={exports:{}};function ir(){return rr||(rr=1,function(A){var e;A.exports=(e=Yn(),function(){var A=e,t=A.lib.WordArray;function n(A,e,n){for(var r=[],o=0,i=0;i<e;i++)if(i%4){var s=n[A.charCodeAt(i-1)]<<i%4*2|n[A.charCodeAt(i)]>>>6-i%4*2;r[o>>>2]|=s<<24-o%4*8,o++}return t.create(r,o)}A.enc.Base64={stringify:function(A){var e=A.words,t=A.sigBytes,n=this._map;A.clamp();for(var r=[],o=0;o<t;o+=3)for(var i=(e[o>>>2]>>>24-o%4*8&255)<<16|(e[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|e[o+2>>>2]>>>24-(o+2)%4*8&255,s=0;s<4&&o+.75*s<t;s++)r.push(n.charAt(i>>>6*(3-s)&63));var a=n.charAt(64);if(a)for(;r.length%4;)r.push(a);return r.join("")},parse:function(A){var e=A.length,t=this._map,r=this._reverseMap;if(!r){r=this._reverseMap=[];for(var o=0;o<t.length;o++)r[t.charCodeAt(o)]=o}var i=t.charAt(64);if(i){var s=A.indexOf(i);-1!==s&&(e=s)}return n(A,e,r)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),e.enc.Base64)}(or)),or.exports}var sr,ar={exports:{}};function cr(){return sr||(sr=1,function(A){var e;A.exports=(e=Yn(),function(){var A=e,t=A.lib.WordArray;function n(A,e,n){for(var r=[],o=0,i=0;i<e;i++)if(i%4){var s=n[A.charCodeAt(i-1)]<<i%4*2|n[A.charCodeAt(i)]>>>6-i%4*2;r[o>>>2]|=s<<24-o%4*8,o++}return t.create(r,o)}A.enc.Base64url={stringify:function(A,e){void 0===e&&(e=!0);var t=A.words,n=A.sigBytes,r=e?this._safe_map:this._map;A.clamp();for(var o=[],i=0;i<n;i+=3)for(var s=(t[i>>>2]>>>24-i%4*8&255)<<16|(t[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|t[i+2>>>2]>>>24-(i+2)%4*8&255,a=0;a<4&&i+.75*a<n;a++)o.push(r.charAt(s>>>6*(3-a)&63));var c=r.charAt(64);if(c)for(;o.length%4;)o.push(c);return o.join("")},parse:function(A,e){void 0===e&&(e=!0);var t=A.length,r=e?this._safe_map:this._map,o=this._reverseMap;if(!o){o=this._reverseMap=[];for(var i=0;i<r.length;i++)o[r.charCodeAt(i)]=i}var s=r.charAt(64);if(s){var a=A.indexOf(s);-1!==a&&(t=a)}return n(A,t,o)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"}}(),e.enc.Base64url)}(ar)),ar.exports}var lr,ur={exports:{}};function hr(){return lr||(lr=1,function(A){var e;A.exports=(e=Yn(),function(A){var t=e,n=t.lib,r=n.WordArray,o=n.Hasher,i=t.algo,s=[];!function(){for(var e=0;e<64;e++)s[e]=4294967296*A.abs(A.sin(e+1))|0}();var a=i.MD5=o.extend({_doReset:function(){this._hash=new r.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(A,e){for(var t=0;t<16;t++){var n=e+t,r=A[n];A[n]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8)}var o=this._hash.words,i=A[e+0],a=A[e+1],g=A[e+2],d=A[e+3],B=A[e+4],f=A[e+5],w=A[e+6],p=A[e+7],m=A[e+8],C=A[e+9],Q=A[e+10],y=A[e+11],U=A[e+12],F=A[e+13],b=A[e+14],v=A[e+15],E=o[0],H=o[1],I=o[2],x=o[3];E=c(E,H,I,x,i,7,s[0]),x=c(x,E,H,I,a,12,s[1]),I=c(I,x,E,H,g,17,s[2]),H=c(H,I,x,E,d,22,s[3]),E=c(E,H,I,x,B,7,s[4]),x=c(x,E,H,I,f,12,s[5]),I=c(I,x,E,H,w,17,s[6]),H=c(H,I,x,E,p,22,s[7]),E=c(E,H,I,x,m,7,s[8]),x=c(x,E,H,I,C,12,s[9]),I=c(I,x,E,H,Q,17,s[10]),H=c(H,I,x,E,y,22,s[11]),E=c(E,H,I,x,U,7,s[12]),x=c(x,E,H,I,F,12,s[13]),I=c(I,x,E,H,b,17,s[14]),E=l(E,H=c(H,I,x,E,v,22,s[15]),I,x,a,5,s[16]),x=l(x,E,H,I,w,9,s[17]),I=l(I,x,E,H,y,14,s[18]),H=l(H,I,x,E,i,20,s[19]),E=l(E,H,I,x,f,5,s[20]),x=l(x,E,H,I,Q,9,s[21]),I=l(I,x,E,H,v,14,s[22]),H=l(H,I,x,E,B,20,s[23]),E=l(E,H,I,x,C,5,s[24]),x=l(x,E,H,I,b,9,s[25]),I=l(I,x,E,H,d,14,s[26]),H=l(H,I,x,E,m,20,s[27]),E=l(E,H,I,x,F,5,s[28]),x=l(x,E,H,I,g,9,s[29]),I=l(I,x,E,H,p,14,s[30]),E=u(E,H=l(H,I,x,E,U,20,s[31]),I,x,f,4,s[32]),x=u(x,E,H,I,m,11,s[33]),I=u(I,x,E,H,y,16,s[34]),H=u(H,I,x,E,b,23,s[35]),E=u(E,H,I,x,a,4,s[36]),x=u(x,E,H,I,B,11,s[37]),I=u(I,x,E,H,p,16,s[38]),H=u(H,I,x,E,Q,23,s[39]),E=u(E,H,I,x,F,4,s[40]),x=u(x,E,H,I,i,11,s[41]),I=u(I,x,E,H,d,16,s[42]),H=u(H,I,x,E,w,23,s[43]),E=u(E,H,I,x,C,4,s[44]),x=u(x,E,H,I,U,11,s[45]),I=u(I,x,E,H,v,16,s[46]),E=h(E,H=u(H,I,x,E,g,23,s[47]),I,x,i,6,s[48]),x=h(x,E,H,I,p,10,s[49]),I=h(I,x,E,H,b,15,s[50]),H=h(H,I,x,E,f,21,s[51]),E=h(E,H,I,x,U,6,s[52]),x=h(x,E,H,I,d,10,s[53]),I=h(I,x,E,H,Q,15,s[54]),H=h(H,I,x,E,a,21,s[55]),E=h(E,H,I,x,m,6,s[56]),x=h(x,E,H,I,v,10,s[57]),I=h(I,x,E,H,w,15,s[58]),H=h(H,I,x,E,F,21,s[59]),E=h(E,H,I,x,B,6,s[60]),x=h(x,E,H,I,y,10,s[61]),I=h(I,x,E,H,g,15,s[62]),H=h(H,I,x,E,C,21,s[63]),o[0]=o[0]+E|0,o[1]=o[1]+H|0,o[2]=o[2]+I|0,o[3]=o[3]+x|0},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;t[r>>>5]|=128<<24-r%32;var o=A.floor(n/4294967296),i=n;t[15+(r+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),t[14+(r+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),e.sigBytes=4*(t.length+1),this._process();for(var s=this._hash,a=s.words,c=0;c<4;c++){var l=a[c];a[c]=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8)}return s},clone:function(){var A=o.clone.call(this);return A._hash=this._hash.clone(),A}});function c(A,e,t,n,r,o,i){var s=A+(e&t|~e&n)+r+i;return(s<<o|s>>>32-o)+e}function l(A,e,t,n,r,o,i){var s=A+(e&n|t&~n)+r+i;return(s<<o|s>>>32-o)+e}function u(A,e,t,n,r,o,i){var s=A+(e^t^n)+r+i;return(s<<o|s>>>32-o)+e}function h(A,e,t,n,r,o,i){var s=A+(t^(e|~n))+r+i;return(s<<o|s>>>32-o)+e}t.MD5=o._createHelper(a),t.HmacMD5=o._createHmacHelper(a)}(Math),e.MD5)}(ur)),ur.exports}var gr,dr={exports:{}};function Br(){return gr||(gr=1,function(A){var e,t,n,r,o,i,s,a;A.exports=(a=Yn(),t=(e=a).lib,n=t.WordArray,r=t.Hasher,o=e.algo,i=[],s=o.SHA1=r.extend({_doReset:function(){this._hash=new n.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(A,e){for(var t=this._hash.words,n=t[0],r=t[1],o=t[2],s=t[3],a=t[4],c=0;c<80;c++){if(c<16)i[c]=0|A[e+c];else{var l=i[c-3]^i[c-8]^i[c-14]^i[c-16];i[c]=l<<1|l>>>31}var u=(n<<5|n>>>27)+a+i[c];u+=c<20?1518500249+(r&o|~r&s):c<40?1859775393+(r^o^s):c<60?(r&o|r&s|o&s)-1894007588:(r^o^s)-899497514,a=s,s=o,o=r<<30|r>>>2,r=n,n=u}t[0]=t[0]+n|0,t[1]=t[1]+r|0,t[2]=t[2]+o|0,t[3]=t[3]+s|0,t[4]=t[4]+a|0},_doFinalize:function(){var A=this._data,e=A.words,t=8*this._nDataBytes,n=8*A.sigBytes;return e[n>>>5]|=128<<24-n%32,e[14+(n+64>>>9<<4)]=Math.floor(t/4294967296),e[15+(n+64>>>9<<4)]=t,A.sigBytes=4*e.length,this._process(),this._hash},clone:function(){var A=r.clone.call(this);return A._hash=this._hash.clone(),A}}),e.SHA1=r._createHelper(s),e.HmacSHA1=r._createHmacHelper(s),a.SHA1)}(dr)),dr.exports}var fr,wr={exports:{}};function pr(){return fr||(fr=1,function(A){var e;A.exports=(e=Yn(),function(A){var t=e,n=t.lib,r=n.WordArray,o=n.Hasher,i=t.algo,s=[],a=[];!function(){function e(e){for(var t=A.sqrt(e),n=2;n<=t;n++)if(!(e%n))return!1;return!0}function t(A){return 4294967296*(A-(0|A))|0}for(var n=2,r=0;r<64;)e(n)&&(r<8&&(s[r]=t(A.pow(n,.5))),a[r]=t(A.pow(n,1/3)),r++),n++}();var c=[],l=i.SHA256=o.extend({_doReset:function(){this._hash=new r.init(s.slice(0))},_doProcessBlock:function(A,e){for(var t=this._hash.words,n=t[0],r=t[1],o=t[2],i=t[3],s=t[4],l=t[5],u=t[6],h=t[7],g=0;g<64;g++){if(g<16)c[g]=0|A[e+g];else{var d=c[g-15],B=(d<<25|d>>>7)^(d<<14|d>>>18)^d>>>3,f=c[g-2],w=(f<<15|f>>>17)^(f<<13|f>>>19)^f>>>10;c[g]=B+c[g-7]+w+c[g-16]}var p=n&r^n&o^r&o,m=(n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22),C=h+((s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25))+(s&l^~s&u)+a[g]+c[g];h=u,u=l,l=s,s=i+C|0,i=o,o=r,r=n,n=C+(m+p)|0}t[0]=t[0]+n|0,t[1]=t[1]+r|0,t[2]=t[2]+o|0,t[3]=t[3]+i|0,t[4]=t[4]+s|0,t[5]=t[5]+l|0,t[6]=t[6]+u|0,t[7]=t[7]+h|0},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[14+(r+64>>>9<<4)]=A.floor(n/4294967296),t[15+(r+64>>>9<<4)]=n,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var A=o.clone.call(this);return A._hash=this._hash.clone(),A}});t.SHA256=o._createHelper(l),t.HmacSHA256=o._createHmacHelper(l)}(Math),e.SHA256)}(wr)),wr.exports}var mr,Cr={exports:{}};var Qr,yr={exports:{}};function Ur(){return Qr||(Qr=1,function(A){var e;A.exports=(e=Yn(),zn(),function(){var A=e,t=A.lib.Hasher,n=A.x64,r=n.Word,o=n.WordArray,i=A.algo;function s(){return r.create.apply(r,arguments)}var a=[s(1116352408,3609767458),s(1899447441,602891725),s(3049323471,3964484399),s(3921009573,2173295548),s(961987163,4081628472),s(1508970993,3053834265),s(2453635748,2937671579),s(2870763221,3664609560),s(3624381080,2734883394),s(310598401,1164996542),s(607225278,1323610764),s(1426881987,3590304994),s(1925078388,4068182383),s(2162078206,991336113),s(2614888103,633803317),s(3248222580,3479774868),s(3835390401,2666613458),s(4022224774,944711139),s(264347078,2341262773),s(604807628,2007800933),s(770255983,1495990901),s(1249150122,1856431235),s(1555081692,3175218132),s(1996064986,2198950837),s(2554220882,3999719339),s(2821834349,766784016),s(2952996808,2566594879),s(3210313671,3203337956),s(3336571891,1034457026),s(3584528711,2466948901),s(113926993,3758326383),s(338241895,168717936),s(666307205,1188179964),s(773529912,1546045734),s(1294757372,1522805485),s(1396182291,2643833823),s(1695183700,2343527390),s(1986661051,1014477480),s(2177026350,1206759142),s(2456956037,344077627),s(2730485921,1290863460),s(2820302411,3158454273),s(3259730800,3505952657),s(3345764771,106217008),s(3516065817,3606008344),s(3600352804,1432725776),s(4094571909,1467031594),s(275423344,851169720),s(430227734,3100823752),s(506948616,1363258195),s(659060556,3750685593),s(883997877,3785050280),s(958139571,3318307427),s(1322822218,3812723403),s(1537002063,2003034995),s(1747873779,3602036899),s(1955562222,1575990012),s(2024104815,1125592928),s(2227730452,2716904306),s(2361852424,442776044),s(2428436474,593698344),s(2756734187,3733110249),s(3204031479,2999351573),s(3329325298,3815920427),s(3391569614,3928383900),s(3515267271,566280711),s(3940187606,3454069534),s(4118630271,4000239992),s(116418474,1914138554),s(174292421,2731055270),s(289380356,3203993006),s(460393269,320620315),s(685471733,587496836),s(852142971,1086792851),s(1017036298,365543100),s(1126000580,2618297676),s(1288033470,3409855158),s(1501505948,4234509866),s(1607167915,987167468),s(1816402316,1246189591)],c=[];!function(){for(var A=0;A<80;A++)c[A]=s()}();var l=i.SHA512=t.extend({_doReset:function(){this._hash=new o.init([new r.init(1779033703,4089235720),new r.init(3144134277,2227873595),new r.init(1013904242,4271175723),new r.init(2773480762,1595750129),new r.init(1359893119,2917565137),new r.init(2600822924,725511199),new r.init(528734635,4215389547),new r.init(1541459225,327033209)])},_doProcessBlock:function(A,e){for(var t=this._hash.words,n=t[0],r=t[1],o=t[2],i=t[3],s=t[4],l=t[5],u=t[6],h=t[7],g=n.high,d=n.low,B=r.high,f=r.low,w=o.high,p=o.low,m=i.high,C=i.low,Q=s.high,y=s.low,U=l.high,F=l.low,b=u.high,v=u.low,E=h.high,H=h.low,I=g,x=d,S=B,L=f,D=w,M=p,K=m,k=C,T=Q,R=y,P=U,O=F,V=b,N=v,G=E,W=H,_=0;_<80;_++){var X,J,Y=c[_];if(_<16)J=Y.high=0|A[e+2*_],X=Y.low=0|A[e+2*_+1];else{var $=c[_-15],Z=$.high,z=$.low,j=(Z>>>1|z<<31)^(Z>>>8|z<<24)^Z>>>7,q=(z>>>1|Z<<31)^(z>>>8|Z<<24)^(z>>>7|Z<<25),AA=c[_-2],eA=AA.high,tA=AA.low,nA=(eA>>>19|tA<<13)^(eA<<3|tA>>>29)^eA>>>6,rA=(tA>>>19|eA<<13)^(tA<<3|eA>>>29)^(tA>>>6|eA<<26),oA=c[_-7],iA=oA.high,sA=oA.low,aA=c[_-16],cA=aA.high,lA=aA.low;J=(J=(J=j+iA+((X=q+sA)>>>0<q>>>0?1:0))+nA+((X+=rA)>>>0<rA>>>0?1:0))+cA+((X+=lA)>>>0<lA>>>0?1:0),Y.high=J,Y.low=X}var uA,hA=T&P^~T&V,gA=R&O^~R&N,dA=I&S^I&D^S&D,BA=x&L^x&M^L&M,fA=(I>>>28|x<<4)^(I<<30|x>>>2)^(I<<25|x>>>7),wA=(x>>>28|I<<4)^(x<<30|I>>>2)^(x<<25|I>>>7),pA=(T>>>14|R<<18)^(T>>>18|R<<14)^(T<<23|R>>>9),mA=(R>>>14|T<<18)^(R>>>18|T<<14)^(R<<23|T>>>9),CA=a[_],QA=CA.high,yA=CA.low,UA=G+pA+((uA=W+mA)>>>0<W>>>0?1:0),FA=wA+BA;G=V,W=N,V=P,N=O,P=T,O=R,T=K+(UA=(UA=(UA=UA+hA+((uA+=gA)>>>0<gA>>>0?1:0))+QA+((uA+=yA)>>>0<yA>>>0?1:0))+J+((uA+=X)>>>0<X>>>0?1:0))+((R=k+uA|0)>>>0<k>>>0?1:0)|0,K=D,k=M,D=S,M=L,S=I,L=x,I=UA+(fA+dA+(FA>>>0<wA>>>0?1:0))+((x=uA+FA|0)>>>0<uA>>>0?1:0)|0}d=n.low=d+x,n.high=g+I+(d>>>0<x>>>0?1:0),f=r.low=f+L,r.high=B+S+(f>>>0<L>>>0?1:0),p=o.low=p+M,o.high=w+D+(p>>>0<M>>>0?1:0),C=i.low=C+k,i.high=m+K+(C>>>0<k>>>0?1:0),y=s.low=y+R,s.high=Q+T+(y>>>0<R>>>0?1:0),F=l.low=F+O,l.high=U+P+(F>>>0<O>>>0?1:0),v=u.low=v+N,u.high=b+V+(v>>>0<N>>>0?1:0),H=h.low=H+W,h.high=E+G+(H>>>0<W>>>0?1:0)},_doFinalize:function(){var A=this._data,e=A.words,t=8*this._nDataBytes,n=8*A.sigBytes;return e[n>>>5]|=128<<24-n%32,e[30+(n+128>>>10<<5)]=Math.floor(t/4294967296),e[31+(n+128>>>10<<5)]=t,A.sigBytes=4*e.length,this._process(),this._hash.toX32()},clone:function(){var A=t.clone.call(this);return A._hash=this._hash.clone(),A},blockSize:32});A.SHA512=t._createHelper(l),A.HmacSHA512=t._createHmacHelper(l)}(),e.SHA512)}(yr)),yr.exports}var Fr,br={exports:{}};var vr,Er={exports:{}};function Hr(){return vr||(vr=1,function(A){var e;A.exports=(e=Yn(),zn(),function(A){var t=e,n=t.lib,r=n.WordArray,o=n.Hasher,i=t.x64.Word,s=t.algo,a=[],c=[],l=[];!function(){for(var A=1,e=0,t=0;t<24;t++){a[A+5*e]=(t+1)*(t+2)/2%64;var n=(2*A+3*e)%5;A=e%5,e=n}for(A=0;A<5;A++)for(e=0;e<5;e++)c[A+5*e]=e+(2*A+3*e)%5*5;for(var r=1,o=0;o<24;o++){for(var s=0,u=0,h=0;h<7;h++){if(1&r){var g=(1<<h)-1;g<32?u^=1<<g:s^=1<<g-32}128&r?r=r<<1^113:r<<=1}l[o]=i.create(s,u)}}();var u=[];!function(){for(var A=0;A<25;A++)u[A]=i.create()}();var h=s.SHA3=o.extend({cfg:o.cfg.extend({outputLength:512}),_doReset:function(){for(var A=this._state=[],e=0;e<25;e++)A[e]=new i.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(A,e){for(var t=this._state,n=this.blockSize/2,r=0;r<n;r++){var o=A[e+2*r],i=A[e+2*r+1];o=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),i=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),(H=t[r]).high^=i,H.low^=o}for(var s=0;s<24;s++){for(var h=0;h<5;h++){for(var g=0,d=0,B=0;B<5;B++)g^=(H=t[h+5*B]).high,d^=H.low;var f=u[h];f.high=g,f.low=d}for(h=0;h<5;h++){var w=u[(h+4)%5],p=u[(h+1)%5],m=p.high,C=p.low;for(g=w.high^(m<<1|C>>>31),d=w.low^(C<<1|m>>>31),B=0;B<5;B++)(H=t[h+5*B]).high^=g,H.low^=d}for(var Q=1;Q<25;Q++){var y=(H=t[Q]).high,U=H.low,F=a[Q];F<32?(g=y<<F|U>>>32-F,d=U<<F|y>>>32-F):(g=U<<F-32|y>>>64-F,d=y<<F-32|U>>>64-F);var b=u[c[Q]];b.high=g,b.low=d}var v=u[0],E=t[0];for(v.high=E.high,v.low=E.low,h=0;h<5;h++)for(B=0;B<5;B++){var H=t[Q=h+5*B],I=u[Q],x=u[(h+1)%5+5*B],S=u[(h+2)%5+5*B];H.high=I.high^~x.high&S.high,H.low=I.low^~x.low&S.low}H=t[0];var L=l[s];H.high^=L.high,H.low^=L.low}},_doFinalize:function(){var e=this._data,t=e.words;this._nDataBytes;var n=8*e.sigBytes,o=32*this.blockSize;t[n>>>5]|=1<<24-n%32,t[(A.ceil((n+1)/o)*o>>>5)-1]|=128,e.sigBytes=4*t.length,this._process();for(var i=this._state,s=this.cfg.outputLength/8,a=s/8,c=[],l=0;l<a;l++){var u=i[l],h=u.high,g=u.low;h=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8),g=16711935&(g<<8|g>>>24)|4278255360&(g<<24|g>>>8),c.push(g),c.push(h)}return new r.init(c,s)},clone:function(){for(var A=o.clone.call(this),e=A._state=this._state.slice(0),t=0;t<25;t++)e[t]=e[t].clone();return A}});t.SHA3=o._createHelper(h),t.HmacSHA3=o._createHmacHelper(h)}(Math),e.SHA3)}(Er)),Er.exports}var Ir,xr={exports:{}};var Sr,Lr={exports:{}};function Dr(){return Sr||(Sr=1,function(A){var e,t,n,r;A.exports=(e=Yn(),n=(t=e).lib.Base,r=t.enc.Utf8,void(t.algo.HMAC=n.extend({init:function(A,e){A=this._hasher=new A.init,"string"==typeof e&&(e=r.parse(e));var t=A.blockSize,n=4*t;e.sigBytes>n&&(e=A.finalize(e)),e.clamp();for(var o=this._oKey=e.clone(),i=this._iKey=e.clone(),s=o.words,a=i.words,c=0;c<t;c++)s[c]^=1549556828,a[c]^=909522486;o.sigBytes=i.sigBytes=n,this.reset()},reset:function(){var A=this._hasher;A.reset(),A.update(this._iKey)},update:function(A){return this._hasher.update(A),this},finalize:function(A){var e=this._hasher,t=e.finalize(A);return e.reset(),e.finalize(this._oKey.clone().concat(t))}})))}(Lr)),Lr.exports}var Mr,Kr={exports:{}};var kr,Tr={exports:{}};function Rr(){return kr||(kr=1,function(A){var e,t,n,r,o,i,s,a;A.exports=(a=Yn(),Br(),Dr(),t=(e=a).lib,n=t.Base,r=t.WordArray,o=e.algo,i=o.MD5,s=o.EvpKDF=n.extend({cfg:n.extend({keySize:4,hasher:i,iterations:1}),init:function(A){this.cfg=this.cfg.extend(A)},compute:function(A,e){for(var t,n=this.cfg,o=n.hasher.create(),i=r.create(),s=i.words,a=n.keySize,c=n.iterations;s.length<a;){t&&o.update(t),t=o.update(A).finalize(e),o.reset();for(var l=1;l<c;l++)t=o.finalize(t),o.reset();i.concat(t)}return i.sigBytes=4*a,i}}),e.EvpKDF=function(A,e,t){return s.create(t).compute(A,e)},a.EvpKDF)}(Tr)),Tr.exports}var Pr,Or={exports:{}};function Vr(){return Pr||(Pr=1,function(A){var e;A.exports=(e=Yn(),Rr(),void(e.lib.Cipher||function(A){var t=e,n=t.lib,r=n.Base,o=n.WordArray,i=n.BufferedBlockAlgorithm,s=t.enc;s.Utf8;var a=s.Base64,c=t.algo.EvpKDF,l=n.Cipher=i.extend({cfg:r.extend(),createEncryptor:function(A,e){return this.create(this._ENC_XFORM_MODE,A,e)},createDecryptor:function(A,e){return this.create(this._DEC_XFORM_MODE,A,e)},init:function(A,e,t){this.cfg=this.cfg.extend(t),this._xformMode=A,this._key=e,this.reset()},reset:function(){i.reset.call(this),this._doReset()},process:function(A){return this._append(A),this._process()},finalize:function(A){return A&&this._append(A),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function A(A){return"string"==typeof A?m:w}return function(e){return{encrypt:function(t,n,r){return A(n).encrypt(e,t,n,r)},decrypt:function(t,n,r){return A(n).decrypt(e,t,n,r)}}}}()});n.StreamCipher=l.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var u=t.mode={},h=n.BlockCipherMode=r.extend({createEncryptor:function(A,e){return this.Encryptor.create(A,e)},createDecryptor:function(A,e){return this.Decryptor.create(A,e)},init:function(A,e){this._cipher=A,this._iv=e}}),g=u.CBC=function(){var e=h.extend();function t(e,t,n){var r,o=this._iv;o?(r=o,this._iv=A):r=this._prevBlock;for(var i=0;i<n;i++)e[t+i]^=r[i]}return e.Encryptor=e.extend({processBlock:function(A,e){var n=this._cipher,r=n.blockSize;t.call(this,A,e,r),n.encryptBlock(A,e),this._prevBlock=A.slice(e,e+r)}}),e.Decryptor=e.extend({processBlock:function(A,e){var n=this._cipher,r=n.blockSize,o=A.slice(e,e+r);n.decryptBlock(A,e),t.call(this,A,e,r),this._prevBlock=o}}),e}(),d=(t.pad={}).Pkcs7={pad:function(A,e){for(var t=4*e,n=t-A.sigBytes%t,r=n<<24|n<<16|n<<8|n,i=[],s=0;s<n;s+=4)i.push(r);var a=o.create(i,n);A.concat(a)},unpad:function(A){var e=255&A.words[A.sigBytes-1>>>2];A.sigBytes-=e}};n.BlockCipher=l.extend({cfg:l.cfg.extend({mode:g,padding:d}),reset:function(){var A;l.reset.call(this);var e=this.cfg,t=e.iv,n=e.mode;this._xformMode==this._ENC_XFORM_MODE?A=n.createEncryptor:(A=n.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==A?this._mode.init(this,t&&t.words):(this._mode=A.call(n,this,t&&t.words),this._mode.__creator=A)},_doProcessBlock:function(A,e){this._mode.processBlock(A,e)},_doFinalize:function(){var A,e=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(e.pad(this._data,this.blockSize),A=this._process(!0)):(A=this._process(!0),e.unpad(A)),A},blockSize:4});var B=n.CipherParams=r.extend({init:function(A){this.mixIn(A)},toString:function(A){return(A||this.formatter).stringify(this)}}),f=(t.format={}).OpenSSL={stringify:function(A){var e=A.ciphertext,t=A.salt;return(t?o.create([1398893684,1701076831]).concat(t).concat(e):e).toString(a)},parse:function(A){var e,t=a.parse(A),n=t.words;return 1398893684==n[0]&&1701076831==n[1]&&(e=o.create(n.slice(2,4)),n.splice(0,4),t.sigBytes-=16),B.create({ciphertext:t,salt:e})}},w=n.SerializableCipher=r.extend({cfg:r.extend({format:f}),encrypt:function(A,e,t,n){n=this.cfg.extend(n);var r=A.createEncryptor(t,n),o=r.finalize(e),i=r.cfg;return B.create({ciphertext:o,key:t,iv:i.iv,algorithm:A,mode:i.mode,padding:i.padding,blockSize:A.blockSize,formatter:n.format})},decrypt:function(A,e,t,n){return n=this.cfg.extend(n),e=this._parse(e,n.format),A.createDecryptor(t,n).finalize(e.ciphertext)},_parse:function(A,e){return"string"==typeof A?e.parse(A,this):A}}),p=(t.kdf={}).OpenSSL={execute:function(A,e,t,n,r){if(n||(n=o.random(8)),r)i=c.create({keySize:e+t,hasher:r}).compute(A,n);else var i=c.create({keySize:e+t}).compute(A,n);var s=o.create(i.words.slice(e),4*t);return i.sigBytes=4*e,B.create({key:i,iv:s,salt:n})}},m=n.PasswordBasedCipher=w.extend({cfg:w.cfg.extend({kdf:p}),encrypt:function(A,e,t,n){var r=(n=this.cfg.extend(n)).kdf.execute(t,A.keySize,A.ivSize,n.salt,n.hasher);n.iv=r.iv;var o=w.encrypt.call(this,A,e,r.key,n);return o.mixIn(r),o},decrypt:function(A,e,t,n){n=this.cfg.extend(n),e=this._parse(e,n.format);var r=n.kdf.execute(t,A.keySize,A.ivSize,e.salt,n.hasher);return n.iv=r.iv,w.decrypt.call(this,A,e,r.key,n)}})}()))}(Or)),Or.exports}var Nr,Gr={exports:{}};function Wr(){return Nr||(Nr=1,function(A){var e;A.exports=(e=Yn(),Vr(),e.mode.CFB=function(){var A=e.lib.BlockCipherMode.extend();function t(A,e,t,n){var r,o=this._iv;o?(r=o.slice(0),this._iv=void 0):r=this._prevBlock,n.encryptBlock(r,0);for(var i=0;i<t;i++)A[e+i]^=r[i]}return A.Encryptor=A.extend({processBlock:function(A,e){var n=this._cipher,r=n.blockSize;t.call(this,A,e,r,n),this._prevBlock=A.slice(e,e+r)}}),A.Decryptor=A.extend({processBlock:function(A,e){var n=this._cipher,r=n.blockSize,o=A.slice(e,e+r);t.call(this,A,e,r,n),this._prevBlock=o}}),A}(),e.mode.CFB)}(Gr)),Gr.exports}var _r,Xr={exports:{}};function Jr(){return _r||(_r=1,function(A){var e,t,n;A.exports=(n=Yn(),Vr(),n.mode.CTR=(e=n.lib.BlockCipherMode.extend(),t=e.Encryptor=e.extend({processBlock:function(A,e){var t=this._cipher,n=t.blockSize,r=this._iv,o=this._counter;r&&(o=this._counter=r.slice(0),this._iv=void 0);var i=o.slice(0);t.encryptBlock(i,0),o[n-1]=o[n-1]+1|0;for(var s=0;s<n;s++)A[e+s]^=i[s]}}),e.Decryptor=t,e),n.mode.CTR)}(Xr)),Xr.exports}var Yr,$r={exports:{}};function Zr(){return Yr||(Yr=1,function(A){var e;A.exports=(e=Yn(),Vr(),
22
22
  /** @preserve
23
23
  * Counter block mode compatible with Dr Brian Gladman fileenc.c
24
24
  * derived from CryptoJS.mode.CTR
25
25
  * Jan Hruby jhruby.web@gmail.com
26
26
  */
27
- e.mode.CTRGladman=function(){var A=e.lib.BlockCipherMode.extend();function t(A){if(255&~(A>>24))A+=1<<24;else{var e=A>>16&255,t=A>>8&255,n=255&A;255===e?(e=0,255===t?(t=0,255===n?n=0:++n):++t):++e,A=0,A+=e<<16,A+=t<<8,A+=n}return A}function n(A){return 0===(A[0]=t(A[0]))&&(A[1]=t(A[1])),A}var r=A.Encryptor=A.extend({processBlock:function(A,e){var t=this._cipher,r=t.blockSize,o=this._iv,i=this._counter;o&&(i=this._counter=o.slice(0),this._iv=void 0),n(i);var s=i.slice(0);t.encryptBlock(s,0);for(var a=0;a<r;a++)A[e+a]^=s[a]}});return A.Decryptor=r,A}(),e.mode.CTRGladman)}(Zr)),Zr.exports}var jr,qr={exports:{}};function Ao(){return jr||(jr=1,function(A){var e,t,n;A.exports=(n=$n(),Nr(),n.mode.OFB=(e=n.lib.BlockCipherMode.extend(),t=e.Encryptor=e.extend({processBlock:function(A,e){var t=this._cipher,n=t.blockSize,r=this._iv,o=this._keystream;r&&(o=this._keystream=r.slice(0),this._iv=void 0),t.encryptBlock(o,0);for(var i=0;i<n;i++)A[e+i]^=o[i]}}),e.Decryptor=t,e),n.mode.OFB)}(qr)),qr.exports}var eo,to={exports:{}};var no,ro={exports:{}};var oo,io={exports:{}};var so,ao={exports:{}};var co,lo={exports:{}};var uo,ho={exports:{}};var go,Bo={exports:{}};var fo,wo={exports:{}};var po,mo={exports:{}};function Co(){return po||(po=1,function(A){var e;A.exports=(e=$n(),sr(),gr(),Pr(),Nr(),function(){var A=e,t=A.lib,n=t.WordArray,r=t.BlockCipher,o=A.algo,i=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],s=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],a=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],c=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],l=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],u=o.DES=r.extend({_doReset:function(){for(var A=this._key.words,e=[],t=0;t<56;t++){var n=i[t]-1;e[t]=A[n>>>5]>>>31-n%32&1}for(var r=this._subKeys=[],o=0;o<16;o++){var c=r[o]=[],l=a[o];for(t=0;t<24;t++)c[t/6|0]|=e[(s[t]-1+l)%28]<<31-t%6,c[4+(t/6|0)]|=e[28+(s[t+24]-1+l)%28]<<31-t%6;for(c[0]=c[0]<<1|c[0]>>>31,t=1;t<7;t++)c[t]=c[t]>>>4*(t-1)+3;c[7]=c[7]<<5|c[7]>>>27}var u=this._invSubKeys=[];for(t=0;t<16;t++)u[t]=r[15-t]},encryptBlock:function(A,e){this._doCryptBlock(A,e,this._subKeys)},decryptBlock:function(A,e){this._doCryptBlock(A,e,this._invSubKeys)},_doCryptBlock:function(A,e,t){this._lBlock=A[e],this._rBlock=A[e+1],h.call(this,4,252645135),h.call(this,16,65535),g.call(this,2,858993459),g.call(this,8,16711935),h.call(this,1,1431655765);for(var n=0;n<16;n++){for(var r=t[n],o=this._lBlock,i=this._rBlock,s=0,a=0;a<8;a++)s|=c[a][((i^r[a])&l[a])>>>0];this._lBlock=i,this._rBlock=o^s}var u=this._lBlock;this._lBlock=this._rBlock,this._rBlock=u,h.call(this,1,1431655765),g.call(this,8,16711935),g.call(this,2,858993459),h.call(this,16,65535),h.call(this,4,252645135),A[e]=this._lBlock,A[e+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function h(A,e){var t=(this._lBlock>>>A^this._rBlock)&e;this._rBlock^=t,this._lBlock^=t<<A}function g(A,e){var t=(this._rBlock>>>A^this._lBlock)&e;this._lBlock^=t,this._rBlock^=t<<A}A.DES=r._createHelper(u);var d=o.TripleDES=r.extend({_doReset:function(){var A=this._key.words;if(2!==A.length&&4!==A.length&&A.length<6)throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");var e=A.slice(0,2),t=A.length<4?A.slice(0,2):A.slice(2,4),r=A.length<6?A.slice(0,2):A.slice(4,6);this._des1=u.createEncryptor(n.create(e)),this._des2=u.createEncryptor(n.create(t)),this._des3=u.createEncryptor(n.create(r))},encryptBlock:function(A,e){this._des1.encryptBlock(A,e),this._des2.decryptBlock(A,e),this._des3.encryptBlock(A,e)},decryptBlock:function(A,e){this._des3.decryptBlock(A,e),this._des2.encryptBlock(A,e),this._des1.decryptBlock(A,e)},keySize:6,ivSize:2,blockSize:2});A.TripleDES=r._createHelper(d)}(),e.TripleDES)}(mo)),mo.exports}var Qo,yo={exports:{}};var Uo,Fo={exports:{}};var bo,vo={exports:{}};var Eo,Ho={exports:{}};function Io(){return Eo||(Eo=1,function(A){var e;A.exports=(e=$n(),sr(),gr(),Pr(),Nr(),function(){var A=e,t=A.lib.BlockCipher,n=A.algo;const r=16,o=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],i=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var s={pbox:[],sbox:[]};function a(A,e){let t=e>>24&255,n=e>>16&255,r=e>>8&255,o=255&e,i=A.sbox[0][t]+A.sbox[1][n];return i^=A.sbox[2][r],i+=A.sbox[3][o],i}function c(A,e,t){let n,o=e,i=t;for(let e=0;e<r;++e)o^=A.pbox[e],i=a(A,o)^i,n=o,o=i,i=n;return n=o,o=i,i=n,i^=A.pbox[r],o^=A.pbox[r+1],{left:o,right:i}}function l(A,e,t){let n,o=e,i=t;for(let e=r+1;e>1;--e)o^=A.pbox[e],i=a(A,o)^i,n=o,o=i,i=n;return n=o,o=i,i=n,i^=A.pbox[1],o^=A.pbox[0],{left:o,right:i}}function u(A,e,t){for(let e=0;e<4;e++){A.sbox[e]=[];for(let t=0;t<256;t++)A.sbox[e][t]=i[e][t]}let n=0;for(let i=0;i<r+2;i++)A.pbox[i]=o[i]^e[n],n++,n>=t&&(n=0);let s=0,a=0,l=0;for(let e=0;e<r+2;e+=2)l=c(A,s,a),s=l.left,a=l.right,A.pbox[e]=s,A.pbox[e+1]=a;for(let e=0;e<4;e++)for(let t=0;t<256;t+=2)l=c(A,s,a),s=l.left,a=l.right,A.sbox[e][t]=s,A.sbox[e][t+1]=a;return!0}var h=n.Blowfish=t.extend({_doReset:function(){if(this._keyPriorReset!==this._key){var A=this._keyPriorReset=this._key,e=A.words,t=A.sigBytes/4;u(s,e,t)}},encryptBlock:function(A,e){var t=c(s,A[e],A[e+1]);A[e]=t.left,A[e+1]=t.right},decryptBlock:function(A,e){var t=l(s,A[e],A[e+1]);A[e]=t.left,A[e+1]=t.right},blockSize:2,keySize:4,ivSize:2});A.Blowfish=t._createHelper(h)}(),e.Blowfish)}(Ho)),Ho.exports}!function(A){var e;A.exports=(e=$n(),jn(),er(),rr(),sr(),lr(),gr(),fr(),mr(),Cr||(Cr=1,function(A){var e,t,n,r,o,i;A.exports=(i=$n(),mr(),t=(e=i).lib.WordArray,n=e.algo,r=n.SHA256,o=n.SHA224=r.extend({_doReset:function(){this._hash=new t.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var A=r._doFinalize.call(this);return A.sigBytes-=4,A}}),e.SHA224=r._createHelper(o),e.HmacSHA224=r._createHmacHelper(o),i.SHA224)}(Qr)),Fr(),br||(br=1,function(A){var e,t,n,r,o,i,s,a;A.exports=(a=$n(),jn(),Fr(),t=(e=a).x64,n=t.Word,r=t.WordArray,o=e.algo,i=o.SHA512,s=o.SHA384=i.extend({_doReset:function(){this._hash=new r.init([new n.init(3418070365,3238371032),new n.init(1654270250,914150663),new n.init(2438529370,812702999),new n.init(355462360,4144912697),new n.init(1731405415,4290775857),new n.init(2394180231,1750603025),new n.init(3675008525,1694076839),new n.init(1203062813,3204075428)])},_doFinalize:function(){var A=i._doFinalize.call(this);return A.sigBytes-=16,A}}),e.SHA384=i._createHelper(s),e.HmacSHA384=i._createHmacHelper(s),a.SHA384)}(vr)),Ir(),xr||(xr=1,function(A){var e;A.exports=(e=$n(),
27
+ e.mode.CTRGladman=function(){var A=e.lib.BlockCipherMode.extend();function t(A){if(255&~(A>>24))A+=1<<24;else{var e=A>>16&255,t=A>>8&255,n=255&A;255===e?(e=0,255===t?(t=0,255===n?n=0:++n):++t):++e,A=0,A+=e<<16,A+=t<<8,A+=n}return A}function n(A){return 0===(A[0]=t(A[0]))&&(A[1]=t(A[1])),A}var r=A.Encryptor=A.extend({processBlock:function(A,e){var t=this._cipher,r=t.blockSize,o=this._iv,i=this._counter;o&&(i=this._counter=o.slice(0),this._iv=void 0),n(i);var s=i.slice(0);t.encryptBlock(s,0);for(var a=0;a<r;a++)A[e+a]^=s[a]}});return A.Decryptor=r,A}(),e.mode.CTRGladman)}($r)),$r.exports}var zr,jr={exports:{}};function qr(){return zr||(zr=1,function(A){var e,t,n;A.exports=(n=Yn(),Vr(),n.mode.OFB=(e=n.lib.BlockCipherMode.extend(),t=e.Encryptor=e.extend({processBlock:function(A,e){var t=this._cipher,n=t.blockSize,r=this._iv,o=this._keystream;r&&(o=this._keystream=r.slice(0),this._iv=void 0),t.encryptBlock(o,0);for(var i=0;i<n;i++)A[e+i]^=o[i]}}),e.Decryptor=t,e),n.mode.OFB)}(jr)),jr.exports}var Ao,eo={exports:{}};var to,no={exports:{}};var ro,oo={exports:{}};var io,so={exports:{}};var ao,co={exports:{}};var lo,uo={exports:{}};var ho,go={exports:{}};var Bo,fo={exports:{}};var wo,po={exports:{}};function mo(){return wo||(wo=1,function(A){var e;A.exports=(e=Yn(),ir(),hr(),Rr(),Vr(),function(){var A=e,t=A.lib,n=t.WordArray,r=t.BlockCipher,o=A.algo,i=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],s=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],a=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],c=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],l=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],u=o.DES=r.extend({_doReset:function(){for(var A=this._key.words,e=[],t=0;t<56;t++){var n=i[t]-1;e[t]=A[n>>>5]>>>31-n%32&1}for(var r=this._subKeys=[],o=0;o<16;o++){var c=r[o]=[],l=a[o];for(t=0;t<24;t++)c[t/6|0]|=e[(s[t]-1+l)%28]<<31-t%6,c[4+(t/6|0)]|=e[28+(s[t+24]-1+l)%28]<<31-t%6;for(c[0]=c[0]<<1|c[0]>>>31,t=1;t<7;t++)c[t]=c[t]>>>4*(t-1)+3;c[7]=c[7]<<5|c[7]>>>27}var u=this._invSubKeys=[];for(t=0;t<16;t++)u[t]=r[15-t]},encryptBlock:function(A,e){this._doCryptBlock(A,e,this._subKeys)},decryptBlock:function(A,e){this._doCryptBlock(A,e,this._invSubKeys)},_doCryptBlock:function(A,e,t){this._lBlock=A[e],this._rBlock=A[e+1],h.call(this,4,252645135),h.call(this,16,65535),g.call(this,2,858993459),g.call(this,8,16711935),h.call(this,1,1431655765);for(var n=0;n<16;n++){for(var r=t[n],o=this._lBlock,i=this._rBlock,s=0,a=0;a<8;a++)s|=c[a][((i^r[a])&l[a])>>>0];this._lBlock=i,this._rBlock=o^s}var u=this._lBlock;this._lBlock=this._rBlock,this._rBlock=u,h.call(this,1,1431655765),g.call(this,8,16711935),g.call(this,2,858993459),h.call(this,16,65535),h.call(this,4,252645135),A[e]=this._lBlock,A[e+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function h(A,e){var t=(this._lBlock>>>A^this._rBlock)&e;this._rBlock^=t,this._lBlock^=t<<A}function g(A,e){var t=(this._rBlock>>>A^this._lBlock)&e;this._lBlock^=t,this._rBlock^=t<<A}A.DES=r._createHelper(u);var d=o.TripleDES=r.extend({_doReset:function(){var A=this._key.words;if(2!==A.length&&4!==A.length&&A.length<6)throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");var e=A.slice(0,2),t=A.length<4?A.slice(0,2):A.slice(2,4),r=A.length<6?A.slice(0,2):A.slice(4,6);this._des1=u.createEncryptor(n.create(e)),this._des2=u.createEncryptor(n.create(t)),this._des3=u.createEncryptor(n.create(r))},encryptBlock:function(A,e){this._des1.encryptBlock(A,e),this._des2.decryptBlock(A,e),this._des3.encryptBlock(A,e)},decryptBlock:function(A,e){this._des3.decryptBlock(A,e),this._des2.encryptBlock(A,e),this._des1.decryptBlock(A,e)},keySize:6,ivSize:2,blockSize:2});A.TripleDES=r._createHelper(d)}(),e.TripleDES)}(po)),po.exports}var Co,Qo={exports:{}};var yo,Uo={exports:{}};var Fo,bo={exports:{}};var vo,Eo={exports:{}};function Ho(){return vo||(vo=1,function(A){var e;A.exports=(e=Yn(),ir(),hr(),Rr(),Vr(),function(){var A=e,t=A.lib.BlockCipher,n=A.algo;const r=16,o=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],i=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var s={pbox:[],sbox:[]};function a(A,e){let t=e>>24&255,n=e>>16&255,r=e>>8&255,o=255&e,i=A.sbox[0][t]+A.sbox[1][n];return i^=A.sbox[2][r],i+=A.sbox[3][o],i}function c(A,e,t){let n,o=e,i=t;for(let e=0;e<r;++e)o^=A.pbox[e],i=a(A,o)^i,n=o,o=i,i=n;return n=o,o=i,i=n,i^=A.pbox[r],o^=A.pbox[r+1],{left:o,right:i}}function l(A,e,t){let n,o=e,i=t;for(let e=r+1;e>1;--e)o^=A.pbox[e],i=a(A,o)^i,n=o,o=i,i=n;return n=o,o=i,i=n,i^=A.pbox[1],o^=A.pbox[0],{left:o,right:i}}function u(A,e,t){for(let e=0;e<4;e++){A.sbox[e]=[];for(let t=0;t<256;t++)A.sbox[e][t]=i[e][t]}let n=0;for(let i=0;i<r+2;i++)A.pbox[i]=o[i]^e[n],n++,n>=t&&(n=0);let s=0,a=0,l=0;for(let e=0;e<r+2;e+=2)l=c(A,s,a),s=l.left,a=l.right,A.pbox[e]=s,A.pbox[e+1]=a;for(let e=0;e<4;e++)for(let t=0;t<256;t+=2)l=c(A,s,a),s=l.left,a=l.right,A.sbox[e][t]=s,A.sbox[e][t+1]=a;return!0}var h=n.Blowfish=t.extend({_doReset:function(){if(this._keyPriorReset!==this._key){var A=this._keyPriorReset=this._key,e=A.words,t=A.sigBytes/4;u(s,e,t)}},encryptBlock:function(A,e){var t=c(s,A[e],A[e+1]);A[e]=t.left,A[e+1]=t.right},decryptBlock:function(A,e){var t=l(s,A[e],A[e+1]);A[e]=t.left,A[e+1]=t.right},blockSize:2,keySize:4,ivSize:2});A.Blowfish=t._createHelper(h)}(),e.Blowfish)}(Eo)),Eo.exports}!function(A){var e;A.exports=(e=Yn(),zn(),Ar(),nr(),ir(),cr(),hr(),Br(),pr(),mr||(mr=1,function(A){var e,t,n,r,o,i;A.exports=(i=Yn(),pr(),t=(e=i).lib.WordArray,n=e.algo,r=n.SHA256,o=n.SHA224=r.extend({_doReset:function(){this._hash=new t.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var A=r._doFinalize.call(this);return A.sigBytes-=4,A}}),e.SHA224=r._createHelper(o),e.HmacSHA224=r._createHmacHelper(o),i.SHA224)}(Cr)),Ur(),Fr||(Fr=1,function(A){var e,t,n,r,o,i,s,a;A.exports=(a=Yn(),zn(),Ur(),t=(e=a).x64,n=t.Word,r=t.WordArray,o=e.algo,i=o.SHA512,s=o.SHA384=i.extend({_doReset:function(){this._hash=new r.init([new n.init(3418070365,3238371032),new n.init(1654270250,914150663),new n.init(2438529370,812702999),new n.init(355462360,4144912697),new n.init(1731405415,4290775857),new n.init(2394180231,1750603025),new n.init(3675008525,1694076839),new n.init(1203062813,3204075428)])},_doFinalize:function(){var A=i._doFinalize.call(this);return A.sigBytes-=16,A}}),e.SHA384=i._createHelper(s),e.HmacSHA384=i._createHmacHelper(s),a.SHA384)}(br)),Hr(),Ir||(Ir=1,function(A){var e;A.exports=(e=Yn(),
28
28
  /** @preserve
29
29
  (c) 2012 by Cédric Mesnil. All rights reserved.
30
30
 
@@ -35,4 +35,4 @@ e.mode.CTRGladman=function(){var A=e.lib.BlockCipherMode.extend();function t(A){
35
35
 
36
36
  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37
37
  */
38
- function(){var A=e,t=A.lib,n=t.WordArray,r=t.Hasher,o=A.algo,i=n.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),s=n.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),a=n.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),c=n.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),l=n.create([0,1518500249,1859775393,2400959708,2840853838]),u=n.create([1352829926,1548603684,1836072691,2053994217,0]),h=o.RIPEMD160=r.extend({_doReset:function(){this._hash=n.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(A,e){for(var t=0;t<16;t++){var n=e+t,r=A[n];A[n]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8)}var o,h,m,C,Q,y,U,F,b,v,E,H=this._hash.words,I=l.words,x=u.words,S=i.words,L=s.words,M=a.words,D=c.words;for(y=o=H[0],U=h=H[1],F=m=H[2],b=C=H[3],v=Q=H[4],t=0;t<80;t+=1)E=o+A[e+S[t]]|0,E+=t<16?g(h,m,C)+I[0]:t<32?d(h,m,C)+I[1]:t<48?B(h,m,C)+I[2]:t<64?f(h,m,C)+I[3]:w(h,m,C)+I[4],E=(E=p(E|=0,M[t]))+Q|0,o=Q,Q=C,C=p(m,10),m=h,h=E,E=y+A[e+L[t]]|0,E+=t<16?w(U,F,b)+x[0]:t<32?f(U,F,b)+x[1]:t<48?B(U,F,b)+x[2]:t<64?d(U,F,b)+x[3]:g(U,F,b)+x[4],E=(E=p(E|=0,D[t]))+v|0,y=v,v=b,b=p(F,10),F=U,U=E;E=H[1]+m+b|0,H[1]=H[2]+C+v|0,H[2]=H[3]+Q+y|0,H[3]=H[4]+o+U|0,H[4]=H[0]+h+F|0,H[0]=E},_doFinalize:function(){var A=this._data,e=A.words,t=8*this._nDataBytes,n=8*A.sigBytes;e[n>>>5]|=128<<24-n%32,e[14+(n+64>>>9<<4)]=16711935&(t<<8|t>>>24)|4278255360&(t<<24|t>>>8),A.sigBytes=4*(e.length+1),this._process();for(var r=this._hash,o=r.words,i=0;i<5;i++){var s=o[i];o[i]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)}return r},clone:function(){var A=r.clone.call(this);return A._hash=this._hash.clone(),A}});function g(A,e,t){return A^e^t}function d(A,e,t){return A&e|~A&t}function B(A,e,t){return(A|~e)^t}function f(A,e,t){return A&t|e&~t}function w(A,e,t){return A^(e|~t)}function p(A,e){return A<<e|A>>>32-e}A.RIPEMD160=r._createHelper(h),A.HmacRIPEMD160=r._createHmacHelper(h)}(),e.RIPEMD160)}(Sr)),Dr(),kr||(kr=1,function(A){var e,t,n,r,o,i,s,a,c;A.exports=(c=$n(),mr(),Dr(),n=(t=(e=c).lib).Base,r=t.WordArray,i=(o=e.algo).SHA256,s=o.HMAC,a=o.PBKDF2=n.extend({cfg:n.extend({keySize:4,hasher:i,iterations:25e4}),init:function(A){this.cfg=this.cfg.extend(A)},compute:function(A,e){for(var t=this.cfg,n=s.create(t.hasher,A),o=r.create(),i=r.create([1]),a=o.words,c=i.words,l=t.keySize,u=t.iterations;a.length<l;){var h=n.update(e).finalize(i);n.reset();for(var g=h.words,d=g.length,B=h,f=1;f<u;f++){B=n.finalize(B),n.reset();for(var w=B.words,p=0;p<d;p++)g[p]^=w[p]}o.concat(h),c[0]++}return o.sigBytes=4*l,o}}),e.PBKDF2=function(A,e,t){return a.create(t).compute(A,e)},c.PBKDF2)}(Kr)),Pr(),Nr(),_r(),Yr(),zr(),Ao(),eo||(eo=1,function(A){var e,t;A.exports=(t=$n(),Nr(),t.mode.ECB=((e=t.lib.BlockCipherMode.extend()).Encryptor=e.extend({processBlock:function(A,e){this._cipher.encryptBlock(A,e)}}),e.Decryptor=e.extend({processBlock:function(A,e){this._cipher.decryptBlock(A,e)}}),e),t.mode.ECB)}(to)),no||(no=1,function(A){var e;A.exports=(e=$n(),Nr(),e.pad.AnsiX923={pad:function(A,e){var t=A.sigBytes,n=4*e,r=n-t%n,o=t+r-1;A.clamp(),A.words[o>>>2]|=r<<24-o%4*8,A.sigBytes+=r},unpad:function(A){var e=255&A.words[A.sigBytes-1>>>2];A.sigBytes-=e}},e.pad.Ansix923)}(ro)),oo||(oo=1,function(A){var e;A.exports=(e=$n(),Nr(),e.pad.Iso10126={pad:function(A,t){var n=4*t,r=n-A.sigBytes%n;A.concat(e.lib.WordArray.random(r-1)).concat(e.lib.WordArray.create([r<<24],1))},unpad:function(A){var e=255&A.words[A.sigBytes-1>>>2];A.sigBytes-=e}},e.pad.Iso10126)}(io)),so||(so=1,function(A){var e;A.exports=(e=$n(),Nr(),e.pad.Iso97971={pad:function(A,t){A.concat(e.lib.WordArray.create([2147483648],1)),e.pad.ZeroPadding.pad(A,t)},unpad:function(A){e.pad.ZeroPadding.unpad(A),A.sigBytes--}},e.pad.Iso97971)}(ao)),co||(co=1,function(A){var e;A.exports=(e=$n(),Nr(),e.pad.ZeroPadding={pad:function(A,e){var t=4*e;A.clamp(),A.sigBytes+=t-(A.sigBytes%t||t)},unpad:function(A){var e=A.words,t=A.sigBytes-1;for(t=A.sigBytes-1;t>=0;t--)if(e[t>>>2]>>>24-t%4*8&255){A.sigBytes=t+1;break}}},e.pad.ZeroPadding)}(lo)),uo||(uo=1,function(A){var e;A.exports=(e=$n(),Nr(),e.pad.NoPadding={pad:function(){},unpad:function(){}},e.pad.NoPadding)}(ho)),go||(go=1,function(A){var e,t,n,r;A.exports=(r=$n(),Nr(),t=(e=r).lib.CipherParams,n=e.enc.Hex,e.format.Hex={stringify:function(A){return A.ciphertext.toString(n)},parse:function(A){var e=n.parse(A);return t.create({ciphertext:e})}},r.format.Hex)}(Bo)),fo||(fo=1,function(A){var e;A.exports=(e=$n(),sr(),gr(),Pr(),Nr(),function(){var A=e,t=A.lib.BlockCipher,n=A.algo,r=[],o=[],i=[],s=[],a=[],c=[],l=[],u=[],h=[],g=[];!function(){for(var A=[],e=0;e<256;e++)A[e]=e<128?e<<1:e<<1^283;var t=0,n=0;for(e=0;e<256;e++){var d=n^n<<1^n<<2^n<<3^n<<4;d=d>>>8^255&d^99,r[t]=d,o[d]=t;var B=A[t],f=A[B],w=A[f],p=257*A[d]^16843008*d;i[t]=p<<24|p>>>8,s[t]=p<<16|p>>>16,a[t]=p<<8|p>>>24,c[t]=p,p=16843009*w^65537*f^257*B^16843008*t,l[d]=p<<24|p>>>8,u[d]=p<<16|p>>>16,h[d]=p<<8|p>>>24,g[d]=p,t?(t=B^A[A[A[w^B]]],n^=A[A[n]]):t=n=1}}();var d=[0,1,2,4,8,16,32,64,128,27,54],B=n.AES=t.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var A=this._keyPriorReset=this._key,e=A.words,t=A.sigBytes/4,n=4*((this._nRounds=t+6)+1),o=this._keySchedule=[],i=0;i<n;i++)i<t?o[i]=e[i]:(c=o[i-1],i%t?t>6&&i%t==4&&(c=r[c>>>24]<<24|r[c>>>16&255]<<16|r[c>>>8&255]<<8|r[255&c]):(c=r[(c=c<<8|c>>>24)>>>24]<<24|r[c>>>16&255]<<16|r[c>>>8&255]<<8|r[255&c],c^=d[i/t|0]<<24),o[i]=o[i-t]^c);for(var s=this._invKeySchedule=[],a=0;a<n;a++){if(i=n-a,a%4)var c=o[i];else c=o[i-4];s[a]=a<4||i<=4?c:l[r[c>>>24]]^u[r[c>>>16&255]]^h[r[c>>>8&255]]^g[r[255&c]]}}},encryptBlock:function(A,e){this._doCryptBlock(A,e,this._keySchedule,i,s,a,c,r)},decryptBlock:function(A,e){var t=A[e+1];A[e+1]=A[e+3],A[e+3]=t,this._doCryptBlock(A,e,this._invKeySchedule,l,u,h,g,o),t=A[e+1],A[e+1]=A[e+3],A[e+3]=t},_doCryptBlock:function(A,e,t,n,r,o,i,s){for(var a=this._nRounds,c=A[e]^t[0],l=A[e+1]^t[1],u=A[e+2]^t[2],h=A[e+3]^t[3],g=4,d=1;d<a;d++){var B=n[c>>>24]^r[l>>>16&255]^o[u>>>8&255]^i[255&h]^t[g++],f=n[l>>>24]^r[u>>>16&255]^o[h>>>8&255]^i[255&c]^t[g++],w=n[u>>>24]^r[h>>>16&255]^o[c>>>8&255]^i[255&l]^t[g++],p=n[h>>>24]^r[c>>>16&255]^o[l>>>8&255]^i[255&u]^t[g++];c=B,l=f,u=w,h=p}B=(s[c>>>24]<<24|s[l>>>16&255]<<16|s[u>>>8&255]<<8|s[255&h])^t[g++],f=(s[l>>>24]<<24|s[u>>>16&255]<<16|s[h>>>8&255]<<8|s[255&c])^t[g++],w=(s[u>>>24]<<24|s[h>>>16&255]<<16|s[c>>>8&255]<<8|s[255&l])^t[g++],p=(s[h>>>24]<<24|s[c>>>16&255]<<16|s[l>>>8&255]<<8|s[255&u])^t[g++],A[e]=B,A[e+1]=f,A[e+2]=w,A[e+3]=p},keySize:8});A.AES=t._createHelper(B)}(),e.AES)}(wo)),Co(),Qo||(Qo=1,function(A){var e;A.exports=(e=$n(),sr(),gr(),Pr(),Nr(),function(){var A=e,t=A.lib.StreamCipher,n=A.algo,r=n.RC4=t.extend({_doReset:function(){for(var A=this._key,e=A.words,t=A.sigBytes,n=this._S=[],r=0;r<256;r++)n[r]=r;r=0;for(var o=0;r<256;r++){var i=r%t,s=e[i>>>2]>>>24-i%4*8&255;o=(o+n[r]+s)%256;var a=n[r];n[r]=n[o],n[o]=a}this._i=this._j=0},_doProcessBlock:function(A,e){A[e]^=o.call(this)},keySize:8,ivSize:0});function o(){for(var A=this._S,e=this._i,t=this._j,n=0,r=0;r<4;r++){t=(t+A[e=(e+1)%256])%256;var o=A[e];A[e]=A[t],A[t]=o,n|=A[(A[e]+A[t])%256]<<24-8*r}return this._i=e,this._j=t,n}A.RC4=t._createHelper(r);var i=n.RC4Drop=r.extend({cfg:r.cfg.extend({drop:192}),_doReset:function(){r._doReset.call(this);for(var A=this.cfg.drop;A>0;A--)o.call(this)}});A.RC4Drop=t._createHelper(i)}(),e.RC4)}(yo)),Uo||(Uo=1,function(A){var e;A.exports=(e=$n(),sr(),gr(),Pr(),Nr(),function(){var A=e,t=A.lib.StreamCipher,n=A.algo,r=[],o=[],i=[],s=n.Rabbit=t.extend({_doReset:function(){for(var A=this._key.words,e=this.cfg.iv,t=0;t<4;t++)A[t]=16711935&(A[t]<<8|A[t]>>>24)|4278255360&(A[t]<<24|A[t]>>>8);var n=this._X=[A[0],A[3]<<16|A[2]>>>16,A[1],A[0]<<16|A[3]>>>16,A[2],A[1]<<16|A[0]>>>16,A[3],A[2]<<16|A[1]>>>16],r=this._C=[A[2]<<16|A[2]>>>16,4294901760&A[0]|65535&A[1],A[3]<<16|A[3]>>>16,4294901760&A[1]|65535&A[2],A[0]<<16|A[0]>>>16,4294901760&A[2]|65535&A[3],A[1]<<16|A[1]>>>16,4294901760&A[3]|65535&A[0]];for(this._b=0,t=0;t<4;t++)a.call(this);for(t=0;t<8;t++)r[t]^=n[t+4&7];if(e){var o=e.words,i=o[0],s=o[1],c=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),l=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),u=c>>>16|4294901760&l,h=l<<16|65535&c;for(r[0]^=c,r[1]^=u,r[2]^=l,r[3]^=h,r[4]^=c,r[5]^=u,r[6]^=l,r[7]^=h,t=0;t<4;t++)a.call(this)}},_doProcessBlock:function(A,e){var t=this._X;a.call(this),r[0]=t[0]^t[5]>>>16^t[3]<<16,r[1]=t[2]^t[7]>>>16^t[5]<<16,r[2]=t[4]^t[1]>>>16^t[7]<<16,r[3]=t[6]^t[3]>>>16^t[1]<<16;for(var n=0;n<4;n++)r[n]=16711935&(r[n]<<8|r[n]>>>24)|4278255360&(r[n]<<24|r[n]>>>8),A[e+n]^=r[n]},blockSize:4,ivSize:2});function a(){for(var A=this._X,e=this._C,t=0;t<8;t++)o[t]=e[t];for(e[0]=e[0]+1295307597+this._b|0,e[1]=e[1]+3545052371+(e[0]>>>0<o[0]>>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0<o[1]>>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0<o[2]>>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0<o[3]>>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0<o[4]>>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0<o[5]>>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0<o[6]>>>0?1:0)|0,this._b=e[7]>>>0<o[7]>>>0?1:0,t=0;t<8;t++){var n=A[t]+e[t],r=65535&n,s=n>>>16,a=((r*r>>>17)+r*s>>>15)+s*s,c=((4294901760&n)*n|0)+((65535&n)*n|0);i[t]=a^c}A[0]=i[0]+(i[7]<<16|i[7]>>>16)+(i[6]<<16|i[6]>>>16)|0,A[1]=i[1]+(i[0]<<8|i[0]>>>24)+i[7]|0,A[2]=i[2]+(i[1]<<16|i[1]>>>16)+(i[0]<<16|i[0]>>>16)|0,A[3]=i[3]+(i[2]<<8|i[2]>>>24)+i[1]|0,A[4]=i[4]+(i[3]<<16|i[3]>>>16)+(i[2]<<16|i[2]>>>16)|0,A[5]=i[5]+(i[4]<<8|i[4]>>>24)+i[3]|0,A[6]=i[6]+(i[5]<<16|i[5]>>>16)+(i[4]<<16|i[4]>>>16)|0,A[7]=i[7]+(i[6]<<8|i[6]>>>24)+i[5]|0}A.Rabbit=t._createHelper(s)}(),e.Rabbit)}(Fo)),bo||(bo=1,function(A){var e;A.exports=(e=$n(),sr(),gr(),Pr(),Nr(),function(){var A=e,t=A.lib.StreamCipher,n=A.algo,r=[],o=[],i=[],s=n.RabbitLegacy=t.extend({_doReset:function(){var A=this._key.words,e=this.cfg.iv,t=this._X=[A[0],A[3]<<16|A[2]>>>16,A[1],A[0]<<16|A[3]>>>16,A[2],A[1]<<16|A[0]>>>16,A[3],A[2]<<16|A[1]>>>16],n=this._C=[A[2]<<16|A[2]>>>16,4294901760&A[0]|65535&A[1],A[3]<<16|A[3]>>>16,4294901760&A[1]|65535&A[2],A[0]<<16|A[0]>>>16,4294901760&A[2]|65535&A[3],A[1]<<16|A[1]>>>16,4294901760&A[3]|65535&A[0]];this._b=0;for(var r=0;r<4;r++)a.call(this);for(r=0;r<8;r++)n[r]^=t[r+4&7];if(e){var o=e.words,i=o[0],s=o[1],c=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),l=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),u=c>>>16|4294901760&l,h=l<<16|65535&c;for(n[0]^=c,n[1]^=u,n[2]^=l,n[3]^=h,n[4]^=c,n[5]^=u,n[6]^=l,n[7]^=h,r=0;r<4;r++)a.call(this)}},_doProcessBlock:function(A,e){var t=this._X;a.call(this),r[0]=t[0]^t[5]>>>16^t[3]<<16,r[1]=t[2]^t[7]>>>16^t[5]<<16,r[2]=t[4]^t[1]>>>16^t[7]<<16,r[3]=t[6]^t[3]>>>16^t[1]<<16;for(var n=0;n<4;n++)r[n]=16711935&(r[n]<<8|r[n]>>>24)|4278255360&(r[n]<<24|r[n]>>>8),A[e+n]^=r[n]},blockSize:4,ivSize:2});function a(){for(var A=this._X,e=this._C,t=0;t<8;t++)o[t]=e[t];for(e[0]=e[0]+1295307597+this._b|0,e[1]=e[1]+3545052371+(e[0]>>>0<o[0]>>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0<o[1]>>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0<o[2]>>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0<o[3]>>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0<o[4]>>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0<o[5]>>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0<o[6]>>>0?1:0)|0,this._b=e[7]>>>0<o[7]>>>0?1:0,t=0;t<8;t++){var n=A[t]+e[t],r=65535&n,s=n>>>16,a=((r*r>>>17)+r*s>>>15)+s*s,c=((4294901760&n)*n|0)+((65535&n)*n|0);i[t]=a^c}A[0]=i[0]+(i[7]<<16|i[7]>>>16)+(i[6]<<16|i[6]>>>16)|0,A[1]=i[1]+(i[0]<<8|i[0]>>>24)+i[7]|0,A[2]=i[2]+(i[1]<<16|i[1]>>>16)+(i[0]<<16|i[0]>>>16)|0,A[3]=i[3]+(i[2]<<8|i[2]>>>24)+i[1]|0,A[4]=i[4]+(i[3]<<16|i[3]>>>16)+(i[2]<<16|i[2]>>>16)|0,A[5]=i[5]+(i[4]<<8|i[4]>>>24)+i[3]|0,A[6]=i[6]+(i[5]<<16|i[5]>>>16)+(i[4]<<16|i[4]>>>16)|0,A[7]=i[7]+(i[6]<<8|i[6]>>>24)+i[5]|0}A.RabbitLegacy=t._createHelper(s)}(),e.RabbitLegacy)}(vo)),Io(),e)}(_n);var xo=_n.exports;class So{constructor(){this.iconManager=null,this.iframeManager=null,this.screenshotManager=null,this.config=null,this.isInitialized=!1,this.isInitializing=!1,this.initResult=null,this.debug=!1,this.lastIconConfig=null}async init(A,n,r=!1){if(this.isInitializing)throw new Error("SDK is already initializing. Please wait for the current initialization to complete.");if(this.isInitialized&&!r){if(this.debug&&console.warn("CustomerSDK already initialized, returning cached result. Use forceReinit=true to reinitialize."),this.initResult)return this.initResult;throw new Error("SDK already initialized but cannot retrieve initialization info")}this.isInitializing=!0,this.isInitialized&&r&&(this.debug&&console.log("Force reinitializing SDK..."),this.iframeManager?.destroy(),this.screenshotManager?.destroy(),this.iframeManager=null,this.screenshotManager=null,this.isInitialized=!1),this.config=A,this.debug=A.debug??!1;try{const r=await this.getDeviceId();this.debug&&console.log("Raw Device ID:",r);const o=this.getReferrer(A),i=xo.MD5(r+o).toString();this.debug&&(console.log("Raw Device ID:",r),console.log("MD5 Device ID (for frontend):",i),console.log("Referrer used:",o));const s=this.buildIframeUrl(A,i),a={deviceId:i,iframeUrl:s,referrer:o,agent:A.agent,timestamp:Date.now()},c=void 0!==n?.iconPosition?n.iconPosition:this.lastIconConfig?.position||void 0,l=void 0!==n?.target?n.target:this.lastIconConfig?.target||void 0;if(this.isIconConfigChanged(c,l)?(this.iconManager&&(this.iconManager.hide(),this.iconManager=null,this.debug&&console.log("Icon config changed, recreating icon manager")),this.iconManager=new e(c,this.debug,l,{sideAttach:void 0===n?.sideAttach||n.sideAttach,sideHideRatio:void 0!==n?.sideHideRatio?n.sideHideRatio:.5,magnetic:void 0===n?.magnetic||n.magnetic,magneticDirection:n?.magneticDirection||"x",margin:void 0!==n?.margin?n.margin:10,autoAttachDelay:void 0!==n?.autoAttachDelay?n.autoAttachDelay:3e3}),await this.iconManager.show(),this.lastIconConfig={position:c,target:l}):(this.iconManager?(await this.iconManager.show(),this.debug&&console.log("Icon config unchanged, keeping existing icon manager")):(this.iconManager=new e(c,this.debug,l,{sideAttach:void 0===n?.sideAttach||n.sideAttach,sideHideRatio:void 0!==n?.sideHideRatio?n.sideHideRatio:.5,magnetic:void 0===n?.magnetic||n.magnetic,magneticDirection:n?.magneticDirection||"x",margin:void 0!==n?.margin?n.margin:10,autoAttachDelay:void 0!==n?.autoAttachDelay?n.autoAttachDelay:3e3}),await this.iconManager.show()),this.lastIconConfig={position:c,target:l}),console.log("iframeUrl:",s),this.iframeManager=new t({src:s,mode:"auto",width:n?.width||450,height:n?.height||600,target:n?.target,allowClose:!0,debug:this.debug,onMessage:(A,e)=>{"new-message"===A&&this.showNotification(0,{pulse:!0})},onClose:()=>{this.iconManager?.forceCleanupDragEvents(),this.iconManager?.show()},...n}),await this.iframeManager.init(),this.iconManager.onClick(()=>{this.clearNotification(),this.iconManager?.hide(),this.iframeManager?.show()}),A.screenshot){const e=document.body,t={...A.screenshot,debug:this.debug};this.screenshotManager=new Bt(e,t,A=>{this.iframeManager?.sendToIframe(A)}),this.screenshotManager.enable(!0),this.debug&&console.log("CustomerSDK screenshot manager initialized and enabled")}return this.isInitialized=!0,this.initResult=a,this.debug&&console.log("CustomerSDK initialized successfully (iframe pre-connected to SSE)"),a}catch(A){console.error("Failed to initialize CustomerSDK:",A);try{this.iconManager&&(this.iconManager.hide(),this.iconManager=null),this.iframeManager&&(this.iframeManager.destroy(),this.iframeManager=null),this.screenshotManager&&(this.screenshotManager.destroy(),this.screenshotManager=null),this.isInitialized=!1,this.initResult=null}catch(A){console.error("Error during cleanup after initialization failure:",A)}throw A}finally{this.isInitializing=!1}}showIcon(){this.iconManager?.show()}hideIcon(){this.iconManager?.hide()}setIconPosition(A){this.iconManager?.setPosition(A)}setIconCoordinates(A){this.iconManager?.setIconPosition(A)}setIconStyle(A){this.iconManager?.setStyle(A)}openChat(){this.clearNotification(),this.iframeManager?.open()}closeChat(){this.iconManager?.forceCleanupDragEvents(),this.iframeManager?.close()}isChatOpen(){return this.iframeManager?.isIframeOpen()||!1}sendToIframe(A){this.iframeManager?.sendToIframe(A)}getConnectionStatus(){return this.isInitialized}showNotification(A=1,e={}){this.iconManager?(this.iconManager.showNotification({badgeCount:"string"==typeof A?0:A,badgeText:"string"==typeof A?A:"",pulse:e.pulse||!1}),e.autoHide&&e.autoHide>0&&setTimeout(()=>{this.iconManager?.clearNotification()},e.autoHide)):this.debug&&console.warn("SDK not initialized")}clearNotification(){this.iconManager?.clearNotification()}setScreenshotTarget(A){this.screenshotManager?.setTargetElement(A)}async captureScreenshot(A=!1){return this.screenshotManager?await this.screenshotManager.captureOnce(A):(this.debug&&console.warn("截图功能未启用"),!1)}enableScreenshot(A){this.screenshotManager?(this.screenshotManager.enable(A),this.debug&&console.log("📸 截图功能已"+(A?"启用":"禁用"))):this.debug&&console.warn("截图管理器未初始化")}getScreenshotState(){return this.screenshotManager?.getState()||null}updateScreenshotOptions(A){this.screenshotManager?(this.screenshotManager.updateOptions(A),this.debug&&console.log("📸 截图配置已更新:",A)):this.debug&&console.warn("截图管理器未初始化,无法更新配置")}async updateToken(A,e){if(!this.isInitialized)throw new Error("SDK not initialized. Call init() first.");if(!this.config)throw new Error("SDK config not found");const t={...this.config,token:A&&""!==A.trim()?A:void 0};return this.debug&&console.log("Updating token:",A?"Token provided":"Token removed"),await this.init(t,e,!0)}destroy(){this.iconManager?.hide(),this.iframeManager?.destroy(),this.screenshotManager?.destroy(),this.iconManager=null,this.iframeManager=null,this.screenshotManager=null,this.config=null,this.initResult=null,this.lastIconConfig=null,this.isInitialized=!1,this.debug&&console.log("CustomerSDK destroyed")}getInitResult(){return this.initResult}async getDeviceId(){this.debug&&console.log("🔍 Starting to get device fingerprint...");try{this.debug&&console.log("📦 Loading FingerprintJS...");const A=await Wn.load();this.debug&&console.log("🎯 Getting device fingerprint...");const e=await A.get();return this.debug&&(console.log("✅ FingerprintJS result:",e),console.log("🆔 Device ID obtained:",e.visitorId)),e.visitorId}catch(A){this.debug&&console.warn("❌ Failed to get device fingerprint, using fallback:",A);const e="device_"+Date.now()+"_"+Math.random().toString(36).substr(2,9);return this.debug&&console.log("🆔 Fallback Device ID:",e),e}}isIconConfigChanged(A,e){if(!this.lastIconConfig)return!0;const t=JSON.stringify(this.lastIconConfig.position)!==JSON.stringify(A),n=this.lastIconConfig.target;let r=!1;return n!==e&&(r="string"==typeof n&&"string"==typeof e?n!==e:(n instanceof HTMLElement&&HTMLElement,!0)),t||r}getReferrer(A){return A.referrer||document.referrer||document.location.href}buildIframeUrl(A,e){const t=A.iframeUrl;if(!t||""===t.trim())throw new Error("iframeUrl is required but not provided or is empty");const n=new URL(t);return A.agent&&""!==A.agent.trim()&&n.searchParams.set("Agent",A.agent),A.token&&""!==A.token.trim()&&n.searchParams.set("Authorization",A.token),n.searchParams.set("DeviceSign",e),n.searchParams.set("Referrer",this.getReferrer(A)),n.toString()}}let Lo=null;const Mo=async(A,e,t=!1)=>(Lo||(Lo=new So),await Lo.init(A,e,t)),Do=()=>{if(!Lo)throw new Error("SDK not initialized. Call init() first.");return Lo},ko=()=>{Do().showIcon()},Ko=()=>{Do().hideIcon()},To=A=>{Do().setIconPosition(A)},Ro=A=>{Do().setIconCoordinates(A)},Po=A=>{Do().setIconStyle(A)},Oo=()=>{Do().openChat()},Vo=()=>{Do().closeChat()},No=()=>Do().isChatOpen(),Go=A=>{Do().sendToIframe(A)},Wo=()=>Do().getConnectionStatus(),_o=()=>Do().getInitResult(),Xo=(A=1,e={})=>{Do().showNotification(A,e)},Jo=()=>{Do().clearNotification()},Yo=()=>{Do().destroy(),Lo=null},$o=A=>{Do().setScreenshotTarget(A)},Zo=async(A=!1)=>{const e=Do();return await e.captureScreenshot(A)},zo=A=>{Do().enableScreenshot(A)},jo=()=>Do().getScreenshotState(),qo=A=>{Do().updateScreenshotOptions(A)},Ai=async(A,e)=>{const t=Do();return await t.updateToken(A,e)};var ei={init:Mo,getInstance:Do,getInitResult:_o,showIcon:ko,hideIcon:Ko,setIconPosition:To,setIconCoordinates:Ro,setIconStyle:Po,openChat:Oo,closeChat:Vo,isChatOpen:No,sendToIframe:Go,getConnectionStatus:Wo,showNotification:Xo,clearNotification:Jo,setScreenshotTarget:$o,captureScreenshot:Zo,enableScreenshot:zo,getScreenshotState:jo,updateScreenshotOptions:qo,updateToken:Ai,destroy:Yo};A.CustomerServiceSDK=So,A.captureScreenshot=Zo,A.clearNotification=Jo,A.closeChat=Vo,A.default=ei,A.destroy=Yo,A.enableScreenshot=zo,A.getConnectionStatus=Wo,A.getInitResult=_o,A.getInstance=Do,A.getScreenshotState=jo,A.hideIcon=Ko,A.init=Mo,A.isChatOpen=No,A.openChat=Oo,A.sendToIframe=Go,A.setIconCoordinates=Ro,A.setIconPosition=To,A.setIconStyle=Po,A.setScreenshotTarget=$o,A.showIcon=ko,A.showNotification=Xo,A.updateScreenshotOptions=qo,A.updateToken=Ai,Object.defineProperty(A,"__esModule",{value:!0})});
38
+ function(){var A=e,t=A.lib,n=t.WordArray,r=t.Hasher,o=A.algo,i=n.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),s=n.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),a=n.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),c=n.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),l=n.create([0,1518500249,1859775393,2400959708,2840853838]),u=n.create([1352829926,1548603684,1836072691,2053994217,0]),h=o.RIPEMD160=r.extend({_doReset:function(){this._hash=n.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(A,e){for(var t=0;t<16;t++){var n=e+t,r=A[n];A[n]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8)}var o,h,m,C,Q,y,U,F,b,v,E,H=this._hash.words,I=l.words,x=u.words,S=i.words,L=s.words,D=a.words,M=c.words;for(y=o=H[0],U=h=H[1],F=m=H[2],b=C=H[3],v=Q=H[4],t=0;t<80;t+=1)E=o+A[e+S[t]]|0,E+=t<16?g(h,m,C)+I[0]:t<32?d(h,m,C)+I[1]:t<48?B(h,m,C)+I[2]:t<64?f(h,m,C)+I[3]:w(h,m,C)+I[4],E=(E=p(E|=0,D[t]))+Q|0,o=Q,Q=C,C=p(m,10),m=h,h=E,E=y+A[e+L[t]]|0,E+=t<16?w(U,F,b)+x[0]:t<32?f(U,F,b)+x[1]:t<48?B(U,F,b)+x[2]:t<64?d(U,F,b)+x[3]:g(U,F,b)+x[4],E=(E=p(E|=0,M[t]))+v|0,y=v,v=b,b=p(F,10),F=U,U=E;E=H[1]+m+b|0,H[1]=H[2]+C+v|0,H[2]=H[3]+Q+y|0,H[3]=H[4]+o+U|0,H[4]=H[0]+h+F|0,H[0]=E},_doFinalize:function(){var A=this._data,e=A.words,t=8*this._nDataBytes,n=8*A.sigBytes;e[n>>>5]|=128<<24-n%32,e[14+(n+64>>>9<<4)]=16711935&(t<<8|t>>>24)|4278255360&(t<<24|t>>>8),A.sigBytes=4*(e.length+1),this._process();for(var r=this._hash,o=r.words,i=0;i<5;i++){var s=o[i];o[i]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)}return r},clone:function(){var A=r.clone.call(this);return A._hash=this._hash.clone(),A}});function g(A,e,t){return A^e^t}function d(A,e,t){return A&e|~A&t}function B(A,e,t){return(A|~e)^t}function f(A,e,t){return A&t|e&~t}function w(A,e,t){return A^(e|~t)}function p(A,e){return A<<e|A>>>32-e}A.RIPEMD160=r._createHelper(h),A.HmacRIPEMD160=r._createHmacHelper(h)}(),e.RIPEMD160)}(xr)),Dr(),Mr||(Mr=1,function(A){var e,t,n,r,o,i,s,a,c;A.exports=(c=Yn(),pr(),Dr(),n=(t=(e=c).lib).Base,r=t.WordArray,i=(o=e.algo).SHA256,s=o.HMAC,a=o.PBKDF2=n.extend({cfg:n.extend({keySize:4,hasher:i,iterations:25e4}),init:function(A){this.cfg=this.cfg.extend(A)},compute:function(A,e){for(var t=this.cfg,n=s.create(t.hasher,A),o=r.create(),i=r.create([1]),a=o.words,c=i.words,l=t.keySize,u=t.iterations;a.length<l;){var h=n.update(e).finalize(i);n.reset();for(var g=h.words,d=g.length,B=h,f=1;f<u;f++){B=n.finalize(B),n.reset();for(var w=B.words,p=0;p<d;p++)g[p]^=w[p]}o.concat(h),c[0]++}return o.sigBytes=4*l,o}}),e.PBKDF2=function(A,e,t){return a.create(t).compute(A,e)},c.PBKDF2)}(Kr)),Rr(),Vr(),Wr(),Jr(),Zr(),qr(),Ao||(Ao=1,function(A){var e,t;A.exports=(t=Yn(),Vr(),t.mode.ECB=((e=t.lib.BlockCipherMode.extend()).Encryptor=e.extend({processBlock:function(A,e){this._cipher.encryptBlock(A,e)}}),e.Decryptor=e.extend({processBlock:function(A,e){this._cipher.decryptBlock(A,e)}}),e),t.mode.ECB)}(eo)),to||(to=1,function(A){var e;A.exports=(e=Yn(),Vr(),e.pad.AnsiX923={pad:function(A,e){var t=A.sigBytes,n=4*e,r=n-t%n,o=t+r-1;A.clamp(),A.words[o>>>2]|=r<<24-o%4*8,A.sigBytes+=r},unpad:function(A){var e=255&A.words[A.sigBytes-1>>>2];A.sigBytes-=e}},e.pad.Ansix923)}(no)),ro||(ro=1,function(A){var e;A.exports=(e=Yn(),Vr(),e.pad.Iso10126={pad:function(A,t){var n=4*t,r=n-A.sigBytes%n;A.concat(e.lib.WordArray.random(r-1)).concat(e.lib.WordArray.create([r<<24],1))},unpad:function(A){var e=255&A.words[A.sigBytes-1>>>2];A.sigBytes-=e}},e.pad.Iso10126)}(oo)),io||(io=1,function(A){var e;A.exports=(e=Yn(),Vr(),e.pad.Iso97971={pad:function(A,t){A.concat(e.lib.WordArray.create([2147483648],1)),e.pad.ZeroPadding.pad(A,t)},unpad:function(A){e.pad.ZeroPadding.unpad(A),A.sigBytes--}},e.pad.Iso97971)}(so)),ao||(ao=1,function(A){var e;A.exports=(e=Yn(),Vr(),e.pad.ZeroPadding={pad:function(A,e){var t=4*e;A.clamp(),A.sigBytes+=t-(A.sigBytes%t||t)},unpad:function(A){var e=A.words,t=A.sigBytes-1;for(t=A.sigBytes-1;t>=0;t--)if(e[t>>>2]>>>24-t%4*8&255){A.sigBytes=t+1;break}}},e.pad.ZeroPadding)}(co)),lo||(lo=1,function(A){var e;A.exports=(e=Yn(),Vr(),e.pad.NoPadding={pad:function(){},unpad:function(){}},e.pad.NoPadding)}(uo)),ho||(ho=1,function(A){var e,t,n,r;A.exports=(r=Yn(),Vr(),t=(e=r).lib.CipherParams,n=e.enc.Hex,e.format.Hex={stringify:function(A){return A.ciphertext.toString(n)},parse:function(A){var e=n.parse(A);return t.create({ciphertext:e})}},r.format.Hex)}(go)),Bo||(Bo=1,function(A){var e;A.exports=(e=Yn(),ir(),hr(),Rr(),Vr(),function(){var A=e,t=A.lib.BlockCipher,n=A.algo,r=[],o=[],i=[],s=[],a=[],c=[],l=[],u=[],h=[],g=[];!function(){for(var A=[],e=0;e<256;e++)A[e]=e<128?e<<1:e<<1^283;var t=0,n=0;for(e=0;e<256;e++){var d=n^n<<1^n<<2^n<<3^n<<4;d=d>>>8^255&d^99,r[t]=d,o[d]=t;var B=A[t],f=A[B],w=A[f],p=257*A[d]^16843008*d;i[t]=p<<24|p>>>8,s[t]=p<<16|p>>>16,a[t]=p<<8|p>>>24,c[t]=p,p=16843009*w^65537*f^257*B^16843008*t,l[d]=p<<24|p>>>8,u[d]=p<<16|p>>>16,h[d]=p<<8|p>>>24,g[d]=p,t?(t=B^A[A[A[w^B]]],n^=A[A[n]]):t=n=1}}();var d=[0,1,2,4,8,16,32,64,128,27,54],B=n.AES=t.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var A=this._keyPriorReset=this._key,e=A.words,t=A.sigBytes/4,n=4*((this._nRounds=t+6)+1),o=this._keySchedule=[],i=0;i<n;i++)i<t?o[i]=e[i]:(c=o[i-1],i%t?t>6&&i%t==4&&(c=r[c>>>24]<<24|r[c>>>16&255]<<16|r[c>>>8&255]<<8|r[255&c]):(c=r[(c=c<<8|c>>>24)>>>24]<<24|r[c>>>16&255]<<16|r[c>>>8&255]<<8|r[255&c],c^=d[i/t|0]<<24),o[i]=o[i-t]^c);for(var s=this._invKeySchedule=[],a=0;a<n;a++){if(i=n-a,a%4)var c=o[i];else c=o[i-4];s[a]=a<4||i<=4?c:l[r[c>>>24]]^u[r[c>>>16&255]]^h[r[c>>>8&255]]^g[r[255&c]]}}},encryptBlock:function(A,e){this._doCryptBlock(A,e,this._keySchedule,i,s,a,c,r)},decryptBlock:function(A,e){var t=A[e+1];A[e+1]=A[e+3],A[e+3]=t,this._doCryptBlock(A,e,this._invKeySchedule,l,u,h,g,o),t=A[e+1],A[e+1]=A[e+3],A[e+3]=t},_doCryptBlock:function(A,e,t,n,r,o,i,s){for(var a=this._nRounds,c=A[e]^t[0],l=A[e+1]^t[1],u=A[e+2]^t[2],h=A[e+3]^t[3],g=4,d=1;d<a;d++){var B=n[c>>>24]^r[l>>>16&255]^o[u>>>8&255]^i[255&h]^t[g++],f=n[l>>>24]^r[u>>>16&255]^o[h>>>8&255]^i[255&c]^t[g++],w=n[u>>>24]^r[h>>>16&255]^o[c>>>8&255]^i[255&l]^t[g++],p=n[h>>>24]^r[c>>>16&255]^o[l>>>8&255]^i[255&u]^t[g++];c=B,l=f,u=w,h=p}B=(s[c>>>24]<<24|s[l>>>16&255]<<16|s[u>>>8&255]<<8|s[255&h])^t[g++],f=(s[l>>>24]<<24|s[u>>>16&255]<<16|s[h>>>8&255]<<8|s[255&c])^t[g++],w=(s[u>>>24]<<24|s[h>>>16&255]<<16|s[c>>>8&255]<<8|s[255&l])^t[g++],p=(s[h>>>24]<<24|s[c>>>16&255]<<16|s[l>>>8&255]<<8|s[255&u])^t[g++],A[e]=B,A[e+1]=f,A[e+2]=w,A[e+3]=p},keySize:8});A.AES=t._createHelper(B)}(),e.AES)}(fo)),mo(),Co||(Co=1,function(A){var e;A.exports=(e=Yn(),ir(),hr(),Rr(),Vr(),function(){var A=e,t=A.lib.StreamCipher,n=A.algo,r=n.RC4=t.extend({_doReset:function(){for(var A=this._key,e=A.words,t=A.sigBytes,n=this._S=[],r=0;r<256;r++)n[r]=r;r=0;for(var o=0;r<256;r++){var i=r%t,s=e[i>>>2]>>>24-i%4*8&255;o=(o+n[r]+s)%256;var a=n[r];n[r]=n[o],n[o]=a}this._i=this._j=0},_doProcessBlock:function(A,e){A[e]^=o.call(this)},keySize:8,ivSize:0});function o(){for(var A=this._S,e=this._i,t=this._j,n=0,r=0;r<4;r++){t=(t+A[e=(e+1)%256])%256;var o=A[e];A[e]=A[t],A[t]=o,n|=A[(A[e]+A[t])%256]<<24-8*r}return this._i=e,this._j=t,n}A.RC4=t._createHelper(r);var i=n.RC4Drop=r.extend({cfg:r.cfg.extend({drop:192}),_doReset:function(){r._doReset.call(this);for(var A=this.cfg.drop;A>0;A--)o.call(this)}});A.RC4Drop=t._createHelper(i)}(),e.RC4)}(Qo)),yo||(yo=1,function(A){var e;A.exports=(e=Yn(),ir(),hr(),Rr(),Vr(),function(){var A=e,t=A.lib.StreamCipher,n=A.algo,r=[],o=[],i=[],s=n.Rabbit=t.extend({_doReset:function(){for(var A=this._key.words,e=this.cfg.iv,t=0;t<4;t++)A[t]=16711935&(A[t]<<8|A[t]>>>24)|4278255360&(A[t]<<24|A[t]>>>8);var n=this._X=[A[0],A[3]<<16|A[2]>>>16,A[1],A[0]<<16|A[3]>>>16,A[2],A[1]<<16|A[0]>>>16,A[3],A[2]<<16|A[1]>>>16],r=this._C=[A[2]<<16|A[2]>>>16,4294901760&A[0]|65535&A[1],A[3]<<16|A[3]>>>16,4294901760&A[1]|65535&A[2],A[0]<<16|A[0]>>>16,4294901760&A[2]|65535&A[3],A[1]<<16|A[1]>>>16,4294901760&A[3]|65535&A[0]];for(this._b=0,t=0;t<4;t++)a.call(this);for(t=0;t<8;t++)r[t]^=n[t+4&7];if(e){var o=e.words,i=o[0],s=o[1],c=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),l=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),u=c>>>16|4294901760&l,h=l<<16|65535&c;for(r[0]^=c,r[1]^=u,r[2]^=l,r[3]^=h,r[4]^=c,r[5]^=u,r[6]^=l,r[7]^=h,t=0;t<4;t++)a.call(this)}},_doProcessBlock:function(A,e){var t=this._X;a.call(this),r[0]=t[0]^t[5]>>>16^t[3]<<16,r[1]=t[2]^t[7]>>>16^t[5]<<16,r[2]=t[4]^t[1]>>>16^t[7]<<16,r[3]=t[6]^t[3]>>>16^t[1]<<16;for(var n=0;n<4;n++)r[n]=16711935&(r[n]<<8|r[n]>>>24)|4278255360&(r[n]<<24|r[n]>>>8),A[e+n]^=r[n]},blockSize:4,ivSize:2});function a(){for(var A=this._X,e=this._C,t=0;t<8;t++)o[t]=e[t];for(e[0]=e[0]+1295307597+this._b|0,e[1]=e[1]+3545052371+(e[0]>>>0<o[0]>>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0<o[1]>>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0<o[2]>>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0<o[3]>>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0<o[4]>>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0<o[5]>>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0<o[6]>>>0?1:0)|0,this._b=e[7]>>>0<o[7]>>>0?1:0,t=0;t<8;t++){var n=A[t]+e[t],r=65535&n,s=n>>>16,a=((r*r>>>17)+r*s>>>15)+s*s,c=((4294901760&n)*n|0)+((65535&n)*n|0);i[t]=a^c}A[0]=i[0]+(i[7]<<16|i[7]>>>16)+(i[6]<<16|i[6]>>>16)|0,A[1]=i[1]+(i[0]<<8|i[0]>>>24)+i[7]|0,A[2]=i[2]+(i[1]<<16|i[1]>>>16)+(i[0]<<16|i[0]>>>16)|0,A[3]=i[3]+(i[2]<<8|i[2]>>>24)+i[1]|0,A[4]=i[4]+(i[3]<<16|i[3]>>>16)+(i[2]<<16|i[2]>>>16)|0,A[5]=i[5]+(i[4]<<8|i[4]>>>24)+i[3]|0,A[6]=i[6]+(i[5]<<16|i[5]>>>16)+(i[4]<<16|i[4]>>>16)|0,A[7]=i[7]+(i[6]<<8|i[6]>>>24)+i[5]|0}A.Rabbit=t._createHelper(s)}(),e.Rabbit)}(Uo)),Fo||(Fo=1,function(A){var e;A.exports=(e=Yn(),ir(),hr(),Rr(),Vr(),function(){var A=e,t=A.lib.StreamCipher,n=A.algo,r=[],o=[],i=[],s=n.RabbitLegacy=t.extend({_doReset:function(){var A=this._key.words,e=this.cfg.iv,t=this._X=[A[0],A[3]<<16|A[2]>>>16,A[1],A[0]<<16|A[3]>>>16,A[2],A[1]<<16|A[0]>>>16,A[3],A[2]<<16|A[1]>>>16],n=this._C=[A[2]<<16|A[2]>>>16,4294901760&A[0]|65535&A[1],A[3]<<16|A[3]>>>16,4294901760&A[1]|65535&A[2],A[0]<<16|A[0]>>>16,4294901760&A[2]|65535&A[3],A[1]<<16|A[1]>>>16,4294901760&A[3]|65535&A[0]];this._b=0;for(var r=0;r<4;r++)a.call(this);for(r=0;r<8;r++)n[r]^=t[r+4&7];if(e){var o=e.words,i=o[0],s=o[1],c=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),l=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),u=c>>>16|4294901760&l,h=l<<16|65535&c;for(n[0]^=c,n[1]^=u,n[2]^=l,n[3]^=h,n[4]^=c,n[5]^=u,n[6]^=l,n[7]^=h,r=0;r<4;r++)a.call(this)}},_doProcessBlock:function(A,e){var t=this._X;a.call(this),r[0]=t[0]^t[5]>>>16^t[3]<<16,r[1]=t[2]^t[7]>>>16^t[5]<<16,r[2]=t[4]^t[1]>>>16^t[7]<<16,r[3]=t[6]^t[3]>>>16^t[1]<<16;for(var n=0;n<4;n++)r[n]=16711935&(r[n]<<8|r[n]>>>24)|4278255360&(r[n]<<24|r[n]>>>8),A[e+n]^=r[n]},blockSize:4,ivSize:2});function a(){for(var A=this._X,e=this._C,t=0;t<8;t++)o[t]=e[t];for(e[0]=e[0]+1295307597+this._b|0,e[1]=e[1]+3545052371+(e[0]>>>0<o[0]>>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0<o[1]>>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0<o[2]>>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0<o[3]>>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0<o[4]>>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0<o[5]>>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0<o[6]>>>0?1:0)|0,this._b=e[7]>>>0<o[7]>>>0?1:0,t=0;t<8;t++){var n=A[t]+e[t],r=65535&n,s=n>>>16,a=((r*r>>>17)+r*s>>>15)+s*s,c=((4294901760&n)*n|0)+((65535&n)*n|0);i[t]=a^c}A[0]=i[0]+(i[7]<<16|i[7]>>>16)+(i[6]<<16|i[6]>>>16)|0,A[1]=i[1]+(i[0]<<8|i[0]>>>24)+i[7]|0,A[2]=i[2]+(i[1]<<16|i[1]>>>16)+(i[0]<<16|i[0]>>>16)|0,A[3]=i[3]+(i[2]<<8|i[2]>>>24)+i[1]|0,A[4]=i[4]+(i[3]<<16|i[3]>>>16)+(i[2]<<16|i[2]>>>16)|0,A[5]=i[5]+(i[4]<<8|i[4]>>>24)+i[3]|0,A[6]=i[6]+(i[5]<<16|i[5]>>>16)+(i[4]<<16|i[4]>>>16)|0,A[7]=i[7]+(i[6]<<8|i[6]>>>24)+i[5]|0}A.RabbitLegacy=t._createHelper(s)}(),e.RabbitLegacy)}(bo)),Ho(),e)}(Wn);var Io=Wn.exports;class xo{constructor(){this.iconManager=null,this.screenshotManager=null,this.config=null,this.isInitialized=!1,this.isInitializing=!1,this.initResult=null,this.debug=!1,this.lastIconConfig=null}async init(A,t,n=!1){if(this.isInitializing)throw new Error("SDK is already initializing. Please wait for the current initialization to complete.");if(this.isInitialized&&!n){if(this.debug&&console.warn("CustomerSDK already initialized, returning cached result. Use forceReinit=true to reinitialize."),this.initResult)return this.initResult;throw new Error("SDK already initialized but cannot retrieve initialization info")}this.isInitializing=!0,this.isInitialized&&n&&(this.debug&&console.log("Force reinitializing SDK..."),this.screenshotManager?.destroy(),this.screenshotManager=null,this.isInitialized=!1),this.config=A,this.debug=A.debug??!1;try{const n=await this.getDeviceId();this.debug&&console.log("Raw Device ID:",n);const r=this.getReferrer(A),o=Io.MD5(n+r).toString();this.debug&&(console.log("Raw Device ID:",n),console.log("MD5 Device ID (for frontend):",o),console.log("Referrer used:",r));const i={deviceId:o,referrer:r,agent:A.agent,timestamp:Date.now()},s=void 0!==t?.iconPosition?t.iconPosition:this.lastIconConfig?.position||void 0,a=void 0!==t?.target?t.target:this.lastIconConfig?.target||void 0;if(this.isIconConfigChanged(s,a)?(this.iconManager&&(this.iconManager.hide(),this.iconManager=null,this.debug&&console.log("Icon config changed, recreating icon manager")),this.iconManager=new e(s,this.debug,a,{sideAttach:void 0===t?.sideAttach||t.sideAttach,sideHideRatio:void 0!==t?.sideHideRatio?t.sideHideRatio:.5,magnetic:void 0===t?.magnetic||t.magnetic,magneticDirection:t?.magneticDirection||"x",margin:void 0!==t?.margin?t.margin:10,autoAttachDelay:void 0!==t?.autoAttachDelay?t.autoAttachDelay:3e3}),await this.iconManager.show(),this.lastIconConfig={position:s,target:a}):(this.iconManager?(await this.iconManager.show(),this.debug&&console.log("Icon config unchanged, keeping existing icon manager")):(this.iconManager=new e(s,this.debug,a,{sideAttach:void 0===t?.sideAttach||t.sideAttach,sideHideRatio:void 0!==t?.sideHideRatio?t.sideHideRatio:.5,magnetic:void 0===t?.magnetic||t.magnetic,magneticDirection:t?.magneticDirection||"x",margin:void 0!==t?.margin?t.margin:10,autoAttachDelay:void 0!==t?.autoAttachDelay?t.autoAttachDelay:3e3}),await this.iconManager.show()),this.lastIconConfig={position:s,target:a}),this.iconManager.onClick(()=>{this.clearNotification()}),A.screenshot){const e=document.body,t={...A.screenshot,debug:this.debug};this.screenshotManager=new dt(e,t,void 0),this.screenshotManager.enable(!0),this.debug&&console.log("CustomerSDK screenshot manager initialized and enabled")}return this.isInitialized=!0,this.initResult=i,this.debug&&console.log("CustomerSDK initialized successfully (icon + screenshot only)"),i}catch(A){console.error("Failed to initialize CustomerSDK:",A);try{this.iconManager&&(this.iconManager.hide(),this.iconManager=null),this.screenshotManager&&(this.screenshotManager.destroy(),this.screenshotManager=null),this.isInitialized=!1,this.initResult=null}catch(A){console.error("Error during cleanup after initialization failure:",A)}throw A}finally{this.isInitializing=!1}}showIcon(){this.iconManager?.show()}hideIcon(){this.iconManager?.hide()}setIconPosition(A){this.iconManager?.setPosition(A)}setIconCoordinates(A){this.iconManager?.setIconPosition(A)}setIconStyle(A){this.iconManager?.setStyle(A)}getConnectionStatus(){return this.isInitialized}showNotification(A=1,e={}){this.iconManager?(this.iconManager.showNotification({badgeCount:"string"==typeof A?0:A,badgeText:"string"==typeof A?A:"",pulse:e.pulse||!1}),e.autoHide&&e.autoHide>0&&setTimeout(()=>{this.iconManager?.clearNotification()},e.autoHide)):this.debug&&console.warn("SDK not initialized")}clearNotification(){this.iconManager?.clearNotification()}setScreenshotTarget(A){this.screenshotManager?.setTargetElement(A)}async captureScreenshot(A=!1){return this.screenshotManager?await this.screenshotManager.captureOnce(A):(this.debug&&console.warn("截图功能未启用"),!1)}enableScreenshot(A){this.screenshotManager?(this.screenshotManager.enable(A),this.debug&&console.log("📸 截图功能已"+(A?"启用":"禁用"))):this.debug&&console.warn("截图管理器未初始化")}getScreenshotState(){return this.screenshotManager?.getState()||null}updateScreenshotOptions(A){this.screenshotManager?(this.screenshotManager.updateOptions(A),this.debug&&console.log("📸 截图配置已更新:",A)):this.debug&&console.warn("截图管理器未初始化,无法更新配置")}destroy(){this.iconManager?.hide(),this.screenshotManager?.destroy(),this.iconManager=null,this.screenshotManager=null,this.config=null,this.initResult=null,this.lastIconConfig=null,this.isInitialized=!1,this.debug&&console.log("CustomerSDK destroyed")}getInitResult(){return this.initResult}async getDeviceId(){this.debug&&console.log("🔍 Starting to get device fingerprint...");try{this.debug&&console.log("📦 Loading FingerprintJS...");const A=await Gn.load();this.debug&&console.log("🎯 Getting device fingerprint...");const e=await A.get();return this.debug&&(console.log("✅ FingerprintJS result:",e),console.log("🆔 Device ID obtained:",e.visitorId)),e.visitorId}catch(A){this.debug&&console.warn("❌ Failed to get device fingerprint, using fallback:",A);const e="device_"+Date.now()+"_"+Math.random().toString(36).substr(2,9);return this.debug&&console.log("🆔 Fallback Device ID:",e),e}}isIconConfigChanged(A,e){if(!this.lastIconConfig)return!0;const t=JSON.stringify(this.lastIconConfig.position)!==JSON.stringify(A),n=this.lastIconConfig.target;let r=!1;return n!==e&&(r="string"==typeof n&&"string"==typeof e?n!==e:(n instanceof HTMLElement&&HTMLElement,!0)),t||r}getReferrer(A){return A.referrer||document.referrer||document.location.href}}let So=null;const Lo=async(A,e,t=!1)=>(So||(So=new xo),await So.init(A,e,t)),Do=()=>{if(!So)throw new Error("SDK not initialized. Call init() first.");return So},Mo=()=>{Do().showIcon()},Ko=()=>{Do().hideIcon()},ko=A=>{Do().setIconPosition(A)},To=A=>{Do().setIconCoordinates(A)},Ro=A=>{Do().setIconStyle(A)},Po=()=>Do().getConnectionStatus(),Oo=()=>Do().getInitResult(),Vo=(A=1,e={})=>{Do().showNotification(A,e)},No=()=>{Do().clearNotification()},Go=()=>{Do().destroy(),So=null},Wo=A=>{Do().setScreenshotTarget(A)},_o=async(A=!1)=>{const e=Do();return await e.captureScreenshot(A)},Xo=A=>{Do().enableScreenshot(A)},Jo=()=>Do().getScreenshotState(),Yo=A=>{Do().updateScreenshotOptions(A)};var $o={init:Lo,getInstance:Do,getInitResult:Oo,showIcon:Mo,hideIcon:Ko,setIconPosition:ko,setIconCoordinates:To,setIconStyle:Ro,getConnectionStatus:Po,showNotification:Vo,clearNotification:No,setScreenshotTarget:Wo,captureScreenshot:_o,enableScreenshot:Xo,getScreenshotState:Jo,updateScreenshotOptions:Yo,destroy:Go};A.CustomerSDK=class{constructor(){this.iconManager=null,this.screenshotManager=null,this.debug=!1,this.deviceId=null,this.initResult=null}async init(A,t){try{this.debug=A.debug??!1;const n=await this.getRawDeviceId();this.debug&&console.log("Raw Device ID:",n);const r=A.referrer||document.referrer||document.location.href;this.deviceId=Io.MD5(n+r).toString(),this.debug&&(console.log("MD5 Device ID (for frontend):",this.deviceId),console.log("Referrer used:",r));const o={deviceId:this.deviceId,referrer:r,agent:A.agent,timestamp:Date.now()},i=A.target||void 0,s=A.iconPosition||void 0;if(this.iconManager=new e(s,this.debug,i,{sideAttach:A.sideAttach,sideHideRatio:A.sideHideRatio,magnetic:A.magnetic,magneticDirection:A.magneticDirection,margin:A.margin,autoAttachDelay:A.autoAttachDelay}),await this.iconManager.show(),A.screenshot){const e="string"==typeof i?document.querySelector(i):i||document.body,n=t?.sendData||null;this.screenshotManager=new dt(e,A.screenshot,n||void 0),t?.onConfig&&this.setupScreenshotConfigListener(t.onConfig)}return this.initResult=o,this.debug&&console.log("CustomerSDK initialized successfully (icon + screenshot only)"),o}catch(A){throw console.error("Failed to initialize CustomerSDK:",A),A}}setupScreenshotConfigListener(A){const e=e=>{try{if(!e.data||"checkScreenshot"!==e.data.type)return;this.debug&&console.log("[CustomerSDK] Received screenshot config message:",e.data),e.data.data&&"string"==typeof e.data.data&&A(e.data.data)}catch(A){this.debug&&console.error("[CustomerSDK] Error handling screenshot config message:",A)}};window.addEventListener("message",e),this._screenshotConfigHandler=e}triggerScreenshotConfig(A){this.screenshotManager?this.screenshotManager.handleScreenshotConfig(A):this.debug&&console.warn("[CustomerSDK] ScreenshotManager not initialized")}hideIcon(){this.iconManager?.hide()}showIcon(){this.iconManager?.show()}onIconClick(A){this.iconManager?.onClick(A)}getScreenshotManager(){return this.screenshotManager}getIconManager(){return this.iconManager}getDeviceId(){return this.deviceId}getInitResult(){return this.initResult}async getRawDeviceId(){this.debug&&console.log("🔍 Starting to get device fingerprint...");try{this.debug&&console.log("📦 Loading FingerprintJS...");const A=await Gn.load();this.debug&&console.log("🎯 Getting device fingerprint...");const e=await A.get();return this.debug&&(console.log("✅ FingerprintJS result:",e),console.log("🆔 Device ID obtained:",e.visitorId)),e.visitorId}catch(A){this.debug&&console.warn("❌ Failed to get device fingerprint, using fallback:",A);const e="device_"+Date.now()+"_"+Math.random().toString(36).substr(2,9);return this.debug&&console.log("🆔 Fallback Device ID:",e),e}}showNotification(A=1,e={}){this.iconManager?(this.iconManager.showNotification({badgeCount:"string"==typeof A?0:A,badgeText:"string"==typeof A?A:"",pulse:e.pulse||!1}),e.autoHide&&e.autoHide>0&&setTimeout(()=>{this.iconManager?.clearNotification()},e.autoHide)):this.debug&&console.warn("SDK not initialized")}clearNotification(){this.iconManager?.clearNotification()}destroy(){this.iconManager?.hide(),this.screenshotManager?.destroy(),this._screenshotConfigHandler&&(window.removeEventListener("message",this._screenshotConfigHandler),this._screenshotConfigHandler=null),this.iconManager=null,this.screenshotManager=null,this.initResult=null,this.deviceId=null,this.debug&&console.log("CustomerSDK destroyed")}},A.CustomerServiceSDK=xo,A.captureScreenshot=_o,A.clearNotification=No,A.default=$o,A.destroy=Go,A.enableScreenshot=Xo,A.getConnectionStatus=Po,A.getInitResult=Oo,A.getInstance=Do,A.getScreenshotState=Jo,A.hideIcon=Ko,A.init=Lo,A.setIconCoordinates=To,A.setIconPosition=ko,A.setIconStyle=Ro,A.setScreenshotTarget=Wo,A.showIcon=Mo,A.showNotification=Vo,A.updateScreenshotOptions=Yo,Object.defineProperty(A,"__esModule",{value:!0})});