customer-chat-sdk 1.1.18 → 1.1.20

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,o=20,r=80,i=e.width-t-o,s=e.height-n-r;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=`${r}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),o=parseFloat(n.left)||0,r=n.right,i=e.width;let s=!0;if("auto"!==r&&""!==r){const A=parseFloat(r);if(!isNaN(A)){s=i-t-A>=i/2}}else s=o>=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:o=!1}=A;(e||t>0)&&this.createBadge(t,n,o),this.notificationCallback&&this.notificationCallback({badgeCount:t,badgeText:n,pulse:o}),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,o=e.display,r="visible"===t&&parseFloat(n)>0&&"none"!==o;return this.debug&&console.log("[IconManager] [PC+iframe] Checking SDK iframe visibility:",{visibility:t,opacity:n,display:o,isVisible:r,parsedOpacity:parseFloat(n)}),r}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 void(this.debug&&console.log("[IconManager] [PC+iframe] SDK iframe is open, icon dragging disabled"));const n=window.innerWidth>768;if(n&&this.isMouseOverIframe(e,t))return void(this.debug&&console.log("[IconManager] [PC+iframe] Mouse is over iframe, icon dragging disabled",{clientX:e,clientY:t,isPC:n}));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 o=A.target;if(!o||!("IFRAME"===o.tagName||o.closest("iframe")||o.closest(".customer-sdk-container")||o.closest(".customer-sdk-overlay"))){if(this.iconElement){const A=this.iconElement.getBoundingClientRect(),n=A.left+A.width/2,o=A.top+A.height/2,r=Math.min(A.width,A.height)/2,i=Math.sqrt(Math.pow(e-n,2)+Math.pow(t-o,2));if(i>r+10)return void(this.debug&&console.log("[IconManager] Touch point outside icon circle, allowing event to pass through",{distance:i,radius:r,touchPoint:{x:e,y:t},iconCenter:{x:n,y:o}}))}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 o=window.innerWidth>768,r=this.isMouseOverIframe(e,t);if(o)if(r){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(r){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 o=window.innerWidth>768;if(o&&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:o}));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 r=Date.now(),i=r-this.lastMousePosition.timestamp,s=this.lastMousePosition.x,a=this.lastMousePosition.y,c=this.lastMousePosition.timestamp;if(this.lastMousePosition={x:e,y:t,timestamp:r},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 o=n.getBoundingClientRect(),r=A.left-o.left,i=A.top-o.top;this.iconElement.style.left=`${r}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 o=this.cachedContainerRect,r=this.cachedIconSize.width,i=this.cachedIconSize.height,s=window.getComputedStyle(n).maxWidth,a=s&&"none"!==s?Math.min(o.width,parseFloat(s)||o.width):o.width,c=o.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-o.left,u=t-this.dragOffset.y-o.top;const g=5-r,h=n===document.body?window.innerWidth-5:a+r-5,d=5-i,B=n===document.body?window.innerHeight-5:c+i-5;l=Math.max(g,Math.min(l,h)),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-o.left,n=t-this.dragOffset.y-o.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:o.left,containerTop:o.top,calculatedX:A,calculatedY:n,minX:g,maxX:h,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:o.left,top:o.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(),o=this.iconElement.offsetWidth,r=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-o,u=t===document.body?window.innerWidth-5:i+o-5,g=5-r,h=t===document.body?window.innerHeight-5:s+r-5;if(a=Math.max(l,Math.min(a,u)),c=Math.max(g,Math.min(c,h)),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"));if(!(this.isDragging||this.dragStarted||this.dragTimeoutId||this.activeDetectionRafId))return void(this.debug&&console.warn("[IconManager] stopDrag called but not dragging, ignoring"));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 e=this.isDragging?"drag_stopped":"not_dragging",t=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 n=Date.now()-this.touchStartTime,o=!this.hasMoved&&n<1e3&&!this.dragStarted&&!this.isDragging&&(!this.dragIntent||n<200);this.debug&&console.log("[IconManager] Drag end",{stopReason:e,hasMoved:this.hasMoved,dragStarted:this.dragStarted,touchDuration:n,isValidClick:o,finalPosition:t,lastMousePosition:this.lastMousePosition});const r=o,i=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,!i&&!this.isAttachedToSide&&this.sideAttach&&this.autoAttachDelay>0&&this.startAutoAttachTimer(),r&&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,o=window.getComputedStyle(A).maxWidth,r=o&&"none"!==o?Math.min(e.width,parseFloat(o)||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=r;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{this.containerElement&&(this.containerElement.parentNode||document.body.appendChild(this.containerElement),Object.assign(this.containerElement.style,{position:"fixed",visibility:"visible",opacity:"1",display:"block"}),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),o="H".charCodeAt(0),r="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]=o,s[2]=r,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]===o&&A[e-1]===r&&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,g=u&&"Worker"in window,h=u&&"atob"in window,d=u&&"btoa"in window,B=u?window.navigator?.userAgent:"",f=B.includes("Chrome"),w=B.includes("AppleWebKit")&&!f,m=B.includes("Firefox"),p=A=>1===A.nodeType,C=A=>"object"==typeof A.className,Q=A=>"image"===A.tagName,y=A=>p(A)&&void 0!==A.style&&!C(A),U=A=>8===A.nodeType,F=A=>"IMG"===A.tagName,b=A=>"VIDEO"===A.tagName,E=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 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"),o=t.createElement("a");return t.head.appendChild(n),t.body.appendChild(o),e&&(n.href=e),o.href=A,o.href}function x(A){return(A&&p(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 o=new FileReader;o.onload=()=>t(o.result),o.onerror=()=>n(o.error),o.onabort=()=>n(new Error(`Failed read blob to ${e}`)),o.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:o,onError:r,onWarn:i}=e??{},s="string"==typeof A?M(A,x(o)):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,o=e=>{i?.("Failed video load",A,e),r?.(e),l()};c=()=>{s.removeEventListener("loadeddata",n),s.removeEventListener("error",o)},s.addEventListener("loadeddata",n,{once:!0}),s.addEventListener("error",o,{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 T(A){return A?.split(",").map(A=>A.trim().replace(/"|'/g,"").toLowerCase()).filter(Boolean)}let k=0;function R(A){const e=`${l}[#${k}]`;return k++,{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:o=1}=e||{},r=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:r,fetch:{requestInit:(h=e?.fetch?.bypassingCache,{cache:h?"no-cache":"force-cache"}),placeholderImage:"data:image/png;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",bypassingCache:!1,...e?.fetch},fetchFn:null,font:{},drawImageInterval:100,workerUrl:null,workerNumber:o,onCloneEachNode:null,onCloneNode:null,onEmbedNode:null,onCreateForeignObjectSvg:null,includeStyleProperties:null,autoDestruct:!1,...e,__CONTEXT__:!0,log:R(r),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:g&&n&&o?o: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:`${[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 h;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(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,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:o,drawImageInterval:r}=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:o,backgroundColor:r,maximumCanvasSize:i}=e,s=A.createElement("canvas");s.width=Math.floor(t*o),s.height=Math.floor(n*o),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&&r&&(a.fillStyle=r,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<o;A++)await new Promise(e=>{setTimeout(()=>{a?.clearRect(0,0,s.width,s.height),c(),e()},A+r)});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"),o=t.getContext("2d");try{return n&&o&&o.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 o=!0;if(await D(t,{onError:()=>o=!1,onWarn:e.log.warn}),!o)return A.poster?M(A.poster,A.ownerDocument):t;t.currentTime=A.currentTime,await new Promise(A=>{t.addEventListener("seeked",A,{once:!0})});const r=n.createElement("canvas");r.width=A.offsetWidth,r.height=A.offsetHeight;try{const A=r.getContext("2d");A&&A.drawImage(t,0,0,r.width,r.height)}catch(n){return e.log.warn("Failed to clone video",n),A.poster?M(A.poster,A.ownerDocument):t}return G(r,e)}return t}(A,e):A.cloneNode(!1)}const X=["width","height","-webkit-text-fill-color"],J=["stroke","fill"];function Y(A,e,t){const{defaultComputedStyles:n}=t,o=A.nodeName.toLowerCase(),r=C(A)&&"svg"!==o,i=r?J.map(e=>[e,A.getAttribute(e)]).filter(([,A])=>null!==A):[],s=[r&&"svg",o,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,g;r?(u=l.createElementNS(S,"svg"),g=u.ownerDocument.createElementNS(u.namespaceURI,o),i.forEach(([A,e])=>{g.setAttributeNS(null,A,e)}),u.appendChild(g)):u=g=l.createElement(o),g.textContent=" ",l.body.appendChild(u);const h=c.getComputedStyle(g,e),d=new Map;for(let A=h.length,e=0;e<A;e++){const A=h.item(e);X.includes(A)||d.set(A,h.getPropertyValue(A))}return l.body.removeChild(u),n.set(s,d),d}function $(A,e,t){const n=new Map,o=[],r=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=o.length,e=0;e<A;e++)r.get(o[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=r.get(c);A||(A=new Map,r.set(c,A)),A.set(t,[i,s])}(e.get(t)!==i||s)&&(c?o.push(c):n.set(t,[i,s]))}return n}const Z=["::before","::after"],j=["::-webkit-scrollbar","::-webkit-scrollbar-button","::-webkit-scrollbar-thumb","::-webkit-scrollbar-track","::-webkit-scrollbar-track-piece","::-webkit-scrollbar-corner","::-webkit-resizer"];const _=new Set(["symbol"]);async function z(A,e,t,n,o){if(p(t)&&((A=>"STYLE"===A.tagName)(t)||(A=>"SCRIPT"===A.tagName)(t)))return;if(n.filter&&!n.filter(t))return;_.has(e.nodeName)||_.has(t.nodeName)?n.currentParentNodeStyle=void 0:n.currentParentNodeStyle=n.currentNodeStyle;const r=await eA(t,n,!1,o);n.isEnable("restoreScrollPosition")&&function(A,e){if(!y(A)||!y(e))return;const{scrollTop:t,scrollLeft:n}=A;if(!t&&!n)return;const{transform:o}=e.style,r=new DOMMatrix(o),{a:i,b:s,c:a,d:c}=r;r.a=1,r.b=0,r.c=0,r.d=1,r.translateSelf(-n,-t),r.a=i,r.b=s,r.c=a,r.d=c,e.style.transform=r.toString()}(A,r),e.appendChild(r)}async function q(A,e,t,n){let o=A.firstChild;p(A)&&A.shadowRoot&&(o=A.shadowRoot?.firstChild,t.shadowRoots.push(A.shadowRoot));for(let r=o;r;r=r.nextSibling)if(!U(r))if(p(r)&&E(r)&&"function"==typeof r.assignedNodes){const o=r.assignedNodes();for(let r=0;r<o.length;r++)await z(A,e,o[r],t,n)}else await z(A,e,r,t,n)}const AA=/^[\w-:]+$/;async function eA(A,e,t=!1,n){const{ownerDocument:o,ownerWindow:r,fontFamilies:i,onCloneEachNode:s}=e;if(o&&(A=>3===A.nodeType)(A))return n&&/\S/.test(A.data)&&n(A.data),o.createTextNode(A.data);if(o&&r&&p(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 o=e.currentNodeStyle=function(A,e,t,n){const{ownerWindow:o,includeStyleProperties:r,currentParentNodeStyle:i}=n,s=e.style,a=o.getComputedStyle(A),c=Y(A,null,n);i?.forEach((A,e)=>{c.delete(e)});const l=$(a,c,r);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:o,style:r}=e,i=A.style;if(t&&i.setProperty("background-color",t,"important"),n&&i.setProperty("width",`${n}px`,"important"),o&&i.setProperty("height",`${o}px`,"important"),r)for(const A in r)i[A]=r[A]}(n,e);let r=!1;if(e.isEnable("copyScrollbar")){const e=[o.get("overflow-x")?.[0],o.get("overflow-y")?.[0]];r=e.includes("scroll")||(e.includes("auto")||e.includes("overlay"))&&(A.scrollHeight>A.clientHeight||A.scrollWidth>A.clientWidth)}const a=o.get("text-transform")?.[0],c=T(o.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,o){const{ownerWindow:r,svgStyleElement:i,svgStyles:s,currentNodeStyle:a}=n;function c(t){const i=r.getComputedStyle(A,t);let c=i.getPropertyValue("content");if(!c||"none"===c)return;o?.(c),c=c.replace(/(')|(")|(counter\(.+\))/g,"");const l=[K()],u=Y(A,t,n);a?.forEach((A,e)=>{u.delete(e)});const g=$(i,u,n.includeStyleProperties);g.delete("content"),g.delete("-webkit-locale"),"text"===g.get("background-clip")?.[0]&&e.classList.add("______background-clip--text");const h=[`content: '${c}';`];if(g.forEach(([A,e],t)=>{h.push(`${t}: ${A}${e?" !important":""};`)}),1===h.length)return;try{e.className=[e.className,...l].join(" ")}catch(A){return void n.log.warn("Failed to copyPseudoClass",A)}const d=h.join("\n ");let B=s.get(d);B||(B=[],s.set(d,B)),B.push(`.${l[0]}${t}`)}i&&r&&(Z.forEach(c),t&&j.forEach(c))}(A,n,r,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:o="text",imageDom:r}=e;let i=t;const{timeout:s,acceptOfImage:a,requests:c,fetchFn:l,fetch:{requestInit:u,bypassingCache:g,placeholderImage:h},font:d,workers:B,fontFamilies:f}=A;"image"===n&&(w||m)&&A.drawImageCount++;let p=c.get(t);if(!p){g&&g instanceof RegExp&&g.test(i)&&(i+=(/\?/.test(i)?"&":"?")+(new Date).getTime());const e=n.startsWith("font")&&d&&d.minify,m=new Set;if(e){n.split(";")[1].split(",").forEach(A=>{f.has(A)&&f.get(A).forEach(A=>m.add(A))})}const C=e&&m.size,Q={url:i,timeout:s,responseType:C?"arrayBuffer":o,headers:"image"===n?{accept:a}:void 0,...u};p={type:n,resolve:void 0,reject:void 0,response:null},p.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}),p.resolve=A,p.reject=e}):function(A){const{url:e,timeout:t,responseType:n,...o}=A,r=new AbortController,i=t?setTimeout(()=>r.abort(),t):void 0;return fetch(e,{signal:r.signal,...o}).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&&h)return A.log.warn("Failed to fetch image base64, trying to use placeholder image",i),"string"==typeof h?h:h(r);throw e}),c.set(t,p)}return p.response}async function oA(A,e,t,n){if(!rA(A))return A;for(const[o,r]of function(A,e){const t=[];return A.replace(iA,(A,n,o)=>(t.push([o,I(o,e)]),A)),t.filter(([A])=>!H(A))}(A,e))try{const e=await nA(t,{url:r,requestType:n?"image":"text",responseType:"dataUrl"});A=A.replace(sA(o),`$1${e}$3`)}catch(A){t.log.warn("Failed to fetch css data url",o,A)}return A}function rA(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;p(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||m)&&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,o=A.getAttribute("href")??A.getAttribute("xlink:href");if(!o)return[];const[r,i]=o.split("#");if(i){const o=`#${i}`,s=e.shadowRoots.reduce((A,e)=>A??e.querySelector(`svg ${o}`),t?.querySelector(`svg ${o}`));if(r&&A.setAttribute("href",o),n?.querySelector(o))return[];if(s)return n?.appendChild(s.cloneNode(!0)),[];if(r)return[nA(e,{url:r,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||m)&&e.drawImageCount++,oA(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:o,fontCssTexts:r,tasks:i,font:s}=e;if(t&&n&&o.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 o=n+1;const r=t.href;let i="";try{i=await nA(e,{url:r,requestType:"text",responseType:"text"})}catch(A){e.log.warn(`Error fetch remote css import from ${r}`,A)}const s=i.replace(iA,(A,e,t)=>A.replace(t,I(t,r)));for(const t of function(A){if(null==A)return[];const e=[];let t=A.replace(uA,"");for(;;){const A=gA.exec(t);if(!A)break;e.push(A[0])}t=t.replace(gA,"");const n=/@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi,o=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)o.lastIndex=n.lastIndex;else{if(A=o.exec(t),!A)break;n.lastIndex=o.lastIndex}e.push(A[0])}return e}(s))try{A.insertRule(t,t.startsWith("@import")?o+=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"))&&T(A.style.getPropertyValue("font-family"))?.some(A=>o.has(A))).forEach(A=>{const o=A,s=r.get(o.cssText);s?n.appendChild(t.createTextNode(`${s}\n`)):i.push(oA(o.cssText,o.parentStyleSheet?o.parentStyleSheet.href:null,e).then(A=>{A=BA(A,e),r.set(o.cssText,A),n.appendChild(t.createTextNode(`${A}\n`))}))})}}const uA=/(\/\*[\s\S]*?\*\/)/g,gA=/((@.*?keyframes [\s\S]*?){([\s\S]*?}\s*?)})/gi;const hA=/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]=hA.exec(A)||[];if(!t)return"";if(t===n)return`src: ${e};`}}):A}async function fA(A,e){const t=await P(A,e);if(p(t.node)&&C(t.node))return t.node;const{ownerDocument:n,log:o,tasks:r,svgStyleElement:i,svgDefsElement:s,svgStyles:a,font:c,progress:l,autoDestruct:u,onCloneNode:g,onEmbedNode:h,onCreateForeignObjectSvg:d}=t;o.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))}o.timeEnd("clone node"),await(g?.(B)),!1!==c&&p(B)&&(o.time("embed web font"),await lA(0,t),o.timeEnd("embed web font")),o.time("embed node"),cA(B,t);const f=r.length;let w=0;l?.(w,f),await Promise.all([...Array.from({length:4})].map(async()=>{for(;;){const A=r.pop();if(!A)break;try{await A}catch(A){t.log.warn("Failed to run task",A)}l?.(++w,f)}})),o.timeEnd("embed node"),await(h?.(B));const m=function(A,e){const{width:t,height:n}=e,o=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),r=o.ownerDocument.createElementNS(o.namespaceURI,"foreignObject");return r.setAttributeNS(null,"x","0%"),r.setAttributeNS(null,"y","0%"),r.setAttributeNS(null,"width","100%"),r.setAttributeNS(null,"height","100%"),r.append(A),o.appendChild(r),o}(B,t);return s&&m.insertBefore(s,m.children[0]),i&&m.insertBefore(i,m.children[0]),u&&tA(t),await(d?.(m)),m}async function wA(A,e){const t=await P(A,e),n=await fA(t),o=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 r=M(o,n.ownerDocument);return await N(r,t)}async function mA(A,e){const t=await P(A,e),{log:n,quality:o,type:r,dpi:i}=t,s=await wA(t);n.time("canvas to data url");let a=s.toDataURL(r,o);if(["image/png","image/jpeg"].includes(r)&&i&&h&&d){const[A,e]=a.split(",");let t=0,n=!1;if("image/png"===r){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"===r&&(t=24);const o=e.substring(0,t),s=e.substring(t),l=window.atob(o),u=new Uint8Array(l.length);for(let A=0;A<u.length;A++)u[A]=l.charCodeAt(A);const g="image/png"===r?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(...g)),s].join("")}return n.timeEnd("canvas to data url"),a}async function pA(A,e){return mA(await P(A,{...e,type:"image/jpeg"}))}async function CA(A,e){return mA(await P(A,{...e,type:"image/png"}))}async function QA(A,e){return mA(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 o=0;function r(r,i,s){if(o>=t)return;const a=Date.now();(n.get(i)||0)>a||(n.set(i,a+e),o++,"warn"===r&&console&&console.warn?console.warn(`${A} ${s}`):console&&console.error&&console.error(`${A} ${s}`))}return{warnOnce(A,e){r("warn",A,e)},errorOnce(A,e){r("error",A,e)},reset(){n.clear(),o=0}}}("[snapDOM]",{ttlMs:18e4,maxEntries:10}),EA=new Map,vA=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,o=new URL(n||".",t),r=new URL(A,t);if(r.origin===o.origin)return!0;const i=r.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,o=e.useProxy||"",r=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:([^,]*),(.*)$/)||[],o=/;base64/i.test(e)?atob(n):decodeURIComponent(n),r=new Uint8Array([...o].map(A=>A.charCodeAt(0))),i=new Blob([r],{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(),o=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:o}}if("text"===t){return{ok:!0,data:await n.text(),status:e.status,url:A,fromCache:!1,mime:o}}return{ok:!0,data:n,status:e.status,url:A,fromCache:!1,mime:o}}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:o,errorTTL:r}),c=vA.get(a);if(c&&c.until>Date.now())return{...c.result,fromCache:!0};c&&vA.delete(a);const l=EA.get(a);if(l)return l;const u=HA(A,o)?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,o):A;let g=e.credentials;if(!g)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;g=n?"include":"omit"}catch{g="omit"}const h=new AbortController,d=setTimeout(()=>h.abort("timeout"),n),B=(async()=>{try{const n=await fetch(u,{signal:h.signal,credentials:g,headers:i});if(!n.ok){const o={ok:!1,data:null,status:n.status,url:u,fromCache:!1,reason:"http_error"};if(r>0&&vA.set(a,{until:Date.now()+r,result:o}),!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(o),o}if("text"===t){return{ok:!0,data:await n.text(),status:n.status,url:u,fromCache:!1}}const o=await n.blob(),c=o.type||n.headers.get("content-type")||"";if("dataURL"===t){return{ok:!0,data:await IA(o),status:n.status,url:u,fromCache:!1,mime:c}}return{ok:!0,data:o,status:n.status,url:u,fromCache:!1,mime:c}}catch(o){const i=o&&"object"==typeof o&&"name"in o&&"AbortError"===o.name?String(o.message||"").includes("timeout")?"timeout":"abort":"network",c={ok:!1,data:null,status:0,url:u,fromCache:!1,reason:i};if(!/^blob:/i.test(A)&&r>0&&vA.set(a,{until:Date.now()+r,result:c}),!s){const e=`${i}:${t}:${new URL(A,location?.href??"http://localhost/").origin}`,o="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,o)}return e.onError&&e.onError(c),c}finally{clearTimeout(d),EA.delete(a)}})();return EA.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,TA=/^(--|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 RA(A){const e=String(A).toLowerCase();return!!kA.has(e)||(!!TA.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),o={};for(let A of n){if(RA(A))continue;const e=n.getPropertyValue(A);o[A]=e}return e.removeChild(t),yA.defaultStyle.set(A,o),o}(e);for(let[e,o]of Object.entries(A)){if(RA(e))continue;const A=n[e];o&&o!==A&&t.push(`${e}:${o}`)}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 o=0;o<A.length;o++){const r=A[o];"("===r&&t++,")"===r&&t--,","===r&&0===t&&(e.push(A.slice(n,o).trim()),n=o+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 XA=new WeakMap,JA=new Map,YA=0;function $A(){YA++}var ZA=!1;var jA=new WeakMap;function _A(A,e=null,t={}){const n=XA.get(A);if(n&&n.epoch===YA)return n.snapshot;const o=e||getComputedStyle(A),r=function(A,e={}){const t={},n=A.getPropertyValue("visibility");for(let e=0;e<A.length;e++){const n=A[e];let o=A.getPropertyValue(n);"background-image"!==n&&"content"!==n||!o.includes("url(")||o.includes("data:")||(o="none"),t[n]=o}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}(o,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 o=e.position;if("absolute"===o||"fixed"===o||"sticky"===o)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 o=A.scrollHeight;if(0===o)return!1;const r=parseFloat(e.paddingTop)||0,i=parseFloat(e.paddingBottom)||0;return o>r+i}(A,e))return;delete t.height,delete t["block-size"]}(A,o,r),XA.set(A,{epoch:YA,snapshot:r}),r}async function zA(A,e,t,n){if("STYLE"===A.tagName)return;const o=function(A,e){return A&&A.session&&A.persist?A:A&&(A.styleMap||A.styleCache||A.nodeMap)?{session:A,persist:{snapshotKeyCache:JA,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:JA,defaultStyle:yA.defaultStyle,baseStyle:yA.baseStyle,image:yA.image,resource:yA.resource,background:yA.background,font:yA.font},options:A||e||{}}}(t,n),r=o.options&&o.options.cache||"auto";if("disabled"!==r&&function(A=document.documentElement){if(!ZA){ZA=!0;try{new MutationObserver(()=>$A()).observe(A,{subtree:!0,childList:!0,characterData:!0,attributes:!0})}catch{}try{new MutationObserver(()=>$A()).observe(document.head,{subtree:!0,childList:!0,characterData:!0,attributes:!0})}catch{}try{const A=document.fonts;A&&(A.addEventListener?.("loadingdone",$A),A.ready?.then(()=>$A()).catch(()=>{}))}catch{}}}(document.documentElement),"disabled"!==r||o.session.__bumpedForDisabled||($A(),JA.clear(),o.session.__bumpedForDisabled=!0),DA.has(A.tagName?.toLowerCase())){const t=A.getAttribute?.("style");t&&e.setAttribute("style",t)}const{session:i,persist:s}=o;i.styleCache.has(A)||i.styleCache.set(A,getComputedStyle(A));const a=_A(A,i.styleCache.get(A),o.options),c=function(A){let e=jA.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(";"),jA.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 o(){GA(t=>{!t||"function"!=typeof t.timeRemaining||t.timeRemaining()>0?e(A,n):o()},{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,o)=>{const r=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?(o=(o=A).trim())?/:not\(\s*\[data-sd-slotted\]\s*\)\s*$/.test(o)?o:`${o}:not([data-sd-slotted])`:o:A;var o;return`:where(${e} ${n})`}).join(", ")}(o,e,!0);return`${t}${n}${r}{`}):""}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(),o=0;for(;o<e&&(!n||!n.body&&!n.documentElement);)await new Promise(A=>setTimeout(A,0)),n=t(),o++;return n&&(n.body||n.documentElement)?n:null}(A,3);if(!n)throw new Error("iframe document not accessible/ready");const{contentWidth:o,contentHeight:r,rect:i}=function(A){const e=A.getBoundingClientRect();let t=0,n=0,o=0,r=0;try{const e=getComputedStyle(A);t=parseFloat(e.borderLeftWidth)||0,n=parseFloat(e.borderRightWidth)||0,o=parseFloat(e.borderTopWidth)||0,r=parseFloat(e.borderBottomWidth)||0}catch{}return{contentWidth:Math.max(0,Math.round(e.width-(t+n))),contentHeight:Math.max(0,Math.round(e.height-(o+r))),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,o,r);let l;try{l=await s.toPng(n.documentElement,a)}finally{c()}l.style.display="block",l.style.width=`${o}px`,l.style.height=`${r}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 ne(A,e,t){if(!A)throw new Error("Invalid node");const n=new Set;let o,r=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;`,zA(A,n,e,t),n}{const n=A.getBoundingClientRect(),o=document.createElement("div");return o.style.cssText=`display:inline-block;width:${n.width}px;height:${n.height}px;visibility:hidden;`,zA(A,o,e,t),o}}if("placeholder"===A.getAttribute("data-capture")){const n=A.cloneNode(!1);e.nodeMap.set(n,A),zA(A,n,e,t);const o=document.createElement("div");return o.textContent=A.getAttribute("data-placeholder-text")||"",o.style.cssText="color:#666;font-size:12px;text-align:center;line-height:1.4;padding:0.5em;box-sizing:border-box;",n.appendChild(o),n}if("CANVAS"===A.tagName){const n=A.toDataURL(),o=document.createElement("img");return o.src=n,o.width=A.width,o.height=A.height,e.nodeMap.set(o,A),zA(A,o,e,t),o}try{if(o=A.cloneNode(!1),function(A,e){if(!(A instanceof Element&&e instanceof Element))return;const t=A.getAttribute?.("style");let n,o=!(!t||!t.includes("var("));if(!o&&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(")){o=!0;break}}}if(!o)return;try{n=getComputedStyle(A)}catch{return}const r=A.style;if(r&&r.length)for(let A=0;A<r.length;A++){const t=r[A],o=r.getPropertyValue(t);if(!o||!o.includes("var("))continue;const i=n.getPropertyValue(t);if(i)try{e.style.setProperty(t,i.trim(),r.getPropertyPriority(t))}catch{}}if(A.attributes?.length){const t=A.attributes;for(let A=0;A<t.length;A++){const o=t[A];if(!o||"string"!=typeof o.value||!o.value.includes("var("))continue;const r=o.name;let i="";try{i=n.getPropertyValue(r)}catch{}if(i)try{e.style.setProperty(r,i.trim())}catch{}}}}(A,o),e.nodeMap.set(o,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,o);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),o=parseFloat(e.width)||0,r=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||o||i||a||0),n=Math.round(n||r||s||c||0)}t&&(o.dataset.snapdomWidth=String(t)),n&&(o.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();o.style.width=`${e.width}px`,o.style.height=`${e.height}px`}if(A instanceof HTMLInputElement&&(o.value=A.value,o.setAttribute("value",A.value),void 0!==A.checked&&(o.checked=A.checked,A.checked&&o.setAttribute("checked",""),A.indeterminate&&(o.indeterminate=A.indeterminate))),A instanceof HTMLSelectElement&&(r=A.value),A instanceof HTMLTextAreaElement&&(i=A.value),zA(A,o,e,t),A.shadowRoot){let r=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{o.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)}(o,l+c,i);const u=document.createDocumentFragment(),g=await qA(Array.from(A.shadowRoot.childNodes),r,t.fast);u.append(...g.filter(A=>!!A)),o.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 o=A.assignedNodes?.({flatten:!0})||[],r=o.length>0?o:Array.from(A.childNodes),i=document.createDocumentFragment(),s=await qA(Array.from(r),n,t.fast);return i.append(...s.filter(A=>!!A)),i}const s=await qA(Array.from(A.childNodes),function(A,o){if(n.has(A))return o(null);ne(A,e,t).then(A=>{o(A||null)}).catch(()=>{o(null)})},t.fast);if(o.append(...s.filter(A=>!!A)),null!==r&&o instanceof HTMLSelectElement){o.value=r;for(const A of o.options)A.value===r?A.setAttribute("selected",""):A.removeAttribute("selected")}return null!==i&&o instanceof HTMLTextAreaElement&&(o.textContent=i),o}var oe=[/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 ie(A){const e="string"==typeof A?A:"",t=[...oe,...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 se(A,e,t,n=32,o="#000"){e=e.replace(/^['"]+|['"]+$/g,"");const r=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*r),l.height=Math.max(1,c*r);const u=l.getContext("2d");return u.scale(r,r),u.font=t?`${t} ${n}px "${e}"`:`${n}px "${e}"`,u.textAlign="left",u.textBaseline="top",u.fillStyle=o,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 ge(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 o=(t.pathname+t.search).toLowerCase();if(/\bfont(s)?\b/.test(o)||/\.woff2?(\b|$)/.test(o))return!0;for(const A of e){const e=A.toLowerCase().replace(/\s+/g,"+"),t=A.toLowerCase().replace(/\s+/g,"-");if(o.includes(e)||o.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 o=(n||"").trim();if(!o||/^data:|^blob:|^https?:|^file:|^about:/i.test(o))return A;let r=o;try{r=new URL(o,e||location.href).href}catch{}return`url("${r}")`}):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 o(A,e){try{return new URL(A,e||location.href).href}catch{return A}}let r=he(A,e||location.href);return r=await async function A(e,r,i=0){if(i>4)return console.warn(`[snapDOM] @import depth exceeded (4) at ${r}`),e;let s,a="",c=0;for(;s=de.exec(e);){a+=e.slice(c,s.index),c=de.lastIndex;const l=o((s[2]||s[4]||"").trim(),r);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=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}(r,e||location.href,0),r}var fe=/url\((["']?)([^"')]+)\1\)/g,we=/@font-face[^{}]*\{[^}]*\}/g;function me(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],o=t[2],r=A=>{if(!A.includes("?"))return parseInt(A,16);return[parseInt(A.replace(/\?/g,"0"),16),parseInt(A.replace(/\?/g,"F"),16)]};if(o){const A=r(n),t=r(o),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=r(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 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 o of A.matchAll(fe)){const A=UA(o[0]);if(!A)continue;let r=A;if(!r.startsWith("http")&&!r.startsWith("data:"))try{r=new URL(r,e||location.href).href}catch{}if(!ie(r))if(yA.resource?.has(r))yA.font?.add(r),n=n.replace(o[0],`url(${yA.resource.get(r)})`);else if(!yA.font?.has(r))try{const A=await xA(r,{as:"dataURL",useProxy:t,silent:!0});if(A.ok&&"string"==typeof A.data){const e=A.data;yA.resource?.set(r,e),yA.font?.add(r),n=n.replace(o[0],`url(${e})`)}}catch{console.warn("[snapDOM] Failed to fetch font resource:",r)}}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,o)=>{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),o=e(880,1023),r=e(1024,1279);return e(7840,7929)||e(258,259)||e(416,417)||e(431,432)?"vietnamese":r?"cyrillic":o?"greek":n?"latin-ext":t?"latin":null}(o);if(A&&n.has(A))return!0}return!1}}async function Ue(A,e,t,n){let o;try{o=A.cssRules||[]}catch{return}const r=(A,e)=>{try{return new URL(A,e||location.href).href}catch{return A}};for(const A of o){if(A.type===CSSRule.IMPORT_RULE&&A.styleSheet){const o=A.href?r(A.href,e):e;if(n.depth>=4){console.warn(`[snapDOM] CSSOM import depth exceeded (4) at ${o}`);continue}if(o&&n.visitedSheets.has(o)){console.warn(`[snapDOM] Skipping circular CSSOM import: ${o}`);continue}o&&n.visitedSheets.add(o);const i={...n,depth:(n.depth||0)+1};await Ue(A.styleSheet,o,t,i);continue}if(A.type===CSSRule.FONT_FACE_RULE){const o=ce((A.style.getPropertyValue("font-family")||"").trim());if(!o||ie(o))continue;const r=(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(o,i,r,s))continue;const l=me(c);if(!pe(n.usedCodepoints,l))continue;const u={family:o,weightSpec:r,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:${o};src:${A};font-style:${i};font-weight:${r};font-stretch:${s};${c?`unicode-range:${c};`:""}}`)}else await t(`@font-face{font-family:${o};src:${a};font-style:${i};font-weight:${r};font-stretch:${s};${c?`unicode-range:${c};`:""}}`)}}}async function Fe({required:A,usedCodepoints:e,exclude:t,localFonts:n=[],useProxy:o=""}={}){A instanceof Set||(A=new Set),e instanceof Set||(e=new Set);const r=new Map;for(const e of A){const[A,t,n,o]=String(e).split("__");if(!A)continue;const i=r.get(A)||[];i.push({w:parseInt(t,10),s:n,st:parseInt(o,10)}),r.set(A,i)}function i(A,e,t,n){if(!r.has(A))return!1;const o=r.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*%/),o=n?parseFloat(n[1]):100;return{min:o,max:o}}(n),c=i.min!==i.max,l=i.min,u=A=>"normal"===s.kind&&"normal"===A||"normal"!==s.kind&&("italic"===A||"oblique"===A);let g=!1;for(const A of o){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){g=!0;break}}if(g)return!0;if(!c)for(const A of o){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,o);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 g="";const h=Array.from(document.querySelectorAll('link[rel="stylesheet"]')).filter(A=>!!A.href);for(const A of h)try{if(ie(A.href))continue;let n="",r=!1;try{r=new URL(A.href,location.href).origin===location.origin}catch{}if(!r&&!ge(A.href,c))continue;if(r){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:o})).data,ie(A.href))continue}n=await Be(n,A.href,o);let a="";for(const r of n.match(we)||[]){const n=ce((r.match(/font-family:\s*([^;]+);/i)?.[1]||"").trim());if(!n||ie(n))continue;const c=(r.match(/font-weight:\s*([^;]+);/i)?.[1]||"400").trim(),l=(r.match(/font-style:\s*([^;]+);/i)?.[1]||"normal").trim(),u=(r.match(/font-stretch:\s*([^;]+);/i)?.[1]||"100%").trim(),g=(r.match(/unicode-range:\s*([^;]+);/i)?.[1]||"").trim(),h=(r.match(/src\s*:\s*([^;]+);/i)?.[1]||"").trim(),d=Ce(h,A.href);if(!i(n,l,c,u))continue;const B=me(g);if(!pe(e,B))continue;const f={family:n,weightSpec:c,styleSpec:l,stretchSpec:u,unicodeRange:g,srcRaw:h,srcUrls:d,href:A.href};if(t&&s(f,B))continue;a+=/url\(/i.test(h)?await Qe(r,A.href,o):r}a.trim()&&(g+=a)}catch{console.warn("[snapDOM] Failed to process stylesheet:",A.href)}const d={requiredIndex:r,usedCodepoints:e,faceMatchesRequired:i,simpleExcluder:t?ye(t):null,useProxy:o,visitedSheets:new Set,depth:0};for(const A of document.styleSheets)if(!A.href||!h.some(e=>e.href===A.href))try{const e=A.href||location.href;e&&d.visitedSheets.add(e),await Ue(A,e,async A=>{g+=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(!r.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:o,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}g+=`@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(!r.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:o,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}g+=`@font-face{font-family:'${e}';src:url(${c});font-style:${i};font-weight:${n};font-stretch:${s};}`}return g&&(g=function(A){if(!A)return A;const e=/@font-face[^{}]*\{[^}]*\}/gi,t=new Set,n=[];for(const o of A.match(e)||[]){const A=ce(o.match(/font-family:\s*([^;]+);/i)?.[1]||""),e=(o.match(/font-weight:\s*([^;]+);/i)?.[1]||"400").trim(),r=(o.match(/font-style:\s*([^;]+);/i)?.[1]||"normal").trim(),i=(o.match(/font-stretch:\s*([^;]+);/i)?.[1]||"100%").trim(),s=(o.match(/unicode-range:\s*([^;]+);/i)?.[1]||"").trim(),a=(o.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,r,i,s.toLowerCase(),l].join("|");t.has(u)||(t.add(u),n.push(o))}if(0===n.length)return A;let o=0;return A.replace(e,()=>n[o++]||"")}(g),yA.resource?.set(a,g)),g}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,o,r;e.add((n=A.fontWeight,o=A.fontStyle,r=A.fontStretch,`${t}__${le(n)}__${ue(o)}__${function(A){const e=String(A??"100%").match(/(\d+(?:\.\d+)?)\s*%/);return e?Math.max(50,Math.min(200,parseFloat(e[1]))):100}(r)}`))};n(getComputedStyle(A));const o=getComputedStyle(A,"::before");o&&o.content&&"none"!==o.content&&n(o);const r=getComputedStyle(A,"::after");for(r&&r.content&&"none"!==r.content&&n(r);t.nextNode();){const A=t.currentNode;n(getComputedStyle(A));const e=getComputedStyle(A,"::before");e&&e.content&&"none"!==e.content&&n(e);const o=getComputedStyle(A,"::after");o&&o.content&&"none"!==o.content&&n(o)}return e}function Ee(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)),o="";for(const[A,e]of t)for(;n>=A;)o+=e,n-=A;return e?o:o.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 Ee(A,!1);case"upper-alpha":return Ee(A,!0);case"lower-roman":return ve(A,!1);case"upper-roman":return ve(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},o=(A,e,t)=>{const o=(A=>{const e=new Map;for(const[t,n]of A)e.set(t,n.slice());return e})(A);let r,i;try{r=t.style?.counterReset||getComputedStyle(t).counterReset}catch{}if(r&&"none"!==r)for(const A of r.split(",")){const t=A.trim().split(/\s+/),n=t[0],r=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(r),o.set(n,A)}else o.set(n,[r])}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 r=o.get(t)||[];0===r.length&&r.push(0),r[r.length-1]+=n,o.set(t,r)}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 o=A.getAttribute("start"),r=Number.isFinite(Number(o))?Number(o):1,i=n(t),s=t.getAttribute("value");e=Number.isFinite(Number(s))?Number(s):r+i}else e=1+n(t);const r=o.get("list-item")||[];0===r.length&&r.push(0),r[r.length-1]=e,o.set("list-item",r)}}catch{}return o},r=(A,t,n)=>{const i=o(n,t,A);e.set(A,i);let s=i;for(const e of A.children){s=r(e,i,s)}return i},i=new Map;return r(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 o=e.get(A,t),r=n.get(t);return"number"==typeof r?Math.max(o,r):o},getStack(A,t){const o=e.getStack(A,t);if(!o.length)return o;const r=n.get(t);if("number"==typeof r){const A=o.slice();return A[A.length-1]=Math.max(A[A.length-1],r),A}return o}}:e}function Me(A,e,t){const n=new Map;function o(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],o=Number.isFinite(Number(A[1]))?Number(A[1]):void 0;n&&e.push({name:n,num:o})}return e}const r=o(e?.counterReset),i=o(e?.counterIncrement);function s(e){if(n.has(e))return n.get(e).slice();let o=t.getStack(A,e);o=o.length?o.slice():[];const s=r.find(A=>A.name===e);if(s){const A=Number.isFinite(s.num)?s.num:0;o=o.length?[...o,A]:[A]}const a=i.find(A=>A.name===e);if(a){const A=Number.isFinite(a.num)?a.num:1;0===o.length&&(o=[0]),o[o.length-1]+=A}return n.set(e,o.slice()),o}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 o=n?.content;if(!o||"none"===o||"normal"===o)return{text:"",incs:[]};const r=Me(A,n,Le(A,t));let i=/\bcounter\s*\(|\bcounters\s*\(/.test(o||"")?function(A,e,t){if(!A||"none"===A)return A;try{const n=/\b(counter|counters)\s*\(([^)]+)\)/g;return(A.replace(n,(A,n,o)=>{const r=String(o).split(",").map(A=>A.trim());if("counter"===n){const A=r[0]?.replace(/^["']|["']$/g,""),n=(r[1]||"decimal").toLowerCase();return He(t.get(e,A),n)}{const A=r[0]?.replace(/^["']|["']$/g,""),n=r[1]?.replace(/^["']|["']$/g,"")??"",o=(r[2]||"decimal").toLowerCase(),i=t.getStack(e,A);return i.length?i.map(A=>He(A,o)).join(n):""}})||"").replace(/"([^"]*)"/g,"$1")}catch{return"- "}}(o,A,r):o;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:r.__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 o of["::before","::after","::first-letter"])try{const r=OA(A,o);if(!r||"function"!=typeof r[Symbol.iterator])continue;if(!("none"!==r.content||"none"!==r.backgroundImage||"transparent"!==r.backgroundColor||"none"!==r.borderStyle&&0!==parseFloat(r.borderWidth)||r.transform&&"none"!==r.transform||"inline"!==r.display))continue;if("::first-letter"===o){const n=getComputedStyle(A);if(!(r.color!==n.color||r.fontSize!==n.fontSize||r.fontWeight!==n.fontWeight))continue;const o=Array.from(e.childNodes).find(A=>A.nodeType===Node.TEXT_NODE&&A.textContent?.trim().length>0);if(!o)continue;const i=o.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(r),"span");t.styleMap.set(l,u);const g=document.createTextNode(c);e.replaceChild(g,o),e.insertBefore(l,g);continue}const i=r.content,{text:s,incs:a}=De(A,o,xe),c=r.backgroundImage,l=r.backgroundColor,u=r.fontFamily,g=parseInt(r.fontSize)||32,h=parseInt(r.fontWeight)||!1,d=r.color||"#000",B=r.borderStyle,f=parseFloat(r.borderWidth),w=r.transform,m=ie(u),p="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(!(p||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),r=Me(A,getComputedStyle(A,o),n).get(A,t);e.set(t,r)}Se.set(A.parentElement,e)}continue}const F=document.createElement("span");F.dataset.snapdomPseudo=o,F.style.verticalAlign="middle",F.style.pointerEvents="none";const b=PA(VA(r),"span");if(t.styleMap.set(F,b),m&&s&&1===s.length){const{dataUrl:A,width:t,height:n}=await se(s,u,h,g,d),o=document.createElement("img");o.src=A,o.style=`height:${g}px;width:${t/n*g}px;object-fit:contain;`,F.appendChild(o),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:${g}px;height:auto;object-fit:contain;`,F.appendChild(A)}catch(e){console.error(`[snapdom] Error in pseudo ${o} for`,A,e)}}else!m&&p&&(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 ${o}`,A)}Q&&(F.style.backgroundColor=l);const E=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,o),t);for(const{name:t}of a){if(!t)continue;const o=n.get(A,t);e.set(t,o)}Se.set(A.parentElement,e)}if(!E)continue;"::before"===o?e.insertBefore(F,e.firstChild):e.appendChild(F)}catch(e){console.warn(`[snapdom] Failed to capture ${o} for`,A,e)}const o=Array.from(A.children),r=Array.from(e.children).filter(A=>!A.dataset.snapdomPseudo);for(let A=0;A<Math.min(o.length,r.length);A++)await Ke(o[A],r[A],t,n)}function Te(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 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 o=n[A];o.hasAttribute(e)||t.push(o)}return t}async function Oe(A,e={}){const t={styleMap:yA.session.styleMap,styleCache:yA.session.styleCache,nodeMap:yA.session.nodeMap};let n,o="",r="";!function(A){const e=getComputedStyle(A),t=e.outlineStyle,n=e.outlineWidth,o=e.borderStyle,r=e.borderWidth,i="none"!==t&&parseFloat(n)>0,s="none"===o||0===parseFloat(r);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()),o=t.filter(A=>"defs"===A.tagName.toLowerCase());let r=A.querySelector("svg.inline-defs-container");r||(r=document.createElementNS("http://www.w3.org/2000/svg","svg"),r.setAttribute("aria-hidden","true"),r.setAttribute("style","position: absolute; width: 0; height: 0; overflow: hidden;"),r.classList.add("inline-defs-container"),A.insertBefore(r,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 r.appendChild(e.cloneNode(!0)),void i.add(A);for(const e of o){const t=e.querySelector(`#${CSS.escape(A)}`);if(t){let e=r.querySelector("defs");e||(e=document.createElementNS("http://www.w3.org/2000/svg","defs"),r.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(Xe(e)){const t=await Ne(e);A.setAttribute("src",t)}const t=A.getAttribute("srcset");if(t&&t.includes("blob:")){const e=Je(t);let n=!1;for(const A of e)if(Xe(A.url))try{A.url=await Ne(A.url),n=!0}catch{}n&&A.setAttribute("srcset",Ye(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(Xe(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 o=A.querySelectorAll?A.querySelectorAll("style"):[];for(const A of o)try{const e=A.textContent||"";e.includes("blob:")&&(A.textContent=await We(e))}catch{}const r=["poster"];for(const e of r){const t=A.querySelectorAll?A.querySelectorAll(`[${e}^='blob:']`):[];for(const A of t)try{const t=A.getAttribute(e);Xe(t)&&A.setAttribute(e,await Ne(t))}catch{}}}(n);try{const A=n.querySelectorAll("style[data-sd]");for(const e of A)r+=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);o=Array.from(i.entries()).map(([A,e])=>`.${e}{${A}}`).join(""),o=r+o;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,o=A.dataset?.snapdomHasIcon;n&&"none"!==n&&(A.style.backgroundImage=n),o&&(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(),o=A.clientHeight,r="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=Te(a.top),u=Te(a.bottom);if(null==l&&null==u)continue;const g=Re(e,ke(s,A),r);if(!g)continue;const h=s.getBoundingClientRect(),d=h.width,B=h.height,f=h.left-n.left;if(!(d>0&&B>0))continue;if(!Number.isFinite(f))continue;const w=null!=l?l+t:t+(o-B-u);if(!Number.isFinite(w))continue;const m=Number.parseInt(a.zIndex,10),p=Number.isFinite(m),C=p?Math.max(m,1)+1:2,Q=p?m-1:0,y=g.cloneNode(!1);y.setAttribute(r,"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",g.parentElement?.insertBefore(y,g),g.style.position="absolute",g.style.left=`${f}px`,g.style.top=`${w}px`,g.style.bottom="auto",g.style.zIndex=String(C),g.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 o=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=o||""}for(const[A,e]of t.nodeMap.entries())"PRE"===e.tagName&&(A.style.marginTop="0",A.style.marginBlockStart="0");return{clone:n,classCSS:o,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 Xe(A){return"string"==typeof A&&A.startsWith("blob:")}function Je(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 Ye(A){return A.map(A=>A.desc?`${A.url} ${A.desc.trim()}`:A.url).join(", ")}function $e(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)),o=A.textContent??"",r=o;if(A.scrollHeight<=n+.5)return()=>{};let i=0,s=o.length,a=-1;for(;i<=s;){const e=i+s>>1;A.textContent=o.slice(0,e)+"…",A.scrollHeight<=n+.5?(a=e,i=e+1):s=e-1}return A.textContent=(a>=0?o.slice(0,a):"")+"…",()=>{A.textContent=r}}async function Ze(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,o=!!e.noShadows;let r,i,s,a,c,l="",u="",g=null;const h=$e(A);try{({clone:r,classCSS:i,styleCache:s}=await Oe(A,e)),n&&r&&(g=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=_e(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 o=n.match(/^matrix\(\s*([^)]+)\)$/i);if(o){const A=o[1].split(",").map(A=>parseFloat(A.trim()));if(6===A.length&&A.every(Number.isFinite)){const[t,n,o,r]=A,i=Math.sqrt(t*t+n*n)||0;let s=0,a=0,c=0,l=0,u=0,g=0;i>0&&(s=t/i,a=n/i,c=s*o+a*r,l=o-s*c,u=r-a*c,g=Math.sqrt(l*l+u*u)||0,g>0?c/=g:c=0);const h=i,d=0,B=c*g,f=g;try{e.style.transform=`matrix(${h}, ${d}, ${B}, ${f}, 0, 0)`}catch{}return{a:h,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,r)),o&&r&&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,r)}finally{h()}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:o}=e||{};if(o)try{const n=parseInt(A.dataset?.snapdomWidth||"",10)||0,r=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=r||c||s||A.height||void 0,g="function"==typeof o?await o({width:l,height:u,src:t,element:A}):o;if(g){const t=await xA(g,{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 r=A.width||A.naturalWidth||100,i=A.height||A.naturalHeight||100;if(!1!==e.placeholders){const e=document.createElement("div");e.style.cssText=[`width:${r}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:${r}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)}}(r,e),A()},{fast:t})}),await new Promise(n=>{GA(async()=>{await async function(A,e,t,n={}){const o=[[A,e]],r=["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(;o.length;){const[A,e]=o.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 r){const t=a.getPropertyValue(A);if(!t||"none"===t)continue;const o=NA(t),r=await Promise.all(o.map(A=>LA(A,n)));r.some(A=>A&&"none"!==A&&!/^url\(undefined/.test(A))&&e.style.setProperty(A,r.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++)o.push([l[A],u[A]])}}(A,r,s,e),n()},{fast:t})}),e.embedFonts&&await new Promise(n=>{GA(async()=>{const t=be(A),o=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 o=getComputedStyle(n,A),r=o?.getPropertyValue("content");if(r&&"none"!==r)if(/^"/.test(r)||/^'/.test(r))t(r.slice(1,-1));else{const A=r.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:o,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))}(r).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 h=A.getBoundingClientRect(),d=Math.max(1,Math.ceil(A.offsetWidth||parseFloat(t.width)||h.width||1)),B=Math.max(1,Math.ceil(A.offsetHeight||parseFloat(t.height)||h.height||1)),f=(A,e=NaN)=>{const t="string"==typeof A?parseFloat(A):A;return Number.isFinite(t)?t:e},w=f(e.width),m=f(e.height);let p=d,C=B;const Q=Number.isFinite(w),y=Number.isFinite(m),U=B>0?d/B:1;Q&&y?(p=Math.max(1,Math.ceil(w)),C=Math.max(1,Math.ceil(m))):Q?(p=Math.max(1,Math.ceil(w)),C=Math.max(1,Math.ceil(p/(U||1)))):y?(C=Math.max(1,Math.ceil(m)),p=Math.max(1,Math.ceil(C*(U||1)))):(p=d,C=B);let F=0,b=0,E=d,v=B;if(n&&g&&Number.isFinite(g.a)){const A=je(d,B,{a:g.a,b:g.b||0,c:g.c||0,d:g.d||1,e:0,f:0},0,0);F=A.minX,b=A.minY,E=A.maxX,v=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,o=e.scale&&"none"!==e.scale&&"1"!==e.scale,r=e.translate&&"none"!==e.translate&&"0px 0px"!==e.translate;return Boolean(n||o||r)}(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}},o=n("rotate");if(o)if(o.angle){const A=o.angle;e.rotate="rad"===A.unit?180*A.value/Math.PI+"deg":A.value+A.unit}else o.unit?e.rotate="rad"===o.unit?180*o.value/Math.PI+"deg":o.value+o.unit:e.rotate=String(o);else{const t=getComputedStyle(A);e.rotate=t.rotate&&"none"!==t.rotate?t.rotate:"0deg"}const r=n("scale");if(r){const A="x"in r&&null!=r.x?.value?r.x.value:Array.isArray(r)?r[0]?.value:Number(r)||1,t="y"in r&&null!=r.y?.value?r.y.value:Array.isArray(r)?r[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",o="y"in i&&i.y?.unit?i.y.unit:"px";e.translate=`${A}${n} ${t}${o}`}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),o=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=_e(t);return e.removeChild(t),n}({baseTransform:e,rotate:n.rotate||"0deg",scale:n.scale,translate:n.translate}),{ox:r,oy:i}=function(A,e,t){const n=(A.transformOrigin||"0 0").trim().split(/\s+/),[o,r]=[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(o,e),oy:i(r,t)}}(t,d,B),s=je(d,B,o.is2D?o:new DOMMatrix(o.toString()),r,i);F=s.minX,b=s.minY,E=s.maxX,v=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,o=0,r=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;o=Math.max(o,l+Math.max(t,0)),i=Math.max(i,l+Math.max(-t,0)),r=Math.max(r,u+Math.max(s,0)),n=Math.max(n,u+Math.max(-s,0))}return{top:Math.ceil(n),right:Math.ceil(o),bottom:Math.ceil(r),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,o=0,r=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;o=Math.max(o,l+Math.max(t,0)),i=Math.max(i,l+Math.max(-t,0)),r=Math.max(r,u+Math.max(a,0)),n=Math.max(n,u+Math.max(-a,0))}return{bleed:{top:Math.ceil(n),right:Math.ceil(o),bottom:Math.ceil(r),left:Math.ceil(i)},has:s}}(t),L=o?{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,E+=L.right,v+=L.bottom;const M=Math.max(1,Math.ceil(E-F)),D=Math.max(1,Math.ceil(v-b)),K=Math.max(1,Math.round(M*(Q||y?p/d:1))),T=Math.max(1,Math.round(D*(y||Q?C/B:1))),k="http://www.w3.org/2000/svg",R=(WA()?1:0)+(n?1:0),P=document.createElementNS(k,"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",r.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),G.appendChild(r),P.appendChild(G);const W=(new XMLSerializer).serializeToString(P),X=M+2*R,J=D+2*R,Y=Q||y;e.meta={w0:d,h0:B,vbW:X,vbH:J,targetW:p,targetH:C};const $=WA()&&Y?X:K+2*R,Z=WA()&&Y?J:T+2*R;c=`<svg xmlns="${k}" width="${$}" height="${Z}" viewBox="0 0 ${X} ${J}">`+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 je(A,e,t,n,o){const r=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-o,g=r*t+s*u,h=i*t+a*u;return g+=n+c,h+=o+l,[g,h]}const g=[u(0,0),u(A,0),u(0,e),u(A,e)];let h=1/0,d=1/0,B=-1/0,f=-1/0;for(const[A,e]of g)A<h&&(h=A),e<d&&(d=e),A>B&&(B=A),e>f&&(f=e);return{minX:h,minY:d,maxX:B,maxY:f,width:B-h,height:f-d}}function _e(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 qe(A){const e=function(A){let e=[],t="",n=0;for(let o=0;o<A.length;o++){const r=A[o];"("===r&&n++,")"===r&&(n=Math.max(0,n-1)),";"===r&&0===n?(e.push(t),t=""):t+=r}return t.trim()&&e.push(t),e.map(A=>A.trim()).filter(Boolean)}(A);let t=null,n=null,o=null;const r=[];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?o=s:"filter"===i?t=s:"-webkit-filter"===i?n=s:r.push([i,s])}if(o){const A=function(A){const e=[];let t="",n=0;for(let o=0;o<A.length;o++){const r=A[o];"("===r&&n++,")"===r&&(n=Math.max(0,n-1)),","===r&&0===n?(e.push(t.trim()),t=""):t+=r}t.trim()&&e.push(t.trim());const o=[];for(const A of e){if(/\binset\b/i.test(A))continue;const e=A.match(/-?\d+(?:\.\d+)?px/gi)||[],[t="0px",n="0px",r="0px"]=e;let i=A.replace(/-?\d+(?:\.\d+)?px/gi,"").replace(/\binset\b/gi,"").trim().replace(/\s{2,}/g," ");const s=!!i&&","!==i;o.push(`drop-shadow(${t} ${n} ${r}${s?` ${i}`:""})`)}return o.join(" ")}(o);A&&(t=t?`${t} ${A}`:A,n=n?`${n} ${A}`:A)}const i=[...r];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:o=1,dpr:r=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 g,h;const d=Number.isFinite(t),B=Number.isFinite(n);if(d&&B)g=Math.max(1,t),h=Math.max(1,n);else if(d){const A=t/Math.max(1,l);g=t,h=Math.round(u*A)}else if(B){const A=n/Math.max(1,u);h=n,g=Math.round(l*A)}else g=a,h=c;g=Math.round(g*o),h=Math.round(h*o);const f=document.createElement("canvas");f.width=Math.ceil(g*r),f.height=Math.ceil(h*r),f.style.width=`${g}px`,f.style.height=`${h}px`;const w=f.getContext("2d");return 1!==r&&w.scale(r,r),w.drawImage(s,0,0,g,h),f}async function nt(A,e){const t=await tt(A,e),n=e.backgroundColor?SA(t,e.backgroundColor):t,o=new Image;return o.src=n.toDataURL(`image/${e.format}`,e.quality),await o.decode(),o.style.width=n.width/e.dpr+"px",o.style.height=n.height/e.dpr+"px",o}async function ot(A,e){const{scale:t=1,width:n,height:o,meta:r={}}=e,i=Number.isFinite(n),s=Number.isFinite(o),a=Number.isFinite(t)&&1!==t||i||s;if(WA()&&a){return await nt(A,{...e,format:"png",quality:1,meta:r})}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=`${o}px`;else if(i){const A=Number.isFinite(r.w0)?r.w0:c.naturalWidth,e=Number.isFinite(r.h0)?r.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(r.w0)?r.w0:c.naturalWidth,e=Number.isFinite(r.h0)?r.h0:c.naturalHeight,t=o/Math.max(1,e);c.style.height=`${o}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 tt(A,e),o=e.backgroundColor?SA(n,e.backgroundColor):n;return new Promise(A=>o.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,o=t.maskImage&&"none"!==t.maskImage||t.webkitMaskImage&&"none"!==t.webkitMaskImage;if(n||o)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?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)=>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 Ze(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 Ze(A,e),o=A=>({...e,...A||{}}),r=A=>e=>{const t=o({...e||{},format:A}),r="jpeg"===A||"jpg"===A,i=null==t.backgroundColor||"transparent"===t.backgroundColor;return r&&i&&(t.backgroundColor="#ffffff"),nt(n,t)};return{url:n,toRaw:()=>n,toImg:A=>ot(n,o(A)),toSvg:A=>ot(n,o(A)),toCanvas:A=>tt(n,o(A)),toBlob:A=>rt(n,o(A)),toPng:r("png"),toJpg:r("jpeg"),toWebp:r("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),o=document.createElement("a");return o.href=n,o.download=e.filename,o.click(),void URL.revokeObjectURL(n)}const t=await tt(A,e),n=e.backgroundColor?SA(t,e.backgroundColor):t,o=document.createElement("a");o.href=n.toDataURL(`image/${e.format}`,e.quality),o.download=e.filename,o.click()}(n,o(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());"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}var ut={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,o=20,r=80,i=e.width-t-o,s=e.height-n-r;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=`${r}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),o=parseFloat(n.left)||0,r=n.right,i=e.width;let s=!0;if("auto"!==r&&""!==r){const A=parseFloat(r);if(!isNaN(A)){s=i-t-A>=i/2}}else s=o>=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:o=!1}=A;(e||t>0)&&this.createBadge(t,n,o),this.notificationCallback&&this.notificationCallback({badgeCount:t,badgeText:n,pulse:o}),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,o=e.display,r="visible"===t&&parseFloat(n)>0&&"none"!==o;return this.debug&&console.log("[IconManager] [PC+iframe] Checking SDK iframe visibility:",{visibility:t,opacity:n,display:o,isVisible:r,parsedOpacity:parseFloat(n)}),r}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 o=A.target;if(!o||!("IFRAME"===o.tagName||o.closest("iframe")||o.closest(".customer-sdk-container")||o.closest(".customer-sdk-overlay"))){if(this.iconElement){const A=this.iconElement.getBoundingClientRect(),n=A.left+A.width/2,o=A.top+A.height/2,r=Math.min(A.width,A.height)/2,i=Math.sqrt(Math.pow(e-n,2)+Math.pow(t-o,2));if(i>r+10)return void(this.debug&&console.log("[IconManager] Touch point outside icon circle, allowing event to pass through",{distance:i,radius:r,touchPoint:{x:e,y:t},iconCenter:{x:n,y:o}}))}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 o=window.innerWidth>768,r=this.isMouseOverIframe(e,t);if(o)if(r){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(r){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 o=window.innerWidth>768;if(o&&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:o}));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 r=Date.now(),i=r-this.lastMousePosition.timestamp,s=this.lastMousePosition.x,a=this.lastMousePosition.y,c=this.lastMousePosition.timestamp;if(this.lastMousePosition={x:e,y:t,timestamp:r},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 o=n.getBoundingClientRect(),r=A.left-o.left,i=A.top-o.top;this.iconElement.style.left=`${r}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 o=this.cachedContainerRect,r=this.cachedIconSize.width,i=this.cachedIconSize.height,s=window.getComputedStyle(n).maxWidth,a=s&&"none"!==s?Math.min(o.width,parseFloat(s)||o.width):o.width,c=o.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-o.left,u=t-this.dragOffset.y-o.top;const g=5-r,h=n===document.body?window.innerWidth-5:a+r-5,d=5-i,B=n===document.body?window.innerHeight-5:c+i-5;l=Math.max(g,Math.min(l,h)),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-o.left,n=t-this.dragOffset.y-o.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:o.left,containerTop:o.top,calculatedX:A,calculatedY:n,minX:g,maxX:h,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:o.left,top:o.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(),o=this.iconElement.offsetWidth,r=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-o,u=t===document.body?window.innerWidth-5:i+o-5,g=5-r,h=t===document.body?window.innerHeight-5:s+r-5;if(a=Math.max(l,Math.min(a,u)),c=Math.max(g,Math.min(c,h)),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 o=Date.now()-this.touchStartTime,r=!this.hasMoved&&o<1e3&&!this.dragStarted&&!this.isDragging&&(!this.dragIntent||o<200);this.debug&&console.log("[IconManager] Drag end",{stopReason:t,hasMoved:this.hasMoved,dragStarted:this.dragStarted,touchDuration:o,isValidClick:r,finalPosition:n,lastMousePosition:this.lastMousePosition});const i=r,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,o=window.getComputedStyle(A).maxWidth,r=o&&"none"!==o?Math.min(e.width,parseFloat(o)||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=r;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),o="H".charCodeAt(0),r="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]=o,s[2]=r,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]===o&&A[e-1]===r&&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,g=u&&"Worker"in window,h=u&&"atob"in window,d=u&&"btoa"in window,B=u?window.navigator?.userAgent:"",f=B.includes("Chrome"),w=B.includes("AppleWebKit")&&!f,m=B.includes("Firefox"),p=A=>1===A.nodeType,C=A=>"object"==typeof A.className,Q=A=>"image"===A.tagName,y=A=>p(A)&&void 0!==A.style&&!C(A),U=A=>8===A.nodeType,F=A=>"IMG"===A.tagName,b=A=>"VIDEO"===A.tagName,E=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 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"),o=t.createElement("a");return t.head.appendChild(n),t.body.appendChild(o),e&&(n.href=e),o.href=A,o.href}function x(A){return(A&&p(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 o=new FileReader;o.onload=()=>t(o.result),o.onerror=()=>n(o.error),o.onabort=()=>n(new Error(`Failed read blob to ${e}`)),o.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:o,onError:r,onWarn:i}=e??{},s="string"==typeof A?M(A,x(o)):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,o=e=>{i?.("Failed video load",A,e),r?.(e),l()};c=()=>{s.removeEventListener("loadeddata",n),s.removeEventListener("error",o)},s.addEventListener("loadeddata",n,{once:!0}),s.addEventListener("error",o,{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 T(A){return A?.split(",").map(A=>A.trim().replace(/"|'/g,"").toLowerCase()).filter(Boolean)}let k=0;function R(A){const e=`${l}[#${k}]`;return k++,{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:o=1}=e||{},r=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:r,fetch:{requestInit:(h=e?.fetch?.bypassingCache,{cache:h?"no-cache":"force-cache"}),placeholderImage:"data:image/png;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",bypassingCache:!1,...e?.fetch},fetchFn:null,font:{},drawImageInterval:100,workerUrl:null,workerNumber:o,onCloneEachNode:null,onCloneNode:null,onEmbedNode:null,onCreateForeignObjectSvg:null,includeStyleProperties:null,autoDestruct:!1,...e,__CONTEXT__:!0,log:R(r),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:g&&n&&o?o: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:`${[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 h;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(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,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:o,drawImageInterval:r}=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:o,backgroundColor:r,maximumCanvasSize:i}=e,s=A.createElement("canvas");s.width=Math.floor(t*o),s.height=Math.floor(n*o),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&&r&&(a.fillStyle=r,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<o;A++)await new Promise(e=>{setTimeout(()=>{a?.clearRect(0,0,s.width,s.height),c(),e()},A+r)});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"),o=t.getContext("2d");try{return n&&o&&o.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 o=!0;if(await D(t,{onError:()=>o=!1,onWarn:e.log.warn}),!o)return A.poster?M(A.poster,A.ownerDocument):t;t.currentTime=A.currentTime,await new Promise(A=>{t.addEventListener("seeked",A,{once:!0})});const r=n.createElement("canvas");r.width=A.offsetWidth,r.height=A.offsetHeight;try{const A=r.getContext("2d");A&&A.drawImage(t,0,0,r.width,r.height)}catch(n){return e.log.warn("Failed to clone video",n),A.poster?M(A.poster,A.ownerDocument):t}return G(r,e)}return t}(A,e):A.cloneNode(!1)}const X=["width","height","-webkit-text-fill-color"],J=["stroke","fill"];function Y(A,e,t){const{defaultComputedStyles:n}=t,o=A.nodeName.toLowerCase(),r=C(A)&&"svg"!==o,i=r?J.map(e=>[e,A.getAttribute(e)]).filter(([,A])=>null!==A):[],s=[r&&"svg",o,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,g;r?(u=l.createElementNS(S,"svg"),g=u.ownerDocument.createElementNS(u.namespaceURI,o),i.forEach(([A,e])=>{g.setAttributeNS(null,A,e)}),u.appendChild(g)):u=g=l.createElement(o),g.textContent=" ",l.body.appendChild(u);const h=c.getComputedStyle(g,e),d=new Map;for(let A=h.length,e=0;e<A;e++){const A=h.item(e);X.includes(A)||d.set(A,h.getPropertyValue(A))}return l.body.removeChild(u),n.set(s,d),d}function $(A,e,t){const n=new Map,o=[],r=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=o.length,e=0;e<A;e++)r.get(o[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=r.get(c);A||(A=new Map,r.set(c,A)),A.set(t,[i,s])}(e.get(t)!==i||s)&&(c?o.push(c):n.set(t,[i,s]))}return n}const Z=["::before","::after"],j=["::-webkit-scrollbar","::-webkit-scrollbar-button","::-webkit-scrollbar-thumb","::-webkit-scrollbar-track","::-webkit-scrollbar-track-piece","::-webkit-scrollbar-corner","::-webkit-resizer"];const _=new Set(["symbol"]);async function z(A,e,t,n,o){if(p(t)&&((A=>"STYLE"===A.tagName)(t)||(A=>"SCRIPT"===A.tagName)(t)))return;if(n.filter&&!n.filter(t))return;_.has(e.nodeName)||_.has(t.nodeName)?n.currentParentNodeStyle=void 0:n.currentParentNodeStyle=n.currentNodeStyle;const r=await eA(t,n,!1,o);n.isEnable("restoreScrollPosition")&&function(A,e){if(!y(A)||!y(e))return;const{scrollTop:t,scrollLeft:n}=A;if(!t&&!n)return;const{transform:o}=e.style,r=new DOMMatrix(o),{a:i,b:s,c:a,d:c}=r;r.a=1,r.b=0,r.c=0,r.d=1,r.translateSelf(-n,-t),r.a=i,r.b=s,r.c=a,r.d=c,e.style.transform=r.toString()}(A,r),e.appendChild(r)}async function q(A,e,t,n){let o=A.firstChild;p(A)&&A.shadowRoot&&(o=A.shadowRoot?.firstChild,t.shadowRoots.push(A.shadowRoot));for(let r=o;r;r=r.nextSibling)if(!U(r))if(p(r)&&E(r)&&"function"==typeof r.assignedNodes){const o=r.assignedNodes();for(let r=0;r<o.length;r++)await z(A,e,o[r],t,n)}else await z(A,e,r,t,n)}const AA=/^[\w-:]+$/;async function eA(A,e,t=!1,n){const{ownerDocument:o,ownerWindow:r,fontFamilies:i,onCloneEachNode:s}=e;if(o&&(A=>3===A.nodeType)(A))return n&&/\S/.test(A.data)&&n(A.data),o.createTextNode(A.data);if(o&&r&&p(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 o=e.currentNodeStyle=function(A,e,t,n){const{ownerWindow:o,includeStyleProperties:r,currentParentNodeStyle:i}=n,s=e.style,a=o.getComputedStyle(A),c=Y(A,null,n);i?.forEach((A,e)=>{c.delete(e)});const l=$(a,c,r);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:o,style:r}=e,i=A.style;if(t&&i.setProperty("background-color",t,"important"),n&&i.setProperty("width",`${n}px`,"important"),o&&i.setProperty("height",`${o}px`,"important"),r)for(const A in r)i[A]=r[A]}(n,e);let r=!1;if(e.isEnable("copyScrollbar")){const e=[o.get("overflow-x")?.[0],o.get("overflow-y")?.[0]];r=e.includes("scroll")||(e.includes("auto")||e.includes("overlay"))&&(A.scrollHeight>A.clientHeight||A.scrollWidth>A.clientWidth)}const a=o.get("text-transform")?.[0],c=T(o.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,o){const{ownerWindow:r,svgStyleElement:i,svgStyles:s,currentNodeStyle:a}=n;function c(t){const i=r.getComputedStyle(A,t);let c=i.getPropertyValue("content");if(!c||"none"===c)return;o?.(c),c=c.replace(/(')|(")|(counter\(.+\))/g,"");const l=[K()],u=Y(A,t,n);a?.forEach((A,e)=>{u.delete(e)});const g=$(i,u,n.includeStyleProperties);g.delete("content"),g.delete("-webkit-locale"),"text"===g.get("background-clip")?.[0]&&e.classList.add("______background-clip--text");const h=[`content: '${c}';`];if(g.forEach(([A,e],t)=>{h.push(`${t}: ${A}${e?" !important":""};`)}),1===h.length)return;try{e.className=[e.className,...l].join(" ")}catch(A){return void n.log.warn("Failed to copyPseudoClass",A)}const d=h.join("\n ");let B=s.get(d);B||(B=[],s.set(d,B)),B.push(`.${l[0]}${t}`)}i&&r&&(Z.forEach(c),t&&j.forEach(c))}(A,n,r,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:o="text",imageDom:r}=e;let i=t;const{timeout:s,acceptOfImage:a,requests:c,fetchFn:l,fetch:{requestInit:u,bypassingCache:g,placeholderImage:h},font:d,workers:B,fontFamilies:f}=A;"image"===n&&(w||m)&&A.drawImageCount++;let p=c.get(t);if(!p){g&&g instanceof RegExp&&g.test(i)&&(i+=(/\?/.test(i)?"&":"?")+(new Date).getTime());const e=n.startsWith("font")&&d&&d.minify,m=new Set;if(e){n.split(";")[1].split(",").forEach(A=>{f.has(A)&&f.get(A).forEach(A=>m.add(A))})}const C=e&&m.size,Q={url:i,timeout:s,responseType:C?"arrayBuffer":o,headers:"image"===n?{accept:a}:void 0,...u};p={type:n,resolve:void 0,reject:void 0,response:null},p.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}),p.resolve=A,p.reject=e}):function(A){const{url:e,timeout:t,responseType:n,...o}=A,r=new AbortController,i=t?setTimeout(()=>r.abort(),t):void 0;return fetch(e,{signal:r.signal,...o}).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&&h)return A.log.warn("Failed to fetch image base64, trying to use placeholder image",i),"string"==typeof h?h:h(r);throw e}),c.set(t,p)}return p.response}async function oA(A,e,t,n){if(!rA(A))return A;for(const[o,r]of function(A,e){const t=[];return A.replace(iA,(A,n,o)=>(t.push([o,I(o,e)]),A)),t.filter(([A])=>!H(A))}(A,e))try{const e=await nA(t,{url:r,requestType:n?"image":"text",responseType:"dataUrl"});A=A.replace(sA(o),`$1${e}$3`)}catch(A){t.log.warn("Failed to fetch css data url",o,A)}return A}function rA(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;p(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||m)&&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,o=A.getAttribute("href")??A.getAttribute("xlink:href");if(!o)return[];const[r,i]=o.split("#");if(i){const o=`#${i}`,s=e.shadowRoots.reduce((A,e)=>A??e.querySelector(`svg ${o}`),t?.querySelector(`svg ${o}`));if(r&&A.setAttribute("href",o),n?.querySelector(o))return[];if(s)return n?.appendChild(s.cloneNode(!0)),[];if(r)return[nA(e,{url:r,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||m)&&e.drawImageCount++,oA(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:o,fontCssTexts:r,tasks:i,font:s}=e;if(t&&n&&o.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 o=n+1;const r=t.href;let i="";try{i=await nA(e,{url:r,requestType:"text",responseType:"text"})}catch(A){e.log.warn(`Error fetch remote css import from ${r}`,A)}const s=i.replace(iA,(A,e,t)=>A.replace(t,I(t,r)));for(const t of function(A){if(null==A)return[];const e=[];let t=A.replace(uA,"");for(;;){const A=gA.exec(t);if(!A)break;e.push(A[0])}t=t.replace(gA,"");const n=/@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi,o=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)o.lastIndex=n.lastIndex;else{if(A=o.exec(t),!A)break;n.lastIndex=o.lastIndex}e.push(A[0])}return e}(s))try{A.insertRule(t,t.startsWith("@import")?o+=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"))&&T(A.style.getPropertyValue("font-family"))?.some(A=>o.has(A))).forEach(A=>{const o=A,s=r.get(o.cssText);s?n.appendChild(t.createTextNode(`${s}\n`)):i.push(oA(o.cssText,o.parentStyleSheet?o.parentStyleSheet.href:null,e).then(A=>{A=BA(A,e),r.set(o.cssText,A),n.appendChild(t.createTextNode(`${A}\n`))}))})}}const uA=/(\/\*[\s\S]*?\*\/)/g,gA=/((@.*?keyframes [\s\S]*?){([\s\S]*?}\s*?)})/gi;const hA=/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]=hA.exec(A)||[];if(!t)return"";if(t===n)return`src: ${e};`}}):A}async function fA(A,e){const t=await P(A,e);if(p(t.node)&&C(t.node))return t.node;const{ownerDocument:n,log:o,tasks:r,svgStyleElement:i,svgDefsElement:s,svgStyles:a,font:c,progress:l,autoDestruct:u,onCloneNode:g,onEmbedNode:h,onCreateForeignObjectSvg:d}=t;o.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))}o.timeEnd("clone node"),await(g?.(B)),!1!==c&&p(B)&&(o.time("embed web font"),await lA(0,t),o.timeEnd("embed web font")),o.time("embed node"),cA(B,t);const f=r.length;let w=0;l?.(w,f),await Promise.all([...Array.from({length:4})].map(async()=>{for(;;){const A=r.pop();if(!A)break;try{await A}catch(A){t.log.warn("Failed to run task",A)}l?.(++w,f)}})),o.timeEnd("embed node"),await(h?.(B));const m=function(A,e){const{width:t,height:n}=e,o=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),r=o.ownerDocument.createElementNS(o.namespaceURI,"foreignObject");return r.setAttributeNS(null,"x","0%"),r.setAttributeNS(null,"y","0%"),r.setAttributeNS(null,"width","100%"),r.setAttributeNS(null,"height","100%"),r.append(A),o.appendChild(r),o}(B,t);return s&&m.insertBefore(s,m.children[0]),i&&m.insertBefore(i,m.children[0]),u&&tA(t),await(d?.(m)),m}async function wA(A,e){const t=await P(A,e),n=await fA(t),o=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 r=M(o,n.ownerDocument);return await N(r,t)}async function mA(A,e){const t=await P(A,e),{log:n,quality:o,type:r,dpi:i}=t,s=await wA(t);n.time("canvas to data url");let a=s.toDataURL(r,o);if(["image/png","image/jpeg"].includes(r)&&i&&h&&d){const[A,e]=a.split(",");let t=0,n=!1;if("image/png"===r){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"===r&&(t=24);const o=e.substring(0,t),s=e.substring(t),l=window.atob(o),u=new Uint8Array(l.length);for(let A=0;A<u.length;A++)u[A]=l.charCodeAt(A);const g="image/png"===r?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(...g)),s].join("")}return n.timeEnd("canvas to data url"),a}async function pA(A,e){return mA(await P(A,{...e,type:"image/jpeg"}))}async function CA(A,e){return mA(await P(A,{...e,type:"image/png"}))}async function QA(A,e){return mA(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 o=0;function r(r,i,s){if(o>=t)return;const a=Date.now();(n.get(i)||0)>a||(n.set(i,a+e),o++,"warn"===r&&console&&console.warn?console.warn(`${A} ${s}`):console&&console.error&&console.error(`${A} ${s}`))}return{warnOnce(A,e){r("warn",A,e)},errorOnce(A,e){r("error",A,e)},reset(){n.clear(),o=0}}}("[snapDOM]",{ttlMs:18e4,maxEntries:10}),EA=new Map,vA=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,o=new URL(n||".",t),r=new URL(A,t);if(r.origin===o.origin)return!0;const i=r.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,o=e.useProxy||"",r=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:([^,]*),(.*)$/)||[],o=/;base64/i.test(e)?atob(n):decodeURIComponent(n),r=new Uint8Array([...o].map(A=>A.charCodeAt(0))),i=new Blob([r],{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(),o=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:o}}if("text"===t){return{ok:!0,data:await n.text(),status:e.status,url:A,fromCache:!1,mime:o}}return{ok:!0,data:n,status:e.status,url:A,fromCache:!1,mime:o}}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:o,errorTTL:r}),c=vA.get(a);if(c&&c.until>Date.now())return{...c.result,fromCache:!0};c&&vA.delete(a);const l=EA.get(a);if(l)return l;const u=HA(A,o)?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,o):A;let g=e.credentials;if(!g)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;g=n?"include":"omit"}catch{g="omit"}const h=new AbortController,d=setTimeout(()=>h.abort("timeout"),n),B=(async()=>{try{const n=await fetch(u,{signal:h.signal,credentials:g,headers:i});if(!n.ok){const o={ok:!1,data:null,status:n.status,url:u,fromCache:!1,reason:"http_error"};if(r>0&&vA.set(a,{until:Date.now()+r,result:o}),!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(o),o}if("text"===t){return{ok:!0,data:await n.text(),status:n.status,url:u,fromCache:!1}}const o=await n.blob(),c=o.type||n.headers.get("content-type")||"";if("dataURL"===t){return{ok:!0,data:await IA(o),status:n.status,url:u,fromCache:!1,mime:c}}return{ok:!0,data:o,status:n.status,url:u,fromCache:!1,mime:c}}catch(o){const i=o&&"object"==typeof o&&"name"in o&&"AbortError"===o.name?String(o.message||"").includes("timeout")?"timeout":"abort":"network",c={ok:!1,data:null,status:0,url:u,fromCache:!1,reason:i};if(!/^blob:/i.test(A)&&r>0&&vA.set(a,{until:Date.now()+r,result:c}),!s){const e=`${i}:${t}:${new URL(A,location?.href??"http://localhost/").origin}`,o="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,o)}return e.onError&&e.onError(c),c}finally{clearTimeout(d),EA.delete(a)}})();return EA.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,TA=/^(--|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 RA(A){const e=String(A).toLowerCase();return!!kA.has(e)||(!!TA.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),o={};for(let A of n){if(RA(A))continue;const e=n.getPropertyValue(A);o[A]=e}return e.removeChild(t),yA.defaultStyle.set(A,o),o}(e);for(let[e,o]of Object.entries(A)){if(RA(e))continue;const A=n[e];o&&o!==A&&t.push(`${e}:${o}`)}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 o=0;o<A.length;o++){const r=A[o];"("===r&&t++,")"===r&&t--,","===r&&0===t&&(e.push(A.slice(n,o).trim()),n=o+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 XA=new WeakMap,JA=new Map,YA=0;function $A(){YA++}var ZA=!1;var jA=new WeakMap;function _A(A,e=null,t={}){const n=XA.get(A);if(n&&n.epoch===YA)return n.snapshot;const o=e||getComputedStyle(A),r=function(A,e={}){const t={},n=A.getPropertyValue("visibility");for(let e=0;e<A.length;e++){const n=A[e];let o=A.getPropertyValue(n);"background-image"!==n&&"content"!==n||!o.includes("url(")||o.includes("data:")||(o="none"),t[n]=o}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}(o,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 o=e.position;if("absolute"===o||"fixed"===o||"sticky"===o)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 o=A.scrollHeight;if(0===o)return!1;const r=parseFloat(e.paddingTop)||0,i=parseFloat(e.paddingBottom)||0;return o>r+i}(A,e))return;delete t.height,delete t["block-size"]}(A,o,r),XA.set(A,{epoch:YA,snapshot:r}),r}async function zA(A,e,t,n){if("STYLE"===A.tagName)return;const o=function(A,e){return A&&A.session&&A.persist?A:A&&(A.styleMap||A.styleCache||A.nodeMap)?{session:A,persist:{snapshotKeyCache:JA,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:JA,defaultStyle:yA.defaultStyle,baseStyle:yA.baseStyle,image:yA.image,resource:yA.resource,background:yA.background,font:yA.font},options:A||e||{}}}(t,n),r=o.options&&o.options.cache||"auto";if("disabled"!==r&&function(A=document.documentElement){if(!ZA){ZA=!0;try{new MutationObserver(()=>$A()).observe(A,{subtree:!0,childList:!0,characterData:!0,attributes:!0})}catch{}try{new MutationObserver(()=>$A()).observe(document.head,{subtree:!0,childList:!0,characterData:!0,attributes:!0})}catch{}try{const A=document.fonts;A&&(A.addEventListener?.("loadingdone",$A),A.ready?.then(()=>$A()).catch(()=>{}))}catch{}}}(document.documentElement),"disabled"!==r||o.session.__bumpedForDisabled||($A(),JA.clear(),o.session.__bumpedForDisabled=!0),DA.has(A.tagName?.toLowerCase())){const t=A.getAttribute?.("style");t&&e.setAttribute("style",t)}const{session:i,persist:s}=o;i.styleCache.has(A)||i.styleCache.set(A,getComputedStyle(A));const a=_A(A,i.styleCache.get(A),o.options),c=function(A){let e=jA.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(";"),jA.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 o(){GA(t=>{!t||"function"!=typeof t.timeRemaining||t.timeRemaining()>0?e(A,n):o()},{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,o)=>{const r=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?(o=(o=A).trim())?/:not\(\s*\[data-sd-slotted\]\s*\)\s*$/.test(o)?o:`${o}:not([data-sd-slotted])`:o:A;var o;return`:where(${e} ${n})`}).join(", ")}(o,e,!0);return`${t}${n}${r}{`}):""}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(),o=0;for(;o<e&&(!n||!n.body&&!n.documentElement);)await new Promise(A=>setTimeout(A,0)),n=t(),o++;return n&&(n.body||n.documentElement)?n:null}(A,3);if(!n)throw new Error("iframe document not accessible/ready");const{contentWidth:o,contentHeight:r,rect:i}=function(A){const e=A.getBoundingClientRect();let t=0,n=0,o=0,r=0;try{const e=getComputedStyle(A);t=parseFloat(e.borderLeftWidth)||0,n=parseFloat(e.borderRightWidth)||0,o=parseFloat(e.borderTopWidth)||0,r=parseFloat(e.borderBottomWidth)||0}catch{}return{contentWidth:Math.max(0,Math.round(e.width-(t+n))),contentHeight:Math.max(0,Math.round(e.height-(o+r))),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,o,r);let l;try{l=await s.toPng(n.documentElement,a)}finally{c()}l.style.display="block",l.style.width=`${o}px`,l.style.height=`${r}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 ne(A,e,t){if(!A)throw new Error("Invalid node");const n=new Set;let o,r=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;`,zA(A,n,e,t),n}{const n=A.getBoundingClientRect(),o=document.createElement("div");return o.style.cssText=`display:inline-block;width:${n.width}px;height:${n.height}px;visibility:hidden;`,zA(A,o,e,t),o}}if("placeholder"===A.getAttribute("data-capture")){const n=A.cloneNode(!1);e.nodeMap.set(n,A),zA(A,n,e,t);const o=document.createElement("div");return o.textContent=A.getAttribute("data-placeholder-text")||"",o.style.cssText="color:#666;font-size:12px;text-align:center;line-height:1.4;padding:0.5em;box-sizing:border-box;",n.appendChild(o),n}if("CANVAS"===A.tagName){const n=A.toDataURL(),o=document.createElement("img");return o.src=n,o.width=A.width,o.height=A.height,e.nodeMap.set(o,A),zA(A,o,e,t),o}try{if(o=A.cloneNode(!1),function(A,e){if(!(A instanceof Element&&e instanceof Element))return;const t=A.getAttribute?.("style");let n,o=!(!t||!t.includes("var("));if(!o&&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(")){o=!0;break}}}if(!o)return;try{n=getComputedStyle(A)}catch{return}const r=A.style;if(r&&r.length)for(let A=0;A<r.length;A++){const t=r[A],o=r.getPropertyValue(t);if(!o||!o.includes("var("))continue;const i=n.getPropertyValue(t);if(i)try{e.style.setProperty(t,i.trim(),r.getPropertyPriority(t))}catch{}}if(A.attributes?.length){const t=A.attributes;for(let A=0;A<t.length;A++){const o=t[A];if(!o||"string"!=typeof o.value||!o.value.includes("var("))continue;const r=o.name;let i="";try{i=n.getPropertyValue(r)}catch{}if(i)try{e.style.setProperty(r,i.trim())}catch{}}}}(A,o),e.nodeMap.set(o,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,o);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),o=parseFloat(e.width)||0,r=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||o||i||a||0),n=Math.round(n||r||s||c||0)}t&&(o.dataset.snapdomWidth=String(t)),n&&(o.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();o.style.width=`${e.width}px`,o.style.height=`${e.height}px`}if(A instanceof HTMLInputElement&&(o.value=A.value,o.setAttribute("value",A.value),void 0!==A.checked&&(o.checked=A.checked,A.checked&&o.setAttribute("checked",""),A.indeterminate&&(o.indeterminate=A.indeterminate))),A instanceof HTMLSelectElement&&(r=A.value),A instanceof HTMLTextAreaElement&&(i=A.value),zA(A,o,e,t),A.shadowRoot){let r=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{o.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)}(o,l+c,i);const u=document.createDocumentFragment(),g=await qA(Array.from(A.shadowRoot.childNodes),r,t.fast);u.append(...g.filter(A=>!!A)),o.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 o=A.assignedNodes?.({flatten:!0})||[],r=o.length>0?o:Array.from(A.childNodes),i=document.createDocumentFragment(),s=await qA(Array.from(r),n,t.fast);return i.append(...s.filter(A=>!!A)),i}const s=await qA(Array.from(A.childNodes),function(A,o){if(n.has(A))return o(null);ne(A,e,t).then(A=>{o(A||null)}).catch(()=>{o(null)})},t.fast);if(o.append(...s.filter(A=>!!A)),null!==r&&o instanceof HTMLSelectElement){o.value=r;for(const A of o.options)A.value===r?A.setAttribute("selected",""):A.removeAttribute("selected")}return null!==i&&o instanceof HTMLTextAreaElement&&(o.textContent=i),o}var oe=[/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 ie(A){const e="string"==typeof A?A:"",t=[...oe,...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 se(A,e,t,n=32,o="#000"){e=e.replace(/^['"]+|['"]+$/g,"");const r=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*r),l.height=Math.max(1,c*r);const u=l.getContext("2d");return u.scale(r,r),u.font=t?`${t} ${n}px "${e}"`:`${n}px "${e}"`,u.textAlign="left",u.textBaseline="top",u.fillStyle=o,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 ge(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 o=(t.pathname+t.search).toLowerCase();if(/\bfont(s)?\b/.test(o)||/\.woff2?(\b|$)/.test(o))return!0;for(const A of e){const e=A.toLowerCase().replace(/\s+/g,"+"),t=A.toLowerCase().replace(/\s+/g,"-");if(o.includes(e)||o.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 o=(n||"").trim();if(!o||/^data:|^blob:|^https?:|^file:|^about:/i.test(o))return A;let r=o;try{r=new URL(o,e||location.href).href}catch{}return`url("${r}")`}):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 o(A,e){try{return new URL(A,e||location.href).href}catch{return A}}let r=he(A,e||location.href);return r=await async function A(e,r,i=0){if(i>4)return console.warn(`[snapDOM] @import depth exceeded (4) at ${r}`),e;let s,a="",c=0;for(;s=de.exec(e);){a+=e.slice(c,s.index),c=de.lastIndex;const l=o((s[2]||s[4]||"").trim(),r);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=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}(r,e||location.href,0),r}var fe=/url\((["']?)([^"')]+)\1\)/g,we=/@font-face[^{}]*\{[^}]*\}/g;function me(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],o=t[2],r=A=>{if(!A.includes("?"))return parseInt(A,16);return[parseInt(A.replace(/\?/g,"0"),16),parseInt(A.replace(/\?/g,"F"),16)]};if(o){const A=r(n),t=r(o),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=r(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 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 o of A.matchAll(fe)){const A=UA(o[0]);if(!A)continue;let r=A;if(!r.startsWith("http")&&!r.startsWith("data:"))try{r=new URL(r,e||location.href).href}catch{}if(!ie(r))if(yA.resource?.has(r))yA.font?.add(r),n=n.replace(o[0],`url(${yA.resource.get(r)})`);else if(!yA.font?.has(r))try{const A=await xA(r,{as:"dataURL",useProxy:t,silent:!0});if(A.ok&&"string"==typeof A.data){const e=A.data;yA.resource?.set(r,e),yA.font?.add(r),n=n.replace(o[0],`url(${e})`)}}catch{console.warn("[snapDOM] Failed to fetch font resource:",r)}}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,o)=>{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),o=e(880,1023),r=e(1024,1279);return e(7840,7929)||e(258,259)||e(416,417)||e(431,432)?"vietnamese":r?"cyrillic":o?"greek":n?"latin-ext":t?"latin":null}(o);if(A&&n.has(A))return!0}return!1}}async function Ue(A,e,t,n){let o;try{o=A.cssRules||[]}catch{return}const r=(A,e)=>{try{return new URL(A,e||location.href).href}catch{return A}};for(const A of o){if(A.type===CSSRule.IMPORT_RULE&&A.styleSheet){const o=A.href?r(A.href,e):e;if(n.depth>=4){console.warn(`[snapDOM] CSSOM import depth exceeded (4) at ${o}`);continue}if(o&&n.visitedSheets.has(o)){console.warn(`[snapDOM] Skipping circular CSSOM import: ${o}`);continue}o&&n.visitedSheets.add(o);const i={...n,depth:(n.depth||0)+1};await Ue(A.styleSheet,o,t,i);continue}if(A.type===CSSRule.FONT_FACE_RULE){const o=ce((A.style.getPropertyValue("font-family")||"").trim());if(!o||ie(o))continue;const r=(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(o,i,r,s))continue;const l=me(c);if(!pe(n.usedCodepoints,l))continue;const u={family:o,weightSpec:r,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:${o};src:${A};font-style:${i};font-weight:${r};font-stretch:${s};${c?`unicode-range:${c};`:""}}`)}else await t(`@font-face{font-family:${o};src:${a};font-style:${i};font-weight:${r};font-stretch:${s};${c?`unicode-range:${c};`:""}}`)}}}async function Fe({required:A,usedCodepoints:e,exclude:t,localFonts:n=[],useProxy:o=""}={}){A instanceof Set||(A=new Set),e instanceof Set||(e=new Set);const r=new Map;for(const e of A){const[A,t,n,o]=String(e).split("__");if(!A)continue;const i=r.get(A)||[];i.push({w:parseInt(t,10),s:n,st:parseInt(o,10)}),r.set(A,i)}function i(A,e,t,n){if(!r.has(A))return!1;const o=r.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*%/),o=n?parseFloat(n[1]):100;return{min:o,max:o}}(n),c=i.min!==i.max,l=i.min,u=A=>"normal"===s.kind&&"normal"===A||"normal"!==s.kind&&("italic"===A||"oblique"===A);let g=!1;for(const A of o){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){g=!0;break}}if(g)return!0;if(!c)for(const A of o){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,o);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 g="";const h=Array.from(document.querySelectorAll('link[rel="stylesheet"]')).filter(A=>!!A.href);for(const A of h)try{if(ie(A.href))continue;let n="",r=!1;try{r=new URL(A.href,location.href).origin===location.origin}catch{}if(!r&&!ge(A.href,c))continue;if(r){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:o})).data,ie(A.href))continue}n=await Be(n,A.href,o);let a="";for(const r of n.match(we)||[]){const n=ce((r.match(/font-family:\s*([^;]+);/i)?.[1]||"").trim());if(!n||ie(n))continue;const c=(r.match(/font-weight:\s*([^;]+);/i)?.[1]||"400").trim(),l=(r.match(/font-style:\s*([^;]+);/i)?.[1]||"normal").trim(),u=(r.match(/font-stretch:\s*([^;]+);/i)?.[1]||"100%").trim(),g=(r.match(/unicode-range:\s*([^;]+);/i)?.[1]||"").trim(),h=(r.match(/src\s*:\s*([^;]+);/i)?.[1]||"").trim(),d=Ce(h,A.href);if(!i(n,l,c,u))continue;const B=me(g);if(!pe(e,B))continue;const f={family:n,weightSpec:c,styleSpec:l,stretchSpec:u,unicodeRange:g,srcRaw:h,srcUrls:d,href:A.href};if(t&&s(f,B))continue;a+=/url\(/i.test(h)?await Qe(r,A.href,o):r}a.trim()&&(g+=a)}catch{console.warn("[snapDOM] Failed to process stylesheet:",A.href)}const d={requiredIndex:r,usedCodepoints:e,faceMatchesRequired:i,simpleExcluder:t?ye(t):null,useProxy:o,visitedSheets:new Set,depth:0};for(const A of document.styleSheets)if(!A.href||!h.some(e=>e.href===A.href))try{const e=A.href||location.href;e&&d.visitedSheets.add(e),await Ue(A,e,async A=>{g+=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(!r.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:o,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}g+=`@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(!r.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:o,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}g+=`@font-face{font-family:'${e}';src:url(${c});font-style:${i};font-weight:${n};font-stretch:${s};}`}return g&&(g=function(A){if(!A)return A;const e=/@font-face[^{}]*\{[^}]*\}/gi,t=new Set,n=[];for(const o of A.match(e)||[]){const A=ce(o.match(/font-family:\s*([^;]+);/i)?.[1]||""),e=(o.match(/font-weight:\s*([^;]+);/i)?.[1]||"400").trim(),r=(o.match(/font-style:\s*([^;]+);/i)?.[1]||"normal").trim(),i=(o.match(/font-stretch:\s*([^;]+);/i)?.[1]||"100%").trim(),s=(o.match(/unicode-range:\s*([^;]+);/i)?.[1]||"").trim(),a=(o.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,r,i,s.toLowerCase(),l].join("|");t.has(u)||(t.add(u),n.push(o))}if(0===n.length)return A;let o=0;return A.replace(e,()=>n[o++]||"")}(g),yA.resource?.set(a,g)),g}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,o,r;e.add((n=A.fontWeight,o=A.fontStyle,r=A.fontStretch,`${t}__${le(n)}__${ue(o)}__${function(A){const e=String(A??"100%").match(/(\d+(?:\.\d+)?)\s*%/);return e?Math.max(50,Math.min(200,parseFloat(e[1]))):100}(r)}`))};n(getComputedStyle(A));const o=getComputedStyle(A,"::before");o&&o.content&&"none"!==o.content&&n(o);const r=getComputedStyle(A,"::after");for(r&&r.content&&"none"!==r.content&&n(r);t.nextNode();){const A=t.currentNode;n(getComputedStyle(A));const e=getComputedStyle(A,"::before");e&&e.content&&"none"!==e.content&&n(e);const o=getComputedStyle(A,"::after");o&&o.content&&"none"!==o.content&&n(o)}return e}function Ee(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)),o="";for(const[A,e]of t)for(;n>=A;)o+=e,n-=A;return e?o:o.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 Ee(A,!1);case"upper-alpha":return Ee(A,!0);case"lower-roman":return ve(A,!1);case"upper-roman":return ve(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},o=(A,e,t)=>{const o=(A=>{const e=new Map;for(const[t,n]of A)e.set(t,n.slice());return e})(A);let r,i;try{r=t.style?.counterReset||getComputedStyle(t).counterReset}catch{}if(r&&"none"!==r)for(const A of r.split(",")){const t=A.trim().split(/\s+/),n=t[0],r=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(r),o.set(n,A)}else o.set(n,[r])}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 r=o.get(t)||[];0===r.length&&r.push(0),r[r.length-1]+=n,o.set(t,r)}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 o=A.getAttribute("start"),r=Number.isFinite(Number(o))?Number(o):1,i=n(t),s=t.getAttribute("value");e=Number.isFinite(Number(s))?Number(s):r+i}else e=1+n(t);const r=o.get("list-item")||[];0===r.length&&r.push(0),r[r.length-1]=e,o.set("list-item",r)}}catch{}return o},r=(A,t,n)=>{const i=o(n,t,A);e.set(A,i);let s=i;for(const e of A.children){s=r(e,i,s)}return i},i=new Map;return r(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 o=e.get(A,t),r=n.get(t);return"number"==typeof r?Math.max(o,r):o},getStack(A,t){const o=e.getStack(A,t);if(!o.length)return o;const r=n.get(t);if("number"==typeof r){const A=o.slice();return A[A.length-1]=Math.max(A[A.length-1],r),A}return o}}:e}function Me(A,e,t){const n=new Map;function o(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],o=Number.isFinite(Number(A[1]))?Number(A[1]):void 0;n&&e.push({name:n,num:o})}return e}const r=o(e?.counterReset),i=o(e?.counterIncrement);function s(e){if(n.has(e))return n.get(e).slice();let o=t.getStack(A,e);o=o.length?o.slice():[];const s=r.find(A=>A.name===e);if(s){const A=Number.isFinite(s.num)?s.num:0;o=o.length?[...o,A]:[A]}const a=i.find(A=>A.name===e);if(a){const A=Number.isFinite(a.num)?a.num:1;0===o.length&&(o=[0]),o[o.length-1]+=A}return n.set(e,o.slice()),o}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 o=n?.content;if(!o||"none"===o||"normal"===o)return{text:"",incs:[]};const r=Me(A,n,Le(A,t));let i=/\bcounter\s*\(|\bcounters\s*\(/.test(o||"")?function(A,e,t){if(!A||"none"===A)return A;try{const n=/\b(counter|counters)\s*\(([^)]+)\)/g;return(A.replace(n,(A,n,o)=>{const r=String(o).split(",").map(A=>A.trim());if("counter"===n){const A=r[0]?.replace(/^["']|["']$/g,""),n=(r[1]||"decimal").toLowerCase();return He(t.get(e,A),n)}{const A=r[0]?.replace(/^["']|["']$/g,""),n=r[1]?.replace(/^["']|["']$/g,"")??"",o=(r[2]||"decimal").toLowerCase(),i=t.getStack(e,A);return i.length?i.map(A=>He(A,o)).join(n):""}})||"").replace(/"([^"]*)"/g,"$1")}catch{return"- "}}(o,A,r):o;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:r.__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 o of["::before","::after","::first-letter"])try{const r=OA(A,o);if(!r||"function"!=typeof r[Symbol.iterator])continue;if(!("none"!==r.content||"none"!==r.backgroundImage||"transparent"!==r.backgroundColor||"none"!==r.borderStyle&&0!==parseFloat(r.borderWidth)||r.transform&&"none"!==r.transform||"inline"!==r.display))continue;if("::first-letter"===o){const n=getComputedStyle(A);if(!(r.color!==n.color||r.fontSize!==n.fontSize||r.fontWeight!==n.fontWeight))continue;const o=Array.from(e.childNodes).find(A=>A.nodeType===Node.TEXT_NODE&&A.textContent?.trim().length>0);if(!o)continue;const i=o.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(r),"span");t.styleMap.set(l,u);const g=document.createTextNode(c);e.replaceChild(g,o),e.insertBefore(l,g);continue}const i=r.content,{text:s,incs:a}=De(A,o,xe),c=r.backgroundImage,l=r.backgroundColor,u=r.fontFamily,g=parseInt(r.fontSize)||32,h=parseInt(r.fontWeight)||!1,d=r.color||"#000",B=r.borderStyle,f=parseFloat(r.borderWidth),w=r.transform,m=ie(u),p="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(!(p||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),r=Me(A,getComputedStyle(A,o),n).get(A,t);e.set(t,r)}Se.set(A.parentElement,e)}continue}const F=document.createElement("span");F.dataset.snapdomPseudo=o,F.style.verticalAlign="middle",F.style.pointerEvents="none";const b=PA(VA(r),"span");if(t.styleMap.set(F,b),m&&s&&1===s.length){const{dataUrl:A,width:t,height:n}=await se(s,u,h,g,d),o=document.createElement("img");o.src=A,o.style=`height:${g}px;width:${t/n*g}px;object-fit:contain;`,F.appendChild(o),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:${g}px;height:auto;object-fit:contain;`,F.appendChild(A)}catch(e){console.error(`[snapdom] Error in pseudo ${o} for`,A,e)}}else!m&&p&&(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 ${o}`,A)}Q&&(F.style.backgroundColor=l);const E=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,o),t);for(const{name:t}of a){if(!t)continue;const o=n.get(A,t);e.set(t,o)}Se.set(A.parentElement,e)}if(!E)continue;"::before"===o?e.insertBefore(F,e.firstChild):e.appendChild(F)}catch(e){console.warn(`[snapdom] Failed to capture ${o} for`,A,e)}const o=Array.from(A.children),r=Array.from(e.children).filter(A=>!A.dataset.snapdomPseudo);for(let A=0;A<Math.min(o.length,r.length);A++)await Ke(o[A],r[A],t,n)}function Te(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 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 o=n[A];o.hasAttribute(e)||t.push(o)}return t}async function Oe(A,e={}){const t={styleMap:yA.session.styleMap,styleCache:yA.session.styleCache,nodeMap:yA.session.nodeMap};let n,o="",r="";!function(A){const e=getComputedStyle(A),t=e.outlineStyle,n=e.outlineWidth,o=e.borderStyle,r=e.borderWidth,i="none"!==t&&parseFloat(n)>0,s="none"===o||0===parseFloat(r);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()),o=t.filter(A=>"defs"===A.tagName.toLowerCase());let r=A.querySelector("svg.inline-defs-container");r||(r=document.createElementNS("http://www.w3.org/2000/svg","svg"),r.setAttribute("aria-hidden","true"),r.setAttribute("style","position: absolute; width: 0; height: 0; overflow: hidden;"),r.classList.add("inline-defs-container"),A.insertBefore(r,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 r.appendChild(e.cloneNode(!0)),void i.add(A);for(const e of o){const t=e.querySelector(`#${CSS.escape(A)}`);if(t){let e=r.querySelector("defs");e||(e=document.createElementNS("http://www.w3.org/2000/svg","defs"),r.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(Xe(e)){const t=await Ne(e);A.setAttribute("src",t)}const t=A.getAttribute("srcset");if(t&&t.includes("blob:")){const e=Je(t);let n=!1;for(const A of e)if(Xe(A.url))try{A.url=await Ne(A.url),n=!0}catch{}n&&A.setAttribute("srcset",Ye(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(Xe(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 o=A.querySelectorAll?A.querySelectorAll("style"):[];for(const A of o)try{const e=A.textContent||"";e.includes("blob:")&&(A.textContent=await We(e))}catch{}const r=["poster"];for(const e of r){const t=A.querySelectorAll?A.querySelectorAll(`[${e}^='blob:']`):[];for(const A of t)try{const t=A.getAttribute(e);Xe(t)&&A.setAttribute(e,await Ne(t))}catch{}}}(n);try{const A=n.querySelectorAll("style[data-sd]");for(const e of A)r+=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);o=Array.from(i.entries()).map(([A,e])=>`.${e}{${A}}`).join(""),o=r+o;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,o=A.dataset?.snapdomHasIcon;n&&"none"!==n&&(A.style.backgroundImage=n),o&&(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(),o=A.clientHeight,r="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=Te(a.top),u=Te(a.bottom);if(null==l&&null==u)continue;const g=Re(e,ke(s,A),r);if(!g)continue;const h=s.getBoundingClientRect(),d=h.width,B=h.height,f=h.left-n.left;if(!(d>0&&B>0))continue;if(!Number.isFinite(f))continue;const w=null!=l?l+t:t+(o-B-u);if(!Number.isFinite(w))continue;const m=Number.parseInt(a.zIndex,10),p=Number.isFinite(m),C=p?Math.max(m,1)+1:2,Q=p?m-1:0,y=g.cloneNode(!1);y.setAttribute(r,"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",g.parentElement?.insertBefore(y,g),g.style.position="absolute",g.style.left=`${f}px`,g.style.top=`${w}px`,g.style.bottom="auto",g.style.zIndex=String(C),g.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 o=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=o||""}for(const[A,e]of t.nodeMap.entries())"PRE"===e.tagName&&(A.style.marginTop="0",A.style.marginBlockStart="0");return{clone:n,classCSS:o,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 Xe(A){return"string"==typeof A&&A.startsWith("blob:")}function Je(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 Ye(A){return A.map(A=>A.desc?`${A.url} ${A.desc.trim()}`:A.url).join(", ")}function $e(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)),o=A.textContent??"",r=o;if(A.scrollHeight<=n+.5)return()=>{};let i=0,s=o.length,a=-1;for(;i<=s;){const e=i+s>>1;A.textContent=o.slice(0,e)+"…",A.scrollHeight<=n+.5?(a=e,i=e+1):s=e-1}return A.textContent=(a>=0?o.slice(0,a):"")+"…",()=>{A.textContent=r}}async function Ze(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,o=!!e.noShadows;let r,i,s,a,c,l="",u="",g=null;const h=$e(A);try{({clone:r,classCSS:i,styleCache:s}=await Oe(A,e)),n&&r&&(g=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=_e(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 o=n.match(/^matrix\(\s*([^)]+)\)$/i);if(o){const A=o[1].split(",").map(A=>parseFloat(A.trim()));if(6===A.length&&A.every(Number.isFinite)){const[t,n,o,r]=A,i=Math.sqrt(t*t+n*n)||0;let s=0,a=0,c=0,l=0,u=0,g=0;i>0&&(s=t/i,a=n/i,c=s*o+a*r,l=o-s*c,u=r-a*c,g=Math.sqrt(l*l+u*u)||0,g>0?c/=g:c=0);const h=i,d=0,B=c*g,f=g;try{e.style.transform=`matrix(${h}, ${d}, ${B}, ${f}, 0, 0)`}catch{}return{a:h,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,r)),o&&r&&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,r)}finally{h()}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:o}=e||{};if(o)try{const n=parseInt(A.dataset?.snapdomWidth||"",10)||0,r=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=r||c||s||A.height||void 0,g="function"==typeof o?await o({width:l,height:u,src:t,element:A}):o;if(g){const t=await xA(g,{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 r=A.width||A.naturalWidth||100,i=A.height||A.naturalHeight||100;if(!1!==e.placeholders){const e=document.createElement("div");e.style.cssText=[`width:${r}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:${r}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)}}(r,e),A()},{fast:t})}),await new Promise(n=>{GA(async()=>{await async function(A,e,t,n={}){const o=[[A,e]],r=["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(;o.length;){const[A,e]=o.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 r){const t=a.getPropertyValue(A);if(!t||"none"===t)continue;const o=NA(t),r=await Promise.all(o.map(A=>LA(A,n)));r.some(A=>A&&"none"!==A&&!/^url\(undefined/.test(A))&&e.style.setProperty(A,r.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++)o.push([l[A],u[A]])}}(A,r,s,e),n()},{fast:t})}),e.embedFonts&&await new Promise(n=>{GA(async()=>{const t=be(A),o=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 o=getComputedStyle(n,A),r=o?.getPropertyValue("content");if(r&&"none"!==r)if(/^"/.test(r)||/^'/.test(r))t(r.slice(1,-1));else{const A=r.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:o,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))}(r).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 h=A.getBoundingClientRect(),d=Math.max(1,Math.ceil(A.offsetWidth||parseFloat(t.width)||h.width||1)),B=Math.max(1,Math.ceil(A.offsetHeight||parseFloat(t.height)||h.height||1)),f=(A,e=NaN)=>{const t="string"==typeof A?parseFloat(A):A;return Number.isFinite(t)?t:e},w=f(e.width),m=f(e.height);let p=d,C=B;const Q=Number.isFinite(w),y=Number.isFinite(m),U=B>0?d/B:1;Q&&y?(p=Math.max(1,Math.ceil(w)),C=Math.max(1,Math.ceil(m))):Q?(p=Math.max(1,Math.ceil(w)),C=Math.max(1,Math.ceil(p/(U||1)))):y?(C=Math.max(1,Math.ceil(m)),p=Math.max(1,Math.ceil(C*(U||1)))):(p=d,C=B);let F=0,b=0,E=d,v=B;if(n&&g&&Number.isFinite(g.a)){const A=je(d,B,{a:g.a,b:g.b||0,c:g.c||0,d:g.d||1,e:0,f:0},0,0);F=A.minX,b=A.minY,E=A.maxX,v=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,o=e.scale&&"none"!==e.scale&&"1"!==e.scale,r=e.translate&&"none"!==e.translate&&"0px 0px"!==e.translate;return Boolean(n||o||r)}(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}},o=n("rotate");if(o)if(o.angle){const A=o.angle;e.rotate="rad"===A.unit?180*A.value/Math.PI+"deg":A.value+A.unit}else o.unit?e.rotate="rad"===o.unit?180*o.value/Math.PI+"deg":o.value+o.unit:e.rotate=String(o);else{const t=getComputedStyle(A);e.rotate=t.rotate&&"none"!==t.rotate?t.rotate:"0deg"}const r=n("scale");if(r){const A="x"in r&&null!=r.x?.value?r.x.value:Array.isArray(r)?r[0]?.value:Number(r)||1,t="y"in r&&null!=r.y?.value?r.y.value:Array.isArray(r)?r[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",o="y"in i&&i.y?.unit?i.y.unit:"px";e.translate=`${A}${n} ${t}${o}`}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),o=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=_e(t);return e.removeChild(t),n}({baseTransform:e,rotate:n.rotate||"0deg",scale:n.scale,translate:n.translate}),{ox:r,oy:i}=function(A,e,t){const n=(A.transformOrigin||"0 0").trim().split(/\s+/),[o,r]=[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(o,e),oy:i(r,t)}}(t,d,B),s=je(d,B,o.is2D?o:new DOMMatrix(o.toString()),r,i);F=s.minX,b=s.minY,E=s.maxX,v=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,o=0,r=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;o=Math.max(o,l+Math.max(t,0)),i=Math.max(i,l+Math.max(-t,0)),r=Math.max(r,u+Math.max(s,0)),n=Math.max(n,u+Math.max(-s,0))}return{top:Math.ceil(n),right:Math.ceil(o),bottom:Math.ceil(r),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,o=0,r=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;o=Math.max(o,l+Math.max(t,0)),i=Math.max(i,l+Math.max(-t,0)),r=Math.max(r,u+Math.max(a,0)),n=Math.max(n,u+Math.max(-a,0))}return{bleed:{top:Math.ceil(n),right:Math.ceil(o),bottom:Math.ceil(r),left:Math.ceil(i)},has:s}}(t),L=o?{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,E+=L.right,v+=L.bottom;const M=Math.max(1,Math.ceil(E-F)),D=Math.max(1,Math.ceil(v-b)),K=Math.max(1,Math.round(M*(Q||y?p/d:1))),T=Math.max(1,Math.round(D*(y||Q?C/B:1))),k="http://www.w3.org/2000/svg",R=(WA()?1:0)+(n?1:0),P=document.createElementNS(k,"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",r.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),G.appendChild(r),P.appendChild(G);const W=(new XMLSerializer).serializeToString(P),X=M+2*R,J=D+2*R,Y=Q||y;e.meta={w0:d,h0:B,vbW:X,vbH:J,targetW:p,targetH:C};const $=WA()&&Y?X:K+2*R,Z=WA()&&Y?J:T+2*R;c=`<svg xmlns="${k}" width="${$}" height="${Z}" viewBox="0 0 ${X} ${J}">`+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 je(A,e,t,n,o){const r=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-o,g=r*t+s*u,h=i*t+a*u;return g+=n+c,h+=o+l,[g,h]}const g=[u(0,0),u(A,0),u(0,e),u(A,e)];let h=1/0,d=1/0,B=-1/0,f=-1/0;for(const[A,e]of g)A<h&&(h=A),e<d&&(d=e),A>B&&(B=A),e>f&&(f=e);return{minX:h,minY:d,maxX:B,maxY:f,width:B-h,height:f-d}}function _e(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 qe(A){const e=function(A){let e=[],t="",n=0;for(let o=0;o<A.length;o++){const r=A[o];"("===r&&n++,")"===r&&(n=Math.max(0,n-1)),";"===r&&0===n?(e.push(t),t=""):t+=r}return t.trim()&&e.push(t),e.map(A=>A.trim()).filter(Boolean)}(A);let t=null,n=null,o=null;const r=[];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?o=s:"filter"===i?t=s:"-webkit-filter"===i?n=s:r.push([i,s])}if(o){const A=function(A){const e=[];let t="",n=0;for(let o=0;o<A.length;o++){const r=A[o];"("===r&&n++,")"===r&&(n=Math.max(0,n-1)),","===r&&0===n?(e.push(t.trim()),t=""):t+=r}t.trim()&&e.push(t.trim());const o=[];for(const A of e){if(/\binset\b/i.test(A))continue;const e=A.match(/-?\d+(?:\.\d+)?px/gi)||[],[t="0px",n="0px",r="0px"]=e;let i=A.replace(/-?\d+(?:\.\d+)?px/gi,"").replace(/\binset\b/gi,"").trim().replace(/\s{2,}/g," ");const s=!!i&&","!==i;o.push(`drop-shadow(${t} ${n} ${r}${s?` ${i}`:""})`)}return o.join(" ")}(o);A&&(t=t?`${t} ${A}`:A,n=n?`${n} ${A}`:A)}const i=[...r];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:o=1,dpr:r=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 g,h;const d=Number.isFinite(t),B=Number.isFinite(n);if(d&&B)g=Math.max(1,t),h=Math.max(1,n);else if(d){const A=t/Math.max(1,l);g=t,h=Math.round(u*A)}else if(B){const A=n/Math.max(1,u);h=n,g=Math.round(l*A)}else g=a,h=c;g=Math.round(g*o),h=Math.round(h*o);const f=document.createElement("canvas");f.width=Math.ceil(g*r),f.height=Math.ceil(h*r),f.style.width=`${g}px`,f.style.height=`${h}px`;const w=f.getContext("2d");return 1!==r&&w.scale(r,r),w.drawImage(s,0,0,g,h),f}async function nt(A,e){const t=await tt(A,e),n=e.backgroundColor?SA(t,e.backgroundColor):t,o=new Image;return o.src=n.toDataURL(`image/${e.format}`,e.quality),await o.decode(),o.style.width=n.width/e.dpr+"px",o.style.height=n.height/e.dpr+"px",o}async function ot(A,e){const{scale:t=1,width:n,height:o,meta:r={}}=e,i=Number.isFinite(n),s=Number.isFinite(o),a=Number.isFinite(t)&&1!==t||i||s;if(WA()&&a){return await nt(A,{...e,format:"png",quality:1,meta:r})}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=`${o}px`;else if(i){const A=Number.isFinite(r.w0)?r.w0:c.naturalWidth,e=Number.isFinite(r.h0)?r.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(r.w0)?r.w0:c.naturalWidth,e=Number.isFinite(r.h0)?r.h0:c.naturalHeight,t=o/Math.max(1,e);c.style.height=`${o}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 tt(A,e),o=e.backgroundColor?SA(n,e.backgroundColor):n;return new Promise(A=>o.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,o=t.maskImage&&"none"!==t.maskImage||t.webkitMaskImage&&"none"!==t.webkitMaskImage;if(n||o)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?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)=>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 Ze(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 Ze(A,e),o=A=>({...e,...A||{}}),r=A=>e=>{const t=o({...e||{},format:A}),r="jpeg"===A||"jpg"===A,i=null==t.backgroundColor||"transparent"===t.backgroundColor;return r&&i&&(t.backgroundColor="#ffffff"),nt(n,t)};return{url:n,toRaw:()=>n,toImg:A=>ot(n,o(A)),toSvg:A=>ot(n,o(A)),toCanvas:A=>tt(n,o(A)),toBlob:A=>rt(n,o(A)),toPng:r("png"),toJpg:r("jpeg"),toWebp:r("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),o=document.createElement("a");return o.href=n,o.download=e.filename,o.click(),void URL.revokeObjectURL(n)}const t=await tt(A,e),n=e.backgroundColor?SA(t,e.backgroundColor):t,o=document.createElement("a");o.href=n.toDataURL(`image/${e.format}`,e.quality),o.download=e.filename,o.click()}(n,o(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());"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}var ut={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,4 +18,4 @@
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 o in e=arguments[t])Object.prototype.hasOwnProperty.call(e,o)&&(A[o]=e[o]);return A},t.apply(this,arguments)};function n(A,e,t,n){function o(A){return A instanceof t?A:new t(function(e){e(A)})}return new(t||(t=Promise))(function(e,t){function r(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):o(A.value).then(r,i)}s((n=n.apply(A,[])).next())})}function o(A,e){var t,n,o,r,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(A){return function(e){return a([A,e])}}function a(r){if(t)throw new TypeError("Generator is already executing.");for(;i;)try{if(t=1,n&&(o=2&r[0]?n.return:r[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,r[1])).done)return o;switch(n=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return i.label++,{value:r[1],done:!1};case 5:i.label++,n=r[1],r=[0];continue;case 7:r=i.ops.pop(),i.trys.pop();continue;default:if(!((o=(o=i.trys).length>0&&o[o.length-1])||6!==r[0]&&2!==r[0])){i=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]<o[3])){i.label=r[1];break}if(6===r[0]&&i.label<o[1]){i.label=o[1],o=r;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(r);break}o[2]&&i.ops.pop(),i.trys.pop();continue}r=e.call(A,i)}catch(A){r=[6,A],n=0}finally{t=o=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}}function r(A,e,t){if(2===arguments.length)for(var n,o=0,r=e.length;o<r;o++)!n&&o in e||(n||(n=Array.prototype.slice.call(e,0,o)),n[o]=e[o]);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,o){return new A(this.left+e,this.top+t,this.width+n,this.height+o)},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)),o=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,o)},c=function(A){for(var e=[],t=0,n=A.length;t<n;){var o=A.charCodeAt(t++);if(o>=55296&&o<=56319&&t<n){var r=A.charCodeAt(t++);56320==(64512&r)?e.push(((1023&o)<<10)+(1023&r)+65536):(e.push(o),t--)}else e.push(o)}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=[],o=-1,r="";++o<t;){var i=A[o];i<=65535?n.push(i):(i-=65536,n.push(55296+(i>>10),i%1024+56320)),(o+1===t||n.length>16384)&&(r+=String.fromCharCode.apply(String,n),n.length=0)}return r},u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",g="undefined"==typeof Uint8Array?[]:new Uint8Array(256),h=0;h<u.length;h++)g[u.charCodeAt(h)]=h;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,o,r,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)],o=B[A.charCodeAt(e+2)],r=B[A.charCodeAt(e+3)],l[a++]=t<<2|n>>4,l[a++]=(15&n)<<4|o>>2,l[a++]=(3&o)<<6|63&r;return c},m=function(A){for(var e=A.length,t=[],n=0;n<e;n+=2)t.push(A[n+1]<<8|A[n]);return t},p=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,E=65536>>Q,v=(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)?p(t):new Uint32Array(t),o=Array.isArray(t)?m(t):new Uint16Array(t),r=24,i=H(o,r/2,n[4]/2),s=2===n[5]?H(o,(r+n[4])/2):I(n,Math.ceil((r+n[4])/4));return new S(n[0],n[1],n[2],n[3],i,s)},S=function(){function A(A,e,t,n,o,r){this.initialValue=A,this.errorValue=e,this.highStart=t,this.highValueIndex=n,this.index=o,this.data=r}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-E+(A>>Q),e=this.index[e],e+=A>>C&v,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,T=1,k=2,R=3,P=4,O=5,V=7,N=8,G=9,W=10,X=11,J=12,Y=13,$=14,Z=15,j=16,_=17,z=18,q=19,AA=20,eA=21,tA=22,nA=23,oA=24,rA=25,iA=26,sA=27,aA=28,cA=29,lA=30,uA=31,gA=32,hA=33,dA=34,BA=35,fA=36,wA=37,mA=38,pA=39,CA=40,QA=41,yA=42,UA=43,FA=[9001,65288],bA="!",EA="×",vA="÷",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=[T,k,R,O],SA=[W,N],LA=[sA,iA],MA=xA.concat(SA),DA=[mA,pA,CA,dA,BA],KA=[Z,Y],TA=function(A,e){void 0===e&&(e="strict");var t=[],n=[],o=[];return A.forEach(function(A,r){var i=HA.get(A);if(i>K?(o.push(!0),i-=K):o.push(!1),-1!==["normal","auto","loose"].indexOf(e)&&-1!==[8208,8211,12316,12448].indexOf(A))return n.push(r),t.push(j);if(i===P||i===X){if(0===r)return n.push(r),t.push(lA);var s=t[r-1];return-1===MA.indexOf(s)?(n.push(n[r-1]),t.push(s)):(n.push(r),t.push(lA))}return n.push(r),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,o]},kA=function(A,e,t,n){var o=n[t];if(Array.isArray(A)?-1!==A.indexOf(o):A===o)for(var r=t;r<=n.length;){if((a=n[++r])===e)return!0;if(a!==W)break}if(o===W)for(r=t;r>0;){var i=n[--r];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,o){if(0===t[n])return EA;var r=n-1;if(Array.isArray(o)&&!0===o[r])return EA;var i=r-1,s=r+1,a=e[r],c=i>=0?e[i]:0,l=e[s];if(a===k&&l===R)return EA;if(-1!==xA.indexOf(a))return bA;if(-1!==xA.indexOf(l))return EA;if(-1!==SA.indexOf(l))return EA;if(RA(r,e)===N)return vA;if(HA.get(A[r])===X)return EA;if((a===gA||a===hA)&&HA.get(A[s])===X)return EA;if(a===V||l===V)return EA;if(a===G)return EA;if(-1===[W,Y,Z].indexOf(a)&&l===G)return EA;if(-1!==[_,z,q,oA,aA].indexOf(l))return EA;if(RA(r,e)===tA)return EA;if(kA(nA,tA,r,e))return EA;if(kA([_,z],eA,r,e))return EA;if(kA(J,J,r,e))return EA;if(a===W)return vA;if(a===nA||l===nA)return EA;if(l===j||a===j)return vA;if(-1!==[Y,Z,eA].indexOf(l)||a===$)return EA;if(c===fA&&-1!==KA.indexOf(a))return EA;if(a===aA&&l===fA)return EA;if(l===AA)return EA;if(-1!==IA.indexOf(l)&&a===rA||-1!==IA.indexOf(a)&&l===rA)return EA;if(a===sA&&-1!==[wA,gA,hA].indexOf(l)||-1!==[wA,gA,hA].indexOf(a)&&l===iA)return EA;if(-1!==IA.indexOf(a)&&-1!==LA.indexOf(l)||-1!==LA.indexOf(a)&&-1!==IA.indexOf(l))return EA;if(-1!==[sA,iA].indexOf(a)&&(l===rA||-1!==[tA,Z].indexOf(l)&&e[s+1]===rA)||-1!==[tA,Z].indexOf(a)&&l===rA||a===rA&&-1!==[rA,aA,oA].indexOf(l))return EA;if(-1!==[rA,aA,oA,_,z].indexOf(l))for(var u=r;u>=0;){if((g=e[u])===rA)return EA;if(-1===[aA,oA].indexOf(g))break;u--}if(-1!==[sA,iA].indexOf(l))for(u=-1!==[_,z].indexOf(a)?i:r;u>=0;){var g;if((g=e[u])===rA)return EA;if(-1===[aA,oA].indexOf(g))break;u--}if(mA===a&&-1!==[mA,pA,dA,BA].indexOf(l)||-1!==[pA,dA].indexOf(a)&&-1!==[pA,CA].indexOf(l)||-1!==[CA,BA].indexOf(a)&&l===CA)return EA;if(-1!==DA.indexOf(a)&&-1!==[AA,iA].indexOf(l)||-1!==DA.indexOf(l)&&a===sA)return EA;if(-1!==IA.indexOf(a)&&-1!==IA.indexOf(l))return EA;if(a===oA&&-1!==IA.indexOf(l))return EA;if(-1!==IA.concat(rA).indexOf(a)&&l===tA&&-1===FA.indexOf(A[s])||-1!==IA.concat(rA).indexOf(l)&&a===z)return EA;if(a===QA&&l===QA){for(var h=t[r],d=1;h>0&&e[--h]===QA;)d++;if(d%2!=0)return EA}return a===gA&&l===hA?EA:vA},OA=function(A,e){e||(e={lineBreak:"normal",wordBreak:"normal"});var t=TA(A,e.lineBreak),n=t[0],o=t[1],r=t[2];"break-all"!==e.wordBreak&&"break-word"!==e.wordBreak||(o=o.map(function(A){return-1!==[rA,lA,yA].indexOf(A)?wA:A}));var i="keep-all"===e.wordBreak?r.map(function(e,t){return e&&A[t]>=19968&&A[t]<=40959}):void 0;return[n,o,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),o=n[0],r=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=EA;l<s&&(A=PA(t,r,o,++l,i))===EA;);if(A!==EA||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,XA=4,JA=8,YA=10,$A=47,ZA=92,jA=9,_A=32,zA=34,qA=61,Ae=35,ee=36,te=37,ne=39,oe=40,re=41,ie=95,se=45,ae=33,ce=60,le=62,ue=64,ge=91,he=93,de=61,Be=123,fe=63,we=125,me=124,pe=126,Ce=128,Qe=65533,ye=42,Ue=43,Fe=44,be=58,Ee=59,ve=46,He=0,Ie=8,xe=11,Se=14,Le=31,Me=127,De=-1,Ke=48,Te=97,ke=101,Re=102,Pe=117,Oe=122,Ve=65,Ne=69,Ge=70,We=85,Xe=90,Je=function(A){return A>=Ke&&A<=57},Ye=function(A){return A>=55296&&A<=57343},$e=function(A){return Je(A)||A>=Ve&&A<=Ge||A>=Te&&A<=Re},Ze=function(A){return A>=Te&&A<=Oe},je=function(A){return A>=Ve&&A<=Xe},_e=function(A){return Ze(A)||je(A)},ze=function(A){return A>=Ce},qe=function(A){return A===YA||A===jA||A===_A},At=function(A){return _e(A)||ze(A)||A===ie},et=function(A){return At(A)||Je(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===ZA&&e!==YA},ot=function(A,e,t){return A===se?At(e)||nt(e,t):!!At(A)||!(A!==ZA||!nt(A,e))},rt=function(A,e,t){return A===Ue||A===se?!!Je(e)||e===ve&&Je(t):Je(A===ve?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=[];Je(A[e]);)n.push(A[e++]);var o=n.length?parseInt(l.apply(void 0,n),10):0;A[e]===ve&&e++;for(var r=[];Je(A[e]);)r.push(A[e++]);var i=r.length,s=i?parseInt(l.apply(void 0,r),10):0;A[e]!==Ne&&A[e]!==ke||e++;var a=1;A[e]!==Ue&&A[e]!==se||(A[e]===se&&(a=-1),e++);for(var c=[];Je(A[e]);)c.push(A[e++]);var u=c.length?parseInt(l.apply(void 0,c),10):0;return t*(o+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},gt={type:21},ht={type:9},dt={type:10},Bt={type:11},ft={type:12},wt={type:14},mt={type:23},pt={type:1},Ct={type:25},Qt={type:24},yt={type:26},Ut={type:27},Ft={type:28},bt={type:29},Et={type:31},vt={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!==vt;)A.push(e),e=this.consumeToken();return A},A.prototype.consumeToken=function(){var A=this.consumeCodePoint();switch(A){case zA:return this.consumeStringToken(zA);case Ae:var e=this.peekCodePoint(0),t=this.peekCodePoint(1),n=this.peekCodePoint(2);if(et(e)||nt(t,n)){var o=ot(e,t,n)?WA:GA;return{type:5,value:this.consumeName(),flags:o}}break;case ee:if(this.peekCodePoint(0)===qA)return this.consumeCodePoint(),lt;break;case ne:return this.consumeStringToken(ne);case oe:return st;case re:return at;case ye:if(this.peekCodePoint(0)===qA)return this.consumeCodePoint(),wt;break;case Ue:if(rt(A,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(A),this.consumeNumericToken();break;case Fe:return ct;case se:var r=A,i=this.peekCodePoint(0),s=this.peekCodePoint(1);if(rt(r,i,s))return this.reconsumeCodePoint(A),this.consumeNumericToken();if(ot(r,i,s))return this.reconsumeCodePoint(A),this.consumeIdentLikeToken();if(i===se&&s===le)return this.consumeCodePoint(),this.consumeCodePoint(),Qt;break;case ve:if(rt(A,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(A),this.consumeNumericToken();break;case $A:if(this.peekCodePoint(0)===ye)for(this.consumeCodePoint();;){var a=this.consumeCodePoint();if(a===ye&&(a=this.consumeCodePoint())===$A)return this.consumeToken();if(a===De)return this.consumeToken()}break;case be:return yt;case Ee: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),g=this.peekCodePoint(2);if(ot(c,u,g))return{type:7,value:this.consumeName()};break;case ge:return Ft;case ZA:if(nt(A,this.peekCodePoint(0)))return this.reconsumeCodePoint(A),this.consumeIdentLikeToken();break;case he: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 h=this.peekCodePoint(0),d=this.peekCodePoint(1);return h!==Ue||!$e(d)&&d!==fe||(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(A),this.consumeIdentLikeToken();case me:if(this.peekCodePoint(0)===qA)return this.consumeCodePoint(),ht;if(this.peekCodePoint(0)===me)return this.consumeCodePoint(),gt;break;case pe:if(this.peekCodePoint(0)===qA)return this.consumeCodePoint(),dt;break;case De:return vt}return qe(A)?(this.consumeWhiteSpace(),Et):Je(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();$e(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&&$e(this.peekCodePoint(1))){this.consumeCodePoint(),e=this.consumeCodePoint();for(var o=[];$e(e)&&o.length<6;)o.push(e),e=this.consumeCodePoint();return{type:30,start:n,end:parseInt(l.apply(void 0,o),16)}}return{type:30,start:n,end:n}},A.prototype.consumeIdentLikeToken=function(){var A=this.consumeName();return"url"===A.toLowerCase()&&this.peekCodePoint(0)===oe?(this.consumeCodePoint(),this.consumeUrlToken()):this.peekCodePoint(0)===oe?(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===zA){var t=this.consumeStringToken(this.consumeCodePoint());return 0===t.type&&(this.consumeWhiteSpace(),this.peekCodePoint(0)===De||this.peekCodePoint(0)===re)?(this.consumeCodePoint(),{type:22,value:t.value}):(this.consumeBadUrlRemnants(),mt)}for(;;){var n=this.consumeCodePoint();if(n===De||n===re)return{type:22,value:l.apply(void 0,A)};if(qe(n))return this.consumeWhiteSpace(),this.peekCodePoint(0)===De||this.peekCodePoint(0)===re?(this.consumeCodePoint(),{type:22,value:l.apply(void 0,A)}):(this.consumeBadUrlRemnants(),mt);if(n===zA||n===ne||n===oe||tt(n))return this.consumeBadUrlRemnants(),mt;if(n===ZA){if(!nt(n,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),mt;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===re||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===YA)return this._value.splice(0,t),pt;if(n===ZA){var o=this._value[t+1];o!==De&&void 0!==o&&(o===YA?(e+=this.consumeStringSlice(t),t=-1,this._value.shift()):nt(n,o)&&(e+=this.consumeStringSlice(t),e+=l(this.consumeEscapedCodePoint()),t=-1))}t++}},A.prototype.consumeNumber=function(){var A=[],e=XA,t=this.peekCodePoint(0);for(t!==Ue&&t!==se||A.push(this.consumeCodePoint());Je(this.peekCodePoint(0));)A.push(this.consumeCodePoint());t=this.peekCodePoint(0);var n=this.peekCodePoint(1);if(t===ve&&Je(n))for(A.push(this.consumeCodePoint(),this.consumeCodePoint()),e=JA;Je(this.peekCodePoint(0));)A.push(this.consumeCodePoint());t=this.peekCodePoint(0),n=this.peekCodePoint(1);var o=this.peekCodePoint(2);if((t===Ne||t===ke)&&((n===Ue||n===se)&&Je(o)||Je(n)))for(A.push(this.consumeCodePoint(),this.consumeCodePoint()),e=JA;Je(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),o=this.peekCodePoint(1),r=this.peekCodePoint(2);return ot(n,o,r)?{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($e(A)){for(var e=l(A);$e(this.peekCodePoint(0))&&e.length<6;)e+=l(this.consumeCodePoint());qe(this.peekCodePoint(0))&&this.consumeCodePoint();var t=parseInt(e,16);return 0===t||Ye(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?vt: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},Tt=function(A){return 31!==A.type&&4!==A.type},kt=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:XA},Gt={type:16,number:50,flags:XA},Wt={type:16,number:100,flags:XA},Xt=function(A,e,t){var n=A[0],o=A[1];return[Jt(n,e),Jt(void 0!==o?o:n,t)]},Jt=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},Yt="deg",$t="grad",Zt="rad",jt="turn",_t={name:"angle",parse:function(A,e){if(15===e.type)switch(e.unit){case Yt:return Math.PI*e.number/180;case $t:return Math.PI/200*e.number;case Zt:return e.number;case jt:return 2*Math.PI*e.number}throw new Error("Unsupported angle type")}},zt=function(A){return 15===A.type&&(A.unit===Yt||A.unit===$t||A.unit===Zt||A.unit===jt)},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),o=e.value.substring(1,2),r=e.value.substring(2,3);return on(parseInt(n+n,16),parseInt(o+o,16),parseInt(r+r,16),1)}if(4===e.value.length){n=e.value.substring(0,1),o=e.value.substring(1,2),r=e.value.substring(2,3);var i=e.value.substring(3,4);return on(parseInt(n+n,16),parseInt(o+o,16),parseInt(r+r,16),parseInt(i+i,16)/255)}if(6===e.value.length)return n=e.value.substring(0,2),o=e.value.substring(2,4),r=e.value.substring(4,6),on(parseInt(n,16),parseInt(o,16),parseInt(r,16),1);if(8===e.value.length)return n=e.value.substring(0,2),o=e.value.substring(2,4),r=e.value.substring(4,6),i=e.value.substring(6,8),on(parseInt(n,16),parseInt(o,16),parseInt(r,16),parseInt(i,16)/255)}if(20===e.type){var s=gn[e.value.toUpperCase()];if(void 0!==s)return s}return gn.TRANSPARENT}},tn=function(A){return!(255&A)},nn=function(A){var e=255&A,t=255&A>>8,n=255&A>>16,o=255&A>>24;return e<255?"rgba("+o+","+n+","+t+","+e/255+")":"rgb("+o+","+n+","+t+")"},on=function(A,e,t,n){return(A<<24|e<<16|t<<8|Math.round(255*n))>>>0},rn=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(Tt);if(3===t.length){var n=t.map(rn),o=n[0],r=n[1],i=n[2];return on(o,r,i,1)}if(4===t.length){var s=t.map(rn),a=(o=s[0],r=s[1],i=s[2],s[3]);return on(o,r,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(Tt),n=t[0],o=t[1],r=t[2],i=t[3],s=(17===n.type?An(n.number):_t.parse(A,n))/(2*Math.PI),a=Ot(o)?o.number/100:0,c=Ot(r)?r.number/100:0,l=void 0!==i&&Ot(i)?Jt(i,1):1;if(0===a)return on(255*c,255*c,255*c,1);var u=c<=.5?c*(a+1):c+a-c*a,g=2*c-u,h=an(g,u,s+1/3),d=an(g,u,s),B=an(g,u,s-1/3);return on(255*h,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())},gn={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},hn={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 o=[],r=0,i=0;i<A.length;i++){var s=A[i].stop;if(null!==s){var a=Jt(s,e);a>r?o.push(a):o.push(r),r=a}else o.push(null)}var c=null;for(i=0;i<o.length;i++){var l=o[i];if(null===l)null===c&&(c=i);else if(null!==c){for(var u=i-c,g=(l-o[c-1])/(u+1),h=1;h<=u;h++)o[c+h-1]=g*h;c=null}}return A.map(function(A,t){return{color:A.color,stop:Math.max(Math.min(1,o[t]/e),0)}})},wn=function(A,e,t){var n=e/2,o=t/2,r=Jt(A[0],e)-n,i=o-Jt(A[1],t);return(Math.atan2(i,r)+2*Math.PI)%(2*Math.PI)},mn=function(A,e,t){var n="number"==typeof A?A:wn(A,e,t),o=Math.abs(e*Math.sin(n))+Math.abs(t*Math.cos(n)),r=e/2,i=t/2,s=o/2,a=Math.sin(n-Math.PI/2)*s,c=Math.cos(n-Math.PI/2)*s;return[o,r-c,r+c,i-a,i+a]},pn=function(A,e){return Math.sqrt(A*A+e*e)},Cn=function(A,e,t,n,o){return[[0,0],[0,e],[A,0],[A,e]].reduce(function(A,e){var r=e[0],i=e[1],s=pn(t-r,n-i);return(o?s<A.optimumDistance:s>A.optimumDistance)?{optimumCorner:e,optimumDistance:s}:A},{optimumDistance:o?1/0:-1/0,optimumCorner:null}).optimumCorner},Qn=function(A,e,t,n,o){var r=0,i=0;switch(A.size){case 0:0===A.shape?r=i=Math.min(Math.abs(e),Math.abs(e-n),Math.abs(t),Math.abs(t-o)):1===A.shape&&(r=Math.min(Math.abs(e),Math.abs(e-n)),i=Math.min(Math.abs(t),Math.abs(t-o)));break;case 2:if(0===A.shape)r=i=Math.min(pn(e,t),pn(e,t-o),pn(e-n,t),pn(e-n,t-o));else if(1===A.shape){var s=Math.min(Math.abs(t),Math.abs(t-o))/Math.min(Math.abs(e),Math.abs(e-n)),a=Cn(n,o,e,t,!0),c=a[0],l=a[1];i=s*(r=pn(c-e,(l-t)/s))}break;case 1:0===A.shape?r=i=Math.max(Math.abs(e),Math.abs(e-n),Math.abs(t),Math.abs(t-o)):1===A.shape&&(r=Math.max(Math.abs(e),Math.abs(e-n)),i=Math.max(Math.abs(t),Math.abs(t-o)));break;case 3:if(0===A.shape)r=i=Math.max(pn(e,t),pn(e,t-o),pn(e-n,t),pn(e-n,t-o));else if(1===A.shape){s=Math.max(Math.abs(t),Math.abs(t-o))/Math.max(Math.abs(e),Math.abs(e-n));var u=Cn(n,o,e,t,!1);c=u[0],l=u[1],i=s*(r=pn(c-e,(l-t)/s))}}return Array.isArray(A.size)&&(r=Jt(A.size[0],n),i=2===A.size.length?Jt(A.size[1],o):r),[r,i]},yn=function(A,e){var t=An(180),n=[];return kt(e).forEach(function(e,o){if(0===o){var r=e[0];if(20===r.type&&-1!==["top","left","right","bottom"].indexOf(r.value))return void(t=qt(e));if(zt(r))return void(t=(_t.parse(A,r)+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",En="farthest-corner",vn="circle",Hn="ellipse",In="cover",xn="contain",Sn=function(A,e){var t=0,n=3,o=[],r=[];return kt(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 r.push(Gt),!1;case"top":case"left":return r.push(Nt),!1;case"right":case"bottom":return r.push(Wt),!1}else if(Ot(e)||Pt(e))return r.push(e),!1;return A},s):1===i&&(s=e.reduce(function(A,e){if(Lt(e))switch(e.value){case vn: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 En: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);o.push(a)}}),{size:n,shape:t,stops:o,position:r,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=kn[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&&!kn[A.name])}var Tn,kn={"linear-gradient":function(A,e){var t=An(180),n=[];return kt(e).forEach(function(e,o){if(0===o){var r=e[0];if(20===r.type&&"to"===r.value)return void(t=qt(e));if(zt(r))return void(t=_t.parse(A,r))}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,o=[],r=[];return kt(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 r.push(Gt),A;case"top":case"left":return r.push(Nt),A;case"right":case"bottom":return r.push(Wt),A}else(Ot(e)||Pt(e))&&r.push(e);else if(Lt(e))switch(e.value){case vn: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 En: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);o.push(c)}}),{size:n,shape:t,stops:o,position:r,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=[],o=1,r=0,i=3,s=[];return kt(e).forEach(function(e,t){var r=e[0];if(0===t){if(Lt(r)&&"linear"===r.value)return void(o=1);if(Lt(r)&&"radial"===r.value)return void(o=2)}if(18===r.type)if("from"===r.name){var i=en.parse(A,r.values[0]);n.push({stop:Nt,color:i})}else if("to"===r.name)i=en.parse(A,r.values[0]),n.push({stop:Wt,color:i});else if("color-stop"===r.name){var s=r.values.filter(Tt);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===o?{angle:(t+An(180))%An(360),stops:n,type:o}:{size:i,shape:r,stops:n,position:s,type:o}}},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 Tt(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 kt(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 kt(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"}(Tn||(Tn={}));var Gn,Wn={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(A,e){return kt(e).map(function(A){return A.filter(Xn)})}},Xn=function(A){return Lt(A)||Ot(A)},Jn=function(A){return{name:"border-"+A+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},Yn=Jn("top"),$n=Jn("right"),Zn=Jn("bottom"),jn=Jn("left"),_n=function(A){return{name:"border-radius-"+A,initialValue:"0 0",prefix:!1,type:1,parse:function(A,e){return Vt(e.filter(Ot))}}},zn=_n("top-left"),qn=_n("top-right"),Ao=_n("bottom-right"),eo=_n("bottom-left"),to=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}}},no=to("top"),oo=to("right"),ro=to("bottom"),io=to("left"),so=function(A){return{name:"border-"+A+"-width",initialValue:"0",type:0,prefix:!1,parse:function(A,e){return xt(e)?e.number:0}}},ao=so("top"),co=so("right"),lo=so("bottom"),uo=so("left"),go={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},ho={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(A,e){return"rtl"===e?1:0}},Bo={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(A,e){return e.filter(Lt).reduce(function(A,e){return A|fo(e.value)},0)}},fo=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},wo={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}},mo={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 po,Co={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(A,e){return"strict"===e?Gn.STRICT:Gn.NORMAL}},Qo={name:"line-height",initialValue:"normal",prefix:!1,type:4},yo=function(A,e){return Lt(A)&&"normal"===A.value?1.2*e:17===A.type?e*A.number:Ot(A)?Jt(A,e):e},Uo={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)}},Fo={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(A,e){return"inside"===e?0:1}},bo={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}}},Eo=function(A){return{name:"margin-"+A,initialValue:"0",prefix:!1,type:4}},vo=Eo("top"),Ho=Eo("right"),Io=Eo("bottom"),xo=Eo("left"),So={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}})}},Lo={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(A,e){return"break-word"===e?"break-word":"normal"}},Mo=function(A){return{name:"padding-"+A,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},Do=Mo("top"),Ko=Mo("right"),To=Mo("bottom"),ko=Mo("left"),Ro={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}}},Po={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}},Oo={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(A,e){return 1===e.length&&Dt(e[0],"none")?[]:kt(e).map(function(e){for(var t={color:gn.TRANSPARENT,offsetX:Nt,offsetY:Nt,blur:Nt},n=0,o=0;o<e.length;o++){var r=e[o];Pt(r)?(0===n?t.offsetX=r:1===n?t.offsetY=r:t.blur=r,n++):t.color=en.parse(A,r)}return t})}},Vo={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}},No={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=Go[e.name];if(void 0===t)throw new Error('Attempting to parse an unsupported transform function "'+e.name+'"');return t(e.values)}return null}},Go={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 o=e[4],r=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,o,r,i,s]:null}},Wo={type:16,number:50,flags:XA},Xo=[Wo,Wo],Jo={name:"transform-origin",initialValue:"50% 50%",prefix:!0,type:1,parse:function(A,e){var t=e.filter(Ot);return 2!==t.length?Xo:[t[0],t[1]]}},Yo={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"}(po||(po={}));for(var $o={name:"word-break",initialValue:"normal",prefix:!1,type:2,parse:function(A,e){switch(e){case"break-all":return po.BREAK_ALL;case"keep-all":return po.KEEP_ALL;default:return po.NORMAL}}},Zo={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")}},jo={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")}},_o={name:"opacity",initialValue:"1",type:0,prefix:!1,parse:function(A,e){return St(e)?e.number:1}},zo={name:"text-decoration-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},qo={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})}},Ar={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+"'"})}},er={name:"font-size",initialValue:"0",prefix:!1,type:3,format:"length"},tr={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}},nr={name:"font-variant",initialValue:"none",type:1,prefix:!1,parse:function(A,e){return e.filter(Lt).map(function(A){return A.value})}},or={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"}}},rr=function(A,e){return 0!==(A&e)},ir={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}},sr={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=[],o=e.filter(Kt),r=0;r<o.length;r++){var i=o[r],s=o[r+1];if(20===i.type){var a=s&&St(s)?s.number:1;n.push({counter:i.value,increment:a})}}return n}},ar={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),o=0;o<n.length;o++){var r=n[o],i=n[o+1];if(Lt(r)&&"none"!==r.value){var s=i&&St(i)?i.number:0;t.push({counter:r.value,reset:s})}}return t}},cr={name:"duration",initialValue:"0s",prefix:!1,type:1,parse:function(A,e){return e.filter(xt).map(function(e){return jo.parse(A,e)})}},lr={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=[],o=e.filter(Mt);if(o.length%2!=0)return null;for(var r=0;r<o.length;r+=2){var i=o[r].value,s=o[r+1].value;n.push({open:i,close:s})}return n}},ur=function(A,e,t){if(!A)return"";var n=A[Math.min(e,A.length-1)];return n?t?n.open:n.close:""},gr={name:"box-shadow",initialValue:"none",type:1,prefix:!1,parse:function(A,e){return 1===e.length&&Dt(e[0],"none")?[]:kt(e).map(function(e){for(var t={color:255,offsetX:Nt,offsetY:Nt,blur:Nt,spread:Nt,inset:!1},n=0,o=0;o<e.length;o++){var r=e[o];Dt(r,"inset")?t.inset=!0:Pt(r)?(0===n?t.offsetX=r:1===n?t.offsetY=r:2===n?t.blur=r:t.spread=r,n++):t.color=en.parse(A,r)}return t})}},hr={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}},dr={name:"-webkit-text-stroke-color",initialValue:"currentcolor",prefix:!1,type:3,format:"color"},Br={name:"-webkit-text-stroke-width",initialValue:"0",type:0,prefix:!1,parse:function(A,e){return xt(e)?e.number:0}},fr=function(){function A(A,e){var t,n;this.animationDuration=pr(A,cr,e.animationDuration),this.backgroundClip=pr(A,hn,e.backgroundClip),this.backgroundColor=pr(A,dn,e.backgroundColor),this.backgroundImage=pr(A,Rn,e.backgroundImage),this.backgroundOrigin=pr(A,Pn,e.backgroundOrigin),this.backgroundPosition=pr(A,On,e.backgroundPosition),this.backgroundRepeat=pr(A,Vn,e.backgroundRepeat),this.backgroundSize=pr(A,Wn,e.backgroundSize),this.borderTopColor=pr(A,Yn,e.borderTopColor),this.borderRightColor=pr(A,$n,e.borderRightColor),this.borderBottomColor=pr(A,Zn,e.borderBottomColor),this.borderLeftColor=pr(A,jn,e.borderLeftColor),this.borderTopLeftRadius=pr(A,zn,e.borderTopLeftRadius),this.borderTopRightRadius=pr(A,qn,e.borderTopRightRadius),this.borderBottomRightRadius=pr(A,Ao,e.borderBottomRightRadius),this.borderBottomLeftRadius=pr(A,eo,e.borderBottomLeftRadius),this.borderTopStyle=pr(A,no,e.borderTopStyle),this.borderRightStyle=pr(A,oo,e.borderRightStyle),this.borderBottomStyle=pr(A,ro,e.borderBottomStyle),this.borderLeftStyle=pr(A,io,e.borderLeftStyle),this.borderTopWidth=pr(A,ao,e.borderTopWidth),this.borderRightWidth=pr(A,co,e.borderRightWidth),this.borderBottomWidth=pr(A,lo,e.borderBottomWidth),this.borderLeftWidth=pr(A,uo,e.borderLeftWidth),this.boxShadow=pr(A,gr,e.boxShadow),this.color=pr(A,go,e.color),this.direction=pr(A,ho,e.direction),this.display=pr(A,Bo,e.display),this.float=pr(A,wo,e.cssFloat),this.fontFamily=pr(A,Ar,e.fontFamily),this.fontSize=pr(A,er,e.fontSize),this.fontStyle=pr(A,or,e.fontStyle),this.fontVariant=pr(A,nr,e.fontVariant),this.fontWeight=pr(A,tr,e.fontWeight),this.letterSpacing=pr(A,mo,e.letterSpacing),this.lineBreak=pr(A,Co,e.lineBreak),this.lineHeight=pr(A,Qo,e.lineHeight),this.listStyleImage=pr(A,Uo,e.listStyleImage),this.listStylePosition=pr(A,Fo,e.listStylePosition),this.listStyleType=pr(A,bo,e.listStyleType),this.marginTop=pr(A,vo,e.marginTop),this.marginRight=pr(A,Ho,e.marginRight),this.marginBottom=pr(A,Io,e.marginBottom),this.marginLeft=pr(A,xo,e.marginLeft),this.opacity=pr(A,_o,e.opacity);var o=pr(A,So,e.overflow);this.overflowX=o[0],this.overflowY=o[o.length>1?1:0],this.overflowWrap=pr(A,Lo,e.overflowWrap),this.paddingTop=pr(A,Do,e.paddingTop),this.paddingRight=pr(A,Ko,e.paddingRight),this.paddingBottom=pr(A,To,e.paddingBottom),this.paddingLeft=pr(A,ko,e.paddingLeft),this.paintOrder=pr(A,hr,e.paintOrder),this.position=pr(A,Po,e.position),this.textAlign=pr(A,Ro,e.textAlign),this.textDecorationColor=pr(A,zo,null!==(t=e.textDecorationColor)&&void 0!==t?t:e.color),this.textDecorationLine=pr(A,qo,null!==(n=e.textDecorationLine)&&void 0!==n?n:e.textDecoration),this.textShadow=pr(A,Oo,e.textShadow),this.textTransform=pr(A,Vo,e.textTransform),this.transform=pr(A,No,e.transform),this.transformOrigin=pr(A,Jo,e.transformOrigin),this.visibility=pr(A,Yo,e.visibility),this.webkitTextStrokeColor=pr(A,dr,e.webkitTextStrokeColor),this.webkitTextStrokeWidth=pr(A,Br,e.webkitTextStrokeWidth),this.wordBreak=pr(A,$o,e.wordBreak),this.zIndex=pr(A,Zo,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 rr(this.display,4)||rr(this.display,33554432)||rr(this.display,268435456)||rr(this.display,536870912)||rr(this.display,67108864)||rr(this.display,134217728)},A}(),wr=function(){function A(A,e){this.content=pr(A,ir,e.content),this.quotes=pr(A,lr,e.quotes)}return A}(),mr=function(){function A(A,e){this.counterIncrement=pr(A,sr,e.counterIncrement),this.counterReset=pr(A,ar,e.counterReset)}return A}(),pr=function(A,e,t){var n=new Ht,o=null!=t?t.toString():e.initialValue;n.write(o);var r=new It(n.read());switch(e.type){case 2:var i=r.parseComponentValue();return e.parse(A,Lt(i)?i.value:e.initialValue);case 0:return e.parse(A,r.parseComponentValue());case 1:return e.parse(A,r.parseComponentValues());case 4:return r.parseComponentValue();case 3:switch(e.format){case"angle":return _t.parse(A,r.parseComponentValue());case"color":return en.parse(A,r.parseComponentValue());case"image":return Dn.parse(A,r.parseComponentValue());case"length":var s=r.parseComponentValue();return Pt(s)?s:Nt;case"length-percentage":var a=r.parseComponentValue();return Ot(a)?a:Nt;case"time":return jo.parse(A,r.parseComponentValue())}}},Cr="data-html2canvas-debug",Qr=function(A){switch(A.getAttribute(Cr)){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}},yr=function(A,e){var t=Qr(A);return 1===t||e===t},Ur=function(){function A(A,e){this.context=A,this.textNodes=[],this.elements=[],this.flags=0,yr(e,3),this.styles=new fr(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),yr(e,4)&&(this.flags|=16)}return A}(),Fr="AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=",br="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Er="undefined"==typeof Uint8Array?[]:new Uint8Array(256),vr=0;vr<br.length;vr++)Er[br.charCodeAt(vr)]=vr;for(var Hr=function(A){var e,t,n,o,r,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=Er[A.charCodeAt(e)],n=Er[A.charCodeAt(e+1)],o=Er[A.charCodeAt(e+2)],r=Er[A.charCodeAt(e+3)],l[a++]=t<<2|n>>4,l[a++]=(15&n)<<4|o>>2,l[a++]=(3&o)<<6|63&r;return c},Ir=function(A){for(var e=A.length,t=[],n=0;n<e;n+=2)t.push(A[n+1]<<8|A[n]);return t},xr=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},Sr=5,Lr=11,Mr=2,Dr=65536>>Sr,Kr=(1<<Sr)-1,Tr=Dr+(1024>>Sr)+32,kr=65536>>Lr,Rr=(1<<Lr-Sr)-1,Pr=function(A,e,t){return A.slice?A.slice(e,t):new Uint16Array(Array.prototype.slice.call(A,e,t))},Or=function(A,e,t){return A.slice?A.slice(e,t):new Uint32Array(Array.prototype.slice.call(A,e,t))},Vr=function(A,e){var t=Hr(A),n=Array.isArray(t)?xr(t):new Uint32Array(t),o=Array.isArray(t)?Ir(t):new Uint16Array(t),r=24,i=Pr(o,r/2,n[4]/2),s=2===n[5]?Pr(o,(r+n[4])/2):Or(n,Math.ceil((r+n[4])/4));return new Nr(n[0],n[1],n[2],n[3],i,s)},Nr=function(){function A(A,e,t,n,o,r){this.initialValue=A,this.errorValue=e,this.highStart=t,this.highValueIndex=n,this.index=o,this.data=r}return A.prototype.get=function(A){var e;if(A>=0){if(A<55296||A>56319&&A<=65535)return e=((e=this.index[A>>Sr])<<Mr)+(A&Kr),this.data[e];if(A<=65535)return e=((e=this.index[Dr+(A-55296>>Sr)])<<Mr)+(A&Kr),this.data[e];if(A<this.highStart)return e=Tr-kr+(A>>Lr),e=this.index[e],e+=A>>Sr&Rr,e=((e=this.index[e])<<Mr)+(A&Kr),this.data[e];if(A<=1114111)return this.data[this.highValueIndex]}return this.errorValue},A}(),Gr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Wr="undefined"==typeof Uint8Array?[]:new Uint8Array(256),Xr=0;Xr<Gr.length;Xr++)Wr[Gr.charCodeAt(Xr)]=Xr;var Jr,Yr=1,$r=2,Zr=3,jr=4,_r=5,zr=7,qr=8,Ai=9,ei=10,ti=11,ni=12,oi=13,ri=14,ii=15,si=function(A){for(var e=[],t=0,n=A.length;t<n;){var o=A.charCodeAt(t++);if(o>=55296&&o<=56319&&t<n){var r=A.charCodeAt(t++);56320==(64512&r)?e.push(((1023&o)<<10)+(1023&r)+65536):(e.push(o),t--)}else e.push(o)}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=[],o=-1,r="";++o<t;){var i=A[o];i<=65535?n.push(i):(i-=65536,n.push(55296+(i>>10),i%1024+56320)),(o+1===t||n.length>16384)&&(r+=String.fromCharCode.apply(String,n),n.length=0)}return r},ci=Vr(Fr),li="×",ui="÷",gi=function(A){return ci.get(A)},hi=function(A,e,t){var n=t-2,o=e[n],r=e[t-1],i=e[t];if(r===$r&&i===Zr)return li;if(r===$r||r===Zr||r===jr)return ui;if(i===$r||i===Zr||i===jr)return ui;if(r===qr&&-1!==[qr,Ai,ti,ni].indexOf(i))return li;if(!(r!==ti&&r!==Ai||i!==Ai&&i!==ei))return li;if((r===ni||r===ei)&&i===ei)return li;if(i===oi||i===_r)return li;if(i===zr)return li;if(r===Yr)return li;if(r===oi&&i===ri){for(;o===_r;)o=e[--n];if(o===ri)return li}if(r===ii&&i===ii){for(var s=0;o===ii;)s++,o=e[--n];if(s%2==0)return li}return ui},di=function(A){var e=si(A),t=e.length,n=0,o=0,r=e.map(gi);return{next:function(){if(n>=t)return{done:!0,value:null};for(var A=li;n<t&&(A=hi(e,r,++n))===li;);if(A!==li||n===t){var i=ai.apply(null,e.slice(o,n));return o=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 o=t.getBoundingClientRect(),r=Math.round(o.height);if(A.body.removeChild(n),r===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,o=c(n.data).map(function(A){return l(A)}),r=0,i={},s=o.every(function(A,e){t.setStart(n,r),t.setEnd(n,r+A.length);var o=t.getBoundingClientRect();r+=A.length;var s=o.x>i.x||o.y>i.y;return i=o,0===e||s});return A.body.removeChild(e),s},mi=function(){return void 0!==(new Image).crossOrigin},pi=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 o=new Image,r=e.toDataURL();o.src=r;var i=Ui(t,t,0,0,o);return n.fillStyle="red",n.fillRect(0,0,t,t),Fi(i).then(function(e){n.drawImage(e,0,0);var o=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("+r+")",i.style.height=t+"px",Qi(o)?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,o){var r="http://www.w3.org/2000/svg",i=document.createElementNS(r,"svg"),s=document.createElementNS(r,"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(o),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=mi();return Object.defineProperty(bi,"SUPPORT_CORS_IMAGES",{value:A}),A},get SUPPORT_RESPONSE_TYPE(){var A=pi();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}},Ei=function(){function A(A,e){this.text=A,this.bounds=e}return A}(),vi=function(A,e,t,n){var o=Li(e,t),r=[],s=0;return o.forEach(function(e){if(t.textDecorationLine.length||e.trim().length>0)if(bi.SUPPORT_RANGE_BOUNDS){var o=Ii(n,s,e.length).getClientRects();if(o.length>1){var a=xi(e),c=0;a.forEach(function(e){r.push(new Ei(e,i.fromDOMRectList(A,Ii(n,c+s,e.length).getClientRects()))),c+=e.length})}else r.push(new Ei(e,i.fromDOMRectList(A,o)))}else{var l=n.splitText(e.length);r.push(new Ei(e,Hi(A,n))),n=l}else bi.SUPPORT_RANGE_BOUNDS||(n=n.splitText(e.length));s+=e.length}),r},Hi=function(A,e){var t=e.ownerDocument;if(t){var n=t.createElement("html2canvaswrapper");n.appendChild(e.cloneNode(!0));var o=e.parentNode;if(o){o.replaceChild(n,e);var r=s(A,n);return n.firstChild&&o.replaceChild(n.firstChild,n),r}}return i.EMPTY},Ii=function(A,e,t){var n=A.ownerDocument;if(!n)throw new Error("Node has no owner document");var o=n.createRange();return o.setStart(A,e),o.setEnd(A,e+t),o},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}),o=[],r=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&&o.push(n),o.push(l(A)),n="")}),n.length&&o.push(n)}};!(t=n.next()).done;)r();return o},Ki=function(){function A(A,e,t){this.text=Ti(e.data,t.textTransform),this.textBounds=vi(A,this.text,t,e)}return A}(),Ti=function(A,e){switch(e){case 1:return A.toLowerCase();case 3:return A.replace(ki,Ri);case 2:return A.toUpperCase();default:return A}},ki=/(^|\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}(Ur),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}(Ur),Vi=function(A){function t(e,t){var n=A.call(this,e,t)||this,o=new XMLSerializer,r=s(e,t);return t.setAttribute("width",r.width+"px"),t.setAttribute("height",r.height+"px"),n.svg="data:image/svg+xml,"+encodeURIComponent(o.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}(Ur),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}(Ur),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}(Ur),Wi=[{type:15,flags:0,unit:"px",number:3}],Xi=[{type:16,flags:0,number:50}],Ji=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},Yi=function(A){var e=A.type===ji?new Array(A.value.length+1).join("•"):A.value;return 0===e.length?A.placeholder||"":e},$i="checkbox",Zi="radio",ji="password",_i=707406591,zi=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=Yi(t),n.type!==$i&&n.type!==Zi||(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=Ji(n.bounds)),n.type){case $i:n.styles.borderTopRightRadius=n.styles.borderTopLeftRadius=n.styles.borderBottomRightRadius=n.styles.borderBottomLeftRadius=Wi;break;case Zi:n.styles.borderTopRightRadius=n.styles.borderTopLeftRadius=n.styles.borderBottomRightRadius=n.styles.borderBottomLeftRadius=Xi}return n}return e(t,A),t}(Ur),qi=function(A){function t(e,t){var n=A.call(this,e,t)||this,o=t.options[t.selectedIndex||0];return n.value=o&&o.text||"",n}return e(t,A),t}(Ur),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}(Ur),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=rs(e,t.contentWindow.document.documentElement);var o=t.contentWindow.document.documentElement?un(e,getComputedStyle(t.contentWindow.document.documentElement).backgroundColor):gn.TRANSPARENT,r=t.contentWindow.document.body?un(e,getComputedStyle(t.contentWindow.document.body).backgroundColor):gn.TRANSPARENT;n.backgroundColor=tn(o)?tn(r)?n.styles.backgroundColor:r:o}}catch(A){}return n}return e(t,A),t}(Ur),ts=["OL","UL","MENU"],ns=function(A,e,t,n){for(var o=e.firstChild,r=void 0;o;o=r)if(r=o.nextSibling,as(o)&&o.data.trim().length>0)t.textNodes.push(new Ki(A,o,t.styles));else if(cs(o))if(Es(o)&&o.assignedNodes)o.assignedNodes().forEach(function(e){return ns(A,e,t,n)});else{var i=os(A,o);i.styles.isVisible()&&(is(o,i,n)?i.flags|=4:ss(i.styles)&&(i.flags|=2),-1!==ts.indexOf(o.tagName)&&(i.flags|=8),t.elements.push(i),o.slot,o.shadowRoot?ns(A,o.shadowRoot,i,n):Fs(o)||fs(o)||bs(o)||ns(A,o,i,n))}},os=function(A,e){return Cs(e)?new Pi(A,e):ms(e)?new Oi(A,e):fs(e)?new Vi(A,e):gs(e)?new Ni(A,e):hs(e)?new Gi(A,e):ds(e)?new zi(A,e):bs(e)?new qi(A,e):Fs(e)?new As(A,e):Qs(e)?new es(A,e):new Ur(A,e)},rs=function(A,e){var t=os(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},gs=function(A){return"LI"===A.tagName},hs=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},ms=function(A){return"CANVAS"===A.tagName},ps=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},Es=function(A){return"SLOT"===A.tagName},vs=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,o=!0;null!==t&&t.forEach(function(A){var t=e.counters[A.counter];t&&0!==A.increment&&(o=!1,t.length||t.push(1),t[Math.max(0,t.length-1)]+=A.increment)});var r=[];return o&&n.forEach(function(A){var t=e.counters[A.counter];r.push(A.counter),t||(t=e.counters[A.counter]=[]),t.push(A.reset)}),r},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,o,r){return A<e||A>t?Js(A,o,r.length>0):n.integers.reduce(function(e,t,o){for(;A>=t;)A-=t,e+=n.values[o];return e},"")+r},Ds=function(A,e,t,n){var o="";do{t||A--,o=n(A)+o,A/=e}while(A*e>=e);return o},Ks=function(A,e,t,n,o){var r=t-e+1;return(A<0?"-":"")+(Ds(Math.abs(A),r,n,function(A){return l(Math.floor(A%r)+e)})+o)},Ts=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},ks=1,Rs=2,Ps=4,Os=8,Vs=function(A,e,t,n,o,r){if(A<-9999||A>9999)return Js(A,4,o.length>0);var i=Math.abs(A),s=o;if(0===i)return e[0]+s;for(var a=0;i>0&&a<=4;a++){var c=i%10;0===c&&rr(r,ks)&&""!==s?s=e[c]+s:c>1||1===c&&0===a||1===c&&1===a&&rr(r,Rs)||1===c&&1===a&&rr(r,Ps)&&A>100||1===c&&a>1&&rr(r,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="マイナス",Xs="마이너스",Js=function(A,e,t){var n=t?". ":"",o=t?"、":"",r=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 Ts(A,"〇一二三四五六七八九",o);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 Ts(A,"子丑寅卯辰巳午未申酉戌亥",o);case 16:return Ts(A,"甲乙丙丁戊己庚辛壬癸",o);case 17:case 48:return Vs(A,"零一二三四五六七八九",Ns,"負",o,Rs|Ps|Os);case 47:return Vs(A,"零壹貳參肆伍陸柒捌玖",Gs,"負",o,ks|Rs|Ps|Os);case 42:return Vs(A,"零一二三四五六七八九",Ns,"负",o,Rs|Ps|Os);case 41:return Vs(A,"零壹贰叁肆伍陆柒捌玖",Gs,"负",o,ks|Rs|Ps|Os);case 26:return Vs(A,"〇一二三四五六七八九","十百千万",Ws,o,0);case 25:return Vs(A,"零壱弐参四伍六七八九","拾百千万",Ws,o,ks|Rs|Ps);case 31:return Vs(A,"영일이삼사오육칠팔구","십백천만",Xs,r,ks|Rs|Ps);case 33:return Vs(A,"零一二三四五六七八九","十百千萬",Xs,r,0);case 32:return Vs(A,"零壹貳參四五六七八九","拾百千",Xs,r,ks|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 Ts(A,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return Ts(A,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return Ks(A,3302,3311,!0,n);case 28:return Ts(A,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",o);case 29:return Ts(A,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",o);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)}},Ys="data-html2canvas-ignore",$s=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,r=js(A,e);if(!r.contentWindow)return Promise.reject("Unable to find iframe window");var i=A.defaultView.pageXOffset,s=A.defaultView.pageYOffset,a=r.contentWindow,c=a.document,l=qs(r).then(function(){return n(t,void 0,void 0,function(){var A,t;return o(this,function(n){switch(n.label){case 0:return this.scrolledElements.forEach(oa),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,zs(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 r})]:[2,r]}})})});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(yr(A,2),ms(A))return this.createCanvasClone(A);if(ps(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")),vs(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 o=A.getContext("2d"),r=n.getContext("2d");if(r)if(!this.options.allowTaint&&o)r.putImageData(o.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)}r.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(Ys)||"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,o=A.shadowRoot?A.shadowRoot.firstChild:A.firstChild;o;o=o.nextSibling)if(cs(o)&&Es(o)&&"function"==typeof o.assignedNodes){var r=o.assignedNodes();r.length&&r.forEach(function(A){return n.appendChildNode(e,A,t)})}else this.appendChildNode(e,o,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 o=t.getComputedStyle(A),r=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 mr(this.context,o)),a=this.resolvePseudoContent(A,n,r,Jr.BEFORE);vs(A)&&(e=!0),ps(A)||this.cloneChildNodes(A,n,e),a&&n.insertBefore(a,n.firstChild);var c=this.resolvePseudoContent(A,n,i,Jr.AFTER);return c&&n.appendChild(c),this.counters.pop(s),(o&&(this.options.copyStyles||us(A))&&!Qs(A)||e)&&ea(o,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 o=this;if(t){var r=t.content,i=e.ownerDocument;if(i&&r&&"none"!==r&&"-moz-alt-content"!==r&&"none"!==t.display){this.counters.parse(new mr(this.context,t));var s=new wr(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 r=e.values.filter(Tt),c=r[0],l=r[1];if(c&&Lt(c)){var u=o.counters.getCounterValue(c.value),g=l&&Lt(l)?bo.parse(o.context,l.value):3;a.appendChild(i.createTextNode(Js(u,g,!1)))}}else if("counters"===e.name){var h=e.values.filter(Tt),d=(c=h[0],h[1]);if(l=h[2],c&&Lt(c)){var B=o.counters.getCounterValues(c.value),f=l&&Lt(l)?bo.parse(o.context,l.value):3,w=d&&0===d.type?d.value:"",m=B.map(function(A){return Js(A,f,!1)}).join(w);a.appendChild(i.createTextNode(m))}}}else if(20===e.type)switch(e.value){case"open-quote":a.appendChild(i.createTextNode(ur(s.quotes,o.quoteDepth++,!0)));break;case"close-quote":a.appendChild(i.createTextNode(ur(s.quotes,--o.quoteDepth,!1)));break;default:a.appendChild(i.createTextNode(e.value))}}),a.className=sa+" "+aa;var c=n===Jr.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"}(Jr||(Jr={}));var Zs,js=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(Ys,"true"),A.body.appendChild(t),t},_s=function(A){return new Promise(function(e){A.complete?e():A.src?(A.onload=e,A.onerror=e):e()})},zs=function(A){return Promise.all([].slice.call(A.images,0).map(_s))},qs=function(A){return new Promise(function(e,t){var n=A.contentWindow;if(!n)return t("No window assigned for iframe");var o=n.document;n.onload=A.onload=function(){n.onload=A.onload=null;var t=setInterval(function(){o.body.childNodes.length>0&&"complete"===o.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)},oa=function(A){var e=A[0],t=A[1],n=A[2];e.scrollLeft=t,e.scrollTop=n},ra=":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+ra+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)}},ga=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}(),ha=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,r,i=this;return o(this,function(o){switch(o.label){case 0:return e=ga.isSameOrigin(A),t=!ma(A)&&!0===this._options.useCORS&&bi.SUPPORT_CORS_IMAGES&&!e,n=!ma(A)&&!e&&!Ca(A)&&"string"==typeof this._options.proxy&&bi.SUPPORT_CORS_XHR&&!t,e||!1!==this._options.allowTaint||ma(A)||Ca(A)||n||t?(r=A,n?[4,this.proxy(r)]:[3,2]):[2];case 1:r=o.sent(),o.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,(pa(r)||t)&&(n.crossOrigin="anonymous"),n.src=r,!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,o.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(o,r){var i=bi.SUPPORT_RESPONSE_TYPE?"blob":"text",s=new XMLHttpRequest;s.onload=function(){if(200===s.status)if("text"===i)o(s.response);else{var A=new FileReader;A.addEventListener("load",function(){return o(A.result)},!1),A.addEventListener("error",function(A){return r(A)},!1),A.readAsDataURL(s.response)}else r("Failed to proxy resource "+n+" with status code "+s.status)},s.onerror=r;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 r("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)},ma=function(A){return fa.test(A)},pa=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),o=Ua(this.startControl,this.endControl,e),r=Ua(this.endControl,this.end,e),i=Ua(n,o,e),s=Ua(o,r,e),a=Ua(i,s,e);return t?new A(this.start,n,i,a):new A(a,s,r,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},Ea=function(){function A(A){var e=A.styles,t=A.bounds,n=Xt(e.borderTopLeftRadius,t.width,t.height),o=n[0],r=n[1],i=Xt(e.borderTopRightRadius,t.width,t.height),s=i[0],a=i[1],c=Xt(e.borderBottomRightRadius,t.width,t.height),l=c[0],u=c[1],g=Xt(e.borderBottomLeftRadius,t.width,t.height),h=g[0],d=g[1],B=[];B.push((o+s)/t.width),B.push((h+l)/t.width),B.push((r+d)/t.height),B.push((a+u)/t.height);var f=Math.max.apply(Math,B);f>1&&(o/=f,r/=f,s/=f,a/=f,l/=f,u/=f,h/=f,d/=f);var w=t.width-s,m=t.height-u,p=t.width-l,C=t.height-d,Q=e.borderTopWidth,y=e.borderRightWidth,U=e.borderBottomWidth,F=e.borderLeftWidth,b=Jt(e.paddingTop,A.bounds.width),E=Jt(e.paddingRight,A.bounds.width),v=Jt(e.paddingBottom,A.bounds.width),H=Jt(e.paddingLeft,A.bounds.width);this.topLeftBorderDoubleOuterBox=o>0||r>0?va(t.left+F/3,t.top+Q/3,o-F/3,r-Q/3,Zs.TOP_LEFT):new ya(t.left+F/3,t.top+Q/3),this.topRightBorderDoubleOuterBox=o>0||r>0?va(t.left+w,t.top+Q/3,s-y/3,a-Q/3,Zs.TOP_RIGHT):new ya(t.left+t.width-y/3,t.top+Q/3),this.bottomRightBorderDoubleOuterBox=l>0||u>0?va(t.left+p,t.top+m,l-y/3,u-U/3,Zs.BOTTOM_RIGHT):new ya(t.left+t.width-y/3,t.top+t.height-U/3),this.bottomLeftBorderDoubleOuterBox=h>0||d>0?va(t.left+F/3,t.top+C,h-F/3,d-U/3,Zs.BOTTOM_LEFT):new ya(t.left+F/3,t.top+t.height-U/3),this.topLeftBorderDoubleInnerBox=o>0||r>0?va(t.left+2*F/3,t.top+2*Q/3,o-2*F/3,r-2*Q/3,Zs.TOP_LEFT):new ya(t.left+2*F/3,t.top+2*Q/3),this.topRightBorderDoubleInnerBox=o>0||r>0?va(t.left+w,t.top+2*Q/3,s-2*y/3,a-2*Q/3,Zs.TOP_RIGHT):new ya(t.left+t.width-2*y/3,t.top+2*Q/3),this.bottomRightBorderDoubleInnerBox=l>0||u>0?va(t.left+p,t.top+m,l-2*y/3,u-2*U/3,Zs.BOTTOM_RIGHT):new ya(t.left+t.width-2*y/3,t.top+t.height-2*U/3),this.bottomLeftBorderDoubleInnerBox=h>0||d>0?va(t.left+2*F/3,t.top+C,h-2*F/3,d-2*U/3,Zs.BOTTOM_LEFT):new ya(t.left+2*F/3,t.top+t.height-2*U/3),this.topLeftBorderStroke=o>0||r>0?va(t.left+F/2,t.top+Q/2,o-F/2,r-Q/2,Zs.TOP_LEFT):new ya(t.left+F/2,t.top+Q/2),this.topRightBorderStroke=o>0||r>0?va(t.left+w,t.top+Q/2,s-y/2,a-Q/2,Zs.TOP_RIGHT):new ya(t.left+t.width-y/2,t.top+Q/2),this.bottomRightBorderStroke=l>0||u>0?va(t.left+p,t.top+m,l-y/2,u-U/2,Zs.BOTTOM_RIGHT):new ya(t.left+t.width-y/2,t.top+t.height-U/2),this.bottomLeftBorderStroke=h>0||d>0?va(t.left+F/2,t.top+C,h-F/2,d-U/2,Zs.BOTTOM_LEFT):new ya(t.left+F/2,t.top+t.height-U/2),this.topLeftBorderBox=o>0||r>0?va(t.left,t.top,o,r,Zs.TOP_LEFT):new ya(t.left,t.top),this.topRightBorderBox=s>0||a>0?va(t.left+w,t.top,s,a,Zs.TOP_RIGHT):new ya(t.left+t.width,t.top),this.bottomRightBorderBox=l>0||u>0?va(t.left+p,t.top+m,l,u,Zs.BOTTOM_RIGHT):new ya(t.left+t.width,t.top+t.height),this.bottomLeftBorderBox=h>0||d>0?va(t.left,t.top+C,h,d,Zs.BOTTOM_LEFT):new ya(t.left,t.top+t.height),this.topLeftPaddingBox=o>0||r>0?va(t.left+F,t.top+Q,Math.max(0,o-F),Math.max(0,r-Q),Zs.TOP_LEFT):new ya(t.left+F,t.top+Q),this.topRightPaddingBox=s>0||a>0?va(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),Zs.TOP_RIGHT):new ya(t.left+t.width-y,t.top+Q),this.bottomRightPaddingBox=l>0||u>0?va(t.left+Math.min(p,t.width-F),t.top+Math.min(m,t.height-U),Math.max(0,l-y),Math.max(0,u-U),Zs.BOTTOM_RIGHT):new ya(t.left+t.width-y,t.top+t.height-U),this.bottomLeftPaddingBox=h>0||d>0?va(t.left+F,t.top+Math.min(C,t.height-U),Math.max(0,h-F),Math.max(0,d-U),Zs.BOTTOM_LEFT):new ya(t.left+F,t.top+t.height-U),this.topLeftContentBox=o>0||r>0?va(t.left+F+H,t.top+Q+b,Math.max(0,o-(F+H)),Math.max(0,r-(Q+b)),Zs.TOP_LEFT):new ya(t.left+F+H,t.top+Q+b),this.topRightContentBox=s>0||a>0?va(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),Zs.TOP_RIGHT):new ya(t.left+t.width-(y+E),t.top+Q+b),this.bottomRightContentBox=l>0||u>0?va(t.left+Math.min(p,t.width-(F+H)),t.top+Math.min(m,t.height+Q+b),Math.max(0,l-(y+E)),u-(U+v),Zs.BOTTOM_RIGHT):new ya(t.left+t.width-(y+E),t.top+t.height-(U+v)),this.bottomLeftContentBox=h>0||d>0?va(t.left+F+H,t.top+C,Math.max(0,h-(F+H)),d-(U+v),Zs.BOTTOM_LEFT):new ya(t.left+F+H,t.top+t.height-(U+v))}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"}(Zs||(Zs={}));var va=function(A,e,t,n,o){var r=(Math.sqrt(2)-1)/3*4,i=t*r,s=n*r,a=A+t,c=e+n;switch(o){case Zs.TOP_LEFT:return new Fa(new ya(A,c),new ya(A,c-s),new ya(a-i,e),new ya(a,e));case Zs.TOP_RIGHT:return new Fa(new ya(A,e),new ya(A+i,e),new ya(a,c-s),new ya(a,c));case Zs.BOTTOM_RIGHT:return new Fa(new ya(a,e),new ya(a,e+s),new ya(A+i,c),new ya(A,c));case Zs.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},Ta=function(A){return 2===A.type},ka=function(A,e){return A.length===e.length&&A.some(function(A,t){return A===e[t]})},Ra=function(A,e,t,n,o){return A.map(function(A,r){switch(r){case 0:return A.add(e,t);case 1:return A.add(e+n,t);case 2:return A.add(e+n,t+o);case 3:return A.add(e,t+o)}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 Ea(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,o=this.container.styles.transform;this.effects.push(new Sa(t,n,o))}if(0!==this.container.styles.overflowX){var r=Ha(this.curves),i=xa(this.curves);ka(r,i)?this.effects.push(new La(r,6)):(this.effects.push(new La(r,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 o=t.effects.filter(function(A){return!Ka(A)});if(e||0!==t.container.styles.position||!t.parent){if(n.unshift.apply(n,o),e=-1===[2,3].indexOf(t.container.styles.position),0!==t.container.styles.overflowX){var r=Ha(t.curves),i=xa(t.curves);ka(r,i)||n.unshift(new La(i,6))}}else n.unshift.apply(n,o);t=t.parent}return n.filter(function(e){return rr(e.target,A)})},A}(),Va=function(A,e,t,n){A.container.elements.forEach(function(o){var r=rr(o.flags,4),i=rr(o.flags,2),s=new Oa(o,A);rr(o.styles.display,2048)&&n.push(s);var a=rr(o.flags,8)?[]:n;if(r||i){var c=r||o.styles.isPositioned()?t:e,l=new Pa(s);if(o.styles.isPositioned()||o.styles.opacity<1||o.styles.isTransformed()){var u=o.styles.zIndex.order;if(u<0){var g=0;c.negativeZIndex.some(function(A,e){return u>A.element.container.styles.zIndex.order?(g=e,!1):g>0}),c.negativeZIndex.splice(g,0,l)}else if(u>0){var h=0;c.positiveZIndex.some(function(A,e){return u>=A.element.container.styles.zIndex.order?(h=e+1,!1):h>0}),c.positiveZIndex.splice(h,0,l)}else c.zeroOrAutoZIndexOrTransformedOrOpacity.push(l)}else o.styles.isFloating()?c.nonPositionedFloats.push(l):c.nonPositionedInlineLevel.push(l);Va(s,l,r?l:t,a)}else o.styles.isInlineLevel()?e.inlineLevel.push(s):e.nonInlineLevel.push(s),Va(s,e,t,a);rr(o.flags,8)&&Na(o,a)})},Na=function(A,e){for(var t=A instanceof Gi?A.start:1,n=A instanceof Gi&&A.reversed,o=0;o<e.length;o++){var r=e[o];r.container instanceof Ni&&"number"==typeof r.container.value&&0!==r.container.value&&(t=r.container.value),r.listValue=Js(t,r.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 Za(A.topLeftBorderBox,A.topLeftPaddingBox,A.topRightBorderBox,A.topRightPaddingBox);case 1:return Za(A.topRightBorderBox,A.topRightPaddingBox,A.bottomRightBorderBox,A.bottomRightPaddingBox);case 2:return Za(A.bottomRightBorderBox,A.bottomRightPaddingBox,A.bottomLeftBorderBox,A.bottomLeftPaddingBox);default:return Za(A.bottomLeftBorderBox,A.bottomLeftPaddingBox,A.topLeftBorderBox,A.topLeftPaddingBox)}},Xa=function(A,e){switch(e){case 0:return Za(A.topLeftBorderBox,A.topLeftBorderDoubleOuterBox,A.topRightBorderBox,A.topRightBorderDoubleOuterBox);case 1:return Za(A.topRightBorderBox,A.topRightBorderDoubleOuterBox,A.bottomRightBorderBox,A.bottomRightBorderDoubleOuterBox);case 2:return Za(A.bottomRightBorderBox,A.bottomRightBorderDoubleOuterBox,A.bottomLeftBorderBox,A.bottomLeftBorderDoubleOuterBox);default:return Za(A.bottomLeftBorderBox,A.bottomLeftBorderDoubleOuterBox,A.topLeftBorderBox,A.topLeftBorderDoubleOuterBox)}},Ja=function(A,e){switch(e){case 0:return Za(A.topLeftBorderDoubleInnerBox,A.topLeftPaddingBox,A.topRightBorderDoubleInnerBox,A.topRightPaddingBox);case 1:return Za(A.topRightBorderDoubleInnerBox,A.topRightPaddingBox,A.bottomRightBorderDoubleInnerBox,A.bottomRightPaddingBox);case 2:return Za(A.bottomRightBorderDoubleInnerBox,A.bottomRightPaddingBox,A.bottomLeftBorderDoubleInnerBox,A.bottomLeftPaddingBox);default:return Za(A.bottomLeftBorderDoubleInnerBox,A.bottomLeftPaddingBox,A.topLeftBorderDoubleInnerBox,A.topLeftPaddingBox)}},Ya=function(A,e){switch(e){case 0:return $a(A.topLeftBorderStroke,A.topRightBorderStroke);case 1:return $a(A.topRightBorderStroke,A.bottomRightBorderStroke);case 2:return $a(A.bottomRightBorderStroke,A.bottomLeftBorderStroke);default:return $a(A.bottomLeftBorderStroke,A.topLeftBorderStroke)}},$a=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},Za=function(A,e,t,n){var o=[];return ba(A)?o.push(A.subdivide(.5,!1)):o.push(A),ba(t)?o.push(t.subdivide(.5,!0)):o.push(t),ba(n)?o.push(n.subdivide(.5,!0).reverse()):o.push(n),ba(e)?o.push(e.subdivide(.5,!1).reverse()):o.push(e),o},ja=function(A){var e=A.bounds,t=A.styles;return e.add(t.borderLeftWidth,t.borderTopWidth,-(t.borderRightWidth+t.borderLeftWidth),-(t.borderTopWidth+t.borderBottomWidth))},_a=function(A){var e=A.styles,t=A.bounds,n=Jt(e.paddingLeft,t.width),o=Jt(e.paddingRight,t.width),r=Jt(e.paddingTop,t.width),i=Jt(e.paddingBottom,t.width);return t.add(n+e.borderLeftWidth,r+e.borderTopWidth,-(e.borderRightWidth+e.borderLeftWidth+n+o),-(e.borderTopWidth+e.borderBottomWidth+r+i))},za=function(A,e){return 0===A?e.bounds:2===A?_a(e):ja(e)},qa=function(A,e){return 0===A?e.bounds:2===A?_a(e):ja(e)},Ac=function(A,e,t){var n=za(oc(A.styles.backgroundOrigin,e),A),o=qa(oc(A.styles.backgroundClip,e),A),r=nc(oc(A.styles.backgroundSize,e),t,n),i=r[0],s=r[1],a=Xt(oc(A.styles.backgroundPosition,e),n.width-i,n.height-s);return[rc(oc(A.styles.backgroundRepeat,e),a,r,n,o),Math.round(n.left+a[0]),Math.round(n.top+a[1]),i,s]},ec=function(A){return Lt(A)&&A.value===Tn.AUTO},tc=function(A){return"number"==typeof A},nc=function(A,e,t){var n=e[0],o=e[1],r=e[2],i=A[0],s=A[1];if(!i)return[0,0];if(Ot(i)&&s&&Ot(s))return[Jt(i,t.width),Jt(s,t.height)];var a=tc(r);if(Lt(i)&&(i.value===Tn.CONTAIN||i.value===Tn.COVER))return tc(r)?t.width/t.height<r!=(i.value===Tn.COVER)?[t.width,t.width/r]:[t.height*r,t.height]:[t.width,t.height];var c=tc(n),l=tc(o),u=c||l;if(ec(i)&&(!s||ec(s)))return c&&l?[n,o]:a||u?u&&a?[c?n:o*r,l?o:n/r]:[c?n:t.width,l?o:t.height]:[t.width,t.height];if(a){var g=0,h=0;return Ot(i)?g=Jt(i,t.width):Ot(s)&&(h=Jt(s,t.height)),ec(i)?g=h*r:s&&!ec(s)||(h=g/r),[g,h]}var d=null,B=null;if(Ot(i)?d=Jt(i,t.width):s&&Ot(s)&&(B=Jt(s,t.height)),null===d||s&&!ec(s)||(B=c&&l?d/n*o:t.height),null!==B&&ec(i)&&(d=c&&l?B/o*n:t.width),null!==d&&null!==B)return[d,B];throw new Error("Unable to calculate background-size for element")},oc=function(A,e){var t=A[e];return void 0===t?A[0]:t},rc=function(A,e,t,n,o){var r=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+r),Math.round(n.top)),new ya(Math.round(n.left+r+s),Math.round(n.top)),new ya(Math.round(n.left+r+s),Math.round(n.height+n.top)),new ya(Math.round(n.left+r),Math.round(n.height+n.top))];case 1:return[new ya(Math.round(n.left+r),Math.round(n.top+i)),new ya(Math.round(n.left+r+s),Math.round(n.top+i)),new ya(Math.round(n.left+r+s),Math.round(n.top+i+a)),new ya(Math.round(n.left+r),Math.round(n.top+i+a))];default:return[new ya(Math.round(o.left),Math.round(o.top)),new ya(Math.round(o.left+o.width),Math.round(o.top)),new ya(Math.round(o.left+o.width),Math.round(o.height+o.top)),new ya(Math.round(o.left),Math.round(o.height+o.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"),o=this._document.createElement("span"),r=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",r.appendChild(t),n.src=ic,n.width=1,n.height=1,n.style.margin="0",n.style.padding="0",n.style.verticalAlign="baseline",o.style.fontFamily=A,o.style.fontSize=e,o.style.margin="0",o.style.padding="0",o.appendChild(this._document.createTextNode(sc)),t.appendChild(o),t.appendChild(n);var i=n.offsetTop-o.offsetTop+2;t.removeChild(o),t.appendChild(this._document.createTextNode(sc)),t.style.lineHeight="normal",n.style.verticalAlign="super";var s=n.offsetTop-t.offsetTop+2;return r.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(),Ta(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 o(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 o(this,function(e){switch(e.label){case 0:return rr(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,o){return n.ctx.fillText(o,e,A.bounds.top+t),e+n.ctx.measureText(o).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,r,i,s,a,c,l,u=this;return o(this,function(o){return t=this.createFontStyle(e),n=t[0],r=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(r,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=_a(A),o=xa(e);this.path(o),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,r,s,a,c,l,u,g,h,d,B,f,w,m,p,C,Q;return o(this,function(o){switch(o.label){case 0:this.applyEffects(A.getEffects(4)),e=A.container,n=A.curves,r=e.styles,s=0,a=e.textNodes,o.label=1;case 1:return s<a.length?(c=a[s],[4,this.renderTextNode(c,r)]):[3,4];case 2:o.sent(),o.label=3;case 3:return s++,[3,1];case 4:if(!(e instanceof Pi))return[3,8];o.label=5;case 5:return o.trys.push([5,7,,8]),[4,this.context.cache.match(e.src)];case 6:return m=o.sent(),this.renderReplacedElement(e,n,m),[3,8];case 7:return o.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];o.label=9;case 9:return o.trys.push([9,11,,12]),[4,this.context.cache.match(e.svg)];case 10:return m=o.sent(),this.renderReplacedElement(e,n,m),[3,12];case 11:return o.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=o.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),o.label=14;case 14:if(e instanceof zi&&(u=Math.min(e.bounds.width,e.bounds.height),e.type===$i?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(_i),this.ctx.fill(),this.ctx.restore()):e.type===Zi&&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(_i),this.ctx.fill(),this.ctx.restore())),gc(e)&&e.value.length){switch(g=this.createFontStyle(r),C=g[0],h=g[1],d=this.fontMetrics.getMetrics(C,h).baseline,this.ctx.font=C,this.ctx.fillStyle=nn(r.color),this.ctx.textBaseline="alphabetic",this.ctx.textAlign=dc(e.styles.textAlign),Q=_a(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 Ei(e.value,f),r.letterSpacing,d),this.ctx.restore(),this.ctx.textBaseline="alphabetic",this.ctx.textAlign="left"}if(!rr(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];m=void 0,p=w.url,o.label=15;case 15:return o.trys.push([15,17,,18]),[4,this.context.cache.match(p)];case 16:return m=o.sent(),this.ctx.drawImage(m,e.bounds.left-(m.width+10),e.bounds.top),[3,18];case 17:return o.sent(),this.context.logger.error("Error loading list-style-image "+p),[3,18];case 18:return[3,20];case 19:A.listValue&&-1!==e.styles.listStyleType&&(C=this.createFontStyle(r)[0],this.ctx.font=C,this.ctx.fillStyle=nn(r.color),this.ctx.textBaseline="middle",this.ctx.textAlign="right",Q=new i(e.bounds.left,e.bounds.top+Jt(e.styles.paddingTop,e.bounds.width),e.bounds.width,yo(r.lineHeight,r.fontSize.number)/2+1),this.renderTextWithLetterSpacing(new Ei(A.listValue,Q),r.letterSpacing,yo(r.lineHeight,r.fontSize.number)/2+2),this.ctx.textBaseline="bottom",this.ctx.textAlign="left"),o.label=20;case 20:return[2]}})})},t.prototype.renderStackContent=function(A){return n(this,void 0,void 0,function(){var e,t,n,r,i,s,a,c,l,u,g,h,d,B,f;return o(this,function(o){switch(o.label){case 0:return rr(A.element.container.flags,16),[4,this.renderNodeBackgroundAndBorders(A.element)];case 1:o.sent(),e=0,t=A.negativeZIndex,o.label=2;case 2:return e<t.length?(f=t[e],[4,this.renderStack(f)]):[3,5];case 3:o.sent(),o.label=4;case 4:return e++,[3,2];case 5:return[4,this.renderNodeContent(A.element)];case 6:o.sent(),n=0,r=A.nonInlineLevel,o.label=7;case 7:return n<r.length?(f=r[n],[4,this.renderNode(f)]):[3,10];case 8:o.sent(),o.label=9;case 9:return n++,[3,7];case 10:i=0,s=A.nonPositionedFloats,o.label=11;case 11:return i<s.length?(f=s[i],[4,this.renderStack(f)]):[3,14];case 12:o.sent(),o.label=13;case 13:return i++,[3,11];case 14:a=0,c=A.nonPositionedInlineLevel,o.label=15;case 15:return a<c.length?(f=c[a],[4,this.renderStack(f)]):[3,18];case 16:o.sent(),o.label=17;case 17:return a++,[3,15];case 18:l=0,u=A.inlineLevel,o.label=19;case 19:return l<u.length?(f=u[l],[4,this.renderNode(f)]):[3,22];case 20:o.sent(),o.label=21;case 21:return l++,[3,19];case 22:g=0,h=A.zeroOrAutoZIndexOrTransformedOrOpacity,o.label=23;case 23:return g<h.length?(f=h[g],[4,this.renderStack(f)]):[3,26];case 24:o.sent(),o.label=25;case 25:return g++,[3,23];case 26:d=0,B=A.positiveZIndex,o.label=27;case 27:return d<B.length?(f=B[d],[4,this.renderStack(f)]):[3,30];case 28:o.sent(),o.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 o=(null!==(n=this.canvas.ownerDocument)&&void 0!==n?n:document).createElement("canvas");return o.width=Math.max(1,e),o.height=Math.max(1,t),o.getContext("2d").drawImage(A,0,0,A.width,A.height,0,0,e,t),o},t.prototype.renderBackgroundImage=function(A){return n(this,void 0,void 0,function(){var e,t,n,r,i,s;return o(this,function(a){switch(a.label){case 0:e=A.styles.backgroundImage.length-1,t=function(t){var r,i,s,a,c,l,u,g,h,d,B,f,w,m,p,C,Q,y,U,F,b,E,v,H,I,x,S,L,M,D,K;return o(this,function(o){switch(o.label){case 0:if(0!==t.type)return[3,5];r=void 0,i=t.url,o.label=1;case 1:return o.trys.push([1,3,,4]),[4,n.context.cache.match(i)];case 2:return r=o.sent(),[3,4];case 3:return o.sent(),n.context.logger.error("Error loading background-image "+i),[3,4];case 4:return r&&(s=Ac(A,e,[r.width,r.height,r.width/r.height]),C=s[0],E=s[1],v=s[2],U=s[3],F=s[4],m=n.ctx.createPattern(n.resizeImage(r,U,F),"repeat"),n.renderRepeat(C,m,E,v)),[3,6];case 5:Ln(t)?(a=Ac(A,e,[null,null,null]),C=a[0],E=a[1],v=a[2],U=a[3],F=a[4],c=mn(t.angle,U,F),l=c[0],u=c[1],g=c[2],h=c[3],d=c[4],(B=document.createElement("canvas")).width=U,B.height=F,f=B.getContext("2d"),w=f.createLinearGradient(u,h,g,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&&(m=n.ctx.createPattern(B,"repeat"),n.renderRepeat(C,m,E,v))):Mn(t)&&(p=Ac(A,e,[null,null,null]),C=p[0],Q=p[1],y=p[2],U=p[3],F=p[4],b=0===t.position.length?[Gt]:t.position,E=Jt(b[0],U),v=Jt(b[b.length-1],F),H=Qn(t,E,v,U,F),I=H[0],x=H[1],I>0&&x>0&&(S=n.ctx.createRadialGradient(Q+E,y+v,0,Q+E,y+v,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())),o.label=6;case 6:return e--,[2]}})},n=this,r=0,i=A.styles.backgroundImage.slice(0).reverse(),a.label=1;case 1:return r<i.length?(s=i[r],[5,t(s)]):[3,4];case 2:a.sent(),a.label=3;case 3:return r++,[3,1];case 4:return[2]}})})},t.prototype.renderSolidBorder=function(A,e,t){return n(this,void 0,void 0,function(){return o(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,r){return n(this,void 0,void 0,function(){var n,i;return o(this,function(o){switch(o.label){case 0:return e<3?[4,this.renderSolidBorder(A,t,r)]:[3,2];case 1:return o.sent(),[2];case 2:return n=Xa(r,t),this.path(n),this.ctx.fillStyle=nn(A),this.ctx.fill(),i=Ja(r,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,r,i,s,a,c,l=this;return o(this,function(o){switch(o.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}],r=hc(oc(e.backgroundClip,0),A.curves),t||e.boxShadow.length?(this.ctx.save(),this.path(r),this.ctx.clip(),tn(e.backgroundColor)||(this.ctx.fillStyle=nn(e.backgroundColor),this.ctx.fill()),[4,this.renderBackgroundImage(A.container)]):[3,2];case 1:o.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,o=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(o)):(l.mask(t),l.ctx.clip(),l.path(o)),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()}),o.label=2;case 2:i=0,s=0,a=n,o.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 o.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 o.sent(),[3,11];case 7:return 4!==c.style?[3,9]:[4,this.renderDoubleBorder(c.color,c.width,i,A.curves)];case 8:return o.sent(),[3,11];case 9:return[4,this.renderSolidBorder(c.color,i,A.curves)];case 10:o.sent(),o.label=11;case 11:i++,o.label=12;case 12:return s++,[3,3];case 13:return[2]}})})},t.prototype.renderDashedDottedBorder=function(A,e,t,r,i){return n(this,void 0,void 0,function(){var n,s,a,c,l,u,g,h,d,B,f,w,m,p,C,Q;return o(this,function(o){return this.ctx.save(),n=Ya(r,t),s=Wa(r,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),g=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)),h=e<3?3*e:2*e,d=e<3?2*e:e,3===i&&(h=e,d=e),B=!0,g<=2*h?B=!1:g<=2*h+d?(h*=f=g/(2*h+d),d*=f):(w=Math.floor((g+d)/(h+d)),m=(g-w*h)/(w-1),d=(p=(g-(w+1)*h)/w)<=0||Math.abs(d-m)<Math.abs(d-p)?m:p),B&&(3===i?this.ctx.setLineDash([0,h+d]):this.ctx.setLineDash([h,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 o(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),gc=function(A){return A instanceof As||A instanceof qi||A instanceof zi&&A.type!==Zi&&A.type!==$i},hc=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 o(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,mc(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),mc=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))})},pc=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,r([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,r([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,r([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,r([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 pc({id:this.instanceName,enabled:e.logging}),this.cache=null!==(n=e.cache)&&void 0!==n?n:new ha(this,e)}return A.instanceCount=1,A}(),Qc=function(A,e){return void 0===e&&(e={}),yc(A,e)};"undefined"!=typeof window&&ga.setContext(window);var yc=function(A,e){return n(void 0,void 0,void 0,function(){var n,r,c,l,u,g,h,d,B,f,w,m,p,C,Q,y,U,F,b,E,v,H,I,x,S,L,M,D,K,T,k,R,P,O,V,N,G,W;return o(this,function(o){switch(o.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(!(r=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:r.innerWidth,windowHeight:null!==(M=e.windowHeight)&&void 0!==M?M:r.innerHeight,scrollX:null!==(D=e.scrollX)&&void 0!==D?D:r.pageXOffset,scrollY:null!==(K=e.scrollY)&&void 0!==K?K:r.pageYOffset},g=new i(u.scrollX,u.scrollY,u.windowWidth,u.windowHeight),h=new Cc(l,g),d=null!==(T=e.foreignObjectRendering)&&void 0!==T&&T,B={allowTaint:null!==(k=e.allowTaint)&&void 0!==k&&k,onclone:e.onclone,ignoreElements:e.ignoreElements,inlineImages:d,copyStyles:d},h.logger.debug("Starting document clone with size "+g.width+"x"+g.height+" scrolled to "+-g.left+","+-g.top),f=new $s(h,A,B),(w=f.clonedReferenceElement)?[4,f.toIFrame(n,g)]:[2,Promise.reject("Unable to find element in cloned iframe")];case 1:return m=o.sent(),p=ws(w)||Bs(w)?a(w.ownerDocument):s(h,w),C=p.width,Q=p.height,y=p.left,U=p.top,F=Uc(h,w,e.backgroundColor),b={canvas:e.canvas,backgroundColor:F,scale:null!==(P=null!==(R=e.scale)&&void 0!==R?R:r.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?(h.logger.debug("Document cloned, using foreign object rendering"),[4,new wc(h,b).render(w)]):[3,3];case 2:return E=o.sent(),[3,5];case 3:return h.logger.debug("Document cloned, element located at "+y+","+U+" with size "+C+"x"+Q+" using computed rendering"),h.logger.debug("Starting DOM parsing"),v=rs(h,w),F===v.styles.backgroundColor&&(v.styles.backgroundColor=gn.TRANSPARENT),h.logger.debug("Starting renderer for element at "+b.x+","+b.y+" with size "+b.width+"x"+b.height),[4,new uc(h,b).render(v)];case 4:E=o.sent(),o.label=5;case 5:return(null===(W=e.removeContainer)||void 0===W||W)&&($s.destroy(m)||h.logger.error("Cannot detach cloned iframe as it is not in the DOM anymore")),h.logger.debug("Finished rendering"),[2,E]}})})},Uc=function(A,e,t){var n=e.ownerDocument,o=n.documentElement?un(A,getComputedStyle(n.documentElement).backgroundColor):gn.TRANSPARENT,r=n.body?un(A,getComputedStyle(n.body).backgroundColor):gn.TRANSPARENT,i="string"==typeof t?un(A,t):null===t?gn.TRANSPARENT:4294967295;return e===n.documentElement?tn(o)?tn(r)?i:r:o:i};return Qc}()}(ut);var gt=lt(ut.exports);class ht{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,o=performance.now(),r=this.dataUrlToArrayBuffer(t),i=r.byteLength,s=performance.now()-o,a=performance.now(),c=this.buildBinaryConfig(this.currentBinaryConfig),l=c.byteLength,u=performance.now()-a,g=performance.now(),h=this.combineBinaryData(c,r),d=h.byteLength,B=performance.now()-g;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:h};this.sendToIframeCallback(n);const o=performance.now()-t,r=performance.now()-e,i=performance.now()-A;this.options.debug&&(console.log("📸 [轮询] ✅ 二进制数据已发送到 iframe"),console.log(` ⏱️ 发送回调耗时: ${o.toFixed(2)}ms`),console.log(` ⏱️ 发送阶段总耗时: ${r.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 o=performance.now();await new Promise(A=>requestAnimationFrame(()=>{requestAnimationFrame(()=>A())}));const r=performance.now()-o;this.options.debug&&console.log(` ⏱️ 等待渲染完成耗时: ${r.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 g=52428800;for(;this.screenshotHistory.length>0&&u>g;){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 h=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(` ⏱️ 截图总耗时: ${h.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 o={};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="),o.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 r=this.options.outputFormat||"png";let i;switch(r){case"jpeg":i=await at.toJpg(e,o);break;case"webp":i=await at.toWebp(e,o);break;default:i=await at.toPng(e,o)}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 截图成功!格式: ${r}, 尺寸: ${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 o=A.scrollWidth||A.clientWidth||A.offsetWidth,r=A.scrollHeight||A.clientHeight||A.offsetHeight;A!==document.body&&A!==document.documentElement||(o=Math.max(A.scrollWidth,A.offsetWidth,document.documentElement.scrollWidth,document.documentElement.offsetWidth,window.innerWidth),r=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],o=t.getPropertyValue(e),r=t.getPropertyPriority(e);o&&"none"!==o&&"auto"!==o&&"normal"!==o&&n.push(`${e}: ${o}${"important"===r?" !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 o=`${n}?${t.toString()}`;A.src=o,this.options.debug&&console.log(`📸 使用代理 URL 替换跨域图片: ${e.substring(0,50)}... -> ${o.substring(0,50)}...`)}catch(A){this.options.debug&&console.warn(`📸 ⚠️ 处理图片 URL 失败: ${e}`,A)}})}}this.options.debug&&(console.log(`📸 html2canvas 配置: 元素尺寸 ${o}x${r}, 质量 ${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(),o=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()}`,o=new AbortController,r=setTimeout(()=>o.abort(),this.options.imageLoadTimeout);try{const e={method:"GET",mode:"cors",credentials:"omit",headers:{Accept:"image/*"},cache:"no-cache",signal:o.signal};"priority"in e&&(e.priority=this.options.fetchPriority);const t=await fetch(n,e);if(clearTimeout(r),!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(r),A}}catch(e){return this.options.debug&&console.warn(`📸 代理处理图片失败: ${A.substring(0,100)}...`,e),A}},r=A.getBoundingClientRect();if(0===r.width||0===r.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:o,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 pA(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 o={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,o):"jpeg"===t?await pA(A,o):await CA(A,o),!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:r.width,height:r.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(),o=!(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&&(o?this.visibleElementsCache.add(A):this.visibleElementsCache.delete(A)),o}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:"),o=e.src.startsWith(window.location.origin),r=this.isElementVisible(e,A);return!t&&!n&&!o&&r});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 o=await fetch(n,{method:"GET",mode:"cors",credentials:"omit",headers:{Accept:"image/*"}});if(!o.ok){const A=await o.text().catch(()=>"");throw new Error(`代理请求失败: ${o.status} ${o.statusText}${A?` - ${A.substring(0,200)}`:""}`)}const r=await o.blob(),i=await this.blobToDataUrl(r);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(),o=t.size/1048576,r=this.options.maxImageSize||5;if(o>r){if(this.options.skipLargeImages)return this.options.debug&&console.warn(`📸 ⚠️ 跳过过大图片(实际大小 ${o.toFixed(2)}MB > ${r}MB): ${A.substring(0,100)}...`),"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==";this.options.debug&&console.warn(`📸 ⚠️ 图片较大(实际大小 ${o.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,o=setTimeout(()=>{t(new Error("图片转换超时"))},1e4);n.onload=()=>{clearTimeout(o),e(n.result)},n.onerror=A=>{clearTimeout(o),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,o=setInterval(()=>{t++;try{(A.cssRules||t>=n)&&(clearInterval(o),e())}catch{clearInterval(o),e()}},50);setTimeout(()=>{clearInterval(o),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 o=A,r=e;if(o>t||r>n){const A=t/o,e=n/r,i=Math.min(A,e);o=Math.round(o*i),r=Math.round(r*i)}return{width:o,height:r}}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(),o=t.__compressStartTime||e,r=t.__scheduleStartTime,i=e-o,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),o=(.75*A.compressedSize/1024).toFixed(2),r=A.compressionRatio||"0";console.log("📸 [Worker 压缩] ✅ 压缩完成"),console.log(` 原始大小: ${e} KB`),console.log(` 压缩后: ${o} KB`),console.log(` 压缩率: ${r}%`),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,r,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,o=new Uint8Array(n);for(let A=0;A<n;A++)o[A]=t.charCodeAt(A);return o.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,o=e.encode(A.topic),r=o.length,i=e.encode(A.routingKey.trim()),s=i.length,a=new ArrayBuffer(21+n+1+1+r+1+s),c=new DataView(a);let l=0;const u=String(A.sign),g=e.encode(u);new Uint8Array(a,l,20).set(g.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,r),l+=1;new Uint8Array(a,l,r).set(o),l+=r,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),o=new Uint8Array(n);return o.set(new Uint8Array(A),0),o.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,o=this.dataUrlToArrayBuffer(e),r=o.byteLength,i=this.arrayBufferToBase64(o),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, 大小 ${r} 字节`),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,o),u=l.byteLength;if(this.options.debug&&(console.log("📸 [大小统计]"),console.log(` Base64 大小: ${n} 字符`),console.log(` 图片字节大小: ${(r/1024).toFixed(2)} KB (${r} 字节)`),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 o=A.split(",")[1]||"",r=o.length;this.options.debug&&(console.log("📸 [发送前] Base64 信息:"),console.log(` Base64 长度: ${r} 字符`),console.log(" 📸 [发送前] 完整 Base64:"),console.log(o),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),g=u.byteLength,h=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 大小: ${r} 字符`),console.log(` 图片字节大小: ${(a/1024).toFixed(2)} KB (${a} 字节)`),console.log(` 配置字节大小: ${g} 字节`),console.log(` 拼接后总大小: ${(f/1024).toFixed(2)} KB (${f} 字节)`),console.log(` ⏱️ 数据转换耗时: ${c.toFixed(2)}ms`),console.log(` ⏱️ 构建配置耗时: ${h.toFixed(2)}ms`),console.log(` ⏱️ 合并数据耗时: ${w.toFixed(2)}ms`));const m=performance.now(),p={type:"screenshotBinary",data:B};this.sendToIframeCallback(p);const C=performance.now()-m,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]),o=n.length,r=new Uint8Array(o);for(let A=0;A<o;A++)r[A]=n.charCodeAt(A);return new Blob([r],{type:e})}case"arrayBuffer":return this.dataUrlToArrayBuffer(t);case"file":{const A=t.split(","),n=A[0].match(/:(.*?);/)?.[1]||"image/webp",o=atob(A[1]),r=o.length,i=new Uint8Array(r);for(let A=0;A<r;A++)i[A]=o.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,o]of A){if(e+n<=100)break;const A=.75*o.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 dt=function(){return dt=Object.assign||function(A){for(var e,t=1,n=arguments.length;t<n;t++)for(var o in e=arguments[t])Object.prototype.hasOwnProperty.call(e,o)&&(A[o]=e[o]);return A},dt.apply(this,arguments)};function Bt(A,e,t,n){return new(t||(t=Promise))(function(o,r){function i(A){try{a(n.next(A))}catch(A){r(A)}}function s(A){try{a(n.throw(A))}catch(A){r(A)}}function a(A){var e;A.done?o(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 ft(A,e){var t,n,o,r={label:0,sent:function(){if(1&o[0])throw o[1];return o[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]&&(r=0)),r;)try{if(t=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return r.label++,{value:s[1],done:!1};case 5:r.label++,n=s[1],s=[0];continue;case 7:s=r.ops.pop(),r.trys.pop();continue;default:if(!(o=r.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){r=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){r.label=s[1];break}if(6===s[0]&&r.label<o[1]){r.label=o[1],o=s;break}if(o&&r.label<o[2]){r.label=o[2],r.ops.push(s);break}o[2]&&r.ops.pop(),r.trys.pop();continue}s=e.call(A,r)}catch(A){s=[6,A],n=0}finally{t=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,a])}}}function wt(A,e,t){if(t||2===arguments.length)for(var n,o=0,r=e.length;o<r;o++)!n&&o in e||(n||(n=Array.prototype.slice.call(e,0,o)),n[o]=e[o]);return A.concat(n||Array.prototype.slice.call(e))}"function"==typeof SuppressedError&&SuppressedError;var mt="4.6.2";function pt(A,e){return new Promise(function(t){return setTimeout(t,A,e)})}function Ct(A){return!!A&&"function"==typeof A.then}function Qt(A,e){try{var t=A();Ct(t)?t.then(function(A){return e(!0,A)},function(A){return e(!1,A)}):e(!0,t)}catch(A){e(!1,A)}}function yt(A,e,t){return void 0===t&&(t=16),Bt(this,void 0,void 0,function(){var n,o,r,i;return ft(this,function(s){switch(s.label){case 0:n=Array(A.length),o=Date.now(),r=0,s.label=1;case 1:return r<A.length?(n[r]=e(A[r],r),(i=Date.now())>=o+t?(o=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++r,[3,1];case 4:return[2,n]}})})}function Ut(A){return A.then(void 0,function(){}),A}function Ft(A){return parseInt(A)}function bt(A){return parseFloat(A)}function Et(A,e){return"number"==typeof A&&isNaN(A)?e:A}function vt(A){return A.reduce(function(A,e){return A+(e?1:0)},0)}function Ht(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 It(A,e){var t=A[0]>>>16,n=65535&A[0],o=A[1]>>>16,r=65535&A[1],i=e[0]>>>16,s=65535&e[0],a=e[1]>>>16,c=0,l=0,u=0,g=0;u+=(g+=r+(65535&e[1]))>>>16,g&=65535,l+=(u+=o+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|g}function xt(A,e){var t=A[0]>>>16,n=65535&A[0],o=A[1]>>>16,r=65535&A[1],i=e[0]>>>16,s=65535&e[0],a=e[1]>>>16,c=65535&e[1],l=0,u=0,g=0,h=0;g+=(h+=r*c)>>>16,h&=65535,u+=(g+=o*c)>>>16,g&=65535,u+=(g+=r*a)>>>16,g&=65535,l+=(u+=n*c)>>>16,u&=65535,l+=(u+=o*a)>>>16,u&=65535,l+=(u+=r*s)>>>16,u&=65535,l+=t*c+n*a+o*s+r*i,l&=65535,A[0]=l<<16|u,A[1]=g<<16|h}function St(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 Lt(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 Dt=[4283543511,3981806797],Kt=[3301882366,444984403];function Tt(A){var e=[0,A[0]>>>1];Mt(A,e),xt(A,Dt),e[1]=A[0]>>>1,Mt(A,e),xt(A,Kt),e[1]=A[0]>>>1,Mt(A,e)}var kt=[2277735313,289559509],Rt=[1291169091,658871167],Pt=[0,5],Ot=[0,1390208809],Vt=[0,944331445];function Nt(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,o=[0,t.length],r=o[1]%16,i=o[1]-r,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,xt(c,kt),St(c,31),xt(c,Rt),Mt(s,c),St(s,27),It(s,a),xt(s,Pt),It(s,Ot),xt(l,Rt),St(l,33),xt(l,kt),Mt(a,l),St(a,31),It(a,s),xt(a,Pt),It(a,Vt);c[0]=0,c[1]=0,l[0]=0,l[1]=0;var u=[0,0];switch(r){case 15:u[1]=t[n+14],Lt(u,48),Mt(l,u);case 14:u[1]=t[n+13],Lt(u,40),Mt(l,u);case 13:u[1]=t[n+12],Lt(u,32),Mt(l,u);case 12:u[1]=t[n+11],Lt(u,24),Mt(l,u);case 11:u[1]=t[n+10],Lt(u,16),Mt(l,u);case 10:u[1]=t[n+9],Lt(u,8),Mt(l,u);case 9:u[1]=t[n+8],Mt(l,u),xt(l,Rt),St(l,33),xt(l,kt),Mt(a,l);case 8:u[1]=t[n+7],Lt(u,56),Mt(c,u);case 7:u[1]=t[n+6],Lt(u,48),Mt(c,u);case 6:u[1]=t[n+5],Lt(u,40),Mt(c,u);case 5:u[1]=t[n+4],Lt(u,32),Mt(c,u);case 4:u[1]=t[n+3],Lt(u,24),Mt(c,u);case 3:u[1]=t[n+2],Lt(u,16),Mt(c,u);case 2:u[1]=t[n+1],Lt(u,8),Mt(c,u);case 1:u[1]=t[n],Mt(c,u),xt(c,kt),St(c,31),xt(c,Rt),Mt(s,c)}return Mt(s,o),Mt(a,o),It(s,a),It(a,s),Tt(s),Tt(a),It(s,a),It(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 Gt(A,e,t,n){var o=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)}),r=Ut(yt(o,function(t){return function(A,e){var t=Ut(new Promise(function(t){var n=Date.now();Qt(A.bind(null,e),function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];var o=Date.now()-n;if(!A[0])return t(function(){return{error:A[1],duration:o}});var r=A[1];if(function(A){return"function"!=typeof A}(r))return t(function(){return{value:r,duration:o}});t(function(){return new Promise(function(A){var e=Date.now();Qt(r,function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=o+Date.now()-e;if(!t[0])return A({error:t[1],duration:r});A({value:t[1],duration:r})})})})})}));return function(){return t.then(function(A){return A()})}}(A[t],e)},n));return function(){return Bt(this,void 0,void 0,function(){var A,e,t,i;return ft(this,function(s){switch(s.label){case 0:return[4,r];case 1:return[4,yt(s.sent(),function(A){return Ut(A())},n)];case 2:return A=s.sent(),[4,Promise.all(A)];case 3:for(e=s.sent(),t={},i=0;i<o.length;++i)t[o[i]]=e[i];return[2,t]}})})}}function Wt(){var A=window,e=navigator;return vt(["MSCSSMatrix"in A,"msSetImmediate"in A,"msIndexedDB"in A,"msMaxTouchPoints"in e,"msPointerEnabled"in e])>=4}function Xt(){var A=window,e=navigator;return vt(["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 vt(["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 vt(["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 vt(["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 vt([!("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 _t(){var A=document;return(A.exitFullscreen||A.msExitFullscreen||A.mozCancelFullScreen||A.webkitExitFullscreen).call(A)}function zt(){var A=Xt(),e=Zt(),t=window,n=navigator,o="connection";return A?vt([!("SharedWorker"in t),n[o]&&"ontypechange"in n[o],!("sinkId"in new Audio)])>=2:!!e&&vt(["onorientationchange"in t,"orientation"in t,/android/i.test(n.appVersion)])>=2}function qt(A){var e=new Error(A);return e.name=A,e}function An(A,e,t){var n,o,r;return void 0===t&&(t=50),Bt(this,void 0,void 0,function(){var i,s;return ft(this,function(a){switch(a.label){case 0:i=document,a.label=1;case 1:return i.body?[3,3]:[4,pt(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,o=function(){n=!0,A()};s.onload=o,s.onerror=function(A){n=!0,t(A)};var r=s.style;r.setProperty("display","block","important"),r.position="absolute",r.top="0",r.left="0",r.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)?o():setTimeout(a,10))};a()})];case 5:a.sent(),a.label=6;case 6:return(null===(o=null===(n=s.contentWindow)||void 0===n?void 0:n.document)||void 0===o?void 0:o.body)?[3,8]:[4,pt(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===(r=s.parentNode)||void 0===r||r.removeChild(s),[7];case 11:return[2]}})})}function en(A){for(var e=function(A){for(var e,t,n="Unexpected syntax '".concat(A,"'"),o=/^\s*([a-z-]*)(.*)$/i.exec(A),r=o[1]||void 0,i={},s=/([.:#][\w-]+|\[.+?\])/gi,a=function(A,e){i[A]=i[A]||[],i[A].push(e)};;){var c=s.exec(o[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[r,i]}(A),t=e[0],n=e[1],o=document.createElement(null!=t?t:"div"),r=0,i=Object.keys(n);r<i.length;r++){var s=i[r],a=n[s].join(" ");"style"===s?tn(o.style,a):o.setAttribute(s,a)}return o}function tn(A,e){for(var t=0,n=e.split(";");t<n.length;t++){var o=n[t],r=/^\s*([\w-]+)\s*:\s*(.+?)(\s*!([\w-]+))?\s*$/.exec(o);if(r){var i=r[1],s=r[2],a=r[4];A.setProperty(i,s,a||"")}}}var nn=["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 rn(A){return A.toDataURL()}var sn,an;function cn(){var A=this;return function(){if(void 0===an){var A=function(){var e=ln();un(e)?an=setTimeout(A,2500):(sn=e,an=void 0)};A()}}(),function(){return Bt(A,void 0,void 0,function(){var A;return ft(this,function(e){switch(e.label){case 0:return un(A=ln())?sn?[2,wt([],sn,!0)]:(t=document).fullscreenElement||t.msFullscreenElement||t.mozFullScreenElement||t.webkitFullscreenElement?[4,_t()]:[3,2]:[3,2];case 1:e.sent(),A=ln(),e.label=2;case 2:return un(A)||(sn=A),[2,A]}var t})})}}function ln(){var A=screen;return[Et(bt(A.availTop),null),Et(bt(A.width)-bt(A.availWidth)-Et(bt(A.availLeft),0),null),Et(bt(A.height)-bt(A.availHeight)-Et(bt(A.availTop),0),null),Et(bt(A.availLeft),null)]}function un(A){for(var e=0;e<4;++e)if(A[e])return!1;return!0}function gn(A){var e;return Bt(this,void 0,void 0,function(){var t,n,o,r,i,s,a;return ft(this,function(c){switch(c.label){case 0:for(t=document,n=t.createElement("div"),o=new Array(A.length),r={},hn(n),a=0;a<A.length;++a)"DIALOG"===(i=en(A[a])).tagName&&i.show(),hn(s=t.createElement("div")),s.appendChild(i),n.appendChild(s),o[a]=i;c.label=1;case 1:return t.body?[3,3]:[4,pt(50)];case 2:return c.sent(),[3,1];case 3:t.body.appendChild(n);try{for(a=0;a<A.length;++a)o[a].offsetParent||(r[A[a]]=!0)}finally{null===(e=n.parentNode)||void 0===e||e.removeChild(n)}return[2,r]}})})}function hn(A){A.style.setProperty("visibility","hidden","important"),A.style.setProperty("display","block","important")}function dn(A){return matchMedia("(inverted-colors: ".concat(A,")")).matches}function Bn(A){return matchMedia("(forced-colors: ".concat(A,")")).matches}function fn(A){return matchMedia("(prefers-contrast: ".concat(A,")")).matches}function wn(A){return matchMedia("(prefers-reduced-motion: ".concat(A,")")).matches}function mn(A){return matchMedia("(prefers-reduced-transparency: ".concat(A,")")).matches}function pn(A){return matchMedia("(dynamic-range: ".concat(A,")")).matches}var Cn=Math,Qn=function(){return 0};var yn={default:[],apple:[{font:"-apple-system-body"}],serif:[{fontFamily:"serif"}],sans:[{fontFamily:"sans-serif"}],mono:[{fontFamily:"monospace"}],min:[{fontSize:"1px"}],system:[{fontFamily:"system-ui"}]};var Un=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 Fn=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]),bn=new Set([34047,35723,36063,34852,34853,34854,34229,36392,36795,38449]),En=["FRAGMENT_SHADER","VERTEX_SHADER"],vn=["LOW_FLOAT","MEDIUM_FLOAT","HIGH_FLOAT","LOW_INT","MEDIUM_INT","HIGH_INT"],Hn="WEBGL_debug_renderer_info";function In(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,o=["webgl","experimental-webgl"];n<o.length;n++){var r=o[n];try{e=t.getContext(r)}catch(A){}if(e)break}return A.webgl={context:e},e}function xn(A,e,t){var n=A.getShaderPrecisionFormat(A[e],A[t]);return n?[n.rangeMin,n.rangeMax,n.precision]:[]}function Sn(A){return Object.keys(A.__proto__).filter(Ln)}function Ln(A){return"string"==typeof A&&!A.match(/[^A-Z0-9_x]/)}function Mn(){return Zt()}function Dn(){return Xt()||Jt()}function Kn(A){return"function"==typeof A.getParameter}var Tn={fonts:function(){var A=this;return An(function(e,t){var n=t.document;return Bt(A,void 0,void 0,function(){var A,e,t,o,r,i,s,a,c,l,u;return ft(this,function(g){for((A=n.body).style.fontSize="48px",(e=n.createElement("div")).style.setProperty("visibility","hidden","important"),t={},o={},r=function(A){var t=n.createElement("span"),o=t.style;return o.position="absolute",o.top="0",o.left="0",o.fontFamily=A,t.textContent="mmMwWLliI0O&1",e.appendChild(t),t},i=function(A,e){return r("'".concat(A,"',").concat(e))},s=function(){for(var A={},e=function(e){A[e]=nn.map(function(A){return i(e,A)})},t=0,n=on;t<n.length;t++){e(n[t])}return A},a=function(A){return nn.some(function(e,n){return A[n].offsetWidth!==t[e]||A[n].offsetHeight!==o[e]})},c=function(){return nn.map(r)}(),l=s(),A.appendChild(e),u=0;u<nn.length;u++)t[nn[u]]=c[u].offsetWidth,o[nn[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 Bt(this,void 0,void 0,function(){var A,t,n,o,r;return ft(this,function(i){switch(i.label){case 0:return Jt()||zt()?(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((r=[]).concat.apply(r,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,o=Object.keys(A);n<o.length;n++){var r=o[n];t+="\n".concat(r,":");for(var i=0,s=A[r];i<s.length;i++){var a=s[i];t+="\n ".concat(e[a]?"🚫":"➡️"," ").concat(a)}}console.log("".concat(t,"\n```"))}(A,n),(o=t.filter(function(e){var t=A[e];return vt(t.map(function(A){return n[A]}))>.6*t.length})).sort(),[2,o]}var s})})},fontPreferences:function(){return function(A,e){void 0===e&&(e=4e3);return An(function(t,n){var o=n.document,r=o.body,i=r.style;i.width="".concat(e,"px"),i.webkitTextSizeAdjust=i.textSizeAdjust="none",Xt()?r.style.zoom="".concat(1/n.devicePixelRatio):Jt()&&(r.style.zoom="reset");var s=o.createElement("div");return s.textContent=wt([],Array(e/20|0),!0).map(function(){return"word"}).join(" "),r.appendChild(s),A(o,r)},'<!doctype html><html><head><meta name="viewport" content="width=device-width, initial-scale=1">')}(function(A,e){for(var t={},n={},o=0,r=Object.keys(yn);o<r.length;o++){var i=r[o],s=yn[i],a=s[0],c=void 0===a?{}:a,l=s[1],u=void 0===l?"mmMwWLliI0fiflO&1":l,g=A.createElement("span");g.textContent=u,g.style.whiteSpace="nowrap";for(var h=0,d=Object.keys(c);h<d.length;h++){var B=d[h],f=c[B];void 0!==f&&(g.style[B]=f)}t[i]=g,e.append(A.createElement("br"),g)}for(var w=0,m=Object.keys(yn);w<m.length;w++){n[i=m[w]]=t[i].getBoundingClientRect().width}return n})},audio:function(){return Jt()&&jt()&&$t()||Xt()&&(A=navigator,e=window,t=Audio.prototype,n=e.visualViewport,vt(["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 vt(["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 vt(["DOMRectList"in A,"RTCPeerConnectionIceEvent"in A,"SVGGeometryElement"in A,"ontransitioncancel"in A])>=3}())return-1;var t=4500,n=new e(1,5e3,44100),o=n.createOscillator();o.type="triangle",o.frequency.value=1e4;var r=n.createDynamicsCompressor();r.threshold.value=-50,r.knee.value=40,r.ratio.value=12,r.attack.value=0,r.release.value=.25,o.connect(r),r.connect(n.destination),o.start(0);var i=function(A){var e=3,t=500,n=500,o=5e3,r=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(qt("timeout"))},Math.min(n,l+o-Date.now()))},g=function(){try{var n=A.startRendering();switch(Ct(n)&&Ut(n),A.state){case"running":l=Date.now(),a&&u();break;case"suspended":document.hidden||c++,a&&c>=e?s(qt("suspended")):setTimeout(g,t)}}catch(A){s(A)}};g(),r=function(){a||(a=!0,l>0&&u())}});return[i,r]}(n),s=i[0],a=i[1],c=Ut(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()&&jt()&&$t())return function(){return Promise.resolve(void 0)};var e=cn();return function(){return Bt(A,void 0,void 0,function(){var A,t;return ft(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:Ht(A,10)})(A[0]),t(A[1]),t(A[2]),t(A[3])]]}})})}},canvas:function(){return function(A){var e,t,n,o=!1,r=function(){var A=document.createElement("canvas");return A.width=1,A.height=1,[A,A.getContext("2d")]}(),i=r[0],s=r[1];!function(A,e){return!(!e||!A.toDataURL)}(i,s)?t=n="unsupported":(o=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=rn(A),n=rn(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 o=n[t],r=o[0],i=o[1],s=o[2];e.fillStyle=r,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 o=rn(A);return[o,t]}(i,s),t=e[0],n=e[1]));return{winding:o,geometry:t,text:n}}(Jt()&&jt()&&$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()&&vt([!("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 o=e.languages;o&&t.push(o.split(","))}return t},colorDepth:function(){return window.screen.colorDepth},deviceMemory:function(){return Et(bt(navigator.deviceMemory),void 0)},screenResolution:function(){var A,e,t;if(!(Jt()&&jt()&&$t()))return A=screen,(t=[(e=function(A){return Et(Ft(A),null)})(A.width),e(A.height)]).sort().reverse(),t},hardwareConcurrency:function(){return Et(Ft(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,o=(n=(new Date).getFullYear(),-Math.max(bt(new Date(n,0,1).getTimezoneOffset()),bt(new Date(n,6,1).getTimezoneOffset())));return"UTC".concat(o>=0?"+":"").concat(o)},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(!(Wt()||(A=window,e=navigator,vt(["msWriteProfilerMark"in A,"MSStream"in A,"msLaunchUri"in e,"msSaveBlob"in e])>=3&&!Wt())))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 vt(["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 o=[],r=0;r<n.length;++r){var i=n[r];o.push({type:i.type,suffixes:i.suffixes})}e.push({name:n.name,description:n.description,mimeTypes:o})}}return e}},touchSupport:function(){var A,e=navigator,t=0;void 0!==e.maxTouchPoints?t=Ft(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],o=window[n];o&&"object"==typeof o&&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!!dn("inverted")||!dn("none")&&void 0},forcedColors:function(){return!!Bn("active")||!Bn("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 fn("no-preference")?0:fn("high")||fn("more")?1:fn("low")||fn("less")?-1:fn("forced")?10:void 0},reducedMotion:function(){return!!wn("reduce")||!wn("no-preference")&&void 0},reducedTransparency:function(){return!!mn("reduce")||!mn("no-preference")&&void 0},hdr:function(){return!!pn("high")||!pn("standard")&&void 0},math:function(){var A,e=Cn.acos||Qn,t=Cn.acosh||Qn,n=Cn.asin||Qn,o=Cn.asinh||Qn,r=Cn.atanh||Qn,i=Cn.atan||Qn,s=Cn.sin||Qn,a=Cn.sinh||Qn,c=Cn.cos||Qn,l=Cn.cosh||Qn,u=Cn.tan||Qn,g=Cn.tanh||Qn,h=Cn.exp||Qn,d=Cn.expm1||Qn,B=Cn.log1p||Qn;return{acos:e(.12312423423423424),acosh:t(1e308),acoshPf:(A=1e154,Cn.log(A+Cn.sqrt(A*A-1))),asin:n(.12312423423423424),asinh:o(1),asinhPf:function(A){return Cn.log(A+Cn.sqrt(A*A+1))}(1),atanh:r(.5),atanhPf:function(A){return Cn.log((1+A)/(1-A))/2}(.5),atan:i(.5),sin:s(-1e300),sinh:a(1),sinhPf:function(A){return Cn.exp(A)-1/Cn.exp(A)/2}(1),cos:c(10.000000000123),cosh:l(1),coshPf:function(A){return(Cn.exp(A)+1/Cn.exp(A))/2}(1),tan:u(-1e300),tanh:g(1),tanhPf:function(A){return(Cn.exp(2*A)-1)/(Cn.exp(2*A)+1)}(1),exp:h(1),expm1:d(1),expm1Pf:function(A){return Cn.exp(A)-1}(1),log1p:B(10),log1pPf:function(A){return Cn.log(1+A)}(10),powPI:function(A){return Cn.pow(Cn.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(Un())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(!(zt()||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,o,r,i,s=In(A.cache);if(!s)return-1;if(!Kn(s))return-2;var a=Mn()?null:s.getExtension(Hn);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===(o=s.getParameter(s.RENDERER))||void 0===o?void 0:o.toString())||"",rendererUnmasked:a?null===(r=s.getParameter(a.UNMASKED_RENDERER_WEBGL))||void 0===r?void 0:r.toString():"",shadingLanguageVersion:(null===(i=s.getParameter(s.SHADING_LANGUAGE_VERSION))||void 0===i?void 0:i.toString())||""}},webGlExtensions:function(A){var e=In(A.cache);if(!e)return-1;if(!Kn(e))return-2;var t=e.getSupportedExtensions(),n=e.getContextAttributes(),o=[],r=[],i=[],s=[],a=[];if(n)for(var c=0,l=Object.keys(n);c<l.length;c++){var u=l[c];r.push("".concat(u,"=").concat(n[u]))}for(var g=0,h=Sn(e);g<h.length;g++){var d=e[Q=h[g]];i.push("".concat(Q,"=").concat(d).concat(Fn.has(d)?"=".concat(e.getParameter(d)):""))}if(t)for(var B=0,f=t;B<f.length;B++){var w=f[B];if(!(w===Hn&&Mn()||"WEBGL_polygon_mode"===w&&Dn())){var m=e.getExtension(w);if(m)for(var p=0,C=Sn(m);p<C.length;p++){var Q;d=m[Q=C[p]];s.push("".concat(Q,"=").concat(d).concat(bn.has(d)?"=".concat(e.getParameter(d)):""))}else o.push(w)}}for(var y=0,U=En;y<U.length;y++)for(var F=U[y],b=0,E=vn;b<E.length;b++){var v=E[b],H=xn(e,F,v);a.push("".concat(F,".").concat(v,"=").concat(H.join(",")))}return s.sort(),i.sort(),{contextAttributes:r,parameters:i,shaderPrecisions:a,extensions:t,extensionParameters:s,unsupportedExtensions:o}}};function kn(A){var e=function(A){if(zt())return.4;if(Jt())return!Yt()||jt()&&$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 Ht(.99+.01*A,1e-4)}(e);return{score:e,comment:"$ if upgrade to Pro: https://fpjs.dev/pro".replace(/\$/g,"".concat(t))}}function Rn(A){return JSON.stringify(A,function(A,e){return e instanceof Error?dt({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 Pn(A){return Nt(function(A){for(var e="",t=0,n=Object.keys(A).sort();t<n.length;t++){var o=n[t],r=A[o],i="error"in r?"error":JSON.stringify(r.value);e+="".concat(e?"|":"").concat(o.replace(/([:|\\])/g,"\\$1"),":").concat(i)}return e}(A))}function On(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})}):pt(Math.min(A,e))}(A,2*A)}function Vn(A,e){var t=Date.now();return{get:function(n){return Bt(this,void 0,void 0,function(){var o,r,i;return ft(this,function(s){switch(s.label){case 0:return o=Date.now(),[4,A()];case 1:return r=s.sent(),i=function(A){var e,t=kn(A);return{get visitorId(){return void 0===e&&(e=Pn(this.components)),e},set visitorId(A){e=A},confidence:t,components:A,version:mt}}(r),(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(o-t,"\nvisitorId: ").concat(i.visitorId,"\ncomponents: ").concat(Rn(r),"\n```")),[2,i]}})})}}}var Nn={load:function(A){var e;return void 0===A&&(A={}),Bt(this,void 0,void 0,function(){var t,n,o;return ft(this,function(r){switch(r.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,On(t)];case 1:return r.sent(),o=function(A){return Gt(Tn,A,[])}({cache:{},debug:n}),[2,Vn(o,n)]}})})},hashComponents:Pn,componentsToDebugString:Rn};class Gn{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,o=!1){if(this.isInitializing)throw new Error("SDK is already initializing. Please wait for the current initialization to complete.");if(this.isInitialized&&!o){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&&o&&(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 o=await this.getDeviceId();this.debug&&console.log("Device ID:",o);const r=this.buildIframeUrl(A,o),i={deviceId:o,iframeUrl:r,referrer:A.referrer||document.referrer||document.location.href,agent:A.agent,timestamp:Date.now()},s=void 0!==n?.iconPosition?n.iconPosition:this.lastIconConfig?.position||void 0,a=void 0!==n?.target?n.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===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: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===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:s,target:a}),this.iframeManager=new t({src:r,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 ht(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=i,this.debug&&console.log("CustomerSDK initialized successfully (iframe pre-connected to SSE)"),i}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 Nn.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 o=!1;return n!==e&&(o="string"==typeof n&&"string"==typeof e?n!==e:(n instanceof HTMLElement&&HTMLElement,!0)),t||o}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",A.referrer||document.referrer),n.toString()}}let Wn=null;const Xn=async(A,e,t=!1)=>(Wn||(Wn=new Gn),await Wn.init(A,e,t)),Jn=()=>{if(!Wn)throw new Error("SDK not initialized. Call init() first.");return Wn},Yn=()=>{Jn().showIcon()},$n=()=>{Jn().hideIcon()},Zn=A=>{Jn().setIconPosition(A)},jn=A=>{Jn().setIconCoordinates(A)},_n=A=>{Jn().setIconStyle(A)},zn=()=>{Jn().openChat()},qn=()=>{Jn().closeChat()},Ao=()=>Jn().isChatOpen(),eo=A=>{Jn().sendToIframe(A)},to=()=>Jn().getConnectionStatus(),no=()=>Jn().getInitResult(),oo=(A=1,e={})=>{Jn().showNotification(A,e)},ro=()=>{Jn().clearNotification()},io=()=>{Jn().destroy(),Wn=null},so=A=>{Jn().setScreenshotTarget(A)},ao=async(A=!1)=>{const e=Jn();return await e.captureScreenshot(A)},co=A=>{Jn().enableScreenshot(A)},lo=()=>Jn().getScreenshotState(),uo=A=>{Jn().updateScreenshotOptions(A)},go=async(A,e)=>{const t=Jn();return await t.updateToken(A,e)};var ho={init:Xn,getInstance:Jn,getInitResult:no,showIcon:Yn,hideIcon:$n,setIconPosition:Zn,setIconCoordinates:jn,setIconStyle:_n,openChat:zn,closeChat:qn,isChatOpen:Ao,sendToIframe:eo,getConnectionStatus:to,showNotification:oo,clearNotification:ro,setScreenshotTarget:so,captureScreenshot:ao,enableScreenshot:co,getScreenshotState:lo,updateScreenshotOptions:uo,updateToken:go,destroy:io};A.CustomerServiceSDK=Gn,A.captureScreenshot=ao,A.clearNotification=ro,A.closeChat=qn,A.default=ho,A.destroy=io,A.enableScreenshot=co,A.getConnectionStatus=to,A.getInitResult=no,A.getInstance=Jn,A.getScreenshotState=lo,A.hideIcon=$n,A.init=Xn,A.isChatOpen=Ao,A.openChat=zn,A.sendToIframe=eo,A.setIconCoordinates=jn,A.setIconPosition=Zn,A.setIconStyle=_n,A.setScreenshotTarget=so,A.showIcon=Yn,A.showNotification=oo,A.updateScreenshotOptions=uo,A.updateToken=go,Object.defineProperty(A,"__esModule",{value:!0})});
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 o in e=arguments[t])Object.prototype.hasOwnProperty.call(e,o)&&(A[o]=e[o]);return A},t.apply(this,arguments)};function n(A,e,t,n){function o(A){return A instanceof t?A:new t(function(e){e(A)})}return new(t||(t=Promise))(function(e,t){function r(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):o(A.value).then(r,i)}s((n=n.apply(A,[])).next())})}function o(A,e){var t,n,o,r,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(A){return function(e){return a([A,e])}}function a(r){if(t)throw new TypeError("Generator is already executing.");for(;i;)try{if(t=1,n&&(o=2&r[0]?n.return:r[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,r[1])).done)return o;switch(n=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return i.label++,{value:r[1],done:!1};case 5:i.label++,n=r[1],r=[0];continue;case 7:r=i.ops.pop(),i.trys.pop();continue;default:if(!((o=(o=i.trys).length>0&&o[o.length-1])||6!==r[0]&&2!==r[0])){i=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]<o[3])){i.label=r[1];break}if(6===r[0]&&i.label<o[1]){i.label=o[1],o=r;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(r);break}o[2]&&i.ops.pop(),i.trys.pop();continue}r=e.call(A,i)}catch(A){r=[6,A],n=0}finally{t=o=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}}function r(A,e,t){if(2===arguments.length)for(var n,o=0,r=e.length;o<r;o++)!n&&o in e||(n||(n=Array.prototype.slice.call(e,0,o)),n[o]=e[o]);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,o){return new A(this.left+e,this.top+t,this.width+n,this.height+o)},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)),o=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,o)},c=function(A){for(var e=[],t=0,n=A.length;t<n;){var o=A.charCodeAt(t++);if(o>=55296&&o<=56319&&t<n){var r=A.charCodeAt(t++);56320==(64512&r)?e.push(((1023&o)<<10)+(1023&r)+65536):(e.push(o),t--)}else e.push(o)}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=[],o=-1,r="";++o<t;){var i=A[o];i<=65535?n.push(i):(i-=65536,n.push(55296+(i>>10),i%1024+56320)),(o+1===t||n.length>16384)&&(r+=String.fromCharCode.apply(String,n),n.length=0)}return r},u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",g="undefined"==typeof Uint8Array?[]:new Uint8Array(256),h=0;h<u.length;h++)g[u.charCodeAt(h)]=h;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,o,r,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)],o=B[A.charCodeAt(e+2)],r=B[A.charCodeAt(e+3)],l[a++]=t<<2|n>>4,l[a++]=(15&n)<<4|o>>2,l[a++]=(3&o)<<6|63&r;return c},m=function(A){for(var e=A.length,t=[],n=0;n<e;n+=2)t.push(A[n+1]<<8|A[n]);return t},p=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,E=65536>>Q,v=(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)?p(t):new Uint32Array(t),o=Array.isArray(t)?m(t):new Uint16Array(t),r=24,i=H(o,r/2,n[4]/2),s=2===n[5]?H(o,(r+n[4])/2):I(n,Math.ceil((r+n[4])/4));return new S(n[0],n[1],n[2],n[3],i,s)},S=function(){function A(A,e,t,n,o,r){this.initialValue=A,this.errorValue=e,this.highStart=t,this.highValueIndex=n,this.index=o,this.data=r}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-E+(A>>Q),e=this.index[e],e+=A>>C&v,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,T=1,k=2,R=3,P=4,O=5,V=7,N=8,G=9,W=10,X=11,J=12,Y=13,$=14,Z=15,j=16,_=17,z=18,q=19,AA=20,eA=21,tA=22,nA=23,oA=24,rA=25,iA=26,sA=27,aA=28,cA=29,lA=30,uA=31,gA=32,hA=33,dA=34,BA=35,fA=36,wA=37,mA=38,pA=39,CA=40,QA=41,yA=42,UA=43,FA=[9001,65288],bA="!",EA="×",vA="÷",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=[T,k,R,O],SA=[W,N],LA=[sA,iA],MA=xA.concat(SA),DA=[mA,pA,CA,dA,BA],KA=[Z,Y],TA=function(A,e){void 0===e&&(e="strict");var t=[],n=[],o=[];return A.forEach(function(A,r){var i=HA.get(A);if(i>K?(o.push(!0),i-=K):o.push(!1),-1!==["normal","auto","loose"].indexOf(e)&&-1!==[8208,8211,12316,12448].indexOf(A))return n.push(r),t.push(j);if(i===P||i===X){if(0===r)return n.push(r),t.push(lA);var s=t[r-1];return-1===MA.indexOf(s)?(n.push(n[r-1]),t.push(s)):(n.push(r),t.push(lA))}return n.push(r),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,o]},kA=function(A,e,t,n){var o=n[t];if(Array.isArray(A)?-1!==A.indexOf(o):A===o)for(var r=t;r<=n.length;){if((a=n[++r])===e)return!0;if(a!==W)break}if(o===W)for(r=t;r>0;){var i=n[--r];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,o){if(0===t[n])return EA;var r=n-1;if(Array.isArray(o)&&!0===o[r])return EA;var i=r-1,s=r+1,a=e[r],c=i>=0?e[i]:0,l=e[s];if(a===k&&l===R)return EA;if(-1!==xA.indexOf(a))return bA;if(-1!==xA.indexOf(l))return EA;if(-1!==SA.indexOf(l))return EA;if(RA(r,e)===N)return vA;if(HA.get(A[r])===X)return EA;if((a===gA||a===hA)&&HA.get(A[s])===X)return EA;if(a===V||l===V)return EA;if(a===G)return EA;if(-1===[W,Y,Z].indexOf(a)&&l===G)return EA;if(-1!==[_,z,q,oA,aA].indexOf(l))return EA;if(RA(r,e)===tA)return EA;if(kA(nA,tA,r,e))return EA;if(kA([_,z],eA,r,e))return EA;if(kA(J,J,r,e))return EA;if(a===W)return vA;if(a===nA||l===nA)return EA;if(l===j||a===j)return vA;if(-1!==[Y,Z,eA].indexOf(l)||a===$)return EA;if(c===fA&&-1!==KA.indexOf(a))return EA;if(a===aA&&l===fA)return EA;if(l===AA)return EA;if(-1!==IA.indexOf(l)&&a===rA||-1!==IA.indexOf(a)&&l===rA)return EA;if(a===sA&&-1!==[wA,gA,hA].indexOf(l)||-1!==[wA,gA,hA].indexOf(a)&&l===iA)return EA;if(-1!==IA.indexOf(a)&&-1!==LA.indexOf(l)||-1!==LA.indexOf(a)&&-1!==IA.indexOf(l))return EA;if(-1!==[sA,iA].indexOf(a)&&(l===rA||-1!==[tA,Z].indexOf(l)&&e[s+1]===rA)||-1!==[tA,Z].indexOf(a)&&l===rA||a===rA&&-1!==[rA,aA,oA].indexOf(l))return EA;if(-1!==[rA,aA,oA,_,z].indexOf(l))for(var u=r;u>=0;){if((g=e[u])===rA)return EA;if(-1===[aA,oA].indexOf(g))break;u--}if(-1!==[sA,iA].indexOf(l))for(u=-1!==[_,z].indexOf(a)?i:r;u>=0;){var g;if((g=e[u])===rA)return EA;if(-1===[aA,oA].indexOf(g))break;u--}if(mA===a&&-1!==[mA,pA,dA,BA].indexOf(l)||-1!==[pA,dA].indexOf(a)&&-1!==[pA,CA].indexOf(l)||-1!==[CA,BA].indexOf(a)&&l===CA)return EA;if(-1!==DA.indexOf(a)&&-1!==[AA,iA].indexOf(l)||-1!==DA.indexOf(l)&&a===sA)return EA;if(-1!==IA.indexOf(a)&&-1!==IA.indexOf(l))return EA;if(a===oA&&-1!==IA.indexOf(l))return EA;if(-1!==IA.concat(rA).indexOf(a)&&l===tA&&-1===FA.indexOf(A[s])||-1!==IA.concat(rA).indexOf(l)&&a===z)return EA;if(a===QA&&l===QA){for(var h=t[r],d=1;h>0&&e[--h]===QA;)d++;if(d%2!=0)return EA}return a===gA&&l===hA?EA:vA},OA=function(A,e){e||(e={lineBreak:"normal",wordBreak:"normal"});var t=TA(A,e.lineBreak),n=t[0],o=t[1],r=t[2];"break-all"!==e.wordBreak&&"break-word"!==e.wordBreak||(o=o.map(function(A){return-1!==[rA,lA,yA].indexOf(A)?wA:A}));var i="keep-all"===e.wordBreak?r.map(function(e,t){return e&&A[t]>=19968&&A[t]<=40959}):void 0;return[n,o,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),o=n[0],r=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=EA;l<s&&(A=PA(t,r,o,++l,i))===EA;);if(A!==EA||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,XA=4,JA=8,YA=10,$A=47,ZA=92,jA=9,_A=32,zA=34,qA=61,Ae=35,ee=36,te=37,ne=39,oe=40,re=41,ie=95,se=45,ae=33,ce=60,le=62,ue=64,ge=91,he=93,de=61,Be=123,fe=63,we=125,me=124,pe=126,Ce=128,Qe=65533,ye=42,Ue=43,Fe=44,be=58,Ee=59,ve=46,He=0,Ie=8,xe=11,Se=14,Le=31,Me=127,De=-1,Ke=48,Te=97,ke=101,Re=102,Pe=117,Oe=122,Ve=65,Ne=69,Ge=70,We=85,Xe=90,Je=function(A){return A>=Ke&&A<=57},Ye=function(A){return A>=55296&&A<=57343},$e=function(A){return Je(A)||A>=Ve&&A<=Ge||A>=Te&&A<=Re},Ze=function(A){return A>=Te&&A<=Oe},je=function(A){return A>=Ve&&A<=Xe},_e=function(A){return Ze(A)||je(A)},ze=function(A){return A>=Ce},qe=function(A){return A===YA||A===jA||A===_A},At=function(A){return _e(A)||ze(A)||A===ie},et=function(A){return At(A)||Je(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===ZA&&e!==YA},ot=function(A,e,t){return A===se?At(e)||nt(e,t):!!At(A)||!(A!==ZA||!nt(A,e))},rt=function(A,e,t){return A===Ue||A===se?!!Je(e)||e===ve&&Je(t):Je(A===ve?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=[];Je(A[e]);)n.push(A[e++]);var o=n.length?parseInt(l.apply(void 0,n),10):0;A[e]===ve&&e++;for(var r=[];Je(A[e]);)r.push(A[e++]);var i=r.length,s=i?parseInt(l.apply(void 0,r),10):0;A[e]!==Ne&&A[e]!==ke||e++;var a=1;A[e]!==Ue&&A[e]!==se||(A[e]===se&&(a=-1),e++);for(var c=[];Je(A[e]);)c.push(A[e++]);var u=c.length?parseInt(l.apply(void 0,c),10):0;return t*(o+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},gt={type:21},ht={type:9},dt={type:10},Bt={type:11},ft={type:12},wt={type:14},mt={type:23},pt={type:1},Ct={type:25},Qt={type:24},yt={type:26},Ut={type:27},Ft={type:28},bt={type:29},Et={type:31},vt={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!==vt;)A.push(e),e=this.consumeToken();return A},A.prototype.consumeToken=function(){var A=this.consumeCodePoint();switch(A){case zA:return this.consumeStringToken(zA);case Ae:var e=this.peekCodePoint(0),t=this.peekCodePoint(1),n=this.peekCodePoint(2);if(et(e)||nt(t,n)){var o=ot(e,t,n)?WA:GA;return{type:5,value:this.consumeName(),flags:o}}break;case ee:if(this.peekCodePoint(0)===qA)return this.consumeCodePoint(),lt;break;case ne:return this.consumeStringToken(ne);case oe:return st;case re:return at;case ye:if(this.peekCodePoint(0)===qA)return this.consumeCodePoint(),wt;break;case Ue:if(rt(A,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(A),this.consumeNumericToken();break;case Fe:return ct;case se:var r=A,i=this.peekCodePoint(0),s=this.peekCodePoint(1);if(rt(r,i,s))return this.reconsumeCodePoint(A),this.consumeNumericToken();if(ot(r,i,s))return this.reconsumeCodePoint(A),this.consumeIdentLikeToken();if(i===se&&s===le)return this.consumeCodePoint(),this.consumeCodePoint(),Qt;break;case ve:if(rt(A,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(A),this.consumeNumericToken();break;case $A:if(this.peekCodePoint(0)===ye)for(this.consumeCodePoint();;){var a=this.consumeCodePoint();if(a===ye&&(a=this.consumeCodePoint())===$A)return this.consumeToken();if(a===De)return this.consumeToken()}break;case be:return yt;case Ee: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),g=this.peekCodePoint(2);if(ot(c,u,g))return{type:7,value:this.consumeName()};break;case ge:return Ft;case ZA:if(nt(A,this.peekCodePoint(0)))return this.reconsumeCodePoint(A),this.consumeIdentLikeToken();break;case he: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 h=this.peekCodePoint(0),d=this.peekCodePoint(1);return h!==Ue||!$e(d)&&d!==fe||(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(A),this.consumeIdentLikeToken();case me:if(this.peekCodePoint(0)===qA)return this.consumeCodePoint(),ht;if(this.peekCodePoint(0)===me)return this.consumeCodePoint(),gt;break;case pe:if(this.peekCodePoint(0)===qA)return this.consumeCodePoint(),dt;break;case De:return vt}return qe(A)?(this.consumeWhiteSpace(),Et):Je(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();$e(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&&$e(this.peekCodePoint(1))){this.consumeCodePoint(),e=this.consumeCodePoint();for(var o=[];$e(e)&&o.length<6;)o.push(e),e=this.consumeCodePoint();return{type:30,start:n,end:parseInt(l.apply(void 0,o),16)}}return{type:30,start:n,end:n}},A.prototype.consumeIdentLikeToken=function(){var A=this.consumeName();return"url"===A.toLowerCase()&&this.peekCodePoint(0)===oe?(this.consumeCodePoint(),this.consumeUrlToken()):this.peekCodePoint(0)===oe?(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===zA){var t=this.consumeStringToken(this.consumeCodePoint());return 0===t.type&&(this.consumeWhiteSpace(),this.peekCodePoint(0)===De||this.peekCodePoint(0)===re)?(this.consumeCodePoint(),{type:22,value:t.value}):(this.consumeBadUrlRemnants(),mt)}for(;;){var n=this.consumeCodePoint();if(n===De||n===re)return{type:22,value:l.apply(void 0,A)};if(qe(n))return this.consumeWhiteSpace(),this.peekCodePoint(0)===De||this.peekCodePoint(0)===re?(this.consumeCodePoint(),{type:22,value:l.apply(void 0,A)}):(this.consumeBadUrlRemnants(),mt);if(n===zA||n===ne||n===oe||tt(n))return this.consumeBadUrlRemnants(),mt;if(n===ZA){if(!nt(n,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),mt;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===re||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===YA)return this._value.splice(0,t),pt;if(n===ZA){var o=this._value[t+1];o!==De&&void 0!==o&&(o===YA?(e+=this.consumeStringSlice(t),t=-1,this._value.shift()):nt(n,o)&&(e+=this.consumeStringSlice(t),e+=l(this.consumeEscapedCodePoint()),t=-1))}t++}},A.prototype.consumeNumber=function(){var A=[],e=XA,t=this.peekCodePoint(0);for(t!==Ue&&t!==se||A.push(this.consumeCodePoint());Je(this.peekCodePoint(0));)A.push(this.consumeCodePoint());t=this.peekCodePoint(0);var n=this.peekCodePoint(1);if(t===ve&&Je(n))for(A.push(this.consumeCodePoint(),this.consumeCodePoint()),e=JA;Je(this.peekCodePoint(0));)A.push(this.consumeCodePoint());t=this.peekCodePoint(0),n=this.peekCodePoint(1);var o=this.peekCodePoint(2);if((t===Ne||t===ke)&&((n===Ue||n===se)&&Je(o)||Je(n)))for(A.push(this.consumeCodePoint(),this.consumeCodePoint()),e=JA;Je(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),o=this.peekCodePoint(1),r=this.peekCodePoint(2);return ot(n,o,r)?{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($e(A)){for(var e=l(A);$e(this.peekCodePoint(0))&&e.length<6;)e+=l(this.consumeCodePoint());qe(this.peekCodePoint(0))&&this.consumeCodePoint();var t=parseInt(e,16);return 0===t||Ye(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?vt: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},Tt=function(A){return 31!==A.type&&4!==A.type},kt=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:XA},Gt={type:16,number:50,flags:XA},Wt={type:16,number:100,flags:XA},Xt=function(A,e,t){var n=A[0],o=A[1];return[Jt(n,e),Jt(void 0!==o?o:n,t)]},Jt=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},Yt="deg",$t="grad",Zt="rad",jt="turn",_t={name:"angle",parse:function(A,e){if(15===e.type)switch(e.unit){case Yt:return Math.PI*e.number/180;case $t:return Math.PI/200*e.number;case Zt:return e.number;case jt:return 2*Math.PI*e.number}throw new Error("Unsupported angle type")}},zt=function(A){return 15===A.type&&(A.unit===Yt||A.unit===$t||A.unit===Zt||A.unit===jt)},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),o=e.value.substring(1,2),r=e.value.substring(2,3);return on(parseInt(n+n,16),parseInt(o+o,16),parseInt(r+r,16),1)}if(4===e.value.length){n=e.value.substring(0,1),o=e.value.substring(1,2),r=e.value.substring(2,3);var i=e.value.substring(3,4);return on(parseInt(n+n,16),parseInt(o+o,16),parseInt(r+r,16),parseInt(i+i,16)/255)}if(6===e.value.length)return n=e.value.substring(0,2),o=e.value.substring(2,4),r=e.value.substring(4,6),on(parseInt(n,16),parseInt(o,16),parseInt(r,16),1);if(8===e.value.length)return n=e.value.substring(0,2),o=e.value.substring(2,4),r=e.value.substring(4,6),i=e.value.substring(6,8),on(parseInt(n,16),parseInt(o,16),parseInt(r,16),parseInt(i,16)/255)}if(20===e.type){var s=gn[e.value.toUpperCase()];if(void 0!==s)return s}return gn.TRANSPARENT}},tn=function(A){return!(255&A)},nn=function(A){var e=255&A,t=255&A>>8,n=255&A>>16,o=255&A>>24;return e<255?"rgba("+o+","+n+","+t+","+e/255+")":"rgb("+o+","+n+","+t+")"},on=function(A,e,t,n){return(A<<24|e<<16|t<<8|Math.round(255*n))>>>0},rn=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(Tt);if(3===t.length){var n=t.map(rn),o=n[0],r=n[1],i=n[2];return on(o,r,i,1)}if(4===t.length){var s=t.map(rn),a=(o=s[0],r=s[1],i=s[2],s[3]);return on(o,r,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(Tt),n=t[0],o=t[1],r=t[2],i=t[3],s=(17===n.type?An(n.number):_t.parse(A,n))/(2*Math.PI),a=Ot(o)?o.number/100:0,c=Ot(r)?r.number/100:0,l=void 0!==i&&Ot(i)?Jt(i,1):1;if(0===a)return on(255*c,255*c,255*c,1);var u=c<=.5?c*(a+1):c+a-c*a,g=2*c-u,h=an(g,u,s+1/3),d=an(g,u,s),B=an(g,u,s-1/3);return on(255*h,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())},gn={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},hn={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 o=[],r=0,i=0;i<A.length;i++){var s=A[i].stop;if(null!==s){var a=Jt(s,e);a>r?o.push(a):o.push(r),r=a}else o.push(null)}var c=null;for(i=0;i<o.length;i++){var l=o[i];if(null===l)null===c&&(c=i);else if(null!==c){for(var u=i-c,g=(l-o[c-1])/(u+1),h=1;h<=u;h++)o[c+h-1]=g*h;c=null}}return A.map(function(A,t){return{color:A.color,stop:Math.max(Math.min(1,o[t]/e),0)}})},wn=function(A,e,t){var n=e/2,o=t/2,r=Jt(A[0],e)-n,i=o-Jt(A[1],t);return(Math.atan2(i,r)+2*Math.PI)%(2*Math.PI)},mn=function(A,e,t){var n="number"==typeof A?A:wn(A,e,t),o=Math.abs(e*Math.sin(n))+Math.abs(t*Math.cos(n)),r=e/2,i=t/2,s=o/2,a=Math.sin(n-Math.PI/2)*s,c=Math.cos(n-Math.PI/2)*s;return[o,r-c,r+c,i-a,i+a]},pn=function(A,e){return Math.sqrt(A*A+e*e)},Cn=function(A,e,t,n,o){return[[0,0],[0,e],[A,0],[A,e]].reduce(function(A,e){var r=e[0],i=e[1],s=pn(t-r,n-i);return(o?s<A.optimumDistance:s>A.optimumDistance)?{optimumCorner:e,optimumDistance:s}:A},{optimumDistance:o?1/0:-1/0,optimumCorner:null}).optimumCorner},Qn=function(A,e,t,n,o){var r=0,i=0;switch(A.size){case 0:0===A.shape?r=i=Math.min(Math.abs(e),Math.abs(e-n),Math.abs(t),Math.abs(t-o)):1===A.shape&&(r=Math.min(Math.abs(e),Math.abs(e-n)),i=Math.min(Math.abs(t),Math.abs(t-o)));break;case 2:if(0===A.shape)r=i=Math.min(pn(e,t),pn(e,t-o),pn(e-n,t),pn(e-n,t-o));else if(1===A.shape){var s=Math.min(Math.abs(t),Math.abs(t-o))/Math.min(Math.abs(e),Math.abs(e-n)),a=Cn(n,o,e,t,!0),c=a[0],l=a[1];i=s*(r=pn(c-e,(l-t)/s))}break;case 1:0===A.shape?r=i=Math.max(Math.abs(e),Math.abs(e-n),Math.abs(t),Math.abs(t-o)):1===A.shape&&(r=Math.max(Math.abs(e),Math.abs(e-n)),i=Math.max(Math.abs(t),Math.abs(t-o)));break;case 3:if(0===A.shape)r=i=Math.max(pn(e,t),pn(e,t-o),pn(e-n,t),pn(e-n,t-o));else if(1===A.shape){s=Math.max(Math.abs(t),Math.abs(t-o))/Math.max(Math.abs(e),Math.abs(e-n));var u=Cn(n,o,e,t,!1);c=u[0],l=u[1],i=s*(r=pn(c-e,(l-t)/s))}}return Array.isArray(A.size)&&(r=Jt(A.size[0],n),i=2===A.size.length?Jt(A.size[1],o):r),[r,i]},yn=function(A,e){var t=An(180),n=[];return kt(e).forEach(function(e,o){if(0===o){var r=e[0];if(20===r.type&&-1!==["top","left","right","bottom"].indexOf(r.value))return void(t=qt(e));if(zt(r))return void(t=(_t.parse(A,r)+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",En="farthest-corner",vn="circle",Hn="ellipse",In="cover",xn="contain",Sn=function(A,e){var t=0,n=3,o=[],r=[];return kt(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 r.push(Gt),!1;case"top":case"left":return r.push(Nt),!1;case"right":case"bottom":return r.push(Wt),!1}else if(Ot(e)||Pt(e))return r.push(e),!1;return A},s):1===i&&(s=e.reduce(function(A,e){if(Lt(e))switch(e.value){case vn: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 En: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);o.push(a)}}),{size:n,shape:t,stops:o,position:r,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=kn[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&&!kn[A.name])}var Tn,kn={"linear-gradient":function(A,e){var t=An(180),n=[];return kt(e).forEach(function(e,o){if(0===o){var r=e[0];if(20===r.type&&"to"===r.value)return void(t=qt(e));if(zt(r))return void(t=_t.parse(A,r))}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,o=[],r=[];return kt(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 r.push(Gt),A;case"top":case"left":return r.push(Nt),A;case"right":case"bottom":return r.push(Wt),A}else(Ot(e)||Pt(e))&&r.push(e);else if(Lt(e))switch(e.value){case vn: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 En: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);o.push(c)}}),{size:n,shape:t,stops:o,position:r,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=[],o=1,r=0,i=3,s=[];return kt(e).forEach(function(e,t){var r=e[0];if(0===t){if(Lt(r)&&"linear"===r.value)return void(o=1);if(Lt(r)&&"radial"===r.value)return void(o=2)}if(18===r.type)if("from"===r.name){var i=en.parse(A,r.values[0]);n.push({stop:Nt,color:i})}else if("to"===r.name)i=en.parse(A,r.values[0]),n.push({stop:Wt,color:i});else if("color-stop"===r.name){var s=r.values.filter(Tt);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===o?{angle:(t+An(180))%An(360),stops:n,type:o}:{size:i,shape:r,stops:n,position:s,type:o}}},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 Tt(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 kt(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 kt(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"}(Tn||(Tn={}));var Gn,Wn={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(A,e){return kt(e).map(function(A){return A.filter(Xn)})}},Xn=function(A){return Lt(A)||Ot(A)},Jn=function(A){return{name:"border-"+A+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},Yn=Jn("top"),$n=Jn("right"),Zn=Jn("bottom"),jn=Jn("left"),_n=function(A){return{name:"border-radius-"+A,initialValue:"0 0",prefix:!1,type:1,parse:function(A,e){return Vt(e.filter(Ot))}}},zn=_n("top-left"),qn=_n("top-right"),Ao=_n("bottom-right"),eo=_n("bottom-left"),to=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}}},no=to("top"),oo=to("right"),ro=to("bottom"),io=to("left"),so=function(A){return{name:"border-"+A+"-width",initialValue:"0",type:0,prefix:!1,parse:function(A,e){return xt(e)?e.number:0}}},ao=so("top"),co=so("right"),lo=so("bottom"),uo=so("left"),go={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},ho={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(A,e){return"rtl"===e?1:0}},Bo={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(A,e){return e.filter(Lt).reduce(function(A,e){return A|fo(e.value)},0)}},fo=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},wo={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}},mo={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 po,Co={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(A,e){return"strict"===e?Gn.STRICT:Gn.NORMAL}},Qo={name:"line-height",initialValue:"normal",prefix:!1,type:4},yo=function(A,e){return Lt(A)&&"normal"===A.value?1.2*e:17===A.type?e*A.number:Ot(A)?Jt(A,e):e},Uo={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)}},Fo={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(A,e){return"inside"===e?0:1}},bo={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}}},Eo=function(A){return{name:"margin-"+A,initialValue:"0",prefix:!1,type:4}},vo=Eo("top"),Ho=Eo("right"),Io=Eo("bottom"),xo=Eo("left"),So={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}})}},Lo={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(A,e){return"break-word"===e?"break-word":"normal"}},Mo=function(A){return{name:"padding-"+A,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},Do=Mo("top"),Ko=Mo("right"),To=Mo("bottom"),ko=Mo("left"),Ro={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}}},Po={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}},Oo={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(A,e){return 1===e.length&&Dt(e[0],"none")?[]:kt(e).map(function(e){for(var t={color:gn.TRANSPARENT,offsetX:Nt,offsetY:Nt,blur:Nt},n=0,o=0;o<e.length;o++){var r=e[o];Pt(r)?(0===n?t.offsetX=r:1===n?t.offsetY=r:t.blur=r,n++):t.color=en.parse(A,r)}return t})}},Vo={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}},No={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=Go[e.name];if(void 0===t)throw new Error('Attempting to parse an unsupported transform function "'+e.name+'"');return t(e.values)}return null}},Go={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 o=e[4],r=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,o,r,i,s]:null}},Wo={type:16,number:50,flags:XA},Xo=[Wo,Wo],Jo={name:"transform-origin",initialValue:"50% 50%",prefix:!0,type:1,parse:function(A,e){var t=e.filter(Ot);return 2!==t.length?Xo:[t[0],t[1]]}},Yo={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"}(po||(po={}));for(var $o={name:"word-break",initialValue:"normal",prefix:!1,type:2,parse:function(A,e){switch(e){case"break-all":return po.BREAK_ALL;case"keep-all":return po.KEEP_ALL;default:return po.NORMAL}}},Zo={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")}},jo={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")}},_o={name:"opacity",initialValue:"1",type:0,prefix:!1,parse:function(A,e){return St(e)?e.number:1}},zo={name:"text-decoration-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},qo={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})}},Ar={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+"'"})}},er={name:"font-size",initialValue:"0",prefix:!1,type:3,format:"length"},tr={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}},nr={name:"font-variant",initialValue:"none",type:1,prefix:!1,parse:function(A,e){return e.filter(Lt).map(function(A){return A.value})}},or={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"}}},rr=function(A,e){return 0!==(A&e)},ir={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}},sr={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=[],o=e.filter(Kt),r=0;r<o.length;r++){var i=o[r],s=o[r+1];if(20===i.type){var a=s&&St(s)?s.number:1;n.push({counter:i.value,increment:a})}}return n}},ar={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),o=0;o<n.length;o++){var r=n[o],i=n[o+1];if(Lt(r)&&"none"!==r.value){var s=i&&St(i)?i.number:0;t.push({counter:r.value,reset:s})}}return t}},cr={name:"duration",initialValue:"0s",prefix:!1,type:1,parse:function(A,e){return e.filter(xt).map(function(e){return jo.parse(A,e)})}},lr={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=[],o=e.filter(Mt);if(o.length%2!=0)return null;for(var r=0;r<o.length;r+=2){var i=o[r].value,s=o[r+1].value;n.push({open:i,close:s})}return n}},ur=function(A,e,t){if(!A)return"";var n=A[Math.min(e,A.length-1)];return n?t?n.open:n.close:""},gr={name:"box-shadow",initialValue:"none",type:1,prefix:!1,parse:function(A,e){return 1===e.length&&Dt(e[0],"none")?[]:kt(e).map(function(e){for(var t={color:255,offsetX:Nt,offsetY:Nt,blur:Nt,spread:Nt,inset:!1},n=0,o=0;o<e.length;o++){var r=e[o];Dt(r,"inset")?t.inset=!0:Pt(r)?(0===n?t.offsetX=r:1===n?t.offsetY=r:2===n?t.blur=r:t.spread=r,n++):t.color=en.parse(A,r)}return t})}},hr={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}},dr={name:"-webkit-text-stroke-color",initialValue:"currentcolor",prefix:!1,type:3,format:"color"},Br={name:"-webkit-text-stroke-width",initialValue:"0",type:0,prefix:!1,parse:function(A,e){return xt(e)?e.number:0}},fr=function(){function A(A,e){var t,n;this.animationDuration=pr(A,cr,e.animationDuration),this.backgroundClip=pr(A,hn,e.backgroundClip),this.backgroundColor=pr(A,dn,e.backgroundColor),this.backgroundImage=pr(A,Rn,e.backgroundImage),this.backgroundOrigin=pr(A,Pn,e.backgroundOrigin),this.backgroundPosition=pr(A,On,e.backgroundPosition),this.backgroundRepeat=pr(A,Vn,e.backgroundRepeat),this.backgroundSize=pr(A,Wn,e.backgroundSize),this.borderTopColor=pr(A,Yn,e.borderTopColor),this.borderRightColor=pr(A,$n,e.borderRightColor),this.borderBottomColor=pr(A,Zn,e.borderBottomColor),this.borderLeftColor=pr(A,jn,e.borderLeftColor),this.borderTopLeftRadius=pr(A,zn,e.borderTopLeftRadius),this.borderTopRightRadius=pr(A,qn,e.borderTopRightRadius),this.borderBottomRightRadius=pr(A,Ao,e.borderBottomRightRadius),this.borderBottomLeftRadius=pr(A,eo,e.borderBottomLeftRadius),this.borderTopStyle=pr(A,no,e.borderTopStyle),this.borderRightStyle=pr(A,oo,e.borderRightStyle),this.borderBottomStyle=pr(A,ro,e.borderBottomStyle),this.borderLeftStyle=pr(A,io,e.borderLeftStyle),this.borderTopWidth=pr(A,ao,e.borderTopWidth),this.borderRightWidth=pr(A,co,e.borderRightWidth),this.borderBottomWidth=pr(A,lo,e.borderBottomWidth),this.borderLeftWidth=pr(A,uo,e.borderLeftWidth),this.boxShadow=pr(A,gr,e.boxShadow),this.color=pr(A,go,e.color),this.direction=pr(A,ho,e.direction),this.display=pr(A,Bo,e.display),this.float=pr(A,wo,e.cssFloat),this.fontFamily=pr(A,Ar,e.fontFamily),this.fontSize=pr(A,er,e.fontSize),this.fontStyle=pr(A,or,e.fontStyle),this.fontVariant=pr(A,nr,e.fontVariant),this.fontWeight=pr(A,tr,e.fontWeight),this.letterSpacing=pr(A,mo,e.letterSpacing),this.lineBreak=pr(A,Co,e.lineBreak),this.lineHeight=pr(A,Qo,e.lineHeight),this.listStyleImage=pr(A,Uo,e.listStyleImage),this.listStylePosition=pr(A,Fo,e.listStylePosition),this.listStyleType=pr(A,bo,e.listStyleType),this.marginTop=pr(A,vo,e.marginTop),this.marginRight=pr(A,Ho,e.marginRight),this.marginBottom=pr(A,Io,e.marginBottom),this.marginLeft=pr(A,xo,e.marginLeft),this.opacity=pr(A,_o,e.opacity);var o=pr(A,So,e.overflow);this.overflowX=o[0],this.overflowY=o[o.length>1?1:0],this.overflowWrap=pr(A,Lo,e.overflowWrap),this.paddingTop=pr(A,Do,e.paddingTop),this.paddingRight=pr(A,Ko,e.paddingRight),this.paddingBottom=pr(A,To,e.paddingBottom),this.paddingLeft=pr(A,ko,e.paddingLeft),this.paintOrder=pr(A,hr,e.paintOrder),this.position=pr(A,Po,e.position),this.textAlign=pr(A,Ro,e.textAlign),this.textDecorationColor=pr(A,zo,null!==(t=e.textDecorationColor)&&void 0!==t?t:e.color),this.textDecorationLine=pr(A,qo,null!==(n=e.textDecorationLine)&&void 0!==n?n:e.textDecoration),this.textShadow=pr(A,Oo,e.textShadow),this.textTransform=pr(A,Vo,e.textTransform),this.transform=pr(A,No,e.transform),this.transformOrigin=pr(A,Jo,e.transformOrigin),this.visibility=pr(A,Yo,e.visibility),this.webkitTextStrokeColor=pr(A,dr,e.webkitTextStrokeColor),this.webkitTextStrokeWidth=pr(A,Br,e.webkitTextStrokeWidth),this.wordBreak=pr(A,$o,e.wordBreak),this.zIndex=pr(A,Zo,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 rr(this.display,4)||rr(this.display,33554432)||rr(this.display,268435456)||rr(this.display,536870912)||rr(this.display,67108864)||rr(this.display,134217728)},A}(),wr=function(){function A(A,e){this.content=pr(A,ir,e.content),this.quotes=pr(A,lr,e.quotes)}return A}(),mr=function(){function A(A,e){this.counterIncrement=pr(A,sr,e.counterIncrement),this.counterReset=pr(A,ar,e.counterReset)}return A}(),pr=function(A,e,t){var n=new Ht,o=null!=t?t.toString():e.initialValue;n.write(o);var r=new It(n.read());switch(e.type){case 2:var i=r.parseComponentValue();return e.parse(A,Lt(i)?i.value:e.initialValue);case 0:return e.parse(A,r.parseComponentValue());case 1:return e.parse(A,r.parseComponentValues());case 4:return r.parseComponentValue();case 3:switch(e.format){case"angle":return _t.parse(A,r.parseComponentValue());case"color":return en.parse(A,r.parseComponentValue());case"image":return Dn.parse(A,r.parseComponentValue());case"length":var s=r.parseComponentValue();return Pt(s)?s:Nt;case"length-percentage":var a=r.parseComponentValue();return Ot(a)?a:Nt;case"time":return jo.parse(A,r.parseComponentValue())}}},Cr="data-html2canvas-debug",Qr=function(A){switch(A.getAttribute(Cr)){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}},yr=function(A,e){var t=Qr(A);return 1===t||e===t},Ur=function(){function A(A,e){this.context=A,this.textNodes=[],this.elements=[],this.flags=0,yr(e,3),this.styles=new fr(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),yr(e,4)&&(this.flags|=16)}return A}(),Fr="AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=",br="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Er="undefined"==typeof Uint8Array?[]:new Uint8Array(256),vr=0;vr<br.length;vr++)Er[br.charCodeAt(vr)]=vr;for(var Hr=function(A){var e,t,n,o,r,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=Er[A.charCodeAt(e)],n=Er[A.charCodeAt(e+1)],o=Er[A.charCodeAt(e+2)],r=Er[A.charCodeAt(e+3)],l[a++]=t<<2|n>>4,l[a++]=(15&n)<<4|o>>2,l[a++]=(3&o)<<6|63&r;return c},Ir=function(A){for(var e=A.length,t=[],n=0;n<e;n+=2)t.push(A[n+1]<<8|A[n]);return t},xr=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},Sr=5,Lr=11,Mr=2,Dr=65536>>Sr,Kr=(1<<Sr)-1,Tr=Dr+(1024>>Sr)+32,kr=65536>>Lr,Rr=(1<<Lr-Sr)-1,Pr=function(A,e,t){return A.slice?A.slice(e,t):new Uint16Array(Array.prototype.slice.call(A,e,t))},Or=function(A,e,t){return A.slice?A.slice(e,t):new Uint32Array(Array.prototype.slice.call(A,e,t))},Vr=function(A,e){var t=Hr(A),n=Array.isArray(t)?xr(t):new Uint32Array(t),o=Array.isArray(t)?Ir(t):new Uint16Array(t),r=24,i=Pr(o,r/2,n[4]/2),s=2===n[5]?Pr(o,(r+n[4])/2):Or(n,Math.ceil((r+n[4])/4));return new Nr(n[0],n[1],n[2],n[3],i,s)},Nr=function(){function A(A,e,t,n,o,r){this.initialValue=A,this.errorValue=e,this.highStart=t,this.highValueIndex=n,this.index=o,this.data=r}return A.prototype.get=function(A){var e;if(A>=0){if(A<55296||A>56319&&A<=65535)return e=((e=this.index[A>>Sr])<<Mr)+(A&Kr),this.data[e];if(A<=65535)return e=((e=this.index[Dr+(A-55296>>Sr)])<<Mr)+(A&Kr),this.data[e];if(A<this.highStart)return e=Tr-kr+(A>>Lr),e=this.index[e],e+=A>>Sr&Rr,e=((e=this.index[e])<<Mr)+(A&Kr),this.data[e];if(A<=1114111)return this.data[this.highValueIndex]}return this.errorValue},A}(),Gr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Wr="undefined"==typeof Uint8Array?[]:new Uint8Array(256),Xr=0;Xr<Gr.length;Xr++)Wr[Gr.charCodeAt(Xr)]=Xr;var Jr,Yr=1,$r=2,Zr=3,jr=4,_r=5,zr=7,qr=8,Ai=9,ei=10,ti=11,ni=12,oi=13,ri=14,ii=15,si=function(A){for(var e=[],t=0,n=A.length;t<n;){var o=A.charCodeAt(t++);if(o>=55296&&o<=56319&&t<n){var r=A.charCodeAt(t++);56320==(64512&r)?e.push(((1023&o)<<10)+(1023&r)+65536):(e.push(o),t--)}else e.push(o)}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=[],o=-1,r="";++o<t;){var i=A[o];i<=65535?n.push(i):(i-=65536,n.push(55296+(i>>10),i%1024+56320)),(o+1===t||n.length>16384)&&(r+=String.fromCharCode.apply(String,n),n.length=0)}return r},ci=Vr(Fr),li="×",ui="÷",gi=function(A){return ci.get(A)},hi=function(A,e,t){var n=t-2,o=e[n],r=e[t-1],i=e[t];if(r===$r&&i===Zr)return li;if(r===$r||r===Zr||r===jr)return ui;if(i===$r||i===Zr||i===jr)return ui;if(r===qr&&-1!==[qr,Ai,ti,ni].indexOf(i))return li;if(!(r!==ti&&r!==Ai||i!==Ai&&i!==ei))return li;if((r===ni||r===ei)&&i===ei)return li;if(i===oi||i===_r)return li;if(i===zr)return li;if(r===Yr)return li;if(r===oi&&i===ri){for(;o===_r;)o=e[--n];if(o===ri)return li}if(r===ii&&i===ii){for(var s=0;o===ii;)s++,o=e[--n];if(s%2==0)return li}return ui},di=function(A){var e=si(A),t=e.length,n=0,o=0,r=e.map(gi);return{next:function(){if(n>=t)return{done:!0,value:null};for(var A=li;n<t&&(A=hi(e,r,++n))===li;);if(A!==li||n===t){var i=ai.apply(null,e.slice(o,n));return o=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 o=t.getBoundingClientRect(),r=Math.round(o.height);if(A.body.removeChild(n),r===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,o=c(n.data).map(function(A){return l(A)}),r=0,i={},s=o.every(function(A,e){t.setStart(n,r),t.setEnd(n,r+A.length);var o=t.getBoundingClientRect();r+=A.length;var s=o.x>i.x||o.y>i.y;return i=o,0===e||s});return A.body.removeChild(e),s},mi=function(){return void 0!==(new Image).crossOrigin},pi=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 o=new Image,r=e.toDataURL();o.src=r;var i=Ui(t,t,0,0,o);return n.fillStyle="red",n.fillRect(0,0,t,t),Fi(i).then(function(e){n.drawImage(e,0,0);var o=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("+r+")",i.style.height=t+"px",Qi(o)?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,o){var r="http://www.w3.org/2000/svg",i=document.createElementNS(r,"svg"),s=document.createElementNS(r,"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(o),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=mi();return Object.defineProperty(bi,"SUPPORT_CORS_IMAGES",{value:A}),A},get SUPPORT_RESPONSE_TYPE(){var A=pi();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}},Ei=function(){function A(A,e){this.text=A,this.bounds=e}return A}(),vi=function(A,e,t,n){var o=Li(e,t),r=[],s=0;return o.forEach(function(e){if(t.textDecorationLine.length||e.trim().length>0)if(bi.SUPPORT_RANGE_BOUNDS){var o=Ii(n,s,e.length).getClientRects();if(o.length>1){var a=xi(e),c=0;a.forEach(function(e){r.push(new Ei(e,i.fromDOMRectList(A,Ii(n,c+s,e.length).getClientRects()))),c+=e.length})}else r.push(new Ei(e,i.fromDOMRectList(A,o)))}else{var l=n.splitText(e.length);r.push(new Ei(e,Hi(A,n))),n=l}else bi.SUPPORT_RANGE_BOUNDS||(n=n.splitText(e.length));s+=e.length}),r},Hi=function(A,e){var t=e.ownerDocument;if(t){var n=t.createElement("html2canvaswrapper");n.appendChild(e.cloneNode(!0));var o=e.parentNode;if(o){o.replaceChild(n,e);var r=s(A,n);return n.firstChild&&o.replaceChild(n.firstChild,n),r}}return i.EMPTY},Ii=function(A,e,t){var n=A.ownerDocument;if(!n)throw new Error("Node has no owner document");var o=n.createRange();return o.setStart(A,e),o.setEnd(A,e+t),o},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}),o=[],r=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&&o.push(n),o.push(l(A)),n="")}),n.length&&o.push(n)}};!(t=n.next()).done;)r();return o},Ki=function(){function A(A,e,t){this.text=Ti(e.data,t.textTransform),this.textBounds=vi(A,this.text,t,e)}return A}(),Ti=function(A,e){switch(e){case 1:return A.toLowerCase();case 3:return A.replace(ki,Ri);case 2:return A.toUpperCase();default:return A}},ki=/(^|\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}(Ur),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}(Ur),Vi=function(A){function t(e,t){var n=A.call(this,e,t)||this,o=new XMLSerializer,r=s(e,t);return t.setAttribute("width",r.width+"px"),t.setAttribute("height",r.height+"px"),n.svg="data:image/svg+xml,"+encodeURIComponent(o.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}(Ur),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}(Ur),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}(Ur),Wi=[{type:15,flags:0,unit:"px",number:3}],Xi=[{type:16,flags:0,number:50}],Ji=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},Yi=function(A){var e=A.type===ji?new Array(A.value.length+1).join("•"):A.value;return 0===e.length?A.placeholder||"":e},$i="checkbox",Zi="radio",ji="password",_i=707406591,zi=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=Yi(t),n.type!==$i&&n.type!==Zi||(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=Ji(n.bounds)),n.type){case $i:n.styles.borderTopRightRadius=n.styles.borderTopLeftRadius=n.styles.borderBottomRightRadius=n.styles.borderBottomLeftRadius=Wi;break;case Zi:n.styles.borderTopRightRadius=n.styles.borderTopLeftRadius=n.styles.borderBottomRightRadius=n.styles.borderBottomLeftRadius=Xi}return n}return e(t,A),t}(Ur),qi=function(A){function t(e,t){var n=A.call(this,e,t)||this,o=t.options[t.selectedIndex||0];return n.value=o&&o.text||"",n}return e(t,A),t}(Ur),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}(Ur),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=rs(e,t.contentWindow.document.documentElement);var o=t.contentWindow.document.documentElement?un(e,getComputedStyle(t.contentWindow.document.documentElement).backgroundColor):gn.TRANSPARENT,r=t.contentWindow.document.body?un(e,getComputedStyle(t.contentWindow.document.body).backgroundColor):gn.TRANSPARENT;n.backgroundColor=tn(o)?tn(r)?n.styles.backgroundColor:r:o}}catch(A){}return n}return e(t,A),t}(Ur),ts=["OL","UL","MENU"],ns=function(A,e,t,n){for(var o=e.firstChild,r=void 0;o;o=r)if(r=o.nextSibling,as(o)&&o.data.trim().length>0)t.textNodes.push(new Ki(A,o,t.styles));else if(cs(o))if(Es(o)&&o.assignedNodes)o.assignedNodes().forEach(function(e){return ns(A,e,t,n)});else{var i=os(A,o);i.styles.isVisible()&&(is(o,i,n)?i.flags|=4:ss(i.styles)&&(i.flags|=2),-1!==ts.indexOf(o.tagName)&&(i.flags|=8),t.elements.push(i),o.slot,o.shadowRoot?ns(A,o.shadowRoot,i,n):Fs(o)||fs(o)||bs(o)||ns(A,o,i,n))}},os=function(A,e){return Cs(e)?new Pi(A,e):ms(e)?new Oi(A,e):fs(e)?new Vi(A,e):gs(e)?new Ni(A,e):hs(e)?new Gi(A,e):ds(e)?new zi(A,e):bs(e)?new qi(A,e):Fs(e)?new As(A,e):Qs(e)?new es(A,e):new Ur(A,e)},rs=function(A,e){var t=os(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},gs=function(A){return"LI"===A.tagName},hs=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},ms=function(A){return"CANVAS"===A.tagName},ps=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},Es=function(A){return"SLOT"===A.tagName},vs=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,o=!0;null!==t&&t.forEach(function(A){var t=e.counters[A.counter];t&&0!==A.increment&&(o=!1,t.length||t.push(1),t[Math.max(0,t.length-1)]+=A.increment)});var r=[];return o&&n.forEach(function(A){var t=e.counters[A.counter];r.push(A.counter),t||(t=e.counters[A.counter]=[]),t.push(A.reset)}),r},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,o,r){return A<e||A>t?Js(A,o,r.length>0):n.integers.reduce(function(e,t,o){for(;A>=t;)A-=t,e+=n.values[o];return e},"")+r},Ds=function(A,e,t,n){var o="";do{t||A--,o=n(A)+o,A/=e}while(A*e>=e);return o},Ks=function(A,e,t,n,o){var r=t-e+1;return(A<0?"-":"")+(Ds(Math.abs(A),r,n,function(A){return l(Math.floor(A%r)+e)})+o)},Ts=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},ks=1,Rs=2,Ps=4,Os=8,Vs=function(A,e,t,n,o,r){if(A<-9999||A>9999)return Js(A,4,o.length>0);var i=Math.abs(A),s=o;if(0===i)return e[0]+s;for(var a=0;i>0&&a<=4;a++){var c=i%10;0===c&&rr(r,ks)&&""!==s?s=e[c]+s:c>1||1===c&&0===a||1===c&&1===a&&rr(r,Rs)||1===c&&1===a&&rr(r,Ps)&&A>100||1===c&&a>1&&rr(r,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="マイナス",Xs="마이너스",Js=function(A,e,t){var n=t?". ":"",o=t?"、":"",r=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 Ts(A,"〇一二三四五六七八九",o);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 Ts(A,"子丑寅卯辰巳午未申酉戌亥",o);case 16:return Ts(A,"甲乙丙丁戊己庚辛壬癸",o);case 17:case 48:return Vs(A,"零一二三四五六七八九",Ns,"負",o,Rs|Ps|Os);case 47:return Vs(A,"零壹貳參肆伍陸柒捌玖",Gs,"負",o,ks|Rs|Ps|Os);case 42:return Vs(A,"零一二三四五六七八九",Ns,"负",o,Rs|Ps|Os);case 41:return Vs(A,"零壹贰叁肆伍陆柒捌玖",Gs,"负",o,ks|Rs|Ps|Os);case 26:return Vs(A,"〇一二三四五六七八九","十百千万",Ws,o,0);case 25:return Vs(A,"零壱弐参四伍六七八九","拾百千万",Ws,o,ks|Rs|Ps);case 31:return Vs(A,"영일이삼사오육칠팔구","십백천만",Xs,r,ks|Rs|Ps);case 33:return Vs(A,"零一二三四五六七八九","十百千萬",Xs,r,0);case 32:return Vs(A,"零壹貳參四五六七八九","拾百千",Xs,r,ks|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 Ts(A,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return Ts(A,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return Ks(A,3302,3311,!0,n);case 28:return Ts(A,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",o);case 29:return Ts(A,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",o);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)}},Ys="data-html2canvas-ignore",$s=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,r=js(A,e);if(!r.contentWindow)return Promise.reject("Unable to find iframe window");var i=A.defaultView.pageXOffset,s=A.defaultView.pageYOffset,a=r.contentWindow,c=a.document,l=qs(r).then(function(){return n(t,void 0,void 0,function(){var A,t;return o(this,function(n){switch(n.label){case 0:return this.scrolledElements.forEach(oa),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,zs(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 r})]:[2,r]}})})});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(yr(A,2),ms(A))return this.createCanvasClone(A);if(ps(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")),vs(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 o=A.getContext("2d"),r=n.getContext("2d");if(r)if(!this.options.allowTaint&&o)r.putImageData(o.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)}r.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(Ys)||"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,o=A.shadowRoot?A.shadowRoot.firstChild:A.firstChild;o;o=o.nextSibling)if(cs(o)&&Es(o)&&"function"==typeof o.assignedNodes){var r=o.assignedNodes();r.length&&r.forEach(function(A){return n.appendChildNode(e,A,t)})}else this.appendChildNode(e,o,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 o=t.getComputedStyle(A),r=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 mr(this.context,o)),a=this.resolvePseudoContent(A,n,r,Jr.BEFORE);vs(A)&&(e=!0),ps(A)||this.cloneChildNodes(A,n,e),a&&n.insertBefore(a,n.firstChild);var c=this.resolvePseudoContent(A,n,i,Jr.AFTER);return c&&n.appendChild(c),this.counters.pop(s),(o&&(this.options.copyStyles||us(A))&&!Qs(A)||e)&&ea(o,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 o=this;if(t){var r=t.content,i=e.ownerDocument;if(i&&r&&"none"!==r&&"-moz-alt-content"!==r&&"none"!==t.display){this.counters.parse(new mr(this.context,t));var s=new wr(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 r=e.values.filter(Tt),c=r[0],l=r[1];if(c&&Lt(c)){var u=o.counters.getCounterValue(c.value),g=l&&Lt(l)?bo.parse(o.context,l.value):3;a.appendChild(i.createTextNode(Js(u,g,!1)))}}else if("counters"===e.name){var h=e.values.filter(Tt),d=(c=h[0],h[1]);if(l=h[2],c&&Lt(c)){var B=o.counters.getCounterValues(c.value),f=l&&Lt(l)?bo.parse(o.context,l.value):3,w=d&&0===d.type?d.value:"",m=B.map(function(A){return Js(A,f,!1)}).join(w);a.appendChild(i.createTextNode(m))}}}else if(20===e.type)switch(e.value){case"open-quote":a.appendChild(i.createTextNode(ur(s.quotes,o.quoteDepth++,!0)));break;case"close-quote":a.appendChild(i.createTextNode(ur(s.quotes,--o.quoteDepth,!1)));break;default:a.appendChild(i.createTextNode(e.value))}}),a.className=sa+" "+aa;var c=n===Jr.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"}(Jr||(Jr={}));var Zs,js=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(Ys,"true"),A.body.appendChild(t),t},_s=function(A){return new Promise(function(e){A.complete?e():A.src?(A.onload=e,A.onerror=e):e()})},zs=function(A){return Promise.all([].slice.call(A.images,0).map(_s))},qs=function(A){return new Promise(function(e,t){var n=A.contentWindow;if(!n)return t("No window assigned for iframe");var o=n.document;n.onload=A.onload=function(){n.onload=A.onload=null;var t=setInterval(function(){o.body.childNodes.length>0&&"complete"===o.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)},oa=function(A){var e=A[0],t=A[1],n=A[2];e.scrollLeft=t,e.scrollTop=n},ra=":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+ra+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)}},ga=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}(),ha=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,r,i=this;return o(this,function(o){switch(o.label){case 0:return e=ga.isSameOrigin(A),t=!ma(A)&&!0===this._options.useCORS&&bi.SUPPORT_CORS_IMAGES&&!e,n=!ma(A)&&!e&&!Ca(A)&&"string"==typeof this._options.proxy&&bi.SUPPORT_CORS_XHR&&!t,e||!1!==this._options.allowTaint||ma(A)||Ca(A)||n||t?(r=A,n?[4,this.proxy(r)]:[3,2]):[2];case 1:r=o.sent(),o.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,(pa(r)||t)&&(n.crossOrigin="anonymous"),n.src=r,!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,o.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(o,r){var i=bi.SUPPORT_RESPONSE_TYPE?"blob":"text",s=new XMLHttpRequest;s.onload=function(){if(200===s.status)if("text"===i)o(s.response);else{var A=new FileReader;A.addEventListener("load",function(){return o(A.result)},!1),A.addEventListener("error",function(A){return r(A)},!1),A.readAsDataURL(s.response)}else r("Failed to proxy resource "+n+" with status code "+s.status)},s.onerror=r;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 r("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)},ma=function(A){return fa.test(A)},pa=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),o=Ua(this.startControl,this.endControl,e),r=Ua(this.endControl,this.end,e),i=Ua(n,o,e),s=Ua(o,r,e),a=Ua(i,s,e);return t?new A(this.start,n,i,a):new A(a,s,r,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},Ea=function(){function A(A){var e=A.styles,t=A.bounds,n=Xt(e.borderTopLeftRadius,t.width,t.height),o=n[0],r=n[1],i=Xt(e.borderTopRightRadius,t.width,t.height),s=i[0],a=i[1],c=Xt(e.borderBottomRightRadius,t.width,t.height),l=c[0],u=c[1],g=Xt(e.borderBottomLeftRadius,t.width,t.height),h=g[0],d=g[1],B=[];B.push((o+s)/t.width),B.push((h+l)/t.width),B.push((r+d)/t.height),B.push((a+u)/t.height);var f=Math.max.apply(Math,B);f>1&&(o/=f,r/=f,s/=f,a/=f,l/=f,u/=f,h/=f,d/=f);var w=t.width-s,m=t.height-u,p=t.width-l,C=t.height-d,Q=e.borderTopWidth,y=e.borderRightWidth,U=e.borderBottomWidth,F=e.borderLeftWidth,b=Jt(e.paddingTop,A.bounds.width),E=Jt(e.paddingRight,A.bounds.width),v=Jt(e.paddingBottom,A.bounds.width),H=Jt(e.paddingLeft,A.bounds.width);this.topLeftBorderDoubleOuterBox=o>0||r>0?va(t.left+F/3,t.top+Q/3,o-F/3,r-Q/3,Zs.TOP_LEFT):new ya(t.left+F/3,t.top+Q/3),this.topRightBorderDoubleOuterBox=o>0||r>0?va(t.left+w,t.top+Q/3,s-y/3,a-Q/3,Zs.TOP_RIGHT):new ya(t.left+t.width-y/3,t.top+Q/3),this.bottomRightBorderDoubleOuterBox=l>0||u>0?va(t.left+p,t.top+m,l-y/3,u-U/3,Zs.BOTTOM_RIGHT):new ya(t.left+t.width-y/3,t.top+t.height-U/3),this.bottomLeftBorderDoubleOuterBox=h>0||d>0?va(t.left+F/3,t.top+C,h-F/3,d-U/3,Zs.BOTTOM_LEFT):new ya(t.left+F/3,t.top+t.height-U/3),this.topLeftBorderDoubleInnerBox=o>0||r>0?va(t.left+2*F/3,t.top+2*Q/3,o-2*F/3,r-2*Q/3,Zs.TOP_LEFT):new ya(t.left+2*F/3,t.top+2*Q/3),this.topRightBorderDoubleInnerBox=o>0||r>0?va(t.left+w,t.top+2*Q/3,s-2*y/3,a-2*Q/3,Zs.TOP_RIGHT):new ya(t.left+t.width-2*y/3,t.top+2*Q/3),this.bottomRightBorderDoubleInnerBox=l>0||u>0?va(t.left+p,t.top+m,l-2*y/3,u-2*U/3,Zs.BOTTOM_RIGHT):new ya(t.left+t.width-2*y/3,t.top+t.height-2*U/3),this.bottomLeftBorderDoubleInnerBox=h>0||d>0?va(t.left+2*F/3,t.top+C,h-2*F/3,d-2*U/3,Zs.BOTTOM_LEFT):new ya(t.left+2*F/3,t.top+t.height-2*U/3),this.topLeftBorderStroke=o>0||r>0?va(t.left+F/2,t.top+Q/2,o-F/2,r-Q/2,Zs.TOP_LEFT):new ya(t.left+F/2,t.top+Q/2),this.topRightBorderStroke=o>0||r>0?va(t.left+w,t.top+Q/2,s-y/2,a-Q/2,Zs.TOP_RIGHT):new ya(t.left+t.width-y/2,t.top+Q/2),this.bottomRightBorderStroke=l>0||u>0?va(t.left+p,t.top+m,l-y/2,u-U/2,Zs.BOTTOM_RIGHT):new ya(t.left+t.width-y/2,t.top+t.height-U/2),this.bottomLeftBorderStroke=h>0||d>0?va(t.left+F/2,t.top+C,h-F/2,d-U/2,Zs.BOTTOM_LEFT):new ya(t.left+F/2,t.top+t.height-U/2),this.topLeftBorderBox=o>0||r>0?va(t.left,t.top,o,r,Zs.TOP_LEFT):new ya(t.left,t.top),this.topRightBorderBox=s>0||a>0?va(t.left+w,t.top,s,a,Zs.TOP_RIGHT):new ya(t.left+t.width,t.top),this.bottomRightBorderBox=l>0||u>0?va(t.left+p,t.top+m,l,u,Zs.BOTTOM_RIGHT):new ya(t.left+t.width,t.top+t.height),this.bottomLeftBorderBox=h>0||d>0?va(t.left,t.top+C,h,d,Zs.BOTTOM_LEFT):new ya(t.left,t.top+t.height),this.topLeftPaddingBox=o>0||r>0?va(t.left+F,t.top+Q,Math.max(0,o-F),Math.max(0,r-Q),Zs.TOP_LEFT):new ya(t.left+F,t.top+Q),this.topRightPaddingBox=s>0||a>0?va(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),Zs.TOP_RIGHT):new ya(t.left+t.width-y,t.top+Q),this.bottomRightPaddingBox=l>0||u>0?va(t.left+Math.min(p,t.width-F),t.top+Math.min(m,t.height-U),Math.max(0,l-y),Math.max(0,u-U),Zs.BOTTOM_RIGHT):new ya(t.left+t.width-y,t.top+t.height-U),this.bottomLeftPaddingBox=h>0||d>0?va(t.left+F,t.top+Math.min(C,t.height-U),Math.max(0,h-F),Math.max(0,d-U),Zs.BOTTOM_LEFT):new ya(t.left+F,t.top+t.height-U),this.topLeftContentBox=o>0||r>0?va(t.left+F+H,t.top+Q+b,Math.max(0,o-(F+H)),Math.max(0,r-(Q+b)),Zs.TOP_LEFT):new ya(t.left+F+H,t.top+Q+b),this.topRightContentBox=s>0||a>0?va(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),Zs.TOP_RIGHT):new ya(t.left+t.width-(y+E),t.top+Q+b),this.bottomRightContentBox=l>0||u>0?va(t.left+Math.min(p,t.width-(F+H)),t.top+Math.min(m,t.height+Q+b),Math.max(0,l-(y+E)),u-(U+v),Zs.BOTTOM_RIGHT):new ya(t.left+t.width-(y+E),t.top+t.height-(U+v)),this.bottomLeftContentBox=h>0||d>0?va(t.left+F+H,t.top+C,Math.max(0,h-(F+H)),d-(U+v),Zs.BOTTOM_LEFT):new ya(t.left+F+H,t.top+t.height-(U+v))}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"}(Zs||(Zs={}));var va=function(A,e,t,n,o){var r=(Math.sqrt(2)-1)/3*4,i=t*r,s=n*r,a=A+t,c=e+n;switch(o){case Zs.TOP_LEFT:return new Fa(new ya(A,c),new ya(A,c-s),new ya(a-i,e),new ya(a,e));case Zs.TOP_RIGHT:return new Fa(new ya(A,e),new ya(A+i,e),new ya(a,c-s),new ya(a,c));case Zs.BOTTOM_RIGHT:return new Fa(new ya(a,e),new ya(a,e+s),new ya(A+i,c),new ya(A,c));case Zs.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},Ta=function(A){return 2===A.type},ka=function(A,e){return A.length===e.length&&A.some(function(A,t){return A===e[t]})},Ra=function(A,e,t,n,o){return A.map(function(A,r){switch(r){case 0:return A.add(e,t);case 1:return A.add(e+n,t);case 2:return A.add(e+n,t+o);case 3:return A.add(e,t+o)}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 Ea(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,o=this.container.styles.transform;this.effects.push(new Sa(t,n,o))}if(0!==this.container.styles.overflowX){var r=Ha(this.curves),i=xa(this.curves);ka(r,i)?this.effects.push(new La(r,6)):(this.effects.push(new La(r,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 o=t.effects.filter(function(A){return!Ka(A)});if(e||0!==t.container.styles.position||!t.parent){if(n.unshift.apply(n,o),e=-1===[2,3].indexOf(t.container.styles.position),0!==t.container.styles.overflowX){var r=Ha(t.curves),i=xa(t.curves);ka(r,i)||n.unshift(new La(i,6))}}else n.unshift.apply(n,o);t=t.parent}return n.filter(function(e){return rr(e.target,A)})},A}(),Va=function(A,e,t,n){A.container.elements.forEach(function(o){var r=rr(o.flags,4),i=rr(o.flags,2),s=new Oa(o,A);rr(o.styles.display,2048)&&n.push(s);var a=rr(o.flags,8)?[]:n;if(r||i){var c=r||o.styles.isPositioned()?t:e,l=new Pa(s);if(o.styles.isPositioned()||o.styles.opacity<1||o.styles.isTransformed()){var u=o.styles.zIndex.order;if(u<0){var g=0;c.negativeZIndex.some(function(A,e){return u>A.element.container.styles.zIndex.order?(g=e,!1):g>0}),c.negativeZIndex.splice(g,0,l)}else if(u>0){var h=0;c.positiveZIndex.some(function(A,e){return u>=A.element.container.styles.zIndex.order?(h=e+1,!1):h>0}),c.positiveZIndex.splice(h,0,l)}else c.zeroOrAutoZIndexOrTransformedOrOpacity.push(l)}else o.styles.isFloating()?c.nonPositionedFloats.push(l):c.nonPositionedInlineLevel.push(l);Va(s,l,r?l:t,a)}else o.styles.isInlineLevel()?e.inlineLevel.push(s):e.nonInlineLevel.push(s),Va(s,e,t,a);rr(o.flags,8)&&Na(o,a)})},Na=function(A,e){for(var t=A instanceof Gi?A.start:1,n=A instanceof Gi&&A.reversed,o=0;o<e.length;o++){var r=e[o];r.container instanceof Ni&&"number"==typeof r.container.value&&0!==r.container.value&&(t=r.container.value),r.listValue=Js(t,r.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 Za(A.topLeftBorderBox,A.topLeftPaddingBox,A.topRightBorderBox,A.topRightPaddingBox);case 1:return Za(A.topRightBorderBox,A.topRightPaddingBox,A.bottomRightBorderBox,A.bottomRightPaddingBox);case 2:return Za(A.bottomRightBorderBox,A.bottomRightPaddingBox,A.bottomLeftBorderBox,A.bottomLeftPaddingBox);default:return Za(A.bottomLeftBorderBox,A.bottomLeftPaddingBox,A.topLeftBorderBox,A.topLeftPaddingBox)}},Xa=function(A,e){switch(e){case 0:return Za(A.topLeftBorderBox,A.topLeftBorderDoubleOuterBox,A.topRightBorderBox,A.topRightBorderDoubleOuterBox);case 1:return Za(A.topRightBorderBox,A.topRightBorderDoubleOuterBox,A.bottomRightBorderBox,A.bottomRightBorderDoubleOuterBox);case 2:return Za(A.bottomRightBorderBox,A.bottomRightBorderDoubleOuterBox,A.bottomLeftBorderBox,A.bottomLeftBorderDoubleOuterBox);default:return Za(A.bottomLeftBorderBox,A.bottomLeftBorderDoubleOuterBox,A.topLeftBorderBox,A.topLeftBorderDoubleOuterBox)}},Ja=function(A,e){switch(e){case 0:return Za(A.topLeftBorderDoubleInnerBox,A.topLeftPaddingBox,A.topRightBorderDoubleInnerBox,A.topRightPaddingBox);case 1:return Za(A.topRightBorderDoubleInnerBox,A.topRightPaddingBox,A.bottomRightBorderDoubleInnerBox,A.bottomRightPaddingBox);case 2:return Za(A.bottomRightBorderDoubleInnerBox,A.bottomRightPaddingBox,A.bottomLeftBorderDoubleInnerBox,A.bottomLeftPaddingBox);default:return Za(A.bottomLeftBorderDoubleInnerBox,A.bottomLeftPaddingBox,A.topLeftBorderDoubleInnerBox,A.topLeftPaddingBox)}},Ya=function(A,e){switch(e){case 0:return $a(A.topLeftBorderStroke,A.topRightBorderStroke);case 1:return $a(A.topRightBorderStroke,A.bottomRightBorderStroke);case 2:return $a(A.bottomRightBorderStroke,A.bottomLeftBorderStroke);default:return $a(A.bottomLeftBorderStroke,A.topLeftBorderStroke)}},$a=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},Za=function(A,e,t,n){var o=[];return ba(A)?o.push(A.subdivide(.5,!1)):o.push(A),ba(t)?o.push(t.subdivide(.5,!0)):o.push(t),ba(n)?o.push(n.subdivide(.5,!0).reverse()):o.push(n),ba(e)?o.push(e.subdivide(.5,!1).reverse()):o.push(e),o},ja=function(A){var e=A.bounds,t=A.styles;return e.add(t.borderLeftWidth,t.borderTopWidth,-(t.borderRightWidth+t.borderLeftWidth),-(t.borderTopWidth+t.borderBottomWidth))},_a=function(A){var e=A.styles,t=A.bounds,n=Jt(e.paddingLeft,t.width),o=Jt(e.paddingRight,t.width),r=Jt(e.paddingTop,t.width),i=Jt(e.paddingBottom,t.width);return t.add(n+e.borderLeftWidth,r+e.borderTopWidth,-(e.borderRightWidth+e.borderLeftWidth+n+o),-(e.borderTopWidth+e.borderBottomWidth+r+i))},za=function(A,e){return 0===A?e.bounds:2===A?_a(e):ja(e)},qa=function(A,e){return 0===A?e.bounds:2===A?_a(e):ja(e)},Ac=function(A,e,t){var n=za(oc(A.styles.backgroundOrigin,e),A),o=qa(oc(A.styles.backgroundClip,e),A),r=nc(oc(A.styles.backgroundSize,e),t,n),i=r[0],s=r[1],a=Xt(oc(A.styles.backgroundPosition,e),n.width-i,n.height-s);return[rc(oc(A.styles.backgroundRepeat,e),a,r,n,o),Math.round(n.left+a[0]),Math.round(n.top+a[1]),i,s]},ec=function(A){return Lt(A)&&A.value===Tn.AUTO},tc=function(A){return"number"==typeof A},nc=function(A,e,t){var n=e[0],o=e[1],r=e[2],i=A[0],s=A[1];if(!i)return[0,0];if(Ot(i)&&s&&Ot(s))return[Jt(i,t.width),Jt(s,t.height)];var a=tc(r);if(Lt(i)&&(i.value===Tn.CONTAIN||i.value===Tn.COVER))return tc(r)?t.width/t.height<r!=(i.value===Tn.COVER)?[t.width,t.width/r]:[t.height*r,t.height]:[t.width,t.height];var c=tc(n),l=tc(o),u=c||l;if(ec(i)&&(!s||ec(s)))return c&&l?[n,o]:a||u?u&&a?[c?n:o*r,l?o:n/r]:[c?n:t.width,l?o:t.height]:[t.width,t.height];if(a){var g=0,h=0;return Ot(i)?g=Jt(i,t.width):Ot(s)&&(h=Jt(s,t.height)),ec(i)?g=h*r:s&&!ec(s)||(h=g/r),[g,h]}var d=null,B=null;if(Ot(i)?d=Jt(i,t.width):s&&Ot(s)&&(B=Jt(s,t.height)),null===d||s&&!ec(s)||(B=c&&l?d/n*o:t.height),null!==B&&ec(i)&&(d=c&&l?B/o*n:t.width),null!==d&&null!==B)return[d,B];throw new Error("Unable to calculate background-size for element")},oc=function(A,e){var t=A[e];return void 0===t?A[0]:t},rc=function(A,e,t,n,o){var r=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+r),Math.round(n.top)),new ya(Math.round(n.left+r+s),Math.round(n.top)),new ya(Math.round(n.left+r+s),Math.round(n.height+n.top)),new ya(Math.round(n.left+r),Math.round(n.height+n.top))];case 1:return[new ya(Math.round(n.left+r),Math.round(n.top+i)),new ya(Math.round(n.left+r+s),Math.round(n.top+i)),new ya(Math.round(n.left+r+s),Math.round(n.top+i+a)),new ya(Math.round(n.left+r),Math.round(n.top+i+a))];default:return[new ya(Math.round(o.left),Math.round(o.top)),new ya(Math.round(o.left+o.width),Math.round(o.top)),new ya(Math.round(o.left+o.width),Math.round(o.height+o.top)),new ya(Math.round(o.left),Math.round(o.height+o.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"),o=this._document.createElement("span"),r=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",r.appendChild(t),n.src=ic,n.width=1,n.height=1,n.style.margin="0",n.style.padding="0",n.style.verticalAlign="baseline",o.style.fontFamily=A,o.style.fontSize=e,o.style.margin="0",o.style.padding="0",o.appendChild(this._document.createTextNode(sc)),t.appendChild(o),t.appendChild(n);var i=n.offsetTop-o.offsetTop+2;t.removeChild(o),t.appendChild(this._document.createTextNode(sc)),t.style.lineHeight="normal",n.style.verticalAlign="super";var s=n.offsetTop-t.offsetTop+2;return r.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(),Ta(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 o(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 o(this,function(e){switch(e.label){case 0:return rr(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,o){return n.ctx.fillText(o,e,A.bounds.top+t),e+n.ctx.measureText(o).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,r,i,s,a,c,l,u=this;return o(this,function(o){return t=this.createFontStyle(e),n=t[0],r=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(r,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=_a(A),o=xa(e);this.path(o),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,r,s,a,c,l,u,g,h,d,B,f,w,m,p,C,Q;return o(this,function(o){switch(o.label){case 0:this.applyEffects(A.getEffects(4)),e=A.container,n=A.curves,r=e.styles,s=0,a=e.textNodes,o.label=1;case 1:return s<a.length?(c=a[s],[4,this.renderTextNode(c,r)]):[3,4];case 2:o.sent(),o.label=3;case 3:return s++,[3,1];case 4:if(!(e instanceof Pi))return[3,8];o.label=5;case 5:return o.trys.push([5,7,,8]),[4,this.context.cache.match(e.src)];case 6:return m=o.sent(),this.renderReplacedElement(e,n,m),[3,8];case 7:return o.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];o.label=9;case 9:return o.trys.push([9,11,,12]),[4,this.context.cache.match(e.svg)];case 10:return m=o.sent(),this.renderReplacedElement(e,n,m),[3,12];case 11:return o.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=o.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),o.label=14;case 14:if(e instanceof zi&&(u=Math.min(e.bounds.width,e.bounds.height),e.type===$i?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(_i),this.ctx.fill(),this.ctx.restore()):e.type===Zi&&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(_i),this.ctx.fill(),this.ctx.restore())),gc(e)&&e.value.length){switch(g=this.createFontStyle(r),C=g[0],h=g[1],d=this.fontMetrics.getMetrics(C,h).baseline,this.ctx.font=C,this.ctx.fillStyle=nn(r.color),this.ctx.textBaseline="alphabetic",this.ctx.textAlign=dc(e.styles.textAlign),Q=_a(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 Ei(e.value,f),r.letterSpacing,d),this.ctx.restore(),this.ctx.textBaseline="alphabetic",this.ctx.textAlign="left"}if(!rr(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];m=void 0,p=w.url,o.label=15;case 15:return o.trys.push([15,17,,18]),[4,this.context.cache.match(p)];case 16:return m=o.sent(),this.ctx.drawImage(m,e.bounds.left-(m.width+10),e.bounds.top),[3,18];case 17:return o.sent(),this.context.logger.error("Error loading list-style-image "+p),[3,18];case 18:return[3,20];case 19:A.listValue&&-1!==e.styles.listStyleType&&(C=this.createFontStyle(r)[0],this.ctx.font=C,this.ctx.fillStyle=nn(r.color),this.ctx.textBaseline="middle",this.ctx.textAlign="right",Q=new i(e.bounds.left,e.bounds.top+Jt(e.styles.paddingTop,e.bounds.width),e.bounds.width,yo(r.lineHeight,r.fontSize.number)/2+1),this.renderTextWithLetterSpacing(new Ei(A.listValue,Q),r.letterSpacing,yo(r.lineHeight,r.fontSize.number)/2+2),this.ctx.textBaseline="bottom",this.ctx.textAlign="left"),o.label=20;case 20:return[2]}})})},t.prototype.renderStackContent=function(A){return n(this,void 0,void 0,function(){var e,t,n,r,i,s,a,c,l,u,g,h,d,B,f;return o(this,function(o){switch(o.label){case 0:return rr(A.element.container.flags,16),[4,this.renderNodeBackgroundAndBorders(A.element)];case 1:o.sent(),e=0,t=A.negativeZIndex,o.label=2;case 2:return e<t.length?(f=t[e],[4,this.renderStack(f)]):[3,5];case 3:o.sent(),o.label=4;case 4:return e++,[3,2];case 5:return[4,this.renderNodeContent(A.element)];case 6:o.sent(),n=0,r=A.nonInlineLevel,o.label=7;case 7:return n<r.length?(f=r[n],[4,this.renderNode(f)]):[3,10];case 8:o.sent(),o.label=9;case 9:return n++,[3,7];case 10:i=0,s=A.nonPositionedFloats,o.label=11;case 11:return i<s.length?(f=s[i],[4,this.renderStack(f)]):[3,14];case 12:o.sent(),o.label=13;case 13:return i++,[3,11];case 14:a=0,c=A.nonPositionedInlineLevel,o.label=15;case 15:return a<c.length?(f=c[a],[4,this.renderStack(f)]):[3,18];case 16:o.sent(),o.label=17;case 17:return a++,[3,15];case 18:l=0,u=A.inlineLevel,o.label=19;case 19:return l<u.length?(f=u[l],[4,this.renderNode(f)]):[3,22];case 20:o.sent(),o.label=21;case 21:return l++,[3,19];case 22:g=0,h=A.zeroOrAutoZIndexOrTransformedOrOpacity,o.label=23;case 23:return g<h.length?(f=h[g],[4,this.renderStack(f)]):[3,26];case 24:o.sent(),o.label=25;case 25:return g++,[3,23];case 26:d=0,B=A.positiveZIndex,o.label=27;case 27:return d<B.length?(f=B[d],[4,this.renderStack(f)]):[3,30];case 28:o.sent(),o.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 o=(null!==(n=this.canvas.ownerDocument)&&void 0!==n?n:document).createElement("canvas");return o.width=Math.max(1,e),o.height=Math.max(1,t),o.getContext("2d").drawImage(A,0,0,A.width,A.height,0,0,e,t),o},t.prototype.renderBackgroundImage=function(A){return n(this,void 0,void 0,function(){var e,t,n,r,i,s;return o(this,function(a){switch(a.label){case 0:e=A.styles.backgroundImage.length-1,t=function(t){var r,i,s,a,c,l,u,g,h,d,B,f,w,m,p,C,Q,y,U,F,b,E,v,H,I,x,S,L,M,D,K;return o(this,function(o){switch(o.label){case 0:if(0!==t.type)return[3,5];r=void 0,i=t.url,o.label=1;case 1:return o.trys.push([1,3,,4]),[4,n.context.cache.match(i)];case 2:return r=o.sent(),[3,4];case 3:return o.sent(),n.context.logger.error("Error loading background-image "+i),[3,4];case 4:return r&&(s=Ac(A,e,[r.width,r.height,r.width/r.height]),C=s[0],E=s[1],v=s[2],U=s[3],F=s[4],m=n.ctx.createPattern(n.resizeImage(r,U,F),"repeat"),n.renderRepeat(C,m,E,v)),[3,6];case 5:Ln(t)?(a=Ac(A,e,[null,null,null]),C=a[0],E=a[1],v=a[2],U=a[3],F=a[4],c=mn(t.angle,U,F),l=c[0],u=c[1],g=c[2],h=c[3],d=c[4],(B=document.createElement("canvas")).width=U,B.height=F,f=B.getContext("2d"),w=f.createLinearGradient(u,h,g,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&&(m=n.ctx.createPattern(B,"repeat"),n.renderRepeat(C,m,E,v))):Mn(t)&&(p=Ac(A,e,[null,null,null]),C=p[0],Q=p[1],y=p[2],U=p[3],F=p[4],b=0===t.position.length?[Gt]:t.position,E=Jt(b[0],U),v=Jt(b[b.length-1],F),H=Qn(t,E,v,U,F),I=H[0],x=H[1],I>0&&x>0&&(S=n.ctx.createRadialGradient(Q+E,y+v,0,Q+E,y+v,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())),o.label=6;case 6:return e--,[2]}})},n=this,r=0,i=A.styles.backgroundImage.slice(0).reverse(),a.label=1;case 1:return r<i.length?(s=i[r],[5,t(s)]):[3,4];case 2:a.sent(),a.label=3;case 3:return r++,[3,1];case 4:return[2]}})})},t.prototype.renderSolidBorder=function(A,e,t){return n(this,void 0,void 0,function(){return o(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,r){return n(this,void 0,void 0,function(){var n,i;return o(this,function(o){switch(o.label){case 0:return e<3?[4,this.renderSolidBorder(A,t,r)]:[3,2];case 1:return o.sent(),[2];case 2:return n=Xa(r,t),this.path(n),this.ctx.fillStyle=nn(A),this.ctx.fill(),i=Ja(r,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,r,i,s,a,c,l=this;return o(this,function(o){switch(o.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}],r=hc(oc(e.backgroundClip,0),A.curves),t||e.boxShadow.length?(this.ctx.save(),this.path(r),this.ctx.clip(),tn(e.backgroundColor)||(this.ctx.fillStyle=nn(e.backgroundColor),this.ctx.fill()),[4,this.renderBackgroundImage(A.container)]):[3,2];case 1:o.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,o=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(o)):(l.mask(t),l.ctx.clip(),l.path(o)),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()}),o.label=2;case 2:i=0,s=0,a=n,o.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 o.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 o.sent(),[3,11];case 7:return 4!==c.style?[3,9]:[4,this.renderDoubleBorder(c.color,c.width,i,A.curves)];case 8:return o.sent(),[3,11];case 9:return[4,this.renderSolidBorder(c.color,i,A.curves)];case 10:o.sent(),o.label=11;case 11:i++,o.label=12;case 12:return s++,[3,3];case 13:return[2]}})})},t.prototype.renderDashedDottedBorder=function(A,e,t,r,i){return n(this,void 0,void 0,function(){var n,s,a,c,l,u,g,h,d,B,f,w,m,p,C,Q;return o(this,function(o){return this.ctx.save(),n=Ya(r,t),s=Wa(r,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),g=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)),h=e<3?3*e:2*e,d=e<3?2*e:e,3===i&&(h=e,d=e),B=!0,g<=2*h?B=!1:g<=2*h+d?(h*=f=g/(2*h+d),d*=f):(w=Math.floor((g+d)/(h+d)),m=(g-w*h)/(w-1),d=(p=(g-(w+1)*h)/w)<=0||Math.abs(d-m)<Math.abs(d-p)?m:p),B&&(3===i?this.ctx.setLineDash([0,h+d]):this.ctx.setLineDash([h,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 o(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),gc=function(A){return A instanceof As||A instanceof qi||A instanceof zi&&A.type!==Zi&&A.type!==$i},hc=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 o(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,mc(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),mc=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))})},pc=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,r([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,r([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,r([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,r([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 pc({id:this.instanceName,enabled:e.logging}),this.cache=null!==(n=e.cache)&&void 0!==n?n:new ha(this,e)}return A.instanceCount=1,A}(),Qc=function(A,e){return void 0===e&&(e={}),yc(A,e)};"undefined"!=typeof window&&ga.setContext(window);var yc=function(A,e){return n(void 0,void 0,void 0,function(){var n,r,c,l,u,g,h,d,B,f,w,m,p,C,Q,y,U,F,b,E,v,H,I,x,S,L,M,D,K,T,k,R,P,O,V,N,G,W;return o(this,function(o){switch(o.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(!(r=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:r.innerWidth,windowHeight:null!==(M=e.windowHeight)&&void 0!==M?M:r.innerHeight,scrollX:null!==(D=e.scrollX)&&void 0!==D?D:r.pageXOffset,scrollY:null!==(K=e.scrollY)&&void 0!==K?K:r.pageYOffset},g=new i(u.scrollX,u.scrollY,u.windowWidth,u.windowHeight),h=new Cc(l,g),d=null!==(T=e.foreignObjectRendering)&&void 0!==T&&T,B={allowTaint:null!==(k=e.allowTaint)&&void 0!==k&&k,onclone:e.onclone,ignoreElements:e.ignoreElements,inlineImages:d,copyStyles:d},h.logger.debug("Starting document clone with size "+g.width+"x"+g.height+" scrolled to "+-g.left+","+-g.top),f=new $s(h,A,B),(w=f.clonedReferenceElement)?[4,f.toIFrame(n,g)]:[2,Promise.reject("Unable to find element in cloned iframe")];case 1:return m=o.sent(),p=ws(w)||Bs(w)?a(w.ownerDocument):s(h,w),C=p.width,Q=p.height,y=p.left,U=p.top,F=Uc(h,w,e.backgroundColor),b={canvas:e.canvas,backgroundColor:F,scale:null!==(P=null!==(R=e.scale)&&void 0!==R?R:r.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?(h.logger.debug("Document cloned, using foreign object rendering"),[4,new wc(h,b).render(w)]):[3,3];case 2:return E=o.sent(),[3,5];case 3:return h.logger.debug("Document cloned, element located at "+y+","+U+" with size "+C+"x"+Q+" using computed rendering"),h.logger.debug("Starting DOM parsing"),v=rs(h,w),F===v.styles.backgroundColor&&(v.styles.backgroundColor=gn.TRANSPARENT),h.logger.debug("Starting renderer for element at "+b.x+","+b.y+" with size "+b.width+"x"+b.height),[4,new uc(h,b).render(v)];case 4:E=o.sent(),o.label=5;case 5:return(null===(W=e.removeContainer)||void 0===W||W)&&($s.destroy(m)||h.logger.error("Cannot detach cloned iframe as it is not in the DOM anymore")),h.logger.debug("Finished rendering"),[2,E]}})})},Uc=function(A,e,t){var n=e.ownerDocument,o=n.documentElement?un(A,getComputedStyle(n.documentElement).backgroundColor):gn.TRANSPARENT,r=n.body?un(A,getComputedStyle(n.body).backgroundColor):gn.TRANSPARENT,i="string"==typeof t?un(A,t):null===t?gn.TRANSPARENT:4294967295;return e===n.documentElement?tn(o)?tn(r)?i:r:o:i};return Qc}()}(ut);var gt=lt(ut.exports);class ht{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,o=performance.now(),r=this.dataUrlToArrayBuffer(t),i=r.byteLength,s=performance.now()-o,a=performance.now(),c=this.buildBinaryConfig(this.currentBinaryConfig),l=c.byteLength,u=performance.now()-a,g=performance.now(),h=this.combineBinaryData(c,r),d=h.byteLength,B=performance.now()-g;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:h};this.sendToIframeCallback(n);const o=performance.now()-t,r=performance.now()-e,i=performance.now()-A;this.options.debug&&(console.log("📸 [轮询] ✅ 二进制数据已发送到 iframe"),console.log(` ⏱️ 发送回调耗时: ${o.toFixed(2)}ms`),console.log(` ⏱️ 发送阶段总耗时: ${r.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 o=performance.now();await new Promise(A=>requestAnimationFrame(()=>{requestAnimationFrame(()=>A())}));const r=performance.now()-o;this.options.debug&&console.log(` ⏱️ 等待渲染完成耗时: ${r.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 g=52428800;for(;this.screenshotHistory.length>0&&u>g;){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 h=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(` ⏱️ 截图总耗时: ${h.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 o={};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="),o.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 r=this.options.outputFormat||"png";let i;switch(r){case"jpeg":i=await at.toJpg(e,o);break;case"webp":i=await at.toWebp(e,o);break;default:i=await at.toPng(e,o)}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 截图成功!格式: ${r}, 尺寸: ${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 o=A.scrollWidth||A.clientWidth||A.offsetWidth,r=A.scrollHeight||A.clientHeight||A.offsetHeight;A!==document.body&&A!==document.documentElement||(o=Math.max(A.scrollWidth,A.offsetWidth,document.documentElement.scrollWidth,document.documentElement.offsetWidth,window.innerWidth),r=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],o=t.getPropertyValue(e),r=t.getPropertyPriority(e);o&&"none"!==o&&"auto"!==o&&"normal"!==o&&n.push(`${e}: ${o}${"important"===r?" !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 o=`${n}?${t.toString()}`;A.src=o,this.options.debug&&console.log(`📸 使用代理 URL 替换跨域图片: ${e.substring(0,50)}... -> ${o.substring(0,50)}...`)}catch(A){this.options.debug&&console.warn(`📸 ⚠️ 处理图片 URL 失败: ${e}`,A)}})}}this.options.debug&&(console.log(`📸 html2canvas 配置: 元素尺寸 ${o}x${r}, 质量 ${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(),o=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()}`,o=new AbortController,r=setTimeout(()=>o.abort(),this.options.imageLoadTimeout);try{const e={method:"GET",mode:"cors",credentials:"omit",headers:{Accept:"image/*"},cache:"no-cache",signal:o.signal};"priority"in e&&(e.priority=this.options.fetchPriority);const t=await fetch(n,e);if(clearTimeout(r),!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(r),A}}catch(e){return this.options.debug&&console.warn(`📸 代理处理图片失败: ${A.substring(0,100)}...`,e),A}},r=A.getBoundingClientRect();if(0===r.width||0===r.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:o,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 pA(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 o={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,o):"jpeg"===t?await pA(A,o):await CA(A,o),!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:r.width,height:r.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(),o=!(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&&(o?this.visibleElementsCache.add(A):this.visibleElementsCache.delete(A)),o}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:"),o=e.src.startsWith(window.location.origin),r=this.isElementVisible(e,A);return!t&&!n&&!o&&r});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 o=await fetch(n,{method:"GET",mode:"cors",credentials:"omit",headers:{Accept:"image/*"}});if(!o.ok){const A=await o.text().catch(()=>"");throw new Error(`代理请求失败: ${o.status} ${o.statusText}${A?` - ${A.substring(0,200)}`:""}`)}const r=await o.blob(),i=await this.blobToDataUrl(r);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(),o=t.size/1048576,r=this.options.maxImageSize||5;if(o>r){if(this.options.skipLargeImages)return this.options.debug&&console.warn(`📸 ⚠️ 跳过过大图片(实际大小 ${o.toFixed(2)}MB > ${r}MB): ${A.substring(0,100)}...`),"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==";this.options.debug&&console.warn(`📸 ⚠️ 图片较大(实际大小 ${o.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,o=setTimeout(()=>{t(new Error("图片转换超时"))},1e4);n.onload=()=>{clearTimeout(o),e(n.result)},n.onerror=A=>{clearTimeout(o),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,o=setInterval(()=>{t++;try{(A.cssRules||t>=n)&&(clearInterval(o),e())}catch{clearInterval(o),e()}},50);setTimeout(()=>{clearInterval(o),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 o=A,r=e;if(o>t||r>n){const A=t/o,e=n/r,i=Math.min(A,e);o=Math.round(o*i),r=Math.round(r*i)}return{width:o,height:r}}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(),o=t.__compressStartTime||e,r=t.__scheduleStartTime,i=e-o,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),o=(.75*A.compressedSize/1024).toFixed(2),r=A.compressionRatio||"0";console.log("📸 [Worker 压缩] ✅ 压缩完成"),console.log(` 原始大小: ${e} KB`),console.log(` 压缩后: ${o} KB`),console.log(` 压缩率: ${r}%`),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,r,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,o=new Uint8Array(n);for(let A=0;A<n;A++)o[A]=t.charCodeAt(A);return o.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,o=e.encode(A.topic),r=o.length,i=e.encode(A.routingKey.trim()),s=i.length,a=new ArrayBuffer(21+n+1+1+r+1+s),c=new DataView(a);let l=0;const u=String(A.sign),g=e.encode(u);new Uint8Array(a,l,20).set(g.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,r),l+=1;new Uint8Array(a,l,r).set(o),l+=r,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),o=new Uint8Array(n);return o.set(new Uint8Array(A),0),o.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,o=this.dataUrlToArrayBuffer(e),r=o.byteLength,i=this.arrayBufferToBase64(o),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, 大小 ${r} 字节`),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,o),u=l.byteLength;if(this.options.debug&&(console.log("📸 [大小统计]"),console.log(` Base64 大小: ${n} 字符`),console.log(` 图片字节大小: ${(r/1024).toFixed(2)} KB (${r} 字节)`),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 o=A.split(",")[1]||"",r=o.length;this.options.debug&&(console.log("📸 [发送前] Base64 信息:"),console.log(` Base64 长度: ${r} 字符`),console.log(" 📸 [发送前] 完整 Base64:"),console.log(o),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),g=u.byteLength,h=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 大小: ${r} 字符`),console.log(` 图片字节大小: ${(a/1024).toFixed(2)} KB (${a} 字节)`),console.log(` 配置字节大小: ${g} 字节`),console.log(` 拼接后总大小: ${(f/1024).toFixed(2)} KB (${f} 字节)`),console.log(` ⏱️ 数据转换耗时: ${c.toFixed(2)}ms`),console.log(` ⏱️ 构建配置耗时: ${h.toFixed(2)}ms`),console.log(` ⏱️ 合并数据耗时: ${w.toFixed(2)}ms`));const m=performance.now(),p={type:"screenshotBinary",data:B};this.sendToIframeCallback(p);const C=performance.now()-m,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]),o=n.length,r=new Uint8Array(o);for(let A=0;A<o;A++)r[A]=n.charCodeAt(A);return new Blob([r],{type:e})}case"arrayBuffer":return this.dataUrlToArrayBuffer(t);case"file":{const A=t.split(","),n=A[0].match(/:(.*?);/)?.[1]||"image/webp",o=atob(A[1]),r=o.length,i=new Uint8Array(r);for(let A=0;A<r;A++)i[A]=o.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,o]of A){if(e+n<=100)break;const A=.75*o.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 dt=function(){return dt=Object.assign||function(A){for(var e,t=1,n=arguments.length;t<n;t++)for(var o in e=arguments[t])Object.prototype.hasOwnProperty.call(e,o)&&(A[o]=e[o]);return A},dt.apply(this,arguments)};function Bt(A,e,t,n){return new(t||(t=Promise))(function(o,r){function i(A){try{a(n.next(A))}catch(A){r(A)}}function s(A){try{a(n.throw(A))}catch(A){r(A)}}function a(A){var e;A.done?o(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 ft(A,e){var t,n,o,r={label:0,sent:function(){if(1&o[0])throw o[1];return o[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]&&(r=0)),r;)try{if(t=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return r.label++,{value:s[1],done:!1};case 5:r.label++,n=s[1],s=[0];continue;case 7:s=r.ops.pop(),r.trys.pop();continue;default:if(!(o=r.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){r=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){r.label=s[1];break}if(6===s[0]&&r.label<o[1]){r.label=o[1],o=s;break}if(o&&r.label<o[2]){r.label=o[2],r.ops.push(s);break}o[2]&&r.ops.pop(),r.trys.pop();continue}s=e.call(A,r)}catch(A){s=[6,A],n=0}finally{t=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,a])}}}function wt(A,e,t){if(t||2===arguments.length)for(var n,o=0,r=e.length;o<r;o++)!n&&o in e||(n||(n=Array.prototype.slice.call(e,0,o)),n[o]=e[o]);return A.concat(n||Array.prototype.slice.call(e))}"function"==typeof SuppressedError&&SuppressedError;var mt="4.6.2";function pt(A,e){return new Promise(function(t){return setTimeout(t,A,e)})}function Ct(A){return!!A&&"function"==typeof A.then}function Qt(A,e){try{var t=A();Ct(t)?t.then(function(A){return e(!0,A)},function(A){return e(!1,A)}):e(!0,t)}catch(A){e(!1,A)}}function yt(A,e,t){return void 0===t&&(t=16),Bt(this,void 0,void 0,function(){var n,o,r,i;return ft(this,function(s){switch(s.label){case 0:n=Array(A.length),o=Date.now(),r=0,s.label=1;case 1:return r<A.length?(n[r]=e(A[r],r),(i=Date.now())>=o+t?(o=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++r,[3,1];case 4:return[2,n]}})})}function Ut(A){return A.then(void 0,function(){}),A}function Ft(A){return parseInt(A)}function bt(A){return parseFloat(A)}function Et(A,e){return"number"==typeof A&&isNaN(A)?e:A}function vt(A){return A.reduce(function(A,e){return A+(e?1:0)},0)}function Ht(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 It(A,e){var t=A[0]>>>16,n=65535&A[0],o=A[1]>>>16,r=65535&A[1],i=e[0]>>>16,s=65535&e[0],a=e[1]>>>16,c=0,l=0,u=0,g=0;u+=(g+=r+(65535&e[1]))>>>16,g&=65535,l+=(u+=o+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|g}function xt(A,e){var t=A[0]>>>16,n=65535&A[0],o=A[1]>>>16,r=65535&A[1],i=e[0]>>>16,s=65535&e[0],a=e[1]>>>16,c=65535&e[1],l=0,u=0,g=0,h=0;g+=(h+=r*c)>>>16,h&=65535,u+=(g+=o*c)>>>16,g&=65535,u+=(g+=r*a)>>>16,g&=65535,l+=(u+=n*c)>>>16,u&=65535,l+=(u+=o*a)>>>16,u&=65535,l+=(u+=r*s)>>>16,u&=65535,l+=t*c+n*a+o*s+r*i,l&=65535,A[0]=l<<16|u,A[1]=g<<16|h}function St(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 Lt(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 Dt=[4283543511,3981806797],Kt=[3301882366,444984403];function Tt(A){var e=[0,A[0]>>>1];Mt(A,e),xt(A,Dt),e[1]=A[0]>>>1,Mt(A,e),xt(A,Kt),e[1]=A[0]>>>1,Mt(A,e)}var kt=[2277735313,289559509],Rt=[1291169091,658871167],Pt=[0,5],Ot=[0,1390208809],Vt=[0,944331445];function Nt(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,o=[0,t.length],r=o[1]%16,i=o[1]-r,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,xt(c,kt),St(c,31),xt(c,Rt),Mt(s,c),St(s,27),It(s,a),xt(s,Pt),It(s,Ot),xt(l,Rt),St(l,33),xt(l,kt),Mt(a,l),St(a,31),It(a,s),xt(a,Pt),It(a,Vt);c[0]=0,c[1]=0,l[0]=0,l[1]=0;var u=[0,0];switch(r){case 15:u[1]=t[n+14],Lt(u,48),Mt(l,u);case 14:u[1]=t[n+13],Lt(u,40),Mt(l,u);case 13:u[1]=t[n+12],Lt(u,32),Mt(l,u);case 12:u[1]=t[n+11],Lt(u,24),Mt(l,u);case 11:u[1]=t[n+10],Lt(u,16),Mt(l,u);case 10:u[1]=t[n+9],Lt(u,8),Mt(l,u);case 9:u[1]=t[n+8],Mt(l,u),xt(l,Rt),St(l,33),xt(l,kt),Mt(a,l);case 8:u[1]=t[n+7],Lt(u,56),Mt(c,u);case 7:u[1]=t[n+6],Lt(u,48),Mt(c,u);case 6:u[1]=t[n+5],Lt(u,40),Mt(c,u);case 5:u[1]=t[n+4],Lt(u,32),Mt(c,u);case 4:u[1]=t[n+3],Lt(u,24),Mt(c,u);case 3:u[1]=t[n+2],Lt(u,16),Mt(c,u);case 2:u[1]=t[n+1],Lt(u,8),Mt(c,u);case 1:u[1]=t[n],Mt(c,u),xt(c,kt),St(c,31),xt(c,Rt),Mt(s,c)}return Mt(s,o),Mt(a,o),It(s,a),It(a,s),Tt(s),Tt(a),It(s,a),It(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 Gt(A,e,t,n){var o=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)}),r=Ut(yt(o,function(t){return function(A,e){var t=Ut(new Promise(function(t){var n=Date.now();Qt(A.bind(null,e),function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];var o=Date.now()-n;if(!A[0])return t(function(){return{error:A[1],duration:o}});var r=A[1];if(function(A){return"function"!=typeof A}(r))return t(function(){return{value:r,duration:o}});t(function(){return new Promise(function(A){var e=Date.now();Qt(r,function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=o+Date.now()-e;if(!t[0])return A({error:t[1],duration:r});A({value:t[1],duration:r})})})})})}));return function(){return t.then(function(A){return A()})}}(A[t],e)},n));return function(){return Bt(this,void 0,void 0,function(){var A,e,t,i;return ft(this,function(s){switch(s.label){case 0:return[4,r];case 1:return[4,yt(s.sent(),function(A){return Ut(A())},n)];case 2:return A=s.sent(),[4,Promise.all(A)];case 3:for(e=s.sent(),t={},i=0;i<o.length;++i)t[o[i]]=e[i];return[2,t]}})})}}function Wt(){var A=window,e=navigator;return vt(["MSCSSMatrix"in A,"msSetImmediate"in A,"msIndexedDB"in A,"msMaxTouchPoints"in e,"msPointerEnabled"in e])>=4}function Xt(){var A=window,e=navigator;return vt(["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 vt(["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 vt(["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 vt(["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 vt([!("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 _t(){var A=document;return(A.exitFullscreen||A.msExitFullscreen||A.mozCancelFullScreen||A.webkitExitFullscreen).call(A)}function zt(){var A=Xt(),e=Zt(),t=window,n=navigator,o="connection";return A?vt([!("SharedWorker"in t),n[o]&&"ontypechange"in n[o],!("sinkId"in new Audio)])>=2:!!e&&vt(["onorientationchange"in t,"orientation"in t,/android/i.test(n.appVersion)])>=2}function qt(A){var e=new Error(A);return e.name=A,e}function An(A,e,t){var n,o,r;return void 0===t&&(t=50),Bt(this,void 0,void 0,function(){var i,s;return ft(this,function(a){switch(a.label){case 0:i=document,a.label=1;case 1:return i.body?[3,3]:[4,pt(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,o=function(){n=!0,A()};s.onload=o,s.onerror=function(A){n=!0,t(A)};var r=s.style;r.setProperty("display","block","important"),r.position="absolute",r.top="0",r.left="0",r.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)?o():setTimeout(a,10))};a()})];case 5:a.sent(),a.label=6;case 6:return(null===(o=null===(n=s.contentWindow)||void 0===n?void 0:n.document)||void 0===o?void 0:o.body)?[3,8]:[4,pt(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===(r=s.parentNode)||void 0===r||r.removeChild(s),[7];case 11:return[2]}})})}function en(A){for(var e=function(A){for(var e,t,n="Unexpected syntax '".concat(A,"'"),o=/^\s*([a-z-]*)(.*)$/i.exec(A),r=o[1]||void 0,i={},s=/([.:#][\w-]+|\[.+?\])/gi,a=function(A,e){i[A]=i[A]||[],i[A].push(e)};;){var c=s.exec(o[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[r,i]}(A),t=e[0],n=e[1],o=document.createElement(null!=t?t:"div"),r=0,i=Object.keys(n);r<i.length;r++){var s=i[r],a=n[s].join(" ");"style"===s?tn(o.style,a):o.setAttribute(s,a)}return o}function tn(A,e){for(var t=0,n=e.split(";");t<n.length;t++){var o=n[t],r=/^\s*([\w-]+)\s*:\s*(.+?)(\s*!([\w-]+))?\s*$/.exec(o);if(r){var i=r[1],s=r[2],a=r[4];A.setProperty(i,s,a||"")}}}var nn=["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 rn(A){return A.toDataURL()}var sn,an;function cn(){var A=this;return function(){if(void 0===an){var A=function(){var e=ln();un(e)?an=setTimeout(A,2500):(sn=e,an=void 0)};A()}}(),function(){return Bt(A,void 0,void 0,function(){var A;return ft(this,function(e){switch(e.label){case 0:return un(A=ln())?sn?[2,wt([],sn,!0)]:(t=document).fullscreenElement||t.msFullscreenElement||t.mozFullScreenElement||t.webkitFullscreenElement?[4,_t()]:[3,2]:[3,2];case 1:e.sent(),A=ln(),e.label=2;case 2:return un(A)||(sn=A),[2,A]}var t})})}}function ln(){var A=screen;return[Et(bt(A.availTop),null),Et(bt(A.width)-bt(A.availWidth)-Et(bt(A.availLeft),0),null),Et(bt(A.height)-bt(A.availHeight)-Et(bt(A.availTop),0),null),Et(bt(A.availLeft),null)]}function un(A){for(var e=0;e<4;++e)if(A[e])return!1;return!0}function gn(A){var e;return Bt(this,void 0,void 0,function(){var t,n,o,r,i,s,a;return ft(this,function(c){switch(c.label){case 0:for(t=document,n=t.createElement("div"),o=new Array(A.length),r={},hn(n),a=0;a<A.length;++a)"DIALOG"===(i=en(A[a])).tagName&&i.show(),hn(s=t.createElement("div")),s.appendChild(i),n.appendChild(s),o[a]=i;c.label=1;case 1:return t.body?[3,3]:[4,pt(50)];case 2:return c.sent(),[3,1];case 3:t.body.appendChild(n);try{for(a=0;a<A.length;++a)o[a].offsetParent||(r[A[a]]=!0)}finally{null===(e=n.parentNode)||void 0===e||e.removeChild(n)}return[2,r]}})})}function hn(A){A.style.setProperty("visibility","hidden","important"),A.style.setProperty("display","block","important")}function dn(A){return matchMedia("(inverted-colors: ".concat(A,")")).matches}function Bn(A){return matchMedia("(forced-colors: ".concat(A,")")).matches}function fn(A){return matchMedia("(prefers-contrast: ".concat(A,")")).matches}function wn(A){return matchMedia("(prefers-reduced-motion: ".concat(A,")")).matches}function mn(A){return matchMedia("(prefers-reduced-transparency: ".concat(A,")")).matches}function pn(A){return matchMedia("(dynamic-range: ".concat(A,")")).matches}var Cn=Math,Qn=function(){return 0};var yn={default:[],apple:[{font:"-apple-system-body"}],serif:[{fontFamily:"serif"}],sans:[{fontFamily:"sans-serif"}],mono:[{fontFamily:"monospace"}],min:[{fontSize:"1px"}],system:[{fontFamily:"system-ui"}]};var Un=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 Fn=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]),bn=new Set([34047,35723,36063,34852,34853,34854,34229,36392,36795,38449]),En=["FRAGMENT_SHADER","VERTEX_SHADER"],vn=["LOW_FLOAT","MEDIUM_FLOAT","HIGH_FLOAT","LOW_INT","MEDIUM_INT","HIGH_INT"],Hn="WEBGL_debug_renderer_info";function In(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,o=["webgl","experimental-webgl"];n<o.length;n++){var r=o[n];try{e=t.getContext(r)}catch(A){}if(e)break}return A.webgl={context:e},e}function xn(A,e,t){var n=A.getShaderPrecisionFormat(A[e],A[t]);return n?[n.rangeMin,n.rangeMax,n.precision]:[]}function Sn(A){return Object.keys(A.__proto__).filter(Ln)}function Ln(A){return"string"==typeof A&&!A.match(/[^A-Z0-9_x]/)}function Mn(){return Zt()}function Dn(){return Xt()||Jt()}function Kn(A){return"function"==typeof A.getParameter}var Tn={fonts:function(){var A=this;return An(function(e,t){var n=t.document;return Bt(A,void 0,void 0,function(){var A,e,t,o,r,i,s,a,c,l,u;return ft(this,function(g){for((A=n.body).style.fontSize="48px",(e=n.createElement("div")).style.setProperty("visibility","hidden","important"),t={},o={},r=function(A){var t=n.createElement("span"),o=t.style;return o.position="absolute",o.top="0",o.left="0",o.fontFamily=A,t.textContent="mmMwWLliI0O&1",e.appendChild(t),t},i=function(A,e){return r("'".concat(A,"',").concat(e))},s=function(){for(var A={},e=function(e){A[e]=nn.map(function(A){return i(e,A)})},t=0,n=on;t<n.length;t++){e(n[t])}return A},a=function(A){return nn.some(function(e,n){return A[n].offsetWidth!==t[e]||A[n].offsetHeight!==o[e]})},c=function(){return nn.map(r)}(),l=s(),A.appendChild(e),u=0;u<nn.length;u++)t[nn[u]]=c[u].offsetWidth,o[nn[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 Bt(this,void 0,void 0,function(){var A,t,n,o,r;return ft(this,function(i){switch(i.label){case 0:return Jt()||zt()?(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((r=[]).concat.apply(r,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,o=Object.keys(A);n<o.length;n++){var r=o[n];t+="\n".concat(r,":");for(var i=0,s=A[r];i<s.length;i++){var a=s[i];t+="\n ".concat(e[a]?"🚫":"➡️"," ").concat(a)}}console.log("".concat(t,"\n```"))}(A,n),(o=t.filter(function(e){var t=A[e];return vt(t.map(function(A){return n[A]}))>.6*t.length})).sort(),[2,o]}var s})})},fontPreferences:function(){return function(A,e){void 0===e&&(e=4e3);return An(function(t,n){var o=n.document,r=o.body,i=r.style;i.width="".concat(e,"px"),i.webkitTextSizeAdjust=i.textSizeAdjust="none",Xt()?r.style.zoom="".concat(1/n.devicePixelRatio):Jt()&&(r.style.zoom="reset");var s=o.createElement("div");return s.textContent=wt([],Array(e/20|0),!0).map(function(){return"word"}).join(" "),r.appendChild(s),A(o,r)},'<!doctype html><html><head><meta name="viewport" content="width=device-width, initial-scale=1">')}(function(A,e){for(var t={},n={},o=0,r=Object.keys(yn);o<r.length;o++){var i=r[o],s=yn[i],a=s[0],c=void 0===a?{}:a,l=s[1],u=void 0===l?"mmMwWLliI0fiflO&1":l,g=A.createElement("span");g.textContent=u,g.style.whiteSpace="nowrap";for(var h=0,d=Object.keys(c);h<d.length;h++){var B=d[h],f=c[B];void 0!==f&&(g.style[B]=f)}t[i]=g,e.append(A.createElement("br"),g)}for(var w=0,m=Object.keys(yn);w<m.length;w++){n[i=m[w]]=t[i].getBoundingClientRect().width}return n})},audio:function(){return Jt()&&jt()&&$t()||Xt()&&(A=navigator,e=window,t=Audio.prototype,n=e.visualViewport,vt(["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 vt(["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 vt(["DOMRectList"in A,"RTCPeerConnectionIceEvent"in A,"SVGGeometryElement"in A,"ontransitioncancel"in A])>=3}())return-1;var t=4500,n=new e(1,5e3,44100),o=n.createOscillator();o.type="triangle",o.frequency.value=1e4;var r=n.createDynamicsCompressor();r.threshold.value=-50,r.knee.value=40,r.ratio.value=12,r.attack.value=0,r.release.value=.25,o.connect(r),r.connect(n.destination),o.start(0);var i=function(A){var e=3,t=500,n=500,o=5e3,r=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(qt("timeout"))},Math.min(n,l+o-Date.now()))},g=function(){try{var n=A.startRendering();switch(Ct(n)&&Ut(n),A.state){case"running":l=Date.now(),a&&u();break;case"suspended":document.hidden||c++,a&&c>=e?s(qt("suspended")):setTimeout(g,t)}}catch(A){s(A)}};g(),r=function(){a||(a=!0,l>0&&u())}});return[i,r]}(n),s=i[0],a=i[1],c=Ut(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()&&jt()&&$t())return function(){return Promise.resolve(void 0)};var e=cn();return function(){return Bt(A,void 0,void 0,function(){var A,t;return ft(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:Ht(A,10)})(A[0]),t(A[1]),t(A[2]),t(A[3])]]}})})}},canvas:function(){return function(A){var e,t,n,o=!1,r=function(){var A=document.createElement("canvas");return A.width=1,A.height=1,[A,A.getContext("2d")]}(),i=r[0],s=r[1];!function(A,e){return!(!e||!A.toDataURL)}(i,s)?t=n="unsupported":(o=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=rn(A),n=rn(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 o=n[t],r=o[0],i=o[1],s=o[2];e.fillStyle=r,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 o=rn(A);return[o,t]}(i,s),t=e[0],n=e[1]));return{winding:o,geometry:t,text:n}}(Jt()&&jt()&&$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()&&vt([!("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 o=e.languages;o&&t.push(o.split(","))}return t},colorDepth:function(){return window.screen.colorDepth},deviceMemory:function(){return Et(bt(navigator.deviceMemory),void 0)},screenResolution:function(){var A,e,t;if(!(Jt()&&jt()&&$t()))return A=screen,(t=[(e=function(A){return Et(Ft(A),null)})(A.width),e(A.height)]).sort().reverse(),t},hardwareConcurrency:function(){return Et(Ft(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,o=(n=(new Date).getFullYear(),-Math.max(bt(new Date(n,0,1).getTimezoneOffset()),bt(new Date(n,6,1).getTimezoneOffset())));return"UTC".concat(o>=0?"+":"").concat(o)},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(!(Wt()||(A=window,e=navigator,vt(["msWriteProfilerMark"in A,"MSStream"in A,"msLaunchUri"in e,"msSaveBlob"in e])>=3&&!Wt())))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 vt(["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 o=[],r=0;r<n.length;++r){var i=n[r];o.push({type:i.type,suffixes:i.suffixes})}e.push({name:n.name,description:n.description,mimeTypes:o})}}return e}},touchSupport:function(){var A,e=navigator,t=0;void 0!==e.maxTouchPoints?t=Ft(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],o=window[n];o&&"object"==typeof o&&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!!dn("inverted")||!dn("none")&&void 0},forcedColors:function(){return!!Bn("active")||!Bn("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 fn("no-preference")?0:fn("high")||fn("more")?1:fn("low")||fn("less")?-1:fn("forced")?10:void 0},reducedMotion:function(){return!!wn("reduce")||!wn("no-preference")&&void 0},reducedTransparency:function(){return!!mn("reduce")||!mn("no-preference")&&void 0},hdr:function(){return!!pn("high")||!pn("standard")&&void 0},math:function(){var A,e=Cn.acos||Qn,t=Cn.acosh||Qn,n=Cn.asin||Qn,o=Cn.asinh||Qn,r=Cn.atanh||Qn,i=Cn.atan||Qn,s=Cn.sin||Qn,a=Cn.sinh||Qn,c=Cn.cos||Qn,l=Cn.cosh||Qn,u=Cn.tan||Qn,g=Cn.tanh||Qn,h=Cn.exp||Qn,d=Cn.expm1||Qn,B=Cn.log1p||Qn;return{acos:e(.12312423423423424),acosh:t(1e308),acoshPf:(A=1e154,Cn.log(A+Cn.sqrt(A*A-1))),asin:n(.12312423423423424),asinh:o(1),asinhPf:function(A){return Cn.log(A+Cn.sqrt(A*A+1))}(1),atanh:r(.5),atanhPf:function(A){return Cn.log((1+A)/(1-A))/2}(.5),atan:i(.5),sin:s(-1e300),sinh:a(1),sinhPf:function(A){return Cn.exp(A)-1/Cn.exp(A)/2}(1),cos:c(10.000000000123),cosh:l(1),coshPf:function(A){return(Cn.exp(A)+1/Cn.exp(A))/2}(1),tan:u(-1e300),tanh:g(1),tanhPf:function(A){return(Cn.exp(2*A)-1)/(Cn.exp(2*A)+1)}(1),exp:h(1),expm1:d(1),expm1Pf:function(A){return Cn.exp(A)-1}(1),log1p:B(10),log1pPf:function(A){return Cn.log(1+A)}(10),powPI:function(A){return Cn.pow(Cn.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(Un())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(!(zt()||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,o,r,i,s=In(A.cache);if(!s)return-1;if(!Kn(s))return-2;var a=Mn()?null:s.getExtension(Hn);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===(o=s.getParameter(s.RENDERER))||void 0===o?void 0:o.toString())||"",rendererUnmasked:a?null===(r=s.getParameter(a.UNMASKED_RENDERER_WEBGL))||void 0===r?void 0:r.toString():"",shadingLanguageVersion:(null===(i=s.getParameter(s.SHADING_LANGUAGE_VERSION))||void 0===i?void 0:i.toString())||""}},webGlExtensions:function(A){var e=In(A.cache);if(!e)return-1;if(!Kn(e))return-2;var t=e.getSupportedExtensions(),n=e.getContextAttributes(),o=[],r=[],i=[],s=[],a=[];if(n)for(var c=0,l=Object.keys(n);c<l.length;c++){var u=l[c];r.push("".concat(u,"=").concat(n[u]))}for(var g=0,h=Sn(e);g<h.length;g++){var d=e[Q=h[g]];i.push("".concat(Q,"=").concat(d).concat(Fn.has(d)?"=".concat(e.getParameter(d)):""))}if(t)for(var B=0,f=t;B<f.length;B++){var w=f[B];if(!(w===Hn&&Mn()||"WEBGL_polygon_mode"===w&&Dn())){var m=e.getExtension(w);if(m)for(var p=0,C=Sn(m);p<C.length;p++){var Q;d=m[Q=C[p]];s.push("".concat(Q,"=").concat(d).concat(bn.has(d)?"=".concat(e.getParameter(d)):""))}else o.push(w)}}for(var y=0,U=En;y<U.length;y++)for(var F=U[y],b=0,E=vn;b<E.length;b++){var v=E[b],H=xn(e,F,v);a.push("".concat(F,".").concat(v,"=").concat(H.join(",")))}return s.sort(),i.sort(),{contextAttributes:r,parameters:i,shaderPrecisions:a,extensions:t,extensionParameters:s,unsupportedExtensions:o}}};function kn(A){var e=function(A){if(zt())return.4;if(Jt())return!Yt()||jt()&&$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 Ht(.99+.01*A,1e-4)}(e);return{score:e,comment:"$ if upgrade to Pro: https://fpjs.dev/pro".replace(/\$/g,"".concat(t))}}function Rn(A){return JSON.stringify(A,function(A,e){return e instanceof Error?dt({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 Pn(A){return Nt(function(A){for(var e="",t=0,n=Object.keys(A).sort();t<n.length;t++){var o=n[t],r=A[o],i="error"in r?"error":JSON.stringify(r.value);e+="".concat(e?"|":"").concat(o.replace(/([:|\\])/g,"\\$1"),":").concat(i)}return e}(A))}function On(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})}):pt(Math.min(A,e))}(A,2*A)}function Vn(A,e){var t=Date.now();return{get:function(n){return Bt(this,void 0,void 0,function(){var o,r,i;return ft(this,function(s){switch(s.label){case 0:return o=Date.now(),[4,A()];case 1:return r=s.sent(),i=function(A){var e,t=kn(A);return{get visitorId(){return void 0===e&&(e=Pn(this.components)),e},set visitorId(A){e=A},confidence:t,components:A,version:mt}}(r),(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(o-t,"\nvisitorId: ").concat(i.visitorId,"\ncomponents: ").concat(Rn(r),"\n```")),[2,i]}})})}}}var Nn={load:function(A){var e;return void 0===A&&(A={}),Bt(this,void 0,void 0,function(){var t,n,o;return ft(this,function(r){switch(r.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,On(t)];case 1:return r.sent(),o=function(A){return Gt(Tn,A,[])}({cache:{},debug:n}),[2,Vn(o,n)]}})})},hashComponents:Pn,componentsToDebugString:Rn};class Gn{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,o=!1){if(this.isInitializing)throw new Error("SDK is already initializing. Please wait for the current initialization to complete.");if(this.isInitialized&&!o){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&&o&&(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 o=await this.getDeviceId();this.debug&&console.log("Device ID:",o);const r=this.buildIframeUrl(A,o),i={deviceId:o,iframeUrl:r,referrer:this.getReferrer(A),agent:A.agent,timestamp:Date.now()},s=void 0!==n?.iconPosition?n.iconPosition:this.lastIconConfig?.position||void 0,a=void 0!==n?.target?n.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===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: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===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:s,target:a}),this.iframeManager=new t({src:r,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 ht(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=i,this.debug&&console.log("CustomerSDK initialized successfully (iframe pre-connected to SSE)"),i}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 Nn.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 o=!1;return n!==e&&(o="string"==typeof n&&"string"==typeof e?n!==e:(n instanceof HTMLElement&&HTMLElement,!0)),t||o}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 Wn=null;const Xn=async(A,e,t=!1)=>(Wn||(Wn=new Gn),await Wn.init(A,e,t)),Jn=()=>{if(!Wn)throw new Error("SDK not initialized. Call init() first.");return Wn},Yn=()=>{Jn().showIcon()},$n=()=>{Jn().hideIcon()},Zn=A=>{Jn().setIconPosition(A)},jn=A=>{Jn().setIconCoordinates(A)},_n=A=>{Jn().setIconStyle(A)},zn=()=>{Jn().openChat()},qn=()=>{Jn().closeChat()},Ao=()=>Jn().isChatOpen(),eo=A=>{Jn().sendToIframe(A)},to=()=>Jn().getConnectionStatus(),no=()=>Jn().getInitResult(),oo=(A=1,e={})=>{Jn().showNotification(A,e)},ro=()=>{Jn().clearNotification()},io=()=>{Jn().destroy(),Wn=null},so=A=>{Jn().setScreenshotTarget(A)},ao=async(A=!1)=>{const e=Jn();return await e.captureScreenshot(A)},co=A=>{Jn().enableScreenshot(A)},lo=()=>Jn().getScreenshotState(),uo=A=>{Jn().updateScreenshotOptions(A)},go=async(A,e)=>{const t=Jn();return await t.updateToken(A,e)};var ho={init:Xn,getInstance:Jn,getInitResult:no,showIcon:Yn,hideIcon:$n,setIconPosition:Zn,setIconCoordinates:jn,setIconStyle:_n,openChat:zn,closeChat:qn,isChatOpen:Ao,sendToIframe:eo,getConnectionStatus:to,showNotification:oo,clearNotification:ro,setScreenshotTarget:so,captureScreenshot:ao,enableScreenshot:co,getScreenshotState:lo,updateScreenshotOptions:uo,updateToken:go,destroy:io};A.CustomerServiceSDK=Gn,A.captureScreenshot=ao,A.clearNotification=ro,A.closeChat=qn,A.default=ho,A.destroy=io,A.enableScreenshot=co,A.getConnectionStatus=to,A.getInitResult=no,A.getInstance=Jn,A.getScreenshotState=lo,A.hideIcon=$n,A.init=Xn,A.isChatOpen=Ao,A.openChat=zn,A.sendToIframe=eo,A.setIconCoordinates=jn,A.setIconPosition=Zn,A.setIconStyle=_n,A.setScreenshotTarget=so,A.showIcon=Yn,A.showNotification=oo,A.updateScreenshotOptions=uo,A.updateToken=go,Object.defineProperty(A,"__esModule",{value:!0})});