UNPKG

feedlytic-widget

Version:

Lightweight JavaScript widget for capturing user feedback and exit-intent surveys

1,159 lines 394 kB
(function(sA,nA){typeof exports=="object"&&typeof module<"u"?nA(exports):typeof define=="function"&&define.amd?define(["exports"],nA):(sA=typeof globalThis<"u"?globalThis:sA||self,nA(sA.Feedlytic={}))})(this,function(sA){"use strict";var af=Object.defineProperty;var of=(sA,nA,re)=>nA in sA?af(sA,nA,{enumerable:!0,configurable:!0,writable:!0,value:re}):sA[nA]=re;var y=(sA,nA,re)=>of(sA,typeof nA!="symbol"?nA+"":nA,re);class nA{constructor(A){y(this,"element",null);y(this,"config");y(this,"onFeedbackClick",null);y(this,"onContextualClick",null);y(this,"isContextualMode",!1);this.config=A}create(A,e){this.onFeedbackClick=A,this.onContextualClick=e||null;const t=document.createElement("div");return t.className="feedlytic-sticky-wrapper",this.element=document.createElement("div"),this.element.id="feedlytic-floating-button",this.element.className="feedlytic-floating-container",this.updateElement(),this.addStyles(),this.attachEventListeners(),t.appendChild(this.element),t}updateElement(){if(!this.element)return;const A=this.config.enableContextualFeedback!==!1;this.element.innerHTML=`
      <div class="feedlytic-social-bar">
        ${A?`
          <button 
            id="feedlytic-contextual-fab" 
            class="feedlytic-social-btn ${this.isContextualMode?"active":""}"
            title="Click to add contextual comments"
          >
            <svg width="18" height="18" fill="currentColor" viewBox="0 0 20 20">
              <path fill-rule="evenodd" d="M18 10c0 3.866-3.582 7-8 7a8.841 8.841 0 01-4.083-.98L2 17l1.338-3.123C2.493 12.767 2 11.434 2 10c0-3.866 3.582-7 8-7s8 3.134 8 7zM7 9H5v2h2V9zm8 0h-2v2h2V9zM9 9h2v2H9V9z" clip-rule="evenodd"/>
            </svg>
            <span class="feedlytic-social-label">Add Comment</span>
          </button>
        `:""}
        
        <button 
          id="feedlytic-feedback-fab" 
          class="feedlytic-social-btn"
          title="Send feedback"
        >
          <svg width="18" height="18" fill="currentColor" viewBox="0 0 20 20">
            <path fill-rule="evenodd" d="M18 5v8a2 2 0 01-2 2h-5l-5 4v-4H4a2 2 0 01-2-2V5a2 2 0 012-2h12a2 2 0 012 2zM7 8H5v2h2V8zm2 0h2v2H9V8zm6 0h-2v2h2V8z" clip-rule="evenodd"/>
          </svg>
          <span class="feedlytic-social-label">Feedback</span>
        </button>
      </div>
    `}addStyles(){if(document.getElementById("feedlytic-floating-styles"))return;const A=document.createElement("style");A.id="feedlytic-floating-styles",A.textContent=`
      .feedlytic-sticky-wrapper {
        position: fixed;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        z-index: 999999;
        pointer-events: none;
      }

      .feedlytic-floating-container {
        position: relative;
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
        pointer-events: auto;
      }

      .feedlytic-social-bar {
        display: flex;
        flex-direction: column;
        gap: 0;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
        border-radius: 8px 0 0 8px;
        overflow: hidden;
        background: rgba(255, 255, 255, 0.1);
        backdrop-filter: blur(10px);
        border: 1px solid rgba(255, 255, 255, 0.1);
        border-right: none;
      }

      .feedlytic-social-btn {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        padding: 16px 12px;
        border: none;
        background: ${this.config.color||"#4f46e5"};
        color: white;
        cursor: pointer;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        position: relative;
        overflow: hidden;
        min-width: 50px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        gap: 8px;
      }

      .feedlytic-social-btn:last-child {
        border-bottom: none;
      }

      .feedlytic-social-btn:hover {
        background: ${this.adjustColor(this.config.color||"#4f46e5",20)};
        transform: translateX(-2px);
        min-width: 120px;
      }

      .feedlytic-social-btn.active {
        background: ${this.adjustColor(this.config.color||"#4f46e5",40)};
        transform: translateX(-2px);
        min-width: 120px;
      }

      .feedlytic-social-btn:active {
        transform: translateX(-1px) scale(0.98);
      }

      .feedlytic-social-label {
        font-size: 14px;
        font-weight: 500;
        opacity: 0;
        transform: translateX(-10px);
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        white-space: nowrap;
        margin-left: 4px;
      }

      .feedlytic-social-btn:hover .feedlytic-social-label,
      .feedlytic-social-btn.active .feedlytic-social-label {
        opacity: 1;
        transform: translateX(0);
      }

      /* Ripple effect */
      .feedlytic-social-btn::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 0;
        height: 0;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.3);
        transform: translate(-50%, -50%);
        transition: width 0.6s, height 0.6s;
      }

      .feedlytic-social-btn:active::before {
        width: 120px;
        height: 120px;
      }

      /* Alternative color schemes for different buttons */
      .feedlytic-social-btn:nth-child(1) {
        background: #1DA1F2; /* Twitter blue for comment */
      }

      .feedlytic-social-btn:nth-child(1):hover {
        background: #1a91da;
      }

      .feedlytic-social-btn:nth-child(2) {
        background: ${this.config.color||"#4f46e5"}; /* Keep config color for feedback */
      }

      .feedlytic-social-btn:nth-child(2):hover {
        background: ${this.adjustColor(this.config.color||"#4f46e5",20)};
      }

      /* Mobile optimizations */
      @media (max-width: 768px) {
        .feedlytic-social-btn {
          padding: 14px 10px;
          min-width: 44px;
        }
        
        .feedlytic-social-btn:hover {
          min-width: 100px;
        }
        
        .feedlytic-social-label {
          font-size: 12px;
        }
      }

      /* Pulse animation for contextual mode */
      .feedlytic-social-btn.active {
        animation: feedlytic-pulse 2s infinite;
      }

      @keyframes feedlytic-pulse {
        0% { box-shadow: 0 0 0 0 rgba(29, 161, 242, 0.7); }
        70% { box-shadow: 0 0 0 10px rgba(29, 161, 242, 0); }
        100% { box-shadow: 0 0 0 0 rgba(29, 161, 242, 0); }
      }
    `,document.head.appendChild(A)}adjustColor(A,e){const t=A[0]==="#",s=t?A.slice(1):A,n=parseInt(s,16);let i=(n>>16)+e,a=(n>>8&255)+e,o=(n&255)+e;return i=i>255?255:i<0?0:i,a=a>255?255:a<0?0:a,o=o>255?255:o<0?0:o,(t?"#":"")+(i<<16|a<<8|o).toString(16).padStart(6,"0")}attachEventListeners(){if(!this.element)return;const A=this.element.querySelector("#feedlytic-contextual-fab");A&&this.onContextualClick&&A.addEventListener("click",()=>{this.onContextualClick&&this.onContextualClick()});const e=this.element.querySelector("#feedlytic-feedback-fab");e&&this.onFeedbackClick&&e.addEventListener("click",()=>{this.onFeedbackClick&&this.onFeedbackClick()})}show(){this.element&&(this.element.style.display="block")}hide(){this.element&&(this.element.style.display="none")}destroy(){this.element&&(this.element.remove(),this.element=null);const A=document.getElementById("feedlytic-floating-styles");A&&A.remove()}updateContextualMode(A){this.isContextualMode=A,this.updateElement(),this.attachEventListeners()}}class re{constructor(A){y(this,"config");y(this,"element",null);y(this,"isOpen",!1);y(this,"eventListeners",new Map);y(this,"onClose",null);y(this,"uploadedFiles",[]);y(this,"screenshots",[]);y(this,"currentThreadData",null);y(this,"isDragging",!1);y(this,"dragOffset",{x:0,y:0});y(this,"dragStartPosition",{x:0,y:0});this.config=A}open(A,e){var s;if(this.isOpen)return;console.log("ExitBug: ThreadInterface.open called with data:",A),this.isOpen=!0,this.onClose=e||null,this.currentThreadData=A,this.createElement(A),this.addStyles(),this.attachEventListeners(),document.body.appendChild(this.element),this.positionElement(A.position);const t=(s=this.element)==null?void 0:s.querySelector(".feedlet-thread-textarea");t&&t.focus(),requestAnimationFrame(()=>{var n;(n=this.element)==null||n.classList.add("open")}),this.emit("opened",{type:A.type})}close(){this.isOpen&&(this.isOpen=!1,this.uploadedFiles=[],this.screenshots=[],this.currentThreadData=null,this.element&&(this.element.classList.remove("open"),setTimeout(()=>{this.element&&(this.element.remove(),this.element=null)},200)),this.onClose&&this.onClose(),this.emit("closed",{}))}on(A,e){this.eventListeners.has(A)||this.eventListeners.set(A,[]),this.eventListeners.get(A).push(e)}emit(A,e){const t=this.eventListeners.get(A);t&&t.forEach(s=>s(e))}isThreadOpen(){return this.isOpen}createElement(A){this.element=document.createElement("div"),this.element.className="feedlet-thread-container",this.element.id="feedlet-thread";const e=A.type==="contextual",t=A.type==="comment",s=A.type==="exit-survey",n=e&&A.marker,i=A.placeholder||(e||t?"Add a comment...":s?"What could we have done better?":"Start a new thread...");this.element.innerHTML=`
      <div class="feedlet-thread-box">
        <div class="feedlet-thread-header">
          <div class="feedlet-thread-title">
            ${n?this.renderContextualTitle(A.marker):s?"🚪 Quick Survey":e||t?"Comment":"Feedback"}
          </div>
          <button type="button" class="feedlet-thread-close-btn" title="Close">
            <svg width="16" height="16" fill="currentColor" viewBox="0 0 20 20">
              <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"/>
            </svg>
          </button>
        </div>

        ${s?this.renderExitSurveyIntro():""}
        <form class="feedlet-thread-form" id="feedlet-thread-form">
          <div class="feedlet-thread-input-container">
            <textarea
              class="feedlet-thread-textarea"
              placeholder="${i}"
              rows="1"
              required
            ></textarea>
            <div class="feedlet-thread-attachments" id="feedlet-attachments"></div>
            <div class="feedlet-thread-actions">
              ${s?"":`
                <button type="button" class="feedlet-thread-action-btn" id="feedlet-file-upload" title="Add file">
                  <svg width="18" height="18" fill="currentColor" viewBox="0 0 20 20">
                    <path fill-rule="evenodd" d="M10 3a1 1 0 011 1v5h5a1 1 0 110 2h-5v5a1 1 0 11-2 0v-5H4a1 1 0 110-2h5V4a1 1 0 011-1z" clip-rule="evenodd"/>
                  </svg>
                </button>
                <button type="button" class="feedlet-thread-action-btn" id="feedlet-screenshot" title="Add screenshot (multiple allowed)">
                  <svg width="18" height="18" fill="currentColor" viewBox="0 0 20 20">
                    <path fill-rule="evenodd" d="M4 3a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V5a2 2 0 00-2-2H4zm12 12H4l4-8 3 6 2-4 3 6z" clip-rule="evenodd"></path>
                  </svg>
                </button>
                <button type="button" class="feedlet-thread-action-btn" title="Format text">
                  <svg width="18" height="18" fill="currentColor" viewBox="0 0 20 20">
                    <path d="M3 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm0 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm0 4a1 1 0 011-1h8a1 1 0 110 2H4a1 1 0 01-1-1z"></path>
                  </svg>
                </button>
              `}
              <button type="submit" class="feedlet-thread-submit-btn" title="${s?"Submit survey":"Send"}">
                <svg width="18" height="18" fill="currentColor" viewBox="0 0 20 20">
                  <path d="M10.894 2.553a1 1 0 00-1.788 0l-7 14a1 1 0 001.169 1.409l5-1.429A1 1 0 009 15.571V11a1 1 0 112 0v4.571a1 1 0 00.725.962l5 1.428a1 1 0 001.17-1.408l-7-14z"></path>
                </svg>
              </button>
            </div>
          </div>
          ${A.type==="feedback"?this.renderFeedbackTypeSelector():""}
          ${s?this.renderExitSurveyContact():this.renderContactSection()}
        </form>
        <input type="file" id="feedlet-file-input" accept="image/*,.pdf,.doc,.docx,.txt" multiple style="display: none;">
      </div>
      <div class="feedlet-thread-backdrop" data-dismiss="true"></div>
    `}renderContextualTitle(A){return`
      <div class="feedlet-thread-title-content">
        <svg width="12" height="12" fill="currentColor" viewBox="0 0 20 20">
          <path fill-rule="evenodd" d="M5.05 4.05a7 7 0 119.9 9.9L10 18.9l-4.95-4.95a7 7 0 010-9.9zM10 11a2 2 0 100-4 2 2 0 000 4z" clip-rule="evenodd"></path>
        </svg>
        <span class="feedlet-thread-title-text">${A.elementText?`"${A.elementText}"`:A.elementSelector}</span>
      </div>
    `}renderContextualInfo(A){return`
      <div class="feedlet-thread-context">
        <div class="feedlet-thread-context-pin">
          <svg width="12" height="12" fill="currentColor" viewBox="0 0 20 20">
            <path fill-rule="evenodd" d="M5.05 4.05a7 7 0 119.9 9.9L10 18.9l-4.95-4.95a7 7 0 010-9.9zM10 11a2 2 0 100-4 2 2 0 000 4z" clip-rule="evenodd"></path>
          </svg>
        </div>
        <div class="feedlet-thread-context-text">
          ${A.elementText?`"${A.elementText}"`:A.elementSelector}
        </div>
      </div>
    `}renderFeedbackTypeSelector(){return`
      <div class="feedlet-thread-type-selector">
        <label class="feedlet-thread-type-option">
          <input type="radio" name="type" value="bug" checked>
          <span class="feedlet-thread-type-label">
            <span class="feedlet-thread-type-icon">🐛</span>
            Bug
          </span>
        </label>
        <label class="feedlet-thread-type-option">
          <input type="radio" name="type" value="idea">
          <span class="feedlet-thread-type-label">
            <span class="feedlet-thread-type-icon">💡</span>
            Idea
          </span>
        </label>
        <label class="feedlet-thread-type-option">
          <input type="radio" name="type" value="other">
          <span class="feedlet-thread-type-label">
            <span class="feedlet-thread-type-icon">💬</span>
            Other
          </span>
        </label>
      </div>
    `}renderContactSection(){return`
      <div class="feedlet-thread-contact-section">
        <details class="feedlet-thread-contact-details">
          <summary class="feedlet-thread-contact-summary">
            <svg width="16" height="16" fill="currentColor" viewBox="0 0 20 20">
              <path d="M2.003 5.884L10 9.882l7.997-3.998A2 2 0 0016 4H4a2 2 0 00-1.997 1.884z"></path>
              <path d="M18 8.118l-8 4-8-4V14a2 2 0 002 2h12a2 2 0 002-2V8.118z"></path>
            </svg>
            Get notified when this is resolved
          </summary>
          <div class="feedlet-thread-contact-content">
            <p class="feedlet-thread-contact-description">
              Want to know when we've addressed your feedback? Leave your email and we'll keep you updated.
            </p>
            <div class="feedlet-thread-contact-fields">
              <input 
                type="email" 
                name="contact_email" 
                placeholder="your.email@example.com"
                class="feedlet-thread-contact-email"
              />
              <label class="feedlet-thread-contact-notify">
                <input type="checkbox" name="notify_on_update" value="true" checked />
                <span>Send me updates</span>
              </label>
            </div>
          </div>
        </details>
      </div>
    `}renderExitSurveyIntro(){return`
      <div class="feedlet-thread-exit-intro">
        <div class="feedlet-thread-exit-intro-content">
          <p>Before you go, could you help us improve? Your feedback only takes a moment and helps us serve you better.</p>
        </div>
      </div>
    `}renderExitSurveyContact(){return`
      <div class="feedlet-thread-contact-section feedlet-thread-exit-contact">
        <details class="feedlet-thread-contact-details">
          <summary class="feedlet-thread-contact-summary">
            <svg width="16" height="16" fill="currentColor" viewBox="0 0 20 20">
              <path d="M2.003 5.884L10 9.882l7.997-3.998A2 2 0 0016 4H4a2 2 0 00-1.997 1.884z"></path>
              <path d="M18 8.118l-8 4-8-4V14a2 2 0 002 2h12a2 2 0 002-2V8.118z"></path>
            </svg>
            Stay in touch (optional)
          </summary>
          <div class="feedlet-thread-contact-content">
            <p class="feedlet-thread-contact-description">
              Want to hear about improvements based on your feedback? Leave your email.
            </p>
            <div class="feedlet-thread-contact-fields">
              <input 
                type="email" 
                name="contact_email" 
                placeholder="your.email@example.com"
                class="feedlet-thread-contact-email"
              />
              <label class="feedlet-thread-contact-notify">
                <input type="checkbox" name="notify_on_update" value="true" />
                <span>Send me updates</span>
              </label>
            </div>
          </div>
        </details>
      </div>
    `}positionElement(A){if(!this.element)return;const e={width:window.innerWidth,height:window.innerHeight};this.element.getBoundingClientRect();const t=360,s=200;let n=A.x,i=A.y;n+t>e.width-20&&(n=e.width-t-20),n<20&&(n=20),i+s>e.height-20&&(i=A.y-s-10),i<20&&(i=20),this.element.style.left=`${n}px`,this.element.style.top=`${i}px`}addStyles(){if(document.getElementById("feedlet-thread-styles"))return;const A=document.createElement("style");A.id="feedlet-thread-styles",A.textContent=`
      .feedlet-thread-container {
        position: fixed;
        z-index: 1000000;
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
        opacity: 0;
        transform: scale(0.96) translateY(-8px);
        transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
        pointer-events: none;
      }

      .feedlet-thread-container.open {
        opacity: 1;
        transform: scale(1) translateY(0);
        pointer-events: auto;
      }

      .feedlet-thread-container.dragging {
        transition: none;
      }

      .feedlet-thread-backdrop {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        z-index: -1;
        background: transparent;
      }

      .feedlet-thread-box {
        width: 360px;
        background: var(--feedlet-bg-primary, #1a1a1a);
        border-radius: 12px;
        box-shadow: 0 8px 16px var(--feedlet-shadow, rgba(0, 0, 0, 0.15));
        border: 1px solid var(--feedlet-border, rgba(255, 255, 255, 0.12));
        overflow: hidden;
        backdrop-filter: var(--feedlet-backdrop-filter, blur(8px));
      }

      .feedlet-thread-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 16px 20px;
        border-bottom: 1px solid var(--feedlet-border, #333);
        position: relative;
        z-index: 10;
        cursor: move;
        user-select: none;
      }

      .feedlet-thread-header:hover {
        background: var(--feedlet-border-light, rgba(255, 255, 255, 0.03));
      }

      .feedlet-thread-header.dragging {
        cursor: grabbing;
        background: var(--feedlet-border-light, rgba(255, 255, 255, 0.05));
      }

      .feedlet-thread-title {
        color: var(--feedlet-text-primary, #ffffff);
        font-size: 14px;
        font-weight: 600;
        flex: 1;
        pointer-events: none;
      }

      .feedlet-thread-title-content {
        display: flex;
        align-items: center;
        gap: 8px;
        pointer-events: none;
      }

      .feedlet-thread-title-text {
        font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
        font-size: 12px;
        background: var(--feedlet-bg-secondary, #333);
        padding: 2px 6px;
        border-radius: 4px;
        color: var(--feedlet-text-secondary, #ccc);
        max-width: 240px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        pointer-events: none;
      }

      .feedlet-thread-close-btn {
        background: none;
        border: none;
        color: var(--feedlet-text-tertiary, #9CA3AF);
        cursor: pointer;
        padding: 4px;
        border-radius: 6px;
        transition: all 0.2s;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 24px;
        height: 24px;
        flex-shrink: 0;
        pointer-events: auto;
      }

      .feedlet-thread-close-btn:hover {
        background: var(--feedlet-border-light, rgba(255, 255, 255, 0.1));
        color: var(--feedlet-text-primary, #ffffff);
      }

      .feedlet-thread-context {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 12px 16px;
        background: var(--feedlet-bg-secondary, #2a2a2a);
        border-bottom: 1px solid var(--feedlet-border, #333);
        font-size: 13px;
        color: var(--feedlet-text-tertiary, #999);
      }

      .feedlet-thread-context-pin {
        color: ${this.config.color||"#4f46e5"};
        display: flex;
        align-items: center;
      }

      .feedlet-thread-context-text {
        font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
        font-size: 12px;
        background: var(--feedlet-bg-secondary, #333);
        padding: 2px 6px;
        border-radius: 4px;
        color: var(--feedlet-text-secondary, #ccc);
        max-width: 280px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }

      .feedlet-thread-form {
        padding: 20px;
      }

      .feedlet-thread-input-container {
        position: relative;
      }

      .feedlet-thread-textarea {
        width: 100%;
        background: transparent;
        border: none;
        outline: none;
        resize: none;
        font-size: 16px;
        line-height: 1.5;
        color: var(--feedlet-text-primary, #fff);
        padding: 0 0 12px 0;
        font-family: inherit;
        min-height: 24px;
        max-height: 120px;
      }

      .feedlet-thread-textarea::placeholder {
        color: var(--feedlet-text-tertiary, #666);
      }

      .feedlet-thread-attachments {
        margin: 8px 0;
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
      }

      .feedlet-thread-attachment {
        display: flex;
        align-items: center;
        gap: 6px;
        background: #2a2a2a;
        border: 1px solid #333;
        border-radius: 6px;
        padding: 6px 8px;
        font-size: 12px;
        color: #ccc;
        max-width: 200px;
      }

      .feedlet-thread-attachment-name {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        flex: 1;
      }

      .feedlet-thread-attachment-remove {
        background: none;
        border: none;
        color: #666;
        cursor: pointer;
        padding: 2px;
        border-radius: 3px;
        transition: all 0.2s;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 16px;
        height: 16px;
      }

      .feedlet-thread-attachment-remove:hover {
        background: #444;
        color: #fff;
      }

      .feedlet-thread-attachment-preview {
        width: 100%;
        max-width: 200px;
        height: 60px;
        object-fit: cover;
        border-radius: 4px;
        background: #333;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 4px;
      }

      .feedlet-thread-exit-intro {
        padding: 16px 20px;
        background: var(--feedlet-bg-secondary, #2a2a2a);
        border-bottom: 1px solid var(--feedlet-border, #333);
      }

      .feedlet-thread-exit-intro-content p {
        margin: 0;
        color: var(--feedlet-text-secondary, #d1d5db);
        font-size: 14px;
        line-height: 1.5;
        text-align: center;
      }

      .feedlet-thread-actions {
        display: flex;
        align-items: center;
        justify-content: space-between;
        border-top: 1px solid var(--feedlet-border, #333);
        padding-top: 12px;
      }

      .feedlet-thread-action-btn {
        background: none;
        border: none;
        color: #999;
        cursor: pointer;
        padding: 8px;
        border-radius: 6px;
        transition: all 0.2s ease;
        display: flex;
        align-items: center;
        justify-content: center;
      }

      .feedlet-thread-action-btn:hover {
        background: #333;
        color: #fff;
      }

      .feedlet-thread-submit-btn {
        background: ${this.config.color||"#4f46e5"};
        border: none;
        color: white;
        cursor: pointer;
        padding: 8px 12px;
        border-radius: 8px;
        transition: all 0.2s ease;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 600;
        min-width: 44px;
      }

      .feedlet-thread-submit-btn:hover {
        background: ${this.adjustColor(this.config.color||"#4f46e5",-20)};
        transform: translateY(-1px);
      }

      .feedlet-thread-submit-btn:disabled {
        opacity: 0.5;
        cursor: not-allowed;
        transform: none;
      }

      .feedlet-thread-type-selector {
        display: flex;
        gap: 8px;
        margin-top: 16px;
        padding-top: 16px;
        border-top: 1px solid #333;
      }

      .feedlet-thread-type-option {
        cursor: pointer;
        flex: 1;
      }

      .feedlet-thread-type-option input[type="radio"] {
        display: none;
      }

      .feedlet-thread-type-label {
        display: flex;
        align-items: center;
        gap: 6px;
        padding: 8px 12px;
        background: #2a2a2a;
        border: 1px solid #333;
        border-radius: 8px;
        color: #999;
        font-size: 13px;
        font-weight: 500;
        transition: all 0.2s ease;
        justify-content: center;
      }

      .feedlet-thread-type-option:hover .feedlet-thread-type-label {
        background: #333;
        color: #fff;
      }

      .feedlet-thread-type-option input[type="radio"]:checked + .feedlet-thread-type-label {
        background: ${this.config.color||"#4f46e5"}20;
        border-color: ${this.config.color||"#4f46e5"};
        color: ${this.config.color||"#4f46e5"};
      }

      .feedlet-thread-type-icon {
        font-size: 14px;
      }

      @media (max-width: 640px) {
        .feedlet-thread-box {
          width: calc(100vw - 40px);
          max-width: 360px;
        }
      }

      .feedlet-thread-contact-section {
        margin-top: 16px;
        padding-top: 16px;
        border-top: 1px solid #333;
      }

      .feedlet-thread-contact-details {
        border: none;
        background: none;
      }

      .feedlet-thread-contact-summary {
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 13px;
        color: #999;
        cursor: pointer;
        list-style: none;
        padding: 0;
        margin: 0;
        transition: color 0.2s;
      }

      .feedlet-thread-contact-summary:hover {
        color: #fff;
      }

      .feedlet-thread-contact-summary::-webkit-details-marker {
        display: none;
      }

      .feedlet-thread-contact-content {
        margin-top: 12px;
        padding: 12px;
        background: #2a2a2a;
        border-radius: 8px;
        border: 1px solid #333;
      }

      .feedlet-thread-contact-description {
        margin: 0 0 12px 0;
        font-size: 12px;
        color: #ccc;
        line-height: 1.5;
      }

      .feedlet-thread-contact-fields {
        display: flex;
        flex-direction: column;
        gap: 8px;
      }

      .feedlet-thread-contact-email {
        background: #1a1a1a;
        border: 1px solid #444;
        border-radius: 6px;
        padding: 8px 12px;
        color: #fff;
        font-size: 13px;
        transition: border-color 0.2s;
      }

      .feedlet-thread-contact-email:focus {
        outline: none;
        border-color: ${this.config.color||"#4f46e5"};
        box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.2);
      }

      .feedlet-thread-contact-email::placeholder {
        color: #666;
      }

      .feedlet-thread-contact-notify {
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 12px;
        color: #ccc;
        cursor: pointer;
      }

      .feedlet-thread-contact-notify input[type="checkbox"] {
        width: 16px;
        height: 16px;
        border: 1px solid #666;
        border-radius: 3px;
        background: transparent;
        cursor: pointer;
        appearance: none;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        transition: all 0.2s;
      }

      .feedlet-thread-contact-notify input[type="checkbox"]:checked {
        background: ${this.config.color||"#4f46e5"};
        border-color: ${this.config.color||"#4f46e5"};
      }

      .feedlet-thread-contact-notify input[type="checkbox"]:checked::after {
        content: '✓';
        color: white;
        font-size: 11px;
        font-weight: bold;
      }
    `,document.head.appendChild(A)}adjustColor(A,e){const t=A[0]==="#",s=t?A.slice(1):A,n=parseInt(s,16);let i=(n>>16)+e,a=(n>>8&255)+e,o=(n&255)+e;return i=i>255?255:i<0?0:i,a=a>255?255:a<0?0:a,o=o>255?255:o<0?0:o,(t?"#":"")+(i<<16|a<<8|o).toString(16).padStart(6,"0")}attachEventListeners(){if(!this.element)return;const A=this.element.querySelector(".feedlet-thread-close-btn");A?A.addEventListener("click",l=>{l.preventDefault(),l.stopPropagation(),l.stopImmediatePropagation(),console.log("ExitBug: Close button clicked"),this.close()},!0):console.warn("ExitBug: Close button not found");const e=this.element.querySelector(".feedlet-thread-backdrop");e&&e.addEventListener("click",()=>{this.close()}),this.attachDragListeners();const t=this.element.querySelector("#feedlet-file-upload"),s=this.element.querySelector("#feedlet-file-input");t&&s&&(t.addEventListener("click",()=>{s.click()}),s.addEventListener("change",l=>{const c=l.target;c.files&&c.files.length>0&&this.handleFileUpload(c.files)}));const n=this.element.querySelector("#feedlet-screenshot");n&&n.addEventListener("click",()=>{this.handleScreenshotSelection()});const i=this.element.querySelector(".feedlet-thread-textarea");i&&(i.addEventListener("input",()=>{i.style.height="auto",i.style.height=Math.min(i.scrollHeight,120)+"px"}),i.addEventListener("keydown",l=>{l.key==="Escape"&&this.close()})),document.addEventListener("keydown",l=>{l.key==="Escape"&&this.isOpen&&this.close()});const a=this.element.querySelector("#feedlet-thread-form");a?a.addEventListener("submit",l=>{console.log("ExitBug: Form submit event triggered"),l.preventDefault(),this.handleSubmit(a)}):console.warn("ExitBug: Form element not found");const o=this.element.querySelector(".feedlet-thread-submit-btn");o?o.addEventListener("click",l=>{var u;l.preventDefault(),l.stopPropagation(),l.stopImmediatePropagation(),console.log("ExitBug: Submit button clicked");const c=(u=this.element)==null?void 0:u.querySelector("#feedlet-thread-form");c&&(console.log("ExitBug: Triggering form submission manually"),this.handleSubmit(c))},!0):console.warn("ExitBug: Submit button not found")}attachDragListeners(){if(!this.element)return;const A=this.element.querySelector(".feedlet-thread-header");if(!A)return;const e=n=>{if(n.target.closest(".feedlet-thread-close-btn"))return;this.isDragging=!0,this.dragStartPosition={x:n.clientX,y:n.clientY};const i=this.element.getBoundingClientRect();this.dragOffset={x:n.clientX-i.left,y:n.clientY-i.top},A.classList.add("dragging"),this.element.classList.add("dragging"),document.addEventListener("mousemove",t),document.addEventListener("mouseup",s),n.preventDefault()},t=n=>{if(!this.isDragging||!this.element)return;const i=n.clientX-this.dragOffset.x,a=n.clientY-this.dragOffset.y,o={width:window.innerWidth,height:window.innerHeight},l=this.element.getBoundingClientRect(),c=l.width,u=l.height,h=Math.max(0,Math.min(i,o.width-c)),d=Math.max(0,Math.min(a,o.height-u));this.element.style.left=`${h}px`,this.element.style.top=`${d}px`,n.preventDefault()},s=n=>{this.isDragging&&(this.isDragging=!1,A.classList.remove("dragging"),this.element.classList.remove("dragging"),document.removeEventListener("mousemove",t),document.removeEventListener("mouseup",s),n.preventDefault())};A.addEventListener("mousedown",e)}handleFileUpload(A){var t;const e=(t=this.element)==null?void 0:t.querySelector("#feedlet-attachments");e&&Array.from(A).forEach(s=>{this.uploadedFiles.push(s),this.addFileToDisplay(s,e)})}addFileToDisplay(A,e){const t=document.createElement("div");t.className="feedlet-thread-attachment",t.dataset.fileName=A.name;const s=A.type.startsWith("image/"),n=s?"🖼️":"📎";t.innerHTML=`
      ${s?'<div class="feedlet-thread-attachment-preview" id="preview-'+Date.now()+'"></div>':""}
      <div style="display: flex; align-items: center; gap: 6px; width: 100%;">
        <span>${n}</span>
        <div class="feedlet-thread-attachment-name" title="${A.name}">${A.name}</div>
        <button type="button" class="feedlet-thread-attachment-remove" title="Remove">
          <svg width="12" height="12" fill="currentColor" viewBox="0 0 20 20">
            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"/>
          </svg>
        </button>
      </div>
    `;const i=t.querySelector(".feedlet-thread-attachment-remove");if(i&&i.addEventListener("click",()=>{this.removeFile(A.name),t.remove()}),s){const a=new FileReader;a.onload=o=>{var c;const l=t.querySelector(`#preview-${Date.now()}`);l&&((c=o.target)!=null&&c.result)&&(l.innerHTML=`<img src="${o.target.result}" style="width: 100%; height: 60px; object-fit: cover; border-radius: 4px;" alt="Preview">`)},a.readAsDataURL(A)}e.appendChild(t)}removeFile(A){this.uploadedFiles=this.uploadedFiles.filter(e=>e.name!==A)}addScreenshotToDisplay(A,e,t){const s=document.createElement("div");s.className="feedlet-thread-attachment",s.dataset.fileName=A.name,s.innerHTML=`
      <div class="feedlet-thread-attachment-preview" id="preview-${Date.now()}"></div>
      <div style="display: flex; align-items: center; gap: 6px; width: 100%;">
        <span>📷</span>
        <div class="feedlet-thread-attachment-name" title="${A.name}">${A.name}</div>
        <button type="button" class="feedlet-thread-attachment-remove" title="Remove">
          <svg width="12" height="12" fill="currentColor" viewBox="0 0 20 20">
            <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"/>
          </svg>
        </button>
      </div>
    `;const n=s.querySelector(".feedlet-thread-attachment-remove");n&&n.addEventListener("click",()=>{this.removeScreenshot(A.name),s.remove()});const i=new FileReader;i.onload=a=>{var l;const o=s.querySelector(`#preview-${Date.now()}`);o&&((l=a.target)!=null&&l.result)&&(o.innerHTML=`<img src="${a.target.result}" style="width: 100%; height: 60px; object-fit: cover; border-radius: 4px;" alt="Screenshot preview">`)},i.readAsDataURL(e),t.appendChild(s)}removeScreenshot(A){const e=this.screenshots.findIndex((t,s)=>`screenshot-${Date.now()}.png`===A);e>-1&&this.screenshots.splice(e,1)}async handleScreenshotSelection(){const A=document.createElement("div");A.className="feedlet-screenshot-overlay",A.innerHTML=`
      <div class="feedlet-screenshot-instructions">
        <p>Click and drag to select an area to screenshot</p>
        <p>You can take multiple screenshots by clicking the button again</p>
        <p>Press ESC to cancel</p>
      </div>
    `;const e=document.createElement("style");e.textContent=`
      .feedlet-screenshot-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background: rgba(0, 0, 0, 0.3);
        z-index: 2000000;
        cursor: crosshair;
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
      }

      .feedlet-screenshot-instructions {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background: #1a1a1a;
        color: white;
        padding: 20px;
        border-radius: 8px;
        text-align: center;
        pointer-events: none;
      }

      .feedlet-screenshot-instructions p {
        margin: 8px 0;
      }

      .feedlet-screenshot-selection {
        position: absolute;
        border: 2px dashed #4f46e5;
        background: rgba(79, 70, 229, 0.1);
        pointer-events: none;
      }
    `,document.head.appendChild(e),document.body.appendChild(A);let t=!1,s=0,n=0,i=null;const a=h=>{h.target===A&&(t=!0,s=h.clientX,n=h.clientY,i=document.createElement("div"),i.className="feedlet-screenshot-selection",i.style.left=s+"px",i.style.top=n+"px",A.appendChild(i))},o=h=>{if(!t||!i)return;const d=h.clientX,B=h.clientY,f=Math.min(s,d),w=Math.min(n,B),g=Math.abs(d-s),Q=Math.abs(B-n);i.style.left=f+"px",i.style.top=w+"px",i.style.width=g+"px",i.style.height=Q+"px"},l=async h=>{var B;if(!t||!i)return;const d=i.getBoundingClientRect();if(d.width>10&&d.height>10){A.style.display="none";try{const f=(await Promise.resolve().then(()=>Vh)).default;(await f(document.body,{x:d.left,y:d.top,width:d.width,height:d.height,useCORS:!0,allowTaint:!0,scale:1,backgroundColor:null})).toBlob(g=>{var Q;if(g){const C=new File([g],`screenshot-${Date.now()}.png`,{type:"image/png"});this.screenshots.push(g);const v=(Q=this.element)==null?void 0:Q.querySelector("#feedlet-attachments");v&&this.addScreenshotToDisplay(C,g,v)}},"image/png")}catch(f){console.error("Screenshot capture failed:",f);const w=(B=this.element)==null?void 0:B.querySelector(".feedlet-thread-textarea");if(w){const g=w.value,Q=g+(g?`
`:"")+`📷 Screenshot area selected (${Math.round(d.width)}×${Math.round(d.height)})`;w.value=Q,w.dispatchEvent(new Event("input")),w.focus()}}}u()},c=h=>{h.key==="Escape"&&u()},u=()=>{t=!1,A.remove(),e.remove(),document.removeEventListener("mousedown",a),document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",l),document.removeEventListener("keydown",c)};document.addEventListener("mousedown",a),document.addEventListener("mousemove",o),document.addEventListener("mouseup",l),document.addEventListener("keydown",c),setTimeout(()=>{document.body.contains(A)&&u()},3e4)}handleSubmit(A){console.log("ExitBug: handleSubmit called");const e=new FormData(A),t=A.querySelector(".feedlet-thread-textarea"),s={note:t.value.trim(),files:this.uploadedFiles,screenshots:this.screenshots};for(const[i,a]of e.entries())s[i]=a;if(this.currentThreadData&&(this.currentThreadData.marker&&(s.marker=this.currentThreadData.marker,s.isContextual=!0),this.currentThreadData.viewportInfo&&(s.viewportInfo=this.currentThreadData.viewportInfo),s.threadType=this.currentThreadData.type),console.log("ExitBug: Form data with contextual info:",s),!s.note&&this.uploadedFiles.length===0&&this.screenshots.length===0){console.log("ExitBug: No content to submit - note:",s.note,"files:",this.uploadedFiles.length,"screenshots:",this.screenshots.length),t.focus(),t.style.borderColor="#ef4444",setTimeout(()=>{t.style.borderColor="transparent"},2e3);return}const n=A.querySelector(".feedlet-thread-submit-btn");n&&(n.disabled=!0,n.innerHTML=`
        <svg width="18" height="18" fill="currentColor" viewBox="0 0 20 20">
          <path d="M10 2a8 8 0 100 16 8 8 0 000-16zm0 3a1 1 0 011 1v4a1 1 0 11-2 0V6a1 1 0 011-1zm0 7a1 1 0 100 2 1 1 0 000-2z"></path>
        </svg>
      `,setTimeout(()=>{n.disabled=!1,n.innerHTML=`
          <svg width="18" height="18" fill="currentColor" viewBox="0 0 20 20">
            <path d="M10.894 2.553a1 1 0 00-1.788 0l-7 14a1 1 0 001.169 1.409l5-1.429A1 1 0 009 15.571V11a1 1 0 112 0v4.571a1 1 0 00.725.962l5 1.428a1 1 0 001.17-1.408l-7-14z"></path>
          </svg>
        `},2e3)),this.emit("submit",s),setTimeout(()=>{var a;t.value="",t.style.height="auto",this.uploadedFiles=[],this.screenshots=[];const i=(a=this.element)==null?void 0:a.querySelector("#feedlet-attachments");i&&(i.innerHTML=""),t.focus()},100)}destroy(){this.close();const A=document.getElementById("feedlet-thread-styles");A&&A.remove()}}class pa{constructor(A){y(this,"isActive",!1);y(this,"sensitivity");y(this,"delay");y(this,"onExitIntent");y(this,"inactivityTimer",null);y(this,"delayTimer",null);y(this,"lastActivity",Date.now());y(this,"exitTriggered",!1);y(this,"sessionStartTime",Date.now());this.sensitivity=A.sensitivity,this.delay=A.delay||1e3,this.onExitIntent=A.onExitIntent}start(){this.isActive||(this.isActive=!0,this.exitTriggered=!1,this.addEventListeners())}stop(){this.isActive=!1,this.removeEventListeners(),this.clearTimers()}addEventListeners(){document.addEventListener("mousemove",this.handleMouseMove.bind(this)),document.addEventListener("mouseout",this.handleMouseOut.bind(this)),document.addEventListener("visibilitychange",this.handleVisibilityChange.bind(this)),this.isMobile()&&(document.addEventListener("touchstart",this.handleTouchStart.bind(this)),window.addEventListener("beforeunload",this.handleBeforeUnload.bind(this)))}removeEventListeners(){document.removeEventListener("mousemove",this.handleMouseMove.bind(this)),document.removeEventListener("mouseout",this.handleMouseOut.bind(this)),document.removeEventListener("visibilitychange",this.handleVisibilityChange.bind(this)),this.isMobile()&&(document.removeEventListener("touchstart",this.handleTouchStart.bind(this)),window.removeEventListener("beforeunload",this.handleBeforeUnload.bind(this)))}handleMouseMove(A){this.lastActivity=Date.now(),this.resetInactivityTimer()}handleMouseOut(A){A.clientY<=this.sensitivity&&this.lastActivity>this.lastActivity&&this.triggerExitIntent()}handleVisibilityChange(){document.hidden&&this.triggerExitIntent()}handleTouchStart(){this.lastActivity=Date.now(),this.resetInactivityTimer()}handleBeforeUnload(){this.triggerExitIntent()}resetInactivityTimer(){this.inactivityTimer&&clearTimeout(this.inactivityTimer),this.inactivityTimer=setTimeout(()=>{this.triggerExitIntent()},3e4)}triggerExitIntent(){this.exitTriggered||!this.isActive||Date.now()-this.sessionStartTime<this.delay||(this.exitTriggered=!0,this.delayTimer&&clearTimeout(this.delayTimer),this.delayTimer=setTimeout(()=>{this.onExitIntent()},100))}clearTimers(){this.delayTimer&&(clearTimeout(this.delayTimer),this.delayTimer=null),this.inactivityTimer&&(clearTimeout(this.inactivityTimer),this.inactivityTimer=null)}isMobile(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)}reset(){this.exitTriggered=!1,this.sessionStartTime=Date.now()}isTriggered(){return this.exitTriggered}getTimeOnPage(){return Date.now()-this.sessionStartTime}}/*!
 * html2canvas 1.4.1 <https://html2canvas.hertzen.com>
 * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com>
 * Released under MIT License
 *//*! *****************************************************************************
  Copyright (c) Microsoft Corporation.

  Permission to use, copy, modify, and/or distribute this software for any
  purpose with or without fee is hereby granted.

  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
  REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
  AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
  INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  PERFORMANCE OF THIS SOFTWARE.
  ***************************************************************************** */var cr=function(r,A){return cr=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s])},cr(r,A)};function dA(r,A){if(typeof A!="function"&&A!==null)throw new TypeError("Class extends value "+String(A)+" is not a constructor or null");cr(r,A);function e(){this.constructor=r}r.prototype=A===null?Object.create(A):(e.prototype=A.prototype,new e)}var ur=function(){return ur=Object.assign||function(A){for(var e,t=1,s=arguments.length;t<s;t++){e=arguments[t];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(A[n]=e[n])}return A},ur.apply(this,arguments)};function q(r,A,e,t){function s(n){return n instanceof e?n:new e(function(i){i(n)})}return new(e||(e=Promise))(function(n,i){function a(c){try{l(t.next(c))}catch(u){i(u)}}function o(c){try{l(t.throw(c))}catch(u){i(u)}}function l(c){c.done?n(c.value):s(c.value).then(a,o)}l((t=t.apply(r,[])).next())})}function $(r,A){var e={label:0,sent:function(){if(n[0]&1)throw n[1];return n[1]},trys:[],ops:[]},t,s,n,i;return i={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(i[Symbol.iterator]=function(){return this}),i;function a(l){return function(c){return o([l,c])}}function o(l){if(t)throw new TypeError("Generator is already executing.");for(;e;)try{if(t=1,s&&(n=l[0]&2?s.return:l[0]?s.throw||((n=s.return)&&n.call(s),0):s.next)&&!(n=n.call(s,l[1])).done)return n;switch(s=0,n&&(l=[l[0]&2,n.value]),l[0]){case 0:case 1:n=l;break;case 4:return e.label++,{value:l[1],done:!1};case 5:e.label++,s=l[1],l=[0];continue;case 7:l=e.ops.pop(),e.trys.pop();continue;default:if(n=e.trys,!(n=n.length>0&&n[n.length-1])&&(l[0]===6||l[0]===2)){e=0;continue}if(l[0]===3&&(!n||l[1]>n[0]&&l[1]<n[3])){e.label=l[1];break}if(l[0]===6&&e.label<n[1]){e.label=n[1],n=l;break}if(n&&e.label<n[2]){e.label=n[2],e.ops.push(l);break}n[2]&&e.ops.pop(),e.trys.pop();continue}l=A.call(r,e)}catch(c){l=[6,c],s=0}finally{t=n=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}function rt(r,A,e){if(arguments.length===2)for(var t=0,s=A.length,n;t<s;t++)(n||!(t in A))&&(n||(n=Array.prototype.slice.call(A,0,t)),n[t]=A[t]);return r.concat(n||A)}for(var UA=function(){function r(A,e,t,s){this.left=A,this.top=e,this.width=t,this.height=s}return r.prototype.add=function(A,e,t,s){return new r(this.left+A,this.top+e,this.width+t,this.height+s)},r.fromClientRect=function(A,e){return new r(e.left+A.windowBounds.left,e.top+A.windowBounds.top,e.width,e.height)},r.fromDOMRectList=function(A,e){var t=Array.from(e).find(function(s){return s.width!==0});return t?new r(t.left+A.windowBounds.left,t.top+A.windowBounds.top,t.width,t.height):r.EMPTY},r.EMPTY=new r(0,0,0,0),r}(),st=function(r,A){return UA.fromClientRect(r,A.getBoundingClientRect())},Qa=function(r){var A=r.body,e=r.documentElement;if(!A||!e)throw new Error("Unable to get document size");var t=Math.max(Math.max(A.scrollWidth,e.scrollWidth),Math.max(A.offsetWidth,e.offsetWidth),Math.max(A.clientWidth,e.clientWidth)),s=Math.max(Math.max(A.scrollHeight,e.scrollHeight),Math.max(A.offsetHeight,e.offsetHeight),Math.max(A.clientHeight,e.clientHeight));return new UA(0,0,t,s)},nt=function(r){for(var A=[],e=0,t=r.length;e<t;){var s=r.charCodeAt(e++);if(s>=55296&&s<=56319&&e<t){var n=r.charCodeAt(e++);(n&64512)===56320?A.push(((s&1023)<<10)+(n&1023)+65536):(A.push(s),e--)}else A.push(s)}return A},O=function(){for(var r=[],A=0;A<arguments.length;A++)r[A]=arguments[A];if(String.fromCodePoint)return String.fromCodePoint.apply(String,r);var e=r.length;if(!e)return"";for(var t=[],s=-1,n="";++s<e;){var i=r[s];i<=65535?t.push(i):(i-=65536,t.push((i>>10)+55296,i%1024+56320)),(s+1===e||t.length>16384)&&(n+=String.fromCharCode.apply(String,t),t.length=0)}return n},Is="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ca=typeof Uint8Array>"u"?[]:new Uint8Array(256),it=0;it<Is.length;it++)Ca[Is.charCodeAt(it)]=it;for(var Hs="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ye=typeof Uint8Array>"u"?[]:new Uint8Array(256),at=0;at<Hs.length;at++)ye[Hs.charCodeAt(at)]=at;for(var Ua=function(r){var A=r.length*.75,e=r.length,t,s=0,n,i,a,o;r[r.length-1]==="="&&(A--,r[r.length-2]==="="&&A--);var l=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u"&&typeof Uint8Array.prototype.slice<"u"?new ArrayBuffer(A):new Array(A),c=Array.isArray(l)?l:new Uint8Array(l);for(t=0;t<e;t+=4)n=ye[r.charCodeAt(t)],i=ye[r.charCodeAt(t+1)],a=ye[r.charCodeAt(t+2)],o=ye[r.charCodeAt(t+3)],c[s++]=n<<2|i>>4,c[s++]=(i&15)<<4|a>>2,c[s++]=(a&3)<<6|o&63;return l},va=function(r){for(var A=r.length,e=[],t=0;t<A;t+=2)e.push(r[t+1]<<8|r[t]);return e},Fa=function(r){for(var A=r.length,e=[],t=0;t<A;t+=4)e.push(r[t+3]<<24|r[t+2]<<16|r[t+1]<<8|r[t]);return e},VA=5,hr=11,dr=2,ma=hr-VA,xs=65536>>VA,ya=1<<VA,Br=ya-1,Ea=1024>>VA,ba=xs+Ea,Ia=ba,Ha=32,xa=Ia+Ha,_a=65536>>hr,Sa=1<<ma,La=Sa-1,_s=function(r,A,e){return r.slice?r.slice(A,e):new Uint16Array(Array.prototype.slice.call(r,A,e))},Ta=function(r,A,e){return r.slice?r.slice(A,e):new Uint32Array(Array.prototype.slice.call(r,A,e))},Ka=function(r,A){var e=Ua(r),t=Array.isArray(e)?Fa(e):new Uint32Array(e),s=Array.isArray(e)?va(e):new Uint16Array(e),n=24,i=_s(s,n/2,t[4]/2),a=t[5]===2?_s(s,(n+t[4])/2):Ta(t,Math.ceil((n+t[4])/4));return new Da(t[0],t[1],t[2],t[3],i,a)},Da=function(){function r(A,e,t,s,n,i){this.initialValue=A,this.errorValue=e,this.highStart=t,this.highValueIndex=s,this.index=n,this.data=i}return r.prototype.get=function(A){var e;if(A>=0){if(A<55296||A>56319&&A<=65535)return e=this.index[A>>VA],e=(e<<dr)+(A&Br),this.data[e];if(A<=65535)return e=this.index[xs+(A-55296>>VA)],e=(e<<dr)+(A&Br),this.data[e];if(A<this.highStart)return e=xa-_a+(A>>hr),e=this.index[e],e+=A>>VA&La,e=this.index[e],e=(e<<dr)+(A&Br),this.data[e];if(A<=1114111)return this.data[this.highValueIndex]}return this.errorValue},r}(),Ss="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ka=typeof Uint8Array>"u"?[]:new Uint8Array(256),ot=0;ot<Ss.length;ot++)ka[Ss.charCodeAt(ot)]=ot;var Oa="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==",Ls=50,Ma=1,Ts=2,Ks=3,Ra=4,Pa=5,Ds=7,ks=8,Os=9,HA=10,fr=11,Ms=12,gr=13,Ga=14,Ee=15,wr=16,lt=17,be=18,Na=19,Rs=20,pr=21,Ie=22,Qr=23,se=24,iA=25,He=26,xe=27,ne=28,Va=29,jA=30,ja=31,ct=32,ut=33,Cr=34,Ur=35,vr=36,_e=37,Fr=38,ht=39,dt=40,mr=41,Ps=42,Ja=43,Xa=[9001,65288],Gs="!",x="×",Bt="÷",yr=Ka(Oa),vA=[jA,vr],Er=[Ma,Ts,Ks,Pa],Ns=[HA,ks],Vs=[xe,He],$a=Er.concat(Ns),js=[Fr,ht,dt,Cr,Ur],Wa=[Ee,gr],Ya=function(r,A){A===void 0&&(A="strict");var e=[],t=[],s=[];return r.forEach(function(n,i){var a=yr.get(n);if(a>Ls?(s.push(!0),a-=Ls):s.push(!1),["normal","auto","loose"].indexOf(A)!==-1&&[8208,8211,12316,12448].indexOf(n)!==-1)return t.push(i),e.push(wr);if(a===Ra||a===fr){if(i===0)return t.push(i),e.push(jA);var o=e[i-1];return $a.indexOf(o)===-1?(t.push(t[i-1]),e.push(o)):(t.push(i),e.push(jA))}if(t.push(i),a===ja)return e.push(A==="strict"?pr:_e);if(a===Ps||a===Va)return e.push(jA);if(a===Ja)return n>=131072&&n<=196605||n>=196608&&n<=262141?e.push(_e):e.push(jA);e.push(a)}),[t,e,s]},br=function(r,A,e,t){var s=t[e];if(Array.isArray(r)?r.indexOf(s)!==-1:r===s)for(var n=e;n<=t.length;){n++;var i=t[n];if(i===A)return!0;if(i!==HA)break}if(s===HA)for(var n=e;n>0;){n--;var a=t[n];if(Array.isArray(r)?r.indexOf(a)!==-1:r===a)for(var o=e;o<=t.length;){o++;var i=t[o];if(i===A)return!0;if(i!==HA)break}if(a!==HA)break}return!1},Js=function(r,A){for(var e=r;e>=0;){var t=A[e];if(t===HA)e--;else return t}return 0},qa=function(r,A,e,t,s){if(e[t]===0)return x;var n=t-1;if(Array.isArray(s)&&s[n]===!0)return x;var i=n-1,a=n+1,o=A[n],l=i>=0?A[i]:0,c=A[a];if(o===Ts&&c===Ks)return x;if(Er.indexOf(o)!==-1)return Gs;if(Er.indexOf(c)!==-1||Ns.indexOf(c)!==-1)return x;if(Js(n,A)===ks)return Bt;if(yr.get(r[n])===fr||(o===ct||o===ut)&&yr.get(r[a])===fr||o===Ds||c===Ds||o===Os||[HA,gr,Ee].indexOf(o)===-1&&c===Os||[lt,be,Na,se,ne].indexOf(c)!==-1||Js(n,A)===Ie||br(Qr,Ie,n,A)||br([lt,be],pr,n,A)||br(Ms,Ms,n,A))return x;if(o===HA)return Bt;if(o===Qr||c===Qr)return x;if(c===wr||o===wr)return Bt;if([gr,Ee,pr].indexOf(c)!==-1||o===Ga||l===vr&&Wa.indexOf(o)!==-1||o===ne&&c===vr||c===Rs||vA.indexOf(c)!==-1&&o===iA||vA.indexOf(o)!==-1&&c===iA||o===xe&&[_e,ct,ut].indexOf(c)!==-1||[_e,ct,ut].indexOf(o)!==-1&&c===He||vA.indexOf(o)!==-1&&Vs.indexOf(c)!==-1||Vs.indexOf(o)!==-1&&vA.indexOf(c)!==-1||[xe,He].indexOf(o)!==-1&&(c===iA||[Ie,Ee].indexOf(c)!==-1&&A[a+1]===iA)||[Ie,Ee].indexOf(o)!==-1&&c===iA||o===iA&&[iA,ne,se].indexOf(c)!==-1)return x;if([iA,ne,se,lt,be].indexOf(c)!==-1)for(var u=n;u>=0;){var h=A[u];if(h===iA)return x;if([ne,se].indexOf(h)!==-1)u--;else break}if([xe,He].indexOf(c)!==-1)for(var u=[lt,be].indexOf(o)!==-1?i:n;u>=0;){var h=A[u];if(h===iA)return x;if([ne,se].indexOf(h)!==-1)u--;else break}if(Fr===o&&[Fr,ht,Cr,Ur].indexOf(c)!==-1||[ht,Cr].indexOf(o)!==-1&&[ht,dt].indexOf(c)!==-1||[dt,Ur].indexOf(o)!==-1&&c===dt||js.indexOf(o)!==-1&&[Rs,He].indexOf(c)!==-1||js.indexOf(c)!==-1&&o===xe||vA.indexOf(o)!==-1&&vA.indexOf(c)!==-1||o===se&&vA.indexOf(c)!==-1||vA.concat(iA).indexOf(o)!==-1&&c===Ie&&Xa.indexOf(r[a])===-1||vA.concat(iA).indexOf(c)!==-1&&o===be)return x;if(o===mr&&c===mr){for(var d=e[n],B=1;d>0&&(d--,A[d]===mr);)B++;if(B%2!==0)return x}return o===ct&&c===ut?x:Bt},Za=function(r,A){A||(A={lineBreak:"normal",wordBreak:"normal"});var e=Ya(r,A.lineBreak),t=e[0],s=e[1],n=e[2];(A.wordBreak==="break-all"||A.wordBreak==="break-word")&&(s=s.map(function(a){return[iA,jA,Ps].indexOf(a)!==-1?_e:a}));var i=A.wordBreak==="keep-all"?n.map(function(a,o){return a&&r[o]>=19968&&r[o]<=40959}):void 0;return[t,s,i]},za=function(){function r(A,e,t,s){this.codePoints=A,this.required=e===Gs,this.start=t,this.end=s}return r.prototype.slice=function(){return O.apply(void 0,this.codePoints.slice(this.start,this.end))},r}(),Ao=function(r,A){var e=nt(r),t=Za(e,A),s=t[0],n=t[1],i=t[2],a=e.length,o=0,l=0;return{next:function(){if(l>=a)return{done:!0,value:null};for(var c=x;l<a&&(c=qa(e,n,s,++l,i))===x;);if(c!==x||l===a){var u=new za(e,c,o,l);return o=l,{value:u,done:!1}}return{done:!0,value:null}}}},eo=1,to=2,Se=4,Xs=8,ft=10,$s=47,Le=92,ro=9,so=32,gt=34,Te=61,no=35,io=36,ao=37,wt=39,pt=40,Ke=41,oo=95,Z=45,lo=33,co=60,uo=62,ho=64,Bo=91,fo=93,go=61,wo=123,Qt=63,po=125,Ws=124,Qo=126,Co=128,Ys=65533,Ir=42,JA=43,Uo=44,vo=58,Fo=59,De=46,mo=0,yo=8,Eo=11,bo=14,Io=31,Ho=127,wA=-1,qs=48,Zs=97,zs=101,xo=102,_o=117,So=122,An=65,en=69,tn=70,Lo=85,To=90,W=function(r){return r>=qs&&r<=57},Ko=function(r){return r>=55296&&r<=57343},ie=function(r){return W(r)||r>=An&&r<=tn||r>=Zs&&r<=xo},Do=function(r){return r>=Zs&&r<=So},ko=function(r){return r>=An&&r<=To},Oo=function(r){return Do(r)||ko(r)},Mo=function(r){return r>=Co},Ct=function(r){return r===ft||r===ro||r===so},Ut=function(r){return Oo(r)||Mo(r)||r===oo},rn=function(r){return Ut(r)||W(r)||r===Z},Ro=function(r){return r>=mo&&r<=yo||r===Eo||r>=bo&&r<=Io||r===Ho},xA=function(r,A){return r!==Le?!1:A!==ft},vt=function(r,A,e){return r===Z?Ut(A)||xA(A,e):Ut(r)?!0:!!(r===Le&&xA(r,A))},Hr=function(r,A,e){return r===JA||r===Z?W(A)?!0:A===De&&W(e):W(r===De?A:r)},Po=function(r){var A=0,e=1;(r[A]===JA||r[A]===Z)&&(r[A]===Z&&(e=-1),A++);for(var t=[];W(r[A]);)t.push(r[A++]);var s=t.length?parseInt(O.apply(void 0,t),10):0;r[A]===De&&A++;for(var n=[];W(r[A]);)n.push(r[A++]);var i=n.length,a=i?parseInt(O.apply(void 0,n),10):0;(r[A]===en||r[A]===zs)&&A++;var o=1;(r[A]===JA||r[A]===Z)&&(r[A]===Z&&(o=-1),A++);for(var l=[];W(r[A]);)l.push(r[A++]);var c=l.length?parseInt(O.apply(void 0,l),10):0;return e*(s+a*Math.pow(10,-i))*Math.pow(10,o*c)},Go={type:2},No={type:3},Vo={type:4},jo={type:13},Jo={type:8},Xo={type:21},$o={type:9},Wo={type:10},Yo={type:11},qo={type:12},Zo={type:14},Ft={type:23},zo={type:1},Al={type:25},el={type:24},tl={type:26},rl={type:27},sl={type:28},nl={type:29},il={type:31},xr={type:32},sn=function(){function r(){this._value=[]}return r.prototype.write=function(A){this._value=this._value.concat(nt(A))},r.prototype.read=function(){for(var A=[],e=this.consumeToken();e!==xr;)A.push(e),e=this.consumeToken();return A},r.prototype.consumeToken=function(){var A=this.consumeCodePoint();switch(A){case gt:return this.consumeStringToken(gt);case no:var e=this.peekCodePoint(0),t=this.peekCodePoint(1),s=this.peekCodePoint(2);if(rn(e)||xA(t,s)){var n=vt(e,t,s)?to:eo,i=this.consumeName();return{type:5,value:i,flags:n}}break;case io:if(this.peekCodePoint(0)===Te)return this.consumeCodePoint(),jo;break;case wt:return this.consumeStringToken(wt);case pt:return Go;case Ke:return No;case Ir:if(this.peekCodePoint(0)===Te)return this.consumeCodePoint(),Zo;break;case JA:if(Hr(A,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(A),this.consumeNumericToken();break;case Uo:return Vo;case Z:var a=A,o=this.peekCodePoint(0),l=this.peekCodePoint(1);if(Hr(a,o,l))return this.reconsumeCodePoint(A),this.consumeNumericToken();if(vt(a,o,l))return this.reconsumeCodePoint(A),this.consumeIdentLikeToken();if(o===Z&&l===uo)return this.consumeCodePoint(),this.consumeCodePoint(),el;break;case De:if(Hr(A,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(A),this.consumeNumericToken();break;case $s:if(this.peekCodePoint(0)===Ir)for(this.consumeCodePoint();;){var c=this.consumeCodePoint();if(c===Ir&&(c=this.consumeCodePoint(),c===$s))return this.consumeToken();if(c===wA)return this.consumeToken()}break;case vo:return tl;case Fo:return rl;case co:if(this.peekCodePoint(0)===lo&&this.peekCodePoint(1)===Z&&this.peekCodePoint(2)===Z)return this.consumeCodePoint(),this.consumeCodePoint(),Al;break;case ho:var u=this.peekCodePoint(0),h=this.peekCodePoint(1),d=this.peekCodePoint(2);if(vt(u,h,d)){var i=this.consumeName();return{type:7,value:i}}break;case Bo:return sl;case Le:if(xA(A,this.peekCodePoint(0)))return this.reconsumeCodePoint(A),this.consumeIdentLikeToken();break;case fo:return nl;case go:if(this.peekCodePoint(0)===Te)return this.consumeCodePoint(),Jo;break;case wo:return Yo;case po:return qo;case _o:case Lo:var B=this.peekCodePoint(0),f=this.peekCodePoint(1);return B===JA&&(ie(f)||f===Qt)&&(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(A),this.consumeIdentLikeToken();case Ws:if(this.peekCodePoint(0)===Te)return this.consumeCodePoint(),$o;if(this.peekCodePoint(0)===Ws)return this.consumeCodePoint(),Xo;break;case Qo:if(this.peekCodePoint(0)===Te)return this.consumeCodePoint(),Wo;break;case wA:return xr}return Ct(A)?(this.consumeWhiteSpace(),il):W(A)?(this.reconsumeCodePoint(A),this.consumeNumericToken()):Ut(A)?(this.reconsumeCodePoint(A),this.consumeIdentLikeToken()):{type:6,value:O(A)}},r.prototype.consumeCodePoint=function(){var A=this._value.shift();return typeof A>"u"?-1:A},r.prototype.reconsumeCodePoint=function(A){this._value.unshift(A)},r.prototype.peekCodePoint=function(A){return A>=this._value.length?-1:this._value[A]},r.prototype.consumeUnicodeRangeToken=function(){for(var A=[],e=this.consumeCodePoint();ie(e)&&A.length<6;)A.push(e),e=this.consumeCodePoint();for(var t=!1;e===Qt&&A.length<6;)A.push(e),e=this.consumeCodePoint(),t=!0;if(t){var s=parseInt(O.apply(void 0,A.map(function(o){return o===Qt?qs:o})),16),n=parseInt(O.apply(void 0,A.map(function(o){return o===Qt?tn:o})),16);return{type:30,start:s,end:n}}var i=parseInt(O.apply(void 0,A),16);if(this.peekCodePoint(0)===Z&&ie(this.peekCodePoint(1))){this.consumeCodePoint(),e=this.consumeCodePoint();for(var a=[];ie(e)&&a.length<6;)a.push(e),e=this.consumeCodePoint();var n=parseInt(O.apply(void 0,a),16);return{type:30,start:i,end:n}}else return{type:30,start:i,end:i}},r.prototype.consumeIdentLikeToken=function(){var A=this.consumeName();return A.toLowerCase()==="url"&&this.peekCodePoint(0)===pt?(this.consumeCodePoint(),this.consumeUrlToken()):this.peekCodePoint(0)===pt?(this.consumeCodePoint(),{type:19,value:A}):{type:20,value:A}},r.prototype.consumeUrlToken=function(){var A=[];if(this.consumeWhiteSpace(),this.peekCodePoint(0)===wA)return{type:22,value:""};var e=this.peekCodePoint(0);if(e===wt||e===gt){var t=this.consumeStringToken(this.consumeCodePoint());return t.type===0&&(this.consumeWhiteSpace(),this.peekCodePoint(0)===wA||this.peekCodePoint(0)===Ke)?(this.consumeCodePoint(),{type:22,value:t.value}):(this.consumeBadUrlRemnants(),Ft)}for(;;){var s=this.consumeCodePoint();if(s===wA||s===Ke)return{type:22,value:O.apply(void 0,A)};if(Ct(s))return this.consumeWhiteSpace(),this.peekCodePoint(0)===wA||this.peekCodePoint(0)===Ke?(this.consumeCodePoint(),{type:22,value:O.apply(void 0,A)}):(this.consumeBadUrlRemnants(),Ft);if(s===gt||s===wt||s===pt||Ro(s))return this.consumeBadUrlRemnants(),Ft;if(s===Le)if(xA(s,this.peekCodePoint(0)))A.push(this.consumeEscapedCodePoint());else return this.consumeBadUrlRemnants(),Ft;else A.push(s)}},r.prototype.consumeWhiteSpace=function(){for(;Ct(this.peekCodePoint(0));)this.consumeCodePoint()},r.prototype.consumeBadUrlRemnants=function(){for(;;){var A=this.consumeCodePoint();if(A===Ke||A===wA)return;xA(A,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},r.prototype.consumeStringSlice=function(A){for(var e=5e4,t="";A>0;){var s=Math.min(e,A);t+=O.apply(void 0,this._value.splice(0,s)),A-=s}return this._value.shift(),t},r.prototype.consumeStringToken=function(A){var e="",t=0;do{var s=this._value[t];if(s===wA||s===void 0||s===A)return e+=this.consumeStringSlice(t),{type:0,value:e};if(s===ft)return this._value.splice(0,t),zo;if(s===Le){var n=this._value[t+1];n!==wA&&n!==void 0&&(n===ft?(e+=this.consumeStringSlice(t),t=-1,this._value.shift()):xA(s,n)&&(e+=this.consumeStringSlice(t),e+=O(this.consumeEscapedCodePoint()),t=-1))}t++}while(!0)},r.prototype.consumeNumber=function(){var A=[],e=Se,t=this.peekCodePoint(0);for((t===JA||t===Z)&&A.push(this.consumeCodePoint());W(this.peekCodePoint(0));)A.push(this.consumeCodePoint());t=this.peekCodePoint(0);var s=this.peekCodePoint(1);if(t===De&&W(s))for(A.push(this.consumeCodePoint(),this.consumeCodePoint()),e=Xs;W(this.peekCodePoint(0));)A.push(this.consumeCodePoint());t=this.peekCodePoint(0),s=this.peekCodePoint(1);var n=this.peekCodePoint(2);if((t===en||t===zs)&&((s===JA||s===Z)&&W(n)||W(s)))for(A.push(this.consumeCodePoint(),this.consumeCodePoint()),e=Xs;W(this.peekCodePoint(0));)A.push(this.consumeCodePoint());return[Po(A),e]},r.prototype.consumeNumericToken=function(){var A=this.consumeNumber(),e=A[0],t=A[1],s=this.peekCodePoint(0),n=this.peekCodePoint(1),i=this.peekCodePoint(2);if(vt(s,n,i)){var a=this.consumeName();return{type:15,number:e,flags:t,unit:a}}return s===ao?(this.consumeCodePoint(),{type:16,number:e,flags:t}):{type:17,number:e,flags:t}},r.prototype.consumeEscapedCodePoint=function(){var A=this.consumeCodePoint();if(ie(A)){for(var e=O(A);ie(this.peekCodePoint(0))&&e.length<6;)e+=O(this.consumeCodePoint());Ct(this.peekCodePoint(0))&&this.consumeCodePoint();var t=parseInt(e,16);return t===0||Ko(t)||t>1114111?Ys:t}return A===wA?Ys:A},r.prototype.consumeName=function(){for(var A="";;){var e=this.consumeCodePoint();if(rn(e))A+=O(e);else if(xA(e,this.peekCodePoint(0)))A+=O(this.consumeEscapedCodePoint());else return this.reconsumeCodePoint(e),A}},r}(),nn=function(){function r(A){this._tokens=A}return r.create=function(A){var e=new sn;return e.write(A),new r(e.read())},r.parseValue=function(A){return r.create(A).parseComponentValue()},r.parseValues=function(A){return r.create(A).parseComponentValues()},r.prototype.parseComponentValue=function(){for(var A=this.consumeToken();A.type===31;)A=this.consumeToken();if(A.type===32)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(A);var e=this.consumeComponentValue();do A=this.consumeToken();while(A.type===31);if(A.type===32)return e;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},r.prototype.parseComponentValues=function(){for(var A=[];;){var e=this.consumeComponentValue();if(e.type===32)return A;A.push(e),A.push()}},r.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},r.prototype.consumeSimpleBlock=function(A){for(var e={type:A,values:[]},t=this.consumeToken();;){if(t.type===32||ol(t,A))return e;this.reconsumeToken(t),e.values.push(this.consumeComponentValue()),t=this.consumeToken()}},r.prototype.consumeFunction=function(A){for(var e={name:A.value,values:[],type:18};;){var t=this.consumeToken();if(t.type===32||t.type===3)return e;this.reconsumeToken(t),e.values.push(this.consumeComponentValue())}},r.prototype.consumeToken=function(){var A=this._tokens.shift();return typeof A>"u"?xr:A},r.prototype.reconsumeToken=function(A){this._tokens.unshift(A)},r}(),ke=function(r){return r.type===15},ae=function(r){return r.type===17},L=function(r){return r.type===20},al=function(r){return r.type===0},_r=function(r,A){return L(r)&&r.value===A},an=function(r){return r.type!==31},oe=function(r){return r.type!==31&&r.type!==4},pA=function(r){var A=[],e=[];return r.forEach(function(t){if(t.type===4){if(e.length===0)throw new Error("Error parsing function args, zero tokens for arg");A.push(e),e=[];return}t.type!==31&&e.push(t)}),e.length&&A.push(e),A},ol=function(r,A){return A===11&&r.type===12||A===28&&r.type===29?!0:A===2&&r.type===3},_A=function(r){return r.type===17||r.type===15},R=function(r){return r.type===16||_A(r)},on=function(r){return r.length>1?[r[0],r[1]]:[r[0]]},j={type:17,number:0,flags:Se},Sr={type:16,number:50,flags:Se},SA={type:16,number:100,flags:Se},Oe=function(r,A,e){var t=r[0],s=r[1];return[K(t,A),K(typeof s<"u"?s:t,e)]},K=function(r,A){if(r.type===16)return r.number/100*A;if(ke(r))switch(r.unit){case"rem":case"em":return 16*r.number;case"px":default:return r.number}return r.number},ln="deg",cn="grad",un="rad",hn="turn",mt={name:"angle",parse:function(r,A){if(A.type===15)switch(A.unit){case ln:return Math.PI*A.number/180;case cn:return Math.PI/200*A.number;case un:return A.number;case hn:return Math.PI*2*A.number}throw new Error("Unsupported angle type")}},dn=function(r){return r.type===15&&(r.unit===ln||r.unit===cn||r.unit===un||r.unit===hn)},Bn=function(r){var A=r.filter(L).map(function(e){return e.value}).join(" ");switch(A){case"to bottom right":case"to right bottom":case"left top":case"top left":return[j,j];case"to top":case"bottom":return oA(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[j,SA];case"to right":case"left":return oA(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[SA,SA];case"to bottom":case"top":return oA(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[SA,j];case"to left":case"right":return oA(270)}return 0},oA=function(r){return Math.PI*r/180},LA={name:"color",parse:function(r,A){if(A.type===18){var e=ll[A.name];if(typeof e>"u")throw new Error('Attempting to parse an unsupported color function "'+A.name+'"');return e(r,A.values)}if(A.type===5){if(A.value.length===3){var t=A.value.substring(0,1),s=A.value.substring(1,2),n=A.value.substring(2,3);return KA(parseInt(t+t,16),parseInt(s+s,16),parseInt(n+n,16),1)}if(A.value.length===4){var t=A.value.substring(0,1),s=A.value.substring(1,2),n=A.value.substring(2,3),i=A.value.substring(3,4);return KA(parseInt(t+t,16),parseInt(s+s,16),parseInt(n+n,16),parseInt(i+i,16)/255)}if(A.value.length===6){var t=A.value.substring(0,2),s=A.value.substring(2,4),n=A.value.substring(4,6);return KA(parseInt(t,16),parseInt(s,16),parseInt(n,16),1)}if(A.value.length===8){var t=A.value.substring(0,2),s=A.value.substring(2,4),n=A.value.substring(4,6),i=A.value.substring(6,8);return KA(parseInt(t,16),parseInt(s,16),parseInt(n,16),parseInt(i,16)/255)}}if(A.type===20){var a=FA[A.value.toUpperCase()];if(typeof a<"u")return a}return FA.TRANSPARENT}},TA=function(r){return(255&r)===0},N=function(r){var A=255&r,e=255&r>>8,t=255&r>>16,s=255&r>>24;return A<255?"rgba("+s+","+t+","+e+","+A/255+")":"rgb("+s+","+t+","+e+")"},KA=function(r,A,e,t){return(r<<24|A<<16|e<<8|Math.round(t*255)<<0)>>>0},fn=function(r,A){if(r.type===17)return r.number;if(r.type===16){var e=A===3?1:255;return A===3?r.number/100*e:Math.round(r.number/100*e)}return 0},gn=function(r,A){var e=A.filter(oe);if(e.length===3){var t=e.map(fn),s=t[0],n=t[1],i=t[2];return KA(s,n,i,1)}if(e.length===4){var a=e.map(fn),s=a[0],n=a[1],i=a[2],o=a[3];return KA(s,n,i,o)}return 0};function Lr(r,A,e){return e<0&&(e+=1),e>=1&&(e-=1),e<1/6?(A-r)*e*6+r:e<1/2?A:e<2/3?(A-r)*6*(2/3-e)+r:r}var wn=function(r,A){var e=A.filter(oe),t=e[0],s=e[1],n=e[2],i=e[3],a=(t.type===17?oA(t.number):mt.parse(r,t))/(Math.PI*2),o=R(s)?s.number/100:0,l=R(n)?n.number/100:0,c=typeof i<"u"&&R(i)?K(i,1):1;if(o===0)return KA(l*255,l*255,l*255,1);var u=l<=.5?l*(o+1):l+o-l*o,h=l*2-u,d=Lr(h,u,a+1/3),B=Lr(h,u,a),f=Lr(h,u,a-1/3);return KA(d*255,B*255,f*255,c)},ll={hsl:wn,hsla:wn,rgb:gn,rgba:gn},Me=function(r,A){return LA.parse(r,nn.create(A).parseComponentValue())},FA={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},cl={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(r,A){return A.map(function(e){if(L(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},ul={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},yt=function(r,A){var e=LA.parse(r,A[0]),t=A[1];return t&&R(t)?{color:e,stop:t}:{color:e,stop:null}},pn=function(r,A){var e=r[0],t=r[r.length-1];e.stop===null&&(e.stop=j),t.stop===null&&(t.stop=SA);for(var s=[],n=0,i=0;i<r.length;i++){var a=r[i].stop;if(a!==null){var o=K(a,A);o>n?s.push(o):s.push(n),n=o}else s.push(null)}for(var l=null,i=0;i<s.length;i++){var c=s[i];if(c===null)l===null&&(l=i);else if(l!==null){for(var u=i-l,h=s[l-1],d=(c-h)/(u+1),B=1;B<=u;B++)s[l+B-1]=d*B;l=null}}return r.map(function(f,w){var g=f.color;return{color:g,stop:Math.max(Math.min(1,s[w]/A),0)}})},hl=function(r,A,e){var t=A/2,s=e/2,n=K(r[0],A)-t,i=s-K(r[1],e);return(Math.atan2(i,n)+Math.PI*2)%(Math.PI*2)},dl=function(r,A,e){var t=typeof r=="number"?r:hl(r,A,e),s=Math.abs(A*Math.sin(t))+Math.abs(e*Math.cos(t)),n=A/2,i=e/2,a=s/2,o=Math.sin(t-Math.PI/2)*a,l=Math.cos(t-Math.PI/2)*a;return[s,n-l,n+l,i-o,i+o]},BA=function(r,A){return Math.sqrt(r*r+A*A)},Qn=function(r,A,e,t,s){var n=[[0,0],[0,A],[r,0],[r,A]];return n.reduce(function(i,a){var o=a[0],l=a[1],c=BA(e-o,t-l);return(s?c<i.optimumDistance:c>i.optimumDistance)?{optimumCorner:a,optimumDistance:c}:i},{optimumDistance:s?1/0:-1/0,optimumCorner:null}).optimumCorner},Bl=function(r,A,e,t,s){var n=0,i=0;switch(r.size){case 0:r.shape===0?n=i=Math.min(Math.abs(A),Math.abs(A-t),Math.abs(e),Math.abs(e-s)):r.shape===1&&(n=Math.min(Math.abs(A),Math.abs(A-t)),i=Math.min(Math.abs(e),Math.abs(e-s)));break;case 2:if(r.shape===0)n=i=Math.min(BA(A,e),BA(A,e-s),BA(A-t,e),BA(A-t,e-s));else if(r.shape===1){var a=Math.min(Math.abs(e),Math.abs(e-s))/Math.min(Math.abs(A),Math.abs(A-t)),o=Qn(t,s,A,e,!0),l=o[0],c=o[1];n=BA(l-A,(c-e)/a),i=a*n}break;case 1:r.shape===0?n=i=Math.max(Math.abs(A),Math.abs(A-t),Math.abs(e),Math.abs(e-s)):r.shape===1&&(n=Math.max(Math.abs(A),Math.abs(A-t)),i=Math.max(Math.abs(e),Math.abs(e-s)));break;case 3:if(r.shape===0)n=i=Math.max(BA(A,e),BA(A,e-s),BA(A-t,e),BA(A-t,e-s));else if(r.shape===1){var a=Math.max(Math.abs(e),Math.abs(e-s))/Math.max(Math.abs(A),Math.abs(A-t)),u=Qn(t,s,A,e,!1),l=u[0],c=u[1];n=BA(l-A,(c-e)/a),i=a*n}break}return Array.isArray(r.size)&&(n=K(r.size[0],t),i=r.size.length===2?K(r.size[1],s):n),[n,i]},fl=function(r,A){var e=oA(180),t=[];return pA(A).forEach(function(s,n){if(n===0){var i=s[0];if(i.type===20&&i.value==="to"){e=Bn(s);return}else if(dn(i)){e=mt.parse(r,i);return}}var a=yt(r,s);t.push(a)}),{angle:e,stops:t,type:1}},Et=function(r,A){var e=oA(180),t=[];return pA(A).forEach(function(s,n){if(n===0){var i=s[0];if(i.type===20&&["top","left","right","bottom"].indexOf(i.value)!==-1){e=Bn(s);return}else if(dn(i)){e=(mt.parse(r,i)+oA(270))%oA(360);return}}var a=yt(r,s);t.push(a)}),{angle:e,stops:t,type:1}},gl=function(r,A){var e=oA(180),t=[],s=1,n=0,i=3,a=[];return pA(A).forEach(function(o,l){var c=o[0];if(l===0){if(L(c)&&c.value==="linear"){s=1;return}else if(L(c)&&c.value==="radial"){s=2;return}}if(c.type===18){if(c.name==="from"){var u=LA.parse(r,c.values[0]);t.push({stop:j,color:u})}else if(c.name==="to"){var u=LA.parse(r,c.values[0]);t.push({stop:SA,color:u})}else if(c.name==="color-stop"){var h=c.values.filter(oe);if(h.length===2){var u=LA.parse(r,h[1]),d=h[0];ae(d)&&t.push({stop:{type:16,number:d.number*100,flags:d.flags},color:u})}}}}),s===1?{angle:(e+oA(180))%oA(360),stops:t,type:s}:{size:i,shape:n,stops:t,position:a,type:s}},Cn="closest-side",Un="farthest-side",vn="closest-corner",Fn="farthest-corner",mn="circle",yn="ellipse",En="cover",bn="contain",wl=function(r,A){var e=0,t=3,s=[],n=[];return pA(A).forEach(function(i,a){var o=!0;if(a===0){var l=!1;o=i.reduce(function(u,h){if(l)if(L(h))switch(h.value){case"center":return n.push(Sr),u;case"top":case"left":return n.push(j),u;case"right":case"bottom":return n.push(SA),u}else(R(h)||_A(h))&&n.push(h);else if(L(h))switch(h.value){case mn:return e=0,!1;case yn:return e=1,!1;case"at":return l=!0,!1;case Cn:return t=0,!1;case En:case Un:return t=1,!1;case bn:case vn:return t=2,!1;case Fn:return t=3,!1}else if(_A(h)||R(h))return Array.isArray(t)||(t=[]),t.push(h),!1;return u},o)}if(o){var c=yt(r,i);s.push(c)}}),{size:t,shape:e,stops:s,position:n,type:2}},bt=function(r,A){var e=0,t=3,s=[],n=[];return pA(A).forEach(function(i,a){var o=!0;if(a===0?o=i.reduce(function(c,u){if(L(u))switch(u.value){case"center":return n.push(Sr),!1;case"top":case"left":return n.push(j),!1;case"right":case"bottom":return n.push(SA),!1}else if(R(u)||_A(u))return n.push(u),!1;return c},o):a===1&&(o=i.reduce(function(c,u){if(L(u))switch(u.value){case mn:return e=0,!1;case yn:return e=1,!1;case bn:case Cn:return t=0,!1;case Un:return t=1,!1;case vn:return t=2,!1;case En:case Fn:return t=3,!1}else if(_A(u)||R(u))return Array.isArray(t)||(t=[]),t.push(u),!1;return c},o)),o){var l=yt(r,i);s.push(l)}}),{size:t,shape:e,stops:s,position:n,type:2}},pl=function(r){return r.type===1},Ql=function(r){return r.type===2},Tr={name:"image",parse:function(r,A){if(A.type===22){var e={url:A.value,type:0};return r.cache.addImage(A.value),e}if(A.type===18){var t=In[A.name];if(typeof t>"u")throw new Error('Attempting to parse an unsupported image function "'+A.name+'"');return t(r,A.values)}throw new Error("Unsupported image type "+A.type)}};function Cl(r){return!(r.type===20&&r.value==="none")&&(r.type!==18||!!In[r.name])}var In={"linear-gradient":fl,"-moz-linear-gradient":Et,"-ms-linear-gradient":Et,"-o-linear-gradient":Et,"-webkit-linear-gradient":Et,"radial-gradient":wl,"-moz-radial-gradient":bt,"-ms-radial-gradient":bt,"-o-radial-gradient":bt,"-webkit-radial-gradient":bt,"-webkit-gradient":gl},Ul={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(r,A){if(A.length===0)return[];var e=A[0];return e.type===20&&e.value==="none"?[]:A.filter(function(t){return oe(t)&&Cl(t)}).map(function(t){return Tr.parse(r,t)})}},vl={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(r,A){return A.map(function(e){if(L(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},Fl={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(r,A){return pA(A).map(function(e){return e.filter(R)}).map(on)}},ml={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(r,A){return pA(A).map(function(e){return e.filter(L).map(function(t){return t.value}).join(" ")}).map(yl)}},yl=function(r){switch(r){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;case"repeat":default:return 0}},le;(function(r){r.AUTO="auto",r.CONTAIN="contain",r.COVER="cover"})(le||(le={}));var El={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(r,A){return pA(A).map(function(e){return e.filter(bl)})}},bl=function(r){return L(r)||R(r)},It=function(r){return{name:"border-"+r+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},Il=It("top"),Hl=It("right"),xl=It("bottom"),_l=It("left"),Ht=function(r){return{name:"border-radius-"+r,initialValue:"0 0",prefix:!1,type:1,parse:function(A,e){return on(e.filter(R))}}},Sl=Ht("top-left"),Ll=Ht("top-right"),Tl=Ht("bottom-right"),Kl=Ht("bottom-left"),xt=function(r){return{name:"border-"+r+"-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}}},Dl=xt("top"),kl=xt("right"),Ol=xt("bottom"),Ml=xt("left"),_t=function(r){return{name:"border-"+r+"-width",initialValue:"0",type:0,prefix:!1,parse:function(A,e){return ke(e)?e.number:0}}},Rl=_t("top"),Pl=_t("right"),Gl=_t("bottom"),Nl=_t("left"),Vl={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},jl={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(r,A){switch(A){case"rtl":return 1;case"ltr":default:return 0}}},Jl={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(r,A){return A.filter(L).reduce(function(e,t){return e|Xl(t.value)},0)}},Xl=function(r){switch(r){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},$l={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(r,A){switch(A){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},Wl={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(r,A){return A.type===20&&A.value==="normal"?0:A.type===17||A.type===15?A.number:0}},St;(function(r){r.NORMAL="normal",r.STRICT="strict"})(St||(St={}));var Yl={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(r,A){switch(A){case"strict":return St.STRICT;case"normal":default:return St.NORMAL}}},ql={name:"line-height",initialValue:"normal",prefix:!1,type:4},Hn=function(r,A){return L(r)&&r.value==="normal"?1.2*A:r.type===17?A*r.number:R(r)?K(r,A):A},Zl={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(r,A){return A.type===20&&A.value==="none"?null:Tr.parse(r,A)}},zl={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(r,A){switch(A){case"inside":return 0;case"outside":default:return 1}}},Kr={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(r,A){switch(A){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":return 22;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;case"none":default:return-1}}},Lt=function(r){return{name:"margin-"+r,initialValue:"0",prefix:!1,type:4}},Ac=Lt("top"),ec=Lt("right"),tc=Lt("bottom"),rc=Lt("left"),sc={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(r,A){return A.filter(L).map(function(e){switch(e.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;case"visible":default:return 0}})}},nc={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(r,A){switch(A){case"break-word":return"break-word";case"normal":default:return"normal"}}},Tt=function(r){return{name:"padding-"+r,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},ic=Tt("top"),ac=Tt("right"),oc=Tt("bottom"),lc=Tt("left"),cc={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(r,A){switch(A){case"right":return 2;case"center":case"justify":return 1;case"left":default:return 0}}},uc={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(r,A){switch(A){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},hc={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(r,A){return A.length===1&&_r(A[0],"none")?[]:pA(A).map(function(e){for(var t={color:FA.TRANSPARENT,offsetX:j,offsetY:j,blur:j},s=0,n=0;n<e.length;n++){var i=e[n];_A(i)?(s===0?t.offsetX=i:s===1?t.offsetY=i:t.blur=i,s++):t.color=LA.parse(r,i)}return t})}},dc={name:"text-transform",initialValue:"none",prefix:!1,type:2,parse:function(r,A){switch(A){case"uppercase":return 2;case"lowercase":return 1;case"capitalize":return 3}return 0}},Bc={name:"transform",initialValue:"none",prefix:!0,type:0,parse:function(r,A){if(A.type===20&&A.value==="none")return null;if(A.type===18){var e=wc[A.name];if(typeof e>"u")throw new Error('Attempting to parse an unsupported transform function "'+A.name+'"');return e(A.values)}return null}},fc=function(r){var A=r.filter(function(e){return e.type===17}).map(function(e){return e.number});return A.length===6?A:null},gc=function(r){var A=r.filter(function(o){return o.type===17}).map(function(o){return o.number}),e=A[0],t=A[1];A[2],A[3];var s=A[4],n=A[5];A[6],A[7],A[8],A[9],A[10],A[11];var i=A[12],a=A[13];return A[14],A[15],A.length===16?[e,t,s,n,i,a]:null},wc={matrix:fc,matrix3d:gc},xn={type:16,number:50,flags:Se},pc=[xn,xn],Qc={name:"transform-origin",initialValue:"50% 50%",prefix:!0,type:1,parse:function(r,A){var e=A.filter(R);return e.length!==2?pc:[e[0],e[1]]}},Cc={name:"visible",initialValue:"none",prefix:!1,type:2,parse:function(r,A){switch(A){case"hidden":return 1;case"collapse":return 2;case"visible":default:return 0}}},Re;(function(r){r.NORMAL="normal",r.BREAK_ALL="break-all",r.KEEP_ALL="keep-all"})(Re||(Re={}));for(var Uc={name:"word-break",initialValue:"normal",prefix:!1,type:2,parse:function(r,A){switch(A){case"break-all":return Re.BREAK_ALL;case"keep-all":return Re.KEEP_ALL;case"normal":default:return Re.NORMAL}}},vc={name:"z-index",initialValue:"auto",prefix:!1,type:0,parse:function(r,A){if(A.type===20)return{auto:!0,order:0};if(ae(A))return{auto:!1,order:A.number};throw new Error("Invalid z-index number parsed")}},_n={name:"time",parse:function(r,A){if(A.type===15)switch(A.unit.toLowerCase()){case"s":return 1e3*A.number;case"ms":return A.number}throw new Error("Unsupported time type")}},Fc={name:"opacity",initialValue:"1",type:0,prefix:!1,parse:function(r,A){return ae(A)?A.number:1}},mc={name:"text-decoration-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},yc={name:"text-decoration-line",initialValue:"none",prefix:!1,type:1,parse:function(r,A){return A.filter(L).map(function(e){switch(e.value){case"underline":return 1;case"overline":return 2;case"line-through":return 3;case"none":return 4}return 0}).filter(function(e){return e!==0})}},Ec={name:"font-family",initialValue:"",prefix:!1,type:1,parse:function(r,A){var e=[],t=[];return A.forEach(function(s){switch(s.type){case 20:case 0:e.push(s.value);break;case 17:e.push(s.number.toString());break;case 4:t.push(e.join(" ")),e.length=0;break}}),e.length&&t.push(e.join(" ")),t.map(function(s){return s.indexOf(" ")===-1?s:"'"+s+"'"})}},bc={name:"font-size",initialValue:"0",prefix:!1,type:3,format:"length"},Ic={name:"font-weight",initialValue:"normal",type:0,prefix:!1,parse:function(r,A){if(ae(A))return A.number;if(L(A))switch(A.value){case"bold":return 700;case"normal":default:return 400}return 400}},Hc={name:"font-variant",initialValue:"none",type:1,prefix:!1,parse:function(r,A){return A.filter(L).map(function(e){return e.value})}},xc={name:"font-style",initialValue:"normal",prefix:!1,type:2,parse:function(r,A){switch(A){case"oblique":return"oblique";case"italic":return"italic";case"normal":default:return"normal"}}},G=function(r,A){return(r&A)!==0},_c={name:"content",initialValue:"none",type:1,prefix:!1,parse:function(r,A){if(A.length===0)return[];var e=A[0];return e.type===20&&e.value==="none"?[]:A}},Sc={name:"counter-increment",initialValue:"none",prefix:!0,type:1,parse:function(r,A){if(A.length===0)return null;var e=A[0];if(e.type===20&&e.value==="none")return null;for(var t=[],s=A.filter(an),n=0;n<s.length;n++){var i=s[n],a=s[n+1];if(i.type===20){var o=a&&ae(a)?a.number:1;t.push({counter:i.value,increment:o})}}return t}},Lc={name:"counter-reset",initialValue:"none",prefix:!0,type:1,parse:function(r,A){if(A.length===0)return[];for(var e=[],t=A.filter(an),s=0;s<t.length;s++){var n=t[s],i=t[s+1];if(L(n)&&n.value!=="none"){var a=i&&ae(i)?i.number:0;e.push({counter:n.value,reset:a})}}return e}},Tc={name:"duration",initialValue:"0s",prefix:!1,type:1,parse:function(r,A){return A.filter(ke).map(function(e){return _n.parse(r,e)})}},Kc={name:"quotes",initialValue:"none",prefix:!0,type:1,parse:function(r,A){if(A.length===0)return null;var e=A[0];if(e.type===20&&e.value==="none")return null;var t=[],s=A.filter(al);if(s.length%2!==0)return null;for(var n=0;n<s.length;n+=2){var i=s[n].value,a=s[n+1].value;t.push({open:i,close:a})}return t}},Sn=function(r,A,e){if(!r)return"";var t=r[Math.min(A,r.length-1)];return t?e?t.open:t.close:""},Dc={name:"box-shadow",initialValue:"none",type:1,prefix:!1,parse:function(r,A){return A.length===1&&_r(A[0],"none")?[]:pA(A).map(function(e){for(var t={color:255,offsetX:j,offsetY:j,blur:j,spread:j,inset:!1},s=0,n=0;n<e.length;n++){var i=e[n];_r(i,"inset")?t.inset=!0:_A(i)?(s===0?t.offsetX=i:s===1?t.offsetY=i:s===2?t.blur=i:t.spread=i,s++):t.color=LA.parse(r,i)}return t})}},kc={name:"paint-order",initialValue:"normal",prefix:!1,type:1,parse:function(r,A){var e=[0,1,2],t=[];return A.filter(L).forEach(function(s){switch(s.value){case"stroke":t.push(1);break;case"fill":t.push(0);break;case"markers":t.push(2);break}}),e.forEach(function(s){t.indexOf(s)===-1&&t.push(s)}),t}},Oc={name:"-webkit-text-stroke-color",initialValue:"currentcolor",prefix:!1,type:3,format:"color"},Mc={name:"-webkit-text-stroke-width",initialValue:"0",type:0,prefix:!1,parse:function(r,A){return ke(A)?A.number:0}},Rc=function(){function r(A,e){var t,s;this.animationDuration=F(A,Tc,e.animationDuration),this.backgroundClip=F(A,cl,e.backgroundClip),this.backgroundColor=F(A,ul,e.backgroundColor),this.backgroundImage=F(A,Ul,e.backgroundImage),this.backgroundOrigin=F(A,vl,e.backgroundOrigin),this.backgroundPosition=F(A,Fl,e.backgroundPosition),this.backgroundRepeat=F(A,ml,e.backgroundRepeat),this.backgroundSize=F(A,El,e.backgroundSize),this.borderTopColor=F(A,Il,e.borderTopColor),this.borderRightColor=F(A,Hl,e.borderRightColor),this.borderBottomColor=F(A,xl,e.borderBottomColor),this.borderLeftColor=F(A,_l,e.borderLeftColor),this.borderTopLeftRadius=F(A,Sl,e.borderTopLeftRadius),this.borderTopRightRadius=F(A,Ll,e.borderTopRightRadius),this.borderBottomRightRadius=F(A,Tl,e.borderBottomRightRadius),this.borderBottomLeftRadius=F(A,Kl,e.borderBottomLeftRadius),this.borderTopStyle=F(A,Dl,e.borderTopStyle),this.borderRightStyle=F(A,kl,e.borderRightStyle),this.borderBottomStyle=F(A,Ol,e.borderBottomStyle),this.borderLeftStyle=F(A,Ml,e.borderLeftStyle),this.borderTopWidth=F(A,Rl,e.borderTopWidth),this.borderRightWidth=F(A,Pl,e.borderRightWidth),this.borderBottomWidth=F(A,Gl,e.borderBottomWidth),this.borderLeftWidth=F(A,Nl,e.borderLeftWidth),this.boxShadow=F(A,Dc,e.boxShadow),this.color=F(A,Vl,e.color),this.direction=F(A,jl,e.direction),this.display=F(A,Jl,e.display),this.float=F(A,$l,e.cssFloat),this.fontFamily=F(A,Ec,e.fontFamily),this.fontSize=F(A,bc,e.fontSize),this.fontStyle=F(A,xc,e.fontStyle),this.fontVariant=F(A,Hc,e.fontVariant),this.fontWeight=F(A,Ic,e.fontWeight),this.letterSpacing=F(A,Wl,e.letterSpacing),this.lineBreak=F(A,Yl,e.lineBreak),this.lineHeight=F(A,ql,e.lineHeight),this.listStyleImage=F(A,Zl,e.listStyleImage),this.listStylePosition=F(A,zl,e.listStylePosition),this.listStyleType=F(A,Kr,e.listStyleType),this.marginTop=F(A,Ac,e.marginTop),this.marginRight=F(A,ec,e.marginRight),this.marginBottom=F(A,tc,e.marginBottom),this.marginLeft=F(A,rc,e.marginLeft),this.opacity=F(A,Fc,e.opacity);var n=F(A,sc,e.overflow);this.overflowX=n[0],this.overflowY=n[n.length>1?1:0],this.overflowWrap=F(A,nc,e.overflowWrap),this.paddingTop=F(A,ic,e.paddingTop),this.paddingRight=F(A,ac,e.paddingRight),this.paddingBottom=F(A,oc,e.paddingBottom),this.paddingLeft=F(A,lc,e.paddingLeft),this.paintOrder=F(A,kc,e.paintOrder),this.position=F(A,uc,e.position),this.textAlign=F(A,cc,e.textAlign),this.textDecorationColor=F(A,mc,(t=e.textDecorationColor)!==null&&t!==void 0?t:e.color),this.textDecorationLine=F(A,yc,(s=e.textDecorationLine)!==null&&s!==void 0?s:e.textDecoration),this.textShadow=F(A,hc,e.textShadow),this.textTransform=F(A,dc,e.textTransform),this.transform=F(A,Bc,e.transform),this.transformOrigin=F(A,Qc,e.transformOrigin),this.visibility=F(A,Cc,e.visibility),this.webkitTextStrokeColor=F(A,Oc,e.webkitTextStrokeColor),this.webkitTextStrokeWidth=F(A,Mc,e.webkitTextStrokeWidth),this.wordBreak=F(A,Uc,e.wordBreak),this.zIndex=F(A,vc,e.zIndex)}return r.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&this.visibility===0},r.prototype.isTransparent=function(){return TA(this.backgroundColor)},r.prototype.isTransformed=function(){return this.transform!==null},r.prototype.isPositioned=function(){return this.position!==0},r.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},r.prototype.isFloating=function(){return this.float!==0},r.prototype.isInlineLevel=function(){return G(this.display,4)||G(this.display,33554432)||G(this.display,268435456)||G(this.display,536870912)||G(this.display,67108864)||G(this.display,134217728)},r}(),Pc=function(){function r(A,e){this.content=F(A,_c,e.content),this.quotes=F(A,Kc,e.quotes)}return r}(),Ln=function(){function r(A,e){this.counterIncrement=F(A,Sc,e.counterIncrement),this.counterReset=F(A,Lc,e.counterReset)}return r}(),F=function(r,A,e){var t=new sn,s=e!==null&&typeof e<"u"?e.toString():A.initialValue;t.write(s);var n=new nn(t.read());switch(A.type){case 2:var i=n.parseComponentValue();return A.parse(r,L(i)?i.value:A.initialValue);case 0:return A.parse(r,n.parseComponentValue());case 1:return A.parse(r,n.parseComponentValues());case 4:return n.parseComponentValue();case 3:switch(A.format){case"angle":return mt.parse(r,n.parseComponentValue());case"color":return LA.parse(r,n.parseComponentValue());case"image":return Tr.parse(r,n.parseComponentValue());case"length":var a=n.parseComponentValue();return _A(a)?a:j;case"length-percentage":var o=n.parseComponentValue();return R(o)?o:j;case"time":return _n.parse(r,n.parseComponentValue())}break}},Gc="data-html2canvas-debug",Nc=function(r){var A=r.getAttribute(Gc);switch(A){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}},Dr=function(r,A){var e=Nc(r);return e===1||A===e},QA=function(){function r(A,e){if(this.context=A,this.textNodes=[],this.elements=[],this.flags=0,Dr(e,3))debugger;this.styles=new Rc(A,window.getComputedStyle(e,null)),Yr(e)&&(this.styles.animationDuration.some(function(t){return t>0})&&(e.style.animationDuration="0s"),this.styles.transform!==null&&(e.style.transform="none")),this.bounds=st(this.context,e),Dr(e,4)&&(this.flags|=16)}return r}(),Vc="AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=",Tn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Pe=typeof Uint8Array>"u"?[]:new Uint8Array(256),Kt=0;Kt<Tn.length;Kt++)Pe[Tn.charCodeAt(Kt)]=Kt;for(var jc=function(r){var A=r.length*.75,e=r.length,t,s=0,n,i,a,o;r[r.length-1]==="="&&(A--,r[r.length-2]==="="&&A--);var l=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u"&&typeof Uint8Array.prototype.slice<"u"?new ArrayBuffer(A):new Array(A),c=Array.isArray(l)?l:new Uint8Array(l);for(t=0;t<e;t+=4)n=Pe[r.charCodeAt(t)],i=Pe[r.charCodeAt(t+1)],a=Pe[r.charCodeAt(t+2)],o=Pe[r.charCodeAt(t+3)],c[s++]=n<<2|i>>4,c[s++]=(i&15)<<4|a>>2,c[s++]=(a&3)<<6|o&63;return l},Jc=function(r){for(var A=r.length,e=[],t=0;t<A;t+=2)e.push(r[t+1]<<8|r[t]);return e},Xc=function(r){for(var A=r.length,e=[],t=0;t<A;t+=4)e.push(r[t+3]<<24|r[t+2]<<16|r[t+1]<<8|r[t]);return e},XA=5,kr=11,Or=2,$c=kr-XA,Kn=65536>>XA,Wc=1<<XA,Mr=Wc-1,Yc=1024>>XA,qc=Kn+Yc,Zc=qc,zc=32,Au=Zc+zc,eu=65536>>kr,tu=1<<$c,ru=tu-1,Dn=function(r,A,e){return r.slice?r.slice(A,e):new Uint16Array(Array.prototype.slice.call(r,A,e))},su=function(r,A,e){return r.slice?r.slice(A,e):new Uint32Array(Array.prototype.slice.call(r,A,e))},nu=function(r,A){var e=jc(r),t=Array.isArray(e)?Xc(e):new Uint32Array(e),s=Array.isArray(e)?Jc(e):new Uint16Array(e),n=24,i=Dn(s,n/2,t[4]/2),a=t[5]===2?Dn(s,(n+t[4])/2):su(t,Math.ceil((n+t[4])/4));return new iu(t[0],t[1],t[2],t[3],i,a)},iu=function(){function r(A,e,t,s,n,i){this.initialValue=A,this.errorValue=e,this.highStart=t,this.highValueIndex=s,this.index=n,this.data=i}return r.prototype.get=function(A){var e;if(A>=0){if(A<55296||A>56319&&A<=65535)return e=this.index[A>>XA],e=(e<<Or)+(A&Mr),this.data[e];if(A<=65535)return e=this.index[Kn+(A-55296>>XA)],e=(e<<Or)+(A&Mr),this.data[e];if(A<this.highStart)return e=Au-eu+(A>>kr),e=this.index[e],e+=A>>XA&ru,e=this.index[e],e=(e<<Or)+(A&Mr),this.data[e];if(A<=1114111)return this.data[this.highValueIndex]}return this.errorValue},r}(),kn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",au=typeof Uint8Array>"u"?[]:new Uint8Array(256),Dt=0;Dt<kn.length;Dt++)au[kn.charCodeAt(Dt)]=Dt;var ou=1,Rr=2,Pr=3,On=4,Mn=5,lu=7,Rn=8,Gr=9,Nr=10,Pn=11,Gn=12,Nn=13,Vn=14,Vr=15,cu=function(r){for(var A=[],e=0,t=r.length;e<t;){var s=r.charCodeAt(e++);if(s>=55296&&s<=56319&&e<t){var n=r.charCodeAt(e++);(n&64512)===56320?A.push(((s&1023)<<10)+(n&1023)+65536):(A.push(s),e--)}else A.push(s)}return A},uu=function(){for(var r=[],A=0;A<arguments.length;A++)r[A]=arguments[A];if(String.fromCodePoint)return String.fromCodePoint.apply(String,r);var e=r.length;if(!e)return"";for(var t=[],s=-1,n="";++s<e;){var i=r[s];i<=65535?t.push(i):(i-=65536,t.push((i>>10)+55296,i%1024+56320)),(s+1===e||t.length>16384)&&(n+=String.fromCharCode.apply(String,t),t.length=0)}return n},hu=nu(Vc),lA="×",jr="÷",du=function(r){return hu.get(r)},Bu=function(r,A,e){var t=e-2,s=A[t],n=A[e-1],i=A[e];if(n===Rr&&i===Pr)return lA;if(n===Rr||n===Pr||n===On||i===Rr||i===Pr||i===On)return jr;if(n===Rn&&[Rn,Gr,Pn,Gn].indexOf(i)!==-1||(n===Pn||n===Gr)&&(i===Gr||i===Nr)||(n===Gn||n===Nr)&&i===Nr||i===Nn||i===Mn||i===lu||n===ou)return lA;if(n===Nn&&i===Vn){for(;s===Mn;)s=A[--t];if(s===Vn)return lA}if(n===Vr&&i===Vr){for(var a=0;s===Vr;)a++,s=A[--t];if(a%2===0)return lA}return jr},fu=function(r){var A=cu(r),e=A.length,t=0,s=0,n=A.map(du);return{next:function(){if(t>=e)return{done:!0,value:null};for(var i=lA;t<e&&(i=Bu(A,n,++t))===lA;);if(i!==lA||t===e){var a=uu.apply(null,A.slice(s,t));return s=t,{value:a,done:!1}}return{done:!0,value:null}}}},gu=function(r){for(var A=fu(r),e=[],t;!(t=A.next()).done;)t.value&&e.push(t.value.slice());return e},wu=function(r){var A=123;if(r.createRange){var e=r.createRange();if(e.getBoundingClientRect){var t=r.createElement("boundtest");t.style.height=A+"px",t.style.display="block",r.body.appendChild(t),e.selectNode(t);var s=e.getBoundingClientRect(),n=Math.round(s.height);if(r.body.removeChild(t),n===A)return!0}}return!1},pu=function(r){var A=r.createElement("boundtest");A.style.width="50px",A.style.display="block",A.style.fontSize="12px",A.style.letterSpacing="0px",A.style.wordSpacing="0px",r.body.appendChild(A);var e=r.createRange();A.innerHTML=typeof"".repeat=="function"?"&#128104;".repeat(10):"";var t=A.firstChild,s=nt(t.data).map(function(o){return O(o)}),n=0,i={},a=s.every(function(o,l){e.setStart(t,n),e.setEnd(t,n+o.length);var c=e.getBoundingClientRect();n+=o.length;var u=c.x>i.x||c.y>i.y;return i=c,l===0?!0:u});return r.body.removeChild(A),a},Qu=function(){return typeof new Image().crossOrigin<"u"},Cu=function(){return typeof new XMLHttpRequest().responseType=="string"},Uu=function(r){var A=new Image,e=r.createElement("canvas"),t=e.getContext("2d");if(!t)return!1;A.src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'></svg>";try{t.drawImage(A,0,0),e.toDataURL()}catch{return!1}return!0},jn=function(r){return r[0]===0&&r[1]===255&&r[2]===0&&r[3]===255},vu=function(r){var A=r.createElement("canvas"),e=100;A.width=e,A.height=e;var t=A.getContext("2d");if(!t)return Promise.reject(!1);t.fillStyle="rgb(0, 255, 0)",t.fillRect(0,0,e,e);var s=new Image,n=A.toDataURL();s.src=n;var i=Jr(e,e,0,0,s);return t.fillStyle="red",t.fillRect(0,0,e,e),Jn(i).then(function(a){t.drawImage(a,0,0);var o=t.getImageData(0,0,e,e).data;t.fillStyle="red",t.fillRect(0,0,e,e);var l=r.createElement("div");return l.style.backgroundImage="url("+n+")",l.style.height=e+"px",jn(o)?Jn(Jr(e,e,0,0,l)):Promise.reject(!1)}).then(function(a){return t.drawImage(a,0,0),jn(t.getImageData(0,0,e,e).data)}).catch(function(){return!1})},Jr=function(r,A,e,t,s){var n="http://www.w3.org/2000/svg",i=document.createElementNS(n,"svg"),a=document.createElementNS(n,"foreignObject");return i.setAttributeNS(null,"width",r.toString()),i.setAttributeNS(null,"height",A.toString()),a.setAttributeNS(null,"width","100%"),a.setAttributeNS(null,"height","100%"),a.setAttributeNS(null,"x",e.toString()),a.setAttributeNS(null,"y",t.toString()),a.setAttributeNS(null,"externalResourcesRequired","true"),i.appendChild(a),a.appendChild(s),i},Jn=function(r){return new Promise(function(A,e){var t=new Image;t.onload=function(){return A(t)},t.onerror=e,t.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(new XMLSerializer().serializeToString(r))})},J={get SUPPORT_RANGE_BOUNDS(){var r=wu(document);return Object.defineProperty(J,"SUPPORT_RANGE_BOUNDS",{value:r}),r},get SUPPORT_WORD_BREAKING(){var r=J.SUPPORT_RANGE_BOUNDS&&pu(document);return Object.defineProperty(J,"SUPPORT_WORD_BREAKING",{value:r}),r},get SUPPORT_SVG_DRAWING(){var r=Uu(document);return Object.defineProperty(J,"SUPPORT_SVG_DRAWING",{value:r}),r},get SUPPORT_FOREIGNOBJECT_DRAWING(){var r=typeof Array.from=="function"&&typeof window.fetch=="function"?vu(document):Promise.resolve(!1);return Object.defineProperty(J,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:r}),r},get SUPPORT_CORS_IMAGES(){var r=Qu();return Object.defineProperty(J,"SUPPORT_CORS_IMAGES",{value:r}),r},get SUPPORT_RESPONSE_TYPE(){var r=Cu();return Object.defineProperty(J,"SUPPORT_RESPONSE_TYPE",{value:r}),r},get SUPPORT_CORS_XHR(){var r="withCredentials"in new XMLHttpRequest;return Object.defineProperty(J,"SUPPORT_CORS_XHR",{value:r}),r},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var r=!!(typeof Intl<"u"&&Intl.Segmenter);return Object.defineProperty(J,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:r}),r}},Ge=function(){function r(A,e){this.text=A,this.bounds=e}return r}(),Fu=function(r,A,e,t){var s=Eu(A,e),n=[],i=0;return s.forEach(function(a){if(e.textDecorationLine.length||a.trim().length>0)if(J.SUPPORT_RANGE_BOUNDS){var o=Xn(t,i,a.length).getClientRects();if(o.length>1){var l=Xr(a),c=0;l.forEach(function(h){n.push(new Ge(h,UA.fromDOMRectList(r,Xn(t,c+i,h.length).getClientRects()))),c+=h.length})}else n.push(new Ge(a,UA.fromDOMRectList(r,o)))}else{var u=t.splitText(a.length);n.push(new Ge(a,mu(r,t))),t=u}else J.SUPPORT_RANGE_BOUNDS||(t=t.splitText(a.length));i+=a.length}),n},mu=function(r,A){var e=A.ownerDocument;if(e){var t=e.createElement("html2canvaswrapper");t.appendChild(A.cloneNode(!0));var s=A.parentNode;if(s){s.replaceChild(t,A);var n=st(r,t);return t.firstChild&&s.replaceChild(t.firstChild,t),n}}return UA.EMPTY},Xn=function(r,A,e){var t=r.ownerDocument;if(!t)throw new Error("Node has no owner document");var s=t.createRange();return s.setStart(r,A),s.setEnd(r,A+e),s},Xr=function(r){if(J.SUPPORT_NATIVE_TEXT_SEGMENTATION){var A=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(A.segment(r)).map(function(e){return e.segment})}return gu(r)},yu=function(r,A){if(J.SUPPORT_NATIVE_TEXT_SEGMENTATION){var e=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(e.segment(r)).map(function(t){return t.segment})}return Iu(r,A)},Eu=function(r,A){return A.letterSpacing!==0?Xr(r):yu(r,A)},bu=[32,160,4961,65792,65793,4153,4241],Iu=function(r,A){for(var e=Ao(r,{lineBreak:A.lineBreak,wordBreak:A.overflowWrap==="break-word"?"break-word":A.wordBreak}),t=[],s,n=function(){if(s.value){var i=s.value.slice(),a=nt(i),o="";a.forEach(function(l){bu.indexOf(l)===-1?o+=O(l):(o.length&&t.push(o),t.push(O(l)),o="")}),o.length&&t.push(o)}};!(s=e.next()).done;)n();return t},Hu=function(){function r(A,e,t){this.text=xu(e.data,t.textTransform),this.textBounds=Fu(A,this.text,t,e)}return r}(),xu=function(r,A){switch(A){case 1:return r.toLowerCase();case 3:return r.replace(_u,Su);case 2:return r.toUpperCase();default:return r}},_u=/(^|\s|:|-|\(|\))([a-z])/g,Su=function(r,A,e){return r.length>0?A+e.toUpperCase():r},$n=function(r){dA(A,r);function A(e,t){var s=r.call(this,e,t)||this;return s.src=t.currentSrc||t.src,s.intrinsicWidth=t.naturalWidth,s.intrinsicHeight=t.naturalHeight,s.context.cache.addImage(s.src),s}return A}(QA),Wn=function(r){dA(A,r);function A(e,t){var s=r.call(this,e,t)||this;return s.canvas=t,s.intrinsicWidth=t.width,s.intrinsicHeight=t.height,s}return A}(QA),Yn=function(r){dA(A,r);function A(e,t){var s=r.call(this,e,t)||this,n=new XMLSerializer,i=st(e,t);return t.setAttribute("width",i.width+"px"),t.setAttribute("height",i.height+"px"),s.svg="data:image/svg+xml,"+encodeURIComponent(n.serializeToString(t)),s.intrinsicWidth=t.width.baseVal.value,s.intrinsicHeight=t.height.baseVal.value,s.context.cache.addImage(s.svg),s}return A}(QA),qn=function(r){dA(A,r);function A(e,t){var s=r.call(this,e,t)||this;return s.value=t.value,s}return A}(QA),$r=function(r){dA(A,r);function A(e,t){var s=r.call(this,e,t)||this;return s.start=t.start,s.reversed=typeof t.reversed=="boolean"&&t.reversed===!0,s}return A}(QA),Lu=[{type:15,flags:0,unit:"px",number:3}],Tu=[{type:16,flags:0,number:50}],Ku=function(r){return r.width>r.height?new UA(r.left+(r.width-r.height)/2,r.top,r.height,r.height):r.width<r.height?new UA(r.left,r.top+(r.height-r.width)/2,r.width,r.width):r},Du=function(r){var A=r.type===ku?new Array(r.value.length+1).join("•"):r.value;return A.length===0?r.placeholder||"":A},kt="checkbox",Ot="radio",ku="password",Zn=707406591,Wr=function(r){dA(A,r);function A(e,t){var s=r.call(this,e,t)||this;switch(s.type=t.type.toLowerCase(),s.checked=t.checked,s.value=Du(t),(s.type===kt||s.type===Ot)&&(s.styles.backgroundColor=3739148031,s.styles.borderTopColor=s.styles.borderRightColor=s.styles.borderBottomColor=s.styles.borderLeftColor=2779096575,s.styles.borderTopWidth=s.styles.borderRightWidth=s.styles.borderBottomWidth=s.styles.borderLeftWidth=1,s.styles.borderTopStyle=s.styles.borderRightStyle=s.styles.borderBottomStyle=s.styles.borderLeftStyle=1,s.styles.backgroundClip=[0],s.styles.backgroundOrigin=[0],s.bounds=Ku(s.bounds)),s.type){case kt:s.styles.borderTopRightRadius=s.styles.borderTopLeftRadius=s.styles.borderBottomRightRadius=s.styles.borderBottomLeftRadius=Lu;break;case Ot:s.styles.borderTopRightRadius=s.styles.borderTopLeftRadius=s.styles.borderBottomRightRadius=s.styles.borderBottomLeftRadius=Tu;break}return s}return A}(QA),zn=function(r){dA(A,r);function A(e,t){var s=r.call(this,e,t)||this,n=t.options[t.selectedIndex||0];return s.value=n&&n.text||"",s}return A}(QA),Ai=function(r){dA(A,r);function A(e,t){var s=r.call(this,e,t)||this;return s.value=t.value,s}return A}(QA),ei=function(r){dA(A,r);function A(e,t){var s=r.call(this,e,t)||this;s.src=t.src,s.width=parseInt(t.width,10)||0,s.height=parseInt(t.height,10)||0,s.backgroundColor=s.styles.backgroundColor;try{if(t.contentWindow&&t.contentWindow.document&&t.contentWindow.document.documentElement){s.tree=ri(e,t.contentWindow.document.documentElement);var n=t.contentWindow.document.documentElement?Me(e,getComputedStyle(t.contentWindow.document.documentElement).backgroundColor):FA.TRANSPARENT,i=t.contentWindow.document.body?Me(e,getComputedStyle(t.contentWindow.document.body).backgroundColor):FA.TRANSPARENT;s.backgroundColor=TA(n)?TA(i)?s.styles.backgroundColor:i:n}}catch{}return s}return A}(QA),Ou=["OL","UL","MENU"],Mt=function(r,A,e,t){for(var s=A.firstChild,n=void 0;s;s=n)if(n=s.nextSibling,si(s)&&s.data.trim().length>0)e.textNodes.push(new Hu(r,s,e.styles));else if(ce(s))if(ci(s)&&s.assignedNodes)s.assignedNodes().forEach(function(a){return Mt(r,a,e,t)});else{var i=ti(r,s);i.styles.isVisible()&&(Mu(s,i,t)?i.flags|=4:Ru(i.styles)&&(i.flags|=2),Ou.indexOf(s.tagName)!==-1&&(i.flags|=8),e.elements.push(i),s.slot,s.shadowRoot?Mt(r,s.shadowRoot,i,t):!Pt(s)&&!ni(s)&&!Gt(s)&&Mt(r,s,i,t))}},ti=function(r,A){return Zr(A)?new $n(r,A):ii(A)?new Wn(r,A):ni(A)?new Yn(r,A):Pu(A)?new qn(r,A):Gu(A)?new $r(r,A):Nu(A)?new Wr(r,A):Gt(A)?new zn(r,A):Pt(A)?new Ai(r,A):oi(A)?new ei(r,A):new QA(r,A)},ri=function(r,A){var e=ti(r,A);return e.flags|=4,Mt(r,A,e,e),e},Mu=function(r,A,e){return A.styles.isPositionedWithZIndex()||A.styles.opacity<1||A.styles.isTransformed()||qr(r)&&e.styles.isTransparent()},Ru=function(r){return r.isPositioned()||r.isFloating()},si=function(r){return r.nodeType===Node.TEXT_NODE},ce=function(r){return r.nodeType===Node.ELEMENT_NODE},Yr=function(r){return ce(r)&&typeof r.style<"u"&&!Rt(r)},Rt=function(r){return typeof r.className=="object"},Pu=function(r){return r.tagName==="LI"},Gu=function(r){return r.tagName==="OL"},Nu=function(r){return r.tagName==="INPUT"},Vu=function(r){return r.tagName==="HTML"},ni=function(r){return r.tagName==="svg"},qr=function(r){return r.tagName==="BODY"},ii=function(r){return r.tagName==="CANVAS"},ai=function(r){return r.tagName==="VIDEO"},Zr=function(r){return r.tagName==="IMG"},oi=function(r){return r.tagName==="IFRAME"},li=function(r){return r.tagName==="STYLE"},ju=function(r){return r.tagName==="SCRIPT"},Pt=function(r){return r.tagName==="TEXTAREA"},Gt=function(r){return r.tagName==="SELECT"},ci=function(r){return r.tagName==="SLOT"},ui=function(r){return r.tagName.indexOf("-")>0},Ju=function(){function r(){this.counters={}}return r.prototype.getCounterValue=function(A){var e=this.counters[A];return e&&e.length?e[e.length-1]:1},r.prototype.getCounterValues=function(A){var e=this.counters[A];return e||[]},r.prototype.pop=function(A){var e=this;A.forEach(function(t){return e.counters[t].pop()})},r.prototype.parse=function(A){var e=this,t=A.counterIncrement,s=A.counterReset,n=!0;t!==null&&t.forEach(function(a){var o=e.counters[a.counter];o&&a.increment!==0&&(n=!1,o.length||o.push(1),o[Math.max(0,o.length-1)]+=a.increment)});var i=[];return n&&s.forEach(function(a){var o=e.counters[a.counter];i.push(a.counter),o||(o=e.counters[a.counter]=[]),o.push(a.reset)}),i},r}(),hi={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"]},di={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:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},Xu={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:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},$u={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:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},ue=function(r,A,e,t,s,n){return r<A||r>e?Ve(r,s,n.length>0):t.integers.reduce(function(i,a,o){for(;r>=a;)r-=a,i+=t.values[o];return i},"")+n},Bi=function(r,A,e,t){var s="";do e||r--,s=t(r)+s,r/=A;while(r*A>=A);return s},M=function(r,A,e,t,s){var n=e-A+1;return(r<0?"-":"")+(Bi(Math.abs(r),n,t,function(i){return O(Math.floor(i%n)+A)})+s)},$A=function(r,A,e){e===void 0&&(e=". ");var t=A.length;return Bi(Math.abs(r),t,!1,function(s){return A[Math.floor(s%t)]})+e},he=1,DA=2,kA=4,Ne=8,mA=function(r,A,e,t,s,n){if(r<-9999||r>9999)return Ve(r,4,s.length>0);var i=Math.abs(r),a=s;if(i===0)return A[0]+a;for(var o=0;i>0&&o<=4;o++){var l=i%10;l===0&&G(n,he)&&a!==""?a=A[l]+a:l>1||l===1&&o===0||l===1&&o===1&&G(n,DA)||l===1&&o===1&&G(n,kA)&&r>100||l===1&&o>1&&G(n,Ne)?a=A[l]+(o>0?e[o-1]:"")+a:l===1&&o>0&&(a=e[o-1]+a),i=Math.floor(i/10)}return(r<0?t:"")+a},fi="十百千萬",gi="拾佰仟萬",wi="マイナス",zr="마이너스",Ve=function(r,A,e){var t=e?". ":"",s=e?"、":"",n=e?", ":"",i=e?" ":"";switch(A){case 0:return"•"+i;case 1:return"◦"+i;case 2:return"◾"+i;case 5:var a=M(r,48,57,!0,t);return a.length<4?"0"+a:a;case 4:return $A(r,"〇一二三四五六七八九",s);case 6:return ue(r,1,3999,hi,3,t).toLowerCase();case 7:return ue(r,1,3999,hi,3,t);case 8:return M(r,945,969,!1,t);case 9:return M(r,97,122,!1,t);case 10:return M(r,65,90,!1,t);case 11:return M(r,1632,1641,!0,t);case 12:case 49:return ue(r,1,9999,di,3,t);case 35:return ue(r,1,9999,di,3,t).toLowerCase();case 13:return M(r,2534,2543,!0,t);case 14:case 30:return M(r,6112,6121,!0,t);case 15:return $A(r,"子丑寅卯辰巳午未申酉戌亥",s);case 16:return $A(r,"甲乙丙丁戊己庚辛壬癸",s);case 17:case 48:return mA(r,"零一二三四五六七八九",fi,"負",s,DA|kA|Ne);case 47:return mA(r,"零壹貳參肆伍陸柒捌玖",gi,"負",s,he|DA|kA|Ne);case 42:return mA(r,"零一二三四五六七八九",fi,"负",s,DA|kA|Ne);case 41:return mA(r,"零壹贰叁肆伍陆柒捌玖",gi,"负",s,he|DA|kA|Ne);case 26:return mA(r,"〇一二三四五六七八九","十百千万",wi,s,0);case 25:return mA(r,"零壱弐参四伍六七八九","拾百千万",wi,s,he|DA|kA);case 31:return mA(r,"영일이삼사오육칠팔구","십백천만",zr,n,he|DA|kA);case 33:return mA(r,"零一二三四五六七八九","十百千萬",zr,n,0);case 32:return mA(r,"零壹貳參四五六七八九","拾百千",zr,n,he|DA|kA);case 18:return M(r,2406,2415,!0,t);case 20:return ue(r,1,19999,$u,3,t);case 21:return M(r,2790,2799,!0,t);case 22:return M(r,2662,2671,!0,t);case 22:return ue(r,1,10999,Xu,3,t);case 23:return $A(r,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return $A(r,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return M(r,3302,3311,!0,t);case 28:return $A(r,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",s);case 29:return $A(r,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",s);case 34:return M(r,3792,3801,!0,t);case 37:return M(r,6160,6169,!0,t);case 38:return M(r,4160,4169,!0,t);case 39:return M(r,2918,2927,!0,t);case 40:return M(r,1776,1785,!0,t);case 43:return M(r,3046,3055,!0,t);case 44:return M(r,3174,3183,!0,t);case 45:return M(r,3664,3673,!0,t);case 46:return M(r,3872,3881,!0,t);case 3:default:return M(r,48,57,!0,t)}},pi="data-html2canvas-ignore",Qi=function(){function r(A,e,t){if(this.context=A,this.options=t,this.scrolledElements=[],this.referenceElement=e,this.counters=new Ju,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 r.prototype.toIFrame=function(A,e){var t=this,s=Wu(A,e);if(!s.contentWindow)return Promise.reject("Unable to find iframe window");var n=A.defaultView.pageXOffset,i=A.defaultView.pageYOffset,a=s.contentWindow,o=a.document,l=Zu(s).then(function(){return q(t,void 0,void 0,function(){var c,u;return $(this,function(h){switch(h.label){case 0:return this.scrolledElements.forEach(th),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))),c=this.options.onclone,u=this.clonedReferenceElement,typeof u>"u"?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:o.fonts&&o.fonts.ready?[4,o.fonts.ready]:[3,2];case 1:h.sent(),h.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,qu(o)]:[3,4];case 3:h.sent(),h.label=4;case 4:return typeof c=="function"?[2,Promise.resolve().then(function(){return c(o,u)}).then(function(){return s})]:[2,s]}})})});return o.open(),o.write(Ah(document.doctype)+"<html></html>"),eh(this.referenceElement.ownerDocument,n,i),o.replaceChild(o.adoptNode(this.documentElement),o.documentElement),o.close(),l},r.prototype.createElementClone=function(A){if(Dr(A,2))debugger;if(ii(A))return this.createCanvasClone(A);if(ai(A))return this.createVideoClone(A);if(li(A))return this.createStyleClone(A);var e=A.cloneNode(!1);return Zr(e)&&(Zr(A)&&A.currentSrc&&A.currentSrc!==A.src&&(e.src=A.currentSrc,e.srcset=""),e.loading==="lazy"&&(e.loading="eager")),ui(e)?this.createCustomElementClone(e):e},r.prototype.createCustomElementClone=function(A){var e=document.createElement("html2canvascustomelement");return As(A.style,e),e},r.prototype.createStyleClone=function(A){try{var e=A.sheet;if(e&&e.cssRules){var t=[].slice.call(e.cssRules,0).reduce(function(n,i){return i&&typeof i.cssText=="string"?n+i.cssText:n},""),s=A.cloneNode(!1);return s.textContent=t,s}}catch(n){if(this.context.logger.error("Unable to access cssRules property",n),n.name!=="SecurityError")throw n}return A.cloneNode(!1)},r.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{this.context.logger.info("Unable to inline canvas contents, canvas is tainted",A)}}var s=A.cloneNode(!1);try{s.width=A.width,s.height=A.height;var n=A.getContext("2d"),i=s.getContext("2d");if(i)if(!this.options.allowTaint&&n)i.putImageData(n.getImageData(0,0,A.width,A.height),0,0);else{var a=(e=A.getContext("webgl2"))!==null&&e!==void 0?e:A.getContext("webgl");if(a){var o=a.getContextAttributes();(o==null?void 0:o.preserveDrawingBuffer)===!1&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",A)}i.drawImage(A,0,0)}return s}catch{this.context.logger.info("Unable to clone canvas as it is tainted",A)}return s},r.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{this.context.logger.info("Unable to clone video as it is tainted",A)}var s=A.ownerDocument.createElement("canvas");return s.width=A.offsetWidth,s.height=A.offsetHeight,s},r.prototype.appendChildNode=function(A,e,t){(!ce(e)||!ju(e)&&!e.hasAttribute(pi)&&(typeof this.options.ignoreElements!="function"||!this.options.ignoreElements(e)))&&(!this.options.copyStyles||!ce(e)||!li(e))&&A.appendChild(this.cloneNode(e,t))},r.prototype.cloneChildNodes=function(A,e,t){for(var s=this,n=A.shadowRoot?A.shadowRoot.firstChild:A.firstChild;n;n=n.nextSibling)if(ce(n)&&ci(n)&&typeof n.assignedNodes=="function"){var i=n.assignedNodes();i.length&&i.forEach(function(a){return s.appendChildNode(e,a,t)})}else this.appendChildNode(e,n,t)},r.prototype.cloneNode=function(A,e){if(si(A))return document.createTextNode(A.data);if(!A.ownerDocument)return A.cloneNode(!1);var t=A.ownerDocument.defaultView;if(t&&ce(A)&&(Yr(A)||Rt(A))){var s=this.createElementClone(A);s.style.transitionProperty="none";var n=t.getComputedStyle(A),i=t.getComputedStyle(A,":before"),a=t.getComputedStyle(A,":after");this.referenceElement===A&&Yr(s)&&(this.clonedReferenceElement=s),qr(s)&&nh(s);var o=this.counters.parse(new Ln(this.context,n)),l=this.resolvePseudoContent(A,s,i,je.BEFORE);ui(A)&&(e=!0),ai(A)||this.cloneChildNodes(A,s,e),l&&s.insertBefore(l,s.firstChild);var c=this.resolvePseudoContent(A,s,a,je.AFTER);return c&&s.appendChild(c),this.counters.pop(o),(n&&(this.options.copyStyles||Rt(A))&&!oi(A)||e)&&As(n,s),(A.scrollTop!==0||A.scrollLeft!==0)&&this.scrolledElements.push([s,A.scrollLeft,A.scrollTop]),(Pt(A)||Gt(A))&&(Pt(s)||Gt(s))&&(s.value=A.value),s}return A.cloneNode(!1)},r.prototype.resolvePseudoContent=function(A,e,t,s){var n=this;if(t){var i=t.content,a=e.ownerDocument;if(!(!a||!i||i==="none"||i==="-moz-alt-content"||t.display==="none")){this.counters.parse(new Ln(this.context,t));var o=new Pc(this.context,t),l=a.createElement("html2canvaspseudoelement");As(t,l),o.content.forEach(function(u){if(u.type===0)l.appendChild(a.createTextNode(u.value));else if(u.type===22){var h=a.createElement("img");h.src=u.value,h.style.opacity="1",l.appendChild(h)}else if(u.type===18){if(u.name==="attr"){var d=u.values.filter(L);d.length&&l.appendChild(a.createTextNode(A.getAttribute(d[0].value)||""))}else if(u.name==="counter"){var B=u.values.filter(oe),f=B[0],w=B[1];if(f&&L(f)){var g=n.counters.getCounterValue(f.value),Q=w&&L(w)?Kr.parse(n.context,w.value):3;l.appendChild(a.createTextNode(Ve(g,Q,!1)))}}else if(u.name==="counters"){var C=u.values.filter(oe),f=C[0],v=C[1],w=C[2];if(f&&L(f)){var m=n.counters.getCounterValues(f.value),p=w&&L(w)?Kr.parse(n.context,w.value):3,E=v&&v.type===0?v.value:"",_=m.map(function(eA){return Ve(eA,p,!1)}).join(E);l.appendChild(a.createTextNode(_))}}}else if(u.type===20)switch(u.value){case"open-quote":l.appendChild(a.createTextNode(Sn(o.quotes,n.quoteDepth++,!0)));break;case"close-quote":l.appendChild(a.createTextNode(Sn(o.quotes,--n.quoteDepth,!1)));break;default:l.appendChild(a.createTextNode(u.value))}}),l.className=es+" "+ts;var c=s===je.BEFORE?" "+es:" "+ts;return Rt(e)?e.className.baseValue+=c:e.className+=c,l}}},r.destroy=function(A){return A.parentNode?(A.parentNode.removeChild(A),!0):!1},r}(),je;(function(r){r[r.BEFORE=0]="BEFORE",r[r.AFTER=1]="AFTER"})(je||(je={}));var Wu=function(r,A){var e=r.createElement("iframe");return e.className="html2canvas-container",e.style.visibility="hidden",e.style.position="fixed",e.style.left="-10000px",e.style.top="0px",e.style.border="0",e.width=A.width.toString(),e.height=A.height.toString(),e.scrolling="no",e.setAttribute(pi,"true"),r.body.appendChild(e),e},Yu=function(r){return new Promise(function(A){if(r.complete){A();return}if(!r.src){A();return}r.onload=A,r.onerror=A})},qu=function(r){return Promise.all([].slice.call(r.images,0).map(Yu))},Zu=function(r){return new Promise(function(A,e){var t=r.contentWindow;if(!t)return e("No window assigned for iframe");var s=t.document;t.onload=r.onload=function(){t.onload=r.onload=null;var n=setInterval(function(){s.body.childNodes.length>0&&s.readyState==="complete"&&(clearInterval(n),A(r))},50)}})},zu=["all","d","content"],As=function(r,A){for(var e=r.length-1;e>=0;e--){var t=r.item(e);zu.indexOf(t)===-1&&A.style.setProperty(t,r.getPropertyValue(t))}return A},Ah=function(r){var A="";return r&&(A+="<!DOCTYPE ",r.name&&(A+=r.name),r.internalSubset&&(A+=r.internalSubset),r.publicId&&(A+='"'+r.publicId+'"'),r.systemId&&(A+='"'+r.systemId+'"'),A+=">"),A},eh=function(r,A,e){r&&r.defaultView&&(A!==r.defaultView.pageXOffset||e!==r.defaultView.pageYOffset)&&r.defaultView.scrollTo(A,e)},th=function(r){var A=r[0],e=r[1],t=r[2];A.scrollLeft=e,A.scrollTop=t},rh=":before",sh=":after",es="___html2canvas___pseudoelement_before",ts="___html2canvas___pseudoelement_after",Ci=`{
    content: "" !important;
    display: none !important;
}`,nh=function(r){ih(r,"."+es+rh+Ci+`
         .`+ts+sh+Ci)},ih=function(r,A){var e=r.ownerDocument;if(e){var t=e.createElement("style");t.textContent=A,r.appendChild(t)}},Ui=function(){function r(){}return r.getOrigin=function(A){var e=r._link;return e?(e.href=A,e.href=e.href,e.protocol+e.hostname+e.port):"about:blank"},r.isSameOrigin=function(A){return r.getOrigin(A)===r._origin},r.setContext=function(A){r._link=A.document.createElement("a"),r._origin=r.getOrigin(A.location.href)},r._origin="about:blank",r}(),ah=function(){function r(A,e){this.context=A,this._options=e,this._cache={}}return r.prototype.addImage=function(A){var e=Promise.resolve();return this.has(A)||(ss(A)||uh(A))&&(this._cache[A]=this.loadImage(A)).catch(function(){}),e},r.prototype.match=function(A){return this._cache[A]},r.prototype.loadImage=function(A){return q(this,void 0,void 0,function(){var e,t,s,n,i=this;return $(this,function(a){switch(a.label){case 0:return e=Ui.isSameOrigin(A),t=!rs(A)&&this._options.useCORS===!0&&J.SUPPORT_CORS_IMAGES&&!e,s=!rs(A)&&!e&&!ss(A)&&typeof this._options.proxy=="string"&&J.SUPPORT_CORS_XHR&&!t,!e&&this._options.allowTaint===!1&&!rs(A)&&!ss(A)&&!s&&!t?[2]:(n=A,s?[4,this.proxy(n)]:[3,2]);case 1:n=a.sent(),a.label=2;case 2:return this.context.logger.debug("Added image "+A.substring(0,256)),[4,new Promise(function(o,l){var c=new Image;c.onload=function(){return o(c)},c.onerror=l,(hh(n)||t)&&(c.crossOrigin="anonymous"),c.src=n,c.complete===!0&&setTimeout(function(){return o(c)},500),i._options.imageTimeout>0&&setTimeout(function(){return l("Timed out ("+i._options.imageTimeout+"ms) loading image")},i._options.imageTimeout)})];case 3:return[2,a.sent()]}})})},r.prototype.has=function(A){return typeof this._cache[A]<"u"},r.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},r.prototype.proxy=function(A){var e=this,t=this._options.proxy;if(!t)throw new Error("No proxy defined");var s=A.substring(0,256);return new Promise(function(n,i){var a=J.SUPPORT_RESPONSE_TYPE?"blob":"text",o=new XMLHttpRequest;o.onload=function(){if(o.status===200)if(a==="text")n(o.response);else{var u=new FileReader;u.addEventListener("load",function(){return n(u.result)},!1),u.addEventListener("error",function(h){return i(h)},!1),u.readAsDataURL(o.response)}else i("Failed to proxy resource "+s+" with status code "+o.status)},o.onerror=i;var l=t.indexOf("?")>-1?"&":"?";if(o.open("GET",""+t+l+"url="+encodeURIComponent(A)+"&responseType="+a),a!=="text"&&o instanceof XMLHttpRequest&&(o.responseType=a),e._options.imageTimeout){var c=e._options.imageTimeout;o.timeout=c,o.ontimeout=function(){return i("Timed out ("+c+"ms) proxying "+s)}}o.send()})},r}(),oh=/^data:image\/svg\+xml/i,lh=/^data:image\/.*;base64,/i,ch=/^data:image\/.*/i,uh=function(r){return J.SUPPORT_SVG_DRAWING||!dh(r)},rs=function(r){return ch.test(r)},hh=function(r){return lh.test(r)},ss=function(r){return r.substr(0,4)==="blob"},dh=function(r){return r.substr(-3).toLowerCase()==="svg"||oh.test(r)},U=function(){function r(A,e){this.type=0,this.x=A,this.y=e}return r.prototype.add=function(A,e){return new r(this.x+A,this.y+e)},r}(),de=function(r,A,e){return new U(r.x+(A.x-r.x)*e,r.y+(A.y-r.y)*e)},Nt=function(){function r(A,e,t,s){this.type=1,this.start=A,this.startControl=e,this.endControl=t,this.end=s}return r.prototype.subdivide=function(A,e){var t=de(this.start,this.startControl,A),s=de(this.startControl,this.endControl,A),n=de(this.endControl,this.end,A),i=de(t,s,A),a=de(s,n,A),o=de(i,a,A);return e?new r(this.start,t,i,o):new r(o,a,n,this.end)},r.prototype.add=function(A,e){return new r(this.start.add(A,e),this.startControl.add(A,e),this.endControl.add(A,e),this.end.add(A,e))},r.prototype.reverse=function(){return new r(this.end,this.endControl,this.startControl,this.start)},r}(),cA=function(r){return r.type===1},Bh=function(){function r(A){var e=A.styles,t=A.bounds,s=Oe(e.borderTopLeftRadius,t.width,t.height),n=s[0],i=s[1],a=Oe(e.borderTopRightRadius,t.width,t.height),o=a[0],l=a[1],c=Oe(e.borderBottomRightRadius,t.width,t.height),u=c[0],h=c[1],d=Oe(e.borderBottomLeftRadius,t.width,t.height),B=d[0],f=d[1],w=[];w.push((n+o)/t.width),w.push((B+u)/t.width),w.push((i+f)/t.height),w.push((l+h)/t.height);var g=Math.max.apply(Math,w);g>1&&(n/=g,i/=g,o/=g,l/=g,u/=g,h/=g,B/=g,f/=g);var Q=t.width-o,C=t.height-h,v=t.width-u,m=t.height-f,p=e.borderTopWidth,E=e.borderRightWidth,_=e.borderBottomWidth,b=e.borderLeftWidth,P=K(e.paddingTop,A.bounds.width),eA=K(e.paddingRight,A.bounds.width),aA=K(e.paddingBottom,A.bounds.width),T=K(e.paddingLeft,A.bounds.width);this.topLeftBorderDoubleOuterBox=n>0||i>0?k(t.left+b/3,t.top+p/3,n-b/3,i-p/3,S.TOP_LEFT):new U(t.left+b/3,t.top+p/3),this.topRightBorderDoubleOuterBox=n>0||i>0?k(t.left+Q,t.top+p/3,o-E/3,l-p/3,S.TOP_RIGHT):new U(t.left+t.width-E/3,t.top+p/3),this.bottomRightBorderDoubleOuterBox=u>0||h>0?k(t.left+v,t.top+C,u-E/3,h-_/3,S.BOTTOM_RIGHT):new U(t.left+t.width-E/3,t.top+t.height-_/3),this.bottomLeftBorderDoubleOuterBox=B>0||f>0?k(t.left+b/3,t.top+m,B-b/3,f-_/3,S.BOTTOM_LEFT):new U(t.left+b/3,t.top+t.height-_/3),this.topLeftBorderDoubleInnerBox=n>0||i>0?k(t.left+b*2/3,t.top+p*2/3,n-b*2/3,i-p*2/3,S.TOP_LEFT):new U(t.left+b*2/3,t.top+p*2/3),this.topRightBorderDoubleInnerBox=n>0||i>0?k(t.left+Q,t.top+p*2/3,o-E*2/3,l-p*2/3,S.TOP_RIGHT):new U(t.left+t.width-E*2/3,t.top+p*2/3),this.bottomRightBorderDoubleInnerBox=u>0||h>0?k(t.left+v,t.top+C,u-E*2/3,h-_*2/3,S.BOTTOM_RIGHT):new U(t.left+t.width-E*2/3,t.top+t.height-_*2/3),this.bottomLeftBorderDoubleInnerBox=B>0||f>0?k(t.left+b*2/3,t.top+m,B-b*2/3,f-_*2/3,S.BOTTOM_LEFT):new U(t.left+b*2/3,t.top+t.height-_*2/3),this.topLeftBorderStroke=n>0||i>0?k(t.left+b/2,t.top+p/2,n-b/2,i-p/2,S.TOP_LEFT):new U(t.left+b/2,t.top+p/2),this.topRightBorderStroke=n>0||i>0?k(t.left+Q,t.top+p/2,o-E/2,l-p/2,S.TOP_RIGHT):new U(t.left+t.width-E/2,t.top+p/2),this.bottomRightBorderStroke=u>0||h>0?k(t.left+v,t.top+C,u-E/2,h-_/2,S.BOTTOM_RIGHT):new U(t.left+t.width-E/2,t.top+t.height-_/2),this.bottomLeftBorderStroke=B>0||f>0?k(t.left+b/2,t.top+m,B-b/2,f-_/2,S.BOTTOM_LEFT):new U(t.left+b/2,t.top+t.height-_/2),this.topLeftBorderBox=n>0||i>0?k(t.left,t.top,n,i,S.TOP_LEFT):new U(t.left,t.top),this.topRightBorderBox=o>0||l>0?k(t.left+Q,t.top,o,l,S.TOP_RIGHT):new U(t.left+t.width,t.top),this.bottomRightBorderBox=u>0||h>0?k(t.left+v,t.top+C,u,h,S.BOTTOM_RIGHT):new U(t.left+t.width,t.top+t.height),this.bottomLeftBorderBox=B>0||f>0?k(t.left,t.top+m,B,f,S.BOTTOM_LEFT):new U(t.left,t.top+t.height),this.topLeftPaddingBox=n>0||i>0?k(t.left+b,t.top+p,Math.max(0,n-b),Math.max(0,i-p),S.TOP_LEFT):new U(t.left+b,t.top+p),this.topRightPaddingBox=o>0||l>0?k(t.left+Math.min(Q,t.width-E),t.top+p,Q>t.width+E?0:Math.max(0,o-E),Math.max(0,l-p),S.TOP_RIGHT):new U(t.left+t.width-E,t.top+p),this.bottomRightPaddingBox=u>0||h>0?k(t.left+Math.min(v,t.width-b),t.top+Math.min(C,t.height-_),Math.max(0,u-E),Math.max(0,h-_),S.BOTTOM_RIGHT):new U(t.left+t.width-E,t.top+t.height-_),this.bottomLeftPaddingBox=B>0||f>0?k(t.left+b,t.top+Math.min(m,t.height-_),Math.max(0,B-b),Math.max(0,f-_),S.BOTTOM_LEFT):new U(t.left+b,t.top+t.height-_),this.topLeftContentBox=n>0||i>0?k(t.left+b+T,t.top+p+P,Math.max(0,n-(b+T)),Math.max(0,i-(p+P)),S.TOP_LEFT):new U(t.left+b+T,t.top+p+P),this.topRightContentBox=o>0||l>0?k(t.left+Math.min(Q,t.width+b+T),t.top+p+P,Q>t.width+b+T?0:o-b+T,l-(p+P),S.TOP_RIGHT):new U(t.left+t.width-(E+eA),t.top+p+P),this.bottomRightContentBox=u>0||h>0?k(t.left+Math.min(v,t.width-(b+T)),t.top+Math.min(C,t.height+p+P),Math.max(0,u-(E+eA)),h-(_+aA),S.BOTTOM_RIGHT):new U(t.left+t.width-(E+eA),t.top+t.height-(_+aA)),this.bottomLeftContentBox=B>0||f>0?k(t.left+b+T,t.top+m,Math.max(0,B-(b+T)),f-(_+aA),S.BOTTOM_LEFT):new U(t.left+b+T,t.top+t.height-(_+aA))}return r}(),S;(function(r){r[r.TOP_LEFT=0]="TOP_LEFT",r[r.TOP_RIGHT=1]="TOP_RIGHT",r[r.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",r[r.BOTTOM_LEFT=3]="BOTTOM_LEFT"})(S||(S={}));var k=function(r,A,e,t,s){var n=4*((Math.sqrt(2)-1)/3),i=e*n,a=t*n,o=r+e,l=A+t;switch(s){case S.TOP_LEFT:return new Nt(new U(r,l),new U(r,l-a),new U(o-i,A),new U(o,A));case S.TOP_RIGHT:return new Nt(new U(r,A),new U(r+i,A),new U(o,l-a),new U(o,l));case S.BOTTOM_RIGHT:return new Nt(new U(o,A),new U(o,A+a),new U(r+i,l),new U(r,l));case S.BOTTOM_LEFT:default:return new Nt(new U(o,l),new U(o-i,l),new U(r,A+a),new U(r,A))}},Vt=function(r){return[r.topLeftBorderBox,r.topRightBorderBox,r.bottomRightBorderBox,r.bottomLeftBorderBox]},fh=function(r){return[r.topLeftContentBox,r.topRightContentBox,r.bottomRightContentBox,r.bottomLeftContentBox]},jt=function(r){return[r.topLeftPaddingBox,r.topRightPaddingBox,r.bottomRightPaddingBox,r.bottomLeftPaddingBox]},gh=function(){function r(A,e,t){this.offsetX=A,this.offsetY=e,this.matrix=t,this.type=0,this.target=6}return r}(),Jt=function(){function r(A,e){this.path=A,this.target=e,this.type=1}return r}(),wh=function(){function r(A){this.opacity=A,this.type=2,this.target=6}return r}(),ph=function(r){return r.type===0},vi=function(r){return r.type===1},Qh=function(r){return r.type===2},Fi=function(r,A){return r.length===A.length?r.some(function(e,t){return e===A[t]}):!1},Ch=function(r,A,e,t,s){return r.map(function(n,i){switch(i){case 0:return n.add(A,e);case 1:return n.add(A+t,e);case 2:return n.add(A+t,e+s);case 3:return n.add(A,e+s)}return n})},mi=function(){function r(A){this.element=A,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]}return r}(),yi=function(){function r(A,e){if(this.container=A,this.parent=e,this.effects=[],this.curves=new Bh(this.container),this.container.styles.opacity<1&&this.effects.push(new wh(this.container.styles.opacity)),this.container.styles.transform!==null){var t=this.container.bounds.left+this.container.styles.transformOrigin[0].number,s=this.container.bounds.top+this.container.styles.transformOrigin[1].number,n=this.container.styles.transform;this.effects.push(new gh(t,s,n))}if(this.container.styles.overflowX!==0){var i=Vt(this.curves),a=jt(this.curves);Fi(i,a)?this.effects.push(new Jt(i,6)):(this.effects.push(new Jt(i,2)),this.effects.push(new Jt(a,4)))}}return r.prototype.getEffects=function(A){for(var e=[2,3].indexOf(this.container.styles.position)===-1,t=this.parent,s=this.effects.slice(0);t;){var n=t.effects.filter(function(o){return!vi(o)});if(e||t.container.styles.position!==0||!t.parent){if(s.unshift.apply(s,n),e=[2,3].indexOf(t.container.styles.position)===-1,t.container.styles.overflowX!==0){var i=Vt(t.curves),a=jt(t.curves);Fi(i,a)||s.unshift(new Jt(a,6))}}else s.unshift.apply(s,n);t=t.parent}return s.filter(function(o){return G(o.target,A)})},r}(),ns=function(r,A,e,t){r.container.elements.forEach(function(s){var n=G(s.flags,4),i=G(s.flags,2),a=new yi(s,r);G(s.styles.display,2048)&&t.push(a);var o=G(s.flags,8)?[]:t;if(n||i){var l=n||s.styles.isPositioned()?e:A,c=new mi(a);if(s.styles.isPositioned()||s.styles.opacity<1||s.styles.isTransformed()){var u=s.styles.zIndex.order;if(u<0){var h=0;l.negativeZIndex.some(function(B,f){return u>B.element.container.styles.zIndex.order?(h=f,!1):h>0}),l.negativeZIndex.splice(h,0,c)}else if(u>0){var d=0;l.positiveZIndex.some(function(B,f){return u>=B.element.container.styles.zIndex.order?(d=f+1,!1):d>0}),l.positiveZIndex.splice(d,0,c)}else l.zeroOrAutoZIndexOrTransformedOrOpacity.push(c)}else s.styles.isFloating()?l.nonPositionedFloats.push(c):l.nonPositionedInlineLevel.push(c);ns(a,c,n?c:e,o)}else s.styles.isInlineLevel()?A.inlineLevel.push(a):A.nonInlineLevel.push(a),ns(a,A,e,o);G(s.flags,8)&&Ei(s,o)})},Ei=function(r,A){for(var e=r instanceof $r?r.start:1,t=r instanceof $r?r.reversed:!1,s=0;s<A.length;s++){var n=A[s];n.container instanceof qn&&typeof n.container.value=="number"&&n.container.value!==0&&(e=n.container.value),n.listValue=Ve(e,n.container.styles.listStyleType,!0),e+=t?-1:1}},Uh=function(r){var A=new yi(r,null),e=new mi(A),t=[];return ns(A,e,e,t),Ei(A.container,t),e},bi=function(r,A){switch(A){case 0:return uA(r.topLeftBorderBox,r.topLeftPaddingBox,r.topRightBorderBox,r.topRightPaddingBox);case 1:return uA(r.topRightBorderBox,r.topRightPaddingBox,r.bottomRightBorderBox,r.bottomRightPaddingBox);case 2:return uA(r.bottomRightBorderBox,r.bottomRightPaddingBox,r.bottomLeftBorderBox,r.bottomLeftPaddingBox);case 3:default:return uA(r.bottomLeftBorderBox,r.bottomLeftPaddingBox,r.topLeftBorderBox,r.topLeftPaddingBox)}},vh=function(r,A){switch(A){case 0:return uA(r.topLeftBorderBox,r.topLeftBorderDoubleOuterBox,r.topRightBorderBox,r.topRightBorderDoubleOuterBox);case 1:return uA(r.topRightBorderBox,r.topRightBorderDoubleOuterBox,r.bottomRightBorderBox,r.bottomRightBorderDoubleOuterBox);case 2:return uA(r.bottomRightBorderBox,r.bottomRightBorderDoubleOuterBox,r.bottomLeftBorderBox,r.bottomLeftBorderDoubleOuterBox);case 3:default:return uA(r.bottomLeftBorderBox,r.bottomLeftBorderDoubleOuterBox,r.topLeftBorderBox,r.topLeftBorderDoubleOuterBox)}},Fh=function(r,A){switch(A){case 0:return uA(r.topLeftBorderDoubleInnerBox,r.topLeftPaddingBox,r.topRightBorderDoubleInnerBox,r.topRightPaddingBox);case 1:return uA(r.topRightBorderDoubleInnerBox,r.topRightPaddingBox,r.bottomRightBorderDoubleInnerBox,r.bottomRightPaddingBox);case 2:return uA(r.bottomRightBorderDoubleInnerBox,r.bottomRightPaddingBox,r.bottomLeftBorderDoubleInnerBox,r.bottomLeftPaddingBox);case 3:default:return uA(r.bottomLeftBorderDoubleInnerBox,r.bottomLeftPaddingBox,r.topLeftBorderDoubleInnerBox,r.topLeftPaddingBox)}},mh=function(r,A){switch(A){case 0:return Xt(r.topLeftBorderStroke,r.topRightBorderStroke);case 1:return Xt(r.topRightBorderStroke,r.bottomRightBorderStroke);case 2:return Xt(r.bottomRightBorderStroke,r.bottomLeftBorderStroke);case 3:default:return Xt(r.bottomLeftBorderStroke,r.topLeftBorderStroke)}},Xt=function(r,A){var e=[];return cA(r)?e.push(r.subdivide(.5,!1)):e.push(r),cA(A)?e.push(A.subdivide(.5,!0)):e.push(A),e},uA=function(r,A,e,t){var s=[];return cA(r)?s.push(r.subdivide(.5,!1)):s.push(r),cA(e)?s.push(e.subdivide(.5,!0)):s.push(e),cA(t)?s.push(t.subdivide(.5,!0).reverse()):s.push(t),cA(A)?s.push(A.subdivide(.5,!1).reverse()):s.push(A),s},Ii=function(r){var A=r.bounds,e=r.styles;return A.add(e.borderLeftWidth,e.borderTopWidth,-(e.borderRightWidth+e.borderLeftWidth),-(e.borderTopWidth+e.borderBottomWidth))},$t=function(r){var A=r.styles,e=r.bounds,t=K(A.paddingLeft,e.width),s=K(A.paddingRight,e.width),n=K(A.paddingTop,e.width),i=K(A.paddingBottom,e.width);return e.add(t+A.borderLeftWidth,n+A.borderTopWidth,-(A.borderRightWidth+A.borderLeftWidth+t+s),-(A.borderTopWidth+A.borderBottomWidth+n+i))},yh=function(r,A){return r===0?A.bounds:r===2?$t(A):Ii(A)},Eh=function(r,A){return r===0?A.bounds:r===2?$t(A):Ii(A)},is=function(r,A,e){var t=yh(fe(r.styles.backgroundOrigin,A),r),s=Eh(fe(r.styles.backgroundClip,A),r),n=bh(fe(r.styles.backgroundSize,A),e,t),i=n[0],a=n[1],o=Oe(fe(r.styles.backgroundPosition,A),t.width-i,t.height-a),l=Ih(fe(r.styles.backgroundRepeat,A),o,n,t,s),c=Math.round(t.left+o[0]),u=Math.round(t.top+o[1]);return[l,c,u,i,a]},Be=function(r){return L(r)&&r.value===le.AUTO},Wt=function(r){return typeof r=="number"},bh=function(r,A,e){var t=A[0],s=A[1],n=A[2],i=r[0],a=r[1];if(!i)return[0,0];if(R(i)&&a&&R(a))return[K(i,e.width),K(a,e.height)];var o=Wt(n);if(L(i)&&(i.value===le.CONTAIN||i.value===le.COVER)){if(Wt(n)){var l=e.width/e.height;return l<n!=(i.value===le.COVER)?[e.width,e.width/n]:[e.height*n,e.height]}return[e.width,e.height]}var c=Wt(t),u=Wt(s),h=c||u;if(Be(i)&&(!a||Be(a))){if(c&&u)return[t,s];if(!o&&!h)return[e.width,e.height];if(h&&o){var d=c?t:s*n,B=u?s:t/n;return[d,B]}var f=c?t:e.width,w=u?s:e.height;return[f,w]}if(o){var g=0,Q=0;return R(i)?g=K(i,e.width):R(a)&&(Q=K(a,e.height)),Be(i)?g=Q*n:(!a||Be(a))&&(Q=g/n),[g,Q]}var C=null,v=null;if(R(i)?C=K(i,e.width):a&&R(a)&&(v=K(a,e.height)),C!==null&&(!a||Be(a))&&(v=c&&u?C/t*s:e.height),v!==null&&Be(i)&&(C=c&&u?v/s*t:e.width),C!==null&&v!==null)return[C,v];throw new Error("Unable to calculate background-size for element")},fe=function(r,A){var e=r[A];return typeof e>"u"?r[0]:e},Ih=function(r,A,e,t,s){var n=A[0],i=A[1],a=e[0],o=e[1];switch(r){case 2:return[new U(Math.round(t.left),Math.round(t.top+i)),new U(Math.round(t.left+t.width),Math.round(t.top+i)),new U(Math.round(t.left+t.width),Math.round(o+t.top+i)),new U(Math.round(t.left),Math.round(o+t.top+i))];case 3:return[new U(Math.round(t.left+n),Math.round(t.top)),new U(Math.round(t.left+n+a),Math.round(t.top)),new U(Math.round(t.left+n+a),Math.round(t.height+t.top)),new U(Math.round(t.left+n),Math.round(t.height+t.top))];case 1:return[new U(Math.round(t.left+n),Math.round(t.top+i)),new U(Math.round(t.left+n+a),Math.round(t.top+i)),new U(Math.round(t.left+n+a),Math.round(t.top+i+o)),new U(Math.round(t.left+n),Math.round(t.top+i+o))];default:return[new U(Math.round(s.left),Math.round(s.top)),new U(Math.round(s.left+s.width),Math.round(s.top)),new U(Math.round(s.left+s.width),Math.round(s.height+s.top)),new U(Math.round(s.left),Math.round(s.height+s.top))]}},Hh="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",Hi="Hidden Text",xh=function(){function r(A){this._data={},this._document=A}return r.prototype.parseMetrics=function(A,e){var t=this._document.createElement("div"),s=this._document.createElement("img"),n=this._document.createElement("span"),i=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",i.appendChild(t),s.src=Hh,s.width=1,s.height=1,s.style.margin="0",s.style.padding="0",s.style.verticalAlign="baseline",n.style.fontFamily=A,n.style.fontSize=e,n.style.margin="0",n.style.padding="0",n.appendChild(this._document.createTextNode(Hi)),t.appendChild(n),t.appendChild(s);var a=s.offsetTop-n.offsetTop+2;t.removeChild(n),t.appendChild(this._document.createTextNode(Hi)),t.style.lineHeight="normal",s.style.verticalAlign="super";var o=s.offsetTop-t.offsetTop+2;return i.removeChild(t),{baseline:a,middle:o}},r.prototype.getMetrics=function(A,e){var t=A+" "+e;return typeof this._data[t]>"u"&&(this._data[t]=this.parseMetrics(A,e)),this._data[t]},r}(),xi=function(){function r(A,e){this.context=A,this.options=e}return r}(),_h=1e4,Sh=function(r){dA(A,r);function A(e,t){var s=r.call(this,e,t)||this;return s._activeEffects=[],s.canvas=t.canvas?t.canvas:document.createElement("canvas"),s.ctx=s.canvas.getContext("2d"),t.canvas||(s.canvas.width=Math.floor(t.width*t.scale),s.canvas.height=Math.floor(t.height*t.scale),s.canvas.style.width=t.width+"px",s.canvas.style.height=t.height+"px"),s.fontMetrics=new xh(document),s.ctx.scale(s.options.scale,s.options.scale),s.ctx.translate(-t.x,-t.y),s.ctx.textBaseline="bottom",s._activeEffects=[],s.context.logger.debug("Canvas renderer initialized ("+t.width+"x"+t.height+") with scale "+t.scale),s}return A.prototype.applyEffects=function(e){for(var t=this;this._activeEffects.length;)this.popEffect();e.forEach(function(s){return t.applyEffect(s)})},A.prototype.applyEffect=function(e){this.ctx.save(),Qh(e)&&(this.ctx.globalAlpha=e.opacity),ph(e)&&(this.ctx.translate(e.offsetX,e.offsetY),this.ctx.transform(e.matrix[0],e.matrix[1],e.matrix[2],e.matrix[3],e.matrix[4],e.matrix[5]),this.ctx.translate(-e.offsetX,-e.offsetY)),vi(e)&&(this.path(e.path),this.ctx.clip()),this._activeEffects.push(e)},A.prototype.popEffect=function(){this._activeEffects.pop(),this.ctx.restore()},A.prototype.renderStack=function(e){return q(this,void 0,void 0,function(){var t;return $(this,function(s){switch(s.label){case 0:return t=e.element.container.styles,t.isVisible()?[4,this.renderStackContent(e)]:[3,2];case 1:s.sent(),s.label=2;case 2:return[2]}})})},A.prototype.renderNode=function(e){return q(this,void 0,void 0,function(){return $(this,function(t){switch(t.label){case 0:if(G(e.container.flags,16))debugger;return e.container.styles.isVisible()?[4,this.renderNodeBackgroundAndBorders(e)]:[3,3];case 1:return t.sent(),[4,this.renderNodeContent(e)];case 2:t.sent(),t.label=3;case 3:return[2]}})})},A.prototype.renderTextWithLetterSpacing=function(e,t,s){var n=this;if(t===0)this.ctx.fillText(e.text,e.bounds.left,e.bounds.top+s);else{var i=Xr(e.text);i.reduce(function(a,o){return n.ctx.fillText(o,a,e.bounds.top+s),a+n.ctx.measureText(o).width},e.bounds.left)}},A.prototype.createFontStyle=function(e){var t=e.fontVariant.filter(function(i){return i==="normal"||i==="small-caps"}).join(""),s=kh(e.fontFamily).join(", "),n=ke(e.fontSize)?""+e.fontSize.number+e.fontSize.unit:e.fontSize.number+"px";return[[e.fontStyle,t,e.fontWeight,n,s].join(" "),s,n]},A.prototype.renderTextNode=function(e,t){return q(this,void 0,void 0,function(){var s,n,i,a,o,l,c,u,h=this;return $(this,function(d){return s=this.createFontStyle(t),n=s[0],i=s[1],a=s[2],this.ctx.font=n,this.ctx.direction=t.direction===1?"rtl":"ltr",this.ctx.textAlign="left",this.ctx.textBaseline="alphabetic",o=this.fontMetrics.getMetrics(i,a),l=o.baseline,c=o.middle,u=t.paintOrder,e.textBounds.forEach(function(B){u.forEach(function(f){switch(f){case 0:h.ctx.fillStyle=N(t.color),h.renderTextWithLetterSpacing(B,t.letterSpacing,l);var w=t.textShadow;w.length&&B.text.trim().length&&(w.slice(0).reverse().forEach(function(g){h.ctx.shadowColor=N(g.color),h.ctx.shadowOffsetX=g.offsetX.number*h.options.scale,h.ctx.shadowOffsetY=g.offsetY.number*h.options.scale,h.ctx.shadowBlur=g.blur.number,h.renderTextWithLetterSpacing(B,t.letterSpacing,l)}),h.ctx.shadowColor="",h.ctx.shadowOffsetX=0,h.ctx.shadowOffsetY=0,h.ctx.shadowBlur=0),t.textDecorationLine.length&&(h.ctx.fillStyle=N(t.textDecorationColor||t.color),t.textDecorationLine.forEach(function(g){switch(g){case 1:h.ctx.fillRect(B.bounds.left,Math.round(B.bounds.top+l),B.bounds.width,1);break;case 2:h.ctx.fillRect(B.bounds.left,Math.round(B.bounds.top),B.bounds.width,1);break;case 3:h.ctx.fillRect(B.bounds.left,Math.ceil(B.bounds.top+c),B.bounds.width,1);break}}));break;case 1:t.webkitTextStrokeWidth&&B.text.trim().length&&(h.ctx.strokeStyle=N(t.webkitTextStrokeColor),h.ctx.lineWidth=t.webkitTextStrokeWidth,h.ctx.lineJoin=window.chrome?"miter":"round",h.ctx.strokeText(B.text,B.bounds.left,B.bounds.top+l)),h.ctx.strokeStyle="",h.ctx.lineWidth=0,h.ctx.lineJoin="miter";break}})}),[2]})})},A.prototype.renderReplacedElement=function(e,t,s){if(s&&e.intrinsicWidth>0&&e.intrinsicHeight>0){var n=$t(e),i=jt(t);this.path(i),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(s,0,0,e.intrinsicWidth,e.intrinsicHeight,n.left,n.top,n.width,n.height),this.ctx.restore()}},A.prototype.renderNodeContent=function(e){return q(this,void 0,void 0,function(){var t,s,n,i,a,o,Q,Q,l,c,u,h,v,d,B,m,f,w,g,Q,C,v,m;return $(this,function(p){switch(p.label){case 0:this.applyEffects(e.getEffects(4)),t=e.container,s=e.curves,n=t.styles,i=0,a=t.textNodes,p.label=1;case 1:return i<a.length?(o=a[i],[4,this.renderTextNode(o,n)]):[3,4];case 2:p.sent(),p.label=3;case 3:return i++,[3,1];case 4:if(!(t instanceof $n))return[3,8];p.label=5;case 5:return p.trys.push([5,7,,8]),[4,this.context.cache.match(t.src)];case 6:return Q=p.sent(),this.renderReplacedElement(t,s,Q),[3,8];case 7:return p.sent(),this.context.logger.error("Error loading image "+t.src),[3,8];case 8:if(t instanceof Wn&&this.renderReplacedElement(t,s,t.canvas),!(t instanceof Yn))return[3,12];p.label=9;case 9:return p.trys.push([9,11,,12]),[4,this.context.cache.match(t.svg)];case 10:return Q=p.sent(),this.renderReplacedElement(t,s,Q),[3,12];case 11:return p.sent(),this.context.logger.error("Error loading svg "+t.svg.substring(0,255)),[3,12];case 12:return t instanceof ei&&t.tree?(l=new A(this.context,{scale:this.options.scale,backgroundColor:t.backgroundColor,x:0,y:0,width:t.width,height:t.height}),[4,l.render(t.tree)]):[3,14];case 13:c=p.sent(),t.width&&t.height&&this.ctx.drawImage(c,0,0,t.width,t.height,t.bounds.left,t.bounds.top,t.bounds.width,t.bounds.height),p.label=14;case 14:if(t instanceof Wr&&(u=Math.min(t.bounds.width,t.bounds.height),t.type===kt?t.checked&&(this.ctx.save(),this.path([new U(t.bounds.left+u*.39363,t.bounds.top+u*.79),new U(t.bounds.left+u*.16,t.bounds.top+u*.5549),new U(t.bounds.left+u*.27347,t.bounds.top+u*.44071),new U(t.bounds.left+u*.39694,t.bounds.top+u*.5649),new U(t.bounds.left+u*.72983,t.bounds.top+u*.23),new U(t.bounds.left+u*.84,t.bounds.top+u*.34085),new U(t.bounds.left+u*.39363,t.bounds.top+u*.79)]),this.ctx.fillStyle=N(Zn),this.ctx.fill(),this.ctx.restore()):t.type===Ot&&t.checked&&(this.ctx.save(),this.ctx.beginPath(),this.ctx.arc(t.bounds.left+u/2,t.bounds.top+u/2,u/4,0,Math.PI*2,!0),this.ctx.fillStyle=N(Zn),this.ctx.fill(),this.ctx.restore())),Lh(t)&&t.value.length){switch(h=this.createFontStyle(n),v=h[0],d=h[1],B=this.fontMetrics.getMetrics(v,d).baseline,this.ctx.font=v,this.ctx.fillStyle=N(n.color),this.ctx.textBaseline="alphabetic",this.ctx.textAlign=Kh(t.styles.textAlign),m=$t(t),f=0,t.styles.textAlign){case 1:f+=m.width/2;break;case 2:f+=m.width;break}w=m.add(f,0,0,-m.height/2+1),this.ctx.save(),this.path([new U(m.left,m.top),new U(m.left+m.width,m.top),new U(m.left+m.width,m.top+m.height),new U(m.left,m.top+m.height)]),this.ctx.clip(),this.renderTextWithLetterSpacing(new Ge(t.value,w),n.letterSpacing,B),this.ctx.restore(),this.ctx.textBaseline="alphabetic",this.ctx.textAlign="left"}if(!G(t.styles.display,2048))return[3,20];if(t.styles.listStyleImage===null)return[3,19];if(g=t.styles.listStyleImage,g.type!==0)return[3,18];Q=void 0,C=g.url,p.label=15;case 15:return p.trys.push([15,17,,18]),[4,this.context.cache.match(C)];case 16:return Q=p.sent(),this.ctx.drawImage(Q,t.bounds.left-(Q.width+10),t.bounds.top),[3,18];case 17:return p.sent(),this.context.logger.error("Error loading list-style-image "+C),[3,18];case 18:return[3,20];case 19:e.listValue&&t.styles.listStyleType!==-1&&(v=this.createFontStyle(n)[0],this.ctx.font=v,this.ctx.fillStyle=N(n.color),this.ctx.textBaseline="middle",this.ctx.textAlign="right",m=new UA(t.bounds.left,t.bounds.top+K(t.styles.paddingTop,t.bounds.width),t.bounds.width,Hn(n.lineHeight,n.fontSize.number)/2+1),this.renderTextWithLetterSpacing(new Ge(e.listValue,m),n.letterSpacing,Hn(n.lineHeight,n.fontSize.number)/2+2),this.ctx.textBaseline="bottom",this.ctx.textAlign="left"),p.label=20;case 20:return[2]}})})},A.prototype.renderStackContent=function(e){return q(this,void 0,void 0,function(){var t,s,g,n,i,g,a,o,g,l,c,g,u,h,g,d,B,g,f,w,g;return $(this,function(Q){switch(Q.label){case 0:if(G(e.element.container.flags,16))debugger;return[4,this.renderNodeBackgroundAndBorders(e.element)];case 1:Q.sent(),t=0,s=e.negativeZIndex,Q.label=2;case 2:return t<s.length?(g=s[t],[4,this.renderStack(g)]):[3,5];case 3:Q.sent(),Q.label=4;case 4:return t++,[3,2];case 5:return[4,this.renderNodeContent(e.element)];case 6:Q.sent(),n=0,i=e.nonInlineLevel,Q.label=7;case 7:return n<i.length?(g=i[n],[4,this.renderNode(g)]):[3,10];case 8:Q.sent(),Q.label=9;case 9:return n++,[3,7];case 10:a=0,o=e.nonPositionedFloats,Q.label=11;case 11:return a<o.length?(g=o[a],[4,this.renderStack(g)]):[3,14];case 12:Q.sent(),Q.label=13;case 13:return a++,[3,11];case 14:l=0,c=e.nonPositionedInlineLevel,Q.label=15;case 15:return l<c.length?(g=c[l],[4,this.renderStack(g)]):[3,18];case 16:Q.sent(),Q.label=17;case 17:return l++,[3,15];case 18:u=0,h=e.inlineLevel,Q.label=19;case 19:return u<h.length?(g=h[u],[4,this.renderNode(g)]):[3,22];case 20:Q.sent(),Q.label=21;case 21:return u++,[3,19];case 22:d=0,B=e.zeroOrAutoZIndexOrTransformedOrOpacity,Q.label=23;case 23:return d<B.length?(g=B[d],[4,this.renderStack(g)]):[3,26];case 24:Q.sent(),Q.label=25;case 25:return d++,[3,23];case 26:f=0,w=e.positiveZIndex,Q.label=27;case 27:return f<w.length?(g=w[f],[4,this.renderStack(g)]):[3,30];case 28:Q.sent(),Q.label=29;case 29:return f++,[3,27];case 30:return[2]}})})},A.prototype.mask=function(e){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(e.slice(0).reverse()),this.ctx.closePath()},A.prototype.path=function(e){this.ctx.beginPath(),this.formatPath(e),this.ctx.closePath()},A.prototype.formatPath=function(e){var t=this;e.forEach(function(s,n){var i=cA(s)?s.start:s;n===0?t.ctx.moveTo(i.x,i.y):t.ctx.lineTo(i.x,i.y),cA(s)&&t.ctx.bezierCurveTo(s.startControl.x,s.startControl.y,s.endControl.x,s.endControl.y,s.end.x,s.end.y)})},A.prototype.renderRepeat=function(e,t,s,n){this.path(e),this.ctx.fillStyle=t,this.ctx.translate(s,n),this.ctx.fill(),this.ctx.translate(-s,-n)},A.prototype.resizeImage=function(e,t,s){var n;if(e.width===t&&e.height===s)return e;var i=(n=this.canvas.ownerDocument)!==null&&n!==void 0?n:document,a=i.createElement("canvas");a.width=Math.max(1,t),a.height=Math.max(1,s);var o=a.getContext("2d");return o.drawImage(e,0,0,e.width,e.height,0,0,t,s),a},A.prototype.renderBackgroundImage=function(e){return q(this,void 0,void 0,function(){var t,s,n,i,a,o;return $(this,function(l){switch(l.label){case 0:t=e.styles.backgroundImage.length-1,s=function(c){var u,h,d,P,tA,rA,T,X,_,B,P,tA,rA,T,X,f,w,g,Q,C,v,m,p,E,_,b,P,eA,aA,T,X,GA,tA,rA,zA,CA,NA,Ae,ee,bA,te,IA;return $(this,function(me){switch(me.label){case 0:if(c.type!==0)return[3,5];u=void 0,h=c.url,me.label=1;case 1:return me.trys.push([1,3,,4]),[4,n.context.cache.match(h)];case 2:return u=me.sent(),[3,4];case 3:return me.sent(),n.context.logger.error("Error loading background-image "+h),[3,4];case 4:return u&&(d=is(e,t,[u.width,u.height,u.width/u.height]),P=d[0],tA=d[1],rA=d[2],T=d[3],X=d[4],_=n.ctx.createPattern(n.resizeImage(u,T,X),"repeat"),n.renderRepeat(P,_,tA,rA)),[3,6];case 5:pl(c)?(B=is(e,t,[null,null,null]),P=B[0],tA=B[1],rA=B[2],T=B[3],X=B[4],f=dl(c.angle,T,X),w=f[0],g=f[1],Q=f[2],C=f[3],v=f[4],m=document.createElement("canvas"),m.width=T,m.height=X,p=m.getContext("2d"),E=p.createLinearGradient(g,C,Q,v),pn(c.stops,w).forEach(function(tt){return E.addColorStop(tt.stop,N(tt.color))}),p.fillStyle=E,p.fillRect(0,0,T,X),T>0&&X>0&&(_=n.ctx.createPattern(m,"repeat"),n.renderRepeat(P,_,tA,rA))):Ql(c)&&(b=is(e,t,[null,null,null]),P=b[0],eA=b[1],aA=b[2],T=b[3],X=b[4],GA=c.position.length===0?[Sr]:c.position,tA=K(GA[0],T),rA=K(GA[GA.length-1],X),zA=Bl(c,tA,rA,T,X),CA=zA[0],NA=zA[1],CA>0&&NA>0&&(Ae=n.ctx.createRadialGradient(eA+tA,aA+rA,0,eA+tA,aA+rA,CA),pn(c.stops,CA*2).forEach(function(tt){return Ae.addColorStop(tt.stop,N(tt.color))}),n.path(P),n.ctx.fillStyle=Ae,CA!==NA?(ee=e.bounds.left+.5*e.bounds.width,bA=e.bounds.top+.5*e.bounds.height,te=NA/CA,IA=1/te,n.ctx.save(),n.ctx.translate(ee,bA),n.ctx.transform(1,0,0,te,0,0),n.ctx.translate(-ee,-bA),n.ctx.fillRect(eA,IA*(aA-bA)+bA,T,X*IA),n.ctx.restore()):n.ctx.fill())),me.label=6;case 6:return t--,[2]}})},n=this,i=0,a=e.styles.backgroundImage.slice(0).reverse(),l.label=1;case 1:return i<a.length?(o=a[i],[5,s(o)]):[3,4];case 2:l.sent(),l.label=3;case 3:return i++,[3,1];case 4:return[2]}})})},A.prototype.renderSolidBorder=function(e,t,s){return q(this,void 0,void 0,function(){return $(this,function(n){return this.path(bi(s,t)),this.ctx.fillStyle=N(e),this.ctx.fill(),[2]})})},A.prototype.renderDoubleBorder=function(e,t,s,n){return q(this,void 0,void 0,function(){var i,a;return $(this,function(o){switch(o.label){case 0:return t<3?[4,this.renderSolidBorder(e,s,n)]:[3,2];case 1:return o.sent(),[2];case 2:return i=vh(n,s),this.path(i),this.ctx.fillStyle=N(e),this.ctx.fill(),a=Fh(n,s),this.path(a),this.ctx.fill(),[2]}})})},A.prototype.renderNodeBackgroundAndBorders=function(e){return q(this,void 0,void 0,function(){var t,s,n,i,a,o,l,c,u=this;return $(this,function(h){switch(h.label){case 0:return this.applyEffects(e.getEffects(2)),t=e.container.styles,s=!TA(t.backgroundColor)||t.backgroundImage.length,n=[{style:t.borderTopStyle,color:t.borderTopColor,width:t.borderTopWidth},{style:t.borderRightStyle,color:t.borderRightColor,width:t.borderRightWidth},{style:t.borderBottomStyle,color:t.borderBottomColor,width:t.borderBottomWidth},{style:t.borderLeftStyle,color:t.borderLeftColor,width:t.borderLeftWidth}],i=Th(fe(t.backgroundClip,0),e.curves),s||t.boxShadow.length?(this.ctx.save(),this.path(i),this.ctx.clip(),TA(t.backgroundColor)||(this.ctx.fillStyle=N(t.backgroundColor),this.ctx.fill()),[4,this.renderBackgroundImage(e.container)]):[3,2];case 1:h.sent(),this.ctx.restore(),t.boxShadow.slice(0).reverse().forEach(function(d){u.ctx.save();var B=Vt(e.curves),f=d.inset?0:_h,w=Ch(B,-f+(d.inset?1:-1)*d.spread.number,(d.inset?1:-1)*d.spread.number,d.spread.number*(d.inset?-2:2),d.spread.number*(d.inset?-2:2));d.inset?(u.path(B),u.ctx.clip(),u.mask(w)):(u.mask(B),u.ctx.clip(),u.path(w)),u.ctx.shadowOffsetX=d.offsetX.number+f,u.ctx.shadowOffsetY=d.offsetY.number,u.ctx.shadowColor=N(d.color),u.ctx.shadowBlur=d.blur.number,u.ctx.fillStyle=d.inset?N(d.color):"rgba(0,0,0,1)",u.ctx.fill(),u.ctx.restore()}),h.label=2;case 2:a=0,o=0,l=n,h.label=3;case 3:return o<l.length?(c=l[o],c.style!==0&&!TA(c.color)&&c.width>0?c.style!==2?[3,5]:[4,this.renderDashedDottedBorder(c.color,c.width,a,e.curves,2)]:[3,11]):[3,13];case 4:return h.sent(),[3,11];case 5:return c.style!==3?[3,7]:[4,this.renderDashedDottedBorder(c.color,c.width,a,e.curves,3)];case 6:return h.sent(),[3,11];case 7:return c.style!==4?[3,9]:[4,this.renderDoubleBorder(c.color,c.width,a,e.curves)];case 8:return h.sent(),[3,11];case 9:return[4,this.renderSolidBorder(c.color,a,e.curves)];case 10:h.sent(),h.label=11;case 11:a++,h.label=12;case 12:return o++,[3,3];case 13:return[2]}})})},A.prototype.renderDashedDottedBorder=function(e,t,s,n,i){return q(this,void 0,void 0,function(){var a,o,l,c,u,h,d,B,f,w,g,Q,C,v,m,p,m,p;return $(this,function(E){return this.ctx.save(),a=mh(n,s),o=bi(n,s),i===2&&(this.path(o),this.ctx.clip()),cA(o[0])?(l=o[0].start.x,c=o[0].start.y):(l=o[0].x,c=o[0].y),cA(o[1])?(u=o[1].end.x,h=o[1].end.y):(u=o[1].x,h=o[1].y),s===0||s===2?d=Math.abs(l-u):d=Math.abs(c-h),this.ctx.beginPath(),i===3?this.formatPath(a):this.formatPath(o.slice(0,2)),B=t<3?t*3:t*2,f=t<3?t*2:t,i===3&&(B=t,f=t),w=!0,d<=B*2?w=!1:d<=B*2+f?(g=d/(2*B+f),B*=g,f*=g):(Q=Math.floor((d+f)/(B+f)),C=(d-Q*B)/(Q-1),v=(d-(Q+1)*B)/Q,f=v<=0||Math.abs(f-C)<Math.abs(f-v)?C:v),w&&(i===3?this.ctx.setLineDash([0,B+f]):this.ctx.setLineDash([B,f])),i===3?(this.ctx.lineCap="round",this.ctx.lineWidth=t):this.ctx.lineWidth=t*2+1.1,this.ctx.strokeStyle=N(e),this.ctx.stroke(),this.ctx.setLineDash([]),i===2&&(cA(o[0])&&(m=o[3],p=o[0],this.ctx.beginPath(),this.formatPath([new U(m.end.x,m.end.y),new U(p.start.x,p.start.y)]),this.ctx.stroke()),cA(o[1])&&(m=o[1],p=o[2],this.ctx.beginPath(),this.formatPath([new U(m.end.x,m.end.y),new U(p.start.x,p.start.y)]),this.ctx.stroke())),this.ctx.restore(),[2]})})},A.prototype.render=function(e){return q(this,void 0,void 0,function(){var t;return $(this,function(s){switch(s.label){case 0:return this.options.backgroundColor&&(this.ctx.fillStyle=N(this.options.backgroundColor),this.ctx.fillRect(this.options.x,this.options.y,this.options.width,this.options.height)),t=Uh(e),[4,this.renderStack(t)];case 1:return s.sent(),this.applyEffects([]),[2,this.canvas]}})})},A}(xi),Lh=function(r){return r instanceof Ai||r instanceof zn?!0:r instanceof Wr&&r.type!==Ot&&r.type!==kt},Th=function(r,A){switch(r){case 0:return Vt(A);case 2:return fh(A);case 1:default:return jt(A)}},Kh=function(r){switch(r){case 1:return"center";case 2:return"right";case 0:default:return"left"}},Dh=["-apple-system","system-ui"],kh=function(r){return/iPhone OS 15_(0|1)/.test(window.navigator.userAgent)?r.filter(function(A){return Dh.indexOf(A)===-1}):r},Oh=function(r){dA(A,r);function A(e,t){var s=r.call(this,e,t)||this;return s.canvas=t.canvas?t.canvas:document.createElement("canvas"),s.ctx=s.canvas.getContext("2d"),s.options=t,s.canvas.width=Math.floor(t.width*t.scale),s.canvas.height=Math.floor(t.height*t.scale),s.canvas.style.width=t.width+"px",s.canvas.style.height=t.height+"px",s.ctx.scale(s.options.scale,s.options.scale),s.ctx.translate(-t.x,-t.y),s.context.logger.debug("EXPERIMENTAL ForeignObject renderer initialized ("+t.width+"x"+t.height+" at "+t.x+","+t.y+") with scale "+t.scale),s}return A.prototype.render=function(e){return q(this,void 0,void 0,function(){var t,s;return $(this,function(n){switch(n.label){case 0:return t=Jr(this.options.width*this.options.scale,this.options.height*this.options.scale,this.options.scale,this.options.scale,e),[4,Mh(t)];case 1:return s=n.sent(),this.options.backgroundColor&&(this.ctx.fillStyle=N(this.options.backgroundColor),this.ctx.fillRect(0,0,this.options.width*this.options.scale,this.options.height*this.options.scale)),this.ctx.drawImage(s,-this.options.x*this.options.scale,-this.options.y*this.options.scale),[2,this.canvas]}})})},A}(xi),Mh=function(r){return new Promise(function(A,e){var t=new Image;t.onload=function(){A(t)},t.onerror=e,t.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(new XMLSerializer().serializeToString(r))})},Rh=function(){function r(A){var e=A.id,t=A.enabled;this.id=e,this.enabled=t,this.start=Date.now()}return r.prototype.debug=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&(typeof window<"u"&&window.console&&typeof console.debug=="function"?console.debug.apply(console,rt([this.id,this.getTime()+"ms"],A)):this.info.apply(this,A))},r.prototype.getTime=function(){return Date.now()-this.start},r.prototype.info=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&typeof window<"u"&&window.console&&typeof console.info=="function"&&console.info.apply(console,rt([this.id,this.getTime()+"ms"],A))},r.prototype.warn=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&(typeof window<"u"&&window.console&&typeof console.warn=="function"?console.warn.apply(console,rt([this.id,this.getTime()+"ms"],A)):this.info.apply(this,A))},r.prototype.error=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&(typeof window<"u"&&window.console&&typeof console.error=="function"?console.error.apply(console,rt([this.id,this.getTime()+"ms"],A)):this.info.apply(this,A))},r.instances={},r}(),Ph=function(){function r(A,e){var t;this.windowBounds=e,this.instanceName="#"+r.instanceCount++,this.logger=new Rh({id:this.instanceName,enabled:A.logging}),this.cache=(t=A.cache)!==null&&t!==void 0?t:new ah(this,A)}return r.instanceCount=1,r}(),as=function(r,A){return A===void 0&&(A={}),Gh(r,A)};typeof window<"u"&&Ui.setContext(window);var Gh=function(r,A){return q(void 0,void 0,void 0,function(){var e,t,s,n,i,a,o,l,c,u,h,d,B,f,w,g,Q,C,v,m,E,p,E,_,b,P,eA,aA,T,X,GA,tA,rA,zA,CA,NA,Ae,ee,bA,te;return $(this,function(IA){switch(IA.label){case 0:if(!r||typeof r!="object")return[2,Promise.reject("Invalid element provided as first argument")];if(e=r.ownerDocument,!e)throw new Error("Element is not attached to a Document");if(t=e.defaultView,!t)throw new Error("Document is not attached to a Window");return s={allowTaint:(_=A.allowTaint)!==null&&_!==void 0?_:!1,imageTimeout:(b=A.imageTimeout)!==null&&b!==void 0?b:15e3,proxy:A.proxy,useCORS:(P=A.useCORS)!==null&&P!==void 0?P:!1},n=ur({logging:(eA=A.logging)!==null&&eA!==void 0?eA:!0,cache:A.cache},s),i={windowWidth:(aA=A.windowWidth)!==null&&aA!==void 0?aA:t.innerWidth,windowHeight:(T=A.windowHeight)!==null&&T!==void 0?T:t.innerHeight,scrollX:(X=A.scrollX)!==null&&X!==void 0?X:t.pageXOffset,scrollY:(GA=A.scrollY)!==null&&GA!==void 0?GA:t.pageYOffset},a=new UA(i.scrollX,i.scrollY,i.windowWidth,i.windowHeight),o=new Ph(n,a),l=(tA=A.foreignObjectRendering)!==null&&tA!==void 0?tA:!1,c={allowTaint:(rA=A.allowTaint)!==null&&rA!==void 0?rA:!1,onclone:A.onclone,ignoreElements:A.ignoreElements,inlineImages:l,copyStyles:l},o.logger.debug("Starting document clone with size "+a.width+"x"+a.height+" scrolled to "+-a.left+","+-a.top),u=new Qi(o,r,c),h=u.clonedReferenceElement,h?[4,u.toIFrame(e,a)]:[2,Promise.reject("Unable to find element in cloned iframe")];case 1:return d=IA.sent(),B=qr(h)||Vu(h)?Qa(h.ownerDocument):st(o,h),f=B.width,w=B.height,g=B.left,Q=B.top,C=Nh(o,h,A.backgroundColor),v={canvas:A.canvas,backgroundColor:C,scale:(CA=(zA=A.scale)!==null&&zA!==void 0?zA:t.devicePixelRatio)!==null&&CA!==void 0?CA:1,x:((NA=A.x)!==null&&NA!==void 0?NA:0)+g,y:((Ae=A.y)!==null&&Ae!==void 0?Ae:0)+Q,width:(ee=A.width)!==null&&ee!==void 0?ee:Math.ceil(f),height:(bA=A.height)!==null&&bA!==void 0?bA:Math.ceil(w)},l?(o.logger.debug("Document cloned, using foreign object rendering"),E=new Oh(o,v),[4,E.render(h)]):[3,3];case 2:return m=IA.sent(),[3,5];case 3:return o.logger.debug("Document cloned, element located at "+g+","+Q+" with size "+f+"x"+w+" using computed rendering"),o.logger.debug("Starting DOM parsing"),p=ri(o,h),C===p.styles.backgroundColor&&(p.styles.backgroundColor=FA.TRANSPARENT),o.logger.debug("Starting renderer for element at "+v.x+","+v.y+" with size "+v.width+"x"+v.height),E=new Sh(o,v),[4,E.render(p)];case 4:m=IA.sent(),IA.label=5;case 5:return(!((te=A.removeContainer)!==null&&te!==void 0)||te)&&(Qi.destroy(d)||o.logger.error("Cannot detach cloned iframe as it is not in the DOM anymore")),o.logger.debug("Finished rendering"),[2,m]}})})},Nh=function(r,A,e){var t=A.ownerDocument,s=t.documentElement?Me(r,getComputedStyle(t.documentElement).backgroundColor):FA.TRANSPARENT,n=t.body?Me(r,getComputedStyle(t.body).backgroundColor):FA.TRANSPARENT,i=typeof e=="string"?Me(r,e):e===null?FA.TRANSPARENT:4294967295;return A===t.documentElement?TA(s)?TA(n)?i:n:s:i};const Vh=Object.freeze(Object.defineProperty({__proto__:null,default:as},Symbol.toStringTag,{value:"Module"}));class jh{constructor(){y(this,"defaultOptions",{quality:.8,format:"png",backgroundColor:"#ffffff"})}async capture(A={}){const e={...this.defaultOptions,...A};try{const t=await as(document.body,{backgroundColor:e.backgroundColor,useCORS:!0,allowTaint:!0,scale:.5,width:Math.min(window.innerWidth,1920),height:Math.min(window.innerHeight,1080),scrollX:0,scrollY:0,ignoreElements:s=>{var n,i;return((n=s.id)==null?void 0:n.startsWith("feedlytic-"))||((i=s.className)==null?void 0:i.includes("feedlytic-"))||s.getAttribute("data-feedlet")==="true"}});return new Promise((s,n)=>{t.toBlob(i=>{i?s(i):n(new Error("Failed to create screenshot blob"))},`image/${e.format}`,e.quality)})}catch(t){throw new Error(`Screenshot capture failed: ${t}`)}}async captureElement(A,e={}){const t={...this.defaultOptions,...e};try{const s=await as(A,{backgroundColor:t.backgroundColor,useCORS:!0,allowTaint:!0,scale:1});return new Promise((n,i)=>{s.toBlob(a=>{a?n(a):i(new Error("Failed to create element screenshot blob"))},`image/${t.format}`,t.quality)})}catch(s){throw new Error(`Element screenshot capture failed: ${s}`)}}isSupported(){return typeof window<"u"&&typeof document<"u"&&typeof HTMLCanvasElement<"u"}async getDataUrl(A={}){const e=await this.capture(A);return new Promise((t,s)=>{const n=new FileReader;n.onload=()=>t(n.result),n.onerror=s,n.readAsDataURL(e)})}}const Jh=r=>{let A;return r?A=r:typeof fetch>"u"?A=(...e)=>Promise.resolve().then(()=>we).then(({default:t})=>t(...e)):A=fetch,(...e)=>A(...e)};class os extends Error{constructor(A,e="FunctionsError",t){super(A),this.name=e,this.context=t}}class Xh extends os{constructor(A){super("Failed to send a request to the Edge Function","FunctionsFetchError",A)}}class _i extends os{constructor(A){super("Relay Error invoking the Edge Function","FunctionsRelayError",A)}}class Si extends os{constructor(A){super("Edge Function returned a non-2xx status code","FunctionsHttpError",A)}}var ls;(function(r){r.Any="any",r.ApNortheast1="ap-northeast-1",r.ApNortheast2="ap-northeast-2",r.ApSouth1="ap-south-1",r.ApSoutheast1="ap-southeast-1",r.ApSoutheast2="ap-southeast-2",r.CaCentral1="ca-central-1",r.EuCentral1="eu-central-1",r.EuWest1="eu-west-1",r.EuWest2="eu-west-2",r.EuWest3="eu-west-3",r.SaEast1="sa-east-1",r.UsEast1="us-east-1",r.UsWest1="us-west-1",r.UsWest2="us-west-2"})(ls||(ls={}));var $h=function(r,A,e,t){function s(n){return n instanceof e?n:new e(function(i){i(n)})}return new(e||(e=Promise))(function(n,i){function a(c){try{l(t.next(c))}catch(u){i(u)}}function o(c){try{l(t.throw(c))}catch(u){i(u)}}function l(c){c.done?n(c.value):s(c.value).then(a,o)}l((t=t.apply(r,A||[])).next())})};class Wh{constructor(A,{headers:e={},customFetch:t,region:s=ls.Any}={}){this.url=A,this.headers=e,this.region=s,this.fetch=Jh(t)}setAuth(A){this.headers.Authorization=`Bearer ${A}`}invoke(A,e={}){var t;return $h(this,void 0,void 0,function*(){try{const{headers:s,method:n,body:i}=e;let a={},{region:o}=e;o||(o=this.region);const l=new URL(`${this.url}/${A}`);o&&o!=="any"&&(a["x-region"]=o,l.searchParams.set("forceFunctionRegion",o));let c;i&&(s&&!Object.prototype.hasOwnProperty.call(s,"Content-Type")||!s)&&(typeof Blob<"u"&&i instanceof Blob||i instanceof ArrayBuffer?(a["Content-Type"]="application/octet-stream",c=i):typeof i=="string"?(a["Content-Type"]="text/plain",c=i):typeof FormData<"u"&&i instanceof FormData?c=i:(a["Content-Type"]="application/json",c=JSON.stringify(i)));const u=yield this.fetch(l.toString(),{method:n||"POST",headers:Object.assign(Object.assign(Object.assign({},a),this.headers),s),body:c}).catch(f=>{throw new Xh(f)}),h=u.headers.get("x-relay-error");if(h&&h==="true")throw new _i(u);if(!u.ok)throw new Si(u);let d=((t=u.headers.get("Content-Type"))!==null&&t!==void 0?t:"text/plain").split(";")[0].trim(),B;return d==="application/json"?B=yield u.json():d==="application/octet-stream"?B=yield u.blob():d==="text/event-stream"?B=u:d==="multipart/form-data"?B=yield u.formData():B=yield u.text(),{data:B,error:null,response:u}}catch(s){return{data:null,error:s,response:s instanceof Si||s instanceof _i?s.context:void 0}}})}}var hA=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Yh(r){if(r.__esModule)return r;var A=r.default;if(typeof A=="function"){var e=function t(){return this instanceof t?Reflect.construct(A,arguments,this.constructor):A.apply(this,arguments)};e.prototype=A.prototype}else e={};return Object.defineProperty(e,"__esModule",{value:!0}),Object.keys(r).forEach(function(t){var s=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,s.get?s:{enumerable:!0,get:function(){return r[t]}})}),e}var z={},cs={},Yt={},Je={},qt={},Zt={},qh=function(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")},ge=qh();const Zh=ge.fetch,Li=ge.fetch.bind(ge),Ti=ge.Headers,zh=ge.Request,Ad=ge.Response,we=Object.freeze(Object.defineProperty({__proto__:null,Headers:Ti,Request:zh,Response:Ad,default:Li,fetch:Zh},Symbol.toStringTag,{value:"Module"})),ed=Yh(we);var zt={};Object.defineProperty(zt,"__esModule",{value:!0});let td=class extends Error{constructor(A){super(A.message),this.name="PostgrestError",this.details=A.details,this.hint=A.hint,this.code=A.code}};zt.default=td;var Ki=hA&&hA.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Zt,"__esModule",{value:!0});const rd=Ki(ed),sd=Ki(zt);let nd=class{constructor(A){this.shouldThrowOnError=!1,this.method=A.method,this.url=A.url,this.headers=A.headers,this.schema=A.schema,this.body=A.body,this.shouldThrowOnError=A.shouldThrowOnError,this.signal=A.signal,this.isMaybeSingle=A.isMaybeSingle,A.fetch?this.fetch=A.fetch:typeof fetch>"u"?this.fetch=rd.default:this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}setHeader(A,e){return this.headers=Object.assign({},this.headers),this.headers[A]=e,this}then(A,e){this.schema===void 0||(["GET","HEAD"].includes(this.method)?this.headers["Accept-Profile"]=this.schema:this.headers["Content-Profile"]=this.schema),this.method!=="GET"&&this.method!=="HEAD"&&(this.headers["Content-Type"]="application/json");const t=this.fetch;let s=t(this.url.toString(),{method:this.method,headers:this.headers,body:JSON.stringify(this.body),signal:this.signal}).then(async n=>{var i,a,o;let l=null,c=null,u=null,h=n.status,d=n.statusText;if(n.ok){if(this.method!=="HEAD"){const g=await n.text();g===""||(this.headers.Accept==="text/csv"||this.headers.Accept&&this.headers.Accept.includes("application/vnd.pgrst.plan+text")?c=g:c=JSON.parse(g))}const f=(i=this.headers.Prefer)===null||i===void 0?void 0:i.match(/count=(exact|planned|estimated)/),w=(a=n.headers.get("content-range"))===null||a===void 0?void 0:a.split("/");f&&w&&w.length>1&&(u=parseInt(w[1])),this.isMaybeSingle&&this.method==="GET"&&Array.isArray(c)&&(c.length>1?(l={code:"PGRST116",details:`Results contain ${c.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:"JSON object requested, multiple (or no) rows returned"},c=null,u=null,h=406,d="Not Acceptable"):c.length===1?c=c[0]:c=null)}else{const f=await n.text();try{l=JSON.parse(f),Array.isArray(l)&&n.status===404&&(c=[],l=null,h=200,d="OK")}catch{n.status===404&&f===""?(h=204,d="No Content"):l={message:f}}if(l&&this.isMaybeSingle&&(!((o=l==null?void 0:l.details)===null||o===void 0)&&o.includes("0 rows"))&&(l=null,h=200,d="OK"),l&&this.shouldThrowOnError)throw new sd.default(l)}return{error:l,data:c,count:u,status:h,statusText:d}});return this.shouldThrowOnError||(s=s.catch(n=>{var i,a,o;return{error:{message:`${(i=n==null?void 0:n.name)!==null&&i!==void 0?i:"FetchError"}: ${n==null?void 0:n.message}`,details:`${(a=n==null?void 0:n.stack)!==null&&a!==void 0?a:""}`,hint:"",code:`${(o=n==null?void 0:n.code)!==null&&o!==void 0?o:""}`},data:null,count:null,status:0,statusText:""}})),s.then(A,e)}returns(){return this}overrideTypes(){return this}};Zt.default=nd;var id=hA&&hA.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(qt,"__esModule",{value:!0});const ad=id(Zt);let od=class extends ad.default{select(A){let e=!1;const t=(A??"*").split("").map(s=>/\s/.test(s)&&!e?"":(s==='"'&&(e=!e),s)).join("");return this.url.searchParams.set("select",t),this.headers.Prefer&&(this.headers.Prefer+=","),this.headers.Prefer+="return=representation",this}order(A,{ascending:e=!0,nullsFirst:t,foreignTable:s,referencedTable:n=s}={}){const i=n?`${n}.order`:"order",a=this.url.searchParams.get(i);return this.url.searchParams.set(i,`${a?`${a},`:""}${A}.${e?"asc":"desc"}${t===void 0?"":t?".nullsfirst":".nullslast"}`),this}limit(A,{foreignTable:e,referencedTable:t=e}={}){const s=typeof t>"u"?"limit":`${t}.limit`;return this.url.searchParams.set(s,`${A}`),this}range(A,e,{foreignTable:t,referencedTable:s=t}={}){const n=typeof s>"u"?"offset":`${s}.offset`,i=typeof s>"u"?"limit":`${s}.limit`;return this.url.searchParams.set(n,`${A}`),this.url.searchParams.set(i,`${e-A+1}`),this}abortSignal(A){return this.signal=A,this}single(){return this.headers.Accept="application/vnd.pgrst.object+json",this}maybeSingle(){return this.method==="GET"?this.headers.Accept="application/json":this.headers.Accept="application/vnd.pgrst.object+json",this.isMaybeSingle=!0,this}csv(){return this.headers.Accept="text/csv",this}geojson(){return this.headers.Accept="application/geo+json",this}explain({analyze:A=!1,verbose:e=!1,settings:t=!1,buffers:s=!1,wal:n=!1,format:i="text"}={}){var a;const o=[A?"analyze":null,e?"verbose":null,t?"settings":null,s?"buffers":null,n?"wal":null].filter(Boolean).join("|"),l=(a=this.headers.Accept)!==null&&a!==void 0?a:"application/json";return this.headers.Accept=`application/vnd.pgrst.plan+${i}; for="${l}"; options=${o};`,i==="json"?this:this}rollback(){var A;return((A=this.headers.Prefer)!==null&&A!==void 0?A:"").trim().length>0?this.headers.Prefer+=",tx=rollback":this.headers.Prefer="tx=rollback",this}returns(){return this}};qt.default=od;var ld=hA&&hA.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Je,"__esModule",{value:!0});const cd=ld(qt);let ud=class extends cd.default{eq(A,e){return this.url.searchParams.append(A,`eq.${e}`),this}neq(A,e){return this.url.searchParams.append(A,`neq.${e}`),this}gt(A,e){return this.url.searchParams.append(A,`gt.${e}`),this}gte(A,e){return this.url.searchParams.append(A,`gte.${e}`),this}lt(A,e){return this.url.searchParams.append(A,`lt.${e}`),this}lte(A,e){return this.url.searchParams.append(A,`lte.${e}`),this}like(A,e){return this.url.searchParams.append(A,`like.${e}`),this}likeAllOf(A,e){return this.url.searchParams.append(A,`like(all).{${e.join(",")}}`),this}likeAnyOf(A,e){return this.url.searchParams.append(A,`like(any).{${e.join(",")}}`),this}ilike(A,e){return this.url.searchParams.append(A,`ilike.${e}`),this}ilikeAllOf(A,e){return this.url.searchParams.append(A,`ilike(all).{${e.join(",")}}`),this}ilikeAnyOf(A,e){return this.url.searchParams.append(A,`ilike(any).{${e.join(",")}}`),this}is(A,e){return this.url.searchParams.append(A,`is.${e}`),this}in(A,e){const t=Array.from(new Set(e)).map(s=>typeof s=="string"&&new RegExp("[,()]").test(s)?`"${s}"`:`${s}`).join(",");return this.url.searchParams.append(A,`in.(${t})`),this}contains(A,e){return typeof e=="string"?this.url.searchParams.append(A,`cs.${e}`):Array.isArray(e)?this.url.searchParams.append(A,`cs.{${e.join(",")}}`):this.url.searchParams.append(A,`cs.${JSON.stringify(e)}`),this}containedBy(A,e){return typeof e=="string"?this.url.searchParams.append(A,`cd.${e}`):Array.isArray(e)?this.url.searchParams.append(A,`cd.{${e.join(",")}}`):this.url.searchParams.append(A,`cd.${JSON.stringify(e)}`),this}rangeGt(A,e){return this.url.searchParams.append(A,`sr.${e}`),this}rangeGte(A,e){return this.url.searchParams.append(A,`nxl.${e}`),this}rangeLt(A,e){return this.url.searchParams.append(A,`sl.${e}`),this}rangeLte(A,e){return this.url.searchParams.append(A,`nxr.${e}`),this}rangeAdjacent(A,e){return this.url.searchParams.append(A,`adj.${e}`),this}overlaps(A,e){return typeof e=="string"?this.url.searchParams.append(A,`ov.${e}`):this.url.searchParams.append(A,`ov.{${e.join(",")}}`),this}textSearch(A,e,{config:t,type:s}={}){let n="";s==="plain"?n="pl":s==="phrase"?n="ph":s==="websearch"&&(n="w");const i=t===void 0?"":`(${t})`;return this.url.searchParams.append(A,`${n}fts${i}.${e}`),this}match(A){return Object.entries(A).forEach(([e,t])=>{this.url.searchParams.append(e,`eq.${t}`)}),this}not(A,e,t){return this.url.searchParams.append(A,`not.${e}.${t}`),this}or(A,{foreignTable:e,referencedTable:t=e}={}){const s=t?`${t}.or`:"or";return this.url.searchParams.append(s,`(${A})`),this}filter(A,e,t){return this.url.searchParams.append(A,`${e}.${t}`),this}};Je.default=ud;var hd=hA&&hA.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Yt,"__esModule",{value:!0});const Xe=hd(Je);let dd=class{constructor(A,{headers:e={},schema:t,fetch:s}){this.url=A,this.headers=e,this.schema=t,this.fetch=s}select(A,{head:e=!1,count:t}={}){const s=e?"HEAD":"GET";let n=!1;const i=(A??"*").split("").map(a=>/\s/.test(a)&&!n?"":(a==='"'&&(n=!n),a)).join("");return this.url.searchParams.set("select",i),t&&(this.headers.Prefer=`count=${t}`),new Xe.default({method:s,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch,allowEmpty:!1})}insert(A,{count:e,defaultToNull:t=!0}={}){const s="POST",n=[];if(this.headers.Prefer&&n.push(this.headers.Prefer),e&&n.push(`count=${e}`),t||n.push("missing=default"),this.headers.Prefer=n.join(","),Array.isArray(A)){const i=A.reduce((a,o)=>a.concat(Object.keys(o)),[]);if(i.length>0){const a=[...new Set(i)].map(o=>`"${o}"`);this.url.searchParams.set("columns",a.join(","))}}return new Xe.default({method:s,url:this.url,headers:this.headers,schema:this.schema,body:A,fetch:this.fetch,allowEmpty:!1})}upsert(A,{onConflict:e,ignoreDuplicates:t=!1,count:s,defaultToNull:n=!0}={}){const i="POST",a=[`resolution=${t?"ignore":"merge"}-duplicates`];if(e!==void 0&&this.url.searchParams.set("on_conflict",e),this.headers.Prefer&&a.push(this.headers.Prefer),s&&a.push(`count=${s}`),n||a.push("missing=default"),this.headers.Prefer=a.join(","),Array.isArray(A)){const o=A.reduce((l,c)=>l.concat(Object.keys(c)),[]);if(o.length>0){const l=[...new Set(o)].map(c=>`"${c}"`);this.url.searchParams.set("columns",l.join(","))}}return new Xe.default({method:i,url:this.url,headers:this.headers,schema:this.schema,body:A,fetch:this.fetch,allowEmpty:!1})}update(A,{count:e}={}){const t="PATCH",s=[];return this.headers.Prefer&&s.push(this.headers.Prefer),e&&s.push(`count=${e}`),this.headers.Prefer=s.join(","),new Xe.default({method:t,url:this.url,headers:this.headers,schema:this.schema,body:A,fetch:this.fetch,allowEmpty:!1})}delete({count:A}={}){const e="DELETE",t=[];return A&&t.push(`count=${A}`),this.headers.Prefer&&t.unshift(this.headers.Prefer),this.headers.Prefer=t.join(","),new Xe.default({method:e,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch,allowEmpty:!1})}};Yt.default=dd;var Ar={},er={};Object.defineProperty(er,"__esModule",{value:!0}),er.version=void 0,er.version="0.0.0-automated",Object.defineProperty(Ar,"__esModule",{value:!0}),Ar.DEFAULT_HEADERS=void 0;const Bd=er;Ar.DEFAULT_HEADERS={"X-Client-Info":`postgrest-js/${Bd.version}`};var Di=hA&&hA.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(cs,"__esModule",{value:!0});const fd=Di(Yt),gd=Di(Je),wd=Ar;let pd=class wa{constructor(A,{headers:e={},schema:t,fetch:s}={}){this.url=A,this.headers=Object.assign(Object.assign({},wd.DEFAULT_HEADERS),e),this.schemaName=t,this.fetch=s}from(A){const e=new URL(`${this.url}/${A}`);return new fd.default(e,{headers:Object.assign({},this.headers),schema:this.schemaName,fetch:this.fetch})}schema(A){return new wa(this.url,{headers:this.headers,schema:A,fetch:this.fetch})}rpc(A,e={},{head:t=!1,get:s=!1,count:n}={}){let i;const a=new URL(`${this.url}/rpc/${A}`);let o;t||s?(i=t?"HEAD":"GET",Object.entries(e).filter(([c,u])=>u!==void 0).map(([c,u])=>[c,Array.isArray(u)?`{${u.join(",")}}`:`${u}`]).forEach(([c,u])=>{a.searchParams.append(c,u)})):(i="POST",o=e);const l=Object.assign({},this.headers);return n&&(l.Prefer=`count=${n}`),new gd.default({method:i,url:a,headers:l,schema:this.schemaName,body:o,fetch:this.fetch,allowEmpty:!1})}};cs.default=pd;var pe=hA&&hA.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(z,"__esModule",{value:!0}),z.PostgrestError=z.PostgrestBuilder=z.PostgrestTransformBuilder=z.PostgrestFilterBuilder=z.PostgrestQueryBuilder=z.PostgrestClient=void 0;const ki=pe(cs);z.PostgrestClient=ki.default;const Oi=pe(Yt);z.PostgrestQueryBuilder=Oi.default;const Mi=pe(Je);z.PostgrestFilterBuilder=Mi.default;const Ri=pe(qt);z.PostgrestTransformBuilder=Ri.default;const Pi=pe(Zt);z.PostgrestBuilder=Pi.default;const Gi=pe(zt);z.PostgrestError=Gi.default;var Qd=z.default={PostgrestClient:ki.default,PostgrestQueryBuilder:Oi.default,PostgrestFilterBuilder:Mi.default,PostgrestTransformBuilder:Ri.default,PostgrestBuilder:Pi.default,PostgrestError:Gi.default};const{PostgrestClient:Cd,PostgrestQueryBuilder:lf,PostgrestFilterBuilder:cf,PostgrestTransformBuilder:uf,PostgrestBuilder:hf,PostgrestError:df}=Qd;function Ud(){if(typeof WebSocket<"u")return WebSocket;if(typeof global.WebSocket<"u")return global.WebSocket;if(typeof window.WebSocket<"u")return window.WebSocket;if(typeof self.WebSocket<"u")return self.WebSocket;throw new Error("`WebSocket` is not supported in this environment")}const vd=Ud(),Fd="realtime-js/2.11.15",md="1.0.0",Ni=1e4,yd=1e3;var $e;(function(r){r[r.connecting=0]="connecting",r[r.open=1]="open",r[r.closing=2]="closing",r[r.closed=3]="closed"})($e||($e={}));var Y;(function(r){r.closed="closed",r.errored="errored",r.joined="joined",r.joining="joining",r.leaving="leaving"})(Y||(Y={}));var fA;(function(r){r.close="phx_close",r.error="phx_error",r.join="phx_join",r.reply="phx_reply",r.leave="phx_leave",r.access_token="access_token"})(fA||(fA={}));var us;(function(r){r.websocket="websocket"})(us||(us={}));var WA;(function(r){r.Connecting="connecting",r.Open="open",r.Closing="closing",r.Closed="closed"})(WA||(WA={}));class Ed{constructor(){this.HEADER_LENGTH=1}decode(A,e){return A.constructor===ArrayBuffer?e(this._binaryDecode(A)):e(typeof A=="string"?JSON.parse(A):{})}_binaryDecode(A){const e=new DataView(A),t=new TextDecoder;return this._decodeBroadcast(A,e,t)}_decodeBroadcast(A,e,t){const s=e.getUint8(1),n=e.getUint8(2);let i=this.HEADER_LENGTH+2;const a=t.decode(A.slice(i,i+s));i=i+s;const o=t.decode(A.slice(i,i+n));i=i+n;const l=JSON.parse(t.decode(A.slice(i,A.byteLength)));return{ref:null,topic:a,event:o,payload:l}}}class Vi{constructor(A,e){this.callback=A,this.timerCalc=e,this.timer=void 0,this.tries=0,this.callback=A,this.timerCalc=e}reset(){this.tries=0,clearTimeout(this.timer)}scheduleTimeout(){clearTimeout(this.timer),this.timer=setTimeout(()=>{this.tries=this.tries+1,this.callback()},this.timerCalc(this.tries+1))}}var D;(function(r){r.abstime="abstime",r.bool="bool",r.date="date",r.daterange="daterange",r.float4="float4",r.float8="float8",r.int2="int2",r.int4="int4",r.int4range="int4range",r.int8="int8",r.int8range="int8range",r.json="json",r.jsonb="jsonb",r.money="money",r.numeric="numeric",r.oid="oid",r.reltime="reltime",r.text="text",r.time="time",r.timestamp="timestamp",r.timestamptz="timestamptz",r.timetz="timetz",r.tsrange="tsrange",r.tstzrange="tstzrange"})(D||(D={}));const ji=(r,A,e={})=>{var t;const s=(t=e.skipTypes)!==null&&t!==void 0?t:[];return Object.keys(A).reduce((n,i)=>(n[i]=bd(i,r,A,s),n),{})},bd=(r,A,e,t)=>{const s=A.find(a=>a.name===r),n=s==null?void 0:s.type,i=e[r];return n&&!t.includes(n)?Ji(n,i):hs(i)},Ji=(r,A)=>{if(r.charAt(0)==="_"){const e=r.slice(1,r.length);return _d(A,e)}switch(r){case D.bool:return Id(A);case D.float4:case D.float8:case D.int2:case D.int4:case D.int8:case D.numeric:case D.oid:return Hd(A);case D.json:case D.jsonb:return xd(A);case D.timestamp:return Sd(A);case D.abstime:case D.date:case D.daterange:case D.int4range:case D.int8range:case D.money:case D.reltime:case D.text:case D.time:case D.timestamptz:case D.timetz:case D.tsrange:case D.tstzrange:return hs(A);default:return hs(A)}},hs=r=>r,Id=r=>{switch(r){case"t":return!0;case"f":return!1;default:return r}},Hd=r=>{if(typeof r=="string"){const A=parseFloat(r);if(!Number.isNaN(A))return A}return r},xd=r=>{if(typeof r=="string")try{return JSON.parse(r)}catch(A){return console.log(`JSON parse error: ${A}`),r}return r},_d=(r,A)=>{if(typeof r!="string")return r;const e=r.length-1,t=r[e];if(r[0]==="{"&&t==="}"){let n;const i=r.slice(1,e);try{n=JSON.parse("["+i+"]")}catch{n=i?i.split(","):[]}return n.map(a=>Ji(A,a))}return r},Sd=r=>typeof r=="string"?r.replace(" ","T"):r,Xi=r=>{let A=r;return A=A.replace(/^ws/i,"http"),A=A.replace(/(\/socket\/websocket|\/socket|\/websocket)\/?$/i,""),A.replace(/\/+$/,"")};class ds{constructor(A,e,t={},s=Ni){this.channel=A,this.event=e,this.payload=t,this.timeout=s,this.sent=!1,this.timeoutTimer=void 0,this.ref="",this.receivedResp=null,this.recHooks=[],this.refEvent=null}resend(A){this.timeout=A,this._cancelRefEvent(),this.ref="",this.refEvent=null,this.receivedResp=null,this.sent=!1,this.send()}send(){this._hasReceived("timeout")||(this.startTimeout(),this.sent=!0,this.channel.socket.push({topic:this.channel.topic,event:this.event,payload:this.payload,ref:this.ref,join_ref:this.channel._joinRef()}))}updatePayload(A){this.payload=Object.assign(Object.assign({},this.payload),A)}receive(A,e){var t;return this._hasReceived(A)&&e((t=this.receivedResp)===null||t===void 0?void 0:t.response),this.recHooks.push({status:A,callback:e}),this}startTimeout(){if(this.timeoutTimer)return;this.ref=this.channel.socket._makeRef(),this.refEvent=this.channel._replyEventName(this.ref);const A=e=>{this._cancelRefEvent(),this._cancelTimeout(),this.receivedResp=e,this._matchReceive(e)};this.channel._on(this.refEvent,{},A),this.timeoutTimer=setTimeout(()=>{this.trigger("timeout",{})},this.timeout)}trigger(A,e){this.refEvent&&this.channel._trigger(this.refEvent,{status:A,response:e})}destroy(){this._cancelRefEvent(),this._cancelTimeout()}_cancelRefEvent(){this.refEvent&&this.channel._off(this.refEvent,{})}_cancelTimeout(){clearTimeout(this.timeoutTimer),this.timeoutTimer=void 0}_matchReceive({status:A,response:e}){this.recHooks.filter(t=>t.status===A).forEach(t=>t.callback(e))}_hasReceived(A){return this.receivedResp&&this.receivedResp.status===A}}var $i;(function(r){r.SYNC="sync",r.JOIN="join",r.LEAVE="leave"})($i||($i={}));class We{constructor(A,e){this.channel=A,this.state={},this.pendingDiffs=[],this.joinRef=null,this.caller={onJoin:()=>{},onLeave:()=>{},onSync:()=>{}};const t=(e==null?void 0:e.events)||{state:"presence_state",diff:"presence_diff"};this.channel._on(t.state,{},s=>{const{onJoin:n,onLeave:i,onSync:a}=this.caller;this.joinRef=this.channel._joinRef(),this.state=We.syncState(this.state,s,n,i),this.pendingDiffs.forEach(o=>{this.state=We.syncDiff(this.state,o,n,i)}),this.pendingDiffs=[],a()}),this.channel._on(t.diff,{},s=>{const{onJoin:n,onLeave:i,onSync:a}=this.caller;this.inPendingSyncState()?this.pendingDiffs.push(s):(this.state=We.syncDiff(this.state,s,n,i),a())}),this.onJoin((s,n,i)=>{this.channel._trigger("presence",{event:"join",key:s,currentPresences:n,newPresences:i})}),this.onLeave((s,n,i)=>{this.channel._trigger("presence",{event:"leave",key:s,currentPresences:n,leftPresences:i})}),this.onSync(()=>{this.channel._trigger("presence",{event:"sync"})})}static syncState(A,e,t,s){const n=this.cloneDeep(A),i=this.transformState(e),a={},o={};return this.map(n,(l,c)=>{i[l]||(o[l]=c)}),this.map(i,(l,c)=>{const u=n[l];if(u){const h=c.map(w=>w.presence_ref),d=u.map(w=>w.presence_ref),B=c.filter(w=>d.indexOf(w.presence_ref)<0),f=u.filter(w=>h.indexOf(w.presence_ref)<0);B.length>0&&(a[l]=B),f.length>0&&(o[l]=f)}else a[l]=c}),this.syncDiff(n,{joins:a,leaves:o},t,s)}static syncDiff(A,e,t,s){const{joins:n,leaves:i}={joins:this.transformState(e.joins),leaves:this.transformState(e.leaves)};return t||(t=()=>{}),s||(s=()=>{}),this.map(n,(a,o)=>{var l;const c=(l=A[a])!==null&&l!==void 0?l:[];if(A[a]=this.cloneDeep(o),c.length>0){const u=A[a].map(d=>d.presence_ref),h=c.filter(d=>u.indexOf(d.presence_ref)<0);A[a].unshift(...h)}t(a,c,o)}),this.map(i,(a,o)=>{let l=A[a];if(!l)return;const c=o.map(u=>u.presence_ref);l=l.filter(u=>c.indexOf(u.presence_ref)<0),A[a]=l,s(a,l,o),l.length===0&&delete A[a]}),A}static map(A,e){return Object.getOwnPropertyNames(A).map(t=>e(t,A[t]))}static transformState(A){return A=this.cloneDeep(A),Object.getOwnPropertyNames(A).reduce((e,t)=>{const s=A[t];return"metas"in s?e[t]=s.metas.map(n=>(n.presence_ref=n.phx_ref,delete n.phx_ref,delete n.phx_ref_prev,n)):e[t]=s,e},{})}static cloneDeep(A){return JSON.parse(JSON.stringify(A))}onJoin(A){this.caller.onJoin=A}onLeave(A){this.caller.onLeave=A}onSync(A){this.caller.onSync=A}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel._joinRef()}}var Wi;(function(r){r.ALL="*",r.INSERT="INSERT",r.UPDATE="UPDATE",r.DELETE="DELETE"})(Wi||(Wi={}));var Yi;(function(r){r.BROADCAST="broadcast",r.PRESENCE="presence",r.POSTGRES_CHANGES="postgres_changes",r.SYSTEM="system"})(Yi||(Yi={}));var yA;(function(r){r.SUBSCRIBED="SUBSCRIBED",r.TIMED_OUT="TIMED_OUT",r.CLOSED="CLOSED",r.CHANNEL_ERROR="CHANNEL_ERROR"})(yA||(yA={}));class Bs{constructor(A,e={config:{}},t){this.topic=A,this.params=e,this.socket=t,this.bindings={},this.state=Y.closed,this.joinedOnce=!1,this.pushBuffer=[],this.subTopic=A.replace(/^realtime:/i,""),this.params.config=Object.assign({broadcast:{ack:!1,self:!1},presence:{key:""},private:!1},e.config),this.timeout=this.socket.timeout,this.joinPush=new ds(this,fA.join,this.params,this.timeout),this.rejoinTimer=new Vi(()=>this._rejoinUntilConnected(),this.socket.reconnectAfterMs),this.joinPush.receive("ok",()=>{this.state=Y.joined,this.rejoinTimer.reset(),this.pushBuffer.forEach(s=>s.send()),this.pushBuffer=[]}),this._onClose(()=>{this.rejoinTimer.reset(),this.socket.log("channel",`close ${this.topic} ${this._joinRef()}`),this.state=Y.closed,this.socket._remove(this)}),this._onError(s=>{this._isLeaving()||this._isClosed()||(this.socket.log("channel",`error ${this.topic}`,s),this.state=Y.errored,this.rejoinTimer.scheduleTimeout())}),this.joinPush.receive("timeout",()=>{this._isJoining()&&(this.socket.log("channel",`timeout ${this.topic}`,this.joinPush.timeout),this.state=Y.errored,this.rejoinTimer.scheduleTimeout())}),this._on(fA.reply,{},(s,n)=>{this._trigger(this._replyEventName(n),s)}),this.presence=new We(this),this.broadcastEndpointURL=Xi(this.socket.endPoint)+"/api/broadcast",this.private=this.params.config.private||!1}subscribe(A,e=this.timeout){var t,s;if(this.socket.isConnected()||this.socket.connect(),this.state==Y.closed){const{config:{broadcast:n,presence:i,private:a}}=this.params;this._onError(c=>A==null?void 0:A(yA.CHANNEL_ERROR,c)),this._onClose(()=>A==null?void 0:A(yA.CLOSED));const o={},l={broadcast:n,presence:i,postgres_changes:(s=(t=this.bindings.postgres_changes)===null||t===void 0?void 0:t.map(c=>c.filter))!==null&&s!==void 0?s:[],private:a};this.socket.accessTokenValue&&(o.access_token=this.socket.accessTokenValue),this.updateJoinPayload(Object.assign({config:l},o)),this.joinedOnce=!0,this._rejoin(e),this.joinPush.receive("ok",async({postgres_changes:c})=>{var u;if(this.socket.setAuth(),c===void 0){A==null||A(yA.SUBSCRIBED);return}else{const h=this.bindings.postgres_changes,d=(u=h==null?void 0:h.length)!==null&&u!==void 0?u:0,B=[];for(let f=0;f<d;f++){const w=h[f],{filter:{event:g,schema:Q,table:C,filter:v}}=w,m=c&&c[f];if(m&&m.event===g&&m.schema===Q&&m.table===C&&m.filter===v)B.push(Object.assign(Object.assign({},w),{id:m.id}));else{this.unsubscribe(),this.state=Y.errored,A==null||A(yA.CHANNEL_ERROR,new Error("mismatch between server and client bindings for postgres changes"));return}}this.bindings.postgres_changes=B,A&&A(yA.SUBSCRIBED);return}}).receive("error",c=>{this.state=Y.errored,A==null||A(yA.CHANNEL_ERROR,new Error(JSON.stringify(Object.values(c).join(", ")||"error")))}).receive("timeout",()=>{A==null||A(yA.TIMED_OUT)})}return this}presenceState(){return this.presence.state}async track(A,e={}){return await this.send({type:"presence",event:"track",payload:A},e.timeout||this.timeout)}async untrack(A={}){return await this.send({type:"presence",event:"untrack"},A)}on(A,e,t){return this._on(A,e,t)}async send(A,e={}){var t,s;if(!this._canPush()&&A.type==="broadcast"){const{event:n,payload:i}=A,o={method:"POST",headers:{Authorization:this.socket.accessTokenValue?`Bearer ${this.socket.accessTokenValue}`:"",apikey:this.socket.apiKey?this.socket.apiKey:"","Content-Type":"application/json"},body:JSON.stringify({messages:[{topic:this.subTopic,event:n,payload:i,private:this.private}]})};try{const l=await this._fetchWithTimeout(this.broadcastEndpointURL,o,(t=e.timeout)!==null&&t!==void 0?t:this.timeout);return await((s=l.body)===null||s===void 0?void 0:s.cancel()),l.ok?"ok":"error"}catch(l){return l.name==="AbortError"?"timed out":"error"}}else return new Promise(n=>{var i,a,o;const l=this._push(A.type,A,e.timeout||this.timeout);A.type==="broadcast"&&!(!((o=(a=(i=this.params)===null||i===void 0?void 0:i.config)===null||a===void 0?void 0:a.broadcast)===null||o===void 0)&&o.ack)&&n("ok"),l.receive("ok",()=>n("ok")),l.receive("error",()=>n("error")),l.receive("timeout",()=>n("timed out"))})}updateJoinPayload(A){this.joinPush.updatePayload(A)}unsubscribe(A=this.timeout){this.state=Y.leaving;const e=()=>{this.socket.log("channel",`leave ${this.topic}`),this._trigger(fA.close,"leave",this._joinRef())};this.joinPush.destroy();let t=null;return new Promise(s=>{t=new ds(this,fA.leave,{},A),t.receive("ok",()=>{e(),s("ok")}).receive("timeout",()=>{e(),s("timed out")}).receive("error",()=>{s("error")}),t.send(),this._canPush()||t.trigger("ok",{})}).finally(()=>{t==null||t.destroy()})}teardown(){this.pushBuffer.forEach(A=>A.destroy()),this.rejoinTimer&&clearTimeout(this.rejoinTimer.timer),this.joinPush.destroy()}async _fetchWithTimeout(A,e,t){const s=new AbortController,n=setTimeout(()=>s.abort(),t),i=await this.socket.fetch(A,Object.assign(Object.assign({},e),{signal:s.signal}));return clearTimeout(n),i}_push(A,e,t=this.timeout){if(!this.joinedOnce)throw`tried to push '${A}' to '${this.topic}' before joining. Use channel.subscribe() before pushing events`;let s=new ds(this,A,e,t);return this._canPush()?s.send():(s.startTimeout(),this.pushBuffer.push(s)),s}_onMessage(A,e,t){return e}_isMember(A){return this.topic===A}_joinRef(){return this.joinPush.ref}_trigger(A,e,t){var s,n;const i=A.toLocaleLowerCase(),{close:a,error:o,leave:l,join:c}=fA;if(t&&[a,o,l,c].indexOf(i)>=0&&t!==this._joinRef())return;let h=this._onMessage(i,e,t);if(e&&!h)throw"channel onMessage callbacks must return the payload, modified or unmodified";["insert","update","delete"].includes(i)?(s=this.bindings.postgres_changes)===null||s===void 0||s.filter(d=>{var B,f,w;return((B=d.filter)===null||B===void 0?void 0:B.event)==="*"||((w=(f=d.filter)===null||f===void 0?void 0:f.event)===null||w===void 0?void 0:w.toLocaleLowerCase())===i}).map(d=>d.callback(h,t)):(n=this.bindings[i])===null||n===void 0||n.filter(d=>{var B,f,w,g,Q,C;if(["broadcast","presence","postgres_changes"].includes(i))if("id"in d){const v=d.id,m=(B=d.filter)===null||B===void 0?void 0:B.event;return v&&((f=e.ids)===null||f===void 0?void 0:f.includes(v))&&(m==="*"||(m==null?void 0:m.toLocaleLowerCase())===((w=e.data)===null||w===void 0?void 0:w.type.toLocaleLowerCase()))}else{const v=(Q=(g=d==null?void 0:d.filter)===null||g===void 0?void 0:g.event)===null||Q===void 0?void 0:Q.toLocaleLowerCase();return v==="*"||v===((C=e==null?void 0:e.event)===null||C===void 0?void 0:C.toLocaleLowerCase())}else return d.type.toLocaleLowerCase()===i}).map(d=>{if(typeof h=="object"&&"ids"in h){const B=h.data,{schema:f,table:w,commit_timestamp:g,type:Q,errors:C}=B;h=Object.assign(Object.assign({},{schema:f,table:w,commit_timestamp:g,eventType:Q,new:{},old:{},errors:C}),this._getPayloadRecords(B))}d.callback(h,t)})}_isClosed(){return this.state===Y.closed}_isJoined(){return this.state===Y.joined}_isJoining(){return this.state===Y.joining}_isLeaving(){return this.state===Y.leaving}_replyEventName(A){return`chan_reply_${A}`}_on(A,e,t){const s=A.toLocaleLowerCase(),n={type:s,filter:e,callback:t};return this.bindings[s]?this.bindings[s].push(n):this.bindings[s]=[n],this}_off(A,e){const t=A.toLocaleLowerCase();return this.bindings[t]=this.bindings[t].filter(s=>{var n;return!(((n=s.type)===null||n===void 0?void 0:n.toLocaleLowerCase())===t&&Bs.isEqual(s.filter,e))}),this}static isEqual(A,e){if(Object.keys(A).length!==Object.keys(e).length)return!1;for(const t in A)if(A[t]!==e[t])return!1;return!0}_rejoinUntilConnected(){this.rejoinTimer.scheduleTimeout(),this.socket.isConnected()&&this._rejoin()}_onClose(A){this._on(fA.close,{},A)}_onError(A){this._on(fA.error,{},e=>A(e))}_canPush(){return this.socket.isConnected()&&this._isJoined()}_rejoin(A=this.timeout){this._isLeaving()||(this.socket._leaveOpenTopic(this.topic),this.state=Y.joining,this.joinPush.resend(A))}_getPayloadRecords(A){const e={new:{},old:{}};return(A.type==="INSERT"||A.type==="UPDATE")&&(e.new=ji(A.columns,A.record)),(A.type==="UPDATE"||A.type==="DELETE")&&(e.old=ji(A.columns,A.old_record)),e}}const qi=()=>{},Ld=`
  addEventListener("message", (e) => {
    if (e.data.event === "start") {
      setInterval(() => postMessage({ event: "keepAlive" }), e.data.interval);
    }
  });`;class Td{constructor(A,e){var t;this.accessTokenValue=null,this.apiKey=null,this.channels=new Array,this.endPoint="",this.httpEndpoint="",this.headers={},this.params={},this.timeout=Ni,this.heartbeatIntervalMs=25e3,this.heartbeatTimer=void 0,this.pendingHeartbeatRef=null,this.heartbeatCallback=qi,this.ref=0,this.logger=qi,this.conn=null,this.sendBuffer=[],this.serializer=new Ed,this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this.accessToken=null,this._resolveFetch=n=>{let i;return n?i=n:typeof fetch>"u"?i=(...a)=>Promise.resolve().then(()=>we).then(({default:o})=>o(...a)):i=fetch,(...a)=>i(...a)},this.endPoint=`${A}/${us.websocket}`,this.httpEndpoint=Xi(A),e!=null&&e.transport?this.transport=e.transport:this.transport=null,e!=null&&e.params&&(this.params=e.params),e!=null&&e.timeout&&(this.timeout=e.timeout),e!=null&&e.logger&&(this.logger=e.logger),(e!=null&&e.logLevel||e!=null&&e.log_level)&&(this.logLevel=e.logLevel||e.log_level,this.params=Object.assign(Object.assign({},this.params),{log_level:this.logLevel})),e!=null&&e.heartbeatIntervalMs&&(this.heartbeatIntervalMs=e.heartbeatIntervalMs);const s=(t=e==null?void 0:e.params)===null||t===void 0?void 0:t.apikey;if(s&&(this.accessTokenValue=s,this.apiKey=s),this.reconnectAfterMs=e!=null&&e.reconnectAfterMs?e.reconnectAfterMs:n=>[1e3,2e3,5e3,1e4][n-1]||1e4,this.encode=e!=null&&e.encode?e.encode:(n,i)=>i(JSON.stringify(n)),this.decode=e!=null&&e.decode?e.decode:this.serializer.decode.bind(this.serializer),this.reconnectTimer=new Vi(async()=>{this.disconnect(),this.connect()},this.reconnectAfterMs),this.fetch=this._resolveFetch(e==null?void 0:e.fetch),e!=null&&e.worker){if(typeof window<"u"&&!window.Worker)throw new Error("Web Worker is not supported");this.worker=(e==null?void 0:e.worker)||!1,this.workerUrl=e==null?void 0:e.workerUrl}this.accessToken=(e==null?void 0:e.accessToken)||null}connect(){if(!this.conn){if(this.transport||(this.transport=vd),!this.transport)throw new Error("No transport provided");this.conn=new this.transport(this.endpointURL()),this.setupConnection()}}endpointURL(){return this._appendParams(this.endPoint,Object.assign({},this.params,{vsn:md}))}disconnect(A,e){this.conn&&(this.conn.onclose=function(){},A?this.conn.close(A,e??""):this.conn.close(),this.conn=null,this.heartbeatTimer&&clearInterval(this.heartbeatTimer),this.reconnectTimer.reset(),this.channels.forEach(t=>t.teardown()))}getChannels(){return this.channels}async removeChannel(A){const e=await A.unsubscribe();return this.channels.length===0&&this.disconnect(),e}async removeAllChannels(){const A=await Promise.all(this.channels.map(e=>e.unsubscribe()));return this.channels=[],this.disconnect(),A}log(A,e,t){this.logger(A,e,t)}connectionState(){switch(this.conn&&this.conn.readyState){case $e.connecting:return WA.Connecting;case $e.open:return WA.Open;case $e.closing:return WA.Closing;default:return WA.Closed}}isConnected(){return this.connectionState()===WA.Open}channel(A,e={config:{}}){const t=`realtime:${A}`,s=this.getChannels().find(n=>n.topic===t);if(s)return s;{const n=new Bs(`realtime:${A}`,e,this);return this.channels.push(n),n}}push(A){const{topic:e,event:t,payload:s,ref:n}=A,i=()=>{this.encode(A,a=>{var o;(o=this.conn)===null||o===void 0||o.send(a)})};this.log("push",`${e} ${t} (${n})`,s),this.isConnected()?i():this.sendBuffer.push(i)}async setAuth(A=null){let e=A||this.accessToken&&await this.accessToken()||this.accessTokenValue;this.accessTokenValue!=e&&(this.accessTokenValue=e,this.channels.forEach(t=>{const s={access_token:e,version:Fd};e&&t.updateJoinPayload(s),t.joinedOnce&&t._isJoined()&&t._push(fA.access_token,{access_token:e})}))}async sendHeartbeat(){var A;if(!this.isConnected()){this.heartbeatCallback("disconnected");return}if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this.log("transport","heartbeat timeout. Attempting to re-establish connection"),this.heartbeatCallback("timeout"),(A=this.conn)===null||A===void 0||A.close(yd,"hearbeat timeout");return}this.pendingHeartbeatRef=this._makeRef(),this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:this.pendingHeartbeatRef}),this.heartbeatCallback("sent"),await this.setAuth()}onHeartbeat(A){this.heartbeatCallback=A}flushSendBuffer(){this.isConnected()&&this.sendBuffer.length>0&&(this.sendBuffer.forEach(A=>A()),this.sendBuffer=[])}_makeRef(){let A=this.ref+1;return A===this.ref?this.ref=0:this.ref=A,this.ref.toString()}_leaveOpenTopic(A){let e=this.channels.find(t=>t.topic===A&&(t._isJoined()||t._isJoining()));e&&(this.log("transport",`leaving duplicate topic "${A}"`),e.unsubscribe())}_remove(A){this.channels=this.channels.filter(e=>e.topic!==A.topic)}setupConnection(){this.conn&&(this.conn.binaryType="arraybuffer",this.conn.onopen=()=>this._onConnOpen(),this.conn.onerror=A=>this._onConnError(A),this.conn.onmessage=A=>this._onConnMessage(A),this.conn.onclose=A=>this._onConnClose(A))}_onConnMessage(A){this.decode(A.data,e=>{let{topic:t,event:s,payload:n,ref:i}=e;t==="phoenix"&&s==="phx_reply"&&this.heartbeatCallback(e.payload.status=="ok"?"ok":"error"),i&&i===this.pendingHeartbeatRef&&(this.pendingHeartbeatRef=null),this.log("receive",`${n.status||""} ${t} ${s} ${i&&"("+i+")"||""}`,n),Array.from(this.channels).filter(a=>a._isMember(t)).forEach(a=>a._trigger(s,n,i)),this.stateChangeCallbacks.message.forEach(a=>a(e))})}_onConnOpen(){this.log("transport",`connected to ${this.endpointURL()}`),this.flushSendBuffer(),this.reconnectTimer.reset(),this.worker?this.workerRef||this._startWorkerHeartbeat():this._startHeartbeat(),this.stateChangeCallbacks.open.forEach(A=>A())}_startHeartbeat(){this.heartbeatTimer&&clearInterval(this.heartbeatTimer),this.heartbeatTimer=setInterval(()=>this.sendHeartbeat(),this.heartbeatIntervalMs)}_startWorkerHeartbeat(){this.workerUrl?this.log("worker",`starting worker for from ${this.workerUrl}`):this.log("worker","starting default worker");const A=this._workerObjectUrl(this.workerUrl);this.workerRef=new Worker(A),this.workerRef.onerror=e=>{this.log("worker","worker error",e.message),this.workerRef.terminate()},this.workerRef.onmessage=e=>{e.data.event==="keepAlive"&&this.sendHeartbeat()},this.workerRef.postMessage({event:"start",interval:this.heartbeatIntervalMs})}_onConnClose(A){this.log("transport","close",A),this._triggerChanError(),this.heartbeatTimer&&clearInterval(this.heartbeatTimer),this.reconnectTimer.scheduleTimeout(),this.stateChangeCallbacks.close.forEach(e=>e(A))}_onConnError(A){this.log("transport",`${A}`),this._triggerChanError(),this.stateChangeCallbacks.error.forEach(e=>e(A))}_triggerChanError(){this.channels.forEach(A=>A._trigger(fA.error))}_appendParams(A,e){if(Object.keys(e).length===0)return A;const t=A.match(/\?/)?"&":"?",s=new URLSearchParams(e);return`${A}${t}${s}`}_workerObjectUrl(A){let e;if(A)e=A;else{const t=new Blob([Ld],{type:"application/javascript"});e=URL.createObjectURL(t)}return e}}class fs extends Error{constructor(A){super(A),this.__isStorageError=!0,this.name="StorageError"}}function V(r){return typeof r=="object"&&r!==null&&"__isStorageError"in r}class Kd extends fs{constructor(A,e){super(A),this.name="StorageApiError",this.status=e}toJSON(){return{name:this.name,message:this.message,status:this.status}}}class gs extends fs{constructor(A,e){super(A),this.name="StorageUnknownError",this.originalError=e}}var Dd=function(r,A,e,t){function s(n){return n instanceof e?n:new e(function(i){i(n)})}return new(e||(e=Promise))(function(n,i){function a(c){try{l(t.next(c))}catch(u){i(u)}}function o(c){try{l(t.throw(c))}catch(u){i(u)}}function l(c){c.done?n(c.value):s(c.value).then(a,o)}l((t=t.apply(r,A||[])).next())})};const Zi=r=>{let A;return r?A=r:typeof fetch>"u"?A=(...e)=>Promise.resolve().then(()=>we).then(({default:t})=>t(...e)):A=fetch,(...e)=>A(...e)},kd=()=>Dd(void 0,void 0,void 0,function*(){return typeof Response>"u"?(yield Promise.resolve().then(()=>we)).Response:Response}),ws=r=>{if(Array.isArray(r))return r.map(e=>ws(e));if(typeof r=="function"||r!==Object(r))return r;const A={};return Object.entries(r).forEach(([e,t])=>{const s=e.replace(/([-_][a-z])/gi,n=>n.toUpperCase().replace(/[-_]/g,""));A[s]=ws(t)}),A};var YA=function(r,A,e,t){function s(n){return n instanceof e?n:new e(function(i){i(n)})}return new(e||(e=Promise))(function(n,i){function a(c){try{l(t.next(c))}catch(u){i(u)}}function o(c){try{l(t.throw(c))}catch(u){i(u)}}function l(c){c.done?n(c.value):s(c.value).then(a,o)}l((t=t.apply(r,A||[])).next())})};const ps=r=>r.msg||r.message||r.error_description||r.error||JSON.stringify(r),Od=(r,A,e)=>YA(void 0,void 0,void 0,function*(){const t=yield kd();r instanceof t&&!(e!=null&&e.noResolveJson)?r.json().then(s=>{A(new Kd(ps(s),r.status||500))}).catch(s=>{A(new gs(ps(s),s))}):A(new gs(ps(r),r))}),Md=(r,A,e,t)=>{const s={method:r,headers:(A==null?void 0:A.headers)||{}};return r==="GET"?s:(s.headers=Object.assign({"Content-Type":"application/json"},A==null?void 0:A.headers),t&&(s.body=JSON.stringify(t)),Object.assign(Object.assign({},s),e))};function Ye(r,A,e,t,s,n){return YA(this,void 0,void 0,function*(){return new Promise((i,a)=>{r(e,Md(A,t,s,n)).then(o=>{if(!o.ok)throw o;return t!=null&&t.noResolveJson?o:o.json()}).then(o=>i(o)).catch(o=>Od(o,a,t))})})}function tr(r,A,e,t){return YA(this,void 0,void 0,function*(){return Ye(r,"GET",A,e,t)})}function OA(r,A,e,t,s){return YA(this,void 0,void 0,function*(){return Ye(r,"POST",A,t,s,e)})}function Rd(r,A,e,t,s){return YA(this,void 0,void 0,function*(){return Ye(r,"PUT",A,t,s,e)})}function Pd(r,A,e,t){return YA(this,void 0,void 0,function*(){return Ye(r,"HEAD",A,Object.assign(Object.assign({},e),{noResolveJson:!0}),t)})}function zi(r,A,e,t,s){return YA(this,void 0,void 0,function*(){return Ye(r,"DELETE",A,t,s,e)})}var AA=function(r,A,e,t){function s(n){return n instanceof e?n:new e(function(i){i(n)})}return new(e||(e=Promise))(function(n,i){function a(c){try{l(t.next(c))}catch(u){i(u)}}function o(c){try{l(t.throw(c))}catch(u){i(u)}}function l(c){c.done?n(c.value):s(c.value).then(a,o)}l((t=t.apply(r,A||[])).next())})};const Gd={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},Aa={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1};class Nd{constructor(A,e={},t,s){this.url=A,this.headers=e,this.bucketId=t,this.fetch=Zi(s)}uploadOrUpdate(A,e,t,s){return AA(this,void 0,void 0,function*(){try{let n;const i=Object.assign(Object.assign({},Aa),s);let a=Object.assign(Object.assign({},this.headers),A==="POST"&&{"x-upsert":String(i.upsert)});const o=i.metadata;typeof Blob<"u"&&t instanceof Blob?(n=new FormData,n.append("cacheControl",i.cacheControl),o&&n.append("metadata",this.encodeMetadata(o)),n.append("",t)):typeof FormData<"u"&&t instanceof FormData?(n=t,n.append("cacheControl",i.cacheControl),o&&n.append("metadata",this.encodeMetadata(o))):(n=t,a["cache-control"]=`max-age=${i.cacheControl}`,a["content-type"]=i.contentType,o&&(a["x-metadata"]=this.toBase64(this.encodeMetadata(o)))),s!=null&&s.headers&&(a=Object.assign(Object.assign({},a),s.headers));const l=this._removeEmptyFolders(e),c=this._getFinalPath(l),u=yield this.fetch(`${this.url}/object/${c}`,Object.assign({method:A,body:n,headers:a},i!=null&&i.duplex?{duplex:i.duplex}:{})),h=yield u.json();return u.ok?{data:{path:l,id:h.Id,fullPath:h.Key},error:null}:{data:null,error:h}}catch(n){if(V(n))return{data:null,error:n};throw n}})}upload(A,e,t){return AA(this,void 0,void 0,function*(){return this.uploadOrUpdate("POST",A,e,t)})}uploadToSignedUrl(A,e,t,s){return AA(this,void 0,void 0,function*(){const n=this._removeEmptyFolders(A),i=this._getFinalPath(n),a=new URL(this.url+`/object/upload/sign/${i}`);a.searchParams.set("token",e);try{let o;const l=Object.assign({upsert:Aa.upsert},s),c=Object.assign(Object.assign({},this.headers),{"x-upsert":String(l.upsert)});typeof Blob<"u"&&t instanceof Blob?(o=new FormData,o.append("cacheControl",l.cacheControl),o.append("",t)):typeof FormData<"u"&&t instanceof FormData?(o=t,o.append("cacheControl",l.cacheControl)):(o=t,c["cache-control"]=`max-age=${l.cacheControl}`,c["content-type"]=l.contentType);const u=yield this.fetch(a.toString(),{method:"PUT",body:o,headers:c}),h=yield u.json();return u.ok?{data:{path:n,fullPath:h.Key},error:null}:{data:null,error:h}}catch(o){if(V(o))return{data:null,error:o};throw o}})}createSignedUploadUrl(A,e){return AA(this,void 0,void 0,function*(){try{let t=this._getFinalPath(A);const s=Object.assign({},this.headers);e!=null&&e.upsert&&(s["x-upsert"]="true");const n=yield OA(this.fetch,`${this.url}/object/upload/sign/${t}`,{},{headers:s}),i=new URL(this.url+n.url),a=i.searchParams.get("token");if(!a)throw new fs("No token returned by API");return{data:{signedUrl:i.toString(),path:A,token:a},error:null}}catch(t){if(V(t))return{data:null,error:t};throw t}})}update(A,e,t){return AA(this,void 0,void 0,function*(){return this.uploadOrUpdate("PUT",A,e,t)})}move(A,e,t){return AA(this,void 0,void 0,function*(){try{return{data:yield OA(this.fetch,`${this.url}/object/move`,{bucketId:this.bucketId,sourceKey:A,destinationKey:e,destinationBucket:t==null?void 0:t.destinationBucket},{headers:this.headers}),error:null}}catch(s){if(V(s))return{data:null,error:s};throw s}})}copy(A,e,t){return AA(this,void 0,void 0,function*(){try{return{data:{path:(yield OA(this.fetch,`${this.url}/object/copy`,{bucketId:this.bucketId,sourceKey:A,destinationKey:e,destinationBucket:t==null?void 0:t.destinationBucket},{headers:this.headers})).Key},error:null}}catch(s){if(V(s))return{data:null,error:s};throw s}})}createSignedUrl(A,e,t){return AA(this,void 0,void 0,function*(){try{let s=this._getFinalPath(A),n=yield OA(this.fetch,`${this.url}/object/sign/${s}`,Object.assign({expiresIn:e},t!=null&&t.transform?{transform:t.transform}:{}),{headers:this.headers});const i=t!=null&&t.download?`&download=${t.download===!0?"":t.download}`:"";return n={signedUrl:encodeURI(`${this.url}${n.signedURL}${i}`)},{data:n,error:null}}catch(s){if(V(s))return{data:null,error:s};throw s}})}createSignedUrls(A,e,t){return AA(this,void 0,void 0,function*(){try{const s=yield OA(this.fetch,`${this.url}/object/sign/${this.bucketId}`,{expiresIn:e,paths:A},{headers:this.headers}),n=t!=null&&t.download?`&download=${t.download===!0?"":t.download}`:"";return{data:s.map(i=>Object.assign(Object.assign({},i),{signedUrl:i.signedURL?encodeURI(`${this.url}${i.signedURL}${n}`):null})),error:null}}catch(s){if(V(s))return{data:null,error:s};throw s}})}download(A,e){return AA(this,void 0,void 0,function*(){const s=typeof(e==null?void 0:e.transform)<"u"?"render/image/authenticated":"object",n=this.transformOptsToQueryString((e==null?void 0:e.transform)||{}),i=n?`?${n}`:"";try{const a=this._getFinalPath(A);return{data:yield(yield tr(this.fetch,`${this.url}/${s}/${a}${i}`,{headers:this.headers,noResolveJson:!0})).blob(),error:null}}catch(a){if(V(a))return{data:null,error:a};throw a}})}info(A){return AA(this,void 0,void 0,function*(){const e=this._getFinalPath(A);try{const t=yield tr(this.fetch,`${this.url}/object/info/${e}`,{headers:this.headers});return{data:ws(t),error:null}}catch(t){if(V(t))return{data:null,error:t};throw t}})}exists(A){return AA(this,void 0,void 0,function*(){const e=this._getFinalPath(A);try{return yield Pd(this.fetch,`${this.url}/object/${e}`,{headers:this.headers}),{data:!0,error:null}}catch(t){if(V(t)&&t instanceof gs){const s=t.originalError;if([400,404].includes(s==null?void 0:s.status))return{data:!1,error:t}}throw t}})}getPublicUrl(A,e){const t=this._getFinalPath(A),s=[],n=e!=null&&e.download?`download=${e.download===!0?"":e.download}`:"";n!==""&&s.push(n);const a=typeof(e==null?void 0:e.transform)<"u"?"render/image":"object",o=this.transformOptsToQueryString((e==null?void 0:e.transform)||{});o!==""&&s.push(o);let l=s.join("&");return l!==""&&(l=`?${l}`),{data:{publicUrl:encodeURI(`${this.url}/${a}/public/${t}${l}`)}}}remove(A){return AA(this,void 0,void 0,function*(){try{return{data:yield zi(this.fetch,`${this.url}/object/${this.bucketId}`,{prefixes:A},{headers:this.headers}),error:null}}catch(e){if(V(e))return{data:null,error:e};throw e}})}list(A,e,t){return AA(this,void 0,void 0,function*(){try{const s=Object.assign(Object.assign(Object.assign({},Gd),e),{prefix:A||""});return{data:yield OA(this.fetch,`${this.url}/object/list/${this.bucketId}`,s,{headers:this.headers},t),error:null}}catch(s){if(V(s))return{data:null,error:s};throw s}})}encodeMetadata(A){return JSON.stringify(A)}toBase64(A){return typeof Buffer<"u"?Buffer.from(A).toString("base64"):btoa(A)}_getFinalPath(A){return`${this.bucketId}/${A}`}_removeEmptyFolders(A){return A.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}transformOptsToQueryString(A){const e=[];return A.width&&e.push(`width=${A.width}`),A.height&&e.push(`height=${A.height}`),A.resize&&e.push(`resize=${A.resize}`),A.format&&e.push(`format=${A.format}`),A.quality&&e.push(`quality=${A.quality}`),e.join("&")}}const Vd={"X-Client-Info":"storage-js/2.7.1"};var Qe=function(r,A,e,t){function s(n){return n instanceof e?n:new e(function(i){i(n)})}return new(e||(e=Promise))(function(n,i){function a(c){try{l(t.next(c))}catch(u){i(u)}}function o(c){try{l(t.throw(c))}catch(u){i(u)}}function l(c){c.done?n(c.value):s(c.value).then(a,o)}l((t=t.apply(r,A||[])).next())})};class jd{constructor(A,e={},t){this.url=A,this.headers=Object.assign(Object.assign({},Vd),e),this.fetch=Zi(t)}listBuckets(){return Qe(this,void 0,void 0,function*(){try{return{data:yield tr(this.fetch,`${this.url}/bucket`,{headers:this.headers}),error:null}}catch(A){if(V(A))return{data:null,error:A};throw A}})}getBucket(A){return Qe(this,void 0,void 0,function*(){try{return{data:yield tr(this.fetch,`${this.url}/bucket/${A}`,{headers:this.headers}),error:null}}catch(e){if(V(e))return{data:null,error:e};throw e}})}createBucket(A,e={public:!1}){return Qe(this,void 0,void 0,function*(){try{return{data:yield OA(this.fetch,`${this.url}/bucket`,{id:A,name:A,public:e.public,file_size_limit:e.fileSizeLimit,allowed_mime_types:e.allowedMimeTypes},{headers:this.headers}),error:null}}catch(t){if(V(t))return{data:null,error:t};throw t}})}updateBucket(A,e){return Qe(this,void 0,void 0,function*(){try{return{data:yield Rd(this.fetch,`${this.url}/bucket/${A}`,{id:A,name:A,public:e.public,file_size_limit:e.fileSizeLimit,allowed_mime_types:e.allowedMimeTypes},{headers:this.headers}),error:null}}catch(t){if(V(t))return{data:null,error:t};throw t}})}emptyBucket(A){return Qe(this,void 0,void 0,function*(){try{return{data:yield OA(this.fetch,`${this.url}/bucket/${A}/empty`,{},{headers:this.headers}),error:null}}catch(e){if(V(e))return{data:null,error:e};throw e}})}deleteBucket(A){return Qe(this,void 0,void 0,function*(){try{return{data:yield zi(this.fetch,`${this.url}/bucket/${A}`,{},{headers:this.headers}),error:null}}catch(e){if(V(e))return{data:null,error:e};throw e}})}}class Jd extends jd{constructor(A,e={},t){super(A,e,t)}from(A){return new Nd(this.url,this.headers,A,this.fetch)}}const Xd="2.50.5";let qe="";typeof Deno<"u"?qe="deno":typeof document<"u"?qe="web":typeof navigator<"u"&&navigator.product==="ReactNative"?qe="react-native":qe="node";const $d={headers:{"X-Client-Info":`supabase-js-${qe}/${Xd}`}},Wd={schema:"public"},Yd={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},qd={};var Zd=function(r,A,e,t){function s(n){return n instanceof e?n:new e(function(i){i(n)})}return new(e||(e=Promise))(function(n,i){function a(c){try{l(t.next(c))}catch(u){i(u)}}function o(c){try{l(t.throw(c))}catch(u){i(u)}}function l(c){c.done?n(c.value):s(c.value).then(a,o)}l((t=t.apply(r,A||[])).next())})};const zd=r=>{let A;return r?A=r:typeof fetch>"u"?A=Li:A=fetch,(...e)=>A(...e)},AB=()=>typeof Headers>"u"?Ti:Headers,eB=(r,A,e)=>{const t=zd(e),s=AB();return(n,i)=>Zd(void 0,void 0,void 0,function*(){var a;const o=(a=yield A())!==null&&a!==void 0?a:r;let l=new s(i==null?void 0:i.headers);return l.has("apikey")||l.set("apikey",r),l.has("Authorization")||l.set("Authorization",`Bearer ${o}`),t(n,Object.assign(Object.assign({},i),{headers:l}))})};var tB=function(r,A,e,t){function s(n){return n instanceof e?n:new e(function(i){i(n)})}return new(e||(e=Promise))(function(n,i){function a(c){try{l(t.next(c))}catch(u){i(u)}}function o(c){try{l(t.throw(c))}catch(u){i(u)}}function l(c){c.done?n(c.value):s(c.value).then(a,o)}l((t=t.apply(r,A||[])).next())})};function rB(r){return r.endsWith("/")?r:r+"/"}function sB(r,A){var e,t;const{db:s,auth:n,realtime:i,global:a}=r,{db:o,auth:l,realtime:c,global:u}=A,h={db:Object.assign(Object.assign({},o),s),auth:Object.assign(Object.assign({},l),n),realtime:Object.assign(Object.assign({},c),i),global:Object.assign(Object.assign(Object.assign({},u),a),{headers:Object.assign(Object.assign({},(e=u==null?void 0:u.headers)!==null&&e!==void 0?e:{}),(t=a==null?void 0:a.headers)!==null&&t!==void 0?t:{})}),accessToken:()=>tB(this,void 0,void 0,function*(){return""})};return r.accessToken?h.accessToken=r.accessToken:delete h.accessToken,h}const ea="2.70.0",Ce=30*1e3,Qs=3,Cs=Qs*Ce,nB="http://localhost:9999",iB="supabase.auth.token",aB={"X-Client-Info":`gotrue-js/${ea}`},Us="X-Supabase-Api-Version",ta={"2024-01-01":{timestamp:Date.parse("2024-01-01T00:00:00.0Z"),name:"2024-01-01"}},oB=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}$|[a-z0-9_-]{2}$)$/i,lB=6e5;class vs extends Error{constructor(A,e,t){super(A),this.__isAuthError=!0,this.name="AuthError",this.status=e,this.code=t}}function I(r){return typeof r=="object"&&r!==null&&"__isAuthError"in r}class cB extends vs{constructor(A,e,t){super(A,e,t),this.name="AuthApiError",this.status=e,this.code=t}}function uB(r){return I(r)&&r.name==="AuthApiError"}class ra extends vs{constructor(A,e){super(A),this.name="AuthUnknownError",this.originalError=e}}class MA extends vs{constructor(A,e,t,s){super(A,t,s),this.name=e,this.status=t}}class RA extends MA{constructor(){super("Auth session missing!","AuthSessionMissingError",400,void 0)}}function hB(r){return I(r)&&r.name==="AuthSessionMissingError"}class rr extends MA{constructor(){super("Auth session or user missing","AuthInvalidTokenResponseError",500,void 0)}}class sr extends MA{constructor(A){super(A,"AuthInvalidCredentialsError",400,void 0)}}class nr extends MA{constructor(A,e=null){super(A,"AuthImplicitGrantRedirectError",500,void 0),this.details=null,this.details=e}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}}function dB(r){return I(r)&&r.name==="AuthImplicitGrantRedirectError"}class sa extends MA{constructor(A,e=null){super(A,"AuthPKCEGrantCodeExchangeError",500,void 0),this.details=null,this.details=e}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}}class Fs extends MA{constructor(A,e){super(A,"AuthRetryableFetchError",e,void 0)}}function ms(r){return I(r)&&r.name==="AuthRetryableFetchError"}class na extends MA{constructor(A,e,t){super(A,"AuthWeakPasswordError",e,"weak_password"),this.reasons=t}}class Ze extends MA{constructor(A){super(A,"AuthInvalidJwtError",400,"invalid_jwt")}}const ir="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".split(""),ia=` 	
\r=`.split(""),BB=(()=>{const r=new Array(128);for(let A=0;A<r.length;A+=1)r[A]=-1;for(let A=0;A<ia.length;A+=1)r[ia[A].charCodeAt(0)]=-2;for(let A=0;A<ir.length;A+=1)r[ir[A].charCodeAt(0)]=A;return r})();function aa(r,A,e){if(r!==null)for(A.queue=A.queue<<8|r,A.queuedBits+=8;A.queuedBits>=6;){const t=A.queue>>A.queuedBits-6&63;e(ir[t]),A.queuedBits-=6}else if(A.queuedBits>0)for(A.queue=A.queue<<6-A.queuedBits,A.queuedBits=6;A.queuedBits>=6;){const t=A.queue>>A.queuedBits-6&63;e(ir[t]),A.queuedBits-=6}}function oa(r,A,e){const t=BB[r];if(t>-1)for(A.queue=A.queue<<6|t,A.queuedBits+=6;A.queuedBits>=8;)e(A.queue>>A.queuedBits-8&255),A.queuedBits-=8;else{if(t===-2)return;throw new Error(`Invalid Base64-URL character "${String.fromCharCode(r)}"`)}}function la(r){const A=[],e=i=>{A.push(String.fromCodePoint(i))},t={utf8seq:0,codepoint:0},s={queue:0,queuedBits:0},n=i=>{wB(i,t,e)};for(let i=0;i<r.length;i+=1)oa(r.charCodeAt(i),s,n);return A.join("")}function fB(r,A){if(r<=127){A(r);return}else if(r<=2047){A(192|r>>6),A(128|r&63);return}else if(r<=65535){A(224|r>>12),A(128|r>>6&63),A(128|r&63);return}else if(r<=1114111){A(240|r>>18),A(128|r>>12&63),A(128|r>>6&63),A(128|r&63);return}throw new Error(`Unrecognized Unicode codepoint: ${r.toString(16)}`)}function gB(r,A){for(let e=0;e<r.length;e+=1){let t=r.charCodeAt(e);if(t>55295&&t<=56319){const s=(t-55296)*1024&65535;t=(r.charCodeAt(e+1)-56320&65535|s)+65536,e+=1}fB(t,A)}}function wB(r,A,e){if(A.utf8seq===0){if(r<=127){e(r);return}for(let t=1;t<6;t+=1)if(!(r>>7-t&1)){A.utf8seq=t;break}if(A.utf8seq===2)A.codepoint=r&31;else if(A.utf8seq===3)A.codepoint=r&15;else if(A.utf8seq===4)A.codepoint=r&7;else throw new Error("Invalid UTF-8 sequence");A.utf8seq-=1}else if(A.utf8seq>0){if(r<=127)throw new Error("Invalid UTF-8 sequence");A.codepoint=A.codepoint<<6|r&63,A.utf8seq-=1,A.utf8seq===0&&e(A.codepoint)}}function pB(r){const A=[],e={queue:0,queuedBits:0},t=s=>{A.push(s)};for(let s=0;s<r.length;s+=1)oa(r.charCodeAt(s),e,t);return new Uint8Array(A)}function QB(r){const A=[];return gB(r,e=>A.push(e)),new Uint8Array(A)}function CB(r){const A=[],e={queue:0,queuedBits:0},t=s=>{A.push(s)};return r.forEach(s=>aa(s,e,t)),aa(null,e,t),A.join("")}function UB(r){return Math.round(Date.now()/1e3)+r}function vB(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(r){const A=Math.random()*16|0;return(r=="x"?A:A&3|8).toString(16)})}const gA=()=>typeof window<"u"&&typeof document<"u",qA={tested:!1,writable:!1},ze=()=>{if(!gA())return!1;try{if(typeof globalThis.localStorage!="object")return!1}catch{return!1}if(qA.tested)return qA.writable;const r=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(r,r),globalThis.localStorage.removeItem(r),qA.tested=!0,qA.writable=!0}catch{qA.tested=!0,qA.writable=!1}return qA.writable};function FB(r){const A={},e=new URL(r);if(e.hash&&e.hash[0]==="#")try{new URLSearchParams(e.hash.substring(1)).forEach((s,n)=>{A[n]=s})}catch{}return e.searchParams.forEach((t,s)=>{A[s]=t}),A}const ca=r=>{let A;return r?A=r:typeof fetch>"u"?A=(...e)=>Promise.resolve().then(()=>we).then(({default:t})=>t(...e)):A=fetch,(...e)=>A(...e)},mB=r=>typeof r=="object"&&r!==null&&"status"in r&&"ok"in r&&"json"in r&&typeof r.json=="function",ua=async(r,A,e)=>{await r.setItem(A,JSON.stringify(e))},ar=async(r,A)=>{const e=await r.getItem(A);if(!e)return null;try{return JSON.parse(e)}catch{return e}},or=async(r,A)=>{await r.removeItem(A)};class lr{constructor(){this.promise=new lr.promiseConstructor((A,e)=>{this.resolve=A,this.reject=e})}}lr.promiseConstructor=Promise;function ys(r){const A=r.split(".");if(A.length!==3)throw new Ze("Invalid JWT structure");for(let t=0;t<A.length;t++)if(!oB.test(A[t]))throw new Ze("JWT not in base64url format");return{header:JSON.parse(la(A[0])),payload:JSON.parse(la(A[1])),signature:pB(A[2]),raw:{header:A[0],payload:A[1]}}}async function yB(r){return await new Promise(A=>{setTimeout(()=>A(null),r)})}function EB(r,A){return new Promise((t,s)=>{(async()=>{for(let n=0;n<1/0;n++)try{const i=await r(n);if(!A(n,null,i)){t(i);return}}catch(i){if(!A(n,i)){s(i);return}}})()})}function bB(r){return("0"+r.toString(16)).substr(-2)}function IB(){const A=new Uint32Array(56);if(typeof crypto>"u"){const e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",t=e.length;let s="";for(let n=0;n<56;n++)s+=e.charAt(Math.floor(Math.random()*t));return s}return crypto.getRandomValues(A),Array.from(A,bB).join("")}async function HB(r){const e=new TextEncoder().encode(r),t=await crypto.subtle.digest("SHA-256",e),s=new Uint8Array(t);return Array.from(s).map(n=>String.fromCharCode(n)).join("")}async function xB(r){if(!(typeof crypto<"u"&&typeof crypto.subtle<"u"&&typeof TextEncoder<"u"))return console.warn("WebCrypto API is not supported. Code challenge method will default to use plain instead of sha256."),r;const e=await HB(r);return btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function Ue(r,A,e=!1){const t=IB();let s=t;e&&(s+="/PASSWORD_RECOVERY"),await ua(r,`${A}-code-verifier`,s);const n=await xB(t);return[n,t===n?"plain":"s256"]}const _B=/^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/i;function SB(r){const A=r.headers.get(Us);if(!A||!A.match(_B))return null;try{return new Date(`${A}T00:00:00.0Z`)}catch{return null}}function LB(r){if(!r)throw new Error("Missing exp claim");const A=Math.floor(Date.now()/1e3);if(r<=A)throw new Error("JWT has expired")}function TB(r){switch(r){case"RS256":return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case"ES256":return{name:"ECDSA",namedCurve:"P-256",hash:{name:"SHA-256"}};default:throw new Error("Invalid alg claim")}}const KB=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;function ve(r){if(!KB.test(r))throw new Error("@supabase/auth-js: Expected parameter to be UUID but is not")}var DB=function(r,A){var e={};for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&A.indexOf(t)<0&&(e[t]=r[t]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,t=Object.getOwnPropertySymbols(r);s<t.length;s++)A.indexOf(t[s])<0&&Object.prototype.propertyIsEnumerable.call(r,t[s])&&(e[t[s]]=r[t[s]]);return e};const ZA=r=>r.msg||r.message||r.error_description||r.error||JSON.stringify(r),kB=[502,503,504];async function ha(r){var A;if(!mB(r))throw new Fs(ZA(r),0);if(kB.includes(r.status))throw new Fs(ZA(r),r.status);let e;try{e=await r.json()}catch(n){throw new ra(ZA(n),n)}let t;const s=SB(r);if(s&&s.getTime()>=ta["2024-01-01"].timestamp&&typeof e=="object"&&e&&typeof e.code=="string"?t=e.code:typeof e=="object"&&e&&typeof e.error_code=="string"&&(t=e.error_code),t){if(t==="weak_password")throw new na(ZA(e),r.status,((A=e.weak_password)===null||A===void 0?void 0:A.reasons)||[]);if(t==="session_not_found")throw new RA}else if(typeof e=="object"&&e&&typeof e.weak_password=="object"&&e.weak_password&&Array.isArray(e.weak_password.reasons)&&e.weak_password.reasons.length&&e.weak_password.reasons.reduce((n,i)=>n&&typeof i=="string",!0))throw new na(ZA(e),r.status,e.weak_password.reasons);throw new cB(ZA(e),r.status||500,t)}const OB=(r,A,e,t)=>{const s={method:r,headers:(A==null?void 0:A.headers)||{}};return r==="GET"?s:(s.headers=Object.assign({"Content-Type":"application/json;charset=UTF-8"},A==null?void 0:A.headers),s.body=JSON.stringify(t),Object.assign(Object.assign({},s),e))};async function H(r,A,e,t){var s;const n=Object.assign({},t==null?void 0:t.headers);n[Us]||(n[Us]=ta["2024-01-01"].name),t!=null&&t.jwt&&(n.Authorization=`Bearer ${t.jwt}`);const i=(s=t==null?void 0:t.query)!==null&&s!==void 0?s:{};t!=null&&t.redirectTo&&(i.redirect_to=t.redirectTo);const a=Object.keys(i).length?"?"+new URLSearchParams(i).toString():"",o=await MB(r,A,e+a,{headers:n,noResolveJson:t==null?void 0:t.noResolveJson},{},t==null?void 0:t.body);return t!=null&&t.xform?t==null?void 0:t.xform(o):{data:Object.assign({},o),error:null}}async function MB(r,A,e,t,s,n){const i=OB(A,t,s,n);let a;try{a=await r(e,Object.assign({},i))}catch(o){throw console.error(o),new Fs(ZA(o),0)}if(a.ok||await ha(a),t!=null&&t.noResolveJson)return a;try{return await a.json()}catch(o){await ha(o)}}function EA(r){var A;let e=null;NB(r)&&(e=Object.assign({},r),r.expires_at||(e.expires_at=UB(r.expires_in)));const t=(A=r.user)!==null&&A!==void 0?A:r;return{data:{session:e,user:t},error:null}}function da(r){const A=EA(r);return!A.error&&r.weak_password&&typeof r.weak_password=="object"&&Array.isArray(r.weak_password.reasons)&&r.weak_password.reasons.length&&r.weak_password.message&&typeof r.weak_password.message=="string"&&r.weak_password.reasons.reduce((e,t)=>e&&typeof t=="string",!0)&&(A.data.weak_password=r.weak_password),A}function PA(r){var A;return{data:{user:(A=r.user)!==null&&A!==void 0?A:r},error:null}}function RB(r){return{data:r,error:null}}function PB(r){const{action_link:A,email_otp:e,hashed_token:t,redirect_to:s,verification_type:n}=r,i=DB(r,["action_link","email_otp","hashed_token","redirect_to","verification_type"]),a={action_link:A,email_otp:e,hashed_token:t,redirect_to:s,verification_type:n},o=Object.assign({},i);return{data:{properties:a,user:o},error:null}}function GB(r){return r}function NB(r){return r.access_token&&r.refresh_token&&r.expires_in}const Es=["global","local","others"];var VB=function(r,A){var e={};for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&A.indexOf(t)<0&&(e[t]=r[t]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,t=Object.getOwnPropertySymbols(r);s<t.length;s++)A.indexOf(t[s])<0&&Object.prototype.propertyIsEnumerable.call(r,t[s])&&(e[t[s]]=r[t[s]]);return e};class jB{constructor({url:A="",headers:e={},fetch:t}){this.url=A,this.headers=e,this.fetch=ca(t),this.mfa={listFactors:this._listFactors.bind(this),deleteFactor:this._deleteFactor.bind(this)}}async signOut(A,e=Es[0]){if(Es.indexOf(e)<0)throw new Error(`@supabase/auth-js: Parameter scope must be one of ${Es.join(", ")}`);try{return await H(this.fetch,"POST",`${this.url}/logout?scope=${e}`,{headers:this.headers,jwt:A,noResolveJson:!0}),{data:null,error:null}}catch(t){if(I(t))return{data:null,error:t};throw t}}async inviteUserByEmail(A,e={}){try{return await H(this.fetch,"POST",`${this.url}/invite`,{body:{email:A,data:e.data},headers:this.headers,redirectTo:e.redirectTo,xform:PA})}catch(t){if(I(t))return{data:{user:null},error:t};throw t}}async generateLink(A){try{const{options:e}=A,t=VB(A,["options"]),s=Object.assign(Object.assign({},t),e);return"newEmail"in t&&(s.new_email=t==null?void 0:t.newEmail,delete s.newEmail),await H(this.fetch,"POST",`${this.url}/admin/generate_link`,{body:s,headers:this.headers,xform:PB,redirectTo:e==null?void 0:e.redirectTo})}catch(e){if(I(e))return{data:{properties:null,user:null},error:e};throw e}}async createUser(A){try{return await H(this.fetch,"POST",`${this.url}/admin/users`,{body:A,headers:this.headers,xform:PA})}catch(e){if(I(e))return{data:{user:null},error:e};throw e}}async listUsers(A){var e,t,s,n,i,a,o;try{const l={nextPage:null,lastPage:0,total:0},c=await H(this.fetch,"GET",`${this.url}/admin/users`,{headers:this.headers,noResolveJson:!0,query:{page:(t=(e=A==null?void 0:A.page)===null||e===void 0?void 0:e.toString())!==null&&t!==void 0?t:"",per_page:(n=(s=A==null?void 0:A.perPage)===null||s===void 0?void 0:s.toString())!==null&&n!==void 0?n:""},xform:GB});if(c.error)throw c.error;const u=await c.json(),h=(i=c.headers.get("x-total-count"))!==null&&i!==void 0?i:0,d=(o=(a=c.headers.get("link"))===null||a===void 0?void 0:a.split(","))!==null&&o!==void 0?o:[];return d.length>0&&(d.forEach(B=>{const f=parseInt(B.split(";")[0].split("=")[1].substring(0,1)),w=JSON.parse(B.split(";")[1].split("=")[1]);l[`${w}Page`]=f}),l.total=parseInt(h)),{data:Object.assign(Object.assign({},u),l),error:null}}catch(l){if(I(l))return{data:{users:[]},error:l};throw l}}async getUserById(A){ve(A);try{return await H(this.fetch,"GET",`${this.url}/admin/users/${A}`,{headers:this.headers,xform:PA})}catch(e){if(I(e))return{data:{user:null},error:e};throw e}}async updateUserById(A,e){ve(A);try{return await H(this.fetch,"PUT",`${this.url}/admin/users/${A}`,{body:e,headers:this.headers,xform:PA})}catch(t){if(I(t))return{data:{user:null},error:t};throw t}}async deleteUser(A,e=!1){ve(A);try{return await H(this.fetch,"DELETE",`${this.url}/admin/users/${A}`,{headers:this.headers,body:{should_soft_delete:e},xform:PA})}catch(t){if(I(t))return{data:{user:null},error:t};throw t}}async _listFactors(A){ve(A.userId);try{const{data:e,error:t}=await H(this.fetch,"GET",`${this.url}/admin/users/${A.userId}/factors`,{headers:this.headers,xform:s=>({data:{factors:s},error:null})});return{data:e,error:t}}catch(e){if(I(e))return{data:null,error:e};throw e}}async _deleteFactor(A){ve(A.userId),ve(A.id);try{return{data:await H(this.fetch,"DELETE",`${this.url}/admin/users/${A.userId}/factors/${A.id}`,{headers:this.headers}),error:null}}catch(e){if(I(e))return{data:null,error:e};throw e}}}const JB={getItem:r=>ze()?globalThis.localStorage.getItem(r):null,setItem:(r,A)=>{ze()&&globalThis.localStorage.setItem(r,A)},removeItem:r=>{ze()&&globalThis.localStorage.removeItem(r)}};function Ba(r={}){return{getItem:A=>r[A]||null,setItem:(A,e)=>{r[A]=e},removeItem:A=>{delete r[A]}}}function XB(){if(typeof globalThis!="object")try{Object.defineProperty(Object.prototype,"__magic__",{get:function(){return this},configurable:!0}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__}catch{typeof self<"u"&&(self.globalThis=self)}}const Fe={debug:!!(globalThis&&ze()&&globalThis.localStorage&&globalThis.localStorage.getItem("supabase.gotrue-js.locks.debug")==="true")};class fa extends Error{constructor(A){super(A),this.isAcquireTimeout=!0}}class $B extends fa{}async function WB(r,A,e){Fe.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquire lock",r,A);const t=new globalThis.AbortController;return A>0&&setTimeout(()=>{t.abort(),Fe.debug&&console.log("@supabase/gotrue-js: navigatorLock acquire timed out",r)},A),await Promise.resolve().then(()=>globalThis.navigator.locks.request(r,A===0?{mode:"exclusive",ifAvailable:!0}:{mode:"exclusive",signal:t.signal},async s=>{if(s){Fe.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquired",r,s.name);try{return await e()}finally{Fe.debug&&console.log("@supabase/gotrue-js: navigatorLock: released",r,s.name)}}else{if(A===0)throw Fe.debug&&console.log("@supabase/gotrue-js: navigatorLock: not immediately available",r),new $B(`Acquiring an exclusive Navigator LockManager lock "${r}" immediately failed`);if(Fe.debug)try{const n=await globalThis.navigator.locks.query();console.log("@supabase/gotrue-js: Navigator LockManager state",JSON.stringify(n,null,"  "))}catch(n){console.warn("@supabase/gotrue-js: Error when querying Navigator LockManager state",n)}return console.warn("@supabase/gotrue-js: Navigator LockManager returned a null lock when using #request without ifAvailable set to true, it appears this browser is not following the LockManager spec https://developer.mozilla.org/en-US/docs/Web/API/LockManager/request"),await e()}}))}XB();const YB={url:nB,storageKey:iB,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:aB,flowType:"implicit",debug:!1,hasCustomAuthorizationHeader:!1};async function ga(r,A,e){return await e()}class At{constructor(A){var e,t;this.memoryStorage=null,this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.initializePromise=null,this.detectSessionInUrl=!0,this.hasCustomAuthorizationHeader=!1,this.suppressGetSessionWarning=!1,this.lockAcquired=!1,this.pendingInLock=[],this.broadcastChannel=null,this.logger=console.log,this.instanceID=At.nextInstanceID,At.nextInstanceID+=1,this.instanceID>0&&gA()&&console.warn("Multiple GoTrueClient instances detected in the same browser context. It is not an error, but this should be avoided as it may produce undefined behavior when used concurrently under the same storage key.");const s=Object.assign(Object.assign({},YB),A);if(this.logDebugMessages=!!s.debug,typeof s.debug=="function"&&(this.logger=s.debug),this.persistSession=s.persistSession,this.storageKey=s.storageKey,this.autoRefreshToken=s.autoRefreshToken,this.admin=new jB({url:s.url,headers:s.headers,fetch:s.fetch}),this.url=s.url,this.headers=s.headers,this.fetch=ca(s.fetch),this.lock=s.lock||ga,this.detectSessionInUrl=s.detectSessionInUrl,this.flowType=s.flowType,this.hasCustomAuthorizationHeader=s.hasCustomAuthorizationHeader,s.lock?this.lock=s.lock:gA()&&(!((e=globalThis==null?void 0:globalThis.navigator)===null||e===void 0)&&e.locks)?this.lock=WB:this.lock=ga,this.jwks={keys:[]},this.jwks_cached_at=Number.MIN_SAFE_INTEGER,this.mfa={verify:this._verify.bind(this),enroll:this._enroll.bind(this),unenroll:this._unenroll.bind(this),challenge:this._challenge.bind(this),listFactors:this._listFactors.bind(this),challengeAndVerify:this._challengeAndVerify.bind(this),getAuthenticatorAssuranceLevel:this._getAuthenticatorAssuranceLevel.bind(this)},this.persistSession?s.storage?this.storage=s.storage:ze()?this.storage=JB:(this.memoryStorage={},this.storage=Ba(this.memoryStorage)):(this.memoryStorage={},this.storage=Ba(this.memoryStorage)),gA()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey){try{this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey)}catch(n){console.error("Failed to create a new BroadcastChannel, multi-tab state changes will not be available",n)}(t=this.broadcastChannel)===null||t===void 0||t.addEventListener("message",async n=>{this._debug("received broadcast notification from other tab or client",n),await this._notifyAllSubscribers(n.data.event,n.data.session,!1)})}this.initialize()}_debug(...A){return this.logDebugMessages&&this.logger(`GoTrueClient@${this.instanceID} (${ea}) ${new Date().toISOString()}`,...A),this}async initialize(){return this.initializePromise?await this.initializePromise:(this.initializePromise=(async()=>await this._acquireLock(-1,async()=>await this._initialize()))(),await this.initializePromise)}async _initialize(){var A;try{const e=FB(window.location.href);let t="none";if(this._isImplicitGrantCallback(e)?t="implicit":await this._isPKCECallback(e)&&(t="pkce"),gA()&&this.detectSessionInUrl&&t!=="none"){const{data:s,error:n}=await this._getSessionFromURL(e,t);if(n){if(this._debug("#_initialize()","error detecting session from URL",n),dB(n)){const o=(A=n.details)===null||A===void 0?void 0:A.code;if(o==="identity_already_exists"||o==="identity_not_found"||o==="single_identity_not_deletable")return{error:n}}return await this._removeSession(),{error:n}}const{session:i,redirectType:a}=s;return this._debug("#_initialize()","detected session in URL",i,"redirect type",a),await this._saveSession(i),setTimeout(async()=>{a==="recovery"?await this._notifyAllSubscribers("PASSWORD_RECOVERY",i):await this._notifyAllSubscribers("SIGNED_IN",i)},0),{error:null}}return await this._recoverAndRefresh(),{error:null}}catch(e){return I(e)?{error:e}:{error:new ra("Unexpected error during initialization",e)}}finally{await this._handleVisibilityChange(),this._debug("#_initialize()","end")}}async signInAnonymously(A){var e,t,s;try{const n=await H(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{data:(t=(e=A==null?void 0:A.options)===null||e===void 0?void 0:e.data)!==null&&t!==void 0?t:{},gotrue_meta_security:{captcha_token:(s=A==null?void 0:A.options)===null||s===void 0?void 0:s.captchaToken}},xform:EA}),{data:i,error:a}=n;if(a||!i)return{data:{user:null,session:null},error:a};const o=i.session,l=i.user;return i.session&&(await this._saveSession(i.session),await this._notifyAllSubscribers("SIGNED_IN",o)),{data:{user:l,session:o},error:null}}catch(n){if(I(n))return{data:{user:null,session:null},error:n};throw n}}async signUp(A){var e,t,s;try{let n;if("email"in A){const{email:c,password:u,options:h}=A;let d=null,B=null;this.flowType==="pkce"&&([d,B]=await Ue(this.storage,this.storageKey)),n=await H(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,redirectTo:h==null?void 0:h.emailRedirectTo,body:{email:c,password:u,data:(e=h==null?void 0:h.data)!==null&&e!==void 0?e:{},gotrue_meta_security:{captcha_token:h==null?void 0:h.captchaToken},code_challenge:d,code_challenge_method:B},xform:EA})}else if("phone"in A){const{phone:c,password:u,options:h}=A;n=await H(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{phone:c,password:u,data:(t=h==null?void 0:h.data)!==null&&t!==void 0?t:{},channel:(s=h==null?void 0:h.channel)!==null&&s!==void 0?s:"sms",gotrue_meta_security:{captcha_token:h==null?void 0:h.captchaToken}},xform:EA})}else throw new sr("You must provide either an email or phone number and a password");const{data:i,error:a}=n;if(a||!i)return{data:{user:null,session:null},error:a};const o=i.session,l=i.user;return i.session&&(await this._saveSession(i.session),await this._notifyAllSubscribers("SIGNED_IN",o)),{data:{user:l,session:o},error:null}}catch(n){if(I(n))return{data:{user:null,session:null},error:n};throw n}}async signInWithPassword(A){try{let e;if("email"in A){const{email:n,password:i,options:a}=A;e=await H(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:n,password:i,gotrue_meta_security:{captcha_token:a==null?void 0:a.captchaToken}},xform:da})}else if("phone"in A){const{phone:n,password:i,options:a}=A;e=await H(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:n,password:i,gotrue_meta_security:{captcha_token:a==null?void 0:a.captchaToken}},xform:da})}else throw new sr("You must provide either an email or phone number and a password");const{data:t,error:s}=e;return s?{data:{user:null,session:null},error:s}:!t||!t.session||!t.user?{data:{user:null,session:null},error:new rr}:(t.session&&(await this._saveSession(t.session),await this._notifyAllSubscribers("SIGNED_IN",t.session)),{data:Object.assign({user:t.user,session:t.session},t.weak_password?{weakPassword:t.weak_password}:null),error:s})}catch(e){if(I(e))return{data:{user:null,session:null},error:e};throw e}}async signInWithOAuth(A){var e,t,s,n;return await this._handleProviderSignIn(A.provider,{redirectTo:(e=A.options)===null||e===void 0?void 0:e.redirectTo,scopes:(t=A.options)===null||t===void 0?void 0:t.scopes,queryParams:(s=A.options)===null||s===void 0?void 0:s.queryParams,skipBrowserRedirect:(n=A.options)===null||n===void 0?void 0:n.skipBrowserRedirect})}async exchangeCodeForSession(A){return await this.initializePromise,this._acquireLock(-1,async()=>this._exchangeCodeForSession(A))}async signInWithWeb3(A){const{chain:e}=A;if(e==="solana")return await this.signInWithSolana(A);throw new Error(`@supabase/auth-js: Unsupported chain "${e}"`)}async signInWithSolana(A){var e,t,s,n,i,a,o,l,c,u,h,d;let B,f;if("message"in A)B=A.message,f=A.signature;else{const{chain:w,wallet:g,statement:Q,options:C}=A;let v;if(gA())if(typeof g=="object")v=g;else{const p=window;if("solana"in p&&typeof p.solana=="object"&&("signIn"in p.solana&&typeof p.solana.signIn=="function"||"signMessage"in p.solana&&typeof p.solana.signMessage=="function"))v=p.solana;else throw new Error("@supabase/auth-js: No compatible Solana wallet interface on the window object (window.solana) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'solana', wallet: resolvedUserWallet }) instead.")}else{if(typeof g!="object"||!(C!=null&&C.url))throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");v=g}const m=new URL((e=C==null?void 0:C.url)!==null&&e!==void 0?e:window.location.href);if("signIn"in v&&v.signIn){const p=await v.signIn(Object.assign(Object.assign(Object.assign({issuedAt:new Date().toISOString()},C==null?void 0:C.signInWithSolana),{version:"1",domain:m.host,uri:m.href}),Q?{statement:Q}:null));let E;if(Array.isArray(p)&&p[0]&&typeof p[0]=="object")E=p[0];else if(p&&typeof p=="object"&&"signedMessage"in p&&"signature"in p)E=p;else throw new Error("@supabase/auth-js: Wallet method signIn() returned unrecognized value");if("signedMessage"in E&&"signature"in E&&(typeof E.signedMessage=="string"||E.signedMessage instanceof Uint8Array)&&E.signature instanceof Uint8Array)B=typeof E.signedMessage=="string"?E.signedMessage:new TextDecoder().decode(E.signedMessage),f=E.signature;else throw new Error("@supabase/auth-js: Wallet method signIn() API returned object without signedMessage and signature fields")}else{if(!("signMessage"in v)||typeof v.signMessage!="function"||!("publicKey"in v)||typeof v!="object"||!v.publicKey||!("toBase58"in v.publicKey)||typeof v.publicKey.toBase58!="function")throw new Error("@supabase/auth-js: Wallet does not have a compatible signMessage() and publicKey.toBase58() API");B=[`${m.host} wants you to sign in with your Solana account:`,v.publicKey.toBase58(),...Q?["",Q,""]:[""],"Version: 1",`URI: ${m.href}`,`Issued At: ${(s=(t=C==null?void 0:C.signInWithSolana)===null||t===void 0?void 0:t.issuedAt)!==null&&s!==void 0?s:new Date().toISOString()}`,...!((n=C==null?void 0:C.signInWithSolana)===null||n===void 0)&&n.notBefore?[`Not Before: ${C.signInWithSolana.notBefore}`]:[],...!((i=C==null?void 0:C.signInWithSolana)===null||i===void 0)&&i.expirationTime?[`Expiration Time: ${C.signInWithSolana.expirationTime}`]:[],...!((a=C==null?void 0:C.signInWithSolana)===null||a===void 0)&&a.chainId?[`Chain ID: ${C.signInWithSolana.chainId}`]:[],...!((o=C==null?void 0:C.signInWithSolana)===null||o===void 0)&&o.nonce?[`Nonce: ${C.signInWithSolana.nonce}`]:[],...!((l=C==null?void 0:C.signInWithSolana)===null||l===void 0)&&l.requestId?[`Request ID: ${C.signInWithSolana.requestId}`]:[],...!((u=(c=C==null?void 0:C.signInWithSolana)===null||c===void 0?void 0:c.resources)===null||u===void 0)&&u.length?["Resources",...C.signInWithSolana.resources.map(E=>`- ${E}`)]:[]].join(`
`);const p=await v.signMessage(new TextEncoder().encode(B),"utf8");if(!p||!(p instanceof Uint8Array))throw new Error("@supabase/auth-js: Wallet signMessage() API returned an recognized value");f=p}}try{const{data:w,error:g}=await H(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"solana",message:B,signature:CB(f)},!((h=A.options)===null||h===void 0)&&h.captchaToken?{gotrue_meta_security:{captcha_token:(d=A.options)===null||d===void 0?void 0:d.captchaToken}}:null),xform:EA});if(g)throw g;return!w||!w.session||!w.user?{data:{user:null,session:null},error:new rr}:(w.session&&(await this._saveSession(w.session),await this._notifyAllSubscribers("SIGNED_IN",w.session)),{data:Object.assign({},w),error:g})}catch(w){if(I(w))return{data:{user:null,session:null},error:w};throw w}}async _exchangeCodeForSession(A){const e=await ar(this.storage,`${this.storageKey}-code-verifier`),[t,s]=(e??"").split("/");try{const{data:n,error:i}=await H(this.fetch,"POST",`${this.url}/token?grant_type=pkce`,{headers:this.headers,body:{auth_code:A,code_verifier:t},xform:EA});if(await or(this.storage,`${this.storageKey}-code-verifier`),i)throw i;return!n||!n.session||!n.user?{data:{user:null,session:null,redirectType:null},error:new rr}:(n.session&&(await this._saveSession(n.session),await this._notifyAllSubscribers("SIGNED_IN",n.session)),{data:Object.assign(Object.assign({},n),{redirectType:s??null}),error:i})}catch(n){if(I(n))return{data:{user:null,session:null,redirectType:null},error:n};throw n}}async signInWithIdToken(A){try{const{options:e,provider:t,token:s,access_token:n,nonce:i}=A,a=await H(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:t,id_token:s,access_token:n,nonce:i,gotrue_meta_security:{captcha_token:e==null?void 0:e.captchaToken}},xform:EA}),{data:o,error:l}=a;return l?{data:{user:null,session:null},error:l}:!o||!o.session||!o.user?{data:{user:null,session:null},error:new rr}:(o.session&&(await this._saveSession(o.session),await this._notifyAllSubscribers("SIGNED_IN",o.session)),{data:o,error:l})}catch(e){if(I(e))return{data:{user:null,session:null},error:e};throw e}}async signInWithOtp(A){var e,t,s,n,i;try{if("email"in A){const{email:a,options:o}=A;let l=null,c=null;this.flowType==="pkce"&&([l,c]=await Ue(this.storage,this.storageKey));const{error:u}=await H(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{email:a,data:(e=o==null?void 0:o.data)!==null&&e!==void 0?e:{},create_user:(t=o==null?void 0:o.shouldCreateUser)!==null&&t!==void 0?t:!0,gotrue_meta_security:{captcha_token:o==null?void 0:o.captchaToken},code_challenge:l,code_challenge_method:c},redirectTo:o==null?void 0:o.emailRedirectTo});return{data:{user:null,session:null},error:u}}if("phone"in A){const{phone:a,options:o}=A,{data:l,error:c}=await H(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{phone:a,data:(s=o==null?void 0:o.data)!==null&&s!==void 0?s:{},create_user:(n=o==null?void 0:o.shouldCreateUser)!==null&&n!==void 0?n:!0,gotrue_meta_security:{captcha_token:o==null?void 0:o.captchaToken},channel:(i=o==null?void 0:o.channel)!==null&&i!==void 0?i:"sms"}});return{data:{user:null,session:null,messageId:l==null?void 0:l.message_id},error:c}}throw new sr("You must provide either an email or phone number.")}catch(a){if(I(a))return{data:{user:null,session:null},error:a};throw a}}async verifyOtp(A){var e,t;try{let s,n;"options"in A&&(s=(e=A.options)===null||e===void 0?void 0:e.redirectTo,n=(t=A.options)===null||t===void 0?void 0:t.captchaToken);const{data:i,error:a}=await H(this.fetch,"POST",`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},A),{gotrue_meta_security:{captcha_token:n}}),redirectTo:s,xform:EA});if(a)throw a;if(!i)throw new Error("An error occurred on token verification.");const o=i.session,l=i.user;return o!=null&&o.access_token&&(await this._saveSession(o),await this._notifyAllSubscribers(A.type=="recovery"?"PASSWORD_RECOVERY":"SIGNED_IN",o)),{data:{user:l,session:o},error:null}}catch(s){if(I(s))return{data:{user:null,session:null},error:s};throw s}}async signInWithSSO(A){var e,t,s;try{let n=null,i=null;return this.flowType==="pkce"&&([n,i]=await Ue(this.storage,this.storageKey)),await H(this.fetch,"POST",`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},"providerId"in A?{provider_id:A.providerId}:null),"domain"in A?{domain:A.domain}:null),{redirect_to:(t=(e=A.options)===null||e===void 0?void 0:e.redirectTo)!==null&&t!==void 0?t:void 0}),!((s=A==null?void 0:A.options)===null||s===void 0)&&s.captchaToken?{gotrue_meta_security:{captcha_token:A.options.captchaToken}}:null),{skip_http_redirect:!0,code_challenge:n,code_challenge_method:i}),headers:this.headers,xform:RB})}catch(n){if(I(n))return{data:null,error:n};throw n}}async reauthenticate(){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._reauthenticate())}async _reauthenticate(){try{return await this._useSession(async A=>{const{data:{session:e},error:t}=A;if(t)throw t;if(!e)throw new RA;const{error:s}=await H(this.fetch,"GET",`${this.url}/reauthenticate`,{headers:this.headers,jwt:e.access_token});return{data:{user:null,session:null},error:s}})}catch(A){if(I(A))return{data:{user:null,session:null},error:A};throw A}}async resend(A){try{const e=`${this.url}/resend`;if("email"in A){const{email:t,type:s,options:n}=A,{error:i}=await H(this.fetch,"POST",e,{headers:this.headers,body:{email:t,type:s,gotrue_meta_security:{captcha_token:n==null?void 0:n.captchaToken}},redirectTo:n==null?void 0:n.emailRedirectTo});return{data:{user:null,session:null},error:i}}else if("phone"in A){const{phone:t,type:s,options:n}=A,{data:i,error:a}=await H(this.fetch,"POST",e,{headers:this.headers,body:{phone:t,type:s,gotrue_meta_security:{captcha_token:n==null?void 0:n.captchaToken}}});return{data:{user:null,session:null,messageId:i==null?void 0:i.message_id},error:a}}throw new sr("You must provide either an email or phone number and a type")}catch(e){if(I(e))return{data:{user:null,session:null},error:e};throw e}}async getSession(){return await this.initializePromise,await this._acquireLock(-1,async()=>this._useSession(async e=>e))}async _acquireLock(A,e){this._debug("#_acquireLock","begin",A);try{if(this.lockAcquired){const t=this.pendingInLock.length?this.pendingInLock[this.pendingInLock.length-1]:Promise.resolve(),s=(async()=>(await t,await e()))();return this.pendingInLock.push((async()=>{try{await s}catch{}})()),s}return await this.lock(`lock:${this.storageKey}`,A,async()=>{this._debug("#_acquireLock","lock acquired for storage key",this.storageKey);try{this.lockAcquired=!0;const t=e();for(this.pendingInLock.push((async()=>{try{await t}catch{}})()),await t;this.pendingInLock.length;){const s=[...this.pendingInLock];await Promise.all(s),this.pendingInLock.splice(0,s.length)}return await t}finally{this._debug("#_acquireLock","lock released for storage key",this.storageKey),this.lockAcquired=!1}})}finally{this._debug("#_acquireLock","end")}}async _useSession(A){this._debug("#_useSession","begin");try{const e=await this.__loadSession();return await A(e)}finally{this._debug("#_useSession","end")}}async __loadSession(){this._debug("#__loadSession()","begin"),this.lockAcquired||this._debug("#__loadSession()","used outside of an acquired lock!",new Error().stack);try{let A=null;const e=await ar(this.storage,this.storageKey);if(this._debug("#getSession()","session from storage",e),e!==null&&(this._isValidSession(e)?A=e:(this._debug("#getSession()","session from storage is not valid"),await this._removeSession())),!A)return{data:{session:null},error:null};const t=A.expires_at?A.expires_at*1e3-Date.now()<Cs:!1;if(this._debug("#__loadSession()",`session has${t?"":" not"} expired`,"expires_at",A.expires_at),!t){if(this.storage.isServer){let i=this.suppressGetSessionWarning;A=new Proxy(A,{get:(o,l,c)=>(!i&&l==="user"&&(console.warn("Using the user object as returned from supabase.auth.getSession() or from some supabase.auth.onAuthStateChange() events could be insecure! This value comes directly from the storage medium (usually cookies on the server) and may not be authentic. Use supabase.auth.getUser() instead which authenticates the data by contacting the Supabase Auth server."),i=!0,this.suppressGetSessionWarning=!0),Reflect.get(o,l,c))})}return{data:{session:A},error:null}}const{session:s,error:n}=await this._callRefreshToken(A.refresh_token);return n?{data:{session:null},error:n}:{data:{session:s},error:null}}finally{this._debug("#__loadSession()","end")}}async getUser(A){return A?await this._getUser(A):(await this.initializePromise,await this._acquireLock(-1,async()=>await this._getUser()))}async _getUser(A){try{return A?await H(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:A,xform:PA}):await this._useSession(async e=>{var t,s,n;const{data:i,error:a}=e;if(a)throw a;return!(!((t=i.session)===null||t===void 0)&&t.access_token)&&!this.hasCustomAuthorizationHeader?{data:{user:null},error:new RA}:await H(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:(n=(s=i.session)===null||s===void 0?void 0:s.access_token)!==null&&n!==void 0?n:void 0,xform:PA})})}catch(e){if(I(e))return hB(e)&&(await this._removeSession(),await or(this.storage,`${this.storageKey}-code-verifier`)),{data:{user:null},error:e};throw e}}async updateUser(A,e={}){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._updateUser(A,e))}async _updateUser(A,e={}){try{return await this._useSession(async t=>{const{data:s,error:n}=t;if(n)throw n;if(!s.session)throw new RA;const i=s.session;let a=null,o=null;this.flowType==="pkce"&&A.email!=null&&([a,o]=await Ue(this.storage,this.storageKey));const{data:l,error:c}=await H(this.fetch,"PUT",`${this.url}/user`,{headers:this.headers,redirectTo:e==null?void 0:e.emailRedirectTo,body:Object.assign(Object.assign({},A),{code_challenge:a,code_challenge_method:o}),jwt:i.access_token,xform:PA});if(c)throw c;return i.user=l.user,await this._saveSession(i),await this._notifyAllSubscribers("USER_UPDATED",i),{data:{user:i.user},error:null}})}catch(t){if(I(t))return{data:{user:null},error:t};throw t}}async setSession(A){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._setSession(A))}async _setSession(A){try{if(!A.access_token||!A.refresh_token)throw new RA;const e=Date.now()/1e3;let t=e,s=!0,n=null;const{payload:i}=ys(A.access_token);if(i.exp&&(t=i.exp,s=t<=e),s){const{session:a,error:o}=await this._callRefreshToken(A.refresh_token);if(o)return{data:{user:null,session:null},error:o};if(!a)return{data:{user:null,session:null},error:null};n=a}else{const{data:a,error:o}=await this._getUser(A.access_token);if(o)throw o;n={access_token:A.access_token,refresh_token:A.refresh_token,user:a.user,token_type:"bearer",expires_in:t-e,expires_at:t},await this._saveSession(n),await this._notifyAllSubscribers("SIGNED_IN",n)}return{data:{user:n.user,session:n},error:null}}catch(e){if(I(e))return{data:{session:null,user:null},error:e};throw e}}async refreshSession(A){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._refreshSession(A))}async _refreshSession(A){try{return await this._useSession(async e=>{var t;if(!A){const{data:i,error:a}=e;if(a)throw a;A=(t=i.session)!==null&&t!==void 0?t:void 0}if(!(A!=null&&A.refresh_token))throw new RA;const{session:s,error:n}=await this._callRefreshToken(A.refresh_token);return n?{data:{user:null,session:null},error:n}:s?{data:{user:s.user,session:s},error:null}:{data:{user:null,session:null},error:null}})}catch(e){if(I(e))return{data:{user:null,session:null},error:e};throw e}}async _getSessionFromURL(A,e){try{if(!gA())throw new nr("No browser detected.");if(A.error||A.error_description||A.error_code)throw new nr(A.error_description||"Error in URL with unspecified error_description",{error:A.error||"unspecified_error",code:A.error_code||"unspecified_code"});switch(e){case"implicit":if(this.flowType==="pkce")throw new sa("Not a valid PKCE flow url.");break;case"pkce":if(this.flowType==="implicit")throw new nr("Not a valid implicit grant flow url.");break;default:}if(e==="pkce"){if(this._debug("#_initialize()","begin","is PKCE flow",!0),!A.code)throw new sa("No code detected.");const{data:Q,error:C}=await this._exchangeCodeForSession(A.code);if(C)throw C;const v=new URL(window.location.href);return v.searchParams.delete("code"),window.history.replaceState(window.history.state,"",v.toString()),{data:{session:Q.session,redirectType:null},error:null}}const{provider_token:t,provider_refresh_token:s,access_token:n,refresh_token:i,expires_in:a,expires_at:o,token_type:l}=A;if(!n||!a||!i||!l)throw new nr("No session defined in URL");const c=Math.round(Date.now()/1e3),u=parseInt(a);let h=c+u;o&&(h=parseInt(o));const d=h-c;d*1e3<=Ce&&console.warn(`@supabase/gotrue-js: Session as retrieved from URL expires in ${d}s, should have been closer to ${u}s`);const B=h-u;c-B>=120?console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale",B,h,c):c-B<0&&console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clock for skew",B,h,c);const{data:f,error:w}=await this._getUser(n);if(w)throw w;const g={provider_token:t,provider_refresh_token:s,access_token:n,expires_in:u,expires_at:h,refresh_token:i,token_type:l,user:f.user};return window.location.hash="",this._debug("#_getSessionFromURL()","clearing window.location.hash"),{data:{session:g,redirectType:A.type},error:null}}catch(t){if(I(t))return{data:{session:null,redirectType:null},error:t};throw t}}_isImplicitGrantCallback(A){return!!(A.access_token||A.error_description)}async _isPKCECallback(A){const e=await ar(this.storage,`${this.storageKey}-code-verifier`);return!!(A.code&&e)}async signOut(A={scope:"global"}){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._signOut(A))}async _signOut({scope:A}={scope:"global"}){return await this._useSession(async e=>{var t;const{data:s,error:n}=e;if(n)return{error:n};const i=(t=s.session)===null||t===void 0?void 0:t.access_token;if(i){const{error:a}=await this.admin.signOut(i,A);if(a&&!(uB(a)&&(a.status===404||a.status===401||a.status===403)))return{error:a}}return A!=="others"&&(await this._removeSession(),await or(this.storage,`${this.storageKey}-code-verifier`)),{error:null}})}onAuthStateChange(A){const e=vB(),t={id:e,callback:A,unsubscribe:()=>{this._debug("#unsubscribe()","state change callback with id removed",e),this.stateChangeEmitters.delete(e)}};return this._debug("#onAuthStateChange()","registered callback with id",e),this.stateChangeEmitters.set(e,t),(async()=>(await this.initializePromise,await this._acquireLock(-1,async()=>{this._emitInitialSession(e)})))(),{data:{subscription:t}}}async _emitInitialSession(A){return await this._useSession(async e=>{var t,s;try{const{data:{session:n},error:i}=e;if(i)throw i;await((t=this.stateChangeEmitters.get(A))===null||t===void 0?void 0:t.callback("INITIAL_SESSION",n)),this._debug("INITIAL_SESSION","callback id",A,"session",n)}catch(n){await((s=this.stateChangeEmitters.get(A))===null||s===void 0?void 0:s.callback("INITIAL_SESSION",null)),this._debug("INITIAL_SESSION","callback id",A,"error",n),console.error(n)}})}async resetPasswordForEmail(A,e={}){let t=null,s=null;this.flowType==="pkce"&&([t,s]=await Ue(this.storage,this.storageKey,!0));try{return await H(this.fetch,"POST",`${this.url}/recover`,{body:{email:A,code_challenge:t,code_challenge_method:s,gotrue_meta_security:{captcha_token:e.captchaToken}},headers:this.headers,redirectTo:e.redirectTo})}catch(n){if(I(n))return{data:null,error:n};throw n}}async getUserIdentities(){var A;try{const{data:e,error:t}=await this.getUser();if(t)throw t;return{data:{identities:(A=e.user.identities)!==null&&A!==void 0?A:[]},error:null}}catch(e){if(I(e))return{data:null,error:e};throw e}}async linkIdentity(A){var e;try{const{data:t,error:s}=await this._useSession(async n=>{var i,a,o,l,c;const{data:u,error:h}=n;if(h)throw h;const d=await this._getUrlForProvider(`${this.url}/user/identities/authorize`,A.provider,{redirectTo:(i=A.options)===null||i===void 0?void 0:i.redirectTo,scopes:(a=A.options)===null||a===void 0?void 0:a.scopes,queryParams:(o=A.options)===null||o===void 0?void 0:o.queryParams,skipBrowserRedirect:!0});return await H(this.fetch,"GET",d,{headers:this.headers,jwt:(c=(l=u.session)===null||l===void 0?void 0:l.access_token)!==null&&c!==void 0?c:void 0})});if(s)throw s;return gA()&&!(!((e=A.options)===null||e===void 0)&&e.skipBrowserRedirect)&&window.location.assign(t==null?void 0:t.url),{data:{provider:A.provider,url:t==null?void 0:t.url},error:null}}catch(t){if(I(t))return{data:{provider:A.provider,url:null},error:t};throw t}}async unlinkIdentity(A){try{return await this._useSession(async e=>{var t,s;const{data:n,error:i}=e;if(i)throw i;return await H(this.fetch,"DELETE",`${this.url}/user/identities/${A.identity_id}`,{headers:this.headers,jwt:(s=(t=n.session)===null||t===void 0?void 0:t.access_token)!==null&&s!==void 0?s:void 0})})}catch(e){if(I(e))return{data:null,error:e};throw e}}async _refreshAccessToken(A){const e=`#_refreshAccessToken(${A.substring(0,5)}...)`;this._debug(e,"begin");try{const t=Date.now();return await EB(async s=>(s>0&&await yB(200*Math.pow(2,s-1)),this._debug(e,"refreshing attempt",s),await H(this.fetch,"POST",`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:A},headers:this.headers,xform:EA})),(s,n)=>{const i=200*Math.pow(2,s);return n&&ms(n)&&Date.now()+i-t<Ce})}catch(t){if(this._debug(e,"error",t),I(t))return{data:{session:null,user:null},error:t};throw t}finally{this._debug(e,"end")}}_isValidSession(A){return typeof A=="object"&&A!==null&&"access_token"in A&&"refresh_token"in A&&"expires_at"in A}async _handleProviderSignIn(A,e){const t=await this._getUrlForProvider(`${this.url}/authorize`,A,{redirectTo:e.redirectTo,scopes:e.scopes,queryParams:e.queryParams});return this._debug("#_handleProviderSignIn()","provider",A,"options",e,"url",t),gA()&&!e.skipBrowserRedirect&&window.location.assign(t),{data:{provider:A,url:t},error:null}}async _recoverAndRefresh(){var A;const e="#_recoverAndRefresh()";this._debug(e,"begin");try{const t=await ar(this.storage,this.storageKey);if(this._debug(e,"session from storage",t),!this._isValidSession(t)){this._debug(e,"session is not valid"),t!==null&&await this._removeSession();return}const s=((A=t.expires_at)!==null&&A!==void 0?A:1/0)*1e3-Date.now()<Cs;if(this._debug(e,`session has${s?"":" not"} expired with margin of ${Cs}s`),s){if(this.autoRefreshToken&&t.refresh_token){const{error:n}=await this._callRefreshToken(t.refresh_token);n&&(console.error(n),ms(n)||(this._debug(e,"refresh failed with a non-retryable error, removing the session",n),await this._removeSession()))}}else await this._notifyAllSubscribers("SIGNED_IN",t)}catch(t){this._debug(e,"error",t),console.error(t);return}finally{this._debug(e,"end")}}async _callRefreshToken(A){var e,t;if(!A)throw new RA;if(this.refreshingDeferred)return this.refreshingDeferred.promise;const s=`#_callRefreshToken(${A.substring(0,5)}...)`;this._debug(s,"begin");try{this.refreshingDeferred=new lr;const{data:n,error:i}=await this._refreshAccessToken(A);if(i)throw i;if(!n.session)throw new RA;await this._saveSession(n.session),await this._notifyAllSubscribers("TOKEN_REFRESHED",n.session);const a={session:n.session,error:null};return this.refreshingDeferred.resolve(a),a}catch(n){if(this._debug(s,"error",n),I(n)){const i={session:null,error:n};return ms(n)||await this._removeSession(),(e=this.refreshingDeferred)===null||e===void 0||e.resolve(i),i}throw(t=this.refreshingDeferred)===null||t===void 0||t.reject(n),n}finally{this.refreshingDeferred=null,this._debug(s,"end")}}async _notifyAllSubscribers(A,e,t=!0){const s=`#_notifyAllSubscribers(${A})`;this._debug(s,"begin",e,`broadcast = ${t}`);try{this.broadcastChannel&&t&&this.broadcastChannel.postMessage({event:A,session:e});const n=[],i=Array.from(this.stateChangeEmitters.values()).map(async a=>{try{await a.callback(A,e)}catch(o){n.push(o)}});if(await Promise.all(i),n.length>0){for(let a=0;a<n.length;a+=1)console.error(n[a]);throw n[0]}}finally{this._debug(s,"end")}}async _saveSession(A){this._debug("#_saveSession()",A),this.suppressGetSessionWarning=!0,await ua(this.storage,this.storageKey,A)}async _removeSession(){this._debug("#_removeSession()"),await or(this.storage,this.storageKey),await this._notifyAllSubscribers("SIGNED_OUT",null)}_removeVisibilityChangedCallback(){this._debug("#_removeVisibilityChangedCallback()");const A=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{A&&gA()&&(window!=null&&window.removeEventListener)&&window.removeEventListener("visibilitychange",A)}catch(e){console.error("removing visibilitychange callback failed",e)}}async _startAutoRefresh(){await this._stopAutoRefresh(),this._debug("#_startAutoRefresh()");const A=setInterval(()=>this._autoRefreshTokenTick(),Ce);this.autoRefreshTicker=A,A&&typeof A=="object"&&typeof A.unref=="function"?A.unref():typeof Deno<"u"&&typeof Deno.unrefTimer=="function"&&Deno.unrefTimer(A),setTimeout(async()=>{await this.initializePromise,await this._autoRefreshTokenTick()},0)}async _stopAutoRefresh(){this._debug("#_stopAutoRefresh()");const A=this.autoRefreshTicker;this.autoRefreshTicker=null,A&&clearInterval(A)}async startAutoRefresh(){this._removeVisibilityChangedCallback(),await this._startAutoRefresh()}async stopAutoRefresh(){this._removeVisibilityChangedCallback(),await this._stopAutoRefresh()}async _autoRefreshTokenTick(){this._debug("#_autoRefreshTokenTick()","begin");try{await this._acquireLock(0,async()=>{try{const A=Date.now();try{return await this._useSession(async e=>{const{data:{session:t}}=e;if(!t||!t.refresh_token||!t.expires_at){this._debug("#_autoRefreshTokenTick()","no session");return}const s=Math.floor((t.expires_at*1e3-A)/Ce);this._debug("#_autoRefreshTokenTick()",`access token expires in ${s} ticks, a tick lasts ${Ce}ms, refresh threshold is ${Qs} ticks`),s<=Qs&&await this._callRefreshToken(t.refresh_token)})}catch(e){console.error("Auto refresh tick failed with error. This is likely a transient error.",e)}}finally{this._debug("#_autoRefreshTokenTick()","end")}})}catch(A){if(A.isAcquireTimeout||A instanceof fa)this._debug("auto refresh token tick lock not available");else throw A}}async _handleVisibilityChange(){if(this._debug("#_handleVisibilityChange()"),!gA()||!(window!=null&&window.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),!1;try{this.visibilityChangedCallback=async()=>await this._onVisibilityChanged(!1),window==null||window.addEventListener("visibilitychange",this.visibilityChangedCallback),await this._onVisibilityChanged(!0)}catch(A){console.error("_handleVisibilityChange",A)}}async _onVisibilityChanged(A){const e=`#_onVisibilityChanged(${A})`;this._debug(e,"visibilityState",document.visibilityState),document.visibilityState==="visible"?(this.autoRefreshToken&&this._startAutoRefresh(),A||(await this.initializePromise,await this._acquireLock(-1,async()=>{if(document.visibilityState!=="visible"){this._debug(e,"acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting");return}await this._recoverAndRefresh()}))):document.visibilityState==="hidden"&&this.autoRefreshToken&&this._stopAutoRefresh()}async _getUrlForProvider(A,e,t){const s=[`provider=${encodeURIComponent(e)}`];if(t!=null&&t.redirectTo&&s.push(`redirect_to=${encodeURIComponent(t.redirectTo)}`),t!=null&&t.scopes&&s.push(`scopes=${encodeURIComponent(t.scopes)}`),this.flowType==="pkce"){const[n,i]=await Ue(this.storage,this.storageKey),a=new URLSearchParams({code_challenge:`${encodeURIComponent(n)}`,code_challenge_method:`${encodeURIComponent(i)}`});s.push(a.toString())}if(t!=null&&t.queryParams){const n=new URLSearchParams(t.queryParams);s.push(n.toString())}return t!=null&&t.skipBrowserRedirect&&s.push(`skip_http_redirect=${t.skipBrowserRedirect}`),`${A}?${s.join("&")}`}async _unenroll(A){try{return await this._useSession(async e=>{var t;const{data:s,error:n}=e;return n?{data:null,error:n}:await H(this.fetch,"DELETE",`${this.url}/factors/${A.factorId}`,{headers:this.headers,jwt:(t=s==null?void 0:s.session)===null||t===void 0?void 0:t.access_token})})}catch(e){if(I(e))return{data:null,error:e};throw e}}async _enroll(A){try{return await this._useSession(async e=>{var t,s;const{data:n,error:i}=e;if(i)return{data:null,error:i};const a=Object.assign({friendly_name:A.friendlyName,factor_type:A.factorType},A.factorType==="phone"?{phone:A.phone}:{issuer:A.issuer}),{data:o,error:l}=await H(this.fetch,"POST",`${this.url}/factors`,{body:a,headers:this.headers,jwt:(t=n==null?void 0:n.session)===null||t===void 0?void 0:t.access_token});return l?{data:null,error:l}:(A.factorType==="totp"&&(!((s=o==null?void 0:o.totp)===null||s===void 0)&&s.qr_code)&&(o.totp.qr_code=`data:image/svg+xml;utf-8,${o.totp.qr_code}`),{data:o,error:null})})}catch(e){if(I(e))return{data:null,error:e};throw e}}async _verify(A){return this._acquireLock(-1,async()=>{try{return await this._useSession(async e=>{var t;const{data:s,error:n}=e;if(n)return{data:null,error:n};const{data:i,error:a}=await H(this.fetch,"POST",`${this.url}/factors/${A.factorId}/verify`,{body:{code:A.code,challenge_id:A.challengeId},headers:this.headers,jwt:(t=s==null?void 0:s.session)===null||t===void 0?void 0:t.access_token});return a?{data:null,error:a}:(await this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+i.expires_in},i)),await this._notifyAllSubscribers("MFA_CHALLENGE_VERIFIED",i),{data:i,error:a})})}catch(e){if(I(e))return{data:null,error:e};throw e}})}async _challenge(A){return this._acquireLock(-1,async()=>{try{return await this._useSession(async e=>{var t;const{data:s,error:n}=e;return n?{data:null,error:n}:await H(this.fetch,"POST",`${this.url}/factors/${A.factorId}/challenge`,{body:{channel:A.channel},headers:this.headers,jwt:(t=s==null?void 0:s.session)===null||t===void 0?void 0:t.access_token})})}catch(e){if(I(e))return{data:null,error:e};throw e}})}async _challengeAndVerify(A){const{data:e,error:t}=await this._challenge({factorId:A.factorId});return t?{data:null,error:t}:await this._verify({factorId:A.factorId,challengeId:e.id,code:A.code})}async _listFactors(){const{data:{user:A},error:e}=await this.getUser();if(e)return{data:null,error:e};const t=(A==null?void 0:A.factors)||[],s=t.filter(i=>i.factor_type==="totp"&&i.status==="verified"),n=t.filter(i=>i.factor_type==="phone"&&i.status==="verified");return{data:{all:t,totp:s,phone:n},error:null}}async _getAuthenticatorAssuranceLevel(){return this._acquireLock(-1,async()=>await this._useSession(async A=>{var e,t;const{data:{session:s},error:n}=A;if(n)return{data:null,error:n};if(!s)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};const{payload:i}=ys(s.access_token);let a=null;i.aal&&(a=i.aal);let o=a;((t=(e=s.user.factors)===null||e===void 0?void 0:e.filter(u=>u.status==="verified"))!==null&&t!==void 0?t:[]).length>0&&(o="aal2");const c=i.amr||[];return{data:{currentLevel:a,nextLevel:o,currentAuthenticationMethods:c},error:null}}))}async fetchJwk(A,e={keys:[]}){let t=e.keys.find(i=>i.kid===A);if(t||(t=this.jwks.keys.find(i=>i.kid===A),t&&this.jwks_cached_at+lB>Date.now()))return t;const{data:s,error:n}=await H(this.fetch,"GET",`${this.url}/.well-known/jwks.json`,{headers:this.headers});if(n)throw n;if(!s.keys||s.keys.length===0)throw new Ze("JWKS is empty");if(this.jwks=s,this.jwks_cached_at=Date.now(),t=s.keys.find(i=>i.kid===A),!t)throw new Ze("No matching signing key found in JWKS");return t}async getClaims(A,e={keys:[]}){try{let t=A;if(!t){const{data:d,error:B}=await this.getSession();if(B||!d.session)return{data:null,error:B};t=d.session.access_token}const{header:s,payload:n,signature:i,raw:{header:a,payload:o}}=ys(t);if(LB(n.exp),!s.kid||s.alg==="HS256"||!("crypto"in globalThis&&"subtle"in globalThis.crypto)){const{error:d}=await this.getUser(t);if(d)throw d;return{data:{claims:n,header:s,signature:i},error:null}}const l=TB(s.alg),c=await this.fetchJwk(s.kid,e),u=await crypto.subtle.importKey("jwk",c,l,!0,["verify"]);if(!await crypto.subtle.verify(l,u,i,QB(`${a}.${o}`)))throw new Ze("Invalid JWT signature");return{data:{claims:n,header:s,signature:i},error:null}}catch(t){if(I(t))return{data:null,error:t};throw t}}}At.nextInstanceID=0;const qB=At;class ZB extends qB{constructor(A){super(A)}}var zB=function(r,A,e,t){function s(n){return n instanceof e?n:new e(function(i){i(n)})}return new(e||(e=Promise))(function(n,i){function a(c){try{l(t.next(c))}catch(u){i(u)}}function o(c){try{l(t.throw(c))}catch(u){i(u)}}function l(c){c.done?n(c.value):s(c.value).then(a,o)}l((t=t.apply(r,A||[])).next())})};let Af=class{constructor(A,e,t){var s,n,i;if(this.supabaseUrl=A,this.supabaseKey=e,!A)throw new Error("supabaseUrl is required.");if(!e)throw new Error("supabaseKey is required.");const a=rB(A),o=new URL(a);this.realtimeUrl=new URL("realtime/v1",o),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace("http","ws"),this.authUrl=new URL("auth/v1",o),this.storageUrl=new URL("storage/v1",o),this.functionsUrl=new URL("functions/v1",o);const l=`sb-${o.hostname.split(".")[0]}-auth-token`,c={db:Wd,realtime:qd,auth:Object.assign(Object.assign({},Yd),{storageKey:l}),global:$d},u=sB(t??{},c);this.storageKey=(s=u.auth.storageKey)!==null&&s!==void 0?s:"",this.headers=(n=u.global.headers)!==null&&n!==void 0?n:{},u.accessToken?(this.accessToken=u.accessToken,this.auth=new Proxy({},{get:(h,d)=>{throw new Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(d)} is not possible`)}})):this.auth=this._initSupabaseAuthClient((i=u.auth)!==null&&i!==void 0?i:{},this.headers,u.global.fetch),this.fetch=eB(e,this._getAccessToken.bind(this),u.global.fetch),this.realtime=this._initRealtimeClient(Object.assign({headers:this.headers,accessToken:this._getAccessToken.bind(this)},u.realtime)),this.rest=new Cd(new URL("rest/v1",o).href,{headers:this.headers,schema:u.db.schema,fetch:this.fetch}),u.accessToken||this._listenForAuthEvents()}get functions(){return new Wh(this.functionsUrl.href,{headers:this.headers,customFetch:this.fetch})}get storage(){return new Jd(this.storageUrl.href,this.headers,this.fetch)}from(A){return this.rest.from(A)}schema(A){return this.rest.schema(A)}rpc(A,e={},t={}){return this.rest.rpc(A,e,t)}channel(A,e={config:{}}){return this.realtime.channel(A,e)}getChannels(){return this.realtime.getChannels()}removeChannel(A){return this.realtime.removeChannel(A)}removeAllChannels(){return this.realtime.removeAllChannels()}_getAccessToken(){var A,e;return zB(this,void 0,void 0,function*(){if(this.accessToken)return yield this.accessToken();const{data:t}=yield this.auth.getSession();return(e=(A=t.session)===null||A===void 0?void 0:A.access_token)!==null&&e!==void 0?e:null})}_initSupabaseAuthClient({autoRefreshToken:A,persistSession:e,detectSessionInUrl:t,storage:s,storageKey:n,flowType:i,lock:a,debug:o},l,c){const u={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new ZB({url:this.authUrl.href,headers:Object.assign(Object.assign({},u),l),storageKey:n,autoRefreshToken:A,persistSession:e,detectSessionInUrl:t,storage:s,flowType:i,lock:a,debug:o,fetch:c,hasCustomAuthorizationHeader:"Authorization"in this.headers})}_initRealtimeClient(A){return new Td(this.realtimeUrl.href,Object.assign(Object.assign({},A),{params:Object.assign({apikey:this.supabaseKey},A==null?void 0:A.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((e,t)=>{this._handleTokenChanged(e,"CLIENT",t==null?void 0:t.access_token)})}_handleTokenChanged(A,e,t){(A==="TOKEN_REFRESHED"||A==="SIGNED_IN")&&this.changedAccessToken!==t?this.changedAccessToken=t:A==="SIGNED_OUT"&&(this.realtime.setAuth(),e=="STORAGE"&&this.auth.signOut(),this.changedAccessToken=void 0)}};const ef=(r,A,e)=>new Af(r,A,e);function wf(r,A){}class tf{constructor(A){y(this,"client");y(this,"config");this.config=A;const e=A.supabaseUrl||"http://127.0.0.1:54321",t=A.supabaseKey||"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZS1kZW1vIiwicm9sZSI6ImFub24iLCJleHAiOjE5ODM4MTI5OTZ9.CRXP1A7WOeoJeXxjNni43kdQwgnWNReilDMblYTn_I0";this.client=ef(e,t)}async saveFeedbackReport(A){const{error:e}=await this.client.from("feedback_reports").insert([A]);if(e)throw new Error(`Failed to save feedback report: ${e.message}`)}async saveExitSurvey(A){const{error:e}=await this.client.from("exit_surveys").insert([A]);if(e)throw new Error(`Failed to save exit survey: ${e.message}`)}async uploadScreenshot(A){const t=`screenshots/${`screenshot-${Date.now()}-${Math.random().toString(36).substring(2)}.png`}`,{data:s,error:n}=await this.client.storage.from("screenshots").upload(t,A,{contentType:"image/png",cacheControl:"3600"});if(n)throw new Error(`Failed to upload screenshot: ${n.message}`);const{data:i}=this.client.storage.from("screenshots").getPublicUrl(t);return i.publicUrl}async uploadScreenshots(A){if(!A||A.length===0)return[];const e=A.map((t,s)=>{const i=`screenshots/${`screenshot-${Date.now()}-${s}-${Math.random().toString(36).substring(2)}.png`}`;return this.client.storage.from("screenshots").upload(i,t,{contentType:"image/png",cacheControl:"3600"}).then(({data:a,error:o})=>{if(o)throw new Error(`Failed to upload screenshot ${s+1}: ${o.message}`);const{data:l}=this.client.storage.from("screenshots").getPublicUrl(i);return l.publicUrl})});try{return await Promise.all(e)}catch(t){throw new Error(`Failed to upload screenshots: ${t}`)}}async testConnection(){try{const{data:A,error:e}=await this.client.from("feedback_reports").select("count",{count:"exact"}).limit(1);return!e}catch(A){return console.error("Supabase connection test failed:",A),!1}}async getCommentById(A){try{const{data:e,error:t}=await this.client.from("feedback_reports").select("*").eq("id",A).eq("is_contextual",!0).single();if(t)throw new Error(`Failed to fetch comment: ${t.message}`);return e}catch(e){throw console.error("Failed to load comment:",e),e}}}class rf{constructor(A){y(this,"config");y(this,"apiUrl");this.config=A,this.apiUrl=A.apiUrl||"https://api.feedlytic.app",this.apiUrl,A.projectId}async makeRequest(A,e,t="POST"){const s=`${this.apiUrl}/${A}`;try{const n=await fetch(s,{method:t,headers:{"Content-Type":"application/json","X-Project-Id":this.config.projectId,"X-Widget-Version":"1.0.1"},body:t!=="GET"?JSON.stringify(e):void 0});if(!n.ok){const i=await n.text();throw new Error(`API request failed: ${n.status} ${i}`)}return await n.json()}catch(n){throw n}}async saveFeedbackReport(A){const e={...A,project_id:this.config.projectId};await this.makeRequest("feedback",e)}async saveExitSurvey(A){const e={...A,project_id:this.config.projectId};await this.makeRequest("exit-surveys",e)}async uploadScreenshot(A){const e=new FormData;e.append("screenshot",A,"screenshot.png"),e.append("project_id",this.config.projectId);const t=`${this.apiUrl}/v1/upload/screenshot`;try{const s=await fetch(t,{method:"POST",headers:{"X-Project-Id":this.config.projectId,"X-Widget-Version":"1.0.1"},body:e});if(!s.ok){const i=await s.text();throw new Error(`Screenshot upload failed: ${s.status} ${i}`)}return(await s.json()).url}catch(s){throw new Error(`Failed to upload screenshot: ${s}`)}}async uploadScreenshots(A){if(!A||A.length===0)return[];const e=A.map(async(t,s)=>{try{return await this.uploadScreenshot(t)}catch(n){throw new Error(`Failed to upload screenshot ${s+1}: ${n}`)}});return await Promise.all(e)}async testConnection(){try{return await this.makeRequest("health",{},"GET"),!0}catch{return!1}}async getCommentById(A){try{return await this.makeRequest(`feedback/${A}`,{},"GET")}catch(e){throw new Error(`Failed to fetch comment: ${e}`)}}}class sf{constructor(){y(this,"isEnabled",!1);y(this,"markers",new Map);y(this,"overlay",null);y(this,"instructionBanner",null);y(this,"onMarkerClick",null);this.handleDocumentClick=this.handleDocumentClick.bind(this),this.handleEscapeKey=this.handleEscapeKey.bind(this)}enable(A){this.isEnabled||(console.log("Feedlytic: Contextual feedback enabled"),this.isEnabled=!0,this.onMarkerClick=A,this.createOverlay(),this.showInstructions(),document.addEventListener("click",this.handleDocumentClick,!0),document.addEventListener("keydown",this.handleEscapeKey),document.body.style.cursor="crosshair",document.body.classList.add("feedlytic-contextual-mode"))}disable(){this.isEnabled&&(console.log("Feedlytic: Disabling contextual feedback mode"),this.isEnabled=!1,this.onMarkerClick=null,this.clearMarkers(),this.removeOverlay(),this.hideInstructions(),document.removeEventListener("click",this.handleDocumentClick,!0),document.removeEventListener("keydown",this.handleEscapeKey),document.body.style.cursor="",document.body.classList.remove("feedlytic-contextual-mode"),console.log("Feedlytic: Contextual feedback mode disabled"))}createOverlay(){this.overlay=document.createElement("div"),this.overlay.id="feedlytic-contextual-overlay",this.overlay.style.cssText=`
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.02);
      z-index: 999998;
      pointer-events: none;
      backdrop-filter: blur(0.5px);
    `,document.body.appendChild(this.overlay)}removeOverlay(){this.overlay&&(this.overlay.remove(),this.overlay=null)}showInstructions(){if(this.instructionBanner=document.createElement("div"),this.instructionBanner.id="feedlytic-instruction-banner",this.instructionBanner.innerHTML=`
      <div style="
        position: fixed;
        top: 20px;
        left: 50%;
        transform: translateX(-50%);
        background: #1f2937;
        color: white;
        padding: 12px 24px;
        border-radius: 8px;
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
        z-index: 999999;
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
        font-size: 14px;
        display: flex;
        align-items: center;
        gap: 8px;
        animation: feedlytic-slide-down 0.3s ease-out;
      ">
        <span style="font-size: 16px;">💬</span>
        Click anywhere to add feedback
                  <button id="feedlytic-exit-contextual" style="
          background: #374151;
          border: none;
          color: white;
          padding: 4px 8px;
          border-radius: 4px;
          font-size: 12px;
          cursor: pointer;
          margin-left: 8px;
        ">
          Exit
        </button>
      </div>
    `,!document.getElementById("feedlytic-contextual-styles")){const e=document.createElement("style");e.id="feedlytic-contextual-styles",e.textContent=`
        @keyframes feedlytic-slide-down {
          from {
            opacity: 0;
            transform: translateX(-50%) translateY(-10px);
          }
          to {
            opacity: 1;
            transform: translateX(-50%) translateY(0);
          }
        }
        
                  .feedlytic-contextual-mode * {
          cursor: crosshair !important;
        }
        
                  .feedlytic-marker {
          position: absolute;
          width: 24px;
          height: 24px;
          background: #3b82f6;
          border: 2px solid white;
          border-radius: 50%;
          cursor: pointer;
          z-index: 999997;
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
          transition: transform 0.2s ease;
        }
        
                  .feedlytic-marker:hover {
          transform: scale(1.1);
        }
        
                  .feedlytic-marker::before {
          content: '';
          position: absolute;
          top: 50%;
          left: 50%;
          width: 8px;
          height: 8px;
          background: white;
          border-radius: 50%;
          transform: translate(-50%, -50%);
        }
      `,document.head.appendChild(e)}document.body.appendChild(this.instructionBanner);const A=document.getElementById("feedlytic-exit-contextual");A&&A.addEventListener("click",()=>this.disable())}hideInstructions(){this.instructionBanner&&(this.instructionBanner.remove(),this.instructionBanner=null)}handleDocumentClick(A){if(console.log("Feedlytic: handleDocumentClick called, isEnabled:",this.isEnabled),!this.isEnabled)return;if(A.preventDefault(),A.stopPropagation(),A.target.closest('[id^="feedlytic"]')){console.log("Feedlytic: Ignoring click on ExitBug element");return}console.log("Feedlytic: Creating marker at",A.clientX,A.clientY),this.createMarker(A)}handleEscapeKey(A){A.key==="Escape"&&this.isEnabled&&this.disable()}createMarker(A){const e=A.target;e.getBoundingClientRect(),this.getViewportInfo();const t={id:`marker-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,x:A.clientX,y:A.clientY,element:e,elementSelector:this.getElementSelector(e),elementText:this.getElementText(e),timestamp:Date.now()};this.markers.set(t.id,t),this.renderMarker(t),this.onMarkerClick&&this.onMarkerClick(t)}renderMarker(A){const e=document.createElement("div");e.className="feedlytic-marker",e.id=`feedlytic-marker-${A.id}`,e.style.left=`${A.x}px`,e.style.top=`${A.y}px`,e.addEventListener("click",t=>{t.stopPropagation(),this.onMarkerClick&&this.onMarkerClick(A)}),document.body.appendChild(e)}getElementSelector(A){if(A.id)return`#${A.id}`;if(A.className){const s=A.className.split(" ").filter(n=>n.length>0);if(s.length>0)return`${A.tagName.toLowerCase()}.${s[0]}`}const e=[];let t=A;for(;t&&t!==document.body;){let s=t.tagName.toLowerCase();if(t.id){s+=`#${t.id}`,e.unshift(s);break}if(t.className){const n=t.className.split(" ").filter(i=>i.length>0);n.length>0&&(s+=`.${n[0]}`)}e.unshift(s),t=t.parentElement}return e.join(" > ")}getElementText(A){var t;const e=((t=A.textContent)==null?void 0:t.trim())||"";return e.length>50?e.substring(0,50)+"...":e}getViewportInfo(){return{width:window.innerWidth,height:window.innerHeight,scrollX:window.scrollX,scrollY:window.scrollY}}clearMarkers(){this.markers.forEach(A=>{const e=document.getElementById(`feedlytic-marker-${A.id}`);e&&e.remove()}),this.markers.clear()}getMarkers(){return Array.from(this.markers.values())}isContextualModeEnabled(){return this.isEnabled}}class nf{constructor(){y(this,"currentTheme","dark");y(this,"listeners",new Set);y(this,"mediaQuery",null);y(this,"mutationObserver",null);this.detectInitialTheme(),this.setupListeners()}detectInitialTheme(){const A=this.detectWebsiteTheme();if(A){this.currentTheme=A;return}window.matchMedia&&window.matchMedia("(prefers-color-scheme: light)").matches?this.currentTheme="light":this.currentTheme="dark"}detectWebsiteTheme(){const A=document.documentElement,e=document.body,t=["dark","dark-mode","dark-theme","theme-dark",'data-theme="dark"','data-color-mode="dark"','data-bs-theme="dark"'],s=["light","light-mode","light-theme","theme-light",'data-theme="light"','data-color-mode="light"','data-bs-theme="light"'];for(const l of t)if(A.classList.contains(l)||A.getAttribute("data-theme")==="dark"||A.getAttribute("data-color-mode")==="dark"||A.getAttribute("data-bs-theme")==="dark")return"dark";for(const l of s)if(A.classList.contains(l)||A.getAttribute("data-theme")==="light"||A.getAttribute("data-color-mode")==="light"||A.getAttribute("data-bs-theme")==="light")return"light";for(const l of t)if(e.classList.contains(l))return"dark";for(const l of s)if(e.classList.contains(l))return"light";const n=window.getComputedStyle(e),i=window.getComputedStyle(A),a=n.backgroundColor,o=i.backgroundColor;return this.isColorDark(a)||this.isColorDark(o)?"dark":this.isColorLight(a)||this.isColorLight(o)?"light":null}isColorDark(A){if(!A||A==="transparent"||A==="rgba(0, 0, 0, 0)")return!1;const e=this.parseColor(A);return e?(.299*e.r+.587*e.g+.114*e.b)/255<.5:!1}isColorLight(A){if(!A||A==="transparent"||A==="rgba(0, 0, 0, 0)")return!1;const e=this.parseColor(A);return e?(.299*e.r+.587*e.g+.114*e.b)/255>.8:!1}parseColor(A){const e=A.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/);if(e)return{r:parseInt(e[1]),g:parseInt(e[2]),b:parseInt(e[3])};const t=A.match(/^#([a-f\d]{6})$/i);if(t){const s=t[1];return{r:parseInt(s.substr(0,2),16),g:parseInt(s.substr(2,2),16),b:parseInt(s.substr(4,2),16)}}return null}setupListeners(){window.matchMedia&&(this.mediaQuery=window.matchMedia("(prefers-color-scheme: dark)"),this.mediaQuery.addListener(()=>{this.handleThemeChange()})),this.mutationObserver=new MutationObserver(A=>{let e=!1;A.forEach(t=>{if(t.type==="attributes"){t.target;const s=t.attributeName;(s==="class"||s==="data-theme"||s==="data-color-mode"||s==="data-bs-theme")&&(e=!0)}}),e&&this.handleThemeChange()}),this.mutationObserver.observe(document.documentElement,{attributes:!0,attributeFilter:["class","data-theme","data-color-mode","data-bs-theme"]}),this.mutationObserver.observe(document.body,{attributes:!0,attributeFilter:["class","data-theme","data-color-mode","data-bs-theme"]})}handleThemeChange(){const A=this.currentTheme;this.detectInitialTheme(),A!==this.currentTheme&&this.notifyListeners()}notifyListeners(){this.listeners.forEach(A=>{try{A(this.currentTheme)}catch(e){console.error("Feedlytic: Theme listener error:",e)}})}getCurrentTheme(){return this.currentTheme}onThemeChange(A){return this.listeners.add(A),()=>{this.listeners.delete(A)}}getThemeColors(A="#4f46e5"){return this.currentTheme==="light"?{primary:"#ffffff",secondary:"#f8fafc",surface:"#ffffff",overlay:"rgba(0, 0, 0, 0.5)",textPrimary:"#1f2937",textSecondary:"#6b7280",textTertiary:"#9ca3af",border:"#e5e7eb",borderLight:"#f3f4f6",accent:A,accentHover:this.adjustColor(A,-20),accentActive:this.adjustColor(A,-40),success:"#10b981",error:"#ef4444",warning:"#f59e0b",shadow:"rgba(0, 0, 0, 0.1)",backdropFilter:"blur(8px)"}:{primary:"#1a1a1a",secondary:"#2a2a2a",surface:"#1a1a1a",overlay:"rgba(0, 0, 0, 0.7)",textPrimary:"#ffffff",textSecondary:"#d1d5db",textTertiary:"#9ca3af",border:"#374151",borderLight:"#4b5563",accent:A,accentHover:this.adjustColor(A,20),accentActive:this.adjustColor(A,40),success:"#22c55e",error:"#ef4444",warning:"#f59e0b",shadow:"rgba(0, 0, 0, 0.3)",backdropFilter:"blur(8px)"}}adjustColor(A,e){const t=A[0]==="#",s=t?A.slice(1):A,n=parseInt(s,16);let i=(n>>16)+e,a=(n>>8&255)+e,o=(n&255)+e;return i=i>255?255:i<0?0:i,a=a>255?255:a<0?0:a,o=o>255?255:o<0?0:o,(t?"#":"")+(i<<16|a<<8|o).toString(16).padStart(6,"0")}applyCSSVariables(A="#4f46e5"){const e=this.getThemeColors(A),t=document.documentElement;t.style.setProperty("--feedlytic-bg-primary",e.primary),t.style.setProperty("--feedlytic-bg-secondary",e.secondary),t.style.setProperty("--feedlytic-bg-surface",e.surface),t.style.setProperty("--feedlytic-bg-overlay",e.overlay),t.style.setProperty("--feedlytic-text-primary",e.textPrimary),t.style.setProperty("--feedlytic-text-secondary",e.textSecondary),t.style.setProperty("--feedlytic-text-tertiary",e.textTertiary),t.style.setProperty("--feedlytic-border",e.border),t.style.setProperty("--feedlytic-border-light",e.borderLight),t.style.setProperty("--feedlytic-accent",e.accent),t.style.setProperty("--feedlytic-accent-hover",e.accentHover),t.style.setProperty("--feedlytic-accent-active",e.accentActive),t.style.setProperty("--feedlytic-success",e.success),t.style.setProperty("--feedlytic-error",e.error),t.style.setProperty("--feedlytic-warning",e.warning),t.style.setProperty("--feedlytic-shadow",e.shadow),t.style.setProperty("--feedlytic-backdrop-filter",e.backdropFilter)}destroy(){this.mediaQuery&&this.mediaQuery.removeListener(this.handleThemeChange),this.mutationObserver&&this.mutationObserver.disconnect(),this.listeners.clear()}}class bs{constructor(A){y(this,"config");y(this,"floatingButton");y(this,"threadInterface");y(this,"exitIntentDetector",null);y(this,"screenshotCapture");y(this,"supabaseClient",null);y(this,"apiClient",null);y(this,"contextualManager");y(this,"themeManager");y(this,"eventListeners",new Map);y(this,"isInitialized",!1);y(this,"currentThreadData",null);this.config={enableExitIntent:!0,enableFeedback:!0,enableContextualFeedback:!0,exitIntentSensitivity:2,position:"bottom-right",color:"#4f46e5",...A},this.themeManager=new nf,this.floatingButton=new nA(this.config),this.threadInterface=new re(this.config),this.screenshotCapture=new jh,this.config.supabaseUrl&&this.config.supabaseKey?(console.warn("Feedlytic: Using deprecated Supabase client. Please migrate to secure API."),this.supabaseClient=new tf(this.config)):this.apiClient=new rf(this.config),this.contextualManager=new sf,this.handleThreadSubmit=this.handleThreadSubmit.bind(this),this.handleContextualMarker=this.handleContextualMarker.bind(this)}getClient(){if(this.supabaseClient)return this.supabaseClient;if(this.apiClient)return this.apiClient;throw new Error("Feedlytic: No client available. Please provide valid configuration.")}init(){if(!this.isInitialized)try{this.setupTheme(),this.setupFloatingButton(),this.setupThreadInterface(),this.setupExitIntent(),this.setupContextualFeedback(),this.checkForCommentViewMode(),this.isInitialized=!0,this.emit("widget-initialized",{})}catch(A){console.error("Feedlytic: Failed to initialize widget",A)}}checkForCommentViewMode(){const A=new URLSearchParams(window.location.search),e=A.get("feedlytic_comment"),t=A.get("feedlytic_view");e&&t==="comment"&&(console.log("Feedlytic: Comment view mode detected, loading comment:",e),this.loadAndDisplayComment(e))}async loadAndDisplayComment(A){try{console.log("Feedlytic: Loading comment data for ID:",A);const e=await this.getClient().getCommentById(A);e&&e.is_contextual&&(console.log("Feedlytic: Displaying contextual comment:",e),this.displayCommentOverlay(e),this.floatingButton.hide(),this.addBackToDashboardButton())}catch(e){console.error("Feedlytic: Failed to load comment:",e)}}displayCommentOverlay(A){const e=document.createElement("div");e.id="feedlytic-comment-overlay",e.className="feedlytic-comment-replay";const t=A.position_x||0,s=A.position_y||0;e.style.cssText=`
      position: fixed;
      left: ${t}px;
      top: ${s}px;
      z-index: 1000000;
      pointer-events: none;
    `,e.innerHTML=`
      <div class="feedlytic-comment-pin">
        <div class="feedlytic-comment-pin-icon">
          📍
        </div>
        <div class="feedlytic-comment-bubble">
          <div class="feedlytic-comment-header">
            <strong>Comment</strong>
            <span class="feedlytic-comment-date">${new Date(A.created_at).toLocaleDateString()}</span>
          </div>
          <div class="feedlytic-comment-content">
            ${this.escapeHtml(A.note)}
          </div>
          ${A.element_text?`
            <div class="feedlytic-comment-context">
              <small>On element: "${this.escapeHtml(A.element_text)}"</small>
            </div>
          `:""}
        </div>
      </div>
    `,this.addCommentOverlayStyles(),A.element_selector&&this.highlightElement(A.element_selector),document.body.appendChild(e),requestAnimationFrame(()=>{e.classList.add("visible")})}highlightElement(A){try{const e=document.querySelector(A);e&&(e.classList.add("feedlytic-highlighted-element"),console.log("Feedlytic: Highlighted element:",A))}catch(e){console.warn("Feedlytic: Could not highlight element:",A,e)}}addCommentOverlayStyles(){if(document.getElementById("feedlytic-comment-overlay-styles"))return;const A=document.createElement("style");A.id="feedlytic-comment-overlay-styles",A.textContent=`
      .feedlytic-comment-replay {
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
        opacity: 0;
        transform: scale(0.8) translateY(10px);
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
      }
      
      .feedlytic-comment-replay.visible {
        opacity: 1;
        transform: scale(1) translateY(0);
      }
      
      .feedlytic-comment-pin {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
      }
      
      .feedlytic-comment-pin-icon {
        font-size: 24px;
        margin-bottom: 8px;
        animation: feedlytic-pin-pulse 2s infinite;
      }
      
      .feedlytic-comment-bubble {
        background: #1a1a1a;
        color: white;
        border-radius: 12px;
        padding: 16px;
        max-width: 300px;
        box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
        border: 1px solid #333;
        pointer-events: auto;
        position: relative;
      }
      
      .feedlytic-comment-bubble::before {
        content: '';
        position: absolute;
        top: -8px;
        left: 50%;
        transform: translateX(-50%);
        width: 0;
        height: 0;
        border-left: 8px solid transparent;
        border-right: 8px solid transparent;
        border-bottom: 8px solid #1a1a1a;
      }
      
      .feedlytic-comment-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 8px;
        font-size: 14px;
      }
      
      .feedlytic-comment-date {
        color: #999;
        font-size: 12px;
      }
      
      .feedlytic-comment-content {
        font-size: 14px;
        line-height: 1.4;
        margin-bottom: 8px;
      }
      
      .feedlytic-comment-context {
        color: #999;
        font-size: 12px;
        font-style: italic;
        border-top: 1px solid #333;
        padding-top: 8px;
      }
      
      .feedlytic-highlighted-element {
        background: rgba(79, 70, 229, 0.2) !important;
        outline: 2px solid #4f46e5 !important;
        outline-offset: 2px !important;
        border-radius: 4px !important;
      }
      
      @keyframes feedlytic-pin-pulse {
        0%, 100% { transform: scale(1); }
        50% { transform: scale(1.1); }
      }
      
      .feedlytic-back-to-dashboard {
        position: fixed;
        top: 20px;
        right: 20px;
        background: #1a1a1a;
        color: white;
        border: 1px solid #333;
        border-radius: 8px;
        padding: 12px 16px;
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
        font-size: 14px;
        cursor: pointer;
        z-index: 1000001;
        text-decoration: none;
        transition: all 0.2s ease;
      }
      
      .feedlytic-back-to-dashboard:hover {
        background: #333;
        transform: translateY(-1px);
      }
    `,document.head.appendChild(A)}addBackToDashboardButton(){const A=document.createElement("a");A.href=this.config.dashboardUrl||"http://localhost:3000",A.className="feedlytic-back-to-dashboard",A.textContent="← Back to Dashboard",A.target="_blank",document.body.appendChild(A)}escapeHtml(A){const e=document.createElement("div");return e.textContent=A,e.innerHTML}setupFloatingButton(){const A=this.floatingButton.create(()=>this.openFeedbackModal(),()=>this.toggleContextualComments());document.body.appendChild(A)}setupThreadInterface(){this.threadInterface.on("submit",A=>this.handleThreadSubmit(A)),this.threadInterface.on("opened",A=>this.emit("widget-opened",A)),this.threadInterface.on("closed",()=>this.emit("widget-closed",{}))}setupExitIntent(){this.config.enableExitIntent&&(this.exitIntentDetector=new pa({sensitivity:this.config.exitIntentSensitivity||2,delay:500,onExitIntent:()=>{this.openExitSurveyModal()}}),this.exitIntentDetector.start())}setupContextualFeedback(){this.config.enableContextualFeedback}setupTheme(){this.themeManager.applyCSSVariables(this.config.color),this.themeManager.onThemeChange(A=>{this.handleThemeChange(A)})}handleThemeChange(A){this.themeManager.applyCSSVariables(this.config.color),this.emit("theme-changed",{theme:A})}toggleContextualComments(){this.contextualManager.isContextualModeEnabled()?(console.log("Feedlytic: Disabling contextual comments mode"),this.contextualManager.disable(),this.floatingButton.updateContextualMode(!1),this.emit("contextual-mode-disabled",{}),this.hideContextualModeInstruction()):(console.log("Feedlytic: Enabling contextual comments mode"),this.contextualManager.enable(this.handleContextualMarker),this.floatingButton.updateContextualMode(!0),this.emit("contextual-mode-enabled",{}),this.showContextualModeInstruction())}showContextualModeInstruction(){this.hideContextualModeInstruction();const A=document.createElement("div");A.id="feedlytic-contextual-instruction",A.innerHTML=`
      <div style="
        position: fixed;
        top: 20px;
        left: 50%;
        transform: translateX(-50%);
        background: #1a1a1a;
        color: white;
        padding: 12px 20px;
        border-radius: 8px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
        font-size: 14px;
        z-index: 1000001;
        border: 1px solid #333;
        animation: feedlytic-slide-down 0.3s ease-out;
      ">
        📍 Click anywhere on the page to add a comment
        <button style="
          background: none;
          border: none;
          color: #999;
          margin-left: 12px;
          cursor: pointer;
          font-size: 16px;
        " onclick="this.parentElement.parentElement.remove()">×</button>
      </div>
    `;const e=document.createElement("style");e.textContent=`
      @keyframes feedlytic-slide-down {
        from { opacity: 0; transform: translateX(-50%) translateY(-10px); }
        to { opacity: 1; transform: translateX(-50%) translateY(0); }
      }
    `,document.head.appendChild(e),document.body.appendChild(A),setTimeout(()=>{this.hideContextualModeInstruction()},5e3)}hideContextualModeInstruction(){const A=document.getElementById("feedlytic-contextual-instruction");A&&A.remove()}refreshFloatingButton(){console.log("Feedlytic: Refreshing floating button state"),this.floatingButton.updateContextualMode(!1)}openCommentModal(){this.toggleContextualComments()}openFeedbackModal(){this.contextualManager.isContextualModeEnabled()&&(this.contextualManager.disable(),this.floatingButton.updateContextualMode(!1));const e={type:"feedback",position:{x:window.innerWidth/2-180,y:window.innerHeight/2-200}};this.threadInterface.open(e,()=>{this.emit("widget-closed",{})})}openExitSurveyModal(){var t;const e={type:"exit-survey",position:{x:window.innerWidth/2-180,y:window.innerHeight/2-200},placeholder:((t=this.config.customTexts)==null?void 0:t.exitSurveyQuestion)||"We noticed you might be leaving. What could we have done better?"};this.currentThreadData=e,this.threadInterface.open(e,()=>{this.emit("widget-closed",{})})}handleContextualMarker(A){console.log("Feedlytic: handleContextualMarker called with marker:",A),console.log("Feedlytic: Disabling contextual mode before opening thread interface"),this.contextualManager.disable(),this.floatingButton.updateContextualMode(!1);const e=this.contextualManager.getViewportInfo(),t={type:"contextual",position:{x:A.x,y:A.y},marker:A,viewportInfo:e};console.log("Feedlytic: Opening thread interface with data:",t),this.threadInterface.open(t,()=>{this.emit("widget-closed",{})})}async handleThreadSubmit(A){var e,t;try{console.log("Feedlytic: handleThreadSubmit called with data:",A);const s=window.location.href,n=navigator.userAgent;if(A.threadType==="exit-survey"||((e=this.currentThreadData)==null?void 0:e.type)==="exit-survey")console.log("Feedlytic: Submitting exit survey"),await this.submitExitSurvey({question:((t=this.config.customTexts)==null?void 0:t.exitSurveyQuestion)||"We noticed you might be leaving. What could we have done better?",answer:A.answer||A.note,page_url:s,user_agent:n,project_id:this.config.projectId,contact_email:A.contact_email||null,notify_on_update:A.notify_on_update||!1});else{console.log("Feedlytic: Submitting feedback");let i=[];if(A.screenshots&&A.screenshots.length>0){console.log("Feedlytic: Uploading",A.screenshots.length,"screenshots...");try{i=await this.getClient().uploadScreenshots(A.screenshots),console.log("Feedlytic: Screenshots uploaded successfully:",i)}catch(l){console.error("Feedlytic: Screenshot upload failed:",l)}}const a=A.marker||A.viewportInfo||A.isContextual,o={type:A.type||"other",note:A.note,page_url:s,user_agent:n,project_id:this.config.projectId,screenshots:i,screenshot_url:i.length>0?i[0]:null,contact_email:A.contact_email||null,notify_on_update:A.notify_on_update||!1};a&&A.marker?(o.is_contextual=!0,o.position_x=A.marker.x,o.position_y=A.marker.y,o.element_selector=A.marker.elementSelector,o.element_text=A.marker.elementText,A.viewportInfo&&(o.viewport_width=A.viewportInfo.width,o.viewport_height=A.viewportInfo.height,o.scroll_x=A.viewportInfo.scrollX||0,o.scroll_y=A.viewportInfo.scrollY||0),console.log("Feedlytic: Contextual comment data:",{position:{x:A.marker.x,y:A.marker.y},element:A.marker.elementSelector,viewport:A.viewportInfo})):o.is_contextual=!1,console.log("Feedlytic: Complete feedback data:",o);try{await this.getClient().saveFeedbackReport(o),console.log("Feedlytic: Submission successful")}catch(l){throw console.error("Feedlytic: Submission failed:",l),l}}console.log("Feedlytic: Submission successful"),this.showThreadSuccess(),setTimeout(()=>{this.threadInterface.close(),this.contextualManager.isContextualModeEnabled()&&(console.log("Feedlytic: Resetting contextual mode after submission"),this.contextualManager.disable(),this.floatingButton.updateContextualMode(!1),this.hideContextualModeInstruction()),this.refreshFloatingButton()},1e3)}catch(s){console.error("Feedlytic: Failed to submit data",s);const n=s;console.error("Feedlytic: Error details:",{name:n.name||"Unknown",message:n.message||"Unknown error",stack:n.stack||"No stack trace"}),this.showThreadError("Failed to send feedback. Please try again.")}}showThreadSuccess(){const A=document.getElementById("feedlytic-thread");if(A){const e=A.querySelector(".feedlytic-thread-actions");e&&(e.innerHTML=`
          <div style="display: flex; align-items: center; gap: 8px; color: #22c55e; font-weight: 500; font-size: 14px;">
            <svg width="18" height="18" fill="currentColor" viewBox="0 0 20 20">
              <path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"></path>
            </svg>
            Sent successfully!
          </div>
        `)}}showThreadError(A){const e=document.getElementById("feedlytic-thread");if(e){const t=e.querySelector(".feedlytic-thread-actions");if(t){const s=document.createElement("div");s.style.cssText="color: #ef4444; font-size: 12px; margin-bottom: 8px;",s.textContent=A,t.insertBefore(s,t.firstChild);const n=t.querySelector(".feedlytic-thread-submit-btn");n&&(n.disabled=!1,n.innerHTML=`
            <svg width="18" height="18" fill="currentColor" viewBox="0 0 20 20">
              <path d="M10.894 2.553a1 1 0 00-1.788 0l-7 14a1 1 0 001.169 1.409l5-1.429A1 1 0 009 15.571V11a1 1 0 112 0v4.571a1 1 0 00.725.962l5 1.428a1 1 0 001.17-1.408l-7-14z"></path>
            </svg>
          `),setTimeout(()=>{s.remove()},5e3)}}}getCurrentContextualMarker(){const A=this.contextualManager.getMarkers();return A.length>0?A[A.length-1]:null}async submitFeedback(A){await this.getClient().saveFeedbackReport(A),this.emit("feedback-submitted",A)}async submitExitSurvey(A){await this.getClient().saveExitSurvey(A),this.emit("exit-survey-submitted",A)}showFeedbackModal(){this.openFeedbackModal()}enableContextualComments(){this.contextualManager.isContextualModeEnabled()||this.toggleContextualComments()}showCommentModal(){this.enableContextualComments()}enableContextualFeedback(){this.enableContextualComments()}disableContextualFeedback(){this.contextualManager.isContextualModeEnabled()&&(console.log("Feedlytic: Disabling contextual feedback mode"),this.contextualManager.disable(),this.floatingButton.updateContextualMode(!1),this.emit("contextual-mode-disabled",{}),this.hideContextualModeInstruction())}async testConnection(){try{console.log("Feedlytic: Testing connection...");const A=await this.getClient().testConnection();return console.log("Feedlytic: Connection test result:",A),A}catch(A){return console.error("Feedlytic: Connection test failed:",A),!1}}enableContextualMode(){this.enableContextualFeedback()}disableContextualMode(){this.disableContextualFeedback()}isContextualModeEnabled(){return this.contextualManager.isContextualModeEnabled()}on(A,e){this.eventListeners.has(A)||this.eventListeners.set(A,[]),this.eventListeners.get(A).push(e)}off(A,e){const t=this.eventListeners.get(A);if(t){const s=t.indexOf(e);s>-1&&t.splice(s,1)}}emit(A,e){const t=this.eventListeners.get(A);t&&t.forEach(s=>s(e))}hide(){this.floatingButton.hide()}show(){this.floatingButton.show()}destroy(){this.exitIntentDetector&&this.exitIntentDetector.stop(),this.contextualManager.disable(),this.floatingButton.destroy(),this.threadInterface.destroy(),this.themeManager.destroy(),this.isInitialized=!1,this.emit("widget-destroyed",{})}}class et{static init(A){return this.instance&&this.instance.destroy(),this.instance=new bs(A),this.instance.init(),this.instance}static getInstance(){return this.instance}static destroy(){this.instance&&(this.instance.destroy(),this.instance=null)}}y(et,"instance",null),typeof window<"u"&&(window.Feedlytic={init:r=>et.init(r),getInstance:()=>et.getInstance(),destroy:()=>et.destroy(),FeedlyticWidget:bs}),sA.FeedlyticWidget=bs,sA.default=et,Object.defineProperties(sA,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
//# sourceMappingURL=feedlytic.umd.js.map